@charset "UTF-8";
/*------------------------------------*\
  Project specific configuration file
\*------------------------------------*/
:root,
:before,
:after {
  --contentRegularRaw: 1180;
  --contentRegularPX: 1180px;
  --contentRegular: 73.75rem;
  --maxWidthRegular: calc(var(--contentRegular) + ((var(--gutterHalf) * var(--gutterHalfMultiplier, 2)) * 2));
  --contentOversizeRaw: 1942;
  --contentOversizePX: 1942px;
  --contentOversize: 121.375rem;
}

:root,
:before,
:after {
  --gutterHalf: 10px;
  --gutter: 20px;
}

:root,
:before,
:after {
  --colorWhite: 255, 255, 255;
  --colorBlack: 0, 0, 0;
  --themeBlack: 70, 80, 95;
  --themeColor1: 209, 8, 123;
  --themeColor2: 8, 130, 170;
  --themeColor3: 70, 80, 95;
  --themeColor4: 210, 215, 220;
}

:root,
:before,
:after {
  --col: 5rem;
  --gutterHalf: 0.625rem;
  --gutterHalfMultiplier: 2;
}
@media only screen and (min-width: 38.75rem) {
  :root,
  :before,
  :after {
    --gutterHalfMultiplier: 4;
  }
}
:root,
:before,
:after {
  --gutter: 1.25rem;
  --gap: 1.875rem;
  --gapAdaptive: 1.875rem;
}
@media only screen and (min-width: 56.25rem) {
  :root,
  :before,
  :after {
    --gapAdaptive: 3.75rem;
  }
}

:root,
::before,
::after {
  --borderRadius: 7px;
  --borderWidth: 4px;
  --bgHeaderTop: 80%;
  --bgHeaderRight: 40%;
  --bgHeaderRightInner: var(--bgHeaderRight);
}
@media only screen and (min-width: 56.25rem) {
  :root,
  ::before,
  ::after {
    --bgHeaderRightInner: calc(40vw - ((100vw - var(--contentRegular)) / 2));
  }
}

:root,
::before,
::after {
  --transitionDurationIn: 0.2s;
  --transitionDurationOut: 0.15s;
}

@keyframes gradient {
  0%, 100% {
    background-position: 0% 0%, 0% 0%, 0% 50%;
  }
  50% {
    background-position: 0% 0%, 0% 0%, 100% 50%;
  }
}
@keyframes gradient2 {
  0%, 100% {
    background-position: 0% 0%, 10% 50%;
  }
  50% {
    background-position: 0% 0%, 90% 50%;
  }
}
:root,
::before,
::after {
  --font-light: 200;
  --font-regular: 400;
  --font-medium: 500;
  --font-semiBold: 600;
  --font-bold: 700;
  --font-black: 900;
  --letter-spacing: 0.015em;
}

:root {
  --ce-vertical-spacing: calc( 100px * 0.5);
}

@media screen and (min-width: 56.25rem) {
  :root {
    --ce-vertical-spacing: 100px;
  }
}
html,
#wrapper {
  background-color: rgb(var(--colorWhite));
}

.mod_mmenu:not(.mm-menu--opened) {
  opacity: 0;
}
@media screen and (prefers-reduced-motion: no-preference) {
  .mod_mmenu:not(.mm-menu--opened) {
    transition: opacity var(--transitionDurationIn);
  }
}

.logo a {
  display: block;
  position: relative;
}
@media only screen and (min-width: 56.25rem) {
  .logo a {
    transform: translateX(-20px);
  }
}
.logo a svg {
  width: 198.1px;
  height: 123.6px;
  max-width: 198.1px;
  max-height: 123.6px;
}

#body {
  position: relative;
}

#floating-cta {
  position: fixed;
  top: 85vh;
  right: 10px;
}
@media screen and (min-width: 56.25rem) {
  #floating-cta {
    right: 50px;
  }
}
#floating-cta {
  z-index: 2;
}
#floating-cta > .inside a {
  display: grid;
  color: #ffffff;
  text-decoration: none;
}
#floating-cta > .inside a .tel {
  grid-column: 1;
  grid-row: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  text-transform: uppercase;
  background-color: #d1087b;
  border-radius: 50px;
  padding-left: 17px;
  width: 0;
  overflow: hidden;
  white-space: nowrap;
  opacity: 0;
  transition: width 0.1s ease-out, opacity 0s ease-out;
}
#floating-cta > .inside a .tel span {
  display: inline-block;
  color: #ffffff;
  padding-right: 58px;
  font-weight: 500;
}
#floating-cta > .inside a:hover .tel {
  width: initial;
  width: calc-size(auto);
  opacity: 1;
  transition: width 0.4s ease-in-out, opacity 0.2s ease-in-out;
}
#floating-cta > .inside a .icon_container {
  grid-column: 1;
  grid-row: 1;
  position: relative;
  z-index: 2;
  justify-self: end;
  width: 48px;
  height: 48px;
  background-color: #d1087b;
  border-radius: 50%;
  border: 2px solid transparent;
  display: flex;
  align-items: center;
  justify-content: center;
}
#floating-cta > .inside a .icon_container svg {
  display: block;
  width: 28px;
  height: 28px;
}
#floating-cta > .inside a:hover .icon_container {
  border: 2px solid #ffffff;
}

@keyframes phoneSwing {
  0% {
    transform: rotate(0deg);
  }
  5% {
    transform: rotate(-20deg);
  }
  10% {
    transform: rotate(20deg);
  }
  15% {
    transform: rotate(-10deg);
  }
  20% {
    transform: rotate(10deg);
  }
  25% {
    transform: rotate(-5deg);
  }
  30% {
    transform: rotate(5deg);
  }
  35% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(0deg);
  } /* Bleibt für den Rest der Zeit ruhig */
}
/* Wendet die Animation auf das SVG in .icon_container an */
.icon_container svg {
  animation: phoneSwing 4s ease-in-out infinite;
}

#footer {
  border-bottom: 11px solid rgb(var(--themeColor1));
  overflow: hidden;
}
#footer > .inside {
  padding-top: var(--ce-vertical-spacing);
  margin-right: 4vw;
  margin-left: 4vw;
}
@media screen and (min-width: 56.25rem) {
  #footer > .inside {
    margin-right: 9.6354166667vw;
    margin-left: 9.6354166667vw;
  }
}
@media screen and (min-width: 75rem) {
  #footer > .inside {
    margin-right: 19.2708333333vw;
    margin-left: 19.2708333333vw;
  }
}
@media screen and (min-width: 120rem) {
  #footer > .inside {
    margin-right: auto;
    margin-left: auto;
    max-width: 1180px;
  }
}
#footer > .inside {
  display: flex;
  flex-direction: column;
  padding-top: calc(var(--gapAdaptive) * 1);
}
@media only screen and (min-width: 37.5rem) {
  #footer > .inside {
    flex-direction: row;
  }
}
@media only screen and (min-width: 56.25rem) {
  #footer > .inside .logo_container {
    flex-basis: calc(var(--gap) * 2);
  }
}
#footer > .inside .footerContent_container {
  padding-top: calc(var(--gapAdaptive) * 0.3);
  flex-grow: 1;
}
@media only screen and (min-width: 56.25rem) {
  #footer > .inside .footerContent_container {
    display: flex;
    flex-wrap: wrap;
    flex-direction: column;
  }
}
#footer > .inside .footerContent_container > [class^=level] {
  padding-left: calc(var(--gutterHalf) * var(--gutterHalfMultiplier, 2));
  padding-right: calc(var(--gutterHalf) * var(--gutterHalfMultiplier, 2));
}
@media only screen and (min-width: 56.25rem) {
  #footer > .inside .footerContent_container > [class^=level] {
    padding-left: calc(var(--col) + var(--gutterHalf));
    padding-right: 0;
  }
}
#footer > .inside .footerContent_container > [class^=level] {
  display: flex;
  flex-wrap: wrap;
}
#footer > .inside .footerContent_container > [class^=level] > .inside {
  flex-basis: 100%;
}
@media only screen and (min-width: 56.25rem) {
  #footer > .inside .footerContent_container > [class^=level] > .inside {
    flex-grow: 1;
    flex-basis: auto;
  }
}
#footer > .inside .footerContent_container > [class^=level] > .inside {
  padding-top: calc(var(--gutter) * 1);
  padding-bottom: calc(var(--gutter) * 1);
}
@media only screen and (min-width: 56.25rem) {
  #footer > .inside .footerContent_container > [class^=level] > .inside {
    padding-top: calc(var(--gutter) * 2);
    padding-bottom: calc(var(--gutter) * 3);
  }
}
@media only screen and (min-width: 56.25rem) {
  #footer > .inside .footerContent_container > [class^=level] > .inside.inside2 {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
  }
}
@media only screen and (min-width: 56.25rem) {
  #footer > .inside .level1 {
    flex-grow: 1;
  }
}
#footer > .inside .level2 {
  isolation: isolate;
  background-color: rgb(var(--themeColor3));
}
#footer > .inside .level2 * {
  color: rgb(var(--colorWhite));
  line-height: 1.5em;
}
#footer > .inside .level2 .oh {
  display: flex;
  flex-wrap: wrap;
}
#footer > .inside .level2 .oh .day {
  padding-right: 1em;
}
#footer > .inside .level2 {
  position: relative;
}
#footer > .inside .level2::after {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  top: 0;
  z-index: -1;
  width: calc(100% + var(--gutterHalf) * var(--gutterHalfMultiplier, 2));
}
@media only screen and (min-width: 75rem) {
  #footer > .inside .level2::after {
    width: calc(100% + (100vw - var(--contentRegular)) / 2);
  }
}
#footer > .inside .level2::after {
  height: 100%;
  translate: 90% 0;
  background-color: rgb(var(--themeColor3));
}

*:focus:not(.focus-visible) {
  outline: none;
}

*:focus:not(.focus-visible) {
  outline: none;
}

a {
  color: currentColor;
  text-decoration: solid underline currentColor 2px;
  text-underline-offset: 0.1em;
}
a:hover {
  color: rgb(var(--themeColor1));
}
a:hover .size {
  color: rgb(var(--themeColor1));
}

:root, ::after, ::before {
  --element-color: rgb(var(--themeColor2));
}

p:not(.back):not(.more):not(.download-element) a:not([href^="tel:"]):not([href^="mailto:"])[target=_blank]::after,
a:not([href^="tel:"]):not([href^="mailto:"]):not(.icon)[target=_blank]::after,
.content-hyperlink.btn a[target=_blank]::after {
  font-family: "icomoon" !important;
  content: "\e900";
  display: inline-block;
  position: relative;
  top: 1px;
  width: 0.875rem;
  height: 0.875rem;
  margin-left: 0.25rem;
  margin-right: 0.25rem;
  line-height: 1.1em;
}

#main .mod_article > .inside > .content-hyperlink {
  max-width: var(--maxWidthRegular);
  margin-left: auto;
  margin-right: auto;
  padding-left: calc(var(--gutterHalf) * var(--gutterHalfMultiplier, 2));
  padding-right: calc(var(--gutterHalf) * var(--gutterHalfMultiplier, 2));
}

