html {
  box-sizing: border-box;
  scroll-behavior: smooth;
  scroll-padding-top: calc(var(--header-height) + 2rem);
}
@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }
  html body *, html body *:before, html body *:after {
    animation-duration: 0s !important;
    animation-delay: 0s !important;
    transition-duration: 0s !important;
  }
}

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

blockquote,
body,
figure,
h1,
h2,
h3,
h4,
h5,
h6,
hr,
li,
ol,
p,
pre,
ul {
  margin: 0;
  padding: 0;
}

ul:where([class]) {
  list-style: none;
}

button,
input,
select,
textarea {
  color: inherit;
  letter-spacing: inherit;
  font: inherit;
}

input[type=text],
textarea {
  width: 100%;
}

fieldset {
  padding: 0;
  border: none;
}

legend {
  margin-bottom: 0.5rem;
  max-width: 100%;
}

button,
input,
textarea {
  border: 1px solid gray;
}

button {
  padding: 0.75em 1em;
  border-radius: 0;
  background-color: transparent;
  line-height: 1;
}

button * {
  pointer-events: none;
}

button:hover {
  cursor: pointer;
}

embed,
iframe,
img,
object,
svg,
video {
  display: block;
  max-width: 100%;
}

table {
  width: 100%;
  table-layout: fixed;
}

[hidden] {
  display: none !important;
}

noscript {
  display: block;
  margin-top: 1em;
  margin-bottom: 1em;
}

[tabindex="-1"] {
  outline: none !important;
  box-shadow: none !important;
}

.grecaptcha-badge {
  visibility: hidden !important;
}

:root {
  /**
   * These values below will have to be defined in the styleguide by UX/VD. It's important that the values in the
   * design correspond to the spacings in the code. From there it's very important that through both the design and
   * the code the values are used consistently.
   */
  /**
   * - Colors.
   */
  --primary-regular: rgb(186, 38, 38);
  --primary-dark: rgb(153, 24, 24);
  --secondary-light: rgb(245, 227, 215);
  --secondary-regular: rgb(245, 227, 215);
  --secondary-dark: rgb(235, 206, 188);
  --neutral-white: rgb(255, 255, 255);
  --neutral-border: rgb(203, 203, 203);
  --neutral-light-grey: rgb(238, 238, 238);
  --neutral-grey: rgb(170, 170, 170);
  --neutral-black: rgb(34, 34, 34);
  --neutral-black-o-0: rgba(34, 34, 34, 0);
  --neutral-black-o-08: rgba(34, 34, 34, 0.08);
  --neutral-black-o-50: rgba(34, 34, 34, 0.5);
  --neutral-black-o-75: rgba(34, 34, 34, 0.75);
  --neutral-black-o-95: rgba(34, 34, 34, 0.95);
  --success-light: rgb(233, 255, 241);
  --success-regular: rgb(39, 174, 96);
  --success-dark: rgb(31, 139, 76);
  --error-light: rgb(255, 233, 233);
  --error-regular: rgb(186, 38, 38);
  --error-dark: rgb(153, 24, 24);
  /**
   * - General.
   */
  --primary-gradient: linear-gradient(180deg, var(--primary-regular) 0%, var(--primary-dark) 100%);
  --secondary-gradient: linear-gradient(0deg, var(--secondary-dark) 0%, var(--secondary-dark) 100%), linear-gradient(90deg, rgba(0, 0, 0, 0.80) 31.31%, rgba(0, 0, 0, 0.00) 100%);
  --grey-gradient: linear-gradient(76deg, var(--neutral-black-o-95) 41.48%, var(--neutral-black-o-0) 80.71%);
  --grey-gradient-video: linear-gradient(76deg, var(--neutral-black-o-95) 20%, var(--neutral-black-o-0) 80.71%);
  --black-gradient: linear-gradient(180deg, var(--neutral-black) 0%, var(--neutral-black-o-75) 50%, var(--neutral-black-o-0) 100%);
  --border-radius: 1rem;
  --gap-default: var(--spacing-m);
  --space-between-headings-in-content: var(--spacing-s);
  --space-between-items-in-content: var(--spacing-s);
  --header-height: 4.5rem;
  --top-bar-height: 3rem;
  /**
   * - Container.
   */
  --max-page-width: 120rem;
  --max-container-width: 100rem;
  --max-small-container-width: 80rem;
  --max-content-width: 60ch;
  /**
   * - Motion.
   */
  --cubic-bezier: cubic-bezier(.1, .1, 0, 1);
  --animation-speed-slow: 600ms;
  --animation-speed-fast: 400ms;
  /**
   * - A11y.
   */
  --focus-outline-color: var(--primary-dark);
  --focus-outline-thickness: 2px;
  /**
   * - Spacings.
   */
  --spacing-xxs: .5rem;
  --spacing-xs: 1rem;
  --spacing-s: 1.5rem;
  --spacing-m: 2.5rem;
  --spacing-l: 5rem;
  --spacing-xl: 7.5rem;
  --spacing-xxl: 9.5rem;
  /**
   * - Mobile menu.
   */
  --main-menu-link-color: var(--neutral-white);
  --main-menu-submenu-background-color: var(--primary-dark);
  --main-menu-submenu-padding: 27px var(--spacing-xs) var(--spacing-xs);
  --main-menu-submenu-spacing-between-items: 0;
  --mobile-menu-wrapper-padding: var(--spacing-s);
  --mobile-menu-items-background-color: var(--primary-dark);
  --mobile-menu-cta-height: 0px;
  --mobile-menu-cta-background-color: var(--primary-dark);
  /**
   * - Dialogs.
   */
  --dialog-backdrop-color: rgba(1, 1, 11, 0.4);
  --dialog-background-color: var(--neutral-white);
  --dialog-padding: var(--spacing-s);
  /**
   * - Accordions.
   */
  --accordions-space-between: var(--spacing-xs);
  --accordion-border-thickness: 0;
  --accordion-border-color: var(--neutral-black);
  --accordion-header-padding: var(--spacing-xs) var(--spacing-s);
  --accordion-header-color: var(--neutral-black);
  --accordion-header-hover-color: var(--neutral-black);
  --accordion-header-background-color: var(--neutral-white);
  --accordion-header-background-hover-color: var(--neutral-light-grey);
  --accordion-content-padding: var(--spacing-s);
  --accordion-content-background-color: var(--secondary-dark);
  --accordion-content-color: var(--neutral-black);
  /**
   * - Alerts.
   */
  --alert-border-thickness: 2px;
  --alert-padding: var(--spacing-s);
  --alert-spacing: var(--spacing-s);
  /**
   * - Tags.
   */
  --tag-list-vertical-spacing: var(--spacing-xxs);
  --tag-list-horizontal-spacing: var(--spacing-xxs);
  --tag-icon-spacing: var(--spacing-s);
  --tag-background-color: rgba(0, 0, 0, 0.08);
  --tag-color: var(--neutral-black);
  --tag-hover-background-color: var(--primary-dark);
  --tag-hover-color: var(--neutral-white);
  --tag-padding: var(--spacing-xxs) var(--spacing-xs);
  --tag-border-radius: 10rem;
  --tag-font-size: 1rem;
  --tag-icon-height: .875rem;
  /**
   * - Forms.
   */
  --form-label-font-size: .875rem;
  --form-input-padding: var(--spacing-xxs) var(--spacing-xs);
  --form-input-font-size: 1.125rem;
  --form-input-description-font-size: .75rem;
  --form-input-border-color: var(--neutral-border);
  --form-input-border-thickness: 1px;
  --form-input-background: var(--neutral-light-grey);
  --form-checkbox-border-thickness: 1px;
  --form-checkbox-border-color: var(--neutral-grey);
  --form-checkbox-selected-border-color: var(--primary-dark);
  --form-checkbox-selected-background-color: var(--neutral-white);
  --form-checkbox-size: 1.125rem;
  --form-radio-size: 1.125rem;
  --form-radio-border-thickness: 1px;
  --form-radio-border-color: var(--neutral-grey);
  --form-radio-selected-background-color: var(--primary-dark);
  --form-radio-selected-border-color: var(--primary-dark);
  /**
   * - Typography.
   */
  --font-family-headings: "Montserrat", sans-serif;
  --font-family-default: "Inter", sans-serif;
  --body-text-color: var(--neutral-black);
  --font-size-h1-display: clamp(2.25rem, 10vw, 3rem);
  --line-height-h1-display: 1.2;
  --font-weight-h1-display: 500;
  --font-family-h1-display: var(--font-family-headings);
  --font-size-h1: clamp(1.5rem, 8vw, 2.25rem);
  --line-height-h1: 1.4;
  --font-weight-h1: 500;
  --font-family-h1: var(--font-family-headings);
  --font-size-h2-display: clamp(1.5rem, 8vw, 2.25rem);
  --line-height-h2-display: 1;
  --font-weight-h2-display: 500;
  --font-family-h2-display: var(--font-family-headings);
  --font-size-h2: clamp(1.25rem, 8vw, 1.75rem);
  --line-height-h2: 1.35;
  --font-weight-h2: 500;
  --font-family-h2: var(--font-family-headings);
  --font-size-h3-display: clamp(1.25rem, 8vw, 1.75rem);
  --line-height-h3-display: 1.35;
  --font-weight-h3-display: 500;
  --font-family-h3-display: var(--font-family-headings);
  --font-size-h3: clamp(1.25rem, 6vw, 1.35rem);
  --line-height-h3: 1.4;
  --font-weight-h3: 500;
  --font-family-h3: var(--font-family-headings);
  --font-size-h4-display: clamp(1.25rem, 6vw, 1.35rem);
  --line-height-h4-display: 1.4;
  --font-weight-h4-display: 500;
  --font-family-h4-display: var(--font-family-headings);
  --font-size-h4: clamp(1rem, 6vw, 1.25rem);
  --line-height-h4: 1.4;
  --font-weight-h4: 500;
  --font-family-h4: var(--font-family-headings);
  --font-size-h5-display: clamp(1rem, 6vw, 1.25rem);
  --line-height-h5-display: 1.4;
  --font-weight-h5-display: 500;
  --font-family-h5-display: var(--font-family-headings);
  --font-size-h5: clamp(.875rem, 6vw, 1rem);
  --line-height-h5: 1.4;
  --font-weight-h5: 500;
  --font-family-h5: var(--font-family-headings);
  --font-size-h6-display: clamp(.875rem, 6vw, 1rem);
  --line-height-h6-display: 1.4;
  --font-weight-h6-display: 500;
  --font-family-h6-display: var(--font-family-headings);
  --font-size-h6: clamp(.75rem, 4vw, .875rem);
  --line-height-h6: 1.4;
  --font-weight-h6: 500;
  --font-family-h6: var(--font-family-headings);
  --font-size-body: 1rem;
  --line-height-body: 1.75;
  --font-weight-body: 400;
  --font-family-body: var(--font-family-default);
  --font-size-body-small: clamp(.75rem, 3vw, .875rem);
  --line-height-body-small: 2;
  --font-weight-body-small: 400;
  --font-family-body-small: var(--font-family-default);
  --font-size-body-large: clamp(1rem, 5vw, 1.125rem);
  --line-height-body-large: 1.6;
  --font-weight-body-large: 400;
  --font-family-body-large: var(--font-family-default);
  --link-color: var(--primary-regular);
  --link-color-hover: var(--primary-dark);
  --ul-space-between-bullets: var(--spacing-s);
  --ul-bullet-size: .4rem;
  --ul-bullet-color: var(--primary-regular);
  --ol-space-between-bullets: var(--spacing-s);
  --ol-indent-space: var(--spacing-s);
  --ol-bullet-color: var(--info-500);
  --table-cell-padding: var(--spacing-xs) var(--spacing-xs);
  --table-heading-background-color: var(--primary-gradient);
  --table-heading-color: var(--neutral-white);
  --table-heading-font-weight: 400;
  --table-row-odd-background: var(--neutral-white);
  --table-row-even-background: var(--neutral-white);
  --table-row-mobile-padding: var(--spacing-s);
}

