@font-face {
  font-family: Graphik;
  src: url('../fonts/Graphik-Light-Web.woff2') format("woff2");
  font-weight: 300;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: Graphik;
  src: url('../fonts/Graphik-Regular-Web.woff2') format("woff2");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: Graphik;
  src: url('../fonts/Graphik-RegularItalic-Web.woff2') format("woff2");
  font-weight: 400;
  font-style: italic;
  font-display: swap;
}

@font-face {
  font-family: Para;
  src: url('../fonts/Para-Grand-Bold.woff2') format("woff2");
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: Graphik;
  src: url('../fonts/Graphik-LightItalic-Web.woff2') format("woff2");
  font-weight: 300;
  font-style: italic;
  font-display: swap;
}

:root {
  --colour--white-smoke: #f8f8f8;
  --fonts--body-font: Graphik, sans-serif;
  --colour--black: black;
  --fonts--header-font: Para, sans-serif;
  --font-sizes--h1: 3.5rem;
  --font-sizes--h2: 2.5rem;
  --font-sizes--h3: 1.5rem;
  --font-sizes--h4: 1.2rem;
  --font-sizes--h5: .8rem;
  --font-sizes--h6: .7rem;
  --colour--crimson: #ff2651;
  --colour--white: white;
  --colour--grey: #7e7e7e;
  --spacers--spacer-tiny: 8px;
  --spacers--spacer-small: 16px;
  --spacers--spacer-med: 32px;
  --white-smoke-2\<deleted\|variable-aee5149a\>: #f8f8f880;
  --colour--charcoal: #1b1b1b;
  --grids--grid-gutter-md: 24px;
  --image-ratios--landscape: 65%;
  --image-ratios--portrait: 130%;
  --page-sizes--section-padding-lr: 96px;
  --page-sizes--project-header-max-width: 500px;
  --page-sizes--section-padding-tb: 64px;
  --colour--transparency: #fff0;
  --page-sizes--page-top-margin: 120px;
  --image-ratios--square: 100%;
  --spacers--spacer-x-lrg: 128px;
  --font-sizes--body: .9rem;
  --section-spacing--section-margin-med: 96px;
  --page-sizes--page-max-width: 1600px;
  --page-sizes--body-max-width: 1000px;
  --page-sizes--section-padding-lr-offset-desk: -96px;
  --section-spacing--section-margin-sm: 64px;
  --grids--grid-gutter-lrg: 5vw;
  --section-spacing--section-margin-lrg: 128px;
  --spacers--spacer-lrg: 64px;
  --nav-height: 60px;
  --page-sizes--section-padding-lr-offset-all: -96px;
  --image-ratios--pano: 55%;
  --nav-offset: -60px;
}

.w-layout-blockcontainer {
  max-width: 940px;
  margin-left: auto;
  margin-right: auto;
  display: block;
}

.w-layout-grid {
  grid-row-gap: 16px;
  grid-column-gap: 16px;
  grid-template-rows: auto auto;
  grid-template-columns: 1fr 1fr;
  grid-auto-columns: 1fr;
  display: grid;
}

@media screen and (max-width: 991px) {
  .w-layout-blockcontainer {
    max-width: 728px;
  }
}

@media screen and (max-width: 767px) {
  .w-layout-blockcontainer {
    max-width: none;
  }
}

body {
  background-color: var(--colour--white-smoke);
  font-family: var(--fonts--body-font);
  color: var(--colour--black);
  font-size: .9rem;
  font-weight: 300;
  line-height: 1.2;
}

h1 {
  font-family: var(--fonts--header-font);
  font-size: var(--font-sizes--h1);
  margin-top: 0;
  margin-bottom: 0;
  font-weight: 700;
  line-height: 1;
}

h2 {
  font-family: var(--fonts--header-font);
  margin-top: 0;
  margin-bottom: 0;
  font-size: 2.5rem;
  font-weight: 700;
  line-height: 1;
}

h3 {
  font-family: var(--fonts--header-font);
  margin-top: 0;
  margin-bottom: 0;
  font-size: 1.8rem;
  line-height: 1.1;
}

h4 {
  font-family: var(--fonts--body-font);
  margin-top: 0;
  margin-bottom: 0;
  font-size: 1.2rem;
  line-height: 1.2;
}

h5 {
  font-size: var(--font-sizes--h5);
  margin-top: 0;
  margin-bottom: 0;
  font-weight: 300;
  line-height: 1.2;
}

h6 {
  font-family: var(--fonts--body-font);
  font-size: var(--font-sizes--h6);
  letter-spacing: .1rem;
  text-transform: uppercase;
  margin-top: 0;
  margin-bottom: 0;
  line-height: 1.2;
}

a {
  color: var(--colour--crimson);
  text-decoration: none;
}

.blackbg {
  color: var(--colour--white);
  justify-content: center;
  align-items: flex-start;
}

.blackbg.grey {
  background-color: var(--colour--white-smoke);
  flex-direction: row;
  justify-content: center;
  display: block;
}

.navbar {
  background-color: var(--colour--black);
  width: 100%;
  position: fixed;
}

.navbar.white {
  background-color: #fff;
}

.container {
  justify-content: center;
  align-items: center;
  width: auto;
  min-width: auto;
  max-width: none;
  margin-left: 0;
  margin-right: 0;
  padding-left: 0;
  padding-right: 0;
  display: flex;
}

.navdivdesk {
  z-index: 100;
  justify-content: space-between;
  align-items: center;
  width: 100%;
  max-width: 1600px;
  height: 80px;
  padding-left: 60px;
  padding-right: 40px;
  display: flex;
  position: relative;
}

.menu-button {
  padding: 20px;
}

.menu-button.w--open {
  background-color: #0000;
}

.nav-menu {
  background-color: #000;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  width: 100vw;
  min-width: 100vw;
  height: 100%;
  margin-top: 0;
  display: flex;
  position: absolute;
}

.nav-item {
  color: #fff;
  background-image: none;
  background-repeat: repeat;
  background-size: auto;
  width: auto;
  margin-left: 60px;
  padding-left: 95px;
  font-family: Para, sans-serif;
  font-size: 65px;
  font-weight: 700;
  line-height: 39px;
  display: flex;
}

.nav-item.w--current {
  color: #fff;
  background-image: url('../images/nav_line.svg');
  background-position: 0 100%;
  background-repeat: no-repeat;
  background-size: auto;
  align-items: flex-end;
  width: auto;
  height: auto;
  margin-left: 60px;
  padding-left: 95px;
  line-height: 39px;
  display: flex;
}

.nav-item.home {
  background-image: none;
  background-position: 0 0;
}

.nav-item.home.w--current {
  background-image: url('../images/nav_line.svg');
  background-position: 0 100%;
  background-repeat: no-repeat;
  background-size: auto;
}

.nav-item.home.w--current:hover {
  background-position: 0 100%;
}

.nav-item.projects {
  background-image: none;
  background-repeat: repeat;
  background-size: auto;
}

.nav-item.projects:hover {
  background-image: none;
  background-position: 0 0;
  background-repeat: repeat;
  background-size: auto;
}

.nav-item.projects.w--current {
  background-image: url('../images/nav_line.svg');
  background-position: 0 100%;
  background-repeat: no-repeat;
  background-size: auto;
}

.navdivmob {
  flex-direction: column;
  flex: none;
  justify-content: flex-start;
  align-items: center;
  width: 100%;
  height: 100%;
  padding-top: 250px;
  display: flex;
}

.spacerdiv40 {
  width: 40px;
  height: 40px;
}

.maxwidth1600 {
  width: 100%;
  max-width: 1600px;
  position: relative;
  overflow: visible;
}

.text-white {
  color: #fff;
  margin-bottom: 0;
  font-weight: 300;
}

.spacerdiv60 {
  width: 60px;
  min-width: 60px;
  height: 60px;
}

.blackline {
  border-bottom: 1px solid var(--colour--grey);
  flex: none;
  width: 45px;
  height: 14px;
  margin-right: 10px;
}

.line-body-wrapper {
  justify-content: flex-start;
  align-items: flex-start;
  display: flex;
}

.spacerdiv20 {
  width: 20px;
  min-width: 20px;
  height: 20px;
  min-height: 20px;
}

.lidiv {
  width: auto;
  height: auto;
  margin-right: 10px;
}

.card--icons {
  grid-column-gap: var(--spacers--spacer-tiny);
  grid-row-gap: var(--spacers--spacer-tiny);
  flex-direction: row;
  flex: 1;
  display: flex;
}

.dividerline {
  border-bottom: 1px solid #dbdbdb;
}

.spacer10 {
  width: 10px;
  height: 10px;
}

.project--header--image {
  z-index: 0;
  opacity: 1;
  justify-content: center;
  align-items: center;
  height: 100vh;
  display: flex;
  position: sticky;
  inset: 0 0% 0%;
  overflow: hidden;
}

.imageheader {
  z-index: 1;
  object-fit: cover;
  object-position: 50% 50%;
  width: 100%;
  min-width: 100%;
  height: 130vh;
  min-height: 100%;
  position: absolute;
  inset: 0%;
}

.sectionheader {
  justify-content: center;
  width: 100%;
  padding-top: 60px;
  display: flex;
}

.imageamin {
  width: 100%;
  height: 100%;
  display: block;
}

.divwebimage {
  background-color: #ececec;
  flex-direction: column;
  justify-content: flex-start;
  align-items: flex-start;
  width: 100%;
  height: auto;
  padding: 40px 130px 0;
  display: flex;
  overflow: visible;
}

.footer {
  background-color: var(--colour--white);
}

.footer.bgblack {
  background-color: var(--colour--white);
  border-top: 1px solid #f8f8f833;
  justify-content: center;
  display: flex;
}

.footer--wrapper {
  padding-top: var(--spacers--spacer-small);
  padding-bottom: var(--spacers--spacer-small);
  grid-column-gap: var(--spacers--spacer-med);
  grid-row-gap: var(--spacers--spacer-med);
  justify-content: space-between;
  width: 100%;
  display: flex;
}

.social--link--wrapper {
  grid-column-gap: var(--spacers--spacer-small);
  grid-row-gap: var(--spacers--spacer-small);
  align-items: center;
  display: flex;
}

.tscs--container {
  align-items: center;
  display: flex;
}

.spacer15 {
  width: 15px;
  min-width: 15px;
  height: 15px;
  min-height: 15px;
}

.footer_txt {
  margin-top: 0;
}

.footer_txt.text-white {
  font-weight: 400;
}

.griditem {
  width: 50%;
  height: 100%;
  padding: 0 10px 40px;
}

.griditem._33 {
  width: 33.33%;
  padding-bottom: 40px;
  padding-left: 10px;
  padding-right: 10px;
}

.grid-link {
  color: var(--colour--black);
}

.grid-link:hover {
  color: var(--colour--crimson);
  text-decoration: none;
}

.link-block {
  width: 100%;
  height: 100%;
  display: block;
}

.image-9 {
  width: 25px;
}

.social--icon--img {
  width: 30px;
  min-width: 30px;
  height: 30px;
  min-height: 30px;
}

.footerlink {
  color: var(--colour--black);
}

.footerlink:hover, .footerlink.w--current {
  color: var(--colour--crimson);
}

.footerlink.whitelink {
  color: var(--colour--white-smoke);
}

.footerlink.whitelink:hover {
  color: var(--colour--crimson);
}

.emaillink {
  color: var(--colour--black);
}

