/*
 * [Modified] Modern CSS Reset
 * @link https://github.com/hankchizljaw/modern-css-reset
*/
/* Box sizing rules */
*,
*::before,
*::after {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

/* Remove default margin */
body,
h1,
h2,
h3,
h4,
h5,
h6,
p {
  margin: 0;
}

html {
  scroll-behavior: smooth;
}

/* Set core body defaults */
body {
  background-color: var(--color-bg);
  color: var(--color-text);
  font-family: var(--font-body);
  line-height: 1.5;
  min-height: 100vh;
  text-rendering: optimizeSpeed;
}

/* Make images easier to work with */
img {
  display: block;
  max-width: 100%;
}

/* Inherit fonts for inputs and buttons */
input,
button,
textarea,
select {
  font: inherit;
}

a[class] {
  text-decoration: none;
}

a:not([class]) {
  color: var(--color-primary);
}

ul[class] {
  list-style: none;
  margin: 0;
  padding: 0;
}

ul:not([class]) {
  font-size: 1.6rem;
  list-style: disc;
  padding-left: 2rem;
}
ul:not([class]) li {
  padding-bottom: 1.5rem;
}

/* Remove all animations and transitions for people that prefer not to see them */
@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    -webkit-animation-duration: 0.01ms !important;
            animation-duration: 0.01ms !important;
    -webkit-animation-iteration-count: 1 !important;
            animation-iteration-count: 1 !important;
    scroll-behavior: auto !important;
    -webkit-transition-duration: 0.01ms !important;
            transition-duration: 0.01ms !important;
  }
  html {
    scroll-behavior: initial;
  }
}
.skip-to-content-link {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  background: var(--color-primary);
  color: var(--color-black) !important;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  font-weight: bold;
  height: 3rem;
  left: 50%;
  padding: 1rem;
  position: absolute;
  text-transform: uppercase;
  -webkit-transform: translate(-50%, -10rem);
          transform: translate(-50%, -10rem);
  -webkit-transition: -webkit-transform 0.3s;
  transition: -webkit-transform 0.3s;
  transition: transform 0.3s;
  transition: transform 0.3s, -webkit-transform 0.3s;
  z-index: 100;
}

.skip-to-content-link:focus {
  -webkit-transform: translate(-50%, 1rem);
          transform: translate(-50%, 1rem);
}