*:focus,
*:focus-visible {
  outline: var(--focus-outline-thickness, 0.125rem) var(--focus-outline-color, var(--neutral-black)) solid;
  outline-offset: 0.25rem;
  -webkit-box-shadow: 0 0 0 2px white;
  box-shadow: 0 0 0 2px white;
  border-radius: 0.125rem;
}

*:focus:not(:focus-visible) {
  outline: none;
  box-shadow: none;
}

@font-face {
  font-family: "Montserrat";
  src: url("fonts/montserrat-black-webfont.woff2") format("woff2"), url("fonts/montserrat-black-webfont.woff") format("woff");
  font-weight: 900;
  font-style: normal;
}
@font-face {
  font-family: "Montserrat";
  src: url("fonts/montserrat-extrabold-webfont.woff2") format("woff2"), url("fonts/montserrat-extrabold-webfont.woff") format("woff");
  font-weight: 800;
  font-style: normal;
}
@font-face {
  font-family: "Montserrat";
  src: url("fonts/montserrat-bold-webfont.woff2") format("woff2"), url("fonts/montserrat-bold-webfont.woff") format("woff");
  font-weight: 700;
  font-style: normal;
}
@font-face {
  font-family: "Montserrat";
  src: url("fonts/montserrat-medium-webfont.woff2") format("woff2"), url("fonts/montserrat-medium-webfont.woff") format("woff");
  font-weight: 500;
  font-style: normal;
}
@font-face {
  font-family: "Montserrat";
  src: url("fonts/montserrat-semibold-webfont.woff2") format("woff2"), url("fonts/montserrat-semibold-webfont.woff") format("woff");
  font-weight: 600;
  font-style: normal;
}
@font-face {
  font-family: "Montserrat";
  src: url("fonts/montserrat-regular-webfont.woff2") format("woff2"), url("fonts/montserrat-regular-webfont.woff") format("woff");
  font-weight: 400;
  font-style: normal;
}
@font-face {
  font-family: "Montserrat";
  src: url("fonts/montserrat-light-webfont.woff2") format("woff2"), url("fonts/montserrat-light-webfont.woff") format("woff");
  font-weight: 300;
  font-style: normal;
}
@font-face {
  font-family: "Montserrat";
  src: url("fonts/montserrat-extralight-webfont.woff2") format("woff2"), url("fonts/montserrat-extralight-webfont.woff") format("woff");
  font-weight: 200;
  font-style: normal;
}
@font-face {
  font-family: "Montserrat";
  src: url("fonts/montserrat-thin-webfont.woff2") format("woff2"), url("fonts/montserrat-thin-webfont.woff") format("woff");
  font-weight: 100;
  font-style: normal;
}
@font-face {
  font-family: "Inter";
  src: url("fonts/Inter-SemiBold.woff2") format("woff2"), url("fonts/Inter-SemiBold.woff") format("woff");
  font-weight: 600;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Inter";
  src: url("fonts/Inter-Regular.woff2") format("woff2"), url("fonts/Inter-Regular.woff") format("woff");
  font-weight: normal;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Inter";
  src: url("fonts/Inter-ExtraBold.woff2") format("woff2"), url("fonts/Inter-ExtraBold.woff") format("woff");
  font-weight: bold;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Inter";
  src: url("fonts/Inter-Light.woff2") format("woff2"), url("fonts/Inter-Light.woff") format("woff");
  font-weight: 300;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Inter";
  src: url("fonts/Inter-Thin.woff2") format("woff2"), url("fonts/Inter-Thin.woff") format("woff");
  font-weight: 100;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Inter";
  src: url("fonts/Inter-Medium.woff2") format("woff2"), url("fonts/Inter-Medium.woff") format("woff");
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Inter";
  src: url("fonts/Inter-ExtraLight.woff2") format("woff2"), url("fonts/Inter-ExtraLight.woff") format("woff");
  font-weight: 200;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Inter";
  src: url("fonts/Inter-Bold.woff2") format("woff2"), url("fonts/Inter-Bold.woff") format("woff");
  font-weight: bold;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Inter";
  src: url("fonts/Inter-Black.woff2") format("woff2"), url("fonts/Inter-Black.woff") format("woff");
  font-weight: 900;
  font-style: normal;
  font-display: swap;
}
* {
  font: inherit;
}

body {
  color: var(--body-text-color);
  text-shadow: rgba(0, 0, 0, 0.01) 0 0 1px;
  text-rendering: optimizeLegibility;
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  font-size: var(--font-size-body);
  line-height: var(--line-height-body);
  font-weight: var(--font-weight-body);
  font-family: var(--font-family-body);
  margin-inline: var(--spacing-s);
  background: var(--secondary-regular);
}
@media (max-width: 75rem) {
  body {
    margin-inline: 0;
  }
}

abbr[title] {
  border-bottom: 1px dotted;
}

b,
strong {
  font-weight: bold;
}

mark {
  background: var(--info-700);
}

em {
  font-style: italic;
}

q {
  quotes: none;
}

q:before, q:after {
  content: "";
}

small {
  font-size: 85%;
}

sub,
sup {
  font-size: 75%;
  vertical-align: baseline;
}

sup {
  top: -0.3em;
  position: relative;
}

