@import url('https://fonts.googleapis.com/css?family=Josefin+Sans:300,400');

*, *:after, *:before {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}

body {
  font-size: 100%;
  font-family: 'Josefin Sans', sans-serif;
  color: #000;
  background-color: white;
}
body.overflow-hidden {
  /* when primary navigation is visible, the content in the background won't scroll */
  overflow: hidden;
}

a {
  text-decoration: none;
}

.container {
  width: 90%;
  max-width: 768px;
  margin: 0 auto;
}
.container:after {
  content: "";
  display: table;
  clear: both;
}

html, body {
  height: 100%;
}

#header {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 60px;
  line-height: 3.25rem;
  background-color: #ffffff;
  box-shadow: 0 0 0.5rem 0 rgba(0, 0, 0, 0.125);
  cursor: default;
  z-index: 10000;
}

#header a {
  display: block;
  height: inherit;
  line-height: inherit;
  border-bottom: 0;
  font-weight: 600;
  color: #000;
}

#header > .logo {
  position: absolute;
  left: 1rem;
}

#header > .logo strong {
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.025rem;
}

#header > nav {
  width: 100%;
}

#header > nav > ul {
  list-style: none;
  padding: 0;
  margin: 0;
  top: 10px;
  height: 60px;
  position: relative;
  text-align: center;
}

#header.reveal > nav > ul {
  top: 5px;
}

#header.alt .logo,
#header.alt.reveal .logo {
  display: inline-block;
  margin: 0 1em;
  background-image: url("../images/logo-white.svg");
  height: 50px;
  width: 50px;
  position: relative;
  bottom: 0;
  background-size: 100%;
  transition: all 0.3s;
}

#header.reveal .logo {
  display: inline-block;
  margin: 0 1em;
  background-image: url("../images/logo-black.svg");
  height: 40px;
  width: 40px;
  bottom: 6px;
  position: relative;
  background-size: 100%;
  transition: all 0.3s;
}

#header .logo:hover {
  transform: scale(0.9);
  transition: all 0.3s;
}

#header > nav > ul > li {
  position: relative;
  display: inline-block;
  margin: 0 1.25rem;
  padding: 0;
}

#header > nav > ul > li > a {
  overflow: hidden;
}

#header > nav > ul > li > a.icon:before {
  float: right;
  margin-left: 0.5rem;
  line-height: inherit;
  color: #bfbfbf;
}

#header > nav > ul > li > a.icon:hover:before {
  color: inherit;
}

#header > nav > ul > li > ul {
  display: none;
}

#header > nav > ul > li:after {
  display:block;
  content: '';
  border-bottom: solid 2px #50D2C2;
  position: relative;
  bottom: 10px;  
  transform: scaleX(0);  
  transition: transform 250ms ease-in-out;
}

#header > nav > ul > li:hover:after,
#header > nav > ul > li.active:after { 
  transform: scaleX(1); 
}

#header.reveal {
  -moz-animation: reveal-header 0.5s ease;
  -webkit-animation: reveal-header 0.5s ease;
  -ms-animation: reveal-header 0.5s ease;
  animation: reveal-header 0.5s ease;
}

@-moz-keyframes reveal-header {
    0% {
      top: -4em;
      opacity: 0;
    }

    100% {
      top: 0;
      opacity: 1;
    }
  }

  @-webkit-keyframes reveal-header {
    0% {
      top: -4em;
      opacity: 0;
    }

    100% {
      top: 0;
      opacity: 1;
    }
  }

  @-ms-keyframes reveal-header {
    0% {
      top: -4em;
      opacity: 0;
    }

    100% {
      top: 0;
      opacity: 1;
    }
  }

  @keyframes reveal-header {
    0% {
      top: -4em;
      opacity: 0;
    }

    100% {
      top: 0;
      opacity: 1;
    }
  }

#header.alt {
  color: #ffffff;
  -moz-animation: none;
  -webkit-animation: none;
  -ms-animation: none;
  animation: none;
  box-shadow: none;
  background-color: transparent;
  position: absolute;
}

#header.alt input, #header.alt select, #header.alt textarea {
  color: #ffffff;
}

#header.alt a {
  color: inherit;
}

