.sw-popup-overlay {
  position: fixed; inset: 0;
  display: none; /* Start versteckt */
  align-items: center; justify-content: center;
  background: rgba(0,0,0,.5);
  z-index: 9999; padding: 1rem;
}
.sw-popup-box {
  position: relative;
  max-width: 640px; width: 100%;
  background: #fff; border-radius: 12px; padding: 2rem;
  box-shadow: 0 10px 30px rgba(0,0,0,.2);
}
.sw-popup-close {
  position: absolute; right: 1rem; top: 1rem;
  border: 0; background: transparent;
  font-size: 2rem; cursor: pointer;
  line-height: 1; color: #333;
}
.has-sw-popup { overflow: hidden; }
.sw-popup-text p { margin: 0 0 0.75rem 0; }


#colorbox,#cboxOverlay,#cboxWrapper{position:absolute;top:0;left:0;z-index:9999;overflow:hidden;-webkit-transform:translate3d(0,0,0)}#cboxWrapper{max-width:none}#cboxOverlay{position:fixed;width:100%;height:100%}#cboxMiddleLeft,#cboxBottomLeft{clear:left}#cboxContent{position:relative}#cboxLoadedContent{overflow:auto;-webkit-overflow-scrolling:touch}#cboxTitle{margin:0}#cboxLoadingOverlay,#cboxLoadingGraphic{position:absolute;top:0;left:0;width:100%;height:100%}#cboxPrevious,#cboxNext,#cboxClose,#cboxSlideshow{cursor:pointer}.cboxPhoto{float:left;margin:auto;border:0;display:block;max-width:none;-ms-interpolation-mode:bicubic}.cboxIframe{width:100%;height:100%;display:block;border:0;padding:0;margin:0}#colorbox,#cboxContent,#cboxLoadedContent{box-sizing:content-box;-moz-box-sizing:content-box;-webkit-box-sizing:content-box}#cboxOverlay{background:#000;opacity:.9;filter:alpha(opacity = 90)}#colorbox{outline:0}#cboxContent{margin-top:20px;background:#000}.cboxIframe{background:#fff}#cboxError{padding:50px;border:1px solid #ccc}#cboxLoadedContent{border:5px solid #000;background:#fff}#cboxTitle{position:absolute;top:-20px;left:0;color:#ccc}#cboxCurrent{position:absolute;top:-20px;right:0;color:#ccc}#cboxLoadingGraphic{background:url(../../assets/colorbox/images/loading.gif) no-repeat center center}#cboxPrevious,#cboxNext,#cboxSlideshow,#cboxClose{border:0;padding:0;margin:0;overflow:visible;width:auto;background:0 0}#cboxPrevious:active,#cboxNext:active,#cboxSlideshow:active,#cboxClose:active{outline:0}#cboxSlideshow{position:absolute;top:-20px;right:90px;color:#fff}#cboxPrevious{position:absolute;top:50%;left:5px;margin-top:-32px;background:url(../../assets/colorbox/images/controls.png) no-repeat top left;width:28px;height:65px;text-indent:-9999px}#cboxPrevious:hover{background-position:bottom left}#cboxNext{position:absolute;top:50%;right:5px;margin-top:-32px;background:url(../../assets/colorbox/images/controls.png) no-repeat top right;width:28px;height:65px;text-indent:-9999px}#cboxNext:hover{background-position:bottom right}#cboxClose{position:absolute;top:5px;right:5px;display:block;background:url(../../assets/colorbox/images/controls.png) no-repeat top center;width:38px;height:19px;text-indent:-9999px}#cboxClose:hover{background-position:bottom center}
table.sortable thead th{background-image:url(../../assets/tablesorter/images/default.svg);background-repeat:no-repeat;background-position:center right}table.sortable thead th.tablesorter-headerAsc{background-image:url(../../assets/tablesorter/images/asc.svg)}table.sortable thead th.tablesorter-headerDesc{background-image:url(../../assets/tablesorter/images/desc.svg)}
.content-slider{overflow:hidden;visibility:hidden;position:relative}.slider-wrapper{overflow:hidden;position:relative}.slider-wrapper>*{float:left;width:100%;position:relative}.slider-control{height:30px;position:relative}.slider-control a,.slider-control .slider-menu{position:absolute;top:9px;display:inline-block}.slider-control .slider-prev{left:0}.slider-control .slider-next{right:0}.slider-control .slider-menu{top:0;width:50%;left:50%;margin-left:-25%;font-size:27px;text-align:center}.slider-control .slider-menu b{color:#bbb;cursor:pointer}.slider-control .slider-menu b.active{color:#666}
@charset "UTF-8";
/*!
 * Optimized Reset CSS
 * Author: Pascal Schneider
 * @license: MIT
 */
body, div, h1, h2, h3, h4, h5, h6, p, blockquote, pre, code, ol, ul, li, dl, dt, dd, figure, table, th, td, form, fieldset, legend, input, textarea {
  margin: 0;
  padding: 0;
  border: 0;
}

header, footer, nav, section, aside, main, article, figure, figcaption {
  display: block;
}

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

caption, th, td {
  text-align: left;
  vertical-align: top;
}

blockquote, q {
  quotes: none;
}

ul, ol {
  list-style: none;
}

img, iframe {
  max-width: 100%;
  height: auto;
  display: block;
}

sup {
  vertical-align: text-top;
}

sub {
  vertical-align: text-bottom;
}

ins {
  text-decoration: none;
}

del {
  text-decoration: line-through;
}

@font-face {
  font-family: "swizalight";
  src: url("/files/assets/fonts/swiza-light-webfont.eot");
  src: url("/files/assets/fonts/swiza-light-webfont.eot?#iefix") format("embedded-opentype"), url("/files/assets/fonts/swiza-light-webfont.woff2") format("woff2"), url("/files/assets/fonts/swiza-light-webfont.woff") format("woff"), url("/files/assets/fonts/swiza-light-webfont.ttf") format("truetype");
  font-weight: normal;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "swizamedium";
  src: url("/files/assets/fonts/swiza-medium-webfont.eot");
  src: url("/files/assets/fonts/swiza-medium-webfont.eot?#iefix") format("embedded-opentype"), url("/files/assets/fonts/swiza-medium-webfont.woff2") format("woff2"), url("/files/assets/fonts/swiza-medium-webfont.woff") format("woff"), url("/files/assets/fonts/swiza-medium-webfont.ttf") format("truetype");
  font-weight: normal;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "swizasemibold";
  src: url("/files/assets/fonts/swiza-semibold-webfont.eot");
  src: url("/files/assets/fonts/swiza-semibold-webfont.eot?#iefix") format("embedded-opentype"), url("/files/assets/fonts/swiza-semibold-webfont.woff2") format("woff2"), url("/files/assets/fonts/swiza-semibold-webfont.woff") format("woff"), url("/files/assets/fonts/swiza-semibold-webfont.ttf") format("truetype");
  font-weight: normal;
  font-style: normal;
  font-display: swap;
}
/**************************************************************************************************
SCHRIFTARTEN
***************************************************************************************************/
/**************************************************************************************************
Bilder
***************************************************************************************************/
/* _base.scss */
html {
  scroll-behavior: smooth;
}

body {
  font-family: "swizalight", sans-serif;
  font-size: 1.125rem;
  color: #191919;
  background-color: #fff;
  line-height: 1.5rem;
  font-weight: 300;
}

a {
  color: #31acdc;
}

.mod_article.fullwidth {
  width: 100%;
}
.mod_article.fullwidth .inside {
  max-width: 1200px;
  margin-left: auto;
  margin-right: auto;
  padding-left: 1rem;
  padding-right: 1rem;
}
.mod_article.fullwidth .inside-small {
  margin-left: 200px;
  margin-right: 200px;
}
@media (max-width: 1200px) {
  .mod_article.fullwidth .inside-small {
    margin-left: 0px;
    margin-right: 0px;
  }
}

.mod_article:not(.fullwidth) {
  max-width: 1200px;
  margin-left: auto;
  margin-right: auto;
  padding-left: 1rem;
  padding-right: 1rem;
}

.color_white {
  color: #fff;
}

.mod_newsreader.inside-small {
  margin-left: 200px;
  margin-right: 200px;
}
@media (max-width: 1200px) {
  .mod_newsreader.inside-small {
    margin-left: 0px;
    margin-right: 0px;
  }
}

/********************************************************************************************************
Backgrounds
*********************************************************************************************************/
.bg_colored {
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  background-image: url("/files/media/pictures/backgrounds/bg_colored.png");
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  background-attachment: fixed;
  z-index: -10;
}

.bg_white {
  background-color: #fff;
}

/**************************************************************************************************
SCHRIFTARTEN
***************************************************************************************************/
/**************************************************************************************************
Bilder
***************************************************************************************************/
.container {
  max-width: 1200px;
  margin-left: auto;
  margin-right: auto;
}

.row {
  display: flex;
  flex-wrap: wrap;
  gap: 1.25rem;
}

.col {
  flex-grow: 1;
  min-width: 0;
}

.col-1 {
  width: calc((100% - 11 * 1.25rem) / 12 * 1 + (0) * 1.25rem);
  flex: 0 0 auto;
}

.col-2 {
  width: calc((100% - 11 * 1.25rem) / 12 * 2 + (1) * 1.25rem);
  flex: 0 0 auto;
}

.col-3 {
  width: calc((100% - 11 * 1.25rem) / 12 * 3 + (2) * 1.25rem);
  flex: 0 0 auto;
}

.col-4 {
  width: calc((100% - 11 * 1.25rem) / 12 * 4 + (3) * 1.25rem);
  flex: 0 0 auto;
}

.col-5 {
  width: calc((100% - 11 * 1.25rem) / 12 * 5 + (4) * 1.25rem);
  flex: 0 0 auto;
}

.col-6 {
  width: calc((100% - 11 * 1.25rem) / 12 * 6 + (5) * 1.25rem);
  flex: 0 0 auto;
}

.col-7 {
  width: calc((100% - 11 * 1.25rem) / 12 * 7 + (6) * 1.25rem);
  flex: 0 0 auto;
}

.col-8 {
  width: calc((100% - 11 * 1.25rem) / 12 * 8 + (7) * 1.25rem);
  flex: 0 0 auto;
}

.col-9 {
  width: calc((100% - 11 * 1.25rem) / 12 * 9 + (8) * 1.25rem);
  flex: 0 0 auto;
}

.col-10 {
  width: calc((100% - 11 * 1.25rem) / 12 * 10 + (9) * 1.25rem);
  flex: 0 0 auto;
}

.col-11 {
  width: calc((100% - 11 * 1.25rem) / 12 * 11 + (10) * 1.25rem);
  flex: 0 0 auto;
}

.col-12 {
  width: calc((100% - 11 * 1.25rem) / 12 * 12 + (11) * 1.25rem);
  flex: 0 0 auto;
}

@media (min-width: 768px) {
  .col-md-1 {
    width: calc((100% - 11 * 1.25rem) / 12 * 1 + (0) * 1.25rem);
    flex: 0 0 auto;
  }
  .col-md-2 {
    width: calc((100% - 11 * 1.25rem) / 12 * 2 + (1) * 1.25rem);
    flex: 0 0 auto;
  }
  .col-md-3 {
    width: calc((100% - 11 * 1.25rem) / 12 * 3 + (2) * 1.25rem);
    flex: 0 0 auto;
  }
  .col-md-4 {
    width: calc((100% - 11 * 1.25rem) / 12 * 4 + (3) * 1.25rem);
    flex: 0 0 auto;
  }
  .col-md-5 {
    width: calc((100% - 11 * 1.25rem) / 12 * 5 + (4) * 1.25rem);
    flex: 0 0 auto;
  }
  .col-md-6 {
    width: calc((100% - 11 * 1.25rem) / 12 * 6 + (5) * 1.25rem);
    flex: 0 0 auto;
  }
  .col-md-7 {
    width: calc((100% - 11 * 1.25rem) / 12 * 7 + (6) * 1.25rem);
    flex: 0 0 auto;
  }
  .col-md-8 {
    width: calc((100% - 11 * 1.25rem) / 12 * 8 + (7) * 1.25rem);
    flex: 0 0 auto;
  }
  .col-md-9 {
    width: calc((100% - 11 * 1.25rem) / 12 * 9 + (8) * 1.25rem);
    flex: 0 0 auto;
  }
  .col-md-10 {
    width: calc((100% - 11 * 1.25rem) / 12 * 10 + (9) * 1.25rem);
    flex: 0 0 auto;
  }
  .col-md-11 {
    width: calc((100% - 11 * 1.25rem) / 12 * 11 + (10) * 1.25rem);
    flex: 0 0 auto;
  }
  .col-md-12 {
    width: calc((100% - 11 * 1.25rem) / 12 * 12 + (11) * 1.25rem);
    flex: 0 0 auto;
  }
}
@media (min-width: 1024px) {
  .col-lg-1 {
    width: calc((100% - 11 * 1.25rem) / 12 * 1 + (0) * 1.25rem);
    flex: 0 0 auto;
  }
  .col-lg-2 {
    width: calc((100% - 11 * 1.25rem) / 12 * 2 + (1) * 1.25rem);
    flex: 0 0 auto;
  }
  .col-lg-3 {
    width: calc((100% - 11 * 1.25rem) / 12 * 3 + (2) * 1.25rem);
    flex: 0 0 auto;
  }
  .col-lg-4 {
    width: calc((100% - 11 * 1.25rem) / 12 * 4 + (3) * 1.25rem);
    flex: 0 0 auto;
  }
  .col-lg-5 {
    width: calc((100% - 11 * 1.25rem) / 12 * 5 + (4) * 1.25rem);
    flex: 0 0 auto;
  }
  .col-lg-6 {
    width: calc((100% - 11 * 1.25rem) / 12 * 6 + (5) * 1.25rem);
    flex: 0 0 auto;
  }
  .col-lg-7 {
    width: calc((100% - 11 * 1.25rem) / 12 * 7 + (6) * 1.25rem);
    flex: 0 0 auto;
  }
  .col-lg-8 {
    width: calc((100% - 11 * 1.25rem) / 12 * 8 + (7) * 1.25rem);
    flex: 0 0 auto;
  }
  .col-lg-9 {
    width: calc((100% - 11 * 1.25rem) / 12 * 9 + (8) * 1.25rem);
    flex: 0 0 auto;
  }
  .col-lg-10 {
    width: calc((100% - 11 * 1.25rem) / 12 * 10 + (9) * 1.25rem);
    flex: 0 0 auto;
  }
  .col-lg-11 {
    width: calc((100% - 11 * 1.25rem) / 12 * 11 + (10) * 1.25rem);
    flex: 0 0 auto;
  }
  .col-lg-12 {
    width: calc((100% - 11 * 1.25rem) / 12 * 12 + (11) * 1.25rem);
    flex: 0 0 auto;
  }
}
@media (min-width: 1280px) {
  .col-xl-1 {
    width: calc((100% - 11 * 1.25rem) / 12 * 1 + (0) * 1.25rem);
    flex: 0 0 auto;
  }
  .col-xl-2 {
    width: calc((100% - 11 * 1.25rem) / 12 * 2 + (1) * 1.25rem);
    flex: 0 0 auto;
  }
  .col-xl-3 {
    width: calc((100% - 11 * 1.25rem) / 12 * 3 + (2) * 1.25rem);
    flex: 0 0 auto;
  }
  .col-xl-4 {
    width: calc((100% - 11 * 1.25rem) / 12 * 4 + (3) * 1.25rem);
    flex: 0 0 auto;
  }
  .col-xl-5 {
    width: calc((100% - 11 * 1.25rem) / 12 * 5 + (4) * 1.25rem);
    flex: 0 0 auto;
  }
  .col-xl-6 {
    width: calc((100% - 11 * 1.25rem) / 12 * 6 + (5) * 1.25rem);
    flex: 0 0 auto;
  }
  .col-xl-7 {
    width: calc((100% - 11 * 1.25rem) / 12 * 7 + (6) * 1.25rem);
    flex: 0 0 auto;
  }
  .col-xl-8 {
    width: calc((100% - 11 * 1.25rem) / 12 * 8 + (7) * 1.25rem);
    flex: 0 0 auto;
  }
  .col-xl-9 {
    width: calc((100% - 11 * 1.25rem) / 12 * 9 + (8) * 1.25rem);
    flex: 0 0 auto;
  }
  .col-xl-10 {
    width: calc((100% - 11 * 1.25rem) / 12 * 10 + (9) * 1.25rem);
    flex: 0 0 auto;
  }
  .col-xl-11 {
    width: calc((100% - 11 * 1.25rem) / 12 * 11 + (10) * 1.25rem);
    flex: 0 0 auto;
  }
  .col-xl-12 {
    width: calc((100% - 11 * 1.25rem) / 12 * 12 + (11) * 1.25rem);
    flex: 0 0 auto;
  }
}
.offset-col-1 {
  margin-left: calc((100% - 11 * 1.25rem) / 12 * 1 + (0) * 1.25rem);
}

.offset-col-2 {
  margin-left: calc((100% - 11 * 1.25rem) / 12 * 2 + (1) * 1.25rem);
}

.offset-col-3 {
  margin-left: calc((100% - 11 * 1.25rem) / 12 * 3 + (2) * 1.25rem);
}

.offset-col-4 {
  margin-left: calc((100% - 11 * 1.25rem) / 12 * 4 + (3) * 1.25rem);
}

.offset-col-5 {
  margin-left: calc((100% - 11 * 1.25rem) / 12 * 5 + (4) * 1.25rem);
}

.offset-col-6 {
  margin-left: calc((100% - 11 * 1.25rem) / 12 * 6 + (5) * 1.25rem);
}

.offset-col-7 {
  margin-left: calc((100% - 11 * 1.25rem) / 12 * 7 + (6) * 1.25rem);
}

.offset-col-8 {
  margin-left: calc((100% - 11 * 1.25rem) / 12 * 8 + (7) * 1.25rem);
}

.offset-col-9 {
  margin-left: calc((100% - 11 * 1.25rem) / 12 * 9 + (8) * 1.25rem);
}

.offset-col-10 {
  margin-left: calc((100% - 11 * 1.25rem) / 12 * 10 + (9) * 1.25rem);
}

.offset-col-11 {
  margin-left: calc((100% - 11 * 1.25rem) / 12 * 11 + (10) * 1.25rem);
}

@media (min-width: 768px) {
  .offset-md-1 {
    margin-left: calc((100% - 11 * 1.25rem) / 12 * 1 + (0) * 1.25rem);
  }
  .offset-md-2 {
    margin-left: calc((100% - 11 * 1.25rem) / 12 * 2 + (1) * 1.25rem);
  }
  .offset-md-3 {
    margin-left: calc((100% - 11 * 1.25rem) / 12 * 3 + (2) * 1.25rem);
  }
  .offset-md-4 {
    margin-left: calc((100% - 11 * 1.25rem) / 12 * 4 + (3) * 1.25rem);
  }
  .offset-md-5 {
    margin-left: calc((100% - 11 * 1.25rem) / 12 * 5 + (4) * 1.25rem);
  }
  .offset-md-6 {
    margin-left: calc((100% - 11 * 1.25rem) / 12 * 6 + (5) * 1.25rem);
  }
  .offset-md-7 {
    margin-left: calc((100% - 11 * 1.25rem) / 12 * 7 + (6) * 1.25rem);
  }
  .offset-md-8 {
    margin-left: calc((100% - 11 * 1.25rem) / 12 * 8 + (7) * 1.25rem);
  }
  .offset-md-9 {
    margin-left: calc((100% - 11 * 1.25rem) / 12 * 9 + (8) * 1.25rem);
  }
  .offset-md-10 {
    margin-left: calc((100% - 11 * 1.25rem) / 12 * 10 + (9) * 1.25rem);
  }
  .offset-md-11 {
    margin-left: calc((100% - 11 * 1.25rem) / 12 * 11 + (10) * 1.25rem);
  }
}
@media (min-width: 1024px) {
  .offset-lg-1 {
    margin-left: calc((100% - 11 * 1.25rem) / 12 * 1 + (0) * 1.25rem);
  }
  .offset-lg-2 {
    margin-left: calc((100% - 11 * 1.25rem) / 12 * 2 + (1) * 1.25rem);
  }
  .offset-lg-3 {
    margin-left: calc((100% - 11 * 1.25rem) / 12 * 3 + (2) * 1.25rem);
  }
  .offset-lg-4 {
    margin-left: calc((100% - 11 * 1.25rem) / 12 * 4 + (3) * 1.25rem);
  }
  .offset-lg-5 {
    margin-left: calc((100% - 11 * 1.25rem) / 12 * 5 + (4) * 1.25rem);
  }
  .offset-lg-6 {
    margin-left: calc((100% - 11 * 1.25rem) / 12 * 6 + (5) * 1.25rem);
  }
  .offset-lg-7 {
    margin-left: calc((100% - 11 * 1.25rem) / 12 * 7 + (6) * 1.25rem);
  }
  .offset-lg-8 {
    margin-left: calc((100% - 11 * 1.25rem) / 12 * 8 + (7) * 1.25rem);
  }
  .offset-lg-9 {
    margin-left: calc((100% - 11 * 1.25rem) / 12 * 9 + (8) * 1.25rem);
  }
  .offset-lg-10 {
    margin-left: calc((100% - 11 * 1.25rem) / 12 * 10 + (9) * 1.25rem);
  }
  .offset-lg-11 {
    margin-left: calc((100% - 11 * 1.25rem) / 12 * 11 + (10) * 1.25rem);
  }
}
@media (min-width: 1280px) {
  .offset-xl-1 {
    margin-left: calc((100% - 11 * 1.25rem) / 12 * 1 + (0) * 1.25rem);
  }
  .offset-xl-2 {
    margin-left: calc((100% - 11 * 1.25rem) / 12 * 2 + (1) * 1.25rem);
  }
  .offset-xl-3 {
    margin-left: calc((100% - 11 * 1.25rem) / 12 * 3 + (2) * 1.25rem);
  }
  .offset-xl-4 {
    margin-left: calc((100% - 11 * 1.25rem) / 12 * 4 + (3) * 1.25rem);
  }
  .offset-xl-5 {
    margin-left: calc((100% - 11 * 1.25rem) / 12 * 5 + (4) * 1.25rem);
  }
  .offset-xl-6 {
    margin-left: calc((100% - 11 * 1.25rem) / 12 * 6 + (5) * 1.25rem);
  }
  .offset-xl-7 {
    margin-left: calc((100% - 11 * 1.25rem) / 12 * 7 + (6) * 1.25rem);
  }
  .offset-xl-8 {
    margin-left: calc((100% - 11 * 1.25rem) / 12 * 8 + (7) * 1.25rem);
  }
  .offset-xl-9 {
    margin-left: calc((100% - 11 * 1.25rem) / 12 * 9 + (8) * 1.25rem);
  }
  .offset-xl-10 {
    margin-left: calc((100% - 11 * 1.25rem) / 12 * 10 + (9) * 1.25rem);
  }
  .offset-xl-11 {
    margin-left: calc((100% - 11 * 1.25rem) / 12 * 11 + (10) * 1.25rem);
  }
}
h1 {
  font-size: 60px;
  line-height: 4rem;
}

h2 {
  font-size: 40px;
  line-height: 2.5rem;
}

h3 {
  font-size: 1.5rem;
  line-height: 1.5rem;
  padding: 25px 0;
}

h4 {
  font-size: 1.5rem;
  line-height: 1.5rem;
}

h1 + p {
  margin-top: -15px;
  text-align: center;
  margin-bottom: 25px;
}

strong {
  font-family: "swizamedium", sans-serif;
}

/********************************************************************************************************
Zizate
*********************************************************************************************************/
.quote-highlight {
  color: #31acdc;
  font-size: 1.5rem;
  line-height: 1.4;
  position: relative;
  padding-left: 2.5rem;
  max-width: 30rem;
}

.quote-highlight::before {
  content: "❝";
  font-size: 3rem;
  color: #31acdc;
  position: absolute;
  top: -0.5rem;
  left: 0;
  line-height: 1;
}

/********************************************************************************************************
Bildposition
*********************************************************************************************************/
/* Allgemeines Styling */
.content-text.media--left, .content-text.media--right {
  display: block;
}
.content-text.media--left figure, .content-text.media--right figure {
  max-width: 45%;
  width: auto;
  margin: 0 1.5rem 1rem 0;
  float: left;
}
.content-text.media--left figure img, .content-text.media--right figure img {
  width: 100%;
  height: auto;
  display: block;
}
.content-text.media--right figure {
  float: right;
  margin: 0 0 1rem 1.5rem;
}
.content-text.media--above figure {
  display: block;
  margin: 0 0 1rem 0;
}
.content-text.media--above figure img {
  width: 100%;
  height: auto;
  display: block;
}
.content-text.media--below figure {
  display: block;
  margin: 1rem 0 0 0;
}
.content-text.media--below figure img {
  width: 100%;
  height: auto;
  display: block;
}

#header {
  background-color: #fff;
  z-index: 150;
  position: sticky;
  width: 100%;
  transition: box-shadow 0.3s ease;
  top: 0;
  left: 0;
  right: 0;
  --header-height: 95px;
}
#header.with-shadow {
  box-shadow: 0 4px 5px rgba(0, 0, 0, 0.5);
}
#header .header-desktop {
  display: flex;
  flex-direction: column;
  width: 100%;
  position: relative;
}
#header .header-desktop .topline {
  width: 100%;
  background-color: #191919;
  height: 35px;
}
#header .header-desktop .topline .inside {
  margin-left: auto;
  margin-right: auto;
  padding-left: 60px;
  padding-right: 60px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  height: 100%;
}
#header .header-desktop .topline ul,
#header .header-desktop .topline .topline-links {
  display: flex;
  align-items: center;
  gap: 1.5rem;
  list-style: none;
  margin: 0;
  padding: 0;
}
#header .header-desktop .topline ul li,
#header .header-desktop .topline .topline-links li {
  color: #31acdc;
  font-size: 0.9rem;
}
#header .header-desktop .topline ul li a,
#header .header-desktop .topline .topline-links li a {
  color: #fff;
  text-decoration: none;
}
#header .header-desktop .topline ul li a:hover,
#header .header-desktop .topline .topline-links li a:hover {
  opacity: 0.95;
}
#header .header-desktop .topline .topline-lang {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  white-space: nowrap;
  height: 100%;
}
#header .header-desktop .topline .topline-lang .mod_changelanguage,
#header .header-desktop .topline .topline-lang .changelanguage {
  display: flex;
  align-items: center;
  height: 100%;
}
#header .header-desktop .topline .topline-lang .mod_changelanguage ul,
#header .header-desktop .topline .topline-lang .changelanguage ul {
  display: flex;
  align-items: center;
  gap: 1rem;
  list-style: none;
  margin: 0;
  padding: 0;
}
#header .header-desktop .topline .topline-lang a {
  color: #fff;
  text-decoration: none;
  font-size: 0.9rem;
  opacity: 0.95;
}
#header .header-desktop .topline .topline-lang a:hover {
  opacity: 1;
}
#header .header-desktop .topline .topline-lang .active a,
#header .header-desktop .topline .topline-lang a.active,
#header .header-desktop .topline .topline-lang .current a {
  font-weight: 600;
  text-decoration: underline;
  text-underline-offset: 2px;
}
#header .header-desktop .topline .topline-lang .mod_changelanguage li + li::before,
#header .header-desktop .topline .topline-lang .changelanguage li + li::before {
  content: "|";
  margin: 0 0.25rem 0 0;
  opacity: 0.5;
}
#header .header-desktop .main {
  width: 100%;
  height: 60px;
  border-bottom: 2px solid #e67e22;
}
#header .header-desktop .main .inside {
  margin-left: auto;
  margin-right: auto;
  padding-left: 60px;
  padding-right: 60px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  height: 100%;
}
#header .header-desktop .main .logo img {
  width: 215px;
  height: auto;
  display: block;
}
#header .header-desktop .main .mod_navigation {
  width: auto;
}
#header .header-desktop .main .tickets .button-dezent-main {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
  padding: 0.5rem 1rem;
}
#header .header-mobile {
  display: none;
}