table {
  border-collapse: collapse;
  border-style: hidden;
  inline-size: 100%;
  display: table;
}
@media (max-width: 55rem) {
  table {
    display: block;
  }
}
table th,
table td {
  padding: var(--table-cell-padding);
  text-align: left;
  border: 1px solid var(--neutral-border);
}
@media (max-width: 55rem) {
  table th,
  table td {
    padding-inline: 0;
  }
}
table td {
  display: table-cell;
  font-size: 1rem;
}
@media (max-width: 55rem) {
  table td {
    display: grid;
    grid-template-columns: 1fr 3fr;
    grid-gap: var(--spacing-xs);
  }
}
table td:before {
  font-weight: bold;
  display: none;
}
@media (max-width: 55rem) {
  table td:before {
    display: block;
  }
}
table th {
  background: var(--table-heading-background-color);
  color: var(--table-heading-color);
  font-weight: var(--table-heading-font-weight);
  display: table-cell;
}
@media (max-width: 55rem) {
  table th {
    display: none;
  }
}
table tr {
  padding: 0;
  display: table-row;
}
@media (max-width: 55rem) {
  table tr {
    padding: var(--table-row-mobile-padding);
    width: 100%;
    display: block;
  }
  table tr:first-child {
    display: none;
  }
}
table tr:nth-child(even) {
  background-color: var(--table-row-even-background);
}
table tr:nth-child(odd) {
  background-color: var(--table-row-odd-background);
}
table tr:first-child > *:first-child {
  border-top-left-radius: var(--border-radius);
}
table tr:first-child > *:last-child {
  border-top-right-radius: var(--border-radius);
}
table tr:last-child > *:first-child {
  border-bottom-left-radius: var(--border-radius);
}
table tr:last-child > *:last-child {
  border-bottom-right-radius: var(--border-radius);
}

a {
  text-decoration: none;
  color: var(--link-color);
}
a:not([class]), a[class^=menu] {
  --bg-h: 2px;
  background: linear-gradient(0deg, currentColor, currentColor) no-repeat right bottom/0 var(--bg-h);
  transition: background-size var(--animation-speed-slow) cubic-bezier(0.6, 0.6, 0, 1), color var(--animation-speed-slow) cubic-bezier(0.6, 0.6, 0, 1);
}
a:not([class]):where(:hover, :focus), a[class^=menu]:where(:hover, :focus) {
  color: var(--link-color-hover, var(--link-color));
  background-size: 100% var(--bg-h);
  background-position-x: left;
}

blockquote {
  border-left: 0.5rem solid var(--info-700);
  padding-inline-start: 1rem;
}

ol, ul {
  list-style: none;
}
ol li, ul li {
  position: relative;
}
ol li:before, ul li:before {
  display: inline-block;
  inset-inline-start: 0;
}

ul:not([class]) li {
  position: relative;
  padding-inline-start: calc(var(--ul-bullet-size) + var(--ul-space-between-bullets));
}
ul:not([class]) li:before {
  content: "";
  position: absolute;
  inline-size: var(--ul-bullet-size);
  block-size: var(--ul-bullet-size);
  background-color: var(--ul-bullet-color);
  inset-block-start: calc(var(--ul-bullet-size) * 1.75);
  border-radius: 50%;
}

.checks {
  display: flex;
  flex-direction: column;
  gap: var(--spacing-xs);
}
.checks .check {
  display: flex;
  align-items: center;
  gap: var(--spacing-xxs);
}
.checks .check svg {
  flex-shrink: 0;
}

ol {
  counter-reset: ol-counter;
}
ol li {
  counter-increment: ol-counter;
}
ol li:before {
  content: counters(ol-counter, ".", decimal);
  color: var(--ol-bullet-color);
  margin-inline-end: var(--ol-space-between-bullets);
}
ol li ol {
  padding-inline-start: var(--ol-indent-space);
}

p.small, ol.small, ul.small, blockquote.small, dl.small, table.small, pre.small, time.small {
  font-size: var(--font-size-body-small);
  line-height: var(--line-height-body-small);
  font-weight: var(--font-weight-body-small);
  font-family: var(--font-family-body-small);
}
p.large, ol.large, ul.large, blockquote.large, dl.large, table.large, pre.large, time.large {
  font-size: var(--font-size-body-large);
  line-height: var(--line-height-body-large);
  font-weight: var(--font-weight-body-large);
  font-family: var(--font-family-body-large);
}

h1 {
  font-size: var(--font-size-h1);
  line-height: var(--line-height-h1);
  font-weight: var(--font-weight-h1);
  font-family: var(--font-family-h1);
}
h1.display {
  font-size: var(--font-size-h1-display);
  line-height: var(--line-height-h1-display);
  font-weight: var(--font-weight-h1-display);
  font-family: var(--font-family-h1-display);
}

h2 {
  font-size: var(--font-size-h2);
  line-height: var(--line-height-h2);
  font-weight: var(--font-weight-h2);
  font-family: var(--font-family-h2);
}
h2.display {
  font-size: var(--font-size-h2-display);
  line-height: var(--line-height-h2-display);
  font-weight: var(--font-weight-h2-display);
  font-family: var(--font-family-h2-display);
}

h3 {
  font-size: var(--font-size-h3);
  line-height: var(--line-height-h3);
  font-weight: var(--font-weight-h3);
  font-family: var(--font-family-h3);
}
h3.display {
  font-size: var(--font-size-h3-display);
  line-height: var(--line-height-h3-display);
  font-weight: var(--font-weight-h3-display);
  font-family: var(--font-family-h3-display);
}

h4 {
  font-size: var(--font-size-h4);
  line-height: var(--line-height-h4);
  font-weight: var(--font-weight-h4);
  font-family: var(--font-family-h4);
}
h4.display {
  font-size: var(--font-size-h4-display);
  line-height: var(--line-height-h4-display);
  font-weight: var(--font-weight-h4-display);
  font-family: var(--font-family-h4-display);
}

h5 {
  font-size: var(--font-size-h5);
  line-height: var(--line-height-h5);
  font-weight: var(--font-weight-h5);
  font-family: var(--font-family-h5);
}
h5.display {
  font-size: var(--font-size-h5-display);
  line-height: var(--line-height-h5-display);
  font-weight: var(--font-weight-h5-display);
  font-family: var(--font-family-h5-display);
}

h6 {
  font-size: var(--font-size-h6);
  line-height: var(--line-height-h6);
  font-weight: var(--font-weight-h6);
  font-family: var(--font-family-h6);
}
h6.display {
  font-size: var(--font-size-h6-display);
  line-height: var(--line-height-h6-display);
  font-weight: var(--font-weight-h6-display);
  font-family: var(--font-family-h6-display);
}

ul:not([class]) > li::marker {
  display: block;
  color: var(--primary-800);
}

ul.list--check {
  list-style: none;
  padding-inline-start: 0;
  display: flex;
  flex-direction: column;
  gap: var(--spacing-xxs);
}
ul.list--check li {
  position: relative;
  padding-inline-start: var(--spacing-m);
}
ul.list--check li::before {
  content: "";
  inline-size: 1.25rem;
  block-size: 1.25rem;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='22' height='22' viewBox='0 0 22 22' fill='none'%3E%3Cpath d='M6.5 11L9.5 14L15.5 8M21 11C21 16.5228 16.5228 21 11 21C5.47715 21 1 16.5228 1 11C1 5.47715 5.47715 1 11 1C16.5228 1 21 5.47715 21 11Z' stroke='%2327AE60' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  margin-block-start: 6px;
  position: absolute;
  left: 0;
  top: 0;
}

