/* 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: inherit;
  font-size: 100%;
  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;
}

button {
  border: 0;
  margin: 0;
  padding: 0;
  width: auto;
  overflow: visible;
  background: transparent;
  /* inherit font & color from ancestor */
  color: inherit;
  font: inherit;
  text-align: inherit;
  /* Normalize `line-height`. Cannot be changed from `normal` in Firefox 4+. */
  line-height: normal;
  line-height: inherit;
}

.container {
  width: 100%;
  margin-right: auto;
  margin-left: auto;
  padding-right: 20px;
  padding-left: 20px;
}
@media (min-width: 768px) {
  .container {
    max-width: 720px;
  }
}
@media (min-width: 992px) {
  .container {
    max-width: 960px;
  }
}
@media (min-width: 1300px) {
  .container {
    max-width: 1170px;
  }
}
@media (min-width: 1600px) {
  .container {
    max-width: 1470px;
  }
}

.row {
  display: flex;
  flex-wrap: wrap;
  margin-right: -20px;
  margin-left: -20px;
}

.rellax {
  transition: transform 1s;
}

.split-animate {
  font-kerning: none;
}
.split-animate .line {
  opacity: 0;
  transform: translateX(-10%);
  transition: opacity 1.2s, transform 1.2s, filter 1.2s;
  filter: blur(3px);
}
.split-animate .line:nth-of-type(1) {
  transition-delay: calc((1 - 1) * 0.1s);
}
.split-animate .line:nth-of-type(2) {
  transition-delay: calc((2 - 1) * 0.1s);
}
.split-animate .line:nth-of-type(3) {
  transition-delay: calc((3 - 1) * 0.1s);
}
.split-animate .line:nth-of-type(4) {
  transition-delay: calc((4 - 1) * 0.1s);
}
.split-animate .line:nth-of-type(5) {
  transition-delay: calc((5 - 1) * 0.1s);
}
.split-animate.in-view .line {
  opacity: 1;
  transform: translateX(0);
  filter: blur(0);
}

.block {
  transition: opacity 0.4s;
  transition-timing-function: linear;
}
.block[data-order] {
  opacity: 0;
}
.block[data-order="1"] {
  transition-delay: calc((1 - 1) * 0.2s);
}
.block[data-order="2"] {
  transition-delay: calc((2 - 1) * 0.2s);
}
.block[data-order="3"] {
  transition-delay: calc((3 - 1) * 0.2s);
}
.block[data-order="4"] {
  transition-delay: calc((4 - 1) * 0.2s);
}
.block[data-order="5"] {
  transition-delay: calc((5 - 1) * 0.2s);
}

.in-view .block {
  opacity: 1;
}
.in-view .split-animate .line {
  opacity: 1;
  transform: translateX(0);
  filter: blur(0);
}

@font-face {
  font-family: "Graphik LCG";
  src: url("../../fonts/GraphikLCG-Regular.eot");
  src: url("../../fonts/GraphikLCG-Regular.eot?#iefix") format("embedded-opentype"), url("../../fonts/GraphikLCG-Regular.woff2") format("woff2"), url("../../fonts/GraphikLCG-Regular.woff") format("woff"), url("../../fonts/GraphikLCG-Regular.ttf") format("truetype"), url("../../fonts/GraphikLCG-Regular.svg#GraphikLCG-Regular") format("svg");
  font-weight: normal;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Graphik LCG";
  src: url("../../fonts/GraphikLCG-Medium.eot");
  src: url("../../fonts/GraphikLCG-Medium.eot?#iefix") format("embedded-opentype"), url("../../fonts/GraphikLCG-Medium.woff2") format("woff2"), url("../../fonts/GraphikLCG-Medium.woff") format("woff"), url("../../fonts/GraphikLCG-Medium.ttf") format("truetype"), url("../../fonts/GraphikLCG-Medium.svg#GraphikLCG-Medium") format("svg");
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Graphik LCG";
  src: url("../../fonts/GraphikLCG-Semibold.eot");
  src: url("../../fonts/GraphikLCG-Semibold.eot?#iefix") format("embedded-opentype"), url("../../fonts/GraphikLCG-Semibold.woff2") format("woff2"), url("../../fonts/GraphikLCG-Semibold.woff") format("woff"), url("../../fonts/GraphikLCG-Semibold.ttf") format("truetype"), url("../../fonts/GraphikLCG-Semibold.svg#GraphikLCG-Semibold") format("svg");
  font-weight: 600;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Graphik LCG";
  src: url("../../fonts/GraphikLCG-Light.eot");
  src: url("../../fonts/GraphikLCG-Light.eot?#iefix") format("embedded-opentype"), url("../../fonts/GraphikLCG-Light.woff2") format("woff2"), url("../../fonts/GraphikLCG-Light.woff") format("woff"), url("../../fonts/GraphikLCG-Light.ttf") format("truetype"), url("../../fonts/GraphikLCG-Light.svg#GraphikLCG-Light") format("svg");
  font-weight: 300;
  font-style: normal;
  font-display: swap;
}
:root {
  --header-height: 60px;
  --font-colour-primary: #2e2d2c;
  --font-colour-light: #ffffff;
  --container-indent: calc(40px / 2);
  --floating-block-size: 60px;
  --block-link-overlay-size: 110px;
  --block-link-overlay-size-single: 40px;
}
@media (min-width: 768px) {
  :root {
    --container-indent: calc(((100vw - 720px + 40px - var(--scrollbar-width)) / 2));
    --floating-block-size: 80px;
    --block-link-overlay-size: 140px;
    --block-link-overlay-size-single: 50px;
  }
}
@media (min-width: 992px) {
  :root {
    --header-height: 80px;
    --container-indent: calc(((100vw - 960px + 40px - var(--scrollbar-width)) / 2));
    --floating-block-size: 90px;
  }
}
@media (min-width: 1300px) {
  :root {
    --floating-block-size: 100px;
    --container-indent: calc(((100vw - 1170px + 40px - var(--scrollbar-width)) / 2));
    --block-link-overlay-size: 180px;
  }
}
@media (min-width: 1600px) {
  :root {
    --header-height: 100px;
    --floating-block-size: 110px;
    --container-indent: calc(((100vw - 1470px + 40px - var(--scrollbar-width)) / 2));
    --block-link-overlay-size-single: 56px;
  }
}

*,
*::before,
*::after {
  box-sizing: inherit;
}

* {
  outline: none;
}

html {
  box-sizing: border-box;
  -webkit-text-size-adjust: 100%;
     -moz-text-size-adjust: 100%;
          text-size-adjust: 100%;
  scroll-behavior: smooth;
}

html,
body {
  height: 100%;
}

body {
  min-width: 320px;
  padding-top: var(--header-height);
  font-family: "Graphik LCG", sans-serif;
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  font-size: 16px;
  line-height: 1.6;
  color: #2e2d2c;
}
@media (min-width: 1300px) {
  body {
    font-size: 17px;
  }
}
@media (min-width: 1600px) {
  body {
    font-size: 19px;
  }
}
body.no-scroll {
  overflow-y: hidden;
}
a {
  text-decoration: none;
}

strong {
  font-weight: bold;
}

em {
  font-style: italic;
}

img {
  display: block;
  pointer-events: none;
}

p:not(:first-of-type) {
  margin-top: 1em;
}

.underline-link {
  white-space: nowrap;
  color: inherit;
  display: inline-block;
  position: relative;
  cursor: pointer;
}
.underline-link::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 1px;
  background-color: currentColor;
  transition: scale 0.25s;
  transform-origin: left;
}
.underline-link:hover:after {
  scale: 0 1;
}

.page-template-page-home {
  padding-top: 0;
}
.page-template-page-home header {
  background-color: transparent;
}

header {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 999;
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding-left: 20px;
  background-color: #ffffff;
  transition: transform 0.3s;
}
@media (min-width: 768px) {
  header {
    padding-left: 20px;
  }
}
@media (min-width: 1300px) {
  header {
    padding-left: 30px;
  }
}
header .header-logo {
  display: block;
}
header .header-logo svg {
  display: block;
  height: 27px;
  width: auto;
}
@media (min-width: 768px) {
  header .header-logo svg {
    height: 30px;
  }
}
@media (min-width: 1300px) {
  header .header-logo svg {
    height: 35px;
  }
}
@media (min-width: 1600px) {
  header .header-logo svg {
    height: 40px;
  }
}
header .header-logo svg path {
  transition: fill 0.3s;
}
header .header-right {
  display: flex;
  align-items: center;
}
header .pll-switcher-select {
  font-size: 16px;
  text-transform: uppercase;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  padding: 0.6em 0.8em;
  padding-bottom: 0.5em;
  padding-right: 30px;
  border-radius: 30px;
  border: 2px solid #2e2d2c;
  cursor: pointer;
  font-family: inherit;
  color: #2e2d2c;
  background-color: #ffffff;
  background-image: url("../../img/icons/arrow-short-down-black.svg");
  background-repeat: no-repeat, repeat;
  background-position: right 0.6em top 52%, 0 0;
  background-size: 0.9em auto, 100%;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.2s;
}
header.open .header-logo svg g:nth-of-type(1) path {
  fill: #004161;
}
header.open .header-logo svg g:nth-of-type(2) path:nth-of-type(1) {
  fill: #004161;
}
header.open .header-logo svg g:nth-of-type(2) path:nth-of-type(2) {
  fill: #9da0a2;
}
header.open .pll-switcher-select {
  opacity: 1;
  pointer-events: all;
}

.hamburger-button {
  background: #ffffff;
  height: var(--header-height);
  width: var(--header-height);
  display: flex;
  justify-content: center;
  align-items: center;
  cursor: pointer;
}
.hamburger-button .hamburger-menu {
  --hamburger-line-gap: 4px;
  --hamburger-line-width: 2px;
  position: relative;
  width: 40%;
  height: calc(2 * var(--hamburger-line-gap) + 3 * var(--hamburger-line-width));
  transform: rotate(0deg);
  transition: 0.5s ease-in-out;
  cursor: pointer;
}
@media (min-width: 768px) {
  .hamburger-button .hamburger-menu {
    --hamburger-line-gap: 6px;
  }
}
@media (min-width: 1600px) {
  .hamburger-button .hamburger-menu {
    --hamburger-line-gap: 8px;
  }
}
.hamburger-button .hamburger-menu span {
  display: block;
  position: absolute;
  right: 0;
  width: 100%;
  height: var(--hamburger-line-width);
  transform: rotate(0deg);
  transition: 0.25s ease-in-out;
  background: #2e2d2c;
  opacity: 1;
}
.hamburger-button .hamburger-menu span:nth-child(1) {
  top: 0px;
}
.hamburger-button .hamburger-menu span:nth-child(2), .hamburger-button .hamburger-menu span:nth-child(3) {
  top: calc(var(--hamburger-line-gap) + var(--hamburger-line-width));
}
.hamburger-button .hamburger-menu span:nth-child(4) {
  top: calc(2 * var(--hamburger-line-gap) + 2 * var(--hamburger-line-width));
}
.hamburger-button .hamburger-menu.open span:nth-child(1) {
  top: calc(var(--hamburger-line-gap) + var(--hamburger-line-width));
  right: 50%;
  width: 0%;
}
.hamburger-button .hamburger-menu.open span:nth-child(2) {
  transform: rotate(45deg);
}
.hamburger-button .hamburger-menu.open span:nth-child(3) {
  transform: rotate(-45deg);
}
.hamburger-button .hamburger-menu.open span:nth-child(4) {
  top: calc(var(--hamburger-line-gap) + var(--hamburger-line-width));
  right: 50%;
  width: 0%;
}

.main-menu {
  position: fixed;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  z-index: 99;
  display: flex;
  flex-direction: column;
  opacity: 0;
  pointer-events: none;
  -webkit-backdrop-filter: blur(15px);
          backdrop-filter: blur(15px);
  background-color: rgba(151, 151, 151, 0.2);
  transition: opacity 0.2s, -webkit-backdrop-filter 0.2s;
  transition: opacity 0.2s, backdrop-filter 0.2s;
  transition: opacity 0.2s, backdrop-filter 0.2s, -webkit-backdrop-filter 0.2s;
}
.main-menu.open {
  opacity: 1;
  pointer-events: all;
}
.main-menu .main-menu-top {
  padding-top: var(--header-height);
  padding-bottom: 30px;
  height: 100%;
  background-color: #ffffff;
  flex: 1;
  position: relative;
  z-index: 2;
}
@media (min-width: 992px) {
  .main-menu .main-menu-top {
    height: auto;
    flex: 1 50%;
  }
}
.main-menu .main-menu-top .container {
  height: 100%;
}
.main-menu .main-menu-top-inner {
  height: 100%;
}
@media (min-width: 992px) {
  .main-menu .main-menu-top-inner {
    display: flex;
    align-items: center;
  }
}
.main-menu .menu-nav {
  display: flex;
  flex-direction: column;
  padding-top: 10px;
  height: 100%;
}
@media (min-width: 992px) {
  .main-menu .menu-nav {
    display: grid;
    grid-template-columns: repeat(4, auto);
    height: auto;
    -moz-column-gap: 30px;
         column-gap: 30px;
    row-gap: 40px;
    padding: 0;
    width: 100%;
  }
}
@media (min-width: 1300px) {
  .main-menu .menu-nav {
    row-gap: 40px;
    -moz-column-gap: 40px;
         column-gap: 40px;
  }
}
@media (min-width: 1600px) {
  .main-menu .menu-nav {
    row-gap: 45px;
    -moz-column-gap: 50px;
         column-gap: 50px;
  }
}
.main-menu .menu-nav ul {
  display: contents;
}
.main-menu .menu-nav li {
  line-height: 1;
  font-weight: 300;
  font-size: 35px;
  padding: 0.5em 0;
}
@media (min-width: 992px) {
  .main-menu .menu-nav li {
    padding: 0;
    font-size: 30px;
  }
}
@media (min-width: 1300px) {
  .main-menu .menu-nav li {
    font-size: 35px;
  }
}
@media (min-width: 1600px) {
  .main-menu .menu-nav li {
    font-size: 40px;
  }
}
.main-menu .menu-nav a {
  color: inherit;
  transition: text-shadow 0.15s;
}
@media (hover: hover) {
  .main-menu .menu-nav a:hover {
    text-shadow: -0.5px -0.5px 0 #2e2d2c, 0.5px -0.5px 0 #2e2d2c, -0.5px 0.5px 0 #2e2d2c, 0.5px 0.5px 0 #2e2d2c;
  }
}
.main-menu .menu-social-links {
  display: flex;
  position: absolute;
  bottom: 20px;
  right: 20px;
}
@media (min-width: 768px) {
  .main-menu .menu-social-links {
    bottom: 30px;
  }
}
@media (min-width: 992px) {
  .main-menu .menu-social-links {
    align-items: flex-start;
    bottom: 28px;
    right: 28px;
  }
}
.main-menu .social-links {
  display: flex;
  align-items: center;
  gap: 10px;
}
@media (min-width: 1600px) {
  .main-menu .social-links {
    gap: 20px;
  }
}
.main-menu .social-link {
  display: block;
}
.main-menu .social-link svg {
  display: block;
  height: 30px;
  width: auto;
}
@media (min-width: 1300px) {
  .main-menu .social-link svg {
    height: 34px;
  }
}
@media (min-width: 1600px) {
  .main-menu .social-link svg {
    height: 40px;
  }
}
.main-menu .main-menu-bottom {
  flex: 0;
  display: none;
}
@media (min-width: 992px) {
  .main-menu .main-menu-bottom {
    flex: 1 50%;
    display: block;
    position: relative;
  }
}
.main-menu .menu-visual {
  height: 100%;
  position: absolute;
  inset: 0;
  pointer-events: none;
}
.main-menu .menu-visual.active .menu-image {
  opacity: 1;
}
.main-menu .menu-visual.active .visual-pattern {
  translate: 0;
}
.main-menu .menu-image {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  -o-object-position: center;
     object-position: center;
  -o-object-fit: cover;
     object-fit: cover;
  opacity: 0;
  transition: opacity 0.3s;
}
.main-menu .visual-pattern {
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  display: grid;
  grid-template-columns: repeat(5, 12.5vh);
  grid-template-rows: repeat(4, 1fr);
  translate: 0 -100%;
  transition: translate 0.3s;
}
.main-menu .visual-block {
  aspect-ratio: 1/1;
  background-color: #ffffff;
}
.main-menu .visual-block[data-col="1"] {
  grid-column-start: 1;
}
.main-menu .visual-block[data-row="1"] {
  grid-row-start: 1;
}
.main-menu .visual-block[data-col="2"] {
  grid-column-start: 2;
}
.main-menu .visual-block[data-row="2"] {
  grid-row-start: 2;
}
.main-menu .visual-block[data-col="3"] {
  grid-column-start: 3;
}
.main-menu .visual-block[data-row="3"] {
  grid-row-start: 3;
}
.main-menu .visual-block[data-col="4"] {
  grid-column-start: 4;
}
.main-menu .visual-block[data-row="4"] {
  grid-row-start: 4;
}
.main-menu .visual-block[data-col="5"] {
  grid-column-start: 5;
}
.main-menu .visual-block[data-row="5"] {
  grid-row-start: 5;
}
.main-menu .visual-block[data-colour=orange] {
  background-color: #ff7864;
}
.main-menu .visual-block[data-colour=blue] {
  background-color: #004161;
}
.main-menu .visual-block[data-colour=light-blue] {
  background-color: #5cb7f2;
}
.main-menu .visual-block[data-colour=grey] {
  background-color: #cecfd0;
}

.scroll-down header {
  position: fixed;
  top: 0;
  left: 0;
  transform: translate3d(0, -100%, 0);
}

.scroll-up header {
  position: fixed;
  top: 0;
  left: 0;
}

@media (min-width: 992px) {
  .scroll-snapping header {
    position: fixed;
    top: 0;
    left: 0;
    transform: translate3d(0, -100%, 0);
  }
}

footer {
  background-color: #004161;
  color: #ffffff;
  padding: 0 20px;
  padding-top: 100px;
  padding-bottom: 60px;
}
@media (min-width: 768px) {
  footer {
    padding: 0 40px;
    padding-top: 100px;
    padding-bottom: 50px;
  }
}
@media (min-width: 1300px) {
  footer {
    padding: 0 50px;
    padding-top: 180px;
    padding-bottom: 50px;
  }
}
@media (min-width: 1300px) {
  footer {
    padding: 0 60px;
    padding-top: 200px;
    padding-bottom: 50px;
  }
}
footer a {
  color: inherit;
}
footer .footer-content {
  display: flex;
  flex-direction: column;
  gap: 100px;
}
@media (min-width: 1300px) {
  footer .footer-content {
    gap: 130px;
  }
}
@media (min-width: 1600px) {
  footer .footer-content {
    gap: 180px;
  }
}
footer .footer-top {
  display: flex;
  flex-direction: column;
  gap: 80px;
}
@media (min-width: 768px) {
  footer .footer-top {
    flex-direction: row;
    gap: 0;
    justify-content: space-between;
  }
}
@media (min-width: 768px) {
  footer .footer-logo-section {
    width: 50%;
  }
}
footer .footer-logo {
  display: block;
}
footer .footer-logo svg {
  display: block;
  width: 200px;
  height: auto;
}
@media (min-width: 1300px) {
  footer .footer-logo svg {
    width: 260px;
  }
}
@media (min-width: 768px) {
  footer .footer-nav-section {
    width: 45%;
    max-width: 650px;
  }
}
footer .footer-nav ul {
  display: grid;
  gap: 20px;
  font-weight: 400;
  font-size: 20px;
  line-height: 1;
}
@media (min-width: 768px) {
  footer .footer-nav ul {
    grid-template-rows: repeat(4, 1fr);
    grid-auto-flow: column;
  }
}
@media (min-width: 1300px) {
  footer .footer-nav ul {
    gap: 1.1em;
  }
}
@media (min-width: 1600px) {
  footer .footer-nav ul {
    font-size: 22px;
  }
}
footer .footer-nav ul:after {
  content: "";
  display: block;
  grid-column-start: 1;
  grid-row-start: 4;
  display: none;
}
@media (min-width: 768px) {
  footer .footer-nav ul:after {
    display: block;
  }
}
footer .footer-nav li {
  padding: 0.4em 0;
}
footer .footer-nav a {
  display: inline-flex;
  align-items: center;
  gap: 0.5em;
  position: relative;
}
footer .footer-nav a:hover::before {
  opacity: 1;
}
@media (min-width: 768px) {
  footer .footer-nav a::before {
    content: "";
    display: block;
    position: absolute;
    width: 0.4em;
    height: 0.4em;
    background-color: currentColor;
    opacity: 0;
    top: 0.26em;
    right: calc(100% + 0.7em);
    transition: opacity 0.2s;
  }
}
footer .footer-bottom {
  display: flex;
  flex-direction: column;
  gap: 40px;
  font-weight: 400;
  font-size: 13px;
  line-height: 1;
}
@media (min-width: 768px) {
  footer .footer-bottom {
    flex-direction: row;
    justify-content: space-between;
    gap: 0;
  }
}
@media (min-width: 1300px) {
  footer .footer-bottom {
    font-size: 16px;
  }
}
@media (min-width: 768px) {
  footer .footer-links-section {
    width: 50%;
  }
}
footer .footer-links {
  display: flex;
  gap: 30px;
}
@media (min-width: 992px) {
  footer .footer-links {
    gap: 40px;
  }
}
@media (min-width: 1300px) {
  footer .footer-links {
    gap: 50px;
  }
}
@media (min-width: 768px) {
  footer .footer-developed-section {
    width: 45%;
    max-width: 650px;
  }
}
@media (min-width: 768px) {
  footer .disclaimer {
    width: 45%;
    max-width: 650px;
  }
}

.heading-italics {
  font-weight: 300;
  line-height: 1.15;
}
.heading-italics em {
  font-family: "freight-text-pro", serif;
  font-size: 1.1em;
  font-weight: 400;
  line-height: 1;
}
.heading-italics--0 {
  font-size: 35px;
}
@media (min-width: 1600px) {
  .heading-italics--0 {
    font-size: 52px;
  }
}
.heading-italics--1 {
  font-size: 40px;
}
@media (min-width: 992px) {
  .heading-italics--1 {
    font-size: 50px;
  }
}
@media (min-width: 1300px) {
  .heading-italics--1 {
    font-size: 70px;
  }
}
@media (min-width: 1600px) {
  .heading-italics--1 {
    font-size: 74px;
  }
}
.heading-italics--updates {
  font-size: 30px;
}
@media (min-width: 768px) {
  .heading-italics--updates {
    font-size: 40px;
  }
}
@media (min-width: 1300px) {
  .heading-italics--updates {
    font-size: 50px;
  }
}
@media (min-width: 1600px) {
  .heading-italics--updates {
    font-size: 60px;
  }
}

.heading-small {
  font-size: 18px;
  font-weight: 500;
  line-height: 1.5;
  display: inline-flex;
  align-items: flex-start;
  gap: 0.8em;
}
@media (min-width: 1300px) {
  .heading-small {
    font-size: 20px;
  }
}
@media (min-width: 1600px) {
  .heading-small {
    font-size: 22px;
  }
}
.heading-small::before {
  content: "";
  display: block;
  width: 0.65em;
  height: 0.65em;
  background-color: currentColor;
  position: relative;
  top: 0.38em;
}
.heading-small--blue::before {
  background-color: #004161;
}

.filter-section {
  background-color: #ff7864;
  padding: 50px 0;
}
.filter-section .filter-section-inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 30px;
}
@media (min-width: 992px) {
  .filter-section .filter-section-inner {
    flex-direction: row;
    flex: 1;
    gap: 10px;
  }
}
@media (min-width: 1600px) {
  .filter-section .filter-section-inner {
    margin-left: auto;
    margin-right: auto;
  }
}
.filter-section .filters {
  display: flex;
  flex-direction: column;
  gap: 20px;
  width: 100%;
  max-width: 400px;
}
@media (min-width: 768px) {
  .filter-section .filters {
    max-width: 1200px;
    flex-direction: row;
    justify-content: center;
    gap: 10px;
    margin-inline: auto;
  }
}
.filter-section .filter-submit {
  background-color: #ffffff;
  flex-shrink: 0;
}