body {
  padding-top: var(--header-height);
}

@media (max-width: 1124px) {
  #header {
    --header-height: 60px;
  }
  #header .header-desktop {
    display: none;
  }
  #header .header-mobile {
    display: block;
  }
}
/* _base.scss */
.mod_article.first {
  padding-top: 145px;
}
@media (max-width: 1124px) {
  .mod_article.first {
    padding-top: 30px;
  }
}

.content-text {
  padding-top: 50px;
}
.content-text a {
  color: #31acdc;
}

p + p {
  margin-top: 0.5rem;
}

h1 {
  text-align: center;
  margin-bottom: 50px;
}

h2 {
  text-align: center;
  margin-bottom: 50px;
}

/********************************************************************************************************
Content Darstelltung Box Links:
*********************************************************************************************************/
.content-main {
  padding: 4rem 0;
}
.content-main h1 {
  text-align: left;
  font-size: 40px;
  line-height: 2.5rem;
  margin-bottom: 25px;
  color: #fff;
}
.content-main .content-inner {
  display: flex;
  justify-content: flex-start;
  padding-left: 5vw;
  padding-right: 0;
}
.content-main .content-wrapper {
  display: flex;
  position: relative;
  width: 100%;
  align-items: flex-start;
}
.content-main .content-box {
  background: white;
  padding: 2.5rem;
  border-radius: 0px;
  box-shadow: 0 20px 30px rgba(0, 0, 0, 0.5);
  z-index: 2;
  width: 40%;
  max-width: 450px;
  margin-right: 55%;
  margin-left: 15%;
  min-width: 300px;
}
.content-main .content-media {
  position: absolute;
  top: -30px;
  bottom: -30px;
  right: 0;
  width: 60vw;
  z-index: 1;
  overflow: visible;
}
.content-main .content-media .shadow {
  background-color: #31acdc;
  position: absolute;
  top: 50%;
  width: calc(100% + 15px);
  height: calc(50% + 15px);
  margin-left: -15px;
  border-top-left-radius: 0px;
  border-bottom-left-radius: 0px;
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
  z-index: 0;
}
.content-main .content-media .shadow:empty {
  display: block;
}
.content-main .content-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  z-index: 1;
  position: relative;
  border-top-left-radius: 0px;
  border-bottom-left-radius: 0px;
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
  box-shadow: 0 10px 10px rgba(0, 0, 0, 0.3);
}
.content-main .content-media .caption-title {
  position: absolute;
  top: 30px;
  left: 0;
  right: 0;
  margin: 0;
  padding: 0.5rem 5rem;
  text-align: end;
  z-index: 2;
}
.content-main .content-media .caption {
  position: absolute;
  bottom: 30px;
  left: 100px;
  right: 0;
  margin: 0;
  padding: 0.5rem 5rem;
  background: rgba(0, 0, 0, 0.4);
  color: white;
  font-size: 0.875rem;
  text-align: end;
  z-index: 2;
}

