body, button, input {
  color: #fff;
  -webkit-font-feature-settings: "tnum", "liga", "kern";
  font-feature-settings: "tnum", "liga", "kern";
  -webkit-text-size-adjust: 100%;
  -webkit-font-smoothing: antialiased;
  -webkit-font-smoothing: subpixel-antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizelegibility;
  font-family: proxima-nova, sans-serif;
  font-size: 14px;
}

a {
  color: #fff;
  text-decoration: none;
  transition: all .2s;
  display: inline-block;
  position: relative;
}

a:not(.no-underline):after {
  content: "";
  transform-origin: 0;
  background-color: #fff;
  width: 100%;
  height: 1px;
  transition: transform .2s, background-color .2s, -webkit-transform .2s;
  position: absolute;
  bottom: 0;
  left: 0;
  transform: scaleX(0);
}

a:not(.no-underline):hover:after {
  transform: scaleX(1);
}

h1, h2, h3, h4 {
  text-transform: uppercase;
  margin-top: 0;
  margin-bottom: 0;
  font-family: oswald, sans-serif;
  font-weight: 400;
  line-height: 1em;
}

h1 {
  margin-bottom: 30px;
  font-size: 32px;
}

.text-sml {
  font-size: 12px;
}

:root {
  box-sizing: border-box;
}

*, :after, :before {
  -webkit-box-sizing: inherit;
  box-sizing: inherit;
}

body, html {
  background-color: #000;
  width: 100%;
  margin: 0;
  overflow-x: hidden;
}

.first-load * {
  transition: none !important;
}

.cover {
  z-index: 2;
  opacity: 1;
  pointer-events: none;
  background-color: #000;
  width: 100%;
  height: 100vh;
  transition: opacity .3s .1s, background-color .5s;
  position: fixed;
  top: 0;
  left: 0;
}

body:not(.loading) .cover {
  opacity: 0;
  pointer-events: none;
}

main[data-router-wrapper] {
  min-height: 100vh;
}

.flex {
  display: flex;
}

.content-wrapper {
  width: 100%;
  max-width: 1440px;
  margin-left: auto;
  margin-right: auto;
}

.link-close {
  color: #ffffffa6;
  justify-content: center;
  align-items: center;
  width: 50px;
  height: 50px;
  font-size: 36px;
  transition: color .3s, opacity .3s;
  display: flex;
  position: relative;
}

.link-close span {
  -webkit-user-select: none;
  user-select: none;
}

.link-close:hover {
  color: #fff;
}

.link-close:hover:before {
  border-color: #ffffffa6;
  transition-duration: .4s;
  transition-timing-function: cubic-bezier(.645, .045, .355, 1);
  transform: scale(.9);
}

.link-close:before {
  content: "";
  border: 2px solid #fff;
  border-radius: 25px;
  width: 50px;
  height: 50px;
  transition: border .2s cubic-bezier(.215, .61, .355, 1), transform .2s cubic-bezier(.215, .61, .355, 1), -webkit-transform .2s cubic-bezier(.215, .61, .355, 1);
  position: absolute;
  top: 0;
  right: 0;
  transform: scale(.75);
}

.scrollbar-track {
  background-color: #0000 !important;
}

.scrollbar-track.scrollbar-track-x {
  height: 2px;
}

.scrollbar-track.scrollbar-track-y {
  width: 2px;
}

.scrollbar-thumb {
  border-radius: 2px;
  background-color: #fff !important;
}

.scrollbar-thumb.scrollbar-thumb-x {
  height: 2px;
}

.scrollbar-thumb.scrollbar-thumb-y {
  width: 2px;
}

.reveal.reveal-delay-100 {
  transition-delay: .1s !important;
}

.reveal.reveal-delay-200 {
  transition-delay: .2s !important;
}

.reveal.reveal-delay-300 {
  transition-delay: .3s !important;
}

.reveal.reveal-delay-400 {
  transition-delay: .4s !important;
}

.reveal.reveal-delay-500 {
  transition-delay: .5s !important;
}

.reveal.reveal-delay-600 {
  transition-delay: .6s !important;
}

.reveal.reveal-delay-700 {
  transition-delay: .7s !important;
}

.reveal.reveal-delay-800 {
  transition-delay: .8s !important;
}

.reveal.reveal-delay-900 {
  transition-delay: .9s !important;
}

.reveal.reveal-delay-1000 {
  transition-delay: 1s !important;
}

.reveal-mobile-enabled .reveal {
  opacity: 0;
  transition: opacity 1s;
}

.reveal-mobile-enabled .reveal-show {
  opacity: 1;
}