.filter-select-container {
  font-size: 20px;
}
@media (min-width: 768px) {
  .filter-select-container {
    flex: 1;
    font-size: 18px;
    max-width: 460px;
    min-width: 180px;
  }
}
@media (min-width: 992px) {
  .filter-select-container {
    font-size: 20px;
  }
}
.filter-select-container .filter-select__control {
  cursor: pointer;
  min-height: 50px;
  border-radius: 30px;
  background: none;
  border: 2px solid #ffffff !important;
  box-shadow: none;
}
.filter-select-container .filter-select__control.has-selection {
  background: #ffffff;
}
.filter-select-container .filter-select__control.has-selection .filter-select__single-value {
  color: #2e2d2c;
}
.filter-select-container .filter-select__control.has-selection .filter-select__dropdown-indicator {
  display: none;
}
.filter-select-container .filter-select__control:hover {
  background-color: #ffffff;
}
.filter-select-container .filter-select__control:hover .filter-select__placeholder {
  color: #2e2d2c;
}
.filter-select-container .filter-select__single-value {
  color: #ffffff;
}
.filter-select-container .filter-select__value-container {
  padding-left: 20px;
}
.filter-select-container .filter-select__placeholder {
  color: #ffffff;
  margin: 0;
}
.filter-select-container .filter-select__option--is-focused {
  background-color: #f1f1f2;
}
.filter-select-container .filter-select__indicators {
  padding-right: 20px;
  gap: 10px;
}
.filter-select-container .filter-select__indicator-separator {
  display: none;
}
.filter-select-container .filter-select__dropdown-indicator {
  padding: 4px 0;
}
.filter-select-container .filter-select__dropdown-indicator img {
  height: auto;
  width: 1em;
}
.filter-select-container .filter-select__clear-indicator {
  padding: 4px 0;
  color: #2e2d2c !important;
  cursor: pointer;
}
.filter-select-container .filter-select__clear-indicator img {
  height: auto;
  width: 0.9em;
}
.filter-select-container .filter-select__menu {
  z-index: 9;
}
.filter-select-container .availability-option {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.filter-select-container .availability-option .key {
  width: 1em;
  height: 1em;
  border-radius: 50%;
  display: block;
}
.filter-select-container .availability-option .key--available {
  background-color: #84f7a0;
}
.filter-select-container .availability-option .key--coming-soon {
  background-color: #5cb7f2;
}
.filter-select-container .availability-option .key--let {
  background-color: #ff7864;
}

.filter-range {
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.filter-range .inner-content {
  display: none;
}
@media (min-width: 768px) {
  .filter-range .inner-content {
    display: block;
  }
}
.filter-range .filter-range-top {
  padding: 0 22px;
  display: flex;
  gap: 20px;
  align-items: flex-end;
  justify-content: space-between;
}
@media (min-width: 768px) {
  .filter-range .filter-range-top {
    display: none;
  }
}
.filter-range .filter-range-label {
  font-size: 20px;
  color: #ffffff;
  white-space: nowrap;
}
@media (min-width: 768px) {
  .filter-range .filter-range-label {
    font-size: 18px;
  }
}
@media (min-width: 992px) {
  .filter-range .filter-range-label {
    font-size: 20px;
  }
}
.filter-range .label-small {
  font-size: 0.7em;
  color: #2e2d2c;
  position: relative;
  top: -0.1em;
}
.filter-range .filter-range-control-wrapper {
  height: 50px;
  border-radius: 30px;
  background: none;
  border: 2px solid #ffffff;
  padding: 0 22px;
}
@media (min-width: 768px) {
  .filter-range .filter-range-control-wrapper {
    display: flex;
    align-items: center;
    gap: 30px;
  }
}
.filter-range .filter-range-control {
  display: flex;
  align-items: center;
  height: 100%;
}
@media (min-width: 768px) {
  .filter-range .filter-range-control {
    flex: 1;
    gap: 20px;
  }
}
@media (min-width: 768px) {
  .filter-range .range-guide {
    white-space: nowrap;
    flex: 1 5%;
    display: flex;
  }
}
.filter-range .range-guide-top {
  justify-content: flex-end;
}
.filter-range .slider-root {
  position: relative;
  width: 100%;
  display: flex;
  height: 100%;
  align-items: center;
  touch-action: none;
}
@media (min-width: 768px) {
  .filter-range .slider-root {
    flex: 5;
    width: auto;
    min-width: 140px;
  }
}
.filter-range .slider-track {
  flex-grow: 1;
  position: relative;
  height: 2px;
  background-color: #ffffff;
}
.filter-range .slider-range {
  position: absolute;
  background-color: #2e2d2c;
  height: 100%;
}
.filter-range .slider-thumb {
  height: 18px;
  width: 18px;
  border-radius: 50%;
  background-color: #2e2d2c;
  display: block;
  cursor: grab;
}
.filter-range .slider-thumb:active {
  cursor: grabbing;
}

.button {
  font-size: 1.2em;
  border: 2px solid #2e2d2c;
  color: inherit;
  border-radius: 1.8em;
  min-height: 50px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 0.5em 1em;
  font-weight: 400;
  gap: 30px;
  cursor: pointer;
  line-height: 1.1;
  min-width: 200px;
  transition: background-color 0.2s, border-color 0.2s, color 0.2s;
}
.button::after {
  content: "";
  background-image: url("../../img/icons/arrow-only-button-right-black.svg");
  display: block;
  height: 1.1em;
  width: 1.1em;
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  transition: filter 0.2s;
}
.button--light {
  color: #ffffff;
  border-color: #ffffff;
}
.button--light::after {
  filter: brightness(0) invert(1);
}
.button--light:hover, .button--light.active {
  color: #2e2d2c !important;
  background-color: #ffffff !important;
  border-color: #ffffff !important;
}
.button--light:hover::after, .button--light.active::after {
  filter: invert(0) !important;
}
.button:hover, .button.active {
  color: #ffffff;
  background-color: #004161;
  border-color: #004161;
}
.button:hover::after, .button.active::after {
  filter: brightness(0) invert(1);
}
.button--hover-orange:hover, .button--hover-orange.active {
  background-color: #ff7864;
  border-color: #ff7864;
  color: #ffffff;
}

.button-circular {
  width: 60px;
  height: 60px;
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 50%;
  cursor: pointer;
}
.button-circular svg {
  display: block;
  width: 100%;
  height: auto;
  max-width: 50%;
}

.mb-0-0 {
  -o-object-position: 0% 0% !important;
     object-position: 0% 0% !important;
}

.mb-0-10 {
  -o-object-position: 0% 10% !important;
     object-position: 0% 10% !important;
}

.mb-0-20 {
  -o-object-position: 0% 20% !important;
     object-position: 0% 20% !important;
}

.mb-0-30 {
  -o-object-position: 0% 30% !important;
     object-position: 0% 30% !important;
}

.mb-0-40 {
  -o-object-position: 0% 40% !important;
     object-position: 0% 40% !important;
}

.mb-0-50 {
  -o-object-position: 0% 50% !important;
     object-position: 0% 50% !important;
}

.mb-0-60 {
  -o-object-position: 0% 60% !important;
     object-position: 0% 60% !important;
}

.mb-0-70 {
  -o-object-position: 0% 70% !important;
     object-position: 0% 70% !important;
}

.mb-0-80 {
  -o-object-position: 0% 80% !important;
     object-position: 0% 80% !important;
}

.mb-0-90 {
  -o-object-position: 0% 90% !important;
     object-position: 0% 90% !important;
}

.mb-0-100 {
  -o-object-position: 0% 100% !important;
     object-position: 0% 100% !important;
}

.mb-10-0 {
  -o-object-position: 10% 0% !important;
     object-position: 10% 0% !important;
}

.mb-10-10 {
  -o-object-position: 10% 10% !important;
     object-position: 10% 10% !important;
}

.mb-10-20 {
  -o-object-position: 10% 20% !important;
     object-position: 10% 20% !important;
}

.mb-10-30 {
  -o-object-position: 10% 30% !important;
     object-position: 10% 30% !important;
}

.mb-10-40 {
  -o-object-position: 10% 40% !important;
     object-position: 10% 40% !important;
}

.mb-10-50 {
  -o-object-position: 10% 50% !important;
     object-position: 10% 50% !important;
}

.mb-10-60 {
  -o-object-position: 10% 60% !important;
     object-position: 10% 60% !important;
}

.mb-10-70 {
  -o-object-position: 10% 70% !important;
     object-position: 10% 70% !important;
}

.mb-10-80 {
  -o-object-position: 10% 80% !important;
     object-position: 10% 80% !important;
}

.mb-10-90 {
  -o-object-position: 10% 90% !important;
     object-position: 10% 90% !important;
}

.mb-10-100 {
  -o-object-position: 10% 100% !important;
     object-position: 10% 100% !important;
}

.mb-20-0 {
  -o-object-position: 20% 0% !important;
     object-position: 20% 0% !important;
}

.mb-20-10 {
  -o-object-position: 20% 10% !important;
     object-position: 20% 10% !important;
}

.mb-20-20 {
  -o-object-position: 20% 20% !important;
     object-position: 20% 20% !important;
}

.mb-20-30 {
  -o-object-position: 20% 30% !important;
     object-position: 20% 30% !important;
}

.mb-20-40 {
  -o-object-position: 20% 40% !important;
     object-position: 20% 40% !important;
}

.mb-20-50 {
  -o-object-position: 20% 50% !important;
     object-position: 20% 50% !important;
}

.mb-20-60 {
  -o-object-position: 20% 60% !important;
     object-position: 20% 60% !important;
}

.mb-20-70 {
  -o-object-position: 20% 70% !important;
     object-position: 20% 70% !important;
}

.mb-20-80 {
  -o-object-position: 20% 80% !important;
     object-position: 20% 80% !important;
}

.mb-20-90 {
  -o-object-position: 20% 90% !important;
     object-position: 20% 90% !important;
}

.mb-20-100 {
  -o-object-position: 20% 100% !important;
     object-position: 20% 100% !important;
}

.mb-30-0 {
  -o-object-position: 30% 0% !important;
     object-position: 30% 0% !important;
}

.mb-30-10 {
  -o-object-position: 30% 10% !important;
     object-position: 30% 10% !important;
}

.mb-30-20 {
  -o-object-position: 30% 20% !important;
     object-position: 30% 20% !important;
}

.mb-30-30 {
  -o-object-position: 30% 30% !important;
     object-position: 30% 30% !important;
}

.mb-30-40 {
  -o-object-position: 30% 40% !important;
     object-position: 30% 40% !important;
}

.mb-30-50 {
  -o-object-position: 30% 50% !important;
     object-position: 30% 50% !important;
}

.mb-30-60 {
  -o-object-position: 30% 60% !important;
     object-position: 30% 60% !important;
}

.mb-30-70 {
  -o-object-position: 30% 70% !important;
     object-position: 30% 70% !important;
}

.mb-30-80 {
  -o-object-position: 30% 80% !important;
     object-position: 30% 80% !important;
}

.mb-30-90 {
  -o-object-position: 30% 90% !important;
     object-position: 30% 90% !important;
}

.mb-30-100 {
  -o-object-position: 30% 100% !important;
     object-position: 30% 100% !important;
}

.mb-40-0 {
  -o-object-position: 40% 0% !important;
     object-position: 40% 0% !important;
}

.mb-40-10 {
  -o-object-position: 40% 10% !important;
     object-position: 40% 10% !important;
}

.mb-40-20 {
  -o-object-position: 40% 20% !important;
     object-position: 40% 20% !important;
}

.mb-40-30 {
  -o-object-position: 40% 30% !important;
     object-position: 40% 30% !important;
}

.mb-40-40 {
  -o-object-position: 40% 40% !important;
     object-position: 40% 40% !important;
}

.mb-40-50 {
  -o-object-position: 40% 50% !important;
     object-position: 40% 50% !important;
}

.mb-40-60 {
  -o-object-position: 40% 60% !important;
     object-position: 40% 60% !important;
}

.mb-40-70 {
  -o-object-position: 40% 70% !important;
     object-position: 40% 70% !important;
}

.mb-40-80 {
  -o-object-position: 40% 80% !important;
     object-position: 40% 80% !important;
}

.mb-40-90 {
  -o-object-position: 40% 90% !important;
     object-position: 40% 90% !important;
}

.mb-40-100 {
  -o-object-position: 40% 100% !important;
     object-position: 40% 100% !important;
}

.mb-50-0 {
  -o-object-position: 50% 0% !important;
     object-position: 50% 0% !important;
}

.mb-50-10 {
  -o-object-position: 50% 10% !important;
     object-position: 50% 10% !important;
}

.mb-50-20 {
  -o-object-position: 50% 20% !important;
     object-position: 50% 20% !important;
}

.mb-50-30 {
  -o-object-position: 50% 30% !important;
     object-position: 50% 30% !important;
}

.mb-50-40 {
  -o-object-position: 50% 40% !important;
     object-position: 50% 40% !important;
}

.mb-50-50 {
  -o-object-position: 50% 50% !important;
     object-position: 50% 50% !important;
}

.mb-50-60 {
  -o-object-position: 50% 60% !important;
     object-position: 50% 60% !important;
}

.mb-50-70 {
  -o-object-position: 50% 70% !important;
     object-position: 50% 70% !important;
}

.mb-50-80 {
  -o-object-position: 50% 80% !important;
     object-position: 50% 80% !important;
}

.mb-50-90 {
  -o-object-position: 50% 90% !important;
     object-position: 50% 90% !important;
}

.mb-50-100 {
  -o-object-position: 50% 100% !important;
     object-position: 50% 100% !important;
}

.mb-60-0 {
  -o-object-position: 60% 0% !important;
     object-position: 60% 0% !important;
}

.mb-60-10 {
  -o-object-position: 60% 10% !important;
     object-position: 60% 10% !important;
}

.mb-60-20 {
  -o-object-position: 60% 20% !important;
     object-position: 60% 20% !important;
}

.mb-60-30 {
  -o-object-position: 60% 30% !important;
     object-position: 60% 30% !important;
}

.mb-60-40 {
  -o-object-position: 60% 40% !important;
     object-position: 60% 40% !important;
}

.mb-60-50 {
  -o-object-position: 60% 50% !important;
     object-position: 60% 50% !important;
}

.mb-60-60 {
  -o-object-position: 60% 60% !important;
     object-position: 60% 60% !important;
}

.mb-60-70 {
  -o-object-position: 60% 70% !important;
     object-position: 60% 70% !important;
}

.mb-60-80 {
  -o-object-position: 60% 80% !important;
     object-position: 60% 80% !important;
}

.mb-60-90 {
  -o-object-position: 60% 90% !important;
     object-position: 60% 90% !important;
}

.mb-60-100 {
  -o-object-position: 60% 100% !important;
     object-position: 60% 100% !important;
}

.mb-70-0 {
  -o-object-position: 70% 0% !important;
     object-position: 70% 0% !important;
}

.mb-70-10 {
  -o-object-position: 70% 10% !important;
     object-position: 70% 10% !important;
}

.mb-70-20 {
  -o-object-position: 70% 20% !important;
     object-position: 70% 20% !important;
}

.mb-70-30 {
  -o-object-position: 70% 30% !important;
     object-position: 70% 30% !important;
}

.mb-70-40 {
  -o-object-position: 70% 40% !important;
     object-position: 70% 40% !important;
}

.mb-70-50 {
  -o-object-position: 70% 50% !important;
     object-position: 70% 50% !important;
}

.mb-70-60 {
  -o-object-position: 70% 60% !important;
     object-position: 70% 60% !important;
}

.mb-70-70 {
  -o-object-position: 70% 70% !important;
     object-position: 70% 70% !important;
}

.mb-70-80 {
  -o-object-position: 70% 80% !important;
     object-position: 70% 80% !important;
}

.mb-70-90 {
  -o-object-position: 70% 90% !important;
     object-position: 70% 90% !important;
}

.mb-70-100 {
  -o-object-position: 70% 100% !important;
     object-position: 70% 100% !important;
}

.mb-80-0 {
  -o-object-position: 80% 0% !important;
     object-position: 80% 0% !important;
}

.mb-80-10 {
  -o-object-position: 80% 10% !important;
     object-position: 80% 10% !important;
}

.mb-80-20 {
  -o-object-position: 80% 20% !important;
     object-position: 80% 20% !important;
}

.mb-80-30 {
  -o-object-position: 80% 30% !important;
     object-position: 80% 30% !important;
}

.mb-80-40 {
  -o-object-position: 80% 40% !important;
     object-position: 80% 40% !important;
}

.mb-80-50 {
  -o-object-position: 80% 50% !important;
     object-position: 80% 50% !important;
}

.mb-80-60 {
  -o-object-position: 80% 60% !important;
     object-position: 80% 60% !important;
}

.mb-80-70 {
  -o-object-position: 80% 70% !important;
     object-position: 80% 70% !important;
}

.mb-80-80 {
  -o-object-position: 80% 80% !important;
     object-position: 80% 80% !important;
}

.mb-80-90 {
  -o-object-position: 80% 90% !important;
     object-position: 80% 90% !important;
}

.mb-80-100 {
  -o-object-position: 80% 100% !important;
     object-position: 80% 100% !important;
}

.mb-90-0 {
  -o-object-position: 90% 0% !important;
     object-position: 90% 0% !important;
}

.mb-90-10 {
  -o-object-position: 90% 10% !important;
     object-position: 90% 10% !important;
}

.mb-90-20 {
  -o-object-position: 90% 20% !important;
     object-position: 90% 20% !important;
}

.mb-90-30 {
  -o-object-position: 90% 30% !important;
     object-position: 90% 30% !important;
}

.mb-90-40 {
  -o-object-position: 90% 40% !important;
     object-position: 90% 40% !important;
}

.mb-90-50 {
  -o-object-position: 90% 50% !important;
     object-position: 90% 50% !important;
}

.mb-90-60 {
  -o-object-position: 90% 60% !important;
     object-position: 90% 60% !important;
}

.mb-90-70 {
  -o-object-position: 90% 70% !important;
     object-position: 90% 70% !important;
}

.mb-90-80 {
  -o-object-position: 90% 80% !important;
     object-position: 90% 80% !important;
}

.mb-90-90 {
  -o-object-position: 90% 90% !important;
     object-position: 90% 90% !important;
}

.mb-90-100 {
  -o-object-position: 90% 100% !important;
     object-position: 90% 100% !important;
}

.mb-100-0 {
  -o-object-position: 100% 0% !important;
     object-position: 100% 0% !important;
}

.mb-100-10 {
  -o-object-position: 100% 10% !important;
     object-position: 100% 10% !important;
}

.mb-100-20 {
  -o-object-position: 100% 20% !important;
     object-position: 100% 20% !important;
}

.mb-100-30 {
  -o-object-position: 100% 30% !important;
     object-position: 100% 30% !important;
}

.mb-100-40 {
  -o-object-position: 100% 40% !important;
     object-position: 100% 40% !important;
}

.mb-100-50 {
  -o-object-position: 100% 50% !important;
     object-position: 100% 50% !important;
}

.mb-100-60 {
  -o-object-position: 100% 60% !important;
     object-position: 100% 60% !important;
}

.mb-100-70 {
  -o-object-position: 100% 70% !important;
     object-position: 100% 70% !important;
}

.mb-100-80 {
  -o-object-position: 100% 80% !important;
     object-position: 100% 80% !important;
}

.mb-100-90 {
  -o-object-position: 100% 90% !important;
     object-position: 100% 90% !important;
}

.mb-100-100 {
  -o-object-position: 100% 100% !important;
     object-position: 100% 100% !important;
}

@media (min-width: 768px) {
  .sm-0-0 {
    -o-object-position: 0% 0% !important;
       object-position: 0% 0% !important;
  }
}
@media (min-width: 768px) {
  .sm-0-10 {
    -o-object-position: 0% 10% !important;
       object-position: 0% 10% !important;
  }
}
@media (min-width: 768px) {
  .sm-0-20 {
    -o-object-position: 0% 20% !important;
       object-position: 0% 20% !important;
  }
}
@media (min-width: 768px) {
  .sm-0-30 {
    -o-object-position: 0% 30% !important;
       object-position: 0% 30% !important;
  }
}
@media (min-width: 768px) {
  .sm-0-40 {
    -o-object-position: 0% 40% !important;
       object-position: 0% 40% !important;
  }
}
@media (min-width: 768px) {
  .sm-0-50 {
    -o-object-position: 0% 50% !important;
       object-position: 0% 50% !important;
  }
}
@media (min-width: 768px) {
  .sm-0-60 {
    -o-object-position: 0% 60% !important;
       object-position: 0% 60% !important;
  }
}
@media (min-width: 768px) {
  .sm-0-70 {
    -o-object-position: 0% 70% !important;
       object-position: 0% 70% !important;
  }
}
@media (min-width: 768px) {
  .sm-0-80 {
    -o-object-position: 0% 80% !important;
       object-position: 0% 80% !important;
  }
}
@media (min-width: 768px) {
  .sm-0-90 {
    -o-object-position: 0% 90% !important;
       object-position: 0% 90% !important;
  }
}
@media (min-width: 768px) {
  .sm-0-100 {
    -o-object-position: 0% 100% !important;
       object-position: 0% 100% !important;
  }
}
@media (min-width: 768px) {
  .sm-10-0 {
    -o-object-position: 10% 0% !important;
       object-position: 10% 0% !important;
  }
}
@media (min-width: 768px) {
  .sm-10-10 {
    -o-object-position: 10% 10% !important;
       object-position: 10% 10% !important;
  }
}
@media (min-width: 768px) {
  .sm-10-20 {
    -o-object-position: 10% 20% !important;
       object-position: 10% 20% !important;
  }
}
@media (min-width: 768px) {
  .sm-10-30 {
    -o-object-position: 10% 30% !important;
       object-position: 10% 30% !important;
  }
}
@media (min-width: 768px) {
  .sm-10-40 {
    -o-object-position: 10% 40% !important;
       object-position: 10% 40% !important;
  }
}
@media (min-width: 768px) {
  .sm-10-50 {
    -o-object-position: 10% 50% !important;
       object-position: 10% 50% !important;
  }
}
@media (min-width: 768px) {
  .sm-10-60 {
    -o-object-position: 10% 60% !important;
       object-position: 10% 60% !important;
  }
}
@media (min-width: 768px) {
  .sm-10-70 {
    -o-object-position: 10% 70% !important;
       object-position: 10% 70% !important;
  }
}
@media (min-width: 768px) {
  .sm-10-80 {
    -o-object-position: 10% 80% !important;
       object-position: 10% 80% !important;
  }
}
@media (min-width: 768px) {
  .sm-10-90 {
    -o-object-position: 10% 90% !important;
       object-position: 10% 90% !important;
  }
}
@media (min-width: 768px) {
  .sm-10-100 {
    -o-object-position: 10% 100% !important;
       object-position: 10% 100% !important;
  }
}
@media (min-width: 768px) {
  .sm-20-0 {
    -o-object-position: 20% 0% !important;
       object-position: 20% 0% !important;
  }
}
@media (min-width: 768px) {
  .sm-20-10 {
    -o-object-position: 20% 10% !important;
       object-position: 20% 10% !important;
  }
}
@media (min-width: 768px) {
  .sm-20-20 {
    -o-object-position: 20% 20% !important;
       object-position: 20% 20% !important;
  }
}
@media (min-width: 768px) {
  .sm-20-30 {
    -o-object-position: 20% 30% !important;
       object-position: 20% 30% !important;
  }
}
@media (min-width: 768px) {
  .sm-20-40 {
    -o-object-position: 20% 40% !important;
       object-position: 20% 40% !important;
  }
}
@media (min-width: 768px) {
  .sm-20-50 {
    -o-object-position: 20% 50% !important;
       object-position: 20% 50% !important;
  }
}
@media (min-width: 768px) {
  .sm-20-60 {
    -o-object-position: 20% 60% !important;
       object-position: 20% 60% !important;
  }
}
@media (min-width: 768px) {
  .sm-20-70 {
    -o-object-position: 20% 70% !important;
       object-position: 20% 70% !important;
  }
}
@media (min-width: 768px) {
  .sm-20-80 {
    -o-object-position: 20% 80% !important;
       object-position: 20% 80% !important;
  }
}
@media (min-width: 768px) {
  .sm-20-90 {
    -o-object-position: 20% 90% !important;
       object-position: 20% 90% !important;
  }
}
@media (min-width: 768px) {
  .sm-20-100 {
    -o-object-position: 20% 100% !important;
       object-position: 20% 100% !important;
  }
}
@media (min-width: 768px) {
  .sm-30-0 {
    -o-object-position: 30% 0% !important;
       object-position: 30% 0% !important;
  }
}
@media (min-width: 768px) {
  .sm-30-10 {
    -o-object-position: 30% 10% !important;
       object-position: 30% 10% !important;
  }
}
@media (min-width: 768px) {
  .sm-30-20 {
    -o-object-position: 30% 20% !important;
       object-position: 30% 20% !important;
  }
}
@media (min-width: 768px) {
  .sm-30-30 {
    -o-object-position: 30% 30% !important;
       object-position: 30% 30% !important;
  }
}
@media (min-width: 768px) {
  .sm-30-40 {
    -o-object-position: 30% 40% !important;
       object-position: 30% 40% !important;
  }
}
@media (min-width: 768px) {
  .sm-30-50 {
    -o-object-position: 30% 50% !important;
       object-position: 30% 50% !important;
  }
}
@media (min-width: 768px) {
  .sm-30-60 {
    -o-object-position: 30% 60% !important;
       object-position: 30% 60% !important;
  }
}
@media (min-width: 768px) {
  .sm-30-70 {
    -o-object-position: 30% 70% !important;
       object-position: 30% 70% !important;
  }
}
@media (min-width: 768px) {
  .sm-30-80 {
    -o-object-position: 30% 80% !important;
       object-position: 30% 80% !important;
  }
}
@media (min-width: 768px) {
  .sm-30-90 {
    -o-object-position: 30% 90% !important;
       object-position: 30% 90% !important;
  }
}
@media (min-width: 768px) {
  .sm-30-100 {
    -o-object-position: 30% 100% !important;
       object-position: 30% 100% !important;
  }
}
@media (min-width: 768px) {
  .sm-40-0 {
    -o-object-position: 40% 0% !important;
       object-position: 40% 0% !important;
  }
}
@media (min-width: 768px) {
  .sm-40-10 {
    -o-object-position: 40% 10% !important;
       object-position: 40% 10% !important;
  }
}
@media (min-width: 768px) {
  .sm-40-20 {
    -o-object-position: 40% 20% !important;
       object-position: 40% 20% !important;
  }
}
@media (min-width: 768px) {
  .sm-40-30 {
    -o-object-position: 40% 30% !important;
       object-position: 40% 30% !important;
  }
}
@media (min-width: 768px) {
  .sm-40-40 {
    -o-object-position: 40% 40% !important;
       object-position: 40% 40% !important;
  }
}
@media (min-width: 768px) {
  .sm-40-50 {
    -o-object-position: 40% 50% !important;
       object-position: 40% 50% !important;
  }
}
@media (min-width: 768px) {
  .sm-40-60 {
    -o-object-position: 40% 60% !important;
       object-position: 40% 60% !important;
  }
}
@media (min-width: 768px) {
  .sm-40-70 {
    -o-object-position: 40% 70% !important;
       object-position: 40% 70% !important;
  }
}
@media (min-width: 768px) {
  .sm-40-80 {
    -o-object-position: 40% 80% !important;
       object-position: 40% 80% !important;
  }
}
@media (min-width: 768px) {
  .sm-40-90 {
    -o-object-position: 40% 90% !important;
       object-position: 40% 90% !important;
  }
}
@media (min-width: 768px) {
  .sm-40-100 {
    -o-object-position: 40% 100% !important;
       object-position: 40% 100% !important;
  }
}
@media (min-width: 768px) {
  .sm-50-0 {
    -o-object-position: 50% 0% !important;
       object-position: 50% 0% !important;
  }
}
@media (min-width: 768px) {
  .sm-50-10 {
    -o-object-position: 50% 10% !important;
       object-position: 50% 10% !important;
  }
}
@media (min-width: 768px) {
  .sm-50-20 {
    -o-object-position: 50% 20% !important;
       object-position: 50% 20% !important;
  }
}
@media (min-width: 768px) {
  .sm-50-30 {
    -o-object-position: 50% 30% !important;
       object-position: 50% 30% !important;
  }
}
@media (min-width: 768px) {
  .sm-50-40 {
    -o-object-position: 50% 40% !important;
       object-position: 50% 40% !important;
  }
}
@media (min-width: 768px) {
  .sm-50-50 {
    -o-object-position: 50% 50% !important;
       object-position: 50% 50% !important;
  }
}
@media (min-width: 768px) {
  .sm-50-60 {
    -o-object-position: 50% 60% !important;
       object-position: 50% 60% !important;
  }
}
@media (min-width: 768px) {
  .sm-50-70 {
    -o-object-position: 50% 70% !important;
       object-position: 50% 70% !important;
  }
}
@media (min-width: 768px) {
  .sm-50-80 {
    -o-object-position: 50% 80% !important;
       object-position: 50% 80% !important;
  }
}
@media (min-width: 768px) {
  .sm-50-90 {
    -o-object-position: 50% 90% !important;
       object-position: 50% 90% !important;
  }
}
@media (min-width: 768px) {
  .sm-50-100 {
    -o-object-position: 50% 100% !important;
       object-position: 50% 100% !important;
  }
}
@media (min-width: 768px) {
  .sm-60-0 {
    -o-object-position: 60% 0% !important;
       object-position: 60% 0% !important;
  }
}
@media (min-width: 768px) {
  .sm-60-10 {
    -o-object-position: 60% 10% !important;
       object-position: 60% 10% !important;
  }
}
@media (min-width: 768px) {
  .sm-60-20 {
    -o-object-position: 60% 20% !important;
       object-position: 60% 20% !important;
  }
}
@media (min-width: 768px) {
  .sm-60-30 {
    -o-object-position: 60% 30% !important;
       object-position: 60% 30% !important;
  }
}
@media (min-width: 768px) {
  .sm-60-40 {
    -o-object-position: 60% 40% !important;
       object-position: 60% 40% !important;
  }
}
@media (min-width: 768px) {
  .sm-60-50 {
    -o-object-position: 60% 50% !important;
       object-position: 60% 50% !important;
  }
}
@media (min-width: 768px) {
  .sm-60-60 {
    -o-object-position: 60% 60% !important;
       object-position: 60% 60% !important;
  }
}
@media (min-width: 768px) {
  .sm-60-70 {
    -o-object-position: 60% 70% !important;
       object-position: 60% 70% !important;
  }
}
@media (min-width: 768px) {
  .sm-60-80 {
    -o-object-position: 60% 80% !important;
       object-position: 60% 80% !important;
  }
}
@media (min-width: 768px) {
  .sm-60-90 {
    -o-object-position: 60% 90% !important;
       object-position: 60% 90% !important;
  }
}
@media (min-width: 768px) {
  .sm-60-100 {
    -o-object-position: 60% 100% !important;
       object-position: 60% 100% !important;
  }
}
@media (min-width: 768px) {
  .sm-70-0 {
    -o-object-position: 70% 0% !important;
       object-position: 70% 0% !important;
  }
}
@media (min-width: 768px) {
  .sm-70-10 {
    -o-object-position: 70% 10% !important;
       object-position: 70% 10% !important;
  }
}
@media (min-width: 768px) {
  .sm-70-20 {
    -o-object-position: 70% 20% !important;
       object-position: 70% 20% !important;
  }
}
@media (min-width: 768px) {
  .sm-70-30 {
    -o-object-position: 70% 30% !important;
       object-position: 70% 30% !important;
  }
}
@media (min-width: 768px) {
  .sm-70-40 {
    -o-object-position: 70% 40% !important;
       object-position: 70% 40% !important;
  }
}
@media (min-width: 768px) {
  .sm-70-50 {
    -o-object-position: 70% 50% !important;
       object-position: 70% 50% !important;
  }
}
@media (min-width: 768px) {
  .sm-70-60 {
    -o-object-position: 70% 60% !important;
       object-position: 70% 60% !important;
  }
}
@media (min-width: 768px) {
  .sm-70-70 {
    -o-object-position: 70% 70% !important;
       object-position: 70% 70% !important;
  }
}
@media (min-width: 768px) {
  .sm-70-80 {
    -o-object-position: 70% 80% !important;
       object-position: 70% 80% !important;
  }
}
@media (min-width: 768px) {
  .sm-70-90 {
    -o-object-position: 70% 90% !important;
       object-position: 70% 90% !important;
  }
}
@media (min-width: 768px) {
  .sm-70-100 {
    -o-object-position: 70% 100% !important;
       object-position: 70% 100% !important;
  }
}
@media (min-width: 768px) {
  .sm-80-0 {
    -o-object-position: 80% 0% !important;
       object-position: 80% 0% !important;
  }
}
@media (min-width: 768px) {
  .sm-80-10 {
    -o-object-position: 80% 10% !important;
       object-position: 80% 10% !important;
  }
}
@media (min-width: 768px) {
  .sm-80-20 {
    -o-object-position: 80% 20% !important;
       object-position: 80% 20% !important;
  }
}
@media (min-width: 768px) {
  .sm-80-30 {
    -o-object-position: 80% 30% !important;
       object-position: 80% 30% !important;
  }
}
@media (min-width: 768px) {
  .sm-80-40 {
    -o-object-position: 80% 40% !important;
       object-position: 80% 40% !important;
  }
}
@media (min-width: 768px) {
  .sm-80-50 {
    -o-object-position: 80% 50% !important;
       object-position: 80% 50% !important;
  }
}
@media (min-width: 768px) {
  .sm-80-60 {
    -o-object-position: 80% 60% !important;
       object-position: 80% 60% !important;
  }
}
@media (min-width: 768px) {
  .sm-80-70 {
    -o-object-position: 80% 70% !important;
       object-position: 80% 70% !important;
  }
}
@media (min-width: 768px) {
  .sm-80-80 {
    -o-object-position: 80% 80% !important;
       object-position: 80% 80% !important;
  }
}
@media (min-width: 768px) {
  .sm-80-90 {
    -o-object-position: 80% 90% !important;
       object-position: 80% 90% !important;
  }
}
@media (min-width: 768px) {
  .sm-80-100 {
    -o-object-position: 80% 100% !important;
       object-position: 80% 100% !important;
  }
}
@media (min-width: 768px) {
  .sm-90-0 {
    -o-object-position: 90% 0% !important;
       object-position: 90% 0% !important;
  }
}
@media (min-width: 768px) {
  .sm-90-10 {
    -o-object-position: 90% 10% !important;
       object-position: 90% 10% !important;
  }
}
@media (min-width: 768px) {
  .sm-90-20 {
    -o-object-position: 90% 20% !important;
       object-position: 90% 20% !important;
  }
}
@media (min-width: 768px) {
  .sm-90-30 {
    -o-object-position: 90% 30% !important;
       object-position: 90% 30% !important;
  }
}
@media (min-width: 768px) {
  .sm-90-40 {
    -o-object-position: 90% 40% !important;
       object-position: 90% 40% !important;
  }
}
@media (min-width: 768px) {
  .sm-90-50 {
    -o-object-position: 90% 50% !important;
       object-position: 90% 50% !important;
  }
}
@media (min-width: 768px) {
  .sm-90-60 {
    -o-object-position: 90% 60% !important;
       object-position: 90% 60% !important;
  }
}
@media (min-width: 768px) {
  .sm-90-70 {
    -o-object-position: 90% 70% !important;
       object-position: 90% 70% !important;
  }
}
@media (min-width: 768px) {
  .sm-90-80 {
    -o-object-position: 90% 80% !important;
       object-position: 90% 80% !important;
  }
}
@media (min-width: 768px) {
  .sm-90-90 {
    -o-object-position: 90% 90% !important;
       object-position: 90% 90% !important;
  }
}
@media (min-width: 768px) {
  .sm-90-100 {
    -o-object-position: 90% 100% !important;
       object-position: 90% 100% !important;
  }
}
@media (min-width: 768px) {
  .sm-100-0 {
    -o-object-position: 100% 0% !important;
       object-position: 100% 0% !important;
  }
}
@media (min-width: 768px) {
  .sm-100-10 {
    -o-object-position: 100% 10% !important;
       object-position: 100% 10% !important;
  }
}
@media (min-width: 768px) {
  .sm-100-20 {
    -o-object-position: 100% 20% !important;
       object-position: 100% 20% !important;
  }
}
@media (min-width: 768px) {
  .sm-100-30 {
    -o-object-position: 100% 30% !important;
       object-position: 100% 30% !important;
  }
}
@media (min-width: 768px) {
  .sm-100-40 {
    -o-object-position: 100% 40% !important;
       object-position: 100% 40% !important;
  }
}
@media (min-width: 768px) {
  .sm-100-50 {
    -o-object-position: 100% 50% !important;
       object-position: 100% 50% !important;
  }
}
@media (min-width: 768px) {
  .sm-100-60 {
    -o-object-position: 100% 60% !important;
       object-position: 100% 60% !important;
  }
}
@media (min-width: 768px) {
  .sm-100-70 {
    -o-object-position: 100% 70% !important;
       object-position: 100% 70% !important;
  }
}
@media (min-width: 768px) {
  .sm-100-80 {
    -o-object-position: 100% 80% !important;
       object-position: 100% 80% !important;
  }
}
@media (min-width: 768px) {
  .sm-100-90 {
    -o-object-position: 100% 90% !important;
       object-position: 100% 90% !important;
  }
}
@media (min-width: 768px) {
  .sm-100-100 {
    -o-object-position: 100% 100% !important;
       object-position: 100% 100% !important;
  }
}
@media (min-width: 992px) {
  .md-0-0 {
    -o-object-position: 0% 0% !important;
       object-position: 0% 0% !important;
  }
}
@media (min-width: 992px) {
  .md-0-10 {
    -o-object-position: 0% 10% !important;
       object-position: 0% 10% !important;
  }
}
@media (min-width: 992px) {
  .md-0-20 {
    -o-object-position: 0% 20% !important;
       object-position: 0% 20% !important;
  }
}
@media (min-width: 992px) {
  .md-0-30 {
    -o-object-position: 0% 30% !important;
       object-position: 0% 30% !important;
  }
}
@media (min-width: 992px) {
  .md-0-40 {
    -o-object-position: 0% 40% !important;
       object-position: 0% 40% !important;
  }
}
@media (min-width: 992px) {
  .md-0-50 {
    -o-object-position: 0% 50% !important;
       object-position: 0% 50% !important;
  }
}
@media (min-width: 992px) {
  .md-0-60 {
    -o-object-position: 0% 60% !important;
       object-position: 0% 60% !important;
  }
}
@media (min-width: 992px) {
  .md-0-70 {
    -o-object-position: 0% 70% !important;
       object-position: 0% 70% !important;
  }
}
@media (min-width: 992px) {
  .md-0-80 {
    -o-object-position: 0% 80% !important;
       object-position: 0% 80% !important;
  }
}
@media (min-width: 992px) {
  .md-0-90 {
    -o-object-position: 0% 90% !important;
       object-position: 0% 90% !important;
  }
}
@media (min-width: 992px) {
  .md-0-100 {
    -o-object-position: 0% 100% !important;
       object-position: 0% 100% !important;
  }
}
@media (min-width: 992px) {
  .md-10-0 {
    -o-object-position: 10% 0% !important;
       object-position: 10% 0% !important;
  }
}
@media (min-width: 992px) {
  .md-10-10 {
    -o-object-position: 10% 10% !important;
       object-position: 10% 10% !important;
  }
}
@media (min-width: 992px) {
  .md-10-20 {
    -o-object-position: 10% 20% !important;
       object-position: 10% 20% !important;
  }
}
@media (min-width: 992px) {
  .md-10-30 {
    -o-object-position: 10% 30% !important;
       object-position: 10% 30% !important;
  }
}
@media (min-width: 992px) {
  .md-10-40 {
    -o-object-position: 10% 40% !important;
       object-position: 10% 40% !important;
  }
}
@media (min-width: 992px) {
  .md-10-50 {
    -o-object-position: 10% 50% !important;
       object-position: 10% 50% !important;
  }
}
@media (min-width: 992px) {
  .md-10-60 {
    -o-object-position: 10% 60% !important;
       object-position: 10% 60% !important;
  }
}
@media (min-width: 992px) {
  .md-10-70 {
    -o-object-position: 10% 70% !important;
       object-position: 10% 70% !important;
  }
}
@media (min-width: 992px) {
  .md-10-80 {
    -o-object-position: 10% 80% !important;
       object-position: 10% 80% !important;
  }
}
@media (min-width: 992px) {
  .md-10-90 {
    -o-object-position: 10% 90% !important;
       object-position: 10% 90% !important;
  }
}
@media (min-width: 992px) {
  .md-10-100 {
    -o-object-position: 10% 100% !important;
       object-position: 10% 100% !important;
  }
}
@media (min-width: 992px) {
  .md-20-0 {
    -o-object-position: 20% 0% !important;
       object-position: 20% 0% !important;
  }
}
@media (min-width: 992px) {
  .md-20-10 {
    -o-object-position: 20% 10% !important;
       object-position: 20% 10% !important;
  }
}
@media (min-width: 992px) {
  .md-20-20 {
    -o-object-position: 20% 20% !important;
       object-position: 20% 20% !important;
  }
}
@media (min-width: 992px) {
  .md-20-30 {
    -o-object-position: 20% 30% !important;
       object-position: 20% 30% !important;
  }
}
@media (min-width: 992px) {
  .md-20-40 {
    -o-object-position: 20% 40% !important;
       object-position: 20% 40% !important;
  }
}
@media (min-width: 992px) {
  .md-20-50 {
    -o-object-position: 20% 50% !important;
       object-position: 20% 50% !important;
  }
}
@media (min-width: 992px) {
  .md-20-60 {
    -o-object-position: 20% 60% !important;
       object-position: 20% 60% !important;
  }
}
@media (min-width: 992px) {
  .md-20-70 {
    -o-object-position: 20% 70% !important;
       object-position: 20% 70% !important;
  }
}
@media (min-width: 992px) {
  .md-20-80 {
    -o-object-position: 20% 80% !important;
       object-position: 20% 80% !important;
  }
}
@media (min-width: 992px) {
  .md-20-90 {
    -o-object-position: 20% 90% !important;
       object-position: 20% 90% !important;
  }
}
@media (min-width: 992px) {
  .md-20-100 {
    -o-object-position: 20% 100% !important;
       object-position: 20% 100% !important;
  }
}
@media (min-width: 992px) {
  .md-30-0 {
    -o-object-position: 30% 0% !important;
       object-position: 30% 0% !important;
  }
}
@media (min-width: 992px) {
  .md-30-10 {
    -o-object-position: 30% 10% !important;
       object-position: 30% 10% !important;
  }
}
@media (min-width: 992px) {
  .md-30-20 {
    -o-object-position: 30% 20% !important;
       object-position: 30% 20% !important;
  }
}
@media (min-width: 992px) {
  .md-30-30 {
    -o-object-position: 30% 30% !important;
       object-position: 30% 30% !important;
  }
}
@media (min-width: 992px) {
  .md-30-40 {
    -o-object-position: 30% 40% !important;
       object-position: 30% 40% !important;
  }
}
@media (min-width: 992px) {
  .md-30-50 {
    -o-object-position: 30% 50% !important;
       object-position: 30% 50% !important;
  }
}
@media (min-width: 992px) {
  .md-30-60 {
    -o-object-position: 30% 60% !important;
       object-position: 30% 60% !important;
  }
}
@media (min-width: 992px) {
  .md-30-70 {
    -o-object-position: 30% 70% !important;
       object-position: 30% 70% !important;
  }
}
@media (min-width: 992px) {
  .md-30-80 {
    -o-object-position: 30% 80% !important;
       object-position: 30% 80% !important;
  }
}
@media (min-width: 992px) {
  .md-30-90 {
    -o-object-position: 30% 90% !important;
       object-position: 30% 90% !important;
  }
}
@media (min-width: 992px) {
  .md-30-100 {
    -o-object-position: 30% 100% !important;
       object-position: 30% 100% !important;
  }
}
@media (min-width: 992px) {
  .md-40-0 {
    -o-object-position: 40% 0% !important;
       object-position: 40% 0% !important;
  }
}
@media (min-width: 992px) {
  .md-40-10 {
    -o-object-position: 40% 10% !important;
       object-position: 40% 10% !important;
  }
}
@media (min-width: 992px) {
  .md-40-20 {
    -o-object-position: 40% 20% !important;
       object-position: 40% 20% !important;
  }
}
@media (min-width: 992px) {
  .md-40-30 {
    -o-object-position: 40% 30% !important;
       object-position: 40% 30% !important;
  }
}
@media (min-width: 992px) {
  .md-40-40 {
    -o-object-position: 40% 40% !important;
       object-position: 40% 40% !important;
  }
}
@media (min-width: 992px) {
  .md-40-50 {
    -o-object-position: 40% 50% !important;
       object-position: 40% 50% !important;
  }
}
@media (min-width: 992px) {
  .md-40-60 {
    -o-object-position: 40% 60% !important;
       object-position: 40% 60% !important;
  }
}
@media (min-width: 992px) {
  .md-40-70 {
    -o-object-position: 40% 70% !important;
       object-position: 40% 70% !important;
  }
}
@media (min-width: 992px) {
  .md-40-80 {
    -o-object-position: 40% 80% !important;
       object-position: 40% 80% !important;
  }
}
@media (min-width: 992px) {
  .md-40-90 {
    -o-object-position: 40% 90% !important;
       object-position: 40% 90% !important;
  }
}
@media (min-width: 992px) {
  .md-40-100 {
    -o-object-position: 40% 100% !important;
       object-position: 40% 100% !important;
  }
}
@media (min-width: 992px) {
  .md-50-0 {
    -o-object-position: 50% 0% !important;
       object-position: 50% 0% !important;
  }
}
@media (min-width: 992px) {
  .md-50-10 {
    -o-object-position: 50% 10% !important;
       object-position: 50% 10% !important;
  }
}
@media (min-width: 992px) {
  .md-50-20 {
    -o-object-position: 50% 20% !important;
       object-position: 50% 20% !important;
  }
}
@media (min-width: 992px) {
  .md-50-30 {
    -o-object-position: 50% 30% !important;
       object-position: 50% 30% !important;
  }
}
@media (min-width: 992px) {
  .md-50-40 {
    -o-object-position: 50% 40% !important;
       object-position: 50% 40% !important;
  }
}
@media (min-width: 992px) {
  .md-50-50 {
    -o-object-position: 50% 50% !important;
       object-position: 50% 50% !important;
  }
}
@media (min-width: 992px) {
  .md-50-60 {
    -o-object-position: 50% 60% !important;
       object-position: 50% 60% !important;
  }
}
@media (min-width: 992px) {
  .md-50-70 {
    -o-object-position: 50% 70% !important;
       object-position: 50% 70% !important;
  }
}
@media (min-width: 992px) {
  .md-50-80 {
    -o-object-position: 50% 80% !important;
       object-position: 50% 80% !important;
  }
}
@media (min-width: 992px) {
  .md-50-90 {
    -o-object-position: 50% 90% !important;
       object-position: 50% 90% !important;
  }
}
@media (min-width: 992px) {
  .md-50-100 {
    -o-object-position: 50% 100% !important;
       object-position: 50% 100% !important;
  }
}
@media (min-width: 992px) {
  .md-60-0 {
    -o-object-position: 60% 0% !important;
       object-position: 60% 0% !important;
  }
}
@media (min-width: 992px) {
  .md-60-10 {
    -o-object-position: 60% 10% !important;
       object-position: 60% 10% !important;
  }
}
@media (min-width: 992px) {
  .md-60-20 {
    -o-object-position: 60% 20% !important;
       object-position: 60% 20% !important;
  }
}
@media (min-width: 992px) {
  .md-60-30 {
    -o-object-position: 60% 30% !important;
       object-position: 60% 30% !important;
  }
}
@media (min-width: 992px) {
  .md-60-40 {
    -o-object-position: 60% 40% !important;
       object-position: 60% 40% !important;
  }
}
@media (min-width: 992px) {
  .md-60-50 {
    -o-object-position: 60% 50% !important;
       object-position: 60% 50% !important;
  }
}
@media (min-width: 992px) {
  .md-60-60 {
    -o-object-position: 60% 60% !important;
       object-position: 60% 60% !important;
  }
}
@media (min-width: 992px) {
  .md-60-70 {
    -o-object-position: 60% 70% !important;
       object-position: 60% 70% !important;
  }
}
@media (min-width: 992px) {
  .md-60-80 {
    -o-object-position: 60% 80% !important;
       object-position: 60% 80% !important;
  }
}
@media (min-width: 992px) {
  .md-60-90 {
    -o-object-position: 60% 90% !important;
       object-position: 60% 90% !important;
  }
}
@media (min-width: 992px) {
  .md-60-100 {
    -o-object-position: 60% 100% !important;
       object-position: 60% 100% !important;
  }
}
@media (min-width: 992px) {
  .md-70-0 {
    -o-object-position: 70% 0% !important;
       object-position: 70% 0% !important;
  }
}
@media (min-width: 992px) {
  .md-70-10 {
    -o-object-position: 70% 10% !important;
       object-position: 70% 10% !important;
  }
}
@media (min-width: 992px) {
  .md-70-20 {
    -o-object-position: 70% 20% !important;
       object-position: 70% 20% !important;
  }
}
@media (min-width: 992px) {
  .md-70-30 {
    -o-object-position: 70% 30% !important;
       object-position: 70% 30% !important;
  }
}
@media (min-width: 992px) {
  .md-70-40 {
    -o-object-position: 70% 40% !important;
       object-position: 70% 40% !important;
  }
}
@media (min-width: 992px) {
  .md-70-50 {
    -o-object-position: 70% 50% !important;
       object-position: 70% 50% !important;
  }
}
@media (min-width: 992px) {
  .md-70-60 {
    -o-object-position: 70% 60% !important;
       object-position: 70% 60% !important;
  }
}
@media (min-width: 992px) {
  .md-70-70 {
    -o-object-position: 70% 70% !important;
       object-position: 70% 70% !important;
  }
}
@media (min-width: 992px) {
  .md-70-80 {
    -o-object-position: 70% 80% !important;
       object-position: 70% 80% !important;
  }
}
@media (min-width: 992px) {
  .md-70-90 {
    -o-object-position: 70% 90% !important;
       object-position: 70% 90% !important;
  }
}
@media (min-width: 992px) {
  .md-70-100 {
    -o-object-position: 70% 100% !important;
       object-position: 70% 100% !important;
  }
}
@media (min-width: 992px) {
  .md-80-0 {
    -o-object-position: 80% 0% !important;
       object-position: 80% 0% !important;
  }
}
@media (min-width: 992px) {
  .md-80-10 {
    -o-object-position: 80% 10% !important;
       object-position: 80% 10% !important;
  }
}
@media (min-width: 992px) {
  .md-80-20 {
    -o-object-position: 80% 20% !important;
       object-position: 80% 20% !important;
  }
}
@media (min-width: 992px) {
  .md-80-30 {
    -o-object-position: 80% 30% !important;
       object-position: 80% 30% !important;
  }
}
@media (min-width: 992px) {
  .md-80-40 {
    -o-object-position: 80% 40% !important;
       object-position: 80% 40% !important;
  }
}
@media (min-width: 992px) {
  .md-80-50 {
    -o-object-position: 80% 50% !important;
       object-position: 80% 50% !important;
  }
}
@media (min-width: 992px) {
  .md-80-60 {
    -o-object-position: 80% 60% !important;
       object-position: 80% 60% !important;
  }
}
@media (min-width: 992px) {
  .md-80-70 {
    -o-object-position: 80% 70% !important;
       object-position: 80% 70% !important;
  }
}
@media (min-width: 992px) {
  .md-80-80 {
    -o-object-position: 80% 80% !important;
       object-position: 80% 80% !important;
  }
}
@media (min-width: 992px) {
  .md-80-90 {
    -o-object-position: 80% 90% !important;
       object-position: 80% 90% !important;
  }
}
@media (min-width: 992px) {
  .md-80-100 {
    -o-object-position: 80% 100% !important;
       object-position: 80% 100% !important;
  }
}
@media (min-width: 992px) {
  .md-90-0 {
    -o-object-position: 90% 0% !important;
       object-position: 90% 0% !important;
  }
}
@media (min-width: 992px) {
  .md-90-10 {
    -o-object-position: 90% 10% !important;
       object-position: 90% 10% !important;
  }
}
@media (min-width: 992px) {
  .md-90-20 {
    -o-object-position: 90% 20% !important;
       object-position: 90% 20% !important;
  }
}
@media (min-width: 992px) {
  .md-90-30 {
    -o-object-position: 90% 30% !important;
       object-position: 90% 30% !important;
  }
}
@media (min-width: 992px) {
  .md-90-40 {
    -o-object-position: 90% 40% !important;
       object-position: 90% 40% !important;
  }
}
@media (min-width: 992px) {
  .md-90-50 {
    -o-object-position: 90% 50% !important;
       object-position: 90% 50% !important;
  }
}
@media (min-width: 992px) {
  .md-90-60 {
    -o-object-position: 90% 60% !important;
       object-position: 90% 60% !important;
  }
}
@media (min-width: 992px) {
  .md-90-70 {
    -o-object-position: 90% 70% !important;
       object-position: 90% 70% !important;
  }
}
@media (min-width: 992px) {
  .md-90-80 {
    -o-object-position: 90% 80% !important;
       object-position: 90% 80% !important;
  }
}
@media (min-width: 992px) {
  .md-90-90 {
    -o-object-position: 90% 90% !important;
       object-position: 90% 90% !important;
  }
}
@media (min-width: 992px) {
  .md-90-100 {
    -o-object-position: 90% 100% !important;
       object-position: 90% 100% !important;
  }
}
@media (min-width: 992px) {
  .md-100-0 {
    -o-object-position: 100% 0% !important;
       object-position: 100% 0% !important;
  }
}
@media (min-width: 992px) {
  .md-100-10 {
    -o-object-position: 100% 10% !important;
       object-position: 100% 10% !important;
  }
}
@media (min-width: 992px) {
  .md-100-20 {
    -o-object-position: 100% 20% !important;
       object-position: 100% 20% !important;
  }
}
@media (min-width: 992px) {
  .md-100-30 {
    -o-object-position: 100% 30% !important;
       object-position: 100% 30% !important;
  }
}
@media (min-width: 992px) {
  .md-100-40 {
    -o-object-position: 100% 40% !important;
       object-position: 100% 40% !important;
  }
}
@media (min-width: 992px) {
  .md-100-50 {
    -o-object-position: 100% 50% !important;
       object-position: 100% 50% !important;
  }
}
@media (min-width: 992px) {
  .md-100-60 {
    -o-object-position: 100% 60% !important;
       object-position: 100% 60% !important;
  }
}
@media (min-width: 992px) {
  .md-100-70 {
    -o-object-position: 100% 70% !important;
       object-position: 100% 70% !important;
  }
}
@media (min-width: 992px) {
  .md-100-80 {
    -o-object-position: 100% 80% !important;
       object-position: 100% 80% !important;
  }
}
@media (min-width: 992px) {
  .md-100-90 {
    -o-object-position: 100% 90% !important;
       object-position: 100% 90% !important;
  }
}
@media (min-width: 992px) {
  .md-100-100 {
    -o-object-position: 100% 100% !important;
       object-position: 100% 100% !important;
  }
}
@media (min-width: 1300px) {
  .lg-0-0 {
    -o-object-position: 0% 0% !important;
       object-position: 0% 0% !important;
  }
}
@media (min-width: 1300px) {
  .lg-0-10 {
    -o-object-position: 0% 10% !important;
       object-position: 0% 10% !important;
  }
}
@media (min-width: 1300px) {
  .lg-0-20 {
    -o-object-position: 0% 20% !important;
       object-position: 0% 20% !important;
  }
}
@media (min-width: 1300px) {
  .lg-0-30 {
    -o-object-position: 0% 30% !important;
       object-position: 0% 30% !important;
  }
}
@media (min-width: 1300px) {
  .lg-0-40 {
    -o-object-position: 0% 40% !important;
       object-position: 0% 40% !important;
  }
}
@media (min-width: 1300px) {
  .lg-0-50 {
    -o-object-position: 0% 50% !important;
       object-position: 0% 50% !important;
  }
}
@media (min-width: 1300px) {
  .lg-0-60 {
    -o-object-position: 0% 60% !important;
       object-position: 0% 60% !important;
  }
}
@media (min-width: 1300px) {
  .lg-0-70 {
    -o-object-position: 0% 70% !important;
       object-position: 0% 70% !important;
  }
}
@media (min-width: 1300px) {
  .lg-0-80 {
    -o-object-position: 0% 80% !important;
       object-position: 0% 80% !important;
  }
}
@media (min-width: 1300px) {
  .lg-0-90 {
    -o-object-position: 0% 90% !important;
       object-position: 0% 90% !important;
  }
}
@media (min-width: 1300px) {
  .lg-0-100 {
    -o-object-position: 0% 100% !important;
       object-position: 0% 100% !important;
  }
}
@media (min-width: 1300px) {
  .lg-10-0 {
    -o-object-position: 10% 0% !important;
       object-position: 10% 0% !important;
  }
}
@media (min-width: 1300px) {
  .lg-10-10 {
    -o-object-position: 10% 10% !important;
       object-position: 10% 10% !important;
  }
}
@media (min-width: 1300px) {
  .lg-10-20 {
    -o-object-position: 10% 20% !important;
       object-position: 10% 20% !important;
  }
}
@media (min-width: 1300px) {
  .lg-10-30 {
    -o-object-position: 10% 30% !important;
       object-position: 10% 30% !important;
  }
}
@media (min-width: 1300px) {
  .lg-10-40 {
    -o-object-position: 10% 40% !important;
       object-position: 10% 40% !important;
  }
}
@media (min-width: 1300px) {
  .lg-10-50 {
    -o-object-position: 10% 50% !important;
       object-position: 10% 50% !important;
  }
}
@media (min-width: 1300px) {
  .lg-10-60 {
    -o-object-position: 10% 60% !important;
       object-position: 10% 60% !important;
  }
}
@media (min-width: 1300px) {
  .lg-10-70 {
    -o-object-position: 10% 70% !important;
       object-position: 10% 70% !important;
  }
}
@media (min-width: 1300px) {
  .lg-10-80 {
    -o-object-position: 10% 80% !important;
       object-position: 10% 80% !important;
  }
}
@media (min-width: 1300px) {
  .lg-10-90 {
    -o-object-position: 10% 90% !important;
       object-position: 10% 90% !important;
  }
}
@media (min-width: 1300px) {
  .lg-10-100 {
    -o-object-position: 10% 100% !important;
       object-position: 10% 100% !important;
  }
}
@media (min-width: 1300px) {
  .lg-20-0 {
    -o-object-position: 20% 0% !important;
       object-position: 20% 0% !important;
  }
}
@media (min-width: 1300px) {
  .lg-20-10 {
    -o-object-position: 20% 10% !important;
       object-position: 20% 10% !important;
  }
}
@media (min-width: 1300px) {
  .lg-20-20 {
    -o-object-position: 20% 20% !important;
       object-position: 20% 20% !important;
  }
}
@media (min-width: 1300px) {
  .lg-20-30 {
    -o-object-position: 20% 30% !important;
       object-position: 20% 30% !important;
  }
}
@media (min-width: 1300px) {
  .lg-20-40 {
    -o-object-position: 20% 40% !important;
       object-position: 20% 40% !important;
  }
}
@media (min-width: 1300px) {
  .lg-20-50 {
    -o-object-position: 20% 50% !important;
       object-position: 20% 50% !important;
  }
}
@media (min-width: 1300px) {
  .lg-20-60 {
    -o-object-position: 20% 60% !important;
       object-position: 20% 60% !important;
  }
}
@media (min-width: 1300px) {
  .lg-20-70 {
    -o-object-position: 20% 70% !important;
       object-position: 20% 70% !important;
  }
}
@media (min-width: 1300px) {
  .lg-20-80 {
    -o-object-position: 20% 80% !important;
       object-position: 20% 80% !important;
  }
}
@media (min-width: 1300px) {
  .lg-20-90 {
    -o-object-position: 20% 90% !important;
       object-position: 20% 90% !important;
  }
}
@media (min-width: 1300px) {
  .lg-20-100 {
    -o-object-position: 20% 100% !important;
       object-position: 20% 100% !important;
  }
}
@media (min-width: 1300px) {
  .lg-30-0 {
    -o-object-position: 30% 0% !important;
       object-position: 30% 0% !important;
  }
}
@media (min-width: 1300px) {
  .lg-30-10 {
    -o-object-position: 30% 10% !important;
       object-position: 30% 10% !important;
  }
}
@media (min-width: 1300px) {
  .lg-30-20 {
    -o-object-position: 30% 20% !important;
       object-position: 30% 20% !important;
  }
}
@media (min-width: 1300px) {
  .lg-30-30 {
    -o-object-position: 30% 30% !important;
       object-position: 30% 30% !important;
  }
}
@media (min-width: 1300px) {
  .lg-30-40 {
    -o-object-position: 30% 40% !important;
       object-position: 30% 40% !important;
  }
}
@media (min-width: 1300px) {
  .lg-30-50 {
    -o-object-position: 30% 50% !important;
       object-position: 30% 50% !important;
  }
}
@media (min-width: 1300px) {
  .lg-30-60 {
    -o-object-position: 30% 60% !important;
       object-position: 30% 60% !important;
  }
}
@media (min-width: 1300px) {
  .lg-30-70 {
    -o-object-position: 30% 70% !important;
       object-position: 30% 70% !important;
  }
}
@media (min-width: 1300px) {
  .lg-30-80 {
    -o-object-position: 30% 80% !important;
       object-position: 30% 80% !important;
  }
}
@media (min-width: 1300px) {
  .lg-30-90 {
    -o-object-position: 30% 90% !important;
       object-position: 30% 90% !important;
  }
}
@media (min-width: 1300px) {
  .lg-30-100 {
    -o-object-position: 30% 100% !important;
       object-position: 30% 100% !important;
  }
}
@media (min-width: 1300px) {
  .lg-40-0 {
    -o-object-position: 40% 0% !important;
       object-position: 40% 0% !important;
  }
}
@media (min-width: 1300px) {
  .lg-40-10 {
    -o-object-position: 40% 10% !important;
       object-position: 40% 10% !important;
  }
}
@media (min-width: 1300px) {
  .lg-40-20 {
    -o-object-position: 40% 20% !important;
       object-position: 40% 20% !important;
  }
}
@media (min-width: 1300px) {
  .lg-40-30 {
    -o-object-position: 40% 30% !important;
       object-position: 40% 30% !important;
  }
}
@media (min-width: 1300px) {
  .lg-40-40 {
    -o-object-position: 40% 40% !important;
       object-position: 40% 40% !important;
  }
}
@media (min-width: 1300px) {
  .lg-40-50 {
    -o-object-position: 40% 50% !important;
       object-position: 40% 50% !important;
  }
}
@media (min-width: 1300px) {
  .lg-40-60 {
    -o-object-position: 40% 60% !important;
       object-position: 40% 60% !important;
  }
}
@media (min-width: 1300px) {
  .lg-40-70 {
    -o-object-position: 40% 70% !important;
       object-position: 40% 70% !important;
  }
}
@media (min-width: 1300px) {
  .lg-40-80 {
    -o-object-position: 40% 80% !important;
       object-position: 40% 80% !important;
  }
}
@media (min-width: 1300px) {
  .lg-40-90 {
    -o-object-position: 40% 90% !important;
       object-position: 40% 90% !important;
  }
}
@media (min-width: 1300px) {
  .lg-40-100 {
    -o-object-position: 40% 100% !important;
       object-position: 40% 100% !important;
  }
}
@media (min-width: 1300px) {
  .lg-50-0 {
    -o-object-position: 50% 0% !important;
       object-position: 50% 0% !important;
  }
}
@media (min-width: 1300px) {
  .lg-50-10 {
    -o-object-position: 50% 10% !important;
       object-position: 50% 10% !important;
  }
}
@media (min-width: 1300px) {
  .lg-50-20 {
    -o-object-position: 50% 20% !important;
       object-position: 50% 20% !important;
  }
}
@media (min-width: 1300px) {
  .lg-50-30 {
    -o-object-position: 50% 30% !important;
       object-position: 50% 30% !important;
  }
}
@media (min-width: 1300px) {
  .lg-50-40 {
    -o-object-position: 50% 40% !important;
       object-position: 50% 40% !important;
  }
}
@media (min-width: 1300px) {
  .lg-50-50 {
    -o-object-position: 50% 50% !important;
       object-position: 50% 50% !important;
  }
}
@media (min-width: 1300px) {
  .lg-50-60 {
    -o-object-position: 50% 60% !important;
       object-position: 50% 60% !important;
  }
}
@media (min-width: 1300px) {
  .lg-50-70 {
    -o-object-position: 50% 70% !important;
       object-position: 50% 70% !important;
  }
}
@media (min-width: 1300px) {
  .lg-50-80 {
    -o-object-position: 50% 80% !important;
       object-position: 50% 80% !important;
  }
}
@media (min-width: 1300px) {
  .lg-50-90 {
    -o-object-position: 50% 90% !important;
       object-position: 50% 90% !important;
  }
}
@media (min-width: 1300px) {
  .lg-50-100 {
    -o-object-position: 50% 100% !important;
       object-position: 50% 100% !important;
  }
}
@media (min-width: 1300px) {
  .lg-60-0 {
    -o-object-position: 60% 0% !important;
       object-position: 60% 0% !important;
  }
}
@media (min-width: 1300px) {
  .lg-60-10 {
    -o-object-position: 60% 10% !important;
       object-position: 60% 10% !important;
  }
}
@media (min-width: 1300px) {
  .lg-60-20 {
    -o-object-position: 60% 20% !important;
       object-position: 60% 20% !important;
  }
}
@media (min-width: 1300px) {
  .lg-60-30 {
    -o-object-position: 60% 30% !important;
       object-position: 60% 30% !important;
  }
}
@media (min-width: 1300px) {
  .lg-60-40 {
    -o-object-position: 60% 40% !important;
       object-position: 60% 40% !important;
  }
}
@media (min-width: 1300px) {
  .lg-60-50 {
    -o-object-position: 60% 50% !important;
       object-position: 60% 50% !important;
  }
}
@media (min-width: 1300px) {
  .lg-60-60 {
    -o-object-position: 60% 60% !important;
       object-position: 60% 60% !important;
  }
}
@media (min-width: 1300px) {
  .lg-60-70 {
    -o-object-position: 60% 70% !important;
       object-position: 60% 70% !important;
  }
}
@media (min-width: 1300px) {
  .lg-60-80 {
    -o-object-position: 60% 80% !important;
       object-position: 60% 80% !important;
  }
}
@media (min-width: 1300px) {
  .lg-60-90 {
    -o-object-position: 60% 90% !important;
       object-position: 60% 90% !important;
  }
}
@media (min-width: 1300px) {
  .lg-60-100 {
    -o-object-position: 60% 100% !important;
       object-position: 60% 100% !important;
  }
}
@media (min-width: 1300px) {
  .lg-70-0 {
    -o-object-position: 70% 0% !important;
       object-position: 70% 0% !important;
  }
}
@media (min-width: 1300px) {
  .lg-70-10 {
    -o-object-position: 70% 10% !important;
       object-position: 70% 10% !important;
  }
}
@media (min-width: 1300px) {
  .lg-70-20 {
    -o-object-position: 70% 20% !important;
       object-position: 70% 20% !important;
  }
}
@media (min-width: 1300px) {
  .lg-70-30 {
    -o-object-position: 70% 30% !important;
       object-position: 70% 30% !important;
  }
}
@media (min-width: 1300px) {
  .lg-70-40 {
    -o-object-position: 70% 40% !important;
       object-position: 70% 40% !important;
  }
}
@media (min-width: 1300px) {
  .lg-70-50 {
    -o-object-position: 70% 50% !important;
       object-position: 70% 50% !important;
  }
}
@media (min-width: 1300px) {
  .lg-70-60 {
    -o-object-position: 70% 60% !important;
       object-position: 70% 60% !important;
  }
}
@media (min-width: 1300px) {
  .lg-70-70 {
    -o-object-position: 70% 70% !important;
       object-position: 70% 70% !important;
  }
}
@media (min-width: 1300px) {
  .lg-70-80 {
    -o-object-position: 70% 80% !important;
       object-position: 70% 80% !important;
  }
}
@media (min-width: 1300px) {
  .lg-70-90 {
    -o-object-position: 70% 90% !important;
       object-position: 70% 90% !important;
  }
}
@media (min-width: 1300px) {
  .lg-70-100 {
    -o-object-position: 70% 100% !important;
       object-position: 70% 100% !important;
  }
}
@media (min-width: 1300px) {
  .lg-80-0 {
    -o-object-position: 80% 0% !important;
       object-position: 80% 0% !important;
  }
}
@media (min-width: 1300px) {
  .lg-80-10 {
    -o-object-position: 80% 10% !important;
       object-position: 80% 10% !important;
  }
}
@media (min-width: 1300px) {
  .lg-80-20 {
    -o-object-position: 80% 20% !important;
       object-position: 80% 20% !important;
  }
}
@media (min-width: 1300px) {
  .lg-80-30 {
    -o-object-position: 80% 30% !important;
       object-position: 80% 30% !important;
  }
}
@media (min-width: 1300px) {
  .lg-80-40 {
    -o-object-position: 80% 40% !important;
       object-position: 80% 40% !important;
  }
}
@media (min-width: 1300px) {
  .lg-80-50 {
    -o-object-position: 80% 50% !important;
       object-position: 80% 50% !important;
  }
}
@media (min-width: 1300px) {
  .lg-80-60 {
    -o-object-position: 80% 60% !important;
       object-position: 80% 60% !important;
  }
}
@media (min-width: 1300px) {
  .lg-80-70 {
    -o-object-position: 80% 70% !important;
       object-position: 80% 70% !important;
  }
}
@media (min-width: 1300px) {
  .lg-80-80 {
    -o-object-position: 80% 80% !important;
       object-position: 80% 80% !important;
  }
}
@media (min-width: 1300px) {
  .lg-80-90 {
    -o-object-position: 80% 90% !important;
       object-position: 80% 90% !important;
  }
}
@media (min-width: 1300px) {
  .lg-80-100 {
    -o-object-position: 80% 100% !important;
       object-position: 80% 100% !important;
  }
}
@media (min-width: 1300px) {
  .lg-90-0 {
    -o-object-position: 90% 0% !important;
       object-position: 90% 0% !important;
  }
}
@media (min-width: 1300px) {
  .lg-90-10 {
    -o-object-position: 90% 10% !important;
       object-position: 90% 10% !important;
  }
}
@media (min-width: 1300px) {
  .lg-90-20 {
    -o-object-position: 90% 20% !important;
       object-position: 90% 20% !important;
  }
}
@media (min-width: 1300px) {
  .lg-90-30 {
    -o-object-position: 90% 30% !important;
       object-position: 90% 30% !important;
  }
}
@media (min-width: 1300px) {
  .lg-90-40 {
    -o-object-position: 90% 40% !important;
       object-position: 90% 40% !important;
  }
}
@media (min-width: 1300px) {
  .lg-90-50 {
    -o-object-position: 90% 50% !important;
       object-position: 90% 50% !important;
  }
}
@media (min-width: 1300px) {
  .lg-90-60 {
    -o-object-position: 90% 60% !important;
       object-position: 90% 60% !important;
  }
}
@media (min-width: 1300px) {
  .lg-90-70 {
    -o-object-position: 90% 70% !important;
       object-position: 90% 70% !important;
  }
}
@media (min-width: 1300px) {
  .lg-90-80 {
    -o-object-position: 90% 80% !important;
       object-position: 90% 80% !important;
  }
}
@media (min-width: 1300px) {
  .lg-90-90 {
    -o-object-position: 90% 90% !important;
       object-position: 90% 90% !important;
  }
}
@media (min-width: 1300px) {
  .lg-90-100 {
    -o-object-position: 90% 100% !important;
       object-position: 90% 100% !important;
  }
}
@media (min-width: 1300px) {
  .lg-100-0 {
    -o-object-position: 100% 0% !important;
       object-position: 100% 0% !important;
  }
}
@media (min-width: 1300px) {
  .lg-100-10 {
    -o-object-position: 100% 10% !important;
       object-position: 100% 10% !important;
  }
}
@media (min-width: 1300px) {
  .lg-100-20 {
    -o-object-position: 100% 20% !important;
       object-position: 100% 20% !important;
  }
}
@media (min-width: 1300px) {
  .lg-100-30 {
    -o-object-position: 100% 30% !important;
       object-position: 100% 30% !important;
  }
}
@media (min-width: 1300px) {
  .lg-100-40 {
    -o-object-position: 100% 40% !important;
       object-position: 100% 40% !important;
  }
}
@media (min-width: 1300px) {
  .lg-100-50 {
    -o-object-position: 100% 50% !important;
       object-position: 100% 50% !important;
  }
}
@media (min-width: 1300px) {
  .lg-100-60 {
    -o-object-position: 100% 60% !important;
       object-position: 100% 60% !important;
  }
}
@media (min-width: 1300px) {
  .lg-100-70 {
    -o-object-position: 100% 70% !important;
       object-position: 100% 70% !important;
  }
}
@media (min-width: 1300px) {
  .lg-100-80 {
    -o-object-position: 100% 80% !important;
       object-position: 100% 80% !important;
  }
}
@media (min-width: 1300px) {
  .lg-100-90 {
    -o-object-position: 100% 90% !important;
       object-position: 100% 90% !important;
  }
}
@media (min-width: 1300px) {
  .lg-100-100 {
    -o-object-position: 100% 100% !important;
       object-position: 100% 100% !important;
  }
}
.image-text-section {
  padding-bottom: 90px;
  --padding-size: 40px;
}
@media (min-width: 768px) {
  .image-text-section {
    --padding-size: 60px;
  }
}
@media (min-width: 992px) {
  .image-text-section {
    --padding-size: 100px;
    padding: var(--padding-size) 0;
  }
}
@media (min-width: 1300px) {
  .image-text-section {
    --padding-size: 140px;
  }
}
@media (min-width: 1600px) {
  .image-text-section {
    --padding-size: 160px;
  }
}
@media (min-width: 992px) {
  .image-text-section .image-text-section-inner {
    display: flex;
  }
}
.image-text-section .image-block {
  padding-top: var(--padding-size);
  padding-right: var(--padding-size);
  padding-bottom: 100px;
}
@media (min-width: 992px) {
  .image-text-section .image-block {
    padding: 0;
  }
}
.image-text-section .image-block-inner {
  position: relative;
  width: 100%;
  aspect-ratio: 7/8;
  max-height: 320px;
}
@media (min-width: 768px) {
  .image-text-section .image-block-inner {
    max-height: 400px;
  }
}
@media (min-width: 992px) {
  .image-text-section .image-block-inner {
    aspect-ratio: 68/90;
    max-height: unset;
    width: 45vw;
    min-height: 100%;
    max-height: 95vh;
  }
}
@media (min-width: 1300px) {
  .image-text-section .image-block-inner {
    width: 40vw;
  }
}
.image-text-section .image-block-inner img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
}
.image-text-section .image-tile {
  aspect-ratio: 1;
  width: var(--padding-size);
  background-color: #ffffff;
  position: absolute;
  bottom: 0;
  right: 0;
}
@media (min-width: 992px) {
  .image-text-section .image-tile {
    height: 16.6666666667%;
    width: auto;
  }
}
.image-text-section .image-caption {
  padding: 0 var(--container-indent);
  margin-top: 8px;
  font-size: 14px;
}
@media (min-width: 992px) {
  .image-text-section .image-caption {
    padding: 0 30px;
  }
}
@media (min-width: 1300px) {
  .image-text-section .image-caption {
    padding: 0 40px;
  }
}
@media (min-width: 1600px) {
  .image-text-section .image-caption {
    font-size: 15px;
  }
}
.image-text-section .content-block {
  padding: 0 var(--container-indent);
}
@media (min-width: 992px) {
  .image-text-section .content-block {
    flex: 1;
    padding: 50px 60px;
    display: flex;
    justify-content: center;
  }
}
@media (min-width: 1300px) {
  .image-text-section .content-block {
    padding: 60px 100px;
  }
}
@media (min-width: 1600px) {
  .image-text-section .content-block {
    padding: max(70px, 4%) 110px;
  }
}
@media (min-width: 992px) {
  .image-text-section .content-block-inner {
    max-width: 450px;
  }
}
@media (min-width: 1300px) {
  .image-text-section .content-block-inner {
    max-width: 600px;
  }
}
@media (min-width: 1600px) {
  .image-text-section .content-block-inner {
    max-width: max(680px, 50%);
  }
}
.image-text-section .heading-small {
  margin-bottom: 40px;
}
@media (min-width: 1300px) {
  .image-text-section .heading-small {
    margin-bottom: 50px;
  }
}
.image-text-section .heading-italics {
  font-size: 35px;
  text-wrap: balance;
}
@media (min-width: 992px) {
  .image-text-section .heading-italics {
    font-size: 42px;
  }
}
@media (min-width: 1300px) {
  .image-text-section .heading-italics {
    font-size: 50px;
  }
}
@media (min-width: 1600px) {
  .image-text-section .heading-italics {
    font-size: 58px;
  }
}
.image-text-section .main-copy {
  margin-top: 40px;
}
@media (min-width: 768px) {
  .image-text-section .main-copy {
    margin-top: 40px;
  }
}
@media (min-width: 1300px) {
  .image-text-section .main-copy {
    margin-top: 50px;
  }
}
.image-text-section .footnote {
  font-size: 0.8em;
  margin-top: 2em;
  font-style: italic;
}
.image-text-section .buttons {
  display: inline-flex;
  flex-direction: column;
  gap: 20px;
  margin-top: 40px;
}
@media (min-width: 992px) {
  .image-text-section .buttons {
    max-width: unset;
    gap: 20px;
  }
}
@media (min-width: 1300px) {
  .image-text-section .buttons {
    margin-top: 50px;
  }
}
.image-text-section .button {
  white-space: nowrap;
  flex: 1;
  min-width: none;
}
@media (min-width: 992px) {
  .image-text-section--reverse .content-block {
    order: -1;
  }
}
@media (min-width: 992px) {
  .image-text-section--reverse .image-block .image-tile {
    right: unset;
    left: 0;
  }
}
.image-text-section--blue {
  background-color: #004161;
  color: #ffffff;
}
.image-text-section--blue .image-tile {
  background-color: #004161;
}
.image-text-section--blue .button {
  border-color: #ffffff;
}
.image-text-section--blue .button::after {
  filter: invert(1);
}

.text-block-image-bg {
  position: relative;
}
.text-block-image-bg .image-block {
  height: 600px;
  width: 100%;
  position: relative;
}
@media (min-width: 992px) {
  .text-block-image-bg .image-block {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
  }
}
.text-block-image-bg .image-bg {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
}
.text-block-image-bg .image-block-pattern {
  width: 100%;
  position: absolute;
  bottom: 0;
  left: 0;
  display: flex;
}
@media (min-width: 992px) {
  .text-block-image-bg .image-block-pattern {
    display: none;
  }
}
.text-block-image-bg .image-block-pattern .block {
  background-color: #004161;
}
.text-block-image-bg .image-block-pattern .block:nth-of-type(1) {
  flex: 1;
}
.text-block-image-bg .image-block-pattern .block:nth-of-type(2) {
  width: 20%;
  aspect-ratio: 1;
  opacity: 0;
}
@media (min-width: 768px) {
  .text-block-image-bg .image-block-pattern .block:nth-of-type(2) {
    width: 14.2857142857%;
  }
}
@media (min-width: 992px) {
  .text-block-image-bg .content-block-outer {
    padding-top: 170px;
  }
}
@media (min-width: 1300px) {
  .text-block-image-bg .content-block-outer {
    padding-top: 220px;
  }
}
@media (min-width: 1300px) {
  .text-block-image-bg .content-block-outer {
    padding-top: 240px;
  }
}
.text-block-image-bg .content-block {
  background-color: #004161;
  color: #ffffff;
  padding: 0 var(--container-indent);
  padding-top: 20px;
  padding-bottom: 60px;
  position: relative;
  max-width: 100%;
}
@media (min-width: 992px) {
  .text-block-image-bg .content-block {
    padding: var(--block-size);
    aspect-ratio: 1;
    display: flex;
    flex-direction: column;
    justify-content: center;
    max-height: 100vh;
    height: min(100vh, 70vw);
    --block-size: 100px;
    -webkit-clip-path: polygon(0% 0%, calc(100% - var(--block-size)) 0%, calc(100% - var(--block-size)) var(--block-size), 100% var(--block-size), 100% 100%, 0% 100%);
            clip-path: polygon(0% 0%, calc(100% - var(--block-size)) 0%, calc(100% - var(--block-size)) var(--block-size), 100% var(--block-size), 100% 100%, 0% 100%);
  }
}
@media (min-width: 1300px) {
  .text-block-image-bg .content-block {
    height: min(100vh, 70vw, 800px);
  }
}
@media (min-width: 1600px) {
  .text-block-image-bg .content-block {
    --block-size: 120px;
    height: min(100vh, 60vw, 1000px);
  }
}
@media (min-width: 992px) {
  .text-block-image-bg .content-block-inner {
    padding-right: 10px;
  }
}
.text-block-image-bg .content-block-inner .heading-small {
  text-wrap: balance;
  margin-bottom: 60px;
}
.text-block-image-bg .heading-italics {
  text-wrap: balance;
}
.text-block-image-bg .main-copy {
  margin-top: 40px;
}
.text-block-image-bg .buttons {
  display: inline-flex;
  flex-direction: column;
  gap: 20px;
  margin-top: 60px;
}

.intro-with-nav .intro-section--orange {
  background-color: #ff7864;
  color: #ffffff;
}
.intro-with-nav .intro-section--blue {
  background-color: #004161;
}
.intro-with-nav .intro-section--light-blue {
  background-color: #5cb7f2;
}
.intro-with-nav .intro-section--grey {
  background-color: #cecfd0;
}
.intro-with-nav .intro-section-inner {
  padding: 40px 0;
}
@media (min-width: 768px) {
  .intro-with-nav .intro-section-inner {
    padding: 80px 0;
  }
}
@media (min-width: 992px) {
  .intro-with-nav .intro-section-inner {
    padding: 100px 0;
  }
}
@media (min-width: 1300px) {
  .intro-with-nav .intro-section-inner {
    padding: 120px 0;
  }
}
@media (min-width: 1600px) {
  .intro-with-nav .intro-section-inner {
    padding: 140px 0;
  }
}
.intro-with-nav .intro-copy {
  font-weight: 300;
  font-size: 24px;
  line-height: 1.4;
  padding: 60px 0;
}
@media (min-width: 768px) {
  .intro-with-nav .intro-copy {
    padding: 0;
    margin-top: 40px;
    max-width: 950px;
    line-height: 1.5;
  }
}
@media (min-width: 1300px) {
  .intro-with-nav .intro-copy {
    margin-top: 50px;
    font-size: 30px;
  }
}
.intro-with-nav.includes-sub .intro-section-inner {
  padding: 40px 0 0;
}
@media (min-width: 768px) {
  .intro-with-nav.includes-sub .intro-section-inner {
    padding: 80px 0 0;
  }
}
@media (min-width: 992px) {
  .intro-with-nav.includes-sub .intro-section-inner {
    padding: 100px 0 0;
  }
}
@media (min-width: 1300px) {
  .intro-with-nav.includes-sub .intro-section-inner {
    padding: 120px 0 0;
  }
}
@media (min-width: 1600px) {
  .intro-with-nav.includes-sub .intro-section-inner {
    padding: 140px 0 0;
  }
}
.intro-with-nav.sub-section {
  background-color: #cecfd0;
  display: flex;
  width: 100%;
  padding-top: 50px;
}
.intro-with-nav.sub-section .intro-section {
  position: relative;
  width: 100%;
  padding-top: 50px;
}
.intro-with-nav.sub-section .intro-section .background-fill {
  background-color: #ff7864;
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
  z-index: 0;
}
@media (min-width: 992px) {
  .intro-with-nav.sub-section .intro-section .background-fill {
    width: 90%;
  }
}
@media (min-width: 1300px) {
  .intro-with-nav.sub-section .intro-section .background-fill {
    width: 55%;
  }
}
@media (min-width: 1600px) {
  .intro-with-nav.sub-section .intro-section .background-fill {
    max-width: 1800px;
  }
}
.intro-with-nav.sub-section .intro-section .background-fill .image-tile {
  background-color: #cecfd0;
  position: absolute;
  top: 0;
  right: 0;
  width: 40px;
  height: 40px;
}
@media (min-width: 992px) {
  .intro-with-nav.sub-section .intro-section .background-fill .image-tile {
    width: 80px;
    height: 80px;
  }
}
@media (min-width: 1300px) {
  .intro-with-nav.sub-section .intro-section .background-fill .image-tile {
    width: 118px;
    height: 118px;
  }
}
.intro-with-nav.sub-section .intro-copy {
  font-weight: 300;
  font-size: 20px;
  line-height: 1.4;
  padding: 60px 0;
}
@media (min-width: 768px) {
  .intro-with-nav.sub-section .intro-copy {
    padding: 0;
    margin-top: 40px;
    max-width: 700px !important;
    line-height: 1.5;
  }
}
@media (min-width: 1300px) {
  .intro-with-nav.sub-section .intro-copy {
    margin-top: 50px;
    font-size: 24px;
    max-width: 500px !important;
  }
}
@media (min-width: 1600px) {
  .intro-with-nav.sub-section .intro-copy {
    max-width: 600px !important;
  }
}
.intro-with-nav.sub-section .intro-section-inner {
  padding: 40px 0;
  position: relative;
  z-index: 1;
  padding-top: 0 !important;
}
@media (min-width: 768px) {
  .intro-with-nav.sub-section .intro-section-inner {
    padding: 80px 0;
  }
}
@media (min-width: 992px) {
  .intro-with-nav.sub-section .intro-section-inner {
    padding: 100px 0;
  }
}
@media (min-width: 1300px) {
  .intro-with-nav.sub-section .intro-section-inner {
    padding: 120px 0;
  }
}
@media (min-width: 1600px) {
  .intro-with-nav.sub-section .intro-section-inner {
    padding: 140px 0;
  }
}

.page-template-page-our-impact .intro-with-nav .intro-copy {
  font-weight: 300;
  font-size: 20px;
  line-height: 1.4;
  padding: 60px 0;
}
@media (min-width: 768px) {
  .page-template-page-our-impact .intro-with-nav .intro-copy {
    padding: 0;
    margin-top: 40px;
    max-width: 950px;
    line-height: 1.5;
  }
}
@media (min-width: 1300px) {
  .page-template-page-our-impact .intro-with-nav .intro-copy {
    margin-top: 50px;
    font-size: 24px;
  }
}
.page-template-page-our-impact .intro-with-nav .button {
  margin-top: 40px;
  display: inline-flex;
}

.large-text-section {
  background-color: #004161;
  color: #ffffff;
  padding: 120px 0;
  position: relative;
}
@media (min-width: 768px) {
  .large-text-section {
    padding: 160px 0;
    margin-top: 40px;
    margin-bottom: 60px;
  }
}
@media (min-width: 992px) {
  .large-text-section {
    margin: 0;
  }
}
@media (min-width: 1300px) {
  .large-text-section {
    padding: 210px 0;
  }
}
.large-text-section .large-text-inner {
  font-size: 40px;
  font-weight: 300;
  line-height: 1.2;
}
@media (min-width: 768px) {
  .large-text-section .large-text-inner {
    text-align: center;
    max-width: 1000px;
    margin-left: auto;
    margin-right: auto;
  }
}
@media (min-width: 1300px) {
  .large-text-section .large-text-inner {
    font-size: 50px;
  }
}
.large-text-section .block-above {
  position: absolute;
  bottom: 100%;
  right: 0;
  aspect-ratio: 1;
  width: var(--floating-block-size);
  background-color: #004161;
}
.large-text-section .block-below {
  display: none;
}
@media (min-width: 768px) {
  .large-text-section .block-below {
    display: block;
    position: absolute;
    top: 100%;
    left: 0;
    width: calc(var(--floating-block-size) * 4);
    height: var(--floating-block-size);
    background-color: #004161;
  }
}

.nav-section {
  background: #2e2d2c;
  color: #ffffff;
  -ms-overflow-style: none;
  scrollbar-width: none;
  position: sticky;
  top: -1px;
  z-index: 50;
  transition: top 0.3s;
}
.nav-section ::-webkit-scrollbar {
  display: none;
}
.nav-section .page-nav {
  overflow-x: auto;
  position: relative;
}
.nav-section .page-nav ul {
  display: flex;
  gap: 30px;
  font-size: 18px;
  font-weight: 300;
}
@media (min-width: 992px) {
  .nav-section .page-nav ul {
    gap: 50px;
  }
}
@media (min-width: 1300px) {
  .nav-section .page-nav ul {
    gap: 60px;
    font-size: 20px;
  }
}
@media (min-width: 1600px) {
  .nav-section .page-nav ul {
    font-size: 22px;
    gap: 70px;
  }
}
.nav-section .page-nav li {
  padding: 0.7em 0;
  line-height: 1;
  display: flex;
}
.nav-section .page-nav li::after {
  content: "";
  flex: 1 10px;
}
.nav-section .page-nav a {
  color: inherit;
  white-space: nowrap;
  display: inline-flex;
  align-items: center;
  gap: 0.5em;
  opacity: 0.8;
  transition: opacity 0.15s;
  position: relative;
}
.nav-section .page-nav a::before {
  content: "";
  display: block;
  width: 0.4em;
  height: 0.4em;
  background-color: currentColor;
  opacity: 0;
  right: calc(100% + 0.5em);
  z-index: 2;
  transition: opacity 0.2s;
}
.nav-section .page-nav a:hover, .nav-section .page-nav a.active {
  opacity: 1;
}
.nav-section .page-nav a:hover::before, .nav-section .page-nav a.active::before {
  opacity: 1;
}

body.scroll-up .nav-section {
  top: var(--header-height);
}

.text-double-image {
  padding-top: 120px;
  display: flex;
  flex-direction: column;
  gap: 80px;
}
@media (min-width: 992px) {
  .text-double-image {
    flex-direction: row;
    padding: 210px 0;
    gap: 0;
  }
}
@media (min-width: 1300px) {
  .text-double-image {
    padding: 260px 0;
  }
}
.text-double-image .content-block {
  padding: 0 var(--container-indent);
}
@media (min-width: 992px) {
  .text-double-image .content-block {
    width: 50%;
    padding: 0 60px;
    display: flex;
    align-items: flex-end;
    justify-content: center;
  }
  .text-double-image .content-block:not(:has(h2)) {
    align-items: center;
  }
}
@media (min-width: 1300px) {
  .text-double-image .content-block {
    padding: 0 100px;
  }
}
.text-double-image .content-block-inner {
  display: flex;
  flex-direction: column;
  gap: 50px;
}
@media (min-width: 992px) {
  .text-double-image .content-block-inner {
    max-width: 600px;
  }
}
.text-double-image .heading-italics {
  font-size: 30px;
  text-wrap: balance;
}
@media (min-width: 992px) {
  .text-double-image .heading-italics {
    font-size: 34px;
  }
}
@media (min-width: 1300px) {
  .text-double-image .heading-italics {
    font-size: 40px;
  }
}
@media (min-width: 1600px) {
  .text-double-image .heading-italics {
    font-size: 44px;
  }
}
.text-double-image .main-copy a {
  color: #004161;
  font-weight: 500;
}
.text-double-image .images-block {
  padding: 8px;
}
@media (min-width: 768px) {
  .text-double-image .images-block {
    padding: 0 var(--container-indent);
    padding-bottom: 60px;
  }
}
@media (min-width: 992px) {
  .text-double-image .images-block {
    padding: 0;
    flex: 1;
  }
}
.text-double-image .images {
  display: flex;
  gap: 8px;
}
@media (min-width: 1300px) {
  .text-double-image .images {
    gap: 10px;
  }
}
.text-double-image .image-outer {
  flex: 1;
  position: relative;
}
.text-double-image .image-wrapper {
  aspect-ratio: 5/7;
  position: relative;
}
@media (min-width: 992px) {
  .text-double-image .image-wrapper {
    max-height: 650px;
    min-width: 100%;
  }
}
.text-double-image .image-wrapper img {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
}
.text-double-image .image-caption {
  padding: 10px 0;
  font-size: 14px;
}
@media (min-width: 992px) {
  .text-double-image .image-caption {
    position: absolute;
    top: 100%;
    left: 0;
  }
}
@media (min-width: 1600px) {
  .text-double-image .image-caption {
    font-size: 15px;
  }
}

@media (min-width: 992px) {
  .carousel-section .swiper-container {
    display: flex;
    flex-wrap: wrap;
  }
}
.carousel-section .carousel-swiper {
  overflow: hidden;
}
@media (min-width: 992px) {
  .carousel-section .carousel-swiper {
    flex: 1;
  }
}
.carousel-section .swiper-slide {
  aspect-ratio: 1;
  position: relative;
  max-height: 500px;
}
@media (min-width: 768px) {
  .carousel-section .swiper-slide {
    aspect-ratio: 16/10;
    max-height: unset;
  }
}
@media (min-width: 992px) {
  .carousel-section .swiper-slide {
    max-height: 90vh;
  }
}
.carousel-section .swiper-slide img {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
}
.carousel-section .swiper-extras {
  padding: 20px var(--container-indent) 30px;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 20px;
  align-items: center;
}
@media (min-width: 992px) {
  .carousel-section .swiper-extras {
    flex-direction: column;
    padding: 0 30px;
  }
}
.carousel-section .image-caption {
  font-size: 16px;
}
@media (min-width: 1600px) {
  .carousel-section .image-caption {
    font-size: 18px;
  }
}
.carousel-section .image-caption-top {
  width: 100%;
}
@media (min-width: 992px) {
  .carousel-section .image-caption-top {
    width: auto;
    writing-mode: vertical-lr;
    rotate: 180deg;
    flex: 1;
    text-align: right;
    pointer-events: none;
    opacity: 0;
    width: 0;
    display: none;
  }
}
.carousel-section .image-caption-bottom {
  display: none;
}
@media (min-width: 992px) {
  .carousel-section .image-caption-bottom {
    display: block;
    width: 100%;
    padding: 20px 30px;
    min-height: 80px;
  }
}
@media (min-width: 1300px) {
  .carousel-section .image-caption-bottom {
    padding: 30px 30px;
  }
}
.carousel-section .swiper-buttons {
  display: flex;
  gap: 10px;
}
@media (min-width: 992px) {
  .carousel-section .swiper-buttons {
    flex-direction: column;
    gap: 14px;
  }
}
.carousel-section .swiper-button svg {
  display: block;
  cursor: pointer;
  width: 36px;
  height: auto;
}
@media (min-width: 1600px) {
  .carousel-section .swiper-button svg {
    width: 40px;
  }
}
.carousel-section .swiper-button--prev {
  scale: -1 1;
}
.carousel-section .swiper-pagination {
  display: flex;
  gap: 14px;
}
@media (min-width: 992px) {
  .carousel-section .swiper-pagination {
    flex-direction: column;
    flex: 1;
    justify-content: flex-end;
  }
}
.carousel-section .swiper-pagination-bullet {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background-color: #004161;
  opacity: 0.3;
  cursor: pointer;
}
@media (min-width: 1300px) {
  .carousel-section .swiper-pagination-bullet {
    width: 12px;
    height: 12px;
  }
}
.carousel-section .swiper-pagination-bullet-active {
  opacity: 1;
}

.items-swiper-container {
  position: relative;
}
.items-swiper-container .items-swiper--squares {
  --swiper-gap: 25px;
}
@media (min-width: 768px) {
  .items-swiper-container .items-swiper--squares {
    --swiper-gap: 40px;
  }
}
@media (min-width: 1300px) {
  .items-swiper-container .items-swiper--squares {
    --swiper-gap: 60px;
  }
}
@media (min-width: 1600px) {
  .items-swiper-container .items-swiper--squares {
    --swiper-gap: 80px;
  }
}
.items-swiper-container .items-swiper--squares .swiper-slide {
  box-sizing: border-box;
}
.items-swiper-container .items-swiper--squares .swiper-slide:not(:first-of-type) .slide-top {
  border-left: 1px solid #cecfd0;
  border-right: 1px solid #cecfd0;
}
.items-swiper-container .items-swiper--squares .swiper-slide:nth-of-type(2n) .slide-top {
  padding: var(--swiper-gap);
}
.items-swiper-container .items-swiper--squares .slide-image-wrapper {
  aspect-ratio: 1;
}
.items-swiper-container .swiper-slide {
  color: inherit;
}
.items-swiper-container .swiper-slide--see-all {
  height: unset;
  position: relative;
}
.items-swiper-container .see-all-button {
  position: absolute;
  top: calc(var(--image-height) / 2);
  left: 50%;
  translate: -50% -50%;
  box-sizing: border-box;
}
.items-swiper-container .slide-top {
  display: block;
}
@media (hover: hover) {
  .items-swiper-container a.slide-top:hover .slide-image-wrapper {
    background-color: rgba(0, 65, 97, 0.7);
  }
  .items-swiper-container a.slide-top:hover .pattern-block {
    translate: 0;
    opacity: 1;
  }
}
.items-swiper-container .slide-image-wrapper {
  position: relative;
  aspect-ratio: 5/6;
  width: 100%;
  transition: background-color 0.2s;
}
.items-swiper-container .slide-image {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  -o-object-position: center;
     object-position: center;
  -o-object-fit: cover;
     object-fit: cover;
  mix-blend-mode: multiply;
}
.items-swiper-container .slide-bottom {
  padding-top: 20px;
  padding-bottom: 30px;
  display: flex;
  flex-direction: column;
}
@media (min-width: 1300px) {
  .items-swiper-container .slide-bottom {
    padding-bottom: 0;
  }
}
.items-swiper-container .slide-text-bold {
  font-size: 12px;
  font-weight: 500;
}
@media (min-width: 1300px) {
  .items-swiper-container .slide-text-bold {
    font-size: 14px;
  }
}
.items-swiper-container .slide-text-main {
  font-weight: 300;
  font-size: 18px;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
@media (min-width: 1300px) {
  .items-swiper-container .slide-text-main {
    font-size: 20px;
  }
}
@media (min-width: 1600px) {
  .items-swiper-container .slide-text-main {
    font-size: 22px;
  }
}
.items-swiper-container .image-pattern {
  position: absolute;
  bottom: 0;
  right: 0;
  height: var(--block-link-overlay-size);
  aspect-ratio: 1;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  grid-template-rows: repeat(3, 1fr);
  pointer-events: none;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
}
.items-swiper-container .pattern-block {
  background-color: #ffffff;
  display: flex;
  justify-content: center;
  align-items: center;
  transition: translate 0.3s, opacity 0.3s;
  opacity: 0;
}
.items-swiper-container .pattern-block[data-col="1"] {
  grid-column-start: 1;
}
.items-swiper-container .pattern-block[data-row="1"] {
  grid-row-start: 1;
}
.items-swiper-container .pattern-block[data-col="2"] {
  grid-column-start: 2;
}
.items-swiper-container .pattern-block[data-row="2"] {
  grid-row-start: 2;
}
.items-swiper-container .pattern-block[data-col="3"] {
  grid-column-start: 3;
}
.items-swiper-container .pattern-block[data-row="3"] {
  grid-row-start: 3;
}
.items-swiper-container .pattern-block[data-col="4"] {
  grid-column-start: 4;
}
.items-swiper-container .pattern-block[data-row="4"] {
  grid-row-start: 4;
}
.items-swiper-container .pattern-block[data-col="5"] {
  grid-column-start: 5;
}
.items-swiper-container .pattern-block[data-row="5"] {
  grid-row-start: 5;
}
.items-swiper-container .pattern-block[data-fade=left] {
  translate: 100% 0;
}
.items-swiper-container .pattern-block[data-fade=right] {
  translate: -100% 0;
}
.items-swiper-container .pattern-block[data-fade=up] {
  translate: 0 100%;
}
.items-swiper-container .pattern-block[data-fade=down] {
  translate: 0 -100%;
}
.items-swiper-container .pattern-block--arrow {
  background-color: #ff7864;
}
.items-swiper-container .pattern-block--arrow img {
  display: block;
  width: 80%;
}
.items-swiper-container .swiper-button {
  display: none;
  position: absolute;
  z-index: 9;
  cursor: pointer;
  transition: opacity 0.2s 0.2s, pointer-events 0.2s 0.2s;
}
@media (min-width: 768px) {
  .items-swiper-container .swiper-button {
    display: block;
    top: 50%;
  }
}
.items-swiper-container .swiper-button--next {
  translate: 50% -50%;
  right: 0;
}
.items-swiper-container .swiper-button--prev {
  translate: -50% -50%;
  left: 0;
  rotate: 180deg;
}
.items-swiper-container .swiper-button-disabled {
  opacity: 0;
  pointer-events: none;
}
.items-swiper-container .swiper-button:hover svg circle {
  fill: white;
}
.items-swiper-container .swiper-button svg {
  display: block;
}
.items-swiper-container .swiper-button svg circle {
  fill: rgba(255, 255, 255, 0.9);
  transition: fill 0.15s;
}

.flexible-copy-section {
  padding-top: 90px;
  padding-bottom: 120px;
}
@media (min-width: 768px) {
  .flexible-copy-section {
    padding: 100px 0;
  }
}
@media (min-width: 992px) {
  .flexible-copy-section {
    padding-top: 140px;
  }
}
.flexible-copy-section .copy-section-inner {
  max-width: 950px;
}
.flexible-copy-section .copy-section-inner img {
  display: block;
  margin-block: 2em;
  max-width: 100%;
}
.flexible-copy-section .copy-section-inner img.small {
  max-width: 100px;
  max-width: 100px;
}
.flexible-copy-section .copy-section-inner > *:last-child {
  margin-bottom: 0;
}
.flexible-copy-section .copy-section-inner a {
  color: #004161;
  font-weight: 500;
}

.text-with-bg-image {
  background-size: auto 100%;
  background-position: center;
  background-repeat: no-repeat;
  color: #ffffff;
  position: relative;
  --block-height: 75px;
  padding-top: calc(var(--block-height) * 2);
  padding-bottom: var(--block-height);
}
@media (hover: hover) {
  .text-with-bg-image {
    background-attachment: fixed;
  }
}
@media (hover: none) {
  .text-with-bg-image {
    -webkit-clip-path: inset(0 0 0 0);
            clip-path: inset(0 0 0 0);
    background-size: 0px !important;
    overflow: hidden;
    position: relative;
  }
  .text-with-bg-image::before {
    background-image: inherit !important;
    background-repeat: inherit !important;
    background-size: cover;
    background-position: inherit;
    content: "";
    position: fixed;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    z-index: -1 !important;
    will-change: transform;
    pointer-events: none;
  }
}
@media (min-width: 768px) {
  .text-with-bg-image {
    --block-height: 80px;
    background-size: cover;
  }
}
@media (min-width: 992px) {
  .text-with-bg-image {
    --block-height: 90px;
  }
}
@media (min-width: 1300px) {
  .text-with-bg-image {
    --block-height: 120px;
  }
}
@media (min-width: 1600px) {
  .text-with-bg-image {
    --block-height: 135px;
  }
}
@media (min-aspect-ratio: 4/3) {
  .text-with-bg-image {
    min-height: 100vh;
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: calc(var(--block-height) * 2) 0;
  }
}
@media (min-aspect-ratio: 4/3) and (min-width: 768px) {
  .text-with-bg-image .text-with-bg-image-copy {
    padding-bottom: 0 !important;
  }
}
.text-with-bg-image--dark {
  color: #2e2d2c;
}
.text-with-bg-image--light {
  color: #ffffff;
}
.text-with-bg-image .image-bg {
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  background-attachment: fixed;
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
}
@media (min-width: 768px) {
  .text-with-bg-image .text-with-bg-image-inner {
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
  }
}
.text-with-bg-image .text-with-bg-image-copy {
  padding-top: 60px;
  padding-bottom: 100px;
  font-weight: 300;
  font-size: 30px;
  line-height: 1.3;
  opacity: 0;
  translate: 0 20px;
  transition: opacity 1.4s, translate 1.4s;
}
@media (min-width: 768px) {
  .text-with-bg-image .text-with-bg-image-copy {
    line-height: 1.4;
    text-wrap: balance;
  }
}
@media (min-width: 992px) {
  .text-with-bg-image .text-with-bg-image-copy {
    max-width: 800px;
  }
}
@media (min-width: 1300px) {
  .text-with-bg-image .text-with-bg-image-copy {
    font-size: 40px;
    max-width: 90%;
  }
}
@media (min-width: 1600px) {
  .text-with-bg-image .text-with-bg-image-copy {
    font-size: 45px;
  }
}
@media (min-width: 1600px) and (min-width: 1600px) {
  .text-with-bg-image .text-with-bg-image-copy {
    max-width: 91%;
  }
}
.text-with-bg-image .text-with-bg-image-copy em {
  font-family: "freight-text-pro", serif;
  font-size: 1.1em;
  font-weight: 400;
  line-height: 1;
}
.text-with-bg-image .text-with-bg-image-copy.in-view {
  opacity: 1;
  translate: 0;
}
.text-with-bg-image .blocks {
  position: absolute;
  z-index: 1;
}
.text-with-bg-image .blocks--white .block {
  background-color: #ffffff;
}
.text-with-bg-image .blocks--blue .block {
  background-color: #004161;
}
.text-with-bg-image .blocks-top {
  position: absolute;
  top: 0;
  right: 0;
  display: flex;
  width: calc(var(--block-height) * 2);
  flex-wrap: wrap;
  justify-content: flex-end;
}
.text-with-bg-image .blocks-bottom {
  bottom: 0;
  left: 0;
}
.text-with-bg-image .block {
  width: var(--block-height);
  height: var(--block-height);
  display: block;
}

.statement-section {
  background-color: #ffffff;
}
.statement-section .statement-section-inner {
  display: flex;
  flex-direction: column;
  gap: 60px;
  padding: 120px 0;
}
@media (min-width: 768px) {
  .statement-section .statement-section-inner {
    padding: 160px 0;
    text-align: center;
    align-items: center;
  }
}
@media (min-width: 1300px) {
  .statement-section .statement-section-inner {
    padding: 210px 0;
    gap: 70px;
  }
}
@media (min-width: 1600px) {
  .statement-section .statement-section-inner {
    padding: 230px 0;
  }
}
.statement-section .main-copy {
  font-size: 40px;
  font-weight: 300;
  line-height: 1.2;
}
@media (min-width: 768px) {
  .statement-section .main-copy {
    line-height: 1.3;
  }
}
@media (min-width: 1300px) {
  .statement-section .main-copy {
    font-size: 50px;
    max-width: 1100px;
  }
}

.banner {
  position: relative;
  display: block;
  width: 100%;
  color: #ffffff;
}
@media (min-width: 768px) {
  .banner {
    min-height: 100%;
    padding: var(--floating-block-size);
    height: calc(100vh - var(--header-height));
  }
}
.banner .banner-content {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  align-items: flex-start;
  width: 100%;
  padding: 30px var(--container-indent);
  padding-top: 40px;
  z-index: 2;
  gap: 50px;
}
@media (min-width: 768px) {
  .banner .banner-content {
    flex: 1;
    width: auto;
    max-width: calc(100vw - var(--scrollbar-width) - 5 * var(--floating-block-size));
    aspect-ratio: 1;
    height: 100%;
    padding: 40px;
  }
}
@media (min-width: 1600px) {
  .banner .banner-content {
    padding: 60px;
  }
}
.banner .banner-content--light-blue {
  color: #2e2d2c;
}
.banner .banner-content--light-blue .banner-background {
  background-color: #5cb7f2;
}
.banner .banner-content--blue {
  color: #ffffff;
}
.banner .banner-content--blue .banner-background {
  background-color: #004161;
}
.banner .banner-content.in-view .banner-content-graphic {
  opacity: 1;
  transform: scale(1);
}
.banner .banner-content.in-view .banner-content-title,
.banner .banner-content.in-view .banner-content-heading {
  opacity: 1;
  transform: translateX(0);
}
.banner .banner-background {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #004161;
  z-index: 1;
}
.banner .banner-content-top,
.banner .banner-content-bottom {
  position: relative;
  z-index: 2;
}
.banner .banner-content-top {
  display: flex;
  align-items: center;
  width: 100%;
}
.banner .banner-content-graphic {
  flex-shrink: 0;
  display: block;
  width: 15px;
  height: 15px;
  background-color: #ffffff;
  opacity: 0;
  transform: scale(0);
  transition: opacity 1.4s, transform 1.4s;
}
.banner .banner-content-title {
  flex: 1;
  font-size: 18px;
  font-weight: 500;
  opacity: 0;
  transform: translateX(10px);
  transition: opacity 1.4s, transform 1.4s;
}
@media (min-width: 768px) {
  .banner .banner-content-title {
    font-size: 20px;
  }
}
@media (min-width: 992px) {
  .banner .banner-content-title {
    font-size: 22px;
  }
}
.banner .banner-content-bottom {
  display: block;
  width: 100%;
}
@media (min-width: 1600px) {
  .banner .banner-content-bottom {
    max-width: 800px;
  }
}
.banner .banner-content-heading {
  text-wrap: balance;
  opacity: 0;
  transform: translateX(15px);
  transition: opacity 1.4s, transform 1.4s;
}
.banner .banner-media {
  position: relative;
  display: block;
  width: 100%;
  aspect-ratio: 1/1;
  overflow: hidden;
  z-index: 1;
}
@media (min-width: 768px) {
  .banner .banner-media {
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    aspect-ratio: initial;
  }
}
.banner .banner-media.in-view .banner-block {
  opacity: 1;
  transform: translate(0, 0);
}
.banner .banner-image {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  z-index: 1;
}
.banner .banner-block {
  display: none;
  position: absolute;
  width: var(--floating-block-size);
  height: var(--floating-block-size);
  opacity: 0;
  transition: opacity 1.4s, transform 1.4s;
  z-index: 2;
}
.banner .banner-block--light-blue {
  background-color: #5cb7f2;
}
.banner .banner-block--grey {
  background-color: #cecfd0;
}
.banner .banner-block--1 {
  display: block;
  top: 0;
  left: 0;
  background-color: #004161;
  transform: translateY(100%);
}
@media (min-width: 768px) {
  .banner .banner-block--1 {
    background-color: #ffffff;
  }
}
@media (min-width: 768px) {
  .banner .banner-block--2 {
    display: block;
    bottom: 0;
    left: 0;
    transform: translateX(-100%);
  }
}
.banner .banner-block--3 {
  display: block;
  right: 0;
  bottom: 0;
  background-color: #ffffff;
  transform: translateY(100%);
}
.banner .banner-block--4 {
  display: block;
  right: 0;
  bottom: var(--floating-block-size);
  background-color: #ffffff;
  transform: translateX(100%);
}
.banner .banner-block--5 {
  display: block;
  right: var(--floating-block-size);
  bottom: var(--floating-block-size);
  background-color: #ffffff;
  transform: translateX(-100%);
}
.banner .banner-block--6 {
  display: block;
  right: calc(var(--floating-block-size) * 2);
  bottom: 0;
  background-color: #ffffff;
  transform: translateY(100%);
}
.banner .banner-block--7 {
  display: block;
  right: calc(var(--floating-block-size) * 3);
  bottom: 0;
  background-color: #ffffff;
  transform: translateY(-100%);
}
@media (min-width: 768px) {
  .banner .banner-block--8 {
    display: block;
    top: 0;
    right: 0;
    height: calc(100% - var(--floating-block-size) * 2);
    background-color: #ffffff;
    transform: translateY(-100%);
  }
}
.banner .banner-block:nth-of-type(1) {
  transition-delay: 0s;
}
.banner .banner-block:nth-of-type(2) {
  transition-delay: 0.1s;
}
.banner .banner-block:nth-of-type(3) {
  transition-delay: 0.2s;
}
.banner .banner-block:nth-of-type(4) {
  transition-delay: 0.3s;
}
.banner .banner-block:nth-of-type(5) {
  transition-delay: 0.4s;
}
.banner .banner-block:nth-of-type(6) {
  transition-delay: 0.5s;
}
.banner .banner-block:nth-of-type(7) {
  transition-delay: 0.6s;
}
.banner .banner-block:nth-of-type(8) {
  transition-delay: 0.7s;
}
.banner .banner-block:nth-of-type(9) {
  transition-delay: 0.8s;
}
.banner--light-blue .banner-block--1 {
  background-color: #5cb7f2;
}
@media (min-width: 768px) {
  .banner--light-blue .banner-block--1 {
    background-color: #ffffff;
  }
}

.banner-small {
  position: relative;
  display: block;
  width: 100%;
  color: #ffffff;
}
.banner-small .banner-content {
  position: absolute;
  display: flex;
  align-items: center;
  height: 100%;
  left: 0;
  top: 0;
  width: 100%;
  z-index: 2;
  padding: 0 30px;
}
@media (min-width: 768px) {
  .banner-small .banner-content {
    padding: 0 var(--floating-block-size);
  }
}
@media (min-width: 1300px) {
  .banner-small .banner-content {
    padding: 0 max(var(--floating-block-size), 10%);
  }
}
.banner-small .banner-content.in-view .banner-content-graphic {
  opacity: 1;
  transform: scale(1);
}
.banner-small .banner-content.in-view .banner-content-title,
.banner-small .banner-content.in-view .banner-content-heading {
  opacity: 1;
  transform: translateX(0);
}
.banner-small .banner-content-title {
  font-size: 50px;
  font-weight: 300;
  opacity: 0;
  transform: translateX(10px);
  line-height: 1.2;
  transition: opacity 1.4s, transform 1.4s;
}
@media (min-width: 768px) {
  .banner-small .banner-content-title {
    font-size: 60px;
  }
}
@media (min-width: 992px) {
  .banner-small .banner-content-title {
    font-size: 70px;
  }
}
@media (min-width: 1300px) {
  .banner-small .banner-content-title {
    font-size: 80px;
  }
}
@media (min-width: 1600px) {
  .banner-small .banner-content-title {
    font-size: 100px;
  }
}
.banner-small .banner-media {
  position: relative;
  display: block;
  width: 100%;
  overflow: hidden;
  z-index: 1;
  height: 450px;
  background-color: rgba(46, 45, 44, 0.4);
}
@media (min-width: 768px) {
  .banner-small .banner-media {
    aspect-ratio: 3;
    min-height: 400px;
    height: auto;
  }
}
.banner-small .banner-media.in-view .banner-block {
  opacity: 1;
  transform: translate(0, 0);
}
.banner-small .banner-image {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  z-index: 1;
  mix-blend-mode: multiply;
}
.banner-small .banner-block {
  display: none;
  position: absolute;
  width: var(--floating-block-size);
  height: var(--floating-block-size);
  opacity: 0;
  transition: opacity 1.4s, transform 1.4s;
  z-index: 2;
}
.banner-small .banner-block--light-blue {
  background-color: #5cb7f2;
}
.banner-small .banner-block--grey {
  background-color: #cecfd0;
}
.banner-small .banner-block--orange {
  background-color: #ff7864;
}
.banner-small .banner-block--1 {
  display: none;
  top: 0;
  left: 0;
  background-color: #004161;
  transform: translateY(100%);
}
@media (min-width: 768px) {
  .banner-small .banner-block--1 {
    background-color: #ffffff;
    display: block;
  }
}
@media (min-width: 768px) {
  .banner-small .banner-block--2 {
    display: block;
    bottom: 0;
    left: 0;
    transform: translateX(-100%);
  }
}
.banner-small .banner-block--3 {
  display: block;
  right: 0;
  bottom: 0;
  background-color: #ffffff;
  transform: translateY(100%);
}
.banner-small .banner-block--4 {
  display: block;
  right: 0;
  bottom: var(--floating-block-size);
  background-color: #ffffff;
  transform: translateX(100%);
}
.banner-small .banner-block--5 {
  display: block;
  right: var(--floating-block-size);
  bottom: var(--floating-block-size);
  background-color: #ffffff;
  transform: translateX(-100%);
}
.banner-small .banner-block--6 {
  display: block;
  right: calc(var(--floating-block-size) * 2);
  bottom: 0;
  background-color: #ffffff;
  transform: translateY(100%);
}
.banner-small .banner-block--7 {
  display: block;
  right: calc(var(--floating-block-size) * 3);
  bottom: 0;
  background-color: #ffffff;
  transform: translateY(-100%);
}
@media (min-width: 768px) {
  .banner-small .banner-block--8 {
    display: block;
    top: 0;
    right: 0;
    height: calc(100% - var(--floating-block-size) * 2);
    background-color: #ffffff;
    transform: translateY(-100%);
  }
}
.banner-small .banner-block:nth-of-type(1) {
  transition-delay: 0s;
}
.banner-small .banner-block:nth-of-type(2) {
  transition-delay: 0.1s;
}
.banner-small .banner-block:nth-of-type(3) {
  transition-delay: 0.2s;
}
.banner-small .banner-block:nth-of-type(4) {
  transition-delay: 0.3s;
}
.banner-small .banner-block:nth-of-type(5) {
  transition-delay: 0.4s;
}
.banner-small .banner-block:nth-of-type(6) {
  transition-delay: 0.5s;
}
.banner-small .banner-block:nth-of-type(7) {
  transition-delay: 0.6s;
}
.banner-small .banner-block:nth-of-type(8) {
  transition-delay: 0.7s;
}
.banner-small .banner-block:nth-of-type(9) {
  transition-delay: 0.8s;
}

.single-page-banner .banner-top {
  color: #ffffff;
}
.single-page-banner .banner-top .banner-region {
  display: none;
}
@media (min-width: 768px) {
  .single-page-banner .banner-top .banner-region {
    display: block;
  }
}
.single-page-banner .banner-top-item {
  font-weight: 300;
  font-size: 15px;
  line-height: 1;
}
@media (min-width: 1600px) {
  .single-page-banner .banner-top-item {
    font-size: 17px;
  }
}
.single-page-banner .banner-top-content {
  background-color: #004161;
  height: var(--floating-block-size);
  position: relative;
  display: flex;
  align-items: flex-end;
  padding-left: var(--container-indent);
}
@media (min-width: 768px) {
  .single-page-banner .banner-top-content {
    align-items: center;
    padding: 0;
  }
}
.single-page-banner .banner-top-items {
  flex: 1;
  display: flex;
  gap: 30px;
}
@media (min-width: 768px) {
  .single-page-banner .banner-top-items {
    padding: 0 30px;
    align-items: center;
    gap: 40px;
  }
  .single-page-banner .banner-top-items:has([data-button-back]) {
    justify-content: space-between;
  }
  .single-page-banner .banner-top-items:has([data-button-back]) .banner-top-items-items {
    justify-content: flex-end;
  }
}
@media (min-width: 992px) {
  .single-page-banner .banner-top-items {
    padding: 0 40px;
  }
}
@media (min-width: 1300px) {
  .single-page-banner .banner-top-items {
    padding: 0 50px;
    gap: 40px;
  }
}
.single-page-banner .banner-top-items [data-button-back] {
  display: none;
}
@media (min-width: 768px) {
  .single-page-banner .banner-top-items [data-button-back] {
    display: flex;
    order: -1;
  }
}
.single-page-banner .banner-top-items-items {
  flex: 1;
  display: flex;
  gap: 30px;
}
@media (min-width: 768px) {
  .single-page-banner .banner-top-items-items {
    align-items: center;
  }
}
@media (min-width: 1300px) {
  .single-page-banner .banner-top-items-items {
    gap: 40px;
  }
}
.single-page-banner .banner-top-tile {
  height: var(--floating-block-size);
  width: var(--floating-block-size);
  background-color: #ffffff;
}
.single-page-banner .banner-top-tile--1 {
  display: none;
}
@media (min-width: 768px) {
  .single-page-banner .banner-top-tile--1 {
    display: block;
  }
}
.single-page-banner .banner-top-tile--accent {
  background-color: #ff7864;
}
@media (min-width: 768px) {
  .single-page-banner .banner-main {
    display: flex;
  }
}
.single-page-banner .heading-italics {
  font-size: 32px;
  text-wrap: balance;
}
@media (min-width: 992px) {
  .single-page-banner .heading-italics {
    font-size: 35px;
  }
}
@media (min-width: 1300px) {
  .single-page-banner .heading-italics {
    font-size: 37px;
  }
}
@media (min-width: 1600px) {
  .single-page-banner .heading-italics {
    font-size: 42px;
  }
}
@media (min-width: 768px) {
  .single-page-banner .empty {
    display: none;
  }
}
.single-page-banner .banner-content {
  background-color: #004161;
  color: #ffffff;
  padding: 30px var(--container-indent);
  padding-bottom: 60px;
  min-height: 480px;
  position: relative;
}
@media (min-width: 768px) {
  .single-page-banner .banner-content {
    width: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: var(--floating-block-size) 60px;
    height: unset;
  }
}
@media (min-width: 992px) {
  .single-page-banner .banner-content {
    padding: var(--floating-block-size);
  }
}
@media (min-width: 768px) {
  .single-page-banner .banner-content .banner-region {
    display: none;
  }
}
@media (min-width: 768px) {
  .single-page-banner .banner-content [data-button-back] {
    display: none;
  }
}
.single-page-banner .banner-content .block--arrow {
  display: none;
}
@media (min-width: 768px) {
  .single-page-banner .banner-content .block--arrow {
    height: var(--floating-block-size);
    aspect-ratio: 1;
    display: flex;
    justify-content: center;
    align-items: center;
    background-color: #979797;
    cursor: pointer;
    position: absolute;
    bottom: 0;
    right: 0;
  }
  .single-page-banner .banner-content .block--arrow svg {
    display: block;
    width: 80%;
    max-width: 50px;
    height: auto;
  }
}
@media (min-width: 768px) and (min-width: 1600px) {
  .single-page-banner .banner-content .block--arrow svg {
    max-width: 60px;
  }
}
.single-page-banner .banner-content-inner {
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  align-items: flex-start;
  gap: 60px;
}
@media (min-width: 768px) {
  .single-page-banner .banner-content-inner {
    height: auto;
    padding: 60px 0;
    max-width: 30em;
  }
}
@media (min-width: 1600px) {
  .single-page-banner .banner-content-inner {
    padding: 80px 0;
  }
}
.single-page-banner .banner-content-main {
  display: flex;
  flex-direction: column;
  gap: 30px;
  justify-content: flex-end;
  flex: 1;
}
@media (min-width: 768px) {
  .single-page-banner .banner-image-wrapper {
    width: 50%;
    padding-bottom: var(--floating-block-size);
  }
}
.single-page-banner .banner-image {
  position: relative;
  width: 100%;
  aspect-ratio: 32/40;
  max-height: 400px;
}
@media (min-width: 768px) {
  .single-page-banner .banner-image {
    aspect-ratio: unset;
    max-height: unset;
    min-height: 400px;
    height: 100%;
    aspect-ratio: 3/2;
  }
}
.single-page-banner .banner-image img {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
}
.single-page-banner .banner-image-pattern {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  display: flex;
  justify-content: flex-end;
}
@media (min-width: 768px) {
  .single-page-banner .banner-image-pattern {
    display: none;
  }
}
.single-page-banner .banner-image-pattern .block {
  width: 20%;
  aspect-ratio: 1;
  display: flex;
  justify-content: center;
  align-items: center;
  background-color: #ffffff;
}
.single-page-banner .banner-image-pattern .block--arrow {
  background-color: #979797;
  cursor: pointer;
}
.single-page-banner .banner-image-pattern .block--arrow svg {
  display: block;
  width: 80%;
  max-width: 60px;
  height: auto;
}

.slim-banner {
  position: relative;
  display: flex;
  align-items: flex-end;
  width: 100%;
  min-height: 50vh;
  padding-top: var(--header-height);
}
@media (min-width: 768px) {
  .slim-banner {
    min-height: 500px;
  }
}
@media (min-width: 1600px) {
  .slim-banner {
    min-height: 600px;
  }
}

.slim-banner-background {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1;
}

.slim-banner-image {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.slim-banner-inner {
  position: relative;
  display: block;
  width: 100%;
  padding: 30px 0;
  background: linear-gradient(0deg, rgba(46, 45, 44, 0.6) 0%, rgba(46, 45, 44, 0) 100%);
  z-index: 2;
}
@media (min-width: 768px) {
  .slim-banner-inner {
    padding: 50px 0;
  }
}
@media (min-width: 1300px) {
  .slim-banner-inner {
    padding: 80px 0;
  }
}

.slim-banner-content {
  display: block;
  width: 100%;
  padding: 0 15px;
  text-align: left;
}
@media (min-width: 768px) {
  .slim-banner-content {
    padding: 0 var(--header-height);
  }
}

.slim-banner-title {
  color: #ffffff;
  font-size: 40px;
  font-family: "Graphik LCG", sans-serif;
  font-weight: 300;
  line-height: 1;
}
@media (min-width: 768px) {
  .slim-banner-title {
    font-size: 60px;
  }
}
@media (min-width: 992px) {
  .slim-banner-title {
    font-size: 70px;
  }
}
@media (min-width: 1300px) {
  .slim-banner-title {
    font-size: 80px;
  }
}

.home-banner .video-wrapper {
  position: relative;
  height: 100vh;
  height: 100svh;
}
.home-banner video {
  width: 100%;
  height: 100%;
  position: absolute;
  -o-object-fit: cover;
  object-fit: cover;
  display: block;
}
@media (min-aspect-ratio: 1/1) {
  .home-banner video.video-mobile {
    display: none;
  }
  .home-banner video.video-desktop {
    display: block;
  }
}
@media (max-aspect-ratio: 1/1) {
  .home-banner video.video-mobile {
    display: block;
  }
  .home-banner video.video-desktop {
    display: none;
  }
}
.home-banner .sound-button {
  position: absolute;
  bottom: 20px;
  left: 20px;
  cursor: pointer;
}
@media (min-width: 1300px) {
  .home-banner .sound-button {
    bottom: 30px;
    left: 30px;
  }
}
.home-banner .sound-button:hover svg {
  opacity: 1;
}
.home-banner .sound-button svg {
  width: 30px;
  height: auto;
  display: block;
  fill: #ffffff;
  opacity: 0.8;
  transition: opacity 0.15s;
}
@media (min-width: 768px) {
  .home-banner .sound-button svg {
    width: 40px;
    height: 40px;
  }
}
.home-banner .sound-button[data-sound=true] .sound-on {
  display: block;
}
.home-banner .sound-button[data-sound=true] .sound-off {
  display: none;
}
.home-banner .sound-button[data-sound=false] .sound-on {
  display: none;
}
.home-banner .sound-button[data-sound=false] .sound-off {
  display: block;
}

.shape-intro-section {
  padding-bottom: 150px;
}
@media (min-width: 768px) {
  .shape-intro-section {
    padding-bottom: 100px;
  }
}
@media (min-width: 1300px) {
  .shape-intro-section {
    padding-bottom: 140px;
  }
}
@media (min-width: 1600px) {
  .shape-intro-section {
    padding-bottom: 200px;
  }
}
.shape-intro-section .shape-intro-inner {
  position: relative;
}
@media (min-width: 768px) {
  .shape-intro-section .shape-intro-inner {
    min-height: 600px;
  }
}
@media (min-width: 992px) {
  .shape-intro-section .shape-intro-inner {
    min-height: 750px;
  }
}
@media (min-width: 1300px) {
  .shape-intro-section .shape-intro-inner {
    min-height: 800px;
  }
}
@media (min-width: 1600px) {
  .shape-intro-section .shape-intro-inner {
    min-height: 950px;
  }
}
.shape-intro-section .shape-section {
  display: flex;
  justify-content: flex-end;
  height: 270px;
}
@media (min-width: 768px) {
  .shape-intro-section .shape-section {
    position: absolute;
    right: 0;
    top: 0;
    height: 100%;
  }
}
.shape-intro-section .shape-wrap {
  position: relative;
  display: block;
  width: auto;
  height: 100%;
  aspect-ratio: 3/5;
  overflow: hidden;
}
.shape-intro-section .shape-block {
  position: absolute;
  display: block;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  z-index: 2;
}
.shape-intro-section .shape-block--1 {
  -webkit-clip-path: inset(0 66.6667% 80% 0);
          clip-path: inset(0 66.6667% 80% 0);
}
.shape-intro-section .shape-block--2 {
  -webkit-clip-path: inset(0 33.3334% 80% 33.3334%);
          clip-path: inset(0 33.3334% 80% 33.3334%);
}
.shape-intro-section .shape-block--3 {
  -webkit-clip-path: inset(20% 0 60% 66.6667%);
          clip-path: inset(20% 0 60% 66.6667%);
}
.shape-intro-section .shape-block--4 {
  -webkit-clip-path: inset(40% 0 40% 66.6667%);
          clip-path: inset(40% 0 40% 66.6667%);
}
.shape-intro-section .shape-block--5 {
  -webkit-clip-path: inset(60% 0 20% 66.6667%);
          clip-path: inset(60% 0 20% 66.6667%);
}
.shape-intro-section .shape-block--6 {
  -webkit-clip-path: inset(80% 0 0 66.6667%);
          clip-path: inset(80% 0 0 66.6667%);
}
.shape-intro-section .shape-block--accent {
  right: 0;
  left: auto;
  width: 33.3334%;
  height: 20%;
  background-color: #5cb7f2;
}
.shape-intro-section .main-content {
  height: 100%;
}
.shape-intro-section .main-content .container {
  height: 100%;
}
.shape-intro-section .main-content-inner {
  height: 100%;
  position: relative;
}
@media (min-width: 768px) {
  .shape-intro-section .main-content-inner {
    display: flex;
    flex-direction: column;
    padding-top: 20%;
  }
}
@media (min-width: 992px) {
  .shape-intro-section .main-content-inner {
    padding-top: 15%;
  }
}
.shape-intro-section .main-content-inner.in-view .intro-copy {
  opacity: 1;
  translate: 0;
}
.shape-intro-section .intro-heading {
  padding-top: 50px;
  padding-bottom: 70px;
  font-size: 50px;
  text-wrap: balance;
}
@media (min-width: 768px) {
  .shape-intro-section .intro-heading {
    padding: 0;
    width: 65%;
  }
}
@media (min-width: 992px) {
  .shape-intro-section .intro-heading {
    width: 62%;
    font-size: 60px;
  }
}
@media (min-width: 1300px) {
  .shape-intro-section .intro-heading {
    font-size: 80px;
  }
}
@media (min-width: 1600px) {
  .shape-intro-section .intro-heading {
    font-size: 85px;
    width: 60%;
  }
}
.shape-intro-section .intro-copy {
  opacity: 0;
  translate: 20px 0;
  transition: opacity 1.2s 0.4s, translate 1.2s 0.4s;
}
@media (min-width: 768px) {
  .shape-intro-section .intro-copy {
    width: 60%;
    margin-top: 50px;
    margin-left: 20%;
  }
}
@media (min-width: 992px) {
  .shape-intro-section .intro-copy {
    width: 47%;
    margin-top: 80px;
    margin-left: 35%;
  }
}
@media (min-width: 1300px) {
  .shape-intro-section .intro-copy {
    width: 43%;
    margin-top: 100px;
  }
}
@media (min-width: 1600px) {
  .shape-intro-section .intro-copy {
    width: 41%;
    margin-left: 41%;
  }
}
.shape-intro-section .copy-under {
  margin-top: 20px;
  font-size: 1.1em;
  font-weight: 500;
}
@media (min-width: 1300px) {
  .shape-intro-section .copy-under {
    margin-top: 30px;
  }
}

.home-nav-section {
  background-color: #ffffff;
  border-top: 1px solid #979797;
  --fade-timing: 0.2s 0.1s;
  --fade-timing-reverse: 0.2s 0s;
}
.home-nav-section .home-nav-items {
  display: grid;
  max-width: 1920px;
  margin: 0 auto;
  gap: 1px;
  background-color: #979797;
}
@media (min-width: 768px) {
  .home-nav-section .home-nav-items {
    grid-auto-rows: 1fr;
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (min-width: 992px) {
  .home-nav-section .home-nav-items {
    grid-template-columns: repeat(4, 1fr);
  }
}
@media only screen and (min-width: 1660px) {
  .home-nav-section .home-nav-items {
    border-right: 1px solid #979797;
    border-left: 1px solid #979797;
  }
}
.home-nav-section .home-nav-item {
  display: block;
  position: relative;
  color: inherit;
  transition: color var(--fade-timing-reverse);
  background-color: #ffffff;
  --item-padding: 50px;
}
@media (min-width: 1600px) {
  .home-nav-section .home-nav-item {
    --item-padding: 75px;
  }
}
.home-nav-section .home-nav-item:hover {
  color: #ffffff;
  transition: color var(--fade-timing);
}
.home-nav-section .home-nav-item:hover .background-image-wrapper {
  scale: 1;
  transition: scale 0.2s;
}
.home-nav-section .home-nav-item:hover .background-image-wrapper::after {
  opacity: 1;
  transition: opacity 0.2s;
}
.home-nav-section .home-nav-item:hover .background-image {
  scale: 1;
  transition: scale 0.2s, height 0.2s;
}
.home-nav-section .home-nav-item:hover .item-top {
  background-color: transparent;
  transition: background-color var(--fade-timing);
}
.home-nav-section .home-nav-item:hover .item-middle {
  border-color: transparent;
  transition: border-color var(--fade-timing);
}
.home-nav-section .home-nav-item:hover .item-middle-border {
  background-color: transparent;
  transition: background-color var(--fade-timing);
}
.home-nav-section .home-nav-item:hover .item-bottom {
  background-color: transparent;
  transition: background-color var(--fade-timing);
}
.home-nav-section .home-nav-item:hover .overlay-tile {
  opacity: 0;
}
.home-nav-section .home-nav-item:hover .overlay-tile[data-fade=left] {
  translate: -100% 0;
}
.home-nav-section .home-nav-item:hover .overlay-tile[data-fade=right] {
  translate: 100% 0;
}
.home-nav-section .home-nav-item:hover .overlay-tile[data-fade=up] {
  translate: 0 -100%;
}
.home-nav-section .home-nav-item:hover .overlay-tile[data-fade=down] {
  translate: 0 100%;
}
.home-nav-section .home-nav-item:hover .item-bottom-copy {
  opacity: 0;
}
.home-nav-section .home-nav-item:hover .item-bottom-arrow svg g path,
.home-nav-section .home-nav-item:hover .item-bottom-arrow svg g circle {
  stroke: #ffffff;
  transition: stroke var(--fade-timing);
}
.home-nav-section .home-nav-item:hover .item-title {
  opacity: 0;
  pointer-events: none;
  transition: opacity var(--fade-timing);
}
.home-nav-section .home-nav-item:hover .item-copy {
  opacity: 0;
  transition: opacity var(--fade-timing);
}
.home-nav-section .home-nav-item:hover .item-button {
  opacity: 1;
  transition: opacity var(--fade-timing);
}
.home-nav-section .background-image-wrapper {
  position: absolute;
  inset: 0;
  overflow: hidden;
  scale: 0.7;
  transition: scale 0.2s 0.1s;
}
.home-nav-section .background-image-wrapper::after {
  content: "";
  display: block;
  position: absolute;
  inset: 0;
  opacity: 0;
  background: linear-gradient(180deg, rgba(0, 0, 0, 0.7) 0%, rgba(0, 0, 0, 0) 60%), linear-gradient(180deg, rgba(0, 0, 0, 0) 40%, rgba(0, 0, 0, 0.7) 100%);
  transition: opacity 0.2s 0.1s, scale 0.2;
}
.home-nav-section .background-image {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
  top: 50%;
  left: 50%;
  min-height: calc(1.3333333333 * (100vw - 2 * var(--item-padding)));
  transform: translate(-50%, -50%);
  transition: scale 0.2s 0.1s, height 0.2s 0.1s, scale 0.2s 0.1s;
}
@media (min-width: 768px) {
  .home-nav-section .background-image {
    min-height: unset;
  }
}
.home-nav-section .nav-item-content {
  height: 100%;
  display: flex;
  flex-direction: column;
  position: relative;
}
.home-nav-section .item-top {
  padding: 30px var(--item-padding);
  padding-bottom: 40px;
  background-color: #ffffff;
  font-size: 25px;
  text-wrap: balance;
  transition: background-color var(--fade-timing-reverse);
}
@media (min-width: 1300px) {
  .home-nav-section .item-top {
    font-size: 32px;
    padding-top: 50px;
    padding-bottom: 70px;
  }
}
@media (min-width: 1600px) {
  .home-nav-section .item-top {
    font-size: 45px;
    padding-bottom: 80px;
    padding-top: 50px;
  }
}
.home-nav-section .item-middle {
  transition: border-color var(--fade-timing-reverse);
  display: flex;
}
.home-nav-section .item-middle-border {
  width: calc(var(--item-padding) + 7%);
  background-color: #ffffff;
  transition: background-color var(--fade-timing-reverse);
}
.home-nav-section .item-copy {
  opacity: 1;
  transition: opacity var(--fade-timing-reverse);
}
.home-nav-section .item-copy em {
  font-style: normal;
}
.home-nav-section .item-middle-inner {
  width: 100%;
  aspect-ratio: 3/4;
  position: relative;
  flex: 1;
  display: grid;
  grid-template: repeat(4, 1fr)/repeat(3, 1fr);
}
.home-nav-section .heading-italics {
  font-size: 30px;
  text-wrap: balance;
}
@media (min-width: 992px) {
  .home-nav-section .heading-italics {
    font-size: 28px;
  }
}
@media (min-width: 1300px) {
  .home-nav-section .heading-italics {
    font-size: 30px;
  }
}
@media (min-width: 1600px) {
  .home-nav-section .heading-italics {
    font-size: 35px;
  }
}
.home-nav-section .overlay-tile {
  background-color: #ffffff;
  transition: translate 0.3s, opacity 0.3s, background-color 0.3s;
  display: flex;
  justify-content: center;
  align-items: center;
}
.home-nav-section .overlay-tile--arrow svg {
  display: block;
  width: 50px;
  height: 50px;
  max-width: 80%;
  max-height: 80%;
}
@media (min-width: 1300px) {
  .home-nav-section .overlay-tile--arrow svg {
    display: none;
  }
}
.home-nav-section .overlay-tile[data-col-start="1"] {
  grid-column-start: 1;
}
.home-nav-section .overlay-tile[data-row-start="1"] {
  grid-row-start: 1;
}
.home-nav-section .overlay-tile[data-col-start="2"] {
  grid-column-start: 2;
}
.home-nav-section .overlay-tile[data-row-start="2"] {
  grid-row-start: 2;
}
.home-nav-section .overlay-tile[data-col-start="3"] {
  grid-column-start: 3;
}
.home-nav-section .overlay-tile[data-row-start="3"] {
  grid-row-start: 3;
}
.home-nav-section .overlay-tile[data-col-start="4"] {
  grid-column-start: 4;
}
.home-nav-section .overlay-tile[data-row-start="4"] {
  grid-row-start: 4;
}
.home-nav-section .overlay-tile[data-colour=orange] {
  background-color: #ff7864;
}
.home-nav-section .overlay-tile[data-colour=blue] {
  background-color: #004161;
}
.home-nav-section .overlay-tile[data-colour=light-blue] {
  background-color: #5cb7f2;
}
.home-nav-section .overlay-tile[data-colour=grey] {
  background-color: #cecfd0;
}
.home-nav-section .item-bottom {
  background-color: #ffffff;
  padding: 30px var(--item-padding);
  padding-top: 50px;
  flex-grow: 1;
  display: flex;
  align-items: flex-end;
  transition: background-color var(--fade-timing-reverse);
}
@media (min-width: 992px) {
  .home-nav-section .item-bottom {
    padding-right: 25px;
  }
}
@media (min-width: 1300px) {
  .home-nav-section .item-bottom {
    padding: 40px var(--item-padding);
    padding-top: 50px;
    padding-right: 25px;
  }
}
@media (min-width: 1600px) {
  .home-nav-section .item-bottom {
    gap: 40px;
    padding-right: 40px;
    padding-top: 60px;
    padding-bottom: 50px;
  }
}
.home-nav-section .item-bottom svg {
  display: block;
}
.home-nav-section .item-bottom-inner {
  position: relative;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 10px;
}
@media (min-width: 1300px) {
  .home-nav-section .item-bottom-inner {
    align-items: flex-end;
    gap: 20px;
  }
}
@media (min-width: 1600px) {
  .home-nav-section .item-bottom-inner {
    gap: 40px;
  }
}
.home-nav-section .item-bottom-copy {
  transition: opacity 0.3s;
  text-wrap: balance;
}
.home-nav-section .item-bottom-arrow {
  display: none;
}
@media (min-width: 1300px) {
  .home-nav-section .item-bottom-arrow {
    display: block;
    transition: opacity 0.3s;
  }
}
.home-nav-section .item-bottom-arrow svg g circle,
.home-nav-section .item-bottom-arrow svg g path {
  transition: stroke var(--fade-timing-reverse);
}
.home-nav-section .item-title {
  position: absolute;
  top: 0;
  left: 100%;
  line-height: 1;
  writing-mode: vertical-lr;
  padding-left: 0.5em;
  font-size: 20px;
  font-weight: 300;
  transition: opacity var(--fade-timing-reverse);
}
@media (min-width: 1300px) {
  .home-nav-section .item-title {
    font-size: 22px;
  }
}
@media (min-width: 1600px) {
  .home-nav-section .item-title {
    font-size: 24px;
  }
}
.home-nav-section .item-button {
  display: none;
  position: absolute;
  bottom: 0;
  right: 0;
  color: #ffffff;
  border: 1px solid #ffffff;
  align-items: center;
  gap: 30px;
  border-radius: 1.5em;
  padding: 0.6em 0.8em;
  cursor: pointer;
  opacity: 0;
  pointer-events: none;
  transition: opacity var(--fade-timing-reverse);
}
@media (min-width: 992px) {
  .home-nav-section .item-button {
    display: flex;
  }
}
@media (min-width: 1300px) {
  .home-nav-section .item-button {
    font-size: 1.2em;
    height: 50px;
  }
}
.home-nav-section .item-button svg {
  display: block;
  height: 1em;
  width: auto;
}
.home-nav-section .item-button-2 {
  display: none;
  position: absolute;
  bottom: 0;
  right: 0;
  color: #ffffff;
  cursor: pointer;
  opacity: 0;
  pointer-events: none;
  transition: opacity var(--fade-timing-reverse);
  z-index: 2;
}
@media (min-width: 992px) {
  .home-nav-section .item-button-2 {
    display: block;
  }
}
.home-nav-section .item-button-2 svg {
  display: block;
  height: 50px;
  width: auto;
}

.card-reveal-section {
  background-color: #004161;
  --block-height: 60px;
}
@media (min-width: 992px) {
  .card-reveal-section {
    position: relative;
    width: 100%;
    height: 100vh;
    overflow: hidden;
  }
}
@media (min-width: 992px) {
  .card-reveal-section .container {
    position: relative;
    height: 100vh;
  }
}
.card-reveal-section .block-top {
  justify-content: flex-end;
}
.card-reveal-section .block-bottom {
  margin-top: 100px;
}
.card-reveal-section .block-top {
  display: flex;
  width: 100%;
}
.card-reveal-section .block-top .block {
  aspect-ratio: 1;
  width: var(--floating-block-size);
  background-color: #ffffff;
}
@media (min-width: 992px) {
  .card-reveal-section .block-top {
    position: absolute;
    top: 0;
    right: 0;
    width: auto;
    z-index: 2;
  }
}
.card-reveal-section .card-reveal-heading-section {
  padding: 60px 0;
  padding-top: 80px;
}
@media (min-width: 992px) {
  .card-reveal-section .card-reveal-heading-section {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 100%;
    padding: 0;
    text-align: center;
    z-index: 1;
    transform: translate(-50%, -50%);
  }
}
.card-reveal-section .card-reveal-heading {
  font-size: 50px;
  color: #ffffff;
}
.card-reveal-section .card-reveals {
  display: grid;
  gap: 60px;
  padding-bottom: 100px;
}
@media (min-width: 992px) {
  .card-reveal-section .card-reveals {
    position: relative;
    display: block;
    height: 100vh;
    gap: 0;
    padding: 0;
    z-index: 2;
  }
}
@media (min-width: 992px) {
  .card-reveal-section .panel {
    position: absolute;
    top: 15%;
    left: 0;
    width: 100%;
    height: 70%;
    z-index: 1;
  }
}
@media (min-width: 992px) {
  .card-reveal-section .panel:nth-of-type(2) {
    top: 17%;
    z-index: 2;
  }
}
@media (min-width: 992px) {
  .card-reveal-section .panel:nth-of-type(3) {
    top: 19%;
    z-index: 3;
  }
}
@media (min-width: 992px) {
  .card-reveal-section .panel:nth-of-type(4) {
    top: 21%;
    z-index: 4;
  }
}
.card-reveal-section .card {
  display: flex;
  flex-direction: column;
  gap: 80px;
  --card-colour: #ffffff;
  --grid-columns: 5;
  background-color: var(--card-colour);
}
@media (min-width: 768px) {
  .card-reveal-section .card {
    gap: 60px;
    --grid-columns: 6;
    height: 100%;
  }
}
@media (min-width: 992px) {
  .card-reveal-section .card {
    flex-direction: row;
    --grid-columns: 5;
    gap: 0;
  }
}
.card-reveal-section .card--white {
  --card-colour: #ffffff;
}
.card-reveal-section .card--orange {
  --card-colour: #ff7864;
}
.card-reveal-section .card--blue {
  --card-colour: #004161;
}
.card-reveal-section .card--light-blue {
  --card-colour: #5cb7f2;
}
.card-reveal-section .card--black {
  --card-colour: #2e2d2c;
  color: #ffffff;
}
.card-reveal-section .card--grey {
  --card-colour: #cecfd0;
}
.card-reveal-section .card .content-block {
  padding: 0 20px;
  padding-top: 40px;
}
@media (min-width: 768px) {
  .card-reveal-section .card .content-block {
    padding: 0 30px;
    padding-top: 60px;
  }
}
@media (min-width: 992px) {
  .card-reveal-section .card .content-block {
    width: 60%;
    padding: 80px 50px;
    padding-right: 70px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    height: 100%;
  }
}
@media (min-width: 1300px) {
  .card-reveal-section .card .content-block {
    padding: 110px 80px;
    padding-right: 100px;
  }
}
@media (min-width: 1600px) {
  .card-reveal-section .card .content-block {
    padding: 140px 100px;
    padding-right: 112px;
  }
}
.card-reveal-section .card .heading-italics {
  font-size: 25px;
  margin-top: 40px;
  line-height: 1.4;
}
@media (min-width: 768px) {
  .card-reveal-section .card .heading-italics {
    margin-top: 40px;
  }
}
@media (min-width: 992px) {
  .card-reveal-section .card .heading-italics {
    font-size: 30px;
  }
}
@media (min-width: 1600px) {
  .card-reveal-section .card .heading-italics {
    font-size: 35px;
  }
}
.card-reveal-section .card .main-copy {
  margin-top: 40px;
}
@media (min-width: 768px) {
  .card-reveal-section .card .main-copy {
    margin-top: 40px;
  }
}
.card-reveal-section .image-block {
  aspect-ratio: 3/4;
  position: relative;
  width: 100%;
}
@media (min-width: 768px) {
  .card-reveal-section .image-block {
    aspect-ratio: 4/3;
  }
}
@media (min-width: 992px) {
  .card-reveal-section .image-block {
    width: 40%;
    aspect-ratio: unset;
  }
}
.card-reveal-section .image-block img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
}
@media (min-width: 768px) {
  .card-reveal-section .image-block img {
    -o-object-position: center 10%;
       object-position: center 10%;
  }
}
.card-reveal-section .image-grid-top {
  display: flex;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
}
@media (min-width: 768px) {
  .card-reveal-section .image-grid-top {
    position: relative;
    left: -1px;
  }
}
.card-reveal-section .image-grid-bottom {
  display: flex;
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
}
@media (min-width: 768px) {
  .card-reveal-section .image-grid-bottom {
    left: -2px;
  }
}
.card-reveal-section .image-grid-bottom .image-grid-block {
  aspect-ratio: 4/1;
  width: calc(100% / var(--grid-columns) * 4);
}
.card-reveal-section .image-grid-block {
  aspect-ratio: 1;
  width: calc(100% / var(--grid-columns));
  background-color: var(--card-colour);
}
.card-reveal-section .image-grid {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.card-reveal-section .image-grid .block {
  position: absolute;
  aspect-ratio: 1;
  width: calc(100% / var(--grid-columns));
  background-color: var(--card-colour);
}
.card-reveal-section .image-grid .block:nth-of-type(1) {
  top: 0;
  left: 0;
}
.card-reveal-section .image-grid .block:nth-of-type(2) {
  bottom: 0;
  left: 0;
}
.card-reveal-section .image-grid .block:nth-of-type(3) {
  bottom: 0;
  left: calc(100% / var(--grid-columns) * 1);
}
.card-reveal-section .image-grid .block:nth-of-type(4) {
  bottom: 0;
  left: calc(100% / var(--grid-columns) * 2);
}
.card-reveal-section .image-grid .block:nth-of-type(5) {
  bottom: 0;
  left: calc(100% / var(--grid-columns) * 3);
}
.card-reveal-section .image-grid .block:nth-of-type(6) {
  bottom: 0;
  left: calc(100% / var(--grid-columns) * 4);
}

.info-box-section {
  padding-bottom: 100px;
}
@media (min-width: 992px) {
  .info-box-section {
    padding-bottom: 120px;
  }
}
@media (min-width: 1300px) {
  .info-box-section {
    padding-bottom: 150px;
  }
}
.info-box-section .blocks-top {
  display: flex;
  justify-content: flex-end;
  width: 100%;
}
.info-box-section .blocks-top .block {
  aspect-ratio: 1;
  width: var(--floating-block-size);
  background-color: #004161;
}
.info-box-section .info-box-section-inner {
  padding-top: 60px;
}
@media (min-width: 768px) {
  .info-box-section .info-box-section-inner {
    padding-top: 50px;
  }
}
.info-box-section .info-box-intro .heading-italics {
  margin-top: 60px;
  text-wrap: balance;
}
@media (min-width: 768px) {
  .info-box-section .info-box-intro .heading-italics {
    margin-top: 40px;
  }
}
@media (min-width: 992px) {
  .info-box-section .info-box-intro .heading-italics {
    max-width: 50%;
  }
}
.info-box-section .info-boxes {
  margin-top: 80px;
  display: grid;
  grid-auto-rows: 1fr;
  gap: 20px;
}
@media (min-width: 992px) {
  .info-box-section .info-boxes {
    grid-template-columns: repeat(3, 1fr);
    margin-top: 100px;
  }
}
@media (min-width: 1300px) {
  .info-box-section .info-boxes {
    margin-top: 120px;
    gap: 30px;
  }
}
@media (min-width: 1600px) {
  .info-box-section .info-boxes {
    gap: 50px;
  }
}
.info-box-section .info-box {
  --card-colour: white;
  position: relative;
}
.info-box-section .info-box--orange {
  --card-colour: #ff7864;
}
.info-box-section .info-box--light-blue {
  --card-colour: #5cb7f2;
}
.info-box-section .info-box--grey {
  --card-colour: #cecfd0;
}
@media (min-width: 992px) {
  .info-box-section .info-box:hover .info-box-block {
    translate: 0 -100%;
  }
}
.info-box-section .info-box-grid {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background-color: var(--card-colour);
}
@media (min-width: 992px) {
  .info-box-section .info-box-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    grid-template-rows: repeat(4, 1fr);
  }
}
@media (min-width: 992px) {
  .info-box-section .info-box-block {
    aspect-ratio: 1;
    background-color: var(--card-colour);
    grid-column-start: 4;
    grid-row-start: 1;
    transition: translate 0.4s;
  }
}
@media (min-width: 992px) {
  .info-box-section .info-box-block--white {
    aspect-ratio: 1;
    grid-column-start: 4;
    grid-row-start: 1;
    background-color: #ffffff;
  }
}
.info-box-section .info-box-content {
  padding: 20px;
  padding-top: 30px;
  font-size: 30px;
  line-height: 1.3;
  aspect-ratio: 1;
  max-height: 350px;
  width: 100%;
  position: relative;
}
@media (min-width: 768px) {
  .info-box-section .info-box-content {
    aspect-ratio: 3;
  }
}
@media (min-width: 992px) {
  .info-box-section .info-box-content {
    aspect-ratio: 1;
    max-height: unset;
  }
}
@media (min-width: 1300px) {
  .info-box-section .info-box-content {
    font-size: 36px;
    padding: 30px;
    padding-top: 40px;
  }
}
@media (min-width: 1600px) {
  .info-box-section .info-box-content {
    font-size: 40px;
    padding: 40px;
    padding-top: 60px;
  }
}
.info-box-section .info-box-content::before {
  content: "";
  display: block;
  width: 30%;
  height: 20%;
  shape-outside: inset(0);
  float: right;
}

.customers-section {
  position: relative;
  background: #19191a;
  color: #ffffff;
}
.customers-section .background-image-wrapper {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  aspect-ratio: 5/4;
  max-height: 400px;
}
@media (min-width: 992px) {
  .customers-section .background-image-wrapper {
    max-height: 440px;
  }
}
@media (min-width: 1300px) {
  .customers-section .background-image-wrapper {
    max-height: 550px;
  }
}
@media (min-width: 1600px) {
  .customers-section .background-image-wrapper {
    max-height: 620px;
  }
}
.customers-section .background-image-wrapper img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
}
.customers-section .background-image-wrapper::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: block;
  background: linear-gradient(180deg, rgba(25, 25, 26, 0.2) 0%, #19191a 89.55%);
}
.customers-section .container {
  position: relative;
}
.customers-section .customers-section-inner {
  padding-top: 120px;
  padding-bottom: 80px;
}
@media (min-width: 768px) {
  .customers-section .customers-section-inner {
    padding-top: 160px;
    padding-bottom: 100px;
  }
}
@media (min-width: 992px) {
  .customers-section .customers-section-inner {
    padding-top: 200px;
  }
}
@media (min-width: 1300px) {
  .customers-section .customers-section-inner {
    padding-top: 250px;
    padding-bottom: 120px;
  }
}
.customers-section .top-content {
  display: flex;
  flex-direction: column;
}
.customers-section .heading-italics {
  margin-top: 90px;
  text-wrap: balance;
}
@media (min-width: 768px) {
  .customers-section .heading-italics {
    margin-top: 60px;
    max-width: 70%;
  }
}
@media (min-width: 1300px) {
  .customers-section .heading-italics {
    margin-top: 70px;
  }
}
.customers-section .main-copy {
  margin-top: 40px;
}
@media (min-width: 992px) {
  .customers-section .main-copy {
    align-self: flex-end;
    max-width: 50%;
    margin-top: 80px;
  }
}
@media (min-width: 1300px) {
  .customers-section .main-copy {
    margin-top: 100px;
    max-width: 45%;
  }
}
.customers-section .customers-grid {
  --cols: 3;
  margin-top: 50px;
  display: grid;
  background-color: #979797;
  grid-template-columns: repeat(var(--cols), 1fr);
  gap: 1px;
}
@media (min-width: 768px) {
  .customers-section .customers-grid {
    margin-top: 70px;
  }
}
@media (min-width: 992px) {
  .customers-section .customers-grid {
    margin-top: 90px;
    --cols: 6;
  }
}
.customers-section .customers-grid.in-view .grid-item img {
  opacity: 1;
}
.customers-section .grid-item {
  background-color: #19191a;
  aspect-ratio: 1;
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
}
.customers-section .grid-item img {
  display: block;
  max-width: 60%;
  max-height: 60%;
  width: 100%;
  opacity: 0;
  transition: opacity 1s 0s;
}
.customers-section .grid-item--small img {
  max-width: 50%;
  max-height: 50%;
}
.customers-section .grid-item--smaller img {
  max-width: 40%;
  max-height: 40%;
}
.customers-section .grid-item:nth-of-type(1) img {
  transition-delay: 0.8211264835s;
}
.customers-section .grid-item:nth-of-type(2) img {
  transition-delay: 0.1223266802s;
}
.customers-section .grid-item:nth-of-type(3) img {
  transition-delay: 0.9717516688s;
}
.customers-section .grid-item:nth-of-type(4) img {
  transition-delay: 0.7267298118s;
}
.customers-section .grid-item:nth-of-type(5) img {
  transition-delay: 0.156472251s;
}
.customers-section .grid-item:nth-of-type(6) img {
  transition-delay: 0.4441507268s;
}
.customers-section .grid-item:nth-of-type(7) img {
  transition-delay: 0.7918097371s;
}
.customers-section .grid-item:nth-of-type(8) img {
  transition-delay: 0.9629314994s;
}
.customers-section .grid-item:nth-of-type(9) img {
  transition-delay: 0.6192297375s;
}
.customers-section .grid-item:nth-of-type(10) img {
  transition-delay: 0.96666724s;
}
.customers-section .grid-item:nth-of-type(11) img {
  transition-delay: 0.3663094227s;
}
.customers-section .grid-item:nth-of-type(12) img {
  transition-delay: 0.148764219s;
}
.customers-section .grid-item:nth-of-type(13) img {
  transition-delay: 0.593203528s;
}
.customers-section .grid-item:nth-of-type(14) img {
  transition-delay: 0.7690048955s;
}
.customers-section .grid-item:nth-of-type(15) img {
  transition-delay: 0.2667348472s;
}
.customers-section .grid-item:nth-of-type(16) img {
  transition-delay: 0.976443776s;
}
.customers-section .grid-item:nth-of-type(17) img {
  transition-delay: 0.3304339171s;
}
.customers-section .grid-item:nth-of-type(18) img {
  transition-delay: 0.4830360166s;
}
.customers-section .grid-item:nth-of-type(19) img {
  transition-delay: 0.9481398427s;
}
.customers-section .grid-item:nth-of-type(20) img {
  transition-delay: 0.9266482488s;
}
.customers-section .grid-item:nth-of-type(21) img {
  transition-delay: 0.4205993786s;
}
.customers-section .grid-item:nth-of-type(22) img {
  transition-delay: 0.1793876s;
}
.customers-section .grid-item:nth-of-type(23) img {
  transition-delay: 0.3391632284s;
}
.customers-section .grid-item:nth-of-type(24) img {
  transition-delay: 0.1601829573s;
}
.customers-section .grid-item:nth-of-type(25) img {
  transition-delay: 0.1837264677s;
}
.customers-section .grid-item:nth-of-type(26) img {
  transition-delay: 0.9042114699s;
}
.customers-section .grid-item:nth-of-type(27) img {
  transition-delay: 0.654354355s;
}
.customers-section .grid-item:nth-of-type(28) img {
  transition-delay: 0.6043638566s;
}
.customers-section .grid-item:nth-of-type(29) img {
  transition-delay: 0.0412738505s;
}
.customers-section .grid-item:nth-of-type(30) img {
  transition-delay: 0.9173065959s;
}
.customers-section .grid-item:nth-of-type(31) img {
  transition-delay: 0.6217358236s;
}
.customers-section .grid-item:nth-of-type(32) img {
  transition-delay: 0.62138525s;
}
.customers-section .grid-item:nth-of-type(33) img {
  transition-delay: 0.4870375427s;
}
.customers-section .grid-item:nth-of-type(34) img {
  transition-delay: 0.4369414214s;
}
.customers-section .grid-item:nth-of-type(35) img {
  transition-delay: 0.6880785295s;
}
.customers-section .grid-item:nth-of-type(36) img {
  transition-delay: 0.8574350253s;
}
.customers-section .grid-item:nth-of-type(37) img {
  transition-delay: 0.0756663252s;
}
.customers-section .grid-item:nth-of-type(38) img {
  transition-delay: 0.0443631005s;
}
.customers-section .grid-item:nth-of-type(39) img {
  transition-delay: 0.362439238s;
}
.customers-section .grid-item:nth-of-type(40) img {
  transition-delay: 0.0406865215s;
}

.team-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  min-height: 200px;
}
@media (min-width: 768px) {
  .team-grid {
    grid-template-columns: repeat(3, 1fr);
  }
}
@media (min-width: 992px) {
  .team-grid {
    grid-template-columns: repeat(4, 1fr);
  }
}
@media (min-width: 1300px) {
  .team-grid {
    grid-template-columns: repeat(5, 1fr);
  }
}
@media (min-width: 1600px) {
  .team-grid {
    grid-template-columns: repeat(6, 1fr);
  }
}
.team-grid .person {
  width: 100%;
  aspect-ratio: 28/35;
  position: relative;
  overflow: hidden;
  cursor: pointer;
  color: inherit;
  transition: background-color 0.3s;
}
@media (hover: hover) {
  .team-grid .person:hover {
    background-color: rgba(0, 65, 97, 0.7);
  }
  .team-grid .person:hover .person-pattern-v2 {
    opacity: 1;
  }
  .team-grid .person:hover .pattern-v2-block:nth-of-type(1) {
    translate: 0 -100%;
  }
}
@media (hover: none) {
  .team-grid .person {
    background-color: rgba(0, 65, 97, 0.7);
  }
  .team-grid .person .person-overlay {
    opacity: 1;
    pointer-events: all;
  }
}
.team-grid .person-image {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center 20%;
     object-position: center 20%;
  mix-blend-mode: multiply;
}
.team-grid .person-overlay {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  color: #ffffff;
  padding: 20px;
  opacity: 0;
  pointer-events: none;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  transition: opacity 0.2s;
}
.team-grid .person-name {
  font-weight: 500;
  margin-bottom: 4px;
  text-wrap: balance;
}
.team-grid .person-info {
  font-weight: 300;
}
.team-grid .person-pattern {
  position: absolute;
  bottom: 0;
  right: 0;
  height: var(--block-link-overlay-size);
  aspect-ratio: 1;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  grid-template-rows: repeat(3, 1fr);
}
.team-grid .person-pattern-v2 {
  position: absolute;
  left: 0;
  bottom: 0;
  height: calc(var(--block-link-overlay-size-single) * 3);
  width: 100%;
  z-index: 99;
  display: flex;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.3s;
}
.team-grid .person-pattern-v2-inner {
  background-color: #ffffff;
  flex: 1;
  padding: 20px;
  padding-right: 10px;
  flex: 1;
}
.team-grid .pattern-v2-right {
  display: flex;
  flex-direction: column;
  flex-shrink: 0;
}
.team-grid .pattern-v2-block {
  aspect-ratio: 1;
  width: var(--block-link-overlay-size-single);
  background-color: #ffffff;
  transition: translate 0.3s;
}
.team-grid .pattern-v2-arrow {
  aspect-ratio: 1;
  width: var(--block-link-overlay-size-single);
  background-color: #ff7864;
  display: flex;
  justify-content: center;
  align-items: center;
}
.team-grid .pattern-v2-arrow img {
  display: block;
  width: 80%;
}
.team-grid .pattern-block {
  background-color: #ffffff;
  display: flex;
  justify-content: center;
  align-items: center;
  transition: translate 0.3s, opacity 0.3s;
  opacity: 0;
}
.team-grid .pattern-block[data-col="1"] {
  grid-column-start: 1;
}
.team-grid .pattern-block[data-row="1"] {
  grid-row-start: 1;
}
.team-grid .pattern-block[data-col="2"] {
  grid-column-start: 2;
}
.team-grid .pattern-block[data-row="2"] {
  grid-row-start: 2;
}
.team-grid .pattern-block[data-col="3"] {
  grid-column-start: 3;
}
.team-grid .pattern-block[data-row="3"] {
  grid-row-start: 3;
}
.team-grid .pattern-block[data-col="4"] {
  grid-column-start: 4;
}
.team-grid .pattern-block[data-row="4"] {
  grid-row-start: 4;
}
.team-grid .pattern-block[data-col="5"] {
  grid-column-start: 5;
}
.team-grid .pattern-block[data-row="5"] {
  grid-row-start: 5;
}
.team-grid .pattern-block[data-fade=left] {
  translate: 100% 0;
}
.team-grid .pattern-block[data-fade=right] {
  translate: -100% 0;
}
.team-grid .pattern-block[data-fade=up] {
  translate: 0 100%;
}
.team-grid .pattern-block[data-fade=down] {
  translate: 0 -100%;
}
.team-grid .pattern-block--arrow {
  background-color: #ff7864;
}
.team-grid .pattern-block--arrow img {
  display: block;
  width: 80%;
}

.contact-strip-section {
  background-color: #5cb7f2;
  color: #ffffff;
  padding-top: 50px;
  padding-bottom: 40px;
}
@media (min-width: 768px) {
  .contact-strip-section {
    padding: 50px 0;
  }
}
.contact-strip-section .contact-strip-inner {
  display: flex;
  flex-direction: column;
  gap: 100px;
}
@media (min-width: 768px) {
  .contact-strip-section .contact-strip-inner {
    gap: 40px;
  }
}
@media (min-width: 992px) {
  .contact-strip-section .contact-strip-inner {
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
  }
}
.contact-strip-section .contact-strip-heading {
  font-weight: 300;
  font-size: 30px;
  line-height: 1.1;
}
@media (min-width: 768px) {
  .contact-strip-section .contact-strip-heading {
    font-size: 40px;
  }
}
@media (min-width: 1600px) {
  .contact-strip-section .contact-strip-heading {
    font-size: 45px;
  }
}
.contact-strip-section .contact-strip-group {
  display: inline-flex;
  flex-direction: column;
  gap: 40px;
  width: -moz-fit-content;
  width: fit-content;
  min-width: 300px;
}
@media (min-width: 768px) {
  .contact-strip-section .contact-strip-group {
    flex-direction: row;
    width: auto;
    justify-content: space-between;
    gap: 50px;
  }
}
@media (min-width: 1600px) {
  .contact-strip-section .contact-strip-group {
    gap: 80px;
  }
}
.contact-strip-section .contact-strip-social {
  display: flex;
  justify-content: space-between;
  gap: 40px;
  align-items: flex-end;
}
@media (min-width: 768px) {
  .contact-strip-section .contact-strip-social {
    gap: 30px;
  }
}
.contact-strip-section .social-pre {
  font-size: 20px;
  line-height: 1.3;
  font-weight: 300;
}
.contact-strip-section .button {
  font-size: 1.1em;
}
.contact-strip-section .social-links {
  display: flex;
  gap: 10px;
}
.contact-strip-section .social-link {
  display: block;
}
.contact-strip-section .social-link img {
  height: 50px;
}

@media (min-width: 992px) {
  .office-section {
    padding: 110px 0;
  }
}
@media (min-width: 1300px) {
  .office-section {
    padding: 150px 0;
  }
}
.office-section .top-section {
  padding-top: 60px;
  padding-bottom: 50px;
}
@media (min-width: 992px) {
  .office-section .top-section {
    padding-top: 0;
  }
}
@media (min-width: 992px) {
  .office-section .main-section {
    display: flex;
    gap: 60px;
  }
}
@media (min-width: 1300px) {
  .office-section .main-section {
    gap: 90px;
  }
}
@media (min-width: 1600px) {
  .office-section .main-section {
    padding: 0 var(--container-indent);
  }
}
.office-section .office-list-block {
  padding: 0 var(--container-indent);
  padding-bottom: 30px;
}
@media (min-width: 768px) {
  .office-section .office-list-block {
    padding-bottom: 40px;
  }
}
@media (min-width: 992px) {
  .office-section .office-list-block {
    padding: 0;
    padding-left: var(--container-indent);
  }
}
@media (min-width: 1600px) {
  .office-section .office-list-block {
    padding: 0;
  }
}
.office-section .office-select-wrapper {
  position: relative;
}
.office-section .office-select-wrapper::after {
  content: "";
  background-image: url("../../img/icons/arrow-down-black.svg");
  display: block;
  height: 1.2em;
  width: 1.2em;
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  position: absolute;
  right: 1.1em;
  top: 50%;
  translate: 0 -50%;
  pointer-events: none;
  transition: filter 0.2s;
}
.office-section .office-select-wrapper:has(.office-select:hover)::after {
  filter: brightness(0) invert(1);
}
@media (min-width: 992px) {
  .office-section .office-select-wrapper {
    display: none;
  }
}
.office-section .office-select {
  width: 100%;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
}
.office-section .office-select option {
  background-color: #ffffff;
  color: #2e2d2c;
}
.office-section .office-list {
  display: none;
}
@media (min-width: 992px) {
  .office-section .office-list {
    display: grid;
    gap: 20px;
    grid-template-columns: repeat(1, 1fr);
  }
}
.office-section .office-button {
  justify-content: center;
  padding-left: 2em;
  padding-right: 2em;
}
.office-section .office-button::after {
  content: unset;
}
.office-section .map-address-block {
  background-color: #f1f1f2;
}
@media (min-width: 768px) {
  .office-section .map-address-block {
    display: flex;
    padding: 50px var(--container-indent);
  }
}
@media (min-width: 992px) {
  .office-section .map-address-block {
    flex: 1;
    padding: 50px 0;
    padding-left: 50px;
  }
}
@media (min-width: 1300px) {
  .office-section .map-address-block {
    padding: 60px 0;
    padding-left: 60px;
    -webkit-clip-path: polygon(0% 0%, 100% 0%, 100% 100%, var(--floating-block-size) 100%, var(--floating-block-size) calc(100% - var(--floating-block-size)), 0% calc(100% - var(--floating-block-size)));
            clip-path: polygon(0% 0%, 100% 0%, 100% 100%, var(--floating-block-size) 100%, var(--floating-block-size) calc(100% - var(--floating-block-size)), 0% calc(100% - var(--floating-block-size)));
  }
}
@media (min-width: 1600px) {
  .office-section .map-address-block {
    padding: 60px;
  }
}
.office-section .address-block {
  padding: 30px var(--container-indent) 60px;
}
@media (min-width: 768px) {
  .office-section .address-block {
    flex: 40% 0;
    padding: 0;
  }
}
.office-section .office-heading {
  font-weight: 500;
  font-size: 20px;
  margin-bottom: 10px;
}
@media (min-width: 1600px) {
  .office-section .office-heading {
    font-size: 22px;
  }
}
.office-section .office-details a {
  color: inherit;
}
.office-section .map-block {
  aspect-ratio: 1;
  width: 100%;
  position: relative;
}
@media (min-width: 768px) {
  .office-section .map-block {
    flex: 60% 1;
  }
}
@media (min-width: 992px) {
  .office-section .map-block {
    max-height: 100%;
  }
}
.office-section .map {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
}

.view-all-case-studies {
  background-color: #ff7864;
  padding-block: 40px;
}
@media (min-width: 992px) {
  .view-all-case-studies {
    padding-block: 50px;
  }
}
.view-all-case-studies .view-all-case-studies-inner {
  display: grid;
  place-items: center;
}

.banner-buffer {
  height: var(--floating-block-size);
  background-color: #5cb7f2;
}

.updates-section {
  overflow: hidden;
}
.updates-section:not(:first-of-type) .updates-section-inner {
  border-top: 1px solid #979797;
}
.updates-section .updates-section-inner {
  padding-top: 50px;
  display: flex;
  flex-direction: column;
  gap: 20px;
}
@media (min-width: 768px) {
  .updates-section .updates-section-inner {
    padding: 60px 0;
    gap: 60px;
  }
}
@media (min-width: 1300px) {
  .updates-section .updates-section-inner {
    padding: 70px 0;
    gap: 70px;
  }
}
@media (min-width: 1600px) {
  .updates-section .updates-section-inner {
    padding: 100px 0;
    gap: 100px;
  }
}
.updates-section .section-top {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.single-news-article .updates-section-inner {
  border: none !important;
}

.page-template-page-privacy {
  padding-top: 0;
}
.page-template-page-privacy header {
  background-color: transparent;
}

.privacy {
  display: block;
  width: 100%;
  padding: 30px 0;
  background-color: #ffffff;
}
@media (min-width: 768px) {
  .privacy {
    padding: 50px 0;
  }
}
@media (min-width: 1300px) {
  .privacy {
    padding: 80px 0;
  }
}

.privacy-items {
  display: block;
  width: 100%;
  padding: 0 15px;
}

.privacy-item {
  display: block;
  width: 100%;
  border-top: 1px solid #979797;
}
.privacy-item:last-of-type {
  border-bottom: 1px solid #979797;
}
.privacy-item.active .privacy-item-icon span {
  background-image: url("../../img/icons/icon-close.svg");
}
.privacy-item.active .privacy-item-content {
  display: block;
}

.privacy-item-heading {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 100%;
  padding: 15px 0;
}

.privacy-item-label {
  display: block;
  color: #19191a;
  font-size: 18px;
  font-family: "Graphik LCG", sans-serif;
  font-weight: 600;
}
@media (min-width: 768px) {
  .privacy-item-label {
    font-size: 20px;
  }
}
@media (min-width: 992px) {
  .privacy-item-label {
    font-size: 22px;
  }
}
@media (min-width: 1300px) {
  .privacy-item-label {
    font-size: 24px;
  }
}

.privacy-item-icon {
  flex-shrink: 0;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 40px;
  height: 40px;
  margin-left: 30px;
  border: 2px solid #2e2d2c;
  border-radius: 50%;
  overflow: hidden;
}
@media (min-width: 768px) {
  .privacy-item-icon {
    width: 50px;
    height: 50px;
  }
}
.privacy-item-icon span {
  display: block;
  width: 20px;
  height: 20px;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  background-image: url("../../img/icons/arrow-down-black.svg");
}

.privacy-item-content {
  display: none;
  width: 100%;
  padding: 15px 0 30px;
}
.privacy-item-content > :first-child {
  margin-top: 0;
}
.privacy-item-content > :last-child {
  margin-bottom: 0;
}
.privacy-item-content p,
.privacy-item-content ul,
.privacy-item-content ol {
  margin-top: 1em;
  color: #19191a;
  font-size: 16px;
}
@media (min-width: 768px) {
  .privacy-item-content p,
  .privacy-item-content ul,
  .privacy-item-content ol {
    font-size: 18px;
  }
}
.privacy-item-content ul li {
  position: relative;
  padding-left: 20px;
}
.privacy-item-content ul li:before {
  content: "";
  position: absolute;
  top: 10px;
  left: 0;
  width: 4px;
  height: 4px;
  border-radius: 50%;
  background-color: #19191a;
  overflow: hidden;
}
@media (min-width: 768px) {
  .privacy-item-content ul li:before {
    top: 11px;
  }
}
.privacy-item-content ol {
  list-style: none;
  counter-reset: list-counter;
}
.privacy-item-content ol li {
  position: relative;
  counter-increment: list-counter;
  padding-left: 25px;
  margin-top: 0.8em;
}
.privacy-item-content ol li:before {
  content: counter(list-counter) ".";
  position: absolute;
  top: 0;
  left: 0;
  color: #19191a;
  font-size: 16px;
  font-weight: 400;
  font-family: "Graphik LCG", sans-serif;
}
@media (min-width: 768px) {
  .privacy-item-content ol li:before {
    font-size: 18px;
  }
}
.privacy-item-content a {
  border-bottom: 2px solid transparent;
  color: #004161;
  font-weight: 500;
  transition: border-color 0.2s;
}
.privacy-item-content a:hover {
  border-color: #004161;
}
.privacy-item-content strong {
  font-weight: 500;
}

.privacy-item-subheading {
  display: block;
  margin-top: 2em;
  color: #004161;
  font-size: 18px;
  font-family: "Graphik LCG", sans-serif;
  font-weight: 600;
}
@media (min-width: 768px) {
  .privacy-item-subheading {
    font-size: 20px;
  }
}
@media (min-width: 992px) {
  .privacy-item-subheading {
    font-size: 22px;
  }
}
@media (min-width: 1300px) {
  .privacy-item-subheading {
    font-size: 24px;
  }
}

@media (min-width: 768px) {
  .person-section {
    display: flex;
    padding-top: 40px;
    padding-bottom: 80px;
  }
}
@media (min-width: 992px) {
  .person-section {
    padding-bottom: 100px;
  }
}
@media (min-width: 1600px) {
  .person-section {
    padding-bottom: 120px;
    max-width: 2000px;
    margin-left: auto;
    margin-right: auto;
  }
}
@media (min-width: 768px) {
  .person-section .image-block {
    width: 50%;
  }
}
@media (min-width: 1600px) {
  .person-section .image-block {
    width: auto;
  }
}
.person-section .image-wrapper {
  position: relative;
  aspect-ratio: 1;
  width: 100%;
}
@media (min-width: 1600px) {
  .person-section .image-wrapper {
    width: auto;
    height: 85vh;
    max-height: 900px;
  }
}
.person-section .image-wrapper img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center 10%;
     object-position: center 10%;
  -webkit-clip-path: polygon(0% 0%, 100% 0%, 100% calc(100% - var(--floating-block-size)), calc(100% - var(--floating-block-size)) calc(100% - var(--floating-block-size)), calc(100% - var(--floating-block-size)) 100%, 0% 100%);
          clip-path: polygon(0% 0%, 100% 0%, 100% calc(100% - var(--floating-block-size)), calc(100% - var(--floating-block-size)) calc(100% - var(--floating-block-size)), calc(100% - var(--floating-block-size)) 100%, 0% 100%);
}
.person-section .content-block {
  padding: 40px var(--container-indent);
  padding-bottom: 30px;
}
@media (min-width: 768px) {
  .person-section .content-block {
    width: 50%;
    padding: 0 40px;
  }
}
@media (min-width: 992px) {
  .person-section .content-block {
    padding: 0 60px;
  }
}
@media (min-width: 1300px) {
  .person-section .content-block {
    padding: 0 80px;
    display: flex;
    justify-content: center;
    flex: 1;
  }
}
@media (min-width: 1600px) {
  .person-section .content-block {
    padding: 0 100px;
  }
}
.person-section .content-block-inner {
  max-width: 700px;
}
.person-section .content-top {
  margin-top: 40px;
  margin-bottom: 40px;
  font-size: 25px;
  font-weight: 300;
  line-height: 1.3;
}
@media (min-width: 1300px) {
  .person-section .content-top {
    font-size: 30px;
    margin-top: 60px;
    margin-bottom: 50px;
  }
}
@media (min-width: 1300px) {
  .person-section h1 {
    position: relative;
  }
}
.person-section .person-role {
  font-size: 0.8em;
  margin-top: 0.1em;
}
.person-section .contact-area {
  margin-top: 80px;
}
.person-section .contact-area h2 {
  font-size: 1.1em;
  font-weight: 500;
  margin-bottom: 10px;
}
.person-section .contact-details {
  display: inline-flex;
  flex-direction: column;
  gap: 10px;
  width: 100%;
}
@media (min-width: 768px) {
  .person-section .contact-details {
    width: auto;
  }
}
.person-section .contact-link {
  display: flex;
  justify-content: space-between;
  align-items: center;
  color: inherit;
  gap: 30px;
}
@media (min-width: 992px) {
  .person-section .contact-link {
    min-width: 350px;
  }
}
.person-section .contact-link:hover svg circle {
  fill: #004161;
  stroke: #004161;
}
.person-section .contact-link:hover svg path {
  stroke: #ffffff;
}
.person-section .contact-link svg {
  display: block;
  height: 40px;
  width: auto;
}
.person-section .contact-link svg circle {
  transition: fill 0.2s, stroke 0.2s;
  fill: transparent;
}
.person-section .contact-link svg path {
  transition: stroke 0.2s;
}
.person-section .social-links {
  display: flex;
  gap: 6px;
  margin-top: 10px;
}
.person-section .social-link {
  display: block;
}
.person-section .social-link img {
  display: block;
  width: 50px;
}

html:has(#portfolio-section) {
  scroll-snap-type: y proximity;
}

.page-template-page-our-portfolio .updates-section-inner {
  border: none !important;
}

@media (min-width: 992px) {
  .portfolio-main {
    display: flex;
    flex: 1;
  }
}

@media (min-width: 992px) {
  .portfolio-map-block {
    flex: 1;
  }
}
.portfolio-map-block > div {
  width: 100%;
  aspect-ratio: 1;
}
@media (min-width: 768px) {
  .portfolio-map-block > div {
    aspect-ratio: 16/9;
  }
}
@media (min-width: 992px) {
  .portfolio-map-block > div {
    aspect-ratio: unset;
    height: 100%;
  }
}

@media (min-width: 992px) {
  #portfolio-section {
    scroll-snap-align: start;
    display: flex;
    flex-direction: column;
    height: max(600px, 100vh);
  }
}
@media (min-width: 1600px) {
  #portfolio-section .filter-section-inner {
    max-width: unset;
  }
}
@media (min-width: 768px) {
  #portfolio-section .filters {
    flex-wrap: wrap;
    row-gap: 20px;
    max-width: unset;
  }
}
@media (min-width: 768px) {
  #portfolio-section .filter-range {
    width: 100%;
  }
}
@media (min-width: 1300px) {
  #portfolio-section .filter-range {
    width: auto;
    flex: 2;
  }
}
@media (min-width: 1600px) {
  #portfolio-section .filter-range {
    flex: 2.4;
  }
}
#portfolio-section .toggle-filter {
  display: flex;
  gap: 10px;
  align-self: center;
}
#portfolio-section .toggle-button {
  cursor: pointer;
  border-radius: 1.8em;
  padding: 0.4em 1em;
  min-height: 50px;
  border: 2px solid currentColor;
  min-width: 4.6em;
  text-align: center;
}
#portfolio-section .toggle-button[data-active=true] {
  color: #ffffff;
}

