:root {
  --ratio: 1.2;
  --s-10: calc(var(--s-9) / var(--ratio));
  --s-9: calc(var(--s-8) / var(--ratio));
  --s-8: calc(var(--s-7) / var(--ratio));
  --s-7: calc(var(--s-6) / var(--ratio));
  --s-6: calc(var(--s-5) / var(--ratio));
  --s-5: calc(var(--s-4) / var(--ratio));
  --s-4: calc(var(--s-3) / var(--ratio));
  --s-3: calc(var(--s-2) / var(--ratio));
  --s-2: calc(var(--s-1) / var(--ratio));
  --s-1: calc(var(--s0) / var(--ratio));
  --s0: 1rem;
  --s1: calc(var(--s0) * var(--ratio));
  --s2: calc(var(--s1) * var(--ratio));
  --s3: calc(var(--s2) * var(--ratio));
  --s4: calc(var(--s3) * var(--ratio));
  --s5: calc(var(--s4) * var(--ratio));
  --s6: calc(var(--s5) * var(--ratio));
  --s7: calc(var(--s6) * var(--ratio));
  --s8: calc(var(--s7) * var(--ratio));
  --s9: calc(var(--s8) * var(--ratio));
  --s10: calc(var(--s9) * var(--ratio));
  --line-height: var(--ratio);
  --lineheight-input: var(--s1);
  --line-height-small: calc(0.8*var(--ratio));
  --border-radius: 14px;
  --border-radius--medium: 4px;
  --border-radius--big: 5px;
  --border-radius--button: 14px;
  --color-white: #fff;
  --color-brand-yellow: #FBFF4F;
  --color-brand-highlight-yellow: #FFFBA7;
  --color-brand-red: #DA2222;
  --color-brand-blue: #002855;
  --color-brand-dark-blue: #00162F;
  --color-brand-highlight-blue: #E5E9EE;
  --color-brand-inactive-blue: #8093AA;
  --color-heading: var(--color-brand-yellow);
  --color-link: var(--color-brand-yellow);
  --color-bg: var(--color-brand-blue);
  --color-bg-footer: var(--color-brand-red);
  --color-text: var(--color-brand-highlight-blue);
  --color-contrast: var(--color-white);
  --color-offtext: #4D6988;
  --color-offtext-on-blue: #B2BECC;
  --color-button: #FFF84F;
  --color-button-hover: #FFF84F;
  --color-button-active: #FFFBA7;
  --color-gray: #B2BECC;
  --color-success-text: #00162F;
  --color-success-bg: #7FB7A1;
  --color-success-accent: #90D853;
  --color-error-text: #DA2222;
  --color-error-bg: #ffdada;
  --color-error-accent: #ceaaaa;
  --color-warning-text: #512f17;
  --color-warning-bg: #fff9c6;
  --color-warning-accent: #ffe933;
  --color-info-text: #002855;
  --color-info-bg: #B2BECC;
  --color-info-accent: #8093AA;
  --color-table-even-row: #4D6988;
  --font-brand: 'Benelux';
}

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

/* Remove default margin */
body,
h1,
h2,
h3,
h4,
p,
figure,
blockquote,
dl,
dd {
  margin: 0;
}

/* Remove list styles on ul, ol elements with a list role, which suggests default styling will be removed */
ul[role='list'],
ol[role='list'] {
  list-style: none;
}

/* Set core root defaults */
html:focus-within {
  scroll-behavior: smooth;
}

/* Set core body defaults */
body {
  min-height: 100vh;
  text-rendering: optimizeSpeed;
  line-height: 1.5;
}

/* A elements that don't have a class get default styles */
a:not([class]) {
  text-decoration-skip-ink: auto;
}

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

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

/* Remove all animations, transitions and smooth scroll for people that prefer not to see them */
@media (prefers-reduced-motion: reduce) {
  html:focus-within {
   scroll-behavior: auto;
  }

  *,
  *::before,
  *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
}

@font-face {
  font-family: 'Benelux';
  src: url("../website/benelux_book-webfont.47a8ffa2a1d6.woff2") format('woff2');
  font-display: swap;
}

@font-face {
  font-family: 'Benelux';
  src: url("../website/benelux_book_oblique-webfont.ad488c2b1e8f.woff2") format('woff2');
  font-style: italic;
  font-display: swap;
}

@font-face {
  font-family: 'Benelux';
  src: url("../website/benelux_light-webfont.8bc13d67fa35.woff2") format('woff2');
  font-weight: 300;
  font-display: swap;
}

@font-face {
  font-family: 'Benelux';
  src: url("../website/benelux_light_oblique-webfont.83707213b4e4.woff2") format('woff2');
  font-weight: 300;
  font-style: italic;
  font-display: swap;
}

@font-face {
  font-family: 'Benelux';
  src: url("../website/benelux_medium-webfont.3b22ec41553d.woff2") format('woff2');
  font-weight: 600;
  font-display: swap;
}

@font-face {
  font-family: 'Benelux';
  src: url("../website/benelux_medium_oblique-webfont.8f680a2c284f.woff2") format('woff2');
  font-weight: 600;
  font-style: italic;
  font-display: swap;
}

@font-face {
  font-family: 'Benelux';
  src: url("../website/benelux_bold-webfont.0a8f53793bfc.woff2") format('woff2');
  font-weight: 700;
  font-display: swap;
}

@font-face {
  font-family: 'Benelux';
  src: url("../website/benelux_bold-webfont.0a8f53793bfc.woff2") format('woff2');
  font-weight: 700;
  font-style: italic;
  font-display: swap;
}

@font-face {
  font-family: 'Benelux';
  src: url("../website/benelux_heavy-webfont.725044ad8d41.woff2") format('woff2');
  font-weight: 900;
  font-display: swap;
}

@font-face {
  font-family: 'Benelux';
  src: url("../website/benelux_heavy_oblique-webfont.fff1d1b1c5c7.woff2") format('woff2');
  font-weight: 900;
  font-style: italic;
  font-display: swap;
}

@font-face {
  font-family: 'Klamp';
  src: url("../website/Klamp 205 Book.8c20a5511ccd.woff2") format('woff2');
  font-display: swap;
}

@font-face {
  font-family: 'Klamp';
  src: url("../website/Klamp 205 Book Oblique.54b9f3e11a4a.woff2") format('woff2');
  font-style: italic;
  font-display: swap;
}

@font-face {
  font-family: 'Klamp';
  src: url("../website/Klamp 205 Light.ec623e0f80bd.woff2") format('woff2');
  font-weight: 300;
  font-display: swap;
}

@font-face {
  font-family: 'Klamp';
  src: url("../website/Klamp 205 Light Oblique.d4d735973ab8.woff2") format('woff2');
  font-weight: 300;
  font-style: italic;
  font-display: swap;
}

@font-face {
  font-family: 'Klamp';
  src: url("../website/Klamp 205 Medium.a0cdc325b719.woff2") format('woff2');
  font-weight: 600;
  font-display: swap;
}

@font-face {
  font-family: 'Klamp';
  src: url("../website/Klamp 205 Medium Oblique.d69c49791e81.woff2") format('woff2');
  font-weight: 600;
  font-style: italic;
  font-display: swap;
}

@font-face {
  font-family: 'Klamp';
  src: url("../website/Klamp 205 Bold.c867fd93845a.woff2") format('woff2');
  font-weight: 700;
  font-display: swap;
}

@font-face {
  font-family: 'Klamp';
  src: url("../website/Klamp 205 Bold Oblique.cd6733c2eaea.woff2") format('woff2');
  font-weight: 700;
  font-style: italic;
  font-display: swap;
}

@font-face {
  font-family: 'Klamp';
  src: url("../website/Klamp 205 Heavy.70027175b540.woff2") format('woff2');
  font-weight: 900;
  font-display: swap;
}

@font-face {
  font-family: 'Klamp';
  src: url("../website/Klamp 205 Heavy Oblique.c33788b9807f.woff2") format('woff2');
  font-weight: 900;
  font-style: italic;
  font-display: swap;
}

@font-face {
  font-family: 'Klampmono';
  src: url("../website/Klamp 205 Mono Book.1286d8d847ad.woff2") format("woff2");
  font-display: swap;
}

@font-face {
  font-family: 'Klampmono';
  src: url("../website/Klamp 205 Mono Book Oblique.990bdfc03c1a.woff2") format('woff2');
  font-style: italic;
  font-display: swap;
}

@font-face {
  font-family: 'Klampmono';
  src: url("../website/Klamp 205 Mono Light.2f3eb1a03dd4.woff2") format('woff2');
  font-weight: 300;
  font-display: swap;
}

@font-face {
  font-family: 'Klampmono';
  src: url("../website/Klamp 205 Mono Light Oblique.dbbb9c6815cd.woff2") format('woff2');
  font-weight: 300;
  font-style: italic;
  font-display: swap;
}

@font-face {
  font-family: 'Klampmono';
  src: url("../website/Klamp 205 Mono Medium.22519c9a1351.woff2") format('woff2');
  font-weight: 600;
  font-display: swap;
}

@font-face {
  font-family: 'Klampmono';
  src: url("../website/Klamp 205 Mono Medium Oblique.2d7e97037db2.woff2") format('woff2');
  font-weight: 600;
  font-style: italic;
  font-display: swap;
}

@font-face {
  font-family: 'Klampmono';
  src: url("../website/Klamp 205 Mono Bold.d9c3e5984351.woff2") format('woff2');
  font-weight: 700;
  font-display: swap;
}

@font-face {
  font-family: 'Klampmono';
  src: url("../website/Klamp 205 Mono Bold Oblique.e4226ef41b41.woff2") format('woff2');
  font-weight: 700;
  font-style: italic;
  font-display: swap;
}

* {
  font-family: 'Klamp';
}

body {
  font-family: 'Klamp';
  color: var(--color-text);
  background-color: var(--color-bg);
  font-size: 24px;
  line-height: 1.38;
}

a {
  font-family: 'Klamp';
  color: var(--color-link);
  word-break: break-word;
}

h1, .h1,
h2, .h2,
h3, .h3,
h4, .h4,
h5, .h5,
h6, .h6 {
  color: var(--color-brand-yellow);
  line-height: var(--line-height-small);
  hyphens: auto;
  font-weight: normal;
  margin-block-start: 1.2em;
  margin-block-end: 0.3em;
  line-height: 1.27;
}

.h1,
h1 {
  font-size: 56px;
  font-weight: bold;
  font-family: 'Benelux';
  line-height: 1.27;
}

.h2,
h2 {
  font-size: 38px;
  font-family: 'Benelux';
  line-height: 1.27;
}

.h3,
h3 {
  font-size: 24px;
  font-weight: bold;
  font-family: 'Klampmono';
  line-height: 1.38;
}

.h4,
h4 {
  font-size: 24px;
  font-family: 'Klampmono';
  line-height: 1.38;
}

.h5,
h5 {
  font-size: 16px;
  line-height: 1.38;
}

.h6,
h6 {
  font-size: 16px;
  line-height: 1.38;
}

p {
  line-height: 1.38;
  margin-block-start: 16px;
  margin-block-end: 16px;
}

@media (max-width: 744px) {
  h1, .h1,
  h2, .h2,
  h3, .h3,
  h4, .h4,
  h5, .h5,
  h6, .h6 {
    margin-block-end: 8px;
  }

  p {
    margin-block-start: 8px;
    margin-block-end: 8px;
  }
}

img {
  font-size: 12px;
}

@media (max-width: 375px) {
  body {
    font-size: 18px;
  }

  .h1,
  h1 {
    font-size: 50px;
  }

  .h2,
  h2 {
    font-size: 24px;
  }

  .h3,
  h3 {
    font-size: 18px;
  }

  .h4,
  h4 {
    font-size: 18px;
  }
}

.highlight-heading {
  color: var(--color-brand-yellow);
  font-weight: bold;
}

.highlight-kicker {
  font-size: var(--s1);
  color: var(--color-heading);
  font-weight: normal;
}

label {
  color: var(--color-white);
  font-size: var(--s0);
  margin: 0;
  font-family: "Klampmono";
}

input, textarea, select {
  max-width: 100%;
  line-height: normal;
  border: 2px solid var(--color-gray);
  border-radius: var(--border-radius);
  padding: 0.3em 0.5em;
  margin: 0;
  transition: border-color 0.1s ease;
  font-size: var(--s0);
  background-color: var(--color-brand-blue);
  color: var(--color-white);
}

input::placeholder {
  color: var(--color-gray);
}

input {
  width: 20rem;
}

input:focus-visible, textarea:focus-visible {
  outline: 2px solid var(--color-contrast);
  outline-offset: 2px;
}

textarea {
  width: 30rem;
  max-width: 100%;
}

input[type="button"],
input[type="checkbox"],
input[type="radio"] {
  width: auto;
}

textarea,
select:not([disabled]),
input:not([disabled], [type="checkbox"], [type="radio"], [type="submit"]) {
  box-shadow: inset 2px 2px 3px #0f1b337a;
}

input:hover,
input:focus,
textarea:hover,
textarea:focus,
select:hover,
select:focus {
  border-color: var(--color-text);
}

