@charset "UTF-8";
@layer reset {
  *,
  *::before,
  *::after {
    box-sizing: border-box;
  }
  * {
    margin: 0;
  }
  @media (prefers-reduced-motion: no-preference) {
    html {
      interpolate-size: allow-keywords;
    }
  }
  body {
    line-height: 1.5;
    -webkit-font-smoothing: antialiased;
  }
  img,
  picture,
  video,
  canvas,
  svg {
    display: block;
    max-width: 100%;
  }
  input,
  button,
  textarea,
  select {
    font: inherit;
  }
  p,
  h1,
  h2,
  h3,
  h4,
  h5,
  h6,
  p,
  ul,
  ol,
  figure {
    margin: 0;
  }
  p {
    text-wrap: pretty;
  }
  h1,
  h2,
  h3,
  h4,
  h5,
  h6 {
    text-wrap: pretty;
  }
  #root,
  #__next {
    isolation: isolate;
  }
}
@font-face {
  font-family: "poppins";
  font-display: swap;
  font-weight: 300;
  font-style: normal;
  src: url(/build/fonts/poppins-300.39576fe9.woff2) format("woff2");
}
@font-face {
  font-family: "poppins";
  font-display: swap;
  font-weight: 400;
  font-style: normal;
  src: url(/build/fonts/poppins-400.405055dd.woff2) format("woff2");
}
@font-face {
  font-family: "lexend";
  font-display: swap;
  font-weight: 300;
  font-style: normal;
  src: url(/build/fonts/lexend-300.5dc0fe12.woff2) format("woff2");
}
@font-face {
  font-family: "lexend";
  font-display: swap;
  font-weight: 500;
  font-style: normal;
  src: url(/build/fonts/lexend-500.870f3dfb.woff2) format("woff2");
}
@font-face {
  font-family: "roboto";
  font-display: swap;
  font-weight: 300;
  font-style: italic;
  src: url(/build/fonts/roboto-300italic.68075f26.woff2) format("woff2");
}
:root {
  --font-primary: "Lexend", sans-serif;
  --font-heading: "Poppins", sans-serif;
  --font-quote: "Roboto", sans-serif;
  --font-weight-light: 300;
  --font-weight-regular: 400;
  --font-weight-medium: 500;
  --content-width: 1290px;
  --content-width-indented: 846px;
  --content-width-indented-padding: calc(var(--content-width-indented) + var(--content-padding-inline) * 2);
  --content-spacer: var(--spacing-xl);
  --content-padding-inline: 20px;
  --scrollbar-width: calc(100vw - 100%);
  --focus-outline-offset: 2px;
  --focus-outline-thickness: 2px;
  --spacing-none: 0;
  --spacing-xxs: 10px;
  --spacing-xs: 10px;
  --spacing-s: 30px;
  --spacing-m: 40px;
  --spacing-l: 60px;
  --spacing-xl: 80px;
  --spacing-xxl: 120px;
  --breakpoint-sm: 576px;
  --breakpoint-md: 768px;
  --breakpoint-lg: 992px;
  --breakpoint-xl: 1200px;
  --breakpoint-xxl: 1400px;
  --col-primary-blue: rgba(0, 145, 212, 1);
  --col-blue-dark: #005597;
  --col-blue-light: #96e0fe;
  --col-blue-lighter: #D6F3FF;
  --col-lilac: #e1b7f6;
  --col-sand: #efece4;
  --col-rose: #ffa0bc;
  --col-turquoise: #9be3e0;
  --col-yellow: #fbdf71;
  --col-purple: #5b075a;
  --col-orange: #ff937c;
  --col-petrol: #03605f;
  --col-black: #1e1e1e;
  --col-white: #ffffff;
  --col-wine: #8d0349;
  --col-black-55: rgba(0, 0, 0, 0.55);
  --focus-color: var(--col-blue-dark);
  --hover-bg-color: var(--col-blue-lighter);
  --col-text: #1e1e1e;
  --col-text-on-bg: #1e1e1e;
  --col-background: #ffffff;
  --col-form-accent: var(--col-blue-dark);
  --default-transition: all 0.2s ease-in-out;
  --fast-transition: all 0.1s linear;
  --p-font-size-default: 1rem;
  --p-font-size-l: 1.125rem;
  --p-font-size-m: 1rem;
  --p-font-size-s: 0.875rem;
  --p-font-size-xs: 0.75rem;
  --p-font-size-xxs: 0.6875rem;
  --p-line-height-default: 1.5;
  --p-font-weight-default: 300;
  --heading-line-height: 1.3;
  --heading-font-weight: 400;
  --h1-fs-display: 2.5rem;
  --h1-fs-default: 2rem;
  --h2-fs-default: 1.75rem;
  --h3-fs-default: 1.5rem;
  --h4-fs-default: 1.375rem;
  --h5-fs-default: 1.25rem;
  --h6-fs-default: 1.125rem;
  --nav-padding-inline: 20px;
  --swiper-navigation-size: 40px;
  --swiper-navigation-sides-offset: 26px;
  --swiper-navigation-color: var(--col-white);
}
@media (min-width: 768px) {
  :root {
    --p-font-size-m: 1.125rem;
    --p-font-size-s: 1rem;
    --p-font-size-xs: 0.875rem;
    --p-font-size-xxs: 0.75rem;
    --nav-padding-inline: 75px 0;
  }
}
@media (min-width: 768px) {
  :root {
    --p-font-size-default: 1.125rem;
    --p-font-size-l: 1.25rem;
    --h1-fs-display: 3.625rem;
    --h1-fs-default: 3rem;
    --h1-letter-spacing: -0.58px;
    --h2-fs-default: 2.5rem;
    --h2-letter-spacing: -0.48px;
    --h3-fs-default: 2rem;
    --h3-letter-spacing: -0.32px;
    --h4-fs-default: 1.75rem;
    --h5-fs-default: 1.5rem;
    --h6-fs-default: 1.25rem;
  }
}
@media (min-width: 1200px) {
  :root {
    --spacing-xs: 20px;
    --spacing-s: 40px;
    --spacing-m: 60px;
    --spacing-l: 80px;
    --spacing-xl: 120px;
    --spacing-xxl: 180px;
    --nav-padding-inline: 75px 0;
  }
}

