@charset "UTF-8";
@font-face {
  font-family: scandinavian;
  font-display: swap;
  font-weight: 400;
  font-style: normal;
  src: url("/v2/cms-s4s-elements/assets/fonts/ScandinavianNew-Regular.woff2") format("woff2");
}
@font-face {
  font-family: scandinavian;
  font-display: swap;
  font-weight: 300;
  font-style: normal;
  src: url("/v2/cms-s4s-elements/assets/fonts/ScandinavianNewBook-Regular.woff2") format("woff2");
}
@font-face {
  font-family: scandinavian;
  font-display: swap;
  font-weight: 700;
  font-style: normal;
  src: url("/v2/cms-s4s-elements/assets/fonts/ScandinavianNew-Bold.woff2") format("woff2");
}
@font-face {
  font-family: scandinavian;
  font-display: swap;
  font-weight: 800;
  font-style: normal;
  src: url("/v2/cms-s4s-elements/assets/fonts/ScandinavianNew-Black.woff2") format("woff2");
}
@font-face {
  font-family: scandinavian-serif;
  font-display: swap;
  font-weight: 500;
  font-style: italic;
  src: url("/v2/cms-s4s-elements/assets/fonts/ScandinavianSerif-MediumItalic.woff2") format("woff2");
}
.sas-input[type=file] input[type=file].attached, .sas-input[data-type=file] input[type=file].attached, .sas-input[type=file] input[type=file]:not(.attached) + .label, .sas-input[data-type=file] input[type=file]:not(.attached) + .label, s4s-carousel .forward span,
s4s-carousel .rewind span {
  clip: rect(1px, 1px, 1px, 1px);
  height: 1px;
  overflow: hidden;
  position: absolute;
  white-space: nowrap;
  width: 1px;
}

.card.teaser-card.entry-card h2 {
  font-size: 1.5rem;
  line-height: 1.1666666667;
  font-weight: var(--font-weight-black);
  text-transform: uppercase;
  margin-top: var(--margin-quadra);
  margin-bottom: var(--margin-quadra);
}

.card.hotel-card h2, .card.teaser-card h2, .card.banner-card-link-list a {
  font-size: 1.125rem;
  line-height: 1.3333333333;
  font-weight: var(--font-weight-black);
  text-transform: uppercase;
  margin-top: var(--margin-quadra);
  margin-bottom: var(--margin-quadra);
}

.card.image-card h2, .card.banner-card-link-list th, .card.banner-card-mini .content {
  font-size: 0.875rem;
  line-height: 1.4285714286;
  font-weight: var(--font-weight-black);
  text-transform: uppercase;
  margin-top: var(--margin-triple);
  margin-bottom: var(--margin-normal);
}

.card.image-card .rich-text,
.card.image-card .rich-text p {
  font-size: 0.75rem;
  line-height: 1.3333333333;
  text-transform: initial;
}

:root {
  /* colors */
  --color-link: hsl(225 100% 47%);
  --color-link-hover: hsl(225 100% 40%);
  --color-text: hsl(0 0% 22%);
  --color-text-hover: hsl(0 0% 19%);
  --color-success: var(--color-green);
  --color-success-hover: var(--color-green-hover);
  --color-error: var(--color-red);
  --color-error-hover: var(--color-red-hover);
  --color-heading: var(--color-blue-3);
  --color-heading-hover: var(--color-blue-3-hover);
  --color-title: var(--color-blue-4);
  --color-title-hover: var(--color-blue-4-hover);
  --color-header: var(--color-white);
  --color-main-header: var(--color-white);
  --color-separator: var(--color-blue-1-3);
  --color-icon: var(--color-blue-2);
  --color-icon-hover: var(--color-blue-2-hover);
  --color-icon-bio: hsl(var(--bio-600));
  --color-brand: var(--color-blue-3);
  --color-accent: var(--color-peach-1);
  --color-brand-hover: var(--color-blue-3-hover);
  --color-focus-border: var(--color-blue-2);
  --color-outline-grouping: var(--color-gray-1-hover);
  --color-climate-lighter: hsl(var(--bio-100));
  --color-climate-light: hsl(var(--bio-200));
  --color-climate-strong: hsl(var(--bio-700));
  --color-light-on-dark: var(--color-white);
  --color-member: hsl(211 100% 45%);
  --color-member-hover: hsl(214 99% 41%);
  --color-silver: hsl(42 7% 73%);
  --color-silver-hover: hsl(43 7% 63%);
  --color-gold: hsl(34 57% 73%);
  --color-gold-hover: hsl(34 57% 65%);
  --color-diamond: hsl(0 0% 96%);
  --color-diamond-hover: hsl(30 5% 91%);
  --color-pandion: hsl(45 5% 15%);
  --color-pandion-hover: hsl(40 5% 12%);
  --color-bonus-gold: hsl(34 39% 53%);
  --color-eb-member: hsl(211 100% 45%);
  --color-eb-silver: hsl(42 7% 73%);
  --color-eb-gold: hsl(34 57% 73%);
  --color-eb-diamond: hsl(0 0% 96%);
  --color-eb-pandion: hsl(45 5% 15%);
  --color-eb-bonus-gold: hsl(34 39% 53%);
  --background-page: var(--color-gray-1);
  --background-container: var(--color-white);
  --background-header: var(--color-blue-3);
  --background-header-hover: var(--color-blue-3-hover);
  --background-icon-hover: var(--color-gray-1);
  --background-overlay: hsl(var(--black) / .5);
  --background-highlight: var(--color-blue-1-2);
  --background-teaser-text: var(--color-coral-1-2);
  /* splash */
  --color-splash: var(--color-blue-3);
  --background-splash: var(--color-coral-1-2);
  --font-splash: var(--font-h6);
  /* products */
  --color-product-go-light: var(--color-gray-1);
  --color-product-go-smart: var(--color-blue-1);
  --color-product-go-smart-bio: var(--color-climate-light);
  --color-product-plus-smart: var(--color-blue-2);
  --color-product-plus-pro: var(--color-blue-3);
  --color-product-plus-pro-bio: var(--color-climate-strong);
  /* box sizing */
  --margin-half: var(--unit-grid);
  --margin-normal: calc(var(--unit-grid) * 2);
  --margin-plus: calc(var(--unit-grid) * 3);
  --margin-double: calc(var(--margin-normal) * 2);
  --margin-triple: calc(var(--margin-normal) * 3);
  --margin-quadra: calc(var(--margin-normal) * 4);
  --margin-bottom-component: var(--margin-quadra);
  --gap-normal: calc(var(--margin-normal) * 2);
  --gap-form: var(--margin-normal);
  --border-radius-large: var(--margin-plus);
  --border-radius-normal: var(--margin-normal);
  --border-radius-small: calc(var(--margin-normal) / 2);
  --border-radius-pill: 100vmax;
  --width-page-wide: min(100% - var(--margin-quadra), 100rem);
  --width-page: min(100% - var(--margin-quadra), 72rem);
  --width-page-small: min(100% - var(--margin-quadra), 45rem);
  --width-content: min(100% - var(--margin-quadra), 62rem);
  --width-text-block: min(100% - var(--margin-quadra), 41rem);
  --width-hero-content: min(100% - var(--margin-quadra), 35rem);
  --width-small-block: min(100% - var(--margin-quadra), 30rem);
  /* borders and shadows */
  --color-border: var(--color-gray-2);
  --border-normal: 1px solid var(--color-border);
  --border-box: var(--border-normal);
  --shadow-normal: 0 calc(var(--margin-normal) / 4) calc(var(--margin-normal) / 2) hsl(var(--black) / .08), 0 0 var(--margin-normal) hsl(var(--black) / .1);
  /* typography */
  --sas-font-family: scandinavian, sans-serif;
  --sas-font-family-serif: scandinavian-serif;
  --font-size-base: 1rem;
  --font-weight-book: 300;
  --font-weight-normal: 400;
  --font-weight-bold: 700;
  --font-weight-black: 800;
  --font-base: var(--font-weight-normal) 1rem/1.5 var(--sas-font-family);
  --font-h1-hero: var(--font-weight-black) 2.5rem/1.2 var(--sas-font-family);
  --font-h1: var(--font-weight-black) 2rem/1.25 var(--sas-font-family);
  --font-h2: var(--font-weight-black) 1.5rem/1.1667 var(--sas-font-family);
  --font-h3: var(--font-weight-black) 1.125rem/1.3333 var(--sas-font-family);
  --font-h4: var(--font-weight-black) .875rem/1.4286 var(--sas-font-family);
  --font-h5: var(--font-weight-black) .75rem/1.3333 var(--sas-font-family);
  --font-h6: var(--font-weight-black) .625rem/1.2 var(--sas-font-family);
  --font-p3: var(--font-weight-normal) 1.5rem/1.5 var(--sas-font-family);
  --font-p2: var(--font-weight-normal) 1.125rem/1.3333 var(--sas-font-family);
  --font-p1: var(--font-weight-normal) .875rem/1.4286 var(--sas-font-family);
  --font-p1-sm: var(--font-weight-normal) .75rem/1.3333 var(--sas-font-family);
  --font-p1-xs: var(--font-weight-normal) .625rem/1.2 var(--sas-font-family);
  --font-p: var(--font-weight-normal) 1rem/1.5 var(--sas-font-family);
  --font-body-xlarge: var(--font-weight-normal) 1.5rem/1.5 var(--sas-font-family);
  --font-body-large: var(--font-weight-normal) 1.125rem/1.3333 var(--sas-font-family);
  --font-body-small: var(--font-weight-normal) .875rem/1.4286 var(--sas-font-family);
  --font-body-xsmall: var(--font-weight-normal) .75rem/1.3333 var(--sas-font-family);
  --font-body: var(--font-weight-normal) 1rem/1.5 var(--sas-font-family);
  /* forms */
  --background-form: var(--color-white);
  --background-input: var(--color-white);
  --background-input-hover: var(--color-gray-1);
  --background-input-disabled: var(--color-gray-1-hover);
  --background-checked: var(--color-blue-2);
  --border-input: 1px solid var(--color-gray-3);
  --height-text-input: 3.5rem;
  --border-radius-input: var(--border-radius-normal);
  --color-input: var(--color-text);
  --size-tooltip: calc(var(--height-text-input) - var(--margin-normal));
  --shadow-tooltip: 0 0 calc(var(--margin-normal) / 2) hsl(var(--black) / .3);
  --font-input: var(--font-base);
  /* buttons */
  --height-button: 3rem;
  --font-button: var(--font-weight-black) 1rem/1.25rem var(--sas-font-family);
  --background-button: var(--color-peach-1-2);
  --background-button-hover: var(--color-peach-1-2-hover);
  --background-button-active: var(--color-peach-1);
  --background-button-disabled: var(--color-gray-1-hover);
  --padding-button: var(--margin-normal) var(--margin-quadra);
  --border-button: none;
  --border-button-hover: var(--border-button);
  --border-button-active: var(--border-button);
  --border-button-disabled: none;
  --border-radius-button: var(--border-radius-pill);
  --color-button: var(--color-blue-4);
  --color-button-disabled: var(--color-text);
  /* cards */
  --gap-card: var(--margin-double);
  --background-card: var(--color-white);
  --min-width-card: 20rem;
  --width-card-double: min(100% - var(--margin-quadra), 47rem);
  --border-radius-card: var(--border-radius-large);
  /* cep */
  --cep-input-margin-mobile: var(--margin-plus);
  /* misc */
  --size-icon: calc(var(--unit-grid) * 5);
  --height-header: 4rem;
  --background-footer: var(--color-white);
  --background-modal: var(--color-white);
  --border-radius-modal: var(--border-radius-medium);
  --background-element-label: var(--color-blue-2);
  --ease-in-out-brand: cubic-bezier(.46, 0, .34, 1);
  /* a11y */
  --box-shadow-focus: 0 0 0 2px var(--background-form), 0 0 0 4px var(--color-focus-border);
  --outline-focus: 2px solid var(--color-focus-border);
  /* misc for functionality */
  --black: 0 0% 0%;
  --white: 0 0% 100%;
  --hero: 240 100% 30%;
  --brand: 239 100% 37%;
  --unit-grid: .25rem;
  --color-blue-1: hsl(200 57% 93%);
  --color-blue-1-hover: hsl(199 72% 86%);
  --color-blue-1-2: hsl(199 72% 86%);
  --color-blue-1-2-hover: hsl(199 66% 70%);
  --color-blue-1-3: hsl(199 66% 70%);
  --color-blue-1-3-hover: hsl(199 47% 62%);
  --color-blue-2: hsl(239 100% 37%);
  --color-blue-2-hover: hsl(240 100% 30%);
  --color-blue-3: hsl(240 100% 30%);
  --color-blue-3-hover: hsl(240 100% 20%);
  --color-blue-4: hsl(240 100% 20%);
  --color-blue-4-hover: hsl(240 100% 13%);
  --color-gray-1: hsl(0 0% 96%);
  --color-gray-1-hover: hsl(0 0% 91%);
  --color-gray-2: hsl(0 0% 85%);
  --color-gray-2-hover: hsl(0 0% 82%);
  --color-gray-3: hsl(0 0% 54%);
  --color-gray-3-hover: hsl(0 0% 45%);
  --color-gray-4: hsl(0 0% 45%);
  --color-gray-4-hover: hsl(0 0% 42%);
  --color-gray-5: hsl(0 0% 22%);
  --color-gray-5-hover: hsl(0 0% 19%);
  --color-peach-1: hsl(33 85% 87%);
  --color-peach-1-hover: hsl(33 84% 80%);
  --color-peach-1-2: hsl(29 100% 84%);
  --color-peach-1-2-hover: hsl(25 79% 76%);
  --color-coral-1: hsl(6 100% 80%);
  --color-coral-1-hover: hsl(6 100% 73%);
  --color-coral-1-2: hsl(6 100% 73%);
  --color-coral-1-2-hover: hsl(6 78% 65%);
  --color-black: hsl(0 0% 0%);
  --color-black-hover: hsl(0 0% 0%);
  --color-white: hsl(0 0% 100%);
  --color-white-hover: hsl(0 0% 100%);
  --color-green: hsl(151 49% 52%);
  --color-green-hover: hsl(153 51% 32%);
  --color-red: hsl(0 54% 49%);
  --color-red-hover: hsl(0 54% 39%);
  --bio-100: 154 34% 88%;
  --bio-200: 154 34% 78%;
  --bio-300: 154 34% 68%;
  --bio-400: 154 34% 58%;
  --bio-500: 154 34% 48%;
  --bio-600: 154 34% 38%;
  --bio-700: 154 34% 28%;
  --bio-800: 154 34% 18%;
  --bio-900: 154 34% 08%;
  --h-env: 154;
  --s-env: 34%;
  --l-light: 88%;
  --l-medium: 38%;
  --l-dark: 28%;
}
:root input:hover {
  --background-input: var(--background-input-hover);
}
:root input:checked:hover {
  --background-checked: var(--color-blue-2-hover);
}
:root :is(.btn-secondary, .button-secondary, .btn-tertiary, .button-tertiary, input[type=file]) {
  --background-button: transparent;
  --border-button: 2px solid var(--color-peach-1-2-hover);
  --background-button-hover: var(--color-peach-1-2-hover);
  --background-button-active: var(--color-peach-1);
  --padding-button: calc(var(--margin-normal) - 2px) calc(var(--margin-quadra) - 2px);
  --border-button-hover: 2px solid var(--color-peach-1-2-hover);
  --border-button-active: 2px solid var(--color-peach-1);
}
:root :where(.btn-tertiary, .button-tertiary) {
  --background-button: hsl(29 100% 84% / .2);
}
:root :where(.btn-sm, input[type=file]) {
  --font-button: var(--font-weight-black) .75rem/1.4286 var(--sas-font-family);
  --height-button: 2rem;
}
:root :where(.btn-md) {
  --font-button: var(--font-weight-black) .875rem/1.25rem var(--sas-font-family);
  --height-button: 2.5rem;
}

.color-white,
.color-light-on-dark {
  --color-heading: var(--color-light-on-dark);
  --color-title: var(--color-light-on-dark);
  --color-text: var(--color-light-on-dark);
  --color-link: var(--color-light-on-dark);
  --color-link-hover: var(--color-light-on-dark);
  --outline-focus: 2px solid var(--color-light-on-dark);
}

@media (min-width: 992px) {
  :root {
    --height-header: 4.675rem;
  }
}
app-upsell,
upsell-container {
  --font-p: var(--font-p1);
}

html {
  /* legacy - deprecated - do not add these */
  --page-background-color: var(--white-color);
  --heading-color: var(--b4-color);
  --brand-color: var(--b3-color);
  --header-background-color: var(--b3-color);
  --menu-hover-color: var(--b3-dark-color);
  --overlay-color: hsl(var(--black) / .5);
  --modal-background: var(--overlay-color);
  --overlay-background: var(--overlay-color);
  --overlay-new-color: hsl(var(--black) / .5);
  --brand-80-color: hsl(var(--brand) / .8);
  --font-h1-large: var(--font-weight-black) 2.5rem/1.2 var(--sas-font-family);
  --font-h1-small: var(--font-weight-black) 2rem/1.25 var(--sas-font-family);
  --page-width: min(100% - var(--margin-quadra), 72rem);
  --content-width: min(100% - var(--margin-quadra), 62rem);
  --text-block-width: min(100% - var(--margin-quadra), 40rem);
  --hero-content-width: min(100% - var(--margin-quadra), 35rem);
  --small-block-width: min(100% - var(--margin-quadra), 30rem);
  --component-bottom-margin: calc(var(--margin-normal) * 4);
  --button-color: var(--b1-color);
  --button-hover-color: var(--b1-dark-color);
  --button-active-color: var(--b1-color);
  --button-disabled-color: var(--g4-color);
  --card-background-color: var(--white-color);
  --form-background: var(--white-color);
  --text-input-height: 3.5rem;
  --input-color: var(--text-color);
  --input-background: var(--white-color);
  --tooltip-size: calc(var(--height-text-input) - var(--margin-normal));
  --icon-size: 1.25rem;
  --header-height: 4rem;
  --b0-color: hsl(206 93% 95%);
  --b0: 206 93% 95%;
  --b0-dark-color: hsl(207 92% 90%);
  --b0-dark: 207 92% 90%;
  --b1-color: hsl(211 100% 45%);
  --b1: 211 100% 45%;
  --b1-dark-color: hsl(214 99% 41%);
  --b1-dark: 214 99% 41%;
  --b1-darker-color: hsl(214 99% 35%);
  --b1-darker: 214 99% 35%;
  --b2-color: hsl(225 100% 40%);
  --b2: 225 100% 40%;
  --b2-dark-color: hsl(230 100% 36%);
  --b2-dark: 230 100% 36%;
  --b3-color: hsl(240 100% 30%);
  --b3: 240 100% 30%;
  --b3-dark-color: hsl(240 97% 25%);
  --b3-dark: 240 97% 25%;
  --b4-color: hsl(240 100% 20%);
  --b4: 240 100% 20%;
  --b4-dark-color: hsl(241 97% 14%);
  --b4-dark: 241 97% 14%;
  --b5-color: hsl(240 100% 10%);
  --b5: 240 100% 10%;
  --b5-dark-color: hsl(240 100% 6%);
  --b5-dark: 240 100% 6%;
  --g0-color: hsl(0 0% 96%);
  --g0: 0 0% 96%;
  --g0-dark-color: hsl(30 5% 91%);
  --g0-dark: 30 5% 91%;
  --g1-color: hsl(45 5% 83%);
  --g1: 45 5% 83%;
  --g1-dark-color: hsl(48 4% 75%);
  --g1-dark: 48 4% 75%;
  --g2-color: hsl(42 7% 73%);
  --g2: 42 7% 73%;
  --g2-dark-color: hsl(43 7% 63%);
  --g2-dark: 43 7% 63%;
  --g3-color: hsl(39 7% 63%);
  --g3: 39 7% 63%;
  --g3-dark-color: hsl(39 7% 51%);
  --g3-dark: 39 7% 51%;
  --g4-color: hsl(39 6% 43%);
  --g4: 39 6% 43%;
  --g4-dark-color: hsl(40 6% 38%);
  --g4-dark: 40 6% 38%;
  --g5-color: hsl(36 4% 24%);
  --g5: 36 4% 24%;
  --g5-dark-color: hsl(45 5% 15%);
  --g5-dark: 45 5% 15%;
  --r-color: hsl(3 84% 49%);
  --r-dark-color: hsl(0 82% 43%);
  --s1-color: hsl(36 44% 63%);
  --s1-dark-color: hsl(34 39% 53%);
  --s2-color: hsl(37 44% 40%);
  --s2-dark-color: hsl(37 49% 35%);
  --g-color: hsl(120 54% 41%);
  --g-dark-color: hsl(120 65% 31%);
  --profile-s-color: hsl(45 5% 83%);
  --profile-b-color: hsl(227 100% 39%);
  --profile-g-color: hsl(36 44% 63%);
  --profile-d-color: hsl(0 0% 85%);
  --profile-p-color: hsl(45 5% 15%);
  --white-color: hsl(0 0% 100%);
  --black-color: hsl(0 0% 0%);
  --text-color: hsl(36 4% 24%);
  --link-color: hsl(214 99% 41%);
  --link-hover-color: hsl(214 99% 31%);
}
@media (min-width: 992px) {
  html {
    --header-height: 4.675rem;
  }
}

.sas-input[type=file] input[type=file].attached, .sas-input[data-type=file] input[type=file].attached, .sas-input[type=file] input[type=file]:not(.attached) + .label, .sas-input[data-type=file] input[type=file]:not(.attached) + .label, s4s-carousel .forward span,
s4s-carousel .rewind span {
  clip: rect(1px, 1px, 1px, 1px);
  height: 1px;
  overflow: hidden;
  position: absolute;
  white-space: nowrap;
  width: 1px;
}

.card.teaser-card.entry-card h2 {
  font-size: 1.5rem;
  line-height: 1.1666666667;
  font-weight: var(--font-weight-black);
  text-transform: uppercase;
  margin-top: var(--margin-quadra);
  margin-bottom: var(--margin-quadra);
}

.card.hotel-card h2, .card.teaser-card h2, .card.banner-card-link-list a {
  font-size: 1.125rem;
  line-height: 1.3333333333;
  font-weight: var(--font-weight-black);
  text-transform: uppercase;
  margin-top: var(--margin-quadra);
  margin-bottom: var(--margin-quadra);
}

.card.image-card h2, .card.banner-card-link-list th, .card.banner-card-mini .content {
  font-size: 0.875rem;
  line-height: 1.4285714286;
  font-weight: var(--font-weight-black);
  text-transform: uppercase;
  margin-top: var(--margin-triple);
  margin-bottom: var(--margin-normal);
}

.card.image-card .rich-text,
.card.image-card .rich-text p {
  font-size: 0.75rem;
  line-height: 1.3333333333;
  text-transform: initial;
}

* {
  box-sizing: border-box;
}

:where(.error) {
  color: var(--color-error);
}
:where(.error) .sas-icon {
  color: var(--color-error);
}

.reset {
  all: unset;
  list-style: none;
  border-radius: none;
}
.reset:hover, .reset:focus, .reset:disabled {
  color: unset;
  background: unset;
}
.reset::before, .reset::after {
  content: none;
}

:focus-visible {
  outline: var(--outline-focus);
  outline-offset: 2px;
}

:active {
  outline-color: transparent;
}

html {
  overflow: auto;
}

body {
  font-family: var(--sas-font-family);
  background-color: var(--background-page);
  color: var(--color-text);
  isolation: isolate;
  overflow: visible;
  margin: 0;
  padding: 0;
  display: flex;
  flex-flow: column nowrap;
  min-height: 100vh;
}
body:is(.discover, .page-customer-service, .page-eurobonus) {
  --background-page: var(--color-white);
  --background-form: var(--color-gray-1);
}
body.locked {
  position: fixed;
  width: 100vw;
  height: 100vh;
  overflow: hidden;
}

html,
body {
  font-weight: var(--font-weight-normal);
  max-width: 100vw;
}

.sas-container {
  width: var(--width-page);
  margin: 0 auto;
}
.sas-container-small {
  width: var(--width-content);
}
.sas-container-smaller {
  width: var(--width-text-block);
}
.sas-container .sas-container {
  --width-page: 100%;
}
.sas-container .sas-container-small {
  --width-content: 100%;
}
.sas-container .sas-container-smaller {
  --width-text-block: 100%;
}

main {
  flex-grow: 1;
}

.sas-main {
  margin-block: var(--margin-quadra);
}

.main-info {
  width: var(--width-text-block);
}

.hidden,
[hidden] {
  display: none !important;
}

.padded {
  padding-inline: var(--margin-double);
}

@media (max-width: 767px) {
  .padded-mobile {
    padding-inline: var(--margin-double);
  }
}

.sr-hidden {
  clip: rect(1px, 1px, 1px, 1px);
  height: 1px;
  overflow: hidden;
  position: absolute;
  white-space: nowrap;
  width: 1px;
}

a.sr-hidden:focus {
  position: relative;
  clip: auto;
  width: auto;
  height: auto;
  overflow: auto;
}

.flexbox {
  display: flex;
  align-items: baseline;
}
.flexbox:has(input), .flexbox:has(input) > * {
  line-height: var(--margin-triple);
}
.flexbox input {
  align-self: center;
}

.flexbox-responsive {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  align-self: stretch;
  flex-wrap: wrap;
}
@media (min-width: 768px) {
  .flexbox-responsive {
    flex-wrap: nowrap;
  }
}
.flexbox-responsive .required {
  font-size: 0.875rem;
  line-height: 1.4285714286;
  margin: 0 0 0 auto;
}

.flexbox-column {
  display: flex;
  flex-direction: column;
}

:where(img) {
  max-width: 100%;
}

.text-right {
  text-align: right !important;
}

.text-center {
  text-align: center !important;
}

.block-element {
  display: block !important;
}
.block-element.btn {
  display: flex !important;
}

.inline-element {
  display: inline-block !important;
}
.inline-element.btn {
  display: inline-flex !important;
}

.info-block {
  padding: var(--margin-double);
  background: var(--g0-color);
}

hr {
  background: var(--color-separator);
  height: 1px;
  border: 0;
  margin-block: var(--margin-double);
}

address {
  font-style: normal;
}

.copy-me {
  cursor: copy;
}

:is(.call-to-action, .form-actions, .modal-actions, .sas-form-buttons) {
  display: flex;
  justify-content: flex-end;
  flex-direction: column-reverse;
  align-items: stretch;
  gap: var(--gap-normal);
}
:is(.call-to-action, .form-actions, .modal-actions, .sas-form-buttons) .btn-link,
:is(.call-to-action, .form-actions, .modal-actions, .sas-form-buttons) .link {
  align-self: center;
}
@media (min-width: 768px) {
  :is(.call-to-action, .form-actions, .modal-actions, .sas-form-buttons) {
    flex-direction: row;
    align-items: baseline;
  }
  :is(.call-to-action, .form-actions, .modal-actions, .sas-form-buttons) button {
    margin: 0;
    align-items: center;
  }
}

.page-content {
  font-weight: var(--font-weight-book);
}

.rich-text {
  font-weight: var(--font-weight-book);
  margin-bottom: var(--margin-double);
}

::backdrop {
  background: hsla(0, 0%, 0%, 0.5);
}

:is(.light-on-dark, .white-color, .color-white, s4s-eb-module) {
  --color-text: var(--color-light-on-dark);
  --color-link: var(--color-light-on-dark);
  --color-link-hover: var(--color-light-on-dark);
  --color-icon: var(--color-light-on-dark);
  --color-icon-hover: var(--color-light-on-dark);
  --color-heading: var(--color-light-on-dark);
  --color-title: var(--color-light-on-dark);
  --outline-focus: 2px solid var(--color-light-on-dark);
}

.sas-input[type=file] input[type=file].attached, .sas-input[data-type=file] input[type=file].attached, .sas-input[type=file] input[type=file]:not(.attached) + .label, .sas-input[data-type=file] input[type=file]:not(.attached) + .label, s4s-carousel .forward span,
s4s-carousel .rewind span {
  clip: rect(1px, 1px, 1px, 1px);
  height: 1px;
  overflow: hidden;
  position: absolute;
  white-space: nowrap;
  width: 1px;
}

.card.teaser-card.entry-card h2 {
  font-size: 1.5rem;
  line-height: 1.1666666667;
  font-weight: var(--font-weight-black);
  text-transform: uppercase;
  margin-top: var(--margin-quadra);
  margin-bottom: var(--margin-quadra);
}

.card.hotel-card h2, .card.teaser-card h2, .card.banner-card-link-list a {
  font-size: 1.125rem;
  line-height: 1.3333333333;
  font-weight: var(--font-weight-black);
  text-transform: uppercase;
  margin-top: var(--margin-quadra);
  margin-bottom: var(--margin-quadra);
}

.card.image-card h2, .card.banner-card-link-list th, .card.banner-card-mini .content {
  font-size: 0.875rem;
  line-height: 1.4285714286;
  font-weight: var(--font-weight-black);
  text-transform: uppercase;
  margin-top: var(--margin-triple);
  margin-bottom: var(--margin-normal);
}

.card.image-card .rich-text,
.card.image-card .rich-text p {
  font-size: 0.75rem;
  line-height: 1.3333333333;
  text-transform: initial;
}

.sas-accordion {
  display: grid;
  border-bottom: 1px solid var(--color-separator);
}
.sas-accordion .accordion-btn {
  display: grid;
  background-color: transparent;
  transition: 0.3s background-color var(--ease-in-out-brand);
}
.sas-accordion .accordion-btn:hover, .sas-accordion .accordion-btn:focus {
  background-color: var(--background-input-hover);
}
.sas-accordion .btn-toggle {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: var(--gap-normal);
  align-items: center;
  font-weight: var(--font-weight-normal);
  text-transform: none;
  border: 0 solid hsla(0, 0%, 0%, 0);
  border-radius: 0;
  background: transparent;
  color: var(--color-text);
  margin: 0;
  padding: var(--margin-double);
  height: auto;
  text-align: left;
}
.sas-accordion .btn-toggle[aria-expanded=true] {
  font-weight: var(--font-weight-bold);
  border-bottom: 1px solid var(--color-blue-1-2);
}
.sas-accordion .btn-toggle[aria-expanded=true]::after {
  transform: rotate(0);
}
.sas-accordion .btn-toggle:hover, .sas-accordion .btn-toggle:active, .sas-accordion .btn-toggle:focus {
  background: transparent;
  color: var(--color-text);
}
.sas-accordion .btn-toggle .toggler-label {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: var(--gap-normal);
}
.sas-accordion .btn-toggle .toggler-label .price-range,
.sas-accordion .btn-toggle .toggler-label .sub-label {
  min-width: -moz-max-content;
  min-width: max-content;
  font-weight: var(--font-weight-normal);
}
.sas-accordion .btn-toggle::after {
  content: url('data:image/svg+xml;utf8,<svg height="20" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"><path d="m5.11740785 14.180035-2.11740785-2.1252256 7.0808568-7.0548094 7.0365511 7.0106666-2.1174079 2.1252256-4.9191432-4.90104774z" fill="hsl( 0 0% 22% )" fill-rule="evenodd"/></svg>');
  width: var(--size-icon);
  height: var(--size-icon);
  transform: rotate(180deg);
  align-self: center;
}
.sas-accordion .btn-toggle h1,
.sas-accordion .btn-toggle h2,
.sas-accordion .btn-toggle h3,
.sas-accordion .btn-toggle h4 {
  margin: 0;
}
.sas-accordion .accordion-content {
  display: grid;
  grid-template-rows: 0fr;
  overflow: hidden;
}
.sas-accordion .accordion-content[aria-hidden=false] {
  grid-template-rows: 1fr;
}
.sas-accordion .accordion-content > div {
  overflow: hidden;
}
.sas-accordion .slot-content {
  margin: var(--margin-double);
}

s4s-accordion {
  display: grid;
  position: relative;
  transition: 0.3s 0.1s opacity var(--ease-in-out-brand);
}
s4s-accordion:defined {
  opacity: 1;
}
s4s-accordion:not(:defined) {
  opacity: 0;
}

@media (prefers-reduced-motion: no-preference) {
  .accordion-btn {
    transition: 0.3s background-color var(--ease-in-out-brand);
  }
  .accordion-content {
    transition: 0.3s grid-template-rows var(--ease-in-out-brand);
  }
  .toggler-label::after {
    transition: transform 0.25s var(--ease-in-out-brand);
  }
  .btn-toggle {
    transition: 0s 0.3s border;
  }
  .btn-toggle[aria-expanded=true] {
    transition: 0s 0s border;
  }
}
.sas-input[type=file] input[type=file].attached, .sas-input[data-type=file] input[type=file].attached, .sas-input[type=file] input[type=file]:not(.attached) + .label, .sas-input[data-type=file] input[type=file]:not(.attached) + .label, s4s-carousel .forward span,
s4s-carousel .rewind span {
  clip: rect(1px, 1px, 1px, 1px);
  height: 1px;
  overflow: hidden;
  position: absolute;
  white-space: nowrap;
  width: 1px;
}

.card.teaser-card.entry-card h2 {
  font-size: 1.5rem;
  line-height: 1.1666666667;
  font-weight: var(--font-weight-black);
  text-transform: uppercase;
  margin-top: var(--margin-quadra);
  margin-bottom: var(--margin-quadra);
}

.card.banner-card-link-list a, .card.teaser-card h2, .card.hotel-card h2 {
  font-size: 1.125rem;
  line-height: 1.3333333333;
  font-weight: var(--font-weight-black);
  text-transform: uppercase;
  margin-top: var(--margin-quadra);
  margin-bottom: var(--margin-quadra);
}

.card.banner-card-mini .content, .card.banner-card-link-list th, .card.image-card h2 {
  font-size: 0.875rem;
  line-height: 1.4285714286;
  font-weight: var(--font-weight-black);
  text-transform: uppercase;
  margin-top: var(--margin-triple);
  margin-bottom: var(--margin-normal);
}

.card.image-card .rich-text,
.card.image-card .rich-text p {
  font-size: 0.75rem;
  line-height: 1.3333333333;
  text-transform: initial;
}

.card.banner-card {
  font-weight: var(--font-weight-black);
  flex: 0 0 100%;
  position: relative;
  text-decoration: none;
  display: block;
  text-align: center;
  text-transform: uppercase;
}

s4s-banner {
  display: block;
}
s4s-banner > a {
  text-decoration: none;
  color: inherit;
  height: 100%;
}