ul.list--contact > li {
  display: flex;
  gap: var(--spacing-xs);
  align-items: center;
}
ul.list--contact > li::before {
  content: "";
  inline-size: 1.25rem;
  block-size: 1.25rem;
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  flex-shrink: 0;
}
ul.list--contact > li:nth-child(3n+1):before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none'%3E%3Cpath d='M12 13C13.6569 13 15 11.6569 15 10C15 8.34315 13.6569 7 12 7C10.3431 7 9 8.34315 9 10C9 11.6569 10.3431 13 12 13Z' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M12 22C16 18 20 14.4183 20 10C20 5.58172 16.4183 2 12 2C7.58172 2 4 5.58172 4 10C4 14.4183 8 18 12 22Z' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}
ul.list--contact > li:nth-child(3n+2):before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none'%3E%3Cpath d='M8.38028 8.85323C9.07627 10.3028 10.0251 11.6615 11.2266 12.8631C12.4282 14.0646 13.7869 15.0134 15.2365 15.7094C15.3612 15.7693 15.4235 15.7992 15.5024 15.8222C15.7828 15.904 16.127 15.8453 16.3644 15.6752C16.4313 15.6274 16.4884 15.5702 16.6027 15.4559C16.9523 15.1063 17.1271 14.9315 17.3029 14.8172C17.9658 14.3862 18.8204 14.3862 19.4833 14.8172C19.6591 14.9315 19.8339 15.1063 20.1835 15.4559L20.3783 15.6508C20.9098 16.1822 21.1755 16.448 21.3198 16.7333C21.6069 17.3009 21.6069 17.9712 21.3198 18.5387C21.1755 18.8241 20.9098 19.0898 20.3783 19.6213L20.2207 19.7789C19.6911 20.3085 19.4263 20.5733 19.0662 20.7756C18.6667 21 18.0462 21.1614 17.588 21.16C17.1751 21.1588 16.8928 21.0787 16.3284 20.9185C13.295 20.0575 10.4326 18.433 8.04466 16.045C5.65668 13.6571 4.03221 10.7947 3.17124 7.76131C3.01103 7.19687 2.93092 6.91464 2.9297 6.5017C2.92833 6.04347 3.08969 5.42298 3.31411 5.02348C3.51636 4.66345 3.78117 4.39863 4.3108 3.86901L4.46843 3.71138C4.99987 3.17993 5.2656 2.91421 5.55098 2.76987C6.11854 2.4828 6.7888 2.4828 7.35636 2.76987C7.64174 2.91421 7.90747 3.17993 8.43891 3.71138L8.63378 3.90625C8.98338 4.25585 9.15819 4.43065 9.27247 4.60643C9.70347 5.26932 9.70347 6.1239 9.27247 6.78679C9.15819 6.96257 8.98338 7.13738 8.63378 7.48698C8.51947 7.60129 8.46231 7.65845 8.41447 7.72526C8.24446 7.96269 8.18576 8.30695 8.26748 8.5873C8.29048 8.6662 8.32041 8.72854 8.38028 8.85323Z' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}
ul.list--contact > li:nth-child(3n+3):before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none'%3E%3Cpath d='M2 7L10.1649 12.7154C10.8261 13.1783 11.1567 13.4097 11.5163 13.4993C11.8339 13.5785 12.1661 13.5785 12.4837 13.4993C12.8433 13.4097 13.1739 13.1783 13.8351 12.7154L22 7M6.8 20H17.2C18.8802 20 19.7202 20 20.362 19.673C20.9265 19.3854 21.3854 18.9265 21.673 18.362C22 17.7202 22 16.8802 22 15.2V8.8C22 7.11984 22 6.27976 21.673 5.63803C21.3854 5.07354 20.9265 4.6146 20.362 4.32698C19.7202 4 18.8802 4 17.2 4H6.8C5.11984 4 4.27976 4 3.63803 4.32698C3.07354 4.6146 2.6146 5.07354 2.32698 5.63803C2 6.27976 2 7.11984 2 8.8V15.2C2 16.8802 2 17.7202 2.32698 18.362C2.6146 18.9265 3.07354 19.3854 3.63803 19.673C4.27976 20 5.11984 20 6.8 20Z' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}

ol.incremented {
  counter-reset: item;
}
ol.incremented ol {
  counter-reset: item;
}
ol.incremented li {
  display: block;
}
ol.incremented li::before {
  content: counters(item, ".") ". ";
  counter-increment: item;
}
ol.incremented ul li::before {
  content: "";
}

.container, .container--small {
  --container-width: 100%;
  margin: 0 auto;
  padding: 0 var(--spacing-s);
  max-width: var(--container-width);
}
@media (max-width: 75rem) {
  .container, .container--small {
    padding: 0 var(--spacing-xs);
    --container-width: 1200px;
  }
}
.container--small {
  max-width: var(--max-small-container-width);
}
.container.stretch, .stretch.container--small {
  max-width: 100%;
}

