/* TRNS – statischer Nachbau der Divi-Site trns-online.de (Werte am Original gemessen, 1720 px) */

@font-face { font-family: 'Lato'; font-style: normal; font-weight: 300; font-display: swap; src: url(../fonts/lato-300.woff2) format('woff2'); }
@font-face { font-family: 'Lato'; font-style: normal; font-weight: 400; font-display: swap; src: url(../fonts/lato-regular.woff2) format('woff2'); }
@font-face { font-family: 'Lato'; font-style: normal; font-weight: 700; font-display: swap; src: url(../fonts/lato-700.woff2) format('woff2'); }
@font-face { font-family: 'Roboto'; font-style: normal; font-weight: 300; font-display: swap; src: url(../fonts/roboto-300.woff2) format('woff2'); }
@font-face { font-family: 'Roboto'; font-style: normal; font-weight: 400; font-display: swap; src: url(../fonts/roboto-regular.woff2) format('woff2'); }
@font-face { font-family: 'Roboto'; font-style: normal; font-weight: 500; font-display: swap; src: url(../fonts/roboto-500.woff2) format('woff2'); }
@font-face { font-family: 'Roboto'; font-style: normal; font-weight: 700; font-display: swap; src: url(../fonts/roboto-700.woff2) format('woff2'); }
/* Icons: Divi-Iconfont, auf die 17 genutzten Zeichen reduziert */
@font-face { font-family: 'TRNS Icons'; font-style: normal; font-weight: 400; font-display: block; src: url(../fonts/trns-icons.woff2) format('woff2'); }

:root {
  --text: #666; --head: #333; --grau: #535353; --link: #2ea3f2;
  --blau: #0c71c3; --band: #237dc8; --hell: #fafafa; --hell2: #fcfcfc;
}