@media (min-width: 992px) {
  .portfolio-content-block {
    flex: 0 0 650px;
    order: -1;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    position: relative;
  }
}
@media (min-width: 1600px) {
  .portfolio-content-block {
    flex-basis: 700px;
  }
}
@media (min-width: 992px) {
  .portfolio-content-block .content-block-inner {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    display: flex;
    flex-direction: column;
    overflow-y: auto;
  }
}
.portfolio-content-block .results-bar {
  padding: 20px var(--container-indent);
}
@media (min-width: 992px) {
  .portfolio-content-block .results-bar {
    flex: 0;
    padding: 0 30px;
    position: sticky;
    top: 0;
    background-color: #ffffff;
    z-index: 1;
  }
}
.portfolio-content-block .unit-key {
  display: flex;
  justify-content: space-between;
  font-size: 15px;
}
@media (min-width: 768px) {
  .portfolio-content-block .unit-key {
    font-size: 16px;
  }
}
@media (min-width: 992px) {
  .portfolio-content-block .unit-key {
    padding: 20px 0;
  }
}
.portfolio-content-block .unit-key > *:last-child {
  display: none;
}
.portfolio-content-block .key-item {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  line-height: 1;
}
@media (min-width: 768px) {
  .portfolio-content-block .key-item {
    gap: 10px;
  }
}
.portfolio-content-block .key-item--available .key-colour {
  background-color: #84f7a0;
}
.portfolio-content-block .key-item--coming-soon .key-colour {
  background-color: #5cb7f2;
}
.portfolio-content-block .key-item--let .key-colour {
  background-color: #ff7864;
}
.portfolio-content-block .key-item .key-colour {
  height: 1em;
  width: 1em;
  display: block;
  border-radius: 50%;
}
.portfolio-content-block .key-item .key-label {
  position: relative;
  white-space: nowrap;
}
.portfolio-content-block .divider {
  display: flex;
  flex: 1;
  justify-content: center;
  align-items: center;
}
.portfolio-content-block .divider .divider-line {
  height: 1em;
  width: 1px;
  background-color: #979797;
  display: block;
}
.portfolio-content-block .results-list {
  border-top: #979797 1px solid;
  border-bottom: #979797 1px solid;
}
@media (min-width: 768px) {
  .portfolio-content-block .results-list {
    padding: 0 var(--container-indent);
  }
}
@media (min-width: 992px) {
  .portfolio-content-block .results-list {
    border: none;
    padding: 0;
    flex: 1;
    background-color: #f1f1f2;
    position: relative;
  }
}
.portfolio-content-block .results-list-inner {
  display: grid;
}
@media (min-width: 768px) {
  .portfolio-content-block .results-list-inner {
    grid-template-columns: repeat(2, 1fr);
    -moz-column-gap: 20px;
         column-gap: 20px;
  }
}
@media (min-width: 992px) {
  .portfolio-content-block .results-list-inner {
    background-color: #ffffff;
  }
}
@media (min-width: 992px) {
  .portfolio-content-block .results-list-inner {
    grid-template-columns: repeat(1, 1fr);
  }
}

