/* ============================================================
   1. GRUNDGERÜST & TYPOGRAFIE
   ============================================================ */
@font-face {
    font-family: "Cairo";
    font-style: normal;
    src: url("/files/font/Cairo-Regular.ttf");
}

body {
    width: 100%;
    background: #000 url("../../files/Mediadaten/System-Images/bg.jpg") center center no-repeat fixed !important;
    background-size: cover !important;
    font-family: "Cairo", sans-serif;
    font-size: 100%;
    color: #ffffff;
    margin: 0;
}

/* Wir transformieren das alte Contao-Spalten-Layout in ein stabiles Grid */
#container {
    display: grid !important;
    grid-template-columns: 230px 1fr 230px !important;
    grid-template-areas: "left-sidebar main-content right-sidebar" !important;
    padding-left: 0 !important;  /* Hebt das alte Contao-CSS auf */
    padding-right: 0 !important; /* Hebt das alte Contao-CSS auf */
    align-items: start !important; /* Zwingt ALLE Spalten an die exakt gleiche Oberkante */
}

/* Wir weisen den Spalten ihre festen Plätze im Grid zu */
#left {
    grid-area: left-sidebar !important;
    width: 230px !important;
    left: 0 !important;  /* Überschreibt das alte Contao-Verschiebe-CSS */
    position: relative !important;
    margin: 0 !important;
}

#main {
    grid-area: main-content !important;
    width: auto !important;
    float: none !important;
}

#right {
    grid-area: right-sidebar !important;
    width: 230px !important;
    position: relative !important;
    margin: 0 !important;
}

/* Verhindert, dass Contao-Geister-Abstände die Sidebars nach unten drücken */
#left .inside, #right .inside, #main .inside {
    margin-top: 0 !important;
    padding-top: 0 !important;
}

h1, .ce_headline {
    font: 165%/40px Cairo;
    font-weight: bold;
    color: #fff;
    text-shadow: #000 0px 0px 5px;
    margin-bottom: 20px;
}

h2 {
    font-size: 125%;
    color: #fff;
}

p {
    line-height: 20px;
}

/* Direktes CSS zur Umgehung von Cache-Problemen */
.u434-wrapper {
    padding: 0 15px !important;
    max-width: 670px !important;
    margin: 0 auto !important;
    box-sizing: border-box !important;
}

.u434-box {
    position: relative !important;
    max-width: 640px !important;
    margin: 25px auto !important;
    border: 1px solid #ffffff !important;
    line-height: 0 !important;
    display: block !important;
    overflow: hidden !important;
}

.u434-item {
    width: 100% !important;
    height: auto !important;
    display: block !important;
}

.u434-overlay {
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    width: 100% !important;
    height: 100% !important;
    z-index: 10 !important;
    object-fit: fill !important;
}

/* ============================================================
   2. VIDEO-CARDS (#videos) - FINALE VERSION (PULSIEREN OHNE SCHATTEN)
   ============================================================ */
#videos .mod_banner {
    display: block;
    width: 100%;
    margin: 20px auto;
}

/* Das umschließende Figure-Element (Die Kachel) */
#videos .mod_banner .banner_wrap {
    width: 100%;
    max-width: 708px;
    margin: 25px auto !important;
    background-color: rgba(0, 43, 78, 0.85) !important; /* Blickdicht, damit kein Hintergrund durchscheint */
    border: 1px solid rgba(255, 255, 255, 0.3) !important;
    box-sizing: border-box;
    display: block;
    padding: 0 !important;
    overflow: hidden;
    text-align: center;
}

/* 1. Haupt-Textbereich (Auf 0 gesetzt, damit der Top-Balken bündig abschließt) */
#videos .mod_banner .banner_text {
    padding: 0 !important;
    display: block;
}

/* 2. Info-Balken oben (Korrekt innerhalb von .banner_text verschachtelt) */
#videos .mod_banner .banner_text .banner_text_name {
    background-color: rgba(0, 20, 40, 0.8) !important;
    margin: 0 !important;
    padding: 12px 15px !important;
    font-weight: bold;
    font-size: 100%;
    border-bottom: 1px solid rgba(255, 255, 255, 0.2);
    display: block;
}

#videos .mod_banner .banner_text .banner_text_name a {
    color: #fff !important;
    text-decoration: none;
    display: block;
}

/* 3. Pulsierender Effekt für die Grafik (Größen-Pulsieren OHNE Schatten) */
#videos .mod_banner .banner_text .banner_text_name img {
    margin: 20px auto 10px auto !important;
    display: block;
    border: none !important;
    border-radius: 4px;
    animation: image-pulse 2.5s infinite ease-in-out; /* Neue saubere Animation */
}

/* Definition der reinen Bild-Animation */
@keyframes image-pulse {
    0% {
        transform: scale(1);
        opacity: 0.95;
    }
    50% {
        transform: scale(1.04); /* Sanftes Atmen um 4% */
        opacity: 1;             /* Minimale Helligkeitsänderung */
    }
    100% {
        transform: scale(1);
        opacity: 0.95;
    }
}

/* 4. Bereich unter dem Balken für Beschreibung (Padding fängt das obere 'padding: 0' ab) */
#videos .mod_banner .banner_text_comment {
    margin: 0 !important;
    padding: 15px 20px !important;
    line-height: 1.6;
    font-size: 90%;
    color: #eee;
    text-align: center;
}

/* 5. URL ganz unten */
#videos .mod_banner .banner_text_url {
    padding-bottom: 20px !important;
    display: block;
}

#videos .mod_banner .banner_text_url a {
    color: #fff !important;
    text-decoration: underline;
    font-weight: bold;
}

/* ============================================================
   3. GÄSTEBUCH & KOMMENTARE
   ============================================================ */
.comment_default {
    width: 100%;
    max-width: 708px;
    margin: 25px auto !important;
    background-color: rgba(0, 43, 78, 0.6) !important;
    border: 1px solid rgba(255, 255, 255, 0.3) !important;
    box-sizing: border-box;
    display: block;
    padding: 0 !important;
    overflow: hidden;
}
.comment_default:hover {
    background-color: rgba(0, 43, 78, 0.35);
    box-shadow: #000000 0px 0px 25px;
}

.comment_default .info {
    background-color: rgba(0, 20, 40, 0.8) !important;
    margin: 0 !important;
    padding: 12px 15px !important;
    font-weight: bold;
    font-size: 90%;
    border-bottom: 1px solid rgba(255, 255, 255, 0.2);
    color: #fff !important;
}

.comment_default .comment {
    padding: 20px 15px !important;
    line-height: 1.6;
}

/* ============================================================
   3. GÄSTEBUCH & KOMMENTARE (OPTIMIERT FÜR MOBILE)
   ============================================================ */
.pagination {
    margin: 20px auto;
    text-align: center;
    padding: 0 10px; /* Kleiner Puffer zum Bildschirmrand */
}

.pagination ul {
    list-style: none;
    padding: 0;
    display: flex;       /* Flexbox statt inline-flex */
    flex-wrap: wrap;    /* Erlaubt Zeilenumbruch, wenn der Platz nicht reicht */
    justify-content: center;
    gap: 8px;           /* Etwas weniger Abstand zwischen den Buttons */
}

.pagination li {
    margin-bottom: 5px; /* Abstand nach unten, falls umgebrochen wird */
}

.pagination a, .pagination strong {
    display: block;      /* Macht die Klickfläche stabil */
    padding: 6px 12px;
    border: 1px solid #fff;
    color: #fff;
    text-decoration: none;
    min-width: 35px;     /* Sorgt dafür, dass Zahlen-Buttons quadratischer sind */
    box-sizing: border-box;
}

.pagination .active {
    background: #fff;
    color: #002b4e;
    font-weight: bold;
}

/* Spezial-Anpassung für sehr schmale Handys */
@media (max-width: 400px) {
    .pagination p {
        font-size: 0.9rem;
        margin-bottom: 10px;
    }
    .pagination a, .pagination strong {
        padding: 5px 8px; /* Noch etwas kompakter */
        font-size: 0.85rem;
    }
}

/* ============================================================
   4. MAPS-PLACEHOLDER FIX (BREITE & ÜBERSTAND)
   ============================================================ */
#maps-placeholder {
    max-width: 100% !important; /* Verhindert Überstehen */
    margin: 20px auto !important;
    box-sizing: border-box !important;
    border: 1px solid #fff;
}

/* ============================================================
   5. ALLGEMEINE MODULE (QUERSCHNITT, ARTIKEL, ETC.)
   ============================================================ */
.mod_article {
    background-image: url("../../../files/Mediadaten/System-Images/riffle-bg.png");
    border: 1px solid #fff;
    margin: 15px 0;
    padding: 30px;
    box-sizing: border-box;
}

#qs-images {
    width: 100% !important;
    border: 1px solid #fff !important;
    background: rgba(0, 43, 78, 0.7) url("/files/Mediadaten/System-Images/riffle-bg.png") repeat;
    margin: 0 auto 20px auto !important;
}

/* ============================================================
   6. GLOBALER KALENDER-FIX (BLICKDICHT)
   ============================================================ */
#ui-datepicker-div, .ui-datepicker {
    background: #0a1928 !important; 
    border: 1px solid #ffffff !important;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.8) !important;
    z-index: 999999 !important;
    opacity: 1 !important;
}

/* ============================================================
   REGION: U-BOOT BUCHUNGSFORMULARE (GLOBAL)
   ============================================================ */

/* --- 1. RAFFINIERTE EINGABEFELDER & DROPDOWNS --- */
#u-boot-booking-form .text, 
#u-boot-booking-form select,
#u-boot-booking-form .textarea,
#u-boot-booking-form input:not([type="checkbox"]) {
    background: rgba(255, 255, 255, 0.95) !important;
    color: #002b4e !important;
    border: 1px solid #ffffff !important;
    padding: 12px 15px !important;
    font-size: 100% !important;
    width: 100% !important;
    max-width: 600px !important;
    box-sizing: border-box !important;
    display: block;
    margin-left: auto !important;
    margin-right: auto !important;
    border-radius: 2px !important;
    box-shadow: inset 0 1px 3px rgba(0,0,0,0.1) !important;
    transition: all 0.3s ease !important;
}

/* Fokus-Effekt nur für normale Textfelder/Dropdowns */
#u-boot-booking-form .text:focus, 
#u-boot-booking-form select:focus {
    background: #ffffff !important;
    box-shadow: 0 0 10px rgba(255, 255, 255, 0.5) !important;
    outline: none !important;
}

#u-boot-booking-form .widget { 
    margin-bottom: 25px !important; 
    width: 100%; 
    max-width: 600px; 
    margin-left: auto; 
    margin-right: auto; 
    /* Fix für Mobile: Verhindert Anschlagen am Rand */
    padding-left: 10px !important;
    padding-right: 10px !important;
    box-sizing: border-box !important;
}

/* --- 2. LABELS: STRENG LINKSBÜNDIG --- */
#u-boot-booking-form .widget label { 
    display: block !important; 
    width: 100% !important;
    margin-bottom: 10px !important; 
    font-weight: normal !important; 
    color: #fff !important; 
    text-align: left !important;
}

/* --- 3. KALENDER-ICON UND FORMATIERUNG FÜR DAS NEUE DATUMSFELD --- */

/* Sorgt dafür, dass Container und Label sauber sitzen */
#u-boot-booking-form .js-datepicker {
    display: flex !important;
    flex-direction: row-reverse !important; 
    justify-content: flex-end !important; 
    align-items: center !important;
    flex-wrap: wrap !important;
}

#u-boot-booking-form .js-datepicker label {
    width: 100% !important;
    flex: 0 0 100% !important;
}

/* Das eigentliche Eingabefeld stylen und das SVG-Icon als Hintergrund setzen */
#u-boot-booking-form .js-datepicker input {
    flex: 1 !important;
    max-width: 600px !important;
    margin: 0 !important;
    display: inline-block !important;
    
    /* Das Icon direkt in das Feld einbetten */
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23666666' viewBox='0 0 24 24'%3E%3Cpath d='M19 4h-1V2h-2v2H8V2H6v2H5c-1.11 0-1.99.9-1.99 2L3 20c0 1.1.89 2 2 2h14c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2zm0 16H5V10h14v10zm0-12H5V6h14v2zm-7 5h5v5h-5z'/%3E%3C/svg%3E") !important;
    background-repeat: no-repeat !important;
    background-position: right 12px center !important; /* Rechts im Feld positionieren */
    background-size: 20px 20px !important; /* Feste Größe für das Kalender-Icon */
    padding-right: 40px !important; /* Platzhalter rechts, damit Text nicht ins Icon läuft */
    cursor: pointer !important;
}

/* Kleiner visueller Effekt beim Drüberfahren */
#u-boot-booking-form .js-datepicker input:hover {
    background-color: #fcfcfc !important;
}

/* --- 4. STEPPER: ZAHL-ZENTRIERUNG & KEIN FOCUS/HOVER --- */
#u-boot-booking-form .widget-text.mandatory:has(.custom-stepper-wrapper) {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    padding: 15px !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.2) !important;
    background: rgba(0, 43, 78, 0.3) !important;
    flex-wrap: wrap !important; /* Mobile Fix */
}

#u-boot-booking-form .custom-stepper-wrapper {
    display: flex !important;
    border: 1px solid #fff !important;
    background: rgb(26 42 58 / 75%) !important;
    height: 50px !important;
    width: 152px !important;
    margin: 0 !important;
}

#u-boot-booking-form .custom-stepper-wrapper input.text {
    width: 50px !important;
    text-align: center !important;
    padding: 0 !important;
    background: transparent !important;
    color: #ffffff !important;
    border: none !important;
    border-left: 1px solid rgba(255, 255, 255, 0.3) !important;
    border-right: 1px solid rgba(255, 255, 255, 0.3) !important;
    line-height: 50px !important;
    -moz-appearance: textfield !important;
    appearance: textfield !important; /* Fix Punkt 2 für Firefox */
    cursor: default !important;
}

/* Deaktiviert Focus/Hover Effekte für Stepper-Zahlen */
#u-boot-booking-form .custom-stepper-wrapper input.text:focus,
#u-boot-booking-form .custom-stepper-wrapper input.text:hover {
    background: transparent !important;
    box-shadow: none !important;
    outline: none !important;
}

/* Fix Punkt 2: Browser-Pfeile verstecken (Chrome, Safari, Edge, Firefox) */
#u-boot-booking-form input::-webkit-outer-spin-button,
#u-boot-booking-form input::-webkit-inner-spin-button {
    -webkit-appearance: none !important;
    margin: 0 !important;
}
#u-boot-booking-form input[type=number] {
    -moz-appearance: textfield !important;
}

#u-boot-booking-form .stepper-btn {
    width: 50px !important;
    height: 50px !important;
    background: transparent !important;
    color: #fff !important;
    font-size: 24px !important;
    border: none !important;
    cursor: pointer !important;
    transition: opacity 0.2s ease !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}

#u-boot-booking-form .stepper-btn:hover { opacity: 0.5 !important; }

/* --- 5. ZÄHLER / SUMMENFELD: LINKSSBÜNDIG --- */
#u-boot-booking-form .widget:has(input[name="summe"]) {
    display: flex !important;
    flex-direction: column !important;
    /* ÄNDERUNG: Von flex-end auf flex-start für Linksbündigkeit */
    align-items: flex-start !important; 
    background: rgba(0, 43, 78, 0.3) !important;
    padding: 25px 15px !important;
    margin-top: 20px !important;
}

#u-boot-booking-form input[name="summe"] {
    /* Breite bleibt gleich wie bei den Steppern (152px) */
    width: 152px !important;
    height: 60px !important;
    line-height: 60px !important;
    text-align: center !important;
    background-color: rgb(26 42 58 / 75%) !important;
    border: 1px solid #fff !important;
    color: #ffffff !important;
    font-size: 150% !important;
    cursor: default !important;
    /* Margin auf 0, damit es nicht durch Browser-Standards verschoben wird */
    margin-left: 0 !important; 
    margin-right: 0 !important;
}

