@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(36,36,36);
    height: 100%;
    font-family: 'Helvetica Now Display';
    font-weight: 500;
    color: rgb(244,244,242);
    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: #fff;
    border-bottom: 3px solid transparent;
    padding-bottom: 1px;
}
.header {
    position: fixed;
    width: 100%;
}
a.home-button {
  position: absolute;
  left: 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: -23px;
}
.hamburger-menu {
    font-size: 40px;
    position: absolute;
    top: 25px;
    right: 35px;
    cursor: pointer;
}
.divider {
    width: 1000px;
    border-top: solid 3px rgb(255,255,255);
    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: #000;
  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;
}
.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;
}
.video-tagline {
  font-size: 1.19em;
  padding: 6px 0px 0px 11px;
}
/* .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: #000;
  width: 300px;
  font-size: 1.1em;
  position: absolute;
  bottom: 1em;
  text-align: right;
  right: 1.9em;
  line-height: 1.3em;
}
.contact-block a {
  color: #000;
}
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;
    right: 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: white;
    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;
    right: 0;
    bottom: 0;
    z-index: 2;
    display: flex;
    flex-flow: column nowrap;
    justify-content: flex-start;
    align-items: flex-end;
    transform: translate3d(0, 0, 0);
    /* material acceleration */
    transform: translateX(100%);
    will-change: transform;
    transition: transform 0.5s cubic-bezier(0.19, 1, 0.22, 1);
    padding-top: 6em;
  }
  nav::before {
    position: absolute;
    top: 0;
    bottom: 0;
    right: 0;
    z-index: -1;
    width: 25em;
    background: rgb(244,244,242);
    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);
  }
  @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: #000;
    text-decoration: none;
    font-weight: 500;
    transform: translateX(100%);
    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: black;
  }
  
  [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: #000;
  }
  [id="navcheck"]:checked + label .burger::after {
    transform: rotate(-45deg) translateY(50%);
    background: #000;
  }
  [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);
  }
  [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;
    background-color: rgb(244,244,242);
}

@media only screen and (max-width: 768px) {
  body {
    font-size: 88%;
  }
  a.home-button {
    display: none;
}
.main-scroll-inner,
.scroll-inner {
    width: 100%;
}
  .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: -7px;
    left: 6.5em;
    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%;
}
  }