.emaillink:hover {
  color: var(--colour--crimson);
}

.maxwidth900 {
  width: 100%;
  max-width: 900px;
  display: flex;
  position: relative;
  overflow: visible;
}

.v_centre {
  flex-direction: column;
  justify-content: center;
  align-items: center;
  display: flex;
}

.div-block-45 {
  width: 100%;
}

.heading-2 {
  margin-top: 0;
  margin-bottom: 0;
}

._60all {
  padding: 60px 100px;
}

.social--icon--wrapper {
  grid-column-gap: var(--spacers--spacer-tiny);
  grid-row-gap: var(--spacers--spacer-tiny);
  display: flex;
}

.navquicklinks {
  color: var(--colour--white);
  padding-left: 60px;
  display: flex;
}

.navquicklinks:hover {
  text-decoration: none;
}

.whitelinebig {
  border-style: none none solid;
  border-width: 1px;
  border-color: var(--colour--white-smoke) var(--colour--white-smoke) var(--colour--white);
  flex: none;
  width: 80px;
  height: 14px;
  margin-right: 15px;
}

.div-block-48 {
  flex-direction: column;
  align-items: flex-start;
  display: flex;
}

.navquicklink {
  color: var(--colour--grey);
}

.navquicklink:hover, .navquicklink.w--current {
  color: var(--colour--white);
}

.navquicklink.hide {
  display: none;
}

.slider_container {
  background-color: var(--colour--charcoal);
  overflow: hidden;
}

.slide {
  width: auto;
  padding-left: 10px;
  padding-right: 10px;
}

.slider-2 {
  background-color: #0000;
  width: auto;
  height: auto;
}

.mask-2 {
  padding: 60px 20%;
  overflow: visible;
}

.right-arrow-3, .left-arrow-3 {
  display: none;
}

.gridimg {
  object-fit: cover;
  width: 100%;
  height: 100%;
}

.gridimg.shadow {
  background-color: var(--colour--grey);
  box-shadow: 5px 5px 9px 1px var(--colour--grey);
}

.home_grid_item {
  color: var(--colour--black);
  position: relative;
}

.full_image_grow_container {
  width: 100%;
  height: 200vh;
}

.image_boarder {
  justify-content: space-between;
  width: 100%;
  padding-left: 100px;
  padding-right: 100px;
}

.slide-nav-widget {
  justify-content: center;
  font-size: 8px;
  display: flex;
}

.widget_grid_2_col {
  grid-column-gap: var(--grids--grid-gutter-md);
  grid-row-gap: var(--grids--grid-gutter-md);
  grid-template-rows: auto;
  width: 100%;
}

.widget_grid_4_col {
  grid-column-gap: var(--grids--grid-gutter-md);
  grid-row-gap: var(--grids--grid-gutter-md);
  grid-template-rows: auto;
  grid-template-columns: 1fr 1fr 1fr 1fr;
  width: 100%;
}

.cover_image {
  z-index: -1;
  object-fit: cover;
  object-position: 50% 50%;
  width: 100%;
  min-width: 100%;
  max-width: none;
  height: 100%;
  min-height: 100%;
  position: absolute;
  inset: 0%;
}

.cover_image.top {
  object-position: 50% 0%;
}

.landscape-image {
  padding-top: var(--image-ratios--landscape);
  width: 100%;
  position: relative;
  overflow: hidden;
}

.portrait--image {
  padding-top: var(--image-ratios--portrait);
  width: 100%;
  position: relative;
  overflow: hidden;
}

.text-block--container {
  width: 40%;
}

.project--header--header--wrapper {
  z-index: 2;
  padding-right: var(--page-sizes--section-padding-lr);
  padding-left: var(--page-sizes--section-padding-lr);
  flex-direction: column;
  justify-content: flex-end;
  align-items: stretch;
  width: 100%;
  height: 100%;
  display: flex;
  position: absolute;
  inset: 0%;
  overflow: visible;
}

.header--intro--container {
  z-index: 2;
  max-width: var(--page-sizes--project-header-max-width);
  grid-column-gap: var(--spacers--spacer-med);
  grid-row-gap: var(--spacers--spacer-med);
  flex-flow: column;
  display: flex;
  position: relative;
}

.project--header--header--container {
  max-width: var(--page-sizes--project-header-max-width);
  padding-bottom: var(--page-sizes--section-padding-tb);
  align-items: flex-end;
  display: flex;
}

.project--header--container {
  background-color: var(--colour--black);
  min-height: 150vh;
  overflow: visible;
}

.project--header--intro--wrapper {
  align-items: flex-start;
  padding-left: 100px;
  padding-right: 100px;
  display: flex;
}

.header--header {
  z-index: 2;
  grid-column-gap: var(--spacers--spacer-tiny);
  grid-row-gap: var(--spacers--spacer-tiny);
  flex-flow: column;
  display: flex;
  position: relative;
}

.nav_container {
  padding-right: var(--page-sizes--section-padding-lr);
  padding-left: var(--page-sizes--section-padding-lr);
  max-width: 100%;
  height: 100%;
  display: flex;
}

.navbar_new {
  -webkit-backdrop-filter: blur(20px);
  backdrop-filter: blur(20px);
  background-color: #ffffffcf;
  height: 60px;
  position: fixed;
  inset: 0% 0% auto;
}

.navbar_new.home {
  background-color: var(--colour--transparency);
  -webkit-backdrop-filter: none;
  backdrop-filter: none;
  color: var(--colour--white);
}

.nav_wrapper {
  justify-content: space-between;
  align-items: center;
  width: 100%;
  height: 100%;
  display: flex;
}

.nav_item_new {
  color: var(--colour--black);
}

.nav_item_new:hover, .nav_item_new.w--current {
  color: var(--colour--crimson);
}

.nav_item_new.home {
  color: var(--colour--white);
}

.footer_container {
  max-width: 100%;
}

.image_grow {
  width: 100%;
  height: 100%;
  display: flex;
  position: relative;
  overflow: hidden;
}

.full_image_grow_boarder {
  justify-content: center;
  align-items: center;
  width: 100vw;
  height: 100vh;
  padding: 0;
  display: flex;
  position: sticky;
  top: 0;
}

.header--line {
  border-bottom-style: solid;
  border-bottom-width: 1px;
  flex: none;
  width: 60px;
  height: 22px;
  margin-bottom: 3px;
  margin-right: 10px;
}

.header--line.white {
  border-bottom-color: var(--colour--white);
}

.header--sub-header {
  align-items: flex-end;
  display: flex;
}

.cards--grid {
  grid-column-gap: 20px;
  grid-row-gap: 60px;
  grid-template-columns: 1fr 1fr 1fr;
}

.card {
  grid-column-gap: var(--spacers--spacer-small);
  grid-row-gap: var(--spacers--spacer-small);
  flex-flow: column;
  display: flex;
}

.navline {
  border-bottom: 1px solid #000;
  flex: none;
  width: 60px;
  height: 0;
  margin-right: 15px;
  display: none;
}

.inset-video--wrapper {
  background-image: url('../images/0JEP2019-copy.jpg');
  background-position: 50%;
  background-size: cover;
  justify-content: center;
  align-items: center;
  width: 100vw;
  padding: 140px 100px;
  display: flex;
}

.inset-video--container {
  z-index: 2;
  align-items: center;
  width: 100%;
  max-width: 1400px;
  display: flex;
  position: relative;
}

.page_load {
  opacity: 0;
}

.image_container_auto {
  justify-content: center;
  align-items: center;
  width: 100%;
  display: flex;
  position: relative;
}

.auto_image {
  width: 100%;
  min-width: 100%;
  max-width: none;
}

.logo_wrapper {
  border-top: .5px solid #000;
  padding-top: 5px;
}

.logo_image {
  justify-content: center;
  margin-top: 30px;
  padding-left: 30px;
  padding-right: 30px;
  display: flex;
}

.widget_grid_3_col {
  grid-column-gap: var(--grids--grid-gutter-md);
  grid-row-gap: var(--grids--grid-gutter-md);
  grid-template-rows: auto;
  grid-template-columns: 1fr 1fr 1fr;
  width: 100%;
}

.project--header--image--mob {
  z-index: 0;
  justify-content: center;
  align-items: center;
}

.privacybodyheader {
  color: var(--colour--black);
}

.preloader {
  z-index: 100;
  background-color: var(--colour--white-smoke);
  justify-content: center;
  align-items: center;
  padding-top: 60px;
  display: none;
  position: fixed;
  inset: 0%;
}

.loading_n {
  width: 87px;
  min-width: 87px;
  height: 76px;
  min-height: 76px;
  position: static;
  inset: 0%;
}

.loading_n_empty {
  z-index: 1;
  width: 87px;
  height: 76px;
  position: absolute;
}

.loading_n_fill {
  z-index: 2;
  align-items: flex-end;
  width: 87px;
  height: 0;
  display: flex;
  position: relative;
  overflow: hidden;
}

.pre_loader_icon_wrapper {
  align-items: flex-end;
  width: 87px;
  height: 50px;
  display: flex;
  position: relative;
}

.inset--background-video {
  object-fit: cover;
  width: 100%;
  height: auto;
  padding-top: 60%;
}

._5050-text-container {
  flex: 1;
  justify-content: center;
  align-items: center;
  display: flex;
  position: relative;
}

._5050-text-container.fade_in_trigger {
  justify-content: flex-end;
  align-self: center;
}

.video-widget_grid_2_col {
  grid-column-gap: 40px;
  grid-row-gap: 40px;
  grid-template-rows: auto;
  width: 100%;
  max-width: 100%;
}

._5050-lottie-container {
  justify-content: center;
  align-items: center;
  width: 100%;
  display: flex;
  position: relative;
}

.video-wrapper-lrg {
  border-radius: 1px;
  width: 100%;
  position: relative;
}

.grid-layout {
  grid-column-gap: var(--grids--grid-gutter-md);
  grid-row-gap: var(--grids--grid-gutter-md);
  grid-template-rows: auto;
  grid-template-columns: 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr;
  width: 100%;
}

.grid-01-image-01 {
  z-index: 2;
  margin-top: 24%;
  position: relative;
}

.grid-01-image-02 {
  position: relative;
}

.grid-01-image-03 {
  z-index: 1;
  margin-top: 140%;
  position: relative;
}

.grid-02-image-03 {
  z-index: 3;
  margin-top: 185%;
  position: relative;
}

.grid-01-image-05 {
  z-index: 3;
  margin-top: 350%;
  position: relative;
}

.grid-layout-wrapper-black {
  padding-top: var(--spacers--spacer-x-lrg);
  padding-bottom: var(--spacers--spacer-x-lrg);
  background-color: #1a1a1a;
}

.grid-02-image-01 {
  z-index: 2;
  margin-top: 0%;
  position: relative;
}

.grid-02-image-02 {
  z-index: 1;
  margin-top: 80%;
  position: relative;
}

.grid-01-image-04 {
  z-index: 3;
  margin-top: 192%;
  position: relative;
}

.lottie {
  width: 100%;
}

.video {
  width: 100%;
  max-width: 100%;
}

.video-2-col {
  grid-column-gap: var(--grids--grid-gutter-md);
  grid-row-gap: var(--grids--grid-gutter-md);
  justify-content: center;
  align-items: center;
  width: 100%;
  min-width: 100%;
  display: flex;
}

.video-2-col-div {
  flex: 1;
  position: relative;
}