.content-hyperlink.btn a,
.content-hyperlink.btn > span.hyperlink_txt > span.linkText,
#wrapper button:not(.hamburger):not(.flickity-button):not(.hofff-consent-show-privacy-settings):not(.hofff-consent-privacy-settings-toggle),
p.more a,
p.back a,
.download-element a {
  appearance: none;
  border: 0;
  padding: 0;
  --buttonColor: var(--themeColor2);
  display: inline-block;
}
@media screen and (max-width: 37.5rem) {
  .content-hyperlink.btn a,
  .content-hyperlink.btn > span.hyperlink_txt > span.linkText,
  #wrapper button:not(.hamburger):not(.flickity-button):not(.hofff-consent-show-privacy-settings):not(.hofff-consent-privacy-settings-toggle),
  p.more a,
  p.back a,
  .download-element a {
    font-size: 1rem;
  }
}
.content-hyperlink.btn a,
.content-hyperlink.btn > span.hyperlink_txt > span.linkText,
#wrapper button:not(.hamburger):not(.flickity-button):not(.hofff-consent-show-privacy-settings):not(.hofff-consent-privacy-settings-toggle),
p.more a,
p.back a,
.download-element a {
  font-size: calc(1rem + 0.1041666667vw);
}
@media screen and (min-width: 120rem) {
  .content-hyperlink.btn a,
  .content-hyperlink.btn > span.hyperlink_txt > span.linkText,
  #wrapper button:not(.hamburger):not(.flickity-button):not(.hofff-consent-show-privacy-settings):not(.hofff-consent-privacy-settings-toggle),
  p.more a,
  p.back a,
  .download-element a {
    font-size: 1.125rem;
  }
}
.content-hyperlink.btn a,
.content-hyperlink.btn > span.hyperlink_txt > span.linkText,
#wrapper button:not(.hamburger):not(.flickity-button):not(.hofff-consent-show-privacy-settings):not(.hofff-consent-privacy-settings-toggle),
p.more a,
p.back a,
.download-element a {
  padding: 0.7em 2em 0.55em 2em;
  text-decoration: none;
  text-align: center;
  line-height: 1.2;
  font-weight: var(--font-bold);
  border-radius: var(--borderRadius);
  background-color: rgb(var(--buttonColor));
  border: 3px solid rgb(var(--buttonColor));
  color: rgb(var(--colorWhite));
}
.content-hyperlink.btn a *,
.content-hyperlink.btn > span.hyperlink_txt > span.linkText *,
#wrapper button:not(.hamburger):not(.flickity-button):not(.hofff-consent-show-privacy-settings):not(.hofff-consent-privacy-settings-toggle) *,
p.more a *,
p.back a *,
.download-element a * {
  color: rgb(var(--colorWhite));
  line-height: 1;
}
.content-hyperlink.btn a,
.content-hyperlink.btn > span.hyperlink_txt > span.linkText,
#wrapper button:not(.hamburger):not(.flickity-button):not(.hofff-consent-show-privacy-settings):not(.hofff-consent-privacy-settings-toggle),
p.more a,
p.back a,
.download-element a {
  user-select: none;
}
@media (prefers-reduced-motion: no-preference) {
  .content-hyperlink.btn a,
  .content-hyperlink.btn > span.hyperlink_txt > span.linkText,
  #wrapper button:not(.hamburger):not(.flickity-button):not(.hofff-consent-show-privacy-settings):not(.hofff-consent-privacy-settings-toggle),
  p.more a,
  p.back a,
  .download-element a {
    transition: background-color var(--transitionDurationOut), background-image var(--transitionDurationOut), border-color var(--transitionDurationOut), color var(--transitionDurationOut);
  }
}
.content-hyperlink.btn a:hover, .content-hyperlink.btn a:focus,
.content-hyperlink.btn > span.hyperlink_txt > span.linkText:hover,
.content-hyperlink.btn > span.hyperlink_txt > span.linkText:focus,
#wrapper button:not(.hamburger):not(.flickity-button):not(.hofff-consent-show-privacy-settings):not(.hofff-consent-privacy-settings-toggle):hover,
#wrapper button:not(.hamburger):not(.flickity-button):not(.hofff-consent-show-privacy-settings):not(.hofff-consent-privacy-settings-toggle):focus,
p.more a:hover,
p.more a:focus,
p.back a:hover,
p.back a:focus,
.download-element a:hover,
.download-element a:focus {
  cursor: pointer;
  background-color: transparent;
  border-color: rgb(var(--buttonColor));
  color: rgb(var(--buttonColor));
}
.content-hyperlink.btn a:hover *, .content-hyperlink.btn a:focus *,
.content-hyperlink.btn > span.hyperlink_txt > span.linkText:hover *,
.content-hyperlink.btn > span.hyperlink_txt > span.linkText:focus *,
#wrapper button:not(.hamburger):not(.flickity-button):not(.hofff-consent-show-privacy-settings):not(.hofff-consent-privacy-settings-toggle):hover *,
#wrapper button:not(.hamburger):not(.flickity-button):not(.hofff-consent-show-privacy-settings):not(.hofff-consent-privacy-settings-toggle):focus *,
p.more a:hover *,
p.more a:focus *,
p.back a:hover *,
p.back a:focus *,
.download-element a:hover *,
.download-element a:focus * {
  color: rgb(var(--buttonColor));
}
@media (prefers-reduced-motion: no-preference) {
  .content-hyperlink.btn a:hover, .content-hyperlink.btn a:focus,
  .content-hyperlink.btn > span.hyperlink_txt > span.linkText:hover,
  .content-hyperlink.btn > span.hyperlink_txt > span.linkText:focus,
  #wrapper button:not(.hamburger):not(.flickity-button):not(.hofff-consent-show-privacy-settings):not(.hofff-consent-privacy-settings-toggle):hover,
  #wrapper button:not(.hamburger):not(.flickity-button):not(.hofff-consent-show-privacy-settings):not(.hofff-consent-privacy-settings-toggle):focus,
  p.more a:hover,
  p.more a:focus,
  p.back a:hover,
  p.back a:focus,
  .download-element a:hover,
  .download-element a:focus {
    transition: background-color var(--transitionDurationIn), background-image var(--transitionDurationIn), border-color var(--transitionDurationIn), color var(--transitionDurationIn);
  }
}
@media (prefers-reduced-motion: no-preference) {
  .content-hyperlink.btn a:hover *, .content-hyperlink.btn a:focus *,
  .content-hyperlink.btn > span.hyperlink_txt > span.linkText:hover *,
  .content-hyperlink.btn > span.hyperlink_txt > span.linkText:focus *,
  #wrapper button:not(.hamburger):not(.flickity-button):not(.hofff-consent-show-privacy-settings):not(.hofff-consent-privacy-settings-toggle):hover *,
  #wrapper button:not(.hamburger):not(.flickity-button):not(.hofff-consent-show-privacy-settings):not(.hofff-consent-privacy-settings-toggle):focus *,
  p.more a:hover *,
  p.more a:focus *,
  p.back a:hover *,
  p.back a:focus *,
  .download-element a:hover *,
  .download-element a:focus * {
    transition: background-color var(--transitionDurationIn), background-image var(--transitionDurationIn), border-color var(--transitionDurationIn), color var(--transitionDurationIn);
  }
}
.content-hyperlink.btn a:active,
.content-hyperlink.btn > span.hyperlink_txt > span.linkText:active,
#wrapper button:not(.hamburger):not(.flickity-button):not(.hofff-consent-show-privacy-settings):not(.hofff-consent-privacy-settings-toggle):active,
p.more a:active,
p.back a:active,
.download-element a:active {
  -webkit-transform: scale3d(0.95, 0.95, 1);
}

.content-hyperlink.btn + .content-hyperlink.btn a,
.btn.invert a {
  background-color: transparent;
  border-color: rgb(var(--buttonColor));
  color: rgb(var(--buttonColor));
}
.content-hyperlink.btn + .content-hyperlink.btn a *,
.btn.invert a * {
  color: rgb(var(--buttonColor));
}
.content-hyperlink.btn + .content-hyperlink.btn a:hover,
.btn.invert a:hover {
  background-color: rgb(var(--buttonColor));
  border-color: rgb(var(--buttonColor));
  color: rgb(var(--colorWhite));
}
.content-hyperlink.btn + .content-hyperlink.btn a:hover *,
.btn.invert a:hover * {
  color: rgb(var(--colorWhite));
}

*:not(.content-hyperlink.btn) + .content-hyperlink.btn a,
*:not(.content-hyperlink.btn) + .content-hyperlink.btn > .hyperlink_txt > .linkText,
*:not(p):not(p.back) + p.back a,
*:not(p):not(p.more) + p.more a,
button.submit,
*:not(p):not(p.more) + .download-element a {
  margin-top: 1em;
}
@media only screen and (min-width: 56.25rem) {
  *:not(.content-hyperlink.btn) + .content-hyperlink.btn a,
  *:not(.content-hyperlink.btn) + .content-hyperlink.btn > .hyperlink_txt > .linkText,
  *:not(p):not(p.back) + p.back a,
  *:not(p):not(p.more) + p.more a,
  button.submit,
  *:not(p):not(p.more) + .download-element a {
    margin-top: 1.5em;
  }
}

p.back a {
  margin-bottom: 1em;
}

.mod_article.themeColor2 p.more a {
  background-color: rgb(var(--colorWhite));
  border-color: rgb(var(--colorWhite));
  color: rgb(var(--buttonColor));
}
.mod_article.themeColor2 p.more a * {
  color: rgb(var(--buttonColor));
}
.mod_article.themeColor2 p.more a:hover {
  background-color: transparent;
  border-color: rgb(var(--colorWhite));
  color: rgb(var(--colorWhite));
}
.mod_article.themeColor2 p.more a:hover * {
  color: rgb(var(--colorWhite));
}

.btn_container {
  margin-top: 1em;
  display: flex;
  flex-direction: column;
  flex-wrap: wrap;
  gap: 1em;
}
@media only screen and (min-width: 29rem) {
  .btn_container {
    margin-top: 1.5em;
    flex-direction: row;
  }
}

header .btn_container .content-hyperlink.btn,
#main .btn_container .content-hyperlink.btn {
  --ce-space-vertical: 0;
  max-width: initial;
  --page-spacing: 0;
}
.content-form button.submit {
  margin-top: 0.5em;
}

.swiper, .swiper-container {
  /* Zentrale Swiper-Variablen (greifen in neueren Swiper-Versionen automatisch) */
  --swiper-navigation-color: currentColor;
  --swiper-navigation-size: clamp(20px, 14px + 0.01 * 100vw, 30px);
  /* Icon Masken */
  --swiper-navigation-icon-prev: var(--mask_icon-arrow-left);
  --swiper-navigation-icon-next: var(--mask_icon-arrow-left); /* Wird per CSS gespiegelt */
  --swiper-pagination-color: #46505f; /* aktive Bullets / Progressbar-Farbe */
  --swiper-pagination-bullet-inactive-color: #d2d7dc;
  --swiper-pagination-bullet-inactive-opacity: 0.75;
  --swiper-pagination-bullet-size: 6px;
  --swiper-pagination-progressbar-bg-color: #d2d7dc;
  --swiper-pagination-progressbar-size: 1px;
  /* Scrollbar Variables */
  --swiper-scrollbar-bg-color: #d2d7dc;
  --swiper-scrollbar-drag-bg-color: #46505f;
  --swiper-scrollbar-size: 4px;
  --swiper-scrollbar-border-radius: 4px;
  /* Button Offset Reset für absolute Positionierung */
  --swiper-navigation-sides-offset: 10px;
  --swiper-navigation-top-offset: 50%;
}

/* Navigation: Next/Prev Buttons */
.swiper-button-next,
.swiper-button-prev {
  color: var(--swiper-navigation-color, currentColor);
  transition: 0.3s ease;
  width: var(--swiper-navigation-size);
  height: var(--swiper-navigation-size);
}
.swiper-button-next:hover,
.swiper-button-prev:hover {
  color: #46505f;
  scale: 1.15;
}
.swiper-button-next.swiper-button-disabled,
.swiper-button-prev.swiper-button-disabled {
  opacity: 0.35;
  cursor: auto;
  pointer-events: none;
}