*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body { margin: 0; background: #fff; color: var(--text); font: 500 14px/1.7em 'Open Sans', Arial, sans-serif; -webkit-font-smoothing: antialiased; }
img { max-width: 100%; height: auto; vertical-align: top; border: 0; }
a { color: var(--link); text-decoration: none; }
p { margin: 0; padding-bottom: 1em; }
p:last-of-type { padding-bottom: 0; }
h1, h2, h3, h4, h5, h6 { margin: 0; padding-bottom: 10px; color: var(--head); font-weight: 500; line-height: 1em; }
h1 { font-size: 30px; } h2 { font-size: 26px; } h3 { font-size: 22px; } h4 { font-size: 18px; } h5 { font-size: 16px; } h6 { font-size: 14px; }
strong, b { font-weight: 700; }
ul, ol { margin: 0; }
.icon { font-family: 'TRNS Icons'; font-weight: 400; font-style: normal; speak: none; line-height: 1; display: inline-block; }

.container { width: 80%; max-width: 1080px; margin: 0 auto; position: relative; }
.section { padding: 54px 0; position: relative; }
.row { width: 80%; max-width: 1080px; margin: 0 auto; padding: 27px 0; position: relative; }
.row::after { content: ""; display: block; clear: both; }
.row.breit { width: 70%; max-width: none; }
.cols { display: flex; }
.cols > * { min-width: 0; margin-right: 5.5%; }
.cols > *:last-child { margin-right: 0; }
.c-1-2 { width: 47.25%; } .c-1-3 { width: 29.6667%; } .c-2-3 { width: 64.833%; } .c-1-4 { width: 20.875%; }
.c-2-5 { width: 36.7%; } .c-3-5 { width: 57.8%; }

/* ---------- Kopf ---------- */
.site-header { position: fixed; top: 0; left: 0; right: 0; z-index: 99; height: 80px; background: #fff; box-shadow: 0 1px 0 rgba(0,0,0,.1); font-family: 'Lato', sans-serif; transition: height .4s ease-in-out; }
.site-header .container { height: 100%; display: flex; align-items: center; justify-content: space-between; }
.logo { display: block; line-height: 0; }
.logo img { height: 43px; width: auto; max-height: none; transition: height .4s ease-in-out; }
.main-nav > ul { list-style: none; margin: 0; padding: 0; display: flex; }
.main-nav > ul > li { position: relative; padding-right: 22px; line-height: 14px; }
.main-nav > ul > li:last-child { padding-right: 0; }
.main-nav a { display: block; color: #020202; font-size: 18px; font-weight: 400; letter-spacing: 1px; line-height: 14px; padding: 33px 0 33px; transition: opacity .4s ease-in-out; }
.main-nav a:hover { opacity: .7; }
.main-nav a[aria-current="page"] { color: #595959; }
.main-nav .has-sub > a { padding-right: 20px; }
.main-nav .has-sub > a::after { content: "3"; font-family: 'TRNS Icons'; font-size: 16px; font-weight: 800; position: absolute; right: -2px; top: 33px; line-height: 14px; }
.main-nav .sub { list-style: none; margin: 0; padding: 20px 0; position: absolute; top: 80px; left: 0; width: 240px; background: #fff; border-top: 3px solid var(--blau); box-shadow: 0 2px 5px rgba(0,0,0,.1); visibility: hidden; opacity: 0; transition: opacity .2s; z-index: 9; }
.main-nav .has-sub:hover .sub, .main-nav .has-sub:focus-within .sub { visibility: visible; opacity: 1; }
.main-nav .sub li { padding: 0 20px; }
.main-nav .sub a { font-size: 18px; padding: 6px 20px; width: 200px; line-height: 1.6em; }
.nav-toggle { display: none; background: none; border: 0; padding: 0; cursor: pointer; color: var(--blau); }
.nav-toggle .icon { font-size: 32px; }
.site-header.scrolled { height: 66px; }
.site-header.scrolled .logo img { height: 36px; }
.site-header.scrolled .main-nav > ul > li > a { padding-top: 26px; padding-bottom: 26px; }
.site-header.scrolled .main-nav .has-sub > a::after { top: 26px; }
.site-header.scrolled .main-nav .sub { top: 66px; }
main { padding-top: 80px; }

/* ---------- Seitentitel-Band ---------- */
.page-title { padding: 40px 0; background: var(--hell); border-bottom: 1px solid rgba(51,51,51,.18); }
.page-title .container { padding: 5px 0; }
.page-title h1 { font-family: 'Roboto', sans-serif; font-size: 30px; font-weight: 300; line-height: 30px; color: var(--grau); text-transform: uppercase; }
.page-title.weiss { background: #fff; }
.page-title.zentriert h1 { text-align: center; }
.page-title.fett h1 { font-weight: 500; }

/* ---------- Buttons ---------- */
.btn { display: inline-block; position: relative; font-family: 'Roboto', sans-serif; font-size: 15px; font-weight: 500; line-height: 25.5px; color: #fff; padding: 10px 30px; border: 1px solid #fff; border-radius: 0; transition: all .3s; }
.btn::after { content: "5"; font-family: 'TRNS Icons'; font-size: 32px; line-height: 32px; position: absolute; right: 10px; top: 50%; margin-top: -16px; opacity: 0; transition: all .3s; }
.btn:hover { background: rgba(255,255,255,.2); border-color: transparent; padding-right: 44px; padding-left: 16px; }
.btn:hover::after { opacity: 1; }

/* ---------- Bestell-Band ---------- */
.band { background: var(--band); padding: 25px 0 2px; }
.band .cols { align-items: flex-start; }
.band-blurb { display: flex; align-items: flex-start; }
.band-blurb .icon { font-size: 60px; color: #fff; width: 60px; flex: none; }
.band-blurb h4 { padding: 0 0 10px 15px; font-family: 'Roboto', sans-serif; font-size: 19.6px; font-weight: 300; line-height: 49px; color: #fff; }
.band .knopf { text-align: right; margin-bottom: 21px; }

/* ---------- Fuss ---------- */
.site-footer { background: #222; }
.site-footer .unten { background: rgba(0,0,0,.32); padding: 15px 0 5px; }
.site-footer p { padding: 0 0 10px; color: #666; font-size: 14px; }
.site-footer a { color: #666; font-weight: 700; }
.nach-oben { position: fixed; right: 0; bottom: 125px; z-index: 50; padding: 5px; border-radius: 5px 0 0 5px; background: rgba(0,0,0,.4); color: #fff; font-size: 30px; line-height: 30px; text-align: center; opacity: 0; visibility: hidden; transition: opacity .4s; }
.nach-oben.sichtbar { opacity: 1; visibility: visible; }

/* ---------- Startseite ---------- */
.hero { position: relative; overflow: hidden; color: #fff; background: #000; }
.hero .slide { position: absolute; inset: 0; background-size: cover; background-position: 50% 50%; opacity: 0; transition: opacity 1s ease-in-out; }
.hero .slide.aktiv { opacity: 1; }
.hero::before { content: ""; position: absolute; inset: 0; z-index: 1; background: rgba(0,0,0,.34); }
.hero .inhalt { position: relative; z-index: 2; max-width: 832px; margin: 0 auto; padding: 0; }
.hero .beschreibung { padding: 16% 8%; text-align: center; }
.hero .kicker { font-family: 'Roboto', sans-serif; font-size: 25px; font-weight: 300; line-height: 25px; color: #fff; text-shadow: 0 2.5px 2.5px rgba(0,0,0,.4); padding-bottom: 10px; }
.hero .kicker a { color: #fff; }
.hero .titel { font-family: 'Roboto', sans-serif; font-size: 32px; font-weight: 500; line-height: 36px; color: #fff; text-shadow: 0 1.8px 1.8px rgba(0,0,0,.4); padding-bottom: 10px; }
.hero .text { font-family: 'Roboto', sans-serif; font-size: 18px; font-weight: 300; line-height: 23.8px; text-shadow: 0 1.8px 1.8px rgba(0,0,0,.4); }
.hero .mehr { display: inline-block; margin-top: 20px; font-size: 16px; line-height: 27.2px; padding: 4.8px 16px; border: 1px solid #fff; color: #fff; text-shadow: none; transition: all .3s; position: relative; }
.hero .mehr::after { content: "5"; font-family: 'TRNS Icons'; font-size: 25.6px; position: absolute; right: 6px; top: 50%; margin-top: -13px; opacity: 0; transition: all .3s; }
.hero .mehr:hover { background: rgba(255,255,255,.2); border-color: transparent; padding-right: 32px; padding-left: 8px; }
.hero .mehr:hover::after { opacity: 1; }
.punkte { position: absolute; left: 0; right: 0; bottom: 20px; z-index: 3; text-align: center; line-height: 7px; }
.punkte button { width: 7px; height: 7px; padding: 0; margin: 0 10px 0 0; border: 0; border-radius: 7px; background: rgba(255,255,255,.5); cursor: pointer; text-indent: -9999px; overflow: hidden; }
.punkte button:last-child { margin-right: 0; }
.punkte button.aktiv { background: #fff; }
.pfeil { position: absolute; top: 50%; z-index: 3; margin-top: -24px; font-family: 'TRNS Icons'; font-size: 48px; line-height: 48px; color: #fff; opacity: 0; transition: all .3s; background: none; border: 0; cursor: pointer; padding: 0; }
.slider:hover .pfeil { opacity: 1; }
.pfeil.zurueck { left: 22px; } .pfeil.weiter { right: 22px; }
.slider:hover .pfeil.zurueck { left: 22px; } .slider:hover .pfeil.weiter { right: 22px; }

.buch .cols { align-items: flex-start; }
.buch h3 { font-family: 'Roboto', sans-serif; font-size: 30px; font-weight: 300; line-height: 30px; color: #595959; margin-bottom: 20px; }
.buch h4 { font-family: 'Roboto', sans-serif; font-size: 18px; font-weight: 500; line-height: 18px; color: #595959; }
.buch .kopf { margin-bottom: 26px; }
.buch .lauftext p { font-family: Roboto; font-size: 17px; font-weight: 300; line-height: 26px; color: #000; padding-bottom: 17px; }
.buch .lauftext p:last-of-type { padding-bottom: 0; }

.themen { background: var(--hell); }
.themen .blurb { text-align: center; font-family: Roboto; font-size: 14px; font-weight: 300; line-height: 26px; color: #2d41cd; }
.themen .blurb .icon { font-size: 61px; line-height: 61px; color: var(--blau); margin-bottom: 30px; }
.themen .blurb h4 { font-family: 'Roboto', sans-serif; font-size: 18px; font-weight: 300; line-height: 18px; color: var(--blau); }

.trenner { width: 6%; max-width: 65px; margin: 0 auto; height: 23px; position: relative; }
.trenner::before { content: ""; position: absolute; top: 0; left: 0; right: 0; border-top: 2px solid var(--band); }
.trenner.schmal { width: 4%; max-width: 43px; }

.start-stellungnahmen { padding-bottom: 2px; }
.start-stellungnahmen .zentriert-kopf { padding-bottom: 2px; }
.start-stellungnahmen .zentriert-kopf h2 { font-size: 30px; line-height: 36px; text-align: center; color: #333; margin-bottom: 29.6875px; }
.karten { display: flex; flex-wrap: wrap; }
.karte { width: 29.6667%; margin: 0 5.5% 20px 0; padding: 19px; border: 1px solid #d8d8d8; background: #fff; }
.karte:nth-child(3n) { margin-right: 0; }
.karte h2 { font-size: 18px; line-height: 21.6px; padding-bottom: 10px; }
.karte h2 a { font-family: 'Roboto', sans-serif; font-weight: 300; color: #333; }
.karte .meta, .eintrag .meta { margin-bottom: 6px; padding-bottom: 0; }
.karte .meta a, .eintrag .meta a { color: #666; }
.weitere { text-align: center; padding-bottom: 0; }
.weitere a { text-transform: uppercase; color: var(--blau); }

.zahlen { background: var(--hell); padding: 54px 0 42px; margin-top: -1px; }
.zahlen .row { margin-bottom: -5px; margin-top: 1px; }
.zahl { display: flex; align-items: flex-start; font-family: Roboto; font-size: 14px; font-weight: 300; line-height: 26px; color: #2d41cd; }
.zahl .icon { font-size: 61px; line-height: 61px; color: var(--blau); width: 61px; flex: none; }
.zahl .text { padding-left: 15px; text-align: center; }
.zahl h4 { font-family: Roboto; font-size: 39px; font-weight: 700; line-height: 39px; color: var(--blau); text-align: left; }
.zahl h5 { font-family: 'Roboto', sans-serif; font-size: 18px; font-weight: 500; line-height: 18px; color: #333; }

/* ---------- Stellungnahmen-Uebersicht ---------- */
.liste { padding: 54px 0 3px; }
.liste .row { padding-bottom: 28px; }
.eintrag { margin-bottom: 60px; }
.eintrag h2 { font-size: 26px; line-height: 26px; }
.eintrag h2 a { font-family: 'Roboto', sans-serif; font-weight: 300; color: #333; }

/* ---------- Beitrag (Detailseite) ---------- */
.beitrag-bereich { position: relative; }
.beitrag-bereich .container { padding-top: 58px; }
.beitrag-bereich .container::before { content: ""; position: absolute; top: 0; right: 20.875%; width: 1px; height: 100%; background: #e2e2e2; }
.beitrag-links { width: 79.125%; padding: 0 5.5% 23px 0; }
.beitrag { padding-bottom: 25px; margin-bottom: 60px; }
.beitrag h1 { font-size: 30px; line-height: 30px; }
.beitrag .meta { padding-bottom: 15px; margin-bottom: 6px; }
.beitrag .meta a, .beitrag .meta span { color: #666; }
.inhalt-text ul, .inhalt-text ol { line-height: 26px; padding: 0 0 23px 1em; }
.inhalt-text ul { list-style-type: disc; }
.inhalt-text ol { list-style-type: decimal; list-style-position: inside; padding-left: 0; }
.inhalt-text ul ul { padding: 2px 0 2px 20px; } .inhalt-text ol ol { padding: 0 0 23px; }
.inhalt-text li ul { padding-bottom: 0; }
.inhalt-text blockquote { margin: 20px 0 30px; padding-left: 20px; border-left: 5px solid var(--link); }
.inhalt-text table { width: 100%; margin: 0 0 15px; border: 1px solid #eee; border-collapse: collapse; text-align: left; }
.inhalt-text td, .inhalt-text th { padding: 6px 24px; border-top: 1px solid #eee; max-width: 100%; text-align: left; }
.inhalt-text img { height: auto; }
.inhalt-text figure { margin: 0; }
.inhalt-text h1, .inhalt-text h2, .inhalt-text h3, .inhalt-text h4, .inhalt-text h5, .inhalt-text h6 { padding-top: 0; }

/* ---------- Die neue TRNS ---------- */
.dnt .row.text { margin-top: -30px; padding-top: 0; }
.dnt .einleitung { padding-top: 32px; line-height: 26.6px; color: #020202; }
.dnt .einleitung h2 { font-size: 26px; line-height: 26px; color: #333; }
.dnt .einleitung p { padding-bottom: 14px; }
.dnt .einleitung p:last-of-type { padding-bottom: 0; }
.rahmenbild { display: block; border: 1px solid #cecece; }

/* ---------- Ueber uns ---------- */
.uu-intro { background: var(--hell2); padding: 0 0 34px; }
.uu-intro .row.oben { padding: 59px 0 27px; }
.uu-intro .leitfrage { width: 60%; margin: 0 auto 29.6875px; text-align: center; font-size: 26px; line-height: 23.8px; color: #000; }
.uu-intro .leitfrage p { padding-bottom: 26px; }
.uu-intro .leitfrage p:last-of-type { padding-bottom: 0; }
.slider.bilder { position: relative; overflow: hidden; height: 512px; }
.slider.bilder .slide { position: absolute; inset: 0; background-size: cover; background-position: 50% 50%; opacity: 0; transition: opacity 1s ease-in-out; }
.slider.bilder .slide.aktiv { opacity: 1; }
.slider.bilder .punkte { bottom: 37px; }

.akkordeon { font-family: Roboto; font-size: 14px; font-weight: 300; line-height: 26px; color: var(--grau); margin-bottom: -17px; }
.akkordeon details { background: #fff; padding: 20px; border: 1px solid rgba(100,107,88,.28); margin-bottom: 29.6875px; }
.akkordeon details:last-child { margin-bottom: 0; }
.akkordeon summary { list-style: none; cursor: pointer; position: relative; padding-right: 50px; font-family: Roboto; font-size: 20px; font-weight: 500; line-height: 20px; color: #000; }
.akkordeon summary::-webkit-details-marker { display: none; }
.akkordeon summary::before { content: "\e050"; font-family: 'TRNS Icons'; font-size: 16px; line-height: 16px; color: #333; position: absolute; right: 0; top: 50%; margin-top: -8px; }
.akkordeon details[open] summary::before { content: "\e04f"; }
.akkordeon .inhalt { padding-top: 20px; font-size: 19px; font-weight: 300; line-height: 26px; color: #000; }
.akkordeon .inhalt p { padding-bottom: 1em; }
.akkordeon .inhalt p:last-of-type { padding-bottom: 0; }

.uu-text { font-size: 16px; font-weight: 400; line-height: 26px; color: #000; }
.uu-text p { padding-bottom: 16px; }
.uu-text p:last-of-type { padding-bottom: 0; }
.uu-text h4 { font-family: 'Roboto', sans-serif; font-size: 21px; font-weight: 600; line-height: 21px; letter-spacing: 1px; color: var(--grau); }
.uu-text.roboto { font-family: Roboto; }
.uu-geschichte { margin-bottom: -1px; }
.uu-geschichte .row { margin: 19px auto; padding: 46px 0 23px; }
.uu-geschichte h4 { font-size: 26px; font-weight: 500; line-height: 26px; color: #e02b20; }
.uu-verein { background: var(--hell2); margin-top: -37px; }
.uu-verein .row { margin-top: 50px; padding: 63px 0 12px; }
.uu-verein ol { padding: 0 0 16px 1em; list-style-position: inside; padding-left: 0; }
.uu-verein ol ol { padding: 2px 0 2px 35px; }
.uu-mitglieder { padding: 11px 0 0; }
.uu-mitglieder .row.kopf { margin: 9px auto -49px; padding: 30px 0 27px; }
.uu-mitglieder .row.kopf h4 { font-size: 26px; font-weight: 500; line-height: 26px; text-align: center; }
.uu-mitglieder .row.reihe1 { padding: 57px 0 1px; }
.uu-mitglieder .row.reihe2 { padding: 27px 0 44px; }
.person img { display: block; width: 100%; aspect-ratio: 304 / 458; object-fit: cover; margin-bottom: -1px; }
.person details { background: var(--band); padding: 20px; border: 1px solid #d9d9d9; }
.person summary { list-style: none; cursor: pointer; position: relative; padding-right: 50px; font-size: 16px; line-height: 16px; color: #fff; font-weight: 500; }
.person summary::-webkit-details-marker { display: none; }
.person summary::before { content: "\e050"; font-family: 'TRNS Icons'; font-size: 16px; line-height: 16px; color: #333; position: absolute; right: 0; top: 50%; margin-top: -8px; }
.person details[open] summary::before { content: "\e04f"; }
.person .inhalt { padding-top: 20px; color: #fff; }
.person .inhalt a { color: #fff; }
.uu-mittel { background: var(--hell2); }
.uu-mittel .row { padding: 32px 0 30px; }
.uu-mittel .vorstand { line-height: 2em; }
.uu-ausblick .row { padding: 39px 0 32px; }
.uu-daten { background: var(--hell2); padding: 0 0 54px; }
.uu-daten .row.kopf { padding: 62px 0 27px; }
.uu-daten .row.liste-daten { padding: 27px 0 85px; }
.uu-daten .akkordeon .inhalt { padding-top: 20px; }

/* ---------- Team-Detail ---------- */
.team .row { display: flex; }
.team .foto { width: 36.7%; margin-right: 5.5%; background-size: cover; background-position: 50% 50%; min-height: 523px; align-self: flex-start; }
.team .daten { width: 57.8%; }
.team .daten h3.name { font-size: 30px; font-weight: 300; line-height: 30px; color: #333; margin-bottom: 29.6875px; }
.team .daten h3 { font-size: 22px; font-weight: 300; line-height: 22px; }
.team .daten h3.name a { color: #333; }
.team table { width: 100%; margin: 0 0 15px; border: 1px solid #eee; border-collapse: collapse; }
.team td { padding: 6px 24px; border-top: 1px solid #eee; vertical-align: middle; }

/* ---------- Kontakt ---------- */
.kontakt-kopf h2 { font-size: 30px; font-weight: 300; line-height: 51px; letter-spacing: 4px; text-transform: uppercase; color: #333; text-align: center; margin-bottom: 29.6875px; }
.kontakt-kopf .row.oben { padding-bottom: 27px; }
.kontakt-kopf .row.boxen { padding-top: 27px; }
.kbox { border: 1px solid #d8d8d8; padding: 29px 28px 28px; font-family: Roboto; font-size: 16px; font-weight: 300; line-height: 28.8px; color: var(--grau); display: flex; align-items: flex-start; }
.kbox .icon { font-size: 67px; line-height: 67px; color: var(--blau); width: 67px; flex: none; position: relative; top: -5px; }
.kbox .icon.schmal { width: auto; }
.kbox p { padding-left: 15px; }
.kontakt-form { background: var(--hell); padding: 54px 0 57px; }
.kontakt-form .cols { align-items: flex-start; }
.kontakt-form form { font-family: Roboto; font-size: 14px; font-weight: 300; line-height: 26px; color: var(--grau); }
.kontakt-form .feld { margin: 0 0 15.7656px; }
.kontakt-form input, .kontakt-form textarea { display: block; width: 100%; margin: 0; padding: 16px; border: 1px solid #d1d1d1; border-radius: 0; background: #fff; font: 400 14px Roboto; color: #999; -webkit-appearance: none; }
.kontakt-form input { height: 50px; }
.kontakt-form textarea { height: 150px; resize: vertical; }
.kontakt-form ::placeholder { color: #757575; opacity: 1; }
.kontakt-form .error { border-color: #e02b20; }
.kontakt-form .dsgvo { padding-bottom: 0; margin-bottom: 15.7656px; }
.kontakt-form .dsgvo strong { display: block; font-weight: 600; margin-bottom: 7px; }
.kontakt-form .dsgvo a { color: var(--grau); font-weight: 700; text-decoration: underline; }
.kontakt-form .absenden { text-align: right; margin-top: -7.875px; }
.kontakt-form button { font-family: Roboto; font-size: 19px; font-weight: 500; line-height: 32.3px; color: #fff; background: #0b74c4; padding: 5.7px 19px; border: 0; border-radius: 1px; cursor: pointer; height: 48px; }
.form-message { color: #e02b20; padding-bottom: 10px; }
.karte-statisch { position: relative; display: block; height: 500px; background: #ddd url(../img/karte-trns-quakenbrueck.jpg) 50% 50% / cover no-repeat; }
.karte-statisch .hinweis { position: absolute; left: 50%; bottom: 20px; transform: translateX(-50%); background: #fff; color: var(--blau); font-family: Roboto; font-size: 15px; font-weight: 500; line-height: 22px; padding: 8px 16px; border-radius: 3px; box-shadow: 0 1px 4px rgba(0,0,0,.25); white-space: nowrap; }
.karte-statisch .osm { position: absolute; right: 0; bottom: 0; background: rgba(255,255,255,.8); color: #333; font-size: 11px; line-height: 16px; padding: 0 5px; font-weight: 400; }

/* ---------- Rechtstexte ---------- */
.legal .row { padding: 27px 0; }
.legal { padding: 54px 0; }

/* ---------- Responsive (Divi-Umbrueche 980 / 767 / 479) ---------- */
@media (max-width: 980px) {
  .site-header { position: relative; height: auto; }
  main { padding-top: 0; }
  .site-header .container { height: 80px; }
  .logo img { height: 21px; }
  .nav-toggle { display: block; }
  .main-nav { display: none; position: absolute; top: 80px; left: 0; right: 0; background: #fff; border-top: 3px solid var(--blau); box-shadow: 0 2px 5px rgba(0,0,0,.1); padding: 5%; z-index: 9999; }
  .main-nav.open { display: block; }
  .main-nav > ul { display: block; }
  .main-nav > ul > li { padding: 0; }
  .main-nav a { padding: 10px 5%; font-size: 14px; font-weight: 600; letter-spacing: 1px; line-height: 1.6em; border-bottom: 1px solid rgba(0,0,0,.03); color: #020202; }
  .main-nav .has-sub > a::after { display: none; }
  .main-nav .sub { position: static; visibility: visible; opacity: 1; border: 0; box-shadow: none; padding: 0; width: auto; }
  .main-nav .sub li { padding: 0; }
  .main-nav .sub a { width: auto; padding-left: 10%; font-size: 14px; }
  .site-header.scrolled { height: auto; }
  .section { padding: 50px 0; }
  .row { padding: 30px 0; }
  .cols { flex-wrap: wrap; }
  .cols > * { width: 100%; margin-right: 0; margin-bottom: 30px; }
  .cols > *:last-child { margin-bottom: 0; }
  .themen .cols > *, .zahlen .cols > * { width: 47.25%; margin-right: 5.5%; }
  .themen .cols > *:nth-child(2n), .zahlen .cols > *:nth-child(2n) { margin-right: 0; }
  .karte { width: 47.25%; } .karte:nth-child(3n) { margin-right: 5.5%; } .karte:nth-child(2n) { margin-right: 0; }
  .beitrag-links { width: 100%; padding-right: 0; }
  .beitrag-bereich .container::before { display: none; }
  .team .row { display: block; }
  .team .foto { width: 100%; margin: 0 0 30px; }
}
@media (max-width: 767px) {
  .themen .cols > *, .zahlen .cols > *, .karte { width: 100%; margin-right: 0; }
  .hero .kicker { font-size: 25px; }
  .hero .titel { font-size: 28px; line-height: 36px; }
  .band .knopf { text-align: center; }
  .kontakt-kopf h2 { font-size: 26px; }
}
.sr { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.akkordeon details[open] summary::before { display: none; }
/* Kontakt-Feinmaße (gemessen) */
.kbox { padding: 28px; }
.kbox:nth-child(2) { padding-right: 0; }
.kbox:nth-child(3) { padding-left: 0; padding-right: 0; }
.kontakt-form .feld { padding-bottom: 0; }
.kontakt-form .row { padding-top: 23px; }
.inhalt-text { padding-top: 30px; }
.team h3 { font-family: 'Open Sans', sans-serif; }
.legal ul, .legal ol { line-height: 26px; padding: 0 0 1em 1em; }
/* Feinabgleich nach Mobil-Messung (390 px) */
.hero { padding: 0 6%; }
.themen .blurb.extra { padding-bottom: 28px; }
.zahl .text { flex: 1; }
@media (max-width: 980px) {
  .row.breit { width: 80%; }
  .logo { max-width: 50%; }
  .logo img { height: auto; width: 100%; }
  .site-header .container { height: 80px; }
  .buch .kopf { margin-bottom: 26px; }
  .themen .row, .zahlen .row { padding-bottom: 0; }
  .themen .cols > *, .zahlen .cols > * { margin-bottom: 30px; }
  .hero .kicker { font-weight: 500; }
  .karte h2 { font-size: 16px; line-height: 19.2px; padding-bottom: 0; }
  .band .cols > * { margin-bottom: 30px; }
}
@media (max-width: 980px) { .themen .cols > *:last-child, .zahlen .cols > *:last-child, .band .cols > *:last-child { margin-bottom: 0; } }
.weitere { padding-top: 20px; }
@media (max-width: 980px) {
  .zahlen { padding-bottom: 42px; }
  .zahlen .row { padding-bottom: 30px; }
  .band .cols > .knopf { margin-bottom: 21px; }
  .site-footer p { padding-top: 5px; }
}
@media (max-width: 980px) {
  .page-title h1 { text-align: center; }
  .team .daten { width: 100%; }
  .team .foto { min-height: 523px; margin-bottom: 30px; }
}
@media (max-width: 767px) {
  .liste .eintrag { margin-bottom: 42px; }
  .liste .eintrag h2 { font-size: 16px; line-height: 16px; padding-bottom: 3px; }
}
@media (max-width: 980px) {
  .uu-intro .row.oben { padding-bottom: 30px; }
}
@media (max-width: 980px) { .start-stellungnahmen { padding-bottom: 2px; } .liste { padding-bottom: 3px; } }
@media (max-width: 980px) { .akkordeon details { margin-bottom: 10px; } }
.uu-mittel .vorstand p { line-height: 26px; }
@media (max-width: 980px) {
  .uu-mitglieder .row.kopf { padding-bottom: 30px; }
  .uu-mitglieder .row.reihe2 { padding-top: 30px; }
  .uu-mitglieder .c-1-3:empty { display: none; }
}
@media (max-width: 980px) { .beitrag { margin-bottom: 42px; } .beitrag-links { padding-bottom: 0; } }
@media (max-width: 767px) { .band .btn { font-size: 21px; line-height: 35.7px; } }
@media (max-width: 980px) { .band .knopf { text-align: center; } .band-blurb { max-width: 550px; margin: 0 auto; } }
.kontakt-form .feld { margin-bottom: calc(3% + 0.5px); }
@media (min-width: 768px) and (max-width: 980px) {
  .themen .cols > *:nth-last-child(-n+2), .zahlen .cols > *:nth-last-child(-n+2) { margin-bottom: 0; }
}
.themen .row { padding-bottom: 0; }
.beitrag-links { word-wrap: break-word; overflow-wrap: break-word; }
.uu-verein .c-1-2 + .c-1-2 { padding-bottom: 10px; }