#header.alt > .logo {
  top: 1rem;
  left: 2rem;
}

#header.alt > nav {
  top: 1rem;
}

#header.alt > nav > ul {
  padding: 0;
}

#header.alt > nav > ul > li {
  margin: 0 1.25rem;
}

/* BANNER */
/* Landing Page Intro */
.intro {
  position: relative;
  height: 100%;
  background: url("../images/bg-home.jpg") no-repeat center center;
  background-size: cover;
  z-index: 1;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.intro header {
  position: relative;
  margin: 0 auto 8em;
  width: 80%;
  z-index: 1;
}

.intro h1,
.intro h2 {
  color: #000;
  font-size: 2.75em;
  line-height: 1.3;
  font-weight: 300;
  text-align: center;
}

.intro h2 {
  font-size: 1.5em;
  margin-top: 1em;
}

span.bold {
  font-weight: 500;
  font-size: 1.4em;
}

.icon-scroll,
.icon-scroll:before {
  position: absolute;
  left: 50%;
}

.icon-scroll {
  width: 40px;
  height: 70px;
  margin-left: -20px;
  bottom: 4em;
  margin-top: -35px;
 }

.icon-scroll.about {
  bottom: -4em;
}

.icon-scroll:before {
  content: '';
  width: 4px;
  height: 12px;
  background: #fff;
  margin-left: -4px;
  top: 8px;
  border-radius: 2px;
  -webkit-animation: scroll 1.5s infinite;
  -moz-animation:    scroll 1.5s infinite;
  -o-animation:      scroll 1.5s infinite;
  -ms-transition:    scroll 1.5s infinite; 
  animation:         scroll 1.5s infinite;
}

@-webkit-keyframes scroll {
  0% {
    opacity: 1;
  }
  50% {
    opacity: .75;
  }
  100% {
    opacity: 0;
    transform: translateY(80px);
  }
}

@-moz-keyframes scroll {
  0% {
    opacity: 1;
  }
  50% {
    opacity: .75;
  }
  100% {
    opacity: 0;
    transform: translateY(80px);
  }
}

@-o-keyframes scroll {
  0% {
    opacity: 1;
  }
  50% {
    opacity: .75;
  }
  100% {
    opacity: 0;
    transform: translateY(80px);
  }
}

@-ms-keyframes scroll {
  0% {
    opacity: 1;
  }
  50% {
    opacity: .75;
  }
  100% {
    opacity: 0;
    transform: translateY(80px);
  }
}

@keyframes scroll {
  0% {
    opacity: 1;
  }
  50% {
    opacity: .75;
  }
  100% {
    opacity: 0;
    transform: translateY(80px);
  }
}

/* ABOUT SECTION */

.about {
  padding: 6em 2em;
  background: url('../images/bg-crossword.png');
}

.about-container {
  width: 80%;
  margin: 0 auto;
  text-align: center;
}

.about p {
  font-size: 1.5em;
  font-weight: 300;
  line-height: 1.8;
}

.vendors {
  width: 90%;
  margin: 4em auto 0;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}

.vendors li {
  display: flex;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-pack: start;
  -webkit-justify-content: flex-start;
  -ms-flex-pack: start;
  justify-content: flex-start;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-flex: 1;
  -webkit-flex: 1;
  -ms-flex: 1;
  flex: 1;
  text-align: center;
}

.vendors li img {
  width: 170px;
}

/* TEAM SECTION */

.team {
  position: relative;
  height: 100%;
  background: url(../images/bg-team.jpg) no-repeat center center;
  background-size: cover;
  padding: 0 2em;
  z-index: 1;
  box-shadow: inset 0 0 0 1000px rgba(0,0,0,.2);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.team-container {
  width: 80%;
  margin: 0 auto 4em;
  padding-top: 8em;
  text-align: center;
}

.team-container p {
  font-size: 1.75em;
  font-weight: 300;
  line-height: 1.8;
  color: #fff;
}

.team ul {
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}

.team ul li {
  display: -moz-flex;
  display: -webkit-flex;
  display: -ms-flex;
  display: flex;
  -moz-flex-direction: column;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  -moz-align-items: center;
  -webkit-align-items: center;
  -ms-align-items: center;
  align-items: center;
  padding-left: 0;
  text-align: center;
  width: 20%;
}

.team ul li .image {
  border-radius: 100%;
  margin: 0 0 1.5em 0;
}

.team ul li .image img {
  border-radius: 100%;
  width: 10em;
}

.team ul li h3 {
  font-size: 1.25rem;
  margin: 0 0 0.5em 0;
  color: #fff;
}

.team ul li p {
  font-size: 1em;
  color: rgba(255,255,255,0.8);
}

/* SERVICES SECTION */
#services {
  background: url('../images/bg-crossword.png');
  padding-bottom: 5em;
}

.services-container {
  width: 80%;
  margin: 0 auto 1em;
  padding-top: 6em;
  text-align: center;
}

.services-container p {
  font-size: 1.6em;
  font-weight: 300;
  line-height: 1.8;
}

.services-list {
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}

.services-list li {
  display: -moz-flex;
  display: -webkit-flex;
  display: -ms-flex;
  display: flex;
  width: 28%;
  margin: 2em 1em;
}

.services-list li:hover img {
  transform: scale(0.9);
  transition: all 0.3s;
}

.services-list li img {
  display: inline-block;
  width: 65px;
  height: 65px;
  position: relative;
  top: 6px;
  margin-right: 20px;
  transition: all 0.3s;
}

.services-description {
  display: inline-block;
  width: 75%;
}

.services-description h4 {
  margin: 0.5em 0 0.25em;
  font-size: 1.3em;
}

.services-description p {
  font-size: 1.05em;
  line-height: 1.4;
  font-weight: 300;
  color: rgba(0,0,0,0.8);
}



/* WORK SECTION */

.work-list {
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}

.work-list a {
  display: -moz-flex;
  display: -webkit-flex;
  display: -ms-flex;
  display: flex;
  overflow: hidden;
  position: relative;
  width: 33.33333%;
  height: 315px;
}

.work-list li {
  display: inline-block;
  overflow: hidden;
  position: relative;
  background: #000;
}

.work-list li img {
  width: 100%;
  height: 100%;
  -webkit-transition: all 0.3s ease-in-out;
  -moz-transition: all 0.3s ease-in-out;
  -o-transition: all 0.3s ease-in-out;
  -ms-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
}

.work-list li:hover img {
  opacity: 0.3;
  -webkit-transition: all 0.3s ease-in-out;
  -moz-transition: all 0.3s ease-in-out;
  -o-transition: all 0.3s ease-in-out;
  -ms-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
}

.work-list li h4,
.work-list li h5 {
  opacity: 0;
  font-size: 2em;
  z-index: 10;
  color: #fff;
  position: absolute;
  text-align: center;
  top: 55%;
  left: 0;
  right: 0;
  margin: 0 auto;
  -webkit-transition: all 0.35s ease-in-out;
  -moz-transition: all 0.35s ease-in-out;
  -o-transition: all 0.35s ease-in-out;
  -ms-transition: all 0.35s ease-in-out;
  transition: all 0.35s ease-in-out;
}

.work-list li h5 {
  top: 70%;
  font-size: 1.2em;
}


.work-list li:hover h4,
.work-list li:hover h5 {
  opacity: 1;
  top: 40%;
  -webkit-transition: all 0.35s ease-in-out;
  -moz-transition: all 0.35s ease-in-out;
  -o-transition: all 0.35s ease-in-out;
  -ms-transition: all 0.35s ease-in-out;
  transition: all 0.35s ease-in-out;
}

.work-list li:hover h5 {
  top: 55%
}



  

  

  














/* SEPARATE WORK PAGES */

.black-shade {
  width: 100%;
  height: 100%;
  position: absolute;
  background: rgba(0, 0, 0, .35);
}

.work-navigation {
  position: absolute;
  width: 160px;
  top: 40px;
  left: 0;
  right: 0;
  margin: 0 auto;
}

.work-icon {
  font-size: 1.6em;
  border: 1px solid #f1f1f1;
  border-radius: 100px;
  padding: 0.2em;
  color: #fff;
  -webkit-transition: all 0.3s;
  -o-transition: all 0.3s;
  -ms-transition: all 0.3s;
  -moz-transition: all 0.3s;
  transition: all 0.3s;
}

.icon-x {
  margin: 0 18px;
}

.work-icon:hover {
  color: #f1f1f1;
  border-color: #fff;
  background: rgba(255,255,255,0.2);
  transform: scale(0.9);
  -webkit-transition: all 0.3s;
  -o-transition: all 0.3s;
  -ms-transition: all 0.3s;
  -moz-transition: all 0.3s;
  transition: all 0.3s;
}

/* DFI Corporation */

.work-banner {
  position: relative;
  height: 70%;
  background: url("../images/bg-dfi.jpg") no-repeat center center;
  background-size: cover;
  z-index: 1;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.work-banner header {
  position: relative;
  margin: 0 auto 2em;
  width: 80%;
  z-index: 1;
}

.work-banner h1,
.work-banner h2 {
  color: white;
  font-size: 3.5em;
  line-height: 1.3;
  text-align: center;
}

.work-banner h2 {
  font-size: 1.15em;
  margin-bottom: 2em;
  font-weight: 300;
}

.work-banner p {
  text-align: center;
  color: #fff;
  font-weight: 300;
  font-size: 1.4em;
  line-height: 1.6;
}

.work-mac {
  background: url("../images/bg-crossword.png");
  height: 700px;
}

.work-mac img {
  width: 600px;
  margin: 0em auto;
  display: block;
  padding: 3.5em 0 2em; 
}

.work-grid {
  background: url("../images/dfi-grid1.jpg") no-repeat center center;
  height: 70%;
  background-size: cover;
  z-index: 1;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  -moz-box-shadow: 0 0 40px 0 rgba(45,54,59,.25);
  -o-box-shadow: 0 0 40px 0 rgba(45,54,59,.25);
  -webkit-box-shadow: 0 0 40px 0 rgba(45,54,59,.25);
  box-shadow: 0 0 40px 0 rgba(45,54,59,.25);
  filter: progid:DXImageTransform.Microsoft.Shadow(color=#ebebeb,Direction=90,Strength=25);
}

.work-screenshots {
  background: url("../images/bg-crossword.png");
  padding: 6em 12em 2em;
}

.work-screenshots img {
  width: 100%;
  margin: 0 auto 8em;
  display: block;
  -moz-box-shadow: 0 0 40px 0 rgba(45,54,59,.25);
  -o-box-shadow: 0 0 40px 0 rgba(45,54,59,.25);
  -webkit-box-shadow: 0 0 40px 0 rgba(45,54,59,.25);
  box-shadow: 0 0 40px 0 rgba(45,54,59,.25);
  filter: progid:DXImageTransform.Microsoft.Shadow(color=#ebebeb,Direction=90,Strength=25);
}

.work-screenshots img:last-child {
  margin: 0 auto 5em;
}

.linked-button {
  border: 1px solid #000;
  color: #000;
  padding: 16px 0 12px;
  display: block;
  overflow: hidden;
  text-align: center;
  font-size: 1em;
  font-weight: 400;
  background: none;
  cursor: pointer;
  text-decoration: none;
  width: 174px;
  margin: 0 auto;
  outline: none;
  position: relative;
  -webkit-transition: all 0.3s;
  -o-transition: all 0.3s;
  -ms-transition: all 0.3s;
  -moz-transition: all 0.3s;
  transition: all 0.3s;
}

.linked-button.contact {
  width: 154px;
  margin-top: 1.5em;
}

.linked-button:before {
  position: absolute;
  height: 20px;
  width: 20px;
  content: '';
  background: url(../images/right-arrow.svg);
  background-size: cover;
  line-height: 1;
  left: 100%;
  top: 29%;
  -webkit-font-smoothing: antialiased;
  -webkit-transition: all 0.3s;
  -moz-transition: all 0.3s;
  transition: all 0.3s;
}

.linked-button:hover {
  background: #fff;
  color: #000;
}

.linked-button:hover:before {
  left: 83%;
}

.linked-button.contact:hover:before {
  left: 81%;
}

.work-footer {
  text-align: center;
  padding: 3em 3em 2.5em;
  background: url("../images/bg-email.png");
}

.ready-to-start {
  font-size: 2.5em;
}


/* State Bank of Ceylon */
.work-banner.sbc {
  background: url("../images/bg-sbc.jpg") no-repeat center center;
  background-size: cover;
}

.work-grid.sbc {
  background: url("../images/sbc-grid.jpg") no-repeat center center;
  height: 70%;
  background-size: cover;
}


/* Safer & Quieter */
.work-banner.saq {
  background: url("../images/bg-saq.jpg") no-repeat center center;
  background-size: cover;
}

.work-grid.saq {
  background: url("../images/saq-grid.jpg") no-repeat center center;
  height: 70%;
  background-size: cover;
}

/* Ricordea Real Estate */
.work-banner.rre {
  background: url("../images/bg-rre.jpg") no-repeat center center;
  background-size: cover;
}

.work-grid.rre {
  background: url("../images/rre-grid.jpg") no-repeat center center;
  height: 70%;
  background-size: cover;
}

/* Flock Strategies */
.work-banner.flock {
  background: url("../images/bg-flock.jpg") no-repeat center center;
  background-size: cover;
}

.work-banner.flock .black-shade {
  background: rgba(0, 0, 0, 0.5);
}

.work-grid.flock {
  background: url("../images/flock-grid.jpg") no-repeat center center;
  height: 70%;
  background-size: cover;
}

/* GMPC */
.work-banner.gmpc {
  background: url("../images/bg-gmpc.jpg") no-repeat center center;
  background-size: cover;
}

.work-banner.gmpc .black-shade {
  background: rgba(0, 0, 0, 0.5);
}

.work-grid.gmpc {
  background: url("../images/gmpc-grid.jpg") no-repeat center center;
  height: 70%;
  background-size: cover;
}
















































































.header {
  position: absolute;
  top: 0;
  left: 0;
  background: rgba(2, 23, 37, 0.95);
  height: 50px;
  width: 100%;
  z-index: 1003;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.3);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

@media only screen and (min-width: 768px) {
  .header {
    height: 80px;
    background: transparent;
    box-shadow: none;
  }
}

@media only screen and (min-width: 1170px) {
  .header {
    -webkit-transition: background-color 0.3s;
    -moz-transition: background-color 0.3s;
    transition: background-color 0.3s;
    /* Force Hardware Acceleration in WebKit */
    -webkit-transform: translate3d(0, 0, 0);
    -moz-transform: translate3d(0, 0, 0);
    -ms-transform: translate3d(0, 0, 0);
    -o-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
  }

  .header.is-fixed {
    /* when the user scrolls down, we hide the header right above the viewport */
    position: fixed;
    top: -80px;
    background-color: transparent;
    -webkit-transition: -webkit-transform 0.3s;
    -moz-transition: -moz-transform 0.3s;
    transition: transform 0.3s;
  }

  .header.is-visible {
    /* if the user changes the scrolling direction, we show the header */
    -webkit-transform: translate3d(0, 100%, 0);
    -moz-transform: translate3d(0, 100%, 0);
    -ms-transform: translate3d(0, 100%, 0);
    -o-transform: translate3d(0, 100%, 0);
    transform: translate3d(0, 100%, 0);
  }

  .header.menu-is-open {
    /* add a background color to the header when the navigation is open */
    background-color: rgba(2, 23, 37, 0.96);
  }
}



/* Overlay Nav Trigger */
.overlay-nav-trigger {
  position: absolute;
  right: 0;
  top: 0;
  height: 100%;
  width: 50px;
  background-color: #03263d;
}

.overlay-nav-trigger .menu-icon {
  /* this span is the central line of the menu icon */
  display: inline-block;
  position: absolute;
  left: 50%;
  top: 50%;
  bottom: auto;
  right: auto;
  -webkit-transform: translateX(-50%) translateY(-50%);
  -moz-transform: translateX(-50%) translateY(-50%);
  -ms-transform: translateX(-50%) translateY(-50%);
  -o-transform: translateX(-50%) translateY(-50%);
  transform: translateX(-50%) translateY(-50%);
  width: 24px;
  height: 3px;
  background-color: white;
  -webkit-transition: background-color 0.3s;
  -moz-transition: background-color 0.3s;
  transition: background-color 0.3s;
  /* these are the upper and lower lines in the menu icon */
}

.overlay-nav-trigger .menu-icon::before, .overlay-nav-trigger .menu-icon:after {
  content: '';
  width: 100%;
  height: 100%;
  position: absolute;
  background-color: white;
  right: 0;
  -webkit-transition: -webkit-transform .3s, top .3s, background-color 0s;
  -moz-transition: -moz-transform .3s, top .3s, background-color 0s;
  transition: transform .3s, top .3s, background-color 0s;
}

body.contact .overlay-nav-trigger .menu-icon,
body.contact .overlay-nav-trigger .menu-icon::before, 
body.contact .overlay-nav-trigger .menu-icon:after  {
  background-color: #000;
}

.overlay-nav-trigger .menu-icon::before {
  top: -7px;
}

.overlay-nav-trigger .menu-icon::after {
  top: 7px;
}

.overlay-nav-trigger .menu-icon.is-clicked,
body.contact .overlay-nav-trigger .menu-icon.is-clicked {
  background-color: rgba(255, 255, 255, 0);
}

.overlay-nav-trigger .menu-icon.is-clicked::before, .overlay-nav-trigger .menu-icon.is-clicked::after {
  background-color: white;
}

.overlay-nav-trigger .menu-icon.is-clicked::before {
  top: 0;
  -webkit-transform: rotate(135deg);
  -moz-transform: rotate(135deg);
  -ms-transform: rotate(135deg);
  -o-transform: rotate(135deg);
  transform: rotate(135deg);
}

.overlay-nav-trigger .menu-icon.is-clicked::after {
  top: 0;
  -webkit-transform: rotate(225deg);
  -moz-transform: rotate(225deg);
  -ms-transform: rotate(225deg);
  -o-transform: rotate(225deg);
  transform: rotate(225deg);
}

@media only screen and (min-width: 768px) {
  .overlay-nav-trigger {
    width: 100px;
    padding-left: 1em;
    background-color: transparent;
    height: 30px;
    line-height: 30px;
    right: 2.2em;
    top: 50%;
    bottom: auto;
    -webkit-transform: translateY(-50%);
    -moz-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    -o-transform: translateY(-50%);
    transform: translateY(-50%);
  }
  
  .overlay-nav-trigger .menu-icon {
    left: auto;
    right: 1em;
    -webkit-transform: translateX(0) translateY(-50%);
    -moz-transform: translateX(0) translateY(-50%);
    -ms-transform: translateX(0) translateY(-50%);
    -o-transform: translateX(0) translateY(-50%);
    transform: translateX(0) translateY(-50%);
  }
}

/*  Overlay  */
.overlay {
  position: fixed;
  z-index: 1001;
  background: rgba(51, 55, 69, 0.95);
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  opacity: 0;
  visibility: hidden;
  transition: opacity .35s, visibility .35s, height .35s;
  overflow: hidden;
}

.overlay.open {
  opacity: 1;
  visibility: visible;
  height: 100%;
}

.overlay.open li {
  animation: fadeInRight .5s ease forwards;
  animation-delay: .35s;
}
.overlay.open li:nth-of-type(2) {
  animation-delay: .4s;
}
.overlay.open li:nth-of-type(3) {
  animation-delay: .45s;
}
.overlay.open li:nth-of-type(4) {
  animation-delay: .50s;
}

.overlay .nav-title {
  font-size: 22px;
  color: #fff;
  font-weight: bold;
  text-transform: uppercase;
  text-align: center;
  position: absolute;
  left: 50%;
  transform: translate(-50%);
  top: 8%;
}

.overlay nav {
  position: relative;
  height: 50%;
  top: 50%;
  transform: translateY(-50%);
  font-size: 50px;
  font-weight: 400;
  text-transform: uppercase;
  text-align: center;
  letter-spacing: 40px;
}

.overlay ul {
  list-style: none;
  padding: 0;
  margin: 0 auto;
  display: inline-block;
  position: relative;
  height: 100%;
}

.overlay ul li {
  display: block;
  position: relative;
  opacity: 0;
  margin-bottom: 60px;
}

.overlay ul li a {
  display: block;
  position: relative;
  color: #FFF;
  text-decoration: none;
  overflow: hidden;
}

.overlay ul li a:hover,
.overlay ul li a:focus,
.overlay ul li a:active {
  color: #93fbfb;
}

.overlay ul li a:hover:after,
.overlay ul li a:focus:after,
.overlay ul li a:active:after {
  width: 100%;
  background: #93fbfb;
}

.overlay ul li a:after {
  content: '';
  position: absolute;
  top: 36%;
  left: 43.5%;
  width: 0%;
  transform: translateX(-50%);
  height: 3px;
  background: #FFF;
  transition: .35s;
}

@keyframes fadeInRight {
  0% {
    opacity: 0;
    left: 20%;
  }
  100% {
    opacity: 1;
    left: 0;
  }
}

@media (max-width: 670px) {
  .overlay nav {
    font-size: 30px;
  }
}

@media (max-width: 550px) {
  .overlay nav {
    font-size: 20px;
  }
}



/* Home Main Content */

.main-content {
  position: relative;
  z-index: 1;
}
.main-content p {
  line-height: 1.6;
  margin: 2em 0;
}
@media only screen and (min-width: 1170px) {
  .main-content p {
    font-size: 20px;
    font-size: 1.25rem;
  }
}

/* ABOUT PAGE */

.content {
  position: relative;
  display: block;
}

.content__section {
  position: relative;
  text-align: right;
  padding: 0 6vmax;
}

.content__section:first-child {
  margin: 0 0 30vh;
}

.content__section:last-child {
  margin: 30vh 0 0;
}

.content__section:first-child,
.content__section:last-child {
  height: calc(100vh - 9.875em);
  text-align: left;
}

.content__link {
  display: block;
  position: relative;
  max-width: 100%;
  margin: 10vh 0 30vh auto;
}

.content__link.bottom {
  margin-bottom: 5vh;
}

.content__img {
  position: relative;
  display: block;
  max-width: 90%;
  margin: 0 0 0 auto;
}

.content__main,
.content__text {
  color: var(--color-scroll-text);
  font-size: var(--fontsize-scroll-text);
  font-family: var(--font-scroll-text);
  margin: 0;
  line-height: 1;
  text-transform: lowercase;
  font-weight: normal;
}

.content__main,
.content__contact {
  position: absolute;
  bottom: 0;
}

.content__main span {
  display: block;
}

.content__text {
  position: absolute;
  bottom: 6vmax;
  left: 0;
  padding-left: 6vmax;
  z-index: 1000;
  line-height: 0.8;
}

.js .ioapi .content__text {
  position: fixed;
  opacity: 0;
  white-space: pre;
}

.content__text span {
  display: inline-block;
}

.content__contact {
  font-size: calc(var(--fontsize-scroll-text) / 2);
  font-family: var(--font-scroll-text);
}

.content__contact a:last-child {
  display: block;
}

.text-scroll {
  --color-text: #fff;
  --color-bg: #6314e0;
  --color-link: #93fbfb;
  --color-link-hover: #fff;
  --color-info: #fff;
  --color-main-text: #93fbfb;
  --color-scroll-text: #fff;
  --font-scroll-text: 'Josefin Sans', monospace;
  --fontsize-scroll-text: 8vw;
  transition: background-color 0.4s;
}

.content__section:not(:first-child) {
  min-height: 100vh;
}

.content__main, 
.content__contact {
  color: var(--color-main-text);
}

.content__img {
  margin: 0 auto;
}

.content__text {
  font-weight: 300;
}

@media screen and (max-width: 50em) {
  .content__section:not(:first-child) {
    min-height: 0;
  }
}




/* CONTACT */
body.contact {
  background: #7fb2ff;
  color: #fff;
  font-weight: 400;
  font-size: 1em;
  overflow: hidden;
  overflow-y: scroll;
  min-height: 590px;
}

.clearfix:before, .clearfix:after { content: ''; display: table; }
.clearfix:after { clear: both; }

.form-container {
  height: 100%;
}