fieldset {
  border-radius: 0;
  border: none;
  padding: 0;
}

legend {
  padding: 0;
  padding-inline-end: 1em;
  font-size: var(--s2);
  font-weight: bold;
}

input[type=checkbox] {
  vertical-align: baseline;
  margin-inline-end: 1ch;
}

input[type=checkbox] + label {
  font-family: "Klampmono";
  display: inline-block;
  font-weight: bold;
}

[hidden] {
  display: none !important;
}

/* Chrome, Safari, Edge, Opera */
input::-webkit-outer-spin-button,
input::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

/* Firefox */
input[type=number] {
  -moz-appearance: textfield;
}

.color-icon::before,
.color-icon--after::after {
  content: '';
  display: inline-block;
  height: 1em;
  aspect-ratio: 1;
  background-size: 100%;
  background-repeat: no-repeat;
  background-position: center;
  vertical-align: middle;
  transform: translateY(-0.1em);
}

.color-icon::before {
  margin-inline-end: 0.5ch;
}

.color-icon--after::after {
  margin-inline-start: 0.5ch;
}

.color-icon--after::before {
  content: none;
}

.color-icon:empty::before,
.color-icon--after:empty::after {
  margin-inline-end: 0;
  margin-inline-start: 0;
}

.color-icon--size-em1::before {
  font-size: var(--em1);
}

.color-icon--size-em2::before {
  font-size: var(--em2);
}

.color-icon--size-rem2::before {
  font-size: var(--rem2);
}

/*
  Icons SVGs
*/

.color-icon--loading::before,
.color-icon--loading::after {
  background-image: url("../website/loading.6f416b2d6094.gif");
}

.color-icon--swiper-previous::before,
.color-icon--swiper-previous::after {
  background-image: url("../website/swiper-previous.ed5677a92a4b.svg");
}

.color-icon--swiper-next::before,
.color-icon--swiper-next::after {
  background-image: url("../website/swiper-next.012708983c8e.svg");
}

.color-icon--delete::before,
.color-icon--delete::after {
  background-image: url("../website/delete.1ed73fe0630c.svg");
}

.color-icon--gallery-active::before,
.color-icon--gallery-active::after {
  background-image: url("../website/gallery-active.d15ba7685a6d.svg");
}

.color-icon--gallery-previous::before,
.color-icon--gallery-previous::after {
  background-image: url("../website/gallery-previous.218df0dd6701.svg");
}

.color-icon--gallery-next::before,
.color-icon--gallery-next::after {
  background-image: url("../website/gallery-next.b874b8a0588f.svg");
}

.color-icon--theme-digitalisierung::before {
  background-image: url("../website/Digitalisierung.e670c94274f1.svg");
}

.color-icon--theme-energie::before {
  background-image: url("../website/Energie.9bbb95a51ff2.svg");
}

.color-icon--theme-gesellschaft::before {
  background-image: url("../website/Gesellschaft.7d01ef6879e7.svg");
}

.color-icon--theme-gesundheit::before {
  background-image: url("../website/Gesundheit.1bd7bb9e6183.svg");
}

.color-icon--theme-kultur::before {
  background-image: url("../website/Kultur.6794f7fc540e.svg");
}

.color-icon--theme-naturwissenschaften::before {
  background-image: url("../website/Naturwissenschaften.76d58471f399.svg");
}

.color-icon--theme-technik::before {
  background-image: url("../website/Technik.fba67f0723c9.svg");
}

.color-icon--theme-umwelt::before {
  background-image: url("../website/Umwelt.864a99302926.svg");
}

.color-icon--theme-wirtschaft::before {
  background-image: url("../website/Wirtschaft.ba49a81f8e45.svg");
}

.icon::before,
.icon--after::after {
  content: '';
  display: inline-block;
  height: 1em;
  aspect-ratio: 1;
  mask-size: 100%;
  mask-repeat: no-repeat;
  mask-position: center;
  -webkit-mask-size: 100%;
  -webkit-mask-repeat: no-repeat;
  -webkit-mask-position: center;
  background-color: currentColor;
  vertical-align: middle;
  transform: translateY(-0.1em);
}

.icon::before {
  margin-inline-end: 0.5ch;
}

.icon--after::after {
  margin-inline-start: 0.5ch;
}

.icon--after::before {
  content: none;
}

.icon:empty::before,
.icon--after:empty::after {
  margin-inline-end: 0;
  margin-inline-start: 0;
}

.icon--size-em1::before {
  font-size: var(--em1);
}

.icon--size-em2::before {
  font-size: var(--em2);
}

.icon--color-accent::before,
.icon--color-accent::after {
  color: var(--color-accent);
}

.icon--spacing-bullet {
  display: flex;
}

.icon--spacing-bullet::before {
  margin-inline-end: 1.2ch;
  transform: translateY(0.2em);
  align-items: flex-start;
}

.icon--warning::before {
  mask-image: url("../website/warning.698425083ea5.svg");
  -webkit-mask-image: url("../website/warning.698425083ea5.svg");
}

.icon--share::before {
  mask-image: url("../website/share.06d0ed7419fe.svg");
  -webkit-mask-image: url("../website/share.06d0ed7419fe.svg");
}

.icon--burger::before {
  mask-image: url("../website/burger.6ea76cd18266.svg");
  -webkit-mask-image: url("../website/burger.6ea76cd18266.svg");
}

.icon--cookie::before {
  mask-image: url("../website/cookie.ff9206ead538.svg");
  -webkit-mask-image: url("../website/cookie.ff9206ead538.svg");
}

.icon--recent::before {
  mask-image: url("../website/recent.9f4aceafe9f1.svg");
  -webkit-mask-image: url("../website/recent.9f4aceafe9f1.svg");
}

.icon--recent2::before {
  mask-image: url("../website/recent2.e1414f722cdd.svg");
  -webkit-mask-image: url("../website/recent2.e1414f722cdd.svg");
}

.icon--bookmark-inactive::before {
  mask-image: url("../website/bookmark-inactive.835c4d433111.svg");
  -webkit-mask-image: url("../website/bookmark-inactive.835c4d433111.svg");
}

.icon--bookmark-active::before {
  mask-image: url("../website/bookmark-active.21f33a2ddc51.svg");
  -webkit-mask-image: url("../website/bookmark-active.21f33a2ddc51.svg");
}

.icon--info::before {
  mask-image: url("../website/info.5f9e1a6d4814.svg");
  -webkit-mask-image: url("../website/info.5f9e1a6d4814.svg");
}

.icon--export::before {
  mask-image: url("../website/export.0585d425a3dd.svg");
  -webkit-mask-image: url("../website/export.0585d425a3dd.svg");
}

.icon--map::before {
  mask-image: url("../website/map.2d2c3e801b46.svg");
  -webkit-mask-image: url("../website/map.2d2c3e801b46.svg");
}

.icon--list::before {
  mask-image: url("../website/list.0d97094ad7b8.svg");
  -webkit-mask-image: url("../website/list.0d97094ad7b8.svg");
}

.icon--locate::before {
  mask-image: url("../website/locate.6e5fea9d3ba4.svg");
  -webkit-mask-image: url("../website/locate.6e5fea9d3ba4.svg");
}

.icon--organization::before {
  mask-image: url("../website/organization.5f5a0af96c00.svg");
  -webkit-mask-image: url("../website/organization.5f5a0af96c00.svg");
}

.icon--route::before {
  mask-image: url("../website/route.faf22316dabc.svg");
  -webkit-mask-image: url("../website/route.faf22316dabc.svg");
}

.icon--send::before {
  mask-image: url("../website/send.76d9120f2057.svg");
  -webkit-mask-image: url("../website/send.76d9120f2057.svg");
}

.icon--location::before {
  mask-image: url("../website/location.9b683a7cf80f.svg");
  -webkit-mask-image: url("../website/location.9b683a7cf80f.svg");
}

.icon--station-digital::before {
  mask-image: url("../website/station-digital.66bf60f46bc4.svg");
  -webkit-mask-image: url("../website/station-digital.66bf60f46bc4.svg");
}

.icon--time::before {
  mask-image: url("../website/time.f7308d29c2fd.svg");
  -webkit-mask-image: url("../website/time.f7308d29c2fd.svg");
}

.icon--close::before {
  mask-image: url("../website/close.5382e11e7eb8.svg");
  -webkit-mask-image: url("../website/close.5382e11e7eb8.svg");
}

.icon--down::before {
  mask-image: url("../website/down.3c6e476948b8.svg");
  -webkit-mask-image: url("../website/down.3c6e476948b8.svg");
}

.icon--location::before {
  mask-image: url("../website/location.9b683a7cf80f.svg");
  -webkit-mask-image: url("../website/location.9b683a7cf80f.svg");
}

.icon--organization::before {
  mask-image: url("../website/organization.5f5a0af96c00.svg");
  -webkit-mask-image: url("../website/organization.5f5a0af96c00.svg");
}

.icon--station::before {
  mask-image: url("../website/station.90361e15a35f.svg");
  -webkit-mask-image: url("../website/station.90361e15a35f.svg");
}

.icon--reserved::before {
  mask-image: url("../website/reserved.28163f6800ac.svg");
  -webkit-mask-image: url("../website/reserved.28163f6800ac.svg");
}

.icon--savedfilter::before {
  mask-image: url("../website/savedfilter.0b6871f1a9e0.svg");
  -webkit-mask-image: url("../website/savedfilter.0b6871f1a9e0.svg");
}

.icon--file::before {
  color: white;
  mask-image: url("../website/file.565795b3ff2b.svg");
  -webkit-mask-image: url("../website/file.565795b3ff2b.svg");
}

.icon--external::before {
  mask-image: url("../website/external.4809ca123eba.svg");
  -webkit-mask-image: url("../website/external.4809ca123eba.svg");
}

.icon--station-digital::before {
  mask-image: url("../website/station-digital.66bf60f46bc4.svg");
  -webkit-mask-image: url("../website/station-digital.66bf60f46bc4.svg");
}

.icon--station::before {
  mask-image: url("../website/station.90361e15a35f.svg");
  -webkit-mask-image: url("../website/station.90361e15a35f.svg");
}

.icon--facebook::before,
.icon--social-facebook::before {
  mask-image: url("../website/social-facebook.1aef91b74fc7.svg");
  -webkit-mask-image: url("../website/social-facebook.1aef91b74fc7.svg");
}

.icon--instagram::before,
.icon--social-instagram::before {
  mask-image: url("../website/social-instagram.b9f8f0ae19f5.svg");
  -webkit-mask-image: url("../website/social-instagram.b9f8f0ae19f5.svg");
}

.icon--twitter::before,
.icon--social-twitter::before {
  mask-image: url("../website/social-twitter.de41c0f07f03.svg");
  -webkit-mask-image: url("../website/social-twitter.de41c0f07f03.svg");
}

.icon--linkedin::before,
.icon--social-linkedin::before {
  mask-image: url("../website/social-linkedin.a15213d6cabf.svg");
  -webkit-mask-image: url("../website/social-linkedin.a15213d6cabf.svg");
}

.icon--up::before {
  mask-image: url("../website/up.ef4232301b26.svg");
  -webkit-mask-image: url("../website/up.ef4232301b26.svg");
}

.icon--wait::before {
  mask-image: url("../website/wait.c801a19dd436.svg");
  -webkit-mask-image: url("../website/wait.c801a19dd436.svg");
}

.icon--forward::before {
  mask-image: url("../website/right.1ca525366eb7.svg");
  -webkit-mask-image: url("../website/right.1ca525366eb7.svg");
}

[dir="rtl"] .icon--forward::before {
  mask-image: url("../website/left.73b498b2eec0.svg");
  -webkit-mask-image: url("../website/left.73b498b2eec0.svg");
}

.icon--play::before {
  mask-image: url("../website/play.4c2f1d19f804.svg");
  -webkit-mask-image: url("../website/play.4c2f1d19f804.svg");
}

.icon--message-success::before {
  mask-image: url("../website/note-success.6b755d590341.svg");
  -webkit-mask-image: url("../website/note-success.6b755d590341.svg");
}

.icon--message-info::before {
  mask-image: url("../website/note-info.acbe0449c0b6.svg");
  -webkit-mask-image: url("../website/note-info.acbe0449c0b6.svg");
}

.icon--message-warning::before {
  mask-image: url("../website/note-warning.10208a2120f2.svg");
  -webkit-mask-image: url("../website/note-warning.10208a2120f2.svg");
}

.icon--message-error::before {
  mask-image: url("../website/note-error.0abeaff66eba.svg");
  -webkit-mask-image: url("../website/note-error.0abeaff66eba.svg");
}

.icon--success::before {
  mask-image: url("../website/success.6b755d590341.svg");
  -webkit-mask-image: url("../website/success.6b755d590341.svg");
}

.icon--phone::before {
  mask-image: url("../website/phone.9fdecd50cd47.svg");
  -webkit-mask-image: url("../website/phone.9fdecd50cd47.svg");
}

.icon--mail::before {
  mask-image: url("../website/mail.72447f10140c.svg");
  -webkit-mask-image: url("../website/mail.72447f10140c.svg");
}

