/*
 * Grundschrift Source Sans 3, drei Schnitte.
 *
 * `font-display: optional` und nicht `swap`: `swap` zeichnet zuerst mit der
 * Rückfallschrift und tauscht dann sichtbar — genau das war als „die Schrift
 * lädt nach" gemeldet. `optional` benutzt die Schrift nur, wenn sie beim
 * ersten Zeichnen bereit ist, und tauscht danach **nicht** mehr. Der Preis:
 * beim ersten Aufruf mit leerem Zwischenspeicher kann eine Seite ganz in der
 * Rückfallschrift erscheinen. Dafür wechselt nie etwas vor den Augen.
 *
 * Angekündigt werden Regular und Bold (siehe lag_schrift_ankuendigen()):
 * Überschriften bekommen ohne eigene Angabe das Browservorgabegewicht `bold`,
 * also 700 — der größte Text der Seite hing deshalb am spätesten Schnitt.
 */
@font-face{font-family:SourceSans3;src:url('fonts/SourceSans3-Regular.woff2') format('woff2');font-weight:400;font-style:normal;font-display:optional}
@font-face{font-family:SourceSans3;src:url('fonts/SourceSans3-SemiBold.woff2') format('woff2');font-weight:600;font-style:normal;font-display:optional}
@font-face{font-family:SourceSans3;src:url('fonts/SourceSans3-Bold.woff2') format('woff2');font-weight:700;font-style:normal;font-display:optional}
/*
 * Angeglichene Rückfallschrift. Ohne sie sieht eine Seite in der
 * Rückfallschrift merklich anders aus und springt beim nächsten Aufruf.
 * Die Werte sind an den echten Schriftdateien gemessen, nicht geschätzt:
 *
 *   x-Höhe im Verhältnis zum Em   Source Sans 3 0,4860 · Arial 0,5186
 *   size-adjust                   0,4860 / 0,5186 = 93,7 %
 *   ascent-override               102,4 % / 0,937 = 109,3 %
 *   descent-override               40,0 % / 0,937 =  42,7 %
 *
 * Geteilt wird durch size-adjust, weil die Kastenmaße auf die schon skalierte
 * Schrift wirken. Ohne Angleichung stünde Arial mit 90,5 % Höhe und 21,2 %
 * Tiefe da — der Zeilenkasten wäre deutlich flacher und der Text sprang.
 *
 * Liberation Sans ist maßgleich zu Arial und liegt auf Linux; findet der
 * Browser keine der drei, greift die Reihe weiter zu system-ui.
 */
@font-face{font-family:'SourceSans3 Ersatz';src:local('Arial'),local('Helvetica Neue'),local('Liberation Sans');size-adjust:93.7%;ascent-override:109.3%;descent-override:42.7%;line-gap-override:0%}
/*
 * Die Farben stehen an einem Ort. Zwei Goldwerte gab es vorher an vier
 * Stellen; einer davon fiel bei jeder Prüfung durch.
 *
 * Gemessene Kontraste (WCAG 2.1):
 *   --lag-gold-text     #977025 auf Weiß        4,51:1  (nötig 4,5)
 *   --lag-gold-flaeche  Schwarz auf #cb9631     7,95:1
 *   --lag-gold-knopf    Schwarz auf #bc994b     7,80:1
 *   --lag-link-footer   #812040 auf #9fb3de     4,51:1  (nötig 4,5)
 */
/*
 * Menü und Bedienleiste sitzen auf derselben Höhe und mit demselben
 * Randabstand. Beide lasen das vorher aus eigenen Werten; im Blog-Header
 * und zwischen 768 und 1024 px lagen sie deshalb verschieden hoch. Jetzt
 * steht es an einer Stelle und kann nicht auseinanderlaufen.
 */
