@font-face {
    font-family: 'Helvetica Now Display';
    src: local('Helvetica Now Display Medium'), local('HelveticaNowDisplay-Medium'),
        url('./Helvetica\ Now\ Display/HelveticaNowDisplay-Medium.ttf') format('truetype');
    font-weight: 500;
    font-style: normal;
  }
  
  html {
    height: 100%;
  }
  body {
    background-color: rgb(244,244,242);
    height: 100%;
    font-family: 'Helvetica Now Display';
    font-weight: 500;
    color: rgb(36,36,36);
    padding: 0;
    margin: 0;
    line-height: 1.2;
  }
  .overlay {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  background-color: rgba(76, 76, 76, 0.83);
  }
  .video-player {
  position: absolute;
  display: flex;
  align-items: center;
  width: 100%;
  height: 100%;
  justify-content: center;
  }
  .video-player > * {
    max-width: 100%;
  }
  .video-player iframe {
    max-width: 100%;
    max-height: min(68vw, 90vh);
  }
  a {
    text-decoration: none;
    color: rgb(36,36,36);
    border-bottom: 3px solid transparent;
    padding-bottom: 1px;
  }
  .header {
    position: fixed;
    width: 100%;
  }
  div.home-button {
  position: absolute;
  right: 0.7em;
  top: 0.3em;
  font-size: 45px;
  line-height: 42px;
  }
  .title-container {
    width: 500px;
    margin: 40px auto;
  }
  .title {
  font-size: 6em;
  text-align: center;
  white-space: nowrap;
  }
  .subtitle {
    text-align: right;
    font-size: 1.27em;
    position: relative;
    top: -14px;
    left: -81px;
}
  .hamburger-menu {
    font-size: 40px;
    position: absolute;
    top: 25px;
    right: 35px;
    cursor: pointer;
  }
  .divider {
    width: 1000px;
    border-top: solid 3px rgb(36,36,36);
    margin: auto;
  }
  .main {
  position: absolute;
  top: 180.2px;
  bottom: 0px;
  left: 0;
  right: 0;
  overflow: hidden;
  }
  .main.home {
  top: 204.3px;
  }
  .main.home .main-scroll {
  padding-top: 0;
  }
  .main-scroll {
  margin-top: 1.1em;
  overflow-y: scroll;
  /* height: 100%; */
  width: calc(100% + var(--scrollbar-width, 0));
  /* padding-bottom: 64em; */
  /* margin-bottom: 10em; */
  position: absolute;
  bottom: 0;
  top: 0;
  }
  .scroll-inner {
    width: 1000px;
    margin: auto;
    height: 562px;
    margin-bottom: 100px;
  }
  .subheader {
  margin: 2em 11px 1em;
  font-size: 2em;
  }
  .inner-columns {
  column-count: 2;
  margin-top: 20px;
  padding: 0 23px;
  font-size: 22px;
  line-height: 30px;
  column-gap: 50px;
  margin-bottom: 3em;
  }
  
  .contact-block a.social {
  display: inline-block;
  color: rgb(244,244,242);
  text-align: center;
  line-height: 40px;
  font-size: 62px;
  border-radius: 50%;
  margin: 0em 0px 0.3em 0;
  padding: 0;
  border: none;
  }
  .small-video-container {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  }
  .small-video {
  width: 494px;
  height: 285px;
  margin-bottom: 20px;
  overflow: hidden;
  cursor: pointer;
  position: relative;
  }
  .highlighted-video {
  position: relative;
  overflow: hidden;
  cursor: pointer;
  }
  
  .highlighted-video img,
  .small-video img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: none;
  }
  .highlighted-video img[src],
  .small-video img[src] {
  display: block;
  }
  .small-video:hover .video-title,
  .small-video:hover .video-description,
  .small-video:hover .video-play,
  .highlighted-video:hover .video-play  {
  display: block;
  }
  .video-play {
    position: absolute;
    top: 36%;
    width: auto;
    left: 50%;
    transform: translateX(-50%);
    padding: 5px;
    display: none;
    font-size: 40px;
    color: rgb(244,244,242);
  }
  .highlighted-video .video-play {
  top: 45%;
  }
  .video-title {
    position: absolute;
    top: 61%;
    width: auto;
    left: 50%;
    transform: translateX(-50%);
    background-color: rgba(0,0,0,0.5);
    padding: 5px;
    display: none;
    text-align: center;
    border-radius: 0.3em;
    color: rgb(244,244,242);
  }
  .video-overlay-tagline,
  .video-tagline {
    font-size: 1.19em;
    padding: 6px 0px 0px 11px;
  }
  .video-overlay-tagline {
    color: #fff;
  }
  /* .video-description {
  position: absolute;
  top: 66%;
  width: auto;
  left: 50%;
  transform: translateX(-50%);
  background-color: rgb(36,36,36);
  padding: 5px;
  font-size: 13px;
  color: #ddd;
  display: none;
  } */
  .home-link {
    font-size: 1.19em;
    margin-left: 1em;
    padding-bottom: 2em;
    display: block;
}

  /* ABOUT PAGE */
  .main-scroll-inner {
  width: 1000px;
  margin: auto;
  }
  .about-title {
  font-size: 36px;
  line-height: 50px;
  padding: 5px 23px;
  }
  .inner-text {
  margin-top: 20px;
  padding: 0 23px;
  font-size: 22px;
  line-height: 32px;
  column-gap: 50px;
  margin-bottom: 3em;
  }
  .about-footer-text {
  margin-top: 15px;
  padding: 0 23px;
  font-size: 17px;
  line-height: 32px;
  column-gap: 50px;
  margin-bottom: 2em;
  }
  .photo {
  width: 954px;
  margin: 0 auto;
  height: 480px;
  overflow: hidden;
  margin-bottom: 0em;
  margin-top: -2em;
  position: relative;
  }
  .photo > img {
  width: 100%;
  object-fit: cover;
  height: 100%;
  }
  /* CONTACT PAGE */
  .contact-inner-columns {
  display: flex;
  padding: 18px 23px;
  font-size: 27px;
  justify-content: space-between;
  line-height: 38px;
  }
  .contact-column {
  /* display: flex; */
  width: 390px;
  }
  .inner-columns > div {
  break-inside: avoid;
  }
  .google-map {
  margin: -2em auto 2em;
  width: 954px;
  }
  /* WORK PAGE */
  .work-header {
  font-size: 30px;
  line-height: 42px;
  padding: 0px 23px;
  margin-bottom: 2em;
  }
  a.filter {
  margin: 0 17px;
  }
  a.filter:nth-child(1) {
  margin-left: 0;
  }
  a.filter.active {
  background-color: #fff;
  color: #000 !important;
  border-radius: 16px;
  padding: 1px 17px;
  border-bottom: 3px solid transparent !important;
  }
  a.filter.active::after {
  content: "\f00d";
  margin-left: 0.35em;
  font-family: 'Font Awesome 5 Free';
  font-size: 0.75em;
  font-weight: 900;
  }
  /* HAMBURGER MENU RIPPED FROM: https://codepen.io/Twikito/pen/zGdqVO/ */
  .contact-block {
      color: rgb(244,244,242);
      width: 300px;
      font-size: 1.1em;
      position: absolute;
      bottom: 1em;
      text-align: left;
      left: 1.9em;
      line-height: 1.3em;
  }
  .contact-block a {
  color: rgb(244,244,242);
  }
  input {
    position: fixed;
    opacity: 0;
  }
  
  label {
    position: absolute;
    margin: 0;
    padding: 0;
    border: none;
    outline: none;
    background: none;
    cursor: pointer;
  }
  label::before {
    position: fixed;
    z-index: 1;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    content: '';
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.5s cubic-bezier(0.19, 1, 0.22, 1);
  }
  label .burger {
    position: fixed;
    top: 1.3em;
    left: 2.2em;
    z-index: 3;
    width: 2em;
    height: 2em;
    margin: 0;
    padding: 0;
    transition: opacity 0.5s cubic-bezier(0.19, 1, 0.22, 1);
  }
  label .burger::before,
  label .burger .bar, label .burger::after {
    position: absolute;
    left: 0;
    display: block;
    width: 100%;
    height: 12%;
    background: rgb(36,36,36);
    content: '';
    transition: all 0.5s cubic-bezier(0.19, 1, 0.22, 1);
  }
  label .burger .bar {
    top: 44%;
  }
  label .burger::before {
    top: 0;
    transform-origin: top left;
  }
  label .burger::after {
    bottom: 0;
    transform-origin: bottom left;
  }
  
  label:hover .burger {
    opacity: .75;
  }
  nav {
      position: fixed;
      top: 0;
      left: 0;
      bottom: 0;
      z-index: 2;
      display: flex;
      flex-flow: column nowrap;
      justify-content: flex-start;
      align-items: flex-start;
      transform: translate3d(0, 0, 0);
      will-change: transform;
      transition: transform 0.5s cubic-bezier(0.19, 1, 0.22, 1);
      padding-top: 6em;
      transform: translateX(-100%);
  }
  nav::before {
      position: absolute;
      top: 0;
      bottom: 0;
      left: 0;
      z-index: -1;
      width: 25em;
      background: rgb(36, 36, 36);
      content: '';
      transform: skewX(15deg) translateX(-100%);
      transform-origin: bottom left;
      will-change: transform;
      transition: transform 0.5s cubic-bezier(0.19, 1, 0.22, 1), opacity 0.5s cubic-bezier(0.19, 1, 0.22, 1);
      opacity: 0;
  }
  @media (min-width: 21.4em) {
    nav::before {
      width: 21.4em;
    }
  }
  nav > a {
    margin: 0.05em 0.7em;
    padding: 2px 0em;
    font-size: 2.9em;
    color: rgb(244, 244, 242);
    text-decoration: none;
    font-weight: 500;
    transform: translateX(-130%);
    transition: color .15s, transform .5s;
    transition-timing-function: cubic-bezier(0.19, 1, 0.22, 1);
    border-bottom: 5px solid transparent;
  }
  nav a:nth-child(1) {
    transition-delay: 0s, 50ms;
  }
  nav a:nth-child(2) {
    transition-delay: 0s, 100ms;
  }
  nav a:nth-child(3) {
    transition-delay: 0s, 150ms;
  }
  nav a:nth-child(4) {
    transition-delay: 0s, 200ms;
  }
  nav a:nth-child(5) {
    transition-delay: 0s, 250ms;
  }
  nav a:nth-child(6) {
    transition-delay: 0s, 300ms;
  }
  nav a:hover, nav a:focus {
    color: rgb(244,244,242);
  }
  
  [id="navcheck"]:checked + label::before {
    opacity: 1;
    pointer-events: auto;
  }
  [id="navcheck"]:checked + label .burger::before, [id="navcheck"]:checked + label .burger::after {
    width: 141.42%;
  }
  [id="navcheck"]:checked + label .burger::before {
    transform: rotate(45deg) translateY(-50%);
    background: rgb(244,244,242);
  }
  [id="navcheck"]:checked + label .burger::after {
    transform: rotate(-45deg) translateY(50%);
    background: rgb(244,244,242);
  }
  [id="navcheck"]:checked + label .burger .bar {
    transform: scale(0.1);
  }
  [id="navcheck"]:checked ~ nav {
    transform: translateX(0);
  }
  [id="navcheck"]:checked ~ nav::before {
    transform: skewX(0deg) translateX(0);
    opacity: 1;
  }
  [id="navcheck"]:checked ~ nav a {
    transform: translateX(0);
  }
  
  /* helper */
  .visuallyhidden {
    border: 0;
    clip: rect(0 0 0 0);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    width: 1px;
  }
  input.newsletter {
    position: relative;
    opacity: 1;
    border: none;
    padding: 0.5em;
    border-radius: 1em;
    font-size: 1em;
    font-family: 'Helvetica Now Display';
    margin-top: 1em;
    border: 2px solid rgb(36,36,36);
  }
  
  
  @media only screen and (max-width: 768px) {
  body {
    font-size: 88%;
  }
  .main-scroll-inner,
  .scroll-inner {
      width: 100%;
  }
  .home-button > a {
    display: none;
}

  .highlighted-video > iframe {
    width: 100vw;
    height: calc(0.5625 * 100vw);
  }
  .title-container {
    width: 100%;
    margin: 55px auto 25px;
  }
  .title {
    font-size: 4em;
  }
  .subtitle {
    font-size: 0.84em;
    top: -9px;
    left: 2.9em;
    display: block;
    text-align: center;
}
.main {
  top: 135.1px;
}
  .main.home {
    top: 149.1px;
  }
  .video-play,
  .video-title {
    display: block;
  }
  .small-video {
    width: 100%;
    height: auto;
  }
  .work-header {
    margin-top: 1em;
    font-size: 1em;
    line-height: 1.8em;
   }
   .inner-text { 
     font-size: 1em;
     line-height: 1.5em;
   }
   .about-title { 
     font-size: 2em;
     padding-top: 0.7em;
   }
   .about-footer-text {
     font-size: 0.8em;
     line-height: 1.3em;
   }
   .photo {
    width: 100%;
    height: 100%;
  }
  .inner-columns {
    columns: 1;
    font-size: 1em;
    line-height: 1.3em;
  }
  .left-column {
    margin-bottom: 1em;
  }
  .google-map {
    width: 100%;
  }
  .highlighted-video .video-play {
    top: 37%;
}
  }