html, body {
  font-family: 'Open Sans',sans-serif;
  text-align: left;
  -webkit-font-smoothing: antialiased;
  width: 100%;
  box-sizing: border-box;
  padding: 0;
  margin: 0;
  color: #101537; }

body {
  background-color: #fff;
  font-size: 1.1em;
  overflow-x: hidden;
  overflow-y: scroll; }

*, :after, :before {
  box-sizing: border-box;
  -webkit-backface-visibility: hidden; }

button, input, select, a {
  outline: none;
  box-sizing: border-box; }

@keyframes animate-arrow {
  0% {
    transform: translateX(-10px);
    opacity: 0; }
  90%, 100% {
    transform: translateX(0px);
    opacity: 1; } }

@keyframes animate-arrow-in {
  0% {
    transform: translateX(-10px);
    opacity: 0; }
  90%, 100% {
    transform: translateX(0px);
    opacity: 1; } }

@keyframes animate-outline {
  0% {
    border: 1px solid transparent; }
  90%, 100% {
    border: 1px solid #8d3fef; } }

a, button {
  font-family: 'Barlow',sans-serif;
  cursor: pointer;
  font-weight: 600;
  text-transform: uppercase;
  text-decoration: none;
  letter-spacing: 0.1em;
  color: #8d3fef; }
  a.arrw, button.arrw {
    position: relative;
    transition: all 0.4s ease-out; }
    a.arrw svg, button.arrw svg {
      position: absolute;
      transition: all 0.1s ease-out;
      left: 0;
      top: 0;
      bottom: 0;
      stroke: #8d3fef;
      height: 16px;
      margin: auto; }
      a.arrw svg #Line, a.arrw svg #Line-2, button.arrw svg #Line, button.arrw svg #Line-2 {
        stroke: #8d3fef; }
    a.arrw span, button.arrw span {
      display: inline-block;
      padding-left: 56px;
      transition: all 0.4s ease-out; }

.fake-button {
  cursor: pointer;
  padding: 16px 28px 16px 12px;
  width: fit-content;
  border-radius: 4px;
  transition: all 0.4s ease-out;
  box-shadow: 0px 3px 6px 0px rgba(0, 5, 44, 0.1); }
  .fake-button .arrw {
    position: relative;
    color: #8d3fef;
    transition: all 0.4s ease-out;
    font-weight: 600;
    text-transform: uppercase;
    text-decoration: none;
    letter-spacing: 0.1em;
    color: #8d3fef;
    font-family: 'Barlow',sans-serif; }
    .fake-button .arrw svg {
      position: absolute;
      transition: all 0.1s ease-out;
      left: 0;
      top: 0;
      bottom: 0;
      stroke: #8d3fef;
      height: 16px;
      margin: auto; }
      .fake-button .arrw svg #Line, .fake-button .arrw svg #Line-2, .fake-button .arrw svg #Line-3 {
        stroke: #8d3fef; }
    .fake-button .arrw span {
      display: inline-block;
      padding-left: 56px;
      transition: all 0.4s ease-out; }
  .fake-button.ext {
    padding: 16px 12px 16px 28px;
    background-color: #fff;
    position: relative; }
    .fake-button.ext a {
      position: absolute;
      z-index: 1;
      top: 0;
      right: 0;
      left: 0;
      bottom: 0; }
    .fake-button.ext .arrw {
      padding-left: 0;
      color: #101537; }
      .fake-button.ext .arrw span {
        padding-left: 0;
        padding-right: 44px !important; }
      .fake-button.ext .arrw svg {
        transition: all 0.1s ease-out;
        left: auto;
        right: 0; }
        .fake-button.ext .arrw svg #Line, .fake-button.ext .arrw svg #Line-2, .fake-button.ext .arrw svg #Line-3 {
          stroke: #00052C; }

.container {
  padding: 32px; }

h1 {
  color: #101537;
  position: relative;
  z-index: 1;
  letter-spacing: 0.02em;
  font-weight: 400;
  font-size: 2.6em; }

a.btn, button.btn {
  height: 56px;
  background-color: #fff;
  border: none;
  text-transform: uppercase;
  padding: 0 32px;
  font-size: 0.9em;
  font-weight: 600;
  letter-spacing: 0.1em;
  border-radius: 4px;
  color: #101537;
  box-shadow: 0px 3px 8px 0px rgba(5, 10, 35, 0.16);
  display: inline-flex;
  align-items: center;
  text-decoration: none; }

a.fwd, button.fwd {
  padding-left: 128px; }

p {
  font-size: 1.3em;
  line-height: 1.6em;
  color: #616687;
  font-weight: 300; }
  p a {
    background: none;
    color: #616687;
    -webkit-text-fill-color: #616687;
    text-decoration: underline;
    letter-spacing: normal;
    text-transform: none; }

.viewport.active {
  overflow: hidden;
  position: fixed;
  height: 100%;
  width: 100%;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0; }

.scroll-container.active {
  position: absolute;
  overflow: hidden;
  z-index: 10;
  display: flex;
  justify-content: center;
  backface-visibility: hidden;
  transform-style: preserve-3d;
  right: 0;
  left: 0; }

.page-content.active {
  width: 100%; }

#loader {
  display: flex;
  position: fixed;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  z-index: 1000;
  width: 100%;
  height: 100%;
  background-color: #fff;
  align-items: center;
  justify-content: center; }
  #loader img {
    width: 40px;
    height: auto; }

nav {
  position: fixed;
  height: 88px;
  top: 0;
  right: 0;
  left: 0;
  z-index: 100;
  padding: 0 16px 0 32px;
  transition: all 0.2s ease-in-out;
  display: flex;
  justify-content: space-between;
  align-items: center; }
  nav .logo {
    height: 100%;
    display: flex;
    align-items: center;
    background: url("../img-i18/fml.svg") no-repeat center left;
    height: 100%;
    width: 140px; }
  nav .contact {
    color: #432c57;
    font-weight: 600;
    text-transform: uppercase;
    padding: 8px 8px 8px 10px;
    transition: all 0.5s ease-out;
    border-radius: 3px;
    background-position: center left 20px; }
  nav.scroll {
    height: 64px;
    background-color: white;
    box-shadow: 0px 2px 4px 0px rgba(12, 8, 51, 0.12); }

section {
  overflow: hidden; }
  section header p {
    font-size: 1.2em;
    line-height: 1.6em; }
  section h1 {
    font-size: 2em; }
  section .portfolio-shot {
    margin-top: 48px;
    padding: 0;
    display: flex;
    align-items: center;
    justify-content: center; }
    section .portfolio-shot img {
      max-width: 100%; }
  section.landing {
    background: linear-gradient(to bottom, #ffffff 94%, #F5F5FF 100%);
    position: relative; }
    section.landing h1 {
      margin-bottom: -32px;
      font-size: 2.23em;
      text-align: center;
      margin-left: auto;
      margin-right: auto; }
      section.landing h1 span {
        display: block; }
    section.landing h2 {
      font-weight: 300;
      line-height: 1.6em;
      letter-spacing: 0.02em;
      font-size: 1.3em;
      margin-top: 0;
      margin-left: auto;
      margin-right: auto; }
      section.landing h2 span {
        font-weight: 600; }
      section.landing h2 a {
        font-size: 1em;
        text-transform: none;
        letter-spacing: normal;
        color: #101537;
        text-decoration: underline;
        -webkit-text-fill-color: #101537;
        background: none; }
    section.landing .container {
      overflow: hidden;
      height: 100%;
      display: flex;
      align-items: center;
      background-size: 137%;
      padding-top: 74px;
      position: relative;
      z-index: 10;
      max-width: 580px;
      margin-left: auto;
      margin-right: auto; }
    section.landing .landing-area {
      padding-bottom: 134px;
      position: relative;
      z-index: 10; }
    section.landing .mobile-shot {
      text-align: center; }
      section.landing .mobile-shot img {
        width: 100%;
        margin: auto;
        max-width: 420px; }
    section.landing .landing-bg {
      background: url(../img-i18/landing-a@2x.png) no-repeat top 240px center;
      background-size: 450px;
      position: absolute;
      left: 0;
      right: 0;
      top: 0;
      bottom: 0;
      transition: top 0.8s ease-out, bottom 1s ease-out;
      display: none; }
      section.landing .landing-bg.scroll {
        opacity: 0 !important;
        top: 44px;
        transition: all 1s ease-out; }
  section.section1 {
    transform: skewY(-6deg);
    margin-top: -64px;
    background: #00052C;
    padding-top: 32px;
    padding-bottom: 32px; }
    section.section1 .container {
      padding: 0;
      display: flex;
      flex-flow: row wrap;
      transform: skewY(6deg); }
    section.section1 .clients {
      display: flex;
      flex-flow: row wrap;
      padding: 48px 32px;
      order: 1; }
      section.section1 .clients div {
        width: 50%;
        display: flex;
        align-items: center;
        justify-content: center;
        padding: 32px; }
        section.section1 .clients div img {
          max-width: 100%;
          max-height: 80px; }
    section.section1 .about {
      padding: 64px 32px; }
      section.section1 .about h1 {
        margin: 0;
        font-size: 1.7em; }
        section.section1 .about h1 span {
          font-weight: 500; }
  section.section2 {
    background-color: #F6F7FF; }
  section.section3 {
    padding-bottom: 0 !important; }
  section.section4 {
    background-color: #05042c; }
    section.section4 h1 {
      color: #fff; }
  section.section2, section.section3, section.section4, section.section5 {
    transform: skewY(-6deg);
    padding: 48px 0; }
    section.section2 h1, section.section3 h1, section.section4 h1, section.section5 h1 {
      max-width: 600px;
      line-height: 1.4em; }
    section.section2 .container, section.section3 .container, section.section4 .container, section.section5 .container {
      transform: skewY(6deg); }

footer {
  background: url(../img-i18/footer@2x.png) no-repeat bottom, linear-gradient(to bottom, #00052C 0%, #05001E 100%);
  background-size: 200% auto, auto;
  background-color: #00052C;
  padding: 24px 0px 16px 0px;
  color: #9EA4CC;
  transform: skewY(-6deg);
  position: relative;
  box-shadow: 0px 486px 0px 0px #060020; }
  footer .container {
    transform: skewY(6deg); }
  footer h2 {
    text-align: center;
    font-weight: 500;
    color: #fff;
    margin: 48px 0; }
    footer h2 span {
      color: #616687;
      font-weight: 300; }
  footer .contact a {
    background: #F6F7FF;
    padding: 16px 20px;
    display: block;
    -webkit-background-clip: unset;
    -webkit-text-fill-color: #616687;
    text-align: center;
    width: fit-content;
    border-radius: 4px;
    display: block;
    margin: auto;
    font-size: 0.8em;
    transition: all 0.3s ease-out; }
  footer .social {
    margin: 32px 0;
    display: flex;
    justify-content: center;
    flex-flow: row wrap; }
    footer .social a {
      color: #fff; }
    footer .social .dribbble {
      background: url(../img-i18/dribbble.svg) no-repeat center left; }
    footer .social .twitter {
      background: url(../img-i18/twitter.svg) no-repeat center left; }
    footer .social .dribbble, footer .social .twitter {
      margin: 8px 16px;
      background-size: 24px;
      height: 32px;
      display: flex;
      align-items: center;
      padding: 4px 4px 4px 32px;
      opacity: 0.85; }
      footer .social .dribbble:hover, footer .social .twitter:hover {
        opacity: 1; }
  footer .terms {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column; }
    footer .terms p {
      margin: 18px 0 0px 0;
      font-size: 0.8em;
      font-weight: 500;
      letter-spacing: 0.05em; }
    footer .terms div {
      padding: 0; }
      footer .terms div a {
        background: none;
        -webkit-background-clip: none;
        -webkit-text-fill-color: #616687;
        display: block;
        text-align: center;
        margin: 12px auto;
        font-size: 0.8em;
        font-weight: 600;
        text-decoration: underline; }

@media only screen and (min-width: 720px) {
  section.landing h1 {
    max-width: 500px;
    margin: 64px 0;
    text-align: left;
    margin-left: 0; }
  section.landing h2 {
    max-width: 360px;
    width: 80%;
    line-height: 1.8em;
    margin-left: 0; }
  section.landing .container {
    overflow: hidden;
    height: 100%;
    display: flex;
    align-items: center;
    background-size: 137%;
    padding-top: 74px;
    position: relative;
    max-width: 100%; }
  section.landing .landing-area {
    padding-bottom: 134px;
    position: relative;
    z-index: 10; }
  section.landing .landing-bg {
    background: url(../img-i18/landing@2x.png) no-repeat top 116px left 140px;
    background-size: 80%;
    display: block; }
  section.landing .mobile-shot {
    display: none; }
  section.section1 .clients div {
    width: 33%; }
  section .portfolio-shot img {
    max-width: 60%; } }

@media only screen and (min-width: 1024px) {
  .container {
    max-width: 1024px;
    margin: auto; }
  section {
    overflow: visible; }
    section.landing h1 {
      font-size: 2.9em;
      margin: 96px 0 48px;
      max-width: 600px; }
    section.landing h2 {
      max-width: 760px; }
    section.landing .landing-bg {
      background: url(../img-i18/landing@2x.png) no-repeat top 50px left 320px;
      background-size: 74%; }
    section.landing .container {
      max-width: 1024px; }
    section.section2, section.section3, section.section4, section.section5 {
      padding: 140px 0; }
      section.section2 h1, section.section3 h1, section.section4 h1, section.section5 h1 {
        max-width: 720px; }
    section.section2 .container {
      display: flex;
      align-items: center; }
      section.section2 .container div:nth-child(1) .fake-button {
        margin-bottom: 130px; }
      section.section2 .container .portfolio-shot {
        margin: 0; }
        section.section2 .container .portfolio-shot img {
          width: 134%;
          max-width: 134%; }
    section.section3 .container {
      display: flex;
      align-items: center; }
      section.section3 .container div:nth-child(1) {
        width: 44%; }
        section.section3 .container div:nth-child(1) .fake-button {
          margin-bottom: 260px; }
          section.section3 .container div:nth-child(1) .fake-button .arrw {
            width: 100%; }
      section.section3 .container .portfolio-shot {
        margin: 0; }
        section.section3 .container .portfolio-shot img {
          width: 90%;
          max-width: 90%;
          transform: translateX(100px); }
    section.section4 {
      padding: 140px 0 100px 0; }
      section.section4 .container {
        display: flex;
        align-items: center; }
        section.section4 .container div:nth-child(1) {
          width: 64%; }
          section.section4 .container div:nth-child(1) .fake-button {
            margin-bottom: 160px; }
            section.section4 .container div:nth-child(1) .fake-button .arrw {
              width: 100%; }
        section.section4 .container .portfolio-shot {
          margin: 0; }
          section.section4 .container .portfolio-shot img {
            width: 110%;
            max-width: 110%;
            transform: translateX(100px); }
    section.section5 .container {
      display: flex;
      align-items: center; }
      section.section5 .container div:nth-child(1) {
        width: 124%; }
        section.section5 .container div:nth-child(1) .fake-button {
          margin-bottom: 160px; }
          section.section5 .container div:nth-child(1) .fake-button .arrw {
            width: 100%; }
      section.section5 .container .portfolio-shot {
        margin: 0; }
        section.section5 .container .portfolio-shot img {
          width: 120%;
          max-width: 120%;
          transform: translateX(100px); }
  footer {
    padding: 48px 0;
    background: url(../img-i18/footer@2x.png) no-repeat bottom, linear-gradient(to bottom, #00052C 0%, #05001E 100%);
    background-size: 100% auto, auto; }
    footer .container {
      display: flex;
      flex-flow: row wrap; }
    footer .terms {
      width: 100%;
      display: flex;
      justify-content: flex-start;
      align-items: flex-end;
      flex-flow: row;
      padding: 80px 0 40px; }
      footer .terms div {
        margin-left: auto;
        display: flex; }
        footer .terms div a {
          margin-left: 32px; }
    footer .contact {
      width: 50%;
      display: flex;
      flex-flow: row wrap;
      justify-content: flex-start; }
      footer .contact h2 {
        width: 100%;
        text-align: left;
        line-height: 1.4em;
        font-size: 2em;
        margin-bottom: 24px; }
      footer .contact a {
        margin-right: auto;
        margin-left: 0;
        font-size: 1em;
        padding: 20px 40px; }
    footer .social {
      width: 50%;
      justify-content: flex-end;
      align-items: flex-end;
      margin: 0; }
      footer .social .twitter, footer .social .dribbble {
        margin-right: 0;
        margin-left: 48px; } }

@media only screen and (min-width: 1280px) {
  .container {
    max-width: 1200px;
    margin: auto; }
  section.landing h1 {
    font-size: 3.2em;
    margin: 140px 0 48px;
    max-width: 720px;
    line-height: 1.3em; }
  section.landing h2 {
    max-width: 860px;
    font-size: 1.5em; }
  section.landing .landing-bg {
    background: url(../img-i18/landing@2x.png) no-repeat top 0px left 320px;
    background-size: 74%; }
  section.landing .landing-area {
    padding-bottom: 240px; }
  section.landing .container {
    max-width: 1200px; }
  section.section1 {
    padding: 74px 0; }
    section.section1 .container {
      transform: none; }
    section.section1 .clients div {
      width: 25%;
      transform: skewY(6deg);
      padding: 64px; }
    section.section1 .clients img {
      max-height: 100px; }
  section.section2, section.section3, section.section4, section.section5 {
    padding: 140px 0; }
    section.section2 h1, section.section3 h1, section.section4 h1, section.section5 h1 {
      max-width: 720px;
      font-size: 2.4em; }
  footer {
    padding: 100px 0; } }

@media only screen and (min-width: 1420px) and (min-height: 800px) {
  .container {
    max-width: 1380px;
    margin: auto; }
  section.landing h1 {
    font-size: 4.2em;
    max-width: 850px; }
  section.landing h2 {
    font-size: 1.6em;
    max-width: 1500px;
    width: 54%; }
  section.landing .landing-bg {
    background: url(../img-i18/landing@2x.png) no-repeat top 20px left 78%;
    background-size: 1024px;
    max-width: 1420px;
    margin: auto; }
  section.landing .container {
    max-width: 1420px; } }

html.no-mobile .fake-button:hover {
  padding: 16px 12px 16px 28px; }
  html.no-mobile .fake-button:hover .arrw {
    padding-left: 0; }
    html.no-mobile .fake-button:hover .arrw span {
      padding-left: 0;
      padding-right: 56px; }
    html.no-mobile .fake-button:hover .arrw svg {
      transition: all 0.1s ease-out;
      left: auto;
      right: 0; }

html.no-mobile .fake-button.ext:hover {
  background-color: #00052C; }
  html.no-mobile .fake-button.ext:hover span {
    color: #fff; }
  html.no-mobile .fake-button.ext:hover svg #Line, html.no-mobile .fake-button.ext:hover svg #Line-2, html.no-mobile .fake-button.ext:hover svg #Line-3 {
    stroke: #fff; }

html.no-mobile .fake-button.ext.reverse:hover {
  background-color: #3e3e5c; }
  html.no-mobile .fake-button.ext.reverse:hover span {
    color: #fff; }
  html.no-mobile .fake-button.ext.reverse:hover svg #Line, html.no-mobile .fake-button.ext.reverse:hover svg #Line-2, html.no-mobile .fake-button.ext.reverse:hover svg #Line-3 {
    stroke: #fff; }

html.no-mobile footer .contact a:hover {
  -webkit-text-fill-color: #8d3fef;
  background: #fff; }

html.no-mobile nav .contact:hover {
  background-color: #f2f3ff;
  transition: all 0.5s ease-out; }