.swiper-button-prev {
  transform: scaleX(-1);
}

/* Pagination: Bullets */
.swiper-pagination-bullet {
  /* inaktiv über CSS-Variablen gesteuert */
}

.swiper-pagination-bullet-active {
  background-color: var(--swiper-pagination-color, #000); /* aktiv über CSS-Variable oder Fallback Schwarz */
}

/* Pagination: Progressbar */
.swiper-pagination-progressbar {
  height: var(--swiper-pagination-progressbar-size, 1px);
  background: var(--swiper-pagination-progressbar-bg-color, #E4E4E4);
}

.swiper-pagination-progressbar .swiper-pagination-progressbar-fill {
  background: var(--swiper-pagination-color, #000);
}

/* Scrollbar */
.swiper-scrollbar {
  background: var(--swiper-scrollbar-bg-color, #E4E4E4);
}

.swiper-scrollbar-drag {
  background: var(--swiper-scrollbar-drag-bg-color, #000);
}

:where(.mod_newslist, .mod_eventlist) {
  padding-top: var(--ce-space-vertical);
  overflow: hidden;
}

#main .inside .mod_article:first-of-type {
  padding-top: 0;
}

.mod_article {
  padding-bottom: var(--ce-space-vertical);
}
.mod_article.themeColor1 {
  background-color: rgb(var(--themeColor1));
}
.mod_article.themeColor1 * {
  color: rgb(var(--colorWhite));
}
.mod_article.themeColor2 {
  background-color: rgb(var(--themeColor2));
}
.mod_article.themeColor2 * {
  color: rgb(var(--colorWhite));
}
.mod_article.themeColor3 {
  background-color: rgb(var(--themeColor3));
}
.mod_article.themeColor4 {
  background-color: rgb(var(--themeColor4));
}
.mod_article.small {
  max-width: var(--maxTextWidth);
  margin-left: auto;
  margin-right: auto;
}

.fullwidth + .fullwidth {
  --ce-space-vertical: 0;
}

.mod_article:has(:last-child:is(.fullwidth)) + .mod_article:has(:first-child:is(.fullwidth)) {
  padding-top: 0;
}

.mod_article:has(:last-child:is(.fullwidth)) {
  padding-bottom: 0;
}

.mod_article:has(:last-child:is(.fullwidth)) + .mod_article {
  padding-top: var(--ce-space-vertical);
}

.mod_article.no-bg-clr + .mod_article.no-bg-clr > *:first-child,
.mod_article.has-bg-clr + .mod_article.has-bg-clr > *:first-child,
.mod_article:has(:last-child:is(.fullwidth)) + .mod_article > *:first-child {
  padding-top: 0;
}

.hero_container .mod_article:has(.hasNoImage) {
  padding-bottom: 0;
}

nav a {
  text-decoration: none;
}
nav ul {
  margin: 0;
  padding: 0;
}
nav strong {
  font-weight: var(--font-regular);
}

[id^=mainMenuMobileButton] {
  display: block;
  padding: var(--gutterHalf);
  text-decoration: none;
  transform: translate(calc(var(--gutterHalf) * 1), 0);
}
[id^=mainMenuMobileButton] button.hamburger {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  border: 0;
  background: transparent;
  font-size: 0.875rem;
  text-transform: uppercase;
  display: flex;
  flex-direction: column;
  padding: 0;
  pointer-events: none;
}
[id^=mainMenuMobileButton] button.hamburger .hamburger-box {
  width: 45px;
  height: 42px;
}
[id^=mainMenuMobileButton] button.hamburger .hamburger-box .hamburger-inner, [id^=mainMenuMobileButton] button.hamburger .hamburger-box::before, [id^=mainMenuMobileButton] button.hamburger .hamburger-box::after {
  content: "";
  height: 4px;
  display: block;
  border-radius: 2px;
  margin-left: auto;
  margin-right: 0;
  background: rgb(var(--colorWhite));
  margin-top: 8px;
  margin-bottom: 8px;
}
[id^=mainMenuMobileButton] button.hamburger .hamburger-label {
  color: rgb(var(--colorWhite));
  font-weight: var(--font-bold);
  width: 100%;
  text-align: center;
}
[id^=mainMenuMobileButton]:hover button.hamburger {
  cursor: pointer;
}
[id^=mainMenuMobileButton]:hover button.hamburger .hamburger-box .hamburger-inner, [id^=mainMenuMobileButton]:hover button.hamburger .hamburger-box::before, [id^=mainMenuMobileButton]:hover button.hamburger .hamburger-box::after {
  background: rgb(var(--colorBlack));
}
[id^=mainMenuMobileButton]:hover button.hamburger .hamburger-label {
  color: rgb(var(--colorBlack));
}

.menu-is-open [id^=mainMenuMobileButton] button.hamburger .hamburger-box {
  position: relative;
}
.menu-is-open [id^=mainMenuMobileButton] button.hamburger .hamburger-box::before, .menu-is-open [id^=mainMenuMobileButton] button.hamburger .hamburger-box::after {
  width: 45px;
  position: absolute;
  top: 29%;
  height: 4px;
  background: rgb(var(--themeBlack));
}
.menu-is-open [id^=mainMenuMobileButton] button.hamburger .hamburger-box::before {
  transform: rotate(45deg);
}
.menu-is-open [id^=mainMenuMobileButton] button.hamburger .hamburger-box::after {
  transform: rotate(-45deg);
}
.menu-is-open [id^=mainMenuMobileButton] button.hamburger .hamburger-box .hamburger-inner {
  display: none !important;
}
.menu-is-open [id^=mainMenuMobileButton] button.hamburger .hamburger-label {
  color: rgb(var(--colorBlack));
}

.mod_customnav.menuMain ul {
  display: flex;
  flex-wrap: wrap;
}
.mod_customnav.menuMain ul li {
  color: rgb(var(--themeColor2));
  font-weight: var(--font-bold);
  padding: var(--gutterHalf) var(--gutter);
}
.mod_customnav.menuMain ul > li a:hover,
.mod_customnav.menuMain ul > li.trail > a,
.mod_customnav.menuMain ul > li.active > strong,
.mod_customnav.menuMain ul > li.forward > strong {
  color: rgb(var(--themeColor3));
}
.mod_customnav.menuMain {
  display: none;
}
@media only screen and (min-width: 46.875rem) {
  .mod_customnav.menuMain {
    display: block;
  }
}

.mod_customnav.menuSub ul {
  display: flex;
  gap: var(--gutter);
}
.mod_customnav.menuSub ul li {
  color: rgb(var(--themeColor2));
  font-weight: var(--font-bold);
  text-transform: uppercase;
}
.mod_customnav.menuSub ul > li a:hover,
.mod_customnav.menuSub ul > li.trail > a,
.mod_customnav.menuSub ul > li.active > strong,
.mod_customnav.menuSub ul > li.forward > strong {
  color: rgb(var(--themeColor3));
}

.mod_customnav.menuSub.law ul {
  display: flex;
}
.mod_customnav.menuSub.law ul li {
  color: rgb(var(--themeColor3));
  font-weight: var(--font-regular);
  text-transform: uppercase;
}
.mod_customnav.menuSub.law ul > li a:hover,
.mod_customnav.menuSub.law ul > li.trail > a,
.mod_customnav.menuSub.law ul > li.active > strong,
.mod_customnav.menuSub.law ul > li.forward > strong {
  color: rgb(var(--themeColor2));
}

.offcanvas-overlay {
  --background-color: white;
  background-color: rgb(var(--themeColor2));
  position: absolute;
  display: flex;
  justify-content: center;
  align-items: flex-end;
  width: 100%;
  height: 100dvh;
  background: white;
  top: 0;
  left: 0;
  transition: transform 0.33s ease-in;
  transform: translateY(-100%);
  z-index: -1;
}
.offcanvas-overlay.is-opened {
  transform: translateY(0%);
  transition: transform 0.33s ease-in;
}
.offcanvas-overlay.is-opened > .inside > * {
  opacity: 1;
  transition: opacity 0.33s ease-in;
}
.offcanvas-overlay > .inside {
  padding-top: var(--ce-vertical-spacing);
  margin-right: 4vw;
  margin-left: 4vw;
}
@media screen and (min-width: 56.25rem) {
  .offcanvas-overlay > .inside {
    margin-right: 9.6354166667vw;
    margin-left: 9.6354166667vw;
  }
}
@media screen and (min-width: 75rem) {
  .offcanvas-overlay > .inside {
    margin-right: 19.2708333333vw;
    margin-left: 19.2708333333vw;
  }
}
@media screen and (min-width: 120rem) {
  .offcanvas-overlay > .inside {
    margin-right: auto;
    margin-left: auto;
    max-width: 1180px;
  }
}
.offcanvas-overlay > .inside {
  width: 100%;
  max-width: 100vw;
  padding-block: 0 !important;
  display: grid;
  grid-template-columns: 1fr 2px 3fr;
}
@media screen and (max-width: 56.25rem) {
  .offcanvas-overlay > .inside {
    grid-template-columns: 1fr;
  }
}
.offcanvas-overlay > .inside {
  gap: var(--gutter);
}
.offcanvas-overlay > .inside > * {
  margin-bottom: var(--gutter);
  opacity: 0;
  transition: opacity 0.33s ease-in 0.33s;
}
.offcanvas-overlay > .inside .link-wrapper .mm-wrapper {
  height: 100%;
}
.offcanvas-overlay > .inside .link-wrapper .mm-wrapper .mm-menu {
  --mm-listitem-size: 56px;
  --mm-color-border: transparent;
  --mm-color-background: var(--background-color);
  display: flex;
}
.offcanvas-overlay > .inside .link-wrapper .mm-wrapper .mm-menu .mm-listitem__text {
  padding-left: 0;
}
.offcanvas-overlay > .inside .link-wrapper .mm-wrapper .mm-menu .mm-listitem.active a {
  font-weight: 700;
}
.offcanvas-overlay > .inside .link-wrapper .mm-wrapper .mm-menu .mm-listitem::after {
  inset-inline-start: 0px;
}
.offcanvas-overlay > .inside .divider {
  grid-column: 2;
}
.offcanvas-overlay > .inside .cards-wrapper {
  min-width: 0;
  margin-top: calc((var(--mm-listitem-size) - var(--mm-lineheight)) / 2 + (var(--mm-listitem-size)));
  margin-left: 20px;
}

.mod_newslist p.empty {
  padding-top: var(--ce-vertical-spacing);
  margin-right: 4vw;
  margin-left: 4vw;
}
@media screen and (min-width: 56.25rem) {
  .mod_newslist p.empty {
    margin-right: 9.6354166667vw;
    margin-left: 9.6354166667vw;
  }
}
@media screen and (min-width: 75rem) {
  .mod_newslist p.empty {
    margin-right: 19.2708333333vw;
    margin-left: 19.2708333333vw;
  }
}
@media screen and (min-width: 120rem) {
  .mod_newslist p.empty {
    margin-right: auto;
    margin-left: auto;
    max-width: 1180px;
  }
}
.mod_newslist + .content-hyperlink {
  padding-top: calc(var(--ce-space-vertical) * 0.5);
  text-align: center;
}
.mod_newslist + .content-hyperlink a {
  margin-top: 0 !important;
}
.mod_newslist [class*=layout_] {
  background-color: #d2d7dc;
  border-radius: var(--borderRadius);
  display: flex;
  flex-direction: column;
}
.mod_newslist [class*=layout_] img {
  border-top-left-radius: var(--borderRadius);
  border-top-right-radius: var(--borderRadius);
}
.mod_newslist [class*=layout_] > .inside {
  flex-grow: 1;
  padding: clamp(20px, 14px + 0.01 * 100vw, 30px);
  display: flex;
  flex-direction: column;
  justify-content: start;
  gap: 15px;
}
.mod_newslist [class*=layout_] > .inside .ce_text {
  padding-left: 0;
  padding-right: 0;
  flex-grow: 1;
  display: flex;
  flex-direction: column;
  justify-content: start;
}
.mod_newslist [class*=layout_] > .inside .ce_text > p.more {
  padding-top: 1.4em;
  align-self: end;
  margin-top: auto;
}
.mod_newslist [class*=layout_] > .inside > p.more {
  align-self: end;
  margin-top: auto;
}
.mod_newslist {
  position: relative;
}
.mod_newslist .swiper-container .swiper {
  padding-left: var(--page-spacing);
  overflow: visible;
}
.mod_newslist .swiper-container .swiper .swiper-slide {
  min-height: 100%;
}
.mod_newslist .swiper-container .swiper-pagination {
  padding-top: var(--ce-vertical-spacing);
  margin-right: 4vw;
  margin-left: 4vw;
}
@media screen and (min-width: 56.25rem) {
  .mod_newslist .swiper-container .swiper-pagination {
    margin-right: 9.6354166667vw;
    margin-left: 9.6354166667vw;
  }
}
@media screen and (min-width: 75rem) {
  .mod_newslist .swiper-container .swiper-pagination {
    margin-right: 19.2708333333vw;
    margin-left: 19.2708333333vw;
  }
}
@media screen and (min-width: 120rem) {
  .mod_newslist .swiper-container .swiper-pagination {
    margin-right: auto;
    margin-left: auto;
    max-width: 1180px;
  }
}
.mod_newslist .swiper-container .swiper-pagination {
  padding-top: 0;
}

.mod_newsreader > p.empty,
.mod_newsreader > p.back {
  max-width: var(--maxWidthRegular);
  margin-left: auto;
  margin-right: auto;
  text-align: center;
}

.mod_eventlist .header {
  display: none;
}
.mod_eventlist + .content-hyperlink {
  padding-top: calc(var(--ce-space-vertical) * 0.5);
  text-align: center;
}
.mod_eventlist + .content-hyperlink a {
  margin-top: 0 !important;
}

.mod_eventlist.hasSwiper .swiper-container .event {
  background-color: #d2d7dc;
  border-radius: var(--borderRadius);
  padding: clamp(20px, 14px + 0.01 * 100vw, 30px);
  display: flex;
  flex-direction: column;
  justify-content: start;
  gap: 15px;
}
.mod_eventlist.hasSwiper .swiper-container .event .day {
  font-weight: var(--font-bold);
}
.mod_eventlist.hasSwiper .swiper-container .event p.more,
.mod_eventlist.hasSwiper .swiper-container .event .btn_container {
  align-self: end;
  margin-top: auto;
  padding-top: 1.5em;
}
.mod_eventlist.hasSwiper .swiper-container .event .ce_text {
  padding-left: 0;
  padding-right: 0;
  display: flex;
  flex-direction: column;
  gap: 1em;
}
.mod_eventlist.hasSwiper .swiper-container .swiper {
  padding-left: var(--page-spacing);
  overflow: visible;
}
.mod_eventlist.hasSwiper .swiper-container .swiper .swiper-slide {
  min-height: 100%;
}
.mod_eventlist.hasSwiper .swiper-container .swiper-pagination {
  padding-top: var(--ce-vertical-spacing);
  margin-right: 4vw;
  margin-left: 4vw;
}
@media screen and (min-width: 56.25rem) {
  .mod_eventlist.hasSwiper .swiper-container .swiper-pagination {
    margin-right: 9.6354166667vw;
    margin-left: 9.6354166667vw;
  }
}
@media screen and (min-width: 75rem) {
  .mod_eventlist.hasSwiper .swiper-container .swiper-pagination {
    margin-right: 19.2708333333vw;
    margin-left: 19.2708333333vw;
  }
}
@media screen and (min-width: 120rem) {
  .mod_eventlist.hasSwiper .swiper-container .swiper-pagination {
    margin-right: auto;
    margin-left: auto;
    max-width: 1180px;
  }
}
.mod_eventlist.hasSwiper .swiper-container .swiper-pagination {
  padding-top: 0;
}

.mod_eventlist:not(.hasSwiper) {
  padding-top: var(--ce-vertical-spacing);
  margin-right: 4vw;
  margin-left: 4vw;
}
@media screen and (min-width: 56.25rem) {
  .mod_eventlist:not(.hasSwiper) {
    margin-right: 9.6354166667vw;
    margin-left: 9.6354166667vw;
  }
}
@media screen and (min-width: 75rem) {
  .mod_eventlist:not(.hasSwiper) {
    margin-right: 19.2708333333vw;
    margin-left: 19.2708333333vw;
  }
}
@media screen and (min-width: 120rem) {
  .mod_eventlist:not(.hasSwiper) {
    margin-right: auto;
    margin-left: auto;
    max-width: 1180px;
  }
}

.mod_eventreader > p.empty,
.mod_eventreader > p.back {
  max-width: var(--maxWidthRegular);
  margin-left: auto;
  margin-right: auto;
  text-align: center;
}

.mod_cfg_instagram .items_container .item a::before {
  display: none !important;
  z-index: 2;
}
.mod_cfg_instagram .items_container .item a picture {
  position: relative;
  z-index: 1;
}
.mod_cfg_instagram .items_container .item a::after {
  display: none !important;
  z-index: 3;
}
.mod_cfg_instagram .items_container .item a:hover::before {
  content: "";
  width: calc(var(--gutterHalf) * 3);
  height: calc(var(--gutterHalf) * 2.5);
  background-color: rgb(var(--colorWhite));
  position: absolute !important;
  top: 0 !important;
  right: 0;
  display: block !important;
  border-bottom-left-radius: var(--borderRadius);
}
.mod_cfg_instagram .items_container .item a:hover::after {
  position: absolute !important;
  top: calc(var(--gutterHalf) / 2) !important;
  right: calc(var(--gutterHalf) / 2);
  display: block !important;
}

.mod_cfg_instagram .swiper {
  max-width: var(--maxWidthRegular);
  margin-left: auto;
  margin-right: auto;
  overflow: visible;
}
.mod_cfg_instagram .swiper .swiper-slide {
  will-change: opacity;
  transition: opacity var(--transitionDurationOut);
}
.mod_cfg_instagram .swiper .swiper-slide:not(.swiper-slide-visible) {
  opacity: 0.2;
  transition: opacity var(--transitionDurationIn);
}

#main .ce_accordion {
  max-width: var(--maxWidthRegular);
  margin-left: auto;
  margin-right: auto;
  padding-left: calc(var(--gutterHalf) * var(--gutterHalfMultiplier, 2));
  padding-right: calc(var(--gutterHalf) * var(--gutterHalfMultiplier, 2));
}

#main .ce_accordion .toggler {
  outline: none;
  display: flex;
  flex-direction: row-reverse;
  justify-content: flex-end;
  align-items: center;
}
#main .ce_accordion .toggler .ui-accordion-header-icon {
  margin-left: auto;
  margin-right: 0;
}
#main .ce_accordion .toggler .ui-accordion-header-icon::before {
  content: "";
  width: 1em;
  height: 1em;
  display: block;
}
#main .ce_accordion .toggler:hover {
  cursor: pointer;
}
#main .ce_accordion .toggler + .accordion:not(.ui-accordion-content) {
  display: none;
}
#main .ce_accordion + * {
  margin-top: 2em;
}