@media (max-width: 1200px) {
  .content-main {
    padding: 0;
    /* Bild oben, volle Breite */
    /* Textbox unter dem Bild, leicht überlappend */
  }
  .content-main .content-inner {
    flex-direction: column;
    padding: 0;
  }
  .content-main .content-wrapper {
    flex-direction: column;
    align-items: center;
  }
  .content-main .content-media {
    position: relative; /* Anker für absolute Captions */
    width: 100%;
    height: auto;
    order: 1;
    overflow: visible;
    /* HÖHERE SPEZIFITÄT + oberhalb des Bildes */
  }
  .content-main .content-media img {
    display: block;
    width: 100%;
    height: auto;
    border-radius: 0;
    box-shadow: none;
    min-height: 300px;
    /* kein z-index nötig */
  }
  .content-main .content-media .caption-title,
  .content-main .content-media .caption {
    position: absolute;
    left: 0;
    right: 0;
    z-index: 2; /* über dem Bild */
    pointer-events: none; /* klickt nicht die Caption, sondern das Bild/Link */
  }
  .content-main .content-media .caption-title {
    top: 30px;
    margin: 0;
    padding: 0 0.75rem;
    text-align: end;
  }
  .content-main .content-media .caption {
    bottom: 16px;
    margin: 0;
    padding: 0.5rem 0.75rem;
    background: rgba(0, 0, 0, 0.4);
    color: #fff;
    font-size: 0.875rem;
    text-align: end;
  }
  .content-main .content-media .shadow {
    display: none;
  }
  .content-main .content-box {
    order: 2;
    position: relative;
    max-width: 500px;
    margin: -40px 15px 2rem 15px; /* ragt ins Bild */
    padding: 1.5rem;
    background: #fff;
    border-radius: 0px;
    box-shadow: 0 10px 20px rgba(0, 0, 0, 0.3);
    z-index: 2;
  }
}
/********************************************************************************************************
Content Darstellung Box rechts (Reverse):
*********************************************************************************************************/
.content-main--reverse .content-inner {
  padding-left: 0;
  padding-right: 5vw;
  justify-content: flex-end;
}
.content-main--reverse .content-wrapper {
  display: flex;
  position: relative;
  width: 100%;
  align-items: flex-start;
  flex-direction: row-reverse;
}
.content-main--reverse .content-box {
  background: white;
  padding: 2.5rem;
  border-radius: 0px;
  box-shadow: 0 20px 30px rgba(0, 0, 0, 0.5);
  z-index: 2;
  width: 40%;
  max-width: 450px;
  margin-left: 55%;
  margin-right: 15%;
  min-width: 300px;
}
.content-main--reverse .content-media {
  position: absolute;
  top: -30px;
  bottom: -30px;
  left: 0;
  right: auto;
  width: 60vw;
  z-index: 1;
  overflow: visible;
}
.content-main--reverse .content-media .shadow {
  background-color: #e67e22;
  position: absolute;
  top: 50%;
  width: calc(100% + 15px);
  height: calc(50% + 15px);
  margin-left: 0px;
  left: auto;
  border-top-right-radius: 0px;
  border-bottom-right-radius: 0px;
  border-top-left-radius: 0;
  border-bottom-left-radius: 0;
  z-index: 0;
}
.content-main--reverse .content-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  z-index: 1;
  position: relative;
  border-top-right-radius: 0px;
  border-bottom-right-radius: 0px;
  border-top-left-radius: 0;
  border-bottom-left-radius: 0;
  box-shadow: 0 10px 10px rgba(0, 0, 0, 0.3);
}
.content-main--reverse .content-media .caption {
  position: absolute;
  bottom: 30px;
  left: 0rem;
  right: 0rem;
  margin: 0;
  padding: 0.5rem 1rem;
  background: rgba(0, 0, 0, 0.4);
  color: white;
  font-size: 0.875rem;
  text-align: start;
  z-index: 2;
}

