
.campaigncounter .dynamicLayer {
    overflow: hidden; }
.campaigncounter .staticLayer .countervalue {
    color: #202020; }
.campaigncounter .dynamicLayer h2 {
    font-size: 1.5em;
    text-transform:none; }

.campaigncounter .dynamicLayer .progressbar_container {
    width: 100%;
    height: 48px;
    margin-bottom: 0.25em;
    border-bottom: 2px solid black;
    /*background-color:#004078;*/ }
.campaigncounter .dynamicLayer .progressbar {
    height: 100%;
    /*background-color: #80A0BC;*/
    text-align: right; }
.campaigncounter .dynamicLayer .progressbar .countervalue {
    display: block;
    margin-right: 10px;
    margin-left: 10px;
    padding-top: 10px;
    color: white; }


.tx-userdata .sharerButtons {display:flex;flex-wrap:wrap}
.tx-userdata .sharerButtons a.btn{min-width:235px}
.tx-userdata .sharer:hover {color:#fff!important;border:none;outline:none;}
.tx-userdata .sharer_facebook {background-color:#3b5998;}
.tx-userdata .sharer_facebook:hover {background-color:#3b5998E6;}
.tx-userdata .sharer_whatsapp {background-color:#3aaa34;}
.tx-userdata .sharer_whatsapp:hover {background-color:#3aaa34E6;}
.tx-userdata .sharer_bluesky {background-color:#0085ff;}
.tx-userdata .sharer_bluesky:hover {background-color:#0085ffE6;}
.tx-userdata .sharer_linkedin {background-color:#0073b1;}
.tx-userdata .sharer_linkedin:hover {background-color:#0073b1E6;}
.tx-userdata .sharer_email {background-color:#86bc26;}
.tx-userdata .sharer_email:hover {background-color:#9ec951;}
/*.tx-userdata .sharer_donate {background-color:#86bc26;font-size:1.5rem;padding:0.96rem 3rem;min-height:55px;}
.tx-userdata .sharer_donate:hover {background-color:#9ec951;}*/
.tx-userdata .sharer_exampletext {width:100%;min-height:200px;}
.form-fieldset {
    border: 0;
    width: 100%;
    max-width: 800px;
}
.form-fieldset-label {
    padding: 16px 0;
    font-size: 1.25em;
    font-weight: 600;
}
.form-row {
    display: flex;
}
.form-row > div {
    flex: 1 1 calc(50% - 10px);
    max-width: calc(50% - 10px);
    margin-right: 20px;
}
.form-row > div:last-child {
    margin-right: 0;
}
@media only screen and (max-width: 800px) {
    .form-row {
        flex-direction: column;
    }
    .form-row > div {
        flex: 1 1 100%;
        max-width: 100%;
        margin-right: 0;
    }
}
.form-group,
.btn-group {
    max-width: 100%;
    margin-bottom:1em;
    overflow:hidden;
}
.btn-group .previous{margin-right:24px;}

.form-group-show_company_name {
    margin-top: 1em;
}
.form-group-company_name {
    max-width: 100%;
    transition: max-width 400ms;
}
.form-group-company_name.hidden-by-sliding-left {
    max-width: 0;
}
label.form-check-label {
    width:100%;
}
.inputs-list .radio {
    overflow:hidden;
}
input[type="radio"] {
    margin-right:1em;
}

/* show labels as coloured buttons */
.show-labels-as-coloured-buttons {
    display: flex;
    flex-wrap: wrap;
}
.show-labels-as-coloured-buttons .form-check {
    margin-right: 8px;
    border-top: none;
}
.form-group-amount .show-labels-as-coloured-buttons .form-check {
    flex: 1 1 90px;
    max-width: 90px;
}
.show-labels-as-coloured-buttons .form-check-label {
    padding: 12px 16px 12px 16px;
    background-color: #094f9e;
    color: white;
    font-size: 18px;
    font-weight: 700;
    text-align: center;
    line-height: 1;
    letter-spacing: .5px;
    cursor: pointer;
}
.show-labels-as-coloured-buttons .form-check-label:has(input:checked) {
    background-color:#F45E5E;
    color:white;
}
.show-labels-as-coloured-buttons .form-check-label input[type="radio"] {
    position: absolute;
    z-index: -10;
    visibility: hidden;
}
.form-group-amount .form-check.contains-input-field {
    flex:1 1 166px;
    max-width:166px;
}
.form-check.contains-input-field .input-group {
    display: flex;
}
.form-check.contains-input-field input[type="number"] {
    padding-top: 12px;
    padding-bottom: 11px;
    padding-left: 20px;
}
.show-labels-as-coloured-buttons .form-check.contains-input-field {
    position: relative;
}
.show-labels-as-coloured-buttons .form-check.contains-input-field input[type="number"] {
    background-color: transparent;
    border: none;
    box-shadow: none;
    color:white;
    font-weight: 600;
}
.show-labels-as-coloured-buttons .form-check.contains-input-field input[type="number"]::placeholder {
    color: white;
    font-weight: 600;
    text-align: left;
}
.show-labels-as-coloured-buttons .form-check.contains-input-field .form-check-label {
    padding: 0;
    background-color: #094f9e;
}
.show-labels-as-coloured-buttons .form-check.contains-input-field .form-check-label:has(input:checked) {
    background-color: #f95050;
    color: white;
}
.show-labels-as-coloured-buttons .form-check.contains-input-field .input-group-addon {
    position: absolute;
    top: 0;
    right: -16px;
    padding: 11px 0 0 2px;
    border: none;
    background-color: transparent;
    color: #202020;
    font-size: 18px;
    font-weight: 600;
}

/* progress bar */
.progress {
    height: 44px;
    margin-bottom: 0;
    border: unset;
    border-radius: unset;
    box-shadow: unset;
    background-color: #ccc;
    overflow: hidden;
}
.progress-bar {
    height: 100%;
    padding-top: 5px;
    color: #fff;
    font-size: 12px;
    line-height: 20px;
    text-align: center;
    overflow: hidden;
    transition: width 1s ease;
}
.progress-bar span {
    font-size: 20px;
    line-height: 30px;
}
.donation-goal p {
    margin-bottom: 0;
}

.finisher-confirmation-message {
    width: 100%;
    max-width: 800px;
    margin-left: auto;
    margin-right: auto;
    padding: 20px;
}

.toggle-next-fieldset {
    cursor: pointer;
    color: #8da700;
}

.inpersoneventform > h2 {
    visibility: hidden;
    height: 0;
}

.orderform-veto .form-group-amountstatictext {
    padding-top: 18px;
}
.orderform-veto .form-group-amountstatictext p {
    line-height: 1.4;
}

/* ── Spendenformular: Zwei-Klick-Einwilligung ─────────────────────────────────
   Markup baut .../custom_forms/Resources/Public/JavaScript/donateActivate.js,
   eingehängt in .../Resources/Private/Templates/Fundraisingbox/Donationform.html.

   ⚠️⚠️ DIE WERTE SIND ABSICHTLICH DIESELBEN wie bei den beiden Geschwistern —
   wer hier etwas ändert, ändert es dort mit, sonst laufen die drei Flächen
   auseinander:
     Karte: .../md_events/Resources/Public/Css/listMap.css        (.map-activate)
     Video: .../custom_md2022/Resources/Public/Css/styles-plugins.css
            .../custom_sprezu/Resources/Public/Css/styles.css     (.video-shariff-preview-*)
   Gemeinsam sind: Symbol 3rem, Lücke 0.625rem, Anbieterband 0.8125rem/700,
   Hinweisband max 32rem mit 1rem Abstand und 0.625rem/1rem Innenabstand,
   Kopfzeile 1.125rem, Hinweis fett mit 0.25rem Abstand, Schleier weiß 0.2.

   Diese Datei liegt über page.includeCSS.custom_forms ohnehin auf jeder Seite
   jeder Site — deshalb steht der Block hier und nicht doppelt in den
   Sitepackages. Der Cache-Buster ist die mtime, hier gibt es also NICHTS von
   Hand hochzuzählen (anders als bei der JS-Datei und bei md_events).           */

/* ── Stellschrauben: das Einzige, was eine Site überschreiben sollte ── */
.donate-embed {
    /* f3d1 = money-bill-1, ausgewählt vom User am 10.8.2026.
       ⚠️ Die Glyphe gibt es in FA 6.2.1 Free in ZWEI Schnitten: solid (900,
       gefüllter Schein) und regular (400, nur Umriss). Die Sites binden aber nur
       fontawesome + solid + brands ein — regular.min.css liegt nirgends.
       ⚠️⚠️ Das fällt NICHT auf: gemessen am 10.8.2026 (Chrome 151, örtlicher
       Prüfstand) ergibt font-weight:400 exakt dieselben Maße wie 900. Weil die
       Familie nur einen Schnitt hat, nimmt der CSS-Schriftabgleich ihn auch für
       400 — es bleibt also kein leeres Kästchen stehen, sondern still die SOLIDE
       Form. Wer den Umriss wirklich will, muss regular.min.css einbinden; die
       900 steht hier ausgeschrieben, damit niemand die 400 für den Umriss hält.
       Nachgesehen in .../custom_md2022/…/fontawesome-free-6.2.1-web/metadata/icons.json
       und in den includeCSS-Zweigen beider Sitepackages. */
    --donate-icon: "\f3d1";
    --donate-icon-weight: 900;
    --donate-host: "FundraisingBox (secure.fundraisingbox.com)";
    /* --color-red ist nur in custom_sprezu gesetzt (#ff6157); überall sonst
       greift der Rückfallwert, das MD-Dunkelblau. Genau wie bei der Karte. */
    --donate-icon-color: var(--color-red, #003567);
    --donate-surface-bg: #e9edf1;
    --donate-band-bg: #1271ee;   /* deckend — weiß darauf ergibt 4,54:1 */
    /* Rückmeldung beim Zeigen, derselbe Sprung wie bei den Buttons der Site
       (styles-defaultscreen.css:833/866), beim Video (--video-band-bg-hover) und
       auf der Karte (--map-band-bg-hover). ⚠️ Weiß darauf sind nur noch 3,15:1
       statt 4,54:1 — bewusste Entscheidung des Users am 12.8.2026 zugunsten der
       Einheitlichkeit. Wer sie zurücknimmt, nimmt sie an allen vier Stellen zurück. */
    --donate-band-bg-hover: #2e92ff;
    --donate-band-color: #ffffff;
    --donate-band-radius: 0;     /* mehr-demokratie.de ist eckig */
    /* ⚠️⚠️ EIGENE Stellschraube, NICHT --donate-icon-color mitbenutzen. Die Symbolfarbe
       darf hell sein: sprezu setzt dort sein Rot, und das ergibt als Fokusring auf
       creme nur 2,79:1 — unter den 3:1, die ein Fokusindikator braucht. Gekoppelt
       würde sprezu still schlechter, während md (dunkelblau, 10,5:1 auf der Fläche)
       gut aussieht. Am 12.8.2026 gerechnet. */
    --donate-focus-ring: var(--color-blue, #003567);
    /* Platzhalterhöhe. Das fertige Formular ist höher und wächst per fbResize
       selbst; hier geht es nur darum, dass die Fläche vor dem Klick nicht wie ein
       vergessener Streifen aussieht. Eine Zeile, wenn sie jemand anpassen will. */
    --donate-min-height: 25rem;

    position: relative;
}

.donate-embed .donate-activate {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    min-height: var(--donate-min-height);
    padding: 0;
    border: 0;
    overflow: hidden;
    cursor: pointer;
    background: var(--donate-surface-bg);
    font: inherit;          /* nimmt eventuelle button-Regeln der Site zurück */
    color: inherit;
    text-align: center;
}
.donate-embed .donate-activate--busy { cursor: progress; }
.donate-embed .donate-activate--error { cursor: pointer; }

/* ⚠️ KEINE Vorschau — hier fehlt absichtlich das Gegenstück zu .map-activate__preview
   (Kartenpunkte) und zum Standbild des Videos. Angedeutete Formularzeilen waren
   gebaut und am 10.8.2026 vom User abgelehnt: „keine vertikalen balken im
   Hintergrund bitte". Die Fläche bleibt einfarbig; wer die Symmetrie zu den
   Geschwistern „repariert", baut genau das zurück, was weg sollte.
   Der Schleier bleibt: er trägt den Aufhell-Wechsel beim Überfahren. */
.donate-embed .donate-activate__overlay {
    position: absolute;
    inset: 0;
    background: rgba(255, 255, 255, 0.2);
    transition: background 0.4s cubic-bezier(0.165, 0.84, 0.44, 1);
}
.donate-embed .donate-activate:hover .donate-activate__overlay,
.donate-embed .donate-activate:focus .donate-activate__overlay { background: transparent; }

.donate-embed .donate-activate__group {
    position: relative;
    z-index: 1;
    display: block;
    width: 100%;
    padding: 0 1rem;
}
.donate-embed .donate-activate__icon {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 0.625rem;
    margin: 0 auto;
    color: var(--donate-icon-color);
    font: inherit;
}
.donate-embed .donate-activate__icon::before {
    content: var(--donate-icon);
    font-family: 'Font Awesome 6 Free';
    font-weight: var(--donate-icon-weight);
    font-style: normal;
    font-size: 3rem;
    line-height: 1;
}
/* Ziel des Klicks im Klartext neben dem Symbol, eigener deckender Grund wie beim
   Video. ⚠️ Für Vorlesesoftware ist per CSS erzeugter Text zweite Wahl — der
   lange Hinweis im Band darunter ist echtes Markup und trägt die Aussage allein. */
.donate-embed .donate-activate__icon::after {
    content: var(--donate-host);
    padding: 0.25rem 0.5rem;
    border-radius: var(--donate-band-radius);
    background: var(--donate-band-bg);
    color: var(--donate-band-color);
    font-size: 0.8125rem;
    font-weight: 700;
    line-height: 1.3;
}
.donate-embed .donate-activate__text {
    display: block;
    max-width: 32rem;
    margin: 1rem auto 0;
    padding: 0.625rem 1rem;
    border-radius: var(--donate-band-radius);
    background: var(--donate-band-bg);
    color: var(--donate-band-color);
    font-size: 0.9375rem;
    line-height: 1.45;
}
.donate-embed .donate-activate__title {
    display: block;
    font-weight: 700;
    font-size: 1.125rem;
    line-height: 1.3;
}
.donate-embed .donate-activate__hint {
    display: block;
    margin-top: 0.25rem;
    font-weight: 700;
}
/* Rückmeldung an den BÄNDERN — dieselbe wie beim Video und auf der Karte.
   ⚠️⚠️ WARUM NICHT DER SCHLEIER REICHT: die Fläche hat hier bewusst KEINE Vorschau
   (siehe Kasten oben), der Schleier liegt also auf glattem --donate-surface-bg.
   Nachgerechnet am 12.8.2026: 20 % Weiß auf #e9edf1 ergibt #edf1f4 — eine Differenz
   von 4/4/3 Stufen von 255. Der Schleier-Hover ist hier also nicht schwach, sondern
   praktisch nicht vorhanden. Auf der Karte lag wenigstens noch ein Bild darunter.
   Der Schleier bleibt trotzdem: er kostet nichts und trägt, sobald jemand der Fläche
   doch einmal einen Hintergrund gibt. */
.donate-embed .donate-activate__text,
.donate-embed .donate-activate__icon::after { transition: background-color 120ms ease-in-out; }
.donate-embed .donate-activate:hover .donate-activate__text,
.donate-embed .donate-activate:hover .donate-activate__icon::after,
.donate-embed .donate-activate:focus-visible .donate-activate__text,
.donate-embed .donate-activate:focus-visible .donate-activate__icon::after { background: var(--donate-band-bg-hover); }
/* ⚠️⚠️ DUNKEL, NICHT HELL. Bis zum 12.8.2026 stand hier var(--color-light, #fbf8f4),
   also nahezu Weiß — auf --donate-surface-bg (#e9edf1) unsichtbar, der Knopf mit der
   Tastatur damit nicht auffindbar. Dieselbe Stelle war bei Video und Karte genauso
   falsch; alle drei sind am 12.8.2026 zusammen umgestellt worden. */
.donate-embed .donate-activate:focus-visible {
    outline: 0.1875rem solid var(--donate-focus-ring);
    outline-offset: -0.3125rem;
}
/**
 * ============================================================================
 *  EXPRESSFORMULAR 2026 -- Angleichung an das Spendenformular
 * ----------------------------------------------------------------------------
 *  Gilt fuer das Bauteil <frb-donation-form> der "Donation Form Suite" von
 *  FundraisingBox, eingebettet auf /spenden/expressspende
 *  (Formular-UUID 01a020d0-d801-7182-81c2-0909da413e66).
 *
 *  ⚠️⚠️ DAS IST NICHT DAS KLASSISCHE FORMULAR.
 *  /spenden/dauerspende laedt ein iframe von secure.fundraisingbox.com und
 *  wird von
 *      /home/timeras/PhpstormProjects/MehrDemokratie/typo3conf/ext/
 *      custom_forms/Resources/Public/Css/FundraisingBox/fundraisingbox-2026.css
 *  gestaltet. Diese Datei hier ist ein anderes Produkt: eine Web-Component
 *  mit eigenem Shadow DOM, die direkt in unserer Seite steckt. Von den
 *  118 --fb-*-Variablen des klassischen Formulars existiert hier KEINE
 *  einzige, und keiner seiner Selektoren trifft. Die beiden Dateien haben
 *  nichts gemeinsam ausser den Hausfarben.
 *
 *  ⚠️⚠️ WARUM ALLES !important IST -- und warum das hier kein Notnagel ist.
 *  Das Bauteil erzeugt seine Farb- und Radienwerte aus der Backend-Einstellung
 *  (designTokens: brandColorPrimary / brandColorSecondary / borderRadius) und
 *  schreibt sie per style.setProperty als INLINE-Deklaration auf den Wirt.
 *  Eine geerbte Custom Property verliert dagegen immer. Am 20.8.2026 gemessen:
 *  ohne !important kommt NICHTS an (Sonde --spacing:10px -> Hoehe blieb exakt
 *  625 px), mit !important schlaegt jedes Token durch (Sonde
 *  --color-background-default:#c8ffc8 -> Felder wurden gruen).
 *
 *  ⚠️ Was NICHT geht, damit niemand danach sucht:
 *  - ::part() -- das Bauteil vergibt 0 part-Attribute (in form.js gezaehlt).
 *  - Regeln fuer Elemente IM Formular -- der Shadow Root ist mode:"closed",
 *    von aussen kommt man weder per CSS-Selektor noch per JavaScript hinein.
 *  - eigene Elemente einschleusen -- der einzige <slot> traegt einen
 *    generierten Namen und hat einen Testabsatz nicht uebernommen.
 *  Es bleiben also ausschliesslich vererbte Custom Properties. Alles, was
 *  unten NICHT als Variable auftaucht, ist von hier aus nicht erreichbar.
 *
 *  Die Sollwerte stammen aus dem Spendenformular, nicht aus dem Gefuehl:
 *      .choice  min-height 40px, font-size 1rem, font-weight 600
 *      --md-abstand 1.25rem als EINZIGER Abstandswert
 *      Eingabefelder weiss mit #c9ced6, Text #606060
 *      Fokus 2px --md-blau-dunkel
 * ============================================================================
 */

frb-donation-form {

    /* ---- Hausfarben --------------------------------------------------------
     * Quelle ist der :root-Block am Ende von fundraisingbox-2026.css, dort
     * gemessen an https://dev.mehrdemokratie.de/testseite-farben.
     * Jede Farbe hat ihren eigenen Hover-Ton; die gehoeren zusammen benutzt. */
    --md-blau:            #1271ee;
    --md-blau-hover:      #2e92ff;
    --md-blau-dunkel:     #094f9e;
    --md-blau-dunkel-hov: #3a72b1;
    --md-rot:             #f45e5e;
    --md-rot-hover:       #f67e7e;
    --md-text:            #606060;
    --md-rahmen:          #c9ced6;
    --md-hintergrund:     #003567;

    /* Der EINE Abstandswert, wie im Spendenformular. Wer die Dichte aendern
       will, aendert nur diese Zeile. */
    --md-abstand:         1.25rem;

    /* ---- Betragsknoepfe und Rhythmus-Umschalter ----------------------------
     * Im Vorbild sind ALLE Betragsknoepfe dunkelblau gefuellt und nur der
     * gewaehlte rot. Die Vorgabe hier war umgekehrt: weiss mit Rahmen, der
     * gewaehlte blau.
     *
     * ⚠️ Die Tokens sind an den Elementen gemessen, nicht geraten:
     *      nicht gewaehlt  Grund  --color-interactive-secondary-outlined-background
     *                      Rahmen --color-border-default
     *                      Schrift--color-interactive-neutral-outlined-text
     *      gewaehlt        Grund  --color-interactive-secondary-solid-background-selected
     *                      Rahmen --color-interactive-secondary-solid-border-selected
     *                      Schrift--color-interactive-secondary-solid-text-selected
     *
     * ⚠️⚠️ Rhythmus-Umschalter und Betragsknoepfe TEILEN SICH die Tokens des
     * gewaehlten Zustands. "Einmalig/Monatlich" rot und der gewaehlte Betrag
     * rot ist deshalb keine Entscheidung, sondern eine Folge: getrennt
     * einfaerben liesse sich nur mit einem Selektor IM Shadow-Baum, und den
     * gibt es nicht. Wer den Rhythmus blau haben will, bekommt auch den
     * gewaehlten Betrag blau. */
    --color-interactive-secondary-outlined-background:       var(--md-blau-dunkel) !important;
    --color-border-default:                                  var(--md-blau-dunkel) !important;
    --color-interactive-neutral-outlined-text:               #fff                  !important;
    /* ⚠️ GETEILT mit "Zu weiteren Zahlungsarten" -- und genau deshalb ist der
       Knopf unten dunkelblau. Vorgeschichte, damit niemand rueckbaut:
       Beide Elemente tragen hover:bg-interactive-neutral-outlined-background-hover,
       ein spezifischeres Token gibt es nicht (beide Klassenlisten vollstaendig
       durchgesehen, 21 bzw. 28 Klassen). Solange der Link ein heller Textlink
       war, hiess das: entweder #3a72b1 (Kacheln richtig, Link bekommt einen
       blauen Kasten) oder transparent (Link richtig, Kacheln springen auf den
       Formulargrund und wirken fast weiss).
       ⚠️ Ein halbtransparentes Weiss loest es NICHT -- rgba(255,255,255,.2)
       ist rechnerisch exakt #3a72b1 ueber #094f9e, aber background-color wird
       ERSETZT, nicht ueberlagert: gemessen mischte sich die Kachel mit dem
       Formulargrund und wurde fast weiss.
       Ausweg war, den Link ebenfalls dunkelblau zu machen (s. unten) -- dann
       WOLLEN beide dieselbe Ueberfahren-Farbe, und der Konflikt ist keiner
       mehr. */
    --color-interactive-neutral-outlined-background-hover:   var(--md-blau-dunkel-hov) !important;
    --color-interactive-secondary-solid-background-selected: var(--md-rot)         !important;
    --color-interactive-secondary-solid-border-selected:     var(--md-rot)         !important;
    --color-interactive-secondary-solid-text-selected:       #fff                  !important;

    /* ⚠️ Der GEWAEHLTE Zustand hat einen eigenen Ueberfahren-Ton, und dessen
       Vorgabe ist BLAU -- gemeldet am 21.8.2026 als "das hover blau passt
       nicht" am roten Freibetragsfeld. Betrifft genauso den gewaehlten
       Betragsknopf und den gewaehlten Rhythmus.
       #f67e7e ist --md-rot-hover aus der Palette: die Vorlage nennt zu jeder
       Farbe ihren Hover-Ton, und beim Rot ist er HELLER, nicht dunkler.
       ⚠️ Diese Tokens waren von aussen nicht auffindbar -- die zugehoerige
       Regel steht im Stilblatt des Shadow-Baums, und das laesst sich nur in
       den Entwicklerwerkzeugen lesen. Der Name kam vom Nutzer:
       .hover\:bg-interactive-secondary-solid-background-selected-hover\!:hover
       Die Utility traegt selbst !important; unser Wert setzt sich trotzdem
       durch, weil er nur die VARIABLE belegt, die sie ausliest. */
    --color-interactive-secondary-solid-background-selected-hover: var(--md-rot-hover) !important;
    --color-interactive-secondary-solid-border-selected-hover:     var(--md-rot-hover) !important;
    --color-interactive-secondary-solid-text-selected-hover:       #fff                !important;

    /* Die Schiene hinter dem Umschalter stand auf #e3e8ef (hellgrau). Auf
       hellgrauem Grund waere die jetzt weisse Schrift unlesbar -- die Schiene
       muss also mitwandern. Das ist dieselbe Falle wie im Spendenformular:
       wer eine Variable umwidmet, muss jede daran haengende Eigenschaft
       nachziehen. */
    --segmented-control-background: var(--md-blau-dunkel) !important;

    /* ---- Masse der Betragsknoepfe ------------------------------------------
     * Ziel sind die 40 px des Vorbilds (.choice { min-height: 40px }).
     * Rechnung: Zeile 1.5 x 16 px = 24 px, zwei Rahmen à 1 px = 2 px,
     * bleiben 14 px fuer oben und unten -> 7 px = 0.4375rem.
     *
     * ⚠️ Auf Desktop setzt das Bauteil mit md:p-(--toggle-button-padding-x)
     * ALLE VIER Seiten aus der X-Variablen. Der Wert ist deshalb zugleich der
     * seitliche Innenabstand -- das faellt nicht auf, weil die Knoepfe im
     * Raster ohnehin gleich breit sind. */
    --toggle-button-padding-x:        0.4375rem !important;
    --toggle-button-padding-y-mobile: 0.4375rem !important;
    --toggle-button-font-size:        1rem      !important;
    --toggle-button-line-height:      1.5       !important;
    --toggle-button-gap:              0.625rem  !important;

    /* ⚠️ 700, nicht 600. Nachgelesen in der Vorlage statt geschaetzt:
       .choice .amount { font-weight: 700 } -- 600 ist dort die Schrift der
       WEITER-Knoepfe (--fb-button-font-weight), nicht die der Betragskacheln.
       Ich hatte zuerst 600 gesetzt. */
    --toggle-button-font-weight:      700       !important;

    /* ⚠️ Auf schmalen Fenstern (unter 768 px) nimmt die Beschriftung NICHT
       --toggle-button-font-size, sondern --paragraph-font-size-lg (1.25em).
       Ohne diese Zeile waren die Knoepfe dort 46 px hoch und 20 px gross,
       auf Desktop dagegen 40/16 -- derselbe Knopf in zwei Groessen.
       Geprueft, wer das Token sonst noch benutzt: NUR diese drei
       Beschriftungen. Sollte spaeter eine Meldung oder ein neuer Textblock
       damit gestaltet werden, ist diese Zeile erneut zu pruefen. */
    --paragraph-font-size-lg:         1rem      !important;

    /* ---- Rhythmus-Umschalter, Masse ---------------------------------------- */
    --segmented-control-height:                40px     !important;
    --segmented-control-height-mobile:         40px     !important;
    --segmented-control-font-size:             1rem     !important;
    --segmented-control-font-size-mobile:      1rem     !important;
    --segmented-control-font-weight:           700      !important;

    /* ⚠️⚠️ Die Luecke zwischen "Einmalig" und "Monatlich" bleibt bewusst 0.
       Eine Luecke laesst sich zwar setzen (10 px waren eingebaut und
       geometrisch nachgemessen), sie ist aber UNSICHTBAR: der nicht gewaehlte
       Eintrag hat gar keinen eigenen Grund (gemessen: rgba(0,0,0,0)) -- das
       Dunkelblau kommt von der durchgehenden Schiene, die auch unter der
       Luecke durchlaeuft. Sichtbar wuerde sie nur mit heller Schiene, und die
       verlangt dunkle Schrift; dasselbe Textfarb-Token gilt aber auch fuer die
       Betragskacheln, die dann ebenfalls hell werden muessten. Am 20.8.2026
       vorgelegt und so entschieden: dunkel bleiben, ohne sichtbare Luecke. */
    --segmented-control-gap:                   0        !important;
    --segmented-control-line-height:           1.5      !important;
    --segmented-control-line-height-mobile:    1.5      !important;
    --segmented-control-item-padding-x:        0.75rem  !important;
    --segmented-control-item-padding-y:        0.25rem  !important;
    --segmented-control-item-padding-y-mobile: 0.25rem  !important;

    /* ---- Betragsfeld -------------------------------------------------------
     * Im Vorbild ist das Freibetragsfeld ein normales Eingabefeld: weiss,
     * grauer Rahmen, Text in --md-text. Hier war es 72 px hoch mit einer
     * 28 px grossen, halbfetten Zahl. */
    --input-amount-height:                   40px     !important;
    --input-amount-height-mobile:            40px     !important;
    --input-amount-content-padding-y:        0.25rem  !important;
    --input-amount-content-padding-y-mobile: 0.25rem  !important;
    --input-amount-content-padding-x:        0.75rem  !important;
    --input-amount-currency-font-size:        1rem    !important;
    --input-amount-currency-font-size-mobile: 1rem    !important;

    /* ⚠️ NAMENSFALLE, am 20.8.2026 durchgemessen: die Schrift im Feld haengt
       an --input-amount-placeholder-*, NICHT an --input-number-*, obwohl der
       zweite Name danach klingt. Kontrollmessung: Platzhalter-Token auf 900
       -> Feld wurde 900; --input-number-font-weight auf 900 -> Feld blieb 400.
       Die --input-number-*-Zeilen sind deshalb bewusst NICHT gesetzt.

       700 ist der Wert der Vorlage: .input-custom-amount { font-weight: 700 }.
       ⚠️ Dort ist nur der EINGEGEBENE Wert 700, der Platzhalter 400 -- hier
       haengen beide am selben Token, trennen laesst sich das nicht. 700
       gewinnt, weil im Normalfall ein Betrag vorbelegt ist und der Platzhalter
       gar nicht zu sehen. */
    --input-amount-placeholder-font-size:        1rem !important;
    --input-amount-placeholder-font-size-mobile: 1rem !important;
    --input-amount-placeholder-font-weight:      700  !important;

    /* Eigene Tokens des Feldes -- beruehren die Knoepfe nicht (geprueft:
       das Feld nutzt --color-form-control-*, die Knoepfe --color-border-default).
       Weiss, nicht der Formulargrund #f8fafc: die Vorlage hat
       .choice.choice-custom { background-color: #fff }. */
    --color-form-control-background: #fff             !important;
    --color-form-control-border:     var(--md-rahmen) !important;
    --color-form-control-text:       var(--md-text)   !important;

    /* Das Feld hat EIGENE Ueberfahren-Tokens -- unabhaengig von allem anderen,
       am Element abgelesen (hover:bg-form-control-background-hover,
       hover:text-form-control-text-hover, hover:border-form-control-border-hover).
       Voreingestellt war ein fremdes Blau als FLAECHE; gemeldet als "komisches
       Blau".
       ⚠️ Zweiter Anlauf: ich hatte den Rahmen auf Hausblau gesetzt -- damit war
       der Wechsel zwar in Hausfarbe, aber es gab ihn weiterhin ("Hover ist
       immer noch gleich"). Die Vorlage laesst das Freibetragsfeld beim
       Ueberfahren UNVERAENDERT; nur die blauen Kacheln hellen auf.
       Alle drei Werte stehen deshalb auf dem Normalzustand: kein Hover. */
    --color-form-control-background-hover: #fff              !important;
    --color-form-control-text-hover:       var(--md-text)    !important;
    --color-form-control-border-hover:     var(--md-rahmen)  !important;

    /* ⚠️ Die Platzhalterfarbe wird NICHT gesetzt: die Vorgabe des Bauteils ist
       bereits #9199a5 -- exakt der Wert der Vorlage
       (.choice.choice-custom input::placeholder { color: #9199a5 }).
       Nachgemessen mit Positivkontrolle: --color-form-control-placeholder auf
       Magenta schlaegt durch, drei Kontrolltokens nicht. Eine Zeile, die den
       vorhandenen Wert wiederholt, waere nur Ballast. */

    /* ---- Fliesstext und Ankreuzfeld ----------------------------------------
     * Die Belegung von --color-text-subtle steht weiter unten, zusammen mit
     * der Begruendung -- hier stand sie frueher doppelt.
     *
     * Kaestchengroesse wie in der Vorlage: --fb-checkbox-size: 1rem = 16 px
       (hier waren 20 px voreingestellt), Rahmen 1 px, Radius 0.
     *
     * ⚠️⚠️ WAS HIER NICHT GEHT, und warum es beim naechsten Blick auffaellt:
     * die Vorlage will VIER verschiedene Farben --
     *     Rahmen unangekreuzt  #e5e7eb (sehr hell)
     *     Fuellung angekreuzt  #1271ee (Hausblau, --fb-primary)
     *     Beschriftung         #606060
     *     Hinweis darunter     #606060
     * Hier speist ALLE VIER dasselbe Token --color-text-subtle: das Kaestchen
     * traegt text-text-subtle / border-text-subtle / ring-text-subtle, und die
     * Regel des Bauteils lautet
     *     input[type=checkbox]:checked { background-color: currentColor }
     * -- die Fuellung IST also die Textfarbe. Ein eigenes Farb-Token fuer das
     * Kaestchen gibt es in der ganzen --checkbox-Gruppe nicht (7 Variablen,
     * alle nur Masse). Getrennt einfaerben ginge nur mit einem Selektor im
     * Shadow-Baum.
     * ⚠️⚠️ AM 21.8.2026 ZWEIMAL ENTSCHIEDEN -- Endstand ist #606060.
     * Erst wurde Hausblau gewaehlt (Kaestchen hat Vorrang), am gebauten
     * Ergebnis dann verworfen: mit Blau werden Beschriftung ("Ich moechte den
     * Newsletter erhalten") UND der Hinweis darunter ("Name & E-Mail werden an
     * die Organisation uebermittelt") ebenfalls blau, und blauer Fliesstext
     * liest sich wie ein Link, obwohl beide Zeilen keiner sind.
     * Jetzt also: Texte auf dem Vorlagenwert #606060, das Kaestchen grau
     * statt hausblau. Blau kostet die beiden Texte -- das ist der ganze
     * Handel, eine Zeile in jede Richtung.
     * ⚠️ Beim Pruefen NICHT nach dem Bildschirmfoto urteilen: im komprimierten
     * Ausschnitt sah die Beschriftung dunkel aus, gemessen war sie blau. */
    --color-text-subtle: var(--md-text) !important;

    --checkbox-control-size: 1rem !important;
    --checkbox-border-width: 1px  !important;

    /* ---- Knoepfe ("Zu weiteren Zahlungsarten") ------------------------------
     * Masse wie --fb-button-padding im Spendenformular. Der PayPal-Knopf ist
     * eine Grafik des Anbieters und bleibt davon unberuehrt. */
    --button-padding-x:          1.5rem  !important;
    --button-padding-y:          0.55rem !important;
    --button-medium-font-size:   1rem    !important;
    --button-medium-line-height: 1.5     !important;

    /* "Zu weiteren Zahlungsarten" als dunkelblauer Knopf im selben Ton wie die
       Betragskacheln -- entschieden am 20.8.2026, nachdem der Hover-Konflikt
       (s. oben) sich mit Tokens nicht aufloesen liess.
       ⚠️ Der GRUND-Token gehoert ihm allein (die Kacheln nehmen
       --color-interactive-secondary-outlined-background), nur der Hover ist
       geteilt. Beide auf denselben Ton zu stellen macht die Teilung harmlos.
       ⚠️ Der Name des Textfarb-Tokens ist irrefuehrend: -text-focus ist der
       NORMALZUSTAND (am Element nachgelesen), nicht der Fokuszustand.
       ⚠️ Die Unterstreichung bleibt -- sie kommt aus einer Utility-Klasse am
       Element und ist ohne Selektor im Shadow-Baum nicht abzuschalten. */
    --color-interactive-neutral-outlined-background: var(--md-blau-dunkel) !important;
    --color-interactive-neutral-outlined-text-focus: #fff                  !important;
    --color-interactive-neutral-outlined-text-hover: #fff                  !important;

    /* ---- Abstaende ---------------------------------------------------------
     * Alle drei auf denselben Wert, wie im Spendenformular. Gemessen ergibt
     * das 20 px zwischen Umschalter und Knoepfen UND zwischen Knoepfen und
     * Feld -- vorher waren es zwei verschiedene Werte. */
    --container-gap:            var(--md-abstand) !important;
    --fieldset-gap:             var(--md-abstand) !important;
    --input-amount-section-gap: var(--md-abstand) !important;

    /* ---- Fokus -------------------------------------------------------------
     * Das Spendenformular hat dafuer EINE Sammelregel am Dateiende (2px
     * --md-blau-dunkel). Hier gibt es keine Selektoren, also drei Tokens.
     * Mit Positivkontrolle geprueft: Token auf Magenta -> Ring wurde magenta,
     * also zeigt der blaue Ring tatsaechlich unseren Wert und nicht die
     * Vorgabe des Anbieters. */
    --color-form-control-focus-outline:           var(--md-blau-dunkel) !important;
    --color-interactive-focus-outline:            var(--md-blau-dunkel) !important;
    --color-interactive-secondary-focus-outline:  var(--md-blau-dunkel) !important;

    /* ⚠️⚠️ Der Fokusring ist KEIN outline, sondern ein ::after-Rechteck.
       Am Markup nachgelesen, nachdem zwei Linien stehen blieben:
           has-focus-visible:outline-0!                     <- outline wird
                                                               ausdruecklich
                                                               abgeschaltet
           has-focus-visible:after:absolute
           has-focus-visible:after:-inset-(--input-amount-outline-offset)
           has-focus-visible:after:border-(length:--input-amount-outline-width)
           has-focus-visible:after:border-form-control-focus-outline

       Entscheidend ist das MINUS in -inset-(...): der gesetzte Wert wird
       negiert. Die Vorgabe war calc(.0625em + .125em + .125em) = 5px, also
       inset:-5px -> ein abgesetzter Ring mit Luft. Mein erster Versuch mit
       -2px ergab inset:+2px -> der Ring rutschte NACH INNEN und stand als
       zweite Linie neben dem grauen 1px-Rahmen. Genau die zwei Linien.

       Richtig ist +1px: inset:-1px legt das Rechteck exakt ueber den 1px
       breiten Rahmen des Feldes, seine 2px-Kante deckt ihn vollstaendig ab.
       Ergebnis: EINE Linie, wie in der Vorlage.

       ⚠️ --input-outline-offset / --input-outline-width sind hier tot: sie
       speisen has-focus-visible:outline-*, und das outline wird eine Zeile
       weiter mit outline-0! abgeschaltet. Deshalb NICHT gesetzt. */
    --input-amount-outline-offset: 1px !important;
    --input-amount-outline-radius: 0   !important;
    --input-amount-outline-width:  2px !important;

    /* ---- Meldungsbaender ---------------------------------------------------
     * Das Bauteil kennt zwei Typen, am Quelltext abgelesen:
     *     type INFO   -> "Ihre Spende wurde abgebrochen"  (Vorgabe hellblau)
     *     type ERROR  -> "Zahlungsfehler"                 (Vorgabe hellrot)
     * Die Vorlage faerbt beide gleich:
     *     .alert-error, .error-banner { background: #ff7300; color: #fff }
     *
     * Je Typ drei Tokens, einzeln mit Positivkontrolle bestimmt:
     *     --color-<typ>-light           die Flaeche
     *     --color-<typ>                 Symbol und Ueberschrift
     *     --color-<typ>-light-contrast  der Fliesstext
     * ⚠️ Der Fliesstext haengt NICHT an --color-text-default -- das faerbt die
     * eingebaute Ueberschrift. Magenta-Probe darauf liess das Band unberuehrt.
     *
     * ⚠️ KONTRAST, aus der Vorlage uebernommen: weiss auf #ff7300 sind
     * 2,73:1 und verfehlen die 4,5:1. Der Nutzer hat sich am 19.8.2026 nach
     * Vorlage der Messung ausdruecklich fuer weisse Schrift entschieden; hier
     * gilt dieselbe Entscheidung, damit beide Formulare gleich aussehen.
     * Ab etwa #c25400 traegt Weiss wieder ueber 4,5:1.
     *
     * ⚠️⚠️ --color-error faerbt NICHT nur das Band. Die vier Zeilen darunter
     * sind kein Beiwerk, sondern die Reparatur eines Fehlers, den nur ein
     * echter Test gezeigt hat: mit --color-error:#fff wurde auch die Meldung
     * UNTER dem Feld weiss -- "Dies ist ein Pflichtfeld." stand unsichtbar auf
     * weissem Grund. Ausgeloest habe ich den Fall ohne Absenden, indem ich das
     * Betragsfeld geleert habe.
     * Trennbar ist es, weil --color-interactive-error-text nur eine ABLEITUNG
     * von --color-error ist: setzt man es ausdruecklich, gewinnt es. Einzeln
     * mit Magenta belegt:
     *     --color-error                    Ueberschrift + Symbol im Band
     *     --color-interactive-error-text   die Meldung unter dem Feld
     *     --color-form-control-text-error  der Feldinhalt im Fehlerfall
     * ⚠️ #dc3545 statt --md-rot fuer die Meldung: exakt die Begruendung der
     * Vorlage -- #f45e5e schafft auf Weiss keine 4,5:1, #dc3545 mit 4,53:1
     * gerade so. Rahmen duerfen 3:1 und nehmen deshalb --md-rot. */
    --color-info-light:           #ff7300 !important;
    --color-info:                 #ffffff !important;
    --color-info-light-contrast:  #ffffff !important;
    --color-error-light:          #ff7300 !important;
    --color-error:                #ffffff !important;
    --color-error-light-contrast: #ffffff !important;

    /* ---- Eingebaute Ueberschrift -------------------------------------------
     * Schwarz wie das H1.title auf /spenden (dort rgb(0,0,0) gemessen).
     * ⚠️ Das ist alles, was an ihr erreichbar ist: Groesse (30 px statt 28),
     * Gewicht (500 statt 600) und die Zentrierung stehen fest im Bauteil
     * (.prose-lg h2 ohne Variable, text-center als Utility-Klasse).
     * ⚠️ Geprueft, dass dieses Token sonst nichts faerbt: einziger weiterer
     * Nutzer waere der Fliesstext im Meldungsband, und der folgt gemessen
     * --color-<typ>-light-contrast. Gegenprobe im Fehlerfall: Titel
     * rgb(0,0,0), Bandtext rgb(255,255,255). */
    --color-text-default: #000 !important;

    --color-interactive-error-text:      #dc3545         !important;
    --color-form-control-text-error:     var(--md-text)  !important;
    --color-form-control-border-error:   var(--md-rot)   !important;
    --color-form-control-background-error: #fff          !important;
}

/* ============================================================================
 *  EIGENE UEBERSCHRIFT UEBER DEM FORMULAR
 * ----------------------------------------------------------------------------
 *  ⚠️ Setzt voraus, dass im FundraisingBox-Backend der Titel ABGESCHALTET ist
 *  (in der Konfiguration: title.isActive). Sonst stehen zwei Ueberschriften
 *  untereinander.
 *
 *  Warum ueberhaupt eine eigene: die eingebaute laesst sich nicht angleichen.
 *  Das Bauteil rendert sie als <h2> in einem prose-Container, und dort steht
 *      .prose-lg h2 { font-size: 1.5em; font-weight: 500 }
 *  fest im Blatt -- ohne Variable, also von aussen nicht erreichbar. Die
 *  Zentrierung kommt aus der Utility-Klasse text-center am Elternelement und
 *  ist ebenso wenig zu ueberschreiben, weil kein Selektor in den Shadow-Baum
 *  reicht. Erreichbar waere allein die Farbe.
 *
 *  Die Werte sind am echten H1.title auf /spenden gemessen, nicht geschaetzt:
 *  28px / 600 / #000 / Source Sans Pro.
 * ============================================================================ */

/* ⚠️⚠️ DIESE Ueberschrift ist die gewollte -- 28 px / 600 / schwarz /
 * linksbuendig, gemessen am H1.title auf /spenden.
 *
 * Die eingebaute Ueberschrift des Bauteils (customWordings.title) muss dafuer
 * im FundraisingBox-Backend ABGESCHALTET werden: title.isActive. Solange sie
 * an ist, stehen zwei "Jetzt foerdern" untereinander.
 *
 * ⚠️ Ich hatte am 21.8.2026 zwischenzeitlich DIESE hier ausgeblendet und
 * stattdessen die eingebaute schwarz eingefaerbt -- das war die falsche von
 * beiden. Die eingebaute ist 30 px / Gewicht 500 / zentriert, und daran ist
 * von aussen nichts zu aendern: .prose-lg h2 setzt Groesse und Gewicht fest
 * ohne Variable, text-center ist eine Utility-Klasse am Elternelement.
 * Erreichbar waere allein die Farbe. Deshalb bleibt es beim Backend-Schalter.
 *
 * ⚠️ --color-text-default weiter oben faerbt genau jene eingebaute
 * Ueberschrift. Ist der Schalter aus, ist die Zeile wirkungslos -- sie stoert
 * nicht, macht aber auch nichts mehr. */
.md-express-kopf {
    /* ⚠️ margin 0 mit Nachdruck: die h2-Regel der Site setzt 16 px unten, und
       diese 16 px waren als dunkler Streifen zwischen Ueberschrift und
       Formular zu sehen -- genau die Naht, die nicht sichtbar sein soll.
       Der Innenabstand entspricht --container-padding des Bauteils (1.5em),
       damit die Ueberschrift auf derselben Flucht steht wie der Inhalt. */
    margin: 0 !important;
    padding: 1.5rem 1.5rem 0;
    background: #f8fafc;

    font-family: "Source Sans Pro", sans-serif;
    font-size: 1.75rem;      /* 28 px */
    font-weight: 600;
    line-height: 1.2;
    color: #000;
}

/* ============================================================================
 *  DATENSCHUTZHINWEIS UNTER DEM FORMULAR
 * ----------------------------------------------------------------------------
 *  Wortlaut und Link sind identisch mit dem Spendenformular (dort setzt
 *  mdDatenschutzhinweisSetzen() in fundraisingbox-2026.js denselben Satz
 *  ueber den Absende-Knopf).
 *
 *  ⚠️ Hier steht er UNTER dem Formular, nicht ueber dem PayPal-Knopf. Der
 *  Knopf liegt im geschlossenen Shadow-Baum; die Express-Vorlage kennt nur
 *  die Bausteine "amount" und "payment" und sechs feste Wordings, also gibt
 *  es auch im FundraisingBox-Backend kein Feld dafuer. Beides gemessen, nicht
 *  vermutet.
 *
 *  Damit keine Kante sichtbar wird, traegt der Absatz den Grund des Bauteils
 *  (--color-background-subtle = #f8fafc, im offenen Spiegelbaum ausgelesen)
 *  und dessen seitlichen Innenabstand (--container-padding = 1.5em).
 *
 *  ⚠️ Der Absatz gehoert in das TYPO3-Inhaltselement neben <frb-donation-form>,
 *  NICHT per JavaScript erzeugt: der Hinweis ist eine Pflichtangabe und darf
 *  nicht verschwinden, wenn ein Skript ausbleibt.
 * ============================================================================ */

.md-express-datenschutz {
    margin: 0;
    padding: 0 1.5rem 1.5rem;
    background: #f8fafc;
    color: #606060;
    font-size: 0.875rem;
    line-height: 1.4;

    /* Die Seite trennt lange Woerter automatisch. Ohne diese Zeile brach
       "Datenschutzerklärung" mitten im Link um ("Datenschutzer-klärung"). */
    hyphens: manual;
}

/* Wie auf der uebrigen Website: helles Hausblau, beim Ueberfahren dunkel.
   Andersherum -- dunkel als Normalzustand -- widerspricht der Gewohnheit auf
   mehr-demokratie.de.

   ⚠️ Hier stehen die Farben als Zahl, nicht als var(--md-blau): die
   Hausfarben sind oben am Bauteil <frb-donation-form> deklariert, und der
   Absatz ist dessen GESCHWISTER, erbt sie also nicht. Ein var(--md-blau)
   waere hier still auf den Rueckfallwert gelaufen -- sichtbar identisch,
   und beim naechsten Farbwechsel unbemerkt falsch. */
.md-express-datenschutz a {
    color: #1271ee;
    text-decoration: underline;
}

.md-express-datenschutz a:hover,
.md-express-datenschutz a:focus-visible {
    color: #003567;
}

.md-express-datenschutz a:focus-visible {
    outline: 2px solid #094f9e;
    outline-offset: 2px;
}


.magnificpopupgalery-container { display:flex; flex-wrap:wrap; justify-content:space-between; margin-bottom:2em; }
.magnificpopupgalery-container .galery-item a.magnificpopup { display:block; height:100%; line-height:0.6; }
.magnificpopupgalery-container .galery-item { flex:1 1 50%; margin-bottom:1em; }
.magnificpopupgalery-container figure:nth-child(odd) { padding-right:0.5em; }
.magnificpopupgalery-container figure:nth-child(even) { padding-left:0.5em; }

.magnificpopupgalery-container[data-preview="1"] figure.galery-item { flex:1 1 100%; margin-bottom:0; }

.magnificpopupgalery-container[data-preview="2"] figure.galery-item { margin-bottom:0; }

.magnificpopupgalery-container[data-preview="3"] figure.galery-item { flex:1 1 33.3%; }
.magnificpopupgalery-container[data-preview="3"] figure:nth-child(3n-2) { padding-right:0.66em; }
.magnificpopupgalery-container[data-preview="3"] figure:nth-child(3n-1) { padding-left:0.33em; padding-right:0.33em; }
.magnificpopupgalery-container[data-preview="3"] figure:nth-child(3n) { padding-left:0.66em; }

.magnificpopupgalery-container[data-preview="5"] figure.galery-item { flex:1 1 33.3%; }
.magnificpopupgalery-container[data-preview="5"] figure:nth-child(3n-2) { padding-right:0.66em; }
.magnificpopupgalery-container[data-preview="5"] figure:nth-child(3n-1) { padding-left:0.33em; padding-right:0.33em; }
.magnificpopupgalery-container[data-preview="5"] figure:nth-child(3n) { padding-left:0.66em; }
.magnificpopupgalery-container[data-preview="5"] figure:nth-child(5) { padding-right:0; }

.magnificpopupgalery-container[data-preview="6"] figure.galery-item { flex:1 1 33.3%; }
.magnificpopupgalery-container[data-preview="6"] figure:nth-child(3n-2) { padding-right:0.66em; }
.magnificpopupgalery-container[data-preview="6"] figure:nth-child(3n-1) { padding-left:0.33em; padding-right:0.33em; }
.magnificpopupgalery-container[data-preview="6"] figure:nth-child(3n) { padding-left:0.66em; }

.magnificpopupgalery-container[data-preview="9"] figure.galery-item { flex:1 1 33.3%; }
.magnificpopupgalery-container[data-preview="9"] figure:nth-child(3n-2) { padding-right:0.66em; }
.magnificpopupgalery-container[data-preview="9"] figure:nth-child(3n-1) { padding-left:0.33em; padding-right:0.33em; }
.magnificpopupgalery-container[data-preview="9"] figure:nth-child(3n) { padding-left:0.66em; }

@media screen and (max-width:992px) {
    .magnificpopupgalery-container[data-preview="3"] figure.galery-item,
    .magnificpopupgalery-container[data-preview="5"] figure.galery-item,
    .magnificpopupgalery-container[data-preview="6"] figure.galery-item,
    .magnificpopupgalery-container[data-preview="9"] figure.galery-item { flex:1 1 50.0%; }
    .magnificpopupgalery-container[data-preview="3"] figure:nth-child(3n-2) { padding-right:0; }
    .magnificpopupgalery-container[data-preview="3"] figure:nth-child(3n-1) { padding-left:0; padding-right:0 }
    .magnificpopupgalery-container[data-preview="3"] figure:nth-child(3n) { padding-left:0; }
    .magnificpopupgalery-container[data-preview="5"] figure:nth-child(3n-2) { padding-right:0; }
    .magnificpopupgalery-container[data-preview="5"] figure:nth-child(3n-1) { padding-left:0; padding-right:0 }
    .magnificpopupgalery-container[data-preview="5"] figure:nth-child(3n) { padding-left:0; }
    .magnificpopupgalery-container[data-preview="6"] figure:nth-child(3n-2) { padding-right:0; }
    .magnificpopupgalery-container[data-preview="6"] figure:nth-child(3n-1) { padding-left:0; padding-right:0 }
    .magnificpopupgalery-container[data-preview="6"] figure:nth-child(3n) { padding-left:0; }
    .magnificpopupgalery-container[data-preview="9"] figure:nth-child(3n-2) { padding-right:0; }
    .magnificpopupgalery-container[data-preview="9"] figure:nth-child(3n-1) { padding-left:0; padding-right:0 }
    .magnificpopupgalery-container[data-preview="9"] figure:nth-child(3n) { padding-left:0; }
    .magnificpopupgalery-container[data-preview="3"] figure:nth-child(odd),
    .magnificpopupgalery-container[data-preview="5"] figure:nth-child(odd),
    .magnificpopupgalery-container[data-preview="6"] figure:nth-child(odd),
    .magnificpopupgalery-container[data-preview="9"] figure:nth-child(odd) { padding-left:0; padding-right:0.5em; }
    .magnificpopupgalery-container[data-preview="3"] figure:nth-child(even),
    .magnificpopupgalery-container[data-preview="5"] figure:nth-child(even),
    .magnificpopupgalery-container[data-preview="6"] figure:nth-child(even),
    .magnificpopupgalery-container[data-preview="9"] figure:nth-child(even) { padding-left:0.5em; padding-right:0; }
}

@media screen and (max-width:768px) and (orientation:portrait), screen and (max-width:800px) and (orientation:landscape) {
    .magnificpopupgalery-container .galery-item { flex:1 1 100%; padding:0; }
    div.magnificpopupgalery-container[data-preview="3"] figure.galery-item,
    div.magnificpopupgalery-container[data-preview="5"] figure.galery-item,
    div.magnificpopupgalery-container[data-preview="6"] figure.galery-item,
    div.magnificpopupgalery-container[data-preview="9"] figure.galery-item { flex:1 1 100.0%; padding:0; }
}

.button { margin-top:1.5em; }
.button a.magnificpopupvideo { display:inline-block; background:none; background-color:#ADB71F; border:none; color:white; padding:0.5em 2em; line-height:1; text-align:center; text-decoration:none; }
.button a.magnificpopupvideo i.fa { display:inline-block; margin-right:1em; }
.no-touch .button a.magnificpopupvideo:hover { position:relative; top:1px; left:1px; }
/**
 *   extension md_report
 */
/* overview */
form.tx_mdreport__countrySelector { float:right; width:25%; margin-left:2em; }
form.tx_mdreport__countrySelector select { width:100%; }
div.tx_mdreport__introtext { max-width:75%; margin-bottom:2em; padding-right:32px;}
.tx-md-report .barTable__wrapper { display:flex; }
.tx-md-report .barTable__wrapper ul.barSelector { flex:1 1 25%; list-style:none; margin-top:10px; }
.tx-md-report .barTable__wrapper ul.barSelector li { margin:0 40px 20px 0; padding:10px; box-shadow:0 0 3px 3px #b0b0b0; cursor:pointer; }
.tx-md-report .barTable__wrapper .barSelector_numberInitiatives { border-right:10px solid #e40d77; }
.tx-md-report .barTable__wrapper .barSelector_numberPetitionsForReferendum { border-right:10px solid #8064a3; }
.tx-md-report .barSelector_numberReferendums { border-right:10px solid #adb901; }
.tx-md-report .barTable__wrapper .barSelector_incidencePer10Years { border-right:10px solid #5182ba; }
.tx-md-report .barTable__wrapper .barSelector_successRate { border-right:10px solid #ffd400; }
.tx-md-report .barTable__wrapper table.barTable { flex:1 1 75%; width:75%; }
.tx-md-report .barTable__wrapper table.barTable th div.digits { display:flex;width:calc(100% - 32px);margin-bottom:10px; }
.tx-md-report .barTable__wrapper table.barTable th div.digits > div { width:20%;height:20px; font-size:1.25em; color:#03548a; font-weight:700; }
.tx-md-report .barTable__wrapper table.barTable th div.digits > div:nth-last-child(2) { width:18%; }
.tx-md-report .barTable__wrapper table.barTable th div.digits > div:last-child { width:2%; }
.tx-md-report .barTable__wrapper table.barTable th div.borders { display:flex;width:calc(100% - 32px);margin-bottom:20px; }
.tx-md-report .barTable__wrapper table.barTable th div.borders > div { width:20%;height:6px;border-bottom:1px solid black;border-left:1px solid black; }
.tx-md-report .barTable__wrapper table.barTable th div.borders > div:last-child { border-right:1px solid black; }
.tx-md-report .barTable__wrapper .barTable tr { border-bottom:none; }
.tx-md-report .barTable__wrapper .barTable tr:first-child td { padding-top:0; }
.tx-md-report .barTable__wrapper .barTable_colValue { width:66.6%; padding-left:0; padding-right:32px; border-top:none; }
.tx-md-report .barTable__wrapper .barTable_colTitle { opacity:0; transition:opacity 1.2s ease-in-out; width:33.3%; padding-left:0; padding-right:0; border-top:none; font-size:1em; font-weight:700; }
.tx-md-report .barTable__wrapper .barTable_colTitle a { color:inherit; text-decoration:none; }
.tx-md-report .barTable__wrapper .barTable_colValue__barWrapper { height:24px; background-color:#f0f0f0; }
.tx-md-report .barTable__wrapper .barTable_colValue__bar { float:left; width:0; height:24px; transition: width 0.8s ease-in-out; }
.tx-md-report .barTable__wrapper .numberInitiatives .barTable_colValue__bar { background-color:#e40d77; }
.tx-md-report .barTable__wrapper .numberPetitionsForReferendum .barTable_colValue__bar { background-color:#8064a3; }
.tx-md-report .barTable__wrapper .numberReferendums .barTable_colValue__bar { background-color:#adb901; }
.tx-md-report .barTable__wrapper .incidencePer10Years .barTable_colValue__bar { background-color:#5182ba; }
.tx-md-report .barTable__wrapper .successRate .barTable_colValue__bar { background-color:#ffd400; }
.tx-md-report .barTable__wrapper .barTable_colValue__value { display:inline-block; margin-left:6px; padding:6px 0; font-size:12px; font-weight:700; line-height:1; }
.tx-md-report .barTable__wrapper .barTable_colValue__value.fullWidth { margin-left:-32px; color:white; }
.tx-md-report .layer-gray__figure img { height: 90px; margin-top:2em; margin-bottom:1em;}
.tx-md-report .layer-gray__label { min-height: 50px; margin-bottom:0; padding:0 80px;}
.tx-md-report .chart__wrapper { padding-top: 16px; }
.tx-md-report .chart__wrapper .chartSelector { display:flex; justify-content:center; list-style:none; }
.tx-md-report .chart__wrapper .chartSelector > li { margin: 0 40px 20px 0; padding: 10px; box-shadow: 0 0 3px 3px #b0b0b0; cursor: pointer; -ms-transition:0.4s; -moz-transition:0.4s; -webkit-transition:0.4s; -o-transition:0.4s; transition:0.4s; }
.tx-md-report .chart__wrapper .chartSelector > li.active { background-color:#004079; color:white; }
.tx-md-report .chart { width:600px; height:600px; margin:0 auto; text-align:center; display:none; }
.tx-md-report .chart.active { display:block; }
.no-touch .tx-md-report .chart__wrapper .chartSelector > li:hover { background-color:#004079; color:white; }
.tx-md-report .chart > h2 { margin:2em 0 0 0; }


table.tx_mdreport_noscript th { padding-bottom:30px; }
table.tx_mdreport_noscript td { padding-left:0; }
table.tx_mdreport_noscript .title { font-size:1em; font-weight:700; }
table.tx_mdreport_noscript .title a { color:inherit; text-decoration:none; }


/* country view */
.tx-md-report .flex-row { display:flex; }
.tx-md-report .flex-row-reverse { display:flex; flex-direction:row-reverse; }
.tx-md-report .flex-row-reverse .tx_mdreport__label { flex:1 1 25%; margin-left:2em; }
.tx-md-report .flex-row-reverse .tx_mdreport__value { flex:1 1 calc(75% - 2em); }
.tx-md-report .flex-row .tx_mdreport__label { flex:1 1 calc(50% - 80px); margin-right:80px }
.tx-md-report .flex-row .tx_mdreport__value { flex:1 1 50%; }
.tx_mdreport__summary { margin-bottom:0; }
.tx-md-report h3 { color:#03548a; }
.tx-md-report .flex-row-reverse h3 { color:#202020; font-size:1em; }
.tx-md-report div.digits { display:flex;width:100%; margin-bottom:24px; }
.tx-md-report div.digits > div { width:20%;height:20px; font-size:1.25em; color:#03548a; font-weight:700; }
.tx-md-report div.digits > div:nth-last-child(2) { width:18%; }
.tx-md-report div.digits > div:last-child { width:2%; }
.tx-md-report div.borders { display:flex; width:100%; margin-bottom:20px; }
.tx-md-report div.borders > div { width:20%;height:12px;border-bottom:1px solid black;border-left:1px solid black; }
.tx-md-report div.borders > div:last-child { border-right:1px solid black; }
.tx_mdreport__property .barTable_colValue__grade { float:left; width:20px; margin-right:80px; color:#03548a; font-size:1em; font-weight:700; }
.tx_mdreport__property .barTable_colValue__barWrapper { float:left; width:100%; height:24px; background-color:#f0f0f0; }
.tx_mdreport__property .showGradeBeneathBar .barTable_colValue__barWrapper { width:calc(100% - 100px);  }
.tx_mdreport__property .barTable_colValue__bar { float:left; width:0; height:24px; transition: 0.8s all ease; }
.tx_mdreport__property.successRate .barTable_colValue__bar { background-color:#ffd400; border-left:3px solid #ffd400; }
.tx_mdreport__property.incidencePer10Years .barTable_colValue__bar { background-color:#5182ba; border-left:3px solid #5182ba; }
.tx_mdreport__property.average .barTable_colValue__bar { background-color:#a0a0a0; border-left:3px solid #a0a0a0; }
.tx_mdreport__property .barTable_colValue__value { display:inline-block; margin-left:6px; padding:4px 0; font-size:1em; font-weight:700; line-height:1; }
.tx_mdreport__property .barTable_colValue__value.fullWidth { margin-left:-32px; color:white; }
.tx_mdreport__label { line-height:1.5; }

.overflow-x-scroll {overflow-x: auto; }

@media only screen and (max-width:800px) and (orientation:portrait),only screen and (max-width:800px) and (orientation:landscape) {
    div.tx_mdreport__introtext { max-width:100%; }
}

/*!
 * shariff - v3.2.1 - Mon, 27 May 2019 08:23:32 GMT
 * https://github.com/heiseonline/shariff
 * Copyright (c) 2019 Ines Pauer, Philipp Busse, Sebastian Hilbig, Erich Kramer, Deniz Sesli
 * Licensed under the MIT license
 */
.shariff:after,.shariff:before{content:" ";display:table}.shariff:after{clear:both}.shariff ul{padding:0;margin:0;list-style:none}.shariff li{overflow:hidden}.shariff li,.shariff li a{height:35px;-webkit-box-sizing:border-box;box-sizing:border-box}.shariff li a{color:#fff;position:relative;display:block;text-decoration:none}.shariff li .share_count,.shariff li .share_text{font-family:Arial,Helvetica,sans-serif;font-size:12px;vertical-align:middle;line-height:35px}.shariff li .fab,.shariff li .far,.shariff li .fas{width:35px;line-height:35px;text-align:center;vertical-align:middle}.shariff li .share_count{padding:0 8px;height:33px;position:absolute;top:1px;right:1px}.shariff .orientation-horizontal li{-webkit-box-flex:1}.shariff .orientation-horizontal .info{-webkit-box-flex:0}.shariff .orientation-horizontal{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap}.shariff .orientation-horizontal li{float:left;-webkit-box-flex:0;-ms-flex:none;flex:none;width:35px;margin-right:3%;margin-bottom:10px}.shariff .orientation-horizontal li:last-child{margin-right:0}.shariff .orientation-horizontal li .share_text{display:block;text-indent:-9999px;padding-left:3px}.shariff .orientation-horizontal li .share_count{display:none}.shariff .theme-grey .shariff-button a{background-color:#b0b0b0}.shariff .theme-grey .shariff-button .share_count{background-color:#ccc;color:#333}.shariff .theme-white .shariff-button{border:1px solid #ddd}.shariff .theme-white .shariff-button a{background-color:#fff}.shariff .theme-white .shariff-button a:hover{background-color:#eee}.shariff .theme-white .shariff-button .share_count{background-color:#fff;color:#999}.shariff .orientation-vertical.button-style-icon{min-width:35px}.shariff .orientation-vertical.button-style-icon-count{min-width:80px}.shariff .orientation-vertical.button-style-standard{min-width:110px}.shariff .orientation-vertical li{display:block;width:100%;margin:5px 0}.shariff .orientation-vertical.button-style-icon-count li .share_count,.shariff .orientation-vertical.button-style-standard li .share_count{width:24px;text-align:right}@media only screen and (min-width:360px){.shariff .orientation-horizontal li{margin-right:1.8%}.shariff .orientation-horizontal.button-style-icon-count li,.shariff .orientation-horizontal.button-style-standard li{min-width:80px}.shariff .orientation-horizontal.button-style-icon-count li .share_count,.shariff .orientation-horizontal.button-style-standard li .share_count{display:block}.shariff .orientation-horizontal.button-style-standard li{width:auto;-webkit-box-flex:1;-ms-flex:1 0 auto;flex:1 0 auto}.shariff .orientation-horizontal.button-style-standard.shariff-col-1 li,.shariff .orientation-horizontal.button-style-standard.shariff-col-2 li{min-width:110px;max-width:160px}.shariff .orientation-horizontal.button-style-standard.shariff-col-1 li .share_text,.shariff .orientation-horizontal.button-style-standard.shariff-col-2 li .share_text{text-indent:0;display:inline}.shariff .orientation-horizontal.button-style-standard.shariff-col-5 li,.shariff .orientation-horizontal.button-style-standard.shariff-col-6 li{-webkit-box-flex:0;-ms-flex:none;flex:none}}@media only screen and (min-width:640px){.shariff .orientation-horizontal.button-style-standard.shariff-col-3 li{min-width:110px;max-width:160px}.shariff .orientation-horizontal.button-style-standard.shariff-col-3 li .share_text{text-indent:0;display:inline}}@media only screen and (min-width:768px){.shariff .orientation-horizontal.button-style-standard li{min-width:110px;max-width:160px}.shariff .orientation-horizontal.button-style-standard li .share_text{text-indent:0;display:inline}.shariff .orientation-horizontal.button-style-standard.shariff-col-5 li,.shariff .orientation-horizontal.button-style-standard.shariff-col-6 li{-webkit-box-flex:1;-ms-flex:1 0 auto;flex:1 0 auto}}@media only screen and (min-width:1024px){.shariff li,.shariff li a{height:30px}.shariff li .fab,.shariff li .far,.shariff li .fas{width:30px;line-height:30px}.shariff li .share_count,.shariff li .share_text{line-height:30px}.shariff li .share_count{height:28px}}.shariff .addthis a{background-color:#f8694d}.shariff .addthis a:hover{background-color:#f75b44}.shariff .addthis .fa-plus{font-size:14px}.shariff .addthis .share_count{color:#f8694d;background-color:#f1b8b0}.shariff .theme-white .addthis a{color:#f8694d}@media only screen and (min-width:600px){.shariff .addthis .fa-plus{font-size:14px;position:relative;top:1px}}.shariff .buffer a{background-color:#3a3a3a}.shariff .buffer a:hover{background-color:#555}.shariff .buffer .fa-buffer{font-size:22px}.shariff .buffer .share_count{color:#3a3a3a;background-color:#ddd}.shariff .theme-white .buffer a{color:#3a3a3a}@media only screen and (min-width:600px){.shariff .buffer .fa-buffer{font-size:19px;position:relative;top:1px}}.shariff .diaspora a{background-color:#999}.shariff .diaspora a:hover{background-color:#b3b3b3}.shariff .diaspora .fa-times-circle{font-size:17px}.shariff .theme-white .diaspora a{color:#999}@media only screen and (min-width:600px){.shariff .diaspora .fa-times-circle{font-size:16px}}.shariff .facebook a{background-color:#3b5998}.shariff .facebook a:hover{background-color:#4273c8}.shariff .facebook .fa-facebook-f{font-size:22px}.shariff .facebook .share_count{color:#183a75;background-color:#99adcf}.shariff .theme-white .facebook a{color:#3b5998}@media only screen and (min-width:600px){.shariff .facebook .fa-facebook-f{font-size:19px}}.shariff .flattr a{background-color:#7ea352}.shariff .flattr a:hover{background-color:#f67c1a}.shariff .flattr a:hover .share_count{color:#d56308;background-color:#fab47c}.shariff .flattr .fa-money-bill-alt{font-size:22px}.shariff .flattr .share_count{color:#648141;background-color:#b0c893}.shariff .theme-white .flattr a{color:#f67c1a}@media only screen and (min-width:600px){.shariff .flattr .fa-money-bill-alt{font-size:19px}}.shariff .flipboard a{background-color:#e12828}.shariff .flipboard a:hover{background-color:#ff2e2e}.shariff .flipboard .fa-flipboard{font-size:22px}.shariff .theme-white .flipboard a{color:#e12828}@media only screen and (min-width:600px){.shariff .flipboard .fa-flipboard{font-size:19px}}.shariff .info{border:1px solid #ccc}.shariff .info a{color:#666;background-color:#fff}.shariff .info a:hover{background-color:#efefef}.shariff .info .fa-info{font-size:20px;width:33px}.shariff .info .share_text{display:block!important;text-indent:-9999px!important}.shariff .theme-grey .info a{background-color:#fff}.shariff .theme-grey .info a:hover{background-color:#efefef}.shariff .orientation-vertical .info{width:35px;float:right}@media only screen and (min-width:360px){.shariff .orientation-horizontal .info{-webkit-box-flex:0!important;-ms-flex:none!important;flex:none!important;width:35px;min-width:35px!important}}@media only screen and (min-width:1024px){.shariff .info .fa-info{font-size:16px;width:23px}.shariff .orientation-horizontal .info{width:25px;min-width:25px!important}.shariff .orientation-vertical .info{width:25px}}.shariff .linkedin a{background-color:#0077b5}.shariff .linkedin a:hover{background-color:#0369a0}.shariff .linkedin .fa-linkedin-in{font-size:22px}.shariff .linkedin .share_count{color:#004785;background-color:#33aae8}.shariff .theme-white .linkedin a{color:#0077b5}@media only screen and (min-width:600px){.shariff .linkedin .fa-linkedin-in{font-size:19px}}.shariff .mail a{background-color:#999}.shariff .mail a:hover{background-color:#a8a8a8}.shariff .mail .fa-envelope{font-size:21px}.shariff .theme-white .mail a{color:#999}@media only screen and (min-width:600px){.shariff .mail .fa-envelope{font-size:18px}}.shariff .print a{background-color:#999}.shariff .print a:hover{background-color:#a8a8a8}.shariff .print .fa-print{font-size:21px}.shariff .theme-white .print a{color:#999}@media only screen and (min-width:600px){.shariff .print .fa-print{font-size:18px}}.shariff .pinterest a{background-color:#bd081c}.shariff .pinterest a:hover{background-color:#d50920}.shariff .pinterest .fa-pinterest-p{font-size:22px}.shariff .pinterest .share_count{color:#a31601;background-color:#eda79d}.shariff .theme-white .pinterest a{color:#bd081c}@media only screen and (min-width:600px){.shariff .pinterest .fa-pinterest-p{font-size:19px;position:relative;top:1px}}.shariff .pocket a{background-color:#ef4056}.shariff .pocket a:hover{background-color:#ff5066}.shariff .pocket .fa-get-pocket{font-size:22px}.shariff .theme-white .pocket a{color:#ef4056}@media only screen and (min-width:600px){.shariff .pocket .fa-get-pocket{font-size:19px}}.shariff .reddit a{background-color:#ff4500}.shariff .reddit a:hover{background-color:#ff6a33}.shariff .reddit .fa-reddit{font-size:17px}.shariff .theme-white .reddit a{color:#ff4500}@media only screen and (min-width:600px){.shariff .reddit .fa-reddit{font-size:16px}}.shariff .stumbleupon a{background-color:#eb4924}.shariff .stumbleupon a:hover{background-color:#ef7053}.shariff .stumbleupon .fa-stumbleupon{font-size:17px}.shariff .theme-white .stumbleupon a{color:#eb4924}@media only screen and (min-width:600px){.shariff .stumbleupon .fa-stumbleupon{font-size:16px}}.shariff .twitter a{background-color:#55acee}.shariff .twitter a:hover{background-color:#32bbf5}.shariff .twitter .fa-twitter{font-size:28px}.shariff .twitter .share_count{color:#0174a4;background-color:#96d4ee}.shariff .theme-white .twitter a{color:#55acee}@media only screen and (min-width:600px){.shariff .twitter .fa-twitter{font-size:24px}}.shariff .whatsapp a{background-color:#5cbe4a}.shariff .whatsapp a:hover{background-color:#34af23}.shariff .whatsapp .fa-whatsapp{font-size:28px}.shariff .theme-white .whatsapp a{color:#5cbe4a}@media only screen and (min-width:600px){.shariff .whatsapp .fa-whatsapp{font-size:22px}}.shariff .xing a{background-color:#126567}.shariff .xing a:hover{background-color:#29888a}.shariff .xing .fa-xing{font-size:22px}.shariff .xing .share_count{color:#15686a;background-color:#4fa5a7}.shariff .theme-white .xing a{color:#126567}@media only screen and (min-width:600px){.shariff .xing .fa-xing{font-size:19px}}.shariff .tumblr a{background-color:#36465d}.shariff .tumblr a:hover{background-color:#44546b}.shariff .tumblr .fa-tumblr{font-size:28px}.shariff .theme-white .tumblr a{color:#5cbe4a}@media only screen and (min-width:600px){.shariff .tumblr .fa-tumblr{font-size:22px}}.shariff .threema a{background-color:#333}.shariff .threema a:hover{background-color:#1f1f1f}.shariff .threema .fa-lock{font-size:28px}.shariff .theme-white .threema a{color:#333}@media only screen and (min-width:600px){.shariff .threema .fa-lock{font-size:22px}}.shariff .weibo a{background-color:#f56770}.shariff .weibo a:hover{background-color:#fa7f8a}.shariff .weibo .fa-weibo{font-size:28px}.shariff .weibo .share_count{color:#0174a4;background-color:#f56770}.shariff .theme-white .weibo a{color:#f56770}@media only screen and (min-width:600px){.shariff .weibo .fa-weibo{font-size:24px}}.shariff .tencent-weibo a{background-color:#26ace0}.shariff .tencent-weibo a:hover{background-color:#38bbeb}.shariff .tencent-weibo .fa-tencent-weibo{font-size:28px}.shariff .tencent-weibo .share_count{color:#0174a4;background-color:#26ace0}.shariff .theme-white .tencent-weibo a{color:#26ace0}@media only screen and (min-width:600px){.shariff .tencent-weibo .fa-tencent-weibo{font-size:24px}}.shariff .telegram a{background-color:#08c}.shariff .telegram a:hover{background-color:#007dbb}.shariff .telegram .fa-telegram{font-size:28px}.shariff .theme-white .telegram a{color:#08c}@media only screen and (min-width:600px){.shariff .telegram .fa-telegram{font-size:22px}}.shariff .qzone a{background-color:#2b82d9}.shariff .qzone a:hover{background-color:#398fe6}.shariff .qzone .fa-qq{font-size:28px}.shariff .qzone .share_count{color:#0174a4;background-color:#2b82d9}.shariff .theme-white .qzone a{color:#2b82d9}@media only screen and (min-width:600px){.shariff .qzone .fa-qq{font-size:24px}}.shariff .vk a{background-color:#5d7fa4}.shariff .vk a:hover{background-color:#678eb4}.shariff .vk .fa-vk{font-size:22px}.shariff .vk .share_count{color:#55677d;background-color:#fff}.shariff .theme-white .vk a{color:#3b5998}@media only screen and (min-width:600px){.shariff .vk .fa-vk{font-size:19px}}
.video-shariff-play{position:relative;text-align:center;display:block}a.video-shariff-play img{display:inline-block}.video-shariff-preview{position:absolute;left:0;right:0;top:30%;text-align:center}.video-shariff-preview-overlay{background:rgba(255,255,255,0.6);display:block;position:absolute;top:0;bottom:0;left:0;right:0;-webkit-transition:all .4s cubic-bezier(0.165,0.84,0.44,1);transition:all .4s cubic-bezier(0.165,0.84,0.44,1)}a.video-shariff-play:hover .video-shariff-preview-overlay,a.video-shariff-play:focus .video-shariff-preview-overlay{background:transparent}.video-shariff-preview span{display:block;position:relative}.video-shariff-preview-icon{background:transparent;border-radius:.375rem;width:0;height:0;border-top:24px solid transparent;border-left:36px solid #000;border-bottom:24px solid transparent;margin:-1.45rem -2rem;left:50%}.video-shariff-preview-text{top:3rem;margin:0 auto;width:80%;font-weight:bold}@media screen and (min-width:800px){.video-shariff-preview{top:50%}.video-shariff-preview-text{width:60%}}
/* ====================================================================== */
/*  MD-Design fuer orestbida/cookieconsent 3  (ab Fassung 2.4, 17.8.2026)  */
/* ====================================================================== */
/*
   ⚠️ Die Bibliothek wird ueber IHRE Variablen eingefaerbt, nicht durch Ueberschreiben
   ihrer Regeln. Ein Update der Bibliothek bringt sonst jedes Mal die Gestaltung
   durcheinander, und man merkt es erst am fertigen Banner. Die vollstaendige Liste der
   erlaubten Variablen steht in Libs/orestbida/cookieconsent.css - was dort nicht
   vorkommt, faellt hier STILL aus.

   ⚠️⚠️ UMSTELLUNG AM 17.8.2026 - HELL STATT DUNKEL. Ansage des Nutzers: das
   Cookie-Fenster soll aussehen wie der Termin-Dialog der Veranstaltungskarte
   (md_events/Resources/Public/Css/listMap.css, `dialog.dialog-event`), und das ganze
   Plugin soll moeglichst KEINE eigenen Werte mitbringen, sondern Bestehendes benutzen.

   Bis dahin stand hier ein dunkles Banner (rgba(0,15,41,0.92), weisse Schrift) aus der
   Osano-Zeit. Bemerkenswert: die Bibliothek ist von Haus aus HELL (--cc-bg:#fff) - der
   Umbau nimmt also groesstenteils eigene Uebersteuerungen WEG, statt neue zu setzen.

   ⚠️⚠️ ALLE FARBEN STAMMEN AUS DER FARBSEITE der Site (/testseite-farben), keine
   einzige ist erfunden:
     #1271ee blue          #2e92ff blue:hover      #000f29 darkblue
     #ffffff white         #ebebeb gray            #cccccc lightgray
     #a0a0a0 mediumgray    #606060 darkgray        #003567 "Background"
   ⚠️ Wer hier einen Wert ergaenzt, nimmt ihn von dieser Seite - nicht aus dem Gefuehl.

   ⚠️⚠️ DIE BEIDEN KNOEPFE BLEIBEN GLEICHGEWICHTIG (OH Digitale Dienste Rn. 135). Die
   Bibliothek besorgt das ueber `equalWeightButtons: true`; wer hier unterschiedliche
   Groessen oder Schriftstaerken setzt, hebelt es aus. Deshalb unterscheiden sich
   "Zustimmen" und "Ablehnen" unten NUR in der Fuellung, nicht in Groesse oder Gewicht -
   dieselbe Loesung, die das dunkle Banner schon hatte.

   ── KONTRASTE, am 17.8.2026 GERECHNET (nicht geschaetzt) ──────────────────────
     Fliesstext  #000f29 auf #ffffff .......... 19,08:1   OK
     Zweitrang   #606060 auf #ffffff ...........  6,29:1   OK
     Zweitrang   #606060 auf #ebebeb ...........  5,27:1   OK
     Link        #1271ee auf #ffffff ...........  4,54:1   OK
     Knopf       #ffffff auf #1271ee ...........  4,54:1   OK
     Fokusring   #003567 auf #ffffff ........... 12,32:1   OK
   ⚠️ ZWEI bewusst in Kauf genommene Werte, beide GEERBT und nicht hier entstanden:
     Knopf-Hover #ffffff auf #2e92ff ...........  3,15:1   unter 4,5
       -> derselbe Sprung, den die Buttons der Site, das Video und die Karte machen.
          Vom Nutzer am 12.8.2026 ausdruecklich so entschieden ("wie bei den buttons
          auch #2e92ff"). Wer das aendert, aendert es an allen vier Stellen.
     Schalter AUS #cccccc gegen #ffffff ........  1,61:1   unter 3,0
       -> das ist EXAKT der Aus-Zustand der Kartenlegende (listMap.css, .slider).
          Uebernommen, weil der Auftrag "an die Karte angleichen" lautet. Der
          Unterschied AN/AUS traegt trotzdem: #1271ee gegen #cccccc.
          ⏰ Wer die 3:1 will, setzt --cc-toggle-off-bg auf #606060 (6,29:1) - dann
          weicht der Schalter aber sichtbar von der Karte ab. Das ist eine
          Entscheidung, keine Reparatur.
   ────────────────────────────────────────────────────────────────────────────── */
#cc-main {
    /* Schrift der Site, nicht die Systemschrift der Bibliothek. */
    --cc-font-family: "Source Sans Pro", sans-serif;

    /* Grund und Schrift wie die weissen Inhaltskarten des Karten-Dialogs
       (listMap.css: `dialog .dialog-event-item { background:#ffffff }`). */
    --cc-bg: #ffffff;
    --cc-primary-color: #000f29;
    --cc-secondary-color: #606060;
    --cc-link-color: #1271ee;

    /* Zustimmen - die Aktionsfarbe der Site, wie die Zoomknoepfe der Karte und der
       Schliessknopf des Termin-Dialogs. */
    --cc-btn-primary-bg: #1271ee;
    --cc-btn-primary-color: #ffffff;
    --cc-btn-primary-border-color: #1271ee;
    --cc-btn-primary-hover-bg: #2e92ff;
    --cc-btn-primary-hover-color: #ffffff;
    --cc-btn-primary-hover-border-color: #2e92ff;

    /* Ablehnen - GLEICHE Groesse und Schriftstaerke, nur ungefuellt. Auf hellem Grund
       ist die Kontur die blaue Aktionsfarbe (auf dem alten dunklen Banner war sie
       weiss); im Hover fuellt sie sich wie der Erstknopf. */
    --cc-btn-secondary-bg: #ffffff;
    --cc-btn-secondary-color: #1271ee;
    --cc-btn-secondary-border-color: #1271ee;
    --cc-btn-secondary-hover-bg: #2e92ff;
    --cc-btn-secondary-hover-color: #ffffff;
    --cc-btn-secondary-hover-border-color: #2e92ff;

    /* Eckig wie alles andere auf der Site - die Bibliothek haette .4rem. */
    --cc-btn-border-radius: 0;
    --cc-modal-border-radius: 0;

    /* Trenner und Gruppenbloecke in den Grautoenen der Palette.
       ⚠️⚠️ HOVER GEHT HELLER, NICHT DUNKLER. Vom Nutzer am 17.8.2026 gemeldet:
       "normales button / hover verhalten ist, dass das element dunkler / gesaettigter
       ist und auf hover heller wird." Genau so macht es die ganze Site - #1271ee wird
       im Hover zu #2e92ff, also heller. Mein erster Entwurf hatte es umgedreht
       (#ebebeb -> #cccccc) und damit gegen die Hausregel gebaut.
       ⚠️ Zweiter Einwand desselben Satzes: der Hover war #cccccc - und das ist die
       Farbe des AUSGESCHALTETEN Schalters. Dieselbe Farbe fuer "hier zeigt die Maus
       hin" und fuer "dieser Schalter ist aus" laesst zwei verschiedene Aussagen gleich
       aussehen. Der Hover ist deshalb jetzt Weiss.
       ⚠️ Damit der Block auf weissem Grund nicht verschwindet, traegt er in BEIDEN
       Zustaenden eine #cccccc-Kontur. Die Kontur ist kein Fuellton und kollidiert
       deshalb nicht mit der Aussage des Schalters.
       ⚠️ FESTGELEGT VOM NUTZER am 17.8.2026: "deaktiviertes toggle auf a0a0a0, ausklapper
       auf ccc, hover auf ebebeb". Damit steht eine durchgehende Staffelung, in der
       jeder Zustand seinen eigenen Ton hat und keiner doppelt vorkommt:
           #a0a0a0  Schalter AUS      (am dunkelsten, siehe --cc-toggle-off-bg unten)
           #cccccc  Gruppenblock Ruhe
           #ebebeb  Gruppenblock Hover  -> heller als Ruhe, wie ueberall auf der Site
           #ffffff  Gruppenblock aufgeklappt
       Die frueheren Fassungen dieses Blocks hatten den Hover teils dunkler als die
       Ruhe und teils in der Farbe des ausgeschalteten Schalters - beides ist damit
       erledigt. */
    --cc-separator-border-color: #ebebeb;
    --cc-section-category-border: #cccccc;
    --cc-cookie-category-block-bg: #cccccc;
    --cc-cookie-category-block-border: #cccccc;
    --cc-cookie-category-block-hover-bg: #ebebeb;
    --cc-cookie-category-block-hover-border: #cccccc;
    /* ⚠️ AUFGEKLAPPT BLEIBT DER BLOCK FARBIG, nicht weiss. Vom Nutzer am 17.8.2026
       gemeldet: "aufgeklappt soll es auch eine hintergrundfarbe fuer das element
       geben, nicht nur weiss." Sonst loest sich der Block beim Aufklappen im weissen
       Fenstergrund auf, und man sieht nicht mehr, wo eine Gruppe anfaengt und aufhoert.
       ⚠️⚠️ FALLE: die zweite Variable heisst zwar "...-hover-bg", die Bibliothek
       benutzt sie im aufgeklappten Zustand aber als RAHMENFARBE:
           .pm__section--toggle.is-expanded {
               --cc-cookie-category-block-bg:     var(--cc-cookie-category-expanded-block-bg);
               --cc-cookie-category-block-border: var(--cc-cookie-category-expanded-block-hover-bg);
           }
       Wer sie nach dem Namen belegt und Weiss einsetzt, macht den Rahmen unsichtbar -
       ohne dass eine Regel fehlt oder etwas meldet. Deshalb steht hier die Konturfarbe.
       ⚠️ ENDSTAND nach drei Zwischenschritten am 17.8.2026 - hier kurz, damit niemand
       einen davon fuer den gewollten Zustand haelt: erst weiss (Block loeste sich im
       Fenstergrund auf), dann #ebebeb ("kann heller sein"), dann wieder weiss, und
       schliesslich die Ansage "aufgeklappt auch ccc". Aufgeklappt traegt die Kopfzeile
       also DIESELBE Farbe wie zugeklappt: der Block behaelt sein Aussehen, geoeffnet
       wie geschlossen, und nur der gedrehte Pfeil zeigt den Zustand an.
       ⚠️ Gemessen: die Inhaltsflaeche darunter (.pm__section-desc) ist transparent und
       war von all dem nie betroffen - es ging immer nur um die Kopfzeile. */
    --cc-cookie-category-expanded-block-bg: #cccccc;
    --cc-cookie-category-expanded-block-hover-bg: #cccccc;

    /* ── Schalter wie die Kartenlegende ──────────────────────────────────────
       Vorbild: listMap.css, `.mdevents_map .legend-item .toggleswitch`.
       Dort: 40x24 Pille, Radius 24px, weisser 18px-Knopf, AUS #cccccc,
       AN = die Kategoriefarbe. Hier ist "AN" die Aktionsfarbe der Site.
       ⚠️ Der GESPERRTE Zustand (Gruppe "notwendig", nicht abwaehlbar) hat in der
       Karte KEIN Vorbild - dort ist nichts gesperrt. Deshalb ist er der einzige
       Wert, der frei zu waehlen war: #606060 (darkgray, 6,29:1). Die naechstliegende
       Wahl #a0a0a0 kam nur auf 2,61:1 und haette die 3:1 gerissen. */
    --cc-toggle-on-bg: #1271ee;
    /* ⚠️ #a0a0a0, festgelegt vom Nutzer am 17.8.2026 - nicht mehr das #cccccc der
       Kartenlegende. Zwei Gruende, beide gemessen: der Ton gehoert allein dem
       AUS-Zustand und kommt sonst nirgends im Fenster vor, und der Kontrast steigt
       von 1,61:1 auf 2,61:1 gegen Weiss. Die 3:1 fuer grafische Bedienelemente sind
       damit immer noch knapp verfehlt - #606060 kaeme auf 6,29:1, weicht aber
       deutlicher von der Karte ab. Bewusste Wahl des Nutzers, kein Versehen. */
    --cc-toggle-off-bg: #a0a0a0;
    --cc-toggle-on-knob-bg: #ffffff;
    --cc-toggle-off-knob-bg: #ffffff;
    --cc-toggle-readonly-bg: #606060;
    --cc-toggle-readonly-knob-bg: #ffffff;
    --cc-toggle-enabled-icon-color: #ffffff;
    --cc-toggle-disabled-icon-color: #ffffff;
    --cc-toggle-readonly-knob-icon-color: #606060;
    --cc-pm-toggle-border-radius: 24px;

    --cc-footer-bg: #ebebeb;
    --cc-footer-color: #606060;
    --cc-footer-border-color: #cccccc;

    /* Der Schleier hinter dem Einstellungsdialog - wie der Grund des Karten-Dialogs. */
    --cc-overlay-bg: rgba(0, 15, 41, 0.8);
}

/*
   SCHRIFTGROESSE = FLIESSTEXT (Ansage des Nutzers 17.8.2026).
   ⚠️ Die Bibliothek stellt dafuer KEINE Variable bereit - die --cc-Liste kennt nur
   --cc-font-family. Deshalb ausnahmsweise eine echte Regel statt einer Variablen.
   Gemessen auf dev: body steht auf 16px/24px, also 1rem/1.5. Vorher lief das Banner
   auf der Vorgabe der Bibliothek und war damit kleiner als der Text daneben. */
#cc-main,
#cc-main .cm__desc,
#cc-main .pm__section-desc {
    font-size: 1rem;
    line-height: 1.5;
}

/*
   ── Schriftstufen: 24 / 18 / 16 ─────────────────────────────────────────────────
   ⚠️ Vom Nutzer am 17.8.2026 in zwei Schritten vorgegeben: "cookie-einstellung
   groesser wie eine ueberschrift", dann "Gruppennamen auch etwas groesser, dann auch
   'wir fragen, bevor wir laden' genau so gross. und cookie-einstellung groesser als
   diese."

   Vorher lagen alle drei fast gleichauf und die Rangfolge war nicht zu sehen:
       Cookie-Einstellungen   16,0 px
       Wir fragen …           16,8 px
       Gruppennamen           15,2 px

   ⚠️⚠️ DIE WERTE STAMMEN AUS DER SCHRIFTSEITE DER SITE, /testseite-schriften - das
   ist die verbindliche Skala, nicht mein Augenmass:
       H1  28px / 35px / 600
       H2  24px / 30px / 600     -> Fenstertitel "Cookie-Einstellungen"
       H3  20px / 30px / 600     -> Abschnitts- und Gruppennamen
       H4  18px / 27px / 600
       p   16px / 24px / 400     -> Fliesstext
   ⚠️ Ich hatte zuvor an einzelnen Inhaltselementen der Startseite gemessen und war
   dabei auf 18px/27px fuer die Gruppennamen gekommen - die Seite lieferte dort ein H4.
   Richtig ist H3. Und mein damaliger Vermerk "h3 ist 32px" war ein Messfehler an einem
   Element mit eigener Klasse; laut Schriftseite ist H3 20px. Im Zweifel die
   Schriftseite lesen, nicht ein beliebiges Element abgreifen.
   ⚠️ Weight 600 stand ueberall schon so - gefehlt hat allein die Groesse.
*/
#cc-main .pm__title {
    font-size: 1.5rem;
    line-height: 1.875rem;
}

#cc-main .cm__title,
#cc-main .pm__section-title {
    font-size: 1.25rem;
    line-height: 1.875rem;
}

/*
   Knoepfe: 18px und BOLD 700.
   ⚠️ Die Schriftseite sagt es woertlich in ihrer Richtlinie: "4) Buttons sind Bold
   700." Am `.btn` der Site nachgemessen: 18px / 18px / 700. Die Bibliothek liefert
   ihre Knoepfe kleiner und mit Gewicht 600 - sie standen damit unter der Fliesstext-
   groesse des Fensters daneben.
   ⚠️⚠️ Groesse und Gewicht gelten fuer BEIDE Knoepfe gleich. "Alle erlauben" und
   "Nur notwendige" muessen gleichgewichtig bleiben (OH Digitale Dienste Rn. 135) -
   eine Abstufung genau hier waere der klassische Weg, die Ablehnung unauffaelliger
   zu machen. Deshalb steht in beiden Selektoren derselbe Wert.
*/
#cc-main .cm__btn,
#cc-main .pm__btn {
    font-size: 1.125rem;
    font-weight: 700;
}

/*
   Rahmen des Fensters wie beim Karten-Dialog: eckig, ohne Schlagschatten-Spielerei.
   ⚠️ Der Weichzeichner des alten dunklen Banners ist WEG. Er hatte dort einen Zweck
   (die Seite schien durch den halbdurchsichtigen Grund), auf weissem Grund erzeugt er
   nur Rechenlast ohne sichtbare Wirkung.
*/
#cc-main .cm,
#cc-main .pm {
    border: 1px solid #cccccc;
}

/*
   ⚠️ KEIN ANIMIERTER UNTERSTREICHUNGS-HOVER (Ansage des Nutzers 17.8.2026).
   Der Link "Weitere Informationen zum Datenschutz" traegt die Klasse `cc__link` und
   erbt sonst die Link-Gestaltung der Site, die die Unterstreichung einblendet.
   Hier steht sie fest an: sichtbar, ohne Uebergang.
   ⚠️⚠️ Der Fokusring darf dabei NICHT mitverschwinden - er ist eine
   Barrierefreiheits-Anforderung, keine Zier. Deshalb nur `transition` und
   `background-image` zuruecknehmen, NICHT `outline`.
*/
#cc-main .cc__link {
    background-image: none;
    text-decoration: underline;
    transition: none;
}

#cc-main .cc__link:hover {
    color: #2e92ff;
    text-decoration: underline;
}

/*
   Schliessknopf wie im Karten-Dialog.
   Vorbild: listMap.css, `dialog.dialog-event .btn-close-container > button.close` -
   45x45, #1271ee, weisses Kreuz, Hover #2e92ff, Uebergang 0.4s.

   ⚠️⚠️ DAS KREUZ IST DAS SVG DER BIBLIOTHEK, KEINE FONT-AWESOME-GLYPHE.
   Der erste Entwurf am 17.8.2026 blendete das SVG aus und setzte stattdessen ein
   ::before mit "\f00d" - wie es die Karte tut. Ergebnis auf dev: ein blaues Quadrat
   OHNE Kreuz. Nachgemessen war der Inhalt korrekt (Zeichencodes 0x22, 0xf00d, 0x22),
   die Schrift geladen und weiss - die Glyphe wurde trotzdem nicht sichtbar; der Knopf
   traegt overflow:hidden und line-height:normal aus der Bibliothek.
   Statt das weiter aufzudroeseln, bleibt das mitgelieferte SVG stehen und wird nur
   eingefaerbt. Das ist ZUGLEICH das, was der Auftrag verlangt ("keine neuen Styles,
   auf Bestehendes zurueckgreifen") - und es ueberlebt ein Update der Bibliothek.
   ⚠️ Nicht "reparieren", indem die Glyphe zurueckkommt. Der Weg war gemessen erfolglos.

   ⚠️ Messfalle, die dabei fast eine Fehldiagnose erzeugt haette: getComputedStyle()
   liefert den Inhalt als Zeichenkette mit einem PUA-Zeichen, und das ueberlebt den Weg
   aus dem Browserwerkzeug NICHT - der Wert sah wie ein leerer String aus. Erst die
   Ausgabe als ZAHLENliste zeigte, dass er stimmt.
*/
/*
   ⚠️ Der Knopf liegt UEBER dem Fenster, nicht darin - wie beim Karten-Dialog, wo
   `.btn-close-container` mit margin-bottom:1rem ueber der weissen Karte steht und
   `dialog.dialog-event` selbst gar keinen Grund hat.
   ⚠️⚠️ `.pm` traegt von der Bibliothek `overflow:hidden` und wuerde den herausragenden
   Knopf abschneiden. Das Aufheben ist hier gefahrlos, weil das INNERE Scrollen an
   `.pm__body` haengt (eigenes overflow:auto, gemessen 686x445) und nicht an `.pm`.
*/
#cc-main .pm {
    overflow: visible;
}

/*
   ── Hoehe waechst mit dem Inhalt, wie beim Karten-Dialog ────────────────────────
   ⚠️ Vom Nutzer am 17.8.2026 gemeldet ("hoehe automatisch anpassen ... oder hoehe wie
   beim dialog"): bei drei zugeklappten Gruppen stand unter dem letzten Block ein
   grosses leeres Feld. Ursache ist die Bibliothek:
       #cc-main .pm--box { height: calc(100% - 2em); max-height: 37.5em }
   also eine feste Hoehe, unabhaengig vom Inhalt.

   Der Karten-Dialog macht es umgekehrt und genau so, wie es hier sein soll: das
   Fenster selbst waechst mit, gedeckelt wird nur der INHALTSBEREICH
   (listMap.css: `dialog .dialog-event-group { max-height:70vh; overflow:auto }`).

   ⚠️ Die Deckelung an `.pm` bleibt trotzdem stehen - ohne sie koennte das Fenster bei
   vielen aufgeklappten Cookie-Tabellen ueber den Schirm hinauswachsen, und der
   Schliessknopf sitzt oberhalb der Oberkante. Er waere dann nicht mehr erreichbar.
*/
#cc-main .pm--box {
    height: auto;
    max-height: calc(100% - 2em);
}

#cc-main .pm__body {
    max-height: 70vh;
}

#cc-main .pm__close-btn,
#cc-main .cm__close-btn {
    position: absolute;
    top: -3.8125rem; /* 45px Knopf + 16px Abstand, entspricht dem margin-bottom:1rem der Karte */
    right: 0;

    display: flex;
    align-items: center;
    justify-content: center;

    width: 45px;
    height: 45px;
    padding: 0;
    border: none;
    border-radius: 0;
    background: #1271ee;
    transition: 0.4s;
}

/*
   ⚠️⚠️ DAS SVG DER BIBLIOTHEK WIRD AUSGEBLENDET, das Kreuz kommt als
   Font-Awesome-Glyphe - so macht es der Karten-Dialog
   (listMap.css: `button.close::before { content:"\f00d" }`), und der Nutzer hat den
   Unterschied am 17.8.2026 gesehen: das SVG der Bibliothek ist duenner gestrichelt
   und sitzt anders im Quadrat.
   ⚠️ Ausgeblendet wird das umschliessende <span>, NICHT nur das <svg> darin. Beim
   ersten Versuch stand nur `svg { display:none }` da - der leere span blieb als
   Flex-/Blockelement stehen, und die ::before-Glyphe war im 45px-Quadrat nicht zu
   sehen. Zusammen mit display:flex + Zentrierung sitzt sie jetzt mittig.
   ⚠️ font-weight:900 gehoert dazu: "Font Awesome 6 Free" liegt auf den Sites nur als
   solid-Schnitt, und ohne die 900 waehlt der Schriftabgleich zwar denselben Schnitt,
   aber man verlaesst sich dabei auf ein Verhalten statt auf eine Angabe.
*/
#cc-main .pm__close-btn > span,
#cc-main .cm__close-btn > span {
    display: none;
}

#cc-main .pm__close-btn::before,
#cc-main .cm__close-btn::before {
    content: "\f00d";
    font-family: "Font Awesome 6 Free";
    font-weight: 900;
    font-style: normal;
    font-size: 1.5rem;
    line-height: 1;
    color: #ffffff;
}

.no-touchevents #cc-main .pm__close-btn:hover,
.no-touchevents #cc-main .cm__close-btn:hover,
#cc-main .pm__close-btn:active,
#cc-main .cm__close-btn:active {
    background: #2e92ff;
}

/*
   ── Schalter wie die Kartenlegende ──────────────────────────────────────────────
   ⚠️ Vom Nutzer am 17.8.2026 gemeldet: "bei den toggles der karte gibt es keine
   harken und kein x, auch sehen die toggles insgesamt anders aus." Stimmt - die
   Bibliothek legt ein ✓ und ein ✗ in die Bahn und baut 50x23 statt 40x24.

   Vorbild (listMap.css, `.mdevents_map .legend-item .toggleswitch`):
     Bahn 40x24, Radius 24px, ohne Ring und ohne Schatten
     Knopf 18x18, weiss, 3px Rand, im Ein-Zustand translateX(16px)
   ⚠️ Die fuenf Zahlen 40/24/18/3/16 sind EIN Satz und haengen zusammen - genau wie
   drueben in listMap.css vermerkt. Wer eine davon aendert, aendert alle.
*/
#cc-main .toggle__icon-on,
#cc-main .toggle__icon-off {
    display: none;
}

#cc-main .toggle__icon {
    width: 40px;
    height: 24px;
    border-radius: 24px;
    box-shadow: none;
}

#cc-main .toggle__icon-circle {
    top: 3px;
    left: 3px;
    width: 18px;
    height: 18px;
    border-radius: 50%;
    box-shadow: none;
}

#cc-main .section__toggle:checked ~ .toggle__icon .toggle__icon-circle {
    transform: translateX(16px);
}

/*
   ── Ausklapp-Pfeile und Uebergangszeit ──────────────────────────────────────────
   ⚠️ Vom Nutzer am 17.8.2026 nachgereicht: "auch die ausklapper pfeile und die
   transision von 0.4 bitte aus dem design uebernehmen."

   Vorbild ist der Karten-Dialog (listMap.css):
     dialog.dialog-event .event-item-category::before  -> "\f0da" zugeklappt (caret-right)
                                                          "\f0d7" aufgeklappt (caret-down)
   ⚠️ Hier wird NICHT der Inhalt getauscht, sondern EIN Zeichen gedreht: "\f0da" um
   90 Grad ist deckungsgleich mit "\f0d7", und nur so laesst sich der Wechsel
   ueberhaupt weich fuehren. Ein Inhaltswechsel springt hart - und die 0,4 s, die
   ausdruecklich mitgewuenscht sind, waeren wirkungslos. Dieselbe Loesung benutzt die
   Kartenlegende bereits (`.legend-filter-angle::before`, dort mit "\f105").

   ⚠️ Das Icon sitzt VORNE, an der Stelle, an der die Bibliothek ihren eigenen Pfeil
   hat: ein 20px-SVG in einem gefuellten Kreis, absolut bei left:18px, wofuer der
   Titel bereits padding-left:3.4em reserviert. Der Kreis entfaellt ersatzlos - der
   Karten-Dialog setzt dort einen blanken Caret ohne Hintergrund.

   ⚠️⚠️ ZWEI Stolpersteine, beide am 17.8.2026 auf dev gemessen, nicht vermutet:
   1. `#cc-main .pm__section-arrow { display:none }` GREIFT NICHT. Die Bibliothek
      schreibt `#cc-main .pm__section--expandable .pm__section-arrow{display:flex}` -
      Spezifitaet 1-2-0 gegen 1-1-0, ihre Regel gewinnt. Es standen dadurch zwei
      Pfeile nebeneinander. Der Selektor unten nennt deshalb dieselbe Klassenkette.
   2. Der Aufklapp-Zustand haengt an der Klasse `is-expanded` AM ABSCHNITT, nicht an
      `aria-expanded` am Knopf. Mit dem Attributselektor drehte sich nichts
      (gemessen: transform blieb in beiden Zustaenden "none").
*/
#cc-main .pm__section--expandable .pm__section-arrow {
    display: none;
}

/*
   ⚠️ ABSTAND: der Pfeil steht DICHT am Text, nicht in einem breiten Feld davor.
   Vom Nutzer am 17.8.2026 an einem Akkordeon der Site gezeigt ("Ausklapper wie hier
   ... bzgl. abstaende"). Die Bibliothek reserviert fuer ihren Kreis-Pfeil
   `padding-left: 3.4em` am Titel - bei den 20px Schriftgroesse dieser Zeile sind das
   rund 68px, und der blanke Caret stand darin verloren weit links.
   Gerechnet wird jetzt wie im Karten-Dialog, der `margin-right: 8px` hinter dem
   Caret setzt:
       Pfeil bei 1rem, Pfeil 1rem breit  -> endet bei 2rem
       Text bei 2.5rem                   -> 0,5rem = 8px Abstand
   ⚠️ NUR padding-left ueberschreiben. Die senkrechten Innenabstaende der Zeile
   stammen aus derselben Kurzschreibweise der Bibliothek - wer `padding` statt
   `padding-left` setzt, plattet die Zeile mit.
*/
#cc-main .pm__section--expandable .pm__section-title {
    padding-left: 2.5rem;
}

/*
   ⚠️ DIE AUFGEKLAPPTE INHALTSFLAECHE BLEIBT WEISS. Ansage des Nutzers am 17.8.2026
   ("den bereich nicht faerben ... oder weiss faerben"), nachdem die Kopfzeile auf
   #cccccc gesetzt wurde: die Bibliothek zieht denselben Wert auch unter Beschreibung
   und Cookie-Tabelle, weil beide `--cc-cookie-category-block-bg` benutzen und die
   Variable im aufgeklappten Zustand umdefiniert wird. Gefaerbt werden soll aber nur
   die KOPFZEILE - der Text darunter steht auf dem Fenstergrund.
   ⚠️ Ausgeschrieben und nicht ueber die Variable geloest: die Variable traegt hier
   zwei Bedeutungen (Kopfzeile UND Inhaltsflaeche), eine Aenderung an ihr faerbt immer
   beides. Nur eine eigene Regel trennt die zwei.
*/
#cc-main .pm__section--toggle .pm__section-desc-wrapper,
#cc-main .pm__section--toggle .pm__section-desc {
    background: #ffffff;
}

#cc-main .pm__section--expandable .pm__section-title::before {
    content: "\f0da";
    font-family: "Font Awesome 6 Free";
    font-weight: 900;
    font-style: normal;
    font-size: 1rem;
    line-height: 1;

    position: absolute;
    left: 1rem;
    top: 50%;
    transform: translateY(-50%);

    width: 1rem;
    text-align: center;
    transition: transform 0.4s;
}

#cc-main .pm__section--expandable.is-expanded .pm__section-title::before {
    transform: translateY(-50%) rotate(90deg);
}

/*
   ⚠️ 0,4 s ueberall, wie im Kartendesign. Die Bibliothek liefert 0,25 s an den
   Schaltern und 0,15 s an den Knoepfen - beides schneller als alles andere auf der
   Site (`transition:0.4s` steht in listMap.css an Zoomknoepfen, Schliessknopf,
   Schalter und Kategoriezeile).
   ⚠️ An den Knoepfen werden die EINZELNEN Eigenschaften genannt und nicht `all`:
   ein pauschales `all` zoege auch Groessen- und Positionswechsel mit, und die
   Knoepfe muessen gleichgewichtig BLEIBEN (OH Rn. 135) - ein animierter
   Groessenunterschied waere genau das, was die Regel verhindern soll.
*/
#cc-main .toggle__icon,
#cc-main .toggle__icon-circle {
    transition: transform 0.4s ease, background-color 0.4s ease;
}

#cc-main .cm__btn,
#cc-main .pm__btn {
    transition: background-color 0.4s, border-color 0.4s, color 0.4s;
}

/*
   ── DAS BANNER STEHT HOEHER, STATT PLATZ ANZUHAENGEN (18.8.2026) ────────────
   Ansage des Nutzers: "setz den banner etwas hoeher, so dass man einen kleinen
   abstand unter dem banner hat, so das man, wenn man moechte dazwischen das
   Impressum oder Datenschutz anklicken kann. Ohne Fussraumluecke" - fester Wert
   fuer ALLE Sites. Zuerst 50px probiert, am 18.8.2026 auf 100px erhoeht.

   Vorher haengte fussraumFreihalten() dem <body> die volle BANNERHOEHE als
   padding-bottom an, damit die Fusszeile ueber das Banner geschoben werden kann.
   Auf sprezu LIVE gemessen: 397px bei 1920 Breite, 373px bei 390 - ein leerer
   Streifen unter dem Footer, solange das Banner steht. Genau der sollte weg.

   ⚠️ Die Bibliothek setzt `#cc-main .cm--bottom { bottom: var(--cc-modal-margin) }`,
   also 1rem = 16px. Hier werden daraus 100px.

   ⚠️⚠️ DIE ZWEI REGELN UNTEN GEHOEREN ZUSAMMEN. Das Anheben allein bringt gar
   nichts: fussraumFreihalten() bemisst den Fussraum an der HOEHE des Banners,
   nicht an seiner Lage - die Luecke bliebe stehen und der Abstand kaeme obendrauf.
   Wer eine der beiden Regeln entfernt, bekommt entweder die Luecke zurueck oder
   ein Banner, das die Fusszeile wieder verdeckt.
   ⚠️ Der Fussraum ist ein INLINE-Stil am <body> - den schlaegt nur `!important`.
   Eng gefasst auf `html.show--consent`, weil er genau dann gesetzt wird; vorher
   geprueft, dass keine der Sites selbst ein padding-bottom am body fuehrt (die
   Treffer waren durchweg `body:after`-Debugmarken).
   ⚠️ Das Skript RECHNET den Wert weiterhin und setzt ihn - er wird hier nur
   ueberschrieben. Das ist fuer den Versuch Absicht: vollstaendig reversibel und
   ohne die Fassungsnummer des eID-Skripts anzufassen (eine CSS-Datei bekommt
   ihren Cache-Brecher aus der mtime, das eID-Skript nicht). Bleibt die Loesung,
   gehoert das Abschalten in fussraumFreihalten() selbst - dann MIT v=-Bump.

   🔴🔴 OFFEN UND UNGEPRUEFT, BEVOR DAS AUF PROD GEHT: ob 100px reichen, damit
   Impressum und Datenschutz am Seitenende anklickbar BLEIBEN (OH Digitale
   Dienste, Rn. 121). Der Spalt zeigt am Scroll-Anschlag die letzten 100px des
   Dokuments - liegt die Linkzeile hoeher, ist sie verdeckt, und das war der
   ganze Zweck des Fussraums. Der bisherige Weg war haesslich, aber er MASS und
   zog automatisch nach (247-499px je nach Breite und Textlaenge); dieser hier
   ist ein fester Wert an einer Rechtspflicht. Im Browser nachmessen.
*/
#cc-main .cm--bottom {
    bottom: 100px;
}

html.show--consent body {
    padding-bottom: 0 !important;
}

/*
   Der dauerhafte Widerrufsreiter.
   ⚠️⚠️ Er ersetzt den `.cc-revoke`-Reiter der alten Bibliothek. orestbida bringt keinen
   mit, und ohne ihn gaebe es nach der Entscheidung KEINEN sichtbaren Weg mehr, sie zu
   aendern - Verstoss gegen Art. 7 Abs. 3 S. 4 DS-GVO und OH Rn. 126. Am 14.8.2026
   nachgemessen: ohne diesen Knopf null Widerrufswege auf der Seite.

   ⚠️⚠️ ER BLEIBT UNVERAENDERT, auch nachdem das Fenster hell geworden ist. Beim
   Umbau am 17.8.2026 hatte ich ihn auf deckendes #1271ee gezogen; der Nutzer hat das
   noch am selben Tag zurueckgewiesen ("das flag auf der Startseite links am rand unten
   soll wieder aussehen wie vorher"). Der Grund traegt auch fachlich: der Reiter liegt
   ueber der SEITE, nicht im Fenster, und muss sich gegen beliebige Seiteninhalte
   behaupten - der durchscheinende Weissschleier mit Weichzeichner tut das auf hellen
   wie auf dunklen Hintergruenden. Nicht erneut an die Fenstergestaltung angleichen.
*/
.md-consent-reiter {
    position: fixed;
    left: 0;
    bottom: 100px;
    z-index: 100;

    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;

    /*
       ⚠️ Die 1.875rem OBEN sind kein Zierrat - sie sind der Platz, auf dem das
       Cookie-Symbol sitzt (`::before`, absolut bei top:8px). Wer sie kuerzt, legt
       das Symbol in das Wort "Cookies". Genau das ist bis zum 19.8.2026 auf den
       Landesverbands-Sites passiert, weil der Reiter als <button type="button">
       unter die Formularknopf-Regel von custom_md fiel (0-1-1 schlaegt 0-1-0);
       das type-Attribut ist deshalb aus widerrufsReiter() entfernt.
       ⚠️ `margin: 0` steht ausdruecklich da und nicht nur im `*`-Reset (0-0-0):
       eine blosse `button { margin: ... }`-Regel irgendeiner Hausschrift wuerde den
       Reiter sonst verschieben - dieselbe Regel hat ihm vorher 0.5em/1em verpasst. */
    margin: 0;
    padding: 1.875rem 0.4rem 0.1rem 0.4rem;
    border: 0;
    border-radius: 0;
    outline: 1px solid #fff;

    font-family: "Source Sans Pro", sans-serif;
    font-size: 0.75rem;
    font-weight: 700;
    color: #fff;
    background: rgba(255, 255, 255, 0.2);
    backdrop-filter: blur(5px);
    -webkit-backdrop-filter: blur(5px);

    cursor: pointer;
    transition: 0.4s;
}

.md-consent-reiter::before {
    font-family: "Font Awesome 6 Free";
    font-style: normal;
    font-variant: normal;
    line-height: 1;
    text-rendering: auto;
    content: "\f563";
    font-size: 1.125rem;
    position: absolute;
    top: 8px;
}

.no-touchevents .md-consent-reiter:hover,
.md-consent-reiter:active {
    background: #2e92ff;
}

/*
   ⚠️ Eigener Fokusring. Ohne ihn waere der Knopf mit der Tastatur unsichtbar.
   #003567 auf Weiss sind 12,32:1; dieselbe Farbe und dieselbe Staerke wie der
   Fokusring der Kartenlegende (listMap.css, .toggleswitch .slider:focus-visible).
*/
.md-consent-reiter:focus-visible {
    outline: 0.1875rem solid #003567;
    outline-offset: 0.125rem;
}

/**
 * Platzhalter fuer gesperrte Fremdeinbettungen (siehe ExternalContentBlocker.php).
 *
 * Bewusst eigenstaendig gehalten: die Datei wird auf allen Sites der Installation
 * ausgeliefert, die das statische Template einbinden. Sie darf deshalb keine
 * Variablen, Mixins oder Klassen eines einzelnen Site-Themes voraussetzen.
 *
 * Masse in rem (Basis 16px).
 */

/* Der gesperrte Rahmen selbst nimmt keinen Platz ein - sichtbar ist der Kasten
   davor. Ueber das Datenattribut, nicht ueber eine Klasse: so kann keine fremde
   Regel und kein Redakteur die Sperre versehentlich aufheben. */
iframe[data-md-src] {
    display: none !important;
}

/* ⚠️ Der Kasten und seine Zeilen sind <span>, nicht <div>/<p> - warum, steht in
   platzhalter() in ExternalContentBlocker.php: als Blockelement bricht der
   Platzhalter den umgebenden RTE-Absatz auf. Das Aussehen macht deshalb hier
   das display, nicht die Auszeichnung. display:flex blockifiziert den span
   ohnehin; die Zeilen bekommen display:block trotzdem ausdruecklich, damit sie
   auch dann untereinander stehen, wenn eine Site-Regel das flex ueberschreibt. */
.md-sperre {
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 0.5rem;
    padding: 1.25rem;
    border: 0.0625rem solid #c6c6c6;
    border-radius: 0.25rem;
    background: #f4f4f4;
    color: #1a1a1a;
    font-size: 1rem;
    line-height: 1.45;
}

.md-sperre > span {
    display: block;
    margin: 0;
}

.md-sperre__titel {
    font-weight: 700;
}

.md-sperre__host {
    font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
    font-size: 0.875rem;
    /* Lange Hostnamen duerfen den Kasten nicht sprengen. */
    overflow-wrap: anywhere;
}

.md-sperre__hinweis {
    font-size: 0.875rem;
}

.md-sperre__knopf {
    margin-top: 0.25rem;
    padding: 0.5rem 1.125rem;
    border: 0.0625rem solid #1271ee;
    border-radius: 0.1875rem;
    background: #1271ee;
    color: #fff;
    font: inherit;
    font-size: 1rem;
    line-height: 1.2;
    cursor: pointer;
}

.md-sperre__knopf:hover {
    background: #0d5bc4;
    border-color: #0d5bc4;
    color: #fff;
}

/* Sichtbarer Fokusring, der auch auf dem gefuellten Knopf noch Kontrast hat:
   aussen liegend, damit ihn der Knopfhintergrund nicht schluckt. */
.md-sperre__knopf:focus-visible {
    outline: 0.1875rem solid #1a1a1a;
    outline-offset: 0.125rem;
}

/* Rueckfall fuer Browser ohne :focus-visible - dort lieber ein Ring zu viel
   als keiner. */
.md-sperre__knopf:focus {
    outline: 0.1875rem solid #1a1a1a;
    outline-offset: 0.125rem;
}

.md-sperre__knopf:focus:not(:focus-visible) {
    outline: none;
}

@media (prefers-contrast: more) {
    .md-sperre {
        border-color: #1a1a1a;
        background: #fff;
    }
}

.tx-solr-autosuggest { border: 1px solid #CCC; background: #FFF; overflow: auto; }
.tx-solr-autosuggest strong { font-weight: bolder; color: #f18f0b; }
.tx-solr-autosuggest .autocomplete-suggestion { padding: 2px 5px; white-space: nowrap; overflow: hidden; }
.tx-solr-autosuggest .autocomplete-selected { background: #F1E0B6; }
.tx-solr-autosuggest .autocomplete-group { padding: 10px 5px; }
.tx-solr-autosuggest .autocomplete-group strong { display: block; border-bottom: 1px solid #999; }
/*****************************************************************
 *
 *  styles for extension "buergerbegehren"
 *
 *****************************************************************/
.tx-buergerbegehren-list { min-width:600px; }
.tx-buergerbegehren-list h2 { margin-top:1em; }

.tx-buergerbegehren-searchform { position:relative; overflow:hidden; }
.tx-buergerbegehren-search-field { width:auto; }

.tx-buergerbegehren-search-field.field-selected input,
.tx-buergerbegehren-search-field.field-selected select { background-color:#e1dd19; }

.tx-buergerbegehren-fieldset { margin-bottom:2em; }
.tx-buergerbegehren-fieldset label { display:block; width:30%; min-width:50px; margin-right:1em;}
.tx-buergerbegehren-fieldset input[type=text],
.tx-buergerbegehren-fieldset select { width:calc(70% - 1em); min-width:400px; }
.tx-buergerbegehren-search-field-abjahr input[type=text],
.tx-buergerbegehren-search-field-bisjahr input[type=text] { min-width:100px; max-width:160px; }
.tx-buergerbegehren-search-field-numberofdata label { width:99%; padding-bottom:10px; line-height:1.3; }
.tx-buergerbegehren-search-field-numberofdata label.numberofdata { display:inline-block; float:none; width: 50px;}
.tx-buergerbegehren-search-field-numberofdata input[type=radio] { display:inline-block; float:none; position: relative; top: 4px;}
.tx-buergerbegehren-result-table { width:auto; border:0 solid #d0d0d0; }
.tx-buergerbegehren-result-th { padding:4px; background-color:#798989; border:1px solid #e0e0e0; color:white; font-weight:600; }
.tx-buergerbegehren-result-td { padding:3px; border:1px solid #d0d0d0; vertical-align:top; padding:3px; line-height:1.5; }
.tx-buergerbegehren-result-table tr td:nth-child(2) {
    white-space: nowrap;
    -webkit-hyphens: none;
    -moz-hyphens: none;
    -ms-hyphens: none;
    hyphens: none;
}
table.tx-buergerbegehren-result-table tbody > tr:first-child td { text-align:left !important; font-weight:400 !important; }
.tx-buergerbegehren-result-td a { text-decoration:none; }
.tx-buergerbegehren-result-Thema { font-size:110%; font-weight:bold; }
.tx-buergerbegehren-result-Themenbereich { padding-left:20px; }

#tx-buergerbegehren-result-table-loading { width:100%;height:80px; background:url('../../../typo3conf/ext/buergerbegehren/Resources/Public/Icons/spinner_loading.gif') center center no-repeat; }

ul.no-bullets { list-style:none; }
ul.no-bullets li { margin-right:1.5em; }
.tx-buergerbegehren-result-pagebrowser ul.horizontal { display:flex; justify-content: center; }
.tx-buergerbegehren-single-smalltitle { margin-bottom:1em; }
.tx-buergerbegehren-single-title { margin-bottom:1em; }
.tx-buergerbegehren-single-ort { margin-bottom:2em; }
.tx-buergerbegehren-single-table { width:100%; }
.tx-buergerbegehren-single-td { padding-left:0; border-top:none; vertical-align:top; }
table.tx-buergerbegehren-single-table tbody > tr:first-child td { text-align:left; font-weight:400; }
.tx-buergerbegehren-single-td h2 { margin-top:0; }
.tx-buergerbegehren-single-td h2.Bundesland { font-weight:normal; }
.tx-buergerbegehren-single-td dt { margin-top:1em; margin-bottom:0; font-weight:700; }
.tx-buergerbegehren-single-td dd { margin-left:0; }
.tx-buergerbegehren-single-td0 { width:65%; padding-right:3%; }
dt.tx-buergerbegehren-single-Fragestellung,
dt.tx-buergerbegehren-single-Ergebnis { margin-bottom:1em; }
dd.tx-buergerbegehren-single-Fragestellung,
dd.tx-buergerbegehren-single-Ergebnis { margin-bottom:1em; padding:0.75em; background-color:#03548a; border:1px solid #798989; color:white; font-size:125%; }
dd.tx-buergerbegehren-single-Ergebnis { display:inline-block; }
dd.tx-buergerbegehren-single-Ergebnis[data-outputlong="Offen"] { background-color:#c0c0c0; }
.tx-buergerbegehren-single-td1 { width:30%; padding:0.75em; background-color:#f0f0f0; }
.tx-buergerbegehren-single-td1 { color:#808080; }
.tx-buergerbegehren-single-td1 h2 { color:#202020; }

.tx-buergerbegehren-search { overflow:hidden; }
.tx-buergerbegehren-search figure { float:right; width:33%; padding-left:3em; }

.tx-buergerbegehren-result-pagebrowser .button { display:inline-block; margin:2em 1em; text-transform:uppercase; }
.pageContent .tx-buergerbegehren-result-pagebrowser .button span,
.pageContent .tx-buergerbegehren-result-pagebrowser .button a { display:block; padding:0.25em 2em; background-color:#c0c4c8; text-decoration:none; }
.pageContent .tx-buergerbegehren-result-pagebrowser .button a { background-color:#adb901; color:white; }
.no-touch .pageContent .tx-buergerbegehren-result-pagebrowser .button a:hover { position:relative; top:1px; left:1px; opacity:0.7; }

@media only screen and (max-width:992px) {
    .tx-buergerbegehren-search form { clear:both; float:none; width:100%; }
    .tx-buergerbegehren-search figure { clear:both; float:none; width:50%; margin:0 auto; padding-top:2em; }
    .tx-buergerbegehren-search img { width:100%; max-width:150%; }
}
@media only screen and (max-width:768px) {
    .tx-buergerbegehren-search figure { width:80%;  }

    .tx-buergerbegehren-single-td { display:block; width:100%; padding-bottom:2em; }
}

/*** START - Reset CSS ***//**/
* { margin:0; padding:0; box-sizing:border-box; }
ul,ol { margin-bottom:0; }
li { margin-left:1.25em; }
table caption { display:none; }
th { text-align:left; vertical-align:top; }
td { vertical-align:top; }
dt { font-weight:600; }
fieldset { border:0; }
iframe { border:0; }
address { margin-bottom:0; font-style:normal; }
hr { display:block; height:1px; border:0; border-top:1px solid #ccc; margin:1em 0; padding:0; }
img, embed, object, video { max-width:100%; height:auto; }
strong,b { font-weight:700; }
dialog { width:100%; max-width:800px; min-width:280px; margin:auto; padding:1em; border:none; }
@media only screen and (max-width:800px) { dialog { max-width:calc(100% - 3rem); } }
dialog > button:first-child { float:right; width:40px; height:40px; border:none; cursor:pointer; background:url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 384 512"><path fill="%23202020" d="M342.6 150.6c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L192 210.7 86.6 105.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3L146.7 256 41.4 361.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0L192 301.3 297.4 406.6c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3L237.3 256 342.6 150.6z"/></svg>') center no-repeat; }
::-webkit-input-placeholder,:-moz-placeholder,::-moz-placeholder,:-ms-input-placeholder { color:#a0a0a0; opacity:1; }
::-moz-selection,::selection { background:#b3d4fc; text-shadow:none; }
::backdrop { background-color:#000000cc; }
:required { background-color:#dcf6ff; }
select:focus,textarea:focus,input:focus:not([type="submit"]) { outline:none; border:1px solid #1a7dff;}
/*** END - Reset CSS ***/


/*** START - General helper classes ***/
.hidden { display:none !important; visibility:hidden; }
.visuallyhidden { border:0; clip:rect(0 0 0 0); height:1px; margin:-1px; overflow:hidden; padding:0; position:absolute; width:1px; }
.visuallyhidden.focusable:active,.visuallyhidden.focusable:focus { clip:auto; height:auto; margin:0; overflow:visible; position:static; width:auto; }
.invisible { visibility: hidden; }
.clearfix::before,.clearfix::after { content:" "; display:table; }
.clearfix::after { }
.clearfix { zoom:1; clear:both; }
.display-flex { display:flex; }
.justify-content-center { justify-content:center; }
.flex-children-width-33 > * { flex:1 1 33%; max-width:33%; }
.text-align-center { text-align:center; }
.cursor-pointer { cursor:pointer; }
.padding-default { padding:2em; }
.big-numbers { font-size:40px; font-weight:300; }
.cursor-pointer { cursor:pointer; }
.debug-info { display:inline-block; position:fixed; top:40px; left:20px; border:1px solid gray; padding:3px; background-color:#ffffff; opacity:0.5; font-size:11px; z-index:9999; }
.navi li { list-style:none; margin-left:0; }
.navi.horizontal { display:flex; }
/*** END - General helper classes ***/


/*** START - Tooltip container ***/
.tooltip { position:relative; display:inline-block; }
/** Tooltip text **/
.tooltip .tooltiptext { visibility:hidden; width:200px; background-color:#000000; color: #ffffff; font-size:16px; text-align:center; padding:5px; border-radius:3px; position:absolute; z-index: 100; }
/** Show the tooltip text when you mouse over the tooltip container **/
.tooltip:hover .tooltiptext { visibility:visible; }
/*** END - Tooltip container ***/


/*** START - Basic Font Styles ***/
html { font-size:16px; }
h1 {font-size:1.75rem; font-weight:600; line-height:1.25; margin-bottom:1.125rem; }
h1.with-subtitle-following { margin-bottom:0.625rem; }
h2 { font-size:1.5rem; font-weight:600; line-height:1.25; margin-bottom:1.125rem; }
h2.with-subtitle-following { margin-bottom:0.625rem; }
h3 { font-size:1.25rem; font-weight:600; line-height:1.5; margin-bottom:1.125rem; }
h3.with-subtitle-following { margin-bottom:0.625rem; }
h4 { font-size:1.125rem; font-weight:600; line-height:1.5; margin-bottom:0.8755rem; }
h1 strong, h2 strong, h3 strong, h4 strong { font-weight:600; }
h4.with-subtitle-following { margin-bottom:0.625rem; }
h1+p.subtitle { font-size:1.5rem; font-weight:600; } /* wie h2 */
h2+p.subtitle, h3+p.subtitle, h4+p.subtitle { font-size:1rem; font-weight:700; } /* wie p nur fett  */

h2.startbig { font-size:3rem; hyphens:none; margin:0; text-transform:uppercase; }
h3.startbig { font-size:2rem; }
@media only screen and (max-width: 800px) {
    h2.startbig { font-size:2rem;  }
    h3.startbig { font-size:1.5rem; }
}

/*.frame > header,.ce-bodytext h1,.ce-bodytext h2,.ce-bodytext h3,.ce-bodytext h4 { margin-bottom:24px; }*/
p.bodytext-extralarge { font-size:1.75rem; line-height:1.25; margin-bottom:1.125rem; } /* wie h1 */
p.bodytext-large { font-size:1.5rem; line-height:1.25; margin-bottom:1.125rem; } /* wie h2 */
p.bodytext-larger { font-size:1.125rem; line-height:1.5; margin-bottom:1.125rem; } /* wie h4 */
p.bodytext-extralarge strong, p.bodytext-large strong, p.bodytext-larger strong { font-weight:600; } /* wie h4 */
p.bodytext-smaller { font-size:0.875rem; }
p, dl, dd, table, ul, ol { margin-bottom:1.5rem; }
p + ul, p + ol { margin-top:-1rem; }
.frame { position: relative; }
p,dl,dd,table,ul { margin-bottom:1.5rem; }
li { margin-bottom:0.25rem; }

p.bodytext-extralarge { font-size: 28px; }
p.bodytext-large { font-size: 24px; }
p.bodytext-larger { font-size: 18px; }
p.bodytext-smaller { font-size: 14px; }

.frame { position: relative; }
p,dl,dd,table,ul { margin-bottom:1.5em; }
p + ul { margin-top:-1em; }
li { margin-bottom:0.25em; }
.ce-bodytext > p:last-child, .ce-bodytext > ul:last-child, ce-bodytext > ol:last-child, .ce-bodytext > ul:last-child li:last-child, .ce-uploads li:last-child { margin-bottom:0; }
/*** END - Basic Font Styles ***/


/*** START - Fluid Content Elements ***/
.ce-text-left,.text-left { text-align: left; }
.ce-text-center,.text-center { text-align: center; }
.ce-text-right,.text-right { text-align: right; }

.ce-table thead,.ce-table tbody th { background-color: rgba(0,0,0,.1); }
.ce-table td,.ce-table th { vertical-align: top; }
.ce-table th { min-width: 80px; white-space: nowrap; }
.ce-table th[data-column-header="Nr."] { width: 30px; min-width: unset; max-width: 30px; padding-left: 4px; padding-right: 4px; text-align: center; }
.ce-table thead > tr:nth-child(2) > th,.ce-table tbody > tr > th:nth-child(2) { font-weight: 400; white-space: normal; }

/*.ce-textpic,.ce-image,.ce-nowrap .ce-bodytext,.ce-gallery,.ce-row,*/
.ce-uploads li,.ce-uploads div { overflow: hidden; }


/** START CE Gallery ***/
/*.ce-left .ce-gallery,*/
/*.ce-column { float: left; }*/
/*.ce-center .ce-outer { position: relative; float: right; right: 50%; }
.ce-center .ce-inner { position: relative; float: right; right: -50%; }*/
/*.ce-right .ce-gallery { float: right; }*/
/*.ce-gallery figure { display: table; margin: 0; }*/
/*.ce-gallery figcaption { display: table-caption; caption-side: bottom; }*/
.ce-textpic { display:flex; flex-direction:column; width:100%; }
.ce-textpic.ce-intext { display:block; flex-direction:unset; overflow: hidden; }
.ce-textpic.ce-intext.ce-nowrap.ce-left { display:flex; flex-direction:row; }
.ce-textpic.ce-intext.ce-nowrap.ce-right { display:flex; flex-direction:row-reverse; }
.ce-above > div.ce-gallery + div.ce-bodytext { margin-top:2rem!important; }
.ce-below > div.ce-bodytext + div.ce-gallery { margin-top:2rem!important; }
.ce-above .ce-gallery .ce-row,.ce-below .ce-gallery .ce-row { display:flex; flex-direction:row; margin-bottom:1rem; }
.ce-above .ce-gallery[data-ce-columns="1"] .ce-row,.ce-below .ce-gallery[data-ce-columns="1"] .ce-row { margin-bottom:0; }
.ce-above .ce-gallery[data-ce-columns="1"] > div.ce-row:last-child,.ce-below .ce-gallery[data-ce-columns="1"] > div.ce-row:last-child { margin-bottom:0; }
.ce-center .ce-gallery { align-self:center; }
.ce-center .ce-gallery .ce-row { align-items:center; }
.ce-center .ce-gallery[data-ce-columns="1"] .ce-row { align-items:center; }
.ce-right .ce-gallery { align-self:end; }
.ce-right .ce-gallery .ce-row { align-items:end; }
.ce-right .ce-gallery[data-ce-columns="1"] .ce-row { align-items:end; }
.ce-left .ce-gallery[data-ce-columns="1"] .ce-row { align-items:start; }

/*.ce-left .ce-gallery, .ce-left .ce-bodytext {flex:1 1 calc(50% - 1rem); min-width:calc(50% - 1rem);}*/
/*.ce-left .ce-gallery { margin-right:1em; }*/
/*.ce-left .ce-bodytext{ margin-left:1em; }*/

.ce-intext.ce-left .ce-gallery { float:right; margin-right:2rem; }
.ce-intext.ce-right .ce-gallery { float:right; margin-left:2rem; }
.ce-intext .ce-gallery { margin-bottom:1.5rem; }
.ce-textpic.ce-intext.ce-nowrap .ce-gallery { flex:1 1 400px; align-self: self-start; }
.ce-textpic.ce-intext.ce-nowrap .ce-bodytext { flex:1 1 calc(100% - 400px); }

.ce-gallery figure .imageWrapper { margin:0; }
.ce-gallery figcaption { margin-top:12px; }
.ce-gallery img { display: block; }
.ce-gallery .ce-column:has(.video) { width: 100%; }
/* Auch die Galerie selbst braucht eine feste Breite, sobald ein Video darin steht.
   .ce-textpic ist ein Flex-Container (flex-direction: column), .ce-gallery darin
   also ein Flex-Kind mit Inhaltsbreite — die Breite kam bisher vom Vorschaubild.
   styles-plugins.css stellt dieses Bild absolut, damit es den 16:9-Rahmen füllt;
   ohne die Zeile hier fällt dann die ganze Kette .ce-gallery > .ce-outer >
   .ce-inner > .ce-row > .ce-column auf Breite 0. Am 10.8.2026 im Browser gemessen. */
.ce-textpic .ce-gallery:has(figure.video) { width: 100%; }
.ce-gallery iframe { width: 100%; max-height: 700px; border-width: 0; }
.ce-border img,.ce-border iframe { border: 2px solid #000000; padding: 0; }
.imageWrapper { position:relative; }
.ce-image-no-margin figure { width:calc(100% + 4em); max-width:calc(100% + 4em); margin-left:-2em; }
/* Ohne die drei folgenden Zeilen blieb das Bild auf seiner Dateibreite stehen.
   Die ganze Kette .ce-gallery > .ce-outer > .ce-inner > .ce-row > .ce-column
   besteht aus Flex-Kindern mit Inhaltsbreite und schrumpft um das Bild herum; die
   4em Ueberhang der Zeile 167 werden dann von einem zu schmalen Kasten berechnet.
   Nur width:100% am Bild bringt lediglich die 2em der rechten Seite — erst alle
   drei zusammen nutzen den ganzen Platz (gemessen: 1167 -> 1303 px).
   ⚠️ Die Galerie-Zeile ist noetig, weil .ce-textpic ein Flex-Container ist: bei
   ce-left stehen die Kinder auf stretch und fuellen die Breite von allein, bei
   ce-center und ce-right nicht. Ohne sie blieben vier der sechs Positionen
   (oben/unten x links/mittig/rechts) kaputt — mittig 125px, rechts 249px zu weit
   innen. Bewusst auf ce-above/ce-below begrenzt: bei ce-intext steht das Bild
   neben dem Text, dort waere volle Breite falsch (nachgemessen: unveraendert).
   Ist die Datei schmaler als der Platz, wird sie hochgerechnet.
   Videos bleiben unberuehrt: figure.video .video-shariff-play img in
   styles-plugins.css ist mit 0-2-2 spezifischer, ebenso die .aside-Zeile unten mit
   0-2-1 gegen 0-1-2 hier. Am 12.8.2026 im Browser gemessen. */
.ce-textpic.ce-above .ce-gallery.ce-image-no-margin,
.ce-textpic.ce-below .ce-gallery.ce-image-no-margin { width: 100%; }
.ce-gallery.ce-image-no-margin[data-ce-columns="1"] .ce-column { width: 100%; }
.ce-image-no-margin figure img { width: 100%; }
/* Videos brauchen den Linkszug ausdruecklich noch einmal. figure.video in
   styles-plugins.css setzt die Kurzform margin:var(--video-figure-margin) (=0) und
   hat mit 0-1-1 die GLEICHE Spezifitaet wie die Zeile 167 — im Buendel steht
   styles-plugins.css spaeter und gewinnt damit. Die Breite calc(100% + 4em) blieb,
   der Versatz -2em fiel weg: der ganze Ueberhang kippte nach rechts, davon 32px
   ueber die Rahmenkante hinaus. Mit der Zeile hier liegt das Video wieder buendig
   auf dem Rahmen (auf www gemessen: 80..1383 bei Rahmen 80..1383, Ueberstand 0/0).
   Am 12.8.2026 im Browser gemessen. */
.ce-image-no-margin figure.video { margin-left: -2em; }
.aside .ce-image-no-margin img { width:calc(100% + 2em); max-width:calc(100% + 2em); margin-left:-1em; }
.image-metadata { position:absolute; bottom:2px; right:2px; padding:2px 2px 2px 6px; background-color:#ffffff; opacity:0.8; color:black; font-size:12px; line-height:1; cursor: context-menu; }
/** END CE Gallery ***/

/* 2026-06-23 SP: */
.image-metadata { z-index: 10; }

    /*
    .ce-column { margin-right: 48px; }
    .ce-column:last-child { margin-right: 0; }
    .ce-row { margin-bottom: 48px; }
    .ce-row:last-child { margin-bottom: 0; }
    .ce-above .ce-bodytext { clear: both; }
    */

.ce-intext.ce-left ol,.ce-intext.ce-left ul { padding-left: 40px; overflow: auto; }

.ce-headline-left { text-align: left; }
.ce-headline-center { text-align: center; }
.ce-headline-right { text-align: right; }

.ce-uploads { margin: 0; padding: 0; }
.ce-uploads li { list-style: none outside none; margin-bottom:1.5em; margin-left:0; line-height:1.5; }
.ce-uploads img { float: left; padding-right: 1em; margin-top:4px; }
.ce-uploads span { display: block; }

.frame-type-table { overflow:scroll; overflow-y:hidden; -webkit-overflow-scrolling:touch; }
/* TODO
.frame-type-textmedia .ce-bodytext { overflow:scroll; overflow-y:hidden; -webkit-overflow-scrolling:touch; }
 */
.ce-table { width: 100%; max-width: 100%; }
.ce-table th, .ce-table td { padding: 0.5em 0.75em; vertical-align: top; }
.ce-table thead > tr:nth-child(2) th { font-size:0.875em; }
.ce-table thead > tr:first-child th  { font-size:1.125em; }
.ce-table-striped tbody tr:nth-of-type(even) { background-color: rgba(0,0,0,.05); }
.ce-table-striped tbody tr:nth-of-type(odd) { background-color: rgba(0,0,0,.01); }
.ce-table-striped thead th { border-bottom:none; }
.ce-table-striped th, .ce-table-striped td { border-top:none; }
.ce-table-bordered,.ce-table-bordered th,.ce-table-bordered td { border-collapse:collapse; }
.ce-table-bordered thead { background-color: rgba(0,0,0,.05); }
.ce-table-bordered th, .ce-table-bordered td { border: 1px solid #dadada; }

@media only screen and (max-width: 800px) {
    .ce-image-no-margin figure {
        width: calc(100% + 2rem);
        max-width: calc(100% + 2rem);
        margin-left: -1rem;
        margin-top: -1rem;
    }
    /* Gleiche Ueberschreibung wie oben, hier mit dem mobilen Wert. Nur margin-left:
       das margin-top oben wird von figure.video ebenfalls genullt, das ist aber
       Vertikalabstand und nicht der gemeldete Fehler — bewusst unangetastet. */
    .ce-image-no-margin figure.video { margin-left: -1rem; }
    .ce-table-responsive tr {
        display: block;
        clear: both;
        height: auto;
        margin-bottom: 1em;
    }
    .ce-table-responsive tbody th,
    .ce-table-responsive td {
        display: block;
        width: 100%;
        padding: 1em;
        overflow: auto;
    }
    .ce-table-responsive.ce-table-striped tbody tr:nth-of-type(even) {
        background-color: transparent;
    }
    .ce-table-responsive.ce-table-striped tbody tr:nth-of-type(odd) {
        background-color: transparent;
    }
    .ce-table-responsive.ce-table-striped tr td:nth-child(odd) {
        background-color: rgba(0, 0, 0, 0.05);
    }
    .ce-table-responsive.ce-table-striped tr td:nth-child(even) {
        background-color: rgba(0, 0, 0, 0.01);
    }
    .ce-table-responsive.ce-table-striped tr td:first-child {
        background-color: rgba(0, 0, 0, 0.15);
    }

    /* Display data-column-header string as pseudo column header */
    .ce-table-responsive th[data-column-header]:before,
    .ce-table-responsive td[data-column-header]:before {
        content: attr(data-column-header);
        display:block;
        width:100%;
        font-weight: 600;
        white-space: normal;
    }
    .ce-table-responsive br {
        visibility: hidden;
    }
    .ce-table-responsive thead {
        display: none;
    }
    .ce-table-responsive[data-table-header-left="2"] tbody > tr > th:first-child {
        float: left;
        width: 42px;
        max-width: 42px;
        padding-left: 1em;
    }
    .ce-table-responsive[data-table-header-left="2"] tbody > tr > th:nth-child(2) {
        float: left;
        width: calc(100% - 42px);
    }
}


/*** START Abstand davor + danach ***/
.frame-space-before-extra-small { margin-top:1rem; }
.frame-space-before-small { margin-top:1.5rem; }
.frame-space-before-medium { margin-top:2rem; }
.frame-space-before-large { margin-top:3rem; }
.frame-space-before-extra-large { margin-top:4.5rem; }
.frame-space-after-extra-small { margin-bottom:1rem; }
.frame-space-after-small { margin-bottom:1.5rem; }
.frame-space-after-medium { margin-bottom:2rem; }
.frame-space-after-large { margin-bottom:3rem; }
.frame-space-after-extra-large { margin-bottom:4.5rem; }
/*** END Abstand davor + danach ***/

/*** START line before/after ***/
.frame-ruler-before::before { content: ''; display: block; border-top: 1px solid rgba(0,0,0,0.25); margin-bottom: 2em; }
.frame-ruler-after::after { content: ''; display: block; border-bottom: 1px solid rgba(0,0,0,0.25); margin-top: 2em; }
/* ⚠️ BEKANNTE LUECKE, bewusst so gelassen (geprueft 5.8.2026): diese vier Zeilen sind eine
   Sonderbehandlung NUR fuer Gridelements - statt des Strichs aus ::before/::after (zwei
   Zeilen darueber, 1px rgba(0,0,0,0.25)) bekommt das Element selbst einen durchgezogenen
   SCHWARZEN Rand, und das Pseudoelement wird abgeschaltet. Ein CONTAINER mit derselben
   Klasse trifft diese Regeln nicht und bekommt den allgemeinen, hellen Strich. Das ist
   also kein fehlender Strich, sondern ein anderer.
   Nicht nachgezogen, weil bei der Durchsicht KEIN Container die Klassen frame-ruler-before
   oder frame-ruler-after traegt. Taucht einer auf und sieht anders aus als die Gridelements
   daneben, hier ".frame-type-container2cols" & Co. ergaenzen - am besten als :is()-Liste.
   Die Fusszeile daneben ist NICHT betroffen: ihre Regeln (frame-line-before/-after, weiter
   unten in dieser Datei) fuehren neben der Gridelements-Variante schon eine allgemeine
   Schreibweise ohne Typklasse, die Container mit abdeckt. */
.frame-type-gridelements.frame-ruler-before { margin-bottom:2em; border-top:1px solid black; }
.frame-type-gridelements.frame-ruler-before::before { display:none; border:none; margin-bottom:0; }
.frame-type-gridelements.frame-ruler-after { margin-top:2em; border-bottom:1px solid black; }
.frame-type-gridelements.frame-ruler-after::after { display:none; border:none; margin-top:0; }
/*** END line before/after ***/

.frame-indent { margin-left: 15%; margin-right: 15%; }
.frame-indent-left { margin-left: 33%; }
.frame-indent-right { margin-right: 33%; }

.margin-right-0 { margin-right: 0;}
/*** START - Fluid Content Elements ***/


/*** START - TYPO3 messages ***/
.typo3-messages { margin-bottom: 1rem; padding: 0; background-position: 10px 12px; background-repeat: no-repeat; }
.typo3-messages .alert { padding: 1rem;  border: none; }
.frame-type-list-userdata_emailvalidation .typo3-messages .alert { padding: 2rem; }
.right .typo3-messages .alert { padding: 1rem; }
.typo3-messages h3 { margin: 0 0 0.5em 0; color: inherit; }
.typo3-messages .alert-link { font-weight:700/*600*/; }
.typo3-messages p,.typo3-messages ul,.typo3-messages ol,.typo3-messages dl,.typo3-messages dd { margin-bottom: 0; }
.typo3-messages p + p,.typo3-messages p + ul,.typo3-messages p + ol,.typo3-messages p + dl,.typo3-messages p + dl > dt { margin-top: .5em; }
.typo3-messages a { color: inherit; text-decoration: underline;}
.typo3-messages .media { margin: 0; }
.typo3-messages .media .fa-stack > .fa:first-child { opacity: 0.2; filter: alpha(opacity=20);}
.typo3-messages .media-body { vertical-align: middle; }
.typo3-messages .message-header { font-weight:700/*600*/; margin-bottom:9px; }
.typo3-messages ul,.typo3-messages ol { padding-left:1em; }
.typo3-messages .message-header { display:block; }
.typo3-messages .t3-icon-actions-message-close { cursor:pointer; float:right; }
ul.typo3-messages > li { margin-bottom:10px; list-style:none; margin-left:0; font-size:0.85em;}
ul.typo3-messages > li:last-child { margin-bottom:0; }
.typo3-messages h3,.infobox h3 { display:flex; }
.typo3-messages h3 i.fa,.infobox h3 i.fa { margin-right:0.5em; margin-bottom:0.5em; font-size:28px; }
.aside .infobox h3 i.fa { margin-top:0.25em; }
/*** END - TYPO3 messages ***/


/*** START - Alerts ***/
.alert { border: none; }
.alert hr { border-top-color:rgba(0,0,0,0); }
.alert .alert-link { color: inherit;text-decoration: underline; }
.alert-notice { background-color: #f6f7fa; color: #707070; }
.alert-info { background-color: #1271ee; color: #ffffff; }
.alert-success { background-color: #79a548; color: #ffffff; }
.alert-warning { background-color: #e8a33d; color: #ffffff; }
.alert-danger { background-color: #c83c3c; color:#ffffff; }
.alert::before { display: inline-block; font-family: "Font Awesome 6 Free",sans-serif; font-size: 2rem; font-weight: 900; font-style: normal; font-variant: normal; text-rendering: auto; }
.alert-notice::before { content: "\f0eb"; }
.alert-info::before { content: "\f0eb"; }
.alert-success::before { content: "\f164"; }
.alert-warning::before { content: "\f071"; }
.alert-danger::before { content: "\f071"; }
.alert-title { display: inline-block; margin-left: 1rem; margin-bottom: 0.5rem; }

.typo3-messages h3,
.infobox h3 { display:flex; }
.typo3-messages h3 i.fa,
.infobox h3 i.fa { margin-right:0.5em; margin-bottom:0.5em; font-size:28px; }
.aside .infobox h3 i.fa { margin-top:0.25em; }
/*** END - Alerts ***/


/* Magnificpopup */
.mfp-bg { background:#011a36; opacity:0.95;}
.mfp-inline-holder .mfp-content { max-width:800px; padding:40px; background-color:#ffffff; color:black; }
.mfp-image-holder .mfp-close { right:0; width:44px; height:44px; padding-right:0; text-align:center; }
.mfp-image-holder img.mfp-img { padding-top:0; }
button.mfp-close { display:inline-block; background:gray; }
.mfp-content .title { color:black; }
.mfp-content .title .mfp-title { color:black;}
.mfp-content .category { font-size:18px; font-weight:700/*600*/; }
.mfp-content .city { font-weight:700/*600*/; }
.mfp-content :is(.year, .state, .goal) { margin-bottom:0.5em; }
/* Magnificpopup */

/* modernizr */
.browserupgrade { margin:0.2em 0; background:#cccccc; color:#000000; padding:0.2em 0; }
/* modernizr */

/* mediaqueries */
html { font-family:"default-screen"; }
body:after { content:"default-screen"; display:block; visibility:hidden; position:fixed; top:10px; left:20px; z-index:900;  border:1px solid #8a8a8a; padding:3px; background-color:#ffffff; opacity:0.75;  color:#8a8a8a; font-size:11px; }
body.debug:after { visibility:visible; }
/* mediaqueries */


/**
 *  The Layout
 *
 *  contains layout related style definitions
 */
.contentWrapper { width:100%; max-width:1920px; margin:0 auto; padding-left:80px; padding-right:80px; }

.pageHeader { position:fixed; background:transparent; width: 100%; z-index: 1003; }
.pageHeader.sticky { border-bottom: 1px solid #003567; }
.no-js .pageHeader { position:static; }

.logo { max-width:240px; max-height:66px; }
.logo a { display:inline-block; overflow:hidden; }
.logo img { float:left; }

.metanaviWrapper {
    width: 100%;
    height: 40px;
}
.metanavi {
    clear: right;
    float: right;
    max-height: 40px;
    height: 100%;
    margin-right: -3.75em;
    margin-bottom:0;
    overflow: hidden;
}
.languagenavi {
    float: right;
    max-height: 40px;
    height: 100%;
    overflow: hidden;
}
.languagenavi::after {
    content: "|";
    padding: .45em .45em .45em .95em;
}
.searchWrapper {
    clear: left;
    width: 465px;
    margin-top: 40px;
}
.searchWrapper .tx-solr-search-form {
    margin: 0;
}

#mainnaviToggle { display:flex; justify-content:center; align-items:center; clear:right; float:right; padding:0 1rem; height:40px; margin-top:40px; transition:.4s;}

.mainnaviWrapper { height:auto; margin-top:80px; margin-bottom:40px; padding-bottom:0; overflow:hidden; }
.no-js .mainnaviWrapper { display:block !important; width:100%; padding:2em; overflow:visible; background-color:#1271ee; }

.mainnavi.navi.horizontal { display:flex; justify-content:flex-start; }
.mainnavi.navi.horizontal > li { flex:1 1 calc(25% - 37.5px); min-width:170px; margin-right:50px; }
.mainnavi.navi.horizontal > li:last-child { margin-right:0; }
@media only screen and (max-width:1200px) {
    .mainnavi.navi.horizontal { flex-wrap:wrap; }
    .mainnavi.navi.horizontal > li { flex:1 1 calc(50% - 25px); min-width:auto; }
    .mainnavi.navi.horizontal > li:nth-child(2),
    .mainnavi.navi.horizontal > li:last-child { margin-right:0; }
}
@media only screen and (max-width:800px) {
    .metanaviWrapper {
        visibility: hidden;
        height: 0;
    }
    .metanavi {
        margin: 0;
    }
}

.pageHeader.mainnaviOpened { position:absolute; width:100%; left:0; top:0; }
.pageHeader.mainnaviOpened .metanavi { height: 0; }
.pageHeader.mainnaviOpened .mainnaviWrapper { overflow:visible; }

/* Zusammengeschobener Kopf: KEINE eigene Hintergrundfarbe mehr. Er bekommt seit
   21.8.2026 denselben Verlauf wie der volle Kopf (Regel .pageHeader weiter unten),
   nur ueber seine eigene, kleinere Hoehe - gemessen 73px gescrollt gegen 186px oben.
   Frueher stand hier background:#000f29. */
.pageHeader.sticky { padding-bottom:16px; }
.pageHeader.sticky .logo { position:absolute; top:16px; left:80px; max-width:145px; max-height:40px; }
.pageHeader.sticky .searchWrapper { position:absolute; left:300px; top:16px; padding-top:0; margin:0; }
.pageHeader.sticky .metanaviWrapper { display: none; }
.pageHeader.sticky #mainnaviToggle { margin-top:16px; }

.pageHeader.sticky.mainnaviOpened { position:absolute; }
.pageHeader.sticky.mainnaviOpened .logo { position:static; max-width:240px; max-height:66px; }
.pageHeader.sticky.mainnaviOpened .searchWrapper { position:static; padding-top:40px; }
.pageHeader.sticky.mainnaviOpened .metanaviWrapper { display: block; }
.pageHeader.sticky.mainnaviOpened .mainnaviWrapper { float:left; width:100%; margin-top:80px; }
.pageHeader.sticky.mainnaviOpened #mainnaviToggle { margin-top:40px; }

.pageContent { padding-top:230px; padding-bottom:100px; }


/* Standardseite */
.pagets__default .pageContent .contentWrapper,
.pagets__singleview .pageContent .frame-type-list-mdevents_show {
    display:flex;
    justify-content: space-between;
    flex-wrap:wrap;
}
/* 2026-08-10: content + aside folgen jetzt dem Kachelraster.
   Das Raster ist erst ab 1600px vierspaltig ([data-columns="4"], min-width:1600-Block
   weiter unten in dieser Datei), darunter dreispaltig; Karte/Legende in
   md_events/listMap.css spiegeln denselben Punkt (75/25 ab 1600, 66/33 darunter).
   content+aside standen als einzige bis hinunter zu 1200px auf 75/25 - die rechte
   Spalte wurde dadurch bei 1300px Fensterbreite auf 263px zusammengequetscht
   (gemessen 10.8.2026 auf dev), obwohl das Kachelraster daneben laengst umgebrochen war.
   Grundwert ist deshalb das DREISPALTIGE Raster, die Vierspaltigkeit kommt im
   min-width:1600-Block direkt darunter zurueck - dieselbe Schreibweise, die
   [data-columns="4"] schon benutzt.
   Rechenweg bei 1.5rem Rinne: dreispaltig = 33.3333% - 1rem je Kachel, zwei Kacheln
   plus eine Rinne = 66.6667% - 0.5rem; vierspaltig = 25% - 1.125rem je Kachel, drei
   Kacheln plus zwei Rinnen = 75% - 0.375rem. Beide Paare stehen wortgleich in
   md_events/listMap.css. Das Stapeln bleibt unveraendert bei 1200px. */
.pagets__default .content,
.pagets__singleview .content {
    flex:1 1 calc(66.6667% - 0.5rem);
    max-width:calc(66.6667% - 0.5rem);
    margin-right:1.5rem;
}
.pagets__default .aside,
.pagets__singleview .aside {
    flex: 1 1 calc(33.3333% - 1rem);
    max-width: calc(33.3333% - 1rem);
}
@media only screen and (min-width: 1600px) {
    .pagets__default .content,
    .pagets__singleview .content {
        flex:1 1 calc(75% - 0.375rem);
        max-width:calc(75% - 0.375rem);
    }
    .pagets__default .aside,
    .pagets__singleview .aside {
        flex: 1 1 calc(25% - 1.125rem);
        max-width: calc(25% - 1.125rem);
    }
}

/* Seite ohne rechte Spalte */
.pagets__norightcol .pageContent .contentWrapper { display:block; justify-content: unset; flex-wrap: unset; }
.pagets__norightcol .content {
    flex: unset;
    max-width: 100%;
    margin-right: 0;
}
.pagets__norightcol .aside {
    display: none;
}

/* Minimalseite
   2026-08-21: eine Spalte wie bei norightcol, aber begrenzt und mittig statt ueber
   die volle Wrapper-Breite. Der Wrapper bleibt aussen 1760px breit (max-width 1920
   minus 2x80px Polsterung), die Spalte sitzt mit margin:auto darin.
   BREITE 57rem = 912px. Hergeleitet aus dem Entwurf
   "12-2026-05-11-Spendenseite-Zentriert-minimal.png": der AEUSSERE Kasten misst
   dort 910px (x 506-1415), die weisse Box darin 870px - dazwischen liegen die
   20px Rahmen. Die Spalte enthaelt den Rahmen, also ist 910 der Bezug:
   57rem = 912px, also +2px aussen und 872 statt 870px innen.
   ⚠️ Zwischenstand 55rem war ein Denkfehler von mir - ich hatte die Spalte auf die
   INNERE weisse Box (870px) ausgerichtet. Aussen stimmte es dann ungefaehr, innen
   fehlten 30px.
   ⚠️ Der erste Entwurf stand auf 50rem = 800px, begruendet mit Lesebreite. Das
   Argument traegt hier nicht: in dieser Spalte steht ein FORMULAR, kein Fliesstext.
   Ausserdem ist 800px im Haus bereits der meistbenutzte FENSTER-Umbruchpunkt
   (28 Vorkommen) - dieselbe Zahl in einer anderen Rolle, das laedt zum
   Missverstehen ein.
   Kopf und Fuss werden NICHT hier abgespeckt, sondern im Fluid weggelassen:
   Resources/Private/Page/Layouts/Default.html, Bedingung {backendlayout} != 'pagets__minimal'
   (Metanavi, Sprachwahl, Suche, Fussgrid, Social Media, Call to Action) und
   Resources/Private/Page/Templates/Default.html (Breadcrumb).
   Die drei Ruecksetzungen unten sind vorsorglich - display:flex und die Spaltenbreiten
   kommen heute nur aus .pagets__default/.pagets__singleview, also nicht bis hierher. */
.pagets__minimal .pageContent .contentWrapper { display:block; justify-content: unset; flex-wrap: unset; }
.pagets__minimal .content {
    flex: unset;
    max-width: 57rem;
    margin-right: auto;
    margin-left: auto;
}
.pagets__minimal .aside {
    display: none;
}

/* Minimalseite: Kopfhoehe ausgleichen.
   Das weggelassene .metanaviWrapper ist 40px = 2.5rem hoch (Zeile 438-441) und ein
   normaler Block VOR dem Logo. Ohne Ausgleich ruecken Logo und #mainnaviToggle um
   genau diese 40px nach oben - gemeldet am 21.8.2026 als "Logo ist zu hoch".
   Zwei Faelle sind ausgenommen, beide aus dem Bestand abgelesen:
   - :not(.sticky), weil .pageHeader.sticky .metanaviWrapper ohnehin display:none ist
     (Zeile 501); ein Ausgleich machte die zusammengeschobene Leiste 40px zu hoch.
   - unter 800px, weil der Streifen dort schon im Bestand height:0 hat
     (Zeile 484-488) - dort gibt es nichts auszugleichen.
   Die Polsterung sitzt am inneren .contentWrapper, nicht am .pageHeader: im
   gescrollten Zustand liegen Logo und Suche position:absolute am .pageHeader
   (Zeile 499/500) und wuerden von dessen Polsterung nicht bewegt.
   .pageContent bleibt bei padding-top:230px (Zeile 511) - die Kopfhoehe ist mit
   diesem Ausgleich wieder dieselbe wie auf allen anderen Seiten. */
.pagets__minimal .pageHeader:not(.sticky) .contentWrapper { padding-top: 2.5rem; }
@media only screen and (max-width: 800px) {
    .pagets__minimal .pageHeader:not(.sticky) .contentWrapper { padding-top: 0; }
}

/* Minimalseite: Fussabstaende.
   Im Fuss steht hier nur noch die Impressumsnavi - Kontaktangaben, die vier Spalten
   und die Social-Media-Liste sind im Fluid weggelassen. Die Abstaende stammen aber
   noch aus dem vollen Fuss und reissen ein Loch.
   ⚠️ BEIDE Klassen sind global und werden deshalb am Namensraum eingegrenzt:
   .footerNaviWrapper sitzt im Fuss JEDER md2022-Seite (Grundwert Zeile 1799:
   padding-top:80px), und .frame-space-before-medium (Zeile 310: margin-top:2rem) ist
   die allgemeine Abstandsklasse fuer Inhaltselemente - sie steht im Markup von acht
   Extensions. Ungebunden gesetzt haetten diese zwei Zeilen den Abstand auf allen
   ~16 Sites veraendert.
   Der zweite Selektor ist zusaetzlich auf .footerNaviWrapper eingegrenzt, damit er
   nur die Impressumszeile trifft und nicht Inhaltselemente im Seitenkoerper.
   ⚠️ Mit 0-2-0 schlaegt die erste Zeile auch den Handy-Wert aus Zeile 1848
   (.footerNaviWrapper padding-top:3.25rem unter 800px) - auf der Minimalseite gilt
   1rem damit in allen Breiten. Das ist so gewollt.
   Unveraendert bleiben: padding-bottom:130px am .footerNaviWrapper und
   .frame-space-after-medium (margin-bottom:2rem). */
.pagets__minimal .footerNaviWrapper { padding-top: 1rem; }
.pagets__minimal .footerNaviWrapper .frame-space-before-medium { margin-top: 1rem; }

/* Minimalseite: Seitenkopf - helles Band, grosse Ueberschrift, Rahmen ums Formular
   Alle Werte aus dem Entwurf "12-2026-05-11-Spendenseite-Zentriert-minimal.png"
   (1920x1933, unskaliert) ausgemessen, nicht geschaetzt. Die senkrechten Masse
   sind von der Spaltenbreite unabhaengig und deshalb uebertragbar, obwohl der
   Entwurf mit 870px statt 880px Spaltenbreite gebaut wurde.

   BAND: im Bild #174775 auf Seitengrund #003567. Zurueckgerechnet ist das Weiss
   mit 9 % (255*0.09=23 / 53+202*0.09=71 / 103+152*0.09=117 - alle drei Kanaele
   treffen). Auf Wunsch auf glatte 10 % gesetzt.
   Es liegt als Hintergrundebene auf .pageContent und nicht auf dem
   Ueberschriften-Element, weil es zwei Dinge koennen muss, die ein Element in der
   55rem-Spalte nicht kann: ueber die VOLLE Fensterbreite laufen und hinter dem
   folgenden Formularkasten WEITERlaufen (im Entwurf 148px weit).
   Gemessen: Band y 211-479, also 269px hoch, Beginn 211px unter der Oberkante von
   .pageContent. Als feste Werte 17rem (272px) und 13rem (208px).

   UEBERSCHRIFT: Versalhoehe im Bild 40px. Geteilt durch 0.66 - die Versalhoehe je
   em, aus SourceSansPro-Bold.ttf gelesen (unitsPerEm 1000, sCapHeight 660) - ergibt
   60,6px. 3.75rem = 60px liegt auf dem 0.25rem-Raster, mit dem auch die Hausstaffel
   arbeitet (1.25 / 1.5 / 1.75 / 2).
   ⚠️ Die Tintenbreite des Titels (682px) passt rechnerisch zu 58px, nicht zu 60px.
   Das ist KEIN Widerspruch: die Breite haengt an der Laufweite, die Versalhoehe
   nicht. Der Entwurf hat also rund -1px Laufweite. Die wird hier bewusst NICHT
   nachgebaut - sie ist bei anderen Titellaengen kaum reproduzierbar und der
   Unterschied betraegt 3 %.

   RAHMEN: der Ring hat im Entwurf exakt die Farbe des Seitengrunds (#003567) und
   ist 20px breit - er ist also nicht heller, sondern VERDECKT das Band.
   ⚠️⚠️ Er liegt AUSSEN um die GANZE weisse Gruppe, nicht um jedes Element. Im
   Seitenbaum stehen zwei weisse Inhaltselemente lueckenlos uebereinander
   (Einleitungstext und Spendenformular, beide .frame-bgcolor-white, Aussenabstaende
   0). Ein Rahmen je Element haette dazwischen einen 40px breiten dunklen Balken
   erzeugt. Deshalb: links und rechts an allen, oben nur am ersten der Reihe, unten
   nur am letzten - das ergibt EINEN durchgehenden Ring.
   Der Ausklapper darunter (.frame-type-html) traegt kein .frame-bgcolor-white und
   bleibt damit ausserhalb des Rings, so wie im Entwurf.
   ⚠️ "oben nur am ersten" ist negativ formuliert (:not(weiss + weiss)) statt ueber
   :first-of-type - dort sind alle Kinder DIVs, der Typ trennt hier also nichts.
   "unten nur am letzten" braucht :has() (Chrome 105+, Firefox 121+, Safari 15.4+).
   ⚠️⚠️ Als BORDER, nicht als background-color + padding. Die Elemente tragen
   .frame-bgcolor-white (weisser Grund) und bekommen von dort padding:2em. Ein
   background-color haette die WEISSE BOX SELBST dunkel eingefaerbt statt einen Ring
   um sie zu legen - genau das ist mir am 21.8.2026 passiert und erst im Browser
   aufgefallen.
   box-sizing:border-box gilt hier global (Regel "*"), der Rahmen frisst die Breite
   also nach innen: aussen bleibt die Spaltenbreite (912px), innen 872px - der
   Entwurf hat 910 und 870. background-clip ist nicht noetig, #003567 ist deckend. */
.pagets__minimal .pageContent {
    /* Haus: 230px (Zeile 511). 15rem = 240px, also 10px tiefer.
       ⚠️ Vom Nutzer am 21.8.2026 so gesetzt. Der Entwurf haette 14rem = 224px
       verlangt - damit sass die Tintenoberkante des Titels 43px unter der
       Bandoberkante. Mit 15rem sind es 59px. Das ist eine Entscheidung, keine
       Messung; wer den Entwurf nachbaut, wundert sich sonst.
       ⚠️ Das Band wandert dabei NICHT mit: background-origin ist padding-box,
       und ohne Rahmen faellt deren Oberkante mit der Elementoberkante zusammen.
       Der Titel rueckt also naeher an die Bandunterkante. */
    padding-top: 15rem;
    background-image: linear-gradient(rgba(255, 255, 255, .1), rgba(255, 255, 255, .1));
    background-repeat: no-repeat;
    background-position: 0 13rem;
    background-size: 100% 17rem;
}
.pagets__minimal .frame-type-header h1.title {
    font-size: 3.75rem;
    /* Haus: 1.125rem = 18px, das liess nur 10px bis zum Rahmen. 2rem = 32px ergibt
       24px von der Tintenunterkante bis zur Rahmenoberkante (Entwurf 23px). */
    margin-bottom: 2rem;
}
.pagets__minimal .content > .frame-bgcolor-white {
    border-left: 1.25rem solid #003567;
    border-right: 1.25rem solid #003567;
}
.pagets__minimal .content > .frame-bgcolor-white:not(.frame-bgcolor-white + .frame-bgcolor-white) {
    border-top: 1.25rem solid #003567;
}
.pagets__minimal .content > .frame-bgcolor-white:not(:has(+ .frame-bgcolor-white)) {
    border-bottom: 1.25rem solid #003567;
}
/* Elemente OHNE Ring buendig zum weissen Inhalt der gerahmten Elemente.
   Der 20px-Ring frisst die Breite nach innen (box-sizing:border-box), der weisse
   Inhalt beginnt also 20px hinter der Spaltenkante. Ein ungerahmtes Element - etwa
   der Spendeninformationen-Ausklapper (.frame-type-html) - saesse ohne diesen
   Ausgleich 20px weiter aussen und flieht gegen alles darueber.
   Derselbe Wert wie der Ring, damit beides zusammen wandert, wenn er sich aendert.
   Die Ueberschrift ist mitgemeint, aber unbeeindruckt: sie ist zentriert, und eine
   beidseitig gleiche Polsterung verschiebt keine Mitte. */
.pagets__minimal .content > .frame:not(.frame-bgcolor-white) {
    padding-left: 1.25rem;
    padding-right: 1.25rem;
}

/* Formular in rechter Spalte fixieren, "sticky" class wird dynamisch gesetzt */
#aside_sticky {position: relative; }

@media only screen and (max-width:1200px) {
    .contentWrapper {
        padding-left: 3em;
        padding-right: 3em;
    }
    .pagets__default .pageContent .contentWrapper .aside.sticky {
        right: calc((100% - (1920px - 80px - 80px)) / 2);
        max-width: 425px;
    }
    .pagets__default .pageContent .contentWrapper {
        flex-direction: column;
    }
    .pagets__default .content {
        flex: 1 1 100%;
        max-width: 100%;
        margin-right: 0;
    }
    .pagets__default .aside {
        flex: 1 1 100%;
        max-width: 425px;
        margin: 3em auto;
    }
    #aside_sticky .sticky {
        /*position: static;*/
        width: auto;
        max-width: 425px;
        overflow-y: unset; }
    /*
    body:has(#stickyButton) .cc-window.cc-floating {
        padding: 2em 2em 5em 2em;
    }
    */
}
@media only screen and (max-width:800px) {
    .contentWrapper {
        padding-left: 1.5rem;
        padding-right: 1.5rem;
    }
    .pageHeader .contentWrapper {
        padding-left: 0;
        padding-right: 0;
    }
    .pageHeader.sticky {
        padding-bottom: 0;
    }
    .logo {
        float: left;
        width: 145px;
        height: 40px;
        margin: 12px 0 12px 20px;
    }
    .pageHeader.sticky .logo {
        position: static;
    }
    .pageContent {
        padding-top: 100px;
        padding-bottom: 32px;
    }
}




/* START - 01.03.2026 | Matthias - Add sticky buttons */
/* Für Tablet und Mobilansicht, wenn die rechte Spalte mit dem Formular unter den Hauptinhalt geschoben wird,
wird der Stickybutton (eigentlich 2 - im .pageContent.content und .pageFooter) dynamisch erzeugt */
#stickyButton,
#stickyButton2 {
    position: fixed;
    display: none;
    visibility: hidden;
    bottom: 0;
    left: 0;
    height: auto;
    padding: 0;
    z-index: 200;
    width: 100%;
    margin: 0;
    text-align: center;
    justify-content: center;
    align-items: center;
    transition: .4s;
}
#stickyButton a,
#stickyButton2 a {
    font-weight: 700/*600*/;
    color: #fff;
    font-size: 1.5rem;
    display: inline-flex;
    justify-content: center;
    align-items: center;
    padding: 0.8rem 3rem;
    min-height: 54px;
}
#stickyButton:hover,#stickyButton2:hover {
    background: #9ec951;
}
@media only screen and (max-width:1200px) {
    #stickyButton,#stickyButton2 {
        display: inline-flex;
        visibility: visible;
    }
}
/* END - 01.03.2026 | Matthias - Add sticky buttons */


/*** START Breadcrumb ***/
.breadcrumbsnaviWrapper {
    margin-bottom: .5rem;
    flex:1 1 100%;
}
#breadcrumbsnavi {
    margin: 0;
}
#breadcrumbsnavi > li{
    white-space: nowrap;
    font-size: .875rem;
}
#breadcrumbsnavi > li > a {
    color: #ffffff;
    font-size: .875rem;
}
#breadcrumbsnavi > li > a:hover{
    color:#2e92ff;
}
#breadcrumbsnavi .arrow {
    display: inline-block;
    margin: 0 .5rem;}
.breadcrumbs .arrow {
    padding: 0 10px;
}
@media only screen and (max-width:800px) {
    .breadcrumbsnaviWrapper {
        display: none;
    }
}
/*** END Breadcrumb ***/


/*** START Grid Elements ***/
.frame-type-gridelements > div.grid-row { display:flex; justify-content:space-between; flex-wrap:wrap; }
.frame-type-gridelements.gridSimplerow > div.grid-row { display:block; justify-content:unset; flex-wrap:unset; }
/* Alle Grids: einheitliche 1.5rem-Luecke (0.75rem je Seite), Spaltenbreiten identisch zum custom-tile-Kachelraster, damit alle Grid-Typen untereinander und mit den Kacheln fluchten. */
/* grid2cols (= custom-tile [data-columns=2]) */
.frame-type-gridelements.grid2cols > div.grid-row > div.grid-column { flex:1 1 calc(50% - 0.75rem); min-width:calc(50% - 0.75rem); }
.frame-type-gridelements.grid2cols > div.grid-row > div:first-child { margin-right:0.75rem; }
.frame-type-gridelements.grid2cols > div.grid-row > div:last-child { margin-left:0.75rem; }
/* grid2cols6633 (= 2 + 1 Spalte eines 3er-Rasters) */
.frame-type-gridelements.grid2cols6633 > div.grid-row > div:first-child { flex:1 1 calc(66.6667% - 0.5rem); width:calc(66.6667% - 0.5rem); margin-right:0.75rem; }
.frame-type-gridelements.grid2cols6633 > div.grid-row > div:last-child { flex:1 1 calc(33.3333% - 1rem); width:calc(33.3333% - 1rem); margin-left:0.75rem; }
/* grid2cols7525 (= 3 + 1 Spalte eines 4er-Rasters; 25%-Spalte = 1 Kachel = 418px) */
.frame-type-gridelements.grid2cols7525 > div.grid-row > div:first-child { flex:1 1 calc(75% - 0.375rem); width:calc(75% - 0.375rem); margin-right:0.75rem; }
.frame-type-gridelements.grid2cols7525 > div.grid-row > div:last-child { flex:1 1 calc(25% - 1.125rem); width:calc(25% - 1.125rem); margin-left:0.75rem; }
/* grid3cols (= custom-tile [data-columns=3]) */
.frame-type-gridelements.grid3cols > div.grid-row > div.grid-column { flex:1 1 calc(33.3333% - 1rem); width:calc(33.3333% - 1rem); margin:0 0.75rem; }
.frame-type-gridelements.grid3cols > div.grid-row > div:first-child { margin-left:0; }
.frame-type-gridelements.grid3cols > div.grid-row > div:last-child { margin-right:0; }
/* grid4cols (= custom-tile [data-columns=4] Widescreen; Spalte = 1 Kachel = 418px) */
.frame-type-gridelements.grid4cols > div.grid-row > div.grid-column { flex:1 1 calc(25% - 1.125rem); width:calc(25% - 1.125rem); margin:0 0.75rem; }
.frame-type-gridelements.grid4cols > div.grid-row > div:first-child { margin-left:0; }
.frame-type-gridelements.grid4cols > div.grid-row > div:last-child { margin-right:0; }
/* grid2rows2cols */
.frame-type-gridelements.grid2rows2cols { padding:0; }
.frame-type-gridelements.grid2rows2cols > header { align-items:center; background:#f45e5e; cursor:pointer; display:flex; justify-content:flex-start; min-height:45px; padding:0 1rem; transition:0.4s; }
.no-touchevents .frame-type-gridelements.grid2rows2cols > header:hover, .frame-type-gridelements.grid2rows2cols > header:active { background:#f67e7e; }
.frame-type-gridelements.grid2rows2cols > header > h2 { color:#ffffff; font-size:1.125rem; font-weight:700; margin:0; width:100%; }
.frame-type-gridelements.grid2rows2cols.opened > header h2:before { content:"\f0d7"; font-family:'Font Awesome 6 Free'; font-size:1rem; margin-right:10px; }
.frame-type-gridelements.grid2rows2cols.opened > header h2:after { content:"\f00d"; font-family:'Font Awesome 6 Free'; font-size:1.5rem; position:absolute; right:1rem; top:0.5rem }
.frame-type-gridelements.grid2rows2cols.closed > header h2:before { content:"\f0da"; font-family:'Font Awesome 6 Free'; font-size:1rem; margin-right:12px; }
.frame-type-gridelements.grid2rows2cols .gridelements_container { padding:2rem; }
.frame-type-gridelements.grid2rows2cols .gridelements_container > div.grid-row { display:flex; justify-content:space-between; flex-wrap:wrap; }
.frame-type-gridelements.grid2rows2cols .gridelements_container > div.grid-row > div.grid-column { flex:1 1 calc(50% - 0.75rem); min-width:calc(50% - 0.75rem); }
.frame-type-gridelements.grid2rows2cols .gridelements_container > div.grid-row > div:first-child { margin-right:0.75rem; }
.frame-type-gridelements.grid2rows2cols .gridelements_container > div.grid-row > div:last-child { margin-left:0.75rem; }
.frame-type-gridelements.grid2rows2cols .gridelements_container > div.grid-row > div.grid-column { }
.frame-type-gridelements.grid2rows2cols .gridelements_container > div.grid-row:last-child > div.grid-column { border-bottom:none; padding-bottom:0; margin-bottom:0; }
.frame-type-gridelements.grid2rows2cols .gridelements_container .ce-gallery, .frame-type-gridelements.grid2rows2cols .gridelements_container .ce-bodytext { flex: 1 1 100%; margin-left:0; margin-right:0; }
.frame-type-gridelements.grid2rows2cols .gridelements_container .ce-textpic.ce-intext.ce-nowrap.ce-left { flex-direction:column; }
.frame-type-gridelements.grid2rows2cols .gridelements_container .frame-type-textmedia header a { color:#000000; text-decoration:none; }
.frame-type-gridelements.grid2rows2cols .gridelements_container .frame-type-textmedia header a:hover { color:#003567; text-decoration:underline; }
@media only screen and (max-width: 1200px) {
    .frame-type-gridelements:is(.grid2cols6633, .grid2cols7525) > div.grid-row > div.grid-column { flex:1 1 100%; width:100%; margin:0 0 2em 0; }
    .frame-type-gridelements.grid4cols > div.grid-row > div.grid-column { flex:1 1 calc(50% - 0.75rem); width:calc(50% - 0.75rem); }
    .frame-type-gridelements.grid4cols > div.grid-row > div:nth-child(3) { margin-left:0; }
    .frame-type-gridelements.grid4cols > div.grid-row > div:nth-child(2) { margin-right:0; }
    .frame-type-gridelements > div.grid-row > div.grid-column:empty, .frame-type-gridelements .gridelements_container > div.grid-row > div.grid-column:empty { margin-top: 0 !important; margin-bottom: 0 !important; }
}
@media only screen and (max-width: 800px) {
    .frame-type-gridelements:is(.grid2cols, .grid2cols6633, .grid2cols7525, .grid3cols, .grid4cols) > div.grid-row > div.grid-column { flex: 1 1 100%; width:100%; margin:0 0 2rem 0; }
    .frame-type-gridelements.grid2rows2cols .gridelements_container .ce-bodytext { margin:0; }
    .frame-type-gridelements.grid2rows2cols .gridelements_container { padding:1.5rem 1rem 2rem 1rem; }
    .frame-type-gridelements.grid2rows2cols .gridelements_container .ce-textpic.ce-intext.ce-nowrap.ce-left { flex-direction:column; }
    .frame-type-gridelements.grid2rows2cols .gridelements_container > div.grid-row > div.grid-column { margin-bottom:2rem; min-width:100%; }
    .frame-type-gridelements.grid2rows2cols .gridelements_container > div.grid-row > div.grid-column:last-child { margin-bottom:0; }
    .frame-type-gridelements.grid2rows2cols .gridelements_container > div.grid-row:last-child > div.grid-column { margin-bottom:2rem; }
    /*.frame-type-gridelements.grid2rows2cols .gridelements_container > div.grid-row-2 > div.grid-column:first-child { border-bottom:1px solid #cccccc; }*/
    .frame-type-gridelements.grid2rows2cols .gridelements_container > div.grid-row-2 > div.grid-column:last-child, .frame-type-gridelements.grid2rows2cols .gridelements_container > div.grid-row-2 > div.grid-column:last-child .ce-bodytext{ margin-bottom:0; }
    .frame-type-gridelements.grid2rows2cols .gridelements_container > div.grid-row > div:first-child, .frame-type-gridelements.grid2rows2cols .gridelements_container > div.grid-row > div:last-child{ flex: 1 1 100%; margin-left:0; margin-right:0; padding:0; }
}
@media only screen and (min-width: 1600px) {
    .frame-type-gridelements.grid2rows2cols .gridelements_container > div.grid-row { display:flex; justify-content:space-between; flex-wrap:wrap; }
/*.frame-type-gridelements.grid2rows2cols .gridelements_container > div.grid-row > div.grid-column { flex:1 1 calc(50% - 1rem); min-width:calc(50% - 1rem); }
    .frame-type-gridelements.grid2rows2cols .gridelements_container > div.grid-row > div:first-child { margin-right:1rem; }
    .frame-type-gridelements.grid2rows2cols .gridelements_container > div.grid-row > div:last-child { margin-left:1rem; }*/
    .frame-type-gridelements.grid2rows2cols .gridelements_container .ce-textpic.ce-intext.ce-nowrap.ce-left { flex-direction:row; }
    .frame-type-gridelements.grid2rows2cols .gridelements_container .ce-textpic.ce-intext.ce-nowrap.ce-left .ce-gallery { margin-right:1rem; }
    .frame-type-gridelements.grid2rows2cols .gridelements_container .ce-textpic.ce-intext.ce-nowrap.ce-left .ce-bodytext { margin-left:1rem; }
}
/*** END Grid Elements ***/


/**
 *  The Styling
 *
 *  contains design related style definitions
 */

/* General styles */
body {
    background:#003567; /* Grundton. Die dunkle Blende oben macht jetzt .pageHeader */
    font-family:"Source Sans Pro",sans-serif; font-size:16px; font-weight:400; line-height:1.5rem; color:#fff;
    hyphens: auto; hyphenate-limit-chars: 15;
}
button, input, select { font-family:"Source Sans Pro",sans-serif; font-size:16px; cursor:pointer; }



/* Seitenverlauf: sitzt seit 21.8.2026 am Kopf statt am body.
   Vorher: body { background: linear-gradient(0deg, #003567 96%, #000f29 99.9%) }.
   Bezugsflaeche eines body-Hintergrunds ist das Wurzelelement, also die GANZE Seite.
   Die 4 %-Blende war damit auf jeder Seite unterschiedlich hoch und wuchs mit, sobald
   die Seite laenger wurde. Gemessen auf der Startseite (dev, 960px Fensterbreite):
   Seite 8050px hoch, Blende 322px, Kopf 186px.
   Jetzt ist die Bezugsflaeche der Kopf selbst: die Blende ist immer genau so hoch wie
   der Kopf und endet an dessen Unterkante auf #003567 - dem Grundton des body, deshalb
   entsteht dort keine Kante. Die 0.5rem am Anfang halten die Oberkante rein dunkel,
   wie es der 99.9%-Stopp vorher tat.
   ⚠️ Der Verlauf darf NICHT auf ein Pseudo-Element, das ueber den Kopf hinausragt:
   .pageHeader hat z-index:1003 (Zeile 430) und bildet damit einen eigenen
   Stapelkontext - ein Kind darin liegt auch mit z-index:-1 noch UEBER .pageContent.
   Gemessen: mit 322px Band lieferte elementsFromPoint bei y=250 und y=300 den Kopf
   statt der Kachel darunter, das Band verdeckte also den Seiteninhalt.
   ⚠️ Die beiden Ausnahmen unten (.mainnaviOpened) und .pageHeader.sticky (Zeile 498)
   haben 0-2-0 und ueberschreiben den Verlauf weiterhin vollstaendig - der
   zusammengeschobene Kopf bleibt einfarbig #000f29. */
.pageHeader { background-color:transparent; background-image:linear-gradient(#000f29 0, #000f29 0.5rem, #003567 100%); }
.pageHeader.mainnaviOpened { background:#1271ee; }
.pageHeader.mainnaviOpened .searchWrapper .input-group-btn button,.pageHeader.mainnaviOpened .mainnaviToggle { background-color:#003567; }
.pageHeader.mainnaviOpened .mainnaviToggleIcon { background-image:url('../../../typo3conf/ext/custom_md2022/Resources/Public/Icons/icon_navibar-closed.svg'); }

span.icon { display:inline-block; width:24px; height:24px; margin-right:12px; background-repeat:no-repeat; background-position:center; background-size:24px 24px; }
span.image-metadata-icon { width:1em; height:1em; margin-right:0; }

.frame-type-header header { overflow: hidden; }

/*** START - Links **/
a {color: #1271ee;transition: 0.4s;}
.pageContent a:hover{color:#003567;}
:is(.pageHeader, .pageFooter) a {color: #ffffff;}
/*.no-touchevents a:hover {text-decoration: underline;???}*/
a.morelink {transition:.4s;}
a:is(.link-external, .link-download) {padding-left: 24px;background-position: left center;background-repeat: no-repeat;background-size: 24px 16px;}
a.link-external {background-image: url('../../../typo3conf/ext/custom_md2022/Resources/Public/Icons/icon_link.svg');}
a.link-download {background-image: url('../../../typo3conf/ext/custom_md2022/Resources/Public/Icons/icon_download.svg');}
a.pointer-events-none {pointer-events: none;}
/*a[href^="tel"]:link,a[href^="tel"]:visited,a[href^="tel"]:hover {text-decoration:none;cursor:text;pointer-events:none;}*/
/*** END - Links **/

/*** START - Buttons ***/
/** button basics **/
.btn { background:none; color:#ffffff; border:none; outline:none; cursor:pointer; font-size:1.125rem; font-weight:700/*600*/; min-height:40px; margin: 0 24px 24px 0; padding:0.6rem 1rem; text-align:center; display:inline-flex; justify-content:center; align-items:center; transition:.4s; line-height:1; text-decoration:none; }
.btn:hover,.btn.checked { color:#ffffff!important; border:none; outline:none; }
.btn:last-child { margin-right:0 ;}
p:last-child .btn:last-child{ margin-bottom:0 ;}
.btn input[type="radio"] { display:none; visibility:hidden; }
/** button color + style **/
.btn-blue-filled { border:1px solid #1271ee; background:#1271ee; }
.btn-blue-filled:hover,.btn-blue-filled.checked { border:1px solid #1271ee; background:#2e92ff; }
.btn-blue-border { border:1px solid #1271ee; color:#1271ee; }
.btn-blue-border:hover,.btn-blue-border.checked { border: 1px solid #2e92ff; background:#2e92ff; }
.btn-white-border { border:1px solid #ffffff; }
.btn-white-border:hover,.btn-white-border.checked { border:1px solid #2e92ff; background:#2e92ff; }
.btn-green-filled { border:1px solid #86bc26; background:#86bc26; }
.btn-green-filled:hover,.btn-green-filled.checked { border:1px solid #86bc26; background:#9ec951; }
.btn-red-filled { border:1px solid #f45e5e; background:#f45e5e; }
.btn-red-filled:hover,.btn-red-filled.checked { border:1px solid #f45e5e; background:#f67e7e; }
.btn-darkblue-filled { border:1px solid #094f9e; background:#094f9e; }
.btn-darkblue-filled:hover,.btn-darkblue-filled.checked { border:1px solid #094f9e; background:#3a72b1; }
/** button size **/
.btn-small {font-size:0.875rem; padding:0.7rem 1rem; min-height:40px; }
/*.btn-normal { font-size:1.125rem; padding: 0.6rem 1rem; min-height:40px; }*/
.btn-medium { font-size:1.25rem; padding:0.7rem 1.25rem; min-height:48px; }
.btn-big { font-size:1.5rem; padding:0.8rem 3rem; min-height:54px; }
/** button specials **/
.btn-fullwidth { width:100%; padding-left:0!important; padding-right:0!important; margin-right:0!important; }
/*** END - Buttons ***/


/*** START - OLD BUTTON STYLES - vor dem 19.04.2026 - bestenfalls nicht mehr ändern, nicht benutzen und auslaufen lassen ***/
p.big-morelink { text-align:center; }
p.big-morelink-left { text-align:left; }
p.big-morelink-right { text-align:right; }
p.big-morelink a,p.big-morelink-left a,p.big-morelink-right a {padding:0.6rem 1rem;/*height:40px;*/border:1px solid #1271ee; color:#1271ee; text-decoration:none; font-weight:700/*600*/;font-size:1.125rem;display:inline-flex;justify-content:center;align-items:center;transition:.4s;line-height:1;}
p.big-morelink a:hover,p.big-morelink-left a:hover,p.big-morelink-right a:hover { background-color:#2e92ff; border:1px solid #2e92ff; color:#fff!important; text-decoration:none; font-weight:700/*600*/; }
/*.no-touchevents p.big-morelink a:hover,.no-touchevents p.big-morelink-left a:hover,.no-touchevents p.big-morelink-right a:hover{ background-color:#2e92ff; color:#ffffff; }*/
.pageContent .button a{padding:0.6rem 1rem;/*height:40px;*/text-decoration:none; font-weight:700/*600*/;font-size:1.125rem;display:inline-flex;justify-content:center;align-items:center;}
.pageContent .button a:hover{color:#ffffff;}
:is(.button, .button-filled, .button-outlined, .button-filled-green, .button-outlined-green) {padding:0.6rem 1rem;/*height:40px;*/text-decoration:none; font-weight:700/*600*/;font-size:1.125rem;display:inline-flex;justify-content:center;align-items:center;line-height:1;}
:is(.button, .button-filled, .button-outlined, .button-filled-green, .button-outlined-green):last-child {margin-right: 0;}
.button-filled {border: 1px solid #1271ee;background-color: #1271ee;color: #fff!important;}
.button-filled:hover{border: 1px solid #2e92ff;background:#2e92ff;}
.button-outlined {border: 1px solid #1271ee;color: #1271ee;}
.button-filled-green {border: 1px solid #86bc26;background-color: #86bc26;color: #fff!important;}
.button-filled-green:hover{background-color: #9ec951;}
.button-outlined-green {border: 1px solid #86bc26;color: #86bc26;}
.button-filled-blue {border: 1px solid #1271ee;background-color: #1271ee;color: #fff!important;}
.button-filled-blue:hover {background-color: #2e92ff;}
.button-outlined-blue {border: 1px solid #1271ee;color: #1271ee;}
.no-touchevents :is(.button-outlined, .button-outlined-blue):hover {background-color: #2e92ff;border-color: #2e92ff;color: #fff!important;text-decoration: none;}
:is(.button-outlined, .button-outlined-blue):hover {background-color: #2e92ff;color: #fff!important;text-decoration: none;}
.no-touchevents :is(.button-outlined-green):hover {background-color: #86bc26;color: #fff!important;text-decoration: none;}
.no-touchevents :is(.button, .button-filled, .button-filled-green, .button-outlined-green, .button-filled-blue, .button-outlined-blue):hover {text-decoration: none;}
.button a,.btn-primary a {color: inherit;text-decoration: none;}
.tx-powermail .btn-primary { background-color:#86bc26; color:#fff; font-size:1.25rem; padding:0 1.25rem; height:45px; }
.tx-powermail .btn-primary:hover { background-color:#9ec951; }
aside .btn-primary { background-color:#1a7dff; color:#fff; font-size:1.5rem; padding:0 3rem; height:55px; }
aside .btn-primary:hover { background-color:#2e92ff; }
.btn-danger { border:1px solid #1271ee; color:#1271ee; font-size:1.25rem; padding:0 1.25rem; height:45px; }
.btn-danger:hover { background:#2e92ff; border:1px solid #2e92ff; color:#ffffff; }
/* .no-touchevents .btn-primary:hover { background-color:#ffffff; color:#1a7dff; border:1px solid #1a7dff; } */
.frame-bgcolor-blue .btn-primary {background-color:#86bc26;}
/* .no-touchevents .frame-bgcolor-blue .btn-primary:hover { color:#86bc26; border:1px solid #86bc26; } */
.frame-bgcolor-blue .btn-primary:hover{background:#9ec951;}
@media only screen and (max-width: 800px) {
    p.big-morelink {
        display: flex;
        flex-direction: column;
        align-items: center;
    }
    p.big-morelink-left {
        display: flex;
        flex-direction: column;
        align-items: flex-start;
    }
    p.big-morelink a,
    p.big-morelink-left a {
        margin-bottom: 20px;
    }
    :is(.button,
        .button-filled,
        .button-outlined,
        .button-filled-green,
        .button-outlined-green) {
        margin-bottom: 1em;
    }
    :is(.button,
        .button-filled,
        .button-outlined,
        .button-filled-green,
        .button-outlined-green):last-child {
        margin-bottom: 0;
    }
    p:has(.button,
        .button-filled,
        .button-outlined,
        .button-filled-green,
        .button-outlined-green) {
        display: flex;
        flex-direction: column;
        align-items: center;
    }
}
/*** END - OLD BUTTON STYLES - vor dem 19.04.2026 - bestenfalls nicht mehr ändern, nicht benutzen und auslaufen lassen ***/


/** START - Search ***/
.searchWrapper input[type=text] { font-size:1em; }
.searchWrapper .input-group-btn button { border:none; background-color:#1271ee; color:#ffffff; font-size:0.875em; cursor:pointer; }
/** END - Search ***/

/*** START - Scroll to top ***/
.scrollToTop {
    border: 1px solid #ffffff;
    border-right: 0;
    position: fixed;
    right: 0;
    bottom: 100px;
    z-index: 1001;
    background: #094f9e url('../../../typo3conf/ext/custom_md2022/Resources/Public/Icons/scrollToTop.png') 0.75rem center no-repeat;
    color: #ffffff !important;
    text-decoration: none;
    font-size: 0.875rem;
    font-weight: 700/*600*/;
    padding: 0 1rem 0 2.25rem;
    height: 40px;
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
    transition: .4s;
}
.scrollToTop:hover {
    text-decoration: none!important;
    background: #3a72b1 url('../../../typo3conf/ext/custom_md2022/Resources/Public/Icons/scrollToTop.png') 0.75rem center no-repeat;
}
@media only screen and (max-width:800px) {
    .scrollToTop{
        bottom: 125px;
    }
}
/*** END - Scroll to top ***/

/*** START - CallToAction Stripe / Newsletter Stripe ***/
/* ggf. noch eine ID für den Newsletter Streifen ?*/
.callToActionWrapper .contentWrapper {
    padding: 1rem 80px;
}
.callToActionWrapper .form-group,
.callToActionWrapper .btn-group {
    margin: 0;
    line-height: normal;
}
.callToActionWrapper .btn-primary,
.callToActionWrapper .btn-primary:hover {
    margin-bottom: 0;
    color: #ffffff;
    border: none;
    background: #1271ee;
}
.callToActionWrapper {
    position: fixed;
    left: 0;
    bottom: 0;
    width: 100%;
    z-index: 1003;
    background-color: #86bc26;
}
.callToActionWrapper form {
    display: flex;
}
.callToActionWrapper label {
    margin-right: 40px;
    color: #ffffff;
    font-size: 1.5rem;
    font-weight: 600;
}
.callToActionWrapper input[type=text] {
    width: 20rem;
    height: 40px;
    font-size: 1rem;
    border: none;
}
.callToActionWrapper button,
.callToActionWrapper input[type=submit] {
    padding: 0 1rem;
    height: 40px;
    text-decoration: none;
    font-weight: 700/*600*/;
    font-size: 1.125rem;
    display: inline-flex;
    justify-content: center;
    align-items: center;
    margin: 0;
}
.no-touchevents .callToActionWrapper button:hover,
.no-touchevents .callToActionWrapper input[type=submit]:hover {
    background: #2e92ff;
}
@media only screen and (max-width: 1200px) {
    .callToActionWrapper .contentWrapper {
        padding: 10px 3em 10px 3em;
    }
    .callToActionWrapper label {
        font-size: 1.25rem;
    }
    .callToActionWrapper label .line-1 {
        display: none;
        visibility: hidden;
    }
    .callToActionWrapper input[type="text"]{
        width: 16rem;
    }
}
@media only screen and (max-width: 800px) {
    .callToActionWrapper .contentWrapper {
        padding: 10px 20px 10px 20px;
    }
    .callToActionWrapper form {
        width: 100%; }
    .callToActionWrapper label {
        display: flex;
        margin-right: 0;
        margin-bottom: 0.5rem;
    }
    .callToActionWrapper label span {
        white-space: nowrap;
        line-height: 1;
    }
    .callToActionWrapper input[type="text"] {
        width: 16rem;
    }
    .callToActionWrapper .actions {
        padding-top: 28px;
    }
    .callToActionWrapper button {
        width: 40px;
        padding: 4px;
    }
    /* 2026-08-06: Hier stand "display: none". Der Knopf des Newsletter-Formulars im Fuss
       zeigt unter 800px nur noch das Pfeil-Icon; sein einziger Text steckt in .btn-label
       (<span class="btn-label">Absenden</span>). display:none nimmt den Text NICHT nur dem
       Auge, sondern auch dem Zugaenglichkeitsbaum - der Knopf hiess damit gar nichts.
       PageSpeed meldete das als button-name ("Buttons do not have an accessible name");
       auf Desktop trat es nicht auf, weil die Regel nur in dieser Media Query steht.
       Jetzt wird der Text visuell versteckt statt entfernt: optisch unveraendert (1px,
       ausgeschnitten, aus dem Fluss genommen - die Knopfbreite von 40px bleibt), aber
       Screenreader und Sprachsteuerung finden weiterhin "Absenden".
       Bewusst KEIN aria-label: der sichtbare Text ist schon da und wird redaktionell
       gepflegt - ein zweiter, doppelt zu pflegender Text waere die schlechtere Loesung. */
    .callToActionWrapper .btn-label {
        position: absolute;
        width: 1px;
        height: 1px;
        padding: 0;
        margin: -1px;
        overflow: hidden;
        clip: rect(0, 0, 0, 0);
        white-space: nowrap;
        border: 0;
    }
    .callToActionWrapper .btn-icon {
        display: inline-block;
        width: 100%;
        height: 100%;
        background: url('../../../typo3conf/ext/custom_md2022/Resources/Public/Icons/icon_more_white.svg') center center no-repeat;
        background-size: 20px 20px;
    }
}
/*** END - Newsletter Stripe ***/


/*** START - Frames ***/
.frame { position: relative; }

/* background + font colors */
.bgcolor-white,.frame.bgcolor-white,.frame-bgcolor-white { background-color: #ffffff; color: #000000; }
.bgcolor-gray,.frame.bgcolor-gray,.frame-bgcolor-gray { background-color: #ebebeb; color:#000000; }
.bgcolor-darkgray,.frame.bgcolor-darkgray,.frame-bgcolor-darkgray { background-color: #606060; color: #ffffff; }
.bgcolor-darkgray a,.frame.bgcolor-darkgray a,.frame-bgcolor-darkgray a { color: #ffffff; }
.bgcolor-green,.frame.bgcolor-green,.frame-bgcolor-green { background-color: #86bc26; color: #ffffff; }
.bgcolor-green a,.frame.bgcolor-green a,.frame-bgcolor-green a {color: #ffffff;}
.bgcolor-blue,.frame.bgcolor-blue,.frame-bgcolor-blue { background-color: #1271ee; color: #ffffff; }
.bgcolor-blue a,.frame.bgcolor-blue a,.frame-bgcolor-blue a { color: #ffffff; }
.bgcolor-darkblue,.frame.bgcolor-darkblue,.frame-bgcolor-darkblue { background-color: #000f29; color: #ffffff; }
.bgcolor-darkblue a,.frame.bgcolor-darkblue a,.frame-bgcolor-darkblue a { color: #ffffff; }
.bgcolor-darkblue a:hover,.frame.bgcolor-darkblue a:hover,.frame-bgcolor-darkblue a:hover { color: #2e92ff; }
.bgcolor-darkblue2,.frame.bgcolor-darkblue2,.frame-bgcolor-darkblue2 { background-color: #032751; color: #ffffff; }
.bgcolor-darkblue2 a,.frame.bgcolor-darkblue2 a,.frame-bgcolor-darkblue2 a { color: #ffffff; }
.bgcolor-darkblue2 a:hover,.frame.bgcolor-darkblue2 a:hover,.frame-bgcolor-darkblue2 a:hover { color: #2e92ff; }
.bgcolor-orange,.frame.bgcolor-orange,.frame-bgcolor-orange { background-color: #ff7300; color: #ffffff; }
.bgcolor-orange a,.frame.bgcolor-orange a,.frame-bgcolor-orange a { color: #ffffff; }

.frame.bgcolor-white,
.frame-bgcolor-white,
.frame.bgcolor-gray,
.frame-bgcolor-gray,
.frame.bgcolor-darkgray,
.frame-bgcolor-darkgray,
.frame.bgcolor-green,
.frame-bgcolor-green,
.frame.bgcolor-blue,
.frame-bgcolor-blue,
.frame.bgcolor-darkblue,
.frame-bgcolor-darkblue,
.frame.bgcolor-darkblue2,
.frame-bgcolor-darkblue2,
.frame.bgcolor-orange,
.frame-bgcolor-orange{
    padding: 2em;
}

.aside .frame.bgcolor-white,
.aside .frame-bgcolor-white,
.aside .frame.bgcolor-gray,
.aside .frame-bgcolor-gray,
.aside .frame.bgcolor-darkgray,
.aside .frame-bgcolor-darkgray,
.aside .frame.bgcolor-green,
.aside .frame-bgcolor-green,
.aside .frame.bgcolor-blue,
.aside .frame-bgcolor-blue,
.aside .frame.bgcolor-darkblue,
.aside .frame-bgcolor-darkblue,
.aside .frame.bgcolor-darkblue2,
.aside .frame-bgcolor-darkblue2,
.aside .frame.bgcolor-orange,
.aside .frame-bgcolor-orange,
.grid2cols7525 .grid-column-102 .frame.bgcolor-white,
.grid2cols7525 .grid-column-102 .frame-bgcolor-white,
.grid2cols7525 .grid-column-102 .frame.bgcolor-gray,
.grid2cols7525 .grid-column-102 .frame-bgcolor-gray,
.grid2cols7525 .grid-column-102 .frame.bgcolor-darkgray,
.grid2cols7525 .grid-column-102 .frame-bgcolor-darkgray,
.grid2cols7525 .grid-column-102 .frame.bgcolor-green,
.grid2cols7525 .grid-column-102 .frame-bgcolor-green,
.grid2cols7525 .grid-column-102 .frame.bgcolor-blue,
.grid2cols7525 .grid-column-102 .frame-bgcolor-blue,
.grid2cols7525 .grid-column-102 .frame.bgcolor-darkblue,
.grid2cols7525 .grid-column-102 .frame-bgcolor-darkblue,
.grid2cols7525 .grid-column-102 .frame.bgcolor-darkblue2,
.grid2cols7525 .grid-column-102 .frame-bgcolor-darkblue2,
.grid2cols7525 .grid-column-102 .frame.bgcolor-orange,
.grid2cols7525 .grid-column-102 .frame-bgcolor-orange {
padding: 1.5em 1em 2em 1em;
}

.aside :required { background-color:#ffffff; }

/* padding-top none + padding-bottom none */
.frame-padding-top-none,.aside .frame-padding-top-none { padding-top:0; }
.frame-padding-bottom-none,.aside .frame-padding-bottom-none{ padding-bottom:0; }

/* border-top + border-bottom */
.frame-bgcolor-white.frame-line-before,.frame-bgcolor-gray.frame-line-before { border-top:1px solid #003567; }
.frame-bgcolor-green.frame-line-before,.frame-bgcolor-darkgray.frame-line-before,.frame-bgcolor-blue.frame-line-before,.frame-bgcolor-darkblue.frame-line-before { border-top:1px solid #ffffff; }
.frame-bgcolor-white.frame-line-after,.frame-bgcolor-gray.frame-line-after { border-bottom:1px solid #003567; }
.frame-bgcolor-green.frame-line-after,.frame-bgcolor-darkgray.frame-line-after,.frame-bgcolor-blue.frame-line-after,.frame-bgcolor-darkblue.frame-line-after { border-bottom:1px solid #ffffff; }

@media only screen and (max-width: 800px) {
    .pageContent :is(.frame.bgcolor-white,
        .frame-bgcolor-white,
        .frame.bgcolor-gray,
        .frame-bgcolor-gray,
        .frame.bgcolor-darkgray,
        .frame-bgcolor-darkgray,
        .frame.bgcolor-green,
        .frame-bgcolor-green,
        .frame.bgcolor-blue,
        .frame-bgcolor-blue,
        .frame.bgcolor-darkblue,
        .frame-bgcolor-darkblue,
        .frame.bgcolor-darkblue2,
        .frame-bgcolor-darkblue2) {
        padding: 1em;
    }
    /* because there is the open/close toggle button */
    .pageContent .frame-bgcolor-white.grid2rows2cols {
        padding: 0;
    }

}
/*** END - Frames ***/


/*** START - Metanavi ***/
.languagenavi a, .metanavi a { text-decoration:none; }
.languagenavi > li,.metanavi > li { margin-left:1.5em; margin-bottom:0; }
.metanavi > li:first-child { margin-left:0.5em; }
.languagenavi > li > a, .metanavi > li > a { display:block; height:100%; padding:.6875em 0; font-size:.875em; color:inherit; text-decoration:none; font-weight: 700/*600*/; }
.languagenavi > li.active > a, .metanavi > li.active > a { text-decoration:none; color:#1271ee; }
.languagenavi > li > a:hover, .metanavi > li > a:hover { text-decoration:none; color:#2e92ff; }
.pageHeader.mainnaviOpened .languagenavi > li > a:hover { color:#003567; }
.pageHeader.mainnaviOpened .languagenavi > li.active > a { color:#003567; }
.pageHeader.mainnaviOpened .languagenavi > li.active > a:hover { color:#2e92ff; }

/** Mitglied werden, Jetzt spenden **/
.metanavi > li.emphasized > a { padding:0.6875em 1em; background-color:#1271ee; }
.metanavi > li.active.emphasized > a { color:#003567; }
.metanavi > li.active.emphasized > a:hover { color:#003567; }
.metanavi > li.emphasized > a:hover { background-color:#2e92ff; color:#ffffff; }
/** Login **/
.metanavi > li:last-child a:before { font-family:'Font Awesome 6 Free'; font-style:normal; font-variant:normal; line-height:1; text-rendering:auto; content:"\f007"; font-size:22px; margin-right:10px; }
@media only screen and (max-width:1200px) {
    .metanavi { margin-right:0/*-3em*/; }
}
/*** END - Metanavi ***/


/*** START - Mainnavi ***/
.mainnavi.level1 > li > span.mainnaviLevel2Toggle { display:inline-block; width:0.875em; height:0.875em; margin-left:0.25em; background-image:url('../../../typo3conf/ext/custom_md2022/Resources/Public/Icons/icon_more_white.svg'); background-position:center; background-repeat:no-repeat; background-size:contain; cursor:pointer;transition:0.4s;}
.mainnavi.level1 > li.opened > span.mainnaviLevel2Toggle {-ms-transform:rotate(90deg);-moz-transform:rotate(90deg);transform:rotate(90deg);}
.mainnavi a { color:#ffffff; text-decoration:none; }
.mainnavi > li > a { display:block; min-height:82px; border-bottom:1px solid white; font-size:1.5rem; font-weight:600/*700*/; }
.mainnavi > li.active > a,.mainnavi > li.current > a,.no-touchevents .mainnavi > li > a:hover { color:#003567;text-decoration:none; }
.mainnavi > li > a span.subtitle { display:block; padding-bottom:1.5rem; font-size:1rem; font-weight:700; letter-spacing:0.5px; white-space:nowrap; overflow:hidden; }
.mainnavi ul.level2 { margin-top:30px; }
.mainnavi ul.level2 > li { margin-left:-4px; margin-bottom:8px; font-weight:700/*600*/; }
.mainnavi ul.level2 > li > a { padding-left:4px; padding-right:4px; }
.mainnavi ul.level2 > li.hasChildren { margin-left:-18px; }
.mainnavi ul.level2 > li.active > a,.mainnavi ul.level2 > li.current > a,.no-touchevents .mainnavi ul.level2 > li > a:hover { color:#003567;text-decoration:none; }
.mainnavi ul.level2 > li > span.mainnaviLevel3Toggle { display:inline-block; width:10px; height:10px; background-image:url('../../../typo3conf/ext/custom_md2022/Resources/Public/Icons/icon_navi-closed.svg'); background-position:center; background-repeat:no-repeat; background-size:contain; cursor:pointer;transition:0.4s;}
.mainnavi ul.level2 > li.opened > span.mainnaviLevel3Toggle { -ms-transform:rotate(90deg); -moz-transform:rotate(90deg);transform:rotate(90deg); }
.mainnavi ul.level3 { margin-top:12px; margin-bottom:30px; padding-left:17px;}
.mainnavi ul.level3 > li > a { font-weight:400; }
.mainnavi ul.level3 > li.active > a,.mainnavi ul.level3 > li.current > a,.no-touchevents .mainnavi ul.level3 > li> a:hover { color:#003567; }
.mainnavi li.active > a,.no-touchevents .mainnavi li > a:hover { /*color:#022752;*/ }
/** Toggle button **/
.mainnaviToggle { background-color:#1271ee; color:#ffffff; text-align:center; cursor:pointer; }
.mainnaviToggleIcon { display:inline-block; width:14px; height:14px; margin-right:13px;background-color:transparent; background-image:url('../../../typo3conf/ext/custom_md2022/Resources/Public/Icons/icon_navibar.png'); background-position: center; background-repeat:no-repeat; background-size:contain; }
.mainnaviToggleLabel { font-size:1.125em;font-weight:700/*600*/; }
.no-touchevents .mainnaviToggle:hover { background-color:#2e92ff }
@media only screen and (max-width:800px) {
    .mainnavi.navi.horizontal > li {
        flex:1 1 100%;
        min-width: 100%;
        margin-right: 0;
        margin-bottom: 0;
        padding-left: 20px;
        padding-right: 20px;
        border-top: 1px solid white;
        display:flex;
        flex-wrap: wrap;
        justify-content: space-between;
        align-items: center;
    }
    .mainnavi.navi.horizontal > li:last-child {
        border-bottom: 1px solid white;
    }
    .mainnavi.navi.horizontal > li > ul.level2 {
        flex: 1 1 100%;
    }
    .mainnavi.navi.horizontal > li.emphasized {
        background-color: #032751;
    }
    .mainnavi.navi.horizontal > li > a {
        flex: 1 1 calc(100% - 1.75em);
        display: inline-block;
        min-height: 60px;
        padding-top: 16px;
        padding-bottom: 16px;
        border-bottom: none;
    }
    .mainnavi.navi.horizontal > li.emphasized > a {
        background-color: #032751;
    }
    .mainnavi.navi.horizontal > li.active.emphasized > a {
        color: #1271ee;
    }
    .mainnavi.level1 > li > span.mainnaviLevel2Toggle {
        flex: 1 1 1.75em;
        width: 1.75em;
        height: 1.75em;
    }
    .mainnavi {
        border-bottom: none;
    }
    .mainnavi ul.level2 {
        margin-top: 0;
    }
    .mainnavi ul.level2 > li {
        margin-left: 0;
        padding-left: 12px;
    }
    .mainnavi ul.level2 > li.hasChildren {
        margin-left:-14px;
    }
    .mainnavi > li > a span.subtitle {
        padding-bottom: 0.5em;
        white-space:normal;
    }
    @media only screen and (max-width: 800px) {
        .mainnaviWrapper,
        .pageheader.sticky.mainnaviOpened .mainnaviWrapper {
            margin-top: 0;
        }

        .mainnavi.navi.horizontal {
            flex-direction: column;
        }

        #mainnaviToggle {
            position: absolute;
            right: 0;
            top: 0;
            flex-direction: column;
            width: 64px;
            height: 64px;
            margin-top: 0;
        }

        .mainnaviToggleIcon {
            width: 40%;
            height: 40%;
            margin-right: 0;
            margin-bottom: 0 /*6px*/;
            background-image: url('../../../typo3conf/ext/custom_md2022/Resources/Public/Icons/icon_navibar-mobil.svg');
        }

        .mainnaviToggleLabel {
            display: block;
            font-size: 0.875rem /*12px*/;
        }

        .pageHeader.sticky #mainnaviToggle,
        .pageHeader.sticky.mainnaviOpened #mainnaviToggle {
            margin-top: 0;
        }
    }
}
/*** END - Mainnavi ***/


/*** START CE Table ***/
.frame-type-table header .subtitle {
    font-size: 1em;
    font-weight: 400;
}
@media only screen and (max-width: 800px) {
    .frame-type-table thead th {
        min-width: 100px;
    }
}
/*** END CE Table ***/



/*** START CE Menu pages/subpages ***/
.frame-type-menu_pages ul,
.frame-type-menu_subpages ul {
    list-style: none;
}
.frame-type-menu_pages li,
.frame-type-menu_subpages li {
    margin-left: 0;
}
/*** END CE Menu pages/subpages ***/



/*** START CE Icon menu of subpages ***/
.frame-type-menu_icons_subpages ul {
    list-style: none;
    display:flex;
    flex-wrap: wrap;
    margin-bottom: 0;
}
.frame-line-before .frame-type-menu_icons_subpages ul,
.frame-type-menu_icons_subpages.frame-line-before ul {
    margin-top: 2em;
}
.frame-line-after .frame-type-menu_icons_subpages ul,
.frame-type-menu_icons_subpages.frame-line-after ul {
    margin-bottom: calc(2em - 20px);
}
.frame-type-menu_icons_subpages ul li {
    margin-bottom: 20px;
    margin-left: 0;
    margin-right: 1.25em;
}
.frame-type-menu_icons_subpages ul li a {
    display: block;
    line-height: 0.6;
    height: 24px;
}
.frame-type-menu_icons_subpages img {
    width: auto;
    height: 100%;
    filter: brightness(0%) invert(100%);
}
.frame-type-menu_icons_subpages img:hover{
    filter: none;
}

/* Handle icons in mainnavi overlay */
.mainnaviWrapper .frame-type-menu_icons_subpages {
    margin-top: 40px;
    padding-top:2em;
    border-top: 1px solid #ffffff;
}
.mainnaviWrapper .frame-type-menu_icons_subpages img {
    filter:brightness(0%) invert(100%);
}
/* nearly perfect #003567 */
.mainnaviWrapper .frame-type-menu_icons_subpages img:hover {
    filter:brightness(0) saturate(100%) invert(14%) sepia(22%) saturate(7121%) hue-rotate(193deg) brightness(95%) contrast(103%)
}
@media only screen and (max-width: 800px) {
    .frame-type-menu_icons_subpages ul {
        padding-left:0;
    }
    .frame-type-menu_icons_subpages ul {
        padding-left: 2em;
    }
    .frame-type-menu_icons_subpages.frame-line-after ul {
        margin-bottom: 0;
    }
    .frame-type-menu_icons_subpages ul li {
        margin-bottom: 40px;
    }
    .frame-type-menu_icons_subpages ul li a {
        height: 32px;
    }
    .mainnaviWrapper .frame-type-menu_icons_subpages {
        padding-top: 0;
        padding-left: 20px;
        padding-right: 20px;
        border-top: none;
    }
}
/*** END CE Icon menu of subpages ***/



/*** START - Custom tile group ***/
.custom-tile-group { list-style:none; display:flex; flex-wrap:wrap; overflow:hidden; }
.custom-tile-group.opened { transition:max-height 800ms; }
.custom-tile-group.closed { transition:max-height 100ms; }
.custom-tile-item { background:#ffffff; position:relative; margin-left:0; margin-right:1.5rem; margin-bottom:1.5rem; }
.aside .custom-tile-item { margin-right:0; }
.aside .custom-tile-item:last-child { margin-bottom:0; }
.custom-tile-item.margin-right-0 { margin-right:0; }

/** Columns **/
[data-columns="4"] .custom-tile-item { flex:1 1 calc(100% / 3 - 1rem); max-width:calc(100% / 3 - 1rem); }
.frame:not(.frame-first-item-doublesize) [data-columns="4"] .custom-tile-item:nth-child(n) { margin-right:1.5rem; }
.frame:not(.frame-first-item-doublesize) [data-columns="4"] .custom-tile-item:nth-child(3n) { margin-right:0; }
[data-columns="3"] .custom-tile-item { flex:1 1 calc(100% / 3 - 1rem);max-width:calc(100% / 3 - 1rem); }
[data-columns="3"] .custom-tile-item:nth-child(3n) { margin-right:0; }
[data-columns="2"] .custom-tile-item { flex:1 1 calc(50% - 0.75rem); max-width:calc(50% - 0.75rem); }
[data-columns="2"] .custom-tile-item:nth-child(2n) { margin-right:0; }
[data-columns="1"] .custom-tile-item { flex:1 1 100%; margin-right:0; max-width:100%; }

/* Custom tile item */
.custom-tile-item a { color:inherit; text-decoration:none; }
.custom-tile-item a:hover { color:inherit; text-decoration:none; }
.custom-tile-item > a { height:100%; display:block; }
.custom-tile-item-meta { align-items:center; background-color:#094f9e; display:flex; font-size:0.875rem; justify-content:space-between; padding:0.25rem 1rem 0.25rem 1rem; position:relative; }
.custom-tile-item-meta.featured_event { background-color:#f45e5e; }
.custom-tile-item-meta-contenttype { display:inline-block; font-weight:700/*600*/; text-transform:uppercase; white-space:nowrap; }
.custom-tile-item-meta-date { display:inline-block; /*width:115px;*/ white-space:nowrap;}
.custom-tile-item-meta-relevance { display:inline-block; white-space:nowrap;}
.custom-tile-item-meta-sharebar { background:none; border:none; color:#ffffff; position:absolute; top:0.375rem; right:1rem; display:inline-block; white-space:nowrap; cursor:pointer; /*text-decoration:underline;*/ font-weight:700/*600*/; transition:.4s; }
.custom-tile-item-meta-sharebar:hover { color:#2e92ff; }
.custom-tile-item-meta-sharebar .fa-share { margin-right:5px; }
.custom-tile-item-meta-sharebar .fa-share:hover,.custom-tile-item-sharebar a:hover/*,.custom-tile-item-sharebar .fa-facebook:hover,.custom-tile-item-sharebar
.fa-envelope:hover*/{ color:#2e92ff/*!important*/; }
.no-touchevents .custom-tile-item > a:hover .custom-tile-item-meta, .custom-tile-item > a:active .custom-tile-item-meta { background-color:#3a72b1; transition: 0.4s; }
.no-touchevents .custom-tile-item > a:hover .custom-tile-item-header, .custom-tile-item > a:active .custom-tile-item-header { color:#003567; text-decoration:underline; transition: 0.4s; }
.no-touchevents .frame-first-item-doublesize .custom-tile-item:first-child > a:hover .custom-tile-item-header, .frame-first-item-doublesize .custom-tile-item > a:active .custom-tile-item-header { color:#ffffff; }
.no-touchevents .frame-first-item-doublesize .custom-tile-item:first-child > a:hover .custom-tile-item-more, .frame-first-item-doublesize .custom-tile-item > a:active .custom-tile-item-more { color:#2e92ff; }
.no-touchevents .custom-tile-item > a:hover .custom-tile-item-more, .custom-tile-item > a:active .custom-tile-item-more { color:#003567; }
.custom-tile-item-sharebar { background-color:#094f9e; border-top:1px solid #ffffff; padding:5px 1em; position:absolute; right:0; top:2rem; z-index:10; }
/* Solr result sharebars are toggled open/closed via JS (jq-main.js). AJAX-injected
   tiles (facet clicks, pagination) carry no inline display, so hide them by default
   here; the toggle sets an inline display to open. Scoped to .results-list so
   mdevents/news/content sharebars keep their own behaviour. */
.results-list .custom-tile-item-sharebar { display:none; }
.custom-tile-item-sharebar a { display: inline-block;margin-right: .5em;font-size: 1.875em;padding:5px;}
.custom-tile-item-sharebar a:last-child { margin-right: 0;}
.custom-tile-item-image figure {position: relative;line-height: .5;}
.custom-tile-item-image figure img { width:100%; }
.custom-tile-item-image figcaption { position:absolute; left:16px; top:12px; font-size:32px; font-weight:700; line-height:1; }
.custom-tile-item-image figcaption > span.time { display:block; margin-top:20px; font-size:16px; }
.custom-tile-item-image a figcaption { color:#e0e0e0; }
.custom-tile-item-text { color:#000000; padding:1em 1em 3em 1em; }
.custom-tile-item-header h2, .custom-tile-item-header h3 { margin-bottom:16px; line-height:26px; }
.custom-tile-item-teaser p:nth-last-child(2) { margin-bottom:0; }
.custom-tile-item-more { position:absolute; left:16px; bottom:16px; display:inline-block; margin-bottom:0; padding-right:16px; color:#1a7dff; font-size:0.875rem; text-transform:uppercase; text-decoration:underline;transition:.4s;font-weight:700/*600*/;}
.custom-tile-item-more:after { font-family: 'Font Awesome 6 Free'; content:"\f105"; display:inline-block; margin-left:5px; }


/** Double Size **/
.frame-first-item-doublesize .custom-tile-item:first-child { flex:1 1 calc(200% / 3 - 0.5rem); max-width:calc(200% / 3 - 0.5rem); position:relative; }
.frame-first-item-doublesize .custom-tile-item:nth-child(2) { margin-right:0; }
.frame-first-item-doublesize .custom-tile-item:nth-child(3n+2) { margin-right:0; }
/* 2026-07-29: aspect-ratio haelt die grosse Kachel auf 16:9, unabhaengig von der Breite. */
.frame-first-item-doublesize .custom-tile-item:first-child .custom-tile-item-image { align-items:center; aspect-ratio:16 / 9; display:flex; justify-content:center; overflow:hidden; width:100%; }
/* 2026-07-29: Die Kachel wird von der Nachbarspalte in die Hoehe gezogen. Waechst das Bildfeld
   nicht mit, endet das Bild vor dem unteren Kachelrand und der halbtransparente Textkasten
   laeuft dort ueber den weissen Grund. 16:9 bleibt die Untergrenze, darueber schneidet
   object-fit:cover zu. */
.frame-first-item-doublesize .custom-tile-item:first-child > a { display:flex; flex-direction:column; }
.frame-first-item-doublesize .custom-tile-item:first-child .custom-tile-item-image { flex:1 1 auto; }
.frame-first-item-doublesize .custom-tile-item:first-child .custom-tile-item-image figure { align-items:center; display:flex; height:100%; justify-content:center; margin:0; width:100%; }
/* 2026-06-23 SP: changed align_items from "center" to "stretch" */
.frame-first-item-doublesize .custom-tile-item:first-child .custom-tile-item-image figure { align-items: stretch; }
.frame-first-item-doublesize .custom-tile-item:first-child img { height:100%; object-fit:cover; width:100%; }
/* 2026-07-29: figure ist hier ein Flex-Container; .imageWrapper und <picture> waeren sonst
   nur so breit wie die Bilddatei selbst (900px). Das width:100% am img wirkt dann nur
   innerhalb dieser Breite und laesst weisse Raender neben dem Bild. */
.frame-first-item-doublesize .custom-tile-item:first-child .custom-tile-item-image figure .imageWrapper,
.frame-first-item-doublesize .custom-tile-item:first-child .custom-tile-item-image figure picture { display:block; height:100%; width:100%; }
/* 2026-07-29: Textkasten als Overlay - lag vorher nur im min-width:1600px-Block und gilt
   jetzt ab 800px aufwaerts. Unter 800px setzt der max-width:800px-Block ihn zurueck. */
.frame-first-item-doublesize .custom-tile-item:first-child .custom-tile-item-text {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    background-color: rgb(0,15,41,0.7);
    color: #ffffff;
}
.frame-first-item-doublesize .custom-tile-item:first-child .custom-tile-item-more {
    color: #fff;
}
.frame-first-item-doublesize .custom-tile-item:first-child .custom-tile-item-more:hover {
    color: #2e92ff;
}

@media only screen and (max-width: 1200px) {
    :is([data-columns="4"], [data-columns="3"], [data-columns="2"], [data-columns="1"]) .custom-tile-item {
        position: relative;
        flex: 1 1 calc(50% - 0.75rem);
        max-width: calc(50% - 0.75rem);
        margin-left: 0;
        margin-right: 1.5rem;
        margin-bottom: 1.5rem;
        background-color: white;
    }
    .aside :is([data-columns="4"],[data-columns="3"],[data-columns="2"],[data-columns="1"]) .custom-tile-item {
        flex:unset;
        max-width: unset;
        margin-right: 0;
    }
    :is([data-columns="4"],[data-columns="3"],[data-columns="2"],[data-columns="1"]) .custom-tile-item:nth-child(2n) {
        margin-right:0;
    }
    .frame:not(.frame-first-item-doublesize) [data-columns="4"] .custom-tile-item:nth-child(n) {
        margin-right:1.5rem;
    }
    .frame:not(.frame-first-item-doublesize) [data-columns="4"] .custom-tile-item:nth-child(2n) {
        margin-right: 0;
    }
    .custom-tile-group {
        justify-content: space-between;
    }
    /* is filtered needed ???
    [data-columns="4"] .custom-tile-item.filtered {
        flex: 1 1 calc(50% - 0.75rem);
        max-width: calc(50% - 0.75rem);
    }
    [data-columns="4"] .custom-tile-item:nth-child(2n):not(.filtered) {
        margin-right: 0;
    }
    */
    :is(aside, .grid-column) .form-navigation {
        position: static;
        bottom:unset;
    }
    /** .frame-first-item-doublesize: first list element with double width - SP 2026-0602 **/
    .frame-first-item-doublesize .custom-tile-item:first-child {
        flex: 1 1 100%;
        max-width: 100%;
    }
    .frame-first-item-doublesize .custom-tile-item:nth-child(2n) {
        margin-right: 1.5rem;
    }
    .frame-first-item-doublesize .custom-tile-item:nth-child(2n+1) {
        margin-right: 0;
    }
    /*
    .pagets__default .custom-tile-item {
        flex:1 1 calc(50% - 10px);
        max-width:calc(50% - 10px);
    }
    */
}
@media only screen and (max-width: 800px) {
    :is([data-columns="4"],
        [data-columns="3"],
        [data-columns="2"],
        [data-columns="1"]) .custom-tile-item {
        flex:1 1 100%;
        max-width:100%;
        margin-right:0;
    }
    .custom-tile-group {
        margin-bottom: 1.5em;
    }
    /* is filtered needed ???
    [data-columns="4"] .custom-tile-item.filtered { flex:1 1 100%; max-width:100%; }
    [data-columns="4"] .custom-tile-item:not(.filtered) { margin-right:0; }
    */
    /*
    .frame-first-item-doublesize: reset first list element - SP 2026-0602
    */
    .frame-first-item-doublesize .custom-tile-item:first-child .custom-tile-item-image {
        height: auto;
    }
    .frame-first-item-doublesize .custom-tile-item:first-child .custom-tile-item-text {
        position: static;
        background-color: transparent;
        color: #202020;
    }
    /* 2026-07-29: gehoert zum Reset oben - weisse Schrift waere auf weissem Grund unsichtbar. */
    .frame-first-item-doublesize .custom-tile-item:first-child .custom-tile-item-more {
        color: #1a7dff;
    }
    .frame-first-item-doublesize .custom-tile-item:nth-child(2n) {
        margin-right: 0;
    }
    .frame:not(.frame-first-item-doublesize) [data-columns="4"] .custom-tile-item:nth-child(n) {
        margin-right: 0;
    }
}
@media only screen and (min-width: 1600px) {
    [data-columns="4"] .custom-tile-item {
        flex: 1 1 calc(25% - 1.125rem);
        max-width: calc(25% - 1.125rem);
    }
    .frame:not(.frame-first-item-doublesize) [data-columns="4"] .custom-tile-item:nth-child(3n) {
        margin-right: 1.5rem;
    }
    .frame:not(.frame-first-item-doublesize) [data-columns="4"] .custom-tile-item:nth-child(4n) {
        margin-right: 0;
    }
    /* is filtered needed ???
    .frame:not(.frame-first-item-doublesize) [data-columns="4"] .custom-tile-item:nth-child(3n):not(.filtered) {
        margin-right:1.5rem;
    }
    .frame:not(.frame-first-item-doublesize) [data-columns="4"] .custom-tile-item:nth-child(4n):not(.filtered) {
        margin-right:0;
    } */
    /** Double Size **/
    /** .frame-first-item-doublesize: first list element with double width - SP 2026-0602 **/
    .frame-first-item-doublesize .custom-tile-item:first-child {
        flex: 1 1 calc(50% - 0.75rem);
        max-width: calc(50% - 0.75rem);
        position: relative;
    }
    /* 2026-07-29: feste Hoehe entfernt - das Seitenverhaeltnis 16:9 steht jetzt zentral in
       der Basisregel, eine feste Hoehe wuerde das Bild hier wieder beschneiden. */
    .frame-first-item-doublesize .custom-tile-item:first-child .custom-tile-item-image {
        height: auto;
    }
    /* 2026-07-29: Overlay-Regeln fuer Text und "Weiterlesen" stehen jetzt in der Basisregel,
       damit sie schon ab 800px greifen. */
    .frame-first-item-doublesize .custom-tile-item:nth-child(2) {
        margin-right: 1.5rem;
    }
    .frame-first-item-doublesize .custom-tile-item:nth-child(3n+2) {
        margin-right: 1.5rem;
    }
    .frame-first-item-doublesize .custom-tile-item:nth-child(4) {
        margin-right: 1.5rem;
    }
    .frame-first-item-doublesize .custom-tile-item:nth-child(4n+3) {
        margin-right: 0;
    }
}
/*** END - Custom tile group ***/



/*** START CE Quote ***/
.frame-type-quote .quote__image { margin-bottom:2em; }
.frame-type-quote .quote__image figure { max-width:50%; margin:0 auto; border-radius:50%; overflow:hidden; line-height:0.5; }
.frame-type-quote blockquote p { margin-bottom:0.5em; color:#094f9e; font-size:18px; font-style:italic; text-align:center; line-height:24px; }
.frame-type-quote .quote__authorWrapper h2 { font-size:1em; font-weight:400; text-align:center; line-height:1.3; }
.frame-type-quote .no-image { position:relative; padding-top:70px; background-color:inherit; }
.frame-type-quote .no-image > div.quote__icon { position:absolute; z-index:10; width:60px; height:50px; top:0; left:calc(50% - 30px); background:url('../../../typo3conf/ext/custom_md2022/Resources/Public/Icons/icon_quote.svg') center top no-repeat; background-color:inherit; background-size:50px 50px; }
.frame-type-quote .no-image::before { content:" "; display:block; position:absolute; z-index:0; top:25px; left:33%; width:33%; border-top:2px solid #1271ee; }
.frame-type-quote .no-image::after { content:" "; display:block; width:33%; margin:2em auto 0 auto; border-bottom:2px solid #1271ee; }
/*** END CE Quote ***/



/*** START CE Teaser ***/
.frame .ce-bgimage { position:relative; min-height:100px; padding:2em; background-size:cover; background-position: center; background-repeat:no-repeat; }
.frame .ce-bgimage .ce-bodytext { position:absolute; width:calc(100% / 3 - 1.333em); height:fit-content; }
.frame .ce-bgimage .ce-bodytext.frame-bgcolor-white { padding:1em; background-color:#ffffffcc/*rgb(255, 255, 255, 0.8)*/; }
.frame .ce-bgimage .ce-bodytext.frame-bgcolor-gray { padding:1em; background-color:#ebebebcc/*rgb(235, 235, 235, 0.8)*/; }
.frame .ce-bgimage .ce-bodytext.frame-bgcolor-darkgray { padding:1em; background-color:#606060cc/*rgb(96, 96, 96, 0.8)*/; }
.frame .ce-bgimage .ce-bodytext.frame-bgcolor-green { padding:1em; background-color:#86bc26cc/*rgb(134, 188, 38, 0.8)*/; }
.frame .ce-bgimage .ce-bodytext.frame-bgcolor-blue { padding:1em; background-color:#1271eecc/*rgb(18, 113, 238, 0.8)*/; }
.frame .ce-bgimage .ce-bodytext.frame-bgcolor-darkblue { padding:1em; background-color:#000f29cc/*rgb(0, 15, 41, 0.8)*/; }
.frame .ce-inner-position-top .ce-bodytext { top:2em; }
.frame .ce-inner-position-center .ce-bodytext { top:0; bottom:0; margin-top:auto; margin-bottom:auto; }
.frame .ce-inner-position-bottom .ce-bodytext { bottom:2em; }
.frame .ce-inner-align-left .ce-bodytext { left:2em; }
.frame .ce-inner-align-center .ce-bodytext { left:0; right:0; margin-left:auto; margin-right:auto; }
.frame .ce-inner-align-right .ce-bodytext { right:2em; }
.frame .ce-inner-align-full .ce-bodytext { width:calc(100% - 4em); left:0; right:0; margin-left:auto; margin-right:auto; }

.frame-type-teaser .ce-teaserlink { margin:0; }
.frame-type-teaser .ce-inner-align-center .ce-teaserlink,.frame-type-teaser .ce-inner-align-full .ce-teaserlink { text-align:center; }
.frame-type-teaser .ce-inner-align-right .ce-teaserlink { text-align:right; }

.ce-teaserlink.button a.bgcolor-darkblue{background:#094f9e;color:#fff;border:none;cursor:pointer;font-size:1.125rem;font-weight:700/*600*/;height:40px;padding:0 1rem;text-align:center;display:inline-flex;justify-content:center;align-items:center;transition:.4s;}
.ce-teaserlink.button a.bgcolor-darkblue:hover{background:#3a72b1;}

/* column right */
.aside h2 {
    margin-bottom: 16px;
}
.aside .frame-type-teaser .ce-bodytext {
    width: auto;
}

@media only screen and (max-width:800px) {
    .frame .ce-bgimage .ce-bodytext {
        width: 60%;
    }
}
/*** END CE Teaser ***/



/*** START - Footer ***/
.pageFooter  {background-color:#000f29; }
.footerNaviWrapper { padding-top:80px; padding-bottom:130px; }
.footerNaviWrapper p,.footerNaviWrapper li { margin-bottom:0.75rem; font-size:1rem; letter-spacing:.5px; }
.footerNaviWrapper h3 { margin-bottom:40px; }
.footerNaviWrapper a { color:#ffffff; text-decoration:none; font-weight:700; }
.footerNaviWrapper a:hover { color:#2e92ff; text-decoration:none; }
.footerNaviWrapper h2 a { font-weight:600; }
.footerNaviWrapper h2.current a { color:#1270ed; }
.footerNaviWrapper h2.current a:hover { color:#2e92ff; }
.footerNaviWrapper .frame-type-gridelements.frame-line-before,.footerNaviWrapper .frame-line-before { border-top:1px solid #fff; }
.footerNaviWrapper .frame-type-gridelements.frame-line-after,.footerNaviWrapper .frame-line-after { border-bottom:1px solid #fff; }
.footerNaviWrapper .ce-above .ce-gallery { margin-top:2em; margin-bottom:1em; }
.footerNaviWrapper .ce-bottom .ce-gallery { margin-top:1em; margin-bottom:2em; }
.footerNaviWrapper .ce-column { margin-right:18px; }
/** Footer Submenus **/
.footerNaviWrapper ul.submenu li.current a { color:#1270ed; }
.footerNaviWrapper ul.submenu li.current a:hover { color:#2e92ff; }
.footerNaviWrapper ul.submenu { margin-bottom:0; }
.footerNaviWrapper ul.submenu li { list-style:none;margin-left:0; }
.footerNaviWrapper ul.submenu li:last-child { margin-bottom:0; }
.footerNaviWrapper .grid4cols .grid-column { margin-bottom:2.5rem!important; }
/** Footer Menu **/
.footerNaviWrapper .footerSubNavi li {
    display: inline;
    margin-right: 1.5em;
}
.footerNaviWrapper .footerSubNavi li:last-child {
    display: inline;
    margin-right: 0;
}
.footerNaviWrapper .footerSubNavi li.current a {
    color: #1271ee;
}
.footerNaviWrapper .footerSubNavi li.current a:hover {
    color: #2e92ff;
}

@media only screen and (max-width:1200px) {
    .footerSubNavi.navi.horizontal {
        flex-wrap: wrap; }
    .footerSubNavi.navi.horizontal > li {
        /*flex: 1 1 calc(50% - 25px);*/
        min-width: auto;
    }
    /*.footerSubNavi.navi.horizontal > li:nth-child(2),*/
    .footerSubNavi.navi.horizontal > li:last-child {
        margin-right: 0;
    }
}
@media only screen and (max-width:800px) {
    .footerNaviWrapper {
        padding-top: 3.25rem;
    }
    .footerSubNavi.navi.horizontal {
        flex-direction: column;
    }
    .footerSubNavi.navi.horizontal > li {
        flex: 1 1 100%;
        min-width: 100%;
        margin-right: 0;
    }
}
/*** END - Footer ***/


/*** START - Print styles ***/
.screen-display-none {
    display: none;
}
@media print {
    *,*:before,*:after {background:transparent!important; color:#000000!important; box-shadow:none!important; text-shadow:none!important;}
    a,a:visited {text-decoration:underline;}
    a[href]:after {content: " (" attr(href) ")"; padding-left:1rem;}
    abbr[title]:after {content: " (" attr(title) ")"; padding-left:1rem;}
    #logo a[href]:after,#c65952-1-101 a[href]:after,a[href^="#"]:after,a[href^="javascript:"]:after {content:"";}
    pre,blockquote {border:1px solid #999; page-break-inside:avoid;}
    thead {display:table-header-group;}
    tr,img {page-break-inside:avoid;}
    img {max-width:100%!important;}
    p,h2,h3 {orphans:3; widows:3;}
    h2,h3 {page-break-after:avoid;}
    .print-display-none,#mainnaviToggle,.swiper-pagination,.swiper-button-prev,.swiper-button-next,#c64242 .big-morelink,#c64079 .big-morelink,.custom-tile-item-meta-sharebar,#c63107-1-102,#c63107-1-103,#c63107-1-104,#c64321, /* fixed background element */#c65930, /* social media leiste */#c64057, /* subfooter (imprint, privacy) */#c64053, /* Newsletter */#c64056, /* Infopaket */#c64055 /* Mitglied werden rechte Spalte */,.mdevents-slider p.more,#c65215 .ce-gallery {display:none;}
    .print-display-block,.screen-display-none,.pagets__default .pageContent .contentWrapper,.custom-tile-group,.swiper-wrapper,#c65952 .ce-textpic {display:block;}
    .pageHeader {position:static!important;}
    #c65952 .ce-intext.ce-left .ce-gallery {float:unset;}
    #c65215 /* Slider container */ {max-width:1920px; margin:0 auto; padding-left:80px; padding-right:80px;}
    .print-width-100percent,.pagets__default .pageContent .content,.pagets__default .pageContent .aside,.custom-tile-item,[data-columns="2"] .custom-tile-item,[data-columns="3"] .custom-tile-item,[data-columns="4"] .custom-tile-item,.frame-type-gridelements.grid3cols > div.grid-row > div.grid-column {max-width:100%; margin-bottom:2rem;}
    .homepage .custom-tile-item:first-child {max-width:100%;}
    .homepage .custom-tile-item:first-child .custom-tile-item-text,#c65215 .ce-bodytext {position:static; margin-bottom:2rem!important;}
    .custom-tile-item-text {padding:1em 1em 1em 1em;}
    .custom-tile-item-image {width:50%;}
    input[type="text"],input[type="date"],input[type="email"],input[type="tel"],input[type="number"],select,textarea {border:1px solid #888;}
    .mdevents-slider .swiper-slide {padding-left:0!important; margin-bottom:2rem!important; border-left:unset!important;}
    .mdevents-slider p.format {margin-left:0!important; padding-left:4px!important; margin-bottom:0.5rem!important;}
    .mdevents-slider p.datetime {margin-bottom: 0!important;}
    .mdevents-slider h2 {margin-bottom: 0.5rem!important;}
}
@media print,/*(-o-min-device-pixel-ratio: 5/4),*/(-webkit-min-device-pixel-ratio: 1.25),(min-resolution: 120dpi) { }
/*** END - Print styles ***/
/***  START News ***/
.news-menu-view { position:relative; overflow:hidden; margin-bottom:1em; padding:8px 1em; background-color:#094f9e; }
.news-menu-view ul { position:absolute; display:inline-flex; list-style:none; margin-bottom:0; }
.news-menu-view > span,.news-menu-view li { font-size:18px; }
.news-menu-view a { color:white; text-decoration:none; }
.news-datemenu,.page-navigation.news-tile { padding:1em; color:#000000; }
.news-list-view.custom-tile-group .page-navigation { flex:1 1 100%; }
.news-datemenu ul,.f3-widget-paginator,.paginator { list-style:none; display:flex; flex-wrap:wrap; width:100%; }
.news-datemenu ul > li,.f3-widget-paginator > li,.paginator > li { margin:0 1em 1em 0; }
.news-datemenu ul > li > a,.f3-widget-paginator > li > a,.paginator > li > a { text-decoration:none; }
.paginatorWrapper {
    flex: 1 1 100%;
}
.paginator .fa-caret-left::before,.paginator .fa-caret-right::before {
    font-size: 1.5em;
}
.news-list-view .custom-tile-item-image figcaption {
    display: none;
}
.news-single .news-img-wrap {
    float: left;
    margin-right: 1.7em;
    margin-bottom: 1.3em;
}
.news-single .image-metadata {
    bottom: 8px;
}
@media only screen and (max-width: 800px) {
    .news-single .news-img-wrap {
        margin-right: 0;
    }
}
/*** END News ***/



/*** START Shariff ***/
div.shariff::before,div.shariff::after { display:none; content:""; }
div.shariff { display:inline-block; margin-left:1em; }
div.shariff > ul { margin-top:2em; }
.shariff li.shariff-button { width:32px !important; height:32px !important; min-width:32px !important; max-width:32px !important; margin-left:0; margin-right:1.25em; }
.shariff li.shariff-button.facebook a,.shariff li.shariff-button.facebook a:hover,.shariff li.shariff-button.twitter a,.shariff li.shariff-button.twitter a:hover, .shariff li.shariff-button.xing a,.shariff li.shariff-button.xing a:hover,.shariff li.shariff-button.linkedin a,.shariff li.shariff-button.linkedin a:hover { width:32px !important; height:32px !important; color:transparent; background-color:transparent; }
.shariff li .fab { width:32px; height:32px; line-height: unset; }
.shariff .facebook .fa-facebook-f { font-family:unset; background:url('../../../typo3conf/ext/custom_md2022/Resources/Public/Icons/icon_facebook.svg') center center no-repeat; background-size:32px 32px; }
.shariff .twitter .fa-twitter { font-family:unset; background:url('../../../typo3conf/ext/custom_md2022/Resources/Public/Icons/icon_twitter.svg') center center no-repeat; background-size:32px 32px; }
/* Video */
/* ⚠️⚠️ DIESER BLOCK STEHT IN ZWEI DATEIEN UND SOLL WORTGLEICH BLEIBEN:
     .../custom_md2022/Resources/Public/Css/styles-plugins.css
     .../custom_sprezu/Resources/Public/Css/styles.css
   Sitespezifisch ist AUSSCHLIESSLICH der Stellschrauben-Block unten (Farben,
   Rundungen, Aussenabstand). Wer an den Regeln darunter etwas aendert, aendert
   es in BEIDEN Dateien.

   ZWEI ZUSTAENDE, beide muessen sitzen:
     vor dem Klick:  figure.video > .video-embed > a.video-shariff-play > img
     nach dem Klick: figure.video > .video-embed > iframe.video-embed-item
   Der iframe steckt bis dahin als JSON im data-video-Attribut des Links. Die
   aeussere Huelle .video-embed ist in beiden Faellen dieselbe, deshalb traegt
   sie das Seitenverhaeltnis.

   Verankert an figure.video, NICHT an .frame-type-textmedia: so greift der Block
   auch dort, wo das Video ueber das News-Partial Detail/MediaVideo.html kommt und
   kein frame-* darueber liegt. Die Spezifitaet reicht auf beiden Sites —
   figure.video .x ist 0-2-1 gegen 0-1-0 der Erweiterung, das gilt unabhaengig
   von der Ladereihenfolge der Stylesheets.

   ⚠️ Der Schleier wird bewusst NICHT uebersteuert: die Erweiterung bringt
   weiss 0.6 mit, und genau so soll er auf beiden Sites aussehen. */

/* ── Stellschrauben: das Einzige, was sich je Site unterscheiden darf ── */
figure.video {
  --video-icon:"\f167";        /* YouTube; je Plattform unten ueberschrieben */
  --video-host:"YouTube (youtube-nocookie.com)";
  --video-icon-color:#003567;   /* MD-Dunkelblau, die Hausfarbe der Site */
  --video-frame-bg:#1271ee;
  --video-frame-radius:0;       /* mehr-demokratie.de ist eckig */
  --video-band-bg:#1271ee;      /* deckend — weiss darauf ergibt 4,54:1 */
  --video-band-bg-hover:#2e92ff;/* wie die Buttons: #1271ee -> #2e92ff (styles-defaultscreen.css:833/866) */
  --video-band-color:#fff;
  --video-band-radius:0;
  --video-figure-margin:0;
}
/* Je weiterer Plattform genau EINE Zeile. Die Erweiterung legt die fertige
   iframe-Adresse als JSON ins data-video-Attribut, ein Teilstring-Selektor
   darauf ist deshalb verlaesslich. Gezaehlt am 10.8.2026: 170 YouTube, 3 Vimeo. */
figure.video a[data-video*="vimeo"] { --video-icon:"\f27d"; --video-host:"Vimeo (player.vimeo.com)"; }

/* ── ab hier auf beiden Sites wortgleich ── */
/* Kopfzeile ueber dem Hinweis — das Gegenstueck zum „Karte laden" der
   Kartenflaeche (md_events/…/listMap.css, .map-activate__title). Bis zum
   10.8.2026 hatte nur die Karte eine; das Video zeigte allein den langen Satz,
   und genau dieser Unterschied ist dem User aufgefallen. Die Zeile sagt in zwei
   Woertern, WAS der Klick tut, der Satz darunter, was dabei passiert.
   Als Variable, damit eine weitere Sorte genau EINE Zeile kostet, etwa
   figure.audio { --video-action:"Audio laden"; }
   ⚠️ Gehoert NICHT in den Stellschrauben-Block darueber: die Beschriftung ist auf
   allen Sites dieselbe, dort steht nur, was sich je Site unterscheiden darf. */
figure.video { --video-action:"Video laden"; margin:var(--video-figure-margin); }
figure.video .video-embed { position:relative; width:100%; aspect-ratio:16 / 9; overflow:hidden; border-radius:var(--video-frame-radius); background:var(--video-frame-bg); }
/* ⚠️ max-height:none nimmt den Deckel `.ce-gallery iframe { max-height:700px }`
   (styles-defaultscreen.css) zurueck. Der stammt aus 119f36adb, Januar 2025 — aus der
   Zeit VOR diesem 16:9-Rahmen, als Videos noch rohe iframes ohne Huelle waren. Seit
   d2d54b84a gibt .video-embed die Hoehe vor, der Deckel arbeitet seitdem dagegen:
   ab 1244px Rahmenbreite ueberschreitet 16:9 die 700px, und der Rest wurde als
   Streifen in --video-frame-bg sichtbar (bei 1303px gemessen: 33px). Nur hier
   zuruecknehmen, nicht global — andere Galerie-iframes behalten ihren Deckel.
   Am 12.8.2026 gemessen: Rahmen 1303x733, iframe davor 700, danach 733. */
figure.video .video-embed-item { position:absolute; inset:0; width:100%; height:100%; max-height:none; border:0; }
/* Vorschau-Link den ganzen 16:9-Rahmen ausfuellen lassen; die Erweiterung setzt ihn
   nur auf position:relative ohne Masse. display:block am Bild nimmt zugleich die 6px
   Grundlinien-Luecke weg, die `a.video-shariff-play img { display:inline-block }`
   (0-1-2) erzeugt — die schlaegt ein `.ce-gallery img { display:block }` (0-1-1)
   trotz spaeterer Ladung. Am 10.8.2026 gemessen: Rahmen 241px, Bild 235px. */
figure.video .video-shariff-play { position:absolute; inset:0; }
figure.video .video-shariff-play img { display:block; width:100%; height:100%; object-fit:cover; }
/* Die Erweiterung setzt .video-shariff-preview ab 800px auf top:50% — das verschiebt
   nur die Oberkante, erst translateY(-50%) zentriert die Gruppe wirklich. */
figure.video .video-shariff-preview { top:50%; transform:translateY(-50%); }
/* Plattform-Logo als Font-Awesome-BRANDS-Glyphe. Die Logos bringen ihre Form selbst
   mit, es wird also kein Feld und kein Hintergrund mehr gebaut.
   ⚠️⚠️ „Brands" ist eine ANDERE Familie UND eine andere Staerke als „Free/Solid":
   'Font Awesome 6 Brands' mit font-weight:400. Mit 900 oder mit der Free-Familie
   bleibt ein leeres Kaestchen stehen.
   ⚠️ Die Erweiterung baut hier ein 0x0-Element aus Rahmenkanten (das schwarze
   Dreieck) und schiebt es ueber left:50% plus negative Raender zurecht —
   width/height/border/margin/left muessen deshalb ALLE zurueckgenommen werden.
   ⚠️ Die Glyphe ist EINFARBIG: der Play-Keil ist eine Aussparung, das Vorschaubild
   scheint dort durch. Ein weisser Keil ginge nur mit einem zweiten Element. */
figure.video .video-shariff-preview-icon { left:auto; margin:0 auto; width:auto; height:auto; border:0; background:none; display:flex; flex-wrap:wrap; align-items:center; justify-content:center; gap:0.625rem; color:var(--video-icon-color); font:inherit; }
figure.video .video-shariff-preview-icon::before { content:var(--video-icon); font-family:'Font Awesome 6 Brands'; font-weight:400; font-style:normal; font-size:3rem; line-height:1; }
/* Ziel des Klicks im Klartext neben dem Logo. Eigener deckender Grund (dieselben
   Werte wie das Hinweisband), damit der Text unabhaengig vom Motiv lesbar bleibt —
   freier Text auf dem Foto faellt sonst durch: sprezus Rot auf hellem Grund ergibt
   nur ~3:1, noetig sind 4,5:1.
   ⚠️ Der Wortlaut nennt Marke UND echten Host, weil beides auseinandergeht: geladen
   wird youtube-nocookie.com bzw. player.vimeo.com (mit dnt=1), NICHT youtube.com.
   Am 10.8.2026 im ausgelieferten data-video-Attribut nachgesehen.
   ⚠️ Fuer Vorlesesoftware ist per CSS erzeugter Text zweite Wahl. Der lange Hinweis
   im Band daneben ist echtes Markup und traegt die Aussage auch ohne dieses Feld. */
figure.video .video-shariff-preview-icon::after { content:var(--video-host); padding:0.25rem 0.5rem; border-radius:var(--video-band-radius); background:var(--video-band-bg); color:var(--video-band-color); font-size:0.8125rem; font-weight:700; line-height:1.3; }
/* Hinweistext auf ein eigenes Band statt frei auf dem Foto. top:0 hebt den
   3rem-Versatz der Erweiterung auf, der Abstand kommt jetzt ueber margin.
   ⚠️ margin-top ist 1rem, NICHT 1.4142rem: der Zuschlag in md_events/…/listMap.css
   war allein der Ausgleich fuer die dort frueher GEDREHTE Kartennadel. Hier wird
   nichts gedreht, also gibt es nichts auszugleichen.
   font-weight:700 ausgeschrieben, damit die Staerke nicht still kippt, falls die
   Erweiterung ihr `font-weight:bold` einmal aendert. */
figure.video .video-shariff-preview-text { top:0; width:auto; max-width:32rem; margin:1rem auto 0; padding:0.625rem 1rem; border-radius:var(--video-band-radius); background:var(--video-band-bg); color:var(--video-band-color); font-size:0.9375rem; line-height:1.45; font-weight:700; }
/* Die Kopfzeile wird aus dem Hinweistext heraus gesetzt: das Markup der
   Erweiterung kennt sie nicht, und video_shariff 3.1.0 liegt NUR auf dem Server,
   nicht im Repo — s. md_video_shariff_roh_html. Fett kommt vom Elternteil; der
   Hinweis darunter ist seit dem 10.8.2026 ebenfalls fett, deshalb trennt die
   beiden Zeilen nur noch der Abstand — dieselben 0.25rem wie zwischen
   .map-activate__title und .map-activate__hint auf der Karte.
   ⚠️ Fuer Vorlesesoftware ist per CSS erzeugter Text zweite Wahl, genau wie beim
   Anbieterband oben. Der echte Satz im Markup traegt die Aussage auch allein. */
figure.video .video-shariff-preview-text::before { content:var(--video-action); display:block; margin-bottom:0.25rem; font-size:1.125rem; line-height:1.3; }
/* Rueckmeldung beim Zeigen und bei Tastaturbedienung. Der Link liegt als
   a.video-shariff-play ueber dem ganzen 16:9-Rahmen, es gibt also keine kleinere
   Klickflaeche, die man treffen muesste — die Baender sind nur das, woran man die
   Reaktion sieht.
   ⚠️ KONTRAST: weiss auf --video-band-bg liegt bei 4,54:1, knapp ueber den geforderten
   4,5:1. Der Hover-Wert #2e92ff ist HELLER und kommt mit weisser Schrift auf 3,15:1,
   liegt also darunter. Das ist eine bewusste Entscheidung des Users am 12.8.2026
   zugunsten der Einheitlichkeit: die Buttons der Site machen exakt denselben Sprung
   #1271ee -> #2e92ff und behalten dabei weisse Schrift
   (styles-defaultscreen.css:833 und :866, color:#fff in :865). Wer das je aendern will,
   aendert es dort mit — sonst faellt die Flaeche wieder aus der Reihe. Ein dunklerer
   Hover waere #0f60ca (5,91:1), eine dunkle Schrift auf #2e92ff ergaebe 6,67:1.
   Der Wert steht als eigene Stellschraube oben, damit eine Site mit anderer Bandfarbe
   (sprezu: rot) ihren eigenen Wert setzen kann.
   ⚠️ Der weisse Schleier 0.6 der Erweiterung bleibt unangetastet — siehe Warnung im
   Kopf dieses Blocks. Genau deshalb ist der Fokusring DUNKEL: der Untergrund ist
   durch den Schleier immer aufgehellt, ein weisser Ring verschwaende darin. Dieselbe
   Ueberlegung steckt schon hinter --video-icon-color fuer das Logo.
   :focus-visible statt :focus, damit der Ring nur bei Tastaturbedienung erscheint und
   nicht nach jedem Mausklick stehen bleibt. Am 12.8.2026 gemessen. */
figure.video .video-shariff-preview-text,
figure.video .video-shariff-preview-icon::after { transition:background-color 120ms ease-in-out; }
figure.video .video-shariff-play:hover .video-shariff-preview-text,
figure.video .video-shariff-play:hover .video-shariff-preview-icon::after,
figure.video .video-shariff-play:focus-visible .video-shariff-preview-text,
figure.video .video-shariff-play:focus-visible .video-shariff-preview-icon::after { background:var(--video-band-bg-hover); }
figure.video .video-shariff-play:focus-visible { outline:3px solid var(--video-icon-color); outline-offset:-3px; }
/*** END Shariff ***/



/*** START Solr ***/
/* Search Form */
.tx-solr-search-form { margin-top:8px; margin-bottom:48px; }
.tx-solr-search-form input[type=text] { float:left; width:23rem; min-height:40px; }
.tx-solr-search-form .input-group-btn { display:inline-block; min-width:4em; height:40px; text-align:center; }
.tx-solr-search-form .input-group-btn button { display:block; width:100%; height:100%; font-weight:700/*600*/; border:none; background-color:#1271ee; color:#ffffff; font-family:"Source Sans Pro",sans-serif; font-size:1.125em; cursor:pointer; padding:0 1rem; transition:.4s;}
.tx-solr-search-form .input-group-btn button:hover { border:none; background-color:#2e92ff!important; color:#ffffff; }
.tx-solr-search-form .input-group-btn button .btn-icon { display:none; }

.tx_solr .search-control { margin-bottom:48px; padding:2em 1em 4em 1em; background-color:#1271ee; }
.tx_solr .searchinfo { margin-top:0; margin-bottom:0; }

/* Search Filter */
.tx_solr .search-filter { display:flex; }
.tx_solr .search-filter > div { min-width:200px; margin-right:16px; }
.tx_solr .search-filter > div ul { list-style:none; }
.tx_solr .search-filter > div ul a {  }
.tx_solr .search-filter .panel { position:relative; }
.tx_solr .search-filter .facet-label { margin-bottom:8px; }
.tx_solr .search-filter .panel .form-group { margin-bottom:0; }
.tx_solr .search-filter .facet-filter-box { height:40px; padding-top:11px; }
.tx_solr .search-filter .facet-option-list { position:absolute; z-index:10; width:100%; background-color:white; overflow:hidden; }
/* Zugeklappt ist der ganze sichtbare Streifen der Umschalter, nicht nur das Icon
   (das Aufklappen uebernimmt Result/Facets.html in der Capture-Phase). */
.tx_solr .search-filter .facet-option-list.collapsed { height:40px; cursor:pointer; }
.tx_solr .search-filter .facet-option-list.collapsed:hover { background-color:#f2f6fb; }
.tx_solr .search-filter .facet-option-list > li.icon { position:absolute;top:9px; right:6px; display:inline-block; width:24px; height:24px; margin:0; background-color:#f0f0f0; background-size:16px 16px; background-position:center center; background-repeat:no-repeat; border-radius:50%; cursor:pointer; }
.tx_solr .search-filter .facet-option-list > li.icon:focus-visible { outline:3px solid #1a7dff; outline-offset:2px; }
.tx_solr .search-filter .facet-option-list > li.icon-closed { background-image:url('../../../typo3conf/ext/custom_md2022/Resources/Public/Icons/icon_arrow-right_blue.svg'); transform: rotate(90deg);}
/* aufgeklappt zeigt der Pfeil nach oben - vorher war diese Regel mit icon-closed
   zeichengleich, der Zustand war am Icon also nicht ablesbar. */
.tx_solr .search-filter .facet-option-list > li.icon-opened { background-image:url('../../../typo3conf/ext/custom_md2022/Resources/Public/Icons/icon_arrow-right_blue.svg'); transform: rotate(-90deg);}
.tx_solr .search-filter .facet-option { margin:0; padding:2px 8px; }
.tx_solr .search-filter .facet-option-list-singlemode .facet-option:nth-child(2) { padding:8px 8px; }
.tx_solr .search-filter .facet-option:last-child { padding:2px 8px 8px 8px; }
.tx_solr .search-filter .facet-option .selected { color:#86bc26; }
.tx_solr .search-filter li[data-facet-item-value="default"] .facet-option-link { color:#000000; }
.tx_solr .search-filter .facet-option-link { display:block; color:#000000; font-weight:700/*600*/; text-decoration:none; }
.tx_solr .search-filter .facet-option .facet-result-count { color:#000000; font-weight:400; }

/* Autosuggest */
.tx-solr-autosuggest .autocomplete-suggestion { color:#000000; }
.tx-solr-autosuggest .autocomplete-suggestion strong { color:#86bc26; }
.tx-solr-autosuggest .autocomplete-suggestion em { color:#86bc26; font-style:normal; }
.tx-solr-autosuggest .autocomplete-suggestion a { color:inherit; text-decoration:none; }
.tx-solr-autosuggest .autocomplete-group { padding-bottom:0; color:#000000; font-size:18px; font-weight:700/*600*/; }

.solr-pagination ul { list-style:none; display:flex; }

.ce-sword,.highlight,.results-highlight { color:#86bc26; font-weight:700/*600*/; }

@media only screen and (max-width: 1200px) {
    .pageHeader .tx-solr-search-form .input-group input.tx-solr-q {
        width: 250px /*350px*/;
    }
}
@media only screen and (max-width: 800px) {
    .tx-solr-search-form input[type=text] {
        float:none;
    }
    .pageHeader .tx-solr-search-form .input-group input.tx-solr-q {
        display: none;
        width: 100%;
        border: 1.5rem solid #000f29;
    }
    .pageHeader.mainnaviOpened .tx-solr-search-form .input-group input.tx-solr-q {
        border-color: #1271ee;
    }
    .pageHeader .tx-solr-search-form .input-group.opened  input.tx-solr-q {
        display: block;
    }
    .tx-solr-search-form input[type="text"] {
        width: calc(100% - 4em);
    }
    .tx_solr .search-filter {
        flex-direction: column;
    }
    .tx_solr .search-filter > div {
        margin-bottom: 60px;
    }
    #facetcontentTag {
        z-index: 10;
    }
    #facetcontentType {
        z-index: 9;
    }
    #facetage {
        z-index: 8;
    }
    .pageHeader.sticky .searchWrapper {
        position: static;
    }
    .searchWrapper {
        width: 100%;
        padding-top: 0;
        overflow: hidden;
    }
    .searchWrapper .input-group-btn {
        display: inline;
    }
    .searchWrapper .input-group-btn button {
        position: absolute;
        top: 0;
        right: 80px;
        width: 64px;
        height: 64px;
        padding: 0 !important;
    }
    .searchWrapper .input-group-btn button .btn-icon {
        display: block;
        width:25px/*40*/;
        height:25% /*40*/;
        margin: 5px/*2*/ auto 4px auto;
        background-position: center center;
        background-repeat: no-repeat;
        background-size: contain;
    }
    .searchIcon {
        background-image: url('../../../typo3conf/ext/custom_md2022/Resources/Public/Icons/icon_search.svg');
    }
    .searchWrapper .input-group-btn button .btn-label {
        display: block;
        font-size:0.875rem /*12px*/;
        line-height: 1.5;
    }
}
/*** End Solr ***/



/*** START FormFramework ***/
:is(aside, .grid-column) :where(.frame-type-form_formframework,.frame-type-list-mdevents_show,.frame-type-html.frame-type-list-userdata_campaignform) { position:relative; }
:is(aside, .grid-column) .form-navigation {position: absolute; bottom: -2rem; width: calc(100% - 2em); }
form { max-width: 1000px; /*???*/ }
fieldset { padding-top: 1em; margin-bottom: 1em; }
fieldset > legend { margin-bottom: 1em; font-size: 1.25em; font-weight: 700/*600*/; }
label { font-size:1rem; }
.form-group-radiobutton > div.inputs-list { display: flex; flex-wrap: wrap; }
.inputs-list > div.form-check { margin-right: 2em; }
.form-check label, .form-check-label, .radio label, .checkbox label { display: block; margin-bottom: 8px; overflow: hidden; }
form a { color: inherit; }
/* Ausnahme: die Vorschau in Schritt 5 des Formulars "Veranstaltung eintragen"
   (Plugin mdevents_registerevent) ist eine komplette Termin-Einzelansicht und
   steht mit im <form>. Die Zeile darueber (0-0-2) schlaegt dort das globale
   "a { color: #1271ee }" (0-0-1), wodurch die Teilen-Symbole und alle Links
   der Vorschau die Textfarbe erbten statt der Linkfarbe -- sie erschienen
   schwarz. Nur fuer dieses eine Plugin zurueckgeholt.
   :not(.btn) ist noetig, weil auch Knoepfe als <a> ausgezeichnet sind --
   Routenplaner und Uebersicht (a.route.btn.btn-blue-filled bzw.
   a.btn.btn-blue-border). Ohne die Ausnahme bekaemen die blaue Schrift auf
   blauem Grund. */
.registerevent_view form a:not(.btn) { color: #1271ee; }

/* Hinweiskaesten des Formulars: das Plugin legt per f:asset.css ein SVG als
   Hintergrundbild ab (EXT:md_events/Resources/Public/Icons/icon_exclamation_mark.svg,
   mit fest eingebautem fill: #1a7dff). Die Datei liegt in der geteilten
   Extension, ein Austausch dort traefe alle rund 23 Sites -- deshalb wird das
   Bild hier abgeschaltet und durch das FontAwesome-Zeichen ersetzt, das
   custom_md2022 ohnehin laedt. Masse wie gehabt: 40px an der linken Kante,
   Text um 50px eingerueckt (beides kommt aus dem Plugin), damit sich am
   Umbruch nichts aendert. */
.registerevent_view .form-help-message {
  background-image: none;
  position: relative;
  /* Das Plugin rueckt den Text um 50px ein, passend zum 40px grossen Bild.
     Das Zeichen ist kleiner, also rueckt der Text entsprechend nach. */
  padding-left: 2.25rem;
}
.registerevent_view .form-help-message::before {
  content: "\f06a";
  font-family: 'Font Awesome 6 Free';
  font-weight: 900;
  /* 1.5rem = 24px, wie in custom_sprezu. Die 2.5rem davor waren die Masse des
     abgeloesten Hintergrundbilds (background-size: 40px) - neben der
     h3 "Hinweis:" mit 1.0625em war das deutlich zu gross. */
  font-size: 1.5rem;
  line-height: 1;
  color: #1271ee;
  position: absolute;
  left: 0;
  top: 0.0625rem;
}
form > h2 { margin-top: 0; }
input[type="text"], input[type="date"], input[type="datetime-local"], input[type="email"], input[type="tel"], input[type="number"], select, textarea { width: 100%; padding: 8px; font-size: 16px; }
textarea { min-height: 216px; }
input[type="text"]:not(:required), input[type="date"]:not(:required), input[type="datetime-local"]:not(:required), input[type="email"]:not(:required), input[type="tel"]:not(:required), input[type="number"]:not(:required), select:not(:required), textarea:not(:required) { background-color: #f0f0f0; }
input[type="text"]:not(:focus), input[type="date"]:not(:focus), input[type="datetime-local"]:not(:focus), input[type="email"]:not(:focus), input[type="tel"]:not(:focus), input[type="number"]:not(:focus), select:not(:focus), textarea:not(:focus) { border: 1px solid transparent; outline: none; }
select { padding: 7px 12px; }
input[type="checkbox"], input[type="radio"] { appearance: none; float: left; width: 20px; height: 20px; margin-right: 8px; background-color: white; border: 2px solid #2e92ff; cursor:pointer; }
input[type="radio"] { border-radius: 10px; }
input[type="checkbox"]:checked, input[type="radio"]:checked{ border: 7px solid #2e92ff; cursor:default; }
.frame-bgcolor-blue input[type="checkbox"], .frame-bgcolor-blue input[type="radio"] { border: 2px solid #2e92ff; }
.frame-bgcolor-blue input[type="checkbox"]:checked, .frame-bgcolor-blue input[type="radio"]:checked{ border: 7px solid #2e92ff; }

.form-group-check label span { width: calc(100% - 32px); }
.form-group-check input[type="checkbox"]:checked:after { content: '\2714'; font-size: 16px; position: absolute; top: 2px; left: 6px; color: white; }
.form-group-statictext > p:last-child { margin-bottom: 0; }

.form-group.float100 { float: left; width: 100%; }
.form-group.float50nlmr, .form-group.float50mr, .form-group.float50 { float:left; width:calc(50% - 10px); }
.form-group.float25nlmr, .form-group.float25mr, .form-group.float25 { float:left; width:calc(25% - 15px); }
.form-group.float50nlmr, .form-group.float50mr, .form-group.float25nlmr,
.form-group.float25mr { margin-right:18px; }
.form-group.float100, .form-group.float50nlmr, .form-group.float25nlmr { clear:left; }
/*
.js .form-group-amount div.radio > label { display: inline-block; position: relative; min-width: 84px;margin-right: 4px; padding: 12px 16px 12px 16px; border: 1px solid #1a7dff;color: #1a7dff; font-size: 18px; font-weight: 600; text-align: center; line-height: 1.0;  cursor: pointer;}
.js .form-group-amount div.radio > label.checked { background-color: #1a7dff; color: white; }
.js .form-group-amount div.radio > label input[type="radio"] { position: absolute; z-index: -10; visibility: hidden; }
.js .frame-bgcolor-blue .form-group-amount div.radio > label { border: 1px solid white; color:white; }
*/
.mandatory_helper { font-size: 14px; }
#c67321 .mandatory_helper { display: none; }

/* campaignform + workshopform */
/*does not exist anymore?*/.campaignform .form-group-salutation { display:none; }
.workshopform .form-group-salutation { display: none; }
/*.orderform-veto .form-navigation .btn, .trainingform .form-navigation .btn, .campaignform .form-navigation .btn, .campaignform .form-navigation .btn, .workshopform .form-navigation .btn,.inpersoneventform .form-navigation .btn, #workshopform .form-navigation .btn, #inpersoneventform .form-navigation .btn*/.asideform .form-navigation .btn{ margin-bottom:0; }

/* hide header in some special forms */
:is(#workshopform-67321, #workshopform-67481, #workshopform-67480, #workshopform-67478) > h2 {
    display: none;
}


/* Mitglied werden: kleine Version: rechte Spalte */
/*.pageContent .aside .frame-type-html.frame-type-list-userdata_campaignform.frame-bgcolor-blue { padding-bottom:1em; overflow:hidden; }*/
.frame-type-membership_introform header h2 a, .frame-type-donation_introform header h2 a { text-decoration:none;}
.frame.frame-type-membership_introform .ce-bgimage .ce-bodytext.frame-bgcolor-white { padding:1em; background-color:rgb(255, 255, 255, 1); }
.frame.frame-type-membership_introform .ce-bgimage .ce-bodytext.frame-bgcolor-gray { padding:1em; background-color:rgb(235, 235, 235, 1); }
.frame.frame-type-membership_introform .ce-bgimage .ce-bodytext.frame-bgcolor-darkgray { padding:1em; background-color:rgb(96, 96, 96, 1); }
.frame.frame-type-membership_introform .ce-bgimage .ce-bodytext.frame-bgcolor-green { padding:1em; background-color:rgb(134, 188, 38, 1); }
.frame.frame-type-membership_introform .ce-bgimage .ce-bodytext.frame-bgcolor-blue { padding:1em; background-color:rgb(18, 113, 238, 1); }
.frame.frame-type-membership_introform .ce-bgimage .ce-bodytext.frame-bgcolor-darkblue { padding:1em; background-color:rgb(0, 15, 41, 1); }
.frame.frame-type-donation_introform .ce-bgimage .ce-bodytext.frame-bgcolor-white { padding:1em; background-color:rgb(255, 255, 255, 1); }
.frame.frame-type-donation_introform .ce-bgimage .ce-bodytext.frame-bgcolor-gray { padding:1em; background-color:rgb(235, 235, 235, 1); }
.frame.frame-type-donation_introform .ce-bgimage .ce-bodytext.frame-bgcolor-darkgray { padding:1em; background-color:rgb(96, 96, 96, 1); }
.frame.frame-type-donation_introform .ce-bgimage .ce-bodytext.frame-bgcolor-green { padding:1em; background-color:rgb(134, 188, 38, 1); }
.frame.frame-type-donation_introform .ce-bgimage .ce-bodytext.frame-bgcolor-blue { padding:1em; background-color:rgb(18, 113, 238, 1); }
.frame.frame-type-donation_introform .ce-bgimage .ce-bodytext.frame-bgcolor-darkblue { padding:1em; background-color:rgb(0, 15, 41, 1); }
/*
.aside .introform .form-group-firstname { float:left; width:calc(50% - 8px); margin-right:16px; }
.aside .introform .form-group-name { float:left; width:calc(50% - 8px); }
.aside .introform .form-group-email { float:left; width:100%; }
.aside .introform .form-fieldwrap { width:100%; }
.aside .introform .form-fieldwrap input { width:100%; }
*/
.aside .introform .form-navigation { clear:left; position:static; bottom:auto; width:auto; }
.aside .introform .btn-primary { width:auto; margin-top:1em; padding:8px; border:none; font-size:16px; font-weight:700/*600*/; text-align:center; }
.aside .frame-bgcolor-blue .introform .btn-primary {background:#094f9e;color:#fff;border:none;cursor:pointer;font-size:1.25rem;font-weight:700/*600*/;height:45px;padding:0 1.25rem;text-align:center;transition:0.4s;display:inline-flex;justify-content:center;align-items:center;}
/*???*/.no-touchevents aside .introform .btn-primary:hover { background:#3a72b1!important;}
/*???*/.no-touchevents aside .frame-bgcolor-blue .introform .btn-primary:hover { border:none; }
.aside .introform .btn-group { margin-bottom:0; }

.js .inputs-list-inline { display:flex; flex-wrap:wrap; }
.js .inputs-list-button .form-check { flex:1 1 auto; margin-right:8px; margin-bottom:8px; }
.js .aside .inputs-list-button .form-check { flex:1 1 calc(33% - 8px); min-width:84px; }
.js .inputs-list-button label { display:inline-block; position:relative; padding:12px 16px 12px 16px; border:1px solid #1a7dff; color:#1a7dff; font-size:18px; font-weight:700/*600*/; text-align:center; line-height:1.0; cursor:pointer; }
.js .frame-bgcolor-blue .inputs-list-button label { background-color:white; color:#1a7dff; }
.js .inputs-list-button-last-free > .form-check-last label { padding-bottom:7px; }
.js .inputs-list-button label.checked { background-color:#1a7dff; color:white; }
.js .frame-bgcolor-blue .inputs-list-button label.checked { background-color:#f45e5e; }
/*???*/.js.no-touchevents .frame-bgcolor-blue .inputs-list-button label.checked:hover { background-color:#ff9191 }
.js .inputs-list-button label input[type=radio] { position:absolute; z-index:-10; visibility:hidden; }
.js .inputs-list-button-last-free .form-check-last label { max-width: 177px; }
.js .aside .inputs-list-button-last-free .form-check-last label { max-width: 100%; }
.inputs-list-button-last-free .form-group-customAmount { display:inline-block; margin-bottom:0; }
.inputs-list-button-last-free .form-group-customAmount input[type="text"] { max-width:129px; min-width:120px; margin-right:4px; padding:0; font-size:18px; font-weight:700/*600*/; background-color:transparent; color:#f0f0f0; text-align:right; }
.frame-bgcolor-blue .inputs-list-button-last-free .form-group-customAmount input[type="text"] { color:inherit; }
.inputs-list-button-last-free .form-group-customAmount input[type="text"]::placeholder { color:inherit; border:none; }
.frame-bgcolor-blue .inputs-list-button-last-free .form-group-customAmount input[type="text"]::placeholder { color:#1a7dff; }
.inputs-list-button-last-free .checked .form-group-customAmount input[type="text"]::placeholder { color:white; border:none; }
.frame-bgcolor-blue .inputs-list-button-last-free .checked .form-group-customAmount input[type="text"]::placeholder { color:white; }
.inputs-list-button-last-free .form-group-customAmount input[type="text"]:focus { outline:none; }
.inputs-list .form-group-addon { font-weight:700/*600*/; }
/*** END FormFramework ***/



/*** START Powermail ***/
.powermail_form > h3 { display:none; }
.powermail_fieldset { width:100%; max-width:800px; }
.powermail_fieldset> legend { margin-bottom:16px; font-size:20px; font-weight:700/*600*/; }
.powermail_fieldset.nolabel > legend { display:none; }
.powermail_input,.powermail_select,.powermail_country,.powermail_textarea { width:100%; padding:8px; background-color:#f0f0f0; border:none; font-size:18px; }
.powermail_country,.powermail_select { padding:7px 12px; }
.powermail_textarea { border:1px solid #c0c0c0; font-size:16px; font-weight:700/*600*/; }
.powermail_radio { width:auto; }
.tx-powermail { position:relative; }
.powermail_submit { border:none; display: inline-flex; justify-content:center; align-items: center; position: relative; padding: 0 1.25rem; background-color: #fff; color: #1a7dff; font-size: 1.25rem; font-weight: 700/*600*/; text-align: center; overflow: visible; height:45px; transition:.4s; cursor:pointer; }
.powermail_submit:hover{text-decoration:none;background-color:#9ec951!important;}
/*.no-touchevents .powermail_submit:hover { text-decoration:underline; }*/
.frame-bgcolor-blue .powermail_submit,.frame-bgcolor-white .powermail_submit { background-color:#86bc26; color: #fff; }
.frame-bgcolor-green .powermail_submit { background-color:#1a7dff; color: #fff; padding: 0 3rem;height:55px;}
.frame-bgcolor-green .powermail_submit:hover{background-color:#2e92ff!important;}
.powermail-errors-list,.parsley-errors-list li { margin-left: 0; color:red; font-size:14px; font-weight:700/*600*/; }
.tx-powermail .powermail_create { padding:20px; background-color:#1a7dff; color:#fff; }
.tx-powermail .powermail_create a { color:#fff; }

.powermail_fieldwrap { margin-bottom:1em; }
.powermail_fieldwrap.bold > label { display:inline-block; margin-bottom:16px; font-size:16px; font-weight:700/*600*/; }
.powermail_fieldwrap.amount { display: flex; justify-content: space-between; padding-top: 2em; padding-bottom:2em; border-top: 1px solid black; }
.powermail_fieldwrap.amount > div.imageWrapper { flex: 1 1 150px; margin-right:2em; }
.powermail_fieldwrap.amount > div.imageWrapper img { border: 1px solid #404040; }
.powermail_fieldwrap.amount > label { flex: 1 1 calc(100% - 300px - 4em); margin-right: 2em; margin-bottom: 16px; font-size: 20px; font-weight: 400; }
.powermail_fieldwrap.amount > div.powermail_field { flex: 1 1 150px; }
.powermail_fieldwrap.amount > div.powermail_field input { width: 100px; margin-right: 10px; }
.powermail_fieldwrap.amount > div.powermail_field span.icon { width: 34px; height:34px; background-size: 34px; margin-right: 0; cursor: pointer; }
.powermail_fieldwrap.amount > div.powermail_field span.icon i.fa-solid { position: relative; top: 5px; font-size: 34px; color: #86bc26; }
.powermail_fieldwrap.float100 {
    float: left;
    width: 100%;
}
.powermail_fieldwrap.float50nlmr,
.powermail_fieldwrap.float50mr,
.powermail_fieldwrap.float50 {
    float: left;
    width: calc(50% - 10px);
}
.powermail_fieldwrap.float25nlmr,
.powermail_fieldwrap.float25mr,
.powermail_fieldwrap.float25 {
    float: left;
    width: calc(25% - 15px);
}
.powermail_fieldwrap.float75nlmr,
.powermail_fieldwrap.float75mr,
.powermail_fieldwrap.float75 {
    float: left;
    width: calc(75% - 15px);
}
.powermail_fieldwrap.float50nlmr,
.powermail_fieldwrap.float50mr,
.powermail_fieldwrap.float25nlmr,
.powermail_fieldwrap.float25mr,
.powermail_fieldwrap.float75nlmr,
.powermail_fieldwrap.float75mr {
    margin-right: 20px;
}
.powermail_fieldwrap.float100,
.powermail_fieldwrap.float50nlmr,
.powermail_fieldwrap.float25nlmr,
.powermail_fieldwrap.float75nlmr {
    clear: left;
}

.powermail_infotext.pm-above {margin-top: 2em; }
.powermail_infotext.pm-below {margin-bottom: 2em }
.powermail_infotext h3 {margin-bottom: 0.5em; }
.powermail_infotext  {font-size: 0.875em; }
.powermail_infotext p:last-child {margin-bottom: 0.5em; }

/*  powermail mod for right column */
aside .powermail_fieldwrap_email { float:none; width:100%; }
aside .powermail_fieldwrap_type_submit { position:absolute; bottom:-5rem; width:100%; }
aside .powermail_submit { width: 100%; padding:0!important; font-size:1.5rem; }

/*  powermail mod for Mitglied werden/powermail_form_accordion */
.js .powermail_form_accordion .powermail_fieldset { width:100%; margin-bottom:20px; padding-bottom:20px; border-bottom:1px solid #1a7dff; }
.js .powermail_form_accordion .powermail_fieldset.inactive { border-bottom:1px solid #a0a0a0; }
.js .powermail_form_accordion .powermail_fieldset_info { border-bottom:none; }
/* für Änderung Partnermitgliedschaft:
.powermail_fieldset_membership { display:flex; flex-wrap:wrap; }
.powermail_fieldwrap_membership { flex:1 1 40%; width:40%; }
.powermail_fieldwrap_membership_info { flex:1 1 60%; width:60%; }
*/
.js .powermail_fieldwrap_membership > div.powermail_field label,.js .powermail_fieldwrap_mitgliedschaft > div.powermail_field label { display: inline-flex; justify-content:center; align-items: center; position: relative; margin-bottom: 12px; padding: 0 1.25rem; background-color: #094f9e; color: #fff; font-size: 1.25rem; font-weight: 700/*600*/; text-align: center; cursor: pointer; overflow: visible; height:45px; transition:.4s; }
/*???*//*.no-touchevents*/.js .powermail_fieldwrap_membership > div.powermail_field label:hover,/*.no-touchevents*/.js .powermail_fieldwrap_mitgliedschaft > div.powermail_field label:hover {background:#3a72b1;}
.js .powermail_fieldwrap_membership > div.powermail_field label.checked,.js .powermail_fieldwrap_mitgliedschaft > div.powermail_field label.checked {background-color: #f45e5e; }
.js .powermail_fieldwrap_membership > div.powermail_field label.checked:hover,.js .powermail_fieldwrap_mitgliedschaft > div.powermail_field label.checked:hover{cursor:unset;}
.powermail_fieldwrap_membership > div.powermail_field label.checked::after,
.powermail_fieldwrap_mitgliedschaft > div.powermail_field label.checked::after { content: "✔"; position: absolute; bottom: -10px; right: -20px; width: 30px; height: 30px; background-color: #f45e5e; border: 1px solid white; border-radius: 50%; font-size: 1.75rem; line-height: 1.0;}
.js .powermail_fieldwrap_membership > div.powermail_field label input[type=radio], .js .powermail_fieldwrap_mitgliedschaft > div.powermail_field label input[type=radio] { position: absolute; z-index: -10; visibility: hidden; }
.js .powermail_fieldwrap_payment_frequency > div.powermail_field, .js .powermail_fieldwrap_zahlungsweise  > div.powermail_field { display:flex; }
.js .powermail_fieldwrap_payment_frequency > div.powermail_field label, .js .powermail_fieldwrap_zahlungsweise  > div.powermail_field label { display: inline-flex; justify-content:center; align-items: center; position: relative; margin: 0 1rem 1rem 0; padding: 0 1.25rem; background-color: #094f9e; color: #fff; font-size: 1.25rem; font-weight: 700/*600*/; text-align: center; overflow: visible; height:45px; transition:.4s; cursor:pointer; }
/*???*//*.no-touchevents*/.js .powermail_fieldwrap_payment_frequency > div.powermail_field label:hover,/*.no-touchevents*/.js .powermail_fieldwrap_zahlungsweise > div.powermail_field label:hover {background:#3a72b1;}
.js .powermail_fieldwrap_payment_frequency > div.powermail_field label.checked,.js .powermail_fieldwrap_zahlungsweise  > div.powermail_field label.checked { background-color:#f45e5e;}
.js .powermail_fieldwrap_payment_frequency > div.powermail_field label.checked:hover,.js .powermail_fieldwrap_zahlungsweise  > div.powermail_field label.checked:hover { cursor:unset;}
.js .powermail_fieldwrap_payment_frequency > div.powermail_field label.disabled, .js .powermail_fieldwrap_zahlungsweise  > div.powermail_field label.disabled { border-color:#b0b0b0; color:#b0b0b0; cursor: default; }
.js .powermail_fieldwrap_payment_frequency > div.powermail_field label input[type=radio], .js .powermail_fieldwrap_zahlungsweise  > div.powermail_field label input[type=radio] { position:absolute; z-index:-10; visibility:hidden;}
.js .powermail_fieldwrap_amount > div.powermail_field, .js .powermail_fieldwrap_beitrag  > div.powermail_field { display: flex; }
.js .powermail_fieldwrap_amount > div.powermail_field label, .js .powermail_fieldwrap_beitrag  > div.powermail_field label { display: inline-flex; justify-content:center; align-items: center; position: relative; margin: 0 1rem 1rem 0; padding: 0 1.25rem; background-color: #094f9e; color: #fff; font-size: 1.25rem; font-weight: 700/*600*/; text-align: center; overflow: visible; height:45px; transition:.4s; cursor:pointer; }
/*???*/.no-touchevents.js .powermail_fieldwrap_amount > div.powermail_field label:hover,.no-touchevents.js .powermail_fieldwrap_beitrag > div.powermail_field label:hover {background:#3a72b1;}
.js .powermail_fieldwrap_amount > div.powermail_field label:has(.powermail_field_error), .js .powermail_fieldwrap_beitrag > div.powermail_field label:has(.powermail_field_error) { overflow: visible; }
.js .powermail_fieldwrap_amount > div.powermail_field > div:nth-last-child(2) label, .js .powermail_fieldwrap_beitrag > div.powermail_field > div:nth-last-child(2) label { }
.js .powermail_fieldwrap_amount  > div.powermail_field label.checked,.js .powermail_fieldwrap_beitrag  > div.powermail_field label.checked {background-color: #f45e5e;}
.js .powermail_fieldwrap_amount  > div.powermail_field label.checked:hover,.js .powermail_fieldwrap_beitrag  > div.powermail_field label.checked:hover{background-color: #f45e5e;cursor:unset;}
.js .powermail_fieldwrap_amount  > div.powermail_field label input[type=radio], .js .powermail_fieldwrap_beitrag  > div.powermail_field label input[type=radio] {
position: absolute; z-index: -10; visibility: hidden; }
.powermail_fieldwrap_custom_amount > div.powermail_field, .powermail_fieldwrap_beitrag_freie_eingabe > div.powermail_field { display: inline-block; }
.nojs input#powermail_field_custom_amount, .nojs input#powermail_field_beitrag_freie_eingabe { width: 180px; font-size: 18px; font-weight: 700/*600*/; text-align: right; }
input#powermail_field_custom_amount::placeholder, input#powermail_field_beitrag_freie_eingabe::placeholder { border: none; font-weight: 400; }
.js input#powermail_field_custom_amount, .js input#powermail_field_beitrag_freie_eingabe { width: 120px; padding: 0; background-color: transparent; color: #f0f0f0; }
.js input#powermail_field_custom_amount::placeholder, .js input#powermail_field_beitrag_freie_eingabe::placeholder { color: white; }
input#powermail_field_custom_amount:focus, input#powermail_field_beitrag_freie_eingabe:focus { outline: none; }

#tx_powermail_pi1fieldcustom_amount-errormessage { list-style: none; position: absolute; top: 15px; left: 180px; width: 300px; margin-left: 0; background-color: white; margin-bottom: 0; }
#tx_powermail_pi1fieldcustom_amount-errormessage > li { margin-left: 1rem; text-align: left; }

.powermail_fieldset_navigation_next { float:left; clear:left; display:inline-block; margin-top:20px; margin-bottom:20px; }
.powermail_fieldset_navigation_next a { border:1px solid #1a7dff; display: inline-flex; justify-content:center; align-items: center; position: relative; margin-bottom: 12px; padding: 0 1.25rem; background-color: #fff; color: #1a7dff; font-size: 1.25rem; font-weight: 700/*600*/; text-align: center; overflow: visible; height:45px; transition:.4s;}

/*???*/.no-touchevents .powermail_fieldset_navigation_next a:hover { position:static; background-color:#1a7dff; color:white;}
.powermail_fieldset.inactive .powermail_fieldwrap, .powermail_fieldset.inactive .powermail_fieldset_navigation_next { height:0; margin:0; overflow:hidden; }
.powermail_fieldset.inactive > legend, .powermail_fieldset_value { color:#a0a0a0; }
.powermail_fieldset_membership .powermail_fieldset_value { flex: 1 1 100%; }
.powermail_fieldset.inactive > legend { margin-bottom:0; cursor:pointer; }

.powermail_fieldset.inactive.edit > legend::after { content:""; display:inline-block; width:16px; height:16px; margin-left:10px; background:url('../../../typo3conf/ext/custom_md2022/Resources/Public/Icons/icon_pencil.svg') center center no-repeat; cursor:pointer; }

/* powermail confirmation page */
.powermail_confirmation .powermail_all_label, .powermail_confirmation .powermail_all_value { padding-top:0.5em; padding-bottom: 0.5em; padding-right: 1em; font-size: 1.25em; }
@media only screen and (max-width:800px) {
    .powermail_fieldwrap.amount {
        flex-direction: column;
    }
    .powermail_fieldwrap.amount > div {
        top: 0;
        margin-bottom: 0;
    }
    .powermail_fieldwrap_amount > .powermail_field,
    .powermail_fieldwrap_payment_frequency > .powermail_field {
        flex-direction: column;
        flex: 1 1 auto;
    }
    .powermail_fieldwrap.float50nlmr,
    .powermail_fieldwrap.float50mr,
    .powermail_fieldwrap.float50,
    .powermail_fieldwrap.float25nlmr,
    .powermail_fieldwrap.float25mr,
    .powermail_fieldwrap.float25 {
        width: 100%;
        margin-right: 0;
    }
}
/*** END Powermail ***/

/*** START Userdata ***/

/* Campaigncounter */
.js .campaigncounter .staticLayer { display: none; }
.nojs .campaigncounter .dynamicLayer { display: none; }
.campaigncounter .progressbar_container { background-color: #f0f0f0; }
.frame-bgcolor-green .campaigncounter .progressbar_container, .frame-bgcolor-blue  .campaigncounter .progressbar_container { background-color: white; }
.frame-bgcolor-green .campaigncounter .progressbar_container .progressbar { background-color: #1a7dff; }
.frame-bgcolor-blue  .campaigncounter .progressbar_container .progressbar { background-color: #032751; }
/* END Userdata */

/*** START md_events ***/
/** Panel **/
.events-filter-panel { margin-bottom: 3rem; padding: 2rem 1rem; background-color: #1271ee; color: white; }
.filter-panel-heading h2 { margin-top: 0; }
.panel-group { display: inline-flex; }
.panel { position: relative; flex: 1 1 25%; min-width: 220px; max-width: 280px; margin-right: 20px; }

@media only screen and (max-width:1200px) {
    .panel-group { flex-wrap: wrap; }
    .panel { flex: 1 1 calc(50% - 20px); min-width: calc(50% - 20px); }
    .panel-group > div:nth-last-child(2), .panel-group > div:last-child { margin-top: 20px; }
    .panel-group > div:nth-child(2n) { margin-right: 0; }
}
@media only screen and (max-width:800px) and (orientation:portrait),only screen and (max-width:800px) and (orientation:landscape) {
    .panel { flex: 1 1 100%; min-width: 100%; margin-top: 20px; margin-right: 0; }
}

.panel-title { margin-bottom: .5em; }
.panel-collapsible .panel-button { position: absolute; top: 32px; right: 0; z-index: 20; width: 40px; height: 40px; margin: 0; background-color: transparent; border: none; cursor: pointer; }
.panel-collapsible .panel-button::after { content: " "; position: absolute; top: 12px; right: 8px; z-index: 30; width: 16px; height: 16px; background-size: 16px 16px; background-position: center center; background-repeat: no-repeat; background-image: url('../../../typo3conf/ext/custom_md2022/Resources/Public/Icons/icon_arrow-right_blue.svg'); transform: rotate(270deg); transition: transform 400ms; }
.panel-collapsible.collapsed .panel-button::after { transform: rotate(90deg); }
.panel-collapsible.selected .panel-button::after { background-image: url('../../../typo3conf/ext/custom_md2022/Resources/Public/Icons/icon_faq-closed.svg'); transform: rotate(45deg); }
.panel-collapsible .panel-input { padding: 10px 8px; }
.panel-collapsible .panel-input:focus { border: none; }
.panel-collapsible .panel-input::placeholder { color: #000000; font-family: "Source Sans Pro",sans-serif; font-weight: 700/*600*/; }
.panel-list-group { list-style:none; position:absolute; top:72px; left:0; width:100%; margin-bottom:0; background-color:#f8f8f8;overflow:hidden; transition:max-height 400ms; color:#000000; font-weight:700/*600*/; z-index:1002; }
.panel:not(.collapsed) .panel-list-group:has(li:not(.hidden)) { border-top: 1px solid #aaa; }
.collapsed .panel-list-group { max-height: 0; border: none; }
.panel-list-item { margin: 0; padding: 2px 8px; cursor: pointer; }
/* Unterkategorien im Kategoriefilter: eingerueckt unter ihrer Elternkategorie,
   Pfeil als Schmuck per ::before (nicht im Text, damit dataset.label der reine
   Name bleibt). Nur vorhanden, wenn im Plugin der Schalter "Unterkategorien
   unter ihrer Elternkategorie" gesetzt ist. */
.panel-list-item--sub { padding-left: 1rem; }
/* margin-left gleicht einen optischen Versatz aus, keinen Abstand: Die Glyphe
   wird um 90 Grad gedreht, wodurch ihr senkrechter Abstand zur Grundlinie zu
   einem waagerechten wird. Gemessen beginnt die Tinte des Pfeils 2px LINKS
   seines Kastens, die eines Grossbuchstabens dagegen 1px rechts davon — der
   Pfeil stand also 3px weiter links als die Kategorienamen darueber und
   darunter. Beim Aendern der Schriftgroesse neu messen. */
.panel-list-item--sub::before { content: "\f3bf"; font-family: "Font Awesome 6 Free"; font-weight: 900; font-size: 0.8em; display: inline-block; transform: rotate(90deg); margin-left: 0.1875rem; margin-right: 0.5rem; opacity: 0.55; }

.panel-list-item.emphasized { background-color: lightgoldenrodyellow; }

/** List **/
.mdevents_list .custom-tile-item a { height:auto; }
.mdevents_list .custom-tile-item a:focus { border: none; }
.mdevents_list .custom-tile-item-text { padding: 0 0 1em 0; }
.mdevents_list .custom-tile-item-header { overflow: hidden; padding: 1em; container: tileheader / inline-size; }
.mdevents_list .custom-tile-item-header h2 { margin: 0; font-size: 1.75em; line-height: 1.25; }
.mdevents_list .custom-tile-item-image figcaption { display: none; }
.mdevents_list footer { padding: 0 1em 1em 1em; color: black; /*font-size: 1.25em;*/ }
.mdevents_list footer .date, .mdevents_list footer .time, .mdevents_list footer .place { position: relative; display: inline-block; margin-left: 40px; margin-bottom: .5em; }
.mdevents_list footer .date::before, .mdevents_list footer .time::before, .mdevents_list footer .place::before { content: " "; position: absolute; left: -40px; display: block; width: 30px; height: 30px; background-repeat: no-repeat; background-size: 30px 30px; background-position: center; }
.mdevents_list footer .date::before { background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 640 640"><path d="M216 64C229.3 64 240 74.7 240 88L240 128L400 128L400 88C400 74.7 410.7 64 424 64C437.3 64 448 74.7 448 88L448 128L480 128C515.3 128 544 156.7 544 192L544 480C544 515.3 515.3 544 480 544L160 544C124.7 544 96 515.3 96 480L96 192C96 156.7 124.7 128 160 128L192 128L192 88C192 74.7 202.7 64 216 64zM216 176L160 176C151.2 176 144 183.2 144 192L144 240L496 240L496 192C496 183.2 488.8 176 480 176L216 176zM144 288L144 480C144 488.8 151.2 496 160 496L480 496C488.8 496 496 488.8 496 480L496 288L144 288z"/></svg>'); }
.mdevents_list footer .time::before { background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 640 640"><path d="M528 320C528 434.9 434.9 528 320 528C205.1 528 112 434.9 112 320C112 205.1 205.1 112 320 112C434.9 112 528 205.1 528 320zM64 320C64 461.4 178.6 576 320 576C461.4 576 576 461.4 576 320C576 178.6 461.4 64 320 64C178.6 64 64 178.6 64 320zM296 184L296 320C296 328 300 335.5 306.7 340L402.7 404C413.7 411.4 428.6 408.4 436 397.3C443.4 386.2 440.4 371.4 429.3 364L344 307.2L344 184C344 170.7 333.3 160 320 160C306.7 160 296 170.7 296 184z"/></svg>'); }
.mdevents_list footer .place::before { background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 384 512"><path d="M384 192c0 87.4-117 243-168.3 307.2c-12.3 15.3-35.1 15.3-47.4 0C117 435 0 279.4 0 192C0 86 86 0 192 0S384 86 384 192z" /><circle fill="white" r="70" cx="192" cy="188" /></svg>'); }
.mdevents_list .custom-tile-item-more { position: static; left: unset; bottom: unset; }



/** List Extended **/
/* Event Filter Panel */
.mdevents_listextended #eventsFilterPanel.overlayed { position:relative; z-index:1002;}
.mdevents_listextended .events-filter-panel { display:flex; gap:0 1rem; margin-bottom:1.5rem; padding:0 0 0 1rem; position:relative; }
.mdevents_listextended .filter-panel-heading { align-items:center; display:flex; font-size:1.125rem; font-weight:700; line-height:normal; min-height:45px; padding:0.5rem 0;}
.mdevents_listextended .panel-group { align-items:center; display:flex; justify-content:flex-start; visibility:visible; }
.mdevents_listextended .panel-group:last-child { margin: 0 0 0 auto; }
.mdevents_listextended .panel { margin:0; max-width:unset; min-width:unset; }
.mdevents_listextended .panel:last-child .panel-input-group, .mdevents_listextended .panel:last-child .panel-input-group .filterbtn-reset { margin:0; }
.mdevents_listextended .panel-input-group { align-items:center; display:flex; justify-content:space-between; margin-right:1rem; }
.mdevents_listextended .overlay { position:fixed; top:0; left:0; width:100%; height:100%; background-color:#000000cc; z-index:1001; }
.mdevents_listextended .filterbtn-reset-all, .mdevents_listextended .filterbtn-list-view , .mdevents_listextended .filterbtn-grid-view { background:none!important; border:none; color:#ffffff; font-weight:700; text-decoration:underline; transition:0.4s; white-space:nowrap; }
.no-touchevents .mdevents_listextended .filterbtn-reset-all:hover, .no-touchevents .mdevents_listextended .filterbtn-list-view:hover, .no-touchevents .mdevents_listextended .filterbtn-grid-view:hover, .mdevents_listextended .filterbtn-reset-all:active, .mdevents_listextended .filterbtn-list-view:active, .mdevents_listextended .filterbtn-grid-view:active { color:#2e92ff; }

/* Drop Down */
.mdevents_listextended .panel-list-group { background-color:transparent; left:0; top:45px; transition:none; padding:0; width:auto; }
.mdevents_listextended .panel-list-group:after { content:""; display:block; height:100px; width:100%; }
.mdevents_listextended .panel-collapsible.collapsed .panel-list-group { display:none; visibility:hidden; }
.mdevents_listextended .panel:not(.collapsed) .panel-list-group:has(li:not(.hidden)) { border-top:1px solid #ffffff; }
.mdevents_listextended .panel-list-item { background-color:#1271ee; color:#ffffff; font-size:1rem; padding:0.5rem 1rem; transition:0.4s; white-space:nowrap; }
/*.mdevents_listextended .panel-list-button { display:block; width:100%; padding:0.25rem 1rem; border:none; background:none; font:inherit; color:inherit; text-align:left; white-space:nowrap; cursor:pointer; }*/
.no-touchevents .mdevents_listextended .panel-list-item:hover, .mdevents_listextended .panel-list-item:active { color:#003567; }
/* Der Winkelpfeil behaelt beim Ueberfahren seine Farbe — sonst wanderte er mit
   der Textfarbe nach #003567 mit. Die Angabe steht direkt am ::before, damit
   sie die geerbte Hover-Farbe der Zeile sticht. */
.mdevents_listextended .panel-list-item--sub::before { color:#ffffff; }
/* Kind enger an seine Elternzeile ruecken: Abstand Eltern->Kind 0.5rem gegen
   1rem zwischen gleichrangigen Zeilen. Ein Kind VOR einer neuen Elternzeile
   behaelt seinen vollen unteren Abstand. */
.mdevents_listextended .panel-list-item:has(+ .panel-list-item--sub) { padding-bottom:0.25rem; }
.mdevents_listextended .panel-list-item--sub { padding-top:0.25rem; }
.mdevents_listextended .panel-list-item:first-child { padding-top:0.75rem; }
.mdevents_listextended .panel-list-item:last-child { padding-bottom:0.75rem; }

/* Filter Button + View Button */
.mdevents_listextended .filterbtn::before { content:"\f0d7"; font-family:'Font Awesome 6 Free'; font-size:1rem; left:0; position:absolute; transition:.4s; }
.mdevents_listextended .collapsed .filterbtn::before { content:"\f0da"; }
.mdevents_listextended .filterbtn, .mdevents_listextended .viewbtn { align-items:center; background:none; border:none; color:#ffffff; display:inline-flex; font-size:1.125rem; font-weight:700; margin-right:0; min-height:45px; padding:0.5rem 0 0.5rem 0.875rem; position:relative; transition:color .4s; white-space:nowrap; }
.mdevents_listextended .selected .filterbtn { margin-right:0.5rem; }
.mdevents_listextended .viewbtn { padding:0 0.5rem; }
.mdevents_listextended .map-view .viewbtn { padding:0 1rem 0 0.5rem; }
/* map-view hidden (no map content element on the page, see ListExtended-EventFilter.js init()): grid-view becomes the last visible toggle and needs its own trailing padding */
.mdevents_listextended .grid-view.no-map-view .viewbtn { padding-right:1rem; }
.no-touchevents .mdevents_listextended .filterbtn:hover, .no-touchevents .mdevents_listextended .viewbtn:hover, .mdevents_listextended .filterbtn:active, .mdevents_listextended .viewbtn:active, .mdevents_listextended .viewbtn.active { color:#003567; }
.mdevents_listextended .viewbtn.active { cursor:default; }
.mdevents_listextended .list-view button::after, .mdevents_listextended .grid-view button::after, .mdevents_listextended .map-view button::after { font-family:'Font Awesome 6 Free'; font-size:1.5rem; margin-left:8px; transition:.4s; }
.mdevents_listextended .list-view button::after { content:"\f00b"; }
.mdevents_listextended .grid-view button::after { content:"\f84c"; }
.mdevents_listextended .map-view button::after { content:"\f5a0"; }
.mdevents_listextended .map-view .viewbtn {  }
.mdevents_listextended .map-view .viewbtn.active { background-color:#094f9e; color:#ffffff; cursor:default; margin-left:0.5rem; padding:0 1rem; }

/* Filter Reset Button */
.mdevents_listextended .filterbtn-reset::before { color:#1271ee; content:"\f2ea"; font-family:'Font Awesome 6 Free'; font-size:0.875rem; transition:.4s; }
.no-touchevents .mdevents_listextended .filterbtn-reset:hover::before, .mdevents_listextended .filterbtn-reset:active::before { color:#ffffff; }
.mdevents_listextended .filterbtn-reset { background:#ffffff; border:none; border-radius:20px; cursor:pointer; display:none; margin:0; padding:0 4px; transition:.4s; visibility:hidden; }
.no-touchevents .mdevents_listextended .filterbtn-reset:hover, .mdevents_listextended .filterbtn-reset:active { background:#003567; }
.mdevents_listextended .selected .filterbtn-reset { display:inline-block; visibility:visible; }

/* Grid view */
.mdevents_listextended .custom-tile-item a { height:100%; }
.mdevents_listextended .custom-tile-item-meta { display:flex; align-items:center; justify-content:flex-start; padding:0.25rem 1rem 0.25rem 1rem; }
.mdevents_listextended .custom-tile-item-meta .datetime { color:#ffffff; font-size:1.125rem; }
.mdevents_listextended .custom-tile-item-meta .date { /*display:block;*/ font-weight:700; margin-right:0.5rem; }
.mdevents_listextended .custom-tile-item-meta .time { font-size:1rem; }
.mdevents_listextended .custom-tile-item-text { padding:0.75rem 1rem 1rem 1rem; }
.mdevents_listextended .custom-tile-item-place { display:inline-block; font-size:1.125rem; margin-bottom:0.5rem; max-width:235px;}
.mdevents_listextended .custom-tile-item-place span:before { color:#003567; content: "\f3c5"; font-family: 'Font Awesome 6 Free'; font-size:1rem; font-style: normal; font-variant: normal;line-height:1; margin-right:0.5rem; text-rendering:auto; }
.mdevents_listextended .custom-tile-item-category { margin-bottom:5px; }
.mdevents_listextended .custom-tile-item-text h2 { margin:0; }
.mdevents_listextended a .custom-tile-item-text header { color:#000000; transition:0.4s; text-decoration:none; }
/* Bug - Überlagerung des Dropdowns gibt bei Klick auf <li> den :hover auf das Unterelement (Kachel/Link) weiter, wodurch ein angeklickt Zustand auf dem Phone entsteht - deswegen .no-touchevents und :active */
.no-touchevents .mdevents_listextended a:hover .custom-tile-item-text header, .mdevents_listextended a:active .custom-tile-item-text header { color:#003567; text-decoration:underline; }
.no-touchevents .mdevents_listextended a:hover .custom-tile-item-meta, .mdevents_listextended a:active .custom-tile-item-meta { background-color:#3a72b1; transition:0.4s; }
.no-touchevents .mdevents_listextended a:hover .custom-tile-item-meta.featured_event, .mdevents_listextended a:active .custom-tile-item-meta.featured_event { background-color:#f67e7e; }

/* List view */
.mdevents_listextended .events-table { border-collapse:collapse; height:100%; width:100%; }
.mdevents_listextended .events-table thead th { cursor:pointer; font-size:1.125rem; padding:0 1rem 0.5rem; transition:0.4s; vertical-align:middle; white-space:nowrap; }
.no-touchevents .mdevents_listextended .events-table thead th:hover, .mdevents_listextended .events-table thead th:active { color:#2e92ff; }
.mdevents_listextended .events-table thead th.sortable::before { content:"\f0da"; display:inline-block; font-family:'Font Awesome 6 Free'; font-size:1rem;  transition:.4s; width:0.875rem; }
.mdevents_listextended .events-table thead th.sort-asc::before { content:"\f0d8"; }
.mdevents_listextended .events-table thead th.sort-desc::before { content:"\f0d7"; }
.mdevents_listextended .events-table tbody tr { background:#ffffff; border:1px solid #ffffff; border-top:0; color:#000000; height:100%;}
.mdevents_listextended .events-table tbody tr:first-child { border-top:1px solid #ffffff; }
.mdevents_listextended .events-table tbody tr:nth-child(2n) { background:#ebebeb; }
.mdevents_listextended .events-table tbody tr .date { color:#003567; display:block; font-size:1.5rem; font-weight:700; line-height:1.5rem; margin-bottom:0.25rem; }
.mdevents_listextended .events-table tbody tr .time { font-size:1rem;  }
.mdevents_listextended .events-table tbody tr a { font-size:1.125rem; font-weight:700; }
.mdevents_listextended .events-table tbody td { padding:1rem; vertical-align:middle; }
.mdevents_listextended .events-table tbody td.featured_event { padding:0;  }
.mdevents_listextended .events-table tbody td.featured_event .datetime { background-color:#f45e5e; display:inline-block; padding:1rem; }
.mdevents_listextended .events-table tbody td.featured_event .date, .mdevents_listextended .events-table tbody td.featured_event .time { color:#ffffff; white-space:nowrap; }

.events-table-actions { align-items:stretch; display:flex; height:100%; justify-content:flex-end; padding:0!important; position:relative; white-space:nowrap; }
.events-table-actions > a { align-items:center; display:flex; height:100%; justify-content:center; margin-left:1.5rem; text-decoration:none; }
.events-table-actions > a:last-child { margin-left:0; }
.events-table-actions button { background:none; border:none;  }
.events-table-actions button::before { background:none; border:none; color:#1271ee; font-family:'Font Awesome 6 Free'; font-size:1.75rem; transition:.4s; }
.no-touchevents .events-table-actions button:hover::before, .events-table-actions button:active::before { color:#003567; }
.events-table-actions button.ics::before { content:"\f271"; }
.events-table-actions button.route::before { content:"\f3c5"; }
.events-table-actions button.share::before { content:"\f064"; }

/* Map view */
.mdevents_listextended .map-view-container { padding-bottom:0.75rem; }

@media (max-width: 1600px) {
    .mdevents_listextended .panel-group:last-child button { font-size:0;}
    .mdevents_listextended .list-view button::after, .mdevents_listextended .grid-view button::after, .mdevents_listextended .map-view button::after { margin-left:0; }
}
@media (max-width: 1200px) {
    .mdevents_listextended .events-filter-panel { flex-direction:column; padding:0; }
    .mdevents_listextended .events-filter-panel > div { padding:0 1rem; }
    .mdevents_listextended .events-filter-panel > div:last-child { padding:0 0 0 1rem; }
    .mdevents_listextended .panel-group.one { border-bottom:1px solid #ffffff;  }
    .mdevents_listextended .panel-group:last-child button { font-size:1.125rem;}
    .mdevents_listextended .grid-view button::after, .mdevents_listextended .map-view button::after { margin-left:8px; }
    .mdevents_listextended .events-table, .mdevents_listextended .panel-group .list-view{ display:none; visibility:hidden; }
    .mdevents_listextended .panel-group > div:nth-last-child(2), .mdevents_listextended .panel-group > div:last-child { margin-top:0; }
    .mdevents_listextended .panel-list-item { border-left:1px solid #ffffff; border-right:1px solid #ffffff; }
    .mdevents_listextended .panel-list-item:last-child { border-bottom:1px solid #ffffff;  }
    .mdevents_listextended .map-view-container .list-helper { display:none; visibility:hidden;}
    .panel { flex:none; }
}
@media (max-width: 800px) {
    .tx-mdevents-singleview-footer table td {
        display: block;
    }
    .frame-type-list-mdevents_slider {
        padding-left: 40px !important;
        padding-right :40px !important;
    }
    .mdevents-slider .swiper-button-prev {
        left: -40px;
    }
    .mdevents-slider .swiper-button-next {
        right: -40px;
    }
    .mdevents-slider .swiper-button-prev,
    .mdevents-slider .swiper-button-next {
        width: 40px;
        height: 320px;
    }
    .mdevents-slider .swiper-button-prev::after,
    .mdevents-slider .swiper-button-next::after {
        font-size: 24px;
    }
    .mdevents_listextended .panel-group.one{ padding:0; }
    .mdevents_listextended .panel-group { align-items:flex-start; flex-direction:column; margin:0; }
    .mdevents_listextended .panel-input-group { margin:0; padding:0 1rem;}
    .mdevents_listextended .filter-panel-heading, .mdevents_listextended .panel-group.two { padding:0 1rem;}
    .mdevents_listextended .events-filter-panel > div:last-child { flex-direction:row; }
    .mdevents_listextended .panel { width:100%;}
    .mdevents_listextended .panel-list-group { width:100%; }
    .mdevents_listextended .panel-list-item { border:none; }
}

/* Share button */
/* Grid view */
.mdevents_listextended .custom-tile-item-meta-sharebar { background-color:unset; color:#1271ee; font-size:1rem; min-height:45px; padding:0.625rem 1rem; right:0; top:34px; transition:color .4s; }
.no-touchevents .mdevents_listextended .custom-tile-item-meta-sharebar:hover, .no-touchevents .mdevents_listextended .custom-tile-item-meta-sharebar .fa-share:hover, .mdevents_listextended .custom-tile-item-meta-sharebar:active, .mdevents_listextended .custom-tile-item-meta-sharebar .fa-share:active { color:#003567; }
.mdevents_listextended .custom-tile-item-meta-sharebar.opened { background-color:#094f9e; color:#ffffff; }
.no-touchevents .mdevents_listextended .custom-tile-item-meta-sharebar.opened:hover, .no-touchevents .mdevents_listextended .custom-tile-item-meta-sharebar.opened .fa-share:hover, .mdevents_listextended .custom-tile-item-meta-sharebar.opened:active , .mdevents_listextended .custom-tile-item-meta-sharebar.opened .fa-share:active { color:#2e92ff; }
.mdevents_listextended .custom-tile-item-sharebar { align-items:center; background-color:#094f9e; border:none; display:flex; height:45px; justify-content:flex-end; top:34px; padding:0 1rem; right:95px; transition:unset; }
.mdevents_listextended .custom-tile-item-sharebar a { font-size:1.5rem; height:auto; line-height:0; margin:0; padding:0; }
.mdevents_listextended .custom-tile-item-sharebar a { margin-right:1rem; }
.mdevents_listextended .custom-tile-item-sharebar a:last-child { margin-right:0; }
/* List view */
.mdevents_listextended .list-view-container .custom-tile-item-meta-sharebar { align-items:center; display:flex; font-size:0; height: 100%; justify-content:center; padding:0; position:relative; top:0; }
.mdevents_listextended .list-view-container .custom-tile-item-meta-sharebar.opened { background:#094f9e; }
.mdevents_listextended .list-view-container .custom-tile-item-meta-sharebar .fa-share{ font-size:1.75rem; margin:0 1.5rem; }
.mdevents_listextended .list-view-container .custom-tile-item-sharebar { border-right:1px solid #ffffff; height:100%; padding:1.5rem; right:76px; top:0; }
.mdevents_listextended .list-view-container .custom-tile-item-sharebar a { color:#ffffff; font-size:1.75rem; margin:0 1.5rem 0 0; }
.mdevents_listextended .list-view-container .custom-tile-item-sharebar a:last-child { margin:0; }
.no-touchevents .mdevents_listextended .list-view-container .custom-tile-item-sharebar a:hover, .mdevents_listextended .list-view-container .custom-tile-item-sharebar a:active { color:#2e92ff; }
/* Single view */
.btn::before { color:#ffffff; font-family:'Font Awesome 6 Free'; font-size:1.25rem; margin-right:0.5rem; transition:.4s; }
.btn.ics::before { content:"\f271";  }
.btn.route::before { content:"\f3c5"; }
.btn.share::before { content:"\f064"; }
.singleview .share {  }
.singleview .share > div { margin-bottom:1.5rem; }
.singleview .share a { font-size:1.75rem; margin:0 1rem 0 0; }
.singleview .share a:last-child { margin:0; }
.no-touchevents .share a:hover, .share a:active { color:#003567; }

/** Event Slider **/
.frame-type-list-mdevents_slider {padding-left: 80px !important;padding-right: 80px !important;overflow: hidden;}
.frame-type-list-mdevents_slider > div {padding: 0 !important;background-color: inherit;}
.frame-type-list-mdevents_slider > div > header {padding:20px 0 20px;}

.mdevents-slider.swiper {position: relative;margin-bottom: 32px;overflow: visible;background-color: inherit;}
.mdevents-slider .swiper-slide {padding-left: 16px;padding-right: 16px;border-left: 1px solid #d0d0d0; }
.mdevents-slider p.format {font-size:0.875rem;margin-left:0;width:100%;display: inline-block;padding: 4px 16px;color: #fff;background-color: #094f9e;font-weight: 700/*600*/;text-transform: uppercase;}
.mdevents-slider a {color: #000000;text-decoration: none;}
.mdevents-slider a:hover{color:#000000;}
.mdevents-slider p.datetime {margin-bottom: 32px;}
.mdevents-slider .date {display: inline-block;margin-right: 8px;font-size: 28px;font-weight: 700/*600*/;line-height: 36px;}
.mdevents-slider .time {display: inline-block;font-size: 13px;}
.mdevents-slider .more {}
.mdevents-slider .more{ position:absolute; left:16px; bottom:0; display:inline-block; margin-bottom:0; padding-right:0; color:#1a7dff; font-size:0.875rem; text-transform:uppercase; text-decoration:underline; transition:.4s;font-weight:700/*600*/;background:none;z-index: 20;}
.mdevents-slider .more:hover{color:#003567;}
.mdevents-slider .more::after {font-family: 'Font Awesome 6 Free';content: "\f105"; display: inline-block; margin-left: 5px;}
.mdevents-slider h2 {margin-bottom: 3em;}
.mdevents-slider .swiper-button-prev {left: -80px;}
.mdevents-slider .swiper-button-next {right: -80px;}
.mdevents-slider .swiper-button-prev,.mdevents-slider .swiper-button-next {top: 0;width: 80px;height: 320px;background-color: inherit;z-index: 90;background-position: center center;color:#1271ee;transition:.4s;}
.mdevents-slider .swiper-button-prev:hover:after, .mdevents-slider .swiper-button-next:hover:after{color:#2e92ff;}

.mdevents_list footer .ical-link {color :#2481FB;}

.tx_mdevents .ical-link .icon-ical {position: relative;top: 4px;left: 3px;margin-right: 15px;color :#2481FB;background-image: url('../../../typo3conf/ext/custom_md2022/Resources/Public/Icons/icon_ical.svg');}
.tx_mdevents .subtitle {font-size: 16px;font-weight: 700/*600*/;}

/** Single View **/
.tx_mdevents .singleview { background-color:#fff; color:#000000; }
.tx-mdevents-singleview-header,.tx-mdevents-singleview-content {padding:2rem 2rem 0 2rem;}
.tx-mdevents-singleview-figure { position:relative; }
.tx-mdevents-singleview-figure figcaption { background-color:#094f9e; color:#ffffff; padding:0.25rem 2rem; }
.tx-mdevents-singleview-footer { background-color:#e0e0e0; color:#000000; overflow:hidden; padding:2rem 2rem 0 2rem; }
.tx-mdevents-singleview-footer table { table-layout:fixed; width:100%; }
.tx-mdevents-singleview-footer table td { min-width:220px; padding-right:2rem; }
.tx-mdevents-singleview-footer table td:last-child { padding-right:0; }
.tx-mdevents-singleview-footer span.date { display:inline-block; margin-right:0.25rem; }

dialog.dialog-event:not([data-events="1"]) .event-item-category {background: url('../../../typo3conf/ext/custom_md2022/Resources/Public/Icons/icon_faq-opened_white.svg') calc(100% - 1em) center no-repeat;background-size: 30px;}
dialog.dialog-event:not([data-events="1"]) .dialog-event-item.closed .event-item-category {background: url('../../../typo3conf/ext/custom_md2022/Resources/Public/Icons/icon_faq-closed_white.svg') calc(100% - 1em) center no-repeat;background-size: 30px;}

/* TEST Map */
.grid4cols .mdevents_map { flex-direction:column; }
.grid4cols .map_container { max-width:none!important; min-width:none!important; }
.grid4cols .bgcolor-white { max-width:none!important; min-width:none!important; }
.grid4cols .mdevents_map > div:first-child { max-width:none!important; min-width:none!important; }
.grid4cols .mdevents_map > div:nth-child(2) { max-width:none!important; min-width:none!important; }
@media only screen and (max-width:800px) {
    .tx-mdevents-singleview-header,
    .tx-mdevents-singleview-content {
        padding: 1rem 1rem 0 1rem;
    }
    .tx-mdevents-singleview-figure figcaption {
        padding: 0.25rem 1rem;
    }
    .tx-mdevents-singleview-footer {
        padding: 1rem 1rem 0 1rem;
    }
    .tx-mdevents-singleview-footer table td {
        display: block;
    }
}
/***  END md_events ***/


/*** START - Grid Elements ***/
/* gridSlider */
.gridSlider { /*min-width:1400px;*/ background-color: #081935; }
.gridSlider .grid-row-1 .grid-column-101 .ce-textpic { position:relative; }
.gridSlider .grid-row-1 .grid-column-101 .ce-bodytext { position:absolute; top:2em; left:2em; width:calc(55% - 4em); margin-top:0; background-color:transparent;}
.gridSlider .swiper-horizontal > .swiper-pagination-bullets,.gridSlider .swiper-pagination-bullets.swiper-pagination-horizontal {bottom: 4px;}
.swiper-horizontal > .swiper-pagination-bullets,.swiper-pagination-bullets.swiper-pagination-horizontal {width: calc(100% - 2em);}
.gridSlider .swiper-pagination-bullet {background:#1271ee;width:14px/*var(--swiper-pagination-bullet-width, var(--swiper-pagination-bullet-size, 12px))*/;height:14px/*var(--swiper-pagination-bullet-height, var(--swiper-pagination-bullet-size, 12px))*/;border: 1px solid #1271ee;opacity:1;}
.gridSlider .swiper-pagination-bullet:hover{background:#2e92ff;border-color:#2e92ff;}
.gridSlider .swiper-pagination-bullet-active,.gridSlider .swiper-pagination-bullet-active:hover{background:#003567;border-color:#003567;}

/* gridAccordion */
.gridAccordion > div.grid-row { display:block; justify-items:unset; flex-wrap: unset; }
.gridAccordion > div.grid-row { padding-left:40px; }
.gridAccordion > header > * { padding-left:40px; background-color:transparent; background-position:left center; background-repeat:no-repeat; background-size:23px; cursor:pointer; }
.gridAccordion > header > h2 { background-size:19px; }
.gridAccordion > header > h3 { background-size:14px; }
.gridAccordion.closed > header > * { background-image:url('../../../typo3conf/ext/custom_md2022/Resources/Public/Icons/icon_faq-closed.svg'); }
.gridAccordion.opened > header > * { background-image:url('../../../typo3conf/ext/custom_md2022/Resources/Public/Icons/icon_faq-opened.svg'); }

/* gridFixedBackground */
.gridFixedBackground { position:relative; width:100%; min-height:1000px; background-image:url('https://neu.mehr-demokratie.de/fileadmin/img/2026/Slider/Aerial_2019-15-11_2500px.jpg'); background-position:center center; background-repeat:no-repeat; background-size:cover; background-attachment:fixed; }
.gridFixedBackground > div.grid-row-1 { position:absolute; bottom:0; left:0; width:100%; max-width:1400px; padding:3em; background-color:rgb(0,15,41,0.8); }
.gridFixedBackground > div.grid-row-1 h1 { font-size:2.25em; font-weight:300; line-height:120%; }
.gridFixedBackground > div.grid-row-1 h1 a { color:inherit; font-weight:700/*600*/; text-decoration:underline; }
.gridFixedBackground > div.grid-row-1 h1 a:hover{color:#2e92ff!important;}
.gridFixedBackground > div.grid-row-1 .big-morelink-left a { margin-right:20px; }

/* Spezialeinstellungen für Sechserfeld unter Parallaxkasten */
.homepage .gridSimplerow .grid-column-101 { width:100%; max-width:1400px; margin:0 auto; }
.homepage .gridSimplerow .grid3cols { padding:3em; }
.homepage .gridSimplerow .grid3cols.frame-padding-top-none { padding-top:0 !important; }
.homepage .gridSimplerow .grid3cols.frame-padding-bottom-none { padding-bottom:0 !important; }
.homepage .gridSimplerow .grid3cols .ce-textpic { font-size:1.25em; }
.homepage .gridSimplerow .grid3cols .ce-textpic a { color:inherit; text-decoration:inherit; }
.homepage .gridSimplerow .grid3cols .ce-gallery { max-width:100px; margin-right:40px; }
.homepage .gridSimplerow .grid3cols .ce-bodytext strong { font-size:125%; }



@media only screen and (max-width:1200px) {
    /* gridelements: slider */
    .gridSlider { /*min-width:auto;*/ }
    .gridSlider .grid-row-1 .grid-column-101 .ce-gallery .imageWrapper {
        overflow: hidden;
    }
    .gridSlider .grid-row-1 .grid-column-101 .ce-gallery .imageWrapper img {
        position: relative;
        left: -100%;
        width: 200%;
        max-width: 2200px;
    }
    .gridSlider .grid-row-1 .grid-column-101 .ce-bodytext {
        position: static;
        width: 100%;
        margin-top: 0;
        padding: 2em;
        background-color: #081935;
    }
}
@media only screen and (max-width:1100px) {
    .homepage .gridSimplerow .grid3cols > div.grid-row > div.grid-column {
        flex: 1 1 100%;
        margin: 1em 0 1em 0;
    }
}
@media only screen and (max-width:800px) {
    .gridFixedBackground {
        padding-top: 75%;
        background-position: top center;
        background-size: contain;
        background-attachment: unset;
    }
    .gridFixedBackground > div.grid-row-1 {
        position: static;
    }
}
@media only screen and (max-width:500px) {
    .homepage .gridSimplerow .grid3cols {
        padding: 1em;
    }
    .homepage .gridSimplerow .grid3cols > div.grid-row > div.grid-column {
        margin: 2em 0 2em 0;
    }
    .homepage .gridSimplerow .grid3cols .grid-column .ce-textpic {
        flex-direction: column;
        align-items: center;
        font-size: 24px;
    }
    .homepage .gridSimplerow .grid3cols .grid-column .ce-gallery {
        flex: 1 1 100%;
        align-self: center;
        max-width: 100%;
        margin-right: 0;
        width: 150px;
    }
    .homepage .gridSimplerow .grid3cols .grid-column .ce-gallery img {
        width: 100%;
    }
    .homepage .gridSimplerow .grid3cols .grid-column .ce-bodytext {
        flex: 1 1 100%;
        align-self: self-start;
    }
}
@media only screen and (min-width:1600px) {
    .gridFixedBackground > div.grid-row-1 {
        left: calc(50% - 700px);
        margin: 0 auto;
    }
}
/*** END - Grid Elements ***/

/*** md_ranking ***/
.tx_mdranking__countrySelector {min-width: 210px;}
.tx_mdranking__countrySelector select {width: 100%;padding: 0.25em;border: 1px solid #808080;font-size: 1em;appearance: none;background: white url('../../../typo3conf/ext/custom_md2022/Resources/Public/Icons/icon_navi-opened_blue.svg') no-repeat 98% center;background-size:20px;}


/*** mach doch svg map ***/
.machdochmap {
    position: relative;
    overflow: hidden;
    clear: both;
    display: flex;
    flex-direction: row;
    justify-content: left;
}
.machdochmapLegend {
    flex: 1 1 25%;
    width: 25%;
    min-width: 250px;
    color: white;
}
.machdochmapLegend a {
    font-weight: 700;
    text-decoration: none;
    transition: 0ms;
}
.no-touchevents .machdochmapLegend a:hover {
    background-color: #2e92ff;
    color: white;
    text-decoration: none;
}
.machdochmapWrapper {
    flex: 1 1 75%;
    width: 75%;
    padding-right: 25%
}
.machdochmapWrapper > svg {
    min-width: 500px;
    width: 100%;
    max-width: 720px
}
@media only screen and (max-width:1200px) {
    .machdochmap {
        flex-direction: column;
        justify-content: left;
    }
    .machdochmapLegend {
        flex: 1 1 100%;
        width: 100%;
    }
    .machdochmapWrapper {
        flex: 1 1 100%;
        width: 100%;
        padding-right: 0;
    }
}
@media only screen and (max-width:800px) {
    .machdochmapWrapper {
        max-width: 100%;
        overflow-x: scroll;
    }
    .machdochmapWrapper svg {
        min-width: 700px;
    }
}