/* Deaktiviert Focus/Hover Effekte für den Zähler */
#u-boot-booking-form input[name="summe"]:focus,
#u-boot-booking-form input[name="summe"]:hover {
    background-color: rgb(26 42 58 / 75%) !important;
    box-shadow: none !important;
    outline: none !important;
}

/* --- 6. PIKTOGRAMME (PRÄZISE AUSRICHTUNG) --- */

/* Der Widget-Container */
#u-boot-booking-form .widget.u-boot-stepper {
    position: relative !important;
}

/* Das Icon - absolut zum Widget-Rand positioniert */
#u-boot-booking-form .widget.u-boot-stepper::before {
    content: "" !important;
    display: block !important;
    width: 24px !important;
    height: 24px !important;
    position: absolute !important;
    left: 15px !important; 
    top: 15px !important; 
    background-size: contain !important;
    background-repeat: no-repeat !important;
    z-index: 10 !important;
}

/* Das Label schieben wir jetzt gezielt nach rechts */
#u-boot-booking-form .widget.u-boot-stepper label {
    padding-left: 35px !important; 
    margin-bottom: 15px !important;
    display: block !important;
    line-height: 24px !important; 
}

/* --- ICONS FÜR DIE STEPPER --- */
#u-boot-booking-form .widget::before {
    content: "";
    display: block;
    width: 24px;
    height: 24px;
    background-size: contain;
    background-repeat: no-repeat;
    margin-right: 10px;
    flex-shrink: 0;
}

#u-boot-booking-form .widget:has(input[name="Anzahl_Erwachsene"])::before { 
    background-image: url("https://u-434.de/files/Mediadaten/Images/Grafiken/icons/erwachsen_24px.png") !important; 
}
#u-boot-booking-form .widget:has(input[name="Anzahl_Familientarif-eins"])::before { 
    background-image: url("https://u-434.de/files/Mediadaten/Images/Grafiken/icons/familie-3_24px.png") !important; 
}
#u-boot-booking-form .widget:has(input[name="Anzahl_Familientarif-zwei"])::before { 
    background-image: url("https://u-434.de/files/Mediadaten/Images/Grafiken/icons/familie-4_24px.png") !important; 
}
#u-boot-booking-form .widget:has(input[name="Anzahl_Kinder"])::before { 
    background-image: url("https://u-434.de/files/Mediadaten/Images/Grafiken/icons/kinder_24px.png") !important; 
}
#u-boot-booking-form .widget:has(input[name="Anzahl_Senioren"])::before { 
    background-image: url("https://u-434.de/files/Mediadaten/Images/Grafiken/icons/senioren_24px.png") !important; 
}
#u-boot-booking-form .widget:has(input[name*="Schueler"])::before,
#u-boot-booking-form .widget:has(input[name*="Student"])::before { 
    background-image: url("https://u-434.de/files/Mediadaten/Images/Grafiken/icons/schueler_24px.png") !important; 
}

/* Mobile Fixes */
@media (max-width: 600px) {
    #u-boot-booking-form .widget {
        padding-left: 15px !important;
        padding-right: 15px !important;
    }
    #u-boot-booking-form .widget-text.mandatory:has(.custom-stepper-wrapper) {
        flex-direction: column !important;
        align-items: flex-start !important;
        gap: 10px !important;
    }
}

/* --- 7. ANFRAGE SENDEN BUTTON --- */
#u-boot-booking-form .submit {
    background-color: #008000 !important;
    color: #ffffff !important;
    border: 1px solid #ffffff !important;
    padding: 15px 30px !important;
    font-weight: bold !important;
    text-transform: uppercase !important;
    cursor: pointer !important;
    display: block !important;
    margin: 20px auto !important;
    transition: opacity 0.2s !important;
}

/* --- 8. INFOBUTTONS ("i") & MODAL-SYSTEM --- */
#u-boot-booking-form .widget.has-info {
    display: flex !important;
    justify-content: flex-end !important; 
    background: transparent !important;
    border: none !important;
    margin: 15px 0 !important;
    padding: 0 15px 0 0 !important; 
    width: 100% !important;
    position: relative !important;
    box-sizing: border-box !important;
}

#u-boot-booking-form .widget.has-info::before {
    content: "i" !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    /* Um exakt 50% vergrößert (von 24px auf 36px) */
    width: 36px !important;
    height: 36px !important;
    background: rgba(0, 43, 78, 0.8) !important;
    border: 1px solid #ffffff !important;
    border-radius: 50% !important; /* Bleibt perfekt kreisrund */
    color: #ffffff !important;
    font-weight: bold !important;
    font-family: serif !important;
    font-style: italic !important;
    /* Schriftgröße ebenfalls angepasst, damit das Verhältnis stimmt */
    font-size: 20px !important;
    cursor: pointer !important;
    box-shadow: 0 2px 4px rgba(0,0,0,0.3) !important;
}

#u-boot-booking-form .widget.has-info p, 
#u-boot-booking-form .widget.has-info ul {
    display: none !important;
}

/* Modal Overlay */
#u-boot-modal-overlay {
    position: fixed !important;
    top: 0; left: 0; width: 100vw; height: 100vh;
    background: rgba(0, 10, 25, 0.95);
    z-index: 9999999;
    display: none;
    align-items: center; justify-content: center;
}
#u-boot-modal-content {
    background: #0a1928; border: 2px solid #ffffff; padding: 40px 30px 30px;
    width: 90%; max-width: 500px; color: #ffffff; position: relative;
}
.u-boot-modal-close {
    position: absolute;
    top: 5px;       /* Leicht verringert, damit das größere Kreuz nicht nach unten rutscht */
    right: 15px;    /* Leicht angepasst für eine saubere Optik */
    font-size: 52px; /* Exakt 50% größer als die ursprünglichen 35px */
    cursor: pointer;
    color: #fff;
    line-height: 1; /* Zwingt den Browser, keinen unnötigen unsichtbaren Raum über/unter dem Kreuz zu berechnen */
}

#u-boot-modal-inner strong, 
#u-boot-modal-inner b {
    font-weight: bold !important;
    color: #ffffff !important;
}

#u-boot-modal-inner ul {
    display: block !important;
    list-style-type: disc !important; 
    margin: 15px 0 15px 25px !important; 
    padding: 0 !important;
}

#u-boot-modal-inner li {
    display: list-item !important; 
    list-style-type: disc !important;
    margin-bottom: 8px !important;
    padding-left: 5px !important;
}

#u-boot-modal-inner a {
    color: #18547b !important; 
    text-decoration: underline !important;
}

/* --- 9. DATENSCHUTZ CHECKBOX --- */
#u-boot-booking-form .checkbox_container {
    padding: 20px !important;
    margin: 30px auto 20px auto !important;
    background: rgba(0, 43, 78, 0.2) !important;
    border-radius: 4px;
    max-width: 600px !important;
    width: calc(100% - 20px) !important;
    box-sizing: border-box !important;
}

#u-boot-booking-form .checkbox_container span { 
    display: flex !important; 
    align-items: center !important; 
    white-space: normal !important;
}

#u-boot-booking-form .checkbox_container label { 
    margin-left: 15px !important; 
    color: #fff !important; 
    font-size: 0.95rem !important;
    line-height: 1.4 !important;
    cursor: pointer !important;
    white-space: nowrap !important; 
    display: inline-flex !important;
    align-items: center !important;
}

#u-boot-booking-form .checkbox_container label .mandatory {
    margin-left: 4px !important;
    display: inline !important;
}

#u-boot-booking-form input[type="checkbox"] { 
    width: 26px !important; 
    height: 26px !important; 
    flex-shrink: 0 !important;
}

@media (max-width: 400px) {
    #u-boot-booking-form .checkbox_container label {
        font-size: 0.85rem !important; 
    }
}

/* --- 10. ÜBERSICHTSSEITE BUTTON-AUSWAHL --- */
.booking-selection-container {
    max-width: 600px;
    margin: 40px auto;
    text-align: center;
}

.selection-row {
    display: flex;
    justify-content: center;
    gap: 20px;
    flex-wrap: wrap;
}

.booking-btn {
    display: inline-block;
    background: #002b4e !important;
    color: #ffffff !important;
    border: 2px solid #ffffff !important;
    padding: 20px 30px !important;
    text-decoration: none !important;
    font-weight: bold !important;
    text-transform: uppercase;
    min-width: 220px;
    border-radius: 4px;
    transition: all 0.3s ease;
    cursor: pointer;
    line-height: 1.2;
}

.booking-btn small {
    display: block;
    font-size: 0.75rem;
    font-weight: normal;
    text-transform: none;
    margin-top: 5px;
}

.booking-btn:hover {
    background: #004075 !important;
    box-shadow: 0 0 15px rgba(255, 255, 255, 0.3);
}

.booking-btn.private { background: #008000 !important; }
.booking-btn.private:hover { background: #00a000 !important; }

.selection-divider {
    border: 0;
    height: 1px;
    background-image: linear-gradient(to right, rgba(255, 255, 255, 0), rgba(255, 255, 255, 0.75), rgba(255, 255, 255, 0));
    margin: 30px 0;
}
.private-option { margin-top: 10px; }

/* --- 11. KONTAKTDATEN (ZWEISPALTIG) --- */
#u-boot-booking-form fieldset {
    display: block !important;
    width: 100% !important;
    max-width: 600px !important;
    margin: 0 auto !important;
    padding: 0 !important;
    box-sizing: border-box !important;
}

#u-boot-booking-form fieldset .widget {
    width: 100% !important;
    float: none !important;
    clear: both !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding: 0 10px !important; 
    box-sizing: border-box !important;
}

#u-boot-booking-form .widget:has(input[name="Vorname"]),
#u-boot-booking-form .widget:has(input[name="Nachname"]),
#u-boot-booking-form .widget:has(input[name="Ihre_E-Mail"]),
#u-boot-booking-form .widget:has(input[name="Ihre_Rueckrufnummer"]) {
    width: 50% !important;
    float: left !important;
    clear: none !important;
}

#u-boot-booking-form .widget:has(input[name="plz"]) { width: 30% !important; float: left !important; clear: none !important; }
#u-boot-booking-form .widget:has(input[name="ort"]) { width: 70% !important; float: left !important; clear: none !important; }

#u-boot-booking-form .widget:has(input[name="Strasse"]),
#u-boot-booking-form .widget:has(input[name="firma"]),
#u-boot-booking-form .widget:has(select[name="Anrede"]) {
    width: 100% !important;
    float: none !important;
    clear: both !important;
    margin-right: 0 !important;
}

#u-boot-booking-form fieldset::after {
    content: "" !important;
    display: table !important;
    clear: both !important;
}

@media (max-width: 600px) {
    #u-boot-booking-form fieldset { margin: 0 !important; width: 100% !important; }
    #u-boot-booking-form fieldset .widget { width: 100% !important; float: none !important; clear: both !important; padding: 0 15px !important; }
    #u-boot-booking-form .text, #u-boot-booking-form select, #u-boot-booking-form .textarea { margin-left: 0 !important; margin-right: 0 !important; width: 100% !important; }
}

/* --- CHECKBOXEN NEBENEINANDER --- */
#u-boot-booking-form .widget.trigger-familie,
#u-boot-booking-form .widget.trigger-discount {
    width: 48.5% !important; 
    float: left !important;  
    clear: none !important;  
    margin-bottom: 20px !important;
    background: rgba(255, 255, 255, 0.05) !important; 
    border: 1px solid rgba(255, 255, 255, 0.1) !important;
    border-radius: 4px;
    padding: 10px !important;
    box-sizing: border-box !important;
    min-height: 60px !important; 
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
}

#u-boot-booking-form .widget.trigger-familie::before,
#u-boot-booking-form .widget.trigger-discount::before { display: none !important; content: none !important; }
#u-boot-booking-form .widget.trigger-familie { margin-right: 3% !important; }

#u-boot-booking-form .trigger-familie label,
#u-boot-booking-form .trigger-discount label { margin-bottom: 0 !important; cursor: pointer !important; padding-left: 10px !important; font-weight: bold !important; color: #fff !important; }
#u-boot-booking-form .widget.trigger-discount + .widget { clear: both !important; }

@media (max-width: 480px) {
    #u-boot-booking-form .widget.trigger-familie, #u-boot-booking-form .widget.trigger-discount { width: 100% !important; float: none !important; margin-right: 0 !important; }
}

/* --- STYLING DER AUSWAHL-BUTTONS --- */
.u-boot-selection-wrapper {
    max-width: 800px;
    margin: 20px auto;
    padding: 0 15px 0 15px !important; 
    font-family: sans-serif;
    box-sizing: border-box !important;
}

.selection-main-row { display: flex; gap: 15px; margin-bottom: 15px; }

.u-boot-main-btn {
    flex: 1; display: block; text-align: center; padding: 20px 10px; background: rgba(0, 43, 78, 0.9); border: 2px solid #ffffff; color: #ffffff !important; text-decoration: none !important; font-weight: bold; font-size: 18px; transition: all 0.3s ease;
}
.u-boot-main-btn span { font-size: 13px; font-weight: normal; display: block; margin-top: 5px; }
.selection-info-row { text-align: center !important; width: 100%; margin-top: 10px; }

.u-boot-info-btn {
    width: 100%; max-width: 500px; background: rgba(255, 255, 255, 0.1); border: 1px dashed #ffffff; color: #ffffff; padding: 10px; cursor: pointer; font-size: 14px; transition: background 0.3s; display: inline-block; 
}
.u-boot-info-btn:hover { background: rgba(255, 255, 255, 0.2); }

@media (max-width: 600px) {
    .u-boot-selection-wrapper { padding: 0 15px !important; }
    .selection-main-row { flex-direction: column; }
}