.card {
  margin-bottom: var(--margin-bottom-component);
  border-radius: var(--border-radius-card);
  border: 1px solid var(--color-gray-1-hover);
  background-color: var(--color-white);
  overflow: hidden;
  position: relative;
  z-index: 0;
  display: flex;
  color: var(--color-text);
  text-decoration: none;
}
.card .content {
  padding: 16px;
  text-align: center;
  position: relative;
  z-index: 2;
}
.card .sas-image {
  z-index: 1;
}
.card.banner-hero .content, .card.banner-card .content {
  display: flex;
  flex-direction: column;
  align-items: center;
}
.card.banner-hero h1,
.card.banner-hero h2,
.card.banner-hero h3, .card.banner-card h1,
.card.banner-card h2,
.card.banner-card h3 {
  margin: 0 0 var(--margin-double);
  padding: calc(var(--margin-normal) - 2) var(--margin-normal);
  color: var(--color-white);
  background: var(--color-blue-4);
}
.card.banner-hero h1:last-child,
.card.banner-hero h2:last-child,
.card.banner-hero h3:last-child, .card.banner-card h1:last-child,
.card.banner-card h2:last-child,
.card.banner-card h3:last-child {
  margin-bottom: 0;
}
.card.banner-hero {
  position: relative;
  height: 260px;
  background: var(--color-gray-1-hover);
  display: block;
  clear: both;
}
.card.banner-hero .content {
  width: 100%;
  height: 100%;
  display: flex;
  flex-flow: column wrap;
  align-items: center;
  justify-content: center;
}
.card.banner-card-mini {
  justify-content: center;
  padding: 0;
  color: var(--color-white);
  background: var(--color-blue-3);
}
.card.banner-card-mini:hover {
  background: var(--color-blue-3-hover);
}
.card.banner-card-mini .icons {
  display: flex;
  position: absolute;
  top: 50%;
  left: var(--margin-normal);
  z-index: 1;
  transform: translateY(-50%);
}
.card.banner-card-mini .icons .sas-icon {
  font-size: 2.375rem;
}
.card.banner-card-mini .sas-icon {
  color: var(--color-white);
}
.card.banner-card-mini .content {
  margin: 0;
  padding: var(--margin-normal);
  display: flex;
  justify-content: center;
  align-items: center;
}
.card.banner-card-link-list {
  flex-direction: column;
}
.card.banner-card-link-list .sas-image {
  flex-grow: 1;
  height: 172px;
}
.card.banner-card-link-list .content {
  padding: 0;
}
.card.banner-card-link-list table {
  width: 100%;
  border-collapse: collapse;
  margin: 0;
  padding: 0;
  border: 0;
}
.card.banner-card-link-list th,
.card.banner-card-link-list td {
  margin: 0;
  padding: 0;
  text-align: left;
}
.card.banner-card-link-list th:last-child,
.card.banner-card-link-list td:last-child {
  text-align: right;
}
.card.banner-card-link-list th {
  background: var(--color-blue-4);
  color: var(--white-color);
  padding: var(--margin-normal);
}
.card.banner-card-link-list a {
  background: var(--color-blue-4);
  color: var(--color-white);
  padding: var(--margin-normal);
  display: block;
  text-decoration: none;
}
.card.banner-card-link-list tr:hover a {
  background: var(--color-blue-4-hover);
}
.card.teaser-card {
  display: flex;
  flex-direction: column;
}
.card.teaser-card .content {
  display: flex;
  flex-direction: column;
  flex-grow: 1;
  border-radius: var(--border-radius-normal);
  margin: calc(-1 * var(--margin-normal) * 6) var(--margin-double) var(--margin-double);
  background: var(--color-white);
  text-align: left;
}
.card.teaser-card .content i {
  font: var(--font-p1-xs);
  display: inline-block;
  font-style: normal;
}
.card.teaser-card .rich-text:not(:last-child) {
  margin-bottom: var(--margin-double);
}
.card.teaser-card button {
  align-self: flex-end;
}
@media (min-width: 992px) {
  .card.teaser-card {
    flex-direction: row;
  }
  .card.teaser-card .sas-image {
    height: auto;
    padding-bottom: 0;
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    width: 42%;
    flex-shrink: 0;
  }
  .card.teaser-card .content {
    margin: var(--margin-double) 0 var(--margin-double) calc(42% - var(--margin-normal) * 6);
  }
}
.card.teaser-card.entry-card .sas-image {
  min-height: 240px;
}
.card.teaser-card.entry-card .content {
  text-align: center;
  color: var(--color-blue-4);
}
.card.hotel-card {
  border: 1px solid var(--color-gray-1);
}
.card.hotel-card a {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  width: 100%;
  text-decoration: none;
}
.card.hotel-card a:hover .sas-image {
  inset: 0;
}
.card.hotel-card .content {
  color: var(--color-blue-4);
}
.card.hotel-card .sas-image {
  position: relative;
  max-height: 180px;
}
.card.hotel-card .hotel-info {
  display: flex;
  flex-direction: column;
  text-align: left;
  margin-top: var(--margin-double);
  color: var(--color-gray-5);
}
.card.hotel-card .hotel-info .rating {
  display: flex;
  margin: var(--margin-normal) 0;
}
.card.hotel-card .hotel-info h3,
.card.hotel-card .hotel-info h4 {
  margin-bottom: 0;
  align-self: flex-end;
}
.card.hotel-card .hotel-info .strikethrough {
  text-decoration: line-through;
}
.card.image-card {
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  color: var(--color-white);
  height: 250px;
}
.card.image-card .sas-image {
  position: absolute;
  inset: 0;
}
.card.image-card .content {
  flex-direction: column;
  background: linear-gradient(to bottom, hsl(var(--black)/0), hsl(var(--black)/0.72) 37%, var(--color-black));
  text-align: left;
}
.card.image-card .rich-text {
  /* stylelint-disable value-no-vendor-prefix */
  overflow: hidden;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  /* stylelint-enable value-no-vendor-prefix */
}
.card.image-card .rich-text,
.card.image-card .rich-text p {
  font: var(--font-p);
}
.card.image-card .a {
  color: inherit;
  text-decoration: underline;
  display: flex;
  align-items: center;
}
.card.image-card .a .sas-icon {
  margin: -2px;
  height: 20px;
  width: 20px;
}
.card.banner-card-medium {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  color: var(--white-color);
}
.card.banner-card-medium.bg-b3:hover, .card.banner-card-medium.bg-blue-3:hover {
  background-color: var(--color-blue-3-hover);
}
.card.banner-card-medium.bg-b4:hover, .card.banner-card-medium.bg-b5:hover, .card.banner-card-medium.bg-blue-4:hover {
  background-color: var(--color-blue-4-hover);
}
.card.video-card {
  flex-grow: 1;
}
.card.video-card .content {
  display: none;
}
.card.campaign-card {
  height: 400px;
  padding: 32px;
}
.card.campaign-card h2 {
  font-size: 1rem;
  background: var(--color-red);
  margin-bottom: -8px;
  position: relative;
  z-index: 1;
}
.card.campaign-card h3 {
  padding: 32px;
  background-color: hsl(var(--hero)/0.75);
}
.card.destination-card {
  color: var(--color-blue-3);
  display: flex;
  flex-direction: column;
  min-height: 96px;
  transition: filter 0.5s;
}
@media (min-width: 768px) {
  .card.destination-card {
    min-height: 110px;
  }
}
.card.destination-card h2 {
  font-size: 0.875rem;
  margin-bottom: calc(var(--margin-normal) - 2);
  flex-grow: 1;
}
@media (min-width: 768px) {
  .card.destination-card h2 {
    font-size: 1.125rem;
  }
}
.card.destination-card h3 {
  font-size: 0.875rem;
  margin: 0;
  flex-grow: 0;
}
.card.destination-card .sas-image {
  height: auto;
  padding-bottom: 0;
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  width: 32%;
  flex-shrink: 0;
}
@media (min-width: 768px) {
  .card.destination-card .sas-image {
    width: 42%;
  }
}
.card.destination-card .content {
  display: flex;
  flex-direction: column;
  text-align: left;
  padding: var(--margin-double) var(--margin-double) var(--margin-double) calc(32% + var(--margin-double));
  height: 100%;
}
@media (min-width: 768px) {
  .card.destination-card .content {
    padding: var(--margin-double) var(--margin-double) var(--margin-double) calc(42% + var(--margin-normal) * 2);
  }
}
.card.banner-hero-v2 {
  display: flex;
  align-items: center;
  justify-content: center;
}
@media (min-width: 768px) {
  .card.banner-hero-v2 {
    min-height: 260px;
  }
}
@media (min-width: 992px) {
  .card.banner-hero-v2 {
    min-height: 360px;
  }
}
.card.banner-hero-v2 > a {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-grow: 1;
  width: 100%;
  height: 100%;
  padding: 16px;
}
.card.banner-hero-v2 h1,
.card.banner-hero-v2 h2,
.card.banner-hero-v2 h3 {
  background: none;
  margin-bottom: 12px;
  color: var(--color-white);
}
.card.banner-hero-v2 .topheading {
  font-size: 0.875rem;
  position: absolute;
  top: -10px;
  left: 50%;
  transform: translateX(-50%);
  padding: 4px 16px;
  margin: 0;
  background: var(--color-red);
  color: var(--color-white);
}
.card.banner-hero-v2 p {
  font-size: 1rem;
  font-weight: 600;
  margin-bottom: 16px;
}
.card.banner-hero-v2 .content {
  width: auto;
  height: auto;
  color: var(--color-white);
  background: hsl(var(--hero)/0.75);
  border-radius: 4px;
}
@media (min-width: 768px) {
  .card.banner-hero-v2 .content {
    min-width: 600px;
    padding: 32px 48px;
  }
}

@media (min-width: 768px) {
  .card h1 {
    font-size: 2.5rem;
  }
  .card h2 {
    font-size: 2rem;
  }
  .card h3 {
    font-size: 1.5rem;
  }
  .card h4 {
    font-size: 1rem;
  }
}
.sas-cardgroup {
  display: flex;
  gap: var(--margin-double);
  flex-wrap: wrap;
  margin: 0;
}
@media (min-width: 1168px) {
  .sas-cardgroup {
    margin: 0 0 var(--margin-double);
  }
}
.sas-cardgroup .sas-cardcolumn {
  display: flex;
  gap: var(--margin-double);
  flex-direction: column;
  flex-grow: 1;
  flex-basis: min(19rem, 100%);
  margin: 0;
}
.sas-cardgroup .card {
  flex-grow: 1;
  flex-basis: min(19rem, 100%);
  margin: 0;
}
.sas-cardgroup .card.teaser-card {
  flex-direction: column;
}
.sas-cardgroup .card.teaser-card .sas-image {
  position: relative;
  width: 100%;
}
.sas-cardgroup .card.teaser-card .content {
  margin: -48px var(--margin-double) var(--margin-double);
}

.sas-input[type=file] input[type=file].attached, .sas-input[data-type=file] input[type=file].attached, .sas-input[type=file] input[type=file]:not(.attached) + .label, .sas-input[data-type=file] input[type=file]:not(.attached) + .label, s4s-carousel .forward span,
s4s-carousel .rewind span {
  clip: rect(1px, 1px, 1px, 1px);
  height: 1px;
  overflow: hidden;
  position: absolute;
  white-space: nowrap;
  width: 1px;
}

.card.teaser-card.entry-card h2 {
  font-size: 1.5rem;
  line-height: 1.1666666667;
  font-weight: var(--font-weight-black);
  text-transform: uppercase;
  margin-top: var(--margin-quadra);
  margin-bottom: var(--margin-quadra);
}

.card.banner-card-link-list a, .card.teaser-card h2, .card.hotel-card h2 {
  font-size: 1.125rem;
  line-height: 1.3333333333;
  font-weight: var(--font-weight-black);
  text-transform: uppercase;
  margin-top: var(--margin-quadra);
  margin-bottom: var(--margin-quadra);
}

.card.banner-card-mini .content, .card.banner-card-link-list th, .card.image-card h2 {
  font-size: 0.875rem;
  line-height: 1.4285714286;
  font-weight: var(--font-weight-black);
  text-transform: uppercase;
  margin-top: var(--margin-triple);
  margin-bottom: var(--margin-normal);
}

.card.image-card .rich-text,
.card.image-card .rich-text p {
  font-size: 0.75rem;
  line-height: 1.3333333333;
  text-transform: initial;
}

s4s-card {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  align-content: flex-start;
  gap: var(--margin-quadra);
  margin-bottom: var(--margin-bottom-component);
}
s4s-card > :is(a, #nothing) {
  display: contents;
  color: var(--color-text);
}
s4s-card > :is(a, #nothing)::after {
  content: none;
}
s4s-card > :is(a, #nothing) > * {
  cursor: pointer;
}
s4s-card button,
s4s-card .btn {
  justify-self: end;
  align-self: center;
}
s4s-card.reverse {
  flex-direction: row-reverse;
}
s4s-card s4s-image,
s4s-card s4s-video,
s4s-card .card-content {
  flex: 1 0 min(100%, 20rem);
}
s4s-card s4s-image > :last-child,
s4s-card s4s-video > :last-child,
s4s-card .card-content > :last-child {
  margin-bottom: 0;
}
s4s-card s4s-image s4s-splash,
s4s-card s4s-video s4s-splash,
s4s-card .card-content s4s-splash {
  position: absolute;
  top: 0;
  right: 0;
}
s4s-card s4s-image s4s-splash > div,
s4s-card s4s-video s4s-splash > div,
s4s-card .card-content s4s-splash > div {
  transform-origin: top right;
}
s4s-card s4s-image,
s4s-card s4s-video {
  display: grid;
  position: relative;
}
s4s-card s4s-image > *,
s4s-card s4s-video > * {
  place-items: center;
}
s4s-card:is(.startpage-hero-card) {
  display: grid;
  grid-template-areas: stack;
  position: relative;
}
s4s-card:is(.startpage-hero-card) > * {
  grid-area: stack;
}
s4s-card:is(.startpage-hero-card) s4s-image {
  isolation: isolate;
}
s4s-card:is(.startpage-hero-card) .card-content {
  display: grid;
  grid-template-areas: stick;
  align-self: self-end;
  margin: auto var(--margin-quadra) var(--margin-quadra);
  z-index: 1;
  height: -moz-min-content;
  height: min-content;
}
s4s-card:is(.startpage-hero-card) .card-content > * {
  grid-area: stick;
}
s4s-card:is(.startpage-hero-card) .card-content a::after {
  position: absolute;
  inset: 0;
}
s4s-card:is(.startpage-hero-card) .card-text,
s4s-card:is(.startpage-hero-card) .btn {
  position: relative;
  z-index: 1;
}
s4s-card:is(.startpage-hero-card) s4s-gradient {
  background-color: var(--color-white);
  opacity: 0.6;
}
s4s-card:is(.startpage-hero-card) s4s-gradient .waves {
  margin: 0 -50px -50px;
}
s4s-card:is(.teaser-card, .banner-card, .banner-card-small, .campaign-card-small, .campaign-card-medium, .destination-card, .hotel-card, .hero-card, .teaser-campaign-card) {
  display: grid;
  align-content: stretch;
  place-items: stretch;
  gap: 0;
  position: relative;
  border-radius: var(--border-radius-card);
  overflow: hidden;
  background: var(--background-card);
  border: 1px solid var(--color-gray-2);
}
s4s-card:is(.teaser-card, .banner-card, .banner-card-small, .campaign-card-small, .campaign-card-medium, .destination-card, .hotel-card, .hero-card, .teaser-campaign-card) s4s-image,
s4s-card:is(.teaser-card, .banner-card, .banner-card-small, .campaign-card-small, .campaign-card-medium, .destination-card, .hotel-card, .hero-card, .teaser-campaign-card) s4s-video {
  overflow: hidden;
}
s4s-card:is(.teaser-card, .banner-card, .banner-card-small, .campaign-card-small, .campaign-card-medium, .destination-card, .hotel-card, .hero-card, .teaser-campaign-card) s4s-image img,
s4s-card:is(.teaser-card, .banner-card, .banner-card-small, .campaign-card-small, .campaign-card-medium, .destination-card, .hotel-card, .hero-card, .teaser-campaign-card) s4s-video img {
  position: absolute;
  inset: 0;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
  transition: 0.2s transform;
}
s4s-card:is(.teaser-card, .banner-card, .banner-card-small, .campaign-card-small, .campaign-card-medium, .destination-card, .hotel-card, .hero-card, .teaser-campaign-card) .card-text {
  display: contents;
}
s4s-card:is(.teaser-card, .banner-card, .banner-card-small, .campaign-card-small, .campaign-card-medium, .destination-card, .hotel-card, .hero-card, .teaser-campaign-card) .rich-text i {
  font: var(--font-p1-xs);
  display: inline-block;
  font-style: normal;
}
s4s-card:is(.teaser-card, .banner-card, .banner-card-small, .campaign-card-small, .campaign-card-medium, .destination-card, .hotel-card, .hero-card, .teaser-campaign-card) a:hover s4s-image img {
  transform: scale(1.1);
}
s4s-card:is(.teaser-card, .banner-card, .banner-card-small, .campaign-card-small, .campaign-card-medium, .destination-card, .hotel-card, .hero-card, .teaser-campaign-card) p {
  color: var(--color-text);
}
s4s-card:is(.teaser-card, .banner-card, .banner-card-small, .campaign-card-small, .campaign-card-medium, .destination-card, .hotel-card, .hero-card, .teaser-campaign-card) .card-content {
  display: flex;
  flex-direction: column;
  background-color: var(--background-card);
  padding: clamp(var(--margin-double), 2vw, var(--margin-triple));
  border-radius: var(--border-radius-card);
  position: relative;
}
s4s-card:is(.banner-card, .hero-card) {
  grid-template-columns: none;
  grid-template-rows: auto 1fr;
  gap: 0;
}
s4s-card:is(.banner-card, .hero-card) h3,
s4s-card:is(.banner-card, .hero-card) h4,
s4s-card:is(.banner-card, .hero-card) p {
  text-align: center;
}
s4s-card:is(.banner-card, .hero-card) s4s-image,
s4s-card:is(.banner-card, .hero-card) s4s-video {
  aspect-ratio: 3/2;
}
s4s-card:is(.banner-card, .hero-card) .card-content {
  margin-inline: var(--margin-triple);
  margin-block: calc(var(--margin-normal) * -8) 0;
}
s4s-card:is(.banner-card, .hero-card) a:is([href*=scandinaviantraveler], [href^=http], [href^="//"]) p:last-child::after {
  content: url('data:image/svg+xml;utf8,<svg height="20" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"><path d="m16 14.5c0 .8284271-.6715729 1.5-1.5 1.5h-9c-.82842712 0-1.5-.6715729-1.5-1.5v-9c0-.82842712.67157288-1.5 1.5-1.5h4.5v1.5h-4.5v9h9v-4.5h1.5zm1-6.08064516h-1.5483871v-2.70967742l-3.2903226 3.29032258-1.1612903-1.16129032 3.2907476-3.29074762-2.7115192-.00099174.0014168-1.54697032h5.4193548z" fill="hsl( 239 100% 37% )" fill-rule="evenodd"/></svg>');
  transform: rotate(0deg) translateX(0);
}
s4s-card.banner-card h3 {
  margin-bottom: var(--margin-double);
}
s4s-card.banner-card h4 {
  font: var(--font-p2);
  color: var(--color-text);
  text-transform: none;
  margin-block: 0 var(--margin-normal);
}
s4s-card.banner-card h3 + h4 {
  margin-top: calc(var(--margin-double) * -1);
}
s4s-card.hero-card {
  border: 0;
  border-radius: 0;
}
s4s-card.hero-card h1 {
  text-align: center;
}
s4s-card.hero-card p {
  text-align: left;
}
s4s-card.hero-card s4s-image,
s4s-card.hero-card s4s-video {
  aspect-ratio: 0;
  height: clamp(12.5rem, 28vw, 25rem);
}
s4s-card.hero-card .card-content {
  width: var(--width-text-block);
  margin-inline: auto;
  padding: var(--margin-quadra);
}
.sas-container s4s-card.hero-card .card-content {
  width: var(--width-card-double);
  margin-inline: auto;
  padding: var(--margin-quadra);
  border: 1px solid var(--color-gray-2);
}
s4s-card.banner-card-small {
  grid-template-columns: 2fr 3fr;
  grid-template-rows: none;
}
s4s-card.banner-card-small .card-content {
  margin-inline: calc(var(--margin-normal) * -8) 0;
  margin-block: var(--margin-double);
}
s4s-card.banner-card-small s4s-image,
s4s-card.banner-card-small s4s-video {
  aspect-ratio: 0;
}
s4s-card.banner-card-small h3 {
  margin-block: 0 var(--margin-normal);
}
s4s-card.banner-info-short {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(min(var(--min-width-card), 100%), 1fr));
  gap: 0;
  place-items: stretch;
  width: min(48.75rem, 100%);
  min-height: 6.5rem;
  background: var(--background-card);
  overflow: hidden;
  position: relative;
  border-radius: var(--border-radius-card);
  margin-inline: auto;
}
s4s-card.banner-info-short s4s-image {
  min-height: inherit;
}
s4s-card.banner-info-short s4s-image img {
  position: absolute;
  inset: 0;
}
s4s-card.banner-info-short li {
  list-style-image: url('data:image/svg+xml;utf8,<svg height="12" width="15" viewBox="0 0 15 12" xmlns="http://www.w3.org/2000/svg"><path d="m12.058.063 2.12 2.124-9.08 9.055-5.038-5.01 2.116-2.126 2.918 2.902z" fill="hsl( 239 100% 37% )" fill-rule="evenodd"/></svg>');
}
s4s-card.banner-info-short .card-content {
  display: grid;
  place-items: center stretch;
  min-height: inherit;
  padding: var(--margin-normal) var(--margin-quadra);
}
s4s-card.banner-info-short .rich-text {
  margin-bottom: 0;
}
s4s-card.teaser-campaign-card {
  gap: 0;
  grid-template-columns: 320px 1fr;
  border-radius: var(--border-radius-card);
  margin-bottom: var(--margin-double);
}
s4s-card.teaser-campaign-card s4s-image {
  aspect-ratio: auto;
}
s4s-card.teaser-campaign-card .card-content {
  padding: var(--margin-triple) var(--margin-double);
  display: grid;
  gap: var(--gap-normal);
  grid-template-columns: 1fr auto;
  flex-grow: 2;
  border-radius: 0;
}
s4s-card.teaser-campaign-card .card-text {
  grid-row: 1/3;
  display: flow-root;
}
s4s-card.teaser-campaign-card .rich-text {
  margin: 0;
}
s4s-card.teaser-campaign-card ul {
  padding: 0;
  gap: var(--margin-normal);
  display: grid;
  margin: 0;
}
s4s-card.teaser-campaign-card ul li {
  display: flex;
  align-items: flex-start;
  gap: var(--margin-normal);
}
s4s-card.teaser-campaign-card ul li::before {
  content: url('data:image/svg+xml;utf8,<svg height="12" width="15" viewBox="0 0 15 12" xmlns="http://www.w3.org/2000/svg"><path d="m12.058.063 2.12 2.124-9.08 9.055-5.038-5.01 2.116-2.126 2.918 2.902z" fill="hsl( 239 100% 37% )" fill-rule="evenodd"/></svg>');
  display: grid;
  place-content: center;
  width: var(--size-icon);
  height: var(--size-icon);
  flex-shrink: 0;
}
s4s-card.teaser-campaign-card button,
s4s-card.teaser-campaign-card .btn {
  display: grid;
  grid-row: 2/3;
  justify-self: end;
  align-self: end;
}
s4s-card.teaser-campaign-card .price {
  grid-row: 1/2;
  justify-self: end;
  align-self: start;
}
s4s-card.teaser-campaign-card .price strong {
  font-weight: var(--font-weight-black);
}
s4s-card.teaser-campaign-card s4s-image,
s4s-card.teaser-campaign-card s4s-video {
  min-width: 18rem;
  flex: 1;
  justify-self: stretch;
}
@media (max-width: 44rem) {
  s4s-card.teaser-campaign-card {
    grid-template-columns: 1fr;
    grid-template-rows: min-content 1fr;
  }
  s4s-card.teaser-campaign-card s4s-image,
  s4s-card.teaser-campaign-card s4s-video {
    aspect-ratio: 16/9;
  }
  s4s-card.teaser-campaign-card .card-text {
    grid-row: 1/2;
    grid-column: 1/3;
  }
  s4s-card.teaser-campaign-card button,
  s4s-card.teaser-campaign-card .btn {
    grid-column: 2/3;
    grid-row: 2/3;
  }
  s4s-card.teaser-campaign-card .price {
    grid-column: 1/2;
    grid-row: 2/3;
    align-self: end;
    justify-self: start;
  }
}
s4s-card.teaser-card {
  grid-template-columns: 2fr 3fr;
  grid-template-rows: none;
  gap: 0;
}
s4s-card.teaser-card p {
  color: var(--color-text);
}
s4s-card.teaser-card .card-content {
  margin-block: var(--margin-triple);
  margin-inline: calc(var(--margin-normal) * -8) 0;
}
s4s-card.teaser-card .card-text {
  display: flex;
  flex-direction: column;
  flex: 1;
}
s4s-card.teaser-card s4s-image,
s4s-card.teaser-card s4s-video {
  aspect-ratio: 0;
}
s4s-card:is(.campaign-card, .link-card, .photo-card) {
  display: flow-root;
  position: relative;
  justify-self: stretch;
  border-radius: var(--border-radius-card);
}
s4s-card:is(.campaign-card, .link-card, .photo-card) a {
  position: relative;
  height: 100%;
}
s4s-card:is(.campaign-card, .link-card, .photo-card) s4s-image,
s4s-card:is(.campaign-card, .link-card, .photo-card) s4s-video,
s4s-card:is(.campaign-card, .link-card, .photo-card) img {
  position: absolute;
  inset: 0;
  height: 100%;
  width: 100%;
}
s4s-card.campaign-card .campaign-label {
  background: var(--color-red);
  padding: calc(var(--margin-normal) / 2) var(--margin-double);
  position: absolute;
  top: 0;
  left: 50%;
  transform: translate(-50%, -50%);
  color: var(--color-white);
  text-transform: uppercase;
  font: var(--font-h6);
  z-index: 1;
}
s4s-card.campaign-card s4s-image,
s4s-card.campaign-card s4s-video,
s4s-card.campaign-card img {
  aspect-ratio: 0;
}
s4s-card.campaign-card h3,
s4s-card.campaign-card h4 {
  color: var(--color-white);
  -webkit-hyphens: none;
          hyphens: none;
  text-align: center;
}
s4s-card.campaign-card h3 {
  font: var(--font-h1);
}
s4s-card.campaign-card h4 {
  margin-block-end: 0;
}
s4s-card.campaign-card .card-content {
  display: flow-root;
  padding: calc(var(--margin-normal) * 5);
  margin: auto;
  background-color: var(--color-blue-3);
  color: var(--color-white);
  position: relative;
  height: -moz-fit-content;
  height: fit-content;
  width: -moz-fit-content;
  width: fit-content;
  max-width: 100%;
  max-height: 100%;
  -webkit-backdrop-filter: blur(4px);
          backdrop-filter: blur(4px);
  text-align: center;
}
@media (min-width: 768px) {
  s4s-card.campaign-card {
    padding: clamp(var(--margin-double), 4vw, var(--margin-quadra));
  }
  s4s-card.campaign-card .card-content {
    background: hsl(var(--brand)/0.8);
    margin: auto;
  }
}
s4s-card.campaign-card s4s-image,
s4s-card.campaign-card s4s-video {
  aspect-ratio: 0;
}
s4s-card.campaign-card-small {
  --border-radius-card: 0;
  grid-template-columns: 2fr 3fr;
  grid-template-rows: none;
}
s4s-card.campaign-card-small .card-content {
  margin: 0;
  border-radius: var(--border-radius-card);
  padding-block: var(--margin-double);
}
s4s-card.campaign-card-small h3 {
  margin-block: 0;
}
s4s-card.campaign-card-small h4 {
  font: var(--font-h6);
  margin-block: 0 var(--margin-normal);
}
s4s-card.campaign-card-small .price-old {
  font: var(--font-p2);
  margin-block: 0;
  color: var(--color-gray-5);
}
s4s-card.campaign-card-small .price {
  font: var(--font-h2);
  margin-block: 0;
  color: var(--color-blue-3);
}
s4s-card.link-card {
  overflow: hidden;
}
s4s-card.link-card.link-card {
  aspect-ratio: 3/2;
}
s4s-card.link-card .card-content {
  display: flex;
  padding: var(--margin-double);
  width: 100%;
  height: 100%;
  color: var(--color-white);
  position: relative;
  background-color: hsl(var(--black)/0.5);
  text-align: center;
  align-items: center;
  justify-content: center;
  transition: 0.2s background-color;
}
s4s-card.link-card a:hover .card-content {
  background-color: hsl(var(--black)/0.75);
}
s4s-card.link-card h3 {
  font: var(--font-h2);
  color: var(--color-white);
  -webkit-hyphens: manual;
          hyphens: manual;
}
s4s-card.photo-card {
  overflow: hidden;
  align-self: stretch;
}
s4s-card.photo-card .card-content {
  display: grid;
  grid-template-columns: 1fr;
  grid-template-rows: auto 1fr auto;
  flex-direction: column;
  align-items: flex-start;
  padding: var(--margin-double) var(--margin-triple);
  width: 100%;
  height: 100%;
  color: var(--color-white);
  position: relative;
  background-color: hsl(var(--black)/0.5);
  text-align: center;
  justify-content: center;
  transition: 0.2s background-color;
}
s4s-card.photo-card .card-content > p, s4s-card.photo-card .card-content .rich-text {
  flex-grow: 1;
}
s4s-card.photo-card a:hover .card-content {
  background-color: hsl(var(--black)/0.75);
}
s4s-card.photo-card a:hover button {
  background: var(--background-button-hover);
}
s4s-card.photo-card h3 {
  font: var(--font-h4);
  color: var(--color-white);
  text-align: left;
  margin-bottom: var(--margin-normal);
}
s4s-card.photo-card p {
  color: var(--color-white);
  text-align: left;
}
s4s-card.destination-card {
  grid-template-columns: none;
  gap: 0;
  align-self: start;
}
s4s-card.destination-card s4s-image,
s4s-card.destination-card s4s-video,
s4s-card.destination-card img {
  display: none;
}
@media (min-width: 768px) {
  s4s-card.destination-card s4s-image,
  s4s-card.destination-card s4s-video,
  s4s-card.destination-card img {
    display: block;
    aspect-ratio: 16/7;
  }
}
s4s-card.destination-card .card-content {
  padding: 0;
}
s4s-card.destination-card .sas-accordion .accordion-btn {
  border: 0;
}
s4s-card.destination-card .sas-accordion .accordion-content {
  border: 0;
}
s4s-card.destination-card .sas-accordion .slot-content {
  padding: 0;
  margin: 0 var(--margin-double) var(--margin-normal);
}
s4s-card.destination-card .sas-accordion li a {
  border-top: 1px solid var(--color-separator);
  padding-block: var(margin-normal);
}
s4s-card.destination-card .sas-accordion .label {
  font: var(--font-h3);
  color: var(--color-blue-4);
  text-transform: uppercase;
}
s4s-card.destination-card .sas-accordion ul {
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
  flex-direction: column;
}
s4s-card.destination-card .sas-accordion a {
  display: flex;
  align-items: center;
  gap: gap-normal;
  font: var(--font-p2);
  padding-block: var(--margin-normal);
}
s4s-card.destination-card .sas-accordion a .btn {
  font: var(--font-p2);
  padding: 0 var(--margin-double);
  min-height: 0;
  margin: 0 0 0 auto;
  border-radius: 0;
}
s4s-card.hotel-card {
  --border-radius-card: 0;
  grid-template-columns: none;
  grid-template-rows: 1fr auto;
  gap: 0;
}
s4s-card.hotel-card h3 {
  font: var(--font-h2);
  text-align: center;
}
s4s-card.hotel-card p {
  color: var(--color-text);
}
s4s-card.hotel-card p.price {
  font: var(--font-h3);
  color: var(--color-blue-3);
  text-align: right;
}
s4s-card.hotel-card s4s-image,
s4s-card.hotel-card s4s-video {
  aspect-ratio: 3/2;
}
s4s-card.hotel-card .card-content {
  margin: 0;
  border-radius: var(--border-radius-card);
  grid-row: 1;
}

.banners-grid {
  gap: var(--gap-card);
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(min(var(--min-width-card), 100%), 1fr));
  grid-auto-rows: auto;
}
.banners-grid s4s-card {
  margin-bottom: 0;
}

:where(.columns s4s-image, s4s-video, .banners-grid s4s-image) {
  aspect-ratio: 16/9;
}

:where(.columns, .banners-grid) {
  margin-bottom: var(--margin-bottom-component);
}

:is(.columns, .banners-grid) s4s-card {
  margin-bottom: 0;
}
:is(.columns, .banners-grid) s4s-card.teaser-card {
  grid-template-columns: none;
  grid-template-rows: auto 1fr;
  gap: 0;
}
:is(.columns, .banners-grid) s4s-card.teaser-card .card-content {
  margin-inline: var(--margin-triple);
  margin-block: calc(var(--margin-normal) * -8) 0;
}
:is(.columns, .banners-grid) s4s-card.teaser-card s4s-image,
:is(.columns, .banners-grid) s4s-card.teaser-card s4s-video {
  aspect-ratio: 6/4;
}
:is(.columns, .banners-grid) s4s-card.banner-card .card-content, :is(.columns, .banners-grid) s4s-card.teaser-card .card-content {
  margin-bottom: var(--margin-double);
}
:is(.columns, .banners-grid) s4s-card.campaign-card {
  grid-row-end: span 2;
  height: clamp(1px, 100vw, 100%);
}
:is(.columns, .banners-grid) s4s-card.campaign-card .card-content {
  min-width: auto;
  background: hsl(var(--brand)/0.8);
  width: -moz-min-content;
  width: min-content;
  padding: calc(var(--margin-normal) * 2);
  margin-block: var(--margin-quadra);
}
:is(.columns, .banners-grid) s4s-card.campaign-card h3 {
  font: var(--font-h2);
  width: -moz-min-content;
  width: min-content;
}
:is(.columns, .banners-grid) s4s-card.teaser-campaign-card {
  grid-template-columns: 1fr;
  grid-template-rows: min-content 1fr;
}
:is(.columns, .banners-grid) s4s-card.teaser-campaign-card s4s-image {
  aspect-ratio: 16/9;
}
:is(.columns, .banners-grid) s4s-card.teaser-campaign-card .card-text {
  grid-row: 1/2;
  grid-column: 1/3;
}
:is(.columns, .banners-grid) s4s-card.teaser-campaign-card button,
:is(.columns, .banners-grid) s4s-card.teaser-campaign-card .btn {
  grid-column: 2/3;
  grid-row: 2/3;
}
:is(.columns, .banners-grid) s4s-card.teaser-campaign-card .price {
  grid-column: 1/2;
  grid-row: 2/3;
  align-self: end;
  justify-self: start;
}

.sas-input[type=file] input[type=file].attached, .sas-input[data-type=file] input[type=file].attached, .sas-input[type=file] input[type=file]:not(.attached) + .label, .sas-input[data-type=file] input[type=file]:not(.attached) + .label, s4s-carousel .forward span,
s4s-carousel .rewind span {
  clip: rect(1px, 1px, 1px, 1px);
  height: 1px;
  overflow: hidden;
  position: absolute;
  white-space: nowrap;
  width: 1px;
}

.card.teaser-card.entry-card h2 {
  font-size: 1.5rem;
  line-height: 1.1666666667;
  font-weight: var(--font-weight-black);
  text-transform: uppercase;
  margin-top: var(--margin-quadra);
  margin-bottom: var(--margin-quadra);
}

.card.banner-card-link-list a, .card.teaser-card h2, .card.hotel-card h2 {
  font-size: 1.125rem;
  line-height: 1.3333333333;
  font-weight: var(--font-weight-black);
  text-transform: uppercase;
  margin-top: var(--margin-quadra);
  margin-bottom: var(--margin-quadra);
}

.card.banner-card-mini .content, .card.banner-card-link-list th, .card.image-card h2 {
  font-size: 0.875rem;
  line-height: 1.4285714286;
  font-weight: var(--font-weight-black);
  text-transform: uppercase;
  margin-top: var(--margin-triple);
  margin-bottom: var(--margin-normal);
}

.card.image-card .rich-text,
.card.image-card .rich-text p {
  font-size: 0.75rem;
  line-height: 1.3333333333;
  text-transform: initial;
}

:root {
  --campaign-gradient-place-inline: stretch;
  --campaign-gradient-place-block: end;
  --campaign-content-card-padding: 45% var(--margin-quadra) var(--margin-quadra);
}

