/* Formatierungskorrektur */
@media (max-width: 991px) {

    .container-lg,
    .container-md,
    .container-sm,
    .container {
        max-width: 100% !important;
    }
}

.VIpgJd-ZVi9od-aZ2wEe {
    display: none !important;
}


/* Navigation immer fest positionieren */
.nav-container {
    position: fixed !important;
    top: 0;
    left: 0;
    right: 0;
    width: 100%;
    z-index: 9998;
    background-color: #e6e7ee;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.3);
}

/* Haupt-Content nach unten verschieben, damit er nicht unter der Navigation verschwindet */
body {
    padding-top: 135px;
    /* Höhe der Navigation */
}

@media (max-width: 769px) {
    .nav-container {
        min-height: 110px !important;
        height: 110px !important;
    }

    #menu1 {
        margin-top: -10px;
        background-color: #e6e7ee !important;
        box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);

    }
}


/* Fehlerkorrektur */
@media (min-width: 768px) and (max-width: 990px) {
    #menu1 {
        display: block !important;
    }
}

#submenu-megamenu {
    width: 700%;
}

#submenu-menu2 {
    margin-left: -33px;
    width: 207px;
}

#submenu-menu3 {
    width: 150px;
    margin-left: -23px;
}

#submenu-rechtliches {
    width: 250px;
    margin-left: -50px;
}


/* Übersetzungs-Hinweis */
.translation-notice {
    position: fixed;
    top: 20px;
    right: 20px;
    background: #2d4cc8;
    color: white;
    padding: 15px 20px;
    border-radius: 8px;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3);
    z-index: 10000;
    max-width: 350px;
    animation: slideIn 0.3s ease;
}

@keyframes slideIn {
    from {
        transform: translateX(400px);
        opacity: 0;
    }

    to {
        transform: translateX(0);
        opacity: 1;
    }
}


/* Google Translate Container verstecken */
#google_translate_element {
    display: none !important;
}

.goog-te-banner-frame {
    display: none !important;
}

body {
    top: 0 !important;
}

.skiptranslate {
    display: none !important;
}

.goog-logo-link {
    display: none !important;
}

.goog-te-gadget {
    color: transparent !important;
}


/* Sprachauswahl in der Navigation */
.nav h2 {
    font-size: 0.8em;
    line-height: 0;
    text-align: left;
}

.nav-language-selector {
    position: absolute;
    right: 10px;
    top: 50%;
    transform: translateY(-50%);
    z-index: 100;
}

.nav-language-select {
    padding: 2px 5px;
    border: 2px solid #2d4cc8;
    border-radius: 8px;
    background: #fff;
    color: #2d4cc8;
    font-size: 16px;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.3s ease;
    min-width: 62px;
    margin-top: 15px;
    height: 35px;
}

.nav-language-select:hover {
    background: #2d4cc8;
    color: #fff;
    transform: scale(1.05);
}

.nav-language-select:focus {
    outline: 3px solid #ff9800;
    outline-offset: 3px;
    border-radius: 8px;
    color: #2d4cc8;
    background: #eef5ff;
}

.nav-language-select option {
    padding: 10px;
    background: #fff;
    color: #000000;
}

/* Responsive Anpassungen */
@media (max-width: 1200px) {
    .nav-language-selector {
        right: 5px;
    }

    .nav-language-select {
        font-size: 20px;
        padding: 6px 10px;
        min-width: 71px;
        height: 35px;
        margin-top: 25px;
    }
}

@media (max-width: 990px) {
    .nav-language-select {
        font-size: 18px;
        padding: 5px 8px;
        min-width: 75px;
        height: 40px;
    }

    button {
        margin-top: 0px;
    }

    label {
        margin-top: 0px;
    }
}

@media (max-width: 767px) {
    .nav-language-selector {
        transform: none;
        text-align: center;
        width: 40px;
        height: 35px;
        position: relative;
        top: -30px;
        line-height: 24px;
        margin-right: -11px;
        right: 140px;
    }
}

/* Google Translate Container verstecken */
#google_translate_element {
    display: none !important;
}

.goog-te-banner-frame {
    display: none !important;
}

body {
    top: 0 !important;
}

.skiptranslate {
    display: none !important;
}

.goog-logo-link {
    display: none !important;
}

.goog-te-gadget {
    color: transparent !important;
}



/* barrierefrei button */

/* Barrierefreiheits-Panel Styling */

.font-size-panel {
    margin-top: 3px;
    border-top: 1px solid #000;
}

.font-controls {
    padding-top: 0px;
}

.slider-control {
    width: 100%;
    height: 6px;
    border-radius: 3px;
    background: rgba(255, 255, 255, 0.2);
    outline: none;
    -webkit-appearance: none;
    appearance: none;
    margin: 0px 0;
    cursor: pointer;
}

.slider-control::-webkit-slider-thumb {
    -webkit-appearance: none;
    appearance: none;
    width: 24px;
    height: 24px;
    border-radius: 50%;
    background: #2196F3;
    cursor: pointer;
    border: 3px solid white;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
    transition: all 0.3s ease;
}

.slider-control::-webkit-slider-thumb:hover {
    background: #1976D2;
    transform: scale(1.15);
    box-shadow: 0 3px 6px rgba(0, 0, 0, 0.3);
}

.slider-control::-webkit-slider-thumb:focus {
    box-shadow: 0 0 0 4px rgba(33, 150, 243, 0.3);
}

.slider-control::-moz-range-thumb {
    width: 24px;
    height: 24px;
    border-radius: 50%;
    background: #2196F3;
    cursor: pointer;
    border: 3px solid white;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
    transition: all 0.3s ease;
}

.slider-control::-moz-range-thumb:hover {
    background: #1976D2;
    transform: scale(1.15);
    box-shadow: 0 3px 6px rgba(0, 0, 0, 0.3);
}

.slider-control::-moz-range-thumb:focus {
    box-shadow: 0 0 0 4px rgba(33, 150, 243, 0.3);
}

.slider-control:focus {
    outline: 2px solid #4CAF50;
    outline-offset: 2px;
}

.control-label {
    display: block;
    font-size: 14px;
    font-weight: 500;
    margin-bottom: 5px;
    color: white;
}

.control-label span {
    float: right;
    color: #4CAF50;
    font-weight: bold;
}

/* Verbesserungen für bestehende Elemente */
.toggle-container {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 10px 0;
}

.toggle-label {
    font-size: 16px;
    font-weight: 500;
    color: white;
}

.toggle-switch {
    position: relative;
    width: 60px;
    height: 30px;
    background: rgba(255, 255, 255, 0.2);
    border-radius: 15px;
    cursor: pointer;
    transition: background 0.3s ease;
}

.toggle-switch:focus {
    outline: 2px solid #4CAF50;
    outline-offset: 2px;
}

.toggle-switch.active {
    background: #4CAF50;
}

.toggle-slider {
    position: absolute;
    top: 3px;
    left: 3px;
    width: 24px;
    height: 24px;
    background: white;
    border-radius: 50%;
    transition: transform 0.3s ease;
}

.toggle-switch.active .toggle-slider {
    transform: translateX(30px);
}




.control-btn {
    padding: 10px 15px;
    background: rgba(255, 255, 255, 0.1);
    border: 1px solid rgba(255, 255, 255, 0.3);
    border-radius: 5px;
    color: white;
    cursor: pointer;
    font-size: 14px;
    transition: all 0.3s ease;
}

.control-btn:hover {
    background: rgba(255, 255, 255, 0.2);
    transform: translateY(-1px);
}

.control-btn:focus {
    outline: 2px solid #4CAF50;
    outline-offset: 2px;
}

.control-btn:active {
    transform: translateY(0);
}




/* ==== Accessibility Panel – harte Kapselung ==== */


/* Vorlese-Highlight - Browser-übergreifend */
.accessibility-highlight {
    outline: 3px solid #007bff !important;
    outline-offset: 2px !important;
    background-color: rgba(0, 123, 255, 0.1) !important;
    transition: all 0.2s ease !important;
}


#accessibility-panel {
    position: fixed;
    right: 24px;
    top: 24px;
    width: 360px;
    max-height: 90vh;
    overflow-y: auto;
    padding: 20px 18px 22px;
    border-radius: 14px;
    background: #fff;
    box-shadow: 0 10px 30px rgba(0, 0, 0, .25);
    z-index: 9999;
    display: none;
    font-size: 16px;
    line-height: 1.4;
    color: #222;
}

#accessibility-panel.active {
    display: block;
}

/* harte Typografie im Panel, unabhängig von Bootstrap */
#accessibility-panel,
#accessibility-panel * {
    font-family: inherit !important;
    letter-spacing: normal !important;
    box-sizing: border-box;
}

#accessibility-panel h2 {
    font-size: 22px;
    margin: 0 0 14px;
    font-weight: 700;
}

#accessibility-panel .panel-close {
    top: 16px;
    width: 34px;
    height: 34px !important;
}

#accessibility-panel .panel-close:hover,
#accessibility-panel .panel-close:focus {
    background: #008efb;
}

#accessibility-panel .status-indicator {
    display: inline-block;
    width: 12px;
    height: 12px;
    border-radius: 50%;
    background: #ffffff;
    vertical-align: middle;
    margin-left: 8px;
    border: 1px solid #888;
}

/* Zeilen und Abstände */
#accessibility-panel .toggle-container,
#accessibility-panel .control-group {
    margin: 0px 0;
}

#accessibility-panel .toggle-label,
#accessibility-panel .control-label {
    display: block;
    font-weight: 700;
    margin-bottom: 6px;
}

/* Flex-Reihen für Buttons */
#accessibility-panel .control-buttons {
    display: flex;
    gap: 12px;
    flex-wrap: wrap;
}

#accessibility-panel .control-btn {
    appearance: none;
    border: 0;
    border-radius: 8px;
    padding: 10px 14px;
    background: #e0e0e0;
    cursor: pointer;
    font-weight: 600;
}

#accessibility-panel .control-btn:hover {
    background: #d5d5d5;
}

#accessibility-panel #stop-reading {
    background: #0069b7;
    color: #fff;
}

#accessibility-panel #reset-font {
    background: #0069b7;
    color: #fff;
    border: 1px solid #000 !important;
}

/* Schieberegler */
#accessibility-panel .slider-control {
    width: 100%;
    height: 10px;
}

