@charset "UTF-8";
/*
Theme Name: 
Theme URI: http://www.jlern.com/clients/
Description: 
Version: 1.0
Author: Justin Lerner
Author URI: http://www.jlern.com
*/
/*! VARIABLES */
/*! SETUP */
html,
body {
  height: 100%;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
html,
body,
div,
span,
h1,
h2,
h3,
h4,
h5,
h6,
p,
img,
ul {
  margin: 0;
  padding: 0;
  border: 0;
}
body {
  font-size: 100%;
  background-color: #032834;
  color: #032834;
  font-family: 'proxima-nova', sans-serif;
}
body ::selection {
  background: #a231ef;
  color: #fff;
  opacity: 1;
}
body ::-moz-selection {
  background: #a231ef;
  color: #fff;
  opacity: 1;
}
section,
.global {
  position: relative;
  width: 100%;
  z-index: 1;
  overflow: hidden;
  padding-left: 50px;
  padding-right: 50px;
}
.contentContainer {
  position: relative;
  z-index: 1;
  width: 100%;
  height: 100%;
  max-width: 1200px;
  margin: 0 auto;
}
.outerContainer {
  position: relative;
  z-index: 1;
  width: 100%;
  max-width: 1460px;
  margin: 0 auto;
}
*,
*:before,
*:after {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}
nav ul,
nav li {
  margin: 0;
  list-style: none;
  list-style-image: none;
}
li {
  break-inside: avoid;
}
a,
a:active,
a:visited {
  text-decoration: none;
}
fieldset {
  padding: 0;
  margin: 0;
  border: none;
}
input {
  padding: 0;
  -moz-box-sizing: border-box;
  -ms-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}
input:focus,
textarea:focus,
select:focus {
  outline: none;
}
html {
  -webkit-text-size-adjust: none;
  -ms-text-size-adjust: none;
}
input,
textarea,
button {
  -webkit-appearance: none;
  -webkit-border-radius: 0;
}
input[type="submit"]::-moz-focus-inner,
[type="button"]::-moz-focus-inner {
  padding: 0;
  border: 0;
  margin-top: -4px;
}
textarea {
  resize: none;
}
:focus {
  outline: none;
}
button:focus {
  outline: 0;
}
button,
input {
  border: none;
  background: none;
}
button {
  cursor: pointer;
}
.vline-div {
  padding: 0 5px;
}
.sidepad {
  padding-left: 50px;
  padding-right: 50px;
}
.sidepadT {
  padding-left: 35px;
  padding-right: 35px;
}
.sidepadM {
  padding-left: 20px;
  padding-right: 20px;
}
.nopad {
  padding-left: 0px;
  padding-right: 0px;
}
.automargin {
  margin-left: auto;
  margin-right: auto;
}
.valign {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-justify-content: center;
  -ms-flex-pack: justify;
  justify-content: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-align-content: stretch;
  -ms-flex-line-pack: stretch;
  align-content: stretch;
  -ms-flex-pack: center;
}
.valign-l {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-justify-content: center;
  -ms-flex-pack: justify;
  justify-content: center;
  -webkit-align-items: flex-start;
  -ms-flex-align: flex-start;
  align-items: flex-start;
  -webkit-align-content: stretch;
  -ms-flex-line-pack: stretch;
  align-content: stretch;
  -ms-flex-pack: center;
}
.valign-r {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-justify-content: center;
  -ms-flex-pack: justify;
  justify-content: center;
  -webkit-align-items: flex-end;
  -ms-flex-align: flex-end;
  align-items: flex-end;
  -webkit-align-content: stretch;
  -ms-flex-line-pack: stretch;
  align-content: stretch;
  -ms-flex-pack: center;
}
.valign-b {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-justify-content: flex-end;
  -ms-flex-pack: justify;
  justify-content: flex-end;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-align-content: stretch;
  -ms-flex-line-pack: stretch;
  align-content: stretch;
  -ms-flex-pack: center;
}
.break {
  display: block;
  width: 0;
  height: 0px;
  flex-basis: 100%;
}
.abs-fill {
  width: 100%;
  height: 100%;
  position: absolute;
  left: 0;
  top: 0;
}
.abs {
  position: absolute;
  left: 0;
  top: 0;
}
.absr {
  position: absolute;
  right: 0;
  top: 0;
}
.abs-cen {
  position: absolute;
  left: 50%;
  top: 0;
  transform: translateX(-50%);
}
.abs-cenv {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
}
.fixed {
  position: fixed;
  top: 0;
  left: 0;
}
.bgcover {
  background: center center no-repeat;
  -webkit-background-size: cover;
  -moz-background-size: cover;
  -o-background-size: cover;
  background-size: cover;
}
.inline-c {
  display: inline-block;
  vertical-align: middle;
}
.inline-t {
  display: inline-block;
  vertical-align: top;
}
.noshrink {
  -webkit-flex-shrink: 0;
  -ms-flex: -1;
  flex-shrink: 0;
}
.allowgrow {
  -webkit-flex-grow: 1;
  -ms-flex: 1;
  flex-grow: 1;
}
.no-breakout {
  overflow-wrap: break-word;
  word-wrap: break-word;
  -ms-word-break: break-all;
  word-break: break-word;
}
.boost-accel {
  -webkit-transform: translateZ(0);
  transform: translateZ(0);
}
.noflicker {
  -webkit-transform-style: preserve-3d;
}
.div-scroll {
  overflow-y: scroll;
  -webkit-overflow-scrolling: touch;
}
.spacer {
  width: 100%;
  height: auto;
  display: block;
}
.filler {
  visibility: hidden;
}
.mob {
  display: none;
}
.col {
  position: relative;
}
.row {
  width: 100%;
  position: relative;
}
.upc {
  text-transform: uppercase;
}
.flipX {
  transform: scaleX(-1);
}
.flipY {
  transform: scaleY(-1);
}
.flipXY {
  transform: scale(-1);
}
.rotate-text {
  position: absolute;
  transform: translateX(-50%) translateY(-50%) rotate(-90deg);
  top: 50%;
  left: 50%;
}
.fpo {
  background-color: rgba(255, 255, 0, 0.2);
}
.bgw {
  background-color: #fff;
}
.spaced {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  -ms-flex-direction: row;
  flex-direction: row;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-justify-content: space-between;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -webkit-align-items: stretch;
  -ms-flex-align: stretch;
  align-items: stretch;
  -webkit-align-content: stretch;
  -ms-flex-line-pack: stretch;
  align-content: stretch;
}
.spaced-c {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  -ms-flex-direction: row;
  flex-direction: row;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-justify-content: space-between;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-align-content: stretch;
  -ms-flex-line-pack: stretch;
  align-content: stretch;
}
.spaced-t {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  -ms-flex-direction: row;
  flex-direction: row;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-justify-content: space-between;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -webkit-align-items: flex-start;
  -ms-flex-align: flex-start;
  align-items: flex-start;
  -webkit-align-content: stretch;
  -ms-flex-line-pack: stretch;
  align-content: stretch;
}
.showflex {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
}
.overlay {
  position: absolute;
  top: 0px;
  left: 0px;
  width: 100%;
  height: 100%;
  display: none;
  opacity: 0;
  z-index: 60;
}
.blanket {
  position: fixed;
  top: 0px;
  left: 0px;
  width: 100%;
  height: 100%;
  background-color: #032834;
  opacity: .9;
  z-index: 1;
}
.overlayWrap {
  width: 100%;
  height: 100%;
  position: fixed;
  padding: 50px;
  -webkit-transform: translateZ(0);
  overflow-x: hidden;
  overflow-y: scroll;
  -webkit-overflow-scrolling: touch;
  z-index: 30;
}
.gridline {
  width: 1px;
  height: 100%;
  position: fixed;
  left: 50%;
  top: 0px;
  z-index: 100;
  background-color: yellow;
  opacity: .2;
}
.gridline.l {
  left: 20px;
}
.gridline.r {
  left: auto;
  right: 20px;
}
.gridline.ml {
  margin-left: -600px;
}
.gridline.mr {
  margin-left: 600px;
}
.gridline.ml2 {
  margin-left: -730px;
}
.gridline.mr2 {
  margin-left: 730px;
}
.crosshairs:before {
  content: '';
  position: absolute;
  left: 50%;
  top: 0;
  transform: translateX(-50%);
  width: 0px;
  height: 100%;
  border-left: 1px solid red;
  z-index: 50;
}
.crosshairs:after {
  content: '';
  position: absolute;
  left: 0;
  top: 0;
  top: 50%;
  height: 0px;
  width: 100%;
  border-top: 1px solid red;
  z-index: 50;
}
.part {
  position: absolute;
  left: 0;
  top: 0;
}
.part img {
  width: 100%;
  height: auto;
  display: block;
}
.part-wrap {
  position: absolute;
  overflow: hidden;
}
.part-wrap img {
  display: block;
}
.sized img {
  width: 100%;
  height: auto;
  display: block;
}
.bg-wrap {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  overflow: hidden;
}
.background {
  position: absolute;
  left: 0;
  top: 0;
  z-index: 0;
}
.background .base img {
  width: 100%;
  height: auto;
  display: block;
}
.background .layer {
  width: 100%;
  height: 100%;
  position: absolute;
  left: 0;
  top: 0;
}
.background .layer img {
  width: 100%;
  height: auto;
  display: block;
}
.background.cn {
  position: absolute;
  left: 50%;
  top: 0;
  transform: translateX(-50%);
}
.basic-scaler {
  position: relative;
}
.basic-scaler.tc {
  transform-origin: center top;
}
.basic-scaler.tl {
  transform-origin: left top;
}
/* FUNCTIONS */
/*! - GLOBAL ***************************** */
/*! - GLOBAL: 0 REUSE */
section h2 {
  font: 300 45px/1.6 'proxima-nova', sans-serif;
  color: #fff;
  margin-bottom: 40px;
  margin-left: -3px;
}
section h2.purple {
  color: #a231ef;
}
section h3 {
  font-size: 14px;
  font-weight: 600;
  line-height: 1.33;
  letter-spacing: .36em;
  text-transform: uppercase;
  color: #fff;
}
section p {
  font: 400 20px/1.95 'proxima-nova', sans-serif;
}
section p.sm {
  font-size: 16px;
  line-height: 1.81;
}
section p + p {
  margin-top: 25px;
}
.smallcaps {
  font-size: 14px;
  font-weight: 600;
  line-height: 1.33;
  letter-spacing: .36em;
  text-transform: uppercase;
  color: #fff;
}
.social-links li {
  display: inline-block;
  vertical-align: middle;
  text-align: center;
  width: 50px;
  height: 50px;
  border-radius: 50px;
  border: 1px solid #000;
  -webkit-transition: background-color 0.3s linear;
  -moz-transition: background-color 0.3s linear;
  -o-transition: background-color 0.3s linear;
  transition: background-color 0.3s linear;
}
.social-links li ~ li {
  margin-left: 20px;
}
.social-links li .icon {
  font-size: 18px;
  color: #fff;
  line-height: 50px;
  -webkit-transition: color 0.3s linear;
  -moz-transition: color 0.3s linear;
  -o-transition: color 0.3s linear;
  transition: color 0.3s linear;
}
.social-links li a {
  display: block;
}
.cta-btn {
  height: 56px;
  display: inline-block;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  -ms-flex-direction: row;
  flex-direction: row;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-justify-content: space-between;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -webkit-align-items: stretch;
  -ms-flex-align: stretch;
  align-items: stretch;
  -webkit-align-content: stretch;
  -ms-flex-line-pack: stretch;
  align-content: stretch;
  cursor: pointer;
}
.cta-btn .cta-icon {
  width: 56px;
  background-color: #a231ef;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-justify-content: center;
  -ms-flex-pack: justify;
  justify-content: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-align-content: stretch;
  -ms-flex-line-pack: stretch;
  align-content: stretch;
  -ms-flex-pack: center;
}
.cta-btn .cta-icon .icon {
  color: #032834;
  font-size: 35px;
}
.cta-btn .cta-text {
  background-color: #2f3336;
  padding: 18px 25px;
  font-size: 16px;
  color: #fff;
}
.cta-bar {
  width: 100%;
  height: 120px;
  background-color: #a231ef;
  cursor: pointer;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-justify-content: center;
  -ms-flex-pack: justify;
  justify-content: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-align-content: stretch;
  -ms-flex-line-pack: stretch;
  align-content: stretch;
  -ms-flex-pack: center;
  -webkit-flex-wrap: nowrap;
  -ms-flex-wrap: nowrap;
  flex-wrap: nowrap;
}
.cta-bar .icon {
  font-size: 43px;
  color: #032834;
  margin-right: 16px;
}
.cta-bar p {
  color: #fff;
  font-size: 20px;
}
.cta-bar .cta-items {
  margin-left: -50px;
}
.cta-bar .cta-items > * {
  display: inline-block;
  vertical-align: middle;
}
.retina img {
  opacity: 0;
  visibility: hidden;
}
img {
  opacity: 1;
  visibility: visible;
  -webkit-transition: opacity 0.3s linear;
  -moz-transition: opacity 0.3s linear;
  -o-transition: opacity 0.3s linear;
  transition: opacity 0.3s linear;
}
.title-sidebar {
  position: absolute;
  left: 0;
  top: 0;
  width: 80px;
  height: 100%;
  border-right: 1px solid rgba(3, 40, 52, 0.15);
}
.title-sidebar h3 {
  color: #2f3336;
  opacity: .4;
  position: absolute;
  transform: translateX(-50%) translateY(-50%) rotate(-90deg);
  top: 50%;
  left: 50%;
  font-size: 14px;
}
.dot-nav {
  width: 100%;
  text-align: center;
  font-size: 0px;
}
.dot-nav .dot-btn {
  width: 8px;
  height: 8px;
  border-radius: 8px;
  background-color: #fff;
  opacity: .2;
  display: inline-block;
  vertical-align: middle;
  cursor: pointer;
  -webkit-transition: opacity 0.3s linear;
  -moz-transition: opacity 0.3s linear;
  -o-transition: opacity 0.3s linear;
  transition: opacity 0.3s linear;
}
.dot-nav .dot-btn + .dot-btn {
  margin-left: 15px;
}
.dot-nav .dot-btn.on {
  opacity: 1;
}
/*! - GLOBAL: 1 LOADER */
#loader {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #032834;
  z-index: 62;
}
#loader .load-clip {
  position: absolute;
  left: 0;
  top: 0;
  left: 50%;
  top: 50%;
  width: 303px;
  height: 92px;
  margin: -46px 0 0 -151px;
  transform: translateX(120px);
}
#loader .logo-text {
  width: 208px;
  height: 61px;
  left: 96px;
  top: 17px;
  overflow: hidden;
  width: 0px;
  opacity: 0;
  -webkit-transform: translateZ(0);
  transform: translateZ(0);
}
#loader .logo-text img {
  position: absolute;
  left: 0;
  top: 0;
  width: 208px;
}
#loader .logo-shapes {
  width: 64px;
  opacity: 0;
}
#loader .logo-shapes .shape-part {
  position: absolute;
  left: 0;
  top: 0;
}
#loader .logo-shapes .shape-part.rect {
  width: 25px;
  height: 53px;
  background-color: #fff;
  transform: scaleY(0);
  transform-origin: left top;
}
#loader .logo-shapes .shape-part.circ {
  width: 18px;
  height: 18px;
  border-radius: 18px;
  left: 38px;
  top: 35px;
  background-color: #fff;
  /* .xy(-35px, -20px); opacity: 0; */
  transform: scale(0);
}
#loader .logo-shapes .shape-part.tri {
  width: 0;
  height: 0;
}
#loader .logo-shapes .shape-part.tri[data-num="1"] {
  top: 66px;
  border-top: 25px solid transparent;
  border-right: 25px solid transparent;
  border-left: 25px solid #fff;
  transform: translate(19px, -33.5px);
}
#loader .logo-shapes .shape-part.tri[data-num="2"] {
  left: 13px;
  border-bottom: 25px solid transparent;
  border-left: 25px solid transparent;
  border-right: 25px solid #fff;
  transform: translate(-19.5px, 32.5px);
}
/*! - GLOBAL: 2 HEADER */
#globalHeader {
  position: fixed;
  top: 0;
  left: 0;
  overflow: visible;
  width: 100%;
  z-index: 20;
}
#globalHeader .logo {
  position: absolute;
  left: 38px;
  top: 38px;
  width: 180px;
  cursor: pointer;
  -webkit-clip-path: inset(0 0 0 0);
  clip-path: inset(0 0 0 0);
}
#globalHeader .cta-btn {
  position: absolute;
  transform: translate(-37px, 37px);
  right: 0px;
  top: 0px;
}
#globalHeader .cta-btn .close-btn {
  width: 100%;
  height: 100%;
  position: absolute;
  left: 0;
  top: 0;
  background-color: #a231ef;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-justify-content: center;
  -ms-flex-pack: justify;
  justify-content: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-align-content: stretch;
  -ms-flex-line-pack: stretch;
  align-content: stretch;
  -ms-flex-pack: center;
  visibility: hidden;
  opacity: 0;
  -webkit-transition: all 0.3s linear;
  -moz-transition: all 0.3s linear;
  -o-transition: all 0.3s linear;
  transition: all 0.3s linear;
}
#globalHeader .cta-btn .close-btn .icon {
  color: #fff;
  font-size: 20px;
}
#globalHeader .sticky-bar {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 56px;
  z-index: 0;
  transform: translateY(-100%);
  background-color: #032834;
}
#globalHeader .logo,
#globalHeader .cta-btn,
#globalHeader .sticky-bar {
  -webkit-transition: all 0.5s cubic-bezier(0.5, 0, 0.5, 1);
  -moz-transition: all 0.5s cubic-bezier(0.5, 0, 0.5, 1);
  -o-transition: all 0.5s cubic-bezier(0.5, 0, 0.5, 1);
  transition: all 0.5s cubic-bezier(0.5, 0, 0.5, 1);
}
#globalHeader.sticky .sticky-bar {
  transform: translateY(0%);
}
#globalHeader.sticky .logo {
  -webkit-clip-path: inset(0 130px 0 0);
  clip-path: inset(0 130px 0 0);
  transform: translate(-22px, -24px) scale(0.5);
  transform-origin: left top;
}
#globalHeader.sticky .cta-btn {
  transform: translate(0px, 0px);
}
/*! - GLOBAL: 4 MENU */
#globalMenu {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 30;
}
#globalMenu .menu-btn {
  width: 47px;
  height: 47px;
  background-color: #000;
  border-radius: 7px;
  position: absolute;
  right: 25px;
  top: 25px;
  cursor: pointer;
}
#globalMenu .menu-line {
  width: 20px;
  height: 1px;
  background-color: #fff;
  position: absolute;
  left: 50%;
  margin-left: -10px;
  top: 50%;
  -webkit-transition: all 0.5s cubic-bezier(0.5, 0, 0.5, 1);
  -moz-transition: all 0.5s cubic-bezier(0.5, 0, 0.5, 1);
  -o-transition: all 0.5s cubic-bezier(0.5, 0, 0.5, 1);
  transition: all 0.5s cubic-bezier(0.5, 0, 0.5, 1);
}
#globalMenu .menu-line.top {
  transform: translate3d(0, -10px, 0);
}
#globalMenu .menu-line.mid {
  transform-origin: center center;
}
#globalMenu .menu-line.bot {
  transform: translate3d(0, 10px, 0);
}
#globalMenu.expanded {
  width: 100%;
  height: 100%;
}
#globalMenu.expanded .menu-wrap {
  display: block;
}
#globalMenu.open .menu-line.top {
  transform: rotate(45deg) translate3d(0, 0px, 0);
}
#globalMenu.open .menu-line.mid {
  transform: scaleX(0);
}
#globalMenu.open .menu-line.bot {
  transform: rotate(-45deg) translate3d(0, 0px, 0);
}
#globalMenu .menu-wrap {
  width: 100%;
  height: 100%;
  position: absolute;
  left: 0;
  top: 0;
  z-index: 1;
  opacity: 0;
  display: none;
}
#globalMenu .menu-scroller {
  width: 100%;
  height: 100%;
  position: absolute;
  left: 0;
  top: 0;
  overflow-y: scroll;
  -webkit-overflow-scrolling: touch;
}
/*! - SECTION ***************************** */
/*! - SECTION: 0 HERO */
#hero {
  height: 1450px;
}
#hero .background {
  top: 185px;
  width: 1376px;
  height: 1264px;
}
#hero .background .basic-scaler {
  transform-origin: center top;
}
#hero .background .main {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
}
#hero .background div[class^="level"] {
  position: absolute;
}
#hero .background .level1 .target {
  left: 960px;
  top: 62px;
}
#hero .background .level1 .tri-pattern {
  left: 795px;
  top: 12px;
  width: 189px;
  height: 165px;
  overflow: hidden;
}
#hero .background .level1 .tri-pattern img {
  position: absolute;
  left: 0;
  top: 0;
  width: 404px;
}
#hero .background .level1 .box {
  left: 952px;
  top: 33px;
  width: 185px;
}
#hero .background .level1 .tube {
  width: 70px;
  height: 18px;
  left: 79px;
  top: 50px;
  transform: rotate(-45deg);
}
#hero .background .level1 .tube .ball {
  position: absolute;
  left: 0;
  top: 0;
  width: 18px;
  height: 18px;
  border-radius: 18px;
  background-color: #ffc0d8;
}
#hero .background .level1 .wave {
  left: 285px;
  top: 72px;
  width: 47px;
  height: 6px;
  overflow: hidden;
}
#hero .background .level1 .wave img {
  width: 93px;
}
#hero .background .level1 .dash-lines {
  left: 452px;
  top: 138px;
  width: 60px;
  height: 30px;
  overflow: hidden;
}
#hero .background .level1 .dash-lines .dash-line {
  position: absolute;
  left: 0;
  top: 0;
  width: 144px;
  height: 2px;
}
#hero .background .level1 .dash-lines .dash-line[data-num="2"] {
  top: 10px;
  width: 128px;
}
#hero .background .level1 .dash-lines .dash-line[data-num="3"] {
  top: 21px;
}
#hero .background .level1 .dash-vert {
  left: 990px;
  top: 132px;
  width: 3px;
  height: 43px;
}
#hero .background .level1 .dash-vert img {
  position: absolute;
  left: 0;
  top: 0;
  height: 84px;
  width: 2px;
}
#hero .background .level1 .paths-wrap {
  left: 322px;
  top: 23px;
  width: 283px;
  height: 98px;
}
#hero .background .level1 .data-path[data-num="2"] {
  left: 176px;
  top: 27px;
}
#hero .background .level1 .data-path[data-num="3"] {
  left: 53px;
  top: 56px;
}
#hero .background .level1 .eye-ray {
  width: 95px;
  height: 100px;
  left: 700px;
  top: 33px;
  transform-origin: left center;
}
#hero .background .level2 {
  top: 235px;
}
#hero .background .level2 .logo-tri {
  position: absolute;
  width: 0;
  height: 0;
}
#hero .background .level2 .logo-tri[data-num="1"] {
  left: 397px;
  top: 96px;
  border-bottom: 19px solid transparent;
  border-left: 19px solid transparent;
  border-right: 19px solid #404549;
}
#hero .background .level2 .logo-tri[data-num="2"] {
  left: 578px;
  top: 143px;
  border-top: 19px solid transparent;
  border-right: 19px solid transparent;
  border-left: 19px solid #404549;
}
#hero .background .level2 .dot-grid {
  left: 701px;
  width: 189px;
  height: 165px;
}
#hero .background .level2 .dot-grid .dot-mover {
  width: 7px;
  height: 7px;
  border-radius: 7px;
  position: absolute;
  left: -7px;
  background-color: #ffdb7d;
}
#hero .background .level2 .dot-grid .dot-mover[data-num="1"] {
  top: 34px;
}
#hero .background .level2 .dot-grid .dot-mover[data-num="2"] {
  top: 64px;
}
#hero .background .level2 .dot-grid .dot-mover[data-num="3"] {
  top: 125px;
}
#hero .background .level2 .head {
  width: 190px;
  height: 166px;
  left: 890px;
}
#hero .background .level2 .head .headbg {
  width: 100%;
  height: 100%;
  position: absolute;
  left: 0;
  top: 0;
  background-image: url(../images/parts/level2-headbg@2x.png);
  background-size: 100% auto;
}
#hero .background .level2 .head .headlines {
  width: 100%;
  height: 100%;
  position: absolute;
  left: 0;
  top: 0;
}
#hero .background .level2 .head .headlines img {
  position: absolute;
  left: 0;
  top: 0;
  width: 416px;
  top: 37px;
}
#hero .background .level2 .head .head-part {
  width: 137px;
  left: 31px;
  top: 13px;
}
#hero .background .level2 .head .wave {
  left: 56px;
  top: 52px;
  width: 93px;
  height: 20px;
  overflow: hidden;
}
#hero .background .level2 .head .wave img {
  position: absolute;
  left: 0;
  top: 0;
  width: 196px;
}
#hero .background .level2 .data-path[data-num="1"] {
  left: 340px;
  top: 114px;
}
#hero .background .level2 .data-path[data-num="2"] {
  left: 530px;
  top: 114px;
}
#hero .background .level2 .data-path[data-num="3"] {
  width: 111px;
  left: 990px;
  top: -39px;
}
#hero .background .level3 {
  top: 472px;
}
#hero .background .level3 .bulb-switch {
  width: 6px;
  height: 6px;
  border-radius: 6px;
  background-color: #ffdb7d;
  position: absolute;
  left: 476px;
  top: 160px;
}
#hero .background .level3 .bulb-shapes {
  width: 67px;
  height: 112px;
  border-radius: 32px;
  left: 473px;
  top: 19px;
  overflow: hidden;
  -webkit-transform: translateZ(0);
  transform: translateZ(0);
}
#hero .background .level3 .bulb-part {
  left: 473px;
  top: 15px;
  width: 67px;
}
#hero .background .level3 .bulb-shape {
  position: absolute;
}
#hero .background .level3 .bulb-shape img {
  position: absolute;
  left: 0;
  top: 0;
}
#hero .background .level3 .bulb-shape[data-num="1"] {
  left: 36px;
  top: 12px;
  width: 12px;
}
#hero .background .level3 .bulb-shape[data-num="2"] {
  left: 3px;
  top: 28px;
  width: 15px;
}
#hero .background .level3 .bulb-shape[data-num="3"] {
  left: 39px;
  top: 45px;
  width: 15px;
}
#hero .background .level3 .bulb-shape[data-num="4"] {
  left: 23px;
  top: 62px;
  width: 8px;
}
#hero .background .level3 .bulb-shape[data-num="5"] {
  left: 4px;
  top: 76px;
  width: 18px;
}
#hero .background .level3 .bulb-shape[data-num="6"] {
  left: 50px;
  top: 74px;
  width: 11px;
}
#hero .background .level3 .control-box {
  left: 709px;
  top: 18px;
  width: 171px;
}
#hero .background .level3 .control-box .wave {
  left: 114px;
  top: 17px;
  width: 38px;
  height: 38px;
  border-radius: 38px;
  overflow: hidden;
}
#hero .background .level3 .control-box .wave img {
  width: 120px;
  position: absolute;
  left: 0;
  top: 0;
  top: 15px;
}
#hero .background .level3 .control-box .meter-wrap {
  position: absolute;
  left: 129px;
  top: 77px;
}
#hero .background .level3 .control-box .dial {
  position: absolute;
  left: 0;
  top: 0;
  width: 8px;
  height: 8px;
  border-radius: 8px;
  background-color: #2f3336;
}
#hero .background .level3 .control-box .meter {
  position: absolute;
  left: 3px;
  bottom: -4px;
  width: 2px;
  height: 14px;
  background-color: #ff574a;
  transform-origin: center bottom;
}
#hero .background .level3 .control-box .bar {
  left: 13px;
  top: 111px;
  width: 142px;
  height: 4px;
  background-color: #2f3336;
  overflow: hidden;
}
#hero .background .level3 .control-box .bar img {
  position: absolute;
  left: 0;
  top: 0;
  width: 284px;
}
#hero .background .level3 .bglines {
  top: 45px;
  width: 110px;
}
#hero .background .level3 .bglines > img {
  position: relative;
}
#hero .background .level3 .bglines[data-num="1"] {
  left: 606px;
}
#hero .background .level3 .bglines[data-num="2"] {
  left: 876px;
}
#hero .background .level3 .bglines .block {
  width: 32px;
  position: absolute;
  left: 0;
  top: 0;
  left: -32px;
}
#hero .background .level3 .bglines .block[data-num="2"] {
  top: 24px;
}
#hero .background .level3 .bglines .block[data-num="3"] {
  top: 48px;
}
#hero .background .level3 .ball-drop {
  left: 727px;
  top: 145px;
  width: 137px;
  height: 35px;
}
#hero .background .level3 .data-path {
  z-index: -1;
  background-color: rgba(255, 255, 0, 0.2);
}
#hero .background .level3 .data-path[data-num="1"] {
  width: 76px;
  left: 340px;
  top: -41px;
}
#hero .background .level3 .data-path[data-num="2"] {
  width: 137px;
  left: 395px;
  top: -41px;
}
#hero .background .level4 {
  top: 706px;
}
#hero .background .level4 .grad-cover {
  position: absolute;
  left: 727px;
  top: -39px;
  width: 137px;
  height: 81px;
  opacity: .9;
  background: rgba(236, 0, 140, 0.5);
  background: -webkit-linear-gradient(top, rgba(236, 0, 140, 0.5), rgba(236, 0, 140, 0));
  background: -moz-linear-gradient(top, rgba(236, 0, 140, 0.5), rgba(236, 0, 140, 0));
  background: -o-linear-gradient(top, rgba(236, 0, 140, 0.5), rgba(236, 0, 140, 0));
  background: linear-gradient(top, rgba(236, 0, 140, 0.5), rgba(236, 0, 140, 0));
}
#hero .background .level4 .ball-drop {
  left: 727px;
  top: -39px;
  width: 137px;
  height: 184px;
}
#hero .background .level4 .tubes {
  width: 23px;
  position: absolute;
  left: 745px;
  top: 22px;
}
#hero .background .level4 .tubes.top .tube {
  position: absolute;
  left: 0;
  top: 0;
  width: 23px;
}
#hero .background .level4 .tubes.bot .tube {
  position: absolute;
  left: 0;
  top: 0;
  margin-left: 2px;
  width: 19px;
}
#hero .background .level4 .tubes .tube[data-num="2"] {
  left: 39px;
}
#hero .background .level4 .tubes .tube[data-num="3"] {
  left: 79px;
}
#hero .background .level4 .shape-floats {
  position: absolute;
  left: 0;
  top: 0;
  left: 511px;
}
#hero .background .level4 .shape-float[data-num="1"] {
  left: 72px;
  top: 15px;
  width: 62px;
}
#hero .background .level4 .shape-float[data-num="2"] {
  left: 23px;
  top: 39px;
  width: 37px;
}
#hero .background .level4 .shape-float[data-num="3"] {
  left: 89px;
  top: 73px;
  width: 75px;
}
#hero .background .level4 .shape-float[data-num="4"] {
  left: 6px;
  top: 84px;
  width: 50px;
}
#hero .background .level4 .shape-float[data-num="5"] {
  left: 80px;
  top: 120px;
  width: 38px;
}
#hero .background .level4 .shape-float[data-num="6"] {
  left: 135px;
  top: 130px;
  width: 28px;
}
#hero .background .level4 .wave-wrap {
  position: absolute;
  left: 518px;
  top: 128px;
}
#hero .background .level4 .wave-wrap .poles {
  width: 45px;
  left: 11px;
  top: 11px;
}
#hero .background .level4 .wave-wrap .wave {
  left: 14px;
  top: 11px;
  width: 38px;
  height: 6px;
}
#hero .background .level4 .wave-wrap .wave img {
  position: absolute;
  left: 0;
  top: 0;
  width: 76px;
}
#hero .background .level4 .glower {
  width: 29px;
}
#hero .background .level4 .glower[data-num="2"] {
  left: 38px;
}
#hero .background .level4 .pole {
  width: 7px;
  top: 11px;
}
#hero .background .level4 .pole[data-num="1"] {
  left: 11px;
}
#hero .background .level4 .pole[data-num="2"] {
  left: 42px;
}
#hero .background .level5 {
  top: 936px;
}
#hero .background .level5 .target {
  left: 625px;
  top: 13px;
}
#hero .background .level5 .paper-drop {
  left: 653px;
  top: 131px;
  width: 98px;
  height: 155px;
}
#hero .background .level5 .paper-drop .paper {
  width: 98px;
  top: -126px;
}
#hero .background .level5 .graph {
  left: 702px;
  top: 30px;
  width: 95px;
}
#hero .background .level5 .glowlines {
  left: 702px;
  width: 95px;
}
#hero .background .level5 .data-path {
  z-index: -2;
}
#hero .background .level5 .data-path[data-num="1"] {
  left: 531px;
  top: -40px;
  width: 75px;
}
#hero .background .level5 .data-path[data-num="2"] {
  left: 550px;
  top: -40px;
  width: 57px;
}
/*! - SECTION: 1 ABOUT */
#about {
  padding-top: 156px;
  text-align: center;
  overflow: visible;
  z-index: 2;
}
#about .outerContainer {
  background-color: #fff;
  padding: 0px 100px 115px;
}
#about .txt {
  width: 100%;
  max-width: 800px;
  margin: 0 auto;
}
#about .logo-icon {
  width: 100%;
  max-width: 152px;
  margin: 0 auto;
  margin-top: -1px;
  margin-bottom: 52px;
}
#about .bullseye {
  position: absolute;
  left: 50%;
  top: 0;
  transform: translateX(-50%);
  top: auto;
  bottom: -35px;
  width: 61px;
  z-index: 1;
}
#about .bullseye .bullseye-img {
  position: relative;
  z-index: 2;
  -webkit-transform: translateZ(0);
  transform: translateZ(0);
}
#about .bullseye .line-drop {
  position: absolute;
  left: 50%;
  top: 0;
  transform: translateX(-50%);
  top: 60px;
  width: 2px;
  height: 160px;
  height: 154px;
  background-color: rgba(162, 49, 239, 0.5);
  overflow: hidden;
}
#about .bullseye .line-drop .dash {
  width: 2px;
  height: 308px;
}
/*! - SECTION: 2 APPROACH */
#approach {
  padding-top: 325px;
  padding-bottom: 210px;
}
#approach h2 {
  color: #a231ef;
  margin-bottom: 20px;
}
#approach h3 {
  color: #a231ef;
  margin-bottom: 23px;
}
#approach p {
  color: #fff;
  opacity: .4;
  max-width: 535px;
}
#approach .approach-img {
  width: 100%;
  max-width: 415px;
  display: inline-block;
  position: relative;
}
#approach .approach-img .willScale {
  position: absolute;
  left: 0;
  top: 0;
  width: 415px;
  height: 350px;
  transform-origin: left top;
}
#approach .col.txt {
  width: 50%;
  /* padding-top: 8px; */
}
#approach .col.img {
  width: 42%;
}
#approach .row + .row {
  margin-top: 80px;
}
#approach .row.contents {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  -ms-flex-direction: row;
  flex-direction: row;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-justify-content: space-between;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -webkit-align-items: stretch;
  -ms-flex-align: stretch;
  align-items: stretch;
  -webkit-align-content: stretch;
  -ms-flex-line-pack: stretch;
  align-content: stretch;
}
#approach .row.contents.lt .col.img {
  text-align: right;
}
#approach .row.contents.rt {
  max-width: 1010px;
}
#approach .row.contents.rt .approach-img {
  margin-left: -35px;
}
#approach .row.contents[data-num="0"] .col.txt {
  padding-top: 0px;
}
#approach .row.contents[data-num="0"] .icon {
  margin: 0 0 30px -80px;
}
#approach .row.contents[data-num="0"] h2 {
  color: #fff;
}
#approach .row.contents[data-num="0"] p {
  opacity: 1;
}
#approach .row.contents[data-num="0"] .approach-img {
  margin-top: 210px;
  max-width: 319px;
  margin-right: 30px;
}
#approach .row.contents[data-num="1"] {
  margin-top: 120px;
}
#approach .row.contents[data-num="1"] .wave {
  left: 92px;
  top: 226px;
  width: 47px;
  height: 6px;
  overflow: hidden;
}
#approach .row.contents[data-num="1"] .wave img {
  position: absolute;
  left: 0;
  top: 0;
  width: 93px;
}
#approach .row.contents[data-num="1"] .dash-lines {
  left: 259.5px;
  top: 292px;
  width: 60px;
  height: 30px;
  overflow: hidden;
}
#approach .row.contents[data-num="1"] .dash-lines .dash-line {
  position: absolute;
  left: 0;
  top: 0;
  width: 144px;
  height: 2px;
}
#approach .row.contents[data-num="1"] .dash-lines .dash-line[data-num="2"] {
  top: 10px;
  width: 128px;
}
#approach .row.contents[data-num="1"] .dash-lines .dash-line[data-num="3"] {
  top: 21px;
}
#approach .row.contents[data-num="1"] .bar-graph {
  position: absolute;
}
#approach .row.contents[data-num="1"] .bar-graph .bar {
  position: absolute;
  left: 0;
  top: 0;
  height: 11px;
  transform-origin: left top;
  background-color: #a231ef;
}
#approach .row.contents[data-num="1"] .bar-graph .bar[data-num="1"] {
  width: 17px;
}
#approach .row.contents[data-num="1"] .bar-graph .bar[data-num="2"] {
  top: 16px;
  width: 27px;
}
#approach .row.contents[data-num="1"] .bar-graph .bar[data-num="3"] {
  top: 33px;
  width: 44px;
  background-color: #ffc0d8;
}
#approach .row.contents[data-num="1"] .bar-graph[data-num="1"] {
  left: 64px;
  top: 162px;
}
#approach .row.contents[data-num="1"] .bar-graph[data-num="2"] {
  transform: rotate(-90deg);
  left: 133px;
  top: 326px;
}
#approach .row.contents[data-num="1"] .pie-chart {
  position: absolute;
}
#approach .row.contents[data-num="1"] .pie-chart svg {
  width: 100%;
  height: 100%;
  position: absolute;
  left: 0;
  top: 0;
}
#approach .row.contents[data-num="1"] .pie-chart circle,
#approach .row.contents[data-num="1"] .pie-chart path {
  position: absolute;
  left: 0;
  top: 0;
}
#approach .row.contents[data-num="1"] .pie-chart[data-num="1"] {
  left: 90px;
  top: 102px;
  width: 44px;
  height: 44px;
}
#approach .row.contents[data-num="1"] .pie-chart[data-num="2"] {
  left: 54px;
  top: 282px;
  width: 44px;
  height: 44px;
}
#approach .row.contents[data-num="1"] .data-path[data-num="1"] {
  width: 79px;
  left: 122px;
  top: 48px;
}
#approach .row.contents[data-num="1"] .data-path[data-num="2"] {
  width: 69px;
  left: 132px;
  top: 178px;
}
#approach .row.contents[data-num="1"] .data-path[data-num="3"] {
  width: 200px;
  left: 160px;
  top: 186px;
}
#approach .row.contents[data-num="1"] .data-path[data-num="4"] {
  width: 2px;
  left: 304px;
  top: 180px;
}
#approach .row.contents[data-num="1"] .eye {
  width: 201px;
  left: 193px;
  top: 18px;
}
#approach .row.contents[data-num="1"] .eye .eye-ray {
  width: 95px;
  height: 100px;
  left: 95px;
  top: 40px;
  transform-origin: left center;
}
#approach .row.contents[data-num="2"] {
  margin-top: 55px;
}
#approach .row.contents[data-num="2"] .logo-tri {
  position: absolute;
  width: 0;
  height: 0;
}
#approach .row.contents[data-num="2"] .logo-tri[data-num="1"] {
  left: 140px;
  top: 252px;
  border-bottom: 19px solid transparent;
  border-left: 19px solid transparent;
  border-right: 19px solid #404549;
}
#approach .row.contents[data-num="2"] .logo-tri[data-num="2"] {
  left: 257px;
  top: 300px;
  border-top: 19px solid transparent;
  border-right: 19px solid transparent;
  border-left: 19px solid #404549;
}
#approach .row.contents[data-num="2"] .head {
  width: 379px;
  height: 319px;
  left: 33px;
}
#approach .row.contents[data-num="2"] .head .headbg {
  width: 100%;
  height: 100%;
  position: absolute;
  left: 0;
  top: 0;
  background-image: url(../images/parts/approach2-headbg@2x.png);
  background-size: 100% auto;
}
#approach .row.contents[data-num="2"] .head .headlines {
  width: 100%;
  height: 100%;
  position: absolute;
  left: 0;
  top: 0;
}
#approach .row.contents[data-num="2"] .head .headlines img {
  position: absolute;
  left: 0;
  top: 0;
  top: 23px;
  width: 760px;
}
#approach .row.contents[data-num="2"] .head .head-part {
  width: 189px;
  left: 104px;
  top: 18px;
}
#approach .row.contents[data-num="2"] .head .wave {
  left: 140px;
  top: 73px;
  width: 125px;
  height: 26px;
  overflow: hidden;
}
#approach .row.contents[data-num="2"] .head .wave img {
  position: absolute;
  left: 0;
  top: 0;
  width: 272px;
}
#approach .row.contents[data-num="2"] .boxes {
  width: 230px;
  left: 108px;
  top: 230px;
}
#approach .row.contents[data-num="2"] .data-path[data-num="1"] {
  width: 23px;
  left: 85px;
  top: 268px;
}
#approach .row.contents[data-num="2"] .data-path[data-num="2"] {
  width: 71px;
  left: 319px;
  top: 111px;
}
#approach .row.contents[data-num="3"] .bulb-switch {
  width: 9px;
  height: 9px;
  border-radius: 9px;
  background-color: #ffdb7d;
  position: absolute;
  left: 73px;
  top: 311.5px;
}
#approach .row.contents[data-num="3"] .bulb-shapes {
  width: 108px;
  height: 182px;
  border-radius: 54px;
  left: 69px;
  top: 82px;
  overflow: hidden;
  -webkit-transform: translateZ(0);
  transform: translateZ(0);
}
#approach .row.contents[data-num="3"] .bulb-part {
  left: 69px;
  top: 76px;
  width: 108px;
}
#approach .row.contents[data-num="3"] .bulb-shape {
  position: absolute;
}
#approach .row.contents[data-num="3"] .bulb-shape img {
  position: absolute;
  left: 0;
  top: 0;
}
#approach .row.contents[data-num="3"] .bulb-shape[data-num="1"] {
  left: 58px;
  top: 19px;
  width: 20px;
}
#approach .row.contents[data-num="3"] .bulb-shape[data-num="2"] {
  left: 5px;
  top: 44px;
  width: 24px;
}
#approach .row.contents[data-num="3"] .bulb-shape[data-num="3"] {
  left: 64px;
  top: 72px;
  width: 24px;
}
#approach .row.contents[data-num="3"] .bulb-shape[data-num="4"] {
  left: 37px;
  top: 100px;
  width: 13px;
}
#approach .row.contents[data-num="3"] .bulb-shape[data-num="5"] {
  left: 6px;
  top: 123px;
  width: 28px;
}
#approach .row.contents[data-num="3"] .bulb-shape[data-num="6"] {
  left: 82px;
  top: 120px;
  width: 17px;
}
#approach .row.contents[data-num="3"] .control-box {
  left: 215px;
  top: 18px;
  width: 177px;
}
#approach .row.contents[data-num="3"] .control-box .wave {
  left: 65px;
  top: 111px;
  width: 40px;
  height: 40px;
  border-radius: 40px;
  overflow: hidden;
}
#approach .row.contents[data-num="3"] .control-box .wave img {
  width: 120px;
  position: absolute;
  left: 0;
  top: 0;
  top: 17px;
}
#approach .row.contents[data-num="3"] .control-box .meter-wrap {
  position: absolute;
  top: 127px;
}
#approach .row.contents[data-num="3"] .control-box .meter-wrap[data-num="1"] {
  left: 28px;
}
#approach .row.contents[data-num="3"] .control-box .meter-wrap[data-num="2"] {
  left: 135px;
}
#approach .row.contents[data-num="3"] .control-box .dial {
  position: absolute;
  left: 0;
  top: 0;
  width: 8px;
  height: 8px;
  border-radius: 8px;
  background-color: #2f3336;
}
#approach .row.contents[data-num="3"] .control-box .meter {
  position: absolute;
  left: 3px;
  bottom: -4px;
  width: 2px;
  height: 14px;
  background-color: #ff574a;
  transform-origin: center bottom;
}
#approach .row.contents[data-num="3"] .control-box .bar {
  left: 12px;
  top: 224px;
  width: 146px;
  height: 4px;
  background-color: #2f3336;
  overflow: hidden;
}
#approach .row.contents[data-num="3"] .control-box .bar img {
  position: absolute;
  left: 0;
  top: 0;
  width: 292px;
}
#approach .row.contents[data-num="3"] .box-switch {
  position: absolute;
  left: 0;
  top: 0;
  left: 116px;
  width: 6px;
  height: 6px;
  border-radius: 6px;
  background-color: #ff574a;
}
#approach .row.contents[data-num="3"] .box-switch[data-num="1"] {
  top: 17.5px;
}
#approach .row.contents[data-num="3"] .box-switch[data-num="2"] {
  top: 40px;
}
#approach .row.contents[data-num="3"] .box-switch[data-num="3"] {
  top: 63px;
}
#approach .row.contents[data-num="3"] .box-switch[data-num="4"] {
  top: 86px;
}
#approach .row.contents[data-num="4"] {
  margin-top: 55px;
}
#approach .row.contents[data-num="4"] .grad-cover {
  position: absolute;
  left: 70px;
  width: 137px;
  height: 118px;
  opacity: .9;
  background: rgba(236, 0, 140, 0.5);
  background: -webkit-linear-gradient(top, rgba(236, 0, 140, 0.5), rgba(236, 0, 140, 0));
  background: -moz-linear-gradient(top, rgba(236, 0, 140, 0.5), rgba(236, 0, 140, 0));
  background: -o-linear-gradient(top, rgba(236, 0, 140, 0.5), rgba(236, 0, 140, 0));
  background: linear-gradient(top, rgba(236, 0, 140, 0.5), rgba(236, 0, 140, 0));
}
#approach .row.contents[data-num="4"] .ball-drop {
  left: 70px;
  top: 0px;
  width: 137px;
  height: 288px;
}
#approach .row.contents[data-num="4"] .ball-drop .ball {
  width: 10px;
  height: 10px;
  border-radius: 10px;
  top: -10px;
}
#approach .row.contents[data-num="4"] .ball-drop .ball[data-num="1"] {
  left: 8px;
}
#approach .row.contents[data-num="4"] .ball-drop .ball[data-num="2"] {
  left: 62px;
}
#approach .row.contents[data-num="4"] .ball-drop .ball[data-num="3"] {
  left: 118px;
}
#approach .row.contents[data-num="4"] .tubes {
  position: absolute;
  left: 67px;
  top: 72px;
}
#approach .row.contents[data-num="4"] .tubes .tube {
  position: absolute;
  left: 0;
  top: 0;
  width: 32px;
}
#approach .row.contents[data-num="4"] .tubes .tube[data-num="2"] {
  left: 55px;
}
#approach .row.contents[data-num="4"] .tubes .tube[data-num="3"] {
  left: 111px;
}
#approach .row.contents[data-num="4"] .wave-wrap {
  position: absolute;
  left: 242px;
  top: 229px;
}
#approach .row.contents[data-num="4"] .wave-wrap .poles {
  width: 97px;
  left: 23px;
  top: 23.5px;
}
#approach .row.contents[data-num="4"] .wave-wrap .wave {
  left: 28px;
  top: 25px;
  width: 80px;
  height: 12px;
}
#approach .row.contents[data-num="4"] .wave-wrap .wave img {
  position: absolute;
  left: 0;
  top: 0;
  width: 160px;
}
#approach .row.contents[data-num="4"] .glower {
  width: 60px;
}
#approach .row.contents[data-num="4"] .glower[data-num="2"] {
  left: 83px;
}
#approach .row.contents[data-num="4"] .beaker {
  width: 63px;
}
#approach .row.contents[data-num="4"] .beaker > img {
  position: relative;
  z-index: 2;
}
#approach .row.contents[data-num="4"] .beaker[data-num="1"] {
  left: 240px;
  top: 72px;
}
#approach .row.contents[data-num="4"] .beaker[data-num="2"] {
  left: 321px;
  top: 126px;
}
#approach .row.contents[data-num="4"] .bubbles {
  width: 20px;
  height: 100px;
  top: -43px;
  left: 22px;
}
#approach .row.contents[data-num="4"] .bubbles .bubble {
  position: absolute;
  left: 0;
  top: 0;
  background-color: #ff7d5f;
  transform: translateY(100px);
}
#approach .row.contents[data-num="4"] .bubbles .bubble[data-num="1"] {
  width: 3px;
  height: 3px;
  border-radius: 3px;
  left: 7px;
}
#approach .row.contents[data-num="4"] .bubbles .bubble[data-num="2"] {
  width: 4px;
  height: 4px;
  border-radius: 4px;
  left: 14px;
}
#approach .row.contents[data-num="4"] .bubbles .bubble[data-num="3"] {
  width: 6px;
  height: 6px;
  border-radius: 6px;
  left: 2px;
}
#approach .row.contents[data-num="4"] .bubbles[data-num="2"] .bubble[data-num="1"] {
  width: 6px;
  height: 6px;
  border-radius: 6px;
  left: 7px;
}
#approach .row.contents[data-num="4"] .bubbles[data-num="2"] .bubble[data-num="2"] {
  width: 3px;
  height: 3px;
  border-radius: 3px;
  left: 14px;
}
#approach .row.contents[data-num="4"] .bubbles[data-num="2"] .bubble[data-num="3"] {
  width: 4px;
  height: 4px;
  border-radius: 4px;
  left: 2px;
}
#approach .row.contents[data-num="5"] .target {
  width: 85px;
  left: 69px;
  top: 225px;
}
#approach .row.contents[data-num="5"] .target .bullseye,
#approach .row.contents[data-num="5"] .target .centerbg {
  width: 22px;
  height: 22px;
  border-radius: 22px;
}
#approach .row.contents[data-num="5"] .paper-slide {
  left: 174px;
  width: 237px;
  height: 318px;
}
#approach .row.contents[data-num="5"] .paper {
  width: 69px;
  left: -69px;
}
#approach .row.contents[data-num="5"] .paper[data-num="1"] {
  top: 127px;
}
#approach .row.contents[data-num="5"] .paper[data-num="2"] {
  top: 207px;
  /*108px*/
}
#approach .row.contents[data-num="5"] .bgsq {
  position: absolute;
  left: 71px;
  top: 125px;
  width: 81px;
  height: 80px;
  background-color: #a231ef;
  overflow: hidden;
}
#approach .row.contents[data-num="5"] .graph {
  left: 0px;
  top: 28px;
  width: 81.5px;
}
#approach .row.contents[data-num="5"] .glowlines {
  left: 0px;
  top: 0px;
  width: 81px;
}
#approach .row.contents[data-num="5"] .glower {
  width: 60px;
  left: 84px;
  top: 11px;
}
#approach .row.contents[data-num="5"] .pole {
  width: 14px;
  height: 70px;
  overflow: hidden;
  left: 107px;
  top: 35px;
  z-index: 5;
}
#approach .row.shape .shape-part.sm {
  width: 150px;
}
#approach .row.shape[data-num="0"] {
  height: 268px;
}
#approach .row.shape[data-num="0"] .background {
  width: 650px;
  margin-left: -55px;
}
#approach .row.shape[data-num="0"] .shape-part[data-num="2"] {
  width: 453px;
  left: 200px;
  top: 47px;
}
#approach .row.shape[data-num="1"],
#approach .row.shape[data-num="3"] {
  height: 320px;
  margin-top: 45px;
}
#approach .row.shape[data-num="1"] .background,
#approach .row.shape[data-num="3"] .background {
  width: 616px;
  margin-left: 200px;
}
#approach .row.shape[data-num="1"] .shape-part[data-num="1"],
#approach .row.shape[data-num="3"] .shape-part[data-num="1"] {
  width: 319px;
}
#approach .row.shape[data-num="1"] .shape-part[data-num="2"],
#approach .row.shape[data-num="3"] .shape-part[data-num="2"] {
  left: 485px;
  top: 120px;
}
#approach .row.shape[data-num="1"] .shape-part[data-num="2"] img,
#approach .row.shape[data-num="3"] .shape-part[data-num="2"] img {
  transform: rotate(-90deg);
}
#approach .row.shape[data-num="2"] {
  height: 226px;
  margin-top: 92px;
}
#approach .row.shape[data-num="2"] .background {
  width: 678px;
  margin-left: -30px;
}
#approach .row.shape[data-num="2"] .shape-part[data-num="1"] {
  width: 453px;
}
#approach .row.shape[data-num="2"] .shape-part[data-num="2"] {
  left: 528px;
}
/*! - SECTION: 3 SERVICES */
#services {
  background-color: #a231ef;
  padding-top: 150px;
  padding-bottom: 220px;
  padding-bottom: 412px;
}
#services .icon {
  margin-bottom: 28px;
  position: relative;
}
#services h2 {
  margin-bottom: 23px;
  line-height: 1.25;
}
#services p {
  color: #fff;
  opacity: .4;
}
#services .row {
  margin-top: 80px;
}
#services .col {
  background-color: #032834;
  width: 48.5%;
  max-width: 540px;
  padding: 38px;
}
#services .col.left .icon {
  overflow: hidden;
  position: relative;
}
#services .col.left .icon .base {
  max-width: 138px;
}
#services .col.left .icon .top {
  left: 21px;
  top: -1px;
  width: 95px;
}
#services .col.left .icon .line {
  position: absolute;
  left: 0;
  top: 0;
}
#services .col.left .icon .line.horz {
  width: 138px;
  height: 2px;
  overflow: hidden;
}
#services .col.left .icon .line.horz .move-line {
  width: 12px;
  height: 2px;
}
#services .col.left .icon .line.vert {
  width: 2px;
  height: 205px;
  overflow: hidden;
}
#services .col.left .icon .line.vert .move-line {
  width: 2px;
  height: 12px;
}
#services .col.left .icon .line[data-num="2"] {
  top: 34px;
}
#services .col.left .icon .line[data-num="3"] {
  top: 101px;
}
#services .col.left .icon .line[data-num="4"] {
  top: 169px;
}
#services .col.left .icon .line[data-num="6"] {
  left: 34px;
}
#services .col.left .icon .line[data-num="7"] {
  left: 102px;
}
#services .col.left .icon .line[data-num="8"] {
  left: 136px;
}
#services .col.left .icon .move-line {
  position: absolute;
  left: 0;
  top: 0;
  background-color: #ffdb7d;
}
#services .col.right .icon .base {
  max-width: 179px;
}
#services .col.right .icon .meter-wrap {
  left: 132px;
  top: 100px;
}
#services .col.right .icon .meter-wrap .dial {
  width: 10px;
  height: 10px;
  border-radius: 10px;
  background-color: #032834;
}
#services .col.right .icon .meter-wrap .meter {
  position: absolute;
  left: 4px;
  bottom: -5px;
  height: 21px;
  background-color: #ffdb7d;
}
#services ul {
  list-style: none;
  margin-top: 37px;
}
#services li {
  font-size: 16px;
  line-height: 1.15;
  color: #fff;
  padding: 14px 0 14px 20px;
  border-bottom: solid .03em #a231ef;
  position: relative;
}
#services li:first-child {
  border-top: solid .03em #a231ef;
}
#services li:before {
  content: '';
  width: 8px;
  height: 8px;
  border-radius: 8px;
  background-color: #a231ef;
  position: absolute;
  left: 0;
  top: 0;
  margin-top: 19px;
}
/*! - SECTION: 4 STATS */
#stats {
  margin-top: -192px;
  text-align: center;
}
#stats .outerContainer {
  background-color: #fff;
  overflow: hidden;
}
#stats .txt {
  width: 100%;
  max-width: 800px;
  margin: 0 auto;
}
#stats .logo-icon {
  width: 100%;
  max-width: 152px;
  margin: 0 auto;
  margin-top: -1px;
  margin-bottom: 42px;
}
#stats h2 {
  margin-bottom: 0px;
}
#stats .title-sidebar h3 {
  margin-top: -150px;
}
#stats .stats-boxes-wrap {
  position: relative;
  min-height: 537px;
  padding: 276px 50px 70px;
  margin-top: -17px;
}
#stats .stats-boxes {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  -ms-flex-direction: row;
  flex-direction: row;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-justify-content: space-between;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -webkit-align-items: stretch;
  -ms-flex-align: stretch;
  align-items: stretch;
  -webkit-align-content: stretch;
  -ms-flex-line-pack: stretch;
  align-content: stretch;
}
#stats .stats-boxes h4 {
  font: 300 45px/1.6 'proxima-nova', sans-serif;
  width: 100%;
  padding-bottom: 8px;
  border-bottom: .02em solid #ffdb7d;
  margin-bottom: 24px;
}
#stats .stats-boxes p {
  font-size: 16px;
  line-height: 1.56;
}
#stats .stats-boxes h4,
#stats .stats-boxes p {
  color: #fff;
}
#stats .stats-boxes .stats-box {
  width: 21.5%;
  max-width: 200px;
  padding: 10px 20px 25px;
  text-align: center;
  background-color: #a231ef;
  position: relative;
}
#stats .stats-boxes .stats-box:before {
  content: '';
  position: absolute;
  width: 100%;
  height: 6px;
  left: 0px;
  top: -6px;
  background-color: #ffc0d8;
  transform: skewX(-60deg);
  transform-origin: right bottom;
}
#stats .stats-boxes .stats-box:after {
  content: '';
  position: absolute;
  width: 11px;
  height: 100%;
  right: -11px;
  top: 0px;
  background-color: #ffdb7d;
  transform: skewY(-30deg);
  transform-origin: left top;
}
#stats .stats-bg {
  position: absolute;
  left: 50%;
  top: 0;
  transform: translateX(-50%);
  top: 1px;
  width: 1463px;
  height: 100%;
}
#stats .stats-bg .masked-wrap {
  width: 100%;
  height: 537px;
  -webkit-transform: translateZ(0);
  transform: translateZ(0);
  clip-path: url("#statsbg-mask1");
  -webkit-clip-path: url("#statsbg-mask1");
}
#stats .stats-bg #stats-pattern1 {
  position: absolute;
  left: 0;
  top: 0;
  left: -200px;
  top: 5px;
  width: 1863px;
  height: 100%;
  background: url(../images/stats-pattern@2x.jpg) center top;
  background-size: 514px auto;
}
/*! - SECTION: 5 PARTNERS */
#partners,
#featured {
  padding-top: 255px;
  text-align: center;
}
#partners .partner-grid,
#featured .partner-grid {
  margin-top: 60px;
}
#partners .partner-box,
#featured .partner-box {
  width: 23.5%;
  max-width: 175px;
  height: 210px;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-justify-content: center;
  -ms-flex-pack: justify;
  justify-content: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-align-content: stretch;
  -ms-flex-line-pack: stretch;
  align-content: stretch;
  -ms-flex-pack: center;
}
#partners .partner-box:nth-child(n+5),
#featured .partner-box:nth-child(n+5) {
  margin-top: 50px;
}
#partners .partner-box.filler,
#featured .partner-box.filler {
  height: 0;
  margin: 0;
}
#partners .partner-box img,
#featured .partner-box img {
  display: block;
}
/*! - SECTION: 6 NEWS */
#news {
  padding-top: 150px;
}
#news .news-box {
  /* 		width: 31.5%; max-width: 377px; */
  background-color: #2f3336;
  position: relative;
}
#news .news-box .news-txt {
  padding: 25px 30px 30px;
}
#news .news-box p {
  color: #fff;
  line-height: 1.7;
}
#news .news-box p.sm {
  opacity: .4;
  line-height: 1.81;
  margin-top: 10px;
}
#news .news-box a {
  width: 100%;
  height: 100%;
  position: absolute;
  left: 0;
  top: 0;
}
#news .news-slider {
  position: relative;
  min-height: 594px;
}
#news .news-slider .news-slides {
  position: absolute;
  left: 0;
  top: 0;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  -ms-flex-direction: row;
  flex-direction: row;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-justify-content: space-between;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -webkit-align-items: stretch;
  -ms-flex-align: stretch;
  align-items: stretch;
  -webkit-align-content: stretch;
  -ms-flex-line-pack: stretch;
  align-content: stretch;
  -webkit-flex-wrap: nowrap;
  -ms-flex-wrap: nowrap;
  flex-wrap: nowrap;
  width: 2025px;
}
#news .news-slider .news-box {
  width: 377px;
  position: relative;
}
#news .slide-controls {
  margin-top: 35px;
}
#news .slide-controls .arrow-btn {
  width: 23px;
  display: inline-block;
  vertical-align: middle;
  cursor: pointer;
  -webkit-transition: opacity 0.3s linear;
  -moz-transition: opacity 0.3s linear;
  -o-transition: opacity 0.3s linear;
  transition: opacity 0.3s linear;
}
#news .slide-controls .arrow-btn.off {
  opacity: .15;
  pointer-events: none;
}
#news .slide-controls .arrow-btn + .arrow-btn {
  margin-left: 60px;
}
#news .slide-controls .arrow-btn.left img {
  transform: scaleX(-1);
}
/*! - SECTION: 7 FOOTER */
#footer {
  padding-left: 0px;
  padding-right: 0px;
  padding-top: 225px;
  text-align: center;
}
#footer h3 {
  font-size: 47px;
  font-weight: 600;
  letter-spacing: .38em;
  margin-bottom: 25px;
}
#footer p {
  color: #fff;
}
#footer a {
  color: #fff;
  opacity: .4;
}
#footer .txt {
  position: relative;
  margin-top: 45px;
}
#footer .estd {
  display: inline-block;
  margin-top: 32px;
}
#footer .footer-bg {
  position: relative;
  width: 100%;
  height: 725px;
}
#footer .cta-bar {
  /* margin-top: 105px; */
  margin-top: 50px;
}
#footer .privacy {
  text-align: left;
  margin-top: 50px;
  padding-left: 50px;
  padding-right: 50px;
  max-width: 1300px;
}
#footer .background {
  width: 1664px;
}
#footer .background .footer-shapes {
  width: 1664px;
}
#footer .background .footer-curvetext {
  width: 380px;
  left: 644px;
  top: 334px;
}
#footer .background .footer-headbg {
  width: 776px;
  position: absolute;
  left: 50%;
  top: 0;
  transform: translateX(-50%);
  top: 190px;
}
#footer .background .head {
  width: 450px;
  height: 390px;
  left: 610px;
  top: 340px;
}
#footer .background .head .headlines {
  width: 100%;
  height: 100%;
  position: absolute;
  left: 0;
  top: 0;
  top: 130px;
  height: 240px;
}
#footer .background .head .headlines img {
  position: absolute;
  left: 0;
  top: 0;
  top: 0px;
  width: 830px;
}
#footer .background .head .head-part {
  width: 353px;
  left: 44px;
  top: 60px;
}
#footer .background .head .wave {
  left: 135px;
  top: 172px;
  width: 174px;
  height: 50px;
  overflow: hidden;
}
#footer .background .head .wave img {
  position: absolute;
  left: 0;
  top: 0;
  width: 364px;
}
/*! - SECTION: 8 GENERIC */
#generic #main {
  padding-top: 190px;
  padding-bottom: 100px;
  color: #fff;
}
#generic #main .contentContainer {
  max-width: 1025px;
}
#generic #main h1 {
  font: 300 45px/1 'proxima-nova', sans-serif;
  margin-bottom: 30px;
}
#generic #main h2 {
  font-size: 20px;
  line-height: 1.95;
  font-weight: 700;
  margin-bottom: 0px;
}
#generic #main ul {
  padding-left: 20px;
}
#generic #main li {
  font: 400 20px/1.95 'proxima-nova', sans-serif;
}
#generic #main p + *,
#generic #main * + p {
  margin-top: 25px;
}
#generic #main h2 + p {
  margin-top: 0px;
}
#generic #main a {
  color: #fff;
}
/*! - GLOBAL: 5 FORM */
#contact-overlay .contentContainer {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-justify-content: center;
  -ms-flex-pack: justify;
  justify-content: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-align-content: stretch;
  -ms-flex-line-pack: stretch;
  align-content: stretch;
  -ms-flex-pack: center;
  height: auto;
  min-height: 100%;
  max-width: 770px;
}
#contact-overlay .contact-form {
  position: relative;
  background-color: #fff;
  width: 100%;
}
#contact-overlay .logo-icon {
  width: 62px;
  display: block;
  margin: -1px auto 45px;
}
#contact-overlay .form-wrap {
  width: 100%;
  max-width: 530px;
  margin: 0 auto;
  padding-bottom: 180px;
}
#contact-overlay .form-wrap p.intro {
  font-size: 20px;
  margin-bottom: 23px;
}
#contact-overlay .close-btn {
  position: absolute;
  right: -56px;
  top: -56px;
  width: 56px;
  height: 56px;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-justify-content: center;
  -ms-flex-pack: justify;
  justify-content: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-align-content: stretch;
  -ms-flex-line-pack: stretch;
  align-content: stretch;
  -ms-flex-pack: center;
  background-color: #a231ef;
  cursor: pointer;
}
#contact-overlay .close-btn .icon {
  color: #fff;
  font-size: 16px;
}
#contact-overlay form input:-webkit-autofill,
#contact-overlay form input:-webkit-autofill:hover,
#contact-overlay form input:-webkit-autofill:focus,
#contact-overlay form input:-webkit-autofill:active {
  -webkit-box-shadow: 0 0 0 1000px #fff inset;
  -webkit-text-fill-color: #032834;
}
#contact-overlay input,
#contact-overlay textarea {
  font-size: 16px;
  color: #032834;
}
#contact-overlay .field-wrap {
  border-bottom: 1px solid #032834;
  width: 100%;
  padding: 10px 0;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  -ms-flex-direction: row;
  flex-direction: row;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-justify-content: space-between;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -webkit-align-items: stretch;
  -ms-flex-align: stretch;
  align-items: stretch;
  -webkit-align-content: stretch;
  -ms-flex-line-pack: stretch;
  align-content: stretch;
  -webkit-transition: border-color 0.3s linear;
  -moz-transition: border-color 0.3s linear;
  -o-transition: border-color 0.3s linear;
  transition: border-color 0.3s linear;
}
#contact-overlay .field-wrap label {
  width: 70px;
  -webkit-flex-shrink: 0;
  -ms-flex: -1;
  flex-shrink: 0;
  margin-top: 2px;
  -webkit-transition: color 0.3s linear;
  -moz-transition: color 0.3s linear;
  -o-transition: color 0.3s linear;
  transition: color 0.3s linear;
}
#contact-overlay .field-wrap input {
  display: block;
  -webkit-flex-grow: 1;
  -ms-flex: 1;
  flex-grow: 1;
}
#contact-overlay .field-wrap + .field-wrap {
  margin-top: 22px;
}
#contact-overlay .field-wrap.error {
  border-color: #a231ef;
}
#contact-overlay .field-wrap.error label {
  color: #a231ef;
}
#contact-overlay label {
  font-size: 16px;
}
#contact-overlay label[for="cf-message"] {
  display: block;
  margin: 36px 0 12px;
}
#contact-overlay .ta-wrap {
  background-color: rgba(0, 41, 53, 0.05);
  width: 100%;
  height: 110px;
  padding: 15px;
}
#contact-overlay .ta-wrap textarea {
  width: 100%;
  height: 100%;
  line-height: 1.5;
  background: none;
  border: none;
}
#contact-overlay button[type="submit"] {
  position: absolute;
  left: 0px;
  bottom: 0px;
  width: 100%;
  height: 122px;
}
#contact-overlay .thank-you {
  width: 100%;
  height: 100%;
  position: absolute;
  left: 0;
  top: 0;
  background-color: #fff;
  opacity: 0;
  display: none;
}
#contact-overlay .thank-you .txt {
  width: 100%;
  height: 100%;
  position: absolute;
  left: 0;
  top: 0;
  text-align: center;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-justify-content: center;
  -ms-flex-pack: justify;
  justify-content: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-align-content: stretch;
  -ms-flex-line-pack: stretch;
  align-content: stretch;
  -ms-flex-pack: center;
  padding: 25px;
  opacity: 1;
}
#contact-overlay .thank-you .logo-icon {
  margin-bottom: 40px;
}
#contact-overlay .thank-you p {
  font-size: 20px;
}
#contact-overlay .thank-you p + p {
  margin-top: 15px;
}
/*! - GLOBAL: 6 HOVERS */
@media screen and (min-width: 1025px) {
  a {
    -webkit-transition: all 0.3s linear;
    -moz-transition: all 0.3s linear;
    -o-transition: all 0.3s linear;
    transition: all 0.3s linear;
  }
  .cta-btn .cta-text {
    -webkit-transition: background-color 0.3s linear;
    -moz-transition: background-color 0.3s linear;
    -o-transition: background-color 0.3s linear;
    transition: background-color 0.3s linear;
  }
  .cta-btn:hover > .cta-text {
    background-color: #a231ef;
  }
  #news .news-box {
    -webkit-transition: transform 0.3s ease-out;
    -moz-transition: transform 0.3s ease-out;
    -o-transition: transform 0.3s ease-out;
    transition: transform 0.3s ease-out;
    transform: translateY(0px);
  }
  #news .news-box:hover {
    transform: translateY(-30px);
  }
  #contact-overlay .close-btn {
    -webkit-transition: background-color 0.3s linear;
    -moz-transition: background-color 0.3s linear;
    -o-transition: background-color 0.3s linear;
    transition: background-color 0.3s linear;
  }
  #contact-overlay .close-btn:hover {
    background-color: #2f3336;
  }
  #partners .partner-box {
    -webkit-transition: opacity 0.3s linear;
    -moz-transition: opacity 0.3s linear;
    -o-transition: opacity 0.3s linear;
    transition: opacity 0.3s linear;
  }
  #partners .partner-box:hover {
    opacity: .6;
  }
  #footer a:hover {
    opacity: 1;
  }
}
/*! - ANIMATIONS ***************************** */
/*! - ANIM: 0 ACTIVATION */
#hero.on .level1 .wave img {
  -webkit-animation: horzScroll infinite 3s linear;
  -moz-animation: horzScroll infinite 3s linear;
  animation: horzScroll infinite 3s linear;
  animation-fill-mode: forwards;
  animation-duration: 5s;
}
#hero.on .level1 .tri-pattern img {
  -webkit-animation: horzScroll infinite 3s linear;
  -moz-animation: horzScroll infinite 3s linear;
  animation: horzScroll infinite 3s linear;
  animation-fill-mode: forwards;
  animation-duration: 8s;
}
#hero.on .level1 .bullseye {
  -webkit-animation: blinker infinite 2s linear;
  -moz-animation: blinker infinite 2s linear;
  animation: blinker infinite 2s linear;
  animation-fill-mode: forwards;
}
#hero.on .level1 .dash-line {
  -webkit-animation: horzScroll infinite 3s linear;
  -moz-animation: horzScroll infinite 3s linear;
  animation: horzScroll infinite 3s linear;
  animation-fill-mode: forwards;
}
#hero.on .level1 .dash-line[data-num="1"] {
  animation-duration: 3.75s;
}
#hero.on .level1 .dash-line[data-num="2"] {
  animation-duration: 4.5s;
  animation-delay: -1s;
}
#hero.on .level1 .dash-line[data-num="3"] {
  animation-duration: 3.25s;
}
#hero.on .level1 .dash-vert img {
  -webkit-animation: vertScroll infinite 3s linear;
  -moz-animation: vertScroll infinite 3s linear;
  animation: vertScroll infinite 3s linear;
  animation-fill-mode: forwards;
}
#hero.on .level1 .tube .ball {
  -webkit-animation: ballSlider infinite 6s cubic-bezier(0.5, 0, 0.5, 1);
  -moz-animation: ballSlider infinite 6s cubic-bezier(0.5, 0, 0.5, 1);
  animation: ballSlider infinite 6s cubic-bezier(0.5, 0, 0.5, 1);
  animation-fill-mode: forwards;
}
#hero.on .level1 .tube .ball[data-num="2"] {
  animation-delay: -3s;
}
#hero.on .level1 .eye-ray {
  -webkit-animation: eyeRadar infinite 5s linear;
  -moz-animation: eyeRadar infinite 5s linear;
  animation: eyeRadar infinite 5s linear;
  animation-fill-mode: forwards;
}
#hero.on .level2 .wave img {
  -webkit-animation: horzScroll infinite 3s linear;
  -moz-animation: horzScroll infinite 3s linear;
  animation: horzScroll infinite 3s linear;
  animation-fill-mode: forwards;
  animation-duration: 5s;
  animation-direction: reverse;
}
#hero.on .level2 .headlines img {
  -webkit-animation: horzScroll infinite 3s linear;
  -moz-animation: horzScroll infinite 3s linear;
  animation: horzScroll infinite 3s linear;
  animation-fill-mode: forwards;
  animation-duration: 10s;
  animation-direction: reverse;
}
#hero.on .level2 .dot-mover[data-num="1"] {
  -webkit-animation: dotGrid1 infinite 6s linear;
  -moz-animation: dotGrid1 infinite 6s linear;
  animation: dotGrid1 infinite 6s linear;
  animation-fill-mode: forwards;
  animation-direction: reverse;
}
#hero.on .level2 .dot-mover[data-num="2"] {
  -webkit-animation: dotGrid2 infinite 6s linear;
  -moz-animation: dotGrid2 infinite 6s linear;
  animation: dotGrid2 infinite 6s linear;
  animation-fill-mode: forwards;
  animation-delay: -3s;
  animation-direction: reverse;
}
#hero.on .level2 .dot-mover[data-num="3"] {
  -webkit-animation: dotGrid3 infinite 6s linear;
  -moz-animation: dotGrid3 infinite 6s linear;
  animation: dotGrid3 infinite 6s linear;
  animation-fill-mode: forwards;
  animation-delay: -4.5s;
  animation-direction: reverse;
}
#hero.on .level2 .logo-tri[data-num="1"] {
  -webkit-animation: flashPurple1 infinite 5s linear;
  -moz-animation: flashPurple1 infinite 5s linear;
  animation: flashPurple1 infinite 5s linear;
  animation-fill-mode: forwards;
}
#hero.on .level2 .logo-tri[data-num="2"] {
  -webkit-animation: flashPurple2 infinite 5s linear;
  -moz-animation: flashPurple2 infinite 5s linear;
  animation: flashPurple2 infinite 5s linear;
  animation-fill-mode: forwards;
  animation-delay: -1.5s;
}
#hero.on .level3 .bulb-switch {
  -webkit-animation: switchSlider infinite 6s cubic-bezier(0.5, 0, 0.5, 1);
  -moz-animation: switchSlider infinite 6s cubic-bezier(0.5, 0, 0.5, 1);
  animation: switchSlider infinite 6s cubic-bezier(0.5, 0, 0.5, 1);
  animation-fill-mode: forwards;
}
#hero.on .level3 .bulb-shape.xmov {
  -webkit-animation: floatX infinite 6s ease-in-out;
  -moz-animation: floatX infinite 6s ease-in-out;
  animation: floatX infinite 6s ease-in-out;
  animation-fill-mode: forwards;
}
#hero.on .level3 .bulb-shape .ymov {
  -webkit-animation: floatY infinite 10s ease-in-out;
  -moz-animation: floatY infinite 10s ease-in-out;
  animation: floatY infinite 10s ease-in-out;
  animation-fill-mode: forwards;
}
#hero.on .level3 .bulb-shape[data-num="2"].xmov {
  animation-delay: -3s;
}
#hero.on .level3 .bulb-shape[data-num="2"] .ymov {
  animation-delay: -8s;
}
#hero.on .level3 .bulb-shape[data-num="3"].xmov {
  animation-delay: -5s;
}
#hero.on .level3 .bulb-shape[data-num="3"] .ymov {
  animation-delay: -2s;
}
#hero.on .level3 .bulb-shape[data-num="4"].xmov {
  animation-delay: -2s;
}
#hero.on .level3 .bulb-shape[data-num="4"] .ymov {
  animation-delay: -7s;
}
#hero.on .level3 .bulb-shape[data-num="5"].xmov {
  animation-delay: -1s;
}
#hero.on .level3 .bulb-shape[data-num="5"] .ymov {
  animation-delay: -4s;
}
#hero.on .level3 .bulb-shape[data-num="6"].xmov {
  animation-delay: -4s;
}
#hero.on .level3 .bulb-shape[data-num="6"] .ymov {
  animation-delay: -6s;
}
#hero.on .level3 .wave img {
  -webkit-animation: horzScroll infinite 3s linear;
  -moz-animation: horzScroll infinite 3s linear;
  animation: horzScroll infinite 3s linear;
  animation-fill-mode: forwards;
  animation-duration: 5s;
}
#hero.on .level3 .meter {
  -webkit-animation: meterMove infinite 6s ease-in-out;
  -moz-animation: meterMove infinite 6s ease-in-out;
  animation: meterMove infinite 6s ease-in-out;
  animation-fill-mode: forwards;
}
#hero.on .level3 .bar img {
  -webkit-animation: horzScroll infinite 3s linear;
  -moz-animation: horzScroll infinite 3s linear;
  animation: horzScroll infinite 3s linear;
  animation-fill-mode: forwards;
  animation-duration: 7s;
  animation-direction: reverse;
}
#hero.on .level3 .bglines[data-num="1"] .block {
  -webkit-animation: blockMover infinite 3s linear;
  -moz-animation: blockMover infinite 3s linear;
  animation: blockMover infinite 3s linear;
  animation-fill-mode: forwards;
}
#hero.on .level3 .bglines[data-num="1"] .block[data-num="2"] {
  animation-delay: -1s;
}
#hero.on .level3 .bglines[data-num="1"] .block[data-num="3"] {
  animation-delay: -2s;
}
#hero.on .level3 .bglines[data-num="2"] .block {
  -webkit-animation: blockMover infinite 3s linear;
  -moz-animation: blockMover infinite 3s linear;
  animation: blockMover infinite 3s linear;
  animation-fill-mode: forwards;
}
#hero.on .level3 .bglines[data-num="2"] .block[data-num="1"] {
  animation-delay: -2s;
}
#hero.on .level3 .bglines[data-num="2"] .block[data-num="2"] {
  animation-delay: -0.75s;
}
#hero.on .level3 .bglines[data-num="2"] .block[data-num="3"] {
  animation-delay: -1.8s;
}
#hero.on .level3 .ball {
  -webkit-animation: ballDropper1 infinite 6.5s ease-in-out;
  -moz-animation: ballDropper1 infinite 6.5s ease-in-out;
  animation: ballDropper1 infinite 6.5s ease-in-out;
  animation-fill-mode: forwards;
}
#hero.on .level3 .ball[data-num="1"] {
  animation-delay: -2.25s;
}
#hero.on .level3 .ball[data-num="2"] {
  animation-delay: 0s;
}
#hero.on .level3 .ball[data-num="3"] {
  animation-delay: -4.5s;
}
#hero.on .level4 .glower {
  -webkit-animation: pulser infinite 4s ease-in-out;
  -moz-animation: pulser infinite 4s ease-in-out;
  animation: pulser infinite 4s ease-in-out;
  animation-fill-mode: forwards;
}
#hero.on .level4 .glower[data-num="2"] {
  animation-delay: -1s;
}
#hero.on .level4 .wave img {
  -webkit-animation: horzScroll infinite 3s linear;
  -moz-animation: horzScroll infinite 3s linear;
  animation: horzScroll infinite 3s linear;
  animation-fill-mode: forwards;
  animation-duration: 3s;
}
#hero.on .level4 .shape-float[data-num="1"] {
  -webkit-animation: shapeSlide3 infinite 8s ease-in-out;
  -moz-animation: shapeSlide3 infinite 8s ease-in-out;
  animation: shapeSlide3 infinite 8s ease-in-out;
  animation-fill-mode: forwards;
}
#hero.on .level4 .shape-float[data-num="2"] {
  -webkit-animation: shapeSlide2 infinite 6s ease-in-out;
  -moz-animation: shapeSlide2 infinite 6s ease-in-out;
  animation: shapeSlide2 infinite 6s ease-in-out;
  animation-fill-mode: forwards;
  animation-delay: -2s;
}
#hero.on .level4 .shape-float[data-num="3"] {
  -webkit-animation: shapeSlide2 infinite 6s ease-in-out;
  -moz-animation: shapeSlide2 infinite 6s ease-in-out;
  animation: shapeSlide2 infinite 6s ease-in-out;
  animation-fill-mode: forwards;
  animation-delay: -1s;
}
#hero.on .level4 .shape-float[data-num="4"] {
  -webkit-animation: shapeSlide1 infinite 6s ease-in-out;
  -moz-animation: shapeSlide1 infinite 6s ease-in-out;
  animation: shapeSlide1 infinite 6s ease-in-out;
  animation-fill-mode: forwards;
  animation-delay: -3s;
}
#hero.on .level4 .shape-float[data-num="5"] {
  -webkit-animation: shapeSlide1 infinite 6s ease-in-out;
  -moz-animation: shapeSlide1 infinite 6s ease-in-out;
  animation: shapeSlide1 infinite 6s ease-in-out;
  animation-fill-mode: forwards;
  animation-delay: -1.5s;
}
#hero.on .level4 .shape-float[data-num="6"] {
  -webkit-animation: shapeSlide2 infinite 6s ease-in-out;
  -moz-animation: shapeSlide2 infinite 6s ease-in-out;
  animation: shapeSlide2 infinite 6s ease-in-out;
  animation-fill-mode: forwards;
  animation-delay: 0s;
}
#hero.on .level4 .ball {
  -webkit-animation: ballDropper2 infinite 6.5s linear;
  -moz-animation: ballDropper2 infinite 6.5s linear;
  animation: ballDropper2 infinite 6.5s linear;
  animation-fill-mode: forwards;
}
#hero.on .level4 .ball[data-num="1"] {
  animation-delay: 0s;
}
#hero.on .level4 .ball[data-num="2"] {
  animation-delay: -4.5s;
}
#hero.on .level4 .ball[data-num="3"] {
  animation-delay: -2.25s;
}
#hero.on .level5 .bullseye {
  -webkit-animation: blinker infinite 2s linear;
  -moz-animation: blinker infinite 2s linear;
  animation: blinker infinite 2s linear;
  animation-fill-mode: forwards;
}
#hero.on .level5 .glowlines {
  -webkit-animation: graphGlow infinite 4s linear;
  -moz-animation: graphGlow infinite 4s linear;
  animation: graphGlow infinite 4s linear;
  animation-fill-mode: forwards;
  transform-origin: center bottom;
}
#hero.on .level5 .paper {
  -webkit-animation: paperDropper infinite 6s ease-in-out;
  -moz-animation: paperDropper infinite 6s ease-in-out;
  animation: paperDropper infinite 6s ease-in-out;
  animation-fill-mode: forwards;
}
#about.on .dash {
  -webkit-animation: vertScroll infinite 3s linear;
  -moz-animation: vertScroll infinite 3s linear;
  animation: vertScroll infinite 3s linear;
  animation-fill-mode: forwards;
}
#approach .contents[data-num="1"].on .wave img {
  -webkit-animation: horzScroll infinite 3s linear;
  -moz-animation: horzScroll infinite 3s linear;
  animation: horzScroll infinite 3s linear;
  animation-fill-mode: forwards;
  animation-duration: 5s;
}
#approach .contents[data-num="1"].on .dash-line {
  -webkit-animation: horzScroll infinite 3s linear;
  -moz-animation: horzScroll infinite 3s linear;
  animation: horzScroll infinite 3s linear;
  animation-fill-mode: forwards;
}
#approach .contents[data-num="1"].on .dash-line[data-num="1"] {
  animation-duration: 3.75s;
}
#approach .contents[data-num="1"].on .dash-line[data-num="2"] {
  animation-duration: 4.5s;
  animation-delay: -1s;
}
#approach .contents[data-num="1"].on .dash-line[data-num="3"] {
  animation-duration: 3.25s;
}
#approach .contents[data-num="1"].on .eye-ray {
  -webkit-animation: eyeRadar infinite 5s linear;
  -moz-animation: eyeRadar infinite 5s linear;
  animation: eyeRadar infinite 5s linear;
  animation-fill-mode: forwards;
}
#approach .contents[data-num="2"].on .wave img {
  -webkit-animation: horzScroll infinite 3s linear;
  -moz-animation: horzScroll infinite 3s linear;
  animation: horzScroll infinite 3s linear;
  animation-fill-mode: forwards;
  animation-duration: 5s;
  animation-direction: reverse;
}
#approach .contents[data-num="2"].on .headlines img {
  -webkit-animation: horzScroll infinite 3s linear;
  -moz-animation: horzScroll infinite 3s linear;
  animation: horzScroll infinite 3s linear;
  animation-fill-mode: forwards;
  animation-duration: 14s;
  animation-direction: reverse;
}
#approach .contents[data-num="2"].on .logo-tri[data-num="1"] {
  -webkit-animation: flashPurple1 infinite 5s linear;
  -moz-animation: flashPurple1 infinite 5s linear;
  animation: flashPurple1 infinite 5s linear;
  animation-fill-mode: forwards;
}
#approach .contents[data-num="2"].on .logo-tri[data-num="2"] {
  -webkit-animation: flashPurple2 infinite 5s linear;
  -moz-animation: flashPurple2 infinite 5s linear;
  animation: flashPurple2 infinite 5s linear;
  animation-fill-mode: forwards;
  animation-delay: -1.5s;
}
#approach .contents[data-num="3"].on .bulb-switch {
  -webkit-animation: switchSlider2 infinite 6s cubic-bezier(0.5, 0, 0.5, 1);
  -moz-animation: switchSlider2 infinite 6s cubic-bezier(0.5, 0, 0.5, 1);
  animation: switchSlider2 infinite 6s cubic-bezier(0.5, 0, 0.5, 1);
  animation-fill-mode: forwards;
}
#approach .contents[data-num="3"].on .bulb-shape.xmov {
  -webkit-animation: floatX infinite 6s ease-in-out;
  -moz-animation: floatX infinite 6s ease-in-out;
  animation: floatX infinite 6s ease-in-out;
  animation-fill-mode: forwards;
}
#approach .contents[data-num="3"].on .bulb-shape .ymov {
  -webkit-animation: floatY infinite 10s ease-in-out;
  -moz-animation: floatY infinite 10s ease-in-out;
  animation: floatY infinite 10s ease-in-out;
  animation-fill-mode: forwards;
}
#approach .contents[data-num="3"].on .bulb-shape[data-num="2"].xmov {
  animation-delay: -3s;
}
#approach .contents[data-num="3"].on .bulb-shape[data-num="2"] .ymov {
  animation-delay: -8s;
}
#approach .contents[data-num="3"].on .bulb-shape[data-num="3"].xmov {
  animation-delay: -5s;
}
#approach .contents[data-num="3"].on .bulb-shape[data-num="3"] .ymov {
  animation-delay: -2s;
}
#approach .contents[data-num="3"].on .bulb-shape[data-num="4"].xmov {
  animation-delay: -2s;
}
#approach .contents[data-num="3"].on .bulb-shape[data-num="4"] .ymov {
  animation-delay: -7s;
}
#approach .contents[data-num="3"].on .bulb-shape[data-num="5"].xmov {
  animation-delay: -1s;
}
#approach .contents[data-num="3"].on .bulb-shape[data-num="5"] .ymov {
  animation-delay: -4s;
}
#approach .contents[data-num="3"].on .bulb-shape[data-num="6"].xmov {
  animation-delay: -4s;
}
#approach .contents[data-num="3"].on .bulb-shape[data-num="6"] .ymov {
  animation-delay: -6s;
}
#approach .contents[data-num="3"].on .wave img {
  -webkit-animation: horzScroll infinite 3s linear;
  -moz-animation: horzScroll infinite 3s linear;
  animation: horzScroll infinite 3s linear;
  animation-fill-mode: forwards;
  animation-duration: 5s;
}
#approach .contents[data-num="3"].on .meter {
  -webkit-animation: meterMove infinite 6s ease-in-out;
  -moz-animation: meterMove infinite 6s ease-in-out;
  animation: meterMove infinite 6s ease-in-out;
  animation-fill-mode: forwards;
}
#approach .contents[data-num="3"].on .meter-wrap[data-num="2"] .meter {
  animation-delay: -1s;
}
#approach .contents[data-num="3"].on .bar img {
  -webkit-animation: horzScroll infinite 3s linear;
  -moz-animation: horzScroll infinite 3s linear;
  animation: horzScroll infinite 3s linear;
  animation-fill-mode: forwards;
  animation-duration: 7s;
  animation-direction: reverse;
}
#approach .contents[data-num="3"].on .box-switch {
  -webkit-animation: switchSlider3 infinite 5s cubic-bezier(0.5, 0, 0.5, 1);
  -moz-animation: switchSlider3 infinite 5s cubic-bezier(0.5, 0, 0.5, 1);
  animation: switchSlider3 infinite 5s cubic-bezier(0.5, 0, 0.5, 1);
  animation-fill-mode: forwards;
}
#approach .contents[data-num="3"].on .box-switch[data-num="2"] {
  animation-delay: -1.5s;
}
#approach .contents[data-num="3"].on .box-switch[data-num="3"] {
  animation-delay: -0.5s;
}
#approach .contents[data-num="3"].on .box-switch[data-num="4"] {
  animation-delay: -2.25s;
}
#approach .contents[data-num="4"].on .glower {
  -webkit-animation: pulser2 infinite 4s ease-in-out;
  -moz-animation: pulser2 infinite 4s ease-in-out;
  animation: pulser2 infinite 4s ease-in-out;
  animation-fill-mode: forwards;
}
#approach .contents[data-num="4"].on .glower[data-num="2"] {
  animation-delay: -1.5s;
}
#approach .contents[data-num="4"].on .wave img {
  -webkit-animation: horzScroll infinite 3s linear;
  -moz-animation: horzScroll infinite 3s linear;
  animation: horzScroll infinite 3s linear;
  animation-fill-mode: forwards;
  animation-duration: 4s;
}
#approach .contents[data-num="4"].on .ball {
  -webkit-animation: ballDropper3 infinite 6.75s linear;
  -moz-animation: ballDropper3 infinite 6.75s linear;
  animation: ballDropper3 infinite 6.75s linear;
  animation-fill-mode: forwards;
}
#approach .contents[data-num="4"].on .ball[data-num="1"] {
  animation-delay: 0s;
}
#approach .contents[data-num="4"].on .ball[data-num="2"] {
  animation-delay: -4.5s;
}
#approach .contents[data-num="4"].on .ball[data-num="3"] {
  animation-delay: -2.25s;
}
#approach .contents[data-num="4"].on .bubble {
  -webkit-animation: bubbleFloat infinite 6.5s linear;
  -moz-animation: bubbleFloat infinite 6.5s linear;
  animation: bubbleFloat infinite 6.5s linear;
  animation-fill-mode: forwards;
}
#approach .contents[data-num="4"].on .bubbles[data-num="1"] .bubble[data-num="1"] {
  animation-delay: 0s;
}
#approach .contents[data-num="4"].on .bubbles[data-num="1"] .bubble[data-num="2"] {
  animation-delay: -4.5s;
}
#approach .contents[data-num="4"].on .bubbles[data-num="1"] .bubble[data-num="3"] {
  animation-delay: -2.25s;
}
#approach .contents[data-num="4"].on .bubbles[data-num="2"] .bubble[data-num="3"] {
  animation-delay: 0s;
}
#approach .contents[data-num="4"].on .bubbles[data-num="2"] .bubble[data-num="1"] {
  animation-delay: -4.5s;
}
#approach .contents[data-num="4"].on .bubbles[data-num="2"] .bubble[data-num="2"] {
  animation-delay: -2.25s;
}
#approach .contents[data-num="5"].on .bullseye {
  -webkit-animation: blinker infinite 2s linear;
  -moz-animation: blinker infinite 2s linear;
  animation: blinker infinite 2s linear;
  animation-fill-mode: forwards;
}
#approach .contents[data-num="5"].on .glowlines {
  -webkit-animation: graphGlow infinite 4s linear;
  -moz-animation: graphGlow infinite 4s linear;
  animation: graphGlow infinite 4s linear;
  animation-fill-mode: forwards;
  transform-origin: center bottom;
}
#approach .contents[data-num="5"].on .paper[data-num="1"] {
  -webkit-animation: paperMove1 infinite 7s linear;
  -moz-animation: paperMove1 infinite 7s linear;
  animation: paperMove1 infinite 7s linear;
  animation-fill-mode: forwards;
}
#approach .contents[data-num="5"].on .paper[data-num="2"] {
  -webkit-animation: paperMove2 infinite 7s linear;
  -moz-animation: paperMove2 infinite 7s linear;
  animation: paperMove2 infinite 7s linear;
  animation-fill-mode: forwards;
  animation-delay: -3s;
}
#approach .contents[data-num="5"].on .glower {
  -webkit-animation: burstGrowMain infinite 4s linear;
  -moz-animation: burstGrowMain infinite 4s linear;
  animation: burstGrowMain infinite 4s linear;
  animation-fill-mode: forwards;
}
#approach .contents[data-num="5"].on .glower img {
  -webkit-animation: burstFade infinite 4s linear;
  -moz-animation: burstFade infinite 4s linear;
  animation: burstFade infinite 4s linear;
  animation-fill-mode: forwards;
}
#approach .contents[data-num="5"].on .glower[data-num="2"] {
  animation-delay: -1.3s !important;
}
#approach .contents[data-num="5"].on .glower[data-num="2"] img {
  animation-delay: -1.3s !important;
}
#services.on .line.horz .move-line {
  -webkit-animation: lineSlideX infinite 6s ease-in-out;
  -moz-animation: lineSlideX infinite 6s ease-in-out;
  animation: lineSlideX infinite 6s ease-in-out;
  animation-fill-mode: forwards;
}
#services.on .line.vert .move-line {
  -webkit-animation: lineSlideY infinite 6s ease-in-out;
  -moz-animation: lineSlideY infinite 6s ease-in-out;
  animation: lineSlideY infinite 6s ease-in-out;
  animation-fill-mode: forwards;
}
#services.on .line[data-num="2"] .move-line {
  animation-delay: -0.5s;
}
#services.on .line[data-num="3"] .move-line {
  animation-delay: -3s;
}
#services.on .line[data-num="4"] .move-line {
  animation-delay: -1.5s;
}
#services.on .line[data-num="5"] .move-line {
  animation-delay: -1s;
}
#services.on .line[data-num="6"] .move-line {
  animation-delay: -3.5s;
}
#services.on .line[data-num="7"] .move-line {
  animation-delay: -0.75s;
}
#services.on .line[data-num="8"] .move-line {
  animation-delay: -1.5s;
}
#services.on .meter {
  -webkit-animation: meterMove infinite 6s ease-in-out;
  -moz-animation: meterMove infinite 6s ease-in-out;
  animation: meterMove infinite 6s ease-in-out;
  animation-fill-mode: forwards;
}
#footer.on .cta-bar {
  -webkit-animation: colorChanger infinite 8s linear;
  -moz-animation: colorChanger infinite 8s linear;
  animation: colorChanger infinite 8s linear;
  animation-fill-mode: forwards;
}
#footer.on .wave img {
  -webkit-animation: horzScroll infinite 3s linear;
  -moz-animation: horzScroll infinite 3s linear;
  animation: horzScroll infinite 3s linear;
  animation-fill-mode: forwards;
  animation-duration: 5s;
  animation-direction: reverse;
}
#footer.on .headlines img {
  -webkit-animation: horzScroll infinite 3s linear;
  -moz-animation: horzScroll infinite 3s linear;
  animation: horzScroll infinite 3s linear;
  animation-fill-mode: forwards;
  animation-duration: 10s;
  animation-direction: reverse;
}
#contact-overlay.on .cta-bar {
  -webkit-animation: colorChanger infinite 8s linear;
  -moz-animation: colorChanger infinite 8s linear;
  animation: colorChanger infinite 8s linear;
  animation-fill-mode: forwards;
}
/*! - ANIM: 1 REUSE */
@-moz-keyframes horzScroll {
  0% {
    transform: translateX(-50%);
  }
  100% {
    transform: translateX(0%);
  }
}
@-webkit-keyframes horzScroll {
  0% {
    transform: translateX(-50%);
  }
  100% {
    transform: translateX(0%);
  }
}
@keyframes horzScroll {
  0% {
    transform: translateX(-50%);
  }
  100% {
    transform: translateX(0%);
  }
}
.horz-scroll {
  -webkit-animation: horzScroll infinite 3s linear;
  -moz-animation: horzScroll infinite 3s linear;
  animation: horzScroll infinite 3s linear;
  animation-fill-mode: forwards;
}
@-moz-keyframes vertScroll {
  0% {
    transform: translateY(-50%);
  }
  100% {
    transform: translateY(0%);
  }
}
@-webkit-keyframes vertScroll {
  0% {
    transform: translateY(-50%);
  }
  100% {
    transform: translateY(0%);
  }
}
@keyframes vertScroll {
  0% {
    transform: translateY(-50%);
  }
  100% {
    transform: translateY(0%);
  }
}
.vert-scroll {
  -webkit-animation: vertScroll infinite 3s linear;
  -moz-animation: vertScroll infinite 3s linear;
  animation: vertScroll infinite 3s linear;
  animation-fill-mode: forwards;
}
@-moz-keyframes blinker {
  0% {
    background-color: #123c45;
    animation-timing-function: ease-out;
  }
  50% {
    background-color: #ffdb7d;
    animation-timing-function: ease-in;
  }
  90% {
    background-color: #123c45;
  }
  100% {
    background-color: #123c45;
  }
}
@-webkit-keyframes blinker {
  0% {
    background-color: #123c45;
    animation-timing-function: ease-out;
  }
  50% {
    background-color: #ffdb7d;
    animation-timing-function: ease-in;
  }
  90% {
    background-color: #123c45;
  }
  100% {
    background-color: #123c45;
  }
}
@keyframes blinker {
  0% {
    background-color: #123c45;
    animation-timing-function: ease-out;
  }
  50% {
    background-color: #ffdb7d;
    animation-timing-function: ease-in;
  }
  90% {
    background-color: #123c45;
  }
  100% {
    background-color: #123c45;
  }
}
.blink {
  -webkit-animation: blinker infinite 2s linear;
  -moz-animation: blinker infinite 2s linear;
  animation: blinker infinite 2s linear;
  animation-fill-mode: forwards;
}
@-moz-keyframes floatX {
  0% {
    transform: translateX(-15px) rotate(-20deg);
  }
  50% {
    transform: translateX(15px) rotate(20deg);
  }
  100% {
    transform: translateX(-15px) rotate(-20deg);
  }
}
@-webkit-keyframes floatX {
  0% {
    transform: translateX(-15px) rotate(-20deg);
  }
  50% {
    transform: translateX(15px) rotate(20deg);
  }
  100% {
    transform: translateX(-15px) rotate(-20deg);
  }
}
@keyframes floatX {
  0% {
    transform: translateX(-15px) rotate(-20deg);
  }
  50% {
    transform: translateX(15px) rotate(20deg);
  }
  100% {
    transform: translateX(-15px) rotate(-20deg);
  }
}
.float-x {
  -webkit-animation: floatX infinite 6s ease-in-out;
  -moz-animation: floatX infinite 6s ease-in-out;
  animation: floatX infinite 6s ease-in-out;
  animation-fill-mode: forwards;
}
@-moz-keyframes floatY {
  0% {
    transform: translateY(-20px);
  }
  50% {
    transform: translateY(20px);
  }
  100% {
    transform: translateY(-20px);
  }
}
@-webkit-keyframes floatY {
  0% {
    transform: translateY(-20px);
  }
  50% {
    transform: translateY(20px);
  }
  100% {
    transform: translateY(-20px);
  }
}
@keyframes floatY {
  0% {
    transform: translateY(-20px);
  }
  50% {
    transform: translateY(20px);
  }
  100% {
    transform: translateY(-20px);
  }
}
.float-y {
  -webkit-animation: floatY infinite 10s ease-in-out;
  -moz-animation: floatY infinite 10s ease-in-out;
  animation: floatY infinite 10s ease-in-out;
  animation-fill-mode: forwards;
}
@-moz-keyframes meterMove {
  0% {
    transform: rotate(-50deg);
  }
  50% {
    transform: rotate(50deg);
  }
  100% {
    transform: rotate(-50deg);
  }
}
@-webkit-keyframes meterMove {
  0% {
    transform: rotate(-50deg);
  }
  50% {
    transform: rotate(50deg);
  }
  100% {
    transform: rotate(-50deg);
  }
}
@keyframes meterMove {
  0% {
    transform: rotate(-50deg);
  }
  50% {
    transform: rotate(50deg);
  }
  100% {
    transform: rotate(-50deg);
  }
}
.meter-move {
  -webkit-animation: meterMove infinite 6s ease-in-out;
  -moz-animation: meterMove infinite 6s ease-in-out;
  animation: meterMove infinite 6s ease-in-out;
  animation-fill-mode: forwards;
}
@-moz-keyframes pulser {
  0% {
    transform: scale(0.5);
  }
  50% {
    transform: scale(1);
  }
  100% {
    transform: scale(0.5);
  }
}
@-webkit-keyframes pulser {
  0% {
    transform: scale(0.5);
  }
  50% {
    transform: scale(1);
  }
  100% {
    transform: scale(0.5);
  }
}
@keyframes pulser {
  0% {
    transform: scale(0.5);
  }
  50% {
    transform: scale(1);
  }
  100% {
    transform: scale(0.5);
  }
}
.pulse {
  -webkit-animation: pulser infinite 4s ease-in-out;
  -moz-animation: pulser infinite 4s ease-in-out;
  animation: pulser infinite 4s ease-in-out;
  animation-fill-mode: forwards;
}
@-moz-keyframes pulser2 {
  0% {
    transform: scale(0.75);
  }
  50% {
    transform: scale(1);
  }
  100% {
    transform: scale(0.75);
  }
}
@-webkit-keyframes pulser2 {
  0% {
    transform: scale(0.75);
  }
  50% {
    transform: scale(1);
  }
  100% {
    transform: scale(0.75);
  }
}
@keyframes pulser2 {
  0% {
    transform: scale(0.75);
  }
  50% {
    transform: scale(1);
  }
  100% {
    transform: scale(0.75);
  }
}
.pulse2 {
  -webkit-animation: pulser2 infinite 4s ease-in-out;
  -moz-animation: pulser2 infinite 4s ease-in-out;
  animation: pulser2 infinite 4s ease-in-out;
  animation-fill-mode: forwards;
}
@-moz-keyframes eyeRadar {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}
@-webkit-keyframes eyeRadar {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}
@keyframes eyeRadar {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}
.eye-radar {
  -webkit-animation: eyeRadar infinite 5s linear;
  -moz-animation: eyeRadar infinite 5s linear;
  animation: eyeRadar infinite 5s linear;
  animation-fill-mode: forwards;
}
.meter-wrap {
  position: absolute;
}
.meter-wrap .dial {
  position: absolute;
  left: 0;
  top: 0;
  width: 8px;
  height: 8px;
  border-radius: 8px;
  background-color: #2f3336;
}
.meter-wrap .meter {
  position: absolute;
  left: 3px;
  bottom: -4px;
  width: 2px;
  height: 14px;
  background-color: #ff574a;
  transform-origin: center bottom;
}
.ball-drop .ball {
  width: 7px;
  height: 7px;
  border-radius: 7px;
  position: absolute;
  left: 0;
  top: 0;
  top: -7px;
  background-color: #ffdb7d;
}
.ball-drop .ball[data-num="1"] {
  left: 26px;
}
.ball-drop .ball[data-num="2"] {
  left: 65px;
}
.ball-drop .ball[data-num="3"] {
  left: 105px;
}
.target {
  width: 60px;
}
.target .bullseye {
  width: 16px;
  height: 16px;
  border-radius: 16px;
  background-color: #123c45;
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
}
.data-path svg,
.data-path path {
  position: absolute;
  left: 0;
  top: 0;
}
.data-path .dp-base,
.data-path .dp-draw {
  fill: none;
  stroke-width: 2px;
  stroke-miterlimit: 10;
}
.data-path.pink .dp-base {
  stroke: #ffc0d8;
}
.data-path.pink .dp-draw[data-num="1"] {
  stroke: #2f3336;
}
.data-path.pink .dp-draw[data-num="2"] {
  stroke: #ffc0d8;
}
.data-path.purple .dp-base {
  stroke: #a231ef;
}
.data-path.purple .dp-draw[data-num="1"] {
  stroke: #ffc0d8;
}
.data-path.purple .dp-draw[data-num="2"] {
  stroke: #a231ef;
}
.data-path.dkpurple .dp-base {
  stroke: #2f3336;
}
.data-path.dkpurple .dp-draw[data-num="1"] {
  stroke: #ffc0d8;
}
.data-path.dkpurple .dp-draw[data-num="2"] {
  stroke: #2f3336;
}
/*! - ANIM: 2 HERO -> LEVEL 1 */
@-moz-keyframes ballSlider {
  0% {
    transform: translateX(0px);
  }
  50% {
    transform: translateX(50px);
  }
  100% {
    transform: translateX(0px);
  }
}
@-webkit-keyframes ballSlider {
  0% {
    transform: translateX(0px);
  }
  50% {
    transform: translateX(50px);
  }
  100% {
    transform: translateX(0px);
  }
}
@keyframes ballSlider {
  0% {
    transform: translateX(0px);
  }
  50% {
    transform: translateX(50px);
  }
  100% {
    transform: translateX(0px);
  }
}
.ball-slider {
  -webkit-animation: ballSlider infinite 6s cubic-bezier(0.5, 0, 0.5, 1);
  -moz-animation: ballSlider infinite 6s cubic-bezier(0.5, 0, 0.5, 1);
  animation: ballSlider infinite 6s cubic-bezier(0.5, 0, 0.5, 1);
  animation-fill-mode: forwards;
}
/*! - ANIM: 2 HERO -> LEVEL 2 */
@-moz-keyframes dotGrid1 {
  0% {
    transform: translate(0px, 0px);
  }
  20% {
    transform: translate(69px, 0px);
  }
  30% {
    transform: translate(69px, -30px);
  }
  50% {
    transform: translate(128px, -30px);
  }
  70% {
    transform: translate(128px, 30px);
  }
  90% {
    transform: translate(200px, 30px);
  }
  100% {
    transform: translate(200px, 30px);
  }
}
@-webkit-keyframes dotGrid1 {
  0% {
    transform: translate(0px, 0px);
  }
  20% {
    transform: translate(69px, 0px);
  }
  30% {
    transform: translate(69px, -30px);
  }
  50% {
    transform: translate(128px, -30px);
  }
  70% {
    transform: translate(128px, 30px);
  }
  90% {
    transform: translate(200px, 30px);
  }
  100% {
    transform: translate(200px, 30px);
  }
}
@keyframes dotGrid1 {
  0% {
    transform: translate(0px, 0px);
  }
  20% {
    transform: translate(69px, 0px);
  }
  30% {
    transform: translate(69px, -30px);
  }
  50% {
    transform: translate(128px, -30px);
  }
  70% {
    transform: translate(128px, 30px);
  }
  90% {
    transform: translate(200px, 30px);
  }
  100% {
    transform: translate(200px, 30px);
  }
}
.dot-grid-move1 {
  -webkit-animation: dotGrid1 infinite 6s linear;
  -moz-animation: dotGrid1 infinite 6s linear;
  animation: dotGrid1 infinite 6s linear;
  animation-fill-mode: forwards;
}
@-moz-keyframes dotGrid2 {
  0% {
    transform: translate(0px, 0px);
  }
  20% {
    transform: translate(40px, 0px);
  }
  30% {
    transform: translate(40px, 30px);
  }
  50% {
    transform: translate(99px, 30px);
  }
  60% {
    transform: translate(99px, 0px);
  }
  90% {
    transform: translate(200px, 0px);
  }
  100% {
    transform: translate(200px, 0px);
  }
}
@-webkit-keyframes dotGrid2 {
  0% {
    transform: translate(0px, 0px);
  }
  20% {
    transform: translate(40px, 0px);
  }
  30% {
    transform: translate(40px, 30px);
  }
  50% {
    transform: translate(99px, 30px);
  }
  60% {
    transform: translate(99px, 0px);
  }
  90% {
    transform: translate(200px, 0px);
  }
  100% {
    transform: translate(200px, 0px);
  }
}
@keyframes dotGrid2 {
  0% {
    transform: translate(0px, 0px);
  }
  20% {
    transform: translate(40px, 0px);
  }
  30% {
    transform: translate(40px, 30px);
  }
  50% {
    transform: translate(99px, 30px);
  }
  60% {
    transform: translate(99px, 0px);
  }
  90% {
    transform: translate(200px, 0px);
  }
  100% {
    transform: translate(200px, 0px);
  }
}
.dot-grid-move2 {
  -webkit-animation: dotGrid2 infinite 6s linear;
  -moz-animation: dotGrid2 infinite 6s linear;
  animation: dotGrid2 infinite 6s linear;
  animation-fill-mode: forwards;
}
@-moz-keyframes dotGrid3 {
  0% {
    transform: translate(0px, 0px);
  }
  30% {
    transform: translate(69px, 0px);
  }
  40% {
    transform: translate(69px, -30px);
  }
  60% {
    transform: translate(128px, -30px);
  }
  70% {
    transform: translate(128px, 0px);
  }
  90% {
    transform: translate(200px, 0px);
  }
  100% {
    transform: translate(200px, 0px);
  }
}
@-webkit-keyframes dotGrid3 {
  0% {
    transform: translate(0px, 0px);
  }
  30% {
    transform: translate(69px, 0px);
  }
  40% {
    transform: translate(69px, -30px);
  }
  60% {
    transform: translate(128px, -30px);
  }
  70% {
    transform: translate(128px, 0px);
  }
  90% {
    transform: translate(200px, 0px);
  }
  100% {
    transform: translate(200px, 0px);
  }
}
@keyframes dotGrid3 {
  0% {
    transform: translate(0px, 0px);
  }
  30% {
    transform: translate(69px, 0px);
  }
  40% {
    transform: translate(69px, -30px);
  }
  60% {
    transform: translate(128px, -30px);
  }
  70% {
    transform: translate(128px, 0px);
  }
  90% {
    transform: translate(200px, 0px);
  }
  100% {
    transform: translate(200px, 0px);
  }
}
.dot-grid-move3 {
  -webkit-animation: dotGrid3 infinite 6s linear;
  -moz-animation: dotGrid3 infinite 6s linear;
  animation: dotGrid3 infinite 6s linear;
  animation-fill-mode: forwards;
}
@-moz-keyframes flashPurple1 {
  0% {
    border-right-color: #404549;
  }
  20% {
    border-right-color: #a231ef;
  }
  40% {
    border-right-color: #404549;
  }
  100% {
    border-right-color: #404549;
  }
}
@-webkit-keyframes flashPurple1 {
  0% {
    border-right-color: #404549;
  }
  20% {
    border-right-color: #a231ef;
  }
  40% {
    border-right-color: #404549;
  }
  100% {
    border-right-color: #404549;
  }
}
@keyframes flashPurple1 {
  0% {
    border-right-color: #404549;
  }
  20% {
    border-right-color: #a231ef;
  }
  40% {
    border-right-color: #404549;
  }
  100% {
    border-right-color: #404549;
  }
}
.flash-purple1 {
  -webkit-animation: flashPurple1 infinite 5s linear;
  -moz-animation: flashPurple1 infinite 5s linear;
  animation: flashPurple1 infinite 5s linear;
  animation-fill-mode: forwards;
}
@-moz-keyframes flashPurple2 {
  0% {
    border-left-color: #404549;
  }
  20% {
    border-left-color: #a231ef;
  }
  40% {
    border-left-color: #404549;
  }
  100% {
    border-left-color: #404549;
  }
}
@-webkit-keyframes flashPurple2 {
  0% {
    border-left-color: #404549;
  }
  20% {
    border-left-color: #a231ef;
  }
  40% {
    border-left-color: #404549;
  }
  100% {
    border-left-color: #404549;
  }
}
@keyframes flashPurple2 {
  0% {
    border-left-color: #404549;
  }
  20% {
    border-left-color: #a231ef;
  }
  40% {
    border-left-color: #404549;
  }
  100% {
    border-left-color: #404549;
  }
}
.flash-purple2 {
  -webkit-animation: flashPurple2 infinite 5s linear;
  -moz-animation: flashPurple2 infinite 5s linear;
  animation: flashPurple2 infinite 5s linear;
  animation-fill-mode: forwards;
}
/*! - ANIM: 2 HERO -> LEVEL 3 */
@-moz-keyframes switchSlider {
  0% {
    transform: translateX(0px);
  }
  50% {
    transform: translateX(35px);
  }
  100% {
    transform: translateX(0px);
  }
}
@-webkit-keyframes switchSlider {
  0% {
    transform: translateX(0px);
  }
  50% {
    transform: translateX(35px);
  }
  100% {
    transform: translateX(0px);
  }
}
@keyframes switchSlider {
  0% {
    transform: translateX(0px);
  }
  50% {
    transform: translateX(35px);
  }
  100% {
    transform: translateX(0px);
  }
}
.switch-slider {
  -webkit-animation: switchSlider infinite 6s cubic-bezier(0.5, 0, 0.5, 1);
  -moz-animation: switchSlider infinite 6s cubic-bezier(0.5, 0, 0.5, 1);
  animation: switchSlider infinite 6s cubic-bezier(0.5, 0, 0.5, 1);
  animation-fill-mode: forwards;
}
@-moz-keyframes blockMover {
  0% {
    transform: translateX(0px);
  }
  100% {
    transform: translateX(137px);
  }
}
@-webkit-keyframes blockMover {
  0% {
    transform: translateX(0px);
  }
  100% {
    transform: translateX(137px);
  }
}
@keyframes blockMover {
  0% {
    transform: translateX(0px);
  }
  100% {
    transform: translateX(137px);
  }
}
.block-move {
  -webkit-animation: blockMover infinite 3s linear;
  -moz-animation: blockMover infinite 3s linear;
  animation: blockMover infinite 3s linear;
  animation-fill-mode: forwards;
}
@-moz-keyframes ballDropper1 {
  0% {
    transform: translateY(0px);
  }
  50% {
    transform: translateY(55px);
  }
  100% {
    transform: translateY(55px);
  }
}
@-webkit-keyframes ballDropper1 {
  0% {
    transform: translateY(0px);
  }
  50% {
    transform: translateY(55px);
  }
  100% {
    transform: translateY(55px);
  }
}
@keyframes ballDropper1 {
  0% {
    transform: translateY(0px);
  }
  50% {
    transform: translateY(55px);
  }
  100% {
    transform: translateY(55px);
  }
}
.ball-dropper1 {
  -webkit-animation: ballDropper1 infinite 6.5s ease-in-out;
  -moz-animation: ballDropper1 infinite 6.5s ease-in-out;
  animation: ballDropper1 infinite 6.5s ease-in-out;
  animation-fill-mode: forwards;
}
/*! - ANIM: 2 HERO -> LEVEL 4 */
@-moz-keyframes shapeSlide1 {
  0% {
    transform: translateX(0px);
  }
  50% {
    transform: translateX(10px);
  }
  100% {
    transform: translateX(0px);
  }
}
@-webkit-keyframes shapeSlide1 {
  0% {
    transform: translateX(0px);
  }
  50% {
    transform: translateX(10px);
  }
  100% {
    transform: translateX(0px);
  }
}
@keyframes shapeSlide1 {
  0% {
    transform: translateX(0px);
  }
  50% {
    transform: translateX(10px);
  }
  100% {
    transform: translateX(0px);
  }
}
.shape-slide1 {
  -webkit-animation: shapeSlide1 infinite 6s ease-in-out;
  -moz-animation: shapeSlide1 infinite 6s ease-in-out;
  animation: shapeSlide1 infinite 6s ease-in-out;
  animation-fill-mode: forwards;
}
@-moz-keyframes shapeSlide2 {
  0% {
    transform: translateY(0px);
  }
  50% {
    transform: translateY(-10px);
  }
  100% {
    transform: translateY(0px);
  }
}
@-webkit-keyframes shapeSlide2 {
  0% {
    transform: translateY(0px);
  }
  50% {
    transform: translateY(-10px);
  }
  100% {
    transform: translateY(0px);
  }
}
@keyframes shapeSlide2 {
  0% {
    transform: translateY(0px);
  }
  50% {
    transform: translateY(-10px);
  }
  100% {
    transform: translateY(0px);
  }
}
.shape-slide2 {
  -webkit-animation: shapeSlide2 infinite 6s ease-in-out;
  -moz-animation: shapeSlide2 infinite 6s ease-in-out;
  animation: shapeSlide2 infinite 6s ease-in-out;
  animation-fill-mode: forwards;
}
@-moz-keyframes shapeSlide3 {
  0% {
    transform: translateX(0px);
  }
  50% {
    transform: translateX(30px);
  }
  100% {
    transform: translateX(0px);
  }
}
@-webkit-keyframes shapeSlide3 {
  0% {
    transform: translateX(0px);
  }
  50% {
    transform: translateX(30px);
  }
  100% {
    transform: translateX(0px);
  }
}
@keyframes shapeSlide3 {
  0% {
    transform: translateX(0px);
  }
  50% {
    transform: translateX(30px);
  }
  100% {
    transform: translateX(0px);
  }
}
.shape-slide3 {
  -webkit-animation: shapeSlide3 infinite 8s ease-in-out;
  -moz-animation: shapeSlide3 infinite 8s ease-in-out;
  animation: shapeSlide3 infinite 8s ease-in-out;
  animation-fill-mode: forwards;
}
@-moz-keyframes ballDropper2 {
  0% {
    transform: translateY(-5px);
    opacity: 1;
  }
  95% {
    transform: translateY(175px);
    opacity: 1;
  }
  100% {
    transform: translateY(185px);
    opacity: 0;
  }
}
@-webkit-keyframes ballDropper2 {
  0% {
    transform: translateY(-5px);
    opacity: 1;
  }
  95% {
    transform: translateY(175px);
    opacity: 1;
  }
  100% {
    transform: translateY(185px);
    opacity: 0;
  }
}
@keyframes ballDropper2 {
  0% {
    transform: translateY(-5px);
    opacity: 1;
  }
  95% {
    transform: translateY(175px);
    opacity: 1;
  }
  100% {
    transform: translateY(185px);
    opacity: 0;
  }
}
.ball-dropper2 {
  -webkit-animation: ballDropper2 infinite 6.5s linear;
  -moz-animation: ballDropper2 infinite 6.5s linear;
  animation: ballDropper2 infinite 6.5s linear;
  animation-fill-mode: forwards;
}
/*! - ANIM: 2 HERO -> LEVEL 5 */
@-moz-keyframes graphGlow {
  0% {
    opacity: .1;
    transform: scaleY(0.5);
    animation-timing-function: ease-out;
  }
  50% {
    opacity: 1;
    transform: scaleY(1);
    animation-timing-function: ease-in;
  }
  100% {
    opacity: .1;
    transform: scaleY(0.5);
  }
}
@-webkit-keyframes graphGlow {
  0% {
    opacity: .1;
    transform: scaleY(0.5);
    animation-timing-function: ease-out;
  }
  50% {
    opacity: 1;
    transform: scaleY(1);
    animation-timing-function: ease-in;
  }
  100% {
    opacity: .1;
    transform: scaleY(0.5);
  }
}
@keyframes graphGlow {
  0% {
    opacity: .1;
    transform: scaleY(0.5);
    animation-timing-function: ease-out;
  }
  50% {
    opacity: 1;
    transform: scaleY(1);
    animation-timing-function: ease-in;
  }
  100% {
    opacity: .1;
    transform: scaleY(0.5);
  }
}
.graph-glow {
  -webkit-animation: graphGlow infinite 4s linear;
  -moz-animation: graphGlow infinite 4s linear;
  animation: graphGlow infinite 4s linear;
  animation-fill-mode: forwards;
  transform-origin: center bottom;
}
@-moz-keyframes paperDropper {
  0% {
    transform: translateY(0px);
  }
  100% {
    transform: translateY(285px);
  }
}
@-webkit-keyframes paperDropper {
  0% {
    transform: translateY(0px);
  }
  100% {
    transform: translateY(285px);
  }
}
@keyframes paperDropper {
  0% {
    transform: translateY(0px);
  }
  100% {
    transform: translateY(285px);
  }
}
.paper-dropper {
  -webkit-animation: paperDropper infinite 6s ease-in-out;
  -moz-animation: paperDropper infinite 6s ease-in-out;
  animation: paperDropper infinite 6s ease-in-out;
  animation-fill-mode: forwards;
}
/*! - ANIM: 3 APPROACH -> LAYER 3 */
@-moz-keyframes switchSlider2 {
  0% {
    transform: translateX(0px);
  }
  50% {
    transform: translateX(56px);
  }
  100% {
    transform: translateX(0px);
  }
}
@-webkit-keyframes switchSlider2 {
  0% {
    transform: translateX(0px);
  }
  50% {
    transform: translateX(56px);
  }
  100% {
    transform: translateX(0px);
  }
}
@keyframes switchSlider2 {
  0% {
    transform: translateX(0px);
  }
  50% {
    transform: translateX(56px);
  }
  100% {
    transform: translateX(0px);
  }
}
.switch-slider2 {
  -webkit-animation: switchSlider2 infinite 6s cubic-bezier(0.5, 0, 0.5, 1);
  -moz-animation: switchSlider2 infinite 6s cubic-bezier(0.5, 0, 0.5, 1);
  animation: switchSlider2 infinite 6s cubic-bezier(0.5, 0, 0.5, 1);
  animation-fill-mode: forwards;
}
@-moz-keyframes switchSlider3 {
  0% {
    transform: translateX(0px);
  }
  50% {
    transform: translateX(29px);
  }
  100% {
    transform: translateX(0px);
  }
}
@-webkit-keyframes switchSlider3 {
  0% {
    transform: translateX(0px);
  }
  50% {
    transform: translateX(29px);
  }
  100% {
    transform: translateX(0px);
  }
}
@keyframes switchSlider3 {
  0% {
    transform: translateX(0px);
  }
  50% {
    transform: translateX(29px);
  }
  100% {
    transform: translateX(0px);
  }
}
.switch-slider3 {
  -webkit-animation: switchSlider3 infinite 5s cubic-bezier(0.5, 0, 0.5, 1);
  -moz-animation: switchSlider3 infinite 5s cubic-bezier(0.5, 0, 0.5, 1);
  animation: switchSlider3 infinite 5s cubic-bezier(0.5, 0, 0.5, 1);
  animation-fill-mode: forwards;
}
/*! - ANIM: 3 APPROACH -> LAYER 4 */
@-moz-keyframes ballDropper3 {
  0% {
    transform: translateY(0px);
    opacity: 1;
  }
  95% {
    transform: translateY(275px);
    opacity: 1;
  }
  100% {
    transform: translateY(285px);
    opacity: 0;
  }
}
@-webkit-keyframes ballDropper3 {
  0% {
    transform: translateY(0px);
    opacity: 1;
  }
  95% {
    transform: translateY(275px);
    opacity: 1;
  }
  100% {
    transform: translateY(285px);
    opacity: 0;
  }
}
@keyframes ballDropper3 {
  0% {
    transform: translateY(0px);
    opacity: 1;
  }
  95% {
    transform: translateY(275px);
    opacity: 1;
  }
  100% {
    transform: translateY(285px);
    opacity: 0;
  }
}
.ball-dropper3 {
  -webkit-animation: ballDropper3 infinite 6.75s linear;
  -moz-animation: ballDropper3 infinite 6.75s linear;
  animation: ballDropper3 infinite 6.75s linear;
  animation-fill-mode: forwards;
}
@-moz-keyframes bubbleFloat {
  0% {
    transform: translateY(90px);
    opacity: 0;
  }
  25% {
    transform: translateY(70px);
    opacity: 1;
  }
  85% {
    transform: translateY(30px);
    opacity: 1;
  }
  100% {
    transform: translateY(20px);
    opacity: 0;
  }
}
@-webkit-keyframes bubbleFloat {
  0% {
    transform: translateY(90px);
    opacity: 0;
  }
  25% {
    transform: translateY(70px);
    opacity: 1;
  }
  85% {
    transform: translateY(30px);
    opacity: 1;
  }
  100% {
    transform: translateY(20px);
    opacity: 0;
  }
}
@keyframes bubbleFloat {
  0% {
    transform: translateY(90px);
    opacity: 0;
  }
  25% {
    transform: translateY(70px);
    opacity: 1;
  }
  85% {
    transform: translateY(30px);
    opacity: 1;
  }
  100% {
    transform: translateY(20px);
    opacity: 0;
  }
}
.bubble-float {
  -webkit-animation: bubbleFloat infinite 6.5s linear;
  -moz-animation: bubbleFloat infinite 6.5s linear;
  animation: bubbleFloat infinite 6.5s linear;
  animation-fill-mode: forwards;
}
/*! - ANIM: 3 APPROACH -> LAYER 5 */
@-moz-keyframes paperMove1 {
  0% {
    transform: translate(0px, 0px);
  }
  40% {
    transform: translate(175px, 0px);
  }
  80% {
    transform: translate(175px, -220px);
  }
  100% {
    transform: translate(175px, -220px);
  }
}
@-webkit-keyframes paperMove1 {
  0% {
    transform: translate(0px, 0px);
  }
  40% {
    transform: translate(175px, 0px);
  }
  80% {
    transform: translate(175px, -220px);
  }
  100% {
    transform: translate(175px, -220px);
  }
}
@keyframes paperMove1 {
  0% {
    transform: translate(0px, 0px);
  }
  40% {
    transform: translate(175px, 0px);
  }
  80% {
    transform: translate(175px, -220px);
  }
  100% {
    transform: translate(175px, -220px);
  }
}
.paper-move1 {
  -webkit-animation: paperMove1 infinite 7s linear;
  -moz-animation: paperMove1 infinite 7s linear;
  animation: paperMove1 infinite 7s linear;
  animation-fill-mode: forwards;
}
@-moz-keyframes paperMove2 {
  0% {
    transform: translateX(0px);
  }
  80% {
    transform: translateX(310px);
  }
  100% {
    transform: translateX(310px);
  }
}
@-webkit-keyframes paperMove2 {
  0% {
    transform: translateX(0px);
  }
  80% {
    transform: translateX(310px);
  }
  100% {
    transform: translateX(310px);
  }
}
@keyframes paperMove2 {
  0% {
    transform: translateX(0px);
  }
  80% {
    transform: translateX(310px);
  }
  100% {
    transform: translateX(310px);
  }
}
.paper-move2 {
  -webkit-animation: paperMove2 infinite 7s linear;
  -moz-animation: paperMove2 infinite 7s linear;
  animation: paperMove2 infinite 7s linear;
  animation-fill-mode: forwards;
}
@-moz-keyframes burstGrowMain {
  0% {
    transform: scale(0.5);
    z-index: 2;
  }
  40% {
    z-index: 1;
  }
  60% {
    transform: scale(1.25);
    z-index: 0;
  }
  100% {
    transform: scale(1.25);
    z-index: 0;
  }
}
@-webkit-keyframes burstGrowMain {
  0% {
    transform: scale(0.5);
    z-index: 2;
  }
  40% {
    z-index: 1;
  }
  60% {
    transform: scale(1.25);
    z-index: 0;
  }
  100% {
    transform: scale(1.25);
    z-index: 0;
  }
}
@keyframes burstGrowMain {
  0% {
    transform: scale(0.5);
    z-index: 2;
  }
  40% {
    z-index: 1;
  }
  60% {
    transform: scale(1.25);
    z-index: 0;
  }
  100% {
    transform: scale(1.25);
    z-index: 0;
  }
}
.burst-grow-main {
  -webkit-animation: burstGrowMain infinite 4s linear;
  -moz-animation: burstGrowMain infinite 4s linear;
  animation: burstGrowMain infinite 4s linear;
  animation-fill-mode: forwards;
}
@-moz-keyframes burstFade {
  0% {
    opacity: 0;
  }
  20% {
    opacity: 1;
  }
  40% {
    opacity: 1;
  }
  60% {
    opacity: 0;
  }
  100% {
    opacity: 0;
  }
}
@-webkit-keyframes burstFade {
  0% {
    opacity: 0;
  }
  20% {
    opacity: 1;
  }
  40% {
    opacity: 1;
  }
  60% {
    opacity: 0;
  }
  100% {
    opacity: 0;
  }
}
@keyframes burstFade {
  0% {
    opacity: 0;
  }
  20% {
    opacity: 1;
  }
  40% {
    opacity: 1;
  }
  60% {
    opacity: 0;
  }
  100% {
    opacity: 0;
  }
}
.burst-fade {
  -webkit-animation: burstFade infinite 4s linear;
  -moz-animation: burstFade infinite 4s linear;
  animation: burstFade infinite 4s linear;
  animation-fill-mode: forwards;
}
/*! - ANIM: 4 SERVICES */
@-moz-keyframes lineSlideX {
  0% {
    transform: translateX(0px);
  }
  50% {
    transform: translateX(126px);
  }
  100% {
    transform: translateX(0px);
  }
}
@-webkit-keyframes lineSlideX {
  0% {
    transform: translateX(0px);
  }
  50% {
    transform: translateX(126px);
  }
  100% {
    transform: translateX(0px);
  }
}
@keyframes lineSlideX {
  0% {
    transform: translateX(0px);
  }
  50% {
    transform: translateX(126px);
  }
  100% {
    transform: translateX(0px);
  }
}
.line-slideX {
  -webkit-animation: lineSlideX infinite 6s ease-in-out;
  -moz-animation: lineSlideX infinite 6s ease-in-out;
  animation: lineSlideX infinite 6s ease-in-out;
  animation-fill-mode: forwards;
}
@-moz-keyframes lineSlideY {
  0% {
    transform: translateY(0px);
  }
  50% {
    transform: translateY(193px);
  }
  100% {
    transform: translateY(0px);
  }
}
@-webkit-keyframes lineSlideY {
  0% {
    transform: translateY(0px);
  }
  50% {
    transform: translateY(193px);
  }
  100% {
    transform: translateY(0px);
  }
}
@keyframes lineSlideY {
  0% {
    transform: translateY(0px);
  }
  50% {
    transform: translateY(193px);
  }
  100% {
    transform: translateY(0px);
  }
}
.line-slideY {
  -webkit-animation: lineSlideY infinite 6s ease-in-out;
  -moz-animation: lineSlideY infinite 6s ease-in-out;
  animation: lineSlideY infinite 6s ease-in-out;
  animation-fill-mode: forwards;
}
/*! - ANIM: 6 CTA */
@-moz-keyframes handWave {
  0% {
    transform: rotate(0deg);
  }
  50% {
    transform: rotate(80deg);
  }
  100% {
    transform: rotate(0deg);
  }
}
@-webkit-keyframes handWave {
  0% {
    transform: rotate(0deg);
  }
  50% {
    transform: rotate(80deg);
  }
  100% {
    transform: rotate(0deg);
  }
}
@keyframes handWave {
  0% {
    transform: rotate(0deg);
  }
  50% {
    transform: rotate(80deg);
  }
  100% {
    transform: rotate(0deg);
  }
}
.hand-wave {
  -webkit-animation: handWave infinite 1s ease-in-out;
  -moz-animation: handWave infinite 1s ease-in-out;
  animation: handWave infinite 1s ease-in-out;
  animation-fill-mode: forwards;
}
@-moz-keyframes colorChanger {
  0% {
    background-color: #a231ef;
  }
  20% {
    background-color: #ef5350;
  }
  25% {
    background-color: #ef5350;
  }
  45% {
    background-color: #ffc0d8;
  }
  50% {
    background-color: #ffc0d8;
  }
  70% {
    background-color: #ffb17d;
  }
  75% {
    background-color: #ffb17d;
  }
  95% {
    background-color: #a231ef;
  }
  100% {
    background-color: #a231ef;
  }
}
@-webkit-keyframes colorChanger {
  0% {
    background-color: #a231ef;
  }
  20% {
    background-color: #ef5350;
  }
  25% {
    background-color: #ef5350;
  }
  45% {
    background-color: #ffc0d8;
  }
  50% {
    background-color: #ffc0d8;
  }
  70% {
    background-color: #ffb17d;
  }
  75% {
    background-color: #ffb17d;
  }
  95% {
    background-color: #a231ef;
  }
  100% {
    background-color: #a231ef;
  }
}
@keyframes colorChanger {
  0% {
    background-color: #a231ef;
  }
  20% {
    background-color: #ef5350;
  }
  25% {
    background-color: #ef5350;
  }
  45% {
    background-color: #ffc0d8;
  }
  50% {
    background-color: #ffc0d8;
  }
  70% {
    background-color: #ffb17d;
  }
  75% {
    background-color: #ffb17d;
  }
  95% {
    background-color: #a231ef;
  }
  100% {
    background-color: #a231ef;
  }
}
.color-changer {
  -webkit-animation: colorChanger infinite 8s linear;
  -moz-animation: colorChanger infinite 8s linear;
  animation: colorChanger infinite 8s linear;
  animation-fill-mode: forwards;
}
/*! MEDIA QUERY ***************************** */
/*! MQ: 0 -> 1200px */
@media screen and (max-width: 1200px) {
  #stats .stats-boxes h4 {
    font-size: 35px;
  }
}
/*! MQ: 1 -> 1024px */
@media screen and (max-width: 1024px) {
  section,
  .global {
    padding-left: 35px;
    padding-right: 35px;
  }
  section h2 {
    font-size: 36px;
    margin-bottom: 35px;
  }
  section p {
    font-size: 18px;
    line-height: 1.88;
  }
  .basic-scaler {
    transform: scale(0.75);
  }
  .title-sidebar {
    width: 50px;
  }
  #globalHeader .logo {
    left: 20px;
    top: 23px;
  }
  #globalHeader .cta-btn {
    transform: translate(-20px, 20px);
  }
  #globalHeader.sticky .logo {
    transform: translate(0px, -10px) scale(0.5);
  }
  #hero {
    height: 1085px;
  }
  #hero .background {
    top: 148px;
  }
  #about {
    padding-top: 125px;
  }
  #about .outerContainer {
    padding: 0px 30px 70px;
  }
  #about .txt {
    max-width: 500px;
  }
  #about .logo-icon {
    max-width: 120px;
  }
  #approach {
    padding-top: 260px;
    padding-bottom: 170px;
  }
  #approach .row.contents[data-num="0"] .icon {
    margin-left: 0px;
  }
  #approach .row.shape[data-num="0"] {
    height: 200px;
  }
  #approach .row.shape[data-num="1"],
  #approach .row.shape[data-num="3"] {
    height: 240px;
  }
  #approach .row.shape[data-num="2"] {
    height: 170px;
  }
  #services {
    padding-top: 120px;
    padding-bottom: 330px;
  }
  #services .row {
    margin-top: 64px;
  }
  #stats .txt,
  #stats .stats-boxes-wrap {
    padding-left: 35px;
    padding-right: 35px;
  }
  #stats .logo-icon {
    max-width: 120px;
  }
  #stats .txt {
    padding: 0 35px;
  }
  #partners,
  #featured {
    padding-top: 200px;
  }
  #partners .partner-box,
  #featured .partner-box {
    height: 180px;
  }
  #partners .partner-box:nth-child(n+5),
  #featured .partner-box:nth-child(n+5) {
    margin-top: 0px;
  }
  #news {
    padding-top: 120px;
  }
  #footer {
    padding-top: 180px;
  }
  #footer h3 {
    font-size: 37px;
    margin-bottom: 20px;
  }
  #footer .cta-bar {
    margin-top: 40px;
  }
  #footer .privacy {
    padding-left: 35px;
    padding-right: 35px;
  }
}
/*! MQ: 2 -> 850px */
@media screen and (max-width: 850px) {
  #about h2 br {
    display: none;
  }
  #approach p br {
    display: none;
  }
  #stats .stats-boxes .stats-box {
    width: 47.5%;
    max-width: none;
  }
  #stats .stats-boxes .stats-box:nth-child(n+3) {
    margin-top: 5%;
  }
}
/*! MQ: 3 -> 768px */
@media screen and (max-width: 768px) {
  section,
  .global,
  .overlayWrap {
    padding-left: 20px;
    padding-right: 20px;
  }
  section h2 {
    font-size: 32px;
  }
  section p {
    font-size: 17px;
  }
  .basic-scaler {
    transform: scale(0.6);
  }
  .title-sidebar {
    display: none;
  }
  #globalHeader {
    position: static;
  }
  #globalHeader .logo {
    left: 20px;
    top: 23px;
    width: 132px;
  }
  #globalHeader .cta-btn {
    transform: translate(-20px, 20px);
    position: fixed;
    z-index: 61;
  }
  #globalHeader .cta-btn .cta-text {
    display: none;
  }
  #globalHeader .cta-btn.open .close-btn {
    visibility: visible;
    opacity: 1;
  }
  #hero {
    height: 870px;
  }
  #hero .background {
    top: 115px;
  }
  #about {
    padding-top: calc(93.6px);
  }
  #about .logo-icon {
    max-width: 90px;
  }
  #approach {
    padding-top: calc(195px);
    padding-bottom: calc(126px);
  }
  #approach .row.contents.rt .approach-img {
    margin-left: -25px;
  }
  #approach .row.shape[data-num="0"] {
    height: 160px;
  }
  #approach .row.shape[data-num="1"],
  #approach .row.shape[data-num="3"] {
    height: 192px;
  }
  #approach .row.shape[data-num="2"] {
    height: 135px;
  }
  #services {
    padding-top: calc(90px);
  }
  #services h3 {
    padding: 0 20px;
  }
  #services .col {
    padding: 25px;
  }
  #stats .logo-icon {
    max-width: 90px;
  }
  #partners,
  #featured {
    padding-top: calc(153px);
  }
  #partners .break,
  #featured .break {
    display: none;
  }
  #partners .partner-box,
  #featured .partner-box {
    width: 32.5%;
    max-width: 250px !important;
    height: 150px;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-justify-content: center;
    -ms-flex-pack: justify;
    justify-content: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-align-content: stretch;
    -ms-flex-line-pack: stretch;
    align-content: stretch;
    -ms-flex-pack: center;
  }
  #partners .partner-box img,
  #featured .partner-box img {
    transform: scale(0.9);
  }
  #news {
    padding-top: calc(90px);
  }
  #news .news-box .news-txt {
    padding: 20px;
  }
  #footer {
    padding-top: calc(135px);
  }
  #footer .txt {
    padding-left: 20px;
    padding-right: 20px;
  }
  #footer .privacy {
    padding-left: 20px;
    padding-right: 20px;
    text-align: center;
  }
  #contact-overlay .close-btn {
    display: none;
  }
  .overlayWrap {
    padding-top: 100px;
    padding-bottom: 20px;
  }
  #generic #main {
    padding-top: 100px;
  }
  #generic #main h2,
  #generic #main p,
  #generic #main li {
    font-size: 17px;
    line-height: 1.88;
  }
}
/*! MQ: 4 -> 650px */
@media screen and (max-width: 650px) {
  #loader .load-clip {
    /* margin-left: -188px; */
    transform: scale(0.6) translateX(120px);
  }
  #hero {
    height: 565px;
  }
  #hero .background {
    top: 114px;
  }
  #hero .background .basic-scaler {
    transform: scale(0.36);
  }
  #approach .col,
  #services .col {
    width: 100% !important;
    max-width: none !important;
  }
  #approach .contentContainer {
    max-width: 415px;
  }
  #approach .row + .row {
    margin-top: 40px !important;
  }
  #approach .col.txt {
    padding: 0 20px;
  }
  #approach .col.img {
    padding-right: 8px;
  }
  #approach .row.contents.rt .approach-img {
    margin-left: -6px;
  }
  #approach .row.contents.lt .col.img {
    text-align: left;
  }
  #approach .row.contents:not([data-num="0"]) .col.img {
    -webkit-order: 1;
    -ms-flex-order: 1;
    order: 1;
  }
  #approach .row.contents:not([data-num="0"]) .col.txt {
    -webkit-order: 2;
    -ms-flex-order: 2;
    order: 2;
    margin-top: 25px;
  }
  #approach .row.contents[data-num="0"] .approach-img {
    margin: 25px 0 0 20px;
    max-width: 223px;
  }
  #approach .row.shape .basic-scaler {
    transform: none;
  }
  #approach .row.shape[data-num="0"] {
    height: 276px;
  }
  #approach .row.shape[data-num="0"] .shape-part[data-num="1"] {
    width: 105px;
    left: 275px;
  }
  #approach .row.shape[data-num="0"] .shape-part[data-num="2"] {
    top: 118px;
    left: 222px;
    width: 316px;
  }
  #approach .row.shape[data-num="1"],
  #approach .row.shape[data-num="3"] {
    height: 238px;
  }
  #approach .row.shape[data-num="1"] .shape-part[data-num="1"],
  #approach .row.shape[data-num="3"] .shape-part[data-num="1"] {
    width: 223px;
    left: -40px;
  }
  #approach .row.shape[data-num="1"] .shape-part[data-num="2"],
  #approach .row.shape[data-num="3"] .shape-part[data-num="2"] {
    display: none;
  }
  #approach .row.shape[data-num="2"] {
    height: 276px;
  }
  #approach .row.shape[data-num="2"] .background {
    margin-left: -205px;
  }
  #approach .row.shape[data-num="2"] .shape-part[data-num="1"] {
    top: 118px;
    left: 222px;
    width: 316px;
  }
  #approach .row.shape[data-num="2"] .shape-part[data-num="2"] {
    width: 105px;
    left: 275px;
  }
  #services .col + .col {
    margin-top: 20px;
  }
  #stats h2 br {
    display: none;
  }
  #news {
    /*
		.news-box{
			width: 100%; .automargin;
			+.news-box{margin-top: 20px;}
		}
*/
  }
  #contact-overlay .contact-form {
    padding: 0 25px;
  }
  #contact-overlay .contact-form > .logo-icon {
    width: 48px;
    margin-bottom: 30px;
  }
  #contact-overlay label {
    font-size: 12px !important;
    /* letter-spacing: .25em; */
  }
  #contact-overlay input,
  #contact-overlay textarea {
    font-size: 14px;
  }
  #contact-overlay .field-wrap label {
    width: 50px;
  }
  #contact-overlay .ta-wrap {
    padding: 10px;
    height: 87px;
  }
  #contact-overlay .form-wrap {
    padding-bottom: 160px;
  }
  #contact-overlay .form-wrap p.intro {
    font-size: 17px;
    line-height: 1.88;
    text-align: center;
    width: 100%;
    max-width: 260px;
    margin: 0 auto;
    margin-bottom: 15px;
  }
  #contact-overlay .thank-you p {
    font-size: 17px;
  }
}
/*! MQ: 5 -> 550px */
@media screen and (max-width: 550px) {
  section h2 {
    font-size: 28px;
    line-height: 1.46;
  }
  section h3 {
    font-size: 12px;
    letter-spacing: .28em;
  }
  #about .outerContainer {
    padding: 0px 20px 55px;
  }
  #about .logo-icon {
    margin-bottom: 42px;
  }
  #approach {
    padding-top: 288px;
    padding-bottom: 93px;
  }
  #approach h2 {
    margin-bottom: 10px;
  }
  #approach h3 {
    margin-bottom: 18px;
  }
  #approach .row.contents[data-num="0"] h2 {
    margin-bottom: 20px;
  }
  #approach .row.contents[data-num="0"] .icon {
    width: 107px;
    margin-bottom: 20px;
  }
  #services {
    padding-top: 57px;
    padding-bottom: 260px;
  }
  #services h2 {
    margin-bottom: 12px;
  }
  #services .row {
    margin-top: 58px;
  }
  #services .icon {
    transform: scale(0.69);
    transform-origin: left top;
    margin: 5px 0 28px 5px;
    height: 141px;
  }
  #services .col.left .icon {
    overflow: visible;
  }
  #services .col {
    padding-bottom: 35px;
  }
  #services ul {
    margin-top: 30px;
  }
  #services li {
    font-size: 15px;
  }
  #stats {
    margin-top: -138px;
  }
  #stats .stats-bg.dsk {
    display: none;
  }
  #stats .stats-bg.mob {
    display: block;
    width: 550px;
  }
  #stats .stats-boxes-wrap {
    min-height: 450px;
    padding-top: 145px;
    padding-left: 20px;
    margin-top: 0px;
  }
  #stats .stats-boxes {
    position: absolute;
    width: 920px;
    -webkit-flex-wrap: nowrap;
    -ms-flex-wrap: nowrap;
    flex-wrap: nowrap;
  }
  #stats .stats-boxes h4 {
    font-size: 45px;
  }
  #stats .stats-boxes .stats-box {
    width: 200px;
  }
  #stats .stats-boxes .stats-box:nth-child(n+3) {
    margin: 0px;
  }
  #stats .dot-nav {
    display: block;
    position: absolute;
    left: 0px;
    bottom: 70px;
  }
  #partners,
  #featured {
    padding-top: 100px;
  }
  #partners .partner-grid,
  #featured .partner-grid {
    margin-top: 35px;
  }
  #partners .partner-box,
  #featured .partner-box {
    width: 47.5%;
    height: 125px;
    -webkit-align-items: center !important;
    -ms-flex-align: center !important;
    align-items: center !important;
  }
  #partners .partner-box img,
  #featured .partner-box img {
    transform: scale(0.8);
    transform-origin: center center;
  }
  #footer {
    padding-top: 75px;
  }
  #footer h3 {
    font-size: 30px;
  }
  #footer .cta-bar {
    margin-top: 50px;
  }
  #footer .txt {
    margin-top: 35px;
  }
  #footer .txt p {
    width: 100%;
    max-width: 250px;
    margin: 0 auto;
  }
  #footer .footer-curvetext {
    top: 332px;
  }
  #footer .footer-head {
    top: 328px;
  }
  #footer .footer-bg {
    transform: scale(0.71);
    transform-origin: center top;
    height: 515px;
  }
  .cta-bar .cta-items {
    margin: 0px;
  }
  .cta-bar .icon {
    display: block;
    margin-bottom: 5px;
  }
  .cta-bar p {
    font-size: 17px;
  }
  #generic #main {
    padding-bottom: 20px;
  }
  #generic #main h1 {
    font-size: 28px;
  }
}
/*! MQ: 6 -> 450px */
@media screen and (max-width: 450px) {
  #about .txt p {
    max-width: 300px;
    margin-left: auto;
    margin-right: auto;
  }
}