/* --- ZURÜCK-NAVIGATION GESTALTUNG --- */
.u-boot-back-nav {
    max-width: 800px; margin: 0 auto 30px auto !important; padding: 0 15px 0 30px !important; display: block !important; clear: both; box-sizing: border-box !important;
}
.u-boot-back-nav .back-link {
    display: inline-flex !important; align-items: center !important; color: #ffffff !important; text-decoration: none !important; font-size: 13px !important; font-weight: bold !important; text-transform: uppercase !important; letter-spacing: 1.5px !important; border: 1px solid rgba(255, 255, 255, 0.3) !important; padding: 10px 20px !important; background: rgba(255, 255, 255, 0.05) !important; transition: all 0.3s ease !important;
}
.u-boot-back-nav .back-link .arrow { margin-right: 10px !important; font-size: 18px !important; line-height: 0; transition: transform 0.3s ease !important; }
.u-boot-back-nav .back-link:hover { background: rgba(255, 255, 255, 0.15) !important; border-color: #ffffff !important; }
.u-boot-back-nav .back-link:hover .arrow { transform: translateX(-5px) !important; }

@media (max-width: 480px) { .u-boot-back-nav { text-align: center !important; padding: 0 15px !important; } }

.mm-panels { box-shadow: #000 0px 15px 15px; }
.mm-listitem::after { right: 20px; }
.mm-panel { background-color: #002b4e; }
.mm-panel .active { margin-left: 20px; padding-top: 12px; padding-bottom: 12px; color: #fff; }
.mm-panel .sibling { color: rgba(255,255,255,.7); }
aside { margin-top: 27px; }
.changelanguage { font-size: 90%; text-align: right; }
.changelanguage a:hover { color:rgba(255,255,255,1); }
.changelanguage a { margin-bottom: 0; padding-top: 25px; text-decoration: none; color: rgba(255,255,255,.7); text-shadow: none; }
.translate img { border: #fff 1px solid; margin: 5px; }

@-webkit-keyframes hideit {
    0% { opacity: 1; }
    25% { opacity: 1; }
    50% { opacity: 0.8; }
    65% { opacity: 0.6; }
    75% { opacity: 0.1; }
    85% { opacity: 0; height: 91px; margin-top: 15px; margin-bottom: 15px}
    95% { opacity: 0; }
    100% { opacity: 0; height: 0px; margin: 0px; visibility: hidden;}
}
.translate {
    -webkit-animation-name: hideit;
    -webkit-animation-duration: 15s;
    -webkit-animation-timing-function: ease-in-out;
    -webkit-animation-delay: 0s;
    -webkit-animation-iteration-count: 1;
    -webkit-animation-fill-mode: forwards;
}
.translate { border: #fff 1px solid; margin-top: 15px; margin-bottom: 15px; background-color: #002b4e; background-image: url("/files/Mediadaten/System-Images/riffle-bg.png"); }
.translate p { padding: 5px; margin: 0px; }
.nachruf .image_container { padding-top: 0px; padding-bottom: 0px; }
.nachruf h2 { font: 165%/40px Cairo; font-weight: normal; font-size: 165%; font-weight: bold; color: #fff; text-shadow: #000 0px 0px 5px; }
.nachruf img { border: #fff 1px solid; }

@keyframes cookiebar {
    0%   {opacity: 0;}
    25%  {opacity: 0;}
    50%  {opacity: 0;}
    75%  {opacity: 0.5;}
    100% {opacity: 1;}
}
.cookiebar { animation: cookiebar 10s; }
.bg8 h2 { font: 165%/40px Cairo; font-weight: normal; font-size: 165%; font-weight: bold; color: #fff; text-shadow: #000 0px 0px 5px; }
.bg8 { width: 90%; margin-right: auto; margin-left: auto; padding-right: 10px; padding-left: 10px; overflow: visible; background: rgba(5,163,0,.7) url("../../files/Mediadaten/System-Images/Achtung-Icon.jpg") right top no-repeat; border: 1px solid #fff; }
.ui-widget-content { color:#fff; background: none; }
.ce_comments .pagination .active { padding-right: 5px; padding-left: 5px; border: 1px solid #fff; }
.ui-accordion-header-icon { display: none; }
.ui-state-default { background: 0; font-weight: normal; color: #fff; }
.ui-corner-all, .ui-corner-top { border: none; border-radius: 0 !important; }
img.ui-datepicker-trigger { width: 34px; height: 34px; padding-top: 9px; top: 11px; position: relative; margin-left: 15px; }
#ctrl_96 { width: 85% !important; height: 30px; }
#billingaddress_new .text.error { border: 1px solid red; }
label.mandatory.error::after { color: red; content: "fehlt" }
#billingaddress_new p.error { display: none; }
#billingaddress_new .widget { margin-top: 5px; margin-bottom: 5px; }
#ctrl_billingaddress_subdivision.select, #ctrl_billingaddress_country.select { width: 50%; height: 30px; display: inline-block; float: right; }
#billingaddress_new .widget { margin-top:15px; margin-bottom:15px; }
p.error { margin-top:0; margin-left:0; padding-top:0; color:#ffd000; }
.info-rot .checkbox_container { background-color:rgba(192,0,0,.5); }
.ce_form .error { color:#c00000; text-shadow: #000000 0px 0px 1px; }

#lbl_zusatzoptionen_fmd63_product_3_0, #lbl_fuehrung_fmd63_product_3_0, #lbl_zusatzoptionen_fmd63_product_4_0, #lbl_fuehrung_fmd63_product_4_0, #lbl_zusatzoptionen_fmd63_product_5_0, #lbl_fuehrung_fmd63_product_5_0, #lbl_zusatzoptionen_fmd63_product_6_0, #lbl_fuehrung_fmd63_product_6_0, #lbl_zusatzoptionen_fmd63_product_7_0, #lbl_fuehrung_fmd63_product_7_0, #lbl_zusatzoptionen_fmd63_product_8_0, #lbl_fuehrung_fmd63_product_8_0, #lbl_zusatzoptionen_fmd63_product_9_0, #lbl_fuehrung_fmd63_product_9_0 {
    margin-top: 15px; margin-bottom: 15px; padding: 5px; background-color: rgba(0,43,78,.7); border: 1px solid #fff; text-decoration: none; color: #fff; display: inline-block;
}
#lbl_zusatzoptionen_fmd63_product_3_0:hover, #lbl_fuehrung_fmd63_product_3_0:hover, #lbl_zusatzoptionen_fmd63_product_4_0:hover, #lbl_fuehrung_fmd63_product_4_0:hover, #lbl_zusatzoptionen_fmd63_product_5_0:hover, #lbl_fuehrung_fmd63_product_5_0:hover, #lbl_zusatzoptionen_fmd63_product_6_0:hover, #lbl_fuehrung_fmd63_product_6_0:hover, #lbl_zusatzoptionen_fmd63_product_7_0:hover, #lbl_fuehrung_fmd63_product_7_0:hover, #lbl_zusatzoptionen_fmd63_product_8_0:hover, #lbl_fuehrung_fmd63_product_8_0:hover, #lbl_zusatzoptionen_fmd63_product_9_0:hover, #lbl_fuehrung_fmd63_product_9_0:hover {
    margin-top:15px; margin-bottom:15px; padding:5px; background-color:rgba(0,43,78,.35); border:1px solid #fff; color:#fff; box-shadow: #000000 0px 0px 25px;
}
#opt_zusatzoptionen_fmd63_product_3_0, #opt_fuehrung_fmd63_product_3_0, #opt_zusatzoptionen_fmd63_product_4_0, #opt_fuehrung_fmd63_product_4_0, #opt_zusatzoptionen_fmd63_product_5_0, #opt_fuehrung_fmd63_product_5_0, #opt_zusatzoptionen_fmd63_product_6_0, #opt_fuehrung_fmd63_product_6_0, #opt_zusatzoptionen_fmd63_product_7_0, #opt_fuehrung_fmd63_product_7_0, #opt_zusatzoptionen_fmd63_product_8_0, #opt_fuehrung_fmd63_product_8_0, #opt_zusatzoptionen_fmd63_product_9_0, #opt_fuehrung_fmd63_product_9_0 { display:none; }

.kalender-thump figure { line-height: 0; }
.kalender-thump img { display:block; }
.kalender-thump .block img { display:block !important; }
.content-download .mime_icon { display:none !important; }
.content-download a { font-weight:bold; text-decoration:none; color:#fff; }
.content-download { margin-bottom:25px; text-align:center; }
.kalender-thump { width:35%; height:auto; margin-right:auto; margin-bottom:25px; margin-left:auto; text-align:center; border:1px solid #fff; }
.ce_image.kalender-thump .image_container { display: flex !important; }
.datepicker_bootstrap .days .day.selected, .datepicker_bootstrap .days .day.selected:hover { background-color:#002b4e; }
.calendar .text { width:85%; height:30px; }
.calendar { width:90%; margin-right:auto; margin-left:auto; }
#tl_login, #tl_logout { width:90%; height:auto; margin-right:auto; margin-left:auto; }

/* Regular / Normal */
@font-face {
    font-family: "Cairo";
    font-style: normal;
    font-weight: 400;
    src: url("/files/font/Cairo-Regular.ttf") format("truetype");
}

/* Light */
@font-face {
    font-family: "Cairo";
    font-style: normal;
    font-weight: 300;
    src: url("/files/font/Cairo-Light.ttf") format("truetype");
}

/* ExtraLight */
@font-face {
    font-family: "Cairo";
    font-style: normal;
    font-weight: 200;
    src: url("/files/font/Cairo-ExtraLight.ttf") format("truetype");
}

/* SemiBold */
@font-face {
    font-family: "Cairo";
    font-style: normal;
    font-weight: 600;
    src: url("/files/font/Cairo-SemiBold.ttf") format("truetype");
}

/* Bold */
@font-face {
    font-family: "Cairo";
    font-style: normal;
    font-weight: 700;
    src: url("/files/font/Cairo-Bold.ttf") format("truetype");
}

/* Black */
@font-face {
    font-family: "Cairo";
    font-style: normal;
    font-weight: 900;
    src: url("/files/font/Cairo-Black.ttf") format("truetype");
}

.bg4 { width:90%; margin-right:auto; margin-left:auto; padding-right:10px; padding-left:10px; }
#anfahrt iframe { width: 100% !important; height: 450px !important; box-sizing: border-box; border: none !important; display: block; }
.widget-explanation a { text-decoration:none; color:rgba(255,255,255,.7); }
.widget-explanation a:hover { text-decoration:none; color:rgba(255,255,255,1); }
#f2 .widget-checkbox, #f4 .widget-checkbox { width: 100% !important; }
#f1 .checkbox span, #f2 .checkbox span { display: inline-flex; }
#f2 .widget .checkbox label, #f1 .widget .checkbox label { display: inline-flex !important; }
video { width:100%; height:100%; display: block; }
video.gezeitenzyklus { width:100%; height:100%; max-width:354px; max-height:290px; margin-right:auto; margin-left:auto; border:1px solid #fff; display: block; box-shadow: #000000 0px 0px 15px; }
.vorne-bg6 img { margin-top:30px; }
.hinten h3 { background-color:rgba(0,43,78,.7); }
.vorne-bg6 { width:200px; height:200px; background-position:center center; background-repeat:no-repeat; background:linear-gradient(-45deg,#dedede 10%,#fff 50%,#dedede 90%); z-index:-1; transition: transform 1.0s ease; }
.vorne .menu-bg1 { width:200px; height:200px; background-image:url("files/Mediadaten/System-Images/Menue-Grafiken/u434-u434-besuch.jpg"); }
.vorne-bg1 { background-image:url("/files/Mediadaten/System-Images/Menue-Grafiken/u434-u434-besuch.jpg"); width: 200px; height: 200px; transition: transform 1.0s ease; }
.vorne-bg2 { background-image:url("/files/Mediadaten/System-Images/Menue-Grafiken/u434-die-u434.jpg"); width: 200px; height: 200px; transition: transform 1.0s ease; }
.vorne-bg3 { background-image:url("/files/Mediadaten/System-Images/Menue-Grafiken/u434-gutscheinkarten.jpg"); width: 200px; height: 200px; transition: transform 1.0s ease; }
.vorne-bg4 { background-image:url("/files/Mediadaten/System-Images/Menue-Grafiken/u434-webcam.jpg"); width: 200px; height: 200px; transition: transform 1.0s ease; }
.vorne-bg5 { background-image:url("/files/Mediadaten/System-Images/Menue-Grafiken/u434-interessantes.jpg"); width: 200px; height: 200px; transition: transform 1.0s ease; }
.startmenu { margin:15px; width: 200px; height: 200px; overflow: hidden; }
.startmenu:hover .vorne-bg1, .startmenu:hover .vorne-bg2, .startmenu:hover .vorne-bg3, .startmenu:hover .vorne-bg4, .startmenu:hover .vorne-bg5, .startmenu:hover .vorne-bg6 { width: 200px; height: 200px; transform: translateY(-200px); opacity: 1.0; transition: transform 1.0s ease; }
.startmenu:hover .hinten { width: 200px; height: 200px; transform: translateY(-200px); transition: transform 1.0s ease; }
.hinten { background-color:rgba(0,43,78,.7); width: 200px; height: 200px; transition: transform 1.0s ease; }
.hinten:hover { background-color:rgba(0,43,78,.7); transform: translateY(-200px); opacity: 1.0; transition: transform 1.0s ease; }
.vorne:hover { margin-top:-200px; opacity: 1.0; transition: transform 1.0s ease; }
.startmenu { width:200px; height:200px; overflow:hidden; }
.startmenu .hinten { width:200px; height:200px; vertical-align:middle; text-align:left; }
.startmenu .vorne { width:200px; height:200px; display:block; vertical-align:middle; text-align:center; }
.startmenu:hover .vorne { width:200px; height:200px; display:block; vertical-align:middle; text-align:center; }
.startmenu:hover .hinten { width:200px; height:200px; display:block; vertical-align:middle; text-align:left; }
.gezeitenzyklus video, .gezeitenzyklus .mejs-container { width:100%; height:auto; max-width:352px; max-height:288px; margin-right:auto; margin-left:auto; }
.gezeitenzyklus video { border:1px solid #fff; box-sizing: border-box; box-shadow: #000000 0px 0px 15px; }
.gezeitenzyklus .mejs-controls, .video-startseite .mejs-controls { display:none !important; }
.video-startseite .video, .video-startseite .mejs-container { width:100%; height:auto; max-width:710px; max-height:484px; display: block; }
.mejs-controls { display: none !important; }
.ce_player { margin-right:auto; margin-left:auto; text-align:center; }
.mejs-container { margin-right:auto; margin-left:auto; border:1px solid #fff; box-shadow: #000000 0px 0px 15px; }
.mod_sitemap a { text-decoration:none; color:#fff; }
.cookiebar { background-color:#002b4e; }
.theme-sonar { display:none; }
.mejs-overlay-button { margin: -50px 0 0 -50px; }
#f1 .textarea { width:100%; height:400px; font:100% Cairo; color:#000; }
.paypal img { width:auto; height:30px; margin:0; padding:5px; background-color:#fff; }
.paypal a { display: flex; }
.paypal td { margin:0; padding:0; }
.zahlungsmoeglichkeiten { font-weight:bold; }
.paypal, .vorkasse { display: inline-flex; }
.zahlungsmoeglichkeiten { padding:5px; text-align:center; background-image:url("/files/Mediadaten/System-Images/riffle-bg.png"); border:1px solid #fff; }
.content-gallery figcaption { background-color:#002b4e; font-size:85%; line-height:15px; width:100%; box-sizing: border-box; text-shadow: #000000 0px 1px 0px; }
.content-gallery .image_container { text-align: center; margin-left: auto; justify-content: center; align-items: center; }
#cboxTitle { width:97%; height:45px; top:-57px; position:absolute; margin-right:auto; margin-left:auto; line-height:17px; color:#000; position:inherit; float:none !important; }
#cboxCurrent { font-size:70%; color:#fff; }
#cboxOverlay { background-image:url("files/Mediadaten/System-Images/bg.jpg"); }
#cboxLoadedContent { border-top:5px solid #fff; border-right:5px solid #fff; border-bottom:60px solid #fff; border-left:5px solid #fff; }

.content-gallery ul li { max-width: 214px; float: none; margin: 15px; display: inline-block; vertical-align: top; top: 0px; }
.content-gallery.gal-abt ul li { float: none; margin: 0; display: inline-block; vertical-align: top; top: 0px; }

.bootinfo h1 { height:auto; margin:0; padding:0 15px; background-color:#002b4e; margin-left: 0px !important; width: 100% !important; }
.content-gallery { margin-bottom:15px; }
.bootinfo { width:100%; height:auto; margin-right:auto; margin-left:auto; border:1px solid #fff; margin-bottom: 15px !important; }
.bootinfo td.first-child { width:60%; padding:5px; background-color:rgba(0,43,78,.7); }
.bootinfo td.last-child { width:40%; padding:5px; background-color:rgba(0,43,78,.35); font-weight:bold; color:#c00; text-shadow: #000000 1px 1px 0px; }
.bootinfo table { width:100%; height:auto; }
.content-table.bootinfo { background-image:url("/files/Mediadaten/System-Images/riffle-bg.png"); }
.bootinfo tr:hover { background-color:rgba(255,255,255,.15); cursor: help; }
.complete { width:90%; margin-right:auto; margin-left:auto; }
.error .message { width:90%; margin-right:auto; margin-left:auto; }
code { font-family:Cairo; color:#fff; }
.mod_iso_cart .name { margin-top:25px; margin-bottom:5px; background-color:rgba(255,255,255,.05); }
.mod_iso_cart .price, .mod_iso_cart .subtotal { text-align:right; }
.mod_iso_cart ul, .mod_iso_cart .price, .mod_iso_cart .subtotal { background-color:rgba(255,255,255,.05); }
.mod_iso_cart ul { margin-top:5px; margin-bottom:5px; }
#iso_mod_checkout_review li { color:rgba(255,255,255,.65); }
#iso_mod_checkout_review table tr { background-color:rgba(255,255,255,.05); }
#iso_mod_checkout_review table tfoot .col_0 { display:none; }
#iso_mod_checkout_review table td.image { display:none; }
#iso_mod_checkout_review table td.name ul { padding-left:15px; }
#iso_mod_checkout_review table td.name { width:30%; }
#iso_mod_checkout_review table td.quantity { width:10%; }
#iso_mod_checkout_review table td.price, #iso_mod_checkout_review table td.total { width:20%; text-align:right; }
#iso_mod_checkout_review table { width:100%; }
#iso_mod_checkout_review a { padding-top: 0px !important; padding-bottom: 0px !important; }
fieldset { margin-right:0; margin-left:0; border:1px solid #fff; }
fieldset legend { padding-right:10px; padding-left:10px; font-weight:bold; }
#iso_mod_checkout_shipping label, #iso_mod_checkout_payment label { font-weight:bold; }
#iso_mod_checkout_shipping label span, #iso_mod_checkout_payment label span { font-weight:normal; }
#iso_mod_checkout_address .submit, #iso_mod_checkout_shipping .submit, #iso_mod_checkout_payment .submit, #iso_mod_checkout_review .edit, #iso_mod_checkout_review .submit { margin-top:15px; margin-bottom:15px; padding:5px; background-color:rgba(0,43,78,.7); border:1px solid #fff; text-decoration:none; color:#fff; }
#iso_mod_checkout_address .submit:hover, #iso_mod_checkout_shipping .submit:hover, #iso_mod_checkout_payment .submit:hover, #iso_mod_checkout_review .edit:hover, #iso_mod_checkout_review .submit:hover { margin-top:15px; margin-bottom:15px; padding:5px; background-color:rgba(0,43,78,.35); border:1px solid #fff; color:#fff; box-shadow: #000000 0px 0px 25px; }
#billingaddress_new { width:100%; height:auto; }
#billingaddress_new table { width:100%; height:auto; }
#billingaddress_new table td { width:50%; padding-right:0; padding-left:0; }
#billingaddress_new table input { width:100%; min-height:25px; padding-right:0; padding-left:0; border:0; }
#billingaddress_new .text { min-height:25px; padding-right:0; padding-left:0; border:0; width: 50%; display: inline-block; float: right; }
#billingaddress_new table select option { padding-right:0; padding-left:0; }
.mod_iso_checkout ol { margin-right:0; margin-left:0; padding-left:15px; }
.mod_iso_checkout ol .active { font-weight:bold; color:rgba(255,255,255,1); }
#iso_mod_checkout_address, .mod_iso_checkout .steps, #iso_mod_checkout_shipping, #iso_mod_checkout_payment, #iso_mod_checkout_review, .mod_iso_cart, .mod_iso_checkout, .mod_sitemap { width:90%; margin-right:auto; margin-left:auto; }
#iso_mod_checkout_review .info_container { margin-bottom:15px; padding:15px; background-color:rgba(0,43,78,.35); }
#iso_mod_checkout_review .billing_address .vcard a { text-decoration:none; color:#fff; }
.mod_iso_checkout li .active { font-weight:bold; color:rgba(255,255,255,1); }
.mod_iso_checkout li { color:rgba(255,255,255,.35); }
.mod_iso_checkout li .passed { color:rgba(255,255,255,.7); }
.product_list .offer .price, .product .offer .price { font-size:125%; color:#fff; }
.product_list .sku, .product .sku { font-size:80%; color:rgba(255,255,255,.35); }
.product_list .formbody .teaser { display:none; }
.product_list .formbody .quantity_container, .product .formbody .quantity_container { margin-top:15px; margin-bottom:15px; }
.product_list .details a:hover, .product .details a:hover { text-decoration:none; color:rgba(255,255,255,1); }
.product_list h3, .product_list h3 a, .product h3, .product h3 a, .mod_iso_cart .name a { font-size:125%; text-decoration:none; color:#fff; }
.mod_iso_cart .product { margin-top:15px; margin-bottom:25px; }
.mod_iso_cart .subtotal { width:90%; margin-right:auto; margin-bottom:25px; margin-left:auto; text-align:right; font-size:125%; color:#fff; }
.mod_iso_cart .checkout { width:90%; margin-right:auto; margin-left:auto; }
.product_list, .product { width:90%; margin-right:auto; margin-left:auto; }
.shop-button-area button:hover { margin-top:15px; margin-bottom:15px; padding:5px; background-color:rgba(0,43,78,.35); border:1px solid #fff; color:#fff; box-shadow: #000000 0px 0px 25px; }
.shop-button-area { margin-right:auto; margin-left:auto; text-align:center; background-color:rgba(255,255,255,.15); }
.shop-button-area button { margin:15px 5px; padding:5px; background-color:rgba(0,43,78,.7); border:1px solid #fff; font-size:125%; color:#fff; }
.product_list .product_even { padding-right:15px; padding-left:15px; background-color:rgba(0,43,78,.7); }
.product_list .product_odd { padding-right:15px; padding-left:15px; background-color:rgba(255,255,255,.15); }
.product_list .radio_container, .product .radio_container { display: grid; }
.product_list .details a, .product .details a { text-decoration:none; color:rgba(255,255,255,.35); }
.product_list .submit:hover, .product .submit:hover { margin-top:15px; margin-bottom:15px; padding:5px; background-color:rgba(0,43,78,.35); border:1px solid #fff; color:#fff; box-shadow: #000000 0px 0px 25px; }
.product_list .offer, .product_list .details, .product_list .submit_container { display:none; }
.mod_iso_productreader, .mod_iso_productlist { padding-top:15px; padding-bottom:15px; }
#iso_ajaxBox { width:80%; left:0; right:0; top:35%; position:fixed; margin-right:5%; margin-left:5%; padding-right:4%; padding-left:4%; }
.mod_iso_productreader .back a:hover { margin-top:15px; margin-bottom:15px; padding:0 5px; background-color:rgba(0,43,78,.35); border:1px solid #fff; text-decoration:none; color:#fff; box-shadow: #000000 0px 0px 25px; }
.mod_iso_productreader .back { width:90%; margin-right:auto; margin-left:auto; }
.product_list .submit, .product .submit { margin-top:15px; margin-bottom:15px; padding:5px; background-color:rgba(0,43,78,.7); border:1px solid #fff; text-decoration:none; color:#fff; }
.mod_iso_cart .remove a:hover, .mod_iso_cart .checkout .button:hover { margin-top:15px; margin-bottom:15px; padding:0 5px; background-color:rgba(0,43,78,.35); border:1px solid #fff; color:#fff; box-shadow: #000000 0px 0px 25px; }
.mod_iso_cart .remove { width:90%; }
.mod_iso_cart { padding-top:15px; padding-bottom:15px; }
.mod_iso_cart .remove a, .mod_iso_cart .checkout .button { margin-top:15px; margin-bottom:15px; padding:0 5px; background-color:rgba(0,43,78,.7); border:1px solid #fff; text-decoration:none; color:#fff; }
.mod_iso_productreader .back a { margin-top:15px; margin-bottom:15px; padding:0 5px; background-color:rgba(0,43,78,.7); border:1px solid #fff; text-decoration:none; color:#fff; }
#link-empfehlung .banner_text_url a { font-size:100%; text-decoration:none; color:rgba(255,255,255,.65); }
#link-empfehlung .banner_text_comment { font-style:italic; }
#link-empfehlung .banner_text_name a { font-size:125%; text-decoration:none; color:#fff; text-shadow: #000000 1px 1px 1px; }
#f2 .submit, #f1 .submit, #f4 .submit, #tl_logout .submit, #tl_login .submit { margin-top:15px; margin-bottom:15px; padding:5px; background-color:rgba(0,43,78,.7); border:1px solid #fff; color:#fff; font-size: 16px; }
#f2 .submit:hover, #f1 .submit:hover, #f4 .submit:hover, #tl_logout .submit:hover, #tl_login .submit:hover { margin-top:15px; margin-bottom:15px; padding:5px; background-color:rgba(0,43,78,.35); border:1px solid #fff; color:#fff; box-shadow: #000000 0px 0px 25px; }
#f2 fieldset, #f4 fieldset { width:100%; margin-right:auto; margin-bottom:25px; margin-left:auto; padding-right:0; padding-left:0; border:1px solid #fff; box-sizing:border-box; }
.ce_comments .form .submit:hover { margin-top:15px; margin-bottom:15px; padding:5px; background-color:rgba(0,43,78,.35); border:1px solid #fff; color:#fff; box-shadow: #000000 0px 0px 25px; }
.ce_comments .form .submit_container { width:90%; height:auto; margin:15px auto; }
#f2 .submit_container, #f1 .submit_container, #f4 .submit_container { width:90%; height:auto; margin:15px auto; }
.ce_comments .form .widget label { width:100%; height:auto; display: flex; }
#f2 .widget label, #f1 .widget label { width:80%; height:auto; display: flex; }
.ce_comments .form .widget { width:90%; margin:15px auto; }
#f2 .widget, #f1 .widget, #f4 .widget { width:100%; margin:15px auto; boxsizing:border-box; }
#f2 .text { width:90%; }
.ce_comments .form .widget .captcha { width:50px; height:30px; margin-top:15px; border:0; }
.ce_comments .form .widget .text { width:100%; height:30px; background-color:#fff; border:0px; }
.ce_comments .form .widget .textarea { width:100%; height:250px; background-color:#fff; border:0px; }
#f2 .widget .text, #f2 .widget .textarea, #f2 .widget select, #f1 .widget .text, #f1 .widget select, #f4 .widget .text, #f4 .widget .textarea, #f4 .widget select, #tl_logout .text, #tl_login .text { width:100%; height:30px; margin-right:auto; margin-left:auto; background-color:#fff; border:0px; }
#f2 .text, #f2 .widget .textarea, #f1 .widget .text, #f1 .widget select { width:90%; height:30px; margin-right:auto; margin-left:auto; background-color:#fff; border:0px; }
#f2 .widget .text:hover, #f2 .widget .textarea:hover, #f2 .widget select:hover, #f1 .widget .text:hover, #f1 .widget .textarea:hover, #f1 .widget select:hover, #f4 .widget .text:hover, #f4 .widget .textarea:hover, #f4 .widget select:hover, #tl_logout .text:hover, #tl_login .text:hover { box-shadow: #000000 0px 0px 25px; }
.ce_comments .pagination li { display:inline-block; }
.ce_comments .pagination a { text-decoration:none; color:#fff; }
.ce_comments .pagination a:hover { color: rgba(255,255,255,.65); }

/* ==========================================================================
   AB HIER: DEAKTIVIERTES & BEREINIGTES INTERNES CSS (SCHRITTWEISE SCHALTBAR)
   ========================================================================== */

.mm-panels {
    box-shadow: #000 0px 15px 15px;
}
.mm-listitem::after {
    right: 20px;
}
.mm-panel {
    background-color: #002b4e;
}
.mm-panel .active {
    margin-left: 20px;
    padding-top: 12px;
    padding-bottom: 12px;
    color: #fff;
}
.mm-panel .sibling {
    color: rgba(255,255,255,.7);
}
.changelanguage {
    font-size: 90%;
    text-align: right;
}
.changelanguage a:hover {
    color:rgba(255,255,255,1);
}
.changelanguage a {
    margin-bottom: 0;
    padding-top: 25px;
    text-decoration: none;
    color: rgba(255,255,255,.7);
    text-shadow: none;
}
.translate img {
    border: #fff 1px solid;
    margin: 5px;
}
@-webkit-keyframes hideit {
    0% { opacity: 1; }
    25% { opacity: 1; }
    50% { opacity: 0.8; }
    65% { opacity: 0.6; }
    75% { opacity: 0.1; }
    85% { opacity: 0; height: 91px; margin-top: 15px; margin-bottom: 15px}
    95% { opacity: 0; }
    100% { opacity: 0; height: 0px; margin: 0px; visibility: hidden;}
}
.translate {
    -webkit-animation-name: hideit;
    -webkit-animation-duration: 15s;
    -webkit-animation-timing-function: ease-in-out;
    -webkit-animation-delay: 0s;
    -webkit-animation-iteration-count: 1;
    -webkit-animation-fill-mode: forwards;
}
.translate {
    border: #fff 1px solid;
    margin-top: 15px;
    margin-bottom: 15px;
    background-color: #002b4e;
    background-image: url("/files/Mediadaten/System-Images/riffle-bg.png");
}
.translate p {
    padding: 5px;
    margin: 0px;
}
.nachruf .image_container {
    padding-top: 0px;
    padding-bottom: 0px;
}
.nachruf h2 {
    font: 165%/40px Cairo;
    font-weight: normal;
    font-size: 165%;
    font-weight: bold;
    color: #fff;
    text-shadow: #000 0px 0px 5px;
}
.nachruf img {
    border: #fff 1px solid;
}
@keyframes cookiebar {
    0%   {opacity: 0;}
    25%  {opacity: 0;}
    50%  {opacity: 0;}
    75%  {opacity: 0.5;}
    100% {opacity: 1;}
}
.cookiebar {
    animation: cookiebar 10s;
}
.bg8 h2 {
    font: 165%/40px Cairo;
    font-weight: normal;
    font-size: 165%;
    font-weight: bold;
    color: #fff;
    text-shadow: #000 0px 0px 5px;
}
.bg8 {
    width: 90%;
    margin-right: auto;
    margin-left: auto;
    padding-right: 10px;
    padding-left: 10px;
    overflow: visible;
    background: rgba(5,163,0,.7) url("../../files/Mediadaten/System-Images/Achtung-Icon.jpg") right top no-repeat;
    border: 1px solid #fff;
}
.ui-widget-content {
    color:#fff;
    background: none;
}
.ce_comments .pagination .active {
    padding-right: 5px;
    padding-left: 5px;
    border: 1px solid #fff;
}
.ui-accordion-header-icon {
    display: none;
}
.ui-state-default {
    background: 0;
    font-weight: normal;
    color: #fff;
}
.ui-corner-all,
.ui-corner-top {
    border: none;
    border-radius: 0 !important;
}
img.ui-datepicker-trigger {
    width: 34px;
    height: 34px;
    padding-top: 9px;
    top: 11px;
    position: relative;
    margin-left: 15px;
}
#ctrl_96 {
    width: 85% !important;
    height: 30px;
}
#billingaddress_new .text.error {
    border: 1px solid red;
}
label.mandatory.error::after {
    color: red;
    content: "fehlt"
}
#billingaddress_new p.error {
    display: none;
}
#billingaddress_new .widget {
    margin-top: 5px;
    margin-bottom: 5px;
}
#ctrl_billingaddress_subdivision.select,
#ctrl_billingaddress_country.select {
    width: 50%;
    height: 30px;
    display: inline-block;
    float: right;
}
p.error {
    margin-top:0;
    margin-left:0;
    padding-top:0;
    color:#ffd000;
}
label.mandatory.error {
}
.info-rot .checkbox_container {
    background-color:rgba(192,0,0,.5);
}
.kalender-thump figure {
    line-height: 0;
}
.kalender-thump img {
    display:block;
}
.content-download .mime_icon {
    display:none !important;
}
.content-download a {
    font-weight:bold;
    text-decoration:none;
    color:#fff;
}
.content-download {
    margin-bottom:25px;
    text-align:center;
}
.kalender-thump {
    width:35%;
    height:auto;
    margin-right:auto;
    margin-bottom:25px;
    margin-left:auto;
    text-align:center;
    border:1px solid #fff;
}
.datepicker_bootstrap .days .day.selected,
.datepicker_bootstrap .days .day.selected:hover {
    background-color:#002b4e;
}
#tl_login,
#tl_logout {
    width:90%;
    height:auto;
    margin-right:auto;
    margin-left:auto;
}

#qs-images {
    width: 100% !important;
    height: 100%;
    min-width: 208px;
    min-height: 316px;
    margin: 0 auto 20px auto !important;
    text-align: center;
    background: rgba(0, 43, 78, 0.7) url(../../files/Mediadaten/System-Images/bg-riffel.png) center center repeat;
    border: 1px solid #fff !important;
    box-sizing: border-box;
}
.bg4 {
    width:90%;
    margin-right:auto;
    margin-left:auto;
    padding-right:10px;
    padding-left:10px;
}
#anfahrt iframe {
    width: 100% !important;
    height: 450px !important;
    box-sizing: border-box;
    border: none !important;
    display: block;
}
.widget-explanation a {
    text-decoration:none;
    color:rgba(255,255,255,.7);
}
.widget-explanation a:hover {
    text-decoration:none;
    color:rgba(255,255,255,1);
}
#f2 .widget-checkbox,
#f4 .widget-checkbox {
    width: 100% !important;
}
#f1 .checkbox span,
#f2 .checkbox span {
    display: inline-flex;
}
#f2 .widget .checkbox label,
#f1 .widget .checkbox label {
    display: inline-flex !important;
}
video {
    width:100%;
    height:100%;
    display: block;
}
video.gezeitenzyklus {
    width:100%;
    height:100%;
    max-width:354px;
    max-height:290px;
    margin-right:auto;
    margin-left:auto;
    border:1px solid #fff;
    display: block;
    box-shadow: #000000 0px 0px 15px;
}
.vorne-bg6 img {
    margin-top:30px;
}
.vorne-bg6 {
    width:200px;
    height:200px;
    background-position:center center;
    background-repeat:no-repeat;
    background:-moz-linear-gradient(135deg,#dedede 10%,#fff 50%,#dedede 90%);
    background:-webkit-linear-gradient(135deg,#dedede 10%,#fff 50%,#dedede 90%);
    background:-o-linear-gradient(135deg,#dedede 10%,#fff 50%,#dedede 90%);
    background:-ms-linear-gradient(135deg,#dedede 10%,#fff 50%,#dedede 90%);
    background:linear-gradient(-45deg,#dedede 10%,#fff 50%,#dedede 90%);
    -pie-background:linear-gradient(135deg,#dedede 10%,#fff 50%,#dedede 90%);
    z-index:-1;
    transition: transform 1.0s ease;
}
.vorne-bg1 {
    background-image:url("/files/Mediadaten/System-Images/Menue-Grafiken/u434-u434-besuch.jpg");
    width: 200px;
    height: 200px;
    transition: transform 1.0s ease;
}
.vorne-bg2 {
    background-image:url("/files/Mediadaten/System-Images/Menue-Grafiken/u434-die-u434.jpg");
    width: 200px;
    height: 200px;
    transition: transform 1.0s ease;
}
.vorne-bg3 {
    background-image:url("/files/Mediadaten/System-Images/Menue-Grafiken/u434-gutscheinkarten.jpg");
    width: 200px;
    height: 200px;
    transition: transform 1.0s ease;
}
.vorne-bg4 {
    background-image:url("/files/Mediadaten/System-Images/Menue-Grafiken/u434-webcam.jpg");
    width: 200px;
    height: 200px;
    transition: transform 1.0s ease;
}
.vorne-bg5 {
    background-image:url("/files/Mediadaten/System-Images/Menue-Grafiken/u434-interessantes.jpg");
    width: 200px;
    height: 200px;
    transition: transform 1.0s ease;
}
.startmenu {
    margin:15px;
    width: 200px;
    height: 200px;
    overflow: hidden;
}
.startmenu:hover .vorne-bg1,
.startmenu:hover .vorne-bg2,
.startmenu:hover .vorne-bg3,
.startmenu:hover .vorne-bg4,
.startmenu:hover .vorne-bg5,
.startmenu:hover .vorne-bg6 {
    width: 200px;
    height: 200px;
    -ms-transform: translateY(-200px); /* IE 9 */
    -webkit-transform: translateY(-200px); /* Chrome, Safari, Opera */
    transform: translateY(-200px);
    opacity: 1.0;
    transition: transform 1.0s ease;
}
.startmenu:hover .hinten {
    width: 200px;
    height: 200px;
    -ms-transform: translateY(-200px); /* IE 9 */
    -webkit-transform: translateY(-200px); /* Chrome, Safari, Opera */
    transform: translateY(-200px);
    transition: transform 1.0s ease;
}
.hinten {
    background-color:rgba(0,43,78,.7);
    width: 200px;
    height: 200px;
    transition: transform 1.0s ease;
}
.gezeitenzyklus video,
.gezeitenzyklus .mejs-container {
    width:100%;
    height:auto;
    max-width:352px;
    max-height:288px;
    margin-right:auto;
    margin-left:auto;
}
.gezeitenzyklus video {
    border:1px solid #fff;
    box-sizing: border-box;
    box-shadow: #000000 0px 0px 15px;
}
.gezeitenzyklus .mejs-controls,
.video-startseite .mejs-controls {
    display:none !important;
}
.video-startseite .video,
.video-startseite .mejs-container {
    width:100%;
    height:auto;
    max-width:710px;
    max-height:484px;
    display: block;
}
/* 1. Wir nehmen dem Artikel mit dem Video das Padding weg */
.mod_article:has(video.video-startseite) {
    padding: 0 !important;
}

/* 2. Wir sorgen dafür, dass das Video die vollen 100% bis zum Rahmen ausfüllt */
video.video-startseite {
    display: block !important;
    width: 100% !important;
    height: auto !important;
    margin: 0 !important;
}

/* 3. Falls NOCH ETWAS in diesem Artikel steht (z.B. der Text unter dem Video), 
      bekommt das die 15px Abstand zurück, damit es nicht am Rahmen klebt */
.mod_article:has(video.video-startseite) > *:not(video.video-startseite) {
    margin-left: 15px !important;
    margin-right: 15px !important;
    /* Falls es das letzte Element ist, auch nach unten Abstand */
    margin-bottom: 15px !important; 
}
.ce_player {
    margin-right:auto;
    margin-left:auto;
    text-align:center;
}
.mod_sitemap a {
    text-decoration:none;
    color:#fff;
}
.cookiebar {
    background-color:#002b4e;
}
.theme-sonar {
    display:none;
}
.mejs-overlay-button {
    margin: -50px 0 0 -50px;
}
#f1 .textarea {
    width:100%;
    height:400px;
    font:100% Cairo;
    color:#000;
}
.paypal img {
    width:auto;
    height:30px;
    margin:0;
    padding:5px;
    background-color:#fff;
}
.paypal a {
    display: flex;
}
.paypal td {
    margin:0;
    padding:0;
}
.zahlungsmoeglichkeiten {
    font-weight:bold;
}
.paypal,
.vorkasse {
    display: inline-flex;
}
.zahlungsmoeglichkeiten {
    padding:5px;
    text-align:center;
    background-image:url("/files/Mediadaten/System-Images/riffle-bg.png");
    border:1px solid #fff;
}
.content-gallery figcaption {
    background-color:#002b4e;
    font-size:85%;
    line-height:15px;
    width:100%;
    box-sizing: border-box;
    text-shadow: #000000 0px 1px 0px;
}
.content-gallery .image_container {
    text-align: center;
    margin-left: auto;
    justify-content: center;
    align-items: center;
}
#cboxTitle {
    width:97%;
    height:45px;
    top:-57px;
    position:absolute;
    margin-right:auto;
    margin-left:auto;
    line-height:17px;
    color:#000;
    position:inherit;
    float:none !important;
}
#cboxCurrent {
    font-size:70%;
    color:#fff;
}
#cboxLoadedContent {
    border-top:5px solid #fff;
    border-right:5px solid #fff;
    border-bottom:60px solid #fff;
    border-left:5px solid #fff;
}
.content-gallery ul li {
    max-width:214px;
    float:none;
    margin:15px;
    display: inline-block;
    top:0px;
}
.content-gallery.gal-abt ul li {
    float:none;
    margin:0;
    display: inline-flex;
    top:0px;
}
.bootinfo h1 {
    height:auto;
    margin:0;
    padding:0 15px;
    background-color:#002b4e;
    margin-left: 0px !important;
    width: 100% !important;
	box-sizing:border-box;
}
.content-gallery {
    margin-bottom:15px;
}
/* ============================================================
   4. SEKTIONS-TABELLE (#bootinfo) - OPTIMIERT & FEHLERFREI
   ============================================================ */

/* Das umschließende Element */
.bootinfo {
    width: 100%;
    height: auto;
    margin-right: auto;
    margin-left: auto;
    border: 1px solid #fff;
    margin-bottom: 15px !important;
    box-sizing: border-box;
}

.bootinfo table {
    width: 100%;
    height: auto;
    border-collapse: collapse; /* Sorgt dafür, dass die Zellränder sauber abschließen */
}

.ce_table.bootinfo {
    background-image: url("/files/Mediadaten/System-Images/riffle-bg.png");
}

/* Linke Spalte (Bezeichnungen) */
/* FIX: Doppelpunkt statt Punkt für die Pseudoklasse */
.bootinfo td:first-child {
    width: 60%;
    padding: 10px 15px !important; /* Erhöhter Textabstand: 10px oben/unten, 15px links/rechts */
    background-color: rgba(0, 43, 78, .7);
    color: #fff; /* Einheitliches Weiß */
}

/* Rechte Spalte (Die technischen Werte) */
/* FIX: Doppelpunkt statt Punkt; Textfarbe von Rot (#c00) auf Weiß geändert */
.bootinfo td:last-child {
    width: 40%;
    padding: 10px 15px !important; /* Erhöhter Textabstand analog zur linken Spalte */
    background-color: rgba(0, 43, 78, .35);
    font-weight: bold;
    color: #ffffff; /* Rot entfernt, jetzt sauber in Weiß */
    text-shadow: #000000 1px 1px 0px;
}

/* Der Zeilen-Hover-Effekt */
/* Erzeugt beim Überfahren eine dezente, edle Aufhellung der gesamten Tabellenzeile */
.bootinfo tr {
    transition: background-color 0.2s ease; /* Macht das Aufleuchten weicher */
}

.bootinfo tr:hover td {
    background-color: rgba(255, 255, 255, 0.18) !important; /* Überschreibt die Spalten-BGs beim Hovern */
    cursor: default; /* 'help' (Fragezeichen) entfernt, da es eine normale Datentabelle ist */
}
.complete {
    width:90%;
    margin-right:auto;
    margin-left:auto;
}
.error .message {
    width:90%;
    margin-right:auto;
    margin-left:auto;
}
code {
    font-family:Cairo;
    color:#fff;
}
.mod_iso_cart .name {
    margin-top:25px;
    margin-bottom:5px;
    background-color:rgba(255,255,255,.05);
}
.mod_iso_cart .price,
.mod_iso_cart .subtotal {
    text-align:right;
}
.mod_iso_cart ul,
.mod_iso_cart .price,
.mod_iso_cart .subtotal {
    background-color:rgba(255,255,255,.05);
}
.mod_iso_cart ul {
    margin-top:5px;
    margin-bottom:5px;
}
#iso_mod_checkout_review li {
    color:rgba(255,255,255,.65);
}
#iso_mod_checkout_review table tr {
    background-color:rgba(255,255,255,.05);
}
#iso_mod_checkout_review table tfoot .col_0 {
    display:none;
}
#iso_mod_checkout_review table td.image {
    display:none;
}
#iso_mod_checkout_review table td.name ul {
    padding-left:15px;
}
#iso_mod_checkout_review table td.name {
    width:30%;
}
#iso_mod_checkout_review table td.quantity {
    width:10%;
}
#iso_mod_checkout_review table td.price,
#iso_mod_checkout_review table td.total {
    width:20%;
    text-align:right;
}
#iso_mod_checkout_review table {
    width:100%;
}
#iso_mod_checkout_review a {
    padding-top: 0px !important;
    padding-bottom: 0px !important;
}
fieldset {
    margin-right:0;
    margin-left:0;
    border:1px solid #fff;
}
fieldset legend {
    padding-right:10px;
    padding-left:10px;
    font-weight:bold;
}
#iso_mod_checkout_shipping label,
#iso_mod_checkout_payment label {
    font-weight:bold;
}
#iso_mod_checkout_shipping label span,
#iso_mod_checkout_payment label span {
    font-weight:normal;
}
#iso_mod_checkout_address .submit,
#iso_mod_checkout_shipping .submit,
#iso_mod_checkout_payment .submit,
#iso_mod_checkout_review .edit,
#iso_mod_checkout_review .submit {
    margin-top:15px;
    margin-bottom:15px;
    padding:5px;
    background-color:rgba(0,43,78,.7);
    border:1px solid #fff;
    text-decoration:none;
    color:#fff;
}
#iso_mod_checkout_address .submit:hover,
#iso_mod_checkout_shipping .submit:hover,
#iso_mod_checkout_payment .submit:hover,
#iso_mod_checkout_review .edit:hover,
#iso_mod_checkout_review .submit:hover {
    margin-top:15px;
    margin-bottom:15px;
    padding:5px;
    background-color:rgba(0,43,78,.35);
    border:1px solid #fff;
    color:#fff;
    box-shadow: #000000 0px 0px 25px;
}
#billingaddress_new {
    width:100%;
    height:auto;
}
#billingaddress_new table {
    width:100%;
    height:auto;
}
#billingaddress_new table td {
    width:50%;
    padding-right:0;
    padding-left:0;
}
#billingaddress_new table input {
    width:100%;
    min-height:25px;
    padding-right:0;
    padding-left:0;
    border:0;
}
#billingaddress_new .text {
    min-height:25px;
    padding-right:0;
    padding-left:0;
    border:0;
    width: 50%;
    display: inline-block;
    float: right;
}
#billingaddress_new table select option {
    padding-right:0;
    padding-left:0;
}
.mod_iso_checkout ol {
    margin-right:0;
    margin-left:0;
    padding-left:15px;
}
.mod_iso_checkout ol .active {
    font-weight:bold;
    color:rgba(255,255,255,1);
}
#iso_mod_checkout_address,
.mod_iso_checkout .steps,
#iso_mod_checkout_shipping,
#iso_mod_checkout_payment,
#iso_mod_checkout_review,
.mod_iso_cart,
.mod_iso_checkout,
.mod_sitemap {
    width:90%;
    margin-right:auto;
    margin-left:auto;
}
#iso_mod_checkout_review .info_container {
    margin-bottom:15px;
    padding:15px;
    background-color:rgba(0,43,78,.35);
}
#iso_mod_checkout_review .billing_address .vcard a {
    text-decoration:none;
    color:#fff;
}
.mod_iso_checkout li .active {
    font-weight:bold;
    color:rgba(255,255,255,1);
}
.mod_iso_checkout li {
    color:rgba(255,255,255,.35);
}
.mod_iso_checkout li .passed {
    color:rgba(255,255,255,.7);
}
.product_list .offer .price,
.product .offer .price {
    font-size:125%;
    color:#fff;
}
.product_list .sku,
.product .sku {
    font-size:80%;
    color:rgba(255,255,255,.35);
}
.product_list .formbody .teaser {
    display:none;
}
.product_list .formbody .quantity_container,
.product .formbody .quantity_container {
    margin-top:15px;
    margin-bottom:15px;
}
.product_list .details a:hover,
.product .details a:hover {
    text-decoration:none;
    color:rgba(255,255,255,1);
}
.product_list h3,
.product_list h3 a,
.product h3,
.product h3 a,
.mod_iso_cart .name a {
    font-size:125%;
    text-decoration:none;
    color:#fff;
}
.mod_iso_cart .product {
    margin-top:15px;
    margin-bottom:25px;
}
.mod_iso_cart .subtotal {
    width:90%;
    margin-right:auto;
    margin-bottom:25px;
    margin-left:auto;
    text-align:right;
    font-size:125%;
    color:#fff;
}
.mod_iso_cart .checkout {
    width:90%;
    margin-right:auto;
    margin-left:auto;
}
.product_list,
.product {
    width:90%;
    margin-right:auto;
    margin-left:auto;
}
.shop-button-area button:hover {
    margin-top:15px;
    margin-bottom:15px;
    padding:5px;
    background-color:rgba(0,43,78,.35);
    border:1px solid #fff;
    color:#fff;
    box-shadow: #000000 0px 0px 25px;
}
.shop-button-area {
    margin-right:auto;
    margin-left:auto;
    text-align:center;
    background-color:rgba(255,255,255,.15);
}
.shop-button-area button {
    margin:15px 5px;
    padding:5px;
    background-color:rgba(0,43,78,.7);
    border:1px solid #fff;
    font-size:125%;
    color:#fff;
}
.product_list .product_even {
    padding-right:15px;
    padding-left:15px;
    background-color:rgba(0,43,78,.7);
}
.product_list .product_odd {
    padding-right:15px;
    padding-left:15px;
    background-color:rgba(255,255,255,.15);
}
.product_list .radio_container,
.product .radio_container {
    display: grid;
}
.product_list .details a,
.product .details a {
    text-decoration:none;
    color:rgba(255,255,255,.35);
}
.product_list .submit:hover,
.product .submit:hover {
    margin-top:15px;
    margin-bottom:15px;
    padding:5px;
    background-color:rgba(0,43,78,.35);
    border:1px solid #fff;
    color:#fff;
    box-shadow: #000000 0px 0px 25px;
}
.product_list .offer,
.product_list .details,
.product_list .submit_container {
    display:none;
}
.mod_iso_productreader,
.mod_iso_productlist {
    padding-top:15px;
    padding-bottom:15px;
}
#iso_ajaxBox {
    width:80%;
    left:0;
    right:0;
    top:35%;
    position:fixed;
    margin-right:5%;
    margin-left:5%;
    padding-right:4%;
    padding-left:4%;
}
.mod_iso_productreader .back a:hover {
    margin-top:15px;
    margin-bottom:15px;
    padding:0 5px;
    background-color:rgba(0,43,78,.35);
    border:1px solid #fff;
    text-decoration:none;
    color:#fff;
    box-shadow: #000000 0px 0px 25px;
}
.mod_iso_productreader .back {
    width:90%;
    margin-right:auto;
    margin-left:auto;
}
.product_list .submit,
.product .submit {
    margin-top:15px;
    margin-bottom:15px;
    padding:5px;
    background-color:rgba(0,43,78,.7);
    border:1px solid #fff;
    text-decoration:none;
    color:#fff;
}
.mod_iso_cart .remove a:hover,
.mod_iso_cart .checkout .button:hover {
    margin-top:15px;
    margin-bottom:15px;
    padding:0 5px;
    background-color:rgba(0,43,78,.35);
    border:1px solid #fff;
    color:#fff;
    box-shadow: #000000 0px 0px 25px;
}
.mod_iso_cart .remove {
    width:90%;
}
.mod_iso_cart {
    padding-top:15px;
    padding-bottom:15px;
}
.mod_iso_cart .remove a,
.mod_iso_cart .checkout .button {
    margin-top:15px;
    margin-bottom:15px;
    padding:0 5px;
    background-color:rgba(0,43,78,.7);
    border:1px solid #fff;
    text-decoration:none;
    color:#fff;
}
.mod_iso_productreader .back a {
    margin-top:15px;
    margin-bottom:15px;
    padding:0 5px;
    background-color:rgba(0,43,78,.7);
    border:1px solid #fff;
    text-decoration:none;
    color:#fff;
}
#link-empfehlung .banner_text_url a {
    font-size:100%;
    text-decoration:none;
    color:rgba(255,255,255,.65);
}
#link-empfehlung .banner_text_comment {
    font-style:italic;
}
#link-empfehlung .banner_text_name a {
    font-size:125%;
    text-decoration:none;
    color:#fff;
    text-shadow: #000000 1px 1px 1px;
}

.ce_comments .pagination {
    width:100%;
    height:auto;
    margin-right:auto;
    margin-left:auto;
    padding-right:5px;
    padding-left:5px;
    text-align:center;
    background-color:rgba(0,43,78,.7);
    border:1px solid #fff;
	box-sizing:border-box;
}
.ce_comments .pagination ul {
    margin-right:0;
    margin-left:0;
    padding-right:0;
    padding-left:0;
    list-style-type:none;
}
.ce_comments .pagination .current {
    padding-right:5px;
    padding-left:5px;
    border:1px solid #fff;
}
.ce_comments .pagination p {
    font-weight:bold;
}
.ce_comments .form {
    width:100%;
    height:auto;
    margin:15px auto;
    padding:5px;
    background-color:rgba(0,43,78,.7);
    border:1px solid #fff;
	box-sizing: border-box;
}
.ce_comments .form .submit {
    margin-top:15px;
    margin-bottom:15px;
    padding:5px;
    background-color:rgba(0,43,78,.7);
    border:1px solid #fff;
    color:#fff;
}
#f2 .submit,
#f1 .submit,
#f4 .submit,
#tl_logout .submit,
#tl_login .submit {
    margin-top:15px;
    margin-bottom:15px;
    padding:5px;
    background-color:rgba(0,43,78,.7);
    border:1px solid #fff;
    color:#fff;
    font-size: 16px;
}
#f2 .submit:hover,
#f1 .submit:hover,
#f4 .submit:hover,
#tl_logout .submit:hover,
#tl_login .submit:hover {
    margin-top:15px;
    margin-bottom:15px;
    padding:5px;
    background-color:rgba(0,43,78,.35);
    border:1px solid #fff;
    color:#fff;
    box-shadow: #000000 0px 0px 25px;
}
#f2 fieldset,
#f4 fieldset {
    width:100%;
    margin-right:auto;
    margin-bottom:25px;
    margin-left:auto;
    padding-right:0;
    padding-left:0;
    border:1px solid #fff;
	box-sizing:border-box;
}
.ce_comments .form .submit:hover {
    margin-top:15px;
    margin-bottom:15px;
    padding:5px;
    background-color:rgba(0,43,78,.35);
    border:1px solid #fff;
    color:#fff;
    box-shadow: #000000 0px 0px 25px;
}
.ce_comments .form .submit_container {
    width:90%;
    height:auto;
    margin:15px auto;
}
#f2 .submit_container,
#f1 .submit_container,
#f4 .submit_container {
    width:90%;
    height:auto;
    margin:15px auto;
}
.ce_comments .form .widget label {
    width:100%;
    height:auto;
    display: flex;
}
.ce_comments .form .widget {
    width:90%;
    margin:15px auto;
}
#f2 .widget,
#f1 .widget,
#f4 .widget {
    width:90%;
    margin:15px auto;
}
.ce_comments .form .widget .captcha {
    width:50px;
    height:30px;
    margin-top:15px;
    border:0;
}
.ce_comments .form .widget .text {
    width:100%;
    height:30px;
    background-color:#fff;
    border:0px;
}
.ce_comments .form .widget .textarea {
    width:100%;
    height:250px;
    background-color:#fff;
    border:0px;
}
#f2 .widget .text,
#f2 .widget .textarea,
#f2 .widget select,
#f1 .widget .text,
#f1 .widget select,
#f4 .widget .text,
#f4 .widget .textarea,
#f4 .widget select,
#tl_logout .text,
#tl_login .text {
    width:100%;
    height:30px;
    margin-right:auto;
    margin-left:auto;
    background-color:#fff;
    border:0px;
}
#f2 .widget .text:hover,
#f2 .widget .textarea:hover,
#f2 .widget select:hover,
#f1 .widget .text:hover,
#f1 .widget .textarea:hover,
#f1 .widget select:hover,
#f4 .widget .text:hover,
#f4 .widget .textarea:hover,
#f4 .widget select:hover,
#tl_logout .text:hover,
#tl_login .text:hover {
    box-shadow: #000000 0px 0px 25px;
}
.ce_comments .pagination li {
    display:inline-block;
}
.ce_comments .pagination a {
    text-decoration:none;
    color:#fff;
}
.ce_comments .pagination a:hover {
    color:rgba(255,255,255,.65);
}
#link-empfehlung .banner_wrap:hover {
    width:100%;
    height:auto;
    margin:15px auto;
    background-color:rgba(0,43,78,.35);
    border:1px solid #fff;
    box-shadow: #000000 0px 0px 25px;
	box-sizing:border-box;
}
#link-empfehlung .banner_wrap {
    width:100%;
    height:auto;
    margin:15px auto;
    background-color:rgba(0,43,78,.7);
    border:1px solid #fff;
	box-sizing:border-box;
}
#header,
.logomenu-area {
    display:none;
}
#premium-banner {
    width:100%;
    height:auto;
    max-width:710px;
    max-height:80px;
    border:1px solid #fff;
}
.gal-all {
    width:95%;
    background-color:#d1d1d1;
    border:1px solid #fff;
}
.gal-all img {
    border-top:5px solid #fff;
    border-right:5px solid #fff;
    border-bottom:20px solid #fff;
    border-left:5px solid #fff;
}
.content-gallery ul {
    margin-left:0;
}
.toggler {
    cursor:pointer;
}
.contentbox {
    width:100%;
    min-width:45%;
    margin:15px auto;
    background:#002b4e url("/files/Mediadaten/Images/Grafiken/gal-bg.jpg") center top repeat;
    border:1px solid #fff;
	box-sizing:border-box;
}
.fcenter {
    text-align:center;
}
.data strong {
}
.ui-accordion-header {
    background-color:rgba(0,43,78,.7);
    margin-top: 5px;
}
.ui-accordion-header:hover {
    background-color:rgba(0,43,78,.45);
}
.ui-accordion-header.active:before {
    padding-right:5px;
    padding-left:5px;
    font:100% Cairo;
    color:#fff;
    content: "-";
}
.ui-accordion-header:before {
    padding-right:5px;
    padding-left:5px;
    font:100% Cairo;
    color:#fff;
    content: "+";
}
#f2 .captcha,
#f1 .captcha,
#f4 .captcha {
    width:35px;
    height:30px;
    padding:0;
    border:0;
}
#f2 .CalendarFieldIcon,
#f4 .CalendarFieldIcon {
    width:30px;
    height:30px;
    margin-top:-1%;
    margin-left:3%;
    vertical-align:middle;
}
#f2 table,
#f1 table,
#f4 table {
    width:95%;
    margin-right:auto;
    margin-left:auto;
    border-collapse:collapse;
    border-spacing:0;
}
#f2 tr,
#f1 tr,
#f4 tr {
    background-color:#f20f0f;
}