@media screen and (width >= 768px) {
  .reveal {
    opacity: 0;
    transition: opacity 1s;
  }

  .reveal-show {
    opacity: 1;
  }
}

body.loading .core-header, body.preloading.page-home .core-header {
  opacity: 0;
}

body.preloading:not(.page-about):not(.page-work) .core-header .core-logo {
  transform: scale(0);
}

.core-header {
  z-index: 3;
  opacity: 1;
  padding: 20px;
  transition: opacity 1s;
  position: fixed;
  top: 0;
  left: 0;
}

.core-header .core-logo {
  -webkit-user-select: none;
  user-select: none;
  transition: transform 1s, -webkit-transform 1s;
  display: inline-block;
  transform: scale(1);
}

.core-header .core-logo svg {
  width: auto;
  height: 100%;
  max-height: 80px;
}

.core-header .core-logo svg g {
  transition: fill .2s;
}

.core-header .core-logo:hover svg g {
  fill: #333;
}

.core-header .link-about {
  color: #aaa;
  opacity: 0;
  justify-content: center;
  align-items: center;
  width: 50px;
  height: 50px;
  font-size: 24px;
  transition: color .3s, opacity .3s, transform .5s cubic-bezier(.55, .055, .675, .19), -webkit-transform .5s cubic-bezier(.55, .055, .675, .19);
  display: flex;
  position: fixed;
  top: 17px;
  right: 17px;
  transform: translateX(80px);
}

.core-header .link-about span {
  -webkit-user-select: none;
  user-select: none;
}

.core-header .link-about:hover {
  color: #fff;
}

.core-header .link-about:hover:before {
  border-color: #606060;
  transition-duration: .4s;
  transition-timing-function: cubic-bezier(.645, .045, .355, 1);
  transform: scale(.9);
}

.core-header .link-about:before {
  content: "";
  border: 2px solid #fff;
  border-radius: 25px;
  width: 50px;
  height: 50px;
  transition: border .2s cubic-bezier(.215, .61, .355, 1), transform .2s cubic-bezier(.215, .61, .355, 1), -webkit-transform .2s cubic-bezier(.215, .61, .355, 1);
  position: absolute;
  top: 0;
  right: 0;
  transform: scale(.75);
}

@media screen and (width <= 767px) {
  .core-header .core-logo svg {
    max-height: 60px;
  }

  .core-header .link-about {
    top: 15px;
    right: 15px;
  }
}

body.page-home .core-header, body.page-home .core-header .core-logo {
  transition-duration: 1.08s;
  transition-delay: .75s;
}

@media screen and (width <= 767px) {
  body:not(.page-about) .core-footer .copyright-info .separator, body:not(.page-about) .core-footer .copyright-info a, body:not(.page-work) .core-footer .copyright-info .separator, body:not(.page-work) .core-footer .copyright-info a {
    color: #757575;
  }

  body:not(.page-about) .core-footer .copyright-info .separator:hover, body:not(.page-about) .core-footer .copyright-info a:hover, body:not(.page-work) .core-footer .copyright-info .separator:hover, body:not(.page-work) .core-footer .copyright-info a:hover {
    color: #fff;
  }
}

@media screen and (width <= 456px) {
  body.page-about .core-footer .copyright-info, body.page-work .core-footer .copyright-info {
    width: auto;
  }

  body.page-about .core-footer .copyright-info .separator, body.page-work .core-footer .copyright-info .separator {
    visibility: hidden;
  }
}

body.page-about .core-footer .copyright-info, body.page-work .core-footer .copyright-info, body:not(.preloading) .core-footer .copyright-info {
  opacity: 1;
  transform: translateY(0);
}

body.page-home.first-visit .core-footer .copyright-info {
  transition: opacity 1.08s .75s, transform 1.08s .75s, color .3s, -webkit-transform 1.08s .75s;
}

.core-footer {
  justify-content: space-between;
  align-items: flex-end;
  padding: 25px 30px;
  font-size: 12px;
}

.core-footer, .core-footer .copyright-info {
  width: 100%;
  display: flex;
}

.core-footer .copyright-info {
  color: #757575;
  -webkit-user-select: none;
  user-select: none;
  opacity: 0;
  flex-wrap: wrap;
  align-items: center;
  transition: color .3s;
  transform: translateY(40px);
}

.core-footer a {
  color: #757575;
}

.core-footer a:after {
  background-color: #757575;
}

.core-footer a:hover {
  color: #fff;
}

.core-footer a:hover:after {
  background-color: #fff;
}

.core-footer .separator {
  padding-left: 6px;
  padding-right: 6px;
}

