/*Required Variables*/
/*Viewport Width Base*/
/*Z-index Scale*/
html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary, time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline;
}

body {
  padding: 0;
  margin: 0;
  float: none;
  width: 100%;
  -webkit-font-smoothing: antialiased;
  overflow-x: hidden;
}

article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section, main {
  display: block;
}

body {
  line-height: 1;
}

ol, ul {
  list-style: none;
}

blockquote, q {
  quotes: none;
}

blockquote:before, blockquote.nav-btn__btn::after, blockquote.diagram__cable::after, blockquote:after {
  content: "";
  content: none;
}

q:before, q.nav-btn__btn::after, q.diagram__cable::after, q:after {
  content: "";
  content: none;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

html {
  box-sizing: border-box;
}

*,
*:before,
.nav-btn__btn::after,
.diagram__cable::after,
*:after {
  box-sizing: inherit;
}

.clearfix:after {
  content: "";
  display: table;
  clear: both;
}

.row::after {
  content: "";
  display: table;
  clear: both;
}

input, textarea {
  -webkit-appearance: none;
  border-radius: 0;
  outline: none;
  border: none;
}

button {
  background: none;
  outline: none;
  border: 0;
  -webkit-appearance: none;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}

/**
    huge: 87.5em / 1400px
    desktop: 73.75em / 1180px
    laptop: 60em / 960
    tablet: 47.5em / 760px
    phablet: 37.5em / 600px
    bigphone: 30em / 480px
    mobileonly: 30em / 480px
 */
@font-face {
  font-family: "web-bre-serif";
  src: url("/fonts/bre-serif/BreeSerif-Regular.eot?v=2");
  src: url("/fonts/bre-serif/BreeSerif-Regular.eot?#iefix2") format("embedded-opentype"), url("/fonts/bre-serif/BreeSerif-Regular.woff?v=2") format("woff"), url("/fonts/bre-serif/BreeSerif-Regular.ttf?v=2") format("truetype"), url("/fonts/bre-serif/BreeSerif-Regular.svg#web-bre-serif?v=2") format("svg");
  font-style: normal;
  font-weight: 400;
}
@font-face {
  font-family: "web-source-sans";
  src: url("/fonts/source-sans/SourceSansPro-Regular.eot?v=2");
  src: url("/fonts/source-sans/SourceSansPro-Regular.eot?#iefix2") format("embedded-opentype"), url("/fonts/source-sans/SourceSansPro-Regular.woff?v=2") format("woff"), url("/fonts/source-sans/SourceSansPro-Regular.ttf?v=2") format("truetype"), url("/fonts/source-sans/SourceSansPro-Regular.svg#web-source-sans?v=2") format("svg");
  font-style: normal;
  font-weight: 400;
}
@font-face {
  font-family: "web-source-sans";
  src: url("/fonts/source-sans/SourceSansPro-SemiBold.eot?v=2");
  src: url("/fonts/source-sans/SourceSansPro-SemiBold.eot?#iefix2") format("embedded-opentype"), url("/fonts/source-sans/SourceSansPro-SemiBold.woff?v=2") format("woff"), url("/fonts/source-sans/SourceSansPro-SemiBold.ttf?v=2") format("truetype"), url("/fonts/source-sans/SourceSansPro-SemiBold.svg#web-source-sans?v=2") format("svg");
  font-style: normal;
  font-weight: 600;
}
@font-face {
  font-family: "web-source-sans";
  src: url("/fonts/source-sans/SourceSansPro-Bold.eot?v=2");
  src: url("/fonts/source-sans/SourceSansPro-Bold.eot?#iefix2") format("embedded-opentype"), url("/fonts/source-sans/SourceSansPro-Bold.woff?v=2") format("woff"), url("/fonts/source-sans/SourceSansPro-Bold.ttf?v=2") format("truetype"), url("/fonts/source-sans/SourceSansPro-Bold.svg#web-source-sans?v=2") format("svg");
  font-style: normal;
  font-weight: 700;
}
.bre-serif, .project-list__read-more, .nav__link, .map-pin, .documents__download, .btn, h3, h2, h1 {
  font-family: "web-bre-serif", Helvectia, Arial, Sans-Serif;
}

.source-sans, .project-list__status, .icon-list__link, .form__input, .form__label, .footer__copyrights, .documents--sections .documents__download, .documents__file-size, .diagram__link, .diagram__cable, .desktop-project-list__text, .container-left__warning, .back, p, h5, h4 {
  font-family: "web-source-sans", Helvectia, Arial, Sans-Serif;
}

h1 {
  display: flex;
  flex-flow: row wrap;
  max-width: 100%;
  flex: 0 1 auto;
  font-weight: 400;
  font-size: 34px;
  font-size: 2.125rem;
  line-height: 38px;
  line-height: 2.375rem;
  color: #fff;
}
@media (min-width: 37.5em) {
  h1 {
    font-size: 44px;
    font-size: 2.75rem;
    line-height: 48px;
    line-height: 3rem;
  }
}
@media (min-width: 60em) {
  h1 {
    font-size: 46px;
    font-size: 2.875rem;
    line-height: 50px;
    line-height: 3.125rem;
    color: #232323;
  }
}
@media (min-width: 87.5em) {
  h1 {
    font-size: 56px;
    font-size: 3.5rem;
    line-height: 60px;
    line-height: 3.75rem;
  }
}
@media (min-width: 120em) {
  h1 {
    font-size: 2.9166666667vw;
    line-height: 3.125vw;
  }
}

h2 {
  font-size: 20px;
  font-size: 1.25rem;
  line-height: 24px;
  line-height: 1.5rem;
  font-weight: 400;
  padding-bottom: 12px;
  padding-bottom: 0.75rem;
  color: #232323;
}
@media (min-width: 120em) {
  h2 {
    font-size: 1.0416666667vw;
    line-height: 1.25vw;
    padding-bottom: 0.625vw;
  }
}
h2 a {
  text-decoration: none;
  color: inherit;
}

h3 {
  font-size: 18px;
  font-size: 1.125rem;
  line-height: 22px;
  line-height: 1.375rem;
  font-weight: 400;
  color: #232323;
}
@media (min-width: 75em) {
  h3 {
    font-size: 20px;
    font-size: 1.25rem;
    line-height: 24px;
    line-height: 1.5rem;
    color: #fff;
  }
}
@media (min-width: 120em) {
  h3 {
    font-size: 1.0416666667vw;
    line-height: 1.25vw;
  }
}

h4 {
  font-weight: 700;
  font-size: 16px;
  font-size: 1rem;
  line-height: 18px;
  line-height: 1.125rem;
  color: #56bffe;
}
@media (min-width: 75em) {
  h4 {
    font-size: 18px;
    font-size: 1.125rem;
    line-height: 20px;
    line-height: 1.25rem;
  }
}
@media (min-width: 120em) {
  h4 {
    font-size: 0.9375vw;
    line-height: 1.0416666667vw;
  }
}

h5 {
  font-weight: 600;
  font-size: 14px;
  font-size: 0.875rem;
  line-height: 18px;
  line-height: 1.125rem;
  padding-bottom: 16px;
  padding-bottom: 1rem;
  color: #232323;
}
@media (min-width: 75em) {
  h5 {
    font-size: 16px;
    font-size: 1rem;
    line-height: 20px;
    line-height: 1.25rem;
  }
}
@media (min-width: 120em) {
  h5 {
    font-size: 0.8333333333vw;
    line-height: 1.0416666667vw;
    padding-bottom: 0.8333333333vw;
  }
}

p {
  font-size: 14px;
  font-size: 0.875rem;
  line-height: 18px;
  line-height: 1.125rem;
  padding-bottom: 16px;
  padding-bottom: 1rem;
  font-weight: 400;
  color: #585858;
}
@media (min-width: 75em) {
  p {
    font-size: 16px;
    font-size: 1rem;
    line-height: 20px;
    line-height: 1.25rem;
  }
}
@media (min-width: 120em) {
  p {
    font-size: 0.8333333333vw;
    line-height: 1.0416666667vw;
    padding-bottom: 0.8333333333vw;
  }
}
p strong {
  font-weight: 600;
}

@keyframes header-in {
  0% {
    transform: translateY(-50%);
    opacity: 0;
  }
  100% {
    transform: translateY(0);
    opacity: 1;
  }
}
@media (min-width: 60em) and (max-height: 43.75em) {
  body.about-us-body .header {
    position: absolute;
  }
  body.about-us-body .hero {
    padding-top: 0;
  }
  body.about-us-body .diagram-right-container {
    align-items: flex-start;
    position: absolute;
    top: 40px;
    top: 2.5rem;
    height: auto;
  }
}

@media (min-width: 60em) and (max-height: 53.125em) {
  body.about-us-burbo-body .header {
    position: absolute;
  }
  body.about-us-burbo-body .hero {
    padding-top: 50px;
    padding-top: 3.125rem;
  }
  body.about-us-burbo-body .diagram-right-container {
    align-items: center;
    position: absolute;
    top: 40px;
    top: 2.5rem;
  }
  body.about-us-burbo-body .fullscreen-container {
    min-height: 860px;
  }
}
@media (min-width: 75em) and (max-height: 53.125em) {
  body.about-us-burbo-body .diagram-right-container {
    top: 20px;
    top: 1.25rem;
  }
  body.about-us-burbo-body .fullscreen-container {
    min-height: 760px;
  }
}
@media (min-width: 100em) and (max-height: 56.25em) {
  body.about-us-burbo-body .header {
    position: absolute;
  }
  body.about-us-burbo-body .hero {
    padding-top: 50px;
    padding-top: 3.125rem;
  }
  body.about-us-burbo-body .diagram-right-container {
    align-items: center;
    position: absolute;
    top: 40px;
    top: 2.5rem;
  }
  body.about-us-burbo-body .fullscreen-container {
    min-height: 980px;
  }
}

@media (min-width: 60em) and (max-height: 53.125em) {
  body.about-us-inner-body .hero {
    padding-top: 50px;
    padding-top: 3.125rem;
  }
}

body.has-js .a__i {
  animation-play-state: paused;
  pointer-events: none;
}
body.has-js .a__i[data-done] {
  pointer-events: auto;
}
body.has-js .a__i::before, body.has-js .a__i::after {
  animation-play-state: paused;
}
body.has-js .a__i--fade-in {
  opacity: 0;
  animation-delay: 0ms;
  animation-duration: 0ms;
  animation-name: fade-in;
  animation-timing-function: linear;
  animation-iteration-count: 1;
  animation-fill-mode: forwards; /* this prevents the animation from restarting! */
}
body.has-js .a__i--fade-in-right {
  opacity: 0;
  transform: translateX(100%);
  animation-delay: 0ms;
  animation-duration: 0ms;
  animation-name: fade-in-right;
  animation-timing-function: linear;
  animation-iteration-count: 1;
  animation-fill-mode: forwards; /* this prevents the animation from restarting! */
}
body.has-js .a__i--fade-in-left {
  opacity: 0;
  transform: translateX(-100%);
  animation-delay: 0ms;
  animation-duration: 0ms;
  animation-name: fade-in-left;
  animation-timing-function: linear;
  animation-iteration-count: 1;
  animation-fill-mode: forwards; /* this prevents the animation from restarting! */
}
body.has-js .a__i--line-draw-from-left::before, body.has-js .a__i--line-draw-from-left.nav-btn__btn::after, body.has-js .a__i--line-draw-from-left.diagram__cable::after {
  width: 0;
  animation-delay: 300ms;
  animation-duration: 300ms;
  animation-name: line-draw-from-left;
  animation-timing-function: linear;
  animation-iteration-count: 1;
  animation-fill-mode: forwards; /* this prevents the animation from restarting! */
}
body.has-js .a__i--line-draw-from-left-500::before, body.has-js .a__i--line-draw-from-left-500.nav-btn__btn::after, body.has-js .a__i--line-draw-from-left-500.diagram__cable::after {
  width: 0;
  animation-delay: 500ms;
  animation-duration: 300ms;
  animation-name: line-draw-from-left;
  animation-timing-function: linear;
  animation-iteration-count: 1;
  animation-fill-mode: forwards; /* this prevents the animation from restarting! */
}
body.has-js .a__i--line-draw-from-left-1200::before, body.has-js .a__i--line-draw-from-left-1200.nav-btn__btn::after, body.has-js .a__i--line-draw-from-left-1200.diagram__cable::after {
  width: 0;
  animation-delay: 1200ms;
  animation-duration: 300ms;
  animation-name: line-draw-from-left;
  animation-timing-function: linear;
  animation-iteration-count: 1;
  animation-fill-mode: forwards; /* this prevents the animation from restarting! */
}
body.has-js .a__i--line-draw-from-left-1600::before, body.has-js .a__i--line-draw-from-left-1600.nav-btn__btn::after, body.has-js .a__i--line-draw-from-left-1600.diagram__cable::after {
  width: 0;
  animation-delay: 1600ms;
  animation-duration: 300ms;
  animation-name: line-draw-from-left;
  animation-timing-function: linear;
  animation-iteration-count: 1;
  animation-fill-mode: forwards; /* this prevents the animation from restarting! */
}
body.has-js .a__i--line-draw-from-left-1800::before, body.has-js .a__i--line-draw-from-left-1800.nav-btn__btn::after, body.has-js .a__i--line-draw-from-left-1800.diagram__cable::after {
  width: 0;
  animation-delay: 1800ms;
  animation-duration: 300ms;
  animation-name: line-draw-from-left;
  animation-timing-function: linear;
  animation-iteration-count: 1;
  animation-fill-mode: forwards; /* this prevents the animation from restarting! */
}
body.has-js .a__i--line-draw-from-left-1900::before, body.has-js .a__i--line-draw-from-left-1900.nav-btn__btn::after, body.has-js .a__i--line-draw-from-left-1900.diagram__cable::after {
  width: 0;
  animation-delay: 1800ms;
  animation-duration: 300ms;
  animation-name: line-draw-from-left;
  animation-timing-function: linear;
  animation-iteration-count: 1;
  animation-fill-mode: forwards; /* this prevents the animation from restarting! */
}
body.has-js .a__i--line-draw-from-left-2600::before, body.has-js .a__i--line-draw-from-left-2600.nav-btn__btn::after, body.has-js .a__i--line-draw-from-left-2600.diagram__cable::after {
  width: 0;
  animation-delay: 2600ms;
  animation-duration: 300ms;
  animation-name: line-draw-from-left;
  animation-timing-function: linear;
  animation-iteration-count: 1;
  animation-fill-mode: forwards; /* this prevents the animation from restarting! */
}
body.has-js .a__i--line-draw-from-top::before, body.has-js .a__i--line-draw-from-top.nav-btn__btn::after, body.has-js .a__i--line-draw-from-top.diagram__cable::after {
  height: 0;
  animation-delay: 300ms;
  animation-duration: 200ms;
  animation-name: line-draw-from-top;
  animation-timing-function: linear;
  animation-iteration-count: 1;
  animation-fill-mode: forwards; /* this prevents the animation from restarting! */
}
body.has-js .a__i--line-draw-from-top-slow::before, body.has-js .a__i--line-draw-from-top-slow.nav-btn__btn::after, body.has-js .a__i--line-draw-from-top-slow.diagram__cable::after {
  height: 0;
  animation-delay: 1400ms;
  animation-duration: 400ms;
  animation-name: line-draw-from-top;
  animation-timing-function: linear;
  animation-iteration-count: 1;
  animation-fill-mode: forwards; /* this prevents the animation from restarting! */
}
body.has-js .a__i--expand-after::after {
  width: 0;
  animation-delay: 600ms;
  animation-duration: 200ms;
  animation-name: expand-after-mobile;
  animation-timing-function: linear;
  animation-iteration-count: 1;
  animation-fill-mode: forwards; /* this prevents the animation from restarting! */
}
@media (min-width: 47.5em) {
  body.has-js .a__i--expand-after::after {
    animation-delay: 600ms;
    animation-duration: 200ms;
    animation-name: expand-after-tablet;
    animation-timing-function: linear;
    animation-iteration-count: 1;
    animation-fill-mode: forwards; /* this prevents the animation from restarting! */
  }
}
body.has-js .a__i--expand-after-delayed::after {
  width: 0;
  animation-delay: 1100ms;
  animation-duration: 200ms;
  animation-name: expand-after-mobile;
  animation-timing-function: linear;
  animation-iteration-count: 1;
  animation-fill-mode: forwards; /* this prevents the animation from restarting! */
}
@media (min-width: 47.5em) {
  body.has-js .a__i--expand-after-delayed::after {
    animation-delay: 600ms;
    animation-duration: 200ms;
    animation-name: expand-after-tablet;
    animation-timing-function: linear;
    animation-iteration-count: 1;
    animation-fill-mode: forwards; /* this prevents the animation from restarting! */
  }
}
body.has-js .a__i--slide-in-after::after {
  transform: translateX(-600%);
  animation-delay: 400ms;
  animation-duration: 600ms;
  animation-name: slide-left-after;
  animation-timing-function: linear;
  animation-iteration-count: 1;
  animation-fill-mode: forwards; /* this prevents the animation from restarting! */
}
body.has-js .a__i--slide-in-left {
  transform: translateX(-200%);
  animation-delay: 0ms;
  animation-duration: 0ms;
  animation-name: slide-in-left;
  animation-timing-function: linear;
  animation-iteration-count: 1;
  animation-fill-mode: forwards; /* this prevents the animation from restarting! */
}
body.has-js .a__i--slide-in-right {
  transform: translateX(200%);
  animation-delay: 0ms;
  animation-duration: 0ms;
  animation-name: slide-in-right;
  animation-timing-function: linear;
  animation-iteration-count: 1;
  animation-fill-mode: forwards; /* this prevents the animation from restarting! */
}
body.has-js .a__i--border-fade {
  box-shadow: 0 0 5px rgba(0, 0, 0, 0);
  animation-delay: 0ms;
  animation-duration: 0ms;
  animation-name: border-fade;
  animation-timing-function: linear;
  animation-iteration-count: 1;
  animation-fill-mode: forwards; /* this prevents the animation from restarting! */
}
body.has-js .a__i--background-slide-up {
  transform: translateX(-50%);
  animation-delay: 0ms;
  animation-duration: 0ms;
  animation-name: background-slide-up;
  animation-timing-function: linear;
  animation-iteration-count: 1;
  animation-fill-mode: forwards; /* this prevents the animation from restarting! */
}
body.has-js .a__i--fallen-anim {
  clip-path: polygon(0 0, 0 0, 0 100%, 0 100%);
  animation-delay: 0ms;
  animation-duration: 0ms;
  animation-name: fallen-anim;
  animation-timing-function: linear;
  animation-iteration-count: 1;
  animation-fill-mode: forwards; /* this prevents the animation from restarting! */
}
body.has-js .a__i--background-slide-down {
  transform: translateX(-50%);
  animation-delay: 0ms;
  animation-duration: 0ms;
  animation-name: background-slide-down;
  animation-timing-function: linear;
  animation-iteration-count: 1;
  animation-fill-mode: forwards; /* this prevents the animation from restarting! */
}
body.has-js .a__i--case-study-fade {
  opacity: 0;
  transform: scale3d(0.5, 0.5, 0.5);
  animation-delay: 0ms;
  animation-duration: 0ms;
  animation-name: case-study-fade;
  animation-timing-function: linear;
  animation-iteration-count: 1;
  animation-fill-mode: forwards; /* this prevents the animation from restarting! */
}
body.has-js .a__i--reveal-after::after {
  transform: translateY(0);
  animation-delay: 400ms;
  animation-duration: 400ms;
  animation-name: reveal-after;
  animation-timing-function: linear;
  animation-iteration-count: 1;
  animation-fill-mode: forwards; /* this prevents the animation from restarting! */
}
body.has-js .a__i--reveal-after-left::after {
  width: 0;
  opacity: 1;
  animation-delay: 1200ms;
  animation-duration: 350ms;
  animation-name: reveal-after-left;
  animation-timing-function: linear;
  animation-iteration-count: 1;
  animation-fill-mode: forwards; /* this prevents the animation from restarting! */
}
body.has-js .a__i--reveal-container {
  width: 0;
  animation-delay: 0ms;
  animation-duration: 0ms;
  animation-name: reveal-container;
  animation-timing-function: linear;
  animation-iteration-count: 1;
  animation-fill-mode: forwards; /* this prevents the animation from restarting! */
  overflow: hidden;
}
body.has-js .a__i--reveal-span {
  width: 112% !important;
  animation-delay: 0ms;
  animation-duration: 0ms;
  animation-name: reveal-span;
  animation-timing-function: linear;
  animation-iteration-count: 1;
  animation-fill-mode: forwards; /* this prevents the animation from restarting! */
  overflow: hidden;
}
body.has-js .a__i--slide-in-after-center::after {
  transform: translateX(-50%) translateX(-100vw);
  animation-delay: 400ms;
  animation-duration: 600ms;
  animation-name: slide-left-after-center;
  animation-timing-function: linear;
  animation-iteration-count: 1;
  animation-fill-mode: forwards; /* this prevents the animation from restarting! */
}
body.has-js .a__i--slide-left-out {
  transform: translateX(-100%);
  animation-delay: 0ms;
  animation-duration: 0ms;
  animation-name: slide-left-out;
  animation-timing-function: linear;
  animation-iteration-count: 1;
  animation-fill-mode: forwards; /* this prevents the animation from restarting! */
}
body.has-js .a__i--slide-left {
  transform: translateX(-100%);
  animation-delay: 0ms;
  animation-duration: 0ms;
  animation-name: slide-left;
  animation-timing-function: linear;
  animation-iteration-count: 1;
  animation-fill-mode: forwards; /* this prevents the animation from restarting! */
}
body.has-js .a__i--slide-left-far {
  transform: translateX(-200vh);
  animation-delay: 0ms;
  animation-duration: 0ms;
  animation-name: slide-left;
  animation-timing-function: linear;
  animation-iteration-count: 1;
  animation-fill-mode: forwards; /* this prevents the animation from restarting! */
}
body.has-js .a__i--background-split {
  width: 49.5%;
  animation-delay: 0ms;
  animation-duration: 0ms;
  animation-name: background-split;
  animation-timing-function: linear;
  animation-iteration-count: 1;
  animation-fill-mode: forwards; /* this prevents the animation from restarting! */
}
body.has-js .a__i--background-split::after {
  height: 100%;
  animation-delay: 0ms;
  animation-duration: 500ms;
  animation-name: background-split-after;
  animation-timing-function: linear;
  animation-iteration-count: 1;
  animation-fill-mode: forwards; /* this prevents the animation from restarting! */
}
body.has-js .a__i--slide-in-bottom {
  transform: translateY(100%);
  animation-delay: 0ms;
  animation-duration: 0ms;
  animation-name: slide-in-bottom;
  animation-timing-function: linear;
  animation-iteration-count: 1;
  animation-fill-mode: forwards; /* this prevents the animation from restarting! */
}
body.has-js .a__i--about-line-spacer {
  height: 0;
  animation-delay: 0ms;
  animation-duration: 0ms;
  animation-name: about-line-spacer-mobile;
  animation-timing-function: linear;
  animation-iteration-count: 1;
  animation-fill-mode: forwards; /* this prevents the animation from restarting! */
}
@media (min-width: 37.5em) {
  body.has-js .a__i--about-line-spacer {
    animation-delay: 0ms;
    animation-duration: 0ms;
    animation-name: about-line-spacer-phablet;
    animation-timing-function: linear;
    animation-iteration-count: 1;
    animation-fill-mode: forwards; /* this prevents the animation from restarting! */
  }
}
@media (min-width: 47.5em) {
  body.has-js .a__i--about-line-spacer {
    animation-delay: 0ms;
    animation-duration: 0ms;
    animation-name: about-line-spacer-tablet;
    animation-timing-function: linear;
    animation-iteration-count: 1;
    animation-fill-mode: forwards; /* this prevents the animation from restarting! */
  }
}
@media (min-width: 60em) {
  body.has-js .a__i--about-line-spacer {
    animation-delay: 0ms;
    animation-duration: 0ms;
    animation-name: about-line-spacer-laptop;
    animation-timing-function: linear;
    animation-iteration-count: 1;
    animation-fill-mode: forwards; /* this prevents the animation from restarting! */
  }
}
@media (min-width: 87.5em) {
  body.has-js .a__i--about-line-spacer {
    animation-delay: 0ms;
    animation-duration: 0ms;
    animation-name: about-line-spacer-huge;
    animation-timing-function: linear;
    animation-iteration-count: 1;
    animation-fill-mode: forwards; /* this prevents the animation from restarting! */
  }
}
body.has-js .a__i--about-line-spacer::before, body.has-js .a__i--about-line-spacer.nav-btn__btn::after, body.has-js .a__i--about-line-spacer.diagram__cable::after {
  animation-delay: 0ms;
  animation-duration: 0ms;
  animation-name: about-line-spacer-before-mobile;
  animation-timing-function: linear;
  animation-iteration-count: 1;
  animation-fill-mode: forwards; /* this prevents the animation from restarting! */
}
@media (min-width: 37.5em) {
  body.has-js .a__i--about-line-spacer::before, body.has-js .a__i--about-line-spacer.nav-btn__btn::after, body.has-js .a__i--about-line-spacer.diagram__cable::after {
    animation-delay: 0ms;
    animation-duration: 0ms;
    animation-name: about-line-spacer-before-phablet;
    animation-timing-function: linear;
    animation-iteration-count: 1;
    animation-fill-mode: forwards; /* this prevents the animation from restarting! */
  }
}
@media (min-width: 47.5em) {
  body.has-js .a__i--about-line-spacer::before, body.has-js .a__i--about-line-spacer.nav-btn__btn::after, body.has-js .a__i--about-line-spacer.diagram__cable::after {
    animation-delay: 0ms;
    animation-duration: 0ms;
    animation-name: about-line-spacer-before-tablet;
    animation-timing-function: linear;
    animation-iteration-count: 1;
    animation-fill-mode: forwards; /* this prevents the animation from restarting! */
  }
}
@media (min-width: 60em) {
  body.has-js .a__i--about-line-spacer::before, body.has-js .a__i--about-line-spacer.nav-btn__btn::after, body.has-js .a__i--about-line-spacer.diagram__cable::after {
    animation-delay: 0ms;
    animation-duration: 0ms;
    animation-name: about-line-spacer-before-laptop;
    animation-timing-function: linear;
    animation-iteration-count: 1;
    animation-fill-mode: forwards; /* this prevents the animation from restarting! */
  }
}
@media (min-width: 87.5em) {
  body.has-js .a__i--about-line-spacer::before, body.has-js .a__i--about-line-spacer.nav-btn__btn::after, body.has-js .a__i--about-line-spacer.diagram__cable::after {
    animation-delay: 0ms;
    animation-duration: 0ms;
    animation-name: about-line-spacer-before-huge;
    animation-timing-function: linear;
    animation-iteration-count: 1;
    animation-fill-mode: forwards; /* this prevents the animation from restarting! */
  }
}
body.has-js .a__i--about-line-spacer::after {
  animation-delay: 0ms;
  animation-duration: 0ms;
  animation-name: about-line-spacer-after-mobile;
  animation-timing-function: linear;
  animation-iteration-count: 1;
  animation-fill-mode: forwards; /* this prevents the animation from restarting! */
}
@media (min-width: 37.5em) {
  body.has-js .a__i--about-line-spacer::after {
    animation-delay: 0ms;
    animation-duration: 0ms;
    animation-name: about-line-spacer-after-phablet;
    animation-timing-function: linear;
    animation-iteration-count: 1;
    animation-fill-mode: forwards; /* this prevents the animation from restarting! */
  }
}
@media (min-width: 47.5em) {
  body.has-js .a__i--about-line-spacer::after {
    animation-delay: 0ms;
    animation-duration: 0ms;
    animation-name: about-line-spacer-after-tablet;
    animation-timing-function: linear;
    animation-iteration-count: 1;
    animation-fill-mode: forwards; /* this prevents the animation from restarting! */
  }
}
@media (min-width: 60em) {
  body.has-js .a__i--about-line-spacer::after {
    animation-delay: 0ms;
    animation-duration: 0ms;
    animation-name: about-line-spacer-after-laptop;
    animation-timing-function: linear;
    animation-iteration-count: 1;
    animation-fill-mode: forwards; /* this prevents the animation from restarting! */
  }
}
@media (min-width: 87.5em) {
  body.has-js .a__i--about-line-spacer::after {
    animation-delay: 0ms;
    animation-duration: 0ms;
    animation-name: about-line-spacer-after-huge;
    animation-timing-function: linear;
    animation-iteration-count: 1;
    animation-fill-mode: forwards; /* this prevents the animation from restarting! */
  }
}
body.has-js .a__i--box-line-drawn-up {
  transform: translateX(-50%) translateZ(0) translateY(120%);
  animation-delay: 0ms;
  animation-duration: 0ms;
  animation-name: box-line-drawn-up;
  animation-timing-function: linear;
  animation-iteration-count: 1;
  animation-fill-mode: forwards; /* this prevents the animation from restarting! */
}
body.has-js .a__i--box-line-drawn-down {
  transform: translateX(-50%) translateZ(0) translateY(-120%);
  animation-delay: 0ms;
  animation-duration: 0ms;
  animation-name: box-line-drawn-down;
  animation-timing-function: linear;
  animation-iteration-count: 1;
  animation-fill-mode: forwards; /* this prevents the animation from restarting! */
}
body.has-js .a__i--btn-move-up {
  transform: translateX(-50%) translateY(-113px);
  animation-delay: 0ms;
  animation-duration: 0ms;
  animation-name: btn-move-up;
  animation-timing-function: linear;
  animation-iteration-count: 1;
  animation-fill-mode: forwards; /* this prevents the animation from restarting! */
}
body.has-js .a__i--slide-right {
  transform: translateX(100%);
  animation-delay: 0ms;
  animation-duration: 0ms;
  animation-name: slide-right;
  animation-timing-function: linear;
  animation-iteration-count: 1;
  animation-fill-mode: forwards; /* this prevents the animation from restarting! */
}
body.has-js .a__i--slide-right-far {
  transform: translateX(200%);
  animation-delay: 0ms;
  animation-duration: 0ms;
  animation-name: slide-right-far;
  animation-timing-function: linear;
  animation-iteration-count: 1;
  animation-fill-mode: forwards; /* this prevents the animation from restarting! */
}
body.has-js .a__i--slide-right-cat {
  opacity: 0;
  transform: translate(-50%, -50%) translate3d(0, 100%, 0);
  animation-delay: 0ms;
  animation-duration: 0ms;
  animation-name: fade-in-up-center;
  animation-timing-function: linear;
  animation-iteration-count: 1;
  animation-fill-mode: forwards; /* this prevents the animation from restarting! */
}
@media (min-width: 60em) {
  body.has-js .a__i--slide-right-cat {
    opacity: 1;
    transform: translate(-50%, -50%) translateX(300%);
    animation-delay: 0ms;
    animation-duration: 0ms;
    animation-name: slide-right-cat;
    animation-timing-function: linear;
    animation-iteration-count: 1;
    animation-fill-mode: forwards; /* this prevents the animation from restarting! */
  }
}
body.has-js .a__i--slide-left-out-after::after {
  transform: translateX(-100%);
  animation-delay: 400ms;
  animation-duration: 200ms;
  animation-name: slide-left-out;
  animation-timing-function: linear;
  animation-iteration-count: 1;
  animation-fill-mode: forwards; /* this prevents the animation from restarting! */
}
body.has-js .a__i--fade-in-down {
  opacity: 0;
  transform: translate3d(0, -100%, 0);
  animation-delay: 0ms;
  animation-duration: 0ms;
  animation-name: fade-in-down;
  animation-timing-function: linear;
  animation-iteration-count: 1;
  animation-fill-mode: forwards; /* this prevents the animation from restarting! */
}
body.has-js .a__i--grey-reveal::before, body.has-js .a__i--grey-reveal::after {
  width: 50%;
  animation-delay: 200ms;
  animation-duration: 400ms;
  animation-name: width50;
  animation-timing-function: linear;
  animation-iteration-count: 1;
  animation-fill-mode: forwards; /* this prevents the animation from restarting! */
}
body.has-js .a__i--width50-b-2 {
  width: 0;
  animation-delay: 0ms;
  animation-duration: 0ms;
  animation-name: width100;
  animation-timing-function: linear;
  animation-iteration-count: 1;
  animation-fill-mode: forwards; /* this prevents the animation from restarting! */
}
@media (min-width: 47.5em) {
  body.has-js .a__i--width50-b-2 {
    animation-delay: 0ms;
    animation-duration: 0ms;
    animation-name: width50-b;
    animation-timing-function: linear;
    animation-iteration-count: 1;
    animation-fill-mode: forwards; /* this prevents the animation from restarting! */
  }
}
body.has-js .a__i--width50-b {
  width: 0;
  animation-delay: 0ms;
  animation-duration: 0ms;
  animation-name: width100;
  animation-timing-function: linear;
  animation-iteration-count: 1;
  animation-fill-mode: forwards; /* this prevents the animation from restarting! */
}
@media (min-width: 60em) {
  body.has-js .a__i--width50-b {
    white-space: nowrap;
    animation-delay: 0ms;
    animation-duration: 0ms;
    animation-name: width50-b;
    animation-timing-function: linear;
    animation-iteration-count: 1;
    animation-fill-mode: forwards; /* this prevents the animation from restarting! */
  }
}
body.has-js .a__i--width-100 {
  width: 0;
  animation-delay: 0ms;
  animation-duration: 0ms;
  animation-name: width-100;
  animation-timing-function: linear;
  animation-iteration-count: 1;
  animation-fill-mode: forwards; /* this prevents the animation from restarting! */
}
body.has-js .a__i--width110 {
  width: 0;
  animation-delay: 0ms;
  animation-duration: 0ms;
  animation-name: width110;
  animation-timing-function: linear;
  animation-iteration-count: 1;
  animation-fill-mode: forwards; /* this prevents the animation from restarting! */
}
body.has-js .a__i--btn-grow {
  opacity: 0;
  animation-delay: 2300ms;
  animation-duration: 200ms;
  animation-name: btn-grow-border;
  animation-timing-function: linear;
  animation-iteration-count: 1;
  animation-fill-mode: forwards; /* this prevents the animation from restarting! */
}
body.has-js .a__i--btn-grow::after {
  width: 0;
  animation-delay: 2300ms;
  animation-duration: 200ms;
  animation-name: btn-grow;
  animation-timing-function: linear;
  animation-iteration-count: 1;
  animation-fill-mode: forwards; /* this prevents the animation from restarting! */
}
body.has-js .a__i--pag-slide-left {
  transform: translateX(-100%);
  animation-delay: 0ms;
  animation-duration: 0ms;
  animation-name: slide-in-right;
  animation-timing-function: linear;
  animation-iteration-count: 1;
  animation-fill-mode: forwards; /* this prevents the animation from restarting! */
}
@media (min-width: 47.5em) {
  body.has-js .a__i--pag-slide-left {
    transform: translateY(-50%) translateX(100px);
    animation-delay: 0ms;
    animation-duration: 0ms;
    animation-name: pag-slide-left;
    animation-timing-function: linear;
    animation-iteration-count: 1;
    animation-fill-mode: forwards; /* this prevents the animation from restarting! */
  }
}
body.has-js .a__i--fade-in-up {
  opacity: 0;
  transform: translate3d(0, 100%, 0);
  animation-delay: 0ms;
  animation-duration: 0ms;
  animation-name: fade-in-up;
  animation-timing-function: linear;
  animation-iteration-count: 1;
  animation-fill-mode: forwards; /* this prevents the animation from restarting! */
}
body.has-js .a__i--fade-in-top {
  opacity: 0;
  transform: translateY(-100%);
  animation-delay: 0ms;
  animation-duration: 0ms;
  animation-name: fade-in-top;
  animation-timing-function: linear;
  animation-iteration-count: 1;
  animation-fill-mode: forwards; /* this prevents the animation from restarting! */
}
body.has-js .a__i--fade-in-up-arrow-home {
  opacity: 0;
  transform: translateY(0) rotate(90deg);
  animation-delay: 0ms;
  animation-duration: 0ms;
  animation-name: fade-in-up-arrow-home;
  animation-timing-function: linear;
  animation-iteration-count: 1;
  animation-fill-mode: forwards; /* this prevents the animation from restarting! */
}
body.has-js .a__i--fade-in-up-arrow {
  opacity: 0;
  transform: translateX(-50%) translateY(0) rotate(90deg);
  animation-delay: 0ms;
  animation-duration: 0ms;
  animation-name: fade-in-up-arrow;
  animation-timing-function: linear;
  animation-iteration-count: 1;
  animation-fill-mode: forwards; /* this prevents the animation from restarting! */
}
body.has-js .a__i--fade-in-up-alt {
  opacity: 0;
  transform: translate3d(0, 100%, 0);
  animation-delay: 0ms;
  animation-duration: 0ms;
  animation-name: fade-in-up-alt;
  animation-timing-function: linear;
  animation-iteration-count: 1;
  animation-fill-mode: forwards; /* this prevents the animation from restarting! */
}
body.has-js .a__i--fade-in-up-alt-services {
  opacity: 0;
  transform: translate3d(0, 100%, 0);
  animation-delay: 0ms;
  animation-duration: 0ms;
  animation-name: fade-in-up-alt;
  animation-timing-function: linear;
  animation-iteration-count: 1;
  animation-fill-mode: forwards; /* this prevents the animation from restarting! */
}
@media (min-width: 87.5em) {
  body.has-js .a__i--fade-in-up-alt-services {
    transform: translate3d(0, 100%, 0);
    animation-delay: 0ms;
    animation-duration: 0ms;
    animation-name: fade-in-up-alt-services-huge;
    animation-timing-function: linear;
    animation-iteration-count: 1;
    animation-fill-mode: forwards; /* this prevents the animation from restarting! */
  }
}
body.has-js .a__i--fade-in-up-alt-about {
  opacity: 0;
  transform: translate3d(0, 100%, 0);
  animation-delay: 0ms;
  animation-duration: 0ms;
  animation-name: fade-in-up-alt-about;
  animation-timing-function: linear;
  animation-iteration-count: 1;
  animation-fill-mode: forwards; /* this prevents the animation from restarting! */
}
@media (min-width: 87.5em) {
  body.has-js .a__i--fade-in-up-alt-about {
    transform: translate3d(0, 100%, 0);
    animation-delay: 0ms;
    animation-duration: 0ms;
    animation-name: fade-in-up-alt-about-huge;
    animation-timing-function: linear;
    animation-iteration-count: 1;
    animation-fill-mode: forwards; /* this prevents the animation from restarting! */
  }
}
body.has-js .a__i--fade-in-up-alt-contact {
  opacity: 0;
  transform: translate3d(0, 100%, 0);
  animation-delay: 0ms;
  animation-duration: 0ms;
  animation-name: fade-in-up-alt;
  animation-timing-function: linear;
  animation-iteration-count: 1;
  animation-fill-mode: forwards; /* this prevents the animation from restarting! */
}
@media (min-width: 87.5em) {
  body.has-js .a__i--fade-in-up-alt-contact {
    transform: translate3d(0, 100%, 0);
    animation-delay: 0ms;
    animation-duration: 0ms;
    animation-name: fade-in-up-alt-contact-huge;
    animation-timing-function: linear;
    animation-iteration-count: 1;
    animation-fill-mode: forwards; /* this prevents the animation from restarting! */
  }
}
@media (min-width: 47.5em) {
  body.has-js .a__i--fade-in-up-boxes {
    opacity: 0;
    transform: translate3d(0, 100%, 0);
    animation-delay: 0ms;
    animation-duration: 0ms;
    animation-name: fade-in-up;
    animation-timing-function: linear;
    animation-iteration-count: 1;
    animation-fill-mode: forwards; /* this prevents the animation from restarting! */
  }
}
@media (min-width: 47.5em) {
  body.has-js .a__i--fade-in-boxes {
    opacity: 0;
    animation-delay: 0ms;
    animation-duration: 0ms;
    animation-name: fade-in;
    animation-timing-function: linear;
    animation-iteration-count: 1;
    animation-fill-mode: forwards; /* this prevents the animation from restarting! */
  }
}
@media (min-width: 47.5em) {
  body.has-js .a__i--fade-in-up-boxes {
    opacity: 0;
    animation-delay: 0ms;
    animation-duration: 0ms;
    animation-name: fade-in-up;
    animation-timing-function: linear;
    animation-iteration-count: 1;
    animation-fill-mode: forwards; /* this prevents the animation from restarting! */
  }
}
body.has-js .a__i--fade-in-up-figure {
  opacity: 0;
  transform: translate3d(0, 300%, 0);
  animation-delay: 0ms;
  animation-duration: 0ms;
  animation-name: fade-in-up-figure-mobile;
  animation-timing-function: linear;
  animation-iteration-count: 1;
  animation-fill-mode: forwards; /* this prevents the animation from restarting! */
}
@media (min-width: 47.5em) {
  body.has-js .a__i--fade-in-up-figure {
    transform: translate(-50%, -50%) translateX(210px) translate3d(0, 300%, 0);
    animation-delay: 0ms;
    animation-duration: 0ms;
    animation-name: fade-in-up-figure-tablet;
    animation-timing-function: linear;
    animation-iteration-count: 1;
    animation-fill-mode: forwards; /* this prevents the animation from restarting! */
  }
}
@media (min-width: 60em) {
  body.has-js .a__i--fade-in-up-figure {
    transform: translate(-50%, -50%) translateX(260px) translate3d(0, 300%, 0);
    animation-delay: 0ms;
    animation-duration: 0ms;
    animation-name: fade-in-up-figure-laptop;
    animation-timing-function: linear;
    animation-iteration-count: 1;
    animation-fill-mode: forwards; /* this prevents the animation from restarting! */
  }
}
@media (min-width: 87.5em) {
  body.has-js .a__i--fade-in-up-figure {
    transform: translate(-50%, -50%) translateX(375px) translate3d(0, 300%, 0);
    animation-delay: 0ms;
    animation-duration: 0ms;
    animation-name: fade-in-up-figure-huge;
    animation-timing-function: linear;
    animation-iteration-count: 1;
    animation-fill-mode: forwards; /* this prevents the animation from restarting! */
  }
}
body.has-js .a__i--fade-in-up-figure::before, body.has-js .a__i--fade-in-up-figure.nav-btn__btn::after, body.has-js .a__i--fade-in-up-figure.diagram__cable::after {
  opacity: 0;
  animation-delay: 2000ms;
  animation-duration: 400ms;
  animation-name: fade-in;
  animation-timing-function: linear;
  animation-iteration-count: 1;
  animation-fill-mode: forwards; /* this prevents the animation from restarting! */
}
body.has-js .a__i--fade-in-up-figure::after {
  opacity: 0;
  animation-delay: 2000ms;
  animation-duration: 400ms;
  animation-name: fade-in;
  animation-timing-function: linear;
  animation-iteration-count: 1;
  animation-fill-mode: forwards; /* this prevents the animation from restarting! */
}
body.has-js .a__i--fade-in-up-figure-large {
  opacity: 0;
  transform: translate3d(0, 300%, 0);
  animation-delay: 0ms;
  animation-duration: 0ms;
  animation-name: fade-in-up-figure-large-mobile;
  animation-timing-function: linear;
  animation-iteration-count: 1;
  animation-fill-mode: forwards; /* this prevents the animation from restarting! */
}
@media (min-width: 47.5em) {
  body.has-js .a__i--fade-in-up-figure-large {
    transform: translate(-50%, -50%) translateX(210px) translate3d(0, 300%, 0);
    animation-delay: 0ms;
    animation-duration: 0ms;
    animation-name: fade-in-up-figure-large-tablet;
    animation-timing-function: linear;
    animation-iteration-count: 1;
    animation-fill-mode: forwards; /* this prevents the animation from restarting! */
  }
}
@media (min-width: 60em) {
  body.has-js .a__i--fade-in-up-figure-large {
    transform: translate(-50%, -50%) translateX(260px) translate3d(0, 300%, 0);
    animation-delay: 0ms;
    animation-duration: 0ms;
    animation-name: fade-in-up-figure-large-laptop;
    animation-timing-function: linear;
    animation-iteration-count: 1;
    animation-fill-mode: forwards; /* this prevents the animation from restarting! */
  }
}
@media (min-width: 87.5em) {
  body.has-js .a__i--fade-in-up-figure-large {
    transform: translate(-50%, -50%) translateX(385px) translate3d(0, 300%, 0);
    animation-delay: 0ms;
    animation-duration: 0ms;
    animation-name: fade-in-up-figure-large-huge;
    animation-timing-function: linear;
    animation-iteration-count: 1;
    animation-fill-mode: forwards; /* this prevents the animation from restarting! */
  }
}
@media (min-width: 105em) {
  body.has-js .a__i--fade-in-up-figure-large {
    transform: translate(-50%, -50%) translateX(395px) translate3d(0, 300%, 0);
    animation-delay: 0ms;
    animation-duration: 0ms;
    animation-name: fade-in-up-figure-large-desktop;
    animation-timing-function: linear;
    animation-iteration-count: 1;
    animation-fill-mode: forwards; /* this prevents the animation from restarting! */
  }
}
body.has-js .a__i--fade-in-up-figure-large::before, body.has-js .a__i--fade-in-up-figure-large.nav-btn__btn::after, body.has-js .a__i--fade-in-up-figure-large.diagram__cable::after {
  opacity: 0;
  animation-delay: 2000ms;
  animation-duration: 400ms;
  animation-name: fade-in;
  animation-timing-function: linear;
  animation-iteration-count: 1;
  animation-fill-mode: forwards; /* this prevents the animation from restarting! */
}
body.has-js .a__i--fade-in-up-figure-large::after {
  opacity: 0;
  animation-delay: 2000ms;
  animation-duration: 400ms;
  animation-name: fade-in;
  animation-timing-function: linear;
  animation-iteration-count: 1;
  animation-fill-mode: forwards; /* this prevents the animation from restarting! */
}
body.has-js .a__i--bounce-in {
  opacity: 0;
  transform: scale3d(0.3, 0.3, 0.3);
  animation-delay: 0ms;
  animation-duration: 0ms;
  animation-name: bounce-in;
  animation-timing-function: linear;
  animation-iteration-count: 1;
  animation-fill-mode: forwards; /* this prevents the animation from restarting! */
}
body.has-js .a__i--bounce-in-alt {
  opacity: 0;
  transform: translateY(-50%) scale3d(0.3, 0.3, 0.3);
  animation-delay: 0ms;
  animation-duration: 0ms;
  animation-name: bounce-in-alt;
  animation-timing-function: linear;
  animation-iteration-count: 1;
  animation-fill-mode: forwards; /* this prevents the animation from restarting! */
}
body.has-js .a__i--bounce-in-center {
  opacity: 0;
  transform: translate(-50%, -50%) scale3d(0.3, 0.3, 0.3);
  animation-delay: 0ms;
  animation-duration: 0ms;
  animation-name: bounce-in-center;
  animation-timing-function: linear;
  animation-iteration-count: 1;
  animation-fill-mode: forwards; /* this prevents the animation from restarting! */
}
body.has-js .a__i--bounce-in-before::before, body.has-js .a__i--bounce-in-before.nav-btn__btn::after, body.has-js .a__i--bounce-in-before.diagram__cable::after {
  opacity: 0;
  transform: translateY(-50%) scale3d(0.3, 0.3, 0.3);
  animation-delay: 2400ms;
  animation-duration: 400ms;
  animation-name: bounce-in-before;
  animation-timing-function: linear;
  animation-iteration-count: 1;
  animation-fill-mode: forwards; /* this prevents the animation from restarting! */
}
body.has-js .a__i--bounce-in-before-second::before, body.has-js .a__i--bounce-in-before-second.nav-btn__btn::after, body.has-js .a__i--bounce-in-before-second.diagram__cable::after {
  opacity: 0;
  transform: translateY(-50%) scale3d(0.3, 0.3, 0.3);
  animation-delay: 3200ms;
  animation-duration: 400ms;
  animation-name: bounce-in-before;
  animation-timing-function: linear;
  animation-iteration-count: 1;
  animation-fill-mode: forwards; /* this prevents the animation from restarting! */
}
body.has-js .a__i--pulse {
  opacity: 0;
  transform: scale3d(1, 1, 1);
  animation-delay: 0ms;
  animation-duration: 0ms;
  animation-name: pulse;
  animation-timing-function: linear;
  animation-iteration-count: 1;
  animation-fill-mode: forwards; /* this prevents the animation from restarting! */
}
body.has-js .a__i--bounce-in-before-li::before, body.has-js .a__i--bounce-in-before-li.nav-btn__btn::after, body.has-js .a__i--bounce-in-before-li.diagram__cable::after {
  opacity: 0;
  transform: scale3d(0.3, 0.3, 0.3);
  animation-delay: 2000ms;
  animation-duration: 400ms;
  animation-name: bounce-in;
  animation-timing-function: linear;
  animation-iteration-count: 1;
  animation-fill-mode: forwards; /* this prevents the animation from restarting! */
}
@media (min-width: 47.5em) {
  body.has-js .a__i--bounce-in-before-li::before, body.has-js .a__i--bounce-in-before-li.nav-btn__btn::after, body.has-js .a__i--bounce-in-before-li.diagram__cable::after {
    transform: translateY(-50%) scale3d(0.3, 0.3, 0.3);
    animation-delay: 2000ms;
    animation-duration: 400ms;
    animation-name: bounce-in-before;
    animation-timing-function: linear;
    animation-iteration-count: 1;
    animation-fill-mode: forwards; /* this prevents the animation from restarting! */
  }
}
body.has-js .a__i--flip-in-x {
  animation-delay: 0ms;
  animation-duration: 0ms;
  animation-name: flip-in-x;
  animation-timing-function: linear;
  animation-iteration-count: 1;
  animation-fill-mode: forwards; /* this prevents the animation from restarting! */
  transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
  animation-timing-function: ease-in;
  opacity: 0;
}
body.has-js .a__i--hide {
  display: none;
  mix-blend-mode: normal;
  filter: none;
  animation-delay: 0ms;
  animation-duration: 0ms;
  animation-name: hide;
  animation-timing-function: linear;
  animation-iteration-count: 1;
  animation-fill-mode: forwards; /* this prevents the animation from restarting! */
}
body.has-js .a__i--slide-up {
  transform: translateY(100%);
  animation-delay: 0ms;
  animation-duration: 0ms;
  animation-name: slide-up;
  animation-timing-function: linear;
  animation-iteration-count: 1;
  animation-fill-mode: forwards; /* this prevents the animation from restarting! */
}
@media (min-width: 47.5em) {
  body.has-js .a__i--slide-up-alt {
    transform: translateX(-50%) translateX(340px) translateY(100%);
    animation-delay: 0ms;
    animation-duration: 0ms;
    animation-name: slide-up-alt-tablet;
    animation-timing-function: linear;
    animation-iteration-count: 1;
    animation-fill-mode: forwards; /* this prevents the animation from restarting! */
  }
}
@media (min-width: 87.5em) {
  body.has-js .a__i--slide-up-alt {
    transform: translateX(-50%) translateX(340px) translateY(100%);
    animation-delay: 0ms;
    animation-duration: 0ms;
    animation-name: slide-up-alt-huge;
    animation-timing-function: linear;
    animation-iteration-count: 1;
    animation-fill-mode: forwards; /* this prevents the animation from restarting! */
  }
}
@media (min-width: 47.5em) {
  body.has-js .a__i--slide-up-alt-services {
    transform: translateX(-50%) translateX(340px) translateY(100%);
    animation-delay: 0ms;
    animation-duration: 0ms;
    animation-name: slide-up-alt-tablet;
    animation-timing-function: linear;
    animation-iteration-count: 1;
    animation-fill-mode: forwards; /* this prevents the animation from restarting! */
  }
}
@media (min-width: 87.5em) {
  body.has-js .a__i--slide-up-alt-services {
    transform: translateX(-50%) translateX(265px) translateY(100%);
    animation-delay: 0ms;
    animation-duration: 0ms;
    animation-name: slide-up-alt-huge-services;
    animation-timing-function: linear;
    animation-iteration-count: 1;
    animation-fill-mode: forwards; /* this prevents the animation from restarting! */
  }
}
@media (min-width: 47.5em) {
  body.has-js .a__i--slide-up-alt-about {
    transform: translateX(-50%) translateX(340px) translateY(100%);
    animation-delay: 0ms;
    animation-duration: 0ms;
    animation-name: slide-up-alt-tablet;
    animation-timing-function: linear;
    animation-iteration-count: 1;
    animation-fill-mode: forwards; /* this prevents the animation from restarting! */
  }
}
@media (min-width: 105em) {
  body.has-js .a__i--slide-up-alt-about {
    transform: translateX(-50%) translateX(385px) translateY(100%);
    animation-delay: 0ms;
    animation-duration: 0ms;
    animation-name: slide-up-alt-huge-about;
    animation-timing-function: linear;
    animation-iteration-count: 1;
    animation-fill-mode: forwards; /* this prevents the animation from restarting! */
  }
}
@media (min-width: 47.5em) {
  body.has-js .a__i--slide-up-alt-contact {
    transform: translateX(-50%) translateX(340px) translateY(100%);
    animation-delay: 0ms;
    animation-duration: 0ms;
    animation-name: slide-up-alt-tablet;
    animation-timing-function: linear;
    animation-iteration-count: 1;
    animation-fill-mode: forwards; /* this prevents the animation from restarting! */
  }
}
@media (min-width: 87.5em) {
  body.has-js .a__i--slide-up-alt-contact {
    transform: translateX(-50%) translateX(470px) translateY(100%);
    animation-delay: 0ms;
    animation-duration: 0ms;
    animation-name: slide-up-alt-huge-contact;
    animation-timing-function: linear;
    animation-iteration-count: 1;
    animation-fill-mode: forwards; /* this prevents the animation from restarting! */
  }
}
body.has-js .a__i--slide-down {
  transform: translateY(-100%);
  animation-delay: 0ms;
  animation-duration: 0ms;
  animation-name: slide-down;
  animation-timing-function: linear;
  animation-iteration-count: 1;
  animation-fill-mode: forwards; /* this prevents the animation from restarting! */
}
body.has-js .a__i--circle-anim {
  stroke-dasharray: 162;
  stroke-dashoffset: -122;
  animation-delay: 0ms;
  animation-duration: 0ms;
  animation-name: circle-anim;
  animation-timing-function: linear;
  animation-iteration-count: 1;
  animation-fill-mode: forwards; /* this prevents the animation from restarting! */
}
body.has-js .a__i--circle-anim-reverse {
  stroke-dasharray: 162;
  stroke-dashoffset: -122;
  animation-delay: 0ms;
  animation-duration: 0ms;
  animation-name: circle-anim-reverse;
  animation-timing-function: linear;
  animation-iteration-count: 1;
  animation-fill-mode: forwards; /* this prevents the animation from restarting! */
}
body.has-js .a__i--sig-draw {
  stroke-dasharray: 1000;
  stroke-dashoffset: -1000;
  animation-delay: 0ms;
  animation-duration: 0ms;
  animation-name: sig-draw;
  animation-timing-function: linear;
  animation-iteration-count: 1;
  animation-fill-mode: forwards; /* this prevents the animation from restarting! */
}
body.has-js .a__i--height100 {
  height: 0;
  animation-delay: 0ms;
  animation-duration: 0ms;
  animation-name: height100;
  animation-timing-function: linear;
  animation-iteration-count: 1;
  animation-fill-mode: forwards; /* this prevents the animation from restarting! */
}
body.has-js .a__i--line-extend::before, body.has-js .a__i--line-extend.nav-btn__btn::after, body.has-js .a__i--line-extend.diagram__cable::after {
  height: 0;
  animation-delay: 0ms;
  animation-duration: 400ms;
  animation-name: height100;
  animation-timing-function: linear;
  animation-iteration-count: 1;
  animation-fill-mode: forwards; /* this prevents the animation from restarting! */
}
body.has-js .a__i--width100-alt {
  width: 0;
  animation-delay: 0ms;
  animation-duration: 0ms;
  animation-name: width100-alt;
  animation-timing-function: linear;
  animation-iteration-count: 1;
  animation-fill-mode: forwards; /* this prevents the animation from restarting! */
}
body.has-js .a__i--bg {
  background: rgba(255, 255, 255, 0);
  animation-delay: 0ms;
  animation-duration: 0ms;
  animation-name: bg-anim;
  animation-timing-function: linear;
  animation-iteration-count: 1;
  animation-fill-mode: forwards; /* this prevents the animation from restarting! */
}
body.has-js .a__i--circles-anim {
  animation-delay: 3000ms;
  animation-duration: 400ms;
  animation-name: circle-fill;
  animation-timing-function: linear;
  animation-iteration-count: 1;
  animation-fill-mode: forwards; /* this prevents the animation from restarting! */
}
body.has-js .a__i--circles-anim::before, body.has-js .a__i--circles-anim.nav-btn__btn::after, body.has-js .a__i--circles-anim.diagram__cable::after {
  height: 0;
  animation-delay: 1100ms;
  animation-duration: 300ms;
  animation-name: line-anim-alt;
  animation-timing-function: linear;
  animation-iteration-count: 1;
  animation-fill-mode: forwards; /* this prevents the animation from restarting! */
}
@media (min-width: 37.5em) {
  body.has-js .a__i--circles-anim::before, body.has-js .a__i--circles-anim.nav-btn__btn::after, body.has-js .a__i--circles-anim.diagram__cable::after {
    width: 0;
    height: 3px;
    animation-delay: 1100ms;
    animation-duration: 300ms;
    animation-name: line-anim;
    animation-timing-function: linear;
    animation-iteration-count: 1;
    animation-fill-mode: forwards; /* this prevents the animation from restarting! */
  }
}
body.has-js .a__i--circles-anim::after {
  border-width: 0px 11.5px 0 11.5px;
  animation-delay: 1200ms;
  animation-duration: 100ms;
  animation-name: arrow-anim-alt;
  animation-timing-function: linear;
  animation-iteration-count: 1;
  animation-fill-mode: forwards; /* this prevents the animation from restarting! */
}
@media (min-width: 37.5em) {
  body.has-js .a__i--circles-anim::after {
    border-width: 11.5px 0 11.5px 0;
    animation-delay: 1200ms;
    animation-duration: 100ms;
    animation-name: arrow-anim;
    animation-timing-function: linear;
    animation-iteration-count: 1;
    animation-fill-mode: forwards; /* this prevents the animation from restarting! */
  }
}
body.has-js .a__i--circles-anim-2 {
  animation-delay: 4000ms;
  animation-duration: 400ms;
  animation-name: circle-fill;
  animation-timing-function: linear;
  animation-iteration-count: 1;
  animation-fill-mode: forwards; /* this prevents the animation from restarting! */
}
body.has-js .a__i--circles-anim-2::before, body.has-js .a__i--circles-anim-2.nav-btn__btn::after, body.has-js .a__i--circles-anim-2.diagram__cable::after {
  height: 0;
  animation-delay: 2000ms;
  animation-duration: 300ms;
  animation-name: line-anim-alt;
  animation-timing-function: linear;
  animation-iteration-count: 1;
  animation-fill-mode: forwards; /* this prevents the animation from restarting! */
}
@media (min-width: 37.5em) {
  body.has-js .a__i--circles-anim-2::before, body.has-js .a__i--circles-anim-2.nav-btn__btn::after, body.has-js .a__i--circles-anim-2.diagram__cable::after {
    width: 0;
    height: 3px;
    animation-delay: 2000ms;
    animation-duration: 300ms;
    animation-name: line-anim;
    animation-timing-function: linear;
    animation-iteration-count: 1;
    animation-fill-mode: forwards; /* this prevents the animation from restarting! */
  }
}
body.has-js .a__i--circles-anim-2::after {
  border-width: 0px 11.5px 0 11.5px;
  animation-delay: 2100ms;
  animation-duration: 100ms;
  animation-name: arrow-anim-alt;
  animation-timing-function: linear;
  animation-iteration-count: 1;
  animation-fill-mode: forwards; /* this prevents the animation from restarting! */
}
@media (min-width: 37.5em) {
  body.has-js .a__i--circles-anim-2::after {
    border-width: 11.5px 0 11.5px 0;
    animation-delay: 2100ms;
    animation-duration: 100ms;
    animation-name: arrow-anim;
    animation-timing-function: linear;
    animation-iteration-count: 1;
    animation-fill-mode: forwards; /* this prevents the animation from restarting! */
  }
}
body.has-js .a__i--circles-anim-3 {
  animation-delay: 5000ms;
  animation-duration: 400ms;
  animation-name: circle-fill;
  animation-timing-function: linear;
  animation-iteration-count: 1;
  animation-fill-mode: forwards; /* this prevents the animation from restarting! */
}
body.has-js .a__i--dur-100 {
  animation-duration: 100ms;
}
body.has-js .a__i--delay-100 {
  animation-delay: 100ms;
}
body.has-js .a__i--dur-200 {
  animation-duration: 200ms;
}
body.has-js .a__i--delay-200 {
  animation-delay: 200ms;
}
body.has-js .a__i--dur-300 {
  animation-duration: 300ms;
}
body.has-js .a__i--delay-300 {
  animation-delay: 300ms;
}
body.has-js .a__i--dur-400 {
  animation-duration: 400ms;
}
body.has-js .a__i--delay-400 {
  animation-delay: 400ms;
}
body.has-js .a__i--dur-500 {
  animation-duration: 500ms;
}
body.has-js .a__i--delay-500 {
  animation-delay: 500ms;
}
body.has-js .a__i--dur-600 {
  animation-duration: 600ms;
}
body.has-js .a__i--delay-600 {
  animation-delay: 600ms;
}
body.has-js .a__i--dur-700 {
  animation-duration: 700ms;
}
body.has-js .a__i--delay-700 {
  animation-delay: 700ms;
}
body.has-js .a__i--dur-800 {
  animation-duration: 800ms;
}
body.has-js .a__i--delay-800 {
  animation-delay: 800ms;
}
body.has-js .a__i--dur-900 {
  animation-duration: 900ms;
}
body.has-js .a__i--delay-900 {
  animation-delay: 900ms;
}
body.has-js .a__i--dur-1000 {
  animation-duration: 1000ms;
}
body.has-js .a__i--delay-1000 {
  animation-delay: 1000ms;
}
body.has-js .a__i--dur-1100 {
  animation-duration: 1100ms;
}
body.has-js .a__i--delay-1100 {
  animation-delay: 1100ms;
}
body.has-js .a__i--dur-1200 {
  animation-duration: 1200ms;
}
body.has-js .a__i--delay-1200 {
  animation-delay: 1200ms;
}
body.has-js .a__i--dur-1300 {
  animation-duration: 1300ms;
}
body.has-js .a__i--delay-1300 {
  animation-delay: 1300ms;
}
body.has-js .a__i--dur-1400 {
  animation-duration: 1400ms;
}
body.has-js .a__i--delay-1400 {
  animation-delay: 1400ms;
}
body.has-js .a__i--dur-1500 {
  animation-duration: 1500ms;
}
body.has-js .a__i--delay-1500 {
  animation-delay: 1500ms;
}
body.has-js .a__i--dur-1600 {
  animation-duration: 1600ms;
}
body.has-js .a__i--delay-1600 {
  animation-delay: 1600ms;
}
body.has-js .a__i--dur-1700 {
  animation-duration: 1700ms;
}
body.has-js .a__i--delay-1700 {
  animation-delay: 1700ms;
}
body.has-js .a__i--dur-1800 {
  animation-duration: 1800ms;
}
body.has-js .a__i--delay-1800 {
  animation-delay: 1800ms;
}
body.has-js .a__i--dur-1900 {
  animation-duration: 1900ms;
}
body.has-js .a__i--delay-1900 {
  animation-delay: 1900ms;
}
body.has-js .a__i--dur-2000 {
  animation-duration: 2000ms;
}
body.has-js .a__i--delay-2000 {
  animation-delay: 2000ms;
}
body.has-js .a__i--dur-2100 {
  animation-duration: 2100ms;
}
body.has-js .a__i--delay-2100 {
  animation-delay: 2100ms;
}
body.has-js .a__i--dur-2200 {
  animation-duration: 2200ms;
}
body.has-js .a__i--delay-2200 {
  animation-delay: 2200ms;
}
body.has-js .a__i--dur-2300 {
  animation-duration: 2300ms;
}
body.has-js .a__i--delay-2300 {
  animation-delay: 2300ms;
}
body.has-js .a__i--dur-2400 {
  animation-duration: 2400ms;
}
body.has-js .a__i--delay-2400 {
  animation-delay: 2400ms;
}
body.has-js .a__i--dur-2500 {
  animation-duration: 2500ms;
}
body.has-js .a__i--delay-2500 {
  animation-delay: 2500ms;
}
body.has-js .a__i--dur-2600 {
  animation-duration: 2600ms;
}
body.has-js .a__i--delay-2600 {
  animation-delay: 2600ms;
}
body.has-js .a__i--dur-2700 {
  animation-duration: 2700ms;
}
body.has-js .a__i--delay-2700 {
  animation-delay: 2700ms;
}
body.has-js .a__i--dur-2800 {
  animation-duration: 2800ms;
}
body.has-js .a__i--delay-2800 {
  animation-delay: 2800ms;
}
body.has-js .a__i--dur-2900 {
  animation-duration: 2900ms;
}
body.has-js .a__i--delay-2900 {
  animation-delay: 2900ms;
}
body.has-js .a__i--dur-3000 {
  animation-duration: 3000ms;
}
body.has-js .a__i--delay-3000 {
  animation-delay: 3000ms;
}
body.has-js .a__i--dur-3100 {
  animation-duration: 3100ms;
}
body.has-js .a__i--delay-3100 {
  animation-delay: 3100ms;
}
body.has-js .a__i--dur-3200 {
  animation-duration: 3200ms;
}
body.has-js .a__i--delay-3200 {
  animation-delay: 3200ms;
}
body.has-js .a__i--dur-3300 {
  animation-duration: 3300ms;
}
body.has-js .a__i--delay-3300 {
  animation-delay: 3300ms;
}
body.has-js .a__i--dur-3400 {
  animation-duration: 3400ms;
}
body.has-js .a__i--delay-3400 {
  animation-delay: 3400ms;
}
body.has-js .a__i--dur-3500 {
  animation-duration: 3500ms;
}
body.has-js .a__i--delay-3500 {
  animation-delay: 3500ms;
}
body.has-js .a__i--dur-3600 {
  animation-duration: 3600ms;
}
body.has-js .a__i--delay-3600 {
  animation-delay: 3600ms;
}
body.has-js .a__i--dur-3700 {
  animation-duration: 3700ms;
}
body.has-js .a__i--delay-3700 {
  animation-delay: 3700ms;
}
body.has-js .a__i--dur-3800 {
  animation-duration: 3800ms;
}
body.has-js .a__i--delay-3800 {
  animation-delay: 3800ms;
}
body.has-js .a__i--dur-3900 {
  animation-duration: 3900ms;
}
body.has-js .a__i--delay-3900 {
  animation-delay: 3900ms;
}
body.has-js .a__i--dur-4000 {
  animation-duration: 4000ms;
}
body.has-js .a__i--delay-4000 {
  animation-delay: 4000ms;
}
body.has-js .a__i--dur-4100 {
  animation-duration: 4100ms;
}
body.has-js .a__i--delay-4100 {
  animation-delay: 4100ms;
}
body.has-js .a__i--dur-4200 {
  animation-duration: 4200ms;
}
body.has-js .a__i--delay-4200 {
  animation-delay: 4200ms;
}
body.has-js .a__i--dur-4300 {
  animation-duration: 4300ms;
}
body.has-js .a__i--delay-4300 {
  animation-delay: 4300ms;
}
body.has-js .a__i--dur-4400 {
  animation-duration: 4400ms;
}
body.has-js .a__i--delay-4400 {
  animation-delay: 4400ms;
}
body.has-js .a__i--dur-4500 {
  animation-duration: 4500ms;
}
body.has-js .a__i--delay-4500 {
  animation-delay: 4500ms;
}
body.has-js .a__i--dur-4600 {
  animation-duration: 4600ms;
}
body.has-js .a__i--delay-4600 {
  animation-delay: 4600ms;
}
body.has-js .a__i--dur-4700 {
  animation-duration: 4700ms;
}
body.has-js .a__i--delay-4700 {
  animation-delay: 4700ms;
}
body.has-js .a__i--dur-4800 {
  animation-duration: 4800ms;
}
body.has-js .a__i--delay-4800 {
  animation-delay: 4800ms;
}
body.has-js .a__i--dur-4900 {
  animation-duration: 4900ms;
}
body.has-js .a__i--delay-4900 {
  animation-delay: 4900ms;
}
body.has-js .a__i--dur-5000 {
  animation-duration: 5000ms;
}
body.has-js .a__i--delay-5000 {
  animation-delay: 5000ms;
}
body.has-js .a__i--dur-5100 {
  animation-duration: 5100ms;
}
body.has-js .a__i--delay-5100 {
  animation-delay: 5100ms;
}
body.has-js .a__i--dur-5200 {
  animation-duration: 5200ms;
}
body.has-js .a__i--delay-5200 {
  animation-delay: 5200ms;
}
body.has-js .a__i--dur-5300 {
  animation-duration: 5300ms;
}
body.has-js .a__i--delay-5300 {
  animation-delay: 5300ms;
}
body.has-js .a__i--dur-5400 {
  animation-duration: 5400ms;
}
body.has-js .a__i--delay-5400 {
  animation-delay: 5400ms;
}
body.has-js .a__i--dur-5500 {
  animation-duration: 5500ms;
}
body.has-js .a__i--delay-5500 {
  animation-delay: 5500ms;
}
body.has-js .a__i--dur-5600 {
  animation-duration: 5600ms;
}
body.has-js .a__i--delay-5600 {
  animation-delay: 5600ms;
}
body.has-js .a__i--dur-5700 {
  animation-duration: 5700ms;
}
body.has-js .a__i--delay-5700 {
  animation-delay: 5700ms;
}
body.has-js .a__i--dur-5800 {
  animation-duration: 5800ms;
}
body.has-js .a__i--delay-5800 {
  animation-delay: 5800ms;
}
body.has-js .a__i--dur-5900 {
  animation-duration: 5900ms;
}
body.has-js .a__i--delay-5900 {
  animation-delay: 5900ms;
}
body.has-js .a__i--dur-6000 {
  animation-duration: 6000ms;
}
body.has-js .a__i--delay-6000 {
  animation-delay: 6000ms;
}
body.has-js .a__i--dur-6100 {
  animation-duration: 6100ms;
}
body.has-js .a__i--delay-6100 {
  animation-delay: 6100ms;
}
body.has-js .a__i--dur-6200 {
  animation-duration: 6200ms;
}
body.has-js .a__i--delay-6200 {
  animation-delay: 6200ms;
}
body.has-js .a__i--dur-6300 {
  animation-duration: 6300ms;
}
body.has-js .a__i--delay-6300 {
  animation-delay: 6300ms;
}
body.has-js .a__i--dur-6400 {
  animation-duration: 6400ms;
}
body.has-js .a__i--delay-6400 {
  animation-delay: 6400ms;
}
body.has-js .a__i--dur-6500 {
  animation-duration: 6500ms;
}
body.has-js .a__i--delay-6500 {
  animation-delay: 6500ms;
}
body.has-js .a__i--dur-6600 {
  animation-duration: 6600ms;
}
body.has-js .a__i--delay-6600 {
  animation-delay: 6600ms;
}
body.has-js .a__i--dur-6700 {
  animation-duration: 6700ms;
}
body.has-js .a__i--delay-6700 {
  animation-delay: 6700ms;
}
body.has-js .a__i--dur-6800 {
  animation-duration: 6800ms;
}
body.has-js .a__i--delay-6800 {
  animation-delay: 6800ms;
}
body.has-js .a__i--dur-6900 {
  animation-duration: 6900ms;
}
body.has-js .a__i--delay-6900 {
  animation-delay: 6900ms;
}
body.has-js .a__i--dur-7000 {
  animation-duration: 7000ms;
}
body.has-js .a__i--delay-7000 {
  animation-delay: 7000ms;
}
body.has-js .a__i--dur-7100 {
  animation-duration: 7100ms;
}
body.has-js .a__i--delay-7100 {
  animation-delay: 7100ms;
}
body.has-js .a__i--dur-7200 {
  animation-duration: 7200ms;
}
body.has-js .a__i--delay-7200 {
  animation-delay: 7200ms;
}
body.has-js .a__i--dur-7300 {
  animation-duration: 7300ms;
}
body.has-js .a__i--delay-7300 {
  animation-delay: 7300ms;
}
body.has-js .a__i--dur-7400 {
  animation-duration: 7400ms;
}
body.has-js .a__i--delay-7400 {
  animation-delay: 7400ms;
}
body.has-js .a__i--dur-7500 {
  animation-duration: 7500ms;
}
body.has-js .a__i--delay-7500 {
  animation-delay: 7500ms;
}
body.has-js .a__i--dur-7600 {
  animation-duration: 7600ms;
}
body.has-js .a__i--delay-7600 {
  animation-delay: 7600ms;
}
body.has-js .a__i--dur-7700 {
  animation-duration: 7700ms;
}
body.has-js .a__i--delay-7700 {
  animation-delay: 7700ms;
}
body.has-js .a__i--dur-7800 {
  animation-duration: 7800ms;
}
body.has-js .a__i--delay-7800 {
  animation-delay: 7800ms;
}
body.has-js .a__i--dur-7900 {
  animation-duration: 7900ms;
}
body.has-js .a__i--delay-7900 {
  animation-delay: 7900ms;
}
body.has-js .a__i--dur-8000 {
  animation-duration: 8000ms;
}
body.has-js .a__i--delay-8000 {
  animation-delay: 8000ms;
}
body.has-js .a__i--dur-8100 {
  animation-duration: 8100ms;
}
body.has-js .a__i--delay-8100 {
  animation-delay: 8100ms;
}
body.has-js .a__i--dur-8200 {
  animation-duration: 8200ms;
}
body.has-js .a__i--delay-8200 {
  animation-delay: 8200ms;
}
body.has-js .a__i--dur-8300 {
  animation-duration: 8300ms;
}
body.has-js .a__i--delay-8300 {
  animation-delay: 8300ms;
}
body.has-js .a__i--dur-8400 {
  animation-duration: 8400ms;
}
body.has-js .a__i--delay-8400 {
  animation-delay: 8400ms;
}
body.has-js .a__i--dur-8500 {
  animation-duration: 8500ms;
}
body.has-js .a__i--delay-8500 {
  animation-delay: 8500ms;
}
body.has-js .a__i--dur-8600 {
  animation-duration: 8600ms;
}
body.has-js .a__i--delay-8600 {
  animation-delay: 8600ms;
}
body.has-js .a__i--dur-8700 {
  animation-duration: 8700ms;
}
body.has-js .a__i--delay-8700 {
  animation-delay: 8700ms;
}
body.has-js .a__i--dur-8800 {
  animation-duration: 8800ms;
}
body.has-js .a__i--delay-8800 {
  animation-delay: 8800ms;
}
body.has-js .a__i--dur-8900 {
  animation-duration: 8900ms;
}
body.has-js .a__i--delay-8900 {
  animation-delay: 8900ms;
}
body.has-js .a__i--dur-9000 {
  animation-duration: 9000ms;
}
body.has-js .a__i--delay-9000 {
  animation-delay: 9000ms;
}
body.has-js .a__i--dur-9100 {
  animation-duration: 9100ms;
}
body.has-js .a__i--delay-9100 {
  animation-delay: 9100ms;
}
body.has-js .a__i--dur-9200 {
  animation-duration: 9200ms;
}
body.has-js .a__i--delay-9200 {
  animation-delay: 9200ms;
}
body.has-js .a__i--dur-9300 {
  animation-duration: 9300ms;
}
body.has-js .a__i--delay-9300 {
  animation-delay: 9300ms;
}
body.has-js .a__i--dur-9400 {
  animation-duration: 9400ms;
}
body.has-js .a__i--delay-9400 {
  animation-delay: 9400ms;
}
body.has-js .a__i--dur-9500 {
  animation-duration: 9500ms;
}
body.has-js .a__i--delay-9500 {
  animation-delay: 9500ms;
}
body.has-js .a__i--dur-9600 {
  animation-duration: 9600ms;
}
body.has-js .a__i--delay-9600 {
  animation-delay: 9600ms;
}
body.has-js .a__i--dur-9700 {
  animation-duration: 9700ms;
}
body.has-js .a__i--delay-9700 {
  animation-delay: 9700ms;
}
body.has-js .a__i--dur-9800 {
  animation-duration: 9800ms;
}
body.has-js .a__i--delay-9800 {
  animation-delay: 9800ms;
}
body.has-js .a__i--dur-9900 {
  animation-duration: 9900ms;
}
body.has-js .a__i--delay-9900 {
  animation-delay: 9900ms;
}
body.has-js .a__i--dur-10000 {
  animation-duration: 10000ms;
}
body.has-js .a__i--delay-10000 {
  animation-delay: 10000ms;
}
body.has-js .a--play .a__i {
  animation-play-state: running;
}
body.has-js .a--play .a__i::before, body.has-js .a--play .a__i::after {
  animation-play-state: running;
}
body.has-js .a .footer__col--sitemap {
  opacity: 0;
  animation-delay: 0ms;
  animation-duration: 0ms;
  animation-name: fade-in;
  animation-timing-function: linear;
  animation-iteration-count: 1;
  animation-fill-mode: forwards; /* this prevents the animation from restarting! */
  animation-duration: 500ms;
  animation-delay: 1000ms;
}
@media (min-width: 73.75em) {
  body.has-js .a .footer__col--sitemap {
    opacity: 0;
    animation-delay: 0ms;
    animation-duration: 0ms;
    animation-name: fade-in;
    animation-timing-function: linear;
    animation-iteration-count: 1;
    animation-fill-mode: forwards; /* this prevents the animation from restarting! */
    animation-duration: 500ms;
    animation-delay: 1500ms;
  }
}
body.has-js .a .footer__col--contact {
  opacity: 0;
  animation-delay: 0ms;
  animation-duration: 0ms;
  animation-name: fade-in;
  animation-timing-function: linear;
  animation-iteration-count: 1;
  animation-fill-mode: forwards; /* this prevents the animation from restarting! */
  animation-duration: 500ms;
  animation-delay: 1500ms;
}
@media (min-width: 47.5em) {
  body.has-js .a .footer__col--contact {
    opacity: 0;
    animation-delay: 0ms;
    animation-duration: 0ms;
    animation-name: fade-in;
    animation-timing-function: linear;
    animation-iteration-count: 1;
    animation-fill-mode: forwards; /* this prevents the animation from restarting! */
    animation-duration: 500ms;
    animation-delay: 2000ms;
  }
}
body.has-js .a .footer__col--about {
  opacity: 0;
  animation-delay: 0ms;
  animation-duration: 0ms;
  animation-name: fade-in;
  animation-timing-function: linear;
  animation-iteration-count: 1;
  animation-fill-mode: forwards; /* this prevents the animation from restarting! */
  animation-duration: 500ms;
  animation-delay: 2000ms;
}
@media (min-width: 47.5em) {
  body.has-js .a .footer__col--about {
    opacity: 0;
    animation-delay: 0ms;
    animation-duration: 0ms;
    animation-name: fade-in;
    animation-timing-function: linear;
    animation-iteration-count: 1;
    animation-fill-mode: forwards; /* this prevents the animation from restarting! */
    animation-duration: 500ms;
    animation-delay: 1500ms;
  }
}
@media (min-width: 73.75em) {
  body.has-js .a .footer__col--about {
    opacity: 0;
    animation-delay: 0ms;
    animation-duration: 0ms;
    animation-name: fade-in;
    animation-timing-function: linear;
    animation-iteration-count: 1;
    animation-fill-mode: forwards; /* this prevents the animation from restarting! */
    animation-duration: 500ms;
    animation-delay: 2500ms;
  }
}
body.has-js .a .footer__col--copy {
  opacity: 0;
  animation-delay: 0ms;
  animation-duration: 0ms;
  animation-name: fade-in;
  animation-timing-function: linear;
  animation-iteration-count: 1;
  animation-fill-mode: forwards; /* this prevents the animation from restarting! */
  animation-duration: 500ms;
  animation-delay: 2500ms;
}
@media (min-width: 47.5em) {
  body.has-js .a .footer__col--copy {
    opacity: 0;
    animation-delay: 0ms;
    animation-duration: 0ms;
    animation-name: fade-in;
    animation-timing-function: linear;
    animation-iteration-count: 1;
    animation-fill-mode: forwards; /* this prevents the animation from restarting! */
    animation-duration: 500ms;
    animation-delay: 2500ms;
  }
}
@media (min-width: 73.75em) {
  body.has-js .a .footer__col--copy {
    opacity: 0;
    animation-delay: 0ms;
    animation-duration: 0ms;
    animation-name: fade-in;
    animation-timing-function: linear;
    animation-iteration-count: 1;
    animation-fill-mode: forwards; /* this prevents the animation from restarting! */
    animation-duration: 500ms;
    animation-delay: 1000ms;
  }
}

@keyframes cd-sequence {
  0% {
    /* translateX(-2%) is used to horizontally center the first frame inside the viewport */
    transform: translateY(-50%) translateX(-2%);
  }
  100% {
    /* translateX(-98%) (2% + 96) is used to horizontally center the last frame inside the viewport  */
    transform: translateY(-50%) translateX(-98%);
  }
}
@keyframes pulsate-back {
  0% {
    transform: scale(1);
  }
  50% {
    transform: scale(0.95);
  }
  100% {
    transform: scale(1);
  }
}
@keyframes pulsate-back-next-tablet {
  0% {
    transform: translateX(-50%) translateX(40px) scale(1);
  }
  50% {
    transform: translateX(-50%) translateX(40px) scale(0.95);
  }
  100% {
    transform: translateX(-50%) translateX(40px) scale(1);
  }
}
@keyframes pulsate-back-next-laptop {
  0% {
    transform: translateX(-50%) translateX(49px) scale(1);
  }
  50% {
    transform: translateX(-50%) translateX(49px) scale(0.95);
  }
  100% {
    transform: translateX(-50%) translateX(49px) scale(1);
  }
}
@keyframes draw-down-out {
  0% {
    height: 0;
  }
  35% {
    height: 7px;
    opacity: 1;
    transform: translateX(-50%) translateY(0);
  }
  100% {
    height: 7px;
    opacity: 0;
    transform: translateX(-50%) translateY(15px);
  }
}
@keyframes ping {
  0% {
    width: 100%;
    height: 100%;
    opacity: 0.4;
  }
  50% {
    width: 100%;
    height: 100%;
    opacity: 0.4;
  }
  100% {
    opacity: 0;
    width: 135%;
    height: 135%;
  }
}
@keyframes fade-in-down {
  0% {
    opacity: 0;
    transform: translateY(-100%);
  }
  100% {
    opacity: 1;
    transform: translateY(0) translateZ(0);
  }
}
@keyframes fade-in-left {
  0% {
    opacity: 0;
    transform: translateX(100%) translateZ(0);
  }
  20% {
    opacity: 0;
  }
  100% {
    opacity: 1;
    transform: translateX(0) translateZ(0);
  }
}
@keyframes fade-in-left-600 {
  0% {
    opacity: 0;
    transform: translate(-50%, -50%) translateX(100%) translateZ(0);
  }
  20% {
    opacity: 0;
  }
  100% {
    opacity: 1;
    transform: translate(-50%, -50%) translateX(0) translateZ(0);
  }
}
@keyframes fade-in-left-laptop {
  0% {
    opacity: 0;
    transform: translateY(-50%) translateX(100%) translateZ(0);
  }
  20% {
    opacity: 0;
  }
  100% {
    opacity: 1;
    transform: translateY(-50%) translateX(0) translateZ(0);
  }
}
@keyframes fade-in-right {
  0% {
    opacity: 0;
    transform: translateX(-100%) translateZ(0);
  }
  20% {
    opacity: 0;
  }
  100% {
    opacity: 1;
    transform: translateX(0) translateZ(0);
  }
}
@keyframes fade-in-right-laptop {
  0% {
    opacity: 0;
    transform: translateY(-50%) translateX(-100%) translateZ(0);
  }
  20% {
    opacity: 0;
  }
  100% {
    opacity: 1;
    transform: translateY(-50%) translateX(0) translateZ(0);
  }
}
@keyframes fade-in {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@keyframes fade-out {
  0% {
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}
@keyframes fade-out-down {
  0% {
    opacity: 1;
    transform: translateY(0) translateZ(0);
  }
  60% {
    opacity: 0;
  }
  100% {
    opacity: 0;
    transform: translateY(100%) translateZ(0);
  }
}
@keyframes fade-in-up {
  0% {
    opacity: 0;
    transform: translateY(100%) translateZ(0);
  }
  60% {
    opacity: 1;
  }
  100% {
    opacity: 1;
    transform: translateY(0) translateZ(0);
  }
}
@keyframes fade-out-up {
  0% {
    opacity: 1;
    transform: translateY(0) translateZ(0);
  }
  20% {
    opacity: 1;
  }
  100% {
    opacity: 0;
    transform: translateY(-100%) translateZ(0);
  }
}
@keyframes heartbeat {
  from {
    opacity: 0;
    transform: scale(0);
    transform-origin: center center;
    animation-timing-function: ease-out;
  }
  10% {
    opacity: 1;
    transform: scale(0.91);
    animation-timing-function: ease-in;
  }
  17% {
    transform: scale(0.98);
    animation-timing-function: ease-out;
  }
  33% {
    transform: scale(0.87);
    animation-timing-function: ease-in;
  }
  45% {
    transform: scale(1);
    animation-timing-function: ease-out;
  }
}
@keyframes fade-out-right-600 {
  0% {
    opacity: 1;
    transform: translate(-50%, -50%) translateZ(0);
  }
  20% {
    opacity: 0;
  }
  100% {
    opacity: 0;
    transform: translate(-50%, -50%) translateX(100%) translateZ(0);
  }
}
@keyframes fade-out-right-laptop {
  0% {
    opacity: 1;
    transform: translateY(-50%) translateX(0) translateZ(0);
  }
  20% {
    opacity: 0;
  }
  100% {
    opacity: 0;
    transform: translateY(-50%) translateX(100%) translateZ(0);
  }
}
@keyframes fade-out-right {
  0% {
    opacity: 1;
    transform: translateX(0) translateZ(0);
  }
  20% {
    opacity: 0;
  }
  100% {
    opacity: 0;
    transform: translateX(100%) translateZ(0);
  }
}
@keyframes width-100 {
  0% {
    width: 0;
  }
  100% {
    width: 100%;
  }
}
.back {
  position: relative;
  display: block;
  font-weight: 600;
  font-size: 14px;
  font-size: 0.875rem;
  line-height: 14px;
  line-height: 0.875rem;
  margin: 5px 0 25px;
  margin: 0.3125rem 0 1.5625rem;
  padding-left: 18px;
  padding-left: 1.125rem;
  color: #aaaaaa;
  text-decoration: none;
  text-transform: uppercase;
  transition: color 300ms linear;
}
@media (min-width: 60em) {
  .back {
    top: 126px;
    top: 7.875rem;
    right: auto;
    bottom: auto;
    left: 20px;
    left: 1.25rem;
    position: absolute;
    font-size: 16px;
    font-size: 1rem;
    line-height: 16px;
    line-height: 1rem;
    margin-top: 0;
  }
}
@media (min-width: 75em) {
  .back {
    left: 40px;
    left: 2.5rem;
  }
}
@media (min-width: 87.5em) {
  .back {
    left: 60px;
    left: 3.75rem;
  }
}
@media (min-width: 100em) {
  .back {
    left: 80px;
    left: 5rem;
  }
}
@media (min-width: 112.5em) {
  .back {
    left: 100px;
    left: 6.25rem;
  }
}
@media (min-width: 120em) {
  .back {
    font-size: 0.8333333333vw;
    line-height: 0.8333333333vw;
    margin-bottom: 0.5208333333vw;
    padding-left: 0.9375vw;
    top: 6.5625vw;
    left: 5.2083333333vw;
  }
}
@media (min-width: 60em) {
  .back:hover, .back.btn--loading {
    color: #777777;
  }
}
.back__icon {
  top: 50%;
  right: auto;
  bottom: auto;
  left: 0;
  position: absolute;
  transform: translateY(-50%) rotate(180deg);
  display: block;
  width: 13px;
  width: 0.8125rem;
  height: 12px;
  height: 0.75rem;
}
@media (min-width: 120em) {
  .back__icon {
    width: 0.6770833333vw;
    height: 0.625vw;
  }
}
.back__icon svg {
  fill: #56bffe;
}

.btn-holder {
  display: flex;
  flex-flow: column;
}
@media (min-width: 60em) {
  .btn-holder--map-pins {
    z-index: 1;
    top: 0;
    right: 0;
    bottom: auto;
    left: auto;
    position: fixed;
    width: 62.5%;
    height: 100%;
  }
}
.btn-holder--pairs {
  max-width: 600px;
  max-width: 37.5rem;
}
@media (min-width: 25em) {
  .btn-holder--pairs {
    flex-flow: row wrap;
  }
}
@media (min-width: 37.5em) {
  .btn-holder--pairs {
    display: inline-block;
  }
}
@media (min-width: 120em) {
  .btn-holder--pairs {
    max-width: 31.25vw;
  }
}
.btn-holder--pairs .btn {
  margin-bottom: 10px;
  margin-bottom: 0.625rem;
}
@media (min-width: 25em) {
  .btn-holder--pairs .btn {
    margin-bottom: 20px;
    margin-bottom: 1.25rem;
  }
}
@media (min-width: 31.25em) {
  .btn-holder--pairs .btn {
    margin-right: 10px;
    margin-right: 0.625rem;
  }
}
@media (min-width: 60em) {
  .btn-holder--pairs .btn {
    font-size: 14px;
    font-size: 0.875rem;
    margin-right: 0;
  }
}
@media (min-width: 66.5em) {
  .btn-holder--pairs .btn {
    font-size: 16px;
    font-size: 1rem;
  }
}
@media (min-width: 120em) {
  .btn-holder--pairs .btn {
    font-size: 0.8333333333vw;
    margin-right: 0.5208333333vw;
  }
}
@media (min-width: 25em) {
  .btn-holder--pairs .btn:nth-child(odd) {
    margin-right: 20px;
    margin-right: 1.25rem;
  }
}
@media (min-width: 31.25em) {
  .btn-holder--pairs .btn:nth-child(odd) {
    margin-right: 10px;
    margin-right: 0.625rem;
  }
}
@media (min-width: 60em) {
  .btn-holder--pairs .btn:nth-child(odd) {
    margin-right: 8px;
    margin-right: 0.5rem;
  }
}
@media (min-width: 66.5em) {
  .btn-holder--pairs .btn:nth-child(odd) {
    margin-right: 20px;
    margin-right: 1.25rem;
  }
}
@media (min-width: 120em) {
  .btn-holder--pairs .btn:nth-child(odd) {
    margin-right: 1.0416666667vw;
  }
}

.btn {
  position: relative;
  display: inline-block;
  width: 100%;
  height: 40px;
  height: 2.5rem;
  padding: 0 29px;
  padding: 0 1.8125rem;
  background: #56BFFE;
  border-radius: 21px;
  font-size: 16px;
  font-size: 1rem;
  line-height: 40px;
  line-height: 2.5rem;
  color: #FFF;
  text-decoration: none;
  text-transform: uppercase;
  text-align: center;
  transition: background 300ms linear;
}
@media (min-width: 25em) {
  .btn {
    max-width: 290px;
    max-width: 18.125rem;
    width: auto;
  }
}
@media (min-width: 120em) {
  .btn {
    height: 2.0833333333vw;
    padding: 0vw 1.5104166667vw;
    font-size: 0.8333333333vw;
    line-height: 2.0833333333vw;
    max-width: 15.1041666667vw;
    border-radius: 1.09375vw;
  }
}
.btn--icon {
  padding: 0 62px 0 29px;
  padding: 0 3.875rem 0 1.8125rem;
}
@media (min-width: 120em) {
  .btn--icon {
    padding: 0vw 3.2291666667vw 0vw 1.5104166667vw;
  }
}
.btn__icon {
  top: 50%;
  right: 29px;
  right: 1.8125rem;
  bottom: auto;
  left: auto;
  position: absolute;
  transform: translateY(-50%);
  display: block;
  width: 22px;
  width: 1.375rem;
  height: 18px;
  height: 1.125rem;
}
@media (min-width: 120em) {
  .btn__icon {
    right: 1.5104166667vw;
    width: 1.1458333333vw;
    height: 0.9375vw;
  }
}
.btn__icon svg {
  fill: #FFF;
}
@media (min-width: 47.5em) {
  .btn--mobile-only {
    display: none;
  }
}
.btn--sbw {
  height: 43px;
  height: 2.6875rem;
  font-size: 20px;
  font-size: 1.25rem;
  text-transform: none;
  text-align: left;
}
@media (min-width: 120em) {
  .btn--sbw {
    height: 2.2395833333vw;
    font-size: 1.0416666667vw;
  }
}
.btn--submit {
  height: 48px;
  height: 3rem;
  margin: 14px 0 0;
  margin: 0.875rem 0 0;
  padding: 0 45px;
  padding: 0 2.8125rem;
}
@media (min-width: 120em) {
  .btn--submit {
    height: 2.5vw;
    margin: 0.7291666667vw 0vw 0vw;
    padding: 0vw 2.34375vw;
  }
}
@media (min-width: 60em) {
  .btn--submit:hover, .btn--submit.btn--loading {
    background: rgb(0.5490196078%, 58.1960784314%, 92.7843137255%);
  }
}
.btn--error {
  margin-top: 20px;
  margin-top: 1.25rem;
}
.btn--blue {
  background: #3D5BF6;
}
@media (min-width: 60em) {
  .btn--blue:hover, .btn--blue.btn--loading {
    background: rgb(3.5641842944%, 15.4447986091%, 76.8279725683%);
  }
}
.btn--red {
  background: #F33333;
}
@media (min-width: 60em) {
  .btn--red:hover, .btn--red.btn--loading {
    background: rgb(71.1111111111%, 4.1830065359%, 4.1830065359%);
  }
}
.btn--green {
  background: #07D36C;
}
@media (min-width: 60em) {
  .btn--green:hover, .btn--green.btn--loading {
    background: rgb(1.4606943695%, 44.0295017089%, 22.536427415%);
  }
}
.btn--purple {
  background: #8817E8;
}
@media (min-width: 60em) {
  .btn--purple:hover, .btn--purple.btn--loading {
    background: rgb(32%, 5.4117647059%, 54.5882352941%);
  }
}
.btn--pink {
  background: #FF67D1;
}
@media (min-width: 60em) {
  .btn--pink:hover, .btn--pink.btn--loading {
    background: rgb(100%, 0.3921568627%, 69.8555211558%);
  }
}
.btn--gold {
  background: #F89D33;
}
@media (min-width: 60em) {
  .btn--gold:hover, .btn--gold.btn--loading {
    background: rgb(74.691943128%, 41.3734783013%, 2.5629588328%);
  }
}
.btn::before, .btn.nav-btn__btn::after, .btn.diagram__cable::after {
  content: "";
  top: 50%;
  right: auto;
  bottom: auto;
  left: 50%;
  position: absolute;
  width: 40px;
  width: 2.5rem;
  height: 40px;
  height: 2.5rem;
  background: url("/images/svg/loading-icon.svg") no-repeat center center/contain;
  transform: translate(-50%, -50%);
  opacity: 0;
}
.btn--loading {
  color: transparent;
}
.btn--loading::before, .btn--loading.nav-btn__btn::after, .btn--loading.diagram__cable::after {
  opacity: 1;
}

.cable-holder {
  margin: 0 auto;
}
@media (min-width: 37.5em) {
  .cable-holder {
    display: flex;
    justify-content: space-between;
    top: auto;
    right: auto;
    bottom: 0;
    left: 0;
    position: absolute;
    width: 100%;
    margin: 0;
    padding: 0 84px 0 94px;
    padding: 0 5.25rem 0 5.875rem;
  }
}
@media (min-width: 47.5em) {
  .cable-holder {
    padding: 0 125px 0 108px;
    padding: 0 7.8125rem 0 6.75rem;
  }
}
@media (min-width: 60em) {
  .cable-holder {
    padding: 0 94px;
    padding: 0 5.875rem;
  }
}
@media (min-width: 75em) {
  .cable-holder {
    padding: 0 128px 0 110px;
    padding: 0 8rem 0 6.875rem;
  }
}
@media (min-width: 87.5em) {
  .cable-holder {
    padding: 0 130px 0 128px;
    padding: 0 8.125rem 0 8rem;
  }
}
@media (min-width: 95.9375em) {
  .cable-holder {
    padding: 0 133px 0 143px;
    padding: 0 8.3125rem 0 8.9375rem;
  }
}
@media (min-width: 120em) {
  .cable-holder {
    padding: 0vw 6.9270833333vw 0vw 7.4479166667vw;
  }
}
@media (min-width: 37.5em) {
  .cable-holder__left {
    flex: 1 1 auto;
    width: auto;
  }
}
@media (min-width: 37.5em) {
  .cable-holder__right {
    flex: 0 1 auto;
    max-width: 148px;
    max-width: 9.25rem;
    width: 100%;
    margin-left: 20px;
    margin-left: 1.25rem;
  }
}
@media (min-width: 47.5em) {
  .cable-holder__right {
    max-width: 178px;
    max-width: 11.125rem;
  }
}
@media (min-width: 60em) {
  .cable-holder__right {
    max-width: 132px;
    max-width: 8.25rem;
  }
}
@media (min-width: 65em) {
  .cable-holder__right {
    max-width: 182px;
    max-width: 11.375rem;
  }
}
@media (min-width: 75em) {
  .cable-holder__right {
    max-width: 170px;
    max-width: 10.625rem;
  }
}
@media (min-width: 87.5em) {
  .cable-holder__right {
    max-width: 234px;
    max-width: 14.625rem;
  }
}
@media (min-width: 120em) {
  .cable-holder__right {
    max-width: 12.1875vw;
    margin-left: 1.0416666667vw;
  }
}
@media (min-width: 37.5em) {
  .cable-holder__lines {
    position: relative;
    height: 39px;
    height: 2.4375rem;
    border: 2px solid #56BFFE;
    border-top: 0;
  }
}
@media (min-width: 60em) {
  .cable-holder__lines {
    height: 29px;
    height: 1.8125rem;
  }
}
@media (min-width: 87.5em) {
  .cable-holder__lines {
    height: 39px;
    height: 2.4375rem;
  }
}
@media (min-width: 120em) {
  .cable-holder__lines {
    height: 2.03125vw;
    border-width: 0.1041666667vw;
  }
}
.cable-holder__arrow {
  display: none;
}
@media (min-width: 37.5em) {
  .cable-holder__arrow {
    top: auto;
    right: auto;
    bottom: -11px;
    bottom: -0.6875rem;
    left: 50%;
    position: absolute;
    transform: translate(-50%);
    display: block;
    width: 11px;
    width: 0.6875rem;
    height: 20px;
    height: 1.25rem;
  }
  .cable-holder__arrow svg {
    fill: #56BFFE;
  }
}
@media (min-width: 120em) {
  .cable-holder__arrow {
    bottom: -0.5729166667vw;
    width: 0.5729166667vw;
    height: 1.0416666667vw;
  }
}
.cable-holder--about-us {
  top: auto;
  right: 0;
  bottom: 0;
  left: 0;
  position: absolute;
}
@media (min-width: 47.5em) {
  .cable-holder--about-us {
    right: calc(25% - 12px);
    left: calc(25% - 12px);
    display: flex;
    width: auto;
    height: 163px;
    height: 10.1875rem;
  }
}
@media (min-width: 60em) {
  .cable-holder--about-us {
    right: calc(25% - 5px);
    left: calc(25% - 5px);
  }
}
@media (min-width: 75em) {
  .cable-holder--about-us {
    right: calc(25% - 12px);
    left: calc(25% - 12px);
    height: 232px;
    height: 14.5rem;
  }
}
@media (min-width: 120em) {
  .cable-holder--about-us {
    height: 12.0833333333vw;
  }
}
.cable-holder--about-us .cable-holder__lines {
  display: none;
}
@media (min-width: 47.5em) {
  .cable-holder--about-us .cable-holder__lines {
    display: block;
    top: 0;
    right: auto;
    bottom: auto;
    left: 0;
    position: absolute;
    width: 100%;
    height: 50px;
    height: 3.125rem;
    border: 2px solid #56BFFE;
    border-top: 0;
  }
}
@media (min-width: 75em) {
  .cable-holder--about-us .cable-holder__lines {
    height: 71px;
    height: 4.4375rem;
  }
}
@media (min-width: 120em) {
  .cable-holder--about-us .cable-holder__lines {
    height: 3.6979166667vw;
    border-width: 0.1041666667vw;
  }
}
.cable-holder--about-us .cable-holder__lines::before, .cable-holder--about-us .cable-holder__lines.nav-btn__btn::after, .cable-holder--about-us .cable-holder__lines.diagram__cable::after {
  content: "";
  top: auto;
  right: auto;
  bottom: -50px;
  bottom: -3.125rem;
  left: 50%;
  position: absolute;
  transform: translateX(-50%);
  width: 2px;
  width: 0.125rem;
  height: 50px;
  height: 3.125rem;
  background: #56BFFE;
}
@media (min-width: 75em) {
  .cable-holder--about-us .cable-holder__lines::before, .cable-holder--about-us .cable-holder__lines.nav-btn__btn::after, .cable-holder--about-us .cable-holder__lines.diagram__cable::after {
    bottom: -68px;
    bottom: -4.25rem;
    height: 68px;
    height: 4.25rem;
  }
}
@media (min-width: 120em) {
  .cable-holder--about-us .cable-holder__lines::before, .cable-holder--about-us .cable-holder__lines.nav-btn__btn::after, .cable-holder--about-us .cable-holder__lines.diagram__cable::after {
    bottom: -3.5416666667vw;
    width: 0.1041666667vw;
    height: 3.5416666667vw;
  }
}
@media (min-width: 60em) {
  .cable-holder--about-us-inner {
    right: auto;
    top: 50%;
    left: 50%;
    transform: rotate(-90deg) translate(110px, 45px);
    height: 230px;
    width: 380px;
  }
}
@media (min-width: 75em) {
  .cable-holder--about-us-inner {
    transform: rotate(-90deg) translate(100px, 20px);
    width: 450px;
    height: 160px;
  }
}
@media (min-width: 87.5em) {
  .cable-holder--about-us-inner {
    transform: rotate(-90deg) translate(100px, -85px);
    width: 450px;
    height: 220px;
  }
}
@media (min-width: 120em) {
  .cable-holder--about-us-inner {
    height: 11.9791666667vw;
    width: 19.7916666667vw;
    transform: rotate(-90deg) translate(140px, -70px);
  }
}
@media (min-width: 60em) {
  .cable-holder--about-us-inner .cable-holder__lines {
    height: 30px;
    height: 1.875rem;
  }
}
@media (min-width: 87.5em) {
  .cable-holder--about-us-inner .cable-holder__lines {
    height: 50px;
    height: 3.125rem;
  }
}
@media (min-width: 60em) {
  .cable-holder--about-us-inner .cable-holder__lines::before, .cable-holder--about-us-inner .cable-holder__lines.nav-btn__btn::after, .cable-holder--about-us-inner .cable-holder__lines.diagram__cable::after {
    height: 30px;
    height: 1.875rem;
    bottom: -30px;
    bottom: -1.875rem;
  }
}
@media (min-width: 87.5em) {
  .cable-holder--about-us-inner .cable-holder__lines::before, .cable-holder--about-us-inner .cable-holder__lines.nav-btn__btn::after, .cable-holder--about-us-inner .cable-holder__lines.diagram__cable::after {
    height: 50px;
    height: 3.125rem;
    bottom: -50px;
    bottom: -3.125rem;
  }
}
@media (min-width: 47.5em) and (max-width: 60em) {
  .cable-holder--about-us-inner-3 {
    bottom: auto;
    top: 300px;
    left: 50%;
    transform: translateX(-50%);
    width: 70%;
    height: 58%;
  }
}
@media (min-width: 47.5em) and (max-width: 60em) {
  .cable-holder--about-us-inner-3 .cable-holder__lines {
    height: 77%;
  }
}
@media (min-width: 47.5em) {
  .cable-holder--about-us-inner-3 .cable-holder__lines::after {
    content: "";
    top: auto;
    right: auto;
    bottom: 0;
    left: 50%;
    position: absolute;
    transforM: translateX(-50%);
    height: 50px;
    width: 2px;
    background-color: #56BFFE;
  }
}
@media (min-width: 60em) {
  .cable-holder--about-us-inner-3 .cable-holder__lines::after {
    height: 25px;
  }
}
@media (min-width: 87.5em) {
  .cable-holder--about-us-inner-3 .cable-holder__lines::after {
    height: 50px;
  }
}

.container-left {
  position: relative;
  z-index: 1;
  background: #FFF;
}
@media (min-width: 60em) {
  .container-left {
    z-index: 3;
    display: flex;
    flex-flow: row wrap;
    align-items: center;
    align-content: center;
    width: 37.5%;
    height: 100%;
    padding: 105px 20px 64px;
    padding: 6.5625rem 1.25rem 4rem;
  }
}
@media (min-width: 75em) {
  .container-left {
    padding: 105px 40px 64px;
    padding: 6.5625rem 2.5rem 4rem;
  }
}
@media (min-width: 87.5em) {
  .container-left {
    padding: 105px 60px 64px;
    padding: 6.5625rem 3.75rem 4rem;
  }
}
@media (min-width: 100em) {
  .container-left {
    padding: 105px 80px 64px;
    padding: 6.5625rem 5rem 4rem;
  }
}
@media (min-width: 112.5em) {
  .container-left {
    padding: 105px 110px 64px 100px;
    padding: 6.5625rem 6.875rem 4rem 6.25rem;
  }
}
@media (min-width: 120em) {
  .container-left {
    padding: 5.46875vw 5.7291666667vw 3.3333333333vw 5.2083333333vw;
  }
}
.container-left--overflow-hidden {
  overflow: hidden;
}
.container-left--static {
  position: static;
}
@media (min-width: 60em) {
  .container-left--opaque {
    background: rgba(255, 255, 255, 0.95);
  }
}
@media (min-width: 112.5em) {
  .container-left--even-padding {
    padding: 0 100px 64px;
    padding: 0 6.25rem 4rem;
  }
}
@media (min-width: 120em) {
  .container-left--even-padding {
    padding: 0vw 5.2083333333vw 3.3333333333vw;
  }
}
@media (min-width: 112.5em) {
  .container-left--less-padding-right {
    padding: 0 80px 64px 100px;
    padding: 0 5rem 4rem 6.25rem;
  }
}
@media (min-width: 120em) {
  .container-left--less-padding-right {
    padding: 0vw 4.1666666667vw 3.3333333333vw 5.2083333333vw;
  }
}
.container-left--no-background-mobile {
  background: none;
}
@media (min-width: 60em) {
  .container-left--no-background-mobile {
    background: #fff;
  }
}
@media (min-width: 60em) {
  .container-left--no-padding-top {
    padding-top: 0;
  }
}
.container-left__content {
  position: relative;
  width: 100%;
  padding: 15px 15px;
  padding: 0.9375rem 0.9375rem;
}
@media (min-width: 37.5em) {
  .container-left__content {
    padding: 26px 30px 29px;
    padding: 1.625rem 1.875rem 1.8125rem;
  }
}
@media (min-width: 60em) {
  .container-left__content {
    position: static;
    padding: 26px 0;
    padding: 1.625rem 0;
    background: none;
  }
}
@media (min-width: 120em) {
  .container-left__content {
    padding: 1.3541666667vw 0vw;
  }
}
.container-left__content p {
  padding-bottom: 12px;
  padding-bottom: 0.75rem;
}
@media (min-width: 60em) {
  .container-left__content p {
    padding-bottom: 16px;
    padding-bottom: 1rem;
  }
}
@media (min-width: 120em) {
  .container-left__content p {
    padding-bottom: 0.8333333333vw;
  }
}
.container-left__content--white {
  background: #fff;
}
@media (min-width: 60em) {
  .container-left__content--white {
    background: none;
  }
}
.container-left__content--sections h5 {
  font-size: 16px;
  font-size: 1rem;
  line-height: 20px;
  line-height: 1.25rem;
  color: #585858;
}
@media (min-width: 120em) {
  .container-left__content--sections h5 {
    font-size: 0.8333333333vw;
    line-height: 1.0416666667vw;
  }
}
.container-left__content--no-padding-bottom {
  padding-bottom: 0;
}
.container-left__content--no-padding-vertical {
  padding-top: 0;
  padding-bottom: 0;
}
@media (min-width: 47.5em) {
  .container-left__content--about-us-inner {
    padding-bottom: 0;
  }
}
@media (min-width: 47.5em) {
  .container-left__content--about-us-inner .back {
    margin-bottom: 0;
  }
}
.container-left__warning {
  display: block;
  font-size: 18px;
  font-size: 1.125rem;
  line-height: 22px;
  line-height: 1.375rem;
  padding: 4px 17% 5px 0;
  padding: 0.25rem 17% 0.3125rem 0;
  font-weight: 700;
  color: #56BFFE;
  text-transform: uppercase;
}
@media (min-width: 28.125em) {
  .container-left__warning {
    padding-right: 0;
  }
}
@media (min-width: 47.5em) {
  .container-left__warning {
    padding: 10px 0 5px 0;
    padding: 0.625rem 0 0.3125rem 0;
  }
}
@media (min-width: 120em) {
  .container-left__warning {
    font-size: 0.9375vw;
    line-height: 1.1458333333vw;
    padding: 0.5208333333vw 0vw 0.2604166667vw 0vw;
  }
}
.container-left--search-before-you-work .btn {
  margin-bottom: 10px;
  margin-bottom: 0.625rem;
}
@media (min-width: 120em) {
  .container-left--search-before-you-work .btn {
    margin-bottom: 0.5208333333vw;
  }
}
.container-left--search-before-you-work .btn--more-margin {
  margin-bottom: 20px;
  margin-bottom: 1.25rem;
}
@media (min-width: 120em) {
  .container-left--search-before-you-work .btn--more-margin {
    margin-bottom: 1.0416666667vw;
  }
}
.container-left--search-before-you-work .container-left__content {
  padding-top: 24px;
  padding-top: 1.5rem;
}
@media (min-width: 47.5em) {
  .container-left--search-before-you-work .container-left__content {
    padding-bottom: 20px;
    padding-bottom: 1.25rem;
  }
}
@media (min-width: 120em) {
  .container-left--search-before-you-work .container-left__content {
    padding-top: 1.25vw;
  }
}

.container-right {
  z-index: 1;
  position: relative;
  padding: 0 15px 20px;
  padding: 0 0.9375rem 1.25rem;
}
@media (min-width: 37.5em) {
  .container-right {
    padding: 0 30px 40px;
    padding: 0 1.875rem 2.5rem;
  }
}
@media (min-width: 60em) {
  .container-right {
    display: flex;
    align-items: center;
    align-content: center;
    max-width: 62.5%;
    width: 62.5%;
    height: 100%;
    background: none;
  }
}
@media (min-width: 120em) {
  .container-right {
    padding: 0vw 1.5625vw 2.0833333333vw;
  }
}
.container-right::before, .container-right.nav-btn__btn::after, .container-right.diagram__cable::after {
  content: "";
  z-index: 1;
  top: 0;
  right: auto;
  bottom: auto;
  left: 0;
  position: absolute;
  width: 100%;
  height: 100%;
  pointer-events: none;
}
@media (min-width: 60em) {
  .container-right::before, .container-right.nav-btn__btn::after, .container-right.diagram__cable::after {
    background: rgba(17, 50, 87, 0.6);
    mix-blend-mode: multiply;
  }
}
.container-right--white {
  background: #FFF;
}
@media (min-width: 60em) {
  .container-right--white {
    background: none;
  }
}
.container-right--no-padding {
  padding: 0;
}
.container-right--no-padding-bottom {
  padding-bottom: 0;
}
.container-right--no-overlay::before, .container-right--no-overlay.nav-btn__btn::after, .container-right--no-overlay.diagram__cable::after {
  display: none;
}
.container-right__background {
  display: none;
}
@media (min-width: 60em) {
  .container-right__background {
    display: block;
    top: 0;
    right: auto;
    bottom: auto;
    left: 0;
    position: absolute;
    width: 100%;
    height: 100%;
  }
}
.container-right__background img {
  top: 0;
  right: auto;
  bottom: auto;
  left: 0;
  position: absolute;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: right center;
     object-position: right center;
}
.container-right--search-before-you-work {
  position: static;
  padding-bottom: 15px;
  padding-bottom: 0.9375rem;
}
@media (min-width: 60em) {
  .container-right--search-before-you-work {
    top: auto;
    right: auto;
    bottom: auto;
    left: auto;
    position: relative;
    background: none;
  }
}
@media (min-width: 60em) {
  .container-right--search-before-you-work::before, .container-right--search-before-you-work.nav-btn__btn::after, .container-right--search-before-you-work.diagram__cable::after {
    background: rgba(17, 50, 87, 0.9);
  }
}
@media (min-width: 60em) {
  .container-right--search-before-you-work::after {
    display: none;
  }
}
.container-right--map {
  position: static;
  z-index: 0;
}
@media (min-width: 60em) {
  .container-right--map {
    top: 0;
    right: 0;
    bottom: auto;
    left: auto;
    position: fixed;
    height: 100vh;
  }
  .container-right--map::after {
    content: "";
    top: 0;
    right: auto;
    bottom: auto;
    left: 0;
    position: absolute;
    pointer-events: none;
    background: linear-gradient(to bottom, rgba(30, 50, 69, 0.85) 0%, rgba(30, 50, 69, 0) 100%);
    width: 100%;
    height: 25%;
  }
}
.container-right--map::before, .container-right--map.nav-btn__btn::after, .container-right--map.diagram__cable::after {
  display: none;
}
.container-right--our-projects {
  position: static;
  padding-bottom: 15px;
  padding-bottom: 0.9375rem;
}
@media (min-width: 60em) {
  .container-right--our-projects {
    top: auto;
    right: auto;
    bottom: auto;
    left: auto;
    position: relative;
  }
}
@media (min-width: 120em) {
  .container-right--our-projects {
    padding-bottom: 0.78125vw;
  }
}
@media (min-width: 60em) {
  .container-right--our-projects::before, .container-right--our-projects.nav-btn__btn::after, .container-right--our-projects.diagram__cable::after {
    background: rgba(17, 50, 87, 0.8);
  }
}
@media (min-width: 60em) {
  .container-right--our-projects::after {
    display: none;
  }
}
@media (min-width: 60em) {
  .container-right--fixed {
    top: 0;
    right: 0;
    bottom: auto;
    left: auto;
    position: fixed;
    width: 62.5%;
  }
}
@media (min-width: 60em) {
  .container-right--fixed::before, .container-right--fixed.nav-btn__btn::after, .container-right--fixed.diagram__cable::after {
    top: 0;
    right: 0;
    bottom: auto;
    left: auto;
    position: fixed;
    width: 62.5%;
  }
}
@media (min-width: 60em) {
  .container-right--fixed .container-right__background {
    top: 0;
    right: 0;
    bottom: auto;
    left: auto;
    position: fixed;
    width: 62.5%;
  }
}
.container-right--about-us {
  display: none;
}
@media (min-width: 60em) {
  .container-right--about-us {
    display: block;
  }
}

.desktop-project-list {
  display: none;
}
@media (min-width: 60em) {
  .desktop-project-list {
    display: block;
    padding: 20px 0 0;
    padding: 1.25rem 0 0;
  }
}
@media (min-width: 120em) {
  .desktop-project-list {
    padding: 1.0416666667vw 0vw 0vw;
  }
}
.desktop-project-list__items {
  border-top: 1px solid #EEE;
}
@media (min-width: 120em) {
  .desktop-project-list__items {
    border-width: 0.0520833333vw;
  }
}
.desktop-project-list__item {
  text-decoration: none;
  display: flex;
  justify-content: space-between;
  border-bottom: 1px solid #EEE;
  padding: 14px 0;
  padding: 0.875rem 0;
}
@media (min-width: 120em) {
  .desktop-project-list__item {
    border-width: 0.0520833333vw;
    padding: 0.7291666667vw 0vw;
  }
}
.desktop-project-list__text {
  font-weight: 400;
  color: #6F6F6F;
  font-size: 16px;
  font-size: 1rem;
}
@media (min-width: 73.75em) {
  .desktop-project-list__text {
    font-size: 18px;
    font-size: 1.125rem;
  }
}
@media (min-width: 120em) {
  .desktop-project-list__text {
    font-size: 0.9375vw;
  }
}
.desktop-project-list .project-list__read-more {
  flex: 0 0 auto;
}

.diagram-right-container {
  padding: 15px 15px 0;
  padding: 0.9375rem 0.9375rem 0;
}
@media (min-width: 37.5em) {
  .diagram-right-container {
    padding: 30px 30px 0;
    padding: 1.875rem 1.875rem 0;
  }
}
@media (min-width: 60em) {
  .diagram-right-container {
    display: flex;
    align-items: center;
    z-index: 10;
    top: 0;
    right: 0;
    bottom: auto;
    left: auto;
    position: fixed;
    width: 62.5%;
    height: 100vh;
    padding: 0 30px;
    padding: 0 1.875rem;
  }
}
@media (min-width: 120em) {
  .diagram-right-container {
    padding: 0vw 1.5625vw;
  }
}

.diagram {
  z-index: 1;
  position: relative;
  display: flex;
  flex-flow: row wrap;
  text-align: center;
  max-width: 480px;
  max-width: 30rem;
  margin: 0 auto;
}
@media (min-width: 37.5em) {
  .diagram {
    flex-wrap: nowrap;
    justify-content: space-between;
    max-width: 580px;
    max-width: 36.25rem;
    padding-bottom: 74px;
    padding-bottom: 4.625rem;
  }
}
@media (min-width: 47.5em) {
  .diagram {
    max-width: 740px;
    max-width: 46.25rem;
  }
}
@media (min-width: 60em) {
  .diagram {
    max-width: 540px;
    max-width: 33.75rem;
    width: 100%;
    margin: 100px auto 0;
    margin: 6.25rem auto 0;
    padding-bottom: 64px;
    padding-bottom: 4rem;
  }
}
@media (min-width: 65em) {
  .diagram {
    max-width: 600px;
    max-width: 37.5rem;
  }
}
@media (min-width: 75em) {
  .diagram {
    max-width: 700px;
    max-width: 43.75rem;
  }
}
@media (min-width: 87.5em) {
  .diagram {
    max-width: 800px;
    max-width: 50rem;
    padding-bottom: 74px;
    padding-bottom: 4.625rem;
  }
}
@media (min-width: 95.9375em) {
  .diagram {
    max-width: 902px;
    max-width: 56.375rem;
  }
}
@media (min-width: 120em) {
  .diagram {
    max-width: 46.9791666667vw;
    margin: 5.2083333333vw auto 0vw;
    padding-bottom: 3.8541666667vw;
  }
}
.diagram__holder {
  position: relative;
  width: 100%;
  padding: 20px 14px 24px;
  padding: 1.25rem 0.875rem 1.5rem;
  border: 1px solid #e1e1e1;
}
@media (min-width: 37.5em) {
  .diagram__holder {
    max-width: 192px;
    max-width: 12rem;
    padding: 24px 15px 24px;
    padding: 1.5rem 0.9375rem 1.5rem;
  }
}
@media (min-width: 47.5em) {
  .diagram__holder {
    max-width: 216px;
    max-width: 13.5rem;
    padding: 24px 20px 28px;
    padding: 1.5rem 1.25rem 1.75rem;
  }
}
@media (min-width: 60em) {
  .diagram__holder {
    max-width: 182px;
    max-width: 11.375rem;
    padding: 24px 15px 24px;
    padding: 1.5rem 0.9375rem 1.5rem;
    border-color: rgba(255, 255, 255, 0.5);
  }
}
@media (min-width: 65em) {
  .diagram__holder {
    max-width: 285px;
    max-width: 17.8125rem;
    width: 31.69%;
  }
}
@media (min-width: 75em) {
  .diagram__holder {
    padding: 24px 16px 26px;
    padding: 1.5rem 1rem 1.625rem;
  }
}
@media (min-width: 87.5em) {
  .diagram__holder {
    padding: 30px 36px 36px;
    padding: 1.875rem 2.25rem 2.25rem;
  }
}
@media (min-width: 95.9375em) {
  .diagram__holder {
    max-width: 285px;
    max-width: 17.8125rem;
    padding: 35px 56px 48px;
    padding: 2.1875rem 3.5rem 3rem;
  }
}
@media (min-width: 120em) {
  .diagram__holder {
    max-width: 14.84375vw;
    padding: 1.8229166667vw 2.9166666667vw 2.5vw;
    border-width: 0.0520833333vw;
  }
}
.diagram__holder::before, .diagram__holder.nav-btn__btn::after, .diagram__holder.diagram__cable::after {
  content: "";
  display: block;
  top: 6px;
  top: 0.375rem;
  right: 6px;
  right: 0.375rem;
  bottom: 6px;
  bottom: 0.375rem;
  left: 6px;
  left: 0.375rem;
  position: absolute;
  border: 1px solid #e1e1e1;
  pointer-events: none;
}
@media (min-width: 37.5em) {
  .diagram__holder::before, .diagram__holder.nav-btn__btn::after, .diagram__holder.diagram__cable::after {
    top: 11px;
    top: 0.6875rem;
    right: 11px;
    right: 0.6875rem;
    bottom: 11px;
    bottom: 0.6875rem;
    left: 11px;
    left: 0.6875rem;
    position: absolute;
  }
}
@media (min-width: 60em) {
  .diagram__holder::before, .diagram__holder.nav-btn__btn::after, .diagram__holder.diagram__cable::after {
    top: 8px;
    top: 0.5rem;
    right: 8px;
    right: 0.5rem;
    bottom: 8px;
    bottom: 0.5rem;
    left: 8px;
    left: 0.5rem;
    position: absolute;
    border-color: rgba(255, 255, 255, 0.5);
  }
}
@media (min-width: 87.5em) {
  .diagram__holder::before, .diagram__holder.nav-btn__btn::after, .diagram__holder.diagram__cable::after {
    top: 11px;
    top: 0.6875rem;
    right: 11px;
    right: 0.6875rem;
    bottom: 11px;
    bottom: 0.6875rem;
    left: 11px;
    left: 0.6875rem;
    position: absolute;
  }
}
@media (min-width: 120em) {
  .diagram__holder::before, .diagram__holder.nav-btn__btn::after, .diagram__holder.diagram__cable::after {
    top: 0.5729166667vw;
    right: 0.5729166667vw;
    bottom: 0.5729166667vw;
    left: 0.5729166667vw;
    border-width: 0.0520833333vw;
  }
}
.diagram__holder h3, .diagram__holder p {
  max-width: 100%;
}
@media (min-width: 60em) {
  .diagram__holder h3, .diagram__holder p {
    color: #fff;
  }
}
.diagram__holder h3 {
  display: block;
  width: 100%;
  text-align: center;
  padding-bottom: 5px;
  padding-bottom: 0.3125rem;
}
@media (min-width: 120em) {
  .diagram__holder h3 {
    padding-bottom: 0.2604166667vw;
  }
}
.diagram__holder p {
  font-size: 14px;
  font-size: 0.875rem;
  line-height: 16px;
  line-height: 1rem;
}
@media (min-width: 75em) {
  .diagram__holder p {
    padding-bottom: 26px;
    padding-bottom: 1.625rem;
  }
}
@media (min-width: 120em) {
  .diagram__holder p {
    font-size: 0.7291666667vw;
    line-height: 0.8333333333vw;
    padding-bottom: 1.3541666667vw;
  }
}
.diagram__holder--double {
  padding: 18px 14px 24px;
  padding: 1.125rem 0.875rem 1.5rem;
}
@media (min-width: 37.5em) {
  .diagram__holder--double {
    display: flex;
    flex-flow: row wrap;
    justify-content: space-between;
    max-width: 332px;
    max-width: 20.75rem;
    padding: 24px 28px 24px;
    padding: 1.5rem 1.75rem 1.5rem;
  }
}
@media (min-width: 47.5em) {
  .diagram__holder--double {
    max-width: 440px;
    max-width: 27.5rem;
    padding: 24px 48px 28px;
    padding: 1.5rem 3rem 1.75rem;
  }
}
@media (min-width: 60em) {
  .diagram__holder--double {
    max-width: 332px;
    max-width: 20.75rem;
    padding: 24px 28px 24px;
    padding: 1.5rem 1.75rem 1.5rem;
  }
}
@media (min-width: 65em) {
  .diagram__holder--double {
    max-width: 510px;
    max-width: 31.875rem;
    width: 64%;
  }
}
@media (min-width: 75em) {
  .diagram__holder--double {
    padding: 24px 68px 26px;
    padding: 1.5rem 4.25rem 1.625rem;
  }
}
@media (min-width: 95.9375em) {
  .diagram__holder--double {
    max-width: 510px;
    max-width: 31.875rem;
    padding: 35px 68px 48px;
    padding: 2.1875rem 4.25rem 3rem;
  }
}
@media (min-width: 120em) {
  .diagram__holder--double {
    max-width: 26.5625vw;
    padding: 1.8229166667vw 3.5416666667vw 2.5vw;
  }
}
@media (min-width: 47.5em) {
  .diagram__item {
    padding: 0 20px;
    padding: 0 1.25rem;
  }
}
@media (min-width: 60em) {
  .diagram__item {
    padding: 0 10px;
    padding: 0 0.625rem;
  }
}
@media (min-width: 75em) {
  .diagram__item {
    padding: 0 8px;
    padding: 0 0.5rem;
  }
}
@media (min-width: 120em) {
  .diagram__item {
    padding: 0vw 0.4166666667vw;
  }
}
.diagram__item p {
  line-height: 14px;
  line-height: 0.875rem;
  padding: 0;
}
@media (min-width: 120em) {
  .diagram__item p {
    line-height: 0.7291666667vw;
  }
}
.diagram__icon {
  position: relative;
  display: block;
  flex: 0 0 auto;
  width: 75px;
  width: 4.6875rem;
  height: 76px;
  height: 4.75rem;
  margin: 0 auto 8px;
  margin: 0 auto 0.5rem;
}
@media (min-width: 25em) {
  .diagram__icon {
    width: 85px;
    width: 5.3125rem;
    height: 86px;
    height: 5.375rem;
  }
}
@media (min-width: 37.5em) {
  .diagram__icon {
    width: 75px;
    width: 4.6875rem;
    height: 76px;
    height: 4.75rem;
  }
}
@media (min-width: 47.5em) {
  .diagram__icon {
    width: 78px;
    width: 4.875rem;
    height: 82px;
    height: 5.125rem;
    margin-bottom: 18px;
    margin-bottom: 1.125rem;
  }
}
@media (min-width: 60em) {
  .diagram__icon {
    width: 60px;
    width: 3.75rem;
    height: 62px;
    height: 3.875rem;
    margin-bottom: 10px;
    margin-bottom: 0.625rem;
  }
}
@media (min-width: 65em) {
  .diagram__icon {
    width: 78px;
    width: 4.875rem;
    height: 82px;
    height: 5.125rem;
  }
}
@media (min-width: 75em) {
  .diagram__icon {
    width: 86px;
    width: 5.375rem;
    height: 92px;
    height: 5.75rem;
  }
}
@media (min-width: 87.5em) {
  .diagram__icon {
    margin-bottom: 13px;
    margin-bottom: 0.8125rem;
  }
}
@media (min-width: 120em) {
  .diagram__icon {
    width: 4.4791666667vw;
    height: 4.7916666667vw;
    margin-bottom: 0.6770833333vw;
  }
}
.diagram__icon svg {
  fill: #56bffe;
}
@media (min-width: 60em) {
  .diagram__icon svg {
    fill: #ffffff;
  }
}
.diagram__cable {
  position: relative;
  display: block;
  font-size: 14px;
  font-size: 0.875rem;
  line-height: 14px;
  line-height: 0.875rem;
  font-weight: 600;
  margin: 0 auto;
  padding: 20px 0;
  padding: 1.25rem 0;
  color: #56bffe;
}
@media (min-width: 37.5em) {
  .diagram__cable {
    padding: 21px 0 0;
    padding: 1.3125rem 0 0;
  }
}
@media (min-width: 47.5em) {
  .diagram__cable {
    margin: 0 auto;
    padding: 21px 0 0;
    padding: 1.3125rem 0 0;
  }
}
@media (min-width: 120em) {
  .diagram__cable {
    font-size: 0.7291666667vw;
    line-height: 0.7291666667vw;
    padding: 1.09375vw 0vw 0vw;
  }
}
.diagram__cable::before, .diagram__cable::after {
  content: "";
  display: block;
  top: 0;
  right: auto;
  bottom: auto;
  left: 50%;
  position: absolute;
  transform: translateX(-50%);
  width: 2px;
  width: 0.125rem;
  height: 17px;
  height: 1.0625rem;
  background: #56bffe;
}
@media (min-width: 37.5em) {
  .diagram__cable::before, .diagram__cable::after {
    display: none;
  }
}
@media (min-width: 120em) {
  .diagram__cable::before, .diagram__cable::after {
    width: 0.1041666667vw;
    height: 0.8854166667vw;
  }
}
.diagram__cable::after {
  top: auto;
  bottom: 0;
}
@media (min-width: 37.5em) {
  .diagram__cable::after {
    display: none;
  }
}
.diagram__cable--mobile {
  margin: 8px auto;
  margin: 0.5rem auto;
}
@media (min-width: 37.5em) {
  .diagram__cable--mobile {
    display: none;
  }
}
.diagram__cable--tablet {
  display: none;
}
@media (min-width: 37.5em) {
  .diagram__cable--tablet {
    display: block;
  }
}
.diagram__link {
  position: relative;
  z-index: 1;
  font-weight: 600;
  font-size: 18px;
  font-size: 1.125rem;
  line-height: 20px;
  line-height: 1.25rem;
  color: #56bffe;
  pointer-events: all;
}
@media (min-width: 60em) {
  .diagram__link {
    font-size: 16px;
    font-size: 1rem;
    line-height: 18px;
    line-height: 1.125rem;
    transition: color 300ms linear;
  }
}
@media (min-width: 75em) {
  .diagram__link {
    font-size: 18px;
    font-size: 1.125rem;
    line-height: 20px;
    line-height: 1.25rem;
  }
}
@media (min-width: 120em) {
  .diagram__link {
    font-size: 0.9375vw;
    line-height: 1.0416666667vw;
  }
}
@media (min-width: 60em) {
  .diagram__link:hover, .diagram__link.btn--loading {
    color: rgb(0.5490196078%, 58.1960784314%, 92.7843137255%);
  }
}
.diagram--about-us {
  display: flex;
  flex-flow: row wrap;
  justify-content: center;
  max-width: none;
  margin: 0 auto;
  padding-bottom: 0;
}
@media (min-width: 47.5em) {
  .diagram--about-us {
    margin-left: -25px;
    margin-left: -1.5625rem;
    margin-right: -25px;
    margin-right: -1.5625rem;
  }
}
@media (min-width: 60em) {
  .diagram--about-us {
    max-width: 540px;
    max-width: 33.75rem;
    margin: 50px auto 0;
    margin: 3.125rem auto 0;
  }
}
@media (min-width: 60em) and (max-width: 74.9375em) and (max-height: 40.625em) {
  .diagram--about-us {
    margin-top: 50px;
    margin-top: 3.125rem;
  }
}
@media (min-width: 65em) {
  .diagram--about-us {
    max-width: 600px;
    max-width: 37.5rem;
  }
}
@media (min-width: 75em) {
  .diagram--about-us {
    max-width: 700px;
    max-width: 43.75rem;
  }
}
@media (min-width: 75em) and (max-height: 47.5em) {
  .diagram--about-us {
    margin-top: 70px;
    margin-top: 4.375rem;
  }
}
@media (min-width: 87.5em) {
  .diagram--about-us {
    max-width: 800px;
    max-width: 50rem;
  }
}
@media (min-width: 95.9375em) {
  .diagram--about-us {
    max-width: 991px;
    max-width: 61.9375rem;
  }
}
@media (min-width: 120em) {
  .diagram--about-us {
    margin-top: 3.125vw;
    max-width: 51.6145833333vw;
  }
}
.diagram--about-us p {
  pointer-events: all;
}
.diagram--about-us .diagram__holder {
  flex: 0 0 auto;
  max-width: none;
  margin-bottom: 10px;
  margin-bottom: 0.625rem;
}
@media (min-width: 47.5em) {
  .diagram--about-us .diagram__holder {
    width: calc(50% - 50px);
    margin: 0 25px 50px;
    margin: 0 1.5625rem 3.125rem;
  }
}
@media (min-width: 60em) {
  .diagram--about-us .diagram__holder {
    width: calc(50% - 20px);
    margin: 0 10px 20px;
    margin: 0 0.625rem 1.25rem;
  }
}
@media (min-width: 75em) {
  .diagram--about-us .diagram__holder {
    width: calc(50% - 30px);
    padding: 30px 25px 25px;
    padding: 1.875rem 1.5625rem 1.5625rem;
    margin: 0 15px 30px;
    margin: 0 0.9375rem 1.875rem;
  }
}
@media (min-width: 100em) {
  .diagram--about-us .diagram__holder {
    padding: 40px 36px 34px;
    padding: 2.5rem 2.25rem 2.125rem;
  }
}
@media (min-width: 120em) {
  .diagram--about-us .diagram__holder {
    padding: 2.0833333333vw 1.875vw 1.7708333333vw;
  }
}
.diagram--about-us .diagram__holder--second {
  margin-top: 20px;
  margin-top: 1.25rem;
}
@media (min-width: 47.5em) {
  .diagram--about-us .diagram__holder--second {
    margin-top: 0;
  }
}
@media (min-width: 75em) {
  .diagram--about-us .diagram__holder--second {
    padding: 49px 44px 48px;
    padding: 3.0625rem 2.75rem 3rem;
  }
}
@media (min-width: 120em) {
  .diagram--about-us .diagram__holder--second {
    padding: 2.5520833333vw 2.2916666667vw 2.5vw;
  }
}
@media (min-width: 60em) {
  .diagram--about-us .diagram__holder--second::before, .diagram--about-us .diagram__holder--second.nav-btn__btn::after, .diagram--about-us .diagram__holder--second.diagram__cable::after {
    top: 8px;
    top: 0.5rem;
    right: 8px;
    right: 0.5rem;
    bottom: 8px;
    bottom: 0.5rem;
    left: 8px;
    left: 0.5rem;
    position: absolute;
    border-color: rgba(255, 255, 255, 0.5);
  }
}
@media (min-width: 87.5em) {
  .diagram--about-us .diagram__holder--second::before, .diagram--about-us .diagram__holder--second.nav-btn__btn::after, .diagram--about-us .diagram__holder--second.diagram__cable::after {
    top: 11px;
    top: 0.6875rem;
    right: 11px;
    right: 0.6875rem;
    bottom: 11px;
    bottom: 0.6875rem;
    left: 11px;
    left: 0.6875rem;
    position: absolute;
  }
}
@media (min-width: 120em) {
  .diagram--about-us .diagram__holder--second::before, .diagram--about-us .diagram__holder--second.nav-btn__btn::after, .diagram--about-us .diagram__holder--second.diagram__cable::after {
    top: 0.5729166667vw;
    right: 0.5729166667vw;
    bottom: 0.5729166667vw;
    left: 0.5729166667vw;
  }
}
.diagram--about-us .diagram__holder--second::after {
  content: "";
  top: -21px;
  top: -1.3125rem;
  right: auto;
  bottom: auto;
  left: 50%;
  position: absolute;
  transform: translateX(-50%);
  display: block;
  width: 2px;
  width: 0.125rem;
  height: 20px;
  height: 1.25rem;
  background: #56bffe;
}
@media (min-width: 47.5em) {
  .diagram--about-us .diagram__holder--second::after {
    display: none;
  }
}
@media (min-width: 120em) {
  .diagram--about-us .diagram__holder--second::after {
    top: -1.09375vw;
    width: 0.1041666667vw;
    height: 1.0416666667vw;
  }
}
.diagram--about-us .diagram__icon {
  width: 250px;
  width: 15.625rem;
  height: 64px;
  height: 4rem;
  margin-bottom: 25px;
  margin-bottom: 1.5625rem;
  pointer-events: all;
}
@media (min-width: 60em) {
  .diagram--about-us .diagram__icon {
    width: 240px;
    width: 15rem;
    height: 48px;
    height: 3rem;
    margin-bottom: 15px;
    margin-bottom: 0.9375rem;
  }
}
@media (min-width: 75em) {
  .diagram--about-us .diagram__icon {
    width: 263px;
    width: 16.4375rem;
    height: 68px;
    height: 4.25rem;
    margin-bottom: 25px;
    margin-bottom: 1.5625rem;
  }
}
@media (min-width: 120em) {
  .diagram--about-us .diagram__icon {
    width: 13.6979166667vw;
    height: 3.5416666667vw;
    margin-bottom: 1.3020833333vw;
  }
}
.diagram--about-us .diagram__icon--second {
  width: 90px;
  width: 5.625rem;
  height: 75px;
  height: 4.6875rem;
  margin-bottom: 18px;
  margin-bottom: 1.125rem;
}
@media (min-width: 60em) {
  .diagram--about-us .diagram__icon--second {
    width: 80px;
    width: 5rem;
    height: 70px;
    height: 4.375rem;
    margin-bottom: 8px;
    margin-bottom: 0.5rem;
  }
}
@media (min-width: 75em) {
  .diagram--about-us .diagram__icon--second {
    width: 103px;
    width: 6.4375rem;
    height: 86px;
    height: 5.375rem;
    margin-bottom: 18px;
    margin-bottom: 1.125rem;
  }
}
@media (min-width: 120em) {
  .diagram--about-us .diagram__icon--second {
    width: 5.3645833333vw;
    height: 4.4791666667vw;
    margin-bottom: 0.9375vw;
  }
}
@media (min-width: 60em) {
  .diagram--about-us .diagram__icon svg {
    fill: #fff;
  }
}
@media (min-width: 120em) {
  .diagram--about-us .diagram__icon.diagram__icon--mhc {
    width: 20.46875vw;
    height: 3.0208333333vw;
    margin: 0vw 0vw 0.2604166667vw;
  }
}
.diagram--about-us .diagram__icon.diagram__icon--mhc svg {
  fill: #000;
}
@media (min-width: 60em) {
  .diagram--about-us .diagram__icon.diagram__icon--mhc svg {
    fill: #fff;
  }
}
.diagram--about-us-inner {
  padding-bottom: 72px;
  padding-bottom: 4.5rem;
  margin-bottom: 20px;
  margin-bottom: 1.25rem;
}
@media (min-width: 47.5em) {
  .diagram--about-us-inner {
    padding-bottom: 163px;
    padding-bottom: 10.1875rem;
  }
}
@media (min-width: 60em) {
  .diagram--about-us-inner {
    flex-flow: column;
    padding-bottom: 0;
    margin-bottom: 0;
  }
}
@media (min-width: 47.5em) {
  .diagram--about-us-inner .diagram__holder {
    margin: 0 5px 10px;
    margin: 0 0.3125rem 0.625rem;
  }
}
@media (min-width: 60em) {
  .diagram--about-us-inner .diagram__holder {
    width: 380px;
  }
}
@media (min-width: 75em) {
  .diagram--about-us-inner .diagram__holder {
    width: 70%;
  }
}
@media (min-width: 87.5em) {
  .diagram--about-us-inner .diagram__holder {
    width: 52%;
  }
}
@media (min-width: 100em) {
  .diagram--about-us-inner .diagram__holder {
    margin-bottom: 20px;
    margin-bottom: 1.25rem;
  }
}
@media (min-width: 120em) {
  .diagram--about-us-inner .diagram__holder {
    width: 48%;
  }
}
@media (min-width: 47.5em) {
  .diagram--30-30-30 .diagram__holder {
    margin: 0 5px 10px;
    margin: 0 0.3125rem 0.625rem;
    padding: 25px 20px;
    padding: 1.5625rem 1.25rem;
  }
}
@media (min-width: 100em) {
  .diagram--30-30-30 .diagram__holder {
    padding: 40px 36px 34px;
    padding: 2.5rem 2.25rem 2.125rem;
    margin-bottom: 20px;
    margin-bottom: 1.25rem;
  }
}
@media (min-width: 120em) {
  .diagram--30-30-30 .diagram__holder {
    padding: 2.0833333333vw 1.875vw 1.7708333333vw;
  }
}
@media (min-width: 47.5em) {
  .diagram--30-30-30 p {
    padding-bottom: 10px;
    padding-bottom: 0.625rem;
  }
}
@media (min-width: 47.5em) {
  .diagram--30-30-30 .diagram__icon {
    width: 100%;
    height: 50px;
    margin-bottom: 15px;
    margin-bottom: 0.9375rem;
  }
}
@media (min-width: 60em) {
  .diagram--30-30-30 .diagram__icon {
    margin-bottom: 10px;
    margin-bottom: 0.625rem;
  }
}
@media (min-width: 120em) {
  .diagram--30-30-30 .diagram__icon {
    width: 13.6979166667vw;
    height: 3.5416666667vw;
  }
}

.directors {
  padding-bottom: 18px;
  padding-bottom: 1.125rem;
}
@media (min-width: 120em) {
  .directors {
    padding-bottom: 0.9375vw;
  }
}
@media (min-width: 60em) {
  .directors h2 {
    font-size: 22px;
    font-size: 1.375rem;
    line-height: 26px;
    line-height: 1.625rem;
  }
}
@media (min-width: 120em) {
  .directors h2 {
    font-size: 1.1458333333vw;
    line-height: 1.3541666667vw;
  }
}
.directors p {
  padding-bottom: 41px;
  padding-bottom: 2.5625rem;
}
@media (min-width: 120em) {
  .directors p {
    padding-bottom: 2.1354166667vw;
  }
}
.directors ul {
  margin-top: 10px;
  margin-top: 0.625rem;
}
@media (min-width: 120em) {
  .directors ul {
    margin-top: 0.5208333333vw;
  }
}
.directors li {
  margin-bottom: 6px;
  margin-bottom: 0.375rem;
}
@media (min-width: 120em) {
  .directors li {
    margin-bottom: 0.3125vw;
  }
}
.directors li h5 {
  padding-bottom: 8px;
  padding-bottom: 0.5rem;
}
@media (min-width: 60em) {
  .directors li h5 {
    padding-bottom: 12px;
    padding-bottom: 0.75rem;
  }
}
@media (min-width: 120em) {
  .directors li h5 {
    padding-bottom: 0.625vw;
  }
}
.directors li p {
  padding-bottom: 16px;
  padding-bottom: 1rem;
}
@media (min-width: 120em) {
  .directors li p {
    padding-bottom: 0.8333333333vw;
  }
}

.documents {
  margin: 10px 0 20px;
  margin: 0.625rem 0 1.25rem;
  opacity: 0.9;
}
@media (min-width: 47.5em) {
  .documents {
    margin: 40px 0 0;
    margin: 2.5rem 0 0;
  }
}
@media (min-width: 120em) {
  .documents {
    margin: 2.0833333333vw 0vw 0vw;
  }
}
.documents--show {
  display: block;
}
.documents h3 {
  padding-bottom: 16px;
  padding-bottom: 1rem;
  color: #232323;
}
@media (min-width: 120em) {
  .documents h3 {
    padding-bottom: 0.8333333333vw;
  }
}
.documents__list {
  width: 100%;
  border-bottom: 1px solid #D7D7D7;
}
@media (min-width: 120em) {
  .documents__list {
    border-width: 0.0520833333vw;
  }
}
.documents__item {
  position: relative;
  display: flex;
  flex-flow: row wrap;
  align-items: center;
  justify-content: space-between;
  min-height: 52px;
  min-height: 3.25rem;
  padding: 10px 0;
  padding: 0.625rem 0;
  border-top: 1px solid #D7D7D7;
}
@media (min-width: 31.25em) {
  .documents__item {
    flex-wrap: nowrap;
  }
}
@media (min-width: 60em) {
  .documents__item {
    flex-wrap: wrap;
  }
}
@media (min-width: 105em) {
  .documents__item {
    flex-wrap: nowrap;
  }
}
@media (min-width: 120em) {
  .documents__item {
    min-height: 2.7083333333vw;
    padding: 0.5208333333vw 0vw;
    border-width: 0.0520833333vw;
  }
}
.documents h4 {
  display: block;
  flex: 0 1 auto;
  font-weight: 600;
  width: calc(100% - 96px);
  padding: 0 15px 15px 0;
  padding: 0 0.9375rem 0.9375rem 0;
  color: #585858;
  word-break: break-all;
}
@media (min-width: 31.25em) {
  .documents h4 {
    width: 55.85%;
    padding: 0 15px 0 0;
    padding: 0 0.9375rem 0 0;
  }
}
@media (min-width: 60em) {
  .documents h4 {
    width: calc(100% - 96px);
    padding-bottom: 10px;
    padding-bottom: 0.625rem;
  }
}
@media (min-width: 105em) {
  .documents h4 {
    width: 55.85%;
    padding: 0 15px 0 0;
    padding: 0 0.9375rem 0 0;
  }
}
.documents__file-size {
  display: block;
  font-size: 12px;
  font-size: 0.75rem;
  line-height: 12px;
  line-height: 0.75rem;
  width: 80%;
  margin-right: 15px;
  margin-right: 0.9375rem;
  text-transform: uppercase;
  color: #868585;
}
@media (min-width: 31.25em) {
  .documents__file-size {
    font-size: 14px;
    font-size: 0.875rem;
    line-height: 14px;
    line-height: 0.875rem;
    width: auto;
  }
}
@media (min-width: 60em) {
  .documents__file-size {
    font-size: 12px;
    font-size: 0.75rem;
    line-height: 12px;
    line-height: 0.75rem;
    width: 80%;
  }
}
@media (min-width: 105em) {
  .documents__file-size {
    font-size: 14px;
    font-size: 0.875rem;
    line-height: 14px;
    line-height: 0.875rem;
    width: auto;
  }
}
@media (min-width: 120em) {
  .documents__file-size {
    font-size: 0.7291666667vw;
    line-height: 0.7291666667vw;
    margin-right: 0.78125vw;
  }
}
.documents__download {
  display: block;
  flex: 0 1 auto;
  top: 50%;
  right: 0;
  bottom: auto;
  left: auto;
  position: absolute;
  transform: translateY(-50%);
  font-size: 14px;
  font-size: 0.875rem;
  line-height: 14px;
  line-height: 0.875rem;
  padding: 2px 0;
  padding: 0.125rem 0;
  text-transform: uppercase;
  text-decoration: none;
  margin-left: auto;
  color: #56BFFE;
}
@media (min-width: 31.25em) {
  .documents__download {
    top: auto;
    right: auto;
    bottom: auto;
    left: auto;
    position: relative;
    transform: none;
    font-size: 16px;
    font-size: 1rem;
    line-height: 16px;
    line-height: 1rem;
  }
}
@media (min-width: 60em) {
  .documents__download {
    top: 50%;
    right: 0;
    bottom: auto;
    left: auto;
    position: absolute;
    transform: translateY(-50%);
    font-size: 14px;
    font-size: 0.875rem;
    line-height: 14px;
    line-height: 0.875rem;
  }
}
@media (min-width: 105em) {
  .documents__download {
    top: auto;
    right: auto;
    bottom: auto;
    left: auto;
    position: relative;
    transform: none;
    font-size: 16px;
    font-size: 1rem;
    line-height: 16px;
    line-height: 1rem;
  }
}
@media (min-width: 120em) {
  .documents__download {
    font-size: 0.8333333333vw;
    line-height: 0.8333333333vw;
  }
}
@media (min-width: 60em) {
  .documents__download:hover, .documents__download.btn--loading {
    color: rgb(0.5490196078%, 58.1960784314%, 92.7843137255%);
  }
}
.documents--sections {
  margin-top: 0;
}
.documents--sections h2 {
  font-size: 16px;
  font-size: 1rem;
  font-size: 20px;
  font-size: 1.25rem;
  color: #3D5BF6;
  text-transform: uppercase;
}
@media (min-width: 120em) {
  .documents--sections h2 {
    font-size: 0.8333333333vw;
    font-size: 1.0416666667vw;
  }
}
.documents--sections h4 {
  width: calc(100% - 50px);
  font-size: 14px;
  font-size: 0.875rem;
  line-height: 16px;
  line-height: 1rem;
  padding: 0;
  color: #656565;
  word-break: break-all;
}
@media (min-width: 120em) {
  .documents--sections h4 {
    font-size: 0.7291666667vw;
    line-height: 0.8333333333vw;
  }
}
.documents--sections .documents__item {
  min-height: 41px;
  min-height: 2.5625rem;
}
@media (min-width: 120em) {
  .documents--sections .documents__item {
    min-height: 2.1354166667vw;
  }
}
.documents--sections .documents__download {
  font-weight: 700;
  color: #3D5BF6;
}
@media (min-width: 60em) {
  .documents--sections .documents__download:hover, .documents--sections .documents__download.btn--loading {
    color: rgb(3.5641842944%, 15.4447986091%, 76.8279725683%);
  }
}

.footer {
  z-index: 100;
  position: relative;
  display: flex;
  flex-flow: row wrap;
  align-items: center;
  align-content: center;
  justify-content: space-between;
  width: 100%;
  padding: 20px 0 12px 15px;
  padding: 1.25rem 0 0.75rem 0.9375rem;
  background: #232323;
}
@media (min-width: 47.5em) {
  .footer {
    padding: 20px 0 14px 30px;
    padding: 1.25rem 0 0.875rem 1.875rem;
  }
}
@media (min-width: 60em) {
  .footer {
    align-items: flex-start;
    align-content: flex-start;
    top: auto;
    right: auto;
    bottom: 0;
    left: 0;
    position: absolute;
    background: none;
    max-width: 37.5%;
    width: 37.5%;
    padding: 0 0 14px 20px;
    padding: 0 0 0.875rem 1.25rem;
  }
}
@media (min-width: 75em) {
  .footer {
    padding: 0 10px 14px 40px;
    padding: 0 0.625rem 0.875rem 2.5rem;
  }
}
@media (min-width: 87.5em) {
  .footer {
    padding: 0 30px 14px 60px;
    padding: 0 1.875rem 0.875rem 3.75rem;
  }
}
@media (min-width: 100em) {
  .footer {
    padding: 0 50px 14px 80px;
    padding: 0 3.125rem 0.875rem 5rem;
  }
}
@media (min-width: 112.5em) {
  .footer {
    padding: 0 80px 14px 100px;
    padding: 0 5rem 0.875rem 6.25rem;
  }
}
@media (min-width: 120em) {
  .footer {
    padding: 0vw 4.1666666667vw 0.7291666667vw 5.2083333333vw;
  }
}
.footer__copyrights {
  display: block;
  font-size: 12px;
  font-size: 0.75rem;
  line-height: 12px;
  line-height: 0.75rem;
  color: rgba(255, 255, 255, 0.7);
  margin-right: 15px;
  margin-right: 0.9375rem;
  margin-bottom: 8px;
  margin-bottom: 0.5rem;
  opacity: 0.9;
}
@media (min-width: 47.5em) {
  .footer__copyrights {
    margin-right: 30px;
    margin-right: 1.875rem;
  }
}
@media (min-width: 60em) {
  .footer__copyrights {
    color: #585858;
    opacity: 1;
  }
}
@media (min-width: 120em) {
  .footer__copyrights {
    font-size: 0.625vw;
    line-height: 0.625vw;
    margin-right: 1.5625vw;
    margin-bottom: 0.4166666667vw;
  }
}
@media (min-width: 60em) {
  .footer__copyrights:last-child {
    margin-bottom: 0;
  }
}
.footer__copyrights a {
  color: #fff;
}
@media (min-width: 60em) {
  .footer__copyrights a {
    color: #2a2a2a;
    transition: color 300ms linear;
  }
}
@media (min-width: 60em) {
  .footer__copyrights a:hover, .footer__copyrights a.btn--loading {
    color: #56bffe;
  }
}

.form {
  position: relative;
  width: 100%;
  margin: 22px 0 20px;
  margin: 1.375rem 0 1.25rem;
}
@media (min-width: 60em) {
  .form {
    margin: 22px 0 0;
    margin: 1.375rem 0 0;
  }
}
@media (min-width: 120em) {
  .form {
    margin: 1.1458333333vw 0vw 0vw;
  }
}
.form h4 {
  padding-bottom: 12px;
  padding-bottom: 0.75rem;
  color: #585858;
}
@media (min-width: 120em) {
  .form h4 {
    padding-bottom: 0.625vw;
  }
}
.form__section {
  display: flex;
  flex-flow: row wrap;
}
@media (min-width: 40.625em) {
  .form__section {
    flex-wrap: nowrap;
  }
}
@media (min-width: 60em) {
  .form__section {
    flex-wrap: wrap;
  }
}
.form__col {
  width: 100%;
}
@media (min-width: 40.625em) {
  .form__col:first-child {
    margin-right: 20px;
    margin-right: 1.25rem;
  }
}
@media (min-width: 60em) {
  .form__col:first-child {
    margin-right: 0;
  }
}
.form__icon {
  top: 50%;
  right: 17px;
  right: 1.0625rem;
  bottom: auto;
  left: auto;
  position: absolute;
  transform: translateY(-50%);
  width: 15px;
  width: 0.9375rem;
  height: 11px;
  height: 0.6875rem;
  pointer-events: none;
}
.form__icon svg {
  top: 0;
  right: auto;
  bottom: auto;
  left: 0;
  position: absolute;
  width: 100%;
  height: 100%;
  fill: #232323;
}
.form__row {
  position: relative;
  display: flex;
  flex-flow: row wrap;
  align-items: flex-start;
  align-content: flex-start;
  align-self: flex-start;
  width: 100%;
  margin: 0;
  padding: 0;
  margin-bottom: 24px;
  margin-bottom: 1.5rem;
}
@media (min-width: 120em) {
  .form__row {
    margin-bottom: 1.25vw;
  }
}
.form__row--more-margin {
  margin-bottom: 32px;
  margin-bottom: 2rem;
}
@media (min-width: 120em) {
  .form__row--more-margin {
    margin-bottom: 1.6666666667vw;
  }
}
.form__row:hover .form__label, .form__row.btn--loading .form__label {
  color: #3399D6;
}
.form__row:hover .form__input, .form__row.btn--loading .form__input {
  border-color: #56BFFE;
}
.form__row.focus-within .form__label {
  color: #3399D6;
}
.form__row.focus-within .form__input {
  border: 2px solid #56BFFE;
}
@media (min-width: 120em) {
  .form__row.focus-within .form__input {
    border-width: 0.1041666667vw;
  }
}
.form__row--error .form__label {
  color: #FF4242;
}
.form__row--error .form__input {
  border-color: #FF4242;
}
.form__label {
  display: block;
  width: 100%;
  font-size: 16px;
  font-size: 1rem;
  line-height: 20px;
  line-height: 1.25rem;
  color: #585858;
  margin-bottom: 5px;
  margin-bottom: 0.3125rem;
  transition: color 300ms linear;
}
@media (min-width: 120em) {
  .form__label {
    font-size: 0.8333333333vw;
    line-height: 1.0416666667vw;
    margin-bottom: 0.2604166667vw;
  }
}
.form__input-wrap {
  position: relative;
  display: block;
  width: 100%;
  color: #585858;
}
.form__input {
  display: block;
  font-size: 14px;
  font-size: 0.875rem;
  line-height: 18px;
  line-height: 1.125rem;
  font-weight: 400;
  width: 100%;
  height: 48px;
  height: 3rem;
  padding: 0 10px;
  padding: 0 0.625rem;
  border: 1px solid #585858;
  color: #585858;
  background: none;
  transition: color 300ms linear, border-color 300ms linear;
  -webkit-appearance: none;
}
@media (min-width: 75em) {
  .form__input {
    font-size: 16px;
    font-size: 1rem;
    line-height: 20px;
    line-height: 1.25rem;
  }
}
@media (min-width: 120em) {
  .form__input {
    height: 2.5vw;
    font-size: 0.8333333333vw;
    padding: 0vw 0.5208333333vw;
    line-height: 1.2;
  }
}
.form__input--text-area {
  height: 100px;
  height: 6.25rem;
  resize: none;
  padding: 10px;
  padding: 0.625rem;
}
@media (min-width: 40.625em) {
  .form__input--text-area {
    height: 145px;
    height: 9.0625rem;
  }
}
@media (min-width: 60em) {
  .form__input--text-area {
    height: 100px;
    height: 6.25rem;
  }
}
@media (min-width: 120em) {
  .form__input--text-area {
    height: 5.2083333333vw;
    padding: 0.5208333333vw;
  }
}
.form__validation {
  display: none;
  top: auto;
  right: auto;
  bottom: -16px;
  bottom: -1rem;
  left: 0;
  position: absolute;
  font-size: 13px;
  font-size: 0.8125rem;
  line-height: 13px;
  line-height: 0.8125rem;
  font-style: italic;
  color: #FF4242;
}
@media (min-width: 120em) {
  .form__validation {
    bottom: -0.8333333333vw;
    font-size: 0.6770833333vw;
    line-height: 0.6770833333vw;
  }
}

.fullscreen-container {
  position: relative;
  height: auto;
  overflow: hidden;
  display: flex;
  flex-direction: column;
}
@media (min-width: 60em) {
  .fullscreen-container {
    display: flex;
    flex-direction: row;
  }
}
.fullscreen-container .container-left {
  align-items: flex-start;
  align-content: flex-start;
}
@media (min-width: 60em) {
  .fullscreen-container .container-left {
    min-height: 100vh;
    align-items: center;
    align-content: center;
  }
}
.fullscreen-container__content {
  display: flex;
  flex-flow: row wrap;
  z-index: 10;
  width: 100%;
  background: #FFF;
}
@media (min-width: 60em) {
  .fullscreen-container__content {
    display: block;
    top: 0;
    right: auto;
    bottom: auto;
    left: 0;
    position: fixed;
    height: 100%;
    overflow: auto;
    background: none;
  }
}
.fullscreen-container--about-us {
  overflow: visible;
}
@media (min-width: 60em) {
  .fullscreen-container--about-us {
    overflow: hidden;
  }
}
.fullscreen-container .editable {
  width: 100%;
}

.google-map {
  top: 0;
  right: auto;
  bottom: auto;
  left: 0;
  position: absolute;
  width: 100%;
  min-height: 481px;
  min-height: 30.0625rem;
  background: #132F44;
}
@media (min-width: 47.5em) {
  .google-map {
    min-height: 600px;
    min-height: 37.5rem;
  }
}
@media (min-width: 60em) {
  .google-map {
    height: 100%;
  }
}
.google-map::before, .google-map.nav-btn__btn::after, .google-map.diagram__cable::after {
  content: "";
  display: block;
  padding: 0;
}

.header-animation {
  display: block;
  width: 100%;
}
.header-animation h1 {
  display: block;
}
.header-animation__word {
  display: inline-flex;
}
.header-animation__letter {
  display: block;
  flex: none;
  white-space: pre;
}
@media (min-width: 60em) {
  .header-animation__letter {
    animation-delay: 0ms;
    animation-duration: 250ms;
    animation-name: header-in;
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    animation-iteration-count: forward;
    animation-fill-mode: forwards; /* this prevents the animation from restarting! */
    opacity: 0;
    transform: translateY(-50%);
    animation-play-state: paused;
  }
  .header-animation--play .header-animation__letter, body.no-js .header-animation__letter {
    animation-play-state: running;
  }
}
.header-animation__letter--letter-0 {
  animation-delay: 200ms;
}
.header-animation__letter--letter-1 {
  animation-delay: 225ms;
}
.header-animation__letter--letter-2 {
  animation-delay: 250ms;
}
.header-animation__letter--letter-3 {
  animation-delay: 275ms;
}
.header-animation__letter--letter-4 {
  animation-delay: 300ms;
}
.header-animation__letter--letter-5 {
  animation-delay: 325ms;
}
.header-animation__letter--letter-6 {
  animation-delay: 350ms;
}
.header-animation__letter--letter-7 {
  animation-delay: 375ms;
}
.header-animation__letter--letter-8 {
  animation-delay: 400ms;
}
.header-animation__letter--letter-9 {
  animation-delay: 425ms;
}
.header-animation__letter--letter-10 {
  animation-delay: 450ms;
}
.header-animation__letter--letter-11 {
  animation-delay: 475ms;
}
.header-animation__letter--letter-12 {
  animation-delay: 500ms;
}
.header-animation__letter--letter-13 {
  animation-delay: 525ms;
}
.header-animation__letter--letter-14 {
  animation-delay: 550ms;
}
.header-animation__letter--letter-15 {
  animation-delay: 575ms;
}
.header-animation__letter--letter-16 {
  animation-delay: 600ms;
}
.header-animation__letter--letter-17 {
  animation-delay: 625ms;
}
.header-animation__letter--letter-18 {
  animation-delay: 650ms;
}
.header-animation__letter--letter-19 {
  animation-delay: 675ms;
}
.header-animation__letter--letter-20 {
  animation-delay: 700ms;
}
.header-animation__letter--letter-21 {
  animation-delay: 725ms;
}
.header-animation__letter--letter-22 {
  animation-delay: 750ms;
}
.header-animation__letter--letter-23 {
  animation-delay: 775ms;
}
.header-animation__letter--letter-24 {
  animation-delay: 800ms;
}
.header-animation__letter--letter-25 {
  animation-delay: 825ms;
}
.header-animation__letter--letter-26 {
  animation-delay: 850ms;
}
.header-animation__letter--letter-27 {
  animation-delay: 875ms;
}
.header-animation__letter--letter-28 {
  animation-delay: 900ms;
}
.header-animation__letter--letter-29 {
  animation-delay: 925ms;
}
.header-animation__letter--letter-30 {
  animation-delay: 950ms;
}
.header-animation__letter--letter-31 {
  animation-delay: 975ms;
}
.header-animation__letter--letter-32 {
  animation-delay: 1000ms;
}
.header-animation__letter--letter-33 {
  animation-delay: 1025ms;
}
.header-animation__letter--letter-34 {
  animation-delay: 1050ms;
}
.header-animation__letter--letter-35 {
  animation-delay: 1075ms;
}
.header-animation__letter--letter-36 {
  animation-delay: 1100ms;
}
.header-animation__letter--letter-37 {
  animation-delay: 1125ms;
}
.header-animation__letter--letter-38 {
  animation-delay: 1150ms;
}
.header-animation__letter--letter-39 {
  animation-delay: 1175ms;
}
.header-animation__letter--letter-40 {
  animation-delay: 1200ms;
}
.header-animation__letter--letter-41 {
  animation-delay: 1225ms;
}
.header-animation__letter--letter-42 {
  animation-delay: 1250ms;
}
.header-animation__letter--letter-43 {
  animation-delay: 1275ms;
}
.header-animation__letter--letter-44 {
  animation-delay: 1300ms;
}
.header-animation__letter--letter-45 {
  animation-delay: 1325ms;
}
.header-animation__letter--letter-46 {
  animation-delay: 1350ms;
}
.header-animation__letter--letter-47 {
  animation-delay: 1375ms;
}
.header-animation__letter--letter-48 {
  animation-delay: 1400ms;
}
.header-animation__letter--letter-49 {
  animation-delay: 1425ms;
}
.header-animation__letter--letter-50 {
  animation-delay: 1450ms;
}
.header-animation__letter--letter-51 {
  animation-delay: 1475ms;
}
.header-animation__letter--letter-52 {
  animation-delay: 1500ms;
}
.header-animation__letter--letter-53 {
  animation-delay: 1525ms;
}
.header-animation__letter--letter-54 {
  animation-delay: 1550ms;
}
.header-animation__letter--letter-55 {
  animation-delay: 1575ms;
}
.header-animation__letter--letter-56 {
  animation-delay: 1600ms;
}
.header-animation__letter--letter-57 {
  animation-delay: 1625ms;
}
.header-animation__letter--letter-58 {
  animation-delay: 1650ms;
}
.header-animation__letter--letter-59 {
  animation-delay: 1675ms;
}
.header-animation__letter--letter-60 {
  animation-delay: 1700ms;
}
.header-animation__letter--letter-61 {
  animation-delay: 1725ms;
}
.header-animation__letter--letter-62 {
  animation-delay: 1750ms;
}
.header-animation__letter--letter-63 {
  animation-delay: 1775ms;
}
.header-animation__letter--letter-64 {
  animation-delay: 1800ms;
}
.header-animation__letter--letter-65 {
  animation-delay: 1825ms;
}
.header-animation__letter--letter-66 {
  animation-delay: 1850ms;
}
.header-animation__letter--letter-67 {
  animation-delay: 1875ms;
}
.header-animation__letter--letter-68 {
  animation-delay: 1900ms;
}
.header-animation__letter--letter-69 {
  animation-delay: 1925ms;
}
.header-animation__letter--letter-70 {
  animation-delay: 1950ms;
}
.header-animation__letter--letter-71 {
  animation-delay: 1975ms;
}
.header-animation__letter--letter-72 {
  animation-delay: 2000ms;
}
.header-animation__letter--letter-73 {
  animation-delay: 2025ms;
}
.header-animation__letter--letter-74 {
  animation-delay: 2050ms;
}
.header-animation__letter--letter-75 {
  animation-delay: 2075ms;
}
.header-animation__letter--letter-76 {
  animation-delay: 2100ms;
}
.header-animation__letter--letter-77 {
  animation-delay: 2125ms;
}
.header-animation__letter--letter-78 {
  animation-delay: 2150ms;
}
.header-animation__letter--letter-79 {
  animation-delay: 2175ms;
}
.header-animation__letter--letter-80 {
  animation-delay: 2200ms;
}
.header-animation__letter--letter-81 {
  animation-delay: 2225ms;
}
.header-animation__letter--letter-82 {
  animation-delay: 2250ms;
}
.header-animation__letter--letter-83 {
  animation-delay: 2275ms;
}
.header-animation__letter--letter-84 {
  animation-delay: 2300ms;
}
.header-animation__letter--letter-85 {
  animation-delay: 2325ms;
}
.header-animation__letter--letter-86 {
  animation-delay: 2350ms;
}
.header-animation__letter--letter-87 {
  animation-delay: 2375ms;
}
.header-animation__letter--letter-88 {
  animation-delay: 2400ms;
}
.header-animation__letter--letter-89 {
  animation-delay: 2425ms;
}
.header-animation__letter--letter-90 {
  animation-delay: 2450ms;
}
.header-animation__letter--letter-91 {
  animation-delay: 2475ms;
}
.header-animation__letter--letter-92 {
  animation-delay: 2500ms;
}
.header-animation__letter--letter-93 {
  animation-delay: 2525ms;
}
.header-animation__letter--letter-94 {
  animation-delay: 2550ms;
}
.header-animation__letter--letter-95 {
  animation-delay: 2575ms;
}
.header-animation__letter--letter-96 {
  animation-delay: 2600ms;
}
.header-animation__letter--letter-97 {
  animation-delay: 2625ms;
}
.header-animation__letter--letter-98 {
  animation-delay: 2650ms;
}
.header-animation__letter--letter-99 {
  animation-delay: 2675ms;
}
.header-animation__letter--letter-100 {
  animation-delay: 2700ms;
}

.header {
  z-index: 999;
  top: 0;
  right: 0;
  bottom: auto;
  left: auto;
  position: fixed;
  padding: 0 15px;
  padding: 0 0.9375rem;
  pointer-events: none;
  position: fixed;
  width: 100%;
  height: 100%;
}
.header::before, .header.nav-btn__btn::after, .header.diagram__cable::after {
  content: "";
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  position: absolute;
  width: 100%;
  height: 100%;
  transition: transform 300ms ease 300ms;
  background: #1C3457;
  pointer-events: none;
  transform: translateY(-100%);
}
@media (min-width: 37.5em) {
  .header::before, .header.nav-btn__btn::after, .header.diagram__cable::after {
    display: none;
  }
}
.header::after {
  content: "";
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  position: absolute;
  width: 100%;
  height: 100%;
  background: url("/images/jpeg/nav-background--mobile.jpg?v=1.22") no-repeat center center/cover;
  pointer-events: none;
  opacity: 0;
  transition: 300ms opacity ease;
}
@media (min-width: 37.5em) {
  .header::after {
    background-image: url("/images/jpeg/nav-background--600.jpg?v=1.22");
    opacity: 1;
    max-width: 340px;
    max-width: 21.25rem;
    left: auto;
    transform: translateX(100%);
    transition: transform 300ms ease;
  }
}
@media (min-width: 37.5em) {
  .header {
    padding: 0 30px;
    padding: 0 1.875rem;
  }
}
@media (min-width: 60em) {
  .header {
    width: 62.5%;
    padding: 0;
    height: 0;
  }
}
.header__wrapper {
  height: 69px;
  height: 4.3125rem;
  border-bottom: 1px solid rgba(255, 255, 255, 0.2);
}
@media (min-width: 47.5em) {
  .header__wrapper {
    height: 79px;
    height: 4.9375rem;
  }
}
@media (min-width: 60em) {
  .header__wrapper {
    height: 86px;
    height: 5.375rem;
    border: 0;
  }
}
@media (min-width: 120em) {
  .header__wrapper {
    height: 86px;
    height: 5.375rem;
  }
}
.header--sticky {
  background: #fff;
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.25);
  height: auto;
}
@media (min-width: 60em) {
  .header--sticky {
    background: none;
    box-shadow: none;
  }
}
.header--sticky .logo svg {
  fill: #292664;
}
.header--sticky .nav-btn__btn {
  background: #292664;
}
.header--sticky .nav-btn__btn::before, .header--sticky .nav-btn__btn::after {
  background: #292664;
}

.hero {
  position: relative;
  width: 100%;
}
.hero__background {
  position: relative;
  display: block;
  min-height: 300px;
  min-height: 18.75rem;
}
@media (min-width: 60em) {
  .hero__background {
    display: none;
  }
}
@media (min-width: 120em) {
  .hero__background {
    min-height: 15.625vw;
  }
}
.hero__background::before, .hero__background.nav-btn__btn::after, .hero__background.diagram__cable::after {
  content: "";
  display: block;
  padding-top: 53.9%;
}
.hero__background::after {
  content: "";
  top: 0;
  right: auto;
  bottom: auto;
  left: 0;
  position: absolute;
  width: 100%;
  height: 100%;
  background: rgba(17, 50, 87, 0.6);
  mix-blend-mode: multiply;
}
.hero__background img {
  top: 0;
  right: auto;
  bottom: auto;
  left: 0;
  position: absolute;
  width: 100%;
  height: 100%;
  -o-object-fit: none;
     object-fit: none;
  -o-object-position: left center;
     object-position: left center;
}
@media (min-width: 31.25em) {
  .hero__background img {
    -o-object-position: center center;
       object-position: center center;
  }
}
@media (min-width: 60em) {
  .hero__background--no-overlay::after {
    display: none;
  }
}
.hero__holder {
  display: flex;
  align-items: center;
  align-content: center;
  flex-flow: row wrap;
  top: 0;
  right: auto;
  bottom: auto;
  left: 0;
  position: absolute;
  max-width: 100%;
  width: 100%;
  height: 100%;
  padding: 0 14px;
  padding: 0 0.875rem;
}
@media (min-width: 37.5em) {
  .hero__holder {
    padding: 0 30px;
    padding: 0 1.875rem;
  }
}
@media (min-width: 60em) {
  .hero__holder {
    top: auto;
    right: auto;
    bottom: auto;
    left: auto;
    position: relative;
    padding: 0;
  }
}
.hero__holder h1 {
  width: 100%;
  padding: 56px 50px 0 0;
  padding: 3.5rem 3.125rem 0 0;
}
@media (min-width: 47.5em) {
  .hero__holder h1 {
    padding-top: 68px;
    padding-top: 4.25rem;
  }
}
@media (min-width: 60em) {
  .hero__holder h1 {
    padding-top: 0;
  }
}
@media (min-width: 120em) {
  .hero__holder h1 {
    padding-right: 2.6041666667vw;
  }
}
.hero__holder p {
  display: block;
  max-width: 100%;
  color: rgba(255, 255, 255, 0.9);
}
@media (min-width: 37.5em) {
  .hero__holder p {
    padding-right: 30%;
    padding-bottom: 30px;
    padding-bottom: 1.875rem;
  }
}
@media (min-width: 60em) {
  .hero__holder p {
    width: auto;
    padding-right: 0;
    padding-bottom: 38px;
    padding-bottom: 2.375rem;
    color: #585858;
  }
}
@media (min-width: 120em) {
  .hero__holder p {
    padding-bottom: 1.9791666667vw;
  }
}
.hero__line {
  width: 100%;
  max-width: 43px;
  max-width: 2.6875rem;
  height: 2px;
  height: 0.125rem;
  margin: 13px 0 0;
  margin: 0.8125rem 0 0;
  background: #56bffe;
  border: 0;
}
@media (min-width: 37.5em) {
  .hero__line {
    max-width: 69px;
    max-width: 4.3125rem;
    height: 4px;
    height: 0.25rem;
  }
}
@media (min-width: 60em) {
  .hero__line {
    margin: 12px 0 0;
    margin: 0.75rem 0 0;
  }
}
@media (min-width: 87.5em) {
  .hero__line {
    margin-top: 21px;
    margin-top: 1.3125rem;
  }
}
@media (min-width: 120em) {
  .hero__line {
    max-width: 3.59375vw;
    height: 0.2083333333vw;
    margin: 1.09375vw 0vw 0vw;
  }
}
.hero--map .hero__background {
  min-height: 481px;
  min-height: 30.0625rem;
  -o-object-fit: cover;
     object-fit: cover;
}
@media (min-width: 31.25em) {
  .hero--map .hero__background {
    min-height: 600px;
    min-height: 37.5rem;
  }
}
@media (min-width: 60em) {
  .hero--map .hero__background {
    min-height: 930px;
    min-height: 58.125rem;
  }
}
@media (min-width: 120em) {
  .hero--map .hero__background {
    min-height: 48.4375vw;
  }
}
.hero--map .hero__background::before, .hero--map .hero__background.nav-btn__btn::after, .hero--map .hero__background.diagram__cable::after {
  padding: 0;
}
.hero--map .hero__background::after {
  background: rgba(17, 50, 87, 0.9);
}
.hero--map .hero__background img {
  -o-object-position: left center;
     object-position: left center;
}
@media (min-width: 31.25em) {
  .hero--map .hero__background img {
    -o-object-position: right center;
       object-position: right center;
  }
}
.hero--map .hero__holder {
  align-items: flex-start;
  align-content: flex-start;
}
.hero--map .hero__holder h1 {
  padding-top: 111px;
  padding-top: 6.9375rem;
}
@media (min-width: 47.5em) {
  .hero--map .hero__holder h1 {
    padding-top: 149px;
    padding-top: 9.3125rem;
  }
}
@media (min-width: 60em) {
  .hero--map .hero__holder h1 {
    padding: 0 3% 0 0;
  }
}
@media (min-width: 75em) {
  .hero--map .hero__holder h1 {
    padding-right: 10%;
  }
}
@media (min-width: 100em) {
  .hero--map .hero__holder h1 {
    padding-right: 14%;
  }
}
.hero--google-map {
  pointer-events: none;
}
.hero--google-map .hero__background {
  min-height: 481px;
  min-height: 30.0625rem;
  -o-object-fit: cover;
     object-fit: cover;
}
@media (min-width: 47.5em) {
  .hero--google-map .hero__background {
    min-height: 600px;
    min-height: 37.5rem;
  }
}
@media (min-width: 120em) {
  .hero--google-map .hero__background {
    min-height: 48.4375vw;
  }
}
.hero--google-map .hero__background::before, .hero--google-map .hero__background.nav-btn__btn::after, .hero--google-map .hero__background.diagram__cable::after {
  padding: 0;
}
.hero--google-map .hero__background::after {
  display: none;
}
.hero--google-map .hero__holder {
  align-items: flex-start;
  align-content: flex-start;
}
.hero--google-map .hero__holder h1 {
  padding-top: 111px;
  padding-top: 6.9375rem;
}
@media (min-width: 47.5em) {
  .hero--google-map .hero__holder h1 {
    padding-top: 149px;
    padding-top: 9.3125rem;
  }
}
@media (min-width: 60em) {
  .hero--google-map .hero__holder h1 {
    padding: 0;
  }
}
.hero--our-projects .hero__background::after {
  background: rgba(17, 50, 87, 0.8);
}
.hero--our-projects .hero__background img {
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center center;
     object-position: center center;
}
@media (min-width: 60em) {
  .hero--about-us {
    padding: 50px 0 0;
    padding: 3.125rem 0 0;
  }
}
.hero--about-us .hero__line {
  margin-bottom: 25px;
  margin-bottom: 1.5625rem;
}
.hero--about-us .hero__background {
  min-height: 520px;
}
@media (min-width: 60em) {
  .hero--about-us .hero__background {
    width: auto;
    margin-left: 0;
  }
}
@media (min-width: 60em) {
  .hero--project-inner {
    padding: 70px 0 0;
    padding: 4.375rem 0 0;
  }
}
@media (min-width: 87.5em) {
  .hero--project-inner {
    padding: 80px 0 0;
    padding: 5rem 0 0;
  }
}
@media (min-width: 60em) {
  .hero--search-before {
    padding-top: 170px;
    padding-top: 10.625rem;
  }
}
@media (min-width: 120em) {
  .hero--search-before {
    padding-top: 8.8541666667vw;
  }
}

.icon-list__item {
  position: relative;
  margin-bottom: 18px;
  margin-bottom: 1.125rem;
  padding-left: 32px;
  padding-left: 2rem;
}
@media (min-width: 120em) {
  .icon-list__item {
    margin-bottom: 0.9375vw;
    padding-left: 1.6666666667vw;
  }
}
@media (min-width: 60em) {
  .icon-list__item:hover .icon-list__link, .icon-list__item.btn--loading .icon-list__link {
    color: rgb(4.5098039216%, 4.5098039216%, 4.5098039216%);
  }
}
@media (min-width: 60em) {
  .icon-list__item:hover .icon-list__icon svg, .icon-list__item.btn--loading .icon-list__icon svg {
    fill: rgb(0.5490196078%, 58.1960784314%, 92.7843137255%);
  }
}
.icon-list__link {
  font-size: 14px;
  font-size: 0.875rem;
  line-height: 18px;
  line-height: 1.125rem;
  color: #585858;
  text-decoration: none;
}
@media (min-width: 37.5em) {
  .icon-list__link {
    font-size: 16px;
    font-size: 1rem;
    line-height: 20px;
    line-height: 1.25rem;
  }
}
@media (min-width: 60em) {
  .icon-list__link {
    font-size: 15px;
    font-size: 0.9375rem;
  }
}
@media (min-width: 68.75em) {
  .icon-list__link {
    font-size: 16px;
    font-size: 1rem;
  }
}
@media (min-width: 120em) {
  .icon-list__link {
    font-size: 0.8333333333vw;
    line-height: 1.0416666667vw;
  }
}
.icon-list__link strong {
  font-family: "web-bre-serif", Helvectia, Arial, Sans-Serif;
  color: #232323;
}
.icon-list__icon {
  top: 50%;
  right: auto;
  bottom: auto;
  left: 0;
  position: absolute;
  transform: translateY(-50%);
  display: block;
  flex: 0 0 auto;
  width: 16px;
  width: 1rem;
  height: 20px;
  height: 1.25rem;
}
@media (min-width: 120em) {
  .icon-list__icon {
    width: 0.8333333333vw;
    height: 1.0416666667vw;
  }
}
.icon-list__icon svg {
  fill: #56bffe;
}
.icon-list__icon--top {
  top: 4px;
  top: 0.25rem;
  transform: none;
}
@media (min-width: 120em) {
  .icon-list__icon--top {
    top: 0.2083333333vw;
  }
}

html[data-useragent*="MSIE 10.0"] body.page-transition .loading-overlay {
  display: block;
}
html[data-useragent*="MSIE 10.0"] .loading-overlay {
  display: none;
}
html[data-useragent*="MSIE 10.0"] .header {
  height: 0;
}
html[data-useragent*="MSIE 10.0"] .header::before, html[data-useragent*="MSIE 10.0"] .header.nav-btn__btn::after, html[data-useragent*="MSIE 10.0"] .header.diagram__cable::after {
  display: none;
}
@media (min-width: 37.5em) {
  html[data-useragent*="MSIE 10.0"] .header::before, html[data-useragent*="MSIE 10.0"] .header.nav-btn__btn::after, html[data-useragent*="MSIE 10.0"] .header.diagram__cable::after {
    display: none;
  }
}
html[data-useragent*="MSIE 10.0"] .header::after {
  display: none;
}
html[data-useragent*="MSIE 10.0"] .nav {
  display: none;
}
@media (min-width: 60em) {
  html[data-useragent*="MSIE 10.0"] .nav {
    display: block;
  }
}
html[data-useragent*="MSIE 10.0"] body.nav-active .header {
  height: 100%;
}
html[data-useragent*="MSIE 10.0"] body.nav-active .header::before, html[data-useragent*="MSIE 10.0"] body.nav-active .header.nav-btn__btn::after, html[data-useragent*="MSIE 10.0"] body.nav-active .header.diagram__cable::after {
  display: block;
}
@media (min-width: 37.5em) {
  html[data-useragent*="MSIE 10.0"] body.nav-active .header::before, html[data-useragent*="MSIE 10.0"] body.nav-active .header.nav-btn__btn::after, html[data-useragent*="MSIE 10.0"] body.nav-active .header.diagram__cable::after {
    display: none;
  }
}
html[data-useragent*="MSIE 10.0"] body.nav-active .header::after {
  display: block;
}
html[data-useragent*="MSIE 10.0"] body.nav-active .nav {
  display: block;
}

.image-background {
  display: none;
}
@media (min-width: 60em) {
  .image-background {
    display: block;
    top: 0;
    right: auto;
    bottom: auto;
    left: 0;
    position: absolute;
    width: 100%;
    height: 100%;
  }
}
.image-background img {
  display: block;
  top: 0;
  right: auto;
  bottom: auto;
  left: 0;
  position: absolute;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

@media (max-width: 59.9375em) {
  .fill-D8222A {
    fill: #D8222A;
  }
}

@media (max-width: 59.9375em) {
  .fill-292664 {
    fill: #292664;
  }
}

@media (max-width: 59.9375em) {
  .fill-2E2E2F {
    fill: #2E2E2F;
  }
}

@media (max-width: 59.9375em) {
  .fill-7d756b {
    fill: #7d756b;
  }
}

@media (max-width: 59.9375em) {
  .fill-421554 {
    fill: #421554;
  }
}

@media (min-width: 60em) {
  body.index-body {
    min-height: 420px;
    min-height: 26.25rem;
  }
}
@media (min-width: 60em) and (max-height: 26.25em) {
  body.index-body .header {
    position: absolute;
  }
  body.index-body .hero {
    padding-top: 0;
  }
  body.index-body .container-right {
    top: auto;
    right: auto;
    bottom: auto;
    left: auto;
    position: relative;
  }
}

.letter {
  width: 210mm;
  height: 297mm;
  position: relative;
  padding: 15mm;
}

body.page-transition .loading-overlay {
  pointer-events: all;
}
body.page-transition .loading-overlay__offset {
  transform: translateX(0);
  transition-delay: 0ms;
}
body.page-transition .loading-overlay__logo,
body.page-transition .loading-overlay__bar {
  opacity: 1;
  transition-delay: 400ms;
}
body.page-transition .loading-overlay__progress {
  transition: width 10s cubic-bezier(0, 0, 0, 1);
}
body.page-transition--done .loading-overlay__progress {
  transition: width 200ms linear;
}

.loading-overlay {
  z-index: 2000;
  top: 0;
  right: auto;
  bottom: auto;
  left: 0;
  position: fixed;
  width: 100%;
  height: 100%;
  pointer-events: none;
}
.loading-overlay__offset {
  top: 0;
  right: auto;
  bottom: auto;
  left: 0;
  position: absolute;
  transform: translateX(-100%);
  width: 100%;
  height: 100%;
  background: #FFF;
  transition: transform 400ms linear 400ms;
}
.loading-overlay__bar {
  top: 0;
  right: auto;
  bottom: auto;
  left: 0;
  position: absolute;
  width: 100%;
  height: 6px;
  height: 0.375rem;
  background: #EEEDDD;
  opacity: 0;
  transition: opacity 200ms linear;
}
@media (min-width: 120em) {
  .loading-overlay__bar {
    height: 6px;
    height: 0.375rem;
  }
}
.loading-overlay__progress {
  top: 0;
  right: auto;
  bottom: auto;
  left: 0;
  position: absolute;
  width: 0;
  height: 100%;
  background: #56BFFE;
}
.loading-overlay__logo {
  top: 50%;
  right: auto;
  bottom: auto;
  left: 50%;
  position: absolute;
  transform: translate(-50%, -50%);
  display: block;
  width: 300px;
  width: 18.75rem;
  height: 55px;
  height: 3.4375rem;
  opacity: 0;
  transition: opacity 200ms linear;
}
@media (min-width: 37.5em) {
  .loading-overlay__logo {
    width: 445px;
    width: 27.8125rem;
    height: 82px;
    height: 5.125rem;
  }
}
@media (min-width: 120em) {
  .loading-overlay__logo {
    width: 23.1770833333vw;
    height: 4.2708333333vw;
  }
}
.loading-overlay__logo svg {
  fill: #292664;
}

.logo {
  z-index: 1000;
  top: 15px;
  top: 0.9375rem;
  right: auto;
  bottom: auto;
  left: 15px;
  left: 0.9375rem;
  position: fixed;
  display: none;
  width: 57px;
  width: 3.5625rem;
  height: 38px;
  height: 2.375rem;
  overflow: hidden;
  pointer-events: all;
  cursor: pointer;
}
@media (min-width: 37.5em) {
  .logo {
    top: 20px;
    top: 1.25rem;
    left: 30px;
    left: 1.875rem;
    width: 202px;
    width: 12.625rem;
  }
}
@media (min-width: 60em) {
  .logo {
    display: block;
    top: 32px;
    top: 2rem;
    right: auto;
    bottom: auto;
    left: 15px;
    left: 0.9375rem;
    position: absolute;
    width: 230px;
    width: 14.375rem;
    height: 43px;
    height: 2.6875rem;
  }
}
@media (min-width: 75em) {
  .logo {
    width: 279px;
    width: 17.4375rem;
    height: 52px;
    height: 3.25rem;
    left: 40px;
    left: 2.5rem;
  }
}
@media (min-width: 87.5em) {
  .logo {
    left: 64px;
    left: 4rem;
  }
}
@media (min-width: 100em) {
  .logo {
    left: 80px;
    left: 5rem;
  }
}
@media (min-width: 112.5em) {
  .logo {
    left: 100px;
    left: 6.25rem;
  }
}
@media (min-width: 120em) {
  .logo {
    top: 1.6666666667vw;
    width: 14.53125vw;
    height: 2.7083333333vw;
    left: 5.2083333333vw;
  }
}
.logo svg {
  top: 0;
  right: auto;
  bottom: auto;
  left: 0;
  position: absolute;
  width: 194px;
  width: 12.125rem;
  height: 100%;
  fill: #FFF;
  transition: 200ms fill ease;
}
@media (min-width: 37.5em) {
  .logo svg {
    width: 100%;
    height: 100%;
  }
}
@media (min-width: 60em) {
  .logo svg {
    fill: #292664;
  }
}
.logo--about-us-diagram {
  top: auto;
  right: auto;
  bottom: 0;
  left: 50%;
  position: absolute;
  transform: translateX(-50%);
  width: 279px;
  width: 17.4375rem;
  height: 52px;
  height: 3.25rem;
  margin: 0;
  overflow: visible;
  display: block;
  cursor: default;
}
@media (min-width: 60em) {
  .logo--about-us-diagram {
    width: 279px;
    width: 17.4375rem;
    height: 52px;
    height: 3.25rem;
  }
}
@media (min-width: 75em) {
  .logo--about-us-diagram {
    width: 445px;
    width: 27.8125rem;
    height: 82px;
    height: 5.125rem;
  }
}
@media (min-width: 120em) {
  .logo--about-us-diagram {
    width: 23.1770833333vw;
    height: 4.2708333333vw;
  }
}
.logo--about-us-diagram svg {
  width: 100%;
  height: 100%;
  fill: #292664;
}
@media (min-width: 60em) {
  .logo--about-us-diagram svg {
    fill: #FFF;
  }
}
.logo--about-us-diagram::after {
  content: "";
  display: block;
  top: auto;
  right: auto;
  bottom: 100%;
  left: 50%;
  position: absolute;
  transform: translate(-50%);
  width: 2px;
  width: 0.125rem;
  height: 20px;
  height: 1.25rem;
  background: #56BFFE;
}
@media (min-width: 47.5em) {
  .logo--about-us-diagram::after {
    display: none;
  }
}
@media (min-width: 120em) {
  .logo--about-us-diagram::after {
    width: 0.1041666667vw;
    height: 1.0416666667vw;
  }
}
@media (min-width: 60em) {
  .logo--about-us-diagram-inner {
    transform: translateX(-50%) rotate(90deg) translateX(-80px);
    width: 90px;
    width: 5.625rem;
    height: 72px;
    height: 4.5rem;
    overflow: hidden;
  }
  .logo--about-us-diagram-inner svg {
    width: 300px;
    width: 18.75rem;
    height: 72px;
    height: 4.5rem;
  }
}
@media (min-width: 75em) {
  .logo--about-us-diagram-inner {
    transform: translateX(-50%) rotate(90deg) translateX(-10px);
  }
}
@media (min-width: 87.5em) {
  .logo--about-us-diagram-inner {
    transform: translateX(-50%) rotate(90deg) translateX(55px);
    width: 280px;
    width: 17.5rem;
    height: 52px;
    height: 3.25rem;
    overflow: visible;
  }
  .logo--about-us-diagram-inner svg {
    width: 100%;
    height: 100%;
  }
}
@media (min-width: 100em) {
  .logo--about-us-diagram-inner {
    transform: translateX(-50%) rotate(90deg) translateX(95px);
    width: 330px;
    width: 20.625rem;
    height: 72px;
    height: 4.5rem;
  }
}
@media (min-width: 120em) {
  .logo--about-us-diagram-inner {
    transform: translateX(-50%) rotate(90deg) translateX(5.46875vw);
    width: 18.2291666667vw;
    height: 3.75vw;
  }
}
.logo--mobile {
  display: block;
}
@media (min-width: 60em) {
  .logo--mobile {
    display: none;
  }
}

.mobile {
  top: 0;
  right: auto;
  bottom: auto;
  left: 0;
  position: absolute;
  width: 100%;
  height: 100%;
}
@media (min-width: 60em) {
  .mobile {
    display: none;
  }
}

.desktop {
  top: 0;
  right: auto;
  bottom: auto;
  left: 0;
  position: absolute;
  width: 100%;
  height: 100%;
  display: none;
}
@media (min-width: 60em) {
  .desktop {
    display: block;
  }
}

.map-container {
  top: 0;
  right: auto;
  bottom: auto;
  left: 0;
  position: absolute;
  z-index: 1;
  width: 100%;
  height: 100%;
  pointer-events: none;
}
@media (min-width: 60em) {
  .map-container {
    position: fixed;
    right: 0;
    left: auto;
    width: 62.5%;
  }
}
.map-container__map-wrap {
  top: 145px;
  top: 9.0625rem;
  right: auto;
  bottom: auto;
  left: 50%;
  position: absolute;
  transform: translateX(-46.25%);
  min-width: 245px;
  min-width: 15.3125rem;
}
@media (min-width: 31.25em) {
  .map-container__map-wrap {
    top: 180px;
    top: 11.25rem;
    min-width: 300px;
    min-width: 18.75rem;
  }
}
.map-container__map-wrap {
  /*@include breakpoint("tablet") {
      @include rem(top, 233px);
      transform: translateX(-56.85%);
      @include rem(min-width, 506px);
  }*/
}
@media (min-width: 60em) {
  .map-container__map-wrap {
    top: 50%;
    transform: translate(-54.75%, -50%) translateY(40px);
    min-width: 0;
    width: 360px;
    width: 22.5rem;
  }
}
@media (min-width: 75em) {
  .map-container__map-wrap {
    width: 414px;
    width: 25.875rem;
  }
}
@media (min-width: 100em) {
  .map-container__map-wrap {
    width: 500px;
    width: 31.25rem;
  }
}
@media (min-width: 112.5em) {
  .map-container__map-wrap {
    width: 580px;
    width: 36.25rem;
  }
}
@media (min-width: 120em) {
  .map-container__map-wrap {
    min-width: 15.625vw;
    width: 30.2083333333vw;
  }
}
.map-container__map-wrap::before, .map-container__map-wrap.nav-btn__btn::after, .map-container__map-wrap.diagram__cable::after {
  content: "";
  display: block;
  padding-top: 129.79%;
  /*@include breakpoint("tablet") {
      padding-top: 130.03%;
  }*/
}
@media (min-width: 60em) {
  .map-container__map-wrap::before, .map-container__map-wrap.nav-btn__btn::after, .map-container__map-wrap.diagram__cable::after {
    padding-top: 130.01%;
  }
}
.map-container__map {
  display: block;
  top: 0;
  right: auto;
  bottom: auto;
  left: 0;
  position: absolute;
  width: 100%;
  height: 100%;
}
@media (min-width: 47.5em) {
  .map-container__map {
    display: none;
  }
}
.map-container__map--svg {
  display: none;
}
@media (min-width: 47.5em) {
  .map-container__map--svg {
    display: block;
  }
}
.map-container__map--svg svg {
  fill: rgba(255, 255, 255, 0.5);
}
.map-container__map-pin {
  top: auto;
  right: auto;
  bottom: 119px;
  bottom: 7.4375rem;
  left: 132px;
  left: 8.25rem;
  position: absolute;
  display: block;
  width: 23px;
  width: 1.4375rem;
  height: 33px;
  height: 2.0625rem;
  z-index: 1;
  filter: drop-shadow(0px 0px 10px rgba(0, 0, 0, 0.5));
}
@media (min-width: 31.25em) {
  .map-container__map-pin {
    bottom: 145px;
    bottom: 9.0625rem;
    left: 167px;
    left: 10.4375rem;
  }
}
@media (min-width: 120em) {
  .map-container__map-pin {
    bottom: 7.5520833333vw;
    left: 8.6979166667vw;
    width: 1.1979166667vw;
    height: 1.71875vw;
  }
}
.map-container__map-pin--other {
  top: 250px;
  top: 15.625rem;
  top: 200px;
  top: 12.5rem;
}
@media (min-width: 31.25em) {
  .map-container__map-pin--other {
    top: 300px;
    top: 18.75rem;
    left: 250px;
    left: 15.625rem;
  }
}
@media (min-width: 120em) {
  .map-container__map-pin--other {
    top: 15.625vw;
    left: 13.0208333333vw;
  }
}
.map-container__map-pin--race-bank {
  left: 215px;
  left: 13.4375rem;
  bottom: 108px;
  bottom: 6.75rem;
}
@media (min-width: 31.25em) {
  .map-container__map-pin--race-bank {
    left: 265px;
    left: 16.5625rem;
    bottom: 133px;
    bottom: 8.3125rem;
  }
}
.map-container__map-pin--galloper-ofto {
  left: 237px;
  left: 14.8125rem;
  bottom: 65px;
  bottom: 4.0625rem;
}
@media (min-width: 31.25em) {
  .map-container__map-pin--galloper-ofto {
    left: 284px;
    left: 17.75rem;
    bottom: 80px;
    bottom: 5rem;
  }
}
.map-container__map-pin--walney-ext-ofto {
  left: 122px;
  left: 7.625rem;
  bottom: 138px;
  bottom: 8.625rem;
  z-index: 0;
}
@media (min-width: 31.25em) {
  .map-container__map-pin--walney-ext-ofto {
    left: 152px;
    left: 9.5rem;
    bottom: 168px;
    bottom: 10.5rem;
  }
}
.map-container__map-pin--hornsea-one {
  left: 242px;
  left: 15.125rem;
  bottom: 128px;
  bottom: 8rem;
}
@media (min-width: 31.25em) {
  .map-container__map-pin--hornsea-one {
    left: 293px;
    left: 18.3125rem;
    bottom: 159px;
    bottom: 9.9375rem;
  }
}
.map-container__map-pin--hornsea-two {
  left: 232px;
  left: 14.5rem;
  bottom: 128px;
  bottom: 8rem;
}
@media (min-width: 31.25em) {
  .map-container__map-pin--hornsea-two {
    left: 283px;
    left: 17.6875rem;
    bottom: 159px;
    bottom: 9.9375rem;
  }
}
@media (min-width: 60em) {
  .map-container__map-pin {
    display: none;
  }
}

.map-pin {
  z-index: 10;
  position: relative;
  display: inline-block;
  width: 100%;
  height: 43px;
  height: 2.6875rem;
  margin-bottom: 10px;
  margin-bottom: 0.625rem;
  padding: 0 62px 0 29px;
  padding: 0 3.875rem 0 1.8125rem;
  background: #56BFFE;
  border-radius: 21px;
  font-size: 16px;
  font-size: 1rem;
  line-height: 20px;
  line-height: 1.25rem;
  color: #FFF;
  text-decoration: none;
  cursor: pointer;
}
@media (min-width: 25em) {
  .map-pin {
    max-width: 290px;
    max-width: 18.125rem;
    width: auto;
  }
}
@media (min-width: 60em) {
  .map-pin {
    position: absolute;
    display: block;
    height: auto;
    max-width: 120px;
    margin: 0;
    padding: 0;
    text-align: center;
    border-radius: 5px;
    border-radius: 0.3125rem;
    color: #232323;
    background: none;
    transition: height 150ms linear, z-index 100ms linear 0ms;
  }
}
@media (min-width: 100em) {
  .map-pin {
    max-width: 200px;
  }
}
@media (min-width: 120em) {
  .map-pin {
    max-width: 15.1041666667vw;
    border-radius: 0.2604166667vw;
    font-size: 0.8333333333vw;
    line-height: 1.0416666667vw;
  }
}
@media (min-width: 60em) {
  .map-pin:hover, .map-pin.btn--loading {
    z-index: 15;
  }
  .map-pin:hover .map-pin__text--more, .map-pin.btn--loading .map-pin__text--more {
    opacity: 1;
    transition: opacity 50ms linear 150ms;
    pointer-events: all;
  }
  .map-pin:hover .map-pin__more, .map-pin.btn--loading .map-pin__more {
    height: 28px;
    height: 1.75rem;
  }
}
@media (min-width: 120em) {
  .map-pin:hover .map-pin__more, .map-pin.btn--loading .map-pin__more {
    height: 1.4583333333vw;
  }
}
@media (min-width: 60em) {
  .map-pin--other {
    top: 682px;
    top: 42.625rem;
    transform: translateX(83.15%);
  }
}
@media (min-width: 60em) {
  .map-pin--other {
    top: auto;
    bottom: 50%;
  }
}
@media (min-width: 60em) {
  .map-pin::before, .map-pin.nav-btn__btn::after, .map-pin.diagram__cable::after {
    content: "";
    display: block;
    top: auto;
    right: auto;
    bottom: 0;
    left: 50%;
    position: absolute;
    transform: translate(-50%, 5px) rotate(45deg);
    width: 10px;
    width: 0.625rem;
    height: 10px;
    height: 0.625rem;
    background: #56BFFE;
  }
}
@media (min-width: 120em) {
  .map-pin::before, .map-pin.nav-btn__btn::after, .map-pin.diagram__cable::after {
    width: 0.5208333333vw;
    height: 0.5208333333vw;
  }
}
.map-pin__icon {
  top: 50%;
  right: 29px;
  right: 1.8125rem;
  bottom: auto;
  left: auto;
  position: absolute;
  transform: translateY(-50%);
  display: block;
  width: 22px;
  width: 1.375rem;
  height: 18px;
  height: 1.125rem;
}
@media (min-width: 60em) {
  .map-pin__icon {
    display: none;
  }
}
.map-pin__icon svg {
  fill: #FFF;
}
@media (min-width: 60em) {
  .map-pin__text {
    z-index: 1;
    position: relative;
    display: block;
    padding: 4px 10px;
    padding: 0.25rem 0.625rem;
    border-radius: 5px 5px 0 0;
    border-radius: 0.3125rem 0.3125rem 0 0;
    background: #FFF;
  }
}
@media (min-width: 60em) and (max-width: 99.9375em) {
  .map-pin__text {
    font-size: 13px;
    font-size: 0.8125rem;
    line-height: 15px;
    line-height: 0.9375rem;
  }
}
@media (min-width: 120em) {
  .map-pin__text {
    height: 1.4583333333vw;
    padding: 0.2083333333vw 0.7291666667vw;
  }
}
@media (min-width: 60em) {
  .map-pin__text--more {
    transition: opacity 50ms linear;
    padding-top: 6px;
    padding-top: 0.375rem;
    opacity: 0;
    border-radius: 0;
    pointer-events: none;
    background: 0;
  }
}
@media (min-width: 120em) {
  .map-pin__text--more {
    padding-top: 0.3125vw;
  }
}
.map-pin__more {
  display: none;
  padding-top: 10px;
  padding-top: 0.625rem;
  font-size: 14px;
  font-size: 0.875rem;
  line-height: 14px;
  line-height: 0.875rem;
  text-transform: uppercase;
}
@media (min-width: 60em) {
  .map-pin__more {
    display: block;
    height: 4px;
    height: 0.25rem;
    padding-top: 0;
    background: #56BFFE;
    color: #FFF;
    border-radius: 0 0 5px 5px;
    transition: height 150ms linear;
  }
}
@media (min-width: 120em) {
  .map-pin__more {
    height: 0.2083333333vw;
    font-size: 0.7291666667vw;
    line-height: 0.7291666667vw;
    border-radius: 0vw 0vw 0.2604166667vw 0.2604166667vw;
  }
}
@media (min-width: 60em) {
  .map-pin--our-location {
    display: block;
  }
}
@media (min-width: 60em) {
  .map-pin--burbo-bank-extension-ofto {
    top: auto;
    right: auto;
    bottom: 50%;
    left: 50%;
    position: absolute;
    transform: translateX(-50%) translate(18px, 93px);
    max-width: 200px;
  }
}
@media (min-width: 75em) {
  .map-pin--burbo-bank-extension-ofto {
    transform: translateX(-50%) translate(22px, 101px);
  }
}
@media (min-width: 100em) {
  .map-pin--burbo-bank-extension-ofto {
    transform: translateX(-50%) translate(24px, 118px);
  }
}
@media (min-width: 112.5em) {
  .map-pin--burbo-bank-extension-ofto {
    transform: translateX(-50%) translate(27px, 130px);
  }
}
@media (min-width: 120em) {
  .map-pin--burbo-bank-extension-ofto {
    transform: translateX(-50%) translate(1.40625vw, 6.7708333333vw);
    max-width: 10.4166666667vw;
  }
}
@media (min-width: 60em) {
  .map-pin--galloper-ofto {
    top: auto;
    right: auto;
    bottom: 50%;
    left: 50%;
    position: absolute;
    transform: translateX(-50%) translate(173px, 174px);
  }
}
@media (min-width: 75em) {
  .map-pin--galloper-ofto {
    transform: translateX(-50%) translate(194px, 191px);
  }
}
@media (min-width: 100em) {
  .map-pin--galloper-ofto {
    transform: translateX(-50%) translate(233px, 226px);
  }
}
@media (min-width: 112.5em) {
  .map-pin--galloper-ofto {
    transform: translateX(-50%) translate(272px, 263px);
  }
}
@media (min-width: 120em) {
  .map-pin--galloper-ofto {
    transform: translateX(-50%) translate(14.1666666667vw, 13.6979166667vw);
  }
}
@media (min-width: 60em) {
  .map-pin--walney-ext-ofto {
    top: auto;
    right: auto;
    bottom: 50%;
    left: 50%;
    position: absolute;
    transform: translateX(-50%) translate(0px, 61px);
  }
}
@media (min-width: 75em) {
  .map-pin--walney-ext-ofto {
    transform: translateX(-50%) translate(0px, 67px);
  }
}
@media (min-width: 100em) {
  .map-pin--walney-ext-ofto {
    transform: translateX(-50%) translate(0px, 74px);
  }
}
@media (min-width: 112.5em) {
  .map-pin--walney-ext-ofto {
    transform: translateX(-50%) translate(0px, 83px);
  }
}
@media (min-width: 120em) {
  .map-pin--walney-ext-ofto {
    transform: translateX(-50%) translate(0vw, 4.3229166667vw);
  }
}
@media (min-width: 60em) {
  .map-pin--race-bank {
    top: 50%;
    right: auto;
    bottom: auto;
    left: 50%;
    position: absolute;
    transform: translateX(-50%) translate(135px, 118px);
  }
  .map-pin--race-bank::before, .map-pin--race-bank.nav-btn__btn::after, .map-pin--race-bank.diagram__cable::after {
    bottom: auto;
    top: 0;
    background: #FFF;
    transform: translate(-50%, -5px) rotate(45deg);
  }
}
@media (min-width: 75em) {
  .map-pin--race-bank {
    transform: translateX(-50%) translate(154px, 134px);
  }
}
@media (min-width: 100em) {
  .map-pin--race-bank {
    transform: translateX(-50%) translate(185px, 149px);
  }
}
@media (min-width: 112.5em) {
  .map-pin--race-bank {
    transform: translateX(-50%) translate(212px, 168px);
  }
}
@media (min-width: 120em) {
  .map-pin--race-bank {
    transform: translateX(-50%) translate(11.0416666667vw, 8.75vw);
  }
}
@media (min-width: 60em) {
  .map-pin--hornsea-one {
    display: block;
    top: 50%;
    right: auto;
    bottom: auto;
    left: 50%;
    position: absolute;
    transform: translateX(-50%) translate(178px, 88px);
  }
  .map-pin--hornsea-one::before, .map-pin--hornsea-one.nav-btn__btn::after, .map-pin--hornsea-one.diagram__cable::after {
    bottom: auto;
    top: 0;
    background: #FFF;
    transform: translate(-50%, -5px) rotate(45deg);
  }
}
@media (min-width: 75em) {
  .map-pin--hornsea-one {
    transform: translateX(-50%) translate(205px, 100px);
  }
}
@media (min-width: 100em) {
  .map-pin--hornsea-one {
    transform: translateX(-50%) translate(246px, 108px);
  }
}
@media (min-width: 112.5em) {
  .map-pin--hornsea-one {
    transform: translateX(-50%) translate(280px, 117px);
  }
}
@media (min-width: 120em) {
  .map-pin--hornsea-one {
    transform: translateX(-50%) translate(14.5833333333vw, 6.5104166667vw);
  }
}
@media (min-width: 60em) {
  .map-pin--hornsea-two {
    display: block;
    top: auto;
    right: auto;
    bottom: 50%;
    left: 50%;
    position: absolute;
    transform: translateX(-50%) translate(158px, 77px);
  }
}
@media (min-width: 75em) {
  .map-pin--hornsea-two {
    transform: translateX(-50%) translate(185px, 84px);
  }
}
@media (min-width: 100em) {
  .map-pin--hornsea-two {
    transform: translateX(-50%) translate(226px, 93px);
  }
}
@media (min-width: 112.5em) {
  .map-pin--hornsea-two {
    transform: translateX(-50%) translate(260px, 100px);
  }
}
@media (min-width: 120em) {
  .map-pin--hornsea-two {
    transform: translateX(-50%) translate(13.5416666667vw, 5.7291666667vw);
  }
}

@media (max-width: 59.9375em) {
  body.nav-active {
    overflow: hidden;
  }
}
@media (max-width: 59.9375em) and (min-width: 37.5em) {
  body.nav-active::before, body.nav-active.nav-btn__btn::after, body.nav-active.diagram__cable::after {
    opacity: 1;
  }
}
@media (max-width: 59.9375em) {
  body.nav-active .header {
    pointer-events: all;
    height: 100%;
  }
  body.nav-active .header::before, body.nav-active .header.nav-btn__btn::after, body.nav-active .header.diagram__cable::after {
    transition: 300ms transform ease;
    transform: translateY(0);
  }
  body.nav-active .header::after {
    opacity: 1;
    transition: 300ms opacity ease 300ms;
  }
}
@media (max-width: 59.9375em) and (min-width: 37.5em) {
  body.nav-active .header::after {
    transform: translateX(0);
    transition: transform 300ms ease;
  }
}
@media (max-width: 59.9375em) and (min-width: 60em) {
  body.nav-active .header {
    background: none;
    max-width: 100%;
    height: auto;
  }
}
@media (max-width: 59.9375em) {
  body.nav-active .header.header--sticky {
    background: none;
  }
}
@media (max-width: 59.9375em) and (min-width: 37.5em) {
  body.nav-active .header__wrapper {
    border-bottom: 0;
  }
}
@media (max-width: 59.9375em) {
  body.nav-active .nav-btn__btn {
    background: none;
    transform: translate(-50%, -50%);
  }
  body.nav-active .nav-btn__btn::before, body.nav-active .nav-btn__btn::after {
    width: 30px;
    width: 1.875rem;
    transform: translate(-50%, -50%) rotate(45deg);
    background: #FFF;
  }
  body.nav-active .nav-btn__btn::after {
    transform: translate(-50%, -50%) rotate(-45deg);
  }
  body.nav-active .nav {
    opacity: 1;
    pointer-events: all;
    transition: 300ms opacity ease 300ms;
  }
  body.nav-active .logo svg {
    fill: #FFF;
  }
}
.nav-btn {
  top: 15px;
  top: 0.9375rem;
  right: 10px;
  right: 0.625rem;
  bottom: auto;
  left: auto;
  position: absolute;
  width: 40px;
  width: 2.5rem;
  height: 40px;
  height: 2.5rem;
  margin: 0;
  padding: 0;
  z-index: 10;
  cursor: pointer;
  pointer-events: all;
}
@media (min-width: 37.5em) {
  .nav-btn {
    right: 30px;
    right: 1.875rem;
  }
}
@media (min-width: 47.5em) {
  .nav-btn {
    top: 22px;
    top: 1.375rem;
  }
}
@media (min-width: 60em) {
  .nav-btn {
    display: none;
  }
}
@media (min-width: 120em) {
  .nav-btn {
    right: -0.2604166667vw;
    width: 2.0833333333vw;
    height: 2.0833333333vw;
  }
}
.nav-btn__btn {
  top: 50%;
  right: auto;
  bottom: auto;
  left: 50%;
  position: absolute;
  transform: translate(-50%, -50%) translateY(-8px);
  width: 30px;
  width: 1.875rem;
  height: 2px;
  height: 0.125rem;
  background: #fff;
}
@media (min-width: 120em) {
  .nav-btn__btn {
    width: 1.5625vw;
    height: 0.1041666667vw;
  }
}
.nav-btn__btn::before, .nav-btn__btn::after {
  content: "";
  top: 50%;
  right: auto;
  bottom: auto;
  left: 50%;
  position: absolute;
  transform: translate(-50%, -50%) translate(2px, 7px);
  width: 26px;
  width: 1.625rem;
  height: 2px;
  height: 0.125rem;
  background: #fff;
  transition: 300ms background ease;
}
@media (min-width: 120em) {
  .nav-btn__btn::before, .nav-btn__btn::after {
    width: 1.3541666667vw;
    height: 0.1041666667vw;
  }
}
.nav-btn__btn::after {
  transform: translate(-50%, -50%) translate(4px, 14px);
  width: 22px;
  width: 1.375rem;
}
@media (min-width: 120em) {
  .nav-btn__btn::after {
    width: 1.1458333333vw;
  }
}

.nav {
  opacity: 0;
  z-index: 1;
  pointer-events: none;
  top: 0;
  right: auto;
  bottom: auto;
  left: 0;
  position: absolute;
  width: 100%;
  height: 100%;
  transition: 0ms opacity ease;
}
@media (min-width: 37.5em) {
  .nav {
    max-width: 340px;
    max-width: 21.25rem;
    left: auto;
    right: 0;
  }
}
@media (min-width: 60em) {
  .nav {
    max-width: 100%;
    display: block;
    top: 33px;
    top: 2.0625rem;
    right: -2px;
    right: -0.125rem;
    bottom: auto;
    left: auto;
    position: absolute;
    opacity: 1;
    pointer-events: all;
  }
}
@media (min-width: 60em) and (max-height: 48.125em) {
  .nav {
    position: absolute;
  }
}
@media (min-width: 120em) {
  .nav {
    top: 1.71875vw;
    right: -0.1041666667vw;
  }
}
.nav__list {
  display: block;
  top: 150px;
  top: 9.375rem;
  right: auto;
  bottom: auto;
  left: 15px;
  left: 0.9375rem;
  position: absolute;
}
@media (min-width: 47.5em) {
  .nav__list {
    top: 100px;
    top: 6.25rem;
    left: 30px;
    left: 1.875rem;
  }
}
@media (min-width: 60em) {
  .nav__list {
    top: auto;
    right: auto;
    bottom: auto;
    left: auto;
    position: relative;
    display: flex;
    justify-content: flex-end;
    max-width: 540px;
    max-width: 33.75rem;
    width: 100%;
    margin: 0 auto;
  }
}
@media (min-width: 65em) {
  .nav__list {
    max-width: 600px;
    max-width: 37.5rem;
  }
}
@media (min-width: 75em) {
  .nav__list {
    max-width: 700px;
    max-width: 43.75rem;
  }
}
@media (min-width: 87.5em) {
  .nav__list {
    max-width: 800px;
    max-width: 50rem;
  }
}
@media (min-width: 95.9375em) {
  .nav__list {
    max-width: 902px;
    max-width: 56.375rem;
  }
}
@media (min-width: 120em) {
  .nav__list {
    max-width: 46.9791666667vw;
  }
}
.nav__item {
  display: block;
  width: 100%;
}
@media (min-width: 60em) {
  .nav__item {
    width: auto;
    margin-right: 20px;
    margin-right: 1.25rem;
  }
}
@media (min-width: 75em) {
  .nav__item {
    margin-right: 28px;
    margin-right: 1.75rem;
  }
}
@media (min-width: 120em) {
  .nav__item {
    margin-right: 1.4583333333vw;
  }
}
.nav__item:last-child {
  margin-right: 0;
}
.nav__link {
  display: inline-block;
  position: relative;
  font-size: 24px;
  font-size: 1.5rem;
  line-height: 34px;
  line-height: 2.125rem;
  color: rgba(255, 255, 255, 0.9);
  padding: 5px 2px;
  padding: 0.3125rem 0.125rem;
  text-decoration: none;
  transition: color 300ms linear;
}
@media (min-width: 60em) {
  .nav__link {
    color: rgba(255, 255, 255, 0.6);
    font-size: 14px;
    font-size: 0.875rem;
    line-height: 14px;
    line-height: 0.875rem;
    padding: 5px 2px 8px;
    padding: 0.3125rem 0.125rem 0.5rem;
  }
}
@media (min-width: 75em) {
  .nav__link {
    text-transform: uppercase;
    padding: 8px 2px;
    padding: 0.5rem 0.125rem;
  }
}
@media (min-width: 120em) {
  .nav__link {
    font-size: 0.7291666667vw;
    line-height: 0.7291666667vw;
    padding: 0.4166666667vw 0.1041666667vw;
  }
}
@media (min-width: 60em) {
  .nav__link:hover, .nav__link.btn--loading {
    color: #fff;
  }
}
.nav__link--active, body.contact-us-body .nav__link--contact-us, body.about-us-body .nav__link--about-us, body.search-before-body .nav__link--search-before, body.our-projects-body .nav__link--our-projects, body.index-body .nav__link--index {
  color: #56bffe;
}
@media (min-width: 60em) {
  .nav__link--active, body.contact-us-body .nav__link--contact-us, body.about-us-body .nav__link--about-us, body.search-before-body .nav__link--search-before, body.our-projects-body .nav__link--our-projects, body.index-body .nav__link--index {
    color: #fff;
  }
}
.nav__link--active::before, body.contact-us-body .nav__link--contact-us::before, body.about-us-body .nav__link--about-us::before, body.search-before-body .nav__link--search-before::before, body.our-projects-body .nav__link--our-projects::before, body.index-body .nav__link--index::before, .nav__link--active.diagram__cable::after, body.contact-us-body .diagram__cable.nav__link--contact-us::after, body.about-us-body .diagram__cable.nav__link--about-us::after, body.search-before-body .diagram__cable.nav__link--search-before::after, body.our-projects-body .diagram__cable.nav__link--our-projects::after, body.index-body .diagram__cable.nav__link--index::after, .nav__link--active.nav-btn__btn::after, body.contact-us-body .nav-btn__btn.nav__link--contact-us::after, body.about-us-body .nav-btn__btn.nav__link--about-us::after, body.search-before-body .nav-btn__btn.nav__link--search-before::after, body.our-projects-body .nav-btn__btn.nav__link--our-projects::after, body.index-body .nav-btn__btn.nav__link--index::after {
  content: "";
  top: 50%;
  right: -28px;
  right: -1.75rem;
  bottom: auto;
  left: auto;
  position: absolute;
  transform: translateY(-50%) translateY(3px);
  width: 20px;
  width: 1.25rem;
  height: 2px;
  height: 0.125rem;
  background: #56bffe;
}
@media (min-width: 60em) {
  .nav__link--active::before, body.contact-us-body .nav__link--contact-us::before, body.about-us-body .nav__link--about-us::before, body.search-before-body .nav__link--search-before::before, body.our-projects-body .nav__link--our-projects::before, body.index-body .nav__link--index::before, .nav__link--active.diagram__cable::after, body.contact-us-body .diagram__cable.nav__link--contact-us::after, body.about-us-body .diagram__cable.nav__link--about-us::after, body.search-before-body .diagram__cable.nav__link--search-before::after, body.our-projects-body .diagram__cable.nav__link--our-projects::after, body.index-body .diagram__cable.nav__link--index::after, .nav__link--active.nav-btn__btn::after, body.contact-us-body .nav-btn__btn.nav__link--contact-us::after, body.about-us-body .nav-btn__btn.nav__link--about-us::after, body.search-before-body .nav-btn__btn.nav__link--search-before::after, body.our-projects-body .nav-btn__btn.nav__link--our-projects::after, body.index-body .nav-btn__btn.nav__link--index::after {
    top: auto;
    right: auto;
    bottom: 0;
    left: 50%;
    position: absolute;
    transform: translateX(-50%);
    width: 26px;
    width: 1.625rem;
  }
}
@media (min-width: 120em) {
  .nav__link--active::before, body.contact-us-body .nav__link--contact-us::before, body.about-us-body .nav__link--about-us::before, body.search-before-body .nav__link--search-before::before, body.our-projects-body .nav__link--our-projects::before, body.index-body .nav__link--index::before, .nav__link--active.diagram__cable::after, body.contact-us-body .diagram__cable.nav__link--contact-us::after, body.about-us-body .diagram__cable.nav__link--about-us::after, body.search-before-body .diagram__cable.nav__link--search-before::after, body.our-projects-body .diagram__cable.nav__link--our-projects::after, body.index-body .diagram__cable.nav__link--index::after, .nav__link--active.nav-btn__btn::after, body.contact-us-body .nav-btn__btn.nav__link--contact-us::after, body.about-us-body .nav-btn__btn.nav__link--about-us::after, body.search-before-body .nav-btn__btn.nav__link--search-before::after, body.our-projects-body .nav-btn__btn.nav__link--our-projects::after, body.index-body .nav-btn__btn.nav__link--index::after {
    width: 1.3541666667vw;
    height: 0.1041666667vw;
  }
}

@media (min-width: 60em) and (max-height: 37.5em) {
  body.our-projects-body .header {
    position: absolute;
  }
  body.our-projects-body .container-right {
    top: auto;
    right: auto;
    bottom: auto;
    left: auto;
    position: relative;
    height: auto;
  }
  body.our-projects-body .btn-holder--map-pins {
    position: static;
    width: auto;
    height: auto;
  }
  body.our-projects-body .map-container {
    position: absolute;
    width: 100%;
  }
}
@media (min-width: 75em) and (max-height: 40.625em) {
  body.our-projects-body .header {
    position: absolute;
  }
  body.our-projects-body .container-right {
    top: auto;
    right: auto;
    bottom: auto;
    left: auto;
    position: relative;
    height: auto;
  }
  body.our-projects-body .btn-holder--map-pins {
    position: static;
    width: auto;
    height: auto;
  }
  body.our-projects-body .map-container {
    position: absolute;
    width: 100%;
  }
}
@media (min-width: 100em) and (max-height: 46.875em) {
  body.our-projects-body .header {
    position: absolute;
  }
  body.our-projects-body .container-right {
    top: auto;
    right: auto;
    bottom: auto;
    left: auto;
    position: relative;
    height: auto;
  }
  body.our-projects-body .btn-holder--map-pins {
    position: static;
    width: auto;
    height: auto;
  }
  body.our-projects-body .map-container {
    position: absolute;
    width: 100%;
  }
}
@media (min-width: 112.5em) and (max-height: 52.5em) {
  body.our-projects-body .header {
    position: absolute;
  }
  body.our-projects-body .container-right {
    top: auto;
    right: auto;
    bottom: auto;
    left: auto;
    position: relative;
    height: auto;
  }
  body.our-projects-body .btn-holder--map-pins {
    position: static;
    width: auto;
    height: auto;
  }
  body.our-projects-body .map-container {
    position: absolute;
    width: 100%;
  }
}
@media (min-width: 60em) {
  body.our-projects-body .fullscreen-container {
    min-height: 600px;
    min-height: 37.5rem;
  }
}
@media (min-width: 75em) {
  body.our-projects-body .fullscreen-container {
    min-height: 650px;
    min-height: 40.625rem;
  }
}
@media (min-width: 100em) {
  body.our-projects-body .fullscreen-container {
    min-height: 750px;
    min-height: 46.875rem;
  }
}
@media (min-width: 112.5em) {
  body.our-projects-body .fullscreen-container {
    min-height: 840px;
    min-height: 52.5rem;
  }
}
@media (min-width: 120em) {
  body.our-projects-body .fullscreen-container {
    min-height: 43.75vw;
  }
}

.pipe-background {
  top: 0;
  right: auto;
  bottom: auto;
  left: -512px;
  left: -32rem;
  position: absolute;
  display: block;
  width: 1259px;
  width: 78.6875rem;
  height: 739px;
  height: 46.1875rem;
  max-height: 100vh;
  background: url("/images/png/pipe-line-mobile.png") no-repeat left top;
  opacity: 0.07;
  pointer-events: none;
  z-index: 1;
}
@media (min-width: 47.5em) {
  .pipe-background {
    left: -228px;
    left: -14.25rem;
    width: 1124px;
    width: 70.25rem;
    height: 660px;
    height: 41.25rem;
    background-image: url("/images/png/pipe-line-tablet.png");
  }
}
@media (min-width: 60em) {
  .pipe-background {
    z-index: -1;
    position: fixed;
    right: 62.5%;
    left: auto;
    width: 1872px;
    width: 117rem;
    height: 1098px;
    height: 68.625rem;
    background-image: url("/images/png/pipe-line-desktop.png");
    background-position: right top;
  }
}
@media (min-width: 120em) {
  .pipe-background {
    width: 97.5vw;
    height: 57.1875vw;
  }
}
.pipe-background--z-index-high {
  z-index: 3;
}
.pipe-background--about-us {
  margin-top: 53.9%;
}
@media (min-width: 60em) {
  .pipe-background--about-us {
    display: none;
  }
}

.project-list {
  padding-top: 15px;
  padding-top: 0.9375rem;
}
@media (min-width: 120em) {
  .project-list {
    padding-top: 0.78125vw;
  }
}
.project-list__item {
  position: relative;
  padding: 0 0 82px 30px;
  padding: 0 0 5.125rem 1.875rem;
}
@media (min-width: 37.5em) {
  .project-list__item {
    padding-bottom: 66px;
    padding-bottom: 4.125rem;
  }
}
@media (min-width: 120em) {
  .project-list__item {
    padding: 0vw 0vw 3.4375vw 1.5625vw;
  }
}
@media (min-width: 60em) {
  .project-list__item h3:hover + .project-list__read-more, .project-list__item h3.btn--loading + .project-list__read-more {
    color: rgb(0.5490196078%, 58.1960784314%, 92.7843137255%);
  }
}
.project-list__item h3 a {
  text-decoration: none;
  color: inherit;
}
.project-list__arrow {
  display: block;
  top: 7px;
  top: 0.4375rem;
  right: auto;
  bottom: auto;
  left: 0;
  position: absolute;
  width: 13px;
  width: 0.8125rem;
  height: 11px;
  height: 0.6875rem;
}
@media (min-width: 120em) {
  .project-list__arrow {
    top: 0.3645833333vw;
    width: 0.6770833333vw;
    height: 0.5729166667vw;
  }
}
.project-list__arrow svg {
  fill: #56BFFE;
}
.project-list__status {
  display: block;
  font-size: 14px;
  font-size: 0.875rem;
  line-height: 18px;
  line-height: 1.125rem;
  margin-bottom: 11px;
  margin-bottom: 0.6875rem;
  color: #585858;
}
@media (min-width: 37.5em) {
  .project-list__status {
    font-size: 16px;
    font-size: 1rem;
    line-height: 20px;
    line-height: 1.25rem;
  }
}
@media (min-width: 120em) {
  .project-list__status {
    font-size: 0.8333333333vw;
    line-height: 1.0416666667vw;
    margin-bottom: 0.5729166667vw;
  }
}
.project-list__status strong {
  font-weight: 700;
}
.project-list__read-more {
  top: auto;
  right: auto;
  bottom: 42px;
  bottom: 2.625rem;
  left: 30px;
  left: 1.875rem;
  position: absolute;
  text-transform: uppercase;
  text-decoration: none;
  font-size: 18px;
  font-size: 1.125rem;
  line-height: 20px;
  line-height: 1.25rem;
  color: #56BFFE;
}
@media (max-width: 37.4375em) {
  .project-list__read-more {
    display: inline-block;
    height: 38px;
    height: 2.375rem;
    padding: 0 29px;
    padding: 0 1.8125rem;
    font-size: 16px;
    font-size: 1rem;
    background: #56BFFE;
    border-radius: 21px;
    line-height: 36px;
    line-height: 2.25rem;
    color: #FFF;
    text-align: center;
  }
}
@media (max-width: 37.4375em) and (min-width: 25em) {
  .project-list__read-more {
    max-width: 290px;
    max-width: 18.125rem;
    width: auto;
  }
}
@media (min-width: 120em) {
  .project-list__read-more {
    font-size: 0.9375vw;
    line-height: 1.0416666667vw;
    bottom: 2.1875vw;
    left: 1.5625vw;
  }
}
@media (min-width: 60em) {
  .project-list__read-more:hover, .project-list__read-more.btn--loading {
    color: rgb(0.5490196078%, 58.1960784314%, 92.7843137255%);
  }
}
.project-list__read-more--static {
  top: auto;
  right: auto;
  bottom: auto;
  left: auto;
  position: relative;
}
@media (min-width: 60em) {
  .project-list--about-us {
    margin-top: -30px;
    margin-bottom: 10px;
  }
}
.project-list--about-us .project-list__item {
  padding-bottom: 10px;
}
.project-list--about-us .project-list__item h2 {
  color: #FFF;
}
@media (min-width: 60em) {
  .project-list--about-us .project-list__item h2 {
    color: #222;
  }
}
.project-list--about-us .project-list__item h2 a:hover, .project-list--about-us .project-list__item h2 a.btn--loading {
  text-decoration: underline;
}

@media (min-width: 60em) and (max-height: 37.5em) {
  body.search-before-body .header {
    position: absolute;
  }
  body.search-before-body .container-right {
    top: auto;
    right: auto;
    bottom: auto;
    left: auto;
    position: relative;
    height: auto;
  }
  body.search-before-body .btn-holder--map-pins {
    position: static;
    width: auto;
    height: auto;
  }
  body.search-before-body .map-container {
    position: absolute;
    width: 100%;
  }
}
@media (min-width: 75em) and (max-height: 40.625em) {
  body.search-before-body .header {
    position: absolute;
  }
  body.search-before-body .container-right {
    top: auto;
    right: auto;
    bottom: auto;
    left: auto;
    position: relative;
    height: auto;
  }
  body.search-before-body .btn-holder--map-pins {
    position: static;
    width: auto;
    height: auto;
  }
  body.search-before-body .map-container {
    position: absolute;
    width: 100%;
  }
}
@media (min-width: 100em) and (max-height: 46.875em) {
  body.search-before-body .header {
    position: absolute;
  }
  body.search-before-body .container-right {
    top: auto;
    right: auto;
    bottom: auto;
    left: auto;
    position: relative;
    height: auto;
  }
  body.search-before-body .btn-holder--map-pins {
    position: static;
    width: auto;
    height: auto;
  }
  body.search-before-body .map-container {
    position: absolute;
    width: 100%;
  }
}
@media (min-width: 112.5em) and (max-height: 52.5em) {
  body.search-before-body .header {
    position: absolute;
  }
  body.search-before-body .container-right {
    top: auto;
    right: auto;
    bottom: auto;
    left: auto;
    position: relative;
    height: auto;
  }
  body.search-before-body .btn-holder--map-pins {
    position: static;
    width: auto;
    height: auto;
  }
  body.search-before-body .map-container {
    position: absolute;
    width: 100%;
  }
}
@media (min-width: 60em) {
  body.search-before-body .fullscreen-container {
    min-height: 600px;
    min-height: 37.5rem;
  }
}
@media (min-width: 75em) {
  body.search-before-body .fullscreen-container {
    min-height: 650px;
    min-height: 40.625rem;
  }
}
@media (min-width: 100em) {
  body.search-before-body .fullscreen-container {
    min-height: 750px;
    min-height: 46.875rem;
  }
}
@media (min-width: 112.5em) {
  body.search-before-body .fullscreen-container {
    min-height: 840px;
    min-height: 52.5rem;
  }
}
@media (min-width: 120em) {
  body.search-before-body .fullscreen-container {
    min-height: 43.75vw;
  }
}

.service-providers {
  position: relative;
  width: 100%;
  margin: 0 auto;
  margin: 0 auto 40px;
  margin: 0 auto 2.5rem;
  padding: 20px 24px 24px;
  padding: 1.25rem 1.5rem 1.5rem;
  border: 1px solid #ccc;
}
@media (min-width: 37.5em) {
  .service-providers {
    margin: 0 0 40px;
    margin: 0 0 2.5rem;
    padding: 30px 34px 34px;
    padding: 1.875rem 2.125rem 2.125rem;
  }
}
@media (min-width: 60em) {
  .service-providers {
    margin-bottom: 80px;
    margin-bottom: 5rem;
    padding: 22px 24px 28px;
    padding: 1.375rem 1.5rem 1.75rem;
  }
}
@media (min-width: 75em) {
  .service-providers {
    padding: 26px 26px 30px;
    padding: 1.625rem 1.625rem 1.875rem;
  }
}
@media (min-width: 120em) {
  .service-providers {
    margin-bottom: 4.1666666667vw;
    padding: 1.3541666667vw 1.3541666667vw 1.5625vw;
  }
}
.service-providers::before, .service-providers.diagram__cable::after, .service-providers.nav-btn__btn::after {
  content: "";
  display: block;
  top: 8px;
  top: 0.5rem;
  right: 8px;
  right: 0.5rem;
  bottom: 8px;
  bottom: 0.5rem;
  left: 8px;
  left: 0.5rem;
  position: absolute;
  border: 1px solid #ccc;
  pointer-events: none;
}
@media (min-width: 120em) {
  .service-providers::before, .service-providers.diagram__cable::after, .service-providers.nav-btn__btn::after {
    top: 0.4166666667vw;
    right: 0.4166666667vw;
    bottom: 0.4166666667vw;
    left: 0.4166666667vw;
    border-width: 0.0520833333vw;
  }
}
.service-providers h2 {
  font-size: 18px;
  font-size: 1.125rem;
  line-height: 22px;
  line-height: 1.375rem;
  padding-bottom: 4px;
  padding-bottom: 0.25rem;
}
@media (min-width: 37.5em) {
  .service-providers h2 {
    text-align: center;
  }
}
@media (min-width: 60em) {
  .service-providers h2 {
    text-align: left;
  }
}
@media (min-width: 75em) {
  .service-providers h2 {
    font-size: 22px;
    font-size: 1.375rem;
    padding-bottom: 12px;
    padding-bottom: 0.75rem;
  }
}
@media (min-width: 120em) {
  .service-providers h2 {
    font-size: 1.1458333333vw;
    padding-bottom: 0.625vw;
  }
}
.service-providers p {
  padding-bottom: 24px;
  padding-bottom: 1.5rem;
}
@media (min-width: 37.5em) {
  .service-providers p {
    text-align: center;
  }
}
@media (min-width: 60em) {
  .service-providers p {
    text-align: left;
  }
}
@media (min-width: 120em) {
  .service-providers p {
    padding-bottom: 1.25vw;
  }
}
.service-providers__icon-holder {
  display: flex;
  flex-flow: column;
  justify-content: center;
  align-items: center;
}
@media (min-width: 40.625em) {
  .service-providers__icon-holder {
    flex-flow: row;
    align-items: center;
  }
}
@media (min-width: 60em) {
  .service-providers__icon-holder {
    flex-flow: column;
    align-items: flex-start;
  }
}
@media (min-width: 106.25em) {
  .service-providers__icon-holder {
    flex-flow: row;
    align-items: center;
  }
}
.service-providers__icon {
  position: relative;
  display: block;
  flex: 0 0 auto;
  width: 215px;
  width: 13.4375rem;
  height: 56px;
  height: 3.5rem;
}
@media (min-width: 60em) {
  .service-providers__icon {
    width: 260px;
    width: 16.25rem;
    height: 68px;
    height: 4.25rem;
  }
}
@media (min-width: 106.25em) {
  .service-providers__icon {
    width: 42%;
    height: auto;
  }
}
@media (min-width: 106.25em) {
  .service-providers__icon::before, .service-providers__icon.diagram__cable::after, .service-providers__icon.nav-btn__btn::after {
    content: "";
    display: block;
    padding-top: 26.22%;
  }
}
.service-providers__icon--arrow {
  width: 25px;
  width: 1.5625rem;
  height: 21px;
  height: 1.3125rem;
  margin: 15px 0 15px;
  margin: 0.9375rem 0 0.9375rem;
  transform: rotate(90deg);
}
@media (min-width: 40.625em) {
  .service-providers__icon--arrow {
    transform: none;
    margin: 0 29px 0 17px;
    margin: 0 1.8125rem 0 1.0625rem;
  }
}
@media (min-width: 60em) {
  .service-providers__icon--arrow {
    margin: 15px 0 15px 128px;
    margin: 0.9375rem 0 0.9375rem 8rem;
    transform: rotate(90deg);
  }
}
@media (min-width: 106.25em) {
  .service-providers__icon--arrow {
    transform: none;
    margin: 0 29px 0 17px;
    margin: 0 1.8125rem 0 1.0625rem;
  }
}
@media (min-width: 120em) {
  .service-providers__icon--arrow {
    width: 1.3020833333vw;
    height: 1.09375vw;
    margin: 0vw 1.5104166667vw 0vw 0.8854166667vw;
  }
}
.service-providers__icon--arrow::before, .service-providers__icon--arrow.diagram__cable::after, .service-providers__icon--arrow.nav-btn__btn::after {
  display: none;
}
.service-providers__icon--arrow svg {
  fill: #56bffe;
}

.svg-icons svg {
  top: 0;
  right: auto;
  bottom: auto;
  left: 0;
  position: absolute;
  width: 100%;
  height: 100%;
}

.video-background {
  display: none;
}
@media (min-width: 60em) {
  .video-background {
    display: block;
    top: 0;
    right: auto;
    bottom: auto;
    left: 0;
    position: absolute;
    width: 100%;
    height: 100%;
  }
}
.video-background__item {
  display: block;
  top: 0;
  right: auto;
  bottom: auto;
  left: 0;
  position: fixed;
  min-width: 100%;
  min-height: 100%;
  -o-object-fit: fill;
     object-fit: fill;
}
.video-background__item img {
  top: 0;
  right: 0;
  bottom: auto;
  left: auto;
  position: absolute;
  width: 100%;
  height: 100%;
  display: block;
  -o-object-fit: cover;
     object-fit: cover;
}
.video-background__fallback {
  display: none;
}
.video-background__fallback--show {
  display: block;
}

body.email-body {
  font-family: Arial, sans-serif;
  font-weight: normal;
  background: #eee;
  font-size: 16px;
  line-height: 26px;
  box-sizing: content-box;
}
body.email-body h1 {
  font-family: "Trebuchet MS", "Lucida Grande", "Lucida Sans Unicode", "Lucida Sans", Tahoma, sans-serif;
  font-size: 36px;
  line-height: 40px;
  font-weight: 700;
  color: #fff;
  margin-top: 110px;
}
body.email-body h2 {
  font-family: "Trebuchet MS", "Lucida Grande", "Lucida Sans Unicode", "Lucida Sans", Tahoma, sans-serif;
  font-size: 18px;
  line-height: 18px;
  font-weight: 700;
  padding: 16px 0 0 30px;
  color: #56bffe;
  text-transform: uppercase;
  text-align: left;
}
body.email-body h3 {
  font-family: "Trebuchet MS", "Lucida Grande", "Lucida Sans Unicode", "Lucida Sans", Tahoma, sans-serif;
  font-size: 16px;
  line-height: 16px;
  font-weight: 700;
  color: #232323;
  text-transform: uppercase;
  padding: 20px 0 12px;
}
body.email-body h4 {
  font-family: "Trebuchet MS", "Lucida Grande", "Lucida Sans Unicode", "Lucida Sans", Tahoma, sans-serif;
  font-size: 16px;
  line-height: 16px;
  font-weight: 700;
  color: #232323;
  padding: 20px 0 20px;
}
body.email-body h5 {
  font-family: "Trebuchet MS", "Lucida Grande", "Lucida Sans Unicode", "Lucida Sans", Tahoma, sans-serif;
  font-size: 13px;
  line-height: 13px;
  color: #56bffe;
}
body.email-body h6 {
  font-family: "Trebuchet MS", "Lucida Grande", "Lucida Sans Unicode", "Lucida Sans", Tahoma, sans-serif;
  font-size: 14px;
  line-height: 16px;
  font-weight: 400;
  color: #656565;
}
body.email-body p {
  font-family: "Trebuchet MS", "Lucida Grande", "Lucida Sans Unicode", "Lucida Sans", Tahoma, sans-serif;
  font-size: 15px;
  line-height: 18px;
  font-weight: 400;
  color: #585858;
}
body.email-body .email-header {
  position: static;
  width: 100%;
  padding: 0;
  text-align: center;
  max-width: 600px;
  margin: 0 auto;
}
body.email-body .email-header .email-logo-row {
  height: 47px;
  background: #ffffff;
  vertical-align: middle;
}
body.email-body .email-header .email-header-underline {
  width: 50px;
  height: 2px;
  margin: 18px auto 0;
  background: #56bffe;
  border: 0;
}
body.email-body .email-header .email-logo {
  width: 184px;
  height: 30px;
  margin-top: 9px;
  border: 0;
}
body.email-body .email-header .email-container {
  height: 293px;
  padding: 0;
  background: #fafafa;
}
body.email-body .email-header .email-bg {
  padding: 0 40px;
  width: 100%;
  height: 200px;
}
body.email-body .email-header img {
  display: inline-block;
  width: 280px;
}
body.email-body .email-reference {
  height: 52px;
}
body.email-body .email-social-icons {
  float: right;
  width: 50%;
  text-align: right;
  margin: 18px 0 0;
}
body.email-body .email-social-links {
  display: inline-block;
  width: 50px;
  height: 50px;
  margin: 0 0 0 4px;
}
body.email-body .email-social-links img {
  width: 100%;
  height: auto;
}
body.email-body .email-container-side {
  max-width: 600px;
  padding: 0 40px;
  width: 100%;
  margin: 0 auto;
  background: #fafafa;
}
body.email-body .email-container {
  max-width: 600px;
  padding: 0;
  width: 100%;
  margin: 0 auto;
  background: #fafafa;
}
body.email-body .email-row {
  width: 100%;
}
body.email-body .email-row::after {
  content: "";
  display: table;
  clear: both;
}
body.email-body .email-content {
  padding: 27px 30px 30px;
  text-align: left;
}
body.email-body .email-content em {
  font-style: italic;
}
body.email-body .email-content strong {
  font-weight: 700;
}
body.email-body .email-content a {
  color: #555555;
}
body.email-body .btn {
  display: inline-block;
  width: auto;
  height: 48px;
  margin: 0 0 26px;
  padding: 0 34px;
  border-radius: 24px;
  background: #56bffe;
  font-family: "web-bre-serif", Helvectia, Arial, Sans-Serif;
  font-size: 16px;
  line-height: 50px;
  font-weight: 700;
  color: #fff !important;
}
body.email-body table {
  border: 0;
  width: 100%;
  border-collapse: collapse;
}
body.email-body table tr {
  border: 0;
}
body.email-body table td {
  border: 0;
  padding: 0;
}
body.email-body .email-footer-middle {
  text-align: center;
}
body.email-body .email-footer-middle .email-container {
  padding: 29px 0 20px;
  background: #dddddd;
  overflow: hidden;
}
body.email-body .email-main-content p {
  padding-bottom: 18px;
  padding-bottom: 1.125rem;
}
body.email-body .email-table {
  width: 100%;
  border-top: 1px solid #e1e1e1;
}
body.email-body .email-table th {
  background: #ebebeb;
  color: #585858;
  width: 160px;
  min-height: 41px;
  padding: 19px 24px 17px;
  border-bottom: 1px solid #e1e1e1;
  font-family: "Trebuchet MS", "Lucida Grande", "Lucida Sans Unicode", "Lucida Sans", Tahoma, sans-serif;
  font-size: 15px;
  line-height: 18px;
  font-weight: 400;
}
body.email-body .email-table td {
  font-family: "Trebuchet MS", "Lucida Grande", "Lucida Sans Unicode", "Lucida Sans", Tahoma, sans-serif;
  font-size: 15px;
  line-height: 18px;
  font-weight: 400;
  background: transparent;
  color: #656565;
  border-bottom: 1px solid #e1e1e1;
  padding: 19px 24px 17px;
}
body.email-body .email-footer-middle {
  max-width: 600px;
  margin: 0 auto;
  background: #070f28;
}
body.email-body .email-footer-inner {
  font-family: "Trebuchet MS", "Lucida Grande", "Lucida Sans Unicode", "Lucida Sans", Tahoma, sans-serif;
  padding: 16px 78px;
  color: rgba(255, 255, 255, 0.5);
  font-size: 12px;
  line-height: 18px;
}
body.email-body .signature p {
  padding-bottom: 0;
}
body.email-body .signature h4 {
  padding-bottom: 6px;
}
body.email-body .email-documents {
  margin-bottom: 26px;
}
body.email-body .email-documents h3 {
  padding-top: 8px;
}
body.email-body .email-documents .email-documents__list {
  border-top: 1px solid #e1e1e1;
}
body.email-body .email-documents .email-documents__item {
  min-height: 41px;
  border-bottom: 1px solid #e1e1e1;
}
body.email-body .email-documents h6 {
  padding: 12px 0;
}
body.email-body .email-documents .email-documents__view {
  font-family: "Trebuchet MS", "Lucida Grande", "Lucida Sans Unicode", "Lucida Sans", Tahoma, sans-serif;
  font-size: 14px;
  line-height: 14px;
  font-weight: 700;
  text-transform: uppercase;
  color: #56bffe;
  text-decoration: none;
}

.content-skip-button {
  top: 0;
  right: 0;
  bottom: auto;
  left: 0;
  position: absolute;
  width: 100%;
  z-index: 99999;
  display: block;
  background: #f1f1f1;
  text-align: center;
  max-height: 200px;
  max-height: 12.5rem;
  padding: 10px;
  padding: 0.625rem;
  color: #252525;
  font-family: sans-serif;
  font-weight: 300;
  text-decoration: none;
  line-height: 14px;
  line-height: 0.875rem;
  font-size: 14px;
  font-size: 0.875rem;
  transform: translateY(-220px);
  transition: all 0.2s ease;
  overflow: hidden;
}
.content-skip-button:focus {
  transform: none;
}

.notfound-body {
  padding: 40px 0;
  padding: 2.5rem 0;
}

html {
  background: #232323;
}

body {
  -webkit-text-size-adjust: none;
  background: #fff;
}
@media (min-width: 60em) {
  body {
    background: #fff;
  }
}
body::before, body.diagram__cable::after, body.nav-btn__btn::after {
  content: "";
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  position: fixed;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.4);
  z-index: 2;
  pointer-events: none;
  opacity: 0;
  transition: opacity 300ms ease;
}
@media (min-width: 60em) {
  body::before, body.diagram__cable::after, body.nav-btn__btn::after {
    display: none;
  }
}
/*# sourceMappingURL=styles.css.map */