.content-download,
.content-downloads {
  padding-top: var(--ce-vertical-spacing);
  margin-right: 4vw;
  margin-left: 4vw;
}
@media screen and (min-width: 56.25rem) {
  .content-download,
  .content-downloads {
    margin-right: 9.6354166667vw;
    margin-left: 9.6354166667vw;
  }
}
@media screen and (min-width: 75rem) {
  .content-download,
  .content-downloads {
    margin-right: 19.2708333333vw;
    margin-left: 19.2708333333vw;
  }
}
@media screen and (min-width: 120rem) {
  .content-download,
  .content-downloads {
    margin-right: auto;
    margin-left: auto;
    max-width: 1180px;
  }
}

.content-download a .size,
.content-downloads a .size {
  font-size: 0.7em;
}
@media (prefers-reduced-motion: no-preference) {
  .content-download a .size,
  .content-downloads a .size {
    transition: background-color var(--transitionDurationOut), background-image var(--transitionDurationOut), border-color var(--transitionDurationOut), color var(--transitionDurationOut);
  }
}
@media (prefers-reduced-motion: no-preference) {
  .content-download a:hover,
  .content-downloads a:hover {
    transition: background-color var(--transitionDurationIn), background-image var(--transitionDurationIn), border-color var(--transitionDurationIn), color var(--transitionDurationIn);
  }
}

.content-image + .content-download .download-element,
.content-image + .content-downloads .download-element {
  text-align: center;
}

@supports (-webkit-appearance: none) or (-moz-appearance: none) {
  input,
  fieldset,
  select,
  textarea {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
  }
}
* + .widget,
* + fieldset,
* + .fieldset,
input[type=submit] {
  margin-top: calc(var(--gutterHalf) * 1.5);
}

.fieldset[class*=grid-] > .inside {
  margin-left: calc(var(--gutterHalf) * -1);
  margin-right: calc(var(--gutterHalf) * -1);
}
@media only screen and (min-width: 37.5rem) {
  .fieldset[class*=grid-] > .inside * + .widget {
    margin-top: 0;
  }
}

input,
fieldset,
select,
textarea,
legend,
label {
  display: inline-block;
  border: 0;
  background-color: transparent;
  border-radius: 0;
  padding: 0;
  padding-top: 1em;
  padding-bottom: 1em;
  color: rgb(var(--themeColor3));
}

input,
select,
textarea {
  width: 100%;
}

