.elementor-38363 .elementor-element.elementor-element-5f945f2{padding:0px 0px 0px 0px;}.elementor-38363 .elementor-element.elementor-element-dfcdd60 > .elementor-widget-wrap > .elementor-widget:not(.elementor-widget__width-auto):not(.elementor-widget__width-initial):not(:last-child):not(.elementor-absolute){margin-block-end:0px;}.elementor-38363 .elementor-element.elementor-element-69925b2{z-index:1;}.elementor-38363 .elementor-element.elementor-element-08bfa9f > .elementor-element-populated{padding:10px 60px 10px 10px;}.elementor-38363 .elementor-element.elementor-element-1a61cb8{--spacer-size:50px;}.elementor-38363 .elementor-element.elementor-element-ab8ccbc{z-index:1;}.elementor-38363 .elementor-element.elementor-element-ab8ccbc .rbm-back-link__icon{margin-right:8px;}.elementor-38363 .elementor-element.elementor-element-73f02f6{--spacer-size:30px;}.elementor-widget-heading .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );color:var( --e-global-color-primary );}.elementor-38363 .elementor-element.elementor-element-b37bb60 .elementor-heading-title{font-family:"Roboto", Sans-serif;font-size:50px;font-weight:600;-webkit-text-stroke-color:#000;stroke:#000;}.elementor-38363 .elementor-element.elementor-element-84676f2 .elementor-heading-title{font-family:"Roboto", Sans-serif;font-weight:400;}.elementor-38363 .elementor-element.elementor-element-d4be693 > .elementor-widget-container{margin:15px 0px 0px 0px;padding:0px 40px 0px 0px;}.elementor-widget-theme-post-featured-image .widget-image-caption{color:var( --e-global-color-text );font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-38363 .elementor-element.elementor-element-639e493 > .elementor-widget-container{margin:0px 0px 0px 0px;}.elementor-38363 .elementor-element.elementor-element-639e493 img{border-style:solid;border-width:0px 0px 20px 0px;border-color:var( --e-global-color-secondary );}.elementor-38363 .elementor-element.elementor-element-74c2a95{width:initial;max-width:initial;}.elementor-widget-text-editor{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );color:var( --e-global-color-text );}.elementor-widget-text-editor.elementor-drop-cap-view-stacked .elementor-drop-cap{background-color:var( --e-global-color-primary );}.elementor-widget-text-editor.elementor-drop-cap-view-framed .elementor-drop-cap, .elementor-widget-text-editor.elementor-drop-cap-view-default .elementor-drop-cap{color:var( --e-global-color-primary );border-color:var( --e-global-color-primary );}.elementor-38363 .elementor-element.elementor-element-1432ba0{width:var( --container-widget-width, 687px );max-width:687px;--container-widget-width:687px;--container-widget-flex-grow:0;}.elementor-38363 .elementor-element.elementor-element-1432ba0 > .elementor-widget-container{margin:0px 0px 20px 0px;}.elementor-widget-toggle .elementor-toggle-title, .elementor-widget-toggle .elementor-toggle-icon{color:var( --e-global-color-primary );}.elementor-widget-toggle .elementor-toggle-icon svg{fill:var( --e-global-color-primary );}.elementor-widget-toggle .elementor-tab-title.elementor-active a, .elementor-widget-toggle .elementor-tab-title.elementor-active .elementor-toggle-icon{color:var( --e-global-color-accent );}.elementor-widget-toggle .elementor-toggle-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );}.elementor-widget-toggle .elementor-tab-content{color:var( --e-global-color-text );font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-38363 .elementor-element.elementor-element-ce586f2{width:var( --container-widget-width, 687px );max-width:687px;--container-widget-width:687px;--container-widget-flex-grow:0;}.elementor-38363 .elementor-element.elementor-element-ce586f2 > .elementor-widget-container{margin:0px 0px 90px 0px;border-style:solid;border-width:0px 0px 2px 0px;border-color:var( --e-global-color-primary );border-radius:0px 0px 0px 0px;}.elementor-38363 .elementor-element.elementor-element-ce586f2 .elementor-toggle-title{font-family:"Inter", Sans-serif;font-weight:600;text-decoration:none;}.elementor-38363 .elementor-element.elementor-element-060939b{width:initial;max-width:initial;}.elementor-38363 .elementor-element.elementor-element-cca1322 > .elementor-widget-container{margin:20px 0px 0px 0px;}.elementor-38363 .elementor-element.elementor-element-cca1322 .swiper-wrapper{display:flex;align-items:center;}.elementor-38363 .elementor-element.elementor-element-cca1322 .elementor-image-carousel-caption{text-align:end;font-size:13px;}.elementor-38363 .elementor-element.elementor-element-5d29c47{--spacer-size:90px;}.elementor-38363 .elementor-element.elementor-element-f8b5251{width:initial;max-width:initial;}.elementor-widget-loop-grid .elementor-button{background-color:var( --e-global-color-accent );font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-size:var( --e-global-typography-accent-font-size );font-weight:var( --e-global-typography-accent-font-weight );}.elementor-widget-loop-grid .elementor-pagination{font-family:var( --e-global-typography-secondary-font-family ), Sans-serif;font-weight:var( --e-global-typography-secondary-font-weight );}.elementor-widget-loop-grid .e-load-more-message{font-family:var( --e-global-typography-secondary-font-family ), Sans-serif;font-weight:var( --e-global-typography-secondary-font-weight );}.elementor-38363 .elementor-element.elementor-element-77b5a93{--grid-columns:4;--grid-row-gap:40px;--grid-column-gap:36px;}.elementor-38363 .elementor-element.elementor-element-77b5a93 > .elementor-widget-container{padding:0px 0px 0px 0px;}@media(min-width:768px){.elementor-38363 .elementor-element.elementor-element-08bfa9f{width:50%;}.elementor-38363 .elementor-element.elementor-element-21f89e7{width:50%;}}@media(max-width:1024px){.elementor-38363 .elementor-element.elementor-element-08bfa9f > .elementor-element-populated{padding:10px 30px 10px 10px;}.elementor-38363 .elementor-element.elementor-element-639e493 > .elementor-widget-container{margin:0px 0px 0px 0px;}.elementor-38363 .elementor-element.elementor-element-639e493 img{border-width:0px 0px 13px 0px;}.elementor-widget-loop-grid .elementor-button{font-size:var( --e-global-typography-accent-font-size );}.elementor-38363 .elementor-element.elementor-element-77b5a93{--grid-columns:2;}}@media(max-width:767px){.elementor-38363 .elementor-element.elementor-element-08bfa9f > .elementor-element-populated{padding:10px 10px 10px 10px;}.elementor-38363 .elementor-element.elementor-element-1a61cb8{--spacer-size:1px;}.elementor-38363 .elementor-element.elementor-element-73f02f6{--spacer-size:1px;}.elementor-38363 .elementor-element.elementor-element-d4be693 > .elementor-widget-container{padding:0px 0px 0px 0px;}.elementor-38363 .elementor-element.elementor-element-639e493 > .elementor-widget-container{margin:0px 0px 0px 0px;}.elementor-38363 .elementor-element.elementor-element-639e493 img{border-width:0px 0px 10px 0px;}.elementor-38363 .elementor-element.elementor-element-cca1322 .elementor-image-carousel-caption{font-size:12px;}.elementor-widget-loop-grid .elementor-button{font-size:var( --e-global-typography-accent-font-size );}.elementor-38363 .elementor-element.elementor-element-77b5a93{--grid-columns:1;}}/* Start custom CSS for theme-post-featured-image, class: .elementor-element-639e493 */.elementor-38363 .elementor-element.elementor-element-639e493 * {
    box-shadow: none;
}/* End custom CSS */
/* Start custom CSS for image-carousel, class: .elementor-element-cca1322 */.elementor-image-carousel-caption {
  padding-right: 38px; /* Standardwert für Desktop & Tablet */
}