.grid {
  --grid-gap: 1em;
  display: grid;
  grid-template-columns: repeat(12, 1fr);
  grid-gap: var(--grid-gap, var(--gap-default));
  align-items: start;
}
@media (max-width: 55rem) {
  .grid {
    --grid-gap: 2em;
  }
}
.grid.no-gutters {
  grid-gap: 0;
}
.grid.equal-height {
  align-items: stretch;
}
.grid > .x-start {
  justify-self: start;
}
.grid > .x-center {
  justify-self: center;
}
.grid > .x-end {
  justify-self: end;
}
.grid > .y-start {
  align-self: start;
}
.grid > .y-center {
  align-self: center;
}
.grid > .y-end {
  align-self: end;
}
.grid > .small-1 {
  grid-column-end: span 1;
}
.grid > .offset-small-1 {
  grid-column-start: calc(1 + 1);
}
.grid.small-grid-1 {
  grid-template-columns: repeat(1, 1fr);
}
.grid > .small-2 {
  grid-column-end: span 2;
}
.grid > .offset-small-2 {
  grid-column-start: calc(2 + 1);
}
.grid.small-grid-2 {
  grid-template-columns: repeat(2, 1fr);
}
.grid > .small-3 {
  grid-column-end: span 3;
}
.grid > .offset-small-3 {
  grid-column-start: calc(3 + 1);
}
.grid.small-grid-3 {
  grid-template-columns: repeat(3, 1fr);
}
.grid > .small-4 {
  grid-column-end: span 4;
}
.grid > .offset-small-4 {
  grid-column-start: calc(4 + 1);
}
.grid.small-grid-4 {
  grid-template-columns: repeat(4, 1fr);
}
.grid > .small-5 {
  grid-column-end: span 5;
}
.grid > .offset-small-5 {
  grid-column-start: calc(5 + 1);
}
.grid.small-grid-5 {
  grid-template-columns: repeat(5, 1fr);
}
.grid > .small-6 {
  grid-column-end: span 6;
}
.grid > .offset-small-6 {
  grid-column-start: calc(6 + 1);
}
.grid.small-grid-6 {
  grid-template-columns: repeat(6, 1fr);
}
.grid > .small-7 {
  grid-column-end: span 7;
}
.grid > .offset-small-7 {
  grid-column-start: calc(7 + 1);
}
.grid.small-grid-7 {
  grid-template-columns: repeat(7, 1fr);
}
.grid > .small-8 {
  grid-column-end: span 8;
}
.grid > .offset-small-8 {
  grid-column-start: calc(8 + 1);
}
.grid.small-grid-8 {
  grid-template-columns: repeat(8, 1fr);
}
.grid > .small-9 {
  grid-column-end: span 9;
}
.grid > .offset-small-9 {
  grid-column-start: calc(9 + 1);
}
.grid.small-grid-9 {
  grid-template-columns: repeat(9, 1fr);
}
.grid > .small-10 {
  grid-column-end: span 10;
}
.grid > .offset-small-10 {
  grid-column-start: calc(10 + 1);
}
.grid.small-grid-10 {
  grid-template-columns: repeat(10, 1fr);
}
.grid > .small-11 {
  grid-column-end: span 11;
}
.grid > .offset-small-11 {
  grid-column-start: calc(11 + 1);
}
.grid.small-grid-11 {
  grid-template-columns: repeat(11, 1fr);
}
.grid > .small-12 {
  grid-column-end: span 12;
}
.grid > .offset-small-12 {
  grid-column-start: calc(12 + 1);
}
.grid.small-grid-12 {
  grid-template-columns: repeat(12, 1fr);
}
@media (max-width: 55rem) {
  .grid > .medium-1 {
    grid-column-end: span 1;
  }
  .grid > .offset-medium-1 {
    grid-column-start: calc(1 + 1);
  }
  .grid.medium-grid-1 {
    grid-template-columns: repeat(1, 1fr);
  }
  .grid > .medium-2 {
    grid-column-end: span 2;
  }
  .grid > .offset-medium-2 {
    grid-column-start: calc(2 + 1);
  }
  .grid.medium-grid-2 {
    grid-template-columns: repeat(2, 1fr);
  }
  .grid > .medium-3 {
    grid-column-end: span 3;
  }
  .grid > .offset-medium-3 {
    grid-column-start: calc(3 + 1);
  }
  .grid.medium-grid-3 {
    grid-template-columns: repeat(3, 1fr);
  }
  .grid > .medium-4 {
    grid-column-end: span 4;
  }
  .grid > .offset-medium-4 {
    grid-column-start: calc(4 + 1);
  }
  .grid.medium-grid-4 {
    grid-template-columns: repeat(4, 1fr);
  }
  .grid > .medium-5 {
    grid-column-end: span 5;
  }
  .grid > .offset-medium-5 {
    grid-column-start: calc(5 + 1);
  }
  .grid.medium-grid-5 {
    grid-template-columns: repeat(5, 1fr);
  }
  .grid > .medium-6 {
    grid-column-end: span 6;
  }
  .grid > .offset-medium-6 {
    grid-column-start: calc(6 + 1);
  }
  .grid.medium-grid-6 {
    grid-template-columns: repeat(6, 1fr);
  }
  .grid > .medium-7 {
    grid-column-end: span 7;
  }
  .grid > .offset-medium-7 {
    grid-column-start: calc(7 + 1);
  }
  .grid.medium-grid-7 {
    grid-template-columns: repeat(7, 1fr);
  }
  .grid > .medium-8 {
    grid-column-end: span 8;
  }
  .grid > .offset-medium-8 {
    grid-column-start: calc(8 + 1);
  }
  .grid.medium-grid-8 {
    grid-template-columns: repeat(8, 1fr);
  }
  .grid > .medium-9 {
    grid-column-end: span 9;
  }
  .grid > .offset-medium-9 {
    grid-column-start: calc(9 + 1);
  }
  .grid.medium-grid-9 {
    grid-template-columns: repeat(9, 1fr);
  }
  .grid > .medium-10 {
    grid-column-end: span 10;
  }
  .grid > .offset-medium-10 {
    grid-column-start: calc(10 + 1);
  }
  .grid.medium-grid-10 {
    grid-template-columns: repeat(10, 1fr);
  }
  .grid > .medium-11 {
    grid-column-end: span 11;
  }
  .grid > .offset-medium-11 {
    grid-column-start: calc(11 + 1);
  }
  .grid.medium-grid-11 {
    grid-template-columns: repeat(11, 1fr);
  }
  .grid > .medium-12 {
    grid-column-end: span 12;
  }
  .grid > .offset-medium-12 {
    grid-column-start: calc(12 + 1);
  }
  .grid.medium-grid-12 {
    grid-template-columns: repeat(12, 1fr);
  }
}
@media (max-width: 1024px) {
  .grid > .medium-large-1 {
    grid-column-end: span 1;
  }
  .grid > .offset-medium-large-1 {
    grid-column-start: calc(1 + 1);
  }
  .grid.medium-large-grid-1 {
    grid-template-columns: repeat(1, 1fr);
  }
  .grid > .medium-large-2 {
    grid-column-end: span 2;
  }
  .grid > .offset-medium-large-2 {
    grid-column-start: calc(2 + 1);
  }
  .grid.medium-large-grid-2 {
    grid-template-columns: repeat(2, 1fr);
  }
  .grid > .medium-large-3 {
    grid-column-end: span 3;
  }
  .grid > .offset-medium-large-3 {
    grid-column-start: calc(3 + 1);
  }
  .grid.medium-large-grid-3 {
    grid-template-columns: repeat(3, 1fr);
  }
  .grid > .medium-large-4 {
    grid-column-end: span 4;
  }
  .grid > .offset-medium-large-4 {
    grid-column-start: calc(4 + 1);
  }
  .grid.medium-large-grid-4 {
    grid-template-columns: repeat(4, 1fr);
  }
  .grid > .medium-large-5 {
    grid-column-end: span 5;
  }
  .grid > .offset-medium-large-5 {
    grid-column-start: calc(5 + 1);
  }
  .grid.medium-large-grid-5 {
    grid-template-columns: repeat(5, 1fr);
  }
  .grid > .medium-large-6 {
    grid-column-end: span 6;
  }
  .grid > .offset-medium-large-6 {
    grid-column-start: calc(6 + 1);
  }
  .grid.medium-large-grid-6 {
    grid-template-columns: repeat(6, 1fr);
  }
  .grid > .medium-large-7 {
    grid-column-end: span 7;
  }
  .grid > .offset-medium-large-7 {
    grid-column-start: calc(7 + 1);
  }
  .grid.medium-large-grid-7 {
    grid-template-columns: repeat(7, 1fr);
  }
  .grid > .medium-large-8 {
    grid-column-end: span 8;
  }
  .grid > .offset-medium-large-8 {
    grid-column-start: calc(8 + 1);
  }
  .grid.medium-large-grid-8 {
    grid-template-columns: repeat(8, 1fr);
  }
  .grid > .medium-large-9 {
    grid-column-end: span 9;
  }
  .grid > .offset-medium-large-9 {
    grid-column-start: calc(9 + 1);
  }
  .grid.medium-large-grid-9 {
    grid-template-columns: repeat(9, 1fr);
  }
  .grid > .medium-large-10 {
    grid-column-end: span 10;
  }
  .grid > .offset-medium-large-10 {
    grid-column-start: calc(10 + 1);
  }
  .grid.medium-large-grid-10 {
    grid-template-columns: repeat(10, 1fr);
  }
  .grid > .medium-large-11 {
    grid-column-end: span 11;
  }
  .grid > .offset-medium-large-11 {
    grid-column-start: calc(11 + 1);
  }
  .grid.medium-large-grid-11 {
    grid-template-columns: repeat(11, 1fr);
  }
  .grid > .medium-large-12 {
    grid-column-end: span 12;
  }
  .grid > .offset-medium-large-12 {
    grid-column-start: calc(12 + 1);
  }
  .grid.medium-large-grid-12 {
    grid-template-columns: repeat(12, 1fr);
  }
}
@media (max-width: 75rem) {
  .grid > .large-1 {
    grid-column-end: span 1;
  }
  .grid > .offset-large-1 {
    grid-column-start: calc(1 + 1);
  }
  .grid.large-grid-1 {
    grid-template-columns: repeat(1, 1fr);
  }
  .grid > .large-2 {
    grid-column-end: span 2;
  }
  .grid > .offset-large-2 {
    grid-column-start: calc(2 + 1);
  }
  .grid.large-grid-2 {
    grid-template-columns: repeat(2, 1fr);
  }
  .grid > .large-3 {
    grid-column-end: span 3;
  }
  .grid > .offset-large-3 {
    grid-column-start: calc(3 + 1);
  }
  .grid.large-grid-3 {
    grid-template-columns: repeat(3, 1fr);
  }
  .grid > .large-4 {
    grid-column-end: span 4;
  }
  .grid > .offset-large-4 {
    grid-column-start: calc(4 + 1);
  }
  .grid.large-grid-4 {
    grid-template-columns: repeat(4, 1fr);
  }
  .grid > .large-5 {
    grid-column-end: span 5;
  }
  .grid > .offset-large-5 {
    grid-column-start: calc(5 + 1);
  }
  .grid.large-grid-5 {
    grid-template-columns: repeat(5, 1fr);
  }
  .grid > .large-6 {
    grid-column-end: span 6;
  }
  .grid > .offset-large-6 {
    grid-column-start: calc(6 + 1);
  }
  .grid.large-grid-6 {
    grid-template-columns: repeat(6, 1fr);
  }
  .grid > .large-7 {
    grid-column-end: span 7;
  }
  .grid > .offset-large-7 {
    grid-column-start: calc(7 + 1);
  }
  .grid.large-grid-7 {
    grid-template-columns: repeat(7, 1fr);
  }
  .grid > .large-8 {
    grid-column-end: span 8;
  }
  .grid > .offset-large-8 {
    grid-column-start: calc(8 + 1);
  }
  .grid.large-grid-8 {
    grid-template-columns: repeat(8, 1fr);
  }
  .grid > .large-9 {
    grid-column-end: span 9;
  }
  .grid > .offset-large-9 {
    grid-column-start: calc(9 + 1);
  }
  .grid.large-grid-9 {
    grid-template-columns: repeat(9, 1fr);
  }
  .grid > .large-10 {
    grid-column-end: span 10;
  }
  .grid > .offset-large-10 {
    grid-column-start: calc(10 + 1);
  }
  .grid.large-grid-10 {
    grid-template-columns: repeat(10, 1fr);
  }
  .grid > .large-11 {
    grid-column-end: span 11;
  }
  .grid > .offset-large-11 {
    grid-column-start: calc(11 + 1);
  }
  .grid.large-grid-11 {
    grid-template-columns: repeat(11, 1fr);
  }
  .grid > .large-12 {
    grid-column-end: span 12;
  }
  .grid > .offset-large-12 {
    grid-column-start: calc(12 + 1);
  }
  .grid.large-grid-12 {
    grid-template-columns: repeat(12, 1fr);
  }
}

#main-content,
.site-footer,
.banner__top-bar,
[role=banner] {
  max-inline-size: var(--max-page-width);
  margin-inline: auto;
}

#main-content {
  margin-block-start: calc(var(--header-height) * -1);
}

.space-content > * + * {
  margin-block-start: var(--space-between-items-in-content, var(--spacing-s));
}
.space-content > * + *:is(a, span) {
  display: inline-block;
}
@media (max-width: 30rem) {
  .space-content [class*=button] + [class*=button] {
    margin-block-start: var(--spacing-xxs);
  }
}
.space-content > h2:not(:first-child),
.space-content > h3:not(:first-child),
.space-content > h4:not(:first-child),
.space-content > h5:not(:first-child),
.space-content > h6:not(:first-child) {
  margin-block-start: var(--space-between-headings-in-content, var(--spacing-m));
}
.space-content > dialog {
  margin-block-start: 0;
}
.space-content > dialog + p {
  margin-block-start: 0;
}
.space-content > *:empty + * {
  margin-block-start: 0;
}

.sr-only {
  position: absolute;
  overflow: hidden;
  clip: rect(0 0 0 0);
  margin: 0;
  padding: 0;
  width: 1px;
  height: auto;
  border: 0;
  white-space: nowrap;
}

.bg--blank + .bg--blank {
  padding-block-start: 0;
}

.block:not(.bg--dark) + .bg--dark {
  border-top-left-radius: 0;
  border-top-right-radius: 0;
}

