/* cmsms stylesheet: reset modified: Donnerstag, 11. September 2025 18:39:24 */
/* reset */


html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary, time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline;
}
/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section, main {
  display: block;
}
body {
  line-height: 1;
}
ol, ul {
  list-style: none;
}
blockquote, q {
  quotes: none;
}
blockquote:before, blockquote:after, q:before, q:after {
  content: '';
  content: none;
}
table {
  border-collapse: collapse;
  border-spacing: 0;
}
/* cmsms stylesheet: style modified: Donnerstag, 18. September 2025 16:48:24 */
/* style */


@font-face {
  font-family: 'Montserrat mediumitalic';
  src: url('https://silke-hartstang.eu/fonts/Montserrat-MediumItalic.eot');
  src: url('https://silke-hartstang.eu/fonts/Montserrat-MediumItalic.eot?#iefix') format('embedded-opentype'), url('https://silke-hartstang.eu/fonts/Montserrat-MediumItalic.woff2') format('woff2'), url('https://silke-hartstang.eu/fonts/Montserrat-MediumItalic.woff') format('woff'), url('https://silke-hartstang.eu/fonts/Montserrat-MediumItalic.svg#Montserrat-MediumItalic') format('svg');
  font-style: italic;
  font-display: swap;
}
@font-face {
  font-family: 'Montserrat medium';
  src: url('https://silke-hartstang.eu/fonts/Montserrat-Medium.eot');
  src: url('https://silke-hartstang.eu/fonts/Montserrat-Medium.eot?#iefix') format('embedded-opentype'), url('https://silke-hartstang.eu/fonts/Montserrat-Medium.woff2') format('woff2'), url('https://silke-hartstang.eu/fonts/Montserrat-Medium.woff') format('woff'), url('https://silke-hartstang.eu/fonts/Montserrat-Medium.svg#Montserrat-Medium') format('svg');
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'Montserrat bold';
  src: url('https://silke-hartstang.eu/fonts/Montserrat-Bold.eot');
  src: url('https://silke-hartstang.eu/fonts/Montserrat-Bold.eot?#iefix') format('embedded-opentype'), url('https://silke-hartstang.eu/fonts/Montserrat-Bold.woff2') format('woff2'), url('https://silke-hartstang.eu/fonts/Montserrat-Bold.woff') format('woff'), url('https://silke-hartstang.eu/fonts/Montserrat-Bold.svg#Montserrat-Bold') format('svg');
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'Montserrat black';
  src: url('https://silke-hartstang.eu/fonts/Montserrat-Black.eot');
  src: url('https://silke-hartstang.eu/fonts/Montserrat-Black.eot?#iefix') format('embedded-opentype'), url('https://silke-hartstang.eu/fonts/Montserrat-Black.woff2') format('woff2'), url('https://silke-hartstang.eu/fonts/Montserrat-Black.woff') format('woff'), url('https://silke-hartstang.eu/fonts/Montserrat-Black.svg#Montserrat-Black') format('svg');
  font-style: normal;
  font-display: swap;
}

hr {
  border-bottom-color: white;
  border-bottom-style: solid;
  border-bottom-width: 1px;
}
/* -------------------------------- 

Primary style

-------------------------------- */
html, body { overscroll-behavior: none; }
html * {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;	
}
*, *:after, *:before {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}
body {
  font-size: 100%;
  font-family: "Montserrat medium", sans-serif;
  color: #3d3536;
  background-color: #800957;
}
body, html {
  /* important */
  height: 100%;
}
a {
  color: inherit;
  text-decoration: none;
  font-weight: 500;
}
strong {
	  font-family: "Montserrat black", sans-serif;
  /*font-weight: bold;*/
}
/* -------------------------------- 

Modules - reusable parts of our design

-------------------------------- */
.cd-container {
  /* this class is used to give a max-width to the element it is applied to, and center it horizontally when it reaches that max-width */
  width: 90%;
  max-width: 968px;
  margin: 0 auto;
}
.cd-container::after {
  /* clearfix */
  content: '';
  display: table;
  clear: both;
padding-bottom: 50px;
}





/* -------------------------------- 

Main components 

-------------------------------- */
header {
  position: absolute;
  top: 0;
  left: 0;
  height: 50px;
  width: 100%;
  background: #4e6361;
  z-index: 3;
  /* Force Hardware Acceleration in WebKit */
  -webkit-transform: translateZ(0);
  -webkit-backface-visibility: hidden;
  -webkit-transition-property: -webkit-transform;
  -moz-transition-property: -moz-transform;
  transition-property: transform;
  -webkit-transition-duration: 0.4s;
  -moz-transition-duration: 0.4s;
  transition-duration: 0.4s;
}
header.lateral-menu-is-open {
  /* translate to show the lateral menu */
  -webkit-transform: translateX(-300px);
  -moz-transform: translateX(-300px);
  -ms-transform: translateX(-300px);
  -o-transform: translateX(-300px);
  transform: translateX(-300px);
}
header.is-fixed {
  position: fixed;
}
@media only screen and (min-width: 768px) {
  header {
    height: 70px;
  }
}
.cd-header {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 50px;
  background: rgba(255, 255, 255, 0.95);
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.2);
  z-index: 101;
  -webkit-box-shadow: 0px 0px 25px 5px rgba(0, 0, 0, 0.8);
  box-shadow: 0px 0px 25px 5px rgba(0, 0, 0, 0.8);
}
.cd-header:after {
  content: "";
  display: table;
  clear: both;
}
.cd-header #cd-logo {
  float: left;
  margin: 6px 0 0 1%;
}
.cd-header #cd-logo img {
  display: block;
}
@media only screen and (min-width: 768px) {
  .cd-header {
    height: 70px;
  }
  .cd-header #cd-logo {
    margin: 10px 0 0 1%;
  }
}
.cd-main-content {
  /* you need to assign a min-height to the main content so that the children can inherit it*/
  height: 100%;
  position: relative;
  z-index: 1;
}
.cd-fixed-bg {
position: relative;
  min-height: 100%;
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center center;
  z-index: 1;
}
.cd-fixed-bg h1, .cd-fixed-bg h2 {
  position: absolute;
  left: 50%;
  top: 50%;
  bottom: auto;
  right: auto;
  -webkit-transform: translateX(-50%) translateY(-50%);
  -moz-transform: translateX(-50%) translateY(-50%);
  -ms-transform: translateX(-50%) translateY(-50%);
  -o-transform: translateX(-50%) translateY(-50%);
  transform: translateX(-50%) translateY(-50%);
  width: 90%;
  max-width: 1170px;
  text-align: center;
  font-size: 30px;
  font-size: 1.875rem;
  text-shadow: 0 1px 3px rgba(0, 0, 0, 0.3);
  color: white;
}


@media only screen and (min-width: 768px) {
  .cd-fixed-bg h1, .cd-fixed-bg h2 {
    font-size: 36px;
  }
}
@media only screen and (min-width: 1170px) {
  .cd-fixed-bg {
    background-attachment: fixed;
  }
  .cd-fixed-bg h1, .cd-fixed-bg h2 {
    font-size: 40px;
    font-weight: 100;
	  word-wrap: normal;
  }
}





.cd-scrolling-bg {
  position: relative;
  /*min-height: 100%;*/
  padding: 4em 0;
  line-height: 1.6;
  box-shadow: 0 0 50px rgba(0, 0, 0, 1);
  z-index: 2;
}