s4s-mosaic-card {
  --campaign-content-width: 100vw;
  --campaign-image-ratio: 3 / 2;
  --campaign-border-radius: 0;
  --background-splash: var(--color-peach-1);
  display: grid;
  isolation: isolate;
}
@media (min-width: 768px) {
  s4s-mosaic-card {
    --campaign-content-width: 100cqw;
  }
}
s4s-mosaic-card s4s-image {
  width: var(--campaign-content-width);
  aspect-ratio: var(--campaign-image-ratio);
}
s4s-mosaic-card s4s-image img {
  aspect-ratio: var(--campaign-image-ratio);
}
s4s-mosaic-card .campaign-content {
  top: 0;
  display: grid;
  position: relative;
  grid-template-areas: "stacks";
  place-self: var(--campaign-gradient-place-block) var(--campaign-gradient-place-inline);
  width: var(--campaign-content-width);
  border-radius: var(--campaign-border-radius);
  height: auto;
  overflow: hidden;
  margin-top: -67vw;
}
@supports (container-type: size) {
  s4s-mosaic-card .campaign-content .area-campaign {
    margin-top: -70cqw;
  }
}
s4s-mosaic-card .campaign-content s4s-splash {
  scale: 0.96;
  right: var(--margin-plus);
  z-index: 3;
  transform: translateY(calc(-100px - var(--margin-triple)));
}
@container (min-width: 768px) {
  s4s-mosaic-card .campaign-content.top {
    --campaign-gradient-place-block: start;
  }
  s4s-mosaic-card .campaign-content.top .card-content {
    --campaign-content-card-padding: var(--margin-quadra) var(--margin-quadra) 40%;
  }
  s4s-mosaic-card .campaign-content.top s4s-splash {
    right: var(--margin-double);
  }
  s4s-mosaic-card .campaign-content > * {
    grid-area: stacks;
  }
}
@media (min-width: 768px) {
  s4s-mosaic-card .campaign-content.top {
    --campaign-gradient-place-block: start;
  }
  s4s-mosaic-card .campaign-content.top .card-content {
    --campaign-content-card-padding: var(--margin-quadra) var(--margin-quadra) 40%;
  }
  s4s-mosaic-card .campaign-content.top s4s-splash {
    right: var(--margin-double);
  }
  s4s-mosaic-card .campaign-content > * {
    grid-area: stacks;
  }
}
s4s-mosaic-card .campaign-content a::before {
  content: "";
  position: absolute;
  inset: 0;
}
s4s-mosaic-card .campaign-content .card-text h1,
s4s-mosaic-card .campaign-content .card-text h2 {
  margin-block-end: var(--margin-double);
}
s4s-mosaic-card .campaign-content .card-content {
  padding: var(--campaign-content-card-padding);
  align-self: self-end;
  color: var(--color-white);
  text-align: center;
  z-index: 4;
}
s4s-mosaic-card .campaign-content .card-content h1,
s4s-mosaic-card .campaign-content .card-content h2 {
  color: currentColor;
  line-height: 1.3;
}
s4s-mosaic-card .campaign-content .card-content a.btn {
  text-decoration: none;
}
s4s-mosaic-card .campaign-content .card-content a.btn:hover {
  color: var(--color-brand);
}
s4s-mosaic-card .campaign-content .price-container {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  gap: 4px;
  font-weight: var(--font-weight-black);
  text-transform: uppercase;
  justify-content: center;
  align-items: stretch;
  margin: 0 0 var(--margin-double);
  line-height: 1;
}
s4s-mosaic-card .campaign-content .price-container .price-prefix,
s4s-mosaic-card .campaign-content .price-container .price-suffix {
  display: flex;
  flex-flow: column;
  font-size: 1.125rem;
  padding: var(--margin-normal) 0;
}
s4s-mosaic-card .campaign-content .price-container .price-prefix {
  text-align: right;
}
s4s-mosaic-card .campaign-content .price-container .price-suffix {
  margin-top: auto;
  text-align: left;
}
s4s-mosaic-card .campaign-content .price-container .price-suffix-large {
  font-size: 2.25rem;
}
s4s-mosaic-card .campaign-content .price-container .price-prefix-top {
  margin-bottom: auto;
}
s4s-mosaic-card .campaign-content .price-container .price-column {
  font-size: 4.5rem;
}
s4s-mosaic-card .campaign-content .price {
  font-size: 4.5rem;
  font-weight: var(--font-weight-black);
  text-transform: uppercase;
  display: flex;
  justify-content: center;
  align-items: baseline;
  gap: var(--margin-normal);
  margin-block: var(--margin-plus);
}
s4s-mosaic-card .campaign-content .price .from {
  font-size: 1rem;
}
s4s-mosaic-card .campaign-content .flexbox-responsive {
  justify-content: center;
  align-items: flex-start;
  gap: var(--margin-normal);
  flex-wrap: wrap;
}
@media (min-width: 768px) {
  s4s-mosaic-card .campaign-content .flexbox-responsive {
    flex-wrap: wrap;
  }
}
s4s-mosaic-card .campaign-content s4s-countdown:not(:empty) {
  margin-block: -2px;
}
s4s-mosaic-card.addons {
  --campaign-image-ratio: 1;
  grid-template-areas: "stack";
}
s4s-mosaic-card.addons > * {
  grid-area: stack;
}
s4s-mosaic-card.addons .campaign-content {
  margin-top: 0;
  top: auto;
}
@media (min-width: 768px) {
  s4s-mosaic-card {
    grid-template-areas: "stack";
  }
  s4s-mosaic-card s4s-image {
    width: auto;
    overflow: hidden;
  }
  s4s-mosaic-card > * {
    grid-area: stack;
  }
  s4s-mosaic-card .campaign-content {
    margin-top: 0;
  }
}
.area-campaign-big s4s-mosaic-card s4s-splash {
  right: var(--margin-double);
}
s4s-mosaic-card .rich-text i {
  font: var(--font-p1-xs);
  display: inline-block;
  font-style: normal;
}
s4s-mosaic-card .offer-disclaimer {
  display: none;
  width: 100%;
  text-align: center;
}
s4s-mosaic-card.dark-card {
  --font-h1: var(--font-weight-black) 4.5rem/1.2 var(--sas-font-family);
  --background-splash: var(--color-blue-2);
  --color-splash: var(--color-white);
  grid-template-areas: "stack";
  min-height: 560px;
  justify-content: stretch;
}
s4s-mosaic-card.dark-card > * {
  grid-area: stack;
  width: 100vw;
}
@media (min-width: 1024px) {
  s4s-mosaic-card.dark-card > * {
    width: 100%;
    min-height: auto;
  }
}
s4s-mosaic-card.dark-card .card-text-heading {
  display: flex;
  flex-flow: column;
  margin-bottom: var(--margin-double);
}
s4s-mosaic-card.dark-card .card-text h2 {
  order: 1;
  margin-bottom: var(--margin-quadra);
  padding-inline: var(--margin-quadra);
}
@media (max-width: 767px) {
  s4s-mosaic-card.dark-card .card-text h2 {
    font-size: 3rem;
  }
}
@media (min-width: 992px) {
  s4s-mosaic-card.dark-card .card-text h2 {
    padding-inline: calc(var(--margin-normal) * 8);
  }
}
s4s-mosaic-card.dark-card .teaser-text {
  order: 2;
  margin: 0 auto;
}
s4s-mosaic-card.dark-card .campaign-content {
  display: flex;
  flex-flow: column;
  align-items: center;
  margin: 0;
  height: 100%;
}
s4s-mosaic-card.dark-card .price {
  margin-bottom: var(--margin-quadra);
}
s4s-mosaic-card.dark-card .card-content {
  position: static;
  margin: 0 auto;
  padding: 0;
}
s4s-mosaic-card.dark-card .offer-disclaimer {
  display: block;
  color: var(--color-white);
  background: hsla(0, 0%, 0%, 0.75);
  margin-block: auto 0;
  padding: var(--margin-double);
  font-size: 0.75rem;
}
s4s-mosaic-card.dark-card .flexbox-responsive {
  gap: var(--margin-double);
}
s4s-mosaic-card.dark-card .flexbox-responsive a.btn {
  margin: auto 0;
}
s4s-mosaic-card.dark-card s4s-gradient {
  display: none;
}
s4s-mosaic-card.dark-card s4s-splash {
  top: auto;
  bottom: 25%;
  right: var(--margin-double);
  transform: none;
}
@media (min-width: 768px) {
  s4s-mosaic-card.dark-card s4s-splash {
    right: var(--margin-quadra);
  }
}
@media (min-width: 1024px) {
  s4s-mosaic-card.dark-card s4s-splash {
    top: 25%;
    right: var(--margin-double);
    bottom: auto;
  }
}
@media (min-width: 1200px) {
  s4s-mosaic-card.dark-card s4s-splash {
    top: var(--margin-double);
  }
}

@container (min-width: 768px) {
  .area-campaign-big s4s-mosaic-card {
    --campaign-content-width: 60cqw;
    --campaign-gradient-place-inline: center;
    --campaign-gradient-place-block: center;
    --campaign-border-radius: var(--border-radius-card);
  }
}
@media (min-width: 768px) {
  s4s-mosaic-card {
    --campaign-gradient-place-inline: end;
    --campaign-gradient-place-block: end;
    --campaign-content-width: 50%;
  }
  s4s-mosaic-card .right {
    --campaign-gradient-place-inline: end;
  }
  s4s-mosaic-card .left {
    --campaign-gradient-place-inline: start;
  }
  s4s-mosaic-card .left s4s-splash {
    right: auto;
    left: var(--margin-double);
  }
  s4s-mosaic-card .top {
    --campaign-gradient-place-block: start;
  }
  s4s-mosaic-card .bottom {
    --campaign-gradient-place-block: end;
  }
  s4s-mosaic-card.addons {
    --campaign-image-ratio: 3 / 2;
  }
}
@media (min-width: 1024px) {
  s4s-mosaic-card {
    --campaign-image-ratio: auto;
  }
  s4s-mosaic-card.addons {
    --campaign-image-ratio: auto;
  }
}
@container (min-width: 768px) {
  .area-campaign s4s-mosaic-card {
    --campaign-gradient-place-inline: end;
    --campaign-gradient-place-block: end;
    --campaign-content-width: 50cqw;
  }
  .area-campaign:nth-child(odd) s4s-mosaic-card {
    --campaign-gradient-place-inline: start;
  }
}
s4s-splash {
  position: absolute;
  scale: 0.7;
}
s4s-splash > div {
  background: var(--background-splash);
  padding: 16px;
  width: 100px;
  height: 100px;
  border-radius: 50%;
  display: grid;
  align-content: center;
  transform-origin: 0 0;
}
s4s-splash > div > div {
  font: var(--font-splash);
  line-height: 1.2;
  text-transform: uppercase;
  color: var(--color-splash);
  text-align: center;
  white-space: nowrap;
  transform: translateY(1px);
}

s4s-wave {
  display: block;
  width: 50%;
  overflow: hidden;
  isolation: isolate;
  position: relative;
}
s4s-wave .waves {
  position: relative;
  width: 200%;
  aspect-ratio: 1;
  margin: 0 0 -10%; /* Fix for safari gap */
  filter: blur(30px);
  z-index: -1;
}
s4s-wave .parallax > use {
  animation: move-forever 25s ease-in-out infinite;
  position: relative;
  top: 5%;
}
s4s-wave .parallax > use:nth-child(1) {
  animation-delay: -5s;
  animation-duration: 40s;
}
s4s-wave .parallax > use:nth-child(2) {
  animation-delay: -2s;
  animation-duration: 14s;
  animation-direction: alternate;
}
s4s-wave .parallax > use:nth-child(3) {
  animation-delay: -3s;
  animation-duration: 20s;
  animation-direction: alternate-reverse;
}
s4s-wave .parallax > use:nth-child(4) {
  animation-delay: -4s;
  animation-duration: 26s;
  animation-direction: alternate;
}
@keyframes move-forever {
  0% {
    transform: translateX(-14%);
  }
  100% {
    transform: translateX(-62%);
  }
}

.teaser-text {
  border-radius: var(--border-radius-small);
  font: var(--font-h4);
  color: var(--color-brand);
  padding: calc(var(--margin-normal) / 2) var(--margin-double);
  text-transform: uppercase;
  display: inline-grid;
  grid-template-columns: auto auto;
  overflow: hidden;
  background: var(--background-teaser-text);
  isolation: isolate;
}
@supports selector(:has(span)) {
  .teaser-text:has(span) {
    background: transparent;
    padding: 0;
  }
}
.teaser-text > span {
  background: var(--background-highlight);
  padding: calc(var(--margin-normal) / 2) var(--margin-normal);
  padding-inline: calc(var(--margin-normal) - 1px);
}
.teaser-text > span:first-child {
  border-radius: var(--border-radius-small);
  border: 1px solid var(--color-white);
  color: var(--color-white);
  background: transparent;
  padding-block: calc(var(--margin-normal) / 2 - 1px);
  position: relative;
}
@supports not selector(:has(span)) {
  .teaser-text > span:first-child {
    background: var(--color-brand);
    margin: calc(var(--margin-normal) / 2 * -1) 0 calc(var(--margin-normal) / 2 * -1) calc(var(--margin-double) * -1);
  }
}
.teaser-text > span:first-child::before, .teaser-text > span:first-child::after {
  content: url('data:image/svg+xml;utf8,<svg height="8" viewBox="0 0 8 8" width="8" xmlns="http://www.w3.org/2000/svg"><path d="m8 0v4c0-2.209139-1.790861-4-4-4z" fill="hsl(199 72% 86%)"/></svg>');
  position: absolute;
  top: calc(var(--margin-normal) * -1);
  right: -1px;
  z-index: -1;
}
.teaser-text > span:first-child::after {
  top: auto;
  bottom: calc(var(--margin-normal) * -1);
  transform: scaleY(-1);
}
@supports not selector(:has(span)) {
  .teaser-text > span:last-child {
    margin: calc(var(--margin-normal) / 2 * -1) calc(var(--margin-double) * -1) calc(var(--margin-normal) / 2 * -1) 0;
  }
}

.sas-input[type=file] input[type=file].attached, .sas-input[data-type=file] input[type=file].attached, .sas-input[type=file] input[type=file]:not(.attached) + .label, .sas-input[data-type=file] input[type=file]:not(.attached) + .label, s4s-carousel .forward span,
s4s-carousel .rewind span {
  clip: rect(1px, 1px, 1px, 1px);
  height: 1px;
  overflow: hidden;
  position: absolute;
  white-space: nowrap;
  width: 1px;
}

.card.teaser-card.entry-card h2 {
  font-size: 1.5rem;
  line-height: 1.1666666667;
  font-weight: var(--font-weight-black);
  text-transform: uppercase;
  margin-top: var(--margin-quadra);
  margin-bottom: var(--margin-quadra);
}

.card.banner-card-link-list a, .card.teaser-card h2, .card.hotel-card h2 {
  font-size: 1.125rem;
  line-height: 1.3333333333;
  font-weight: var(--font-weight-black);
  text-transform: uppercase;
  margin-top: var(--margin-quadra);
  margin-bottom: var(--margin-quadra);
}

.card.banner-card-mini .content, .card.banner-card-link-list th, .card.image-card h2 {
  font-size: 0.875rem;
  line-height: 1.4285714286;
  font-weight: var(--font-weight-black);
  text-transform: uppercase;
  margin-top: var(--margin-triple);
  margin-bottom: var(--margin-normal);
}

.card.image-card .rich-text,
.card.image-card .rich-text p {
  font-size: 0.75rem;
  line-height: 1.3333333333;
  text-transform: initial;
}

s4s-carousel {
  display: block;
  width: 100%;
  position: relative;
}
s4s-carousel .sas-carousel {
  display: block;
  width: 100%;
  position: relative;
  overflow: hidden;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  scroll-behavior: smooth;
  -webkit-overflow-scrolling: touch;
}
s4s-carousel ul {
  display: flex;
  gap: calc(var(--gap-normal) / 2);
  list-style: none;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  margin: 0;
  padding: 0;
}
s4s-carousel li {
  isolation: isolate;
  flex-basis: 33.3333333333%;
  margin: 0;
  padding: 0;
  scroll-snap-align: start;
  position: relative;
  overflow: hidden;
  border-radius: var(--border-radius-normal);
}
s4s-carousel li.active::after {
  content: "";
  position: absolute;
  inset: 0;
  border: 4px solid var(--color-brand);
  border-radius: inherit;
}
s4s-carousel li.active:hover img {
  transform: scale(1.1);
}
s4s-carousel img {
  display: block;
  width: 100%;
  transition: transform 0.5s ease;
  border-radius: inherit;
  overflow: hidden;
}
s4s-carousel img:hover {
  transform: scale(1.1);
}
s4s-carousel .forward,
s4s-carousel .rewind {
  display: grid;
  place-content: center;
  position: absolute;
  bottom: 0;
  z-index: 2;
  margin: 0;
  background: var(--color-brand);
  width: var(--height-button);
  min-width: 0;
  border-radius: var(--border-radius-input);
  padding: 0;
}
s4s-carousel .forward::before,
s4s-carousel .rewind::before {
  content: url('data:image/svg+xml;utf8,<svg height="20" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"><path d="m5.11740785 14.180035-2.11740785-2.1252256 7.0808568-7.0548094 7.0365511 7.0106666-2.1174079 2.1252256-4.9191432-4.90104774z" fill="hsl( 0 0% 100% )" fill-rule="evenodd"/></svg>');
  display: inline-block;
}
s4s-carousel .forward {
  right: 0;
}
s4s-carousel .forward::before {
  transform: rotate(90deg);
}
s4s-carousel .rewind {
  left: 0;
}
s4s-carousel .rewind::before {
  transform: rotate(-90deg);
}
s4s-carousel s4s-loading {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: -1;
}

s4s-cart {
  position: fixed;
  display: block;
  right: 0;
  bottom: 0;
  left: 0;
  background: var(--color-white);
  color: var(--color-blue-4);
  filter: drop-shadow(var(--shadow-normal));
}
s4s-cart .cart-content {
  display: flex;
  flex-direction: column;
}
s4s-cart .cart-content .sas-container {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: var(--gap-normal);
  padding: var(--margin-double);
  align-items: center;
  background: var(--color-white);
}
s4s-cart .preview {
  order: 1;
}
s4s-cart .expanded-view {
  overflow: hidden;
  max-height: 0;
  transition: max-height 0.3s;
  border-bottom: 0;
}
s4s-cart p.error {
  position: relative;
}
s4s-cart:not(.expanded) .cart-expander {
  display: none;
}
s4s-cart .cart-expander {
  position: absolute;
  top: 0;
  left: 50%;
  transform: translate(-50%, -100%);
  background: var(--color-white);
  padding: var(--margin-normal) var(--margin-double);
  border-radius: var(--border-radius-normal) var(--border-radius-normal) 0 0;
  cursor: pointer;
}
s4s-cart .cart-expand {
  display: none;
}
s4s-cart .cart-expand:checked ~ * .expanded-view {
  max-height: 100vh;
  border-bottom: 1px solid var(--color-gray-2);
  transition: max-height 1s;
}

.sas-input[type=file] input[type=file].attached, .sas-input[data-type=file] input[type=file].attached, .sas-input[type=file] input[type=file]:not(.attached) + .label, .sas-input[data-type=file] input[type=file]:not(.attached) + .label, s4s-carousel .forward span,
s4s-carousel .rewind span {
  clip: rect(1px, 1px, 1px, 1px);
  height: 1px;
  overflow: hidden;
  position: absolute;
  white-space: nowrap;
  width: 1px;
}

.card.teaser-card.entry-card h2 {
  font-size: 1.5rem;
  line-height: 1.1666666667;
  font-weight: var(--font-weight-black);
  text-transform: uppercase;
  margin-top: var(--margin-quadra);
  margin-bottom: var(--margin-quadra);
}

.card.banner-card-link-list a, .card.teaser-card h2, .card.hotel-card h2 {
  font-size: 1.125rem;
  line-height: 1.3333333333;
  font-weight: var(--font-weight-black);
  text-transform: uppercase;
  margin-top: var(--margin-quadra);
  margin-bottom: var(--margin-quadra);
}

.card.banner-card-mini .content, .card.banner-card-link-list th, .card.image-card h2 {
  font-size: 0.875rem;
  line-height: 1.4285714286;
  font-weight: var(--font-weight-black);
  text-transform: uppercase;
  margin-top: var(--margin-triple);
  margin-bottom: var(--margin-normal);
}

.card.image-card .rich-text,
.card.image-card .rich-text p {
  font-size: 0.75rem;
  line-height: 1.3333333333;
  text-transform: initial;
}

s4s-countdown {
  --number-size: 2.75rem;
  flex-direction: column;
  align-items: stretch;
}
s4s-countdown .timey-wimey {
  display: grid;
  grid-template-columns: var(--number-size) var(--margin-plus) var(--number-size) var(--margin-plus) var(--number-size) var(--margin-plus) var(--number-size);
}
s4s-countdown .timey-wimey .number {
  display: grid;
  font-size: 1.375rem;
  font-weight: var(--font-weight-bold);
  place-content: center;
  background: var(--color-blue-4);
  width: var(--number-size);
  height: var(--number-size);
  border-radius: var(--border-radius-small);
}
s4s-countdown .timey-wimey span {
  display: grid;
  place-content: center;
  font: var(font-p1);
  font-weight: bold;
}
s4s-countdown h3 {
  font-size: clamp(0.6875rem, 2vw, 1rem);
  color: var(--color-white);
  text-align: center;
  margin: 0 0 var(--margin-normal);
}
s4s-countdown .explain {
  font: var(--font-p1-sm);
  display: grid;
  grid-template-columns: repeat(4, var(--number-size));
  gap: var(--margin-plus);
  align-items: baseline;
  position: relative;
  top: calc(-0.5 * var(--margin-normal));
}
s4s-countdown .explain > span {
  text-align: center;
  margin-top: var(--margin-normal);
}
s4s-countdown .h3 {
  margin: 0;
}
s4s-countdown .btn {
  margin: 0;
}

.sas-campaign-banner {
  width: min(100%, 48rem);
  color: var(--color-white);
  position: relative;
  margin-inline: auto;
}
.sas-campaign-banner .caption {
  width: -moz-fit-content;
  width: fit-content;
  font-size: clamp(0.6875rem, 2vw, 1.125rem);
  font-weight: var(--font-weight-black);
  text-transform: uppercase;
  background: var(--color-red);
  position: absolute;
  top: 0;
  left: 50%;
  transform: translate(-50%, -50%);
  padding: 0.25rem 0.75rem;
}
.sas-campaign-banner .content {
  background: hsl(var(--hero)/0.85);
  padding: clamp(var(--margin-normal) * 3, 3.2vw, var(--margin-normal) * 6);
  display: flex;
  flex-direction: column;
  align-items: center;
}
.sas-campaign-banner h2 {
  font-size: clamp(1.5rem, 3vw, 2.5rem);
  color: var(--color-white);
  text-align: center;
  text-wrap: balance;
}
.sas-campaign-banner h2 + p {
  margin: calc(var(--margin-double) * -1) 0 var(--margin-quadra);
}
.sas-campaign-banner .flexbox-responsive {
  justify-content: center;
  align-items: center;
  gap: calc(var(--margin-normal) * 2) calc(var(--margin-normal) * 6);
}
.sas-campaign-banner button {
  margin: 0;
}

.sas-input[type=file] input[type=file].attached, .sas-input[data-type=file] input[type=file].attached, .sas-input[type=file] input[type=file]:not(.attached) + .label, .sas-input[data-type=file] input[type=file]:not(.attached) + .label, s4s-carousel .forward span,
s4s-carousel .rewind span {
  clip: rect(1px, 1px, 1px, 1px);
  height: 1px;
  overflow: hidden;
  position: absolute;
  white-space: nowrap;
  width: 1px;
}

.card.teaser-card.entry-card h2 {
  font-size: 1.5rem;
  line-height: 1.1666666667;
  font-weight: var(--font-weight-black);
  text-transform: uppercase;
  margin-top: var(--margin-quadra);
  margin-bottom: var(--margin-quadra);
}

.card.banner-card-link-list a, .card.teaser-card h2, .card.hotel-card h2 {
  font-size: 1.125rem;
  line-height: 1.3333333333;
  font-weight: var(--font-weight-black);
  text-transform: uppercase;
  margin-top: var(--margin-quadra);
  margin-bottom: var(--margin-quadra);
}

.card.banner-card-mini .content, .card.banner-card-link-list th, .card.image-card h2 {
  font-size: 0.875rem;
  line-height: 1.4285714286;
  font-weight: var(--font-weight-black);
  text-transform: uppercase;
  margin-top: var(--margin-triple);
  margin-bottom: var(--margin-normal);
}

.card.image-card .rich-text,
.card.image-card .rich-text p {
  font-size: 0.75rem;
  line-height: 1.3333333333;
  text-transform: initial;
}

s4s-flow-header-modal,
s4s-flow-header {
  position: relative;
  z-index: 2;
  display: flex;
  align-items: stretch;
  background: var(--background-header);
  height: var(--height-header);
  color: var(--color-white);
}
s4s-flow-header-modal .sas-container,
s4s-flow-header .sas-container {
  display: flex;
  align-items: stretch;
}
s4s-flow-header-modal .sas-container > span,
s4s-flow-header-modal .sas-container > a,
s4s-flow-header-modal .sas-container > button.link,
s4s-flow-header .sas-container > span,
s4s-flow-header .sas-container > a,
s4s-flow-header .sas-container > button.link {
  display: flex;
  align-items: center;
  padding: 0 var(--margin-triple);
  text-decoration: none;
  color: hsl(var(--white)/0.5);
  background: none;
  cursor: default;
}
s4s-flow-header-modal .sas-container > span:hover,
s4s-flow-header-modal .sas-container > a:hover,
s4s-flow-header-modal .sas-container > button.link:hover,
s4s-flow-header .sas-container > span:hover,
s4s-flow-header .sas-container > a:hover,
s4s-flow-header .sas-container > button.link:hover {
  text-decoration: none;
  color: hsl(var(--white)/0.5);
}
s4s-flow-header-modal .sas-container > a:link,
s4s-flow-header-modal .sas-container > button.link:not(:disabled),
s4s-flow-header .sas-container > a:link,
s4s-flow-header .sas-container > button.link:not(:disabled) {
  color: var(--color-white);
  cursor: pointer;
  text-decoration: underline;
}
s4s-flow-header-modal .sas-container > a:link:active, s4s-flow-header-modal .sas-container > a:link.active,
s4s-flow-header-modal .sas-container > button.link:not(:disabled):active,
s4s-flow-header-modal .sas-container > button.link:not(:disabled).active,
s4s-flow-header .sas-container > a:link:active,
s4s-flow-header .sas-container > a:link.active,
s4s-flow-header .sas-container > button.link:not(:disabled):active,
s4s-flow-header .sas-container > button.link:not(:disabled).active {
  background: var(--color-blue-3-hover);
}
s4s-flow-header-modal .sas-container > a:link:hover,
s4s-flow-header-modal .sas-container > button.link:not(:disabled):hover,
s4s-flow-header .sas-container > a:link:hover,
s4s-flow-header .sas-container > button.link:not(:disabled):hover {
  background: var(--background-header-hover);
  color: var(--color-white);
}
s4s-flow-header-modal .sas-container .btn-close,
s4s-flow-header .sas-container .btn-close {
  color: var(--color-white);
  position: static;
  margin: 0 0 0 auto;
  padding: 0 calc(var(--margin-normal) * 3 + 10);
  height: auto;
}
s4s-flow-header-modal .sas-container .btn-close:hover,
s4s-flow-header .sas-container .btn-close:hover {
  background: var(--background-header-hover);
}

s4s-flow-header-modal {
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
}

.sas-input[type=file] input[type=file].attached, .sas-input[data-type=file] input[type=file].attached, .sas-input[type=file] input[type=file]:not(.attached) + .label, .sas-input[data-type=file] input[type=file]:not(.attached) + .label, s4s-carousel .forward span,
s4s-carousel .rewind span {
  clip: rect(1px, 1px, 1px, 1px);
  height: 1px;
  overflow: hidden;
  position: absolute;
  white-space: nowrap;
  width: 1px;
}

.card.teaser-card.entry-card h2 {
  font-size: 1.5rem;
  line-height: 1.1666666667;
  font-weight: var(--font-weight-black);
  text-transform: uppercase;
  margin-top: var(--margin-quadra);
  margin-bottom: var(--margin-quadra);
}

.card.banner-card-link-list a, .card.teaser-card h2, .card.hotel-card h2 {
  font-size: 1.125rem;
  line-height: 1.3333333333;
  font-weight: var(--font-weight-black);
  text-transform: uppercase;
  margin-top: var(--margin-quadra);
  margin-bottom: var(--margin-quadra);
}

.card.banner-card-mini .content, .card.banner-card-link-list th, .card.image-card h2 {
  font-size: 0.875rem;
  line-height: 1.4285714286;
  font-weight: var(--font-weight-black);
  text-transform: uppercase;
  margin-top: var(--margin-triple);
  margin-bottom: var(--margin-normal);
}

.card.image-card .rich-text,
.card.image-card .rich-text p {
  font-size: 0.75rem;
  line-height: 1.3333333333;
  text-transform: initial;
}

@keyframes price-pulse {
  0%, 100% {
    background-color: var(--color-gray-1);
  }
  50% {
    background-color: var(--color-gray-2);
  }
}
s4s-calendar {
  display: block;
  width: 100%;
  /* stylelint-disable max-nesting-depth */
  /* stylelint-enable max-nesting-depth */
}
s4s-calendar[hidden] {
  display: none;
}
s4s-calendar table {
  table-layout: fixed;
  border-collapse: collapse;
  width: 100%;
}
s4s-calendar table tr:nth-child(odd) {
  background: none;
}
s4s-calendar table th,
s4s-calendar table td,
s4s-calendar table :last-child {
  text-align: center;
  padding: 0;
}
s4s-calendar table thead th {
  background: var(--color-white);
  color: var(--color-text);
}
s4s-calendar table thead th.month-header {
  font-size: 1.375rem;
  font-weight: var(--font-weight-bold);
  text-transform: uppercase;
}
s4s-calendar table thead tr:first-child th {
  font-size: 0.875rem;
  font-weight: var(--font-weight-black);
  text-transform: uppercase;
  color: var(--color-blue-3);
}
s4s-calendar table thead tr:last-child {
  border-bottom: 1px solid var(--color-gray-1);
}
s4s-calendar table thead tr:last-child th {
  font-size: 0.875rem;
  font-weight: var(--font-weight-bold);
  padding: 8px 0;
}
s4s-calendar table thead tr:last-child th:last-child {
  color: var(--color-red-hover);
}
@media (max-width: 767px) {
  s4s-calendar table tbody:focus {
    outline: 0;
  }
}
s4s-calendar table td {
  background: var(--color-white);
  margin: 0;
  padding: 0;
  width: 14.2857%;
  height: 48px;
}
s4s-calendar table button {
  display: block;
  position: relative;
  background-color: var(--color-white);
  color: var(--color-text);
  font-weight: var(--font-weight-normal);
  margin: 0;
  padding: 0;
  width: 100%;
  height: 100%;
  min-height: auto;
  max-height: none;
  border: 0;
  border-radius: 0;
  box-shadow: none;
  transition: color 1s;
}
s4s-calendar table button:not(:disabled):not(.selected):hover, s4s-calendar table button:not(:disabled):not(.selected):focus {
  background-color: var(--color-gray-1);
}
s4s-calendar table button:disabled {
  background-color: var(--color-white);
  color: var(--color-gray-2);
}
s4s-calendar table button.in-period {
  background-color: var(--color-blue-1);
  color: var(--color-text);
}
s4s-calendar table button.in-period:disabled {
  color: var(--color-gray-2);
}
s4s-calendar table button.selected {
  background-color: var(--color-blue-2);
  color: var(--color-white);
  box-shadow: none;
}
s4s-calendar table button.selected:disabled {
  color: var(--color-gray-2);
}
s4s-calendar table button.selected span {
  font-weight: 600;
}
s4s-calendar table button.btn-prev, s4s-calendar table button.btn-next {
  width: 100%;
  height: 48px;
  background: url("data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz48c3ZnIHdpZHRoPSIyMCIgaGVpZ2h0PSIyMCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgdmlld0JveD0iMCAwIDIwIDIwIj48ZGVmcz48cGF0aCBpZD0iZGphIiBkPSJNNi40NjkgNC42NDlMOC41OTQgMi41M2w3LjA1NSA3LjA4MS03LjAxIDcuMDM3LTIuMTI2LTIuMTE4IDQuOS00LjkxOXoiLz48L2RlZnM+PHVzZSB4bGluazpocmVmPSIjZGphIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGZpbGw9IiMzZjNkM2EiLz48L3N2Zz4=") no-repeat center;
  border: 1px solid var(--color-white);
}
s4s-calendar table button.btn-prev:hover, s4s-calendar table button.btn-next:hover {
  background-color: var(--color-gray-1);
  border: 1px solid var(--color-gray-1-hover);
}
s4s-calendar table button.btn-prev {
  transform: rotate(180deg);
}
s4s-calendar table .product-filters {
  display: flex;
  padding: 0 16px;
  background: var(--color-gray-1);
}
s4s-calendar table .product-filters .btn-filter {
  font-size: 0.875rem;
  width: auto;
  flex-grow: 1;
  text-transform: none;
  padding: 8px;
  margin: 0 1px;
  background: var(--color-gray-1);
}
s4s-calendar table .product-filters .btn-filter.current-view {
  border-bottom: 2px solid var(--color-blue-3);
  font-weight: var(--font-weight-bold);
  color: var(--color-blue-3);
}
@media (max-width: 767px) {
  s4s-calendar table .product-filters .btn-filter.current-view:focus {
    outline: 0;
  }
}
s4s-calendar .day-number {
  font-size: 0.875rem;
  font-weight: var(--font-weight-normal);
  line-height: normal;
  position: absolute;
  top: 10px;
  left: 0;
  width: 100%;
  text-align: center;
}
s4s-calendar .day-text {
  font-size: 0.6875rem;
  line-height: normal;
  position: absolute;
  bottom: 8px;
  left: 0;
  width: 100%;
  height: 14px;
  text-align: center;
  background-color: transparent;
  opacity: 0;
  transition: opacity 0.5s, background-color 0.5s;
}
s4s-calendar .day-bonus {
  display: none;
  position: absolute;
  top: 4px;
  right: 4px;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background-color: var(--color-bonus-gold);
}
s4s-calendar.with-prices .day-text {
  opacity: 1;
}
s4s-calendar.loading-prices button {
  overflow: hidden;
}
s4s-calendar.loading-prices button .day-text {
  text-indent: -1000px;
}
s4s-calendar.loading-prices button:not(:disabled) .day-text {
  animation: price-pulse 1.5s ease infinite;
  width: 80%;
  opacity: 1;
  left: 50%;
  transform: translateX(-50%);
}

.sas-input[type=file] input[type=file].attached, .sas-input[data-type=file] input[type=file].attached, .sas-input[type=file] input[type=file]:not(.attached) + .label, .sas-input[data-type=file] input[type=file]:not(.attached) + .label, s4s-carousel .forward span,
s4s-carousel .rewind span {
  clip: rect(1px, 1px, 1px, 1px);
  height: 1px;
  overflow: hidden;
  position: absolute;
  white-space: nowrap;
  width: 1px;
}

.card.teaser-card.entry-card h2 {
  font-size: 1.5rem;
  line-height: 1.1666666667;
  font-weight: var(--font-weight-black);
  text-transform: uppercase;
  margin-top: var(--margin-quadra);
  margin-bottom: var(--margin-quadra);
}

.card.banner-card-link-list a, .card.teaser-card h2, .card.hotel-card h2 {
  font-size: 1.125rem;
  line-height: 1.3333333333;
  font-weight: var(--font-weight-black);
  text-transform: uppercase;
  margin-top: var(--margin-quadra);
  margin-bottom: var(--margin-quadra);
}

.card.banner-card-mini .content, .card.banner-card-link-list th, .card.image-card h2 {
  font-size: 0.875rem;
  line-height: 1.4285714286;
  font-weight: var(--font-weight-black);
  text-transform: uppercase;
  margin-top: var(--margin-triple);
  margin-bottom: var(--margin-normal);
}

.card.image-card .rich-text,
.card.image-card .rich-text p {
  font-size: 0.75rem;
  line-height: 1.3333333333;
  text-transform: initial;
}

.sas-combobox {
  position: relative;
}
.sas-combobox.sas-input {
  width: auto;
  z-index: auto;
  /* .form-field {
    border: 0;
    background: none;

    input {
      border: var(--border-input);
      background-color: var(--background-input);
    }
  } */
}
.sas-combobox .btn-confirm {
  display: none;
  background: var(--color-white);
  width: 56px;
  margin: 0;
  padding: 0;
  justify-content: center;
  align-items: center;
}
.sas-combobox ul {
  position: absolute;
  z-index: 3;
  top: calc(100% - 2px);
  list-style: none;
  margin: 0;
  padding: 0;
  border: 1px solid var(--color-gray-1-hover);
  border-radius: 4px;
  background: var(--color-gray-1);
  width: 100%;
  max-width: 600px;
  max-height: 400px;
  overflow: auto;
}
.sas-combobox ul li {
  background: var(--color-white);
}
.sas-combobox ul li:nth-child(even) {
  background: var(--color-gray-1);
}
.sas-combobox ul li.key-active {
  background: var(--color-gray-2);
}
.sas-combobox ul u {
  text-decoration: underline;
  font-weight: var(--font-weight-bold);
}
.sas-combobox ul button {
  font-size: 0.875rem;
  display: flex;
  flex-flow: row nowrap;
  background: none;
  color: var(--color-text);
  font-weight: var(--font-weight-normal);
  text-transform: none;
  text-align: left;
  margin: 0;
  padding: 8px 16px 8px 12px;
  width: 100%;
  height: auto;
  min-height: auto;
  outline: 0;
}
.sas-combobox ul button > svg {
  width: 16px;
  margin-right: var(--margin-normal);
}
.sas-combobox ul button.location > svg {
  align-self: flex-start;
}
.sas-combobox ul button > div {
  flex-grow: 1;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  padding-right: 8px;
}
.sas-combobox ul button .block-item {
  display: block;
  width: 100%;
}
.sas-combobox ul button .block-item > svg {
  width: 12px;
  margin-right: var(--margin-normal);
}
.sas-combobox ul .city-airports {
  display: flex;
  flex-flow: row wrap;
}
.sas-combobox ul .city-airports > span {
  width: 100%;
}
.sas-combobox ul .subset-label {
  display: inline-block;
  line-height: normal;
  background-color: var(--color-blue-3);
  color: var(--color-white);
  padding: 1px 2px;
  border-radius: 2px;
  font-size: 10px;
  font-weight: var(--font-weight-bold);
  margin-left: var(--margin-normal);
}
@media (max-width: 767px) {
  .sas-combobox.input-layout-fixed {
    position: fixed;
    z-index: 3;
    background: var(--color-white);
    inset: 0;
    overflow: auto;
    margin: 0;
    width: 100%;
    height: 100%;
  }
  .sas-combobox.input-layout-fixed .form-field-wrap {
    display: flex;
    position: sticky;
    z-index: 3;
    top: 0;
    right: 0;
    left: 0;
    background: var(--color-white);
    padding: 12px 12px 12px 0;
    box-shadow: 0 1px 4px 2px hsl(var(--black)/0.1);
  }
  .sas-combobox.input-layout-fixed .btn-confirm {
    display: flex;
    flex-shrink: 1;
    order: 1;
  }
  .sas-combobox.input-layout-fixed .form-field {
    flex-grow: 1;
    order: 2;
  }
  .sas-combobox.input-layout-fixed ul {
    position: static;
    width: 100%;
    max-height: none;
  }
}

.sas-input[type=file] input[type=file].attached, .sas-input[data-type=file] input[type=file].attached, .sas-input[type=file] input[type=file]:not(.attached) + .label, .sas-input[data-type=file] input[type=file]:not(.attached) + .label, s4s-carousel .forward span,
s4s-carousel .rewind span {
  clip: rect(1px, 1px, 1px, 1px);
  height: 1px;
  overflow: hidden;
  position: absolute;
  white-space: nowrap;
  width: 1px;
}