.portfolio-list-item-wrapper {
  color: inherit;
  display: block;
}
.portfolio-list-item-wrapper--button {
  cursor: pointer;
}

.portfolio-list-item {
  background-color: #ffffff;
  padding: 20px;
  color: inherit;
  overflow: hidden;
}
@media (min-width: 768px) {
  .portfolio-list-item {
    padding: 20px 0;
    height: 100%;
  }
}
@media (min-width: 992px) {
  .portfolio-list-item {
    padding: 0 30px;
  }
}
.portfolio-list-item:not(:first-of-type) {
  border-top: 3px solid #cecfd0;
}
@media (min-width: 768px) {
  .portfolio-list-item:not(:first-of-type) {
    border: none;
  }
}
.portfolio-list-item:hover .pattern-block {
  translate: 0 !important;
  opacity: 1;
}
.portfolio-list-item:hover .item-image-block {
  background-color: rgba(0, 65, 97, 0.7);
}
.portfolio-list-item:hover .item-overlay {
  opacity: 1;
}
.portfolio-list-item:hover .coming-soon-label {
  opacity: 0;
  pointer-events: none;
}
.portfolio-list-item:hover .enquire-button {
  opacity: 1;
}
.portfolio-list-item.active {
  animation: selectedItem 1.5s;
}
.portfolio-list-item .portfolio-list-item-inner {
  display: flex;
  flex-direction: column;
  gap: 20px;
}
@media (min-width: 992px) {
  .portfolio-list-item .portfolio-list-item-inner {
    flex-direction: row;
    gap: 0;
    padding: 30px 0;
    border-top: 1px solid #cecfd0;
  }
}
.portfolio-list-item .item-image-block {
  aspect-ratio: 3/2;
  width: 100%;
  position: relative;
  transition: background-color 0.2s;
  background-color: #ffffff;
}
@media (min-width: 992px) {
  .portfolio-list-item .item-image-block {
    aspect-ratio: 5/4;
    width: 50%;
  }
}
.portfolio-list-item .coming-soon-label {
  position: absolute;
  top: 10%;
  left: 50%;
  translate: -50% 0;
  padding: 0.5em 1em;
  border-radius: 1.8em;
  background-color: #ffffff;
  font-size: 15px;
  line-height: 1;
  min-width: 130px;
  text-align: center;
  white-space: nowrap;
  opacity: 1;
  transition: opacity 0.2s;
}
.portfolio-list-item .enquire-button {
  position: absolute;
  top: 50%;
  left: 50%;
  translate: -50% -50%;
  pointer-events: none;
  opacity: 0;
  transition: opacity 0.2s;
  font-size: 1.1em;
}
.portfolio-list-item .enquire-button::after {
  flex-shrink: 0;
}
.portfolio-list-item .item-overlay {
  position: absolute;
  top: 50%;
  left: 50%;
  translate: -50% -50%;
  color: #ffffff;
  font-size: 1.1rem;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.2s;
}
.portfolio-list-item .item-image {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
  mix-blend-mode: multiply;
}
.portfolio-list-item .item-content-block {
  display: flex;
  flex-direction: column;
  gap: 20px;
}
@media (min-width: 992px) {
  .portfolio-list-item .item-content-block {
    flex: 1;
    padding: 20px;
  }
}
.portfolio-list-item .item-title {
  font-weight: 500;
  font-size: 22px;
}
.portfolio-list-item .item-location {
  font-size: 18px;
}
.portfolio-list-item .content-table {
  display: flex;
  flex-direction: column;
}
.portfolio-list-item .unit-row {
  display: flex;
  align-items: center;
  padding: 8px 0;
  gap: 8px;
  font-size: 15px;
}
.portfolio-list-item .unit-row:not(:first-of-type) {
  border-top: 1px solid #2e2d2c;
}
.portfolio-list-item .unit-name {
  font-weight: 500;
  flex: 0 35%;
}
.portfolio-list-item .unit-size {
  flex: 1 40%;
}
.portfolio-list-item .unit-availability {
  display: flex;
  justify-content: flex-end;
}
.portfolio-list-item .unit-availability span {
  width: 20px;
  height: 20px;
  border-radius: 50%;
  display: block;
}
.portfolio-list-item .unit-availability--available span {
  background-color: #84f7a0;
}
.portfolio-list-item .unit-availability--let span {
  background-color: #ff7864;
}
.portfolio-list-item .unit-availability--coming-soon span {
  background-color: #5cb7f2;
}
.portfolio-list-item .pattern-block {
  --block-size: 60px;
  position: absolute;
  width: var(--block-size);
  height: var(--block-size);
  background-color: #ffffff;
  display: flex;
  justify-content: center;
  align-items: center;
  transition: translate 0.3s, opacity 0.3s;
  opacity: 0;
}
.portfolio-list-item .pattern-block:nth-of-type(1) {
  left: 0;
  top: 0;
}
.portfolio-list-item .pattern-block:nth-of-type(2) {
  left: var(--block-size);
  top: 0;
}
.portfolio-list-item .pattern-block:nth-of-type(3) {
  right: var(--block-size);
  bottom: var(--block-size);
}
.portfolio-list-item .pattern-block[data-fade=left] {
  translate: 100% 0;
}
.portfolio-list-item .pattern-block[data-fade=right] {
  translate: -100% 0;
}
.portfolio-list-item .pattern-block[data-fade=up] {
  translate: 0 100%;
}
.portfolio-list-item .pattern-block[data-fade=down] {
  translate: 0 -100%;
}
.portfolio-list-item .pattern-block--arrow {
  right: 0;
  bottom: 0;
  background-color: #ff7864;
}
.portfolio-list-item .pattern-block--arrow img {
  display: block;
  width: 80%;
}