#accessibility-panel input[type="range"] {
    -webkit-appearance: none;
    appearance: none;
    background: #e7e7e7;
    border-radius: 6px;
    outline: 0;
}

#accessibility-panel input[type="range"]::-webkit-slider-thumb {
    -webkit-appearance: none;
    appearance: none;
    width: 22px;
    height: 22px;
    border-radius: 50%;
    background: #2f80ed;
    border: 2px solid #fff;
    box-shadow: 0 0 0 2px rgba(0, 0, 0, .15);
}

#accessibility-panel input[type="range"]::-moz-range-thumb {
    width: 22px;
    height: 22px;
    border-radius: 50%;
    background: #2f80ed;
    border: 2px solid #fff;
}

/* Toggle-Schalter */
#accessibility-panel .toggle-switch {
    width: 64px;
    height: 32px;
    border-radius: 16px;
    background: #ddd;
    position: relative;
    cursor: pointer;
    display: inline-block;
    vertical-align: middle;
}

#accessibility-panel .toggle-switch .toggle-slider {
    position: absolute;
    left: -4px;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background: #fff;
    transition: transform .2s ease;
    box-shadow: 0 2px 6px rgba(0, 0, 0, .2);
}

#accessibility-panel .toggle-switch.active {
    background: #43a047;
}

#accessibility-panel .toggle-switch.active .toggle-slider {
    transform: translateX(32px);
}

/* Nachtmodus-Schalter nicht von Bootstrap beeinflussen */
#accessibility-panel .toggle-sprache {
    background: #ddd;
}

#accessibility-panel .toggle-sprache.active {
    background: #2f80ed;
}

#accessibility-button i {
    font-size: 28px !important;
    line-height: 48px !important;
}

/* Nachtmodus Körper 
body.night-mode-active{ filter: grayscale(100%) contrast(120%); }
*/
body.night-mode-active img {
    filter: grayscale(100%) contrast(1.2);
}


/* ========== LEICHTE SPRACHE ========== */

.cursor-size-panel {
    margin-top: 3px;
    border-top: 1px solid #000;
}

/* ========== MAUSZEIGER EINSTELLEN ========== */

.easy-language-panel {
    margin-top: 3px;
    border-top: 1px solid #000;
}


/* ========== NACHTMODUS STYLING ========== */

.night-mode-panel {
    margin-top: 3px;
    border-top: 1px solid #000;
}

/* Nachtmodus aktiv - Globale Styles */
body.night-mode-active {
    background: #000 !important;
    color: #fff !important;
}

/* ⭐ STATUS-INDIKATOR & TOGGLES GRÜN HALTEN */
body.night-mode-active #status-indicator.active,
body.night-mode-active .status-indicator.active {
    background-color: #4CAF50 !important;
    box-shadow: 0 0 10px rgba(76, 175, 80, 0.8) !important;
    border: 2px solid #4CAF50 !important;
}

body.night-mode-active #voice-toggle.active,
body.night-mode-active #font-toggle.active,
body.night-mode-active #night-toggle.active,
body.night-mode-active #easy-language-toggle.active,
body.night-mode-active .toggle-switch.active {
    background-color: #4CAF50 !important;
}

body.night-mode-active .toggle-switch.active .toggle-slider {
    background-color: #ffffff !important;
    border-color: #333 !important;
}

/* ⭐ PANEL behält ORIGINAL-Formatierung */
body.night-mode-active #accessibility-panel {
    background: #f5f5f5 !important;
    border: solid 3px #0069b7 !important;
}

body.night-mode-active #accessibility-panel * {
    background-color: initial !important;
    color: initial !important;
    border-color: initial !important;
}


/* Panel-spezifische Elemente in Original-Farben */
body.night-mode-active #accessibility-panel h2 {
    color: #056ebc !important;
}

body.night-mode-active #accessibility-panel .toggle-label,
body.night-mode-active #accessibility-panel .control-label {
    color: #333 !important;
}

body.night-mode-active #accessibility-panel .toggle-container {
    background: #f5f5f5 !important;
}

body.night-mode-active #accessibility-panel .control-btn {
    background: #fff !important;
    color: #000 !important;
    border-color: #000 !important;
}

body.night-mode-active #accessibility-panel .control-btn:hover,
body.night-mode-active #accessibility-panel .control-btn:focus {
    background: #0066cc !important;
    color: #fff !important;
    border-color: #0066cc !important;
}

body.night-mode-active #accessibility-panel .toggle-switch {
    background: #fff !important;
    border: 1px solid #000 !important;
}

body.night-mode-active #accessibility-panel .toggle-switch.active {
    background: #4caf50 !important;
}

body.night-mode-active #accessibility-panel .toggle-slider {
    background: white !important;
    border: 1px solid #646464 !important;
}

body.night-mode-active #accessibility-panel .panel-close {
    background: #b50000 !important;
    color: #fff !important;
    border: 1px solid #000 !important;
}

body.night-mode-active #accessibility-panel .panel-close:hover,
body.night-mode-active #accessibility-panel .panel-close:focus {
    background: #f0f0f0 !important;
    color: #b50000 !important;
}

body.night-mode-active #accessibility-panel input,
body.night-mode-active #accessibility-panel select {
    background: #fff !important;
    color: #000 !important;
    border: 1px solid #000 !important;
}



/* Accessibility-Button behält ebenfalls Original-Style */
body.night-mode-active #accessibility-button {
    background: #000 !important;
    color: white !important;
}

body.night-mode-active #accessibility-button:hover,
body.night-mode-active #accessibility-button:focus {
    background: #0052a3 !important;
}

/* Toggle-Slider im Nachtmodus */
body.night-mode-active .toggle-slider {
    background: #fff !important;
    border-color: #000 !important;
}

/* Aktive Toggle-Switches */
body.night-mode-active .toggle-switch.active {
    background: #4caf50 !important;
}

/* Bilder im Nachtmodus */
body.night-mode-active img {
    filter: grayscale(100%) contrast(1.2);
    border-color: #fff !important;
}

/* Links und Buttons sichtbar */
body.night-mode-active a,
body.night-mode-active button {
    color: #fff !important;
    background: #000 !important;
    border-color: #fff !important;
}

/* ⭐ NEU: Alle Buttons bekommen weißen Rahmen mit runden Ecken */
body.night-mode-active button:not(nav button):not(.menu-horizontal button):not(.dropdown__trigger):not(.hamburger-toggle):not(#accessibility-button):not(.panel-close):not(.carousel-control-prev):not(.carousel-control-next):not(.btn-close) {
    border: 2px solid #fff !important;
    border-radius: 10px !important;
    padding: 5px 5px !important;
}

/* Auch für Input-Buttons (Submit etc.) */
body.night-mode-active input[type="submit"]:not(nav input):not(.menu-horizontal input),
body.night-mode-active input[type="button"]:not(nav input):not(.menu-horizontal input) {
    border: 2px solid #fff !important;
    border-radius: 10px !important;
    padding: 10px 15px !important;
}

/* Links die wie Buttons aussehen (z.B. .btn, .button Klassen) */
body.night-mode-active a.btn:not(nav a):not(.menu-horizontal a),
body.night-mode-active a.button:not(nav a):not(.menu-horizontal a),
body.night-mode-active a.btn-primary:not(nav a):not(.menu-horizontal a) {
    border: 2px solid #fff !important;
    padding: 5px 5px !important;
}

/* Close-Buttons in Modals */
body.night-mode-active .btn-close:not(#accessibility-panel .btn-close) {
    /*border: 2px solid #fff !important;*/
    border-radius: 50% !important;
    opacity: 1 !important;
}

/* Fokus und Hover bleiben ORANGE */
body.night-mode-active a:focus,
body.night-mode-active a:hover,
body.night-mode-active button:focus,
body.night-mode-active button:hover,
body.night-mode-active input:focus,
body.night-mode-active select:focus {
    outline: 3px solid #ff9800 !important;
    outline-offset: 3px !important;
    background: #000 !important;
    color: #fff !important;
}

/* Accordion */
body.night-mode-active button:focus,
body.night-mode-active button:hover {
    background: #fff !important;
    color: #000 !important;
}


/* Tabellen */
body.night-mode-active table,
body.night-mode-active td,
body.night-mode-active th {
    border-color: #fff !important;
}

/* Formulare */
body.night-mode-active input,
body.night-mode-active textarea,
body.night-mode-active select {
    background: #000 !important;
    color: #fff !important;
    border: 2px solid #fff !important;
}

/* Navigation bleibt sichtbar */
body.night-mode-active nav,
body.night-mode-active .menu-horizontal,
body.night-mode-active .dropdown__container {
    background: #000 !important;
}

/* Responsive Anpassungen */
@media (max-width: 480px) {
    .slider-control {
        height: 8px;
    }

    .slider-control::-webkit-slider-thumb,
    .slider-control::-moz-range-thumb {
        width: 24px;
        height: 24px;
    }

    .control-label {
        font-size: 13px;
    }
}

/* Barrierefreiheit-Verbesserungen */
.slider-control:disabled {
    opacity: 0.5;
    cursor: not-allowed;
}

/* Hochkontrast-Modus Unterstützung */
@media (prefers-contrast: high) {

    .slider-control::-webkit-slider-thumb,
    .slider-control::-moz-range-thumb {
        border: 3px solid white;
    }

    .toggle-switch {
        border: 2px solid white;
    }
}

/* Animation für sanfte Übergänge */
@keyframes slideIn {
    from {
        opacity: 0;
        transform: translateY(-10px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.font-controls {
    animation: slideIn 0.3s ease-out;
}


 /* Direkt für Ihre Formular-Elemente */
.leform-element input:hover,
.leform-element input:focus,
.leform-element textarea:hover,
.leform-element textarea:focus,
.leform-element select:hover,
.leform-element select:focus {
    outline: 3px solid #ff9800 !important;
    outline-offset: 3px !important;
    border-radius: 10px !important;
    background-color: #eef5ff !important;
}

/* Für Bootstrap-Formulare */
.form-control:hover,
.form-control:focus {
    outline: 3px solid #ff9800 !important;
    outline-offset: 3px !important;
    border-radius: 10px !important;
    background-color: #eef5ff !important;
}



#accessibility-button {
    position: fixed;
    bottom: calc(70%);
    right: 0px;
    width: 50px;
    height: 50px;
    background: #000;
    color: white;
    border: none;
    font-size: 28px;
    cursor: pointer;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3);
    z-index: 9998;
    transition: all 0.3s ease;
    border-top-left-radius: 10px;
    border-bottom-left-radius: 10px;
    border: 2px solid #fff;
    right: -2px;
}


#accessibility-button:hover,
#accessibility-button:focus {
    background: #0052a3;
    transform: scale(1.05);
    outline: 3px solid #ff9800;
    outline-offset: 2px;
}