.icon--home::before {
  mask-image: url("../website/home.c2e0f3f7f290.svg");
  -webkit-mask-image: url("../website/home.c2e0f3f7f290.svg");
}

.icon--filter::before {
  mask-image: url("../website/filter.498e18efbf97.svg");
  -webkit-mask-image: url("../website/filter.498e18efbf97.svg");
}

.icon--navigate-back::before {
  mask-image: url("../website/navigate-back.9cff8fe634dc.svg");
  -webkit-mask-image: url("../website/navigate-back.9cff8fe634dc.svg");
}

.icon--navigate-next::before {
  mask-image: url("../website/navigate-next.1d953921223e.svg");
  -webkit-mask-image: url("../website/navigate-next.1d953921223e.svg");
}

.icon--navigate-back::before {
  mask-image: url("../website/navigate-back.9cff8fe634dc.svg");
  -webkit-mask-image: url("../website/navigate-back.9cff8fe634dc.svg");
}

.icon--navigate-first::before {
  mask-image: url("../website/navigate-first.eb5f2985b80e.svg");
  -webkit-mask-image: url("../website/navigate-first.eb5f2985b80e.svg");
}

.icon--navigate-last::before {
  mask-image: url("../website/navigate-last.451e5c33f5fd.svg");
  -webkit-mask-image: url("../website/navigate-last.451e5c33f5fd.svg");
}

.icon--checkbox-checked::before {
  mask-image: url("../website/checkbox-checked.4556758e3bfe.svg");
  -webkit-mask-image: url("../website/checkbox-checked.4556758e3bfe.svg");
}

.icon--checkbox-disabled-checked::before {
  mask-image: url("../website/checkbox-disabled-checked.a08d4eb8f93a.svg");
  -webkit-mask-image: url("../website/checkbox-disabled-checked.a08d4eb8f93a.svg");
}

.icon--checkbox-unchecked::before {
  mask-image: url("../website/checkbox-unchecked.2395f4043e24.svg");
  -webkit-mask-image: url("../website/checkbox-unchecked.2395f4043e24.svg");
}

.icon--radio-checked::before {
  mask-image: url("../website/radio-checked.5a0ba7139f9d.svg");
  -webkit-mask-image: url("../website/radio-checked.5a0ba7139f9d.svg");
}

.icon--radio-unchecked::before {
  mask-image: url("../website/radio-unchecked.0d99ff1613f5.svg");
  -webkit-mask-image: url("../website/radio-unchecked.0d99ff1613f5.svg");
}

.icon--search::before {
  mask-image: url("../website/search.673f598aa334.svg");
  -webkit-mask-image: url("../website/search.673f598aa334.svg");
}

.heroheader {
  position: relative;
  background: #000;
  background-image: url("../website/LNF_KeyVisual_Background.131e3c6724d0.jpg");
  background-repeat: no-repeat;
  background-size: cover;
  height: 35rem;
  overflow: hidden;
}

.heroheader__image {
  position: absolute;
  top: 3rem;
  right: 3rem;
  width: 50%;
  object-fit: cover;
  object-position: top center;
}

.heroheader__text-container {
  position: absolute;
  top: 3rem;
  left: 0;
  width: 100%;
}

.heroheader__text {
  font-size: 96px;
  font-weight: bold;
  font-family: "Benelux";
  width: 28rem;
  max-width: 60%;
  line-height: 1.06;
  color: var(--color-brand-yellow);
  text-shadow: 1px 1px 4px var(--color-brand-dark-blue);
  margin-block-end: 0.3em;
  margin-block-start: 0.3em;
}

.heroheader__pre-text {
  font-family: "Benelux";
  font-size: 0.3em;
  margin-block-end: 1em;
}

@media (max-width: 480px) {
  .heroheader__text {
    font-size: 80px;
  }
}

@media (max-width: 1000px) {
  .heroheader__image {
    right: 0;
    object-fit: cover;
    height: 100%;
    object-position: left;
  }
}

@media (max-width: 375px) {
  .heroheader__image {
    top: 0;
    object-fit: contain;
    height: auto;
    width: 100%;
  }

  .heroheader__text-container {
    position: absolute;
    top: auto;
    bottom: 2rem;
    left: auto;
    right: auto;
    width: 100%;
  }

  .heroheader__text {
    font-size: 50px;
  }
}

.heading__capitalized {
  color: var(--color-brand-yellow);
  font-size: var(--s2);
  font-weight: bold;
  text-transform: uppercase;
}

.heading__postfix {
  color: var(--color-brand-yellow);
  font-size: var(--s1);
  font-weight: normal;
}

.inset-row {
  padding: 2rem 0;
}

.error-text {
  color: #ff9696;
}

.required {
  color: var(--color-brand-yellow);
  font-size: 1.5rem;
  line-height: 1;
}

.paragraph--contact {
  margin-inline-start: var(--s1);
  padding-inline-start: var(--s1);
  border-inline-start: 2px solid var(--color-brand-yellow);
}

.form {
  margin-inline-start: var(--s1);
  padding-inline-start: var(--s5);
  border-inline-start: 2px solid var(--color-brand-yellow);
}

.registrationlist {
  margin: 0;
  padding: 0;
  list-style-type: none;
}

.socialmedia {
  margin: 0;
  padding: 0;
  font-size: var(--s2);
  list-style-type: none;
}

.contactus {
  margin: 0;
  padding: 0;
  list-style-type: none;
}

.importantinfo {
  border: 1px solid var(--color-brand-yellow);
  color: var(--color-brand-yellow);
  font-size: 0.9em;
  padding: 0.5em;
  border-radius: var(--border-radius--big);
}

.importantinfo--light {
  border: 1px solid var(--color-contrast);
  color: var(--color-contrast);
}

.theme-illustration {
  mix-blend-mode: lighten;
}

@media (max-width: 800px) {
  .form {
    margin-inline-start: 0;
    padding-inline-start: 0;
    margin-block-start: var(--s1);
    padding-block-start: var(--s5);
    border-inline-start: none;
    border-block-start: 2px solid var(--color-brand-yellow);
  }
}

.layout--column-infobox {
  flex-shrink: 0;
  width: 300px;
  max-width: 100%;
}

.layout--column-main {
  flex-grow: 1;
  min-width: 0;
}

@media (max-width: 1100px) {
  .layout--column-infobox {
    width: 100%;
  }
}

.teasertext {
  margin-block-start: 2em;
  margin-block-end: 2em;
}

.headline-prefix {
  font-size: 0.5em;
  font-weight: normal;
}

.downloads {
  margin: 0;
  padding: 0;
  list-style-type: none;
}

.registrationlist {
  margin: 0;
  padding: 0;
  list-style-type: none;
}

.registrationlist a {
  word-break: break-all;
}

.radiobutton {
  border: 0 none !important;
  clip: rect(0.1rem, 0.1rem, 0.1rem, 0.1rem) !important;
  height: 0.1rem !important;
  overflow: hidden !important;
  padding: 0 !important;
  position: absolute !important;
  width: 0.1rem !important;
}

.radiobutton + label {
  color: var(--color-brand-yellow);
}

.radiobutton + label::before {
  color: var(--color-brand-yellow);
  margin-inline-end: 0.7em;
  content: '';
  display: inline-block;
  height: 1em;
  aspect-ratio: 1;
  mask-size: 100%;
  -webkit-mask-size: 100%;
  mask-repeat: no-repeat;
  -webkit-mask-repeat: no-repeat;
  mask-position: center;
  -webkit-mask-position: center;
  background-color: currentColor;
  vertical-align: middle;
  transform: translateY(-0.1em);
  mask-image: url("../website/radio-unchecked.0d99ff1613f5.svg");
  -webkit-mask-image: url("../website/radio-unchecked.0d99ff1613f5.svg");
}

.radiobutton:not([disabled]):hover + label::before,
.radiobutton:not([disabled]):focus + label::before {
  box-shadow: 0 0 8px #ffdd00, inset 0 0 4px #ffdd00;
  border-radius: 50%;
}

.radiobutton[disabled] + label::before {
  mask-image: url("../website/radio-disabled.7a525789ccb7.svg");
  -webkit-mask-image: url("../website/radio-disabled.7a525789ccb7.svg");
}

.radiobutton:checked + label::before {
  mask-image: url("../website/radio-checked.5a0ba7139f9d.svg");
  -webkit-mask-image: url("../website/radio-checked.5a0ba7139f9d.svg");
}

.checkbox {
  font-weight: bold;
  border: 0 none !important;
  clip: rect(0.1rem, 0.1rem, 0.1rem, 0.1rem) !important;
  height: 0.1rem !important;
  overflow: hidden !important;
  padding: 0 !important;
  position: absolute !important;
  width: 0.1rem !important;
}

.checkbox + label {
  font-weight: bold;
}

.checkbox + label::before {
  color: var(--color-brand-yellow);
  margin-inline-end: 0.7em;
  content: '';
  display: inline-block;
  height: 1em;
  aspect-ratio: 1;
  mask-size: 100%;
  -webkit-mask-size: 100%;
  mask-repeat: no-repeat;
  -webkit-mask-repeat: no-repeat;
  mask-position: center;
  -webkit-mask-position: center;
  vertical-align: middle;
  transform: translateY(-0.1em);
  background-image: url("../website/checkbox-unchecked.2395f4043e24.svg");
}

.checkbox:not(.checkbox--disabled-checked):hover + label::before {
  box-shadow: 0 0 8px #ffdd00, inset 0 0 4px #ffdd00;
  border-radius: 4px;
}

.checkbox:not(.checkbox--disabled-checked):focus-visible + label::before {
  box-shadow: 0 0 0 1px var(--color-brand-blue),0 0 0 .2rem var(--color-contrast);
  border-radius: 4px;
}

.checkbox:checked + label::before {
  background-image: url("../website/checkbox-checked.4556758e3bfe.svg");
}

.checkbox--inherited + label::before {
  background-image: url("../website/checkbox-nested.778574c3178a.svg");
}

.checkbox--inherited:checked + label::before {
  background-image: url("../website/checkbox-nested.778574c3178a.svg");
}

.checkbox--disabled-checked + label::before,
.checkbox--disabled-checked:checked + label::before {
  mask-image: url("../website/checkbox-disabled-checked.a08d4eb8f93a.svg");
  -webkit-mask-image: url("../website/checkbox-disabled-checked.a08d4eb8f93a.svg");
}

.input-reset {
  background: 0;
  cursor: pointer;
  display: flex;
  align-items: center;
  border: none;
  position: absolute;
  right: 0;
  top: 0;
  height: 100%;
  z-index: 1;
  width: 4ch;
}

.input-reset:hover,
.input-reset:focus {
  background-color: #ffffff26;
}

.input-reset::before {
  transform: none;
}

/* Sponsors */

.incontent-sponsors {
  background-color: var(--color-contrast);
  margin-block-start: var(--s9);
  border-radius: var(--border-radius--big);
  list-style: none;
  padding: var(--s0);
  margin: 0;
}

/* Sponsor Tags */

.lnf-tag {
  display: inline-block;
  font-size: 0.8rem;
  padding: 0.2rem 0.4rem;
  font-weight: 700;
  border-radius: var(--border-radius--medium);
  margin-right: 0.3rem;
  color: var(--color-contrast);
}

.lnf-tag--sponsor {
  background: var(--color-brand-yellow);
  color: var(--color-bg);
}

.lnf-tag--partner {
  background: var(--color-brand-yellow);
  color: var(--color-bg);
}

.startpagefilter input[name="bundesland"]:checked ~ details input[name="region"] + label::before {
  mask-image: url("../website/checkbox-disabled-checked.a08d4eb8f93a.svg");
  -webkit-mask-image: url("../website/checkbox-disabled-checked.a08d4eb8f93a.svg");
}

.startpagefilter .togglebar__content * {
  font-size: var(--s0);
}

.startpagefilter .filter__subdetails[open] {
  width: 100%;
}

.resultcounter--no-results {
  border-block-start: 2px var(--color-brand-blue) solid;
  height: 10rem;
  padding: var(--s2) var(--s0);
  font-size: 18px;
}

.videoplayer {
  width: 100%;
  padding-top: 56.25%;
  position: relative;
}

.videoplayer_iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.videoiframe {
  width: 100%;
  height: 100%;
  aspect-ratio: 16 / 9;
}

.semanticfieldset.semanticfieldset legend {
  border: 0 none !important;
  clip: rect(0.1rem, 0.1rem, 0.1rem, 0.1rem) !important;
  height: 0.1rem !important;
  overflow: hidden !important;
  padding: 0 !important;
  position: absolute !important;
  width: 0.1rem !important;
}

.separator {
  border-block-end: 1px solid var(--color-brand-blue);
  padding-block-end: 0.7em;
  margin-block-end: 0.7em;
}

.button {
  text-align: center;
  border: 2px solid var(--color-brand-yellow);
  border-radius: var(--border-radius--button);
  transition: background-color 0.2s ease, border-color 0.2s ease;
  background-color: transparent;
  color: var(--color-brand-yellow);
  text-transform: uppercase;
  text-decoration: none;
  padding: 1em;
  min-width: 130px;
  font-size: 16px;
  display: inline-block;
  line-height: 1.09;
  cursor: pointer;
  font-family: "Klampmono";
  font-weight: bold;
}