.updates-section .swiper-slide .slide-title {
  font-weight: 500;
  font-size: 1.1em;
  margin-bottom: 4px;
}
.updates-section .swiper-slide .slide-details {
  line-height: 1.4;
}
.updates-section .slide-image-wrapper {
  transition: background-color 0.2s;
}
.updates-section .slide-image-wrapper:hover {
  background-color: #979797;
}
.updates-section .slide-image-wrapper:hover .slide-overlay {
  opacity: 1;
}
.updates-section .slide-overlay {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  display: grid;
  place-items: center;
  color: #ffffff;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.2s;
}

@keyframes selectedItem {
  0% {
    background-color: #ff7864;
  }
  40% {
    background-color: #ff7864;
  }
  100% {
    background-color: #ffffff;
    color: #2e2d2c;
  }
}
.patterned-grid-section {
  overflow: hidden;
  display: block;
  width: 100%;
  padding: 40px 0;
}
@media (min-width: 768px) {
  .patterned-grid-section {
    padding: 50px 0;
  }
}
@media (min-width: 1300px) {
  .patterned-grid-section {
    padding: 80px 0;
  }
}
.patterned-grid-section .patterned-grid-inner {
  display: block;
  width: calc(100% + 20px);
  margin-left: -10px;
}
@media (min-width: 1300px) {
  .patterned-grid-section .patterned-grid-inner {
    width: 100%;
    margin: 0;
  }
}
.patterned-grid-section .grid-top {
  padding-bottom: 30px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 20px;
  flex-wrap: wrap;
}
@media (min-width: 768px) {
  .patterned-grid-section .grid-top {
    padding-bottom: 40px;
  }
}
@media (min-width: 1300px) {
  .patterned-grid-section .grid-top {
    padding-bottom: 50px;
  }
}
.patterned-grid-section .display-buttons {
  display: inline-flex;
  gap: 10px;
  align-items: center;
  flex-grow: 1;
  flex-wrap: wrap;
}
@media (min-width: 768px) {
  .patterned-grid-section .display-buttons {
    flex-grow: unset;
    flex-wrap: nowrap;
  }
}
.patterned-grid-section .display-buttons .button {
  min-width: unset;
  white-space: nowrap;
  flex: 1;
  font-size: 15px;
  min-height: unset;
  line-height: 1;
  justify-content: center;
}
@media (min-width: 992px) {
  .patterned-grid-section .display-buttons .button {
    font-size: 16px;
  }
}
@media (min-width: 1300px) {
  .patterned-grid-section .display-buttons .button {
    font-size: 17px;
  }
}
.patterned-grid-section .display-buttons .button::after {
  content: unset;
}
.patterned-grid-section .display-button {
  cursor: pointer;
  opacity: 0.5;
  transition: opacity 0.15s;
}
.patterned-grid-section .display-button.active, .patterned-grid-section .display-button:hover {
  opacity: 1;
}
.patterned-grid-section .display-button img {
  height: 1.4em;
  width: auto;
}
.patterned-grid-section .display-button.map img {
  height: 1.8em;
}