._5050-text-max-width {
  max-width: 500px;
}

.video-mask {
  z-index: 20;
  position: absolute;
  inset: 0%;
}

.services-grid-item {
  z-index: 2;
  position: relative;
}

.card--image {
  padding-top: 70%;
  position: relative;
}

.swiper-container {
  height: 100vh;
  overflow: hidden;
}

.swiper-slide {
  width: 100%;
  height: 100vh;
  overflow: hidden;
}

.swiper-slide.hide {
  display: none;
}

.swiper-slide--wrapper {
  color: var(--colour--white);
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 100%;
  display: flex;
  position: relative;
  overflow: hidden;
}

.image-desktop {
  z-index: 0;
  width: 110%;
  height: 110%;
  position: absolute;
  inset: -5% 0% 0% -5%;
}

.home--service--block {
  z-index: 100;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 100%;
  display: flex;
  position: relative;
}

.home--image--wrapper {
  padding-top: var(--image-ratios--portrait);
  width: 100%;
  position: relative;
}

.home--image--container {
  z-index: 2;
  width: 30vw;
  max-width: 550px;
  position: relative;
}

.home--image--container.hide {
  display: none;
}

.home--text--wrapper {
  z-index: 3;
  padding-right: var(--page-sizes--section-padding-lr);
  padding-left: var(--page-sizes--section-padding-lr);
  grid-column-gap: var(--spacers--spacer-tiny);
  grid-row-gap: var(--spacers--spacer-tiny);
  flex-flow: column;
  justify-content: center;
  align-items: flex-start;
  width: 35%;
  max-width: 520px;
  line-height: 1;
  display: flex;
  position: absolute;
  inset: 0% auto 0% 0%;
}

.flex--header {
  font-family: Para, sans-serif;
  font-size: clamp(3.5rem, 4vw, 6rem);
}

.flex--intro {
  font-size: clamp(1rem, 1.1vw, 1.2rem);
  font-weight: 300;
  line-height: 1.2;
}

.home--service--breadcrumb {
  left: var(--page-sizes--section-padding-lr);
  top: auto;
  right: auto;
  bottom: var(--spacers--spacer-med);
  z-index: 200;
  color: var(--colour--white);
  flex-flow: column;
  display: flex;
  position: fixed;
}

.home--service--breadcrumb--item {
  color: var(--colour--white);
  font-weight: 300;
}

.project--header {
  margin-bottom: var(--section-spacing--section-margin-med);
}

.project--inset--video--auto-ratio {
  margin-bottom: var(--section-spacing--section-margin-med);
  flex-direction: column;
  align-items: center;
  display: flex;
  overflow: visible;
}

.styling--images-pano {
  width: 100%;
  padding-top: 50%;
  position: relative;
}

.page-full-width--container {
  padding-right: var(--page-sizes--section-padding-lr);
  padding-left: var(--page-sizes--section-padding-lr);
  width: 100%;
  max-width: none;
}

.text--accent {
  color: red;
}

.page-max-width--no-padding--container {
  max-width: var(--page-sizes--page-max-width);
  width: 100%;
  position: static;
}

.text--background {
  color: #fff;
}

.styling--image--wrapper {
  grid-column-gap: var(--spacers--spacer-med);
  grid-row-gap: var(--spacers--spacer-med);
  flex-flow: column;
  width: 30vw;
  display: flex;
}

.text--secondary {
  color: #00f;
}

.styling--images-portrait {
  width: 100%;
  padding-top: 120%;
  position: relative;
}

.cover-image {
  object-fit: cover;
  align-self: center;
  width: 100%;
  min-width: 100%;
  height: 100%;
  min-height: 100%;
  display: inline-block;
  position: absolute;
  inset: 0%;
}

.cover-image.switch-01 {
  z-index: 2;
  opacity: 1;
}

.cover-image.switch-02 {
  z-index: 1;
}

.cover-image.swipe-01 {
  z-index: 2;
  opacity: 1;
  object-position: 100% 50%;
}

.cover-image.swipe-02 {
  z-index: 1;
  object-position: 0% 50%;
}

.cover-image.mob, .cover-image.mob-bg {
  display: none;
}

.page-max-width--container {
  max-width: var(--page-sizes--page-max-width);
  padding-right: var(--page-sizes--section-padding-lr);
  padding-left: var(--page-sizes--section-padding-lr);
  background-color: #fff0;
  width: 100%;
}

.page-max-width--container.right-no-margin {
  padding-right: 0;
}

.page-max-width--container.left-no-margin {
  padding-left: 0;
}

.page-full-width-no-padding--container {
  width: 100%;
  max-width: none;
}

.styling--colour {
  color: #fff;
  justify-content: center;
  align-items: center;
  width: 200px;
  height: 100px;
  display: flex;
}

.styling--colour.secondary {
  background-color: #00f;
}

.styling--colour.accent {
  background-color: red;
}

.styling--colour.primary {
  background-color: green;
}

.styling--div {
  background-color: #ddd;
  justify-content: center;
  align-items: center;
  min-height: 80px;
  display: flex;
}

.styling--container--wrapper {
  grid-column-gap: var(--spacers--spacer-med);
  grid-row-gap: var(--spacers--spacer-med);
  flex-flow: column;
  display: flex;
}

.text--primary {
  color: green;
}

.styling--colour--wrapper {
  grid-column-gap: var(--spacers--spacer-med);
  grid-row-gap: var(--spacers--spacer-med);
  flex-flow: column;
  display: flex;
}

.styling--section {
  grid-column-gap: 32px;
  grid-row-gap: 32px;
  flex-flow: column;
  display: flex;
}

.styling--images-square {
  flex: 0 auto;
  width: 100%;
  padding-top: 100%;
  position: relative;
}

.styling--text--wrapper {
  grid-column-gap: var(--spacers--spacer-med);
  grid-row-gap: var(--spacers--spacer-med);
  flex-flow: column;
  display: flex;
}

.styling--images-landscape {
  flex: 1;
  width: 100%;
  padding-top: 65%;
  position: relative;
}

.project--inset--video--fixed-ratio, .project--carousel {
  margin-bottom: var(--section-spacing--section-margin-med);
  flex-direction: column;
  align-items: center;
  display: flex;
  overflow: visible;
}

.project--text-block {
  margin-bottom: var(--section-spacing--section-margin-med);
}

.text-block--wrapper {
  display: flex;
}

.project--4-image--landscape, .project--2-image--landscape, .project--1-image--landscape {
  margin-bottom: var(--section-spacing--section-margin-med);
  flex-direction: column;
  align-items: center;
  display: flex;
  overflow: visible;
}

.project--grow--100vh--image {
  margin-bottom: var(--section-spacing--section-margin-med);
  flex-direction: column;
  align-items: center;
  display: flex;
  position: relative;
  overflow: visible;
}

.project--4-image--portrait, .project--2-image--portrait, .project--1-image--portrait, .project--4-image--wrap--auto, .project--3-image--portrait, .project--4-image--auto, .project--2-image--auto, .project--1-image--auto, .project--1-image--full-width--auto, .project--typography {
  margin-bottom: var(--section-spacing--section-margin-med);
  flex-direction: column;
  align-items: center;
  display: flex;
  overflow: visible;
}

.body-max-width--container {
  max-width: var(--page-sizes--body-max-width);
  padding-right: var(--page-sizes--section-padding-lr);
  padding-left: var(--page-sizes--section-padding-lr);
  background-color: #fff0;
  width: 100%;
}

.project--2-logos, .project--4-logos--wrap, .project--4-logos, .project--6-image--wrap--auto, .project--2-videos, .project--video-text, .project--video--pano--no-margin, .project--video--pano, .project--lottie, .project--lottie--text, .project--offset-layout--01, .project--offset-layout--02 {
  margin-bottom: var(--section-spacing--section-margin-med);
  flex-direction: column;
  align-items: center;
  display: flex;
  overflow: visible;
}

.social--icon {
  display: flex;
}

.project--2-image--overlap {
  margin-bottom: var(--section-spacing--section-margin-med);
}

._2-image--overlap--wrapper {
  margin-right: var(--page-sizes--section-padding-lr-offset-desk);
  justify-content: space-between;
  align-items: center;
  display: flex;
}

._2-image--overlap--wrapper.right {
  margin-right: 0;
  margin-left: var(--page-sizes--section-padding-lr-offset-desk);
}

._2-image--overlap--image--01 {
  z-index: 2;
  flex: 1;
  margin-right: -15%;
  position: relative;
}

._2-image--overlap--image {
  z-index: 1;
  flex: 1;
  position: relative;
}

._2-image--overlap--image.right {
  z-index: 2;
  margin-left: -15%;
}

._2-image--overlap--image.left {
  z-index: 2;
  margin-right: -15%;
}

.project--video-image--overlap {
  margin-bottom: var(--section-spacing--section-margin-med);
}

.project--mobile--scroller {
  margin-bottom: var(--section-spacing--section-margin-med);
  height: 200vh;
}

.mobile--scroller--camera {
  justify-content: flex-start;
  align-items: center;
  width: 100vw;
  height: 100vh;
  display: flex;
  position: sticky;
  top: 0;
  overflow: hidden;
}

.mobile--scroller--wrapper {
  padding-right: var(--spacers--spacer-small);
  padding-left: var(--spacers--spacer-small);
  grid-column-gap: var(--spacers--spacer-small);
  grid-row-gap: var(--spacers--spacer-small);
  justify-content: space-between;
  width: 200vw;
  min-width: 200vw;
  display: flex;
}

.mobile--scroller--item {
  flex: 1;
}

.mobile--scroller--image {
  background-color: var(--colour--crimson);
  border-radius: 10px;
  width: 100%;
  padding-top: 180%;
  position: relative;
  overflow: hidden;
}

.project--montage {
  margin-bottom: var(--section-spacing--section-margin-med);
}

.monatge--grid {
  grid-column-gap: var(--spacers--spacer-tiny);
  grid-row-gap: var(--spacers--spacer-tiny);
  grid-template-rows: 8vw 8vw 8vw 8vw 8vw 8vw 8vw 8vw 8vw 8vw 8vw;
  grid-template-columns: 1fr 1fr 1fr;
}

.montage--grid--item {
  position: relative;
}

.project--2-image--offset {
  margin-bottom: var(--section-spacing--section-margin-med);
}

._2-image--offset--wrapper {
  grid-column-gap: 10vw;
  grid-row-gap: 10vw;
  display: flex;
}

._2-image--offset--image {
  z-index: 2;
  flex: 1;
  position: relative;
}

._2-image--offset--image.offset {
  margin-top: 20%;
}

.page--wrapper {
  padding-top: var(--page-sizes--page-top-margin);
  padding-bottom: var(--page-sizes--section-padding-tb);
  grid-column-gap: var(--section-spacing--section-margin-sm);
  grid-row-gap: var(--section-spacing--section-margin-sm);
  flex-flow: column;
  min-height: 100vh;
  display: flex;
}

.page--wrapper.no-top-margin {
  padding-top: 0;
}

.text--column--grid {
  grid-column-gap: var(--grids--grid-gutter-lrg);
  grid-row-gap: var(--grids--grid-gutter-lrg);
  grid-template-rows: auto;
  grid-template-columns: 1fr 1fr 1fr 1fr;
}

.text--column--wrapper {
  display: flex;
}

.projects--header--wrapper {
  grid-column-gap: var(--spacers--spacer-small);
  grid-row-gap: var(--spacers--spacer-small);
  flex-flow: column;
  justify-content: space-between;
  display: flex;
  position: relative;
}