/********************************************************************************************************
Content Darstelltung Box rechts: Bild Ã¼ber die ganze Breite:
*********************************************************************************************************/
.content-main--image-full {
  position: relative;
  padding: 4rem 0;
}
.content-main--image-full h1 {
  text-align: left;
  font-size: 40px;
  line-height: 2.5rem;
  margin-bottom: 25px;
  color: #31acdc;
}
.content-main--image-full .content-inner {
  display: flex;
  justify-content: flex-start;
  padding-left: 5vw;
  padding-right: 0;
  position: relative;
  z-index: 2;
}
.content-main--image-full .content-wrapper {
  display: flex;
  width: 100%;
  align-items: flex-start;
}
.content-main--image-full .content-box {
  background: white;
  padding: 2.5rem;
  border-radius: 12px;
  box-shadow: 0 20px 30px rgba(0, 0, 0, 0.5);
  width: 40%;
  max-width: 350px;
  margin-left: 15%;
  margin-right: auto;
  z-index: 2;
  position: relative;
}
.content-main--image-full .content-media {
  position: absolute;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100%;
  z-index: 1;
}
.content-main--image-full .content-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-top-left-radius: 0;
  border-bottom-left-radius: 0;
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
}

/********************************************************************************************************
Lesestoff
*********************************************************************************************************/
.rsce-lumeum-bild-text .lumeum-bild-text {
  display: grid;
  grid-template-columns: minmax(0, 320px) minmax(0, 1fr);
  gap: 2rem;
  align-items: center;
}
.rsce-lumeum-bild-text .lumeum-bild-text__bild img {
  display: block;
  width: 100%;
  height: auto;
}
.rsce-lumeum-bild-text .lumeum-bild-text__text h2,
.rsce-lumeum-bild-text .lumeum-bild-text__text h3 {
  margin-top: 0;
}
@media (max-width: 767px) {
  .rsce-lumeum-bild-text .lumeum-bild-text {
    grid-template-columns: 1fr;
    gap: 1.25rem;
  }
}

#footer {
  background-color: #191919;
  color: #fff;
  margin: 75px 0 0 0;
}
#footer .inside {
  margin: 0 auto;
  padding: 50px 60px;
}
#footer .inner-split {
  display: flex;
  justify-content: space-between;
  gap: 2rem;
}
#footer .inner-split .left,
#footer .inner-split .right {
  flex: 1;
}
#footer .inner-split p {
  margin: 0.3rem 0;
}
#footer .sm-title {
  text-align: right;
  margin-bottom: 0.5rem;
}
#footer .sm-icons {
  display: flex;
  justify-content: flex-end;
  gap: 1rem;
}
#footer .sm-icons img {
  width: 75px;
  height: 75px;
}
#footer .info-bottom {
  font-size: 0.875rem;
  margin-top: 25px;
}