.error404 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
.error404 #page {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  min-height: calc(100dvh - 10.5rem);
}
.error404 .content404 {
  -ms-flex-line-pack: center;
      align-content: center;
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}
.error404 .content404 .home-link {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  margin-top: 3rem;
}
.error404 .hero404 {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  padding-top: 6.4rem;
}
@media only screen and (min-width: 62.5em) {
  .error404 .hero404 {
    display: -ms-grid;
    display: grid;
    -ms-grid-rows: 3fr 1fr;
    grid-template-rows: 3fr 1fr;
  }
}
.error404 .hero404 .heading-1 {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
@media only screen and (min-width: 62.5em) {
  .error404 .hero404 .heading-1 {
    -ms-grid-column: 2;
    -ms-grid-column-span: 3;
    grid-column: 2/5;
  }
}
.error404 .hero404 img {
  grid-column: 6/-2;
  rotate: 90deg;
}
@media only screen and (min-width: 62.5em) {
  .error404 .hero404 img {
    grid-column: 6/-2;
    rotate: 0deg;
  }
}
.error404 .hero404 .return-link {
  grid-column: 2/-2;
  text-align: center;
}
@media only screen and (min-width: 62.5em) {
  .error404 .hero404 .return-link {
    grid-column: 2/-2;
  }
}

/*=====MASTER GRID RULES=====*/
.container {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: [full-start] minmax(1.5rem, 1fr) [center-start] ([col-start] minmax(1rem, 7rem) [col-end])[12] [center-end] minmax(1.5rem, 1fr) [full-end];
  grid-template-columns: [full-start] minmax(1.5rem, 1fr) [center-start] repeat(12, [col-start] minmax(1rem, 7rem) [col-end]) [center-end] minmax(1.5rem, 1fr) [full-end];
}

.inner-container {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: [center-start] ([col-start] minmax(1px, 9rem) [col-end])[12] [center-end];
  grid-template-columns: [center-start] repeat(12, [col-start] minmax(1px, 9rem) [col-end]) [center-end];
}

/*=====SECTION GRID RULES=====*/
section {
  margin-bottom: var(--margin-bottom);
  margin-top: var(--margin-top);
  padding-bottom: var(--padding-bottom);
  padding-top: var(--padding-top);
}
section.alt-bg {
  background-color: var(--color-primary);
}
section .alternate, section.alternate {
  background-color: #d9d7d0;
  border-radius: 0.5rem;
}
@media only screen and (min-width: 62.5em) {
  section .alternate, section.alternate {
    margin-left: 2.4rem;
    margin-right: 2.4rem;
  }
}
section .light, section.light {
  background-color: #ededeb;
  border-radius: 0.5rem;
}
@media only screen and (min-width: 62.5em) {
  section .light, section.light {
    margin-left: 2.4rem;
    margin-right: 2.4rem;
  }
}
section .light.section-full-cards, section.light.section-full-cards {
  margin-left: 1.5rem;
  margin-right: 1.5rem;
}
section .dark, section.dark {
  background-color: var(--color-primary);
  border-radius: 0.5rem;
}
@media only screen and (min-width: 62.5em) {
  section .dark, section.dark {
    margin-left: 2.4rem;
    margin-right: 2.4rem;
  }
}
section.mobile-alternate {
  background: var(--color-bg);
}
@media only screen and (min-width: 62.5em) {
  section.mobile-alternate {
    background: unset;
  }
}

.row {
  grid-column: center-start/center-end;
}
@media only screen and (min-width: 62.5em) {
  .row.col-2 {
    grid-column: col-start 6/col-end 7;
  }
}
@media only screen and (min-width: 62.5em) {
  .row.col-4 {
    grid-column: col-start 5/col-end 8;
  }
}
@media only screen and (min-width: 62.5em) {
  .row.col-6 {
    grid-column: col-start 4/col-end 9;
  }
}
@media only screen and (min-width: 62.5em) {
  .row.col-8 {
    grid-column: col-start 3/col-end 10;
  }
}
@media only screen and (min-width: 62.5em) {
  .row.col-10, .row.col-12.alternate .inner-container .row {
    grid-column: col-start 2/col-end 11;
  }
}
.row.extended {
  grid-column: full-start/full-end;
}
.row--extended {
  grid-column: full-start/full-end;
}
.row.mobile-full {
  grid-column: full-start/full-end;
}
@media only screen and (min-width: 62.5em) {
  .row.mobile-full {
    grid-column: center-start/center-end;
  }
}
.row.break-right {
  grid-column: center-start/full-end;
}
@media only screen and (max-width: 37.5em) {
  .row.break-right {
    grid-column: center-start/center-end !important;
  }
}
.row.break-left {
  grid-column: full-start/center-end;
}
@media only screen and (max-width: 37.5em) {
  .row.break-left {
    grid-column: center-start/center-end !important;
  }
}
.row .spacer.small {
  padding: 3rem;
}
.row .spacer.medium {
  padding: 2.5rem;
}
@media only screen and (min-width: 62.5em) {
  .row .spacer.medium {
    padding: 5rem;
  }
}
.row .spacer.large {
  padding: 8rem;
}
.row .spacer.massive {
  padding: 3rem;
}
@media only screen and (min-width: 62.5em) {
  .row .spacer.massive {
    padding: 12rem;
  }
}
.row.flex-between {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  grid-column: 2/-1;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
@media only screen and (min-width: 62.5em) {
  .row.flex-between {
    grid-column: center-start/center-end;
  }
}

.left-col {
  grid-column: 1/-1;
}
@media only screen and (min-width: 62.5em) {
  .left-col {
    -ms-grid-column: 1;
    -ms-grid-column-span: 4;
    grid-column: 1/5;
  }
}

.right-content {
  grid-column: 1/-1;
}
@media only screen and (min-width: 62.5em) {
  .right-content {
    -ms-grid-column: 6;
    -ms-grid-column-span: 7;
    grid-column: 6/13;
  }
}

.sticky {
  position: sticky;
  top: 10rem;
}

.relative {
  position: relative;
}

.grid-two {
  display: -ms-grid;
  display: grid;
}
@media only screen and (min-width: 62.5em) {
  .grid-two {
    -ms-grid-columns: 1fr 1.5rem 1fr;
    grid-template-columns: repeat(2, 1fr);
    grid-gap: 1.5rem;
  }
}

.grid-three {
  display: -ms-grid;
  display: grid;
}
@media only screen and (min-width: 62.5em) {
  .grid-three {
    -ms-grid-columns: (1fr)[3];
    grid-template-columns: repeat(3, 1fr);
  }
}

.grid-four {
  display: -ms-grid;
  display: grid;
}
@media only screen and (min-width: 62.5em) {
  .grid-four {
    -ms-grid-columns: (1fr)[4];
    grid-template-columns: repeat(4, 1fr);
  }
}

.grid-four-eight {
  display: -ms-grid;
  display: grid;
  row-gap: 5.6rem;
}
@media only screen and (min-width: 62.5em) {
  .grid-four-eight {
    -ms-grid-columns: 1fr 2fr;
    grid-template-columns: 1fr 2fr;
  }
}

.grid-five-seven {
  display: -ms-grid;
  display: grid;
}
@media only screen and (min-width: 62.5em) {
  .grid-five-seven {
    -ms-grid-columns: 5fr 7fr;
    grid-template-columns: 5fr 7fr;
  }
}

.grid-one-three {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
@media only screen and (min-width: 62.5em) {
  .grid-one-three {
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: 1fr 3fr;
    grid-template-columns: 1fr 3fr;
  }
}

.grid--col-5 {
  grid-column: center-start/col-end 5;
}
@media only screen and (max-width: 37.5em) {
  .grid--col-5 {
    grid-column: center-start/center-end !important;
  }
}

.grid--col-7 {
  grid-column: col-start 6/center-end;
}
@media only screen and (max-width: 37.5em) {
  .grid--col-7 {
    grid-column: center-start/center-end !important;
  }
}

.default-gap {
  grid-gap: 2rem;
}

.large-gap {
  grid-gap: 3rem;
}

.padding-default {
  padding-bottom: 4rem;
}

.padding-large {
  padding-bottom: 8rem;
}

.padding-small {
  padding-bottom: 2rem;
}

.spacer {
  height: var(--content-spacer);
}

.sticky-bar {
  position: sticky;
  top: 6rem;
}

.grid-flow {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  row-gap: 5.6rem;
}
@media only screen and (min-width: 62.5em) {
  .grid-flow {
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: 1fr 1fr;
    grid-template-columns: 1fr 1fr;
  }
}

.desktop--only {
  display: none;
}
@media only screen and (min-width: 62.5em) {
  .desktop--only {
    display: block;
  }
}

.mobile--only {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
@media only screen and (min-width: 62.5em) {
  .mobile--only {
    display: none;
  }
}

.grids--two,
.grids--three {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 1.5rem;
}

@media only screen and (min-width: 62.5em) {
  .grids--two {
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: 1fr 1fr;
    grid-template-columns: 1fr 1fr;
    row-gap: 5rem;
  }
}

@media only screen and (min-width: 62.5em) {
  .grids--three {
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: (1fr)[3];
    grid-template-columns: repeat(3, 1fr);
    row-gap: 5rem;
  }
}

.heading-6, .heading-5, .heading-4,
h4, .heading-3,
h3, .heading-2,
h2, .heading-1,
h1 {
  color: var(--color-primary);
  font-family: var(--font-heading);
  font-weight: 400;
  line-height: 1.06;
}

.heading-1,
h1 {
  font-size: clamp(2.2rem, 7vw, 3rem);
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: var(--color-bg);
  overflow-wrap: break-word;
}

.heading-2,
h2 {
  font-size: 1.875rem;
}

.heading-3,
h3 {
  font-size: 3.2rem;
}
@media only screen and (min-width: 62.5em) {
  .heading-3,
  h3 {
    font-size: 3.2rem;
  }
}

.heading-4,
h4 {
  font-size: 1.5rem;
}

.heading-5 {
  font-size: 0.875rem;
}

.heading-6 {
  font-size: 1.8rem;
}
@media only screen and (min-width: 62.5em) {
  .heading-6 {
    font-size: 2.4rem;
  }
}

p {
  font-size: 1.25rem;
  font-family: var(--font-body);
}
p:not(:last-of-type) {
  margin-bottom: 2.4rem;
}

.text-sm {
  font-size: 0.875rem;
}

.text-xl {
  font-size: 1.25rem;
}

.text-3xl {
  font-size: 1.875rem;
}

.text-2xl {
  font-size: 1.5rem;
}

.color--primary {
  color: var(--color-primary);
}
.color--secondary {
  color: var(--color-secondary);
}
.color--tertiary {
  color: var(--color-secondary);
}
.color--white {
  color: var(--color-white);
}
.color--light {
  color: var(--color-bg);
}
.color--shade {
  color: #bdb8b3;
}
.color--dark {
  color: var(--color-black);
}

.text--uppercase {
  text-transform: uppercase;
}
.text--italic {
  font-style: italic;
}
.text--light {
  font-weight: 300;
}
.text--medium {
  font-weight: 600;
}
.text--regular {
  font-weight: 400;
}
.text--strong {
  font-weight: 700;
}
.text--heavy {
  font-weight: 800;
}
.text--balance {
  text-wrap: balance;
}
.text--center {
  text-align: center;
}
.text--right {
  text-align: right;
}

.font--primary {
  font-family: var(--font-body);
}
.font--tertiary {
  font-family: var(--font-tertiary);
}

.underscores::after {
  border-bottom: 2px solid var(--color-secondary);
  content: "";
  display: block;
  margin: 0 auto;
  padding-top: 1rem;
  width: 2rem;
}

.breadcrumbs {
  padding: 1.5rem;
}
.breadcrumbs > span {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  grid-gap: 1rem;
}
@media only screen and (min-width: 62.5em) {
  .breadcrumbs > span {
    grid-gap: 1rem;
  }
}
.breadcrumbs a {
  text-decoration: none;
  color: var(--color-secondary);
}
.breadcrumbs path {
  stroke: var(--color-secondary);
}

#breadcrumbs {
  margin-bottom: 6rem;
}

header {
  position: fixed;
  top: 0;
  width: 100%;
  z-index: 99;
  background-image: -webkit-gradient(linear, left top, left bottom, from(rgba(13, 16, 22, 0.5)), to(rgba(13, 16, 22, 0)));
  background-image: linear-gradient(180deg, rgba(13, 16, 22, 0.5) 0%, rgba(13, 16, 22, 0) 100%);
  background-color: rgba(var(--color-primary), 0);
  -webkit-box-shadow: 0 0 0 rgba(0, 0, 0, 0);
          box-shadow: 0 0 0 rgba(0, 0, 0, 0); /* start invisible */
  -webkit-transition: background-color 500ms ease, -webkit-box-shadow 500ms ease;
  transition: background-color 500ms ease, -webkit-box-shadow 500ms ease;
  transition: background-color 500ms ease, box-shadow 500ms ease;
  transition: background-color 500ms ease, box-shadow 500ms ease, -webkit-box-shadow 500ms ease;
}

.scrolled header {
  background-color: var(--color-primary);
  -webkit-box-shadow: 0 8px 24px rgba(0, 0, 0, 0.08);
          box-shadow: 0 8px 24px rgba(0, 0, 0, 0.08);
}
.scrolled header .contact--button {
  background-color: var(--color-white);
}
.scrolled header .contact--button a {
  color: var(--color-primary);
}

.site--header {
  padding: 1rem 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  z-index: 8;
}
.site--header-nav {
  display: none;
}
@media only screen and (min-width: 62.5em) {
  .site--header-nav {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
}
.site--header-nav .contact--button {
  background-color: var(--color-primary);
  padding: 0.75rem 1.5rem;
  -webkit-transition: background-color 500ms ease;
  transition: background-color 500ms ease;
}
.site--header-nav .main-navigation-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 2.75rem;
}
.site--header-nav .main-navigation-list a {
  color: var(--color-white);
  text-decoration: none;
}
.site--header-mobile {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
@media only screen and (min-width: 62.5em) {
  .site--header-mobile {
    display: none;
  }
}
.site--header .site--contacts {
  display: none;
  grid-gap: 9rem;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media only screen and (min-width: 62.5em) {
  .site--header .site--contacts {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
}
.site--header .site--contacts .button {
  color: var(--color-white);
}
.site--header .site--contacts-email svg {
  margin-right: 2rem;
}
.site--header .site--contacts-email svg path {
  fill: var(--color-white);
}
.site--header .site--contacts-footer .button #Ellipse_26 {
  stroke: var(--color-white);
}
.site--header .site--contacts-footer .button path {
  stroke: var(--color-white);
}
.site--header .site--contacts-footer .button svg {
  rotate: 90deg;
}
.site--header .site--contacts-footer .button:hover path {
  stroke: var(--color-secondary);
}
.site--header .site--contacts-footer .button:hover #Path_1390 {
  stroke: var(--color-white);
}

#toggle {
  height: 2rem;
  margin: 0 0 0 2rem;
  position: relative;
  width: 3rem;
}
#toggle .line {
  background: var(--color-white);
  display: block;
  height: 0.2rem;
  left: 0;
  position: absolute;
  transition: all 0.4s;
  width: 3rem;
  -webkit-transition: all 0.4s;
  -moz-transition: all 0.4s;
}
@media only screen and (min-width: 62.5em) {
  #toggle .line {
    background: var(--color-white);
  }
}
#toggle .line.line-1 {
  top: 0;
}
#toggle .line.line-2 {
  top: 50%;
}
#toggle .line.line-3 {
  top: 100%;
}
#toggle:hover .line-1, #toggle:focus .line-1 {
  transform: translateY(-0.1rem);
  -webkit-transform: translateY(-0.1rem);
  -moz-transform: translateY(-0.1rem);
}
#toggle:hover .line-3, #toggle:focus .line-3 {
  transform: translateY(0.1rem);
  -webkit-transform: translateY(0.1rem);
  -moz-transform: translateY(0.1rem);
}
#toggle.active .line-1 {
  transform: translateY(1rem) translateX(0) rotate(45deg);
  -webkit-transform: translateY(1rem) translateX(0) rotate(45deg);
  -moz-transform: translateY(1rem) translateX(0) rotate(45deg);
  background: var(--color-white);
}
#toggle.active .line-2 {
  opacity: 0;
}
#toggle.active .line-3 {
  transform: translateY(-1rem) translateX(0) rotate(-45deg);
  -webkit-transform: translateY(-1rem) translateX(0) rotate(-45deg);
  -moz-transform: translateY(-1rem) translateX(0) rotate(-45deg);
  background: var(--color-white);
}