.client-filter--wrapper {
  grid-column-gap: var(--spacers--spacer-small);
  grid-row-gap: var(--spacers--spacer-small);
  flex-flow: row;
  display: flex;
}

.filter--wrapper {
  grid-column-gap: var(--spacers--spacer-small);
  grid-row-gap: var(--spacers--spacer-small);
  flex: 1;
  display: flex;
}

.filter--wrapper.service {
  display: none;
}

.dropdown {
  flex: 1;
  display: flex;
}

.dropdown-toggle {
  border-bottom: 1px solid #000;
  flex: 1;
  justify-content: space-between;
  align-items: flex-start;
  min-width: 200px;
  padding: 0 0 5px;
  display: flex;
}

.filter--arrow--wrapper {
  width: 8px;
  margin-top: 5px;
  display: flex;
}

.filter--arrow {
  width: 100%;
  display: block;
  transform: rotate(90deg);
}

.service--header {
  margin-bottom: var(--section-spacing--section-margin-med);
}

.services--header--container {
  min-height: 100vh;
  display: flex;
}

.services--header--image {
  width: 50%;
  position: relative;
}

.services--header--text {
  flex-flow: column;
  justify-content: center;
  align-items: center;
  width: 50%;
  display: flex;
}

.services--header--header--container {
  max-width: var(--page-sizes--project-header-max-width);
  margin-bottom: var(--spacers--spacer-med);
  align-items: flex-end;
  display: flex;
}

.card--sub-header {
  font-style: italic;
}

.project--more {
  margin-top: var(--section-spacing--section-margin-lrg);
  margin-bottom: var(--section-spacing--section-margin-med);
}

.more--wrapper {
  grid-column-gap: var(--spacers--spacer-lrg);
  grid-row-gap: var(--spacers--spacer-lrg);
  border-top: 1px solid #000;
  flex-flow: column;
  justify-content: flex-start;
  align-items: stretch;
  padding-top: 20px;
  display: flex;
}

.more--header--wrapper {
  text-align: center;
}

.project--image--switch {
  margin-bottom: var(--section-spacing--section-margin-med);
}

.image--switch--camera {
  height: 100vh;
  min-height: 700px;
  display: flex;
  position: sticky;
  top: 0;
}

.image--switch--sticky {
  height: 300vh;
}

.project--image--swipe {
  margin-bottom: var(--section-spacing--section-margin-med);
}

.swipe--image--container {
  width: 100vw;
  min-width: 100vw;
  position: absolute;
  inset: 0%;
}

.swipe--image--mask {
  width: 100vw;
  position: absolute;
  inset: 0% auto 0% 0%;
  overflow: hidden;
}

.image--swipe--sticky {
  height: 400vh;
}

.project--2-image--lrg-sm {
  margin-bottom: var(--section-spacing--section-margin-med);
}

._2-image--lrg-sm--wrapper {
  grid-column-gap: 10vw;
  grid-row-gap: 10vw;
  display: flex;
}

._2-image--lrg-sm--lrg-image {
  z-index: 2;
  flex: 1;
  position: relative;
}

._2-image--lrg-sm--sm-image {
  z-index: 2;
  justify-content: flex-start;
  align-items: flex-end;
  width: 30%;
  display: flex;
  position: relative;
}

.video--header {
  margin-bottom: var(--section-spacing--section-margin-med);
}

.film--header--container {
  padding-top: var(--page-sizes--page-top-margin);
  display: flex;
}

.video--header--text {
  padding-right: var(--spacers--spacer-lrg);
  padding-left: var(--page-sizes--section-padding-lr);
  grid-column-gap: var(--spacers--spacer-med);
  grid-row-gap: var(--spacers--spacer-med);
  flex-flow: row;
  justify-content: space-between;
  align-items: flex-start;
  width: 100%;
  display: flex;
}

.video--header--header--container-copy {
  max-width: var(--page-sizes--project-header-max-width);
  align-items: flex-end;
  display: flex;
}

.project--icons {
  margin-bottom: var(--section-spacing--section-margin-med);
  flex-direction: column;
  align-items: center;
  display: flex;
  overflow: visible;
}

.icons--wrapper {
  grid-column-gap: var(--spacers--spacer-lrg);
  grid-row-gap: var(--spacers--spacer-lrg);
  flex-flow: wrap;
  justify-content: space-between;
  align-items: flex-start;
  display: flex;
}

.icon--item {
  flex: 1;
  min-width: 80px;
  max-width: 100px;
}

.icon--img {
  width: 100%;
  padding-top: 100%;
  position: relative;
  overflow: hidden;
}

.contain-image {
  object-fit: contain;
  align-self: center;
  width: 100%;
  min-width: 100%;
  height: 100%;
  min-height: 100%;
  display: inline-block;
  position: absolute;
  inset: 0%;
}

.code-embed {
  background-color: var(--colour--transparency);
  height: 100vh;
}

.text-block {
  font-style: italic;
  font-weight: 300;
}

.project--text-image {
  margin-bottom: var(--section-spacing--section-margin-med);
}

.text-image--wrapper {
  justify-content: center;
  align-items: center;
  display: flex;
}

.text-image--text--wrapper {
  padding: var(--page-sizes--section-padding-tb) var(--page-sizes--section-padding-lr);
  justify-content: center;
  align-items: center;
  width: 50%;
  display: flex;
}

.text-image--text--wrapper.reverse {
  order: 9999;
}

.text-image--image--wrapper {
  width: 50%;
  position: relative;
}

.text-image--image {
  padding-top: var(--image-ratios--landscape);
  width: 100%;
  position: relative;
}

.project--tech-stack {
  margin-bottom: var(--section-spacing--section-margin-med);
}

.tech-stack--wrapper {
  grid-column-gap: var(--section-spacing--section-margin-sm);
  grid-row-gap: var(--section-spacing--section-margin-sm);
  flex-flow: column;
  justify-content: flex-start;
  align-items: center;
  display: flex;
}

.tech-stack--grid {
  grid-column-gap: var(--grids--grid-gutter-md);
  grid-row-gap: var(--grids--grid-gutter-md);
  grid-template-rows: auto;
  grid-template-columns: 1fr 1fr 1fr;
  width: 100%;
}

.tech-stack--column {
  padding-top: var(--spacers--spacer-small);
  grid-column-gap: var(--spacers--spacer-small);
  grid-row-gap: var(--spacers--spacer-small);
  border-top: 1px solid var(--colour--grey);
  flex-flow: column;
  display: flex;
}

.list {
  margin-bottom: 0;
  padding-left: 0;
}

.list-item {
  margin-left: 12px;
}

.project--3-lotties {
  margin-bottom: var(--section-spacing--section-margin-med);
  flex-direction: column;
  align-items: center;
  display: flex;
  overflow: visible;
}

._3-lottie--grid {
  grid-column-gap: var(--grids--grid-gutter-lrg);
  grid-row-gap: var(--grids--grid-gutter-lrg);
  grid-template-rows: auto;
  grid-template-columns: 1fr 1fr 1fr;
}

.lottie-loop {
  width: 100%;
}

.project--testimonial {
  margin-bottom: var(--section-spacing--section-margin-med);
}

.testimonial--wrapper {
  text-align: center;
  justify-content: center;
  align-items: center;
  display: flex;
}

.testimonial--container {
  grid-column-gap: var(--spacers--spacer-small);
  grid-row-gap: var(--spacers--spacer-small);
  flex-flow: column;
  max-width: 800px;
  display: flex;
}

.services--header--text--wrapper {
  grid-column-gap: var(--spacers--spacer-med);
  grid-row-gap: var(--spacers--spacer-med);
  flex-flow: column;
  display: flex;
}

.text-image--text--container {
  max-width: 600px;
}

.project--mobile--grid {
  margin-bottom: var(--section-spacing--section-margin-med);
}

.mobile--grid--wrapper {
  grid-column-gap: var(--grids--grid-gutter-lrg);
  grid-row-gap: var(--grids--grid-gutter-lrg);
  justify-content: space-between;
  align-items: center;
  display: flex;
}

.mobile--grid--column {
  grid-column-gap: var(--grids--grid-gutter-lrg);
  grid-row-gap: var(--grids--grid-gutter-lrg);
  flex-flow: column;
  flex: 1;
  max-width: 320px;
  display: flex;
}

.mobile--grid--item {
  outline-offset: 0px;
  border: 6px solid #000;
  border-radius: 40px;
  outline: 3px solid #707070;
  width: 100%;
  padding-top: 200%;
  position: relative;
  overflow: clip;
}

.project--offset-layout--03 {
  margin-bottom: var(--section-spacing--section-margin-med);
  flex-direction: column;
  align-items: center;
  display: flex;
  overflow: visible;
}

.grid-03-image-03 {
  z-index: 3;
  justify-content: center;
  align-items: center;
  display: flex;
  position: relative;
}

.grid-03-image-01 {
  z-index: 2;
  margin-top: 40%;
  position: relative;
}

.device--wrapper {
  overflow: hidden;
}

.book-gutter--wrapper {
  flex-flow: column;
  justify-content: center;
  align-items: center;
  display: flex;
  position: absolute;
  inset: 0%;
}

.book-gutter {
  mix-blend-mode: multiply;
  flex: 1;
  justify-content: center;
  align-items: stretch;
  width: 30%;
  display: flex;
}