/* _base.scss */
@media (min-width: 1025px) {
  .mod_navigation ul {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    gap: 2rem;
    font-family: "swizalight", sans-serif;
  }
  .mod_navigation ul .level_2 {
    position: fixed;
    top: var(--nav-height, 80px);
    left: 0;
    width: 100vw;
    background: #000;
    padding: 1rem 0;
    opacity: 0;
    visibility: hidden;
    transform: translateY(5px);
    transition: opacity 0.8s ease, transform 0.8s ease;
    z-index: 1000;
    margin-top: -10px;
  }
  .mod_navigation ul .level_2 li a {
    display: block;
    padding: 0.5rem 1rem;
    color: #000;
  }
  .mod_navigation ul .level_2 li a:hover {
    background: #222;
  }
  .mod_navigation li {
    position: relative;
    margin: 0;
    padding: 0;
    font-size: 1.5rem;
  }
  .mod_navigation li a,
  .mod_navigation li strong {
    color: #000;
    text-decoration: none;
    padding: 0.5rem 0;
    display: inline-block;
  }
  .mod_navigation li a.active,
  .mod_navigation li a strong.active,
  .mod_navigation li strong.active,
  .mod_navigation li strong strong.active {
    border-bottom: 2px solid white;
  }
  .mod_navigation li a:hover,
  .mod_navigation li strong:hover {
    text-decoration: underline;
  }
  .mod_navigation li:hover > .level_2 {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
  }
  .invisible {
    position: absolute !important;
    left: -9999px;
    top: auto;
    width: 1px;
    height: 1px;
    overflow: hidden;
  }
  .invisible:focus {
    position: static !important;
    width: auto;
    height: auto;
    margin-bottom: 1rem;
    padding: 0.5rem;
    background: #fff;
    color: #000;
    z-index: 1000;
  }
  /********************************************************************************************************
  MEGA Dropdown
  *********************************************************************************************************/
  .mega-dropdown {
    position: fixed;
    left: 0;
    right: 0;
    background: #191919;
    padding: 2rem;
    z-index: 1000;
    color: white;
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.3s ease;
    top: 95px;
  }
  .mega-dropdown.visible {
    opacity: 1;
    pointer-events: auto;
  }
  .mega-dropdown.no-transition {
    transition: none !important;
  }
  .mega-dropdown .inside {
    max-width: 1200px;
    margin: 0 auto;
  }
  .mega-dropdown .inside .shadow {
    position: relative;
    display: inline-block;
    background-color: transparent;
  }
  .mega-dropdown .inside .shadow::before {
    content: "";
    position: absolute;
    left: -10px;
    bottom: -10px;
    width: 100%;
    height: 100%;
    background-color: #31acdc;
    z-index: -1;
    margin-left: 10px;
  }
  .mega-dropdown .inside .shadow img {
    width: 100%;
    height: auto;
    display: block;
    box-shadow: 0 10px 10px rgba(0, 0, 0, 0.3);
    margin-left: 10px;
  }
  .mega-dropdown .inside p {
    border-bottom: 1px solid #31acdc;
    padding: 15px 0;
  }
  .mega-dropdown .inside p.info {
    border-bottom: none;
  }
  .mega-dropdown .inside a {
    color: #fff;
    text-decoration: none;
  }
  .mega-dropdown .inside h4 {
    margin-bottom: 25px;
  }
  .mega-dropdown .inside li {
    border-bottom: 1px solid #31acdc;
    padding: 15px 0;
  }
  .mega-dropdown .info-show {
    margin-top: 30px;
  }
  .mega-dropdown .info-show img {
    display: block;
    width: 100%;
    height: auto;
  }
  .mega-dropdown .info-show .info-show-text {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    color: white;
    font-size: 1.5rem;
    text-align: center;
    padding: 0.5rem 0rem;
    background: rgba(0, 0, 0, 0.4);
    width: 100%;
  }
}
@media (max-width: 1024px) {
  .mega-dropdown {
    display: none;
  }
}
/* ==================== Mobile Header ==================== */
.header-mobile {
  /* ==================== Language Switcher ==================== */
  /* Wrapper für das Select */
  /* ==================== Burger Button ==================== */
  /* ==================== Offcanvas ==================== */
  /* Offcanvas sichtbar */
  /* Optional: Body scrollen verhindern, wenn Menü offen ist */
  /* (Optional) Skip-Link */
  /* ==================== Mobile Navigation (Akkordeon) ==================== */
}
.header-mobile .inside {
  height: 60px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 16px;
  border-bottom: 2px solid #e67e22;
  background: #fff;
}
.header-mobile .logo img {
  height: 36px;
  width: auto;
  display: block;
}
.header-mobile .header-right {
  display: flex;
  align-items: center;
  gap: 10px;
}
.header-mobile .lang-switcher {
  position: relative;
  height: 35px;
  display: inline-flex;
  align-items: center;
  /* Das Select kommt aus dem Modul-Template als <select class="level_1"> */
  /* Chevron */
}
.header-mobile .lang-switcher select.level_1 {
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  height: 35px;
  padding: 0 36px 0 12px; /* rechts Platz für Chevron */
  border: 1px solid #e67e22;
  border-radius: 999px;
  background: #fff;
  color: #000;
  font-weight: 600;
  font-size: 0.95rem;
  cursor: pointer;
  /* iOS zoom vermeiden */
  font-size: 16px;
  /* Entfernt blauen Fokus-Glow, aber behält Fokus sichtbar */
}
.header-mobile .lang-switcher select.level_1:focus {
  outline: none;
  box-shadow: 0 0 0 2px rgba(49, 172, 220, 0.2);
  border-color: #31acdc;
}
.header-mobile .lang-switcher::after {
  content: "";
  position: absolute;
  right: 10px;
  top: 40%;
  transform: translateY(-50%) rotate(45deg);
  width: 8px;
  height: 8px;
  border: 2px solid transparent;
  border-right-color: #000;
  border-bottom-color: #000;
  pointer-events: none;
}
.header-mobile .menu-toggler {
  all: unset;
  box-sizing: border-box;
  width: 44px;
  height: 44px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  color: #000;
}
.header-mobile .menu-toggler span.burger {
  position: relative;
  width: 24px;
  height: 2px;
  background: currentColor;
  border-radius: 2px;
  pointer-events: none;
}
.header-mobile .menu-toggler span.burger::before, .header-mobile .menu-toggler span.burger::after {
  content: "";
  position: absolute;
  left: 0;
  width: 24px;
  height: 2px;
  background: currentColor;
  border-radius: 2px;
}
.header-mobile .menu-toggler span.burger::before {
  top: -7px;
}
.header-mobile .menu-toggler span.burger::after {
  top: 7px;
}
.header-mobile .menu-toggler:hover {
  opacity: 0.85;
}
.header-mobile .menu-mobile {
  position: fixed;
  inset: 0;
  z-index: 999;
  display: grid;
  grid-template-columns: 1fr;
}
.header-mobile .menu-mobile[hidden] {
  display: none;
}
.header-mobile .menu-backdrop {
  grid-area: 1/1;
  background: rgba(0, 0, 0, 0.4);
  opacity: 0;
  transition: opacity 0.2s ease;
}
.header-mobile .menu-panel {
  grid-area: 1/1;
  /* sichtbare Höhe des Viewports (Toolbar einbezogen) */
  height: 100svh;
  width: 100%;
  background: #fff;
  color: #000;
  box-shadow: 6px 0 24px rgba(0, 0, 0, 0.15);
  transform: translateX(-100%);
  transition: transform 0.25s ease;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  padding-bottom: env(safe-area-inset-bottom);
}
@supports (height: 100dvh) {
  .header-mobile .menu-panel {
    height: 100dvh;
  }
}
.header-mobile .menu-header {
  flex: 0 0 60px;
  height: 60px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 12px;
}
.header-mobile .menu-header .menu-title {
  font-size: 1.125rem;
}
.header-mobile .menu-header .menu-close {
  all: unset;
  cursor: pointer;
  font-size: 1.5rem;
  line-height: 1;
  padding: 8px;
}
.header-mobile .menu-scroll {
  flex: 1 1 auto;
  min-height: 0;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  padding: 8px 0 calc(24px + env(safe-area-inset-bottom));
  overscroll-behavior: contain;
}
.header-mobile .menu-mobile.is-open .menu-backdrop {
  opacity: 1;
}
.header-mobile .menu-mobile.is-open .menu-panel {
  transform: translateX(0);
}
.header-mobile .body-lock {
  overflow: hidden;
  touch-action: none;
}
.header-mobile a.invisible {
  position: absolute !important;
  left: -9999px;
  top: auto;
  width: 1px;
  height: 1px;
  overflow: hidden;
}
.header-mobile a.invisible:focus {
  position: static !important;
  width: auto;
  height: auto;
  margin: 1rem;
  padding: 0.5rem 1rem;
  background: #191919;
  color: #fff;
  font-weight: 600;
  text-decoration: none;
  z-index: 1000;
  display: inline-block;
}
.header-mobile .menu-scroll .mod_navigation {
  /* Schutz vor Desktop-Styles */
  /* Level 1 */
  /* Level 2 (Akkordeon-Inhalt) */
  /* geöffnet */
}
.header-mobile .menu-scroll .mod_navigation ul {
  list-style: none;
  margin: 0;
  padding: 0;
}
.header-mobile .menu-scroll .mod_navigation .level_1, .header-mobile .menu-scroll .mod_navigation .level_2 {
  display: block;
}
.header-mobile .menu-scroll .mod_navigation li {
  display: block;
  position: static;
}
.header-mobile .menu-scroll .mod_navigation a, .header-mobile .menu-scroll .mod_navigation strong {
  display: block;
  text-decoration: none;
}
.header-mobile .menu-scroll .mod_navigation .level_1 > li {
  min-height: 75px;
  margin: 0 25px;
  transition: background-color 0.2s ease;
  /* kein Pfeil, wenn kein Submenu */
  /* geöffnet → Pfeil drehen */
  /* Aktiver Pfad (Contao) */
  /* optional: offen dezent hervorheben */
}
.header-mobile .menu-scroll .mod_navigation .level_1 > li > a {
  display: flex;
  align-items: center;
  min-height: 75px;
  text-align: center;
  color: #000;
  font-weight: 600;
  font-size: 1.125rem;
  line-height: 1.5rem;
  position: relative;
  box-sizing: border-box;
  padding: 0 2.5rem 0 0; /* Platz für Pfeil rechts */
  overflow: hidden;
  /* Pfeil */
}
.header-mobile .menu-scroll .mod_navigation .level_1 > li > a::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 1rem;
  transform: translateY(-50%) rotate(45deg);
  width: 8px;
  height: 8px;
  border: 2px solid transparent;
  border-right-color: #31acdc;
  border-bottom-color: #31acdc;
  transition: transform 0.2s ease, border-color 0.2s ease, background-color 0.2s ease;
}
.header-mobile .menu-scroll .mod_navigation .level_1 > li > a:hover {
  background: #eaeaea;
}
.header-mobile .menu-scroll .mod_navigation .level_1 > li:not(.submenu) > a::after {
  content: none;
}
.header-mobile .menu-scroll .mod_navigation .level_1 > li.is-open > a::after {
  transform: translateY(-50%) rotate(-135deg);
}
.header-mobile .menu-scroll .mod_navigation .level_1 > li.active > a, .header-mobile .menu-scroll .mod_navigation .level_1 > li.trail > a {
  background: #f3f6f9;
  color: #31acdc;
  font-weight: 700;
}
.header-mobile .menu-scroll .mod_navigation .level_1 > li.active > a::after, .header-mobile .menu-scroll .mod_navigation .level_1 > li.trail > a::after {
  border-right-color: #31acdc;
  border-bottom-color: #31acdc;
}
.header-mobile .menu-scroll .mod_navigation .level_1 > li.is-open > a {
  background: #f7f7f7;
}
.header-mobile .menu-scroll .mod_navigation .level_2 {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.25s ease;
  background: #fff;
  border-bottom: 1px solid #31acdc;
  /* Aktives L2-Ziel */
}
.header-mobile .menu-scroll .mod_navigation .level_2 > li > a {
  padding: 0.75rem 1rem 0.75rem 2.5rem; /* Einrückung */
  font-weight: 400;
  font-size: 0.95rem;
  color: #000;
  transition: background-color 0.15s ease, color 0.15s ease;
}
.header-mobile .menu-scroll .mod_navigation .level_2 > li > a:hover {
  background: #f7f7f7;
}
.header-mobile .menu-scroll .mod_navigation .level_2 li.active {
  color: #31acdc;
  font-size: 0.95rem;
  padding: 0.75rem 1rem 0.75rem 2.5rem; /* Einrückung */
}
.header-mobile .menu-scroll .mod_navigation .is-open > .level_2 {
  max-height: 1000px;
}