.core-footer .social-links {
  opacity: 0;
  pointer-events: none;
  justify-content: flex-end;
  align-items: center;
  width: 50%;
  height: 26px;
  transition: none;
  display: flex;
  overflow: hidden;
}

.core-footer .social-links a:not(:first-of-type) {
  margin-left: 15px;
}

.core-footer .social-links a:hover svg {
  opacity: 1;
}

.core-footer .social-links svg {
  -o-object-fit: contain;
  object-fit: contain;
  vertical-align: middle;
  opacity: .5;
  width: auto;
  height: 22px;
  transition: opacity .2s;
}

@media screen and (width >= 961px) {
  .core-footer .social-links a, body.loading .core-footer .social-links a {
    transform: translate3d(0, 23px, 0);
  }

  body.page-about:not(.loading) .core-footer .social-links a {
    transition: transform .65s, -webkit-transform .65s;
    transform: translateZ(0);
  }

  body.page-about:not(.loading) .core-footer .social-links a:first-child {
    transition-delay: 1.3s;
  }

  body.page-about:not(.loading) .core-footer .social-links a:nth-child(2) {
    transition-delay: 1.4s;
  }

  body.page-about:not(.loading) .core-footer .social-links a:nth-child(3) {
    transition-delay: 1.5s;
  }

  body.page-about:not(.loading) .core-footer .social-links a:nth-child(4) {
    transition-delay: 1.6s;
  }
}

@media screen and (width >= 768px) {
  .core-footer {
    z-index: 1;
    position: fixed;
    bottom: 0;
    left: 0;
  }
}

@media screen and (width <= 480px) {
  .core-footer .copyright {
    width: 100%;
  }
}

body:not(.page-home) #webgl {
  pointer-events: none;
  display: none;
}

#webgl {
  z-index: 0;
  width: 100vw;
}

#webgl, #webgl section.ui {
  height: 100vh;
  position: fixed;
  top: 0;
  left: 0;
  overflow: hidden;
}

#webgl section.ui {
  z-index: 999;
  pointer-events: none;
  width: 100%;
}

#webgl .zoom-bar {
  -webkit-user-select: none;
  user-select: none;
  position: fixed;
  bottom: 17px;
}

#webgl .zoom-bar-text {
  color: #9e9e9e;
}

#webgl #stats {
  position: fixed;
  top: 0;
  left: 0;
}

@media screen and (width <= 767px) {
  #webgl .zoom-bar {
    bottom: 0;
    right: 15px;
  }
}

body.page-home {
  background-color: #1f1f1f;
  overflow: hidden;
}

body.page-home.preloading #site {
  pointer-events: none;
}

body.page-home .core-header .link-about {
  opacity: 1;
  transition-duration: 1s;
  transition-timing-function: cubic-bezier(.165, .84, .44, 1);
  transform: translateX(0);
}

body.page-home .core-footer {
  width: auto;
}

body.page-home .instructions {
  display: none;
}

@media screen and (width >= 1025px) {
  body.page-home .instructions {
    color: #fff;
    opacity: 0;
    cursor: default;
    background-color: #000;
    padding: 20px 30px;
    display: none;
    position: fixed;
    top: 50%;
    left: 50%;
    overflow: hidden;
    transform: translate3d(-50%, -50%, 0)scaleY(0);
  }

  body.page-home .instructions .message1, body.page-home .instructions .message2 {
    opacity: 0;
    -webkit-user-select: none;
    user-select: none;
    display: inline-block;
    transform: translate3d(0, 30px, 0);
  }

  body.page-home .instructions .message2-container {
    text-align: center;
    width: 100%;
    display: block;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate3d(-50%, -50%, 0);
  }

  body.page-home:not(.preloading).first-visit .instructions {
    animation: 4s 2s forwards instructionBg;
    display: block;
  }

  body.page-home:not(.preloading).first-visit .instructions .message1 {
    animation: 4s 2s forwards instructionMessage1;
  }

  body.page-home:not(.preloading).first-visit .instructions .message2 {
    animation: 4s 2s forwards instructionMessage2;
  }

  @keyframes instructionBg {
    0% {
      opacity: 0;
      animation-timing-function: cubic-bezier(.215, .61, .355, 1);
      transform: translate3d(-50%, 50%, 0)scaleY(0);
    }

    10% {
      opacity: 1;
      transform: translate3d(-50%, -50%, 0)scaleY(1);
    }

    95% {
      opacity: 1;
      animation-timing-function: cubic-bezier(.55, .055, .675, .19);
      transform: translate3d(-50%, -50%, 0)scaleY(1);
    }

    to {
      opacity: 0;
      transform: translate3d(-50%, -150%, 0)scaleY(0);
    }
  }

  @keyframes instructionMessage1 {
    0% {
      opacity: 0;
      transform: translate3d(0, 30px, 0);
    }

    5% {
      opacity: 0;
      animation-timing-function: cubic-bezier(.215, .61, .355, 1);
      transform: translate3d(0, 30px, 0);
    }

    15% {
      opacity: 1;
      transform: translateZ(0);
    }

    40% {
      opacity: 1;
      animation-timing-function: cubic-bezier(.55, .055, .675, .19);
      transform: translateZ(0);
    }

    50% {
      opacity: 0;
      transform: translate3d(0, -30px, 0);
    }

    to {
      opacity: 0;
      transform: translate3d(0, -30px, 0);
    }
  }

  @keyframes instructionMessage2 {
    0% {
      opacity: 0;
      transform: translate3d(0, 30px, 0);
    }

    50% {
      opacity: 0;
      animation-timing-function: cubic-bezier(.215, .61, .355, 1);
      transform: translate3d(0, 30px, 0);
    }

    60% {
      opacity: 1;
      transform: translateZ(0);
    }

    85% {
      opacity: 1;
      animation-timing-function: cubic-bezier(.55, .055, .675, .19);
      transform: translateZ(0);
    }

    95% {
      opacity: 0;
      transform: translate3d(0, -30px, 0);
    }

    to {
      opacity: 0;
      transform: translate3d(0, -30px, 0);
    }
  }
}