.button:hover,
.button:focus {
  border-color: var(--color-brand-highlight-yellow);
  color: var(--color-brand-highlight-yellow);
}

.button:focus-visible {
  outline: 2px solid var(--color-contrast);
  outline-offset: 2px;
}

.button--small {
  font-size: 14px;
  padding: 0.5em;
  border-radius: 11px;
}

/*
.button:active {
  box-shadow: inset 2px 2px 3px #0f1b337a;
} */

.button--link {
  background: none;
  border: none;
  text-decoration: underline;
  color: var(--color-brand-yellow);
  cursor: pointer;
}

.button--link:hover,
.button--link:focus {
  text-decoration: none;
}

.button--inactive {

}

.button--primary {
  background-color: var(--color-brand-yellow);
  color: var(--color-bg);
}

.button--primary:hover,
.button--primary:focus {
  color: var(--color-bg);
  border-color: var(--color-brand-highlight-yellow);
  background-color: var(--color-brand-highlight-yellow);
}

.button--fab {
  font-size: 1.5rem;
  min-width: auto;
  position: fixed;
  display: flex;
  justify-content: center;
  align-items: center;
  bottom: 1rem;
  right: 1rem;
  z-index: 99;
  border-radius: 50%;
  height: 2.5rem;
  width: 2.5rem;
  box-shadow: 0 3px 6px rgba(0,0,0,0.16), 0 3px 6px rgba(0,0,0,0.23);
  border: 0;
}

.button--fab-text {
  font-size: 1rem;
  width: auto;
  height: auto;
  border-radius: 3rem;
  padding: 0.5em 1em;
}

.button--detailsummary {
  position: relative;
}

.button--detailsummary[open] .button--detailsummary-toggle::before {
  background-image: url("../website/up.ef4232301b26.svg");
}

.button--detailsummary[open] .button--detailsummary-toggle + * {
  padding-block-start: var(--s-9);
  /* position: absolute;
  top: 100%;
  background-color: var(--color-brand-dark-blue); */
}

.button--detailsummary-toggle::before {
  content: '';
  margin-inline-end: 0.8ch;
  display: inline-block;
  width: 1.6ch;
  height: 1.6ch;
  -webkit-mask-size: 100%;
  mask-size: 100%;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: center;
  mask-position: center;
  vertical-align: baseline;
  transform: translateY(0.4ch);
  mask-image: url("../website/down.3c6e476948b8.svg");
  -webkit-mask-image: url("../website/down.3c6e476948b8.svg");
  background-color: currentColor;
}

details[open] .button--detailsummary-toggle::before {
  mask-image: url("../website/up.ef4232301b26.svg");
  -webkit-mask-image: url("../website/up.ef4232301b26.svg");
}

@media (max-width: 375px) {
  button {
    width: 100%;
  }
}

.badge {
  border-radius: 3rem;
  padding: 0.1rem;
  background-color: var(--color-brand-blue);
  color: var(--color-brand-yellow);
}

.badge--white {
  border-radius: 3rem;
  padding: 0.1rem;
  background-color: var(--color-text);
  color: var(--color-brand-red);
}

.breadcrumb {
  font-size: var(--s0);
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  padding: 0.4em 0;
  margin-block-end: 1em;
  gap: 0.5em;
  margin-right: 21rem;
}

.breadcrumb a {
  color: var(--color-text);
  text-decoration: none;
}

.breadcrumb a:hover,
.breadcrumb a:focus {
  text-decoration: underline;
}

@media (max-width: 1100px) {
  .breadcrumb {
    margin-right: 0;
  }
}

.breadcrumb--hidden {
  height: 35.86px;
  margin-block-end: 1rem;
}

.link {
  color: var(--color-brand-yellow);
}

.category {
  font-size: var(--s0);
}

.category__header {
  font-weight: bold;
}

.infobox {
  border-radius: var(--border-radius--big);
  font-size: 1rem;
}

.infobox > *:first-child {
  padding-block-start: 1em;
}

.infobox > * {
  padding: 2em 0 1rem;
}

.infobox > * + * {
  border-block-start: 2px solid var(--color-brand-inactive-blue);
}

.infobox__heading {
  font-size: var(--s1);
  color: var(--color-text);
}

.infobox__heading--small {
  font-weight: bold;
  font-size: var(--s0);
  color: var(--color-text);
}

@media (max-width: 1100px) {
  .infobox > .u--hidden-1100 + * {
    border-block-start: 0;
  }
}
.image {
  border-radius: var(--border-radius--big);
}

.image--large {
  width: 100%;
  height: 20rem;
}

.togglebar > summary {
  border-block-start: 2px solid var(--color-brand-blue);
  padding: 1em 0;
}

.togglebar__content {
  background-size: 100% 5em;
  padding: 0em 0.5em 1em 0.5em;
}

.togglebar-group {
  border-block-end: 2px solid var(--color-brand-inactive-blue);
}

.togglebar ul {
  margin: 0;
  padding: 1em;
  list-style: none;
}

.togglebar ul li + li{
  padding-block-start: var(--s5);
  margin-block-start: var(--s0);
  border-top: 1px dotted var(--color-brand-blue);
}

.contactus {
  margin: 0;
  padding: 0;
  list-style: none;
}

.contactus a {
  color: var(--color-text);
}

.more-content-list {
  list-style: none;
  margin: 0;
  padding: 0;
  border-block-start: 2px dotted var(--color-brand-blue);
}

.more-content-list li {

}

.more-content-list li + li {
  border-block-start: 2px dotted var(--color-brand-blue);
}

.delete {
  border-radius: var(--border-radius--medium);
  border: 1px solid var(--color-brand-red);
  padding: 0.5em;
  background-color: transparent;
  color: var(--color-brand-red);
}

.dialog-container {
  display: flex;
  position: fixed;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  z-index: 99;
}

.dialog-container[aria-hidden='true'] {
  display: none;
}

.dialog-overlay {
  position: fixed;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  background-color: rgba(0, 0, 0, 0.92);
  animation: fade-in 200ms both;
}

.dialog-content {
  background-color: var(--color-brand-blue);
  margin: auto;
  z-index: 2;
  position: relative;
  animation: fade-in 400ms 200ms both, slide-up 400ms 200ms both;
  padding: 1em;
  max-width: 90%;
  width: 600px;
  border-radius: 5px;
}

@media screen and (min-width: 700px) {
  .dialog-content {
    padding: 2em;
  }
}

@keyframes fade-in {
  from {
    opacity: 0;
  }
}

@keyframes slide-up {
  from {
    transform: translateY(10%);
  }
}

.dialog h1 {
  margin: 0;
  font-size: 1.25em;
}

.dialog-close {
  position: absolute;
  top: 0.5em;
  right: 0.5em;
  border: 0;
  padding: 0;
  background-color: transparent;
  font-weight: bold;
  font-size: 1.25em;
  width: 1.2em;
  height: 1.2em;
  text-align: center;
  cursor: pointer;
  transition: 0.15s;
  color: #fff;
}

@media screen and (min-width: 700px) {
  .dialog-close {
    top: 1em;
    right: 1em;
  }
}

.mapdialog {
}

.mapdialog__map {
  height: 100%;
  width: 100%;
}

.mapdialog .dialog-content {
  width: 95%;
  height: 90%;
  padding: 0;
}

.mapdialog .dialog-close {
  top: 0.5rem;
  font-size: 2rem;
  right: 0.5rem;
  z-index: 999;
  background-color: #fff;
  color: #000;
  border: 2px solid rgba(0,0,0,0.2);
  padding: 0;
  display: flex;
  justify-content: center;
  align-items: center;
}

.mapdialog .dialog-close:hover,
.mapdialog .dialog-close:focus {
  background-color: #f4f4f4;
}


@media (max-width: 800px) {
  .mapdialog .dialog-content {
    width: 100%;
    max-width: 100%;
    height: 100%;
    max-width: 100%;
  }
}

/* Inlay Map */

.mapinlay__map {
  height: 600px;
}

@media (max-width: 1100px) {
  .mapinlay__map {
    display: none;
    height: 400px;
  }
}

@media (min-width: 1101px) {
  .mapinlay__map--clicked {
    display: none !important;
  }
}

@media (max-width: 1100px) {
  .mapinlay__map--clicked {
    display: block !important;
  }
}
.important {
  color: var(--color-brand-yellow);
  font-size: var(--s0);
  font-weight: bold;
}

.news {
  display: flex;
  list-style: none;
  margin: 0;
  padding: 0;
  flex-wrap: wrap;
  gap: 1em;
}

.news li {
  width: calc(33.3333333% - 0.66666666666666rem);
}

.news a {
  border-radius: var(--border-radius--big);
  aspect-ratio: 1/1;
  display: block;
}

.news img {
  border-radius: var(--border-radius--big);
  display: block;
  height: 100%;
  width: 100%;
  object-fit: cover;
}

.gallery {
  width: 100%;
  position: relative;
  background: #000;
}

.gallery__sliderlink {
  text-decoration: none;
  display: flex;
  height: 100%;
}

.gallery__copyright {
  position: absolute;
  bottom: 0;
  z-index: 10;
  background-color: rgba(0, 0, 0, 0.700);
  padding: 0.2em 0.5em;
  font-size: 0.8rem;
  border-start-end-radius: 4px;
}

.gallery__warning {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 10;
  background-color: rgba(0, 0, 0, 0.700);
  padding: 0.2em 0.5em;
  font-size: 0.8rem;
  border-end-end-radius: 4px;
}

.gallery_sourcelink {
  font-size: 0.7rem;
}

.gallery__slidepicker {
  list-style: none;
  margin: 0;
  padding: 0;
  padding: 0.5rem 0.4rem;
  display: flex;
  gap: 1rem;
}

.gallery__slidepickeritem {
  display: flex;
  min-width: 0;
}

.gallery__slidepickerlink {
  background: none;
  padding: 0;
  border: 0;
  max-width: 100%;
}

.gallery__slideritem.gallery__slideritem {
  height: auto;
}

.gallery__sliderimage {
  border-radius: 4px;
  width: 100%;
}

.gallery__slidepickerimage {
  width: 4rem;
  max-width: 100%;
  object-fit: cover;
  height: auto;
  border-radius: 2px;
}

.gallery__slidepickerimage--video {
  background-size: 1.3rem;
  background-repeat: no-repeat;
  background-position: center;
  background-image: url("../website/play.4c2f1d19f804.svg");
  background-color: var(--color-brand-highlight-blue);
  padding-top: 56.25%;
}

.gallery__slidepickerlink {
  transition: box-shadow 0.1s ease;
  cursor: pointer;
}

.gallery__slidepickerlink:hover,
.gallery__slidepickerlink:focus {
  box-shadow: 0 0 0 2px var(--color-brand-dark-blue), 0 0 0 4px var(--color-brand-yellow);
}

.gallery__slidepickerlink-active {
  box-shadow: 0 0 0 2px var(--color-brand-dark-blue), 0 0 0 4px var(--color-brand-yellow);
}

.gallery__prev,
.gallery__next {
  position: absolute;
  top: 50%;
  margin-block-start: -2.5rem;
  z-index: 9;
  height: 5rem;
  width: 10%;
  display: flex;
  justify-content: center;
  align-content: center;
  border: 0;
  transition: background-position 0.1s ease, opacity 0.1s ease;
  cursor: pointer;
  opacity: 0.3;
}

.gallery__prev {
  left: 0;
  background: linear-gradient(to right, rgba(255, 255, 255, 0.287), transparent) no-repeat;
  background-position-x: -10rem;
}

.gallery__prev:hover,
.gallery__prev:focus,
.gallery__next:hover,
.gallery__next:focus {
  background-position-x: 0;
  opacity: 1;
}

.gallery__next {
  right: 0;
  background: linear-gradient(to left, rgba(255, 255, 255, 0.287), transparent) no-repeat;
  background-position-x: 10rem;
}

.swiper-button-disabled.swiper-button-disabled {
  opacity: 0.2;
  filter: grayscale(100%);
}

.gallery__standalone-picture {
  width: 100%;
  height: auto;
}

.contentteaser {
  text-decoration: none;
  color: inherit;
  padding: 1em;
  transition: background-color 0.2s ease;
}

.contentteaser:hover,
.contentteaser:focus {
  background-color: rgba(255, 255, 255, 0.05);
}

@media (max-width: 1100px) {
  .contentteaser {
    padding: 1em 0;
  }

  .contentteaser:hover,
  .contentteaser:focus {
    box-shadow: -1rem 0 0 0 rgba(255, 255, 255, 0.05), 1rem 0 0 0 rgba(255, 255, 255, 0.05);
  }
}

.contentteaser img {
  aspect-ratio: 16 / 9;
  object-fit: contain;
}

.contentteaser:hover h3,
.contentteaser:focus h3 {
  text-decoration: underline;
}

.contentteaser h3 {
  color: var(--color-brand-yellow)
}

