@charset "UTF-8";
@font-face {
  font-family: "IconDefault";
  src: url("/_resources/themes/bluhm/client/icons/default/IconDefault.eot?t=1749198871509"); /* IE9*/
  src: url("/_resources/themes/bluhm/client/icons/default/IconDefault.eot?t=1749198871509#iefix") format("embedded-opentype"), url("/_resources/themes/bluhm/client/icons/default/IconDefault.woff2?t=1749198871509") format("woff2"), url("/_resources/themes/bluhm/client/icons/default/IconDefault.woff?t=1749198871509") format("woff"), url("/_resources/themes/bluhm/client/icons/default/IconDefault.ttf?t=1749198871509") format("truetype"), url("/_resources/themes/bluhm/client/icons/default/IconDefault.svg?t=1749198871509#IconDefault") format("svg"); /* iOS 4.1- */
}
[class^=icon-], [class*=" icon-"] {
  font-family: "IconDefault" !important;
  font-size: 24px;
  font-style: normal;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.icon-arrow-bottom:before {
  content: "\ea01";
}

.icon-arrow-left:before {
  content: "\ea02";
}

.icon-arrow-right:before {
  content: "\ea03";
}

.icon-arrow-top:before {
  content: "\ea04";
}

.icon-brand-facebook:before {
  content: "\ea05";
}

.icon-brand-instagram:before {
  content: "\ea06";
}

.icon-brand-linkedin:before {
  content: "\ea07";
}

.icon-brand-whatsapp:before {
  content: "\ea08";
}

.icon-brand-x:before {
  content: "\ea09";
}

.icon-brand-xing:before {
  content: "\ea0a";
}

.icon-brand-youtube:before {
  content: "\ea0b";
}

.icon-calendar-month:before {
  content: "\ea0c";
}

.icon-check:before {
  content: "\ea0d";
}

.icon-chevron-down:before {
  content: "\ea0e";
}

.icon-chevron-left:before {
  content: "\ea0f";
}

.icon-chevron-right:before {
  content: "\ea10";
}

.icon-chevron-up:before {
  content: "\ea11";
}

.icon-close:before {
  content: "\ea12";
}

.icon-download:before {
  content: "\ea13";
}

.icon-file:before {
  content: "\ea14";
}

.icon-info-circle:before {
  content: "\ea15";
}

.icon-leaf:before {
  content: "\ea16";
}

.icon-login:before {
  content: "\ea17";
}

.icon-logout:before {
  content: "\ea18";
}

.icon-mail:before {
  content: "\ea19";
}

.icon-map-pin:before {
  content: "\ea1a";
}

.icon-map-search:before {
  content: "\ea1b";
}

.icon-map:before {
  content: "\ea1c";
}

.icon-menu-2:before {
  content: "\ea1d";
}

.icon-message-2:before {
  content: "\ea1e";
}

.icon-minus:before {
  content: "\ea1f";
}

.icon-phone:before {
  content: "\ea20";
}

.icon-player-eject:before {
  content: "\ea21";
}

.icon-player-pause:before {
  content: "\ea22";
}

.icon-player-play:before {
  content: "\ea23";
}

.icon-player-record:before {
  content: "\ea24";
}

.icon-player-skip-back:before {
  content: "\ea25";
}

.icon-player-skip-forward:before {
  content: "\ea26";
}

.icon-player-stop:before {
  content: "\ea27";
}

.icon-player-track-next:before {
  content: "\ea28";
}

.icon-player-track-prev:before {
  content: "\ea29";
}

.icon-plus:before {
  content: "\ea2a";
}

.icon-search:before {
  content: "\ea2b";
}

.icon-switch-3:before {
  content: "\ea2c";
}

.icon-switch-horizontal:before {
  content: "\ea2d";
}

.icon-switch-vertical:before {
  content: "\ea2e";
}

.icon-tag:before {
  content: "\ea2f";
}

.icon-tool:before {
  content: "\ea30";
}

.icon-trash:before {
  content: "\ea31";
}

.icon-upload:before {
  content: "\ea32";
}

.icon-urgent:before {
  content: "\ea33";
}

.icon-user-circle:before {
  content: "\ea34";
}

.icon-user:before {
  content: "\ea35";
}

.icon-users:before {
  content: "\ea36";
}

.icon-video:before {
  content: "\ea37";
}

.icon-view-360-arrow:before {
  content: "\ea38";
}

.icon-vocabulary:before {
  content: "\ea39";
}

.icon-world:before {
  content: "\ea3a";
}

.icon-zoom-in:before {
  content: "\ea3b";
}

.icon-zoom-out:before {
  content: "\ea3c";
}

/**
 * Themed image returns the absolute path to
 * a given image in this theme
 */
/**
 * Themed font returns the absolute path to
 * a given font in this theme
 */
* {
  box-sizing: border-box;
  padding: 0;
  margin: 0;
}

body {
  background: var(--gray-90-ci);
  color: var(--gray-10-ci);
  font-family: "Soehne", sans-serif;
  font-weight: 400;
  font-size: 16px;
  line-height: 1.5;
  margin: 0 auto;
  padding: 0;
  overflow-x: hidden;
}

.main,
main {
  position: relative;
  max-width: 2000px;
  width: 100%;
  margin: 0 auto;
  padding: 0;
  padding-top: 80px;
  background: var(--background);
  color: var(--color);
}
@media (min-width: 576px) {
  .main,
  main {
    padding-top: 85px;
  }
}
@media (min-width: 992px) {
  .main,
  main {
    padding-top: 102px;
  }
}

hr {
  border: 0;
  border-top: 2px solid var(--low-contrast);
}

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

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

iframe:not([src]) {
  display: none;
}

.cookiefirst-disabled-resource {
  container-type: inline-size;
  position: absolute;
  width: 100%;
  height: 100%;
  background-color: var(--white);
  border: solid 1px var(--gray-50);
  color: var(--black);
  place-content: center;
}
.cookiefirst-disabled-resource__inner {
  padding: 20px;
  text-align: center;
}
.cookiefirst-disabled-resource__image {
  place-self: center;
  max-width: 80px;
  -o-object-fit: contain;
     object-fit: contain;
}
@media (min-width: 576px) {
  .cookiefirst-disabled-resource__image {
    max-width: 100px;
  }
}
@media (min-width: 992px) {
  .cookiefirst-disabled-resource__image {
    max-width: 160px;
  }
}
.cookiefirst-disabled-resource__content {
  margin-top: 15px;
}
@media (min-width: 992px) {
  .cookiefirst-disabled-resource__content {
    margin-top: 30px;
  }
}
.cookiefirst-disabled-resource__button {
  color: inherit;
  cursor: pointer;
  text-decoration: underline;
}

.aspect-ratio--16by9 {
  aspect-ratio: 16/9;
}

.video,
.video > iframe {
  border: 0;
  width: 100%;
  height: 100%;
}

:root {
  --red-30: #800003;
  --red-40: #b20004;
  --red-50-ci: #e60005;
  --red-60: #ff1a1e;
  --gray-0: #000000;
  --gray-10-ci: #232323;
  --gray-20-ci: #333333;
  --gray-30: #4d4d4d;
  --gray-40: #666666;
  --gray-50: #808080;
  --gray-60: #999999;
  --gray-70: #b3b3b3;
  --gray-80: #cccccc;
  --gray-90-ci: #e8e8e8;
  --gray-100-ci: #ffffff;
  --info: #1872dc;
  --success: #008756;
  --warning: #ffdc27;
  --error: var(--red-50-ci);
  --error-text: var(--red-50-ci);
  --white: var(--gray-100-ci);
  --black: var(--gray-0);
  --red: var(--red-50-ci);
  --dark-gray: var(--gray-10-ci);
  --medium-gray: var(--gray-20-ci);
  --background: var(--gray-100-ci);
  --high-contrast-standard: var(--gray-10-ci);
  --high-contrast-hover: var(--gray-20-ci);
  --high-contrast-pressed: var(--gray-30);
  --middle-contrast: var(--gray-60);
  --low-contrast: var(--gray-80);
  --contrast-inverted-100: var(--gray-100-ci);
  --contrast-inverted-90: var(--gray-90-ci);
  --contrast-inverted-80: var(--gray-80);
  --graphic-highlight-standard: var(--red-50-ci);
  --graphic-highlight-hover: var(--red-60);
  --graphic-highlight-pressed: var(--red-40);
  --text-highlight-standard: var(--red-50-ci);
  --text-highlight-hover: var(--red-60);
  --text-highlight-pressed: var(--red-40);
  --color: var(--gray-10-ci);
  --childBackground: var(--gray-80);
  --childColor: var(--gray-10-ci);
}

/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */
/* Document
   ========================================================================== */
/**
 * 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in iOS.
 */
html {
  line-height: 1.15; /* 1 */
  -webkit-text-size-adjust: 100%; /* 2 */
}

/* Sections
   ========================================================================== */
/**
 * Remove the margin in all browsers.
 */
body {
  margin: 0;
}

/**
 * Render the `main` element consistently in IE.
 */
/**
 * Correct the font size and margin on `h1` elements within `section` and
 * `article` contexts in Chrome, Firefox, and Safari.
 */
h1 {
  font-size: 2em;
  margin: 0.67em 0;
}

/* Grouping content
   ========================================================================== */
/**
 * 1. Add the correct box sizing in Firefox.
 * 2. Show the overflow in Edge and IE.
 */
hr {
  box-sizing: content-box; /* 1 */
  height: 0; /* 1 */
  overflow: visible; /* 2 */
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
pre {
  font-family: monospace, monospace; /* 1 */
  font-size: 1em; /* 2 */
}

/* Text-level semantics
   ========================================================================== */
/**
 * Remove the gray background on active links in IE 10.
 */
a {
  background-color: transparent;
}

/**
 * 1. Remove the bottom border in Chrome 57-
 * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
 */
abbr[title] {
  border-bottom: none; /* 1 */
  text-decoration: underline; /* 2 */
  -webkit-text-decoration: underline dotted;
          text-decoration: underline dotted; /* 2 */
}

/**
 * Add the correct font weight in Chrome, Edge, and Safari.
 */
b,
strong {
  font-weight: 600;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
code,
kbd,
samp {
  font-family: monospace, monospace; /* 1 */
  font-size: 1em; /* 2 */
}

/**
 * Add the correct font size in all browsers.
 */
small {
  font-size: 80%;
}

/**
 * Prevent `sub` and `sup` elements from affecting the line height in
 * all browsers.
 */
sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

/* Embedded content
   ========================================================================== */
/**
 * Remove the border on images inside links in IE 10.
 */
img {
  border-style: none;
}

/* Forms
   ========================================================================== */
/**
 * 1. Change the font styles in all browsers.
 * 2. Remove the margin in Firefox and Safari.
 */
button,
input,
optgroup,
select,
textarea {
  font-family: inherit; /* 1 */
  font-size: 100%; /* 1 */
  line-height: 1.15; /* 1 */
  margin: 0; /* 2 */
}

/**
 * Show the overflow in IE.
 * 1. Show the overflow in Edge.
 */
button,
input {
  /* 1 */
  overflow: visible;
}

/**
 * Remove the inheritance of text transform in Edge, Firefox, and IE.
 * 1. Remove the inheritance of text transform in Firefox.
 */
button,
select {
  /* 1 */
  text-transform: none;
}

/**
 * Correct the inability to style clickable types in iOS and Safari.
 */
button,
[type=button],
[type=reset],
[type=submit] {
  -webkit-appearance: button;
}

/**
 * Remove the inner border and padding in Firefox.
 */
button::-moz-focus-inner,
[type=button]::-moz-focus-inner,
[type=reset]::-moz-focus-inner,
[type=submit]::-moz-focus-inner {
  border-style: none;
  padding: 0;
}

/**
 * Restore the focus styles unset by the previous rule.
 */
button:-moz-focusring,
[type=button]:-moz-focusring,
[type=reset]:-moz-focusring,
[type=submit]:-moz-focusring {
  outline: 1px dotted ButtonText;
}

/**
 * Correct the padding in Firefox.
 */
fieldset {
  padding: 0;
  border: 0;
}

/**
 * 1. Correct the text wrapping in Edge and IE.
 * 2. Correct the color inheritance from `fieldset` elements in IE.
 * 3. Remove the padding so developers are not caught out when they zero out
 *    `fieldset` elements in all browsers.
 */
legend {
  box-sizing: border-box; /* 1 */
  color: inherit; /* 2 */
  display: table; /* 1 */
  max-width: 100%; /* 1 */
  padding: 0; /* 3 */
  white-space: normal; /* 1 */
}

/**
 * Add the correct vertical alignment in Chrome, Firefox, and Opera.
 */
progress {
  vertical-align: baseline;
}

/**
 * Remove the default vertical scrollbar in IE 10+.
 */
textarea {
  overflow: auto;
}

/**
 * 1. Add the correct box sizing in IE 10.
 * 2. Remove the padding in IE 10.
 */
[type=checkbox],
[type=radio] {
  box-sizing: border-box; /* 1 */
  padding: 0; /* 2 */
}

/**
 * Correct the cursor style of increment and decrement buttons in Chrome.
 */
[type=number]::-webkit-inner-spin-button,
[type=number]::-webkit-outer-spin-button {
  height: auto;
}

/**
 * 1. Correct the odd appearance in Chrome and Safari.
 * 2. Correct the outline style in Safari.
 */
[type=search] {
  -webkit-appearance: textfield; /* 1 */
  outline-offset: -2px; /* 2 */
}

/**
 * Remove the inner padding in Chrome and Safari on macOS.
 */
[type=search]::-webkit-search-decoration {
  -webkit-appearance: none;
}

/**
 * 1. Correct the inability to style clickable types in iOS and Safari.
 * 2. Change font properties to `inherit` in Safari.
 */
::-webkit-file-upload-button {
  -webkit-appearance: button; /* 1 */
  font: inherit; /* 2 */
}

/* Interactive
   ========================================================================== */
/*
 * Add the correct display in Edge, IE 10+, and Firefox.
 */
details {
  display: block;
}

/*
 * Add the correct display in all browsers.
 */
summary {
  display: list-item;
}

/* Misc
   ========================================================================== */
/**
 * Add the correct display in IE 10+.
 */
template {
  display: none;
}

/**
 * Add the correct display in IE 10.
 */
[hidden] {
  display: none;
}

/**
 * Themed image returns the absolute path to
 * a given image in this theme
 */
/**
 * Themed font returns the absolute path to
 * a given font in this theme
 */
@font-face {
  font-family: "Soehne";
  src: url("/_resources/themes/bluhm/client/fonts/soehne-buch.woff2") format("woff2");
  font-style: normal;
  font-display: swap;
  font-weight: 400;
}
@font-face {
  font-family: "Soehne";
  src: url("/_resources/themes/bluhm/client/fonts/soehne-halbfett.woff2") format("woff2");
  font-style: normal;
  font-display: swap;
  font-weight: 600;
}
@font-face {
  font-family: "Soehne";
  src: url("/_resources/themes/bluhm/client/fonts/soehne-breit-extrafett.woff2") format("woff2");
  font-style: normal;
  font-display: swap;
  font-weight: 900;
}
@font-face {
  font-family: "SoehneMonoBuch";
  src: url("/_resources/themes/bluhm/client/fonts/soehne-mono-buch.woff2") format("woff2");
  font-style: normal;
  font-display: swap;
  font-weight: 400;
}
@font-face {
  font-family: "SoehneExtraFett";
  src: url("/_resources/themes/bluhm/client/fonts/soehne-extrafett.woff2") format("woff2");
  font-style: normal;
  font-display: swap;
  font-weight: 900;
}
.overline {
  font-family: "SoehneMonoBuch", sans-serif;
  font-weight: 400;
  font-size: 16px;
  display: inline-block;
  margin-bottom: 8px;
}
@media (min-width: 576px) {
  .overline {
    margin-bottom: 10px;
  }
}
@media (min-width: 768px) {
  .overline {
    margin-bottom: 12px;
  }
}
@media (min-width: 992px) {
  .overline {
    margin-bottom: 16px;
  }
}
.overline--mono {
  color: var(--text-highlight-standard);
}
.overline--mono.large {
  font-size: 18px;
}
@media (min-width: 688px) and (max-width: 1031px) {
  .overline--mono.large {
    font-size: 20px;
  }
}
@media (min-width: 1032px) and (max-width: 1599px) {
  .overline--mono.large {
    font-size: 22px;
  }
}
@media (min-width: 1600px) {
  .overline--mono.large {
    font-size: 24px;
  }
}
.overline--mono.small {
  font-size: 12px;
}
.overline--marker {
  position: relative;
  background: var(--graphic-highlight-standard);
  color: var(--gray-100-ci);
  align-items: center;
  padding: 4px 10px;
  display: flex;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  position: relative;
  flex-wrap: nowrap;
  justify-content: center;
  font-family: "Soehne", sans-serif;
  font-weight: 900;
  line-height: 24px;
  text-transform: uppercase;
}
.overline--marker:after {
  content: "";
  background: var(--graphic-highlight-standard);
  -webkit-clip-path: polygon(-5% 0, 100% 0, 0 100%, 0% 100%);
          clip-path: polygon(-5% 0, 100% 0, 0 100%, 0% 100%);
  position: absolute;
  aspect-ratio: 1/3;
  height: 100%;
  left: 100%;
  border-left: 2px solid var(--graphic-highlight-standard);
}

.background--red .overline--marker {
  background: var(--gray-100-ci);
  color: var(--graphic-highlight-standard);
}
.background--red .overline--marker:after {
  content: "";
  background: var(--gray-100-ci);
  border-left: 2px solid var(--gray-100-ci);
}

.image, img {
  display: block;
  max-width: 100%;
  height: auto;
}
.image--16by9 {
  aspect-ratio: 16/9;
}
.image--figma-ratio {
  aspect-ratio: 3.1/2.7;
}
.image--4by3 {
  aspect-ratio: 4/3;
}
.image--1by1 {
  aspect-ratio: 1/1;
}
.image--cover {
  -o-object-fit: cover;
     object-fit: cover;
}
.image--contain {
  -o-object-fit: contain;
     object-fit: contain;
}
.image--fw {
  width: 100%;
}

.col-1 {
  grid-column: span 1;
  padding: 10px;
}

.col-1.offset-1 {
  grid-column-start: 2;
  grid-column-end: span 1;
}

.col-1.offset-2 {
  grid-column-start: 3;
  grid-column-end: span 1;
}

.col-1.offset-3 {
  grid-column-start: 4;
  grid-column-end: span 1;
}

.col-1.offset-4 {
  grid-column-start: 5;
  grid-column-end: span 1;
}

.col-1.offset-5 {
  grid-column-start: 6;
  grid-column-end: span 1;
}

.col-1.offset-6 {
  grid-column-start: 7;
  grid-column-end: span 1;
}

.col-1.offset-7 {
  grid-column-start: 8;
  grid-column-end: span 1;
}

.col-1.offset-8 {
  grid-column-start: 9;
  grid-column-end: span 1;
}

.col-1.offset-9 {
  grid-column-start: 10;
  grid-column-end: span 1;
}

.col-1.offset-10 {
  grid-column-start: 11;
  grid-column-end: span 1;
}

.col-1.offset-11 {
  grid-column-start: 12;
  grid-column-end: span 1;
}

.col-1.offset-12 {
  grid-column-start: 13;
  grid-column-end: span 1;
}

.col-2 {
  grid-column: span 2;
  padding: 10px;
}

.col-2.offset-1 {
  grid-column-start: 2;
  grid-column-end: span 2;
}

.col-2.offset-2 {
  grid-column-start: 3;
  grid-column-end: span 2;
}

.col-2.offset-3 {
  grid-column-start: 4;
  grid-column-end: span 2;
}

.col-2.offset-4 {
  grid-column-start: 5;
  grid-column-end: span 2;
}

.col-2.offset-5 {
  grid-column-start: 6;
  grid-column-end: span 2;
}

.col-2.offset-6 {
  grid-column-start: 7;
  grid-column-end: span 2;
}

.col-2.offset-7 {
  grid-column-start: 8;
  grid-column-end: span 2;
}

.col-2.offset-8 {
  grid-column-start: 9;
  grid-column-end: span 2;
}

.col-2.offset-9 {
  grid-column-start: 10;
  grid-column-end: span 2;
}

.col-2.offset-10 {
  grid-column-start: 11;
  grid-column-end: span 2;
}

.col-2.offset-11 {
  grid-column-start: 12;
  grid-column-end: span 2;
}

.col-2.offset-12 {
  grid-column-start: 13;
  grid-column-end: span 2;
}

.col-3 {
  grid-column: span 3;
  padding: 10px;
}

.col-3.offset-1 {
  grid-column-start: 2;
  grid-column-end: span 3;
}

.col-3.offset-2 {
  grid-column-start: 3;
  grid-column-end: span 3;
}

.col-3.offset-3 {
  grid-column-start: 4;
  grid-column-end: span 3;
}

.col-3.offset-4 {
  grid-column-start: 5;
  grid-column-end: span 3;
}

.col-3.offset-5 {
  grid-column-start: 6;
  grid-column-end: span 3;
}

.col-3.offset-6 {
  grid-column-start: 7;
  grid-column-end: span 3;
}

.col-3.offset-7 {
  grid-column-start: 8;
  grid-column-end: span 3;
}

.col-3.offset-8 {
  grid-column-start: 9;
  grid-column-end: span 3;
}

.col-3.offset-9 {
  grid-column-start: 10;
  grid-column-end: span 3;
}

.col-3.offset-10 {
  grid-column-start: 11;
  grid-column-end: span 3;
}

.col-3.offset-11 {
  grid-column-start: 12;
  grid-column-end: span 3;
}

.col-3.offset-12 {
  grid-column-start: 13;
  grid-column-end: span 3;
}

.col-4 {
  grid-column: span 4;
  padding: 10px;
}

.col-4.offset-1 {
  grid-column-start: 2;
  grid-column-end: span 4;
}

.col-4.offset-2 {
  grid-column-start: 3;
  grid-column-end: span 4;
}

.col-4.offset-3 {
  grid-column-start: 4;
  grid-column-end: span 4;
}

.col-4.offset-4 {
  grid-column-start: 5;
  grid-column-end: span 4;
}

.col-4.offset-5 {
  grid-column-start: 6;
  grid-column-end: span 4;
}

.col-4.offset-6 {
  grid-column-start: 7;
  grid-column-end: span 4;
}

.col-4.offset-7 {
  grid-column-start: 8;
  grid-column-end: span 4;
}

.col-4.offset-8 {
  grid-column-start: 9;
  grid-column-end: span 4;
}

.col-4.offset-9 {
  grid-column-start: 10;
  grid-column-end: span 4;
}

.col-4.offset-10 {
  grid-column-start: 11;
  grid-column-end: span 4;
}

.col-4.offset-11 {
  grid-column-start: 12;
  grid-column-end: span 4;
}

.col-4.offset-12 {
  grid-column-start: 13;
  grid-column-end: span 4;
}

.col-5 {
  grid-column: span 5;
  padding: 10px;
}

.col-5.offset-1 {
  grid-column-start: 2;
  grid-column-end: span 5;
}

.col-5.offset-2 {
  grid-column-start: 3;
  grid-column-end: span 5;
}

.col-5.offset-3 {
  grid-column-start: 4;
  grid-column-end: span 5;
}

.col-5.offset-4 {
  grid-column-start: 5;
  grid-column-end: span 5;
}

.col-5.offset-5 {
  grid-column-start: 6;
  grid-column-end: span 5;
}

.col-5.offset-6 {
  grid-column-start: 7;
  grid-column-end: span 5;
}

.col-5.offset-7 {
  grid-column-start: 8;
  grid-column-end: span 5;
}

.col-5.offset-8 {
  grid-column-start: 9;
  grid-column-end: span 5;
}

.col-5.offset-9 {
  grid-column-start: 10;
  grid-column-end: span 5;
}

.col-5.offset-10 {
  grid-column-start: 11;
  grid-column-end: span 5;
}

.col-5.offset-11 {
  grid-column-start: 12;
  grid-column-end: span 5;
}

.col-5.offset-12 {
  grid-column-start: 13;
  grid-column-end: span 5;
}

.col-6 {
  grid-column: span 6;
  padding: 10px;
}

.col-6.offset-1 {
  grid-column-start: 2;
  grid-column-end: span 6;
}

.col-6.offset-2 {
  grid-column-start: 3;
  grid-column-end: span 6;
}

.col-6.offset-3 {
  grid-column-start: 4;
  grid-column-end: span 6;
}

.col-6.offset-4 {
  grid-column-start: 5;
  grid-column-end: span 6;
}

.col-6.offset-5 {
  grid-column-start: 6;
  grid-column-end: span 6;
}

.col-6.offset-6 {
  grid-column-start: 7;
  grid-column-end: span 6;
}

.col-6.offset-7 {
  grid-column-start: 8;
  grid-column-end: span 6;
}

.col-6.offset-8 {
  grid-column-start: 9;
  grid-column-end: span 6;
}

.col-6.offset-9 {
  grid-column-start: 10;
  grid-column-end: span 6;
}

.col-6.offset-10 {
  grid-column-start: 11;
  grid-column-end: span 6;
}

.col-6.offset-11 {
  grid-column-start: 12;
  grid-column-end: span 6;
}

.col-6.offset-12 {
  grid-column-start: 13;
  grid-column-end: span 6;
}

.col-7 {
  grid-column: span 7;
  padding: 10px;
}

.col-7.offset-1 {
  grid-column-start: 2;
  grid-column-end: span 7;
}

.col-7.offset-2 {
  grid-column-start: 3;
  grid-column-end: span 7;
}

.col-7.offset-3 {
  grid-column-start: 4;
  grid-column-end: span 7;
}

.col-7.offset-4 {
  grid-column-start: 5;
  grid-column-end: span 7;
}

.col-7.offset-5 {
  grid-column-start: 6;
  grid-column-end: span 7;
}

.col-7.offset-6 {
  grid-column-start: 7;
  grid-column-end: span 7;
}

.col-7.offset-7 {
  grid-column-start: 8;
  grid-column-end: span 7;
}

.col-7.offset-8 {
  grid-column-start: 9;
  grid-column-end: span 7;
}

.col-7.offset-9 {
  grid-column-start: 10;
  grid-column-end: span 7;
}

.col-7.offset-10 {
  grid-column-start: 11;
  grid-column-end: span 7;
}

.col-7.offset-11 {
  grid-column-start: 12;
  grid-column-end: span 7;
}

.col-7.offset-12 {
  grid-column-start: 13;
  grid-column-end: span 7;
}

.col-8 {
  grid-column: span 8;
  padding: 10px;
}

.col-8.offset-1 {
  grid-column-start: 2;
  grid-column-end: span 8;
}

.col-8.offset-2 {
  grid-column-start: 3;
  grid-column-end: span 8;
}

.col-8.offset-3 {
  grid-column-start: 4;
  grid-column-end: span 8;
}

.col-8.offset-4 {
  grid-column-start: 5;
  grid-column-end: span 8;
}

.col-8.offset-5 {
  grid-column-start: 6;
  grid-column-end: span 8;
}

.col-8.offset-6 {
  grid-column-start: 7;
  grid-column-end: span 8;
}

.col-8.offset-7 {
  grid-column-start: 8;
  grid-column-end: span 8;
}

.col-8.offset-8 {
  grid-column-start: 9;
  grid-column-end: span 8;
}

.col-8.offset-9 {
  grid-column-start: 10;
  grid-column-end: span 8;
}

.col-8.offset-10 {
  grid-column-start: 11;
  grid-column-end: span 8;
}

.col-8.offset-11 {
  grid-column-start: 12;
  grid-column-end: span 8;
}

.col-8.offset-12 {
  grid-column-start: 13;
  grid-column-end: span 8;
}

.col-9 {
  grid-column: span 9;
  padding: 10px;
}

.col-9.offset-1 {
  grid-column-start: 2;
  grid-column-end: span 9;
}

.col-9.offset-2 {
  grid-column-start: 3;
  grid-column-end: span 9;
}

.col-9.offset-3 {
  grid-column-start: 4;
  grid-column-end: span 9;
}

.col-9.offset-4 {
  grid-column-start: 5;
  grid-column-end: span 9;
}

.col-9.offset-5 {
  grid-column-start: 6;
  grid-column-end: span 9;
}

.col-9.offset-6 {
  grid-column-start: 7;
  grid-column-end: span 9;
}

.col-9.offset-7 {
  grid-column-start: 8;
  grid-column-end: span 9;
}

.col-9.offset-8 {
  grid-column-start: 9;
  grid-column-end: span 9;
}

.col-9.offset-9 {
  grid-column-start: 10;
  grid-column-end: span 9;
}

.col-9.offset-10 {
  grid-column-start: 11;
  grid-column-end: span 9;
}

.col-9.offset-11 {
  grid-column-start: 12;
  grid-column-end: span 9;
}

.col-9.offset-12 {
  grid-column-start: 13;
  grid-column-end: span 9;
}

.col-10 {
  grid-column: span 10;
  padding: 10px;
}

.col-10.offset-1 {
  grid-column-start: 2;
  grid-column-end: span 10;
}

.col-10.offset-2 {
  grid-column-start: 3;
  grid-column-end: span 10;
}

.col-10.offset-3 {
  grid-column-start: 4;
  grid-column-end: span 10;
}

.col-10.offset-4 {
  grid-column-start: 5;
  grid-column-end: span 10;
}

.col-10.offset-5 {
  grid-column-start: 6;
  grid-column-end: span 10;
}

.col-10.offset-6 {
  grid-column-start: 7;
  grid-column-end: span 10;
}

.col-10.offset-7 {
  grid-column-start: 8;
  grid-column-end: span 10;
}

.col-10.offset-8 {
  grid-column-start: 9;
  grid-column-end: span 10;
}

.col-10.offset-9 {
  grid-column-start: 10;
  grid-column-end: span 10;
}

.col-10.offset-10 {
  grid-column-start: 11;
  grid-column-end: span 10;
}

.col-10.offset-11 {
  grid-column-start: 12;
  grid-column-end: span 10;
}

.col-10.offset-12 {
  grid-column-start: 13;
  grid-column-end: span 10;
}

.col-11 {
  grid-column: span 11;
  padding: 10px;
}

.col-11.offset-1 {
  grid-column-start: 2;
  grid-column-end: span 11;
}

.col-11.offset-2 {
  grid-column-start: 3;
  grid-column-end: span 11;
}

.col-11.offset-3 {
  grid-column-start: 4;
  grid-column-end: span 11;
}

.col-11.offset-4 {
  grid-column-start: 5;
  grid-column-end: span 11;
}

.col-11.offset-5 {
  grid-column-start: 6;
  grid-column-end: span 11;
}

.col-11.offset-6 {
  grid-column-start: 7;
  grid-column-end: span 11;
}

.col-11.offset-7 {
  grid-column-start: 8;
  grid-column-end: span 11;
}

.col-11.offset-8 {
  grid-column-start: 9;
  grid-column-end: span 11;
}

.col-11.offset-9 {
  grid-column-start: 10;
  grid-column-end: span 11;
}

.col-11.offset-10 {
  grid-column-start: 11;
  grid-column-end: span 11;
}

.col-11.offset-11 {
  grid-column-start: 12;
  grid-column-end: span 11;
}

.col-11.offset-12 {
  grid-column-start: 13;
  grid-column-end: span 11;
}

.col-12 {
  grid-column: span 12;
  padding: 10px;
}

.col-12.offset-1 {
  grid-column-start: 2;
  grid-column-end: span 12;
}

.col-12.offset-2 {
  grid-column-start: 3;
  grid-column-end: span 12;
}

.col-12.offset-3 {
  grid-column-start: 4;
  grid-column-end: span 12;
}

.col-12.offset-4 {
  grid-column-start: 5;
  grid-column-end: span 12;
}

.col-12.offset-5 {
  grid-column-start: 6;
  grid-column-end: span 12;
}

.col-12.offset-6 {
  grid-column-start: 7;
  grid-column-end: span 12;
}

.col-12.offset-7 {
  grid-column-start: 8;
  grid-column-end: span 12;
}

.col-12.offset-8 {
  grid-column-start: 9;
  grid-column-end: span 12;
}

.col-12.offset-9 {
  grid-column-start: 10;
  grid-column-end: span 12;
}

.col-12.offset-10 {
  grid-column-start: 11;
  grid-column-end: span 12;
}

.col-12.offset-11 {
  grid-column-start: 12;
  grid-column-end: span 12;
}

.col-12.offset-12 {
  grid-column-start: 13;
  grid-column-end: span 12;
}

.icon {
  pointer-events: none;
  width: 24px;
  height: 24px;
  fill: currentcolor;
  display: inline-block;
}

button {
  background: transparent;
  border: 0;
}

.button, .cookiefirst-cookie-declaration button {
  text-transform: uppercase;
  display: flex;
  padding: 10px 16px;
  gap: 8px;
  justify-content: start;
  text-align: start;
  align-items: center;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  font-weight: 900;
  cursor: pointer;
  text-decoration: none;
}
.button::before, .cookiefirst-cookie-declaration button::before {
  content: "\ea03";
  font-family: "IconDefault", sans-serif;
  font-size: 24px;
  line-height: 1;
  display: inline-block;
  vertical-align: middle;
}
.button--normal, .cookiefirst-cookie-declaration button, .button--normal:focus, .button--ghost:hover {
  background-color: var(--high-contrast-standard);
  color: var(--contrast-inverted-100);
  border: 2px solid var(--high-contrast-standard);
}
.button--ghost:focus {
  background-color: var(--high-contrast-pressed);
  color: var(--contrast-inverted-100);
  border: 2px solid var(--high-contrast-pressed);
}
.button--ghost, .button--normal:hover, .cookiefirst-cookie-declaration button:hover {
  background-color: transparent;
  color: var(--high-contrast-standard);
  border: 2px solid var(--high-contrast-standard);
}
.button--ghost.button--disabled, .button--ghost.button--disabled:hover, .button--normal:hover.button--disabled, .cookiefirst-cookie-declaration button:hover.button--disabled, .button--normal:hover.button--disabled:hover {
  background-color: transparent;
  color: var(--low-contrast);
  border: 2px solid var(--low-contrast);
  cursor: not-allowed;
}
.button--highlight {
  background-color: var(--graphic-highlight-standard);
  color: var(--gray-100-ci);
  border: 2px solid var(--graphic-highlight-standard);
}
.button--highlight.button--ghost {
  background-color: transparent;
  color: var(--graphic-highlight-standard);
  border: 2px solid var(--graphic-highlight-standard);
}
.button--highlight.button--normal:hover, .cookiefirst-cookie-declaration button.button--highlight:hover {
  background-color: transparent;
  color: var(--graphic-highlight-hover);
  border: 2px solid var(--graphic-highlight-hover);
}
.button--highlight.button--ghost:hover {
  background-color: var(--graphic-highlight-hover);
  color: var(--gray-100-ci);
  border: 2px solid var(--graphic-highlight-hover);
}
.button--highlight.button--normal:focus, .cookiefirst-cookie-declaration button.button--highlight:focus {
  background-color: var(--graphic-highlight-pressed);
  color: var(--gray-100-ci);
  border: 2px solid var(--graphic-highlight-pressed);
}
.button--disabled, .button--disabled:hover {
  background-color: var(--low-contrast);
  color: var(--middle-contrast);
  border: 2px solid var(--low-contrast);
  cursor: not-allowed;
}
.button + .button, .cookiefirst-cookie-declaration button + .button, .cookiefirst-cookie-declaration .button + button, .cookiefirst-cookie-declaration button + button {
  background-color: var(--background);
  color: var(--color);
  border: 2px solid var(--childColor);
  gap: 16px;
}

.button-group,
.btn-toolbar {
  display: flex;
  padding: 24px 0;
  gap: 16px;
  flex-direction: row;
  justify-content: flex-end;
}

/**
 * Defines the styles for a the label of a floating label input.
 */
.userform .left {
  margin: 0;
  font-weight: normal !important;
}

.field + .field {
  margin-top: 16px;
}

.field.text {
  position: relative;
  width: 100%;
  flex-grow: 1;
}
.field.text label {
  position: absolute;
  top: 0;
  left: 0;
  margin: 0;
  padding: 16px 16px 0;
  font-size: 16px;
  line-height: 18px;
  font-weight: 400;
  color: var(--high-contrast-standard);
  transform-origin: 0 0;
  transition: opacity 0.1s ease-in-out, transform 0.1s ease-in-out;
}
.field.text input,
.field.text textarea {
  display: block;
  width: 100%;
  padding: 24px 16px 4px;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  font-size: 16px;
  font-weight: 600;
  border: none;
  border-bottom: 2px solid var(--high-contrast-standard);
  outline: none;
  color: var(--high-contrast-standard);
  background-color: var(--contrast-inverted-90);
}
.field.text input::-moz-placeholder, .field.text textarea::-moz-placeholder {
  color: transparent;
}
.field.text input:-ms-input-placeholder, .field.text textarea:-ms-input-placeholder {
  color: transparent;
}
.field.text input::placeholder,
.field.text textarea::placeholder {
  color: transparent;
}
.field.text input:not(:-moz-placeholder-shown) ~ label, .field.text textarea:not(:-moz-placeholder-shown) ~ label {
  opacity: 0.65;
  transform: translateY(-11px) translateX(0);
  font-size: 12px;
}
.field.text input:not(:-ms-input-placeholder) ~ label, .field.text textarea:not(:-ms-input-placeholder) ~ label {
  opacity: 0.65;
  transform: translateY(-11px) translateX(0);
  font-size: 12px;
}
.field.text input:not(:placeholder-shown) ~ label, .field.text input:focus ~ label,
.field.text textarea:not(:placeholder-shown) ~ label,
.field.text textarea:focus ~ label {
  opacity: 0.65;
  transform: translateY(-11px) translateX(0);
  font-size: 12px;
}
.field.text input:-webkit-autofill ~ label,
.field.text textarea:-webkit-autofill ~ label {
  opacity: 0.65;
  transform: translateY(-11px) translateX(0);
  font-size: 12px;
}

.field.textarea {
  position: relative;
  width: 100%;
  flex-grow: 1;
}
.field.textarea label {
  position: absolute;
  top: 0;
  left: 0;
  margin: 0;
  padding: 16px 16px 0;
  font-size: 16px;
  line-height: 18px;
  font-weight: 400;
  color: var(--high-contrast-standard);
  transform-origin: 0 0;
  transition: opacity 0.1s ease-in-out, transform 0.1s ease-in-out;
}
.field.textarea input,
.field.textarea textarea {
  display: block;
  width: 100%;
  padding: 24px 16px 4px;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  font-size: 16px;
  font-weight: 600;
  border: none;
  border-bottom: 2px solid var(--high-contrast-standard);
  outline: none;
  color: var(--high-contrast-standard);
  background-color: var(--contrast-inverted-90);
}
.field.textarea input::-moz-placeholder, .field.textarea textarea::-moz-placeholder {
  color: transparent;
}
.field.textarea input:-ms-input-placeholder, .field.textarea textarea:-ms-input-placeholder {
  color: transparent;
}
.field.textarea input::placeholder,
.field.textarea textarea::placeholder {
  color: transparent;
}
.field.textarea input:not(:-moz-placeholder-shown) ~ label, .field.textarea textarea:not(:-moz-placeholder-shown) ~ label {
  opacity: 0.65;
  transform: translateY(-11px) translateX(0);
  font-size: 12px;
}
.field.textarea input:not(:-ms-input-placeholder) ~ label, .field.textarea textarea:not(:-ms-input-placeholder) ~ label {
  opacity: 0.65;
  transform: translateY(-11px) translateX(0);
  font-size: 12px;
}
.field.textarea input:not(:placeholder-shown) ~ label, .field.textarea input:focus ~ label,
.field.textarea textarea:not(:placeholder-shown) ~ label,
.field.textarea textarea:focus ~ label {
  opacity: 0.65;
  transform: translateY(-11px) translateX(0);
  font-size: 12px;
}
.field.textarea input:-webkit-autofill ~ label,
.field.textarea textarea:-webkit-autofill ~ label {
  opacity: 0.65;
  transform: translateY(-11px) translateX(0);
  font-size: 12px;
}

.field.userformsstep,
.userform-fields {
  display: flex;
  flex-flow: column wrap;
  flex-grow: 1;
}
.field.userformsstep:has(.field-part),
.userform-fields:has(.field-part) {
  -moz-column-gap: 16px;
       column-gap: 16px;
}
.field.userformsstep h3,
.userform-fields h3 {
  margin: 16px 0 8px;
}

.field.field-part {
  width: auto;
}

.requiredField:not(.userformsoptionset) label::after {
  margin-left: 3px;
  content: "*";
}

.breadcrumbs {
  padding: 16px 0;
  color: var(--high-contrast-standard);
}
@media (max-width: 767.98px) {
  .breadcrumbs {
    display: none;
  }
}
.breadcrumbs ol {
  display: flex;
  justify-content: center;
  list-style-type: none;
}
.breadcrumbs ol li:last-child {
  color: var(--gray-0);
}
.breadcrumbs ol li::before {
  display: none;
}
.breadcrumbs__link {
  color: var(--gray-40);
  text-decoration: underline;
  font-weight: 400;
}
@media (min-width: 992px) {
  .breadcrumbs__link {
    text-decoration: none;
  }
}
.breadcrumbs__delimiter {
  margin: 0 10px;
  color: var(--gray-40);
}

.intro {
  margin-bottom: 30px;
}
@media (min-width: 576px) {
  .intro {
    margin-bottom: 40px;
  }
}
@media (min-width: 768px) {
  .intro {
    margin-bottom: 50px;
  }
}
@media (min-width: 992px) {
  .intro {
    margin-bottom: 60px;
  }
}
.intro__header {
  margin-bottom: 12px;
}
@media (min-width: 576px) {
  .intro__header {
    margin-bottom: 14px;
  }
}
@media (min-width: 768px) {
  .intro__header {
    margin-bottom: 18px;
  }
}
@media (min-width: 992px) {
  .intro__header {
    margin-bottom: 24px;
  }
}
.intro__body .button, .intro__body .cookiefirst-cookie-declaration button, .cookiefirst-cookie-declaration .intro__body button {
  display: inline-block;
}
.intro:has(*) {
  -webkit-margin-after: 0;
          margin-block-end: 0;
}
.intro:has(+ div), .intro:has(+ form), .intro:has(+ .button, + .cookiefirst-cookie-declaration button), .intro:has(+ .link) {
  margin-bottom: 12px;
}
@media (min-width: 576px) {
  .intro:has(+ div), .intro:has(+ form), .intro:has(+ .button, + .cookiefirst-cookie-declaration button), .intro:has(+ .link) {
    margin-bottom: 14px;
  }
}
@media (min-width: 768px) {
  .intro:has(+ div), .intro:has(+ form), .intro:has(+ .button, + .cookiefirst-cookie-declaration button), .intro:has(+ .link) {
    margin-bottom: 18px;
  }
}
@media (min-width: 992px) {
  .intro:has(+ div), .intro:has(+ form), .intro:has(+ .button, + .cookiefirst-cookie-declaration button), .intro:has(+ .link) {
    margin-bottom: 24px;
  }
}

.field.dropdown {
  width: 100%;
}

.dropdown {
  display: flex;
  align-items: center;
  position: relative;
  width: 100%;
}
.dropdown__select {
  display: flex;
  align-items: flex-end;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  border: 0;
  background-color: var(--contrast-inverted-90);
  color: var(--high-contrast-standard);
  border-radius: 0;
  padding: 0 16px 5px 16px;
  cursor: pointer;
  width: 100%;
  height: 48px;
  line-height: 24px;
}
@-moz-document url-prefix() {
  .dropdown__select {
    padding-top: 20px;
  }
}
.dropdown__icon {
  position: absolute;
  right: 16px;
  pointer-events: none;
}
.dropdown__label {
  position: absolute;
  line-height: 18px;
  inset-block-start: 50%;
  translate: 0 -50%;
  inset-inline-start: 16px;
}
.dropdown__option {
  font-weight: 900;
}
.dropdown__option[disabled] {
  display: none;
}

.dropdown + label {
  display: none;
}

.dropdown.has-selected .dropdown__label {
  padding-top: 5px;
  font-size: 12px;
  inset-block-start: 0;
  translate: 0 0;
}

.dropdown:has(.validation),
.dropdown:has(.error) {
  flex-direction: column;
}

.error.message,
.validation.message {
  display: block;
  color: var(--error-text);
  font-weight: 400;
  border-top: 2px solid var(--graphic-highlight-standard);
  width: 100%;
}

.error ~ .dropdown__label {
  inset-block-start: 35%;
}

.error ~ .dropdown__icon {
  line-height: 48px;
}

.section {
  position: relative;
  background: var(--background);
  color: var(--color);
  padding: 0 8px;
  scroll-margin-top: 90px;
}
@media (min-width: 576px) {
  .section {
    padding: 0 16px;
  }
}
@media (min-width: 768px) {
  .section {
    padding: 0 24px;
  }
}
@media (min-width: 992px) {
  .section {
    padding: 0 32px;
    scroll-margin-top: 105px;
  }
}
.section:has(.sticky-navigation) {
  scroll-margin-top: 150px;
}
@media (min-width: 992px) {
  .section:has(.sticky-navigation) {
    scroll-margin-top: 185px;
  }
}
.section .section {
  padding: 0;
}
.section :has(.section__body):has(.section):has(.section__body--offgrid) {
  max-width: 1600px;
}
.section + .section__subforms .section__body {
  padding-top: 0;
}
.section + .section__subforms .section__body .form-element__form .section__body + .section__body {
  padding-top: 20px;
}
@media (min-width: 576px) {
  .section + .section__subforms .section__body .form-element__form .section__body + .section__body {
    padding-top: 30px;
  }
}
@media (min-width: 768px) {
  .section + .section__subforms .section__body .form-element__form .section__body + .section__body {
    padding-top: 40px;
  }
}
@media (min-width: 992px) {
  .section + .section__subforms .section__body .form-element__form .section__body + .section__body {
    padding-top: 50px;
  }
}
.section__element-form .section__body {
  display: grid;
  grid-template-columns: repeat(12, 1fr);
}
.section__body {
  margin: 0 auto;
  max-width: 1312px;
  background-color: var(--background);
  color: var(--color);
}
.section__body .section:has(+ .section) {
  padding-bottom: inherit;
}
.section__body, .section--margin-medium .section__body {
  padding: 20px 0;
}
@media (min-width: 576px) {
  .section__body, .section--margin-medium .section__body {
    padding: 30px 0;
  }
}
@media (min-width: 768px) {
  .section__body, .section--margin-medium .section__body {
    padding: 40px 0;
  }
}
@media (min-width: 992px) {
  .section__body, .section--margin-medium .section__body {
    padding: 50px 0;
  }
}
.section__body .section__body, .section--margin-medium .section__body .section__body {
  padding: 0;
}
.section__body, .section--margin-small .section__body {
  padding: 15px 0;
}
@media (min-width: 576px) {
  .section__body, .section--margin-small .section__body {
    padding: 20px 0;
  }
}
@media (min-width: 768px) {
  .section__body, .section--margin-small .section__body {
    padding: 25px 0;
  }
}
@media (min-width: 992px) {
  .section__body, .section--margin-small .section__body {
    padding: 30px 0;
  }
}
.section__body .section__body, .section--margin-small .section__body .section__body {
  padding: 0;
}
.section__body, .section--margin-extra-small .section__body {
  padding: 9px 0;
}
@media (min-width: 576px) {
  .section__body, .section--margin-extra-small .section__body {
    padding: 12px 0;
  }
}
@media (min-width: 768px) {
  .section__body, .section--margin-extra-small .section__body {
    padding: 16px 0;
  }
}
@media (min-width: 992px) {
  .section__body, .section--margin-extra-small .section__body {
    padding: 20px 0;
  }
}
.section__body .section__body, .section--margin-extra-small .section__body .section__body {
  padding: 0;
}
.section__body--offgrid {
  max-width: 1600px;
}
.section__body--fullwidth {
  max-width: 100%;
}
.section__body--small {
  max-width: 864px;
}
.section__body--medium {
  max-width: 1088px;
}
.section__body--small-in-grid {
  max-width: 864px;
  margin: 0 auto;
}
.section__body--small-in-grid .section__body {
  padding: 0;
}
.section__body--small-in-grid.section--margin-extra-small {
  padding: 12px 0;
}
.section__body--small-in-grid.section--margin-small {
  padding: 20px 0;
}
.section__body--small-in-grid.section--margin-medium {
  padding: 30px 0;
}
.section--white {
  --background: var(--gray-100-ci);
  --high-contrast-standard: var(--gray-10-ci);
  --high-contrast-hover: var(--gray-20-ci);
  --high-contrast-pressed: var(--gray-30);
  --middle-contrast: var(--gray-60);
  --low-contrast: var(--gray-80);
  --contrast-inverted-100: var(--gray-100-ci);
  --contrast-inverted-90: var(--gray-90-ci);
  --contrast-inverted-80: var(--gray-80);
  --graphic-highlight-standard: var(--red-50-ci);
  --graphic-highlight-hover: var(--red-60);
  --graphic-highlight-pressed: var(--red-40);
  --text-highlight-standard: var(--red-50-ci);
  --text-highlight-hover: var(--red-60);
  --text-highlight-pressed: var(--red-40);
  --color: var(--gray-10-ci);
  --childBackground: var(--gray-80);
  --childColor: var(--gray-10-ci);
  --disabled-text: var(--gray-60);
}
.section--light-gray {
  --background: var(--gray-90-ci);
  --high-contrast-standard: var(--gray-10-ci);
  --high-contrast-hover: var(--gray-20-ci);
  --high-contrast-pressed: var(--gray-30);
  --middle-contrast: var(--gray-50);
  --low-contrast: var(--gray-70);
  --contrast-inverted-100: var(--gray-90-ci);
  --contrast-inverted-90: var(--gray-80);
  --contrast-inverted-80: var(--gray-70);
  --graphic-highlight-standard: var(--red-50-ci);
  --graphic-highlight-hover: var(--red-60);
  --graphic-highlight-pressed: var(--red-40);
  --text-highlight-standard: var(--red-40);
  --text-highlight-hover: var(--red-50);
  --text-highlight-pressed: var(--red-30);
  --color: var(--gray-10-ci);
  --childBackground: var(--gray-70);
  --childColor: var(--gray-10-ci);
  --error-text: var(--red-40);
  --disabled-text: var(--gray-50);
}
.section--medium-gray {
  --background: var(--gray-20-ci);
  --high-contrast-standard: var(--gray-100-ci);
  --high-contrast-hover: var(--gray-90-ci);
  --high-contrast-pressed: var(--gray-80);
  --middle-contrast: var(--gray-60);
  --low-contrast: var(--gray-40);
  --contrast-inverted-100: var(--gray-20-ci);
  --contrast-inverted-90: var(--gray-30);
  --contrast-inverted-80: var(--gray-40);
  --graphic-highlight-standard: var(--red-50-ci);
  --graphic-highlight-hover: var(--gray-100-ci);
  --graphic-highlight-pressed: var(--red-40);
  --text-highlight-standard: var(--red-100-ci);
  --text-highlight-hover: var(--red-90-ci);
  --text-highlight-pressed: var(--gray-80);
  --color: var(--gray-100-ci);
  --childBackground: var(--gray-40);
  --childColor: var(--gray-100-ci);
  --error-text: var(--gray-100-ci);
  --disabled-text: var(--gray-60);
}
.section--dark-gray {
  --background: var(--gray-10-ci);
  --high-contrast-standard: var(--gray-90-ci);
  --high-contrast-hover: var(--gray-80);
  --high-contrast-pressed: var(--gray-70);
  --middle-contrast: var(--gray-50);
  --low-contrast: var(--gray-30);
  --contrast-inverted-100: var(--gray-10-ci);
  --contrast-inverted-90: var(--gray-20-ci);
  --contrast-inverted-80: var(--gray-30);
  --graphic-highlight-standard: var(--red-50-ci);
  --graphic-highlight-hover: var(--gray-100-ci);
  --graphic-highlight-pressed: var(--red-40);
  --text-highlight-standard: var(--gray-90-ci);
  --text-highlight-hover: var(--gray-80);
  --text-highlight-pressed: var(--gray-70);
  --color: var(--gray-90-ci);
  --childBackground: var(--gray-30);
  --childColor: var(--gray-90-ci);
  --error-text: var(--gray-90-ci);
  --disabled-text: var(--gray-50);
}
.section--red {
  --background: var(--red);
  --high-contrast-standard: var(--gray-100-ci);
  --high-contrast-hover: var(--gray-90-ci);
  --high-contrast-pressed: var(--gray-80);
  --middle-contrast: var(--gray-50);
  --low-contrast: var(--gray-30);
  --contrast-inverted-100: var(--gray-10-ci);
  --contrast-inverted-90: var(--gray-20-ci);
  --contrast-inverted-80: var(--gray-30);
  --graphic-highlight-standard: var(--red-50-ci);
  --graphic-highlight-hover: var(--red-60);
  --graphic-highlight-pressed: var(--red-40);
  --text-highlight-standard: var(--red-90-ci);
  --text-highlight-hover: var(--gray-80);
  --text-highlight-pressed: var(--gray-70);
  --color: var(--gray-100-ci);
  --childBackground: var(--red);
  --childColor: var(--gray-100-ci);
  --error-text: var(--gray-90-ci);
}
.section--align-center {
  text-align: center;
}
.section--align-left {
  text-align: start;
}
.section__footnote {
  font-size: 12px;
  padding-top: 30px;
}
@media (min-width: 576px) {
  .section__footnote {
    padding-top: 40px;
  }
}
@media (min-width: 768px) {
  .section__footnote {
    padding-top: 50px;
  }
}
@media (min-width: 992px) {
  .section__footnote {
    padding-top: 60px;
  }
}

.modal.language-switcher {
  width: 100%;
  max-width: 864px;
  background: var(--dark-gray);
  margin: 120px 8px 0;
}
@media (min-width: 576px) and (max-width: 767.98px) {
  .modal.language-switcher {
    margin: 120px 8px 0;
  }
}
.modal.language-switcher .modal__header,
.modal.language-switcher .modal__close {
  color: #ffffff;
}
.modal.language-switcher .modal__header {
  padding: 24px 24px 0;
}
.modal.language-switcher .modal__header .hl {
  letter-spacing: 1px;
}
.modal.language-switcher .modal__body {
  color: #ffffff;
  padding: 30px 24px 32px;
}
@media (min-width: 576px) {
  .modal.language-switcher .modal__body {
    padding-top: 47px;
  }
}
@media (min-width: 768px) {
  .modal.language-switcher .modal__body {
    padding-top: 55px;
  }
}
@media (min-width: 992px) {
  .modal.language-switcher .modal__body {
    padding-top: 60px;
  }
}
.modal.language-switcher .modal__body ul {
  margin: 0;
  padding: 0;
  list-style: none;
}
.modal.language-switcher .modal__body ul > li:before {
  content: none;
}
.modal.language-switcher .modal__body a {
  text-decoration: none;
}
.modal.language-switcher .modal__body .language-switcher__current-language {
  margin-bottom: 30px;
}
.modal.language-switcher .modal__body .language-switcher__current-language > h3 {
  letter-spacing: 1px;
  text-transform: uppercase;
}
.modal.language-switcher .modal__body .language-switcher__navigation {
  display: flex;
  flex-direction: column;
  margin-top: 8px;
}
.modal.language-switcher .modal__body .language-switcher__items {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  align-content: flex-start;
  row-gap: 16px;
  -moz-column-gap: 0;
       column-gap: 0;
}
@media (min-width: 576px) {
  .modal.language-switcher .modal__body .language-switcher__items {
    flex-flow: wrap row;
  }
}
.modal.language-switcher .modal__body .language-switcher__item {
  text-transform: uppercase;
  display: flex;
  justify-self: flex-start;
  align-items: flex-start;
  width: 100%;
}
@media (min-width: 576px) {
  .modal.language-switcher .modal__body .language-switcher__item {
    width: 50%;
  }
}
@media (min-width: 768px) {
  .modal.language-switcher .modal__body .language-switcher__item {
    width: 33.3333%;
  }
}
.modal.language-switcher .modal__body .language-switcher__item .link {
  white-space: nowrap;
  width: 100%;
  font-weight: 900;
  letter-spacing: 1px;
  display: inline-block;
  align-self: flex-start;
  text-transform: uppercase;
}
.modal.language-switcher .modal__body .language-switcher__item .link:hover {
  color: var(--gray-80);
  align-self: flex-start;
}
.modal.language-switcher .modal__body .language-switcher__item .link:focus, .modal.language-switcher .modal__body .language-switcher__item .link:focus-visible, .modal.language-switcher .modal__body .language-switcher__item .link:active {
  color: var(--gray-70);
}
.modal.language-switcher p {
  margin-bottom: 8px;
}
@media (min-width: 576px) {
  .modal.language-switcher p {
    margin-bottom: 10px;
  }
}
@media (min-width: 768px) {
  .modal.language-switcher p {
    margin-bottom: 12px;
  }
}
@media (min-width: 992px) {
  .modal.language-switcher p {
    margin-bottom: 16px;
  }
}

.header {
  position: fixed;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 100%;
  max-width: 2000px;
  z-index: 101;
  --high-contrast-hover: var(--white);
  --high-contrast-pressed: var(--white);
  /* The wrapper for the logo and the contents right of the logo */
  /* The header logo */
  /* wrapper for the contents right of the logo */
  /* The actual navigation links */
  /* Some actions like the language-switch-, search- buttons */
  /* The toggle for showing/hiding of the mobile navigation */
  /* The contents of the mobile navigation */
  /* The search form */
  /* The flyout's containing the subnavigations within the desktop viewport */
  /* The contents of the language-switcher */
  /* Defines the state of the opened mobile navigation */
  /* Defines the state of the opened search */
  /* Defines the state of the opened language-switcher */
}
.header__inner {
  position: relative;
  display: flex;
  align-items: stretch;
  z-index: 5000;
  transition: background-color 50ms ease-in-out;
  background: var(--high-contrast-standard);
}
.header__logo {
  --angle-width: 20px;
  background-color: var(--red);
  -webkit-clip-path: polygon(0 0, 100% 0, calc(100% - var(--angle-width)) 100%, 0% 100%);
          clip-path: polygon(0 0, 100% 0, calc(100% - var(--angle-width)) 100%, 0% 100%);
  flex: 0 0 164px;
  padding: 14px 47px 14px 27px;
}
@media (min-width: 576px) and (max-width: 767.98px) {
  .header__logo {
    --angle-width: 26px;
    flex: 0 0 218px;
    padding: 18px 62px 18px 35px;
  }
}
@media (min-width: 768px) and (max-width: 991.98px) {
  .header__logo {
    --angle-width: 26px;
    flex: 0 0 218px;
    padding: 18px 62px 18px 35px;
  }
}
@media (min-width: 992px) {
  .header__logo {
    --angle-width: 33px;
    flex: 0 0 273px;
    padding: 24px 78px 24px 45px;
  }
}
.header__logo .logo {
  min-height: 57px;
}
.header__content {
  flex: 1;
  display: flex;
  justify-content: flex-end;
  align-items: center;
  background-color: var(--high-contrast-standard);
  padding: 0 50px;
}
@media (max-width: 575.98px) {
  .header__content {
    padding: 0;
    gap: 20px;
  }
}
@media (min-width: 576px) and (max-width: 767.98px) {
  .header__content {
    padding: 0;
    gap: 40px;
  }
}
@media (min-width: 768px) and (max-width: 991.98px) {
  .header__content {
    padding: 0 0 0 80px;
    gap: 40px;
  }
}
@media (min-width: 992px) and (max-width: 1199.98px) {
  .header__content {
    padding: 0 0 0 80px;
    gap: 40px;
  }
}
@media (min-width: 1200px) {
  .header__content {
    padding: 0 0 0 80px;
    gap: 40px;
  }
}
@media (width >= 1400px) {
  .header__content {
    padding: 0 40px;
    justify-content: space-between;
  }
}
.header__content ul li a {
  color: white;
}
.header__navigation {
  display: none;
}
@media (width >= 1400px) {
  .header__navigation {
    display: block;
    width: 100%;
  }
}
.header__navigation-items {
  display: flex;
  gap: 30px;
  padding: 0;
}
.header__navigation-item {
  display: block;
}
.header__navigation-item::before {
  display: none;
}
.header__navigation-link {
  text-transform: none;
  padding-top: 6px;
  padding-bottom: 4px;
  border-bottom: 2px solid transparent;
  cursor: pointer;
  letter-spacing: 1px;
  gap: 10px;
}
@media (width >= 1400px) {
  .header__navigation-link--focus, .header__navigation-link--active {
    border-bottom: 2px solid var(--white);
  }
}
@media (width >= 1400px) {
  .header__navigation-link {
    text-transform: uppercase;
  }
}
.header__navigation-icon {
  display: none;
}
.header__navigation .header__subnavigation {
  display: none;
}
.header__actions {
  display: flex;
  justify-content: space-around;
}
@media (width >= 1400px) {
  .header__actions {
    position: relative;
  }
}
.header__actions button {
  display: flex;
  color: white;
  align-items: center;
  gap: 10px;
  text-transform: uppercase;
  font-weight: 900;
  letter-spacing: 1px;
  padding-left: 1vw;
}
.header__actions button:first-child {
  padding-left: 0;
}
.header__actions button:hover {
  cursor: pointer;
}
.header__actions button i {
  font-weight: 400;
}
.header__actions button .header__action-button-label {
  display: none;
}
@media (min-width: 576px) {
  .header__actions button .header__action-button-label {
    display: block;
  }
}
.header__actions .header__search-toggle .icon-close {
  display: none;
}
.header__hamburger {
  display: flex;
  border-left: 2px solid var(--gray-50);
  height: 100%;
  padding: 0 18px;
}
@media (min-width: 576px) and (max-width: 767.98px) {
  .header__hamburger {
    padding: 0 30px;
  }
}
@media (min-width: 768px) and (max-width: 991.98px) {
  .header__hamburger {
    padding: 0 30px;
  }
}
@media (min-width: 992px) and (max-width: 1199.98px) {
  .header__hamburger {
    padding: 0 38px;
  }
}
@media (min-width: 1200px) {
  .header__hamburger {
    padding: 0 38px;
  }
}
@media (width >= 1400px) {
  .header__hamburger {
    display: none;
  }
}
.header__hamburger i {
  color: var(--white);
}
.header__hamburger .icon-close {
  display: none;
}
.header__mobile-navigation {
  position: absolute;
  z-index: 4090;
  width: 100%;
  left: 0;
  background: var(--gray-20-ci);
  height: 0;
  opacity: 0;
  transform: translateY(-100%);
  transition: 200ms all ease-in-out;
}
@media (width >= 1400px) {
  .header__mobile-navigation {
    display: none !important;
  }
}
.header__mobile-navigation nav {
  display: none;
}
.header__mobile-navigation .header__navigation-items {
  display: flex;
  flex-direction: column;
  gap: 0;
  padding: 0;
}
.header__mobile-navigation .header__navigation-items .header__navigation-item {
  height: auto;
  opacity: 1;
  transform: translateX(0);
}
.header__mobile-navigation .header__navigation-items .header__navigation-item .header__navigation-link {
  opacity: 1;
  height: auto;
  transform: translateX(0);
  transition: all 300ms ease-in-out;
  color: var(--white);
  width: 100%;
  justify-content: space-between;
  padding: 16px 14px;
}
.header__mobile-navigation .header__navigation-items .header__navigation-item .header__navigation-link:active {
  outline: none;
}
.header__mobile-navigation .header__navigation-items .header__navigation-item--active > .header__navigation-link {
  display: none !important;
  opacity: 0;
  height: 0;
  transform: translateX(100%);
  border-bottom: none;
}
.header__mobile-navigation .header__navigation-items .header__navigation-item--active > .header__subnavigation {
  height: auto !important;
  opacity: 1 !important;
  transform: translateX(0) !important;
  overflow: visible !important;
}
.header__mobile-navigation .header__navigation-items .header__navigation-item--inactive {
  height: 0;
  overflow: hidden;
  opacity: 0;
  transform: translateX(100%);
  transition: all 300ms ease-in-out, opacity 0ms ease-in-out;
}
.header__mobile-navigation .header__navigation-items .header__navigation-item--inactive > .header__navigation-link {
  display: flex;
  opacity: 0;
}
.header__mobile-navigation .header__navigation-items .header__navigation-item .header__navigation-icon {
  display: block;
}
.header__mobile-navigation .header__navigation-items .header__navigation-item .header__subnavigation {
  height: 0;
  opacity: 0;
  transform: translateX(50vw);
  overflow: hidden;
  transition: height 300ms ease-in-out, opacity 0ms ease-in-out, transform 300ms ease-in-out;
}
.header__mobile-navigation .header__navigation-items .header__navigation-item .header__subnavigation-items {
  padding: 0;
}
.header__mobile-navigation .header__navigation-items .header__navigation-item .header__subnavigation-items + article {
  padding: 20px;
  align-self: flex-start;
  border: solid 1px var(--middle-contrast);
  color: var(--white);
  margin-top: 30px;
}
.header__mobile-navigation .header__navigation-items .header__navigation-item .header__subnavigation-items + article img {
  margin-bottom: 12px;
}
.header__mobile-navigation .header__navigation-items .header__navigation-item .header__subnavigation-title {
  position: -webkit-sticky;
  position: sticky;
  top: 0;
  background-color: var(--medium-gray);
  z-index: 2;
  width: 100%;
  display: flex;
  align-items: center;
  gap: 12px;
  color: var(--white);
  font-weight: 900;
  margin-bottom: 30px;
  padding-top: 40px;
  padding-bottom: 40px;
  padding-left: 16px;
  border-bottom: 2px solid var(--low-contrast);
  letter-spacing: 1px;
}
.header__mobile-navigation .header__navigation-items .header__navigation-item .header__subnavigation-title--inactive {
  display: none;
}
@media (min-width: 576px) {
  .header__mobile-navigation .header__navigation-items .header__navigation-item .header__subnavigation-title {
    margin-bottom: 0;
    padding-bottom: 40px;
  }
}
.header__search-form {
  display: none;
  padding: 19px 21px 20px;
  width: 100%;
}
@media (min-width: 576px) {
  .header__search-form {
    padding: 20px 31px 20px;
  }
}
@media (min-width: 768px) and (max-width: 991.98px) {
  .header__search-form {
    padding: 20px 36px 20px;
  }
}
@media (min-width: 992px) and (max-width: 1199.98px) {
  .header__search-form {
    padding: 25px 0;
  }
}
.header__search-form-input {
  width: 100%;
  margin: 0;
  background-color: var(--gray-30) !important;
  color: var(--white);
  border-color: var(--white) !important;
  padding: 26px 16px 4px;
}
.header__search-form-label {
  color: var(--white) !important;
}
.header__flyout {
  position: absolute;
  z-index: 4000;
  top: -400px;
  width: 100%;
  display: flex;
  opacity: 0;
  background: var(--gray-20-ci);
  padding: 80px 144px;
  transition: all 300ms ease-in-out;
  overflow: hidden;
  /* Active state for the flyout */
}
.header__flyout > article {
  display: none;
}
.header__flyout--active {
  top: 100%;
  opacity: 1;
  overflow: auto;
  max-height: calc(100vh - 150px);
}
.header__flyout--active .header__subnavigation + article {
  padding: 20px;
  align-self: flex-start;
  border: solid 1px var(--middle-contrast);
  color: var(--white);
  margin-top: 30px;
}
.header__flyout--active .header__subnavigation + article img {
  margin-bottom: 12px;
}
.header__flyout--active .header__subnavigation--level1 {
  position: -webkit-sticky;
  position: sticky;
  top: 0;
  height: 100%;
  width: 33%;
}
.header__flyout--active .header__subnavigation--level1 .header__navigation-link {
  padding: 22px;
}
.header__flyout--active .header__subnavigation--level1 .header__navigation-link-label {
  text-transform: uppercase;
  letter-spacing: 1px;
}
.header__flyout--active .header__subnavigation--level2, .header__flyout--active .header__subnavigation--level3 {
  transform: translateX(-50px);
  opacity: 0;
  width: 0;
  height: 0;
  overflow: hidden;
}
.header__flyout--active .header__subnavigation--level2.header__subnavigation--active, .header__flyout--active .header__subnavigation--level3.header__subnavigation--active {
  transition: transform 200ms ease-in-out, width 0ms ease-in-out, opacity 50ms ease-in-out;
  transform: translateX(0) !important;
  opacity: 1 !important;
  width: 33% !important;
  height: 100%;
  margin-left: 33px;
  overflow: visible;
}
.header__flyout--active .header__subnavigation--level2.header__subnavigation--active + article, .header__flyout--active .header__subnavigation--level3.header__subnavigation--active + article {
  display: block;
  margin-top: 0;
  width: 33%;
}
.header__flyout--active .header__subnavigation--level2 .header__navigation-item, .header__flyout--active .header__subnavigation--level3 .header__navigation-item {
  border-bottom: 2px solid transparent;
}
.header__flyout--active .header__subnavigation--level2 .header__navigation-item--active, .header__flyout--active .header__subnavigation--level3 .header__navigation-item--active {
  border-color: var(--red-50-ci) !important;
}
.header__flyout--active .header__subnavigation--level2 .header__navigation-link, .header__flyout--active .header__subnavigation--level3 .header__navigation-link {
  padding: 12px 0;
}
.header__flyout--active .header__subnavigation--level2 .header__navigation-link-label, .header__flyout--active .header__subnavigation--level3 .header__navigation-link-label {
  font-weight: 600;
}
.header__flyout--active .header__navigation-items {
  flex-direction: column;
  gap: 0;
  padding: 0;
}
.header__flyout--active .header__navigation-item {
  border-bottom: 2px solid var(--low-contrast);
}
.header__flyout--active .header__navigation-item--active {
  border-color: var(--red-50-ci) !important;
}
.header__flyout--active .header__navigation-link {
  color: var(--white);
  display: flex;
  justify-content: space-between;
}
.header__flyout--active .header__navigation-link-label {
  text-transform: none;
  max-width: 335px;
}
.header__flyout--active .header__navigation-icon {
  display: block;
}
.header #language-switch-contents {
  display: none;
}
.header--mobile-navigation-open nav {
  display: block;
}
.header--mobile-navigation-open .header__hamburger .icon-menu-2 {
  display: none;
}
.header--mobile-navigation-open .header__hamburger .icon-close {
  display: block;
}
.header--mobile-navigation-open .header__mobile-navigation {
  height: auto;
  max-height: calc(100vh - 100px);
  overflow-y: auto;
  overflow-x: hidden;
  opacity: 1;
  transform: translateY(0);
  transition: height 300ms ease-in-out, opacity 0ms ease-in-out, transform 300ms ease-in-out;
}
.header--search-open .header__search-toggle .icon-search {
  display: none;
}
.header--search-open .header__search-toggle .icon-close {
  display: block;
}
.header--search-open .header__search-form {
  display: block;
  background: var(--gray-20-ci);
}
.header--language-switch-open #language-switch-contents {
  display: block !important;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-weight: 900 !important;
}

.hl {
  position: relative;
  font-weight: 900 !important;
  line-height: 1.2;
  text-transform: uppercase;
  -webkit-hyphens: auto;
      -ms-hyphens: auto;
          hyphens: auto;
  hyphenate-limit-chars: 10 4 4;
  margin: 0 0 12px;
}
@media (min-width: 576px) {
  .hl {
    margin: 0 0 14px;
  }
}
@media (min-width: 768px) {
  .hl {
    margin: 0 0 18px;
  }
}
@media (min-width: 992px) {
  .hl {
    margin: 0 0 24px;
  }
}
.hl.hl--1 {
  font-size: 22px;
}
@media (min-width: 576px) {
  .hl.hl--1 {
    font-size: 32px;
  }
}
@media (min-width: 768px) {
  .hl.hl--1 {
    font-size: 44px;
  }
}
@media (min-width: 992px) {
  .hl.hl--1 {
    font-size: 56px;
  }
}
.hl.hl--2 {
  font-size: 20px;
}
@media (min-width: 576px) {
  .hl.hl--2 {
    font-size: 24px;
  }
}
@media (min-width: 768px) {
  .hl.hl--2 {
    font-size: 32px;
  }
}
@media (min-width: 992px) {
  .hl.hl--2 {
    font-size: 44px;
  }
}
.hl.hl--3 {
  font-size: 18px;
}
@media (min-width: 768px) {
  .hl.hl--3 {
    font-size: 24px;
  }
}
@media (min-width: 992px) {
  .hl.hl--3 {
    font-size: 32px;
  }
}
.hl.hl--4 {
  font-size: 16px;
}
@media (min-width: 576px) {
  .hl.hl--4 {
    font-size: 18px;
  }
}
@media (min-width: 768px) {
  .hl.hl--4 {
    font-size: 22px;
  }
}
@media (min-width: 992px) {
  .hl.hl--4 {
    font-size: 24px;
  }
}
.hl.hl--5 {
  font-size: 16px;
}
@media (min-width: 992px) {
  .hl.hl--5 {
    font-size: 18px;
  }
}
.hl.hl--6 {
  font-size: 16px;
}
.hl.--red {
  color: var(--text-highlight-standard);
}

p {
  background: inherit;
  color: inherit;
  font-weight: 400;
}
p.large {
  font-size: 18px;
}
@media (min-width: 768px) {
  p.large {
    font-size: 20px;
  }
}
p.small {
  font-size: 12px;
}
p strong,
p b {
  font-weight: 600;
}
p + p {
  margin-top: 1em;
}
p + .hl {
  margin: 24px 0 16px;
}
@media (min-width: 576px) {
  p + .hl {
    margin: 28px 0 16px;
  }
}
@media (min-width: 768px) {
  p + .hl {
    margin: 32px 0 16px;
  }
}
@media (min-width: 992px) {
  p + .hl {
    margin: 36px 0 16px;
  }
}
p.caption {
  font-size: 12px;
  font-weight: 400;
  margin-top: 0.5em;
  margin-bottom: 0.5em;
}

a {
  text-decoration: none;
}

p > a,
p > span > a,
p > strong > a,
li > a {
  color: inherit;
  font-weight: 600;
  font-size: inherit;
  text-transform: inherit;
  text-decoration: underline;
}

.link {
  display: inline-flex;
  text-decoration: none;
  text-transform: uppercase;
  font-weight: 900;
  font-size: 16px;
  line-height: 24px;
  color: var(--high-contrast-standard);
}
.link:hover {
  color: var(--high-contrast-hover);
}
.link:active, .link:focus {
  color: var(--high-contrast-pressed);
}
.link--icon-arrow-right::after {
  content: "\ea03";
  font-family: "IconDefault", sans-serif;
  font-size: 24px;
  line-height: 1;
  display: inline-block;
  vertical-align: middle;
  -webkit-margin-start: 8px;
          margin-inline-start: 8px;
}
.link--icon-arrow-left::before {
  content: "\ea03";
  font-family: "IconDefault", sans-serif;
  font-size: 24px;
  line-height: 1;
  display: inline-block;
  vertical-align: middle;
  -webkit-margin-end: 8px;
          margin-inline-end: 8px;
}
.link--text-red {
  color: var(--text-highlight-standard);
}
.link--inline {
  color: inherit;
  font-weight: 600;
  font-size: inherit;
  text-transform: inherit;
  text-decoration: underline;
}

ul,
ol {
  padding: 12px 24px;
  margin: 0;
  line-height: 24px;
  word-wrap: break-word;
  list-style-type: none;
}
ul > li > ul,
ul > li > ol,
ol > li > ul,
ol > li > ol {
  padding: 0 24px;
}
ul + .hl,
ol + .hl {
  margin: 24px 0 16px;
}
@media (min-width: 576px) {
  ul + .hl,
  ol + .hl {
    margin: 28px 0 16px;
  }
}
@media (min-width: 768px) {
  ul + .hl,
  ol + .hl {
    margin: 32px 0 16px;
  }
}
@media (min-width: 992px) {
  ul + .hl,
  ol + .hl {
    margin: 36px 0 16px;
  }
}

ul > li,
ul > li > ul > li > ul > li {
  position: relative;
  list-style-type: none;
}
ul > li::before,
ul > li > ul > li > ul > li::before {
  content: "";
  width: 4px;
  height: 4px;
  background: var(--color);
  position: absolute;
  left: -24px;
  border: 1px solid var(--color);
  top: 10px;
}

ul > li > ul > li,
ul > li > ul > li > ul > li > ul > li {
  position: relative;
  list-style-type: none;
}
ul > li > ul > li::before,
ul > li > ul > li > ul > li > ul > li::before {
  content: "";
  width: 4px;
  height: 4px;
  background: var(--background);
  position: absolute;
  left: -24px;
  border: 1px solid var(--color);
  top: 10px;
}

ol {
  counter-reset: item;
  list-style: decimal;
}
ol > li,
ol > li > ol > li,
ol > li > ol > li > ol > li,
ol > li > ol > li > ol > li > ol > li {
  position: relative;
  list-style-type: none;
  padding-left: 4px;
}
ol > li::before,
ol > li > ol > li::before,
ol > li > ol > li > ol > li::before,
ol > li > ol > li > ol > li > ol > li::before {
  content: counters(item, ".") ". ";
  counter-increment: item;
  position: absolute;
  left: -24px;
}
ol > li > ol > li {
  padding-left: 18px;
}
ol > li > ol > li > ol > li {
  padding-left: 26px;
}
ol > li > ol > li > ol > li > ol > li {
  padding-left: 36px;
}

.section--align-center ol > li:before,
.section--align-center ol > li > ol > li:before,
.section--align-center ol > li > ol > li > ol > li:before,
.section--align-center ol > li > ol > li > ol > li > ol > li:before {
  position: relative;
  left: 0;
}

.hl + ul,
.hl + ol {
  padding-top: 0;
}

.list-custom-icon {
  display: flex;
  flex-direction: column;
  gap: 16px;
  padding: 0;
  margin: 0;
}
.list-custom-icon__item {
  display: flex;
  align-items: center;
}
.list-custom-icon__item::before {
  display: none;
}
.list-custom-icon__icon {
  -webkit-margin-end: 8px;
          margin-inline-end: 8px;
  font-size: 24px;
}

.markerBlock {
  display: inline-flex;
  align-items: flex-start;
}
.markerBlock p {
  text-transform: uppercase;
  word-wrap: break-word;
  font-weight: 900;
  font-size: 18px;
  line-height: 21.6px;
  margin: 0;
}
.markerBlock .markerTrapezoid {
  padding: 15px;
  padding-right: 25px;
  display: flex;
  justify-content: center;
  align-items: center;
  width: auto;
  max-width: 200px;
  position: relative;
}
.markerBlock .markerTrapezoid:after {
  content: "";
  -webkit-clip-path: polygon(0 0, 0 100%, 100% 0);
  clip-path: polygon(0 100%, 100% 100%, 100% 0);
  height: 100%;
  position: absolute;
  background: var(--background);
  right: -1px;
  aspect-ratio: 1/3;
  top: 1px;
}
.markerBlock .markerInfo {
  align-self: flex-start;
  padding: 15px;
}
.markerBlock .markerTrapezoid,
.markerBlock .markerInfo {
  background: var(--high-contrast-standard);
  color: var(--contrast-inverted-100);
}
.markerBlock--highlight .markerTrapezoid,
.markerBlock--highlight .markerInfo {
  background: var(--graphic-highlight-standard);
  color: var(--gray-100-ci);
}

@media (max-width: 575.98px) {
  table,
  caption,
  tbody,
  tfoot,
  thead,
  tr,
  th,
  td {
    all: unset;
  }
}

table {
  border: 0;
  border-collapse: collapse;
  width: 100%;
}
@media (max-width: 575.98px) {
  table.simple-table {
    display: flex;
    flex-direction: column;
    flex-wrap: nowrap;
  }
}
table.simple-table tbody tr {
  border-bottom: 2px solid var(--low-contrast);
}
@media (max-width: 575.98px) {
  table.simple-table tbody tr {
    display: flex;
    flex-direction: column;
    flex-wrap: nowrap;
    height: auto !important;
    padding: 16px 0;
  }
}
table.simple-table tbody tr td {
  padding: 16px 8px 16px 0;
  border: 0;
}
@media (max-width: 575.98px) {
  table.simple-table tbody tr td {
    display: flex;
    flex-direction: column;
    flex-wrap: nowrap;
    padding: 0;
    border: 0;
    height: auto !important;
    line-height: 26px;
  }
}
table.simple-table tbody tr td strong {
  font-weight: 600;
}
table.complex-table {
  display: block;
}
table.complex-table tr {
  margin-bottom: 32px;
  display: block;
}
table.complex-table tr.header-row {
  border-top: 2px solid var(--low-contrast);
  padding-top: 32px;
}
table.complex-table tr th {
  margin-bottom: 16px;
  display: block;
}
table.complex-table tr td {
  margin-bottom: 8px;
  display: block;
}
table.complex-table tr td:nth-child(2) {
  font-weight: 600;
}
table.complex-table tr td:nth-child(2) em {
  font-style: normal;
}
table.complex-table th:not(.header-th) {
  display: none;
}
@media (min-width: 576px) {
  table.complex-table {
    display: grid;
    grid-template-columns: repeat(12, 1fr);
  }
  table.complex-table tbody {
    display: grid;
    grid-template-rows: auto;
    grid-column: 1/13;
  }
  table.complex-table tbody tr {
    display: grid;
    grid-template-columns: 36% 64%;
    grid-column: auto;
  }
  table.complex-table tbody tr.header-row {
    padding-top: 32px;
  }
  table.complex-table tbody tr th.header-th {
    display: grid;
    text-align: start;
    grid-column: 1/3;
  }
  table.complex-table tbody tr td {
    margin-bottom: 0;
  }
}
@media (min-width: 1200px) {
  table.complex-table tbody tr {
    grid-template-columns: repeat(3, 1fr);
  }
  table.complex-table tbody tr th.header-th {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    grid-column: unset;
  }
  table.complex-table tbody tr th:not(.header-th) {
    display: block;
  }
}

/**
 * Defines the styles for a the label of a floating label input.
 */
.field.checkbox {
  position: relative;
  cursor: pointer;
  width: 100%;
}

.field.checkbox label,
.field.optionset label,
.field.checkboxset label {
  display: block;
  margin: 0;
  padding-left: 32px;
  color: var(--color);
}

.checkboxset.requiredField legend::after {
  margin-left: 3px;
  content: "*";
}

.checkboxset.requiredField label::after {
  content: "";
}

.field.checkbox .error.message,
.field.optionset .error.message {
  display: block;
  color: var(--error-text);
  font-weight: 400;
  border-top: 0;
  margin-top: 0;
}

input.checkbox {
  position: absolute;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 24px;
  height: 24px;
  background-color: var(--background);
  border: 2px solid var(--middle-contrast);
  border-radius: 0;
  -webkit-appearance: none;
}

input.checkbox:checked {
  background-color: var(--high-contrast-standard);
  color: var(--contrast-inverted-100);
  border: 1px solid var(--high-contrast-standard);
}

input.checkbox:checked::after {
  content: "\ea0d";
  font-family: "IconDefault", sans-serif;
  font-size: 24px;
  line-height: 1;
  font-size: 14px;
  font-weight: bold;
}

input.checkbox.mixed:checked::after {
  content: "\ea1f";
  font-family: "IconDefault", sans-serif;
  font-size: 24px;
  line-height: 1;
  font-size: 14px;
  font-weight: bold;
}

.field.optionset > div,
.field.checkboxset > div {
  margin-bottom: 10px;
}

.disabled {
  pointer-events: none;
}

input.checkbox[disabled=disabled],
.disabled input.checkbox {
  border-color: var(--contrast-inverted-80);
  cursor: not-allowed;
}

input.checkbox[disabled=disabled] + label,
.disabled.checkbox label {
  color: #999999;
}

.field.userformsoptionset {
  padding: 0;
  border: none !important;
  background: var(--background);
}
.field.userformsoptionset div {
  display: flex;
}
.field.userformsoptionset .error.message {
  display: block;
  color: var(--error-text);
  font-weight: 400;
  border-top: 0;
  margin-top: 0;
}

.userformsoptionset input,
.radio {
  /* Add if not using autoprefixer */
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  margin: 0;
  font: inherit;
  width: 26px;
  height: 26px;
  background-color: var(--background);
  border: 2px solid var(--middle-contrast);
  border-radius: 50%;
  transform: translateY(-0.075em);
  display: flex;
  justify-content: center;
  align-items: center;
}

.userformsoptionset label,
.radio + label {
  position: relative;
  margin-bottom: 10px;
  color: var(--color);
  line-height: 24px;
  margin-left: 8px;
}

.userformsoptionset input:checked,
.radio:checked {
  background-color: var(--high-contrast-standard);
  border-color: var(--high-contrast-standard);
}

.userformsoptionset input:checked::before,
.radio:checked::before {
  content: "";
  position: absolute;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background-color: var(--background);
  transform: scale(100%);
}

.userformsoptionset.requiredField legend::after,
.field.userformsoptionset.form-group--no-label.requiredField label::after {
  margin-left: 3px;
  content: "*";
}

.toggle-switch input {
  display: none;
}
.toggle-switch label {
  padding: 15px 0;
  padding-left: 48px !important;
  position: relative;
  display: block;
  font-size: 18px;
  cursor: pointer;
}
.toggle-switch input[type=checkbox],
.toggle-switch input[type=radio] {
  position: absolute;
  visibility: hidden !important;
}
.toggle-switch input[type=checkbox] + label::before, .toggle-switch input[type=checkbox] + label::after,
.toggle-switch input[type=radio] + label::before,
.toggle-switch input[type=radio] + label::after {
  content: "";
  position: absolute;
  transform: translateY(-50%);
  box-sizing: border-box;
}
.toggle-switch input[type=checkbox] + label::before,
.toggle-switch input[type=radio] + label::before {
  top: 50%;
  left: 0px;
  width: 40px;
  height: 24px;
  border: 2px solid var(--middle-contrast);
}
.toggle-switch input[type=checkbox] + label::after,
.toggle-switch input[type=radio] + label::after {
  top: calc(50% - 4px);
  left: 5px;
  width: 16px;
  height: 16px;
  margin-top: 4px;
  background: #d9d9d9;
  transition: all 200ms ease-out;
}
.toggle-switch input[type=checkbox]:checked + label::before,
.toggle-switch input[type=radio]:checked + label::before {
  border: 2px solid var(--high-contrast-standard);
  background: var(--high-contrast-standard);
}
.toggle-switch input[type=checkbox]:checked + label:after,
.toggle-switch input[type=radio]:checked + label:after {
  left: 20px;
  background: var(--contrast-inverted-100);
}

.userform .progress-title {
  margin-bottom: 24px;
}
@media (min-width: 576px) {
  .userform .progress-title {
    margin-bottom: 32px;
  }
}
@media (min-width: 768px) {
  .userform .progress-title {
    margin-bottom: 40px;
  }
}
@media (min-width: 992px) {
  .userform .progress-title {
    margin-bottom: 48px;
  }
}
.userform .progress-title:empty {
  margin-bottom: 0;
}
.userform-progress .step-buttons {
  visibility: hidden;
  margin: 0;
  padding: 0;
}
.userform-progress .progress {
  background: var(--low-contrast) !important;
  height: 8px !important;
}
.userform-progress .progress-bar {
  background: var(--graphic-highlight-standard) !important;
  height: 8px !important;
}
.userform .step-navigation {
  border-top: 2px solid var(--low-contrast);
  padding-top: 16px;
  margin-top: 16px;
  margin-bottom: 16px;
}
@media (min-width: 576px) {
  .userform .step-navigation {
    margin-top: 24px;
    margin-bottom: 24px;
    padding-top: 24px;
  }
}
@media (min-width: 768px) {
  .userform .step-navigation {
    margin-top: 32px;
    margin-bottom: 32px;
    padding-top: 32px;
  }
}
@media (min-width: 992px) {
  .userform .step-navigation {
    margin-top: 48px;
    margin-bottom: 48px;
    padding-top: 48px;
  }
}
.userform .step-navigation .step-button-prev,
.userform .step-navigation .step-button-next {
  text-transform: uppercase;
  display: flex;
  padding: 10px 16px;
  gap: 8px;
  justify-content: start;
  text-align: start;
  align-items: center;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  font-weight: 900;
  cursor: pointer;
  text-decoration: none;
  color: var(--high-contrast-standard);
  background-color: var(--contrast-inverted-100);
  border: 2px solid var(--high-contrast-standard);
}
.userform .step-navigation .step-button-prev::before,
.userform .step-navigation .step-button-next::before {
  content: "\ea03";
  font-family: "IconDefault", sans-serif;
  font-size: 24px;
  line-height: 1;
  display: inline-block;
  vertical-align: middle;
}
.userform .step-navigation .step-button-prev::before {
  content: "\ea02";
  font-family: "IconDefault", sans-serif;
  font-size: 24px;
  line-height: 1;
}
.userform .step-navigation ul {
  display: flex;
  padding: 0;
  justify-content: space-between;
  align-content: flex-start;
}
.userform .step-navigation ul li {
  display: flex;
  list-style-type: none;
  justify-content: flex-end;
}
.userform .step-navigation ul li:before {
  content: "";
  display: none;
}
.userform .step-navigation ul li.btn-toolbar {
  padding: 0;
  margin-top: 0;
}

form {
  display: block;
}
form .userformsgroup {
  background: var(--background);
  border-radius: 0;
  border: none !important;
}
form .message {
  display: block;
  font-weight: 400;
  margin-top: -2px;
}
form .message.error {
  color: var(--error-text);
  border-top: 2px solid var(--graphic-highlight-standard);
}
form .message.good {
  border-top: 2px solid var(--success);
}
form .error-list {
  display: none;
}
form .error-container {
  display: none !important;
}
form fieldset {
  width: 100%;
}
form .btn-toolbar {
  margin-top: 40px;
}
form .field.friendlycaptcha {
  display: flex;
  flex-direction: column;
}
form .field.friendlycaptcha .message {
  margin-top: 1px;
}
form .field.friendlycaptcha .message.error {
  border: none;
}

.form-element__title {
  margin-bottom: 18px;
}
@media (min-width: 576px) {
  .form-element__title {
    margin-bottom: 24px;
  }
}
@media (min-width: 768px) {
  .form-element__title {
    margin-bottom: 32px;
  }
}
@media (min-width: 992px) {
  .form-element__title {
    margin-bottom: 40px;
  }
}

.userform .field label.right {
  text-align: justify;
}

.form-element__form {
  grid-column: 1/13;
}

.chipBar {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-start;
}
.chipBar .chip {
  background: var(--low-contrast);
  color: var(--high-contrast-standard);
  display: flex;
  padding: 4px 12px;
  align-items: center;
  gap: 4px;
}
.chipBar .chip .icon-close {
  color: var(--high-contrast-standard);
}
.chipBar .chip--active {
  background: var(--graphic-highlight-standard);
  color: var(--white);
}

.typography {
  color: var(--color);
}

.footer {
  max-width: 2000px;
  width: 100%;
  margin: 0 auto;
  overflow-x: hidden;
  background: var(--background);
}
.footer__head {
  background: var(--white);
  padding: 0 8px 0 8px;
  border-bottom: solid 8px var(--graphic-highlight-standard);
}
.footer__events {
  display: grid;
  grid-template-columns: repeat(12, 1fr);
  max-width: 1312px;
  margin: 0 auto;
  background: var(--background);
  padding: 50px 30px;
  transform: translateY(100px);
}
@media (min-width: 576px) {
  .footer__events {
    padding: 50px 16px;
  }
}
@media (min-width: 768px) {
  .footer__events {
    padding: 50px 24px;
  }
}
@media (min-width: 992px) {
  .footer__events {
    padding: 50px 32px;
  }
}
.footer__events-inner {
  grid-column: 1/13;
}
.footer__events-headline {
  margin-bottom: 24px;
}
@media (min-width: 576px) {
  .footer__events-headline {
    margin-bottom: 33px;
  }
}
.footer__events-item {
  padding: 16px 0;
  border-bottom: solid 2px var(--low-contrast);
}
@media (min-width: 576px) {
  .footer__events-item {
    display: flex;
    justify-content: space-between;
  }
}
.footer__events-link {
  margin-top: 24px;
}
.footer__body {
  margin: 0 auto;
  max-width: 1312px;
  color: var(--gray-90-ci);
  padding: 160px 8px 60px 8px;
}
@media (min-width: 576px) {
  .footer__body {
    display: grid;
    grid-template-columns: repeat(12, 1fr);
    -moz-column-gap: 16px;
         column-gap: 16px;
    row-gap: 100px;
    -webkit-padding-before: 180px;
            padding-block-start: 180px;
    padding: 180px 8px 60px 8px;
  }
}
@media (min-width: 768px) {
  .footer__body {
    -moz-column-gap: 24px;
         column-gap: 24px;
    padding: 200px 8px 60px 8px;
  }
}
.footer__info {
  grid-column: 1/7;
}
.footer__logo {
  grid-area: logo;
  padding: 16px 0;
  -webkit-margin-after: 24px;
          margin-block-end: 24px;
}
.footer__content {
  grid-area: content;
  -webkit-margin-after: 60px;
          margin-block-end: 60px;
}
@media (min-width: 576px) {
  .footer__content {
    -webkit-margin-after: 0;
            margin-block-end: 0;
  }
}
.footer__content ul {
  padding: 0;
}
.footer__content-address {
  line-height: 24px;
  font-size: 18px;
  font-style: normal;
  font-weight: 400;
}
.footer__content-phone {
  display: flex;
  align-items: center;
  margin-top: 12px;
}
.footer__content-phone i {
  font-size: 24px;
  -webkit-margin-end: 8px;
          margin-inline-end: 8px;
}
.footer__images {
  grid-column: 7/13;
  display: flex;
  -moz-column-gap: 24px;
       column-gap: 24px;
  -webkit-margin-after: 60px;
          margin-block-end: 60px;
}
.footer__images img {
  width: auto;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
  max-height: 99px;
}
@media (min-width: 992px) {
  .footer__images img {
    max-height: 166px;
  }
}
.footer__links {
  grid-column: 1/13;
}
@media (min-width: 576px) {
  .footer__links {
    display: grid;
    grid-template-columns: 1fr 1fr;
  }
}
@media (min-width: 992px) {
  .footer__links {
    grid-template-columns: 1fr 1fr 1fr 1fr;
  }
}
.footer__links-column {
  -webkit-padding-after: 40px;
          padding-block-end: 40px;
}
.footer__links-headline {
  -webkit-padding-after: 32px;
          padding-block-end: 32px;
  text-transform: uppercase;
}
.footer__links-items {
  line-height: 1;
  padding: 0;
}
.footer__links-item {
  -webkit-padding-before: 20px;
          padding-block-start: 20px;
}
.footer__links-item:first-child {
  -webkit-padding-before: 0;
          padding-block-start: 0;
}
.footer__links-item:before {
  display: none;
}
.footer__links-item .link {
  font-weight: 400;
  font-family: "Söhne", sans-serif;
  text-transform: none;
}

/**
 * Defines the styles for a the label of a floating label input.
 */
.field.checkbox {
  position: relative;
  cursor: pointer;
  width: 100%;
}

.field.checkbox label,
.field.optionset label,
.field.checkboxset label {
  display: block;
  margin: 0;
  padding-left: 32px;
  color: var(--color);
}

.checkboxset.requiredField legend::after {
  margin-left: 3px;
  content: "*";
}

.checkboxset.requiredField label::after {
  content: "";
}

.field.checkbox .error.message,
.field.optionset .error.message {
  display: block;
  color: var(--error-text);
  font-weight: 400;
  border-top: 0;
  margin-top: 0;
}

input.checkbox {
  position: absolute;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 24px;
  height: 24px;
  background-color: var(--background);
  border: 2px solid var(--middle-contrast);
  border-radius: 0;
  -webkit-appearance: none;
}

input.checkbox:checked {
  background-color: var(--high-contrast-standard);
  color: var(--contrast-inverted-100);
  border: 1px solid var(--high-contrast-standard);
}

input.checkbox:checked::after {
  content: "\ea0d";
  font-family: "IconDefault", sans-serif;
  font-size: 24px;
  line-height: 1;
  font-size: 14px;
  font-weight: bold;
}

input.checkbox.mixed:checked::after {
  content: "\ea1f";
  font-family: "IconDefault", sans-serif;
  font-size: 24px;
  line-height: 1;
  font-size: 14px;
  font-weight: bold;
}

.field.optionset > div,
.field.checkboxset > div {
  margin-bottom: 10px;
}

.disabled {
  pointer-events: none;
}

input.checkbox[disabled=disabled],
.disabled input.checkbox {
  border-color: var(--contrast-inverted-80);
  cursor: not-allowed;
}

input.checkbox[disabled=disabled] + label,
.disabled.checkbox label {
  color: #999999;
}

.field.userformsoptionset {
  padding: 0;
  border: none !important;
  background: var(--background);
}
.field.userformsoptionset div {
  display: flex;
}
.field.userformsoptionset .error.message {
  display: block;
  color: var(--error-text);
  font-weight: 400;
  border-top: 0;
  margin-top: 0;
}

.userformsoptionset input,
.radio {
  /* Add if not using autoprefixer */
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  margin: 0;
  font: inherit;
  width: 26px;
  height: 26px;
  background-color: var(--background);
  border: 2px solid var(--middle-contrast);
  border-radius: 50%;
  transform: translateY(-0.075em);
  display: flex;
  justify-content: center;
  align-items: center;
}

.userformsoptionset label,
.radio + label {
  position: relative;
  margin-bottom: 10px;
  color: var(--color);
  line-height: 24px;
  margin-left: 8px;
}

.userformsoptionset input:checked,
.radio:checked {
  background-color: var(--high-contrast-standard);
  border-color: var(--high-contrast-standard);
}

.userformsoptionset input:checked::before,
.radio:checked::before {
  content: "";
  position: absolute;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background-color: var(--background);
  transform: scale(100%);
}

.userformsoptionset.requiredField legend::after,
.field.userformsoptionset.form-group--no-label.requiredField label::after {
  margin-left: 3px;
  content: "*";
}

.toggle-switch input {
  display: none;
}
.toggle-switch label {
  padding: 15px 0;
  padding-left: 48px !important;
  position: relative;
  display: block;
  font-size: 18px;
  cursor: pointer;
}
.toggle-switch input[type=checkbox],
.toggle-switch input[type=radio] {
  position: absolute;
  visibility: hidden !important;
}
.toggle-switch input[type=checkbox] + label::before, .toggle-switch input[type=checkbox] + label::after,
.toggle-switch input[type=radio] + label::before,
.toggle-switch input[type=radio] + label::after {
  content: "";
  position: absolute;
  transform: translateY(-50%);
  box-sizing: border-box;
}
.toggle-switch input[type=checkbox] + label::before,
.toggle-switch input[type=radio] + label::before {
  top: 50%;
  left: 0px;
  width: 40px;
  height: 24px;
  border: 2px solid var(--middle-contrast);
}
.toggle-switch input[type=checkbox] + label::after,
.toggle-switch input[type=radio] + label::after {
  top: calc(50% - 4px);
  left: 5px;
  width: 16px;
  height: 16px;
  margin-top: 4px;
  background: #d9d9d9;
  transition: all 200ms ease-out;
}
.toggle-switch input[type=checkbox]:checked + label::before,
.toggle-switch input[type=radio]:checked + label::before {
  border: 2px solid var(--high-contrast-standard);
  background: var(--high-contrast-standard);
}
.toggle-switch input[type=checkbox]:checked + label:after,
.toggle-switch input[type=radio]:checked + label:after {
  left: 20px;
  background: var(--contrast-inverted-100);
}

.userform .progress-title {
  margin-bottom: 24px;
}
@media (min-width: 576px) {
  .userform .progress-title {
    margin-bottom: 32px;
  }
}
@media (min-width: 768px) {
  .userform .progress-title {
    margin-bottom: 40px;
  }
}
@media (min-width: 992px) {
  .userform .progress-title {
    margin-bottom: 48px;
  }
}
.userform .progress-title:empty {
  margin-bottom: 0;
}
.userform-progress .step-buttons {
  visibility: hidden;
  margin: 0;
  padding: 0;
}
.userform-progress .progress {
  background: var(--low-contrast) !important;
  height: 8px !important;
}
.userform-progress .progress-bar {
  background: var(--graphic-highlight-standard) !important;
  height: 8px !important;
}
.userform .step-navigation {
  border-top: 2px solid var(--low-contrast);
  padding-top: 16px;
  margin-top: 16px;
  margin-bottom: 16px;
}
@media (min-width: 576px) {
  .userform .step-navigation {
    margin-top: 24px;
    margin-bottom: 24px;
    padding-top: 24px;
  }
}
@media (min-width: 768px) {
  .userform .step-navigation {
    margin-top: 32px;
    margin-bottom: 32px;
    padding-top: 32px;
  }
}
@media (min-width: 992px) {
  .userform .step-navigation {
    margin-top: 48px;
    margin-bottom: 48px;
    padding-top: 48px;
  }
}
.userform .step-navigation .step-button-prev,
.userform .step-navigation .step-button-next {
  text-transform: uppercase;
  display: flex;
  padding: 10px 16px;
  gap: 8px;
  justify-content: start;
  text-align: start;
  align-items: center;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  font-weight: 900;
  cursor: pointer;
  text-decoration: none;
  color: var(--high-contrast-standard);
  background-color: var(--contrast-inverted-100);
  border: 2px solid var(--high-contrast-standard);
}
.userform .step-navigation .step-button-prev::before,
.userform .step-navigation .step-button-next::before {
  content: "\ea03";
  font-family: "IconDefault", sans-serif;
  font-size: 24px;
  line-height: 1;
  display: inline-block;
  vertical-align: middle;
}
.userform .step-navigation .step-button-prev::before {
  content: "\ea02";
  font-family: "IconDefault", sans-serif;
  font-size: 24px;
  line-height: 1;
}
.userform .step-navigation ul {
  display: flex;
  padding: 0;
  justify-content: space-between;
  align-content: flex-start;
}
.userform .step-navigation ul li {
  display: flex;
  list-style-type: none;
  justify-content: flex-end;
}
.userform .step-navigation ul li:before {
  content: "";
  display: none;
}
.userform .step-navigation ul li.btn-toolbar {
  padding: 0;
  margin-top: 0;
}

form {
  display: block;
}
form .userformsgroup {
  background: var(--background);
  border-radius: 0;
  border: none !important;
}
form .message {
  display: block;
  font-weight: 400;
  margin-top: -2px;
}
form .message.error {
  color: var(--error-text);
  border-top: 2px solid var(--graphic-highlight-standard);
}
form .message.good {
  border-top: 2px solid var(--success);
}
form .error-list {
  display: none;
}
form .error-container {
  display: none !important;
}
form fieldset {
  width: 100%;
}
form .btn-toolbar {
  margin-top: 40px;
}
form .field.friendlycaptcha {
  display: flex;
  flex-direction: column;
}
form .field.friendlycaptcha .message {
  margin-top: 1px;
}
form .field.friendlycaptcha .message.error {
  border: none;
}

.form-element__title {
  margin-bottom: 18px;
}
@media (min-width: 576px) {
  .form-element__title {
    margin-bottom: 24px;
  }
}
@media (min-width: 768px) {
  .form-element__title {
    margin-bottom: 32px;
  }
}
@media (min-width: 992px) {
  .form-element__title {
    margin-bottom: 40px;
  }
}

.userform .field label.right {
  text-align: justify;
}

.form-element__form {
  grid-column: 1/13;
}

p:has(> .ss-htmleditorfield-file.image, > img.ss-htmleditorfield-file) {
  display: inline-block;
}

.ss-htmleditorfield-file.image.left, img.ss-htmleditorfield-file.left {
  float: inline-start;
  margin-right: 24px;
}

.ss-htmleditorfield-file.image.right, img.ss-htmleditorfield-file.right {
  float: inline-end;
  margin-right: 24px;
}

p:has(> .ss-htmleditorfield-file.image.center, > img.ss-htmleditorfield-file.center) {
  display: flex;
  flex-direction: column;
  align-items: center;
}

.cookiefirst-cookie-declaration button {
  background: transparent !important;
  border: 0 !important;
  font-family: inherit;
  font-size: inherit;
  text-transform: uppercase;
  display: inline-flex;
  padding: 10px 16px;
  gap: 8px;
  justify-content: center;
  text-align: center;
  align-items: center;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  font-weight: 900;
  cursor: pointer;
  text-decoration: none;
  margin: 0 8px 8px 0;
  background-color: var(--high-contrast-standard) !important;
  color: var(--contrast-inverted-100) !important;
  border: 2px solid var(--high-contrast-standard) !important;
}
.cookiefirst-cookie-declaration button::before {
  content: "\ea03";
  font-family: "IconDefault", sans-serif;
  font-size: 24px;
  line-height: 1;
  display: inline-block;
  vertical-align: middle;
}
.cookiefirst-cookie-declaration button:hover {
  background-color: transparent !important;
  color: var(--high-contrast-standard) !important;
  border: 2px solid var(--high-contrast-standard) !important;
}
.cookiefirst-cookie-declaration button:focus {
  background-color: var(--high-contrast-pressed) !important;
  color: var(--contrast-inverted-100) !important;
  border: 2px solid var(--high-contrast-pressed) !important;
}
.cookiefirst-cookie-declaration p {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 16px 0;
}

.tooltip_container {
  position: relative;
  display: inline-block;
  margin-left: 4px;
  vertical-align: inherit;
}
.tooltip_trigger {
  position: relative;
  background: var(--background);
  color: var(--color);
}
.tooltip_trigger:hover, .tooltip_trigger:focus, .tooltip_trigger:focus-visible {
  outline-offset: 2px solid var(--black);
}
.tooltip_trigger:hover + .tooltip_content, .tooltip_trigger:focus + .tooltip_content, .tooltip_trigger:focus-visible + .tooltip_content {
  visibility: visible;
}
.tooltip_content {
  min-width: 200px;
  max-width: 300px;
  line-height: 1.2;
  vertical-align: inherit;
  visibility: hidden;
  display: flex;
  width: auto;
  background: var(--childBackground);
  color: var(--childColor);
  text-align: center;
  padding: 4px 12px;
  position: absolute;
  z-index: 99;
  bottom: 35px;
  left: auto;
}