/* les_master minimal (refactored + fluid typography) — FULL INTEGRATED VERSION
   - Aufräumarbeiten: rem, Tokens, konsolidierte Layout-Werte
   - Responsive Typo ergänzt/vereinheitlicht, wo sinnvoll (via Tokens/clamp)
   - ALLE Media Queries gesammelt am Ende (Bootstrap Breakpoints)
*/

/* =========================
   Font (IBM Plex Sans)
========================= */
@font-face {
    font-family: "IBM Plex Sans";
    src: url("../Fonts/ibm-plex-sans-v23-latin-regular.woff2") format("woff2");
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: "IBM Plex Sans";
    src: url("../Fonts/ibm-plex-sans-v23-latin-600.woff2") format("woff2");
    font-weight: 600;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: "IBM Plex Sans";
    src: url("../Fonts/ibm-plex-sans-v23-latin-700.woff2") format("woff2");
    font-weight: 700;
    font-style: normal;
    font-display: swap;
}

/* =========================
   Tokens / Variables
========================= */
:root {
    /* Font stacks */
    --font-sans: "IBM Plex Sans", system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue",
        Arial, "Noto Sans", "Liberation Sans", sans-serif;
    --font-display: "IBM Plex Sans", system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue",
        Arial, "Noto Sans", "Liberation Sans", sans-serif;


    /* Weights (only shipped) */
    --fw-regular: 400;
    --fw-semibold: 600;
    --fw-bold: 700;

    /* Base rhythm */
    --fs-base: 1rem;
    --lh-base: 1.6;
    --lh-tight: 1.15;
    --lh-snug: 1.35;
    --measure: 65ch;

    /* Fluid type scale */
    --fs-xxs: clamp(0.75rem, calc(0.72rem + 0.18vw), 0.8125rem);
    --fs-xs: clamp(0.8125rem, calc(0.78rem + 0.22vw), 0.875rem);
    --fs-sm: clamp(0.875rem, calc(0.83rem + 0.25vw), 1rem);
    --fs-md: clamp(1rem, calc(0.94rem + 0.35vw), 1.169rem);
    --fs-lg: clamp(1.125rem, calc(1.03rem + 0.55vw), 1.35rem);
    --fs-xl: clamp(1.35rem, calc(1.18rem + 0.95vw), 1.85rem);
    --fs-2xl: clamp(1.65rem, calc(1.38rem + 1.35vw), 2.35rem);
    --fs-3xl: clamp(2rem, calc(1.55rem + 2.05vw), 3rem);

    /* Component font tokens */
    --fs-h4: clamp(1.125rem, calc(1.03rem + 0.60vw), 1.35rem);
    --fs-h5: clamp(1.05rem, calc(1.00rem + 0.35vw), 1.2rem);
    --fs-footer-heading: clamp(1.125rem, calc(1.02rem + 0.45vw), 1.35rem);
    --fs-quicklink: clamp(0.9rem, calc(0.86rem + 0.25vw), 1rem);
    --fs-cta-text: clamp(1.125rem, calc(1.02rem + 0.75vw), 1.5rem);

    /* Added: page typography (responsive) */
    --fs-pageheader-h3: clamp(1.5rem, calc(1.0796rem + 0.227vw), 1.45rem);
    /* ~18px..20px */
    --lh-pageheader-h3: 1.625;

    --fs-download-item-title: clamp(1.1rem, calc(1.07rem + 0.15vw), 1.15rem);
    --fs-tabledce: clamp(0.9375rem, calc(0.92rem + 0.10vw), 0.98rem);

    /* Spacing */
    --space-2: 0.5rem;
    --space-3: 0.75rem;
    --space-4: 1rem;
    --space-5: 1.7rem;

    /* Added: layout spacing */
    --page-container-minh: 6.25rem;
    /* 100px */
    --page-header-pad-y: 1.25rem;
    /* 20px */
    --page-breadcrumb-mt: 5rem;
    /* 80px */
    --page-breadcrumb-mt-sm: 2.5rem;
    /* 40px */
    --accordion-mt: 3.125rem;
    /* 50px */
    --buttonwrapper-pad-y: 3.125rem;
    /* 50px */

    --ce-headline-center-pad-inline: 25%;
    --ce-headline-center-pad-inline-md: 20%;
    --ce-headline-center-pad-inline-sm: 1rem;

    /* Brand colors */
    --c-topbar: #edf1f6;
    --c-brandbar: #1c437c;
    --c-divider: #184977;

    --c-text: #1b2a3a;
    --c-muted: #4d5b6b;
    --c-link: #0066B3;

    --c-footer-top: #0b71b8;
    --c-footer-bottom: #063c74;
    --c-footer-text: rgba(255, 255, 255, 0.92);
    --c-footer-muted: rgba(255, 255, 255, 0.82);
    --c-footer-line: rgba(255, 255, 255, 0.18);

    /* Generic tokens mapped to brand tokens */
    --text: var(--c-text);
    --text-muted: rgba(11, 27, 43, 0.72);
    --link: var(--c-link);
    --link-hover: #041424;

    /* Radius */
    --radius: 0.625rem;
    /* 10px */

    /* Accent / Orange */
    --c-accent: #ed660c;
    --c-accent-hover: #d85b0a;

    /* Buttons */
    --btn-bg: var(--c-accent);

    --bs-btn-hover-color: #fff;

    /* Focus */
    --focus: 0 0 0 0.2rem rgba(0, 0, 0, 1);

    /* Bootstrap hook */
    --bs-nav-link-font-size: clamp(0.95rem, calc(0.90rem + 0.25vw), 1.625rem);

    /* Floating Actions */
    --fa-size: 3.5rem;
    /* 56px */
    --fa-icon: 1.25rem;
    /* 20px */
    --fa-gap: 0.625rem;
    /* 10px */
    --fa-right: 1.375rem;
    /* 22px */
    --fa-top: 21.125rem;
    /* 402px */
    --fa-blue: #184977;
    --fa-green: #3f8f67;
    --fa-orange: var(--c-accent);

    /* HERO */
    --hero-surface-top: #1f5f93;
    --hero-surface-bottom: #2e7ea5;
    --hero-text: rgba(255, 255, 255, 0.95);
    --hero-text-muted: rgba(255, 255, 255, 0.9);
    --hero-card-radius: 0.875rem;
    /* 14px */

    /* INFOBOX */
    --ibox-radius: 0.625rem;
    /* 10px */
    --ibox-border: rgba(0, 0, 0, 0.06);
    --ibox-shadow: 0 1.5625rem 2.125rem -0.75rem rgba(26, 32, 44, 0.25);

    --ibox-blue: #0066b3;
    --ibox-orange: var(--c-accent);
    --ibox-green: #3f8f67;

    --ibox-bg-blue: linear-gradient(135deg, #fff 0%, #eff6ff 100%);
    --ibox-bg-orange: linear-gradient(135deg, #fff 0%, #fff7ed 100%);
    --ibox-bg-green: linear-gradient(135deg, #fff 0%, #f0fdf4 100%);

    --ibox-bg-blue-down: linear-gradient(0deg, #fff 0%, #eff6ff 100%);
    --ibox-bg-orange-down: linear-gradient(0deg, #fff 0%, #fff7ed 100%);
    --ibox-bg-green-down: linear-gradient(0deg, #fff 0%, #f0fdf4 100%);

    --ibox-icon-blue: rgba(24, 73, 119, 0.12);
    --ibox-icon-orange: rgba(232, 127, 47, 0.16);
    --ibox-icon-green: rgba(63, 143, 103, 0.16);

    /* CTA (Green Rocket) */
    --cta-radius: 0.875rem;
    /* 14px */
    --cta-green-1: #0a9b62;
    --cta-green-2: #20c87a;
    --cta-text: rgba(255, 255, 255, 0.95);
    --cta-text-muted: rgba(255, 255, 255, 0.88);

    /* ACCORDION */
    --acc-radius: 0.625rem;
    /* 10px */
    --acc-shadow: 0 0.75rem 1.5rem rgba(26, 32, 44, 0.12);
    --acc-border: rgba(0, 0, 0, 0.06);

    /* Button Group Tiles (DCE) */
    --btg-radius: var(--radius);
    --btg-shadow: 0 0.875rem 1.375rem rgba(26, 32, 44, 0.18);
    --btg-blue: #0b5fa5;
    --btg-orange: var(--c-accent);
    --btg-green: #0A8554;

    --btg-gap: 0.625rem;
    /* 10px */
    --btg-pad-y: 1.125rem;
    /* 18px */
    --btg-pad-x: 1rem;
    /* 16px */
    --btg-min-h: 8rem;
    /* 128px */
    --btg-label-size: var(--fs-lg);
    --btg-sub-size: var(--fs-md);
    --btg-focus: 0 0 0 0.2rem rgba(255, 255, 255, 0.75);

    /* CTA Blue Contact (DCE) */
    --cta-blue-radius: 0.875rem;
    /* 14px */
    --cta-blue-bg: #0b6aa7;
    --cta-blue-overlay: rgba(11, 106, 167, 0.90);
    --cta-blue-text-muted: rgba(255, 255, 255, 0.78);
    --cta-blue-shadow: 0 1.125rem 2.5rem rgba(0, 0, 0, 0.18);

    --cta-blue-btn-height: 3.25rem;
    /* 52px */
    --cta-blue-btn-radius: var(--radius);
    --cta-blue-ico-radius: var(--radius);
    --cta-blue-ico-bg: var(--c-accent);
    --cta-blue-ico-bg-white: rgba(255, 255, 255, 0.92);
    --cta-blue-link: #bfe3ff;

    --cta-blue-title-size: clamp(1.6rem, calc(1rem + 2vw), 2.35rem);
    --cta-blue-text-size: clamp(1.125rem, calc(1.0rem + 0.8vw), 1.5rem);
    --cta-blue-text-line: 1.625;

    --cta-blue-block-gap: 1.375rem;
    /* 22px */
    --cta-blue-block-ico: 3rem;
    /* 48px */
    --cta-blue-block-icoimg: 1.5rem;
    /* 24px */

    --cta-blue-img-radius: 0.875rem;
    --cta-blue-img-shadow: 0 1rem 1.875rem rgba(0, 0, 0, 0.22);
    --cta-blue-img-main: 26.25rem;
    /* 420px */
    --cta-blue-img-secondary: 15rem;
    /* 240px */
    --cta-blue-focus: 0 0 0 0.2rem rgba(255, 255, 255, 0.75);

    /* DCE Button */
    --dce-btn-icon: 1rem;
    /* 16px */
    --dce-btn-blue: var(--ibox-blue);
    --dce-btn-orange: var(--c-accent);
    --dce-btn-green: var(--ibox-green);
    --dce-btn-red: #E4405F;

    /* CONTACT CARD (DCE) */
    --cc-radius: 0.875rem;
    /* 14px */
    --cc-shadow: 0 1.375rem 2.5rem rgba(26, 32, 44, 0.18);
    --cc-border: rgba(0, 0, 0, 0.06);

    --cc-blue: var(--c-link);
    --cc-orange: var(--c-accent);
    --cc-green: var(--ibox-green);

    --cc-title: var(--c-text);
    --cc-muted: var(--c-muted);

    --cc-body-pad: 1.375rem;
    /* 22px */
    --cc-row-gap: 0.75rem;
    /* 12px */
    --cc-ico-col: 1.375rem;
    /* 22px */
    --cc-ico-gap: 0.75rem;
    /* 12px */
    --cc-ico-wrap: 1.375rem;
    /* 22px */
    --cc-ico: 1.125rem;
    /* 18px */

    --cc-badge-pad-y: 0.48rem;
    --cc-badge-pad-x: 1.05rem;
    --cc-badge-size: 0.95rem;
    --cc-badge-radius: 62.4375rem;
    /* 999px */

    --cc-title-size: 1.75rem;
    --cc-title-line: 1.15;

    --cc-height-lg: 57.5rem;
    /* 920px */

    /* Anchor Menu (DCE) */
    --anchor-radius: 1rem;
    /* 16px */
    --anchor-shadow: 0 1.375rem 2.2rem rgba(26, 32, 44, 0.18);
    --anchor-bg: linear-gradient(135deg, #f2f8ff 0%, #ecf5ff 100%);
    --anchor-tile: rgba(24, 73, 119, 0.08);
    --anchor-icon: #184977;
    --anchor-link: var(--c-link);
    --fs-anchor-title: clamp(1.6rem, calc(1.545rem + 0.273vw), 1.75rem);

    /* INFO CARD */
    --ic-radius: var(--radius);
    --ic-shadow: var(--ibox-shadow);
    --ic-bg: #fff;

    --ic-inner-pad: 1.375rem;
    /* 22px */
    --ic-inner-pad-md: 3rem 3rem;

    --ic-block-gap: 0.875rem;
    /* 14px */
    --ic-blocks-mt: 0.75rem;
    /* 12px */
    --ic-more-mt: 0.875rem;
    /* 14px */

    --ic-li-ico-col: 1.375rem;
    /* 22px */
    --ic-li-gap: 0.75rem;
    /* 12px */

    --ic-alerthead-gap: 0.625rem;
    /* 10px */
    --ic-alerthead-mb: 0.375rem;
    /* 6px */

    --ic-list-gap: 0.75rem;
    /* 12px */

    --ic-alert-border: 0.25rem;
    /* 4px */
    --ic-alert-radius: var(--radius);
    --ic-alert-bg: #FFF7F0;
    --ic-alert-accent: var(--c-accent);

    --ic-iconwrap-size: 3.25rem;
    /* 52px */
    --ic-iconwrap-radius: 0.75rem;
    /* 12px */
    --ic-iconwrap-bg: rgba(24, 73, 119, 0.10);

    /* Bild + Textbox (DCE) */
    --imgtext-radius: 0.75rem;
    /* 12px */
    --imgtext-shadow: 0 1.125rem 2.5rem rgba(0, 0, 0, 0.14);

    --imgtext-bg-orange: #FEF7F0;
    --imgtext-bg-blue: #e7f2f8;
    --imgtext-bg-green: #eaf7f1;
    --imgtext-bg-neutral: #f4f6f9;

    --imgtext-accent-orange: #ed660c;
    --imgtext-accent-blue: #184977;
    --imgtext-accent-green: #3f8f67;

    --imgtext-text: var(--c-text);
    --imgtext-muted: var(--c-muted);

    --imgtext-pad-block: 0.625rem;
    /* 10px */
    --imgtext-wrap-pad-sm: 0.875rem;
    /* 14px */
    --imgtext-wrap-pad-576: 1.125rem;
    /* 18px */
    --imgtext-wrap-pad-y-768: 1.375rem;
    /* 22px */
    --imgtext-wrap-pad-x-768: 1.5rem;
    /* 24px */

    --imgtext-img-w-sm: 10rem;
    /* 160px */
    --imgtext-img-w-576: 11.25rem;
    /* 180px */
    --imgtext-img-w-768: 12.5rem;
    /* 200px */
    --imgtext-img-offset-768: -2.5rem;
    /* -40px */

    --imgtext-body-pad-x: 0.125rem;
    /* 2px */

    --imgtext-title-size-sm: 1.05rem;
    --imgtext-title-size-576: 1.169rem;
    --imgtext-title-mb: 0.375rem;
    /* 6px */

    --imgtext-text-size: 0.95rem;
    --imgtext-link-radius: 0.5rem;
    /* 8px */

    /* DOWNLOADBOX (DCE) */
    --db-radius: 0.875rem;
    /* 14px */
    --db-shadow: 0 1.375rem 2.5rem rgba(26, 32, 44, 0.18);

    --db-blue: var(--c-divider);
    --db-orange: var(--imgtext-accent-orange);
    --db-green: var(--ibox-green);

    --db-bg-blue: #eaf3ff;
    --db-bg-orange: #fff1e3;
    --db-bg-green: #e9f8f0;

    --db-item-bg: #fff;
    --db-item-border: rgba(0, 0, 0, 0.08);

    --db-title: var(--c-text);
    --db-muted: var(--c-muted);
    --db-link: var(--c-divider);

    --db-pad-block: 1.125rem;
    /* 18px */
    --db-inner-pad-y: 1.625rem;
    /* 26px */
    --db-inner-pad-x: 1.375rem;
    /* 22px */
    --db-title-mb: 2.5rem;

    --db-item-radius: 0.75rem;
    /* 12px */
    --db-item-pad: 1.125rem;
    /* 18px */
    --db-item-grid-ico: 3.5rem;
    /* 56px */
    --db-item-gap: 1rem;
    /* 16px */

    --db-ico-size: 3.5rem;
    /* 56px */
    --db-ico-radius: 0.875rem;
    /* 14px */
    --db-link-gap: 0.625rem;
    /* 10px */
    --db-meta-ml: 0.375rem;
    /* 6px */

    --db-cta-mt: 1.125rem;
    /* 18px */
    --db-btn-shadow: 0 0.625rem 1rem rgba(0, 0, 0, 0.18);

    --db-inner-pad-y-md: 2.125rem;
    /* 34px */
    --db-inner-pad-x-md: 2.75rem;

    /* External Jump Box (DCE) */
    --extjump-radius: var(--radius);
    --extjump-shadow: 0 1.125rem 2.5rem rgba(0, 0, 0, 0.10);

    --extjump-bg-blue: #E6F2F9;
    --extjump-bg-green: #eaf7f1;
    --extjump-bg-orange: #fff1e6;

    --extjump-title: var(--c-muted);
    --extjump-text: var(--c-muted);

    --extjump-btn-blue: var(--c-divider);
    --extjump-btn-green: var(--ibox-green);
    --extjump-btn-orange: var(--imgtext-accent-orange);

    --extjump-pad-block: 3rem;
    --extjump-card-pad-y: 1.125rem;
    /* 18px */
    --extjump-card-pad-x: 1.125rem;
    /* 18px */
    --extjump-card-pad-y-md: 1.375rem;
    /* 22px */
    --extjump-card-pad-x-md: 1.5rem;
    /* 24px */

    --extjump-title-mb: 0.375rem;
    /* 6px */
    /* --extjump-title-size: 1rem;
    --extjump-text-size: 0.95rem;*/

    --extjump-btn-radius: 0.5rem;
    /* 8px */
    --extjump-btn-gap: 0.625rem;
    /* 10px */
    --extjump-btn-shadow: 0 0.625rem 1rem rgba(0, 0, 0, 0.15);

    --extjump-logo-pt: 0.125rem;
    /* 2px */
    --extjump-logo-h: 2.125rem;
    /* 34px */
    --extjump-logo-h-md: 2.375rem;
    /* 38px */

    /* Table DCE */
    --tabledce-radius: 0.875rem;
    /* 14px */
    --tabledce-shadow: 0 1.125rem 2.5rem rgba(0, 0, 0, 0.16);
    --tabledce-bg: rgba(255, 255, 255, 0.95);
    --tabledce-pad-top: 1.375rem;
    /* 22px */
    --tabledce-pad-x: 1.375rem;
    /* 22px */
    --tabledce-pad-bottom: 1.125rem;
    /* 18px */

    --tabledce-title-mb: 0.875rem;
    /* 14px */
    --tabledce-title-weight: 800;
    --tabledce-title-size: 1.35rem;

    --tabledce-table-radius: var(--radius);
    --tabledce-table-border: 0.0625rem solid rgba(24, 73, 119, 0.25);

    --tabledce-thead-bg: #0b5ea5;
    --tabledce-thead-border: 0.0625rem solid rgba(255, 255, 255, 0.25);
    --tabledce-thead-sep: 0.0625rem solid rgba(255, 255, 255, 0.30);

    --tabledce-cell-topborder: 0.0625rem solid rgba(24, 73, 119, 0.18);
    --tabledce-cell-sep: 0.0625rem solid rgba(24, 73, 119, 0.18);

    --tabledce-th-pad-y: 1rem;
    /* 16px */
    --tabledce-th-pad-x: 1.125rem;
    /* 18px */
    --tabledce-td-pad-y: 0.575rem;
    /* 14px */
    --tabledce-td-pad-x: 0.575rem;
    /* 18px */

    --tabledce-zebra: rgba(24, 73, 119, 0.04);

    --tabledce-flex-gap: 0.75rem;
    /* 12px */
    --tabledce-icon: 1.25rem;
    /* 20px */

    --tabledce-pad-x-sm: 1rem;
    /* 16px */
    --tabledce-pad-top-sm: 1.125rem;
    /* 18px */
    --tabledce-pad-bottom-sm: 0.875rem;
    /* 14px */

    --tabledce-table-minw: 53.75rem;
    /* 860px */

    --tabledce-title-size-xs: 1.2rem;
    --tabledce-th-pad-y-xs: 0.75rem;
    /* 12px */
    --tabledce-th-pad-x-xs: 0.875rem;
    /* 14px */
    --tabledce-td-pad-y-xs: 0.75rem;
    /* 12px */
    --tabledce-td-pad-x-xs: 0.875rem;
    /* 14px */

    /* DCE: Bildbox */
    --imgbox-radius: 1rem;
    /* 16px */
    --imgbox-shadow: 0 1.125rem 2.5rem rgba(0, 0, 0, 0.18);
    --imgbox-accent: rgba(232, 127, 47, 0.18);

    --imgbox-pad-block: 1.125rem;
    /* 18px */
    --imgbox-pad-block-md: 1.5rem;
    /* 24px */

    --imgbox-main-max: 47.5rem;
    /* 760px */
    --imgbox-main-max-xl: 51.25rem;
    /* 820px */
    --imgbox-main-h: 29.375rem;
    /* 470px */

    --imgbox-secondary-w: 14.375rem;
    /* 230px */
    --imgbox-secondary-w-sm: 16.25rem;
    /* 260px */
    --imgbox-secondary-w-md: 18.125rem;
    /* 290px */
    --imgbox-secondary-w-xl: 20rem;
    /* 320px */

    --imgbox-secondary-right: 0.625rem;
    /* 10px */
    --imgbox-secondary-bottom: -1.375rem;
    /* -22px */
    --imgbox-secondary-right-sm: 1.125rem;
    /* 18px */
    --imgbox-secondary-bottom-sm: -1.75rem;
    /* -28px */
    --imgbox-secondary-right-md: 1.625rem;
    /* 26px */
    --imgbox-secondary-bottom-md: -2.125rem;
    /* -34px */
    --imgbox-secondary-right-xl: 2.125rem;
    /* 34px */
    --imgbox-secondary-bottom-xl: -2.5rem;
    /* -40px */

    --imgbox-modal-radius: 0.875rem;
    /* 14px */
    --imgbox-focus-outline: 0.1875rem solid rgba(24, 73, 119, 0.35);
    --imgbox-focus-offset: 0.25rem;
}


html {
    font-size: 100%;
    scroll-behavior: smooth;
}

@media (prefers-reduced-motion: reduce) {
    html {
        scroll-behavior: auto;
    }
}

body {
    font-family: var(--font-sans);
    font-size: var(--fs-md);
    line-height: var(--lh-base);
    font-weight: var(--fw-regular);
    color: var(--text);
    text-rendering: optimizeLegibility;
    -webkit-font-smoothing: antialiased;
    overflow-x: hidden;
}

.back-to-top.btn.btn-primary span {
    font-size: var(--fs-md);
}

.site-header .container-fluid,
.navbar .container-fluid {
    overflow: visible;
}

.page-content .container,
.page-content .container-fluid {
    min-height: var(--page-container-minh);
}

.page-content .container-fluid {
    padding-inline: 0;
}

dl,
ol,
ul {
    margin-top: 1rem;
    margin-bottom: 1.5rem;
}

.ce-gallery .image-embed-item {
    max-width: 100%;
    height: auto;
}

ul.navbar-nav {
    margin-top: 0;
}

p {
    hyphens: auto;
}

.ce-textpic img[data-htmlarea-file-uid] {
    width: 100%;
    height: auto;
}

.table {
    overflow-x: scroll;
}

.frame .ce-bodytext .h3{
    margin-top:1.25rem;
}

/* =========================
   Links + Focus
========================= */
a {
    color: var(--link);
    text-decoration-thickness: 0.08em;
    text-underline-offset: 0.18em;
}

a:hover,
a:focus {
    color: var(--link-hover);
    text-decoration-thickness: 0.125rem;
    /* 2px */
}

footer a:focus{
    color: #fff;
}

a:focus-visible {
    outline: none;
    box-shadow: var(--focus);
    border-radius: 0.25rem;
}

/* RTE Stile fuer Link mit Pfeil */
.frame-type-text p a u:before {
    content: "";
    background-image: url(/fileadmin/media/icons/icon-pfeil-blau.svg);
    background-position: left bottom;
    width: 1.25rem;
    /* 20px */
    height: 1.25rem;
    /* 20px */
    background-repeat: no-repeat;
    margin: 0.3125rem;
    display: inline-block;
    top: 10px;
    position: relative;
    /* 5px */
}

.ce-headline-center {
    text-align: center;
    padding-inline: var(--ce-headline-center-pad-inline);
}

.page-content header {
    padding-block: var(--page-header-pad-y);
}




#mainNavOffcanvas.offcanvas {
    max-width: unset;
    width: auto;
}


/* =========================
   Headings (H1–H6) + Bootstrap .h1–.h6
========================= */
h1,
.h1 {
    font-family: var(--font-display);
    font-size: var(--fs-3xl);
    line-height: var(--lh-tight);
    font-weight: var(--fw-semibold);
    letter-spacing: -0.02em;
    margin: 0 0 var(--space-4);
}

h2,
.h2 {
    font-family: var(--font-display);
    font-size: var(--fs-2xl);
    line-height: 1.2;
    font-weight: var(--fw-semibold);
    letter-spacing: -0.015em;
    margin: 1rem 0 var(--space-5);
}

h2 img {
    margin-bottom: 0.4rem;
}

h3,
.h3 {
    font-family: var(--font-display);
    font-size: var(--fs-xl);
    line-height: 1.3;
    font-weight: var(--fw-semibold);
    letter-spacing: -0.01em;
    margin: 0 0 var(--space-3);
}

.page-content header h3 {
    font-size: var(--fs-pageheader-h3);
    line-height: var(--lh-pageheader-h3);
    font-weight: var(--fw-semibold);
}

h4,
.h4,
.les-accordion__button,
.hero-subtitle,
blockquote {
    font-size: var(--fs-h4);
    line-height: 1.5;
    font-weight: var(--fw-semibold);
    margin: 0 0 var(--space-2);
}

.info-card h4 {
    margin-top: 1rem;
}

.les-accordion__button {
    margin-bottom: 0;
}

h5,
.h5 {
    font-size: var(--fs-h5);
    line-height: 1.35;
    font-weight: var(--fw-semibold);
    margin: 0 0 var(--space-2);
}

h6,
.h6 {
    font-size: var(--fs-sm);
    line-height: var(--lh-snug);
    font-weight: var(--fw-bold);
    letter-spacing: 0.06em;
    text-transform: uppercase;
    margin: 0 0 var(--space-2);
}

blockquote {
    font-style: italic;
    color: #004f8b;
    line-height: 2rem;
    font-weight: var(--fw-normal);
}

.frame-type-text h4,
.frame-type-text h5,
blockquote {
    margin-top: 2rem;
}
table h4.h4, table h5.h5 {
  margin-top: 0.5rem;
}

.frame-type-text header {
    padding: inherit;
}

.ce-textpic.ce-center .image {
    text-align: center;
}

.leitbild .frame-type-textpic {
    padding: 2rem 10rem;
}

/* =========================
   Text helpers
========================= */
.lead {
    font-size: var(--fs-lg);
    line-height: 1.55;
    font-weight: var(--fw-regular);
    color: var(--text-muted);
    max-width: var(--measure);
}

small,
.small {
    font-size: var(--fs-sm);
    line-height: var(--lh-snug);
    font-weight: var(--fw-regular);
    color: var(--text-muted);
}

.text-muted {
    color: var(--text-muted) !important;
}

.kicker {
    font-size: var(--fs-xs);
    line-height: 1.25;
    font-weight: var(--fw-bold);
    letter-spacing: 0.10em;
    text-transform: uppercase;
    color: var(--text-muted);
    margin-bottom: var(--space-2);
}

.meta {
    font-size: var(--fs-xs);
    line-height: var(--lh-snug);
    font-weight: var(--fw-regular);
    color: var(--text-muted);
}

/* =========================
   Bootstrap-friendly Components
========================= */
.btn {
    font-family: var(--font-sans);
    font-size: var(--fs-md);
    line-height: 1.2;
    font-weight: var(--fw-bold);
    letter-spacing: 0.01em;
    padding: 1rem;
    border-radius: var(--radius);
    background: var(--btn-bg);
    border: 0;
    align-items: center;
    display: flex;
}

.btn:hover {
    opacity: 0.98;
    background: var(--c-accent-hover);
    border: 0;
    color: #fff;
}

.btn-lg {
    font-size: var(--fs-md);
    font-weight: var(--fw-semibold);
}

.btn-sm {
    font-size: var(--fs-xs);
    font-weight: var(--fw-semibold);
}

.btn.btn-outline-secondary.header-search-btn {
    background: none;
}

.btn.btn-outline-secondary.header-search-btn:hover {
    color: #00447c;
}

.btn.btn-light {
    color: #00447c !important;
    background-color: #fff;
}

.nav,
.navbar,
.navbar-nav {
    font-size: var(--fs-sm);
    line-height: var(--lh-snug);
}

.navbar-toggler-icon {
    background-image: url(../Images/icons/menu-icon.svg);
    background-size: 60%;
    width: 2em;
    height: 2em;
}

.navbar .nav-link {
    font-weight: var(--fw-semibold);
    letter-spacing: 0.01em;
}

.navbar-nav {
    gap: 1.25rem;
}

.navbar-expand-xl .navbar-nav .dropdown-menu {
    position: absolute;
    box-shadow: 0 1.5625rem 3.125rem -0.75rem rgba(26, 32, 44, 0.25);
    max-width: 230px;
}

/* SCROLLING ZUSTAND DES MENUS */
nav.sticky-top[data-scroll="true"] .nav-link {
    font-size: 1rem;
}

nav.sticky-top[data-scroll="true"] .header-schoolbrand-logo {
    height: 2.8rem;
}

nav.sticky-top[data-scroll="true"] .header-nav-inner {
    min-height: 3.8rem;
}

/* END SCROLLING ZUSTAND DES MENUS */

.dropdown-menu {
    border-radius: 0.5rem;
    padding: 0.5rem;
    font-size: var(--fs-sm);
}

.dropdown-item {
    border-radius: 0.325rem;
    padding: 0.55rem 0.75rem;
    margin: 0.5rem 0;

    min-width: 200px;
    white-space: normal;
}

.dropdown-item:hover {
    background: #dbeafe;
}

.dropdown-item.active,
.dropdown-item:active {
    background: rgba(24, 73, 119, 0.12);
    color: var(--c-link);
}

.card-title {
    font-size: clamp(1.05rem, calc(1rem + 0.35vw), 1.25rem);
    line-height: 1.25;
    font-weight: var(--fw-semibold);
    margin-bottom: var(--space-2);
}

.card-text {
    font-size: var(--fs-sm);
    line-height: 1.55;
    font-weight: var(--fw-regular);
    color: var(--text-muted);
}

.badge,
.tag {
    font-size: var(--fs-xxs);
    line-height: 1;
    font-weight: var(--fw-bold);
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

label,
.form-label {
    font-size: var(--fs-md);
    line-height: var(--lh-snug);
    font-weight: var(--fw-semibold);
}

.form-control,
.form-select {
    font-family: var(--font-sans);
    font-size: var(--fs-md);
    line-height: 1.4;
    font-weight: var(--fw-regular);
}

.form-text {
    font-size: var(--fs-sm);
    color: var(--text-muted);
}

.form-control:focus,
.form-select:focus,
.btn:focus-visible {
    outline: none;
    box-shadow: var(--focus);
}


input[aria-invalid="true"]{
    border: 2px solid red;
}

.powermail-errors-list.filled {
    list-style: none;
    color: #b02a1f;
    display: flex;
    align-items: center;
    gap: 0.4em;
    font-weight: 600;
}



.frame-type-form_formframework {
    max-width: 1200px;
    margin: 0 auto;
    padding: 2rem;
}

.frame-type-form_formframework .form-group {
    padding: 1rem 0;
}

.form-control {
    padding: 0.75rem 0.75rem;
}

.form-check {
    padding-left: 0;
}


table {
    font-size: var(--fs-sm);
    line-height: var(--lh-snug);
}

th {
    font-size: var(--fs-xs);
    font-weight: var(--fw-bold);
    /*letter-spacing: 0.08em;*/
    /*text-transform: uppercase;*/
}

/* =========================
   Header basics + a11y
========================= */
.site-header {
    font-family: var(--font-sans);
    color: var(--c-text);
}

.skip-link {
    position: absolute;
    left: 0;
    top: 0;
    padding: 0.75rem 1rem;
    background: #fff;
    border: 0.125rem solid var(--c-divider);
    z-index: 9999;
}

.visually-hidden-focusable:not(:focus):not(:focus-within) {
    position: absolute !important;
    width: 0.0625rem !important;
    height: 0.0625rem !important;
    padding: 0 !important;
    margin: -0.0625rem !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    white-space: nowrap !important;
    border: 0 !important;
}

.modal-backdrop {
    z-index: 1040 !important;
}

/* =========================
   TOPBAR
========================= */
.header-top {
    background: var(--c-topbar);
    border-bottom: 0.0625rem solid rgba(0, 0, 0, 0.06);
}

.header-top .col-12 {
    padding-block: 0.5rem;
    margin: 0;
}

.header-top-row {
    min-height: 3.5rem;
}

/* Search */
.header-search {
    margin: 0;
}

.header-search .input-group {
    max-width: 21.25rem;
}

.header-search-input {
    border-radius: var(--radius);
    border: 0.0625rem solid rgba(0, 0, 0, 0.15);
    background: #fff;
    padding-block: 0.55rem;
}

.header-search-btn {
    border-radius: var(--radius);
    box-shadow: unset !important;
}

.header-search-trigger {
    background: transparent !important;
    box-shadow: none !important;
    padding: 0.3rem 0.75rem !important;
    border: 0.0625rem solid rgba(0, 0, 0, 0.15);
    border-radius: 0.75rem;
}

.header-search-trigger:focus-visible {
    outline: 0.1875rem solid rgba(24, 73, 119, 0.35);
    outline-offset: 0;
    border-radius: 0.375rem;
    ;
}

.header-search-icon {
    background-image: url(/fileadmin/media/icons/such-icon.svg);
    background-size: 70%;
    width: 2.2em;
    height: 2.2em;
    display: inline-block;
    background-repeat: no-repeat;
    background-position: center;
}

@media(min-width: 1200px) {
    .header-search-trigger {
        border: none;
    }

    .header-search-icon {
        background-image: url(/fileadmin/media/icons/icon-suchen.svg);
    }
}

#mainNavOffcanvas,
.header-quicklinks {
    align-items: flex-end;
}

/* Quicklinks */
.header-quicklinks {
    width: 100%;
}

.header-quicklinks-list {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.75rem 1.125rem;
}

.header-quicklink {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    text-decoration: none;
    color: var(--c-link);
    font-weight: var(--fw-regular);
    font-size: var(--fs-quicklink);
    white-space: nowrap;
}

.header-quicklink:hover {
    text-decoration: underline;
}

.header-quicklink:focus-visible {
    outline: 0.1875rem solid rgba(24, 73, 119, 0.35);
    outline-offset: 0.1875rem;
    border-radius: 0.5rem;
}

.header-quicklink-icon {
    display: block;
}

/* Brandbar */
.brand {
    margin: 0;
}

.header-brandbar {
    background: var(--c-brandbar);
    padding: 1.375rem;
    border-radius: 0;
    display: flex;
    align-items: flex-start;
    justify-content: center;
    gap: 1.125rem;
    width: 100%;
}

.header-brandlink {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    color: #fff;
    text-decoration: none;
}

.header-brandlink:focus-visible {
    outline: 0.1875rem solid rgba(255, 255, 255, 0.55);
    outline-offset: 0.1875rem;
}

/* =========================
   MAIN NAV
========================= */
.header-nav {
    background: #fff;
}

.header-nav-inner {
    min-height: 5.375rem;
    padding-block: 0.5rem;
}

.header-schoolbrand {
    display: flex;
    align-items: center;
    padding: 0;
    margin: 0;
}

.header-schoolbrand-logo {
    display: block;
    height: 2.625rem;
    width: 100%;
}

.header-navlist .nav-link {
    font-weight: 500;
    color: var(--c-muted);
    padding-inline: 0.875rem;
}

.header-navlist .nav-link:hover {
    color: #004f8b;
}

.header-navlist .nav-link.active,
.nav-item:active {
    color: #004f8b;
    font-weight: var(--fw-bold);
}

.header-toggler {
    border: 0.0625rem solid rgba(0, 0, 0, 0.15);
    border-radius: 0.75rem;
}

/* =========================
   Footer
========================= */
.site-footer {
    font-family: var(--font-sans);
    color: var(--c-footer-text);
    margin-top: 6.25rem;
}

.footer-surface {
    background: linear-gradient(180deg, var(--c-footer-top) 0%, var(--c-footer-bottom) 100%);
    padding-top: 4rem;
    padding-bottom: 1.125rem;
}

.footer-brand {
    display: inline-flex;
    align-items: center;
    text-decoration: none;
}

.footer-brand-logo {
    display: block;
    height: 3.375rem;
    width: auto;
    filter: brightness(0) invert(1);
    max-width: 100%;
}

.footer-cols {
    padding-top: 2.75rem;
    padding-bottom: 1.375rem;
}

.footer-heading {
    font-size: var(--fs-footer-heading);
    font-weight: var(--fw-bold);
    margin: 0 0 1.125rem;
    color: var(--c-footer-text);
}

.footer-list {
    list-style: none;
    padding: 0;
    margin: 0;
    display: grid;
    gap: 0.625rem;
}

.footer-link {
    color: var(--c-footer-muted);
    text-decoration: underline;
    text-underline-offset: 0.1875rem;
    text-decoration-thickness: 0.0625rem;
}

.footer-link:hover {
    color: #fff;
}

.footer-link:focus-visible {
    outline: 0.1875rem solid rgba(255, 255, 255, 0.55);
    outline-offset: 0.1875rem;
    border-radius: 0.5rem;
}

.footer-contact {
    font-style: normal;
    margin: 0;
    display: grid;
    gap: 0.875rem;
    color: var(--c-footer-muted);
}

.footer-contact-item {
    display: grid;
    grid-template-columns: 1.375rem 1fr;
    gap: 0.75rem;
    align-items: start;
}

.footer-icon {
    display: block;
    margin-top: 0.5rem;
    filter: brightness(0) invert(1);
    opacity: 0.95;
}

.footer-contact-text {
    display: grid;
    gap: 0.125rem;
}

.footer-link-icon {
    display: inline-flex;
    align-items: center;
    gap: 0.75rem;
}

.footer-divider {
    border: 0;
    height: 0.0625rem;
    background: var(--c-footer-line);
    margin: 1.625rem 0 0.875rem;
}

.footer-bottom {
    text-align: center;
    padding-bottom: 0.25rem;
}

.footer-copy {
    color: rgba(255, 255, 255, 0.75);
}

/* =========================
   Floating Actions
========================= */
.floating-actions {
    position: fixed;
    right: var(--fa-right);
    top: var(--fa-top);
    z-index: 1035;
}

.floating-actions__list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    gap: var(--fa-gap);
}

.floating-actions__btn {
    width: var(--fa-size);
    height: var(--fa-size);
    border-radius: 62.4375rem;
    display: grid;
    place-items: center;
    text-decoration: none;
    border: 0;
    box-shadow: 0 0.625rem 1.125rem rgba(0, 0, 0, 0.14), 0 0.125rem 0.375rem rgba(0, 0, 0, 0.10);
    transition: transform 0.15s ease, box-shadow 0.15s ease;
}

.floating-actions__btn:hover {
    transform: translateY(-0.0625rem);
    box-shadow: 0 0.875rem 1.5rem rgba(0, 0, 0, 0.18), 0 0.25rem 0.625rem rgba(0, 0, 0, 0.12);
}

.floating-actions__btn:focus-visible {
    outline: 0.1875rem solid rgba(255, 255, 255, 0.9);
    outline-offset: 0.25rem;
}

.floating-actions__btn--phone {
    background: var(--fa-blue);
}

.floating-actions__btn--mail {
    background: var(--fa-green);
}

.floating-actions__btn--video {
    background: var(--fa-orange);
}

.floating-actions__icon {
    width: var(--fa-icon);
    height: var(--fa-icon);
    display: block;
    filter: brightness(0) invert(1);
}

.custom-tooltip {
    --tooltip-border-radius: 25% !important;
    margin-right: 25px;
}

.custom-tooltip .tooltip-inner {
    font-size: 18px;
    font-weight: bold;
    border-radius: 25px;
    max-width: max-content;
    padding: .5rem 1.5rem;
    margin-right: 25px;
    font-family: "IBM Plex Sans" !important;

}

.tooltip .tooltip-arrow {
    display: none !important;
}

.custom-tooltip.custom-tooltip-blue {
    --bs-tooltip-bg: var(--fa-blue);
}

.custom-tooltip.custom-tooltip-green {
    --bs-tooltip-bg: var(--fa-green);
}

.custom-tooltip.custom-tooltip-orange {
    --bs-tooltip-bg: var(--fa-orange);
}

/* =========================
   Back To Top Button
========================= */
.back-to-top {
    position: fixed;
    right: 1rem;
    bottom: 1rem;
    z-index: 1050;
    /* über Content, aber achte auf Cookie-Banner */
    padding: 1rem 1.1rem;
}

/* =========================
   HERO / PAGE HEADER DCE
========================= */
.hero-surface {
    position: relative;
    color: var(--hero-text);
    padding-top: 3rem;
    padding-bottom: 5.75rem;
    background-size: cover;
    background-position: center;
    background: linear-gradient(90deg, rgba(0, 0, 0, 0.12), rgba(0, 0, 0, 0)),
        linear-gradient(180deg, var(--hero-surface-top), var(--hero-surface-bottom));
}

.hero-surface[style*="--hero-bg-image"] {
    background: var(--hero-bg-image);
    background-size: cover;
    background-position: center;
}

.hero-surface::before {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg,
            #094f83 0%,
            rgba(2, 132, 168, 0.9) 50%,
            rgba(5, 150, 105, 0.9) 100%);
}

.hero-surface .container-fluid::before {
    content: "";
    background-image: url(/fileadmin/img-dev/quadrate-overlay.svg);
    background-size: contain;
    width: 43.75rem;
    /* 700px */
    height: 100%;
    display: block;
    position: absolute;
    top: 0.0625rem;
    right: 7%;
}

.hero-title {
    font-weight: var(--fw-semibold);
    line-height: 1.05;
    margin: 0 0 0.625rem;
    color: #fff;
    margin-bottom: 4% !important;
}

.hero-subtitle {
    margin: 1.25rem 0 0.375rem;
    font-weight: var(--fw-semibold);
}

.hero-lead {
    color: var(--hero-text-muted);
    max-width: 42rem;
    font-size: var(--fs-h4);
}

.hero-ctas {
    margin-top: 1.125rem;
}

.hero-btn--primary {
    background: var(--btn-bg);
    border: 0;
    font-weight: var(--fw-semibold);
}

.hero-btn--primary:hover {
    background: var(--c-accent-hover);
}

.hero-btn--secondary {
    font-weight: var(--fw-semibold);
}

.hero-btn,
.btn {
    box-shadow: 0 0.625rem 1.125rem rgba(0, 0, 0, 0.14), 0 0.125rem 0.375rem rgba(0, 0, 0, 0.10);
    transition: transform 0.15s ease, box-shadow 0.15s ease;
}

.btn {
    box-shadow: 0 0.2rem 1rem rgba(0, 0, 0, 0.14), 0 0.1rem 0.15rem rgba(0, 0, 0, 0.10);
}

.hero-btn:hover,
.btn:hover {
    box-shadow: unset;
}

.hero-btn-icon {
    display: inline-block;
    width: 1.5rem;
    height: 1.5rem;
    margin-left: 0.5rem;
    /*background: currentColor;
    -webkit-mask: url("/fileadmin/media/icons/icon-pfeil.svg") no-repeat center / contain;
    mask: url("/fileadmin/media/icons/icon-pfeil.svg") no-repeat center / contain;*/
}

.hero-media {
    display: flex;
    justify-content: center;
    position: relative;
}

.hero-video-card,
.hero-gallery__main,
.hero-gallery__thumb {
    border-radius: var(--hero-card-radius);
    overflow: hidden;
    box-shadow: 0 0.125rem 1rem rgba(0, 0, 0, 0.4);
}

.hero-video-card {
    position: relative;
    margin: 0;
    width: 90%;
}

.hero-video-poster {
    display: block;
    width: 100%;
    height: 26.875rem;
    /* 430px */
    object-fit: cover;
}

.hero-video-poster--placeholder {
    height: 20rem;
    background: rgba(255, 255, 255, 0.12);
}

.hero-video-btn {
    background: #184977;
    border-color: #184977;
    border-radius: var(--radius);
    box-shadow: 0 0.625rem 1.25rem rgba(0, 0, 0, 0.18);
    display: inline-flex;
    align-items: center;
    gap: 0.625rem;
    font-weight: var(--fw-semibold);
    position: absolute;
    bottom: 1.25rem;
    right: 0;
    width: max-content;
    z-index: 1;
}

.hero-video-play {
    width: 1.125rem;
    height: 1.125rem;
    background: #fff;
    -webkit-mask: url("../Images/icons/icon-play.svg") no-repeat center / contain;
    mask: url("../Images/icons/icon-play.svg") no-repeat center / contain;
}

.mejs__poster.mejs__layer,
.mejs__overlay-play {
    width: 100% !important;
    height: auto !important;
    aspect-ratio: 16/9;
}


.hero-gallery {
    position: relative;
    width: 100%;
    max-width: 31.25rem;
    /* 500px */
}

.hero-gallery__main,
.hero-gallery__thumb {
    margin: 0;
    max-height: 500px;
}

.hero-gallery__thumb {
    position: absolute;
    right: -1.625rem;
    bottom: -1.625rem;
    width: 46%;
}

.hero-gallery__img {
    display: block;
    width: 100%;
    height: auto;
}

.mejs__controls:not([style*="display: none"]) {
    background: rgba(28, 67, 124, 0.5) !important;
}

.hero-wave {
    position: absolute;
    left: 0;
    right: 0;
    bottom: -0.0625rem;
    height: 5.25rem;
}

.hero-wave svg {
    width: 100%;
    height: 100%;
    display: block;
}

.hero-wave path {
    fill: #fff;
}

.page-header .grid-3cols {
    margin-top: -12.5rem;
    position: relative;
}

.hero-surface .container-fluid {
    min-height: 50rem;
}


/* HEADER UNTERSEITE */

.subpage .hero-surface .container-fluid {
    min-height: 25rem;
    margin-bottom: -5rem;
    min-height: 490px;
}

.subpage .hero-surface {

    padding-top: 4.5rem;
    padding-bottom: 0.5rem;

}

.subpage .hero-surface .container-xxl.position-relative {
    z-index: 5;
    margin-bottom: 4rem;
}

/* END HEADER UNTERSEITE */


.container-fluid > svg,
.content.w-100.h-100 svg {
    margin-top: -1px;
    margin-bottom: -1px;
}




/* =========================
   Breadcrumb (Bootstrap 5)
========================= */
.page-breadcrumb {
    padding-block: 0.875rem;
    /* 14px */
    margin-top: var(--page-breadcrumb-mt);
}

.page-breadcrumb__list {
    display: inline-flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 0;
    padding: 0.55rem 0.9rem;
    border-radius: 0.5rem;
    background: #eaf1ff;
    max-width: 100%;
    --bs-breadcrumb-divider: "/";
}

.breadcrumb-item + .breadcrumb-item::before {
    padding-inline: 0.6rem;
    color: rgba(24, 73, 119, 0.55);
}

.page-breadcrumb__link {
    color: var(--c-link);
    /*text-decoration: none;*/
    font-weight: 500;
}

.page-breadcrumb__link:hover {
    text-decoration: underline;
    text-underline-offset: 0.1875rem;
    /* 3px */
}

.page-breadcrumb__link:focus-visible {
    outline: 0.1875rem solid rgba(24, 73, 119, 0.35);
    outline-offset: 0.1875rem;
    border-radius: 0.375rem;
}

.breadcrumb-item {
    color: #0066B3 !important;
}

.page-breadcrumb__link,
.page-breadcrumb__current {
    max-width: 32ch;
    overflow: hidden;
    text-overflow: ellipsis;
   /* white-space: nowrap;*/
}

/* =========================
   INFOBOX (DCE)
========================= */
.info-box {
    height: 100%;
    border-radius: var(--ibox-radius);
    border: 0.0625rem solid var(--ibox-border);
    box-shadow: var(--ibox-shadow);
    overflow: hidden;
}

.info-box--c-blue {
    background: var(--ibox-bg-blue);
}

.info-box--c-orange {
    background: var(--ibox-bg-orange);
}

.info-box--c-green {
    background: var(--ibox-bg-green);
}

.info-box__inner {
    padding: 2.1875rem;
    /* 35px */
    min-height: 20.625rem;
    /* 330px */
}

.info-box__iconwrap {
    width: 4rem;
    /* 64px */
    height: 4rem;
    /* 64px */
    border-radius: 0.5rem;
    /* 8px */
    display: grid;
    place-items: center;
    margin-bottom: 1.875rem;
    /* 30px */
}

.info-box--c-blue .info-box__iconwrap {
    background: var(--ibox-icon-blue);
}

.info-box--c-orange .info-box__iconwrap {
    background: var(--ibox-icon-orange);
}

.info-box--c-green .info-box__iconwrap {
    background: var(--ibox-icon-green);
}

.info-box__icon {
    width: 2.9375rem;
    /* 47px */
    height: 2.9375rem;
    /* 47px */
    display: block;
}

.info-box__title {
    margin: 0 0 0.625rem;
    /* 10px */
    font-weight: var(--fw-semibold);
    color: var(--c-text);
}

.info-box__text {
    margin: 0 0 0.75rem;
    /* 12px */
    color: var(--c-muted);
    max-width: 34ch;
}

.info-box__links {
    list-style: none;
    margin: 1rem 0;
    padding: 0;
    display: grid;
    gap: 0.3125rem;
    /* 5px */
}

.info-box__link {
    display: inline-flex;
    align-items: center;
    gap: 0.625rem;
    /* 10px */
    color: var(--ibox-blue);
    text-decoration: underline;
    text-underline-offset: 0.1875rem;
    /* 3px */
}

.info-box__link:hover {
    color: var(--link-hover);
}

.info-box__link:focus-visible,
.info-box__btn:focus-visible {
    outline: 0.1875rem solid rgba(24, 73, 119, 0.35);
    outline-offset: 0.1875rem;
    border-radius: 0.5rem;
    /* 8px */
}

.info-box__arrow {
    display: block;
}

.info-box__cta {
    padding-top: 1.125rem;
    /* 18px */
}

.info-box__btn {
    width: 100%;
    justify-content: flex-start;
    font-weight: var(--fw-bold);
    display: inline-flex;
    align-items: center;
    gap: 0.625rem;
    border: 0;
    color: #fff;
    box-shadow: 0 0.625rem 1rem rgba(0, 0, 0, 0.18);
    transition: transform 0.15s ease, box-shadow 0.15s ease, background-color 0.12s ease;
}

.info-box__btn:hover {
    box-shadow: unset;
}

.info-box--c-blue .info-box__btn {
    background: var(--ibox-blue);
}

.info-box--c-orange .info-box__btn {
    background: var(--ibox-orange);
}

.info-box--c-green .info-box__btn {
    background: var(--ibox-green);
}

.info-box--c-blue .info-box__btn:hover {
    background-color: #005799;
}

.info-box--c-orange .info-box__btn:hover {
    background-color: var(--c-accent-hover);
}

.info-box--c-green .info-box__btn:hover {
    background-color: #307151;
}

/* =========================
   INFO CARD
========================= */
.info-card {
    border-radius: var(--anchor-radius);
    box-shadow: var(--ic-shadow);
    background: var(--ic-bg);
    overflow: hidden;
    border:1px solid #f1f1f1;
}

.info-card__inner {
    padding: var(--ic-inner-pad);
}

.info-card__blocks {
    display: grid;
    gap: var(--ic-block-gap);
    margin-top: var(--ic-blocks-mt);
}

.info-card__more {
    margin-top: var(--ic-more-mt);
}

.info-card__list {
    display: grid;
    gap: var(--ic-list-gap);
}

.info-card__li {
    display: grid;
    grid-template-columns: var(--ic-li-ico-col) 1fr;
    gap: var(--ic-li-gap);
    align-items: first baseline;
}

.info-card__alerthead {
    display: flex;
    gap: var(--ic-alerthead-gap);
    align-items: center;
    margin-bottom: var(--ic-alerthead-mb);
}

.info-card__alert {
    border-left: var(--ic-alert-border) solid var(--ic-alert-accent);
    border-radius: var(--ic-alert-radius);
    padding: 0;
}

.info-card__alert .accordion .accordion-item,
.info-card__alert .accordion .accordion-item .accordion-button,
.info-card__alert .accordion .accordion-item .accordion-button:not(.collapsed),
.info-card__alert .accordion {
    background-color: var(--ic-alert-bg) !important;
    border: none !important;
}

.info-card__alert .accordion {
    border: none !important;
    margin-top: 0px;
}


.info-card__iconwrap {
    width: var(--ic-iconwrap-size);
    height: var(--ic-iconwrap-size);
    border-radius: var(--ic-iconwrap-radius);
    display: grid;
    place-items: center;
    background: var(--ic-iconwrap-bg);
    flex: 0 0 auto;
}

.info-card__iconwrap.lightblue {
    background: var(--ibox-icon-blue);
}

.info-card__iconwrap.darkblue {
    background: var(--ibox-blue);
}

.info-card__iconwrap.lightorange {
    background: var(--ibox-icon-orange);
}

.info-card__iconwrap.darkorange {
    background: var(--c-accent-hover);
}

.info-card__iconwrap.lightgreen {
    background: var(--ibox-icon-green);
}

.info-card__iconwrap.darkgreen {
    background: var(--ibox-green);
}



.info-card__alert .accordion-button:focus-visible {
    outline: none;
    box-shadow: var(--focus);
    border-radius: 0.5rem;
}


.info-card__alert .accordion-button:not(.collapsed) {
    -webkit-box-shadow: none !important;
    box-shadow: none !important;
}

.accordion-button[aria-expanded="false"] .info-card__alerticon .close-icon {
    display: none;
}

.accordion-button[aria-expanded="true"] .info-card__alerticon .open-icon {
    display: none;
}

.info-card__alerttitle {
    font-weight: 900;
    color: var(--ic-alert-accent);
}

/* =========================
   Bild + Textbox (DCE)
========================= */
.imgtextcard {
    padding-block: var(--imgtext-pad-block);
}

.imgtextcard__wrap {
    border-radius: var(--imgtext-radius);
    padding: var(--imgtext-wrap-pad-sm);
}

.imgtextcard--orange .imgtextcard__wrap {
    background: var(--imgtext-bg-orange);
}

.imgtextcard--blue .imgtextcard__wrap {
    background: var(--imgtext-bg-blue);
}

.imgtextcard--green .imgtextcard__wrap {
    background: var(--imgtext-bg-green);
}

.imgtextcard--neutral .imgtextcard__wrap {
    background: var(--imgtext-bg-neutral);
}

.imgtextcard__media {
    display: flex;
    justify-content: start;
}

.imgtextcard__img {
    width: var(--imgtext-img-w-sm);
    aspect-ratio: 1 / 1;
    object-fit: cover;
    border-radius: var(--imgtext-radius);
    box-shadow: var(--imgtext-shadow);
    background: #fff;
}

.imgtextcard__img--placeholder {
    display: block;
}

.imgtextcard__body {
    padding-inline: var(--imgtext-body-pad-x);
}

.imgtextcard__title {
    margin: 0 0 var(--imgtext-title-mb) 0;
    font-weight: 800;
    line-height: 1.25;
    font-size: var(--imgtext-title-size-sm);
    color: var(--imgtext-text);
}

.imgtextcard--orange .imgtextcard__title {
    color: var(--imgtext-accent-orange);
}

.imgtextcard--blue .imgtextcard__title {
    color: var(--imgtext-accent-blue);
}

.imgtextcard--green .imgtextcard__title {
    color: var(--imgtext-accent-green);
}

.imgtextcard__date {
    font-weight: 800;
}

.imgtextcard__text {
    color: var(--imgtext-text);
    max-width: 70ch;
}

.imgtextcard__link {
    color: var(--c-link);
    font-weight: 700;
    text-decoration: underline;
    text-underline-offset: 0.1875rem;
    /* 3px */
}

.imgtextcard__link:focus-visible {
    outline: 0.1875rem solid rgba(24, 73, 119, 0.35);
    outline-offset: 0.1875rem;
    border-radius: var(--imgtext-link-radius);
}

.imgtextcard__text p strong {
  margin-top: 1rem;
  float: left;
  width: 100%;
}


/* =========================
   DCE: Bildbox (2 Bilder + Modal)
========================= */
.imgbox {
    padding-block: var(--imgbox-pad-block);
}

.imgbox__wrap {
    position: relative;
    display: grid;
    /* kein overflow hidden -> secondary darf "rausgucken" */
}

.imgbox__main,
.imgbox__secondary {
    position: relative;
    z-index: 1;
}

.imgbox__trigger {
    border: 0;
    padding: 0;
    background: transparent;
    display: inline-block;
    border-radius: var(--imgbox-radius);
}

.imgbox__trigger:focus-visible {
    outline: var(--imgbox-focus-outline);
    outline-offset: var(--imgbox-focus-offset);
}

.imgbox__img {
    border-radius: var(--imgbox-radius);
    box-shadow: var(--imgbox-shadow);
    object-fit: cover;
    background: #fff;
}

.imgbox__img--main {
    width: 100%;
    max-width: var(--imgbox-main-max);
    aspect-ratio: 16 / 9;
    height: var(--imgbox-main-h);
}

.imgbox__secondary {
    position: absolute;
    right: var(--imgbox-secondary-right);
    bottom: var(--imgbox-secondary-bottom);
}

.imgbox__img--secondary {
    width: var(--imgbox-secondary-w);
    aspect-ratio: 1 / 1;
}

.imgbox__modal .modal-body {
    padding: 0;
}

.imgbox__modal .modal-content {
    overflow: hidden;
    border-radius: var(--imgbox-modal-radius);
}

/* =========================
   DOWNLOADBOX (DCE)
========================= */
.download-box {
    padding-block: var(--db-pad-block);
}

.download-box__card {
    border-radius: var(--db-radius);
    box-shadow: var(--db-shadow);
    overflow: hidden;
}

.download-box--c-blue .download-box__card {
    background: var(--db-bg-blue);
}

.download-box--c-orange .download-box__card {
    background: var(--db-bg-orange);
}

.download-box--c-green .download-box__card {
    background: var(--db-bg-green);
}

.download-box__inner {
    padding: var(--db-inner-pad-y) var(--db-inner-pad-x);
}

.download-box__title {
    margin: 0 0 var(--db-title-mb) 0;
    font-weight: 600;
    font-size: clamp(1.4rem, calc(1rem + 1.2vw), 2rem);
    color: var(--db-title);
}

.download-item {
    background: var(--db-item-bg);
    border: 0.0625rem solid var(--db-item-border);
    border-radius: var(--db-item-radius);
    padding: var(--db-item-pad);
    height: 100%;
}

.download-item__row {
    display: grid;
    grid-template-columns: var(--db-item-grid-ico) 1fr;
    gap: var(--db-item-gap);
    align-items: start;
}

.download-item__icon {
    width: var(--db-ico-size);
    height: var(--db-ico-size);
    border-radius: var(--db-ico-radius);
    display: grid;
    place-items: center;
    background: rgba(232, 127, 47, 0.12);
}

.download-item__title {
    margin: 0 0 0.25rem 0;
    font-weight: 900;
    font-size: var(--fs-download-item-title);
    line-height: 1.25;
    color: var(--db-title);
}

.download-item__desc {
    margin: 0 0 0.625rem 0;
    color: var(--db-muted);
}

.download-item__linkwrap {
    margin: 0;
}

.download-item__link {
    display: inline-flex;
    align-items: center;
    gap: var(--db-link-gap);
    color: var(--db-link);
    font-weight: 700;
    text-decoration: none;
}

.download-item__link:hover .text-decoration-underline {
    text-decoration-thickness: 0.125rem;
    /* 2px */
}

.download-item__link:focus-visible {
    outline: 0.1875rem solid rgba(24, 73, 119, 0.35);
    outline-offset: 0.1875rem;
    border-radius: 0.5rem;
}

.download-item__linkicon img {
    display: block;
}

.download-item__meta {
    margin-left: var(--db-meta-ml);
    font-weight: 700;
}

.download-box__cta {
    margin-top: var(--db-cta-mt);
    display: flex;
    justify-content: center;
}

.download-box__btn {
    border-radius: var(--radius);
    padding: 0.85rem 1.35rem;
    font-weight: 800;
    display: inline-flex;
    align-items: center;
    gap: 0.625rem;
    border: 0;
    box-shadow: var(--db-btn-shadow);
    color: #fff;
}

.download-box--c-blue .download-box__btn {
    background: var(--db-blue);
}

.download-box--c-orange .download-box__btn {
    background: var(--db-orange);
}

.download-box--c-green .download-box__btn {
    background: var(--db-green);
}

.download-box__btn:hover {
    filter: brightness(0.96);
    color: #fff;
}

.download-box__btn:focus-visible {
    outline: 0.1875rem solid rgba(24, 73, 119, 0.35);
    outline-offset: 0.1875rem;
}

/* =========================
   External Jump Box (DCE)
========================= */
.extjump {
    padding-block: var(--extjump-pad-block);
}

.extjump__card {
    border-radius: var(--extjump-radius);
    padding: var(--extjump-card-pad-y) var(--extjump-card-pad-x);
}

.extjump--blue .extjump__card {
    background: var(--extjump-bg-blue);
    min-height: 280px;
}

.extjump--green .extjump__card {
    background: var(--extjump-bg-green);
}

.extjump--orange .extjump__card {
    background: var(--extjump-bg-orange);
}

.extjump__title {
    margin: 0 0 var(--extjump-title-mb) 0;
    font-weight: 700;
    color: var(--extjump-title);
}

.extjump__text {
    color: var(--extjump-text);
    line-height: 1.55;
    max-width: 60ch;
}

.extjump__btn {
    display: inline-flex;
    align-items: center;
    gap: var(--extjump-btn-gap);
    border: 0;
    border-radius: var(--extjump-btn-radius);
    font-weight: 700;
    color: #fff;
    box-shadow: var(--extjump-btn-shadow);
    text-decoration: none;
}

.extjump--blue .extjump__btn {
    background: var(--dce-btn-blue);
}

.extjump--green .extjump__btn {
    background: var(--extjump-btn-green);
}

.extjump--orange .extjump__btn {
    background: var(--extjump-btn-orange);
}

.extjump__btn:hover {
    filter: brightness(0.96);
    color: #fff;
}

.extjump__btn:focus-visible {
    outline: 0.1875rem solid rgba(24, 73, 119, 0.35);
    outline-offset: 0.1875rem;
}

.extjump__btnicon img {
    display: block;
}

.extjump__logo {
    padding-top: var(--extjump-logo-pt);
    display: flex;
    justify-content: flex-start;
}

.extjump__logo img {
    display: block;
    height: var(--extjump-logo-h);
    width: auto;
}

.extjump .container-xxl,
.imgtextcard .container-xxl {
    padding-left: 0;
}

/* =========================
   Table DCE – "Bildungsgänge im Überblick"
========================= */
.table-dce {
    border-radius: var(--tabledce-radius);
    background: var(--tabledce-bg);
    box-shadow: var(--tabledce-shadow);
    padding: var(--tabledce-pad-top) var(--tabledce-pad-x) var(--tabledce-pad-bottom);
    overflow: hidden;
}

.table-dce > h4 {
    margin: 0 0 var(--tabledce-title-mb) 0;
    /*font-weight: var(--tabledce-title-weight);*/
    font-size: var(--tabledce-title-size);
    color: var(--c-text, #1b2a3a);
}

.table-dce figure.table,
figure.table {
    margin: 0 0 1.5rem 0;
}

.table-dce figure.table td,
figure.table td {}

.table-dce table,
table {
    width: 100%;
    border-collapse: separate;
    border-spacing: 0;
    font-size: var(--fs-tabledce);
    color: var(--c-text, #1b2a3a);
    background: #fff;
    border: var(--tabledce-table-border);
    border-radius: var(--tabledce-table-radius);
    overflow: hidden;
}

.table-dce thead th,
thead th {
    background: var(--tabledce-thead-bg);
    color: #fff;
    text-align: left;
    font-weight: 800;
    padding: var(--tabledce-th-pad-y) var(--tabledce-th-pad-x);
    border-bottom: var(--tabledce-thead-border);
    vertical-align: middle;
    white-space: nowrap;
}

.table-dce thead th + th,
thead th + th {
    border-left: var(--tabledce-thead-sep);
}

.table-dce tbody td,
tbody td,
tbody th {
    padding: var(--tabledce-td-pad-y) var(--tabledce-td-pad-x);
    vertical-align: middle;
    border-top: var(--tabledce-cell-topborder);
}

.table-dce tbody td + td,
tbody td + td {
    border-left: var(--tabledce-cell-sep);
}

tbody th {
    border-right: var(--tabledce-cell-sep);
}

.table-dce tbody tr:nth-child(even),
tbody tr:nth-child(even) {
    background: var(--tabledce-zebra);
}

.table-dce tbody td:first-child,
.table-dce tbody td:has(img),
tbody td:first-child,
tbody td:has(img) {
    /* display: flex;*/
    align-items: center;
    gap: var(--tabledce-flex-gap);
}

.table-dce tbody td:has(img) > *,
tbody td:has(img) > * {
    min-width: 0;
    margin-right: 0.5rem;
}

.table-dce tbody td img,
.table-dce img.image-left,
tbody td img,
tbody img.image-left {
    /*display: block;*/
    float: left;
    width: 25px;
    height: 25px;
    flex: 0 0 auto;
    margin-right: 0.5rem;
}

.image-left {
    margin-right: 0.5rem;
}

.table-dce tbody td p,
tbody td p {
    margin: 0;
}

.tx-kesearch-pi1 #kesearch_results .result-list-item .hit {
    color: #ff7600 !important;
}

tbody table td,
.table-dce figure.table td,
figure.table td {
    border-width: 1px;
}

/* =========================
   CTA Banner GREEN ROCKET (DCE)
========================= */
.cta-banner__card {
    position: relative;
    overflow: hidden;
    border-radius: var(--cta-radius);
    padding: 2.75rem 1.5rem;
    /* 44px 24px */
    color: var(--cta-text);
    background: linear-gradient(180deg, var(--cta-green-1), var(--cta-green-2));
    box-shadow: 0 1.125rem 2.5rem rgba(0, 0, 0, 0.18);
}

.cta-banner__decor {
    position: absolute;
    inset: 0;
    pointer-events: none;
    background-image: url(/fileadmin/img-dev/bg-cta-gruen-rakete.svg);
    background-size: cover;
    opacity: 0.9;
}

.cta-banner__content {
    position: relative;
    z-index: 1;
}

.cta-banner__title {
    font-weight: 800;
    font-size: clamp(1.6rem, calc(1.1rem + 2vw), 2.35rem);
    margin: 0;
}

.cta-banner__text {
    margin: 0 auto;
    max-width: 56ch;
    color: var(--cta-text-muted);
    font-size: var(--fs-cta-text);
    line-height: 1.625;
}

.cta-btn {
    border-radius: var(--radius);
    padding: 0.85rem 1.2rem;
    font-weight: var(--fw-bold);
    display: inline-flex;
    align-items: center;
    gap: 0.625rem;
    justify-content: center;
    min-width: 17.5rem;
    /* 280px */
}

.cta-btn__iconimg {
    width: 1.4375rem;
    /* 23px */
    height: 1.4375rem;
    /* 23px */
    display: block;
}

.cta-btn--primary {
    background: #fff;
    color: #059669;
    box-shadow: 0 0.875rem 1.75rem rgba(0, 0, 0, 0.18);
}

.cta-btn--secondary {
    background: transparent;
    color: #fff;
    border: 0.125rem solid rgba(255, 255, 255, 0.75);
}

.cta-btn--secondary:hover,
.cta-btn--primary:hover {
    background: rgba(255, 255, 255, 0.4);
    border: 0.125rem solid rgba(255, 255, 255, 1);
    color: #0b6f4b;
    box-shadow: unset;
}

.cta-btn:focus-visible {
    outline: 0.1875rem solid rgba(255, 255, 255, 0.8);
    outline-offset: 0.1875rem;
}

.cta-banner__decoricon {
    position: absolute;
    right: 2.375rem;
    /* 38px */
    top: 1.375rem;
    /* 22px */
    z-index: 0;
    pointer-events: none;
}

.cta-banner__decoriconimg {
    width: 10.625rem;
    /* 170px */
    height: auto;
    opacity: 0.28;
}

/* =========================
   CTA Blue Contact (DCE)
========================= */
.cta-blue,
.cta-banner {
    padding: 3.375rem 0;
}

.cta-blue__card {
    position: relative;
    border-radius: var(--cta-blue-radius);
    box-shadow: var(--cta-blue-shadow);
    background: var(--cta-blue-bg);
    padding: 3.5rem 2.75rem;
}

.cta-blue__card::before {
    content: "";
    position: absolute;
    inset: 0;
    border-radius: inherit;
    background:
        linear-gradient(0deg, rgba(11, 106, 167, 0.95), rgba(11, 106, 167, 0.95)),
        var(--cta-bg-image),
        var(--cta-blue-bg);
    background-size: cover;
    background-position: center;
    filter: saturate(1.05);
    z-index: 0;
}

.cta-blue__card > * {
    position: relative;
    z-index: 1;
}

.cta-blue__title {
    margin: 0 0 0.875rem 0;
    font-weight: 600;
    font-size: var(--cta-blue-title-size);
    line-height: 1.2;
    color: #fff;
}

.cta-blue__text {
    margin: 0 0 3.625rem 0;
    color: var(--cta-blue-text-muted);
    font-size: var(--cta-blue-text-size);
    line-height: var(--cta-blue-text-line);
    max-width: 70ch;
}

.cta-blue__blocks {
    display: grid;
    gap: var(--cta-blue-block-gap);
}

.cta-blue__block {
    display: flex;
    align-items: flex-start;
    gap: 0.875rem;
}

.cta-blue__ico {
    width: var(--cta-blue-block-ico);
    height: var(--cta-blue-block-ico);
    border-radius: var(--cta-blue-ico-radius);
    display: grid;
    place-items: center;
    background: var(--cta-blue-ico-bg);
    flex: 0 0 auto;
}

.cta-blue__ico--white {
    background: var(--cta-blue-ico-bg-white);
}

.cta-blue__icoimg {
    width: var(--cta-blue-block-icoimg);
    height: var(--cta-blue-block-icoimg);
    display: block;
}

.cta-blue__blocktitle {
    font-weight: 600;
    color: #fff;
    margin-top: 0.125rem;
    font-size: 22px;
}

.cta-blue__blockbody,
.cta-blue__blockbody a {
    color: #fff;
}

.cta-blue__blocklink {
    display: inline-block;
    margin-top: 0.375rem;
    color: var(--cta-blue-link);
    text-decoration: underline;
    text-underline-offset: 0.1875rem;
    font-weight: var(--fw-semibold);
}

.cta-blue__blocklink--sub {
    color: rgba(255, 255, 255, 0.82);
}

.cta-blue__blocklink:hover {
    color: #fff;
}

.cta-blue__blocklink:focus-visible {
    outline: none;
    box-shadow: var(--cta-blue-focus);
    border-radius: 0.5rem;
}

.cta-blue__media {
    position: relative;
    min-height: 15rem;
    z-index: 2;
}

.cta-blue__img {
    margin: 0;
    border-radius: var(--cta-blue-img-radius);
    overflow: hidden;
    box-shadow: var(--cta-blue-img-shadow);
}

.cta-blue__img--main {
    width: min(var(--cta-blue-img-main), 100%);
    margin-left: auto;
}

.cta-blue__img--secondary {
    width: min(var(--cta-blue-img-secondary), 72%);
    position: absolute;
    right: -5.75rem;
    bottom: -1.75rem;
}

.cta-blue__cta {
    margin-top: 1.625rem;
    display: flex;
    justify-content: center;
}

.cta-blue__btn {
    border-radius: var(--cta-blue-btn-radius);
    padding: 0.85rem 1.35rem;
    display: inline-flex;
    align-items: center;
    gap: 0.625rem;
    background: transparent;
    border: 0.125rem solid rgba(255, 255, 255, 0.75);
    color: #fff;
    font-weight: var(--fw-bold);
    min-height: var(--cta-blue-btn-height);
    text-decoration: none;
}

.cta-blue__btn:hover {
    background: #184977;
    border-color: rgba(255, 255, 255, 0.9);
    color: #fff;
}

.cta-blue__btn:focus-visible {
    outline: none;
    box-shadow: var(--cta-blue-focus);
}

/* =========================
   LES Accordion (DCE)
========================= */
.les-accordion {
    padding-block: 1.375rem;
}

.les-accordion__item {
    border: 0.0625rem solid var(--acc-border);
    border-radius: var(--acc-radius);
    overflow: hidden;
    box-shadow: var(--acc-shadow);
    background: #fff;
}

.les-accordion__item + .les-accordion__item {
    margin-top: 0.875rem;
}

.les-accordion .accordion-item {
    border: 0;
}

.les-accordion .accordion-button {
    box-shadow: none;
}

.les-accordion__button {
    padding: 1.125rem 1.25rem;
    color: var(--c-text);
    background: #fff;
    font-weight: var(--fw-semibold);
}

.les-accordion__button::after {
    width: 1.25rem;
    height: 1.25rem;
    background-size: 1.25rem 1.25rem;
    opacity: 0.9;
    content: "";
    background-image: url(/fileadmin/media/icons/icon-pfeil-akkordion.svg);
    margin-bottom: 0;
}

.accordion-button:not(.collapsed)::after {
    background-image: url(/fileadmin/media/icons/icon-pfeil-akkordion.svg);
}

.info-card__alert .accordion-button::after {
    display: none;
}

.les-accordion__body {
    padding: 1.125rem 1.25rem 1.25rem;
    color: var(--c-text);
    line-height: 1.6;
}

.les-accordion__button:focus-visible {
    outline: 0.1875rem solid rgba(24, 73, 119, 0.35);
    outline-offset: 0.1875rem;
}

.accordion-button:not(.collapsed) {
    color: var(--c-text) !important;
    background-color: #fff !important;
}

/* A11y-Basis: gut sichtbarer Tastaturfokus */
.les-accordion :where(.accordion-button):focus-visible {
    outline: 0.1875rem solid rgba(24, 73, 119, 0.35);
    outline-offset: -0.1875rem;
    box-shadow: none;
}

/* Fokus für interaktive Elemente innerhalb des Accordion-Inhalts */
.les-accordion .accordion-body :where(a, button, input, textarea, select, summary):focus-visible {
    outline: 0.1875rem solid rgba(24, 73, 119, 0.35);
    outline-offset: -0.1875rem;
}

/* Reduced motion – wichtig wegen collapse transition */
@media (prefers-reduced-motion: reduce) {

    .les-accordion .accordion-collapse,
    .les-accordion .accordion-button,
    .les-accordion .accordion-button::after {
        transition: none !important;
    }
}



/* =========================
   Button Group Tiles (DCE)
========================= */
.les-buttongroup {
    padding-block: 1.125rem 5rem;
}

.les-buttongroup__title {
    margin: 0 0 0.875rem 0;
    font-weight: var(--fw-bold);
    color: var(--c-text);
}

.les-btg-btn {
    height: 100%;
    min-height: var(--btg-min-h);
    border-radius: var(--btg-radius);
    box-shadow: var(--btg-shadow);
    text-decoration: none;

    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: var(--btg-gap);

    padding: var(--btg-pad-y) var(--btg-pad-x);
    color: #fff;
    text-align: center;

    transition: transform 0.12s ease, box-shadow 0.12s ease, background-color 0.12s ease;
}

.les-btg-btn:hover {
    transform: translateY(-0.125rem);
    color: #fff;
    box-shadow: 0 1.125rem 1.625rem rgba(26, 32, 44, 0.20);
}

.les-btg-btn:focus-visible {
    outline: none;
    box-shadow: var(--btg-shadow), var(--btg-focus);
}

.les-btg-btn--blue {
    background: var(--btg-blue);
}

.les-btg-btn--orange {
    background: var(--btg-orange);
}

.les-btg-btn--green {
    background: var(--btg-green);
}

.les-btg-btn--blue:hover {
    background: #0a5696;
}

.les-btg-btn--orange:hover {
    background: var(--c-accent-hover);
}

.les-btg-btn--green:hover {
    background: #08764b;
}

.les-btg-btn__iconwrap {
    display: grid;
    place-items: center;
    line-height: 0;
}

.les-btg-btn__icon {
    width: 2.125rem;
    /* 34px */
    height: 2.125rem;
    /* 34px */
    display: block;
}

.les-btg-btn__label {
    font-weight: var(--fw-bold);
    font-size: var(--btg-label-size);
    line-height: var(--lh-tight);
}

.les-btg-btn__sub {
    display: inline-flex;
    align-items: center;
    gap: 0.375rem;
    font-weight: var(--fw-bold);
    font-size: var(--btg-sub-size);
    line-height: var(--lh-tight);
    opacity: 0.95;
}

.les-btg-btn__subicon {
    font-weight: var(--fw-bold);
}

/* =========================
   DCE Button
========================= */
.buttonwrapper {
    padding-block: var(--buttonwrapper-pad-y);
}

.dce-button {
    margin-bottom: 1.5625rem;
    /* 25px */
}

.dce-button img {
    width: var(--dce-btn-icon);
    height: var(--dce-btn-icon);
}

.dce-button a {
    color: #fff;
    text-decoration: none;
}

.dce-button a:hover {
    opacity: 0.85;
    color: #fff;
}

.dce-button a:focus-visible {
    outline: none;
    box-shadow: var(--focus);
    border-radius: var(--radius);
}

.dce-button a.btn-color-blue {
    background-color: var(--dce-btn-blue);
}

.dce-button a.btn-color-orange {
    background-color: var(--dce-btn-orange);
}

.dce-button a.btn-color-green {
    background-color: var(--dce-btn-green);
}

.dce-button a.btn-color-red {
    background-color: var(--dce-btn-red);
}

.dce-button a.btn-color-blue:hover {
    background-color: #005799;
}

.dce-button a.btn-color-orange:hover {
    background-color: var(--c-accent-hover);
}

.dce-button a.btn-color-green:hover {
    background-color: #307151;
}

.dce-button a.btn-color-red:hover {
    background-color: #cf3954;
}

/* =========================
   CONTACT CARD (DCE)
========================= */
.contact-card {
    height: auto;
    border-radius: var(--cc-radius);
    box-shadow: var(--cc-shadow);
    border: 0.0625rem solid var(--cc-border);
    overflow: hidden;
    background: #fff;
}

.contact-card__img {
    display: block;
    width: 100%;
    height: auto;
}

.contact-card__body {
    padding: var(--cc-body-pad);
    background: var(--ibox-bg-blue-down);
}

.contact-card--orange .contact-card__body {
    background: var(--ibox-bg-orange-down);
}

.contact-card--green .contact-card__body {
    background: var(--ibox-bg-green-down);
}

.contact-card__badgewrap {
    margin: 0.375rem 0 0.875rem;
}

.contact-card__badge {
    display: inline-flex;
    align-items: center;
    padding: var(--cc-badge-pad-y) var(--cc-badge-pad-x);
    border-radius: var(--cc-badge-radius);
    font-weight: 800;
    font-size: var(--cc-badge-size);
    color: #fff;
    background: var(--cc-blue);
}

.contact-card--orange .contact-card__badge {
    background: var(--cc-orange);
}

.contact-card--green .contact-card__badge {
    background: var(--cc-green);
}

.contact-card__title {
    margin: 0 0 0.375rem 0;
    font-weight: 600;
    font-size: var(--cc-title-size);
    line-height: var(--cc-title-line);
    color: var(--cc-title);
}

.contact-card__subtitle {
    margin: 0 0 0.875rem 0;
    color: var(--cc-muted);
    line-height: 1.5;
}

.contact-card__list {
    display: grid;
    gap: var(--cc-row-gap);
}

.contact-card__item {
    display: grid;
    grid-template-columns: var(--cc-ico-col) 1fr;
    gap: var(--cc-ico-gap);
    align-items: start;
}

.contact-card__iconwrap {
    width: var(--cc-ico-wrap);
    height: var(--cc-ico-wrap);
    display: grid;
    place-items: flex-end;
}

.contact-card__icon {
    width: var(--cc-ico);
    height: var(--cc-ico);
    display: block;
}

.contact-card__link {
    color: var(--cc-blue);
    font-weight: var(--fw-semibold);
    text-decoration: underline;
    text-underline-offset: 0.1875rem;
}

.contact-card__link:hover {
    color: var(--link-hover);
}

.contact-card__link:focus-visible {
    outline: 0.1875rem solid rgba(24, 73, 119, 0.35);
    outline-offset: 0.1875rem;
    border-radius: 0.5rem;
}

.contact-card__link p {
    margin-bottom: 0;
}

.contact-card__text {
    color: var(--cc-muted);
    line-height: 1.5;
}

.contact-card__text strong,
.contact-card__list strong {
    font-weight: 900;
    color: var(--cc-title);
}

/* =========================
   Countdown Card (DCE) – integrated (NO :root overrides)
   - nutzt vorhandene Tokens: --radius, --c-text, --c-muted, --c-divider, --c-accent, --ibox-green
   - keine neuen globalen Variablen
========================= */

.countdown-card {
    padding-block: 0.75rem;
    /* 12px */
}

/* Card */
.countdown-card__box {
    position: relative;
    border-radius: 0.625rem;
    /* 10px (wie Screenshot) */
    box-shadow: 0 0.25rem 0.375rem -0.0625rem rgba(0, 0, 0, .10),
        0 0.125rem 0.25rem -0.125rem rgba(0, 0, 0, .10);
    padding: 1.375rem 1.375rem 1.25rem;
    /* 22/22/20 */
    max-width: 22.5rem;
    /* 360px */
    background: #f3f8ff;
    /* neutral default */
}

.countdown-card__box {
    z-index: 99;
}

/* Hintergrund je Variante */
.countdown-card--blue .countdown-card__box {
    background: #eaf3ff;
}

.countdown-card--orange .countdown-card__box {
    background: #fff1e3;
}

.countdown-card--green .countdown-card__box {
    background: #e9f8f0;
}

.countdown-card--neutral .countdown-card__box {
    background: #f3f8ff;
}

/* Header */
.countdown-card__head {
    margin-bottom: 0.625rem;
    /* 10px */
}

.countdown-card__iconwrap {
    width: 2.125rem;
    /* 34px */
    height: 2.125rem;
    /* 34px */
    border-radius: 62.4375rem;
    /* 999px */
    display: grid;
    place-items: center;
    color: var(--c-divider);
    /* Standard blau */
}

.countdown-card__title {
    margin: 0;
    font-weight: 900;
    font-size: 1.65rem;
    line-height: 1.1;
    color: var(--c-text);
}

.countdown-card__subtitle {
    margin: 0 0 0.875rem !important;
    /* 14px */
    color: var(--c-muted);
    font-size: 1.05rem;
    line-height: 1.45;

}

/* Value */
.countdown-card__valuewrap {
    display: grid;
    justify-items: center;
    gap: 0.875rem;
    /* 14px */
}

.countdown-card__value {
    text-align: center;
}

.countdown-card__number {
    display: block;
    font-weight: 900;
    font-size: 3rem;
    line-height: 1;
    color: var(--c-text);
}

.countdown-card__unit {
    display: block;
    margin-top: 0.375rem;
    /* 6px */
    font-size: 0.95rem;
    color: var(--c-muted);
}

/* Date chip – Basis */
.countdown-card__datechip {
    width: 100%;
    max-width: 15rem;
    /* 240px */
    border-radius: var(--radius);
    padding: 0.65rem 0.9rem;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.625rem;
    /* 10px */
}

/* Chip je Variante (Background + Textfarbe) */
.countdown-card--blue .countdown-card__datechip {
    background: rgba(24, 73, 119, 0.12);
}

.countdown-card--blue .countdown-card__datetext {
    color: var(--c-divider);
    font-weight: 700;
}

.countdown-card--orange .countdown-card__datechip {
    background: rgba(237, 102, 12, 0.14);
}

.countdown-card--orange .countdown-card__datetext {
    color: var(--c-accent);
    font-weight: 700;
}

.countdown-card--green .countdown-card__datechip {
    background: rgba(63, 143, 103, 0.14);
}

.countdown-card--green .countdown-card__datetext {
    color: var(--ibox-green);
    font-weight: 700;
}

/* Neutral */
.countdown-card--neutral .countdown-card__datechip {
    background: rgba(27, 42, 58, 0.06);
}

.countdown-card--neutral .countdown-card__datetext {
    color: var(--c-text);
    font-weight: 700;
}

/* Fallback (falls keine Variante gesetzt ist) */
.countdown-card:not(.countdown-card--blue):not(.countdown-card--orange):not(.countdown-card--green):not(.countdown-card--neutral) .countdown-card__datechip {
    background: rgba(63, 143, 103, 0.14);
}

.countdown-card:not(.countdown-card--blue):not(.countdown-card--orange):not(.countdown-card--green):not(.countdown-card--neutral) .countdown-card__datetext {
    color: var(--ibox-green);
    font-weight: 700;
}


/* Responsive */
@media (min-width: 768px) {
    .countdown-card__box {
        padding: 1.5rem 1.5rem 1.375rem;
        /* 24/24/22 */
    }
}


/* =========================
   Anchor Menu (DCE)
========================= */
.anchor-menu {
    width: 100%;
}

.anchor-menu__card {
    border-radius: var(--anchor-radius);
    background: var(--anchor-bg);
    box-shadow: var(--anchor-shadow);
    padding: 1.625rem 1.625rem 1.5rem;
    min-height: 26.25rem;
    /* 420px */
}

.anchor-menu__iconwrap {
    width: 3.375rem;
    /* 54px */
    height: 3.375rem;
    /* 54px */
    border-radius: var(--radius);
    display: grid;
    place-items: center;
    background: var(--anchor-tile);
    margin-bottom: 3rem;
    color: var(--anchor-icon);
}

.anchor-menu__icon {
    width: 1.5rem;
    /* 24px */
    height: 1.5rem;
    /* 24px */
    display: block;
}

.anchor-menu__title {
    margin: 0 0 0.75rem 0;
    font-weight: 600;
    font-size: var(--fs-anchor-title);
    line-height: 1.15;
    color: var(--c-text);
}

.anchor-menu__list {
    display: grid;
    gap: 0.75rem;
    /* 12px */
}

.anchor-menu__link {
    display: inline-flex;
    align-items: center;
    gap: 0.75rem;
    /* 12px */
    color: var(--anchor-link);
    text-decoration: underline;
    text-underline-offset: 0.1875rem;
    font-weight: 500;
    line-height: 1.2;
}

.anchor-menu__link:hover {
    color: var(--link-hover);
}

.anchor-menu__link:focus-visible {
    outline: 0.1875rem solid rgba(24, 73, 119, 0.35);
    outline-offset: 0.1875rem;
    border-radius: 0.5rem;
}

.anchor-menu__arrow {
    width: 1.125rem;
    /* 18px */
    height: 1.125rem;
    /* 18px */
    flex: 0 0 auto;
}

.row:has(.anchor-menu) {
    flex-direction: column-reverse;
}

@media (min-width: 992px) {
    .row:has(.anchor-menu) {
        flex-direction: row;
    }
}

.frame-type-image .image img.image-embed-item {
    width: 100%;
    height: auto;
    border-radius: 20px;
}



.powermail_create p {
    background-color: #cef0da;
    padding: 2rem;
    text-align: center;
    margin: 0 auto;
    font-weight: 700;
    border-radius: 50px;
}

.form-check {
    padding-left: 2rem;
}

.powermail_fieldwrap_beratungzumbildungsgang,
.powermail_fieldwrap_ihreanfrage,
.powermail_fieldwrap_datenschutz,
.powermail_fieldwrap_hinweis {
    width: 100% !important;
}

.powermail_fieldwrap_hinweis,
.powermail_field #c2343 {
    font-size: 1rem;
}

.powermail_field {
    padding-top: 1rem;
    padding-bottom: 1rem;
}

.powermail_field .form-control::file-selector-button {
    border: 1px solid #ccc;
    border-radius: 5px;
    margin-left: 0px;
}


/* =========================
   NEWS Cards (List Item)
========================= */
.news-card {
    border: 0;
    border-radius: 10px;
    overflow: hidden;
    box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.10), 0 8px 10px -6px rgba(0, 0, 0, 0.10);
    background: #fff;
}

.news-card__media {
    position: relative;
    background: #f3f6fb;
}

.news-card__img {
    display: block;
    width: 100%;
    height: 14.5rem;
    /* ~ wie Screenshot */
    object-fit: cover;
}

.news-card__img--placeholder {
    height: 14.5rem;
    background: linear-gradient(135deg, rgba(24, 73, 119, .08), rgba(24, 73, 119, .02));
}

.news-card__badgewrapper {
    display: flex;
    flex-wrap: wrap;
    width: 100%;
    /* position: absolute;*/
    top: 0.875rem;
    /* 14px */
    left: 0.875rem;
    z-index: 2;
    gap: 1rem;
    margin-bottom: 0.75rem;
}

/* Badge (Kategorie) */
.news-card__badge {
    display: inline-flex;
    align-items: center;
    padding: 8px 16px;
    border-radius: 20px;
    /*box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.10), 0 4px 6px -4px rgba(0, 0, 0, 0.10);*/

    color: #fff;
    font-weight: 700;
    font-size: 18px;
    line-height: 24px;
    background: #0b5ea5
}

.news-card__badge--7 {
    background: #0A8554;
}

.news-card__badge--14 {
    background: #F46906;
}

.news-card__body {
    padding: 1rem 1.6rem 1.5rem;
    display: flex;
    flex-direction: column;
}

.news-card__date {
    margin: 0 0 0.9rem;
    color: #718096;
    font-weight: 400;
}

.news-card__title {
    margin: 0 0 0.9rem;
    font-weight: 600;
    line-height: 37.8px;
}

.news-card__titlelink {
    color: var(--c-text);
    text-decoration: none;
}

.news-card__titlelink:hover {
    text-decoration: none;
    color: var(--link-hover);
}

.news-card__teaser {
    margin: 0 0 1.1rem;
    color: #4A5568;
    font-size: 16px;
    font-weight: 400;
    line-height: 26px;
}

.news-card__more {
    margin-top: auto;
}

.news-card__morelink {
    display: inline-flex;
    align-items: center;
    gap: 0.75rem;
    font-weight: 400;
    color: #0066B3;
    text-decoration: underline;
    text-underline-offset: 0.2em;
}

.news-card__morelink:hover {
    color: var(--link-hover);
}

.news-card__morelink:focus-visible {
    outline: none;
    box-shadow: var(--focus);
    border-radius: 0.5rem;
}

.news-card__arrow {
    display: block;
}

@media (min-width: 1200px) {

    .news-card__img,
    .news-card__img--placeholder {
        height: 15.5rem;
    }
}


/* =========================
   NEWS Filter Pills (Bootstrap 5) – Screenshot Look
========================= */
.news-filter {
    margin-bottom: 4rem;
}

.news-filter .nav-pills {
    --bs-nav-pills-border-radius: 0.75rem;
    /* weiche Kanten wie Screenshot */
    gap: 0.875rem;
    /* gleichmäßige Abstände */
}

/* Default (inactive) */
.news-filter .nav-pills .nav-link {
    background: #fff;
    border-radius: 10px;
    color: #4A5568;
    font-weight: 400;
    font-size: 18px;
    padding: 12px 33px;
    line-height: 28px;
    border-radius: 0.75rem;
       box-shadow: 0 0.75rem 1.25rem rgba(0, 0, 0, .14);
    text-decoration: none;
    /* Pills sollen nicht unterstrichen sein */
}

/* Hover (inactive) */
.news-filter .nav-pills .nav-link:hover {
    color: rgba(27, 42, 58, .90);
    background: #fff;
}

/* Active state (orange, white text) */
.news-filter .nav-pills .nav-link.active,
.news-filter .nav-pills .show > .nav-link {
    background: var(--c-accent, #ed660c);
    color: #fff;

    font-weight: 700;
}

/* Active hover */
.news-filter .nav-pills .nav-link.active:hover {
    background: var(--c-accent-hover, #d85b0a);
    border-color: var(--c-accent-hover, #d85b0a);
    color: #fff;
}

/* Focus visible (a11y) */
.news-filter .nav-pills .nav-link:focus-visible {
    outline: none;
    box-shadow: var(--focus, 0 0 0 0.2rem rgba(13, 110, 253, .35));
}

/* Active focus – etwas stärker, damit auf Orange gut sichtbar */
.news-filter .nav-pills .nav-link.active:focus-visible {
    box-shadow: 0 0 0 0.2rem rgba(255, 255, 255, .75), 0 0.75rem 1.25rem rgba(0, 0, 0, .14);
}

/* Mobile: Pills dürfen umbrechen, aber sollen nicht zu hoch wirken */
@media (max-width: 575.98px) {
    .news-filter .nav-pills {
        gap: 0.625rem;
    }

    .news-filter .nav-pills .nav-link {
        padding: 0.7rem 1.05rem;
        font-size: 0.95rem;
    }
}


/* =========================
   News Pagination (Bootstrap 5)
========================= */
.news-pagination {
    margin-top: 2rem;
}

.news-pagination .pagination {
    --bs-pagination-border-radius: 0.75rem;
    --bs-pagination-border-width: 1px;
    --bs-pagination-color: rgba(27, 42, 58, .70);
    --bs-pagination-bg: #fff;
    --bs-pagination-border-color: rgba(0, 0, 0, .08);
    --bs-pagination-hover-bg: #fff;
    --bs-pagination-hover-border-color: rgba(0, 0, 0, .12);
    --bs-pagination-hover-color: rgba(27, 42, 58, .90);
    --bs-pagination-focus-box-shadow: var(--focus);
    --bs-pagination-active-bg: var(--c-accent);
    --bs-pagination-active-border-color: var(--c-accent);
    --bs-pagination-active-color: #fff;
}

.news-pagination .page-link {
    font-weight: 700;
    text-decoration: none;
    /* keine Unterstreichung in Pills */
    padding: 0.7rem 1.05rem;
    line-height: 1;
    border:1px solid #ccc !important;
}

.news-pagination .page-item.disabled .page-link {
    opacity: .45;
    pointer-events: none;
}

.news-pagination__ellipsis {
    background: transparent;
}

/* Responsive: auf sehr kleinen Screens enger */
@media (max-width: 575.98px) {
    .news-pagination .page-link {
        padding: 0.65rem 0.9rem;
        font-size: 0.95rem;
    }
}

/* =========================
   NEWS Detail
========================= */
.news-detail {
    padding-block: 2rem 3rem;
}

/* Hero */
.news-detail__hero {
    padding-top: 1.25rem;
    padding-bottom: 1.25rem;
}

.news-detail__heroWrap {
    position: relative;
    border-radius: 0.875rem;
    overflow: hidden;
    background: #f3f6fb;
}

.news-detail__heroImg {
    display: block;
    width: 100%;
    height: clamp(16rem, 34vw, 26rem);
    object-fit: cover;
    object-position: top center;
}

.news-detail__heroImg--placeholder {
    height: clamp(16rem, 34vw, 26rem);
    background: linear-gradient(135deg, rgba(24, 73, 119, .08), rgba(24, 73, 119, .02));
}

/* Badge im Hero */
.news-detail__badge {
    top: 1rem;
    left: 1rem;
}

/* Meta + Title */
.news-detail__meta {
    margin-top: 1.75rem;
}

.news-detail__date {
    color: rgba(27, 42, 58, .65);
}

.news-detail__title {
    margin: 0 0 1rem 0;
    font-weight: 600;
}

.news-detail__teaser {
    margin-bottom: 1.75rem;
}

/* Body / RTE */
.news-detail__body {
    color: var(--c-text);
}

.news-detail__body p {
    margin-bottom: 1rem;
}

.news-detail__body a {
    font-weight: 700;
}

/* Gallery thumbs */
.news-detail__gallery {
    margin-top: 2rem;
}

.news-detail__thumb {
    border-radius: 0.875rem;
    overflow: hidden;
    box-shadow: 0 0.875rem 1.75rem rgba(0, 0, 0, .12);
    background: #fff;
}

.news-detail__thumbimg {
    display: block;
    width: 100%;
    aspect-ratio: 4 / 3;
    object-fit: cover;
}

/* Back link */
.news-detail__back {
    margin-top: 2.5rem;
}

.news-detail__backlink {
    display: inline-flex;
    align-items: center;
    gap: 0.75rem;
    color: var(--c-link);
    text-decoration: underline;
    text-underline-offset: 0.2em;
}

.news-detail__backlink:hover {
    color: var(--link-hover);
}

.news-detail__backlink:focus-visible {
    outline: none;
    box-shadow: var(--focus);
    border-radius: 0.5rem;
}

.news-detail__backicon {
    display: block;
    transform: rotate(180deg);
    /* Pfeil zeigt „zurück“ */
}


/* =========================
   News Detail – Related Downloads (falRelatedFiles)
========================= */
.news-downloads {
    margin-top: 2.25rem;
}

.news-downloads__title {
    margin-bottom: 1rem;
    font-weight: 800;
}

.news-downloads__item {
    display: flex;
    align-items: center;
    gap: 0.875rem;
    width: 100%;
    padding: 1rem 1.1rem;
    border-radius: 0.875rem;
    background: #fff;
    border: 1px solid rgba(0, 0, 0, .08);
    box-shadow: 0 0.875rem 1.75rem rgba(0, 0, 0, .10);
    text-decoration: none;
}

.news-downloads__item:hover {
    border-color: rgba(0, 0, 0, .12);
}

.news-downloads__item:focus-visible {
    outline: none;
    box-shadow: var(--focus);
}

.news-downloads__icon {
    width: 3rem;
    height: 3rem;
    border-radius: 0.75rem;
    display: grid;
    place-items: center;
    background: rgba(24, 73, 119, .08);
    flex: 0 0 auto;
}

.news-downloads__meta {
    display: grid;
    gap: 0.25rem;
    min-width: 0;
    flex: 1 1 auto;
}

.news-downloads__name {
    font-weight: 800;
    color: var(--c-text);
    line-height: 1.2;
}

.news-downloads__sub {
    color: rgba(27, 42, 58, .65);
    font-weight: 600;
    display: inline-flex;
    gap: 0.5rem;
    flex-wrap: wrap;
}





/* PAGINATION SEARCH */

#kesearch_pagebrowser_bottom .pages_total {
    border-bottom: 0px !important;
}

.kesearch_pagebrowser .active > .page-link,
.kesearch_pagebrowser .page-link.active {
    background-color: #0b70b7;
    border-color: #0b70b7;
    color: #fff !important;
}

.kesearch_pagebrowser li .page-link {
    color: #0b70b7 !important;
}

.kesearch_pagebrowser .page-link {
    padding: 0.75rem 1.15rem !important;
    margin-top: 1rem;
}

.result_txt {
    margin-top: 1rem;
}

.page-item:nth-of-type(2) .page-link.prev::before {
    content: '<';
}

/* END PAGINATION SEARCH */




/* WCAG Video Player */

.mejs__container {
    overflow: hidden;
}

/* END WCAG Video Player */

.hero-gallery__main .tx-ai-image-marker > img{
    display: inline-block !important;
}


/* Add / replace this focus block in your file */

:where(
  a[href],
  button,
  input:not([type="hidden"]),
  select,
  textarea,
  summary,
  details,
  [tabindex]:not([tabindex="-1"]),
  [role="button"],
  [role="link"]
):focus-visible {
  outline: 3px solid #000;
  outline-offset: 0.1875rem;
  box-shadow: 0 0 0 6px #000;
}

/* Keep the inner ring visible on container-like elements too */
/* 0) Keine Maus-Fokus-Stile */
:where(a, button, input, select, textarea, summary, [tabindex]):focus {
  outline: none;
}

/* 1) INNERER Ring am fokussierten Element (Tastatur) */
:where(
  a[href],
  button,
  input:not([type="hidden"]),
  select,
  textarea,
  summary,
  details,
  [tabindex]:not([tabindex="-1"]),
  [role="button"],
  [role="link"]
):focus-visible {
  outline: 3px solid #000;          /* schwarz */
  outline-offset: 0.1875rem;
  box-shadow: 0 0 0 3px #fff;       /* weißer „Spacer“ (bessere Lesbarkeit) */
  border-radius: 0.25rem;
}

/* 2) ÄUSSERER Ring am Container (Tastatur) */
:where(
  .dropdown,
  .btn-group,
  .nav-item,
  .accordion-item,
  .card,
  .info-card,
  .info-box,
  .contact-card,
  .download-item,
  .news-card,
  .news-downloads__item,
  .les-btg-btn,
  .cta-btn,
  .cta-blue__btn,
  .dce-button a
):has(:focus-visible) {
  box-shadow: 0 0 0 6px #000;       /* außen schwarz */
  border: 3px solid #fff;           /* innen weiß */
  border-radius: 0.5rem;
}

/* 3) Formularfelder: Doppelrahmen bewusst zulassen? 
   Dann NICHT „ausnullen“ – entferne deine aktuelle Reset-Regel. */

/* 4) Bootstrap focus ersetzen: nicht :focus, sondern :focus-visible */
.form-control:focus,
.form-select:focus,
.form-check-input:focus {
  box-shadow: none;                 /* verhindert Maus-Klick-Fokus */
}

.form-control:focus-visible,
.form-select:focus-visible,
.form-check-input:focus-visible {
  outline: 3px solid #000;
  outline-offset: 0.1875rem;
  box-shadow: 0 0 0 3px #fff;
}



/* =========================
   RESPONSIVE & PREFERENCES (COLLECTED)
========================= */

/* Reduced motion */
@media (prefers-reduced-motion: reduce) {

    .floating-actions__btn,
    .hero-btn,
    .btn,
    .les-btg-btn,
    .cta-blue__btn,
    .dce-button a {
        transition: none;
    }

    .floating-actions__btn:hover,
    .les-btg-btn:hover {
        transform: none;
    }
}

/* ---------- max-width (descending) ---------- */
@media (max-width: 1900px) {
    .navbar-nav {
        gap: 0.625rem;
    }
}

@media (max-width: 1199.98px) {
    .navbar-expand-xl .navbar-nav .dropdown-menu {
        position: relative;
        box-shadow: none;
        border: 0;
        margin-left: auto;
    }
}

@media (max-width: 991.98px) {
    .ce-headline-center {
        padding-inline: var(--ce-headline-center-pad-inline-md);
    }

    .contact-card__img {
        max-height: 28.125rem;
        /* 450px */
        object-fit: cover;
        object-position: center center;
    }

    .table-dce {
        padding: var(--tabledce-pad-top-sm) var(--tabledce-pad-x-sm) var(--tabledce-pad-bottom-sm);
    }

    .table-dce figure.table {
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
    }

    .table-dce table {
        min-width: var(--tabledce-table-minw);
    }
}

@media (max-width: 575.98px) {
    :root {
        --fa-size: 3rem;
        /* 48px */
        --fa-icon: 1.125rem;
        /* 18px */
        --fa-gap: 0.5rem;
        /* 8px */
        --fa-right: 0.875rem;
        /* 14px */
        --fa-top: 10.625rem;
        /* 170px */
    }

    .ce-headline-center {
        padding-inline: var(--ce-headline-center-pad-inline-sm);
    }

    .page-breadcrumb {
        margin-top: var(--page-breadcrumb-mt-sm);
    }

    .page-breadcrumb__link,
    .page-breadcrumb__current {
        max-width: 100%;
        white-space: normal;
    }

    .page-breadcrumb__list {
        display: flex;
    }

    .cta-blue__card {
        padding: 2.25rem 1.25rem;
    }

    .cta-blue__img--secondary {
        right: -0.75rem;
        bottom: -0.75rem;
    }

    .hero-video-poster {
        height: 18.75rem;
        /* 300px */
    }

    .table-dce > h4 {
        font-size: var(--tabledce-title-size-xs);
    }

    .table-dce thead th {
        padding: var(--tabledce-th-pad-y-xs) var(--tabledce-th-pad-x-xs);
    }

    .table-dce tbody td {
        padding: var(--tabledce-td-pad-y-xs) var(--tabledce-td-pad-x-xs);
    }
}

/* ---------- min-width (ascending: 576, 768, 992, 1200, 1400, 1900) ---------- */
@media (min-width: 576px) {
    :root {
        --measure: 68ch;
    }

    .header-quicklinks-list {
        gap: 0.875rem 1.375rem;
    }

    .imgtextcard__wrap {
        padding: var(--imgtext-wrap-pad-576);
    }

    .imgtextcard__img {
        width: var(--imgtext-img-w-576);
    }

    .imgtextcard__title {
        font-size: var(--imgtext-title-size-576);
    }

    .imgbox__img--secondary {
        width: var(--imgbox-secondary-w-sm);
    }

    .imgbox__secondary {
        right: var(--imgbox-secondary-right-sm);
        bottom: var(--imgbox-secondary-bottom-sm);
    }
}

@media (max-width: 576px) {
    .content.w-100.h-100 svg {
        min-height: 23px;
    }

}

@media (min-width: 768px) {
    :root {
        --lh-base: 1.5;
    }

    .header-top .col-12 {
        padding-block: 0.65rem;
    }

    .header-schoolbrand-logo {
        height: 2.875rem;
    }

    .header-quicklinks-list {
        gap: 1rem 1.625rem;
    }

    .header-brandbar {
        width: auto;
        justify-content: center;
    }

    .footer-surface {
        padding-top: 4.875rem;
    }

    .footer-brand-logo {
        height: 3.625rem;
    }

    .footer-cols {
        padding-top: 3.375rem;
    }

    .info-box__inner {
        min-height: 21.25rem;
    }

    .info-card__inner {
        padding: var(--ic-inner-pad-md);
    }

    .cta-banner__card {
        padding: 3.5rem 2.75rem;
    }

    .les-btg-btn {
        min-height: 8.75rem;
        /* 140px */
    }

    .contact-card__body {
        padding: 1.5rem;
        /* 24px */
    }

    .contact-card__title {
        font-size: 1.85rem;
    }

    .anchor-menu__card {
        padding: 1.875rem 1.875rem 1.625rem;
        min-height: 27.5rem;
        /* 440px */
    }

    .imgtextcard__wrap {
        padding: var(--imgtext-wrap-pad-y-768) var(--imgtext-wrap-pad-x-768);
    }

    .imgtextcard__img {
        width: var(--imgtext-img-w-768);
        margin-top: var(--imgtext-img-offset-768);
        margin-bottom: var(--imgtext-img-offset-768);
    }


    .grid-2cols-content .grid-2cols-content .imgtextcard__img,
    .grid-3cols .imgtextcard__img {
        margin-bottom: 20px;
    }


    .download-box__inner {
        padding: var(--db-inner-pad-y-md) var(--db-inner-pad-x-md);
    }

    .extjump__card {
        padding: var(--extjump-card-pad-y-md) var(--extjump-card-pad-x-md);
    }

    .extjump__logo {
        justify-content: flex-end;
    }

    .extjump__logo img {
        height: var(--extjump-logo-h-md);
    }

    .imgbox {
        padding-block: var(--imgbox-pad-block-md);
        position: relative;
    }

    .imgbox:after {
        position: absolute;
        content: url(/fileadmin/img-dev/quadrate-overlay-orange.svg);
        width: 169px;
        height: 693px;
        right: -5%;
        top: -10%;
    }

    .imgbox__img--secondary {
        width: var(--imgbox-secondary-w-md);
    }

    .imgbox__secondary {
        right: var(--imgbox-secondary-right-md);
        bottom: var(--imgbox-secondary-bottom-md);
    }
}


@media (max-width:1900px){
 .imgtextcard__body {
    margin-top:35px;
}

}


@media (min-width: 992px) {
    :root {
        --measure: 72ch;
    }

    h1,
    .h1 {
        letter-spacing: -0.025em;
    }

    .header-search .input-group {
        max-width: 22.5rem;
        height: 2.625rem;
    }

    .hero-surface {
        padding-top: 3.875rem;
        padding-bottom: 7.5rem;
    }

    .hero-surface .container-fluid {
        min-height: 32.8125rem;
    }

    .les-accordion {
        padding-block: 1.75rem;
    }

    .les-accordion__button {
        padding: 1.25rem 1.5rem;
    }

    .les-accordion__body {
        padding: 1.125rem 1.5rem 1.5rem;
    }

    .cta-blue__media {
        margin-top: -6rem;
        /* -96px */
        min-height: 22.5rem;
        /* 360px */
    }

    .cta-blue__cta {
        position: absolute;
        right: 2.625rem;
        /* 42px */
        bottom: 2.625rem;
        /* 42px */
        margin-top: 0;
        justify-content: flex-end;
        z-index: 3;
    }

    .contact-card {
        min-height: 50rem;
    }

    .download-box__cta {
        justify-content: flex-end;
    }
}

@media (min-width: 1200px) {
    .header-top .col-12 {
        padding-block: 0.75rem;
    }

    .header-quicklinks {
        display: flex;
        justify-content: end;
        padding-right: 2rem;
    }

    .header-quicklink-label {
        display: inline;
    }

    .header-nav-inner {
        padding-block: 0;
    }

    .footer-surface {
        padding-top: 5.375rem;
    }

    .footer-brand-logo {
        height: 4rem;
    }

    .cta-btn {
        min-width: 20rem;
    }

    .les-btg-btn {
        min-height: 9.375rem;
        /* 150px */
    }

    .imgbox__img--main {
        max-width: var(--imgbox-main-max-xl);
    }

    .imgbox__img--secondary {
        width: var(--imgbox-secondary-w-xl);
    }

    .imgbox__secondary {
        right: var(--imgbox-secondary-right-xl);
        bottom: var(--imgbox-secondary-bottom-xl);
    }

}

@media (min-width: 1400px) {
    :root {
        --measure: 75ch;
        --lh-base: 1.7;
    }

    .navbar-expand-xl .navbar-nav .dropdown-menu {
        max-width: 300px;
    }
}



@media (max-width:1200px) {
    .image-left {
        margin-bottom: 1.5rem;
    }

    .floating-actions__list {
        display: none;
    }

    .hero-wave {
        height: 2.25rem;
    }

    .title {
        hyphens: auto;
        word-wrap: break-word;
    }

    .header-search-trigger,
    .header-search-trigger:hover {
        border: 0.0625rem solid rgba(0, 0, 0, 0.15);
    }

}

@media (max-width:992px) {

    .btn,
    .back-to-top.btn.btn-primary span {
        font-size: var(--fs-lg);
    }

    .imgtextcard__text p a {
        line-height: 3rem;
    }
}

@media (max-width:576px) {
    .hero-wave {
        height: 1.25rem;
    }
}

@media (min-width: 1900px) {
    :root {
        --measure: 78ch;
    }

    nav .container-xxl,
    .site-header .container-xxl {
        max-width: 118.0625rem !important;
    }

    .header-schoolbrand-logo {
        height: 4.125rem;
    }
}