@font-face {
  font-family: 'Open Sans';
  src: url('/fonts/OpenSans.ttf') format('ttf');
  font-weight: normal;
  font-style: normal;
}

@font-face {
  font-family: 'Open Sans';
  src: url('/fonts/OpenSans-Italic.ttf') format('ttf');
  font-weight: normal;
  font-style: italic;
}

:root {
  /* Colors */
  --black: #131314;
  --white: white;
  --crimson: #BD1839;
  --light-gray: #E7E7E7;

  /* Background colors */
  --dark-background: #1D1B1B;
  --light-background: #FBFBFB;

  /* Radiuses */
  --card-radius: 1.875rem;
  --form-radius: 0.563rem;

  /* Shadows */
  --shadow: 0px 4px 8px rgba(0, 0, 0, 0.04);
}

*,
*::before,
*::after {
  box-sizing: border-box;
}

* {
  margin: 0;
}

body {
  font-family: 'Open Sans', sans-serif;
  font-size: 16px;
  line-height: 1.5;
  -webkit-font-smoothing: antialiased;

  background-color: var(--background);
  color: var(--text);

  isolation: isolate;
}

#links .linkedin,
#links .github,
#links .cv-paper-flip,
#links .mail,
#nav-toggler svg path,
.arrow,
.eye {
  stroke: var(--text);
}

#links .twitter,
#links .rss,
#links .cv,
#links .moon > path {
  fill: var(--text);
}

main {
  width: 85%;
  min-height: 70vh;
  margin: auto;
}

img,
picture,
video,
canvas,
svg {
  display: block;
  max-width: 100%;
}

input,
button,
textarea,
select {
  font: inherit;
}

p,
h1,
h2,
h3,
h4,
h5,
h6 {
  overflow-wrap: break-word;
}

a {
  color: var(--text);
}

.vertical-separator {
  border-left: 1px solid var(--text);
  height: 24px;
  opacity: .25;
}

hr {
  color: var(--text);
  opacity: .25;
}