.media-group {
  display: flex;
  flex-wrap: wrap;
  width: 100%;
  margin-top: 20px;
}
@media (min-width: 1300px) {
  .media-group {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 20px;
    flex-wrap: unset;
  }
}
.media-group:first-of-type {
  margin-top: 0;
}
.media-group .media-item {
  display: block;
  margin-top: 15px;
  padding: 0 10px;
  width: 100%;
}
@media (min-width: 1300px) {
  .media-group .media-item {
    margin-top: 0;
    padding: 0;
  }
}
@media (min-width: 1300px) {
  .media-group .media-item--column-span-1 {
    grid-column: span 1;
  }
}
@media (min-width: 1300px) {
  .media-group .media-item--column-span-2 {
    grid-column: span 2;
  }
}
@media (min-width: 1300px) {
  .media-group .media-item--row-span-2 {
    grid-row: span 2;
  }
  .media-group .media-item--row-span-2 .image-pattern {
    height: var(--block-link-overlay-size);
  }
}
.media-group .media-item:hover[href] .pattern-block {
  translate: 0 !important;
  opacity: 1;
}
.media-group .media-item:hover[href] .media-image {
  background-color: rgba(0, 65, 97, 0.7);
}
.media-group .media-item:nth-of-type(11n - 10) .media-img, .media-group .media-item:nth-of-type(11n - 9) .media-img, .media-group .media-item:nth-of-type(11n - 6) .media-img, .media-group .media-item:nth-of-type(11n - 5) .media-img, .media-group .media-item:nth-of-type(11n - 4) .media-img, .media-group .media-item:nth-of-type(11n - 3) .media-img, .media-group .media-item:nth-of-type(11n - 1) .media-img, .media-group .media-item:nth-of-type(11n) .media-img {
  aspect-ratio: 1/1;
}
.media-group .media-item:nth-of-type(11n - 8) .media-img, .media-group .media-item:nth-of-type(11n - 2) .media-img {
  aspect-ratio: 16/9;
}
@media (min-width: 768px) {
  .media-group .media-item:nth-of-type(11n - 8) .media-img, .media-group .media-item:nth-of-type(11n - 2) .media-img {
    aspect-ratio: 1/1;
  }
}
@media (min-width: 1300px) {
  .media-group .media-item:nth-of-type(11n - 8) .media-img, .media-group .media-item:nth-of-type(11n - 2) .media-img {
    aspect-ratio: 10240000000000000/4937142857144319;
  }
}
@media (min-width: 1600px) {
  .media-group .media-item:nth-of-type(11n - 8) .media-img, .media-group .media-item:nth-of-type(11n - 2) .media-img {
    aspect-ratio: 1000000000/485915493;
  }
}
.media-group .media-item:nth-of-type(11n - 7) .media-img {
  aspect-ratio: 1/1;
}
@media (min-width: 1300px) {
  .media-group .media-item:nth-of-type(11n - 7) .media-img {
    aspect-ratio: 3/4;
  }
}
.media-group .media-item:nth-of-type(11n - 10), .media-group .media-item:nth-of-type(11n - 9), .media-group .media-item:nth-of-type(11n - 6), .media-group .media-item:nth-of-type(11n - 5), .media-group .media-item:nth-of-type(11n - 4), .media-group .media-item:nth-of-type(11n - 3), .media-group .media-item:nth-of-type(11n - 1), .media-group .media-item:nth-of-type(11n) {
  width: 50%;
}
@media (min-width: 992px) {
  .media-group .media-item:nth-of-type(11n - 10), .media-group .media-item:nth-of-type(11n - 9), .media-group .media-item:nth-of-type(11n - 6), .media-group .media-item:nth-of-type(11n - 5), .media-group .media-item:nth-of-type(11n - 4), .media-group .media-item:nth-of-type(11n - 3), .media-group .media-item:nth-of-type(11n - 1), .media-group .media-item:nth-of-type(11n) {
    width: 33.3334%;
  }
}
@media (min-width: 1300px) {
  .media-group .media-item:nth-of-type(11n - 10), .media-group .media-item:nth-of-type(11n - 9), .media-group .media-item:nth-of-type(11n - 6), .media-group .media-item:nth-of-type(11n - 5), .media-group .media-item:nth-of-type(11n - 4), .media-group .media-item:nth-of-type(11n - 3), .media-group .media-item:nth-of-type(11n - 1), .media-group .media-item:nth-of-type(11n) {
    width: auto;
    margin-top: 0;
  }
}
@media (min-width: 992px) {
  .media-group .media-item:nth-of-type(11n - 8) {
    width: 33.3334%;
  }
}
@media (min-width: 1300px) {
  .media-group .media-item:nth-of-type(11n - 8) {
    width: auto;
  }
}
@media (min-width: 992px) {
  .media-group .media-item:nth-of-type(11n - 3) {
    width: 100%;
  }
}
@media (min-width: 1300px) {
  .media-group .media-item:nth-of-type(11n - 3) {
    width: auto;
  }
}
@media (min-width: 992px) {
  .media-group .media-item:nth-of-type(11n - 3) .media-img {
    aspect-ratio: 16/9;
  }
}
@media (min-width: 1300px) {
  .media-group .media-item:nth-of-type(11n - 3) .media-img {
    aspect-ratio: 1/1;
  }
}
@media (min-width: 768px) {
  .media-group .media-item:nth-of-type(11n - 2) {
    width: 100%;
  }
}
@media (min-width: 992px) {
  .media-group .media-item:nth-of-type(11n - 2) {
    width: 33.3334%;
  }
}
@media (min-width: 1300px) {
  .media-group .media-item:nth-of-type(11n - 2) {
    width: auto;
  }
}
@media (min-width: 992px) {
  .media-group .media-item:nth-of-type(11n - 2) .media-img {
    aspect-ratio: 1/1;
  }
}
@media (min-width: 1300px) {
  .media-group .media-item:nth-of-type(11n - 2) .media-img {
    aspect-ratio: 10240000000000000/4937142857144319;
  }
}
@media (min-width: 1600px) {
  .media-group .media-item:nth-of-type(11n - 2) .media-img {
    aspect-ratio: 1000000000/485915493;
  }
}
.media-group .media-image {
  display: block;
  width: 100%;
  position: relative;
  transition: background-color 0.2s;
}
.media-group .media-image .media-img {
  display: block;
  width: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  mix-blend-mode: multiply;
}
.media-group .media-content {
  display: block;
  width: 100%;
  margin-top: 15px;
  padding-bottom: 30px;
  container-type: inline-size;
}
@media (min-width: 1300px) {
  .media-group .media-content {
    overflow: hidden;
  }
}
.media-group .media-bold {
  display: block;
  color: #19191a;
  font-size: 13px;
  font-weight: 500;
  display: flex;
  flex-wrap: wrap;
  -moz-column-gap: 0.6em;
       column-gap: 0.6em;
}
@container (max-width: 200px) {
  .media-group .media-bold {
    flex-direction: column;
  }
  .media-group .media-bold .separator {
    display: none;
  }
}
.media-group .media-main {
  margin-top: 2px;
  color: #19191a;
  font-size: 16px;
  font-weight: 300;
  line-height: 1.4;
}
@media (min-width: 768px) {
  .media-group .media-main {
    font-size: 18px;
  }
}
.media-group .image-pattern {
  position: absolute;
  bottom: 0;
  right: 0;
  height: var(--block-link-overlay-size);
  aspect-ratio: 1;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  grid-template-rows: repeat(3, 1fr);
}
.media-group .pattern-block {
  background-color: #ffffff;
  display: flex;
  justify-content: center;
  align-items: center;
  transition: translate 0.3s, opacity 0.3s;
  opacity: 0;
}
.media-group .pattern-block[data-col="1"] {
  grid-column-start: 1;
}
.media-group .pattern-block[data-row="1"] {
  grid-row-start: 1;
}
.media-group .pattern-block[data-col="2"] {
  grid-column-start: 2;
}
.media-group .pattern-block[data-row="2"] {
  grid-row-start: 2;
}
.media-group .pattern-block[data-col="3"] {
  grid-column-start: 3;
}
.media-group .pattern-block[data-row="3"] {
  grid-row-start: 3;
}
.media-group .pattern-block[data-col="4"] {
  grid-column-start: 4;
}
.media-group .pattern-block[data-row="4"] {
  grid-row-start: 4;
}
.media-group .pattern-block[data-col="5"] {
  grid-column-start: 5;
}
.media-group .pattern-block[data-row="5"] {
  grid-row-start: 5;
}
.media-group .pattern-block[data-fade=left] {
  translate: 100% 0;
}
.media-group .pattern-block[data-fade=right] {
  translate: -100% 0;
}
.media-group .pattern-block[data-fade=up] {
  translate: 0 100%;
}
.media-group .pattern-block[data-fade=down] {
  translate: 0 -100%;
}
.media-group .pattern-block--arrow {
  background-color: #ff7864;
}
.media-group .pattern-block--arrow img {
  display: block;
  width: 80%;
}