@media screen and (width <= 767px) {
  body.page-home .core-footer {
    padding: 0;
    position: fixed;
    bottom: 6px;
    left: 15px;
  }
}

body.page-about {
  background-color: #000;
  min-height: 100vh;
}

body.page-about .social-links {
  opacity: 1;
  pointer-events: auto;
  transition: opacity 1s;
}

body.page-about article[data-router-view="about"] {
  opacity: 1;
  background-color: #000;
  width: 100%;
  height: 100vh;
  transition: opacity .5s;
}

@media screen and (width <= 960px) {
  body.page-about article[data-router-view="about"] {
    height: auto;
  }
}

@media screen and (width <= 960px) and (width >= 768px) {
  body.page-about article[data-router-view="about"] {
    padding-bottom: 30px;
  }
}

body.page-about .modal {
  z-index: 3;
  opacity: 0;
  pointer-events: none;
  background-color: #000;
  border: 1px solid #333;
  width: calc(100% - 60px);
  max-width: 660px;
  max-height: 100vh;
  padding: 30px 30px 0;
  transition: opacity .5s;
  position: fixed;
  top: 50%;
  left: 50%;
  overflow: auto;
  transform: translate3d(-50%, -50%, 0);
}

body.page-about .modal.show {
  opacity: 1;
  pointer-events: auto;
}

body.page-about .modal .close-container {
  position: absolute;
}

body.page-about .modal .modal-close {
  cursor: pointer;
  background: none;
  border: 0;
  margin: 0;
  padding: 0;
}

body.page-about .modal .modal-close svg {
  -o-object-fit: contain;
  object-fit: contain;
  vertical-align: middle;
  max-width: 32px;
  max-height: 32px;
}

body.page-about .modal-cover {
  z-index: 2;
  opacity: 0;
  pointer-events: none;
  background-color: #000c;
  width: 100%;
  height: 100%;
  transition: opacity .5s;
  position: fixed;
  top: 0;
  left: 0;
}

body.page-about .modal-cover.show {
  opacity: 1;
  pointer-events: auto;
}

body.page-about .close-container {
  z-index: 2;
  opacity: 1;
  transition: opacity 1s .65s;
  position: fixed;
  top: 17px;
  right: 24px;
}

body.page-about .close, body.page-about .modal-close {
  display: block;
}

body.page-about .close svg, body.page-about .modal-close svg {
  vertical-align: middle;
  transition: transform .2s ease-out, -webkit-transform .2s ease-out;
  transform: scale(1);
}

body.page-about .close svg polygon, body.page-about .modal-close svg polygon {
  transition: fill .2s;
}

body.page-about .close:hover svg, body.page-about .modal-close:hover svg {
  transform: scale(.9);
}

body.page-about .close:hover svg polygon, body.page-about .modal-close:hover svg polygon {
  fill: #606060;
}

body.page-about .about-wrapper {
  width: 100%;
  max-width: 1500px;
  margin: 0 auto;
  padding-top: 150px;
}