#accessibility-panel {
    position: fixed;
    top: 20%;
    right: 55px;
    width: 320px;
    background: #f5f5f5;
    border: solid 3px #0069b7;
    border-radius: 12px;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.3);
    padding: 15px;
    z-index: 9999;
    opacity: 0;
    visibility: hidden;
    transform: translateY(20px);
    transition: all 0.3s ease;
    overflow-y: auto;
    overflow-x: hidden;
    max-height: calc(100vh - 40px);
    height: auto;
}


/* Scrollbar-Styling für bessere Optik */
#accessibility-panel::-webkit-scrollbar {
    width: 8px;
}

#accessibility-panel::-webkit-scrollbar-track {
    background: #f1f1f1;
    border-radius: 4px;
}

#accessibility-panel::-webkit-scrollbar-thumb {
    background: #888;
    border-radius: 4px;
}

#accessibility-panel::-webkit-scrollbar-thumb:hover {
    background: #555;
}

#accessibility-panel .slider-control {
    margin-bottom: 10px !important;
}


/* Für sehr kleine Bildschirme */
@media (max-height: 600px) {
    #accessibility-panel {
        top: 10px;
        bottom: 10px;
        max-height: calc(100vh - 20px);
    }
}

@media (max-height: 400px) {
    #accessibility-panel {
        top: 5px;
        bottom: 5px;
        max-height: calc(100vh - 10px);
    }
}



#accessibility-panel.active {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

@media (max-height: 600px) {
    #accessibility-panel {
        top: 20%;
        bottom: 10px;
    }
}

.panel-close {
    position: absolute;
    right: 10px;
    background: transparent;
    border: none;
    font-size: 49px !important;
    cursor: pointer;
    color: #fff;
    width: 26px;
    height: 82px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 1px solid #000;
    background: #b50000;
    font-weight: 600;
    opacity: 1;
    padding: 1px 0px 7px 1px;
}

.panel-close:hover,
.panel-close:focus {
    background: #f0f0f0 !important;
    color: #b50000 !important;
    border: 1px solid #000 !important;
    border-radius: 50% !important;
    outline: 3px solid #ff9800 !important;
    outline-offset: 3px !important;
}

#accessibility-panel h2 {
    margin: 0px 0px 34px 0px !important;
    font-size: 25px !important;
    color: #2d4cc8;
}

#accessibility-panel button,
#accessibility-panel input[type="submit"] {
    height: inherit;
}

.toggle-container {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 10px;
    background: #f5f5f5;
    border-radius: 8px;
}

.toggle-label {
    font-weight: 600;
    color: #333;
    margin-left: -5px;
}

.toggle-switch {
    width: 45px;
    height: 1em;
    background: #fff;
    border-radius: 15px;
    position: relative;
    cursor: pointer;
    transition: background 0.3s;
    border: 1px solid #000;
}

.toggle-switch:focus {
    outline: 2px solid #0066cc;
    outline-offset: 2px;
}

.toggle-switch.active {
    background: #4caf50;
}

.toggle-slider {
    position: absolute;
    width: 1.5em;
    height: 1.5em;
    background: white;
    border-radius: 50%;
    top: -5px;
    left: -1px;
    transition: transform 0.3s;
    border: 1px solid #646464;
}

.toggle-switch.active .toggle-slider {
    transform: translateX(30px);
}

.control-buttons .bi {
    font-size: 17px;
}

.voice-controls {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.3s ease;
    margin-bottom: 10px;
}

#voice-controls,
#font-controls {
    margin-bottom: 15px;
}


.voice-controls.active {
    max-height: 400px;
}

.control-group {
    margin-bottom: 11px;
    padding: 0px 5px;
}

#accessibility-panel .control-label {
    display: block;
    margin-bottom: 0px;
    font-weight: 600;
    color: #333;
    font-size: 14px;
}

.control-buttons {
    display: flex;
    gap: 10px;
    padding: 10px 5px;
}

.control-btn {
    flex: 1;
    padding: 0px;
    background: #fff;
    border: 1px solid #000000;
    border-radius: 6px;
    cursor: pointer;
    font-size: 14px;
    transition: all 0.2s;
    color: #000;
}

.control-btn:hover,
.control-btn:focus {
    background: #0066cc !important;
    color: #fff !important;
    border-color: #0066cc !important;
    outline: 2px solid #ff9800 !important;
}

.control-btn:active {
    transform: scale(0.98);
}

.accessibility-highlight {
    outline: 3px solid #ff9800 !important;
    outline-offset: 2px;
    /*background-color: rgba(255, 215, 0, 0.1) !important;*/
}

.demo-content {
    max-width: 800px;
    margin: 0 auto;
}

.demo-content h1 {
    color: #333;
    margin-bottom: 20px;
}

.demo-content p {
    margin-bottom: 15px;
}

.demo-content img {
    max-width: 100%;
    height: auto;
    margin: 20px 0;
}

.btn-primary {
    color: #1346a8;
    border: none;
    padding: 10px 20px;
    border-radius: 4px;
    cursor: pointer;
    font-size: inherit;
}

.btn-primary:focus {
    background: #dadada;
    color: #0066cc;
    outline: 2px solid #ff9800;
    outline-offset: 3px;
}


.btn-primary:hover {
    color: #fff;
    outline: 2px solid #ff9800;
    outline-offset: 3px;
}

.btn-pramery span,
.btn-primary .fa,
.btn-primary .fas {
    font-size: 18px !important;
}

.status-indicator {
    display: inline-block;
    width: 12px;
    height: 12px;
    border-radius: 50%;
    background: #ccc;
    margin-left: 8px;
    transition: background 0.3s;
}

.status-indicator.active {
    background: #00cc07 !important;
    box-shadow: 0 0 8px rgba(76, 175, 80, 0.5);
}


#stop-reading,
#reset-font {
    width: 100%;
    background: #b50000;
    color: white;
}


/* ==============================
   FOKUS-STILE (Barrierefrei, einheitlich)
   ============================== */

/* Einheitlicher Fokus-Stil für interaktive Elemente (barrierefrei, kontrastreich) */
a:focus,
a:focus-visible,
button:focus,
button:focus-visible,
input:focus,
input:focus-visible,
textarea:focus,
textarea:focus-visible,
select:focus,
select:focus-visible {
    outline: 3px solid #ff9800;
    /* gut sichtbar, aber nicht zu dick */
    outline-offset: 3px;
    /* Abstand zur Umrahmung */
    border-radius: 8px;
    /* sanft abgerundet für alle */
    background-color: #eef5ff;
    /* dezent hinterlegt */
    color: inherit;
    /* Schriftfarbe nicht ändern */
    transition: box-shadow 0.2s, background 0.2s;
    text-decoration: none;
}

/* Menü-Horizontal, Dropdown-Trigger (spezifisch, mit weißem Hintergrund) */
.menu-horizontal a:focus,
.menu-horizontal a:focus-visible,
.dropdown__trigger:focus,
.dropdown__trigger:focus-visible {
    outline: 3px solid #ff9800 !important;
    outline-offset: 3px;
    border-radius: 8px;
    background: #fff !important;
    color: #222 !important;
    /*font-weight: bold;*/
    transition: box-shadow 0.2s, background 0.2s;
}

/* Menü-Horizontal, Dropdown-Trigger (spezifisch, mit weißem Hintergrund) */
.slider-control:focus,
.slider-control:active,
.toggle-switch:focus,
.toggle-switch:active {
    outline: 3px solid #ff9800 !important;
    outline-offset: 3px;
    border-radius: 8px;
}


/* Maus identischg */
/* Einheitlicher Fokus-Stil für interaktive Elemente (barrierefrei, kontrastreich) */
a:hover,
a:focus-visible,
button:hover,
button:focus-visible,
input:hover,
input:focus-visible,
textarea:hover,
textarea:focus-visible,
select:hover,
select:focus-visible {
    outline: 3px solid #ff9800;
    /* gut sichtbar, aber nicht zu dick */
    outline-offset: 3px;
    /* Abstand zur Umrahmung */
    border-radius: 8px;
    /* sanft abgerundet für alle */
    background-color: #eef5ff;
    /* dezent hinterlegt */
    color: inherit;
    /* Schriftfarbe nicht ändern */
    transition: box-shadow 0.2s, background 0.2s;
    text-decoration: none;
}

/* Menü-Horizontal, Dropdown-Trigger (spezifisch, mit weißem Hintergrund) */
.menu-horizontal a:hover,
.menu-horizontal a:focus-visible,
.dropdown__trigger:hover,
.dropdown__trigger:focus-visible {
    outline: 3px solid #ff9800 !important;
    outline-offset: 3px;
    border-radius: 8px;
    background: #fff !important;
    color: #222 !important;
    /*font-weight: bold;*/
    transition: box-shadow 0.2s, background 0.2s;
}


/* Accordion Titel (nur EINE Fokusregel, #ff9800 Hintergrund) */


.accordion__header {
    box-shadow: 3px 3px 6px #b8b9be, -3px -3px 6px #fff !important;
    border-radius: 10px !important;
    height: auto;
}


/* Accordion-Überschriften von Schriftgrößenanpassung ausschließen */
.accordion__title {
    font-size: 1rem !important;
    /* oder deine gewünschte Größe */
    line-height: 1.5 !important;
    letter-spacing: 0 !important;
}


@media (max-width: 560px) {
    .accordion__header {
        height: auto;
    }
}

.accordion__title:focus,
.accordion__title:focus-visible {
    background-color: #ff9800 !important;
    color: #fff !important;
    outline: 3px solid #ff9800 !important;
    outline-offset: -3px !important;
    border-radius: 8px;
    border: none !important;
    box-shadow: none !important;
    transition: box-shadow 0.2s, background 0.2s;
}

/* und für maus */
.accordion__title:hover {
    background-color: #ff9800 !important;
    color: #fff !important;
    outline: 3px solid #ff9800 !important;
    outline-offset: -3px !important;
    border-radius: 8px;
    border: none !important;
    box-shadow: none !important;
    transition: box-shadow 0.2s, background 0.2s;
}