.contentteaser_image-placeholder {
  width: 300px;
  max-width: 100%;
  aspect-ratio: 16 / 9;
  border-radius: 4px;
  mask-repeat: no-repeat;
  mask-position: center;
  color: var(--color-brand-highlight-blue);
  display: flex;
  justify-content: center;
  align-items: center;
  mask-size: 3rem;
  border: 2px solid var(--color-brand-yellow);
}

.contentteaser_image-placeholder--no-theme { 
  background-color: var(--color-brand-yellow);
}

.contentteaser_image-placeholder--smaller {
  width: 220px;
}

.more-content-list--stations .contentteaser_image-placeholder--no-theme {
  mask-image: url("../website/station.90361e15a35f.svg");
}

.more-content-list--locations .contentteaser_image-placeholder--no-theme {
  mask-image: url("../website/location.9b683a7cf80f.svg");
}

.more-content-list--organisations .contentteaser_image-placeholder--no-theme {
  mask-image: url("../website/organization.5f5a0af96c00.svg");
}

.startpagegallery {

}

.startpagegallery__slide-wrapper {
  position: relative;
}

.startpagegallery__sliderimage {
  width: 100%;
  height: 20rem;
  border-radius: 4px;
}

.startpagegallery__text {
  position: absolute;
  padding: 1rem;
  top: 0;
  left: 0;
  font-size: 1.5rem;
  font-weight: bold;
  color: var(--color-text);
}

.richtext {

}

.richtext h1,
.richtext h2,
.richtext h3,
.richtext h4,
.richtext h5,
.richtext h6 {

}

.richtext ul > li + li,
.richtext ol > li + li {
  margin-block-start: 0.4rem;
}

.richtext blockquote {

}

.richtext a {

}

.richtext table {
  border-collapse: collapse;
  margin-block: 3em;
}

.richtext thead th {
  text-align: left;
  background-color: var(--color-table-even-row);
}

.richtext thead {
  border-block-end: 1px solid var(--color-brand-blue);
}

.richtext th, td {
  padding: 0.4rem 0.7rem;
}

.richtext tbody tr:nth-child(even) td {
  background-color: var(--color-table-even-row);
}

/** Embedded images in content **/
.richtext figure {
  display: block;
  margin-block-end: var(--s3);
  display: flex;
  flex-direction: column;
  gap: var(--s-6);
}

.richtext figcaption {
  font-size: var(--s0);
  color: #b8bbc4;
}

.richtext figure.image-left,
.richtext figure.image-right {
  margin-block-end: var(--s1);
}

.image-left,
.image-right {
  max-width: 20rem;
}

.image-left {
  float: left;
  margin-inline-end: var(--s1);
}

.image-right {
  float: right;
  margin-inline-start: var(--s1);
}

/*
.richtext figure.large img {
  width: 100%;
}

.richtext figure.small {
  max-width: 14.2857em;
}

.richtext figure.medium {
  max-width: 40%;
}

.richtext figure.large {
  width: 100%;
}

.image-left {
  float: left;
  margin: 0 1em 1em 0;
}

.image-right {
  float: right;
  margin: 0 0 1em 1em;
}

.image-left.large,
.image-right.large {
  float: none;
  margin: 2em 0;
  padding: 0;
}

figure.large .title {
  border-block-start: solid 2px rgb(55,118,180);
  color: #013473;
  display: block;
  font-size: 1.15em;
  font-weight: bold;
  padding: 0.4em 0;
}

figure.large .title:after {
  border-block-end: solid 2px rgb(55,118,180);
  bottom: 0;
  content: "";
  display: block;
  padding: 0.4em 0;
  position: absolute;
  width: 100%;
}

figure.large .title + img {
  margin-block-end: 1em;
}

figure.large .title + img + figcaption {
  margin-block-start: -1em;
}

figure.large figcaption {
  padding: 0.5em 0 0.8em 0;
} */

.message {
  border: 1px solid var(--color-brand-yellow);
  color: var(--color-brand-yellow);
  padding: 0.5em;
}

.message--information {

}

.message--warning {

}

.messages {
  list-style-type: none;
  margin: 0;
  padding: 0;
  margin-block-end: 2em;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  gap: 1em;
}

.success,
.error,
.warning,
.info {
  padding: 0.4em 0.9em;
  font-weight: bold;
  border-radius: var(--border-radius);
  border: 2px solid #000;
}


.success {
  border-color: var(--color-success-bg);
  background-color: transparent;
  color: var(--color-success-bg);
}

.error {
  border-color: var(--color-error-bg);
  background-color: transparent;
  color: var(--color-error-bg);
}

.warning {
  border-color: var(--color-warning-bg);
  background-color: transparent;
  color: var(--color-warning-bg);
}

.info {
  border-color: var(--color-info-bg);
  background-color: transparent;
  color: var(--color-info-bg);
}

.header {
  background-color: var(--brand-dark-blue);
  color: var(--color-text);
  border-block-end: 2px solid var(--color-brand-blue);
  position: relative;
  z-index: 1;
  padding: 0.3em 0;
}

.header a {
  color: var(--color-brand-yellow);
  text-decoration: none;
}

.header__logo img {

}

.header__logo a {
  font-size: var(--s1);
  font-weight: bold;
  display: flex;
  gap: 1em;
  align-items: center;
}

.header__logo img {
  margin-block: 0.4rem;
  width: 9.5rem;
  height: auto;
}

.header__content {

}

@media (max-width: 800px) {
  .header__logo-text {
    display: none;
  }
}

.navigation {
  font-family: 'Klampmono';
}

.navigation__hamburger {
  min-width: auto;
  border-radius: var(--border-radius--medium);
  cursor: pointer;
  list-style: none;
  display: none;
  transition: background-color 0.1s ease;
  padding: 0;
}

.navigation__hamburger::-webkit-details-marker {
  display: none;
}

.navigation__hamburger span {
  display: block;
  width: 2em;
  height: 2em;
  background-image: url("../website/hamburger.b8aefcb23539.svg");
  background-repeat: no-repeat;
  background-position: center;
}

.navigation__hamburger:hover {
  /* background-color: var(--color-brand-highlight-yellow); */
}

.navigation[open] .navigation__hamburger span {
  background-image: url("../website/close.5382e11e7eb8.svg");
}

.navigation__hamburger::marker {
  content: '';
}

.navigation__content {
  display: flex;
  list-style-type: none;
  margin: 0;
  padding: 0;
  font-size: var(--s0);
  gap: 2em;
}

.navigation__content > li:last-child {
  border-inline-start: 1px solid var(--color-gray);
  padding-inline-start: 2rem;
}

.navigation__link {
  font-family: "Klampmono";
  font-weight: bold;
  font-size: 18px;
}

.navigation__link.icon::before {
  height: 24px;
  width: 24px;
}

@media (max-width: 1000px) {
  .navigation__item ul {
    padding: 0.5em;
  }

  .navigation__hamburger {
    display: block;
  }

  .navigation__content {
    position: absolute;
    left: 0;
    width: 100%;
    color: var(--color-text);
    z-index: 1;
    gap: 0;
    top: 100%;
    flex-direction: column;
    box-shadow: 0 10px 10px rgba(0, 0, 0, 0.65), 0 10px 16px rgba(0, 0, 0, 0.84);
    background-color: var(--color-brand-dark-blue);
  }

  .navigation__content > li + li {
    border-block-start: 2px solid var(--color-brand-blue);
  }

  .navigation__content a {
    font-size: var(--s1);
    padding: 0.8em 1.8em;
    display: block;
    transition: background-color 0.1s ease, color 0.1s ease;
    text-align: center;
  }

  .navigation__content a:hover,
  .navigation__content a:focus {
    background-color: var(--color-brand-blue);
  }

  .navigation__link::before {
    transform: translateY(0);
  }
}

.spacer {
  width: 70rem;
  margin-inline: auto;
  max-width: 100%;
  padding: 0 var(--s0);
}

.spacer--startpageheader {
  width: 85rem;
  padding: 0;
}

.spacer--startpagecontent {
  width: 52rem;
}

.spacer--startpagefilter {
  width: 28rem;
}

.sponsors {
  list-style: none;
  margin: 0;
  padding: 0;
  aspect-ratio: 300 / 250;
}

.sponsors img {
  height:auto;
}

@media (max-width: 1100px) {
  .sponsors {
    aspect-ratio: auto;
  }
}

.skiplinks a:not(:hover, :focus) {
  border: 0 none !important;
  clip: rect(0.1rem, 0.1rem, 0.1rem, 0.1rem) !important;
  height: 0.1rem !important;
  overflow: hidden !important;
  padding: 0 !important;
  position: absolute !important;
  width: 0.1rem !important;
}

.skiplinks {
  margin: 0;
  padding: 0;
  list-style-type: none;
}


.skiplinks a {
  position: absolute;
  padding: var(--s-5) var(--s-3);
  top: var(--s0);
  left: var(--s0);
}

.online_programm {
    border-inline-start: 1px solid var(--color-brand-yellow);
    margin-bottom: 4em;
    margin-left: 2em;
    padding-top: 1em;
    padding-bottom: 1em;
    padding-left: 2em;
}

.title_online_programm {
    margin-top: 0;
}

h2.title_online_programm {
    margin-bottom: 0.5em;
}

h3.title_online_programm {
    color: var(--color-text);
}

.iframe_online_programm {
    height: 360px;
}

/* .button_online_programm {
    height: 3em;
} */

.poweredby {
  padding: 1rem;
  margin-block-start: var(--s9);
  border-radius: var(--border-radius--big);
}

.poweredby__list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  row-gap: 15px;
  column-gap: 19px;
  flex-direction: row;
}

.poweredby__heading {
  text-align: center;
  font-size: var(--s1);
}

.poweredby a {
  display: block;
  border-radius: var(--border-radius--big);
}

.poweredby li {
  width: auto;
}

.poweredby img {
  display: block;
  height: 90px;
  margin-inline: auto;
  object-fit: cover;
  filter:  brightness(0) invert(1);
}

@media (max-width: 800px) {
  .poweredby__list {
    column-gap: 50px;
  }

  .poweredby img {
    margin: 0;
  }

  .poweredby li {
    display: flex;
    width: calc(50% - 4rem);
    flex-shrink: 0;
    flex-grow: 0;
  }

  .poweredby li:nth-child(odd) a {
    margin: 0;
    margin-inline-start: auto;
  }

  .poweredby li:nth-child(even) a {
    margin: 0;
    margin-inline-end: auto;
  }

  .poweredby li:nth-child(3) {
    margin: 0;
    width: calc(50% - 4rem);
  }

  .poweredby li:nth-child(4) {
    margin: 0;
    width: calc(50% - 4rem);
  }

  .poweredby li:nth-child(5) {
    margin: 0;
    width: calc(33% - 34px);
  }

  .poweredby li:nth-child(4) a {
    margin: 0;
    margin-inline-end: auto;
  }

  .poweredby li:nth-child(5) a {
    margin: 0;
    margin-inline-start: 0;
    margin-inline-end: auto;
  }
}

@media (max-width: 650px) {
  .poweredby__list {
    margin: 0 auto;
    display: inline-block;
  }

  .poweredby.poweredby li {
    width: 100%;
    margin-block-end: 2rem;
  }

  .poweredby.poweredby li:first-child {
    margin-block-end: 1rem;
    transform: translateX(10px);
  }

  .poweredby.poweredby li:nth-child(3) {
    margin-block-end: 1rem;
    transform: translateX(-20px);
  }

  .poweredby.poweredby li a {
    margin-inline: 0;
  }

  .poweredby.poweredby li:nth-child(4) a {
    margin-inline: auto;
  }

  .poweredby.poweredby li:last-child a {
    margin-inline: auto;
  }
}

/* required styles */

.leaflet-pane,
.leaflet-tile,
.leaflet-marker-icon,
.leaflet-marker-shadow,
.leaflet-tile-container,
.leaflet-pane > svg,
.leaflet-pane > canvas,
.leaflet-zoom-box,
.leaflet-image-layer,
.leaflet-layer {
	position: absolute;
	left: 0;
	top: 0;
	}
.leaflet-container {
	overflow: hidden;
	}
.leaflet-tile,
.leaflet-marker-icon,
.leaflet-marker-shadow {
	-webkit-user-select: none;
	   -moz-user-select: none;
	        user-select: none;
	  -webkit-user-drag: none;
	}
/* Prevents IE11 from highlighting tiles in blue */
.leaflet-tile::selection {
	background: transparent;
}
/* Safari renders non-retina tile on retina better with this, but Chrome is worse */
.leaflet-safari .leaflet-tile {
	image-rendering: -webkit-optimize-contrast;
	}
/* hack that prevents hw layers "stretching" when loading new tiles */
.leaflet-safari .leaflet-tile-container {
	width: 1600px;
	height: 1600px;
	-webkit-transform-origin: 0 0;
	}
.leaflet-marker-icon,
.leaflet-marker-shadow {
	display: block;
	}
/* .leaflet-container svg: reset svg max-width decleration shipped in Joomla! (joomla.org) 3.x */
/* .leaflet-container img: map is broken in FF if you have max-width: 100% on tiles */
.leaflet-container .leaflet-overlay-pane svg {
	max-width: none !important;
	max-height: none !important;
	}