.offscreen--menu {
  background-color: var(--color-primary);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  inset: 0;
  position: fixed;
  -webkit-transform: translateX(101vw);
          transform: translateX(101vw);
  -webkit-transition: 0.5s all ease-in-out;
  transition: 0.5s all ease-in-out;
  z-index: 5;
  padding-top: 10rem;
}
.offscreen--menu.is-active {
  -webkit-transform: translateX(0);
          transform: translateX(0);
}
.offscreen--menu-header {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  padding: 1.5rem;
}
.offscreen--menu-contact {
  padding: 3rem 1.5rem;
}
.offscreen--menu-contact .button {
  background-color: var(--color-white);
  color: var(--color-primary);
  border-color: var(--color-white);
}
.offscreen--menu-main {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
.offscreen--menu-main .main-navigation {
  height: 100%;
  padding: 0 1.5rem;
  width: 100%;
}
.offscreen--menu-main .menu-mobile-container {
  height: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.offscreen--menu-main .menu-mobile-container .mobile-navigation-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: space-evenly;
      -ms-flex-pack: space-evenly;
          justify-content: space-evenly;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}
.offscreen--menu-main .menu-mobile-container .mobile-navigation-list a {
  color: var(--color-white);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  font-size: 1.5rem;
  font-weight: 400;
  text-decoration: none;
}
.offscreen--menu-main .menu-mobile-container .mobile-navigation-list .sub-menu {
  background: var(--color-white);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-transform: translateX(101vw);
          transform: translateX(101vw);
  grid-gap: 3rem;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  inset: 0;
  padding: 5rem 1.5rem;
  position: absolute;
  top: 15rem;
  -webkit-transition: 0.5s all ease-in-out;
  transition: 0.5s all ease-in-out;
  z-index: 99;
}
.offscreen--menu-main .menu-mobile-container .mobile-navigation-list .sub-menu a {
  font-size: 1.6rem;
}
.offscreen--menu-main .menu-mobile-container .mobile-navigation-list .sub-menu li:first-of-type a {
  font-size: 2.4rem;
}
.offscreen--menu-main .menu-mobile-container .mobile-navigation-list .sub-menu.is-active {
  -webkit-transform: translateX(0);
          transform: translateX(0);
}
.offscreen--menu-main .menu-mobile-container .mobile-navigation-list .menu-item-has-children > a::after {
  background: url("../../img/nav.png");
  background-position: center;
  background-repeat: no-repeat;
  content: "";
  display: inline-block;
  height: 3rem;
  margin-left: 1rem;
  -webkit-mask: none;
          mask: none;
  rotate: 0deg;
  -webkit-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
  width: 3rem;
}
.offscreen--menu-main .menu-mobile-container .mobile-navigation-list .menu-item-has-children > a.active::after {
  background-color: #ebe6e0; /* Change fill color */
  rotate: 270deg;
}
@media only screen and (min-width: 62.5em) {
  .offscreen--menu {
    display: none;
  }
}

.hero {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  min-height: 100dvh;
  position: relative;
  z-index: 9;
}
.hero--main {
  -ms-flex-line-pack: end;
      align-content: flex-end;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  padding-bottom: 3rem;
}
.hero--image {
  height: 100%;
  inset: 0;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: calc(var(--focal-point-left, 0.5) * 100%) calc(var(--focal-point-top, 0.5) * 100%);
     object-position: calc(var(--focal-point-left, 0.5) * 100%) calc(var(--focal-point-top, 0.5) * 100%);
  position: absolute;
  width: 100%;
  z-index: -1;
}
.single-post .hero {
  min-height: 60dvh;
}
.hero--intro {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  grid-gap: 2.4rem;
}
@media only screen and (min-width: 62.5em) {
  .hero--intro {
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: 1fr 2.4rem auto;
    grid-template-columns: 1fr auto;
  }
}
.hero--intro-text {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  text-align: center;
}

.hero--slider {
  height: 100%;
  width: 100%;
  overflow: hidden;
  position: absolute;
  inset: 0;
  z-index: -1;
}
.hero--slider img {
  height: 100%;
  width: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.hero--slider .slick-slide {
  height: 100%;
}
.hero--slider div {
  height: 100%;
}

.scroll {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  grid-column: center-end/full-end;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  margin-left: 2rem;
  position: relative;
}
.scroll__item {
  background: rgba(54, 116, 255, 0.2588235294);
  border-radius: 50%;
  height: 0.5rem;
  position: relative;
  width: 0.5rem;
  z-index: 2;
}
.scroll__item::before {
  -webkit-animation: pulse 2s infinite;
          animation: pulse 2s infinite;
  background-color: rgba(51, 119, 255, 0.3);
  border-radius: 50%;
  content: "";
  height: 0.5rem;
  left: 50%;
  position: absolute;
  top: 50%;
  -webkit-transform: translate(-50%, -50%) scale(0);
          transform: translate(-50%, -50%) scale(0);
  width: 0.5rem;
  z-index: 1;
}

.marker-track {
  height: calc(100% - 1rem);
  left: 0rem;
  position: absolute;
  top: 0;
  width: 2px;
}

.marker {
  height: 1rem;
  left: -4rem;
  margin-top: -1rem;
  position: absolute;
  top: 0;
  -webkit-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
  width: 1rem;
}

/* Pulse animation */
@-webkit-keyframes pulse {
  0% {
    opacity: 1;
    -webkit-transform: translate(-50%, -50%) scale(0.8);
            transform: translate(-50%, -50%) scale(0.8);
    -webkit-transform-origin: center;
            transform-origin: center;
  }
  100% {
    opacity: 0;
    -webkit-transform: translate(-50%, -50%) scale(5.5);
            transform: translate(-50%, -50%) scale(5.5);
    -webkit-transform-origin: center;
            transform-origin: center;
  }
}
@keyframes pulse {
  0% {
    opacity: 1;
    -webkit-transform: translate(-50%, -50%) scale(0.8);
            transform: translate(-50%, -50%) scale(0.8);
    -webkit-transform-origin: center;
            transform-origin: center;
  }
  100% {
    opacity: 0;
    -webkit-transform: translate(-50%, -50%) scale(5.5);
            transform: translate(-50%, -50%) scale(5.5);
    -webkit-transform-origin: center;
            transform-origin: center;
  }
}
.hero--line {
  position: absolute;
  bottom: -4rem;
  left: 50%;
  -webkit-transform: translate(-50%, 0%);
          transform: translate(-50%, 0%);
  width: 1px;
  height: 7rem; /* adjust as needed */
  background-color: var(--color-secondary); /* line colour */
}

/* Dot at bottom */
.hero--line::after {
  content: "";
  position: absolute;
  bottom: -6px; /* pulls dot slightly below line */
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  width: 0.5rem;
  height: 0.5rem;
  border-radius: 50%;
  background-color: var(--color-secondary);
}

footer .grid-one-three,
.footer .grid-one-three {
  padding-bottom: 3rem;
}
footer--contacts,
.footer--contacts {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  z-index: 2;
}
@media only screen and (min-width: 62.5em) {
  footer--contacts,
  .footer--contacts {
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
  }
}
footer--main,
.footer--main {
  padding: 3rem 0 0;
  background-color: var(--color-secondary);
  overflow: hidden;
}
footer--main .button--outline,
.footer--main .button--outline {
  background-color: var(--color-primary);
  color: var(--color-white);
  font-size: 1.125rem;
}
footer--bg,
.footer--bg {
  position: absolute;
  bottom: 0rem;
  right: 0;
  z-index: 1;
}
@media only screen and (min-width: 62.5em) {
  footer--bg,
  .footer--bg {
    top: 4rem;
    right: 0;
    bottom: unset;
  }
}
footer--bg img,
.footer--bg img {
  height: 100%;
}
footer--logo,
.footer--logo {
  padding-bottom: 2rem;
  width: auto;
  height: 6rem;
}
footer--links,
.footer--links {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 1rem;
  padding-bottom: 1rem;
}
footer--links a,
.footer--links a {
  text-decoration: none;
  font-size: 1.125rem;
  font-weight: 700;
}
footer--phones,
.footer--phones {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 1rem;
  margin-bottom: 1.5rem;
}
footer--phones a,
.footer--phones a {
  text-decoration: none;
  font-size: 1.125rem;
  font-weight: 700;
}
footer--socials,
.footer--socials {
  padding-bottom: 5rem;
}
@media only screen and (min-width: 62.5em) {
  footer--socials,
  .footer--socials {
    padding-bottom: 3.75rem;
  }
}
footer--socials .socials,
.footer--socials .socials {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 1.25rem;
}
footer--nav,
.footer--nav {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  z-index: 2;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media only screen and (min-width: 62.5em) {
  footer--nav,
  .footer--nav {
    -webkit-box-align: unset;
        -ms-flex-align: unset;
            align-items: unset;
  }
}
footer--nav .link--grids,
.footer--nav .link--grids {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: (1fr)[5];
  grid-template-columns: repeat(5, 1fr);
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}
@media only screen and (min-width: 62.5em) {
  footer--nav .link--grids,
  .footer--nav .link--grids {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
  }
}
footer--nav .link--grids a,
.footer--nav .link--grids a {
  text-decoration: none;
}
footer--nav .link--grids-header,
.footer--nav .link--grids-header {
  padding-bottom: 3rem;
}
@media only screen and (min-width: 62.5em) {
  footer--nav .link--grids-header,
  .footer--nav .link--grids-header {
    padding-bottom: 2rem;
  }
}
footer--nav .link--grids-header a,
.footer--nav .link--grids-header a {
  font-size: 1.125rem;
}
footer--nav .link--grids-links,
.footer--nav .link--grids-links {
  display: none;
  gap: 1rem;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  font-family: var(--font-tertiary);
  font-size: 1rem;
}
@media only screen and (min-width: 62.5em) {
  footer--nav .link--grids-links,
  .footer--nav .link--grids-links {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
}
footer .legal,
.footer .legal {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
footer .legal .sub-menu,
.footer .legal .sub-menu {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
footer .legal .sub-menu a,
.footer .legal .sub-menu a {
  text-decoration: none;
}

.menu--grid {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  padding-top: 1.6rem;
  text-align: center;
}
@media only screen and (min-width: 62.5em) {
  .menu--grid {
    -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
    text-align: left;
  }
}
.menu--grid > div {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  -ms-flex-preferred-size: 23rem;
      flex-basis: 23rem;
}
.menu--grid a {
  color: var(--color-white);
  font-size: 1.6rem;
  font-weight: 500;
  text-transform: uppercase;
}
.menu--grid .sub-menu {
  padding-top: 3.2rem;
}
.menu--grid .sub-menu li {
  padding-bottom: 1.6rem;
}
.menu--grid .sub-menu a {
  font-size: 1.4rem;
  text-transform: initial;
}
.menu--grid .small {
  padding-top: 5.6rem;
}
.menu--grid .menu-item-object-page {
  padding-bottom: 3.2rem;
}
.menu--grid .menu-item-object-custom {
  font-size: 1.4rem;
  padding-bottom: 1.6rem;
}
.menu--grid .menu-item-object-custom a {
  font-size: 1.4rem;
  text-transform: initial;
}

.copyright {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.silverless .silverless-logo {
  height: auto;
  width: 6rem;
}
.silverless .silverless {
  opacity: 1;
  -webkit-transition: opacity 0.3s ease-in-out;
  transition: opacity 0.3s ease-in-out;
}
.silverless .silverless path {
  fill: var(--color-white);
}
.silverless .created {
  opacity: 0;
  -webkit-transform: translateY(50px);
          transform: translateY(50px);
  -webkit-transition: 0.6s opacity ease, 0.3s -webkit-transform ease;
  transition: 0.6s opacity ease, 0.3s -webkit-transform ease;
  transition: 0.3s transform ease, 0.6s opacity ease;
  transition: 0.3s transform ease, 0.6s opacity ease, 0.3s -webkit-transform ease;
}
.silverless .created path {
  fill: var(--color-white);
}
.silverless:hover {
  cursor: pointer;
}
.silverless:hover .created {
  opacity: 1;
  -webkit-transform: translateY(0);
          transform: translateY(0);
}

.footer--lower {
  padding: 1rem 0;
}
.footer--lower a,
.footer--lower span {
  text-decoration: none;
  font-size: 0.625rem;
  font-family: var(--font-tertiary);
}
.footer--lower .legal {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 0.625rem;
  line-height: 1em;
}
.footer--lower .legal .details {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.footer--lower .legal .sub-menu {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 0.625rem;
}
.footer--lower .legal .sub-menu li {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.footer--lower .legal .sub-menu li:not(:last-child)::after {
  content: "|";
  margin-left: 0.625rem;
}

.footer-heading {
  margin-bottom: 2rem;
}
@media only screen and (min-width: 62.5em) {
  .footer-heading {
    display: none;
  }
}

#menu-mandatory {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
#menu-mandatory li {
  border-right: 1px solid white;
  margin-right: 0.5rem;
  padding-right: 0.5rem;
}
#menu-mandatory li:last-of-type {
  border-right: none;
  margin-right: 0;
  padding-right: 0;
}

.footer--image img {
  width: 100%;
  height: auto;
}

.js-on .fm-above.visible,
.js-on .fm-left.visible,
.js-on .fm-right.visible {
  opacity: 1;
  -webkit-transform: translate(0);
          transform: translate(0);
}
@media only screen and (min-width: 62.5em) {
  .js-on .fm-above,
  .js-on .fm-left,
  .js-on .fm-right {
    opacity: 0;
    -webkit-transition: all 0.6s ease-in-out;
    transition: all 0.6s ease-in-out;
  }
}
@media only screen and (min-width: 62.5em) {
  .js-on .fm-above {
    -webkit-transform: translateY(3rem);
            transform: translateY(3rem);
  }
}
@media only screen and (min-width: 62.5em) {
  .js-on .fm-left {
    -webkit-transform: translateX(-3rem);
            transform: translateX(-3rem);
  }
}
@media only screen and (min-width: 62.5em) {
  .js-on .fm-right {
    -webkit-transform: translateX(3rem);
            transform: translateX(3rem);
  }
}

@font-face {
  font-family: "Playfair";
  src: url("../fonts/Playfair_9pt-Regular.woff2") format("woff2");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Playfair";
  src: url("../fonts/Playfair_9pt-SemiBold.woff2") format("woff2");
  font-weight: 600;
  font-style: normal;
  font-display: swap;
}
.read-more-block .read-more-content {
  display: none;
}
.read-more-block .read-more-content p:last-child {
  margin-bottom: 1.5rem;
}

button {
  -moz-appearance: none;
       appearance: none;
  -webkit-appearance: none;
  border: 0;
  background: none;
  padding: 0;
  margin: 0;
  font: inherit;
  color: inherit;
  text-align: inherit;
  cursor: pointer;
}

.button {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  color: var(--color-primary);
  border-radius: 2px;
  min-width: 12.5rem;
  min-height: 3.75rem;
}
.button--outline {
  padding: 0.75rem 1.5rem;
  border: 1px solid var(--color-secondary);
}

.view-grid {
  background: #000000;
  bottom: 0;
  color: #ffffff;
  cursor: pointer;
  left: 0;
  padding: 0.25rem 0.5rem;
  position: fixed;
  z-index: 9999;
}

.grid-guides {
  height: 100vh;
  left: 0;
  position: fixed;
  top: 0;
  visibility: hidden;
  width: 100%;
  z-index: -1;
}
.site.show-grid .grid-guides {
  visibility: visible;
}
.grid-guides > div {
  background: rgba(128, 128, 128, 0.0705882353);
  height: 100vh;
}
.grid-guides > div:first-of-type, .grid-guides > div:last-of-type {
  background: none;
}

.site.show-grid {
  background-color: transparent;
}
.site.show-grid section {
  background-color: transparent;
}
.site.show-grid .background__color__supporting_2 {
  background-color: transparent;
}

.team--members {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 3.75rem;
}
.team--members-wrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 1.5rem;
}
@media only screen and (min-width: 62.5em) {
  .team--members-wrapper {
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: 1fr 2fr;
    grid-template-columns: 1fr 2fr;
  }
}
.team--members-header {
  text-align: center;
  padding-bottom: 3.75rem;
}
.team--members-image {
  position: relative;
  width: 13.75rem;
  aspect-ratio: 1;
}
@media only screen and (min-width: 62.5em) {
  .team--members-image {
    min-height: unset;
    width: unset;
    aspect-ratio: unset;
  }
}
.team--members-image img {
  position: absolute;
  inset: 0;
  height: 100%;
  width: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: top;
     object-position: top;
}
.team--members-content {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 1rem;
}

.testimonials {
  position: relative;
}
.testimonials__content {
  padding: 2.4rem 1.6rem;
  text-align: center;
}
.testimonials__testimonial {
  color: var(--color-primary);
  font-size: 1.6rem;
  line-height: 2.2rem;
  padding: 1rem 0;
}
.testimonials__author {
  color: var(--color-secondary);
  font-weight: 500;
  text-transform: uppercase;
}
.testimonials__date {
  color: var(--color-secondary);
  font-size: 1.4rem;
  font-style: italic;
}
.testimonials__navigation {
  -webkit-column-gap: 1rem;
     -moz-column-gap: 1rem;
          column-gap: 1rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  margin-bottom: 1rem;
}
.testimonials__navigation__box {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  cursor: pointer;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  height: 2rem;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 2rem;
}
.testimonials__navigation__previous {
  -webkit-transform: rotate(180deg);
          transform: rotate(180deg);
}
.testimonials__stars__outside {
  height: auto;
  left: -8.5rem;
  position: absolute;
  top: -7rem;
  -webkit-transform: rotate(160deg);
          transform: rotate(160deg);
  width: 11.5rem;
}
.testimonials__stars__inside {
  height: auto;
  position: absolute;
  right: 0.25rem;
  top: 0.25rem;
  width: 10rem;
}
.testimonials .cite {
  padding-bottom: 1.6rem;
}

.slick-list {
  margin: 0 -1.2rem;
}

.slick-slider {
  overflow: hidden;
}

.testimonials__slider .testimonials__content {
  height: 100%;
}
.testimonials__slider .slick-slide {
  opacity: 0.4;
  -webkit-transition: all 0.6s ease-in-out;
  transition: all 0.6s ease-in-out;
}
.testimonials__slider .slick-slide.slick-active {
  opacity: 1;
}

@media only screen and (min-width: 62.5em) {
  .testimonials--grid {
    -webkit-column-count: 4;
       -moz-column-count: 4;
            column-count: 4;
    -webkit-column-gap: 2.4rem;
       -moz-column-gap: 2.4rem;
            column-gap: 2.4rem;
  }
}
.testimonials--grid .testimonials__content {
  -webkit-column-break-inside: avoid;
     -moz-column-break-inside: avoid;
          break-inside: avoid-column;
  margin-bottom: 2.4rem;
}

.review--header {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  margin-bottom: 4.4rem;
}
.review--header-text {
  max-width: 50ch;
}

/* Slider */
.slick-slider {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  display: block;
  position: relative;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -ms-touch-action: pan-y;
  touch-action: pan-y;
  -webkit-tap-highlight-color: transparent;
}

.slick-list {
  display: block;
  margin: 0;
  overflow: hidden;
  padding: 0;
  position: relative;
}
.slick-list:focus {
  outline: none;
}
.slick-list.dragging {
  cursor: pointer;
  cursor: hand;
}

.slick-slider .slick-track,
.slick-slider .slick-list {
  -webkit-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);
}

.slick-track {
  display: block;
  left: 0;
  position: relative;
  top: 0;
}
.slick-track:before, .slick-track:after {
  content: "";
  display: table;
}
.slick-track:after {
  clear: both;
}
.slick-loading .slick-track {
  visibility: hidden;
}

.slick-slide {
  display: none;
  float: left;
  height: 100%;
  min-height: 1px;
}
[dir=rtl] .slick-slide {
  float: right;
}
.slick-slide img {
  display: block;
}
.slick-slide.slick-loading img {
  display: none;
}
.slick-slide.dragging img {
  pointer-events: none;
}
.slick-initialized .slick-slide {
  display: block;
}
.slick-loading .slick-slide {
  visibility: hidden;
}
.slick-vertical .slick-slide {
  border: 1px solid transparent;
  display: block;
  height: auto;
}

.slick-arrow.slick-hidden {
  display: none;
}

.slick-arrow {
  cursor: pointer;
}

.slider--header,
.test--header {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin-bottom: 4.4rem;
}
.slider--header-nav,
.test--header-nav {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 1.5rem;
}
.slider--header-more,
.test--header-more {
  display: none;
}
@media only screen and (min-width: 62.5em) {
  .slider--header-more,
  .test--header-more {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
}
.slider--header .heading-3,
.test--header .heading-3 {
  -webkit-box-flex: 1;
      -ms-flex: 1 1 30rem;
          flex: 1 1 30rem;
}

.slider--mobile-nav {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  padding: 4rem 0;
  grid-gap: 3rem;
}
@media only screen and (min-width: 62.5em) {
  .slider--mobile-nav {
    display: none;
  }
}
.slider--mobile-nav .slider--header-nav {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
.slider--mobile-nav .slider--header-more {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
}

.section-carousel .main--header {
  padding-bottom: 2rem;
}
@media only screen and (min-width: 62.5em) {
  .section-carousel .main--header {
    padding-bottom: 7rem;
  }
}
.section-carousel .carousel {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr 4rem;
  grid-template-columns: 1fr 4rem;
  row-gap: 2rem;
}
@media only screen and (min-width: 62.5em) {
  .section-carousel .carousel {
    display: -ms-grid;
    display: grid;
    grid-gap: 2.4rem;
  }
}
.section-carousel .carousel:has(+ .carousel__header) {
  margin-bottom: 10rem;
}
.section-carousel .carousel__slider {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  -ms-grid-column-span: 2;
  grid-column: span 2;
}
@media only screen and (min-width: 62.5em) {
  .section-carousel .carousel__slider {
    -ms-grid-column: 1;
    grid-column: 1;
  }
}
.section-carousel .carousel__slider .slick-list {
  margin: 0 -1rem;
}
.section-carousel .carousel__slider .slick-slide > div {
  padding: 0 1rem;
}
.section-carousel .carousel__navigation {
  -ms-flex-line-pack: center;
      align-content: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
  -ms-grid-column-span: 2;
  grid-column: span 2;
  -ms-grid-row: 2;
  grid-row: 2;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  grid-gap: 2.4rem;
}
@media only screen and (min-width: 62.5em) {
  .section-carousel .carousel__navigation {
    display: -ms-grid;
    display: grid;
    -ms-grid-column: 2;
    grid-column: 2;
    -ms-grid-row: 1;
    grid-row: 1;
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    grid-gap: 0;
  }
}
.section-carousel .carousel__navigation .slick-arrow svg:hover circle {
  fill: var(--color-secondary);
}
.section-carousel .carousel__navigation .slick-arrow svg:hover path {
  stroke: #fafafa;
}
.section-carousel .carousel__navigation .slick-arrow.slick-disabled {
  pointer-events: none;
}
.section-carousel .carousel__navigation .slick-arrow.slick-disabled svg #Ellipse_26 {
  stroke: #d9d7d0;
}
.section-carousel .carousel__navigation .slick-arrow.slick-disabled svg path {
  stroke: #d9d7d0;
}
.section-carousel .carousel__navigation .prev-img svg {
  scale: -1;
}
.section-carousel .carousel__image {
  justify-items: center;
}
.section-carousel .carousel__image img {
  height: 10rem;
  -o-object-fit: contain;
     object-fit: contain;
  width: auto;
}
.section-carousel .carousel__header {
  padding-bottom: 2.4rem;
}

.slideshow--header {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  padding-bottom: 4rem;
  row-gap: 3rem;
}
@media only screen and (min-width: 62.5em) {
  .slideshow--header {
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: (1fr)[2];
    grid-template-columns: repeat(2, 1fr);
  }
}
.slideshow--header .heading-3 {
  -webkit-box-flex: 1;
      -ms-flex: 1 1 30rem;
          flex: 1 1 30rem;
}
.slideshow--header.gallery {
  -ms-grid-columns: (1fr)[2];
  grid-template-columns: repeat(2, 1fr);
}
.slideshow--header.gallery .heading-3 {
  display: none;
}
.slideshow--header.gallery .slideshow--nav {
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
}
.slideshow--nav {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  grid-gap: 2.4rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin-top: 2rem;
}
@media only screen and (min-width: 62.5em) {
  .slideshow--nav {
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end;
  }
}
.slideshow--nav .slick-arrow svg:hover circle {
  fill: var(--color-secondary);
}
.slideshow--nav .slick-arrow svg:hover path {
  stroke: #fafafa;
}
.slideshow--nav .slick-arrow.slick-disabled {
  pointer-events: none;
}
.slideshow--nav .slick-arrow.slick-disabled svg #Ellipse_26 {
  stroke: #d9d7d0;
}
.slideshow--nav .slick-arrow.slick-disabled svg path {
  stroke: #d9d7d0;
}
.slideshow--nav .prev-car svg,
.slideshow--nav .prev-content svg {
  scale: -1;
}
.slideshow--nav .slick-disabled svg #Ellipse_26 {
  stroke: #d9d7d0;
}
.slideshow--nav .slick-disabled svg path {
  stroke: #d9d7d0;
}
.slideshow--count {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  font-size: 1.6rem;
  font-weight: 700;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
}
@media only screen and (min-width: 62.5em) {
  .slideshow--slides .slide {
    max-width: 95vw;
    width: 108rem !important;
  }
}
.slideshow--slides .slide--image {
  height: 30rem;
  padding-bottom: 4rem;
}
.slideshow--slides .slide--image img {
  border-radius: 0.5rem;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  width: 100%;
}
@media only screen and (min-width: 62.5em) {
  .slideshow--slides .slide--image {
    height: 50rem;
  }
}
.slideshow--slides .slide--content {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  grid-gap: 3rem;
}
@media only screen and (min-width: 62.5em) {
  .slideshow--slides .slide--content {
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: 5fr 0 7fr;
    grid-template-columns: 5fr 7fr;
    grid-gap: 0;
  }
}
.slideshow--slides .slide--content.gallery {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.slideshow--slides .slide--content .description p {
  font-size: 1.6rem;
}
.slideshow--slides .slick-slide {
  opacity: 0.3;
}
.slideshow--slides .slick-slide .slide--content {
  opacity: 0;
  -webkit-transition: 0.5s all ease-in-out;
  transition: 0.5s all ease-in-out;
  -webkit-transition-delay: 0.5s;
          transition-delay: 0.5s;
}
.slideshow--slides .slick-slide.slick-active {
  opacity: 1;
}
.slideshow--slides .slick-slide.slick-active .slide--content {
  opacity: 1;
}

.carousel--outer {
  grid-column: full-start/full-end;
}
.carousel--outer-nav {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  grid-column: center-start/center-end;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  padding-top: 7rem;
  z-index: 10;
}
@media only screen and (min-width: 62.5em) {
  .carousel--outer-nav {
    grid-column: center-start/col-end 6;
    margin-bottom: -14rem;
    padding-right: 10rem;
  }
}
.carousel--outer .content--carousel {
  grid-column: full-start/full-end;
  margin-top: 3rem;
}
@media only screen and (min-width: 62.5em) {
  .carousel--outer .content--carousel {
    margin-top: 0;
  }
}
.carousel--outer .content--carousel-text {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  grid-column: center-start/center-end;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding-bottom: 7rem;
  position: relative;
  grid-gap: 2.4rem;
}
@media only screen and (min-width: 62.5em) {
  .carousel--outer .content--carousel-text {
    padding-bottom: 0;
  }
}
.carousel--outer .content--carousel-text .image--captions {
  -webkit-box-ordinal-group: 0;
      -ms-flex-order: -1;
          order: -1;
}
@media only screen and (min-width: 62.5em) {
  .carousel--outer .content--carousel-text .image--captions {
    -webkit-box-ordinal-group: unset;
        -ms-flex-order: unset;
            order: unset;
  }
}
.carousel--outer .content--carousel-text p {
  font-weight: 800;
}
.carousel--outer .content--carousel-text .image-caption {
  font-size: 1.2rem;
  font-weight: 600;
  margin-bottom: 0;
  padding: 1rem 0;
}
@media only screen and (min-width: 62.5em) {
  .carousel--outer .content--carousel-text .image-caption {
    bottom: 4rem;
    left: 10rem;
    position: absolute;
    right: 10rem;
    text-align: right;
  }
}
@media only screen and (min-width: 62.5em) {
  .carousel--outer .content--carousel-text {
    grid-column: center-start/col-end 6;
    padding-right: 10rem;
  }
}
.carousel--outer .content--carousel-media {
  border-radius: 0 0.5rem 0.5rem 0;
  grid-column: center-start/center-end;
  -webkit-box-ordinal-group: 0;
      -ms-flex-order: -1;
          order: -1;
}
@media only screen and (min-width: 62.5em) {
  .carousel--outer .content--carousel-media {
    grid-column: col-start 7/full-end;
    -webkit-box-ordinal-group: unset;
        -ms-flex-order: unset;
            order: unset;
  }
}
.carousel--outer .content--carousel-media img {
  border-radius: 0.5rem;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  width: 100%;
}
@media only screen and (min-width: 62.5em) {
  .carousel--outer .content--carousel-media img {
    border-radius: 0 0.5rem 0.5rem 0;
  }
}
.carousel--outer .slick-slide > div {
  height: 100%;
}
.carousel--outer .slick-slide > div .media--item {
  height: 32rem;
}
@media only screen and (min-width: 62.5em) {
  .carousel--outer .slick-slide > div .media--item {
    height: 100%;
    min-height: 72rem;
  }
}
.carousel--outer .slick-slide {
  margin: 0;
}

.content--slider-header {
  margin-bottom: 3.75rem;
}
.content--slider-slide {
  position: relative;
  padding: 1rem;
  justify-items: center;
}
@media only screen and (min-width: 62.5em) {
  .content--slider-slide {
    padding: 6.375rem 0 5rem 7rem;
    justify-items: flex-start;
  }
}
.content--slider-details {
  background-color: var(--color-bg);
  max-width: 19.5rem;
  padding: 3rem 1.5rem 1.5rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  min-height: 20rem;
}
@media only screen and (min-width: 62.5em) {
  .content--slider-details {
    padding: 1.5rem;
  }
}
.content--slider-details .button {
  margin-top: 1.5rem;
}
.content--slider-details .intro {
  color: var(--color-black);
  text-align: center;
  margin-top: 1rem;
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}
.content--slider-image {
  inset: 0;
  width: 100%;
  z-index: -1;
  height: 18.75rem;
}
@media only screen and (min-width: 62.5em) {
  .content--slider-image {
    position: absolute;
    height: 100%;
  }
}
.content--slider-image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.content--slider .slick-slider,
.content--slider .slick-list {
  overflow: visible;
}
.content--slider .slick-track {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 1.5rem;
}

.section-content-slider {
  overflow: hidden;
}

.slider--header-nav {
  margin-top: 3.75rem;
  margin-bottom: 2rem;
  color: var(--color-secondary);
}

.test--header-nav {
  color: var(--color-primary);
}

.section-cta {
  overflow: hidden;
}
.section-cta .cta--image {
  position: absolute;
  inset: 0;
  height: 100%;
  width: 100%;
  z-index: -1;
}
.section-cta .cta--image img {
  -o-object-fit: cover;
     object-fit: cover;
  width: 100%;
  height: 100%;
}
.section-cta .cta--overlay {
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: var(--cta-overlay);
  z-index: 1;
}
.section-cta .cta--content {
  padding: 5rem 1rem 1.5rem;
  color: var(--color-white);
  z-index: 2;
}
@media only screen and (min-width: 62.5em) {
  .section-cta .cta--content {
    padding: 5rem 7rem;
  }
}
.section-cta .cta--content h2 {
  color: var(--color-white);
  font-size: 3.825rem;
  max-width: 20ch;
}
@media only screen and (min-width: 62.5em) {
  .section-cta .cta--content h2 {
    font-size: 4.5rem;
  }
}
.section-cta .cta--content .button--outline {
  margin-top: 1.5rem;
  background-color: var(--color-white);
  color: var(--color-secondary);
  border-color: var(--color-white);
}

.image--text-image, .image--text-text, .image--text-quote {
  display: -ms-grid;
  display: grid;
  grid-gap: 1rem;
}
@media only screen and (min-width: 62.5em) {
  .image--text-image, .image--text-text, .image--text-quote {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
}
.image--text-text {
  padding: 2.5rem 0;
}
.image--text-text img {
  margin-bottom: 7rem;
  max-height: 25rem;
  -o-object-fit: cover;
     object-fit: cover;
  width: 100%;
  aspect-ratio: 1;
}
.image--text-text .description {
  padding-bottom: 2rem;
}
@media only screen and (min-width: 62.5em) {
  .image--text-quote {
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
  }
}
.image--text-image img {
  height: 100%;
  width: auto;
  aspect-ratio: 1;
  -o-object-fit: cover;
     object-fit: cover;
}
@media only screen and (min-width: 62.5em) {
  .mediaright .image--text-image {
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1;
  }
  .mediaright .image--text-image img {
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
    width: 100%;
  }
}

.section-page-intro .intro--block {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 1rem;
}
.section-page-intro .intro--block.center {
  text-align: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.section-page-intro .intro--block .button--outline {
  margin-top: 2.25rem;
}

.section-faq-block .sticky-content {
  position: sticky;
  top: 14rem;
}
@media only screen and (min-width: 62.5em) {
  .section-faq-block .faq--block-title {
    padding-right: 10rem;
  }
}
.section-faq-block .faq--block-title .quest {
  padding-top: 3.2rem;
}
.section-faq-block .faq--block-title .quest p {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  border-bottom: 1px solid #bdb8b3;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  margin-bottom: 1.2rem;
  padding-bottom: 1.2rem;
}
.section-faq-block .faq--block-text .quest_answer .heading-4 {
  border-bottom: 1px solid #bdb8b3;
  margin-bottom: 1.6rem;
  padding-bottom: 1.6rem;
}
.section-faq-block .faq--block-text .quest_answer li {
  margin-bottom: 3.3rem;
}
.section-faq-block .faq--block-question {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr 1rem 2rem;
  grid-template-columns: 1fr 2rem;
  gap: 1rem;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  cursor: pointer;
}
.section-faq-block .faq--block-question svg {
  rotate: 90deg;
  -webkit-transition: all 0.7s ease-in-out;
  transition: all 0.7s ease-in-out;
}
.section-faq-block .faq--block-answer {
  max-height: 0;
  overflow: hidden;
  -webkit-transition: all 0.7s ease-in-out;
  transition: all 0.7s ease-in-out;
}
.section-faq-block .faq--block.open .faq--block-answer {
  max-height: 50rem;
}
.section-faq-block .faq--block.open .faq--block-question svg {
  rotate: -90deg;
}

@media only screen and (min-width: 62.5em) {
  .text-element {
    padding-right: 40rem;
  }
}
.text-element p:first-of-type {
  font-weight: 800;
}
.text-element h4 {
  line-height: 1.25;
  padding: 1rem 0;
}

.map--key {
  margin-top: -5rem;
  padding: 0 0 0 2rem;
}
@media only screen and (min-width: 62.5em) {
  .map--key {
    margin-top: -2rem;
    padding: 0;
  }
}
.map--key ul {
  list-style: disc;
}
.map--key ul li {
  color: var(--pin-color);
  font-size: 1.4rem;
  font-weight: 700;
  padding-bottom: 1rem;
  text-transform: uppercase;
}

.section-country-text .image--text-image {
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
}
.section-country-text .image--text-image img {
  max-height: 20rem;
  -o-object-fit: contain;
     object-fit: contain;
  aspect-ratio: unset;
  position: sticky;
  top: 10rem;
}
.section-country-text .image--text-text {
  padding-top: 1.875rem;
}
.section-country-text .description__extra {
  overflow: hidden;
  -webkit-transition: grid-template-rows 0.5s ease-in-out, opacity 0.7s ease-in-out;
  transition: grid-template-rows 0.5s ease-in-out, opacity 0.7s ease-in-out;
  transition: grid-template-rows 0.5s ease-in-out, opacity 0.7s ease-in-out, -ms-grid-rows 0.5s ease-in-out;
}
.section-country-text .description__extra.is-collapsed {
  max-height: 0;
  opacity: 0;
}
.section-country-text .description__extra:not(.is-collapsed) {
  max-height: 1000px;
  opacity: 1;
}
.section-country-text .description__toggle {
  margin-top: 0.5rem;
  background: none;
  border: 0;
  padding: 0;
  cursor: pointer;
  text-decoration: none;
  color: var(--color-secondary);
  font-family: var(--font-tertiary);
}

.section-link-block {
  padding: 16rem 0;
}
.section-link-block .link--block-main {
  max-width: 50ch;
}
.section-link-block .link--block-anchors {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}
.section-link-block .link--block-anchors ul {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}
.section-link-block .link--block-anchors li {
  border-bottom: 1px solid #ebe6e0;
  padding: 0.8rem 0 1.6rem;
}
.section-link-block .more-link {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  padding-top: 5.6rem;
}
.section-link-block .more-link .main-page-link {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  color: var(--color-secondary);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  font-size: 1.6rem;
  font-weight: 500;
  text-transform: uppercase;
}
.section-link-block .more-link .main-page-link svg {
  margin-left: 1.8rem;
}

.icon--cards {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 2.5rem;
  margin-top: 3.75rem;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.icon--cards-card {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 1rem;
}
.icon--cards-title {
  text-align: center;
}
.icon--cards-image img {
  height: 3.75rem;
  width: auto;
}

.section-full-cards .media--break-left {
  border-radius: 0.5rem 0.5rem 0 0;
  grid-column: full-start/full-end;
}
@media only screen and (min-width: 62.5em) {
  .section-full-cards .media--break-left {
    border-radius: 0.5rem 0 0 0.5rem;
    grid-column: full-start/col-end 6;
  }
}
.section-full-cards .media--break-left img {
  border-radius: 0.5rem 0.5rem 0 0;
  height: 100%;
  min-height: 50rem;
  -o-object-fit: cover;
     object-fit: cover;
  width: 100%;
}
@media only screen and (min-width: 62.5em) {
  .section-full-cards .media--break-left img {
    border-radius: 0.5rem 0 0 0.5rem;
  }
}
.section-full-cards .content--break-left {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  grid-column: full-start/full-end;
  grid-gap: 3rem;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding: 3rem 2.5rem;
}
@media only screen and (min-width: 62.5em) {
  .section-full-cards .content--break-left {
    grid-column: col-start 7/center-end;
    padding-left: 10rem;
    grid-gap: 2.5rem;
  }
}
.section-full-cards .content--break-left img {
  border-radius: 0.5rem;
  max-height: 25rem;
  -o-object-fit: cover;
     object-fit: cover;
  width: 100%;
}
@media only screen and (min-width: 62.5em) {
  .section-full-cards .content--break-left img {
    margin-bottom: 4.5rem;
  }
}
.section-full-cards .content--break-left p {
  font-weight: 800;
}
.section-full-cards .content--break-left .button {
  padding-top: 2rem;
}
@media only screen and (min-width: 62.5em) {
  .section-full-cards .content--break-left .button {
    padding: 0;
  }
}
.section-full-cards .media--break-right {
  border-radius: 0.5rem 0.5rem 0 0;
  grid-column: full-start/full-end;
}
@media only screen and (min-width: 62.5em) {
  .section-full-cards .media--break-right {
    border-radius: 0 0.5rem 0.5rem 0;
    grid-column: col-start 7/full-end;
  }
}
.section-full-cards .media--break-right img {
  border-radius: 0.5rem 0.5rem 0 0;
  height: 100%;
  min-height: 50rem;
  -o-object-fit: cover;
     object-fit: cover;
  width: 100%;
}
@media only screen and (min-width: 62.5em) {
  .section-full-cards .media--break-right img {
    border-radius: 0 0.5rem 0.5rem 0;
  }
}
.section-full-cards .content--break-right {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  grid-column: full-start/full-end;
  grid-gap: 3rem;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding: 8rem 2.5rem;
}
@media only screen and (min-width: 62.5em) {
  .section-full-cards .content--break-right {
    grid-column: center-start/col-end 6;
    -webkit-box-ordinal-group: 0;
        -ms-flex-order: -1;
            order: -1;
    padding-right: 10rem;
  }
}
.section-full-cards .content--break-right img {
  border-radius: 0.5rem;
  max-height: 25rem;
  -o-object-fit: cover;
     object-fit: cover;
  width: 100%;
}
@media only screen and (min-width: 62.5em) {
  .section-full-cards .content--break-right img {
    margin-bottom: 4.5rem;
  }
}
.section-full-cards .content--break-right p {
  font-weight: 800;
}
.section-full-cards .card--textblock {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  padding: 4rem 1.5rem 7rem 1.5rem;
}
@media only screen and (min-width: 62.5em) {
  .section-full-cards .card--textblock {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: 1fr 1fr;
    grid-template-columns: 1fr 1fr;
    padding: 0;
  }
}
.section-full-cards .card--textblock:first-of-type {
  padding-bottom: 0;
}
@media only screen and (min-width: 62.5em) {
  .section-full-cards .card--textblock:first-of-type {
    padding-bottom: 6rem;
  }
}
@media only screen and (min-width: 62.5em) {
  .section-full-cards .card--textblock p {
    padding: 0 2rem;
  }
}
.section-full-cards .card--textblock .heading-2 {
  border-bottom: 2px solid var(--color-secondary);
  margin-bottom: 4rem;
  padding-bottom: 2rem;
  word-spacing: 50vw;
}
@media only screen and (min-width: 62.5em) {
  .section-full-cards .card--textblock .heading-2 {
    border-bottom: none;
    border-right: 2px solid var(--color-secondary);
    margin-bottom: 0;
    max-width: unset;
    max-width: 8ch;
    padding: 0 2rem 0 0;
  }
}
.section-full-cards.dark .content--break-right {
  padding: 0;
}

.section-cards .grid-two {
  grid-gap: 2.4rem;
}
.section-cards .grid-three {
  grid-gap: 2.4rem;
}
.section-cards .grid-three .card img {
  max-height: 17rem;
}
.section-cards .card {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
.section-cards .card img {
  max-height: 20rem;
  -o-object-fit: cover;
     object-fit: cover;
  width: 100%;
}
.section-cards .card--content {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 1rem 1.125rem 1.5rem;
  text-align: center;
}
.section-cards .card--content .intro--block-subtitle {
  padding-bottom: 0.625rem;
}
.section-cards .card--content .intro--block-title {
  padding-bottom: 0.875rem;
}
.section-cards .card--content p {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  padding-bottom: 2rem;
}

.dark {
  color: var(--color-white);
}
.dark .heading-2 {
  color: var(--color-white);
}
@media only screen and (min-width: 62.5em) {
  .dark .media--break-right img {
    min-height: 72rem;
  }
}

.locations {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 1rem;
  padding-bottom: 1.5rem;
}
.locations--image {
  height: 20rem;
  width: 100%;
}
.locations--image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.locations--link {
  width: 100%;
}
.locations--header {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 0.375rem;
  text-align: center;
}

.full--text-header {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 1rem;
  margin-bottom: 1rem;
}
.full--text img {
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}

.best--place-header {
  margin-bottom: 5rem;
}

/* Modal Overlay */
.modal {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  backdrop-filter: blur(5px); /* Background blur effect */
  background: rgba(0, 0, 0, 0.5); /* Transparent black overlay */
  color: var(--color-white);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  display: none;
  height: 100%;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  left: 0;
  position: fixed;
  top: 0;
  -webkit-transition: visibility 0s, opacity 0.3s ease;
  transition: visibility 0s, opacity 0.3s ease;
  width: 100%;
  z-index: 1000;
}
.modal--details {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  margin-top: 3rem;
  max-height: 75vh;
  overflow-y: auto;
}
@media only screen and (min-width: 62.5em) {
  .modal--details {
    overflow-y: auto;
  }
}
.modal--details-right {
  -webkit-box-flex: 1;
      -ms-flex: 1 1 40rem;
          flex: 1 1 40rem;
  padding: 2.4rem 0;
}
@media only screen and (min-width: 62.5em) {
  .modal--details-right {
    border-left: 1px solid var(--color-secondary);
    padding: 0 2.4rem;
  }
}
.modal--details-right .heading-4 {
  font-size: 1.6rem;
  padding-bottom: 2rem;
}
@media only screen and (min-width: 62.5em) {
  .modal--details-right .heading-4 {
    font-size: 2.4rem;
    padding: 0 0 2rem 0;
  }
}
.modal--details-left {
  border-bottom: 1px solid var(--color-secondary);
  display: -ms-grid;
  display: grid;
  -webkit-box-flex: 1;
      -ms-flex: 1 1 20rem;
          flex: 1 1 20rem;
  -ms-grid-columns: 1fr 1fr;
  grid-template-columns: 1fr 1fr;
  padding-bottom: 3rem;
}
@media only screen and (min-width: 62.5em) {
  .modal--details-left {
    border: none;
    -ms-grid-columns: 1fr;
    grid-template-columns: 1fr;
  }
}
.modal--details-left .heading-4 {
  font-size: 1.6rem;
}
.modal--details-left .heading-4:first-of-type {
  padding-top: 0;
}
@media only screen and (min-width: 62.5em) {
  .modal--details-left .heading-4 {
    font-size: 2.4rem;
    padding: 2rem 0;
  }
}

/* Modal Hidden State */
.modal.hidden {
  display: none;
}

/* Modal Visible State */
.modal.active {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex; /* Ensure modal appears when active */
}

/* Modal Content */
.modal-content {
  background: var(--color-primary);
  border-radius: 0.5rem;
  -webkit-box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
          box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
  height: calc(100dvh - 3rem);
  max-width: 72rem;
  padding: 3rem;
  position: relative;
  width: 90%;
}
@media only screen and (min-width: 62.5em) {
  .modal-content {
    height: -webkit-fit-content;
    height: -moz-fit-content;
    height: fit-content;
  }
}

/* Close Button */
.close {
  cursor: pointer;
  float: right;
  font-size: 1.5rem;
}

.section-gallery .gallery {
  position: relative;
}
.section-gallery .gallery--grid {
  display: -ms-grid;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(15rem, 1fr));
  gap: 1.5rem;
}
@media only screen and (min-width: 62.5em) {
  .section-gallery .gallery--grid {
    -ms-grid-columns: (1fr)[12];
    grid-template-columns: repeat(12, 1fr);
    grid-auto-rows: minmax(10rem, auto);
  }
  .section-gallery .gallery--grid .gallery--image:nth-child(6n+1) {
    -ms-grid-column-span: 8;
    grid-column: span 8;
    -ms-grid-row-span: 2;
    grid-row: span 2;
  }
  .section-gallery .gallery--grid .gallery--image:nth-child(6n+2) {
    -ms-grid-column-span: 4;
    grid-column: span 4;
    -ms-grid-row-span: 2;
    grid-row: span 2;
  }
  .section-gallery .gallery--grid .gallery--image:nth-child(6n+3) {
    -ms-grid-column-span: 3;
    grid-column: span 3;
    -ms-grid-row-span: 2;
    grid-row: span 2;
  }
  .section-gallery .gallery--grid .gallery--image:nth-child(6n+4) {
    -ms-grid-column-span: 3;
    grid-column: span 3;
    -ms-grid-row-span: 2;
    grid-row: span 2;
  }
  .section-gallery .gallery--grid .gallery--image:nth-child(6n+5) {
    -ms-grid-column-span: 6;
    grid-column: span 6;
    -ms-grid-row-span: 4;
    grid-row: span 4;
  }
  .section-gallery .gallery--grid .gallery--image:nth-child(6n+6) {
    -ms-grid-column-span: 6;
    grid-column: span 6;
    -ms-grid-row-span: 2;
    grid-row: span 2;
  }
}
.section-gallery .gallery--image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.section-gallery .gallery--grid .gallery--image:nth-child(n+7) {
  display: none;
}
.section-gallery .gallery--grid.is-expanded .gallery--image:nth-child(n+7) {
  display: block;
}

.gallery--button {
  margin-top: 1.625rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.gallery--button .button.is-hidden {
  display: none;
}

.section--timeline {
  overflow: hidden;
}

.timeline--block {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 1rem;
}
@media only screen and (min-width: 62.5em) {
  .timeline--block {
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: 1fr 0 2fr 0 9fr;
    grid-template-columns: 1fr 2fr 9fr;
    gap: 0;
  }
}
.timeline--block:last-of-type .border {
  border-left: none;
}
.timeline--block.is-active .timeline--content {
  max-height: 90rem;
}
.timeline--block.is-active .timeline--content-inner {
  opacity: 1;
  -webkit-transform: translateY(0);
          transform: translateY(0);
  -webkit-transition-delay: 120ms;
          transition-delay: 120ms;
  padding-top: 0.75rem;
}
.timeline--block.is-active .timeline--header .trigger {
  color: var(--color-primary);
}
.timeline--block.is-active .timeline--header .trigger svg {
  scale: -1;
}
.timeline--header {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  line-height: 1;
  cursor: pointer;
}
.timeline--header .text {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 1rem;
  font-size: 1.125rem;
}
.timeline--header .trigger {
  color: var(--color-secondary);
}
.timeline--content {
  max-height: 0;
  overflow: hidden;
  -webkit-transition: height 420ms cubic-bezier(0.65, 0.05, 0.36, 1);
  transition: height 420ms cubic-bezier(0.65, 0.05, 0.36, 1);
}
.timeline--content h4 {
  padding-bottom: 1rem;
}
.timeline--content-inner {
  opacity: 0;
  -webkit-transform: translateY(1rem);
          transform: translateY(1rem);
  -webkit-transition: opacity 500ms ease, -webkit-transform 300ms ease;
  transition: opacity 500ms ease, -webkit-transform 300ms ease;
  transition: opacity 500ms ease, transform 300ms ease;
  transition: opacity 500ms ease, transform 300ms ease, -webkit-transform 300ms ease;
}
.timeline--marker .border {
  border-left: 1px dashed var(--color-primary);
  height: 100%;
}
.timeline--marker .dot {
  margin-left: -5px;
  margin-bottom: -5px;
  padding-top: 2rem;
  line-height: 1;
}
.timeline--date {
  background-color: #fff7ec;
  margin-bottom: 1rem;
  padding: 1.5rem;
  text-align: center;
  font-size: 1.5rem;
  line-height: 1;
}
.timeline--details {
  background-color: #fff7ec;
  margin-bottom: 1rem;
  padding: 1.5rem;
}

.africa--map-map {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 5fr 1.5rem 3fr;
  grid-template-columns: 5fr 3fr;
  gap: 1.5rem;
}
.africa--map-svg svg {
  width: 100%;
  height: auto;
}
.africa--map-svg svg path {
  -webkit-transition: all 0.5s ease-in-out;
  transition: all 0.5s ease-in-out;
}
.africa--map-svg svg path.active {
  fill: var(--color-primary) !important;
}
.africa--map-switch {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 2rem;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin: 3.75rem 0 2.5rem;
}
.africa--map-switch .sep {
  border-left: 1px solid var(--color-secondary);
  height: 100%;
}
.africa--map-switch .map-select,
.africa--map-switch .grid-select {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  padding: 0.25rem 0;
  cursor: pointer;
  color: var(--color-secondary);
}
.africa--map-switch .map-select.is-active,
.africa--map-switch .grid-select.is-active {
  color: var(--color-primary);
}
.africa--map-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.africa--map-list .location--link a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  font-size: 1.125rem;
  border-bottom: 1px solid var(--color-secondary);
  color: var(--color-primary);
  padding: 0.5rem 0;
}
.africa--map-list .location--link a svg {
  -webkit-transition: all 0.5s ease-in-out;
  transition: all 0.5s ease-in-out;
}
.africa--map-list .location--link a:hover svg {
  -webkit-transform: translateX(0.5rem);
          transform: translateX(0.5rem);
}
.africa--map-grid {
  row-gap: 5rem;
  -webkit-column-gap: 1.5rem;
     -moz-column-gap: 1.5rem;
          column-gap: 1.5rem;
  display: none;
}

.page-template-contact-page .site {
  padding-top: calc(20vh - 0.5rem);
}

.contact--block {
  display: -ms-grid;
  display: grid;
  gap: 2rem;
}
@media only screen and (min-width: 62.5em) {
  .contact--block {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 2rem;
  }
}
.contact--block .telephone,
.contact--block .email {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 0.5rem;
  color: var(--color-black);
  font-size: 1rem;
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}
.contact--block .telephone a,
.contact--block .email a {
  color: var(--color-black);
  font-size: 1rem;
  text-decoration: none;
  font-family: var(--font-tertiary);
  margin-top: 0.5rem;
}
.contact--block-address p {
  font-size: 1rem;
  padding-top: 0.5rem;
  color: var(--color-black);
  font-family: var(--font-tertiary);
}

.location--map {
  height: 35rem;
}

@media only screen and (min-width: 62.5em) {
  .section-map .contact--block {
    padding-right: 14rem;
  }
}
.section-map .contact--block .heading-2 {
  padding-bottom: 4.8rem;
}
.section-map .contact--block p {
  font-size: 1.4rem;
}
.section-map .directions {
  padding-top: 4.8rem;
}
.section-map .directions .heading-4 {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  border-bottom: 1px solid #bdb8b3;
  cursor: pointer;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  margin-bottom: 2rem;
  padding-bottom: 2.4rem;
}
.section-map .directions--location {
  margin-bottom: 2rem;
}
.section-map .directions--location svg {
  rotate: 180deg;
  -webkit-transition: all 0.4s ease-in-out;
  transition: all 0.4s ease-in-out;
}
.section-map .directions--location svg path {
  stroke: var(--color-black);
}
.section-map .directions--location.active svg {
  rotate: 0deg;
}
.section-map .directions--steps {
  display: none;
}
.section-map .directions--steps li {
  font-size: 1.4rem;
}

.wsf-bottom {
  text-align: right;
}

button.wsf-button {
  padding: 0.9rem 3rem !important;
}

.wsf-form label.wsf-label {
  padding-left: 1rem;
}