.book-gutter--shadow {
  opacity: .08;
  background-image: linear-gradient(270deg, #000, #0000);
  width: 100%;
}

.book-gutter--shadow.flip {
  opacity: 0;
  transform: rotate(180deg);
}

.video-background-small {
  z-index: 1;
  justify-content: center;
  align-items: center;
  max-height: 100vh;
  display: flex;
  position: absolute;
  inset: 0%;
  overflow: hidden;
}

.video-background-small.hide {
  display: flex;
}

.video--background--wrapper {
  z-index: -999;
  width: 1000%;
  height: 100%;
  padding-bottom: 56.25%;
  position: absolute;
}

.video-background--embed {
  opacity: 1;
  width: 100%;
  height: 100%;
  position: absolute;
  inset: 0%;
}

.project--header--mob {
  margin-bottom: var(--section-spacing--section-margin-med);
  display: none;
}

.header--details {
  grid-column-gap: var(--spacers--spacer-lrg);
  grid-row-gap: var(--spacers--spacer-lrg);
  display: flex;
}

.div-block-50 {
  margin-bottom: var(--section-spacing--section-margin-med);
  background-color: var(--colour--crimson);
  height: 200vh;
}

.image-desktop-tint {
  opacity: .1;
  background-color: #000;
  display: none;
  position: absolute;
  inset: 0%;
}

.image-desktop-tint.top {
  z-index: 3;
  opacity: .3;
}

.service-filter--wrapper {
  grid-column-gap: var(--spacers--spacer-small);
  grid-row-gap: var(--spacers--spacer-small);
  display: flex;
}

.service-filter--btn {
  color: var(--colour--black);
}

.service-filter--btn.non-active {
  color: #b8b8b8;
}

.divider-line--vert {
  border-left: 1px solid #000;
  width: 0;
  height: 18px;
}

.projects--filter--wrapper {
  grid-column-gap: var(--spacers--spacer-med);
  grid-row-gap: var(--spacers--spacer-med);
  justify-content: space-between;
  display: flex;
}

.reset-filters--wrapper {
  grid-column-gap: var(--spacers--spacer-tiny);
  grid-row-gap: var(--spacers--spacer-tiny);
  color: var(--colour--crimson);
  justify-content: flex-start;
  align-items: center;
  display: flex;
  position: absolute;
  inset: auto auto -38px 0%;
}

.reset-filters--icon {
  border: 1px solid var(--colour--crimson);
  border-radius: 50%;
  justify-content: center;
  align-items: center;
  width: 20px;
  min-width: 20px;
  height: 20px;
  min-height: 20px;
  display: flex;
  position: relative;
}

.reset-filters--line {
  border-bottom: 1px solid var(--colour--crimson);
  width: 60%;
  position: absolute;
  inset: auto;
  transform: rotate(45deg);
}

.reset-filters--line.flip {
  transform-style: preserve-3d;
  transform: rotateX(0)rotateY(180deg)rotateZ(0)rotate(45deg);
}

.burger--icon {
  position: relative;
}

.services--offset--wrapper {
  grid-column-gap: 10vw;
  grid-row-gap: 10vw;
  flex-flow: wrap;
  display: flex;
}

.services--image {
  z-index: 2;
  flex: 1;
  width: 100%;
  padding-top: 130%;
  position: relative;
}

.grid {
  grid-column-gap: 10vw;
  grid-row-gap: 5vw;
  grid-template-rows: 1fr 1fr 1fr 1fr 1fr 1fr;
  width: 100%;
}

.services--intro {
  display: flex;
}

.services--text {
  grid-column-gap: var(--spacers--spacer-tiny);
  grid-row-gap: var(--spacers--spacer-tiny);
  flex-flow: column;
  display: flex;
}

.services--card {
  grid-column-gap: var(--spacers--spacer-small);
  grid-row-gap: var(--spacers--spacer-small);
  flex-flow: column;
  display: flex;
}

.project--header--text--mask {
  margin-top: -10px;
  margin-bottom: -5px;
  margin-left: -5px;
  padding: 10px 5px 5px;
  overflow: clip;
}

.div-block-51 {
  max-width: var(--page-sizes--project-header-max-width);
  grid-column-gap: var(--spacers--spacer-small);
  grid-row-gap: var(--spacers--spacer-small);
  flex-flow: column;
  display: flex;
}

.contact--header--image {
  width: 100%;
  padding-top: 35%;
  position: relative;
}

.contact-page--wrapper {
  margin-bottom: var(--section-spacing--section-margin-sm);
  grid-column-gap: var(--section-spacing--section-margin-sm);
  grid-row-gap: var(--section-spacing--section-margin-sm);
  flex-flow: column;
  display: flex;
}

.contact--text-block--wrapper {
  grid-column-gap: var(--section-spacing--section-margin-sm);
  grid-row-gap: var(--section-spacing--section-margin-sm);
  flex-flow: column;
  display: flex;
}

.contact--text-block--wrapper.no-top-margin {
  padding-top: 0;
}

.header-block--wrapper {
  grid-column-gap: var(--spacers--spacer-tiny);
  grid-row-gap: var(--spacers--spacer-tiny);
  flex-flow: column;
  width: 47%;
  display: flex;
}

.grid-03-image-02 {
  position: relative;
}

.home--slider {
  height: 100%;
}

.slide-nav {
  display: none;
}

.home-bg-tint-bottom--mob {
  z-index: 3;
  opacity: 1;
  mix-blend-mode: multiply;
  background-image: linear-gradient(233deg, #0000 50%, #000000b3);
  display: none;
  position: absolute;
  inset: 0%;
}

.home-bg-tint-bottom--mob.top {
  z-index: 3;
  opacity: .3;
}

.home-bg-tint-top {
  z-index: 3;
  background-image: linear-gradient(#0003, #0000);
  height: 100vh;
  position: absolute;
  inset: 0% 0% auto;
}

.left-arrow-4, .right-arrow-4 {
  display: none;
}

.home--curser {
  z-index: 100;
  -webkit-backdrop-filter: blur(15px);
  backdrop-filter: blur(15px);
  color: var(--colour--white);
  background-color: #97979766;
  border-radius: 50%;
  justify-content: center;
  align-items: center;
  width: 80px;
  min-width: 80px;
  height: 80px;
  min-height: 80px;
  display: flex;
  position: absolute;
  inset: 0% auto auto 0%;
}

.home--curser.hide {
  display: none;
}

.project--inset--video--auto-ratio-copy {
  margin-bottom: var(--section-spacing--section-margin-med);
  flex-direction: column;
  align-items: center;
  display: flex;
  overflow: visible;
}

.home-bg-tint-bottom--desk {
  z-index: 3;
  opacity: 1;
  mix-blend-mode: multiply;
  background-image: linear-gradient(233deg, #0000 50%, #000000b3);
  display: flex;
  position: absolute;
  inset: 0%;
}

.home-bg-tint-bottom--desk.top {
  z-index: 3;
  opacity: .3;
}

@media screen and (max-width: 991px) {
  body {
    --colour--white-smoke: #f8f8f8;
    --fonts--body-font: Graphik, sans-serif;
    --colour--black: black;
    --fonts--header-font: Para, sans-serif;
    --font-sizes--h1: 3.5rem;
    --font-sizes--h2: 2.5rem;
    --font-sizes--h3: 1.5rem;
    --font-sizes--h4: 1.2rem;
    --font-sizes--h5: .8rem;
    --font-sizes--h6: .7rem;
    --colour--crimson: #ff2651;
    --colour--white: white;
    --colour--grey: #7e7e7e;
    --spacers--spacer-tiny: 8px;
    --spacers--spacer-small: 16px;
    --spacers--spacer-med: 32px;
    --white-smoke-2\<deleted\|variable-aee5149a\>: #f8f8f880;
    --colour--charcoal: #1b1b1b;
    --grids--grid-gutter-md: 24px;
    --image-ratios--landscape: 65%;
    --image-ratios--portrait: 130%;
    --page-sizes--section-padding-lr: 64px;
    --page-sizes--project-header-max-width: 500px;
    --page-sizes--section-padding-tb: 64px;
    --colour--transparency: #fff0;
    --page-sizes--page-top-margin: 120px;
    --image-ratios--square: 100%;
    --spacers--spacer-x-lrg: 128px;
    --font-sizes--body: .9rem;
    --section-spacing--section-margin-med: 96px;
    --page-sizes--page-max-width: 1600px;
    --page-sizes--body-max-width: 1000px;
    --page-sizes--section-padding-lr-offset-desk: 0px;
    --section-spacing--section-margin-sm: 64px;
    --grids--grid-gutter-lrg: 64px;
    --section-spacing--section-margin-lrg: 128px;
    --spacers--spacer-lrg: 64px;
    --page-sizes--section-padding-lr-offset-all: -64px;
    --image-ratios--pano: 55%;
    --nav-offset: -60px;
  }

  .navdivmob {
    padding-top: 300px;
  }

  .spacerdiv60._30ipad {
    width: 30px;
    min-width: 30px;
    height: 30px;
    min-height: 30px;
  }

  .project--header--image {
    background-color: var(--colour--black);
    display: none;
  }

  .imageheader {
    opacity: 1;
  }

  .divwebimage {
    padding-top: 30px;
    padding-left: 60px;
    padding-right: 60px;
  }

  .griditem {
    width: 100%;
  }

  .griditem._33 {
    width: 100%;
    padding-bottom: 40px;
  }

  .link-block {
    display: block;
  }

  ._60all, .mask-2 {
    padding-left: 60px;
    padding-right: 60px;
  }

  .full_image_grow_container {
    height: auto;
  }

  .image_boarder {
    padding-left: 60px;
    padding-right: 60px;
  }

  .widget_grid_2_col {
    grid-column-gap: 20px;
    grid-row-gap: 20px;
  }

  .widget_grid_4_col {
    grid-template-columns: 1fr 1fr;
  }

  .text-block--container {
    width: 100%;
  }

  .project--header--header--container {
    padding-bottom: 60px;
  }

  .project--header--intro--wrapper {
    padding-left: 60px;
    padding-right: 60px;
  }

  .nav_wrapper {
    justify-content: space-between;
    align-items: center;
  }

  .nav_item_new {
    color: var(--colour--white);
    margin-bottom: 10px;
    margin-left: 0;
    margin-right: 0;
    padding-top: 0;
    padding-bottom: 0;
    padding-left: 0;
    font-size: 27px;
    font-weight: 300;
    line-height: 32px;
  }

  .nav_item_new:hover, .nav_item_new.w--current {
    color: var(--colour--black);
  }

  .image_grow {
    height: 65vw;
  }

  .full_image_grow_boarder {
    height: auto;
  }

  .cards--grid {
    grid-row-gap: 40px;
    grid-template-columns: 1fr 1fr;
  }

  .image-13 {
    filter: invert();
    display: block;
  }

  .nav-menu-2 {
    z-index: 0;
    padding-top: var(--page-sizes--page-top-margin);
    padding-left: var(--page-sizes--section-padding-lr);
    background-color: #ff2651ed;
    width: 70vw;
    height: 100vh;
    inset: 0% 0% 0% auto;
  }

  .menu-button-2 {
    background-color: #0000;
    flex-flow: row;
    justify-content: center;
    align-items: center;
    height: 60px;
    margin-right: -20px;
    padding: 22px 20px;
    display: flex;
  }

  .menu-button-2.w--open {
    z-index: 2;
    background-color: #0000;
  }

  .navline {
    border-bottom-color: var(--colour--white-smoke);
    width: 100px;
    padding-top: 25px;
    display: none;
  }

  .nav_item_wrapper {
    flex-direction: column;
    align-items: flex-start;
    display: flex;
  }

  .nav_menu_wrapper {
    display: flex;
  }

  .inset-video--wrapper {
    padding-top: 100px;
    padding-bottom: 100px;
  }

  .project--header--image--mob {
    padding-top: var(--image-ratios--landscape);
    width: 100%;
    position: relative;
  }

  ._5050-text-container {
    max-width: 500px;
  }

  ._5050-text-container.fade_in_trigger {
    align-self: flex-start;
  }

  .video-widget_grid_2_col {
    grid-template-columns: 1fr;
  }

  .grid-layout {
    grid-template-rows: auto auto;
    grid-template-columns: 1fr;
  }

  .grid-01-image-01 {
    margin-top: 0%;
  }

  .grid-01-image-02, .grid-01-image-03 {
    display: none;
  }

  .grid-02-image-03 {
    margin-top: 0%;
  }

  .grid-01-image-05 {
    display: none;
  }

  .grid-layout-wrapper-black {
    padding-right: var(--page-sizes--section-padding-lr);
    padding-left: var(--page-sizes--section-padding-lr);
  }

  .grid-02-image-01, .grid-02-image-02, .grid-01-image-04 {
    margin-top: 0%;
  }

  .video-2-col {
    flex-direction: column;
    align-items: flex-start;
  }

  .video-2-col-div {
    width: 100%;
  }

  .services-grid-item {
    margin-top: 0;
  }

  .swiper-slide--wrapper {
    justify-content: center;
    align-items: center;
  }

  .image-desktop {
    z-index: 2;
  }

  .home--image--container {
    width: 45vw;
    display: none;
  }

  .home--text--wrapper {
    width: auto;
    inset: auto auto 180px 0%;
  }

  .flex--header {
    font-size: 3rem;
  }

  .flex--intro {
    font-size: var(--font-sizes--body);
  }

  .project--header {
    display: none;
  }

  .page-full-width--container {
    max-width: none;
  }

  .cover-image.desk {
    display: none;
  }

  .cover-image.mob {
    display: block;
  }

  .cover-image.desk-bg {
    display: none;
  }

  .cover-image.mob-bg {
    display: block;
  }

  .page-max-width--container {
    max-width: none;
  }

  .body-max-width--container {
    max-width: none;
    padding-left: 64px;
    padding-right: 64px;
  }

  .services--header--container {
    flex-flow: column;
    min-height: auto;
  }

  .services--header--image {
    padding-top: var(--image-ratios--landscape);
    order: -9999;
    width: 100%;
  }

  .services--header--text {
    padding-top: var(--page-sizes--section-padding-tb);
    justify-content: center;
    align-items: flex-start;
    width: 100%;
  }

  .services--header--header--container {
    margin-bottom: var(--spacers--spacer-med);
  }

  .video--header--text {
    grid-column-gap: var(--spacers--spacer-med);
    grid-row-gap: var(--spacers--spacer-med);
    flex-flow: column;
  }

  .icons--wrapper {
    flex-flow: wrap;
    justify-content: center;
    align-items: flex-start;
  }

  .text-image--wrapper {
    flex-flow: column;
  }

  .text-image--text--wrapper {
    justify-content: flex-start;
    align-items: center;
    width: 100%;
    padding-bottom: 0;
  }

  .text-image--image--wrapper {
    order: -9999;
    width: 100%;
  }

  .tech-stack--grid {
    grid-template-columns: 1fr 1fr 1fr;
  }

  .mobile--grid--item {
    border-radius: 20px;
  }

  .grid-03-image-01 {
    margin-top: 0%;
  }

  .video-background--embed {
    z-index: 1;
  }

  .project--header--mob {
    display: block;
  }

  .project--header--mob--wrapper {
    padding-top: var(--nav-height);
    flex-flow: column;
    display: flex;
  }

  .project--header--text--mob {
    padding-top: var(--page-sizes--section-padding-tb);
    grid-column-gap: var(--spacers--spacer-med);
    grid-row-gap: var(--spacers--spacer-med);
    flex-flow: column;
    display: flex;
  }

  .header--details {
    grid-column-gap: var(--spacers--spacer-lrg);
    grid-row-gap: var(--spacers--spacer-lrg);
    justify-content: flex-start;
    display: flex;
  }

  .service-filter--wrapper {
    grid-column-gap: 13px;
    grid-row-gap: 13px;
  }

  .burger--icon {
    flex-flow: column;
    justify-content: space-between;
    width: 25px;
    min-width: 25px;
    height: 16px;
    min-height: 16px;
    display: flex;
  }

  .buger--line {
    border-top: 1px solid #000;
    width: 100%;
    height: 0;
  }

  .buger--line.desk {
    border-top-color: var(--colour--white);
  }

  .header-block--wrapper {
    max-width: var(--page-sizes--project-header-max-width);
    width: 100%;
  }

  .grid-03-image-02 {
    z-index: 6;
  }

  .home-bg-tint-bottom--mob, .home-bg-tint-bottom--desk {
    background-image: linear-gradient(233deg, #0000 65%, #000000b3);
    display: flex;
  }
}

@media screen and (max-width: 767px) {
  body {
    --colour--white-smoke: #f8f8f8;
    --fonts--body-font: Graphik, sans-serif;
    --colour--black: black;
    --fonts--header-font: Para, sans-serif;
    --font-sizes--h1: 3rem;
    --font-sizes--h2: 2.5rem;
    --font-sizes--h3: 1.5rem;
    --font-sizes--h4: 1.2rem;
    --font-sizes--h5: .8rem;
    --font-sizes--h6: .7rem;
    --colour--crimson: #ff2651;
    --colour--white: white;
    --colour--grey: #7e7e7e;
    --spacers--spacer-tiny: 8px;
    --spacers--spacer-small: 16px;
    --spacers--spacer-med: 32px;
    --white-smoke-2\<deleted\|variable-aee5149a\>: #f8f8f880;
    --colour--charcoal: #1b1b1b;
    --grids--grid-gutter-md: 24px;
    --image-ratios--landscape: 65%;
    --image-ratios--portrait: 130%;
    --page-sizes--section-padding-lr: 64px;
    --page-sizes--project-header-max-width: 500px;
    --page-sizes--section-padding-tb: 64px;
    --colour--transparency: #fff0;
    --page-sizes--page-top-margin: 120px;
    --image-ratios--square: 100%;
    --spacers--spacer-x-lrg: 128px;
    --font-sizes--body: .9rem;
    --section-spacing--section-margin-med: 64px;
    --page-sizes--page-max-width: 1600px;
    --page-sizes--body-max-width: 1000px;
    --page-sizes--section-padding-lr-offset-desk: 0px;
    --section-spacing--section-margin-sm: 64px;
    --grids--grid-gutter-lrg: 64px;
    --section-spacing--section-margin-lrg: 96px;
    --spacers--spacer-lrg: 64px;
    --page-sizes--section-padding-lr-offset-all: -64px;
    --image-ratios--pano: 55%;
    --nav-offset: -60px;
  }

  h2 {
    font-size: var(--font-sizes--h2);
  }

  h3 {
    font-size: var(--font-sizes--h3);
  }

  h4 {
    font-size: var(--font-sizes--h4);
  }

  .blackbg.grey {
    display: flex;
  }

  .container {
    padding-left: 0;
    padding-right: 0;
  }

  .navdivdesk {
    padding-left: 20px;
    padding-right: 0;
  }

  .nav-menu {
    height: 100vh;
    min-height: 100vh;
    overflow: visible;
  }

  .nav-item, .nav-item.w--current {
    margin-left: 20px;
  }

  .navdivmob {
    justify-content: flex-start;
    height: 100vh;
    padding-top: 150px;
    overflow: scroll;
  }

  .spacerdiv40._30mob {
    height: 30px;
  }

  .navtext {
    font-size: 45px;
    line-height: 27px;
  }

  .brand {
    padding-left: 0;
  }

  .navicon {
    width: 25px;
  }

  .project--header--image {
    display: flex;
  }

  .divwebimage {
    padding-top: 20px;
    padding-left: 40px;
    padding-right: 40px;
  }

  .social--link--wrapper {
    flex-flow: column;
    align-items: flex-start;
  }

  .tscs--container {
    flex-direction: column;
    align-items: flex-start;
  }

  .spacer15 {
    width: 5px;
    min-width: 5px;
    height: 5px;
    min-height: 5px;
  }

  .link-block {
    grid-template-rows: auto auto;
    grid-template-columns: 1fr 1fr;
    grid-auto-columns: 1fr;
    display: block;
  }

  ._60all {
    padding: 60px 30px;
  }

  .navquicklinks {
    padding-left: 20px;
  }

  .div-block-49 {
    width: 150px;
    min-width: 150px;
    height: 150px;
    min-height: 150px;
  }

  .mask-2 {
    padding: 40px;
  }

  .image_boarder {
    padding-left: 30px;
    padding-right: 30px;
  }

  .widget_grid_2_col {
    grid-row-gap: 20px;
  }

  .widget_grid_4_col {
    grid-template-columns: 1fr 1fr;
  }

  .project--header--header--container {
    padding-bottom: 30px;
  }

  .project--header--intro--wrapper {
    padding-left: 30px;
    padding-right: 30px;
  }

  .cards--grid {
    grid-template-columns: 1fr;
  }

  .brand-2 {
    padding-left: 0;
  }

  .inset-video--wrapper {
    padding: 60px 30px;
  }

  ._5050-text-container.fade_in_trigger {
    max-width: 100%;
  }

  .video-2-col {
    align-items: flex-start;
  }

  .project--inset--video--auto-ratio, .project--inset--video--fixed-ratio, .project--carousel, .project--4-image--landscape, .project--2-image--landscape, .project--1-image--landscape, .project--grow--100vh--image, .project--4-image--portrait, .project--2-image--portrait, .project--1-image--portrait, .project--4-image--wrap--auto, .project--3-image--portrait, .project--4-image--auto, .project--2-image--auto, .project--1-image--auto, .project--1-image--full-width--auto, .project--typography, .project--2-logos, .project--4-logos--wrap, .project--4-logos, .project--6-image--wrap--auto, .project--2-videos, .project--video-text, .project--video--pano--no-margin, .project--video--pano, .project--lottie, .project--lottie--text, .project--offset-layout--01, .project--offset-layout--02 {
    margin-top: 80px;
    margin-bottom: 80px;
  }

  ._2-image--overlap--wrapper {
    grid-column-gap: var(--spacers--spacer-med);
    grid-row-gap: var(--spacers--spacer-med);
    flex-flow: column;
    justify-content: flex-start;
  }

  ._2-image--overlap--image--01 {
    width: 100%;
    margin-right: 0%;
  }

  ._2-image--overlap--image.right {
    margin-left: 0%;
  }

  ._2-image--overlap--image.left {
    margin-right: 0%;
  }

  ._2-image--offset--wrapper {
    grid-column-gap: var(--spacers--spacer-med);
    grid-row-gap: var(--spacers--spacer-med);
    flex-flow: column;
  }

  ._2-image--offset--image.offset {
    margin-top: 0%;
  }

  .text--column--grid {
    grid-template-columns: 1fr 1fr;
  }

  .client-filter--wrapper {
    grid-column-gap: var(--spacers--spacer-small);
    grid-row-gap: var(--spacers--spacer-small);
    flex-flow: wrap;
    width: 100%;
  }

  .filter--wrapper.service {
    display: flex;
  }

  .dropdown-toggle {
    min-width: 150px;
  }

  .project--icons {
    margin-top: 80px;
    margin-bottom: 80px;
  }

  .tech-stack--grid {
    grid-template-columns: 1fr;
  }

  .project--3-lotties {
    margin-top: 80px;
    margin-bottom: 80px;
  }

  ._3-lottie--grid {
    grid-column-gap: var(--spacers--spacer-lrg);
    grid-row-gap: var(--spacers--spacer-lrg);
    grid-template-columns: 1fr;
  }

  .lottie-loop {
    height: auto;
  }

  .mobile--grid--wrapper {
    flex-flow: column;
  }

  .mobile--grid--column {
    width: 60%;
  }

  .project--offset-layout--03 {
    margin-top: 80px;
    margin-bottom: 80px;
  }

  .service-filter--wrapper {
    display: none;
  }

  .projects--filter--wrapper {
    flex-flow: column;
    justify-content: space-between;
    align-items: flex-start;
  }

  .reset-filters--wrapper {
    bottom: -41px;
  }

  .grid {
    grid-column-gap: var(--grids--grid-gutter-lrg);
    grid-row-gap: var(--grids--grid-gutter-lrg);
    grid-template-rows: auto 1fr 1fr 1fr 1fr 1fr;
    grid-template-columns: 1fr;
  }

  .contact--header--image {
    padding-top: 55%;
  }

  .header-block--wrapper {
    grid-column-gap: var(--spacers--spacer-tiny);
    grid-row-gap: var(--spacers--spacer-tiny);
    flex-flow: column;
    display: flex;
  }

  .project--inset--video--auto-ratio-copy {
    margin-top: 80px;
    margin-bottom: 80px;
  }
}

@media screen and (max-width: 479px) {
  body {
    --colour--white-smoke: #f8f8f8;
    --fonts--body-font: Graphik, sans-serif;
    --colour--black: black;
    --fonts--header-font: Para, sans-serif;
    --font-sizes--h1: 2.5rem;
    --font-sizes--h2: 2rem;
    --font-sizes--h3: 1.5rem;
    --font-sizes--h4: 1.2rem;
    --font-sizes--h5: .8rem;
    --font-sizes--h6: .7rem;
    --colour--crimson: #ff2651;
    --colour--white: white;
    --colour--grey: #7e7e7e;
    --spacers--spacer-tiny: 8px;
    --spacers--spacer-small: 16px;
    --spacers--spacer-med: 32px;
    --white-smoke-2\<deleted\|variable-aee5149a\>: #f8f8f880;
    --colour--charcoal: #1b1b1b;
    --grids--grid-gutter-md: 24px;
    --image-ratios--landscape: 65%;
    --image-ratios--portrait: 130%;
    --page-sizes--section-padding-lr: 32px;
    --page-sizes--project-header-max-width: 500px;
    --page-sizes--section-padding-tb: 64px;
    --colour--transparency: #fff0;
    --page-sizes--page-top-margin: 120px;
    --image-ratios--square: 100%;
    --spacers--spacer-x-lrg: 128px;
    --font-sizes--body: .9rem;
    --section-spacing--section-margin-med: 64px;
    --page-sizes--page-max-width: 1600px;
    --page-sizes--body-max-width: 1000px;
    --page-sizes--section-padding-lr-offset-desk: 0px;
    --section-spacing--section-margin-sm: 64px;
    --grids--grid-gutter-lrg: 64px;
    --section-spacing--section-margin-lrg: 96px;
    --spacers--spacer-lrg: 64px;
    --page-sizes--section-padding-lr-offset-all: -32px;
    --image-ratios--pano: 55%;
    --nav-offset: -60px;
  }

  h2 {
    font-size: 30px;
    line-height: 33px;
  }

  a {
    text-decoration: none;
  }

  .nav-menu {
    height: 100vh;
  }

  .nav-item {
    padding-left: 75px;
  }

  .nav-item.w--current {
    background-position: -20px 100%;
    padding-left: 75px;
  }

  .nav-item.home.w--current {
    background-position: -20px 100%;
  }

  .nav-item.home.w--current:hover {
    background-image: none;
    background-position: 0 0;
    background-repeat: repeat;
    background-size: auto;
  }

  .nav-item.projects.w--current {
    background-image: url('../images/nav_line.svg');
    background-position: -20px 100%;
    background-repeat: no-repeat;
    background-size: auto;
  }

  .navdivmob {
    justify-content: flex-start;
    padding-top: 150px;
  }

  .spacerdiv40, .spacerdiv40._30mob {
    height: 30px;
  }

  .navtext {
    font-size: 45px;
    line-height: 27px;
  }

  .navicon {
    width: 26px;
  }

  .blackline {
    margin-bottom: 15px;
  }

  .spacerdiv20 {
    height: 20px;
  }

  .project--header--image {
    display: none;
  }

  .imageheader {
    object-position: 50% 50%;
  }

  .divwebimage {
    padding-top: 0;
    padding-left: 0;
    padding-right: 0;
  }

  .footer--wrapper {
    flex-direction: column;
    justify-content: space-between;
  }

  .tscs--container {
    flex-wrap: nowrap;
  }

  .footer_txt {
    padding-top: 0;
  }

  .footer_txt.text-white {
    width: auto;
  }

  .griditem {
    width: 100%;
  }

  .griditem._33 {
    flex: 0 auto;
    height: auto;
  }

  .link-block {
    display: block;
  }

  .maxwidth900 {
    flex-direction: column;
  }

  .social--icon--wrapper {
    margin-bottom: 9px;
    display: flex;
  }

  .whitelinebig {
    border-top-style: none;
    border-top-color: var(--white-smoke-2\<deleted\|variable-aee5149a\>);
    border-right-style: none;
    border-right-color: var(--white-smoke-2\<deleted\|variable-aee5149a\>);
    border-left-style: none;
    border-left-color: var(--white-smoke-2\<deleted\|variable-aee5149a\>);
  }

  .slide {
    padding-left: 15px;
    padding-right: 15px;
  }

  .mask-2 {
    padding: 20px 15px 50px;
  }

  .gridimg.shadow {
    object-fit: scale-down;
  }

  .image_boarder {
    flex-direction: column;
  }

  .widget_grid_2_col, .widget_grid_4_col {
    grid-template-columns: 1fr;
  }

  .text-block--container, .header--intro--container {
    width: 100%;
  }

  .project--header--header--container {
    padding-bottom: 120px;
    position: sticky;
  }

  .header--header {
    width: 100%;
  }

  .nav_item_new {
    font-size: 23px;
    line-height: 27px;
  }

  .header--line {
    margin-bottom: 4px;
  }

  .cards--grid {
    grid-template-columns: 1fr;
  }

  .navline {
    width: 60px;
    padding-top: 21px;
  }

  .widget_grid_3_col {
    grid-template-columns: 1fr;
  }

  .widget_grid_3_col._6_grid {
    grid-template-columns: 1fr 1fr;
  }

  .project--header--image--mob {
    padding-top: var(--image-ratios--square);
    display: flex;
  }

  .video-widget_grid_2_col {
    grid-template-columns: 1fr;
  }

  .swiper-container, .swiper-slide {
    height: 100svh;
  }

  .swiper-slide.hide {
    display: none;
  }

  .home--text--wrapper {
    padding-right: var(--page-sizes--section-padding-lr);
    max-width: 350px;
    bottom: 160px;
  }

  .flex--header {
    font-size: clamp(3rem, 4vw, 6rem);
  }

  .page-max-width--container.right-no-margin {
    padding-right: var(--page-sizes--section-padding-lr);
  }

  .page-max-width--container.left-no-margin {
    padding-left: var(--page-sizes--section-padding-lr);
  }

  .body-max-width--container {
    padding-left: 24px;
    padding-right: 24px;
  }

  ._2-image--overlap--wrapper {
    grid-column-gap: var(--spacers--spacer-med);
    grid-row-gap: var(--spacers--spacer-med);
    flex-flow: column;
    justify-content: flex-start;
  }

  ._2-image--overlap--image--01 {
    width: 100%;
    margin-right: 0%;
  }

  .text--column--grid {
    grid-column-gap: var(--grids--grid-gutter-md);
    grid-row-gap: var(--grids--grid-gutter-md);
  }

  .text--column--wrapper {
    justify-content: flex-start;
    align-items: flex-start;
  }

  .client-filter--wrapper {
    flex-flow: wrap;
  }

  .dropdown-toggle {
    min-width: 150px;
  }

  .services--header--image {
    padding-top: var(--image-ratios--square);
  }

  .services--header--header--container {
    position: sticky;
  }

  ._2-image--lrg-sm--wrapper {
    grid-column-gap: var(--spacers--spacer-med);
    grid-row-gap: var(--spacers--spacer-med);
    flex-flow: column;
  }

  ._2-image--lrg-sm--sm-image {
    width: 100%;
  }

  .video--header--header--container-copy {
    position: sticky;
  }

  .icon--item {
    max-width: 80px;
  }

  .mobile--grid--column {
    width: 80%;
  }

  .header--details {
    grid-column-gap: var(--spacers--spacer-small);
    grid-row-gap: var(--spacers--spacer-small);
    flex-flow: column;
  }

  .service-filter--wrapper {
    display: none;
  }

  .contact--header--image {
    padding-top: 75%;
  }

  .contact--text-block--wrapper {
    grid-column-gap: var(--spacers--spacer-med);
    grid-row-gap: var(--spacers--spacer-med);
  }

  .home-bg-tint-bottom--mob {
    background-image: linear-gradient(212deg, #0000 53%, #000000b3);
  }

  .home-bg-tint-top {
    background-image: linear-gradient(#0003, #0000);
  }

  .home-bg-tint-bottom--desk {
    background-image: linear-gradient(212deg, #0000 53%, #000000b3);
  }
}

#w-node-_92092861-a973-3ee4-5ff2-b4a4716718cd-a89c457d, #w-node-_92092861-a973-3ee4-5ff2-b4a4716718d9-a89c457d {
  grid-area: span 1 / span 2 / span 1 / span 2;
}

#w-node-_87bf24a2-9ddd-9f7f-8b69-06707a6e5d31-a89c457d, #w-node-_6c8f92b8-31e4-c285-34f2-c360df07859c-a89c457d, #w-node-_4b35c15d-3b35-035b-5f00-c7a9f3b38712-a89c457d, #w-node-_12ea06f8-8299-f55f-61ef-53ac90b05d63-a89c457d, #w-node-_271d3329-4321-d79d-dee1-988f17b3da17-a89c457d, #w-node-_1b4f73c8-df03-4a5c-33cf-706d316fb226-a89c457d {
  grid-area: span 1 / span 1 / span 1 / span 1;
}

#w-node-_97bdae1f-e7b6-108b-fde7-58c49701e184-a89c457f, #w-node-_63f38c00-aa1b-e933-edb6-1501df0bd3e1-a89c457f {
  grid-area: span 1 / span 2 / span 1 / span 2;
}

#w-node-_3550ffb8-cd31-33de-e930-5732e7faffcf-a89c457f, #w-node-_3550ffb8-cd31-33de-e930-5732e7faffdb-a89c457f, #w-node-e97eef3f-5e0c-0324-c603-0679ca978259-a89c458a, #w-node-e97eef3f-5e0c-0324-c603-0679ca97825b-a89c458a, #w-node-e97eef3f-5e0c-0324-c603-0679ca97825d-a89c458a, #w-node-e97eef3f-5e0c-0324-c603-0679ca97825f-a89c458a, #w-node-_48a65cf7-326f-a9a4-71d3-260b82e602d6-a89c458a, #w-node-_48a65cf7-326f-a9a4-71d3-260b82e602d8-a89c458a, #w-node-_1055e4c4-2973-1b5d-d27e-8eb8bc31f202-a89c458a, #w-node-_4aaee9b2-f40b-f10c-5a27-df902f003e24-a89c458a, #w-node-_357c9fbb-e950-bab6-4f4e-04b88fe98930-a89c458a, #w-node-_66d12045-ac80-37a4-3e85-ac4630ca75c3-a89c458a, #w-node-_63a2d121-7175-6ca6-669c-106aa8d84e44-a89c458a, #w-node-_210b933d-67ea-ca18-c0a8-fa130e8c3c23-a89c458a, #w-node-_0d316010-848a-1c43-faa4-0c08dfd081e2-a89c458a, #w-node-_89224721-ce59-8f6b-830c-d19044aec5b7-a89c458a, #w-node-c171a0a4-82c3-de93-7802-021b0a589668-a89c458a, #w-node-caa1720b-758f-ff4a-5f6b-f4d155582cc9-a89c458a, #w-node-_7a63323a-a523-3444-d853-9f7e33181c1e-a89c458a, #w-node-c0b6ee72-4ea2-173f-5d9f-88d1214d6282-a89c458a, #w-node-_4b0dcabf-6646-90e7-e659-651ae300a4f5-a89c458a, #w-node-_306e4474-7368-6f7e-4f36-06f2bbddc548-a89c458a, #w-node-_852875c9-bc52-55cc-eef6-7ee0d38b8eef-a89c458a, #w-node-_24424397-5cc1-c056-791b-64d3f84a320d-a89c458a, #w-node-_24424397-5cc1-c056-791b-64d3f84a320f-a89c458a, #w-node-_24424397-5cc1-c056-791b-64d3f84a3211-a89c458a, #w-node-_24424397-5cc1-c056-791b-64d3f84a3213-a89c458a, #w-node-a19b6666-162f-02f9-5147-81df55fd766a-a89c458a, #w-node-_37af03aa-8f6c-a126-fbf8-dc23d9a21479-a89c458a, #w-node-ca73c729-d5f7-2333-fd85-162931ac395d-a89c458a, #w-node-_001102c2-2c44-bf50-ac87-398f966e3de0-a89c458a, #w-node-_6118443b-5e88-d1c8-9355-1a000c30e4da-a89c458a, #w-node-ec24ff2e-37c5-4365-6b65-e93e20181bc0-a89c458a, #w-node-_3624b5ba-3e34-836e-62d0-d6341a3edbcb-a89c458a, #w-node-_5d9220e3-2552-ec18-fc47-150d95cb9d14-a89c458a, #w-node-_4134fb7d-4ca1-cacd-47bf-18d80bda3c21-a89c458a, #w-node-_13f47f4e-ef6d-b7cc-31d5-b5eaa457c70f-a89c458a, #w-node-_27a80cc8-57ff-5776-3ee9-8107b9c397e3-a89c458a, #w-node-_63e5cbec-5b11-a62b-7c25-1e38bd656374-a89c458a, #w-node-c7df8fa0-0abd-47d2-caa2-0c728b5b8067-a89c458a, #w-node-c7df8fa0-0abd-47d2-caa2-0c728b5b806c-a89c458a, #w-node-_396d58cb-edc6-43a9-4b29-481a1c30678d-a89c458a, #w-node-_6a85b25d-f146-eb68-d882-d60eaf5ea831-a89c458a, #w-node-_93db26ac-5705-847a-fa21-b7fca1d312d8-a89c458a, #w-node-_76e2c7f5-702a-ec02-1825-4ff790350bf2-a89c458a {
  grid-area: span 1 / span 1 / span 1 / span 1;
}

#w-node-_76e2c7f5-702a-ec02-1825-4ff790350bf4-a89c458a {
  grid-area: span 1 / span 1 / span 1 / span 1;
  place-self: center end;
}

#w-node-_44a5bb55-fb70-178c-d37f-a7c01599edc5-a89c458a {
  grid-area: 1 / 2 / 2 / 8;
}

#w-node-c30571f4-7c56-decd-158e-bf3ea14b5a55-a89c458a {
  grid-area: 1 / 7 / 2 / 12;
}

#w-node-f7f28804-17a9-ee26-8945-33b6ebf3f7d4-a89c458a {
  grid-area: 1 / 9 / 2 / 13;
}