.accordion li .accordion__content {
    margin: 20px 0px 20px 0px !important;
}


/* Carousel/Banner/Slider-Pfeile */

@media (max-width:768px) {
    .carousel {
        margin-top: 40px;
    }
}

.carousel-control-prev:focus,
.carousel-control-next:focus,
.flickity-prev-next-button:focus,
.flickity-prev-next-button:focus-visible,
.swiper-button-prev:focus,
.swiper-button-next:focus {
    outline: 3px solid #ff9800 !important;
    outline-offset: 0px !important;
    border-radius: 10px !important;
    background: #ff9800 !important;
    color: #fff !important;
    border: none !important;
    box-shadow: none !important;
    transition: box-shadow 0.2s, background 0.2s;
}

/* und für maus */
/* Carousel/Banner/Slider-Pfeile */
.carousel-control-prev:hover,
.carousel-control-next:hover,
.flickity-prev-next-button:hover,
.swiper-button-prev:hover,
.swiper-button-next:hover {
    outline: 3px solid #ff9800 !important;
    outline-offset: 0px !important;
    border-radius: 10px !important;
    background: #ff9800 !important;
    color: #fff !important;
    border: none !important;
    box-shadow: none !important;
    transition: box-shadow 0.2s, background 0.2s;
}



/* Skip-Link (sichtbar & kontrastreich im Fokus) */
.skip-link {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    background: #ff9800;
    color: #000;
    padding: 14px 0;
    text-align: center;
    font-size: 1.1em;
    /*font-weight: bold;*/
    z-index: 9999;
    text-decoration: none;
    transform: translateY(-120%);
    transition: transform 0.2s;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.07);
    pointer-events: none;
}

.skip-link:focus,
.skip-link:active,
.skip-link:focus-visible {
    background: #ff9800 !important;
    color: #fff !important;
    transform: translateY(0);
    outline: 3px solid #000;
    pointer-events: auto;
}

.skip-link2 {
    position: relative;
    left: 0;
    right: 0;
    background: #ff9800;
    color: #000;
    padding: 14px 10px;
    text-align: center;
    font-size: 1.1em;
    /*font-weight: bold;*/
    z-index: 9999;
    text-decoration: none;
    transform: translateY(-120%);
    transition: transform 0.2s;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.07);
    pointer-events: none;
    border-radius: 8px;

}

.skip-link2:focus,
.skip-link2:active,
.skip-link2:focus-visible {
    background: #ff9800 !important;
    color: #fff !important;
    transform: translateY(0);
    outline: 3px solid #000;
    outline-offset: 3px !important;
    pointer-events: auto;
}


/* 1. Standard: Alle Links mit Bildern bekommen beim Fokussieren KEINE eigene Outline */
a:has(img):hover,
a:has(img):focus,
a:has(img):focus-visible {
    outline: none !important;
    background: none !important;
    box-shadow: none !important;
}

/* 2. Das Bild im Link bekommt die Outline (und gern auch einen Glow): */
a:has(img):hover,
a:has(img):focus img,
a:has(img):focus-visible img {
    outline: 3px solid #ff9800 !important;
    outline-offset: 3px !important;
    border-radius: 10px !important;
    background: #fff !important;
    transition: outline 0.2s;
}

/* 3. Optional: Wenn das Bild schon gerundet ist, überschreibe outline-offset und radius passend */
a:has(img):hover img.border5,
a:has(img):focus img.border5,
a:has(img):focus-visible img.border5 {
    border-radius: 10px !important;
}

/* 4. Alle anderen Links, Buttons etc. wie bisher */
button:focus:not(.carousel-control-prev):not(.carousel-control-next):not(.flickity-prev-next-button):not(.swiper-button-prev):not(.swiper-button-next),
button:focus-visible:not(.carousel-control-prev):not(.carousel-control-next):not(.flickity-prev-next-button):not(.swiper-button-prev):not(.swiper-button-next),
input:focus,
input:focus-visible,
textarea:focus,
textarea:focus-visible,
select:focus,
select:focus-visible {
    outline: 3px solid #ff9800;
    outline-offset: 3x;
    border-radius: 8px;
    background-color: #eef5ff;
}

/* 4. Alle anderen Links, Buttons etc. wie bisher */
button:hover:not(.carousel-control-prev):not(.carousel-control-next):not(.flickity-prev-next-button):not(.swiper-button-prev):not(.swiper-button-next),
input:hover,
textarea:hover,
select:hover {
    outline: 3px solid #ff9800;
    outline-offset: 3x;
    border-radius: 8px;
    background-color: #ffffff;
}

.animate-up-2:hover {
    outline: 3px solid #ff9800 !important;
    outline-offset: 3x;
}

a:hover img,
a:focus img {
    outline: 3px solid #ff9800;
    outline-offset: 3px;
    border-radius: 5px;
    background: #fff;
    transition: outline 0.2s;
}

a:has(img):hover,
a:has(img):focus {
    outline: none !important;
    background: none !important;
    box-shadow: none !important;
}

.skip-link {
    position: fixed;
    top: 5px;
    left: 0;
    right: 0;
    background: #ffdca6;
    color: #000;
    padding: 14px 0;
    text-align: center;
    font-size: 1.1em;
    /*font-weight: bold;*/
    z-index: 9999;
    text-decoration: none;
    transform: translateY(-120%);
    transition: transform 0.2s;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.07);
    pointer-events: none;
    width: 350px;
    margin: auto;
}

.skip-link:focus,
.skip-link:active {
    background: #ff9800 !important;
    /* <- bleibt #ff9800 */
    color: #000 !important;
    transform: translateY(0);
    outline: 2px solid #000;
    pointer-events: auto;
}

/*! Place your custom styles here */

a[href*="erfahren"]:focus,
a[href*="erfahren"]:focus-visible {
    outline: 2px solid #ff9800;
    outline-offset: 3px;
    border-radius: 8px;
    background-color: #eef5ff;
}

section[aria-label]:focus,
a[aria-label]:focus {
    outline: none;
}

.sr-only-focusable:focus {
    position: static;
    width: auto;
    height: auto;
    clip: auto;
    margin: 1rem;
    padding: 0.5rem 1rem;
    background: #eef5ff;
    outline: 2px solid #ff9800;

}


.sr-only-focusable {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

.sr-only-focusable:focus,
.sr-only-focusable:active {
    position: static !important;
    width: auto !important;
    height: auto !important;
    padding: 12px 24px !important;
    margin: 10px auto !important;
    overflow: visible !important;
    /* ← WICHTIG! */
    clip: auto !important;
    white-space: normal !important;
    background: linear-gradient(135deg, #ffd9a0 0%, #ffcd6b 100%);
    color: #000;
    border: 3px solid #ff9800;
    border-radius: 8px;
    font-weight: bold;
    font-size: 16px;
    text-decoration: none;
    z-index: 1000;
    display: inline-block !important;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
    transition: all 0.3s ease;
}


a:has(img):focus,
a:has(img):focus-visible {
    outline: none;
}

a:has(img):focus img,
a:has(img):focus-visible img {
    outline: 3px solid #ff9800;
    outline-offset: 3px;
    border-radius: 8px;
}

.fokus-box:focus {
    outline: 1px solid #ff9800;
    outline-offset: 2px;
    border-radius: 8px;
    background-color: #eef5ff;
    margin-top: 1px;
}

.fokus-col:focus {
    outline: 1px solid #ff9800;
    outline-offset: 3px;
    border-radius: 6px;
    margin-bottom: 20px;
    margin-top: 5px;
}


footer {
    border-top: #000 solid 1px;
}


footer .fokus-col:focus {
    background-color: none !important;
}

footer h2 {
    color: #000;
    font-size: 23px;
    padding-bottom: 5px;
    padding-top: 20px;
}

.accord2 .col-12 {
    margin-left: 0px !important;
}

.hamburger-toggle {
    background-color: transparent;
    border: solid 2px #2d4cc8;
    z-index: 1000;
    border-radius: 8px;
    width: 40px;
    top: -5x;
    margin-top: 0px;
    height: 40px;
    position: absolute !important;
    right: 30px;
}


.hamburger-toggle:focus,
.hamburger-toggle:focus-visible {
    outline: 3px solid #ff9800;
    outline-offset: 3px;
    border-radius: 6px;
    background-color: #eef5ff;
}

.hamburger-toggle .bi {
    padding-top: 5px;
}


#welcome:focus {
    outline: 2px solid #0069b7;
}


.accord1 {
    display: block;
}

.accord2 {
    display: none;
}





/*
.dropdown__trigger:focus,
.dropdown__trigger:focus-visible {
  outline: 2px solid #ff9800;
  outline-offset: 3px;
  border-radius: 8px;
  background-color: #eef5ff;
}
  */

.dropdown__trigger:focus {
    outline: 3px solid #ff9800;
    outline-offset: 3px;
    background-color: #eef5ff;
}

nav button {
    border: none;
    margin-top: 0px;
}

nav .bi {
    font-size: 25px;
}

/*
nav button[aria-expanded="true"] {
  border: 2px solid rgb(0, 104, 179);
  color: rgb(0, 104, 179);
  border-radius: 8px;
  height: 38px!important;
  padding: 0px 5px;
}*/

/* accordion */

#accessibleAccordion2 li, #accessibleAccordion li {margin: 15px 0px;}



.accordion-1 li .accordion__title {
    width: 100%;
    text-align: left;
    /*background: color(display-p3 0.1709 0.4053 0.6842);*/
    color: #fff;
    font-size: 22px;
    display: flex;
    color: #2d4cc8 !important;
}

.accordion .accordion__title:before {
    display: inline-box !important;
}

.accordion__title:before {
    color: #fff;
    display: inline-box;
}

#font-toggle {
    cursor: pointer !important;
    pointer-events: auto !important;
    user-select: none;
}

#font-toggle:hover {
    opacity: 0.9;
}



/* infos*/
.divider.d3::after {
    content: "";
    display: block;
    width: 25%;
    height: 1px;
    position: relative;
    background-color: #2d4cc8;
    margin: 0 auto;
}

.divider {
    height: 1px;
    background-color: #ccc;
    margin: 10px auto;
}

.br-bottom::after {
    content: "";
    display: block;
    height: 1px;
    width: 35px;
    border-top: 2px solid #2d4cc8;
    margin: 6px 0 10px;
}

