@charset "UTF-8";
.Icon-Activities--bergbahnen-dims {
  width: 16px;
  height: 16px;
}

.Icon-Activities--golf-ball-dims {
  width: 16px;
  height: 16px;
}

.Icon-Activities--golf-course-dims {
  width: 16px;
  height: 16px;
}

.Icon-Activities--mountain-dims {
  width: 16px;
  height: 16px;
}

.Icon-Arrows--arrow-down-dims {
  width: 16px;
  height: 17px;
}

.Icon-Arrows--arrow-left-dims {
  width: 17px;
  height: 16px;
}

.Icon-Arrows--arrow-right-dims {
  width: 17px;
  height: 16px;
}

.Icon-Arrows--arrow-top-right-dims {
  width: 16px;
  height: 16px;
}

.Icon-Arrows--arrow-up-dims {
  width: 16px;
  height: 17px;
}

.Icon-Arrows--down-arrow-dims {
  width: 16px;
  height: 16px;
}

.Icon-Arrows--fullscreen-double-74-dims {
  width: 16px;
  height: 16px;
}

.Icon-Arrows--left-arrow-dims {
  width: 16px;
  height: 16px;
}

.Icon-Arrows--respond-arrow-dims {
  width: 17px;
  height: 16px;
}

.Icon-Arrows--right-arrow-dims {
  width: 16px;
  height: 16px;
}

.Icon-Arrows--small-down-dims {
  width: 16px;
  height: 16px;
}

.Icon-Arrows--small-left-dims {
  width: 16px;
  height: 16px;
}

.Icon-Arrows--small-right-dims {
  width: 16px;
  height: 16px;
}

.Icon-Arrows--small-up-dims {
  width: 16px;
  height: 16px;
}

.Icon-Arrows--up-arrow-dims {
  width: 16px;
  height: 16px;
}

.Icon-HotelRestaurants--bedroom_1-dims {
  width: 16px;
  height: 16px;
}

.Icon-HotelRestaurants--glass-dims {
  width: 16px;
  height: 16px;
}

.Icon-HotelRestaurants--hotel-bell_1-dims {
  width: 16px;
  height: 16px;
}

.Icon-HotelRestaurants--lock-circle_1-dims {
  width: 16px;
  height: 16px;
}

.Icon-HotelRestaurants--multi-person-dims {
  width: 16px;
  height: 16px;
}

.Icon-HotelRestaurants--restaurant-dims {
  width: 16px;
  height: 16px;
}

.Icon-HotelRestaurants--restaurant-menu-dims {
  width: 16px;
  height: 16px;
}

.Icon-HotelRestaurants--safe_1-dims {
  width: 16px;
  height: 16px;
}

.Icon-HotelRestaurants--single-person-dims {
  width: 16px;
  height: 16px;
}

.Icon-HotelRestaurants--star-rate-empty-dims {
  width: 16px;
  height: 16px;
}

.Icon-HotelRestaurants--star-rate-filled-dims {
  width: 16px;
  height: 16px;
}

.Icon-HotelRestaurants--towel_1-dims {
  width: 16px;
  height: 16px;
}

.Icon-HotelRestaurants--wifi_1-dims {
  width: 16px;
  height: 16px;
}

.Icon-HotelRestaurants--wine-menu-dims {
  width: 16px;
  height: 16px;
}

.Icon-Interface--mainNav-dims {
  width: 24px;
  height: 24px;
}

.Icon-Interface--bookmark-dims {
  width: 16px;
  height: 16px;
}

.Icon-Interface--bookmark1-dims {
  width: 16px;
  height: 17px;
}

.Icon-Interface--bookmark_filled-dims {
  width: 16px;
  height: 16px;
}

.Icon-Interface--c-check1-dims {
  width: 16px;
  height: 16px;
}

.Icon-Interface--c-delete1-dims {
  width: 16px;
  height: 16px;
}

.Icon-Interface--c-question1-dims {
  width: 16px;
  height: 16px;
}

.Icon-Interface--c-remove1-dims {
  width: 16px;
  height: 16px;
}

.Icon-Interface--c-warning1-dims {
  width: 16px;
  height: 16px;
}

.Icon-Interface--calendar-21-dims {
  width: 16px;
  height: 16px;
}

.Icon-Interface--chat-dims {
  width: 16px;
  height: 16px;
}

.Icon-Interface--chat_filled-dims {
  width: 16px;
  height: 16px;
}

.Icon-Interface--check-dims {
  width: 16px;
  height: 16px;
}

.Icon-Interface--clock-dims {
  width: 16px;
  height: 16px;
}

.Icon-Interface--clock_filled-dims {
  width: 16px;
  height: 16px;
}

.Icon-Interface--close-dims {
  width: 24px;
  height: 24px;
}

.Icon-Interface--copylink-dims {
  width: 16px;
  height: 16px;
}

.Icon-Interface--d-check-dims {
  width: 16px;
  height: 16px;
}

.Icon-Interface--download-dims {
  width: 16px;
  height: 16px;
}

.Icon-Interface--e-add-dims {
  width: 16px;
  height: 16px;
}

.Icon-Interface--e-add1-dims {
  width: 16px;
  height: 16px;
}

.Icon-Interface--e-delete-dims {
  width: 16px;
  height: 16px;
}

.Icon-Interface--e-remove1-dims {
  width: 16px;
  height: 16px;
}

.Icon-Interface--e-remove2-dims {
  width: 16px;
  height: 16px;
}

.Icon-Interface--e-remove3-dims {
  width: 16px;
  height: 16px;
}

.Icon-Interface--favorite-dims {
  width: 24px;
  height: 24px;
}

.Icon-Interface--favorite1-dims {
  width: 16px;
  height: 16px;
}

.Icon-Interface--i-add-dims {
  width: 16px;
  height: 16px;
}

.Icon-Interface--i-check1-dims {
  width: 16px;
  height: 16px;
}

.Icon-Interface--i-delete-dims {
  width: 16px;
  height: 16px;
}

.Icon-Interface--info1-dims {
  width: 16px;
  height: 16px;
}

.Icon-Interface--location-dims {
  width: 16px;
  height: 17px;
}

.Icon-Interface--location_filled-dims {
  width: 16px;
  height: 17px;
}

.Icon-Interface--map-dims {
  width: 16px;
  height: 16px;
}

.Icon-Interface--map_filled-dims {
  width: 16px;
  height: 17px;
}

.Icon-Interface--pen1-dims {
  width: 16px;
  height: 16px;
}

.Icon-Interface--phone-dims {
  width: 16px;
  height: 16px;
}

.Icon-Interface--phone_filled-dims {
  width: 16px;
  height: 16px;
}

.Icon-Interface--plant-leaf1-dims {
  width: 16px;
  height: 16px;
}

.Icon-Interface--s-check1-dims {
  width: 16px;
  height: 16px;
}

.Icon-Interface--search-dims {
  width: 24px;
  height: 24px;
}

.Icon-Interface--select-841-dims {
  width: 16px;
  height: 18px;
}

.Icon-Interface--t-warning1-dims {
  width: 17px;
  height: 16px;
}

.Icon-Real_estate--House-love-dims {
  width: 16px;
  height: 16px;
}

.Icon-Real_estate--home-dims {
  width: 16px;
  height: 16px;
}

.Icon-Real_estate--home-2-dims {
  width: 16px;
  height: 16px;
}

.Icon-Real_estate--key-dims {
  width: 16px;
  height: 16px;
}

.Icon-Real_estate--wallet-dims {
  width: 16px;
  height: 16px;
}

.Icon-Social--logo-fb-simple-dims {
  width: 16px;
  height: 16px;
}

.Icon-Social--logo-instagram-dims {
  width: 16px;
  height: 16px;
}

.Icon-Social--logo-linkedin-dims {
  width: 17px;
  height: 16px;
}

.Icon-Social--logo-twitter-dims {
  width: 16px;
  height: 16px;
}

.Icon-Social--logo-whatsapp-dims {
  width: 16px;
  height: 16px;
}

.Icon-Social--logo-youtube-dims {
  width: 16px;
  height: 16px;
}

.Icon-Weather--celsius-dims {
  width: 16px;
  height: 16px;
}

.Icon-Weather--cloud-dims {
  width: 16px;
  height: 16px;
}

.Icon-Weather--cloud-download-95-dims {
  width: 16px;
  height: 16px;
}

.Icon-Weather--cloud-drop-dims {
  width: 16px;
  height: 16px;
}

.Icon-Weather--cloud-fog-31-dims {
  width: 16px;
  height: 16px;
}

.Icon-Weather--cloud-fog-32-dims {
  width: 16px;
  height: 16px;
}

.Icon-Weather--cloud-forecast-dims {
  width: 16px;
  height: 16px;
}

.Icon-Weather--cloud-hail-dims {
  width: 16px;
  height: 16px;
}

.Icon-Weather--cloud-light-dims {
  width: 17px;
  height: 16px;
}

.Icon-Weather--cloud-moon-dims {
  width: 16px;
  height: 16px;
}

.Icon-Weather--cloud-rain-dims {
  width: 16px;
  height: 16px;
}

.Icon-Weather--cloud-snow-34-dims {
  width: 16px;
  height: 16px;
}

.Icon-Weather--cloud-snow-42-dims {
  width: 16px;
  height: 16px;
}

.Icon-Weather--cloud-sun-17-dims {
  width: 16px;
  height: 16px;
}

.Icon-Weather--cloud-upload-96-dims {
  width: 16px;
  height: 16px;
}

.Icon-Weather--compass-3-dims {
  width: 16px;
  height: 16px;
}

.Icon-Weather--drop-dims {
  width: 16px;
  height: 16px;
}

.Icon-Weather--drop-15-dims {
  width: 16px;
  height: 16px;
}

.Icon-Weather--drops-dims {
  width: 16px;
  height: 16px;
}

.Icon-Weather--eclipse-dims {
  width: 16px;
  height: 16px;
}

.Icon-Weather--fahrenheit-dims {
  width: 16px;
  height: 16px;
}

.Icon-Weather--flag-triangle-dims {
  width: 16px;
  height: 16px;
}

.Icon-Weather--fog-dims {
  width: 16px;
  height: 16px;
}

.Icon-Weather--forecast-dims {
  width: 16px;
  height: 16px;
}

.Icon-Weather--humidity-26-dims {
  width: 16px;
  height: 16px;
}

.Icon-Weather--humidity-52-dims {
  width: 16px;
  height: 16px;
}

.Icon-Weather--hurricane-44-dims {
  width: 16px;
  height: 16px;
}

.Icon-Weather--hurricane-45-dims {
  width: 16px;
  height: 16px;
}

.Icon-Weather--lightning-dims {
  width: 16px;
  height: 16px;
}

.Icon-Weather--moon-dims {
  width: 16px;
  height: 16px;
}

.Icon-Weather--moon-cloud-drop-dims {
  width: 16px;
  height: 16px;
}

.Icon-Weather--moon-cloud-fog-dims {
  width: 16px;
  height: 16px;
}

.Icon-Weather--moon-cloud-hail-dims {
  width: 16px;
  height: 16px;
}

.Icon-Weather--moon-cloud-light-dims {
  width: 16px;
  height: 16px;
}

.Icon-Weather--moon-cloud-rain-dims {
  width: 16px;
  height: 16px;
}

.Icon-Weather--moon-cloud-snow-61-dims {
  width: 16px;
  height: 16px;
}

.Icon-Weather--moon-cloud-snow-62-dims {
  width: 16px;
  height: 16px;
}

.Icon-Weather--moon-fog-dims {
  width: 16px;
  height: 16px;
}

.Icon-Weather--moon-full-dims {
  width: 16px;
  height: 16px;
}

.Icon-Weather--moon-stars-dims {
  width: 16px;
  height: 16px;
}

.Icon-Weather--night-dims {
  width: 16px;
  height: 16px;
}

.Icon-Weather--rain-dims {
  width: 16px;
  height: 16px;
}

.Icon-Weather--rain-hail-dims {
  width: 16px;
  height: 16px;
}

.Icon-Weather--rainbow-dims {
  width: 16px;
  height: 16px;
}

.Icon-Weather--snow-dims {
  width: 16px;
  height: 16px;
}

.Icon-Weather--sun-dims {
  width: 16px;
  height: 16px;
}

.Icon-Weather--sun-cloud-dims {
  width: 16px;
  height: 16px;
}

.Icon-Weather--sun-cloud-drop-dims {
  width: 16px;
  height: 16px;
}

.Icon-Weather--sun-cloud-fog-dims {
  width: 16px;
  height: 16px;
}

.Icon-Weather--sun-cloud-hail-dims {
  width: 16px;
  height: 16px;
}

.Icon-Weather--sun-cloud-light-dims {
  width: 16px;
  height: 16px;
}

.Icon-Weather--sun-cloud-rain-dims {
  width: 16px;
  height: 16px;
}

.Icon-Weather--sun-cloud-snow-54-dims {
  width: 16px;
  height: 16px;
}

.Icon-Weather--sun-cloud-snow-55-dims {
  width: 16px;
  height: 16px;
}

.Icon-Weather--sun-fog-30-dims {
  width: 16px;
  height: 16px;
}

.Icon-Weather--sun-fog-43-dims {
  width: 16px;
  height: 16px;
}

.Icon-Weather--temperature-dims {
  width: 16px;
  height: 18px;
}

.Icon-Weather--temperature-2-dims {
  width: 16px;
  height: 18px;
}

.Icon-Weather--umbrella-13-dims {
  width: 16px;
  height: 16px;
}

.Icon-Weather--wind-dims {
  width: 16px;
  height: 16px;
}

.Icon-Weather--wind-2-dims {
  width: 16px;
  height: 16px;
}

/**
	Converts pixel value to em value

	- $size: Value with or without px unit, e.g. em(20) or em(20px)
	- $base-size: Pixel value. $base-font-size is default.
 */
.debug {
  border: 1px solid red;
  height: 20vw;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 2rem;
  min-height: 300px;
  color: red;
  font-size: clamp(1.75rem, 3vw, 2.1rem);
}

/* Desktop/H1 -> headline-1 */
/* Desktop/H1 Oversize Display -> headline-0 */
/* Desktop/H2 -> headline-2 */
/* Desktop/H3 -> headline-3 */
/* Desktop/H4 -> headline-4 */
/* Desktop/H5 -> headling-5*/
/* Desktop/H6 -> n/a */
/* Desktop/H7 -> n/a */
/* Desktop/Caption */
/* Desktop/Paragraph 1 */
/* Desktop/Paragraph 2 */
/* stylelint-disable */
* {
  font: inherit;
  color: inherit;
  line-height: inherit;
  text-decoration: inherit;
  margin: 0;
  padding: 0;
}

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

html {
  color: #000;
  background: #fff;
}

figure {
  -webkit-margin-start: 0;
  -webkit-margin-end: 0;
  margin-left: 0;
  margin-right: 0;
}

article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
nav,
section,
summary {
  display: block;
}

audio,
canvas,
video {
  display: inline-block;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

fieldset,
img {
  border: 0;
}

del,
ins {
  text-decoration: none;
}

li {
  list-style: none;
}

caption,
th {
  text-align: left;
}

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

abbr,
acronym {
  border: 0;
  text-decoration: none;
  font-variant: normal;
}

sup {
  vertical-align: baseline;
}

sub {
  vertical-align: baseline;
}

iframe {
  border: 0;
}

legend {
  color: inherit;
  *color: #000;
}

button,
input[type=button],
input[type=submit] {
  background: transparent;
  -webkit-appearance: button;
  cursor: pointer;
  border-radius: 0;
  border: 0;
}

button[disabled],
input[disabled] {
  cursor: default;
}

input[type=search] {
  -webkit-appearance: textfield;
}

input[type=search]::-webkit-search-cancel-button,
input[type=search]::-webkit-search-decoration {
  -webkit-appearance: none;
}

button::-moz-focus-inner,
input::-moz-focus-inner {
  border: 0;
  padding: 0;
}

textarea {
  overflow: auto;
  vertical-align: top;
}

code,
kbd,
pre,
samp {
  font-family: monospace, serif;
  font-size: 1em;
}

pre {
  white-space: pre;
  white-space: pre-wrap;
  word-wrap: break-word;
}

/*
 * Remove the gap between images, videos, audio and canvas and the bottom of
 * their containers: h5bp.com/i/440
 */
audio,
canvas,
img,
svg,
video {
  vertical-align: middle;
}

/*
 * Remove default fieldset styles.
 */
fieldset {
  border: 0;
  margin: 0;
  padding: 0;
}

/* stylelint-enable */
/* stylelint-disable */
* {
  font: inherit;
  color: inherit;
  line-height: inherit;
  text-decoration: inherit;
  margin: 0;
  padding: 0;
}

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

html {
  color: #000;
  background: #fff;
}

figure {
  -webkit-margin-start: 0;
  -webkit-margin-end: 0;
  margin-left: 0;
  margin-right: 0;
}

article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
nav,
section,
summary {
  display: block;
}

audio,
canvas,
video {
  display: inline-block;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

fieldset,
img {
  border: 0;
}

del,
ins {
  text-decoration: none;
}

li {
  list-style: none;
}

caption,
th {
  text-align: left;
}

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

abbr,
acronym {
  border: 0;
  text-decoration: none;
  font-variant: normal;
}

sup {
  vertical-align: baseline;
}

sub {
  vertical-align: baseline;
}

iframe {
  border: 0;
}

legend {
  color: inherit;
  *color: #000;
}

button,
input[type=button],
input[type=submit] {
  background: transparent;
  -webkit-appearance: button;
  cursor: pointer;
  border-radius: 0;
  border: 0;
}

button[disabled],
input[disabled] {
  cursor: default;
}

input[type=search] {
  -webkit-appearance: textfield;
}

input[type=search]::-webkit-search-cancel-button,
input[type=search]::-webkit-search-decoration {
  -webkit-appearance: none;
}

button::-moz-focus-inner,
input::-moz-focus-inner {
  border: 0;
  padding: 0;
}

textarea {
  overflow: auto;
  vertical-align: top;
}

code,
kbd,
pre,
samp {
  font-family: monospace, serif;
  font-size: 1em;
}

pre {
  white-space: pre;
  white-space: pre-wrap;
  word-wrap: break-word;
}

/*
 * Remove the gap between images, videos, audio and canvas and the bottom of
 * their containers: h5bp.com/i/440
 */
audio,
canvas,
img,
svg,
video {
  vertical-align: middle;
}

/*
 * Remove default fieldset styles.
 */
fieldset {
  border: 0;
  margin: 0;
  padding: 0;
}

/* stylelint-enable */
html {
  width: 100%;
  font-size: 16px;
  -webkit-text-size-adjust: 100%;
  -moz-text-size-adjust: 100%;
  text-size-adjust: 100%;
}

:root {
  --screenheight: 100vh;
  --screenheightLazy: 100vh;
  --navigationoffset: 0;
  --gridSize: 12;
  --gridGutter: 30px;
}
@media (max-width: 1150px) {
  :root {
    --gridGutter: 30px;
  }
}
@media (max-width: 900px) {
  :root {
    --gridGutter: 20px;
  }
}

body {
  font-family: "suisse", "Helvetica Neue", "Helvetica", sans-serif;
  color: #222222;
  font-weight: 500;
  font-size: 16px;
  line-height: 1.4;
}
@media (min-width: 740px) {
  body {
    font-size: calc(0.5714285714vw + 11.7714285714px);
  }
}
@media (min-width: 1440px) {
  body {
    font-size: 20px;
  }
}
@media mobile {
  body {
    line-height: 1.4;
  }
}
@media print {
  body {
    font-size: 14px;
  }
}
@media (max-width: 1150px) {
  body html.livemenu-has-space {
    margin-bottom: 80px;
  }
}

.page-container {
  margin: 0 auto;
  max-width: 100vw;
}
.page-container:has(.StickyButton) {
  padding-bottom: 100px;
}

/* stylelint-disable selector-no-vendor-prefix */
/* stylelint-enable */
body,
input,
select,
button,
textarea {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

img {
  width: 100%;
  display: block;
}

.logo {
  text-decoration: none;
}
.logo:before {
  content: "← ";
}

a:active {
  outline: none;
}

*:focus {
  outline: none;
}

abbr {
  border-bottom: 1px dotted gray;
}

p sup {
  position: relative;
  top: -0.75ex;
}

p sub {
  position: relative;
  top: 0.5ex;
}

button {
  cursor: pointer;
}

.scroll-anchor {
  display: block;
  width: 1px;
  height: 1px;
  background: transparent;
  position: absolute;
  margin-top: -100px;
  text-indent: -9999px;
}

.component-placeholder {
  display: block;
  padding: 20px;
  margin: 50px auto;
  max-width: 300px;
  border: 2px dashed #ddd;
  background-image: linear-gradient(45deg, #fdfbf3 25%, #fff 25%, #fff 50%, #fdfbf3 50%, #fdfbf3 75%, #fff 75%, #fff 100%);
  background-size: 56.57px 56.57px;
  border-radius: 5px;
}

.render-error {
  display: block;
  position: relative;
  padding: 20px;
  margin: 50px auto;
  max-width: 300px;
  border: 2px dashed rgb(165, 84, 84);
  background-image: linear-gradient(45deg, #fdf3f3 25%, #fff 25%, #fff 50%, #fdf3f3 50%, #fdf3f3 75%, #fff 75%, #fff 100%);
  background-size: 56.57px 56.57px;
  border-radius: 5px;
}
.render-error:hover:after {
  content: "⛑ Sorry!";
  position: absolute;
  transform: rotate(30deg);
  top: 10px;
  right: -30px;
  font-size: 20px;
  background: white;
  color: black;
  padding: 6px 12px;
  border-radius: 3px;
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.2);
  font-weight: bold;
}

[data-pagetransition=hide] {
  transition: opacity 2s cubic-bezier(0.07, 0.69, 0.07, 1) !important;
  opacity: 0 !important;
}

[data-experience-layout] body {
  overscroll-behavior: none;
}

@media print {
  .print-hidden {
    display: none !important;
  }
}

.uc-embedding-accept {
  background: #f2f2f2;
}

.uc-embedding-buttons button {
  border-radius: 50px;
  width: 80%;
  color: #000000;
}

.uc-embedding-wrapper > span {
  display: none;
}

/* stylelint-disable */
/* prettier-ignore */
#FlyingFocus {
  position: absolute;
  margin: 0;
  top: -100px;
  background: transparent;
  transition-property: left, top, width, height, opacity;
  transition-timing-function: cubic-bezier(0, 0.2, 0, 1);
  visibility: hidden;
  pointer-events: none;
  display: none;
}

#FlyingFocus.FlyingFocus-visible {
  visibility: visible;
  z-index: 10000000;
  display: block;
}

#FlyingFocus:after {
  content: "";
  position: absolute;
  top: -19px;
  left: -19px;
  bottom: -19px;
  right: -19px;
  border-radius: 13px;
  box-shadow: 0 0 54px 0px rgba(0, 0, 0, 0.2), 0 0 2px 2px rgba(0, 10, 20, 0.1);
  border: 1px solid rgba(42, 113, 184, 0.75);
}

#FlyingFocus:before {
  content: "";
  position: absolute;
  top: -18px;
  left: -18px;
  bottom: -18px;
  right: -18px;
  border-radius: 13px;
  box-shadow: 0 0 2px rgba(255, 255, 255, 0.9) inset;
  border: 1px solid rgba(255, 255, 255, 0.8);
}

.visuallyhidden {
  position: absolute !important;
  clip: rect(0 0 0 0) !important;
  -webkit-clip-path: polygon(0 0) !important;
  clip-path: polygon(0 0) !important;
}

@font-face {
  font-family: "suisse";
  src: url("../fonts/SuisseIntl-Regular-cyrillic.woff2") format("woff2"), url("../fonts/SuisseIntl-Regular-cyrillic.woff") format("woff");
  unicode-range: "U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116, U+100-17F, U+218-21B, U+U+370-45f";
  font-weight: normal;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "suisse";
  src: url("../fonts/SuisseIntl-Medium-cyrillic.woff2") format("woff2"), url("../fonts/SuisseIntl-Medium-cyrillic.woff") format("woff");
  unicode-range: "U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116, U+100-17F, U+218-21B, U+U+370-45f";
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "suisse";
  src: url("../fonts/SuisseIntl-SemiBold-cyrillic.woff2") format("woff2"), url("../fonts/SuisseIntl-SemiBold-cyrillic.woff") format("woff");
  unicode-range: "U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116, U+100-17F, U+218-21B, U+U+370-45f";
  font-weight: bold;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "suisse";
  src: url("../fonts/SuisseIntl-Bold-cyrillic.woff2") format("woff2"), url("../fonts/SuisseIntl-Bold-cyrillic.woff") format("woff");
  unicode-range: "U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116, U+100-17F, U+218-21B, U+U+370-45f";
  font-weight: 800;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "suisse";
  src: url("../fonts/SuisseIntl-Regular-latin.woff2") format("woff2"), url("../fonts/SuisseIntl-Regular-latin.woff") format("woff");
  font-weight: normal;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "suisse";
  src: url("../fonts/SuisseIntl-Medium-latin.woff2") format("woff2"), url("../fonts/SuisseIntl-Medium-latin.woff") format("woff");
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "suisse";
  src: url("../fonts/SuisseIntl-SemiBold-latin.woff2") format("woff2"), url("../fonts/SuisseIntl-SemiBold-latin.woff") format("woff");
  font-weight: bold;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "suisse";
  src: url("../fonts/SuisseIntl-Bold-latin.woff2") format("woff2"), url("../fonts/SuisseIntl-Bold-latin.woff") format("woff");
  font-weight: 800;
  font-style: normal;
  font-display: swap;
}
.Icon {
  height: 20px;
  width: 20px;
  display: inline-block;
  position: relative;
  font-size: 100%;
}
.Icon > svg {
  height: 0;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  overflow: visible;
}
@supports (display: inline-flex) {
  .Icon > svg {
    position: relative;
    top: 0;
    transform: none;
  }
}

@supports (display: inline-flex) {
  .Icon,
  .Icon:not(.inline) {
    display: inline-flex;
    align-items: center;
  }
  .Icon > svg {
    position: relative;
    top: 0;
    transform: none;
  }
}
.Icon.large {
  height: 32px;
  width: 32px;
}

.Icon.verylarge {
  height: 48px;
  width: 48px;
}

.Icon.small {
  height: 12px;
  width: 12px;
}

.Icon > svg {
  display: block;
  width: 100%;
  height: 100%;
}

.Icon.black {
  color: #222222;
}

.Icon.white {
  color: #ffffff;
}

.Icon:not(.inline).circle {
  background: #ffffff;
  border: 1px solid #e6e6e6;
  border-radius: 50%;
  width: 70px;
  height: 70px;
  padding: 20px;
}

.Icon.inline {
  display: inline-block;
  min-height: 1ex;
  letter-spacing: -1ex;
  text-decoration: none;
  position: relative;
  vertical-align: middle;
  margin-top: -1px;
}
.Icon.inline.before {
  margin-right: 10px;
}
.Icon.inline.after {
  margin-left: 10px;
  margin-top: -2px;
}
.Icon.inline:before {
  content: "";
}
html.cssreflections .Icon.inline:before {
  content: " ";
  letter-spacing: -1ex;
}

.Icon:not(.inline) {
  box-sizing: border-box;
  display: inline-block;
  position: relative;
  letter-spacing: -1ex;
  text-indent: -9999px;
  text-decoration: none;
  line-height: 1;
  border: none;
  outline: none;
}

@media screen and (-ms-high-contrast: active) {
  .Icon > svg {
    stroke: green;
  }
}
.richtext {
  /*:not(li) > p:first-of-type {
  	@include font(bold);
  	color: $c-black;

  	margin-bottom: 2.75em;
  }*/
}
.richtext > *:first-child {
  margin-top: 0;
}
.richtext > *:last-child {
  margin-bottom: 0;
}
.richtext h1 {
  font-weight: 500;
  font-size: 28px;
  line-height: 1.1;
  color: #222222;
  margin-bottom: 1.25em;
}
@media (min-width: 740px) {
  .richtext h1 {
    font-size: calc(1.7142857143vw + 15.3142857143px);
  }
}
@media (min-width: 1440px) {
  .richtext h1 {
    font-size: 40px;
  }
}
@media mobile {
  .richtext h1 {
    line-height: 1.2;
  }
}
.richtext h2 {
  font-weight: 500;
  font-size: 22px;
  line-height: 1.2;
  color: #222222;
  margin-top: 1.5em;
  margin-bottom: 1.25em;
}
@media (min-width: 740px) {
  .richtext h2 {
    font-size: calc(0.5714285714vw + 17.7714285714px);
  }
}
@media (min-width: 1440px) {
  .richtext h2 {
    font-size: 26px;
  }
}
@media mobile {
  .richtext h2 {
    line-height: 1.2;
  }
}
.richtext h3 {
  font-weight: bold;
  color: #222222;
  margin-top: 1.5em;
  margin-bottom: 0.75em;
}
.richtext h4 {
  font-weight: bold;
  margin-bottom: 1em;
  color: #808080;
}
.richtext p + h2 {
  margin-top: 2.5em;
}
.richtext p {
  margin-bottom: 1em;
  font-size: 16px;
  line-height: 1.4;
  color: #808080;
}
@media (min-width: 740px) {
  .richtext p {
    font-size: calc(0.5714285714vw + 11.7714285714px);
  }
}
@media (min-width: 1440px) {
  .richtext p {
    font-size: 20px;
  }
}
@media mobile {
  .richtext p {
    line-height: 1.4;
  }
}
.richtext ul > li,
.richtext ol > li {
  color: #808080;
}
.richtext small {
  font-size: 12px;
  line-height: 19px;
}
.richtext pre {
  padding: 20px;
  background: #ffffff;
  margin: 1em 0;
}
.richtext code {
  background: white;
}
.richtext pre code,
.richtext pre pre,
.richtext code pre {
  background: transparent;
}
.richtext figure {
  margin-top: 1em;
  margin-bottom: 1em;
}
.richtext figure img {
  width: 100%;
}
.richtext figure figcaption {
  margin-top: 1em;
  display: block;
}
.richtext ul > li p:last-of-type {
  margin-bottom: 0;
}
.richtext table {
  border-collapse: collapse;
  border-spacing: 0;
  width: 100%;
}
.richtext table th {
  font-size: 12px;
  line-height: 1.3;
  color: #808080;
}
@media (min-width: 740px) {
  .richtext table th {
    font-size: calc(0.1428571429vw + 10.9428571429px);
  }
}
@media (min-width: 1440px) {
  .richtext table th {
    font-size: 13px;
  }
}
@media mobile {
  .richtext table th {
    line-height: 1.3;
  }
}
.richtext table caption,
.richtext table th,
.richtext table td {
  padding: 1.5rem 0;
  vertical-align: top;
}
.richtext table td {
  border-top: 1px solid #e6e6e6;
}
.richtext table th,
.richtext table td {
  border-bottom: 1px solid #e6e6e6;
}
.richtext table th:not(:last-child),
.richtext table td:not(:last-child) {
  padding-right: 1em;
}
.richtext table.top td {
  vertical-align: top;
}
.richtext table.center td {
  vertical-align: middle;
}
.richtext table.bottom td {
  vertical-align: bottom;
}
.richtext ul {
  margin-left: -48px;
  margin-left: -3rem;
  display: block;
  margin: 0 0 1em;
}
.richtext ul > li {
  padding-left: 48px;
  padding-left: 3rem;
  position: relative;
  list-style-type: none;
  margin-bottom: 1.5ex;
}
.richtext ul > li:before {
  position: absolute;
  top: 0.6em;
  left: 0;
  display: inline-block;
  content: "";
  width: 24px;
  height: 24px;
  margin-top: -11px;
  background-size: cover;
  background-position: 50% 50%;
  background-image: url("data:image/svg+xml,%3Csvg width='24' height='24' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M19 12L5 12' stroke='black' stroke-width='1.5' stroke-linejoin='round'/%3E%3Cpath d='M14 17L19 12' stroke='black' stroke-width='1.5' stroke-linecap='square' stroke-linejoin='round'/%3E%3Cpath d='M14 7L19 12' stroke='black' stroke-width='1.5' stroke-linecap='square' stroke-linejoin='round'/%3E%3C/svg%3E%0A");
}
.richtext ol {
  margin-left: -48px;
  margin-left: -3rem;
  display: block;
  display: block;
  counter-reset: ol--counter;
  /*html*/
  margin: 0 0 1em;
}
.richtext ol > li {
  padding-left: 48px;
  padding-left: 3rem;
  position: relative;
  list-style-type: none;
  margin-bottom: 1.5ex;
}
.richtext ol > li:before {
  position: absolute;
  top: 0.6em;
  left: 0;
  display: inline-block;
  content: "";
  width: 24px;
  height: 24px;
  margin-top: -11px;
  background-size: cover;
  background-position: 50% 50%;
  background-image: url("data:image/svg+xml,%3Csvg width='24' height='24' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M19 12L5 12' stroke='black' stroke-width='1.5' stroke-linejoin='round'/%3E%3Cpath d='M14 17L19 12' stroke='black' stroke-width='1.5' stroke-linecap='square' stroke-linejoin='round'/%3E%3Cpath d='M14 7L19 12' stroke='black' stroke-width='1.5' stroke-linecap='square' stroke-linejoin='round'/%3E%3C/svg%3E%0A");
}
.richtext ol > li {
  list-style-type: none;
}
.richtext ol > li:before {
  left: -30px;
  left: -1.875rem;
  counter-increment: ol--counter;
  content: counter(ol--counter) ".";
  text-align: right;
  width: 4ex;
}
.ie .richtext ol > li {
  list-style: decimal inside none;
}
.richtext p {
  margin-bottom: 1em;
}
.richtext strong {
  font-weight: bold;
  color: #222222;
}
.richtext a:not([class]) {
  text-decoration: underline;
  color: #222222;
  border: none;
  padding: 0;
  padding-bottom: 5px;
  border-radius: 0;
  position: relative;
  z-index: 0;
  text-decoration: none;
  background-color: transparent;
  background-image: linear-gradient(transparent calc(100% - 1px), #222222 1px);
  background-position: 100% 0;
  background-repeat: no-repeat;
  background-size: 0% 100%;
  transition: background-size 800ms;
  padding-bottom: 1px;
}
.richtext a:not([class]):hover {
  text-decoration: none;
}
.richtext a:not([class]):after {
  content: "";
  width: 100%;
  height: 1px;
  background: #cccccc;
  position: absolute;
  bottom: 0;
  left: 0;
  z-index: -1;
}
.richtext a:not([class]):hover {
  background-position: 0 0;
  box-shadow: none;
  background-size: 100% 100%;
}
.richtext .ButtonList--item {
  margin-top: 2em;
}
.richtext .ButtonList--item + :not(.ButtonList--item) {
  margin-top: 2em;
}
.richtext .ButtonList--item + .ButtonList--item {
  margin-top: 0;
}
.richtext > *:first-child {
  margin-top: 0;
}

.contentful-richtext > *:not(:last-child) {
  margin-bottom: 20px;
}
.contentful-richtext > * + * {
  margin-top: 60px;
}
.contentful-richtext > * + *[data-component=asaCallToActionButton] {
  margin-top: calc(15px + 2vw);
}
.contentful-richtext [data-style=job-block] .MixedRichtext {
  margin: 0;
}

.t-h0 {
  font-weight: 500;
  font-size: 60px;
  line-height: 1;
}
@media (min-width: 740px) {
  .t-h0 {
    font-size: calc(5.7142857143vw + 17.7142857143px);
  }
}
@media (min-width: 1440px) {
  .t-h0 {
    font-size: 100px;
  }
}
@media mobile {
  .t-h0 {
    line-height: 1;
  }
}

.t-h1 {
  font-weight: 500;
  font-size: 40px;
  line-height: 1;
}
@media (min-width: 740px) {
  .t-h1 {
    font-size: calc(5.7142857143vw - 2.2857142857px);
  }
}
@media (min-width: 1440px) {
  .t-h1 {
    font-size: 80px;
  }
}
@media mobile {
  .t-h1 {
    line-height: 1;
  }
}
@media (max-width: 580px) {
  .t-h1 {
    -webkit-hyphens: auto;
    hyphens: auto;
  }
}

.t-h2 {
  font-weight: 500;
  font-size: 32px;
  line-height: 1;
}
@media (min-width: 740px) {
  .t-h2 {
    font-size: calc(4vw + 2.4px);
  }
}
@media (min-width: 1440px) {
  .t-h2 {
    font-size: 60px;
  }
}
@media mobile {
  .t-h2 {
    line-height: 1;
  }
}

.t-h3 {
  font-weight: 500;
  font-size: 28px;
  line-height: 1.1;
}
@media (min-width: 740px) {
  .t-h3 {
    font-size: calc(1.7142857143vw + 15.3142857143px);
  }
}
@media (min-width: 1440px) {
  .t-h3 {
    font-size: 40px;
  }
}
@media mobile {
  .t-h3 {
    line-height: 1.2;
  }
}

.t-h4 {
  font-weight: 500;
  font-size: 22px;
  line-height: 1.1;
}
@media (min-width: 740px) {
  .t-h4 {
    font-size: calc(1.1428571429vw + 13.5428571429px);
  }
}
@media (min-width: 1440px) {
  .t-h4 {
    font-size: 30px;
  }
}
@media mobile {
  .t-h4 {
    line-height: 1.2;
  }
}

.t-h5 {
  font-weight: 500;
  font-size: 22px;
  line-height: 1.2;
}
@media (min-width: 740px) {
  .t-h5 {
    font-size: calc(0.5714285714vw + 17.7714285714px);
  }
}
@media (min-width: 1440px) {
  .t-h5 {
    font-size: 26px;
  }
}
@media mobile {
  .t-h5 {
    line-height: 1.2;
  }
}

.t-base {
  font-weight: 500;
  font-size: 16px;
  line-height: 1.4;
}
@media (min-width: 740px) {
  .t-base {
    font-size: calc(0.5714285714vw + 11.7714285714px);
  }
}
@media (min-width: 1440px) {
  .t-base {
    font-size: 20px;
  }
}
@media mobile {
  .t-base {
    line-height: 1.4;
  }
}
@media print {
  .t-base {
    font-size: 14px;
  }
}

.t-small {
  font-weight: 500;
  font-size: 14px;
  line-height: 1.6;
}
@media (max-width: 580px) {
  .t-small {
    font-size: 13px;
  }
}
@media print {
  .t-small {
    font-size: 12px;
  }
}

.t-uppercase {
  font-size: 12px;
  line-height: 1.4;
  text-transform: uppercase;
  letter-spacing: 0.14em;
}

.t-uppercase-s {
  font-size: 10px;
  line-height: 1.4;
  text-transform: uppercase;
  letter-spacing: 0.14em;
}

.t-label {
  font-weight: 500;
  font-size: 10px;
  line-height: 1.4;
  text-transform: uppercase;
  letter-spacing: 0.14em;
}
@media (max-width: 740px) {
  .t-label {
    font-size: 9px;
  }
}

.c-black50 {
  color: #808080;
}

.t-light {
  color: #808080;
}

.t-black {
  color: #222222;
}

.t-normal {
  font-weight: normal;
}

.t-medium {
  font-weight: 500;
}

.t-bold {
  font-weight: bold;
}

.t-nowrap {
  white-space: nowrap;
}

.t-hyphenate {
  -webkit-hyphens: auto;
  hyphens: auto;
}

.l-block {
  display: block;
}

html.js .is-hidden-js {
  display: none !important;
}

html.no-js .is-visible-js {
  display: none !important;
}

@media (min-width: 1151px) {
  .is-hidden-desktop {
    display: none !important;
  }
  .is-visible-tablet {
    display: none !important;
  }
}
@media (max-width: 1150px) {
  .is-visible-desktop {
    display: none !important;
  }
  .is-hidden-tablet {
    display: none !important;
  }
}
@media (min-width: 901px) {
  .is-visible-tablet-portrait {
    display: none !important;
  }
}
@media (max-width: 900px) {
  .is-hidden-tablet-portrait {
    display: none !important;
  }
}
@media (min-width: 741px) {
  .is-visible-mobile {
    display: none !important;
  }
}
@media (max-width: 740px) {
  .is-hidden-mobile {
    display: none !important;
  }
}
@media (min-width: 401px) {
  .is-visible-mobile-portrait {
    display: none !important;
  }
}
@media (max-width: 400px) {
  .is-hidden-mobile-portrait {
    display: none !important;
  }
}
@media only screen {
  .is-visible-print {
    display: none !important;
  }
}
@media print {
  .is-hidden-print {
    display: none !important;
  }
}
body:after {
  display: none;
  content: "desktop";
}
@media (max-width: 1150px) {
  body:after {
    content: "tablet";
  }
}
@media (max-width: 900px) {
  body:after {
    content: "tablet-portrait";
  }
}
@media (max-width: 740px) {
  body:after {
    content: "mobile";
  }
}
@media (max-width: 400px) {
  body:after {
    content: "mobile-portrait";
  }
}

.media-dispatcher-fallback {
  display: none;
  margin-bottom: 0px;
}
@media (max-width: 1150px) {
  .media-dispatcher-fallback {
    margin-bottom: 1px;
  }
}
@media (max-width: 900px) {
  .media-dispatcher-fallback {
    margin-bottom: 2px;
  }
}
@media (max-width: 740px) {
  .media-dispatcher-fallback {
    margin-bottom: 3px;
  }
}
@media (max-width: 400px) {
  .media-dispatcher-fallback {
    margin-bottom: 4px;
  }
}

body:before {
  display: none;
  content: "";
}
@media only screen and (-webkit-min-device-pixel-ratio: 1.5), only screen and (min-resolution: 144dpi) {
  body:before {
    content: "retina";
  }
}

.Button:not(.icon-only) {
  font-weight: 500;
  font-size: 16px;
  line-height: 1;
  display: inline-flex;
  align-items: center;
  padding: 15px 32px;
  border: 1px solid #f2f2f2;
  border-radius: 50px;
  background-color: #f2f2f2;
  color: #222222;
  box-shadow: 0 0 0 0px white;
  box-shadow: 0 0 0 0 #ffffff;
  transition: box-shadow 150ms;
}
.Button:not(.icon-only) .Icon {
  margin-top: auto;
  margin-bottom: auto;
}
.Button:not(.icon-only):hover {
  box-shadow: 0 0 0 2px #f2f2f2;
}
.Button:not(.icon-only).black:hover {
  box-shadow: 0 0 0 2px #222222;
}

.Button.small {
  font-size: 12px;
  padding: 9px 14px;
}

.Button.icon-only {
  border: 1px solid #f2f2f2;
  background-color: #f2f2f2;
  border-radius: 50%;
  width: 60px;
  height: 60px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 0 0 0 #ffffff;
  transition: box-shadow 150ms;
}
.Button.icon-only:hover {
  box-shadow: 0 0 0 2px #f2f2f2;
}
.Button.icon-only.black:hover {
  box-shadow: 0 0 0 2px #222222;
}
.Button.icon-only.small {
  height: 40px;
  width: 40px;
  padding-left: 5px;
  padding-right: 5px;
}
.Button.icon-only.large {
  width: 102px;
  height: 102px;
}
.Button.icon-only .Icon {
  margin-left: 0;
  margin-right: 0;
  margin-top: 0;
}
.Button.icon-only.no-border {
  border: none;
  width: 34px;
  height: 34px;
}
.Button.icon-only.no-border .Icon {
  width: 22px;
  height: 22px;
}

.Button.after {
  flex-direction: row-reverse;
}

.Button.link {
  border: none;
  padding: 0;
  padding-bottom: 5px;
  border-radius: 0;
  position: relative;
  z-index: 0;
  text-decoration: none;
  background-color: transparent;
  background-image: linear-gradient(transparent calc(100% - 1px), #222222 1px);
  background-position: 100% 0;
  background-repeat: no-repeat;
  background-size: 0% 100%;
  transition: background-size 800ms;
}
.Button.link:after {
  content: "";
  width: 100%;
  height: 1px;
  background: #cccccc;
  position: absolute;
  bottom: 0;
  left: 0;
  z-index: -1;
}
.Button.link:hover {
  background-position: 0 0;
  box-shadow: none;
  background-size: 100% 100%;
}

@media print {
  .Button .Icon {
    display: none;
  }
}

.Button.black {
  background: #222222;
  color: #ffffff;
  border-color: #222222;
}

.Button.inherit {
  background-color: inherit;
  color: inherit;
  border-color: inherit;
}

.Button.offwhite {
  background-color: #f8f8f8;
}

.ButtonList .ButtonList--item.has-cta {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  align-items: center;
  position: relative;
}
.ButtonList .ButtonList--item.has-cta .ButtonList--button {
  flex-grow: 1;
  position: initial;
}
.ButtonList .ButtonList--item.has-cta .ButtonList---button--text {
  padding: 1em 0;
}
.ButtonList .ButtonList--item.has-cta.hide, .ButtonList .ButtonList--item.has-cta.hidden {
  display: none;
}
@media (min-width: 581px) {
  .ButtonList.job-list .ButtonList---button--text, .ButtonList.press-release .ButtonList---button--text {
    flex-direction: row;
  }
  .ButtonList.job-list .ButtonList---button--text, .ButtonList.press-release .ButtonList---button--text {
    margin: -2rem;
  }
  .ButtonList.job-list .ButtonList---button--title,
  .ButtonList.job-list .ButtonList---button--content, .ButtonList.press-release .ButtonList---button--title,
  .ButtonList.press-release .ButtonList---button--content {
    margin: 2rem;
  }
}
.ButtonList.job-list .ButtonList---button--title, .ButtonList.press-release .ButtonList---button--title {
  min-width: 150px;
  color: #808080;
}
.ButtonList.job-list .ButtonList---button--content, .ButtonList.press-release .ButtonList---button--content {
  font-weight: 500;
}
@media (min-width: 581px) {
  .ButtonList.job-list .ButtonList---button--title {
    width: 40%;
    min-width: auto;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
  }
  .ButtonList.job-list .ButtonList---button--content {
    width: 60%;
  }
}
.ButtonList.job-list .ButtonList---button--title {
  order: 1;
}
.ButtonList.job-list .ButtonList---button--title svg {
  width: 16px;
  margin-right: 5px;
}
.ButtonList.job-list .ButtonList--item.hide, .ButtonList.job-list .ButtonList--item.hidden {
  display: none;
}
.ButtonList:not(.press-release):not(.job-list) .ButtonList---button--title {
  font-size: 12px;
  line-height: 1.4;
  text-transform: uppercase;
  letter-spacing: 0.14em;
}

.ButtonList--item {
  border-top: 1px solid #e6e6e6;
}
.ButtonList--item.hidden {
  display: none;
}
.ButtonList--item:first-child {
  margin-top: -1px;
  border-top: 1px solid #e6e6e6;
}
.ButtonList--item:last-child {
  border-bottom: 1px solid #e6e6e6;
}

.ButtonList--button {
  font-weight: 500;
  font-size: 16px;
  line-height: 1.4;
  position: relative;
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  align-items: center;
  width: 100%;
  padding-top: 1em;
  padding-bottom: 1em;
}
@media (min-width: 740px) {
  .ButtonList--button {
    font-size: calc(0.5714285714vw + 11.7714285714px);
  }
}
@media (min-width: 1440px) {
  .ButtonList--button {
    font-size: 20px;
  }
}
@media mobile {
  .ButtonList--button {
    line-height: 1.4;
  }
}
@media print {
  .ButtonList--button {
    font-size: 14px;
  }
}
.ButtonList--button:before, .ButtonList--button:after {
  content: "";
  width: 100%;
  height: 1px;
  position: absolute;
  height: 1px;
  top: -1px;
  left: 0;
  z-index: 1;
  background: #222222;
  transform: scaleX(0);
  transition: 450ms transform cubic-bezier(0.645, 0.045, 0.355, 1);
  transform-origin: 100% 0;
  transition-delay: 0;
}
.ButtonList--button:after {
  top: auto;
  bottom: -1px;
  transition-delay: 55ms;
}
.ButtonList--buttona:hover:before, .ButtonList--buttona:hover:after, .ButtonList--buttonbutton:hover:before, .ButtonList--buttonbutton:hover:after {
  transform: scaleX(1);
  transform-origin: 0 0;
}
.ButtonList--button .Icon.after {
  flex: 0 0 auto;
  margin-left: 1em;
}

.ButtonList---button--text {
  flex-grow: 1;
  display: flex;
  flex-direction: column;
  flex-wrap: nowrap;
}

.ButtonList--footer {
  margin-top: 2em;
  display: flex;
  justify-content: center;
}

.ButtonList--cta {
  flex: 0 0 auto;
  margin-left: 2rem;
}

.CursorButton {
  position: absolute;
  z-index: 1;
  color: white;
  line-height: 1;
}
html.is-touch .CursorButton {
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  opacity: 1;
}
html.is-touch .CursorButton .CursorButton--inner {
  bottom: 20px;
  right: 20px;
}
html.is-touch .CursorButton .CursorButton--inner::after {
  opacity: 1;
}
@media (max-width: 580px) {
  html.is-touch .CursorButton {
    bottom: 10px;
    right: 10px;
  }
}
html.no-touch .CursorButton {
  left: 50%;
  top: 50%;
  width: 0;
  height: 0;
  pointer-events: none;
  transition: transform 0.5s cubic-bezier(0.77, 0, 0.175, 1);
}
html.no-touch .CursorButton .CursorButton--inner {
  left: 50%;
  top: 50%;
}
html.no-touch .CursorButton .CursorButton--inner::after {
  opacity: 0.75;
  transform: scale(0.65);
  transition: transform 0.45s ease-in, opacity 0.6s 0.4s;
}
html.no-touch .CursorButton.is-moving {
  transform: translate3d(var(--mouse-x), var(--mouse-y), 0);
  transition: none;
  pointer-events: auto;
  cursor: none;
}
html.no-touch .CursorButton:not(.is-moving):focus {
  transform: none;
}
html.no-touch .CursorButton:not(.is-moving):focus .CursorButton--inner::after, html.no-touch .CursorButton.is-moving .CursorButton--inner::after {
  transform: scale(1);
  opacity: 1;
  transition: transform 0.25s cubic-bezier(0.175, 0.885, 0.32, 1.6), opacity 0.25s;
}
@media (max-width: 740px) {
  .CursorButton .Icon {
    height: 12px;
    width: 12px;
  }
}
.CursorButton--inner {
  width: 100px;
  height: 100px;
  margin-left: -50px;
  margin-top: -50px;
  position: absolute;
  display: flex;
  align-items: center;
  justify-content: center;
}
.CursorButton--inner::after {
  content: "";
  position: absolute;
  z-index: -1;
  background: #222222;
  border-radius: 100px;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
@media (max-width: 1150px) {
  .CursorButton--inner {
    width: 80px;
    height: 80px;
    margin-left: -40px;
    margin-top: -40px;
  }
}
@media (max-width: 900px) {
  .CursorButton--inner {
    width: 60px;
    height: 60px;
    margin-left: -30px;
    margin-top: -30px;
  }
}
@media (max-width: 740px) {
  .CursorButton--inner {
    overflow: hidden;
    width: 40px;
    height: 40px;
    margin-left: -20px;
    margin-top: -20px;
  }
}

.CustomCursor {
  position: absolute;
  width: 70px;
  height: 70px;
  border-radius: 100%;
  color: #ffffff;
  padding: 10px;
  left: 50%;
  top: 50%;
  margin-top: 5px;
  margin-left: 5px;
  pointer-events: none;
  transform: translate3d(var(--mouse-x-lerp), var(--mouse-y-lerp), 0);
  visibility: hidden;
  opacity: 0;
  transition: opacity 300ms, visibility 300ms;
  z-index: 10;
  will-change: transform, opacity, visibility;
}
@media (max-width: 900px) {
  .CustomCursor {
    width: 50px;
    height: 50px;
    margin-top: -25px;
    margin-left: -25px;
  }
}
.CustomCursor.is-moving, .is-moving .CustomCursor {
  visibility: visible;
  opacity: 1;
}
.CustomCursor.is-moving .CustomCursor--inner, .is-moving .CustomCursor .CustomCursor--inner {
  transform: none;
  visibility: visible;
  opacity: 1;
  transition: transform 600ms cubic-bezier(0.33, 1, 0.68, 1), opacity 100ms, visibility 600ms;
}
@media print {
  .CustomCursor {
    display: none;
  }
}
.CustomCursor .text {
  font-size: 14px;
  line-height: 1.4;
}
@media (min-width: 740px) {
  .CustomCursor .text {
    font-size: calc(0.2857142857vw + 11.8857142857px);
  }
}
@media (min-width: 1440px) {
  .CustomCursor .text {
    font-size: 16px;
  }
}
@media mobile {
  .CustomCursor .text {
    line-height: 1.5;
  }
}

.CustomCursor--inner {
  position: inherit;
  width: inherit;
  height: inherit;
  border-radius: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  left: 0;
  top: 0;
  background-color: #222222;
  transform: scale(0.3);
  opacity: 0;
  pointer-events: none;
  transition: transform 300ms cubic-bezier(0.33, 1, 0.68, 1), opacity 100ms 200ms, visibility 300ms;
}

.Dropdown {
  position: relative;
  display: inline-block;
}

.Dropdown--trigger.Button {
  position: relative;
  background: #f8f8f8;
  border-color: transparent !important;
  justify-content: space-between;
  padding-left: 20px;
  padding-right: 23px;
}
.Dropdown--trigger.Button:after {
  content: "";
  display: inline-block;
  margin-left: 1em;
  width: 8px;
  height: 8px;
  border: 1px solid currentColor;
  border-left-color: transparent;
  border-top-color: transparent;
  transform: translateY(-3px) rotate(45deg);
}
.Dropdown--trigger.Button[aria-expanded=true] {
  box-shadow: 0 5px 20px 0 rgba(34, 34, 34, 0.15);
}
.Dropdown--trigger.Button[aria-expanded=true]:after {
  transform: translateY(2px) rotate(-135deg);
}

.Dropdown--content {
  position: absolute;
  z-index: 99;
  border-radius: 3px;
  border: 1px solid #e6e6e6;
  margin-top: 10px;
  left: 0%;
  transform-origin: top center;
  pointer-events: none;
  padding: 20px;
  width: 340px;
  background: #ffffff;
  box-shadow: 0 5px 20px 0 rgba(34, 34, 34, 0.15);
  transition: transform 0.3s cubic-bezier(0.165, 0.84, 0.44, 1), opacity 0.3s cubic-bezier(0.165, 0.84, 0.44, 1);
  transform: translateY(15px);
  opacity: 0;
}
@media (max-width: 740px) {
  .Dropdown--content {
    max-width: calc(100vw - 40px);
  }
}
.Dropdown--content.is-collapsed {
  display: none;
}
.Dropdown--content.is-expanded {
  pointer-events: auto;
  transform: translateY(0);
  opacity: 1;
}

.Flyout {
  position: relative;
}

@media (max-width: 740px) {
  .Flyout--button .Icon {
    margin: 0 !important;
  }
}

@media (max-width: 740px) {
  .Icon + .Flyout--button--text {
    display: none;
  }
}

.Flyout--body {
  background: #ffffff;
  box-shadow: 0px 10px 60px rgba(0, 0, 0, 0.05);
  position: absolute;
  top: calc(100% + 20px);
  left: 0;
  min-width: 140px;
  padding: 9px 14px;
  border-radius: 20px;
}
.Flyout--body.is-collapsed {
  display: none;
}

.ListFilter {
  display: flex;
  flex-wrap: wrap;
  margin: 80px 0 30px 0;
  position: relative;
}

.ListFilter--filter {
  margin-right: 20px;
  margin-bottom: 10px;
}

[data-filter=false] {
  display: none !important;
}

[data-filter=computing] {
  opacity: 0.6;
}

.ListFilter--value {
  margin-left: 1ex;
  background: #808080;
  color: white;
  border-radius: 20px;
  padding: 4px 10px;
  margin-top: -4px;
  margin-bottom: -4px;
}

.MagneticButton {
  display: inline-flex;
  gap: 1em;
  align-items: center;
  cursor: pointer;
  transition: transform 0.1s ease-in-out;
}
.MagneticButton[data-js-magnetic-state=hover] {
  transition: none;
}
.MagneticButton:hover .MagneticButton--button, .TeaserBackground:hover .MagneticButton .MagneticButton--button, a:hover .MagneticButton .MagneticButton--button {
  transform: scale(1.15);
}
.MagneticButton:hover [data-name=Arrows--arrow-right], .TeaserBackground:hover .MagneticButton [data-name=Arrows--arrow-right], a:hover .MagneticButton [data-name=Arrows--arrow-right] {
  transform: scale(0.9);
  animation: icon-out-and-in 1s ease-in-out 300ms 1 normal forwards;
}
.MagneticButton:hover [data-name=Arrows--arrow-left], .TeaserBackground:hover .MagneticButton [data-name=Arrows--arrow-left], a:hover .MagneticButton [data-name=Arrows--arrow-left] {
  transform: scale(0.9);
  animation: icon-out-and-in 1s ease-in-out 300ms 1 reverse forwards;
}

@keyframes icon-out-and-in {
  10% {
    will-change: transform;
    transform: scale(0.9);
  }
  50% {
    will-change: transform;
    transform: translateX(50px) scale(0.9);
  }
  50.01% {
    will-change: transform;
    transform: translateX(-50px) scale(0.9);
  }
  90% {
    will-change: transform;
    transform: scale(0.9);
  }
}
.MagneticButton .Icon {
  transition: transform 150ms;
  width: 20px;
  height: 20px;
}
.MagneticButton [data-name=Interface--close] {
  width: 26px;
  height: 26px;
}

.MagneticButton--button {
  display: inline-flex;
  width: 48px;
  height: 48px;
  background-color: #f2f2f2;
  border-radius: 100%;
  text-align: center;
  align-items: center;
  justify-content: center;
  color: #222222;
  transition: transform 150ms;
  flex-shrink: 0;
  overflow: hidden;
}
[data-color=dark] > .MagneticButton--button {
  background-color: #000000;
  color: #ffffff;
}

.MagneticButton--label {
  font-size: 14px;
  line-height: 1.4;
  display: inline-block;
}
@media (min-width: 740px) {
  .MagneticButton--label {
    font-size: calc(0.2857142857vw + 11.8857142857px);
  }
}
@media (min-width: 1440px) {
  .MagneticButton--label {
    font-size: 16px;
  }
}
@media mobile {
  .MagneticButton--label {
    line-height: 1.5;
  }
}
[data-component=asaCallToActionButton] .MagneticButton--label, .richtext .MagneticButton--label {
  color: #222222;
}
.MagneticButton--label:empty {
  display: none;
}
[data-text=before] .MagneticButton--label {
  order: -1;
}

.Picture {
  position: relative;
  overflow: hidden;
  background-size: cover;
  background-repeat: no-repeat;
}
.Picture > img {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  width: 100%;
  height: 100%;
}
.Picture:not([data-content-type="image/png"]):not([data-content-type*=svg]) {
  background-color: #f8f8f8;
}
.Picture[data-content-type="image/png"], .Picture[data-content-type*=svg] {
  background-image: none !important;
}
[data-component=mediaAsset] .Picture[data-content-type="image/png"], [data-component=mediaAsset] .Picture[data-content-type*=svg] {
  background-color: #f8f8f8;
}
.Picture[data-layout=cover] {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  padding-top: 0 !important;
}
.Picture > [data-lazy],
.Picture img,
.Picture > object {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}
@media print {
  .Picture {
    display: block;
    max-height: 66.66vw;
    -moz-column-break-inside: avoid;
    break-inside: avoid;
    page-break-inside: avoid;
    overflow: hidden;
  }
}

.Picture.noratio > [data-lazy],
.Picture.noratio > img,
.Picture.noratio > object {
  position: static;
  height: auto;
  width: 100%;
}

.Picture--lightboxLink {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  cursor: pointer;
}
.Picture--lightboxLink > span {
  position: absolute !important;
  clip: rect(0 0 0 0) !important;
  -webkit-clip-path: polygon(0 0) !important;
  clip-path: polygon(0 0) !important;
}

.Picture.square:before {
  display: block;
  content: "";
  width: 100%;
  padding-bottom: 95%;
}

.Picture.portrait:before {
  display: block;
  content: "";
  width: 100%;
  padding-bottom: 150%;
}

.Picture.portrait-teaser:before {
  display: block;
  content: "";
  width: 100%;
  padding-bottom: 125%;
}

.Picture.landscape:before {
  display: block;
  content: "";
  width: 100%;
  padding-bottom: 66.6666666667%;
}

.Picture.skyscraper:before {
  display: block;
  content: "";
  width: 100%;
  padding-bottom: 138.8349514563%;
}

.Picture.full:before {
  display: block;
  content: "";
  width: 100%;
  padding-bottom: 49.9653018737%;
}

.Picture.hd:before {
  display: block;
  content: "";
  width: 100%;
  padding-bottom: 56.25%;
}

.Type-MediaAssets {
  width: calc(8 / var(--gridSize) * calc(100% - 2 * var(--page-margin)) - calc(var(--gridSize) - 8) / var(--gridSize) * 50px);
  margin-left: auto;
  margin-right: auto;
}
@media (max-width: 740px) {
  .Type-MediaAssets {
    margin-left: var(--page-margin);
    margin-right: var(--page-margin);
    width: auto;
  }
}
@media print {
  .Type-MediaAssets {
    width: 100%;
    margin-left: auto;
    margin-right: auto;
  }
  .Type-MediaAssets > * {
    --gridSize: inherit;
    --page-margin: inherit;
  }
}
.Type-MediaAssets > * {
  --gridSize: 8;
  --page-margin: 0px;
}

.RichtextTable table,
.Table table {
  border-collapse: collapse;
  border-spacing: 0;
  width: 100%;
}
.RichtextTable table th,
.Table table th {
  font-size: 12px;
  line-height: 1.3;
  color: #808080;
}
@media (min-width: 740px) {
  .RichtextTable table th,
  .Table table th {
    font-size: calc(0.1428571429vw + 10.9428571429px);
  }
}
@media (min-width: 1440px) {
  .RichtextTable table th,
  .Table table th {
    font-size: 13px;
  }
}
@media mobile {
  .RichtextTable table th,
  .Table table th {
    line-height: 1.3;
  }
}
.RichtextTable table caption,
.RichtextTable table th,
.RichtextTable table td,
.Table table caption,
.Table table th,
.Table table td {
  padding: 1.5rem 0;
  vertical-align: top;
}
.RichtextTable table td,
.Table table td {
  border-top: 1px solid #e6e6e6;
}
.RichtextTable table th,
.RichtextTable table td,
.Table table th,
.Table table td {
  border-bottom: 1px solid #e6e6e6;
}
.RichtextTable table th:not(:last-child),
.RichtextTable table td:not(:last-child),
.Table table th:not(:last-child),
.Table table td:not(:last-child) {
  padding-right: 1em;
}
.RichtextTable table.top td,
.Table table.top td {
  vertical-align: top;
}
.RichtextTable table.center td,
.Table table.center td {
  vertical-align: middle;
}
.RichtextTable table.bottom td,
.Table table.bottom td {
  vertical-align: bottom;
}
@media (max-width: 740px) {
  .RichtextTable.mobile-stacked table thead,
  .Table.mobile-stacked table thead {
    position: absolute !important;
    clip: rect(0 0 0 0) !important;
    -webkit-clip-path: polygon(0 0) !important;
    clip-path: polygon(0 0) !important;
  }
  .RichtextTable.mobile-stacked table tr,
  .Table.mobile-stacked table tr {
    display: block;
  }
  .RichtextTable.mobile-stacked table tr:not(:last-child),
  .Table.mobile-stacked table tr:not(:last-child) {
    margin-bottom: 1.5rem;
    border-bottom: 2px solid #e6e6e6;
  }
  .RichtextTable.mobile-stacked table td,
  .Table.mobile-stacked table td {
    display: block;
  }
  .RichtextTable.mobile-stacked table td:before,
  .Table.mobile-stacked table td:before {
    content: attr(data-label);
    display: block;
    font-weight: 500;
    font-size: 14px;
    line-height: 1.6;
    font-weight: 500;
    color: #222222;
    margin-bottom: 0.25rem;
  }
}
@media (max-width: 740px) and (max-width: 580px) {
  .RichtextTable.mobile-stacked table td:before,
  .Table.mobile-stacked table td:before {
    font-size: 13px;
  }
}
@media print and (max-width: 740px) {
  .RichtextTable.mobile-stacked table td:before,
  .Table.mobile-stacked table td:before {
    font-size: 12px;
  }
}
@media (max-width: 740px) {
  .RichtextTable.mobile-stacked table tr:not(:last-child) td:last-child,
  .Table.mobile-stacked table tr:not(:last-child) td:last-child {
    padding-bottom: 2rem;
  }
}

.Table--vertical table th,
.Table--vertical table td {
  padding: 0.5rem 0;
}

.RichtextTable {
  margin-top: 60px;
  margin-bottom: 60px;
  overflow-y: auto;
}
@media (max-width: 1150px) {
  .RichtextTable {
    margin-top: 50px;
  }
}
@media (max-width: 1150px) {
  .RichtextTable {
    margin-bottom: 50px;
  }
}
.RichtextTable th, .RichtextTable td {
  font-size: 16px;
  line-height: 1.4;
}
.RichtextTable th > *:first-child, .RichtextTable td > *:first-child {
  margin-top: 0;
}
.RichtextTable th > *:last-child, .RichtextTable td > *:last-child {
  margin-bottom: 0;
}
@media (min-width: 740px) {
  .RichtextTable th, .RichtextTable td {
    font-size: calc(0.5714285714vw + 11.7714285714px);
  }
}
@media (min-width: 1440px) {
  .RichtextTable th, .RichtextTable td {
    font-size: 20px;
  }
}
@media mobile {
  .RichtextTable th, .RichtextTable td {
    line-height: 1.4;
  }
}
.RichtextTable th p, .RichtextTable td p {
  font-size: 16px;
  line-height: 1.4;
}
@media (min-width: 740px) {
  .RichtextTable th p, .RichtextTable td p {
    font-size: calc(0.5714285714vw + 11.7714285714px);
  }
}
@media (min-width: 1440px) {
  .RichtextTable th p, .RichtextTable td p {
    font-size: 20px;
  }
}
@media mobile {
  .RichtextTable th p, .RichtextTable td p {
    line-height: 1.4;
  }
}

.Tag.date {
  display: inline-flex;
  flex-direction: column-reverse;
  align-items: center;
}
.Tag.date .Tag--label {
  color: #808080;
}
.Tag.date .Tag--value {
  text-transform: none;
  font-weight: 500;
  font-size: 22px;
  line-height: 1.1;
}
@media (min-width: 740px) {
  .Tag.date .Tag--value {
    font-size: calc(1.1428571429vw + 13.5428571429px);
  }
}
@media (min-width: 1440px) {
  .Tag.date .Tag--value {
    font-size: 30px;
  }
}
@media mobile {
  .Tag.date .Tag--value {
    line-height: 1.2;
  }
}
@media (max-width: 1150px) {
  .Tag.date .Tag--value {
    font-weight: 500;
    font-size: 22px;
    line-height: 1.2;
  }
}
@media (max-width: 1150px) and (min-width: 740px) {
  .Tag.date .Tag--value {
    font-size: calc(0.5714285714vw + 17.7714285714px);
  }
}
@media (max-width: 1150px) and (min-width: 1440px) {
  .Tag.date .Tag--value {
    font-size: 26px;
  }
}
@media mobile and (max-width: 1150px) {
  .Tag.date .Tag--value {
    line-height: 1.2;
  }
}

.Tag.price {
  display: inline-flex;
  align-items: center;
  position: relative;
  overflow: hidden;
}
.Tag.price .Tag--label {
  position: absolute;
  top: 50%;
  overflow: visible;
  margin-right: 20px;
  white-space: nowrap;
  transform: translate(-50%, -50%) translateX(1ex) rotate(-90deg);
}
.Tag.price .Tag--label + .Tag--value {
  margin-left: 20px;
}
.Tag.price .Tag--value {
  text-transform: none;
  font-weight: 500;
  font-size: 22px;
  line-height: 1.1;
}
@media (min-width: 740px) {
  .Tag.price .Tag--value {
    font-size: calc(1.1428571429vw + 13.5428571429px);
  }
}
@media (min-width: 1440px) {
  .Tag.price .Tag--value {
    font-size: 30px;
  }
}
@media mobile {
  .Tag.price .Tag--value {
    line-height: 1.2;
  }
}

.Tag {
  font-weight: 500;
  font-size: 10px;
  line-height: 1.4;
  text-transform: uppercase;
  letter-spacing: 0.14em;
  display: inline-block;
  padding: 8px 12px;
  border-radius: 3px;
  background: #ffffff;
}
@media (max-width: 740px) {
  .Tag {
    font-size: 9px;
  }
}
@media (max-width: 900px) {
  .Tag {
    padding: 4px 6px;
  }
}
.Tag.inverted {
  color: #ffffff;
  background: #222222;
}
.Tag.green {
  color: #317651;
  background: #eaf1ee;
}
.Tag.green.inverted {
  color: #eaf1ee;
  background: #317651;
}
.Tag.red {
  color: #ca1b45;
  background: #efdee2;
}
.Tag.red.inverted {
  color: #efdee2;
  background: #ca1b45;
}
.Tag.blue {
  color: #004b90;
  background: #e6edf4;
}
.Tag.blue.inverted {
  color: #e6edf4;
  background: #004b90;
}
.Tag.yellow {
  color: #b08c0a;
  background: #faf6e7;
}
.Tag.yellow.inverted {
  color: #faf6e7;
  background: #b08c0a;
}
.Tag.gray {
  color: #222222;
  background: #e6e6e6;
}
.Tag.gray.inverted {
  color: #e6e6e6;
  background: #222222;
}

.ZoomButton {
  background: #222222;
  width: 102px;
  height: 102px;
  border-radius: 100px;
  color: white;
  line-height: 1;
  position: absolute;
  right: 20px;
  bottom: 20px;
}
@media (max-width: 1150px) {
  .ZoomButton {
    width: 80px;
    height: 80px;
  }
}
@media (max-width: 900px) {
  .ZoomButton {
    width: 60px;
    height: 60px;
  }
}
@media (max-width: 740px) {
  .ZoomButton {
    width: 40px;
    height: 40px;
  }
}
.Form {
  margin-bottom: -35px;
}
@media (max-width: 580px) {
  .Form {
    margin-bottom: -26px;
  }
}
.Form.alone {
  box-sizing: content-box;
  max-width: 500px;
  padding-left: 100px;
  padding-left: var(--page-margin);
  padding-right: 100px;
  padding-right: var(--page-margin);
  margin: 50px auto;
}
.Form > * {
  margin-bottom: 35px;
}
@media (max-width: 580px) {
  .Form > * {
    margin-bottom: 26px;
  }
}
.Form ::-webkit-input-placeholder {
  color: inherit;
  opacity: 0.4;
}
.Form ::-moz-placeholder {
  color: inherit;
  opacity: 0.4;
}
.Form ::placeholder {
  color: inherit;
  opacity: 0.4;
}

.FormError {
  font-size: 12px;
  color: #ca1b45;
  margin: 8px 0;
}
.FormError > .Icon {
  margin-right: 1ex;
}

.FormLabel {
  font-size: 14px;
  line-height: 1.4;
  display: block;
  margin-bottom: 7px;
}
@media (min-width: 740px) {
  .FormLabel {
    font-size: calc(0.2857142857vw + 11.8857142857px);
  }
}
@media (min-width: 1440px) {
  .FormLabel {
    font-size: 16px;
  }
}
@media mobile {
  .FormLabel {
    line-height: 1.5;
  }
}
.FormLabel > a {
  text-decoration: underline;
}

.FormError {
  font-size: 12px;
  color: #ca1b45;
  margin: 8px 0;
}
.FormError > .Icon {
  margin-right: 1ex;
}

.Input {
  font-size: 16px;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  border-radius: 3px;
  background-color: #f2f2f2;
  border: 1px solid #f2f2f2;
  padding: 12px 20px;
  width: 100%;
  box-shadow: 0 0 0 0px white;
  transition: box-shadow 200ms;
}
.Input:hover {
  border-color: #e6e6e6;
}
.Input:focus {
  background-color: #ffffff;
  border: 1px solid #808080;
  box-shadow: 0 0 0 5px #f2f2f2;
}
.Input.error {
  color: #ca1b45;
  background-color: #efdee2;
  border: 1px solid #d24768;
}
.Input.error:focus {
  color: #ca1b45;
  background-color: #ffffff;
  border: 1px solid #d24768;
  box-shadow: 0 0 0 5px #efdee2;
}

.InputSet--body .FormLabel {
  position: absolute !important;
  clip: rect(0 0 0 0) !important;
  -webkit-clip-path: polygon(0 0) !important;
  clip-path: polygon(0 0) !important;
}

.OptionInput {
  position: relative;
  font-size: 14px;
}
.OptionInput > input {
  position: absolute;
  left: 0;
  top: calc(50% - 12px);
  width: 24px;
  height: 26px;
  opacity: 0;
}
.OptionInput > label {
  padding-left: 36px;
  line-height: 24px;
  cursor: pointer;
  display: block;
}
.OptionInput > label:before,
.OptionInput > label:after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 24px;
  height: 24px;
  border: 1px solid;
  background: white;
}
.OptionInput > label:hover:before {
  box-shadow: 0 0 0 3px rgba(34, 34, 34, 0.05);
}
.OptionInput > input:not(:checked) + label:after {
  visibility: hidden;
}
.OptionInput > input.error + label:before {
  border-color: #ca1b45;
  background-color: #eac7d0;
}
.OptionInput > input:disabled + label {
  opacity: 0.3;
}

.OptionInput input[type=radio] + label:before,
.OptionInput input[type=radio] + label:after {
  border-radius: 24px;
}
.OptionInput input[type=radio] + label:after {
  width: 8px;
  height: 8px;
  margin: 8px;
  background: currentColor;
}

.OptionInput input[type=checkbox]:checked + label:before {
  background: currentColor;
}
.OptionInput input[type=checkbox] + label:before {
  border-radius: 3px;
}
.OptionInput input[type=checkbox] + label:after {
  width: 14px;
  height: 7px;
  margin: 7px 5px;
  background: transparent;
  border: 2px solid #ffffff;
  border-width: 0 0 2px 2px;
  transform: rotate(-45deg);
}

.OptionInput.netlify {
  position: relative;
  font-size: 14px;
}
.OptionInput.netlify > input {
  position: absolute;
  left: 0;
  top: calc(50% - 12px);
  width: 24px;
  height: 26px;
  opacity: 0;
}
.OptionInput.netlify > .label {
  padding-left: 36px;
  line-height: 24px;
  cursor: pointer;
  display: block;
}
.OptionInput.netlify > .label:before,
.OptionInput.netlify > .label:after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 24px;
  height: 24px;
  border: 1px solid;
  background: white;
}
.OptionInput.netlify > .label:hover:before {
  box-shadow: 0 0 0 3px rgba(34, 34, 34, 0.05);
}
.OptionInput.netlify > input:not(:checked) + .label:after {
  visibility: hidden;
}
.OptionInput.netlify > input.error + .label:before {
  border-color: #ca1b45;
  background-color: #eac7d0;
}
.OptionInput.netlify > input:disabled + .label {
  opacity: 0.3;
}

.OptionInput.netlify input[type=radio] + .label:before,
.OptionInput.netlify input[type=radio] + .label:after {
  border-radius: 24px;
}
.OptionInput.netlify input[type=radio] + .label:after {
  width: 8px;
  height: 8px;
  margin: 8px;
  background: currentColor;
}

.OptionInput.netlify input[type=checkbox]:checked + .label:before {
  background: currentColor;
}
.OptionInput.netlify input[type=checkbox] + .label:before {
  border-radius: 3px;
}
.OptionInput.netlify input[type=checkbox] + .label:after {
  width: 14px;
  height: 7px;
  margin: 7px 5px;
  background: transparent;
  border: 2px solid #ffffff;
  border-width: 0 0 2px 2px;
  transform: rotate(-45deg);
}

.Options .Options--body {
  margin-bottom: -12px;
}
.Options .OptionInput {
  display: block;
  margin-bottom: 12px;
}
.Options.inline .OptionInput {
  display: inline-block;
}
.Options.inline .OptionInput:not(:last-child) {
  margin-right: 30px;
}

.Select {
  font-size: 16px;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  border-radius: 3px;
  background-color: #f2f2f2;
  border: 1px solid #f2f2f2;
  padding: 12px 20px;
  width: 100%;
  box-shadow: 0 0 0 0px white;
  transition: box-shadow 200ms;
  padding-right: 30px;
  text-overflow: ellipsis;
  background-image: url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTMuNSA2LjVMOCAxMUwxMi41IDYuNSIgc3Ryb2tlPSIjMjIyMjIyIiBzdHJva2UtbWl0ZXJsaW1pdD0iMTAiLz4KPC9zdmc+Cg==");
  background-repeat: no-repeat;
  background-position: right 12px center;
}
.Select:hover {
  border-color: #e6e6e6;
}
.Select:focus {
  background-color: #ffffff;
  border: 1px solid #808080;
  box-shadow: 0 0 0 5px #f2f2f2;
}
.Select.error {
  color: #ca1b45;
  background-color: #efdee2;
  border: 1px solid #d24768;
}
.Select.error:focus {
  color: #ca1b45;
  background-color: #ffffff;
  border: 1px solid #d24768;
  box-shadow: 0 0 0 5px #efdee2;
}

textarea.Input {
  height: 12em;
}

html {
  --page-margin: 140px;
}
@media (max-width: 1280px) {
  html {
    --page-margin: 100px;
  }
}
@media (max-width: 1150px) {
  html {
    --page-margin: 60px;
  }
}
@media (max-width: 900px) {
  html {
    --page-margin: 30px;
  }
}
@media (max-width: 740px) {
  html {
    --page-margin: 20px;
  }
}
@media print {
  html {
    --page-margin: 0px;
  }
}

.L-Page {
  max-width: 1680px;
  margin: 0 auto;
}

.l-SiteWidth:not(.small) {
  margin-left: 100px;
  margin-left: var(--page-margin);
  margin-right: 100px;
  margin-right: var(--page-margin);
  position: relative;
}

.l-SiteWidth.small {
  display: block;
  max-width: 700px;
  margin-left: auto;
  margin-right: auto;
}
@media (max-width: 700px) {
  .l-SiteWidth.small {
    margin-left: 100px;
    margin-left: var(--page-margin);
    margin-right: 100px;
    margin-right: var(--page-margin);
    position: relative;
  }
}

.row {
  display: flex;
  flex-wrap: wrap;
  position: relative;
  padding-left: 0%;
  padding-right: 0%;
  margin-left: -30px;
  margin-right: -30px;
}

.col-1 {
  display: block;
  padding-left: 30px;
  padding-right: 30px;
  flex: 1 0 8.3333333333%;
  max-width: 8.3333333333%;
}

.col-2 {
  display: block;
  padding-left: 30px;
  padding-right: 30px;
  flex: 1 0 16.6666666667%;
  max-width: 16.6666666667%;
}

.col-3 {
  display: block;
  padding-left: 30px;
  padding-right: 30px;
  flex: 1 0 25%;
  max-width: 25%;
}

.col-4 {
  display: block;
  padding-left: 30px;
  padding-right: 30px;
  flex: 1 0 33.3333333333%;
  max-width: 33.3333333333%;
}

.col-5 {
  display: block;
  padding-left: 30px;
  padding-right: 30px;
  flex: 1 0 41.6666666667%;
  max-width: 41.6666666667%;
}

.col-6 {
  display: block;
  padding-left: 30px;
  padding-right: 30px;
  flex: 1 0 50%;
  max-width: 50%;
}

.col-7 {
  display: block;
  padding-left: 30px;
  padding-right: 30px;
  flex: 1 0 58.3333333333%;
  max-width: 58.3333333333%;
}

.col-8 {
  display: block;
  padding-left: 30px;
  padding-right: 30px;
  flex: 1 0 66.6666666667%;
  max-width: 66.6666666667%;
}

.col-9 {
  display: block;
  padding-left: 30px;
  padding-right: 30px;
  flex: 1 0 75%;
  max-width: 75%;
}

.col-10 {
  display: block;
  padding-left: 30px;
  padding-right: 30px;
  flex: 1 0 83.3333333333%;
  max-width: 83.3333333333%;
}

.col-11 {
  display: block;
  padding-left: 30px;
  padding-right: 30px;
  flex: 1 0 91.6666666667%;
  max-width: 91.6666666667%;
}

.col-12 {
  display: block;
  padding-left: 30px;
  padding-right: 30px;
  flex: 1 0 100%;
  max-width: 100%;
}

.col-1-c {
  display: block;
  padding-left: 30px;
  padding-right: 30px;
  flex: 1 0 8.3333333333%;
  max-width: 8.3333333333%;
  margin-left: 45.8333333333%;
}

.col-2-c {
  display: block;
  padding-left: 30px;
  padding-right: 30px;
  flex: 1 0 16.6666666667%;
  max-width: 16.6666666667%;
  margin-left: 41.6666666667%;
}

.col-3-c {
  display: block;
  padding-left: 30px;
  padding-right: 30px;
  flex: 1 0 25%;
  max-width: 25%;
  margin-left: 37.5%;
}

.col-4-c {
  display: block;
  padding-left: 30px;
  padding-right: 30px;
  flex: 1 0 33.3333333333%;
  max-width: 33.3333333333%;
  margin-left: 33.3333333333%;
}

.col-5-c {
  display: block;
  padding-left: 30px;
  padding-right: 30px;
  flex: 1 0 41.6666666667%;
  max-width: 41.6666666667%;
  margin-left: 29.1666666667%;
}

.col-6-c {
  display: block;
  padding-left: 30px;
  padding-right: 30px;
  flex: 1 0 50%;
  max-width: 50%;
  margin-left: 25%;
}

.col-7-c {
  display: block;
  padding-left: 30px;
  padding-right: 30px;
  flex: 1 0 58.3333333333%;
  max-width: 58.3333333333%;
  margin-left: 20.8333333333%;
}

.col-8-c {
  display: block;
  padding-left: 30px;
  padding-right: 30px;
  flex: 1 0 66.6666666667%;
  max-width: 66.6666666667%;
  margin-left: 16.6666666667%;
}

.col-9-c {
  display: block;
  padding-left: 30px;
  padding-right: 30px;
  flex: 1 0 75%;
  max-width: 75%;
  margin-left: 12.5%;
}

.col-10-c {
  display: block;
  padding-left: 30px;
  padding-right: 30px;
  flex: 1 0 83.3333333333%;
  max-width: 83.3333333333%;
  margin-left: 8.3333333333%;
}

.col-11-c {
  display: block;
  padding-left: 30px;
  padding-right: 30px;
  flex: 1 0 91.6666666667%;
  max-width: 91.6666666667%;
  margin-left: 4.1666666667%;
}

.col-12-c {
  display: block;
  padding-left: 30px;
  padding-right: 30px;
  flex: 1 0 100%;
  max-width: 100%;
  margin-left: 0%;
}

.col-offset-1 {
  margin-left: 8.3333333333%;
}

.col-offset-2 {
  margin-left: 16.6666666667%;
}

.col-offset-3 {
  margin-left: 25%;
}

.col-offset-4 {
  margin-left: 33.3333333333%;
}

.col-offset-5 {
  margin-left: 41.6666666667%;
}

.col-offset-6 {
  margin-left: 50%;
}

.col-offset-7 {
  margin-left: 58.3333333333%;
}

.col-offset-8 {
  margin-left: 66.6666666667%;
}

.col-offset-9 {
  margin-left: 75%;
}

.col-offset-10 {
  margin-left: 83.3333333333%;
}

.col-offset-11 {
  margin-left: 91.6666666667%;
}

.col-offset-12 {
  margin-left: 100%;
}

@media (max-width: 1150px) {
  .col-tab-1 {
    display: block;
    padding-left: 30px;
    padding-right: 30px;
    flex: 1 0 8.3333333333%;
    max-width: 8.3333333333%;
    margin-left: 0;
  }
  .col-tab-2 {
    display: block;
    padding-left: 30px;
    padding-right: 30px;
    flex: 1 0 16.6666666667%;
    max-width: 16.6666666667%;
    margin-left: 0;
  }
  .col-tab-3 {
    display: block;
    padding-left: 30px;
    padding-right: 30px;
    flex: 1 0 25%;
    max-width: 25%;
    margin-left: 0;
  }
  .col-tab-4 {
    display: block;
    padding-left: 30px;
    padding-right: 30px;
    flex: 1 0 33.3333333333%;
    max-width: 33.3333333333%;
    margin-left: 0;
  }
  .col-tab-5 {
    display: block;
    padding-left: 30px;
    padding-right: 30px;
    flex: 1 0 41.6666666667%;
    max-width: 41.6666666667%;
    margin-left: 0;
  }
  .col-tab-6 {
    display: block;
    padding-left: 30px;
    padding-right: 30px;
    flex: 1 0 50%;
    max-width: 50%;
    margin-left: 0;
  }
  .col-tab-7 {
    display: block;
    padding-left: 30px;
    padding-right: 30px;
    flex: 1 0 58.3333333333%;
    max-width: 58.3333333333%;
    margin-left: 0;
  }
  .col-tab-8 {
    display: block;
    padding-left: 30px;
    padding-right: 30px;
    flex: 1 0 66.6666666667%;
    max-width: 66.6666666667%;
    margin-left: 0;
  }
  .col-tab-9 {
    display: block;
    padding-left: 30px;
    padding-right: 30px;
    flex: 1 0 75%;
    max-width: 75%;
    margin-left: 0;
  }
  .col-tab-10 {
    display: block;
    padding-left: 30px;
    padding-right: 30px;
    flex: 1 0 83.3333333333%;
    max-width: 83.3333333333%;
    margin-left: 0;
  }
  .col-tab-11 {
    display: block;
    padding-left: 30px;
    padding-right: 30px;
    flex: 1 0 91.6666666667%;
    max-width: 91.6666666667%;
    margin-left: 0;
  }
  .col-tab-12 {
    display: block;
    padding-left: 30px;
    padding-right: 30px;
    flex: 1 0 100%;
    max-width: 100%;
    margin-left: 0;
  }
  .col-tab-1-c {
    display: block;
    padding-left: 30px;
    padding-right: 30px;
    flex: 1 0 8.3333333333%;
    max-width: 8.3333333333%;
    margin-left: 45.8333333333%;
  }
  .col-tab-2-c {
    display: block;
    padding-left: 30px;
    padding-right: 30px;
    flex: 1 0 16.6666666667%;
    max-width: 16.6666666667%;
    margin-left: 41.6666666667%;
  }
  .col-tab-3-c {
    display: block;
    padding-left: 30px;
    padding-right: 30px;
    flex: 1 0 25%;
    max-width: 25%;
    margin-left: 37.5%;
  }
  .col-tab-4-c {
    display: block;
    padding-left: 30px;
    padding-right: 30px;
    flex: 1 0 33.3333333333%;
    max-width: 33.3333333333%;
    margin-left: 33.3333333333%;
  }
  .col-tab-5-c {
    display: block;
    padding-left: 30px;
    padding-right: 30px;
    flex: 1 0 41.6666666667%;
    max-width: 41.6666666667%;
    margin-left: 29.1666666667%;
  }
  .col-tab-6-c {
    display: block;
    padding-left: 30px;
    padding-right: 30px;
    flex: 1 0 50%;
    max-width: 50%;
    margin-left: 25%;
  }
  .col-tab-7-c {
    display: block;
    padding-left: 30px;
    padding-right: 30px;
    flex: 1 0 58.3333333333%;
    max-width: 58.3333333333%;
    margin-left: 20.8333333333%;
  }
  .col-tab-8-c {
    display: block;
    padding-left: 30px;
    padding-right: 30px;
    flex: 1 0 66.6666666667%;
    max-width: 66.6666666667%;
    margin-left: 16.6666666667%;
  }
  .col-tab-9-c {
    display: block;
    padding-left: 30px;
    padding-right: 30px;
    flex: 1 0 75%;
    max-width: 75%;
    margin-left: 12.5%;
  }
  .col-tab-10-c {
    display: block;
    padding-left: 30px;
    padding-right: 30px;
    flex: 1 0 83.3333333333%;
    max-width: 83.3333333333%;
    margin-left: 8.3333333333%;
  }
  .col-tab-11-c {
    display: block;
    padding-left: 30px;
    padding-right: 30px;
    flex: 1 0 91.6666666667%;
    max-width: 91.6666666667%;
    margin-left: 4.1666666667%;
  }
  .col-tab-12-c {
    display: block;
    padding-left: 30px;
    padding-right: 30px;
    flex: 1 0 100%;
    max-width: 100%;
    margin-left: 0%;
  }
  .col-tab-offset-1 {
    margin-left: 8.3333333333%;
  }
  .col-tab-offset-2 {
    margin-left: 16.6666666667%;
  }
  .col-tab-offset-3 {
    margin-left: 25%;
  }
  .col-tab-offset-4 {
    margin-left: 33.3333333333%;
  }
  .col-tab-offset-5 {
    margin-left: 41.6666666667%;
  }
  .col-tab-offset-6 {
    margin-left: 50%;
  }
  .col-tab-offset-7 {
    margin-left: 58.3333333333%;
  }
  .col-tab-offset-8 {
    margin-left: 66.6666666667%;
  }
  .col-tab-offset-9 {
    margin-left: 75%;
  }
  .col-tab-offset-10 {
    margin-left: 83.3333333333%;
  }
  .col-tab-offset-11 {
    margin-left: 91.6666666667%;
  }
  .col-tab-offset-12 {
    margin-left: 100%;
  }
}
@media (max-width: 900px) {
  .col-tabp-1 {
    display: block;
    padding-left: 30px;
    padding-right: 30px;
    flex: 1 0 8.3333333333%;
    max-width: 8.3333333333%;
    margin-left: 0;
  }
  .col-tabp-2 {
    display: block;
    padding-left: 30px;
    padding-right: 30px;
    flex: 1 0 16.6666666667%;
    max-width: 16.6666666667%;
    margin-left: 0;
  }
  .col-tabp-3 {
    display: block;
    padding-left: 30px;
    padding-right: 30px;
    flex: 1 0 25%;
    max-width: 25%;
    margin-left: 0;
  }
  .col-tabp-4 {
    display: block;
    padding-left: 30px;
    padding-right: 30px;
    flex: 1 0 33.3333333333%;
    max-width: 33.3333333333%;
    margin-left: 0;
  }
  .col-tabp-5 {
    display: block;
    padding-left: 30px;
    padding-right: 30px;
    flex: 1 0 41.6666666667%;
    max-width: 41.6666666667%;
    margin-left: 0;
  }
  .col-tabp-6 {
    display: block;
    padding-left: 30px;
    padding-right: 30px;
    flex: 1 0 50%;
    max-width: 50%;
    margin-left: 0;
  }
  .col-tabp-7 {
    display: block;
    padding-left: 30px;
    padding-right: 30px;
    flex: 1 0 58.3333333333%;
    max-width: 58.3333333333%;
    margin-left: 0;
  }
  .col-tabp-8 {
    display: block;
    padding-left: 30px;
    padding-right: 30px;
    flex: 1 0 66.6666666667%;
    max-width: 66.6666666667%;
    margin-left: 0;
  }
  .col-tabp-9 {
    display: block;
    padding-left: 30px;
    padding-right: 30px;
    flex: 1 0 75%;
    max-width: 75%;
    margin-left: 0;
  }
  .col-tabp-10 {
    display: block;
    padding-left: 30px;
    padding-right: 30px;
    flex: 1 0 83.3333333333%;
    max-width: 83.3333333333%;
    margin-left: 0;
  }
  .col-tabp-11 {
    display: block;
    padding-left: 30px;
    padding-right: 30px;
    flex: 1 0 91.6666666667%;
    max-width: 91.6666666667%;
    margin-left: 0;
  }
  .col-tabp-12 {
    display: block;
    padding-left: 30px;
    padding-right: 30px;
    flex: 1 0 100%;
    max-width: 100%;
    margin-left: 0;
  }
  .col-tabp-1-c {
    display: block;
    padding-left: 30px;
    padding-right: 30px;
    flex: 1 0 8.3333333333%;
    max-width: 8.3333333333%;
    margin-left: 45.8333333333%;
  }
  .col-tabp-2-c {
    display: block;
    padding-left: 30px;
    padding-right: 30px;
    flex: 1 0 16.6666666667%;
    max-width: 16.6666666667%;
    margin-left: 41.6666666667%;
  }
  .col-tabp-3-c {
    display: block;
    padding-left: 30px;
    padding-right: 30px;
    flex: 1 0 25%;
    max-width: 25%;
    margin-left: 37.5%;
  }
  .col-tabp-4-c {
    display: block;
    padding-left: 30px;
    padding-right: 30px;
    flex: 1 0 33.3333333333%;
    max-width: 33.3333333333%;
    margin-left: 33.3333333333%;
  }
  .col-tabp-5-c {
    display: block;
    padding-left: 30px;
    padding-right: 30px;
    flex: 1 0 41.6666666667%;
    max-width: 41.6666666667%;
    margin-left: 29.1666666667%;
  }
  .col-tabp-6-c {
    display: block;
    padding-left: 30px;
    padding-right: 30px;
    flex: 1 0 50%;
    max-width: 50%;
    margin-left: 25%;
  }
  .col-tabp-7-c {
    display: block;
    padding-left: 30px;
    padding-right: 30px;
    flex: 1 0 58.3333333333%;
    max-width: 58.3333333333%;
    margin-left: 20.8333333333%;
  }
  .col-tabp-8-c {
    display: block;
    padding-left: 30px;
    padding-right: 30px;
    flex: 1 0 66.6666666667%;
    max-width: 66.6666666667%;
    margin-left: 16.6666666667%;
  }
  .col-tabp-9-c {
    display: block;
    padding-left: 30px;
    padding-right: 30px;
    flex: 1 0 75%;
    max-width: 75%;
    margin-left: 12.5%;
  }
  .col-tabp-10-c {
    display: block;
    padding-left: 30px;
    padding-right: 30px;
    flex: 1 0 83.3333333333%;
    max-width: 83.3333333333%;
    margin-left: 8.3333333333%;
  }
  .col-tabp-11-c {
    display: block;
    padding-left: 30px;
    padding-right: 30px;
    flex: 1 0 91.6666666667%;
    max-width: 91.6666666667%;
    margin-left: 4.1666666667%;
  }
  .col-tabp-12-c {
    display: block;
    padding-left: 30px;
    padding-right: 30px;
    flex: 1 0 100%;
    max-width: 100%;
    margin-left: 0%;
  }
  .col-tabp-offset-1 {
    margin-left: 8.3333333333%;
  }
  .col-tabp-offset-2 {
    margin-left: 16.6666666667%;
  }
  .col-tabp-offset-3 {
    margin-left: 25%;
  }
  .col-tabp-offset-4 {
    margin-left: 33.3333333333%;
  }
  .col-tabp-offset-5 {
    margin-left: 41.6666666667%;
  }
  .col-tabp-offset-6 {
    margin-left: 50%;
  }
  .col-tabp-offset-7 {
    margin-left: 58.3333333333%;
  }
  .col-tabp-offset-8 {
    margin-left: 66.6666666667%;
  }
  .col-tabp-offset-9 {
    margin-left: 75%;
  }
  .col-tabp-offset-10 {
    margin-left: 83.3333333333%;
  }
  .col-tabp-offset-11 {
    margin-left: 91.6666666667%;
  }
  .col-tabp-offset-12 {
    margin-left: 100%;
  }
}
@media (max-width: 740px) {
  .col-mob-1 {
    display: block;
    padding-left: 30px;
    padding-right: 30px;
    flex: 1 0 8.3333333333%;
    max-width: 8.3333333333%;
    margin-left: 0;
  }
  .col-mob-2 {
    display: block;
    padding-left: 30px;
    padding-right: 30px;
    flex: 1 0 16.6666666667%;
    max-width: 16.6666666667%;
    margin-left: 0;
  }
  .col-mob-3 {
    display: block;
    padding-left: 30px;
    padding-right: 30px;
    flex: 1 0 25%;
    max-width: 25%;
    margin-left: 0;
  }
  .col-mob-4 {
    display: block;
    padding-left: 30px;
    padding-right: 30px;
    flex: 1 0 33.3333333333%;
    max-width: 33.3333333333%;
    margin-left: 0;
  }
  .col-mob-5 {
    display: block;
    padding-left: 30px;
    padding-right: 30px;
    flex: 1 0 41.6666666667%;
    max-width: 41.6666666667%;
    margin-left: 0;
  }
  .col-mob-6 {
    display: block;
    padding-left: 30px;
    padding-right: 30px;
    flex: 1 0 50%;
    max-width: 50%;
    margin-left: 0;
  }
  .col-mob-7 {
    display: block;
    padding-left: 30px;
    padding-right: 30px;
    flex: 1 0 58.3333333333%;
    max-width: 58.3333333333%;
    margin-left: 0;
  }
  .col-mob-8 {
    display: block;
    padding-left: 30px;
    padding-right: 30px;
    flex: 1 0 66.6666666667%;
    max-width: 66.6666666667%;
    margin-left: 0;
  }
  .col-mob-9 {
    display: block;
    padding-left: 30px;
    padding-right: 30px;
    flex: 1 0 75%;
    max-width: 75%;
    margin-left: 0;
  }
  .col-mob-10 {
    display: block;
    padding-left: 30px;
    padding-right: 30px;
    flex: 1 0 83.3333333333%;
    max-width: 83.3333333333%;
    margin-left: 0;
  }
  .col-mob-11 {
    display: block;
    padding-left: 30px;
    padding-right: 30px;
    flex: 1 0 91.6666666667%;
    max-width: 91.6666666667%;
    margin-left: 0;
  }
  .col-mob-12 {
    display: block;
    padding-left: 30px;
    padding-right: 30px;
    flex: 1 0 100%;
    max-width: 100%;
    margin-left: 0;
  }
  .col-mob-1-c {
    display: block;
    padding-left: 30px;
    padding-right: 30px;
    flex: 1 0 8.3333333333%;
    max-width: 8.3333333333%;
    margin-left: 45.8333333333%;
  }
  .col-mob-2-c {
    display: block;
    padding-left: 30px;
    padding-right: 30px;
    flex: 1 0 16.6666666667%;
    max-width: 16.6666666667%;
    margin-left: 41.6666666667%;
  }
  .col-mob-3-c {
    display: block;
    padding-left: 30px;
    padding-right: 30px;
    flex: 1 0 25%;
    max-width: 25%;
    margin-left: 37.5%;
  }
  .col-mob-4-c {
    display: block;
    padding-left: 30px;
    padding-right: 30px;
    flex: 1 0 33.3333333333%;
    max-width: 33.3333333333%;
    margin-left: 33.3333333333%;
  }
  .col-mob-5-c {
    display: block;
    padding-left: 30px;
    padding-right: 30px;
    flex: 1 0 41.6666666667%;
    max-width: 41.6666666667%;
    margin-left: 29.1666666667%;
  }
  .col-mob-6-c {
    display: block;
    padding-left: 30px;
    padding-right: 30px;
    flex: 1 0 50%;
    max-width: 50%;
    margin-left: 25%;
  }
  .col-mob-7-c {
    display: block;
    padding-left: 30px;
    padding-right: 30px;
    flex: 1 0 58.3333333333%;
    max-width: 58.3333333333%;
    margin-left: 20.8333333333%;
  }
  .col-mob-8-c {
    display: block;
    padding-left: 30px;
    padding-right: 30px;
    flex: 1 0 66.6666666667%;
    max-width: 66.6666666667%;
    margin-left: 16.6666666667%;
  }
  .col-mob-9-c {
    display: block;
    padding-left: 30px;
    padding-right: 30px;
    flex: 1 0 75%;
    max-width: 75%;
    margin-left: 12.5%;
  }
  .col-mob-10-c {
    display: block;
    padding-left: 30px;
    padding-right: 30px;
    flex: 1 0 83.3333333333%;
    max-width: 83.3333333333%;
    margin-left: 8.3333333333%;
  }
  .col-mob-11-c {
    display: block;
    padding-left: 30px;
    padding-right: 30px;
    flex: 1 0 91.6666666667%;
    max-width: 91.6666666667%;
    margin-left: 4.1666666667%;
  }
  .col-mob-12-c {
    display: block;
    padding-left: 30px;
    padding-right: 30px;
    flex: 1 0 100%;
    max-width: 100%;
    margin-left: 0%;
  }
  .col-mob-offset-1 {
    margin-left: 8.3333333333%;
  }
  .col-mob-offset-2 {
    margin-left: 16.6666666667%;
  }
  .col-mob-offset-3 {
    margin-left: 25%;
  }
  .col-mob-offset-4 {
    margin-left: 33.3333333333%;
  }
  .col-mob-offset-5 {
    margin-left: 41.6666666667%;
  }
  .col-mob-offset-6 {
    margin-left: 50%;
  }
  .col-mob-offset-7 {
    margin-left: 58.3333333333%;
  }
  .col-mob-offset-8 {
    margin-left: 66.6666666667%;
  }
  .col-mob-offset-9 {
    margin-left: 75%;
  }
  .col-mob-offset-10 {
    margin-left: 83.3333333333%;
  }
  .col-mob-offset-11 {
    margin-left: 91.6666666667%;
  }
  .col-mob-offset-12 {
    margin-left: 100%;
  }
}
.l-Flex {
  display: flex;
  flex-wrap: wrap;
  --gutter: 30px;
  margin-left: calc(-1 * var(--gutter));
  --gap: 30px;
  margin-bottom: calc(-1 * var(--gap));
}
.l-Flex.gutter-none {
  --gutter: 0px;
}
.l-Flex.gutter-small {
  --gutter: 10px;
}
.l-Flex.gap-none {
  --gap: 0px;
}
.l-Flex.gap-small {
  --gap: 10px;
}
.l-Flex > * {
  flex: 0 0 auto;
  margin-left: var(--gutter);
  margin-bottom: var(--gap);
}
.l-Flex > .l-1of1 {
  width: calc(100% / 1 * 1 - var(--gutter));
}
.l-Flex > .l-1of2 {
  width: calc(100% / 2 * 1 - var(--gutter));
}
.l-Flex > .l-1of3 {
  width: calc(100% / 3 * 1 - var(--gutter));
}
.l-Flex > .l-2of3 {
  width: calc(100% / 3 * 2 - var(--gutter));
}
.l-Flex > .l-1of4 {
  width: calc(100% / 4 * 1 - var(--gutter));
}
.l-Flex > .l-3of4 {
  width: calc(100% / 4 * 3 - var(--gutter));
}
.l-Flex > .l-1of5 {
  width: calc(100% / 5 * 1 - var(--gutter));
}
.l-Flex > .l-2of5 {
  width: calc(100% / 5 * 2 - var(--gutter));
}
.l-Flex > .l-3of5 {
  width: calc(100% / 5 * 3 - var(--gutter));
}
.l-Flex > .l-4of5 {
  width: calc(100% / 5 * 4 - var(--gutter));
}
.l-Flex > .l-flex {
  flex-grow: 1;
}
@media (max-width: 1150px) {
  .l-Flex > .tl-1of1 {
    width: calc(100% / 1 * 1 - var(--gutter));
  }
  .l-Flex > .tl-1of2 {
    width: calc(100% / 2 * 1 - var(--gutter));
  }
  .l-Flex > .tl-1of3 {
    width: calc(100% / 3 * 1 - var(--gutter));
  }
  .l-Flex > .tl-2of3 {
    width: calc(100% / 3 * 2 - var(--gutter));
  }
  .l-Flex > .tl-1of4 {
    width: calc(100% / 4 * 1 - var(--gutter));
  }
  .l-Flex > .tl-3of4 {
    width: calc(100% / 4 * 3 - var(--gutter));
  }
  .l-Flex > .tl-1of5 {
    width: calc(100% / 5 * 1 - var(--gutter));
  }
  .l-Flex > .tl-2of5 {
    width: calc(100% / 5 * 2 - var(--gutter));
  }
  .l-Flex > .tl-3of5 {
    width: calc(100% / 5 * 3 - var(--gutter));
  }
  .l-Flex > .tl-4of5 {
    width: calc(100% / 5 * 4 - var(--gutter));
  }
  .l-Flex > .tl-flex {
    flex-grow: 1;
  }
}
@media (max-width: 900px) {
  .l-Flex > .tp-1of1 {
    width: calc(100% / 1 * 1 - var(--gutter));
  }
  .l-Flex > .tp-1of2 {
    width: calc(100% / 2 * 1 - var(--gutter));
  }
  .l-Flex > .tp-1of3 {
    width: calc(100% / 3 * 1 - var(--gutter));
  }
  .l-Flex > .tp-2of3 {
    width: calc(100% / 3 * 2 - var(--gutter));
  }
  .l-Flex > .tp-1of4 {
    width: calc(100% / 4 * 1 - var(--gutter));
  }
  .l-Flex > .tp-3of4 {
    width: calc(100% / 4 * 3 - var(--gutter));
  }
  .l-Flex > .tp-1of5 {
    width: calc(100% / 5 * 1 - var(--gutter));
  }
  .l-Flex > .tp-2of5 {
    width: calc(100% / 5 * 2 - var(--gutter));
  }
  .l-Flex > .tp-3of5 {
    width: calc(100% / 5 * 3 - var(--gutter));
  }
  .l-Flex > .tp-4of5 {
    width: calc(100% / 5 * 4 - var(--gutter));
  }
  .l-Flex > .tp-flex {
    flex-grow: 1;
  }
}
@media (max-width: 740px) {
  .l-Flex > .ml-1of1 {
    width: calc(100% / 1 * 1 - var(--gutter));
  }
  .l-Flex > .ml-1of2 {
    width: calc(100% / 2 * 1 - var(--gutter));
  }
  .l-Flex > .ml-1of3 {
    width: calc(100% / 3 * 1 - var(--gutter));
  }
  .l-Flex > .ml-2of3 {
    width: calc(100% / 3 * 2 - var(--gutter));
  }
  .l-Flex > .ml-1of4 {
    width: calc(100% / 4 * 1 - var(--gutter));
  }
  .l-Flex > .ml-3of4 {
    width: calc(100% / 4 * 3 - var(--gutter));
  }
  .l-Flex > .ml-1of5 {
    width: calc(100% / 5 * 1 - var(--gutter));
  }
  .l-Flex > .ml-2of5 {
    width: calc(100% / 5 * 2 - var(--gutter));
  }
  .l-Flex > .ml-3of5 {
    width: calc(100% / 5 * 3 - var(--gutter));
  }
  .l-Flex > .ml-4of5 {
    width: calc(100% / 5 * 4 - var(--gutter));
  }
  .l-Flex > .ml-flex {
    flex-grow: 1;
  }
}
@media (max-width: 400px) {
  .l-Flex > .mp-1of1 {
    width: calc(100% / 1 * 1 - var(--gutter));
  }
  .l-Flex > .mp-1of2 {
    width: calc(100% / 2 * 1 - var(--gutter));
  }
  .l-Flex > .mp-1of3 {
    width: calc(100% / 3 * 1 - var(--gutter));
  }
  .l-Flex > .mp-2of3 {
    width: calc(100% / 3 * 2 - var(--gutter));
  }
  .l-Flex > .mp-1of4 {
    width: calc(100% / 4 * 1 - var(--gutter));
  }
  .l-Flex > .mp-3of4 {
    width: calc(100% / 4 * 3 - var(--gutter));
  }
  .l-Flex > .mp-1of5 {
    width: calc(100% / 5 * 1 - var(--gutter));
  }
  .l-Flex > .mp-2of5 {
    width: calc(100% / 5 * 2 - var(--gutter));
  }
  .l-Flex > .mp-3of5 {
    width: calc(100% / 5 * 3 - var(--gutter));
  }
  .l-Flex > .mp-4of5 {
    width: calc(100% / 5 * 4 - var(--gutter));
  }
  .l-Flex > .mp-flex {
    flex-grow: 1;
  }
}

.Loader {
  font-size: 40px;
  color: #808080;
  cursor: wait;
}
.Loader::after, .Loader::before {
  content: "";
  position: absolute;
  width: 0.65ex;
  height: 0.65ex;
  top: 50%;
  left: 50%;
  margin-left: -0.325ex;
  margin-top: -0.325ex;
  border-radius: 100px;
  border: 2px solid currentColor;
  border-right-color: transparent;
  border-bottom-color: transparent;
  animation: Loader 1s -0.2s infinite linear;
}
.Loader::before {
  animation: Loader 1s infinite ease-in-out;
}
.Loader.standalone {
  position: relative;
  display: block;
  height: 100px;
}
.Loader.overlay {
  background: rgba(255, 255, 255, 0.7);
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  z-index: 99;
  height: 100%;
}
.Loader.experience {
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  height: 100%;
  font-size: 148px;
  transition: opacity 0.2s;
}

@keyframes Loader {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}
.MediaSwiper.MediaSwiper {
  position: relative;
}
.MediaSwiper.MediaSwiper .MediaSwiper--inner {
  position: absolute;
  left: 80px;
  width: calc(66% - 80px);
  top: 80px;
  bottom: 80px;
  height: auto;
}
.MediaSwiper.MediaSwiper .MediaSwiper--ui {
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  height: auto;
  width: auto;
}
.MediaSwiper.MediaSwiper .MediaSwiper--aside {
  position: absolute;
  width: calc(34% - 80px);
  right: 80px;
  top: 80px;
  bottom: 80px;
  height: auto;
}
.MediaSwiper.MediaSwiper .MediaSwiper--content {
  opacity: 1;
}
.MediaSwiper.MediaSwiper:not(.hasContent) .MediaSwiper--inner {
  width: calc(100% - 160px);
}
.MediaSwiper.MediaSwiper:not(.hasContent) .MediaSwiper--aside {
  width: 0;
}
@media (max-width: 900px) {
  .MediaSwiper.MediaSwiper .MediaSwiper--inner {
    left: 0;
    top: 64px;
    width: 100%;
    height: 55%;
  }
  .MediaSwiper.MediaSwiper .MediaSwiper--aside {
    width: calc(100% - 40px);
    height: calc(
				45% - 84px
			);
    left: 20px;
    bottom: 20px;
    top: auto;
  }
  .MediaSwiper.MediaSwiper:not(.hasContent) .MediaSwiper--inner {
    left: 0;
    top: 64px;
    width: 100%;
    height: auto;
    bottom: 64px;
  }
  .MediaSwiper.MediaSwiper:not(.hasContent) .MediaSwiper--aside {
    display: none;
  }
}
.MediaSwiper.MediaSwiper .pswp__img {
  background: #e6e6e6;
}
.MediaSwiper.MediaSwiper .pswp__counter {
  font-size: 12px;
  line-height: 1.3;
  color: #808080;
  width: 100%;
  text-align: center;
  top: 0;
  bottom: 0;
}
@media (min-width: 740px) {
  .MediaSwiper.MediaSwiper .pswp__counter {
    font-size: calc(0.1428571429vw + 10.9428571429px);
  }
}
@media (min-width: 1440px) {
  .MediaSwiper.MediaSwiper .pswp__counter {
    font-size: 13px;
  }
}
@media mobile {
  .MediaSwiper.MediaSwiper .pswp__counter {
    line-height: 1.3;
  }
}
.MediaSwiper.MediaSwiper .pswp__button.pswp__button--arrow--left, .MediaSwiper.MediaSwiper .pswp__button.pswp__button--arrow--right {
  top: 50%;
  transform: translateY(15px);
  width: 48px;
  height: 48px;
}
@media (max-width: 900px) {
  .MediaSwiper.MediaSwiper .pswp__button.pswp__button--arrow--left, .MediaSwiper.MediaSwiper .pswp__button.pswp__button--arrow--right {
    top: calc(
					45% + 64px
				);
  }
}
@media (max-width: 740px) {
  .MediaSwiper.MediaSwiper .pswp__button.pswp__button--arrow--left, .MediaSwiper.MediaSwiper .pswp__button.pswp__button--arrow--right {
    display: none;
  }
}
.MediaSwiper.MediaSwiper .pswp__button.pswp__button--arrow--left::before, .MediaSwiper.MediaSwiper .pswp__button.pswp__button--arrow--right::before {
  display: none;
}
.MediaSwiper.MediaSwiper .pswp__button.pswp__button--arrow--left .Icon, .MediaSwiper.MediaSwiper .pswp__button.pswp__button--arrow--right .Icon {
  pointer-events: none;
}
.MediaSwiper.MediaSwiper .pswp__button.pswp__button--arrow--left {
  left: 10px;
}
.MediaSwiper.MediaSwiper .pswp__button.pswp__button--arrow--right {
  right: 10px;
}
.MediaSwiper.MediaSwiper .pswp__button.pswp__button--close {
  width: 48px;
  height: 48px;
  background-color: #000000;
  border-radius: 100%;
  color: #ffffff;
  opacity: 1;
}
.MediaSwiper.MediaSwiper .pswp__button.pswp__button--close:after, .MediaSwiper.MediaSwiper .pswp__button.pswp__button--close:before {
  width: 14px;
  left: 50%;
  transform: translateX(-50%) rotate(45deg);
}
.MediaSwiper.MediaSwiper .pswp__button.pswp__button--close:after {
  transform: translateX(-50%) rotate(-45deg);
}

.MediaSwiper--slider.pswp__container {
  z-index: 10;
}

.MediaSwiper--copyright {
  font-size: 12px;
  line-height: 1.3;
  color: #808080;
  position: absolute;
  z-index: 20;
  width: 100%;
  text-align: center;
  top: calc(100vh - 40px);
  top: calc(var(--screenheight) - 40px);
  bottom: 0;
}
@media (min-width: 740px) {
  .MediaSwiper--copyright {
    font-size: calc(0.1428571429vw + 10.9428571429px);
  }
}
@media (min-width: 1440px) {
  .MediaSwiper--copyright {
    font-size: 13px;
  }
}
@media mobile {
  .MediaSwiper--copyright {
    line-height: 1.3;
  }
}

.MediaSwiper--ui.MediaSwiper--ui {
  position: relative;
  z-index: 20;
  pointer-events: none;
}
.MediaSwiper--ui.MediaSwiper--ui button {
  pointer-events: all;
}

.pswp .MediaSwiper--ui--top.pswp__top-bar {
  margin-top: 30px;
  margin-left: 30px;
  margin-right: 30px;
  width: auto;
  right: 0;
}
@media (max-width: 740px) {
  .pswp .MediaSwiper--ui--top.pswp__top-bar {
    margin-top: 15px;
    margin-left: 15px;
    margin-right: 15px;
  }
}

/* ASIDE  */
.MediaSwiper--aside {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: center;
  background: rgba(255, 255, 255, 0.8);
  z-index: 15;
}

.MediaSwiper--content {
  padding: 1em 0 0;
  max-height: 100%;
  overflow: auto;
}
@media (min-width: 901px) {
  .MediaSwiper--content {
    width: 300px;
    padding: 20px;
  }
}
.MediaSwiper--content::-webkit-scrollbar {
  -webkit-appearance: none;
  width: 7px;
}
.MediaSwiper--content::-webkit-scrollbar-thumb {
  border-radius: 4px;
  background-color: rgba(0, 0, 0, 0.5);
  -webkit-box-shadow: 0 0 1px rgba(255, 255, 255, 0.5);
}

/* SLIDE CONTENT */
.MediaSwiper--slide--title {
  font-weight: 500;
  font-size: 22px;
  line-height: 1.1;
}
@media (min-width: 740px) {
  .MediaSwiper--slide--title {
    font-size: calc(1.1428571429vw + 13.5428571429px);
  }
}
@media (min-width: 1440px) {
  .MediaSwiper--slide--title {
    font-size: 30px;
  }
}
@media mobile {
  .MediaSwiper--slide--title {
    line-height: 1.2;
  }
}

.MediaSwiper--slide--text {
  font-size: 14px;
  line-height: 1.4;
  color: #808080;
}
@media (min-width: 740px) {
  .MediaSwiper--slide--text {
    font-size: calc(0.2857142857vw + 11.8857142857px);
  }
}
@media (min-width: 1440px) {
  .MediaSwiper--slide--text {
    font-size: 16px;
  }
}
@media mobile {
  .MediaSwiper--slide--text {
    line-height: 1.5;
  }
}
.MediaSwiper--slide--title + .MediaSwiper--slide--text {
  margin-top: 20px;
}

/* OTHER */
.MediaSwiper--caption {
  display: none;
}

/*! PhotoSwipe main CSS by Dmitry Semenov | photoswipe.com | MIT license */
/*
	Styles for basic PhotoSwipe functionality (sliding area, open/close transitions)
*/
/* pswp = photoswipe */
.pswp {
  display: none;
  position: absolute;
  width: 100%;
  height: 100%;
  left: 0;
  top: 0;
  overflow: hidden;
  touch-action: none;
  z-index: 1500;
  -webkit-text-size-adjust: 100%;
  /* create separate layer, to avoid paint on window.onscroll in webkit/blink */
  -webkit-backface-visibility: hidden;
  outline: none;
}

.pswp * {
  box-sizing: border-box;
}

.pswp img {
  max-width: none;
}

/* style is added when JS option showHideOpacity is set to true */
.pswp--animate_opacity {
  /* 0.001, because opacity:0 doesn't trigger Paint action, which causes lag at start of transition */
  opacity: 0.001;
  will-change: opacity;
  /* for open/close transition */
  transition: opacity 333ms cubic-bezier(0.4, 0, 0.22, 1);
}

.pswp--open {
  display: block;
}

.pswp--zoom-allowed .pswp__img {
  /* autoprefixer: off */
  cursor: -webkit-zoom-in;
  cursor: -moz-zoom-in;
  cursor: zoom-in;
}

.pswp--zoomed-in .pswp__img {
  /* autoprefixer: off */
  cursor: -webkit-grab;
  cursor: -moz-grab;
  cursor: grab;
}

.pswp--dragging .pswp__img {
  /* autoprefixer: off */
  cursor: -webkit-grabbing;
  cursor: -moz-grabbing;
  cursor: grabbing;
}

/*
	Background is added as a separate element.
	As animating opacity is much faster than animating rgba() background-color.
*/
.pswp__bg {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background: #fff;
  opacity: 0;
  transform: translateZ(0);
  -webkit-backface-visibility: hidden;
  will-change: opacity;
}

.pswp__scroll-wrap {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  overflow: hidden;
}

.pswp__container,
.pswp__zoom-wrap {
  touch-action: none;
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
}

/* Prevent selection and tap highlights */
.pswp__container,
.pswp__img {
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none;
  -webkit-tap-highlight-color: transparent;
  -webkit-touch-callout: none;
}

.pswp__zoom-wrap {
  position: absolute;
  width: 100%;
  transform-origin: left top;
  /* for open/close transition */
  transition: transform 333ms cubic-bezier(0.4, 0, 0.22, 1);
}

.pswp__bg {
  will-change: opacity;
  /* for open/close transition */
  transition: opacity 333ms cubic-bezier(0.4, 0, 0.22, 1);
}

.pswp--animated-in .pswp__bg,
.pswp--animated-in .pswp__zoom-wrap {
  transition: none;
}

.pswp__container,
.pswp__zoom-wrap {
  -webkit-backface-visibility: hidden;
}

.pswp__item {
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  overflow: hidden;
}

.pswp__img {
  position: absolute;
  width: auto;
  height: auto;
  top: 0;
  left: 0;
}

/*
	stretched thumbnail or div placeholder element (see below)
	style is added to avoid flickering in webkit/blink when layers overlap
*/
.pswp__img--placeholder {
  -webkit-backface-visibility: hidden;
}

/*
	div element that matches size of large image
	large image loads on top of it
*/
.pswp__img--placeholder--blank {
  background: #222;
}

.pswp--ie .pswp__img {
  width: 100% !important;
  height: auto !important;
  left: 0;
  top: 0;
}

/*
	Error message appears when image is not loaded
	(JS option errorMsg controls markup)
*/
.pswp__error-msg {
  position: absolute;
  left: 0;
  top: 50%;
  width: 100%;
  text-align: center;
  font-size: 14px;
  line-height: 16px;
  margin-top: -8px;
  color: #000;
}

.pswp__error-msg a {
  color: #000;
  text-decoration: underline;
}

/*! PhotoSwipe Default UI CSS by Dmitry Semenov | photoswipe.com | MIT license */
/*

	Contents:

	1. Buttons
	2. Share modal and links
	3. Index indicator ("1 of X" counter)
	4. Caption
	5. Loading indicator
	6. Additional styles (root element, top bar, idle state, hidden state, etc.)

*/
/*

	1. Buttons

 */
/* <button> css reset */
.pswp__button {
  width: 44px;
  height: 44px;
  position: relative;
  background: none;
  cursor: pointer;
  overflow: visible;
  -webkit-appearance: none;
  display: block;
  border: 0;
  padding: 0;
  margin: 0;
  float: right;
  opacity: 0.75;
  transition: opacity 0.2s;
  box-shadow: none;
  color: #000;
}

.pswp__button:focus,
.pswp__button:hover {
  opacity: 1;
}

.pswp__button:active {
  outline: none;
  opacity: 0.9;
}

.pswp__button::-moz-focus-inner {
  padding: 0;
  border: 0;
}

/* pswp__ui--over-close class it added when mouse is over element that should close gallery */
.pswp__ui--over-close .pswp__button--close {
  opacity: 1;
}

.pswp__button,
.pswp__button--arrow--left:before,
.pswp__button--arrow--right:before {
  width: 44px;
  height: 44px;
}

.pswp__button--close {
  opacity: 1;
}
.pswp__button--close:after, .pswp__button--close:before {
  content: "";
  border-top: 1.5px solid currentColor;
  width: 36px;
  position: absolute;
  top: 50%;
  left: 6px;
  transform: rotate(45deg);
}
.pswp__button--close:after {
  transform: rotate(-45deg);
}

.pswp__button--fs {
  display: none;
}

.pswp--supports-fs .pswp__button--fs {
  display: block;
}

.pswp__button--zoom {
  display: none;
}

.pswp--zoom-allowed .pswp__button--zoom {
  display: block;
}

/* no arrows on touch screens */
.pswp--touch .pswp__button--arrow--left,
.pswp--touch .pswp__button--arrow--right {
  visibility: hidden;
}

/*
	Arrow buttons hit area
	(icon is added to :before pseudo-element)
*/
.pswp__button--arrow--left,
.pswp__button--arrow--right {
  background: none;
  top: 50%;
  margin-top: -50px;
  width: 70px;
  height: 100px;
  position: absolute;
}

.pswp__button--arrow--left {
  left: 0;
}

.pswp__button--arrow--right {
  right: 0;
}

.pswp__button--arrow--left:before,
.pswp__button--arrow--right:before {
  content: "";
  top: calc(50% - 15px);
  left: calc(50% - 15px);
  border: 1px none currentColor;
  border-style: none solid solid none;
  height: 30px;
  width: 30px;
  position: absolute;
}

.pswp__button--arrow--left:before {
  transform: rotate(135deg);
  left: 18px;
}

.pswp__button--arrow--right:before {
  transform: rotate(-45deg);
  left: auto;
  right: 18px;
}

/*

	2. Share modal/popup and links

 */
.pswp__counter {
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none;
}

/*

	3. Index indicator ("1 of X" counter)

 */
.pswp__counter {
  position: absolute;
  left: 0;
  top: 0;
  height: 44px;
  font-size: 13px;
  line-height: 44px;
  color: #000;
  opacity: 0.75;
  padding: 0 10px;
}

/*

	4. Caption

 */
.pswp__caption {
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  min-height: 44px;
}

.pswp__caption small {
  font-size: 11px;
  color: #bbb;
}

.pswp__caption__center {
  text-align: left;
  max-width: 420px;
  margin: 0 auto;
  font-size: 13px;
  padding: 10px;
  line-height: 20px;
  color: #ccc;
}

.pswp__caption--empty {
  display: none;
}

/* Fake caption element, used to calculate height of next/prev image */
.pswp__caption--fake {
  visibility: hidden;
}

/*

	5. Loading indicator (preloader)

	You can play with it here - http://codepen.io/dimsemenov/pen/yyBWoR

 */
.pswp__preloader {
  width: 44px;
  height: 44px;
  position: absolute;
  top: 0;
  left: 50%;
  margin-left: -22px;
  opacity: 0;
  transition: opacity 0.25s ease-out;
  will-change: opacity;
  direction: ltr;
}

.pswp__preloader__icn {
  width: 20px;
  height: 20px;
  margin: 12px;
}

.pswp__preloader--active {
  opacity: 1;
}

.pswp__preloader--active .pswp__preloader__icn {
  /* We use .gif in browsers that don't support CSS animation */
  background: url(preloader.gif) 0 0 no-repeat;
}

.pswp--css_animation .pswp__preloader--active {
  opacity: 1;
}

.pswp--css_animation .pswp__preloader--active .pswp__preloader__icn {
  animation: clockwise 500ms linear infinite;
}

.pswp--css_animation .pswp__preloader--active .pswp__preloader__donut {
  animation: donut-rotate 1000ms cubic-bezier(0.4, 0, 0.22, 1) infinite;
}

.pswp--css_animation .pswp__preloader__icn {
  background: none;
  opacity: 0.75;
  width: 14px;
  height: 14px;
  position: absolute;
  left: 15px;
  top: 15px;
  margin: 0;
}

.pswp--css_animation .pswp__preloader__cut {
  /*
  		The idea of animating inner circle is based on Polymer ("material") loading indicator
  		 by Keanu Lee https://blog.keanulee.com/2014/10/20/the-tale-of-three-spinners.html
  	*/
  position: relative;
  width: 7px;
  height: 14px;
  overflow: hidden;
}

.pswp--css_animation .pswp__preloader__donut {
  box-sizing: border-box;
  width: 14px;
  height: 14px;
  border: 2px solid #000;
  border-radius: 50%;
  border-left-color: transparent;
  border-bottom-color: transparent;
  position: absolute;
  top: 0;
  left: 0;
  background: none;
  margin: 0;
}
@keyframes clockwise {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}
@keyframes donut-rotate {
  0% {
    transform: rotate(0);
  }
  50% {
    transform: rotate(-140deg);
  }
  100% {
    transform: rotate(0);
  }
}
/*

	6. Additional styles

 */
/* root element of UI */
.pswp__ui {
  -webkit-font-smoothing: auto;
  visibility: visible;
  opacity: 1;
  z-index: 1550;
}

/* top black bar with buttons and "1 of X" indicator */
.pswp__top-bar {
  position: absolute;
  left: 0;
  top: 0;
  height: 44px;
  width: 100%;
}

.pswp__caption,
.pswp__top-bar,
.pswp--has_mouse .pswp__button--arrow--left,
.pswp--has_mouse .pswp__button--arrow--right {
  -webkit-backface-visibility: hidden;
  will-change: opacity;
  transition: opacity 333ms cubic-bezier(0.4, 0, 0.22, 1);
}

/* pswp--has_mouse class is added only when two subsequent mousemove events occur */
.pswp--has_mouse .pswp__button--arrow--left,
.pswp--has_mouse .pswp__button--arrow--right {
  visibility: visible;
}

.pswp__top-bar,
.pswp__caption {
  background-color: rgba(0, 0, 0, 0.5);
}

/* pswp__ui--fit class is added when main image "fits" between top bar and bottom bar (caption) */
.pswp__ui--fit .pswp__top-bar,
.pswp__ui--fit .pswp__caption {
  background-color: rgba(0, 0, 0, 0.3);
}

/* pswp__ui--idle class is added when mouse isn't moving for several seconds (JS option timeToIdle) */
.pswp__ui--idle .pswp__top-bar {
  opacity: 0;
}

.pswp__ui--idle .pswp__button--arrow--left,
.pswp__ui--idle .pswp__button--arrow--right {
  opacity: 0;
}

/*
	pswp__ui--hidden class is added when controls are hidden
	e.g. when user taps to toggle visibility of controls
*/
.pswp__ui--hidden .pswp__top-bar,
.pswp__ui--hidden .pswp__caption,
.pswp__ui--hidden .pswp__button--arrow--left,
.pswp__ui--hidden .pswp__button--arrow--right {
  /* Force paint & create composition layer for controls. */
  opacity: 0.001;
}

/* pswp__ui--one-slide class is added when there is just one item in gallery */
.pswp__ui--one-slide .pswp__button--arrow--left,
.pswp__ui--one-slide .pswp__button--arrow--right,
.pswp__ui--one-slide .pswp__counter {
  display: none;
}

.pswp__element--disabled {
  display: none !important;
}

.pswp--minimal--dark .pswp__top-bar {
  background: none;
}

[data-js-hyphen=optional] {
  -webkit-hyphens: none;
  hyphens: none;
  word-break: break-word;
  hyphens: none;
  max-width: 100%;
}

.no-hyphen {
  -webkit-hyphens: none;
  hyphens: none;
}

.auto-hyphen {
  -webkit-hyphens: auto;
  hyphens: auto;
}

body.is-overlaid {
  overflow: hidden;
  position: fixed;
  top: 0;
  left: 0;
  height: 100vh;
  width: 100vw;
}

.Overlay {
  z-index: 10000;
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  height: 100%;
  width: 100%;
  max-width: 100vw;
  max-height: 100vh;
  max-height: var(--screenheight);
  overflow: auto;
  background: #ffffff;
}
.Overlay.is-collapsed {
  display: none;
}
.Overlay.is-expanded {
  display: block;
}

.Overlay--close {
  position: absolute;
  top: 0.75rem;
  right: 0.75rem;
  z-index: 2;
}
@media (min-width: 741px) {
  .Overlay--close {
    top: 2rem;
    right: 3rem;
  }
}

.hidden[data-js-pagination-trigger] {
  display: none;
}

.Accordion {
  margin-top: 60px;
  margin-bottom: 60px;
}
@media (max-width: 1150px) {
  .Accordion {
    margin-top: 50px;
  }
}
@media (max-width: 1150px) {
  .Accordion {
    margin-bottom: 50px;
  }
}

.Accordion--item {
  position: relative;
  z-index: 0;
}
.Accordion--item:nth-child(1) {
  z-index: calc(20 - 1);
}
.Accordion--item:nth-child(2) {
  z-index: calc(20 - 2);
}
.Accordion--item:nth-child(3) {
  z-index: calc(20 - 3);
}
.Accordion--item:nth-child(4) {
  z-index: calc(20 - 4);
}
.Accordion--item:nth-child(5) {
  z-index: calc(20 - 5);
}
.Accordion--item:nth-child(6) {
  z-index: calc(20 - 6);
}
.Accordion--item:nth-child(7) {
  z-index: calc(20 - 7);
}
.Accordion--item:nth-child(8) {
  z-index: calc(20 - 8);
}
.Accordion--item:nth-child(9) {
  z-index: calc(20 - 9);
}
.Accordion--item:nth-child(10) {
  z-index: calc(20 - 10);
}
.Accordion--item:nth-child(11) {
  z-index: calc(20 - 11);
}
.Accordion--item:nth-child(12) {
  z-index: calc(20 - 12);
}
.Accordion--item:nth-child(13) {
  z-index: calc(20 - 13);
}
.Accordion--item:nth-child(14) {
  z-index: calc(20 - 14);
}
.Accordion--item:nth-child(15) {
  z-index: calc(20 - 15);
}
.Accordion--item:nth-child(16) {
  z-index: calc(20 - 16);
}
.Accordion--item:nth-child(17) {
  z-index: calc(20 - 17);
}
.Accordion--item:nth-child(18) {
  z-index: calc(20 - 18);
}
.Accordion--item:nth-child(19) {
  z-index: calc(20 - 19);
}
.Accordion--item:nth-child(20) {
  z-index: calc(20 - 20);
}

.Accordion--trigger,
.Accordion--content {
  padding-left: 100px;
  padding-left: var(--page-margin);
  padding-right: 100px;
  padding-right: var(--page-margin);
}

.Accordion--trigger {
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  width: 100%;
  padding-top: 30px;
  padding-bottom: 30px;
}
@media (max-width: 1150px) {
  .Accordion--trigger {
    padding-top: 20px;
    padding-bottom: 20px;
  }
}
@media (max-width: 740px) {
  .Accordion--trigger {
    padding-top: 15px;
    padding-bottom: 15px;
  }
}
.Accordion--trigger:hover {
  background-color: #f2f2f2;
}
.Accordion--trigger:hover .Accordion--indicator {
  background-color: #222222;
}
.Accordion--trigger:hover .Accordion--icon {
  color: #ffffff;
}
.Accordion--trigger[aria-expanded=true] {
  background-color: #f2f2f2;
}
.Accordion--trigger[aria-expanded=true] .Accordion--indicator {
  background-color: #ffffff;
}
.Accordion--trigger[aria-expanded=true] .Accordion--icon {
  color: #222222;
}
.Accordion--trigger[aria-expanded=true] .Accordion--icon::after {
  transform: scaleY(0);
}
.Accordion--trigger .Accordion--arrow {
  margin-left: auto;
}
.Accordion--trigger[aria-expanded=true] .Accordion--arrow {
  transform: rotate(180deg);
}

.Accordion--indicator {
  width: 60px;
  height: 60px;
  background-color: #f2f2f2;
  border-radius: 100%;
  margin-left: auto;
  margin-right: 0;
  text-align: center;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
@media (max-width: 740px) {
  .Accordion--indicator {
    width: 48px;
    height: 48px;
  }
}

.Accordion--icon {
  display: inline-block;
  width: 13px;
  height: 13px;
  position: relative;
  color: #222222;
}
.Accordion--icon::before, .Accordion--icon::after {
  content: "";
  display: block;
  height: 1.5px;
  width: 100%;
  margin-top: -0.75px;
  background-color: currentColor;
  position: absolute;
  top: 50%;
}
.Accordion--icon::after {
  transform: rotate(90deg);
}

.Accordion--body {
  display: flow-root;
}

.Accordion--content {
  background-color: #f2f2f2;
  padding-top: 2em;
  padding-bottom: 4em;
}
.Accordion--content:after {
  content: "";
  display: block;
  margin-top: 1em;
}
.Accordion--content::before {
  content: "";
  display: block;
}
.Accordion--body[data-hidden=true] > .Accordion--content {
  display: none;
}

.Accordion--title {
  font-weight: 500;
  font-size: 22px;
  line-height: 1.1;
  text-align: left;
}
@media (min-width: 740px) {
  .Accordion--title {
    font-size: calc(1.1428571429vw + 13.5428571429px);
  }
}
@media (min-width: 1440px) {
  .Accordion--title {
    font-size: 30px;
  }
}
@media mobile {
  .Accordion--title {
    line-height: 1.2;
  }
}

.AssetTeaser.right .AssetTeaser--inner {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  align-items: center;
  margin: -50px;
}
@media (max-width: 1150px) {
  .AssetTeaser.right .AssetTeaser--inner {
    margin: -30px;
  }
}
@media (max-width: 740px) {
  .AssetTeaser.right .AssetTeaser--inner {
    flex-direction: column;
    margin: -15px -30px;
  }
}
.AssetTeaser.right .AssetTeaser--media,
.AssetTeaser.right .AssetTeaser--content {
  flex: 0 1 auto;
  width: 50%;
  margin: 50px;
}
@media (max-width: 1150px) {
  .AssetTeaser.right .AssetTeaser--media,
  .AssetTeaser.right .AssetTeaser--content {
    margin: 30px;
  }
}
@media (max-width: 740px) {
  .AssetTeaser.right .AssetTeaser--media,
  .AssetTeaser.right .AssetTeaser--content {
    width: 100%;
    margin: 15px 30px;
  }
}

.AssetTeaser--media {
  position: relative;
  margin-bottom: 1rem;
}
.AssetTeaser--media .Picture.Picture {
  display: block;
}
.AssetTeaser--media .VideoPlayer {
  margin: 0;
}
.AssetTeaser--media > .Icon {
  position: absolute;
  right: calc(30px + 1rem);
  bottom: calc(30px + 1rem);
}
.AssetTeaser--media > .Icon::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  margin: -30px;
  display: inline-block;
  width: 60px;
  height: 60px;
  background: #f8f8f8;
  border-radius: 100%;
}

.AssetTeaser--title {
  font-weight: 500;
  font-size: 16px;
  line-height: 1.4;
  font-weight: 500;
}
@media (min-width: 740px) {
  .AssetTeaser--title {
    font-size: calc(0.5714285714vw + 11.7714285714px);
  }
}
@media (min-width: 1440px) {
  .AssetTeaser--title {
    font-size: 20px;
  }
}
@media mobile {
  .AssetTeaser--title {
    line-height: 1.4;
  }
}
@media print {
  .AssetTeaser--title {
    font-size: 14px;
  }
}

.AssetTeaser--text {
  font-weight: 500;
  font-size: 16px;
  line-height: 1.4;
}
@media (min-width: 740px) {
  .AssetTeaser--text {
    font-size: calc(0.5714285714vw + 11.7714285714px);
  }
}
@media (min-width: 1440px) {
  .AssetTeaser--text {
    font-size: 20px;
  }
}
@media mobile {
  .AssetTeaser--text {
    line-height: 1.4;
  }
}
@media print {
  .AssetTeaser--text {
    font-size: 14px;
  }
}

.AssetTeaser--copyright {
  font-size: 12px;
  line-height: 19px;
  color: #808080;
}

.Facts--wrapper {
  width: calc(12 / var(--gridSize) * calc(100% - 2 * var(--page-margin)) - calc(var(--gridSize) - 12) / var(--gridSize) * 50px);
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 120px;
  margin-top: 60px;
}
@media (max-width: 740px) {
  .Facts--wrapper {
    margin-left: var(--page-margin);
    margin-right: var(--page-margin);
    width: auto;
  }
}
@media print {
  .Facts--wrapper {
    width: 100%;
    margin-left: auto;
    margin-right: auto;
  }
  .Facts--wrapper > * {
    --gridSize: inherit;
    --page-margin: inherit;
  }
}
.Facts--wrapper > * {
  --gridSize: 12;
  --page-margin: 0px;
}
@media (max-width: 1150px) {
  .Facts--wrapper {
    margin-bottom: 100px;
  }
}
@media (max-width: 900px) {
  .Facts--wrapper {
    margin-bottom: 70px;
  }
}
@media (max-width: 1150px) {
  .Facts--wrapper {
    margin-top: 50px;
  }
}

.Facts--list {
  display: flex;
  flex-wrap: wrap;
  gap: 30px;
}
@media (max-width: 740px) {
  .Facts--list {
    display: block;
  }
}

.Facts--fact {
  margin-bottom: 60px;
  width: calc(33.33% - 20px);
}
@media (max-width: 1150px) {
  .Facts--fact {
    margin-bottom: 50px;
  }
}
[data-size=large] .Facts--fact {
  width: calc(50% - 15px);
}
.Facts--fact:first-child {
  border-left: 0;
}
@media (max-width: 740px) {
  .Facts--fact {
    width: 100%;
  }
}

.Facts--value {
  font-weight: 500;
  font-size: 32px;
  line-height: 1;
  display: block;
}
@media (min-width: 740px) {
  .Facts--value {
    font-size: calc(4vw + 2.4px);
  }
}
@media (min-width: 1440px) {
  .Facts--value {
    font-size: 60px;
  }
}
@media mobile {
  .Facts--value {
    line-height: 1;
  }
}
[data-size=large] .Facts--value {
  font-weight: 500;
  font-size: 40px;
  line-height: 1;
}
@media (min-width: 740px) {
  [data-size=large] .Facts--value {
    font-size: calc(5.7142857143vw - 2.2857142857px);
  }
}
@media (min-width: 1440px) {
  [data-size=large] .Facts--value {
    font-size: 80px;
  }
}
@media mobile {
  [data-size=large] .Facts--value {
    line-height: 1;
  }
}
@media (max-width: 580px) {
  [data-size=large] .Facts--value {
    -webkit-hyphens: auto;
    hyphens: auto;
  }
}

.Facts--unit {
  font-size: 70%;
}

.Facts--title,
.Facts--description {
  font-size: 16px;
  line-height: 1.4;
  display: block;
  opacity: 0.6;
  margin-top: 0.5em;
}
@media (min-width: 740px) {
  .Facts--title,
  .Facts--description {
    font-size: calc(0.5714285714vw + 11.7714285714px);
  }
}
@media (min-width: 1440px) {
  .Facts--title,
  .Facts--description {
    font-size: 20px;
  }
}
@media mobile {
  .Facts--title,
  .Facts--description {
    line-height: 1.4;
  }
}

.Facts--description {
  max-width: 360px;
}

.FilterItem--grid {
  margin-left: 100px;
  margin-left: var(--page-margin);
  margin-right: 100px;
  margin-right: var(--page-margin);
  position: relative;
}
.FilterItem--grid.image {
  -moz-column-gap: 100px;
  column-gap: 100px;
  -moz-column-fill: initial;
  column-fill: initial;
  -moz-column-count: 2;
  column-count: 2;
}
@media (max-width: 1150px) {
  .FilterItem--grid.image {
    -moz-column-gap: 50px;
    column-gap: 50px;
  }
}
@media (max-width: 900px) {
  .FilterItem--grid.image {
    -moz-column-gap: 30px;
    column-gap: 30px;
  }
}
@media (max-width: 740px) {
  .FilterItem--grid.image {
    -moz-column-count: 1;
    column-count: 1;
  }
}
.FilterItem--grid.image .FilterItem {
  display: block;
  -moz-column-break-inside: avoid;
  break-inside: avoid;
  vertical-align: top; /* Keep the item on the very top */
}
.FilterItem--grid.image .FilterItem.hidden, .FilterItem--grid.image .FilterItem.hide {
  display: none;
}
.FilterItem--grid.pdf {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: space-between;
}
.FilterItem--grid.pdf:after {
  content: "";
}
.FilterItem--grid.pdf:after,
.FilterItem--grid.pdf .FilterItem {
  flex: 0 0 auto;
  width: calc(33% - 25px);
}
@media (max-width: 1150px) {
  .FilterItem--grid.pdf:after,
  .FilterItem--grid.pdf .FilterItem {
    width: calc(50% - 20px);
  }
}
@media (max-width: 580px) {
  .FilterItem--grid.pdf:after,
  .FilterItem--grid.pdf .FilterItem {
    width: 100%;
  }
}
.FilterItem--grid .FilterItem {
  margin-bottom: 50px;
}
.FilterItem--grid .Picture {
  width: 100%;
  display: inline-block; /* Fix the misalignment of items */
}

.FilterItem.hidden, .FilterItem.hide {
  display: none;
}

.Filter {
  max-width: 1680px;
  margin: 0 auto;
  margin-bottom: 120px;
  background: #f8f8f8;
}
@media (max-width: 1150px) {
  .Filter {
    margin-bottom: 100px;
  }
}
@media (max-width: 900px) {
  .Filter {
    margin-bottom: 70px;
  }
}
.Filter .FilterItem--grid {
  transition: opacity 0.25s ease-out;
}
.Filter.filterchange .FilterItem--grid {
  transition: opacity 0.5s ease-out, transform 0.5s ease-in;
  opacity: 0.8;
}

.Filter--inner {
  margin-left: 100px;
  margin-left: var(--page-margin);
  margin-right: 100px;
  margin-right: var(--page-margin);
  position: relative;
  padding-top: 60px;
  padding-bottom: 60px;
}
@media (max-width: 1150px) {
  .Filter--inner {
    padding-top: 50px;
  }
}
@media (max-width: 1150px) {
  .Filter--inner {
    padding-bottom: 50px;
  }
}

.Filter--footer {
  padding-top: 30px;
  padding-bottom: 30px;
  display: flex;
  flex-direction: column;
}
.Filter--footer .Button {
  align-self: center;
  background: #ffffff;
}

.FilterItem--result--count {
  margin-left: 100px;
  margin-left: var(--page-margin);
  margin-right: 100px;
  margin-right: var(--page-margin);
  position: relative;
}
.Filter[data-results=true] .FilterItem--result--count {
  display: none;
}

[data-js-filter][data-filters=""] .Button[data-js-filter-reset] {
  display: none;
}

.FilterBar {
  position: relative;
  margin-bottom: 60px;
  margin-left: 100px;
  margin-left: var(--page-margin);
  margin-right: 100px;
  margin-right: var(--page-margin);
  position: relative;
}
@media (max-width: 1150px) {
  .FilterBar {
    margin-bottom: 50px;
  }
}
@media print {
  .FilterBar {
    display: none !important;
  }
}

.FilterBar--inner {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  align-items: center;
  justify-content: space-between;
}

.FilterBar--content,
.FilterBar--flyout {
  flex: 0 1 auto;
}

.FilterBar--flyout {
  margin-left: 1rem;
  z-index: 10;
}
[data-js-filter][data-filters]:not([data-filters=""]) .FilterBar--flyout .Flyout--button {
  background: #222222;
  color: #ffffff;
}
.FilterBar--flyout .Flyout--body {
  padding-top: 30px;
  padding-bottom: 30px;
  padding-left: 30px;
  padding-right: 30px;
  left: auto;
  right: 0;
}
.FilterBar--flyout .Flyout--body .Form {
  margin: 0;
}
.FilterBar--flyout .Flyout--body .OptionInput label {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  justify-content: space-between;
  align-items: flex-start;
}
.FilterBar--flyout .Flyout--body .OptionInput label span {
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
  padding-right: 25px;
  max-width: 200px;
}
.FilterBar--flyout .Flyout--body .OptionInput label small {
  color: #808080;
}

.FilterBar--resultcount {
  font-weight: 500;
  font-size: 14px;
  line-height: 1.6;
  margin-left: auto;
  padding-left: 18px;
  white-space: nowrap;
}
@media (max-width: 580px) {
  .FilterBar--resultcount {
    font-size: 13px;
  }
}
@media print {
  .FilterBar--resultcount {
    font-size: 12px;
  }
}
[data-js-filter]:not([data-results]) .FilterBar--resultcount, [data-js-filter][data-filters=""] .FilterBar--resultcount, [data-js-filter][data-results=false] .FilterBar--resultcount {
  position: absolute !important;
  clip: rect(0 0 0 0) !important;
  -webkit-clip-path: polygon(0 0) !important;
  clip-path: polygon(0 0) !important;
}

.FilterBar--search {
  position: relative;
}
.FilterBar--search .Input {
  background: #f2f2f2;
  padding-top: 14px;
  padding-bottom: 14px;
  padding-left: calc(16px + 2rem);
  border-radius: 100px;
}
.FilterBar--search .FormLabel {
  margin: 0;
}
.FilterBar--search .FilterBar--search--icon {
  position: absolute;
  top: 50%;
  left: 1rem;
  width: 20px;
  height: 20px;
  transform: translateY(-50%);
}

.FilterSections {
  display: flex;
  flex-direction: row;
  max-width: 80%;
  margin: -25px;
}
.FilterSections legend.FormLabel {
  margin-bottom: 1.5em;
}
@media (max-width: 900px) {
  .FilterSections {
    flex-wrap: wrap;
    margin: 0;
  }
}
.FilterSections .FormLabel:empty {
  display: none;
}

.FilterSections--options[data-count=">=10"] {
  -moz-column-count: 3;
  column-count: 3;
  -moz-column-gap: 20px;
  column-gap: 20px;
}
@media (max-width: 1150px) {
  .FilterSections--options[data-count=">=10"] {
    -moz-column-count: 2;
    column-count: 2;
  }
}

.FilterSections--section {
  margin: 25px;
}
.FilterSections--section + .FilterSections--section {
  border-left: 1px solid #e6e6e6;
  padding-left: 20px;
}
@media (max-width: 900px) {
  .FilterSections--section + .FilterSections--section {
    border-left: 0;
    padding-left: 0;
    margin-top: 20px;
  }
}
@media (max-width: 900px) {
  .FilterSections--section {
    margin: 0 0 12px 0;
  }
}

.FilterBar--flyout--reset {
  display: flex;
  flex-direction: row;
  margin-bottom: 0;
}
.FilterBar--flyout--reset .Button {
  margin-top: 30px;
}

.FullwidthImage {
  position: relative;
  margin: 100px 0;
}
@media (max-width: 740px) {
  .FullwidthImage {
    overflow: hidden;
  }
}
@media (min-width: 1600px) {
  .FullwidthImage {
    margin-left: calc(-100vw / 2 + 1600px / 2);
    margin-right: calc(-100vw / 2 + 1600px / 2);
    padding-left: 100px;
    padding-left: var(--page-margin);
    padding-right: 100px;
    padding-right: var(--page-margin);
  }
}

.HeroArticle--title {
  font-weight: 500;
  font-size: 32px;
  line-height: 1;
  margin-bottom: 0.5em;
}
@media (min-width: 740px) {
  .HeroArticle--title {
    font-size: calc(4vw + 2.4px);
  }
}
@media (min-width: 1440px) {
  .HeroArticle--title {
    font-size: 60px;
  }
}
@media mobile {
  .HeroArticle--title {
    line-height: 1;
  }
}

.HeroArticle--inner {
  padding-top: 180px;
  margin-bottom: 30px;
  margin-left: 100px;
  margin-left: var(--page-margin);
  margin-right: 100px;
  margin-right: var(--page-margin);
}
@media (max-width: 1150px) {
  .HeroArticle--inner {
    padding-top: 140px;
  }
}
@media (max-width: 900px) {
  .HeroArticle--inner {
    padding-top: 100px;
  }
}
@media (max-width: 740px) {
  .HeroArticle--inner {
    padding-top: 60px;
  }
}
@media (max-width: 740px) and (max-width: 1150px) {
  .HeroArticle--inner {
    padding-top: 50px;
  }
}

.HeroArticle--meta {
  display: inline-flex;
  color: #808080;
}
.HeroArticle--meta > * + *::before {
  content: "•";
  margin-left: 0.5em;
  margin-right: 0.5em;
}

.HeroCarousel--SliderItem {
  position: absolute;
  left: 0;
  opacity: 0;
  visibility: hidden;
}
.HeroCarousel--SliderItem.active {
  opacity: 1;
  visibility: visible;
}
.HeroCarousel--SliderItem.anim-in {
  opacity: 1;
  visibility: visible;
}
.HeroCarousel--SliderItem:first-child .HeroCarousel--Links li {
  opacity: 0;
}

@media (min-width: 901px) {
  .HeroCarousel--inner {
    display: flex;
    flex-wrap: wrap;
    position: relative;
    padding-left: 0%;
    padding-right: 0%;
    margin-left: 0;
    margin-right: 0;
    flex-wrap: nowrap;
    align-items: center;
  }
}
.HeroCarousel--inner .HeroCarousel--ImageLeft {
  display: none !important;
}
@media (min-width: 1441px) {
  .HeroCarousel--inner .HeroCarousel--ImageLeft {
    border-left: 1px solid green;
    order: 0;
    display: flex !important;
    display: block;
    padding-left: 0;
    padding-right: 0;
    flex: 1 0 25%;
    max-width: 25%;
    margin-left: -12.5%;
  }
}
@media (max-width: 900px) {
  .HeroCarousel--inner .HeroCarousel--Box {
    max-height: 196.8px !important;
    min-height: 100px;
    height: auto !important;
    transform: translateY(-100%);
    border-top: 28px solid #ffffff;
    background: #ffffff;
  }
}
@media (min-width: 901px) {
  .HeroCarousel--inner .HeroCarousel--Box {
    position: relative;
    z-index: 1;
    order: 1;
    display: block;
    padding-left: 0;
    padding-right: 0;
    flex: 1 0 50%;
    max-width: 50%;
  }
}
@media (min-width: 1151px) {
  .HeroCarousel--inner .HeroCarousel--Box {
    display: block;
    padding-left: 0;
    padding-right: 0;
    flex: 1 0 41.6666666667%;
    max-width: 41.6666666667%;
  }
}
@media (min-width: 1441px) {
  .HeroCarousel--inner .HeroCarousel--Box {
    display: block;
    padding-left: 0;
    padding-right: 0;
    flex: 1 0 33.3333333333%;
    max-width: 33.3333333333%;
  }
}
@media print {
  .HeroCarousel--inner .HeroCarousel--Box {
    display: none !important;
  }
}
.HeroCarousel--inner .HeroCarousel--ImageCenter {
  position: relative;
}
@media (min-width: 901px) {
  .HeroCarousel--inner .HeroCarousel--ImageCenter {
    order: 2;
    display: block;
    padding-left: 0;
    padding-right: 0;
    flex: 1 0 66.6666666667%;
    max-width: 66.6666666667%;
    margin-left: -8.3333333333%;
  }
}
@media (min-width: 1151px) {
  .HeroCarousel--inner .HeroCarousel--ImageCenter {
    display: block;
    padding-left: 0;
    padding-right: 0;
    flex: 1 0 62.5%;
    max-width: 62.5%;
    margin-left: -4.1666666667%;
  }
}
@media (min-width: 1441px) {
  .HeroCarousel--inner .HeroCarousel--ImageCenter {
    display: block;
    padding-left: 0;
    padding-right: 0;
    flex: 1 0 58.3333333333%;
    max-width: 58.3333333333%;
    margin-left: -4.1666666667%;
  }
}
.HeroCarousel--inner .HeroCarousel--ImageCenter .HeroCarousel--ImageCenter--inner-content {
  overflow: hidden;
  height: 100%;
  width: 100%;
}
.HeroCarousel--inner .HeroCarousel--ImageCenter .Picture {
  overflow: hidden;
  height: 100%;
  width: 100%;
}
.HeroCarousel--inner .HeroCarousel--ImageCenter .Picture > img,
.HeroCarousel--inner .HeroCarousel--ImageCenter .Picture > video {
  -o-object-position: center;
  object-position: center;
  height: 100%;
  width: 100%;
  min-width: calc(100vw - var(--page-margin) * 2);
  transition: opacity 500ms !important;
}
@media (min-width: 1151px) {
  .HeroCarousel--inner .HeroCarousel--ImageCenter .Picture > img,
  .HeroCarousel--inner .HeroCarousel--ImageCenter .Picture > video {
    min-width: auto;
    height: calc(100vh - 100px);
  }
}
@media (min-width: 1441px) {
  .HeroCarousel--inner .HeroCarousel--ImageCenter .Picture > img,
  .HeroCarousel--inner .HeroCarousel--ImageCenter .Picture > video {
    height: calc(100vh - 130px);
  }
}

.HeroCarousel--textbox {
  text-align: center;
}
@media (min-width: 901px) {
  .HeroCarousel--textbox {
    background: #ffffff;
    margin-top: 0;
    position: relative;
  }
  .HeroCarousel--textbox:before {
    display: block;
    content: "";
    width: 100%;
    padding-bottom: 95%;
  }
  .HeroCarousel--textbox > :first-child {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    width: 100%;
    height: 100%;
  }
}
.HeroCarousel--textbox .HeroCarousel--textbox--inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}
@media (min-width: 901px) {
  .HeroCarousel--textbox .HeroCarousel--textbox--inner {
    padding: 0 2rem;
  }
}

.HeroCarousel--title {
  font-weight: 500;
  font-size: 32px;
  line-height: 1;
  position: absolute;
}
@media (min-width: 740px) {
  .HeroCarousel--title {
    font-size: calc(4vw + 2.4px);
  }
}
@media (min-width: 1440px) {
  .HeroCarousel--title {
    font-size: 60px;
  }
}
@media mobile {
  .HeroCarousel--title {
    line-height: 1;
  }
}
@media (min-width: 901px) {
  .HeroCarousel--title {
    font-weight: 500;
    font-size: 40px;
    line-height: 1;
    position: static;
    max-width: 400px;
  }
}
@media (min-width: 901px) and (min-width: 740px) {
  .HeroCarousel--title {
    font-size: calc(5.7142857143vw - 2.2857142857px);
  }
}
@media (min-width: 901px) and (min-width: 1440px) {
  .HeroCarousel--title {
    font-size: 80px;
  }
}
@media mobile and (min-width: 901px) {
  .HeroCarousel--title {
    line-height: 1;
  }
}
@media (min-width: 901px) and (max-width: 580px) {
  .HeroCarousel--title {
    -webkit-hyphens: auto;
    hyphens: auto;
  }
}

.HeroCarousel--LinksWrapper {
  width: 100%;
}
@media (min-width: 901px) {
  .HeroCarousel--LinksWrapper {
    min-height: auto;
    position: absolute;
    top: 50%;
    bottom: auto;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 100%;
    max-width: 260px;
  }
}
@media print {
  .HeroCarousel--LinksWrapper {
    display: none !important;
  }
}

@media (max-width: 900px) {
  .HeroCarousel--Links li {
    background: #ffffff;
  }
}
.HeroCarousel--Links a {
  font-weight: 500;
  font-size: 16px;
  line-height: 1.4;
  font-weight: 500;
  color: #222222;
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 1em 0;
}
@media (min-width: 740px) {
  .HeroCarousel--Links a {
    font-size: calc(0.5714285714vw + 11.7714285714px);
  }
}
@media (min-width: 1440px) {
  .HeroCarousel--Links a {
    font-size: 20px;
  }
}
@media mobile {
  .HeroCarousel--Links a {
    line-height: 1.4;
  }
}
@media print {
  .HeroCarousel--Links a {
    font-size: 14px;
  }
}
@media (max-width: 900px) {
  .HeroCarousel--Links a {
    padding: 17px 20px;
  }
}
.HeroCarousel--Links .Icon {
  transform: translateX(0);
  will-change: transform;
  transition: transform 0.15s cubic-bezier(0.645, 0.045, 0.355, 1);
}
.HeroCarousel--Links a:hover {
  color: #333333;
}
.HeroCarousel--Links a:hover .Icon {
  transform: translateX(3px);
}

.HeroCarousel--Container {
  position: relative;
  padding-right: 100px;
  padding-right: var(--page-margin);
  padding-left: 100px;
  padding-left: var(--page-margin);
  height: calc(var(--screenheight) - 70px);
  padding-bottom: calc(60px + 10px);
  max-height: 100vh;
  min-height: 500px;
  overflow: hidden;
}
@media (min-width: 1151px) {
  .HeroCarousel--Container {
    min-height: auto;
    height: calc(100vh - 100px);
  }
}
@media (min-width: 1441px) {
  .HeroCarousel--Container {
    padding-left: 0;
    height: calc(100vh - 130px);
  }
}
@media (min-width: 1600px) {
  .HeroCarousel--Container {
    margin-left: calc(-100vw / 2 + 1600px / 2);
    margin-right: calc(-100vw / 2 + 1600px / 2);
  }
}
@media print {
  .HeroCarousel--Container {
    height: 500px;
  }
}

.HeroCarousel--Slider {
  display: flex;
  position: relative;
  width: 100%;
  height: 100%;
}

.HeroCarousel--SliderItem {
  display: block;
  vertical-align: top;
  flex: 0 0 auto;
  width: 100%;
  width: calc((100% + 0px) / 1 - 0px);
  margin-right: 0px;
}
.HeroCarousel--SliderItem.is-slider-ready {
  visibility: hidden;
}
.HeroCarousel--SliderItem.was-visible, .HeroCarousel--SliderItem.is-visible {
  visibility: visible;
}

.HeroCarousel--Slider .HeroCarousel--SliderItem {
  height: 100%;
}
.HeroCarousel--Slider .HeroCarousel {
  height: 100%;
}
.HeroCarousel--Slider .HeroCarousel--inner {
  height: 100%;
}
.HeroCarousel--Slider .HeroCarousel--inner > div {
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.HeroCarousel--Tabs {
  position: absolute;
  bottom: 7px;
  left: 0;
  right: 0;
  margin: auto;
  z-index: 10;
  height: 60px;
  width: 60%;
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: center;
}
@media (min-width: 1151px) {
  .HeroCarousel--Tabs {
    bottom: 0px;
    background: #ffffff;
    height: 80px;
  }
}
@media (min-width: 901px) {
  .HeroCarousel--Tabs {
    width: 100%;
  }
}
.HeroCarousel--Tabs li {
  position: relative;
}
@media (max-width: 900px) {
  .HeroCarousel--Tabs li {
    flex: 1;
    text-align: center;
  }
}
.HeroCarousel--Tabs button {
  color: #808080;
  background: rgb(255, 255, 255);
  position: relative;
  z-index: 3;
  display: block;
  white-space: nowrap;
  transition: color 0.15s cubic-bezier(0.645, 0.045, 0.355, 1);
  will-change: color;
}
@media (max-width: 900px) {
  .HeroCarousel--Tabs button {
    letter-spacing: -1ex;
    text-indent: -9999px;
    color: transparent;
    text-decoration: none;
    line-height: 1;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: none;
  }
}
.HeroCarousel--Tabs button:hover {
  color: #222222;
}
.HeroCarousel--Tabs .Progress {
  width: 80%;
}
@media (min-width: 901px) {
  .HeroCarousel--Tabs .Progress {
    width: auto;
    opacity: 1;
    position: absolute;
    top: 50%;
    right: 0%;
    z-index: 2;
    transform: translate(50%, -50%);
  }
}
.HeroCarousel--Tabs li.active .Progress--inner {
  animation-play-state: running;
  animation: progressBar 5s;
  animation-fill-mode: both;
}
.HeroCarousel--Tabs li.active.waitProgressBar .Progress--inner {
  animation-play-state: paused;
}
.HeroCarousel--Container.disabledAutoplay .HeroCarousel--Tabs .Progress--inner {
  animation-play-state: paused;
}
.HeroCarousel--Container.disabledAutoplay .HeroCarousel--Tabs li.active .Progress--inner {
  animation-direction: alternate-reverse;
}
@media print {
  .HeroCarousel--Tabs {
    display: none !important;
  }
}

.HeroCarousel--Tabs button {
  transition: padding 0.5s, transform 0.5s;
  will-change: padding, transform;
}
@media (min-width: 901px) {
  .HeroCarousel--Tabs button {
    padding-left: 40px;
    padding-right: 20px;
    transform: translateX(20px);
  }
}
@media (min-width: 1441px) {
  .HeroCarousel--Tabs button {
    padding-left: 120px;
  }
}
.HeroCarousel--Tabs li.active button,
.HeroCarousel--Tabs li.before button {
  font-weight: bold;
  color: #222222;
}
@media (min-width: 901px) {
  .HeroCarousel--Tabs li.active button,
  .HeroCarousel--Tabs li.before button {
    padding-left: 20px;
    padding-right: 40px;
    transform: translateX(-20px);
  }
}
@media (min-width: 1441px) {
  .HeroCarousel--Tabs li.active button,
  .HeroCarousel--Tabs li.before button {
    padding-right: 120px;
  }
}
.HeroCarousel--Tabs li.before button {
  font-weight: 500;
}
@media (min-width: 901px) {
  .HeroCarousel--Tabs .Progress {
    width: 40px;
  }
}

.HeroCarousel--Tabs .Progress {
  height: 2px;
  background: #e6e6e6;
  display: inline-block;
  position: relative;
  margin-top: 2px;
}
.HeroCarousel--Tabs .Progress .Progress--inner {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 2px;
  z-index: 2;
  background: #222222;
  transform-origin: 0 0;
  transform: scaleX(0);
}

@keyframes progressBar {
  0% {
    transform: scaleX(0);
  }
  100% {
    transform: scaleX(1);
  }
}
.HeroDetail {
  padding-left: 100px;
  padding-left: var(--page-margin);
  padding-right: 100px;
  padding-right: var(--page-margin);
  margin-bottom: 50px;
}
@media (max-height: 700px) and (min-width: 740px) {
  .HeroDetail {
    min-height: 700px;
  }
}
@media (min-width: 901px) {
  .HeroDetail {
    max-height: calc(250px + 40vw);
    height: 100vh;
  }
}
@media (min-width: 1151px) {
  .HeroDetail {
    max-height: calc(250px + 50vw);
    height: calc(100vh - 100px);
  }
}
@media (min-width: 1441px) {
  .HeroDetail {
    height: calc(100vh - 130px);
  }
}
@media (min-width: 1600px) {
  .HeroDetail {
    margin-left: calc(-100vw / 2 + 1600px / 2);
    margin-right: calc(-100vw / 2 + 1600px / 2);
  }
}
.HeroDetail:not(.landing) .HeroDetail--image-small {
  display: none;
}

.HeroDetail--inner {
  height: 100%;
}
@media (min-width: 901px) {
  .HeroDetail--inner {
    display: flex;
    flex-wrap: wrap;
    position: relative;
    padding-left: 0%;
    padding-right: 0%;
    margin-left: -30px;
    margin-right: -30px;
    flex-wrap: nowrap;
  }
}

@media (min-width: 901px) {
  .HeroDetail--image {
    display: block;
    padding-left: 30px;
    padding-right: 30px;
    flex: 1 0 58.3333333333%;
    max-width: 58.3333333333%;
    height: 100%;
    display: flex;
    align-items: center;
  }
  .HeroDetail--image .Picture {
    width: 100%;
    height: 100%;
    overflow: hidden;
  }
}
@media print {
  .HeroDetail--image {
    display: none !important;
  }
}

.HeroDetail--text {
  position: relative;
  z-index: 1;
  align-self: center;
}
@media (min-width: 901px) {
  .HeroDetail--text {
    display: block;
    padding-left: 0;
    padding-right: 0;
    flex: 1 0 41.6666666667%;
    max-width: 41.6666666667%;
    margin-left: -8.3333333333%;
    display: flex;
    align-items: center;
  }
}
.HeroDetail--textbox {
  background: #ffffff;
  width: 100%;
  padding: 2rem 0 0;
}
@media (min-width: 901px) {
  .HeroDetail--textbox {
    position: relative;
    padding-top: 0;
  }
  .HeroDetail--textbox:before {
    display: block;
    content: "";
    width: 100%;
    padding-bottom: 95%;
  }
  .HeroDetail--textbox > :first-child {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    width: 100%;
    height: 100%;
  }
}

.HeroDetail--textbox--inner {
  padding: 0 30px;
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  margin-top: auto;
  margin-bottom: auto;
}
@media (min-width: 1441px) {
  .HeroDetail--textbox--inner {
    padding: 0 70px;
  }
}
@media (min-width: 1600px) {
  .HeroDetail--textbox--inner {
    max-height: 900px;
    max-width: 900px;
  }
}

.HeroDetail--image-small {
  display: none;
}
@media (min-width: 1441px) {
  .HeroDetail--image-small {
    display: block;
    display: block;
    padding-left: 0;
    padding-right: 0;
    flex: 1 0 33.3333333333%;
    max-width: 33.3333333333%;
    margin-left: -16.6666666667%;
    display: flex;
    align-items: center;
    align-self: center;
  }
  .HeroDetail--image-small > .Picture {
    width: 100%;
  }
}

.HeroDetail--date {
  border: 1px solid #e6e6e6;
  border-radius: 3px;
  margin-bottom: 30px;
}

.HeroDetail--title {
  font-weight: 500;
  font-size: 40px;
  line-height: 1;
}
@media (min-width: 740px) {
  .HeroDetail--title {
    font-size: calc(5.7142857143vw - 2.2857142857px);
  }
}
@media (min-width: 1440px) {
  .HeroDetail--title {
    font-size: 80px;
  }
}
@media mobile {
  .HeroDetail--title {
    line-height: 1;
  }
}
@media (max-width: 580px) {
  .HeroDetail--title {
    -webkit-hyphens: auto;
    hyphens: auto;
  }
}
@media (max-width: 1440px) and (min-width: 901px) {
  .HeroDetail.large-title .HeroDetail--title {
    font-weight: 500;
    font-size: 28px;
    line-height: 1.1;
  }
}
@media (max-width: 1440px) and (min-width: 901px) and (min-width: 740px) {
  .HeroDetail.large-title .HeroDetail--title {
    font-size: calc(1.7142857143vw + 15.3142857143px);
  }
}
@media (max-width: 1440px) and (min-width: 901px) and (min-width: 1440px) {
  .HeroDetail.large-title .HeroDetail--title {
    font-size: 40px;
  }
}
@media mobile and (max-width: 1440px) and (min-width: 901px) {
  .HeroDetail.large-title .HeroDetail--title {
    line-height: 1.2;
  }
}
@media (min-width: 901px) {
  .HeroDetail--title {
    margin-bottom: 2rem;
  }
}

.HeroDetail--subtitle {
  font-size: 12px;
  line-height: 1.4;
  text-transform: uppercase;
  letter-spacing: 0.14em;
  margin-bottom: 2rem;
}

.HeroDetail--image {
  position: relative;
}

.HeroDetail--tag {
  position: absolute;
  top: 10px;
  left: 10px;
}

.HeroDetail .HeroDetail--textbox--inner {
  animation: fadeIn-HeroDetail--textbox--inner 0.7s cubic-bezier(0.215, 0.61, 0.355, 1) 0.2s forwards;
  opacity: 0;
  transform: translateY(15px);
}
.HeroDetail .HeroDetail--image-small {
  animation: fadeIn-HeroDetail--image-small 0.7s cubic-bezier(0.215, 0.61, 0.355, 1) 0.2s forwards;
  opacity: 0;
  transform: translateY(15px);
}
@keyframes fadeIn-HeroDetail--textbox--inner {
  from {
    opacity: 0;
    transform: translateY(15px);
  }
  to {
    opacity: 1;
    transform: none;
  }
}
@keyframes fadeIn-HeroDetail--image-small {
  from {
    opacity: 0;
    transform: translateY(25px);
  }
  to {
    opacity: 1;
    transform: none;
  }
}

.HeroExperience {
  position: relative;
  overflow: hidden;
  --height-offscreen: 25vh;
  --height: calc(100vh + var(--height-offscreen));
  --height: calc(100svh + var(--height-offscreen));
  height: var(--height);
  height: calc(var(--height) - var(--header-height, 0px));
}
.HeroExperience:active .HeroExperience--cursor--inner::before {
  transform: scale(0.93);
}
.HeroExperience:active .HeroExperience--cursor .text {
  transform: scale(0.9);
}

.HeroExperience--background {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 0;
}
.HeroExperience--background::before, .HeroExperience--background::after {
  content: "";
  display: block;
  height: 30%;
  width: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
  background: linear-gradient(180deg, #FFFFFF 0%, rgba(255, 255, 255, 0) 100%);
}
.HeroExperience--background::after {
  top: auto;
  bottom: 0;
  background: linear-gradient(0deg, #FFFFFF 0%, rgba(255, 255, 255, 0) 100%);
}

.HeroExperience--backgroundImage {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  transform: translateY(calc(var(--height-offscreen) * var(--scroll-progress-inv, 0))) scale(calc(1 + var(--scroll-progress-inv, 0) * 0.15));
  will-change: transform;
}

.HeroExperience--cloudBottom,
.HeroExperience--cloudTop {
  position: absolute;
  width: 100%;
  height: auto;
}

.HeroExperience--cloudTop {
  top: 0;
  transform: translateY(-25%);
}

.HeroExperience--cloudBottom {
  bottom: 0;
  transform: translateY(25%);
}

.HeroExperience--inner {
  position: absolute;
  width: 100%;
  left: 0;
  bottom: var(--height-offscreen, 0);
}

.HeroExperience--body {
  margin-left: 100px;
  margin-left: var(--page-margin);
  margin-right: 100px;
  margin-right: var(--page-margin);
  margin-top: 120px;
  margin-bottom: 60px;
  --t: var(--scroll-progress-inv);
  transform: translateY(calc(var(--height-offscreen) * var(--t)));
  will-change: transform;
}
@media (max-width: 1150px) {
  .HeroExperience--body {
    margin-top: 100px;
  }
}
@media (max-width: 900px) {
  .HeroExperience--body {
    margin-top: 70px;
  }
}
@media (max-width: 1150px) {
  .HeroExperience--body {
    margin-bottom: 50px;
  }
}

.HeroExperience--titleWrapper {
  font-weight: 500;
  font-size: 40px;
  line-height: 1;
  max-width: 620px;
  margin-bottom: 0.75em;
}
@media (min-width: 740px) {
  .HeroExperience--titleWrapper {
    font-size: calc(5.7142857143vw - 2.2857142857px);
  }
}
@media (min-width: 1440px) {
  .HeroExperience--titleWrapper {
    font-size: 80px;
  }
}
@media mobile {
  .HeroExperience--titleWrapper {
    line-height: 1;
  }
}
@media (max-width: 580px) {
  .HeroExperience--titleWrapper {
    -webkit-hyphens: auto;
    hyphens: auto;
  }
}

.HeroExperience--cta,
.HeroExperience--title,
.HeroExperience--subtitle {
  transform: translateY(1em);
  transition: transform 2s cubic-bezier(0.23, 1, 0.32, 1), visibility 2s, opacity 1s;
  opacity: 0;
  will-change: transform;
}
.HeroExperience.is-inview .HeroExperience--cta,
.HeroExperience.is-inview .HeroExperience--title,
.HeroExperience.is-inview .HeroExperience--subtitle {
  visibility: visible;
  transform: none;
  opacity: 1;
}

.HeroExperience--subtitle {
  transition-delay: 150ms;
  color: rgba(34, 34, 34, 0.7);
}

@keyframes HeroExperience {
  25% {
    transform: translateY(-10%);
  }
  75% {
    transform: translateY(18%);
  }
}
.HeroExperience--cta {
  font-size: 14px;
  line-height: 1.4;
  transition-delay: 500ms;
  display: inline-block;
  margin-top: 1em;
}
@media (min-width: 740px) {
  .HeroExperience--cta {
    font-size: calc(0.2857142857vw + 11.8857142857px);
  }
}
@media (min-width: 1440px) {
  .HeroExperience--cta {
    font-size: 16px;
  }
}
@media mobile {
  .HeroExperience--cta {
    line-height: 1.5;
  }
}
.HeroExperience--cta > .Icon {
  margin-right: 1em;
  animation: HeroExperience 3.2s ease-in-out alternate infinite;
}

.HeroExperience--cursor {
  position: absolute;
  width: 120px;
  height: 120px;
  margin-top: -60px;
  margin-left: -60px;
  border-radius: 100%;
  color: #ffffff;
  padding: 10px;
  left: 50%;
  top: 50%;
  text-align: center;
  pointer-events: none;
  transform: translate3d(var(--mouse-x-lerp), var(--mouse-y-lerp), 0);
  visibility: hidden;
  opacity: 0;
  will-change: transform, opacity, visibility;
}
@media (max-width: 900px) {
  .HeroExperience--cursor {
    width: 40px;
    height: 40px;
    margin-top: -20px;
    margin-left: -20px;
  }
  .HeroExperience--cursor .text {
    display: none;
  }
}
.is-moving .HeroExperience--cursor {
  visibility: visible;
  opacity: 1;
}
.is-moving .HeroExperience--cursor .HeroExperience--cursor--inner {
  transform: none;
  opacity: 1;
}
@media print {
  .HeroExperience--cursor {
    display: none;
  }
}
.HeroExperience--cursor .text {
  font-size: 14px;
  line-height: 1.4;
}
@media (min-width: 740px) {
  .HeroExperience--cursor .text {
    font-size: calc(0.2857142857vw + 11.8857142857px);
  }
}
@media (min-width: 1440px) {
  .HeroExperience--cursor .text {
    font-size: 16px;
  }
}
@media mobile {
  .HeroExperience--cursor .text {
    line-height: 1.5;
  }
}

.HeroExperience--cursor--inner {
  position: inherit;
  width: inherit;
  height: inherit;
  border-radius: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  left: 0;
  top: 0;
  transform: scale(0.6);
  opacity: 0;
  transition: transform 200ms, opacity 50ms;
  z-index: 0;
}
.HeroExperience--cursor--inner::before {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  content: "";
  display: block;
  background-color: #222222;
  border-radius: 100%;
  z-index: -1;
  transition: transform 60ms;
}
.HeroExperience--cursor--inner .text {
  transition: transform 60ms;
}

.HeroExperience--link {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  cursor: inherit;
}

.HeroPage {
  position: relative;
  overflow: hidden;
}
.HeroPage[data-with-image] {
  --height-offscreen: 25vh;
  --height: calc(100vh + var(--height-offscreen));
  --height: calc(100svh + var(--height-offscreen));
  color: #ffffff;
  height: var(--height);
  height: calc(var(--height) - var(--header-height, 0px));
}
@media (max-width: 740px) {
  .HeroPage[data-with-image] {
    --height-offscreen: 10vh;
  }
}
.HeroPage[data-with-image].is-inview::after {
  transform: translateY(100%);
  visibility: hidden;
}

.HeroPage--background {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  transform: translateY(calc(var(--height-offscreen) * var(--scroll-progress-inv, 0))) scale(calc(1 + var(--scroll-progress-inv, 0) * 0.15));
  will-change: transform;
}
@media (max-width: 740px) {
  .HeroPage--background.desktop {
    display: none;
  }
}
@media (min-width: 741px) {
  .HeroPage--background.mobile {
    display: none;
  }
}
.HeroPage--background::after {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  content: "";
  display: block;
  background: linear-gradient(44.79deg, rgba(0, 0, 0, 0.3) 29.94%, rgba(0, 0, 0, 0) 69.98%);
}
[data-with-image] .HeroPage--inner {
  position: absolute;
  bottom: var(--height-offscreen, 0);
  width: 100%;
  left: 0;
}

.HeroPage--body {
  margin-left: 100px;
  margin-left: var(--page-margin);
  margin-right: 100px;
  margin-right: var(--page-margin);
  margin-top: 120px;
  margin-bottom: 60px;
  --t: var(--scroll-progress-inv);
  transform: translateY(calc(var(--height-offscreen) * var(--t)));
  will-change: transform;
}
@media (max-width: 1150px) {
  .HeroPage--body {
    margin-top: 100px;
  }
}
@media (max-width: 900px) {
  .HeroPage--body {
    margin-top: 70px;
  }
}
@media (max-width: 1150px) {
  .HeroPage--body {
    margin-bottom: 50px;
  }
}
@media print {
  .HeroPage--body {
    margin-top: 50px;
    margin-bottom: 50px;
  }
}

.HeroPage--title,
.HeroPage--subtitle {
  font-weight: 500;
  font-size: 40px;
  line-height: 1;
}
@media (min-width: 740px) {
  .HeroPage--title,
  .HeroPage--subtitle {
    font-size: calc(5.7142857143vw - 2.2857142857px);
  }
}
@media (min-width: 1440px) {
  .HeroPage--title,
  .HeroPage--subtitle {
    font-size: 80px;
  }
}
@media mobile {
  .HeroPage--title,
  .HeroPage--subtitle {
    line-height: 1;
  }
}
@media (max-width: 580px) {
  .HeroPage--title,
  .HeroPage--subtitle {
    -webkit-hyphens: auto;
    hyphens: auto;
  }
}

.HeroPage--overflow {
  line-height: 1.1;
  margin-bottom: -0.1em;
}
.HeroPage--overflow .HeroPage--title,
.HeroPage--overflow .HeroPage--subtitle {
  line-height: inherit;
}

.HeroPage--cta,
.HeroPage--title,
.HeroPage--subtitle {
  transform: translateY(1em);
  transition: transform 2s cubic-bezier(0.23, 1, 0.32, 1), visibility 2s, opacity 1s;
  opacity: 0;
  will-change: transform;
}
.HeroPage.is-inview .HeroPage--cta,
.HeroPage.is-inview .HeroPage--title,
.HeroPage.is-inview .HeroPage--subtitle {
  visibility: visible;
  transform: none;
  opacity: 1;
}

.HeroPage--titleWrapper {
  max-width: 90%;
}
@media (max-width: 900px) {
  .HeroPage--titleWrapper {
    max-width: 100%;
  }
}
@media print {
  .HeroPage--titleWrapper {
    max-width: 100%;
  }
}

.HeroPage--subtitle {
  transition-delay: 150ms;
  color: #808080;
}
[data-with-image] .HeroPage--subtitle {
  color: rgba(128, 128, 128, 0.7);
}
.HeroPage[data-with-image] .HeroPage--subtitle {
  color: rgba(255, 255, 255, 0.7);
}

@keyframes HeroPageCTA {
  to {
    transform: translateY(33%);
  }
}
.HeroPage--cta {
  font-size: 14px;
  line-height: 1.4;
  transition-delay: 500ms;
  display: inline-block;
  margin-top: 1em;
}
@media (min-width: 740px) {
  .HeroPage--cta {
    font-size: calc(0.2857142857vw + 11.8857142857px);
  }
}
@media (min-width: 1440px) {
  .HeroPage--cta {
    font-size: 16px;
  }
}
@media mobile {
  .HeroPage--cta {
    line-height: 1.5;
  }
}
.HeroPage--cta > .Icon {
  margin-right: 1em;
  animation: HeroPageCTA 1.2s ease-in-out alternate infinite;
}

.HeroPage--overflow {
  overflow: hidden;
}

.HeroSwing--SliderItem {
  position: absolute;
  left: 0;
  opacity: 0;
  visibility: hidden;
}
.HeroSwing--SliderItem.active {
  opacity: 1;
  visibility: visible;
}
.HeroSwing--SliderItem.anim-in {
  opacity: 1;
  visibility: visible;
}

.HeroSwing--inner {
  display: flex;
  flex-wrap: wrap;
  position: relative;
  padding-left: 0%;
  padding-right: 0%;
  margin-left: 0;
  margin-right: 0;
  flex-wrap: nowrap;
  align-items: center;
}
.HeroSwing--inner .HeroSwing--Box {
  position: relative;
  z-index: 1;
  order: 1;
}
@media (max-width: 900px) {
  .HeroSwing--inner .HeroSwing--Box {
    display: block;
    padding-left: 0;
    padding-right: 0;
    flex: 1 0 66.6666666667%;
    max-width: 66.6666666667%;
  }
}
@media (max-width: 580px) {
  .HeroSwing--inner .HeroSwing--Box {
    display: block;
    padding-left: 0;
    padding-right: 0;
    flex: 1 0 75%;
    max-width: 75%;
  }
}
@media (max-width: 400px) {
  .HeroSwing--inner .HeroSwing--Box {
    flex: 1 0 267px;
    max-width: 267px;
  }
}
@media (min-width: 901px) {
  .HeroSwing--inner .HeroSwing--Box {
    display: block;
    padding-left: 0;
    padding-right: 0;
    flex: 1 0 50%;
    max-width: 50%;
  }
}
@media (min-width: 1151px) {
  .HeroSwing--inner .HeroSwing--Box {
    display: block;
    padding-left: 0;
    padding-right: 0;
    flex: 1 0 41.6666666667%;
    max-width: 41.6666666667%;
  }
}
@media print {
  .HeroSwing--inner .HeroSwing--Box {
    display: none !important;
  }
}
.HeroSwing--inner .HeroSwing--ImageCenter {
  position: relative;
  order: 2;
}
@media (max-width: 900px) {
  .HeroSwing--inner .HeroSwing--ImageCenter {
    display: block;
    padding-left: 0;
    padding-right: 0;
    flex: 1 0 100%;
    max-width: 100%;
    margin-left: -58.3333333333%;
  }
}
@media (max-width: 580px) {
  .HeroSwing--inner .HeroSwing--ImageCenter {
    margin-left: -66.6666666667%;
  }
}
@media (max-width: 400px) {
  .HeroSwing--inner .HeroSwing--ImageCenter {
    margin-left: -247px;
  }
}
@media (min-width: 901px) {
  .HeroSwing--inner .HeroSwing--ImageCenter {
    display: block;
    padding-left: 0;
    padding-right: 0;
    flex: 1 0 83.3333333333%;
    max-width: 83.3333333333%;
    margin-left: -33.3333333333%;
    transform: translateX(-18px);
  }
}
@media (min-width: 1151px) {
  .HeroSwing--inner .HeroSwing--ImageCenter {
    display: block;
    padding-left: 0;
    padding-right: 0;
    flex: 1 0 75%;
    max-width: 75%;
    margin-left: -16.6666666667%;
    transform: translateX(-12px);
  }
}
.HeroSwing--inner .HeroSwing--ImageCenter .HeroSwing--ImageCenter--inner-content {
  overflow: hidden;
  height: 100%;
  width: 100%;
}
.HeroSwing--inner .HeroSwing--ImageCenter .Picture {
  overflow: hidden;
  height: 100%;
  width: 100%;
}
.HeroSwing--inner .HeroSwing--ImageCenter .Picture > img,
.HeroSwing--inner .HeroSwing--ImageCenter .Picture > video {
  -o-object-position: center;
  object-position: center;
  height: 100%;
  width: 100%;
  min-width: calc(100vw - var(--page-margin) * 2);
  transition: opacity 500ms !important;
}
@media (min-width: 1151px) {
  .HeroSwing--inner .HeroSwing--ImageCenter .Picture > img,
  .HeroSwing--inner .HeroSwing--ImageCenter .Picture > video {
    min-width: auto;
    height: calc(100vh - 100px);
  }
}
@media (min-width: 1441px) {
  .HeroSwing--inner .HeroSwing--ImageCenter .Picture > img,
  .HeroSwing--inner .HeroSwing--ImageCenter .Picture > video {
    height: calc(100vh - 130px);
  }
}

.HeroSwing--textbox {
  text-align: center;
  background: #ffffff;
  border-radius: 3px;
  margin-top: 0;
  position: relative;
}
.HeroSwing--textbox:before {
  display: block;
  content: "";
  width: 100%;
  padding-bottom: 95%;
}
.HeroSwing--textbox > :first-child {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  width: 100%;
  height: 100%;
}
.HeroSwing--textbox .HeroSwing--textbox--inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 0 2rem;
}
@media (max-width: 900px) {
  .HeroSwing--textbox {
    transform: translateY(50%);
  }
}

.HeroSwing--title {
  font-weight: 500;
  font-size: 32px;
  line-height: 1;
}
@media (min-width: 740px) {
  .HeroSwing--title {
    font-size: calc(4vw + 2.4px);
  }
}
@media (min-width: 1440px) {
  .HeroSwing--title {
    font-size: 60px;
  }
}
@media mobile {
  .HeroSwing--title {
    line-height: 1;
  }
}
@media (min-width: 901px) {
  .HeroSwing--title {
    font-weight: 500;
    font-size: 40px;
    line-height: 1;
    max-width: 400px;
  }
}
@media (min-width: 901px) and (min-width: 740px) {
  .HeroSwing--title {
    font-size: calc(5.7142857143vw - 2.2857142857px);
  }
}
@media (min-width: 901px) and (min-width: 1440px) {
  .HeroSwing--title {
    font-size: 80px;
  }
}
@media mobile and (min-width: 901px) {
  .HeroSwing--title {
    line-height: 1;
  }
}
@media (min-width: 901px) and (max-width: 580px) {
  .HeroSwing--title {
    -webkit-hyphens: auto;
    hyphens: auto;
  }
}
@media (max-width: 400px) {
  .HeroSwing--title {
    font-size: 16px;
  }
}

.HeroSwing--link {
  margin-top: 30px;
}
@media (max-width: 400px) {
  .HeroSwing--link {
    font-size: 10px;
    margin-top: 20px;
  }
}

.HeroSwing--Container {
  padding-right: 100px;
  padding-right: var(--page-margin);
  padding-left: 100px;
  padding-left: var(--page-margin);
  position: relative;
  height: calc(var(--screenheight) - 70px);
  max-height: 100vw;
  min-height: 500px;
  overflow: hidden;
}
@media (max-width: 900px) {
  .HeroSwing--Container {
    margin-bottom: 30vw;
    overflow: visible;
  }
}
@media (max-width: 580px) {
  .HeroSwing--Container {
    margin-bottom: 35vw;
  }
}
@media (min-width: 1151px) {
  .HeroSwing--Container {
    min-height: auto;
    height: calc(100vh - 100px);
  }
}
@media (min-width: 1441px) {
  .HeroSwing--Container {
    height: calc(100vh - 130px);
  }
}
@media (min-width: 1600px) {
  .HeroSwing--Container {
    margin-left: calc(-100vw / 2 + 1600px / 2);
    margin-right: calc(-100vw / 2 + 1600px / 2);
  }
}
@media print {
  .HeroSwing--Container {
    height: 500px;
  }
}

.HeroSwing--Slider {
  display: flex;
  position: relative;
  width: 100%;
  height: 100%;
}

.HeroSwing--SliderItem {
  display: block;
  vertical-align: top;
  flex: 0 0 auto;
  width: 100%;
  width: calc((100% + 0px) / 1 - 0px);
  margin-right: 0px;
}
.HeroSwing--SliderItem.is-slider-ready {
  visibility: hidden;
}
.HeroSwing--SliderItem.was-visible, .HeroSwing--SliderItem.is-visible {
  visibility: visible;
}

.HeroSwing--Slider .HeroSwing--SliderItem {
  height: 100%;
}
.HeroSwing--Slider .HeroSwing {
  height: 100%;
}
.HeroSwing--Slider .HeroSwing--inner {
  height: 100%;
}
.HeroSwing--Slider .HeroSwing--inner > div {
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
@media (max-width: 900px) {
  .HeroSwing--Slider .HeroSwing--inner > div {
    justify-content: flex-end;
  }
}

.HeroSwing--Tabs {
  right: 50px;
  right: calc(0.5 * var(--page-margin));
  position: absolute;
  top: 0;
  bottom: 0;
  z-index: 10;
  display: flex;
  flex-direction: column;
  flex-wrap: nowrap;
  justify-content: center;
  align-items: center;
}
.HeroSwing--Tabs li {
  position: relative;
}
.HeroSwing--Tabs button {
  position: relative;
  display: block;
}
.HeroSwing--Tabs li.active .Progress--inner {
  animation-play-state: running;
  animation: progressBar 7.5s;
  animation-fill-mode: both;
}
.HeroSwing--Tabs li.active.waitProgressBar .Progress--inner {
  animation-play-state: paused;
}
.HeroSwing--Container.disabledAutoplay .HeroSwing--Tabs .Progress--inner {
  animation-play-state: paused;
}
.HeroSwing--Container.disabledAutoplay .HeroSwing--Tabs li.active .Progress--inner {
  animation-direction: alternate-reverse;
}
@media print {
  .HeroSwing--Tabs {
    display: none !important;
  }
}

.HeroSwing--Buttons {
  display: flex;
  flex-direction: column;
  justify-content: center;
  margin: -3px;
}
@media (max-width: 900px) {
  .HeroSwing--Buttons {
    padding-top: 20px;
    align-items: flex-end;
  }
}
@media (min-width: 901px) {
  .HeroSwing--Buttons {
    align-items: center;
    position: absolute;
    bottom: 0;
    top: 0;
    right: calc(0.5 * var(--page-margin) + 11px);
    transform: translateX(50%);
  }
}
.HeroSwing--Buttons button {
  position: relative;
  display: block;
  width: 58px;
  height: 58px;
  z-index: 5;
  margin: 3px;
}
.HeroSwing--Buttons button .Icon {
  margin-bottom: -2px;
  z-index: 1;
}
.HeroSwing--Buttons button > * {
  pointer-events: none;
}
@media (max-width: 900px) {
  .HeroSwing--Buttons button {
    transform: translateX(48px);
  }
  .HeroSwing--Buttons button[data-sliderdir=prev] {
    display: none;
  }
}
@media (max-width: 740px) {
  .HeroSwing--Buttons button {
    transform: translateX(8px);
  }
}
.HeroSwing--Buttons button[data-sliderdir=prev], .disabledAutoplay .HeroSwing--Buttons button {
  border: 1px solid #e6e6e6;
  border-radius: 100%;
}

.HeroSwing--Buttons .Progress {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  display: inline-block;
  overflow: visible !important;
  transform: rotate(-90deg);
}
.disabledAutoplay .HeroSwing--Buttons .Progress {
  display: none;
}
.HeroSwing--Buttons .Progress .Progress--bg,
.HeroSwing--Buttons .Progress .Progress--progress {
  stroke-width: 2px;
  stroke-width: 1.75px;
  stroke-width: 1.724137931px;
}
.HeroSwing--Buttons .Progress .Progress--bg {
  stroke: #e6e6e6;
  fill: #ffffff;
}
.HeroSwing--Buttons .Progress .Progress--progress {
  stroke: #222222;
  stroke-dasharray: 320px, 320px;
  stroke-dashoffset: 320px;
  opacity: 1;
  animation: progressBar 7s forwards;
  animation-play-state: running;
  fill: none;
}
.HeroSwing--Container.inProgress .HeroSwing--Buttons .Progress .Progress--progress {
  display: none;
}

@keyframes progressBar {
  50% {
    opacity: 1;
  }
  100% {
    stroke-dashoffset: 0px;
    opacity: 0;
  }
}
.HeroTitle {
  margin-top: 15%;
  margin-bottom: 15%;
  margin-top: 20vmin;
  margin-bottom: 20vmin;
  margin-left: 100px;
  margin-left: var(--page-margin);
  margin-right: 100px;
  margin-right: var(--page-margin);
  text-align: center;
}
.HeroTitle.half-gap, .HeroTitle.half-gap-top {
  margin-top: 7.5%;
  margin-top: 10vmin;
}
.HeroTitle.half-gap, .HeroTitle.half-gap-bottom {
  margin-bottom: 7.5%;
  margin-bottom: 10vmin;
}
.HeroTitle.no-gap, .HeroTitle.no-gap-top {
  margin-top: 0;
}
.HeroTitle.no-gap, .HeroTitle.no-gap-bottom {
  margin-bottom: 0;
}
.HeroTitle .TableSummary {
  text-align: left;
}

.HeroTitle--title {
  max-width: 720px;
  font-weight: 500;
  font-size: 40px;
  line-height: 1;
  margin: 0 auto;
  margin-bottom: 1em;
}
@media (min-width: 740px) {
  .HeroTitle--title {
    font-size: calc(5.7142857143vw - 2.2857142857px);
  }
}
@media (min-width: 1440px) {
  .HeroTitle--title {
    font-size: 80px;
  }
}
@media mobile {
  .HeroTitle--title {
    line-height: 1;
  }
}
@media (max-width: 580px) {
  .HeroTitle--title {
    -webkit-hyphens: auto;
    hyphens: auto;
  }
}

.IconAccordion {
  border-top: 1px solid #e6e6e6;
}
.IconAccordion.root {
  max-width: 400px;
  padding-left: 10px;
  padding-right: 10px;
  margin-left: auto;
  margin-right: auto;
  margin-top: 100px;
  margin-bottom: 100px;
}

.IconAccordion--item {
  position: relative;
  z-index: 0;
  border-top: 1px solid #e6e6e6;
}
.IconAccordion--item:first-child {
  margin-top: -1px;
}
.IconAccordion--item:last-child {
  border-bottom: 1px solid #e6e6e6;
}
.IconAccordion--item:nth-child(1) {
  z-index: calc(20 - 1);
}
.IconAccordion--item:nth-child(2) {
  z-index: calc(20 - 2);
}
.IconAccordion--item:nth-child(3) {
  z-index: calc(20 - 3);
}
.IconAccordion--item:nth-child(4) {
  z-index: calc(20 - 4);
}
.IconAccordion--item:nth-child(5) {
  z-index: calc(20 - 5);
}
.IconAccordion--item:nth-child(6) {
  z-index: calc(20 - 6);
}
.IconAccordion--item:nth-child(7) {
  z-index: calc(20 - 7);
}
.IconAccordion--item:nth-child(8) {
  z-index: calc(20 - 8);
}
.IconAccordion--item:nth-child(9) {
  z-index: calc(20 - 9);
}
.IconAccordion--item:nth-child(10) {
  z-index: calc(20 - 10);
}
.IconAccordion--item:nth-child(11) {
  z-index: calc(20 - 11);
}
.IconAccordion--item:nth-child(12) {
  z-index: calc(20 - 12);
}
.IconAccordion--item:nth-child(13) {
  z-index: calc(20 - 13);
}
.IconAccordion--item:nth-child(14) {
  z-index: calc(20 - 14);
}
.IconAccordion--item:nth-child(15) {
  z-index: calc(20 - 15);
}
.IconAccordion--item:nth-child(16) {
  z-index: calc(20 - 16);
}
.IconAccordion--item:nth-child(17) {
  z-index: calc(20 - 17);
}
.IconAccordion--item:nth-child(18) {
  z-index: calc(20 - 18);
}
.IconAccordion--item:nth-child(19) {
  z-index: calc(20 - 19);
}
.IconAccordion--item:nth-child(20) {
  z-index: calc(20 - 20);
}

.IconAccordion--trigger {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  align-items: center;
  width: 100%;
  height: 60px;
}
@media (min-width: 741px) {
  .IconAccordion--trigger {
    height: 80px;
  }
}
.IconAccordion--trigger:before, .IconAccordion--trigger:after {
  content: "";
  width: 100%;
  height: 1px;
  position: absolute;
  height: 1px;
  top: -1px;
  left: 0;
  z-index: 1;
  background: #222222;
  transform: scaleX(0);
  transition: 450ms transform cubic-bezier(0.645, 0.045, 0.355, 1);
  transform-origin: 100% 0;
  transition-delay: 0;
}
.IconAccordion--trigger:after {
  top: auto;
  bottom: -1px;
  transition-delay: 55ms;
}
.IconAccordion--trigger:hover:before, .IconAccordion--trigger:hover:after {
  transform: scaleX(1);
  transform-origin: 0 0;
}
.IconAccordion--trigger .IconAccordion--arrow {
  margin-left: auto;
}
.IconAccordion--trigger[aria-expanded=true] .IconAccordion--arrow {
  transform: rotate(180deg);
}

.IconAccordion--body {
  display: flow-root;
}

.IconAccordion--content:after {
  content: "";
  display: block;
  margin-top: 1em;
}
.IconAccordion--body[data-hidden=true] > .IconAccordion--content {
  display: none;
}
.IconAccordion--content.hasIcon {
  padding-left: calc(13px + 1rem);
}

.IconAccordion--title {
  font-weight: 500;
  font-size: 14px;
  line-height: 1.3;
  text-align: left;
}
@media (min-width: 740px) {
  .IconAccordion--title {
    font-size: calc(0.2857142857vw + 11.8857142857px);
  }
}
@media (min-width: 1440px) {
  .IconAccordion--title {
    font-size: 16px;
  }
}
@media mobile {
  .IconAccordion--title {
    line-height: 1.3;
  }
}
.IconAccordion--icon + .IconAccordion--title {
  margin-left: 1rem;
}

.IconAccordion--icon {
  max-width: 60px;
}
.IconAccordion--icon > img {
  height: auto;
}

.IconGroup--wrapper {
  margin-top: 120px;
  margin-bottom: 120px;
}
@media (max-width: 1150px) {
  .IconGroup--wrapper {
    margin-top: 100px;
  }
}
@media (max-width: 900px) {
  .IconGroup--wrapper {
    margin-top: 70px;
  }
}
@media (max-width: 1150px) {
  .IconGroup--wrapper {
    margin-bottom: 100px;
  }
}
@media (max-width: 900px) {
  .IconGroup--wrapper {
    margin-bottom: 70px;
  }
}

.IconGroup {
  margin-left: 100px;
  margin-left: var(--page-margin);
  margin-right: 100px;
  margin-right: var(--page-margin);
  position: relative;
}
@media (min-width: 1151px) {
  .IconGroup.right .IconGroup--inner {
    display: flex;
    flex-direction: row;
  }
  .IconGroup.right .IconGroup--inner .IconGroup--header {
    flex: 1 0 auto;
    width: 40%;
    flex-direction: column;
  }
  .IconGroup.right .IconGroup--inner .IconGroup--header .IconGroup--title {
    flex: 0 0 auto;
  }
  .IconGroup.right .IconGroup--inner .IconList {
    width: 60%;
    flex: 1 0 auto;
  }
  .IconGroup.right .IconGroup--inner .IconList .IconList--item {
    display: block;
    padding-left: 30px;
    padding-right: 30px;
    flex: 1 0 50%;
    max-width: 50%;
  }
}

.IconGroup--header {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  margin-bottom: 30px;
}
.IconGroup--header .IconGroup--title {
  flex: 1 1 auto;
  padding-right: 2em;
}

.IconGroup .IconList {
  display: grid;
  gap: 30px;
  row-gap: 30px;
  grid-template-columns: repeat(1, 1fr);
}
@media (min-width: 741px) {
  .IconGroup .IconList {
    row-gap: 60px;
    grid-auto-rows: 1fr;
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (min-width: 1151px) {
  .IconGroup .IconList {
    row-gap: 80px;
    grid-template-columns: repeat(3, 1fr);
  }
}
@media print {
  .IconGroup .IconList {
    row-gap: 20px;
    grid-auto-rows: 1fr;
    grid-template-columns: repeat(2, 1fr);
  }
}
.IconGroup .IconList .IconList--item {
  min-height: 100%;
  padding-right: 40px;
  padding-bottom: 30px;
  /*@include above-mobile {
  	@include grid-col($cols: 6);
  }

  @include above-tablet {
  	@include grid-col($cols: 4);
  }*/
}
@media print {
  .IconGroup .IconList .IconList--item {
    padding-bottom: 0;
    break-inside: avoid-page;
  }
}
.IconGroup .IconList .IconList--richtext {
  border-bottom: 1px solid #e6e6e6;
}
@media print {
  .IconGroup .IconList .IconList--richtext {
    border-bottom: 0;
  }
}
.IconGroup .IconList .IconList--richtext .richtext {
  padding-bottom: 30px;
  margin-bottom: 0;
}
.IconGroup .IconList .IconList--item + .IconList--item {
  margin-top: 0;
}

.IconGroup--title {
  font-weight: 500;
  font-size: 28px;
  line-height: 1.1;
  margin-bottom: 10px;
}
@media (min-width: 740px) {
  .IconGroup--title {
    font-size: calc(1.7142857143vw + 15.3142857143px);
  }
}
@media (min-width: 1440px) {
  .IconGroup--title {
    font-size: 40px;
  }
}
@media mobile {
  .IconGroup--title {
    line-height: 1.2;
  }
}

.IconGroup--cta {
  margin-bottom: 10px;
}

.IconGroupFact {
  font-size: 16px;
  line-height: 1.4;
  color: #222222;
  border-top: 1px solid #e6e6e6;
  padding-top: 1em;
  padding-bottom: 1em;
}
@media (min-width: 740px) {
  .IconGroupFact {
    font-size: calc(0.5714285714vw + 11.7714285714px);
  }
}
@media (min-width: 1440px) {
  .IconGroupFact {
    font-size: 20px;
  }
}
@media mobile {
  .IconGroupFact {
    line-height: 1.4;
  }
}
[data-state=done] .IconGroupFact {
  color: #2CA33F;
}
[data-state=planning] .IconGroupFact {
  color: #808080;
}

.IconList--item {
  display: flex;
}
.IconList--item:before, .IconList--item:after {
  content: "";
  display: table;
}
.IconList--item:after {
  clear: both;
}
.IconList--item + .IconList--item {
  margin-top: 3rem;
}
.IconList--item.simple + .IconList--item.simple {
  margin-top: 1.5rem;
}

.IconList--item:not(.simple) .IconList--title {
  font-weight: 500;
  font-size: 22px;
  line-height: 1.1;
  margin-bottom: 10px;
}
@media (min-width: 740px) {
  .IconList--item:not(.simple) .IconList--title {
    font-size: calc(1.1428571429vw + 13.5428571429px);
  }
}
@media (min-width: 1440px) {
  .IconList--item:not(.simple) .IconList--title {
    font-size: 30px;
  }
}
@media mobile {
  .IconList--item:not(.simple) .IconList--title {
    line-height: 1.2;
  }
}

.IconList--richtext {
  font-size: 16px;
  line-height: 1.4;
  display: flex;
  flex-direction: column;
  flex-grow: 1;
  color: #808080;
}
@media (min-width: 740px) {
  .IconList--richtext {
    font-size: calc(0.5714285714vw + 11.7714285714px);
  }
}
@media (min-width: 1440px) {
  .IconList--richtext {
    font-size: 20px;
  }
}
@media mobile {
  .IconList--richtext {
    line-height: 1.4;
  }
}
.IconList--richtext .contentful-richtext {
  height: 100%;
  display: flex;
  flex-direction: column;
}
.IconList--richtext [data-component=counter] {
  margin-top: auto;
}

.IconList.horizontal .IconList--item {
  flex-direction: row;
}
.IconList.horizontal .IconList--icon + .IconList--text {
  margin-left: 1.75em;
}

.IconList.vertical .IconList--item {
  flex-direction: column;
}
.IconList.vertical .IconList--icon + .IconList--text {
  margin-top: 0.75em;
}

.IconList.mixed .IconList--item {
  flex-direction: column;
}
@media print {
  .IconList.mixed .IconList--item {
    flex-direction: column;
  }
}

.IconList--item:not(.simple) .IconList--icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 110px;
  height: 110px;
  border-radius: 100%;
  background-color: #f2f2f2;
  margin-bottom: 2.5em;
  flex-shrink: 0;
  position: relative;
}
@media (max-width: 740px) {
  .IconList--item:not(.simple) .IconList--icon {
    height: 80px;
    width: 80px;
    margin-bottom: 2em;
  }
}
.IconList--item:not(.simple) .IconList--icon > img {
  height: auto;
  width: auto;
  max-width: 100%;
}
@media (max-width: 740px) {
  .IconList--item:not(.simple) .IconList--icon > img {
    max-width: 60%;
  }
}
@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {
  .IconList--item:not(.simple) .IconList--icon > img {
    max-width: none;
    width: 100%;
  }
}

.IconList--item:not(.simple)[data-state=done] .IconList--icon::before {
  content: "";
  display: block;
  position: absolute;
  width: 32px;
  height: 32px;
  right: -2px;
  top: -2px;
  background: #2CA33F;
  border-radius: 100%;
}
.IconList--item:not(.simple)[data-state=done] .IconList--icon::after {
  content: "";
  display: block;
  position: absolute;
  height: 6px;
  width: 14px;
  border-left: 2px solid #ffffff;
  border-bottom: 2px solid #ffffff;
  transform: rotate(-45deg);
  top: 10px;
  right: 6px;
}

.IconList--text {
  display: flex;
  flex-direction: column;
  align-self: center;
  flex-grow: 1;
  width: 100%;
}
.IconList--text > strong {
  display: block;
}
.IconList--text > div {
  margin-top: 0.75em;
}

.IconList--item.vertical {
  flex-direction: column;
}
.IconList--item.vertical .IconList--text {
  align-self: flex-start;
}

.ImageCouple {
  display: flex;
  align-items: center;
  margin-top: 120px;
  margin-bottom: 120px;
}
@media (max-width: 1150px) {
  .ImageCouple {
    margin-top: 100px;
  }
}
@media (max-width: 900px) {
  .ImageCouple {
    margin-top: 70px;
  }
}
@media (max-width: 1150px) {
  .ImageCouple {
    margin-bottom: 100px;
  }
}
@media (max-width: 900px) {
  .ImageCouple {
    margin-bottom: 70px;
  }
}
.ImageCouple .ZoomButton {
  position: absolute;
  right: 20px;
  bottom: 20px;
}

.ImageCouple--image {
  position: relative;
  width: calc(50% + -50px);
  width: calc(50% + -0.5 * var(--page-margin));
  flex-grow: 0;
}
.ImageCouple--image:nth-child(2) {
  width: calc(50% + -150px);
  width: calc(50% + -1.5 * var(--page-margin));
  margin-left: 100px;
  margin-left: var(--page-margin);
  margin-right: 100px;
  margin-right: var(--page-margin);
}
.ImageCouple--image > img {
  display: block;
  width: 100%;
}

.ImageCouple.right {
  flex-direction: row-reverse;
}

@media (max-width: 400px) {
  .ImageCouple {
    margin-left: 100px;
    margin-left: var(--page-margin);
    margin-right: 100px;
    margin-right: var(--page-margin);
  }
  .ImageCouple.ImageCouple {
    flex-direction: column-reverse;
  }
  .ImageCouple .ImageCouple--image {
    width: 100%;
  }
  .ImageCouple .ImageCouple--image:nth-child(1) {
    margin-top: 100px;
    margin-top: var(--page-margin);
    width: 100%;
    align-self: flex-end;
  }
}
.ImageForm {
  margin-left: 50px;
  margin-left: calc(0.5 * var(--page-margin));
  margin-right: 50px;
  margin-right: calc(0.5 * var(--page-margin));
  width: calc(12 / var(--gridSize) * calc(100% - 2 * var(--page-margin)) - calc(var(--gridSize) - 12) / var(--gridSize) * 50px);
  margin-left: auto;
  margin-right: auto;
  margin-top: 100px;
  margin-bottom: 100px;
}
@media (max-width: 740px) {
  .ImageForm {
    margin-left: var(--page-margin);
    margin-right: var(--page-margin);
    width: auto;
  }
}
@media print {
  .ImageForm {
    width: 100%;
    margin-left: auto;
    margin-right: auto;
  }
  .ImageForm > * {
    --gridSize: inherit;
    --page-margin: inherit;
  }
}
.ImageForm > * {
  --gridSize: 12;
  --page-margin: 0px;
}
@media print {
  .ImageForm {
    display: none !important;
  }
}

.ImageForm--header {
  display: flex;
  flex-direction: column;
}
@media (max-width: 740px) {
  .ImageForm--header {
    gap: 0;
  }
}

.ImageForm--title {
  font-weight: 500;
  font-size: 32px;
  line-height: 1;
  margin-bottom: 1em;
}
@media (min-width: 740px) {
  .ImageForm--title {
    font-size: calc(4vw + 2.4px);
  }
}
@media (min-width: 1440px) {
  .ImageForm--title {
    font-size: 60px;
  }
}
@media mobile {
  .ImageForm--title {
    line-height: 1;
  }
}
.ImageForm--title .subtitle,
.ImageForm--title .title {
  display: block;
}
.ImageForm--title .subtitle {
  color: #808080;
}

.ImageForm--intro {
  max-width: 30em;
  margin-bottom: 2em;
}

.ImageForm--body {
  display: flex;
  gap: 30px;
}
.ImageForm--body > * {
  flex: 1 1 50%;
}
@media (max-width: 900px) {
  .ImageForm--body {
    display: block;
    gap: 0;
  }
}

.ImageForm--picture + .ImageForm--text {
  margin-top: 2em;
}

.ImageText {
  margin-top: 120px;
  margin-bottom: 120px;
}
@media (max-width: 1150px) {
  .ImageText {
    margin-top: 100px;
  }
}
@media (max-width: 900px) {
  .ImageText {
    margin-top: 70px;
  }
}
@media (max-width: 1150px) {
  .ImageText {
    margin-bottom: 100px;
  }
}
@media (max-width: 900px) {
  .ImageText {
    margin-bottom: 70px;
  }
}
.MixedRichtext--inner .ImageText {
  margin-left: 0;
  margin-right: 0;
}

.ImageText--inner {
  padding-right: 100px;
  padding-right: var(--page-margin);
  padding-left: 100px;
  padding-left: var(--page-margin);
  display: flex;
}
@media (max-width: 740px) {
  .ImageText--inner {
    flex-direction: column;
    gap: 30px;
  }
}
@media print {
  .ImageText--inner {
    flex-direction: row;
  }
}

.ImageText--content {
  padding-right: 100px;
  padding-right: var(--page-margin);
  display: flex;
  flex-grow: 1;
  align-items: center;
}
@media (max-width: 900px) {
  .ImageText--content {
    padding-right: 30px;
  }
}
@media (max-width: 740px) {
  .ImageText--content {
    padding-right: 0;
    width: 100%;
  }
}
@media print {
  .ImageText--content {
    align-items: flex-start;
  }
}
.ImageText.right .ImageText--content {
  padding-left: 100px;
  padding-left: var(--page-margin);
  padding-right: 0;
}
@media (max-width: 900px) {
  .ImageText.right .ImageText--content {
    padding-left: 30px;
  }
}
@media (max-width: 740px) {
  .ImageText.right .ImageText--content {
    padding-left: 0;
  }
}

.ImageText--story {
  max-width: 80%;
  width: 100%;
}
@media (max-width: 740px) {
  .ImageText--story {
    max-width: 100%;
  }
}
.ImageText.right .ImageText--story {
  margin-right: 0;
  margin-left: auto;
}

.ImageText--picture {
  width: calc(41.6666666667% + var(--page-margin));
  flex-shrink: 0;
  margin-right: calc(var(--page-margin) * -1);
}
@media (max-width: 740px) {
  .ImageText--picture {
    width: auto;
    margin-left: calc(var(--page-margin) * -1);
    margin-right: calc(var(--page-margin) * -1);
  }
}
@media print {
  .ImageText--picture {
    width: calc(33.3333333333% + var(--page-margin));
  }
}
.ImageText.right .ImageText--picture {
  margin-right: 0;
  margin-left: calc(var(--page-margin) * -1);
  order: -1;
}
@media (max-width: 740px) {
  .ImageText.right .ImageText--picture {
    width: auto;
    margin-left: calc(var(--page-margin) * -1);
    margin-right: calc(var(--page-margin) * -1);
  }
}
@media print {
  .ImageText.right .ImageText--picture {
    width: calc(33.3333333333% + var(--page-margin));
  }
}
.ImageText--picture > .Picture,
.ImageText--picture > img {
  position: -webkit-sticky;
  position: sticky;
  width: 100%;
  top: 0;
}

.ImageText--title {
  font-weight: 500;
  font-size: 32px;
  line-height: 1;
  display: block;
  margin-bottom: 0.5em;
  line-height: 1.1;
}
@media (min-width: 740px) {
  .ImageText--title {
    font-size: calc(4vw + 2.4px);
  }
}
@media (min-width: 1440px) {
  .ImageText--title {
    font-size: 60px;
  }
}
@media mobile {
  .ImageText--title {
    line-height: 1;
  }
}
.ImageText--title .title,
.ImageText--title .subtitle {
  display: block;
}
.ImageText--title .subtitle {
  color: #808080;
}
@media print {
  .ImageText--title {
    page-break-after: avoid;
  }
}

.ImageText--tag {
  display: block;
  margin-bottom: 55px;
}

.ImageText--more {
  margin-top: 55px;
}

.ImageText--text {
  font-size: 16px;
  line-height: 1.4;
  color: #808080;
}
@media (min-width: 740px) {
  .ImageText--text {
    font-size: calc(0.5714285714vw + 11.7714285714px);
  }
}
@media (min-width: 1440px) {
  .ImageText--text {
    font-size: 20px;
  }
}
@media mobile {
  .ImageText--text {
    line-height: 1.4;
  }
}

.InfoboxWrapper {
  width: calc(6 / var(--gridSize) * calc(100% - 2 * var(--page-margin)) - calc(var(--gridSize) - 6) / var(--gridSize) * 50px);
  margin-left: auto;
  margin-right: auto;
  margin-top: 60px;
  margin-bottom: 60px;
}
@media (max-width: 740px) {
  .InfoboxWrapper {
    margin-left: var(--page-margin);
    margin-right: var(--page-margin);
    width: auto;
  }
}
@media print {
  .InfoboxWrapper {
    width: 100%;
    margin-left: auto;
    margin-right: auto;
  }
  .InfoboxWrapper > * {
    --gridSize: inherit;
    --page-margin: inherit;
  }
}
.InfoboxWrapper > * {
  --gridSize: 6;
  --page-margin: 0px;
}
@media (max-width: 1150px) {
  .InfoboxWrapper {
    margin-top: 50px;
  }
}
@media (max-width: 1150px) {
  .InfoboxWrapper {
    margin-bottom: 50px;
  }
}
.InfoboxWrapper[data-with-image] {
  width: calc(8 / var(--gridSize) * calc(100% - 2 * var(--page-margin)) - calc(var(--gridSize) - 8) / var(--gridSize) * 50px);
  margin-left: auto;
  margin-right: auto;
}
@media (max-width: 740px) {
  .InfoboxWrapper[data-with-image] {
    margin-left: var(--page-margin);
    margin-right: var(--page-margin);
    width: auto;
  }
}
@media print {
  .InfoboxWrapper[data-with-image] {
    width: 100%;
    margin-left: auto;
    margin-right: auto;
  }
  .InfoboxWrapper[data-with-image] > * {
    --gridSize: inherit;
    --page-margin: inherit;
  }
}
.InfoboxWrapper[data-with-image] > * {
  --gridSize: 8;
  --page-margin: 0px;
}
@media (max-width: 1440px) {
  .InfoboxWrapper[data-with-image] {
    width: calc(10 / var(--gridSize) * calc(100% - 2 * var(--page-margin)) - calc(var(--gridSize) - 10) / var(--gridSize) * 50px);
    margin-left: auto;
    margin-right: auto;
  }
}
@media (max-width: 1440px) and (max-width: 740px) {
  .InfoboxWrapper[data-with-image] {
    margin-left: var(--page-margin);
    margin-right: var(--page-margin);
    width: auto;
  }
}
@media print and (max-width: 1440px) {
  .InfoboxWrapper[data-with-image] {
    width: 100%;
    margin-left: auto;
    margin-right: auto;
  }
  .InfoboxWrapper[data-with-image] > * {
    --gridSize: inherit;
    --page-margin: inherit;
  }
}
@media (max-width: 1440px) {
  .InfoboxWrapper[data-with-image] > * {
    --gridSize: 10;
    --page-margin: 0px;
  }
}
@media (max-width: 900px) {
  .InfoboxWrapper[data-with-image] {
    width: calc(12 / var(--gridSize) * calc(100% - 2 * var(--page-margin)) - calc(var(--gridSize) - 12) / var(--gridSize) * 50px);
    margin-left: auto;
    margin-right: auto;
  }
}
@media (max-width: 900px) and (max-width: 740px) {
  .InfoboxWrapper[data-with-image] {
    margin-left: var(--page-margin);
    margin-right: var(--page-margin);
    width: auto;
  }
}
@media print and (max-width: 900px) {
  .InfoboxWrapper[data-with-image] {
    width: 100%;
    margin-left: auto;
    margin-right: auto;
  }
  .InfoboxWrapper[data-with-image] > * {
    --gridSize: inherit;
    --page-margin: inherit;
  }
}
@media (max-width: 900px) {
  .InfoboxWrapper[data-with-image] > * {
    --gridSize: 12;
    --page-margin: 0px;
  }
}

.Infobox {
  display: flex;
  background-color: #f2f2f2;
  align-items: center;
}
@media (max-width: 740px) {
  .Infobox {
    display: block;
  }
}

.Infobox--title {
  font-weight: 500;
  font-size: 16px;
  line-height: 1.2;
  margin-bottom: 1em;
}
@media (min-width: 740px) {
  .Infobox--title {
    font-size: calc(0.5714285714vw + 11.7714285714px);
  }
}
@media (min-width: 1440px) {
  .Infobox--title {
    font-size: 20px;
  }
}
@media mobile {
  .Infobox--title {
    line-height: 1.2;
  }
}

.Infobox--media {
  width: 50%;
  flex-shrink: 0;
}
.Infobox--media .Picture {
  margin-left: auto;
  margin-right: auto;
  max-width: 300px;
}
@media (max-width: 740px) {
  .Infobox--media {
    width: 100%;
    margin-left: auto;
    margin-right: auto;
  }
}

.Infobox--content {
  font-size: 14px;
  line-height: 1.4;
  padding-top: 60px;
  padding-bottom: 60px;
  padding-left: 60px;
  padding-right: 60px;
  flex-grow: 1;
  margin-left: auto;
  margin-right: auto;
}
@media (min-width: 740px) {
  .Infobox--content {
    font-size: calc(0.2857142857vw + 11.8857142857px);
  }
}
@media (min-width: 1440px) {
  .Infobox--content {
    font-size: 16px;
  }
}
@media mobile {
  .Infobox--content {
    line-height: 1.5;
  }
}
@media (max-width: 1150px) {
  .Infobox--content {
    padding-top: 50px;
  }
}
@media (max-width: 1150px) {
  .Infobox--content {
    padding-bottom: 50px;
  }
}
@media (max-width: 1150px) {
  .Infobox--content {
    padding-left: 50px;
  }
}
@media (max-width: 1150px) {
  .Infobox--content {
    padding-right: 50px;
  }
}

.Leadtext {
  margin-left: 100px;
  margin-left: var(--page-margin);
  margin-right: 100px;
  margin-right: var(--page-margin);
  position: relative;
  width: calc(8 / var(--gridSize) * calc(100% - 2 * var(--page-margin)) - calc(var(--gridSize) - 8) / var(--gridSize) * 50px);
  margin-left: auto;
  margin-right: auto;
  margin-top: 30px;
  margin-bottom: 120px;
}
@media (max-width: 740px) {
  .Leadtext {
    margin-left: var(--page-margin);
    margin-right: var(--page-margin);
    width: auto;
  }
}
@media print {
  .Leadtext {
    width: 100%;
    margin-left: auto;
    margin-right: auto;
  }
  .Leadtext > * {
    --gridSize: inherit;
    --page-margin: inherit;
  }
}
.Leadtext > * {
  --gridSize: 8;
  --page-margin: 0px;
}
@media (max-width: 1150px) {
  .Leadtext {
    margin-bottom: 100px;
  }
}
@media (max-width: 900px) {
  .Leadtext {
    margin-bottom: 70px;
  }
}
@media (min-width: 901px) {
  .Leadtext {
    margin-top: 120px;
    margin-bottom: 180px;
  }
}
@media (min-width: 901px) and (max-width: 1150px) {
  .Leadtext {
    margin-top: 100px;
  }
}
@media (min-width: 901px) and (max-width: 900px) {
  .Leadtext {
    margin-top: 70px;
  }
}
@media (min-width: 901px) and (max-width: 1150px) {
  .Leadtext {
    margin-bottom: 140px;
  }
}
@media (min-width: 901px) and (max-width: 900px) {
  .Leadtext {
    margin-bottom: 100px;
  }
}
@media (min-width: 1151px) {
  .Leadtext {
    margin-top: 180px;
  }
}
@media (min-width: 1151px) and (max-width: 1150px) {
  .Leadtext {
    margin-top: 140px;
  }
}
@media (min-width: 1151px) and (max-width: 900px) {
  .Leadtext {
    margin-top: 100px;
  }
}

.Leadtext--text {
  font-weight: 500;
  font-size: 22px;
  line-height: 1.1;
}
@media (min-width: 740px) {
  .Leadtext--text {
    font-size: calc(1.1428571429vw + 13.5428571429px);
  }
}
@media (min-width: 1440px) {
  .Leadtext--text {
    font-size: 30px;
  }
}
@media mobile {
  .Leadtext--text {
    line-height: 1.2;
  }
}
.Leadtext--text > *:first-child {
  margin-top: 0;
}
.Leadtext--text > *:last-child {
  margin-bottom: 0;
}
.Leadtext--text p {
  margin-bottom: 1em;
}

.Leadtext--footer {
  margin-top: 1rem;
  text-align: center;
}
.Leadtext--footer span + span {
  margin-left: 1rem;
}
.Leadtext--footer span + span:before {
  content: "•";
  color: #222222;
  margin-right: 1rem;
}

.Leadtext--category {
  font-size: 12px;
  line-height: 1.4;
  text-transform: uppercase;
  letter-spacing: 0.14em;
}

.Leadtext--date {
  font-weight: 500;
  font-size: 14px;
  line-height: 1.6;
  color: #808080;
}
@media (max-width: 580px) {
  .Leadtext--date {
    font-size: 13px;
  }
}
@media print {
  .Leadtext--date {
    font-size: 12px;
  }
}

.BergBahn {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.BergBahn + .BergBahn {
  margin-top: 1em;
}
.BergBahn > .Tag {
  transition: opacity 0.5s;
  flex: 0 0 auto;
}

[data-js-update=lift]:not(.loaded) .BergBahn > .Tag {
  opacity: 0.5;
}

.LiveData--wrapper {
  max-width: 1680px;
  margin: 0 auto;
}

.LiveData {
  margin-left: 100px;
  margin-left: var(--page-margin);
  margin-right: 100px;
  margin-right: var(--page-margin);
  position: relative;
  margin-top: 120px;
  margin-bottom: 120px;
}
@media (max-width: 1150px) {
  .LiveData {
    margin-top: 100px;
  }
}
@media (max-width: 900px) {
  .LiveData {
    margin-top: 70px;
  }
}
@media (max-width: 1150px) {
  .LiveData {
    margin-bottom: 100px;
  }
}
@media (max-width: 900px) {
  .LiveData {
    margin-bottom: 70px;
  }
}

.LiveData--title {
  margin-bottom: 1.5rem;
}
@media (min-width: 741px) {
  .LiveData--title {
    display: block;
    padding-left: 0;
    padding-right: 0;
    flex: 1 0 100%;
    max-width: 100%;
    margin-left: 0%;
  }
}
@media (min-width: 1151px) {
  .LiveData--title {
    display: block;
    padding-left: 0;
    padding-right: 0;
    flex: 1 0 83.3333333333%;
    max-width: 83.3333333333%;
    margin-left: 8.3333333333%;
  }
}

h2.LiveData--title {
  font-weight: 500;
  font-size: 28px;
  line-height: 1.1;
}
@media (min-width: 740px) {
  h2.LiveData--title {
    font-size: calc(1.7142857143vw + 15.3142857143px);
  }
}
@media (min-width: 1440px) {
  h2.LiveData--title {
    font-size: 40px;
  }
}
@media mobile {
  h2.LiveData--title {
    line-height: 1.2;
  }
}
@media (min-width: 1151px) {
  h2.LiveData--title {
    font-weight: 500;
    font-size: 32px;
    line-height: 1;
  }
}
@media (min-width: 1151px) and (min-width: 740px) {
  h2.LiveData--title {
    font-size: calc(4vw + 2.4px);
  }
}
@media (min-width: 1151px) and (min-width: 1440px) {
  h2.LiveData--title {
    font-size: 60px;
  }
}
@media mobile and (min-width: 1151px) {
  h2.LiveData--title {
    line-height: 1;
  }
}

h3.LiveData--title {
  font-weight: 500;
  font-size: 22px;
  line-height: 1.1;
}
@media (min-width: 740px) {
  h3.LiveData--title {
    font-size: calc(1.1428571429vw + 13.5428571429px);
  }
}
@media (min-width: 1440px) {
  h3.LiveData--title {
    font-size: 30px;
  }
}
@media mobile {
  h3.LiveData--title {
    line-height: 1.2;
  }
}
@media (min-width: 1151px) {
  h3.LiveData--title {
    font-weight: 500;
    font-size: 28px;
    line-height: 1.1;
  }
}
@media (min-width: 1151px) and (min-width: 740px) {
  h3.LiveData--title {
    font-size: calc(1.7142857143vw + 15.3142857143px);
  }
}
@media (min-width: 1151px) and (min-width: 1440px) {
  h3.LiveData--title {
    font-size: 40px;
  }
}
@media mobile and (min-width: 1151px) {
  h3.LiveData--title {
    line-height: 1.2;
  }
}

@media (min-width: 741px) {
  .LiveData--grid {
    display: flex;
    flex-wrap: wrap;
    position: relative;
    padding-left: 0%;
    padding-right: 0%;
    margin-left: -30px;
    margin-right: -30px;
  }
}
@media (min-width: 1151px) {
  .LiveData--grid {
    display: flex;
    flex-wrap: wrap;
    position: relative;
    padding-left: 8.3333333333%;
    padding-right: 8.3333333333%;
    margin-left: -50px;
    margin-right: -50px;
  }
}
@media (min-width: 741px) {
  .LiveData--grid .LiveData--grid--left,
  .LiveData--grid .LiveData--grid--right {
    width: 100%;
    display: block;
    padding-left: 30px;
    padding-right: 30px;
    flex: 1 0 50%;
    max-width: 50%;
  }
}
@media (min-width: 1151px) {
  .LiveData--grid .LiveData--grid--left,
  .LiveData--grid .LiveData--grid--right {
    display: block;
    padding-left: 50px;
    padding-right: 50px;
    flex: 1 0 50%;
    max-width: 50%;
  }
}

.LiveData--header {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 1.75rem;
}

.LiveData--header--temp {
  display: inline-flex;
  align-items: center;
  transition: opacity 1s;
}
.LiveData:not(.loaded) .LiveData--header--temp {
  opacity: 0;
}
.LiveData--header--temp > strong {
  font-weight: 500;
  font-size: 60px;
  line-height: 1;
}
@media (min-width: 740px) {
  .LiveData--header--temp > strong {
    font-size: calc(5.7142857143vw + 17.7142857143px);
  }
}
@media (min-width: 1440px) {
  .LiveData--header--temp > strong {
    font-size: 100px;
  }
}
@media mobile {
  .LiveData--header--temp > strong {
    line-height: 1;
  }
}
.LiveData--header--temp > .Icon {
  margin-left: 10px;
}

.LiveData--header--summary {
  color: #808080;
  text-align: right;
}

.LiveData--today .WeatherDay {
  border-top: none;
}
.LiveData--today .WeatherDay--header--summary {
  display: none;
}

.PistenSummary {
  margin-left: 100px;
  margin-left: var(--page-margin);
  margin-right: 100px;
  margin-right: var(--page-margin);
  position: relative;
  margin-top: 60px;
  margin-bottom: 60px;
  display: flex;
  flex-direction: row;
  justify-content: space-between;
}
@media (max-width: 1150px) {
  .PistenSummary {
    margin-top: 50px;
  }
}
@media (max-width: 1150px) {
  .PistenSummary {
    margin-bottom: 50px;
  }
}
@media (max-width: 400px) {
  .PistenSummary {
    flex-direction: column;
  }
}

.PistenSummary--item {
  flex: 0 0 auto;
  width: calc(33% - 20px);
  display: flex;
  flex-direction: column;
}
@media (max-width: 400px) {
  .PistenSummary--item {
    flex-direction: row;
    flex-wrap: wrap;
    align-items: baseline;
    width: auto;
    margin-bottom: calc(30px + 5vw);
  }
}
@media (min-width: 741px) {
  .PistenSummary--item {
    max-width: 200px;
  }
}

.PistenSummary--label {
  color: #808080;
  margin-bottom: 0.5rem;
}
@media (max-width: 740px) {
  .PistenSummary--label {
    order: 1;
    margin-top: 10px;
    font-weight: 500;
    font-size: 14px;
    line-height: 1.6;
  }
}
@media (max-width: 740px) and (max-width: 580px) {
  .PistenSummary--label {
    font-size: 13px;
  }
}
@media print and (max-width: 740px) {
  .PistenSummary--label {
    font-size: 12px;
  }
}
@media (max-width: 400px) {
  .PistenSummary--label {
    order: 1;
  }
}

.PistenSummary--status {
  display: flex;
}
@media (max-width: 740px) {
  .PistenSummary--status {
    align-items: baseline;
  }
}
@media (max-width: 400px) {
  .PistenSummary--status {
    width: auto;
    margin-right: 1em;
  }
}

.PistenSummary--bar {
  position: relative;
  margin-top: 10px;
  width: 100%;
  height: 8px;
  border-radius: 10px;
  background: #e6e6e6;
  max-width: 200px;
}
@media (max-width: 400px) {
  .PistenSummary--bar {
    order: 2;
    max-width: 250px;
  }
}

.PistenSummary--open {
  display: inline-flex;
  font-weight: bold;
  font-size: 58px;
  line-height: 1;
  vertical-align: text-top;
  margin-top: -4px;
  transition: opacity 1s;
}
@media (max-width: 580px) {
  .PistenSummary--open {
    font-size: 50px;
  }
}
.PistenSummary--open.blue {
  color: #004b90;
}
.PistenSummary--open.red {
  color: #ca1b45;
}
.PistenSummary--open.black {
  color: #222222;
}
.loading .PistenSummary--open {
  opacity: 0.2;
}

.PistenSummary--total {
  font-weight: 500;
  font-size: 22px;
  line-height: 1.1;
  color: #808080;
  display: inline-flex;
}
@media (min-width: 740px) {
  .PistenSummary--total {
    font-size: calc(1.1428571429vw + 13.5428571429px);
  }
}
@media (min-width: 1440px) {
  .PistenSummary--total {
    font-size: 30px;
  }
}
@media mobile {
  .PistenSummary--total {
    line-height: 1.2;
  }
}
.PistenSummary--total:before {
  content: "/";
  margin: 0 0.5em;
}

.PistenSummary--bar-inner {
  position: absolute;
  top: 0;
  left: 0;
  height: 8px;
  border-radius: 10px;
  background: #222222;
  min-width: 8px;
}
.PistenSummary--bar-inner.blue {
  background: #004b90;
}
.PistenSummary--bar-inner.red {
  background: #ca1b45;
}
.PistenSummary--bar-inner.black {
  background: #222222;
}

.WeatherDay {
  border-top: 1px solid #e6e6e6;
  border-bottom: 1px solid #e6e6e6;
}
.WeatherDay + .WeatherDay {
  margin-top: -1px;
}

.WeatherDay--header {
  position: relative;
  width: 100%;
  padding: 1em 25px 1em 0;
  text-align: left;
  cursor: pointer;
  display: flex;
  justify-content: space-between;
  align-items: center;
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none;
}

.WeatherDay--header .WeatherDay--day {
  font-weight: 500;
  font-size: 16px;
  line-height: 1.4;
  font-weight: 500;
}
@media (min-width: 740px) {
  .WeatherDay--header .WeatherDay--day {
    font-size: calc(0.5714285714vw + 11.7714285714px);
  }
}
@media (min-width: 1440px) {
  .WeatherDay--header .WeatherDay--day {
    font-size: 20px;
  }
}
@media mobile {
  .WeatherDay--header .WeatherDay--day {
    line-height: 1.4;
  }
}
@media print {
  .WeatherDay--header .WeatherDay--day {
    font-size: 14px;
  }
}
.WeatherDay--header .WeatherDay--date {
  font-weight: 500;
  font-size: 14px;
  line-height: 1.6;
  color: #808080;
}
@media (max-width: 580px) {
  .WeatherDay--header .WeatherDay--date {
    font-size: 13px;
  }
}
@media print {
  .WeatherDay--header .WeatherDay--date {
    font-size: 12px;
  }
}
.WeatherDay--header .WeatherDay--arrow {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: 0;
}
.WeatherDay--header .WeatherDay--header--summary {
  display: flex;
  align-items: center;
}
.WeatherDay--header .WeatherDay--header--summary > * {
  margin: 0 0.75em;
}

.WeatherDay--header--summary--temp {
  min-width: 4em;
  text-align: right;
}

.WeatherDay--header[aria-expanded=true] .WeatherDay--arrow {
  transform: rotate(180deg) translateY(50%);
}

.WeatherDay--data[data-hidden=true] > * {
  display: none;
}

.WeatherTable {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  font-weight: 500;
  font-size: 14px;
  line-height: 1.6;
}
@media (max-width: 580px) {
  .WeatherTable {
    font-size: 13px;
  }
}
@media print {
  .WeatherTable {
    font-size: 12px;
  }
}
.WeatherTable .WeatherTable--item {
  text-align: center;
}
.WeatherTable .WeatherTable--time {
  color: #808080;
  margin: 1em 0;
}
.WeatherTable .WeatherTable--temp {
  color: #808080;
  margin: 1em 0;
}
.WeatherTable .WeatherTable--humidity {
  color: #808080;
  margin: 1em 0;
}

.LogoBar {
  margin-top: 120px;
  margin-bottom: 120px;
}
@media (max-width: 1150px) {
  .LogoBar {
    margin-top: 100px;
  }
}
@media (max-width: 900px) {
  .LogoBar {
    margin-top: 70px;
  }
}
@media (max-width: 1150px) {
  .LogoBar {
    margin-bottom: 100px;
  }
}
@media (max-width: 900px) {
  .LogoBar {
    margin-bottom: 70px;
  }
}
.Footer--partners .LogoBar {
  margin: 0;
}
.Footer--partners .LogoBar .LogoBar--list {
  margin: 0;
  justify-content: flex-start;
}
.Footer--partners .LogoBar .LogoBar--list > li {
  min-width: 55px;
  max-width: 90px;
}
.Footer--partners .LogoBar .LogoBar--logo {
  max-width: 100%;
  max-height: 100%;
}
.Footer--partners .LogoBar .LogoBar--sectionTitle {
  text-align: left;
}

.LogoBar--list {
  margin-left: 100px;
  margin-left: var(--page-margin);
  margin-right: 100px;
  margin-right: var(--page-margin);
  position: relative;
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
}
.LogoBar--list > li {
  width: 25%;
  min-width: 220px;
  background-color: #fff;
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
}
.LogoBar--list > li:first-child {
  border-left: 0;
  border-top: 0;
}
.LogoBar--list > li::before {
  content: "";
  float: left;
  padding-bottom: 50%;
}
@media print {
  .LogoBar--list > li {
    border-left: none;
  }
}

.LogoBar--sectionTitle {
  font-size: 12px;
  line-height: 1.4;
  text-transform: uppercase;
  letter-spacing: 0.14em;
  text-align: center;
}

.LogoBar--link {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  display: block;
  transition: transform 150ms;
}
.LogoBar--link:active {
  transform: scale(0.98);
  transition-duration: 100ms;
}

.LogoBar--logo {
  position: absolute;
  max-height: 50%;
  max-width: 50%;
  top: 50%;
  left: 50%;
  width: auto;
  transform: translate(-50%, -50%);
}
@media (max-width: 1150px) {
  .LogoBar--logo {
    max-width: 75%;
  }
}

.LogoBar--partOf {
  font-size: 12px;
  line-height: 1.4;
  text-transform: uppercase;
  letter-spacing: 0.14em;
}
.LogoBar--partOf::before, .LogoBar--partOf::after {
  content: "";
  display: block;
  background-color: #e6e6e6;
  width: 1px;
  height: calc(50% - 30px);
  left: 50%;
  position: absolute;
}
.LogoBar--partOf::before {
  top: 0;
}
.LogoBar--partOf::after {
  bottom: 0;
}
@media (max-width: 740px) {
  .LogoBar--partOf::before, .LogoBar--partOf::after {
    top: 50%;
    bottom: auto;
    left: auto;
    width: calc(50% - 50px);
    height: 1px;
  }
  .LogoBar--partOf::before {
    left: 0;
  }
  .LogoBar--partOf::after {
    right: 0;
  }
}

.LogoSingle {
  margin-top: 60px;
  margin-bottom: 60px;
  width: 300px;
  margin-left: auto;
  margin-right: auto;
  display: none;
}
@media (max-width: 1150px) {
  .LogoSingle {
    margin-top: 50px;
  }
}
@media (max-width: 1150px) {
  .LogoSingle {
    margin-bottom: 50px;
  }
}
@media (min-width: 741px) {
  .LogoSingle {
    display: block;
    width: 30%;
  }
}
@media (min-width: 1151px) {
  .LogoSingle {
    width: 350px;
  }
}

.MixedRichtext {
  margin-top: 100px;
  margin-bottom: 100px;
  margin-top: 60px;
  margin-bottom: 120px;
}
@media (max-width: 1150px) {
  .MixedRichtext {
    margin-top: 50px;
  }
}
@media (max-width: 1150px) {
  .MixedRichtext {
    margin-bottom: 100px;
  }
}
@media (max-width: 900px) {
  .MixedRichtext {
    margin-bottom: 70px;
  }
}

.Accordion--item .contentful-richtext > *:not([data-component]),
.Accordion--item .contentful-richtext > [data-component=asaCallToActionButton],
.Accordion--item .contentful-richtext > [data-component=list]:not([data-style="Download List"]):not([data-style=Accordion]),
.Accordion--item .contentful-richtext [data-style="Full Width Text"],
.MixedRichtext .contentful-richtext > *:not([data-component]),
.MixedRichtext .contentful-richtext > [data-component=asaCallToActionButton],
.MixedRichtext .contentful-richtext > [data-component=list]:not([data-style="Download List"]):not([data-style=Accordion]),
.MixedRichtext .contentful-richtext [data-style="Full Width Text"] {
  width: calc(8 / var(--gridSize) * calc(100% - 2 * var(--page-margin)) - calc(var(--gridSize) - 8) / var(--gridSize) * 50px);
  margin-left: auto;
  margin-right: auto;
}
@media (max-width: 740px) {
  .Accordion--item .contentful-richtext > *:not([data-component]),
  .Accordion--item .contentful-richtext > [data-component=asaCallToActionButton],
  .Accordion--item .contentful-richtext > [data-component=list]:not([data-style="Download List"]):not([data-style=Accordion]),
  .Accordion--item .contentful-richtext [data-style="Full Width Text"],
  .MixedRichtext .contentful-richtext > *:not([data-component]),
  .MixedRichtext .contentful-richtext > [data-component=asaCallToActionButton],
  .MixedRichtext .contentful-richtext > [data-component=list]:not([data-style="Download List"]):not([data-style=Accordion]),
  .MixedRichtext .contentful-richtext [data-style="Full Width Text"] {
    margin-left: var(--page-margin);
    margin-right: var(--page-margin);
    width: auto;
  }
}
@media print {
  .Accordion--item .contentful-richtext > *:not([data-component]),
  .Accordion--item .contentful-richtext > [data-component=asaCallToActionButton],
  .Accordion--item .contentful-richtext > [data-component=list]:not([data-style="Download List"]):not([data-style=Accordion]),
  .Accordion--item .contentful-richtext [data-style="Full Width Text"],
  .MixedRichtext .contentful-richtext > *:not([data-component]),
  .MixedRichtext .contentful-richtext > [data-component=asaCallToActionButton],
  .MixedRichtext .contentful-richtext > [data-component=list]:not([data-style="Download List"]):not([data-style=Accordion]),
  .MixedRichtext .contentful-richtext [data-style="Full Width Text"] {
    width: 100%;
    margin-left: auto;
    margin-right: auto;
  }
  .Accordion--item .contentful-richtext > *:not([data-component]) > *,
  .Accordion--item .contentful-richtext > [data-component=asaCallToActionButton] > *,
  .Accordion--item .contentful-richtext > [data-component=list]:not([data-style="Download List"]):not([data-style=Accordion]) > *,
  .Accordion--item .contentful-richtext [data-style="Full Width Text"] > *,
  .MixedRichtext .contentful-richtext > *:not([data-component]) > *,
  .MixedRichtext .contentful-richtext > [data-component=asaCallToActionButton] > *,
  .MixedRichtext .contentful-richtext > [data-component=list]:not([data-style="Download List"]):not([data-style=Accordion]) > *,
  .MixedRichtext .contentful-richtext [data-style="Full Width Text"] > * {
    --gridSize: inherit;
    --page-margin: inherit;
  }
}
.Accordion--item .contentful-richtext > *:not([data-component]) > *,
.Accordion--item .contentful-richtext > [data-component=asaCallToActionButton] > *,
.Accordion--item .contentful-richtext > [data-component=list]:not([data-style="Download List"]):not([data-style=Accordion]) > *,
.Accordion--item .contentful-richtext [data-style="Full Width Text"] > *,
.MixedRichtext .contentful-richtext > *:not([data-component]) > *,
.MixedRichtext .contentful-richtext > [data-component=asaCallToActionButton] > *,
.MixedRichtext .contentful-richtext > [data-component=list]:not([data-style="Download List"]):not([data-style=Accordion]) > *,
.MixedRichtext .contentful-richtext [data-style="Full Width Text"] > * {
  --gridSize: 8;
  --page-margin: 0px;
}
@media (max-width: 1150px) {
  .Accordion--item .contentful-richtext > *:not([data-component]),
  .Accordion--item .contentful-richtext > [data-component=asaCallToActionButton],
  .Accordion--item .contentful-richtext > [data-component=list]:not([data-style="Download List"]):not([data-style=Accordion]),
  .Accordion--item .contentful-richtext [data-style="Full Width Text"],
  .MixedRichtext .contentful-richtext > *:not([data-component]),
  .MixedRichtext .contentful-richtext > [data-component=asaCallToActionButton],
  .MixedRichtext .contentful-richtext > [data-component=list]:not([data-style="Download List"]):not([data-style=Accordion]),
  .MixedRichtext .contentful-richtext [data-style="Full Width Text"] {
    width: calc(12 / var(--gridSize) * calc(100% - 2 * var(--page-margin)) - calc(var(--gridSize) - 12) / var(--gridSize) * 50px);
    margin-left: auto;
    margin-right: auto;
  }
}
@media (max-width: 1150px) and (max-width: 740px) {
  .Accordion--item .contentful-richtext > *:not([data-component]),
  .Accordion--item .contentful-richtext > [data-component=asaCallToActionButton],
  .Accordion--item .contentful-richtext > [data-component=list]:not([data-style="Download List"]):not([data-style=Accordion]),
  .Accordion--item .contentful-richtext [data-style="Full Width Text"],
  .MixedRichtext .contentful-richtext > *:not([data-component]),
  .MixedRichtext .contentful-richtext > [data-component=asaCallToActionButton],
  .MixedRichtext .contentful-richtext > [data-component=list]:not([data-style="Download List"]):not([data-style=Accordion]),
  .MixedRichtext .contentful-richtext [data-style="Full Width Text"] {
    margin-left: var(--page-margin);
    margin-right: var(--page-margin);
    width: auto;
  }
}
@media print and (max-width: 1150px) {
  .Accordion--item .contentful-richtext > *:not([data-component]),
  .Accordion--item .contentful-richtext > [data-component=asaCallToActionButton],
  .Accordion--item .contentful-richtext > [data-component=list]:not([data-style="Download List"]):not([data-style=Accordion]),
  .Accordion--item .contentful-richtext [data-style="Full Width Text"],
  .MixedRichtext .contentful-richtext > *:not([data-component]),
  .MixedRichtext .contentful-richtext > [data-component=asaCallToActionButton],
  .MixedRichtext .contentful-richtext > [data-component=list]:not([data-style="Download List"]):not([data-style=Accordion]),
  .MixedRichtext .contentful-richtext [data-style="Full Width Text"] {
    width: 100%;
    margin-left: auto;
    margin-right: auto;
  }
  .Accordion--item .contentful-richtext > *:not([data-component]) > *,
  .Accordion--item .contentful-richtext > [data-component=asaCallToActionButton] > *,
  .Accordion--item .contentful-richtext > [data-component=list]:not([data-style="Download List"]):not([data-style=Accordion]) > *,
  .Accordion--item .contentful-richtext [data-style="Full Width Text"] > *,
  .MixedRichtext .contentful-richtext > *:not([data-component]) > *,
  .MixedRichtext .contentful-richtext > [data-component=asaCallToActionButton] > *,
  .MixedRichtext .contentful-richtext > [data-component=list]:not([data-style="Download List"]):not([data-style=Accordion]) > *,
  .MixedRichtext .contentful-richtext [data-style="Full Width Text"] > * {
    --gridSize: inherit;
    --page-margin: inherit;
  }
}
@media (max-width: 1150px) {
  .Accordion--item .contentful-richtext > *:not([data-component]) > *,
  .Accordion--item .contentful-richtext > [data-component=asaCallToActionButton] > *,
  .Accordion--item .contentful-richtext > [data-component=list]:not([data-style="Download List"]):not([data-style=Accordion]) > *,
  .Accordion--item .contentful-richtext [data-style="Full Width Text"] > *,
  .MixedRichtext .contentful-richtext > *:not([data-component]) > *,
  .MixedRichtext .contentful-richtext > [data-component=asaCallToActionButton] > *,
  .MixedRichtext .contentful-richtext > [data-component=list]:not([data-style="Download List"]):not([data-style=Accordion]) > *,
  .MixedRichtext .contentful-richtext [data-style="Full Width Text"] > * {
    --gridSize: 12;
    --page-margin: 0px;
  }
}
.Accordion--item .contentful-richtext > [data-component=table],
.MixedRichtext .contentful-richtext > [data-component=table] {
  width: 100%;
  margin-left: auto;
  margin-right: auto;
}
.Accordion--item .contentful-richtext > [data-component=table] > *,
.MixedRichtext .contentful-richtext > [data-component=table] > * {
  --gridSize: inherit;
  --page-margin: inherit;
}
.Accordion--item .Accordion--content .contentful-richtext > *:not([data-component]),
.Accordion--item .Accordion--content .contentful-richtext > [data-component=asaCallToActionButton],
.Accordion--item .Accordion--content .contentful-richtext > [data-component=list]:not([data-style="Download List"]):not([data-style=Accordion]),
.Accordion--item .Accordion--content .contentful-richtext > [data-component=table],
.MixedRichtext .Accordion--content .contentful-richtext > *:not([data-component]),
.MixedRichtext .Accordion--content .contentful-richtext > [data-component=asaCallToActionButton],
.MixedRichtext .Accordion--content .contentful-richtext > [data-component=list]:not([data-style="Download List"]):not([data-style=Accordion]),
.MixedRichtext .Accordion--content .contentful-richtext > [data-component=table] {
  margin-left: 0;
}

.MixedRichtext .contentful-richtext [data-component=table]:only-child {
  width: calc(12 / var(--gridSize) * calc(100% - 2 * var(--page-margin)) - calc(var(--gridSize) - 12) / var(--gridSize) * 50px);
  margin-left: auto;
  margin-right: auto;
}
@media (max-width: 740px) {
  .MixedRichtext .contentful-richtext [data-component=table]:only-child {
    margin-left: var(--page-margin);
    margin-right: var(--page-margin);
    width: auto;
  }
}
@media print {
  .MixedRichtext .contentful-richtext [data-component=table]:only-child {
    width: 100%;
    margin-left: auto;
    margin-right: auto;
  }
  .MixedRichtext .contentful-richtext [data-component=table]:only-child > * {
    --gridSize: inherit;
    --page-margin: inherit;
  }
}
.MixedRichtext .contentful-richtext [data-component=table]:only-child > * {
  --gridSize: 12;
  --page-margin: 0px;
}

.contentful-richtext.contentful-richtext .contentful-richtext > * {
  width: 100%;
  margin-left: auto;
  margin-right: auto;
}
.contentful-richtext.contentful-richtext .contentful-richtext > * > * {
  --gridSize: inherit;
  --page-margin: inherit;
}

[data-variant=Type-FullWidthText]:has(.RichtextTable) .contentful-richtext.contentful-richtext > * {
  width: calc(12 / var(--gridSize) * calc(100% - 2 * var(--page-margin)) - calc(var(--gridSize) - 12) / var(--gridSize) * 50px);
  margin-left: auto;
  margin-right: auto;
}
@media (max-width: 740px) {
  [data-variant=Type-FullWidthText]:has(.RichtextTable) .contentful-richtext.contentful-richtext > * {
    margin-left: var(--page-margin);
    margin-right: var(--page-margin);
    width: auto;
  }
}
@media print {
  [data-variant=Type-FullWidthText]:has(.RichtextTable) .contentful-richtext.contentful-richtext > * {
    width: 100%;
    margin-left: auto;
    margin-right: auto;
  }
  [data-variant=Type-FullWidthText]:has(.RichtextTable) .contentful-richtext.contentful-richtext > * > * {
    --gridSize: inherit;
    --page-margin: inherit;
  }
}
[data-variant=Type-FullWidthText]:has(.RichtextTable) .contentful-richtext.contentful-richtext > * > * {
  --gridSize: 12;
  --page-margin: 0px;
}

[data-variant=Type-FullWidthText] .contentful-richtext.contentful-richtext [data-component=asaCallToActionButton]:only-child {
  width: calc(12 / var(--gridSize) * calc(100% - 2 * var(--page-margin)) - calc(var(--gridSize) - 12) / var(--gridSize) * 50px);
  margin-left: auto;
  margin-right: auto;
}
@media (max-width: 740px) {
  [data-variant=Type-FullWidthText] .contentful-richtext.contentful-richtext [data-component=asaCallToActionButton]:only-child {
    margin-left: var(--page-margin);
    margin-right: var(--page-margin);
    width: auto;
  }
}
@media print {
  [data-variant=Type-FullWidthText] .contentful-richtext.contentful-richtext [data-component=asaCallToActionButton]:only-child {
    width: 100%;
    margin-left: auto;
    margin-right: auto;
  }
  [data-variant=Type-FullWidthText] .contentful-richtext.contentful-richtext [data-component=asaCallToActionButton]:only-child > * {
    --gridSize: inherit;
    --page-margin: inherit;
  }
}
[data-variant=Type-FullWidthText] .contentful-richtext.contentful-richtext [data-component=asaCallToActionButton]:only-child > * {
  --gridSize: 12;
  --page-margin: 0px;
}

.Notification {
  position: relative;
  background-color: #ffffff;
  box-shadow: 0 5px 20px 0 rgba(34, 34, 34, 0.15);
  z-index: 112;
  --anim-progress: 0;
  --anim-height: 0px;
  overflow: hidden;
  height: var(--anim-height);
}
.Notification.is-open {
  --anim-progress: 1;
  --anim-height: auto;
}
.Notification.is-closed {
  --anim-progress: 0;
  --anim-height: 0px;
}
.Notification.is-complete.is-closed {
  display: none;
}
.Notification:not(.is-open), .Notification.is-closed {
  border-width: 0;
}

.Notification--inner {
  display: flex;
  flex-direction: row;
  padding: 1.5rem 1rem;
}
.Notificaton.top .Notification--inner {
  border-bottom: 1px solid #e6e6e6;
}
@media (min-width: 741px) {
  .Notification--inner {
    align-items: center;
    padding: 1.5rem 3rem;
  }
}

.Notification--icon {
  color: #222222;
  margin-right: 1.5rem !important;
}

.Notification--text {
  flex: 1;
  display: flex;
  justify-content: space-between;
  flex-direction: column;
  align-items: flex-start;
}
@media (min-width: 741px) {
  .Notification--text {
    flex-direction: row;
    align-items: center;
  }
}
@media (min-width: 1151px) {
  .Notification--text div {
    max-width: 60%;
  }
}
.Notification--text div b,
.Notification--text div strong {
  font-weight: bold;
}
@media (max-width: 740px) {
  .Notification--text div + .Button {
    margin-top: 10px;
  }
}

.Notification--close {
  color: #222222;
  margin-left: 2rem;
}

@media (min-width: 741px) {
  .Notification--link {
    margin-left: 1rem;
  }
}

.Notification.positive {
  color: #317651;
}
.Notification.positive .Notification--icon {
  color: #317651;
}

.Notification.warning {
  color: #b08c0a;
}
.Notification.warning .Notification--icon {
  color: #b08c0a;
}

.Notification.negative {
  color: #ca1b45;
}
.Notification.negative .Notification--icon {
  color: #ca1b45;
}

.PeopleCard--title {
  font-weight: 500;
  font-size: 28px;
  line-height: 1.1;
  color: #222222;
  margin-bottom: 0.5rem;
}
@media (min-width: 740px) {
  .PeopleCard--title {
    font-size: calc(1.7142857143vw + 15.3142857143px);
  }
}
@media (min-width: 1440px) {
  .PeopleCard--title {
    font-size: 40px;
  }
}
@media mobile {
  .PeopleCard--title {
    line-height: 1.2;
  }
}
@media (max-width: 1150px) {
  .PeopleCard--title {
    font-weight: 500;
    font-size: 22px;
    line-height: 1.1;
  }
}
@media (max-width: 1150px) and (min-width: 740px) {
  .PeopleCard--title {
    font-size: calc(1.1428571429vw + 13.5428571429px);
  }
}
@media (max-width: 1150px) and (min-width: 1440px) {
  .PeopleCard--title {
    font-size: 30px;
  }
}
@media mobile and (max-width: 1150px) {
  .PeopleCard--title {
    line-height: 1.2;
  }
}
@media (max-width: 740px) {
  .PeopleCard--title {
    font-weight: 500;
    font-size: 22px;
    line-height: 1.2;
  }
}
@media (max-width: 740px) and (min-width: 740px) {
  .PeopleCard--title {
    font-size: calc(0.5714285714vw + 17.7714285714px);
  }
}
@media (max-width: 740px) and (min-width: 1440px) {
  .PeopleCard--title {
    font-size: 26px;
  }
}
@media mobile and (max-width: 740px) {
  .PeopleCard--title {
    line-height: 1.2;
  }
}

.PeopleCard--body {
  color: #808080;
}
.PeopleCard--body p {
  margin-bottom: 1em;
}

.PeopleGrid--wrapper {
  margin-top: 120px;
  margin-bottom: 120px;
}
@media (max-width: 1150px) {
  .PeopleGrid--wrapper {
    margin-top: 100px;
  }
}
@media (max-width: 900px) {
  .PeopleGrid--wrapper {
    margin-top: 70px;
  }
}
@media (max-width: 1150px) {
  .PeopleGrid--wrapper {
    margin-bottom: 100px;
  }
}
@media (max-width: 900px) {
  .PeopleGrid--wrapper {
    margin-bottom: 70px;
  }
}
.PeopleGrid--wrapper .PeopleGrid--inner {
  margin-left: 100px;
  margin-left: var(--page-margin);
  margin-right: 100px;
  margin-right: var(--page-margin);
  position: relative;
}
@media (min-width: 1151px) {
  .PeopleGrid--wrapper .PeopleGrid--header {
    display: block;
    padding-left: 0px;
    padding-right: 0px;
    flex: 1 0 83.3333333333%;
    max-width: 83.3333333333%;
    margin-left: 8.3333333333%;
  }
}

.PeopleGrid {
  margin-bottom: 60px;
}
@media (max-width: 1150px) {
  .PeopleGrid {
    margin-bottom: 50px;
  }
}
@media (max-width: 900px) {
  .PeopleGrid {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
  }
}
@media (min-width: 901px) {
  .PeopleGrid {
    display: flex;
    flex-wrap: wrap;
    position: relative;
    padding-left: 0%;
    padding-right: 0%;
    margin-left: -30px;
    margin-right: -30px;
  }
}
.PeopleGrid .PeopleGrid--col {
  margin-bottom: 60px;
}
@media (max-width: 1150px) {
  .PeopleGrid .PeopleGrid--col {
    margin-bottom: 50px;
  }
}
@media (min-width: 581px) and (max-width: 900px) {
  .PeopleGrid .PeopleGrid--col {
    width: calc(33.33% - 26.6666666667px);
    margin-right: 40px;
  }
  .PeopleGrid .PeopleGrid--col:nth-child(3n) {
    margin-right: 0;
  }
}
@media (min-width: 581px) and (max-width: 740px) {
  .PeopleGrid .PeopleGrid--col {
    width: calc(33.33% - 13.3333333333px);
    margin-right: 20px;
  }
}
@media (max-width: 580px) {
  .PeopleGrid .PeopleGrid--col {
    width: calc(50% - 10px);
    margin-right: 20px;
    margin-bottom: 30px;
  }
  .PeopleGrid .PeopleGrid--col:nth-child(2n) {
    margin-right: 0;
  }
}
@media (min-width: 901px) {
  .PeopleGrid .PeopleGrid--col {
    display: block;
    padding-left: 30px;
    padding-right: 30px;
    flex: 1 0 33.3333333333%;
    max-width: 33.3333333333%;
  }
}
.PropertyTeaserList--wrapper {
  max-width: 1680px;
  margin: 0 auto;
  margin-top: 120px;
  margin-bottom: 120px;
}
@media (max-width: 1150px) {
  .PropertyTeaserList--wrapper {
    margin-top: 100px;
  }
}
@media (max-width: 900px) {
  .PropertyTeaserList--wrapper {
    margin-top: 70px;
  }
}
@media (max-width: 1150px) {
  .PropertyTeaserList--wrapper {
    margin-bottom: 100px;
  }
}
@media (max-width: 900px) {
  .PropertyTeaserList--wrapper {
    margin-bottom: 70px;
  }
}
.PropertyTeaserList--wrapper .PropertyTeaserList--inner {
  transition: opacity 0.25s ease-out;
}
.PropertyTeaserList--wrapper.filterchange .PropertyTeaserList--inner {
  transition: opacity 0.5s ease-out, transform 0.5s ease-in;
  opacity: 0.8;
}

.PropertyTeaserList--resultcount {
  margin-left: 100px;
  margin-left: var(--page-margin);
  margin-right: 100px;
  margin-right: var(--page-margin);
  position: relative;
}
.PropertyTeaserList--wrapper[data-results=true] .PropertyTeaserList--resultcount {
  position: absolute !important;
  clip: rect(0 0 0 0) !important;
  -webkit-clip-path: polygon(0 0) !important;
  clip-path: polygon(0 0) !important;
}

.PropertyTeaserList--inner {
  margin-left: 100px;
  margin-left: var(--page-margin);
  margin-right: 100px;
  margin-right: var(--page-margin);
  position: relative;
}
.PropertyTeaserList--inner .PropertyTeaserList {
  margin-bottom: 60px;
}
@media (max-width: 1150px) {
  .PropertyTeaserList--inner .PropertyTeaserList {
    margin-bottom: 50px;
  }
}

.PropertyTeaser {
  position: relative;
  overflow: hidden;
  display: flex;
  align-items: center;
  margin-bottom: 50px;
}
.PropertyTeaser[data-filter=false] {
  display: none;
}
@media (min-width: 741px) {
  .PropertyTeaser {
    display: flex;
    flex-wrap: wrap;
    position: relative;
    padding-left: 0%;
    padding-right: 0%;
    margin-left: -30px;
    margin-right: -30px;
    margin-bottom: 120px;
  }
}
@media (min-width: 741px) and (max-width: 1150px) {
  .PropertyTeaser {
    margin-bottom: 100px;
  }
}
@media (min-width: 741px) and (max-width: 900px) {
  .PropertyTeaser {
    margin-bottom: 70px;
  }
}
@media (min-width: 1441px) {
  .PropertyTeaser {
    display: flex;
    flex-wrap: wrap;
    position: relative;
    padding-left: 8.3333333333%;
    padding-right: 8.3333333333%;
    margin-left: -30px;
    margin-right: -30px;
  }
}

.PropertyTeaser--image {
  align-self: flex-start;
}
@media (max-width: 740px) {
  .PropertyTeaser--image {
    flex: 0 0 140px;
    min-width: 40%;
    margin-right: 5%;
  }
}
@media (min-width: 741px) {
  .PropertyTeaser--image {
    display: block;
    padding-left: 30px;
    padding-right: 30px;
    flex: 1 0 41.6666666667%;
    max-width: 41.6666666667%;
  }
}

@media (max-width: 740px) {
  .PropertyTeaser--body {
    flex: 1 1 160px;
  }
}
@media (min-width: 741px) {
  .PropertyTeaser--body {
    display: block;
    padding-left: 30px;
    padding-right: 30px;
    flex: 1 0 50%;
    max-width: 50%;
  }
}
@media (min-width: 1151px) {
  .PropertyTeaser--body {
    margin-left: 8.3333333333%;
  }
}

.PropertyTeaser--title {
  font-weight: 500;
  font-size: 28px;
  line-height: 1.1;
}
@media (min-width: 740px) {
  .PropertyTeaser--title {
    font-size: calc(1.7142857143vw + 15.3142857143px);
  }
}
@media (min-width: 1440px) {
  .PropertyTeaser--title {
    font-size: 40px;
  }
}
@media mobile {
  .PropertyTeaser--title {
    line-height: 1.2;
  }
}
@media (max-width: 580px) {
  .PropertyTeaser--title {
    -webkit-hyphens: auto;
    hyphens: auto;
  }
}

.PropertyTeaser--paragraph {
  margin-bottom: 1em;
  font-weight: 500;
  font-size: 14px;
  line-height: 1.6;
  margin-top: 0.8ex;
  margin-bottom: 1.5em;
  color: #808080;
}
@media (max-width: 580px) {
  .PropertyTeaser--paragraph {
    font-size: 13px;
  }
}
@media print {
  .PropertyTeaser--paragraph {
    font-size: 12px;
  }
}

.PropertyTeaser--details {
  display: flex;
  flex-direction: row;
  margin-top: 1.5em;
}
@media (max-width: 1150px) {
  .PropertyTeaser--details {
    font-weight: 500;
    font-size: 14px;
    line-height: 1.6;
    flex-direction: column;
  }
}
@media (max-width: 1150px) and (max-width: 580px) {
  .PropertyTeaser--details {
    font-size: 13px;
  }
}
@media print and (max-width: 1150px) {
  .PropertyTeaser--details {
    font-size: 12px;
  }
}
@media (max-width: 740px) {
  .PropertyTeaser--details {
    margin-top: 5px;
  }
}
.PropertyTeaser--details > p {
  flex-grow: 1;
  flex-basis: 0;
  color: #808080;
  margin-top: 10px;
}
.PropertyTeaser--details > p > strong {
  color: #222222;
  display: block;
}

.PropertyTeaser--link {
  letter-spacing: -1ex;
  text-indent: -9999px;
  color: transparent;
  text-decoration: none;
  line-height: 1;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
}

.Quicklinks {
  width: calc(8 / var(--gridSize) * calc(100% - 2 * var(--page-margin)) - calc(var(--gridSize) - 8) / var(--gridSize) * 50px);
  margin-left: auto;
  margin-right: auto;
  margin-top: 60px;
  margin-bottom: 60px;
}
@media (max-width: 740px) {
  .Quicklinks {
    margin-left: var(--page-margin);
    margin-right: var(--page-margin);
    width: auto;
  }
}
@media print {
  .Quicklinks {
    width: 100%;
    margin-left: auto;
    margin-right: auto;
  }
  .Quicklinks > * {
    --gridSize: inherit;
    --page-margin: inherit;
  }
}
.Quicklinks > * {
  --gridSize: 8;
  --page-margin: 0px;
}
@media (max-width: 1150px) {
  .Quicklinks {
    margin-top: 50px;
  }
}
@media (max-width: 1150px) {
  .Quicklinks {
    margin-bottom: 50px;
  }
}
@media print {
  .Quicklinks {
    display: none;
  }
}

.Quicklinks--title {
  font-weight: 500;
  font-size: 16px;
  line-height: 1.2;
  margin-bottom: 2em;
}
@media (min-width: 740px) {
  .Quicklinks--title {
    font-size: calc(0.5714285714vw + 11.7714285714px);
  }
}
@media (min-width: 1440px) {
  .Quicklinks--title {
    font-size: 20px;
  }
}
@media mobile {
  .Quicklinks--title {
    line-height: 1.2;
  }
}

.Quicklinks--list {
  margin-right: calc(24px * -1);
  margin-bottom: calc(24px * -1);
  display: flex;
  flex-wrap: wrap;
  page-break-inside: avoid;
  font-size: 14px;
  line-height: 1.4;
}
.Quicklinks--list > * {
  padding-right: 24px;
}
.Quicklinks--list > * {
  margin-bottom: 24px;
}
.Quicklinks--list > * {
  flex: 0 0 auto;
  width: calc(100% / 2);
}
.Quicklinks--list:after {
  content: "";
  display: table;
  clear: both;
}
@media (min-width: 740px) {
  .Quicklinks--list {
    font-size: calc(0.2857142857vw + 11.8857142857px);
  }
}
@media (min-width: 1440px) {
  .Quicklinks--list {
    font-size: 16px;
  }
}
@media mobile {
  .Quicklinks--list {
    line-height: 1.5;
  }
}
@media (max-width: 580px) {
  .Quicklinks--list {
    margin-right: 0;
    margin-bottom: calc(1em * -1);
    display: flex;
    flex-wrap: wrap;
    page-break-inside: avoid;
  }
  .Quicklinks--list > * {
    padding-right: 0;
  }
  .Quicklinks--list > * {
    margin-bottom: 1em;
  }
  .Quicklinks--list > * {
    flex: 0 0 auto;
    width: calc(100% / 1);
  }
  .Quicklinks--list:after {
    content: "";
    display: table;
    clear: both;
  }
}

.Quote {
  margin-top: 120px;
  margin-bottom: 120px;
  width: calc(10 / var(--gridSize) * calc(100% - 2 * var(--page-margin)) - calc(var(--gridSize) - 10) / var(--gridSize) * 50px);
  margin-left: auto;
  margin-right: auto;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
}
@media (max-width: 1150px) {
  .Quote {
    margin-top: 100px;
  }
}
@media (max-width: 900px) {
  .Quote {
    margin-top: 70px;
  }
}
@media (max-width: 1150px) {
  .Quote {
    margin-bottom: 100px;
  }
}
@media (max-width: 900px) {
  .Quote {
    margin-bottom: 70px;
  }
}
@media (max-width: 740px) {
  .Quote {
    margin-left: var(--page-margin);
    margin-right: var(--page-margin);
    width: auto;
  }
}
@media print {
  .Quote {
    width: 100%;
    margin-left: auto;
    margin-right: auto;
  }
  .Quote > * {
    --gridSize: inherit;
    --page-margin: inherit;
  }
}
.Quote > * {
  --gridSize: 10;
  --page-margin: 0px;
}
@media (min-width: 741px) {
  .Quote.Quote-ImageLeft, .Quote.Quote-ImageRight {
    text-align: left;
  }
  .Quote.Quote-ImageLeft .Quote--body, .Quote.Quote-ImageRight .Quote--body {
    display: block;
  }
  .Quote.Quote-ImageLeft .Quote--image, .Quote.Quote-ImageRight .Quote--image {
    width: 144px;
    height: 144px;
  }
  .Quote.Quote-ImageLeft {
    flex-direction: row;
  }
  .Quote.Quote-ImageLeft .Quote--image {
    margin-right: 48px;
  }
  .Quote.Quote-ImageRight {
    flex-direction: row-reverse;
  }
  .Quote.Quote-ImageRight .Quote--image {
    margin-left: 48px;
  }
}
.Quote hr {
  font-weight: 500;
  font-size: 32px;
  line-height: 1;
  width: 40px;
  background: #222222;
  height: 1px;
  border: none;
  margin: 1em 0;
}
@media (min-width: 740px) {
  .Quote hr {
    font-size: calc(4vw + 2.4px);
  }
}
@media (min-width: 1440px) {
  .Quote hr {
    font-size: 60px;
  }
}
@media mobile {
  .Quote hr {
    line-height: 1;
  }
}
@media (min-width: 741px) {
  .Quote hr {
    margin: 0.5em 0;
    background: transparent;
  }
}

.Quote--body {
  display: contents;
}

.Quote--text {
  font-weight: 500;
  font-size: 28px;
  line-height: 1.1;
  margin-bottom: 1em;
  position: relative;
}
@media (min-width: 740px) {
  .Quote--text {
    font-size: calc(1.7142857143vw + 15.3142857143px);
  }
}
@media (min-width: 1440px) {
  .Quote--text {
    font-size: 40px;
  }
}
@media mobile {
  .Quote--text {
    line-height: 1.2;
  }
}
.Quote--text .subtitle {
  display: block;
  color: #808080;
}
@media (max-width: 740px) {
  .Quote:not([class]) .Quote--text {
    font-weight: 500;
    font-size: 28px;
    line-height: 1.1;
    line-height: 1.4;
  }
}
@media (max-width: 740px) and (min-width: 740px) {
  .Quote:not([class]) .Quote--text {
    font-size: calc(1.7142857143vw + 15.3142857143px);
  }
}
@media (max-width: 740px) and (min-width: 1440px) {
  .Quote:not([class]) .Quote--text {
    font-size: 40px;
  }
}
@media mobile and (max-width: 740px) {
  .Quote:not([class]) .Quote--text {
    line-height: 1.2;
  }
}
.Quote:not(.quickportrait) .Quote--text:before {
  content: "“";
}
.Quote:not(.quickportrait) .Quote--text::after {
  content: "”";
}

.Quote--author {
  color: #222222;
}

.Quote--description {
  display: block;
  color: #808080;
  filter: brightness(1.3);
}

.Quote--image {
  display: block;
  width: 300px;
  height: 300px;
  border-radius: 100%;
  overflow: hidden;
  margin-bottom: 60px;
  margin-left: auto;
  margin-right: auto;
}
@media (max-width: 1150px) {
  .Quote--image {
    width: 225px;
    height: 225px;
  }
}
@media (max-width: 740px) {
  .Quote--image {
    width: 190px;
    height: 190px;
    margin-bottom: 35px;
  }
}
@media print {
  .Quote--image {
    page-break-inside: avoid;
  }
}
.Quote--image > .Picture {
  -webkit-clip-path: none;
  clip-path: none;
  transition: transform 2s cubic-bezier(0.23, 0.02, 0.15, 0.96);
}
.Quote--image > .Picture:not(.is-image-loaded) {
  -webkit-clip-path: none;
  clip-path: none;
  transform: scale(1.05);
}

.ScrollToTop {
  position: fixed;
  z-index: 90;
  display: none;
  bottom: 13px;
  right: 13px;
  right: 30px;
  transition: bottom 0.25s;
  display: block;
}
@media (max-width: 1150px) {
  .ScrollToTop {
    right: 10px;
  }
}
@media (max-width: 900px) {
  .ScrollToTop {
    right: 12px;
  }
}
html.hasChatbot .ScrollToTop {
  bottom: 83px;
}
html.hasChatbot.has-shareFlyout .ScrollToTop {
  bottom: 153px;
}
@media (max-width: 1150px) {
  html.livemenu-has-space .ScrollToTop {
    bottom: 83px;
  }
  html.livemenu-has-space.hasChatbot .ScrollToTop {
    bottom: 163px;
  }
}
.ScrollToTop .Button {
  border: none;
  background: #ffffff;
  border: 1px solid #e6e6e6;
}
.ScrollToTop .Button .Icon {
  color: #222222;
}
@media print {
  .ScrollToTop {
    display: none !important;
  }
}

.ScrollToTop .Button {
  transform-origin: 50% 50%;
  transform: translateY(0);
  transition: opacity 200ms, transform 200ms, visibility 200ms;
}

.ScrollToTop:not(.show) {
  pointer-events: none;
}
.ScrollToTop:not(.show) .Button {
  opacity: 0;
  visibility: hidden;
  transform: translateY(55%) rotate(-360deg) scale(0.8);
  pointer-events: none;
}

.SectionTitle {
  margin-top: 120px;
  margin-bottom: 60px;
  position: relative;
  display: flex;
}
@media (max-width: 1150px) {
  .SectionTitle {
    margin-top: 100px;
  }
}
@media (max-width: 900px) {
  .SectionTitle {
    margin-top: 70px;
  }
}
@media (max-width: 1150px) {
  .SectionTitle {
    margin-bottom: 50px;
  }
}
.SectionTitle:not([data-inline]) {
  margin-right: 100px;
  margin-right: var(--page-margin);
  margin-left: 100px;
  margin-left: var(--page-margin);
}
@media (max-width: 740px) {
  .SectionTitle {
    flex-direction: column;
    gap: 15px;
  }
}
@media print {
  .SectionTitle {
    page-break-after: avoid;
  }
}

.SectionTitle--text {
  font-size: 16px;
  line-height: 1.4;
  margin-top: 2em;
  color: #808080;
}
@media (min-width: 740px) {
  .SectionTitle--text {
    font-size: calc(0.5714285714vw + 11.7714285714px);
  }
}
@media (min-width: 1440px) {
  .SectionTitle--text {
    font-size: 20px;
  }
}
@media mobile {
  .SectionTitle--text {
    line-height: 1.4;
  }
}
.SectionTitle--text [data-component=asaCallToActionButton] {
  margin-top: 1em;
}

.SectionTitle--ctaWrapper,
.SectionTitle--inner {
  width: 50%;
}
@media (max-width: 1440px) {
  .SectionTitle--ctaWrapper,
  .SectionTitle--inner {
    width: 60%;
  }
}
@media (max-width: 900px) {
  .SectionTitle--ctaWrapper,
  .SectionTitle--inner {
    width: 65%;
  }
}
@media (max-width: 740px) {
  .SectionTitle--ctaWrapper,
  .SectionTitle--inner {
    width: 100%;
  }
}
@media print {
  .SectionTitle--ctaWrapper,
  .SectionTitle--inner {
    width: 100%;
  }
}

.SectionTitle--title {
  font-weight: 500;
  font-size: 32px;
  line-height: 1;
}
@media (min-width: 740px) {
  .SectionTitle--title {
    font-size: calc(4vw + 2.4px);
  }
}
@media (min-width: 1440px) {
  .SectionTitle--title {
    font-size: 60px;
  }
}
@media mobile {
  .SectionTitle--title {
    line-height: 1;
  }
}
.SectionTitle--title .subtitle,
.SectionTitle--title .title {
  display: block;
}
.SectionTitle--title .title {
  line-height: 1.1;
}
.SectionTitle--title .subtitle {
  color: #808080;
}

.SectionTitle--ctaWrapper {
  display: flex;
  align-items: flex-end;
  justify-content: flex-end;
}
@media print {
  .SectionTitle--ctaWrapper {
    display: none;
  }
}

.ShareFlyout--trigger {
  position: fixed;
  right: 13px;
  right: 30px;
  z-index: 100;
  bottom: 13px;
}
@media (max-width: 1150px) {
  .ShareFlyout--trigger {
    right: 10px;
  }
}
@media (max-width: 900px) {
  .ShareFlyout--trigger {
    right: 12px;
  }
}
html.hasChatbot .ShareFlyout--trigger {
  bottom: 83px;
}
.ShareFlyout--trigger .Button {
  background: #ffffff;
}
@media print {
  .ShareFlyout--trigger {
    display: none !important;
  }
}

.ShareFlyout {
  position: fixed;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  margin: auto;
  z-index: 1000;
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
}
.ShareFlyout.is-closed {
  display: none;
}
.ShareFlyout .ShareFlyout--close {
  position: absolute;
  width: 100%;
  height: 100%;
  z-index: 1;
  background: rgba(34, 34, 34, 0.5);
}
.ShareFlyout .ShareFlyout--content {
  position: relative;
  z-index: 2;
}

.ShareFlyout--linklist {
  padding: 0 30px;
}
.ShareFlyout--linklist li {
  border-top: 1px solid #e6e6e6;
}
.ShareFlyout--linklist li:last-child {
  border-bottom: 1px solid #e6e6e6;
}

.ShareFlyout--content {
  padding-top: 60px;
  padding-bottom: 60px;
  background: #ffffff;
  max-width: 600px;
  width: 100%;
  max-height: 700px;
}
@media (max-width: 1150px) {
  .ShareFlyout--content {
    padding-top: 50px;
  }
}
@media (max-width: 1150px) {
  .ShareFlyout--content {
    padding-bottom: 50px;
  }
}
@media (min-width: 741px) {
  .ShareFlyout--content {
    min-height: 450px;
  }
}
.ShareFlyout--content h3 {
  font-weight: 500;
  font-size: 32px;
  line-height: 1;
  margin-bottom: 60px;
  text-align: center;
}
@media (min-width: 740px) {
  .ShareFlyout--content h3 {
    font-size: calc(4vw + 2.4px);
  }
}
@media (min-width: 1440px) {
  .ShareFlyout--content h3 {
    font-size: 60px;
  }
}
@media mobile {
  .ShareFlyout--content h3 {
    line-height: 1;
  }
}
@media (max-width: 1150px) {
  .ShareFlyout--content h3 {
    margin-bottom: 50px;
  }
}
@media (min-width: 581px) {
  .ShareFlyout--content {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    grid-template-rows: auto 1fr;
  }
  .ShareFlyout--content > h3 {
    grid-area: 1/1/2/3;
  }
  .ShareFlyout--content .ShareFlyout--linklist-left {
    grid-area: 2/1/3/2;
  }
  .ShareFlyout--content .ShareFlyout--linklist-right {
    grid-area: 2/2/3/3;
  }
}
@media (max-width: 580px) {
  .ShareFlyout--content .ShareFlyout--linklist-right {
    margin-bottom: 60px;
  }
}
@media (max-width: 580px) and (max-width: 1150px) {
  .ShareFlyout--content .ShareFlyout--linklist-right {
    margin-bottom: 50px;
  }
}

.ShareFlyout--link {
  position: relative;
  width: 100%;
  display: flex;
  align-items: center;
  padding: 1.5rem 0 1.35rem;
}
.ShareFlyout--link .copyNotify {
  background: #222222;
  color: #ffffff;
  padding: 1px 2px;
  font-size: 10px;
  border-radius: 3px;
  display: none;
  position: absolute;
  right: 50px;
}
.ShareFlyout--link span {
  font-size: 12px;
  line-height: 1.4;
  text-transform: uppercase;
  letter-spacing: 0.14em;
}
.ShareFlyout--link .Icon.before {
  margin-right: 1rem;
}
.ShareFlyout--link .Icon.after {
  margin-left: auto;
}

.ShareFlyout--close--btn {
  position: absolute;
  top: 35px;
  right: 35px;
}
.ShareFlyout--close--btn svg {
  overflow: hidden;
}
.ShareFlyout--close--btn:hover svg path:nth-child(1) {
  animation: close-path1 600ms cubic-bezier(0.645, 0.045, 0.355, 1) 0s 1;
  animation-delay: 50ms;
}
.ShareFlyout--close--btn:hover svg path:nth-child(2) {
  animation: close-path2 500ms cubic-bezier(0.645, 0.045, 0.355, 1) 0s 1;
}

@keyframes close-path1 {
  0% {
    transform: translate(0, 0);
  }
  40% {
    transform: translate(75%, -75%);
  }
  40.02% {
    transform: translate(-75%, 75%);
  }
  100% {
    transform: translate(0, 0);
  }
}
@keyframes close-path2 {
  0% {
    transform: translate(0, 0);
  }
  40% {
    transform: translate(75%, 75%);
  }
  40.02% {
    transform: translate(-75%, -75%);
  }
  100% {
    transform: translate(0, 0);
  }
}
.SocialMediaLinks--list {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  margin-right: -0.8em;
  margin-bottom: -0.8em;
}
.SocialMediaLinks--list > li {
  display: inline-block;
  margin-right: 0.8em;
  margin-bottom: 0.8em;
}

.SocialWall .j-filters.filters {
  display: none;
}
.SocialWall .juicer-feed.modern .feed-item {
  border-width: 0px;
}
.SocialWall .juicer-feed.modern .j-poster {
  display: none;
}
.SocialWall .juicer-feed.modern .j-image {
  display: block;
  overflow: hidden;
  -webkit-clip-path: inset(0% round 4px);
  clip-path: inset(0% round 4px);
  transition: all 400ms cubic-bezier(0.215, 0.61, 0.355, 1);
  border: 0px solid transparent;
}
.SocialWall .juicer-feed.modern .j-image img {
  transition: all 1400ms cubic-bezier(0.215, 0.61, 0.355, 1);
  transform: scale(1.01);
}
.SocialWall .juicer-feed.modern .j-image:hover {
  -webkit-clip-path: inset(1% round 4px);
  clip-path: inset(1% round 4px);
}
.SocialWall .juicer-feed.modern .j-image:hover img {
  transform: scale(1.05);
  display: block;
}
.SocialWall .juicer-feed.modern .j-text {
  position: absolute;
  bottom: 0;
  right: 0;
  padding: 15px;
}
.SocialWall .juicer-feed.modern .j-meta {
  margin: 0;
}
.SocialWall .juicer-feed.modern .j-meta ul {
  display: none;
}
.SocialWall .juicer-feed.modern .j-meta a {
  color: #ffffff;
  pointer-events: none;
}
.SocialWall .juicer-feed.modern .j-meta a:before {
  text-shadow: 0px 3px 3px rgba(0, 0, 0, 0.25);
  margin: 0;
}
.SocialWall .juicer-feed.modern .j-text .j-message {
  display: none;
}
.SocialWall .juicer-feed.modern .j-meta li.feed-item {
  border: none;
  padding: 2%;
}

.j-overlay {
  display: flex;
  padding-top: 0 !important;
}
.j-overlay .j-overlay-content {
  margin: auto !important;
}
.j-overlay .j-close {
  background-position: center center;
}
.j-overlay .j-poster h3 {
  display: none;
}

@media (min-width: 1151px) {
  .j-post-overlay {
    display: flex;
    align-items: center;
  }
}
@media (min-width: 1151px) {
  .j-post-overlay.juicer-feed .image, .j-post-overlay.juicer-feed .j-overlay-text {
    flex-basis: 0;
    flex-grow: 1;
  }
}
.j-post-overlay .j-previous,
.j-post-overlay .j-next {
  position: fixed;
  top: 100%;
  left: 50%;
  transform: translateY(-150%) translateX(-110%);
  width: 65px;
  height: 65px;
  background-color: #f8f8f8;
  border-radius: 50%;
  line-height: 65px;
  text-align: center;
  text-indent: -2px;
}
@media (min-width: 741px) {
  .j-post-overlay .j-previous,
  .j-post-overlay .j-next {
    transform: translateY(-50%);
    top: 50%;
    left: 2%;
  }
}
@media (min-width: 1441px) {
  .j-post-overlay .j-previous,
  .j-post-overlay .j-next {
    left: 7%;
  }
}
.j-post-overlay .j-previous:before,
.j-post-overlay .j-next:before {
  color: #222222;
}
.j-post-overlay .j-next {
  left: auto;
  right: 50%;
  text-indent: 2px;
  transform: translateY(-150%) translateX(110%);
}
@media (min-width: 741px) {
  .j-post-overlay .j-next {
    transform: translateY(-50%);
    right: 2%;
  }
}
@media (min-width: 1441px) {
  .j-post-overlay .j-next {
    right: 7%;
  }
}

.j-post-overlay.juicer-feed .j-overlay-text {
  overflow: hidden;
  display: flex;
  padding: 25px;
  flex-direction: column;
  align-items: center;
}
.j-post-overlay.juicer-feed .j-overlay-text .j-message p {
  text-align: center;
}
.j-post-overlay.juicer-feed .j-overlay-text .j-bottom {
  text-align: center;
}
.j-post-overlay.juicer-feed .j-overlay-text .j-share {
  display: none;
}
.j-post-overlay.juicer-feed .j-overlay-text .juicer-button {
  padding: 17px 32px;
  border: 1px solid #e6e6e6;
  border-radius: 3px;
  color: #222222;
  box-shadow: 0 0 0 0px white;
}

.SocialWall--wrapper {
  max-width: 1680px;
  margin: 0 auto;
  padding-top: 120px;
  margin-bottom: 120px;
}
@media (max-width: 1150px) {
  .SocialWall--wrapper {
    padding-top: 100px;
  }
}
@media (max-width: 900px) {
  .SocialWall--wrapper {
    padding-top: 70px;
  }
}
@media (max-width: 1150px) {
  .SocialWall--wrapper {
    margin-bottom: 100px;
  }
}
@media (max-width: 900px) {
  .SocialWall--wrapper {
    margin-bottom: 70px;
  }
}
.SocialWall--wrapper .SocialWall--inner {
  margin-left: 100px;
  margin-left: var(--page-margin);
  margin-right: 100px;
  margin-right: var(--page-margin);
  position: relative;
}
.SocialWall--wrapper .SocialWall--header,
.SocialWall--wrapper .SocialWall--footer {
  text-align: center;
}
.SocialWall--wrapper .SocialWall--header {
  margin-bottom: 60px;
}
@media (max-width: 1150px) {
  .SocialWall--wrapper .SocialWall--header {
    margin-bottom: 50px;
  }
}
.SocialWall--wrapper .SocialWall--footer {
  margin-top: 60px;
}
@media (max-width: 1150px) {
  .SocialWall--wrapper .SocialWall--footer {
    margin-top: 50px;
  }
}
@media print {
  .SocialWall--wrapper {
    display: none !important;
  }
}

@media (min-width: 741px) {
  .SocialWall {
    display: flex;
    flex-wrap: wrap;
    position: relative;
    padding-left: 0%;
    padding-right: 0%;
    margin-left: -30px;
    margin-right: -30px;
  }
}
@media (min-width: 741px) {
  .SocialWall .SocialWall--col {
    display: block;
    padding-left: 30px;
    padding-right: 30px;
    flex: 1 0 33.3333333333%;
    max-width: 33.3333333333%;
  }
}

.SocialWall--col {
  align-self: center;
}
@media (min-width: 901px) {
  .SocialWall--col:nth-child(odd) {
    padding: 8%;
  }
}

.SocialWall--title {
  font-weight: 500;
  font-size: 32px;
  line-height: 1;
  margin-bottom: 0.75em;
}
@media (min-width: 740px) {
  .SocialWall--title {
    font-size: calc(4vw + 2.4px);
  }
}
@media (min-width: 1440px) {
  .SocialWall--title {
    font-size: 60px;
  }
}
@media mobile {
  .SocialWall--title {
    line-height: 1;
  }
}

.SocialWall--text {
  font-weight: 500;
  font-size: 14px;
  line-height: 1.6;
  color: #808080;
}
@media (max-width: 580px) {
  .SocialWall--text {
    font-size: 13px;
  }
}
@media print {
  .SocialWall--text {
    font-size: 12px;
  }
}

.SplitImage {
  position: relative;
}
.SplitImage:before {
  content: "";
  display: block;
  padding-bottom: 50%;
}
@media (min-width: 741px) {
  .HeroDetail--image .SplitImage {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
  }
}
@media (max-width: 740px) {
  .HeroDetail--image .SplitImage {
    position: relative;
    padding-bottom: 150%;
  }
}
.HeroDetail--image .SplitImage:before {
  display: none;
}

.SplitImage--inner {
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
}
.SplitImage--inner .SplitImage--images {
  position: absolute;
  top: 0;
  height: 50%;
  left: 0;
  width: 100%;
}
.SplitImage--inner .SplitImage--images-bottom {
  top: 50%;
}

.SplitImage--images {
  position: relative;
  overflow: hidden;
}
.SplitImage--images.SplitImage--images-top .Picture img {
  -o-object-position: center bottom;
  object-position: center bottom;
}
.SplitImage--images.SplitImage--images-bottom .Picture img {
  -o-object-position: center top;
  object-position: center top;
}
.SplitImage--images .Picture {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  width: 100%;
  height: 100%;
  overflow: hidden;
  z-index: 0;
}
.SplitImage--images .Picture.is-active {
  z-index: 1;
}

.StickyBar--wrapper.is-active .StickyBar {
  opacity: 1;
  transform: translateY(0);
  transition: 0.3s transform;
}

.StickyBar--wrapper {
  position: relative;
}

.StickyBar {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 99;
  width: 100%;
  background: #ffffff;
  padding: 0;
  box-shadow: 0px 10px 60px rgba(0, 0, 0, 0.1);
  margin-bottom: 1.25rem;
  transform: translateY(-100%);
  transition: 0.3s transform, opacity 0.3s;
  opacity: 0;
}
.StickyBar:after {
  content: "";
  width: 100%;
  height: 1px;
  background: #cccccc;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
}
@media (min-width: 741px) {
  .StickyBar:after {
    top: auto;
    bottom: 0;
  }
}
.StickyBar .StickyBar--inner {
  display: flex;
  flex-direction: row;
  justify-content: flex-end;
  align-items: center;
  width: 100%;
  max-width: 1600px;
  margin-left: auto;
  margin-right: auto;
}
@media print {
  .StickyBar {
    display: none !important;
  }
}

.StickyBar--title {
  flex: 1;
  font-weight: 500;
  font-size: 16px;
  line-height: 1.4;
  font-weight: 500;
}
@media (min-width: 740px) {
  .StickyBar--title {
    font-size: calc(0.5714285714vw + 11.7714285714px);
  }
}
@media (min-width: 1440px) {
  .StickyBar--title {
    font-size: 20px;
  }
}
@media mobile {
  .StickyBar--title {
    line-height: 1.4;
  }
}
@media print {
  .StickyBar--title {
    font-size: 14px;
  }
}
@media (min-width: 741px) {
  .StickyBar--title {
    margin-left: 1rem;
    margin-right: 60px;
  }
}

.StickyBar--text {
  font-weight: 500;
  font-size: 14px;
  line-height: 1.6;
  color: #808080;
  margin-left: 20px;
  margin-right: 20px;
  max-width: 360px;
}
@media (max-width: 580px) {
  .StickyBar--text {
    font-size: 13px;
  }
}
@media print {
  .StickyBar--text {
    font-size: 12px;
  }
}
@media (max-width: 900px) {
  .StickyBar--text {
    flex-grow: 1;
    max-width: none;
  }
}

.StickyBar--button {
  position: static;
  margin-right: 20px;
  margin-left: 20px;
  max-width: none;
}
@media (max-width: 740px) {
  .StickyBar--button:not(.icon-only) {
    font-size: 12px;
    padding: 9px 14px;
  }
}

.StickyBar.has-tabs {
  padding-left: 0;
  display: flex;
  flex-direction: row;
  overflow-x: auto;
  overflow-y: hidden;
  justify-content: flex-end;
  min-height: 70px;
  -webkit-overflow-scrolling: touch;
}
.StickyBar.has-tabs::-webkit-scrollbar {
  display: none;
}
.StickyBar.has-tabs .Tabs {
  justify-content: flex-start;
  margin: 0;
  flex: 1 1 auto;
  border-bottom: none;
  align-self: flex-end;
  padding-right: 1.5rem;
  position: relative;
  z-index: 2;
  box-shadow: none;
}
@media (max-width: 900px) {
  .StickyBar.has-tabs .Tabs {
    display: none;
  }
}
.StickyBar.has-tabs .Tabs--list {
  margin: 0;
}
.StickyBar.has-tabs .StickyBar--button {
  white-space: nowrap;
  position: static;
}

.StickyButton {
  width: calc(12 / var(--gridSize) * calc(100% - 2 * var(--page-margin)) - calc(var(--gridSize) - 12) / var(--gridSize) * 50px);
  margin-left: auto;
  margin-right: auto;
  z-index: 1;
  top: calc(100vh - 150px);
  position: -webkit-sticky;
  position: sticky;
  text-align: center;
}
@media (max-width: 740px) {
  .StickyButton {
    margin-left: var(--page-margin);
    margin-right: var(--page-margin);
    width: auto;
  }
}
@media print {
  .StickyButton {
    width: 100%;
    margin-left: auto;
    margin-right: auto;
  }
  .StickyButton > * {
    --gridSize: inherit;
    --page-margin: inherit;
  }
}
.StickyButton > * {
  --gridSize: 12;
  --page-margin: 0px;
}
@media (max-width: 1150px) {
  .StickyButton {
    top: calc(100vh - 100px);
  }
}
@media (max-width: 740px) {
  .StickyButton {
    top: calc(100vh - 70px);
  }
}
@media print {
  .StickyButton {
    display: none;
  }
}

@media (min-width: 741px) {
  .StoryLeftRight {
    display: flex;
    align-items: flex-start;
  }
  .StoryLeftRight--left,
  .StoryLeftRight--right {
    display: flex;
  }
  .StoryLeftRight--left {
    flex: 0 0 auto;
    margin-left: 100px;
    margin-left: var(--page-margin);
    margin-right: 100px;
    margin-right: var(--page-margin);
    flex-basis: calc(50% + -150px);
    flex-basis: calc(50% + -1.5 * var(--page-margin));
    flex-direction: column-reverse;
  }
  .StoryLeftRight--left .StoryLeftRight--text {
    margin-top: 100px;
    margin-top: var(--page-margin);
    margin-left: 100px;
    margin-left: var(--page-margin);
  }
  .StoryLeftRight--right {
    flex-direction: column;
    flex-grow: 1;
  }
  .StoryLeftRight--right .StoryLeftRight--text {
    margin-bottom: 100px;
    margin-bottom: var(--page-margin);
    margin-right: 200px;
    margin-right: calc(2 * var(--page-margin));
  }
  .StoryLeftRight--text {
    flex-grow: 1;
    color: #808080;
  }
}
@media (max-width: 740px) {
  .StoryLeftRight--text {
    margin: 40px var(--page-margin);
    color: #808080;
  }
}
.StoryLeftRight--title {
  font-weight: 500;
  font-size: 22px;
  line-height: 1.1;
  color: #222222;
  margin-bottom: 2ex;
}
@media (min-width: 740px) {
  .StoryLeftRight--title {
    font-size: calc(1.1428571429vw + 13.5428571429px);
  }
}
@media (min-width: 1440px) {
  .StoryLeftRight--title {
    font-size: 30px;
  }
}
@media mobile {
  .StoryLeftRight--title {
    line-height: 1.2;
  }
}

.TableRealEstate--wrapper {
  max-width: 1680px;
  margin: 0 auto;
  margin-top: 120px;
  margin-bottom: 120px;
}
@media (max-width: 1150px) {
  .TableRealEstate--wrapper {
    margin-top: 100px;
  }
}
@media (max-width: 900px) {
  .TableRealEstate--wrapper {
    margin-top: 70px;
  }
}
@media (max-width: 1150px) {
  .TableRealEstate--wrapper {
    margin-bottom: 100px;
  }
}
@media (max-width: 900px) {
  .TableRealEstate--wrapper {
    margin-bottom: 70px;
  }
}

.TableRealEstate {
  margin-left: 100px;
  margin-left: var(--page-margin);
  margin-right: 100px;
  margin-right: var(--page-margin);
  position: relative;
}
@media (min-width: 1151px) {
  .TableRealEstate .TableRealEstate--inner {
    display: block;
    padding-left: 0px;
    padding-right: 0px;
    flex: 1 0 83.3333333333%;
    max-width: 83.3333333333%;
    margin-left: 8.3333333333%;
  }
}
.TableRealEstate .TableRealEstate--title {
  font-weight: 500;
  font-size: 28px;
  line-height: 1.1;
  margin-bottom: 60px;
}
@media (min-width: 740px) {
  .TableRealEstate .TableRealEstate--title {
    font-size: calc(1.7142857143vw + 15.3142857143px);
  }
}
@media (min-width: 1440px) {
  .TableRealEstate .TableRealEstate--title {
    font-size: 40px;
  }
}
@media mobile {
  .TableRealEstate .TableRealEstate--title {
    line-height: 1.2;
  }
}
@media (max-width: 1150px) {
  .TableRealEstate .TableRealEstate--title {
    margin-bottom: 50px;
  }
}
@media (max-width: 740px) {
  .TableRealEstate table td:first-child:before {
    display: none;
  }
}

.TableSummary {
  width: calc(12 / var(--gridSize) * calc(100% - 2 * var(--page-margin)) - calc(var(--gridSize) - 12) / var(--gridSize) * 50px);
  margin-left: auto;
  margin-right: auto;
  margin-top: 60px;
  margin-bottom: 60px;
}
@media (max-width: 740px) {
  .TableSummary {
    margin-left: var(--page-margin);
    margin-right: var(--page-margin);
    width: auto;
  }
}
@media print {
  .TableSummary {
    width: 100%;
    margin-left: auto;
    margin-right: auto;
  }
  .TableSummary > * {
    --gridSize: inherit;
    --page-margin: inherit;
  }
}
.TableSummary > * {
  --gridSize: 12;
  --page-margin: 0px;
}
@media (max-width: 1150px) {
  .TableSummary {
    margin-top: 50px;
  }
}
@media (max-width: 1150px) {
  .TableSummary {
    margin-bottom: 50px;
  }
}

.TableSummary--table {
  --flexgrid-column-gap: 30px;
  --flexgrid-row-gap: 30px;
  margin-right: calc(var(--flexgrid-column-gap) * -1);
  margin-bottom: calc(var(--flexgrid-row-gap) * -1);
  display: flex;
  flex-wrap: wrap;
  page-break-inside: avoid;
  display: flex;
  width: 100%;
}
.TableSummary--table > * {
  padding-right: var(--flexgrid-column-gap);
}
.TableSummary--table > * {
  margin-bottom: var(--flexgrid-row-gap);
}
.TableSummary--table > * {
  flex: 0 0 auto;
  width: calc(100% / 2);
}
.TableSummary--table:after {
  content: "";
  display: table;
  clear: both;
}

.TableSummary--entry {
  padding-bottom: 24px;
  padding-top: 24px;
  border-top: 1px solid #e6e6e6;
}
@media print {
  .TableSummary--entry {
    border-top: 0;
    padding-bottom: 0;
    padding-top: 0;
  }
}

.TableSummary--entry > dt {
  color: #808080;
  margin-bottom: 0.4em;
}

.Tabs {
  margin-top: 30px;
  margin-bottom: 30px;
  white-space: nowrap;
  padding-left: 20px;
  overflow-x: auto;
  display: flex;
}
.Tabs.no-gap {
  margin-bottom: 0;
}
.Tabs.sticky {
  background: white;
  position: -webkit-sticky;
  position: sticky;
  top: -1px;
  left: 0;
  right: 0;
  z-index: 21;
}
@media print {
  .Tabs {
    display: none !important;
  }
}

.Tabs--list {
  display: flex;
}
@media (min-width: 741px) {
  .Tabs--list {
    margin: 0 auto;
  }
}

.Tabs--item {
  color: #808080;
  position: relative;
  z-index: 1;
}
@media (max-width: 740px) {
  .Tabs--item:last-child {
    padding-right: 20px;
  }
}
.Tabs--item + .Tabs--item {
  margin-left: 2rem;
}

.Tabs--link {
  font-weight: 500;
  font-size: 14px;
  line-height: 1.3;
  position: relative;
  display: block;
  padding-left: 4px;
  padding-right: 4px;
  line-height: 76px;
  white-space: nowrap;
}
@media (min-width: 740px) {
  .Tabs--link {
    font-size: calc(0.2857142857vw + 11.8857142857px);
  }
}
@media (min-width: 1440px) {
  .Tabs--link {
    font-size: 16px;
  }
}
@media mobile {
  .Tabs--link {
    line-height: 1.3;
  }
}
.Tabs--link:hover {
  color: #333333;
}
.Tabs--link.active {
  color: #333333;
}
.Tabs--link:after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: 1px;
  border-bottom: 2px solid #222222;
  transform-origin: bottom;
  transition: all 0.5s cubic-bezier(0.77, 0, 0.175, 1);
}
.Tabs--link:not(.active):after {
  opacity: 0;
  transform: scaleX(0.8) scaleY(0.5);
}
@media (min-width: 741px) {
  .Tabs--link > .Icon {
    height: 32px;
    width: 32px;
  }
}

.TitleText--wrapper {
  width: calc(12 / var(--gridSize) * calc(100% - 2 * var(--page-margin)) - calc(var(--gridSize) - 12) / var(--gridSize) * 50px);
  margin-left: auto;
  margin-right: auto;
}
@media (max-width: 740px) {
  .TitleText--wrapper {
    margin-left: var(--page-margin);
    margin-right: var(--page-margin);
    width: auto;
  }
}
@media print {
  .TitleText--wrapper {
    width: 100%;
    margin-left: auto;
    margin-right: auto;
  }
  .TitleText--wrapper > * {
    --gridSize: inherit;
    --page-margin: inherit;
  }
}
.TitleText--wrapper > * {
  --gridSize: 12;
  --page-margin: 0px;
}

.TitleText {
  margin-top: 120px;
  margin-bottom: 120px;
}
@media (max-width: 1150px) {
  .TitleText {
    margin-top: 100px;
  }
}
@media (max-width: 900px) {
  .TitleText {
    margin-top: 70px;
  }
}
@media (max-width: 1150px) {
  .TitleText {
    margin-bottom: 100px;
  }
}
@media (max-width: 900px) {
  .TitleText {
    margin-bottom: 70px;
  }
}

.TitleText--title .title,
.TitleText--title .subtitle,
.TitleText--title-h1 .title,
.TitleText--title-h1 .subtitle {
  display: block;
}
.TitleText--title .subtitle,
.TitleText--title-h1 .subtitle {
  color: #808080;
}

.TitleText--title-h1 {
  font-weight: 500;
  font-size: 32px;
  line-height: 1;
  margin-bottom: 1.5rem;
}
@media (min-width: 740px) {
  .TitleText--title-h1 {
    font-size: calc(4vw + 2.4px);
  }
}
@media (min-width: 1440px) {
  .TitleText--title-h1 {
    font-size: 60px;
  }
}
@media mobile {
  .TitleText--title-h1 {
    line-height: 1;
  }
}
@media (min-width: 1151px) {
  .TitleText--title-h1 {
    font-weight: 500;
    font-size: 40px;
    line-height: 1;
  }
}
@media (min-width: 1151px) and (min-width: 740px) {
  .TitleText--title-h1 {
    font-size: calc(5.7142857143vw - 2.2857142857px);
  }
}
@media (min-width: 1151px) and (min-width: 1440px) {
  .TitleText--title-h1 {
    font-size: 80px;
  }
}
@media mobile and (min-width: 1151px) {
  .TitleText--title-h1 {
    line-height: 1;
  }
}
@media (min-width: 1151px) and (max-width: 580px) {
  .TitleText--title-h1 {
    -webkit-hyphens: auto;
    hyphens: auto;
  }
}

h2.TitleText--title {
  font-weight: 500;
  font-size: 28px;
  line-height: 1.1;
  margin-bottom: 1.5rem;
}
@media (min-width: 740px) {
  h2.TitleText--title {
    font-size: calc(1.7142857143vw + 15.3142857143px);
  }
}
@media (min-width: 1440px) {
  h2.TitleText--title {
    font-size: 40px;
  }
}
@media mobile {
  h2.TitleText--title {
    line-height: 1.2;
  }
}
@media (min-width: 1151px) {
  h2.TitleText--title {
    font-weight: 500;
    font-size: 32px;
    line-height: 1;
  }
}
@media (min-width: 1151px) and (min-width: 740px) {
  h2.TitleText--title {
    font-size: calc(4vw + 2.4px);
  }
}
@media (min-width: 1151px) and (min-width: 1440px) {
  h2.TitleText--title {
    font-size: 60px;
  }
}
@media mobile and (min-width: 1151px) {
  h2.TitleText--title {
    line-height: 1;
  }
}

h3.TitleText--title {
  font-weight: 500;
  font-size: 22px;
  line-height: 1.1;
  margin-bottom: 1.5rem;
}
@media (min-width: 740px) {
  h3.TitleText--title {
    font-size: calc(1.1428571429vw + 13.5428571429px);
  }
}
@media (min-width: 1440px) {
  h3.TitleText--title {
    font-size: 30px;
  }
}
@media mobile {
  h3.TitleText--title {
    line-height: 1.2;
  }
}
@media (min-width: 1151px) {
  h3.TitleText--title {
    font-weight: 500;
    font-size: 28px;
    line-height: 1.1;
  }
}
@media (min-width: 1151px) and (min-width: 740px) {
  h3.TitleText--title {
    font-size: calc(1.7142857143vw + 15.3142857143px);
  }
}
@media (min-width: 1151px) and (min-width: 1440px) {
  h3.TitleText--title {
    font-size: 40px;
  }
}
@media mobile and (min-width: 1151px) {
  h3.TitleText--title {
    line-height: 1.2;
  }
}

.TitleText--grid {
  display: flex;
  gap: 30px;
}
.TitleText--grid > * {
  flex: 1 1 50%;
}
@media (max-width: 900px) {
  .TitleText--grid {
    display: block;
    gap: 0;
  }
}

.VideoPlayerWrapper {
  margin-top: 120px;
  margin-bottom: 120px;
}
@media (max-width: 1150px) {
  .VideoPlayerWrapper {
    margin-top: 100px;
  }
}
@media (max-width: 900px) {
  .VideoPlayerWrapper {
    margin-top: 70px;
  }
}
@media (max-width: 1150px) {
  .VideoPlayerWrapper {
    margin-bottom: 100px;
  }
}
@media (max-width: 900px) {
  .VideoPlayerWrapper {
    margin-bottom: 70px;
  }
}

.VideoPlayer {
  margin-left: 100px;
  margin-left: var(--page-margin);
  margin-right: 100px;
  margin-right: var(--page-margin);
  position: relative;
  position: relative;
}
.VideoPlayer .uc-embedding-container {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  max-height: 100%;
  z-index: 1;
}
.VideoPlayer .uc-embedding-container > img {
  visibility: hidden;
  opacity: 0;
}
.VideoPlayer .CursorButton {
  pointer-events: none;
}
.VideoPlayer.is-moving {
  cursor: hand;
}
.VideoPlayer.is-playing .CursorButton,
.VideoPlayer.is-playing .CustomCursor,
.VideoPlayer.is-playing .VideoPlayer--poster {
  display: none;
}

.VideoPlayer--header {
  margin-left: 100px;
  margin-left: var(--page-margin);
  margin-right: 100px;
  margin-right: var(--page-margin);
  position: relative;
  margin-bottom: 30px;
  font-weight: 500;
  font-size: 22px;
  line-height: 1.2;
}
@media (min-width: 740px) {
  .VideoPlayer--header {
    font-size: calc(0.5714285714vw + 17.7714285714px);
  }
}
@media (min-width: 1440px) {
  .VideoPlayer--header {
    font-size: 26px;
  }
}
@media mobile {
  .VideoPlayer--header {
    line-height: 1.2;
  }
}
.VideoPlayer--header .subtitle {
  color: #808080;
}

@media (min-width: 1151px) {
  .VideoPlayer--inner {
    display: block;
    padding-left: 0;
    padding-right: 0;
    flex: 1 0 100%;
    max-width: 100%;
    margin-left: 0%;
    margin-left: auto;
    margin-right: auto;
  }
}

.VideoPlayer--wrapper {
  position: relative;
  width: 100%;
  height: 0;
  padding-bottom: 56.25%;
  overflow: hidden;
}

.VideoPlayer--video > video,
.VideoPlayer--video > object,
.VideoPlayer--video > iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.VideoPlayer--poster {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
}

.PressReleaseLinkList--wrapper {
  margin-top: 120px;
  margin-bottom: 120px;
}
@media (max-width: 1150px) {
  .PressReleaseLinkList--wrapper {
    margin-top: 100px;
  }
}
@media (max-width: 900px) {
  .PressReleaseLinkList--wrapper {
    margin-top: 70px;
  }
}
@media (max-width: 1150px) {
  .PressReleaseLinkList--wrapper {
    margin-bottom: 100px;
  }
}
@media (max-width: 900px) {
  .PressReleaseLinkList--wrapper {
    margin-bottom: 70px;
  }
}
.PressReleaseLinkList--wrapper .PressReleaseLinkList--inner {
  transition: opacity 0.25s ease-out;
}
.PressReleaseLinkList--wrapper.filterchange .PressReleaseLinkList--inner {
  transition: opacity 0.5s ease-out, transform 0.5s ease-in;
  opacity: 0.6;
}

.PressReleaseLinkList .FilterBar {
  margin-left: 100px;
  margin-left: var(--page-margin);
  margin-right: 100px;
  margin-right: var(--page-margin);
  position: relative;
}

.PressReleaseLinkList--resultcount {
  margin-left: 100px;
  margin-left: var(--page-margin);
  margin-right: 100px;
  margin-right: var(--page-margin);
  position: relative;
}
.PressReleaseLinkList--wrapper[data-results=true] .PressReleaseLinkList--resultcount {
  position: absolute !important;
  clip: rect(0 0 0 0) !important;
  -webkit-clip-path: polygon(0 0) !important;
  clip-path: polygon(0 0) !important;
}

.EventIndexWrapper {
  max-width: 1680px;
  margin: 0 auto;
}

.EventIndex {
  margin-left: 100px;
  margin-left: var(--page-margin);
  margin-right: 100px;
  margin-right: var(--page-margin);
  position: relative;
  margin-top: 120px;
  margin-bottom: 120px;
}
@media (max-width: 1150px) {
  .EventIndex {
    margin-top: 100px;
  }
}
@media (max-width: 900px) {
  .EventIndex {
    margin-top: 70px;
  }
}
@media (max-width: 1150px) {
  .EventIndex {
    margin-bottom: 100px;
  }
}
@media (max-width: 900px) {
  .EventIndex {
    margin-bottom: 70px;
  }
}
.EventIndex .TeaserSliderWrapper,
.EventIndex .TeaserEventHighlight {
  margin-top: 0;
  padding-bottom: 0;
}
.EventIndex .TeaserEventHighlight,
.EventIndex .FilterBar,
.EventIndex .TeaserSlider {
  margin-left: 0;
  margin-right: 0;
}
@media (min-width: 1151px) {
  .EventIndex .TeaserEventHighlight--list,
  .EventIndex .TeaserEventHighlight--header {
    padding-left: 0;
    padding-right: 0;
  }
}
.EventIndex .TeaserEventHighlight--title {
  color: #808080;
}

.EventIndex--section {
  z-index: 1;
}
.EventIndex--section:first-child {
  z-index: 2;
}
@media (min-width: 1151px) {
  .EventIndex--section {
    display: flex;
    flex-wrap: wrap;
    position: relative;
    padding-left: 8.3333333333%;
    padding-right: 8.3333333333%;
    margin-left: 0;
    margin-right: 0;
  }
  .EventIndex--section > * {
    display: block;
    flex: 1 0 100%;
  }
}
[data-filters]:not([data-filters=""]) .EventIndex--section.top {
  display: none;
}

.EventIndex--section--empty {
  display: none;
}
[data-results=false] .EventIndex--section--empty {
  display: block;
}

@media (min-width: 1151px) {
  .EventIndex--title {
    display: block;
    padding-left: 0;
    padding-right: 0;
    flex: 1 0 83.3333333333%;
    max-width: 83.3333333333%;
  }
}

@media (min-width: 901px) {
  .EventIndex--section-narrow {
    display: flex;
    flex-wrap: wrap;
    position: relative;
    padding-left: 0%;
    padding-right: 0%;
    margin-left: -30px;
    margin-right: -30px;
  }
}
@media (min-width: 1151px) {
  .EventIndex--section-narrow {
    display: flex;
    flex-wrap: wrap;
    position: relative;
    padding-left: 8.3333333333%;
    padding-right: 8.3333333333%;
    margin-left: -50px;
    margin-right: -50px;
  }
}

.EventIndex--title {
  font-weight: 500;
  font-size: 28px;
  line-height: 1.1;
  margin-bottom: 0.5em;
}
@media (min-width: 740px) {
  .EventIndex--title {
    font-size: calc(1.7142857143vw + 15.3142857143px);
  }
}
@media (min-width: 1440px) {
  .EventIndex--title {
    font-size: 40px;
  }
}
@media mobile {
  .EventIndex--title {
    line-height: 1.2;
  }
}
.EventIndex--title.light {
  color: #808080;
}

.EventIndex--list.hide {
  display: none;
}

.IFrame {
  position: relative;
  background-color: #f2f2f2;
}
.IFrame > * {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.Type-JobBlock {
  display: inline;
}

.Type-JobBlock-replace {
  display: inline;
}
.Leadtext + .scroll-anchor + .Type-JobBlock-replace .MixedRichtext[data-cf-id="72KLpOciuLD9JcQMiH57lV"] p + p, .Leadtext + .Type-JobBlock-replace .MixedRichtext[data-cf-id="72KLpOciuLD9JcQMiH57lV"] p + p {
  margin-top: 30px;
}
@media (max-width: 740px) {
  .IconGroup .Type-JobBlock-replace .MixedRichtext .contentful-richtext > *:not([data-component]) {
    margin-left: 0;
    margin-right: 0;
  }
}

.Type-JobBlock-body1 {
  display: inline;
}
.Type-JobBlock-body1 .HeroTitle--body .MixedRichtext {
  margin-top: 30px;
  margin-bottom: 60px;
}
@media (max-width: 1150px) {
  .Type-JobBlock-body1 .HeroTitle--body .MixedRichtext {
    margin-bottom: 50px;
  }
}

.JobList .FilterBar--flyout .Flyout--body .OptionInput label span {
  max-width: 152px;
}

.JobList--wrapper {
  max-width: 1680px;
  margin: 0 auto;
  margin-top: 120px;
  margin-bottom: 120px;
}
@media (max-width: 1150px) {
  .JobList--wrapper {
    margin-top: 100px;
  }
}
@media (max-width: 900px) {
  .JobList--wrapper {
    margin-top: 70px;
  }
}
@media (max-width: 1150px) {
  .JobList--wrapper {
    margin-bottom: 100px;
  }
}
@media (max-width: 900px) {
  .JobList--wrapper {
    margin-bottom: 70px;
  }
}
.JobList--wrapper .JobList--inner {
  transition: opacity 0.25s ease-out;
}
.JobList--wrapper.filterchange .JobList--inner {
  transition: opacity 0.5s ease-out, transform 0.5s ease-in;
  opacity: 0.6;
}

.JobList .FilterBar {
  margin-left: 100px;
  margin-left: var(--page-margin);
  margin-right: 100px;
  margin-right: var(--page-margin);
  position: relative;
}

.JobList--resultcount {
  margin-left: 100px;
  margin-left: var(--page-margin);
  margin-right: 100px;
  margin-right: var(--page-margin);
  position: relative;
}
.JobList--wrapper[data-results=true] .JobList--resultcount {
  position: absolute !important;
  clip: rect(0 0 0 0) !important;
  -webkit-clip-path: polygon(0 0) !important;
  clip-path: polygon(0 0) !important;
}

.JobList--header {
  margin-bottom: 60px;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
@media (max-width: 1150px) {
  .JobList--header {
    margin-bottom: 50px;
  }
}
@media (min-width: 1151px) {
  .JobList--header {
    align-items: baseline;
    margin-left: auto;
    margin-right: auto;
  }
}
.JobList--header h3 {
  font-weight: 500;
  font-size: 28px;
  line-height: 1.1;
}
@media (min-width: 740px) {
  .JobList--header h3 {
    font-size: calc(1.7142857143vw + 15.3142857143px);
  }
}
@media (min-width: 1440px) {
  .JobList--header h3 {
    font-size: 40px;
  }
}
@media mobile {
  .JobList--header h3 {
    line-height: 1.2;
  }
}

.Type-Property--logo {
  max-width: 200px;
  margin: 100px auto;
}

.TeaserBoxLinkList {
  margin-bottom: 120px;
}
@media (max-width: 1150px) {
  .TeaserBoxLinkList {
    margin-bottom: 100px;
  }
}
@media (max-width: 900px) {
  .TeaserBoxLinkList {
    margin-bottom: 70px;
  }
}

.TeaserBoxLinkList--header {
  margin-bottom: 60px;
}
@media (max-width: 1150px) {
  .TeaserBoxLinkList--header {
    margin-bottom: 50px;
  }
}
.TeaserBoxLinkList--header h3 {
  font-weight: 500;
  font-size: 28px;
  line-height: 1.1;
}
@media (min-width: 740px) {
  .TeaserBoxLinkList--header h3 {
    font-size: calc(1.7142857143vw + 15.3142857143px);
  }
}
@media (min-width: 1440px) {
  .TeaserBoxLinkList--header h3 {
    font-size: 40px;
  }
}
@media mobile {
  .TeaserBoxLinkList--header h3 {
    line-height: 1.2;
  }
}

.TeaserBoxLinkList--text {
  margin-top: 1ex;
}

.DevPageGrid {
  position: fixed;
  pointer-events: none;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 10000;
  display: none;
  /*@include site-width-max {
  	max-width: 1680px;
  	margin-left: auto;
  	margin-right: auto;
  }*/
}
.DevPageGrid.is-visible {
  display: block;
}

.DevPageGrid--layout {
  padding-left: 100px;
  padding-left: var(--page-margin);
  padding-right: 100px;
  padding-right: var(--page-margin);
}

.DevPageGrid--columns {
  display: grid;
  grid-template-columns: repeat(var(--gridSize), 1fr);
  grid-column-gap: var(--gridGutter);
  grid-row-gap: var(---gridGutter);
}
@media print {
  .DevPageGrid--columns {
    display: block;
  }
}

.DevPageGrid--col--inner {
  height: 100vh;
  background-color: rgba(160, 200, 255, 0.15);
}

.Breadcrumbs {
  margin-top: 30px;
  margin-bottom: 30px;
  margin-left: 100px;
  margin-left: var(--page-margin);
  margin-right: 100px;
  margin-right: var(--page-margin);
}
@media print {
  .Breadcrumbs {
    display: none !important;
  }
}

.Breadcrumbs--list > li {
  display: none;
}
.Breadcrumbs--list > li:last-child {
  display: block;
}

.CookieNotification {
  font-weight: 500;
  font-size: 14px;
  line-height: 1.6;
  position: fixed;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: #ffffff;
  box-shadow: 0 5px 20px 0 rgba(34, 34, 34, 0.15);
  z-index: 112;
  display: flex;
  flex-direction: column;
  padding: 26px 32px 26px 20px;
}
@media (max-width: 580px) {
  .CookieNotification {
    font-size: 13px;
  }
}
@media print {
  .CookieNotification {
    font-size: 12px;
  }
}
@media (min-width: 741px) {
  .CookieNotification {
    flex-direction: row;
    align-items: center;
    padding: 1.5rem 3rem;
  }
}
@media print {
  .CookieNotification {
    display: none !important;
  }
}

.CookieNotification {
  transition: opacity 0.5s cubic-bezier(0.215, 0.61, 0.355, 1);
  transition-property: opacity, visibility, transform;
}
.CookieNotification:not([data-state=visible]) {
  opacity: 0;
  visibility: hidden;
  transform: translateY(30px);
  pointer-events: none;
}

.CookieNotification--title {
  font-weight: 500;
  font-size: 14px;
  line-height: 1.3;
}
@media (min-width: 740px) {
  .CookieNotification--title {
    font-size: calc(0.2857142857vw + 11.8857142857px);
  }
}
@media (min-width: 1440px) {
  .CookieNotification--title {
    font-size: 16px;
  }
}
@media mobile {
  .CookieNotification--title {
    line-height: 1.3;
  }
}
@media (min-width: 741px) {
  .CookieNotification--title {
    margin-right: 60px;
  }
}

.CookieNotification--text {
  flex: 1;
  margin-right: 60px;
  color: #808080;
}
@media (max-width: 740px) {
  .CookieNotification--text {
    margin: 5px 0 19px;
  }
}
.CookieNotification--text > *:last-child {
  margin-bottom: 0;
}

.CookieNotification--accept {
  align-self: flex-end;
}
@media (min-width: 741px) {
  .CookieNotification--accept {
    align-self: center;
  }
}

.PreFooter {
  max-width: 1680px;
  margin: 0 auto;
  margin-top: 120px;
}
@media (max-width: 1150px) {
  .PreFooter {
    margin-top: 100px;
  }
}
@media (max-width: 900px) {
  .PreFooter {
    margin-top: 70px;
  }
}

.Footer {
  max-width: 1680px;
  margin: 0 auto;
}
@media (min-width: 741px) {
  .Footer {
    padding-top: 120px;
  }
}
@media (min-width: 741px) and (max-width: 1150px) {
  .Footer {
    padding-top: 100px;
  }
}
@media (min-width: 741px) and (max-width: 900px) {
  .Footer {
    padding-top: 70px;
  }
}
.Footer .MetaLinks {
  margin-bottom: 1.75rem;
}
@media (min-width: 581px) {
  .Footer .MetaLinks {
    flex: 1 1 100%;
  }
}
@media (min-width: 1151px) {
  .Footer .MetaLinks {
    margin-bottom: 0;
    flex: 0 0 auto;
  }
}
.Footer .LangSwitch {
  margin-bottom: 1.75rem;
}
@media (min-width: 581px) {
  .Footer .LangSwitch {
    margin-bottom: 0;
  }
}
@media (min-width: 1151px) {
  .Footer .LangSwitch {
    margin-left: 1.5rem;
  }
}
.Footer .LangSwitch .LangSwitch--list {
  top: auto;
  bottom: calc(100% + 10px);
}
.Footer .SocialMediaLinks {
  text-align: left;
  margin-left: auto;
}
.Footer .SocialMediaLinks .SocialMediaLinks--list {
  justify-content: flex-start;
}
@media print {
  .Footer {
    display: none !important;
  }
}

.Footer--top {
  margin-left: 100px;
  margin-left: var(--page-margin);
  margin-right: 100px;
  margin-right: var(--page-margin);
  position: relative;
}

.Footer--center {
  margin-left: 100px;
  margin-left: var(--page-margin);
  margin-right: 100px;
  margin-right: var(--page-margin);
  position: relative;
  margin-top: 60px;
  display: flex;
  flex-direction: column;
}
@media (max-width: 1150px) {
  .Footer--center {
    margin-top: 50px;
  }
}
@media (min-width: 741px) {
  .Footer--center {
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
  }
}
.Footer--center .Footer--partners {
  flex-grow: 1;
}
.Footer--center .Footer--map {
  flex: 0 0 auto;
}

.Footer--bottom {
  margin-left: 100px;
  margin-left: var(--page-margin);
  margin-right: 100px;
  margin-right: var(--page-margin);
  position: relative;
  padding-top: 30px;
  padding-bottom: 30px;
  border-top: 1px solid #e6e6e6;
}
@media (min-width: 581px) {
  .Footer--bottom {
    margin-top: 30px;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    flex-direction: row;
    justify-content: space-between;
  }
}

.Footer--map {
  font-weight: 500;
  font-size: 14px;
  line-height: 1.6;
  display: flex;
  flex-direction: row;
  justify-content: flex-start;
  margin-top: 10px;
}
@media (max-width: 580px) {
  .Footer--map {
    font-size: 13px;
  }
}
@media print {
  .Footer--map {
    font-size: 12px;
  }
}
@media (min-width: 741px) {
  .Footer--map {
    align-self: center;
    margin-top: 0;
  }
}
@media (max-width: 740px) {
  .Footer--map > div {
    padding-bottom: 1rem;
    padding-right: 2rem;
  }
}
@media (min-width: 741px) {
  .Footer--map > div {
    padding-left: 2rem;
  }
}
.Footer--map p {
  margin-bottom: 1em;
}
.Footer--map a {
  color: #808080;
}
.Footer--map img {
  width: 145px;
}
@media (max-width: 900px) {
  .Footer--map img {
    width: 100px;
  }
}

@media (min-width: 741px) {
  .Footer--links {
    display: flex;
    flex-wrap: wrap;
    position: relative;
    padding-left: 0%;
    padding-right: 0%;
    margin-left: -30px;
    margin-right: -30px;
  }
}

@media (min-width: 741px) {
  .Footer--links--col {
    display: block;
    padding-left: 30px;
    padding-right: 30px;
    flex: 1 0 33.3333333333%;
    max-width: 33.3333333333%;
    margin-bottom: 3rem;
  }
}
@media (min-width: 1151px) {
  .Footer--links--col {
    display: block;
    padding-left: 30px;
    padding-right: 30px;
    flex: 1 0 16.6666666667%;
    max-width: 16.6666666667%;
    margin-bottom: 0;
  }
}
@media (min-width: 1151px) {
  .Footer--links--col.last {
    margin-left: 8.3333333333%;
    display: block;
    padding-left: 30px;
    padding-right: 30px;
    flex: 1 0 25%;
    max-width: 25%;
  }
}

.Footer--links--link {
  display: inline-block;
  transition: 25ms color cubic-bezier(0.645, 0.045, 0.355, 1);
}
.Footer--links--link:hover {
  color: #222222;
}

.Footer--links--list {
  padding-bottom: 1.5rem;
}
.Footer--links--list > li {
  font-weight: 500;
  font-size: 14px;
  line-height: 1.6;
  color: #808080;
  margin-bottom: 0.5rem;
}
@media (max-width: 580px) {
  .Footer--links--list > li {
    font-size: 13px;
  }
}
@media print {
  .Footer--links--list > li {
    font-size: 12px;
  }
}

.Footer--links--title {
  font-weight: 500;
  font-size: 14px;
  line-height: 1.3;
  margin-bottom: 1rem;
}
@media (min-width: 740px) {
  .Footer--links--title {
    font-size: calc(0.2857142857vw + 11.8857142857px);
  }
}
@media (min-width: 1440px) {
  .Footer--links--title {
    font-size: 16px;
  }
}
@media mobile {
  .Footer--links--title {
    line-height: 1.3;
  }
}

@media (min-width: 741px) {
  .Footer--links--title > button {
    display: none;
  }
  .Footer--links--title > .Icon {
    display: none;
  }
}
@media (max-width: 740px) {
  .Footer--links {
    margin-bottom: 2rem;
  }
  .Footer--links--col--body {
    position: relative;
    border-top: 1px solid #e6e6e6;
    border-bottom: 1px solid #e6e6e6;
    margin-bottom: -1px;
  }
  .Footer--links--col--body.last {
    margin: 2rem 0;
    border: none;
  }
  .Footer--links--collapsible[data-hidden=true] > * {
    display: none;
  }
  .Footer--links--title {
    display: block;
    position: relative;
    margin: 0;
    padding: 1.5rem 0;
  }
  .Footer--links--title .Icon {
    pointer-events: none;
    position: absolute;
    top: calc(50% - 7px);
    right: 0;
    display: block;
  }
  .Footer--links--title > button {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    letter-spacing: -1ex;
    text-indent: -9999px;
    color: transparent;
    text-decoration: none;
    line-height: 1;
  }
  .Footer--links--title [aria-expanded=true] + .Icon {
    transform: rotate(-180deg);
  }
}
.Footer--newsletter--text {
  font-size: 12px;
  line-height: 1.3;
  margin-bottom: 1em;
  color: #808080;
}
@media (min-width: 740px) {
  .Footer--newsletter--text {
    font-size: calc(0.1428571429vw + 10.9428571429px);
  }
}
@media (min-width: 1440px) {
  .Footer--newsletter--text {
    font-size: 13px;
  }
}
@media mobile {
  .Footer--newsletter--text {
    line-height: 1.3;
  }
}

.Footer--newsletter--link {
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
  margin-bottom: 1em;
}
.Footer--newsletter--link .Icon {
  margin-left: 8px;
}

.FooterLogos {
  font-weight: 500;
  font-size: 14px;
  line-height: 1.6;
  color: #808080;
  margin-bottom: 28px;
  padding-bottom: 28px;
  border-bottom: 1px solid #e6e6e6;
}
@media (max-width: 580px) {
  .FooterLogos {
    font-size: 13px;
  }
}
@media print {
  .FooterLogos {
    font-size: 12px;
  }
}
@media (min-width: 741px) {
  .FooterLogos {
    margin-bottom: 0;
    padding-bottom: 0;
    border-bottom: 0;
  }
}

.FooterLogos--list {
  display: flex;
  list-style: none;
  flex-wrap: wrap;
  gap: 28px;
}

.FooterLogos--item {
  flex: 0 0 100%;
}
@media (min-width: 741px) {
  .FooterLogos--item {
    flex-basis: auto;
  }
}

.FooterLogo--title {
  display: block;
  margin-bottom: 16px;
}

.FooterLogo--link {
  display: inline-block;
}

.FooterLogo--image {
  width: unset;
  height: 30px;
  -o-object-fit: contain;
  object-fit: contain;
}
@media (min-width: 741px) {
  .FooterLogo--image {
    height: 40px;
  }
}

.MetaLinks ul {
  display: flex;
  flex-wrap: wrap;
  flex-direction: row;
}
@media (min-width: 1151px) {
  .MetaLinks ul {
    margin-bottom: -0.5rem;
  }
}
.MetaLinks ul li:not(:last-child) {
  margin-bottom: 0.5rem;
  margin-right: 1.5rem;
}
.MetaLinks a {
  font-weight: 500;
  font-size: 14px;
  line-height: 1.6;
  color: #808080;
}
@media (max-width: 580px) {
  .MetaLinks a {
    font-size: 13px;
  }
}
@media print {
  .MetaLinks a {
    font-size: 12px;
  }
}

.PreFooter {
  margin-left: 100px;
  margin-left: var(--page-margin);
  margin-right: 100px;
  margin-right: var(--page-margin);
  position: relative;
  margin-top: 120px;
  padding-bottom: 120px;
  border-bottom: 1px solid #e6e6e6;
}
@media (min-width: 1640px) {
  .PreFooter {
    max-width: 1440px;
    margin-left: auto;
    margin-right: auto;
  }
}
@media (max-width: 1150px) {
  .PreFooter {
    margin-top: 100px;
  }
}
@media (max-width: 900px) {
  .PreFooter {
    margin-top: 70px;
  }
}
@media (max-width: 1150px) {
  .PreFooter {
    padding-bottom: 100px;
  }
}
@media (max-width: 900px) {
  .PreFooter {
    padding-bottom: 70px;
  }
}
@media print {
  .PreFooter {
    display: none !important;
  }
}

.PreFooter--links {
  display: flex;
  flex-direction: row;
  justify-content: center;
}

.PreFooter--item {
  width: 25%;
  text-align: center;
}
@media (min-width: 1151px) {
  .PreFooter--item {
    width: 20%;
  }
}
@media (min-width: 1441px) {
  .PreFooter--item {
    width: 15%;
  }
}

.PreFooter--link {
  font-weight: 500;
  font-size: 14px;
  line-height: 1.6;
  color: #808080;
  letter-spacing: 0.02em;
  display: inline-flex;
  flex-direction: column;
  align-items: center;
  padding-bottom: 0px;
  transition: all 0.2s;
}
@media (max-width: 580px) {
  .PreFooter--link {
    font-size: 13px;
  }
}
@media print {
  .PreFooter--link {
    font-size: 12px;
  }
}
.PreFooter--link:hover {
  color: #222222;
}
.PreFooter--link:hover > .PreFooter--link--image {
  opacity: 1;
  transform: scale(1.05);
}
.PreFooter--link > .PreFooter--link--image {
  margin-bottom: 8px;
  opacity: 0.6;
  transition: all 0.4s cubic-bezier(0.165, 0.84, 0.44, 1);
}

.PreFooter--link {
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.PreFooter--link--image {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
}

.PreFooter--link--text {
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 100%;
}

:root {
  --header-height: 70px;
}
@media (min-width: 1151px) {
  :root {
    --header-height: 100px;
  }
}
@media (min-width: 1441px) {
  :root {
    --header-height: 130px;
  }
}

.Header {
  position: relative;
}
.Header[data-header-layout=experience] {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 999;
}
@media print {
  .Header {
    display: none !important;
  }
}

.Header--inner {
  position: relative;
  display: flex;
  align-items: center;
  width: 100%;
  margin-left: auto;
  margin-right: auto;
  background: #ffffff;
  padding: 0 20px;
  z-index: 111;
  height: 70px;
}
@media (min-width: 1151px) {
  .Header--inner {
    height: 100px;
    padding: 0 40px 0;
  }
}
@media (min-width: 1441px) {
  .Header--inner {
    height: 130px;
    padding: 0 40px 0;
  }
}
[data-header-layout=experience] .Header--inner {
  background-color: transparent;
}

.HeaderNavRight {
  display: flex;
  align-items: center;
  flex-direction: row;
  margin-left: auto;
  margin-right: 0;
}
@media (max-width: 1240px) {
  .HeaderNavRight {
    display: none;
  }
}
@media (max-width: 740px) {
  .HeaderNavRight {
    display: none;
  }
}
@media print {
  .HeaderNavRight {
    display: none !important;
  }
}
.is-overlaid .HeaderNavRight .HeaderNav--contact {
  display: none;
}
.HeaderNavRight .LangSwitch {
  margin-right: 2em;
}
.HeaderNavRight .LangSwitch .LangSwitch--button {
  border: 0;
  font-size: 12px;
}
@media (max-width: 1240px) {
  .HeaderNavRight .LangSwitch {
    display: none;
  }
}

.HeaderLogo {
  height: 45px;
  width: auto;
  margin-right: 40px;
}
.HeaderLogo > img {
  width: auto;
  height: 100%;
}
@media (max-width: 1150px) {
  .HeaderLogo {
    height: 40px;
  }
}
@media (max-width: 740px) {
  .HeaderLogo {
    height: 30px;
  }
}

.HeaderNavLeft {
  display: flex;
  align-items: center;
  height: 100%;
}
@media (max-width: 740px) {
  .HeaderNavLeft {
    margin-right: 0;
    margin-left: auto;
  }
  .is-overlaid .HeaderNavLeft {
    margin-left: 0;
    margin-right: auto;
  }
}
@media (max-width: 1240px) {
  .HeaderNavLeft {
    margin-right: 0;
    margin-left: auto;
  }
  .is-overlaid .HeaderNavLeft {
    margin-left: 0;
    margin-right: auto;
  }
}
@media (max-width: 740px) {
  .HeaderNavLeft .HeaderNav--link {
    margin-right: 0;
  }
}
.HeaderNavLeft .Icon {
  margin-right: 0.5em;
}
@media (max-width: 740px) {
  .HeaderNavLeft .Icon {
    margin-right: 0;
  }
}
@media print {
  .HeaderNavLeft {
    display: none !important;
  }
}

.HeaderNav--link {
  font-weight: 500;
  font-size: 14px;
  line-height: 1.6;
  display: inline-block;
  padding: 12px;
}
@media (max-width: 580px) {
  .HeaderNav--link {
    font-size: 13px;
  }
}
@media print {
  .HeaderNav--link {
    font-size: 12px;
  }
}
.HeaderNav--link > .text {
  display: inline-block;
  padding-left: 10px;
}
.HeaderNav--link > .Icon {
  width: 26px;
  height: 26px;
}
@media (min-width: 1241px) {
  .HeaderNav--link {
    display: none;
  }
}

.HeaderLogo,
.HeaderNav--link {
  transition: opacity 250ms, visibility 250ms;
  opacity: 1;
}

html.is-overlaid .Header .Header--inner {
  pointer-events: none;
}
html.is-overlaid .Header .HeaderLogo {
  display: none;
}
html.is-overlaid .Header .HeaderNav--link {
  pointer-events: all;
}

html:not(.is-overlaid) .HeaderNav--link.search {
  display: none;
}

html.is-overlaid .HeaderNav--link.nav {
  display: none;
}

@media (max-width: 740px) {
  .HeaderNav--link[aria-expanded=true] {
    display: none;
  }
}
.HeaderNav--link.nav:hover .text {
  opacity: 0.8;
}
.HeaderNav--link.nav:hover line {
  stroke: #222222;
}
.HeaderNav--link.nav:hover svg line {
  animation: slide-out-slide-in 500ms cubic-bezier(0.645, 0.045, 0.355, 1) 0s 1;
}
.HeaderNav--link.nav:hover svg line:nth-child(2) {
  animation-delay: 0.1s;
}
.HeaderNav--link.nav:hover svg line:nth-child(3) {
  animation-delay: 0.15s;
}

.HeaderNav--link.search svg {
  overflow: hidden;
}
.HeaderNav--link.search svg circle {
  transform-origin: calc(50% - 2px) calc(50% - 2px);
  stroke-dashoffset: 50;
  stroke-width: 1;
  stroke-dasharray: 100;
}
.HeaderNav--link.search:hover .text {
  opacity: 0.8;
}
.HeaderNav--link.search:hover svg path {
  animation: search-line 750ms cubic-bezier(0.645, 0.045, 0.355, 1) 0s 1;
}
.HeaderNav--link.search:hover svg circle {
  animation: search-circle 800ms cubic-bezier(0.645, 0.045, 0.355, 1) 0s 1;
}
@media (max-width: 400px) {
  .HeaderNav--link.search {
    margin-right: 0;
  }
}

@keyframes slide-out-slide-in {
  0% {
    transform: scaleX(1);
    transform-origin: 100% 0;
  }
  50% {
    transform: scaleX(0);
    transform-origin: 100% 0;
  }
  50.02% {
    transform: scaleX(0);
    transform-origin: 0 0;
  }
  100% {
    transform: scaleX(1);
    transform-origin: 0 0;
  }
}
@keyframes close-path1 {
  0% {
    transform: translate(0, 0);
  }
  40% {
    transform: translate(75%, -75%);
  }
  40.02% {
    transform: translate(-75%, 75%);
  }
  100% {
    transform: translate(0, 0);
  }
}
@keyframes close-path2 {
  0% {
    transform: translate(0, 0);
  }
  40% {
    transform: translate(75%, 75%);
  }
  40.02% {
    transform: translate(-75%, -75%);
  }
  100% {
    transform: translate(0, 0);
  }
}
@keyframes search-circle {
  0% {
    stroke-dashoffset: 0;
  }
  40% {
    stroke-dashoffset: -50;
  }
  40.02% {
    stroke-dashoffset: 100;
  }
  100% {
    stroke-dashoffset: 50;
  }
}
@keyframes search-line {
  0% {
    transform: scaleX(0) scaleY(0);
    transform-origin: 75% 75%;
  }
  100% {
    transform: scaleX(1) scaleY(1);
    transform-origin: 75% 75%;
  }
}
.HeaderNavFlyout {
  display: flex;
  align-items: center;
  height: 70px;
}
.HeaderNavFlyout > li {
  display: flex;
  align-items: center;
  position: relative;
  height: 100%;
}
.HeaderNavFlyout > li + li {
  margin-left: 2em;
}
@media (min-width: 1151px) {
  .HeaderNavFlyout {
    height: 100px;
  }
}
@media (min-width: 1441px) {
  .HeaderNavFlyout {
    height: 130px;
  }
}
@media (max-width: 1240px) {
  .HeaderNavFlyout {
    display: none;
  }
}
.HeaderNavFlyout:hover .HeaderNavFlyout--Link.active {
  box-shadow: inset 0px 2px 0px #222222;
}

.HeaderNavFlyout--Link {
  font-weight: 500;
  font-size: 14px;
  line-height: 1.3;
  position: relative;
  height: 100%;
  box-shadow: inset 0px 0px 0px #ffffff;
  transition: 250ms all cubic-bezier(0.645, 0.045, 0.355, 1);
}
@media (min-width: 740px) {
  .HeaderNavFlyout--Link {
    font-size: calc(0.2857142857vw + 11.8857142857px);
  }
}
@media (min-width: 1440px) {
  .HeaderNavFlyout--Link {
    font-size: 16px;
  }
}
@media mobile {
  .HeaderNavFlyout--Link {
    line-height: 1.3;
  }
}
.HeaderNavFlyout--Link:hover, .HeaderNavFlyout--Link.active {
  box-shadow: inset 0px 2px 0px #222222;
}

.HeaderNavFlyout--Flyout {
  display: flex;
  position: absolute;
  z-index: 100;
  top: 75px;
  left: -30px;
  min-width: 100%;
  visibility: hidden;
  opacity: 0;
  transform: translateY(-10px);
  transition: transform 250ms cubic-bezier(0.77, 0, 0.175, 1), visibility 250ms;
}
@media (min-width: 1151px) {
  .HeaderNavFlyout--Flyout {
    top: 105px;
  }
}
@media (min-width: 1441px) {
  .HeaderNavFlyout--Flyout {
    top: 135px;
  }
}
.HeaderNavFlyout--Flyout.is-expanded {
  pointer-events: auto;
  transform: translateY(0);
  opacity: 1;
  visibility: visible;
}

.HeaderNavFlyout--Flyout--inner {
  font-size: 14px;
  line-height: 1.4;
  width: 100%;
  min-width: 17em;
  max-width: 30em;
  padding: 30px;
  background-color: #ffffff;
}
@media (min-width: 740px) {
  .HeaderNavFlyout--Flyout--inner {
    font-size: calc(0.2857142857vw + 11.8857142857px);
  }
}
@media (min-width: 1440px) {
  .HeaderNavFlyout--Flyout--inner {
    font-size: 16px;
  }
}
@media mobile {
  .HeaderNavFlyout--Flyout--inner {
    line-height: 1.5;
  }
}
.HeaderNavFlyout--Flyout--inner .HeaderNavFlyout--subnav--overview {
  display: block;
  margin-top: 1.5em;
}

.HeaderNavFlyout--Flyout--list > li {
  margin-bottom: 20px;
}
.HeaderNavFlyout--Flyout--list > li::last-child {
  margin-bottom: 0;
}

.HeaderNavFlyout--subnav--link,
.HeaderNavFlyout--subnav--overview {
  display: block;
  color: #808080;
  transition: 25ms color cubic-bezier(0.645, 0.045, 0.355, 1);
}
.HeaderNavFlyout--subnav--link:hover,
.HeaderNavFlyout--subnav--overview:hover {
  color: #222222;
}

.HeaderNavFlyout--subnav--overview {
  margin-top: 20px;
  padding-top: 20px;
  border-top: 1px solid #e6e6e6;
}

.HeaderNavRight--cta {
  margin-left: 30px;
}

@media (min-width: 1241px) {
  .Header:after {
    content: "";
    display: block;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 99;
    width: 100%;
    height: 100%;
    opacity: 0;
    transition: opacity 0.25s ease-out;
    background-color: rgba(0, 0, 0, 0.05);
    pointer-events: none;
  }
  .is-overlaid-headerflyout .Header:after {
    transition: opacity 1.5s ease-out;
    opacity: 1;
    transform: none;
  }
}
.LangSwitch {
  position: relative;
}

.LangSwitch--list {
  background: #ffffff;
  border: 1px solid #e6e6e6;
  box-shadow: 0px 5px 30px rgba(0, 0, 0, 0.05);
  position: absolute;
  z-index: 99;
  top: calc(100% + 5px);
  left: 0;
  min-width: 140px;
  padding: 0.4rem 0;
}
.LangSwitch.top .LangSwitch--list {
  top: auto;
  bottom: calc(100% + 5px);
}
.LangSwitch--list.is-collapsed {
  display: none;
}
.LangSwitch--list li.active > a {
  opacity: 0.35;
  pointer-events: none;
}
.LangSwitch--list a {
  font-size: 14px;
  line-height: 1.4;
  display: block;
  padding: 0.25rem 1rem;
}
@media (min-width: 740px) {
  .LangSwitch--list a {
    font-size: calc(0.2857142857vw + 11.8857142857px);
  }
}
@media (min-width: 1440px) {
  .LangSwitch--list a {
    font-size: 16px;
  }
}
@media mobile {
  .LangSwitch--list a {
    line-height: 1.5;
  }
}
.LangSwitch--list a:hover, .LangSwitch--list a:focus {
  background: #f2f2f2;
}

.LangSwitchFlat {
  position: relative;
}

.LangSwitchFlat--list {
  display: flex;
  margin: -8px;
}
.LangSwitchFlat--list li {
  margin: 8px;
}
.LangSwitchFlat--list li.active > a {
  border-color: #808080;
  pointer-events: none;
}
.LangSwitchFlat--list a {
  display: inline-flex;
  width: 46px;
  height: 46px;
  align-items: center;
  justify-content: center;
  border-radius: 100%;
  border: 1px solid #e6e6e6;
  font-size: 12px;
  line-height: 1;
}
.LangSwitchFlat--list a:hover, .LangSwitchFlat--list a:focus {
  border-color: #808080;
}

.eb-css .ebcss-chat-button-wrapper {
  transition: bottom 0.25s;
}
html .eb-css .ebcss-chat-button-wrapper {
  z-index: 119;
  right: 29px;
}
@media (max-width: 1150px) {
  html .eb-css .ebcss-chat-button-wrapper {
    right: 9px;
  }
}
@media (max-width: 900px) {
  html .eb-css .ebcss-chat-button-wrapper {
    right: 11px;
  }
}
@media (max-width: 1150px) {
  html.livemenu-has-space .eb-css .ebcss-chat-button-wrapper {
    bottom: 92px;
  }
}

@media print {
  .eb-css {
    display: none !important;
  }
}

.LiveMenu--inner {
  display: flex;
  text-align: center;
  justify-content: center;
  margin: -1em;
}
@media (max-width: 1150px) {
  .LiveMenu--inner {
    margin: -18px;
  }
}
.LiveMenu--inner > li {
  flex: 0 0 auto;
  margin: 1em;
}
@media (max-width: 1150px) {
  .LiveMenu--inner > li {
    margin: 18px;
  }
}
@media (max-width: 1150px) {
  .LiveMenu--inner li.search {
    display: none;
  }
}

.LiveMenu--item--label {
  font-size: 12px;
  line-height: 1.3;
  line-height: 1;
  display: block;
}
@media (min-width: 740px) {
  .LiveMenu--item--label {
    font-size: calc(0.1428571429vw + 10.9428571429px);
  }
}
@media (min-width: 1440px) {
  .LiveMenu--item--label {
    font-size: 13px;
  }
}
@media mobile {
  .LiveMenu--item--label {
    line-height: 1.3;
  }
}

@media (min-width: 1151px) {
  .LiveMenu {
    transition: all 0.2s;
  }
  body.is-overlaid .LiveMenu {
    visibility: hidden;
    opacity: 0;
  }
  .LiveMenu--item {
    position: relative;
    z-index: 0;
    color: #333333;
    display: block;
  }
  .LiveMenu--item > .Icon {
    width: 26px;
    height: 26px;
  }
  .LiveMenu--item:hover, .LiveMenu--item.active {
    color: #222222;
  }
  .LiveMenu--item:not(:hover) .LiveMenu--item--label {
    opacity: 0;
    transform: translateX(-50%) translateY(14px);
    visibility: hidden;
    transition-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
  }
  .LiveMenu--item--label {
    position: absolute;
    white-space: nowrap;
    pointer-events: none;
    color: #222222;
    background-color: #F1F2F0;
    top: calc(100% + 5px);
    left: 50%;
    transform: translateX(-50%) translateY(10px);
    padding: 9px 13px;
    border-radius: 50px;
    will-change: transform;
    transition: all 200ms cubic-bezier(0.165, 0.84, 0.44, 1);
  }
  .LiveMenu--item--label::before {
    content: "";
    display: block;
    position: absolute;
    left: 50%;
    background-color: inherit;
    width: 12px;
    height: 12px;
    margin-left: -6px;
    margin-top: -6px;
    transform: translateY(-50%) rotate(-45deg);
  }
}
@media (max-width: 1150px) {
  .LiveMenu {
    position: fixed;
    display: flex;
    z-index: 99;
    color: #333333;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 80px;
    background-color: #ffffff;
    border-top: 1px solid #e6e6e6;
    transform: translateY(100%);
    transition: transform 0.25s;
  }
  .LiveMenu.hide-on-mobile {
    display: none;
  }
  .LiveMenu--inner {
    flex: 1 1 auto;
  }
  .LiveMenu--item {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    z-index: 0;
    color: #333333;
  }
  .LiveMenu--item.active {
    color: #222222;
  }
  .LiveMenu--item.active::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    border-bottom: 3px solid;
  }
  .LiveMenu--item--label {
    display: block;
    overflow: hidden;
    max-width: 100%;
    text-overflow: ellipsis;
    margin-top: 12px;
  }
}
@media (max-width: 1150px) {
  html.livemenu-has-space .LiveMenu {
    transform: none;
  }
}

.MobileSubNav {
  height: 100%;
  width: 100%;
  background-color: #ffffff;
  transform: translate3d(0, 0, 0);
}

.MobileSubNav--header,
.MobileSubNav--body {
  margin-left: 100px;
  margin-left: var(--page-margin);
  margin-right: 100px;
  margin-right: var(--page-margin);
  position: relative;
}

.MobileSubNav--body {
  margin-top: 50px;
  margin-bottom: 50px;
}

.MobileSubNav--title {
  font-weight: 500;
  font-size: 22px;
  line-height: 1.1;
  margin-bottom: 30px;
}
@media (min-width: 740px) {
  .MobileSubNav--title {
    font-size: calc(1.1428571429vw + 13.5428571429px);
  }
}
@media (min-width: 1440px) {
  .MobileSubNav--title {
    font-size: 30px;
  }
}
@media mobile {
  .MobileSubNav--title {
    line-height: 1.2;
  }
}

.MobileSubNav--link {
  display: block;
  color: #808080;
  padding: 5px 0;
  font-size: 16px;
  letter-spacing: 0.02em;
}

.MobileSubNav--overview {
  margin-top: 20px;
  display: inline-block;
  color: #808080;
  letter-spacing: 0.02em;
}

.MobileSubNav--header {
  padding-top: 12px;
  padding-bottom: 12px;
}

.MobileSubNav--backLink {
  display: flex;
  align-items: center;
  vertical-align: top;
  letter-spacing: 0.02em;
  line-height: 1;
  color: #808080;
}

.MobileSubNav--backLink--icon {
  display: inline-flex;
  align-self: center;
  margin-right: 10px;
}

.SiteSearch {
  margin-top: 10vh;
}

.Search {
  position: relative;
  min-height: 80vh;
}

.Search--input {
  position: relative;
}
@media (max-width: 740px) {
  .Search--input {
    margin-top: 30px;
  }
}
.Search--input input {
  font-weight: 500;
  font-size: 40px;
  line-height: 1;
  color: #222222;
  width: 100%;
  border: none;
  border-bottom: 1px solid #e6e6e6;
  border-radius: 0;
  padding-top: 15px;
  padding-bottom: 15px;
}
@media (min-width: 740px) {
  .Search--input input {
    font-size: calc(5.7142857143vw - 2.2857142857px);
  }
}
@media (min-width: 1440px) {
  .Search--input input {
    font-size: 80px;
  }
}
@media mobile {
  .Search--input input {
    line-height: 1;
  }
}
@media (max-width: 580px) {
  .Search--input input {
    -webkit-hyphens: auto;
    hyphens: auto;
  }
}
@media (min-width: 1151px) {
  .Search--input input {
    padding-top: 30px;
    padding-bottom: 30px;
  }
}
.Search--input input::-webkit-input-placeholder {
  color: #cccccc;
}
.Search--input input::-moz-placeholder {
  color: #cccccc;
}
.Search--input input::placeholder {
  color: #cccccc;
}
.Search--input .Button {
  position: absolute;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
}

.Search--teasers {
  margin-left: 100px;
  margin-left: var(--page-margin);
  margin-right: 100px;
  margin-right: var(--page-margin);
  position: relative;
  margin-top: 90px;
  margin-bottom: 20px;
}
@media (max-width: 740px) {
  .Search--teasers {
    margin-top: 50px;
  }
}
.Search--teasers.hidden {
  display: none;
}

.Search--teasers--title {
  display: block;
  font-size: 12px;
  line-height: 1.4;
  text-transform: uppercase;
  letter-spacing: 0.14em;
  margin-bottom: 30px;
}

.Search--teasers--list {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
.Search--teasers--list > * {
  width: calc(33.3% - 40px);
  margin-bottom: 60px;
}
.Search--teasers--list > *:nth-child(1n+4) {
  display: none;
}
@media (max-width: 900px) {
  .Search--teasers--list > * {
    width: calc(50% - 10px - 2vw);
    margin-bottom: 6vw;
  }
  .Search--teasers--list > *:nth-child(3) {
    display: none;
  }
}
@media (max-width: 580px) {
  .Search--teasers--list > * {
    width: 100%;
    margin-bottom: 30px;
  }
}

.Search--teaser {
  display: flex;
}

.Search--teaser--image {
  flex: 0 0 30%;
  margin-right: 20px;
}
@media (max-width: 740px) {
  .Search--teaser--image {
    max-width: 120px;
  }
}

.Search--teaser--body {
  align-self: center;
}

.Search--teaser--title {
  font-weight: 500;
  font-size: 22px;
  line-height: 1.2;
  line-height: 1.4;
}
@media (min-width: 740px) {
  .Search--teaser--title {
    font-size: calc(0.5714285714vw + 17.7714285714px);
  }
}
@media (min-width: 1440px) {
  .Search--teaser--title {
    font-size: 26px;
  }
}
@media mobile {
  .Search--teaser--title {
    line-height: 1.2;
  }
}

.Search--teaser--category {
  font-size: 10px;
  line-height: 1.4;
  text-transform: uppercase;
  letter-spacing: 0.14em;
  margin-bottom: 0.8ex;
}

.Search--teaser--text {
  font-weight: 500;
  font-size: 14px;
  line-height: 1.6;
  margin-top: 0.8ex;
}
@media (max-width: 580px) {
  .Search--teaser--text {
    font-size: 13px;
  }
}
@media print {
  .Search--teaser--text {
    font-size: 12px;
  }
}

.SearchFlyout {
  margin-bottom: 20px;
  background: rgba(255, 255, 255, 0.7);
  z-index: 1;
  background: #ffffff;
  min-height: 120px;
}
.SearchFlyout[data-hidden=true] {
  display: none;
}
.SearchFlyout .SearchFlyout--inner {
  max-width: 1680px;
  margin: 0 auto;
  width: 100%;
  min-height: 50vh;
}
.SearchFlyout .SearchFlyout--close {
  position: absolute;
  top: 0.75rem;
  right: 0.75rem;
}
@media (min-width: 741px) {
  .SearchFlyout .SearchFlyout--close {
    top: 2rem;
    right: 3rem;
  }
}

.SearchFlyout--form {
  margin-top: auto;
  margin-left: 100px;
  margin-left: var(--page-margin);
  margin-right: 100px;
  margin-right: var(--page-margin);
  position: relative;
}
.SearchFlyout--form legend {
  margin-bottom: 60px;
}
@media (max-width: 1150px) {
  .SearchFlyout--form legend {
    margin-bottom: 50px;
  }
}
@media (max-width: 740px) {
  .SearchFlyout--form legend {
    display: none;
  }
}
.SearchFlyout--form legend span {
  font-size: 12px;
  line-height: 21px;
  letter-spacing: 2px;
  text-transform: uppercase;
  margin-bottom: -2px;
}

.SearchFlyout--results {
  margin-left: 100px;
  margin-left: var(--page-margin);
  margin-right: 100px;
  margin-right: var(--page-margin);
  position: relative;
  margin-top: 90px;
  margin-bottom: 60px;
}
@media (max-width: 740px) {
  .SearchFlyout--results {
    margin-top: 0px;
  }
}

.SearchFlyout--results--title {
  display: block;
  font-size: 12px;
  line-height: 1.4;
  text-transform: uppercase;
  letter-spacing: 0.14em;
  margin-bottom: 30px;
}
@media (max-width: 740px) {
  .SearchFlyout--results--title {
    font-size: 10px;
    line-height: 1.4;
    text-transform: uppercase;
    letter-spacing: 0.14em;
    position: absolute;
    right: 0;
    top: -32px;
  }
}

.Search--result--item {
  border-bottom: 1px solid #e6e6e6;
  padding: 20px 0;
  min-height: 80px;
}
.Search--result--item:last-child {
  border-bottom: 0;
}

.Search--result--link {
  display: flex;
  align-items: flex-start;
  position: relative;
  padding-left: 80px;
}
.Search--result--link:before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  width: 60px;
  height: 60px;
  background-color: #f2f2f2;
  border-radius: 4px;
  margin-top: -5px;
  margin-bottom: -5px;
}
.Search--result--link:hover .Search--result--image {
  transform: scale(1.2);
  -webkit-clip-path: inset(7% round 4px);
  clip-path: inset(7% round 4px);
}

.Search--result--image {
  position: absolute;
  left: 0;
  top: 0;
  max-width: 60px;
  height: auto;
  border-radius: 4px;
  overflow: hidden;
  margin-right: 20px;
  margin-top: -5px;
  margin-bottom: -5px;
  -webkit-clip-path: inset(0% round 4px);
  clip-path: inset(0% round 4px);
  transition: all 1.5s cubic-bezier(0.165, 0.84, 0.44, 1);
}

.Search--result--body {
  flex: 1;
}

.Search--result--title {
  display: block;
  font-weight: 500;
  font-size: 22px;
  line-height: 1.1;
}
@media (min-width: 740px) {
  .Search--result--title {
    font-size: calc(1.1428571429vw + 13.5428571429px);
  }
}
@media (min-width: 1440px) {
  .Search--result--title {
    font-size: 30px;
  }
}
@media mobile {
  .Search--result--title {
    line-height: 1.2;
  }
}

.Search--result--title > em,
.Search--result--text > em {
  background: #faf6e7;
  border-bottom: 2px solid #f6eed0;
}

.Search--result--text {
  display: block;
  font-weight: 500;
  font-size: 14px;
  line-height: 1.6;
}
@media (max-width: 580px) {
  .Search--result--text {
    font-size: 13px;
  }
}
@media print {
  .Search--result--text {
    font-size: 12px;
  }
}

.Search--result--url {
  font-weight: 500;
  font-size: 10px;
  line-height: 1.4;
  text-transform: uppercase;
  letter-spacing: 0.14em;
  display: block;
}
@media (max-width: 740px) {
  .Search--result--url {
    font-size: 9px;
  }
}

/*
	SiteNav breaks at:

	- tablet: will rearrange the aside a little
	- mobile-narrow: not only changes the layout a lot (to column), but also needs a click to show pages within a category (they slide in from the right)
*/
.SiteNav[data-hidden=true] {
  display: none;
}

.SiteNav--inner {
  position: relative;
  max-width: 1680px;
  margin: 0 auto;
  padding-top: 60px;
  padding-bottom: 20px;
  margin-bottom: 30px;
  transition: transform 250ms cubic-bezier(0.77, 0, 0.175, 1), opacity 250ms;
  transform-origin: left 50vh;
}
@media (max-width: 1150px) {
  .SiteNav--inner {
    padding-top: 40px;
  }
}
.SiteNav.is-subnav .SiteNav--inner {
  transform: translateX(-30px);
  opacity: 0;
}

.SiteNav--main {
  margin: -30px;
}
@media (max-width: 1150px) {
  .SiteNav--main {
    margin: -20px;
  }
}

.SiteNav--section {
  padding: 30px;
}
@media (max-width: 1150px) {
  .SiteNav--section {
    padding: 20px;
  }
}

.SiteNav--body {
  margin-left: 100px;
  margin-left: var(--page-margin);
  margin-right: 100px;
  margin-right: var(--page-margin);
  position: relative;
  overflow: hidden;
}

.SiteNav--overview--link {
  margin-top: 30px;
  font-weight: 500;
  font-size: 14px;
  line-height: 1.6;
  display: inline-block;
  color: #808080;
  transition: 25ms color cubic-bezier(0.645, 0.045, 0.355, 1);
}
@media (max-width: 580px) {
  .SiteNav--overview--link {
    font-size: 13px;
  }
}
@media print {
  .SiteNav--overview--link {
    font-size: 12px;
  }
}
.SiteNav--overview--link:hover {
  color: #222222;
}
@media (max-width: 1150px) {
  .SiteNav--overview--link {
    display: none;
  }
}

.SiteNav--footer {
  margin-left: 100px;
  margin-left: var(--page-margin);
  margin-right: 100px;
  margin-right: var(--page-margin);
  position: relative;
  margin-top: 30px;
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 30px;
}
.SiteNav--footer .LangSwitchFlat {
  margin-bottom: 30px;
  padding-bottom: 10px;
}

.SiteNav--list + .Button {
  margin-top: 1rem;
}

.SiteNav--main {
  flex-grow: 1;
  display: flex;
  flex-wrap: wrap;
}
@media (max-width: 580px) {
  .SiteNav--main {
    display: none;
  }
}

@media (min-width: 581px) {
  .SiteNav--mobile--subnav,
  .SiteNav--mobile {
    display: none;
  }
}

.SiteNav--mobile--subnav {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  overflow: hidden;
  pointer-events: none;
}
.SiteNav--mobile--subnav > * {
  pointer-events: auto;
}

.SiteNav--section {
  width: 50%;
}

.SiteNav--sectionTitle {
  font-weight: 500;
  font-size: 22px;
  line-height: 1.1;
  display: block;
  margin-bottom: 1em;
}
@media (min-width: 740px) {
  .SiteNav--sectionTitle {
    font-size: calc(1.1428571429vw + 13.5428571429px);
  }
}
@media (min-width: 1440px) {
  .SiteNav--sectionTitle {
    font-size: 30px;
  }
}
@media mobile {
  .SiteNav--sectionTitle {
    line-height: 1.2;
  }
}

.SiteNav--link {
  display: inline-block;
  margin-bottom: 5px;
  color: #808080;
  transition: 25ms color cubic-bezier(0.645, 0.045, 0.355, 1);
}
.SiteNav--link:hover {
  color: #222222;
}

@media (min-width: 581px) {
  .SiteNav--teaserList {
    max-width: 300px;
  }
}
@media (min-width: 581px) and (max-width: 1150px) {
  .SiteNav--teaserList {
    display: flex;
    flex-wrap: wrap;
    max-width: 250px;
  }
}
.SiteNav--teaserList > li {
  margin-bottom: 20px;
}

.SiteNav--sectionList {
  margin-bottom: 30px;
}

.SiteNav--subnavLink {
  font-weight: 500;
  font-size: 28px;
  line-height: 1.1;
  position: relative;
  display: block;
  width: 100%;
  text-align: left;
  padding-top: 12px;
  padding-bottom: 12px;
}
@media (min-width: 740px) {
  .SiteNav--subnavLink {
    font-size: calc(1.7142857143vw + 15.3142857143px);
  }
}
@media (min-width: 1440px) {
  .SiteNav--subnavLink {
    font-size: 40px;
  }
}
@media mobile {
  .SiteNav--subnavLink {
    line-height: 1.2;
  }
}

.SiteNav--collapsible {
  display: flex;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  visibility: hidden;
  transform: translateX(100%);
  transition: transform 250ms cubic-bezier(0.77, 0, 0.175, 1), visibility 250ms;
}
@media (min-width: 581px) {
  .SiteNav--collapsible {
    display: none;
  }
}
.SiteNav--collapsible[data-hidden=false] {
  transform: translateX(0%);
  transition-duration: 300ms;
  transition-timing-function: cubic-bezier(0.11, 0.74, 0.35, 0.92);
  visibility: visible;
}

@media (max-width: 740px) {
  .SiteNav--teaser {
    margin-right: 0;
  }
}
@media (max-width: 580px) {
  .SiteNav--body {
    display: block;
  }
  .SiteNav--footer {
    margin-top: 10px;
  }
}
.SiteNav--meta {
  font-weight: 500;
  font-size: 16px;
  line-height: 1.2;
  margin-top: 40px;
  color: #808080;
}
@media (min-width: 740px) {
  .SiteNav--meta {
    font-size: calc(0.5714285714vw + 11.7714285714px);
  }
}
@media (min-width: 1440px) {
  .SiteNav--meta {
    font-size: 20px;
  }
}
@media mobile {
  .SiteNav--meta {
    line-height: 1.2;
  }
}
.SiteNav--meta > li {
  margin-bottom: 20px;
}

.SiteNavOverlay {
  position: absolute;
  top: 70px;
  left: 0;
  width: 100%;
  bottom: 0;
  z-index: 120;
  display: none;
  max-height: calc(
		var(--screenheight) - var(--navigationoffset) - 70px
	);
  height: 100vh;
}
@media (min-width: 1151px) {
  .SiteNavOverlay {
    top: 100px;
    max-height: calc(
			var(--screenheight) - var(--navigationoffset) - 100px
		);
  }
}
@media (min-width: 1441px) {
  .SiteNavOverlay {
    top: 130px;
    max-height: calc(
			var(--screenheight) - var(--navigationoffset) - 130px
		);
  }
}
@media (max-width: 400px) {
  .SiteNavOverlay {
    top: 69px;
  }
}
.SiteNavOverlay[data-expanded=true] {
  display: block;
  transition: transform 500ms cubic-bezier(0.11, 0.74, 0.35, 0.92), opacity 50ms;
}
.SiteNavOverlay[data-expanded=true]:not(.is-expanded) {
  transform: translateY(-20px);
  opacity: 0;
}

.SiteNavOverlay--close {
  position: absolute;
  top: 0;
  right: 10px;
  z-index: 10;
  transform: translateY(calc(70px * -1));
  height: 70px;
  width: 70px;
}
@media (min-width: 1151px) {
  .SiteNavOverlay--close {
    height: 100px;
    width: 100px;
    transform: translateY(calc(100px * -1));
  }
}
@media (min-width: 1441px) {
  .SiteNavOverlay--close {
    height: 130px;
    width: 130px;
    transform: translateY(calc(130px * -1));
  }
}
.SiteNavOverlay--close > .Icon {
  width: 40px;
  height: 40px;
}
@media (min-width: 741px) {
  .SiteNavOverlay--close > .Icon {
    margin-top: 6px;
  }
}

.SiteNavOverlay--search {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 10;
  font-weight: 500;
  font-size: 14px;
  line-height: 1.6;
  padding: 19px 20px;
}
@media (max-width: 580px) {
  .SiteNavOverlay--search {
    font-size: 13px;
  }
}
@media print {
  .SiteNavOverlay--search {
    font-size: 12px;
  }
}
@media (min-width: 741px) {
  .SiteNavOverlay--search {
    display: none;
  }
}
.SiteNavOverlay--search[aria-expanded=true] {
  display: none;
}
.SiteNavOverlay--search > .Icon {
  margin-right: 10px;
}

.SiteNavOverlay--scroll {
  background: #ffffff;
  max-height: 100%;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  will-change: transform;
}

.SiteNavOverlay--background {
  background: rgba(34, 34, 34, 0.8);
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: -1;
  cursor: pointer;
  transform: translateY(50px);
  display: none;
}
.SiteNavOverlay[data-expanded=true] .SiteNavOverlay--background {
  display: block;
}

.TeaserBackground {
  position: relative;
  color: #ffffff;
  overflow: hidden;
  transition: -webkit-clip-path 400ms cubic-bezier(0.215, 0.61, 0.355, 1);
  transition: clip-path 400ms cubic-bezier(0.215, 0.61, 0.355, 1);
  transition: clip-path 400ms cubic-bezier(0.215, 0.61, 0.355, 1), -webkit-clip-path 400ms cubic-bezier(0.215, 0.61, 0.355, 1);
  -webkit-clip-path: inset(0% round 0px);
  clip-path: inset(0% round 0px);
}
.TeaserBackground:hover {
  -webkit-clip-path: inset(1% round 0px);
  clip-path: inset(1% round 0px);
}
.TeaserBackground:hover .TeaserBackground--background .Picture {
  transform: scale(1.05);
}
@media (min-width: 1281px) {
  .TeaserBackground[data-size=fullwidth] {
    --page-margin: 100px;
  }
}
@media (max-width: 900px) {
  .TeaserBackground[data-size=fullwidth] {
    margin-left: -100px;
    margin-left: calc(-1 * var(--page-margin));
    margin-right: -100px;
    margin-right: calc(-1 * var(--page-margin));
  }
}
.TeaserBackground[data-size=fullwidth]:hover {
  -webkit-clip-path: inset(0.5% round 0px);
  clip-path: inset(0.5% round 0px);
}
.TeaserBackground[data-size=fullwidth] .TeaserBackground--content {
  width: 80%;
}
@media (max-width: 1150px) {
  .TeaserBackground[data-size=fullwidth] .TeaserBackground--content {
    width: 100%;
  }
}

.TeaserGridFullwidth .TeaserBackground[data-size=fullwidth] {
  margin-left: calc(var(--teaser-grid-fullwidth--gap) * -1);
  margin-right: calc(var(--teaser-grid-fullwidth--gap) * -1);
}

.TeaserBackground--link {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 1;
}

.TeaserBackground--background {
  position: relative;
  z-index: 0;
  will-change: transform;
  height: auto;
}
.TeaserBackground--background .Picture {
  transition: transform 1400ms cubic-bezier(0.215, 0.61, 0.355, 1);
}
@media (max-width: 400px) {
  .TeaserBackground--background.desktop {
    display: none;
  }
}
@media (min-width: 401px) {
  .TeaserBackground--background.mobile {
    display: none;
  }
}
.TeaserBackground--background .Picture.is-image-loaded::after {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  bottom: 0;
  height: 100%;
  width: 100%;
  background-image: linear-gradient(44.79deg, rgba(0, 0, 0, 0.3) 29.94%, rgba(0, 0, 0, 0) 69.98%);
}

.TeaserBackground--inner {
  margin-left: 100px;
  margin-left: var(--page-margin);
  margin-right: 100px;
  margin-right: var(--page-margin);
  position: relative;
}
[data-size="2col"] .TeaserBackground--inner {
  padding: 50px;
}
@media (max-width: 1150px) {
  [data-size="2col"] .TeaserBackground--inner {
    padding: 30px;
  }
}
@media (max-width: 900px) {
  [data-size="2col"] .TeaserBackground--inner {
    padding: 30px;
  }
}
@media (max-width: 740px) {
  [data-size="2col"] .TeaserBackground--inner {
    padding: 20px;
  }
}

.TeaserBackground--subtitle,
.TeaserBackground--title {
  font-weight: 500;
  font-size: 32px;
  line-height: 1;
}
@media (min-width: 740px) {
  .TeaserBackground--subtitle,
  .TeaserBackground--title {
    font-size: calc(4vw + 2.4px);
  }
}
@media (min-width: 1440px) {
  .TeaserBackground--subtitle,
  .TeaserBackground--title {
    font-size: 60px;
  }
}
@media mobile {
  .TeaserBackground--subtitle,
  .TeaserBackground--title {
    line-height: 1;
  }
}
@media (max-width: 740px) {
  .TeaserBackground--subtitle,
  .TeaserBackground--title {
    font-weight: 500;
    font-size: 22px;
    line-height: 1.1;
  }
}
@media (max-width: 740px) and (min-width: 740px) {
  .TeaserBackground--subtitle,
  .TeaserBackground--title {
    font-size: calc(1.1428571429vw + 13.5428571429px);
  }
}
@media (max-width: 740px) and (min-width: 1440px) {
  .TeaserBackground--subtitle,
  .TeaserBackground--title {
    font-size: 30px;
  }
}
@media mobile and (max-width: 740px) {
  .TeaserBackground--subtitle,
  .TeaserBackground--title {
    line-height: 1.2;
  }
}
[data-size="2col"] .TeaserBackground--subtitle,
[data-size="2col"] .TeaserBackground--title {
  font-weight: 500;
  font-size: 28px;
  line-height: 1.1;
}
@media (min-width: 740px) {
  [data-size="2col"] .TeaserBackground--subtitle,
  [data-size="2col"] .TeaserBackground--title {
    font-size: calc(1.7142857143vw + 15.3142857143px);
  }
}
@media (min-width: 1440px) {
  [data-size="2col"] .TeaserBackground--subtitle,
  [data-size="2col"] .TeaserBackground--title {
    font-size: 40px;
  }
}
@media mobile {
  [data-size="2col"] .TeaserBackground--subtitle,
  [data-size="2col"] .TeaserBackground--title {
    line-height: 1.2;
  }
}

.TeaserBackground--subtitle {
  opacity: 0.6;
}

.TeaserBackground--inner {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  padding-bottom: 100px;
  padding-bottom: var(--page-margin);
  display: flex;
  align-items: flex-end;
}

.TeaserBackground--content {
  width: 100%;
}

.TeaserBackground--cta {
  margin-top: 2.5em;
}
.TeaserBackground--cta > * {
  position: relative;
  z-index: 5;
}
@media (max-width: 900px) {
  .TeaserBackground--cta {
    margin-top: 0.75em;
  }
}
[data-size="2col"] .TeaserBackground--cta {
  margin-top: 1.25em;
}
@media (max-width: 900px) {
  [data-size="2col"] .TeaserBackground--cta {
    margin-top: 0.75em;
  }
}

.Teaser {
  position: relative;
}

.Teaser--link {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 1;
  max-height: 100%;
  max-width: 100%;
  letter-spacing: -1ex;
  text-indent: -9999px;
  color: transparent;
  text-decoration: none;
  line-height: 1;
}

.Teaser--image {
  position: relative;
  margin-bottom: 20px;
  overflow: hidden;
}
.Teaser--image img {
  display: block;
  width: 100%;
}
.Teaser--image .Tags {
  position: absolute;
  top: 0.75rem;
  left: 0.75rem;
}

.Teaser--body {
  display: flex;
  flex-direction: column;
}

.Teaser--category {
  font-weight: 500;
  font-size: 22px;
  line-height: 1.2;
  color: #808080;
}
@media (min-width: 740px) {
  .Teaser--category {
    font-size: calc(0.5714285714vw + 17.7714285714px);
  }
}
@media (min-width: 1440px) {
  .Teaser--category {
    font-size: 26px;
  }
}
@media mobile {
  .Teaser--category {
    line-height: 1.2;
  }
}

.Teaser--titleWrapper {
  font-weight: 500;
  font-size: 22px;
  line-height: 1.2;
  -webkit-hyphens: auto;
  hyphens: auto;
  display: flex;
  flex-direction: column;
}
@media (min-width: 740px) {
  .Teaser--titleWrapper {
    font-size: calc(0.5714285714vw + 17.7714285714px);
  }
}
@media (min-width: 1440px) {
  .Teaser--titleWrapper {
    font-size: 26px;
  }
}
@media mobile {
  .Teaser--titleWrapper {
    line-height: 1.2;
  }
}

.Teaser--subtitle {
  color: #808080;
  display: block;
}

.Teaser--location,
.Teaser--text {
  font-weight: 500;
  font-size: 14px;
  line-height: 1.6;
  opacity: 0.7;
  margin: 0.5ex 0;
}
@media (max-width: 580px) {
  .Teaser--location,
  .Teaser--text {
    font-size: 13px;
  }
}
@media print {
  .Teaser--location,
  .Teaser--text {
    font-size: 12px;
  }
}

.Teaser--location.has-link {
  position: relative;
  z-index: 10;
}
.Teaser--location.has-link > a:hover {
  padding: 4px 8px;
  margin: -4px -8px;
  background: #f2f2f2;
  border-radius: 3px;
}

.Teaser--text strong {
  font-weight: bold;
}

.Teaser.horizontal {
  display: flex;
  flex-direction: row;
  align-items: center;
  padding-right: 15px;
}
.Teaser.horizontal .Teaser--title {
  font-weight: 500;
  font-size: 28px;
  line-height: 1.1;
}
@media (min-width: 740px) {
  .Teaser.horizontal .Teaser--title {
    font-size: calc(1.7142857143vw + 15.3142857143px);
  }
}
@media (min-width: 1440px) {
  .Teaser.horizontal .Teaser--title {
    font-size: 40px;
  }
}
@media mobile {
  .Teaser.horizontal .Teaser--title {
    line-height: 1.2;
  }
}
.Teaser.horizontal .Teaser--image {
  flex: 0 0 150px;
  max-width: 35%;
  margin-right: calc(15px + 5%);
  margin-bottom: 0;
  align-self: flex-start;
}
.Teaser.horizontal.small .Teaser--image {
  flex: 0 0 100px;
  margin-right: 25px;
}
@media (min-width: 901px) {
  .Teaser.inside .Teaser--body {
    position: absolute;
    bottom: 22px;
    left: 25px;
    right: 25px;
    color: #ffffff;
    z-index: 1;
  }
}
@media (min-width: 901px) and (max-width: 740px) {
  .Teaser.inside .Teaser--body {
    bottom: 18px;
    left: 20px;
    right: 20px;
  }
}
@media (min-width: 901px) {
  .Teaser.inside .Teaser--image > .Picture::after {
    content: "";
    display: block;
    position: absolute;
    will-change: opacity;
    bottom: 0;
    width: 100%;
    max-height: 65%;
    height: 250px;
    background: linear-gradient(180deg, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.4) 80%);
  }
}
@media (max-width: 900px) {
  .Teaser.inside:not(.in-grid) .Teaser--body {
    position: absolute;
    bottom: 22px;
    left: 25px;
    right: 25px;
    color: #ffffff;
    z-index: 1;
  }
}
@media (max-width: 900px) and (max-width: 740px) {
  .Teaser.inside:not(.in-grid) .Teaser--body {
    bottom: 18px;
    left: 20px;
    right: 20px;
  }
}
@media (max-width: 900px) {
  .Teaser.inside:not(.in-grid) .Teaser--image > .Picture::after {
    content: "";
    display: block;
    position: absolute;
    will-change: opacity;
    bottom: 0;
    width: 100%;
    max-height: 65%;
    height: 250px;
    background: linear-gradient(180deg, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.4) 80%);
  }
}

.Teaser[data-has-link] .Teaser--image {
  -webkit-clip-path: inset(0% round 0px);
  clip-path: inset(0% round 0px);
  transition: all 400ms cubic-bezier(0.215, 0.61, 0.355, 1);
  border: 0px solid transparent;
}
.Teaser[data-has-link] .Teaser--image img {
  transition: all 1400ms cubic-bezier(0.215, 0.61, 0.355, 1);
  transform: scale(1.01);
}
.Teaser[data-has-link].inside:after {
  transition: all 400ms cubic-bezier(0.215, 0.61, 0.355, 1);
  -webkit-clip-path: inset(0% round 0px);
  clip-path: inset(0% round 0px);
}
.Teaser[data-has-link]:hover .Teaser--image {
  -webkit-clip-path: inset(1% round 0px);
  clip-path: inset(1% round 0px);
}
.Teaser[data-has-link]:hover .Teaser--image img {
  transform: scale(1.05);
  display: block;
}
.Teaser[data-has-link].inside:hover:after {
  -webkit-clip-path: inset(1% round 4px);
  clip-path: inset(1% round 4px);
}

@media (min-width: 901px) {
  .TeaserGrid .Teaser .Teaser--image {
    margin-bottom: 1.25rem;
  }
  .TeaserGrid .Teaser .Teaser--location,
  .TeaserGrid .Teaser .Teaser--text {
    font-weight: 500;
    font-size: 16px;
    line-height: 1.4;
  }
}
@media (min-width: 901px) and (min-width: 740px) {
  .TeaserGrid .Teaser .Teaser--location,
  .TeaserGrid .Teaser .Teaser--text {
    font-size: calc(0.5714285714vw + 11.7714285714px);
  }
}
@media (min-width: 901px) and (min-width: 1440px) {
  .TeaserGrid .Teaser .Teaser--location,
  .TeaserGrid .Teaser .Teaser--text {
    font-size: 20px;
  }
}
@media mobile and (min-width: 901px) {
  .TeaserGrid .Teaser .Teaser--location,
  .TeaserGrid .Teaser .Teaser--text {
    line-height: 1.4;
  }
}
@media print and (min-width: 901px) {
  .TeaserGrid .Teaser .Teaser--location,
  .TeaserGrid .Teaser .Teaser--text {
    font-size: 14px;
  }
}
@media (max-width: 900px) {
  .TeaserGrid .Teaser {
    display: flex;
    flex-direction: row;
    align-items: center;
    padding-right: 15px;
  }
  .TeaserGrid .Teaser .Teaser--title {
    font-weight: 500;
    font-size: 28px;
    line-height: 1.1;
  }
}
@media (max-width: 900px) and (min-width: 740px) {
  .TeaserGrid .Teaser .Teaser--title {
    font-size: calc(1.7142857143vw + 15.3142857143px);
  }
}
@media (max-width: 900px) and (min-width: 1440px) {
  .TeaserGrid .Teaser .Teaser--title {
    font-size: 40px;
  }
}
@media mobile and (max-width: 900px) {
  .TeaserGrid .Teaser .Teaser--title {
    line-height: 1.2;
  }
}
@media (max-width: 900px) {
  .TeaserGrid .Teaser .Teaser--image {
    flex: 0 0 150px;
    max-width: 35%;
    margin-right: calc(15px + 5%);
    margin-bottom: 0;
    align-self: flex-start;
  }
}

.Teaser--tags {
  margin-bottom: 0.75em;
}

.TeaserContact {
  margin-left: 100px;
  margin-left: var(--page-margin);
  margin-right: 100px;
  margin-right: var(--page-margin);
  position: relative;
}

.TeaserContact--inner {
  margin-top: 120px;
  margin-bottom: 120px;
}
@media (max-width: 1150px) {
  .TeaserContact--inner {
    margin-top: 100px;
  }
}
@media (max-width: 900px) {
  .TeaserContact--inner {
    margin-top: 70px;
  }
}
@media (max-width: 1150px) {
  .TeaserContact--inner {
    margin-bottom: 100px;
  }
}
@media (max-width: 900px) {
  .TeaserContact--inner {
    margin-bottom: 70px;
  }
}
@media (min-width: 901px) {
  .TeaserContact--inner {
    display: flex;
    flex-wrap: wrap;
    position: relative;
    padding-left: 0%;
    padding-right: 0%;
    margin-left: -30px;
    margin-right: -30px;
    align-items: center;
  }
}
.TeaserContact--inner .TeaserContact--image-col {
  margin-bottom: 20px;
}
@media (min-width: 901px) {
  .TeaserContact--inner .TeaserContact--image-col {
    margin-bottom: 0;
    display: block;
    padding-left: 30px;
    padding-right: 30px;
    flex: 1 0 50%;
    max-width: 50%;
  }
}
@media (min-width: 901px) {
  .TeaserContact--inner .TeaserContact--text-col {
    display: block;
    padding-left: 30px;
    padding-right: 30px;
    flex: 1 0 50%;
    max-width: 50%;
  }
}

.TeaserContact.right .TeaserContact--inner {
  flex-direction: row;
}

.TeaserContact--textbox {
  background: #ffffff;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
}
@media (min-width: 901px) {
  .TeaserContact--textbox {
    padding: 0 30px;
  }
}
@media (min-width: 1441px) {
  .TeaserContact--textbox {
    padding: 0 70px;
  }
}

.TeaserContact--title {
  font-weight: 500;
  font-size: 32px;
  line-height: 1;
  margin-bottom: 2rem;
}
@media (min-width: 740px) {
  .TeaserContact--title {
    font-size: calc(4vw + 2.4px);
  }
}
@media (min-width: 1440px) {
  .TeaserContact--title {
    font-size: 60px;
  }
}
@media mobile {
  .TeaserContact--title {
    line-height: 1;
  }
}

.TeaserContact--text {
  color: #808080;
  margin-bottom: 30px;
}
@media (min-width: 741px) {
  .TeaserContact--text {
    max-width: 380px;
  }
}
.TeaserContact--text a {
  text-decoration: underline;
  color: #222222;
}
.TeaserContact--text a:hover {
  text-decoration: none;
}

.TeaserContact--ext-link {
  margin-bottom: 30px;
  display: flex;
  align-items: center;
}
.TeaserContact--ext-link .Button {
  margin-right: 2rem;
}
.TeaserContact--ext-link strong {
  font-weight: bold;
}
.TeaserContact--ext-link small {
  font-weight: 500;
  font-size: 14px;
  line-height: 1.6;
  color: #808080;
}
@media (max-width: 580px) {
  .TeaserContact--ext-link small {
    font-size: 13px;
  }
}
@media print {
  .TeaserContact--ext-link small {
    font-size: 12px;
  }
}

.TeaserDownload {
  display: block;
  position: relative;
  background-color: #ffffff;
  padding: 30px;
  border-radius: 3px;
  overflow: hidden;
}
.TeaserDownload:hover .Button {
  box-shadow: 0 0 0 5px #f2f2f2;
}
.TeaserDownload.image {
  color: #ffffff;
  background-color: transparent;
}
.TeaserDownload.image .TeaserDownload--type {
  color: rgba(255, 255, 255, 0.6);
}
.TeaserDownload.image .Button {
  background: #ffffff;
}
.TeaserDownload.image .Button .Icon {
  color: #222222;
}
.TeaserDownload.image .Picture {
  background-color: #222222;
}
.TeaserDownload.image:hover .Button {
  box-shadow: 0 0 0 5px rgba(255, 255, 255, 0.2);
}
@media (max-width: 580px) {
  .TeaserDownload {
    padding: 15px;
  }
  .TeaserDownload .Button {
    transform: scale(0.7);
    transform-origin: bottom right;
  }
}

.TeaserDownload--image {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
}
.TeaserDownload--image > .Picture::after {
  content: "";
  position: absolute;
  z-index: 0;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-image: linear-gradient(to top, rgba(34, 34, 34, 0.5), rgba(34, 34, 34, 0));
}
.TeaserDownload--image > .Picture {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
}

.TeaserDownload--body {
  position: relative;
}
.TeaserDownload--body:before, .TeaserDownload--body:after {
  content: "";
  display: table;
}
.TeaserDownload--body:after {
  clear: both;
}
.TeaserDownload--body::before {
  content: "";
  padding-bottom: 133.3333333333%;
  display: block;
  float: left;
}

.TeaserDownload--footer {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  line-height: 1.2;
}
.TeaserDownload--footer > .Button {
  position: absolute;
  right: 0;
  bottom: 0;
}

.TeaserDownload--footer--text {
  position: absolute;
  left: 0;
  top: 0;
  transform: rotate(-90deg);
  transform-origin: 0% 0%;
}

.TeaserDownload--title {
  font-weight: 500;
  font-size: 22px;
  line-height: 1.2;
  display: -webkit-box;
  -webkit-line-clamp: 4;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
@media (min-width: 740px) {
  .TeaserDownload--title {
    font-size: calc(0.5714285714vw + 17.7714285714px);
  }
}
@media (min-width: 1440px) {
  .TeaserDownload--title {
    font-size: 26px;
  }
}
@media mobile {
  .TeaserDownload--title {
    line-height: 1.2;
  }
}
.TeaserDownload--title .subtitle {
  opacity: 0.7;
}
@media (max-width: 580px) {
  .TeaserDownload--title {
    font-weight: 500;
    font-size: 22px;
    line-height: 1.2;
  }
}
@media (max-width: 580px) and (min-width: 740px) {
  .TeaserDownload--title {
    font-size: calc(0.5714285714vw + 17.7714285714px);
  }
}
@media (max-width: 580px) and (min-width: 1440px) {
  .TeaserDownload--title {
    font-size: 26px;
  }
}
@media mobile and (max-width: 580px) {
  .TeaserDownload--title {
    line-height: 1.2;
  }
}
@media (max-width: 400px) {
  .TeaserDownload--title {
    font-size: 14px;
  }
}

.TeaserDownload--description {
  font-weight: bold;
  display: block;
}
@media (max-width: 400px) {
  .TeaserDownload--description {
    font-size: 12px;
  }
}

.TeaserDownload--type {
  display: block;
  color: #808080;
  text-transform: uppercase;
}
@media (max-width: 400px) {
  .TeaserDownload--type {
    font-size: 12px;
  }
}

.TeaserDownloadGrid {
  padding-top: 60px;
  padding-bottom: 60px;
  background-color: #f8f8f8;
  overflow: hidden;
}
@media (max-width: 1150px) {
  .TeaserDownloadGrid {
    padding-top: 50px;
  }
}
@media (max-width: 1150px) {
  .TeaserDownloadGrid {
    padding-bottom: 50px;
  }
}
@media print {
  .TeaserDownloadGrid {
    display: none !important;
  }
}

.TeaserDownloadGrid--inner {
  margin-right: 100px;
  margin-right: var(--page-margin);
  margin-left: 100px;
  margin-left: var(--page-margin);
}

.TeaserDownloadGrid--list {
  display: flex;
  align-items: center;
  justify-content: left;
  position: relative;
  width: 100%;
  height: 100%;
}
.TeaserDownloadGrid--list > li {
  flex: 0 0 auto;
  width: 300px;
}
.TeaserDownloadGrid--list > li:not(:last-child) {
  margin-right: 30px;
}
@media (min-width: 1151px) {
  .TeaserDownloadGrid--list > li:not(:last-child) {
    margin-right: 6%;
  }
}
@media (max-width: 580px) {
  .TeaserDownloadGrid--list > li {
    width: 250px;
  }
}

.TeaserEventHighlight--wrapper {
  max-width: 1680px;
  margin: 0 auto;
}

.TeaserEventHighlight {
  margin-left: 100px;
  margin-left: var(--page-margin);
  margin-right: 100px;
  margin-right: var(--page-margin);
  position: relative;
  margin-top: 120px;
  margin-bottom: 120px;
}
@media (max-width: 1150px) {
  .TeaserEventHighlight {
    margin-top: 100px;
  }
}
@media (max-width: 900px) {
  .TeaserEventHighlight {
    margin-top: 70px;
  }
}
@media (max-width: 1150px) {
  .TeaserEventHighlight {
    margin-bottom: 100px;
  }
}
@media (max-width: 900px) {
  .TeaserEventHighlight {
    margin-bottom: 70px;
  }
}
.TeaserEventHighlight .Teaser.hide {
  display: none;
}

.TeaserEventHighlight--header {
  margin-bottom: 60px;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
@media (max-width: 1150px) {
  .TeaserEventHighlight--header {
    margin-bottom: 50px;
  }
}
@media (min-width: 1151px) {
  .TeaserEventHighlight--header {
    display: flex;
    flex-wrap: wrap;
    position: relative;
    padding-left: 8.3333333333%;
    padding-right: 8.3333333333%;
    margin-left: -30px;
    margin-right: -30px;
    align-items: baseline;
    margin-left: auto;
    margin-right: auto;
  }
}

.TeaserEventHighlight--title {
  font-weight: 500;
  font-size: 28px;
  line-height: 1.1;
}
@media (min-width: 740px) {
  .TeaserEventHighlight--title {
    font-size: calc(1.7142857143vw + 15.3142857143px);
  }
}
@media (min-width: 1440px) {
  .TeaserEventHighlight--title {
    font-size: 40px;
  }
}
@media mobile {
  .TeaserEventHighlight--title {
    line-height: 1.2;
  }
}

@media (min-width: 901px) {
  .TeaserEventHighlight--list {
    display: flex;
    flex-wrap: wrap;
    position: relative;
    padding-left: 0%;
    padding-right: 0%;
    margin-left: -30px;
    margin-right: -30px;
  }
}
@media (min-width: 1151px) {
  .TeaserEventHighlight--list {
    display: flex;
    flex-wrap: wrap;
    position: relative;
    padding-left: 8.3333333333%;
    padding-right: 8.3333333333%;
    margin-left: -50px;
    margin-right: -50px;
  }
}
.TeaserEventHighlight--list > li {
  margin-bottom: 30px;
}
.TeaserEventHighlight--list > li.hide {
  display: none;
}
@media (min-width: 901px) {
  .TeaserEventHighlight--list > li {
    display: block;
    padding-left: 30px;
    padding-right: 30px;
    flex: 1 0 50%;
    max-width: 50%;
  }
}
@media (min-width: 1151px) {
  .TeaserEventHighlight--list > li {
    display: block;
    padding-left: 50px;
    padding-right: 50px;
    flex: 1 0 50%;
    max-width: 50%;
  }
}
@media (min-width: 901px) {
  .TeaserEventHighlight.three-col .TeaserEventHighlight--list > li {
    display: block;
    padding-left: 30px;
    padding-right: 30px;
    flex: 1 0 33.3333333333%;
    max-width: 33.3333333333%;
  }
}
@media (min-width: 1151px) {
  .TeaserEventHighlight.three-col .TeaserEventHighlight--list > li {
    display: block;
    padding-left: 50px;
    padding-right: 50px;
    flex: 1 0 33.3333333333%;
    max-width: 33.3333333333%;
  }
}
@media (max-width: 1150px) {
  .TeaserEventHighlight--list .Teaser--title {
    -webkit-hyphens: auto;
    hyphens: auto;
  }
}

.TeaserList--footer {
  text-align: center;
}
.TeaserList--footer .Button.hidden {
  display: none;
}

.TeaserList--list > * {
  position: relative;
  transition: transform 0.3s cubic-bezier(0.165, 0.84, 0.44, 1), opacity 0.5s, visibility 0.5s;
}
.TeaserList--list > *.hidden {
  position: absolute;
  left: -9999px;
  visibility: hidden;
  opacity: 0;
  transform: translateY(40px);
  will-change: transform;
}

.TeaserGrid2col {
  margin-top: 60px;
  margin-bottom: 60px;
  width: calc(12 / var(--gridSize) * calc(100% - 2 * var(--page-margin)) - calc(var(--gridSize) - 12) / var(--gridSize) * 50px);
  margin-left: auto;
  margin-right: auto;
}
@media (max-width: 1150px) {
  .TeaserGrid2col {
    margin-top: 50px;
  }
}
@media (max-width: 1150px) {
  .TeaserGrid2col {
    margin-bottom: 50px;
  }
}
@media (max-width: 740px) {
  .TeaserGrid2col {
    margin-left: var(--page-margin);
    margin-right: var(--page-margin);
    width: auto;
  }
}
@media print {
  .TeaserGrid2col {
    width: 100%;
    margin-left: auto;
    margin-right: auto;
  }
  .TeaserGrid2col > * {
    --gridSize: inherit;
    --page-margin: inherit;
  }
}
.TeaserGrid2col > * {
  --gridSize: 12;
  --page-margin: 0px;
}
@media (max-width: 900px) {
  .TeaserGrid2col {
    width: calc(12 / var(--gridSize) * calc(100% - 2 * var(--page-margin)) - calc(var(--gridSize) - 12) / var(--gridSize) * 50px);
    margin-left: auto;
    margin-right: auto;
  }
}
@media (max-width: 900px) and (max-width: 740px) {
  .TeaserGrid2col {
    margin-left: var(--page-margin);
    margin-right: var(--page-margin);
    width: auto;
  }
}
@media print and (max-width: 900px) {
  .TeaserGrid2col {
    width: 100%;
    margin-left: auto;
    margin-right: auto;
  }
  .TeaserGrid2col > * {
    --gridSize: inherit;
    --page-margin: inherit;
  }
}
@media (max-width: 900px) {
  .TeaserGrid2col > * {
    --gridSize: 12;
    --page-margin: 0px;
  }
}

.TeaserGrid2col--list {
  margin-right: calc(30px * -1);
  margin-bottom: calc(30px * -1);
  display: flex;
  flex-wrap: wrap;
  page-break-inside: avoid;
}
.TeaserGrid2col--list > * {
  padding-right: 30px;
}
.TeaserGrid2col--list > * {
  margin-bottom: 30px;
}
.TeaserGrid2col--list > * {
  flex: 0 0 auto;
  width: calc(100% / 2);
}
.TeaserGrid2col--list:after {
  content: "";
  display: table;
  clear: both;
}
@media (max-width: 580px) {
  .TeaserGrid2col--list {
    margin-right: calc(20px * -1);
    margin-bottom: calc(20px * -1);
    display: flex;
    flex-wrap: wrap;
    page-break-inside: avoid;
  }
  .TeaserGrid2col--list > * {
    padding-right: 20px;
  }
  .TeaserGrid2col--list > * {
    margin-bottom: 20px;
  }
  .TeaserGrid2col--list > * {
    flex: 0 0 auto;
    width: calc(100% / 1);
  }
  .TeaserGrid2col--list:after {
    content: "";
    display: table;
    clear: both;
  }
}
.TeaserGrid2col--list > li:first-child {
  margin-top: 100px;
}
@media (max-width: 740px) {
  .TeaserGrid2col--list > li:first-child {
    margin-top: 0;
  }
}

.TeaserGridFullwidth {
  margin-top: 60px;
  margin-bottom: 60px;
  margin-left: var(--teaser-grid-fullwidth--gap, 30px);
  margin-right: var(--teaser-grid-fullwidth--gap, 30px);
}
@media (max-width: 1150px) {
  .TeaserGridFullwidth {
    margin-top: 50px;
  }
}
@media (max-width: 1150px) {
  .TeaserGridFullwidth {
    margin-bottom: 50px;
  }
}
@media (max-width: 1150px) {
  .TeaserGridFullwidth {
    --teaser-grid-fullwidth--gap: 20px;
  }
}
@media (max-width: 740px) {
  .TeaserGridFullwidth {
    --teaser-grid-fullwidth--gap: var(--page-margin);
  }
}

.TeaserGridFullwidth--list > li {
  margin-top: var(--teaser-grid-fullwidth--gap, 30px);
}
.TeaserGridFullwidth--list > li:first-child {
  margin-top: 0;
}

.TeaserHighlight {
  max-width: 1680px;
  margin: 0 auto;
}

.TeaserHighlight--inner {
  margin-top: 120px;
  margin-bottom: 120px;
}
@media (max-width: 1150px) {
  .TeaserHighlight--inner {
    margin-top: 100px;
  }
}
@media (max-width: 900px) {
  .TeaserHighlight--inner {
    margin-top: 70px;
  }
}
@media (max-width: 1150px) {
  .TeaserHighlight--inner {
    margin-bottom: 100px;
  }
}
@media (max-width: 900px) {
  .TeaserHighlight--inner {
    margin-bottom: 70px;
  }
}
@media (min-width: 901px) {
  .TeaserHighlight--inner {
    display: flex;
    flex-wrap: wrap;
    position: relative;
    padding-left: 0%;
    padding-right: 0%;
    margin-left: -30px;
    margin-right: -30px;
    flex-direction: row;
    align-items: center;
  }
}
@media (min-width: 1441px) {
  .TeaserHighlight--inner {
    align-items: normal;
  }
}
@media (min-width: 901px) {
  .TeaserHighlight--inner .TeaserHighlight--image-col {
    display: block;
    padding-left: 30px;
    padding-right: 30px;
    flex: 1 0 50%;
    max-width: 50%;
  }
}
@media (min-width: 1441px) {
  .TeaserHighlight--inner .TeaserHighlight--image-col {
    display: block;
    padding-left: 30px;
    padding-right: 30px;
    flex: 1 0 58.3333333333%;
    max-width: 58.3333333333%;
  }
}
.TeaserHighlight--inner .TeaserHighlight--text-col {
  background: #ffffff;
  position: relative;
  z-index: 1;
}
@media (min-width: 901px) {
  .TeaserHighlight--inner .TeaserHighlight--text-col {
    display: block;
    padding-left: 30px;
    padding-right: 30px;
    flex: 1 0 50%;
    max-width: 50%;
  }
}
@media (min-width: 1441px) {
  .TeaserHighlight--inner .TeaserHighlight--text-col {
    margin-top: 120px;
    margin-bottom: 120px;
    display: block;
    padding-left: 30px;
    padding-right: 30px;
    flex: 1 0 41.6666666667%;
    max-width: 41.6666666667%;
    position: relative;
    margin-left: -8.3333333333%;
  }
}
@media (min-width: 1441px) and (max-width: 1150px) {
  .TeaserHighlight--inner .TeaserHighlight--text-col {
    margin-top: 100px;
  }
}
@media (min-width: 1441px) and (max-width: 900px) {
  .TeaserHighlight--inner .TeaserHighlight--text-col {
    margin-top: 70px;
  }
}
@media (min-width: 1441px) and (max-width: 1150px) {
  .TeaserHighlight--inner .TeaserHighlight--text-col {
    margin-bottom: 100px;
  }
}
@media (min-width: 1441px) and (max-width: 900px) {
  .TeaserHighlight--inner .TeaserHighlight--text-col {
    margin-bottom: 70px;
  }
}
@media (min-width: 1441px) {
  .TeaserHighlight--inner .TeaserHighlight--text-col:before {
    display: block;
    content: "";
    width: 100%;
    padding-bottom: 95%;
  }
  .TeaserHighlight--inner .TeaserHighlight--text-col > :first-child {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    width: 100%;
    height: 100%;
  }
}

.TeaserHighlight.right .TeaserHighlight--inner {
  flex-direction: row-reverse;
}
@media (min-width: 1441px) {
  .TeaserHighlight.right .TeaserHighlight--text-col {
    margin-left: 0;
    margin-right: -8.3333333333%;
  }
}

.TeaserHighlight--textbox {
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding-left: 100px;
  padding-left: var(--page-margin);
  padding-right: 100px;
  padding-right: var(--page-margin);
}
@media (min-width: 901px) {
  .TeaserHighlight--textbox {
    padding: 0 30px;
  }
}
@media (min-width: 1441px) {
  .TeaserHighlight--textbox {
    padding: 0 70px;
  }
}

.TeaserHighlight--date {
  border: 1px solid #e6e6e6;
  border-radius: 3px;
  margin-top: -35px;
  margin-bottom: 2rem;
}
@media (min-width: 901px) {
  .TeaserHighlight--date {
    margin-top: 0;
    margin-bottom: 2rem;
  }
}

.TeaserHighlight--Icon {
  margin-top: -35px;
  margin-bottom: 2rem;
}
@media (min-width: 901px) {
  .TeaserHighlight--Icon {
    margin-top: 0;
    margin-bottom: 1rem;
    border-color: transparent !important;
  }
}

.TeaserHighlight--title {
  font-weight: 500;
  font-size: 32px;
  line-height: 1;
  margin-bottom: 2rem;
}
@media (min-width: 740px) {
  .TeaserHighlight--title {
    font-size: calc(4vw + 2.4px);
  }
}
@media (min-width: 1440px) {
  .TeaserHighlight--title {
    font-size: 60px;
  }
}
@media mobile {
  .TeaserHighlight--title {
    line-height: 1;
  }
}
.TeaserHighlight--title:first-child {
  margin-top: 2rem;
}

.TeaserHighlight--text {
  color: #808080;
  margin-bottom: 3rem;
}
@media (min-width: 741px) {
  .TeaserHighlight--text {
    max-width: 380px;
  }
}

.TeaserHighlight--location {
  margin-top: 1em;
}

@media (min-width: 741px) {
  body.js .TeaserHighlight:not(.is-inview) .TeaserHighlight--image-col .Picture {
    transform: translateX(25px);
    opacity: 0;
  }
}
@media (min-width: 741px) {
  body.js .TeaserHighlight:not(.is-inview) .TeaserHighlight--textbox {
    opacity: 0;
    transform: translateX(-25px);
  }
}
@media (min-width: 741px) {
  body.js .TeaserHighlight:not(.is-inview).left .TeaserHighlight--image-col .Picture {
    transform: translateX(-25px);
    opacity: 0;
  }
}
@media (min-width: 741px) {
  body.js .TeaserHighlight:not(.is-inview).left .TeaserHighlight--textbox {
    opacity: 0;
    transform: translateX(25px);
  }
}

body.js .TeaserHighlight.is-inview .TeaserHighlight--image-col .Picture {
  transition: transform 1200ms cubic-bezier(0.215, 0.61, 0.355, 1), opacity 1200ms, -webkit-clip-path 1200ms cubic-bezier(0.215, 0.61, 0.355, 1);
  transition: transform 1200ms cubic-bezier(0.215, 0.61, 0.355, 1), opacity 1200ms, clip-path 1200ms cubic-bezier(0.215, 0.61, 0.355, 1);
  transition: transform 1200ms cubic-bezier(0.215, 0.61, 0.355, 1), opacity 1200ms, clip-path 1200ms cubic-bezier(0.215, 0.61, 0.355, 1), -webkit-clip-path 1200ms cubic-bezier(0.215, 0.61, 0.355, 1);
}
body.js .TeaserHighlight.is-inview .TeaserHighlight--textbox {
  transition: opacity 700ms, transform 700ms;
  transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
}

.Teaser--image--tags {
  position: absolute;
  top: 10px;
  left: 10px;
  display: flex;
  flex-direction: row;
}
.Teaser--image--tags li + li {
  margin-left: 7px;
}

.Teaser.link .Teaser--image {
  flex-basis: 105px;
}

.TeaserLink {
  margin-top: 10vw;
  margin-bottom: calc(15vw + 50px);
}

.TeaserLink--header {
  display: flex;
}

.TeaserLink--title {
  flex-grow: 1;
}

.TeaserLink--subtitle {
  margin-top: 50px;
  margin-bottom: 1em;
}

.TeaserList {
  margin-left: 100px;
  margin-left: var(--page-margin);
  margin-right: 100px;
  margin-right: var(--page-margin);
  position: relative;
  margin-top: 60px;
  margin-bottom: 120px;
  position: relative;
  z-index: 0;
}
@media (max-width: 1150px) {
  .TeaserList {
    margin-top: 50px;
  }
}
@media (max-width: 1150px) {
  .TeaserList {
    margin-bottom: 100px;
  }
}
@media (max-width: 900px) {
  .TeaserList {
    margin-bottom: 70px;
  }
}

.TeaserList--header {
  margin-bottom: 30px;
  gap: 30px;
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
}
@media (max-width: 740px) {
  .TeaserList--header {
    gap: 15px;
    flex-direction: column;
  }
}

.TeaserList--title {
  font-weight: 500;
  font-size: 28px;
  line-height: 1.1;
  position: relative;
  z-index: 2;
}
@media (min-width: 740px) {
  .TeaserList--title {
    font-size: calc(1.7142857143vw + 15.3142857143px);
  }
}
@media (min-width: 1440px) {
  .TeaserList--title {
    font-size: 40px;
  }
}
@media mobile {
  .TeaserList--title {
    line-height: 1.2;
  }
}

.TeaserList--list > li.hide, .TeaserList--list > li.hidden {
  display: none;
}

.TeaserList--footer {
  margin-top: 2em;
  display: flex;
  justify-content: center;
}

.TeaserRefresh {
  display: block;
  position: relative;
  z-index: 0;
  border-bottom: 1px solid #e6e6e6;
}
@media (max-width: 740px) {
  .TeaserRefresh {
    padding-bottom: 30px;
    margin-bottom: 30px;
    margin-top: 30px;
  }
}
.TeaserRefresh:hover {
  z-index: 1;
}
.TeaserRefresh:hover .TeaserRefresh--imageWrapper {
  visibility: visible;
  opacity: 1;
}
.TeaserRefresh:hover .TeaserRefresh--cta {
  transform: translateY(-50%);
  background-color: #000000;
  border-color: #000000;
  color: #ffffff;
}
.TeaserRefresh:hover .TeaserRefresh--cta::before {
  visibility: visible;
  opacity: 1;
}
.TeaserRefresh:hover [data-name=Arrows--arrow-right] {
  transform: scale(0.9);
  animation: icon-out-and-in 1s ease-in-out 300ms 1 normal forwards;
}

@media (min-width: 741px) {
  .TeaserRefresh--imageWrapper {
    position: absolute;
    visibility: hidden;
    opacity: 0;
    top: 50%;
    right: 110px;
    width: 25%;
    transform: translateY(-50%);
    z-index: -1;
  }
}

@media (min-width: 741px) {
  .TeaserRefresh--image {
    transform: translateX(calc(var(--mouse-x, 0) * 20%)) translateY(calc(var(--mouse-y, 0) * 5%));
  }
}
.TeaserRefresh--image .Picture {
  opacity: 0;
}
.TeaserRefresh--image .Picture.is-image-loaded {
  opacity: 1;
}

.TeaserRefresh--body {
  padding-top: 3em;
  display: flex;
  padding-bottom: 3em;
  max-width: 850px;
  justify-content: center;
}
.TeaserRefresh--body[href] {
  margin-right: 100px;
}
@media (max-width: 740px) {
  .TeaserRefresh--body {
    margin-right: 0;
    margin-top: 1em;
    padding-top: 0;
    padding-bottom: 0;
    max-width: 100%;
    gap: 1em;
  }
}

@media (max-width: 740px) {
  .TeaserRefresh--tags {
    margin-top: 15px;
  }
}

@media (min-width: 741px) {
  .TeaserRefresh--text {
    display: flex;
    gap: 2em;
    width: 100%;
    justify-content: space-between;
    align-items: center;
  }
  .TeaserRefresh--text [data-teaser-col] {
    width: var(--preferred-width);
  }
  .TeaserRefresh--text > * {
    flex-grow: 1;
  }
}
@media (max-width: 740px) {
  .TeaserRefresh--text {
    flex-grow: 1;
  }
}

.TeaserRefresh--date {
  font-size: 14px;
  line-height: 1.4;
  color: #808080;
  width: 30%;
  flex-shrink: 0;
  flex-grow: 0;
}
@media (min-width: 740px) {
  .TeaserRefresh--date {
    font-size: calc(0.2857142857vw + 11.8857142857px);
  }
}
@media (min-width: 1440px) {
  .TeaserRefresh--date {
    font-size: 16px;
  }
}
@media mobile {
  .TeaserRefresh--date {
    line-height: 1.5;
  }
}
@media (max-width: 1280px) {
  .TeaserRefresh--date {
    width: 15%;
  }
}

[data-with-entries] .TeaserRefresh--titleWrapper {
  max-width: 360px;
  width: 100%;
}
@media (max-width: 740px) {
  [data-with-entries] .TeaserRefresh--titleWrapper {
    max-width: 100%;
  }
}
@media (max-width: 740px) {
  .TeaserRefresh--titleWrapper {
    order: -1;
  }
}

.TeaserRefresh--title {
  font-size: 16px;
  line-height: 1.4;
}
@media (min-width: 740px) {
  .TeaserRefresh--title {
    font-size: calc(0.5714285714vw + 11.7714285714px);
  }
}
@media (min-width: 1440px) {
  .TeaserRefresh--title {
    font-size: 20px;
  }
}
@media mobile {
  .TeaserRefresh--title {
    line-height: 1.4;
  }
}

.TeaserRefresh--subtitle {
  font-size: 16px;
  line-height: 1.4;
  color: #808080;
}
@media (min-width: 740px) {
  .TeaserRefresh--subtitle {
    font-size: calc(0.5714285714vw + 11.7714285714px);
  }
}
@media (min-width: 1440px) {
  .TeaserRefresh--subtitle {
    font-size: 20px;
  }
}
@media mobile {
  .TeaserRefresh--subtitle {
    line-height: 1.4;
  }
}

.TeaserRefresh--cta {
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%) scale(0.8);
  border-radius: 100%;
  transition: transform 150ms;
  background-color: #f2f2f2;
  border-color: #f2f2f2;
  color: #222222;
  overflow: hidden;
}
@media (max-width: 740px) {
  .TeaserRefresh--cta {
    display: none;
  }
}

.TeaserRefresh--ctaMobile {
  display: none;
}
@media (max-width: 740px) {
  .TeaserRefresh--ctaMobile {
    display: block;
    margin-right: 0;
  }
}

.TeaserRefresh--data {
  display: flex;
  align-items: center;
  gap: 20px;
  justify-content: space-between;
}
@media (max-width: 740px) {
  .TeaserRefresh--data {
    width: 100%;
    align-items: flex-start;
  }
  .TeaserRefresh--data > * {
    flex: 1 1 0;
  }
}

.TeaserRefresh--entry .key {
  font-size: 12px;
  line-height: 1.3;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
  color: #808080;
}
@media (min-width: 740px) {
  .TeaserRefresh--entry .key {
    font-size: calc(0.1428571429vw + 10.9428571429px);
  }
}
@media (min-width: 1440px) {
  .TeaserRefresh--entry .key {
    font-size: 13px;
  }
}
@media mobile {
  .TeaserRefresh--entry .key {
    line-height: 1.3;
  }
}
.TeaserRefresh--entry .value {
  font-size: 16px;
  line-height: 1.4;
}
@media (min-width: 740px) {
  .TeaserRefresh--entry .value {
    font-size: calc(0.5714285714vw + 11.7714285714px);
  }
}
@media (min-width: 1440px) {
  .TeaserRefresh--entry .value {
    font-size: 20px;
  }
}
@media mobile {
  .TeaserRefresh--entry .value {
    line-height: 1.4;
  }
}
@media (max-width: 740px) {
  .TeaserRefresh--entry .value {
    font-size: 14px;
    line-height: 1.4;
  }
}
@media (max-width: 740px) and (min-width: 740px) {
  .TeaserRefresh--entry .value {
    font-size: calc(0.2857142857vw + 11.8857142857px);
  }
}
@media (max-width: 740px) and (min-width: 1440px) {
  .TeaserRefresh--entry .value {
    font-size: 16px;
  }
}
@media mobile and (max-width: 740px) {
  .TeaserRefresh--entry .value {
    line-height: 1.5;
  }
}
@media (max-width: 900px) {
  .TeaserRefresh--entry {
    margin-top: 10px;
  }
}

.TeaserRefresh--tags {
  display: inline-flex;
  gap: 8px;
}

.TeaserRefresh--label {
  font-size: 14px;
  line-height: 1.4;
  display: inline-flex;
  white-space: nowrap;
  justify-content: center;
  align-items: center;
  padding: 13px 22px 13px 20px;
  height: 48px;
  gap: 8px;
  height: 48px;
  background: #f2f2f2;
  border-radius: 100px;
}
@media (min-width: 740px) {
  .TeaserRefresh--label {
    font-size: calc(0.2857142857vw + 11.8857142857px);
  }
}
@media (min-width: 1440px) {
  .TeaserRefresh--label {
    font-size: 16px;
  }
}
@media mobile {
  .TeaserRefresh--label {
    line-height: 1.5;
  }
}
.TeaserRefresh--label > img {
  width: 20px;
  height: auto;
}

.TeaserSliderWrapper {
  --teaser-slider-gap: 30px;
  margin-top: 120px;
  padding-bottom: 60px;
  margin-bottom: 120px;
  position: relative;
  overflow: hidden;
}
@media (max-width: 1150px) {
  .TeaserSliderWrapper {
    margin-top: 100px;
  }
}
@media (max-width: 900px) {
  .TeaserSliderWrapper {
    margin-top: 70px;
  }
}
@media (max-width: 1150px) {
  .TeaserSliderWrapper {
    padding-bottom: 50px;
  }
}
@media (max-width: 1150px) {
  .TeaserSliderWrapper {
    margin-bottom: 100px;
  }
}
@media (max-width: 900px) {
  .TeaserSliderWrapper {
    margin-bottom: 70px;
  }
}
.TeaserSliderWrapper .SectionTitle {
  margin-left: 100px;
  margin-left: var(--page-margin);
  margin-right: 100px;
  margin-right: var(--page-margin);
  position: relative;
}
@media (max-width: 900px) {
  .TeaserSliderWrapper .SectionTitle {
    position: static;
  }
}

.TeaserSlider {
  margin-left: 100px;
  margin-left: var(--page-margin);
  margin-right: 100px;
  margin-right: var(--page-margin);
  position: relative;
  position: relative;
}

.TeaserSlider--cursor {
  display: none;
}
.flickity-enabled.is-draggable .TeaserSlider--cursor {
  display: block;
}

.TeaserSlider--viewport {
  position: relative;
}
@media print {
  .TeaserSlider--viewport {
    height: auto !important;
  }
}

.TeaserSlider--inner {
  display: flex;
  position: relative;
  width: 100%;
  height: 100%;
}
@media print {
  .TeaserSlider--inner {
    flex-wrap: wrap !important;
    left: auto !important;
    transform: none !important;
  }
}

.TeaserSlider--item {
  transition: padding 0.3s;
  will-change: padding;
  display: block;
  vertical-align: top;
  flex: 0 0 auto;
  width: 50%;
  width: calc((100% + 60px) / 2 - 60px);
  margin-right: 60px;
}
.TeaserSlider--item.is-slider-ready {
  visibility: hidden;
}
.TeaserSlider--item.was-visible, .TeaserSlider--item.is-visible {
  visibility: visible;
}
@media print {
  .TeaserSlider--item {
    position: relative !important;
    left: auto !important;
  }
}

@media (min-width: 901px) {
  .TeaserSlider.center .TeaserSlider--inner {
    justify-content: center;
  }
}
.TeaserSlider.center .TeaserSlider--inner .TeaserSlider--item:nth-child(even),
.TeaserSlider.center .TeaserSlider--inner .TeaserSlider--item:nth-child(odd) {
  padding: 0;
}
.TeaserSlider.center .TeaserSlider--inner .TeaserSlider--item:last-child {
  margin: 0;
}

.TeaserSlider.gridsize--3 .TeaserSlider--item {
  display: block;
  vertical-align: top;
  flex: 0 0 auto;
  width: 90.9090909091%;
  width: calc((100% + 10px) / 1.1 - 10px);
  margin-right: 10px;
}
.TeaserSlider.gridsize--3 .TeaserSlider--item.is-slider-ready {
  visibility: hidden;
}
.TeaserSlider.gridsize--3 .TeaserSlider--item.was-visible, .TeaserSlider.gridsize--3 .TeaserSlider--item.is-visible {
  visibility: visible;
}
@media (min-width: 420px) {
  .TeaserSlider.gridsize--3 .TeaserSlider--item {
    display: block;
    vertical-align: top;
    flex: 0 0 auto;
    width: 50%;
    width: calc((100% + 10px) / 2 - 10px);
    margin-right: 10px;
  }
  .TeaserSlider.gridsize--3 .TeaserSlider--item.is-slider-ready {
    visibility: hidden;
  }
  .TeaserSlider.gridsize--3 .TeaserSlider--item.was-visible, .TeaserSlider.gridsize--3 .TeaserSlider--item.is-visible {
    visibility: visible;
  }
}
@media (min-width: 581px) {
  .TeaserSlider.gridsize--3 .TeaserSlider--item {
    display: block;
    vertical-align: top;
    flex: 0 0 auto;
    width: 40%;
    width: calc((100% + 30px) / 2.5 - 30px);
    margin-right: 30px;
  }
  .TeaserSlider.gridsize--3 .TeaserSlider--item.is-slider-ready {
    visibility: hidden;
  }
  .TeaserSlider.gridsize--3 .TeaserSlider--item.was-visible, .TeaserSlider.gridsize--3 .TeaserSlider--item.is-visible {
    visibility: visible;
  }
}
@media (min-width: 741px) {
  .TeaserSlider.gridsize--3 .TeaserSlider--item {
    display: block;
    vertical-align: top;
    flex: 0 0 auto;
    width: 33.3333333333%;
    width: calc((100% + 30px) / 3 - 30px);
    margin-right: 30px;
  }
  .TeaserSlider.gridsize--3 .TeaserSlider--item.is-slider-ready {
    visibility: hidden;
  }
  .TeaserSlider.gridsize--3 .TeaserSlider--item.was-visible, .TeaserSlider.gridsize--3 .TeaserSlider--item.is-visible {
    visibility: visible;
  }
}
@media (min-width: 1441px) {
  .TeaserSlider.gridsize--3 .TeaserSlider--item {
    display: block;
    vertical-align: top;
    flex: 0 0 auto;
    width: 33.3333333333%;
    width: calc((100% + var(--teaser-slider-gap)) / 3 - var(--teaser-slider-gap));
    margin-right: var(--teaser-slider-gap);
  }
  .TeaserSlider.gridsize--3 .TeaserSlider--item.is-slider-ready {
    visibility: hidden;
  }
  .TeaserSlider.gridsize--3 .TeaserSlider--item.was-visible, .TeaserSlider.gridsize--3 .TeaserSlider--item.is-visible {
    visibility: visible;
  }
}

.TeaserSlider.gridsize--4 .TeaserSlider--item {
  display: block;
  vertical-align: top;
  flex: 0 0 auto;
  width: 83.3333333333%;
  width: calc((100% + 20px) / 1.2 - 20px);
  margin-right: 20px;
}
.TeaserSlider.gridsize--4 .TeaserSlider--item.is-slider-ready {
  visibility: hidden;
}
.TeaserSlider.gridsize--4 .TeaserSlider--item.was-visible, .TeaserSlider.gridsize--4 .TeaserSlider--item.is-visible {
  visibility: visible;
}
@media (min-width: 901px) {
  .TeaserSlider.gridsize--4 .TeaserSlider--item {
    display: block;
    vertical-align: top;
    flex: 0 0 auto;
    width: 25%;
    width: calc((100% + 30px) / 4 - 30px);
    margin-right: 30px;
  }
  .TeaserSlider.gridsize--4 .TeaserSlider--item.is-slider-ready {
    visibility: hidden;
  }
  .TeaserSlider.gridsize--4 .TeaserSlider--item.was-visible, .TeaserSlider.gridsize--4 .TeaserSlider--item.is-visible {
    visibility: visible;
  }
}
@media (min-width: 1441px) {
  .TeaserSlider.gridsize--4 .TeaserSlider--item {
    display: block;
    vertical-align: top;
    flex: 0 0 auto;
    width: 25%;
    width: calc((100% + 30px) / 4 - 30px);
    margin-right: 30px;
  }
  .TeaserSlider.gridsize--4 .TeaserSlider--item.is-slider-ready {
    visibility: hidden;
  }
  .TeaserSlider.gridsize--4 .TeaserSlider--item.was-visible, .TeaserSlider.gridsize--4 .TeaserSlider--item.is-visible {
    visibility: visible;
  }
}

.TeaserSlider--buttons {
  display: none;
}
@media (min-width: 741px) {
  .TeaserSlider--buttons {
    display: block;
  }
}
.TeaserSlider--buttons .Button {
  position: absolute;
  z-index: 99;
  top: 50%;
  background: #ffffff;
  cursor: pointer;
  opacity: 1;
  will-change: opacity;
}
.TeaserSlider--buttons .Button[disabled] {
  opacity: 0;
}
.TeaserSlider--buttons button + button {
  margin-left: 10px;
}

.TeaserSlider--prev {
  transform: translateY(-50%);
  left: -15px;
}
@media (min-width: 741px) {
  .TeaserSlider--prev {
    left: -25px;
  }
}
@media (min-width: 901px) {
  .TeaserSlider--prev {
    left: -25px;
  }
}

.TeaserSlider--next {
  transform: translateY(-50%);
  right: -15px;
}
@media (min-width: 741px) {
  .TeaserSlider--next {
    right: -25px;
  }
}
@media (min-width: 901px) {
  .TeaserSlider--next {
    right: -25px;
  }
}

.TeaserSlider.is-dragging .TeaserSlider--item {
  pointer-events: none;
}

.TeaserSlider--footer {
  text-align: center;
}

.TeaserSpecialSkyscraper .Teaser {
  margin-left: auto;
  margin-right: auto;
  width: 83.3333333333%;
}
@media (min-width: 741px) {
  .TeaserSpecialSkyscraper .Teaser {
    width: 50%;
  }
}
@media (min-width: 1151px) {
  .TeaserSpecialSkyscraper .Teaser {
    width: 33.3333333333%;
  }
}
.TeaserSpecialSkyscraper .Teaser .Teaser--image--tags {
  left: auto;
  right: 10px;
}

.VerticalContentSlider--slides > li:last-child {
  margin-bottom: 0;
}

.VerticalContentSliderSlide {
  position: relative;
  color: #ffffff;
  overflow: hidden;
}

.VerticalContentSliderSlide--background {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 0;
  will-change: transform;
}
.VerticalContentSliderSlide--background .Picture.is-image-loaded::after {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  top: 0;
  height: 100%;
  width: 70%;
  background-image: linear-gradient(to right, rgba(0, 0, 0, 0.3) 47.14%, rgba(0, 0, 0, 0) 88.68%);
}
[data-text-position=right] .VerticalContentSliderSlide--background .Picture.is-image-loaded::after {
  right: 0;
  left: auto;
  background-image: linear-gradient(to left, rgba(0, 0, 0, 0.3) 47.14%, rgba(0, 0, 0, 0) 88.68%);
}

.VerticalContentSliderSlide--parallax {
  --progress-rel: calc(var(--scroll-progress, 0) - 0.5);
  --progress-inv: calc(1 - var(--scroll-progress-rel, 0));
  --delta-y: calc(var(--bg-height, 0px) - var(--height, 0px));
  --scale: calc(1 + var(--scroll-progress-inv, 0) * 0.1);
  transform: translate(-50%, -50%) translateY(calc(var(--progress-rel) * var(--delta-y))) scale(var(--scale));
  position: absolute;
  top: 50%;
  left: 50%;
  width: calc(100% + 20vw);
  height: calc(100% + 20vw);
}
.VerticalContentSliderSlide--parallax > .Picture {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
}

.VerticalContentSliderSlide--inner {
  margin-left: 100px;
  margin-left: var(--page-margin);
  margin-right: 100px;
  margin-right: var(--page-margin);
  position: relative;
}

.VerticalContentSliderSlide--title {
  font-weight: 500;
  font-size: 32px;
  line-height: 1;
}
@media (min-width: 740px) {
  .VerticalContentSliderSlide--title {
    font-size: calc(4vw + 2.4px);
  }
}
@media (min-width: 1440px) {
  .VerticalContentSliderSlide--title {
    font-size: 60px;
  }
}
@media mobile {
  .VerticalContentSliderSlide--title {
    line-height: 1;
  }
}

.VerticalContentSliderSlide--subtitle {
  font-weight: 500;
  font-size: 22px;
  line-height: 1.1;
  opacity: 0.6;
}
@media (min-width: 740px) {
  .VerticalContentSliderSlide--subtitle {
    font-size: calc(1.1428571429vw + 13.5428571429px);
  }
}
@media (min-width: 1440px) {
  .VerticalContentSliderSlide--subtitle {
    font-size: 30px;
  }
}
@media mobile {
  .VerticalContentSliderSlide--subtitle {
    line-height: 1.2;
  }
}
[data-with-cta] .VerticalContentSliderSlide--subtitle {
  font-weight: 500;
  font-size: 32px;
  line-height: 1;
}
@media (min-width: 740px) {
  [data-with-cta] .VerticalContentSliderSlide--subtitle {
    font-size: calc(4vw + 2.4px);
  }
}
@media (min-width: 1440px) {
  [data-with-cta] .VerticalContentSliderSlide--subtitle {
    font-size: 60px;
  }
}
@media mobile {
  [data-with-cta] .VerticalContentSliderSlide--subtitle {
    line-height: 1;
  }
}

.VerticalContentSliderSlide--inner {
  display: flex;
  align-items: center;
  min-height: 100vh;
}

.VerticalContentSliderSlide--content {
  padding-top: 120px;
  padding-bottom: 120px;
  width: 50%;
}
@media (max-width: 1150px) {
  .VerticalContentSliderSlide--content {
    padding-top: 100px;
  }
}
@media (max-width: 900px) {
  .VerticalContentSliderSlide--content {
    padding-top: 70px;
  }
}
@media (max-width: 1150px) {
  .VerticalContentSliderSlide--content {
    padding-bottom: 100px;
  }
}
@media (max-width: 900px) {
  .VerticalContentSliderSlide--content {
    padding-bottom: 70px;
  }
}
@media (max-width: 1150px) {
  .VerticalContentSliderSlide--content {
    width: 60%;
  }
}
@media (max-width: 740px) {
  .VerticalContentSliderSlide--content {
    width: 100%;
  }
}
[data-text-position=right] .VerticalContentSliderSlide--content {
  margin-right: 0;
  margin-left: auto;
}
@media (max-width: 740px) {
  [data-text-position=right] .VerticalContentSliderSlide--content {
    margin-left: 0;
  }
}

.VerticalContentSliderSlide--cta {
  margin-top: 2.5em;
}

.eb-css .ebcss-chat-button-wrapper {
  z-index: 110 !important;
}

@media print {
  *,
  *::before,
  *::after {
    box-shadow: none !important;
    text-shadow: none !important;
  }
  @page {
    width: 210mm;
    height: 297mm;
    margin-top: 25mm;
    margin-bottom: 25mm;
    margin-right: 20mm;
    margin-left: 20mm;
  }
  tr {
    page-break-inside: avoid;
    page-break-after: auto;
  }
  thead {
    display: table-header-group;
  }
  tfoot {
    display: table-footer-group;
  }
  a,
  a:visited {
    text-decoration: underline;
  }
  /*
   * Don't show links that are fragment identifiers,
   * or use the `javascript:` pseudo protocol
   */
  a[href^="#"]::after,
  a[href=""]::after,
  a[href^="javascript:"]::after {
    content: "";
  }
  a[href^="javascript:"] {
    display: none;
  }
  p,
  h2,
  h3 {
    orphans: 3;
    widows: 3;
  }
  pre {
    white-space: pre-wrap !important;
    border: 1px solid #999;
    page-break-inside: avoid;
  }
  tr,
  img {
    page-break-inside: avoid;
  }
  h2,
  h3 {
    page-break-after: avoid;
  }
}