.leaflet-container .leaflet-marker-pane img,
.leaflet-container .leaflet-shadow-pane img,
.leaflet-container .leaflet-tile-pane img,
.leaflet-container img.leaflet-image-layer,
.leaflet-container .leaflet-tile {
	max-width: none !important;
	max-height: none !important;
	width: auto;
	padding: 0;
	}

.leaflet-container img.leaflet-tile {
	/* See: https://bugs.chromium.org/p/chromium/issues/detail?id=600120 */
	mix-blend-mode: plus-lighter;
}

.leaflet-container.leaflet-touch-zoom {
	-ms-touch-action: pan-x pan-y;
	touch-action: pan-x pan-y;
	}
.leaflet-container.leaflet-touch-drag {
	-ms-touch-action: pinch-zoom;
	/* Fallback for FF which doesn't support pinch-zoom */
	touch-action: none;
	touch-action: pinch-zoom;
}
.leaflet-container.leaflet-touch-drag.leaflet-touch-zoom {
	-ms-touch-action: none;
	touch-action: none;
}
.leaflet-container {
	-webkit-tap-highlight-color: transparent;
}
.leaflet-container a {
	-webkit-tap-highlight-color: rgba(51, 181, 229, 0.4);
}
.leaflet-tile {
	filter: inherit;
	visibility: hidden;
	}
.leaflet-tile-loaded {
	visibility: inherit;
	}
.leaflet-zoom-box {
	width: 0;
	height: 0;
	-moz-box-sizing: border-box;
	     box-sizing: border-box;
	z-index: 800;
	}
/* workaround for https://bugzilla.mozilla.org/show_bug.cgi?id=888319 */
.leaflet-overlay-pane svg {
	-moz-user-select: none;
	}

.leaflet-pane         { z-index: 400; }

.leaflet-tile-pane    { z-index: 200; }
.leaflet-overlay-pane { z-index: 400; }
.leaflet-shadow-pane  { z-index: 500; }
.leaflet-marker-pane  { z-index: 600; }
.leaflet-tooltip-pane   { z-index: 650; }
.leaflet-popup-pane   { z-index: 700; }

.leaflet-map-pane canvas { z-index: 100; }
.leaflet-map-pane svg    { z-index: 200; }

.leaflet-vml-shape {
	width: 1px;
	height: 1px;
	}