/* ==================== Body Scroll-Lock (global) ==================== */
.body-lock {
  overflow: hidden;
  touch-action: none;
}

.menu-extra,
.menu-footer {
  padding: 1rem 1.25rem;
  border-top: 1px solid rgba(0, 0, 0, 0.08);
}

.menu-links {
  list-style: none;
  margin: 0.5rem 0 0;
  padding: 0;
}

.menu-links li + li {
  margin-top: 0.5rem;
}

.menu-links a {
  text-decoration: none;
  font-weight: 600;
}

/* _base.scss */
/********************************************************************************************************
Hero Video
*********************************************************************************************************/
.hero {
  padding-top: 0px;
}

.hero-video {
  position: relative;
  width: 100%;
  height: calc(100vh - 95px);
  overflow: hidden;
  margin: 0;
  padding: 0;
  border: none;
}
@media (max-width: 1124px) {
  .hero-video {
    height: calc(100vh - 60px);
  }
}

.hero-video video {
  position: absolute;
  min-width: 100%;
  min-height: 100%;
  object-fit: cover;
  z-index: -1;
  display: block;
}

/* Overlay über Video */
.hero-video-overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 10;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  text-align: center;
  color: white;
  pointer-events: none;
}

.hero-video-overlay-ani-0 {
  position: absolute;
  left: 50%;
  width: 100%;
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  opacity: 0;
  z-index: 20;
  animation: logoFadeInOut 4s ease-out 0.2s forwards;
}
@media (max-width: 768px) {
  .hero-video-overlay-ani-0 {
    width: 80%;
  }
}
.hero-video-overlay-ani-0 img {
  width: 600px;
  height: auto;
}

/* Animierter Text 1 */
.hero-video-overlay-ani-1 {
  font-size: 3rem;
  font-weight: bold;
  margin-top: 1rem;
  opacity: 0;
  animation: fadeInUp 1s ease-out 4s forwards;
  position: relative;
  line-height: 3rem;
}
@media (max-width: 768px) {
  .hero-video-overlay-ani-1 {
    font-size: 2.5rem;
    line-height: 2.5rem;
  }
}
.hero-video-overlay-ani-1::after {
  content: "";
  position: absolute;
  bottom: -10px; /* Abstand zur Schrift */
  left: 0;
  height: 4px;
  width: 0;
  background-color: #31acdc;
  animation: underlineGrow 0.6s ease-out 5s forwards;
}

/* Animierter Text 2 */
.hero-video-overlay-ani-2 {
  font-size: 1.5rem;
  margin-top: 1.5rem;
  opacity: 0;
  animation: fadeInUp 1.2s ease-out 6s forwards;
  position: relative;
}

.hero-video-overlay-ani-3 {
  margin-top: 30px;
  font-size: 1.5rem;
  opacity: 0;
  animation: fadeInUp 1.5s ease-out 7s forwards;
  line-height: 1.75rem;
}

.hero-video-overlay-ani-4 {
  margin-top: 30px;
  font-size: 1.5rem;
  opacity: 0;
  animation: fadeInUp 3s ease-out 8s forwards;
  pointer-events: auto;
}

.hero-video-overlay-ani-5 {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  opacity: 0;
  animation: fadeInUp 1s ease-out 4s forwards;
  pointer-events: none;
}

.opening-hours-banner {
  background: #191919;
  color: white;
  font-size: 1rem;
  text-align: center;
  padding: 1rem 2rem;
  clip-path: polygon(0 0, 100% 10%, 100% 100%, 0% 100%);
  backdrop-filter: blur(6px);
  font-weight: 500;
}

/* Keyframes für die Underline */
@keyframes underlineGrow {
  from {
    width: 0;
  }
  to {
    width: 100%;
  }
}
/* Keyframes für Fade-In + Slide-Up */
@keyframes fadeInUp {
  0% {
    opacity: 0;
    transform: translateY(20px);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}
@keyframes logoFadeInOut {
  0% {
    opacity: 0;
    transform: translateX(-50%) translateY(0px);
  }
  10% {
    opacity: 1;
    transform: translateX(-50%) translateY(0);
  }
  70% {
    opacity: 1;
    transform: translateX(-50%) translateY(0);
  }
  100% {
    opacity: 0;
    transform: translateX(-50%) translateY(0px);
  }
}
/* _base.scss */
/********************************************************************************************************
Hero Video
*********************************************************************************************************/
.button-dezent-main {
  display: inline-block;
  padding: 0.75rem 1.5rem;
  font-size: 1.1rem;
  color: #fff !important;
  background-color: #31acdc;
  border: none;
  border-radius: 0px;
  text-decoration: none;
  transition: background-color 0.3s ease, transform 0.3s ease;
  z-index: 50;
  text-align: center;
}
.button-dezent-main:hover {
  background-color: #e96c1f;
  transform: translateY(0px);
}

.button-dezent-main-fullwidth {
  display: inline-block;
  width: 100%;
  padding: 0.75rem 0;
  color: #fff !important;
  background-color: #31acdc;
  border: none;
  border-radius: 0px;
  text-decoration: none;
  transition: background-color 0.3s ease, transform 0.3s ease;
  z-index: 50;
  text-align: center;
}
.button-dezent-main-fullwidth:hover {
  background-color: #e96c1f;
  transform: translateY(0px);
}

.content-box .button-dezent-main-fullwidth {
  margin-top: 25px;
}

.button-dezent-second {
  display: inline-block;
  padding: 0.75rem 1.5rem;
  font-size: 1.1rem;
  color: white;
  background-color: #e67e22;
  border: none;
  border-radius: 0px;
  text-decoration: none;
  transition: background-color 0.3s ease, transform 0.3s ease;
  z-index: 50;
  text-align: center;
}
.button-dezent-second:hover {
  background-color: #e96c1f;
  transform: translateY(-2px);
}

/********************************************************************************************************
Formulare
*********************************************************************************************************/
.widget-submit button {
  background-color: #31acdc;
  color: white;
  border: none;
  padding: 0.75rem 1.5rem;
  font-size: 1rem;
  border-radius: 4px;
  cursor: pointer;
}
.widget-submit button:hover {
  background-color: rgb(31.6597510373, 142.9211618257, 186.3402489627);
}

/********************************************************************************************************
Buchungs widget
*********************************************************************************************************/
.ticket-widget {
  display: inline-block;
  width: 100%;
  padding: 0.75rem 0;
  color: #fff !important;
  background-color: #e67e22;
  border: none;
  border-radius: 0px;
  text-decoration: none;
  transition: background-color 0.3s ease, transform 0.3s ease;
  z-index: 50;
  text-align: center;
  cursor: pointer;
}
.ticket-widget:hover {
  background-color: #31acdc;
  transform: translateY(0px);
}

.ticket-widget-verfuegbarkeit {
  display: inline-block;
  width: 100%;
  padding: 0.75rem 0;
  color: #fff !important;
  background-color: #31acdc;
  border: none;
  border-radius: 0px;
  text-decoration: none;
  transition: background-color 0.3s ease, transform 0.3s ease;
  z-index: 50;
  text-align: center;
  cursor: pointer;
}
.ticket-widget-verfuegbarkeit:hover {
  background-color: #e96c1f;
  transform: translateY(0px);
}

/********************************************************************************************************
Button Faces
*********************************************************************************************************/
#reload-faces-btn {
  display: inline-block;
  padding: 0.75rem 1.5rem;
  font-size: 1.1rem;
  color: #fff !important;
  background-color: #31acdc;
  border: none;
  border-radius: 0px;
  text-decoration: none;
  transition: background-color 0.3s ease, transform 0.3s ease;
  z-index: 50;
  text-align: center;
  cursor: pointer;
}
#reload-faces-btn:hover {
  background-color: #e96c1f;
  transform: translateY(0px);
}