.card.teaser-card.entry-card h2 {
  font-size: 1.5rem;
  line-height: 1.1666666667;
  font-weight: var(--font-weight-black);
  text-transform: uppercase;
  margin-top: var(--margin-quadra);
  margin-bottom: var(--margin-quadra);
}

.card.banner-card-link-list a, .card.teaser-card h2, .card.hotel-card h2 {
  font-size: 1.125rem;
  line-height: 1.3333333333;
  font-weight: var(--font-weight-black);
  text-transform: uppercase;
  margin-top: var(--margin-quadra);
  margin-bottom: var(--margin-quadra);
}

.card.banner-card-mini .content, .card.banner-card-link-list th, .card.image-card h2 {
  font-size: 0.875rem;
  line-height: 1.4285714286;
  font-weight: var(--font-weight-black);
  text-transform: uppercase;
  margin-top: var(--margin-triple);
  margin-bottom: var(--margin-normal);
}

.card.image-card .rich-text,
.card.image-card .rich-text p {
  font-size: 0.75rem;
  line-height: 1.3333333333;
  text-transform: initial;
}

@keyframes groupfade {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
s4s-custom-pax {
  display: inline-block;
  width: 100%;
  min-width: 256px;
}
@media (min-width: 768px) {
  s4s-custom-pax {
    width: auto;
    min-width: 320px;
  }
}
s4s-custom-pax .form-field {
  background-image: url("data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgMjQgMjQiIGlkPSJpbi0tYXJyb3ctZG93biIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48ZyBmaWxsPSIlMjMzZjNkM2EiIGZpbGwtcnVsZT0iZXZlbm9kZCIgdHJhbnNmb3JtPSJtYXRyaXgoMSAwIDAgLTEgMCAyNS4xOCkiPjxwYXRoIGlkPSJkeWEiIGQ9Ik0xMi4wOCAxMi4yMzVMNy4xMTggMTcuMTggNSAxNS4wNTUgMTIuMDggOGw3LjAzNyA3LjAxTDE3IDE3LjEzN3oiPjwvcGF0aD48L2c+PC9zdmc+");
  background-repeat: no-repeat;
  background-position: calc(100% - 16px) 50%;
  background-size: 24px;
}
s4s-custom-pax .btn-grouptoggle {
  font-size: 1rem;
  display: flex;
  margin: 0 0 16px;
  padding: 16px;
  width: 100%;
  background: var(--color-white);
  border-color: var(--color-gray-1);
  color: var(--color-text);
  font-weight: var(--font-weight-normal);
  text-transform: none;
  text-align: left;
  border-radius: 0;
}
s4s-custom-pax .btn-grouptoggle:hover, s4s-custom-pax .btn-grouptoggle:focus {
  background: var(--color-white);
}
s4s-custom-pax .btn-grouptoggle.btn-adults-children {
  display: none;
}
s4s-custom-pax .btn-grouptoggle s4s-icon {
  margin-left: auto;
  transform: rotate(180deg);
}
s4s-custom-pax .btn-confirm {
  display: none;
  background: var(--color-white);
  width: 56px;
  margin: 0;
  padding: 0;
  justify-content: center;
  align-items: center;
}
s4s-custom-pax .form-custom {
  position: absolute;
  z-index: 3;
  top: -1px;
  left: -2px;
  padding: 8px;
  border: 1px solid var(--color-gray-2);
  border-radius: 4px;
  background: var(--color-gray-1);
  width: 100%;
}
@media (min-width: 768px) {
  s4s-custom-pax .form-custom {
    padding: 16px;
    max-width: 400px;
  }
}
s4s-custom-pax .pax-group {
  display: none;
  background: var(--color-white);
  padding: 16px;
  margin-bottom: 16px;
}
s4s-custom-pax .pax-group.pax-adults-children {
  display: block;
}
s4s-custom-pax .pax-type {
  display: flex;
  align-items: baseline;
  margin-bottom: 8px;
}
s4s-custom-pax .pax-type:last-child {
  margin: 0;
}
s4s-custom-pax .pax-type > span {
  flex-grow: 1;
  padding-right: 8px;
}
s4s-custom-pax .pax-type button {
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--color-blue-2);
  color: var(--color-white);
  font-weight: var(--font-weight-black);
  margin: 0;
  padding: 0;
  width: 32px;
  min-width: 0;
  height: 32px;
  min-height: auto;
  border-radius: var(--border-radius-input);
}
s4s-custom-pax .pax-type button[disabled] {
  background: var(--color-gray-3);
}
s4s-custom-pax .pax-type .calculator {
  display: flex;
  align-items: baseline;
}
s4s-custom-pax .pax-type .calculator span {
  padding: 0 8px;
}
s4s-custom-pax .form-custom-footer {
  display: flex;
  flex-flow: row wrap;
  margin: 16px 0 0;
}
s4s-custom-pax .form-custom-footer button {
  margin: 0;
}
s4s-custom-pax .form-custom-footer button.reset {
  margin: 0 16px 0 auto;
}
s4s-custom-pax[type=adults-children] .pax-adults-children {
  display: block;
  animation-name: groupfade;
  animation-duration: 1s;
}
s4s-custom-pax[type=adults-children] .btn-adults-children {
  display: none;
}
s4s-custom-pax[type=adults-children] .pax-youths {
  display: none;
}
s4s-custom-pax[type=adults-children] .btn-youths {
  display: flex;
}
s4s-custom-pax[type=adults-children] .pax-umnr {
  display: none;
}
s4s-custom-pax[type=adults-children] .btn-umnr {
  display: flex;
}
s4s-custom-pax[type=youths] .pax-adults-children {
  display: none;
}
s4s-custom-pax[type=youths] .btn-adults-children {
  display: flex;
}
s4s-custom-pax[type=youths] .pax-youths {
  display: block;
  animation-name: groupfade;
  animation-duration: 1s;
}
s4s-custom-pax[type=youths] .btn-youths {
  display: none;
}
s4s-custom-pax[type=youths] .pax-umnr {
  display: none;
}
s4s-custom-pax[type=youths] .btn-umnr {
  display: flex;
}
s4s-custom-pax[type=umnr] .pax-adults-children {
  display: none;
}
s4s-custom-pax[type=umnr] .btn-adults-children {
  display: flex;
}
s4s-custom-pax[type=umnr] .pax-youths {
  display: none;
}
s4s-custom-pax[type=umnr] .btn-youths {
  display: flex;
}
s4s-custom-pax[type=umnr] .pax-umnr {
  display: block;
  animation-name: groupfade;
  animation-duration: 1s;
}
s4s-custom-pax[type=umnr] .btn-umnr {
  display: none;
}
@media (max-width: 767px) {
  s4s-custom-pax.input-layout-fixed {
    position: fixed;
    z-index: 3;
    background: var(--color-white);
    inset: 0;
    overflow: auto;
    margin: 0;
    width: 100%;
    height: 100%;
  }
  s4s-custom-pax.input-layout-fixed .form-field-wrap {
    display: flex;
    position: sticky;
    z-index: 3;
    top: 0;
    right: 0;
    left: 0;
    background: var(--color-white);
    padding: 12px 12px 12px 0;
    box-shadow: 0 1px 4px 2px hsl(var(--black)/0.1);
  }
  s4s-custom-pax.input-layout-fixed .btn-confirm {
    display: flex;
    flex-shrink: 1;
    order: 1;
  }
  s4s-custom-pax.input-layout-fixed .form-field {
    flex-grow: 1;
    order: 2;
  }
  s4s-custom-pax.input-layout-fixed .form-custom {
    position: static;
    width: 100%;
    height: 100%;
    max-height: none;
  }
  s4s-custom-pax.input-layout-fixed .form-custom-footer {
    position: fixed;
    inset: auto 0 0;
    width: 100%;
    height: 72px;
    padding: 12px;
    background: var(--color-white);
    box-shadow: 0 1px 4px 2px hsl(var(--black)/0.1);
  }
}

.sas-input[type=file] input[type=file].attached, .sas-input[data-type=file] input[type=file].attached, .sas-input[type=file] input[type=file]:not(.attached) + .label, .sas-input[data-type=file] input[type=file]:not(.attached) + .label, s4s-carousel .forward span,
s4s-carousel .rewind span {
  clip: rect(1px, 1px, 1px, 1px);
  height: 1px;
  overflow: hidden;
  position: absolute;
  white-space: nowrap;
  width: 1px;
}

.card.teaser-card.entry-card h2 {
  font-size: 1.5rem;
  line-height: 1.1666666667;
  font-weight: var(--font-weight-black);
  text-transform: uppercase;
  margin-top: var(--margin-quadra);
  margin-bottom: var(--margin-quadra);
}

.card.banner-card-link-list a, .card.teaser-card h2, .card.hotel-card h2 {
  font-size: 1.125rem;
  line-height: 1.3333333333;
  font-weight: var(--font-weight-black);
  text-transform: uppercase;
  margin-top: var(--margin-quadra);
  margin-bottom: var(--margin-quadra);
}

.card.banner-card-mini .content, .card.banner-card-link-list th, .card.image-card h2 {
  font-size: 0.875rem;
  line-height: 1.4285714286;
  font-weight: var(--font-weight-black);
  text-transform: uppercase;
  margin-top: var(--margin-triple);
  margin-bottom: var(--margin-normal);
}

.card.image-card .rich-text,
.card.image-card .rich-text p {
  font-size: 0.75rem;
  line-height: 1.3333333333;
  text-transform: initial;
}

s4s-datepicker {
  display: block;
  position: relative;
  scroll-behavior: smooth;
}
s4s-datepicker.sas-input {
  display: block;
  position: static;
  width: auto;
}
s4s-datepicker[triptype=ow] s4s-calendar table button.in-period:not(.selected) {
  background-color: var(--color-white);
  color: var(--color-text);
}
s4s-datepicker .form-field-wrap {
  display: flex;
}
s4s-datepicker .form-field-wrap > * {
  flex-basis: 50%;
}
s4s-datepicker .form-field-wrap .sas-input {
  display: flex;
  flex-grow: 1;
  margin: 0;
  width: auto;
}
s4s-datepicker .form-field-wrap .sas-input:last-of-type {
  margin-left: 8px;
}
s4s-datepicker .form-field-wrap .form-field {
  flex-grow: 1;
  max-height: var(--height-text-input);
}
s4s-datepicker .btn-back {
  display: none;
  background: var(--color-white);
  width: 58px;
  margin: 0;
  padding: 0;
  align-items: center;
  justify-content: center;
  flex-basis: auto;
}
s4s-datepicker .form-calendar {
  position: absolute;
  z-index: 3;
  top: 0;
  left: 0;
  right: 0;
  background: var(--color-gray-1);
  padding: 16px;
  border: 1px solid var(--color-gray-1-hover);
  overflow-x: none;
  overflow-y: auto;
  width: 100%;
}
@media (max-width: 767px) {
  s4s-datepicker .form-calendar {
    padding-bottom: 88px;
  }
}
@media (min-width: 768px) {
  s4s-datepicker .form-calendar {
    inset: 0 auto auto 50%;
    transform: translateX(-50%);
    overflow: auto;
    width: 100%;
  }
}
s4s-datepicker .form-calendar:not([hidden]) {
  display: block;
}
s4s-datepicker .form-calendar fieldset,
s4s-datepicker .form-calendar .check-radio {
  margin: 0;
}
s4s-datepicker .form-calendar input[type=checkbox] {
  width: 24px;
  height: 24px;
  padding: 0;
}
s4s-datepicker .calendar-months {
  display: flex;
  flex-flow: row wrap;
  margin-bottom: 32px;
}
@media (min-width: 768px) {
  s4s-datepicker .calendar-months {
    flex-flow: row nowrap;
  }
}
s4s-datepicker .btn-triptype {
  display: none;
  width: 100%;
  flex-shrink: 0;
  align-items: center;
  justify-content: center;
  border-radius: 4px;
  margin: 0 0 16px;
  background: var(--color-white);
  color: var(--color-text);
}
s4s-datepicker .btn-triptype:hover, s4s-datepicker .btn-triptype:focus {
  background: var(--color-gray-1);
}
@media (min-width: 768px) {
  s4s-datepicker .btn-triptype {
    width: 50%;
    box-shadow: var(--shadow-normal);
    margin: 0;
  }
}
s4s-datepicker s4s-calendar {
  width: 50%;
}
s4s-datepicker s4s-calendar[hidden] + .btn-triptype {
  display: flex;
  flex-shrink: 1;
}
s4s-datepicker .table-calendar {
  border-radius: 4px;
  margin: 0 0 16px;
  padding: 12px 0 0;
  background: var(--color-white);
}
s4s-datepicker .table-calendar:last-of-type {
  margin: 0;
}
@media (min-width: 768px) {
  s4s-datepicker .table-calendar {
    box-shadow: var(--shadow-normal);
    margin: 0 16px 0 0;
  }
  s4s-datepicker .table-calendar:last-child {
    margin: 0;
  }
}
s4s-datepicker .table-calendar:last-child {
  margin: 0;
}
s4s-datepicker .calendar-filters {
  display: flex;
  flex-flow: row wrap;
  align-items: flex-start;
  margin-bottom: 8px;
}
s4s-datepicker .calendar-filters .datepicker-info {
  display: flex;
  align-items: center;
  width: 100%;
  margin: -8px 0 16px;
  padding: 16px;
  background: var(--color-blue-1);
}
s4s-datepicker .calendar-filters .datepicker-info svg {
  color: var(--color-blue-2);
  margin-right: 12px;
}
s4s-datepicker .calendar-filters .group-label {
  display: none;
}
s4s-datepicker .calendar-filters s4s-checkradio {
  display: flex;
}
s4s-datepicker .calendar-filters s4s-checkradio > * {
  display: flex;
  align-items: center;
  margin-left: 16px;
}
s4s-datepicker .calendar-filters s4s-checkradio label {
  padding: 8px 0;
}
s4s-datepicker .calendar-filters s4s-checkradio#month-prices {
  flex-grow: 1;
}
s4s-datepicker .calendar-filters s4s-checkradio#month-prices > *:first-child {
  margin-left: 0;
}
s4s-datepicker .calendar-filters s4s-checkradio#datepicker-bookingflow {
  padding: 4px;
  margin: -4px 24px 8px 0;
  background: var(--gray-1-hover);
  border-radius: 4px;
}
s4s-datepicker .calendar-filters s4s-checkradio#datepicker-bookingflow > * {
  margin: 0 8px 0 0;
}
s4s-datepicker .calendar-filters s4s-checkradio#datepicker-bookingflow > *:last-child {
  margin-right: 0;
}
s4s-datepicker .calendar-filters .sas-bonus {
  display: none;
  margin: 8px 0 16px;
  align-items: center;
}
s4s-datepicker .calendar-filters .sas-bonus > span:first-child {
  display: inline-block;
  width: 8px;
  height: 8px;
  background: var(--color-bonus-gold);
  border-radius: 50%;
  margin-right: 6px;
}
s4s-datepicker .calendar-filters .btn-close {
  display: none;
  position: absolute;
  top: 16px;
  right: 16px;
  justify-content: center;
  align-items: center;
  background: none;
  color: var(--color-text);
  margin: -16px -16px 0 auto;
  padding: 0;
  width: 48px;
  height: 48px;
  min-height: auto;
  border: 1px solid transparent;
  line-height: normal;
}
@media (min-width: 768px) {
  s4s-datepicker .calendar-filters .btn-close {
    display: flex;
  }
}
s4s-datepicker .calendar-footer {
  display: flex;
  flex-flow: row wrap;
  margin: 16px 0 0;
}
s4s-datepicker .calendar-footer .summary {
  display: none;
  flex-grow: 1;
  text-align: left;
}
s4s-datepicker .calendar-footer .summary p {
  font: var(--font-p);
}
s4s-datepicker .calendar-footer .adult-text,
s4s-datepicker .calendar-footer .youth-text,
s4s-datepicker .calendar-footer .umnr-text {
  display: none;
}
s4s-datepicker .calendar-footer .pax-price {
  font-weight: var(--font-weight-bold);
}
s4s-datepicker .calendar-footer button {
  margin: 0;
  height: 40px;
}
s4s-datepicker .calendar-footer button.reset {
  margin: 0 12px 0 auto;
}
@media (min-width: 768px) {
  s4s-datepicker .calendar-footer button.reset {
    margin: 0 16px 0 auto;
  }
}
s4s-datepicker .check-radio {
  display: flex;
}
s4s-datepicker .check-radio > * {
  display: flex;
  margin-right: 16px;
}
@media (max-width: 767px) {
  s4s-datepicker.input-layout-fixed {
    position: fixed;
    z-index: 3;
    background: var(--color-white);
    inset: 0;
    width: 100%;
    height: 100%;
    overflow: auto;
  }
  s4s-datepicker.input-layout-fixed .form-field-wrap {
    display: flex;
    position: sticky;
    z-index: 3;
    top: 0;
    right: 0;
    left: 0;
    background: var(--color-white);
    padding: 12px 12px 12px 0;
    box-shadow: var(--shadow-normal);
  }
  s4s-datepicker.input-layout-fixed .sas-input {
    order: 2;
  }
  s4s-datepicker.input-layout-fixed .btn-back {
    display: flex;
    order: 1;
  }
  s4s-datepicker.input-layout-fixed .form-calendar {
    position: static;
  }
  s4s-datepicker.input-layout-fixed .calendar-footer {
    background: var(--color-white);
    box-shadow: var(--shadow-normal);
    display: flex;
    flex-flow: row nowrap;
    position: fixed;
    inset: auto 0 0;
    width: 100%;
    height: 72px;
    padding: 12px;
  }
  s4s-datepicker.input-layout-fixed .summary {
    padding-right: 12px;
  }
  s4s-datepicker.input-layout-fixed .summary p {
    font-size: 0.75rem;
    margin: 0;
  }
  s4s-datepicker.input-layout-fixed .summary small {
    font-size: 0.625rem;
    line-height: 12px;
    display: block;
  }
  s4s-datepicker.input-layout-fixed s4s-calendar {
    width: 100%;
  }
}

.sas-input[type=file] input[type=file].attached, .sas-input[data-type=file] input[type=file].attached, .sas-input[type=file] input[type=file]:not(.attached) + .label, .sas-input[data-type=file] input[type=file]:not(.attached) + .label, s4s-carousel .forward span,
s4s-carousel .rewind span {
  clip: rect(1px, 1px, 1px, 1px);
  height: 1px;
  overflow: hidden;
  position: absolute;
  white-space: nowrap;
  width: 1px;
}

.card.teaser-card.entry-card h2 {
  font-size: 1.5rem;
  line-height: 1.1666666667;
  font-weight: var(--font-weight-black);
  text-transform: uppercase;
  margin-top: var(--margin-quadra);
  margin-bottom: var(--margin-quadra);
}

.card.banner-card-link-list a, .card.teaser-card h2, .card.hotel-card h2 {
  font-size: 1.125rem;
  line-height: 1.3333333333;
  font-weight: var(--font-weight-black);
  text-transform: uppercase;
  margin-top: var(--margin-quadra);
  margin-bottom: var(--margin-quadra);
}

.card.banner-card-mini .content, .card.banner-card-link-list th, .card.image-card h2 {
  font-size: 0.875rem;
  line-height: 1.4285714286;
  font-weight: var(--font-weight-black);
  text-transform: uppercase;
  margin-top: var(--margin-triple);
  margin-bottom: var(--margin-normal);
}

.card.image-card .rich-text,
.card.image-card .rich-text p {
  font-size: 0.75rem;
  line-height: 1.3333333333;
  text-transform: initial;
}

.sas-form-grid {
  display: grid;
  grid-template-columns: repeat(12, 1fr);
  gap: var(--gap-normal) var(--gap-form);
  margin-top: var(--margin-double);
}
.sas-form-grid :is(.contents, fieldset) {
  display: contents;
}
.sas-form-grid .call-to-action,
.sas-form-grid .form-actions,
.sas-form-grid .sas-form-buttons {
  grid-column: 1/-1;
}
.sas-form-grid .call-to-action button,
.sas-form-grid .form-actions button,
.sas-form-grid .sas-form-buttons button {
  margin-bottom: 0;
}
.sas-form-grid s4s-input {
  width: auto;
  grid-column-end: span 12;
}
@media (min-width: 768px) {
  .sas-form-grid s4s-input {
    grid-column-end: span 6;
  }
}
.sas-form-grid > div {
  width: auto;
  grid-column-end: span 12;
}
.sas-form-grid > .sas-input,
.sas-form-grid > .sas-checkradio,
.sas-form-grid .contents > .sas-input,
.sas-form-grid .contents > .sas-checkradio,
.sas-form-grid fieldset > .sas-input,
.sas-form-grid fieldset > .sas-checkradio {
  width: auto;
  grid-column-end: span 12;
  min-width: 0;
  margin: 0;
}
.sas-form-grid > .sas-input.cvc,
.sas-form-grid > .sas-checkradio.cvc,
.sas-form-grid .contents > .sas-input.cvc,
.sas-form-grid .contents > .sas-checkradio.cvc,
.sas-form-grid fieldset > .sas-input.cvc,
.sas-form-grid fieldset > .sas-checkradio.cvc {
  grid-column-end: span 4;
}
.sas-form-grid > .sas-input.cvd,
.sas-form-grid > .sas-checkradio.cvd,
.sas-form-grid .contents > .sas-input.cvd,
.sas-form-grid .contents > .sas-checkradio.cvd,
.sas-form-grid fieldset > .sas-input.cvd,
.sas-form-grid fieldset > .sas-checkradio.cvd {
  grid-column-end: span 8;
}
.sas-form-grid > .sas-input.short-check,
.sas-form-grid > .sas-checkradio.short-check,
.sas-form-grid .contents > .sas-input.short-check,
.sas-form-grid .contents > .sas-checkradio.short-check,
.sas-form-grid fieldset > .sas-input.short-check,
.sas-form-grid fieldset > .sas-checkradio.short-check {
  grid-column-end: span 2;
}
.sas-form-grid .form-break,
.sas-form-grid .contents .form-break,
.sas-form-grid fieldset .form-break {
  grid-column: 1/-1;
}
@media (min-width: 768px) {
  .sas-form-grid > .sas-input,
  .sas-form-grid > .sas-checkradio,
  .sas-form-grid > div,
  .sas-form-grid > p,
  .sas-form-grid .contents > .sas-input,
  .sas-form-grid .contents > .sas-checkradio,
  .sas-form-grid .contents > div,
  .sas-form-grid .contents > p,
  .sas-form-grid fieldset > .sas-input,
  .sas-form-grid fieldset > .sas-checkradio,
  .sas-form-grid fieldset > div,
  .sas-form-grid fieldset > p {
    grid-column-end: span 6;
  }
  .sas-form-grid > .sas-input[label="Full Name"], .sas-form-grid > .sas-input[name^=cancelation-traveller],
  .sas-form-grid > .sas-checkradio[label="Full Name"],
  .sas-form-grid > .sas-checkradio[name^=cancelation-traveller],
  .sas-form-grid > div[label="Full Name"],
  .sas-form-grid > div[name^=cancelation-traveller],
  .sas-form-grid > p[label="Full Name"],
  .sas-form-grid > p[name^=cancelation-traveller],
  .sas-form-grid .contents > .sas-input[label="Full Name"],
  .sas-form-grid .contents > .sas-input[name^=cancelation-traveller],
  .sas-form-grid .contents > .sas-checkradio[label="Full Name"],
  .sas-form-grid .contents > .sas-checkradio[name^=cancelation-traveller],
  .sas-form-grid .contents > div[label="Full Name"],
  .sas-form-grid .contents > div[name^=cancelation-traveller],
  .sas-form-grid .contents > p[label="Full Name"],
  .sas-form-grid .contents > p[name^=cancelation-traveller],
  .sas-form-grid fieldset > .sas-input[label="Full Name"],
  .sas-form-grid fieldset > .sas-input[name^=cancelation-traveller],
  .sas-form-grid fieldset > .sas-checkradio[label="Full Name"],
  .sas-form-grid fieldset > .sas-checkradio[name^=cancelation-traveller],
  .sas-form-grid fieldset > div[label="Full Name"],
  .sas-form-grid fieldset > div[name^=cancelation-traveller],
  .sas-form-grid fieldset > p[label="Full Name"],
  .sas-form-grid fieldset > p[name^=cancelation-traveller] {
    grid-column-end: span 9;
  }
  .sas-form-grid > .sas-input[name=bic], .sas-form-grid > .sas-input[name=zip], .sas-form-grid > .sas-input[name=routingNumber], .sas-form-grid > .sas-input[name=pid],
  .sas-form-grid > .sas-checkradio[name=bic],
  .sas-form-grid > .sas-checkradio[name=zip],
  .sas-form-grid > .sas-checkradio[name=routingNumber],
  .sas-form-grid > .sas-checkradio[name=pid],
  .sas-form-grid > div[name=bic],
  .sas-form-grid > div[name=zip],
  .sas-form-grid > div[name=routingNumber],
  .sas-form-grid > div[name=pid],
  .sas-form-grid > p[name=bic],
  .sas-form-grid > p[name=zip],
  .sas-form-grid > p[name=routingNumber],
  .sas-form-grid > p[name=pid],
  .sas-form-grid .contents > .sas-input[name=bic],
  .sas-form-grid .contents > .sas-input[name=zip],
  .sas-form-grid .contents > .sas-input[name=routingNumber],
  .sas-form-grid .contents > .sas-input[name=pid],
  .sas-form-grid .contents > .sas-checkradio[name=bic],
  .sas-form-grid .contents > .sas-checkradio[name=zip],
  .sas-form-grid .contents > .sas-checkradio[name=routingNumber],
  .sas-form-grid .contents > .sas-checkradio[name=pid],
  .sas-form-grid .contents > div[name=bic],
  .sas-form-grid .contents > div[name=zip],
  .sas-form-grid .contents > div[name=routingNumber],
  .sas-form-grid .contents > div[name=pid],
  .sas-form-grid .contents > p[name=bic],
  .sas-form-grid .contents > p[name=zip],
  .sas-form-grid .contents > p[name=routingNumber],
  .sas-form-grid .contents > p[name=pid],
  .sas-form-grid fieldset > .sas-input[name=bic],
  .sas-form-grid fieldset > .sas-input[name=zip],
  .sas-form-grid fieldset > .sas-input[name=routingNumber],
  .sas-form-grid fieldset > .sas-input[name=pid],
  .sas-form-grid fieldset > .sas-checkradio[name=bic],
  .sas-form-grid fieldset > .sas-checkradio[name=zip],
  .sas-form-grid fieldset > .sas-checkradio[name=routingNumber],
  .sas-form-grid fieldset > .sas-checkradio[name=pid],
  .sas-form-grid fieldset > div[name=bic],
  .sas-form-grid fieldset > div[name=zip],
  .sas-form-grid fieldset > div[name=routingNumber],
  .sas-form-grid fieldset > div[name=pid],
  .sas-form-grid fieldset > p[name=bic],
  .sas-form-grid fieldset > p[name=zip],
  .sas-form-grid fieldset > p[name=routingNumber],
  .sas-form-grid fieldset > p[name=pid] {
    grid-column-end: span 3;
  }
  .sas-form-grid > .sas-input[name=zip] + [name=city],
  .sas-form-grid > .sas-checkradio[name=zip] + [name=city],
  .sas-form-grid > div[name=zip] + [name=city],
  .sas-form-grid > p[name=zip] + [name=city],
  .sas-form-grid .contents > .sas-input[name=zip] + [name=city],
  .sas-form-grid .contents > .sas-checkradio[name=zip] + [name=city],
  .sas-form-grid .contents > div[name=zip] + [name=city],
  .sas-form-grid .contents > p[name=zip] + [name=city],
  .sas-form-grid fieldset > .sas-input[name=zip] + [name=city],
  .sas-form-grid fieldset > .sas-checkradio[name=zip] + [name=city],
  .sas-form-grid fieldset > div[name=zip] + [name=city],
  .sas-form-grid fieldset > p[name=zip] + [name=city] {
    grid-column-end: span 9;
  }
  .sas-form-grid > .sas-input.short,
  .sas-form-grid > .sas-checkradio.short,
  .sas-form-grid > div.short,
  .sas-form-grid > p.short,
  .sas-form-grid .contents > .sas-input.short,
  .sas-form-grid .contents > .sas-checkradio.short,
  .sas-form-grid .contents > div.short,
  .sas-form-grid .contents > p.short,
  .sas-form-grid fieldset > .sas-input.short,
  .sas-form-grid fieldset > .sas-checkradio.short,
  .sas-form-grid fieldset > div.short,
  .sas-form-grid fieldset > p.short {
    grid-column-end: span 3;
  }
  .sas-form-grid > .sas-input.long,
  .sas-form-grid > .sas-checkradio.long,
  .sas-form-grid > div.long,
  .sas-form-grid > p.long,
  .sas-form-grid .contents > .sas-input.long,
  .sas-form-grid .contents > .sas-checkradio.long,
  .sas-form-grid .contents > div.long,
  .sas-form-grid .contents > p.long,
  .sas-form-grid fieldset > .sas-input.long,
  .sas-form-grid fieldset > .sas-checkradio.long,
  .sas-form-grid fieldset > div.long,
  .sas-form-grid fieldset > p.long {
    grid-column-end: span 9;
  }
  .sas-form-grid > .sas-input.full,
  .sas-form-grid > .sas-checkradio.full,
  .sas-form-grid > div.full,
  .sas-form-grid > p.full,
  .sas-form-grid .contents > .sas-input.full,
  .sas-form-grid .contents > .sas-checkradio.full,
  .sas-form-grid .contents > div.full,
  .sas-form-grid .contents > p.full,
  .sas-form-grid fieldset > .sas-input.full,
  .sas-form-grid fieldset > .sas-checkradio.full,
  .sas-form-grid fieldset > div.full,
  .sas-form-grid fieldset > p.full {
    grid-column-end: span 12;
  }
  .sas-form-grid > .sas-input.first,
  .sas-form-grid > .sas-checkradio.first,
  .sas-form-grid > div.first,
  .sas-form-grid > p.first,
  .sas-form-grid .contents > .sas-input.first,
  .sas-form-grid .contents > .sas-checkradio.first,
  .sas-form-grid .contents > div.first,
  .sas-form-grid .contents > p.first,
  .sas-form-grid fieldset > .sas-input.first,
  .sas-form-grid fieldset > .sas-checkradio.first,
  .sas-form-grid fieldset > div.first,
  .sas-form-grid fieldset > p.first {
    grid-column-start: 1;
  }
  .sas-form-grid > .sas-input.third,
  .sas-form-grid > .sas-checkradio.third,
  .sas-form-grid > div.third,
  .sas-form-grid > p.third,
  .sas-form-grid .contents > .sas-input.third,
  .sas-form-grid .contents > .sas-checkradio.third,
  .sas-form-grid .contents > div.third,
  .sas-form-grid .contents > p.third,
  .sas-form-grid fieldset > .sas-input.third,
  .sas-form-grid fieldset > .sas-checkradio.third,
  .sas-form-grid fieldset > div.third,
  .sas-form-grid fieldset > p.third {
    grid-column-end: span 4;
  }
  .sas-form-grid > .sas-input.cvc,
  .sas-form-grid > .sas-checkradio.cvc,
  .sas-form-grid > div.cvc,
  .sas-form-grid > p.cvc,
  .sas-form-grid .contents > .sas-input.cvc,
  .sas-form-grid .contents > .sas-checkradio.cvc,
  .sas-form-grid .contents > div.cvc,
  .sas-form-grid .contents > p.cvc,
  .sas-form-grid fieldset > .sas-input.cvc,
  .sas-form-grid fieldset > .sas-checkradio.cvc,
  .sas-form-grid fieldset > div.cvc,
  .sas-form-grid fieldset > p.cvc {
    grid-column-end: span 2;
  }
  .sas-form-grid > .sas-input.cvd,
  .sas-form-grid > .sas-checkradio.cvd,
  .sas-form-grid > div.cvd,
  .sas-form-grid > p.cvd,
  .sas-form-grid .contents > .sas-input.cvd,
  .sas-form-grid .contents > .sas-checkradio.cvd,
  .sas-form-grid .contents > div.cvd,
  .sas-form-grid .contents > p.cvd,
  .sas-form-grid fieldset > .sas-input.cvd,
  .sas-form-grid fieldset > .sas-checkradio.cvd,
  .sas-form-grid fieldset > div.cvd,
  .sas-form-grid fieldset > p.cvd {
    grid-column-end: span 4;
  }
  .sas-form-grid > .sas-checkradio:not(.short, .full, .third),
  .sas-form-grid .contents > .sas-checkradio:not(.short, .full, .third),
  .sas-form-grid fieldset > .sas-checkradio:not(.short, .full, .third) {
    grid-column: 1/span 9;
  }
}
.sas-form-grid > .break + .sas-input,
.sas-form-grid > .break + fieldset > .sas-input:first-child,
.sas-form-grid .form-break + .sas-input,
.sas-form-grid .form-break + fieldset > .sas-input:first-child,
.sas-form-grid .contents > .break + .sas-input,
.sas-form-grid .contents > .break + fieldset > .sas-input:first-child,
.sas-form-grid .contents .form-break + .sas-input,
.sas-form-grid .contents .form-break + fieldset > .sas-input:first-child,
.sas-form-grid fieldset > .break + .sas-input,
.sas-form-grid fieldset > .break + fieldset > .sas-input:first-child,
.sas-form-grid fieldset .form-break + .sas-input,
.sas-form-grid fieldset .form-break + fieldset > .sas-input:first-child {
  grid-column-start: 1;
}
.sas-form-grid > button[element=clone-input-button],
.sas-form-grid .contents > button[element=clone-input-button],
.sas-form-grid fieldset > button[element=clone-input-button] {
  grid-column-end: span 3;
  justify-content: flex-start;
}
.sas-form-grid > p,
.sas-form-grid > h3,
.sas-form-grid .contents > p,
.sas-form-grid .contents > h3,
.sas-form-grid fieldset > p,
.sas-form-grid fieldset > h3 {
  grid-column: 1/span 9;
  margin: 0;
}
.sas-form-grid > h3,
.sas-form-grid .contents > h3,
.sas-form-grid fieldset > h3 {
  grid-column: 1/span 9;
  margin: var(--margin-quadra) 0 0;
}
.sas-form-grid legend,
.sas-form-grid .contents legend,
.sas-form-grid fieldset legend {
  grid-column: 1/span 12;
  margin: var(--margin-double) 0 var(--margin-normal);
}
.sas-form-grid > hr,
.sas-form-grid .contents > hr,
.sas-form-grid fieldset > hr {
  grid-column: 1/13;
  margin: var(--margin-double) 0;
  width: auto;
}
.sas-form-grid fieldset.flex-fieldset {
  grid-column: 1/13;
  display: flex;
  align-items: baseline;
  justify-content: flex-start;
  flex-wrap: wrap;
  margin-bottom: 0;
}
.sas-form-grid fieldset.flex-fieldset s4s-input {
  margin-right: var(--margin-triple);
}
.sas-form-grid fieldset.flex-fieldset p {
  margin-bottom: var(--margin-normal);
  width: 100%;
}
.sas-form-grid fieldset[clone-index] {
  display: grid;
  grid-column-end: span 10;
  grid-template-columns: repeat(12, 1fr);
  gap: var(--gap-normal) var(--gap-form);
  position: relative;
}
.sas-form-grid div[element=remove-clone-wrapper] {
  grid-column-end: span 2;
  place-self: start;
}
.sas-form-grid div[element=remove-clone-wrapper] legend {
  grid-column-end: 13;
}
.sas-form-grid div[element=remove-clone-wrapper] button {
  width: var(--height-text-input);
  height: var(--height-text-input);
  display: grid;
  place-items: center;
  justify-content: center;
  cursor: pointer;
}
.sas-form-grid s4s-checkradio {
  grid-column: 1/9;
}
.sas-form-grid s4s-checkradio p {
  display: flex;
  justify-content: flex-start;
  align-items: center;
}
.sas-form-grid .grid-block {
  display: block;
  grid-column: 1/span 12;
}
.sas-form-grid .grid-block s4s-input[type=radio] {
  display: inline-flex;
  margin-right: var(--margin-quadra);
}
.sas-form-grid .grid-block s4s-input[type=radio] .form-field {
  margin: 0;
}

.form-header {
  display: flex;
  flex-direction: row wrap;
  align-items: baseline;
  justify-content: space-between;
  margin: 0 0 var(--margin-normal);
  gap: var(--margin-normal);
}
.form-header + form {
  margin: 0;
}
.form-header h2,
.form-header h3,
.form-header .h3,
.form-header .required-info {
  margin: 0;
}
.form-header .required-info {
  white-space: nowrap;
}
.form-header:empty {
  display: none;
}

.sas-form-flex {
  display: flex;
  flex-flow: row wrap;
  align-items: center;
  gap: var(--gap-form);
}
.sas-form-flex > * {
  flex-grow: 1;
  flex-basis: 100%;
  margin: 0 0 12px;
}
@media (min-width: 768px) {
  .sas-form-flex > * {
    flex-basis: auto;
  }
}

.clone-button {
  margin-bottom: var(--margin-double);
}