.lvml {
	behavior: url(#default#VML);
	display: inline-block;
	position: absolute;
	}


/* control positioning */

.leaflet-control {
	position: relative;
	z-index: 800;
	pointer-events: visiblePainted; /* IE 9-10 doesn't have auto */
	pointer-events: auto;
	}
.leaflet-top,
.leaflet-bottom {
	position: absolute;
	z-index: 1000;
	pointer-events: none;
	}
.leaflet-top {
	top: 0;
	}
.leaflet-right {
	right: 0;
	}
.leaflet-bottom {
	bottom: 0;
	}
.leaflet-left {
	left: 0;
	}
.leaflet-control {
	float: left;
	clear: both;
	}
.leaflet-right .leaflet-control {
	float: right;
	}
.leaflet-top .leaflet-control {
	margin-top: 10px;
	}
.leaflet-bottom .leaflet-control {
	margin-bottom: 10px;
	}
.leaflet-left .leaflet-control {
	margin-left: 10px;
	}
.leaflet-right .leaflet-control {
	margin-right: 10px;
	}


/* zoom and fade animations */

.leaflet-fade-anim .leaflet-popup {
	opacity: 0;
	-webkit-transition: opacity 0.2s linear;
	   -moz-transition: opacity 0.2s linear;
	        transition: opacity 0.2s linear;
	}
.leaflet-fade-anim .leaflet-map-pane .leaflet-popup {
	opacity: 1;
	}
.leaflet-zoom-animated {
	-webkit-transform-origin: 0 0;
	    -ms-transform-origin: 0 0;
	        transform-origin: 0 0;
	}
svg.leaflet-zoom-animated {
	will-change: transform;
}

.leaflet-zoom-anim .leaflet-zoom-animated {
	-webkit-transition: -webkit-transform 0.25s cubic-bezier(0,0,0.25,1);
	   -moz-transition:    -moz-transform 0.25s cubic-bezier(0,0,0.25,1);
	        transition:         transform 0.25s cubic-bezier(0,0,0.25,1);
	}
.leaflet-zoom-anim .leaflet-tile,
.leaflet-pan-anim .leaflet-tile {
	-webkit-transition: none;
	   -moz-transition: none;
	        transition: none;
	}

.leaflet-zoom-anim .leaflet-zoom-hide {
	visibility: hidden;
	}


/* cursors */

.leaflet-interactive {
	cursor: pointer;
	}
.leaflet-grab {
	cursor: -webkit-grab;
	cursor:    -moz-grab;
	cursor:         grab;
	}
.leaflet-crosshair,
.leaflet-crosshair .leaflet-interactive {
	cursor: crosshair;
	}
.leaflet-popup-pane,
.leaflet-control {
	cursor: auto;
	}
.leaflet-dragging .leaflet-grab,
.leaflet-dragging .leaflet-grab .leaflet-interactive,
.leaflet-dragging .leaflet-marker-draggable {
	cursor: move;
	cursor: -webkit-grabbing;
	cursor:    -moz-grabbing;
	cursor:         grabbing;
	}

/* marker & overlays interactivity */
.leaflet-marker-icon,
.leaflet-marker-shadow,
.leaflet-image-layer,
.leaflet-pane > svg path,
.leaflet-tile-container {
	pointer-events: none;
	}

.leaflet-marker-icon.leaflet-interactive,
.leaflet-image-layer.leaflet-interactive,
.leaflet-pane > svg path.leaflet-interactive,
svg.leaflet-image-layer.leaflet-interactive path {
	pointer-events: visiblePainted; /* IE 9-10 doesn't have auto */
	pointer-events: auto;
	}

/* visual tweaks */

.leaflet-container {
	background: #ddd;
	outline-offset: 1px;
	}
.leaflet-container a {
	color: #0078A8;
	}
.leaflet-zoom-box {
	border: 2px dotted #38f;
	background: rgba(255,255,255,0.5);
	}


/* general typography */
.leaflet-container {
	font-family: "Helvetica Neue", Arial, Helvetica, sans-serif;
	font-size: 12px;
	font-size: 0.75rem;
	line-height: 1.5;
	}


/* general toolbar styles */

.leaflet-bar {
	box-shadow: 0 1px 5px rgba(0,0,0,0.65);
	border-radius: 4px;
	}
.leaflet-bar a {
	background-color: #fff;
	border-bottom: 1px solid #ccc;
	width: 26px;
	height: 26px;
	line-height: 26px;
	display: block;
	text-align: center;
	text-decoration: none;
	color: black;
	}
.leaflet-bar a,
.leaflet-control-layers-toggle {
	background-position: 50% 50%;
	background-repeat: no-repeat;
	display: block;
	}
.leaflet-bar a:hover,
.leaflet-bar a:focus {
	background-color: #f4f4f4;
	}
.leaflet-bar a:first-child {
	border-top-left-radius: 4px;
	border-top-right-radius: 4px;
	}
.leaflet-bar a:last-child {
	border-bottom-left-radius: 4px;
	border-bottom-right-radius: 4px;
	border-bottom: none;
	}
.leaflet-bar a.leaflet-disabled {
	cursor: default;
	background-color: #f4f4f4;
	color: #bbb;
	}

.leaflet-touch .leaflet-bar a {
	width: 30px;
	height: 30px;
	line-height: 30px;
	}
.leaflet-touch .leaflet-bar a:first-child {
	border-top-left-radius: 2px;
	border-top-right-radius: 2px;
	}
.leaflet-touch .leaflet-bar a:last-child {
	border-bottom-left-radius: 2px;
	border-bottom-right-radius: 2px;
	}

/* zoom control */

.leaflet-control-zoom-in,
.leaflet-control-zoom-out {
	font: bold 18px 'Lucida Console', Monaco, monospace;
	text-indent: 1px;
	}

.leaflet-touch .leaflet-control-zoom-in, .leaflet-touch .leaflet-control-zoom-out  {
	font-size: 22px;
	}


/* layers control */

.leaflet-control-layers {
	box-shadow: 0 1px 5px rgba(0,0,0,0.4);
	background: #fff;
	border-radius: 5px;
	}
.leaflet-control-layers-toggle {
	background-image: url("../layers.a6137456ed16.png");
	width: 36px;
	height: 36px;
	}
.leaflet-retina .leaflet-control-layers-toggle {
	background-image: url("../layers-2x.4f0283c6ce28.png");
	background-size: 26px 26px;
	}
.leaflet-touch .leaflet-control-layers-toggle {
	width: 44px;
	height: 44px;
	}
.leaflet-control-layers .leaflet-control-layers-list,
.leaflet-control-layers-expanded .leaflet-control-layers-toggle {
	display: none;
	}
.leaflet-control-layers-expanded .leaflet-control-layers-list {
	display: block;
	position: relative;
	}
.leaflet-control-layers-expanded {
	padding: 6px 10px 6px 6px;
	color: #333;
	background: #fff;
	}
.leaflet-control-layers-scrollbar {
	overflow-y: scroll;
	overflow-x: hidden;
	padding-right: 5px;
	}
.leaflet-control-layers-selector {
	margin-top: 2px;
	position: relative;
	top: 1px;
	}
.leaflet-control-layers label {
	display: block;
	font-size: 13px;
	font-size: 1.08333em;
	}
.leaflet-control-layers-separator {
	height: 0;
	border-top: 1px solid #ddd;
	margin: 5px -10px 5px -6px;
	}

/* Default icon URLs */
.leaflet-default-icon-path { /* used only in path-guessing heuristic, see L.Icon.Default */
	background-image: url("../marker-icon.2273e3d8ad92.png");
	}


/* attribution and scale controls */

.leaflet-container .leaflet-control-attribution {
	background: #fff;
	background: rgba(255, 255, 255, 0.8);
	margin: 0;
	}
.leaflet-control-attribution,
.leaflet-control-scale-line {
	padding: 0 5px;
	color: #333;
	line-height: 1.4;
	}
.leaflet-control-attribution a {
	text-decoration: none;
	}
.leaflet-control-attribution a:hover,
.leaflet-control-attribution a:focus {
	text-decoration: underline;
	}
.leaflet-attribution-flag {
	display: inline !important;
	vertical-align: baseline !important;
	width: 1em;
	height: 0.6669em;
	}
.leaflet-left .leaflet-control-scale {
	margin-left: 5px;
	}
.leaflet-bottom .leaflet-control-scale {
	margin-bottom: 5px;
	}
.leaflet-control-scale-line {
	border: 2px solid #777;
	border-top: none;
	line-height: 1.1;
	padding: 2px 5px 1px;
	white-space: nowrap;
	-moz-box-sizing: border-box;
	     box-sizing: border-box;
	background: rgba(255, 255, 255, 0.8);
	text-shadow: 1px 1px #fff;
	}
.leaflet-control-scale-line:not(:first-child) {
	border-top: 2px solid #777;
	border-bottom: none;
	margin-top: -2px;
	}
.leaflet-control-scale-line:not(:first-child):not(:last-child) {
	border-bottom: 2px solid #777;
	}

.leaflet-touch .leaflet-control-attribution,
.leaflet-touch .leaflet-control-layers,
.leaflet-touch .leaflet-bar {
	box-shadow: none;
	}
.leaflet-touch .leaflet-control-layers,
.leaflet-touch .leaflet-bar {
	border: 2px solid rgba(0,0,0,0.2);
	background-clip: padding-box;
	}


/* popup */

.leaflet-popup {
	position: absolute;
	text-align: center;
	margin-bottom: 20px;
	}
.leaflet-popup-content-wrapper {
	padding: 1px;
	text-align: left;
	border-radius: 12px;
	}
.leaflet-popup-content {
	margin: 13px 24px 13px 20px;
	line-height: 1.3;
	font-size: 13px;
	font-size: 1.08333em;
	min-height: 1px;
	}
.leaflet-popup-content p {
	margin: 17px 0;
	margin: 1.3em 0;
	}
.leaflet-popup-tip-container {
	width: 40px;
	height: 20px;
	position: absolute;
	left: 50%;
	margin-top: -1px;
	margin-left: -20px;
	overflow: hidden;
	pointer-events: none;
	}
.leaflet-popup-tip {
	width: 17px;
	height: 17px;
	padding: 1px;

	margin: -10px auto 0;
	pointer-events: auto;

	-webkit-transform: rotate(45deg);
	   -moz-transform: rotate(45deg);
	    -ms-transform: rotate(45deg);
	        transform: rotate(45deg);
	}
.leaflet-popup-content-wrapper,
.leaflet-popup-tip {
	background: white;
	color: #333;
	box-shadow: 0 3px 14px rgba(0,0,0,0.4);
	}
.leaflet-container a.leaflet-popup-close-button {
	position: absolute;
	top: 0;
	right: 0;
	border: none;
	text-align: center;
	width: 24px;
	height: 24px;
	font: 16px/24px Tahoma, Verdana, sans-serif;
	color: #757575;
	text-decoration: none;
	background: transparent;
	}
.leaflet-container a.leaflet-popup-close-button:hover,
.leaflet-container a.leaflet-popup-close-button:focus {
	color: #585858;
	}
.leaflet-popup-scrolled {
	overflow: auto;
	}

.leaflet-oldie .leaflet-popup-content-wrapper {
	-ms-zoom: 1;
	}
.leaflet-oldie .leaflet-popup-tip {
	width: 24px;
	margin: 0 auto;

	-ms-filter: "progid:DXImageTransform.Microsoft.Matrix(M11=0.70710678, M12=0.70710678, M21=-0.70710678, M22=0.70710678)";
	filter: progid:DXImageTransform.Microsoft.Matrix(M11=0.70710678, M12=0.70710678, M21=-0.70710678, M22=0.70710678);
	}

.leaflet-oldie .leaflet-control-zoom,
.leaflet-oldie .leaflet-control-layers,
.leaflet-oldie .leaflet-popup-content-wrapper,
.leaflet-oldie .leaflet-popup-tip {
	border: 1px solid #999;
	}


/* div icon */

.leaflet-div-icon {
	background: #fff;
	border: 1px solid #666;
	}


/* Tooltip */
/* Base styles for the element that has a tooltip */
.leaflet-tooltip {
	position: absolute;
	padding: 6px;
	background-color: #fff;
	border: 1px solid #fff;
	border-radius: 3px;
	color: #222;
	white-space: nowrap;
	-webkit-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	user-select: none;
	pointer-events: none;
	box-shadow: 0 1px 3px rgba(0,0,0,0.4);
	}
.leaflet-tooltip.leaflet-interactive {
	cursor: pointer;
	pointer-events: auto;
	}
.leaflet-tooltip-top:before,
.leaflet-tooltip-bottom:before,
.leaflet-tooltip-left:before,
.leaflet-tooltip-right:before {
	position: absolute;
	pointer-events: none;
	border: 6px solid transparent;
	background: transparent;
	content: "";
	}

/* Directions */

.leaflet-tooltip-bottom {
	margin-top: 6px;
}
.leaflet-tooltip-top {
	margin-top: -6px;
}
.leaflet-tooltip-bottom:before,
.leaflet-tooltip-top:before {
	left: 50%;
	margin-left: -6px;
	}
.leaflet-tooltip-top:before {
	bottom: 0;
	margin-bottom: -12px;
	border-top-color: #fff;
	}
.leaflet-tooltip-bottom:before {
	top: 0;
	margin-top: -12px;
	margin-left: -6px;
	border-bottom-color: #fff;
	}
.leaflet-tooltip-left {
	margin-left: -6px;
}
.leaflet-tooltip-right {
	margin-left: 6px;
}
.leaflet-tooltip-left:before,
.leaflet-tooltip-right:before {
	top: 50%;
	margin-top: -6px;
	}
.leaflet-tooltip-left:before {
	right: 0;
	margin-right: -12px;
	border-left-color: #fff;
	}
.leaflet-tooltip-right:before {
	left: 0;
	margin-left: -12px;
	border-right-color: #fff;
	}

/* Printing */

@media print {
	/* Prevent printers from removing background-images of controls. */
	.leaflet-control {
		-webkit-print-color-adjust: exact;
		print-color-adjust: exact;
		}
	}

.map-container {
  position: relative;
  border-radius: 3px;
  width: 100%;
  height: 30rem;
  background-color: #ddd;
  border-radius: var(--border-radius-medium);
  max-height: 90vh;
}

.map {
  z-index: 1;
  height: 100%;
  width: 100%;
  border-radius: var(--border-radius-medium);
}

.leaflet-container {
  background: #f2f2f2;
}

.program {
  display: flex;
}

.result-list {
  list-style: none;
  margin: 0;
  padding: 0;
}

.result-list li {
  border-block-end: 2px dotted var(--color-brand-blue);
  list-style: none;
  /* animation: 0.1s ease appear; */
}

@media (max-width: 1100px) {
  .result-list li {
    border-block-end: 2px solid var(--color-brand-inactive-blue);
  }
}

.result-list img {
  border-radius: 4px;
}

.result-list img:not([src]):not([srcset]) {
  position: relative;
  visibility: hidden;
}

.result-content {
  font-size: var(--s0);
  line-height: 1.4;
}

.filter__heading {
  color: var(--color-text);
  margin: 0;
  font-family: 'Benelux';
}

/*
.filter__content {
  box-shadow: 0 0 4px #000;
} */

.counterbadge {
  width: 3ch;
  height: 3ch;
  padding: 1ch;
  color: var(--color-brand-dark-blue);
  background-color: var(--color-gray);
  display: inline-flex;
  margin-left: 0.5rem;
  justify-content: center;
  align-items: center;
  border-radius: 5ch;
  font-weight: bold;
  font-size: 0.7rem;
  transform: translateY(-2px);
}

.counterbadge--white-red {
  color: var(--color-brand-red);
  background-color: var(--color-text);
}

.filter label {
  color: var(--color-brand-yellow);
  margin-bottom: 0.5em;
}

.nested-checkboxes {
  flex-wrap: wrap;
  justify-content: space-between;
  display: flex;
  flex-direction: row;
  position: relative;
}

.details > summary {
  list-style: none;
  cursor: pointer;
}

.details > summary::before {
  content: '';
  margin-inline-end: 0.8ch;
  display: inline-block;
  width: 1.6ch;
  height: 1.6ch;
  background-color: currentColor;
  mask-size: 100%;
  -webkit-mask-size: 100%;
  mask-repeat: no-repeat;
  -webkit-mask-repeat: no-repeat;
  mask-position: center;
  -webkit-mask-position: center;
  vertical-align: baseline;
  transform: translateY(0.4ch);
  mask-image: url("../website/right.1ca525366eb7.svg");
  -webkit-mask-image: url("../website/right.1ca525366eb7.svg");
}

.details[open] > summary::before {
  mask-image: url("../website/down.3c6e476948b8.svg");
  -webkit-mask-image: url("../website/down.3c6e476948b8.svg");
}

.filter__subdetails > .filter__subsummary::before {
  mask-image: url("../website/down.3c6e476948b8.svg");
  -webkit-mask-image: url("../website/down.3c6e476948b8.svg");
}

.filter__subdetails[open] > .filter__subsummary::before {
  mask-image: url("../website/up.ef4232301b26.svg");
  -webkit-mask-image: url("../website/up.ef4232301b26.svg");
}

.details > summary::-webkit-details-marker {
  display: none;
}

.filter .details[open] {
  width: 100%;
}

.filter .details[open] > .filter__subsummary {
  margin-block-start: var(--s-7);
  margin-block-end: var(--s-7);
}

.filter__subdetails {
  /* width: 100%; */
}

.result-list b {
  background-color: var(--color-brand-blue);
  background-color: #aa013291;
  border-radius: 3px;
}

.filter__text-filter {
  background-color: var(--color-bg);
  color: var(--color-gray);
  font-size: var(--s0);
  padding: 0.5rem 0.7rem;
  margin-block: var(--s-3);
  border-color: var(--color-gray);
  width: 100%;
}

.filter__text-filter::placeholder {
  color: var(--color-gray);
}

.filter__content-group {
  font-family: "Klamp";
  font-size: 20px;
  border-block-start: 2px solid var(--color-brand-blue);
  padding-block: var(--s-3);
  font-weight: bold;
  color: var(--color-brand-yellow);
}

.filter__content-group--no-border {
  padding-block: var(--s-3);
}

.filter__reset {
  margin-top: 1rem;
}

.filter ul {
  list-style: none;
  margin: 0;
  padding: 0;
}

.filter {
  width: 20rem;
}

.filtercontent {
  /* position: sticky;
  top: 0; */
}

.results {
  flex-grow: 1;
}

@keyframes appear {
  from {
    opacity: 0.9;
    transform: scale(0.95);
  }

  to {
    opacity: 1;
    transform: scale(1);
  }
}

.program__keywords-headline {
  padding-top: var(--s1);
  border-top: 2px dotted var(--color-brand-blue);
  color: var(--color-text);
  font-size: var(--s0);
}

.program__keyword input {
  border: 0 none !important;
  clip: rect(0.1rem, 0.1rem, 0.1rem, 0.1rem) !important;
  height: 0.1rem !important;
  overflow: hidden !important;
  padding: 0 !important;
  position: absolute !important;
  width: 0.1rem !important;
}

.program__keyword label {
  color: white;
  cursor: pointer;
  background-color: var(--color-brand-blue);
  border-radius: 4px;
  padding: 0.2rem;
}

.program__keyword input:checked + label {
  color: #000;
  background-color: var(--color-brand-yellow);
}

.programtabs {
  border-block-end: 2px solid var(--color-gray);
}

.programtab {
  color: var(--color-brand-highlight-blue);
  background: none;
  padding: 10px 11px;
  border: 2px solid var(--color-brand-inactive-blue);
  border-radius: 0;
  min-width: 115px;
  border-top-right-radius: var(--border-radius);;
  border-top-left-radius: var(--border-radius);;
  border-block-end: none;
  cursor: pointer;
  font-weight: bold;
  font-family: "Klampmono";
  font-size: 14px;
  line-height: 109%;
  text-transform: uppercase;
  transition: color 0.2s ease, background-color 0.2s ease;
}

.programtab:hover,
.programtab:focus {
  border-block-end: none;
  background-color: var(--color-brand-inactive-blue);
  color: var(--color-brand-dark-blue);
  border-color: var(--color-brand-inactive-blue);
}

.programtab-active.programtab-active {
  cursor: default;
  color: var(--color-brand-dark-blue);
  background-color: var(--color-brand-highlight-blue);
  border-color: var(--color-brand-highlight-blue);
}

.recentbadge {
  border: 1px solid var(--color-brand-yellow);
  border-radius: 4px;
  margin-top: 0.2rem;
  width: fit-content;
  font-size: var(--s0);
  color: var(--color-brand-yellow);
  padding: 0 var(--s-7);
  text-transform: uppercase;
  font-weight: normal;
  padding-top: 0.1rem;
  box-shadow: 0px 0px 5px 2px rgba(215, 188, 0, 0.3);
}

/*
.recentbadge::before {
  width: 0.8rem;
  height: 0.8rem;
  transform: translateY(0.1em);
} */

.tabcounter,
.resultcounter {
  color: var(--color-offtext-on-blue);
}

.resultcounter {
  background-color: var(--color-brand-blue);
  color: var(--color-brand-yellow);
  padding: 0.5rem 1rem;
  font-size: var(--s0);
}

.filter__subsummary {
  color: var(--color-gray);
  font-weight: bold;
  font-family: "Klampmono";
  position: absolute;
  top: 0;
  right: 0;
}

.filter__subcontent {
  padding-top: 0.5rem;
}

.filter-checkbox.filter-checkbox {
  display: flex;
}

.filter-checkbox.filter-checkbox::before {
  transform: translateY(0.21em);
}

.visibility-hidden {
  visibility: hidden;
}

.filtercontent,
.filtercontent label {
  font-size: 1rem;
}

.actionbutton {
  background: none;
  border: none;
  border-radius: var(--border-radius);
  padding: 0.3rem 0.5rem;
  text-decoration: underline;
  cursor: pointer;
  transition: background-color 0.1s ease;
  color: var(--color-text);
  display: inline-block;
  box-shadow: none;
}

.pagination-button {
  padding: 0.3rem 0.5rem;
  display: inline-block;
}

.u--padding-vertical-actionbutton {
  padding: 0.3rem 0 !important;
}

.organisationinfo,
.locationinfo {
  font-size: var(--s0);
}

.searchsettings {
  visibility: hidden;
}

.searchsettings__submit {
  visibility: hidden;
}

@media (max-width: 1100px) {
  .map-container {
    height: 40rem;
    max-height: 80vh;
  }

  .filter {
    padding: 1rem;
    padding-block-end: 6rem;
    background-color: var(--color-brand-dark-blue);
    position: fixed;
    z-index: 99;
    top: 0;
    left: 0;
    overflow-y: auto;
    width: 100% !important;
    height: 100%;
  }

  .filter:not(.filter--open) {
    display: none;
  }

  .programtabs {
    display: flex;
    flex-direction: column;
    margin-block-end: var(--s0);
  }


  .programtab:hover,
  .programtab:focus,
  .programtab {
    font-size: var(--s1);
    border-bottom: 2px solid var(--color-gray);
    border-radius: var(--border-radius);
    margin-bottom: 1em;
  }

  .searchsettings {
    visibility: visible;
  }

  .searchsettings__submit {
    visibility: visible;
  }
}

.leaflet-popup-content-wrapper, .leaflet-popup-tip {
  background-color: var(--color-brand-dark-blue);
  color: var(--color-text);
}

.map-tooltip__header {
  margin: 0;
  font-size: var(--s0);
  font-weight: bold;
}

.map-tooltip {
  font-size: var(--s-1);
}

.map-tooltip a {
  color: var(--color-brand-yellow);
}

.leaflet-control-locate-location-arrow {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 100%;
  width: 100%;
}

.leaflet-control-locate-location-arrow::before {
  background-image: url("../website/locate.6e5fea9d3ba4.svg");
  content: '';
  display: inline-block;
  width: var(--s2);
  height: var(--s2);
  background-size: 100%;
  background-repeat: no-repeat;
  vertical-align: baseline;
}

.leaflet-control-locate-spinner {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 100%;
  width: 100%;
}

.leaflet-control-locate-spinner::before {
  background-image: url("../website/loading.6f416b2d6094.gif");
  content: '';
  display: inline-block;
  width: var(--s2);
  height: var(--s2);
  background-size: 100%;
  background-repeat: no-repeat;
  vertical-align: baseline;
}

.leaflet-popup-close-button {
  display: none;
}

.footer {
  background-color: var(--color-brand-dark-blue);
  padding: 5em 0;
  margin-block-start: 8em;
  font-size: 16px;
}

.footer ul {
  list-style: none;
  margin: 0;
  padding: 0;
  text-align: center;
  display: flex;
  gap: 3em;
  justify-content: center;
}

.footer a {
  color: var(--color-brand-yellow);
  text-decoration: none;
  font-family: "Klampmono";
}

.footer a:focus,
.footer a:hover {
  text-decoration: underline;
}

@media (max-width: 800px) {
  .footer ul {
    flex-direction: column;
  }
}

.searchwidget__button {
    border-top-left-radius: 0;
    border-bottom-left-radius: 0;
    min-width: auto;
    font-size: 1.5rem;
    padding-block: 0.4rem;
}

.searchwidget__input {
    border-top-right-radius: 0;
    border-bottom-right-radius: 0;
    border-right: none;
    background-color: var(--color-bg);
    color: var(--color-gray);
    font-size: var(--s0);
    padding: 0.5rem 0.7rem;
    margin-block: var(--s-3);
    border-color: var(--color-gray);
    width: 100%;
}

@media only screen and (max-width: 375px) {
    .searchwidget__button {
        width: initial;
    }
}

@media only screen and (max-width: 1100px) {
    .searchwidget {
        max-width: 375px;
    }
}
.stateselection h2 {
    margin-bottom: 32px;
}

.stateselection__list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-evenly;
    row-gap: 40px;
    column-gap: 50px;
    flex-direction: row;
}