/* ============================================================
   NEU GESTALTETE BILD-GALERIE (3 SPALTEN NEBENEINANDER)
   ============================================================ */

/* Der umschließende Container */
.gal-abt {
    width: 100%;
    margin-right: auto;
    margin-left: auto;
    background-color: rgba(0, 43, 78, .7);
    border: 1px solid #fff;
    box-sizing: border-box;
    padding: 20px !important; /* Gleicher Abstand rundherum für die gesamte Box */
}

/* Die Liste wird zur Flexbox-Reihe */
.gal-abt ul {
    display: flex !important;
    flex-direction: row !important;
    justify-content: space-between !important; /* Verteilt die 3 Kacheln gleichmäßig */
    align-items: center !important;     /* Zentriert die Bilder vertikal perfekt */
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;        /* Entfernt eventuelle Listpunkte */
}

/* Die einzelnen Listen-Elemente (Die Spalten) */
.gal-abt li {
    width: 31% !important; /* Platz für 3 Spalten nebeneinander + Abstand dazwischen */
    margin: 0 !important;
    padding: 0 !important;
    text-align: center !important;
}

/* Die Figure- und Link-Container zurücksetzen */
.gal-abt figure {
    margin: 0 !important;
    padding: 0 !important;
}

.gal-abt .image_container a,
.content-gallery .image_container a {
    margin-top: 0 !important; /* Löscht den alten -40px Versatz, der das Layout zerschießt */
    padding: 0 !important;
    display: block !important;
}