input[type=radio], input[type=checkbox] {
  width: 1.5em;
  height: 1.5em;
  padding: 0;
  --active: var(--colorPrimary);
  --active-inner: var(--colorWhite);
  --focus: 2px rgba(3, 3, 3, 0.3);
  --border: var(--colorSecondary);
  --border-hover: var(--colorSecondary);
  --background: transparent;
  --disabled: #F6F8FF;
  --disabled-inner: #E1E6F9;
  outline: none;
  display: inline-block;
  vertical-align: top;
  position: relative;
  cursor: pointer;
  border: 1px solid var(--bc, var(--border));
  background: var(--b, var(--background));
  transition: background 0.3s, border-color 0.3s, box-shadow 0.2s;
}
input[type=radio]:after, input[type=checkbox]:after {
  content: "";
  display: block;
  left: 0;
  top: 0;
  position: absolute;
  transition: transform var(--d-t, 0.3s) var(--d-t-e, ease), opacity var(--d-o, 0.2s);
}
input[type=radio]:checked, input[type=checkbox]:checked {
  --b: var(--active);
  --bc: var(--active);
  --d-o: .3s;
  --d-t: .6s;
  --d-t-e: cubic-bezier(.2, .85, .32, 1.2);
}
input[type=radio]:disabled, input[type=checkbox]:disabled {
  --b: var(--disabled);
  cursor: not-allowed;
  opacity: 0.9;
}
input[type=radio]:disabled:checked, input[type=checkbox]:disabled:checked {
  --b: var(--disabled-inner);
  --bc: var(--border);
}
input[type=radio]:disabled + label, input[type=checkbox]:disabled + label {
  cursor: not-allowed;
}
input[type=radio]:hover:not(:checked):not(:disabled), input[type=checkbox]:hover:not(:checked):not(:disabled) {
  --bc: var(--border-hover);
}
input[type=radio]:focus, input[type=checkbox]:focus {
  box-shadow: 0 0 0 var(--focus);
}
input[type=radio]:not(.switch):after, input[type=checkbox]:not(.switch):after {
  opacity: var(--o, 0);
}
input[type=radio]:not(.switch):checked, input[type=checkbox]:not(.switch):checked {
  --o: 1;
}
input[type=radio] + label, input[type=checkbox] + label {
  padding-left: 0.5rem;
  padding-right: 1rem;
}
input[type=radio] + label:hover, input[type=checkbox] + label:hover {
  cursor: pointer;
}
input[type=radio]:checked, input[type=checkbox]:checked {
  --s: .5;
}
input[type=radio] {
  border-radius: 50%;
}
input[type=radio]:after {
  width: 1.4em;
  height: 1.4em;
  border-radius: 50%;
  background: var(--active-inner);
  opacity: 0;
  transform: scale(var(--s, 0.7));
}
input[type=radio]:checked {
  --s: .5;
}
input[type=checkbox]:not(.switch) {
  border-radius: 4px;
}
input[type=checkbox]:not(.switch):after {
  width: 5px;
  height: 9px;
  border: 2px solid var(--active-inner);
  border-top: 0;
  border-left: 0;
  left: 6px;
  top: 3px;
  transform: rotate(var(--r, 20deg));
}
input[type=checkbox]:not(.switch):checked {
  --r: 43deg;
}
input[type=range] {
  background: transparent; /* Otherwise white in Chrome */
}
input[type=range]::-webkit-slider-thumb {
  -webkit-appearance: none;
}
input[type=range]:focus {
  outline: none; /* Removes the blue border. You should probably do some kind of focus styling for accessibility reasons though. */
}
input[type=range]::-ms-track {
  width: 100%;
  cursor: pointer;
  /* Hides the slider so custom styles can be added */
  background: transparent;
  border-color: transparent;
  color: transparent;
}
input[type=range] {
  /* Special styling for WebKit/Blink */
}
input[type=range]::-webkit-slider-thumb {
  -webkit-appearance: none;
  border: 1.5px solid var(--colorWhite);
  height: 16px;
  width: 16px;
  border-radius: 50%;
  background: var(--colorPrimary);
  cursor: pointer;
  margin-top: -8px;
}
input[type=range] {
  /* All the same stuff for Firefox */
}
input[type=range]::-moz-range-thumb {
  border: 1.5px solid var(--colorWhite);
  height: 16px;
  width: 16px;
  border-radius: 50%;
  background: var(--colorPrimary);
  cursor: pointer;
}
input[type=range] {
  /* All the same stuff for IE */
}
input[type=range]::-ms-thumb {
  border: 1.5px solid var(--colorWhite);
  height: 16px;
  width: 16px;
  border-radius: 50%;
  background: var(--colorPrimary);
  cursor: pointer;
}
input[type=range] {
  --track: rgba(181, 185, 187, 0.4);
  --track_focus: rgba(181, 185, 187, 0.8);
}
input[type=range]::-webkit-slider-runnable-track {
  width: 100%;
  height: 1px;
  cursor: pointer;
  background: var(--track);
  border-radius: 1px;
}
input[type=range]:focus::-webkit-slider-runnable-track {
  background: var(--track_focus);
}
input[type=range]::-moz-range-track {
  width: 100%;
  height: 1px;
  cursor: pointer;
  background: var(--track);
  border-radius: 1px;
}
input[type=range]::-ms-track {
  width: 100%;
  height: 1px;
  cursor: pointer;
  background: transparent;
  border-color: transparent;
  border-width: 16px 0;
  color: transparent;
}
input[type=range]::-ms-fill-lower {
  background: var(--track);
  border-radius: 1px;
}
input[type=range]:focus::-ms-fill-lower {
  background: var(--track_focus);
}
input[type=range]::-ms-fill-upper {
  background: var(--track);
  border-radius: 1px;
}
input[type=range]:focus::-ms-fill-upper {
  background: var(--track_focus);
}

select.select {
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='15.552' height='9.189' viewBox='0 0 15.552 9.189'%3E%3Cpath data-name='Pfad 118' d='M14.845.707L7.776 7.775.707.707' fill='none' stroke='%23000000' stroke-width='2'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: calc(100% - var(--gutterHalf));
  background-size: 14.14px 7.07px;
}

.widget {
  position: relative;
}
.widget.widget-text > label,
.widget.widget-text > fieldset, .widget.widget-textarea > label,
.widget.widget-textarea > fieldset, .widget.widget-password > label,
.widget.widget-password > fieldset {
  position: absolute;
}
.widget.widget-text > label, .widget.widget-textarea > label, .widget.widget-password > label {
  pointer-events: none;
}
.widget.widget-text > label,
.widget.widget-text > input,
.widget.widget-text > textarea, .widget.widget-textarea > label,
.widget.widget-textarea > input,
.widget.widget-textarea > textarea, .widget.widget-password > label,
.widget.widget-password > input,
.widget.widget-password > textarea {
  padding-left: calc(var(--gutterHalf) * 2);
}
.widget.widget-upload {
  display: flex;
  flex-direction: column-reverse;
}
.widget.widget-upload > label,
.widget.widget-upload > input {
  padding-left: calc(var(--gutterHalf) * 2);
}
.widget.widget-upload > label {
  padding-top: 0;
}
.widget.widget-text.focus label, .widget.widget-text.filled label, .widget.widget-text:focus label, .widget.widget-text:-webkit-autofill label, .widget.widget-textarea.focus label, .widget.widget-textarea.filled label, .widget.widget-textarea:focus label, .widget.widget-textarea:-webkit-autofill label, .widget.widget-password.focus label, .widget.widget-password.filled label, .widget.widget-password:focus label, .widget.widget-password:-webkit-autofill label {
  padding-left: calc(var(--gutterHalf) * 2);
  font-size: 0.5em;
  transform: translateY(-20%);
  letter-spacing: var(--letter-spacing);
}
.widget.widget-text.focus input, .widget.widget-text.filled input, .widget.widget-text:focus input, .widget.widget-text:-webkit-autofill input, .widget.widget-textarea.focus input, .widget.widget-textarea.filled input, .widget.widget-textarea:focus input, .widget.widget-textarea:-webkit-autofill input, .widget.widget-password.focus input, .widget.widget-password.filled input, .widget.widget-password:focus input, .widget.widget-password:-webkit-autofill input {
  font-weight: var(--font-medium);
}
.widget.widget-select label {
  padding-left: calc(var(--gutterHalf) * 2);
}
.widget.widget-select select {
  padding-left: calc(var(--gutterHalf) * 2);
}
.widget.widget-text, .widget.widget-textarea, .widget.widget-password, .widget.widget-select select {
  border-radius: var(--borderRadius);
  border: 3px solid rgb(var(--themeColor3), 0.2);
}
.widget.widget-text.filled, .widget.widget-textarea.filled, .widget.widget-password.filled, .widget.widget-select select.filled {
  border: 3px solid rgb(var(--themeColor2));
}
.widget.widget-select.filled select {
  border: 3px solid rgb(var(--themeColor2));
}

.checkbox_container > span,
.radio_container > span {
  display: inline-flex;
  align-items: center;
}

.switch input {
  width: 3em;
  border-radius: 11px;
}
.switch input:after {
  left: 2px;
  top: 2px;
  border-radius: 50%;
  width: calc(1em - 1px);
  height: calc(1em - 1px);
  background: var(--ab, var(--border));
  transform: translateX(var(--x, 0));
  --o: .3;
  border: 0;
}
.switch input:checked {
  --ab: var(--active-inner);
  --x: 17px;
}
.switch input:checked:after {
  --o: 1;
}
.switch input:disabled:not(:checked):after {
  opacity: 0.6;
}

input:-webkit-autofill,
input:-webkit-autofill:hover,
input:-webkit-autofill:focus,
textarea:-webkit-autofill,
textarea:-webkit-autofill:hover,
textarea:-webkit-autofill:focus,
select:-webkit-autofill,
select:-webkit-autofill:hover,
select:-webkit-autofill:focus {
  -webkit-text-fill-color: var(--colorWhite);
  -webkit-box-shadow: 0 0 0px 1000px transparent inset;
  transition: background-color 5000s ease-in-out 0s;
}

.ce_form {
  max-width: var(--maxTextWidth);
  margin-left: auto;
  margin-right: auto;
}

.content-gallery {
  padding-top: var(--ce-vertical-spacing);
  margin-right: 4vw;
  margin-left: 4vw;
}
@media screen and (min-width: 56.25rem) {
  .content-gallery {
    margin-right: 9.6354166667vw;
    margin-left: 9.6354166667vw;
  }
}
@media screen and (min-width: 75rem) {
  .content-gallery {
    margin-right: 19.2708333333vw;
    margin-left: 19.2708333333vw;
  }
}
@media screen and (min-width: 120rem) {
  .content-gallery {
    margin-right: auto;
    margin-left: auto;
    max-width: 1180px;
  }
}

.mod_article > .inside > .content-gallery {
  padding-left: 10px;
  padding-right: 10px;
}

.content-gallery ul {
  list-style-type: none;
  padding-left: 0;
  display: grid;
  gap: 20px;
}
.content-gallery ul figure * {
  width: 100%;
  height: 100%;
}
.content-gallery ul figure img {
  object-fit: cover;
}
.content-gallery.content-gallery--cols-4 > ul {
  grid-template-columns: repeat(2, 1fr);
}
@media only screen and (min-width: 56.25rem) {
  .content-gallery.content-gallery--cols-4 > ul {
    grid-template-columns: repeat(4, 1fr);
  }
}
.content-gallery.content-gallery--cols-3 > ul {
  grid-template-columns: repeat(2, 1fr);
}
@media only screen and (min-width: 56.25rem) {
  .content-gallery.content-gallery--cols-3 > ul {
    grid-template-columns: repeat(3, 1fr);
  }
}
.content-gallery.content-gallery--cols-2 > ul {
  grid-template-columns: repeat(2, 1fr);
}

.content-image {
  padding-top: var(--ce-vertical-spacing);
  margin-right: 4vw;
  margin-left: 4vw;
}
@media screen and (min-width: 56.25rem) {
  .content-image {
    margin-right: 9.6354166667vw;
    margin-left: 9.6354166667vw;
  }
}
@media screen and (min-width: 75rem) {
  .content-image {
    margin-right: 19.2708333333vw;
    margin-left: 19.2708333333vw;
  }
}
@media screen and (min-width: 120rem) {
  .content-image {
    margin-right: auto;
    margin-left: auto;
    max-width: 1180px;
  }
}
.content-image {
  max-width: 1180px;
}
.content-image.content-regular {
  max-width: 1180px;
}
.content-image.content-medium {
  max-width: 1180px;
}

:root {
  --icon_mask_list_ul: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 15 15'%3E%3Ccircle cx='7.5' cy='7.5' r='6' stroke='%23FC0' stroke-width='3'/%3E%3C/svg%3E");
}

.content-list {
  padding-top: var(--ce-vertical-spacing);
  margin-right: 4vw;
  margin-left: 4vw;
}
@media screen and (min-width: 56.25rem) {
  .content-list {
    margin-right: 11.9791666667vw;
    margin-left: 11.9791666667vw;
  }
}
@media screen and (min-width: 75rem) {
  .content-list {
    margin-right: 23.9583333333vw;
    margin-left: 23.9583333333vw;
  }
}
@media screen and (min-width: 120rem) {
  .content-list {
    margin-right: auto;
    margin-left: auto;
    max-width: 1000px;
  }
}