@media only screen and (min-width: 768px) {
  .cd-scrolling-bg {
    padding: 4em 0;
    font-size: 18px;
    font-size: 1.1rem;
    /*line-height: 2;*/
    font-weight: 300;
  }
}

@media only screen and (max-width: 700px) {
  .passend {
    width: 85% !important
  }
}
/* cmsms stylesheet: animsition modified: Dienstag, 16. September 2025 16:33:15 */
/* animsition */


.animsition,
.animsition-overlay {
  position: relative;
  opacity: 0;
  animation-fill-mode: both;
}

/**
 * overlay option
 */
.animsition-overlay-slide {
  position: fixed;
  z-index: 1;
  width: 100%;
  height: 100%;
  background-color: #ddd;
}
 /* loading option */
.animsition-loading,
.animsition-loading:after {
  width: 32px;
  height: 32px;
  position: fixed;
  top: 50%;
  left: 50%;
  margin-top: -16px;
  margin-left: -16px;
  border-radius: 50%;
  z-index: 2000;
}

.animsition-loading {
  background-color: transparent;
  border-top: 5px solid rgba(0, 0, 0, 0.2);
  border-right: 5px solid rgba(0, 0, 0, 0.2);
  border-bottom: 5px solid rgba(0, 0, 0, 0.2);
  border-left: 5px solid #eee;
  transform: translateZ(0);
  animation-iteration-count:infinite;
  animation-timing-function: linear;
  animation-duration: .8s;
  animation-name: animsition-loading;
}

@keyframes animsition-loading {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}
@keyframes fade-in {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}


.fade-in {
  animation-name: fade-in;
}


@keyframes fade-out {
  0% {
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}


.fade-out {
  animation-name: fade-out;
}
/* cmsms stylesheet: bilder-farben modified: Freitag, 30. Oktober 2026 17:36:37 */
/* bilder-farben */

.cd-fixed-bg.cd-bg-startseite {
  background-image: url("https://silke-hartstang.eu/uploads/images/content/startseite-neu.jpg");
}
.cd-fixed-bg.cd-bg-vita {
  background-image: url("https://silke-hartstang.eu/uploads/images/content/cd-background-6.jpg");
  background-position: center top;
}
.cd-fixed-bg.cd-bg-konzerttaetigkeit {
  background-image: url("https://silke-hartstang.eu/uploads/images/content/konzerttaetigkeit.jpg");
  background-position: center top;
}
.cd-fixed-bg.cd-bg-vita {
  background-image: url("https://silke-hartstang.eu/uploads/images/content/vita.jpg");
  background-position: left top;
}
.cd-fixed-bg.cd-bg-opernhaeuser-theater {
  background-image: url("https://silke-hartstang.eu/uploads/images/content/opernhaeuser-theater.jpg");
  background-position: right top;
}
.cd-fixed-bg.cd-bg-freie-produktionen {
  background-image: url("https://silke-hartstang.eu/uploads/images/content/freie-produktionen.jpg");
  background-position: right top;
}
.cd-fixed-bg.cd-bg-ensembles{
  background-image: url("https://silke-hartstang.eu/uploads/images/content/ensembles-duos.jpg");
  background-position: right top;
}
.cd-fixed-bg.cd-bg-termine {
  background-image: url("https://silke-hartstang.eu/uploads/images/content/termine.jpg");
  background-position: right top;
}
.cd-fixed-bg.cd-bg-book-me {
  background-image: url("https://silke-hartstang.eu/uploads/images/content/book-me.jpg");
  background-position: right top;
}
.cd-fixed-bg.cd-bg-referenzen {
  background-image: url("https://silke-hartstang.eu/uploads/images/content/referenzen.jpg");
  background-position: right top;
}
.cd-fixed-bg.cd-bg-repertoire {
  background-image: url("https://silke-hartstang.eu/uploads/images/content/repertoire.jpg");
  background-position: right top;
}
.cd-fixed-bg.cd-bg-oper {
  background-image: url("https://silke-hartstang.eu/uploads/images/content/classical-styles.jpg");
  background-position: right top;
}
.cd-fixed-bg.cd-bg-operette {
  background-image: url("https://silke-hartstang.eu/uploads/images/content/classical-styles.jpg");
  background-position: right top;
}
.cd-fixed-bg.cd-bg-oratorium-messe {
  background-image: url("https://silke-hartstang.eu/uploads/images/content/classical-styles.jpg");
  background-position: right top;
}
.cd-fixed-bg.cd-bg-kantaten {
  background-image: url("https://silke-hartstang.eu/uploads/images/content/classical-styles.jpg");
  background-position: right top;
}
.cd-fixed-bg.cd-bg-liedkammer-musik {
  background-image: url("https://silke-hartstang.eu/uploads/images/content/classical-styles.jpg");
  background-position: right top;
}
.cd-fixed-bg.cd-bg-musical {
  background-image: url("https://silke-hartstang.eu/uploads/images/content/classical-styles.jpg");
  background-position: right top;
}
.cd-fixed-bg.cd-bg-filmmusik {
  background-image: url("https://silke-hartstang.eu/uploads/images/content/classical-styles.jpg");
  background-position: right top;
}
.cd-fixed-bg.cd-bg-eigene-programme {
  background-image: url("https://silke-hartstang.eu/uploads/images/content/classical-styles.jpg");
  background-position: right top;
}


.cd-scrolling-bg.cd-color-startseite {
  background-color: #7a3c80;
  color: white;
}
.cd-scrolling-bg.cd-color-vita {
  background-color: #8d9e58;
  color: white;
}
.cd-scrolling-bg.cd-color-konzerttaetigkeit {
  background-color: #bf1837;
  color: white;
}
.cd-scrolling-bg.cd-color-opernhaeuser-theater {
  background-color: #779bc3;
  color: white;
}
.cd-scrolling-bg.cd-color-freie-produktionen {
  background-color: #9fa256;
  color: white;
}
.cd-scrolling-bg.cd-color-ensembles{
  background-color: #8067c4f2;
  color: white;
}

.cd-scrolling-bg.cd-color-book-me {
  background-color: #800957;
  color: white;
}

.cd-scrolling-bg.cd-color-termine {
  background-color: #170153f2;
  color: white;
}
.cd-scrolling-bg.cd-color-4 {
  background-color: #131217;
  color: white;
}
.cd-scrolling-bg.cd-color-5 {
  background-color: #170153f2;
  color: white;
}
.cd-scrolling-bg.cd-color-footer {
  background-color: #c64353;
  color: white;
}

.cd-scrolling-bg.cd-color-referenzen {
  background-color: #8e0d20;
  color: white;
}

.cd-scrolling-bg.cd-color-repertoire {
  background-color: #425b06;
  color: white;
}
.cd-scrolling-bg.cd-color-oper {
  background-color: #ce622e;
  color: white;
}
.cd-scrolling-bg.cd-color-operette {
  background-color: #ce622e;
  color: white;
}
.cd-scrolling-bg.cd-color-oratorium-messe {
  background-color: #593a2b;
  color: white;
}
.cd-scrolling-bg.cd-color-kantaten {
  background-color: #ce622e;
  color: white;
}
.cd-scrolling-bg.cd-color-liedkammer-musik {
  background-color: #ce622e;
  color: white;
}
.cd-scrolling-bg.cd-color-musical {
  background-color: #ce622e;
  color: white;
}
.cd-scrolling-bg.cd-color-filmmusik {
  background-color: #ce622e;
  color: white;
}
.cd-scrolling-bg.cd-color-eigene-programme  {
  background-color: #ce622e;
  color: white;
}

/* Hintergrundbild aus der Vorlage »background«: Bild und Position kommen als CSS-Variablen am Element */
.cd-fixed-bg.cd-fixed-bg-bild {
  background-image: var(--bild);
  background-size: cover;
  background-repeat: no-repeat;
  background-position: var(--bild-pos, center center);
}
@media (max-width: 640px) {
  .cd-fixed-bg.cd-fixed-bg-bild {
    background-image: var(--bild-m, var(--bild));
    background-position: var(--bild-pos-m, var(--bild-pos, center center));
  }
}
/* cmsms stylesheet: addons modified: Freitag, 30. Oktober 2026 17:36:24 */
/* addons */


.weiter {
  position: absolute;
  bottom: 0;
  padding-bottom: 30px;
  text-align: center;
  width: 100%;
  background: url(https://silke-hartstang.eu/uploads/images/geruest/weiter.svg) no-repeat center 50%;
  text-indent: 100%;
  overflow: hidden;
}
.platt {
  min-height: auto;
}
h1 > img.passend {
  border-radius: 25px;
}
@media only screen and (max-width: 768px) {
  .cd-scrolling-bg {
    padding: 4em 0;
    font-size: 16px;
    font-size: 0.8rem;
    /*line-height: 2;*/
    font-weight: 300;
  }
  .logotop {
    width: 50% !important;
    height: auto;
  }
}
@media only screen and (max-width: 600px) {
  .logotop {
    width: 260px !important;
    height: auto;
  }
}
.cd-scrolling-bg.cd-color-red {
  background-color: #8e0d20;
  color: white;
}
.responsive-video {
  position: relative;
  padding-bottom: 56.25%; /* 16:9 Aspect Ratio */
  padding-top: 25px;
  height: 0;
}
.responsive-video iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.hoeher {
  top: 55% !important;
}
.hoeherstart {
  top: 60% !important;
}
.logotop {
  width: 60%;
  height: auto;
}
@media only screen and (min-width: 710px) {
  .passend {
    width: 400px !important;
  }
}
/* Navigations-Unterseite aktiv */
.sub-menu .menuactive {
  font-weight: bold;
}
#kontakt {
  position: relativ;
  bottom: 0;
}
/* Anti-Jump auf kleinen Viewports */
@media (max-width: 768px){
  /* GLightbox-eigenes Overflow-Locking ausschalten */
  html.glightbox-open,
  body.glightbox-open {
    overflow: visible !important;
    height: auto !important;
    overscroll-behavior: none !important; /* kein Scroll-Chaining */
  }

  /* evtl. global gesetztes Smooth-Scroll ausbremsen */
  html { scroll-behavior: auto !important; }
}




.cd-container > p, .cd-container > h1, .news {
color: #fff;
line-height: 1.6;
}
.cd-container > h1 {
font-weight: 600;
}

em {
font-style: italic;
}
.headstart {
font-size: 0.5em;
color: #793b80;
text-shadow: none;
}

details > summary {
  cursor: pointer;
}
/* Nur für Screenreader und Suchmaschinen sichtbar */
.unsichtbar {
  position: absolute !important;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

/* Breite Bildschirme: Inhalt samt Fotos in einer zentrierten Spalte von 1200 px (Stefan, 30.10.2026, wie Belcanto).
   Der weiße Kopfstreifen bleibt über die volle Breite, Logo und Menü stehen in der Spalte.
   Die Fotos richten sich nach der Spalte; mit background-attachment: fixed würden sie weiter
   auf Bildschirmgröße gerechnet und nur ausgeschnitten. */
@media only screen and (min-width: 1200px) {
  .cd-main-content {
    max-width: 1200px;
    margin: 0 auto;
    box-shadow: 0 0 40px rgba(0, 0, 0, 0.5);
  }
  .cd-header #cd-logo {
    margin-left: calc((100% - 1200px) / 2);
  }
  .cd-header #cd-menu-trigger {
    right: calc((100% - 1200px) / 2);
  }
  a.cd-top {
    right: calc((100% - 1200px) / 2 + 10px);
  }
}