body.page-about .column {
  flex-flow: column;
  place-content: stretch flex-start;
  align-items: stretch;
  width: 33.33%;
  height: calc(100vh - 204px);
  display: flex;
  overflow: hidden;
}

body.page-about .col-1, body.page-about .col-2, body.page-about .col-3 {
  padding-left: 30px;
  padding-right: 30px;
}

body.page-about .row {
  width: 100%;
  margin-bottom: 30px;
}

body.page-about .row > .row:not(:last-of-type) {
  margin-bottom: 10px;
}

body.page-about .icon-address, body.page-about .icon-email, body.page-about .icon-phone {
  margin-right: 5px;
  position: relative;
}

body.page-about .icon-phone {
  top: 4px;
}

body.page-about .icon-email {
  top: 6px;
}

body.page-about .icon-address {
  top: 2px;
}

body.page-about .about-label {
  text-transform: none;
  display: inline-block;
}

body.page-about .about-link {
  letter-spacing: -.03em;
  font-family: proxima-nova, sans-serif;
  display: inline;
}

body.page-about .clients {
  flex-wrap: wrap;
  align-items: flex-start;
}

body.page-about .clients .client-photo {
  -o-object-fit: contain;
  object-fit: contain;
  vertical-align: middle;
  width: 33.33%;
  margin-bottom: 12px;
  padding-right: 6px;
}

body.page-about .col-2 .service-name {
  font-family: proxima-nova, sans-serif;
  font-size: 22px;
}

body.page-about .col-3 .news-photo {
  vertical-align: middle;
  -o-object-fit: contain;
  object-fit: contain;
  width: 100%;
  margin-bottom: 10px;
}

body.page-about .col-3 a:after {
  height: 1px;
  transform: scaleX(1);
}

body.page-about .col-3 a:hover {
  color: #606060;
}

body.page-about .col-3 a:hover:after {
  background-color: #606060;
}

body.page-about .col-3 .careers .flex {
  justify-content: space-between;
}

body.page-about .col-3 .careers h1 {
  margin-bottom: 0;
}

body.page-about .col-3 .btn-careers, body.page-about .col-3 .link-careers {
  color: #fff;
  text-align: center;
  text-transform: uppercase;
  cursor: pointer;
  background: none;
  border: 2px solid #fff;
  border-radius: 60px;
  align-self: center;
  margin: 0;
  padding: 5px 15px;
  font-size: 12px;
  transition: background-color .2s, color .2s;
}

body.page-about .col-3 .btn-careers:hover, body.page-about .col-3 .link-careers:hover {
  color: #000;
  background-color: #fff;
}

@media screen and (width >= 362px) {
  body.page-about .col-3 .btn-careers, body.page-about .col-3 .link-careers {
    margin-left: 30px;
  }
}

body.page-about .col-3 .btn-careers {
  align-items: center;
  line-height: 1;
  display: flex;
}

body.page-about .col-3 .link-careers {
  display: none;
}

body.page-about .col-3 .team {
  flex-wrap: wrap;
}

body.page-about .col-3 .employee {
  width: 100%;
  margin-bottom: 30px;
  font-size: 13px;
}

body.page-about .col-3 .employee .left {
  width: 25%;
  margin-right: 8px;
}

body.page-about .col-3 .employee .left img {
  vertical-align: middle;
  -o-object-fit: contain;
  object-fit: contain;
  width: 100%;
}

body.page-about .col-3 .employee .right {
  flex-wrap: wrap;
  width: 75%;
}

body.page-about .col-3 .employee .right .flex {
  align-items: flex-end;
}

body.page-about .col-3 .employee .right .row {
  margin-bottom: 0;
}

body.page-about .col-3 .employee .right .employee-contact {
  position: relative;
  top: -1px;
}

body.page-about .col-3 .employee .right a:not(:last-of-type) svg {
  margin-right: 8px;
}

body.page-about .col-3 .employee .right .employee-name-title {
  margin-bottom: 10px;
  line-height: 1.1em;
}

body.page-about .col-3 .employee .right .email-address svg, body.page-about .col-3 .employee .right .phone-number svg {
  width: auto;
  height: 15px;
}

body.page-about .col-3 .employee .right .linkedIn svg {
  width: auto;
  height: 16px;
}

body.page-about .col-3 .employee .right svg {
  vertical-align: middle;
}

@media (width <= 960px), screen and (width >= 1200px) {
  body.page-about .col-3 .employee {
    width: 50%;
  }

  body.page-about .col-3 .employee:nth-child(odd) {
    padding-right: 10px;
  }

  body.page-about .col-3 .employee:nth-child(2n) {
    padding-left: 10px;
  }
}

