/* http://meyerweb.com/eric/tools/css/reset/ 
   v2.0 | 20110126
   License: none (public domain)
*/
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; }

/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
  display: block; }

body {
  line-height: 1; }

ol, ul {
  list-style: none; }

blockquote, q {
  quotes: none; }

blockquote:before, blockquote:after,
q:before, q:after {
  content: '';
  content: none; }

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

:root {
  --navy: rgb(8, 22, 63);
  --navy-90: rgb(33, 45, 82);
  --coral-red: rgb(244, 30, 54);
  --pale-blue: rgb(235, 246, 251);
  --mint-green: rgb(59, 206, 172);
  --electric-blue: rgb(78, 93, 252);
  --dark-grey: rgb(53, 53, 53);
  --light-grey: rgb(148, 148, 148); }

@font-face {
  font-family: 'SpartanMB';
  font-style: normal;
  font-weight: 400;
  src: url(../fonts/SpartanMB-Regular.otf); }

@font-face {
  font-family: 'SpartanMB';
  font-style: normal;
  font-weight: 500;
  src: url(../fonts/SpartanMB-SemiBold.otf); }

@font-face {
  font-family: 'SpartanMB';
  font-style: normal;
  font-weight: 700;
  src: url(../fonts/SpartanMB-Bold.otf); }

@font-face {
  font-family: 'Antonio';
  font-style: normal;
  font-weight: 400;
  src: url(../fonts/Antonio-Regular.ttf); }

h1, h2, h4, h5, h6, p, blockquote, a, li, button, label, input, textarea, figcaption {
  font-family: 'SpartanMB', Arial, Helvetica, sans-serif;
  color: var(--navy); }

h3 {
  font-family: 'Antonio', Arial, Helvetica, sans-serif;
  color: var(--coral-red); }

h1 {
  font-weight: 700;
  font-size: 70px;
  line-height: 80px;
  text-transform: uppercase; }

h2 {
  font-weight: 700;
  font-size: 50px;
  line-height: 1.3;
  text-transform: uppercase;
  letter-spacing: 1px; }

h3 {
  font-weight: 400;
  font-size: 26px;
  line-height: 1.2;
  text-transform: uppercase;
  margin-bottom: 15px;
  letter-spacing: 1px; }

h4 {
  font-weight: 700;
  font-size: 32px;
  line-height: 50px;
  text-transform: uppercase; }

h5 {
  font-weight: 400;
  font-size: 25px;
  line-height: 40px; }
  h5 strong {
    font-weight: 700;
    color: var(--electric-blue); }

h6 {
  font-weight: 400;
  font-size: 20px;
  line-height: 28px; }
  h6 strong {
    font-weight: 500; }

p, a, li, input, textarea {
  font-weight: 400;
  font-size: 15px;
  line-height: 22px; }
  p strong, a strong, li strong, input strong, textarea strong {
    font-weight: 600; }

blockquote {
  font-size: 22px;
  line-height: 1.4;
  font-weight: 500;
  padding-left: 20px;
  border-left: 3px solid var(--coral-red);
  margin: 30px 0; }

a {
  text-decoration: none; }

@media screen and (max-width: 1280px) {
  h1 {
    font-size: 52px; }
  h2 {
    font-size: 44px; }
  h4 {
    font-size: 26px;
    line-height: 40px; }
  h5 {
    font-size: 21px;
    line-height: 30px; }
  h6 {
    font-size: 18px; }
  p, a, li, input, textarea {
    font-size: 14px;
    line-height: 24px; } }

@media screen and (max-width: 768px) {
  h1 {
    font-size: 40px; }
  h2 {
    font-size: 32px; }
  h3 {
    font-size: 20px; }
  h4 {
    font-size: 26px;
    line-height: 40px; }
  h5 {
    font-size: 23px;
    line-height: 34px; }
  h6 {
    font-size: 16px; }
  p, a, li, input, textarea {
    font-size: 14px; }
  blockquote {
    font-size: 18px;
    padding-left: 15px; } }

@keyframes fadeInUp {
  from {
    -webkit-transform: translateY(40px) translateZ(0);
    transform: translateY(40px) translateZ(0);
    opacity: 0; }
  to {
    -webkit-transform: translateY(0) translateZ(0);
    transform: translateY(0) translateZ(0);
    opacity: 1; } }

@keyframes fadeIn {
  from {
    opacity: 0; }
  to {
    opacity: 1; } }

@keyframes iconControllerActive {
  from {
    stroke-dashoffset: 229px; }
  to {
    stroke-dashoffset: 58px; } }

@keyframes bounce {
  0%, 20%, 50%, 80%, 100% {
    transform: translateY(0); }
  40% {
    transform: translateY(-30px); }
  60% {
    transform: translateY(-15px); } }

nav#navigation div#navbar {
  position: fixed;
  z-index: 10;
  display: grid;
  grid-template-columns: 1fr 1fr;
  padding: 60px 7% 0 7%;
  width: calc(100% - 14%);
  transition: padding 0.5s cubic-bezier(0.86, 0, 0.07, 1); }
  nav#navigation div#navbar::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: var(--navy);
    transform: translateY(-100%);
    transition: transform 0.5s cubic-bezier(0.86, 0, 0.07, 1);
    z-index: -1; }
  nav#navigation div#navbar.dark div.logo-wrapper a img.logo.white {
    opacity: 0; }
  nav#navigation div#navbar.dark div.logo-wrapper a img.logo.black {
    opacity: 1; }
  nav#navigation div#navbar.dark div.hamburger div.bar {
    background-color: var(--navy); }
  nav#navigation div#navbar.scroll-nav {
    padding: 15px 7% 15px 7%; }
    nav#navigation div#navbar.scroll-nav::before {
      transform: translateY(0); }
    nav#navigation div#navbar.scroll-nav div.logo-wrapper {
      height: 50px; }
      nav#navigation div#navbar.scroll-nav div.logo-wrapper a img.logo.white {
        opacity: 1; }
      nav#navigation div#navbar.scroll-nav div.logo-wrapper a img.logo.black {
        opacity: 0; }
    nav#navigation div#navbar.scroll-nav div.hamburger div.bar {
      background-color: #FFFFFF; }
  nav#navigation div#navbar.open::before {
    transform: translateY(-100%); }
  nav#navigation div#navbar.open div.hamburger div.bar {
    background-color: #FFFFFF; }
    nav#navigation div#navbar.open div.hamburger div.bar.one {
      transform: rotate(-45deg) translate(-4px, 8px); }
    nav#navigation div#navbar.open div.hamburger div.bar.two {
      width: 60px;
      transform: rotate(45deg) translate(-5px, -5px); }
  nav#navigation div#navbar div.logo-wrapper {
    justify-self: left;
    position: relative;
    width: auto;
    height: 80px;
    transition: height 0.5s cubic-bezier(0.86, 0, 0.07, 1); }
    nav#navigation div#navbar div.logo-wrapper a {
      display: block;
      position: relative;
      width: auto;
      height: 100%; }
      nav#navigation div#navbar div.logo-wrapper a img.logo {
        position: absolute;
        width: auto;
        height: 100%;
        object-fit: contain;
        transition: opacity 0.3s ease-in-out; }
        nav#navigation div#navbar div.logo-wrapper a img.logo.white {
          opacity: 1; }
        nav#navigation div#navbar div.logo-wrapper a img.logo.black {
          opacity: 0; }
  nav#navigation div#navbar div.hamburger {
    position: relative;
    justify-self: right;
    align-self: center;
    cursor: pointer;
    transition: bottom 0.25s cubic-bezier(0.86, 0, 0.07, 1); }
    nav#navigation div#navbar div.hamburger div.bar {
      height: 5px;
      border-radius: 30px;
      background-color: #FFFFFF;
      margin-bottom: 11px;
      transition: background-color 0.25s cubic-bezier(0.86, 0, 0.07, 1), transform 0.5s ease-in-out, width 0.25s cubic-bezier(0.86, 0, 0.07, 1); }
      nav#navigation div#navbar div.hamburger div.bar:last-child {
        margin-bottom: 0; }
      nav#navigation div#navbar div.hamburger div.bar.one {
        width: 65px; }
      nav#navigation div#navbar div.hamburger div.bar.two {
        width: 40px;
        margin-left: auto; }

nav#navigation div#menu {
  display: grid;
  grid-template-columns: 1fr;
  padding: 10vh 10vw;
  position: fixed;
  z-index: 9;
  width: 80vw;
  height: 80vh;
  top: -100vh;
  left: 0;
  background-color: rgba(8, 22, 63, 0.9);
  transition: top 0.5s ease-in-out;
  overflow-y: auto;
  overflow-x: hidden;
  align-items: center;
  justify-items: right; }
  nav#navigation div#menu ul {
    display: block;
    position: relative; }
    nav#navigation div#menu ul li {
      position: relative;
      display: block;
      text-align: right;
      margin-bottom: 40px;
      text-transform: uppercase;
      transition: transform 0.4s ease-in-out, border-right-color 0.4s ease-in-out;
      transform-origin: right;
      border-right: 3px solid #FFFFFF;
      padding-right: 10px; }
      nav#navigation div#menu ul li:hover {
        transform: scale(1.05);
        border-right-color: var(--coral-red); }
        nav#navigation div#menu ul li:hover a {
          color: var(--coral-red); }
      nav#navigation div#menu ul li.active a {
        font-weight: 600; }
      nav#navigation div#menu ul li a {
        font-size: 35px;
        line-height: 35px;
        font-weight: 400;
        text-decoration: none;
        color: #FFFFFF;
        transition: color 0.4s ease-in-out; }
  nav#navigation div#menu.open {
    top: 0; }

@media screen and (max-width: 1280px) {
  nav#navigation div#navbar div.logo-wrapper {
    height: 65px; } }

@media screen and (max-width: 768px) {
  nav#navigation div#navbar {
    padding: 20px 7% 0 7%; }
    nav#navigation div#navbar div.logo-wrapper {
      height: 45px; }
    nav#navigation div#navbar div.hamburger div.bar.one {
      width: 45px;
      height: 4px;
      margin-bottom: 8px; }
    nav#navigation div#navbar div.hamburger div.bar.two {
      width: 30px;
      height: 4px; }
    nav#navigation div#navbar.open div.hamburger div.bar.two {
      width: 45px;
      transform: rotate(45deg) translate(-1px, -5px); }
  nav#navigation div#menu {
    height: calc(85vh - 80px);
    padding: calc(80px + 5vh) 10vw 10vh 10vw; }
    nav#navigation div#menu ul li {
      margin-bottom: 30px; }
      nav#navigation div#menu ul li a {
        font-size: 7vw; } }