.header__nav {
  display: flex;
  justify-content: flex-start;
}
.header__nav .menu__item:has(.wpml-ls-flag) {
  display: none;
}
.header__nav .menu__item:has(.wpml-ls-flag) a {
  gap: 0.5rem;
}
@media (max-width: 75rem) {
  .header__nav .menu__item:has(.wpml-ls-flag) {
    display: block !important;
  }
}
@media (max-width: 75rem) {
  .header__nav {
    position: fixed;
    block-size: calc(100dvh - var(--mobile-menu-cta-height) - var(--header-height));
    inline-size: calc(100% - var(--spacing-s) * 2);
    inset-block-start: calc(var(--header-height) + var(--top-bar-height));
    inset-inline-start: var(--spacing-s);
    padding: var(--mobile-menu-wrapper-padding);
    background: var(--mobile-menu-items-background-color);
    translate: calc(-100% - var(--spacing-s)) 0;
    transition: translate var(--animation-speed-slow) var(--cubic-bezier);
    will-change: translate;
  }
  .header__nav.show {
    translate: 0 0;
  }
}
@media (max-width: 55rem) {
  .header__nav {
    inline-size: 100%;
    inset-inline-start: 0;
    translate: -100% 0;
    padding: 0;
  }
}
.header__nav .menu {
  display: flex;
  align-items: center;
  width: 100%;
  list-style: none;
}
@media (max-width: 75rem) {
  .header__nav .menu {
    flex-direction: column;
    align-items: flex-start;
  }
}
.header__nav .menu__item {
  padding: var(--spacing-xxs) var(--spacing-xs);
  border-top-left-radius: calc(var(--border-radius) / 2);
  border-top-right-radius: calc(var(--border-radius) / 2);
}
@media (max-width: 1260px) {
  .header__nav .menu__item {
    padding: var(--spacing-xxs);
  }
}
@media (max-width: 75rem) {
  .header__nav .menu__item {
    inline-size: 100%;
  }
  .header__nav .menu__item a, .header__nav .menu__item .menu__submenu-toggle {
    display: inline-flex;
    justify-content: space-between;
    line-height: var(--line-height-body);
  }
}
@media (max-width: 55rem) {
  .header__nav .menu__item {
    padding: var(--spacing-xs) var(--spacing-xs);
  }
}
.header__nav .menu__item--has-submenu {
  position: relative;
  display: flex;
  gap: var(--spacing-xxs);
  background: transparent;
  transition: background var(--animation-speed-slow) var(--cubic-bezier);
}
@media (max-width: 75rem) {
  .header__nav .menu__item--has-submenu {
    justify-content: space-between;
  }
}
.header__nav .menu__item--has-submenu:after {
  content: "";
  position: absolute;
  inline-size: 100%;
  block-size: 11px;
  background: var(--primary-dark);
  inset-block-start: 100%;
  inset-inline-start: 0;
  opacity: 0;
  transition: all var(--animation-speed-slow) var(--cubic-bezier);
  border-bottom-right-radius: var(--border-radius);
  border-bottom-left-radius: var(--border-radius);
}
@media (hover: hover) {
  .header__nav .menu__item--has-submenu:hover:where(:hover, :focus) {
    --action-color: var(--neutral-white);
    --icon-color: var(--neutral-white);
    --link-color: var(--neutral-white);
    --link-color-hover: var(--neutral-white);
    background: var(--primary-dark);
  }
  .header__nav .menu__item--has-submenu:hover:where(:hover, :focus):after {
    opacity: 1;
  }
}
@media (max-width: 75rem) {
  .header__nav .menu__item--has-submenu {
    flex-wrap: wrap;
  }
}
@media (max-width: 30rem) {
  .header__nav .menu__item--has-submenu {
    justify-content: space-between;
  }
}
.header__nav .menu__submenu {
  opacity: 0;
  display: flex;
  visibility: hidden;
  flex-direction: column;
  position: absolute;
  background: var(--main-menu-submenu-background-color);
  inset-block-start: 100%;
  inset-inline-start: 0;
  padding: var(--main-menu-submenu-padding, var(--spacing-xs));
  gap: var(--main-menu-submenu-spacing-between-items, var(--spacing-xxs));
  transition: opacity var(--animation-speed-slow) var(--cubic-bezier), translate var(--animation-speed-slow) var(--cubic-bezier);
  translate: 0 calc(var(--spacing-s) * -0.25);
  border-bottom-left-radius: var(--border-radius);
  border-bottom-right-radius: var(--border-radius);
}
@media (max-width: 75rem) {
  .header__nav .menu__submenu {
    position: relative;
    inset-block-start: 0;
    inline-size: 100%;
    display: none;
    background: var(--primary-regular);
    border-radius: var(--border-radius);
    padding: var(--spacing-xs);
  }
}
.header__nav .menu__submenu-toggle--active {
  opacity: 1;
  visibility: visible;
  translate: 0 0;
}
@media (max-width: 75rem) {
  .header__nav .menu__submenu-toggle--active {
    display: block;
  }
}
.header__nav .menu__link {
  white-space: nowrap;
  font-size: 1.125rem;
}
@media (max-width: 85rem) {
  .header__nav .menu__link {
    font-size: 1rem;
  }
}
.header__nav .menu__submenu-toggle-button {
  padding: 0;
  border: 0;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  rotate: 0deg;
  flex-shrink: 0;
  transition: all var(--animation-speed-slow) var(--cubic-bezier);
}
.header__nav .menu__submenu-toggle-button[aria-expanded=true] {
  rotate: 180deg;
}
@media (max-width: 75rem) {
  .header__nav .menu__submenu-toggle-button {
    inline-size: 2rem;
    block-size: 2rem;
    display: grid;
    place-content: center;
    background: var(--primary-regular);
    border-radius: calc(var(--border-radius) / 4);
  }
}
.header__nav .menu__submenu-toggle {
  display: flex;
  align-items: center;
  gap: 1rem;
  padding: 0;
  border: none;
  text-decoration: none;
}
.header__nav .menu__submenu-toggle:where(:hover, :focus-visible) {
  text-decoration: none;
}
@media (max-width: 55rem) {
  .header__nav + .responsive-toggle {
    display: block;
  }
}
.header__nav .call-to-action:where(:hover, :focus-visible) {
  text-decoration: underline;
}

@media (max-width: 75rem) {
  .header__ctas {
    position: fixed;
    block-size: var(--mobile-menu-cta-height);
    inline-size: 100%;
    inset-block-end: 0;
    inset-inline-start: 0;
    background: var(--mobile-menu-cta-background-color);
    translate: -100% 0;
    transition: translate var(--animation-speed-slow) var(--cubic-bezier);
    will-change: translate;
    padding: var(--mobile-menu-wrapper-padding);
    display: flex;
    align-items: center;
  }
  .header__ctas.show {
    translate: 0 0;
  }
}
.header__ctas .menu {
  display: flex;
  gap: 1.5rem;
}

#menu-backdrop {
  position: fixed;
  inset: 0;
  inline-size: 100dvw;
  block-size: 100dvh;
  background: rgba(0, 0, 0, 0.4);
  z-index: 5;
  opacity: 0;
  pointer-events: none;
  transition: opacity var(--animation-speed-slow) var(--cubic-bezier);
}
#menu-backdrop.show {
  opacity: 1;
}

.responsive-toggle {
  display: none;
  border: 0;
  padding: 0;
  inline-size: 2.75rem;
  block-size: 2.75rem;
  align-items: center;
  justify-content: end;
}
@media (max-width: 75rem) {
  .responsive-toggle {
    display: flex;
  }
}

.skip-links a {
  color: var(--neutral-black);
  background-color: var(--neutral-white);
  padding: var(--spacing-xs);
  position: absolute;
  display: block;
  z-index: 1000;
  inset-block-start: -100dvh;
  inset-inline-start: var(--spacing-xxs);
  font-weight: 500;
}

.skip-links a:hover,
.skip-links a:focus {
  inset-block-start: var(--spacing-xxs);
  outline-offset: 0;
}

.tag-list {
  display: flex;
  flex-wrap: wrap;
  -moz-column-gap: var(--tag-list-vertical-spacing, var(--spacing-s));
       column-gap: var(--tag-list-vertical-spacing, var(--spacing-s));
  row-gap: var(--tag-list-horizontal-spacing, var(--spacing-xs));
  align-items: center;
}

.tag {
  display: inline-flex;
  align-items: center;
  gap: var(--tag-icon-spacing, var(--spacing-s));
  background: var(--tag-background-color, var(--neutral-lightest-grey));
  padding: var(--tag-padding, var(--spacing-xs));
  border-radius: var(--tag-border-radius, var(--border-radius));
  font-size: var(--tag-font-size, 0.875rem);
  font-weight: 600;
  color: var(--tag-color, var(--neutral-black));
  transition: background var(--animation-speed-slow) var(--cubic-bezier), color var(--animation-speed-slow) var(--cubic-bezier);
}
@media (hover: hover) {
  .tag:is(a):hover {
    background: var(--tag-hover-background-color, var(--neutral-black));
    color: var(--tag-hover-color, var(--neutral-white));
  }
}
.tag:is(a):focus {
  background: var(--tag-hover-background-color, var(--neutral-black));
  color: var(--tag-hover-color, var(--neutral-white));
}
.tag svg {
  width: auto;
  height: var(--tag-icon-height, 0.875rem);
}