.title-medium {
    font-family: "Montserrat", sans-serif;
    font-size: 23px;
    color: #2d4cc8;
    margin: 0 0 20px;
    line-height: 28px;
    letter-spacing: 1px;
}

#info .sce_loop_container {
    list-style: none;
}

#datum div.sce_inline_editor.cke_editable.cke_editable_inline.cke_contents_ltr.cke_show_borders {
    max-width: 70px;
    min-width: 70px;
}

#blog p {
    margin-bottom: 5px;
}

#blog h3 {
    font-size: 18px;
}

#blog h4 {
    margin-bottom: 0px;
    font-size: 14px;
}



.accordion__content p {
    padding-left: 35px;
    line-height: 20px;
}

.accordion__content h2 {
    padding: 20px 0px 10px 35px;
}

.accordion__content .btn {
    margin: 10px 0px 30px 35px;
    padding: 5px 10px;
}

/* start */

.dateien h4,
a {
    line-height: 22px;
    font-size: 18px;
    padding: 0px;
    text-align: left;
    margin: 0px;
    font-weight: 500;
}


#banner {
    padding-top: 0px;
}


.icons {
    width: 100%
}


@media (max-width: 767px) {
    .icons {
        max-width: 300px !important
    }
}




/* ========== MENU KORREKTUREN - EINHEITLICHE HÖHE ========== */

/* Basis: Horizontale Anordnung der Menü-Liste */
.menu-horizontal {
    display: flex;
    flex-direction: row;
    align-items: center;
    list-style: none;
    margin: 0;
    padding: 0;
    justify-content: center;
    flex-wrap: wrap;
    /* WICHTIG: Erlaubt Umbruch */
}

/* Einzelne Menü-Punkte - REDUZIERTE ABSTÄNDE */
.bar-1 .menu-horizontal > li {
    display: inline-flex;
    align-items: center;
    margin-right: 0.5em;
    margin-bottom: 5px;
    /* Abstand für zweite Zeile */
    font-size: 1.3em;
}

/* Letztes Element ohne Rechts-Margin */
.bar-1 .menu-horizontal > li:last-child {
    margin-right: 0;
}

/* Links und Buttons auf gleiche Höhe */
.bar-1 .menu-horizontal > li > a,
.bar-1 .menu-horizontal > li > .dropdown__trigger {
    height: auto !important;
    min-height: 32px;
    line-height: 32px !important;
    padding: 0 6px !important;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin: 0 !important;
    border: none;
    background: transparent;
    vertical-align: middle;
    white-space: nowrap;
    font-size: 20px !important;
}

/* Dropdown-Button spezifisch */
.bar-1 .menu-horizontal > li > .dropdown__trigger {
    padding: 0 8px !important;
}

/* Fokus und Hover - einheitlich */
.menu-horizontal a:focus,
.menu-horizontal a:focus-visible,
.menu-horizontal a:hover,
.dropdown__trigger:focus,
.dropdown__trigger:focus-visible,
.dropdown__trigger:hover {
    outline: 3px solid #ff9800 !important;
    outline-offset: 2px !important;
    border-radius: 8px !important;
    background: #fff !important;
    color: #222 !important;
    transition: all 0.2s ease;
}

/* Icon im Menü */
.menu-horizontal .bi {
    font-size: 1.4em !important;
    line-height: 28px;
    display: inline-flex;
    align-items: center;
    margin-top: -3px
}

/* Explizite horizontale Ausrichtung erzwingen */
.bar-1 ul.menu-horizontal {
    justify-content: flex-end !important;
    width: 100%;
}

.bar-1 .menu-horizontal > li {
    flex: 0 0 auto !important;
}

/* ========== RESPONSIVE BREAKPOINTS ========== */

/* Für große Bildschirme (1200px - 1320px) */
@media (max-width: 1320px) and (min-width: 1200px) {
    .bar-1 .menu-horizontal > li {
        font-size: 1.2em;
        margin-right: 0.4em;
    }

    .bar-1 .menu-horizontal > li > a,
    .bar-1 .menu-horizontal > li > .dropdown__trigger {
        padding: 0 5px !important;
    }
}

/* Mittlere Bildschirme (990px - 1199px) */
@media (max-width: 1199px) and (min-width: 990px) {
    .bar-1 .menu-horizontal > li {
        font-size: 1.1em;
        margin-right: 0.3em;
    }

    .bar-1 .menu-horizontal > li > a,
    .bar-1 .menu-horizontal > li > .dropdown__trigger {
        padding: 0 4px !important;
        line-height: 26px !important;
        min-height: 26px;
    }

    .sub li {
        font-size: 0.8em;
    }

    .logo {
        max-width: 130px;
        margin-bottom: 30px;
    }

    .sub2 {
        max-width: 300px;
        font-size: 0.8em;
    }
}

/* Tablets (768px - 989px) - UMBRUCH ERLAUBEN */
@media (max-width: 989px) and (min-width: 768px) {
    .bar-1 ul.menu-horizontal {
        /*max-width: 720px !important;*/
        flex-wrap: wrap !important;
        /* Umbruch aktivieren */
        justify-content: center;
    }

    .bar-1 .menu-horizontal > li {
        font-size: 0.95em;
        /* Kleiner */
        margin-right: 0.25em;
        /* Weniger Abstand */
        margin-bottom: 8px !important;
        /* Mehr Abstand für Umbruch */
    }

    .bar-1 .menu-horizontal > li > a,
    .bar-1 .menu-horizontal > li > .dropdown__trigger {
        padding: 0 4px !important;
        line-height: 24px !important;
        min-height: 24px;
        font-size: 13px;
    }

    .dropdown .dropdown__container {
        top: 30px;
    }

    .logo {
        max-width: 110px;
        margin-bottom: 30px;
    }

    .sub2 {
        max-width: 200px;
    }
}

/* Mobile (unter 768px) - VERTIKALE ANORDNUNG */
@media (max-width: 767px) {

    .menu-horizontal a:focus,
    .menu-horizontal a:focus-visible,
    .menu-horizontal a:hover,
    .dropdown__trigger:focus,
    .dropdown__trigger:focus-visible,
    .dropdown__trigger:hover {
        outline-offset: -2px !important;
    }


    /* Mobile Navigation sichtbar machen */
    #menu1.hidden-xs {
        display: none !important;
    }

    #menu1:not(.hidden-xs) {
        display: block !important;
    }

    /* Vertikale Anordnung */
    .menu-horizontal {
        flex-direction: column !important;
        align-items: stretch !important;
        width: 100% !important;
        gap: 0 !important;
    }

    .bar-1 .menu-horizontal > li {
        display: block !important;
        width: 100% !important;
        font-size: 1.2em;
        height: 36px;
        margin-left: 10px;
    }


    .bar-1 .menu-horizontal > li > a,
    .bar-1 .menu-horizontal > li > .dropdown__trigger {
        display: block !important;
        width: 100% !important;
        text-align: left !important;
        padding: 2px 5px !important;
        /* Gleichmäßiges Padding */
        line-height: 1.4 !important;
        box-sizing: border-box;
        max-width: 200px;
    }

    /* Dropdown-Container in Mobile */
    .dropdown .dropdown__container {
        position: relative !important;
        top: 0 !important;
        left: 0 !important;
        width: 100% !important;
        box-shadow: none !important;
        border: none !important;
        margin: 0 !important;
    }

    .dropdown__content {
        width: 100% !important;
        padding: 10px !important;
        /* ORIGINAL beibehalten */
    }

    .dropdown__content h5 {
        margin-top: 1em;
    }

    .w-85 {
        width: 85% !important;
    }

    .text-menu {
        text-align: left;
    }

    #logoline {
        display: none !important;
    }
}



.bar.pos-fixed:not([class*="bg-"]) {
    background-image: url(../img/bg2.jpg);
    background-position: bottom center;
    background-repeat: no-repeat;
}


.bar .logo {
    margin-bottom: 30px;
    max-width: 277px;
    width: 100%;
    top: -15px !important;
    position: relative;
    z-index: 999;
}

.sub li {
    font-size: 16px;
    line-height: 16px;
    text-align: left;
}

.sub2 li {
    font-size: 16px;
    line-height: 16px;
    text-align: left;
}


.w-85 {
    width: 85% !important;
}

.dropdown .dropdown__content h5 {
    color: #0069b7;
    font-size: 0.9em;
    text-align: left;
}

.text-menu {
    text-align: center;
}

/*
.menu-horizontal li:hover {
	cursor: pointer; 
	outline: 2px solid #ff9800; 
  }
*/
.menu-horizontal > li > a {
    line-height: 21px;
}

.dropdown {
    max-height: 36px;
}

.dropdown .dropdown__content {
    padding: 10px;
    width: 100%;
    display: inline-flex !important;
}

#menu1 h2 {
    font-size: 20px !important;
    /*font-weight: 600;*/
    font-style: italic;
    margin-bottom: 0px;
    margin-top: 10px;
}

@media (max-width: 767px) {
    .dropdown .dropdown__content:not([class*="bg-"]) {
        width: calc(100% - 15px) !important
    }
}

.menu-horizontal a:focus,
.menu-horizontal a:focus-visible {
    outline: 3px solid #ff9800 !important;
    outline-offset: 2px !important;
    border-radius: 8px !important;
    background: #fff !important;
    color: #222 !important;
}

.menu-horizontal a.active,
.menu-horizontal a[aria-current="page"] {
    /*font-weight: bold;*/
    color: #2d4cc8;
}

.dropdown--active > .dropdown__container {
    display: block !important;
    opacity: 1 !important;
}

.dropdown .dropdown__container {
    top: 15px;
    margin-left:-186px;
}



@media (max-width:1123px) {
    .dropdown .dropdown__container {
        top: 30px;
        margin-left: -186px;
    }
}

@media (max-width:1023px) {
    .dropdown .dropdown__container {
        top: 30px;
        margin-left: -286px;
    }
}

@media (max-width:1192px) and (min-width:990px) {
    .menu-horizontal li {
        margin-right: 1em;
    }

    .bar-1 .menu-horizontal > li > a,
    .bar-1 .menu-horizontal > li > .dropdown__trigger {
        line-height: 28px !important;
        min-height: 28px;
    }

    .sub li {
        font-size: 0.8em;
    }

    .logo {
        max-width: 130px;
        margin-bottom: 30px;
    }

    .sub2 {
        max-width: 300px;
        font-size: 0.8em;
    }
}