@media (max-width: 767px) {
  .elementor-image-carousel-caption {
    padding-right: 41px; /* Mobilgeräte */
  }
}/* End custom CSS */
/* Start custom CSS for section, class: .elementor-element-99e318e */.elementor-38363 .elementor-element.elementor-element-99e318e figure {
    box-shadow: 0px 0px 0px 0px;
}/* End custom CSS */
/* Start custom CSS *//* ==================== DEIN ORIGINALES CSS ==================== */
body img {
    box-shadow: 0 0 0 0 !important;    
}
/* Container für rechtsbündige Ausrichtung */
.align-right-block {
    display: flex;
    justify-content: flex-end;
}

/* Gemeinsame Bild- und Balkenstruktur */
.custom-bottom-border {
    position: relative;
    display: inline-block;
}
.custom-bottom-border img {
    display: block;
    width: 100%;
    height: auto;
}
.custom-bottom-border::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 18px;
    background-color: #DC005C;
}
/* Responsive Anpassung der Balkenhöhe */
@media (max-width: 768px) {
    .custom-bottom-border::after { height: 14px; }
}

/* Hover-Container für Spezialbilder mit Overlay-Effekt */
.hover-overlay-effect {
    position: relative;
    display: block;
    overflow: hidden;
    text-decoration: none;
}
.hover-overlay-effect img {
    display: block;
    width: 100%;
    height: auto;
    position: relative;
    z-index: 1;
}
/* fester unterer Balken */
.hover-overlay-effect::before {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    width: 245px;
    height: 8px;
    background-color: #DC005C;
    z-index: 2;
}
/* Overlay */
.hover-overlay-effect::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: var(--hover-color, #DC005D33);
    transition: transform 0.5s ease-in-out;
    transform: translateY(100%);
    z-index: 3;
    pointer-events: none;
}
.hover-overlay-effect:hover::after,
.hover-overlay-effect.hover-active::after {
    transform: translateY(0);
    background: #DC005D4D;
}