.patterned-grid-section .past-developments-map-wrapper {
  height: 400px;
  position: relative;
}
@media (min-width: 768px) {
  .patterned-grid-section .past-developments-map-wrapper {
    height: auto;
    width: 100%;
    aspect-ratio: 16/10;
    max-height: 80vh;
  }
}
.patterned-grid-section .map-container {
  height: 100%;
  width: 100%;
}
.patterned-grid-section .map-overlay {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  -webkit-backdrop-filter: grayscale(1) blur(2px);
          backdrop-filter: grayscale(1) blur(2px);
  padding: 30px;
  display: flex;
  justify-content: center;
  align-items: center;
}
.patterned-grid-section .map-overlay-block {
  background-color: #ffffff;
  position: relative;
  max-width: 400px;
  width: 100%;
  padding: 20px;
}
@media (min-width: 768px) {
  .patterned-grid-section .map-overlay-block {
    padding: 25px;
  }
}
.patterned-grid-section .title {
  font-weight: 500;
  padding-right: 20px;
}
.patterned-grid-section .size {
  font-size: 0.9em;
}
.patterned-grid-section .image-wrapper {
  position: relative;
  width: 100%;
  aspect-ratio: 4/3;
  margin-top: 1em;
}
.patterned-grid-section .image-wrapper img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
}
.patterned-grid-section .close-button {
  cursor: pointer;
  position: absolute;
  top: 0;
  right: 0;
  padding: 20px;
}
@media (min-width: 768px) {
  .patterned-grid-section .close-button {
    padding: 25px;
  }
}
.patterned-grid-section .close-button img {
  width: 1em;
}