#w-node-_0439ef68-5bcf-5d0d-5b6c-2aea290c6034-a89c458a {
  grid-area: 1 / 6 / 2 / 12;
}

#w-node-ac844779-eaf6-6550-3ae7-9eb189800eae-a89c458a {
  grid-area: 1 / 1 / 2 / 5;
}

#w-node-_1e9fc161-63d2-dd87-db62-053276cdda50-a89c458a {
  grid-area: 1 / 2 / 2 / 8;
}

#w-node-_1e9fc161-63d2-dd87-db62-053276cdda54-a89c458a {
  grid-area: 1 / 9 / 2 / 13;
}

#w-node-_1e9fc161-63d2-dd87-db62-053276cdda56-a89c458a {
  grid-area: 1 / 6 / 2 / 12;
}

#w-node-_33862c6a-4b01-4398-bac9-a551ee6dc688-a89c458a {
  grid-area: 1 / 1 / 2 / 9;
}

#w-node-_33862c6a-4b01-4398-bac9-a551ee6dc68a-a89c458a {
  grid-area: 1 / 7 / 2 / 13;
}

#w-node-_33862c6a-4b01-4398-bac9-a551ee6dc68c-a89c458a {
  grid-area: 1 / 8 / 2 / 13;
}

#w-node-_627af0b1-5df0-3311-588a-ba92fe23a10a-a89c458a {
  grid-area: 1 / 1 / 5 / 2;
}