:root{--lag-gold-flaeche:#cb9631;--lag-gold-knopf:#bc994b;--lag-gold-text:#977025;--lag-link-footer:#812040;--lag-leiste-oben:45px;--lag-leiste-rechts:max(30px,calc((100vw - 1140px)/2))}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#fff;color:#000;font-family:SourceSans3,'SourceSans3 Ersatz',system-ui,Arial,sans-serif;line-height:1.5}img{max-width:100%;height:auto}a{color:inherit}button,summary,a,input,select{touch-action:manipulation}a:focus-visible,summary:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #2e6db9;outline-offset:5px}figure{margin:0}h1,h2,h3,h4,h5,h6{line-height:1.15;font-weight:700}p{margin-top:0;margin-bottom:1em}main{min-height:20vh}.wp-site-blocks{padding:0}.wp-site-blocks>*{margin-block-start:0}.screen-reader-text{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.lag-header{position:relative;isolation:isolate;padding:50px 0 0;margin:0 0 50px;overflow:visible}.lag-main-logo{width:50%;max-width:570px;margin:0 auto 20px}.lag-main-logo img{display:block;width:100%}.lag-decoration{position:absolute;z-index:-1;pointer-events:none;margin:0}.lag-decoration img{display:block;width:auto;height:100%;max-width:none}.lag-decoration-left{left:0}.lag-decoration-right{right:0}.lag-quick-nav{display:flex;align-items:stretch;justify-content:center;gap:24px;width:min(1140px,calc(100vw - 60px));max-width:1140px;margin:0 auto;padding:0}.lag-quick-card{background:#fff;border-radius:20px;box-shadow:0 0 15px rgba(0,0,0,.5);width:168px;flex:1;min-width:0;overflow:hidden}.lag-quick-card a{display:flex;justify-content:center;align-items:center;min-height:166px;padding:13px;text-decoration:none}.lag-quick-card img{display:block;height:140px;width:auto;max-width:100%;object-fit:contain}.lag-quick-card a:hover{background:#f4f6fb}.lag-back{position:absolute;left:75px;top:90px;width:70px;margin:0}.lag-back img{display:block;width:70px;height:50px}/*
 * Bedienhilfen und Menü stecken in einer gemeinsamen Zeile. Nur diese
 * Zeile ist absolut gesetzt; das Menü sitzt darin. Vorher waren es zwei
 * getrennt gesetzte Kästen, deren gleiche Höhe an zwei Zahlen hing — und
 * die liefen auseinander.
 */
.lag-kopfzeile{position:absolute;right:var(--lag-leiste-rechts);top:var(--lag-leiste-oben);z-index:25;display:flex;align-items:center;gap:10px}
.lag-kopfzeile>*{margin-block-start:0!important}
.lag-menu{position:relative;font-size:calc(30px * var(--lag-schrift,1))}.lag-menu>summary{cursor:pointer;list-style:none;width:60px;height:44px;border:1.5px solid #000;display:grid;place-items:center;margin-left:auto;background:#fff}.lag-menu>summary::-webkit-details-marker{display:none}.lag-menu-lines,.lag-menu-lines:before,.lag-menu-lines:after{display:block;width:24px;height:1.5px;background:#111;position:relative}.lag-menu-lines:before,.lag-menu-lines:after{content:'';position:absolute;left:0}.lag-menu-lines:before{top:-8px}.lag-menu-lines:after{top:8px}.lag-menu[open] .lag-menu-lines{background:transparent}.lag-menu[open] .lag-menu-lines:before{top:0;transform:rotate(45deg)}.lag-menu[open] .lag-menu-lines:after{top:0;transform:rotate(-45deg)}.lag-menu nav{position:absolute;right:0;top:calc(100% + 6px);z-index:30;background:#000;color:#fff;min-width:340px;max-width:calc(100vw - 40px);max-height:75vh;overflow:auto}.lag-menu-items{list-style:none;margin:0;padding:0;text-align:center}.lag-menu-items a{display:block;padding:16px 40px;text-decoration:none;line-height:1.25}.lag-menu-items a:hover,.lag-menu-items a:focus{background:#333}.lag-menu-items .sub-menu{list-style:none;padding:0;font-size:.8em}.lag-header-blog{min-height:150px;margin:0;padding:40px 0;--lag-leiste-oben:50px}.lag-header-blog .lag-back{top:50px}
.lag-page-content,.lag-standard-main{max-width:1140px;margin:0 auto;padding:0 10px}.lag-standard-main{padding-bottom:100px}.lag-page-title{font-size:calc(44px * var(--lag-schrift,1));margin:30px 0}.lag-layout{min-width:0;max-width:100%}.lag-layout>.wp-block-group,.lag-layout>figure,.lag-layout>h2,.lag-layout>h3{margin-block-start:0}.lag-layout.lag-section{width:100%}.lag-column{padding:10px}.lag-rich>*:last-child{margin-bottom:0}.lag-rich a{text-decoration:underline;text-underline-offset:.15em}.lag-rich iframe{max-width:100%;aspect-ratio:16/9;height:auto}.lag-rich .wp-block-embed{max-width:100%;margin:0 0 1em}.lag-rich .wp-block-embed__wrapper iframe{width:100%}.lag-rich .wp-block-list{padding-left:1.4em}.lag-page-content .wp-block-image{align-self:center;text-align:center}.lag-page-content .wp-block-image img{object-fit:contain}.lag-page-content .lag-layout .lag-download-icon{flex:none;width:50px;height:50px;margin:0}.lag-download-icon img{width:50px;height:50px;object-fit:contain}.lag-contact-details{border:1px solid #333;margin:0 0 15px}.lag-contact-details>summary{cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:20px;font-size:calc(35px * var(--lag-schrift,1));font-weight:400;padding:15px 25px;list-style:none}.lag-contact-details>summary:after{content:'+';font-family:Arial,sans-serif;font-size:calc(44px * var(--lag-schrift,1));line-height:1}.lag-contact-details[open]>summary:after{content:'−'}.lag-contact-details>summary::-webkit-details-marker{display:none}.lag-contact-details>.lag-layout{padding:20px}.lag-contact-details .wp-block-image{max-width:100%}.lag-contacts{margin-bottom:100px;min-width:0;max-width:100%}.lag-contact-details h3{margin:0 0 10px}.lag-contact-details a{overflow-wrap:anywhere}
.lag-news{margin-bottom:100px;scroll-margin-top:40px}.lag-news-tabs{display:flex;gap:0;flex-wrap:wrap;margin-bottom:30px}.lag-news-tabs a{flex:1;min-width:130px;text-align:center;padding:16px 12px;text-decoration:none;border:1px solid #d1d8ee;font-size:calc(25px * var(--lag-schrift,1))}.lag-news-tabs a[aria-current]{background:var(--lag-gold-flaeche);color:#000}.lag-news-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:30px;align-items:start}.lag-news-card{border:2px solid #d1d8ee}.lag-news-card img{display:block;width:100%;max-height:430px;object-fit:cover}.lag-news-copy{padding:15px 15px 20px}.lag-news-copy h2{font-size:calc(25px * var(--lag-schrift,1));color:var(--lag-gold-text);margin:0 0 12px}.lag-news-copy h2 a{text-decoration:none}.lag-news-copy time{font-size:calc(15px * var(--lag-schrift,1))}.lag-news-copy p{font-size:calc(20px * var(--lag-schrift,1));margin:10px 0}.lag-read-more{font-size:calc(16px * var(--lag-schrift,1));font-weight:700}.lag-pagination{display:flex;justify-content:center;gap:15px;flex-wrap:wrap;margin:35px 0}.lag-pagination a,.lag-pagination span{padding:8px 14px}.lag-pagination .current{background:var(--lag-gold-flaeche)}
.lag-post-main{max-width:1140px;margin:0 auto;padding:0 20px 100px;position:relative}.lag-post-main .wp-block-post-featured-image{margin:0 0 20px;text-align:center}.lag-post-main .wp-block-post-featured-image img{width:100%;height:50vh;object-fit:contain}.lag-post-meta{display:flex;justify-content:space-between;font-size:calc(20px * var(--lag-schrift,1));margin:20px 0}.lag-post-main>.wp-block-post-title{color:var(--lag-gold-text);font-size:calc(44px * var(--lag-schrift,1))}.lag-post-main .wp-block-post-content{font-size:calc(25px * var(--lag-schrift,1));margin-top:50px;overflow-wrap:anywhere}.lag-post-main .wp-block-post-content img{height:auto;max-width:100%}.lag-post-main .wp-block-post-content iframe{max-width:100%}.lag-post-links{display:flex;justify-content:space-between;gap:20px;margin-top:40px}.lag-gallery{margin:50px 0}.lag-gallery-track{display:flex;gap:20px;overflow-x:auto;scroll-snap-type:x mandatory;padding:10px 0 20px}.lag-gallery-track>a{flex:0 0 calc((100% - 40px)/3);scroll-snap-align:start}.lag-gallery-track img{width:100%;height:260px;object-fit:contain}.lag-gallery-help{font-size:calc(16px * var(--lag-schrift,1))}.lag-post-downloads li{padding:16px 0;border-bottom:1px solid #a5acc0}.lag-post-downloads ul{list-style:none;padding:0}.lag-post-downloads a{display:flex;justify-content:space-between;gap:20px}
.lag-footer{background:#9fb3de;padding:50px max(20px,calc((100vw - 1140px)/2)) 25px;font-size:calc(18px * var(--lag-schrift,1))}.lag-footer-top{display:flex;align-items:center;justify-content:space-between;gap:40px}.lag-footer-logo{width:190px}.lag-footer-logo img{width:100%}.lag-footer-address{text-align:right;font-weight:700}.lag-footer hr{width:100%;max-width:none;border:0;border-top:1px solid #000;margin:30px 0}.lag-footer-bottom{display:flex;align-items:center;justify-content:space-between;gap:30px;font-size:calc(16px * var(--lag-schrift,1))}.lag-footer-bottom p{margin:0}.lag-footer-bottom a{text-underline-offset:.18em}
@media(max-width:1024px){:root{--lag-leiste-rechts:25px}.lag-header{padding-top:40px}.lag-quick-nav{gap:15px;margin-inline:20px;width:auto}.lag-quick-card a{padding:8px;min-height:138px}.lag-quick-card img{height:118px}.lag-main-logo{width:50%}.lag-decoration{max-width:22vw}.lag-decoration img{max-width:100%;object-fit:contain}.lag-news-tabs a{font-size:calc(22px * var(--lag-schrift,1))}}
@media(max-width:767px){:root{--lag-leiste-oben:20px;--lag-leiste-rechts:20px}.lag-header{padding-top:90px;margin-bottom:45px}.lag-main-logo{width:75%;margin-bottom:45px}.lag-decoration,.lag-back{display:none}.lag-quick-nav{max-width:370px;margin-inline:auto;padding:0 10px;flex-wrap:wrap;gap:15px}.lag-quick-card{flex:0 0 calc(50% - 8px);max-width:170px}.lag-quick-card a{min-height:165px;padding:12px}.lag-quick-card img{height:140px}.lag-menu nav{min-width:min(340px,calc(100vw - 40px))}.lag-menu-items a{font-size:calc(25px * var(--lag-schrift,1));padding:14px 24px}.lag-header-blog{min-height:110px;padding-top:20px;--lag-leiste-oben:20px}.lag-page-content,.lag-standard-main{padding-inline:18px}.lag-layout.lag-section,.lag-layout.lag-container{flex-wrap:wrap}.lag-layout.lag-section>.lag-column{width:100%}.lag-column{padding:0}.lag-page-content h2{font-size:calc(clamp(28px,7vw,40px) * var(--lag-schrift,1))}.lag-contact-details>summary{font-size:calc(27px * var(--lag-schrift,1));padding:12px 16px}.lag-contact-details>.lag-layout{padding:12px}.lag-news-tabs a{flex-basis:45%;font-size:calc(20px * var(--lag-schrift,1))}.lag-news-grid{grid-template-columns:1fr}.lag-page-title,.lag-post-main>.wp-block-post-title{font-size:calc(34px * var(--lag-schrift,1))}.lag-post-main .wp-block-post-content{font-size:calc(20px * var(--lag-schrift,1))}.lag-post-main .wp-block-post-featured-image img{height:auto;max-height:60vh}.lag-gallery-track>a{flex-basis:85%}.lag-footer-top,.lag-footer-bottom{flex-direction:column;gap:25px;text-align:center}.lag-footer-address{text-align:center}.lag-footer-logo{width:170px}.lag-footer-bottom{font-size:calc(16px * var(--lag-schrift,1))}.lag-rich{overflow-wrap:anywhere}.lag-rich[style]{text-align:left}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

/* Integration with native block flow spacing. */
.lag-quick-nav>*{margin-block-start:0!important}.lag-footer-top>*,.lag-footer-bottom>*,.lag-post-meta>*{margin-block-start:0!important}
@media(min-width:768px){.lag-main-logo{margin-bottom:10px}.lag-header .lag-decoration{margin-block-start:40px}}

/* Reference: lag-wr-bayern.de, desktop footer and rich text. */
.lag-rich>p,.lag-rich>.wp-block-list{margin-block:0 14.4px}
.lag-rich>*:last-child{margin-bottom:0}
.lag-footer{padding:60px 10px 44px;font-size:calc(16px * var(--lag-schrift,1))}
.lag-footer-top{flex-direction:column;align-items:center;gap:30px}
.lag-footer-logo{width:600px;max-width:100%}
.lag-footer-address{width:100%;max-width:1120px;text-align:left}
.lag-footer hr{margin:40px 0 55px}
.lag-footer-bottom{max-width:1120px;margin-inline:auto;align-items:flex-start}
.lag-footer-bottom a{color:var(--lag-link-footer);text-decoration:underline}
.lag-footer-bottom a:hover{text-decoration-thickness:2px}
@media(max-width:767px){.lag-footer{padding:40px 18px 30px}.lag-footer-top{gap:25px}.lag-footer-logo{width:100%;max-width:600px}.lag-footer-address{text-align:left}.lag-footer hr{margin:30px 0}.lag-footer-bottom{align-items:center}}

/*
 * Eingebettete Videos warten auf die Einwilligung. Die Flaeche steht an der
 * Stelle des Rahmens und behaelt dessen Seitenverhaeltnis, damit die Seite
 * beim Laden des Videos nicht springt.
 */
.lag-video{border:1.5px solid #000;background:#f4f6fb;padding:20px}
.lag-video-titel{margin:0 0 10px;font-size:calc(25px * var(--lag-schrift,1))}
.lag-video-text{margin:0 0 12px;font-size:calc(18px * var(--lag-schrift,1))}
.lag-video-knoepfe{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin:0 0 12px}
.lag-video-laden{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 18px;background:#fff;border:1.5px solid #000;border-radius:22px;color:#000;font:inherit;font-size:calc(17px * var(--lag-schrift,1));cursor:pointer}
.lag-video-verweis{font-size:calc(17px * var(--lag-schrift,1));text-decoration:underline;text-underline-offset:.15em}
.lag-video-rahmen:empty{display:none}
.lag-video-rahmen iframe{width:100%;max-width:100%;aspect-ratio:16/9;height:auto}
.lag-video[data-lag-geladen] .lag-video-titel,.lag-video[data-lag-geladen] .lag-video-text,.lag-video[data-lag-geladen] .lag-video-knoepfe{display:none}
.lag-video[data-lag-geladen]{border:0;background:none;padding:0}

/*
 * `.lag-contacts` braucht `min-width:0`, weil es ein Flex-Kind ist.
 *
 * Auf „Ansprechpersonen finden" stand nach dem Aufklappen der Inhalt 400 px
 * breit in einem 375 px breiten Fenster — 43 px hingen rechts heraus. Die
 * Ursache lag nicht am Bild: die sieben Bezirkskarten tragen längst
 * `width:400px;max-width:100%`. Sie lag eine Ebene höher.
 *
 * Flex-Kinder haben von sich aus `min-width:auto` und schrumpfen deshalb
 * nicht unter die Mindestbreite ihres Inhalts. `.lag-contacts` ist ein
 * Flex-Kind, trug aber nicht die Klasse `lag-layout` und bekam damit nie das
 * `min-width:0`, das dort schon seit langem steht. So drückte die feste
 * Bildbreite von 400 px nach oben durch, und `max-width:100%` konnte nichts
 * halten: die 100 % bezogen sich auf genau diese aufgeblähten 400 px.
 *
 * Gemessen: mit der Regel bleibt bei 375 px nichts überstehen, die Karte
 * rechnet sich auf 339 px herunter. Bei 1280 px ändert sich nichts —
 * `.lag-contacts` 1140, Karte 400, Porträt 310, vor und nach der Regel
 * gleich. Deshalb gilt sie ohne Abfrage der Fensterbreite.
 *
 * Die übrigen acht Seiten wurden bei 375 px mit allen Klappfeldern geöffnet
 * gegengeprüft: kein Überstand.
 */
/*
 * Schulungskatalog der A&B Schulungsanmeldung.
 *
 * Das Plugin liefert eine zurückhaltende Grundgestaltung; hier bekommt sie das
 * Aussehen des Themes: runde Ecken, der Schatten der Kästchen, das Blau der
 * Marke. Steht das Plugin nicht bereit, greifen diese Regeln ins Leere.
 */
.abtr-katalog{margin-bottom:60px}
.abtr-katalog-filter{background:#fff;border-radius:20px;box-shadow:0 0 15px rgba(0,0,0,.15);padding:20px}
.abtr-katalog-filter label>span{font-weight:600;font-size:calc(18px * var(--lag-schrift,1))}
.abtr-katalog-filter input,.abtr-katalog-filter select{border:1.5px solid #000;border-radius:8px;font-size:calc(18px * var(--lag-schrift,1));padding:10px}
.abtr-katalog-filter__knoepfe button{background:#2E6DB9;color:#fff;border:0;border-radius:999px;padding:12px 28px;font-size:calc(18px * var(--lag-schrift,1));font-weight:600;cursor:pointer}
.abtr-katalog-filter__knoepfe button:hover,.abtr-katalog-filter__knoepfe button:focus{background:#24578f}
.abtr-katalog-eintrag{border:0;border-radius:20px;box-shadow:0 0 15px rgba(0,0,0,.15);padding:20px;background:#fff}
.abtr-katalog-eintrag h3,.abtr-katalog-eintrag h4{font-size:calc(24px * var(--lag-schrift,1));line-height:1.2}
.abtr-katalog-eintrag__daten{font-weight:600}
.abtr-katalog-knopf{display:inline-block;background:#2E6DB9;color:#fff;border-radius:999px;padding:10px 24px;text-decoration:none;font-weight:600}
.abtr-katalog-knopf:hover,.abtr-katalog-knopf:focus{text-decoration:underline}
.abtr-katalog-monat>h3{font-size:calc(28px * var(--lag-schrift,1))}