.cookies {
  display: block;
  width: 100%;
  padding: 30px 0;
  background-color: #ffffff;
}
@media (min-width: 768px) {
  .cookies {
    padding: 50px 0;
  }
}
@media (min-width: 1300px) {
  .cookies {
    padding: 80px 0;
  }
}

.cookies-content {
  display: block;
  width: 100%;
}
@media (min-width: 992px) {
  .cookies-content {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
  }
}

.cookies-main {
  display: block;
  width: 100%;
  padding: 0 15px;
}
@media (min-width: 992px) {
  .cookies-main {
    width: 50%;
  }
}
.cookies-main > :first-child {
  margin-top: 0;
}
.cookies-main > :last-child {
  margin-bottom: 0;
}
.cookies-main > h2 {
  margin-top: 30px;
  font-size: 16px;
  font-weight: 600;
  color: #19191a;
}
@media (min-width: 768px) {
  .cookies-main > h2 {
    margin-top: 40px;
    font-size: 18px;
  }
}
@media (min-width: 992px) {
  .cookies-main > h2 {
    margin-top: 50px;
  }
}
.cookies-main > p {
  margin-top: 15px;
  font-size: 14px;
  color: #19191a;
}
@media (min-width: 768px) {
  .cookies-main > p {
    font-size: 15px;
  }
}
.cookies-main a {
  color: #004161;
}
.cookies-main strong {
  font-weight: 500;
}

.cookie-option {
  width: 100%;
  margin-top: 30px;
  padding-top: 30px;
  border-top: 1px solid #979797;
}
@media (min-width: 768px) {
  .cookie-option {
    margin-top: 40px;
    padding-top: 40px;
  }
}
@media (min-width: 992px) {
  .cookie-option {
    margin-top: 50px;
    padding-top: 50px;
  }
}
.cookie-option p {
  margin-top: 15px;
  font-size: 14px;
  color: #19191a;
}
@media (min-width: 768px) {
  .cookie-option p {
    font-size: 15px;
  }
}
.cookie-option a {
  color: #004161;
}
.cookie-option strong {
  font-weight: 500;
}

.cookie-option-heading {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  align-items: center;
  width: 100%;
}
.cookie-option-heading h3 {
  display: block;
  font-size: 16px;
  font-weight: 600;
  color: #19191a;
}
@media (min-width: 768px) {
  .cookie-option-heading h3 {
    font-size: 18px;
  }
}

.hidden-input {
  display: none;
}
.hidden-input:checked + label {
  border-color: #5cb7f2;
  background-color: #5cb7f2;
}
.hidden-input:checked + label:before {
  right: 2px;
  left: auto;
  background-color: #ffffff;
}

.cookie-toggle-label {
  position: relative;
  display: block;
  width: 70px;
  height: 30px;
  border-radius: 24px;
  border: 2px solid #19191a;
  background-color: #ffffff;
  cursor: pointer;
}
.cookie-toggle-label:before {
  content: "";
  position: absolute;
  top: 50%;
  left: 2px;
  width: 24px;
  height: 24px;
  border-radius: 50%;
  background-color: #19191a;
  transform: translateY(-50%);
}

.cookie-item {
  display: block;
  width: 100%;
}
.cookie-item.active .cookie-item-inner {
  display: block;
}
.cookie-item.active .cookie-item-heading {
  border-bottom: 0;
}

.cookie-option-buttons {
  width: 100%;
  margin-top: 30px;
}
@media (min-width: 768px) {
  .cookie-option-buttons {
    display: flex;
    flex-direction: row;
    justify-content: flex-start;
    align-items: flex-start;
    margin-top: 40px;
  }
}
@media (min-width: 992px) {
  .cookie-option-buttons {
    margin-top: 50px;
  }
}

.cookie-button {
  display: block;
  width: 100%;
  margin-top: 15px;
  padding: 15px 0;
  font-size: 12px;
  font-weight: 500;
  text-align: center;
  text-transform: uppercase;
  letter-spacing: 0.1em;
}
@media (min-width: 768px) {
  .cookie-button {
    flex: 1;
    width: auto;
    margin-top: 0;
    margin-left: 15px;
    padding: 15px 30px;
  }
}
.cookie-button:first-of-type {
  margin-top: 0;
}
@media (min-width: 768px) {
  .cookie-button:first-of-type {
    margin-left: 0;
  }
}

.cookie-button--save {
  color: #ffffff !important;
  background-color: #004161 !important;
}

.cookie-button--cancel {
  color: #ffffff !important;
  background-color: #979797 !important;
}

.cookies-aside {
  display: block;
  width: 100%;
  margin-top: 30px;
  padding: 0 15px;
}
@media (min-width: 768px) {
  .cookies-aside {
    margin-top: 50px;
  }
}
@media (min-width: 992px) {
  .cookies-aside {
    width: 41.6667%;
    margin-top: 0;
  }
}
@media (min-width: 1300px) {
  .cookies-aside {
    width: 33.3334%;
  }
}

.cookie-item {
  display: block;
  width: 100%;
  border-bottom: 1px solid #19191a;
}
.cookie-item.active .cookie-item-inner {
  display: block;
}
.cookie-item.active .cookie-item-icon {
  border-radius: 0;
}
.cookie-item.active .cookie-item-icon:before {
  background-image: url("../../img/icons/icon-close.svg");
}

.cookie-item-heading {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  align-items: center;
  width: 100%;
  padding: 15px 0;
  cursor: pointer;
}
.cookie-item-heading h2 {
  display: block;
  margin-right: 30px;
  font-size: 16px;
  font-weight: 600;
  color: #19191a;
}
@media (min-width: 768px) {
  .cookie-item-heading h2 {
    font-size: 18px;
  }
}

.cookie-item-icon {
  flex-shrink: 0;
  position: relative;
  display: block;
  width: 40px;
  height: 40px;
  border: 2px solid #19191a;
  border-radius: 50%;
}
@media (min-width: 768px) {
  .cookie-item-icon {
    width: 50px;
    height: 50px;
  }
}
.cookie-item-icon:before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 20px;
  height: 20px;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  background-image: url("../../img/icons/arrow-down-black.svg");
  transform: translate(-50%, -50%);
}

.cookie-item-inner {
  display: none;
  width: 100%;
  padding-bottom: 30px;
}

.cookie-item-sub-heading {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  align-items: center;
  width: 100%;
  background-color: #979797;
}
.cookie-item-sub-heading h3 {
  display: block;
  color: #19191a;
  font-size: 16px;
  font-weight: 500;
  text-transform: uppercase;
}
@media (min-width: 768px) {
  .cookie-item-sub-heading h3 {
    font-size: 18px;
  }
}
@media (min-width: 992px) {
  .cookie-item-sub-heading h3 {
    font-size: 20px;
  }
}

.cookie-item-text {
  display: block;
  width: 100%;
}
.cookie-item-text > :first-child {
  margin-top: 0;
}
.cookie-item-text > :last-child {
  margin-bottom: 0;
}
.cookie-item-text p {
  margin-top: 15px;
  font-size: 14px;
  color: #19191a;
}
@media (min-width: 768px) {
  .cookie-item-text p {
    font-size: 15px;
  }
}
.cookie-item-text strong {
  font-weight: 600;
}
.cookie-item-text a {
  color: #004161;
}
.cookie-item-text ol {
  list-style: decimal;
  width: 100%;
  margin-top: 15px;
  padding-left: 10px;
}
.cookie-item-text ol li {
  position: relative;
  margin-top: 10px;
  padding-left: 15px;
  font-size: 14px;
  color: #19191a;
}
@media (min-width: 768px) {
  .cookie-item-text ol li {
    font-size: 15px;
  }
}
.cookie-item-text ol li:first-of-type {
  margin-top: 0;
}
.cookie-item-text ul {
  display: block;
  margin-top: 15px;
  width: 100%;
}
.cookie-item-text ul li {
  position: relative;
  display: block;
  margin-top: 10px;
  padding-left: 15px;
  font-size: 14px;
  color: #19191a;
}
@media (min-width: 768px) {
  .cookie-item-text ul li {
    font-size: 15px;
  }
}
.cookie-item-text ul li:first-of-type {
  margin-top: 0;
}
.cookie-item-text ul li:before {
  content: "";
  position: absolute;
  top: 8px;
  left: 0;
  width: 4px;
  height: 4px;
  border-radius: 50%;
  background-color: #19191a;
}
@media (min-width: 768px) {
  .cookie-item-text ul li:before {
    top: 9px;
  }
}

.cookie-item-block {
  display: block;
  width: 100%;
  margin-top: 15px;
  padding-top: 15px;
  border-top: 1px solid #979797;
}
.cookie-item-block > :first-child {
  margin-top: 0;
}
.cookie-item-block > :last-child {
  margin-bottom: 0;
}

.cookie-consent {
  background-color: rgba(255, 255, 255, 0.7);
  -webkit-backdrop-filter: blur(20px);
          backdrop-filter: blur(20px);
  bottom: 0;
  left: 0;
  position: fixed;
  padding: 20px 0;
  width: 100%;
  color: #2e2d2c;
  transform: translateY(100%);
  transition: 1s;
  z-index: 99999;
}
.cookie-consent.in-view {
  transform: translateY(0);
}
.cookie-consent .cookie-consent-content {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  font-size: 12px;
  justify-content: center;
  gap: 14px;
}
@media (min-width: 768px) {
  .cookie-consent .cookie-consent-content {
    flex-wrap: nowrap;
    justify-content: space-between;
    font-size: 0.8rem;
    gap: 30px;
  }
}
.cookie-consent .cookies-text {
  text-align: center;
}
@media (min-width: 768px) {
  .cookie-consent .cookies-text {
    text-align: left;
    flex: 1;
  }
}
.cookie-consent .cookies-text a {
  color: inherit;
  text-decoration: underline;
  font-weight: 500;
}
.cookie-consent .cookies-buttons {
  display: flex;
  gap: 10px;
}
.cookie-consent .cookie-consent-button {
  display: flex;
  justify-content: center;
  align-items: center;
  outline: 1px solid #2e2d2c;
  outline-offset: -1px;
  width: 8em;
  padding: 0.6em 2em;
  padding-top: 0.7em;
  cursor: pointer;
  font-size: 14px;
  border-radius: 3px;
  font-weight: 400;
}
.cookie-consent .cookie-consent-button--agree {
  background-color: #2e2d2c;
  color: #ffffff;
}
.footer-button-section {
  background-color: #ff7864;
  padding-block: 40px;
}
@media (min-width: 992px) {
  .footer-button-section {
    padding-block: 50px;
  }
}
.footer-button-section .footer-button-section-inner {
  display: grid;
  place-items: center;
}

.link-section {
  background-color: #5cb7f2;
  color: #ffffff;
}
.link-section a {
  color: inherit;
  display: block;
  padding-block: 50px;
}
@media (min-width: 992px) {
  .link-section a {
    padding-block: 60px;
  }
}
.link-section a:hover svg circle {
  fill: #ffffff;
}
.link-section a:hover svg path {
  stroke: #2e2d2c;
}
.link-section .link-section-inner {
  display: flex;
  flex-direction: column;
  gap: 1.4em;
  align-items: flex-start;
}
@media (min-width: 768px) {
  .link-section .link-section-inner {
    flex-direction: row;
    align-items: center;
    gap: 60px;
    max-width: 1000px;
    margin-inline: auto;
  }
}
@media (min-width: 768px) {
  .link-section .link-section-inner .copy {
    text-wrap: balance;
  }
}
.link-section .link-section-inner svg {
  display: block;
  height: auto;
  width: 50px;
  min-width: 50px;
}
.link-section .link-section-inner svg circle {
  transition: fill 0.2s;
  fill: transparent;
}
.link-section .link-section-inner svg path {
  transition: stroke 0.2s;
}
.link-section .link-section-content {
  display: flex;
  flex-direction: column;
  gap: 1.4em;
}

.enquiry-form-overlay {
  border: 0;
  max-width: min(380px, 100% - 10vw);
  padding: 0;
  opacity: 0;
  display: block;
  position: fixed;
  pointer-events: none;
  transition: opacity 0.2s;
}
@media (min-width: 768px) {
  .enquiry-form-overlay {
    max-width: min(900px, 100% - 10vw);
  }
}
@media (min-width: 992px) {
  .enquiry-form-overlay {
    max-width: unset;
    width: 800px;
  }
}
@media (min-width: 1300px) {
  .enquiry-form-overlay {
    width: 1200px;
  }
}
.enquiry-form-overlay[open] {
  opacity: 1;
  pointer-events: all;
}
.enquiry-form-overlay .form-container {
  padding-top: 80px;
  padding-bottom: 30px;
  padding-inline: 20px;
  box-sizing: border-box !important;
}
@media (min-width: 768px) {
  .enquiry-form-overlay .form-container {
    padding-inline: 25px;
  }
}
@media (min-width: 992px) {
  .enquiry-form-overlay .form-container {
    padding-block: 80px;
    padding-inline: 50px;
  }
}
@media (min-width: 992px) {
  .enquiry-form-overlay form {
    display: flex;
    flex-wrap: wrap;
    gap: 30px;
  }
}
.enquiry-form-overlay form h2 {
  font-size: 30px;
  margin-top: 10px;
  line-height: 1.3;
}
.enquiry-form-overlay form .wpcf7-response-output {
  padding-block: 0.5em;
}
@media (min-width: 992px) {
  .enquiry-form-overlay form .wpcf7-response-output {
    flex: 0 0 100%;
    text-align: center;
    margin: 0;
    margin-top: 20px;
  }
}
.enquiry-form-overlay form.sent .wpcf7-response-output {
  border-color: #004161;
}
.enquiry-form-overlay form.invalid .wpcf7-response-output {
  border-color: #ff7864;
}
@media (min-width: 992px) {
  .enquiry-form-overlay .form-title {
    width: 100%;
  }
}
@media (min-width: 992px) {
  .enquiry-form-overlay .form-top {
    flex: 0 50%;
  }
}
@media (min-width: 1300px) {
  .enquiry-form-overlay .form-top {
    flex: 0 40%;
  }
}
@media (min-width: 1300px) {
  .enquiry-form-overlay .heading-italics {
    font-size: 40px;
  }
}
.enquiry-form-overlay .form-fields {
  margin: 0;
  display: grid;
  gap: 10px;
  margin-top: 30px;
}
@media (min-width: 992px) {
  .enquiry-form-overlay .form-fields {
    flex: 1;
    margin: 0;
  }
}
@media (min-width: 1300px) {
  .enquiry-form-overlay .form-fields {
    display: grid;
    grid-template-columns: 1.5fr 2fr;
    -moz-column-gap: 30px;
         column-gap: 30px;
  }
}
.enquiry-form-overlay label {
  font-size: 14px;
  display: flex;
  flex-direction: column;
}
@media (min-width: 1300px) {
  .enquiry-form-overlay label {
    font-size: 15px;
    gap: 2px;
  }
}
@media (min-width: 1300px) {
  .enquiry-form-overlay label:has(textarea) {
    grid-column: 2/span 1;
    grid-row: 1/span 3;
    display: flex;
    flex-direction: column;
  }
}
@media (min-width: 1300px) {
  .enquiry-form-overlay label:has(textarea) .wpcf7-form-control-wrap {
    flex: 1;
  }
}
@media (min-width: 1300px) {
  .enquiry-form-overlay label:has(textarea) textarea {
    height: 100%;
  }
}
.enquiry-form-overlay input,
.enquiry-form-overlay textarea {
  font-family: inherit;
}
.enquiry-form-overlay input:not([type=submit]),
.enquiry-form-overlay textarea:not([type=submit]) {
  display: block;
  width: 100%;
  margin: 0;
  background-color: #ececec;
  border: none;
  padding: 1em 0.6em;
  font-size: 15px;
}
.enquiry-form-overlay input[aria-invalid=true],
.enquiry-form-overlay textarea[aria-invalid=true] {
  outline: 2px solid #ff7864;
}
@media (min-width: 1300px) {
  .enquiry-form-overlay input,
  .enquiry-form-overlay textarea {
    font-size: 16px;
  }
}
.enquiry-form-overlay input[type=submit] {
  background-color: transparent;
  justify-content: center;
  font-size: 20px;
}
.enquiry-form-overlay input[type=submit]:hover {
  background-color: #004161;
}
.enquiry-form-overlay textarea {
  resize: none;
  height: 200px;
}
.enquiry-form-overlay .form-bottom {
  display: flex;
  flex-direction: column;
  gap: 10px;
  margin-top: 20px;
}
@media (min-width: 1300px) {
  .enquiry-form-overlay .form-bottom {
    flex-direction: row;
    justify-content: space-between;
    grid-column: auto/span 2;
    margin-top: 30px;
  }
}
.enquiry-form-overlay .wpcf7-form-control-wrap:has(select) {
  position: relative;
  display: block;
  font-size: 20px;
}
.enquiry-form-overlay .wpcf7-form-control-wrap:has(select)::after {
  content: "";
  background-image: url("../../img/icons/arrow-down-black.svg");
  display: block;
  height: 1em;
  width: 1em;
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  position: absolute;
  right: 1.1em;
  top: 0.75em;
  pointer-events: none;
  transition: filter 0.2s;
}
.enquiry-form-overlay .wpcf7-form-control-wrap:has(select):has(select:hover)::after {
  filter: brightness(0) invert(1);
}
.enquiry-form-overlay .wpcf7-not-valid-tip {
  display: none !important;
}
.enquiry-form-overlay select {
  width: 100%;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  font-size: inherit;
}
.enquiry-form-overlay select[aria-invalid=true] {
  border-color: #ff7864;
}
@media (min-width: 1300px) {
  .enquiry-form-overlay select {
    min-width: 340px;
  }
}
.enquiry-form-overlay select::after {
  content: "";
}
.enquiry-form-overlay select option {
  background-color: #ffffff;
  color: #2e2d2c;
}
.enquiry-form-overlay .wpcf7-spinner {
  display: none;
}
.enquiry-form-overlay .close {
  position: absolute;
  top: 16px;
  right: 20px;
  cursor: pointer;
}
.enquiry-form-overlay .close svg {
  display: block;
  width: 50px;
  height: auto;
}