@media screen and (width <= 1199px) {
  body.page-about .right {
    align-content: flex-start;
  }
}

@media screen and (width <= 960px) and (width >= 720px) {
  body.page-about .about-description, body.page-about .careers-description, body.page-about .news-description, body.page-about .purpose-description, body.page-about .service-description {
    max-width: 660px;
  }
}

@media screen and (width >= 961px) {
  body.page-about .about-wrapper {
    position: relative;
  }

  body.page-about .about-wrapper:after {
    content: "";
    background: linear-gradient(#0000 0, #000);
    width: 100%;
    height: 10px;
    position: absolute;
    bottom: 0;
    left: 0;
  }

  body.page-about.intro article[data-router-view="about"] {
    opacity: 0;
    transition-duration: 0s;
  }

  body.page-about.intro .close-container {
    opacity: 0;
  }

  body.page-about.intro .col-2, body.page-about.intro .col-3 {
    border-color: #0000;
  }

  body.page-about.intro .column .scroll-content > .row {
    opacity: 0;
    transform: translate3d(0, 100px, 0)scaleY(1.25);
  }

  body.page-about .column .scroll-content > .row {
    transform-origin: 0 0;
    transition: opacity 1s, transform 1s cubic-bezier(.215, .61, .355, 1), -webkit-transform 1s cubic-bezier(.215, .61, .355, 1);
    transform: translateZ(0)scaleY(1);
  }

  body.page-about .col-1 .scroll-content > .row:first-child {
    transition-delay: .7s;
  }

  body.page-about .col-1 .scroll-content > .row:nth-child(2) {
    transition-delay: .8s;
  }

  body.page-about .col-1 .scroll-content > .row:nth-child(3) {
    transition-delay: .9s;
  }

  body.page-about .col-1 .scroll-content > .row:nth-child(4) {
    transition-delay: 1s;
  }

  body.page-about .col-2 {
    border-left: 1px solid #191919;
    transition: border-color 1s 1s;
  }

  body.page-about .col-2 .scroll-content > .row:first-child {
    transition-delay: .8s;
  }

  body.page-about .col-3 {
    border-left: 1px solid #191919;
    transition: border-color 1s 1s;
  }

  body.page-about .col-3 .scroll-content > .row:first-child {
    transition-delay: .9s;
  }

  body.page-about .col-3 .scroll-content > .row:nth-child(2) {
    transition-delay: 1s;
  }

  body.page-about .col-3 .scroll-content > .row:nth-child(3) {
    transition-delay: 1.1s;
  }
}

@media screen and (width <= 960px) {
  body.page-about.intro article[data-router-view="about"] {
    opacity: 0;
    transition-duration: 0s;
  }

  body.page-about .modal {
    z-index: 3;
    width: 100%;
    max-width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    transform: none;
  }

  body.page-about .close-container svg {
    width: 50px;
    height: 50px;
  }

  body.page-about .about-wrapper {
    flex-wrap: wrap;
    padding-left: 0;
  }

  body.page-about .column {
    width: 100%;
    height: auto;
    padding-left: 30px;
    padding-right: 30px;
  }

  body.page-about .core-footer {
    background: linear-gradient(#0000 0, #000 50%, #000);
  }
}

@media screen and (width <= 767px) {
  body.page-about .about-wrapper {
    padding-top: 110px;
  }

  body.page-about .about-link {
    font-size: 16px;
  }

  body.page-about .careers .btn-careers {
    display: none;
  }

  body.page-about .careers .link-careers {
    padding-top: 7px;
    padding-bottom: 7px;
    display: flex;
  }

  body.page-about .careers .link-careers br {
    display: none;
  }
}

@media screen and (width <= 360px) {
  body.page-about .col-3 .careers .flex {
    flex-wrap: wrap;
  }

  body.page-about .col-3 .careers h1 {
    width: 100%;
    margin-bottom: 15px;
  }
}

body.page-work {
  min-height: 100vh;
}

body.page-work article[data-router-view="work"] {
  opacity: 1;
  transition: opacity .5s;
}

body.page-work .core-footer .copyright-info, body.page-work .core-footer a {
  color: #fff;
}

body.page-work .work-bg {
  background: -webkit-gradient(linear, left top, right top, from(var(--projectColorStart)), to(var(--projectColorEnd)));
  background: linear-gradient(90deg, var(--projectColorStart) 0, var(--projectColorEnd));
  width: 100%;
}

body.page-work .work-container {
  width: 100%;
  margin-left: auto;
  margin-right: auto;
  display: flex;
}

body.page-work .scrollbar-track {
  background-color: var(--projectColorStart) !important;
}

body.page-work .close-container {
  z-index: 2;
  opacity: 1;
  transition: opacity 1s .65s;
  position: fixed;
  top: 17px;
  right: 24px;
}

body.page-work .close {
  display: block;
}

body.page-work .close svg {
  vertical-align: middle;
  transition: transform .2s ease-out, -webkit-transform .2s ease-out;
  transform: scale(1)translateZ(0);
}

body.page-work .close svg polygon {
  transition: fill .2s;
}

body.page-work .close:hover svg {
  transform: scale(.9);
}

body.page-work .close:hover svg polygon {
  fill: #333;
}

body.page-work .col-left {
  flex-flow: column;
  place-content: stretch flex-start;
  align-items: stretch;
  width: 33.33%;
  max-width: 660px;
  margin-top: 115px;
  padding-left: 30px;
  display: flex;
  position: relative;
}

@media screen and (width >= 420px) {
  body.page-work .col-left {
    min-width: 420px;
  }
}

body.page-work .project-info {
  width: 100%;
}

body.page-work .row {
  width: 100%;
  margin-bottom: 30px;
}

body.page-work .client-name {
  margin-bottom: 15px;
}

body.page-work .project-scroll {
  width: 100%;
  padding-right: 30px;
}

body.page-work .project-scroll .row p:first-of-type {
  margin-top: 0;
}

body.page-work .project-scroll .row.flex .row, body.page-work .project-scroll .row p:last-of-type {
  margin-bottom: 0;
}

body.page-work .label {
  width: 60%;
}

body.page-work .values {
  width: 40%;
}

body.page-work .client-logo {
  -o-object-fit: contain;
  object-fit: contain;
  vertical-align: middle;
  opacity: 0;
  max-width: 360px;
  max-height: 150px;
  animation: 1s 1.5s forwards fadeIn;
}

@keyframes fadeIn {
  0% {
    opacity: 0;
  }

  to {
    opacity: 1;
  }
}

body.page-work .btn-down-arrow {
  z-index: 2;
  cursor: pointer;
  opacity: 0;
  background: none;
  border: 0;
  outline: none;
  margin: 0;
  padding: 0;
  transition: transform .3s ease-out, opacity .5s, -webkit-transform .3s ease-out;
  position: absolute;
  bottom: 23px;
  right: -8px;
  overflow: hidden;
  transform: translateY(0);
}

body.page-work .btn-down-arrow.show {
  opacity: 1;
}

body.page-work .btn-down-arrow svg {
  vertical-align: middle;
}

body.page-work .btn-down-arrow svg path {
  transition: fill .3s;
}

body.page-work .btn-down-arrow:hover {
  transform: translateY(6px);
}

body.page-work .btn-down-arrow:hover svg path {
  fill: #333;
}

body.page-work .col-right {
  width: calc(100% - 30px);
  margin-left: 30px;
}

body.page-work .pagination {
  text-align: right;
  width: 100%;
  padding: 4px 30px 23px 0;
}

body.page-work .media, body.page-work .video-embed {
  -o-object-fit: contain;
  object-fit: contain;
  vertical-align: middle;
  width: 100%;
  margin-bottom: 10px;
  padding-right: 30px;
}

body.page-work .video-embed {
  background-color: #000;
  width: calc(100% - 30px);
  padding-top: 55.3%;
  position: relative;
}

body.page-work .video-embed iframe {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
}

@media screen and (width >= 1025px) {
  body.page-work .video-cover {
    z-index: 1;
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
  }

  body.page-work .vimeo:before, body.page-work .youtube:before {
    content: "";
    z-index: 2;
    width: calc(50% - 35px);
    height: calc(100% - 105px);
    position: absolute;
    top: 65px;
    left: 0;
  }

  body.page-work .vimeo:after, body.page-work .youtube:after {
    content: "";
    z-index: 2;
    width: calc(50% - 35px);
    height: calc(100% - 105px);
    position: absolute;
    top: 65px;
    right: 0;
  }

  body.page-work .vimeo .video-cover:before, body.page-work .youtube .video-cover:before {
    content: "";
    z-index: 1;
    width: 75px;
    height: calc(50% - 87px);
    position: absolute;
    top: 65px;
    left: 50%;
    transform: translateX(-50%);
  }

  body.page-work .vimeo .video-cover:after, body.page-work .youtube .video-cover:after {
    content: "";
    z-index: 1;
    width: 75px;
    height: calc(50% - 62px);
    position: absolute;
    bottom: 40px;
    left: 50%;
    transform: translateX(-50%);
  }

  body.page-work .vimeo:after, body.page-work .vimeo:before {
    height: 100%;
    top: 0;
  }

  body.page-work .vimeo .video-cover:before {
    height: calc(50% - 22px);
    top: 0;
  }

  body.page-work .vimeo .video-cover:after {
    height: calc(50% - 22px);
    bottom: 0;
  }
}

@media screen and (width >= 768px) {
  body.page-work .core-footer {
    width: 50%;
  }

  body.page-work .work-container {
    height: 100vh;
    position: relative;
    overflow: hidden;
  }

  body.page-work .project-scroll {
    flex-grow: 1;
    margin-bottom: 240px;
  }

  body.page-work .client-logo-container {
    position: absolute;
    bottom: 60px;
    left: 30px;
  }

  body.page-work .col-right {
    margin-top: 150px;
    position: relative;
  }

  body.page-work .media-container {
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    overflow: hidden;
  }

  body.page-work .col-left .project-info, body.page-work .col-left .scroll-content > .row, body.page-work .col-right .media-container {
    opacity: 1;
    transform-origin: 0 0;
    transition: opacity 1s, transform 1s cubic-bezier(.215, .61, .355, 1), -webkit-transform 1s cubic-bezier(.215, .61, .355, 1);
    transform: translateZ(0)scaleY(1);
  }

  body.page-work .col-left .project-info {
    transition-delay: .7s;
  }

  body.page-work .col-left .scroll-content > .row:first-child {
    transition-delay: .8s;
  }

  body.page-work .col-left .scroll-content > .row:nth-child(2) {
    transition-delay: .9s;
  }

  body.page-work .col-left .scroll-content > .row:nth-child(3) {
    transition-delay: 1s;
  }

  body.page-work .col-left .scroll-content > .row:nth-child(4) {
    transition-delay: 1.1s;
  }

  body.page-work .col-right .media-container {
    transition-delay: .8s;
  }

  body.page-work .down-arrow-container {
    opacity: 0;
    animation: 1s 1s forwards fadeIn;
  }

  body.page-work.intro .close-container, body.page-work.intro article[data-router-view="work"], body.page-work.outro .close-container, body.page-work.outro article[data-router-view="work"] {
    opacity: 0;
  }

  body.page-work.intro .col-left .project-info, body.page-work.intro .col-left .scroll-content > .row, body.page-work.intro .col-right .media-container, body.page-work.outro .col-left .project-info, body.page-work.outro .col-left .scroll-content > .row, body.page-work.outro .col-right .media-container {
    opacity: 0;
    transform: translate3d(0, 100px, 0)scaleY(1.25);
  }

  body.page-work.intro article[data-router-view="work"] {
    transition-duration: 0s;
  }
}

@media screen and (width <= 767px) {
  body.page-work .social-links {
    opacity: 1;
    pointer-events: auto;
    transition: opacity 1s;
  }

  body.page-work.intro article[data-router-view="work"], body.page-work.outro article[data-router-view="work"] {
    opacity: 0;
  }

  body.page-work.intro article[data-router-view="work"] {
    transition-duration: 0s;
  }

  body.page-work .work-container {
    flex-wrap: wrap;
  }

  body.page-work .close-container svg {
    width: 50px;
    height: 50px;
  }

  body.page-work .col-left, body.page-work .col-right {
    width: 100%;
  }

  body.page-work .col-left {
    margin-top: 100px;
    padding-right: 30px;
  }

  body.page-work .col-right {
    margin-top: 75px;
    margin-left: 0;
    padding-left: 30px;
    padding-right: 30px;
  }

  body.page-work .project-scroll {
    padding-right: 0;
  }

  body.page-work .client-logo-container {
    width: 100%;
    margin-top: 40px;
    margin-left: 30px;
  }

  body.page-work .btn-down-arrow {
    display: none;
  }

  body.page-work .label, body.page-work .values {
    width: 50%;
  }

  body.page-work .media {
    padding-right: 0;
  }

  body.page-work .video-embed {
    width: 100%;
  }

  body.page-work .pagination {
    padding-right: 0;
  }
}

body.page-404 .cover, body.page-503 .cover, body.page-error .cover {
  display: none;
}

body.is-old-ie .core-logo {
  width: 191px;
}

@media screen and (width <= 767px) {
  body.is-old-ie .core-logo {
    width: 143px;
  }
}

body.is-old-ie .social-links a {
  width: 22px;
}

body.is-old-ie.page-about .email-address {
  width: 23px;
}

body.is-old-ie.page-about .phone-number {
  width: 20px;
  margin-left: 10px;
}
/*# sourceMappingURL=index.d046a61c.css.map */