/* Folgeseiten: Titelbild in festem Format, Überschrift als Band darunter (Stefan, 30.10.2026, wie Belcanto) */
.cd-fixed-bg.cd-fixed-bg-bild {
  min-height: 0;
  aspect-ratio: 4 / 3;
  background-attachment: scroll;
}
.titelband {
  position: relative;
  z-index: 2;
  margin: 0;
  padding: 0.7em 5%;
  background: #800957;
  color: #fff;
  font-size: 1.6rem;
  font-weight: 100;
  line-height: 1.25;
  text-align: center;
  overflow-wrap: break-word;
}
@media only screen and (min-width: 768px) {
  .cd-fixed-bg.cd-fixed-bg-bild {
    aspect-ratio: 16 / 9;
  }
  .titelband {
    font-size: 40px;
  }
}

/* Keine Schatten innerhalb des Inhalts, nur links und rechts der Spalte (Stefan, 30.10.2026, wie Belcanto) */
.cd-scrolling-bg {
  box-shadow: none;
}

/* Titelbild ab Tablet-Breite im Seitenverhältnis 16:9 statt in voller Bildschirmhöhe */
@media only screen and (min-width: 768px) {
  .cd-fixed-bg {
    background-attachment: scroll;
    min-height: 0;
    aspect-ratio: 16 / 9;
  }
}
/* Handy hochkant: Startbild im Querformat wie auf den anderen Seiten (ganzes Bild, Seitenverhältnis
   des Fotos 1600 × 1207), Logo und Unterzeile darunter auf dem Band (Stefan, 30.10.2026, wie Belcanto) */
@media only screen and (max-width: 767px) {
  .cd-fixed-bg.cd-bg-startseite {
    min-height: 0;
    /* 50 px: der feste Kopfstreifen liegt über dem oberen Rand */
    padding-top: calc(50px + 75.44%);
    background-size: 100% auto;
    background-position: center 50px;
    background-color: #800957;
  }
  .cd-bg-startseite .hoeherstart {
    position: static !important;
    transform: none !important;
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    box-sizing: border-box;
    padding: 1.2em 5% !important;
    border-radius: 0 !important;
    background: none !important;
  }
  .cd-bg-startseite .passend {
    max-width: 400px;
  }
  /* Pfeil nach unten am unteren Bildrand statt am Ende des Bandes */
  .cd-bg-startseite .weiter {
    left: 0;
    top: calc(50px + 75.44vw);
    bottom: auto;
    transform: translateY(-100%);
  }
  /* Unterzeile lesbar: mindestens 14 px */
  .cd-bg-startseite .headstart {
    color: #fff;
    font-size: 14px !important;
    line-height: 1.5 !important;
    text-wrap: balance;
  }
}

/* Schmale Handys: überlange Wörter (z. B. »Unterricht/Fortbildungen/Workshops/Kurse«) dürfen
   umbrechen statt die Seite zu verbreitern; E-Mail-Adressen werden nie getrennt */
.cd-container {
  overflow-wrap: break-word;
}
.cd-container a[href^="mailto:"] {
  white-space: nowrap;
}

/* Cookie-Hinweis in allen Breiten: nie breiter als der Bildschirm (Rahmen eingerechnet),
   Knopf mit Touch-Höhe 44 px */