s4s-carousel .forward span,
s4s-carousel .rewind span, .sas-input[type=file] input[type=file]:not(.attached) + .label, .sas-input[data-type=file] input[type=file]:not(.attached) + .label, .sas-input[type=file] input[type=file].attached, .sas-input[data-type=file] input[type=file].attached {
  clip: rect(1px, 1px, 1px, 1px);
  height: 1px;
  overflow: hidden;
  position: absolute;
  white-space: nowrap;
  width: 1px;
}

.card.teaser-card.entry-card h2 {
  font-size: 1.5rem;
  line-height: 1.1666666667;
  font-weight: var(--font-weight-black);
  text-transform: uppercase;
  margin-top: var(--margin-quadra);
  margin-bottom: var(--margin-quadra);
}

.card.banner-card-link-list a, .card.teaser-card h2, .card.hotel-card h2 {
  font-size: 1.125rem;
  line-height: 1.3333333333;
  font-weight: var(--font-weight-black);
  text-transform: uppercase;
  margin-top: var(--margin-quadra);
  margin-bottom: var(--margin-quadra);
}

.card.banner-card-mini .content, .card.banner-card-link-list th, .card.image-card h2 {
  font-size: 0.875rem;
  line-height: 1.4285714286;
  font-weight: var(--font-weight-black);
  text-transform: uppercase;
  margin-top: var(--margin-triple);
  margin-bottom: var(--margin-normal);
}

.card.image-card .rich-text,
.card.image-card .rich-text p {
  font-size: 0.75rem;
  line-height: 1.3333333333;
  text-transform: initial;
}

:where(input, select, textarea) {
  font: var(--font-input);
  background-color: var(--background-input);
  border: var(--border-input);
  border-radius: var(--border-radius-input);
  color: var(--color-input);
  padding: var(--margin-normal);
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  display: inline-block;
  transition: border-color 0.5s ease, background-color 0.3s ease;
  flex-shrink: 0;
}

:where(select) {
  background-image: url('data:image/svg+xml;utf8,<svg height="20" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"><path d="m5.11740785 14.180035-2.11740785-2.1252256 7.0808568-7.0548094 7.0365511 7.0106666-2.1174079 2.1252256-4.9191432-4.90104774z" fill="hsl( 0 0% 22% )" fill-rule="evenodd" transform="rotate(180,10,10)"/></svg>');
  padding-right: calc(var(--margin-normal) * 5);
  background-position-y: 50%;
  background-position-x: calc(100% - 12px);
  background-repeat: no-repeat;
}

:where(input[type=checkbox]) {
  border: var(--border-input);
  border-radius: var(--border-radius-input);
  width: 24px;
  height: 24px;
  display: inline-block;
  vertical-align: bottom;
  padding: 0;
  transition: background-color 1s 0.5s border-color 0.1s;
  margin: 0 var(--margin-normal) 0 0;
}
:where(input[type=checkbox]):checked {
  background-image: url('data:image/svg+xml;utf8,<svg height="12" width="15" viewBox="0 0 15 12" xmlns="http://www.w3.org/2000/svg"><path d="m12.058.063 2.12 2.124-9.08 9.055-5.038-5.01 2.116-2.126 2.918 2.902z" fill="hsl( 0 0% 100% )" fill-rule="evenodd"/></svg>');
  border-color: var(--background-checked);
  background-color: var(--background-checked);
  background-position: center;
  background-repeat: no-repeat;
}

:where(input[type=radio]) {
  border: var(--border-input);
  border-radius: 50%;
  width: 20px;
  height: 20px;
  display: inline-block;
  vertical-align: bottom;
  margin: calc(var(--margin-normal) / 4) var(--margin-normal);
  padding: 0;
  flex-shrink: 0;
}
:where(input[type=radio]):first-child {
  margin-left: calc(var(--margin-normal) / 2);
}
:where(input[type=radio]):checked {
  background-image: url('data:image/svg+xml;utf8,<svg viewBox="0 0 100 100" xmlns="http://www.w3.org/2000/svg"><circle cx="50" cy="50" r="50" fill="hsl( 239 100% 37% )"/></svg>');
  background-position: center;
  background-size: 12px;
  background-repeat: no-repeat;
}
:where(input[type=radio]):checked:hover {
  background-image: url('data:image/svg+xml;utf8,<svg viewBox="0 0 100 100" xmlns="http://www.w3.org/2000/svg"><circle cx="50" cy="50" r="50" fill="hsl( 240 100% 30% )"/></svg>');
}

:where(input[type=checkbox], input[type=radio]):disabled {
  background-color: var(--color-gray-1-hover);
}
:where(input[type=checkbox], input[type=radio]):is(.switch) {
  border-radius: calc(var(--unit-grid) * 2);
  border: 0;
  display: inline-flex;
  align-items: center;
  justify-content: flex-start;
  width: calc(var(--unit-grid) * 10);
  height: calc(var(--unit-grid) * 4);
  background-color: var(--color-gray-3);
  transition: all 0.4s;
}
:where(input[type=checkbox], input[type=radio]):is(.switch)::before {
  content: "";
  border: 1px solid var(--color-blue-2);
  border-radius: calc(var(--unit-grid) * 2.5);
  display: inline-block;
  width: calc(var(--unit-grid) * 5);
  height: calc(var(--unit-grid) * 5);
  background: var(--color-white);
  transition: all 0.4s;
}
:where(input[type=checkbox], input[type=radio]):is(.switch):checked {
  background-image: none;
  background-color: var(--color-blue-2);
}
:where(input[type=checkbox], input[type=radio]):is(.switch):checked::before {
  transform: translateX(calc(var(--unit-grid) * 5 - 2px));
  border-color: var(--color-blue-2-hover);
}
:where(input[type=checkbox], input[type=radio]):is(.switch):disabled {
  background-color: var(--color-gray-1);
}
:where(input[type=checkbox], input[type=radio]):is(.switch):disabled::before {
  background-color: var(--color-gray-1);
  border-color: var(--color-gray-5);
}

fieldset {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  border: 0;
  padding: 0;
  margin: 0 0 var(--margin-double);
}
fieldset legend {
  font: var(--font-p2);
  margin-top: var(--margin-quadra);
  margin-bottom: var(--margin-triple);
  font-weight: var(--font-weight-bold);
}

.sas-checkradio {
  line-height: 1.5rem;
  display: inline-flex;
  margin-bottom: var(--margin-normal);
  align-items: center;
}
.sas-checkradio.invalid :is(input) {
  border: 1px solid var(--color-error);
}
.sas-checkradio .form-field {
  display: inline-flex;
  align-items: flex-start;
  margin-bottom: var(--margin-normal);
  padding-right: var(--margin-double);
}
.sas-checkradio .additional {
  font: var(--font-p1-sm);
  margin: 0 0 0 var(--margin-quadra);
}