.content-list ul,
.content-list ol,
.content-text ul,
.content-text ol,
.ce_text ul,
.ce_text ol,
.content_container ul,
.content_container ol {
  list-style-position: inside;
}
.content-list ul li + li,
.content-list ol li + li,
.content-text ul li + li,
.content-text ol li + li,
.ce_text ul li + li,
.ce_text ol li + li,
.content_container ul li + li,
.content_container ol li + li {
  margin-top: 0.8em;
}
.content-list ul li,
.content-list ol li,
.content-text ul li,
.content-text ol li,
.ce_text ul li,
.ce_text ol li,
.content_container ul li,
.content_container ol li {
  padding-left: 1em;
}
.content-list ul li,
.content-text ul li,
.ce_text ul li,
.content_container ul li {
  list-style-type: none;
  position: relative;
}
.content-list ul li::before,
.content-text ul li::before,
.ce_text ul li::before,
.content_container ul li::before {
  content: "";
  display: inline-block;
  position: absolute;
  left: 0;
  top: 0.5em;
  width: 0.5em;
  height: 0.5em;
  background-color: #d1087b;
  border-radius: 50%;
}
.content-list ul li,
.content-text ul li,
.ce_text ul li,
.content_container ul li {
  padding-left: calc(1em + 15px);
}
.content-list ol,
.content-text ol,
.ce_text ol,
.content_container ol {
  counter-reset: listItem;
}
.content-list ol li,
.content-text ol li,
.ce_text ol li,
.content_container ol li {
  counter-increment: listItem;
  list-style-type: none;
  position: relative;
}
.content-list ol li::before,
.content-text ol li::before,
.ce_text ol li::before,
.content_container ol li::before {
  content: counter(listItem) ".";
  display: inline-block;
  position: absolute;
  left: 0;
  top: 0;
  width: 1em;
  height: auto;
  color: #d1087b;
  text-align: right;
}
@media screen and (max-width: 37.5rem) {
  .content-list ol li::before,
  .content-text ol li::before,
  .ce_text ol li::before,
  .content_container ol li::before {
    font-size: 1.25rem;
  }
}
.content-list ol li::before,
.content-text ol li::before,
.ce_text ol li::before,
.content_container ol li::before {
  font-size: calc(1.25rem + 0.2083333333vw);
}
@media screen and (min-width: 120rem) {
  .content-list ol li::before,
  .content-text ol li::before,
  .ce_text ol li::before,
  .content_container ol li::before {
    font-size: 1.5rem;
  }
}
.content-list ol li::before,
.content-text ol li::before,
.ce_text ol li::before,
.content_container ol li::before {
  font-weight: var(--font-bold);
  line-height: 1em;
}
.content-list ol li,
.content-text ol li,
.ce_text ol li,
.content_container ol li {
  padding-left: calc(1em + 25px);
}

.content-text {
  padding-top: var(--ce-vertical-spacing);
  margin-right: 4vw;
  margin-left: 4vw;
}
@media screen and (min-width: 56.25rem) {
  .content-text {
    margin-right: 11.9791666667vw;
    margin-left: 11.9791666667vw;
  }
}
@media screen and (min-width: 75rem) {
  .content-text {
    margin-right: 23.9583333333vw;
    margin-left: 23.9583333333vw;
  }
}
@media screen and (min-width: 120rem) {
  .content-text {
    margin-right: auto;
    margin-left: auto;
    max-width: 1000px;
  }
}
.content-text > .inside {
  display: grid;
  gap: 20px;
}
.content-text.media--right, .content-text.media--left {
  padding-top: var(--ce-vertical-spacing);
  margin-right: 4vw;
  margin-left: 4vw;
}
@media screen and (min-width: 56.25rem) {
  .content-text.media--right, .content-text.media--left {
    margin-right: 9.6354166667vw;
    margin-left: 9.6354166667vw;
  }
}
@media screen and (min-width: 75rem) {
  .content-text.media--right, .content-text.media--left {
    margin-right: 19.2708333333vw;
    margin-left: 19.2708333333vw;
  }
}
@media screen and (min-width: 120rem) {
  .content-text.media--right, .content-text.media--left {
    margin-right: auto;
    margin-left: auto;
    max-width: 1180px;
  }
}
.content-text.media--right > .inside figure, .content-text.media--left > .inside figure {
  grid-row: 1;
  grid-column: 1/-1;
}
.content-text.media--right > .inside .rte, .content-text.media--left > .inside .rte {
  grid-row: 2;
  grid-column: 1/-1;
}

@media only screen and (min-width: 56.25rem) {
  .content-text.media--right > .inside, .content-text.media--left > .inside {
    grid-template-columns: repeat(12, 1fr);
  }
  .content-text.media--right > .inside figure, .content-text.media--left > .inside figure {
    grid-row: 1;
    grid-column: 1/span 6;
  }
  .content-text.media--right > .inside .rte, .content-text.media--left > .inside .rte {
    grid-row: 1;
    grid-column: 7/span 6;
  }
  .content-text.media--right > .inside figure {
    grid-column: 7/span 6;
  }
  .content-text.media--right > .inside .rte {
    grid-column: 1/span 6;
  }
}
.less-padding-top + *:not(.content-element-group),
.less-padding-top + .content-element-group > * {
  padding-top: calc(var(--ce-space-vertical) * 0.5) !important;
}

:is(.ce_youtube,
.content-youtube,
.content-vimeo,
.content-player,
.ce_vimeo) {
  padding-top: var(--ce-vertical-spacing);
  margin-right: 4vw;
  margin-left: 4vw;
}
@media screen and (min-width: 56.25rem) {
  :is(.ce_youtube,
  .content-youtube,
  .content-vimeo,
  .content-player,
  .ce_vimeo) {
    margin-right: 9.6354166667vw;
    margin-left: 9.6354166667vw;
  }
}
@media screen and (min-width: 75rem) {
  :is(.ce_youtube,
  .content-youtube,
  .content-vimeo,
  .content-player,
  .ce_vimeo) {
    margin-right: 19.2708333333vw;
    margin-left: 19.2708333333vw;
  }
}
@media screen and (min-width: 120rem) {
  :is(.ce_youtube,
  .content-youtube,
  .content-vimeo,
  .content-player,
  .ce_vimeo) {
    margin-right: auto;
    margin-left: auto;
    max-width: 1180px;
  }
}
:is(.ce_youtube,
.content-youtube,
.content-vimeo,
.content-player,
.ce_vimeo) :is(:not(.hofff-consent-placeholder-content)) [poster] {
  object-fit: cover;
  position: relative;
}
:is(.ce_youtube,
.content-youtube,
.content-vimeo,
.content-player,
.ce_vimeo) :is(:not(.hofff-consent-placeholder-content)) {
  position: relative;
  width: 100%;
  max-width: 100%;
  height: auto;
  aspect-ratio: 16/9;
}
:is(.ce_youtube,
.content-youtube,
.content-vimeo,
.content-player,
.ce_vimeo) :is(:not(.hofff-consent-placeholder-content)).aspect--169 {
  aspect-ratio: 16/9;
}
:is(.ce_youtube,
.content-youtube,
.content-vimeo,
.content-player,
.ce_vimeo) :is(:not(.hofff-consent-placeholder-content)).aspect--1610 {
  aspect-ratio: 16/10;
}
:is(.ce_youtube,
.content-youtube,
.content-vimeo,
.content-player,
.ce_vimeo) :is(:not(.hofff-consent-placeholder-content)).aspect--219 {
  aspect-ratio: 21/9;
}
:is(.ce_youtube,
.content-youtube,
.content-vimeo,
.content-player,
.ce_vimeo) :is(:not(.hofff-consent-placeholder-content)).aspect--43 {
  aspect-ratio: 4/3;
}
:is(.ce_youtube,
.content-youtube,
.content-vimeo,
.content-player,
.ce_vimeo) :is(:not(.hofff-consent-placeholder-content)).aspect--32 {
  aspect-ratio: 3/2;
}
:is(.ce_youtube,
.content-youtube,
.content-vimeo,
.content-player,
.ce_vimeo) :is(:not(.hofff-consent-placeholder-content)) button[data-splash-screen] {
  appearance: none;
  border: none;
}
:is(.ce_youtube,
.content-youtube,
.content-vimeo,
.content-player,
.ce_vimeo) :is(:not(.hofff-consent-placeholder-content)) button[data-splash-screen]:hover {
  cursor: pointer;
}
:is(.ce_youtube,
.content-youtube,
.content-vimeo,
.content-player,
.ce_vimeo) :is(:not(.hofff-consent-placeholder-content)) button[data-splash-screen] {
  display: grid;
}
:is(.ce_youtube,
.content-youtube,
.content-vimeo,
.content-player,
.ce_vimeo) :is(:not(.hofff-consent-placeholder-content)) button[data-splash-screen] img,
:is(.ce_youtube,
.content-youtube,
.content-vimeo,
.content-player,
.ce_vimeo) :is(:not(.hofff-consent-placeholder-content)) button[data-splash-screen] > p {
  grid-column: 1;
  grid-row: 1;
}
:is(.ce_youtube,
.content-youtube,
.content-vimeo,
.content-player,
.ce_vimeo) :is(:not(.hofff-consent-placeholder-content)) button[data-splash-screen] > p {
  z-index: 2;
  margin: var(--gutter);
  padding: var(--gutter);
  align-self: end;
  background-color: #ffffff;
}
:is(.ce_youtube,
.content-youtube,
.content-vimeo,
.content-player,
.ce_vimeo) :is(:not(.hofff-consent-placeholder-content)) iframe {
  border: 0;
  position: absolute;
  inset: 0;
  width: 100% !important;
  height: 100% !important;
}

.content-hyperlink {
  padding-top: var(--ce-vertical-spacing);
  margin-right: 4vw;
  margin-left: 4vw;
}
@media screen and (min-width: 56.25rem) {
  .content-hyperlink {
    margin-right: 9.6354166667vw;
    margin-left: 9.6354166667vw;
  }
}
@media screen and (min-width: 75rem) {
  .content-hyperlink {
    margin-right: 19.2708333333vw;
    margin-left: 19.2708333333vw;
  }
}
@media screen and (min-width: 120rem) {
  .content-hyperlink {
    margin-right: auto;
    margin-left: auto;
    max-width: 1180px;
  }
}

.content-headline {
  margin-top: 0;
}
.content-headline:not(h1, h2, h3, h4, h5, h6) {
  padding-top: var(--ce-vertical-spacing);
  margin-right: 4vw;
  margin-left: 4vw;
}
@media screen and (min-width: 56.25rem) {
  .content-headline:not(h1, h2, h3, h4, h5, h6) {
    margin-right: 9.6354166667vw;
    margin-left: 9.6354166667vw;
  }
}
@media screen and (min-width: 75rem) {
  .content-headline:not(h1, h2, h3, h4, h5, h6) {
    margin-right: 19.2708333333vw;
    margin-left: 19.2708333333vw;
  }
}
@media screen and (min-width: 120rem) {
  .content-headline:not(h1, h2, h3, h4, h5, h6) {
    margin-right: auto;
    margin-left: auto;
    max-width: 1180px;
  }
}

.content-headline-container,
.headline-container {
  display: flex;
  flex-direction: column-reverse;
}
@media screen and (max-width: 37.5rem) {
  .content-headline-container .custom-subheadline,
  .headline-container .custom-subheadline {
    font-size: 0.75rem;
  }
}
.content-headline-container .custom-subheadline,
.headline-container .custom-subheadline {
  font-size: calc(0.75rem + 0.15625vw);
}
@media screen and (min-width: 120rem) {
  .content-headline-container .custom-subheadline,
  .headline-container .custom-subheadline {
    font-size: 0.9375rem;
  }
}
.content-headline-container .custom-subheadline,
.headline-container .custom-subheadline {
  text-transform: uppercase;
}