@media (max-width:991px) and (min-width:768px) {
    .menu-horizontal li {
        font-size: 16px;
        margin-right: 0.5em !important;
        margin-right: -0.2em !important;
    }

    .bar-1 .menu-horizontal > li > a,
    .bar-1 .menu-horizontal > li > .dropdown__trigger {
        line-height: 26px !important;
        min-height: 26px;
        font-size: 16.9px !important;
    }

    .logo {
        max-width: 110px;
        margin-bottom: 30px;
    }

    .sub2 {
        max-width: 250px;
    }

    .dropdown .dropdown__container {
        top: 30px;
        margin-left: -180px;
    }

    .bar-1 ul.menu-horizontal {
        justify-content: flex-end !important;
    }

}

@media (max-width:870px) {.dropdown .dropdown__container {margin-left: -165px;}}




@media (max-width: 767px) {
    .dropdown .dropdown__content h5 {
        margin-top: 1em;
    }

    .menu-horizontal li {
        margin-right: 0px;
        line-height: 0px;
    }

    .w-85 {
        width: 80% !important;
    }

    .text-menu {
        text-align: left;
    }

    #logoline {
        display: none !important;
    }
    .dropdown .dropdown__container {
        margin-left: -220px;
    }
}


caption {
    color: transparent;
}


/* footer */
footer {
    background: #2d4cc8;
    background-repeat: repeat;
    color: #000000;
    font-size: 16px;
    line-height: 24px;
}

footer::after {
    background-color: #000;
    ;
    background-repeat: repeat;
    font-size: 16px;
    line-height: 20px;
}

footer a {
    color: #0052a3 !important;
    font-style: italic;
}

footer a:hover,
footer a:focus,
footer a:focus-visible {
    background-color: transparent !important;
    /* oder eine deiner CI-Farben */
    color: #000000 !important;
    outline: 3px solid #ff9800 !important;
    border-radius: 5px;
    padding: 3px;
    outline-offset: 0 !important;
}


footer h3 {
    color: #000000;
    margin-top: 20px;
    margin-bottom: 10px;
    font-size: 20px;
}

footer p {
    color: #000000;
    font-size: 16px;
    line-height: 20px;
}

footer:not(.bg--primary):not(.bg--dark) a {
    color: #0052a3;
    padding: 5px;
    text-decoration: none;
    font-size: 16px;
    line-height: 20px;
    opacity: 1.0;
    margin-bottom: 12px !important;
}

footer:not(.bg--primary):not(.bg--dark) a :hover {
    color: #000;
}

footer .footer-img:active,
footer .footer-img:hover {
    border: none !important;
    outline: none !important;
}


/* SimpleCE */
.sce_edit_button {
    width: 140px;
}

.sce_edit_button a {
    color: #fff;
}

.sce_type_short .sce_inline_editor,
.sce_type_short .sce_editor {
    display: inline-block;
    min-width: 200px;
    background-color: rgba(243, 243, 243, 0.5);
}

.cke_editable {
    cursor: text;
    background-color: rgba(243, 243, 243, 0.5);
}

.sce_editable_area a {
    font-size: 14px;
    font-weight: 300;
}

.backend .image-container {
    max-width: 400px;
}

.sce_inline_editor {
    color: #28607d;
}

.sce_loop_container {
    width: 100%;
}

.sce_loop_container .sce_inline_editor {
    margin-top: 5px;
}

.sce_loop_container {
    list-style: decimal;
}

/* 404 */
#bg404 {
    background-image: url('../img/bg.jpg') !important;
    position: absolute;
    height: 100%;
    top: 0;
    left: 0;
    background-size: cover !important;
    background-position: 50% 50% !important;
    z-index: 0;
}

/* allgemein */

.hinweis {
    margin-top: 50px;
    color: #C00;
}

body {
    color: #000;
}

h1,
h2,
h3,
h4,
h5,
h6,
.h1,
.h2,
.h3,
.h4,
.h5,
.h6 {
    color: #000;
    font-weight: 400;
}

td,
p,
.p {
    font-size: 1.1em;
}

a:hover {
    text-decoration: none;
}

.schwarz {
    color: #000 !important;
}

.blau {
    color: #2d4cc8 !important;
}

.lead {
    font-size: 1.25rem;
    font-weight: 400;
}

img.center {
    display: block;
    margin: 0 auto;
}

ol li,
p,
ul li {
    font-family: "Helvetica", sans-serif;
    font-size: 1.1rem;
    font-weight: 400;
    line-height: 1.6;
}

td {
    vertical-align: top;
}


.featherlight-content {
    max-width: 890px;
}

.featherlight .featherlight-close-icon {
    color: #C30;
    height: 50px;
    width: 50px;
    font-size: 50px;
}

.topper {
    max-height: 400px;
}


.videoContainer iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

.videoContainer {
    position: relative;
    padding-bottom: 56.25%;
    /* Default for 1600x900 videos 16:9 ratio*/
    padding-top: 0px;
    height: 0;
    overflow: hidden;
}

.modal {
    background: rgba(0, 0, 0, 0.75);
}

.modal-body li {
    list-style: disc;
    margin-left: 25px;
}


.btn-close-white {
    filter: invert(1) grayscale(100%) brightness(200%);
}

.btn-close {
    width: 40px;
    height: 40px;
    background-size: contain !important;
}

.btn-close:hover,
.btn-close:focus {
    width: 40px !important;
    height: 40px !important;
    color: #000 !important;
    background: transparent url(../img/close.png) center / 40px 40px no-repeat !important;
    outline-offset: 2px !important;
    display: inline-block;
    border-radius: 50%;
    box-sizing: content-box !important;
    padding: 5px 5px !important;

    outline: 3px solid #ff9800 !important;
    outline-offset: 2px !important;
}


#accessibleAccordion2 li, #accessibleAccordion li{list-style:none!important;}

#web-mit-wirkung .svg-inline--fa {padding-top: 23px;}

#accessibility-panel input,
#accessibility-panel select {
    height: 1em;
}

#accessibility-panel input[type],
#accessibility-panel textarea,
#accessibility-panel select {
    background: #fff !important;
    border: 1px solid #000;
}


.icon-center{margin-left: calc(50% - 36px);}


.only-handy {
    display: none;
}

.no-handy {
    display: block;
}


@media (max-width: 767px) {
    .only-handy {
        display: block;
    }

    .no-handy {
        display: none !important;
    }

    .main-container {
        margin-top: -20px;
    }
}

@media (max-width: 500px) {
    .main-container {
        margin-top: -10px;
    }
}

@media (max-width: 250px) {
    .main-container {
        margin-top: -4px;
    }
}

@media (max-width: 575px) {
    .col-xs-6 {
        width: 50%;
        padding-left: 15px !important;
    }
}

.carousel-control-prev,
.carousel-control-next {
    border: 3px solid #fff;
    margin: 5px;
    opacity: 1;
    top: 45%;
    border-radius: 8px;
    width: 40px;
    background: #000;
}

.height70{height:70px!important;}

.telbutton{
    font-size: 16px;
    color:#2d4cc8;
    text-decoration: unset;
    border: solid 2px #2d4cc8;
    padding: 8px 5px 5px 5px;
    border-radius: 8px;
    font-weight: 600;
    background:#fff;
}
.telbutton .fa-phone{color:coral;}

.telbutton:hover{
    background:#2d4cc8;
    color:#fff!important;
}

.border15 {border-radius: 15px;}
.border5 {border-radius: 5px;}
.mt-15 {margin-top: -15px;}
.pt0 {padding-top: 0px !important;}
.pb0 {padding-bottom: 0px !important;}
.pt20 {padding-top: 20px !important;}
.pt70 {padding-top: 70px !important;}
.pt75 {padding-top: 75px !important;}
.pt80 {padding-top: 80px !important;}
.pt100 {padding-top: 100px !important;}
.pl9 {padding-left: 9px;}

.mt0 {margin-top: 0px !important;}
.mt10 {margin-top: 10px !important;}
.mt15 {margin-top: 15px !important;}
.mt20 {margin-top: 20px !important;}
.mt30 {margin-top: 30px !important;}
.mt40 {margin-top: 40px !important;}
.mt50 {margin-top: 50px !important;}
.mt60 {margin-top: 60px !important;}
.mt70 {margin-top: 70px !important;}
.mt80 {margin-top: 80px !important;}
.mt90 {margin-top: 90px !important;}
.mt100 {margin-top: 100px !important;}
.mt150 {margin-top: 150px !important;}

.mt-10 {margin-top: -10px !important;}
.mt-15 {margin-top: -15px !important;}
.mt-20 {margin-top: -20px !important;}
.mt-30 {margin-top: -30px !important;}
.mt-40 {margin-top: -40px !important;}
.mt-50 {margin-top: -50px !important;}
.mt-60 {margin-top: -60px !important;}
.mt-70 {margin-top: -70px !important;}
.mt-80 {margin-top: -80px !important;}
.mt-90 {margin-top: -90px !important;}
.mt-100 {margin-top: -100px !important;}
.mt-150 {margin-top: -150px !important;}
.mb0 {margin-bottom: 0px !important;}
.mb10 {margin-bottom: 10px !important;}
.mb15 {margin-bottom: 15px !important;}
.mb20 {margin-bottom: 20px !important;}
.mb30 {margin-bottom: 30px !important;}
.mb40 {margin-bottom: 40px !important;}
.mb50 {margin-bottom: 50px !important;}
.mb60 {margin-bottom: 60px !important;}
.mb70 {margin-bottom: 70px !important;}
.mb80 {margin-bottom: 80px !important;}
.mb90 {margin-bottom: 90px !important;}
.mb100 {margin-bottom: 100px !important;}
.mb150 {margin-bottom: 150px !important;}

.mb-10 {margin-bottom: -10px !important;}
.mb-15 {margin-bottom: -15px !important;}
.mb-20 {margin-bottom: -20px !important;}
.mb-30 {margin-bottom: -30px !important;}
.mb-40 {margin-bottom: -40px !important;}
.mb-50 {margin-bottom: -50px !important;}
.mb-60 {margin-bottom: -60px !important;}
.mb-70 {margin-bottom: -70px !important;}
.mb-80 {margin-bottom: -80px !important;}
.mb-90 {margin-bottom: -90px !important;}
.mb-100 {margin-bottom: -100px !important;}
.mb-150 {margin-bottom: -150px !important;}
.ml0 {margin-left: 0px !important;}
.ml10 {margin-left: 10px !important;}
.ml15 {margin-left: 15px !important;}
.ml20 {margin-left: 20px !important;}
.ml25 {margin-left: 25px !important;}
.ml30 {margin-left: 30px !important;}
.ml40 {margin-left: 40px !important;}
.ml50 {margin-left: 50px !important;}
.ml60 {margin-left: 60px !important;}
.ml70 {margin-left: 70px !important;}
.ml80 {margin-left: 80px !important;}
.ml90 {margin-left: 90px !important;}
.ml100 {margin-left: 100px !important;}
.ml150 {margin-left: 150px !important;}