/* ==================== ERGÄNZUNG AUS ZWEITEM CSS ==================== */

.event-hover-effect {
    position: relative;
    display: block;
    overflow: hidden;
    text-decoration: none;
    line-height: 0;
    width: 245px;
}
.event-hover-effect img {
    display: block;
    width: 245px;
    height: auto;
    position: relative;
    z-index: 1;
    vertical-align: bottom;
}
.event-hover-effect::before {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 8px;
    background-color: #DC005C;
    z-index: 2;
}
.event-hover-effect::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: var(--hover-color, #DC005D33);
    transition: transform 0.5s ease-in-out;
    transform: translateY(100%);
    z-index: 3;
    pointer-events: none;
}
.event-hover-effect:hover::after,
.event-hover-effect.hover-active::after {
    transform: translateY(0);
    background: #DC005D4D;
}
/* Hover-Effekt auch beim Link mit Klasse hover-trigger */
.hover-trigger:hover ~ .event-hover-effect::after {
    transform: translateY(0);
    background: #DC005D4D;
}

/* Bild mit nur rotem Balken */
.event-redbar {
    position: relative;
    display: block;
    overflow: hidden;
    line-height: 0;
    width: 245px;
}
.event-redbar img {
    display: block;
    width: 245px;
    height: auto;
    position: relative;
    z-index: 1;
    vertical-align: bottom;
}
.event-redbar::before {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    width: 245px;
    height: 8px;
    background-color: #DC005C;
    z-index: 2;
}

/* Feste Breite für Event-Blocks */
.event-block-width { width: 245px !important; }

/* Feste Höhen ab 768px */
@media (min-width: 768px) {
  .event-block-h200 { min-height: 200px; }
  .event-block-h215 { min-height: 215px; }
  .event-block-h245 { min-height: 245px; }
  .event-block-h300 { min-height: 300px; }
}

/* Linkabstand mobil */
@media (max-width: 767px) {
  .details-link-mobile {
    margin-top: -14px;
    margin-left: 0;
    margin-right: 0;
    margin-bottom: 0;
  }
}
/* Volle Breite mobil */
@media (max-width: 767px) {
  .event-block-width,
  .event-redbar,
  .event-hover-effect,
  .event-redbar img,
  .event-hover-effect img,
  .event-redbar::before,
  .event-hover-effect::before,
  .event-hover-effect::after {
    width: 100% !important;
  }
}


/* ==================== EVENT-CARDS: FLEX-LAYOUT + FOOTER ==================== */

.events-row .event-card > .elementor-widget-wrap {
  display: flex;
  flex-direction: column;
  height: 100%;
  --widgets-spacing: 0px; /* Elementor-Spacing aus */
}

/* Footer („Details“) immer unten */
.events-row .event-card .event-footer {
  margin-top: auto !important;
  margin-bottom: 0 !important;
}

/* Einheitlicher Abstand unter Text-Widgets */
.events-row .event-card > .elementor-widget-wrap > .elementor-widget-heading,
.events-row .event-card > .elementor-widget-wrap > .elementor-widget-text-editor {
  margin: 0 0 10px 0 !important; /* Grundabstand */
}

/* Kein Extra-Abstand beim letzten Text-Widget */
.events-row .event-card > .elementor-widget-wrap > .elementor-widget-heading:last-of-type,
.events-row .event-card > .elementor-widget-wrap > .elementor-widget-text-editor:last-of-type {
  margin-bottom: 0 !important;
}

/* Bild mit eigenem Abstand nach unten */
.events-row .event-card > .elementor-widget-wrap > .elementor-widget-image {
  margin: 0 0 12px 0 !important;
}

/* Spacer-Widget am Desktop neutralisieren (falls noch vorhanden) */
@media (min-width: 768px) {
  .events-row .event-card > .elementor-widget-wrap > .elementor-widget-spacer {
    display: none !important;
    height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
  }
}


/* ==================== DIVIDER-STEUEURUNG ==================== */

/* Desktop & Tablet: Divider neutralisieren */
@media (min-width: 768px) {
  .event-divider-widget {
    display: none !important;
    margin: 0 !important;
    padding: 0 !important;
  }
  .event-divider {
    display: none !important;
    height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    flex: 0 0 0 !important;
  }
}

/* Mobile: Divider sichtbar */
@media (max-width: 767px) {
  .event-divider-widget {
    display: block !important;
    margin: 40px 0 60px 0;
    padding: 0 !important;
  }
  .event-divider {
    display: block;
    width: 80px;
    height: 1px;
    background: #999;
    margin: 0 auto;
  }
}/* End custom CSS */