/* Die eigentlichen Bilder */
.gal-abt img {
    display: block !important;
    width: 100% !important;   /* Macht die Bilder voll flexibel innerhalb ihrer Spalte */
    height: auto !important;  /* Behält das korrekte Seitenverhältnis bei */
    max-width: 100% !important;
    
    /* Deine weißen Ränder um die Bilder */
    border-top: 5px solid #fff !important;
    border-right: 5px solid #fff !important;
    border-bottom: 20px solid #fff !important; /* Polarisierter Foto-Effekt unten */
    border-left: 5px solid #fff !important;
    box-sizing: border-box !important;
}

/* Hover-Effekt */
.content-gallery img:hover {
    box-shadow: #000 0px 0px 30px !important;
    -webkit-transition: ease 0.5s;
    transition: ease 0.5s;
}

/* Sichtbarkeits-Fix */
.mod_article,
.ce_comments,
.content-gallery ul,
.content-gallery li {
    overflow: visible !important;
}

/* Artikel */
.datatext {
    width:90%;
    position:relative;
    margin-right:auto;
    margin-left:auto;
    text-align:justify;
}
.datatext h1 {
    text-align:left;
}

/* Artikel */
.data1,
.data2 {
    width:90%;
    max-width:90%;
    margin-right:auto;
    margin-left:auto;
    padding-right:0;
    padding-left:0;
    background-image:url("files/Mediadaten/System-Images/bg-riffel.png");
    background-position:left top;
    background-repeat:repeat;
    border:1px solid rgba(255,255,255,.15);
    margin-top: 15px !important;
    margin-bottom: 15px !important;
    padding-left: 0px !important;
    padding-right: 0px !important;
}
.data1 p,
.data2 p,
.data1 h1,
.data2 h1 {
    padding-right:15px;
    padding-left:15px;
}

