@font-face {
  font-family: "Lobster";
  src: url("/assets/fonts/Lobster-Regular.woff2") format("woff2"),
    url("/assets/fonts/Lobster-Regular.woff") format("woff");
  font-weight: normal;
  font-style: normal;
}
* {
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen",
    "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue",
    sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}
ul {
  list-style-type: none;
}
a {
  color: inherit;
  text-decoration: none;
}
a:hover {
  color: #26e089;
}
a[aria-current] {
  color: #178652;
}
.container {
  margin-top: -15px;
  display: grid;
  grid-template-columns: 1fr minmax(240px, 4fr) 1fr;
}
section {
  /*position: relative;*/
  grid-column-start: 2;
  grid-column-end: -2;
}
section h1 {
  font-family: "Lobster", "Butler", Georgia, Times, serif;
  font-size: 3.5rem;
  letter-spacing: -0.05em;
}
section h3,
section h2,
footer h3,
footer h2 {
  font-family: "American Typewriter", "Helvetica Neue", sans-serif,
    "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
  font-weight: 100;
}
#header-link {
  cursor: pointer;
}
.spacer {
  height: 137.5px;
}
.frontispiece .spacer {
  height: 550px;
}
.frontispiece-image,
.page-header-image {
  width: 110%;
  margin-left: -5%;
}
.title {
  text-align: center;
  position: -webkit-sticky;
  position: sticky;
  width: fit-content;
  margin-top: -1em;
  top: 5vh;
}
.frontispiece .title {
  top: 40vh;
}
.subtitle {
  display: flex;
  justify-content: space-between;
  position: -webkit-sticky;
  position: sticky;
  top: 0;
  z-index: -1;
  margin-bottom: 3.5rem;
}
.subtitle * {
  text-align: center;
  font-weight: 300;
}
.subtitle .fr {
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen",
    "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue",
    sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
}
.header {
  top: -0.5rem;
  position: -webkit-sticky;
  position: sticky;
  top: 0;
  padding: 10px 0;
  margin-bottom: 3.5rem;
}
.header nav {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
.header .links {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
.header .local {
  justify-content: flex-end;
}
.header .social li {
  padding-right: 20px;
}
.header .local li {
  padding-left: 20px;
  font-weight: 200;
}
.section-container {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
  align-items: start;
  grid-gap: 1rem;
}
.section-container .sub-heading-grid {
  grid-row-start: 1;
  grid-row-end: 3;
}
footer {
  height: 150px;
  border-top: 1px solid black;
  grid-column-start: 2;
  grid-column-end: -2;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-around;
  align-items: center;
  margin-bottom: 30px;
}
@media screen and (min-width: 1036px) {
  #header-dropdown {
    display: none;
  }
  .header-container {
    top: -200px;
  }
  .header-container.fixed {
    transition: all 1s;
    position: fixed;
    width: calc(100vw / 6 * 4);
    height: 6rem;
    background-color: white;
  }
  .header-container.fixed .header {
    position: relative;
    top: 0;
  }
  .header-container.fixed .title {
    position: relative;
    top: 0;
  }
  .header-container.fixed .subtitle {
    position: relative;
    top: -6.9rem;
  }
  .header-container.fixed .spacer {
    height: 0;
  }
  .header-container.fixed.drop-down {
    top: 0px;
  }
  .header .local {
    max-width: 28%;
  }
  .subtitle-container {
    min-width: max-content;
  }
  .subtitle-spacer.left {
    width: 28%;
  }
  .subtitle-spacer.right {
    min-width: 28%;
  }
}
@media screen and (max-width: 1035px) {
  .title {
    text-align: left;
    line-height: 0.8;
  }
  .subtitle {
    position: relative;
  }
  .subtitle * {
    text-align: left;
  }
  .subtitle-container {
    flex-grow: 2;
  }
  #header-dropdown {
    position: relative;
    right: 0;
    transition: all 1s;
    z-index: 2;
  }
  .title {
    transition: all 1s;
    z-index: 2;
  }
  .title.show {
    position: fixed;
    top: 30px;
    margin-top: 0;
  }
  .header {
    width: 100%;
    max-width: calc(100vw / 6 * 4);
    display: flex;
    justify-content: flex-end;
    background-color: white;
  }
  .header.show {
    position: fixed;
    top: 0;
    z-index: 2;
  }
  .header nav {
    transition: all 1s;
  }
  .header.show nav {
    display: flex;
    flex-direction: column;
    justify-content: center;
    position: fixed;
    z-index: 1;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    overflow: auto;
    background-color: white;
  }
  .header nav .links {
    display: none;
    flex-direction: column;
    align-items: center;
  }
  .header.show nav .links {
    display: flex;
  }
  .header .social li,
  .header .local li {
    padding-right: 0;
    padding-left: 0;
    padding-bottom: 20px;
  }
  .section-container {
    grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
    column-gap: 1rem;
    row-gap: 0;
  }
  .sub-heading,
  .sub-heading-grid {
    padding-bottom: 0.5rem;
  }
}