.content-headline-container,
.headline-container {
  display: flex;
  flex-direction: column;
}
@media screen and (max-width: 37.5rem) {
  .content-headline-container .headline,
  .content-headline-container .content-text-headline,
  .headline-container .headline,
  .headline-container .content-text-headline {
    font-size: 1.5rem;
  }
}
.content-headline-container .headline,
.content-headline-container .content-text-headline,
.headline-container .headline,
.headline-container .content-text-headline {
  font-size: calc(1.5rem + 0.4166666667vw);
}
@media screen and (min-width: 120rem) {
  .content-headline-container .headline,
  .content-headline-container .content-text-headline,
  .headline-container .headline,
  .headline-container .content-text-headline {
    font-size: 2rem;
  }
}
.content-headline-container .headline,
.content-headline-container .content-text-headline,
.headline-container .headline,
.headline-container .content-text-headline {
  line-height: 1.3em;
  font-weight: var(--font-bold);
  color: rgb(var(--themeColor1));
}
@media screen and (max-width: 37.5rem) {
  .content-headline-container .custom-subheadline,
  .headline-container .custom-subheadline {
    font-size: 1rem;
  }
}
.content-headline-container .custom-subheadline,
.headline-container .custom-subheadline {
  font-size: calc(1rem + 0.1041666667vw);
}
@media screen and (min-width: 120rem) {
  .content-headline-container .custom-subheadline,
  .headline-container .custom-subheadline {
    font-size: 1.125rem;
  }
}
.content-headline-container .custom-subheadline,
.headline-container .custom-subheadline {
  text-transform: uppercase;
  display: flex;
  align-items: flex-start;
  margin-top: var(--gutterHalf);
  position: relative;
}
.content-headline-container .custom-subheadline::before,
.headline-container .custom-subheadline::before {
  content: "";
  display: inline-block;
  height: var(--borderWidth);
  width: calc(var(--col) / 2);
}
@media only screen and (min-width: 37.5rem) {
  .content-headline-container .custom-subheadline::before,
  .headline-container .custom-subheadline::before {
    width: var(--col);
  }
}
.content-headline-container .custom-subheadline::before,
.headline-container .custom-subheadline::before {
  line-height: 1em;
  margin-right: var(--gutter);
  margin-top: 0.5em;
  background-color: currentColor;
}
.content-headline-container + *,
.headline-container + * {
  padding-top: calc(var(--ce-space-vertical) * 0.5);
}

.mod_article.themeColor1 .content-headline-container .headline,
.mod_article.themeColor1 .content-headline-container .content-text-headline,
.mod_article.themeColor1 .headline-container .headline,
.mod_article.themeColor1 .headline-container .content-text-headline {
  color: rgb(var(--themeWhite));
}
.mod_article.themeColor2 .content-headline-container .headline,
.mod_article.themeColor2 .content-headline-container .content-text-headline,
.mod_article.themeColor2 .headline-container .headline,
.mod_article.themeColor2 .headline-container .content-text-headline {
  color: rgb(var(--themeWhite));
}
.ce_rsce_heroElement {
  --mWidth: 200px;
  --mHeight: 197.0503px;
  overflow: hidden;
}
.ce_rsce_heroElement > .inside {
  position: relative;
  display: grid;
  grid-template-columns: [full-start] var(--page-spacing) [main-start] minmax(0, 1fr) minmax(0, 1fr) [main-end] var(--page-spacing) [full-end];
  grid-template-rows: 50px auto 1fr;
}
.ce_rsce_heroElement > .inside > .hl_container {
  grid-column: full;
  grid-row: 2;
  position: relative;
  z-index: 1;
  background: linear-gradient(90deg, rgb(var(--themeColor2)) 0%, rgb(var(--themeColor2)) calc((100vw - 1180px) / 2 + 1180px - var(--gutterHalf) * 0.8), transparent calc((100vw - 1180px) / 2 + 1180px - var(--gutterHalf) * 0.8));
  padding-top: var(--gutter);
  padding-bottom: var(--gutter);
}
@supports (mix-blend-mode: multiply) {
  .ce_rsce_heroElement > .inside > .hl_container {
    z-index: 1;
    mix-blend-mode: multiply;
  }
}
.ce_rsce_heroElement > .inside > .hl_container > .headline {
  width: 100%;
  padding-top: var(--ce-vertical-spacing);
  margin-right: 4vw;
  margin-left: 4vw;
}
@media screen and (min-width: 56.25rem) {
  .ce_rsce_heroElement > .inside > .hl_container > .headline {
    margin-right: 9.6354166667vw;
    margin-left: 9.6354166667vw;
  }
}
@media screen and (min-width: 75rem) {
  .ce_rsce_heroElement > .inside > .hl_container > .headline {
    margin-right: 19.2708333333vw;
    margin-left: 19.2708333333vw;
  }
}
@media screen and (min-width: 120rem) {
  .ce_rsce_heroElement > .inside > .hl_container > .headline {
    margin-right: auto;
    margin-left: auto;
    max-width: 1180px;
  }
}
.ce_rsce_heroElement > .inside > .hl_container > .headline {
  padding-top: initial;
  padding-right: calc(var(--bgHeaderRightInner) + var(--gutterHalf) * var(--gutterHalfMultiplier, 2));
}
@media only screen and (min-width: 56.25rem) {
  .ce_rsce_heroElement > .inside > .hl_container > .headline {
    padding-right: 0;
  }
}
@media screen and (max-width: 37.5rem) {
  .ce_rsce_heroElement > .inside > .hl_container > .headline {
    font-size: 1.5rem;
  }
}
.ce_rsce_heroElement > .inside > .hl_container > .headline {
  font-size: calc(1.5rem + 0.4166666667vw);
}
@media screen and (min-width: 120rem) {
  .ce_rsce_heroElement > .inside > .hl_container > .headline {
    font-size: 2rem;
  }
}
.ce_rsce_heroElement > .inside > .hl_container > .headline {
  line-height: 1.1em;
  text-transform: uppercase;
  font-weight: var(--font-bold);
  color: rgb(var(--colorWhite));
}
.ce_rsce_heroElement > .inside > .content_container {
  display: grid;
  grid-template-columns: subgrid;
  grid-column: full;
  background-color: rgb(var(--colorWhite));
  grid-row: 4;
}
@media only screen and (min-width: 56.25rem) {
  .ce_rsce_heroElement > .inside > .content_container {
    grid-column: full;
    background: none;
    grid-column: 2/3;
    grid-row: 3;
  }
}
.ce_rsce_heroElement > .inside > .content_container > .inside {
  grid-column: main;
}
@media only screen and (min-width: 56.25rem) {
  .ce_rsce_heroElement > .inside > .content_container > .inside {
    grid-column: full;
    grid-row: 4;
    background: none;
    grid-column: 2/3;
    grid-row: 3;
  }
}
.ce_rsce_heroElement > .inside > .content_container > .inside {
  width: 100%;
  height: 100%;
  display: flex;
  flex-direction: column;
}
.ce_rsce_heroElement > .inside > .content_container > .inside .text p {
  font-size: 1.125rem;
  line-height: 1.4em;
}
.ce_rsce_heroElement > .inside > .content_container > .inside .text p + p {
  margin-top: 1.4em;
}
.ce_rsce_heroElement > .inside > .content_container .btn_container {
  align-self: start;
}
.ce_rsce_heroElement > .inside > .content_container .btn_container .content-hyperlink {
  padding-top: 0;
  margin-left: auto;
  margin-right: auto;
}
.ce_rsce_heroElement > .inside > .image_container {
  grid-column: 3/4;
  grid-row: 1/-1;
  position: relative;
  z-index: 2;
}
.ce_rsce_heroElement > .inside > .image_container picture {
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
}
.ce_rsce_heroElement > .inside > .image_container picture img {
  user-select: none;
  pointer-events: none;
}

.hero_container:has(.hasImage) {
  background: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 197.05'%3E%3Cpath fill='rgb(255,255,255)' fill-rule='evenodd' d='M181.047 0h-16.936L118.81 158.62 73.509 0H56.575L0 197.05h19.205L65.037 36.014l44.766 157.015h18.016l44.755-157.015L200 132.385V66.404L181.047 0z'/%3E%3C/svg%3E"), linear-gradient(180deg, transparent 0%, transparent var(--bgHeaderTop), rgb(var(--colorWhite)) var(--bgHeaderTop));
  background-position: 100% 0, 0% 0%;
  background-size: contain, cover;
  background-repeat: no-repeat;
}
.hero_container:has(.hasNoImage) {
  background: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 197.05'%3E%3Cpath fill='rgb(255,255,255)' fill-rule='evenodd' d='M181.047 0h-16.936L118.81 158.62 73.509 0H56.575L0 197.05h19.205L65.037 36.014l44.766 157.015h18.016l44.755-157.015L200 132.385V66.404L181.047 0z'/%3E%3C/svg%3E");
  background-position: calc(100% - (100vw - 1180px) / 2 + var(--gutterHalf) * 0.7) 0;
  background-repeat: no-repeat;
}

.ce_rsce_socials > .inside ol {
  margin: 0;
  padding: 0;
  list-style-type: none;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(26px, 1fr));
  justify-content: center;
  align-items: center;
  gap: calc(var(--gutterHalf) * 1);
}
.ce_rsce_socials > .inside ol li {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}
.ce_rsce_socials > .inside ol li .icon {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  text-decoration: none;
  color: rgb(var(--colorWhite));
}
.ce_rsce_socials > .inside ol li .icon .svg_container {
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 3px;
}
.ce_rsce_socials > .inside ol li .icon .svg_container svg,
.ce_rsce_socials > .inside ol li .icon .svg_container svg path {
  width: 20px;
  height: 20px;
}
.ce_rsce_socials > .inside ol li .icon .name {
  text-align: center;
}
.ce_rsce_socials > .inside ol li .icon svg path {
  fill: rgb(var(--colorWhite));
}
.ce_rsce_socials > .inside ol li .icon:hover svg path {
  fill: rgb(var(--colorBlack));
}

#header .ce_rsce_socials {
  display: none;
}
@media only screen and (min-width: 31.25rem) {
  #header .ce_rsce_socials {
    display: block;
    flex-grow: 1;
  }
  #header .ce_rsce_socials ol {
    width: 100%;
  }
}
#header .ce_rsce_socials > .inside {
  padding-inline: 10px;
}

#footer .ce_rsce_socials {
  width: 100%;
}

.menu-is-open .ce_rsce_socials > .inside ol li .icon svg path {
  fill: rgb(var(--themeColor2));
}
.menu-is-open .ce_rsce_socials > .inside ol li .icon:hover svg path {
  fill: rgb(var(--colorBlack));
}