#w-node-e28b7a27-36cd-9a4f-73d6-04ba2900bfa2-a89c458a {
  grid-area: 5 / 1 / 9 / 2;
}

#w-node-_9a89e6cb-2f31-9615-ccea-f442e054a615-a89c458a {
  grid-area: 2 / 2 / 4 / 3;
}

#w-node-_93b80bb8-9e77-d776-e905-43f00702b25f-a89c458a {
  grid-area: 4 / 2 / 9 / 3;
}

#w-node-cd4c99fc-7899-76ae-e9e0-415fd63a422b-a89c458a {
  grid-area: 1 / 3 / 6 / 4;
}

#w-node-_068bcaa6-9cf5-33cd-2ad0-6455c2431293-a89c458a {
  grid-area: 6 / 3 / 9 / 4;
}

#w-node-_5ab04df3-20cc-e88e-81b0-05363cf9d967-a89c458a {
  grid-area: 9 / 3 / 11 / 4;
}

#w-node-ffa42839-0ccb-94a8-9d69-ed3e8a18e74a-a89c458a {
  grid-area: 9 / 1 / 12 / 3;
}

#w-node-_8c8cdad8-cca5-ef1e-ffac-fa26d2e81c40-a89c458a, #w-node-_8c8cdad8-cca5-ef1e-ffac-fa26d2e81c4d-a89c458a, #w-node-_8c8cdad8-cca5-ef1e-ffac-fa26d2e81c5a-a89c458a, #w-node-_8c8cdad8-cca5-ef1e-ffac-fa26d2e81c67-a89c458a, #w-node-_8c8cdad8-cca5-ef1e-ffac-fa26d2e81c74-a89c458a, #w-node-_8c8cdad8-cca5-ef1e-ffac-fa26d2e81c81-a89c458a, #w-node-_8c8cdad8-cca5-ef1e-ffac-fa26d2e81c8e-a89c458a, #w-node-_8c8cdad8-cca5-ef1e-ffac-fa26d2e81c9b-a89c458a, #w-node-_8c8cdad8-cca5-ef1e-ffac-fa26d2e81ca8-a89c458a, #w-node-ce4716f4-b549-99a7-7f4f-c2f98981e25e-a89c458a, #w-node-_2139379d-4129-cee4-9085-6be4e6819ffa-c556f34a, #w-node-_59b4ccf3-1e45-ac56-5fdb-98d073533c43-c556f34a, #w-node-_10b97749-5da0-f01d-bae4-1699387ae5ef-c556f34a, #w-node-_5b367781-c0b4-964b-8cac-a07718f63da9-c556f34a, #w-node-b7c9e55d-76af-3da6-179c-a560bd680c69-c556f34a, #w-node-_626633fd-ff75-049d-9b8b-fb962507d8a0-c556f34a, #w-node-_8b3fba03-1687-6168-18cc-74c76f4f140e-c556f34a, #w-node-d36c74ce-812d-6f51-8932-4c125505bd66-c556f34a, #w-node-e15796c2-f8ad-4928-07b6-65e7e75c1727-c556f34a {
  grid-area: span 1 / span 1 / span 1 / span 1;
}