/********************************************************************************************************
Blog
*********************************************************************************************************/
.mod_newsreader .back a {
  display: inline-block;
  padding: 0.75rem 1.5rem;
  font-size: 1.1rem;
  color: #fff !important;
  background-color: #31acdc;
  border: none;
  border-radius: 0px;
  text-decoration: none;
  transition: background-color 0.3s ease, transform 0.3s ease;
  z-index: 50;
  text-align: center;
  cursor: pointer;
  margin-top: 25px;
}
.mod_newsreader .back a:hover {
  background-color: #e96c1f;
  transform: translateY(0px);
}

/********************************************************************************************************
Google Maps
*********************************************************************************************************/
.google_maps {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  text-decoration: none;
  font-weight: 600;
  color: #31acdc;
}
.google_maps img {
  width: 24px;
  height: auto;
  display: block;
}
.google_maps:hover {
  opacity: 0.8;
}

/* _base.scss */
/********************************************************************************************************
Boxdesign
*********************************************************************************************************/
.card-wrapper {
  position: relative;
}

.shadow-right {
  position: absolute;
  top: 30px;
  left: 30px;
  width: 100%;
  height: 100%;
  background-color: #31acdc;
  border-radius: 0px;
  z-index: 0;
}

.shadow-left {
  position: absolute;
  top: 30px;
  left: -30px;
  width: 100%;
  height: 100%;
  background-color: #e67e22;
  border-radius: 0px;
  z-index: 0;
}

.card {
  position: relative;
  background: #fff;
  border-radius: 0px;
  padding: 30px;
  z-index: 1;
  display: flex;
  flex-direction: column;
  height: 100%;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.3);
}

.card img {
  width: 100%;
  border-radius: 0px;
  object-fit: cover;
  margin-bottom: 1rem;
  box-shadow: 0 10px 10px rgba(0, 0, 0, 0.3);
}

.card h3 {
  margin: 0 0 0.5rem 0;
  font-size: 1.25rem;
}

.card p {
  font-size: 1rem;
  line-height: 1.5;
  flex-grow: 1;
}

/********************************************************************************************************
Next Steps
*********************************************************************************************************/
.next-steps {
  margin-top: 75px;
}
.next-steps .info {
  font-size: 1.5rem;
}
.next-steps .grid-item {
  position: relative;
  overflow: hidden;
  border-radius: 0px;
  cursor: pointer;
}
.next-steps .grid-item .item-link {
  position: absolute;
  inset: 0;
  display: block;
  z-index: 3;
  text-indent: -9999px;
  background: transparent;
}
.next-steps .grid-item .image-wrapper {
  aspect-ratio: 1/1;
  width: 100%;
  overflow: hidden;
}
.next-steps .grid-item .image-wrapper img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 0.4s ease;
}
.next-steps .grid-item h2,
.next-steps .grid-item p {
  position: absolute;
  left: 1rem;
  right: 1rem;
  color: white;
  text-shadow: 0 0 5px rgba(0, 0, 0, 0.4);
  margin: 0;
  transition: opacity 0.3s ease;
  z-index: 2;
  pointer-events: none;
}
.next-steps .grid-item h2 {
  top: 2rem;
  font-size: 1.5rem;
}
.next-steps .grid-item p {
  bottom: 2rem;
  text-align: center;
}
.next-steps .grid-item .arrow {
  position: absolute;
  top: 1.2rem;
  right: 1.2rem;
  font-size: 2.5rem;
  color: #31acdc;
  opacity: 0;
  transform: translateX(-5px);
  transition: opacity 0.3s ease, transform 0.3s ease;
  pointer-events: none;
  z-index: 2;
}
.next-steps .grid-item:hover img {
  transform: scale(1.05);
}
.next-steps .grid-item:hover .arrow {
  opacity: 1;
  transform: translateX(0);
}

/********************************************************************************************************
Gesichter des Friedens
*********************************************************************************************************/
/* ==================== Faces – Gesichter des Friedens ==================== */
.faces-wrapper {
  margin-top: 2rem;
}
.faces-wrapper .face-entry {
  text-align: center;
}
.faces-wrapper .face-entry .face-image {
  width: auto;
  height: 400px;
  object-fit: cover;
  border-radius: 6px;
  display: block;
  object-position: center;
  margin: 0 auto;
}
.faces-wrapper .face-entry .face-name {
  margin-top: 1rem;
  font-weight: 600;
  font-size: 1.1rem;
}
.faces-wrapper .face-entry .face-origin {
  color: #e67e22;
  margin-bottom: 0.5rem;
}
.faces-wrapper .face-entry .face-text {
  font-size: 0.95rem;
  line-height: 1.5;
}
.faces-wrapper #reload-faces-btn {
  display: block;
  margin: 2rem auto 0;
}

/********************************************************************************************************
Standard
*********************************************************************************************************/
.mod_breadcrumb {
  font-size: 0.875rem;
  color: #999;
  margin-bottom: 1rem;
}
.mod_breadcrumb ul {
  list-style: none;
  padding: 0 !important;
  margin: 0 !important;
  display: flex;
  flex-wrap: wrap;
}
.mod_breadcrumb ul li {
  display: flex;
  align-items: center;
  white-space: nowrap;
}
.mod_breadcrumb ul li::after {
  content: "→";
  margin: 0 0.4rem;
  color: #ccc;
}
.mod_breadcrumb ul li:last-child::after {
  content: none;
}
.mod_breadcrumb ul li a {
  color: #31acdc;
  text-decoration: none;
}
.mod_breadcrumb ul li a:hover {
  text-decoration: underline;
}
.mod_breadcrumb ul li.active {
  color: #31acdc;
}
.mod_breadcrumb ul li:first-child {
  display: none;
}

/* _base.scss */
/********************************************************************************************************
Boxdesign
*********************************************************************************************************/
.list-underline {
  list-style: none;
  margin: 0;
  padding: 0;
}
.list-underline li {
  display: flex;
  justify-content: space-between;
  padding: 0.75rem 0;
  border-bottom: 1px solid #31acdc;
}
.list-underline li .left,
.list-underline li .right {
  display: inline-block;
}

.content-text ul {
  list-style-type: disc;
  padding-left: 1.5rem;
  margin: 1rem 0;
}
@media (max-width: 1200px) {
  .content-text ul {
    padding-left: 1.5rem;
  }
}
.content-text ul li {
  margin-bottom: 0.5rem;
}

.partner-gold {
  font-size: 1.5rem;
}

.partner-purple {
  font-size: 1.3rem;
}

.partner-gold h2,
.partner-purple h2,
.partner-white h2 {
  padding: 50px 0 0 0;
  margin: 0;
}

.partner-gold .grid-list {
  text-align: center;
}

.partner-gold .grid-list.row,
.partner-purple .grid-list.row,
.partner-white .grid-list.row {
  gap: 0 1.25rem;
}