.cookie-bubble.bottom-left {
  box-sizing: border-box;
  width: calc(100% - 40px);
}
.cookie-bubble .cb-wrapper .cb-row .agreement-btn {
  min-height: 44px;
  padding: 0 20px;
}
.cookie-bubble .cb-wrapper .cb-row .agreement-btn:focus-visible {
  outline: 3px solid #fff;
  outline-offset: 2px;
}
@media only screen and (max-width: 400px) {
  .cookie-bubble.bottom-left {
    right: 10px;
    bottom: 10px;
    width: calc(100% - 20px);
  }
}

/* Menü: legt sich über die Seite, der Kopf mit dem Logo bleibt in allen Breiten stehen (Stefan,
   30.10.2026; vorher wurde der ganze Kopf um 300 px verschoben). Nur das Menü-Symbol, das zum
   Schließen-X wird, rückt neben das Menü, auf breiten Bildschirmen nur so weit wie nötig. */
header.cd-header.lateral-menu-is-open {
  transform: none;
}
.cd-header #cd-menu-trigger {
  transition: right 0.4s;
}
.cd-header #cd-menu-trigger.is-clicked {
  right: 300px;
}
@media only screen and (min-width: 1200px) {
  .cd-header #cd-menu-trigger.is-clicked {
    right: max((100% - 1200px) / 2, 300px);
  }
}
/* Schmale Handys (unter 350 px): Das Menü (sonst 300 px) lässt links 50 px für das Schließen-X frei. */
@media only screen and (max-width: 349px) {
  nav#cd-lateral-nav {
    width: calc(100% - 50px);
    transform: translateX(100%);
  }
  nav#cd-lateral-nav.lateral-menu-is-open {
    transform: translateX(0);
  }
  .cd-header #cd-menu-trigger.is-clicked {
    right: calc(100% - 50px);
  }
}
/* Handy: Bei offenem Menü ist kaum Platz neben dem Menü; das Logo blendet aus, statt unter dem
   Schließen-X und dem halbdurchsichtigen Menü durchzuscheinen. */
@media only screen and (max-width: 767px) {
  .cd-header #cd-logo {
    transition: opacity 0.3s;
  }
  header.cd-header.lateral-menu-is-open #cd-logo {
    opacity: 0;
  }
}
/* cmsms stylesheet: navstyle modified: Mittwoch, 17. September 2025 09:40:02 */
/* navstyle */

.cd-img-replace {
  display: inline-block;
  overflow: hidden;
  text-indent: 100%;
  white-space: nowrap;
}
.overflow-hidden {
  overflow: hidden;
}
.cd-main-content {
  min-height: 100%;
  z-index: 2;
  -webkit-backface-visibility: hidden;
  -webkit-transition-property: -webkit-transform;
  -moz-transition-property: -moz-transform;
  transition-property: transform;
  -webkit-transition-duration: 0.4s;
  -moz-transition-duration: 0.4s;
  transition-duration: 0.4s;
}
@media only screen and (min-width: 768px) {
  .cd-main-content { }
}
#cd-top-nav {
  position: absolute;
  top: 0;
  right: 120px;
  height: 100%;
  display: none;
}
#cd-top-nav ul {
  height: 100%;
  padding-top: 18px;
}
#cd-top-nav li {
  display: inline-block;
  margin-right: 1em;
}
#cd-top-nav a {
  display: inline-block;
  padding: .5em;
  color: #FFF;
  text-transform: uppercase;
  font-weight: 600;
}
#cd-top-nav a.current {
  background-color: #242e30;
}
.no-touch #cd-top-nav a:hover {
  color: rgba(255, 255, 255, 0.7);
}
@media only screen and (min-width: 768px) {
  #cd-top-nav { display: block; }
}
#cd-menu-trigger {
  position: absolute;
  right: 0;
  top: 0;
  height: 100%;
  width: 50px;
}
#cd-menu-trigger .cd-menu-text {
  height: 100%;
  text-transform: uppercase;
  color: black;
  font-weight: 500;
  display: none;
}
#cd-menu-trigger .cd-menu-icon {
  display: inline-block;
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%,-50%);
  width: 18px;
  height: 2px;
  background-color: black;
}
#cd-menu-trigger .cd-menu-icon::before,
#cd-menu-trigger .cd-menu-icon::after {
  content: '';
  width: 100%;
  height: 100%;
  position: absolute;
  background-color: inherit;
  left: 0;
}
#cd-menu-trigger .cd-menu-icon::before { bottom: 5px; }
#cd-menu-trigger .cd-menu-icon::after { top: 5px; }
#cd-menu-trigger.is-clicked .cd-menu-icon {
  background-color: transparent;
}
#cd-menu-trigger.is-clicked .cd-menu-icon::before,
#cd-menu-trigger.is-clicked .cd-menu-icon::after {
  background-color: black;
}
#cd-menu-trigger.is-clicked .cd-menu-icon::before {
  bottom: 0;
  transform: rotate(45deg);
}
#cd-menu-trigger.is-clicked .cd-menu-icon::after {
  top: 0;
  transform: rotate(-45deg);
}
@media only screen and (min-width: 768px) {
  #cd-menu-trigger {
    width: 110px;
    padding-left: 1.25em;
  }
  #cd-menu-trigger .cd-menu-text {
    display: inline-block;
    line-height: 74px;
  }
  #cd-menu-trigger .cd-menu-icon {
    left: auto;
    right: 1.25em;
    transform: translateX(0);
  }
}
#cd-lateral-nav {
  position: fixed;
  height: 100%;
  right: 0;
  top: 0;
  visibility: hidden;
  z-index: 105;
  width: 300px;
  background-color: rgba(108,74,107,0.95);
  overflow-y: auto;
  transform: translateX(300px);
  box-shadow: 0 0 15px 5px rgba(0,0,0,0.7);
  transition: transform .4s 0s, visibility 0s .4s;
}
#cd-lateral-nav .cd-navigation {
  margin: 10px 0 16px;
}

/* === HORIZONTALE TRENNLINIEN (Top-Level) === */
#cd-lateral-nav .cd-navigation > li {
  border-top: 1px solid rgba(255,255,255,0.25);
  margin: 0;
}
#cd-lateral-nav .cd-navigation > li:first-child {
  border-top: none;
}
#cd-lateral-nav .sub-menu > li { border: 0; }

/* Submenu-Indent: nur links, rechts fluchtet */
#cd-lateral-nav .sub-menu {
  padding: 0 0 0 15px;
}

#cd-lateral-nav a {
  display: block;
  line-height: 2em;
  padding: 0 16px;
  color: white;
  font-weight: 400;
}
#cd-lateral-nav a.current {
  background-color: #3a4a4d;
  color: #FFF;
}
.no-touch #cd-lateral-nav a:hover { color: #FFF; }
@media only screen and (min-width: 768px) {
  #cd-lateral-nav .cd-navigation { margin: 20px 0; }
}
#cd-lateral-nav.lateral-menu-is-open {
  transform: translateX(0);
  visibility: visible;
  transition: transform .4s 0s, visibility 0s 0s;
  -webkit-overflow-scrolling: touch;
}

/* === ARROW HANDLING === */
#cd-lateral-nav .item-has-children > a {
  position: relative;
  text-transform: uppercase;
}
#cd-lateral-nav .item-has-children > a::after {
  content: '';
  display: block;
  height: 11px;
  width: 8px;
  position: absolute;
  top: 50%;
  right: 16px; /* gleiche Flucht für alle Ebenen */
  transform: translateY(-50%);
  background: url("https://silke-hartstang.eu/uploads/images/geruest/cd-arrow.svg") no-repeat center center;
  background-size: 8px 11px;
  transition: transform 0.2s;
  will-change: transform;
}
/* Rotation für ALLE offenen Menüpunkte */
#cd-lateral-nav li.submenu-open > a::after {
  transform: translateY(-50%) rotate(90deg);
}