footer {
  position: relative;
  display: grid;
  grid-template-columns: 350px 1fr 200px;
  padding: 50px 50px;
  align-items: center;
  row-gap: 30px;
  column-gap: 30px; }
  footer p, footer li, footer a {
    display: block;
    font-size: 16px; }
    footer p span, footer li span, footer a span {
      color: var(--coral-red); }
  footer div.phone {
    grid-column: 2;
    grid-row: 2; }
  footer div.address {
    grid-column: 2;
    grid-row: 1; }
  footer div.copyright {
    grid-column: 1 / 4;
    grid-row: 3; }
    footer div.copyright p {
      font-size: 13px;
      margin-bottom: 10px; }
      footer div.copyright p a {
        display: inline; }
      footer div.copyright p.made-by {
        display: block;
        font-size: 11px;
        line-height: 12px; }
        footer div.copyright p.made-by a {
          display: inline;
          font-size: 11px;
          line-height: 12px;
          color: var(--coral-red); }
  footer div.explore {
    grid-column: 1;
    grid-row: 1 / span 2; }
    footer div.explore p {
      display: inline; }
    footer div.explore ul {
      display: block; }
      footer div.explore ul li {
        display: block;
        margin: 10px 0; }
        footer div.explore ul li a {
          transition: color 0.4s ease-in-out; }
          footer div.explore ul li a:hover {
            color: var(--electric-blue); }
  footer img.logo {
    grid-column: 3;
    grid-row: 1 / span 2;
    height: 80px;
    width: auto;
    object-fit: contain;
    justify-self: right;
    align-self: start; }
  @media screen and (max-width: 768px) {
    footer {
      grid-template-columns: 1fr;
      padding: 15% 10%; }
      footer p, footer li, footer a {
        font-size: 13px; }
      footer div.phone {
        grid-column: 1;
        grid-row: 1; }
      footer div.address {
        grid-column: 1;
        grid-row: 2; }
      footer div.copyright {
        grid-column: 1;
        grid-row: 5; }
      footer div.explore {
        grid-column: 1;
        grid-row: 3; }
      footer img.logo {
        grid-column: 1;
        grid-row: 4;
        justify-self: left;
        width: 50%; } }

div.homepage div.landing, div.homepage div.our-ethos, div.homepage div.how-we-do-it, div.homepage div.how-we-do-it-carousel, div.homepage div.what-we-do, div.homepage div.what-we-do-carousel {
  background-size: cover;
  background-position: left center;
  background-repeat: no-repeat; }