/* Standard: alle Items haben unten eine Linie */
.grid-list .grid-list__item {
  border-bottom: 2px solid var(--line, #31acdc);
  min-height: 75px;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
}

/* Letzte Reihe: unten keine Linie */
@media (max-width: 767.98px) {
  .grid-list .grid-list__item.no-border-m {
    border-bottom: none;
  }
}
@media (min-width: 768px) and (max-width: 1199.98px) {
  .grid-list .grid-list__item.no-border-t {
    border-bottom: none;
  }
}
@media (min-width: 1200px) {
  .grid-list .grid-list__item.no-border-d {
    border-bottom: none;
  }
}
.mitwirkende .left {
  font-weight: bold;
}

/********************************************************************************************************
Liste Freunde
*********************************************************************************************************/
/* kein Spalten-Gap in dieser Reihe */
.row.grid-list.freunde {
  gap: 0;
}

/* Abstand/Trennlinien zwischen den Karten */
.grid-list.freunde .grid-list__item {
  padding: 18px 0;
  border-top: 1px solid rgba(0, 0, 0, 0.12);
  border-bottom: none;
}

.grid-list.freunde .grid-list__item:first-child {
  border-top: 0;
}

/* Karte: 2 Spalten – Text links, Logo rechts (fixe Breite) */
.grid-list.freunde .partner-card {
  display: grid;
  grid-template-columns: 1fr 260px; /* statt minmax → exakte Ausrichtung */
  align-items: center;
  gap: 20px;
  text-decoration: none;
  width: 100%;
}

/* Text links */
.grid-list.freunde .partner-text {
  font-size: 1.125rem;
  line-height: 1.35;
  margin: 0;
  color: var(--text, #1a1a1a);
}

/* Logo-Spalte: horizontal & vertikal zentrieren */
.grid-list.freunde .partner-logo {
  justify-self: center;
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 72px;
}

/* Logo-Bild: sauber skalieren + float sicher deaktivieren */
.grid-list.freunde .partner-logo img,
.grid-list.freunde .grid-list__image {
  display: block;
  float: none; /* <- wichtig gegen geerbte float-Regeln */
  max-height: 72px;
  max-width: 100%;
  height: auto;
  width: auto;
  margin: 0;
  object-fit: contain;
  filter: grayscale(100%);
  opacity: 0.9;
  transition: filter 0.2s ease, opacity 0.2s ease, transform 0.15s ease;
}

/* Hover (nur bei Links) */
.grid-list.freunde a.partner-card:hover .partner-logo img {
  filter: none;
  opacity: 1;
  transform: scale(1.02);
}

/* Mobile: untereinander zentriert */
@media (max-width: 767px) {
  .grid-list.freunde .partner-card {
    grid-template-columns: 1fr; /* stapeln */
    text-align: center;
  }
  .grid-list.freunde .partner-logo {
    justify-self: center;
  }
  .grid-list.freunde .partner-text {
    margin-bottom: 10px;
  }
}
/* _base.scss */
/********************************************************************************************************
Akkordeon
*********************************************************************************************************/
.content-accordion {
  border-top: 1px solid #31acdc;
  font-size: 1.125rem;
  line-height: 1.5rem;
}
.content-accordion .content-text {
  padding-top: 0;
}

.handorgel__header {
  margin: 0;
  padding: 0;
  position: relative;
  border-bottom: 1px solid #31acdc;
  background-color: #f4f4f4;
  transition: background-color 0.3s ease;
}
.handorgel__header:hover {
  background-color: #eaeaea;
}
.handorgel__header::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 1rem;
  transform: translateY(-50%) rotate(45deg);
  border: solid #31acdc;
  border-width: 0 2px 2px 0;
  padding: 4px;
  transition: transform 0.3s ease;
}
.handorgel__header--opened::after {
  transform: translateY(-50%) rotate(-135deg);
}
.handorgel__header .handorgel__header__button {
  all: unset;
  width: 100%;
  padding: 1rem;
  font-weight: 600;
  font-size: 1.125rem;
  line-height: 1.5rem;
  text-align: left;
  cursor: pointer;
}

.handorgel__content {
  overflow: hidden;
  background: #fff;
  border-bottom: 1px solid #31acdc;
  transition: height 0.3s ease;
}
.handorgel__content__inner {
  padding: 1rem 1rem 1.5rem;
}
/* _base.scss */
/********************************************************************************************************
Formulardesign
*********************************************************************************************************/
.ce_form {
  padding: 2rem;
  background: #f9f9f9;
  border-radius: 0px;
  margin-top: 50px;
}
@media (max-width: 768px) {
  .ce_form {
    padding: 1rem;
  }
}
.ce_form .formbody {
  display: grid;
  gap: 1.5rem;
}
.ce_form .widget {
  display: flex;
  flex-direction: column;
}
.ce_form .widget label {
  margin-bottom: 0.5rem;
}
.ce_form .widget input,
.ce_form .widget select,
.ce_form .widget textarea {
  padding: 0.5rem 0.75rem;
  border: 1px solid #ccc;
  border-radius: 0px;
  font-family: "swizalight", sans-serif;
  width: 100%;
  box-sizing: border-box;
}
.ce_form .widget input:focus,
.ce_form .widget select:focus,
.ce_form .widget textarea:focus {
  border-color: #31acdc;
  outline: none;
}
.ce_form .widget input::placeholder,
.ce_form .widget select::placeholder,
.ce_form .widget textarea::placeholder {
  color: #ccc;
  font-family: "swizalight", sans-serif;
  opacity: 1;
}
.ce_form .widget textarea {
  resize: vertical;
}
.ce_form p {
  padding: 1rem 0 0.25rem;
  border-top: 1px solid #31acdc;
  margin-top: 1rem;
}

/* _base.scss */
/********************************************************************************************************
Blog Liste
*********************************************************************************************************/
.mod_newslist {
  margin-top: 50px;
}

.blog-entry {
  background: white;
  border-radius: 0px;
  box-shadow: 0 3px 10px rgba(0, 0, 0, 0.1);
  overflow: hidden;
  display: flex;
  flex-direction: column;
  height: 100%;
}
.blog-entry .blog-image-wrapper {
  position: relative;
  aspect-ratio: 3/2;
  overflow: hidden;
  padding: 1rem;
}
.blog-entry .blog-image-wrapper .image-inner {
  position: relative;
  width: 100%;
  height: 100%;
  box-sizing: border-box;
  transition: padding 0.5s ease, transform 0.5s ease;
  transform-origin: bottom center;
  will-change: transform;
}
.blog-entry .blog-image-wrapper .image-inner img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 0px;
  display: block;
  min-height: 325px;
}
@media (max-width: 768px) {
  .blog-entry .blog-image-wrapper .image-inner img {
    min-height: 500px;
  }
}
@media (max-width: 500px) {
  .blog-entry .blog-image-wrapper .image-inner img {
    min-height: 310px;
  }
}
.blog-entry .blog-image-wrapper .blog-category {
  position: absolute;
  bottom: 0rem;
  left: 1rem;
  background: #31acdc;
  color: white;
  padding: 0.25rem 0.5rem;
  font-size: 0.875rem;
  border-radius: 0px;
  z-index: 2;
}
.blog-entry .blog-image-wrapper:hover .image-inner {
  padding: 0;
  transform: scale(1.1);
}
.blog-entry .blog-content {
  padding: 0 1rem 1rem 1rem;
  display: flex;
  flex-direction: column;
  flex-grow: 1;
}
.blog-entry .blog-content .blog-date {
  font-size: 0.875rem;
  margin-bottom: 0.5rem;
}
.blog-entry .blog-content .blog-title {
  margin-bottom: 0.5rem;
}
.blog-entry .blog-content .blog-title a {
  font-size: 1.5rem;
  text-decoration: none;
  color: #191919;
  font-family: "swizalight", sans-serif;
}
.blog-entry .blog-content .blog-teaser {
  font-size: 0.95rem;
  flex-grow: 1;
}
.blog-entry .blog-content .blog-more {
  margin-top: 0.75rem;
  font-weight: 600;
  font-size: 0.9rem;
  color: #31acdc;
}
.blog-entry .blog-content .blog-more a {
  color: #31acdc;
}
.blog-entry .blog-content .blog-more::after {
  content: " »";
}

/* ===== Galerie: einheitliche Kachelhöhen ===== */
.content-gallery > ul {
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
  list-style: none;
  margin: 25px 0 0;
  padding: 0;
}

.content-gallery > ul > li {
  width: calc((100% - 11 * 1.25rem) / 12 * 6 + (5) * 1.25rem);
  flex: 0 0 auto;
  flex: 0 0 auto;
}

@media (min-width: 768px) {
  .content-gallery > ul > li {
    width: calc((100% - 11 * 1.25rem) / 12 * 4 + (3) * 1.25rem);
    flex: 0 0 auto;
  }
}
@media (min-width: 1024px) {
  .content-gallery > ul > li {
    width: calc((100% - 11 * 1.25rem) / 12 * 3 + (2) * 1.25rem);
    flex: 0 0 auto;
  }
}
/* Kachel steuern wir über FIGURE (gibt’s immer) */
.content-gallery > ul > li > figure {
  margin: 0;
  position: relative;
  aspect-ratio: 3/2; /* einheitliche Höhe */
  overflow: hidden;
  border-radius: 0px;
}

/* Anker oder Container dürfen die Höhe nicht sprengen */
.content-gallery > ul > li > figure > a,
.content-gallery > ul > li > figure > .image_container {
  display: block;
  height: 100%;
}

/* Bild füllt die Kachel vollflächig, zentriert */
.content-gallery > ul > li > figure img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover; /* sauberer Zuschnitt */
  object-position: center; /* Motiv zentriert */
  display: block;
  transition: transform 0.4s ease;
}

.content-gallery > ul > li > figure:hover img {
  transform: scale(1.05);
}

/* Caption separat, damit sie die Höhe nicht verändert */
.content-gallery figcaption {
  margin-top: 0.5rem;
}