.ml-10 {margin-left: -10px !important;}
.ml-15 {margin-left: -15px !important;}
.ml-20 {margin-left: -20px !important;}
.ml-30 {margin-left: -30px !important;}
.ml-40 {margin-left: -40px !important;}
.ml-50 {margin-left: -50px !important;}
.ml-60 {margin-left: -60px !important;}
.ml-70 {margin-left: -70px !important;}
.ml-80 {margin-left: -80px !important;}
.ml-90 {margin-left: -90px !important;}
.ml-100 {margin-left: -100px !important;}
.ml-150 {margin-left: -150px !important;}

.mr0 {margin-right: 0px !important;}
.mr10 {margin-right: 10px !important;}
.mr15 {margin-right: 15px !important;}
.mr20 {margin-right: 20px !important;}
.mr30 {margin-right: 30px !important;}
.mr40 {margin-right: 40px !important;}
.mr50 {margin-right: 50px !important;}
.mr60 {margin-right: 60px !important;}
.mr70 {margin-right: 70px !important;}
.mr80 {margin-right: 80px !important;}
.mr90 {margin-right: 90px !important;}
.mr100 {margin-right: 100px !important;}
.mr150 {margin-right: 150px !important;}

.mr-10 {margin-right: -10px !important;}
.mr-15 {margin-right: -15px !important;}
.mr-20 {margin-right: -20px !important;}
.mr-30 {margin-right: -30px !important;}
.mr-40 {margin-right: -40px !important;}
.mr-50 {margin-right: -50px !important;}
.mr-60 {margin-right: -60px !important;}
.mr-70 {margin-right: -70px !important;}
.mr-80 {margin-right: -80px !important;}
.mr-90 {margin-right: -90px !important;}
.mr-100 {margin-right: -100px !important;}
.mr-150 {margin-right: -150px !important;}

html,
body,
* {
    cursor: auto !important;
    margin-bottom: 0px !important;
}


#fokusEnde:focus {
    position: static;
    background: #eef5ff;
    outline: 2px solid #ff9800;
    color: #222;
    padding: 1rem;
    clip: auto;
    width: auto;
    height: auto;
    z-index: 20000;
}

.sr-only-focusable {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

.sr-only-focusable:focus {
    position: static;
    width: auto;
    height: auto;
    clip: auto;
    margin: 1rem;
    padding: 0.5rem 1rem;
    background: #eef5ff;
    outline: 2px solid #ff9800;
    border-radius: 7px;
}


/* Nachtmodus: Überschriften und Burger-Icon sichtbar machen */
body.night-mode-active h1,
body.night-mode-active h2,
body.night-mode-active h3,
body.night-mode-active h4,
body.night-mode-active h5,
body.night-mode-active h6,
body.night-mode-active .accordion__content,
body.night-mode-active footer p,
body.night-mode-active footer td {
    color: #fff !important;
}

body.night-mode-active .bg--secondary p,
body.night-mode-active .bg--secondary h1,
body.night-mode-active .bg--secondary h2,
body.night-mode-active .bg--secondary h3,
body.night-mode-active .bg--secondary h4,
body.night-mode-active .bg--secondary h5,
body.night-mode-active .bg--secondary h6 {
    color: #000 !important;
}

body.night-mode-active li,
body.night-mode-active td,
body.night-mode-active .boxed h2,
body.night-mode-active .boxed h3,
body.night-mode-active .dropdown__content h2 {
    color: #000 !important;
}

body.night-mode-active .accordion__content a {
    text-decoration: underline !important;
    font-style: italic !important;
}

body.night-mode-active .bg--secondary a,
body.night-mode-active .bg--secondary li a,
body.night-mode-active .bg--secondary td a {
    text-decoration: underline !important;
    font-style: italic !important;
    color: #000 !important;
    background: #fff !important;
}


body.night-mode-active .dropdown__container {
    background-color: rgba(0, 0, 0, 0) !important;
}

body.night-mode-active .menu-vertical a {
    color: #000 !important;
    background: #fff !important;
    border-color: #000 !important;
}

body.night-mode-active footer {
    background: #000 !important;
    border-top: solid 1px #fff;
}

body.night-mode-active footer a {
    font-size: 16px !important;
    margin-bottom: 10px !important;
    border: 2px solid #fff !important;
    box-shadow: none;
}

body.night-mode-active footer .btn:active,
body.night-mode-active footer a:active,
body.night-mode-active footer a:focus,
body.night-mode-active footer a:hover {
    background: #fff !important;
    color: #000 !important;
}

.dropdown__content h2{color:#2d4cc8;}

/* Formular Label */
body.night-mode-active .leform-label {
    color: #000 !important;
}

/* Hamburger-Button und Icon */
body.night-mode-active .hamburger-toggle,
body.night-mode-active .hamburger-toggle i,
body.night-mode-active .hamburger-toggle .bi {
    color: #fff !important;
    fill: #fff !important;
    /* falls SVG/Glyph */
}

/* NIGHT MODE: Orange-Border bei Hover/Focus final erzwingen */
body.night-mode-active a:hover,
body.night-mode-active a:focus,
body.night-mode-active button:hover,
body.night-mode-active button:focus,
body.night-mode-active input:hover,
body.night-mode-active input:focus,
body.night-mode-active select:hover,
body.night-mode-active select:focus,
body.night-mode-active textarea:hover,
body.night-mode-active textarea:focus,
body.night-mode-active .btn:hover,
body.night-mode-active .btn:focus {
    border-color: #fff !important;
    /* überschreibt weiß */
    outline: 3px solid #ff9800 !important;
    outline-offset: 3px !important;
}

body.night-mode-active .card {
    border: 2px solid #000 !important
}

body.night-mode-active .blau {
    color: #000;
}

body.night-mode-active .modal-title,
body.night-mode-active .card,
body.night-mode-active .card p,
body.night-mode-active .card h1,
body.night-mode-active .card h2,
body.night-mode-active .card h3,
body.night-mode-active .card h4,
body.night-mode-active .card h5,
body.night-mode-active .card h6 {
    color: #000 !important;
}

body.night-mode-active .card a {
    font-style: italic;
}

body.night-mode-active .card {
    background: #fff !important;
}


body.night-mode-active .btn-close:hover,
body.night-mode-active .btn-close:focus {
    width: 40px !important;
    height: 40px !important;
    color: #000 !important;
    background: transparent url(../img/close.png) center / 40px 40px no-repeat !important;
    outline-offset: 2px !important;
    display: inline-block;
}



body.night-mode-active nav a {
    color: #fff !important;
    text-decoration: none !important;
    font-style: normal !important;
    background: #000 !important;
}

body.night-mode-active {
    filter: none !important;
}


body.night-mode-active footer address,
body.night-mode-active .blau,
body.night-mode-active .accordion__title,
body.night-mode-active .accordion__title::before,
body.night-mode-active footer,
body.night-mode-active footer p,
body.night-mode-active footer tr,
body.night-mode-active footer td,
body.night-mode-active footer .strong,
body.night-mode-active footer .fa,
body.night-mode-active footer .fas {
    color: #fff !important;
    font-style: normal !important;
    text-decoration: none !important;
    border-bottom: none !important;
    text-align: left !important;
}

body.night-mode-active a {
    background: #000;
    border-radius: 10px !important;
}

body.night-mode-active footer a {
    padding: 5px !important;
}

body.night-mode-active .bar .logo {
    background: #fff;
    border-radius: 8px;
    border: 3px solid #fff;
}

body.night-mode-active footer address {
    line-height: 25px !important;
}

body.night-mode-active footer a,
body.night-mode-active footer tr {
    line-height: 41px !important;
}

body.night-mode-active footer a {
    background: #000;
    color: #fff;
    padding: 5px;
    border-radius: 8px;
    text-decoration: none !important;
    Box-shadow: none !important;
}

body.night-mode-active footer a:hover,
body.night-mode-active footer a:focus {
    background: #fff !important;
}

body.night-mode-active footer .footer-img {
    height: auto !important;
    display: inline-block;
    background: none !important;
    border: none !important;
}

body.night-mode-active footer .footer-img:hover {
    background: none !important;
}

/* --- Footer-Siegel: Mindest-Touchfläche + Abstand + Fokus --- */
.seal-group {
  text-align:left!important;
  align-items: center;
  gap: 12px;        /* Abstand zwischen den Grafiken */
  flex-wrap: nowrap;/* KEIN Umbruch: nebeneinander */
}
.sealgroup img{margin-right:10px!important;}


.footer-img.touch-48 {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 48px;     /* Mindest-Touchfläche */
  min-height: 48px;    /* Mindest-Touchfläche */
  padding: 4px 6px;    /* zusätzliche Pufferzone */
  border-radius: 8px;
  line-height: 1;
  text-decoration: none;
  outline: none;
}

.footer-img.touch-48 img {
  max-width: 120px;        /* hält die Grafik im Rahmen */
  height: auto;
  display: block;
}

.footer-img.touch-48:focus-visible,
.footer-img.touch-48:hover {
  box-shadow: 0 0 0 3px rgba(0, 123, 255, .35);
}

@media (max-width: 769px) {
    .seal-group {
        text-align:center!important;
    } 
}
    
@media (max-width: 576px) {
  .seal-group { gap: 14px; }
  .footer-img.touch-48 img { max-width: 110px; }
}

@media (max-width: 420px) {
  .seal-group { 
    flex-wrap: wrap; /* sehr kleine Geräte: darf umbrechen */
    gap: 14px;
  }
     
    footer .smallcenter{
        max-width:360px;
    }
}


.sr-only {
  position: absolute !important;
  width: 1px; height: 1px;
  padding: 0; margin: -1px;
  overflow: hidden; clip: rect(0, 0, 0, 0);
  white-space: nowrap; border: 0;
}


/* --- Accessibility-Scaling Overrides --- */
#main-content h1, h1 {
    font-size: calc(2.5rem * var(--acc-scale, 1)) !important;
}

#main-content h2, h2 {
    font-size: calc(2.0rem * var(--acc-scale, 1)) !important;
}