.sas-input {
  display: inline-flex;
  flex-direction: column;
  align-items: stretch;
  position: relative;
  margin-bottom: var(--margin-normal);
}
.sas-input[type=hidden] {
  visibility: hidden;
  position: absolute;
  left: calc(-1 * var(--width-page));
}
.sas-input[type=hidden] .label {
  display: none;
}
.sas-input.invalid .form-field {
  border: 1px solid var(--color-error);
}
.sas-input[disabled] .form-field {
  background: var(--background-input-disabled);
}
.sas-input .form-field {
  display: flex;
  align-items: center;
  position: relative;
  border: var(--border-input);
  border-radius: var(--border-radius-input);
  background-color: var(--background-input);
}
.sas-input .form-field input,
.sas-input .form-field select,
.sas-input .form-field textarea {
  border: 0;
  flex-grow: 1;
  background-color: transparent;
}
.sas-input .form-field input:hover, .sas-input .form-field input:focus,
.sas-input .form-field select:hover,
.sas-input .form-field select:focus,
.sas-input .form-field textarea:hover,
.sas-input .form-field textarea:focus {
  background-color: transparent;
}
.sas-input .form-field:hover {
  background-color: var(--background-input-hover);
}
.sas-input .form-field:focus-within {
  outline: var(--outline-focus);
  outline-offset: 2px;
}
.sas-input .form-field:focus-within input,
.sas-input .form-field:focus-within select,
.sas-input .form-field:focus-within textarea {
  outline: none;
}
.sas-input .form-field:active {
  outline: 0;
}
.sas-input .form-field-icon {
  width: calc(24px + var(--margin-normal) * 2);
  height: calc(24px + var(--margin-normal) * 4);
  color: var(--color-text);
  padding: var(--margin-double) var(--margin-double) var(--margin-double) 0;
  cursor: help;
}
.sas-input :where(input, select) {
  height: calc(var(--height-text-input) - 2px);
}
.sas-input :where(textarea) {
  height: calc(var(--height-text-input) + 15rem);
}
.sas-input[type=hidden], .sas-input[type=hidden] label {
  visibility: hidden;
  position: absolute;
  left: calc(-1 * var(--width-page));
}
.sas-input[disabled=true] .form-field {
  background: var(--background-input-disabled);
}
.sas-input.block-element {
  display: block;
  width: auto;
}
.sas-input.focused.combo-box, .sas-input:focus-within.combo-box,
.sas-input textarea:not(:empty).combo-box {
  z-index: 1;
}
.sas-input.focused .label,
.sas-input.focused + .label, .sas-input:focus-within .label,
.sas-input:focus-within + .label,
.sas-input textarea:not(:empty) .label,
.sas-input textarea:not(:empty) + .label {
  top: calc(var(--height-text-input) / 3.5);
  transform: translateY(-50%) scale(0.75);
  z-index: 1;
}
.sas-input .label {
  position: absolute;
  top: calc(var(--height-text-input) / 2);
  transform-origin: 0 0;
  transform: translateY(-50%);
  left: var(--margin-double);
  max-width: calc(100% - 48px);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  color: var(--color-gray-5-hover);
  transition: top 0.25s, transform 0.25s;
  z-index: 0;
}
.sas-input .show-hide {
  font: var(--font-p1-sm);
  display: grid;
  place-items: center;
  color: var(--color-link);
  height: var(--size-tooltip);
  margin-left: calc(-1 * var(--size-tooltip));
  flex-basis: var(--size-tooltip);
}
.sas-input input,
.sas-input select,
.sas-input textarea {
  display: flex;
  padding: var(--margin-double) var(--margin-double) 0;
  align-items: center;
  width: 100%;
}
.sas-input input:focus,
.sas-input select:focus,
.sas-input textarea:focus {
  background-color: var(--background-form);
  outline-color: transparent;
}
.sas-input select {
  padding-right: var(--margin-quadra);
}
.sas-input textarea {
  padding: var(--margin-triple) var(--margin-double) var(--margin-normal);
}
.sas-input[type=file], .sas-input[data-type=file] {
  /* stylelint-disable max-nesting-depth */
  /* stylelint-enable max-nesting-depth */
}
.sas-input[type=file] .form-field, .sas-input[data-type=file] .form-field {
  display: inline-flex;
  align-self: flex-start;
  border: 0;
  background-color: transparent;
  padding: 0;
  margin: 0 0 var(--margin-normal);
  overflow: visible;
  height: auto;
}
.sas-input[type=file] .form-field:hover, .sas-input[data-type=file] .form-field:hover {
  background-color: transparent;
}
.sas-input[type=file] .form-field:focus-within, .sas-input[data-type=file] .form-field:focus-within {
  outline: none;
}
.sas-input[type=file] input[type=file], .sas-input[data-type=file] input[type=file] {
  display: flex;
  overflow: visible;
  margin: -4px;
  padding: 4px;
  height: auto;
}
.sas-input[type=file] input[type=file]:focus-visible::file-selector-button, .sas-input[data-type=file] input[type=file]:focus-visible::file-selector-button {
  outline: var(--outline-focus);
  outline-offset: 2px;
}
.sas-input[type=file] input[type=file].attached + .label, .sas-input[data-type=file] input[type=file].attached + .label {
  font: var(--font-p2);
  display: flex;
  justify-content: flex-start;
  position: static;
  margin: var(--margin-normal) 0 calc(0 - var(--margin-normal) * 2);
}
.sas-input[type=file] input[type=file].attached + .label s4s-icon, .sas-input[data-type=file] input[type=file].attached + .label s4s-icon {
  color: var(--color-icon);
  margin-right: var(--margin-double);
}
.sas-input[type=file] input[type=file].attached + .label .file-name, .sas-input[data-type=file] input[type=file].attached + .label .file-name {
  overflow: hidden;
  text-overflow: ellipsis;
}
.sas-input[type=file] input[type=file].attached + .label .file-size, .sas-input[data-type=file] input[type=file].attached + .label .file-size {
  flex-shrink: 0;
}
.sas-input[type=file] input[type=file].attached + .label span, .sas-input[data-type=file] input[type=file].attached + .label span {
  margin-right: var(--margin-double);
}
.sas-input[type=file] input[type=file].attached + .label button, .sas-input[data-type=file] input[type=file].attached + .label button {
  flex-shrink: 0;
}
.sas-input[type=file] input[type=file].attached::after, .sas-input[data-type=file] input[type=file].attached::after {
  content: [value];
}
.sas-input[type=file] input[type=file].attached::file-selector-button, .sas-input[data-type=file] input[type=file].attached::file-selector-button {
  display: none;
}
.sas-input[type=file]:focus-visible, .sas-input[data-type=file]:focus-visible {
  outline: none;
  box-shadow: none;
}
.sas-input[type=file]:focus-visible::file-selector-button, .sas-input[data-type=file]:focus-visible::file-selector-button {
  outline: none;
  box-shadow: var(--box-shadow-focus);
}
.sas-input [aria-expanded=true] .input-listbox-container {
  display: block;
}
.sas-input .input-listbox-container {
  display: none;
  position: absolute;
  top: calc(100% + 14px);
  left: -8px;
  z-index: 4;
  width: 100%;
}
.sas-input .input-listbox-container::before {
  content: "";
  position: absolute;
  top: -10px;
  left: 16px;
  z-index: 2;
  border-style: solid;
  border-width: 10px;
  border-color: transparent var(--color-gray-1-hover) var(--color-gray-1-hover) transparent;
  border-radius: var(--border-radius-input);
  transform: rotate(-135deg);
}
.sas-input .input-listbox-container.visible {
  display: block;
}
.sas-input .input-listbox {
  min-width: calc(100% + 16px);
  max-width: 150%;
  max-height: 300px;
  overflow-x: visible;
  overflow-y: auto;
  list-style: none;
  border: 8px solid var(--color-gray-1-hover);
  border-radius: var(--border-radius-input);
  box-shadow: 0 2px 4px 0 var(--color-gray-2);
  background: var(--color-white);
  scroll-behavior: smooth;
  margin: 0;
  padding: 0;
}
.sas-input .input-listbox li {
  font-size: 0.875rem;
  padding: 5px 8px;
  height: 46px;
  cursor: pointer;
  border-bottom: 1px solid var(--color-gray-1);
  line-height: normal;
}
.sas-input .input-listbox li:last-child {
  border: 0;
}
.sas-input .input-listbox li:hover, .sas-input .input-listbox li.chosen {
  background: var(--color-gray-1);
}
.sas-input .input-listbox .value-1,
.sas-input .input-listbox .value-2 {
  display: block;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.sas-input .input-listbox .value-1 {
  font-size: 0.75rem;
}
.sas-input .input-listbox .value-1 + .value-2 {
  font-weight: var(--font-weight-black);
  margin-top: 2px;
}
.sas-input .input-listbox .value-2 {
  margin-top: 8px;
}
.sas-input[info-text] input:not([type=radio], [type=checkbox]),
.sas-input[info-text] select,
.sas-input[info-text] textarea, .sas-input[show-password] input:not([type=radio], [type=checkbox]),
.sas-input[show-password] select,
.sas-input[show-password] textarea {
  padding-right: var(--size-tooltip);
}
.sas-input[type=file] form-field, .sas-input[type=file] form-field:hover, .sas-input[type=file] form-field:focus,
.sas-input[type=file] input[type=file],
.sas-input[type=file] input[type=file]:hover,
.sas-input[type=file] input[type=file]:focus {
  border: 0;
  background: transparent;
}

.sas-input,
.sas-checkradio {
  /* stylelint-disable max-nesting-depth */
  /* stylelint-enable max-nesting-depth */
}
.sas-input .message,
.sas-checkradio .message {
  font: var(--font-input);
  margin: var(--margin-normal) 0;
  display: none;
  align-items: center;
  z-index: 1;
  transition: opacity 0.5s;
}
.sas-input .message .sas-icon,
.sas-checkradio .message .sas-icon {
  margin-right: calc(var(--margin-normal) / 2);
}
.sas-input .message:empty,
.sas-checkradio .message:empty {
  display: none;
}
.sas-input.invalid .message,
.sas-checkradio.invalid .message {
  color: var(--color-error);
  display: flex;
}
.sas-input.invalid .message::before,
.sas-checkradio.invalid .message::before {
  content: url('data:image/svg+xml;utf8,<svg width="20" height="20" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20"><path d="M11.583 13.648H8.142V17h3.44v-3.352zM11.724 4H8l.426 8.477h2.873L11.724 4z" fill="hsl( 0 0% 100% )" fill-rule="evenodd"/></svg>');
  background-color: var(--color-error);
  margin-right: var(--margin-normal);
  display: inline-flex;
  place-content: center;
  border-radius: 50%;
  scale: 0.8;
  width: 20px;
  height: 20px;
}
.sas-input.success .form-field,
.sas-checkradio.success .form-field {
  border: 1px solid var(--color-success);
}
.sas-input.success .message,
.sas-checkradio.success .message {
  display: flex;
  opacity: 1;
  color: var(--color-success-hover);
}
.sas-input .rich-text,
.sas-checkradio .rich-text {
  margin: 0;
}
.sas-input.required .label:not(.rich-text)::after,
.sas-checkradio.required .label:not(.rich-text)::after {
  content: " *";
}
.sas-input.required .label.rich-text > :last-child::after,
.sas-checkradio.required .label.rich-text > :last-child::after {
  content: " *";
}

.form-row-responsive {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  align-self: stretch;
  flex-wrap: wrap;
}
.form-row-responsive s4s-input,
.form-row-responsive s4s-password-hardening-input {
  align-self: flex-start;
  flex-basis: 100%;
}
.form-row-responsive s4s-input [info-text],
.form-row-responsive s4s-password-hardening-input [info-text] {
  padding-right: 44px;
}
.form-row-responsive s4s-input input,
.form-row-responsive s4s-password-hardening-input input {
  align-self: center;
}
.form-row-responsive .additional {
  font: var(--font-p1-sm);
  margin: 0 0 0 var(--margin-quadra);
}
.form-row-responsive:last-child .form-field {
  padding-right: 0;
}
@media (min-width: 768px) {
  .form-row-responsive {
    flex-wrap: nowrap;
    gap: var(--gap-form);
  }
  .form-row-responsive s4s-input,
  .form-row-responsive s4s-password-hardening-input {
    flex: 1 0 0;
  }
}

s4s-general-form .sas-container,
s4s-iban-refund .sas-container {
  display: block;
  padding: var(--margin-double);
  max-width: var(--width-page);
}
@media (min-width: 768px) {
  s4s-general-form .sas-container,
  s4s-iban-refund .sas-container {
    margin-top: calc(var(--margin-normal) * 5);
  }
}
s4s-general-form .main-info,
s4s-iban-refund .main-info {
  margin-bottom: var(--margin-quadra);
}
s4s-general-form .rich-text blockquote,
s4s-iban-refund .rich-text blockquote {
  background: var(--background-highlight);
  display: flex;
  align-items: center;
  padding: var(--margin-triple);
  margin: 0;
}
s4s-general-form .rich-text blockquote::before,
s4s-iban-refund .rich-text blockquote::before {
  content: url('data:image/svg+xml;utf8,<svg width="20" height="20" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20"><path d="M11.583 13.648H8.142V17h3.44v-3.352zM11.724 4H8l.426 8.477h2.873L11.724 4z" fill="hsl( 0 0% 100% )" fill-rule="evenodd"/></svg>');
  margin-right: var(--margin-double);
  background: var(--color-icon);
  width: 20px;
  height: 20px;
  border-radius: 50%;
  padding: 2px;
  flex-shrink: 0;
  transform: scale(0.8);
}

.required-info {
  font: var(--font-p1-sm);
}
@media (min-width: 768px) {
  .required-info {
    text-align: right;
    margin-left: auto;
    white-space: nowrap;
  }
}
.flexbox-responsive .required-info {
  margin-bottom: calc(var(--margin-normal) * 2);
}

s4s-form {
  display: block;
  background: var(--background-form);
  padding: var(--margin-quadra);
  border-radius: var(--border-radius-normal);
}

.discover s4s-form {
  --background-form: var(--color-gray-1);
}

s4s-input {
  display: block;
}

s4s-checkradio p {
  display: flex;
  margin-bottom: var(--margin-normal);
  align-items: center;
}
s4s-checkradio p:last-child {
  margin-bottom: var(--margin-normal);
}
s4s-checkradio[disabled=true] .form-field {
  color: var(--background-input-disabled);
}

s4s-carousel .forward span,
s4s-carousel .rewind span, .sas-input[type=file] input[type=file]:not(.attached) + .label, .sas-input[data-type=file] input[type=file]:not(.attached) + .label, .sas-input[type=file] input[type=file].attached, .sas-input[data-type=file] input[type=file].attached {
  clip: rect(1px, 1px, 1px, 1px);
  height: 1px;
  overflow: hidden;
  position: absolute;
  white-space: nowrap;
  width: 1px;
}

.card.teaser-card.entry-card h2 {
  font-size: 1.5rem;
  line-height: 1.1666666667;
  font-weight: var(--font-weight-black);
  text-transform: uppercase;
  margin-top: var(--margin-quadra);
  margin-bottom: var(--margin-quadra);
}

.card.banner-card-link-list a, .card.teaser-card h2, .card.hotel-card h2 {
  font-size: 1.125rem;
  line-height: 1.3333333333;
  font-weight: var(--font-weight-black);
  text-transform: uppercase;
  margin-top: var(--margin-quadra);
  margin-bottom: var(--margin-quadra);
}

.card.banner-card-mini .content, .card.banner-card-link-list th, .card.image-card h2 {
  font-size: 0.875rem;
  line-height: 1.4285714286;
  font-weight: var(--font-weight-black);
  text-transform: uppercase;
  margin-top: var(--margin-triple);
  margin-bottom: var(--margin-normal);
}

.card.image-card .rich-text,
.card.image-card .rich-text p {
  font-size: 0.75rem;
  line-height: 1.3333333333;
  text-transform: initial;
}

.hardening-list {
  font-size: 0.75rem;
  line-height: 1.6666666667;
  background: var(--color-gray-1);
  margin: var(--margin-normal) 0;
  padding: var(--margin-normal) 0;
  -moz-columns: 2;
       columns: 2;
}
.hardening-list li {
  display: flex;
  padding: 0;
}
.hardening-list li::before {
  content: "•";
  text-align: center;
  width: 20px;
  margin: 0;
  color: var(--color-blue-2);
}
.hardening-list li.ok span {
  text-decoration: none;
  text-decoration-color: var(--color-green-hover);
}
.hardening-list li.ok::before {
  content: url('data:image/svg+xml;utf8,<svg height="12" width="15" viewBox="0 0 15 12" xmlns="http://www.w3.org/2000/svg"><path d="m12.058.063 2.12 2.124-9.08 9.055-5.038-5.01 2.116-2.126 2.918 2.902z" fill="hsl( 151 49% 52% )" fill-rule="evenodd"/></svg>');
  transform: scale(0.8);
  color: var(--color-green-hover);
  width: 20px;
  margin: 0;
  position: relative;
  top: 1px;
  left: 1px;
}
.hardening-list li.not-ok {
  color: var(--color-red-hover);
}
.hardening-list li.not-ok::before {
  color: var(--color-red-hover);
}

s4s-carousel .forward span,
s4s-carousel .rewind span, .sas-input[type=file] input[type=file]:not(.attached) + .label, .sas-input[data-type=file] input[type=file]:not(.attached) + .label, .sas-input[type=file] input[type=file].attached, .sas-input[data-type=file] input[type=file].attached {
  clip: rect(1px, 1px, 1px, 1px);
  height: 1px;
  overflow: hidden;
  position: absolute;
  white-space: nowrap;
  width: 1px;
}

.card.teaser-card.entry-card h2 {
  font-size: 1.5rem;
  line-height: 1.1666666667;
  font-weight: var(--font-weight-black);
  text-transform: uppercase;
  margin-top: var(--margin-quadra);
  margin-bottom: var(--margin-quadra);
}

.card.banner-card-link-list a, .card.teaser-card h2, .card.hotel-card h2 {
  font-size: 1.125rem;
  line-height: 1.3333333333;
  font-weight: var(--font-weight-black);
  text-transform: uppercase;
  margin-top: var(--margin-quadra);
  margin-bottom: var(--margin-quadra);
}

.card.banner-card-mini .content, .card.banner-card-link-list th, .card.image-card h2 {
  font-size: 0.875rem;
  line-height: 1.4285714286;
  font-weight: var(--font-weight-black);
  text-transform: uppercase;
  margin-top: var(--margin-triple);
  margin-bottom: var(--margin-normal);
}

.card.image-card .rich-text,
.card.image-card .rich-text p {
  font-size: 0.75rem;
  line-height: 1.3333333333;
  text-transform: initial;
}

@media (prefers-reduced-motion: no-preference) {
  @keyframes gradientload {
    0% {
      transform: translateY(100cqh);
    }
    100% {
      transform: translateY(0);
    }
  }
}
s4s-gradient {
  position: absolute;
  width: 100%;
  top: 200px;
  filter: blur(30px);
}
@container (min-width: 768px) {
  s4s-gradient.top {
    rotate: 180deg;
    top: auto;
    bottom: 200px;
  }
}
s4s-gradient .wavey {
  width: calc(100% + 100px);
  transform-origin: top center;
  margin: -100px -50px;
}

s4s-hero {
  --height-hero: 22.5rem;
  display: grid;
  grid-template-areas: "stack";
  width: 100vw;
  place-items: stretch;
  overflow: hidden;
  position: relative;
  left: 50%;
  transform: translateX(-50%);
  height: var(--height-hero);
  isolation: isolate;
}
s4s-hero > * {
  grid-area: stack;
}
s4s-hero s4s-video,
s4s-hero s4s-image {
  height: var(--height-hero);
  z-index: -1;
}
s4s-hero .hero-content {
  display: grid;
  position: relative;
  grid-template-areas: "stacks";
  place-self: end stretch;
  height: auto;
  overflow: hidden;
}
s4s-hero .hero-content > * {
  grid-area: stacks;
}
s4s-hero .hero-content .card-content {
  padding-block: calc(var(--margin-normal) * 18) calc(var(--margin-double) * 3);
  color: var(--color-white);
  text-align: center;
  z-index: 4;
}
s4s-hero .hero-content .card-content h1 {
  color: currentColor;
  line-height: 1.3;
  margin: 0;
}
s4s-hero s4s-gradient {
  display: grid;
  grid-template-areas: "gradient-stack";
  top: calc(var(--margin-normal) * 10);
}
s4s-hero s4s-gradient > * {
  grid-area: gradient-stack;
}

s4s-image.sas-image-fill,
.sas-image.sas-image-fill {
  position: absolute;
  inset: 0;
}
s4s-image.ratio-16-9,
.sas-image.ratio-16-9 {
  aspect-ratio: 16/9;
}
s4s-image img,
.sas-image img {
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: 50% 50%;
     object-position: 50% 50%;
  width: 100%;
  height: 100%;
  z-index: 0;
}
s4s-image s4s-splash,
.sas-image s4s-splash {
  z-index: 1;
}
s4s-image s4s-loading,
.sas-image s4s-loading {
  position: absolute;
  inset: 0;
  z-index: -1;
}

@keyframes fading {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@keyframes popping {
  from {
    transform: scale(1);
  }
  to {
    transform: scale(0.2);
  }
}
@keyframes bounce {
  from {
    transform: translateY(0);
  }
  to {
    transform: translateY(calc(-2 * var(--margin-normal)));
  }
}
@keyframes combo {
  from {
    opacity: 0.5;
    transform: translateY(0) scale(0.5);
  }
  to {
    opacity: 1;
    transform: translateY(calc(-2 * var(--margin-normal))) scale(1);
  }
}
s4s-loading {
  --opacity: 0;
  --animation-length: 1.5s;
  --animation-name: fading;
  --animation-timing-function: cubic-bezier(.46, .07, .97, .54);
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--color-blue-3);
}
s4s-loading .bullets {
  display: flex;
}
s4s-loading .bullets span {
  opacity: var(--opacity);
  width: var(--margin-normal);
  height: var(--margin-normal);
  border-radius: 50%;
  background: currentColor;
  margin: 1px;
  animation: var(--animation-name) calc(var(--animation-length) / 2) var(--animation-timing-function) infinite alternate;
}
s4s-loading .bullets span:nth-child(2) {
  animation-delay: calc(var(--animation-length) * 0.3333333333);
}
s4s-loading .bullets span:nth-child(3) {
  animation-delay: calc(var(--animation-length) * 0.6666666667);
}
s4s-loading.popping {
  --animation-name: popping;
  --animation-length: 2s;
  --animation-timing-function: ease-in-out;
  --opacity: 1;
}
s4s-loading.bouncing {
  --animation-name: bounce;
  --animation-length: 1s;
  --animation-timing-function: cubic-bezier(0, .54, .52, .99);
  --opacity: 1;
}
s4s-loading.combining {
  --animation-name: combo;
  --animation-length: .7s;
  --animation-timing-function: cubic-bezier(0, .54, .52, .99);
  --opacity: 1;
}

s4s-carousel .forward span,
s4s-carousel .rewind span, .sas-input[type=file] input[type=file]:not(.attached) + .label, .sas-input[data-type=file] input[type=file]:not(.attached) + .label, .sas-input[type=file] input[type=file].attached, .sas-input[data-type=file] input[type=file].attached {
  clip: rect(1px, 1px, 1px, 1px);
  height: 1px;
  overflow: hidden;
  position: absolute;
  white-space: nowrap;
  width: 1px;
}

.card.teaser-card.entry-card h2 {
  font-size: 1.5rem;
  line-height: 1.1666666667;
  font-weight: var(--font-weight-black);
  text-transform: uppercase;
  margin-top: var(--margin-quadra);
  margin-bottom: var(--margin-quadra);
}

.card.banner-card-link-list a, .card.teaser-card h2, .card.hotel-card h2 {
  font-size: 1.125rem;
  line-height: 1.3333333333;
  font-weight: var(--font-weight-black);
  text-transform: uppercase;
  margin-top: var(--margin-quadra);
  margin-bottom: var(--margin-quadra);
}

.card.banner-card-mini .content, .card.banner-card-link-list th, .card.image-card h2 {
  font-size: 0.875rem;
  line-height: 1.4285714286;
  font-weight: var(--font-weight-black);
  text-transform: uppercase;
  margin-top: var(--margin-triple);
  margin-bottom: var(--margin-normal);
}

.card.image-card .rich-text,
.card.image-card .rich-text p {
  font-size: 0.75rem;
  line-height: 1.3333333333;
  text-transform: initial;
}

@keyframes modalfade {
  from {
    background: hsl(var(--black)/0);
  }
  to {
    background: var(--background-overlay);
  }
}
s4s-modal {
  position: fixed;
  inset: 0;
  z-index: 12;
}
s4s-modal:not([hidden]) {
  display: block;
  animation-name: modalfade;
  animation-duration: 0.2s;
  background: var(--background-overlay);
}
@media (min-width: 768px) {
  s4s-modal {
    z-index: 10;
  }
}

.modal {
  font-size: 1rem;
  position: absolute;
  display: none;
  inset: 0;
  z-index: 14;
  overflow-y: auto;
  padding-bottom: calc(var(--margin-normal) * 12);
}
.modal.open {
  display: block;
}
.modal .modal-content {
  display: block;
  position: relative;
  background: var(--color-white);
  width: 100vw;
  min-height: 100vh;
  padding: 32px;
}
.modal .modal-content p {
  color: var(--color-text);
}
@media (min-width: 768px) {
  .modal .modal-content {
    position: absolute;
    top: calc(var(--margin-normal) * 12);
    left: 50%;
    transform: translateX(-50%);
    width: 768px;
    min-height: auto;
    padding: calc(var(--margin-normal) * 5) calc(var(--margin-normal) * 6);
    border-radius: var(--border-radius-normal);
  }
}
@media (min-width: 992px) {
  .modal.modal-wide .modal-content {
    width: 992px;
  }
}
.modal.modal-wide .modal-title {
  margin: 0 0 32px;
}
.modal.modal-wide .btn-yes {
  width: auto;
  margin: 0;
  order: 1;
}
.modal.modal-wide .btn-no {
  width: auto;
  margin: 0 16px 0 auto;
  padding: 0;
}
@media (min-width: 992px) {
  .modal.modal-small .modal-content {
    width: 536px;
  }
}
.modal .reset.btn-link {
  cursor: pointer;
}
.modal .sas-icon-close {
  font-size: 1rem;
}
.modal .modal-title {
  font-size: 1.5rem;
  line-height: 1.1666666667;
  padding-right: 16px;
  margin: 16px 0 32px;
  color: var(--color-blue-3);
}
.modal .call-to-action {
  margin-top: 32px;
}
@media (min-width: 768px) {
  .modal .sas-form-grid > legend,
  .modal .sas-form-grid > p,
  .modal .sas-form-grid :is(.contents, fieldset, s4s-input) > legend,
  .modal .sas-form-grid :is(.contents, fieldset, s4s-input) > p {
    grid-column-end: span 8;
  }
}

s4s-carousel .forward span,
s4s-carousel .rewind span, .sas-input[type=file] input[type=file]:not(.attached) + .label, .sas-input[data-type=file] input[type=file]:not(.attached) + .label, .sas-input[type=file] input[type=file].attached, .sas-input[data-type=file] input[type=file].attached {
  clip: rect(1px, 1px, 1px, 1px);
  height: 1px;
  overflow: hidden;
  position: absolute;
  white-space: nowrap;
  width: 1px;
}

.card.teaser-card.entry-card h2 {
  font-size: 1.5rem;
  line-height: 1.1666666667;
  font-weight: var(--font-weight-black);
  text-transform: uppercase;
  margin-top: var(--margin-quadra);
  margin-bottom: var(--margin-quadra);
}

.card.banner-card-link-list a, .card.teaser-card h2, .card.hotel-card h2 {
  font-size: 1.125rem;
  line-height: 1.3333333333;
  font-weight: var(--font-weight-black);
  text-transform: uppercase;
  margin-top: var(--margin-quadra);
  margin-bottom: var(--margin-quadra);
}

.card.banner-card-mini .content, .card.banner-card-link-list th, .card.image-card h2 {
  font-size: 0.875rem;
  line-height: 1.4285714286;
  font-weight: var(--font-weight-black);
  text-transform: uppercase;
  margin-top: var(--margin-triple);
  margin-bottom: var(--margin-normal);
}

.card.image-card .rich-text,
.card.image-card .rich-text p {
  font-size: 0.75rem;
  line-height: 1.3333333333;
  text-transform: initial;
}

s4s-note {
  margin: var(--margin-double);
  padding: calc(var(--margin-normal) * 5) var(--margin-triple);
  background: var(--color-blue-1);
  position: relative;
  border-radius: var(--border-radius-normal);
  display: inline-block;
}
s4s-note .noteHeading {
  font-size: 0.625rem;
  line-height: 1.6;
  display: inline-block;
  position: absolute;
  top: 0;
  left: 50%;
  transform: translate(-50%, -50%);
  background: var(--color-blue-2);
  border-radius: var(--border-radius-normal);
  padding: 0 calc(var(--margin-normal) + var(--margin-normal) / 2);
  color: var(--color-white);
}

s4s-carousel .forward span,
s4s-carousel .rewind span, .sas-input[type=file] input[type=file]:not(.attached) + .label, .sas-input[data-type=file] input[type=file]:not(.attached) + .label, .sas-input[type=file] input[type=file].attached, .sas-input[data-type=file] input[type=file].attached {
  clip: rect(1px, 1px, 1px, 1px);
  height: 1px;
  overflow: hidden;
  position: absolute;
  white-space: nowrap;
  width: 1px;
}

.card.teaser-card.entry-card h2 {
  font-size: 1.5rem;
  line-height: 1.1666666667;
  font-weight: var(--font-weight-black);
  text-transform: uppercase;
  margin-top: var(--margin-quadra);
  margin-bottom: var(--margin-quadra);
}

.card.banner-card-link-list a, .card.teaser-card h2, .card.hotel-card h2 {
  font-size: 1.125rem;
  line-height: 1.3333333333;
  font-weight: var(--font-weight-black);
  text-transform: uppercase;
  margin-top: var(--margin-quadra);
  margin-bottom: var(--margin-quadra);
}

.card.banner-card-mini .content, .card.banner-card-link-list th, .card.image-card h2 {
  font-size: 0.875rem;
  line-height: 1.4285714286;
  font-weight: var(--font-weight-black);
  text-transform: uppercase;
  margin-top: var(--margin-triple);
  margin-bottom: var(--margin-normal);
}

.card.image-card .rich-text,
.card.image-card .rich-text p {
  font-size: 0.75rem;
  line-height: 1.3333333333;
  text-transform: initial;
}

s4s-notification {
  display: block;
  position: relative;
  z-index: 12;
}

.s4s-notification {
  font-size: 0.875rem;
  line-height: 1.1428571429;
  background-color: var(--color-blue-1);
  display: flex;
  justify-content: stretch;
  align-items: stretch;
  margin: 0;
  min-height: 56px;
  position: relative;
  z-index: 12;
}
.s4s-notification > a {
  display: flex;
  justify-content: stretch;
  align-items: stretch;
  flex-grow: 1;
  text-decoration: none;
  transition: background-color 0.2s;
}
.s4s-notification .sas-container {
  display: flex;
  align-items: center;
  justify-content: center;
}
@media (min-width: 768px) {
  .s4s-notification .sas-container {
    position: relative;
  }
}
.s4s-notification .sas-container svg.sas-icon {
  color: var(--color-icon);
}
.s4s-notification.sticky {
  z-index: 73;
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
}
.s4s-notification a {
  background-color: transparent;
  color: inherit;
}
.s4s-notification-notification {
  background-color: var(--color-blue-1);
  color: var(--color-text);
}
.s4s-notification-notification a:hover {
  background-color: var(--color-blue-1-hover);
}
.s4s-notification-notification button, .s4s-notification-notification {
  color: var(--color-text);
}
.s4s-notification-error {
  --color-icon: var(--color-white);
  background-color: var(--color-red);
  color: var(--color-white);
}
.s4s-notification-error a:hover {
  background-color: var(--color-red-hover);
}
.s4s-notification-error button, .s4s-notification-error {
  color: var(--color-white);
}
.s4s-notification-error .sas-icon {
  color: var(--color-white);
}
.s4s-notification-success {
  --color-icon: var(--color-white);
  background-color: var(--color-green);
  color: var(--color-white);
}
.s4s-notification-success a:hover {
  background-color: var(--color-green-hover);
}
.s4s-notification .btn-close {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: 0;
  color: inherit;
  background: none;
  margin: 0 var(--margin-normal) 0 calc(0 - var(--margin-normal) * 6);
  padding: 0;
  width: 48px;
  height: 48px;
  display: flex;
  flex-shrink: 0;
  justify-content: center;
  align-items: center;
  transition: none;
}
.s4s-notification .btn-close .sas-icon {
  margin: 0;
}
.s4s-notification h3 {
  margin-top: 2px;
  margin-bottom: 0;
}
.s4s-notification svg.sas-icon {
  margin-right: var(--margin-normal);
}
.s4s-notification .rich-text {
  overflow: hidden;
  margin: 0;
  padding-right: var(--margin-quadra);
  padding-block: var(--margin-double);
}
.s4s-notification button {
  color: var(--color-text);
}

s4s-overlay {
  background: var(--background-overlay);
  position: fixed;
  inset: 0;
  z-index: 1;
}

s4s-carousel .forward span,
s4s-carousel .rewind span, .sas-input[type=file] input[type=file]:not(.attached) + .label, .sas-input[data-type=file] input[type=file]:not(.attached) + .label, .sas-input[type=file] input[type=file].attached, .sas-input[data-type=file] input[type=file].attached {
  clip: rect(1px, 1px, 1px, 1px);
  height: 1px;
  overflow: hidden;
  position: absolute;
  white-space: nowrap;
  width: 1px;
}

.card.teaser-card.entry-card h2 {
  font-size: 1.5rem;
  line-height: 1.1666666667;
  font-weight: var(--font-weight-black);
  text-transform: uppercase;
  margin-top: var(--margin-quadra);
  margin-bottom: var(--margin-quadra);
}

.card.banner-card-link-list a, .card.teaser-card h2, .card.hotel-card h2 {
  font-size: 1.125rem;
  line-height: 1.3333333333;
  font-weight: var(--font-weight-black);
  text-transform: uppercase;
  margin-top: var(--margin-quadra);
  margin-bottom: var(--margin-quadra);
}

.card.banner-card-mini .content, .card.banner-card-link-list th, .card.image-card h2 {
  font-size: 0.875rem;
  line-height: 1.4285714286;
  font-weight: var(--font-weight-black);
  text-transform: uppercase;
  margin-top: var(--margin-triple);
  margin-bottom: var(--margin-normal);
}

.card.image-card .rich-text,
.card.image-card .rich-text p {
  font-size: 0.75rem;
  line-height: 1.3333333333;
  text-transform: initial;
}

@keyframes progress {
  from {
    background-position-x: 0;
  }
  to {
    background-position-x: 11px;
  }
}
s4s-progress-bar {
  background-image: url('data:image/svg+xml;utf8,<svg height="16" viewBox="0 0 11 16" width="11" xmlns="http://www.w3.org/2000/svg"><path d="m10.696 0-9.238 15.999746h-1.154l9.237-15.999746z" fill="hsl( 0 0% 100% )" fill-rule="evenodd"/></svg>');
  animation-name: progress;
  animation-duration: 0.9s;
  animation-iteration-count: infinite;
  animation-timing-function: linear;
  animation-direction: reverse;
  background-color: var(--color-blue-2);
  background-repeat: repeat-x;
  display: flex;
  align-items: center;
  height: 6px;
  color: var(--color-blue-2);
  border-radius: 3px;
  margin: 7px 0;
}
s4s-progress-bar .progress {
  background: var(--color-blue-2);
  height: 12px;
  border: 3px solid var(--color-white);
  border-radius: 12px;
  left: -3px;
  position: relative;
  transition: width 1.5s;
}
s4s-progress-bar s4s-icon {
  width: 20px;
  height: 20px;
  background: var(--color-white);
  position: absolute;
  right: -20px;
  top: 50%;
  transform: translateY(-50%);
  vertical-align: middle;
}

s4s-carousel .forward span,
s4s-carousel .rewind span, .sas-input[type=file] input[type=file]:not(.attached) + .label, .sas-input[data-type=file] input[type=file]:not(.attached) + .label, .sas-input[type=file] input[type=file].attached, .sas-input[data-type=file] input[type=file].attached {
  clip: rect(1px, 1px, 1px, 1px);
  height: 1px;
  overflow: hidden;
  position: absolute;
  white-space: nowrap;
  width: 1px;
}

.card.teaser-card.entry-card h2 {
  font-size: 1.5rem;
  line-height: 1.1666666667;
  font-weight: var(--font-weight-black);
  text-transform: uppercase;
  margin-top: var(--margin-quadra);
  margin-bottom: var(--margin-quadra);
}

.card.banner-card-link-list a, .card.teaser-card h2, .card.hotel-card h2 {
  font-size: 1.125rem;
  line-height: 1.3333333333;
  font-weight: var(--font-weight-black);
  text-transform: uppercase;
  margin-top: var(--margin-quadra);
  margin-bottom: var(--margin-quadra);
}

.card.banner-card-mini .content, .card.banner-card-link-list th, .card.image-card h2 {
  font-size: 0.875rem;
  line-height: 1.4285714286;
  font-weight: var(--font-weight-black);
  text-transform: uppercase;
  margin-top: var(--margin-triple);
  margin-bottom: var(--margin-normal);
}

.card.image-card .rich-text,
.card.image-card .rich-text p {
  font-size: 0.75rem;
  line-height: 1.3333333333;
  text-transform: initial;
}

s4s-readme {
  display: block;
}
s4s-readme ul {
  list-style: initial;
  margin: 0;
  padding: 0 0 0 var(--margin-triple);
}
s4s-readme li {
  margin: 0;
}
s4s-readme li:not(:first-child) h3 {
  margin-top: calc(var(--margin-normal) * 5);
}
s4s-readme li .key {
  font-weight: var(--font-weight-bold);
}
s4s-readme li .key::after {
  content: ":";
}
s4s-readme li h4 .key {
  font-weight: var(--font-weight-black);
}
s4s-readme li .value {
  color: var(--color-gray-5-hover);
}
s4s-readme li.name {
  font-weight: var(--font-weight-black);
}
s4s-readme li.name .value {
  color: var(--color-blue-3);
}
s4s-readme li.object {
  list-style-type: square;
}
s4s-readme li.object h4 {
  flex-basis: 100%;
}
s4s-readme li.object .object {
  /* stylelint-disable max-nesting-depth */
  /* stylelint-enable max-nesting-depth */
}
s4s-readme li.object .object:focus > ul {
  display: block;
}
s4s-readme .toggler-label {
  font-size: 0.875rem;
  line-height: 1.4285714286;
  font-weight: var(--font-weight-black);
  text-transform: uppercase;
  color: var(--color-blue-3);
}

s4s-simple-header {
  display: flex;
  background: var(--color-blue-3);
  padding: var(--margin-double);
}
s4s-simple-header .sas-logo {
  display: block;
  color: var(--color-main-header);
  width: 66px;
  height: 24px;
}
s4s-simple-header .flexbox {
  justify-content: space-between;
}
s4s-simple-header .btn-close {
  position: static;
  color: var(--color-white);
}

s4s-carousel .forward span,
s4s-carousel .rewind span, .sas-input[type=file] input[type=file]:not(.attached) + .label, .sas-input[data-type=file] input[type=file]:not(.attached) + .label, .sas-input[type=file] input[type=file].attached, .sas-input[data-type=file] input[type=file].attached {
  clip: rect(1px, 1px, 1px, 1px);
  height: 1px;
  overflow: hidden;
  position: absolute;
  white-space: nowrap;
  width: 1px;
}

.card.teaser-card.entry-card h2 {
  font-size: 1.5rem;
  line-height: 1.1666666667;
  font-weight: var(--font-weight-black);
  text-transform: uppercase;
  margin-top: var(--margin-quadra);
  margin-bottom: var(--margin-quadra);
}

.card.banner-card-link-list a, .card.teaser-card h2, .card.hotel-card h2 {
  font-size: 1.125rem;
  line-height: 1.3333333333;
  font-weight: var(--font-weight-black);
  text-transform: uppercase;
  margin-top: var(--margin-quadra);
  margin-bottom: var(--margin-quadra);
}

.card.banner-card-mini .content, .card.banner-card-link-list th, .card.image-card h2 {
  font-size: 0.875rem;
  line-height: 1.4285714286;
  font-weight: var(--font-weight-black);
  text-transform: uppercase;
  margin-top: var(--margin-triple);
  margin-bottom: var(--margin-normal);
}

.card.image-card .rich-text,
.card.image-card .rich-text p {
  font-size: 0.75rem;
  line-height: 1.3333333333;
  text-transform: initial;
}

s4s-simple-navigation {
  --list-item-height: 52px;
  flex-shrink: 0;
}
s4s-simple-navigation ul,
s4s-simple-navigation li {
  list-style: none;
  margin: 0;
  padding: 0;
}
s4s-simple-navigation ul {
  display: flex;
  flex-direction: column;
  align-items: stretch;
}
s4s-simple-navigation ul[aria-expanded] li {
  height: var(--list-item-height);
  /* stylelint-disable max-nesting-depth */
  /* stylelint-enable max-nesting-depth */
}
s4s-simple-navigation ul[aria-expanded] li a::after {
  transform: rotate(180deg);
}
s4s-simple-navigation li {
  font-size: 0.875rem;
  line-height: 1.4285714286;
  font-weight: var(--font-weight-black);
  text-transform: uppercase;
  display: flex;
  position: relative;
  overflow: hidden;
  height: 0;
  transition: height 0.4s;
  order: 2;
  margin-top: -1px;
}
s4s-simple-navigation li a {
  color: var(--color-text);
  text-decoration: none;
  padding: var(--margin-double);
  display: flex;
  flex-grow: 1;
  align-items: center;
  z-index: 1;
  border-bottom: 1px solid var(--color-gray-2-hover);
}
s4s-simple-navigation li a:hover {
  background: var(--gray-1-hover);
  border-bottom: 1px solid var(--gray-1-hover);
}
@media (min-width: 992px) {
  s4s-simple-navigation li a {
    overflow: visible;
  }
}
s4s-simple-navigation li.active {
  order: 1;
  height: var(--list-item-height);
  /* stylelint-disable max-nesting-depth */
  /* stylelint-enable max-nesting-depth */
}
s4s-simple-navigation li.active a::after {
  content: none;
}
@media (min-width: 768px) {
  s4s-simple-navigation li.active {
    order: 2;
  }
  s4s-simple-navigation li.active a {
    color: var(--color-blue-3);
    background: var(--color-gray-1);
    border-bottom: 1px solid var(--color-gray-1-hover);
  }
  s4s-simple-navigation li.active a::after {
    background-image: url('data:image/svg+xml;utf8,<svg height="20" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"><path d="m5.11740785 14.180035-2.11740785-2.1252256 7.0808568-7.0548094 7.0365511 7.0106666-2.1174079 2.1252256-4.9191432-4.90104774z" fill="hsl( 239 100% 37% )" fill-rule="evenodd"/></svg>');
    content: "";
    background-repeat: no-repeat;
    width: 20px;
    height: 20px;
    margin: 0 8px 0 auto;
    flex-shrink: 0;
    transition: transform 0.5s;
  }
}
@media (min-width: 992px) {
  s4s-simple-navigation {
    width: 272px;
    margin-right: calc(var(--margin-normal) * 5);
    margin-bottom: var(--margin-quadra);
  }
  s4s-simple-navigation ul[aria-expanded] li {
    height: var(--list-item-height);
  }
  s4s-simple-navigation li,
  s4s-simple-navigation li[aria-expanded] {
    height: var(--list-item-height);
  }
  s4s-simple-navigation li.active,
  s4s-simple-navigation li[aria-expanded].active {
    height: var(--list-item-height);
  }
  s4s-simple-navigation li.active a::after,
  s4s-simple-navigation li[aria-expanded].active a::after {
    content: none;
  }
}

s4s-carousel .forward span,
s4s-carousel .rewind span, .sas-input[type=file] input[type=file]:not(.attached) + .label, .sas-input[data-type=file] input[type=file]:not(.attached) + .label, .sas-input[type=file] input[type=file].attached, .sas-input[data-type=file] input[type=file].attached {
  clip: rect(1px, 1px, 1px, 1px);
  height: 1px;
  overflow: hidden;
  position: absolute;
  white-space: nowrap;
  width: 1px;
}

.card.teaser-card.entry-card h2 {
  font-size: 1.5rem;
  line-height: 1.1666666667;
  font-weight: var(--font-weight-black);
  text-transform: uppercase;
  margin-top: var(--margin-quadra);
  margin-bottom: var(--margin-quadra);
}

.card.banner-card-link-list a, .card.teaser-card h2, .card.hotel-card h2 {
  font-size: 1.125rem;
  line-height: 1.3333333333;
  font-weight: var(--font-weight-black);
  text-transform: uppercase;
  margin-top: var(--margin-quadra);
  margin-bottom: var(--margin-quadra);
}

.card.banner-card-mini .content, .card.banner-card-link-list th, .card.image-card h2 {
  font-size: 0.875rem;
  line-height: 1.4285714286;
  font-weight: var(--font-weight-black);
  text-transform: uppercase;
  margin-top: var(--margin-triple);
  margin-bottom: var(--margin-normal);
}

.card.image-card .rich-text,
.card.image-card .rich-text p {
  font-size: 0.75rem;
  line-height: 1.3333333333;
  text-transform: initial;
}

:is(.sas-breadcrumbs, .breadcrumbs) {
  display: flex;
  align-items: baseline;
  flex-wrap: wrap;
  font: var(--font-p1-small);
  padding: var(--margin-double) 0;
  margin-block: 0;
  justify-content: flex-start;
  gap: var(--margin-normal);
  list-style: none;
}
:is(.sas-breadcrumbs, .breadcrumbs) > * {
  display: flex;
  align-items: baseline;
  justify-content: flex-start;
  gap: var(--margin-normal);
  margin: 0;
  padding: 0;
}
:is(.sas-breadcrumbs, .breadcrumbs) > li:not(:last-of-type)::after {
  content: "/";
}

s4s-carousel .forward span,
s4s-carousel .rewind span, .sas-input[type=file] input[type=file]:not(.attached) + .label, .sas-input[data-type=file] input[type=file]:not(.attached) + .label, .sas-input[type=file] input[type=file].attached, .sas-input[data-type=file] input[type=file].attached {
  clip: rect(1px, 1px, 1px, 1px);
  height: 1px;
  overflow: hidden;
  position: absolute;
  white-space: nowrap;
  width: 1px;
}

.card.teaser-card.entry-card h2 {
  font-size: 1.5rem;
  line-height: 1.1666666667;
  font-weight: var(--font-weight-black);
  text-transform: uppercase;
  margin-top: var(--margin-quadra);
  margin-bottom: var(--margin-quadra);
}

.card.banner-card-link-list a, .card.teaser-card h2, .card.hotel-card h2 {
  font-size: 1.125rem;
  line-height: 1.3333333333;
  font-weight: var(--font-weight-black);
  text-transform: uppercase;
  margin-top: var(--margin-quadra);
  margin-bottom: var(--margin-quadra);
}

.card.banner-card-mini .content, .card.banner-card-link-list th, .card.image-card h2 {
  font-size: 0.875rem;
  line-height: 1.4285714286;
  font-weight: var(--font-weight-black);
  text-transform: uppercase;
  margin-top: var(--margin-triple);
  margin-bottom: var(--margin-normal);
}

.card.image-card .rich-text,
.card.image-card .rich-text p {
  font-size: 0.75rem;
  line-height: 1.3333333333;
  text-transform: initial;
}

:where(button, .btn),
:is(a.btn, a.btn:hover),
input::file-selector-button {
  font: var(--font-button);
  background-color: var(--background-button);
  color: var(--color-button);
  border: var(--border-button);
  border-radius: var(--border-radius-button);
  padding: var(--padding-button);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-transform: uppercase;
  text-decoration: none;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  transition: background-color 0.25s ease-in-out, color 0.25s ease-in-out;
  min-height: var(--height-button);
  min-width: 3rem;
  gap: 1ch;
  cursor: pointer;
}
:where(button, .btn):is(.btn-block),
:is(a.btn, a.btn:hover):is(.btn-block),
input::file-selector-button:is(.btn-block) {
  display: flex;
  min-width: 100%;
}
:where(button, .btn):is(.btn-block):not(:last-of-type),
:is(a.btn, a.btn:hover):is(.btn-block):not(:last-of-type),
input::file-selector-button:is(.btn-block):not(:last-of-type) {
  margin-bottom: margin-normal;
}
:where(button, .btn):hover,
:is(a.btn, a.btn:hover):hover,
input::file-selector-button:hover {
  background-color: var(--background-button-hover);
  box-shadow: var(--border-button-hover);
  text-decoration: none;
}
:where(button, .btn):active,
:is(a.btn, a.btn:hover):active,
input::file-selector-button:active {
  background-color: var(--background-button-active);
  border: var(--border-button-active);
}
:where(button, .btn)[disabled],
:is(a.btn, a.btn:hover)[disabled],
input::file-selector-button[disabled] {
  background-color: var(--background-button-disabled);
  border: var(--border-button-disabled);
  color: var(--color-button-disabled);
}
:where(button, .btn):is(.btn-icon),
:is(a.btn, a.btn:hover):is(.btn-icon),
input::file-selector-button:is(.btn-icon) {
  padding: 0;
  width: 2rem;
  height: 2rem;
  background-color: transparent;
  text-indent: -1000px;
  overflow: hidden;
  border: 1px solid transparent;
}
:where(button, .btn):is(.btn-icon):hover, :where(button, .btn):is(.btn-icon):focus,
:is(a.btn, a.btn:hover):is(.btn-icon):hover,
:is(a.btn, a.btn:hover):is(.btn-icon):focus,
input::file-selector-button:is(.btn-icon):hover,
input::file-selector-button:is(.btn-icon):focus {
  background-color: transparent;
}
:where(button, .btn):is(.btn-link),
:is(a.btn, a.btn:hover):is(.btn-link),
input::file-selector-button:is(.btn-link) {
  color: var(--color-link);
  text-decoration: underline;
}
:where(button, .btn):is(.btn-link):hover,
:is(a.btn, a.btn:hover):is(.btn-link):hover,
input::file-selector-button:is(.btn-link):hover {
  color: var(--color-link-hover);
}
:where(button, .btn):is(.btn-link).light-on-dark, :where(button, .btn):is(.btn-link).light-on-dark:hover,
:is(a.btn, a.btn:hover):is(.btn-link).light-on-dark,
:is(a.btn, a.btn:hover):is(.btn-link).light-on-dark:hover,
input::file-selector-button:is(.btn-link).light-on-dark,
input::file-selector-button:is(.btn-link).light-on-dark:hover {
  color: var(--color-white);
}
:where(button, .btn):is(.btn-close),
:is(a.btn, a.btn:hover):is(.btn-close),
input::file-selector-button:is(.btn-close) {
  font-size: 1.5rem;
  display: flex;
  cursor: pointer;
  align-items: center;
  justify-content: center;
  position: absolute;
  top: 0;
  right: 0;
  z-index: 1;
  width: 48px;
  height: 48px;
  padding: 0;
  background: none;
  color: var(--color-text);
  min-width: auto;
  border-radius: 0;
  overflow: hidden;
}
:where(button, .btn):is(.btn-close):hover, :where(button, .btn):is(.btn-close):focus, :where(button, .btn):is(.btn-close):active,
:is(a.btn, a.btn:hover):is(.btn-close):hover,
:is(a.btn, a.btn:hover):is(.btn-close):focus,
:is(a.btn, a.btn:hover):is(.btn-close):active,
input::file-selector-button:is(.btn-close):hover,
input::file-selector-button:is(.btn-close):focus,
input::file-selector-button:is(.btn-close):active {
  background: none;
}

.light-on-dark {
  --color-button: var(--color-blue-4);
}
.light-on-dark :is(.btn-secondary, .button-secondary), .light-on-dark:is(.btn-secondary, .button-secondary) {
  --color-button: var(--color-white);
}
.light-on-dark :is(.btn-secondary, .button-secondary):hover, .light-on-dark:is(.btn-secondary, .button-secondary):hover {
  --color-button: var(--color-blue-4);
}

.conscious-wave {
  --wave-dark: hsl(154 34% 38%);
  --wave-light: hsl(154 34% 78%);
  display: grid;
  place-items: stretch;
  margin: 0;
  padding: 0;
  list-style: none;
}
.conscious-wave li {
  display: grid;
  place-items: stretch;
  margin: 0;
  padding: 0;
}
.conscious-wave .wave-content {
  font: var(--font-h5);
}
.conscious-wave .wave-content i {
  font-family: var(--sas-font-family-serif);
  font-size: 1rem;
  text-transform: none;
  width: -moz-min-content;
  width: min-content;
}
.conscious-wave .sas-icon-cl--star {
  width: 2.5rem;
  height: 2.5rem;
  background-color: var(--color-coral-1-2);
  padding: 0.125rem;
}
@media (width <= 62rem) {
  .conscious-wave {
    grid-auto-flow: row;
    grid-template-columns: 1.5rem 1rem 1.5rem 1fr;
    grid-auto-rows: 2.5rem;
  }
  .conscious-wave li {
    grid-template-columns: subgrid;
    grid-template-rows: 2.5rem;
    grid-column: 1/-1;
  }
  @supports not (grid-template-columns: subgrid) {
    .conscious-wave li {
      grid-template-columns: 1.5rem 1rem 1.5rem 1fr;
    }
  }
  .conscious-wave li .wave-content {
    grid-column: 4/span 1;
    display: flex;
    align-items: center;
    margin-inline-start: 1rem;
    gap: 0.5rem;
    text-transform: uppercase;
  }
  .conscious-wave li .wave-content i {
    order: 2;
  }
  .conscious-wave li::after {
    content: "";
    grid-column: 3/span 1;
    grid-row: 1/-1;
    margin-block: -0.25rem;
    border: 0.5rem solid var(--wave-light);
    border-left: 0;
    border-radius: 0 var(--border-radius-pill) var(--border-radius-pill) 0;
  }
  .conscious-wave li:nth-child(even)::after {
    grid-column: 1/span 1;
    grid-row: 1/-1;
    border: 0.5rem solid var(--wave-dark);
    border-right: 0;
    border-radius: var(--border-radius-pill) 0 0 var(--border-radius-pill);
  }
  .conscious-wave li::before {
    content: "";
    grid-row: 1/span 1;
    grid-column: 2/span 1;
    margin-block: -0.25rem;
    border-block: 0.5rem solid var(--wave-dark);
    -o-border-image: linear-gradient(90deg, var(--wave-dark) 0%, var(--wave-light) 100%) 1;
       border-image: linear-gradient(90deg, var(--wave-dark) 0%, var(--wave-light) 100%) 1;
  }
  .conscious-wave .sas-icon-cl--star {
    width: 1.25rem;
    height: 1.25rem;
  }
}
@media (width > 62rem) {
  .conscious-wave {
    grid-auto-flow: column;
    grid-template-rows: 1fr 1.25rem 1fr;
    list-style: none;
  }
  .conscious-wave li {
    grid-template-rows: subgrid;
    grid-row-end: span 3;
    position: relative;
    aspect-ratio: 1/1.2;
    text-align: center;
  }
  @supports not (grid-template-columns: subgrid) {
    .conscious-wave li {
      grid-template-rows: 1fr 1.25rem 1fr;
    }
  }
  .conscious-wave li .wave-content {
    position: absolute;
    display: grid;
    place-content: center;
    inset: 1rem;
    text-transform: uppercase;
  }
  .conscious-wave li:last-child .wave-content {
    top: 0;
  }
  .conscious-wave li:last-child:nth-child(odd) {
    top: 1rem;
    bottom: 0;
  }
  .conscious-wave li::after {
    content: "";
    display: grid;
    margin-inline: -0.5rem;
    grid-row: 3/span 1;
    aspect-ratio: 2/1;
    border: 1rem solid var(--wave-dark);
    border-top: 0;
    border-bottom-left-radius: var(--border-radius-pill);
    border-bottom-right-radius: var(--border-radius-pill);
  }
  .conscious-wave li:nth-child(odd)::after {
    top: 0;
    bottom: auto;
    grid-row: 1/span 1;
    border: 1rem solid var(--wave-light);
    border-bottom: 0;
    border-radius: var(--border-radius-pill) var(--border-radius-pill) 0 0;
  }
  .conscious-wave li::before {
    content: "";
    border-inline: 1rem solid var(--wave-dark);
    grid-row: 2/span 1;
    -o-border-image: linear-gradient(180deg, var(--wave-light) 0%, var(--wave-dark) 100%) 1;
       border-image: linear-gradient(180deg, var(--wave-light) 0%, var(--wave-dark) 100%) 1;
    margin-inline: -0.5rem;
  }
  .conscious-wave::after {
    content: "";
    position: relative;
    place-items: stretch;
    left: -0.5rem;
    display: grid;
    grid-row: 1/span 1;
    aspect-ratio: 2/1;
    border: 1rem solid var(--wave-light);
    border-bottom: 0;
    border-radius: var(--border-radius-pill) var(--border-radius-pill) 0 0;
    -webkit-mask-image: linear-gradient(to right, var(--color-black), var(--color-black) 1rem, transparent 35%);
            mask-image: linear-gradient(to right, var(--color-black), var(--color-black) 1rem, transparent 35%);
  }
  .conscious-wave:has(li:nth-last-child(1):nth-child(odd))::after {
    grid-row: 3/span 1;
    border: 1rem solid var(--wave-dark);
    border-right: 0;
    border-top: 0;
    border-radius: 0 0 var(--border-radius-pill) var(--border-radius-pill);
    -webkit-mask-image: linear-gradient(to right, var(--color-black), var(--color-black) 1rem, transparent 35%);
            mask-image: linear-gradient(to right, var(--color-black), var(--color-black) 1rem, transparent 35%);
    margin-right: -1fr;
  }
}

s4s-carousel .forward span,
s4s-carousel .rewind span, .sas-input[type=file] input[type=file]:not(.attached) + .label, .sas-input[data-type=file] input[type=file]:not(.attached) + .label, .sas-input[type=file] input[type=file].attached, .sas-input[data-type=file] input[type=file].attached {
  clip: rect(1px, 1px, 1px, 1px);
  height: 1px;
  overflow: hidden;
  position: absolute;
  white-space: nowrap;
  width: 1px;
}

.card.teaser-card.entry-card h2 {
  font-size: 1.5rem;
  line-height: 1.1666666667;
  font-weight: var(--font-weight-black);
  text-transform: uppercase;
  margin-top: var(--margin-quadra);
  margin-bottom: var(--margin-quadra);
}

.card.banner-card-link-list a, .card.teaser-card h2, .card.hotel-card h2 {
  font-size: 1.125rem;
  line-height: 1.3333333333;
  font-weight: var(--font-weight-black);
  text-transform: uppercase;
  margin-top: var(--margin-quadra);
  margin-bottom: var(--margin-quadra);
}

.card.banner-card-mini .content, .card.banner-card-link-list th, .card.image-card h2 {
  font-size: 0.875rem;
  line-height: 1.4285714286;
  font-weight: var(--font-weight-black);
  text-transform: uppercase;
  margin-top: var(--margin-triple);
  margin-bottom: var(--margin-normal);
}

.card.image-card .rich-text,
.card.image-card .rich-text p {
  font-size: 0.75rem;
  line-height: 1.3333333333;
  text-transform: initial;
}

dialog:modal {
  isolation: isolate;
  border: 0;
  border-radius: var(--border-radius-normal);
  background-color: var(--background-modal);
  padding: calc(var(--margin-normal) * 5) calc(var(--margin-normal) * 6);
}
dialog:modal:focus-visible {
  box-shadow: none;
  outline: none;
}
dialog:modal::first-line {
  margin-right: 40px;
}
dialog:modal .btn-close {
  z-index: 1;
  position: absolute;
  top: var(--margin-half);
  right: var(--margin-half);
  border-radius: var(--border-radius-normal);
}
dialog:modal .btn-close::before {
  content: url('data:image/svg+xml;utf8,<svg width="20" height="20" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20"><path d="M14.177 3l2.121 2.121L11.77 9.65l4.528 4.528-2.121 2.121-4.528-4.528-4.528 4.528L3 14.177l4.527-4.528L3 5.121 5.121 3 9.65 7.527z" fill="hsl( 0 0% 22% )" fill-rule="evenodd"/></svg>');
}
dialog:modal .btn-close:focus-visible {
  box-shadow: none;
  outline: var(--outline-focus);
  outline-offset: -2px;
}
dialog:modal .call-to-action {
  margin-block-start: var(--margin-quadra);
}
dialog:modal .content {
  max-width: 41rem;
}
dialog:modal h1:first-child {
  margin-block-start: 0;
}

.font-regular {
  font-weight: var(--font-weight-normal);
}

.font-regular-book,
.font-book {
  font-weight: 300;
}

.font-bold {
  font-weight: var(--font-weight-bold);
}

.font-black {
  font-weight: var(--font-weight-black);
  text-transform: uppercase;
}

s4s-carousel .forward span,
s4s-carousel .rewind span, .sas-input[type=file] input[type=file]:not(.attached) + .label, .sas-input[data-type=file] input[type=file]:not(.attached) + .label, .sas-input[type=file] input[type=file].attached, .sas-input[data-type=file] input[type=file].attached {
  clip: rect(1px, 1px, 1px, 1px);
  height: 1px;
  overflow: hidden;
  position: absolute;
  white-space: nowrap;
  width: 1px;
}

.card.teaser-card.entry-card h2 {
  font-size: 1.5rem;
  line-height: 1.1666666667;
  font-weight: var(--font-weight-black);
  text-transform: uppercase;
  margin-top: var(--margin-quadra);
  margin-bottom: var(--margin-quadra);
}

.card.banner-card-link-list a, .card.teaser-card h2, .card.hotel-card h2 {
  font-size: 1.125rem;
  line-height: 1.3333333333;
  font-weight: var(--font-weight-black);
  text-transform: uppercase;
  margin-top: var(--margin-quadra);
  margin-bottom: var(--margin-quadra);
}

.card.banner-card-mini .content, .card.banner-card-link-list th, .card.image-card h2 {
  font-size: 0.875rem;
  line-height: 1.4285714286;
  font-weight: var(--font-weight-black);
  text-transform: uppercase;
  margin-top: var(--margin-triple);
  margin-bottom: var(--margin-normal);
}

.card.image-card .rich-text,
.card.image-card .rich-text p {
  font-size: 0.75rem;
  line-height: 1.3333333333;
  text-transform: initial;
}

.hamburger-toggle {
  --hamburger-size: 1.5rem;
  background: transparent;
  color: currentColor;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  display: block;
  position: relative;
  margin: 0;
  padding: 0 var(--margin-normal);
  width: calc(var(--hamburger-size) + var(--margin-normal) * 2);
  text-indent: -9999px;
  box-shadow: none;
  border: 0;
  cursor: pointer;
  border-radius: 0;
}
.hamburger-toggle:hover, .hamburger-toggle:focus, .hamburger-toggle:active {
  background: transparent;
}
.hamburger-toggle span {
  display: block;
  position: absolute;
  top: calc(var(--height-header) / 2);
  left: 50%;
  transform: translate(-50%, -50%);
  width: var(--hamburger-size);
  height: 3px;
  background-color: currentColor;
  transition-property: top, transform;
  transition-duration: 0.3s, 0.3s;
  transition-delay: 0.3s, 0;
}
.hamburger-toggle span::before, .hamburger-toggle span::after {
  position: absolute;
  display: block;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: currentColor;
  content: "";
  transition-property: top, transform;
  transition-duration: 0.3s, 0.3s;
  transition-delay: 0.3s, 0;
}
.hamburger-toggle span::before {
  top: 7px;
  background-color: currentColor;
  transition-property: top, transform;
}
.hamburger-toggle span::after {
  bottom: 7px;
  background-color: currentColor;
  transition-property: bottom, transform;
}
.hamburger-toggle[aria-expanded=true] span {
  transform: translate(-50%, -50%) rotate(45deg);
  transition-delay: 0.3s, 0.6s;
}
.hamburger-toggle[aria-expanded=true] span::before {
  top: 0;
  transform: rotate(0);
}
.hamburger-toggle[aria-expanded=true] span::after {
  bottom: 0;
  transform: rotate(-90deg);
}
.hamburger-toggle[aria-expanded=true] span::before, .hamburger-toggle[aria-expanded=true] span::after {
  transition-delay: 0.3s, 0.6s;
}
@media (min-width: 992px) {
  .hamburger-toggle {
    display: none;
  }
}

svg.sas-icon {
  display: inline-flex;
  align-items: center;
  flex-shrink: 0;
  overflow: hidden;
}
svg.sas-book-icon {
  width: 20px;
  height: 20px;
}
svg.sas-book-icon.i-cb-checked, svg.sas-book-icon.i-cb-empty, svg.sas-book-icon.i-close, svg.sas-book-icon.i-arrow-down, svg.sas-book-icon.i-arrow-up, svg.sas-book-icon.i-decrease, svg.sas-book-icon.i-increase {
  width: 24px;
  height: 24px;
}
svg.sas-book-icon.sas-book-icon-16 {
  width: 16px;
  height: 16px;
}

.cep-preference .pay-radio-group input[type=radio] {
  opacity: 1;
  margin: 0;
  cursor: pointer;
}
.cep-preference .pay-radio-group .radio-wrap svg.sas-book-icon {
  display: none;
}

:where(s4s-icon, .sas-icon) {
  color: var(--color-icon);
}

s4s-icon,
.sas-icon {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  vertical-align: text-bottom;
  text-align: center;
  flex-shrink: 0;
}

.sas-icon {
  transition: color 0.5s, transform 0.5s;
  height: var(--size-icon);
  width: var(--size-icon);
}
.sas-icon use {
  transform-origin: center;
}
.sas-icon:where(.circled) {
  border-radius: 50%;
  background-color: var(--color-brand);
  color: var(--color-white);
}
.sas-icon:where(.boxed) {
  border-radius: var(--border-radius-normal);
  background-color: var(--color-brand);
  color: var(--color-white);
}
.sas-icon:where(.boxed, .circled) {
  transform: scale(0.8);
}
.sas-icon:where(.boxed, .circled) use {
  transform: scale(0.9) translateY(-1%);
}
.sas-icon.up {
  transform: rotate(0);
}
.sas-icon.up.right {
  transform: rotate(45deg);
}
.sas-icon.up.left {
  transform: rotate(315deg);
}
.sas-icon.down.right {
  transform: rotate(135deg);
}
.sas-icon.down.left {
  transform: rotate(225deg);
}
.sas-icon.rotate-90, .sas-icon.right {
  transform: rotate(90deg);
}
.sas-icon.rotate-180, .sas-icon.down {
  transform: rotate(180deg);
}
.sas-icon.rotate-270, .sas-icon.left {
  transform: rotate(270deg);
}
.sas-icon.rotate-360 {
  transform: rotate(360deg);
}
.sas-icon.scale-1 {
  transform: scale(0.5);
}
.sas-icon.scale-2 {
  transform: scale(2);
}
.sas-icon.scale-3 {
  transform: scale(3);
}
.sas-icon.scale-4 {
  transform: scale(4);
}
.sas-icon[class*=sas-icon-in--] {
  width: 24px;
  height: 24px;
}
.sas-icon[class*=sas-icon-p--], .sas-icon[name^=p--] {
  width: 42px;
  height: 30px;
}
.sas-icon[class*=sas-icon-flag--] {
  width: 24px;
  height: 24px;
}

.sas-icon-b--star-alliance-dark,
.sas-icon-b--star-alliance-light {
  width: 245px;
  height: 24px;
}

.sas-icon-cl--logo {
  color: var(--color-brand);
  font-size: 72px;
}

.sas-icon-cl--alert-circle {
  color: var(--color-red);
}

.sas-icon-cl--check-circle {
  color: var(--color-green);
}

.sas-icon-cl--eb-coin-circle {
  color: var(--color-peach-1);
}

.sas-icon-cl--green {
  color: var(--color-icon-bio);
}

p s4s-icon {
  vertical-align: -0.2em;
}

.sas-logo-link {
  padding: 0 var(--margin-normal);
}
@media (min-width: 992px) {
  .sas-logo-link {
    padding: 0 calc(var(--margin-normal) * 3);
  }
}

.sas-logo {
  box-sizing: content-box;
  width: 66px;
  height: 24px;
  align-self: center;
  padding: 0;
}

s4s-carousel .forward span,
s4s-carousel .rewind span, .sas-input[type=file] input[type=file]:not(.attached) + .label, .sas-input[data-type=file] input[type=file]:not(.attached) + .label, .sas-input[type=file] input[type=file].attached, .sas-input[data-type=file] input[type=file].attached {
  clip: rect(1px, 1px, 1px, 1px);
  height: 1px;
  overflow: hidden;
  position: absolute;
  white-space: nowrap;
  width: 1px;
}

.card.teaser-card.entry-card h2 {
  font-size: 1.5rem;
  line-height: 1.1666666667;
  font-weight: var(--font-weight-black);
  text-transform: uppercase;
  margin-top: var(--margin-quadra);
  margin-bottom: var(--margin-quadra);
}

.card.banner-card-link-list a, .card.teaser-card h2, .card.hotel-card h2 {
  font-size: 1.125rem;
  line-height: 1.3333333333;
  font-weight: var(--font-weight-black);
  text-transform: uppercase;
  margin-top: var(--margin-quadra);
  margin-bottom: var(--margin-quadra);
}

.card.banner-card-mini .content, .card.banner-card-link-list th, .card.image-card h2 {
  font-size: 0.875rem;
  line-height: 1.4285714286;
  font-weight: var(--font-weight-black);
  text-transform: uppercase;
  margin-top: var(--margin-triple);
  margin-bottom: var(--margin-normal);
}

.card.image-card .rich-text,
.card.image-card .rich-text p {
  font-size: 0.75rem;
  line-height: 1.3333333333;
  text-transform: initial;
}

a,
button.link {
  color: var(--color-link);
  cursor: pointer;
  text-decoration: underline;
}
a:not(.btn):hover,
button.link:not(.btn):hover {
  color: var(--color-link-hover);
}
a:is(.light-on-dark, .white-color), .light-on-dark a, .white-color a, s4s-eb-module a,
button.link:is(.light-on-dark, .white-color),
.light-on-dark button.link,
.white-color button.link,
s4s-eb-module button.link {
  --color-text: var(--color-light-on-dark);
  --color-link: var(--color-light-on-dark);
  --color-link-hover: var(--color-light-on-dark);
  --color-icon: var(--color-light-on-dark);
  --color-icon-hover: var(--color-light-on-dark);
}
a:where([href^="https://"], [href^="http://"], [href^="//"])::after,
button.link:where([href^="https://"], [href^="http://"], [href^="//"])::after {
  content: url('data:image/svg+xml;utf8,<svg height="20" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"><path d="m9 5v1h-3v8h8v-3h1v3.5c0 .25642-.19302.46775-.44169.49664l-.05831.00336h-9c-.276142 0-.5-.22386-.5-.5v-9c0-.276142.223858-.5.5-.5zm6 0v4.5h-1.5l-.0005-1.938-2.97384 2.97419-1.06066-1.06066 2.9755-2.97553h-1.9405v-1.5z" fill="hsl( 225 100% 47% )" fill-rule="evenodd"/></svg>');
  width: 20px;
  height: 20px;
  display: inline-grid;
  place-items: center;
  vertical-align: middle;
}
a:where([href^="https://"], [href^="http://"], [href^="//"]):hover::after,
button.link:where([href^="https://"], [href^="http://"], [href^="//"]):hover::after {
  content: url('data:image/svg+xml;utf8,<svg height="20" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"><path d="m9 5v1h-3v8h8v-3h1v3.5c0 .25642-.19302.46775-.44169.49664l-.05831.00336h-9c-.276142 0-.5-.22386-.5-.5v-9c0-.276142.223858-.5.5-.5zm6 0v4.5h-1.5l-.0005-1.938-2.97384 2.97419-1.06066-1.06066 2.9755-2.97553h-1.9405v-1.5z" fill="hsl( 225 100% 40% )" fill-rule="evenodd"/></svg>');
}
a:where([href^="https://"], [href^="http://"], [href^="//"]):is(.light-on-dark)::after, a:where([href^="https://"], [href^="http://"], [href^="//"]):is(.light-on-dark):hover::after,
button.link:where([href^="https://"], [href^="http://"], [href^="//"]):is(.light-on-dark)::after,
button.link:where([href^="https://"], [href^="http://"], [href^="//"]):is(.light-on-dark):hover::after {
  content: url('data:image/svg+xml;utf8,<svg height="20" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"><path d="m9 5v1h-3v8h8v-3h1v3.5c0 .25642-.19302.46775-.44169.49664l-.05831.00336h-9c-.276142 0-.5-.22386-.5-.5v-9c0-.276142.223858-.5.5-.5zm6 0v4.5h-1.5l-.0005-1.938-2.97384 2.97419-1.06066-1.06066 2.9755-2.97553h-1.9405v-1.5z" fill="hsl( 0 0% 100% )" fill-rule="evenodd"/></svg>');
}
a:is([href*="sas."]:not([href*="google."]), [href*="staralliance."], .no-external, #nothing)::after, :is(.banner, .social) a::after,
button.link:is([href*="sas."]:not([href*="google."]), [href*="staralliance."], .no-external, #nothing)::after,
:is(.banner, .social) button.link::after {
  content: none;
}
a[download]::after,
button.link[download]::after {
  content: url('data:image/svg+xml;utf8,<svg height="20" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"><path d="m5.5 10v4.5h9v-4.5h1.5v4.5c0 .8284271-.6715729 1.5-1.5 1.5h-9c-.82842712 0-1.5-.6715729-1.5-1.5v-4.5zm5.3211563-6v4.6538199l1.9180349-1.91663236 1.0928714 1.09487502-3.8320626 3.83206254-3.83206256-3.83206254 1.09487502-1.09487502 1.91603128 1.91603128v-4.65321882z" fill="hsl( 225 100% 47% )" fill-rule="evenodd"/></svg>');
  width: 18px;
  height: 18px;
  vertical-align: text-top;
  display: inline-grid;
  place-items: center;
}
a[download]:hover::after,
button.link[download]:hover::after {
  content: url('data:image/svg+xml;utf8,<svg height="20" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"><path d="m5.5 10v4.5h9v-4.5h1.5v4.5c0 .8284271-.6715729 1.5-1.5 1.5h-9c-.82842712 0-1.5-.6715729-1.5-1.5v-4.5zm5.3211563-6v4.6538199l1.9180349-1.91663236 1.0928714 1.09487502-3.8320626 3.83206254-3.83206256-3.83206254 1.09487502-1.09487502 1.91603128 1.91603128v-4.65321882z" fill="hsl( 225 100% 40% )" fill-rule="evenodd"/></svg>');
}
a[download].light-on-dark::after, a[download].light-on-dark:hover::after,
button.link[download].light-on-dark::after,
button.link[download].light-on-dark:hover::after {
  content: url('data:image/svg+xml;utf8,<svg height="20" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"><path d="m5.5 10v4.5h9v-4.5h1.5v4.5c0 .8284271-.6715729 1.5-1.5 1.5h-9c-.82842712 0-1.5-.6715729-1.5-1.5v-4.5zm5.3211563-6v4.6538199l1.9180349-1.91663236 1.0928714 1.09487502-3.8320626 3.83206254-3.83206256-3.83206254 1.09487502-1.09487502 1.91603128 1.91603128v-4.65321882z" fill="hsl( 0 0% 100% )" fill-rule="evenodd"/></svg>');
}
a[download]:is([href$=".doc"], [href$=".docx"], [href$=".pdf"])::after,
button.link[download]:is([href$=".doc"], [href$=".docx"], [href$=".pdf"])::after {
  content: url('data:image/svg+xml;utf8,<svg height="20" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"><path d="m16 0c.5125714 0 .9354694.38542347.9932682.88324672l.0067318.11675328v18c0 .5135-.3862857.935602-.8834315.9932824l-.1165685.0067176h-12c-.51257143 0-.93546939-.3854235-.99326822-.8832467l-.00673178-.1167533v-14l5-5zm-8.004 1.416-3.588 3.588 3.588-.004z" fill="hsl( 225 100% 47% )" fill-rule="evenodd"/></svg>');
  transform: scale(0.8);
}
a[download]:is([href$=".doc"], [href$=".docx"], [href$=".pdf"]):hover::after,
button.link[download]:is([href$=".doc"], [href$=".docx"], [href$=".pdf"]):hover::after {
  content: url('data:image/svg+xml;utf8,<svg height="20" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"><path d="m16 0c.5125714 0 .9354694.38542347.9932682.88324672l.0067318.11675328v18c0 .5135-.3862857.935602-.8834315.9932824l-.1165685.0067176h-12c-.51257143 0-.93546939-.3854235-.99326822-.8832467l-.00673178-.1167533v-14l5-5zm-8.004 1.416-3.588 3.588 3.588-.004z" fill="hsl( 225 100% 40% )" fill-rule="evenodd"/></svg>');
}
a[download]:is([href$=".doc"], [href$=".docx"], [href$=".pdf"]).light-on-dark::after, a[download]:is([href$=".doc"], [href$=".docx"], [href$=".pdf"]).light-on-dark:hover::after,
button.link[download]:is([href$=".doc"], [href$=".docx"], [href$=".pdf"]).light-on-dark::after,
button.link[download]:is([href$=".doc"], [href$=".docx"], [href$=".pdf"]).light-on-dark:hover::after {
  content: url('data:image/svg+xml;utf8,<svg height="20" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"><path d="m16 0c.5125714 0 .9354694.38542347.9932682.88324672l.0067318.11675328v18c0 .5135-.3862857.935602-.8834315.9932824l-.1165685.0067176h-12c-.51257143 0-.93546939-.3854235-.99326822-.8832467l-.00673178-.1167533v-14l5-5zm-8.004 1.416-3.588 3.588 3.588-.004z" fill="hsl( 0 0% 100% )" fill-rule="evenodd"/></svg>');
}
a.skip-link:focus,
button.link.skip-link:focus {
  position: absolute;
  z-index: 12;
  clip: auto;
  width: 100%;
  height: auto;
  background: var(--color-blue-2);
  color: var(--color-white);
  padding: var(--margin-normal);
}

:is(nav, .sas-main-info-links, .s4s-notification) a:hover {
  color: inherit;
}

.sas-main-footer-links :is(a, button.link):is([href^="https://"], [href^="http://"], [href^="//"])::after {
  content: url('data:image/svg+xml;utf8,<svg height="20" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"><path d="m9 5v1h-3v8h8v-3h1v3.5c0 .25642-.19302.46775-.44169.49664l-.05831.00336h-9c-.276142 0-.5-.22386-.5-.5v-9c0-.276142.223858-.5.5-.5zm6 0v4.5h-1.5l-.0005-1.938-2.97384 2.97419-1.06066-1.06066 2.9755-2.97553h-1.9405v-1.5z" fill="hsl( 0 0% 22% )" fill-rule="evenodd"/></svg>');
}
.sas-main-footer-links :is(a, button.link):is([href^="https://"], [href^="http://"], [href^="//"]):hover::after {
  content: url('data:image/svg+xml;utf8,<svg height="20" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"><path d="m9 5v1h-3v8h8v-3h1v3.5c0 .25642-.19302.46775-.44169.49664l-.05831.00336h-9c-.276142 0-.5-.22386-.5-.5v-9c0-.276142.223858-.5.5-.5zm6 0v4.5h-1.5l-.0005-1.938-2.97384 2.97419-1.06066-1.06066 2.9755-2.97553h-1.9405v-1.5z" fill="hsl( 0 0% 19% )" fill-rule="evenodd"/></svg>');
}

sas-main-brand a ::after {
  content: none;
}

s4s-carousel .forward span,
s4s-carousel .rewind span, .sas-input[type=file] input[type=file]:not(.attached) + .label, .sas-input[data-type=file] input[type=file]:not(.attached) + .label, .sas-input[type=file] input[type=file].attached, .sas-input[data-type=file] input[type=file].attached {
  clip: rect(1px, 1px, 1px, 1px);
  height: 1px;
  overflow: hidden;
  position: absolute;
  white-space: nowrap;
  width: 1px;
}

.card.teaser-card.entry-card h2 {
  font-size: 1.5rem;
  line-height: 1.1666666667;
  font-weight: var(--font-weight-black);
  text-transform: uppercase;
  margin-top: var(--margin-quadra);
  margin-bottom: var(--margin-quadra);
}

.card.banner-card-link-list a, .card.teaser-card h2, .card.hotel-card h2 {
  font-size: 1.125rem;
  line-height: 1.3333333333;
  font-weight: var(--font-weight-black);
  text-transform: uppercase;
  margin-top: var(--margin-quadra);
  margin-bottom: var(--margin-quadra);
}

.card.banner-card-mini .content, .card.banner-card-link-list th, .card.image-card h2 {
  font-size: 0.875rem;
  line-height: 1.4285714286;
  font-weight: var(--font-weight-black);
  text-transform: uppercase;
  margin-top: var(--margin-triple);
  margin-bottom: var(--margin-normal);
}

.card.image-card .rich-text,
.card.image-card .rich-text p {
  font-size: 0.75rem;
  line-height: 1.3333333333;
  text-transform: initial;
}

:where(ul, ol) {
  margin: var(--margin-normal) 0;
  padding: 0 0 0 var(--margin-quadra);
}

.icon-list-checkmarks {
  list-style-image: url('data:image/svg+xml;utf8,<svg height="12" width="15" viewBox="0 0 15 12" xmlns="http://www.w3.org/2000/svg"><path d="m12.058.063 2.12 2.124-9.08 9.055-5.038-5.01 2.116-2.126 2.918 2.902z" fill="hsl( 239 100% 37% )" fill-rule="evenodd"/></svg>');
}

:is(.columns, #nothing) {
  --modifier: calc(var(--min-width-card) * 2 - 100%);
  display: flex;
  flex-wrap: wrap;
  gap: var(--gap-normal);
}
:is(.columns, #nothing) > *,
:is(.columns, #nothing) .contents > * {
  flex-grow: 1;
  flex-basis: calc(var(--modifier) * 999);
}
:is(.columns, #nothing) .contents {
  display: contents;
}

:where(.columns) {
  position: relative;
}

.cep-box {
  background: hsl(var(--white)/0.5);
}

.full-width-container {
  width: 100vw;
  margin-left: 50%;
  transform: translateX(-50%);
}

.columns {
  margin-bottom: var(--margin-bottom-component);
  gap: var(--gap-normal);
}
.columns s4s-card {
  margin-bottom: 0;
}

.backdrop {
  isolation: isolate;
}
.backdrop::before {
  content: "";
  background: var(--background-overlay);
  position: fixed;
  inset: 0;
  z-index: -1;
}

s4s-carousel .forward span,
s4s-carousel .rewind span, .sas-input[type=file] input[type=file]:not(.attached) + .label, .sas-input[data-type=file] input[type=file]:not(.attached) + .label, .sas-input[type=file] input[type=file].attached, .sas-input[data-type=file] input[type=file].attached {
  clip: rect(1px, 1px, 1px, 1px);
  height: 1px;
  overflow: hidden;
  position: absolute;
  white-space: nowrap;
  width: 1px;
}

.card.teaser-card.entry-card h2 {
  font-size: 1.5rem;
  line-height: 1.1666666667;
  font-weight: var(--font-weight-black);
  text-transform: uppercase;
  margin-top: var(--margin-quadra);
  margin-bottom: var(--margin-quadra);
}

.card.banner-card-link-list a, .card.teaser-card h2, .card.hotel-card h2 {
  font-size: 1.125rem;
  line-height: 1.3333333333;
  font-weight: var(--font-weight-black);
  text-transform: uppercase;
  margin-top: var(--margin-quadra);
  margin-bottom: var(--margin-quadra);
}

.card.banner-card-mini .content, .card.banner-card-link-list th, .card.image-card h2 {
  font-size: 0.875rem;
  line-height: 1.4285714286;
  font-weight: var(--font-weight-black);
  text-transform: uppercase;
  margin-top: var(--margin-triple);
  margin-bottom: var(--margin-normal);
}

.card.image-card .rich-text,
.card.image-card .rich-text p {
  font-size: 0.75rem;
  line-height: 1.3333333333;
  text-transform: initial;
}

:root {
  --seat-legend-base: 16;
  --seat-legend-scale: 1;
  --seat-legend-height: calc((19rem * var(--seat-legend-scale)) / var(--seat-legend-base));
  --seat-legend-width: calc((17rem * var(--seat-legend-scale)) / var(--seat-legend-base));
  --seat-legend-3-dots: url('data:image/svg+xml;utf8,<svg viewBox="0 0 11 3" xmlns="http://www.w3.org/2000/svg"><g fill="hsl(0 0% 100%)" fill-rule="evenodd"><circle cx="1.5" cy="1.5" r="1.5"/><circle cx="5.5" cy="1.5" r="1.5"/><circle cx="9.5" cy="1.5" r="1.5"/></g></svg>');
  --seat-legend-2-dots: url('data:image/svg+xml;utf8,<svg viewBox="0 0 7 3" xmlns="http://www.w3.org/2000/svg"><g fill="hsl(0 0% 100%)" fill-rule="evenodd"><circle cx="1.5" cy="1.5" r="1.5"/><circle cx="5.5" cy="1.5" r="1.5"/></g></svg>');
  --seat-legend-1-dot: url('data:image/svg+xml;utf8,<svg viewBox="0 0 3 3" xmlns="http://www.w3.org/2000/svg"><circle cx="1.5" cy="1.5" fill="hsl(0 0% 100%)" fill-rule="evenodd" r="1.5"/></svg>');
}

.seat-legend {
  padding: var(--margin-double) var(--margin-triple);
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(100px, 1fr));
  gap: var(--margin-double) var(--margin-normal);
}
.seat-legend li {
  display: flex;
  gap: var(--margin-normal);
  margin: 0;
  padding: 0;
}

.icon-legend {
  --icon-legend-color: var(--color-light-on-dark);
  display: grid;
  place-items: end;
  background: var(--icon-legend, var(--color-icon));
  border-bottom: calc(6rem * var(--seat-legend-scale) / var(--seat-legend-base)) solid var(--icon-legend-alt);
  height: var(--seat-legend-height);
  width: var(--seat-legend-width);
  border-radius: calc(2rem * var(--seat-legend-scale) / var(--seat-legend-base)) calc(2rem * var(--seat-legend-scale) / var(--seat-legend-base)) calc(4rem * var(--seat-legend-scale) / var(--seat-legend-base)) calc(4rem * var(--seat-legend-scale) / var(--seat-legend-base));
  position: relative;
}
.icon-legend::after {
  margin: calc(2rem * var(--seat-legend-scale) / var(--seat-legend-base)) calc(1.5rem * var(--seat-legend-scale) / var(--seat-legend-base));
  line-height: 0;
}

.icon-legend-business {
  width: calc(24rem * var(--seat-legend-scale) / var(--seat-legend-base));
  height: calc(26rem * var(--seat-legend-scale) / var(--seat-legend-base));
  background: var(--icon-legend, var(--color-icon));
  position: relative;
  border-radius: calc(4rem * var(--seat-legend-scale) / var(--seat-legend-base));
}
.icon-legend-business::before {
  content: "";
  background: var(--icon-legend-alt);
  width: calc(13rem * var(--seat-legend-scale) / var(--seat-legend-base));
  height: calc(21rem * var(--seat-legend-scale) / var(--seat-legend-base));
  position: absolute;
  top: calc(-2rem * var(--seat-legend-scale) / var(--seat-legend-base));
  right: 0;
  border-radius: calc(2rem * var(--seat-legend-scale) / var(--seat-legend-base));
}
.icon-legend-business::after {
  position: absolute;
  bottom: calc(11rem * var(--seat-legend-scale) / var(--seat-legend-base));
  right: calc(1.5rem * var(--seat-legend-scale) / var(--seat-legend-base));
  display: inline-block;
  line-height: 0;
  transform-origin: right;
}

.icon-legend-standard {
  --icon-legend: hsl(212 84% 64%);
  --icon-legend-alt: hsl(221 69% 46%);
}
.icon-legend-standard::after {
  content: var(--seat-legend-1-dot);
  width: calc(3rem * var(--seat-legend-scale) / var(--seat-legend-base));
}

.icon-legend-extraleg {
  --icon-legend: hsl(36 44% 63%);
  --icon-legend-alt: hsl(34 39% 53%);
}
.icon-legend-extraleg::after {
  content: var(--seat-legend-3-dots);
  width: calc(11rem * var(--seat-legend-scale) / var(--seat-legend-base));
}

.icon-legend-preferred {
  --icon-legend: hsl(39 6% 43%);
  --icon-legend-alt: hsl(40 6% 38%);
}
.icon-legend-preferred::after {
  content: var(--seat-legend-2-dots);
  width: calc(7rem * var(--seat-legend-scale) / var(--seat-legend-base));
}

.icon-legend-free {
  --icon-legend: hsl(120 54% 41%);
  --icon-legend-alt: hsl(120 65% 31%);
}

.icon-legend-reserved {
  --icon-legend: hsl(30 5% 91%);
  --icon-legend-alt: hsl(45 5% 83%);
}

.icon-legend-selected {
  --icon-legend: hsl(225 100% 40%);
  --icon-legend-alt: hsl(240 100% 30%);
}
.icon-legend-selected::after {
  content: "ME";
  position: absolute;
  font-size: calc(10rem * var(--seat-legend-scale) / var(--seat-legend-base));
  color: var(--color-light-on-dark);
  inset: auto 0 0;
  line-height: 1.1;
  text-align: center;
  scale: 1;
}
.icon-legend-selected.icon-legend::after {
  bottom: calc(-7rem * var(--seat-legend-scale) / var(--seat-legend-base));
}

.icon-legend-extraseat {
  --icon-legend: hsl(229 83% 42%);
  --icon-legend-alt: hsl(215 83% 58%);
  border: none;
  border-radius: calc(2rem * var(--seat-legend-scale) / var(--seat-legend-base));
  background: linear-gradient(to top right, var(--icon-legend) 0%, var(--icon-legend) calc(50% - 1.5rem * var(--seat-legend-scale) / var(--seat-legend-base)), var(--icon-legend-alt) calc(50% - 1.5rem * var(--seat-legend-scale) / var(--seat-legend-base)), var(--icon-legend-alt) 50%, var(--icon-legend-alt) calc(50% + 1.5rem * var(--seat-legend-scale) / var(--seat-legend-base)), var(--icon-legend) calc(50% + 1.5rem * var(--seat-legend-scale) / var(--seat-legend-base)), var(--icon-legend) 100%);
}

s4s-carousel .forward span,
s4s-carousel .rewind span, .sas-input[type=file] input[type=file]:not(.attached) + .label, .sas-input[data-type=file] input[type=file]:not(.attached) + .label, .sas-input[type=file] input[type=file].attached, .sas-input[data-type=file] input[type=file].attached {
  clip: rect(1px, 1px, 1px, 1px);
  height: 1px;
  overflow: hidden;
  position: absolute;
  white-space: nowrap;
  width: 1px;
}

.card.teaser-card.entry-card h2 {
  font-size: 1.5rem;
  line-height: 1.1666666667;
  font-weight: var(--font-weight-black);
  text-transform: uppercase;
  margin-top: var(--margin-quadra);
  margin-bottom: var(--margin-quadra);
}

.card.banner-card-link-list a, .card.teaser-card h2, .card.hotel-card h2 {
  font-size: 1.125rem;
  line-height: 1.3333333333;
  font-weight: var(--font-weight-black);
  text-transform: uppercase;
  margin-top: var(--margin-quadra);
  margin-bottom: var(--margin-quadra);
}

.card.banner-card-mini .content, .card.banner-card-link-list th, .card.image-card h2 {
  font-size: 0.875rem;
  line-height: 1.4285714286;
  font-weight: var(--font-weight-black);
  text-transform: uppercase;
  margin-top: var(--margin-triple);
  margin-bottom: var(--margin-normal);
}

.card.image-card .rich-text,
.card.image-card .rich-text p {
  font-size: 0.75rem;
  line-height: 1.3333333333;
  text-transform: initial;
}

.s4s-overlay {
  display: none;
  background: var(--background-overlay);
  inset: 0;
  position: fixed;
  z-index: 10;
  overflow: hidden;
}
@media (min-width: 992px) {
  .s4s-overlay.visible {
    display: block;
  }
  .s4s-overlay.visible + * {
    display: block;
    z-index: 21;
  }
}

s4s-carousel .forward span,
s4s-carousel .rewind span, .sas-input[type=file] input[type=file]:not(.attached) + .label, .sas-input[data-type=file] input[type=file]:not(.attached) + .label, .sas-input[type=file] input[type=file].attached, .sas-input[data-type=file] input[type=file].attached {
  clip: rect(1px, 1px, 1px, 1px);
  height: 1px;
  overflow: hidden;
  position: absolute;
  white-space: nowrap;
  width: 1px;
}

.card.teaser-card.entry-card h2 {
  font-size: 1.5rem;
  line-height: 1.1666666667;
  font-weight: var(--font-weight-black);
  text-transform: uppercase;
  margin-top: var(--margin-quadra);
  margin-bottom: var(--margin-quadra);
}

.card.banner-card-link-list a, .card.teaser-card h2, .card.hotel-card h2 {
  font-size: 1.125rem;
  line-height: 1.3333333333;
  font-weight: var(--font-weight-black);
  text-transform: uppercase;
  margin-top: var(--margin-quadra);
  margin-bottom: var(--margin-quadra);
}

.card.banner-card-mini .content, .card.banner-card-link-list th, .card.image-card h2 {
  font-size: 0.875rem;
  line-height: 1.4285714286;
  font-weight: var(--font-weight-black);
  text-transform: uppercase;
  margin-top: var(--margin-triple);
  margin-bottom: var(--margin-normal);
}

.card.image-card .rich-text,
.card.image-card .rich-text p {
  font-size: 0.75rem;
  line-height: 1.3333333333;
  text-transform: initial;
}

@media print {
  :is(s4s-main-header, s4s-login, s4s-main-footer, aside, nav, iframe, .menu, .hero, .adslot, .breadcrumbs, #nothing) {
    display: none;
  }
  main::before {
    content: url('data:image/svg+xml;utf8,<svg width="74" height="26" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 74 26"><path d="M19.997 0c4.205 0 6.307 1.109 7.072 1.478.478.278.382.647.382.647l-.403 1.715a3.49 3.49 0 00-.075.41c-.095.185-.286.185-.478 0l-.862-.496c-1.055-.571-2.302-1.074-4.011-1.074-2.58 0-3.919 1.848-3.25 4.527l.464 1.703a408.24 408.24 0 011.555 6.127l.18.763c1.146 4.62-2.103 10.164-10.895 10.164-4.874 0-7.932-1.756-8.984-2.587-.573-.462-.764-.74-.669-1.017l.288-.916c.194-.598.424-1.26.477-1.209 0-.37.191-.462.382-.277l.44.412c1.153 1.04 3.593 2.914 6.823 2.914 4.11 0 3.823-3.234 3.823-3.696 0-1.293-1.72-7.669-2.198-9.332C8.72 4.897 12.065 0 19.997 0zm46.541 0c4.205 0 6.307 1.109 7.072 1.478.478.278.382.647.382.647L73.59 3.84a3.49 3.49 0 00-.075.41c-.095.185-.286.185-.477 0-1.243-.739-2.676-1.57-4.874-1.57-2.58 0-3.919 1.848-3.25 4.527l.312 1.124c.571 2.147 1.657 6.434 1.886 7.47 1.147 4.619-2.102 10.163-10.894 10.163-4.874 0-7.741-1.663-8.792-2.495-.478-.385-.69-.641-.693-.877l.452-2.197c.015-.065.028-.114.036-.143.11-.294.396-.386.587-.202l.754.656c1.245 1.04 3.432 2.578 6.413 2.578 4.11 0 3.823-3.234 3.823-3.696 0-1.293-1.72-7.669-2.198-9.332C55.261 4.897 58.606 0 66.538 0zM48.476.277c.23 0 .214.178.248.249l.039.028-4.97 24.763c0 .139-.054.173-.12.182l-8.959.003c-.286 0-.286-.185-.286-.277l1.037-5.275a1.1 1.1 0 00.014-.084l-.025-.065-.07-.028h-7.36l-.091.024-.1.069-4.396 5.451c0 .07-.053.139-.201.17l-.18.015h-3.06c-.142 0-.178-.052-.147-.156l.052-.121L40.448.462l.092-.065a.881.881 0 01.275-.1l.207-.02h7.454zm-10.704 7.3l-.095.092-7.646 9.517v.093h5.83l1.911-9.61.043-.068-.043-.024z" fill="hsl( 239 100% 37% )" fill-rule="evenodd"/></svg>');
    display: block;
    width: var(--width-page);
    margin-inline: auto;
  }
  :is(.sas-accordion, #nothing) {
    height: auto;
  }
  :is(.sas-accordion, #nothing) .accordion-btn {
    padding-inline: 0;
    border: none;
  }
  :is(.sas-accordion, #nothing) .accordion-btn .btn-toggle {
    padding-inline: 0;
    font-weight: var(--font-weight-bold);
  }
  :is(.sas-accordion, #nothing) .accordion-btn .btn-toggle::after {
    display: none;
  }
  :is(.sas-accordion, #nothing) .accordion-content {
    padding-inline: 0;
    border: none;
  }
  a::after {
    content: " [" attr(href) "] ";
  }
}
.bg-b0 {
  background-color: var(--b0-color) !important;
}

.bg-b0-dark {
  background-color: var(--b0-dark-color) !important;
}

.bg-b1 {
  background-color: var(--b1-color) !important;
}

.bg-b1-dark {
  background-color: var(--b1-dark-color) !important;
}

.bg-b1-darker {
  background-color: var(--b1-darker-color) !important;
}

.bg-b2 {
  background-color: var(--b2-color) !important;
}

.bg-b2-dark {
  background-color: var(--b2-dark-color) !important;
}

.bg-b3 {
  background-color: var(--b3-color) !important;
}

.bg-b3-dark {
  background-color: var(--b3-dark-color) !important;
}

.bg-b4 {
  background-color: var(--b4-color) !important;
}

.bg-b4-dark {
  background-color: var(--b4-dark-color) !important;
}

.bg-b5 {
  background-color: var(--b5-color) !important;
}

.bg-b5-dark {
  background-color: var(--b5-dark-color) !important;
}

.bg-g0 {
  background-color: var(--g0-color) !important;
}

.bg-g0-dark {
  background-color: var(--g0-dark-color) !important;
}

.bg-g1 {
  background-color: var(--g1-color) !important;
}

.bg-g1-dark {
  background-color: var(--g1-dark-color) !important;
}

.bg-g2 {
  background-color: var(--g2-color) !important;
}

.bg-g2-dark {
  background-color: var(--g2-dark-color) !important;
}

.bg-g3 {
  background-color: var(--g3-color) !important;
}

.bg-g3-dark {
  background-color: var(--g3-dark-color) !important;
}

.bg-g4 {
  background-color: var(--g4-color) !important;
}

.bg-g4-dark {
  background-color: var(--g4-dark-color) !important;
}

.bg-g5 {
  background-color: var(--g5-color) !important;
}

.bg-g5-dark {
  background-color: var(--g5-dark-color) !important;
}

.bg-r {
  background-color: var(--r-color) !important;
}

.bg-r-dark {
  background-color: var(--r-dark-color) !important;
}

.bg-s1 {
  background-color: var(--s1-color) !important;
}

.bg-s1-dark {
  background-color: var(--s1-dark-color) !important;
}

.bg-s2 {
  background-color: var(--s2-color) !important;
}

.bg-s2-dark {
  background-color: var(--s2-dark-color) !important;
}

.bg-g {
  background-color: var(--g-color) !important;
}

.bg-g-dark {
  background-color: var(--g-dark-color) !important;
}

.bg-profile-s {
  background-color: var(--profile-s-color) !important;
}

.bg-profile-b {
  background-color: var(--profile-b-color) !important;
}

.bg-profile-g {
  background-color: var(--profile-g-color) !important;
}

.bg-profile-d {
  background-color: var(--profile-d-color) !important;
}

.bg-profile-p {
  background-color: var(--profile-p-color) !important;
}

.bg-white {
  background-color: var(--white-color) !important;
}

.bg-black {
  background-color: var(--black-color) !important;
}

.bg-text {
  background-color: var(--text-color) !important;
}

.bg-link {
  background-color: var(--link-color) !important;
}

.bg-link-hover {
  background-color: var(--link-hover-color) !important;
}

.color-b0 {
  color: var(--b0-color) !important;
}

.color-b0-dark {
  color: var(--b0-dark-color) !important;
}

.color-b1 {
  color: var(--b1-color) !important;
}

.color-b1-dark {
  color: var(--b1-dark-color) !important;
}

.color-b1-darker {
  color: var(--b1-darker-color) !important;
}

.color-b2 {
  color: var(--b2-color) !important;
}

.color-b2-dark {
  color: var(--b2-dark-color) !important;
}

.color-b3 {
  color: var(--b3-color) !important;
}

.color-b3-dark {
  color: var(--b3-dark-color) !important;
}

.color-b4 {
  color: var(--b4-color) !important;
}

.color-b4-dark {
  color: var(--b4-dark-color) !important;
}

.color-b5 {
  color: var(--b5-color) !important;
}

.color-b5-dark {
  color: var(--b5-dark-color) !important;
}

.color-g0 {
  color: var(--g0-color) !important;
}

.color-g0-dark {
  color: var(--g0-dark-color) !important;
}

.color-g1 {
  color: var(--g1-color) !important;
}

.color-g1-dark {
  color: var(--g1-dark-color) !important;
}

.color-g2 {
  color: var(--g2-color) !important;
}

.color-g2-dark {
  color: var(--g2-dark-color) !important;
}

.color-g3 {
  color: var(--g3-color) !important;
}

.color-g3-dark {
  color: var(--g3-dark-color) !important;
}

.color-g4 {
  color: var(--g4-color) !important;
}

.color-g4-dark {
  color: var(--g4-dark-color) !important;
}

.color-g5 {
  color: var(--g5-color) !important;
}

.color-g5-dark {
  color: var(--g5-dark-color) !important;
}

.color-r {
  color: var(--r-color) !important;
}

.color-r-dark {
  color: var(--r-dark-color) !important;
}

.color-s1 {
  color: var(--s1-color) !important;
}

.color-s1-dark {
  color: var(--s1-dark-color) !important;
}

.color-s2 {
  color: var(--s2-color) !important;
}

.color-s2-dark {
  color: var(--s2-dark-color) !important;
}

.color-g {
  color: var(--g-color) !important;
}

.color-g-dark {
  color: var(--g-dark-color) !important;
}

.color-profile-s {
  color: var(--profile-s-color) !important;
}

.color-profile-b {
  color: var(--profile-b-color) !important;
}

.color-profile-g {
  color: var(--profile-g-color) !important;
}

.color-profile-d {
  color: var(--profile-d-color) !important;
}

.color-profile-p {
  color: var(--profile-p-color) !important;
}

.color-white {
  color: var(--white-color) !important;
}

.color-black {
  color: var(--black-color) !important;
}

.color-text {
  color: var(--text-color) !important;
}

.color-link {
  color: var(--link-color) !important;
}

.color-link-hover {
  color: var(--link-hover-color) !important;
}

.bg-blue-1 {
  background-color: var(--color-blue-1) !important;
}

.bg-blue-1-hover {
  background-color: var(--color-blue-1-hover) !important;
}

.bg-blue-1-2 {
  background-color: var(--color-blue-1-2) !important;
}

.bg-blue-1-2-hover {
  background-color: var(--color-blue-1-2-hover) !important;
}

.bg-blue-1-3 {
  background-color: var(--color-blue-1-3) !important;
}

.bg-blue-1-3-hover {
  background-color: var(--color-blue-1-3-hover) !important;
}

.bg-blue-2 {
  background-color: var(--color-blue-2) !important;
}

.bg-blue-2-hover {
  background-color: var(--color-blue-2-hover) !important;
}

.bg-blue-3 {
  background-color: var(--color-blue-3) !important;
}

.bg-blue-3-hover {
  background-color: var(--color-blue-3-hover) !important;
}

.bg-blue-4 {
  background-color: var(--color-blue-4) !important;
}

.bg-blue-4-hover {
  background-color: var(--color-blue-4-hover) !important;
}

.bg-gray-1 {
  background-color: var(--color-gray-1) !important;
}

.bg-gray-1-hover {
  background-color: var(--color-gray-1-hover) !important;
}

.bg-gray-2 {
  background-color: var(--color-gray-2) !important;
}

.bg-gray-2-hover {
  background-color: var(--color-gray-2-hover) !important;
}

.bg-gray-3 {
  background-color: var(--color-gray-3) !important;
}

.bg-gray-3-hover {
  background-color: var(--color-gray-3-hover) !important;
}

.bg-gray-4 {
  background-color: var(--color-gray-4) !important;
}

.bg-gray-4-hover {
  background-color: var(--color-gray-4-hover) !important;
}

.bg-gray-5 {
  background-color: var(--color-gray-5) !important;
}

.bg-gray-5-hover {
  background-color: var(--color-gray-5-hover) !important;
}

.bg-peach-1 {
  background-color: var(--color-peach-1) !important;
}

.bg-peach-1-hover {
  background-color: var(--color-peach-1-hover) !important;
}

.bg-peach-1-2 {
  background-color: var(--color-peach-1-2) !important;
}

.bg-peach-1-2-hover {
  background-color: var(--color-peach-1-2-hover) !important;
}

.bg-coral-1 {
  background-color: var(--color-coral-1) !important;
}

.bg-coral-1-hover {
  background-color: var(--color-coral-1-hover) !important;
}

.bg-coral-1-2 {
  background-color: var(--color-coral-1-2) !important;
}

.bg-coral-1-2-hover {
  background-color: var(--color-coral-1-2-hover) !important;
}

.bg-member {
  background-color: var(--color-member) !important;
}

.bg-member-hover {
  background-color: var(--color-member-hover) !important;
}

.bg-silver {
  background-color: var(--color-silver) !important;
}

.bg-silver-hover {
  background-color: var(--color-silver-hover) !important;
}

.bg-gold {
  background-color: var(--color-gold) !important;
}

.bg-gold-hover {
  background-color: var(--color-gold-hover) !important;
}

.bg-diamond {
  background-color: var(--color-diamond) !important;
}

.bg-diamond-hover {
  background-color: var(--color-diamond-hover) !important;
}

.bg-pandion {
  background-color: var(--color-pandion) !important;
}

.bg-pandion-hover {
  background-color: var(--color-pandion-hover) !important;
}

.bg-bonus-gold {
  background-color: var(--color-bonus-gold) !important;
}

.bg-eb-member {
  background-color: var(--color-eb-member) !important;
}

.bg-eb-silver {
  background-color: var(--color-eb-silver) !important;
}

.bg-eb-gold {
  background-color: var(--color-eb-gold) !important;
}

.bg-eb-diamond {
  background-color: var(--color-eb-diamond) !important;
}

.bg-eb-pandion {
  background-color: var(--color-eb-pandion) !important;
}

.bg-eb-bonus-gold {
  background-color: var(--color-eb-bonus-gold) !important;
}

.bg-black {
  background-color: var(--color-black) !important;
}

.bg-black-hover {
  background-color: var(--color-black-hover) !important;
}

.bg-white {
  background-color: var(--color-white) !important;
}

.bg-white-hover {
  background-color: var(--color-white-hover) !important;
}

.bg-green {
  background-color: var(--color-green) !important;
}

.bg-green-hover {
  background-color: var(--color-green-hover) !important;
}

.bg-red {
  background-color: var(--color-red) !important;
}

.bg-red-hover {
  background-color: var(--color-red-hover) !important;
}

.bg-link {
  background-color: var(--color-link) !important;
}

.bg-link-hover {
  background-color: var(--color-link-hover) !important;
}

.bg-text {
  background-color: var(--color-text) !important;
}

.bg-text-hover {
  background-color: var(--color-text-hover) !important;
}

.bg-bio-100 {
  background-color: hsl(var(--bio-100)) !important;
}

.bg-bio-200 {
  background-color: hsl(var(--bio-200)) !important;
}

.bg-bio-300 {
  background-color: hsl(var(--bio-300)) !important;
}

.bg-bio-400 {
  background-color: hsl(var(--bio-400)) !important;
}

.bg-bio-500 {
  background-color: hsl(var(--bio-500)) !important;
}

.bg-bio-600 {
  background-color: hsl(var(--bio-600)) !important;
}

.bg-bio-700 {
  background-color: hsl(var(--bio-700)) !important;
}

.bg-bio-800 {
  background-color: hsl(var(--bio-800)) !important;
}

.bg-bio-900 {
  background-color: hsl(var(--bio-900)) !important;
}

.color-blue-1 {
  color: var(--color-blue-1) !important;
}

.color-blue-1-hover {
  color: var(--color-blue-1-hover) !important;
}

.color-blue-1-2 {
  color: var(--color-blue-1-2) !important;
}

.color-blue-1-2-hover {
  color: var(--color-blue-1-2-hover) !important;
}

.color-blue-1-3 {
  color: var(--color-blue-1-3) !important;
}

.color-blue-1-3-hover {
  color: var(--color-blue-1-3-hover) !important;
}

.color-blue-2 {
  color: var(--color-blue-2) !important;
}

.color-blue-2-hover {
  color: var(--color-blue-2-hover) !important;
}

.color-blue-3 {
  color: var(--color-blue-3) !important;
}

.color-blue-3-hover {
  color: var(--color-blue-3-hover) !important;
}

.color-blue-4 {
  color: var(--color-blue-4) !important;
}

.color-blue-4-hover {
  color: var(--color-blue-4-hover) !important;
}

.color-gray-1 {
  color: var(--color-gray-1) !important;
}

.color-gray-1-hover {
  color: var(--color-gray-1-hover) !important;
}

.color-gray-2 {
  color: var(--color-gray-2) !important;
}

.color-gray-2-hover {
  color: var(--color-gray-2-hover) !important;
}

.color-gray-3 {
  color: var(--color-gray-3) !important;
}

.color-gray-3-hover {
  color: var(--color-gray-3-hover) !important;
}

.color-gray-4 {
  color: var(--color-gray-4) !important;
}

.color-gray-4-hover {
  color: var(--color-gray-4-hover) !important;
}

.color-gray-5 {
  color: var(--color-gray-5) !important;
}

.color-gray-5-hover {
  color: var(--color-gray-5-hover) !important;
}

.color-peach-1 {
  color: var(--color-peach-1) !important;
}

.color-peach-1-hover {
  color: var(--color-peach-1-hover) !important;
}

.color-peach-1-2 {
  color: var(--color-peach-1-2) !important;
}

.color-peach-1-2-hover {
  color: var(--color-peach-1-2-hover) !important;
}

.color-coral-1 {
  color: var(--color-coral-1) !important;
}

.color-coral-1-hover {
  color: var(--color-coral-1-hover) !important;
}

.color-coral-1-2 {
  color: var(--color-coral-1-2) !important;
}

.color-coral-1-2-hover {
  color: var(--color-coral-1-2-hover) !important;
}

.color-member {
  color: var(--color-member) !important;
}

.color-member-hover {
  color: var(--color-member-hover) !important;
}

.color-silver {
  color: var(--color-silver) !important;
}

.color-silver-hover {
  color: var(--color-silver-hover) !important;
}

.color-gold {
  color: var(--color-gold) !important;
}

.color-gold-hover {
  color: var(--color-gold-hover) !important;
}

.color-diamond {
  color: var(--color-diamond) !important;
}

.color-diamond-hover {
  color: var(--color-diamond-hover) !important;
}

.color-pandion {
  color: var(--color-pandion) !important;
}

.color-pandion-hover {
  color: var(--color-pandion-hover) !important;
}

.color-bonus-gold {
  color: var(--color-bonus-gold) !important;
}

.color-eb-member {
  color: var(--color-eb-member) !important;
}

.color-eb-silver {
  color: var(--color-eb-silver) !important;
}

.color-eb-gold {
  color: var(--color-eb-gold) !important;
}

.color-eb-diamond {
  color: var(--color-eb-diamond) !important;
}

.color-eb-pandion {
  color: var(--color-eb-pandion) !important;
}

.color-eb-bonus-gold {
  color: var(--color-eb-bonus-gold) !important;
}

.color-black {
  color: var(--color-black) !important;
}

.color-black-hover {
  color: var(--color-black-hover) !important;
}

.color-white {
  color: var(--color-white) !important;
}

.color-white-hover {
  color: var(--color-white-hover) !important;
}

.color-green {
  color: var(--color-green) !important;
}

.color-green-hover {
  color: var(--color-green-hover) !important;
}

.color-red {
  color: var(--color-red) !important;
}

.color-red-hover {
  color: var(--color-red-hover) !important;
}

.color-link {
  color: var(--color-link) !important;
}

.color-link-hover {
  color: var(--color-link-hover) !important;
}

.color-text {
  color: var(--color-text) !important;
}

.color-text-hover {
  color: var(--color-text-hover) !important;
}

.color-bio-100 {
  color: hsl(var(--bio-100)) !important;
}

.color-bio-200 {
  color: hsl(var(--bio-200)) !important;
}

.color-bio-300 {
  color: hsl(var(--bio-300)) !important;
}

.color-bio-400 {
  color: hsl(var(--bio-400)) !important;
}

.color-bio-500 {
  color: hsl(var(--bio-500)) !important;
}

.color-bio-600 {
  color: hsl(var(--bio-600)) !important;
}

.color-bio-700 {
  color: hsl(var(--bio-700)) !important;
}

.color-bio-800 {
  color: hsl(var(--bio-800)) !important;
}

.color-bio-900 {
  color: hsl(var(--bio-900)) !important;
}

.s4s-columns {
  -moz-columns: 15rem 4;
       columns: 15rem 4;
  -moz-column-gap: var(--gap-normal);
       column-gap: var(--gap-normal);
}
.s4s-columns h3 {
  margin-block: 0 var(--margin-double);
}
.s4s-columns .from {
  padding-bottom: var(--margin-quadra);
}
.s4s-columns a {
  display: block;
}

s4s-card.photo-card {
  --border-radius-card: calc(var(--margin-normal) * 1.5);
}

s4s-carousel .forward span,
s4s-carousel .rewind span, .sas-input[type=file] input[type=file]:not(.attached) + .label, .sas-input[data-type=file] input[type=file]:not(.attached) + .label, .sas-input[type=file] input[type=file].attached, .sas-input[data-type=file] input[type=file].attached {
  clip: rect(1px, 1px, 1px, 1px);
  height: 1px;
  overflow: hidden;
  position: absolute;
  white-space: nowrap;
  width: 1px;
}

.card.teaser-card.entry-card h2 {
  font-size: 1.5rem;
  line-height: 1.1666666667;
  font-weight: var(--font-weight-black);
  text-transform: uppercase;
  margin-top: var(--margin-quadra);
  margin-bottom: var(--margin-quadra);
}

.card.banner-card-link-list a, .card.teaser-card h2, .card.hotel-card h2 {
  font-size: 1.125rem;
  line-height: 1.3333333333;
  font-weight: var(--font-weight-black);
  text-transform: uppercase;
  margin-top: var(--margin-quadra);
  margin-bottom: var(--margin-quadra);
}

.card.banner-card-mini .content, .card.banner-card-link-list th, .card.image-card h2 {
  font-size: 0.875rem;
  line-height: 1.4285714286;
  font-weight: var(--font-weight-black);
  text-transform: uppercase;
  margin-top: var(--margin-triple);
  margin-bottom: var(--margin-normal);
}

.card.image-card .rich-text,
.card.image-card .rich-text p {
  font-size: 0.75rem;
  line-height: 1.3333333333;
  text-transform: initial;
}

table {
  border-collapse: collapse;
  width: 100%;
}

:where(tr:nth-child(odd)) {
  background-color: var(--color-gray-1);
}

th,
td {
  padding: var(--margin-double);
  text-align: left;
}

thead th {
  background: var(--color-blue-4);
  color: var(--color-white);
}

.responsive {
  /* stylelint-disable max-nesting-depth */
}
.responsive,
.responsive thead,
.responsive tbody,
.responsive tr,
.responsive td,
.responsive th {
  display: flex;
  flex-direction: column;
}
.responsive th,
.responsive td {
  padding: var(--margin-double);
  border-bottom: 1px solid var(--color-gray-2-hover);
}
.responsive thead th:not(:first-child) {
  display: none;
}
.responsive thead:empty {
  display: none;
}
@media (min-width: 768px) {
  .responsive thead:empty {
    display: table-cell;
  }
}
.responsive tbody tr {
  flex-direction: column;
}
.responsive tbody tr th {
  background: var(--color-blue-4);
  color: var(--color-white);
}
.responsive tbody tr:nth-child(odd) {
  background-color: transparent;
}
.responsive tbody tr td {
  flex-direction: row;
  border-bottom: 1px solid var(--color-gray-1-hover);
  align-items: center;
}
.responsive tbody tr td:nth-of-type(odd) {
  background-color: var(--color-gray-1);
}
.responsive tbody tr td::before {
  display: flex;
  align-items: center;
  padding: var(--margin-double);
  margin: calc(var(--margin-double) * -1) var(--margin-double) calc(var(--margin-double) * -1) calc(var(--margin-double) * -1);
  flex-basis: calc(50% - var(--margin-normal) * 4);
  border-right: 1px solid var(--color-gray-2);
  align-self: stretch;
}
.responsive tbody tr td:nth-of-type(1)::before {
  content: var(--t-heading-1);
}
.responsive tbody tr td:nth-of-type(2)::before {
  content: var(--t-heading-2);
}
.responsive tbody tr td:nth-of-type(3)::before {
  content: var(--t-heading-3);
}
.responsive tbody tr td:nth-of-type(4)::before {
  content: var(--t-heading-4);
}
.responsive tbody tr td:nth-of-type(5)::before {
  content: var(--t-heading-5);
}
.responsive tbody tr td div {
  flex-grow: 1;
  margin: calc(var(--margin-normal) * -2);
}
.responsive tbody tr td div h5 {
  margin: 0;
  padding: var(--margin-double) var(--margin-double) 0;
}
.responsive tbody tr td div p {
  margin: 0;
  padding: 0 var(--margin-double) var(--margin-double);
}
.responsive tbody tr td h5 {
  font-size: 0.5rem;
  line-height: 1.5;
  font-weight: var(--font-weight-normal);
  margin-left: calc(0 - var(--margin-normal) * 2);
  margin-right: calc(0 - var(--margin-normal) * 2);
  padding-left: var(--margin-double);
  padding-right: var(--margin-double);
}
.responsive tbody tr td h5:not(:first-of-type) {
  border-top: 1px solid var(--color-gray-1);
  padding-top: var(--margin-double);
}
@media (min-width: 768px) {
  .responsive {
    display: table;
    table-layout: fixed;
    /* stylelint-enable max-nesting-depth */
  }
  .responsive thead {
    display: table-header-group;
  }
  .responsive thead th:not(:first-child) {
    border-left: 1px solid var(--color-gray-2-hover);
    display: table-cell;
  }
  .responsive tbody {
    display: table-row-group;
  }
  .responsive tbody tr {
    background-color: var(--color-gray-1);
  }
  .responsive tbody tr th {
    border-bottom: 1px solid var(--color-gray-1-hover);
    background: transparent;
    color: var(--color-text);
  }
  .responsive tbody tr td {
    border-left: 1px solid var(--color-gray-1-hover);
  }
  .responsive tbody tr td:nth-of-type(n) {
    background-color: transparent;
  }
  .responsive tbody tr td:nth-of-type(n)::before {
    content: none;
  }
  .responsive tbody tr td div {
    display: grid;
    grid-template-rows: auto auto;
    grid-template-columns: auto auto;
    grid-auto-flow: column;
    align-items: baseline;
    margin: calc(var(--margin-normal) * -2);
    padding: 0;
  }
  .responsive tbody tr td div h5 {
    margin: 0;
    padding: var(--margin-double) var(--margin-double) 0;
  }
  .responsive tbody tr td div h5:not(:first-of-type) {
    border-top: none;
    margin: 0;
    border-left: 1px solid var(--color-gray-1-hover);
  }
  .responsive tbody tr td div p {
    margin: 0;
    padding: var(--margin-normal) var(--margin-double) var(--margin-double);
  }
  .responsive tbody tr td div p:not(:first-of-type) {
    border-left: 1px solid var(--color-gray-1-hover);
  }
  .responsive tr {
    display: table-row;
  }
  .responsive th,
  .responsive td {
    display: table-cell;
  }
}

.table-disclaimers i {
  display: block;
}

s4s-carousel .forward span,
s4s-carousel .rewind span, .sas-input[type=file] input[type=file]:not(.attached) + .label, .sas-input[data-type=file] input[type=file]:not(.attached) + .label, .sas-input[type=file] input[type=file].attached, .sas-input[data-type=file] input[type=file].attached {
  clip: rect(1px, 1px, 1px, 1px);
  height: 1px;
  overflow: hidden;
  position: absolute;
  white-space: nowrap;
  width: 1px;
}

.card.teaser-card.entry-card h2 {
  font-size: 1.5rem;
  line-height: 1.1666666667;
  font-weight: var(--font-weight-black);
  text-transform: uppercase;
  margin-top: var(--margin-quadra);
  margin-bottom: var(--margin-quadra);
}

.card.banner-card-link-list a, .card.teaser-card h2, .card.hotel-card h2 {
  font-size: 1.125rem;
  line-height: 1.3333333333;
  font-weight: var(--font-weight-black);
  text-transform: uppercase;
  margin-top: var(--margin-quadra);
  margin-bottom: var(--margin-quadra);
}

.card.banner-card-mini .content, .card.banner-card-link-list th, .card.image-card h2 {
  font-size: 0.875rem;
  line-height: 1.4285714286;
  font-weight: var(--font-weight-black);
  text-transform: uppercase;
  margin-top: var(--margin-triple);
  margin-bottom: var(--margin-normal);
}

.card.image-card .rich-text,
.card.image-card .rich-text p {
  font-size: 0.75rem;
  line-height: 1.3333333333;
  text-transform: initial;
}

.member-tag {
  font-size: 0.875rem;
  line-height: 1.4285714286;
  color: var(--color-text);
  display: inline-block;
  margin: 0 var(--margin-double) var(--margin-double) 0;
  padding: calc(var(--margin-normal) / 2) var(--margin-double);
  border-radius: var(--border-radius-normal);
  text-transform: capitalize;
}
.member-tag:not(:last-child) {
  margin-right: var(--margin-normal);
}
.member-tag-s {
  background: var(--color-silver);
}
.member-tag-m, .member-tag-n, .member-tag-b {
  --color-text: var(--color-white);
  background: var(--color-member);
}
.member-tag-g {
  background: var(--color-gold);
}
.member-tag-d {
  background: var(--color-diamond);
}
.member-tag-p {
  --color-text: var(--color-white);
  background: var(--color-pandion);
}
.member-tag-admin {
  --color-text: var(--color-white);
  background: var(--color-blue-3);
}

.misc-tag {
  font-size: 0.75rem;
  line-height: 1.6666666667;
  font-weight: var(--font-weight-black);
  text-transform: uppercase;
  display: inline-block;
  margin: 0 var(--margin-double) var(--margin-double) 0;
  padding: 0 var(--margin-normal);
}
.misc-tag.success {
  background-color: var(--color-success);
  color: var(--color-white);
}
.misc-tag.error {
  background-color: var(--color-error);
  color: var(--color-white);
}

s4s-carousel .forward span,
s4s-carousel .rewind span, .sas-input[type=file] input[type=file]:not(.attached) + .label, .sas-input[data-type=file] input[type=file]:not(.attached) + .label, .sas-input[type=file] input[type=file].attached, .sas-input[data-type=file] input[type=file].attached {
  clip: rect(1px, 1px, 1px, 1px);
  height: 1px;
  overflow: hidden;
  position: absolute;
  white-space: nowrap;
  width: 1px;
}

.card.teaser-card.entry-card h2 {
  font-size: 1.5rem;
  line-height: 1.1666666667;
  font-weight: var(--font-weight-black);
  text-transform: uppercase;
  margin-top: var(--margin-quadra);
  margin-bottom: var(--margin-quadra);
}

.card.banner-card-link-list a, .card.teaser-card h2, .card.hotel-card h2 {
  font-size: 1.125rem;
  line-height: 1.3333333333;
  font-weight: var(--font-weight-black);
  text-transform: uppercase;
  margin-top: var(--margin-quadra);
  margin-bottom: var(--margin-quadra);
}

.card.banner-card-mini .content, .card.banner-card-link-list th, .card.image-card h2 {
  font-size: 0.875rem;
  line-height: 1.4285714286;
  font-weight: var(--font-weight-black);
  text-transform: uppercase;
  margin-top: var(--margin-triple);
  margin-bottom: var(--margin-normal);
}

.card.image-card .rich-text,
.card.image-card .rich-text p {
  font-size: 0.75rem;
  line-height: 1.3333333333;
  text-transform: initial;
}

:where(h1, h2, h3, .h1, .h2, .h3) {
  color: var(--color-heading);
}

@media (max-width: 767px) {
  :where(h1) {
    -webkit-hyphens: auto;
            hyphens: auto;
  }
}
:where(h4, h5, h6, .h4, .h5, .h6) {
  color: var(--color-title);
}

:is(h1, h2, h3, h4, h5, h6, .h1, .h2, .h3, .h4, .h5, .h6) {
  text-transform: uppercase;
}
:is(h1, h2, h3, h4, h5, h6, .h1, .h2, .h3, .h4, .h5, .h6):first-child {
  margin-top: 0;
}
:is(h1, h2, h3, h4, h5, h6, .h1, .h2, .h3, .h4, .h5, .h6) + p {
  margin-top: 0;
}
:is(h1, h2, h3, h4, h5, h6, .h1, .h2, .h3, .h4, .h5, .h6) :where(em, i) {
  font-family: var(--sas-font-family-serif);
  font-weight: 500;
  font-style: italic;
  text-transform: initial;
}

h1,
.h1 {
  font: var(--font-h2);
  margin-block: var(--margin-quadra) var(--margin-triple);
}
@media (min-width: 768px) {
  h1,
  .h1 {
    font: var(--font-h1);
    margin-block: calc(var(--margin-normal) * 5) var(--margin-quadra);
  }
}
h1.lg,
.h1.lg {
  font: var(--font-h1-hero);
  margin-block: calc(var(--margin-normal) * 5) var(--margin-quadra);
}

h2,
.h2 {
  font: var(--font-h2);
  margin-block: var(--margin-quadra) var(--margin-triple);
}

h3,
.h3 {
  font: var(--font-h3);
  margin-block: var(--margin-quadra) var(--margin-double);
}

h4,
.h4 {
  font: var(--font-h4);
  margin-block: var(--margin-triple) var(--margin-normal);
}

h5,
.h5 {
  font: var(--font-h5);
  margin-block: var(--margin-double) var(--margin-normal);
}

h6,
.h6 {
  font: var(--font-h6);
  margin-block: var(--margin-double) var(--margin-normal);
}

strong,
b,
.bold {
  font-weight: var(--font-weight-bold);
}

.p3 {
  font: var(--font-p3);
}

.p2 {
  font: var(--font-p2);
}

.p1 {
  font: var(--font-p1);
}

.p1-sm {
  font: var(--font-p1-sm);
}

.p1-xs {
  font: var(--font-p1-xs);
}

p {
  font: var(--font-p);
  margin-block: 0 var(--margin-double);
  text-transform: initial;
}
p.book, p.rich-text, article p {
  font-weight: var(--font-weight-book);
}
p:last-child {
  margin-block-end: 0;
}
p.drop-text {
  font: var(--font-p3);
}
p.preamble-text {
  font: var(--font-p2);
}

.oneliner {
  white-space: nowrap;
}

s4s-carousel .forward span,
s4s-carousel .rewind span, .sas-input[type=file] input[type=file]:not(.attached) + .label, .sas-input[data-type=file] input[type=file]:not(.attached) + .label, .sas-input[type=file] input[type=file].attached, .sas-input[data-type=file] input[type=file].attached {
  clip: rect(1px, 1px, 1px, 1px);
  height: 1px;
  overflow: hidden;
  position: absolute;
  white-space: nowrap;
  width: 1px;
}

.card.teaser-card.entry-card h2 {
  font-size: 1.5rem;
  line-height: 1.1666666667;
  font-weight: var(--font-weight-black);
  text-transform: uppercase;
  margin-top: var(--margin-quadra);
  margin-bottom: var(--margin-quadra);
}

.card.banner-card-link-list a, .card.teaser-card h2, .card.hotel-card h2 {
  font-size: 1.125rem;
  line-height: 1.3333333333;
  font-weight: var(--font-weight-black);
  text-transform: uppercase;
  margin-top: var(--margin-quadra);
  margin-bottom: var(--margin-quadra);
}

.card.banner-card-mini .content, .card.banner-card-link-list th, .card.image-card h2 {
  font-size: 0.875rem;
  line-height: 1.4285714286;
  font-weight: var(--font-weight-black);
  text-transform: uppercase;
  margin-top: var(--margin-triple);
  margin-bottom: var(--margin-normal);
}

.card.image-card .rich-text,
.card.image-card .rich-text p {
  font-size: 0.75rem;
  line-height: 1.3333333333;
  text-transform: initial;
}

s4s-tabs {
  display: block;
}

.tabs {
  font-size: 0.875rem;
}
.tabs [role=tablist] {
  display: flex;
}
.tabs button[role=tab] {
  font-weight: var(--font-weight-black);
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  border: 0;
  cursor: pointer;
  background-color: var(--color-blue-3);
  color: var(--color-white);
  font-size: 1em;
  line-height: 1em;
  transition: background-color 0.5s, transform 0.25s;
  padding: 8px 16px;
  margin: 0;
}
@media (min-width: 768px) {
  .tabs button[role=tab] {
    padding: 8px 32px;
  }
}
.tabs button[role=tab][aria-selected=true] {
  transform: scale(1.1) translateY(-0.15em);
  background-color: var(--color-blue-2);
}
.tabs button[role=tab] > span {
  display: block;
  margin-bottom: 4px;
  text-transform: uppercase;
}
.tabs button[role=tab] > span:nth-child(2) {
  font-size: 0.75rem;
  line-height: 1.3333333333;
  font-weight: var(--font-weight-normal);
  margin: 0;
}
.tabs .tabpanel {
  padding: 16px;
  border: 1px solid var(--color-gray-1);
  background: var(--color-white);
}
.tabs .tabpanel[hidden] {
  display: none;
}

s4s-carousel .forward span,
s4s-carousel .rewind span, .sas-input[type=file] input[type=file]:not(.attached) + .label, .sas-input[data-type=file] input[type=file]:not(.attached) + .label, .sas-input[type=file] input[type=file].attached, .sas-input[data-type=file] input[type=file].attached {
  clip: rect(1px, 1px, 1px, 1px);
  height: 1px;
  overflow: hidden;
  position: absolute;
  white-space: nowrap;
  width: 1px;
}

.card.teaser-card.entry-card h2 {
  font-size: 1.5rem;
  line-height: 1.1666666667;
  font-weight: var(--font-weight-black);
  text-transform: uppercase;
  margin-top: var(--margin-quadra);
  margin-bottom: var(--margin-quadra);
}

.card.banner-card-link-list a, .card.teaser-card h2, .card.hotel-card h2 {
  font-size: 1.125rem;
  line-height: 1.3333333333;
  font-weight: var(--font-weight-black);
  text-transform: uppercase;
  margin-top: var(--margin-quadra);
  margin-bottom: var(--margin-quadra);
}

.card.banner-card-mini .content, .card.banner-card-link-list th, .card.image-card h2 {
  font-size: 0.875rem;
  line-height: 1.4285714286;
  font-weight: var(--font-weight-black);
  text-transform: uppercase;
  margin-top: var(--margin-triple);
  margin-bottom: var(--margin-normal);
}

.card.image-card .rich-text,
.card.image-card .rich-text p {
  font-size: 0.75rem;
  line-height: 1.3333333333;
  text-transform: initial;
}

.toggles {
  --border-radius-button: var(--border-radius-normal);
  --background-button: var(--color-blue-3);
  --color-button: var(--color-white);
  --background-toggles: var(--color-blue-3);
  --border-toggles: 3px solid var(--color-blue-3);
  --border-radius-toggles: calc(var(--border-radius-normal) * 1.3);
  --padding-button: var(--margin-normal) var(--margin-double);
  --font-button: var(--font-p1);
  --gap-toggles: calc(var(--margin-normal) / 4);
  --flex-toggles: 1 0 auto;
  display: grid;
  position: relative;
}
@media (min-width: 768px) {
  .toggles {
    --font-button: var(--font-p);
  }
}
.toggles .toggle-btns {
  display: flex;
  background: var(--background-toggles);
  border: var(--border-toggles);
  border-radius: var(--border-radius-toggles);
  gap: var(--gap-toggles);
}
.toggles button {
  font: var(--font-button);
  background-color: var(--background-button);
  border: var(--border-button);
  padding: var(--padding-button);
  color: var(--color-button);
  border-radius: var(--border-radius-button);
  display: flex;
  align-items: baseline;
  flex: var(--flex-toggles);
  justify-content: center;
  text-align: center;
  cursor: pointer;
}
.toggles button[aria-pressed=true] {
  --background-button: var(--color-blue-2);
}
.toggles .btn-link {
  flex-grow: 1;
  text-align: center;
}
.toggles:has(.toggle-btns:empty) {
  display: none;
}

.link-mode .toggles {
  --background-toggles: transparent;
  --border-toggles: none;
  --border-radius-toggles: 0;
  --padding-button: var(--margin-double);
  --gap-toggles: var(--margin-plus);
  --background-border: 0;
  --border-radius-button: 0;
}
@media (min-width: 768px) {
  .link-mode .toggles {
    --flex-toggles: 0 0 auto;
  }
}
.link-mode .toggle-btns {
  border-bottom: 1px solid var(--color-separator);
}
.link-mode button,
.link-mode .btn-link {
  --background-button: transparent;
  font: var(--font-p1);
  border-bottom: 3px solid var(--color-white);
  color: var(--color-text);
  text-transform: none;
  text-decoration: none;
}
.link-mode button:hover, .link-mode button:active,
.link-mode .btn-link:hover,
.link-mode .btn-link:active {
  --background-button: transparent;
}
.link-mode button[aria-pressed=true],
.link-mode .btn-link[aria-pressed=true] {
  background-color: transparent;
  border-bottom: 3px solid var(--color-blue-2);
  font-weight: var(--font-weight-bold);
  color: var(--color-blue-3);
}
.link-mode button .sas-icon,
.link-mode .btn-link .sas-icon {
  margin-right: 4px;
  color: var(--color-blue-3);
  align-self: center;
}
.link-mode .btn-link:hover {
  text-decoration: underline;
}
.link-mode .sas-icon-cl--new-window {
  color: var(--color-gray-5);
  margin-left: 4px;
}

.button-mode .toggles {
  --border-radius-button: var(--border-radius-pill);
  --color-button: var(--color-blue-3);
  --background-button: transparent;
  --background-toggles: var(--color-gray-1);
  --border-toggles: 0;
  --border-radius-toggles: var(--border-radius-pill);
  --font-button: var(--font-p1);
}
.button-mode .toggles button[aria-pressed=true] {
  --background-button: var(--color-blue-3);
  --color-button: var(--color-white);
}
.button-mode .toggles button:not([aria-pressed=true]):hover {
  --background-button: var(--color-gray-2);
}

s4s-toggle {
  display: grid;
}
s4s-toggle.link-mode.anim-mode :is(button, .btn-link) {
  position: relative;
  border: 0;
  margin: 0;
}
s4s-toggle.link-mode.anim-mode :is(button, .btn-link)::after {
  content: "";
  position: absolute;
  bottom: 0;
  background: var(--color-brand);
  width: 100%;
  overflow: hidden;
  height: calc(var(--margin-normal) / 2);
  scale: var(--w, 0) 1;
  translate: var(--t, 0);
  transition: 200ms var(--wd, 0ms) scale var(--ease-in-out-brand), 200ms var(--td, 0ms) translate var(--ease-in-out-brand);
}
s4s-toggle.link-mode.anim-mode :is(button, .btn-link):hover {
  --w: 1;
}
s4s-toggle.link-mode.anim-mode :is(button, .btn-link):hover + button {
  --t: -100%;
  --td: 150ms;
  --wd: 400ms;
}
s4s-toggle.link-mode.anim-mode :is(button, .btn-link):has(+ button:hover) {
  --t: 100%;
  --td: 150ms;
  --wd: 400ms;
}

s4s-carousel .forward span,
s4s-carousel .rewind span, .sas-input[type=file] input[type=file]:not(.attached) + .label, .sas-input[data-type=file] input[type=file]:not(.attached) + .label, .sas-input[type=file] input[type=file].attached, .sas-input[data-type=file] input[type=file].attached {
  clip: rect(1px, 1px, 1px, 1px);
  height: 1px;
  overflow: hidden;
  position: absolute;
  white-space: nowrap;
  width: 1px;
}

.card.teaser-card.entry-card h2 {
  font-size: 1.5rem;
  line-height: 1.1666666667;
  font-weight: var(--font-weight-black);
  text-transform: uppercase;
  margin-top: var(--margin-quadra);
  margin-bottom: var(--margin-quadra);
}

.card.banner-card-link-list a, .card.teaser-card h2, .card.hotel-card h2 {
  font-size: 1.125rem;
  line-height: 1.3333333333;
  font-weight: var(--font-weight-black);
  text-transform: uppercase;
  margin-top: var(--margin-quadra);
  margin-bottom: var(--margin-quadra);
}

.card.banner-card-mini .content, .card.banner-card-link-list th, .card.image-card h2 {
  font-size: 0.875rem;
  line-height: 1.4285714286;
  font-weight: var(--font-weight-black);
  text-transform: uppercase;
  margin-top: var(--margin-triple);
  margin-bottom: var(--margin-normal);
}

.card.image-card .rich-text,
.card.image-card .rich-text p {
  font-size: 0.75rem;
  line-height: 1.3333333333;
  text-transform: initial;
}

s4s-tooltip {
  height: calc(var(--size-tooltip) / 2);
  width: var(--size-tooltip);
  display: inline-grid;
  place-items: center;
  flex-shrink: 0;
  position: relative;
  transform: translateY(6px);
  z-index: 1;
}
s4s-tooltip s4s-icon {
  width: 24px;
  height: 24px;
  color: var(--color-gray-5);
  cursor: help;
}
s4s-tooltip[icon=false] {
  width: auto;
  height: auto;
  transform: none;
}
s4s-tooltip[icon=false] .sas-tooltip {
  left: calc(-2 * var(--margin-normal));
  right: auto;
  margin-left: 0;
}

.sas-input s4s-tooltip {
  height: var(--size-tooltip);
  margin-left: calc(-1 * var(--size-tooltip));
  transform: translateY(0);
}
.sas-input .sas-tooltip {
  border-bottom-right-radius: 0;
  transform: translateZ(0) translateY(calc(-7 * var(--margin-normal)));
}

.sas-tooltip {
  font-size: 0.875rem;
  line-height: 1.4285714286;
  position: absolute;
  bottom: calc(-2 * var(--margin-normal));
  right: calc(-1 * var(--margin-normal));
  border-radius: var(--border-radius-normal);
  padding: var(--margin-normal);
  background: var(--color-white);
  margin-left: var(--margin-normal);
  box-shadow: var(--shadow-normal);
  z-index: 2;
  transform: translateZ(0) translateY(calc(-5 * var(--margin-normal)));
  max-width: 300px;
  min-width: 150px;
  width: -moz-max-content;
  width: max-content;
}

.error .sas-tooltip {
  font-weight: var(--font-weight-bold);
}
.error .sas-tooltip, .error .sas-tooltip::after {
  background: var(--color-red);
  color: var(--color-white);
}

.sas-video {
  width: 100%;
  height: 0;
  padding-bottom: 56.25%;
  position: relative;
}
.sas-video iframe {
  width: 100%;
  height: 100%;
}

s4s-video {
  display: block;
  position: relative;
  width: 100%;
  height: 100%;
}
s4s-video video {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
  position: absolute;
  inset: 0;
}
s4s-video.cep-hero {
  height: 33.75rem;
}

s4s-waves {
  position: relative;
  width: -moz-fit-content;
  width: fit-content;
  overflow: hidden;
  /* Shrinking for mobile */
}
s4s-waves .waves {
  position: relative;
  width: 100%;
  height: 45vh;
  margin-bottom: -7px; /* Fix for safari gap */
  min-height: 100px;
  max-height: 150px;
  filter: blur(10px);
}
s4s-waves .parallax > use {
  animation: move-forever 25s cubic-bezier(0.55, 0.5, 0.45, 0.5) infinite;
}
s4s-waves .parallax > use:nth-child(1) {
  animation-delay: -2s;
  animation-duration: 7s;
}
s4s-waves .parallax > use:nth-child(2) {
  animation-delay: -3s;
  animation-duration: 10s;
}
s4s-waves .parallax > use:nth-child(3) {
  animation-delay: -4s;
  animation-duration: 13s;
}
s4s-waves .parallax > use:nth-child(4) {
  animation-delay: -5s;
  animation-duration: 20s;
}
@keyframes move-forever {
  0% {
    transform: translate3d(-90px, 0, 0);
  }
  100% {
    transform: translate3d(85px, 0, 0);
  }
}
@media (max-width: 768px) {
  s4s-waves .waves {
    height: 40px;
    min-height: 40px;
  }
}