#w-node-_5946ca65-80c6-c382-aed6-7ae2ba2e8fd3-fc36b437, #w-node-ad7296e4-e33f-179f-98ab-65f1b8657a24-fc36b437, #w-node-_199cb54d-b3df-d693-7eed-be099c4b632b-fc36b437, #w-node-eafb2493-6e9e-8d15-6ba3-21f59ae15b3c-fc36b437, #w-node-_18532526-ad1b-4a1d-42ad-6d8dca2c482d-fc36b437 {
  grid-area: span 2 / span 1 / span 2 / span 1;
  align-self: stretch;
}

@media screen and (max-width: 991px) {
  #w-node-_3550ffb8-cd31-33de-e930-5732e7faffcf-a89c457f, #w-node-_3550ffb8-cd31-33de-e930-5732e7faffdb-a89c457f {
    grid-area: span 1 / span 2 / span 1 / span 2;
  }

  #w-node-_76e2c7f5-702a-ec02-1825-4ff790350bf4-a89c458a {
    justify-self: start;
  }

  #w-node-_44a5bb55-fb70-178c-d37f-a7c01599edc5-a89c458a {
    grid-area: 1 / 1 / 2 / 13;
  }

  #w-node-_0439ef68-5bcf-5d0d-5b6c-2aea290c6034-a89c458a {
    grid-area: span 1 / span 12 / span 1 / span 12;
  }

  #w-node-_1e9fc161-63d2-dd87-db62-053276cdda50-a89c458a, #w-node-_1e9fc161-63d2-dd87-db62-053276cdda54-a89c458a, #w-node-_1e9fc161-63d2-dd87-db62-053276cdda56-a89c458a {
    grid-area: span 1 / span 1 / span 1 / span 1;
  }

  #w-node-_33862c6a-4b01-4398-bac9-a551ee6dc688-a89c458a {
    grid-area: 1 / 1 / 2 / 13;
  }

  #w-node-_33862c6a-4b01-4398-bac9-a551ee6dc68a-a89c458a {
    grid-row: 2 / 3;
    grid-column-start: 7;
    align-self: center;
  }

  #w-node-_33862c6a-4b01-4398-bac9-a551ee6dc68c-a89c458a {
    grid-area: 2 / 1 / 3 / 8;
  }
}

@media screen and (max-width: 767px) {
  #w-node-_92092861-a973-3ee4-5ff2-b4a4716718cd-a89c457d, #w-node-_92092861-a973-3ee4-5ff2-b4a4716718d9-a89c457d {
    grid-area: span 1 / span 2 / span 1 / span 2;
  }

  #w-node-_33862c6a-4b01-4398-bac9-a551ee6dc68a-a89c458a {
    grid-area: 3 / 1 / 4 / 13;
  }

  #w-node-_33862c6a-4b01-4398-bac9-a551ee6dc68c-a89c458a {
    grid-row-start: 2;
    grid-column-end: 13;
  }

  #w-node-_5946ca65-80c6-c382-aed6-7ae2ba2e8fd3-fc36b437, #w-node-ad7296e4-e33f-179f-98ab-65f1b8657a24-fc36b437, #w-node-_199cb54d-b3df-d693-7eed-be099c4b632b-fc36b437, #w-node-eafb2493-6e9e-8d15-6ba3-21f59ae15b3c-fc36b437, #w-node-_18532526-ad1b-4a1d-42ad-6d8dca2c482d-fc36b437 {
    grid-row: span 1 / span 1;
  }
}


@font-face {
  font-family: 'Graphik';
  src: url('../fonts/Graphik-Light-Web.woff2') format('woff2');
  font-weight: 300;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'Graphik';
  src: url('../fonts/Graphik-Regular-Web.woff2') format('woff2');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'Graphik';
  src: url('../fonts/Graphik-RegularItalic-Web.woff2') format('woff2');
  font-weight: 400;
  font-style: italic;
  font-display: swap;
}
@font-face {
  font-family: 'Para';
  src: url('../fonts/Para-Grand-Bold.woff2') format('woff2');
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'Graphik';
  src: url('../fonts/Graphik-LightItalic-Web.woff2') format('woff2');
  font-weight: 300;
  font-style: italic;
  font-display: swap;
}