.visually-hidden {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

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

.pt-none {
  padding-top: var(--spacing-none);
}

.pb-none {
  padding-bottom: var(--spacing-none);
}

.py-none {
  padding-block: var(--spacing-none);
}

.pt-xxs {
  padding-top: var(--spacing-xxs);
}

.pb-xxs {
  padding-bottom: var(--spacing-xxs);
}

.py-xxs {
  padding-block: var(--spacing-xxs);
}

.pt-xs {
  padding-top: var(--spacing-xs);
}

.pb-xs {
  padding-bottom: var(--spacing-xs);
}

.py-xs {
  padding-block: var(--spacing-xs);
}

.pt-s {
  padding-top: var(--spacing-s);
}

.pb-s {
  padding-bottom: var(--spacing-s);
}

.py-s {
  padding-block: var(--spacing-s);
}

.pt-m {
  padding-top: var(--spacing-m);
}

.pb-m {
  padding-bottom: var(--spacing-m);
}

.py-m {
  padding-block: var(--spacing-m);
}

.pt-l {
  padding-top: var(--spacing-l);
}

.pb-l {
  padding-bottom: var(--spacing-l);
}

.py-l {
  padding-block: var(--spacing-l);
}

.pt-xl {
  padding-top: var(--spacing-xl);
}

.pb-xl {
  padding-bottom: var(--spacing-xl);
}

.py-xl {
  padding-block: var(--spacing-xl);
}

.pt-xxl {
  padding-top: var(--spacing-xxl);
}

.pb-xxl {
  padding-bottom: var(--spacing-xxl);
}

.py-xxl {
  padding-block: var(--spacing-xxl);
}

.mt-none {
  margin-top: var(--spacing-none);
}

.mb-none {
  margin-bottom: var(--spacing-none);
}

.my-none {
  margin-block: var(--spacing-none);
}

.mt-xxs {
  margin-top: var(--spacing-xxs);
}

.mb-xxs {
  margin-bottom: var(--spacing-xxs);
}

.my-xxs {
  margin-block: var(--spacing-xxs);
}

.mt-xs {
  margin-top: var(--spacing-xs);
}

.mb-xs {
  margin-bottom: var(--spacing-xs);
}

.my-xs {
  margin-block: var(--spacing-xs);
}

.mt-s {
  margin-top: var(--spacing-s);
}

.mb-s {
  margin-bottom: var(--spacing-s);
}

.my-s {
  margin-block: var(--spacing-s);
}

.mt-m {
  margin-top: var(--spacing-m);
}

.mb-m {
  margin-bottom: var(--spacing-m);
}

.my-m {
  margin-block: var(--spacing-m);
}

.mt-l {
  margin-top: var(--spacing-l);
}

.mb-l {
  margin-bottom: var(--spacing-l);
}

.my-l {
  margin-block: var(--spacing-l);
}

.mt-xl {
  margin-top: var(--spacing-xl);
}

.mb-xl {
  margin-bottom: var(--spacing-xl);
}

.my-xl {
  margin-block: var(--spacing-xl);
}

.mt-xxl {
  margin-top: var(--spacing-xxl);
}

.mb-xxl {
  margin-bottom: var(--spacing-xxl);
}

.my-xxl {
  margin-block: var(--spacing-xxl);
}

.line-clamp {
  display: -webkit-box;
  -webkit-line-clamp: var(--line-clamp, 6);
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.line-clamp:has(p) {
  margin-bottom: var(--p-margin, 1em);
}
.line-clamp:has(p) > p:last-of-type {
  margin-bottom: 0;
}

.line-clamp--10 {
  -webkit-line-clamp: var(--line-clamp, 10);
}

.line-clamp--12 {
  -webkit-line-clamp: var(--line-clamp, 12);
}

.line-clamp--16 {
  -webkit-line-clamp: var(--line-clamp, 16);
}

.stretched-link::after {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 1;
  content: "";
}

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

body {
  font-family: var(--font-primary);
  margin: 0;
  font-size: var(--p-font-size-default);
  font-weight: var(--p-font-weight-default);
  color: var(--col-copy, var(--col-text));
  background-color: var(--col-background);
  scroll-behavior: smooth;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  color: var(--col-heading, var(--col-text));
  line-height: var(--heading-line-height);
  font-weight: var(--heading-font-weight);
  margin-top: var(--heading-margin-top, 0);
}

h1, .h1 {
  font-family: var(--font-heading);
  font-size: var(--h1-fs, var(--h1-fs-default));
  letter-spacing: var(--h1-letter-spacing);
  margin-bottom: var(--h1-margin, 0.6125em);
  hyphens: auto;
}

h2, .h2 {
  font-family: var(--font-heading);
  font-size: var(--h2-fs, var(--h2-fs-default));
  letter-spacing: var(--h2-letter-spacing);
  margin-bottom: var(--h2-margin, 0.6125em);
}

h3, .h3 {
  font-family: var(--font-heading);
  font-size: var(--h3-fs, var(--h3-fs-default));
  letter-spacing: var(--h3-letter-spacing);
  margin-bottom: var(--h3-margin, 0.6125em);
}

h4, .h4 {
  font-family: var(--font-heading);
  font-size: var(--h4-fs, var(--h4-fs-default));
  margin-bottom: var(--h4-margin, 0.75em);
}

h5, .h5 {
  font-family: var(--font-heading);
  font-size: var(--h5-fs, var(--h5-fs-default));
  margin-bottom: var(--h5-margin, 0.75em);
}

h6, .h6 {
  font-family: var(--font-heading);
  font-size: var(--h6-fs, var(--h6-fs-default));
  margin-bottom: var(--h6-margin, 0.75em);
}

p {
  font-size: var(--p-font-size, var(--p-font-size-default));
  font-weight: var(--p-font-weight, var(--p-font-weight-default));
  line-height: var(--p-line-height, var(--p-line-height-default));
  margin-bottom: var(--p-margin, 1.125em);
  color: var(--col-copy, var(--col-text));
}
p.lead {
  font-size: var(--p-font-size, var(--p-font-size-l));
}

abbr {
  text-decoration: none;
}

a, .textlink {
  color: var(--link-color, var(--col-primary-blue));
  transition: color 0.2s ease;
  font-weight: 400;
  text-decoration: underline;
  text-decoration-color: var(--link-underline-color, var(--col-primary-blue));
  text-decoration-thickness: 8%;
  text-underline-offset: var(--link-underline-offset, 5px);
  transition: all 0.2s ease-in-out;
  cursor: pointer;
}
a:hover, .textlink:hover {
  color: var(--link-hover-color, var(--col-blue-dark));
  text-decoration-color: var(--link-hover-underline-color, var(--col-blue-dark));
}
a:focus-visible, .textlink:focus-visible {
  outline: 2px solid var(--focus-color, var(--col-blue-dark));
  outline-offset: var(--focus-offset, 2px);
}

.textlink {
  color: var(--link-color, var(--col-text));
  text-decoration-color: var(--link-underline-color, var(--col-text));
}
.textlink__icon.icon {
  display: inline;
}
.textlink__icon.icon::before {
  content: none !important;
}
.textlink__icon.icon::after {
  content: "";
  background-color: currentColor;
  display: inline-block;
  mask-size: contain;
  mask-repeat: no-repeat;
  width: 0.85em;
  height: 0.85em;
  mask-position: center;
  margin-left: 0.25em;
  mask-image: var(--icon-file);
  vertical-align: -0.05em;
}

ul,
ol {
  padding-left: 1.5em;
  margin-bottom: 1em;
}

li {
  margin-bottom: 0.5em;
}

blockquote {
  border-left: 4px solid var(--col-primary-blue);
  padding-left: 1em;
  margin-left: 0;
  font-style: italic;
}

code,
pre {
  font-family: monospace;
  background-color: var(--col-sand);
  padding: 0.2em 0.4em;
  border-radius: 3px;
}

pre {
  padding: 1em;
  overflow-x: auto;
}

figcaption,
.img-caption {
  --p-font-size: var(--caption-font-size, 1rem);
  font-weight: 300;
  color: var(--col-copy, var(--col-text));
  font-size: var(--caption-font-size, 1rem);
  margin-top: var(--caption-margin, var(--spacing-xxs));
  text-align: var(--caption-text-align, left);
}

.element-wrap {
  --link-color: var(--col-text);
  --link-underline-color: var(--col-text);
}
.element-wrap .eom-container .ibexa-embed-type-image {
  max-width: var(--content-width);
}
.element-wrap .eom-container--indented .ibexa-embed-type-image {
  max-width: calc(var(--content-width-indented) + 2 * var(--content-padding-inline));
}
.element-wrap .rte {
  --caption-font-size: var(--p-font-size-xs);
  --caption-margin: 4px;
  --heading-margin-top: var(--spacing-s);
}
.element-wrap .rte .eom-container {
  --content-padding-inline: 0;
  --section-margin-top: var(--spacing-m);
  --section-margin-bottom: var(--spacing-m);
}
.element-wrap .rte > :first-child {
  margin-top: 0;
}
.element-wrap .rte .image__wrapper {
  max-width: 100%;
  margin: 0 auto;
  display: inline-flex;
}
.element-wrap .rte .img-caption {
  width: min(100vw - 2 * var(--content-padding-inline), var(--caption-width));
}
.element-wrap .rte .ibexa-embed-type-image {
  clear: both;
}
.element-wrap .rte .ibexa-embed-type-image.align-right {
  float: right;
  margin: 0 0 var(--spacing-xs) var(--spacing-xs);
}
.element-wrap .rte .ibexa-embed-type-image.align-left {
  float: left;
  margin: 0 var(--spacing-xs) var(--spacing-xs) 0;
}
.element-wrap .rte .ibexa-embed-type-image.align-center {
  margin: 0 auto var(--spacing-xs) auto;
  width: fit-content;
}
.element-wrap ul, .element-wrap ol {
  color: var(--col-copy, var(--col-text));
  font-size: var(--p-font-size, var(--p-font-size-default));
  font-weight: var(--p-font-weight, var(--p-font-weight-default));
  line-height: var(--p-line-height, var(--p-line-height-default));
  margin-bottom: var(--p-margin, 1.125em);
}
.element-wrap ol li::marker {
  font-weight: 500;
}
.element-wrap table {
  --p-margin: 0;
  --caption-margin: 4px;
  margin-block: var(--spacing-m);
  border-spacing: 0;
  border-collapse: collapse;
  max-width: 100%;
}
.element-wrap table thead {
  background-color: var(--col-sand);
  border-bottom: 1px solid var(--col-text);
}
.element-wrap table tfoot {
  border-top: 1px solid var(--col-text);
}
.element-wrap table th, .element-wrap table td {
  vertical-align: top;
  border: none;
  padding: var(--spacing-xs) 0.75rem;
}
.element-wrap table th {
  font-size: var(--p-font-size-s);
  font-weight: 700;
  text-align: left;
}
.element-wrap table td {
  font-size: var(--p-font-size-default);
  font-weight: 300;
  min-width: 60px;
}
.element-wrap table tr {
  border-bottom: 1px solid var(--col-text);
}
.element-wrap table tr:last-of-type {
  border-bottom: none;
}

.ce__headline {
  margin-bottom: var(--ce-headline-margin-bottom, var(--spacing-s));
}
.ce__headline h2, .ce__headline .h2, .ce__headline h3, .ce__headline .h3, .ce__headline h4, .ce__headline .h4 {
  margin-bottom: 0;
}
.ce__headline:empty {
  display: none;
}
.ce__headline:empty + .ce__bodytext {
  margin-top: 0;
}

.ce__headline + .ce__bodytext {
  margin-top: calc(-1 * (var(--spacing-s) - var(--spacing-xs)));
}

.ce__bodytext {
  margin-bottom: var(--ce-bodytext-margin-bottom, var(--spacing-s));
}
.ce__bodytext p:last-child {
  margin-bottom: 0;
}
.ce__bodytext:empty {
  display: none;
}

.rte__container .rte > :last-child {
  margin-bottom: 0;
}

.icon {
  display: flex;
}

.icon::before {
  content: "";
  background-color: currentColor;
  display: inline-block;
  mask-size: contain;
  mask-repeat: no-repeat;
  width: 1em;
  height: 1em;
  mask-position: center;
  mask-image: var(--icon-file);
}

.icon--accessibility {
  --icon-file: url(/build/images/accessibility.904a4723.svg);
}

.icon--angle-down {
  --icon-file: url(/build/images/angle-down.5bf95e09.svg);
}

.icon--angle-down_strong {
  --icon-file: url(/build/images/angle-down_strong.08ff8e4c.svg);
}

.icon--angle-left {
  --icon-file: url(/build/images/angle-left.d3834d9e.svg);
}

.icon--angle-right {
  --icon-file: url(/build/images/angle-right.3ae0c2af.svg);
}

.icon--arrow-right-long {
  --icon-file: url(/build/images/arrow-right-long.41231976.svg);
}

.icon--arrow-left-long {
  --icon-file: url(/build/images/arrow-left-long.2969baa8.svg);
}

.icon--arrow-down-to-line {
  --icon-file: url(/build/images/arrow-down-to-line.991093d9.svg);
}

.icon--arrow-up-right-from-square_strong {
  --icon-file: url(/build/images/arrow-up-right-from-square_strong.973838f9.svg);
}

.icon--bars-sort {
  --icon-file: url(/build/images/bars-sort.c9322357.svg);
}

.icon--donate {
  --icon-file: url(/build/images/donate.a4c4e15a.svg);
}

.icon--ear-deaf {
  --icon-file: url(/build/images/ear-deaf.f0057033.svg);
}

.icon--fax {
  --icon-file: url(/build/images/fax.25639a9c.svg);
}

.icon--gebaerdensprache {
  --icon-file: url(/build/images/gebaerdensprache.052b9932.svg);
}

.icon--link-strong {
  --icon-file: url(/build/images/link-strong.b20ec789.svg);
}

.icon--magnifying-glass {
  --icon-file: url(/build/images/magnifying-glass.9d79cd57.svg);
}

.icon--mobile {
  --icon-file: url(/build/images/mobile.1968190e.svg);
}

.icon--sliders {
  --icon-file: url(/build/images/sliders.37547913.svg);
}

.icon--social-facebook {
  --icon-file: url(/build/images/social-facebook.d3cac633.svg);
}

.icon--social-instagram {
  --icon-file: url(/build/images/social-instagram.34fe13d3.svg);
}

.icon--social-x_twitter {
  --icon-file: url(/build/images/social-x_twitter.7dda2db8.svg);
}

.icon--social-youtube {
  --icon-file: url(/build/images/social-youtube.22cf82d4.svg);
}

.icon--circle-euro {
  --icon-file: url(/build/images/circle-euro.2b52b30f.svg);
}

.icon--circle-info {
  --icon-file: url(/build/images/circle-info.48010e24.svg);
}

.icon--circle-user {
  --icon-file: url(/build/images/circle-user.f1f69003.svg);
}

.icon--calendar {
  --icon-file: url(/build/images/calendar.51c5b745.svg);
}

.icon--calendar-circle-plus {
  --icon-file: url(/build/images/calendar-circle-plus.ba7dc121.svg);
}

.icon--church {
  --icon-file: url(/build/images/church.736d4a9f.svg);
}

.icon--clock {
  --icon-file: url(/build/images/clock.5f55bb42.svg);
}

.icon--envelope {
  --icon-file: url(/build/images/envelope.53c3541f.svg);
}

.icon--location-dot {
  --icon-file: url(/build/images/location-dot.878fccfa.svg);
}

.icon--phone {
  --icon-file: url(/build/images/phone.ea8e1c88.svg);
}

.icon--user-sharp {
  --icon-file: url(/build/images/user-sharp.50d15e10.svg);
}

.icon--file {
  --icon-file: url(/build/images/file.8cff934a.svg);
}

.icon--file_strong {
  --icon-file: url(/build/images/file_strong.e4b695b2.svg);
}

.icon--comment {
  --icon-file: url(/build/images/comment.889e9bb2.svg);
}

.icon--fax {
  --icon-file: url(/build/images/fax.25639a9c.svg);
}

.icon--house-blank {
  --icon-file: url(/build/images/house-blank.c1daac13.svg);
}

.icon--video {
  --icon-file: url(/build/images/video.f9d8e1a0.svg);
}

.icon--xmark {
  --icon-file: url(/build/images/xmark.2b149867.svg);
}

.icon--wheelchair {
  --icon-file: url(/build/images/wheelchair.a470ecba.svg);
}

.element-wrap {
  --section-margin-top: calc(var(--content-spacer) / 2);
  --section-margin-bottom: calc(var(--content-spacer) / 2);
  --section-padding-top: 0;
  --section-padding-bottom: 0;
  /* Add vertical padding for full-width containers with background */
}
.element-wrap[class*=" bg-"]:not(.bg-transparent, .bg-white), .element-wrap[class^=bg-]:not(.bg-transparent, .bg-white) {
  --section-padding-top: var(--content-spacer);
  --section-padding-bottom: var(--content-spacer);
}
.element-wrap.bg-photo {
  --section-padding-top: var(--spacing-m);
  --section-padding-bottom: var(--spacing-m);
}

.landing-page__block:first-child .element-wrap[class*=" bg-"]:not(.bg-transparent, .bg-white), .landing-page__block:first-child .element-wrap[class^=bg-]:not(.bg-transparent, .bg-white) {
  --section-margin-top: 0;
}

.landing-page__block:last-child .element-wrap {
  --section-margin-bottom: var(--content-spacer);
}
.landing-page__block:last-child .element-wrap[class*=" bg-"]:not(.bg-transparent, .bg-white), .landing-page__block:last-child .element-wrap[class^=bg-]:not(.bg-transparent, .bg-white) {
  --section-margin-bottom: 0;
}

.landing-page__block:has(> .element-wrap[class*=" bg-"]:not(.bg-transparent, .bg-white)) + .landing-page__block:has(> .element-wrap[class*=" bg-"]:not(.bg-transparent, .bg-white)),
.landing-page__block:has(> .element-wrap[class*=" bg-"]:not(.bg-transparent, .bg-white)) + .landing-page__block.block_eom_anchor + .landing-page__block:has(> .element-wrap[class*=" bg-"]:not(.bg-transparent, .bg-white)) {
  margin-top: calc(-1 * var(--content-spacer));
}

.landing-page__block:has(> .element-wrap.bg-transparent, > .element-wrap.bg-white):not(:has(.related-content, .gallery-slider, .news-list, .teaser-box, .teaser-cards, .teaser-slider, .text-image)) + .landing-page__block:has(> .element-wrap.bg-transparent, > .element-wrap.bg-white) .element-wrap {
  --section-margin-top: 0;
}
.landing-page__block:has(> .element-wrap.bg-transparent, > .element-wrap.bg-white):not(:has(.related-content, .gallery-slider, .news-list, .teaser-box, .teaser-cards, .teaser-slider, .text-image)) + .landing-page__block:has(> .element-wrap.bg-transparent, > .element-wrap.bg-white) .element-wrap.related-content {
  --section-margin-top: calc(var(--content-spacer) / 2);
}
.landing-page__block:has(> .element-wrap.bg-transparent, > .element-wrap.bg-white):not(:has(.related-content, .gallery-slider, .news-list, .teaser-box, .teaser-cards, .teaser-slider, .text-image)) + .landing-page__block:has(> .element-wrap.bg-transparent, > .element-wrap.bg-white) .element-wrap.gallery-slider {
  --section-margin-top: calc(var(--content-spacer) / 2);
}
.landing-page__block:has(> .element-wrap.bg-transparent, > .element-wrap.bg-white):not(:has(.related-content, .gallery-slider, .news-list, .teaser-box, .teaser-cards, .teaser-slider, .text-image)) + .landing-page__block:has(> .element-wrap.bg-transparent, > .element-wrap.bg-white) .element-wrap.news-list {
  --section-margin-top: calc(var(--content-spacer) / 2);
}
.landing-page__block:has(> .element-wrap.bg-transparent, > .element-wrap.bg-white):not(:has(.related-content, .gallery-slider, .news-list, .teaser-box, .teaser-cards, .teaser-slider, .text-image)) + .landing-page__block:has(> .element-wrap.bg-transparent, > .element-wrap.bg-white) .element-wrap.teaser-box {
  --section-margin-top: calc(var(--content-spacer) / 2);
}
.landing-page__block:has(> .element-wrap.bg-transparent, > .element-wrap.bg-white):not(:has(.related-content, .gallery-slider, .news-list, .teaser-box, .teaser-cards, .teaser-slider, .text-image)) + .landing-page__block:has(> .element-wrap.bg-transparent, > .element-wrap.bg-white) .element-wrap.teaser-cards {
  --section-margin-top: calc(var(--content-spacer) / 2);
}
.landing-page__block:has(> .element-wrap.bg-transparent, > .element-wrap.bg-white):not(:has(.related-content, .gallery-slider, .news-list, .teaser-box, .teaser-cards, .teaser-slider, .text-image)) + .landing-page__block:has(> .element-wrap.bg-transparent, > .element-wrap.bg-white) .element-wrap.teaser-slider {
  --section-margin-top: calc(var(--content-spacer) / 2);
}
.landing-page__block:has(> .element-wrap.bg-transparent, > .element-wrap.bg-white):not(:has(.related-content, .gallery-slider, .news-list, .teaser-box, .teaser-cards, .teaser-slider, .text-image)) + .landing-page__block:has(> .element-wrap.bg-transparent, > .element-wrap.bg-white) .element-wrap.text-image {
  --section-margin-top: calc(var(--content-spacer) / 2);
}

.eom-container {
  display: grid;
  position: relative;
  width: 100%;
  max-width: var(--content-width);
  padding: var(--section-padding-top) var(--content-padding-inline) var(--section-padding-bottom) var(--content-padding-inline);
  margin: var(--section-margin-top) auto var(--section-margin-bottom) auto;
  /* Special case: nested containers */
  /* Remove horizontal padding and vertical margins for nested containers */
}
.eom-container > .eom-container {
  --content-padding-inline: 0;
  --section-margin-top: 0;
  --section-margin-bottom: 0;
}
.eom-container {
  /* Indented variant */
  /* Set max-width to a smaller value for indented containers */
}
.eom-container--indented {
  max-width: calc(var(--content-width-indented) + 2 * var(--content-padding-inline));
}
.eom-container {
  /* Full width variant */
  /* Remove max-width constraint and vertical margins */
}
.eom-container--full-width {
  max-width: unset;
}

/* Columns classes for grid layouts */
/* Creates responsive columns that automatically fit the available space */
/* Use --column-min-width to override column width */
.columns {
  display: grid;
  grid-template-columns: var(--grid-layout);
  gap: var(--column-gap, var(--spacing-m));
  /* Two-column layout */
}
.columns--2 {
  --grid-layout: repeat(auto-fit, minmax(clamp(200px, 100%, calc(var(--breakpoint-column, var(--breakpoint-md)) / 2 - var(--content-padding-inline))), 1fr));
}
.columns {
  /* Three-column layout */
}
.columns--3 {
  --grid-layout: repeat(auto-fit, minmax(clamp(333px, 100%, calc(var(--breakpoint-column, var(--breakpoint-md)) / 3 - var(--content-padding-inline))), 1fr));
}
.columns {
  /* Four-column layout */
}
.columns--4 {
  --grid-layout: repeat(auto-fit, minmax(clamp(280px, 100%, calc(var(--breakpoint-column, var(--breakpoint-md)) / 4 - var(--content-padding-inline))), 1fr));
}

.theme-primary-blue {
  --col-theme: var(--col-primary-blue);
  --logo-color: var(--col-white);
  --col-text-on-bg: var(--col-white);
}
.theme-primary-blue .bg-theme {
  --col-heading: var(--col-white);
  --col-copy: var(--col-white);
  --btn-col-background: transparent;
  --btn-col-border: var(--col-white);
  --btn-col-text: var(--col-white);
  --btn-hover-col-background: var(--col-white);
  --btn-hover-col-border: var(--col-white);
  --btn-hover-col-text: var(--col-text);
  --focus-color: var(--col-white);
  --link-color: var(--col-white);
  --link-hover-color: var(--col-white);
  --link-underline-color: transparent;
  --link-hover-underline-color: var(--col-white);
}
.theme-primary-blue {
  --col-bg-accent-1: var(--col-lilac);
  --col-bg-accent-2: var(--col-blue-light);
}

.theme-blue-dark {
  --col-theme: var(--col-blue-dark);
  --logo-color: var(--col-white);
  --col-text-on-bg: var(--col-white);
}
.theme-blue-dark .bg-theme {
  --col-heading: var(--col-white);
  --col-copy: var(--col-white);
  --btn-col-background: transparent;
  --btn-col-border: var(--col-white);
  --btn-col-text: var(--col-white);
  --btn-hover-col-background: var(--col-white);
  --btn-hover-col-border: var(--col-white);
  --btn-hover-col-text: var(--col-text);
  --focus-color: var(--col-white);
  --link-color: var(--col-white);
  --link-hover-color: var(--col-white);
  --link-underline-color: transparent;
  --link-hover-underline-color: var(--col-white);
}
.theme-blue-dark {
  --col-bg-accent-1: var(--col-blue-light);
  --col-bg-accent-2: var(--col-lilac);
}

.theme-blue-light {
  --col-theme: var(--col-blue-light);
  --logo-color: var(--col-blue-dark);
  --col-text-on-bg: var(--col-text);
}
.theme-blue-light .bg-theme {
  --col-heading: var(--col-text);
  --col-copy: var(--col-text);
  --btn-col-background: transparent;
  --btn-col-border: var(--col-text);
  --btn-col-text: var(--col-text);
  --btn-hover-col-background: var(--col-blue-dark);
  --btn-hover-col-border: var(--col-blue-dark);
  --btn-hover-col-text: var(--col-white);
  --focus-color: var(--col-white);
}
.theme-blue-light {
  --col-bg-accent-1: var(--col-lilac);
  --col-bg-accent-2: var(--col-turquoise);
}

.theme-lilac {
  --col-theme: var(--col-lilac);
  --logo-color: var(--col-blue-dark);
  --col-text-on-bg: var(--col-text);
}
.theme-lilac .bg-theme {
  --col-heading: var(--col-text);
  --col-copy: var(--col-text);
  --btn-col-background: transparent;
  --btn-col-border: var(--col-text);
  --btn-col-text: var(--col-text);
  --btn-hover-col-background: var(--col-blue-dark);
  --btn-hover-col-border: var(--col-blue-dark);
  --btn-hover-col-text: var(--col-white);
  --focus-color: var(--col-white);
}
.theme-lilac {
  --col-bg-accent-1: var(--col-lilac);
  --col-bg-accent-2: var(--col-turquoise);
}

.theme-sand {
  --col-theme: var(--col-sand);
  --logo-color: var(--col-blue-dark);
  --col-text-on-bg: var(--col-text);
}
.theme-sand .bg-theme {
  --col-heading: var(--col-text);
  --col-copy: var(--col-text);
  --btn-col-background: transparent;
  --btn-col-border: var(--col-text);
  --btn-col-text: var(--col-text);
  --btn-hover-col-background: var(--col-blue-dark);
  --btn-hover-col-border: var(--col-blue-dark);
  --btn-hover-col-text: var(--col-white);
  --focus-color: var(--col-white);
}
.theme-sand {
  --col-bg-accent-1: var(--col-lilac);
  --col-bg-accent-2: var(--col-blue-light);
}

.theme-rose {
  --col-theme: var(--col-rose);
  --col-text-on-bg: var(--col-text);
}
.theme-rose .bg-theme {
  --col-heading: var(--col-text);
  --col-copy: var(--col-text);
  --btn-col-background: transparent;
  --btn-col-border: var(--col-text);
  --btn-col-text: var(--col-text);
  --btn-hover-col-background: var(--col-blue-dark);
  --btn-hover-col-border: var(--col-blue-dark);
  --btn-hover-col-text: var(--col-white);
  --focus-color: var(--col-white);
}
.theme-rose {
  --col-bg-accent-1: var(--col-lilac);
  --col-bg-accent-2: var(--col-blue-light);
}

.theme-turquoise {
  --col-theme: var(--col-turquoise);
  --logo-color: var(--col-blue-dark);
  --col-text-on-bg: var(--col-text);
}
.theme-turquoise .bg-theme {
  --col-heading: var(--col-text);
  --col-copy: var(--col-text);
  --btn-col-background: transparent;
  --btn-col-border: var(--col-text);
  --btn-col-text: var(--col-text);
  --btn-hover-col-background: var(--col-blue-dark);
  --btn-hover-col-border: var(--col-blue-dark);
  --btn-hover-col-text: var(--col-white);
  --focus-color: var(--col-white);
}
.theme-turquoise {
  --col-bg-accent-1: var(--col-turquoise);
  --col-bg-accent-2: var(--col-lilac);
}

.theme-yellow {
  --col-theme: var(--col-yellow);
  --logo-color: var(--col-blue-dark);
  --col-text-on-bg: var(--col-text);
}
.theme-yellow .bg-theme {
  --col-heading: var(--col-text);
  --col-copy: var(--col-text);
  --btn-col-background: transparent;
  --btn-col-border: var(--col-text);
  --btn-col-text: var(--col-text);
  --btn-hover-col-background: var(--col-blue-dark);
  --btn-hover-col-border: var(--col-blue-dark);
  --btn-hover-col-text: var(--col-white);
  --focus-color: var(--col-white);
}
.theme-yellow {
  --col-bg-accent-1: var(--col-yellow);
  --col-bg-accent-2: var(--col-turquoise);
}

.theme-purple, .theme-combination-1 {
  --col-theme: var(--col-purple);
  --logo-color: var(--col-white);
  --col-text-on-bg: var(--col-white);
}
.theme-purple .bg-theme, .theme-combination-1 .bg-theme {
  --col-heading: var(--col-white);
  --col-copy: var(--col-white);
  --btn-col-background: transparent;
  --btn-col-border: var(--col-white);
  --btn-col-text: var(--col-white);
  --btn-hover-col-background: var(--col-white);
  --btn-hover-col-border: var(--col-white);
  --btn-hover-col-text: var(--col-text);
  --focus-color: var(--col-white);
  --link-color: var(--col-white);
  --link-hover-color: var(--col-white);
  --link-underline-color: transparent;
  --link-hover-underline-color: var(--col-white);
}
.theme-purple, .theme-combination-1 {
  --col-bg-accent-1: var(--col-lilac);
  --col-bg-accent-2: var(--col-turquoise);
}

.theme-orange, .theme-combination-2 {
  --col-theme: var(--col-orange);
  --logo-color: var(--col-blue-dark);
  --col-text-on-bg: var(--col-text);
}
.theme-orange .bg-theme, .theme-combination-2 .bg-theme {
  --col-heading: var(--col-text);
  --col-copy: var(--col-text);
  --btn-col-background: transparent;
  --btn-col-border: var(--col-text);
  --btn-col-text: var(--col-text);
  --btn-hover-col-background: var(--col-blue-dark);
  --btn-hover-col-border: var(--col-blue-dark);
  --btn-hover-col-text: var(--col-white);
  --focus-color: var(--col-white);
}
.theme-orange, .theme-combination-2 {
  --col-bg-accent-1: var(--col-blue-light);
  --col-bg-accent-2: var(--col-yellow);
}

.theme-petrol, .theme-combination-3 {
  --col-theme: var(--col-petrol);
  --logo-color: var(--col-white);
  --col-text-on-bg: var(--col-white);
}
.theme-petrol .bg-theme, .theme-combination-3 .bg-theme {
  --col-heading: var(--col-white);
  --col-copy: var(--col-white);
  --btn-col-background: transparent;
  --btn-col-border: var(--col-white);
  --btn-col-text: var(--col-white);
  --btn-hover-col-background: var(--col-white);
  --btn-hover-col-border: var(--col-white);
  --btn-hover-col-text: var(--col-text);
  --focus-color: var(--col-white);
  --link-color: var(--col-white);
  --link-hover-color: var(--col-white);
  --link-underline-color: transparent;
  --link-hover-underline-color: var(--col-white);
}
.theme-petrol, .theme-combination-3 {
  --col-bg-accent-1: var(--col-turquoise);
  --col-bg-accent-2: var(--col-blue-light);
}

.theme-wine, .theme-combination-4 {
  --col-theme: var(--col-wine);
  --logo-color: var(--col-white);
  --col-text-on-bg: var(--col-white);
}
.theme-wine .bg-theme, .theme-combination-4 .bg-theme {
  --col-heading: var(--col-white);
  --col-copy: var(--col-white);
  --btn-col-background: transparent;
  --btn-col-border: var(--col-white);
  --btn-col-text: var(--col-white);
  --btn-hover-col-background: var(--col-white);
  --btn-hover-col-border: var(--col-white);
  --btn-hover-col-text: var(--col-text);
  --focus-color: var(--col-white);
  --link-color: var(--col-white);
  --link-hover-color: var(--col-white);
  --link-underline-color: transparent;
  --link-hover-underline-color: var(--col-white);
}
.theme-wine, .theme-combination-4 {
  --col-bg-accent-1: var(--col-rose);
  --col-bg-accent-2: var(--col-turquoise);
}

.theme-photo, .eom:has(.ce-hero.bg-photo) {
  --logo-color: var(--col-white);
  --col-text-on-bg: var(--col-white);
}

.bg-photo {
  --col-bg: transparent;
  background-color: transparent;
  --btn-col-background: transparent;
  --btn-col-border: var(--col-white);
  --btn-col-text: var(--col-white);
  --btn-hover-col-background: var(--col-white);
  --btn-hover-col-border: var(--col-white);
  --btn-hover-col-text: var(--col-text);
  --focus-color: var(--col-white);
  --link-color: var(--col-white);
  --link-hover-color: var(--col-white);
  --link-underline-color: transparent;
  --link-hover-underline-color: var(--col-white);
}

.bg-theme {
  --col-bg: var(--col-theme);
  background-color: var(--col-theme);
}

.bg-accent-1, .bg-primary {
  --col-bg: var(--col-bg-accent-1, var(--col-lilac));
  background-color: var(--col-bg-accent-1, var(--col-lilac));
  --hover-bg-color: var(--col-white);
}

.bg-accent-2, .bg-secondary {
  --col-bg: var(--col-bg-accent-2, var(--col-blue-light));
  background-color: var(--col-bg-accent-2, var(--col-blue-light));
  --hover-bg-color: var(--col-white);
}

.bg-primary-blue {
  --col-bg: var(--col-primary-blue);
  background-color: var(--col-primary-blue);
  --hover-bg-color: var(--col-white);
  --col-heading: var(--col-white);
  --col-copy: var(--col-white);
  --btn-col-background: transparent;
  --btn-col-border: var(--col-white);
  --btn-col-text: var(--col-white);
  --btn-hover-col-background: var(--col-white);
  --btn-hover-col-border: var(--col-white);
  --btn-hover-col-text: var(--col-text);
  --focus-color: var(--col-white);
  --link-color: var(--col-white);
  --link-hover-color: var(--col-white);
  --link-underline-color: transparent;
  --link-hover-underline-color: var(--col-white);
}

.bg-blue-dark {
  --col-bg: var(--col-blue-dark);
  background-color: var(--col-blue-dark);
  --hover-bg-color: var(--col-white);
  --col-heading: var(--col-white);
  --col-copy: var(--col-white);
  --btn-col-background: transparent;
  --btn-col-border: var(--col-white);
  --btn-col-text: var(--col-white);
  --btn-hover-col-background: var(--col-white);
  --btn-hover-col-border: var(--col-white);
  --btn-hover-col-text: var(--col-text);
  --focus-color: var(--col-white);
  --link-color: var(--col-white);
  --link-hover-color: var(--col-white);
  --link-underline-color: transparent;
  --link-hover-underline-color: var(--col-white);
}

.bg-blue-light {
  --col-bg: var(--col-blue-light);
  background-color: var(--col-blue-light);
  --hover-bg-color: var(--col-white);
  --col-heading: var(--col-text);
  --col-copy: var(--col-text);
  --btn-col-background: transparent;
  --btn-col-border: var(--col-text);
  --btn-col-text: var(--col-text);
  --btn-hover-col-background: var(--col-blue-dark);
  --btn-hover-col-border: var(--col-blue-dark);
  --btn-hover-col-text: var(--col-white);
  --focus-color: var(--col-white);
}

.bg-lilac {
  --col-bg: var(--col-lilac);
  background-color: var(--col-lilac);
  --hover-bg-color: var(--col-white);
  --col-heading: var(--col-text);
  --col-copy: var(--col-text);
  --btn-col-background: transparent;
  --btn-col-border: var(--col-text);
  --btn-col-text: var(--col-text);
  --btn-hover-col-background: var(--col-blue-dark);
  --btn-hover-col-border: var(--col-blue-dark);
  --btn-hover-col-text: var(--col-white);
  --focus-color: var(--col-white);
}

.bg-sand {
  --col-bg: var(--col-sand);
  background-color: var(--col-sand);
  --hover-bg-color: var(--col-white);
  --col-heading: var(--col-text);
  --col-copy: var(--col-text);
  --btn-col-background: transparent;
  --btn-col-border: var(--col-text);
  --btn-col-text: var(--col-text);
  --btn-hover-col-background: var(--col-blue-dark);
  --btn-hover-col-border: var(--col-blue-dark);
  --btn-hover-col-text: var(--col-white);
  --focus-color: var(--col-white);
}

.bg-rose {
  --col-bg: var(--col-rose);
  background-color: var(--col-rose);
  --hover-bg-color: var(--col-white);
  --col-heading: var(--col-text);
  --col-copy: var(--col-text);
  --btn-col-background: transparent;
  --btn-col-border: var(--col-text);
  --btn-col-text: var(--col-text);
  --btn-hover-col-background: var(--col-blue-dark);
  --btn-hover-col-border: var(--col-blue-dark);
  --btn-hover-col-text: var(--col-white);
  --focus-color: var(--col-white);
}

.bg-turquoise {
  --col-bg: var(--col-turquoise);
  background-color: var(--col-turquoise);
  --hover-bg-color: var(--col-white);
  --col-heading: var(--col-text);
  --col-copy: var(--col-text);
  --btn-col-background: transparent;
  --btn-col-border: var(--col-text);
  --btn-col-text: var(--col-text);
  --btn-hover-col-background: var(--col-blue-dark);
  --btn-hover-col-border: var(--col-blue-dark);
  --btn-hover-col-text: var(--col-white);
  --focus-color: var(--col-white);
}

.bg-yellow {
  --col-bg: var(--col-yellow);
  background-color: var(--col-yellow);
  --hover-bg-color: var(--col-white);
  --col-heading: var(--col-text);
  --col-copy: var(--col-text);
  --btn-col-background: transparent;
  --btn-col-border: var(--col-text);
  --btn-col-text: var(--col-text);
  --btn-hover-col-background: var(--col-blue-dark);
  --btn-hover-col-border: var(--col-blue-dark);
  --btn-hover-col-text: var(--col-white);
  --focus-color: var(--col-white);
}

.bg-purple {
  --col-bg: var(--col-purple);
  background-color: var(--col-purple);
  --hover-bg-color: var(--col-white);
  --col-heading: var(--col-white);
  --col-copy: var(--col-white);
  --btn-col-background: transparent;
  --btn-col-border: var(--col-white);
  --btn-col-text: var(--col-white);
  --btn-hover-col-background: var(--col-white);
  --btn-hover-col-border: var(--col-white);
  --btn-hover-col-text: var(--col-text);
  --focus-color: var(--col-white);
  --link-color: var(--col-white);
  --link-hover-color: var(--col-white);
  --link-underline-color: transparent;
  --link-hover-underline-color: var(--col-white);
}

.bg-orange {
  --col-bg: var(--col-orange);
  background-color: var(--col-orange);
  --hover-bg-color: var(--col-white);
  --col-heading: var(--col-text);
  --col-copy: var(--col-text);
  --btn-col-background: transparent;
  --btn-col-border: var(--col-text);
  --btn-col-text: var(--col-text);
  --btn-hover-col-background: var(--col-blue-dark);
  --btn-hover-col-border: var(--col-blue-dark);
  --btn-hover-col-text: var(--col-white);
  --focus-color: var(--col-white);
}

.bg-petrol {
  --col-bg: var(--col-petrol);
  background-color: var(--col-petrol);
  --hover-bg-color: var(--col-white);
  --col-heading: var(--col-white);
  --col-copy: var(--col-white);
  --btn-col-background: transparent;
  --btn-col-border: var(--col-white);
  --btn-col-text: var(--col-white);
  --btn-hover-col-background: var(--col-white);
  --btn-hover-col-border: var(--col-white);
  --btn-hover-col-text: var(--col-text);
  --focus-color: var(--col-white);
  --link-color: var(--col-white);
  --link-hover-color: var(--col-white);
  --link-underline-color: transparent;
  --link-hover-underline-color: var(--col-white);
}

.bg-wine {
  --col-bg: var(--col-wine);
  background-color: var(--col-wine);
  --hover-bg-color: var(--col-white);
  --col-heading: var(--col-white);
  --col-copy: var(--col-white);
  --btn-col-background: transparent;
  --btn-col-border: var(--col-white);
  --btn-col-text: var(--col-white);
  --btn-hover-col-background: var(--col-white);
  --btn-hover-col-border: var(--col-white);
  --btn-hover-col-text: var(--col-text);
  --focus-color: var(--col-white);
  --link-color: var(--col-white);
  --link-hover-color: var(--col-white);
  --link-underline-color: transparent;
  --link-hover-underline-color: var(--col-white);
}

.theme-purple .bg-primary, .theme-combination-1 .bg-primary, .theme-purple .bg-secondary, .theme-combination-1 .bg-secondary {
  --col-text-on-bg: var(--col-text);
}

:root {
  --form-border-color: #1e1e1e;
  --form-error-color: #D33B38;
  --form-border-color-error: var(--form-error-color);
  --form-bg-color: var(--col-white);
  --form-text-color: var(--col-copy);
  --form-label-fs: var(--p-font-size-s, 1rem);
  --form-placeholder-color: rgba(0,0,0,0.55);
  --form-text-muted: rgba(0,0,0,0.55);
  --form-accent: var(--col-blue-dark);
  --form-accent-bg: var(--col-white);
  --form-padding-y: 0.75rem;
  --form-padding-left: 0.75rem;
  --form-padding-right: 0.75rem;
  --form-border-radius: 3px;
  --form-border-width: 1px;
  --form-label-margin-bottom: 0.5rem;
  --form-group-margin-bottom: 2rem;
  --form-icon-padding: 2.25rem;
  --form-bg-color-disabled: #E8ECF1;
  --form-border-color-disabled: #A6B2C2;
  --form-text-color-disabled: #5A6C85;
  --form-border-color-hover: var(--col-primary-blue);
  --form-border-color-focus: var(--col-primary-blue);
  --form-outline-color-focus: var(--col-primary-blue);
  --form-outline-thickness-focus: 1px;
  --form-outline-offset-focus: unset;
  --form-focus-shadow: 0px 5px 10px 0px #0091D466;
  --form-error-shadow: 0px 5px 10px 0px rgba(220, 53, 69, 0.25);
  --dropdown-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
  --dropdown-border-radius: 30px;
  --dropdown-border-color: var(--form-border-color);
  --dropdown-border-width: var(--form-border-width);
  --dropdown-option-padding: var(--spacing-xxs) var(--spacing-xs);
}

.filter {
  --form-border-radius: 30px;
  --form-icon-padding: 3rem;
  --form-padding-left: 1rem;
  --form-padding-right: 1rem;
  --form-border-color-focus: var(--col-primary-blue);
  --form-outline-color-focus: var(--focus-color, var(--col-blue-dark));
  --form-outline-thickness-focus: 2px;
  --form-outline-offset-focus: 2px;
  --form-focus-shadow: none;
  --form-error-shadow: none;
}
.filter .form__input {
  padding: var(--form-padding-y) var(--form-padding-left) var(--form-padding-y) var(--form-padding-right);
}
.filter .form__input[type=email], .filter .form__input[type=url] {
  padding-right: var(--form-icon-padding);
}
.filter label:not(.form__check-label) {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}
.filter .form__input[type=date] {
  padding: calc(var(--form-padding-y) + 5px) var(--form-icon-padding) calc(var(--form-padding-y) - 5px) var(--form-padding-right);
  height: calc(26px + 2 * var(--form-padding-y));
}
.filter .content-filter__date-range .form__group, .filter .content-filter__date .form__group {
  position: relative;
}
.filter .content-filter__date-range .form__group label, .filter .content-filter__date .form__group label {
  width: unset !important;
  height: unset !important;
  margin: 0 !important;
  clip: unset !important;
  top: 3px;
  left: calc(var(--form-padding-right) + 1px);
  z-index: 101;
  font-size: 0.75rem;
  font-weight: 500;
  color: var(--form-placeholder-color);
  pointer-events: none;
}
.filter .form__check-input {
  padding: 0;
}
.filter .form__group.icon {
  --form-padding-left: var(--form-icon-padding);
}
.filter .form__input {
  background-position: right calc(var(--form-icon-padding) - 1.5rem) center;
}
.filter .form__input[type=date]::-webkit-calendar-picker-indicator {
  left: unset;
  right: 0;
  min-height: calc(26px + var(--form-padding-y) * 2);
  z-index: 100;
}
.filter .form__input[type=number] {
  background-position: calc(100% - 24px) 25%, calc(100% - 24px) 75%;
}
.filter .form__input[type=number]::-webkit-outer-spin-button, .filter .form__input[type=number]::-webkit-inner-spin-button {
  right: 24px;
}

.bg-blue-dark,
.theme-blue-dark .bg-theme {
  --form-border-color: var(--col-blue-dark);
  --form-alternate-border-color: var(--col-white);
}
.bg-blue-dark .file-upload,
.theme-blue-dark .bg-theme .file-upload {
  --upload-border-color: var(--col-white);
}

fieldset {
  margin: 0;
  padding: 0;
  border: none;
}

.form__group {
  position: relative;
  display: flex;
  flex-direction: column;
  margin-bottom: var(--form-group-margin-bottom);
}
.form__group.icon {
  --form-padding-left: var(--form-icon-padding);
}
.form__group.icon::before {
  content: none;
}
.form__group:last-child {
  margin-bottom: 0;
}

.form__label {
  margin-bottom: var(--form-label-margin-bottom);
  font-size: var(--form-label-fs, 1rem);
  font-weight: 600;
  color: var(--col-copy, var(--col-text));
}
.form__label > p:last-child {
  display: inline;
  margin-bottom: 0;
}
.form__label--required::after {
  content: " (erforderlich)";
  font-weight: 300;
}

form, .form__group {
  --btn-block-padding: 0.5835em;
}

input, select, textarea {
  width: 100%;
  padding: var(--form-padding-y) var(--form-padding-right) var(--form-padding-y) var(--form-padding-left);
  font-family: inherit;
  font-size: 1rem;
  font-weight: 300;
  line-height: 1.5;
  color: var(--col-text);
  background-color: var(--form-bg-color);
  background-clip: padding-box;
  background-image: var(--icon-file);
  background-repeat: no-repeat;
  background-size: 1em;
  background-position: left calc(var(--form-icon-padding) - 1.5rem) center;
  border: var(--form-border-width) solid var(--form-border-color);
  border-radius: var(--form-border-radius);
  transition: border 0.2s ease-in-out, outline 0.2s ease-in-out, background-color 0.2s ease-in-out, box-shadow 0.2s ease-in-out;
  appearance: none;
  outline: 0px solid transparent;
  outline-offset: -1px;
}
input::placeholder, select::placeholder, textarea::placeholder {
  color: var(--form-placeholder-color);
}
input:hover, select:hover, textarea:hover {
  --form-border-color: var(--form-border-color-hover);
}
input:focus, input:focus-visible, select:focus, select:focus-visible, textarea:focus, textarea:focus-visible {
  outline: var(--form-outline-thickness-focus) solid var(--form-outline-color-focus);
  outline-offset: var(--form-outline-offset-focus);
  border-color: var(--form-border-color-focus);
  box-shadow: var(--form-focus-shadow);
}
input:disabled, select:disabled, textarea:disabled {
  --form-border-color: var(--form-border-color-disabled);
  --form-placeholder-color: var(--form-text-color-disabled);
  cursor: not-allowed;
  background-color: var(--form-bg-color-disabled);
  opacity: 0.7;
}

.form__input--error {
  --form-border-width: 2px;
  --form-border-color: var(--form-border-color-error);
  --form-border-color-focus: var(--form-border-color-error);
  --form-focus-shadow: var(--form-error-shadow);
}
.form__input[type=date]::-webkit-calendar-picker-indicator {
  cursor: pointer;
}
.form__input[type=number]::-webkit-inner-spin-button, .form__input[type=number]::-webkit-outer-spin-button {
  height: auto;
}
.form__input[type=file] {
  overflow: hidden;
}
.form__input[type=file]:not(:disabled):not([readonly]) {
  cursor: pointer;
}
.form__input[type=email], .form__input[type=url], .form__input[type=date] {
  padding-left: var(--form-icon-padding);
}
.form__input[type=date] {
  --form-icon-padding: inherit;
  background-image: url(/build/images/calendar.51c5b745.svg);
  position: relative;
  min-height: calc(26px + var(--form-padding-y) * 2);
  z-index: 100;
  text-transform: uppercase;
}
@supports (-moz-appearance: none) {
  .form__input[type=date] {
    --form-icon-padding: var(--form-padding-right);
    background-image: none;
  }
}
.form__input[type=date]::-webkit-calendar-picker-indicator {
  position: absolute;
  left: 0;
  top: 0;
  color: transparent;
  background: transparent;
  width: var(--form-icon-padding);
  height: 100%;
  margin: 0;
  padding: 0;
  cursor: pointer;
  z-index: 5;
  pointer-events: all;
}
.form__input[type=email] {
  background-image: url(/build/images/envelope.53c3541f.svg);
}
.form__input[type=url] {
  background-image: url(/build/images/link-strong.b20ec789.svg);
}
.form__input[type=number] {
  position: relative;
  background-repeat: no-repeat;
  background-size: 12px 12px, 12px 12px;
  background-image: url(/build/images/angle-up.dc9f3e33.svg), url(/build/images/angle-down.5bf95e09.svg);
  background-position: calc(100% - 8px) 25%, calc(100% - 8px) 75%;
}
.form__input[type=number]::-webkit-outer-spin-button, .form__input[type=number]::-webkit-inner-spin-button {
  -webkit-appearance: inner-spin-button !important;
  position: absolute;
  top: 0;
  right: 8px;
  height: 100%;
  width: 12px;
  opacity: 0;
}

.form__select {
  padding-right: calc(var(--form-padding-right) * 3);
  background-image: url(/build/images/angle-down_strong.08ff8e4c.svg), var(--icon-file, none);
  background-repeat: no-repeat, no-repeat;
  background-position: right var(--form-padding-right) center, left calc(var(--form-icon-padding) - 1.5rem) center;
  background-size: 1.125rem, 1em;
  cursor: pointer;
}
.form__select--error {
  --form-border-width: 2px;
  --form-border-color: var(--form-border-color-error);
  --form-border-color-focus: var(--form-border-color-error);
  --form-outline-color-focus: var(--form-border-color-error);
  --form-focus-shadow: var(--form-error-shadow);
}
.form__select[multiple] {
  height: auto;
  padding-right: var(--form-padding-right);
  background-image: none;
}
.form__select[multiple] option {
  padding: 0.25rem 0.5rem;
}
.form__select option:disabled {
  color: var(--form-text-color-disabled);
}

.form__textarea {
  min-height: 8rem;
  border-radius: 3px;
  resize: vertical;
}
.form__textarea-wrapper {
  position: relative;
}
.form__textarea-wrapper .form__counter {
  position: absolute;
  bottom: 0.5rem;
  right: 1rem;
  font-size: var(--p-font-size-xs);
  font-weight: 300;
  color: var(--form-text-muted);
  text-align: right;
}
.form__textarea--error {
  --form-border-width: 2px;
  --form-border-color: var(--form-border-color-error);
  --form-border-color-focus: var(--form-border-color-error);
  --form-outline-color-focus: var(--form-border-color-error);
  --form-focus-shadow: var(--form-error-shadow);
}

.form__check {
  display: flex;
  gap: 0.75rem;
  padding-left: 1.5em;
  margin-bottom: 1.25rem;
}
.form__check-label {
  color: var(--col-copy, var(--col-text));
}
.form__check:last-child {
  margin-bottom: 0;
}

.form__check-input {
  flex-shrink: 0;
  width: 1.5em;
  height: 1.5em;
  min-width: 1.5em;
  min-height: 1.5em;
  padding: 0;
  margin-left: -1.5em;
  vertical-align: top;
  background-color: var(--form-accent-bg);
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  border: var(--form-border-width) solid var(--form-border-color);
  appearance: none;
  cursor: pointer;
  transition: all 0.15s ease-in-out;
}
.form__check-input[type=checkbox] {
  border-radius: 3px;
}
.form__check-input[type=radio] {
  border-radius: 50%;
}
.form__check-input:checked {
  background-color: var(--form-accent);
  border-color: var(--form-alternate-border-color, var(--form-accent));
}
.form__check-input:checked[type=checkbox] {
  background-image: url("data:image/svg+xml,%3Csvg width=%2714%27 height=%2714%27 viewBox=%27-4 -4 22 22%27 fill=%27none%27 xmlns=%27http://www.w3.org/2000/svg%27%3E%3Cpath d=%27M14 3.45076L13.2748 4.13842L5.65751 11.3525L4.96986 12.0027L4.28221 11.3525L0.725162 7.98615L0 7.2985L1.37531 5.84505L2.10047 6.5327L4.96986 9.24893L11.8995 2.68497L12.6247 1.99731L14 3.45076Z%27 fill=%27white%27/%3E%3C/svg%3E");
}
.form__check-input:checked[type=radio] {
  background-image: url("data:image/svg+xml,%3csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%27-5 -5 10 10%27%3e%3ccircle r=%272%27 fill=%27%23fff%27/%3e%3c/svg%3e");
}
.form__check-input--error {
  --form-border-width: 2px;
  --form-border-color: var(--form-border-color-error);
  --form-border-color-focus: var(--form-border-color-error);
  --form-outline-color-focus: var(--form-border-color-error);
  --form-focus-shadow: var(--form-error-shadow);
}
.form__check-input--error:checked {
  background-color: var(--form-border-color-error);
  border-color: var(--form-border-color-error);
}

.form__check-label {
  cursor: pointer;
  font-size: var(--form-label-fs, 1rem);
  font-weight: 300;
  color: var(--col-copy, var(--col-text));
}
.form__check-input:disabled ~ .form__check-label {
  cursor: default;
  opacity: 0.7;
}
.form__check-label--required::after {
  content: " (erforderlich)";
  font-weight: 300;
}

.form__check--icon {
  display: inline-block;
  padding: 0;
  margin: 0;
  min-height: auto;
}

.form__check-input--icon {
  position: absolute;
  opacity: 0;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}
.form__check-input--icon:checked + .form__check-label--icon {
  background-color: var(--form-icon-checkbox-checked-bg, var(--col-blue-dark));
  color: var(--form-icon-checkbox-checked-color, var(--col-white));
  border-color: var(--form-icon-checkbox-checked-border, var(--col-white));
}
.form__check-input--icon:checked + .form__check-label--icon::after {
  content: "";
  color: var(--form-icon-checkbox-checked-bg, var(--col-blue-dark));
  background-color: var(--form-icon-checkbox-checked-border, var(--col-white));
  border-radius: 50%;
  position: absolute;
  top: -2px;
  right: -2px;
  width: 18px;
  height: 18px;
  background-image: url("data:image/svg+xml,%3csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 20 20%27%3e%3cpath fill=%27none%27 stroke=%27currentColor%27 stroke-linecap=%27round%27 stroke-linejoin=%27round%27 stroke-width=%273%27 d=%27m6 10 3 3 6-6%27/%3e%3c/svg%3e");
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  opacity: 1;
}
.form__check-input--icon:not(:disabled):hover + .form__check-label--icon {
  border-color: var(--form-icon-checkbox-checked-border, var(--col-white));
}
.form__check-input--icon:not(:disabled):active + .form__check-label--icon {
  transform: scale(0.95);
}
.form__check-input--icon:disabled + .form__check-label--icon {
  opacity: 0.5;
  cursor: not-allowed;
  background-color: var(--form-bg-color-disabled);
}
.form__check-input--icon:disabled + .form__check-label--icon:hover {
  transform: none;
  box-shadow: none;
}
.form__check-input--icon.form__check-input--error + .form__check-label--icon {
  border-color: var(--form-border-color-error);
  box-shadow: 0 0 0 3px rgba(220, 53, 69, 0.1);
}

.form__check-label--icon {
  --icon-checkbox-size: 48px;
  --icon-checkbox-icon-size: 24px;
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: var(--icon-checkbox-size);
  height: var(--icon-checkbox-size);
  padding: 0;
  border-radius: 50%;
  background-color: var(--form-icon-checkbox-bg, var(--col-primary-blue));
  color: var(--form-icon-checkbox-color, var(--col-white));
  border: 2px solid var(--form-icon-checkbox-border, var(--col-primary-blue));
  cursor: pointer;
  transition: all 0.2s ease-in-out;
  user-select: none;
}
.form__check-label--icon .icon {
  font-size: var(--icon-checkbox-icon-size);
  margin: 0;
  pointer-events: none;
}
.form__check-label--icon .icon::before {
  width: 1em;
  height: 1em;
}
@media (prefers-color-scheme: dark) {
  .form__check-label--icon {
    --form-icon-checkbox-bg: var(--col-blue-dark);
    --form-icon-checkbox-color: var(--col-white);
  }
}

.form__check-group--icons {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
  align-items: center;
}
.form__check-group--icons .form__check--icon {
  margin: 0;
}

.form__help {
  display: block;
  flex: 2;
  margin-top: 0.25rem;
  font-size: 0.875em;
  color: var(--form-text-muted);
}

.form__error {
  display: block;
  margin-top: 0.25rem;
  font-size: 0.875em;
  color: var(--form-error-color);
}

.form__required {
  content: " (erforderlich)";
  font-weight: 300;
}

.block_eom_form {
  --h3-margin: 30px;
  --h4-margin: 30px;
  --h3-fs: var(--h4-fs-default);
}
.block_eom_form div:has(> .btn) {
  margin-bottom: var(--form-group-margin-bottom);
}
.block_eom_form button[type=submit] {
  --btn-col-background: var(--col-blue-dark);
  --btn-col-border: var(--col-blue-dark);
  --btn-col-text: var(--col-white);
  --btn-hover-col-background: var(--col-white);
  --btn-hover-col-border: var(--col-text);
  --btn-hover-col-text: var(--col-text);
}

/**
 * Swiper 11.2.10
 * Most modern mobile touch slider and framework with hardware accelerated transitions
 * https://swiperjs.com
 *
 * Copyright 2014-2025 Vladimir Kharlampidi
 *
 * Released under the MIT License
 *
 * Released on: June 28, 2025
 */
@font-face {
  font-family: "swiper-icons";
  src: url("data:application/font-woff;charset=utf-8;base64, d09GRgABAAAAAAZgABAAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABGRlRNAAAGRAAAABoAAAAci6qHkUdERUYAAAWgAAAAIwAAACQAYABXR1BPUwAABhQAAAAuAAAANuAY7+xHU1VCAAAFxAAAAFAAAABm2fPczU9TLzIAAAHcAAAASgAAAGBP9V5RY21hcAAAAkQAAACIAAABYt6F0cBjdnQgAAACzAAAAAQAAAAEABEBRGdhc3AAAAWYAAAACAAAAAj//wADZ2x5ZgAAAywAAADMAAAD2MHtryVoZWFkAAABbAAAADAAAAA2E2+eoWhoZWEAAAGcAAAAHwAAACQC9gDzaG10eAAAAigAAAAZAAAArgJkABFsb2NhAAAC0AAAAFoAAABaFQAUGG1heHAAAAG8AAAAHwAAACAAcABAbmFtZQAAA/gAAAE5AAACXvFdBwlwb3N0AAAFNAAAAGIAAACE5s74hXjaY2BkYGAAYpf5Hu/j+W2+MnAzMYDAzaX6QjD6/4//Bxj5GA8AuRwMYGkAPywL13jaY2BkYGA88P8Agx4j+/8fQDYfA1AEBWgDAIB2BOoAeNpjYGRgYNBh4GdgYgABEMnIABJzYNADCQAACWgAsQB42mNgYfzCOIGBlYGB0YcxjYGBwR1Kf2WQZGhhYGBiYGVmgAFGBiQQkOaawtDAoMBQxXjg/wEGPcYDDA4wNUA2CCgwsAAAO4EL6gAAeNpj2M0gyAACqxgGNWBkZ2D4/wMA+xkDdgAAAHjaY2BgYGaAYBkGRgYQiAHyGMF8FgYHIM3DwMHABGQrMOgyWDLEM1T9/w8UBfEMgLzE////P/5//f/V/xv+r4eaAAeMbAxwIUYmIMHEgKYAYjUcsDAwsLKxc3BycfPw8jEQA/gZBASFhEVExcQlJKWkZWTl5BUUlZRVVNXUNTQZBgMAAMR+E+gAEQFEAAAAKgAqACoANAA+AEgAUgBcAGYAcAB6AIQAjgCYAKIArAC2AMAAygDUAN4A6ADyAPwBBgEQARoBJAEuATgBQgFMAVYBYAFqAXQBfgGIAZIBnAGmAbIBzgHsAAB42u2NMQ6CUAyGW568x9AneYYgm4MJbhKFaExIOAVX8ApewSt4Bic4AfeAid3VOBixDxfPYEza5O+Xfi04YADggiUIULCuEJK8VhO4bSvpdnktHI5QCYtdi2sl8ZnXaHlqUrNKzdKcT8cjlq+rwZSvIVczNiezsfnP/uznmfPFBNODM2K7MTQ45YEAZqGP81AmGGcF3iPqOop0r1SPTaTbVkfUe4HXj97wYE+yNwWYxwWu4v1ugWHgo3S1XdZEVqWM7ET0cfnLGxWfkgR42o2PvWrDMBSFj/IHLaF0zKjRgdiVMwScNRAoWUoH78Y2icB/yIY09An6AH2Bdu/UB+yxopYshQiEvnvu0dURgDt8QeC8PDw7Fpji3fEA4z/PEJ6YOB5hKh4dj3EvXhxPqH/SKUY3rJ7srZ4FZnh1PMAtPhwP6fl2PMJMPDgeQ4rY8YT6Gzao0eAEA409DuggmTnFnOcSCiEiLMgxCiTI6Cq5DZUd3Qmp10vO0LaLTd2cjN4fOumlc7lUYbSQcZFkutRG7g6JKZKy0RmdLY680CDnEJ+UMkpFFe1RN7nxdVpXrC4aTtnaurOnYercZg2YVmLN/d/gczfEimrE/fs/bOuq29Zmn8tloORaXgZgGa78yO9/cnXm2BpaGvq25Dv9S4E9+5SIc9PqupJKhYFSSl47+Qcr1mYNAAAAeNptw0cKwkAAAMDZJA8Q7OUJvkLsPfZ6zFVERPy8qHh2YER+3i/BP83vIBLLySsoKimrqKqpa2hp6+jq6RsYGhmbmJqZSy0sraxtbO3sHRydnEMU4uR6yx7JJXveP7WrDycAAAAAAAH//wACeNpjYGRgYOABYhkgZgJCZgZNBkYGLQZtIJsFLMYAAAw3ALgAeNolizEKgDAQBCchRbC2sFER0YD6qVQiBCv/H9ezGI6Z5XBAw8CBK/m5iQQVauVbXLnOrMZv2oLdKFa8Pjuru2hJzGabmOSLzNMzvutpB3N42mNgZGBg4GKQYzBhYMxJLMlj4GBgAYow/P/PAJJhLM6sSoWKfWCAAwDAjgbRAAB42mNgYGBkAIIbCZo5IPrmUn0hGA0AO8EFTQAA") format("woff");
  font-weight: 400;
  font-style: normal;
}
:root {
  --swiper-theme-color: #007aff;
  /*
  --swiper-preloader-color: var(--swiper-theme-color);
  --swiper-wrapper-transition-timing-function: initial;
  */
}

:host {
  position: relative;
  display: block;
  margin-left: auto;
  margin-right: auto;
  z-index: 1;
}

.swiper {
  margin-left: auto;
  margin-right: auto;
  position: relative;
  overflow: hidden;
  list-style: none;
  padding: 0;
  /* Fix of Webkit flickering */
  z-index: 1;
  display: block;
}

.swiper-vertical > .swiper-wrapper {
  flex-direction: column;
}

.swiper-wrapper {
  position: relative;
  width: 100%;
  height: 100%;
  z-index: 1;
  display: flex;
  transition-property: transform;
  transition-timing-function: var(--swiper-wrapper-transition-timing-function, initial);
  box-sizing: content-box;
}

.swiper-android .swiper-slide,
.swiper-ios .swiper-slide,
.swiper-wrapper {
  transform: translate3d(0px, 0, 0);
}

.swiper-horizontal {
  touch-action: pan-y;
}

.swiper-vertical {
  touch-action: pan-x;
}

.swiper-slide {
  flex-shrink: 0;
  width: 100%;
  height: 100%;
  position: relative;
  transition-property: transform;
  display: block;
}

.swiper-slide-invisible-blank {
  visibility: hidden;
}

/* Auto Height */
.swiper-autoheight,
.swiper-autoheight .swiper-slide {
  height: auto;
}

.swiper-autoheight .swiper-wrapper {
  align-items: flex-start;
  transition-property: transform, height;
}

.swiper-backface-hidden .swiper-slide {
  transform: translateZ(0);
  backface-visibility: hidden;
}

/* 3D Effects */
.swiper-3d.swiper-css-mode .swiper-wrapper {
  perspective: 1200px;
}

.swiper-3d .swiper-wrapper {
  transform-style: preserve-3d;
}

.swiper-3d {
  perspective: 1200px;
}
.swiper-3d .swiper-slide,
.swiper-3d .swiper-cube-shadow {
  transform-style: preserve-3d;
}

/* CSS Mode */
.swiper-css-mode > .swiper-wrapper {
  overflow: auto;
  scrollbar-width: none; /* For Firefox */
  -ms-overflow-style: none; /* For Internet Explorer and Edge */
}
.swiper-css-mode > .swiper-wrapper::-webkit-scrollbar {
  display: none;
}
.swiper-css-mode > .swiper-wrapper > .swiper-slide {
  scroll-snap-align: start start;
}
.swiper-css-mode.swiper-horizontal > .swiper-wrapper {
  scroll-snap-type: x mandatory;
}
.swiper-css-mode.swiper-vertical > .swiper-wrapper {
  scroll-snap-type: y mandatory;
}
.swiper-css-mode.swiper-free-mode > .swiper-wrapper {
  scroll-snap-type: none;
}
.swiper-css-mode.swiper-free-mode > .swiper-wrapper > .swiper-slide {
  scroll-snap-align: none;
}
.swiper-css-mode.swiper-centered > .swiper-wrapper::before {
  content: "";
  flex-shrink: 0;
  order: 9999;
}
.swiper-css-mode.swiper-centered > .swiper-wrapper > .swiper-slide {
  scroll-snap-align: center center;
  scroll-snap-stop: always;
}
.swiper-css-mode.swiper-centered.swiper-horizontal > .swiper-wrapper > .swiper-slide:first-child {
  margin-inline-start: var(--swiper-centered-offset-before);
}
.swiper-css-mode.swiper-centered.swiper-horizontal > .swiper-wrapper::before {
  height: 100%;
  min-height: 1px;
  width: var(--swiper-centered-offset-after);
}
.swiper-css-mode.swiper-centered.swiper-vertical > .swiper-wrapper > .swiper-slide:first-child {
  margin-block-start: var(--swiper-centered-offset-before);
}
.swiper-css-mode.swiper-centered.swiper-vertical > .swiper-wrapper::before {
  width: 100%;
  min-width: 1px;
  height: var(--swiper-centered-offset-after);
}

/* Slide styles start */
/* 3D Shadows */
.swiper-3d .swiper-slide-shadow,
.swiper-3d .swiper-slide-shadow-left,
.swiper-3d .swiper-slide-shadow-right,
.swiper-3d .swiper-slide-shadow-top,
.swiper-3d .swiper-slide-shadow-bottom,
.swiper-3d .swiper-slide-shadow,
.swiper-3d .swiper-slide-shadow-left,
.swiper-3d .swiper-slide-shadow-right,
.swiper-3d .swiper-slide-shadow-top,
.swiper-3d .swiper-slide-shadow-bottom {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  z-index: 10;
}
.swiper-3d .swiper-slide-shadow {
  background: rgba(0, 0, 0, 0.15);
}
.swiper-3d .swiper-slide-shadow-left {
  background-image: linear-gradient(to left, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
}
.swiper-3d .swiper-slide-shadow-right {
  background-image: linear-gradient(to right, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
}
.swiper-3d .swiper-slide-shadow-top {
  background-image: linear-gradient(to top, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
}
.swiper-3d .swiper-slide-shadow-bottom {
  background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
}

.swiper-lazy-preloader {
  width: 42px;
  height: 42px;
  position: absolute;
  left: 50%;
  top: 50%;
  margin-left: -21px;
  margin-top: -21px;
  z-index: 10;
  transform-origin: 50%;
  box-sizing: border-box;
  border: 4px solid var(--swiper-preloader-color, var(--swiper-theme-color));
  border-radius: 50%;
  border-top-color: transparent;
}

.swiper:not(.swiper-watch-progress) .swiper-lazy-preloader,
.swiper-watch-progress .swiper-slide-visible .swiper-lazy-preloader {
  animation: swiper-preloader-spin 1s infinite linear;
}

.swiper-lazy-preloader-white {
  --swiper-preloader-color: #fff;
}

.swiper-lazy-preloader-black {
  --swiper-preloader-color: #000;
}

@keyframes swiper-preloader-spin {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}
/* Slide styles end */
:root {
  --swiper-navigation-size: 44px;
  /*
  --swiper-navigation-top-offset: 50%;
  --swiper-navigation-sides-offset: 10px;
  --swiper-navigation-color: var(--swiper-theme-color);
  */
}

.swiper-button-prev,
.swiper-button-next {
  position: absolute;
  top: var(--swiper-navigation-top-offset, 50%);
  width: calc(var(--swiper-navigation-size) / 44 * 27);
  height: var(--swiper-navigation-size);
  margin-top: calc(0px - var(--swiper-navigation-size) / 2);
  z-index: 10;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--swiper-navigation-color, var(--swiper-theme-color));
}
.swiper-button-prev.swiper-button-disabled,
.swiper-button-next.swiper-button-disabled {
  opacity: 0.35;
  cursor: auto;
  pointer-events: none;
}
.swiper-button-prev.swiper-button-hidden,
.swiper-button-next.swiper-button-hidden {
  opacity: 0;
  cursor: auto;
  pointer-events: none;
}
.swiper-navigation-disabled .swiper-button-prev,
.swiper-navigation-disabled .swiper-button-next {
  display: none !important;
}
.swiper-button-prev svg,
.swiper-button-next svg {
  width: 100%;
  height: 100%;
  object-fit: contain;
  transform-origin: center;
}
.swiper-rtl .swiper-button-prev svg,
.swiper-rtl .swiper-button-next svg {
  transform: rotate(180deg);
}

.swiper-button-prev,
.swiper-rtl .swiper-button-next {
  left: var(--swiper-navigation-sides-offset, 10px);
  right: auto;
}

.swiper-button-next,
.swiper-rtl .swiper-button-prev {
  right: var(--swiper-navigation-sides-offset, 10px);
  left: auto;
}

.swiper-button-lock {
  display: none;
}

/* Navigation font start */
.swiper-button-prev:after,
.swiper-button-next:after {
  font-family: swiper-icons;
  font-size: var(--swiper-navigation-size);
  text-transform: none !important;
  letter-spacing: 0;
  font-variant: initial;
  line-height: 1;
}

.swiper-button-prev:after,
.swiper-rtl .swiper-button-next:after {
  content: "prev";
}

.swiper-button-next,
.swiper-rtl .swiper-button-prev {
  right: var(--swiper-navigation-sides-offset, 10px);
  left: auto;
}
.swiper-button-next:after,
.swiper-rtl .swiper-button-prev:after {
  content: "next";
}

/* Navigation font end */
.swiper-fade.swiper-free-mode .swiper-slide {
  transition-timing-function: ease-out;
}
.swiper-fade .swiper-slide {
  pointer-events: none;
  transition-property: opacity;
}
.swiper-fade .swiper-slide .swiper-slide {
  pointer-events: none;
}
.swiper-fade .swiper-slide-active, .swiper-fade .swiper-slide-active .swiper-slide-active {
  pointer-events: auto;
}

/* a11y */
.swiper .swiper-notification {
  position: absolute;
  left: 0;
  top: 0;
  pointer-events: none;
  opacity: 0;
  z-index: -1000;
}

.swiper-button-prev,
.swiper-button-next {
  background-color: var(--col-black-55);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: background-color 0.3s ease;
  width: var(--swiper-navigation-size);
  height: var(--swiper-navigation-size);
  will-change: background-color;
}
.swiper-button-prev::after,
.swiper-button-next::after {
  display: none;
}
.swiper-button-prev span,
.swiper-button-next span {
  font-size: 1.25rem;
}

.klaro.cm-as-context-notice {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

.klaro .cookie-modal .cm-btn.cm-btn-success,
.klaro .context-notice .cm-btn.cm-btn-success,
.klaro .cookie-notice .cm-btn.cm-btn-success,
.klaro .cookie-modal .cm-btn.cm-btn-success-var,
.klaro .context-notice .cm-btn.cm-btn-success-var,
.klaro .cookie-notice .cm-btn.cm-btn-success-var,
.klaro .cookie-modal .cm-btn.cm-btn-decline,
.klaro .context-notice .cm-btn.cm-btn-decline,
.klaro .cookie-notice .cm-btn.cm-btn-decline {
  background-color: var(--col-blue-dark) !important;
}
.klaro .cookie-modal .cm-btn.cm-btn-success:hover,
.klaro .context-notice .cm-btn.cm-btn-success:hover,
.klaro .cookie-notice .cm-btn.cm-btn-success:hover,
.klaro .cookie-modal .cm-btn.cm-btn-success-var:hover,
.klaro .context-notice .cm-btn.cm-btn-success-var:hover,
.klaro .cookie-notice .cm-btn.cm-btn-success-var:hover,
.klaro .cookie-modal .cm-btn.cm-btn-decline:hover,
.klaro .context-notice .cm-btn.cm-btn-decline:hover,
.klaro .cookie-notice .cm-btn.cm-btn-decline:hover {
  opacity: 0.8;
}

.klaro .context-notice {
  border-radius: 0 !important;
}

.klaro .cookie-modal .cm-list-input:not(:checked) ~ label .cm-switch .slider,
.klaro .cookie-modal input[type=checkbox]:not(:checked) ~ .cm-switch .slider {
  background-color: #808080 !important;
}

.klaro .cookie-modal .cm-list-input:checked ~ label .cm-switch .slider,
.klaro .cookie-modal input[type=checkbox]:checked ~ .cm-switch .slider {
  background-color: var(--col-blue-dark) !important;
}

.template.ibexa-preview header.header {
  pointer-events: none;
}
.template.ibexa-preview [data-call-to-action-text] {
  background-color: #eee;
  border: 1px dashed #ddd;
  outline: none;
}
.template.ibexa-preview .keyvisual [data-call-to-action-text]::after {
  content: "Keyvisual" !important;
}
.template.ibexa-preview .main [data-call-to-action-text]::after {
  content: "Main Content" !important;
}

[data-ez-block-id] {
  overflow: hidden !important;
}
[data-ez-block-id] .c-pb-block-preview__inner {
  width: 100%;
}

.image {
  position: relative;
  display: block;
  height: 100%;
}
.image__wrapper {
  position: relative;
}
.image picture {
  display: block;
  position: relative;
  height: 100%;
  background-color: transparent;
  overflow: hidden;
  border-radius: var(--image-border-radius, 0);
  aspect-ratio: var(--picture-aspect-ratio, unset);
}
.image picture.format-full-width {
  width: 100%;
  height: 100%;
}
.image picture.format-full-width img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: var(--image-focus-x, 50%) var(--image-focus-y, 50%);
}
.image picture img {
  margin: 0;
  height: 100%;
  object-fit: var(--image-object-fit, cover);
  object-position: var(--image-focus-x, 50%) var(--image-focus-y, 50%);
}
.image picture img.contain {
  object-fit: contain;
}
.image__img {
  display: block;
  max-width: 100%;
  height: 100%;
  opacity: 0;
  transition: opacity 0.2s ease-in-out;
}
.image__loader {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 1;
  transition: opacity 0.15s ease-in-out, visibility 0.15s;
  opacity: 1;
  visibility: visible;
  background-color: var(--image-loader-bg, transparent);
}
.image.is-loaded .image__loader {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
}
.image.is-loaded .image__img {
  opacity: 1;
}
.image .copyright {
  position: absolute;
  bottom: 0;
  right: 0;
  left: 0;
  height: 100%;
  overflow: hidden;
  z-index: 5;
  pointer-events: none;
}
.image .copyright .copyright__button {
  position: absolute;
  bottom: 0;
  right: 0;
  left: 0;
  padding: 1px 7px;
  transform: translate(calc(100% - 22px), calc(100% - 1.55em));
  background: rgba(255, 255, 255, 0.6);
  text-align: left;
  border: none;
  color: var(--col-text);
  font-size: var(--copyright-fs, 0.875rem);
  font-weight: 300;
  cursor: pointer;
  z-index: 1;
  transition: all 0.25s ease;
  pointer-events: auto;
}
.image .copyright .copyright__button span {
  transition: all 0.25s ease;
  color: transparent;
}
.image .copyright .copyright__button span::before {
  content: "© ";
}
.image .copyright .copyright__button:hover {
  background: rgba(255, 255, 255, 0.9);
}
.image .copyright .copyright__button.open {
  transform: translate(0, 0);
  background: rgba(255, 255, 255, 0.8);
  text-align: right;
  color: transparent;
}
.image .copyright .copyright__button.open span {
  color: var(--col-text);
}

.ibexa-preview .image .image__loader {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
}
.ibexa-preview .image .image__img {
  opacity: 1;
}

.badge {
  --badge-bg: var(--badge-bg-color, var(--col-grey-light, #e5e5e5));
  --badge-color: var(--badge-text-color, var(--col-text, #000));
  --badge-border-color: var(--badge-border, transparent);
  --badge-border-width: var(--badge-border-size, 1px);
  --badge-radius: var(--badge-border-radius, 25px);
  --badge-padding-y: var(--badge-py, 0.25em);
  --badge-padding-x: var(--badge-px, 0.8125em);
  --badge-font-size: var(--badge-fs, 0.875rem);
  --badge-font-weight: var(--badge-fw, 300);
  --badge-line-height: var(--badge-lh, 1.5);
  --badge-gap: var(--badge-icon-gap, 0.375em);
  --badge-min-height: var(--badge-height, auto);
  --badge-icon-size: var(--badge-icon-fs, 1em);
  --badge-icon-only-size: var(--badge-icon-only-fs, 1.25em);
  --badge-icon-only-padding: var(--badge-icon-only-px, 0.2em);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: var(--badge-gap);
  padding: var(--badge-padding-y) var(--badge-padding-x);
  min-height: var(--badge-min-height);
  background-color: var(--badge-bg);
  color: var(--badge-color);
  border: var(--badge-border-width) solid var(--badge-border-color);
  border-radius: var(--badge-radius);
  font-size: var(--badge-font-size);
  font-weight: var(--badge-font-weight);
  line-height: var(--badge-line-height);
  font-family: var(--font-primary, sans-serif);
  text-decoration: none;
  white-space: nowrap;
  vertical-align: middle;
  transition: all 0.2s ease;
}
.badge[href] {
  cursor: pointer;
}
.badge[href]:hover {
  --badge-bg: var(--badge-hover-bg, var(--badge-bg-color));
  --badge-color: var(--badge-hover-color, var(--badge-text-color));
  --badge-border-color: var(
      --badge-hover-border,
      var(--badge-border)
  );
  transform: translateY(-1px);
  text-decoration: none;
}
.badge[href]:focus-visible {
  outline: 2px solid var(--focus-color, var(--col-blue-dark));
  outline-offset: 2px;
}
.badge__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: var(--badge-icon-size);
  flex-shrink: 0;
}
.badge__text {
  display: inline-block;
}
.badge--small {
  --badge-padding-y: 0.125em;
  --badge-padding-x: 0.375em;
  --badge-font-size: 0.75rem;
  --badge-gap: 0.25em;
}
.badge--large {
  --badge-padding-y: 0.375em;
  --badge-padding-x: 0.75em;
  --badge-font-size: 1rem;
  --badge-gap: 0.5em;
  --badge-icon-only-fs: 1.5em;
  --badge-icon-only-px: 0.3em;
}
.badge--solid {
  --badge-border-width: 0;
}
.badge--outline {
  --badge-bg: transparent;
  --badge-border-color: var(--badge-bg-color, currentColor);
  --badge-color: var(--badge-border-color);
}
.badge--outline:hover {
  --badge-bg: var(--badge-bg-color);
  --badge-color: var(--badge-hover-color, white);
}
.badge--primary {
  --badge-bg-color: var(--col-primary-blue, #0091d4);
  --badge-text-color: white;
  --badge-hover-bg: var(--col-blue-dark, #005597);
}
.badge--secondary {
  --badge-bg-color: var(--col-blue-light, #96e0fe);
  --badge-text-color: var(--col-blue-dark, #005597);
  --badge-hover-bg: var(--col-primary-blue, #0091d4);
  --badge-hover-color: white;
}
.badge--turquoise {
  --badge-bg-color: var(--col-turquoise);
  --badge-text-color: var(--col-text);
  --badge-hover-bg: var(--col-petrol);
  --badge-hover-color: white;
}
.badge--lilac {
  --badge-bg-color: var(--col-lilac, #e1b7f6);
  --badge-text-color: var(--col-text);
  --badge-hover-bg: var(--col-purple);
  --badge-hover-color: white;
}
.badge--rose {
  --badge-bg-color: var(--col-rose);
  --badge-text-color: var(--col-text);
  --badge-hover-bg: var(--col-purple);
  --badge-hover-color: white;
}
.badge--neutral {
  --badge-bg-color: var(--col-grey-light, #e5e5e5);
  --badge-text-color: var(--col-text, #000);
  --badge-hover-bg: var(--col-grey, #ccc);
}
.badge--transparent {
  --badge-radius: 0px;
  --badge-bg-color: transparent;
  --badge-text-color: var(--col-text);
  --badge-icon-only-px: 0;
}
.badge--icon-only {
  --badge-radius: var(--badge-icon-radius, 50%);
  font-size: var(--badge-icon-only-size);
  padding: var(--badge-icon-only-padding);
  aspect-ratio: 1;
}
.badge--icon-only .badge__icon {
  margin: 0;
}
.badge:disabled, .badge[aria-disabled=true] {
  opacity: 0.5;
  cursor: not-allowed;
  pointer-events: none;
}
.bg-theme .badge--neutral, .theme-photo .badge--neutral {
  --badge-bg-color: var(--col-text-on-bg, white);
  --badge-text-color: var(--col-bg, var(--col-theme));
}
[class*=bg-][class*=dark] .badge--outline, .bg-photo .badge--outline {
  --badge-border-color: var(--col-text-on-bg, white);
  --badge-color: var(--col-text-on-bg, white);
}

.file-upload {
  position: relative;
  border-radius: var(--form-border-radius);
  display: flex;
}
.file-upload__input, .file-upload__input:disabled {
  padding: var(--form-padding-y) var(--form-padding-right) var(--form-padding-y) var(--form-padding-left);
  border: var(--form-border-width) solid var(--upload-border-color, var(--form-border-color));
  border-radius: var(--form-border-radius) 0 0 var(--form-border-radius);
  border-right: none;
  font-size: var(--p-font-size-s);
}
.file-upload__input::file-selector-button, .file-upload__input:disabled::file-selector-button {
  width: 0;
  padding: 0;
  border: none;
  opacity: 0;
}
.file-upload__label {
  display: flex;
  align-items: center;
  background-color: var(--form-bg-color);
  border-radius: var(--form-border-radius);
  cursor: pointer;
  transition: all 0.15s ease-in-out;
}
.file-upload__label:hover {
  --upload-border-color: var(--form-border-color-hover);
}
.file-upload__input:disabled + .file-upload__label {
  background-color: var(--form-bg-color-disabled);
  cursor: not-allowed;
}
.file-upload__input:disabled + .file-upload__label .file-upload__button,
.file-upload__input:disabled + .file-upload__label .file-upload__text {
  opacity: 0.5;
}
.file-upload:focus, .file-upload:focus-within {
  background-color: var(--form-border-color-focus);
  border: 1px solid var(--form-border-color-focus);
  outline: var(--form-outline-thickness-focus) solid var(--form-outline-color-focus);
  outline-offset: var(--form-outline-offset-focus);
  box-shadow: var(--form-focus-shadow);
}
.file-upload__button {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  font-size: var(--p-font-size-s);
  font-weight: var(--font-weight-medium, 500);
  color: var(--col-white);
  background-color: var(--col-blue-dark);
  white-space: nowrap;
  transition: background-color 0.15s ease-in-out;
  padding: var(--form-padding-y) var(--form-padding-right) var(--form-padding-y) var(--form-padding-left);
  border: var(--form-border-width) solid var(--upload-border-color, var(--col-blue-dark));
  border-radius: 0 var(--form-border-radius) var(--form-border-radius) 0;
}
.file-upload__button .icon {
  font-size: 1rem;
}
.file-upload__label:hover .file-upload__button {
  background-color: var(--col-blue-dark);
}
.file-upload--error {
  --upload-border-color: var(--form-border-color-error);
  --form-border-color-focus: var(--form-border-color-error);
  --form-outline-color-focus: var(--form-border-color-error);
  border-color: var(--form-border-color-error);
}
.file-upload--error .file-upload__label {
  background-color: #fef2f2;
}
.file-upload--error .file-upload__label .file-upload__button {
  background-color: var(--form-border-color-error);
}
.file-upload--disabled {
  --upload-border-color: var(--form-border-color-disabled);
  --form-border-color: var(--form-border-color-disabled);
  --form-placeholder-color: var(--form-text-color-disabled);
}
.file-upload--disabled .file-upload__label {
  background-color: var(--form-bg-color-disabled);
  cursor: not-allowed;
}
.file-upload--disabled .file-upload__button {
  background-color: var(--form-text-color-disabled);
  border-color: var(--form-border-color-disabled);
  cursor: not-allowed;
}
.file-upload__label:hover .file-upload--disabled .file-upload__button {
  background-color: var(--form-text-color-disabled);
}

.pagination {
  display: flex;
  justify-content: center;
  border-top: 1px solid var(--cl-item-border, var(--col-text));
  padding-top: var(--spacing-s);
  margin-bottom: var(--spacing-s);
}
.pagination__container {
  display: flex;
  align-items: center;
  gap: var(--spacing-xxs);
}
@media (min-width: 768px) {
  .pagination__container {
    gap: var(--spacing-xs);
  }
}
.pagination__pages {
  display: flex;
  align-items: center;
  gap: var(--spacing-xxs);
}
@media (min-width: 768px) {
  .pagination__pages {
    gap: var(--spacing-xs);
  }
}
.pagination__page {
  --btn-fs: 1rem;
  --btn-icon-size: 40px;
  --btn-block-padding: 0.5em;
  min-width: 40px;
  height: 40px;
  padding: 0;
  font-weight: var(--font-weight-light);
}
@media (min-width: 768px) {
  .pagination__page {
    --btn-icon-size: 48px;
    min-width: 48px;
    height: 48px;
  }
}
.pagination__page.btn--active {
  cursor: default;
  pointer-events: none;
}
.pagination__prev, .pagination__next {
  --btn-icon-size: 40px;
  --btn-col-background: transparent;
  --btn-col-border: transparent;
  --btn-col-text: var(--col-text);
}
@media (min-width: 768px) {
  .pagination__prev, .pagination__next {
    --btn-icon-size: 48px;
  }
}
.pagination__prev:disabled, .pagination__next:disabled {
  opacity: 0.3;
}

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

.spinner-border {
  display: inline-block;
  width: 1.5rem;
  height: 1.5rem;
  vertical-align: text-bottom;
  border: 0.125em solid currentColor;
  border-right-color: transparent;
  border-radius: 50%;
  animation: spinner-border 0.75s linear infinite;
}
.spinner-border--small {
  width: 1rem;
  height: 1rem;
}

@keyframes spinner-border {
  to {
    transform: rotate(360deg);
  }
}
.altcha {
  width: 100%;
  max-width: 300px;
  border: 1px solid var(--col-blue-dark);
  border-radius: 8px;
  background: var(--col-background);
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
  overflow: hidden;
}
.altcha[data-state=unverified] {
  border-color: var(--col-blue-dark);
  background: var(--col-background);
}
.altcha[data-state=verified] {
  background: var(--col-lilac);
  border-color: var(--col-purple);
}
.altcha[data-state=error] {
  border-color: var(--col-wine);
  background: var(--col-rose);
}
.altcha .altcha-error {
  display: none;
}
.altcha .altcha-main {
  padding: var(--spacing-xs);
  display: flex;
  align-items: center;
  gap: var(--spacing-xxs);
  position: relative;
}
.altcha .altcha-main .altcha-checkbox {
  flex-shrink: 0;
}
.altcha .altcha-main .altcha-checkbox input[type=checkbox] {
  width: 20px;
  height: 20px;
  border: 2px solid var(--col-blue-dark);
  border-radius: 4px;
  background: var(--col-background);
  cursor: pointer;
  margin: 0;
  appearance: none;
  position: relative;
}
.altcha .altcha-main .altcha-label {
  flex: 1;
  font-family: var(--font-primary);
  font-size: var(--p-font-size-xs);
  font-weight: var(--font-weight-medium);
  color: var(--col-text);
  cursor: pointer;
  margin: 0;
  line-height: 1.2;
}
.altcha .altcha-main input[type=hidden] {
  display: none;
}
.altcha .altcha-main > div:has(.altcha-logo) {
  margin-left: auto;
  flex-shrink: 0;
}
.altcha .altcha-main .altcha-logo {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 24px;
  height: 24px;
  color: var(--col-blue-dark);
  text-decoration: none;
  border-radius: 50%;
  transition: all 0.2s ease;
}
.altcha .altcha-main .altcha-logo:hover {
  background: rgba(0, 0, 0, 0.05);
  transform: scale(1.1);
}
.altcha .altcha-main .altcha-logo svg {
  width: 16px;
  height: 16px;
}
.altcha[data-state=verified] .altcha-checkbox input[type=checkbox] {
  background: var(--col-purple);
  border-color: var(--col-purple);
}
.altcha[data-state=verified] .altcha-checkbox input[type=checkbox]::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 12px;
  height: 12px;
  background-image: url("data:image/svg+xml,%3Csvg width=%2732%27 height=%2732%27 viewBox=%270 0 32 32%27 fill=%27none%27 xmlns=%27http://www.w3.org/2000/svg%27%3E%3Cpath d=%27M32 6.99644L30.7857 8.21073L12.6786 26.225L11.4714 27.4322L10.2643 26.225L1.21429 17.2179L0 16.0107L2.42143 13.5822L3.63571 14.7893L11.4714 22.5893L28.3643 5.77501L29.5786 4.56787L32 6.99644Z%27 fill=%27%23ffffff%27/%3E%3C/svg%3E");
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
}
.altcha[data-state=verified] .altcha-label {
  color: var(--col-purple);
  font-weight: var(--font-weight-medium);
}
.altcha[data-state=verified] .altcha-logo {
  color: var(--col-purple);
}
.altcha[data-state=error] .altcha-checkbox input[type=checkbox] {
  background: var(--col-wine);
  border-color: var(--col-wine);
}
.altcha[data-state=error] .altcha-checkbox input[type=checkbox]::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 12px;
  height: 12px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 width=%2754%27 height=%2754%27 viewBox=%270 0 54 54%27 fill=%27none%27%3E%3Cpath d=%27M4.70425 1.56808L3.13617 0L0 3.13617L1.56808 4.70425L23.8638 27L1.56808 49.2958L0 50.8638L3.13617 54L4.70425 52.4319L27 30.1362L49.2958 52.4319L50.8638 54L54 50.8638L52.4319 49.2958L30.1362 27L52.4319 4.70425L54 3.13617L50.8638 0L49.2958 1.56808L27 23.8638L4.70425 1.56808Z%27 fill=%27%23ffffff%27/%3E%3C/svg%3E");
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
}
.altcha[data-state=error] .altcha-label {
  color: var(--col-wine);
}
.altcha[data-state=error] .altcha-logo {
  color: var(--col-wine);
}
.altcha[data-state=unverified] .altcha-checkbox input[type=checkbox] {
  background: var(--col-background);
  border-color: var(--col-blue-dark);
}
.altcha[data-state=unverified] .altcha-label {
  color: var(--col-text);
}
.altcha[data-state=unverified] .altcha-logo {
  color: var(--col-blue-dark);
}
.altcha .altcha-footer {
  background: rgba(0, 0, 0, 0.02);
  padding: 6px var(--spacing-xxs);
  border-top: 1px solid rgba(0, 0, 0, 0.1);
  text-align: center;
}
.altcha .altcha-footer div {
  font-family: var(--font-primary);
  font-size: var(--p-font-size-xxs);
  color: var(--col-black-55);
  line-height: 1.2;
}
.altcha .altcha-footer div a {
  color: var(--col-blue-dark);
  text-decoration: none;
  font-weight: var(--font-weight-medium);
}
.altcha .altcha-footer div a:hover {
  text-decoration: underline;
}
.altcha[data-state=loading] .altcha-main {
  opacity: 0.7;
  pointer-events: none;
}
@media screen and (min-width: 768px) {
  .altcha .altcha-main {
    padding: var(--spacing-xs);
  }
  .altcha .altcha-main .altcha-checkbox input[type=checkbox] {
    width: 22px;
    height: 22px;
  }
  .altcha .altcha-main .altcha-label {
    font-size: var(--p-font-size-s);
  }
  .altcha .altcha-main .altcha-logo {
    width: 26px;
    height: 26px;
  }
  .altcha .altcha-main .altcha-logo svg {
    width: 18px;
    height: 18px;
  }
  .altcha .altcha-footer {
    padding: 8px var(--spacing-s);
  }
}

.audio-player {
  --audio-player-bg: var(--col-sand);
  --audio-player-text: var(--col-text);
  --audio-player-control-bg: var(--col-sand);
  --audio-player-control-hover: var(--col-bg, var(--col-white));
  --audio-player-progress-bg: rgba(40, 40, 40, 0.4);
  --audio-player-progress-fill: var(--col-text);
  --audio-player-spacing: var(--spacing-xs, 20px);
  background-color: var(--audio-player-bg);
  padding: 30px 20px 20px 20px;
  color: var(--audio-player-text);
  font-family: var(--font-primary, "Lexend", sans-serif);
}
.audio-player__header {
  display: flex;
  align-items: center;
  flex-direction: column;
  justify-content: space-between;
  margin-bottom: var(--spacing-xs, 20px);
}
.audio-player__title {
  flex: 1;
  width: 100%;
  overflow: hidden;
  text-align: center;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.audio-player__visualizer-container {
  margin: 0 auto;
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  width: 182px;
  height: 60px;
}
.audio-player__visualizer-bar {
  width: 6px;
  background-color: var(--audio-player-text);
  border-radius: 4px 4px 0 0;
  opacity: 1;
  transition: all 0.5s ease-out;
}
.audio-player__visualizer-bar--1 {
  height: 10px;
}
@starting-style {
  .audio-player__visualizer-bar--1 {
    height: var(--current-height, 10px);
  }
}
.audio-player__visualizer-bar--2 {
  height: 20px;
}
.audio-player__visualizer-bar--3 {
  height: 40px;
}
.audio-player__visualizer-bar--4 {
  height: 30px;
}
.audio-player__visualizer-bar--5 {
  height: 20px;
}
.audio-player__visualizer-bar--6 {
  height: 30px;
}
.audio-player__visualizer-bar--7 {
  height: 60px;
}
.audio-player__visualizer-bar--8 {
  height: 30px;
}
.audio-player__visualizer-bar--9 {
  height: 40px;
}
.audio-player__visualizer-bar--10 {
  height: 20px;
}
.audio-player__visualizer-bar--11 {
  height: 30px;
}
.audio-player__visualizer-bar--12 {
  height: 10px;
}
.audio-player__controls {
  display: flex;
  align-items: center;
  gap: var(--spacing-xs, 20px);
}
.audio-player__play-pause {
  flex-shrink: 0;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  border: 1px solid transparent;
  background-color: transparent;
  color: var(--col-text);
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  transition: all 0.2s ease, transform 0.1s ease;
}
.audio-player__play-pause:hover {
  background-color: var(--audio-player-control-hover);
  border: 1px solid var(--col-text);
}
.audio-player__play-pause:active {
  transform: scale(0.95);
}
.audio-player__play-pause .audio-player__icon {
  width: 36px;
  height: 36px;
}
.audio-player__play-pause .audio-player__icon--pause {
  display: none;
}
.audio-player__play-pause:focus-visible {
  outline: var(--focus-outline-thickness, 2px) solid var(--focus-color);
  outline-offset: var(--focus-outline-offset, 2px);
  border-color: var(--focus-color);
}
.audio-player__play-pause[aria-pressed=true] .audio-player__icon--play {
  display: none;
}
.audio-player__play-pause[aria-pressed=true] .audio-player__icon--pause {
  display: block;
}
.audio-player__progress-container {
  display: flex;
  flex-direction: row;
  flex: 1;
  min-width: 0;
  align-items: center;
  gap: var(--audio-player-spacing);
}
.audio-player__time-display {
  display: flex;
  align-items: end;
  gap: 0.25rem;
  font-size: 1rem;
  font-weight: 300;
  color: var(--audio-player-text);
  font-variant-numeric: tabular-nums;
}
.audio-player__separator {
  opacity: 0.5;
}
.audio-player__duration {
  opacity: 0.5;
}
.audio-player__progress-wrapper {
  position: relative;
  width: 100%;
}
.audio-player__progress {
  position: relative;
  height: 4px;
  background-color: var(--audio-player-progress-bg);
  cursor: pointer;
  overflow: visible;
}
.audio-player__progress:focus-visible {
  outline: var(--focus-outline-thickness, 2px) solid var(--focus-color);
  outline-offset: var(--focus-outline-offset, 2px);
}
.audio-player__progress-bar {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border-radius: 3px;
  pointer-events: none;
}
.audio-player__progress-fill {
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  background-color: var(--audio-player-progress-fill);
  border-radius: 3px;
  width: 0%;
  transition: width 0.1s ease;
  pointer-events: none;
}
.audio-player__progress-handle {
  position: absolute;
  top: 50%;
  left: clamp(6px, var(--progress, 6px), 100% - 6px);
  transform: translate(-50%, -50%);
  width: 15px;
  height: 15px;
  background-color: var(--audio-player-progress-fill);
  border: 2px solid var(--audio-player-progress-fill);
  border-radius: 50%;
  opacity: 1;
  transition: opacity 0.2s ease;
  pointer-events: none;
}
.audio-player__progress:hover .audio-player__progress-handle, .audio-player__progress:focus-visible .audio-player__progress-handle {
  opacity: 1;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.5);
}
.audio-player__volume-container {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  flex-shrink: 0;
}
@media (max-width: 640px) {
  .audio-player__volume-container {
    display: none;
  }
}
.audio-player__mute {
  width: 32px;
  height: 32px;
  border: 1px solid transparent;
  border-radius: 50%;
  background: transparent;
  color: var(--audio-player-text);
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.2s ease;
}
.audio-player__mute:hover {
  background-color: var(--audio-player-control-hover);
  border: 1px solid var(--col-text);
}
.audio-player__mute:focus-visible {
  outline: var(--focus-outline-thickness, 2px) solid var(--focus-color);
  outline-offset: var(--focus-outline-offset, 2px);
  border-color: var(--focus-color);
}
.audio-player__mute .audio-player__icon {
  width: 24px;
  height: 24px;
}
.audio-player__mute .audio-player__icon--muted {
  display: none;
}
.audio-player__mute[aria-pressed=true] .audio-player__icon--volume {
  display: none;
}
.audio-player__mute[aria-pressed=true] .audio-player__icon--muted {
  display: block;
}
.audio-player__volume {
  position: relative;
  width: 80px;
  height: 4px;
  background-color: var(--audio-player-progress-bg);
  cursor: pointer;
}
.audio-player__volume:focus-visible {
  outline: var(--focus-outline-thickness, 2px) solid var(--focus-color);
  outline-offset: var(--focus-outline-offset, 2px);
  border-color: var(--focus-color);
}
.audio-player__volume-bar {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 4px;
  pointer-events: none;
}
.audio-player__volume-fill {
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  background-color: var(--audio-player-progress-fill);
  width: 100%;
  transition: width 0.1s ease;
  pointer-events: none;
}
.audio-player__volume-handle {
  position: absolute;
  top: 50%;
  left: clamp(6px, var(--volume-level, calc(100% - 6px)), 100% - 6px);
  transform: translate(-50%, -50%);
  width: 15px;
  height: 15px;
  background-color: var(--audio-player-progress-fill);
  border: 2px solid var(--audio-player-progress-fill);
  border-radius: 50%;
  opacity: 1;
  transition: opacity 0.2s ease;
  pointer-events: none;
}
.audio-player__volume:hover .audio-player__volume-handle, .audio-player__volume:focus-visible .audio-player__volume-handle {
  opacity: 1;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.5);
}
.audio-player--loading .audio-player__play-pause {
  opacity: 0.5;
  cursor: wait;
}
.audio-player__icon {
  display: block;
}
.audio-player--playing .audio-player__visualizer-bar {
  opacity: 0.3;
  animation: dance var(--animation-duration, 1.2s) ease-in-out infinite;
  transition: all 0.2s ease-out;
}
.audio-player--playing .audio-player__visualizer-bar--1 {
  animation-duration: 1.1s;
  animation-delay: 0s;
}
.audio-player--playing .audio-player__visualizer-bar--2 {
  animation-duration: 0.9s;
  animation-delay: 0.1s;
}
.audio-player--playing .audio-player__visualizer-bar--3 {
  animation-duration: 1.3s;
  animation-delay: 0.05s;
}
.audio-player--playing .audio-player__visualizer-bar--4 {
  animation-duration: 1s;
  animation-delay: 0.15s;
}
.audio-player--playing .audio-player__visualizer-bar--5 {
  animation-duration: 1.2s;
  animation-delay: 0.2s;
}
.audio-player--playing .audio-player__visualizer-bar--6 {
  animation-duration: 0.95s;
  animation-delay: 0.08s;
}
.audio-player--playing .audio-player__visualizer-bar--7 {
  animation-duration: 1.4s;
  animation-delay: 0.12s;
}
.audio-player--playing .audio-player__visualizer-bar--8 {
  animation-duration: 1.15s;
  animation-delay: 0.18s;
}
.audio-player--playing .audio-player__visualizer-bar--9 {
  animation-duration: 1.25s;
  animation-delay: 0.03s;
}
.audio-player--playing .audio-player__visualizer-bar--10 {
  animation-duration: 0.85s;
  animation-delay: 0.22s;
}
.audio-player--playing .audio-player__visualizer-bar--11 {
  animation-duration: 1.05s;
  animation-delay: 0.14s;
}
.audio-player--playing .audio-player__visualizer-bar--12 {
  animation-duration: 1.35s;
  animation-delay: 0.07s;
}

[class*=bg-]:not(.bg-transparent, .bg-white) .audio-player {
  --audio-player-bg: var(--col-white);
  --audio-player-control-bg: var(--col-white);
  --focus-color: var(--col-blue-dark);
}

@keyframes dance {
  0%, 100% {
    height: var(--height-min, 15px);
  }
  25% {
    height: calc(var(--height-min, 15px) + 20px);
  }
  50% {
    height: var(--height-max, 50px);
  }
  75% {
    height: calc(var(--height-min, 15px) + 35px);
  }
}
.liturgycalendar-detail {
  --badge-fs: var(--p-font-size-m);
  --badge-px: 10px;
  --badge-border-width: 2px;
  display: flex;
  flex-direction: column;
  gap: var(--spacing-s);
}
.liturgycalendar-detail__header {
  display: flex;
  flex-direction: column;
}
.liturgycalendar-detail__date {
  display: block;
  font-size: var(--p-font-size-l);
  font-weight: 300;
  margin-bottom: 20px;
}
.liturgycalendar-detail__title {
  margin: 0;
}
.liturgycalendar-detail__saint {
  display: none;
}
.liturgycalendar-detail__readings, .liturgycalendar-detail__gospel {
  display: flex;
  flex-direction: column;
  gap: var(--spacing-m);
}
.liturgycalendar-detail__empty {
  padding: var(--spacing-l) 0;
  text-align: center;
  color: var(--col-text-secondary, #666);
}

.liturgycalendar-reading {
  display: flex;
  flex-direction: column;
  gap: var(--spacing-xs);
}
.liturgycalendar-reading__header {
  display: flex;
  align-items: center;
  gap: var(--spacing-xxs);
  flex-wrap: wrap;
  padding-top: var(--spacing-s);
  border-top: 1px solid var(--col-black, #1e1e1e);
}
.liturgycalendar-reading__title {
  margin: 0;
}
.liturgycalendar-reading__subtitle {
  margin: 0;
  font-size: 1rem;
  font-weight: 600;
  line-height: 1.5;
  color: var(--col-text);
}
.liturgycalendar-reading__content {
  font-size: 1rem;
  line-height: 1.7;
  color: var(--col-text);
}
.liturgycalendar-reading__content p {
  margin: 0 0 var(--spacing-xs) 0;
}
.liturgycalendar-reading__content p:last-child {
  margin-bottom: 0;
}
.liturgycalendar-reading__content strong {
  font-weight: 600;
}
.liturgycalendar-reading__content em {
  font-style: italic;
}
.liturgycalendar-reading__content sup {
  font-size: 0.75em;
  color: var(--col-text-secondary, #666);
}

.btn {
  display: inline-flex;
  width: fit-content;
  align-items: center;
  justify-content: center;
  padding: var(--btn-block-padding, 0.35em) 1em;
  border-radius: 50px;
  font-family: var(--font-primary);
  font-weight: var(--font-weight-light);
  text-decoration: none;
  cursor: pointer;
  transition: all 0.2s cubic-bezier(0.25, 0.1, 0.25, 1);
  text-transform: uppercase;
  text-align: center;
  border: 1px solid var(--btn-col-border, var(--col-black));
  background-color: var(--btn-col-background, transparent);
  color: var(--btn-col-text, var(--col-black));
  font-size: var(--btn-fs, 18px);
}
.btn:hover {
  background-color: var(--btn-hover-col-background, var(--col-blue-dark));
  border-color: var(--btn-hover-col-border, var(--col-blue-dark));
  color: var(--btn-hover-col-text, var(--col-white));
  text-decoration: none;
}
.btn:focus-visible {
  outline: 2px solid var(--focus-color, var(--col-blue-dark));
  outline-offset: var(--focus-offset, 2px);
}
.btn--small, .btn--small.btn--has-icon {
  padding: 4px 13px;
  text-transform: none;
  font-size: 14px;
  width: auto;
  border-radius: 50px;
}
.btn--small.btn--primary, .btn--small.btn--has-icon.btn--primary {
  font-size: 14px;
}
.btn--small .btn_icon, .btn--small.btn--has-icon .btn_icon {
  margin-right: 8px;
}
.btn--small .btn__text, .btn--small.btn--has-icon .btn__text {
  display: unset;
}
.btn--small .icon, .btn--small.btn--has-icon .icon {
  font-size: 14px;
}
.btn--has-icon .btn__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: var(--btn-icon-fontsize, 18px);
}
.btn--has-icon {
  width: var(--btn-icon-size, 40px);
  height: var(--btn-icon-size, 40px);
  padding: 0;
  border-radius: 100%;
}
.btn--has-icon .btn__text {
  display: none;
}
.btn--has-icon .btn__icon {
  margin: 0;
}
@media (min-width: 768px) {
  .btn--has-icon {
    width: auto;
    height: auto;
    padding: 0.35em 1em;
    border-radius: 50px;
  }
  .btn--has-icon .btn__icon {
    margin-right: 8px;
  }
  .btn--has-icon .btn__text {
    display: inline;
  }
}
.btn--text-link {
  padding: 0.25em 0.5em;
  border: none;
  background-color: transparent;
  color: var(--btn-text-link-col, var(--col-text-on-bg));
  text-transform: none;
  font-weight: var(--p-font-weight, var(--p-font-weight-default));
  text-decoration: underline;
  text-decoration-color: currentColor;
  text-underline-offset: 3px;
}
.btn--text-link:hover {
  background-color: transparent;
  border-color: transparent;
  color: var(--btn-text-link-hover-col, var(--col-primary-blue));
  text-decoration-color: currentColor;
}
.btn--text-link:focus-visible {
  outline: 2px solid var(--focus-color, var(--col-blue-dark));
  outline-offset: var(--focus-offset, 2px);
  border-radius: 4px;
}
.btn--text-link.btn--has-icon {
  width: auto;
  height: auto;
  border-radius: 4px;
}
.btn--text-link.btn--has-icon .btn__text {
  display: inline;
}
.btn--text-link.btn--has-icon .btn__icon {
  margin-right: 0.5em;
}
.btn--icon-only {
  padding: 0;
  flex-shrink: 0;
  border-radius: var(--btn-icon-size, 40px);
  width: var(--btn-icon-size, 40px);
  height: var(--btn-icon-size, 40px);
}
.btn--icon-only .btn__icon {
  margin: 0;
  font-size: var(--btn-icon-fontsize, 18px);
}
.btn--active.btn--primary {
  background-color: var(--col-primary-blue);
  border-color: var(--col-primary-blue);
  color: white;
}
.btn:disabled, .btn[disabled], .btn.disabled {
  opacity: 0.5;
  cursor: not-allowed;
  pointer-events: none;
  transform: translateY(0) !important;
}

/* For a tags that need disabled styling (since they don't support the disabled attribute) */
a.btn.disabled {
  opacity: 0.5;
  cursor: not-allowed;
  pointer-events: none;
}

.link-item {
  --link-item-color: var(--col-copy, var(--col-text));
  --link-item-border-color: var(--col-copy, var(--col-text));
  --link-item-hover-color: var(--col-primary-blue);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--spacing-xs);
  padding: var(--spacing-xs) 5px;
  text-decoration: none;
  color: var(--link-item-color, var(--col-text));
  border-top: 1px solid var(--link-item-border-color, var(--col-text));
  transition: all 0.2s ease-in-out;
}
.link-item:hover .link-item__icon {
  transform: translateX(-4px);
}
.link-item:focus-visible {
  outline: 2px solid var(--focus-color, var(--col-blue-dark));
  outline-offset: var(--focus-offset, 2px);
}
.link-item__text {
  flex: 1;
  font-size: var(--p-font-size-default);
  font-weight: var(--font-weight-light);
  line-height: 1.5;
}
.link-item__icon {
  flex-shrink: 0;
  font-size: 1.25rem;
  transition: transform 0.2s ease-in-out;
}

.site-header__navigation {
  --main-nav-width: min(600px, 100vw);
  --main-nav-height: max(calc(var(--body-height) - var(--spacing-xxl)), 100vh);
  --main-nav-col-bg: var(--col-bg);
  --main-nav-padding-top: var(--spacing-xl);
  z-index: 10000;
  position: absolute;
  display: none;
  opacity: 0;
  right: 0;
  top: calc(var(--header-padding) * -1);
  color: var(--col-white);
  width: var(--main-nav-width);
  height: var(--main-nav-height);
  padding-top: calc(var(--main-nav-padding-top) * 0.5);
  padding-inline: var(--nav-padding-inline);
  background-color: var(--main-nav-col-bg);
  transform: translateX(var(--main-nav-width));
  transition-property: opacity, display, transform;
  transition-duration: 0.3s;
  transition-behavior: allow-discrete;
}
.site-header__navigation.open {
  display: block;
  transform: translateX(0) translateZ(0);
  opacity: 1;
}
@starting-style {
  .site-header__navigation.open {
    opacity: 0;
    transform: translateX(var(--main-nav-width));
  }
}
.site-header__navigation::before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  right: var(--main-nav-width);
  width: 100vw;
  background-color: rgba(255, 255, 255, 0.7);
  z-index: -1;
  pointer-events: none;
}
.site-header__navigation::after {
  content: "";
  position: absolute;
  top: 0;
  right: -100vw;
  width: 100vw;
  height: 100%;
  background-color: var(--main-nav-col-bg);
}
.site-header__navigation .site-header__navigation-wrapper {
  overflow-x: clip;
  overflow-y: auto;
  scrollbar-color: rgba(255, 255, 255, 0.15) transparent;
  scrollbar-width: thin;
  max-height: calc(100vh - 0.5 * var(--main-nav-padding-top));
  padding-block: calc(var(--main-nav-padding-top) * 0.5) var(--spacing-m);
}
.site-header__navigation .navigation {
  position: relative;
  display: flex;
  flex-direction: column;
  overflow: clip;
  list-style-type: none;
  padding: 0;
  margin: 0;
  padding-bottom: var(--spacing-xs);
  height: var(--active-submenu-height, auto);
  transition: all 0.3s ease-in-out;
}
.site-header__navigation .navigation li {
  margin: 0;
}
.site-header__navigation .navigation a, .site-header__navigation .navigation .navigation__link--structure-node {
  display: inline-flex;
  font-size: 1.25rem;
  padding: 1rem 0.6125rem;
  align-items: center;
  gap: 0.5em;
  font-weight: 400;
}
.site-header__navigation .navigation a[aria-current=page], .site-header__navigation .navigation .navigation__link--structure-node[aria-current=page] {
  text-decoration: underline;
}
.site-header__navigation .navigation .navigation__link--structure-node {
  user-select: none;
}
.site-header__navigation .navigation .navigation__level-1-item {
  --btn-icon-size: 40px;
}
.site-header__navigation .navigation .navigation__level-1-item .navigation__link {
  width: calc(100% - var(--btn-icon-size) - 1rem);
}
.site-header__navigation .navigation .navigation__level-1-item .dropdown {
  float: right;
  margin-right: 4px;
  margin-top: 10px;
  --btn-col-border: transparent;
  --btn-hover-col-border: var(--col-white);
  --btn-hover-col-background: transparent;
  --btn-hover-col-text: var(--col-white);
}
.site-header__navigation .navigation .navigation__level-1-item .dropdown span {
  transition: all 0.3s ease-in-out;
}
.site-header__navigation .navigation .navigation__level-1-item .dropdown:hover span {
  scale: 0.8;
}
.site-header__navigation .navigation .navigation__submenu {
  position: absolute;
  display: none;
  opacity: 0;
  top: 0;
  left: 0;
  right: 0;
  list-style-type: none;
  padding: 0;
  margin: 0;
  padding-bottom: var(--spacing-xs);
  background-color: var(--main-nav-col-bg);
  z-index: 1000;
  transform: translateX(var(--main-nav-width));
  transition-property: opacity, display, transform;
  transition-duration: 0.3s;
  transition-behavior: allow-discrete;
}
.site-header__navigation .navigation .navigation__submenu.open {
  display: block;
  transform: translateX(0);
  opacity: 1;
}
@starting-style {
  .site-header__navigation .navigation .navigation__submenu.open {
    opacity: 0;
    transform: translateX(var(--main-nav-width));
  }
}
.site-header__navigation .navigation .navigation__submenu-item a {
  padding-left: 1.25rem;
}
.site-header__navigation .navigation .navigation__submenu-item .navigation__level--structure-node {
  user-select: none;
  display: block;
  font-size: 1.25rem;
  padding: 1rem 0.6125rem 1rem 1.25rem;
}
.site-header__navigation .navigation .navigation__submenu--headline {
  --link-underline-color: var(--col-white);
  margin-top: 24px;
}
.site-header__navigation .navigation .navigation__submenu--headline a {
  padding-left: 0;
}
.site-header__navigation .navigation .navigation__submenu--headline .navigation__headline--structure-node {
  display: block;
  font-size: 1.25rem;
  padding: 1rem 0.6125rem 1rem 0;
  user-select: none;
  text-decoration: underline;
  text-decoration-color: var(--link-underline-color, var(--col-primary-blue));
  text-decoration-thickness: 2px;
  text-underline-offset: var(--link-underline-offset, 5px);
}
.site-header__navigation .navigation .navigation__submenu--back {
  padding-bottom: 30px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.3);
}
.site-header__navigation .navigation .navigation__submenu--back a {
  padding-left: 0;
}
.site-header__navigation .site-header__navigation-tools {
  position: relative;
  z-index: 1;
  background-color: var(--main-nav-col-bg);
  border-top: 1px solid rgba(255, 255, 255, 0.3);
  padding-top: var(--spacing-s);
}
.site-header__navigation .site-header__tag-cloud {
  --btn-fs: .875rem;
  display: flex;
  flex-wrap: wrap;
  gap: 1em;
  margin-bottom: var(--spacing-m);
}
.site-header__navigation .site-header__social-icons {
  --btn-icon-size: 48px;
  --btn-col-border: transparent;
}

body:has(.site-header__navigation.open) {
  overflow: hidden;
  padding-right: var(--scrollbar-width, 0px);
}

.breadcrumb {
  --col-breadcrumb: var(--col-text-on-bg, var(--col-text));
  --col-breadcrumb-bg: var(--col-theme);
  --link-hover-color: var(--col-text-on-bg, var(--col-text));
  --p-font-weight: 300;
  display: block;
  width: 100%;
  background-color: var(--col-breadcrumb-bg);
  color: var(--col-breadcrumb);
  padding-inline: var(--content-padding-inline);
  position: relative;
}
.breadcrumb__list {
  width: 100%;
  max-width: calc(var(--content-width) - 2 * var(--content-padding-inline));
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  margin: var(--spacing-s) auto 0 auto;
  padding: 0 0 1rem 0;
  list-style: none;
  border-bottom: 1px solid var(--col-breadcrumb);
}
.breadcrumb__item {
  display: flex;
  align-items: center;
  margin-right: 0.25rem;
  font-size: var(--p-font-size-xxs);
  font-weight: var(--p-font-weight);
}
.breadcrumb__link {
  color: var(--col-breadcrumb);
  text-decoration: none;
  transition: opacity 0.2s ease;
  font-weight: var(--p-font-weight);
  text-decoration: underline;
  text-decoration-color: transparent;
  transition-property: all;
}
.breadcrumb__link:hover, .breadcrumb__link:focus {
  opacity: 0.8;
  text-decoration-color: var(--link-hover-color);
}
.breadcrumb__current {
  color: var(--col-breadcrumb);
}
.breadcrumb__separator {
  display: inline-block;
  margin: 0 0.5rem;
  color: var(--col-breadcrumb);
}
.breadcrumb__separator::after {
  content: ">";
  display: inline-block;
  font-size: 0.85em;
}

body:has(.header-section-slider) .breadcrumb__list {
  border-bottom: 0;
}

.theme-photo .breadcrumb, .eom:has(.ce-hero.bg-photo) .breadcrumb {
  display: none;
}

.contact-card {
  --icon-size: 40px;
  --icon-circle-size: 80px;
  position: relative;
  display: flex;
  height: 100%;
  flex-direction: column;
  padding: var(--spacing-s);
  background-color: var(--col-sand);
  border-radius: 0;
  padding-top: var(--spacing-l);
  margin-top: calc(var(--icon-circle-size) / 2);
}
.contact-card__icon {
  position: absolute;
  left: 50%;
  top: 0;
  transform: translate(-50%, -50%);
  display: flex;
  align-items: center;
  justify-content: center;
  width: var(--icon-circle-size);
  height: var(--icon-circle-size);
  border-radius: 50%;
  background-color: var(--col-white);
  z-index: 1;
  overflow: hidden;
}
.contact-card__icon .image {
  width: 100%;
  height: 100%;
}
.contact-card__icon .image picture {
  width: 100%;
  height: 100%;
}
.contact-card__icon .image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.contact-card__icon .icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: var(--icon-size);
  height: var(--icon-size);
  color: var(--col-text);
  margin-left: 0;
}
.contact-card__icon .icon::before {
  width: var(--icon-size);
  height: var(--icon-size);
}
.contact-card__icon-fallback {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: var(--col-white);
}
.contact-card__icon-fallback .icon {
  font-size: 40px;
  margin-left: 0;
}
.contact-card__content {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: var(--spacing-xxs);
  --link-color: var(--col-text);
  --link-underline-color: var(--col-text);
}
.contact-card__name {
  margin-bottom: 0;
}
.contact-card__position {
  margin: 0;
}
.contact-card__address p {
  margin: 0;
}
.contact-card__phone, .contact-card__mobile, .contact-card__fax, .contact-card__email, .contact-card__external-link, .contact-card__instagram-link {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}
.contact-card__phone .icon, .contact-card__mobile .icon, .contact-card__fax .icon, .contact-card__email .icon, .contact-card__external-link .icon, .contact-card__instagram-link .icon {
  font-size: 1.125rem;
}
.contact-card__email {
  align-items: flex-start;
}
.contact-card__email .icon {
  margin-top: 0.33rem;
}
.contact-card__email-link {
  word-break: break-all;
}
.contact-card__details {
  display: flex;
  flex-direction: column;
  gap: 4px;
}
@media screen and (min-width: 920px) {
  @container contact-wrapper (min-width: 600px) {
    .contact-card {
      margin-top: 0;
      flex-direction: row;
      padding: var(--spacing-s);
      padding-left: var(--spacing-l);
      padding-top: var(--spacing-s);
    }
    .contact-card .contact-card__icon {
      left: 0;
      top: 50%;
      transform: translate(-50%, -50%);
    }
  }
}

.teaser-card {
  position: relative;
  height: 100%;
  display: flex;
  flex-direction: column;
  background-color: var(--col-white);
  transition: transform 0.3s ease-in-out;
  --link-hover-color: var(--col-text);
}
.teaser-card__link {
  display: flex;
  flex-direction: column;
  height: 100%;
  text-decoration: none;
  color: var(--col-text);
}
.teaser-card__link:hover, .teaser-card__link:focus {
  text-decoration: none;
}
.teaser-card__link:hover .teaser-card, .teaser-card__link:focus .teaser-card {
  transform: translateY(-5px);
}
.teaser-card__link:hover .teaser-card__title, .teaser-card__link:focus .teaser-card__title {
  transform: translateX(8px);
}
.teaser-card__image-container {
  position: relative;
  width: 100%;
  overflow: hidden;
}
.teaser-card__image-container .image {
  width: 100%;
}
.teaser-card__image-container .image img {
  width: 100%;
  transition: transform 0.4s ease;
}
.teaser-card__image-container:hover img {
  transform: scale(1.05);
}
.teaser-card__content {
  display: flex;
  flex-direction: column;
  flex: 1;
  padding-top: var(--content-padding-inline);
}
.teaser-card__title {
  margin: 0;
  transition: transform 0.4s ease;
  word-break: break-word;
}

.content-list-item {
  --copyright-fs: var(--p-font-size-xxs);
  position: relative;
  container: list-item/inline-size;
  padding-block: var(--spacing-s);
  border-bottom: 1px solid var(--cl-item-border, var(--col-text));
}
.content-list-item:hover {
  background-color: var(--hover-bg-color);
}
.content-list-item:last-child {
  border-bottom: none;
}
.content-list-item__wrapper {
  display: flex;
  gap: 20px 30px;
  flex-direction: column;
}
@container list-item (min-inline-size: 600px) {
  .content-list-item__wrapper {
    flex-direction: var(--cl-item-flex-direction, row);
    padding-inline: var(--spacing-xxs);
  }
}
.content-list-item--press .content-list-item__content {
  width: 100%;
}
.content-list-item__image {
  flex-shrink: 0;
  width: 100%;
  aspect-ratio: 4/3;
  overflow: hidden;
  border-radius: 0;
}
@container list-item (min-inline-size: 600px) {
  .content-list-item__image {
    width: var(--cl-item-width, 190px);
  }
}
.content-list-item__image .image {
  width: 100%;
}
.content-list-item__image .image picture,
.content-list-item__image .image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.content-list-item__image-placeholder {
  background: var(--col-primary-blue) url(/build/images/news-placeholder.db979a4a.svg) center no-repeat;
  background-size: 36%;
  height: 100%;
}
.content-list-item__content {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 1rem;
}
.content-list-item__date {
  font-size: var(--p-font-size-xxs);
  font-weight: 300;
  color: var(--col-text);
}
.content-list-item__arrow {
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  color: var(--color-primary, #000);
  position: relative;
  z-index: 2;
  pointer-events: none;
  display: none;
  margin-right: var(--spacing-xxs);
  font-size: 1.5rem;
}
@container list-item (min-inline-size: 768px) {
  .content-list-item__arrow {
    display: flex;
  }
}
.content-list-item__arrow .icon {
  transition: transform 0.2s ease;
}
.content-list-item__title {
  margin: 0;
  font-weight: var(--font-weight-regular);
}
.content-list-item__link {
  text-decoration: none;
  color: var(--col-text);
  transition: color 0.2s ease;
}
.content-list-item__link:hover {
  color: var(--col-text);
}
.content-list-item__link:focus-visible {
  outline: 2px solid var(--focus-color, var(--col-blue-dark));
  outline-offset: 2px;
}
.content-list-item__excerpt {
  color: var(--col-text);
  font-weight: 300;
  line-height: 1.6;
}
.content-list-item__excerpt p {
  margin: 0;
}
.content-list-item__excerpt {
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden !important;
}

@media print {
  .content-list-item {
    page-break-inside: avoid;
    break-inside: avoid;
  }
  .content-list-item__wrapper {
    gap: 6pt 20px;
  }
  .content-list-item__content {
    gap: 6pt;
  }
  .content-list-item__excerpt {
    line-height: 1.25;
  }
}
:root {
  --file-icon-bg: var(--col-sand);
}

[class*=" bg-"]:not(.bg-transparent, .bg-white),
[class^=bg-]:not(.bg-transparent, .bg-white) {
  --file-icon-bg: var(--col-white);
}

.download-item {
  --btn-col-border: transparent;
  --btn-icon-fontsize: 20px;
  display: flex;
  position: relative;
  align-items: top;
  gap: var(--spacing-s);
  padding: var(--spacing-s) var(--spacing-xxs);
  border-top: 1px solid var(--col-copy, var(--col-text));
  transition: var(--default-transition);
}
.download-item:hover {
  --btn-hover-col-background: transparent;
  --btn-hover-col-border:transparent;
  --btn-hover-col-text: var(--col-text);
  --file-icon-bg: var(--col-bg, var(--col-sand));
  background-color: var(--hover-bg-color);
}
.download-item__thumbnail, .download-item__icon {
  flex-shrink: 0;
  width: 80px;
  height: 80px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.download-item__thumbnail {
  width: 100px;
  height: unset;
}
.download-item__thumbnail .image img {
  width: 100%;
  object-fit: cover;
}
.download-item__icon {
  background-color: var(--file-icon-bg);
  border-radius: 50%;
  transition: var(--default-transition);
}
.download-item__icon .icon {
  font-size: 2rem;
  color: var(--col-text);
}
.download-item__content {
  flex: 1;
  min-width: 0;
}
.download-item__title {
  word-break: break-word;
  margin-bottom: 5px;
}
.download-item__description {
  margin-bottom: 5px;
}
.download-item__description p {
  font-size: var(--p-font-size-xs);
  margin-bottom: 0;
}
.download-item__meta {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-size: var(--p-font-size-xxs);
  font-weight: 300;
}
.download-item__button {
  flex-shrink: 0;
  align-self: center;
}

.event-card {
  --date-fontsize: var(--h4-fs-default);
  position: relative;
  border-top: 1px solid var(--col-black);
  border-bottom: 1px solid var(--col-black);
  transition: all 0.3s ease-in-out;
}
.event-card__link:hover {
  background-color: var(--hover-bg-color);
}
.event-card__link:hover .event-card__arrow {
  transform: translateX(4px);
}
.event-card__link, .event-card__wrapper {
  display: flex;
  flex-direction: column;
  padding: var(--spacing-s) var(--spacing-xxs);
  gap: 10px;
  text-decoration: none;
  color: inherit;
}
@media (min-width: 768px) {
  .event-card__link, .event-card__wrapper {
    display: grid;
    grid-template-areas: "availability content" "date content" "accessibility content";
    grid-template-columns: 300px 1fr;
    gap: 0;
  }
}
.event-card__content {
  display: flex;
  flex-direction: column;
  gap: var(--spacing-xxs);
  grid-area: content;
}
.event-card__datetime {
  width: 300px;
  display: flex;
  flex-shrink: 0;
  gap: var(--spacing-xs);
  color: var(--col-text);
  grid-area: date;
}
@media (min-width: 768px) {
  .event-card__datetime {
    flex-direction: column;
    gap: var(--spacing-xxs);
  }
}
.event-card__availability {
  grid-area: availability;
  width: min-content;
  margin-bottom: var(--spacing-xs);
}
.event-card__date time {
  font-family: var(--font-heading);
  font-size: var(--date-fontsize);
  line-height: var(--heading-line-height);
}
.event-card__time {
  color: var(--col-text);
  font-size: var(--p-font-size-s);
  font-weight: 300;
  margin-top: 0.25rem;
}
.event-card__time time {
  position: relative;
  padding: 0.25rem 0.75rem;
}
.event-card__time time::before {
  content: "";
  position: absolute;
  width: 1px;
  top: 0;
  left: 0;
  bottom: 0;
  background-color: rgba(0, 0, 0, 0.4);
}
@media (min-width: 768px) {
  .event-card__time {
    margin-top: 0;
  }
  .event-card__time time {
    padding: 0;
  }
  .event-card__time time::before {
    content: none;
  }
}
@media (min-width: 768px) {
  .event-card__header {
    flex-direction: row;
    align-items: flex-start;
    justify-content: space-between;
    gap: var(--spacing-s);
    margin-right: 2.5rem;
  }
}
.event-card__title {
  margin-bottom: 0;
  transition: color 0.3s ease;
}
.event-card__location {
  display: flex;
  align-items: flex-start;
  gap: 0.5rem;
  font-size: var(--p-font-size-s);
  font-weight: 300;
  color: var(--col-text);
}
.event-card__location .icon {
  margin-top: 2px;
  font-size: 1rem;
  flex-shrink: 0;
}
@media (min-width: 768px) {
  .event-card__accessibility {
    grid-area: accessibility;
    margin-top: var(--spacing-xxs);
  }
}
.event-card__arrow {
  display: none;
}
@media (min-width: 768px) {
  .event-card__arrow {
    position: absolute;
    display: block;
    right: var(--spacing-xxs);
    top: calc(50% - 0.625rem);
    font-size: 1.25rem;
    color: var(--col-text);
    transition: transform 0.3s ease;
    pointer-events: none;
  }
}

.audio-playlist {
  --playlist-bg: var(--col-sand);
  --playlist-border: var(--col-text);
  --playlist-item-bg: var(--col-sand);
  --playlist-item-hover: var(--col-bg, var(--col-white));
  --playlist-item-active: var(--col-bg, var(--col-white));
  --playlist-spacing: var(--spacing-xs);
  --playlist-padding: var(--spacing-xs);
}
.audio-playlist__list-container {
  background-color: var(--playlist-bg);
  padding: var(--playlist-padding);
  padding-bottom: var(--spacing-s);
  overflow: hidden;
}
.audio-playlist__list {
  list-style: none;
  margin: 0;
  padding: 0;
  border-bottom: 1px solid var(--playlist-border);
}
.audio-playlist__item {
  margin: 0;
}
.audio-playlist__item--hidden {
  display: none;
}
.audio-playlist__item--hidden.audio-playlist__item--expanded {
  display: block;
}
.audio-playlist__item--active .audio-playlist__item-button {
  background-color: var(--playlist-item-active);
}
.audio-playlist__item-button {
  display: flex;
  align-items: center;
  gap: var(--spacing-xs);
  width: 100%;
  padding: 20px 15px;
  border: none;
  border-top: 1px solid var(--playlist-border);
  background-color: var(--playlist-item-bg);
  color: var(--col-text, #1e1e1e);
  text-align: left;
  cursor: pointer;
  transition: background-color 0.2s ease;
}
.audio-playlist__item-button:hover, .audio-playlist__item-button:focus-visible {
  background-color: var(--playlist-item-hover);
}
.audio-playlist__item-button:focus-visible {
  outline: var(--focus-outline-thickness, 2px) solid var(--focus-color);
  outline-offset: -6px;
}
.audio-playlist__item-title {
  flex: 1;
  margin: 0;
  font-weight: 400;
}
.audio-playlist__item-duration {
  flex-shrink: 0;
  font-weight: 300;
  font-variant-numeric: tabular-nums;
}
.audio-playlist__show-more {
  padding: var(--btn-block-padding, 0.35em) 1em;
  margin: var(--spacing-xs) auto var(--spacing-xxs) auto;
  border: 1px solid var(--playlist-border);
  border-radius: 24px;
  background-color: var(--playlist-bg);
  color: var(--col-text, #1e1e1e);
  font-family: var(--font-primary, "Lexend", sans-serif);
  font-size: 18px;
  font-weight: 300;
  text-align: center;
  text-transform: uppercase;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  transition: background-color 0.2s ease;
}
.audio-playlist__show-more:hover {
  background-color: var(--playlist-item-hover);
}
.audio-playlist__show-more[aria-expanded=true] {
  display: none;
}

[class*=bg-]:not(.bg-transparent, .bg-white) .audio-playlist {
  --playlist-bg: var(--col-white);
  --playlist-item-bg: var(--col-white);
  --focus-color: var(--col-blue-dark);
}

.venue-list__items {
  display: flex;
  flex-direction: column;
  gap: 0;
}
.venue-list .event-card:first-child, .venue-list .event-card + .event-card {
  border-top: none;
}
.venue-list .event-card:last-child {
  border-bottom: none;
}
.venue-list__empty-message {
  text-align: center;
  color: var(--col-text-muted, var(--col-text));
  font-size: var(--p-font-size, var(--p-font-size-default));
  padding: var(--spacing-l) var(--spacing-m);
}
.content-filter-results .venue-list__items {
  margin-bottom: var(--spacing-l);
}

.site-header:has(.search-overlay.open) {
  --logo-color: var(--col-white);
  --col-text-on-bg: var(--col-white);
  --col-heading: var(--col-white);
  --btn-col-background: transparent;
  --btn-col-text: var(--col-white);
  --btn-col-border: var(--col-white);
  --btn-hover-col-text: var(--col-text);
  --btn-hover-col-background: var(--col-white);
  --btn-hover-col-border: var(--col-white);
  z-index: 10101;
  height: 100vh;
}
@media (min-width: 768px) {
  .site-header:has(.search-overlay.open) {
    height: auto;
  }
}
.site-header:has(.search-overlay.open) .site-header__logo-link {
  z-index: 10102;
}

.search-overlay {
  --col-search-bg: var(--col-blue-dark);
  --form-border-radius: 25px;
  --search-overlay-padding: calc(var(--logo-height, 48px) + var(--header-padding, 30px) + var(--spacing-m));
  position: absolute;
  top: calc(-1 * var(--header-padding));
  left: 50%;
  width: 100vw;
  background-color: var(--col-search-bg);
  padding: var(--search-overlay-padding) 0 var(--spacing-l) 0;
  z-index: 10001;
  opacity: 0;
  visibility: hidden;
  transform: translate(-50%, -10px);
  transition: opacity 0.3s ease, transform 0.3s ease, visibility 0.3s;
  height: 100vh;
}
@media (min-width: 768px) {
  .search-overlay {
    height: auto;
  }
}
.search-overlay.open {
  opacity: 1;
  visibility: visible;
  transform: translate(-50%, 0) translateZ(0);
}
.search-overlay__container {
  position: relative;
  width: 100%;
  max-width: var(--content-width-indented);
  margin-inline: auto;
  padding-inline: var(--content-padding-inline);
}
.search-overlay__form {
  display: flex;
  flex-direction: column;
  gap: var(--spacing-s);
}
.search-overlay__input-wrapper {
  display: flex;
  gap: var(--spacing-xs);
  align-items: flex-end;
}
.search-overlay__input-wrapper .form__group {
  --form-padding-right: var(--form-icon-padding);
  flex: 1;
  margin-bottom: 0;
}
.search-overlay__filter-toggle {
  --btn-icon-size: 37px;
  --btn-col-border: transparent;
  --btn-col-text: var(--col-text);
  --btn-hover-col-text: var(--col-blue-dark);
  --btn-hover-col-background: var(--col-sand);
  --btn-hover-col-border: transparent;
  position: absolute;
  right: 26px;
  top: 7px;
}
.search-overlay__filter-toggle[aria-expanded=true] {
  --btn-col-text: var(--col-blue-dark);
  --btn-col-background: var(--col-sand);
}
.search-overlay__filter-dropdown {
  --form-group-margin-bottom: 0;
  position: absolute;
  top: 55px;
  right: 20px;
  width: min(100% - 40px, 480px);
  padding: var(--spacing-xs) var(--spacing-s);
  background-color: var(--col-white);
  border-radius: 30px;
  border: 1px solid var(--col-text);
  max-height: 0;
  overflow: hidden;
  opacity: 0;
  z-index: 1;
  transition: max-height 0.3s ease, opacity 0.3s ease, padding 0.3s ease;
}
.search-overlay__filter-dropdown[aria-hidden=false] {
  max-height: 500px;
  opacity: 1;
}
.search-overlay__filter-dropdown .content-filter__date-range .form__group .form__input[type=date] {
  padding-left: var(--form-icon-padding);
}
.search-overlay__filter-content {
  display: flex;
  flex-direction: column;
}
.search-overlay__filter-title {
  font-size: var(--p-font-size-l, 1rem);
  margin-top: var(--spacing-xxs);
  margin-bottom: var(--spacing-xs);
  padding-bottom: var(--spacing-xs);
  color: var(--col-text);
  border-bottom: 1px solid rgba(30, 30, 30, 0.4);
}
.search-overlay__filter-checkboxes {
  display: flex;
  flex-direction: column;
  gap: 0;
  margin-bottom: var(--spacing-xs);
  padding-bottom: var(--spacing-xs);
  border-bottom: 1px solid rgba(30, 30, 30, 0.4);
}
.search-overlay .quicklinks {
  background-color: transparent;
  --h1-fs: 20px;
  --btn-fs: 14px;
  --btn-block-padding: 3px;
  --section-margin-top: 30px;
  --section-margin-bottom: 0;
}
.search-overlay .quicklinks__container {
  display: flex;
  flex-direction: column;
  gap: var(--spacing-xs);
}
.search-overlay .quicklinks__heading-wrapper {
  width: unset;
  max-width: 100%;
}

.site-footer {
  --column-min-width: 220px;
  --h1-margin: 0;
  margin-top: auto;
}
.site-footer__container {
  width: 100%;
  max-width: var(--content-width);
  padding-inline: var(--content-padding-inline);
  margin-inline: auto;
}
.site-footer__heading {
  text-align: left;
}
.site-footer__social-icons {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  gap: var(--spacing-s);
  flex-wrap: wrap;
}
@media (min-width: 768px) {
  .site-footer__social-icons {
    justify-content: flex-end;
  }
}
.site-footer__social-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 60px;
  height: 60px;
  border-radius: 50%;
  background-color: var(--btn-col-background);
  border: 1px solid var(--btn-col-border);
  transition: all 0.3s ease;
  text-decoration: none;
  overflow: hidden;
}
.site-footer__social-link:hover {
  background-color: var(--btn-hover-col-background);
  border-color: var(--btn-hover-col-border);
}
.site-footer__social-link:hover .site-footer__social-icon img {
  filter: brightness(1.2);
}
.site-footer__social-link:hover .site-footer__social-icon svg {
  fill: var(--btn-hover-col-text);
}
.site-footer__social-link:hover .site-footer__social-icon svg path {
  fill: var(--btn-hover-col-text);
}
.site-footer__social-link:focus-visible {
  outline: 2px solid var(--col-white);
  outline-offset: 2px;
}
.site-footer__social-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
}
.site-footer__social-icon img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  max-width: 20px;
  max-height: 20px;
}
.site-footer__social-icon svg {
  width: 20px;
  height: 20px;
  fill: var(--btn-col-text);
  transition: fill 0.3s ease;
}
.site-footer__social-icon svg path {
  fill: var(--btn-col-text);
  transition: fill 0.3s ease;
}
.site-footer__social-icon--fallback .icon {
  font-size: 20px;
  color: var(--btn-col-text);
}
.site-footer__logo {
  display: block;
  width: 160px;
  height: 34px;
  background-color: var(--col-primary-blue);
  display: inline-block;
  mask-size: contain;
  mask-repeat: no-repeat;
  mask-position: center left;
  mask-image: url(/build/images/Logo-EMF.9a4c6a79.svg);
}
.site-footer__navigation {
  --link-color: var(--col-text);
  display: flex;
  flex-direction: column;
}
@media (min-width: 992px) {
  .site-footer__navigation {
    flex-direction: row;
    flex-wrap: wrap;
  }
}
@media (min-width: 992px) {
  .site-footer__navigation {
    flex-wrap: nowrap;
    justify-content: space-between;
  }
}
.site-footer__category {
  margin-bottom: 0.5rem;
  border-bottom: none;
}
@media (min-width: 992px) {
  .site-footer__category {
    width: auto;
    padding-right: 0;
  }
}
.site-footer__category:last-child {
  margin-bottom: 0;
}
.site-footer__category-heading {
  position: relative;
  cursor: pointer;
}
@media (min-width: 992px) {
  .site-footer__category-heading {
    cursor: default;
    margin-bottom: 1rem;
  }
}
.site-footer__category-heading:after {
  content: "";
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 0.75rem;
  height: 0.75rem;
  border-right: 2px solid var(--col-text);
  border-bottom: 2px solid var(--col-text);
  transform: translateY(-50%) rotate(45deg);
  transition: transform 0.3s ease;
}
@media (min-width: 992px) {
  .site-footer__category-heading:after {
    display: none;
  }
}
.site-footer__category-heading.open::after {
  transform: translateY(-50%) rotate(-135deg);
}
.site-footer__category-links {
  list-style: none;
  padding: 4px;
  margin: 0;
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.3s ease;
}
@media (min-width: 992px) {
  .site-footer__category-links {
    max-height: none;
    padding: 0;
    overflow: visible;
  }
}
.site-footer__category-links.open {
  max-height: 500px;
  padding-bottom: 1rem;
}
.site-footer__category-item {
  margin-bottom: 1rem;
}
.site-footer__category-item:last-child {
  margin-bottom: 0;
}
.site-footer__category-link {
  font-size: var(--p-font-size-s);
  font-weight: 300;
  text-decoration: none;
}
.site-footer__cookie-settings {
  background: none;
  border: none;
  padding: 0;
  font-family: inherit;
  cursor: pointer;
  text-align: left;
  color: var(--link-color);
}
.site-footer__cookie-settings:hover {
  text-decoration: underline;
}
.site-footer__cookie-settings:focus-visible {
  outline: 2px solid currentColor;
  outline-offset: 2px;
}

@media print {
  .site-footer {
    display: none !important;
  }
}
.site-header {
  --logo-path: url(/build/images/Logo-EMF.9a4c6a79.svg);
  --logo-height: 47px;
  --header-padding: 20px;
  --header-background: var(--col-theme, transparent);
  --header-shadow-height: var(--spacing-xxl);
  width: 100%;
  padding-top: var(--header-padding);
  padding-bottom: 15px;
  overflow-x: clip;
  background-color: var(--header-background);
  z-index: 9000;
}
@media (min-width: 768px) {
  .site-header {
    --header-padding: 40px;
  }
}
.site-header__container {
  width: 100%;
  max-width: var(--content-width);
  padding-inline: var(--content-padding-inline);
  margin-inline: auto;
  display: flex;
  justify-content: space-between;
  align-items: center;
  position: relative;
}
.site-header .site-header__logo-link {
  display: block;
  width: 216px;
  height: var(--logo-height);
  background-color: var(--logo-color, var(--col-primary-blue));
  display: inline-block;
  mask-size: contain;
  mask-repeat: no-repeat;
  mask-position: center left;
  mask-image: var(--logo-path);
}
.site-header .site-header__actions {
  --btn-icon-size: 48px;
  --btn-col-border: var(--col-text-on-bg);
  --btn-col-text: var(--col-text-on-bg);
  display: flex;
  align-items: center;
  gap: 0.75em;
}
.site-header .site-header__menu-button {
  z-index: 10002;
  text-transform: none;
  padding: 9.5px 0;
}
@media (min-width: 768px) {
  .site-header .site-header__menu-button {
    padding: 9.5px 1em;
  }
}
.site-header .site-header__menu-button .icon--menu-animation {
  position: relative;
  width: 13px;
  height: 1.5px;
  background-color: var(--btn-col-text, var(--col-black));
  transition: all 0.2s ease-in-out;
  transform: translateX(-2px);
}
.site-header .site-header__menu-button .icon--menu-animation::before, .site-header .site-header__menu-button .icon--menu-animation::after {
  content: "";
  position: absolute;
  top: -6px;
  left: 0;
  width: 18px;
  height: 1.5px;
  background-color: var(--btn-col-text, var(--col-black));
  transition: all 0.2s ease-in-out;
}
.site-header .site-header__menu-button .icon--menu-animation::after {
  top: 6px;
  width: 8px;
}
.site-header .site-header__menu-button .btn__text {
  margin-left: 0.5em;
}
.site-header .site-header__menu-button.open {
  --btn-col-text: var(--col-white);
  --btn-col-border: var(--col-white);
  --btn-col-background: var(--col-blue-dark);
  --focus-color: var(--col-white);
  --btn-hover-col-border: var(--col-white);
}
.site-header .site-header__menu-button.open .icon--menu-animation {
  background-color: transparent;
}
.site-header .site-header__menu-button.open .icon--menu-animation::before {
  width: 18px;
  transform: rotate(45deg) translate(5px, 4px);
}
.site-header .site-header__menu-button.open .icon--menu-animation::after {
  width: 18px;
  transform: rotate(-45deg) translate(5px, -4px);
}
.site-header .site-header__menu-button.open:hover .icon--menu-animation {
  background-color: transparent;
}
.site-header .site-header__menu-button:hover {
  --btn-col-text: var(--col-white);
  --btn-col-border: var(--col-white);
}
.site-header .site-header__menu-button:hover .icon--menu-animation {
  background-color: var(--btn-hover-col-text, var(--col-white));
}
.site-header .site-header__menu-button:hover .icon--menu-animation::before, .site-header .site-header__menu-button:hover .icon--menu-animation::after {
  background-color: var(--btn-hover-col-text, var(--col-white));
}
.site-header .site-header__social-icons {
  --btn-icon-size: 48px;
  --btn-col-border: transparent;
  display: flex;
  gap: 0.5rem;
}
.site-header .site-header__social-link:hover {
  --btn-hover-col-background: rgba(255, 255, 255, 0.1);
  --btn-hover-col-border: rgba(255, 255, 255, 0.3);
}
.site-header .site-header__social-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 24px;
  height: 24px;
}
.site-header .site-header__social-icon img {
  width: 100%;
  height: 100%;
  border-radius: 50%;
  object-fit: contain;
}
.site-header .site-header__social-icon svg {
  width: 24px;
  height: 24px;
  fill: var(--col-white);
}
.site-header .site-header__social-icon svg path {
  fill: var(--col-white);
  transition: fill 0.3s ease;
}
.site-header__search-button {
  z-index: 10002;
  transition: all 0.2s ease-in-out;
}
.site-header__search-button.open, .site-header__search-button[aria-expanded=true] {
  --btn-col-text: var(--col-white);
  --btn-col-border: var(--col-white);
  --btn-col-background: var(--col-blue-dark);
  --focus-color: var(--col-white);
  --btn-hover-col-border: var(--col-white);
  position: relative;
}
.site-header__search-button.open::after, .site-header__search-button[aria-expanded=true]::after {
  content: "×";
  position: absolute;
  bottom: -4px;
  right: -4px;
  width: 18px;
  height: 18px;
  background-color: var(--btn-col-border, var(--col-white));
  color: var(--btn-col-background);
  border-radius: 50%;
  line-height: 0.9;
}
.site-header__search-button:hover {
  --btn-col-text: var(--col-white);
  --btn-col-border: var(--col-white);
}
.site-header:has(.site-header__navigation.open) .site-header__menu-button,
.site-header:has(.site-header__navigation.open) .site-header__search-button {
  --btn-col-border: var(--col-white);
  --btn-col-background: transparent;
  --btn-col-text: var(--col-white);
  --btn-hover-col-text: var(--col-white);
  --btn-hover-col-background: transparent;
  --btn-hover-col-border: var(--col-white);
}

.site-header {
  position: sticky;
  transition: all 0.3s ease-in-out;
  top: -103px;
}

.scrolled .site-header {
  --logo-height: 40px;
}

.scrolled-up .site-header, .scrolled-up .theme-blue-dark .site-header {
  --logo-color: var(--col-primary-blue);
  --col-text-on-bg: var(--col-text);
  --btn-hover-col-background: var(--col-blue-dark);
  --btn-hover-col-border: var(--col-blue-dark);
  --btn-hover-col-text: var(--col-white);
  background-color: white;
  height: unset;
  top: calc((var(--header-padding) - 15px) * -1);
  box-shadow: 0 0 8px 0 rgba(0, 0, 0, 0.15);
}
.scrolled-up .site-header .site-header__actions, .scrolled-up .theme-blue-dark .site-header .site-header__actions {
  --btn-col-border: var(--col-text);
  --btn-col-text: var(--col-text);
}

.theme-photo .site-header, .eom:has(.ce-hero.bg-photo) .site-header {
  --logo-color: var(--col-white);
  --btn-col-text: var(--col-white);
  --btn-col-border: var(--col-white);
  --header-background: transparent;
  height: var(--header-shadow-height);
  background-image: linear-gradient(180deg, rgba(0, 0, 0, 0.45) 45%, rgba(0, 0, 0, 0) 99.99%);
}

.scrolled-up .theme-photo .site-header, .scrolled-up .eom:has(.ce-hero.bg-photo) .site-header {
  --logo-color: var(--col-primary-blue);
  background-color: white;
  height: unset;
  top: calc((var(--header-padding) - 15px) * -1);
  background-image: linear-gradient(180deg, rgba(0, 0, 0, 0) 45%, rgba(0, 0, 0, 0) 99.99%);
}
.scrolled-up .theme-photo .site-header .site-header__actions, .scrolled-up .eom:has(.ce-hero.bg-photo) .site-header .site-header__actions {
  --btn-col-border: var(--col-text);
  --btn-col-text: var(--col-text);
}

.theme-blue-dark .site-header {
  --btn-col-text: var(--col-text-on-bg);
  --btn-col-border: var(--col-text-on-bg);
  --header-background: var(--col-blue-dark);
  --btn-hover-col-background: var(--col-white);
  --btn-hover-col-border: var(--col-white);
  --btn-hover-col-text: var(--col-text);
}

.kita .site-header {
  --logo-path: url(/build/images/dio-kitas.f7bc74bf.svg);
  --logo-height: 30px;
  --logo-width: 110px;
  --logo-padding: 15px;
  --logo-shadow: 0 8px 16px 0 rgba(0, 0, 0, 0.10);
  padding-top: 0;
}
@media (min-width: 768px) {
  .kita .site-header {
    --logo-height: 57px;
    --logo-width: 145px;
  }
}
.kita .site-header__container {
  align-items: flex-end;
}
.kita .site-header__logo-link {
  background-color: white;
  width: calc(var(--logo-width) + 30px);
  box-shadow: var(--logo-shadow);
  height: calc(var(--logo-height) + var(--logo-padding) * 2);
  padding: var(--logo-padding);
  mask-image: none;
  background-image: var(--logo-path);
  background-size: var(--logo-width) auto;
  background-repeat: no-repeat;
  background-position: center;
}

.scrolled-up .kita .site-header {
  --logo-height: 30px;
  --logo-width: 110px;
  --logo-shadow: 0 8px 16px 0 rgba(0, 0, 0, 0);
}
@media (min-width: 768px) {
  .scrolled-up .kita .site-header {
    --logo-height: 57px;
    --logo-width: 145px;
  }
}
.scrolled-up .kita .site-header__menu-button {
  margin-top: var(--header-padding);
}

@media print {
  .site-header {
    position: relative !important;
    top: 0 !important;
    background-color: transparent !important;
    background-image: none !important;
    padding: 0 !important;
    padding-bottom: 15px !important;
    margin-bottom: 15px !important;
    border-bottom: 2px solid #000000;
    height: auto !important;
    overflow: visible !important;
    box-shadow: none !important;
  }
  .site-header__container {
    max-width: 100% !important;
    padding-inline: 0 !important;
    justify-content: flex-start !important;
  }
  .site-header .site-header__logo-link {
    display: block !important;
    width: 200px !important;
    height: 50px !important;
    mask-image: none !important;
    -webkit-mask-image: none !important;
    mask: none !important;
    -webkit-mask: none !important;
    background-color: transparent !important;
    background-image: var(--logo-path) !important;
    background-size: contain !important;
    background-repeat: no-repeat !important;
    background-position: left center !important;
    -webkit-print-color-adjust: exact !important;
    print-color-adjust: exact !important;
  }
  .site-header .site-header__logo-link::after {
    content: none !important;
  }
  .site-header__actions, .site-header__menu-button, .site-header__search-button, .site-header__social-icons, .site-header__navigation {
    display: none !important;
  }
  .scrolled .site-header,
  .scrolled-up .site-header,
  .theme-photo .site-header,
  .theme-blue-dark .site-header,
  .eom:has(.ce-hero.bg-photo) .site-header {
    position: relative !important;
    top: 0 !important;
    background-color: transparent !important;
    background-image: none !important;
    height: auto !important;
    box-shadow: none !important;
  }
  .kita .site-header .site-header__logo-link {
    background-color: white !important;
    box-shadow: none !important;
    mask-image: none !important;
    -webkit-mask-image: none !important;
    -webkit-print-color-adjust: exact !important;
    print-color-adjust: exact !important;
  }
}
.content-filter:not(.content-filter--has-filters) {
  display: none;
}
.content-filter__filters {
  display: flex;
  flex-direction: column;
  gap: var(--spacing-xs);
  justify-content: space-between;
}
@media (min-width: 992px) {
  .content-filter__filters {
    flex-direction: row;
  }
}
@media (min-width: 992px) {
  .content-filter__filters:has(.content-filter__toolbar) {
    flex-direction: column;
  }
}
.content-filter .form__group {
  margin-bottom: 0;
}
.content-filter .btn {
  width: fit-content;
  padding: var(--btn-block-padding, 0.35em) 1em;
  border-radius: 50px;
}
.content-filter .btn--has-icon .btn__text {
  display: inline;
}
.content-filter .btn--has-icon .btn__icon {
  margin-right: 8px;
}
.content-filter__rows {
  width: 100%;
  display: flex;
  flex-direction: column;
  gap: var(--spacing-xs);
}
.content-filter__toolbar {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: flex-end;
  gap: var(--spacing-xs);
  margin-bottom: var(--spacing-xs);
}
.content-filter__row {
  display: grid;
  width: 100%;
  gap: var(--spacing-xs);
  grid-template-columns: repeat(12, 1fr);
}
.content-filter__row:empty, .content-filter__row .content-filter__col:only-child:empty {
  display: none;
}
.content-filter__col {
  grid-column: span 12;
}
.content-filter__col--4-end, .content-filter__col--5-end {
  justify-content: flex-end;
}
@media (min-width: 768px) {
  .content-filter__col {
    grid-column: span 3;
  }
  .content-filter__col--1 {
    grid-column: span 1;
  }
  .content-filter__col--2 {
    grid-column: span 2;
  }
  .content-filter__col--3 {
    grid-column: span 3;
  }
  .content-filter__col--4 {
    grid-column: span 4;
  }
  .content-filter__col--5 {
    grid-column: span 5;
  }
  .content-filter__col--6 {
    grid-column: span 6;
  }
  .content-filter__col--7 {
    grid-column: span 7;
  }
  .content-filter__col--8 {
    grid-column: span 8;
  }
  .content-filter__col--9 {
    grid-column: span 9;
  }
  .content-filter__col--10 {
    grid-column: span 10;
  }
  .content-filter__col--11 {
    grid-column: span 11;
  }
  .content-filter__col--12 {
    grid-column: span 12;
  }
  .content-filter__col--4-end {
    grid-column-start: span 4;
    grid-column-end: -1;
  }
  .content-filter__col--5-end {
    grid-column-start: span 5;
    grid-column-end: -1;
  }
}
.content-filter__field {
  width: 100%;
}
.content-filter__field--tags .form__label {
  display: none;
}
.content-filter__field--tags .content-filter__tags {
  display: flex;
  flex-wrap: wrap;
  gap: var(--spacing-xxs);
}
.content-filter__date-range {
  display: flex;
  gap: var(--spacing-xs);
}
.content-filter__date-range .form__group {
  flex: 1;
  max-width: calc(50% - var(--spacing-xs) / 2);
}
.content-filter__date-range .form__group .form__input[type=date] {
  padding-left: var(--form-padding-right);
  text-transform: uppercase;
  z-index: 100;
}
.content-filter__checkbox-container {
  display: inline-block;
}
.content-filter__checkbox-online-only {
  --form-icon-checkbox-color: var(--col-text);
  --form-icon-checkbox-bg: var(--col-turquoise);
  --form-icon-checkbox-border: var(--col-turquoise);
  --form-icon-checkbox-checked-bg: var(--col-petrol);
}
.content-filter__fieldset {
  border: none;
  padding: 0;
  margin: 0;
}
.content-filter__checkboxes {
  display: flex;
  flex-direction: row;
  gap: var(--spacing-xs);
}
.content-filter__actions {
  display: flex;
  gap: var(--spacing-xs);
}
@media (min-width: 992px) {
  .content-filter__actions {
    justify-content: flex-end;
  }
}
.content-filter__actions .content-filter__reset {
  --btn-fs: var(--p-font-size-xs);
  text-transform: none;
  border: none;
  background-color: transparent;
  padding-inline: 0;
}
.content-filter__actions .content-filter__reset:hover {
  color: var(--link-hover-color, var(--col-blue-dark));
  text-decoration-color: var(--link-hover-underline-color, var(--col-blue-dark));
}
.content-filter__actions button {
  height: 50px;
  min-width: 50px;
}
.content-filter--events .dropdown {
  width: 100%;
  height: 50px;
  margin-bottom: var(--spacing-xs);
}
.content-filter--events .content-filter__form {
  display: none;
}
.content-filter--events .content-filter__form.open {
  display: block;
}
@media (min-width: 768px) {
  .content-filter--events .content-filter__form {
    display: block;
  }
  .content-filter--events .dropdown {
    display: none;
  }
}
.content-filter .content-filter__submit {
  --btn-col-background: var(--col-blue-dark);
  --btn-col-border: var(--col-blue-dark);
  --btn-col-text: white;
  --btn-hover-col-background: white;
  --btn-hover-col-border: var(--col-text);
  --btn-hover-col-text: var(--col-text);
  white-space: nowrap;
}

.bg-blue-dark .content-filter__submit, .theme-blue-dark .bg-transparent .content-filter__submit {
  --btn-col-border: white;
  --btn-hover-col-border: white;
}

.content-filter__field--checkbox-dropdown {
  display: flex;
  flex-direction: column;
  gap: var(--spacing-xxs);
}

.content-filter__checkbox-dropdown-label {
  margin-bottom: 0;
}

.content-filter__checkbox-dropdown {
  position: relative;
  width: 100%;
}

.content-filter__checkbox-dropdown-toggle {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  min-height: 50px;
  padding: var(--form-padding-y) var(--form-padding-right) var(--form-padding-y) var(--form-padding-left);
  font-size: 1rem;
  border: var(--form-border-width) solid var(--form-border-color);
  border-radius: var(--form-border-radius);
  cursor: pointer;
  text-align: left;
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
  font-weight: 300;
  line-height: 1.5;
  color: var(--col-text);
  background-color: var(--form-bg-color);
  background-clip: padding-box;
  outline: 0px solid transparent;
  outline-offset: -1px;
}
.content-filter__checkbox-dropdown-toggle:hover {
  border-color: var(--form-border-color-focus);
}
.content-filter__checkbox-dropdown-toggle:focus-visible {
  outline: var(--form-outline-thickness-focus) solid var(--form-outline-color-focus);
  outline-offset: var(--form-outline-offset-focus);
  border-color: var(--form-border-color-focus);
  box-shadow: var(--form-focus-shadow);
}
.content-filter__checkbox-dropdown-toggle[aria-expanded=true] {
  border-color: var(--form-border-color-focus);
}
.content-filter__checkbox-dropdown-toggle[aria-expanded=true] .content-filter__checkbox-dropdown-icon {
  transform: rotate(180deg);
}

.content-filter__checkbox-dropdown-text {
  flex: 1;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.content-filter__checkbox-dropdown-icon {
  flex-shrink: 0;
  margin-left: var(--spacing-xs);
  transition: transform 0.2s ease;
  font-size: 1.125rem;
}

.content-filter__checkbox-dropdown-content {
  position: absolute;
  top: calc(100% + 4px);
  left: 0;
  right: 0;
  z-index: 100;
  max-height: 60px;
  overflow: hidden;
  background-color: var(--col-white);
  border: var(--dropdown-border-width) solid var(--dropdown-border-color);
  border-radius: var(--dropdown-border-radius);
  box-shadow: var(--dropdown-shadow);
  opacity: 0;
  padding-inline: var(--spacing-s);
  transition: max-height 0.2s ease, opacity 0.3s ease, padding-block 0.3s ease;
  z-index: 101;
}
.content-filter__checkbox-dropdown-content.open {
  max-height: 600px;
  opacity: 1;
  padding-block: var(--spacing-s);
  overflow-y: auto;
}
.content-filter__checkbox-dropdown-content .form__check {
  padding-left: 0;
  flex-direction: row-reverse;
  justify-content: space-between;
}
.content-filter__checkbox-dropdown-content .form__check .form__check-label {
  color: var(--col-text);
}

.content-filter__checkbox-dropdown-fieldset {
  border: none;
  padding: 0;
  margin: 0;
}

.content-filter__checkbox-dropdown-items {
  display: flex;
  flex-direction: column;
  gap: 0;
}

.liturgycalendar-filter {
  display: flex;
  flex-direction: column;
  gap: var(--spacing-s);
}
.liturgycalendar-filter__title {
  margin: 0;
}
.liturgycalendar-filter__description {
  font-size: var(--p-font-size, var(--p-font-size-default));
  color: var(--col-copy);
  margin-bottom: 0;
}
.liturgycalendar-filter__description p {
  margin: 0;
}
.liturgycalendar-filter__form {
  display: flex;
  flex-direction: column;
  gap: var(--spacing-xs);
  --form-border-radius: 30px;
  --btn-icon-size: 52px;
  --button-width: calc(100vw - 250px);
}
.liturgycalendar-filter__form:has(.today) {
  --button-width: 100%;
}
.liturgycalendar-filter__form .form__input[type=date] {
  padding-right: 0;
}
@media (max-width: 576px) {
  .liturgycalendar-filter__form {
    --btn-fs: 14px;
    --form-padding-y: .9125rem;
  }
  .liturgycalendar-filter__form .form__input[type=date] {
    font-size: 14px;
    max-width: var(--button-width);
    padding-left: 28px;
  }
}
.liturgycalendar-filter__controls {
  display: flex;
  align-items: stretch;
  gap: var(--spacing-xs);
  flex-wrap: nowrap;
}
.liturgycalendar-filter__date-wrapper {
  flex: 1;
  min-width: 0;
}
.liturgycalendar-filter__date-wrapper .form__group {
  margin-bottom: 0;
  height: 100%;
}
.liturgycalendar-filter__date-wrapper .form__input {
  height: 100%;
  min-width: 0;
}
.liturgycalendar-filter__date-wrapper label {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border-width: 0;
}
.liturgycalendar-filter__today-btn {
  white-space: nowrap;
  flex-shrink: 0;
}
.liturgycalendar-filter__nav-btn {
  flex-shrink: 0;
}

.template.eom {
  display: flex;
  flex-direction: column;
  min-height: 100vh;
}
.template.eom.content-filter .content-filter-wrapper > .eom-container {
  padding-top: var(--spacing-m);
  padding-bottom: var(--spacing-m);
}
.template.eom.content-detail .header-section__container {
  padding-top: var(--spacing-m);
  padding-bottom: var(--spacing-m);
}
.template.eom.content-detail .content-detail__body {
  --section-margin-top: var(--spacing-m);
  --section-margin-bottom: var(--spacing-m);
}

.media-content .embed-responsive.video-content {
  display: flex;
  flex-direction: column;
  position: relative;
  width: 100%;
  padding-top: 56.25%;
}
.media-content .embed-responsive.video-content::before {
  content: none;
  display: none;
}
.media-content .embed-responsive.video-content video {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.audio-block__text {
  margin-bottom: var(--spacing-s);
}

@media print {
  .audio-playlist {
    border: 1px solid #cccccc !important;
    padding: 15px;
  }
  .audio-playlist .audio-player {
    padding-top: 0;
  }
  .audio-playlist .audio-player__visualizer-container, .audio-playlist .audio-player__volume-container, .audio-playlist .audio-player__progress-handle, .audio-playlist .audio-player__current-time, .audio-playlist .audio-player__time-separator {
    display: none;
  }
  .audio-playlist .audio-player__progress-bar {
    border: 1px solid black;
  }
  .audio-playlist * {
    color: black;
  }
}
.raw-content.no-spacing {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}

.text-image__container--image-right .text-image__media {
  order: 1;
}
.text-image__container--image-top .text-image__media {
  grid-column: 1/span 2;
  grid-row: 1/span 1;
}
.text-image__container--image-top .text-image__content {
  grid-column: 1/span 2;
  grid-row: 2/span 1;
}
.text-image__media {
  width: 100%;
}
.text-image__media .image img, .text-image__media .image picture {
  width: 100%;
}
.text-image__media .ratio {
  width: 100%;
}
.text-image__content {
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.text-image__content--only-text {
  grid-column: 1/-1;
  max-width: var(--content-width-indented, 100%);
  margin: 0 auto;
}
.text-image__links {
  display: flex;
  flex-direction: column;
}

.teaser-box__image-link {
  display: contents;
}
.teaser-box__container {
  --padding-y-offset: 0px;
  grid-template-rows: 40vw 40vw auto;
  grid-template-areas: "image" "image" "bodytext";
  margin-bottom: calc(var(--padding-y-offset) + var(--section-margin-bottom));
  background-color: transparent;
}
.teaser-box__container::before {
  content: "";
  position: absolute;
  inset: 0 var(--content-padding-inline);
  grid-row: 2/span 2;
  background-color: var(--col-bg);
  z-index: -1;
}
.teaser-box__container .image {
  grid-area: image;
  position: relative;
  width: calc(100% - 2 * var(--content-padding-inline));
  margin-inline: auto;
  overflow: hidden;
}
.teaser-box__container .image .image__wrapper {
  height: 100%;
}
.teaser-box__container .image picture {
  height: 100%;
}
.teaser-box__container .image picture img {
  position: absolute;
  width: 100%;
  height: 100%;
}
.teaser-box__container .teaser-box__content {
  grid-area: bodytext;
  padding: var(--spacing-s) var(--spacing-m) var(--spacing-l) var(--spacing-m);
  background-color: var(--col-bg);
  align-self: start;
}
@media (min-width: 768px) {
  .teaser-box__container {
    --padding-y-offset: var(--spacing-m);
    grid-template-columns: 50% 1fr 1fr;
    grid-template-rows: unset;
    grid-template-areas: "bodytext image image";
  }
  .teaser-box__container::before {
    grid-column: 1/span 2;
    grid-row: 1;
    inset: 0;
  }
  .teaser-box__container .image {
    position: absolute;
    top: var(--padding-y-offset);
    right: 0;
    width: 100%;
    height: 100%;
  }
  .teaser-box__container .teaser-box__content {
    padding: var(--spacing-l) var(--padding-y-offset);
  }
}
@media (min-width: 992px) {
  .teaser-box__container {
    grid-template-columns: 66% 1fr 1fr;
  }
}

.header-section {
  --section-margin-top: 0;
  --section-margin-bottom: 0;
}
.header-section__container {
  --col-heading: var(--col-text-on-bg);
  --col-copy: var(--col-text-on-bg);
  --section-padding-top: calc(var(--content-spacer) * .5);
  --section-padding-bottom: calc(var(--content-spacer) * .5);
}
.header-section__container:has(.header-section__title) {
  row-gap: 0;
}
.header-section__container--press {
  --grid-layout: 1fr;
  --column-gap: 24px;
  max-width: calc(var(--content-width-indented) + var(--content-padding-inline) * 2);
}
.header-section__container--press .header-section__image-container {
  justify-self: start;
  max-width: 200px;
  margin-bottom: var(--spacing-m);
}
@media (min-width: 768px) {
  .header-section__container--press .header-section__image-container {
    max-width: 300px;
    margin-bottom: 0;
    margin-right: var(--spacing-l);
  }
}
.header-section__container--press .header-section__image-container .image picture {
  aspect-ratio: auto;
}
.header-section__container--press .header-section__image-container .image picture img {
  object-fit: contain;
  object-position: left center;
}
.header-section__container--press .header-section__logo-container {
  justify-self: start;
  max-width: 200px;
}
@media (min-width: 768px) {
  .header-section__container--press .header-section__logo-container {
    max-width: 300px;
  }
}
@media (min-width: 992px) {
  .header-section__container--press .header-section__content--full {
    display: block;
  }
}
.header-section__content {
  --p-font-size: var(--p-font-size-l);
  display: flex;
  flex-direction: column;
  justify-content: center;
  color: var(--col-copy, var(--col-text));
  --h1-margin: 1.5rem;
  --p-margin: 1.5rem;
}
.header-section__content--full {
  grid-column: 1/-1;
}
@media (min-width: 992px) {
  .header-section__content--full {
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-template-rows: auto 100%;
    grid-template-areas: "headline text" "headline meta";
    column-gap: var(--spacing-m);
  }
  .header-section__content--full .header-section__headline {
    grid-area: headline;
  }
  .header-section__content--full .header-section__meta {
    grid-area: meta;
  }
  .header-section__content--full .header-section__text {
    grid-area: text;
  }
}
.header-section__image-container {
  display: grid;
  align-content: center;
}
.header-section__image-container .image {
  width: 100%;
}
.header-section__image-container .image img {
  width: 100%;
  height: 100%;
}
.header-section__logo {
  width: 200px;
  height: 56px;
  background-size: contain;
  background-repeat: no-repeat;
  background-position: left center;
  mask-size: contain;
  mask-repeat: no-repeat;
  mask-position: left center;
  background-color: var(--logo-color, var(--col-primary-blue));
}
.header-section__logo--diocesan_council {
  mask-image: url(/build/images/diocesan-council.b681b8ab.svg);
}
.header-section__logo--state_committee {
  mask-image: url(/build/images/state-committee.443638ab.svg);
}
.header-section__logo--catholic_council {
  mask-image: url(/build/images/katholikenrat.b4f99053.svg);
}
.header-section__logo--freising_bishops_conference {
  mask-image: url(/build/images/freisinger-bischofskonferenz.eb6d62a4.svg);
}
.header-section__text {
  font-size: var(--p-font-size, var(--p-font-size-default));
  margin-bottom: 0;
}
.header-section__text p:last-child {
  margin-bottom: 0;
}
.header-section__meta {
  font-weight: 300;
  color: var(--col-copy, var(--col-text));
  margin-top: var(--p-margin);
  font-size: var(--p-font-size-xs);
}
.header-section__separator {
  margin: 0 0.5em;
}
.header-section__caption {
  font-size: 0.875rem;
  color: var(--col-text);
  margin-top: var(--spacing-xxs);
  font-style: italic;
}

.theme-default .header-section.bg-theme .header-section__container, .header-section.bg-white .header-section__container, .header-section.bg-transparent .header-section__container {
  --section-padding-bottom: 0;
}
.theme-default .header-section.bg-theme:has(+ .ezlandingpage-field > .landing-page__block:first-child .element-wrap[class*=" bg-"]:not(.bg-transparent, .bg-white)) .header-section__container, .theme-default .header-section.bg-theme:has(+ .ezlandingpage-field > .landing-page__block:first-child .element-wrap[class^=bg-]:not(.bg-transparent, .bg-white)) .header-section__container, .header-section.bg-white:has(+ .ezlandingpage-field > .landing-page__block:first-child .element-wrap[class*=" bg-"]:not(.bg-transparent, .bg-white)) .header-section__container, .header-section.bg-white:has(+ .ezlandingpage-field > .landing-page__block:first-child .element-wrap[class^=bg-]:not(.bg-transparent, .bg-white)) .header-section__container, .header-section.bg-transparent:has(+ .ezlandingpage-field > .landing-page__block:first-child .element-wrap[class*=" bg-"]:not(.bg-transparent, .bg-white)) .header-section__container, .header-section.bg-transparent:has(+ .ezlandingpage-field > .landing-page__block:first-child .element-wrap[class^=bg-]:not(.bg-transparent, .bg-white)) .header-section__container {
  --section-padding-bottom: calc(var(--content-spacer) * .5);
}

@media print {
  .header-section {
    page-break-inside: avoid;
    break-inside: avoid;
  }
  .header-section__container {
    display: block !important;
    max-width: 100% !important;
    padding: 0 !important;
    margin-bottom: 20px !important;
    grid-template-columns: unset !important;
    grid-template-areas: unset !important;
  }
  .header-section__image-container {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    margin-bottom: 15px !important;
  }
  .header-section__image-container .image {
    width: 100% !important;
  }
  .header-section__image-container .image picture {
    aspect-ratio: auto !important;
  }
  .header-section__image-container .image img {
    max-width: 100% !important;
    height: auto !important;
    width: auto !important;
    max-height: 400px !important;
    object-fit: contain !important;
    -webkit-print-color-adjust: exact !important;
    print-color-adjust: exact !important;
  }
  .header-section__content {
    display: block !important;
    width: 100% !important;
  }
  .header-section__content--full {
    display: block !important;
    grid-template-columns: unset !important;
    grid-template-areas: unset !important;
  }
  .header-section__headline {
    font-size: 24pt !important;
    line-height: 1.2 !important;
    margin-bottom: 10px !important;
    page-break-after: avoid;
    break-after: avoid;
  }
  .header-section__text {
    font-size: 12pt !important;
    line-height: 1.5 !important;
    margin-bottom: 10px !important;
  }
  .header-section__meta {
    font-size: 10pt !important;
    margin-top: 10px !important;
    padding-top: 10px !important;
    border-top: 1px solid #cccccc;
  }
  .header-section__logo {
    background-color: black !important;
    print-color-adjust: exact !important;
  }
  .content-detail .header-section__container {
    padding-top: 0 !important;
    padding-bottom: 20px !important;
    border-bottom: 1px solid #cccccc;
    margin-bottom: 20px !important;
  }
  .content-detail .content-detail__body {
    margin-top: 0 !important;
  }
  .content-detail .content-detail__content {
    max-width: 100% !important;
  }
  .content-detail .content-detail__richtext {
    font-size: 12pt !important;
    line-height: 1.6 !important;
  }
  .content-detail .content-detail__richtext h2 {
    font-size: 16pt !important;
    margin-top: 20px !important;
    margin-bottom: 10px !important;
    page-break-after: avoid;
    break-after: avoid;
  }
  .content-detail .content-detail__richtext h3 {
    font-size: 14pt !important;
    margin-top: 15px !important;
    margin-bottom: 8px !important;
    page-break-after: avoid;
    break-after: avoid;
  }
  .content-detail .content-detail__richtext p {
    margin-bottom: 10px !important;
    widows: 3;
    orphans: 3;
  }
  .content-detail .content-detail__richtext ul, .content-detail .content-detail__richtext ol {
    margin-bottom: 10px !important;
    padding-left: 20px !important;
  }
  .content-detail .content-detail__richtext li {
    margin-bottom: 5px !important;
  }
}
.quicklinks {
  background-color: var(--col-white);
  --btn-fs: 0.875rem;
}
@media (min-width: 768px) {
  .quicklinks {
    --btn-fs: 1.125rem;
  }
}
.quicklinks__buttons {
  display: flex;
  flex-wrap: wrap;
  gap: var(--spacing-xs);
}
.quicklinks__button.btn {
  max-width: 350px;
}
.quicklinks__button.btn .btn__text {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  display: block;
}
@media (min-width: 768px) {
  .quicklinks__headline {
    margin-bottom: var(--spacing-m);
  }
}
@media (min-width: 1200px) {
  .quicklinks__container {
    display: flex;
    align-items: flex-start;
    gap: var(--spacing-l);
  }
  .quicklinks__heading-wrapper {
    width: fit-content;
    max-width: 400px;
    flex-shrink: 0;
  }
  .quicklinks__buttons-wrapper {
    flex: 1;
    margin-top: 10px;
  }
  .quicklinks__headline {
    margin-bottom: 0;
  }
}

.header-section-slider {
  position: relative;
  --col-heading: var(--col-text-on-bg);
  --col-copy: var(--col-text-on-bg);
}
.header-section-slider .header-section-slider__image-container {
  position: relative;
  width: 100%;
  overflow: hidden;
}
.header-section-slider .header-section-slider__image-container picture {
  height: 400px;
}
@media (min-width: 992px) {
  .header-section-slider .header-section-slider__image-container picture {
    height: 600px;
  }
}
.header-section-slider .header-section-slider__swiper {
  width: 100%;
  position: relative;
}
.header-section-slider .header-section-slider__swiper .swiper-wrapper {
  transition-timing-function: ease-out;
}
.header-section-slider .header-section-slider__content {
  display: flex;
  flex-direction: column;
  justify-content: center;
  max-width: 846px;
  margin: 0 auto;
  --h1-margin: 1.5rem;
  --p-margin: 1.5rem;
}
.header-section-slider .header-section-slider__text {
  font-size: 1.125rem;
}
.header-section-slider .header-section-slider__text p:last-child {
  margin-bottom: 0;
}
.header-section-slider .header-section-slider__meta {
  font-weight: 300;
  color: var(--col-copy, var(--col-text));
  margin-top: var(--p-margin);
  font-size: var(--p-font-size-xs);
}
.header-section-slider .header-section-slider__separator {
  margin: 0 0.5em;
}

@media screen {
  .ce-hero {
    --col-heading: white;
    --col-copy: white;
    --content-spacer: var(--spacing-s);
    position: relative;
    display: flex;
    align-items: flex-end;
    overflow: hidden;
    height: clamp(400px, 90vh, 806px);
    margin-top: -180px;
    margin-bottom: var(--spacing-m);
  }
  .ce-hero__container {
    width: 100%;
  }
  .ce-hero__image-container {
    position: absolute;
    inset: 0;
  }
  .ce-hero__image-container .image__wrapper {
    position: unset;
    height: 100%;
  }
  .ce-hero__image-container .image {
    height: 100%;
  }
  .ce-hero__image-container img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
  .ce-hero__content {
    position: relative;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    align-items: end;
    gap: var(--spacing-xs) var(--spacing-s);
    z-index: 1;
    margin: 0 auto;
    padding-bottom: var(--spacing-m);
  }
  .ce-hero__content::before {
    content: "";
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 100vw;
    height: 150%;
    background: linear-gradient(180deg, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.55) 66%);
  }
  .ce-hero__title {
    --h1-margin: 0;
    --h2-margin: 0;
    --h1-fs: var(--h1-fs-display);
    --h2-fs: var(--h1-fs-display);
    z-index: 3;
  }
  .ce-hero__description {
    --btn-icon-size:60px;
    --btn-col-border: var(--col-white);
    --btn-col-text: var(--col-white);
    --p-margin: 0;
    display: flex;
    align-items: flex-end;
    gap: var(--spacing-s);
    align-items: center;
    z-index: 3;
  }
}
@media print {
  .ce-hero__container {
    display: flex;
    flex-direction: column-reverse;
  }
}
.info-box__content {
  --icon-size: 40px;
  --icon-circle-size: 80px;
  position: relative;
  display: flex;
  flex-direction: column;
  padding: var(--spacing-s);
  padding-top: var(--spacing-l);
  margin-top: calc(var(--icon-circle-size) / 2);
  background-color: var(--col-sand);
  border-radius: 0;
}
.info-box__icon {
  position: absolute;
  left: 50%;
  top: 0;
  transform: translate(-50%, -50%);
  display: flex;
  align-items: center;
  justify-content: center;
  width: var(--icon-circle-size);
  height: var(--icon-circle-size);
  border-radius: 50%;
  background-color: var(--col-white);
  z-index: 1;
}
.info-box__icon .icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: var(--icon-size);
  height: var(--icon-size);
  color: var(--col-text);
  margin-left: 0;
}
.info-box__icon .icon::before {
  width: var(--icon-size);
  height: var(--icon-size);
}
.info-box__text-container {
  flex: 1;
}
.info-box__headline {
  margin-bottom: var(--spacing-xxs);
}
.info-box__text p:last-child {
  margin-bottom: 0;
}
@media (min-width: 992px) {
  .info-box__content {
    flex-direction: row;
    padding: var(--spacing-s);
    padding-left: calc(var(--spacing-s) + var(--icon-circle-size) / 2);
    margin-top: 0;
  }
  .info-box__icon {
    left: 0;
    top: 50%;
    transform: translate(-50%, -50%);
  }
}

.highlight-box__links {
  display: flex;
  flex-direction: column;
  margin-top: var(--spacing-s);
}
.highlight-box__link {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  text-decoration: none;
  color: var(--col-text);
  font-weight: var(--p-font-weight, var(--p-font-weight-default));
  border-top: 1px solid var(--col-black);
  padding: 20px 5px;
}
.highlight-box__link > span {
  transition: transform 0.4s ease;
}
.highlight-box__link:hover {
  color: var(--col-text);
}
.highlight-box__link:hover > span.highlight-box__link-icon {
  transform: translateX(-5px);
}
.highlight-box__link-icon {
  font-size: 18px;
  margin-left: 0.5rem;
}

.kontakt-box {
  --contact-spacing: var(--spacing-xl);
}
@media screen and (min-width: 960px) {
  .kontakt-box {
    --contact-spacing: var(--spacing-m);
  }
}
.kontakt-box__header {
  margin-bottom: var(--spacing-m);
}
.kontakt-box__container:not(:has(.columns)) {
  max-width: calc(var(--content-width-indented) + var(--content-padding-inline) * 2);
}
.kontakt-box__contacts {
  display: flex;
  flex-direction: column;
  gap: var(--contact-spacing);
}
.kontakt-box__contact-wrapper {
  width: 100%;
  container-type: inline-size;
  container-name: contact-wrapper;
}

.kontakt-grid:not(:has(.kontakt-grid__header)) {
  --section-padding-top: var(--spacing-m);
}
.kontakt-grid__header {
  margin-bottom: var(--spacing-m);
}
.kontakt-grid__container:not(:has(.columns)) {
  max-width: var(--content-width-indented);
}
.kontakt-grid__contacts {
  gap: var(--spacing-xl) var(--spacing-m);
}
@media screen and (min-width: 920px) {
  .kontakt-grid__contacts.columns--3 {
    grid-template-columns: 1fr 1fr;
  }
}
@media screen and (min-width: 1200px) {
  .kontakt-grid__contacts.columns--3 {
    grid-template-columns: 1fr 1fr 1fr;
  }
}
.kontakt-grid__contact-wrapper {
  width: 100%;
  container-type: inline-size;
  container-name: contact-wrapper;
  overflow: clip;
}

@media print {
  .kontakt-grid .kontakt-grid__contacts.columns.columns--3 {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 40px 20px !important;
  }
  .kontakt-grid .kontakt-grid__contacts.columns.columns--3 .contact-card {
    margin-bottom: 0 !important;
    padding: 30px 15px 0 15px !important;
  }
}
.accordion__items {
  display: flex;
  flex-direction: column;
  gap: var(--spacing-xxs);
}
.accordion__item {
  border-bottom: 1px solid var(--col-text);
}
.accordion__item:last-child {
  border-bottom: none;
}
.accordion__trigger {
  display: flex;
  align-items: center;
  width: 100%;
  padding: var(--spacing-xs) 0;
  padding-right: 30px; /* Space for the plus/minus icon */
  background: transparent;
  border: none;
  text-align: left;
  cursor: pointer;
  transition: all 0.3s ease;
  position: relative;
  color: var(--col-heading, var(--col-text));
}
.accordion__trigger:hover {
  opacity: 0.8;
}
.accordion__trigger:focus-visible {
  outline: 2px solid var(--focus-color, var(--col-blue-dark));
  outline-offset: 2px;
}
.accordion__trigger {
  /* Plus/minus icon using ::before and ::after */
}
.accordion__trigger::before, .accordion__trigger::after {
  content: "";
  position: absolute;
  right: 5px;
  top: 50%;
  background-color: currentColor;
  transition: transform 0.3s ease, opacity 0.3s ease;
}
.accordion__trigger {
  /* Horizontal line (for both + and -) */
}
.accordion__trigger::before {
  width: 20px;
  height: 1px;
  transform: translateY(-50%);
}
.accordion__trigger {
  /* Vertical line (for +) */
}
.accordion__trigger::after {
  width: 1px;
  height: 20px;
  right: 14.5px; /* Center the vertical line on the horizontal line */
  transform: translateY(-50%);
}
.accordion__trigger {
  /* When accordion is open, hide vertical line */
}
.accordion__trigger.open::after, .accordion__trigger[aria-expanded=true]::after {
  opacity: 0;
  transform: translateY(-50%) rotate(90deg);
}
.accordion__panel {
  overflow: hidden;
  max-height: 0;
  visibility: hidden;
  transition: none;
}
.accordion__panel.open {
  max-height: 10000px; /* Large enough value to accommodate content */
  visibility: visible;
  transition: max-height 0.75s ease-in, visibility 0s linear 0s;
}
.accordion__content {
  padding-bottom: var(--spacing-s);
}
.accordion__content p:last-child {
  margin-bottom: 0;
}

@media print {
  .accordion__items {
    gap: 0;
  }
  .accordion__item {
    border-bottom: 1px solid #cccccc !important;
    page-break-inside: avoid;
    break-inside: avoid;
  }
  .accordion__trigger {
    padding: 10px 0 !important;
    padding-right: 0 !important;
    cursor: default !important;
    font-weight: bold !important;
  }
  .accordion__trigger::before, .accordion__trigger::after {
    display: none !important;
  }
  .accordion__panel {
    max-height: none !important;
    height: auto !important;
    overflow: visible !important;
    visibility: visible !important;
    opacity: 1 !important;
    transition: none !important;
  }
  .accordion__panel:not(.open) {
    max-height: none !important;
    height: auto !important;
    visibility: visible !important;
    display: block !important;
  }
  .accordion__content {
    padding-bottom: 15px !important;
  }
}
.teaser-cards__container {
  width: 100%;
}
.teaser-cards__grid {
  --column-gap: var(--spacing-s);
  margin-bottom: var(--spacing-m);
}
@media (min-width: 768px) {
  .teaser-cards__grid.columns--3 {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: var(--column-gap);
  }
}
@media (min-width: 768px) {
  .teaser-cards__grid.columns--2 {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: var(--column-gap);
  }
}
.teaser-cards__item {
  margin-bottom: var(--spacing-s);
  height: 100%;
}
@media (min-width: 768px) {
  .teaser-cards__item {
    margin-bottom: 0;
  }
}

@media print {
  .teaser-cards .teaser-cards__grid.columns.columns--3 {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 20px !important;
  }
}
.teaser-slider {
  --slider-margin-left: max(0px, calc(calc(100svw - var(--content-width)) / 2));
  max-width: 100svw;
  overflow: hidden;
}
.teaser-slider__container {
  margin-inline: auto;
  position: relative;
}
.teaser-slider__content {
  max-width: min(100vw - var(--content-padding-inline) * 2, var(--content-width) - var(--content-padding-inline) * 2);
  position: relative;
}
@media screen and (min-width: 1600px) {
  .teaser-slider__content::before, .teaser-slider__content::after {
    content: "";
    display: block;
    background: linear-gradient(90deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0) 290px, rgb(255, 255, 255) 540px, rgb(255, 255, 255) 100%);
    width: calc(var(--slider-margin-left) + var(--content-padding-inline));
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    transform: translateX(-100%) scaleX(-1);
    z-index: 2;
    pointer-events: none;
  }
  .teaser-slider__content::after {
    left: unset;
    right: 0;
    transform: translateX(100%);
  }
}
.teaser-slider__swiper {
  margin: 0;
  padding: 0;
  overflow: visible;
}
.teaser-slider__swiper .swiper-slide {
  height: auto;
}
.teaser-slider__navigation {
  display: flex;
  justify-content: flex-end;
  margin-top: var(--spacing-xs);
}
.teaser-slider:has(.swiper-button-lock) .teaser-slider__navigation {
  display: none;
}
.teaser-slider .teaser-slider__button-prev,
.teaser-slider .teaser-slider__button-next {
  --btn-icon-size: 48px;
  --btn-col-background: transparent;
  --btn-col-border: transparent;
  --btn-col-text: var(--col-text);
  --btn-hover-col-background: var(--col-theme);
  --btn-hover-col-border: transparent;
}

@media print {
  .teaser-slider {
    max-width: 100% !important;
    overflow: visible !important;
  }
  .teaser-slider__content {
    max-width: 100% !important;
  }
  .teaser-slider__content::before, .teaser-slider__content::after {
    display: none !important;
  }
  .teaser-slider__swiper {
    overflow: visible !important;
  }
  .teaser-slider__swiper .swiper-wrapper {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 20px !important;
    transform: none !important;
    break-inside: auto;
  }
  .teaser-slider__swiper .swiper-slide {
    flex: 0 0 calc(50% - 10px) !important;
    width: calc(50% - 10px) !important;
    margin: 0 !important;
  }
  .teaser-slider__navigation {
    display: none !important;
  }
  .teaser-slider .teaser-slider__button-prev,
  .teaser-slider .teaser-slider__button-next {
    display: none !important;
  }
}
.quote__blockquote {
  display: flex;
  position: relative;
  margin: 0;
  padding: 0;
  flex-direction: column;
  align-items: center;
  text-align: center;
  border: none;
}
@media (min-width: 768px) {
  .quote__blockquote {
    flex-direction: row;
    text-align: left;
    align-items: flex-start;
    padding-left: 0;
  }
}
.quote__blockquote--no-image {
  border-left: 1px solid var(--col-black);
  padding-left: var(--spacing-s);
  text-align: left;
  align-items: flex-start;
}
.quote__image {
  width: 140px;
  flex-shrink: 0;
  margin-bottom: var(--spacing-xs);
}
@media (min-width: 768px) {
  .quote__image {
    margin-right: var(--spacing-s);
    margin-bottom: 0;
    height: 140px;
  }
}
.quote__image .image__wrapper {
  flex-direction: column;
}
.quote__image .image {
  width: 100%;
  height: 100%;
}
.quote__image .image picture {
  width: 100%;
  height: 100%;
  border-radius: 50%;
  overflow: hidden;
  border: 1px solid var(--col-black);
}
.quote__image .image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.quote__image .image .copyright {
  --copyright-fs: 10px;
  font-style: normal;
  position: unset;
  height: unset;
}
.quote__image .image .copyright::before {
  content: none;
}
.quote__image .image .copyright__button {
  position: unset;
  height: 100%;
  width: 100%;
  transform: none;
  white-space: unset;
  pointer-events: none;
  text-align: center;
}
.quote__image .image .copyright__button span {
  color: var(--col-text);
}
.quote__image .image .copyright__button span::before {
  content: none;
}
.quote__content {
  flex: 1;
}
.quote__text {
  font-family: var(--font-quote);
  font-style: italic;
  margin-bottom: var(--spacing-xs);
}
.quote__text p {
  font-size: var(--h5-fs, var(--h5-fs-default));
  margin-bottom: 0;
}
.quote__text p:not(:last-child) {
  margin-bottom: var(--spacing-xxs);
}
.quote__author {
  font-size: var(--p-font-size-s);
  display: block;
  font-style: normal;
  font-weight: 300;
  color: var(--col-text);
}

.video-embed {
  position: relative;
  width: 100%;
}
.video-embed .ratio {
  position: relative;
  width: 100%;
}
.video-embed .ratio::before {
  display: block;
  padding-top: 56.25%;
  content: "";
}
.video-embed .ratio > * {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.video-embed iframe,
.video-embed video {
  border: 0;
  width: 100%;
  height: 100%;
}
.video-embed--local video {
  background-color: var(--col-black);
  object-fit: contain;
}
.video-embed__poster {
  position: relative;
  width: 100%;
  height: 100%;
  cursor: pointer;
  overflow: hidden;
  background-color: var(--col-black);
  z-index: 1;
}
.video-embed__poster .image__wrapper {
  height: 100%;
}
.video-embed__poster img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.2s ease;
}
.video-embed__poster:hover img {
  transform: scale(1.05);
}
.video-embed__play-button {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 80px;
  height: 80px;
  border-radius: 40px;
  padding: 0;
  border: none;
  background: white;
  cursor: pointer;
  box-shadow: 0px 3px 10px 0px rgba(0, 0, 0, 0.1490196078);
  transition: transform 0.2s ease;
}
.video-embed__play-button:hover {
  transform: translate(-50%, -50%) scale(1.1);
}
.video-embed__play-icon {
  width: 100%;
  height: 100%;
}

@media print {
  .video-embed .ratio::before {
    display: none !important;
  }
  .video-embed__poster {
    position: relative !important;
    display: block !important;
    background-color: #f0f0f0 !important;
  }
  .video-embed__poster img {
    max-width: 100% !important;
    height: auto !important;
    print-color-adjust: exact !important;
  }
  .video-embed__poster::after {
    content: "Video";
    position: absolute;
    bottom: 10px;
    left: 10px;
    background: rgba(0, 0, 0, 0.7);
    color: white !important;
    padding: 5px 10px;
    font-size: 10pt;
    font-weight: 700;
    -webkit-print-color-adjust: exact !important;
    print-color-adjust: exact !important;
  }
  .video-embed__play-button {
    display: none !important;
  }
  .video-embed__play-icon {
    display: none !important;
  }
}
.downloads__list {
  display: flex;
  flex-direction: column;
}

.news-grid {
  --news-grid-gap: var(--spacing-s);
  --h2-margin: var(--spacing-s);
  --cl-item-margin-bottom: 0;
  --cl-item-border: transparent;
  --cl-item-flex-direction: column;
  --cl-item-width: 100%;
}
.news-grid .content-list-item:hover {
  --hover-bg-color: transparent;
}
.news-grid__items {
  position: relative;
  gap: var(--news-grid-gap);
}
.news-grid__items .content-list-item {
  padding: 0;
}
.news-grid__items .content-list-item__arrow {
  display: none;
}
.news-grid__items--5:has(.content-list-item--top-news) .content-list-item--top-news:not(.content-list-item--top-news ~ .content-list-item--top-news) {
  grid-column: 1/-1;
  order: -1;
}
.news-grid__items--5:has(.content-list-item--top-news) .content-list-item--top-news:not(.content-list-item--top-news ~ .content-list-item--top-news) .content-list-item__wrapper {
  padding-inline: 0;
}
@media screen and (min-width: 1280px) {
  .news-grid__items--5:has(.content-list-item--top-news) {
    padding-left: calc(50% + var(--news-grid-gap) * 0.5);
    min-height: 640px;
  }
  .news-grid__items--5:has(.content-list-item--top-news) .content-list-item--top-news:not(.content-list-item--top-news ~ .content-list-item--top-news) {
    grid-column: unset;
    position: absolute;
    left: 0;
    top: 0;
    width: calc(50% - var(--news-grid-gap) * 0.5);
  }
}
.news-grid__items--5:not(:has(.content-list-item--top-news)) article:first-of-type {
  grid-column: 1/-1;
}
.news-grid__items--5:not(:has(.content-list-item--top-news)) article:first-of-type .content-list-item__wrapper {
  padding-inline: 0;
}
@media screen and (min-width: 1280px) {
  .news-grid__items--5:not(:has(.content-list-item--top-news)) {
    padding-left: calc(50% + var(--news-grid-gap) * 0.5);
    min-height: 640px;
  }
  .news-grid__items--5:not(:has(.content-list-item--top-news)) article:first-of-type {
    grid-column: unset;
    position: absolute;
    left: 0;
    top: 0;
    width: calc(50% - var(--news-grid-gap) * 0.5);
  }
}
.news-grid__view-more {
  margin-top: var(--spacing-m);
}
@media (min-width: 768px) {
  .news-grid__view-more {
    text-align: right;
  }
}

.quote-banner {
  --quote-padding: var(--spacing-xxl);
  --quote-min-height: 400px;
}
@media (min-width: 768px) {
  .quote-banner {
    --quote-min-height: 500px;
  }
}
.quote-banner__wrapper {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  color: var(--col-white);
  background-color: var(--col-blue-dark);
  padding-block: 0;
}
.quote-banner__background {
  position: absolute;
  inset: 0;
  z-index: 1;
}
.quote-banner__background .image {
  width: 100%;
  height: 100%;
}
.quote-banner__background .image .image__wrapper {
  height: 100%;
  position: unset;
}
.quote-banner__background .image .image__wrapper::after {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.3);
}
.quote-banner__background .image picture,
.quote-banner__background .image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}
.quote-banner__container {
  position: relative;
  z-index: 3;
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: inherit;
}
.quote-banner__content {
  text-align: center;
  max-width: 846px;
  width: 100%;
  padding: var(--quote-padding) 0 var(--quote-padding) 0;
}
.quote-banner__quote {
  font-family: var(--font-quote, var(--font-primary));
  font-style: italic;
  font-size: var(--h5-fs-default);
  line-height: 1.4;
  color: var(--col-white);
  border: none;
  padding: 0;
  text-shadow: 0px 0px 1px #000, 0px 0px 3px rgba(0, 0, 0, 0.7);
}
.quote-banner__quote p {
  margin: 0;
  color: inherit;
  font-size: inherit;
  line-height: inherit;
  font-style: inherit;
}
.quote-banner__quote p:not(:last-child) {
  margin-bottom: var(--spacing-xxs);
}
.quote-banner__author {
  display: block;
  font-family: var(--font-primary);
  font-style: normal;
  font-size: var(--p-font-size-s);
  font-weight: var(--font-weight-light);
  color: var(--col-white);
  text-shadow: 0px 0px 1px #000, 0px 0px 3px rgba(0, 0, 0, 0.7);
  margin-top: 24px;
}

.gallery-slider {
  --h2-margin: var(--spacing-s);
  position: relative;
}
.gallery-slider__content {
  position: relative;
  max-width: min(100vw - var(--content-padding-inline) * 2, var(--content-width) - var(--content-padding-inline) * 2);
}
.gallery-slider__swiper {
  width: 100%;
  max-width: calc(var(--content-width) - var(--content-padding-inline));
  position: relative;
  overflow: hidden;
}
.gallery-slider__swiper .swiper-wrapper {
  transition-timing-function: ease-out;
}
.gallery-slider__slide {
  --picture-aspect-ratio: 4/3;
}
.gallery-slider__slide .image picture img {
  width: 100%;
}
.gallery-slider__image-container {
  position: relative;
  width: 100%;
  height: 100%;
  overflow: hidden;
  background-color: var(--col-bg-light, #f8f9fa);
  cursor: pointer;
}
.gallery-slider__image-container::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 5rem;
  height: 5rem;
  background: rgba(255, 255, 255, 0.9);
  border-radius: 50%;
  transform: translate(-50%, -50%) scale(0);
  transition: transform 0.3s ease;
  z-index: 2;
  pointer-events: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 fill=%27none%27 viewBox=%270 0 24 24%27 stroke=%27%23333%27%3E%3Cpath stroke-linecap=%27round%27 stroke-linejoin=%27round%27 stroke-width=%272%27 d=%27M21 21l-6-6m2-5a7 7 0 11-14 0 7 7 0 0114 0z%27/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: center;
  background-size: 2rem;
}
.gallery-slider__image-container:hover::after {
  transform: translate(-50%, -50%) scale(1);
}
.gallery-slider__image-container:hover .gallery-slider__image {
  transform: scale(1.05);
}
.gallery-slider .gallery-slider__image {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.3s ease;
}
.gallery-slider .gallery-slider__caption {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  background: linear-gradient(transparent, rgba(0, 0, 0, 0.7));
  color: white;
  padding: 1rem;
  font-size: 0.875rem;
  line-height: 1.4;
}
.gallery-slider .gallery-slider__controls {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-top: 1.5rem;
  position: relative;
  z-index: 5;
}
@media (min-width: 768px) {
  .gallery-slider .gallery-slider__controls {
    margin-top: 2rem;
  }
}
.gallery-slider .gallery-slider__button-prev,
.gallery-slider .gallery-slider__button-next {
  background: none !important;
  border: none !important;
  box-shadow: none !important;
  width: auto;
  height: auto;
  flex-shrink: 0;
  display: flex;
}
.gallery-slider .gallery-slider__button-prev:hover,
.gallery-slider .gallery-slider__button-next:hover {
  background: none !important;
  box-shadow: none !important;
}
.gallery-slider .gallery-slider__button-prev:disabled,
.gallery-slider .gallery-slider__button-next:disabled {
  opacity: 0.3;
  cursor: not-allowed;
}
.gallery-slider .gallery-slider__button-prev .icon,
.gallery-slider .gallery-slider__button-next .icon {
  color: var(--col-text, #000);
  filter: drop-shadow(0 2px 4px rgba(0, 0, 0, 0.1));
  transition: all 0.3s ease;
}
.gallery-slider .gallery-slider__button-prev .icon:hover,
.gallery-slider .gallery-slider__button-next .icon:hover {
  opacity: 0.7;
}
.gallery-slider .gallery-slider__button-prev .icon::before,
.gallery-slider .gallery-slider__button-next .icon::before {
  width: 2rem;
  height: 2rem;
}
.gallery-slider .gallery-slider__button-prev:hover:not(:disabled) .icon,
.gallery-slider .gallery-slider__button-next:hover:not(:disabled) .icon {
  filter: drop-shadow(0 2px 8px rgba(0, 0, 0, 0.3));
}
.gallery-slider .gallery-slider__pagination {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 0.5rem;
  flex: 1;
}
.gallery-slider .gallery-slider__pagination .swiper-pagination-bullet {
  width: 0.75rem;
  height: 0.75rem;
  border-radius: 50%;
  background-color: var(--col-white, #ffffff);
  border: 1px solid var(--col-text, #000000);
  transition: all 0.3s ease;
  cursor: pointer;
  padding: 0;
  opacity: 1;
  margin: 0;
}
.gallery-slider .gallery-slider__pagination .swiper-pagination-bullet.swiper-pagination-bullet-active {
  background-color: var(--col-text, #000000);
  border-color: var(--col-text, #000000);
}
.gallery-slider .gallery-slider__pagination .swiper-pagination-bullet:hover {
  transform: scale(1.1);
}
@media (min-width: 768px) {
  .gallery-slider .gallery-slider__pagination .swiper-pagination-bullet {
    width: 1rem;
    height: 1rem;
  }
}
.gallery-slider .gallery-slider__navigation {
  display: none;
}
@media (min-width: 768px) {
  .gallery-slider .gallery-slider__controls .btn .icon {
    width: 2.5rem;
    height: 2.5rem;
  }
  .gallery-slider .gallery-slider__pagination .swiper-pagination-bullet {
    width: 0.75rem;
    height: 0.75rem;
  }
}

body:has(.gallery-lightbox) {
  position: relative;
}
body:has(.gallery-lightbox)::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 100%;
  background: rgba(0, 0, 0, 0.7);
  z-index: 9998;
}

.gallery-lightbox {
  position: fixed;
  inset: 0;
  z-index: 9999;
  display: flex;
  align-items: center;
  justify-content: center;
}
.gallery-lightbox .gallery-lightbox__container {
  position: relative;
}
.gallery-lightbox .gallery-lightbox__close {
  position: fixed;
  top: 1rem;
  right: 1rem;
  width: 2.5rem;
  height: 2.5rem;
  background: rgba(30, 30, 30, 0.4);
  border: none;
  border-radius: 50%;
  color: white;
  cursor: pointer;
  transition: opacity 0.3s ease;
  z-index: 10;
  display: flex;
  align-items: center;
  justify-content: center;
}
.gallery-lightbox .gallery-lightbox__close:hover {
  opacity: 0.6;
}
.gallery-lightbox .gallery-lightbox__close .icon {
  color: white;
}
.gallery-lightbox .gallery-lightbox__close .icon::before {
  width: 1.25rem;
  height: 1.25rem;
}
.gallery-lightbox .gallery-lightbox__nav {
  position: absolute;
  top: 50%;
  width: 2.75rem;
  height: 2.75rem;
  background: white;
  border: none;
  border-radius: 50%;
  cursor: pointer;
  transition: background-color 0.3s ease, transform 0.3s ease;
  z-index: 10;
  display: flex;
  align-items: center;
  justify-content: center;
}
.gallery-lightbox .gallery-lightbox__nav:hover {
  background: var(--hover-bg-color);
  box-shadow: 2px 2px 8px rgba(0, 0, 0, 0.2);
}
.gallery-lightbox .gallery-lightbox__nav--prev {
  left: 50%;
  transform: translate(calc(-50vw + 1rem), -50%);
}
.gallery-lightbox .gallery-lightbox__nav--prev:hover {
  transform: translate(calc(-50vw + 0.8rem), -50%);
}
.gallery-lightbox .gallery-lightbox__nav--next {
  right: 50%;
  transform: translate(calc(50vw - 1rem), -50%);
}
.gallery-lightbox .gallery-lightbox__nav--next:hover {
  transform: translate(calc(50vw - 0.8rem), -50%);
}
.gallery-lightbox .gallery-lightbox__nav .icon {
  color: var(--col-text, #333);
}
.gallery-lightbox .gallery-lightbox__nav .icon::before {
  width: 1.5rem;
  height: 1.5rem;
}
.gallery-lightbox .gallery-lightbox__content {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  height: 100vh;
  padding-block: 20px;
}
.gallery-lightbox .gallery-lightbox__image-container {
  flex-shrink: 2;
  overflow: hidden;
}
.gallery-lightbox__image {
  max-width: var(--content-width);
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.gallery-lightbox__info {
  color: white;
  padding: 1rem;
  text-align: center;
  max-height: 30vh;
}
.gallery-lightbox__title {
  font-size: var(--p-font-size-m);
  font-weight: 400;
  margin-bottom: 0.5rem;
}
.gallery-lightbox__description {
  font-size: var(--p-font-size-s);
  font-weight: 300;
  line-height: 1.4;
}
.gallery-lightbox__counter {
  position: fixed;
  top: 1rem;
  left: 1rem;
  background: rgba(30, 30, 30, 0.4);
  color: white;
  padding: 0.5rem 1rem;
  border-radius: 0.5rem;
  font-size: var(--p-font-size-xs, 0.875rem);
  font-weight: var(--font-weight-light, 300);
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.8);
  z-index: 10;
}
@media (min-width: 768px) {
  .gallery-lightbox__counter {
    font-size: 1rem;
  }
}
.gallery-lightbox__caption {
  font-size: 1rem;
  line-height: 1.4;
}
@media (min-width: 768px) {
  .gallery-lightbox__caption {
    font-size: 1.125rem;
  }
}
.gallery-lightbox__swipe-hint {
  position: absolute;
  bottom: 1rem;
  left: 50%;
  transform: translateX(-50%);
  background: rgba(0, 0, 0, 0.5);
  color: white;
  padding: 0.5rem 1rem;
  border-radius: 1rem;
  font-size: 0.75rem;
  opacity: 0.7;
  pointer-events: none;
}
@media (min-width: 768px) {
  .gallery-lightbox__swipe-hint {
    display: none;
  }
}

.gallery-grid {
  --h2-margin: var(--spacing-s);
  --gallery-grid-gap: 10px;
}
.gallery-grid .image .copyright {
  bottom: 10px;
}
.gallery-grid__container {
  width: 100%;
}
.gallery-grid__content {
  position: relative;
}
.gallery-grid__masonry {
  display: grid;
  grid-template-columns: 1fr;
  gap: 0;
}
@media (min-width: 768px) {
  .gallery-grid__masonry {
    grid-template-columns: repeat(3, 1fr);
    gap: 0 calc(var(--gallery-grid-gap) * 2);
    grid-auto-flow: dense;
  }
}
.gallery-grid__item {
  position: relative;
  overflow: hidden;
  cursor: pointer;
  background-color: var(--col-bg);
  aspect-ratio: 4/3;
  grid-row: span 3;
  padding-block: var(--gallery-grid-gap);
}
.gallery-grid__item--portrait {
  aspect-ratio: 4/6;
}
@media (min-width: 768px) {
  .gallery-grid__item--portrait {
    grid-row: span 6;
  }
}
.gallery-grid__item--panorama {
  aspect-ratio: 18/9;
  grid-row: span 2;
}
.gallery-grid__item:focus {
  outline: 2px solid var(--col-focus, var(--col-primary-blue));
  outline-offset: 2px;
}
.gallery-grid__item:focus:not(:focus-visible) {
  outline: none;
}
.gallery-grid__item::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: var(--gallery-grid-gap);
  background: var(--col-bg);
}
.gallery-grid__image-wrapper {
  width: 100%;
  height: 100%;
  overflow: hidden;
}
.gallery-grid__image-wrapper .image, .gallery-grid__image-wrapper .image__wrapper {
  position: unset;
}
.gallery-grid__image-wrapper .image__wrapper {
  height: 100%;
}
.gallery-grid__image-wrapper .image__wrapper .image__img {
  width: 100%;
}
.gallery-grid__image-wrapper::before {
  content: "";
  position: absolute;
  top: var(--gallery-grid-gap);
  left: 0;
  right: 0;
  bottom: var(--gallery-grid-gap);
  background: linear-gradient(180deg, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.1) 100%);
  opacity: 0;
  transition: opacity 0.3s ease;
  z-index: 1;
}
.gallery-grid__image {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}
.gallery-grid__overlay {
  position: absolute;
  top: 10px;
  left: 0;
  right: 0;
  bottom: 10px;
  background: rgba(255, 255, 255, 0.25);
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
  transition: opacity 0.3s ease;
  z-index: 2;
}
.gallery-grid__icon {
  width: 5rem;
  height: 5rem;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(255, 255, 255, 0.95);
  border-radius: 50%;
  font-size: 1.5rem;
  transform: scale(0.8);
  transition: transform 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}
.gallery-grid__item:hover .gallery-grid__image-wrapper::before {
  opacity: 1;
}
.gallery-grid__item:hover .gallery-grid__image {
  transform: scale(1.05);
}
.gallery-grid__item:hover .gallery-grid__overlay {
  opacity: 1;
}
.gallery-grid__item:hover .gallery-grid__icon {
  transform: scale(1);
}

.element-wrap.bg-white .gallery-grid, .element-wrap.bg-transparent .gallery-grid {
  --col-gallery-placeholder: #f5f5f5;
}
.element-wrap.bg-sand .gallery-grid {
  --col-gallery-placeholder: rgba(255, 255, 255, 0.3);
}
.element-wrap.bg-lilac .gallery-grid, .element-wrap.bg-rose .gallery-grid, .element-wrap.bg-turquoise .gallery-grid, .element-wrap.bg-yellow .gallery-grid {
  --col-gallery-placeholder: rgba(255, 255, 255, 0.4);
}
.element-wrap.bg-primary-blue .gallery-grid, .element-wrap.bg-blue-dark .gallery-grid, .element-wrap.bg-blue-light .gallery-grid, .element-wrap.bg-purple .gallery-grid, .element-wrap.bg-orange .gallery-grid, .element-wrap.bg-petrol .gallery-grid, .element-wrap.bg-wine .gallery-grid {
  --col-gallery-placeholder: rgba(255, 255, 255, 0.2);
}

@media print {
  .gallery-slider__content {
    max-width: 100% !important;
  }
  .gallery-slider__swiper {
    max-width: 100% !important;
    overflow: visible !important;
  }
  .gallery-slider__swiper .swiper-wrapper {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 15px !important;
    transform: none !important;
  }
  .gallery-slider__swiper .swiper-slide {
    flex: 0 0 calc(33.333% - 10px) !important;
    width: calc(33.333% - 10px) !important;
    margin: 0 !important;
  }
  .gallery-slider__image-container {
    cursor: default !important;
  }
  .gallery-slider__image-container::after {
    display: none !important;
  }
  .gallery-slider .gallery-slider__image {
    max-width: 100% !important;
    height: auto !important;
  }
  .gallery-slider .gallery-slider__caption {
    position: relative !important;
    background: transparent !important;
    color: #000000 !important;
    padding: 5px 0 !important;
    font-size: 10pt !important;
  }
  .gallery-slider .gallery-slider__controls,
  .gallery-slider .gallery-slider__navigation,
  .gallery-slider .gallery-slider__pagination,
  .gallery-slider .gallery-slider__button-prev,
  .gallery-slider .gallery-slider__button-next {
    display: none !important;
  }
  .gallery-lightbox {
    display: none !important;
  }
  body:has(.gallery-lightbox)::after {
    display: none !important;
  }
  .gallery-grid__masonry {
    display: grid !important;
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 10px !important;
  }
  .gallery-grid__item {
    cursor: default !important;
    page-break-inside: avoid;
    break-inside: avoid;
  }
  .gallery-grid__item::after {
    display: none !important;
  }
  .gallery-grid__image-wrapper::before {
    display: none !important;
  }
  .gallery-grid__overlay {
    display: none !important;
  }
  .gallery-grid__icon {
    display: none !important;
  }
  .gallery-grid__image {
    max-width: 100% !important;
    -webkit-print-color-adjust: exact !important;
    print-color-adjust: exact !important;
  }
}
.event-detail__header-wrapper {
  --section-padding-top: var(--spacing-m);
  --section-padding-bottom: var(--spacing-m);
}
.event-detail__container {
  --section-margin-top: var(--spacing-m);
}
.event-detail__back-link {
  --btn-text-link-hover-col: var(--col-text-on-bg);
  justify-self: start;
  margin-bottom: var(--spacing-s);
  padding-left: 0;
  text-decoration: none;
}
.event-detail__back-link:hover {
  text-decoration: underline;
}
.event-detail__meta {
  --p-font-size: var(--p-font-size-l);
  display: grid;
  gap: var(--spacing-s) 0;
  grid-template-columns: 100%;
  grid-template-areas: "event-date" "event-location" "event-accessibility" "event-download";
}
@media (min-width: 768px) {
  .event-detail__meta {
    grid-template-columns: auto auto;
    gap: var(--spacing-xs);
    grid-template-rows: auto auto;
    grid-template-areas: "event-date event-accessibility" "event-location event-download";
  }
}
.event-detail__meta p {
  margin: 0;
}
.event-detail__datetime {
  grid-area: event-date;
  display: flex;
  align-items: start;
  gap: 0.5rem;
}
.event-detail__location {
  --p-font-size: var(--p-font-size-m);
  grid-area: event-location;
  display: flex;
  align-items: start;
  gap: 0.5rem;
}
.event-detail__online-info {
  margin-top: var(--spacing-xxs);
}
.event-detail__accessibility {
  grid-area: event-accessibility;
}
@media (min-width: 768px) {
  .event-detail__accessibility {
    justify-self: end;
    align-self: start;
  }
}
.event-detail__icalendar {
  grid-area: event-download;
}
@media (min-width: 768px) {
  .event-detail__icalendar {
    justify-self: end;
    align-self: end;
  }
}
.event-detail__image {
  margin-bottom: var(--spacing-s);
}
.event-detail__date-single {
  display: flex;
  gap: var(--spacing-xxs);
  align-items: center;
}
.event-detail__dates-label, .event-detail__online-stream-title {
  display: block;
  width: 100%;
  border-bottom: 1px solid var(--col-text);
  padding-bottom: var(--h2-margin, 0.6125em);
}
.event-detail__description {
  margin-bottom: var(--spacing-m);
}
.event-detail__documents .download-item__icon, .event-detail__documents .download-item__meta {
  display: none;
}
.event-detail__further-info-link {
  display: flex;
  justify-content: space-between;
  border-top: 1px solid var(--col-copy, var(--col-text));
  padding: var(--spacing-xs) var(--spacing-xxs);
  margin: 0;
  text-decoration: none;
}
.event-detail__further-info-link .icon {
  margin-right: 0.5em;
}
.event-detail__further-info-link:hover {
  color: var(--col-text);
  background-color: var(--hover-bg-color);
}
.event-detail .download-item {
  padding: var(--spacing-xs) var(--spacing-xxs);
  align-items: center;
}
.event-detail .download-item__title {
  margin-bottom: 0;
}
.event-detail__info-box, .event-detail__dates {
  margin-block: var(--spacing-s);
}
.event-detail__info {
  --h6-fs: var(--p-font-size-default);
  --heading-font-weight: 500;
  --font-heading: var(--font-primary);
}
.event-detail__info.icon::before {
  width: 1.25em;
  height: 1.25em;
  margin-top: 0.15em;
  margin-right: 0.5rem;
}
.event-detail__online-stream {
  margin-block: var(--spacing-s);
}
.event-detail__online-stream .btn--has-icon {
  width: auto;
  padding: 0.35em 1em;
  border-radius: 50px;
}
.event-detail__online-stream .btn--has-icon .btn_icon {
  margin-right: 8px;
}
.event-detail__online-stream .btn--has-icon .btn__text {
  display: inline;
}
.event-detail__registration-form .event-detail__container {
  margin-bottom: 0;
}
.event-detail__registration-form button[type=submit] {
  --btn-col-background: var(--col-blue-dark);
  --btn-col-border: var(--col-blue-dark);
  --btn-col-text: var(--col-white);
  --btn-hover-col-background: var(--col-white);
  --btn-hover-col-border: var(--col-text);
  --btn-hover-col-text: var(--col-text);
}

.presse-archive__body {
  --section-padding-top: 0;
  --section-padding-bottom: 0;
}
.presse-archive__content {
  max-width: calc(100vw - 2 * var(--content-padding-inline));
  margin: 0 auto;
}
.presse-archive__image-float {
  margin: 0 0 var(--spacing-m) 0;
}
@media (min-width: 768px) {
  .presse-archive__image-float {
    float: right;
    max-width: 300px;
    margin: 0 0 var(--spacing-m) var(--spacing-m);
  }
}
.presse-archive__excerpt {
  margin-bottom: var(--spacing-m);
  font-size: var(--p-font-size-m);
}
.presse-archive__audio, .presse-archive__video {
  margin-top: var(--spacing-m);
  clear: both;
}
.presse-archive__downloads {
  margin-top: var(--spacing-m);
  clear: both;
}
.presse-archive__downloads .downloads__list {
  display: flex;
  flex-direction: column;
  gap: var(--spacing-s);
}

.related-content {
  --section-margin-top: var(--spacing-m);
  --h2-margin: 0;
}
.related-content__heading-wrapper {
  border-top: 1px solid var(--col-text);
  padding-top: var(--spacing-m);
  margin-bottom: 2rem;
}
@media (min-width: 768px) {
  .related-content__heading-wrapper {
    margin-bottom: 3rem;
  }
}
.related-content__headline {
  margin-top: 0;
}
.related-content__grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 2.5rem;
}
@media (min-width: 768px) {
  .related-content__grid {
    grid-template-columns: repeat(3, 1fr);
  }
}
.related-content__item {
  overflow: hidden;
  height: 100%;
  display: flex;
  flex-direction: column;
  --link-hover-color: var(--col-text);
}
.related-content__link {
  display: flex;
  flex-direction: column;
  height: 100%;
  text-decoration: none;
  color: inherit;
}
.related-content__link:hover, .related-content__link:focus {
  text-decoration: none;
}
.related-content__link:focus-visible {
  outline: 2px solid var(--col-text);
  outline-offset: 2px;
  border-radius: 0.5rem;
}
.related-content__image-wrapper {
  position: relative;
  width: 100%;
  padding-bottom: 75%;
  overflow: hidden;
  background-color: #f3f4f6;
}
.related-content__image-wrapper .image,
.related-content__image-wrapper img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.3s ease;
}
.related-content__item:hover .related-content__image-wrapper img {
  transform: scale(1.05);
}
.related-content__placeholder {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: var(--col-primary-blue) url(/build/images/news-placeholder.db979a4a.svg) center no-repeat;
  background-size: 36%;
  height: 100%;
}
.related-content__content {
  flex-grow: 1;
  display: flex;
  flex-direction: column;
  margin-top: 15px;
  transition: opacity 0.3s ease;
}
.related-content__title {
  margin: 0 0 0.75rem 0;
}
.related-content__text {
  margin: 0;
  flex-grow: 1;
}
.related-content__item:hover .related-content__content {
  opacity: 0.7;
}
@media (prefers-reduced-motion: reduce) {
  .related-content__item {
    transition: none;
  }
  .related-content__image-wrapper .image,
  .related-content__image-wrapper img {
    transition: none;
  }
  .related-content__content {
    transition: none;
  }
  .related-content__title {
    transition: none;
  }
}

@media print {
  .related-content .related-content__grid {
    grid-template-columns: 1fr 1fr 1fr;
  }
}
.text-image-for-art {
  --breakpoint-column: 512px;
}
.text-image-for-art__container {
  --justify-content: flex-start;
  display: grid;
  gap: var(--spacing-s);
  grid-template-columns: 1fr;
}
@media (min-width: 768px) {
  .text-image-for-art__container {
    grid-template-columns: var(--column-left-width, 1fr) var(--column-right-width, 1fr);
  }
}
@media (min-width: 992px) {
  .text-image-for-art__container {
    --justify-content: center;
    --caption-margin: 12px;
    gap: var(--spacing-s) var(--spacing-l);
    grid-template-columns: 1fr 1fr;
  }
}
.text-image-for-art__container--image-left {
  --column-left-width: 286px;
  --caption-text-align: right;
}
.text-image-for-art__container--image-left .text-image-for-art__media {
  order: 0;
}
.text-image-for-art__container--image-right {
  --column-right-width: 286px;
}
.text-image-for-art__container--image-right .text-image-for-art__media {
  order: 1;
}
.text-image-for-art__container--image-center {
  --grid-layout: 1fr;
}
.text-image-for-art__container--image-center .text-image-for-art__media {
  grid-column: 1/-1;
}
.text-image-for-art__container--image-center .text-image-for-art__content {
  grid-column: 1/-1;
}
.text-image-for-art__container--image-center .text-image-for-art__media .image {
  width: fit-content;
  margin-inline: auto;
}
.text-image-for-art__container--image-center .text-image-for-art__media .image__wrapper {
  --image-object-fit: contain;
  max-height: max(800px, 85vh);
  width: fit-content;
  margin-inline: auto;
}
.text-image-for-art__container--image-center .text-image-for-art__media .image__wrapper picture, .text-image-for-art__container--image-center .text-image-for-art__media .image__wrapper .image__img {
  height: 100%;
  max-height: max(800px, 85vh);
}
.text-image-for-art__container--image-center .text-image-for-art__content {
  max-width: var(--content-width-indented);
  margin-inline: auto;
}
.text-image-for-art__media {
  width: 100%;
}
.text-image-for-art__media .image img, .text-image-for-art__media .image picture {
  width: 100%;
  height: auto;
}
.text-image-for-art__media .image__caption {
  margin-top: var(--spacing-xs);
  font-size: var(--p-font-size-xs);
  color: var(--col-text);
}
.text-image-for-art__content {
  display: flex;
  flex-direction: column;
  justify-content: var(--justify-content);
  gap: var(--spacing-xxs);
}
.text-image-for-art__content--only-text {
  grid-column: 1/-1;
  max-width: var(--content-width-indented);
  margin: 0 auto;
}
.text-image-for-art__headline {
  --h2-margin: 0;
}
.text-image-for-art__bold-text {
  font-size: var(--p-font-size-m);
  font-weight: 500;
  color: var(--col-text);
  margin: 0;
}
.text-image-for-art__text {
  font-size: var(--p-font-size-default);
  color: var(--col-text);
}
.text-image-for-art__text p:last-child {
  margin-bottom: 0;
}

.content-filter-block__wrapper {
  --section-margin-top: 0;
  --section-margin-bottom: 0;
  --section-padding-top: var(--spacing-m);
  --section-padding-bottom: var(--spacing-m);
  --h1-margin: var(--spacing-m);
}
.content-filter-block__wrapper__results {
  margin-inline: var(--spacing-m);
}

.content-filter-block__meta {
  --content-width: var(--content-width-indented-padding);
  --section-margin-top: var(--spacing-m);
  --section-margin-bottom: 0;
  padding-block: var(--spacing-xs);
}

.content-filter-block__meta-wrapper {
  display: flex;
  flex-direction: column;
  gap: calc(2 * var(--spacing-xs));
  align-items: flex-start;
}

.content-filter-block__meta-info {
  flex: 1;
}

.content-filter-block__meta-text {
  margin: 0;
  font-size: var(--p-font-size-m);
}
.content-filter-block__meta-text span.term {
  background-color: var(--col-sand);
  font-size: var(--p-font-size-l);
  padding: 4px 6px;
}

.content-filter-block__meta-sorting {
  --icon-file: url(/build/images/angle-down_strong.08ff8e4c.svg);
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  font-size: var(--p-font-size-s);
  gap: var(--spacing-xxs);
  position: relative;
}
.content-filter-block__meta-sorting::before {
  position: absolute;
  right: 8px;
  top: 15px;
  pointer-events: none;
  transition: var(--fast-transition);
}
.content-filter-block__meta-sorting:has(select:open)::before {
  transform: scaleY(-1);
}
.content-filter-block__meta-sorting select, .content-filter-block__meta-sorting ::picker(select) {
  appearance: base-select;
}
.content-filter-block__meta-sorting select {
  width: 125px;
  cursor: pointer;
  border: none;
  margin-left: auto;
  background: none;
  padding: var(--dropdown-option-padding);
  font-size: var(--p-font-size-s);
  anchor-name: --select-relevance;
  border-radius: 12px 12px 0 0;
  border: var(--dropdown-border-width) solid transparent;
  border-bottom: none;
  transition: none;
}
.content-filter-block__meta-sorting select::picker-icon {
  display: none;
}
.content-filter-block__meta-sorting select:open {
  border-color: rgba(30, 30, 30, 0.35);
  border-bottom: none;
  box-shadow: var(--dropdown-shadow);
  transition: var(--default-transition);
}
.content-filter-block__meta-sorting select:focus {
  outline: none;
  box-shadow: none;
}
.content-filter-block__meta-sorting option {
  padding: var(--dropdown-option-padding);
  transition: var(--default-transition);
}
.content-filter-block__meta-sorting option::checkmark {
  display: none;
}
.content-filter-block__meta-sorting option:checked {
  display: none;
}
.content-filter-block__meta-sorting option:hover {
  background-color: var(--hover-bg-color);
}
.content-filter-block__meta-sorting ::picker(select) {
  background-color: var(--col-white);
  border: var(--dropdown-border-width) solid rgba(30, 30, 30, 0.35);
  border-top: none;
  border-radius: 0 0 12px 12px;
  box-shadow: var(--dropdown-shadow);
  position: fixed;
  opacity: 1;
  transform: translateY(0);
  position-anchor: --select-relevance;
  width: fit-content;
  top: anchor(bottom);
  left: anchor(left);
  width: 125px;
  transition: var(--default-transition);
}
@starting-style {
  .content-filter-block__meta-sorting ::picker(select) {
    opacity: 0;
    transform: translateY(-10px);
  }
}

.content-filter-block__sorting-label {
  display: block;
  margin: 0;
  font-size: var(--p-font-size-s);
  white-space: nowrap;
}

.content-filter-block__results--search {
  --content-width: var(--content-width-indented-padding);
  --section-margin-top: 0;
}
.content-filter-block__results--search .content-list-item__image {
  display: none;
}

.content-filter-block__loading .spinner {
  display: flex;
  margin-top: calc(var(--content-spacer) * 0.5);
  width: 100%;
  justify-content: center;
  align-items: center;
  min-height: 200px;
}
.content-filter-block__empty {
  display: flex;
  margin-top: calc(var(--content-spacer) * 0.5);
  justify-content: center;
  align-items: center;
  min-height: 200px;
}
.content-filter-block__no-result {
  margin-top: calc(var(--content-spacer) * 0.5);
}
.content-filter-block__no-result-illustration {
  width: 100%;
  background: transparent url(/build/images/search-illustration.239cbacf.png) top left no-repeat;
  background-size: contain;
  aspect-ratio: 7/5;
}

.content-list-block {
  --content-list-spacing: var(--spacing-xl, 4rem);
  --content-list-loading-min-height: 300px;
}
.content-list-block__results {
  position: relative;
  min-height: var(--content-list-loading-min-height);
}
.content-list-block__results .event-card:first-child, .content-list-block__results .event-card + .event-card {
  border-top: none;
}
.content-list-block__results .event-card:last-child {
  border-bottom: none;
}
.content-list-block__loading {
  display: none;
  padding: var(--spacing-xl, 4rem) 0;
  text-align: center;
  min-height: var(--content-list-loading-min-height);
}
.content-list-block__loading[data-loading] {
  display: flex;
  align-items: center;
  justify-content: center;
}
.content-list-block__empty {
  display: none;
  padding: var(--spacing-xl, 4rem) 0;
  text-align: center;
  min-height: var(--content-list-loading-min-height);
}
.content-list-block__empty[data-empty] {
  display: flex;
  align-items: center;
  justify-content: center;
}
.content-list-block__empty-message {
  max-width: 600px;
  margin: 0 auto;
}
.content-list-block__empty-message p {
  margin-bottom: var(--spacing-md, 1rem);
}
.content-list-block__empty-message p:last-child {
  margin-bottom: 0;
}
.content-list-block__empty-hint {
  color: var(--color-text-muted, #666);
  font-size: var(--font-size-sm, 0.875rem);
}
.content-list-block .content-filter {
  -col-bg: transparent;
  --col-text-on-bg: var(--col-text);
  --hover-bg-color: var(--col-white);
  margin-bottom: var(--spacing-lg, 2rem);
  background-color: transparent;
}
.content-list-block .content-filter__form:not(:has(.content-filter__filters)) {
  margin: 0;
  padding: 0;
}

section.liturgycalendar .liturgycalendar-wrapper {
  padding-top: var(--spacing-m);
  padding-bottom: var(--spacing-m);
  --section-margin-top: 0;
  --section-margin-bottom: 0;
}
section.liturgycalendar .liturgycalendar-wrapper > .eom-container {
  padding-top: 0;
  padding-bottom: 0;
}
section.liturgycalendar .liturgycalendar-results {
  --section-margin-bottom: var(--spacing-xxl);
}

.liturgycalendar-results__loading {
  display: flex;
  justify-content: center;
  align-items: center;
  min-height: 200px;
  padding: var(--spacing-l) 0;
}
.liturgycalendar-results__loading .loader {
  width: 48px;
  height: 48px;
  border: 4px solid rgba(0, 0, 0, 0.1);
  border-left-color: var(--col-primary-blue);
  border-radius: 50%;
  animation: spin 1s linear infinite;
}
.liturgycalendar-results__content {
  min-height: 200px;
}
.liturgycalendar-results__empty {
  padding: var(--spacing-l) 0;
  text-align: center;
  color: var(--col-text-secondary, #666);
}

@keyframes spin {
  to {
    transform: rotate(360deg);
  }
}
.person-block__header .rte p:last-child {
  --p-margin: var(--spacing-s);
}
.person-block__content {
  --person-portrait-size: 100px;
  --person-portrait-gap: 20px;
  display: grid;
  grid-template-columns: var(--person-portrait-size, auto) 1fr;
  gap: var(--person-portrait-gap);
  border-top: 1px solid var(--col-copy, var(--col-text));
  padding-top: var(--spacing-m);
}
@media (min-width: 768px) {
  .person-block__content {
    --person-portrait-size: 180px;
    --person-portrait-gap: 30px;
  }
}
.person-block__image {
  width: var(--person-portrait-size);
  height: var(--person-portrait-size);
  flex-shrink: 0;
}
.person-block__image .image__wrapper {
  flex-direction: column;
}
.person-block__image .image {
  width: 100%;
  height: 100%;
}
.person-block__image .image picture {
  width: 100%;
  height: 100%;
  border-radius: 50%;
  overflow: hidden;
  border: 1px solid var(--col-black);
}
.person-block__image .image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.person-block__image .image .copyright {
  --copyright-fs: 10px;
  font-style: normal;
  position: unset;
  height: unset;
}
.person-block__image .image .copyright::before {
  content: none;
}
.person-block__image .image .copyright__button {
  position: unset;
  height: 100%;
  width: 100%;
  transform: none;
  white-space: unset;
  pointer-events: none;
  text-align: center;
}
.person-block__image .image .copyright__button span {
  color: var(--col-text);
}
.person-block__image .image .copyright__button span::before {
  content: none;
}
.person-block__text p:last-child {
  margin-bottom: 0;
}

@media print {
  @page {
    margin: 1.8cm;
    size: A4;
  }
  :root {
    --col-primary-blue: #000000 !important;
    --col-blue-dark: #000000 !important;
    --col-blue-light: transparent !important;
    --col-blue-lighter: transparent !important;
    --col-lilac: transparent !important;
    --col-rose: transparent !important;
    --col-turquoise: transparent !important;
    --col-yellow: transparent !important;
    --col-purple: #000000 !important;
    --col-orange: transparent !important;
    --col-petrol: #000000 !important;
    --col-wine: #000000 !important;
    --col-black: #000000 !important;
    --col-white: #ffffff !important;
    --col-black-55: #000000 !important;
    --col-print-gray: #cccccc;
    --col-text: #000000 !important;
    --col-text-on-bg: #000000 !important;
    --col-heading: #000000 !important;
    --col-copy: #000000 !important;
    --col-background: #ffffff !important;
    --col-bg: transparent !important;
    --col-theme: transparent !important;
    --col-bg-accent-1: transparent !important;
    --col-bg-accent-2: transparent !important;
    --link-color: #000000 !important;
    --link-hover-color: #000000 !important;
    --link-underline-color: #000000 !important;
    --btn-col-background: transparent !important;
    --btn-col-border: #000000 !important;
    --btn-col-text: #000000 !important;
    --focus-color: transparent !important;
    --hover-bg-color: transparent !important;
    --content-width: 100% !important;
    --content-width-indented: 100% !important;
    --content-spacer: 10px !important;
    --spacing-xxl: 20px !important;
    --spacing-xl: 20px !important;
    --spacing-l: 20px !important;
    --spacing-m: 20px !important;
    --spacing-s: 15px !important;
    --spacing-xs: 10px !important;
    --spacing-xxs: 5px !important;
    --p-font-size-default: 11pt !important;
    --p-font-size: 11pt !important;
    --p-font-size-l: 13pt !important;
    --h1-fs-display: 24pt !important;
    --h1-fs-default: 24pt !important;
    --h2-fs-default: 18pt !important;
    --h3-fs-default: 16pt !important;
    --h4-fs-default: 14pt !important;
    --h5-fs-default: 14pt !important;
    --h6-fs-default: 13pt !important;
    --p-font-size-m: 11pt !important;
    --p-font-size-s: 10pt !important;
    --p-font-size-xs: 9pt !important;
    --p-font-size-xxs: 8pt !important;
    --p-line-height-default: 1.25 !important;
    --p-font-weight-default: 300 !important;
    --heading-line-height: 1.25 !important;
    --print-line-weight: 1.25pt;
  }
  *,
  *::before,
  *::after {
    color: #000000 !important;
    background-color: transparent !important;
    box-shadow: none !important;
    text-shadow: none !important;
  }
  html {
    font-size: 11pt;
    height: auto !important;
    overflow: visible !important;
  }
  body {
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    background: #ffffff !important;
    color: #000000 !important;
    font-size: 11pt;
    line-height: 1.25;
    overflow: visible !important;
    height: auto !important;
    min-height: unset !important;
    max-height: unset !important;
    position: static !important;
  }
  .template.eom {
    display: block !important;
    min-height: unset !important;
    max-height: unset !important;
    height: auto !important;
    overflow: visible !important;
    position: static !important;
  }
  .main {
    display: block !important;
    width: 100% !important;
    overflow: visible !important;
    height: auto !important;
  }
  *,
  *::before,
  *::after {
    overflow: visible !important;
    max-height: unset !important;
  }
  .image__wrapper,
  .image,
  .image picture {
    overflow: hidden !important;
    height: 100%;
  }
  .line-clamp {
    overflow: hidden !important;
  }
  h1, h2:not(.ce__headline), h3:not(.ce__headline), h4:not(.ce__headline), h5, h6 {
    break-after: avoid;
    break-inside: avoid;
  }
  blockquote, ul, ol, dl, table, figure {
    break-inside: avoid;
  }
  img, picture, figure {
    break-inside: avoid;
    break-before: auto;
  }
  p {
    widows: 3;
    orphans: 3;
  }
  h1, h2, h3, h4, h5, h6 {
    widows: 3;
    orphans: 3;
  }
  a[href] {
    color: #000000 !important;
  }
  img {
    max-width: 100% !important;
    break-inside: avoid;
  }
  img,
  picture,
  .image,
  .image__wrapper,
  .image__img {
    print-color-adjust: exact !important;
  }
  .site-header__navigation,
  .site-header__actions,
  .site-header__menu-button,
  .site-header__search-button,
  .site-header__social-icons,
  nav:not(.breadcrumb),
  .navigation,
  .search-overlay {
    display: none !important;
  }
  .site-footer {
    display: none !important;
  }
  .swiper-button-prev,
  .swiper-button-next,
  .swiper-pagination,
  .swiper-scrollbar,
  .teaser-slider__navigation,
  .gallery-slider__controls,
  .gallery-slider__navigation,
  .gallery-slider__pagination {
    display: none !important;
  }
  .video-embed__play-button {
    display: none !important;
  }
  .gallery-lightbox,
  body::after {
    display: none !important;
  }
  .visually-hidden,
  .sr-only,
  [data-smart-back],
  .skip-link {
    display: none !important;
  }
  .klaro,
  .cookie-notice,
  #klaro {
    display: none !important;
  }
  .scroll-indicator,
  .scroll-to-top,
  .back-to-top {
    display: none !important;
  }
  .image__loader,
  .spinner {
    display: none !important;
  }
  .image .copyright__button {
    display: block !important;
    transform: none !important;
    background: rgb(255, 255, 255) !important;
    print-color-adjust: exact !important;
  }
  .image .copyright__button span::before {
    content: none !important;
  }
  .presse-archive__image-float {
    float: right !important;
    max-width: 300px !important;
    margin: 0 0 var(--spacing-m) var(--spacing-m);
  }
  .event-detail__icalendar,
  .ce-hero__description .btn--icon-left,
  .liturgycalendar-filter__controls,
  .quote-banner__background,
  .content-filter,
  .related-content__image-wrapper:has(.related-content__placeholder),
  .news-grid__view-more {
    display: none !important;
  }
  .icon::before {
    mask-image: none !important;
    -webkit-mask-image: none !important;
    mask: none !important;
    -webkit-mask: none !important;
    background-color: white !important;
    background-image: var(--icon-file) !important;
    background-size: contain !important;
    background-repeat: no-repeat !important;
    background-position: center !important;
    print-color-adjust: exact !important;
  }
  .eom-container,
  .site-header__container,
  .breadcrumb__list,
  [class*=__container] {
    max-width: 100% !important;
    width: 100% !important;
    padding-inline: 0 !important;
  }
  .columns:not(.news-grid__items) {
    display: block !important;
  }
  .columns > * {
    width: 100% !important;
    margin-bottom: 20px;
  }
  .element-wrap,
  [class*=bg-],
  [class*=theme-] {
    background-color: transparent !important;
    background-image: none !important;
  }
  .site-header {
    position: relative !important;
    background-color: transparent !important;
    background-image: none !important;
    padding: 0 0 20px 0 !important;
    margin-bottom: 20px !important;
    border-bottom: 1px solid #000000;
    top: 0 !important;
    height: auto !important;
    box-shadow: none !important;
  }
  .site-header__container {
    justify-content: flex-start !important;
  }
  .site-header__logo-link {
    display: block !important;
    width: 200px !important;
    height: 50px !important;
    background-color: #000000 !important;
    print-color-adjust: exact !important;
  }
  .breadcrumb {
    display: block !important;
    background-color: transparent !important;
    padding: 10px 0 !important;
    margin-bottom: 20px !important;
    border-bottom: 1px solid var(--col-print-gray);
  }
  .breadcrumb__list {
    margin: 0 !important;
    padding: 0 !important;
    border-bottom: none !important;
  }
  .breadcrumb__item {
    display: inline !important;
  }
  .breadcrumb__link {
    text-decoration: none !important;
  }
  .breadcrumb__link::after {
    content: none !important;
  }
  .breadcrumb__separator {
    display: inline-block !important;
    margin: 0 0.5em !important;
  }
  .breadcrumb__separator::after {
    content: "/" !important;
  }
  .breadcrumb__current {
    font-weight: bold !important;
  }
  .theme-photo .breadcrumb,
  .eom:has(.ce-hero.bg-photo) .breadcrumb {
    display: block !important;
  }
  h1, h2, h3, h4, h5, h6 {
    color: #000000 !important;
    margin-top: 1em;
    margin-bottom: 0.5em;
    hyphens: none !important;
    -webkit-hyphens: none !important;
    word-break: normal !important;
    overflow-wrap: normal !important;
  }
  p {
    margin-bottom: 0.5em;
  }
  figcaption, .img-caption {
    margin-bottom: 15px;
  }
  table {
    border-collapse: collapse !important;
    width: 100% !important;
  }
  th, td {
    border: 1px solid #000000 !important;
    padding: 8px !important;
    text-align: left !important;
  }
  th {
    font-weight: bold !important;
  }
  ul, ol {
    padding-left: 20px !important;
    margin-bottom: 1em !important;
  }
  li {
    margin-bottom: 0.25em !important;
  }
  blockquote,
  .quote,
  .quote-banner {
    padding-left: 15px !important;
    margin: 1em 0 !important;
    font-style: italic !important;
    background-color: transparent !important;
  }
  .contact-card,
  .info-box,
  .contact-box {
    border: var(--print-line-weight) solid var(--col-print-gray);
    padding: 15px;
    margin-bottom: 20px;
  }
  .teaser-card {
    padding: 0;
    margin-bottom: 0;
  }
  .highlight-box {
    padding: 0 !important;
    margin-bottom: 20px !important;
    break-inside: avoid;
  }
  .contact-card__icon {
    overflow: hidden !important;
    border: var(--print-line-weight) solid var(--col-print-gray);
    background: white !important;
    print-color-adjust: exact !important;
  }
  .text-image-for-art__container--image-left {
    --caption-text-align: left;
  }
  .teaser-box .teaser-box__container {
    padding: 30px 0 60px;
    grid-template-columns: 50% 1fr 1fr;
    grid-template-rows: unset;
    grid-template-areas: "bodytext image image";
  }
  .teaser-box .teaser-box__container .teaser-box__cta {
    display: none;
  }
  .teaser-card__image-container {
    break-after: avoid;
  }
  .badge {
    border: 1px solid black;
  }
  .event-detail__accessibility .badge__icon {
    display: inline-flex !important;
  }
  .teaser-cards__item {
    height: unset;
  }
}
.search-overlay__filter-toggle {
  display: none;
}