/* Artikel */
.data1 {
    background-color:rgba(0,43,78,.5);
}

/* Artikel */
.data2 {
    background-color:rgba(0,43,78,.5);
}

/* Artikel */
.data1 strong,
.data2 strong {
    color:#f00;
}

/* Bild-Galerie */
.content-gallery a {
    margin:0;
    padding:0;
}

/* Querschnitt */
.qsb:hover {
    background-color:rgba(255,255,255,.05);
    -webkit-transition: ease 0.5s;
    transition: ease 0.5s;
    cursor: pointer;
}

/* Querschnitt */
.qsb {
    width:100%;
    height:35px;
    min-width:250px;
    margin-top:5px;
    margin-bottom:5px;
    text-align:center;
    background-color:rgba(0,43,68,.9);
    border:1px solid #fff;
}

/* Querschnitt */
.qsb p {
    margin-top:0;
    margin-bottom:0;
    padding-top:0;
    padding-bottom:0;
    line-height:35px;
}

/* Querschnitt */
#qs-images {
    width:100%;
    height:100%;
    min-width:208px;
    min-height:316px;
    margin-right:auto;
    margin-left:auto;
    text-align:center;
    background:rgba(0,43,78,.7) url("../../../files/Mediadaten/System-Images/bg-riffel.png") center center repeat;
    border:1px solid #fff;
}