#cd-lateral-nav .socials {
  padding: 0 32px;
}
#cd-lateral-nav .socials:after {
  content: "";
  display: table;
  clear: both;
}
#cd-lateral-nav .socials a {
  height: 32px;
  width: 32px;
  float: left;
  background-image: url("../img/cd-socials.svg");
  background-repeat: no-repeat;
  background-size: 128px 64px;
  background-color: #FFF;
  margin-right: .5em;
  border-radius: .25em;
}
#cd-lateral-nav .socials a.cd-twitter { background-position: 0 0; }
#cd-lateral-nav .socials a.cd-github { background-position: -32px 0; }
#cd-lateral-nav .socials a.cd-facebook { background-position: -64px 0; }
#cd-lateral-nav .socials a.cd-google { background-position: -96px 0; }
.no-touch #cd-lateral-nav .socials a:hover { background-color: #4e6361; }
.no-touch #cd-lateral-nav .socials a:hover.cd-twitter { background-position: 0 -32px; }
.no-touch #cd-lateral-nav .socials a:hover.cd-github { background-position: -32px -32px; }
.no-touch #cd-lateral-nav .socials a:hover.cd-facebook { background-position: -64px -32px; }
.no-touch #cd-lateral-nav .socials a:hover.cd-google { background-position: -96px -32px; }

/* Menü-Logik */
#cd-lateral-nav .cd-navigation .sub-menu { display: none !important; }
#cd-lateral-nav nav > ul,
#cd-lateral-nav .cd-navigation { }
#cd-lateral-nav .cd-navigation li.submenu-open > .sub-menu {
  display: block !important;
  visibility: visible !important;
  height: auto !important;
  overflow: visible !important;
}
#cd-lateral-nav .cd-navigation li.submenu-open li.submenu-open > .sub-menu {
  display: block !important;
}
#cd-lateral-nav .cd-navigation li.menuactive > a,
#cd-lateral-nav .cd-navigation a.menuactive,
#cd-lateral-nav .cd-navigation li.menuparent > a,
#cd-lateral-nav .cd-navigation li.submenu-open > a {
  font-weight: 700;
}
/* cmsms stylesheet: scrolltotop modified: Donnerstag, 11. September 2025 18:40:04 */
/* scrolltotop */