.stateselection li {
    list-style: none;
}

.stateselection a {
    display: flex;
    justify-content: center;
    align-items: center;
    text-transform: capitalize;
    width: 20rem;
    height: 8rem;
    font-size: var(--s3);
    color: var(--color-link);
    padding: 1em 0.5em;
}

.stateselection a:hover {
    background-color: rgba(255, 255, 255, 0.05);
}

@media (max-width:375px) {
    .stateselection a {
        font-size: var(--s0);
        width: 16rem;
        height: 7rem;
    }
}
/* time issue, couldn't add individual classes to all ul elements */
.reminders .togglebar__content li + li {
  border-block-start: 2px solid var(--color-brand-inactive-blue);
}
.reminders .togglebar + .togglebar {
  border-block-start: 2px solid var(--color-brand-inactive-blue);
}

[class^='stack'], [class*=' stack'] {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  gap: var(--gap, 0);
}

[class^='stack'] > *, [class*=' stack'] > * {
  margin-block: 0;
  max-width: 100%;
}

/* .stack:only-child {
  block-size: 100%;
} */

.stack--auto-width {
  align-items: flex-start;
}

.stack0 {
  --gap: 0;
}

.stack9 {
  --gap: var(--space, var(--s9, 1rem));
}

.stack8 {
  --gap: var(--space, var(--s8, 1rem));
}

.stack7 {
  --gap: var(--space, var(--s7, 1rem));
}

.stack6 {
  --gap: var(--space, var(--s6, 1rem));
}

.stack5 {
  --gap: var(--space, var(--s5, 1rem));
}

.stack4 {
  --gap: var(--space, var(--s4, 1rem));
}

.stack3 {
  --gap: var(--space, var(--s3, 1rem));
}

.stack2 {
  --gap: var(--space, var(--s2, 1rem));
}

.stack1 {
  --gap: var(--space, var(--s1, 1rem));
}

.stack {
  --gap: var(--space, var(--s0, 1rem));
}

.stack-1 {
  --gap: var(--space, var(--s-1, 1rem));
}

.stack-2 {
  --gap: var(--space, var(--s-2, 1rem));
}

.stack-3 {
  --gap: var(--space, var(--s-3, 1rem));
}

.stack-4 {
  --gap: var(--space, var(--s-4, 1rem));
}

.stack-5 {
  --gap: var(--space, var(--s-5, 1rem));
}

.stack-6 {
  --gap: var(--space, var(--s-6, 1rem));
}

.stack-7 {
  --gap: var(--space, var(--s-7, 1rem));
}

.stack-8 {
  --gap: var(--space, var(--s-8, 1rem));
}

.stack-9 {
  --gap: var(--space, var(--s-9, 1rem));
}

[class^='cstack--exception'], [class*=' cstack--exception'],
[class^='cstack--exception'] + *, [class*=' cstack--exception'] + * {
  margin-block-start: var(--gap-exception, 0);
}

.cstack--exception0,
.cstack--exception0 + *,
.cstack--exception-before0,
.cstack--exception-after0 + * {
  --gap-exception: calc(-1 * var(--gap));
}

.cstack--exception6,
.cstack--exception6 + * {
  --gap-exception: calc(-1 * calc(var(--gap) - var(--s6)));
}

.cstack--exception5,
.cstack--exception5 + * {
  --gap-exception: calc(-1 * calc(var(--gap) - var(--s5)));
}

.cstack--exception4,
.cstack--exception4 + * {
  --gap-exception: calc(-1 * calc(var(--gap) - var(--s4)));
}

.cstack--exception3,
.cstack--exception3 + * {
  --gap-exception: calc(-1 * calc(var(--gap) - var(--s3)));
}

.cstack--exception2,
.cstack--exception2 + * {
  --gap-exception: calc(-1 * calc(var(--gap) - var(--s2)));
}

.cstack--exception1,
.cstack--exception1 + * {
  --gap-exception: calc(-1 * calc(var(--gap) - var(--s1)));
}

.cstack--exception,
.cstack--exception + * {
  --gap-exception: calc(-1 * calc(var(--gap) - var(--s0)));
}

.cstack--block-space-before {
  margin-block-start: auto;
}

.cstack--block-space-after {
  margin-block-end: auto;
}

.cstack--noshrink {
  flex-shrink: 0;
}

.stack--row {
  display: flex;
  flex-direction: row;
}

.stack--row > * {
  margin-block-start: 0;
  margin-block-end: 0;
  max-width: auto;
}

.stack--align-baseline {
  align-items: baseline;
}

.stack--align-top {
  align-items: flex-start;
}

.stack--align-center {
  align-items: center;
}

.stack--align-end {
  align-items: end;
}

.stack--justify-center {
  justify-content: center;
}

.stack--justify-space-between {
  justify-content: space-between;
}

.stack--wrap {
  flex-wrap: wrap;
}

.cstack--inline-space-before {
  margin-inline-start: auto;
}

.cstack--inline-space-after {
  margin-inline-end: auto;
}

@media (max-width: 1100px) {
  .stack--column-1100 {
    flex-direction: column;
  }
}

@media (max-width: 600px) {
  .stack--column-600 {
    flex-direction: column;
  }
}

@media (max-width: 450px) {
  .stack--column-450 {
    flex-direction: column;
  }
}

.u--reset-list {
  margin: 0;
  padding: 0;
  list-style-type: none;
}

.u--js .u--hidden-if-js {
  display: none !important;
}

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

.u--color-highlight {
  color: var(--color-brand-yellow);
}

.u--highlight-color {
  color: var(--color-brand-yellow);
  font-weight: normal;
}

.u--first-no-block-margin > :first-child {
  margin-block-start: 0 !important;
}

.u--prevent-flex-expansion {
  flex-grow: 1;
  min-width: 0;
}

.u--word-break {
  word-break: break-word;
}

.hidden {
  display: none !important;
}

.u--hidden-1100 {
  @media (max-width: 1100px) {
    display: none !important;
  }
}

.u--show-1100 {
  @media (max-width: 1100px) {
    display: block !important;
  }
}

.u--visually-hidden {
  border: 0 none !important;
  clip: rect(0.1rem, 0.1rem, 0.1rem, 0.1rem) !important;
  height: 0.1rem !important;
  overflow: hidden !important;
  padding: 0 !important;
  position: absolute !important;
  width: 0.1rem !important;
}

.u--hide-empty-children > *:empty {
  display: none;
}

.u--center {
  display: flex;
  align-items: center;
  justify-content: center;
}

.u--margin-block-none {
  margin-block: 0;
}

.u--margin-auto {
  margin-inline-start: auto;
  margin-inline-end: auto;
}

.u--margin-top {
  margin-block-start: var(--s0);
}

.u--margin-top-5 {
  margin-block-start: var(--s5);
}

.u--margin-bottom {
  margin-block-end: var(--s0);
}

.u--margin-bottom--9 {
  margin-block-end: var(--s-9);
}

.u--margin-bottom-5 {
  margin-block-end: var(--s5);
}

.u--margin-h2 {
  margin-block-start: 2em;
  margin-block-end: 0.8em;
}


.u--marker-bold li::marker {
    font-weight: bold;
}


.u--offtext {
  color: var(--color-offtext);
}

.u--offtext-on-blue {
  color: var(--color-offtext-on-blue);
}

.u--text-size-0 {
  font-size: var(--s0);
}

.u--text-bold {
  font-weight: bold;
}

.u--hidden {
  display: none !important;
}

.u--shown {
  display: block !important;
}

@media (max-width: 800px) {
  .u--hidden\@800 {
    display: none !important;
  }

  .u--shown\@800 {
    display: block !important;
  }
}

@media print {
  :root {
    --color-brand-yellow: #000;
    --color-text: #000;
    --color-offtext: rgb(37, 37, 37);
    --color-brand-highlight-yellow: #000;
    --color-brand-red: #fff;
    --color-brand-blue: #ddd;
    --color-brand-dark-blue: #fff;
    --color-brand-highlight-blue: #fff;
    --color-heading: var(--color-brand-yellow);
    --color-link: var(--color-brand-yellow);
    --color-bg: var(--color-brand-dark-blue);
    --color-bg-footer: var(--color-brand-red);
    --color-contrast: #fff;
    --color-offtext-on-blue: rgb(37, 37, 37);
    --color-button: #0f1b33;
    --color-button-hover: #dfe4ee;
    --color-button-active: #e1e7f2;
    --color-gray: #616161;
    --color-success-text: #2c6616;
    --color-success-bg: #000;
    --color-success-accent: #000;
    --color-error-text: #000;
    --color-error-bg: #000;
    --color-error-accent: #000;
    --color-warning-text: #000;
    --color-warning-bg: #000;
    --color-warning-accent: #000;
    --color-info-text: #000;
    --color-info-bg: #000;
    --color-info-accent: #000;
    --color-table-even-row: #fff;
    --ratio: 1.1;
  }

  [class^='icon']::before, [class*=' icon']::before {
    -webkit-print-color-adjust: exact !important;
    color-adjust: exact !important;
    filter: brightness(0);
  }
  /* .result-list li {
    break-inside: avoid;
  } */

  .theme-illustration {
    mix-blend-mode: normal;
  }

  /* print (especially in chrome) has severe issues with display flex & gap properties, resulting in printing 32000 pages if not overwritten by display block/unsetting gap. */
  [class^='stack'], [class*=' stack'] {
    display: block;
    gap: unset;
  }

  [class^='stack'] > * + *, [class*=' stack'] > * + * {
    margin-block-start: var(--gap);
  }

  .stack--row {
    display: flex !important;
    flex-direction: row !important;
  }

  .up--block {
    display: block !important;
  }

  [class^='stack--column'], [class*=' stack--column'] {
    display: block !important;
  }

  .programtab:not(.programtab-active) {
    display: none;
  }

  .programtab-active {
    border-bottom: 1px solid #000 !important;
    background: none;
    text-align: left;
    font-weight: bold;
  }

  .details > summary {
    list-style: revert;
  }

  .details > summary::-webkit-details-marker {
    display: initial;
  }

  .breadcrumb li:first-child {
    display: none !important;
  }

  .breadcrumb li::before {
    content: '>';
  }

  .breadcrumb a::before {
    display: none !important;
  }

  .heroheader,
  footer,
  .startpagefilter,
  .button,
  .header,
  .grecaptcha-badge {
    display: none !important;
  }

  /* program */
  .pagination,
  .filter,
  .searchsettings {
    display: none !important;
  }

  /* detail */
  .gallery__slidepicker {
    display: none !important;
  }

  /* reminders */
  .save-reminders,
  .forgot-reminders {
    display: none !important;
  }
}

/* first for specifity */

/* order shouldn't matter with the following modules */

/* last for specifity */

