@font-face {
  font-family: "Vollkorn";
  font-style: italic;
  src: url("/fonts/Vollkorn-Italic-VariableFont_wght.ttf");
}

@font-face {
  font-family: "Vollkorn";
  font-style: normal;
  src: url("/fonts/Vollkorn-VariableFont_wght.ttf");
}

body {
  font-family: 'Vollkorn', serif;
  color: floralwhite;
  background-color: #3f5175;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: column;
  flex-direction: column;
  padding: 0;
  margin: 0;
  border: 0;
}

a {
  color: inherit;
}

a:hover {
  color: skyblue;
}

h1,
h2,
h3 {
  margin: 0;
  text-shadow: hsla(0, 0%, 40%, 1) 0 0 .2em;
}

h1 {
  color: blanchedalmond;
}

h2 {
  color: rgb(255, 214, 153);
}

h3 {
  color: rgb(255, 194, 102);
  font-style: italic;
}

iframe {
  display: block;
  background: #3f5175;
  border: none;
  width: 100vw;
  height: 100vh;
}

header {
  background-size: cover;
  background-image: linear-gradient(to bottom,
                      rgba(255, 255, 255, 0),
                      #3f5175),
                    url('/images/trees.jpg');
  background-position: center;
  height: 100vh;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: column;
  flex-direction: column;
  -ms-flex-align: center;
  align-items: center;
  -ms-flex-pack: center;
  justify-content: center;
}

header h1 {
  color: floralwhite;
}

footer {
  padding: 1em;
  text-align: center;
}

section {
  padding: 0.5em;
  border-radius: 0.2em;
}

section:nth-child(even) {
  background-color: rgb(82, 98, 131);
  box-shadow: inset 0 0 .2em #3f5175;
}

#content {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: row;
  flex-direction: row;
  padding: 1em;
}

#sidebar {
  -ms-flex-order: 1;
  order: 1;
  -ms-flex-preferred-size: 20%;
  flex-basis: 20%;
  padding: 1em;

  text-decoration: none;
}

#sidebar ul {
  list-style: none;
  padding: 0;
}

#sidebar ul > li {
  padding: 0.5em 0;
}

#main {
  -ms-flex-order: 2;
  order: 2;
  -ms-flex-preferred-size: 80%;
  flex-basis: 80%;
  padding: 1em;
}

a:hover {
  text-decoration: none;
}

img#headshot {
  -webkit-clip-path: circle();
  clip-path: circle();
  width: 80%;
}

.sticky {
  position: -webkit-sticky;
  position: sticky;
  top: 0;
}

.sticky:before,
.sticky:after {
  content: '';
  display: table;
}

@media (max-width: 30em) {
  header {
    background-image: none;
    height: inherit;
    font-size: .7em;
    padding-top: 1em;
  }

  footer {
    margin-top: 8em;
  }

  /* Fix for strange iOS Safari (and maybe WebKit in general) behavior */

  section {
    border-radius: 0;
  }

  section:nth-child(even) {
    box-shadow: none;
  }

  #content,
  #main {
    padding: 0;
  }

  .map {
    display: none;
  }
}

@media (max-width: 55em) {
  li {
    padding: 0.25em 0;
  }

  #main {
    -ms-flex-preferred-size: 100%;
    flex-basis: 100%;
  }

  #sidebar {
    display: none;
  }
}

@media (min-width: 55em) {
  header {
    font-size: 2em;
  }
}

@media (min-width: 85em) {
  body {
    font-size: 2em;
  }

  header {
    font-size: 1em;
  }
}