.accordions {
  display: flex;
  flex-direction: column;
  gap: var(--accordions-space-between, var(--spacing-s));
}

.accordion {
  border-bottom: var(--accordion-border-thickness) solid var(--accordion-border-color);
  font-size: 1.125rem;
}
.accordion[open] .accordion__header {
  border-bottom-left-radius: 0;
  border-bottom-right-radius: 0;
}
.accordion[open] .accordion__header:after {
  rotate: 45deg;
}
.accordion__header {
  padding: var(--accordion-header-padding, var(--spacing-s));
  cursor: pointer;
  background: var(--accordion-header-background-color, var(--neutral-white));
  display: flex;
  font-weight: 400;
  align-items: center;
  justify-content: space-between;
  gap: var(--spacing-s);
  outline-offset: calc(var(--focus-outline-thickness) * -1);
  transition: background var(--animation-speed-slow) var(--cubic-bezier), color var(--animation-speed-slow) var(--cubic-bezier);
  color: var(--accordion-header-color, var(--neutral-black));
  border-radius: var(--border-radius);
}
@media (hover: hover) {
  .accordion__header:hover {
    background: var(--accordion-header-background-hover-color, var(--neutral-white));
    color: var(--accordion-header-hover-color, var(--neutral-black));
  }
}
.accordion__header::marker, .accordion__header::-webkit-details-marker {
  content: "";
  display: none;
}
.accordion__header:after {
  content: "";
  width: 32px;
  height: 33px;
  display: block;
  rotate: 0deg;
  flex-shrink: 0;
  transition: rotate var(--animation-speed-slow) var(--cubic-bezier);
  background-image: url("../svg/plus.svg");
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}
.accordion__content {
  padding: var(--accordion-content-padding, var(--spacing-s));
  background: var(--accordion-content-background-color, var(--neutral-white));
  color: var(--accordion-content-color, var(--neutral-white));
  border-bottom-left-radius: var(--border-radius);
  border-bottom-right-radius: var(--border-radius);
  --link-color: var(--secondary-regular);
  --link-color-hover: var(--secondary-regular);
}

.alert, .alert__success, .alert__error {
  display: flex;
  align-items: flex-start;
  padding: var(--alert-padding);
  border-radius: var(--border-radius);
  gap: var(--alert-spacing);
  border: var(--alert-border-thickness) solid var(--alert-border-color);
  background: var(--alert-background-color);
  color: var(--alert-color);
}
.alert svg, .alert__success svg, .alert__error svg {
  flex-shrink: 0;
  inline-size: 1.125rem;
  block-size: auto;
  translate: 0 6px;
}
.alert__title {
  display: block;
}
.alert__error {
  --alert-border-color: var(--error-dark);
  --alert-background-color: var(--error-light);
  --alert-color: var(--error-dark);
}
.alert__success {
  --alert-border-color: var(--success-dark);
  --alert-background-color: var(--success-light);
  --alert-color: var(--success-dark);
}

dialog {
  inline-size: min(100%, 55rem);
  border-radius: var(--border-radius);
  border: 0;
  background: var(--dialog-background-color, var(--neutral-white));
  padding: var(--dialog-padding, var(--spacing-s));
  inset-block-start: var(--spacing-m);
}
dialog .embed {
  aspect-ratio: 16/9;
  position: relative;
}
dialog .embed iframe {
  position: absolute;
  inset: 0;
  border-radius: var(--border-radius);
  inline-size: 100%;
  block-size: 100%;
}
@media (max-width: 75rem) {
  dialog {
    border-radius: 0;
  }
}
@media (max-width: 55rem) {
  dialog {
    margin-block: auto 0;
    max-width: 100%;
  }
}
@media (max-width: 30rem) {
  dialog button {
    width: 100%;
  }
}
dialog::backdrop {
  background: var(--dialog-backdrop-color, rgba(0, 0, 0, 0.5));
  -webkit-backdrop-filter: blur(3px);
          backdrop-filter: blur(3px);
}

.button, .button--video, .button--primary, .button--white {
  padding: calc(var(--spacing-s) / 2) var(--spacing-s);
  color: var(--button-color, var(--neutral-white));
  background: var(--button-background-color, var(--primary-gradient));
  border-radius: calc(var(--border-radius) / 2);
  font-weight: 700;
  line-height: 1.6;
  display: inline-flex;
  align-items: center;
  gap: var(--spacing-xxs);
  transition: background var(--animation-speed-fast) var(--cubic-bezier), color var(--animation-speed-fast) var(--cubic-bezier);
  /** in case of button or submit */
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  border: 0;
  cursor: pointer;
}
.button--white {
  --button-color: var(--primary-regular);
  --button-background-color: var(--neutral-white);
}
@media (hover: hover) {
  .button--white:hover {
    background: var(--primary-regular);
    color: var(--neutral-white);
  }
}
.button--primary {
  background-size: 100% 200%;
}
@media (hover: hover) {
  .button--primary:hover {
    background-position: 0 100%;
  }
}
.button--video {
  --button-color: var(--neutral-black);
  --button-background-color: transparent;
  padding: 0;
  gap: var(--spacing-s);
  text-decoration: underline;
}
[class*="--background"] .button--video {
  --button-color: var(--neutral-white);
}
@media (hover: hover) {
  .button--video:hover {
    text-decoration: none;
  }
  .button--video:hover svg {
    scale: 1.4;
  }
}
.button--video svg {
  inline-size: 2.5rem;
  block-size: 2.5rem;
  scale: 1;
  transition: scale var(--animation-speed-fast) var(--cubic-bezier);
}

.card {
  border-radius: var(--border-radius);
  background: var(--neutral-white);
  display: flex;
  flex-direction: column;
  border: 4px solid var(--neutral-white);
  position: relative;
  transition: all var(--animation-speed-fast) var(--cubic-bezier);
  scale: 1;
  box-shadow: 0 0 0 0 var(--neutral-white);
}
@media (hover: hover) {
  .card:is(a):hover {
    scale: 1.03;
    box-shadow: 0 30px 30px -20px var(--neutral-black-o-50);
  }
}
.card:is(a):has(:focus) {
  outline: 4px solid var(--primary-regular);
  scale: 1.03;
  box-shadow: 0 30px 30px -20px var(--neutral-black-o-50);
}
.card--person {
  justify-content: space-between;
}
.card--person .card__image {
  aspect-ratio: 1;
  order: -1;
}
.card--person picture {
  border-radius: calc(var(--border-radius) - 4px);
  overflow: hidden;
}
.card__image {
  border-top-left-radius: calc(var(--border-radius) - 4px);
  border-top-right-radius: calc(var(--border-radius) - 4px);
  inline-size: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.card__image-wrapper {
  order: -1;
  aspect-ratio: 2/1;
  inline-size: 100%;
}
.card__content {
  padding: var(--spacing-s);
}
.card__content__capacity {
  padding: var(--spacing-xxs) var(--spacing-xs);
  border-radius: 100px;
  background: var(--neutral-black-o-08);
  font-weight: 600;
}
.card__content__price {
  font-size: 1.5rem;
  color: var(--success-regular);
  font-weight: 600;
  margin-block-start: 0;
}
.card__content__view-link {
  text-align: center;
  margin-block-start: var(--spacing-xxs);
}
.card__link a:after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
}
.card__image-slider {
  --swiper-pagination-top: var(--spacing-xs);
  --swiper-pagination-bottom: auto;
  --swiper-theme-color: var(--primary-gradient);
  width: 100%;
}
.card__image-slider .swiper {
  width: 100%;
  block-size: 12.5rem;
  overflow: hidden;
  border-top-left-radius: calc(var(--border-radius) - 3px);
  border-top-right-radius: calc(var(--border-radius) - 3px);
}
.card__image-slider .swiper-pagination-bullets.swiper-pagination-horizontal.swiper-pagination {
  position: absolute;
  right: var(--spacing-xs);
  left: auto;
  inline-size: auto;
  background: var(--neutral-white);
  border-radius: 100px;
  display: flex;
  padding: 0.25rem;
}
.card__image-slider .card__image {
  block-size: 12.5rem;
}

.sitemap {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--spacing-xxs);
}