.cd-top {
	display: inline-block;
	height: 40px;
	width: 40px;
	position: fixed;
	bottom: 15px;
	right: 15px;
	/* image replacement properties */
	overflow: hidden;
	text-indent: 100%;
	white-space: nowrap;
	background: rgba(0, 0, 0, 1) url(https://silke-hartstang.eu/uploads/images/geruest/cd-top-arrow.svg) no-repeat center 50%;
	visibility: hidden;
	opacity: 0;
	-webkit-transition: opacity .3s 0s, visibility 0s .3s;
	-moz-transition: opacity .3s 0s, visibility 0s .3s;
	transition: opacity .3s 0s, visibility 0s .3s;
	border-bottom-style: none!important;
	z-index: 1100;
border-radius: 10px;
}
.cd-top.cd-is-visible, .cd-top.cd-fade-out, .no-touch .cd-top:hover {
	-webkit-transition: opacity .3s 0s, visibility 0s 0s;
	-moz-transition: opacity .3s 0s, visibility 0s 0s;
	transition: opacity .3s 0s, visibility 0s 0s;
}
.cd-top.cd-is-visible {
	/* the button becomes visible */
	visibility: visible;
	opacity: 1;
	border-bottom-style: none!important;
	box-shadow: 0px 0px 19px 0px #000;
}
.cd-top.cd-fade-out {
	/* if the user keeps scrolling down, the button is out of focus and becomes less visible */
	opacity: .7;
}
/* cmsms stylesheet: gallery modified: Donnerstag, 11. September 2025 18:38:26 */
/* gallery */


.glightbox-container {
  width: 100%;
  height: 100%;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 999999 !important;
  overflow: hidden;
  -ms-touch-action: none;
  touch-action: none;
  -webkit-text-size-adjust: 100%;
  -moz-text-size-adjust: 100%;
  -ms-text-size-adjust: 100%;
  text-size-adjust: 100%;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  outline: none;
}
.glightbox-container.inactive {
  display: none;
}
.glightbox-container .gcontainer {
  position: relative;
  width: 100%;
  height: 100%;
  z-index: 9999;
  overflow: hidden;
}
.glightbox-container .gslider {
  -webkit-transition: -webkit-transform 0.4s ease;
  transition: -webkit-transform 0.4s ease;
  transition: transform 0.4s ease;
  transition: transform 0.4s ease, -webkit-transform 0.4s ease;
  height: 100%;
  left: 0;
  top: 0;
  width: 100%;
  position: relative;
  overflow: hidden;
  display: -webkit-box !important;
  display: -ms-flexbox !important;
  display: flex !important;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);
}
.glightbox-container .gslide {
  width: 100%;
  position: absolute;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  opacity: 0;
}
.glightbox-container .gslide.current {
  opacity: 1;
  z-index: 99999;
  position: relative;
}
.glightbox-container .gslide.prev {
  opacity: 1;
  z-index: 9999;
}
.glightbox-container .gslide-inner-content {
  width: 100%;
}
.glightbox-container .ginner-container {
  position: relative;
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  max-width: 100%;
  margin: auto;
  height: 100vh;
}
.glightbox-container .ginner-container.gvideo-container {
  width: 100%;
}
.glightbox-container .ginner-container.desc-bottom, .glightbox-container .ginner-container.desc-top {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
}
.glightbox-container .ginner-container.desc-left, .glightbox-container .ginner-container.desc-right {
  max-width: 100% !important;
}
.gslide iframe, .gslide video {
  outline: none !important;
  border: none;
  min-height: 165px;
  -webkit-overflow-scrolling: touch;
  -ms-touch-action: auto;
  touch-action: auto;
}
.gslide:not(.current) {
  pointer-events: none;
}
.gslide-image {
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}
.gslide-image img {
  max-height: 100vh;
  display: block;
  padding: 0;
  float: none;
  outline: none;
  border: none;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  max-width: 100vw;
  width: auto;
  height: auto;
  -o-object-fit: cover;
  object-fit: cover;
  -ms-touch-action: none;
  touch-action: none;
  margin: auto;
  min-width: 200px;
}
.desc-top .gslide-image img, .desc-bottom .gslide-image img {
  width: auto;
}
.desc-left .gslide-image img, .desc-right .gslide-image img {
  width: auto;
  max-width: 100%;
}
.gslide-image img.zoomable {
  position: relative;
}
.gslide-image img.dragging {
  cursor: -webkit-grabbing !important;
  cursor: grabbing !important;
  -webkit-transition: none;
  transition: none;
}
.gslide-video {
  position: relative;
  max-width: 100vh;
  width: 100% !important;
}
.gslide-video .plyr__poster-enabled.plyr--loading .plyr__poster {
  display: none;
}
.gslide-video .gvideo-wrapper {
  width: 100%;
  /* max-width: 160vmin; */
  margin: auto;
}
.gslide-video::before {
  content: '';
  position: absolute;
  width: 100%;
  height: 100%;
  background: rgba(255, 0, 0, 0.34);
  display: none;
}
.gslide-video.playing::before {
  display: none;
}
.gslide-video.fullscreen {
  max-width: 100% !important;
  min-width: 100%;
  height: 75vh;
}
.gslide-video.fullscreen video {
  max-width: 100% !important;
  width: 100% !important;
}
.gslide-inline {
  background: #fff;
  text-align: left;
  max-height: calc(100vh - 40px);
  overflow: auto;
  max-width: 100%;
  margin: auto;
}
.gslide-inline .ginlined-content {
  padding: 20px;
  width: 100%;
}
.gslide-inline .dragging {
  cursor: -webkit-grabbing !important;
  cursor: grabbing !important;
  -webkit-transition: none;
  transition: none;
}
.ginlined-content {
  overflow: auto;
  display: block !important;
  opacity: 1;
}
.gslide-external {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 100%;
  min-width: 100%;
  background: #fff;
  padding: 0;
  overflow: auto;
  max-height: 75vh;
  height: 100%;
}
.gslide-media {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: auto;
}
.zoomed .gslide-media {
  -webkit-box-shadow: none !important;
  box-shadow: none !important;
}
.desc-top .gslide-media, .desc-bottom .gslide-media {
  margin: 0 auto;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
}
.gslide-description {
  position: relative;
  -webkit-box-flex: 1;
  -ms-flex: 1 0 100%;
  flex: 1 0 100%;
}
.gslide-description.description-left, .gslide-description.description-right {
  max-width: 100%;
}
.gslide-description.description-bottom, .gslide-description.description-top {
  margin: 0 auto;
  width: 100%;
}
.gslide-description p {
  margin-bottom: 12px;
}
.gslide-description p:last-child {
  margin-bottom: 0;
}
.zoomed .gslide-description {
  display: none;
}
.glightbox-button-hidden {
  display: none;
}
/*
 * Description for mobiles
 * something like facebook does the description
 * for the photos
*/
.glightbox-mobile .glightbox-container .gslide-description {
  height: auto !important;
  width: 100%;
  position: absolute;
  bottom: 0;
  padding: 19px 11px;
  max-width: 100vw !important;
  -webkit-box-ordinal-group: 3 !important;
  -ms-flex-order: 2 !important;
  order: 2 !important;
  max-height: 78vh;
  overflow: auto !important;
  background: -webkit-gradient(linear, left top, left bottom, from(rgba(0, 0, 0, 0)), to(rgba(0, 0, 0, 0.75)));
  background: linear-gradient(to bottom, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.75) 100%);
  -webkit-transition: opacity 0.3s linear;
  transition: opacity 0.3s linear;
  padding-bottom: 50px;
}
.glightbox-mobile .glightbox-container .gslide-title {
  color: #fff;
  font-size: 1em;
}
.glightbox-mobile .glightbox-container .gslide-desc {
  color: #a1a1a1;
}
.glightbox-mobile .glightbox-container .gslide-desc a {
  color: #fff;
  font-weight: bold;
}
.glightbox-mobile .glightbox-container .gslide-desc * {
  color: inherit;
}
.glightbox-mobile .glightbox-container .gslide-desc .desc-more {
  color: #fff;
  opacity: 0.4;
}
.gdesc-open .gslide-media {
  -webkit-transition: opacity 0.5s ease;
  transition: opacity 0.5s ease;
  opacity: 0.4;
}
.gdesc-open .gdesc-inner {
  padding-bottom: 30px;
}
.gdesc-closed .gslide-media {
  -webkit-transition: opacity 0.5s ease;
  transition: opacity 0.5s ease;
  opacity: 1;
}
.greset {
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
.gabsolute {
  position: absolute;
}
.grelative {
  position: relative;
}
.glightbox-desc {
  display: none !important;
}
.glightbox-open {
  overflow: hidden;
}
.gloader {
  height: 25px;
  width: 25px;
  -webkit-animation: lightboxLoader 0.8s infinite linear;
  animation: lightboxLoader 0.8s infinite linear;
  border: 2px solid #fff;
  border-right-color: transparent;
  border-radius: 50%;
  position: absolute;
  display: block;
  z-index: 9999;
  left: 0;
  right: 0;
  margin: 0 auto;
  top: 47%;
}
.goverlay {
  width: 100%;
  height: calc(100vh + 1px);
  position: fixed;
  top: -1px;
  left: 0;
  background: #000;
  will-change: opacity;
}
.glightbox-mobile .goverlay {
  background: #000;
}
.gprev, .gnext, .gclose {
  z-index: 99999;
  cursor: pointer;
  width: 26px;
  height: 44px;
  border: none;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
}
.gprev svg, .gnext svg, .gclose svg {
  display: block;
  width: 25px;
  height: auto;
  margin: 0;
  padding: 0;
}
.gprev.disabled, .gnext.disabled, .gclose.disabled {
  opacity: 0.1;
}
.gprev .garrow, .gnext .garrow, .gclose .garrow {
  stroke: #fff;
}
.gbtn.focused {
  outline: 2px solid #0f3d81;
}
iframe.wait-autoplay {
  opacity: 0;
}
.glightbox-closing .gnext, .glightbox-closing .gprev, .glightbox-closing .gclose {
  opacity: 0 !important;
}
/*Skin */
.glightbox-clean .gslide-description {
  background: #fff;
}
.glightbox-clean .gdesc-inner {
  padding: 22px 20px;
}
.glightbox-clean .gslide-title {
  font-size: 1em;
  font-weight: normal;
  font-family: arial;
  color: #000;
  /*margin-bottom: 19px;*/
  line-height: 1.4em;
}
.glightbox-clean .gslide-desc {
  font-size: 0.86em;
  margin-bottom: 0;
  font-family: arial;
  line-height: 1.4em;
}
.glightbox-clean .gslide-video {
  background: #000;
}
.glightbox-clean .gprev, .glightbox-clean .gnext, .glightbox-clean .gclose {
  background-color: rgba(0, 0, 0, 0.75);
  border-radius: 4px;
}
.glightbox-clean .gprev path, .glightbox-clean .gnext path, .glightbox-clean .gclose path {
  fill: #fff;
}
.glightbox-clean .gprev {
  position: absolute;
  top: -100%;
  left: 30px;
  width: 40px;
  height: 50px;
}
.glightbox-clean .gnext {
  position: absolute;
  top: -100%;
  right: 30px;
  width: 40px;
  height: 50px;
}
.glightbox-clean .gclose {
  width: 35px;
  height: 35px;
  top: 15px;
  right: 10px;
  position: absolute;
}
.glightbox-clean .gclose svg {
  width: 18px;
  height: auto;
}
.glightbox-clean .gclose:hover {
  opacity: 1;
}
/*CSS Animations*/
.gfadeIn {
  -webkit-animation: gfadeIn 0.5s ease;
  animation: gfadeIn 0.5s ease;
}
.gfadeOut {
  -webkit-animation: gfadeOut 0.5s ease;
  animation: gfadeOut 0.5s ease;
}
.gslideOutLeft {
  -webkit-animation: gslideOutLeft 0.3s ease;
  animation: gslideOutLeft 0.3s ease;
}
.gslideInLeft {
  -webkit-animation: gslideInLeft 0.3s ease;
  animation: gslideInLeft 0.3s ease;
}
.gslideOutRight {
  -webkit-animation: gslideOutRight 0.3s ease;
  animation: gslideOutRight 0.3s ease;
}
.gslideInRight {
  -webkit-animation: gslideInRight 0.3s ease;
  animation: gslideInRight 0.3s ease;
}
.gzoomIn {
  -webkit-animation: gzoomIn 0.5s ease;
  animation: gzoomIn 0.5s ease;
}
.gzoomOut {
  -webkit-animation: gzoomOut 0.5s ease;
  animation: gzoomOut 0.5s ease;
}
@-webkit-keyframes lightboxLoader {
  0% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}
@keyframes lightboxLoader {
  0% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}
@-webkit-keyframes gfadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@keyframes gfadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@-webkit-keyframes gfadeOut {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
  }
}
@keyframes gfadeOut {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
  }
}
@-webkit-keyframes gslideInLeft {
  from {
    opacity: 0;
    -webkit-transform: translate3d(-60%, 0, 0);
    transform: translate3d(-60%, 0, 0);
  }
  to {
    visibility: visible;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
    opacity: 1;
  }
}
@keyframes gslideInLeft {
  from {
    opacity: 0;
    -webkit-transform: translate3d(-60%, 0, 0);
    transform: translate3d(-60%, 0, 0);
  }
  to {
    visibility: visible;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
    opacity: 1;
  }
}
@-webkit-keyframes gslideOutLeft {
  from {
    opacity: 1;
    visibility: visible;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
  to {
    -webkit-transform: translate3d(-60%, 0, 0);
    transform: translate3d(-60%, 0, 0);
    opacity: 0;
    visibility: hidden;
  }
}
@keyframes gslideOutLeft {
  from {
    opacity: 1;
    visibility: visible;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
  to {
    -webkit-transform: translate3d(-60%, 0, 0);
    transform: translate3d(-60%, 0, 0);
    opacity: 0;
    visibility: hidden;
  }
}
@-webkit-keyframes gslideInRight {
  from {
    opacity: 0;
    visibility: visible;
    -webkit-transform: translate3d(60%, 0, 0);
    transform: translate3d(60%, 0, 0);
  }
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
    opacity: 1;
  }
}
@keyframes gslideInRight {
  from {
    opacity: 0;
    visibility: visible;
    -webkit-transform: translate3d(60%, 0, 0);
    transform: translate3d(60%, 0, 0);
  }
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
    opacity: 1;
  }
}
@-webkit-keyframes gslideOutRight {
  from {
    opacity: 1;
    visibility: visible;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
  to {
    -webkit-transform: translate3d(60%, 0, 0);
    transform: translate3d(60%, 0, 0);
    opacity: 0;
  }
}
@keyframes gslideOutRight {
  from {
    opacity: 1;
    visibility: visible;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
  to {
    -webkit-transform: translate3d(60%, 0, 0);
    transform: translate3d(60%, 0, 0);
    opacity: 0;
  }
}
@-webkit-keyframes gzoomIn {
  from {
    opacity: 0;
    -webkit-transform: scale3d(0.3, 0.3, 0.3);
    transform: scale3d(0.3, 0.3, 0.3);
  }
  to {
    opacity: 1;
  }
}
@keyframes gzoomIn {
  from {
    opacity: 0;
    -webkit-transform: scale3d(0.3, 0.3, 0.3);
    transform: scale3d(0.3, 0.3, 0.3);
  }
  to {
    opacity: 1;
  }
}
@-webkit-keyframes gzoomOut {
  from {
    opacity: 1;
  }
  50% {
    opacity: 0;
    -webkit-transform: scale3d(0.3, 0.3, 0.3);
    transform: scale3d(0.3, 0.3, 0.3);
  }
  to {
    opacity: 0;
  }
}
@keyframes gzoomOut {
  from {
    opacity: 1;
  }
  50% {
    opacity: 0;
    -webkit-transform: scale3d(0.3, 0.3, 0.3);
    transform: scale3d(0.3, 0.3, 0.3);
  }
  to {
    opacity: 0;
  }
}
@media (min-width: 769px) {
  .glightbox-container .ginner-container {
    width: auto;
    height: auto;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    flex-direction: row;
  }
  .glightbox-container .ginner-container.desc-top .gslide-description {
    -webkit-box-ordinal-group: 1;
    -ms-flex-order: 0;
    order: 0;
  }
  .glightbox-container .ginner-container.desc-top .gslide-image, .glightbox-container .ginner-container.desc-top .gslide-image img {
    -webkit-box-ordinal-group: 2;
    -ms-flex-order: 1;
    order: 1;
  }
  .glightbox-container .ginner-container.desc-left .gslide-description {
    -webkit-box-ordinal-group: 1;
    -ms-flex-order: 0;
    order: 0;
  }
  .glightbox-container .ginner-container.desc-left .gslide-image {
    -webkit-box-ordinal-group: 2;
    -ms-flex-order: 1;
    order: 1;
  }
  .gslide-image img {
    max-height: 97vh;
    max-width: 100%;
  }
  .gslide-image img.zoomable {
    cursor: -webkit-zoom-in;
    cursor: zoom-in;
  }
  .zoomed .gslide-image img.zoomable {
    cursor: -webkit-grab;
    cursor: grab;
  }
  .gslide-inline {
    max-height: 95vh;
  }
  .gslide-external {
    max-height: 100vh;
  }
  .gslide-description.description-left, .gslide-description.description-right {
    max-width: 275px;
  }
  .glightbox-open {
    height: auto;
  }
  .goverlay {
    background: rgba(0, 0, 0, 0.92);
  }
  .glightbox-clean .gslide-media {
    -webkit-box-shadow: 1px 2px 9px 0px rgba(0, 0, 0, 0.65);
    box-shadow: 1px 2px 9px 0px rgba(0, 0, 0, 0.65);
  }
  .glightbox-clean .description-left .gdesc-inner, .glightbox-clean .description-right .gdesc-inner {
    position: absolute;
    height: 100%;
    overflow-y: auto;
  }
  .glightbox-clean .gprev, .glightbox-clean .gnext, .glightbox-clean .gclose {
    background-color: rgba(0, 0, 0, 0.32);
  }
  .glightbox-clean .gprev:hover, .glightbox-clean .gnext:hover, .glightbox-clean .gclose:hover {
    background-color: rgba(0, 0, 0, 0.7);
  }
  .glightbox-clean .gprev {
    top: 45%;
  }
  .glightbox-clean .gnext {
    top: 45%;
  }
}
@media (min-width: 992px) {
  .glightbox-clean .gclose {
    opacity: 0.7;
    right: 20px;
  }
}
@media screen and (max-height: 420px) {
  .goverlay {
    background: #000;
  }
}
/* cmsms stylesheet: galleryaddon modified: Freitag, 30. Oktober 2026 17:36:50 */
/* galleryaddon */

/* 1) Lightbox: Bilder/Videos immer ~75% der Höhe, ohne Vollhöhe */
.glightbox-container .gslide-image img,
.glightbox-container .gslide-media img,
.glightbox-container .gslide-media video {
  height: 75vh !important;     /* erzwingt ~75% Viewporthöhe */
  max-height: none !important;  /* überschreibt 97vh aus dem Default */
  width: auto !important;       /* Proportion wahren */
  max-width: 90vw;              /* nicht breiter als 90% der Viewportbreite */
  object-fit: contain;          /* kein Beschnitt in der Lightbox */
  display: block;
  margin: 0 auto;
}

/* (Optional) Caption besser lesbar */
.glightbox-container .gdesc-inner {
  font-size: 0.95rem;
  line-height: 1.4;
  text-align: center;
  padding: 10px 14px;
}

/* 2) Galerie-Thumbnails: Grid, gleichmäßige Quadrate */
.gallery .box-container {
  display: grid !important;
  grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
  gap: 16px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.gallery .box,
.gallery .box .inner {
  float: none !important;
  width: auto !important;
}
.gallery .box .inner a {
  display: block;
  width: 100%;
  aspect-ratio: 1 / 1;   /* alle Kacheln gleich hoch */
  overflow: hidden;
  border-radius: 6px;     /* optional */
}
.gallery .box .inner a img {
  width: 100%;
  height: 100%;
  object-fit: cover;      /* Zuschnitt für gleichmäßige Thumbs */
  display: block;
}
.gallery .box .inner a:hover img {
  transform: scale(1.02);
  transition: transform 0.2s ease;
}
@media (max-width: 900px) {
  .gallery .box-container { grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); }
}
@media (max-width: 600px) {
  .gallery .box-container { grid-template-columns: repeat(auto-fill, minmax(130px, 1fr)); }
}

/* 3) Abstand unter dem fixen Header für den Galeriebereich */
.cd-main-content > .cd-container {
  padding-top: 100px;    /* an tatsächliche Headerhöhe anpassen */
}

/* 4) (Optional, aber hilfreich) Scrollbar-Gutter stabil halten, um Layout-Shifts zu vermeiden */
html {
  overflow-y: scroll;
  scrollbar-gutter: stable;
}


/* Cursor-Lupe aus */
.gslide-image img,
.gslide-image img.zoomable {
  cursor: default !important;
}


.gallery > h1,
.gallery > h2 {
color: #fff;
font-weight: 600;
padding-bottom: 20px;
}
.glightbox-container .gslide-image img, .glightbox-container .gslide-media img, .glightbox-container .gslide-media video {
  border-radius: 20px 20px 0 0;
}
.glightbox-clean .gslide-description {
  border-radius: 0 0 20px 20px;
}
/* cmsms stylesheet: cookiebubble modified: Donnerstag, 11. September 2025 18:37:52 */
/* cookiebubble */

.cookie-bubble {
  position: fixed;
  width: 100%;
  max-width: 350px;
  min-height: 100px;
  border-radius: 15px;
  background-color: #007fc7;
  -webkit-box-shadow: 0 2px 15px rgba(0, 0, 0, 1);
  box-shadow: 0 2px 15px rgba(0, 0, 0, 1);
  z-index: 9999;

border-width: 4px;
  border-color: #000;
  border-style: solid;

}
.cookie-bubble.top-left {
  top: 10px;
  left: 10px
}
.cookie-bubble.top-right {
  top: 10px;
  right: 0
}
.cookie-bubble.top-center {
  top: 10px;
  left: calc(100vw - 100vw/2 - 400px/2)
}
.cookie-bubble.bottom-left {
  bottom: 20px;
  right: 20px
}
.cookie-bubble.bottom-right {
  bottom: 10px;
  right: 0
}
.cookie-bubble.bottom-center {
  bottom: 10px;
  left: calc(100vw - 100vw/2 - 400px/2)
}
.cookie-bubble.show.top-center, .cookie-bubble.show.top-left, .cookie-bubble.show.top-right {
  -webkit-animation-name: popInTop;
  animation-name: popInTop;
  -webkit-animation-duration: 2s;
  animation-duration: 2s;
  -webkit-animation-timing-function: cubic-bezier(.19, 1, .22, 1);
  animation-timing-function: cubic-bezier(.19, 1, .22, 1);
  -webkit-animation-fill-mode: forwards;
  animation-fill-mode: forwards
}
.cookie-bubble.show.bottom-center, .cookie-bubble.show.bottom-left, .cookie-bubble.show.bottom-right {
  -webkit-animation-name: popInBottom;
  animation-name: popInBottom;
  -webkit-animation-duration: 2s;
  animation-duration: 2s;
  -webkit-animation-timing-function: cubic-bezier(.19, 1, .22, 1);
  animation-timing-function: cubic-bezier(.19, 1, .22, 1);
  -webkit-animation-fill-mode: forwards;
  animation-fill-mode: forwards
}
.cookie-bubble.hide {
  display: none
}
.cookie-bubble .cb-wrapper {
  position: relative;
  display: inline-block;
  padding: 15px
}
.cookie-bubble .cb-wrapper .cb-row {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  text-align: left
}
.cookie-bubble .cb-wrapper .cb-row .cb-row-content .message {
  position: relative;
  width: 100%;
  display: inline-block;
  color: #fff;
  font-size: 13px;
  margin-top: 0;
line-height: 20px;
}
.cookie-bubble .cb-wrapper .cb-row .cb-row-content .cb-controls {
  position: relative;
  width: 100%;
  float: left;
  margin-top: 10px
}
.cookie-bubble .cb-wrapper .cb-row .cb-image {
  padding-right: 23px
}
.cookie-bubble .cb-wrapper .cb-row .cb-image .cookie-inner-color {
  fill: #00a4ff
}
.cookie-bubble .cb-wrapper .cb-row .cb-image svg {
  width: 75px
}
.cookie-bubble .cb-wrapper .cb-row .agreement-btn {
  margin: 0 10px 0 0;
  text-decoration: none;
  color: #fff;
  background: #000;
  /*padding: 10px 20px;*/
  border-radius: 50px;
  font-size: 14px;
  opacity: 1;
  border: none;
  cursor: pointer;
  text-transform: uppercase;
  font-weight: 600;
  float: left;
	padding: 5px;
}
.cookie-bubble .cb-wrapper .cb-row .agreement-btn:hover {
  background-color: #20773d;
color: #fff!important;
}
.cookie-bubble .cb-wrapper .cb-row .cookie-policy-btn {
  margin: 0;
  color: #000;
  padding: 10px 0;
  border-radius: 100px;
  font-size: 14px;
  opacity: .95;
  border: none;
  cursor: pointer;
  font-weight: 400;
  float: left
}
.cookie-bubble .cb-wrapper .cb-row .cookie-policy-btn:hover {
  opacity: 1;
  text-decoration: underline;
color: #fff!important;
}
.cookieBubble .copyright-wrapper {
  margin-top: 20px
}
.cookieBubble .copyright-wrapper a.copyright {
  position: absolute;
  width: 80px;
  height: 16px;
  bottom: 8px;
  right: 7px;
  margin-top: 30px;
  background-size: cover
}
@-webkit-keyframes popInBottom {
  0% {
    -webkit-transform: translateY(120%);
    transform: translateY(120%)
  }
  100% {
    -webkit-transform: translateY(0);
    transform: translateY(0)
  }
}
@keyframes popInBottom {
  0% {
    -webkit-transform: translateY(120%);
    transform: translateY(120%)
  }
  100% {
    -webkit-transform: translateY(0);
    transform: translateY(0)
  }
}
@-webkit-keyframes popInTop {
  0% {
    -webkit-transform: translateY(-120%);
    transform: translateY(-120%)
  }
  100% {
    -webkit-transform: translateY(0);
    transform: translateY(0)
  }
}
@keyframes popInTop {
  0% {
    -webkit-transform: translateY(-120%);
    transform: translateY(-120%)
  }
  100% {
    -webkit-transform: translateY(0);
    transform: translateY(0)
  }
}
@media (max-width:420px) {
  .cookieBubble {
    border-radius: 0;
    max-width: inherit;
    left: 0 !important;
    bottom: 0 !important
  }
  .cookieBubble .cb-image {
    display: none
  }
}