div.homepage div.landing {
  display: grid;
  position: relative;
  align-content: end;
  width: 80%;
  min-height: calc(100vh - 180px - 20vh);
  padding: 180px 10% 20vh 10%;
  background-image: url("/assets/images/background-patterns/homepage/png/Homepage_Background_1.png");
  background-color: var(--navy); }
  div.homepage div.landing a.scroll-down {
    display: block;
    position: absolute;
    right: 50px;
    bottom: 15%;
    width: 32px;
    height: auto;
    cursor: pointer; }
    div.homepage div.landing a.scroll-down svg .line.left, div.homepage div.landing a.scroll-down svg .line.right {
      fill: none;
      stroke: #FFFFFF;
      stroke-width: 1.7;
      stroke-linecap: round;
      transform-origin: 19px 103px;
      transition: transform 0.3s ease-in-out; }
    div.homepage div.landing a.scroll-down svg .line.main {
      fill: none;
      stroke: #FFFFFF;
      stroke-width: 2;
      stroke-linecap: round; }
    div.homepage div.landing a.scroll-down svg .letter {
      enable-background: new;
      fill: #FFFFFF; }
    div.homepage div.landing a.scroll-down:hover svg line.line.left {
      transform: rotate(-45deg); }
    div.homepage div.landing a.scroll-down:hover svg line.line.right {
      transform: rotate(45deg); }
    @media screen and (max-width: 1280px) {
      div.homepage div.landing a.scroll-down {
        display: none; } }
  div.homepage div.landing div.content {
    z-index: 2; }
    @media screen and (max-width: 768px) {
      div.homepage div.landing div.content.inview h2, div.homepage div.landing div.content.inview h5 {
        animation-duration: 1s; }
      div.homepage div.landing div.content.inview h5:nth-child(2), div.homepage div.landing div.content.inview h2:nth-child(3) {
        animation-delay: 0.5s; }
      div.homepage div.landing div.content.inview h5:nth-child(4), div.homepage div.landing div.content.inview h2:nth-child(5) {
        animation-delay: 1s; } }
    div.homepage div.landing div.content.inview h2, div.homepage div.landing div.content.inview h5 {
      animation: fadeInUp;
      animation-duration: 1.5s;
      animation-fill-mode: both; }
    div.homepage div.landing div.content.inview h5:nth-child(2), div.homepage div.landing div.content.inview h2:nth-child(3) {
      animation-delay: 0.75s; }
    div.homepage div.landing div.content.inview h5:nth-child(4), div.homepage div.landing div.content.inview h2:nth-child(5) {
      animation-delay: 1.5s; }
    div.homepage div.landing div.content h2, div.homepage div.landing div.content h5 {
      opacity: 0; }
    div.homepage div.landing div.content h2 {
      color: #FFFFFF; }
    div.homepage div.landing div.content h5 {
      color: var(--electric-blue); }
  div.homepage div.landing div.animation-wrapper {
    display: block;
    position: absolute;
    width: 100vw;
    height: 100vh;
    top: 0;
    left: 0;
    z-index: 0; }
    div.homepage div.landing div.animation-wrapper img, div.homepage div.landing div.animation-wrapper picture, div.homepage div.landing div.animation-wrapper video {
      display: block;
      position: relative;
      width: 100%;
      height: 100%;
      object-fit: cover;
      object-position: center; }
      div.homepage div.landing div.animation-wrapper img.regular, div.homepage div.landing div.animation-wrapper picture.regular, div.homepage div.landing div.animation-wrapper video.regular {
        display: block; }
      div.homepage div.landing div.animation-wrapper img.safari, div.homepage div.landing div.animation-wrapper picture.safari, div.homepage div.landing div.animation-wrapper video.safari {
        display: none; }
    div.homepage div.landing div.animation-wrapper _:default:not(:root:root), div.homepage div.landing div.animation-wrapper img.regular {
      display: none; }
    div.homepage div.landing div.animation-wrapper _:default:not(:root:root), div.homepage div.landing div.animation-wrapper img.safari {
      display: block; }

div.homepage div.our-ethos {
  display: grid;
  position: relative;
  padding: 10%;
  grid-template-columns: 45% 55%;
  column-gap: 50px;
  row-gap: 30px;
  align-items: center;
  background-color: var(--pale-blue); }
  div.homepage div.our-ethos a.scroll-down {
    display: block;
    position: absolute;
    right: 50px;
    bottom: 15%;
    width: 32px;
    height: auto;
    cursor: pointer; }
    div.homepage div.our-ethos a.scroll-down svg .line.left, div.homepage div.our-ethos a.scroll-down svg .line.right {
      fill: none;
      stroke: var(--light-grey);
      stroke-width: 1.7;
      stroke-linecap: round;
      transform-origin: 19px 103px;
      transition: transform 0.3s ease-in-out; }
    div.homepage div.our-ethos a.scroll-down svg .line.main {
      fill: none;
      stroke: var(--light-grey);
      stroke-width: 2;
      stroke-linecap: round; }
    div.homepage div.our-ethos a.scroll-down svg .letter {
      enable-background: new;
      fill: var(--light-grey); }
    div.homepage div.our-ethos a.scroll-down:hover svg line.line.left {
      transform: rotate(-45deg); }
    div.homepage div.our-ethos a.scroll-down:hover svg line.line.right {
      transform: rotate(45deg); }
    @media screen and (max-width: 1280px) {
      div.homepage div.our-ethos a.scroll-down {
        display: none; } }
  div.homepage div.our-ethos div.content.left {
    opacity: 0; }
    div.homepage div.our-ethos div.content.left h2, div.homepage div.our-ethos div.content.left h4 {
      margin-bottom: 20px; }
    div.homepage div.our-ethos div.content.left.inview {
      animation: fadeIn;
      animation-duration: 1.5s;
      animation-fill-mode: both; }
  div.homepage div.our-ethos div.content.right {
    opacity: 0;
    justify-self: center; }
    div.homepage div.our-ethos div.content.right video {
      width: 100%;
      max-width: 700px;
      height: auto;
      outline: none; }
    div.homepage div.our-ethos div.content.right.inview {
      animation: fadeIn;
      animation-duration: 1.5s;
      animation-delay: 0.75s;
      animation-fill-mode: both; }

div.homepage div.how-we-do-it, div.homepage div.what-we-do {
  display: grid;
  position: relative;
  padding: 10% 10% 15% 10%;
  grid-template-columns: 60%;
  background-image: url("/assets/images/background-patterns/homepage/png/Homepage_Background_3.png"); }
  div.homepage div.how-we-do-it div.content div.titles, div.homepage div.what-we-do div.content div.titles {
    opacity: 0; }
    div.homepage div.how-we-do-it div.content div.titles.inview, div.homepage div.what-we-do div.content div.titles.inview {
      animation: fadeInUp;
      animation-duration: 1.5s;
      animation-fill-mode: both; }
    div.homepage div.how-we-do-it div.content div.titles h2, div.homepage div.what-we-do div.content div.titles h2 {
      color: #FFFFFF;
      margin-bottom: 40px; }
  div.homepage div.how-we-do-it div.content div.inner-content, div.homepage div.what-we-do div.content div.inner-content {
    margin-left: 60px;
    border-left: 3px solid var(--coral-red);
    padding-left: 25px;
    opacity: 0; }
    div.homepage div.how-we-do-it div.content div.inner-content.inview, div.homepage div.what-we-do div.content div.inner-content.inview {
      animation: fadeIn;
      animation-duration: 1.5s;
      animation-delay: 0.75s;
      animation-fill-mode: both; }
    div.homepage div.how-we-do-it div.content div.inner-content p, div.homepage div.what-we-do div.content div.inner-content p {
      color: #FFFFFF;
      margin-bottom: 20px; }
      div.homepage div.how-we-do-it div.content div.inner-content p span, div.homepage div.what-we-do div.content div.inner-content p span {
        color: var(--coral-red); }

div.homepage div.how-we-do-it a.middle-arrow {
  position: absolute;
  display: block;
  width: 20px;
  height: auto;
  bottom: -75px;
  left: 50%;
  transform: translateX(-50%);
  z-index: 3;
  cursor: pointer; }
  div.homepage div.how-we-do-it a.middle-arrow svg {
    animation-timing-function: cubic-bezier(0.28, 0.84, 0.42, 1);
    animation-duration: 1.5s;
    animation-iteration-count: infinite;
    transform-origin: bottom; }
    div.homepage div.how-we-do-it a.middle-arrow svg .cls-1 {
      fill: none;
      stroke: var(--electric-blue);
      stroke-linecap: round;
      stroke-width: 5px; }
  div.homepage div.how-we-do-it a.middle-arrow:hover svg {
    animation-name: bounce; }
  @media screen and (max-width: 1280px) {
    div.homepage div.how-we-do-it a.middle-arrow {
      display: none; } }

div.homepage div.what-we-do {
  background-image: url("/assets/images/background-patterns/homepage/png/Homepage_Background_5.png"); }
  div.homepage div.what-we-do a.middle-arrow {
    position: absolute;
    display: block;
    width: 20px;
    height: auto;
    bottom: -75px;
    left: 50%;
    transform: translateX(-50%);
    z-index: 3;
    cursor: pointer; }
    div.homepage div.what-we-do a.middle-arrow svg {
      animation-timing-function: cubic-bezier(0.28, 0.84, 0.42, 1);
      animation-duration: 1.5s;
      animation-iteration-count: infinite;
      transform-origin: bottom; }
      div.homepage div.what-we-do a.middle-arrow svg .cls-1 {
        fill: none;
        stroke: var(--coral-red);
        stroke-linecap: round;
        stroke-width: 5px; }
    div.homepage div.what-we-do a.middle-arrow:hover svg {
      animation-name: bounce; }
    @media screen and (max-width: 1280px) {
      div.homepage div.what-we-do a.middle-arrow {
        display: none; } }

div.homepage div.how-we-do-it-carousel {
  position: relative;
  display: grid;
  grid-template-columns: calc(50% - 25px) calc(50% - 25px);
  column-gap: 50px;
  row-gap: 5px;
  padding: 65px 7% 50px 7%; }
  div.homepage div.how-we-do-it-carousel a.scroll-down {
    display: block;
    position: absolute;
    right: 50px;
    bottom: 15%;
    width: 32px;
    height: auto;
    cursor: pointer; }
    div.homepage div.how-we-do-it-carousel a.scroll-down svg .line.left, div.homepage div.how-we-do-it-carousel a.scroll-down svg .line.right {
      fill: none;
      stroke: var(--light-grey);
      stroke-width: 1.7;
      stroke-linecap: round;
      transform-origin: 19px 103px;
      transition: transform 0.3s ease-in-out; }
    div.homepage div.how-we-do-it-carousel a.scroll-down svg .line.main {
      fill: none;
      stroke: var(--light-grey);
      stroke-width: 2;
      stroke-linecap: round; }
    div.homepage div.how-we-do-it-carousel a.scroll-down svg .letter {
      enable-background: new;
      fill: var(--light-grey); }
    div.homepage div.how-we-do-it-carousel a.scroll-down:hover svg line.line.left {
      transform: rotate(-45deg); }
    div.homepage div.how-we-do-it-carousel a.scroll-down:hover svg line.line.right {
      transform: rotate(45deg); }
    @media screen and (max-width: 1280px) {
      div.homepage div.how-we-do-it-carousel a.scroll-down {
        display: none; } }
  div.homepage div.how-we-do-it-carousel div.how-we-do-it-infographic-carousel {
    display: block;
    position: relative;
    width: 100%;
    height: auto;
    grid-row: 1;
    grid-column: 1; }
    div.homepage div.how-we-do-it-carousel div.how-we-do-it-infographic-carousel div.slick-slide {
      outline: none; }
    div.homepage div.how-we-do-it-carousel div.how-we-do-it-infographic-carousel img, div.homepage div.how-we-do-it-carousel div.how-we-do-it-infographic-carousel video {
      position: relative;
      display: block;
      width: 95%;
      height: auto;
      margin-left: auto;
      margin-right: auto; }
  div.homepage div.how-we-do-it-carousel div.how-we-do-it-content-carousel {
    display: block;
    position: relative;
    width: 100%;
    height: auto;
    grid-row: 1 / span 2;
    grid-column: 2;
    align-self: center;
    padding: 0 40px; }
    div.homepage div.how-we-do-it-carousel div.how-we-do-it-content-carousel div.slick-list {
      margin: 0 -100px; }
      div.homepage div.how-we-do-it-carousel div.how-we-do-it-content-carousel div.slick-list div.slick-slide {
        margin: 0 100px;
        outline: none;
        opacity: 0;
        transition: opacity 0.2s ease-in-out; }
        div.homepage div.how-we-do-it-carousel div.how-we-do-it-content-carousel div.slick-list div.slick-slide.slick-active {
          opacity: 1; }
    div.homepage div.how-we-do-it-carousel div.how-we-do-it-content-carousel div.wrapper h4 {
      margin-bottom: 20px; }
    div.homepage div.how-we-do-it-carousel div.how-we-do-it-content-carousel div.wrapper p {
      margin-bottom: 15px; }
      div.homepage div.how-we-do-it-carousel div.how-we-do-it-content-carousel div.wrapper p span {
        color: var(--electric-blue); }
  div.homepage div.how-we-do-it-carousel div.icon-controller {
    position: relative;
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    column-gap: 40px;
    grid-row: 2;
    grid-column: 1; }
    div.homepage div.how-we-do-it-carousel div.icon-controller::before {
      content: '';
      display: block;
      position: absolute;
      left: 0;
      top: 40px;
      height: 1px;
      width: 100%;
      border-top: 2px dotted var(--electric-blue); }
    div.homepage div.how-we-do-it-carousel div.icon-controller div.wrapper {
      position: relative;
      cursor: pointer; }
      div.homepage div.how-we-do-it-carousel div.icon-controller div.wrapper img.icon {
        position: relative;
        display: block;
        margin: 10px auto;
        width: 60px;
        height: 60px;
        border-radius: 30px;
        transition: transform 0.3s ease-in-out;
        z-index: 2;
        background-color: #FFFFFF;
        margin-bottom: 20px; }
      div.homepage div.how-we-do-it-carousel div.icon-controller div.wrapper div.icon-animation {
        position: absolute;
        display: block;
        width: 55px;
        height: 55px;
        top: 12px;
        left: 50%;
        transform: translateX(-50%);
        background-color: #b8befe;
        border-radius: 30px;
        z-index: 1;
        transition: transform 0.3s ease-in-out; }
        div.homepage div.how-we-do-it-carousel div.icon-controller div.wrapper div.icon-animation svg circle {
          stroke: var(--electric-blue);
          stroke-dashoffset: 58px;
          stroke-width: 4.5; }
      div.homepage div.how-we-do-it-carousel div.icon-controller div.wrapper p {
        display: block;
        text-align: center;
        color: var(--electric-blue); }
      div.homepage div.how-we-do-it-carousel div.icon-controller div.wrapper.active img.icon {
        transform: scale(1.2); }
      div.homepage div.how-we-do-it-carousel div.icon-controller div.wrapper.active div.icon-animation {
        transform: translateX(-50%) scale(1.5); }
        div.homepage div.how-we-do-it-carousel div.icon-controller div.wrapper.active div.icon-animation svg circle {
          animation: iconControllerActive;
          animation-duration: 15.2s;
          animation-fill-mode: both;
          animation-timing-function: linear; }
      div.homepage div.how-we-do-it-carousel div.icon-controller div.wrapper.active p {
        font-weight: 600; }

div.homepage div.what-we-do-carousel {
  position: relative;
  display: grid;
  grid-template-columns: calc(40% - 75px) calc(60% - 75px);
  column-gap: 150px;
  row-gap: 0;
  padding: 125px 10%;
  overflow: hidden; }
  div.homepage div.what-we-do-carousel a.scroll-down {
    display: block;
    position: absolute;
    right: 50px;
    bottom: 15%;
    width: 32px;
    height: auto;
    cursor: pointer; }
    div.homepage div.what-we-do-carousel a.scroll-down svg .line.left, div.homepage div.what-we-do-carousel a.scroll-down svg .line.right {
      fill: none;
      stroke: var(--light-grey);
      stroke-width: 1.7;
      stroke-linecap: round;
      transform-origin: 19px 103px;
      transition: transform 0.3s ease-in-out; }
    div.homepage div.what-we-do-carousel a.scroll-down svg .line.main {
      fill: none;
      stroke: var(--light-grey);
      stroke-width: 2;
      stroke-linecap: round; }
    div.homepage div.what-we-do-carousel a.scroll-down svg .letter {
      enable-background: new;
      fill: var(--light-grey); }
    div.homepage div.what-we-do-carousel a.scroll-down:hover svg line.line.left {
      transform: rotate(-45deg); }
    div.homepage div.what-we-do-carousel a.scroll-down:hover svg line.line.right {
      transform: rotate(45deg); }
    @media screen and (max-width: 1280px) {
      div.homepage div.what-we-do-carousel a.scroll-down {
        display: none; } }
  div.homepage div.what-we-do-carousel::before {
    content: '';
    display: none;
    position: absolute;
    width: 60%;
    height: 90%;
    left: 52%;
    bottom: 0;
    background-size: contain;
    background-repeat: no-repeat;
    background-position: left center;
    background-image: url("/assets/images/icons/Triangle_Navy.svg");
    transform: rotateY(180deg); }
  div.homepage div.what-we-do-carousel div.subnav {
    position: relative;
    display: block;
    padding: 10px 0;
    grid-column: 1 / span 2; }
    div.homepage div.what-we-do-carousel div.subnav a {
      display: inline-block;
      position: relative;
      text-decoration: none;
      margin-right: 30px;
      color: var(--navy);
      transition: color 0.2s ease-in-out, font-weight 0.2s ease-in-out; }
      div.homepage div.what-we-do-carousel div.subnav a.active {
        color: var(--electric-blue);
        font-weight: 600; }
  div.homepage div.what-we-do-carousel div.what-we-do-content-carousel {
    position: relative;
    display: block;
    align-self: center;
    padding: 50px 0; }
    div.homepage div.what-we-do-carousel div.what-we-do-content-carousel h2 {
      margin-bottom: 30px; }
    div.homepage div.what-we-do-carousel div.what-we-do-content-carousel p {
      margin-bottom: 15px; }
    div.homepage div.what-we-do-carousel div.what-we-do-content-carousel a.read-more-link {
      position: relative;
      display: block;
      margin-top: 30px;
      font-weight: 600; }
      div.homepage div.what-we-do-carousel div.what-we-do-content-carousel a.read-more-link::before {
        content: '';
        display: inline-block;
        position: relative;
        height: 30px;
        width: 3px;
        margin-right: 10px;
        background-color: var(--coral-red); }
    div.homepage div.what-we-do-carousel div.what-we-do-content-carousel div.slick-list {
      margin: 0 -100px; }
      div.homepage div.what-we-do-carousel div.what-we-do-content-carousel div.slick-list div.slick-slide {
        margin: 0 100px;
        outline: none; }
  div.homepage div.what-we-do-carousel div.what-we-do-image-carousel {
    position: relative;
    display: block;
    align-self: center; }
    div.homepage div.what-we-do-carousel div.what-we-do-image-carousel .slick-slide {
      display: inline-block;
      vertical-align: middle;
      float: none;
      outline: none;
      opacity: 0;
      -webkit-transform: translateZ(0);
      transform: translateZ(0);
      transition: opacity 0.3s ease; }
      div.homepage div.what-we-do-carousel div.what-we-do-image-carousel .slick-slide.slick-active {
        opacity: 1; }
    div.homepage div.what-we-do-carousel div.what-we-do-image-carousel img.what-we-do-image {
      position: relative;
      display: block;
      width: 50%;
      height: auto;
      margin: 0 auto;
      max-height: 600px;
      object-fit: contain;
      object-position: center; }
      div.homepage div.what-we-do-carousel div.what-we-do-image-carousel img.what-we-do-image.display {
        width: 80%; }
    div.homepage div.what-we-do-carousel div.what-we-do-image-carousel ul.slick-dots {
      position: absolute;
      display: block;
      right: -100px;
      top: 50%;
      transform: translateY(-50%); }
      div.homepage div.what-we-do-carousel div.what-we-do-image-carousel ul.slick-dots li button {
        position: relative;
        display: block;
        font-size: 0;
        width: 15px;
        height: 15px;
        border-radius: 10px;
        background-color: #848a9f;
        border: none;
        box-shadow: none;
        margin-bottom: 15px;
        transform: scale(0.5);
        transition: background-color 0.3s ease-in-out, transform 0.3s ease-in-out; }
      div.homepage div.what-we-do-carousel div.what-we-do-image-carousel ul.slick-dots li.slick-active button {
        background-color: var(--electric-blue);
        transform: scale(0.7); }

div.homepage div.news-and-insights {
  position: relative;
  display: block;
  padding: 100px 10%;
  background-color: var(--navy); }
  div.homepage div.news-and-insights div.title-row {
    position: relative;
    display: grid;
    grid-template-columns: 120px 1fr;
    column-gap: 100px;
    row-gap: 40px;
    margin-bottom: 40px; }
    div.homepage div.news-and-insights div.title-row div.link-wrapper {
      height: 40px; }
      div.homepage div.news-and-insights div.title-row div.link-wrapper a {
        position: absolute;
        display: block;
        border-left: 3px solid var(--coral-red);
        color: #FFFFFF;
        padding-left: 10px;
        bottom: 0;
        left: 0; }
    div.homepage div.news-and-insights div.title-row div.titles {
      justify-content: right;
      text-align: right;
      opacity: 0; }
      div.homepage div.news-and-insights div.title-row div.titles.inview {
        animation: fadeInUp;
        animation-duration: 2s;
        animation-delay: .5s;
        animation-fill-mode: both; }
      div.homepage div.news-and-insights div.title-row div.titles h2 {
        color: #FFFFFF; }
      div.homepage div.news-and-insights div.title-row div.titles h3 {
        margin-bottom: 20px; }
  div.homepage div.news-and-insights div.news-grid {
    position: relative;
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    column-gap: 30px;
    row-gap: 30px; }
    div.homepage div.news-and-insights div.news-grid .article {
      display: block;
      position: relative;
      background-color: #FFFFFF;
      opacity: 0;
      transition: transform 0.4s ease-in-out; }
      div.homepage div.news-and-insights div.news-grid .article.inview {
        animation: fadeIn;
        animation-duration: 2s;
        animation-delay: 1s;
        animation-fill-mode: both; }
        div.homepage div.news-and-insights div.news-grid .article.inview:nth-of-type(3n+2) {
          animation-delay: 1.5s; }
        div.homepage div.news-and-insights div.news-grid .article.inview:nth-of-type(3n+3) {
          animation-delay: 2s; }
        @media screen and (max-width: 1200px) {
          div.homepage div.news-and-insights div.news-grid .article.inview {
            animation-duration: 1s;
            animation-delay: .5s; }
            div.homepage div.news-and-insights div.news-grid .article.inview:nth-of-type(2n) {
              animation-delay: 1s; }
            div.homepage div.news-and-insights div.news-grid .article.inview:nth-of-type(2n+1) {
              animation-delay: .5s; } }
        @media screen and (max-width: 768px) {
          div.homepage div.news-and-insights div.news-grid .article.inview {
            animation-duration: 1s;
            animation-delay: .5s !important; } }
      div.homepage div.news-and-insights div.news-grid .article:hover {
        transform: scale(1.03); }
      div.homepage div.news-and-insights div.news-grid .article.featured {
        display: grid;
        grid-template-columns: 2fr 1fr;
        grid-column: 1 / span 3;
        grid-row: 1;
        opacity: 1; }
        div.homepage div.news-and-insights div.news-grid .article.featured div.content {
          position: relative;
          padding: 40px 20px 70px 20px; }
          div.homepage div.news-and-insights div.news-grid .article.featured div.content p.release-date {
            display: block;
            position: relative;
            background-color: #FFFFFF;
            font-size: 14px;
            margin-bottom: 20px; }
          div.homepage div.news-and-insights div.news-grid .article.featured div.content p.read-more {
            position: absolute;
            bottom: 20px;
            left: 20px; }
          div.homepage div.news-and-insights div.news-grid .article.featured div.content h5 {
            font-size: 28px;
            line-height: 36px; }
      div.homepage div.news-and-insights div.news-grid .article div.image-wrapper {
        position: relative;
        display: block; }
        div.homepage div.news-and-insights div.news-grid .article div.image-wrapper img.news-image {
          display: block;
          width: 100%;
          height: 100%;
          object-fit: cover;
          object-position: center; }
        div.homepage div.news-and-insights div.news-grid .article div.image-wrapper p.release-date {
          display: block;
          position: absolute;
          width: 50%;
          left: 0;
          bottom: 0;
          background-color: #FFFFFF;
          padding: 5px 10px;
          font-size: 14px; }
      div.homepage div.news-and-insights div.news-grid .article div.content {
        display: block;
        padding: 10px 10px 45px 10px; }
        div.homepage div.news-and-insights div.news-grid .article div.content h5 {
          font-size: 17px;
          line-height: 28px;
          font-weight: 500;
          margin-bottom: 15px; }
        div.homepage div.news-and-insights div.news-grid .article div.content p.read-more {
          position: absolute;
          bottom: 10px;
          left: 10px;
          border-left: 3px solid var(--coral-red);
          padding-left: 10px;
          font-weight: 600; }
    div.homepage div.news-and-insights div.news-grid.w-featured .article:nth-of-type(3n+2) {
      animation-delay: 1s; }
    div.homepage div.news-and-insights div.news-grid.w-featured .article:nth-of-type(3n+3) {
      animation-delay: 1.5s; }
    div.homepage div.news-and-insights div.news-grid.w-featured .article:nth-of-type(3n+4) {
      animation-delay: 2s; }
    @media screen and (max-width: 1200px) {
      div.homepage div.news-and-insights div.news-grid {
        grid-template-columns: 1fr 1fr; }
        div.homepage div.news-and-insights div.news-grid .article.featured {
          grid-column: 1 / span 2; } }
    @media screen and (max-width: 768px) {
      div.homepage div.news-and-insights div.news-grid {
        grid-template-columns: 1fr; }
        div.homepage div.news-and-insights div.news-grid .article.featured {
          grid-column: 1;
          grid-template-columns: 1fr; } }
  div.homepage div.news-and-insights a.scroll-down {
    display: block;
    position: absolute;
    right: 50px;
    bottom: 15%;
    width: 32px;
    height: auto;
    cursor: pointer; }
    div.homepage div.news-and-insights a.scroll-down svg .line.left, div.homepage div.news-and-insights a.scroll-down svg .line.right {
      fill: none;
      stroke: #FFFFFF;
      stroke-width: 1.7;
      stroke-linecap: round;
      transform-origin: 19px 103px;
      transition: transform 0.3s ease-in-out; }
    div.homepage div.news-and-insights a.scroll-down svg .line.main {
      fill: none;
      stroke: #FFFFFF;
      stroke-width: 2;
      stroke-linecap: round; }
    div.homepage div.news-and-insights a.scroll-down svg .letter {
      enable-background: new;
      fill: #FFFFFF; }
    div.homepage div.news-and-insights a.scroll-down:hover svg line.line.left {
      transform: rotate(-45deg); }
    div.homepage div.news-and-insights a.scroll-down:hover svg line.line.right {
      transform: rotate(45deg); }
    @media screen and (max-width: 1280px) {
      div.homepage div.news-and-insights a.scroll-down {
        display: none; } }

div.homepage div.our-clients {
  display: block;
  position: relative;
  background-color: var(--coral-red);
  padding: 125px 10%; }
  div.homepage div.our-clients h2, div.homepage div.our-clients h3 {
    color: #FFFFFF; }
  div.homepage div.our-clients div.logo-carousel {
    display: block; }
    div.homepage div.our-clients div.logo-carousel div.logo-slide {
      position: relative;
      display: grid;
      grid-template-columns: 1fr 1fr 1fr;
      column-gap: 100px;
      row-gap: 50px;
      align-items: center;
      justify-items: center;
      outline: none; }
      div.homepage div.our-clients div.logo-carousel div.logo-slide img.client-logo {
        position: relative;
        display: block;
        width: 60%;
        height: auto;
        object-fit: contain;
        object-position: center;
        margin: 0 auto; }

div.homepage div.contact-us {
  position: relative;
  display: grid;
  grid-template-columns: 1fr 1fr;
  padding: 50px 10%; }
  div.homepage div.contact-us a.scroll-top {
    display: block;
    position: absolute;
    right: 50px;
    bottom: 50px;
    width: 45px;
    height: auto;
    z-index: 2;
    cursor: pointer; }
    div.homepage div.contact-us a.scroll-top svg line.left.line, div.homepage div.contact-us a.scroll-top svg line.right.line {
      fill: none;
      stroke: #949494;
      stroke-width: 1.7;
      stroke-linecap: round;
      transform-origin: 29px 1px;
      transition: transform 0.3s ease-in-out; }
    div.homepage div.contact-us a.scroll-top svg line.main.line {
      fill: none;
      stroke: #949494;
      stroke-width: 2;
      stroke-linecap: round; }
    div.homepage div.contact-us a.scroll-top svg g.letters {
      enable-background: new; }
    div.homepage div.contact-us a.scroll-top svg path.letter {
      fill: #949494; }
    div.homepage div.contact-us a.scroll-top:hover svg line.line.left {
      transform: rotate(-45deg); }
    div.homepage div.contact-us a.scroll-top:hover svg line.line.right {
      transform: rotate(45deg); }
    @media screen and (max-width: 1280px) {
      div.homepage div.contact-us a.scroll-top {
        display: none; } }
  div.homepage div.contact-us::before {
    content: '';
    position: absolute;
    display: block;
    background-color: var(--coral-red);
    width: 100vw;
    height: 50%;
    z-index: 1; }
  div.homepage div.contact-us div.map {
    z-index: 2;
    background-color: var(--dark-grey); }
  div.homepage div.contact-us div.form-wrapper {
    position: relative;
    display: block;
    padding: 40px;
    z-index: 2;
    background-color: var(--navy); }
    div.homepage div.contact-us div.form-wrapper h3, div.homepage div.contact-us div.form-wrapper h2 {
      text-align: right; }
    div.homepage div.contact-us div.form-wrapper h2 {
      color: #FFFFFF;
      margin-bottom: 30px; }
    div.homepage div.contact-us div.form-wrapper p {
      color: #FFFFFF;
      width: 80%; }
    div.homepage div.contact-us div.form-wrapper form {
      display: block; }
      div.homepage div.contact-us div.form-wrapper form p.message {
        margin: 30px 0; }
        div.homepage div.contact-us div.form-wrapper form p.message.notice {
          color: var(--mint-green); }
        div.homepage div.contact-us div.form-wrapper form p.message.error {
          color: var(--coral-red); }
      div.homepage div.contact-us div.form-wrapper form input[type=text], div.homepage div.contact-us div.form-wrapper form input[type=email], div.homepage div.contact-us div.form-wrapper form textarea {
        display: block;
        position: relative;
        background-color: var(--navy);
        border: none;
        border-bottom: 2px solid #FFFFFF;
        border-radius: 0;
        color: #FFFFFF;
        width: 100%;
        margin: 20px 0;
        outline: none; }
      div.homepage div.contact-us div.form-wrapper form textarea {
        margin-bottom: 30px; }
      div.homepage div.contact-us div.form-wrapper form input[type=checkbox] {
        display: inline;
        position: relative;
        background-color: var(--navy);
        border: 1px solid #FFFFFF;
        margin-right: 7px; }
      div.homepage div.contact-us div.form-wrapper form label {
        display: inline;
        position: relative;
        color: #FFFFFF;
        font-size: 12px;
        margin-right: 140px; }
      div.homepage div.contact-us div.form-wrapper form input#knownMediaHP {
        display: none; }
      div.homepage div.contact-us div.form-wrapper form button.g-recaptcha {
        position: absolute;
        display: block;
        right: 40px;
        bottom: 35px;
        background-color: var(--navy);
        border: none;
        border-left: 3px solid var(--coral-red);
        border-radius: 0;
        color: #FFFFFF;
        cursor: pointer;
        -webkit-appearance: none; }

@media screen and (max-width: 1200px) {
  div.homepage div.our-ethos {
    grid-template-columns: 40% 60%; }
  div.homepage div.how-we-do-it {
    grid-template-columns: 75%; } }

@media screen and (max-width: 768px) {
  div.homepage div.landing {
    padding: 180px 10% 20vh 10%;
    min-height: calc(100vh - 180px - 20vh);
    background-position: center; }
    div.homepage div.landing div.content h2 {
      font-size: 9vw; }
    div.homepage div.landing div.content h5 {
      font-size: 5vw; }
    div.homepage div.landing div.animation-wrapper {
      display: none; }
  div.homepage div.our-ethos {
    grid-template-columns: 1fr; }
    div.homepage div.our-ethos div.content.right {
      padding-top: 0; }
  div.homepage div.how-we-do-it, div.homepage div.what-we-do {
    padding: 15% 10%;
    grid-template-columns: 100%; }
    div.homepage div.how-we-do-it div.content div.inner-content, div.homepage div.what-we-do div.content div.inner-content {
      margin-left: 0; }
  div.homepage div.how-we-do-it-carousel {
    grid-template-columns: 100%;
    padding: 35px 4%; }
    div.homepage div.how-we-do-it-carousel div.how-we-do-it-infographic-carousel {
      grid-column: 1;
      grid-row: 1; }
    div.homepage div.how-we-do-it-carousel div.how-we-do-it-content-carousel {
      grid-column: 1;
      grid-row: 3;
      overflow: hidden;
      padding-top: 0; }
    div.homepage div.how-we-do-it-carousel div.icon-controller {
      grid-column: 1;
      grid-row: 2;
      column-gap: 20px; }
      div.homepage div.how-we-do-it-carousel div.icon-controller::before {
        top: 30px; }
      div.homepage div.how-we-do-it-carousel div.icon-controller div.wrapper img.icon {
        width: 40px;
        height: 40px; }
      div.homepage div.how-we-do-it-carousel div.icon-controller div.wrapper div.icon-animation {
        width: 36px;
        height: 36px; }
      div.homepage div.how-we-do-it-carousel div.icon-controller div.wrapper p {
        display: none; }
  div.homepage div.what-we-do-carousel {
    grid-template-columns: 100%;
    padding: 30px 10%; }
    div.homepage div.what-we-do-carousel::before {
      width: 105%;
      height: 75%;
      left: 10%;
      top: 0; }
    div.homepage div.what-we-do-carousel div.subnav {
      grid-column: 1;
      grid-row: 1;
      margin-bottom: 50px; }
      div.homepage div.what-we-do-carousel div.subnav a {
        margin-right: 10px; }
    div.homepage div.what-we-do-carousel div.what-we-do-content-carousel {
      grid-column: 1;
      grid-row: 3;
      padding-bottom: 0; }
      div.homepage div.what-we-do-carousel div.what-we-do-content-carousel div.content h2 {
        margin-bottom: 15px; }
      div.homepage div.what-we-do-carousel div.what-we-do-content-carousel div.content a.read-more-link {
        margin-top: 20px; }
    div.homepage div.what-we-do-carousel div.what-we-do-image-carousel {
      grid-column: 1;
      grid-row: 2; }
      div.homepage div.what-we-do-carousel div.what-we-do-image-carousel div.image img.what-we-do-image {
        width: 45%; }
        div.homepage div.what-we-do-carousel div.what-we-do-image-carousel div.image img.what-we-do-image.display {
          width: 90%; }
  div.homepage div.news-and-insights {
    padding: 75px 10%; }
    div.homepage div.news-and-insights div.title-row {
      grid-template-columns: 1fr; }
      div.homepage div.news-and-insights div.title-row div.link-wrapper {
        position: relative;
        grid-row: 2; }
      div.homepage div.news-and-insights div.title-row div.titles h2, div.homepage div.news-and-insights div.title-row div.titles h3 {
        text-align: left; }
    div.homepage div.news-and-insights div.news-grid .article div.content h5 {
      font-size: 18px;
      line-height: 26px; }
  div.homepage div.our-clients {
    padding: 50px 10%; }
    div.homepage div.our-clients div.logo-carousel div.logo-slide {
      grid-template-columns: 1fr 1fr;
      column-gap: 20px;
      row-gap: 20px; }
      div.homepage div.our-clients div.logo-carousel div.logo-slide .client img.client-logo {
        width: 100%;
        height: auto; }
  div.homepage div.contact-us {
    grid-template-columns: 1fr;
    padding: 0; }
    div.homepage div.contact-us div.form-wrapper {
      margin-bottom: 350px;
      padding: 15% 7%; }
      div.homepage div.contact-us div.form-wrapper h2, div.homepage div.contact-us div.form-wrapper h3 {
        text-align: left; }
    div.homepage div.contact-us div#g-map {
      position: absolute;
      width: 100%;
      min-height: 500px;
      left: 0;
      bottom: 0; } }

div.about-us.page {
  position: relative;
  display: block;
  background-color: #ffffff;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  background-image: url("/assets/images/background-patterns/about-us_BKG.svg");
  padding-top: 240px; }
  div.about-us.page::before {
    content: '';
    display: block;
    position: absolute;
    width: 100vw;
    height: 100vh;
    top: 0;
    left: 0;
    background-image: url("/assets/images/background-patterns/animation_fade.svg");
    background-size: cover;
    background-repeat: no-repeat;
    background-position: bottom center;
    z-index: 0; }
  div.about-us.page div.titles {
    position: relative;
    padding: 0 10%;
    margin-bottom: 100px;
    z-index: 2;
    opacity: 0; }
    div.about-us.page div.titles.inview {
      animation: fadeInUp;
      animation-duration: 1.5s;
      animation-fill-mode: both; }
    div.about-us.page div.titles h3 {
      margin-bottom: 10px; }
  div.about-us.page div.about-us-content {
    position: relative;
    display: grid;
    padding: 0 10%;
    grid-template-columns: 1fr 1fr;
    column-gap: 125px;
    row-gap: 75px;
    margin-bottom: 50px; }
    div.about-us.page div.about-us-content div.sub-title {
      position: relative;
      display: block;
      grid-column: 1;
      grid-row: 1;
      padding-left: 20px;
      border-left: 3px solid var(--coral-red);
      opacity: 0; }
      div.about-us.page div.about-us-content div.sub-title.inview {
        animation: fadeIn;
        animation-duration: 1.5s;
        animation-delay: 0.75s;
        animation-fill-mode: both; }
      div.about-us.page div.about-us-content div.sub-title h5 em, div.about-us.page div.about-us-content div.sub-title h6 em {
        font-style: normal;
        color: var(--electric-blue); }
    div.about-us.page div.about-us-content div.body-content {
      position: relative;
      display: block;
      grid-column: 1;
      grid-row: 2;
      padding-left: 20px;
      opacity: 0; }
      div.about-us.page div.about-us-content div.body-content.inview {
        animation: fadeIn;
        animation-duration: 1.5s;
        animation-delay: 1.5s;
        animation-fill-mode: both; }
      div.about-us.page div.about-us-content div.body-content p {
        margin-bottom: 30px; }
    div.about-us.page div.about-us-content div.tagline {
      position: relative;
      display: block;
      grid-column: 2;
      grid-row: 2; }
      div.about-us.page div.about-us-content div.tagline.inview h1:first-child, div.about-us.page div.about-us-content div.tagline.inview h5:nth-child(2) {
        animation: fadeInUp;
        animation-duration: 1.5s;
        animation-delay: 2.25s;
        animation-fill-mode: both; }
      div.about-us.page div.about-us-content div.tagline.inview h1:nth-child(3), div.about-us.page div.about-us-content div.tagline.inview h5:nth-child(4) {
        animation: fadeInUp;
        animation-duration: 1.5s;
        animation-delay: 3s;
        animation-fill-mode: both; }
      div.about-us.page div.about-us-content div.tagline.inview h1:nth-child(5), div.about-us.page div.about-us-content div.tagline.inview h5:nth-child(6) {
        animation: fadeInUp;
        animation-duration: 1.5s;
        animation-delay: 3.75s;
        animation-fill-mode: both; }
      @media screen and (max-width: 768px) {
        div.about-us.page div.about-us-content div.tagline.inview h1:first-child, div.about-us.page div.about-us-content div.tagline.inview h5:nth-child(2) {
          animation-duration: 1s;
          animation-delay: 0s; }
        div.about-us.page div.about-us-content div.tagline.inview h1:first-child, div.about-us.page div.about-us-content div.tagline.inview h5:nth-child(2) {
          animation-duration: 1s;
          animation-delay: 1s; }
        div.about-us.page div.about-us-content div.tagline.inview h1:first-child, div.about-us.page div.about-us-content div.tagline.inview h5:nth-child(2) {
          animation-duration: 1s;
          animation-delay: 2s; } }
      div.about-us.page div.about-us-content div.tagline h1 {
        font-family: 'Antonio', Arial, Helvetica, sans-serif;
        color: var(--coral-red);
        font-weight: 300;
        line-height: 1.2;
        opacity: 0; }
      div.about-us.page div.about-us-content div.tagline h5 {
        margin-bottom: 30px;
        opacity: 0; }
  div.about-us.page div.services-block {
    position: relative;
    display: grid;
    grid-template-columns: 1fr 7fr 1fr;
    margin: 0 15%;
    padding: 50px;
    column-gap: 50px;
    bottom: -30px;
    z-index: 2; }
    div.about-us.page div.services-block::before {
      content: '';
      position: absolute;
      display: block;
      width: 100%;
      height: 240px;
      left: 0;
      bottom: 0;
      background-color: var(--coral-red);
      z-index: 0; }
    div.about-us.page div.services-block div.content {
      z-index: 1;
      align-self: end;
      grid-column: 2; }
      div.about-us.page div.services-block div.content h5 {
        font-weight: 500;
        margin-bottom: 20px; }
      div.about-us.page div.services-block div.content p {
        margin-bottom: 20px; }
      div.about-us.page div.services-block div.content a.read-more {
        border-left: 3px solid #FFFFFF;
        padding-left: 10px;
        font-weight: 600; }
    div.about-us.page div.services-block img.graphic {
      position: relative;
      display: block;
      width: 100%;
      height: auto;
      object-fit: contain;
      object-position: center; }
  div.about-us.page div.contact-us {
    position: relative;
    display: block;
    padding: 75px 30%;
    background-color: var(--navy); }
    div.about-us.page div.contact-us h3, div.about-us.page div.contact-us h5 {
      color: #FFFFFF;
      text-align: center; }
    div.about-us.page div.contact-us h5 {
      margin-bottom: 40px; }
    div.about-us.page div.contact-us a.button {
      position: relative;
      display: inline-block;
      color: var(--coral-red);
      border: 3px solid var(--coral-red);
      padding: 10px 20px;
      left: 50%;
      transform: translateX(-50%);
      transition: background-color 0.5s ease-in-out, color 0.5s ease-in-out; }
      div.about-us.page div.contact-us a.button:hover {
        background-color: var(--coral-red);
        color: #FFFFFF; }
    @media screen and (max-width: 1200px) {
      div.about-us.page div.contact-us {
        padding: 75px 20%; } }
  @media screen and (max-width: 1200px) {
    div.about-us.page {
      padding-top: 275px; }
      div.about-us.page div.about-us-content div.sub-title {
        grid-column: 1 / span 2; }
      div.about-us.page div.services-block::before {
        height: 350px; } }
  @media screen and (max-width: 768px) {
    div.about-us.page {
      padding-top: 200px; }
      div.about-us.page div.about-us-content {
        grid-template-columns: 1fr;
        row-gap: 35px;
        margin-bottom: 0; }
        div.about-us.page div.about-us-content div.body-content p:last-child {
          margin-bottom: 0; }
        div.about-us.page div.about-us-content div.sub-title {
          grid-column: 1; }
        div.about-us.page div.about-us-content div.tagline {
          grid-column: 1;
          grid-row: 3; }
      div.about-us.page div.services-block {
        grid-template-columns: 1fr;
        row-gap: 40px;
        margin: 0;
        bottom: 0; }
        div.about-us.page div.services-block::before {
          height: 100%; }
        div.about-us.page div.services-block div.content {
          grid-column: 1;
          grid-row: 1; }
        div.about-us.page div.services-block img.graphic {
          grid-column: 1;
          grid-row: 1;
          width: 60%;
          margin: 0 auto; } }

div.solutions-and-services.page {
  position: relative;
  display: block;
  background-color: #ffffff;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  background-image: url("/assets/images/background-patterns/what-we-do_BKG.svg");
  padding-top: 240px; }
  div.solutions-and-services.page div.contact-us {
    position: relative;
    display: block;
    padding: 75px 30%;
    background-color: var(--coral-red); }
    div.solutions-and-services.page div.contact-us h3, div.solutions-and-services.page div.contact-us h5 {
      color: #FFFFFF;
      text-align: center; }
    div.solutions-and-services.page div.contact-us h5 {
      margin-bottom: 40px; }
    div.solutions-and-services.page div.contact-us a.button {
      position: relative;
      display: inline-block;
      color: var(--navy);
      border: 3px solid var(--navy);
      padding: 10px 20px;
      left: 50%;
      transform: translateX(-50%);
      transition: background-color 0.5s ease-in-out, color 0.5s ease-in-out; }
      div.solutions-and-services.page div.contact-us a.button:hover {
        background-color: var(--navy);
        color: #FFFFFF; }
    @media screen and (max-width: 1200px) {
      div.solutions-and-services.page div.contact-us {
        padding: 75px 20%; } }
  div.solutions-and-services.page div.titles {
    position: relative;
    display: grid;
    grid-template-columns: 1fr 1fr;
    padding: 0 10%;
    margin-bottom: 30px;
    z-index: 2; }
    div.solutions-and-services.page div.titles h3 {
      margin-bottom: 10px; }
    div.solutions-and-services.page div.titles div.wrapper {
      align-self: center;
      opacity: 0; }
      div.solutions-and-services.page div.titles div.wrapper.inview {
        animation: fadeInUp;
        animation-duration: 1.5s;
        animation-fill-mode: both; }
    div.solutions-and-services.page div.titles svg#what_we_do_graphic {
      display: block;
      position: relative;
      width: 100%; }
      div.solutions-and-services.page div.titles svg#what_we_do_graphic #Display, div.solutions-and-services.page div.titles svg#what_we_do_graphic #Email, div.solutions-and-services.page div.titles svg#what_we_do_graphic #Social {
        opacity: 0; }
      div.solutions-and-services.page div.titles svg#what_we_do_graphic.inview #Display, div.solutions-and-services.page div.titles svg#what_we_do_graphic.inview #Email, div.solutions-and-services.page div.titles svg#what_we_do_graphic.inview #Social {
        animation: fadeInUp;
        animation-duration: 1.5s;
        animation-fill-mode: both;
        will-change: transform; }
      div.solutions-and-services.page div.titles svg#what_we_do_graphic.inview _:default:not(:root:root), div.solutions-and-services.page div.titles svg#what_we_do_graphic.inview #Display, div.solutions-and-services.page div.titles svg#what_we_do_graphic.inview #Email, div.solutions-and-services.page div.titles svg#what_we_do_graphic.inview #Social {
        animation: none;
        opacity: 1; }
      div.solutions-and-services.page div.titles svg#what_we_do_graphic.inview #Display {
        animation-delay: 0.75s; }
      div.solutions-and-services.page div.titles svg#what_we_do_graphic.inview #Email {
        animation-delay: 1.5s; }
      div.solutions-and-services.page div.titles svg#what_we_do_graphic.inview #Social {
        animation-delay: 2.25s; }
  div.solutions-and-services.page div.sub-title {
    position: relative;
    border-left: 3px solid var(--coral-red);
    margin-left: calc(10% + 60px);
    margin-bottom: 150px;
    padding-left: 30px;
    width: 40%;
    z-index: 2;
    opacity: 0; }
    div.solutions-and-services.page div.sub-title.inview {
      animation: fadeIn;
      animation-duration: 1.5s;
      animation-delay: 0.75s;
      animation-fill-mode: both; }
    div.solutions-and-services.page div.sub-title p, div.solutions-and-services.page div.sub-title h6 {
      margin-bottom: 20px; }
      div.solutions-and-services.page div.sub-title p em, div.solutions-and-services.page div.sub-title h6 em {
        font-style: normal;
        color: var(--electric-blue); }
  div.solutions-and-services.page div.services-wrapper {
    display: block;
    position: relative;
    margin-top: 50px; }
    div.solutions-and-services.page div.services-wrapper h3.title {
      margin-left: 10%;
      margin-bottom: 60px;
      opacity: 0; }
      div.solutions-and-services.page div.services-wrapper h3.title.inview {
        animation: fadeInUp;
        animation-duration: 1.5s;
        animation-delay: 0.5s;
        animation-fill-mode: both; }
    div.solutions-and-services.page div.services-wrapper div.service {
      display: block;
      position: relative;
      padding: 0 10%;
      margin-bottom: 200px;
      overflow: hidden; }
      div.solutions-and-services.page div.services-wrapper div.service::before {
        content: '';
        display: block;
        position: absolute;
        width: 60%;
        height: 90%;
        bottom: 0;
        background-size: contain;
        background-repeat: no-repeat;
        background-position: left center; }
      div.solutions-and-services.page div.services-wrapper div.service h2.animate {
        margin-bottom: 30px;
        opacity: 0; }
        div.solutions-and-services.page div.services-wrapper div.service h2.animate.inview {
          animation: fadeInUp;
          animation-duration: 1.5s;
          animation-delay: 0.75s;
          animation-fill-mode: both; }
      div.solutions-and-services.page div.services-wrapper div.service div.content-wrapper {
        position: relative;
        display: grid;
        grid-template-columns: calc(50% - 60px) calc(50% - 60px);
        column-gap: 120px; }
        div.solutions-and-services.page div.services-wrapper div.service div.content-wrapper div.content {
          opacity: 0; }
          div.solutions-and-services.page div.services-wrapper div.service div.content-wrapper div.content.inview {
            animation: fadeIn;
            animation-duration: 1.5s;
            animation-delay: 1.2s;
            animation-fill-mode: both; }
          div.solutions-and-services.page div.services-wrapper div.service div.content-wrapper div.content h6 {
            margin-bottom: 30px;
            color: var(--navy); }
            div.solutions-and-services.page div.services-wrapper div.service div.content-wrapper div.content h6 strong {
              color: var(--navy); }
              div.solutions-and-services.page div.services-wrapper div.service div.content-wrapper div.content h6 strong span {
                color: var(--electric-blue); }
          div.solutions-and-services.page div.services-wrapper div.service div.content-wrapper div.content p {
            margin-bottom: 20px; }
        div.solutions-and-services.page div.services-wrapper div.service div.content-wrapper div.image-carousel {
          display: block;
          position: relative;
          padding: 0;
          align-self: center; }
          div.solutions-and-services.page div.services-wrapper div.service div.content-wrapper div.image-carousel .slick-slide {
            display: inline-block;
            vertical-align: middle;
            float: none;
            opacity: 0;
            transition: opacity 0.2s ease-in-out; }
            div.solutions-and-services.page div.services-wrapper div.service div.content-wrapper div.image-carousel .slick-slide.slick-active {
              opacity: 1; }
            div.solutions-and-services.page div.services-wrapper div.service div.content-wrapper div.image-carousel .slick-slide.slick-cloned {
              opacity: 1 !important; }
          div.solutions-and-services.page div.services-wrapper div.service div.content-wrapper div.image-carousel img.carousel-image {
            max-height: 450px;
            object-fit: contain;
            object-position: center;
            transform: translateZ(0);
            -webkit-transform: translateZ(0);
            outline: none; }
      div.solutions-and-services.page div.services-wrapper div.service:nth-child(odd) h2 {
        text-align: left;
        margin-left: calc(50% + 60px);
        width: 50%; }
      div.solutions-and-services.page div.services-wrapper div.service:nth-child(odd)::before {
        left: 5%; }
      div.solutions-and-services.page div.services-wrapper div.service:nth-child(odd) div.content-wrapper div.content {
        grid-column: 2;
        grid-row: 1;
        text-align: left; }
      div.solutions-and-services.page div.services-wrapper div.service:nth-child(odd) div.content-wrapper div.image-carousel {
        grid-column: 1;
        grid-row: 1; }
      div.solutions-and-services.page div.services-wrapper div.service:nth-child(even)::before {
        background-image: url("/assets/images/icons/Triangle_Electric-Blue.svg");
        transform: rotateY(180deg);
        right: -7%; }
      div.solutions-and-services.page div.services-wrapper div.service:nth-child(odd)::before {
        background-image: url("/assets/images/icons/Triangle_Navy.svg");
        transform: rotateY(0);
        left: -7%; }
  div.solutions-and-services.page div.known-studio {
    position: relative;
    display: grid;
    width: 70%;
    grid-template-columns: calc(45% - 50px) calc(50% - 50px);
    background-color: var(--navy);
    row-gap: 50px;
    column-gap: 100px;
    padding: 50px 50px 50px 10%;
    margin-top: -40px;
    bottom: -40px;
    z-index: 2; }
    div.solutions-and-services.page div.known-studio h2 {
      display: block;
      grid-column: 1 / span 2;
      grid-row: 1;
      color: #ffffff; }
    div.solutions-and-services.page div.known-studio div.content {
      display: block;
      grid-column: 1;
      grid-row: 2; }
      div.solutions-and-services.page div.known-studio div.content h5, div.solutions-and-services.page div.known-studio div.content h6, div.solutions-and-services.page div.known-studio div.content p {
        color: #FFFFFF;
        margin-bottom: 20px; }
        div.solutions-and-services.page div.known-studio div.content h5 span, div.solutions-and-services.page div.known-studio div.content h6 span, div.solutions-and-services.page div.known-studio div.content p span {
          color: var(--electric-blue); }
    div.solutions-and-services.page div.known-studio div.image-carousel {
      display: block;
      grid-column: 2;
      grid-row: 2;
      padding: 30px 0;
      align-self: center;
      background-image: url("/assets/images/known-studio/Circle_Navy.svg");
      background-repeat: no-repeat;
      background-size: contain;
      background-position: center;
      max-height: 500px; }
      div.solutions-and-services.page div.known-studio div.image-carousel .slick-slide {
        display: inline-block;
        vertical-align: middle;
        float: none;
        -webkit-transform: translateZ(0);
        max-height: 500px;
        object-fit: contain;
        object-position: center; }
  @media screen and (min-width: 1701px) {
    div.solutions-and-services.page div.services-wrapper div.service:nth-child(odd)::before {
      left: 0%; }
    div.solutions-and-services.page div.services-wrapper div.service:nth-child(even)::before {
      right: 0%; } }
  @media screen and (max-width: 1700px) {
    div.solutions-and-services.page div.services-wrapper div.service:nth-child(odd)::before {
      left: -3%; }
    div.solutions-and-services.page div.services-wrapper div.service:nth-child(even)::before {
      right: -10%; } }
  @media screen and (max-width: 1200px) {
    div.solutions-and-services.page div.titles {
      column-gap: 0; }
    div.solutions-and-services.page div.services-wrapper div.service {
      padding: 0 5%; }
      div.solutions-and-services.page div.services-wrapper div.service div.content-wrapper div.content {
        padding-left: 0; }
      div.solutions-and-services.page div.services-wrapper div.service:nth-child(odd)::before {
        left: -12%; }
      div.solutions-and-services.page div.services-wrapper div.service:nth-child(even)::before {
        right: -13%; }
    div.solutions-and-services.page div.known-studio {
      grid-template-columns: calc(50% - 25px) calc(50% - 25px);
      column-gap: 50px; } }
  @media screen and (max-width: 768px) {
    div.solutions-and-services.page {
      padding-top: 150px; }
      div.solutions-and-services.page div.titles {
        grid-template-columns: 1fr;
        row-gap: 50px;
        margin-bottom: 40px; }
        div.solutions-and-services.page div.titles div.wrapper {
          grid-row: 2; }
        div.solutions-and-services.page div.titles img.main-graphic {
          display: none;
          grid-row: 1;
          width: 60%;
          justify-self: center; }
      div.solutions-and-services.page div.sub-title {
        margin-left: 8%;
        width: 75%; }
      div.solutions-and-services.page div.services-wrapper div.service {
        margin-bottom: 50px; }
        div.solutions-and-services.page div.services-wrapper div.service::before {
          width: 100%;
          height: 30%; }
        div.solutions-and-services.page div.services-wrapper div.service div.content-wrapper {
          grid-template-columns: 100%;
          padding-left: 0;
          row-gap: 30px; }
          div.solutions-and-services.page div.services-wrapper div.service div.content-wrapper div.content {
            padding-left: 0;
            grid-row: 2; }
            div.solutions-and-services.page div.services-wrapper div.service div.content-wrapper div.content h6 {
              margin-bottom: 20px; }
          div.solutions-and-services.page div.services-wrapper div.service div.content-wrapper div.image-carousel {
            grid-row: 1; }
            div.solutions-and-services.page div.services-wrapper div.service div.content-wrapper div.image-carousel img.carousel-image {
              max-height: 300px; }
        div.solutions-and-services.page div.services-wrapper div.service:nth-child(even)::before {
          right: -5%;
          top: 75px; }
        div.solutions-and-services.page div.services-wrapper div.service:nth-child(odd)::before {
          left: -5%;
          top: 90px; }
        div.solutions-and-services.page div.services-wrapper div.service:nth-child(odd) h2 {
          text-align: left;
          margin-left: 0;
          padding-left: 0; }
        div.solutions-and-services.page div.services-wrapper div.service:nth-child(odd) div.content-wrapper div.content {
          grid-column: 1;
          grid-row: 2; }
          div.solutions-and-services.page div.services-wrapper div.service:nth-child(odd) div.content-wrapper div.content h6, div.solutions-and-services.page div.services-wrapper div.service:nth-child(odd) div.content-wrapper div.content p {
            text-align: left; }
        div.solutions-and-services.page div.services-wrapper div.service:nth-child(odd) div.content-wrapper div.image-carousel {
          grid-column: 1;
          grid-row: 1; }
      div.solutions-and-services.page div.known-studio {
        width: auto;
        row-gap: 30px;
        bottom: 0;
        margin-top: 10px; }
        div.solutions-and-services.page div.known-studio div.content {
          grid-column: 1 / span 2;
          grid-row: 2; }
        div.solutions-and-services.page div.known-studio div.image-carousel {
          grid-column: 1 /span 2;
          grid-row: 3; } }

div.news-and-insights {
  position: relative;
  display: block;
  background-color: var(--navy-90);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  background-image: url("/assets/images/background-patterns/news_BKG.svg");
  padding: 240px 10% 100px 10%; }
  div.news-and-insights div.titles h1 {
    color: #ffffff;
    margin-bottom: 50px; }
  div.news-and-insights div.titles h3 {
    margin-bottom: 10px; }
  div.news-and-insights div.news-grid {
    position: relative;
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    column-gap: 30px;
    row-gap: 30px; }
    div.news-and-insights div.news-grid .article {
      display: block;
      position: relative;
      background-color: #FFFFFF;
      opacity: 0;
      transition: transform 0.4s ease-in-out; }
      div.news-and-insights div.news-grid .article.inview {
        animation: fadeIn;
        animation-duration: 2s;
        animation-delay: 1s;
        animation-fill-mode: both; }
        div.news-and-insights div.news-grid .article.inview:nth-of-type(3n+2) {
          animation-delay: 1.5s; }
        div.news-and-insights div.news-grid .article.inview:nth-of-type(3n+3) {
          animation-delay: 2s; }
        @media screen and (max-width: 1200px) {
          div.news-and-insights div.news-grid .article.inview {
            animation-duration: 1s;
            animation-delay: .5s; }
            div.news-and-insights div.news-grid .article.inview:nth-of-type(2n) {
              animation-delay: 1s; }
            div.news-and-insights div.news-grid .article.inview:nth-of-type(2n+1) {
              animation-delay: .5s; } }
        @media screen and (max-width: 768px) {
          div.news-and-insights div.news-grid .article.inview {
            animation-duration: 1s;
            animation-delay: .5s !important; } }
      div.news-and-insights div.news-grid .article:hover {
        transform: scale(1.03); }
      div.news-and-insights div.news-grid .article.featured {
        display: grid;
        grid-template-columns: 2fr 1fr;
        grid-column: 1 / span 3;
        grid-row: 1;
        opacity: 1; }
        div.news-and-insights div.news-grid .article.featured div.content {
          position: relative;
          padding: 40px 20px 70px 20px; }
          div.news-and-insights div.news-grid .article.featured div.content p.release-date {
            display: block;
            position: relative;
            background-color: #FFFFFF;
            font-size: 14px;
            margin-bottom: 20px; }
          div.news-and-insights div.news-grid .article.featured div.content p.read-more {
            position: absolute;
            bottom: 20px;
            left: 20px; }
          div.news-and-insights div.news-grid .article.featured div.content h5 {
            font-size: 28px;
            line-height: 36px; }
      div.news-and-insights div.news-grid .article div.image-wrapper {
        position: relative;
        display: block; }
        div.news-and-insights div.news-grid .article div.image-wrapper img.news-image {
          display: block;
          width: 100%;
          height: 100%;
          object-fit: cover;
          object-position: center; }
        div.news-and-insights div.news-grid .article div.image-wrapper p.release-date {
          display: block;
          position: absolute;
          width: 50%;
          left: 0;
          bottom: 0;
          background-color: #FFFFFF;
          padding: 5px 10px;
          font-size: 14px; }
      div.news-and-insights div.news-grid .article div.content {
        display: block;
        padding: 10px 10px 45px 10px; }
        div.news-and-insights div.news-grid .article div.content h5 {
          font-size: 17px;
          line-height: 28px;
          font-weight: 500;
          margin-bottom: 15px; }
        div.news-and-insights div.news-grid .article div.content p.read-more {
          position: absolute;
          bottom: 10px;
          left: 10px;
          border-left: 3px solid var(--coral-red);
          padding-left: 10px;
          font-weight: 600; }
    div.news-and-insights div.news-grid.w-featured .article:nth-of-type(3n+2) {
      animation-delay: 1s; }
    div.news-and-insights div.news-grid.w-featured .article:nth-of-type(3n+3) {
      animation-delay: 1.5s; }
    div.news-and-insights div.news-grid.w-featured .article:nth-of-type(3n+4) {
      animation-delay: 2s; }
    @media screen and (max-width: 1200px) {
      div.news-and-insights div.news-grid {
        grid-template-columns: 1fr 1fr; }
        div.news-and-insights div.news-grid .article.featured {
          grid-column: 1 / span 2; } }
    @media screen and (max-width: 768px) {
      div.news-and-insights div.news-grid {
        grid-template-columns: 1fr; }
        div.news-and-insights div.news-grid .article.featured {
          grid-column: 1;
          grid-template-columns: 1fr; } }
  @media screen and (max-width: 768px) {
    div.news-and-insights {
      padding: 140px 10% 100px 10%; } }

div.news-article {
  position: relative;
  display: block;
  background-color: #ffffff;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  background-image: url("/assets/images/background-patterns/blog_BKG.svg");
  padding: 250px 0 0 0; }
  div.news-article img.article-image {
    display: block;
    position: relative;
    width: 80%;
    height: auto;
    margin: 0 10%;
    z-index: 2;
    max-height: 550px;
    object-fit: cover;
    object-position: center; }
  div.news-article div.title-block {
    display: block;
    position: relative;
    background-color: var(--navy);
    padding: 100px 10% 50px 10%;
    z-index: 1;
    top: -50px;
    margin-bottom: -50px; }
    div.news-article div.title-block h2 {
      display: block;
      color: #ffffff;
      margin-bottom: 20px; }
    div.news-article div.title-block p {
      display: inline;
      color: #ffffff;
      margin-right: 30px; }
  div.news-article div.content-wrapper {
    position: relative;
    display: grid;
    grid-template-columns: 275px 1fr;
    column-gap: 75px;
    padding: 50px 10%; }
    div.news-article div.content-wrapper div.sidebar {
      position: relative;
      display: block; }
      div.news-article div.content-wrapper div.sidebar div.socials {
        margin-bottom: 50px; }
        div.news-article div.content-wrapper div.sidebar div.socials h5 {
          font-size: 20px;
          font-weight: 500;
          margin-bottom: 10px; }
        div.news-article div.content-wrapper div.sidebar div.socials div.sharing-links a.icon {
          display: inline-block;
          position: relative;
          width: 30px;
          height: 30px;
          background-position: center;
          background-size: contain;
          background-repeat: no-repeat;
          margin-right: 10px; }
          div.news-article div.content-wrapper div.sidebar div.socials div.sharing-links a.icon.twitter {
            background-image: url("/assets/images/icons/Icon_Twitter.svg");
            height: 25px; }
          div.news-article div.content-wrapper div.sidebar div.socials div.sharing-links a.icon.linkedin {
            background-image: url("/assets/images/icons/Icon_LinkedIn.svg"); }
          div.news-article div.content-wrapper div.sidebar div.socials div.sharing-links a.icon.email {
            background-image: url("/assets/images/icons/Icon_Email.svg");
            height: 19px; }
      div.news-article div.content-wrapper div.sidebar div.previous-articles h5 {
        font-size: 20px;
        font-weight: 500;
        margin-bottom: 20px; }
      div.news-article div.content-wrapper div.sidebar div.previous-articles div.article-list {
        display: block;
        position: relative; }
        div.news-article div.content-wrapper div.sidebar div.previous-articles div.article-list a.article {
          display: block;
          font-size: 16px;
          font-weight: 500;
          margin-bottom: 20px;
          padding-left: 10px;
          border-left: 3px solid var(--electric-blue); }
    div.news-article div.content-wrapper div.content {
      position: relative;
      display: block; }
      div.news-article div.content-wrapper div.content a.back-to-news {
        display: block;
        width: 200px;
        height: 36px;
        margin: 50px 0; }
        div.news-article div.content-wrapper div.content a.back-to-news .cls-1 {
          fill: none;
          stroke: var(--light-grey);
          stroke-linecap: round;
          stroke-width: 2px; }
        div.news-article div.content-wrapper div.content a.back-to-news .cls-2 {
          fill: var(--light-grey); }
      div.news-article div.content-wrapper div.content img {
        position: relative;
        display: block;
        width: 100%;
        height: auto;
        object-fit: contain;
        object-fit: center;
        margin: 40px 0; }
      div.news-article div.content-wrapper div.content figure {
        position: relative;
        display: block; }
        div.news-article div.content-wrapper div.content figure figcaption {
          display: block;
          position: absolute;
          bottom: 0;
          left: 0;
          padding: 10px 20px;
          background-color: #FFFFFF; }
      div.news-article div.content-wrapper div.content h1, div.news-article div.content-wrapper div.content h2, div.news-article div.content-wrapper div.content h3, div.news-article div.content-wrapper div.content h4, div.news-article div.content-wrapper div.content h5, div.news-article div.content-wrapper div.content h6 {
        margin-top: 30px;
        margin-bottom: 15px; }
        div.news-article div.content-wrapper div.content h1 strong, div.news-article div.content-wrapper div.content h2 strong, div.news-article div.content-wrapper div.content h3 strong, div.news-article div.content-wrapper div.content h4 strong, div.news-article div.content-wrapper div.content h5 strong, div.news-article div.content-wrapper div.content h6 strong {
          font-weight: 500; }
      div.news-article div.content-wrapper div.content p {
        margin-bottom: 20px; }
        div.news-article div.content-wrapper div.content p strong {
          font-weight: 500; }
      div.news-article div.content-wrapper div.content ul {
        list-style: disc;
        padding-left: 20px; }
        div.news-article div.content-wrapper div.content ul li {
          margin-bottom: 15px; }
      div.news-article div.content-wrapper div.content a.next-article {
        position: relative;
        display: grid;
        grid-template-columns: 2fr 3fr;
        column-gap: 50px; }
        div.news-article div.content-wrapper div.content a.next-article img.article-image {
          width: 100%;
          height: auto;
          object-fit: cover;
          object-position: center;
          margin: 0; }
        div.news-article div.content-wrapper div.content a.next-article div.content {
          align-self: end; }
          div.news-article div.content-wrapper div.content a.next-article div.content h3 {
            margin: 0 0 15px 0; }
          div.news-article div.content-wrapper div.content a.next-article div.content h5, div.news-article div.content-wrapper div.content a.next-article div.content h6 {
            margin: 0; }
  div.news-article div.contact-us {
    position: relative;
    display: block;
    padding: 75px 30%;
    background-color: var(--coral-red); }
    div.news-article div.contact-us h3, div.news-article div.contact-us h5 {
      color: #FFFFFF;
      text-align: center; }
    div.news-article div.contact-us h5 {
      margin-bottom: 40px; }
    div.news-article div.contact-us a.button {
      position: relative;
      display: inline-block;
      color: var(--dark-grey);
      border: 3px solid var(--dark-grey);
      padding: 10px 20px;
      left: 50%;
      transform: translateX(-50%);
      transition: background-color 0.5s ease-in-out, color 0.5s ease-in-out; }
      div.news-article div.contact-us a.button:hover {
        background-color: var(--dark-grey);
        color: #FFFFFF; }
    @media screen and (max-width: 1200px) {
      div.news-article div.contact-us {
        padding: 75px 20%; } }
  @media screen and (max-width: 1200px) {
    div.news-article div.content-wrapper {
      grid-template-columns: 250px 1fr;
      column-gap: 40px; } }
  @media screen and (max-width: 768px) {
    div.news-article div.content-wrapper {
      grid-template-columns: 1fr; }
      div.news-article div.content-wrapper div.sidebar div.socials {
        margin-bottom: 20px; }
      div.news-article div.content-wrapper div.sidebar div.previous-articles {
        display: none; }
      div.news-article div.content-wrapper div.content a.next-article {
        grid-template-columns: 1fr 3fr;
        column-gap: 20px; } }

div.contact-us.page {
  position: relative;
  display: block;
  background-color: #ffffff;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  background-image: url("/assets/images/background-patterns/contact-us_BKG.svg");
  padding-top: 240px; }
  div.contact-us.page::before {
    content: '';
    display: block;
    position: absolute;
    width: 100vw;
    height: 100vh;
    top: 0;
    left: 0;
    background-image: url("/assets/images/background-patterns/animation_fade.svg");
    background-size: cover;
    background-repeat: no-repeat;
    background-position: bottom center;
    z-index: 1; }
  div.contact-us.page div.titles {
    position: relative;
    padding: 0 10%;
    margin-bottom: 100px;
    z-index: 2;
    opacity: 0; }
    div.contact-us.page div.titles.inview {
      animation: fadeInUp;
      animation-duration: 1.5s;
      animation-fill-mode: both; }
    div.contact-us.page div.titles h3 {
      margin-bottom: 10px; }
  div.contact-us.page div.contact-content {
    position: relative;
    border-left: 3px solid var(--coral-red);
    margin-left: calc(10% + 60px);
    margin-bottom: 100px;
    padding-left: 30px;
    width: 40%;
    z-index: 2;
    opacity: 0; }
    div.contact-us.page div.contact-content.inview {
      animation: fadeIn;
      animation-duration: 1.5s;
      animation-delay: 0.75s;
      animation-fill-mode: both; }
    div.contact-us.page div.contact-content p, div.contact-us.page div.contact-content h6 {
      margin-bottom: 20px; }
      div.contact-us.page div.contact-content p em, div.contact-us.page div.contact-content h6 em {
        font-style: normal;
        color: var(--electric-blue); }
  div.contact-us.page div.contact-form {
    z-index: 2;
    position: relative;
    display: grid;
    grid-template-columns: 1fr 1fr;
    margin: 0 10% -100px 10%;
    background-color: var(--navy);
    bottom: -100px; }
    div.contact-us.page div.contact-form div.address {
      display: block;
      position: relative;
      padding: 60px;
      align-self: center; }
      div.contact-us.page div.contact-form div.address p {
        color: #FFFFFF;
        margin-bottom: 10px; }
        div.contact-us.page div.contact-form div.address p.address, div.contact-us.page div.contact-form div.address p.phone {
          color: var(--coral-red);
          margin-top: 40px; }
    div.contact-us.page div.contact-form div.form-wrapper {
      position: relative;
      display: block;
      padding: 60px;
      z-index: 2;
      background-color: var(--navy); }
      div.contact-us.page div.contact-form div.form-wrapper h3, div.contact-us.page div.contact-form div.form-wrapper h2 {
        text-align: right; }
      div.contact-us.page div.contact-form div.form-wrapper h2 {
        color: #FFFFFF;
        margin-bottom: 30px; }
      div.contact-us.page div.contact-form div.form-wrapper p {
        color: #FFFFFF;
        width: 80%; }
      div.contact-us.page div.contact-form div.form-wrapper form {
        display: block; }
        div.contact-us.page div.contact-form div.form-wrapper form p.message {
          margin: 30px 0; }
          div.contact-us.page div.contact-form div.form-wrapper form p.message.notice {
            color: var(--mint-green); }
          div.contact-us.page div.contact-form div.form-wrapper form p.message.error {
            color: var(--coral-red); }
        div.contact-us.page div.contact-form div.form-wrapper form input[type=text], div.contact-us.page div.contact-form div.form-wrapper form input[type=email], div.contact-us.page div.contact-form div.form-wrapper form textarea {
          display: block;
          position: relative;
          background-color: var(--navy);
          border: none;
          border-bottom: 2px solid #FFFFFF;
          border-radius: 0;
          color: #FFFFFF;
          width: 100%;
          margin: 20px 0;
          outline: none; }
        div.contact-us.page div.contact-form div.form-wrapper form textarea {
          margin-bottom: 30px; }
        div.contact-us.page div.contact-form div.form-wrapper form input[type=checkbox] {
          display: inline;
          position: relative;
          background-color: var(--navy);
          border: 1px solid #FFFFFF;
          margin-right: 7px; }
        div.contact-us.page div.contact-form div.form-wrapper form label {
          display: inline;
          position: relative;
          color: #FFFFFF;
          font-size: 12px;
          margin-right: 140px; }
        div.contact-us.page div.contact-form div.form-wrapper form input#knownMediaHP {
          display: none; }
        div.contact-us.page div.contact-form div.form-wrapper form button.g-recaptcha {
          position: absolute;
          display: block;
          right: 40px;
          bottom: 35px;
          background-color: var(--navy);
          border: none;
          border-left: 3px solid var(--coral-red);
          border-radius: 0;
          color: #FFFFFF;
          cursor: pointer;
          -webkit-appearance: none; }
  div.contact-us.page div.map {
    position: relative;
    width: 100%;
    min-height: 800px; }
  @media screen and (max-width: 768px) {
    div.contact-us.page {
      padding-top: 200px; }
      div.contact-us.page div.contact-content {
        margin-left: 8%;
        width: 60%; }
      div.contact-us.page div.contact-form {
        grid-template-columns: 1fr;
        margin: 0;
        bottom: 0; }
        div.contact-us.page div.contact-form div.address {
          grid-row: 2; }
        div.contact-us.page div.contact-form div.form-wrapper {
          grid-row: 1;
          padding: 15% 7%; }
          div.contact-us.page div.contact-form div.form-wrapper h2, div.contact-us.page div.contact-form div.form-wrapper h3 {
            text-align: left; }
      div.contact-us.page div.map {
        min-height: 400px; } }

div.blank.page {
  position: relative;
  display: block;
  background-color: #ffffff;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  background-image: url("/assets/images/background-patterns/about-us_BKG.svg");
  padding-top: 240px; }
  div.blank.page::before {
    content: '';
    display: block;
    position: absolute;
    width: 100vw;
    height: 100vh;
    top: 0;
    left: 0;
    background-image: url("/assets/images/background-patterns/animation_fade.svg");
    background-size: cover;
    background-repeat: no-repeat;
    background-position: bottom center;
    z-index: 0; }
  div.blank.page div.titles {
    position: relative;
    padding: 0 10%;
    margin-bottom: 100px;
    z-index: 2;
    opacity: 0; }
    div.blank.page div.titles.inview {
      animation: fadeInUp;
      animation-duration: 1.5s;
      animation-fill-mode: both; }
    div.blank.page div.titles h3 {
      margin-bottom: 10px; }
  div.blank.page div.content {
    position: relative;
    display: grid;
    padding: 0 40% 100px 10%;
    grid-template-columns: 1fr; }
    div.blank.page div.content img {
      position: relative;
      display: block;
      width: 100%;
      height: auto;
      object-fit: contain;
      object-fit: center;
      margin: 40px 0; }
    div.blank.page div.content figure {
      position: relative;
      display: block; }
      div.blank.page div.content figure figcaption {
        display: block;
        position: absolute;
        bottom: 0;
        left: 0;
        padding: 10px 20px;
        background-color: #FFFFFF; }
    div.blank.page div.content h1, div.blank.page div.content h2, div.blank.page div.content h3, div.blank.page div.content h4, div.blank.page div.content h5, div.blank.page div.content h6 {
      margin-top: 30px;
      margin-bottom: 15px; }
      div.blank.page div.content h1 strong, div.blank.page div.content h2 strong, div.blank.page div.content h3 strong, div.blank.page div.content h4 strong, div.blank.page div.content h5 strong, div.blank.page div.content h6 strong {
        font-weight: 500; }
    div.blank.page div.content p {
      margin-bottom: 20px; }
      div.blank.page div.content p strong {
        font-weight: 500; }
    div.blank.page div.content ul {
      list-style: disc;
      padding-left: 20px; }
      div.blank.page div.content ul li {
        margin-bottom: 15px; }
    div.blank.page div.content table th, div.blank.page div.content table td {
      border: 1px solid #000000;
      padding: 10px;
      margin-bottom: 15px; }

html {
  scroll-behavior: smooth;
  overflow-x: hidden; }
  html div.grecaptcha-badge {
    display: none !important; }

/*# sourceMappingURL=app.css.map */