.banner__top-bar {
  font-size: 0.875rem;
  block-size: var(--top-bar-height);
  display: flex;
  align-items: center;
  inline-size: 100%;
}
@media (max-width: 75rem) {
  .banner__top-bar {
    background: var(--secondary-light);
    position: sticky;
    z-index: 10;
    inset-block-start: 0;
    border-block-start: 1px solid transparent;
  }
  .banner__top-bar .wpml-ls-item {
    display: none !important;
  }
}
@media (max-width: 30rem) {
  .banner__top-bar {
    font-size: 0.75rem;
  }
}
.banner__top-bar [class*=container] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--spacing-xs);
  font-weight: 500;
  inline-size: 100%;
}
body .banner__top-bar-usps {
  align-items: center;
  flex-direction: row;
  gap: var(--spacing-xs);
}
@media (max-width: 75rem) {
  body .banner__top-bar-usps {
    display: none;
  }
}
body .banner__top-bar-usps li.banner__top-bar-usp {
  align-items: center;
}
body .banner__top-bar-usps li.banner__top-bar-usp:before {
  margin-block-start: 0;
}
.banner__top-bar .highlight a, .banner__top-bar .highlight [role=banner] button, [role=banner] .banner__top-bar .highlight button {
  padding: calc(var(--spacing-xxs) / 1.5) var(--spacing-xs);
  font-weight: 700;
  border: 1px solid;
  border-radius: 5rem;
  display: flex;
}
@media (max-width: 30rem) {
  .banner__top-bar .highlight a, .banner__top-bar .highlight [role=banner] button, [role=banner] .banner__top-bar .highlight button {
    padding: 2px 8px;
  }
}
.banner__menu {
  display: flex;
  align-items: center;
  flex-direction: row;
  -moz-column-gap: var(--spacing-xs);
       column-gap: var(--spacing-xs);
  row-gap: 0.25rem;
  flex-wrap: wrap;
}

[role=banner] {
  --action-color: var(--neutral-white);
  --icon-color: var(--neutral-white);
  --link-color: var(--neutral-white);
  --link-color-hover: var(--neutral-white);
  block-size: var(--header-height);
  display: flex;
  align-items: center;
  inline-size: 100%;
  position: sticky;
  inset-block-start: -1px;
  border-block-start: 1px solid transparent;
  border-radius: var(--border-radius);
  z-index: 100;
  transition: all var(--animation-speed-slow) var(--cubic-bezier);
}
[role=banner] .header__logo svg {
  filter: brightness(0) invert(1);
}
[role=banner]:has(+ #main-content .block:first-child:is(.form)), [role=banner]:has(+ #main-content .block:first-child:is(.hero:not(.bg--blank))) {
  --action-color: var(--neutral-white);
  --icon-color: var(--neutral-white);
  --link-color: var(--neutral-white);
  --link-color-hover: var(--neutral-white);
  background: var(--black-gradient);
}
@media (max-width: 75rem) {
  [role=banner]:has(+ #main-content .block:first-child:is(.form)), [role=banner]:has(+ #main-content .block:first-child:is(.hero:not(.bg--blank))) {
    background: var(--primary-gradient);
  }
}
[role=banner]:has(+ #main-content .block:first-child:is(.form)) .header__logo svg, [role=banner]:has(+ #main-content .block:first-child:is(.hero:not(.bg--blank))) .header__logo svg {
  filter: brightness(0) invert(1);
}
[role=banner]:has(+ #main-content .block:first-child:is(.form))::after, [role=banner]:has(+ #main-content .block:first-child:is(.hero:not(.bg--blank)))::after {
  opacity: 0;
}
[role=banner]:has(+ #main-content .block:first-child:is(.form)).is-sticking::after, [role=banner]:has(+ #main-content .block:first-child:is(.hero:not(.bg--blank))).is-sticking::after {
  opacity: 1;
}
[role=banner]::after {
  content: "";
  position: absolute;
  inset: 0;
  background: var(--primary-gradient);
  z-index: -1;
  transition: all var(--animation-speed-slow) var(--cubic-bezier);
  border-top-left-radius: var(--border-radius);
  border-top-right-radius: var(--border-radius);
}
[role=banner].is-sticking {
  --action-color: var(--neutral-white);
  --icon-color: var(--neutral-white);
  --link-color: var(--neutral-white);
  --link-color-hover: var(--neutral-white);
}
[role=banner].is-sticking::after {
  border-radius: 0;
}
[role=banner]:has(.responsive-toggle[aria-expanded=true]) {
  border-radius: 0;
}
[role=banner]:has(+ #main-content > :not(.bg--blank):is(:first-child)) {
  border-bottom-left-radius: 0;
  border-bottom-right-radius: 0;
}
[role=banner]:has(+ #main-content > :not(.bg--blank):is(:first-child)) + #main-content > .hero--background:is(:first-child) {
  margin-block-start: 0;
}
@media (max-width: 75rem) {
  [role=banner] {
    inset-block-start: var(--top-bar-height);
    background: var(--primary-gradient);
    --action-color: var(--neutral-white);
    --icon-color: var(--neutral-white);
    --link-color: var(--neutral-white);
    --link-color-hover: var(--neutral-white);
  }
  [role=banner] .header__logo svg {
    filter: brightness(0) invert(1);
  }
}
@media (max-width: 75rem) {
  [role=banner] {
    border-radius: 0;
  }
}
@media (max-width: 55rem) {
  [role=banner].is-sticking {
    border-bottom-left-radius: 0 !important;
    border-bottom-right-radius: 0 !important;
  }
}
[role=banner] .container {
  gap: 1.5rem;
  display: flex;
  align-items: center;
  max-inline-size: 100%;
  inline-size: 100%;
}
@media (max-width: 75rem) {
  [role=banner] .container {
    justify-content: space-between;
  }
}
[role=banner] .container.menu-center .header__logo,
[role=banner] .container.menu-center .header__ctas {
  flex: 1;
}
[role=banner] .container.menu-center .header__ctas .menu {
  justify-content: flex-end;
}
[role=banner] .container.menu-left .header__ctas {
  margin-inline-start: auto;
}
[role=banner] .container.menu-right .header__logo {
  margin-inline-end: auto;
}
[role=banner] .container.logo-center .header__logo {
  order: 2;
}
@media (max-width: 75rem) {
  [role=banner] .container.logo-center .header__logo {
    order: 0;
  }
}
[role=banner] .container.logo-center .header__nav {
  order: 1;
}
[role=banner] .container.logo-center .header__nav,
[role=banner] .container.logo-center .header__ctas {
  flex: 1;
}
[role=banner] .container.logo-center .header__ctas {
  order: 3;
}
[role=banner] .container.logo-center .header__ctas .menu {
  justify-content: flex-end;
}
@media (max-width: 75rem) {
  [role=banner] .container.logo-center .header__ctas .menu {
    justify-content: flex-start;
  }
}
@media (max-width: 55rem) {
  [role=banner] .container {
    display: flex;
    justify-content: space-between;
    align-items: center;
  }
}
[role=banner] .header__logo {
  flex-shrink: 0;
  display: block;
  height: 1.75rem;
  width: auto;
}
[role=banner] .header__logo svg {
  height: 100%;
  width: auto;
}

.home #main-content .logos + .content [class*=container] {
  align-items: center;
}

.site-footer {
  --link-color: var(--neutral-white);
  --link-color-hover: var(--neutral-white);
}
.site-footer__top {
  background: var(--neutral-black);
  padding-block: var(--spacing-l);
  color: var(--neutral-grey);
}
@media (max-width: 55rem) {
  .site-footer__top {
    padding-block: var(--spacing-s);
  }
}
.site-footer__top [class*=container] {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  grid-gap: var(--spacing-l);
}
@media (max-width: 55rem) {
  .site-footer__top [class*=container] {
    grid-template-columns: 1fr;
    grid-gap: var(--spacing-s);
  }
}
.site-footer__top svg {
  height: 2.5rem;
  width: auto;
}
.site-footer__social {
  background: var(--primary-gradient);
  padding-block: var(--spacing-s);
  border-bottom-right-radius: var(--border-radius);
  border-bottom-left-radius: var(--border-radius);
}
@media (max-width: 75rem) {
  .site-footer__social {
    border-bottom-right-radius: 0;
    border-bottom-left-radius: 0;
  }
}
.site-footer__social [class*=container] {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: var(--spacing-xs);
}
.site-footer__copyright {
  padding-block: var(--spacing-xs);
  --link-color: var(--primary-regular);
  --link-color-hover: var(--primary-dark);
  font-size: 0.875rem;
}
.site-footer__copyright [class*=container] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: var(--spacing-xs);
}
@media (max-width: 55rem) {
  .site-footer__copyright [class*=container] {
    flex-direction: column;
  }
}
.site-footer__legal-menu ul {
  display: flex;
  align-items: center;
  gap: var(--spacing-xs);
}

.footer__title {
  padding-block-end: var(--spacing-s);
  margin-block-end: var(--spacing-s);
  position: relative;
}
.footer__title:after {
  content: "";
  position: absolute;
  inset-block-end: 0;
  inset-inline-start: 0;
  inline-size: 6.25rem;
  block-size: 0.25rem;
  background: var(--primary-dark);
}

.footer__social-link {
  transition: opacity var(--animation-speed-slow) var(--cubic-bezier), rotate var(--animation-speed-slow) var(--cubic-bezier);
  opacity: 1;
  rotate: 0;
  outline-offset: 5px;
  outline-color: var(--neutral-white);
}
.footer__social-link:focus, .footer__social-link:focus-visible {
  box-shadow: none;
}
@media (hover: hover) {
  .footer__social-link:hover {
    opacity: 0.6;
    rotate: 15deg;
  }
}