.ce_rsce_kurse {
  padding-top: var(--ce-vertical-spacing);
  margin-right: 4vw;
  margin-left: 4vw;
}
@media screen and (min-width: 56.25rem) {
  .ce_rsce_kurse {
    margin-right: 9.6354166667vw;
    margin-left: 9.6354166667vw;
  }
}
@media screen and (min-width: 75rem) {
  .ce_rsce_kurse {
    margin-right: 19.2708333333vw;
    margin-left: 19.2708333333vw;
  }
}
@media screen and (min-width: 120rem) {
  .ce_rsce_kurse {
    margin-right: auto;
    margin-left: auto;
    max-width: 1180px;
  }
}
.ce_rsce_kurse > .inside ul {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(230px, 1fr));
  gap: clamp(20px, -4px + 0.04 * 100vw, 60px);
}
.ce_rsce_kurse > .inside ul li {
  list-style-type: none;
  display: block;
  margin: calc(var(--gutterHalf) * -2);
}
.ce_rsce_kurse > .inside ul li .link {
  position: relative;
  display: flex;
  flex-direction: column;
  height: 100%;
  text-decoration: none;
}
.ce_rsce_kurse > .inside ul li .link::after {
  content: "";
  display: block;
  position: absolute;
  inset: calc(var(--gutterHalf) * 2);
  width: calc(100% - var(--gutterHalf) * 4);
  height: calc(100% - var(--gutterHalf) * 4);
  border: var(--borderWidth) solid rgb(var(--themeColor3), 0.1);
  border-bottom-left-radius: var(--borderRadius);
  border-bottom-right-radius: var(--borderRadius);
  pointer-events: none;
}
.ce_rsce_kurse > .inside ul li .link.png::after {
  z-index: 1;
  border-top-left-radius: var(--borderRadius);
  border-top-right-radius: var(--borderRadius);
  background-color: rgb(var(--themeColor3), 1);
  background: rgb(var(--themeColor3), 1);
  background: radial-gradient(circle at 50% 40%, rgb(var(--themeColor3), 0.5) 16%, rgb(var(--themeColor3), 1) 55%);
  transition: border-color background-color ease-in var(--transitionDurationOut);
}
.ce_rsce_kurse > .inside ul li .link.png .image_container,
.ce_rsce_kurse > .inside ul li .link.png .name {
  z-index: 2;
  position: relative;
}
.ce_rsce_kurse > .inside ul li .link.png img {
  transition: transform ease-in var(--transitionDurationOut);
  transform-origin: bottom center;
}
.ce_rsce_kurse > .inside ul li .link.png .name {
  color: rgb(var(--themeColor4));
}
.ce_rsce_kurse > .inside ul li .link.png:hover img, .ce_rsce_kurse > .inside ul li .link.png:focus img {
  transform: scale(1.05);
  transition: transform ease-in var(--transitionDurationIn);
}
.ce_rsce_kurse > .inside ul li .link.png:hover::after, .ce_rsce_kurse > .inside ul li .link.png:focus::after {
  border-color: rgb(var(--themeColor1));
  background: radial-gradient(circle at 50% 40%, rgb(var(--themeColor3), 0.3) 16%, rgb(var(--themeColor3), 0.8) 55%);
  transition: border-color ease-in var(--transitionDurationIn), background-color ease-in var(--transitionDurationIn);
}
.ce_rsce_kurse > .inside ul li .link.png:hover .name, .ce_rsce_kurse > .inside ul li .link.png:focus .name {
  transition: color ease-in var(--transitionDurationIn);
}
.ce_rsce_kurse > .inside ul li .link.jpg picture {
  position: relative;
}
.ce_rsce_kurse > .inside ul li .link.jpg picture::after {
  width: 100%;
  height: 100%;
  content: "";
  display: block;
  position: absolute;
  inset: 0;
  transition: background-color ease-in var(--transitionDurationOut);
}
.ce_rsce_kurse > .inside ul li .link.jpg:hover::after, .ce_rsce_kurse > .inside ul li .link.jpg:focus::after {
  border-color: rgb(var(--themeColor1));
  transition: border-color ease-in var(--transitionDurationIn);
}
.ce_rsce_kurse > .inside ul li .link.jpg:hover picture::after, .ce_rsce_kurse > .inside ul li .link.jpg:focus picture::after {
  background-color: rgb(var(--themeColor2), 0.8);
}
@supports (mix-blend-mode: multiply) {
  .ce_rsce_kurse > .inside ul li .link.jpg:hover picture::after, .ce_rsce_kurse > .inside ul li .link.jpg:focus picture::after {
    mix-blend-mode: multiply;
  }
}
.ce_rsce_kurse > .inside ul li .link.jpg:hover picture::after, .ce_rsce_kurse > .inside ul li .link.jpg:focus picture::after {
  transition: background-color ease-in var(--transitionDurationIn);
}
.ce_rsce_kurse > .inside ul li .link.jpg:hover .name, .ce_rsce_kurse > .inside ul li .link.jpg:focus .name {
  color: rgb(var(--themeColor2));
  transition: color ease-in var(--transitionDurationIn);
}
.ce_rsce_kurse > .inside ul li .name {
  flex-grow: 1;
  padding: calc(var(--gutterHalf) * 2) calc(var(--gutterHalf) * 4) calc(var(--gutterHalf) * 4) calc(var(--gutterHalf) * 4);
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  font-weight: var(--font-bold);
  color: rgb(var(--themeColor3));
  letter-spacing: var(--letter-spacing);
}

.ce_rsce_ziele > .inside {
  max-width: var(--maxWidthRegular);
  margin-left: auto;
  margin-right: auto;
}

* + .ce_rsce_ziele {
  margin-top: calc(var(--gutter) * 2);
}

.ce_rsce_ziele > .inside ul {
  list-style-type: none;
  display: flex;
  flex-wrap: wrap;
  padding-left: calc(var(--gutterHalf) * var(--gutterHalfMultiplier, 2) - var(--gutterHalf));
  padding-right: calc(var(--gutterHalf) * var(--gutterHalfMultiplier, 2) - var(--gutterHalf));
}
.ce_rsce_ziele > .inside ul > * {
  flex-basis: 25%;
  padding: var(--gutter);
  display: block;
}
.ce_rsce_ziele > .inside ul > * .link {
  position: relative;
  display: flex;
  flex-direction: column;
  height: 100%;
  text-decoration: none;
}
.ce_rsce_ziele > .inside ul > * .link::after {
  content: "";
  display: block;
  position: absolute;
  inset: calc(var(--gutter) * 2);
  width: calc(100% - var(--gutter) * 4);
  height: calc(100% - var(--gutter) * 4);
  border: var(--borderWidth) solid rgb(var(--themeColor3), 0.1);
  border-bottom-left-radius: var(--borderRadius);
  border-bottom-right-radius: var(--borderRadius);
}
.ce_rsce_ziele > .inside ul > * .link.png::after {
  z-index: 1;
  border-top-left-radius: var(--borderRadius);
  border-top-right-radius: var(--borderRadius);
  transition: border-color background-color ease-in var(--transitionDurationOut);
}
.ce_rsce_ziele > .inside ul > * .link.png .image_container,
.ce_rsce_ziele > .inside ul > * .link.png .name {
  z-index: 2;
}
.ce_rsce_ziele > .inside ul > * .link.png:hover::after {
  border-color: rgb(var(--themeColor1));
  background-color: rgb(var(--themeColor3), 0.1);
  transition: border-color ease-in var(--transitionDurationIn), background-color ease-in var(--transitionDurationIn);
}
.ce_rsce_ziele > .inside ul > * .link.png:hover .name {
  color: rgb(var(--themeColor2));
  transition: color ease-in var(--transitionDurationIn);
}
.ce_rsce_ziele > .inside ul > * .link.jpg picture {
  position: relative;
}
.ce_rsce_ziele > .inside ul > * .link.jpg picture::after {
  width: 100%;
  height: 100%;
  content: "";
  display: block;
  position: absolute;
  inset: 0;
  transition: background-color ease-in var(--transitionDurationOut);
}
.ce_rsce_ziele > .inside ul > * .link.jpg:hover::after {
  border-color: rgb(var(--themeColor1));
  transition: border-color ease-in var(--transitionDurationIn);
}
.ce_rsce_ziele > .inside ul > * .link.jpg:hover picture::after {
  background-color: rgb(var(--themeColor2), 0.8);
}
@supports (mix-blend-mode: multiply) {
  .ce_rsce_ziele > .inside ul > * .link.jpg:hover picture::after {
    mix-blend-mode: multiply;
  }
}
.ce_rsce_ziele > .inside ul > * .link.jpg:hover picture::after {
  transition: background-color ease-in var(--transitionDurationIn);
}
.ce_rsce_ziele > .inside ul > * .link.jpg:hover .name {
  color: rgb(var(--themeColor2));
  transition: color ease-in var(--transitionDurationIn);
}
.ce_rsce_ziele > .inside ul > * .name {
  flex-grow: 1;
  padding: calc(var(--gutter) * 2) calc(var(--gutter) * 4) calc(var(--gutter) * 4) calc(var(--gutter) * 4);
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  font-weight: var(--font-bold);
  color: rgb(var(--themeColor3));
}

.ce_rsce_extraHeadline {
  padding-top: var(--ce-vertical-spacing);
  margin-right: 4vw;
  margin-left: 4vw;
}
@media screen and (min-width: 56.25rem) {
  .ce_rsce_extraHeadline {
    margin-right: 9.6354166667vw;
    margin-left: 9.6354166667vw;
  }
}
@media screen and (min-width: 75rem) {
  .ce_rsce_extraHeadline {
    margin-right: 19.2708333333vw;
    margin-left: 19.2708333333vw;
  }
}
@media screen and (min-width: 120rem) {
  .ce_rsce_extraHeadline {
    margin-right: auto;
    margin-left: auto;
    max-width: 1180px;
  }
}

.ce_rsce_angebotsElement > .inside {
  padding-top: var(--ce-vertical-spacing);
  margin-right: 4vw;
  margin-left: 4vw;
}
@media screen and (min-width: 56.25rem) {
  .ce_rsce_angebotsElement > .inside {
    margin-right: 9.6354166667vw;
    margin-left: 9.6354166667vw;
  }
}
@media screen and (min-width: 75rem) {
  .ce_rsce_angebotsElement > .inside {
    margin-right: 19.2708333333vw;
    margin-left: 19.2708333333vw;
  }
}
@media screen and (min-width: 120rem) {
  .ce_rsce_angebotsElement > .inside {
    margin-right: auto;
    margin-left: auto;
    max-width: 1180px;
  }
}
.ce_rsce_angebotsElement > .inside {
  position: relative;
  display: grid;
  gap: calc(var(--gutterHalf) * 6);
  align-items: center;
}
.ce_rsce_angebotsElement > .inside .content-player {
  width: 100%;
  max-width: 100%;
  padding-top: 0;
  margin-left: auto;
  margin-right: auto;
}
@media only screen and (min-width: 37.5rem) {
  .ce_rsce_angebotsElement > .inside {
    grid-template-columns: repeat(2, 1fr);
  }
}
.ce_rsce_angebotsElement > .inside > * {
  font-size: 1.125rem;
  line-height: 1.4em;
}

.ce_rsce_kontaktCTA {
  padding-top: var(--ce-vertical-spacing);
  margin-right: 4vw;
  margin-left: 4vw;
}
@media screen and (min-width: 56.25rem) {
  .ce_rsce_kontaktCTA {
    margin-right: 9.6354166667vw;
    margin-left: 9.6354166667vw;
  }
}
@media screen and (min-width: 75rem) {
  .ce_rsce_kontaktCTA {
    margin-right: 19.2708333333vw;
    margin-left: 19.2708333333vw;
  }
}
@media screen and (min-width: 120rem) {
  .ce_rsce_kontaktCTA {
    margin-right: auto;
    margin-left: auto;
    max-width: 1180px;
  }
}
.ce_rsce_kontaktCTA > .inside {
  position: relative;
  display: grid;
  gap: calc(var(--gutterHalf) * 6);
}
@media only screen and (min-width: 37.5rem) {
  .ce_rsce_kontaktCTA > .inside {
    grid-template-columns: repeat(2, 1fr);
  }
}
.ce_rsce_kontaktCTA .content-text {
  margin-left: 0;
  margin-right: 0;
}

/*# sourceMappingURL=main.css.map */