#main-content h3, h3 {
    font-size: calc(1.8rem * var(--acc-scale, 1)) !important;
}

#main-content h4, h4 {
    font-size: calc(1.0em * var(--acc-scale, 1)) !important;
}

#main-content h5, h5 {
    font-size: calc(1.6em * var(--acc-scale, 1)) !important;
}

#main-content h6, h6 {
    font-size: calc(1.6em * var(--acc-scale, 1)) !important;
}

#main-content p {
    font-size: calc(1.6rem * var(--acc-scale, 1)) !important;
    line-height: calc(2rem * var(--acc-scale, 1)) !important;
}
#main-content a {
    font-size: calc(1.6rem * var(--acc-scale, 1)) !important;
    line-height: calc(2rem * var(--acc-scale, 1)) !important;
}

#main-content li {
    font-size: calc(1.6rem * var(--acc-scale, 1)) !important;
    list-style: disc;
    margin-left: 20px;
}

#main-content .breadcrumb li{
    list-style:none;
    margin-left: -4px;
} 

#main-content .breadcrumb a{color:#2d4cc8;}

#main-content ul {
    font-size: calc(1.6em * var(--acc-scale, 1)) !important;
}

#main-content ol {
    font-size: calc(1.6em * var(--acc-scale, 1)) !important;
}

#main-content td {
    font-size: calc(1.6em * var(--acc-scale, 1)) !important;
}

#main-content td a{font-size: calc(1.6em * var(--acc-scale, 1)) !important;}

#main-content th {
    font-size: calc(1.6em * var(--acc-scale, 1)) !important;
}

#main-content a {
    font-size: calc(1.6rm * var(--acc-scale, 1)) !important;
}

/* #main-content span {
    font-size: calc(1.6rem * var(--acc-scale, 1)) !important;
}
*/

#main-content div:not(#accessibility-pane):not(.toggle-switch) {
    font-size: calc(1.6rem * var(--acc-scale, 1)) !important;
}

#main-content label {
    font-size: calc(1.6rem * var(--acc-scale, 1)) !important;
}

#main-content address {
    font-size: calc(1.6rem * var(--acc-scale, 1)) !important;
}

#main-content strong {
    font-size: calc(1.6rm * var(--acc-scale, 1)) !important;
}

#main-content em {
    font-size: calc(1.6rem var(--acc-scale, 1)) !important;
}

#main-content b {
    font-size: calc(1.6rm * var(--acc-scale, 1)) !important;
}

#main-content i {
    font-size: calc(1.6em * var(--acc-scale, 1)) !important;
}

#main-content blockquote {
    font-size: calc(1.6rem * var(--acc-scale, 1)) !important;
}

#main-content caption {
    font-size: calc(1.6rem* var(--acc-scale, 1)) !important;
}

#main-content .accordion__content {
    font-size: calc(1.6rem * var(--acc-scale, 1)) !important;
}

#main-content .accordion__title {
    font-size: calc(1.6rem * var(--acc-scale, 1)) !important;
}

#main-content .lead {
    font-size: calc(1.6rem * var(--acc-scale, 1)) !important;
}

/* Demo-Block spezifisch */
#main-content > div[style*="max-width: 800px"] h1 {
    font-size: calc(2.5rem * var(--acc-scale, 1)) !important;
}

#main-content > div[style*="max-width: 800px"] h2 {
    font-size: calc(2.0rem * var(--acc-scale, 1)) !important;
}

#main-content > div[style*="max-width: 800px"] p {
    font-size: calc(1.6rem * var(--acc-scale, 1)) !important;
}

#main-content > div[style*="max-width: 800px"] li {
    font-size: calc(1.6rem * var(--acc-scale, 1)) !important;
}

#main-content > div[style*="max-width: 800px"] td {
    font-size: calc(1.6em * var(--acc-scale, 1)) !important;
}

#main-content > div[style*="max-width: 800px"] a {
    font-size: calc(1.6rm * var(--acc-scale, 1)) !important;
}

#main-content > div[style*="max-width: 800px"] span {
    font-size: calc(1.6rem * var(--acc-scale, 1)) !important;
}

#main-content > div[style*="max-width: 800px"] .lead {
    font-size: calc(1.7rem * var(--acc-scale, 1)) !important;
}

/* Line-Height und Letter-Spacing mit CSS-Variablen */

#main-content .lead {
    line-height: calc(var(--acc-line-height, 1.2)) !important;
}

#main-content h2 {
    line-height: calc(var(--acc-line-height, 1.2)) !important;
}

#main-content * {
    line-height: calc(var(--acc-line-height, 1.2)) !important;
    letter-spacing: calc(var(--acc-letter-spacing, 0) * 1px) !important;
}


/* Navigation und Bedienelemente ausschließen */
#accessibility-panel,
#accessibility-panel *,
#accessibility-button,
#accessibility-button *,
nav,
nav *,
.nav-container,
.nav-container *,
.bar,
.bar *,
.menu-horizontal,
.menu-horizontal *,
button:not(#main-content button),
.btn:not(#main-content .btn) {
    /*font-size: 20px !important;*/
    line-height: initial !important;
    letter-spacing: initial !important;
}


/* Aktivzustand am <html>, nur wenn eingeschaltet */
html.fontscale-on {
    font-size: var(--fontscale, 112%);
}

/* optional: visueller Zustand für den Schalter */
.toggle-switch.is-on .toggle-slider {
    transform: translateX(100%);
}

/* stellen Sie sicher, dass .toggle-slider eine Transition/Width hat, falls gewünscht */


@media (max-width: 767px) {
    #menu1.mobile-hidden {
        display: none;
    }

    #lang-ui-mobile {
        position: absolute;
        right: 60px;
        top: 5px;
    }
}


/* Logoline und Menü untereinander anordnen */
#logoline {
    width: 100%;
    margin-bottom: 15px;
}

#menu1 .row {
    display: block;
    width: 100%;
}



.leform-element .leform-button span {
    transform: translateY(-2px) !important;
    font-size: 22px !important;
}


.leform-element .leform-button:hover,
.leform-element .leform-button:focus{
    color:#1346a8!important;
}

/* === Google-Translate Consent steuert Sprachauswahl === */
html:not(.gt-consent) .nav-language-selector {
    display: none !important;
}

html.gt-consent .nav-language-selector {
    display: inline-block !important;
    /* passt zu deinem Layout */
}

[data-mount="lang"]:empty {
    display: none !important;
}

/* Sichtbarkeit Mobile + Desktop eindeutig an Consent binden */
html:not(.gt-consent) .nav-language-selector {
    display: none !important;
}

html.gt-consent .nav-language-selector {
    display: inline-block !important;
}

[data-mount="lang"]:empty {
    display: none !important;
}

/* Desktop: Bezugspunkt für absolute Position herstellen */
@media (min-width: 768px) {
    .bar-1 {
        position: relative !important;
    }

    /* Container der Desktop-Navigation */
}


.ccm-widget--text:hover,
.cover-scrollbar:hover,
.ccm-widget--text:focus,
.cover-scrollbar:focus {
    outline-offset: 0px !important;
    outline: none !important;
}


hr:not([size]) {
    height: 0.1px;
}

@media (max-width: 769px) {
    .shadow-soft, .shadow-inset{
        box-shadow:none!important;
    }
    .border-light {
        border-color: #e6e7ee!important;
    }
    .card-body {
        padding: 0rem!important;
    }
    .pl-4, .px-4 {
        padding-left: 1rem !important;
    }
}


/* =========================================================
   CARD – LICHTREFLEX (nur wenn JS .card-shine-ready setzt)
   - nur Desktop: Screenbreite > 768px
   - weißer, deutlicher, langsamer Strahl mit Glow
   ========================================================= */
@media (min-width: 769px) {

    .card.card-shine-ready{
        position: relative;
        overflow: hidden; /* Strahl bleibt sauber in der Card */
        will-change: filter;
    }

    /* Glow (weich, breit) */
    .card.card-shine-ready::before,
    /* Core (hell, schmal) */
    .card.card-shine-ready::after{
        content: "";
        position: absolute;
        inset: -80%;
        pointer-events: none;
        opacity: 0;
        transform: translate3d(-70%, -70%, 0) rotate(45deg);
        mix-blend-mode: screen;
    }

    .card.card-shine-ready::before{
        background: linear-gradient(
            90deg,
            rgba(255,255,255,0) 0%,
            rgba(255,255,255,0.12) 47.5%,
            rgba(255,255,255,0.55) 50%,
            rgba(255,255,255,0.12) 52.5%,
            rgba(255,255,255,0) 100%
        );
        filter: blur(12px);
    }

    .card.card-shine-ready::after{
        background: linear-gradient(
            90deg,
            rgba(255,255,255,0) 0%,
            rgba(255,255,255,0.18) 49%,
            rgba(253, 170, 70, 0.98) 50%,
            rgba(255,255,255,0.18) 51%,
            rgba(255,255,255,0) 100%
        );
        filter: blur(1px);
    }

    /* „nach außen scheint“: extra Glow um die Card, nur während der Animation */
    .card.card-shine-ready.card-shine-running{
        filter:
          drop-shadow(0 0 16px rgba(255,255,255,0.50))
          drop-shadow(0 0 34px rgba(255,255,255,0.25));
    }

    .card.card-shine-ready.card-shine-running::before,
    .card.card-shine-ready.card-shine-running::after{
        opacity: 1;
        animation: krqCardShine 1700ms cubic-bezier(0.18, 0.70, 0.15, 1) 1;
    }

    @keyframes krqCardShine{
        0%   { transform: translate3d(-72%, -72%, 0) rotate(45deg); opacity: 0; }
        8%   { opacity: 1; }
        92%  { opacity: 1; }
        100% { transform: translate3d(72%, 72%, 0) rotate(45deg); opacity: 0; }
    }
}

/* OS-Barrierefreiheit: reduced motion => kein Effekt */
@media (prefers-reduced-motion: reduce){
    .card.card-shine-ready.card-shine-running{
        filter: none !important;
    }
    .card.card-shine-ready::before,
    .card.card-shine-ready::after{
        animation: none !important;
        opacity: 0 !important;
    }
}