/* Querschnitt */
#qs-area {
    width:90%;
    height:50%;
    min-width:250px;
    min-height:500px;
    margin-right:auto;
    margin-bottom:25px;
    margin-left:auto;
}

/* Googlemaps */
.map {
    width:100%;
        min-height:500px;
        max-height:650px;
        margin-bottom:-10px;
        border:0px;
}

/* Googlemaps */
.map-ac {
    width:100%;
        min-height:500px;
        max-height:650px;
        margin-bottom:-5px;
        border:0px;
}

/* Googlemaps */
#ui-id-8 {
    padding-top:0;
    padding-bottom:0;
}

/* Googlemaps */
.ce_dlh_googlemaps,
.dlh_googlemap {
    width:100%;
    height:300px;
}
.ce_form h1,
.ce_form h2,
.ce_form h3,
.ce_headline {
    width:90%;
    margin-right:auto;
    margin-left:auto;
}
.ce_table h1,
.ce_table h2,
.ce_table h3 {
    width:90%;
    margin-right:auto !important;
    margin-left:auto !important;
}
p {
    line-height:20px;
}
.explanation {
    padding:10px;
    background-color:rgba(0,43,78,.7);
}

/* Tabelle */
.infotabelle table,
.bo table,
.verweis table {
    width:100%;
    margin-right:auto;
    margin-left:auto;
}

//* ============================================================
   5. BESUCHERORDNUNG (.bo) - COMPAKT & SCHÖN GESTALTET
   ============================================================ */

/* Der umschließende Container */
.bo {
    width: 100%;
    height: auto;
    margin-right: auto;
    margin-left: auto;
    margin-bottom: 15px !important;
    box-sizing: border-box;
}

.bo table {
    width: 100%;
    height: auto;
    border-collapse: collapse; /* Verhindert doppelte Zellränder */
}

/* Sauberer Zeilen-Hover für die gesamte Tabellenzeile */
.bo tr {
    transition: background-color 0.2s ease;
}

.bo tr:hover td {
    background-color: rgba(255, 255, 255, 0.15) !important;
}

/* Erste Spalte (Die Nummern: 01., 02. etc.) */
.bo td:first-child,
.bo th:first-child {
    width: 5%;
    /* Geringer Abstand oben/unten (6px) für enge Zeilen, 15px Abstand zum Rand */
    padding: 6px 15px !important; 
    text-align: left;
    vertical-align: top; /* Richtet die Nummern bei langen Texten sauber oben aus */
    background-color: rgba(0, 43, 78, .7);
    color: #ffffff;
    font-weight: bold;
}

/* Letzte Spalte (Der eigentliche Text der Besucherordnung) */
.bo td:last-child,
.bo th:last-child {
    width: 95%;
    /* Geringer Abstand oben/unten (6px), 15px Abstand zum rechten Rand */
    padding: 6px 15px !important; 
    text-align: justify;
    background-color: rgba(0, 43, 78, .35);
    color: #ffffff;
    
    /* Zwingt die Textzeilen innerhalb der Absätze enger aneinander */
    line-height: 1.35 !important; 
}

/* ============================================================
   6. INFOTABELLE (.infotabelle) - IM LOOK DER BESUCHERORDNUNG
   ============================================================ */

/* Der umschließende Container – Jetzt genau wie bei .bo */
.infotabelle {
    width: 100%;
    height: auto;
    margin-right: auto;
    margin-left: auto;
    margin-bottom: 15px !important;
    box-sizing: border-box;
}

.infotabelle table {
    width: 100%;
    height: auto;
    border-collapse: collapse; /* Verhindert doppelte Ränder im Inneren */
}

/* Sauberer Zeilen-Hover für die gesamte Tabellenzeile */
.infotabelle tr {
    transition: background-color 0.2s ease;
}

.infotabelle tr:hover td {
    background-color: rgba(255, 255, 255, 0.15) !important;
}

/* Linke Spalte (70% Breite, enger Text mit Abstand zum Rand) */
.infotabelle td:first-child,
.infotabelle th:first-child {
    width: 70%;
    padding: 6px 15px !important; /* 6px oben/unten, 15px zum Rand */
    text-align: left;
    vertical-align: top;
    background-color: rgba(0, 43, 78, .7); /* Gleicher dunklerer Ton wie .bo */
    color: #ffffff;
    line-height: 1.35 !important; /* Enger Zeilenabstand */
}

/* Rechte Spalte (30% Breite, enger Text mit Abstand zum Rand) */
.infotabelle td:last-child,
.infotabelle th:last-child {
    width: 30%;
    padding: 6px 15px !important; /* 6px oben/unten, 15px zum Rand */
    text-align: left;
    vertical-align: top;
    background-color: rgba(0, 43, 78, .35); /* Gleicher hellerer Ton wie .bo */
    color: #ffffff;
    line-height: 1.35 !important; /* Enger Zeilenabstand */
}

.content-text p {
    line-height:20px;
}
.content-text h1 {
    margin-top:0;
    padding-top:0;
}
.startmenu .hinten a h3,
.startmenu .hinten a p {
    font-weight:normal;
    text-decoration:none;
    color:#fff;
}
.startmenu .logomenu .hinten h3 {
    padding-top:6px;
    padding-bottom:5px;
    text-align:center;
    font-size:90%;
}
.startmenu .logomenu .hinten p {
    padding:0 5px;
    text-align:left;
    font:90%/15px Cairo;
}
.openinghours {
    margin-top:15px;
    background-color:#002b4e;
    background-image:url("/files/Mediadaten/System-Images/riffle-bg.png");
    border:1px solid #fff;
}
.hoursday {
    padding-right:15px;
    padding-left:15px;
}
.hoursday p {
    margin:0 auto 0 15px;
}
.mod_article {
    background-image: url("/files/Mediadaten/System-Images/riffle-bg.png") !important;
    border: 1px solid #fff;
}
#left .inside,
#right .inside {
    position:fixed;
    display:block;
}
.mobilemenulink-icon {
    display:none;
}
.mod_article {
    margin-top:15px;
    margin-bottom:15px;
}
#startseite .ce_image {
    max-height:580px;
}
.footer-area p {
    margin-top:20px;
    margin-bottom:0;
}
.footer-area {
    width:100%;
    height:90px;
    vertical-align:middle;
    text-align:center;
    background-image:url("../../../files/Mediadaten/System-Images/footer.png");
    background-position:center center;
    background-repeat:no-repeat;
    text-shadow: #000 0px 0px 5px;
    background-size: 100% 100%;
    padding-top: 10px;;
}
.footer-area a {
    margin-bottom:0;
    padding-top:25px;
    text-decoration:none;
    color:rgba(255,255,255,.7);
    text-shadow: none;
}
.footer-area a:hover {
    color:rgba(255,255,255,1);
}
.mod_banner {
    text-align:center;
}
.startmenu .menu-bg6 {
    width:200px;
    height:200px;
    position:absolute;
    background-image:url("../../files/Mediadaten/Menu/u434-gaestebuch.jpg");
    z-index:-1;
    opacity: 1.0;
}
.startmenu:hover .menu-bg6 {
    display:none;
}
.startmenu .menu-bg5 {
    width:200px;
    height:200px;
    position:absolute;
    background-image:url("../../files/Mediadaten/System-Images/Menue-Grafiken/u434-webcam.jpg");
    z-index:-1;
    opacity: 1.0;
}
.startmenu:hover .menu-bg5 {
    display:none;
}
.startmenu .menu-bg4 {
    width:200px;
    height:200px;
    position:absolute;
    background-image:url("../../files/Mediadaten/System-Images/Menue-Grafiken/u434-gutscheinkarten.jpg");
    z-index:-1;
    opacity: 1.0;
}
.startmenu:hover .menu-bg4 {
    display:none;
}
.startmenu .menu-bg3 {
    width:200px;
    height:200px;
    position:absolute;
    background-image:url("../../files/Mediadaten/System-Images/Menue-Grafiken/u434-interessanntes.jpg");
    z-index:-1;
    opacity: 1.0;
}
.startmenu:hover .menu-bg3 {
    display:none;
}
.startmenu .menu-bg2 {
    width:200px;
    height:200px;
    position:absolute;
    background-image:url("../../files/Mediadaten/System-Images/Menue-Grafiken/u434-die-u434.jpg");
    z-index:-1;
    opacity: 1.0;
}
.startmenu:hover .menu-bg2 {
    display:none;
    background-color:#3cbaf0;
}
.startmenu .menu-bg1 {
    width:200px;
    height:200px;
    position:absolute;
    background-image:url("../../files/Mediadaten/System-Images/Menue-Grafiken/u434-u434-besuch.jpg");
    z-index:-1;
    opacity: 1.0;
}
.startmenu .menu-bglogo {
    width:200px;
    height:200px;
    position:absolute;
    background:-moz-linear-gradient(135deg,#dedede 10%,#fff 50%,#dedede 90%);
    background:-webkit-linear-gradient(135deg,#dedede 10%,#fff 50%,#dedede 90%);
    background:-o-linear-gradient(135deg,#dedede 10%,#fff 50%,#dedede 90%);
    background:-ms-linear-gradient(135deg,#dedede 10%,#fff 50%,#dedede 90%);
    background:linear-gradient(-45deg,#dedede 10%,#fff 50%,#dedede 90%);
    -pie-background:linear-gradient(135deg,#dedede 10%,#fff 50%,#dedede 90%);
    z-index:-1;
}
.startmenu:hover .menu-bglogo {
    display:none;
    background-color:#3cbaf0;
}
.startmenu .menu-logo img {
    margin-top:40px;
    margin-bottom:56px;
}
.startmenu:hover .menu-bg1 {
    display:none;
    background-color:#3cbaf0;
}
.vorne h3 {
    opacity: 1.0 !important;
}
.slider-control {
    display:none;
}
#wrapper {
}
.info-widget .oeffnungszeiten,
.info-widget .datum,
.info-widget .position,
.info-widget .hotline {
    padding-right:15px;
    padding-left:15px;
}
.info-widget {
    width:100%;
    background-color:rgba(0,43,78,.7);
    text-shadow: #000 0px 2px 2px;
}
.info-widget i {
    padding-right:5px;
    padding-left:5px;
}
.info-widget .fa-clock-o {
    padding-left:15px;
}
.fa {
    width:15px;
    height:15px;
    font-size:100%;
}
.content-text a {
    margin-right:0;
    margin-left:0;
    padding-right:0;
    padding-left:0;
    color:rgba(255,255,255,.5);
}
.content-text a:hover {
    color:rgba(255,255,255,.7);
}

/* Seitentitel */
.pagetitle {
    margin-top:25px;
    margin-bottom:80px;
    text-align:center;
    border-top:4px solid #fff;
    border-bottom:4px solid #fff;
    border-collapse:separate;
    border-spacing:50px;
    font:3vmax Roboto,sans-serif;;
    color:#fff;
    text-transform:uppercase;
    text-shadow: #000 0px 0px 3px;
}

/* Überschrift */
h3 {
    font:125% Cairo;
    color:#fff;
}

/* Überschrift */
h4 {
    font:145% Roboto,sans-serif;;
    color:#f00;
}

/* Artikel */
.art2 {
    text-align:justify;
    background-color:#002b4e;
    border:15px double #fff;
    font:5vmin Roboto,sans-serif;;
    color:#fff;
    text-transform:uppercase;
    -webkit-transition: ease 1s;
    transition: ease 1s;
}

/* Artikel */
.art2:hover {
    box-shadow: #000 0px 0px 5px;
    -webkit-transition: ease 1s;
    transition: ease 1s;
}

/* Artikel */
.art2 h1 {
    font:3vw Cairo;
    font-weight:bold;
    color:#fff;
    text-transform:uppercase;
}

/* Überschrift */
h1 {
    font:165%/40px Cairo;
    font-weight:bold;
    color:#fff;
    text-shadow: #000 0px 0px 5px;
}

/* Überschrift */
h3 {
    font:125%/40px Cairo;
    color:#fff;
    text-shadow: #000 0px 0px 5px;
}

/* Effekte */
.bshadow {
    box-shadow: #000 0px 0px 15px;
}

/* Artikel */
.bg4 {
    overflow:visible;
    background:rgba(181,0,0,.7) url("files/Mediadaten/System-Images/Achtung-Icon.jpg") right top no-repeat;
    border:1px solid #fff;
}

/* Artikel */
.bg5 {
    background-image:url("files/Mediadaten/System-Images/bg-riffel.png");
    background-position:left top;
    background-repeat:repeat;
    border:1px solid rgba(255,255,255,.7);
}

/* Artikel */
.art1 {
    margin-right:auto;
    margin-left:auto;
    text-align:center;
    border-top:5px solid #fff;
    border-bottom:5px solid #fff;
    font:5vw Roboto,sans-serif;;
    font-weight:bold;
    color:#fff;
    text-transform:uppercase;
    text-shadow: #000 0px 0px 5px;
    -webkit-transition: ease 1s;
    transition: ease 1s;
}

/* Artikel */
.art1:hover {
    margin-right:auto;
    margin-left:auto;
    text-align:center;
    border-top:5px solid #fff;
    border-bottom:5px solid #fff;
    font:5vw Roboto,sans-serif;;
    font-weight:bold;
    color:#fff;
    text-transform:uppercase;
    text-shadow: #000 0px 0px 50px;
    -webkit-transition: ease 1s;
    transition: ease 1s;
}

/* Artikel */
.bg2 {
    background-color:#002b4e;
    border:1px solid #fff;
	box-sizing:border-box;
    padding-right:10px;
    padding-left:10px;
}

/* Artikel */
.bg6 {
    background-color:rgba(0,43,78,.7);
}

/* Artikel */
.bg3 {
    background:#fff url("files/Mediadaten/System-Images/Info-Icon.jpg") right top no-repeat;
    border:1px solid #002b4e;
    color:#002b4e;
    margin-right: auto;
    margin-left: auto;
    padding-right: 10px;
    padding-left: 10px;
    overflow: visible;
}

/* Artikel */
.bg3 h2 {
    text-shadow: none;
}

/* Artikel */
.bg3 h1,
.bg3 h2,
.bg3 h3,
.bg3 h4 {
    color:#002b4e;
}

/* Artikel */
.bg7 {
    background-color:rgba(15,115,191,.3);
    border-radius:25px;
}

/* Artikel */
.bg1 {
}

/* Bild */
.ce_image .image_container {
    overflow:hidden;
    padding:0;
}

/* Bild */
.image_container {
    padding-top:25px;
    padding-bottom:25px;
}

/* Bild */
.gal-abt .image_container {
    padding-top:25px;
    padding-bottom:15px;
}

/* Artikel */
.ce_image a {
    margin-right:0;
    margin-left:0;
    padding-right:0;
    padding-left:0;
    display:flex;
}

/* Artikel */
.content-text,
.content-table {
    margin: 25px auto;
}

/* Überschrift */
h1 {
    font-size:165%;
    color:#fff;
}

/* Überschrift */
h2 {
    font-size:125%;
    color:#fff;
}

/* Überschrift */
h5,
h6 {
    font-size:115%;
    color:#fff;
}

/* Grundgerüst */
body {
    width:100%;
    max-height:100vh;
    background-color:#000;
    font-family: "Cairo";
    Font-Size: 100%;
    font-style: normal;
    font-weight: 400;
    color: #ffffff;
    width:100%;
    height:100%;
    left:0;
    top:0;
    background-image:url("files/Mediadaten/System-Images/bg.jpg");
    background-position:center center;
    background-repeat:no-repeat;
    background-attachment: fixed;
    background-size:cover;
}

/* Grundgerüst */
#wrapper {
    height:100%;
}
.startmenu a:hover {
    color:rgba(255,255,255,1);
    transition: all ease 1s;
}
.startmenu li {
    padding-right:5px;
    padding-left:5px;
    font:100%/20px Cairo;
    color:#fff;
    text-transform:uppercase;
}
.startmenu h3 {
    margin-top:0;
    margin-bottom:0;
    padding:0 5px;
    background-color:rgba(0,43,78,.7);
    font-size:115%;
    color:#fff;
    text-transform:uppercase;
    text-shadow: #000 0px 3px 3px;
}
.startmenu ul,
.startmenu a {
    text-align:left;
    font-family:Cairo;
    font-weight:normal;
    text-decoration:none;
    color:rgba(255,255,255,.7);
    list-style-type:none;
    boder: 0px !important;
    padding: 0px !important;
    margin: 0px !important;
    transition: all ease 1s;
}
.hoursday {
    display:none;
}

/* ==========================================================================
   NUR FÜR DIE MOBILE ANSICHT (CONTAO 5 FIX)
   ========================================================================== */
@media (max-width: 992px) {
    
    /* Hebelt das 3-Spalten-Grid auf dem Smartphone aus */
    #container {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 100% !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
    }

    /* Bringt den Hauptinhalt auf Handys auf volle Breite */
    #main {
        width: 100% !important;
        float: none !important;
        display: block !important;
    }

    /* Blendet die seitlichen Desktop-Menüs im mobilen Zustand aus */
    #left, #right {
        display: none !important;
    }

    /* Verhindert, dass Medien nach rechts aus dem Display herausragen */
    img, video, iframe, .mod_article, .u434-container, .u434-frame {
        max-width: 100% !important;
        height: auto !important;
    }
}

/* ============================================================
   CONTAO-FIX: UNIVERSELLE KLASSE FÜR BILDER (ÜBER INHALTSELEMENT)
   ============================================================ */

/* Wir sprechen das echte <img>-Tag INNERHALB deines Elements an */
.img-ideal img {
    display: block !important;
    width: 100% !important;
    height: auto !important;
    max-width: 100% !important;
    
    /* Der Rahmen wandert jetzt exakt auf das Bild */
    border: 1px solid #ffffff !important; 
    box-sizing: border-box !important; 
    
    /* Schutz vor Verzerrung */
    object-fit: cover !important; 
}

/* Optionaler Reset für das umschließende Element (falls Contao Margins mitsendet) */
.img-ideal {
    border: none !important; /* Löscht den falschen Rahmen um das gesamte Element */
    background: transparent !important;
    padding: 0 !important;
}

/* ============================================================
   3. LOGO-ANIMATION (FINALE VERSION – OHNE LEFT-BLOCKADE)
   ============================================================ */

#left .inside .startmenu:first-child {
    position: relative !important;
}

#left .inside .startmenu:first-child::after {
    content: "" !important;
    position: absolute !important;
    top: 0 !important;
    width: 80px !important;  
    height: 100% !important;
    
    background: linear-gradient(
        90deg, 
        rgba(255, 255, 255, 0) 0%, 
        rgba(255, 255, 255, 0.4) 50%, 
        rgba(255, 255, 255, 0) 100%
    ) !important;
    
    transform: skewX(-25deg) !important;
    z-index: 1 !important; 
    
    /* Die Animation steuert nun die Position völlig frei */
    animation: aside-logo-shine 3s infinite ease-in-out !important;
}

/* Sobald gehovert wird, schalten wir den Effekt ab */
#left .inside .startmenu:first-child:hover::after {
    display: none !important;
}

/* Die Keyframes kontrollieren den Start- und Endpunkt jetzt exakt */
@keyframes aside-logo-shine {
    0% {
        left: -100px; /* Startet sicher links außerhalb der 200px-Box */
    }
    30% {
        left: 260px;  /* Wandert quer durch das Logo nach rechts draußen */
    }
    100% {
        left: 260px;  /* Bleibt dort unsichtbar, bis die 3 Sekunden um sind */
    }
}

/* ============================================================
   NEUGESTALTUNG MOBILE-MENÜ (FINALE KORREKTUR NACH TEMPLATE-FIX)
   ============================================================ */

/* --- A. DESKTOP-SCHUTZ: Verhindert das Anzeigen & Verschieben am PC (über 992px) --- */
@media (min-width: 993px) {
    
    /* 1. NUR die echten mobilen Elemente verschwinden lassen – Die Hauptseite (.mm-page) BLEIBT DA */
    html body #mobilemenulink, 
    html body .mm-menu, 
    html body .mm-wrapper__blocker { 
        display: none !important; 
        visibility: hidden !important; 
        pointer-events: none !important; 
        z-index: -9999 !important;
    }

    /* 2. Layout-Verschiebung komplett neutralisieren & Scrollen erzwingen */
    html, 
    body,
    html.mm-wrapper--opened body,
    body.mm-wrapper--opened,
    .mm-page,
    #wrapper {
        transform: none !important;
        -webkit-transform: none !important;
        left: auto !important;
        margin-left: auto !important;
        margin-right: auto !important;
        overflow: visible !important; 
        overflow-x: visible !important;
        height: auto !important;
    }

    /* 3. KLICK-FIX: Wir nehmen dem unsichtbaren Blocker die Macht und geben dem Header die Klicks zurück */
    .mm-wrapper__blocker {
        display: none !important;
        pointer-events: none !important;
    }

    /* Sorgt dafür, dass dein Header und das Menü am Desktop die Klicks vom Browser direkt erhalten */
    #header,
    #header *,
    .mod_navigation,
    .mod_navigation * {
        pointer-events: auto !important;
        visibility: visible !important;
    }

    /* 2. Zeilen-Grundgerüst starr fixieren */
    html body .mm-panels .mm-panel .mm-listview .mm-listitem {
        display: flex !important;
        visibility: visible !important;
        opacity: 1 !important;
        background-color: #002b4e !important;
        margin: 0 !important;
        padding: 0 !important;
        position: relative !important;
        flex-wrap: wrap !important;
        border-bottom: 1px solid rgba(255, 255, 255, 0.15) !important;
        border-top: none !important;
    }

    /* 3. KNALLHARTER BORDER-FIX: Löscht die dicke/doppelte Linie oberhalb restlos */
    html body .mm-listview .mm-listitem,
    html body .mm-listview .mm-listitem.mm-listitem--selected,
    html body .mm-listview .mm-listitem.mm-listitem--opened,
    html body .mm-listview .mm-listitem.active,
    html body .mm-listview .mm-listitem.active.trail {
        border-top: none !important;
        border-bottom: 1px solid rgba(255, 255, 255, 0.15) !important;
        margin-top: 0 !important;
        padding-top: 0 !important;
    }

    /* 4. Text-Links starr fixieren (KORRIGIERT: transparent ENTFERNT!) */
    html body .mm-listview .mm-listitem .mm-listitem__text,
    html body .mm-listview .mm-listitem .mm-listitem__text.active,
    html body .mm-listview .mm-listitem a.mm-listitem__text {
        display: block !important;
        padding: 14px 75px 14px 20px !important;
        margin: 0 !important;
        text-align: left !important;
        flex-grow: 1 !important;
        flex-basis: calc(100% - 65px) !important;
        text-indent: 0 !important;
        /* Kein background-color hier, damit darunterliegende Farben nicht blockiert werden */
    }

    /* 5. Rechter Button-Block (Pfeil + Zahl) starr rechts festnageln */
    html body .mm-listview .mm-listitem .mm-listitem__btn {
        position: absolute !important;
        right: 0 !important;
        top: 0 !important;
        height: 50px !important; 
        width: 65px !important;
        background-color: transparent !important;
        display: flex !important;
        flex-direction: row !important;
        align-items: center !important;
        justify-content: center !important;
        gap: 8px !important;
        margin: 0 !important;
        padding: 0 !important;
        border: none !important;
        border-left: 1px solid rgba(255, 255, 255, 0.15) !important;
    }

    /* Schutz vor Geisterlinien */
    html body .mm-listitem:not(:has(.mm-btn--next)) .mm-listitem__btn,
    html body .mm-listitem:has(.mm-counter:empty):not(:has(.mm-btn--next)) .mm-listitem__btn {
        display: none !important;
        border-left: none !important;
    }

    /* Counter & Pfeil Anordnung innerhalb des Buttons */
    html body .mm-counter { position: relative !important; margin: 0 !important; padding: 0 !important; display: inline-block !important; order: 1 !important; }
    html body .mm-btn--next::after { position: relative !important; display: inline-block !important; margin: 0 !important; top: 0 !important; right: 0 !important; order: 2 !important; }

    /* 6. Untermenü (ul.level_2) sauber nach unten aufklappen lassen */
    html body .mm-listview .mm-listitem ul.level_2 {
        display: block !important;
        visibility: visible !important;
        position: relative !important;
        flex-basis: 100% !important;
        width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
        background-color: #001f38 !important;
    }

    /* 7. Einheitliche Farben für Text, Symbole und Zwingen der Zahl auf Weiß */
    html body .mm-listitem, 
    html body .mm-listitem a, 
    html body .mm-listitem span, 
    html body .mm-btn--next::after, 
    html body .mm-btn--prev::before, 
    html body .mm-counter,
    html body .mm-listitem .mm-counter {
        color: #ffffff !important;
        border-color: #ffffff !important;
    }

    /* 8. HOVER & ACTIVE GARANTIE: Färbt den gesamten Balken inklusive Text-Links */
    html body .mm-listview .mm-listitem:hover,
    html body .mm-listview .mm-listitem.mm-listitem--selected,
    html body .mm-listview .mm-listitem.mm-listitem--opened,
    html body .mm-listview .mm-listitem.active,
    html body .mm-listview .mm-listitem.active.trail,
    html body .mm-listitem--selected > .mm-listitem__text,
    html body .mm-listitem--opened > .mm-listitem__text,
    html body .mm-listitem.active > .mm-listitem__text,
    html body .mm-listview .mm-listitem a.active,
    html body .mm-listview .mm-listitem .active {
        background-color: rgba(255, 255, 255, 0.05) !important;
    }

    /* Setzt NUR den Button auf transparent, damit er die Balkenfarbe übernimmt */
    html body .mm-listitem__btn { background-color: transparent !important; }

    /* 9. Alte mmenu-Trennlinien im Gegenwart löschen */
    html body .mm-listitem::after, html body .mm-listitem:after, html body .mm-listitem__text::after, html body .mm-listview::after {
        display: none !important;
        content: none !important;
        border: none !important;
    }

    /* Kopfzeile */
    html body .mm-navbar, html body .mm-navbar a, html body .mm-navbar__title span { 
        background-color: #002b4e !important; 
        color: #ffffff !important; 
    }
}

    /* 2. Zeilen-Grundgerüst starr fixieren */
    html body .mm-panels .mm-panel .mm-listview .mm-listitem {
        display: flex !important;
        visibility: visible !important;
        opacity: 1 !important;
        background-color: #002b4e !important;
        margin: 0 !important;
        padding: 0 !important;
        position: relative !important;
        flex-wrap: wrap !important;
        border-bottom: 1px solid rgba(255, 255, 255, 0.15) !important;
        border-top: none !important;
    }

    /* 3. KNALLHARTER BORDER-FIX: Löscht die dicke/doppelte Linie oberhalb restlos */
    html body .mm-listview .mm-listitem,
    html body .mm-listview .mm-listitem.mm-listitem--selected,
    html body .mm-listview .mm-listitem.mm-listitem--opened,
    html body .mm-listview .mm-listitem.active,
    html body .mm-listview .mm-listitem.active.trail {
        border-top: none !important;
        border-bottom: 1px solid rgba(255, 255, 255, 0.15) !important;
        margin-top: 0 !important;
        padding-top: 0 !important;
    }

    /* 4. Text-Links starr fixieren (KORRIGIERT: transparent ENTFERNT!) */
    html body .mm-listview .mm-listitem .mm-listitem__text,
    html body .mm-listview .mm-listitem .mm-listitem__text.active,
    html body .mm-listview .mm-listitem a.mm-listitem__text {
        display: block !important;
        padding: 14px 75px 14px 20px !important;
        margin: 0 !important;
        text-align: left !important;
        flex-grow: 1 !important;
        flex-basis: calc(100% - 65px) !important;
        text-indent: 0 !important;
        /* Kein background-color hier, damit darunterliegende Farben nicht blockiert werden */
    }

    /* 5. Rechter Button-Block (Pfeil + Zahl) starr rechts festnageln */
    html body .mm-listview .mm-listitem .mm-listitem__btn {
        position: absolute !important;
        right: 0 !important;
        top: 0 !important;
        height: 50px !important; 
        width: 65px !important;
        background-color: transparent !important;
        display: flex !important;
        flex-direction: row !important;
        align-items: center !important;
        justify-content: center !important;
        gap: 8px !important;
        margin: 0 !important;
        padding: 0 !important;
        border: none !important;
        border-left: 1px solid rgba(255, 255, 255, 0.15) !important;
    }

    /* Schutz vor Geisterlinien */
    html body .mm-listitem:not(:has(.mm-btn--next)) .mm-listitem__btn,
    html body .mm-listitem:has(.mm-counter:empty):not(:has(.mm-btn--next)) .mm-listitem__btn {
        display: none !important;
        border-left: none !important;
    }

    /* Counter & Pfeil Anordnung innerhalb des Buttons */
    html body .mm-counter { position: relative !important; margin: 0 !important; padding: 0 !important; display: inline-block !important; order: 1 !important; }
    html body .mm-btn--next::after { position: relative !important; display: inline-block !important; margin: 0 !important; top: 0 !important; right: 0 !important; order: 2 !important; }

    /* 6. Untermenü (ul.level_2) sauber nach unten aufklappen lassen */
    html body .mm-listview .mm-listitem ul.level_2 {
        display: block !important;
        visibility: visible !important;
        position: relative !important;
        flex-basis: 100% !important;
        width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
        background-color: #001f38 !important;
    }

    /* 7. Einheitliche Farben für Text, Symbole und Zwingen der Zahl auf Weiß */
    html body .mm-listitem, 
    html body .mm-listitem a, 
    html body .mm-listitem span, 
    html body .mm-btn--next::after, 
    html body .mm-btn--prev::before, 
    html body .mm-counter,
    html body .mm-listitem .mm-counter {
        color: #ffffff !important;
        border-color: #ffffff !important;
    }

    /* 8. HOVER & ACTIVE GARANTIE: Färbt den gesamten Balken inklusive Text-Links */
    html body .mm-listview .mm-listitem:hover,
    html body .mm-listview .mm-listitem.mm-listitem--selected,
    html body .mm-listview .mm-listitem.mm-listitem--opened,
    html body .mm-listview .mm-listitem.active,
    html body .mm-listview .mm-listitem.active.trail,
    html body .mm-listitem--selected > .mm-listitem__text,
    html body .mm-listitem--opened > .mm-listitem__text,
    html body .mm-listitem.active > .mm-listitem__text,
    html body .mm-listview .mm-listitem a.active,
    html body .mm-listview .mm-listitem .active {
        background-color: rgba(255, 255, 255, 0.05) !important;
    }

    /* Setzt NUR den Button auf transparent, damit er die Balkenfarbe übernimmt */
    html body .mm-listitem__btn { background-color: transparent !important; }

    /* 9. Alte mmenu-Trennlinien im Gegenwart löschen */
    html body .mm-listitem::after, html body .mm-listitem:after, html body .mm-listitem__text::after, html body .mm-listview::after {
        display: none !important;
        content: none !important;
        border: none !important;
    }

    /* Kopfzeile */
    html body .mm-navbar, html body .mm-navbar a, html body .mm-navbar__title span { 
        background-color: #002b4e !important; 
        color: #ffffff !important; 
    }
/* Blendet die Benachrichtigungs-Checkbox im Gästebuch vollständig aus */
.ce_comments .widget-checkbox {
    display: none !important;
}
}