/* koepfe.css
 * Zusammengeführt aus: koepfe-neu.css, koepfe-forms.css,
 *                      koepfe-termine.css, koepfe-wahl.css
 * Eingebunden auf allen koepfe/-Seiten via koepfe/includes/head-koepfe.php
 * (bzw. direkt in koepfe/wahl.php). */


/* =1. Koepfe-Kern (ehemals koepfe-neu.css)
--------------------------------------------------------------------------------------------------------*/

.epo-intro.black-text a {
    background-color: #f5f5f5;
    padding: 10px;
}

#main-nav ul {
    padding-left: 17px;
    padding-top: 36px;
}

/* Juni 2022 */

.tile-2 p {
    font-size: 20px !important;
}

.outline p {
    font-size: 16px !important;
}

#content2 {
    font-weight: 500; /* Zitate gefettet */
}


.fancybox__content {
    padding: 10px 5px 10px 10px;
}

/* April 2021 */


.koepfe-start h2 {
    font-size: 23px;
    line-height: 29px;
    margin-bottom: 18px;
}

.header-teaserbox {
    font-size: 20px !important;
    line-height: 26px !important;
    margin-top: 0;
    margin-bottom: 10px !important;
}

.koepfe-start h4 {
    font-size: 18px;

}

.koepfe-start p {
    font-size: 16px;
}

.tile-5 h2, .tile-5 h4 {
    color: #fff;
    font-weight: 300;
}


.boxed.bottom {
    top: auto;
    bottom: 0;
    padding: 20px;
}


@media screen and (max-width: 768px) {
    .koepfe-start h2 {
        font-size: 18px;
    }

    .koepfe-start h4 {
        font-size: 16px;
    }

    .boxed.bottom {
        padding: 5px 15px;
    }

    .grey-bg.outline.bgkachel {
        background: url(/sttic/img/hg-rg-mobil.png) no-repeat;
    }
}

/* Kachel: Über das Projekt */

.social-list.custom li a i {
    top: 10px
}


/* Globale Koepfe-Resets: waren vor dem Merge in koepfe-neu.css bzw.
 * page-übergreifend aktiv. ul: verhindert Browser-Bullets in Nav und
 * Kacheln auf allen Koepfe-Seiten. h2: Eventkafel-Größe (ursprünglich
 * koepfe-termine.css), wird auf termine.php durch body.koepfe-termine h2
 * überschrieben – auf anderen Seiten verhindert es 36px-Sprünge. */
ul {
    list-style-type: none;
}

h2 {
    font-size: 21px;
    line-height: 22px;
}

#content {
    margin-top: 50px
}

.hero {
    position: relative;
    width: 100%;
    height: 350px;
    margin-top: 20px;
    padding-top: 65px;
    overflow: visible;
    background: linear-gradient(to right, #949494 0%, #131313 63%);
    background-clip: content-box;
}

.hero-inner {
    width: 1460px;
    margin: 0 auto;
}

.hero .image {
    width: 900px;
    height: auto;
    float: left;
    margin-top: -90px;
}

.hero .hero-text {
    width: 440px;
    float: left;
    margin-left: 60px;
	margin-top: 20px;
}

.hero .hero-text a {
    color: #f00
}

.hero-text h3 {
    padding: 32px 0 8px;
    font-size: 36px;
    line-height: 44px;
}

.hero-text h4 {
    font-size: 20px;
    line-height: 28px;
    font-family: 'Alegreya Sans', sans-serif;
    font-weight: 400;
	margin-top: 10px;
}

.koepfe-start .has-search .form-control {
    margin-top: 0;
    margin-left: 20px;
}

.rollover {
    position: absolute;
}

.epo-icons, .epo-intro {
    width: 100%;
    position: relative;
    clear: both;
    padding-top: 5px;
    margin: 0 auto;
}

.epo-icons .arrow {
    margin-left: 40px;
    border-color: transparent transparent #fecc16;
    margin-top: -20px;
    z-index: 100;
}

.epo-icons .rollover {
    display: none;
    margin-top: 30px;
    background-color: #fecc16;
    padding: 15px 12px;
    position: relative;
    z-index: 99;
    color: #000;
    font-size: 14px;
    line-height: 18px;
}

p.epo-intro {
    font-size: 22px;
    color: #000;
    margin: 50px 0 0;
    font-weight: 400;
    padding: 15px 0 5px
}

.e-icon {
    width: 130px;
    float: left;
    margin-right: 20px;
}

.e-text {
    background: #f5f5f5;
    width: 130px;
    line-height: 35px;
    text-align: center;
    color: #000;
    font-size: 18px !important;
    padding: 0;
}

.koepfe-start .image-wrapper {
    max-height: 440px;
}

/* Header-Inner-Width: vorher inline `style="padding:0; width:1200px"` in
 * includes/nav-koepfe.php. Inline-1200px im sticky Header sprengt auf iOS
 * Safari den Viewport und blockiert dort das vertikale Scrollen. */
.header-koepfe .header-inner {
    padding: 0;
}

@media only screen and (min-width: 769px) {
    .header-koepfe .header-inner {
        width: 1200px;
    }
}

/* Desktop-Width/Height fuer den Isotope-Container der Koepfe-Startseite.
 * War vorher inline (`style="width:1200px; height:685px"`) auf 3 Stellen in
 * koepfe/index.php – das hat auf iOS Safari mobil das vertikale Scrollen
 * blockiert, weil der 1200px-Container weit ueber den Viewport hinausragte
 * und Isotope die Tiles ausserhalb der scrollbaren Flaeche platzierte.
 * Auf Mobile uebernimmt die Layout-Logik der .tile-1/.tile-2-Media-Queries. */
@media only screen and (min-width: 769px) {
    body.koepfe-start #container {
        width: 1200px;
        height: 685px;
    }
}

.tile-1 {
    height: 440px;
}

.hero .zoom-in {
    max-height: 480px;
    padding: 15px
}

.ico {
    cursor: pointer
}

@media only screen and (max-width: 768px) {
    .desktop {
        display: none;
    }

    #content {
        margin-top: 0
    }

    .hero {
        /* Auf Mobile NICHT die Desktop-Logik (Bild floatet -90px nach oben
         * raus, .hero overflow:hidden schneidet das obere Drittel ab). Hier
         * sitzt das Bild normal im Fluss, daher height:auto + ausreichend
         * padding-top fuer Atem-Raum. */
        height: auto;
        padding-top: 30px;
        background: linear-gradient(to bottom, #949494 0%, #131313 63%);
        background-clip: content-box;
    }

    .hero .image, .hero-inner, .hero .hero-text, .epochentext {
        width: 100%;
        /* margin-top:-90px + float:left aus Desktop deaktivieren, sonst
         * Top-Crop am Hero (overflow:hidden in .hero, Z.127). */
        margin-top: 0;
        float: none;
    }

    .hero .zoom-in {
        max-height: 480px;
        padding: 0 20px 0 0
    }

    .hero .hero-text {
        margin: 0;
        padding: 0 20px;
        text-align: center;
    }

    .hero-text h3 {
        padding-top: 0;
        font-size: 24px;
        line-height: 1.25em;
    }

    .drop-nav.mobile {
        margin: 120px auto;
        right: 25%;
        width: 200px
    }

    .epochenwahl {
        display: none;
        position: relative;
        top: -25px;
        z-index: 999;
        background-color: #fff
    }

    .epochentext {
        color: #000;
        padding: 20px;
        font-size: 18px;
        text-align: center
    }

    .epo-icons {
        z-index: 99;
        margin-top: 40px;
        width: 75%;
    }

    .e-icon {
        width: 40%;
    }

    .e-text {
        width: 120px;
    }

    .drop-nav.demgesch, .hoverhelp {
        display: none;
    }

    .submenu .logo, .submenu .desc {
        display: none;
    }

    .submenu {
        padding: 0 !important;
    }

    .with-padding {
        padding: 15px 10px 0;
    }

    .koepfe-logo {
        margin-top: 0;
        max-width: 150px;
    }
}

@media only screen and (min-width: 769px) {
    .mobile, .hoverhelp {
        display: none;
    }
}

ul.submenu {
    position: absolute !important;
    background-color: #f5f5f5;
    box-shadow: 0 20px 20px 0 rgba(0, 0, 0, 0.4);
    margin: 40px -100em !important;
    display: none;
    top: 35px
}

.sub-menu-items li {
    border: 1px solid #d6d6d6;
}

.submenu .items, .submenu .logo, .submenu .desc {
    float: left !important;
    color: #000;
}

.submenu .items {
    width: 28%;
    padding: 0 0 20px !important;
}

.submenu .logo {
    width: 20%;
    padding: 15px 0 0 40px !important;
}

.submenu .desc {
    width: 40%;
    padding: 30px 20px !important;
}

.submenu .logo img {
    max-width: 100%
}

.items li {
    border-bottom: 1px solid #d6d6d6
}

.arrow {
    position: absolute;
    border-color: transparent transparent #f5f5f5;
    border-style: solid;
    border-width: 20px;
    width: 0;
    height: 0;
    display: none;
}

#koepfe .arrow {
    margin-left: 40px;
    margin-top: 0;
}

#mitmachen .arrow {
    margin-top: 0;
}

.submenu p, .submenu li {
    font-size: 19px;
    line-height: 28px;
}

.hoverhelp {
    width: 125%;
    height: 40px;
    margin-left: -10px;
}

p.e-text.active, p.e-text.selected {
    color: #fff;
    background: #f00;
}

.outline.gold {
    background-color: #fff !important;
    border: 1px solid #fecc16;
}

.drop-nav.demgesch .hoverhelp {
    width: 200px !important;
}

.drop-nav.demgesch ul {
    margin-top: 19px;
    position: absolute;
    border-radius: 10px;
}

.drop-nav.demgesch ul a {
    color: #000;
}

.drop-nav.demgesch ul a:hover {
    color: #e20024 !important;
}


/* Koepfe-Sub-Nav (vorher inline in includes/nav-koepfe.php) */
.drop-nav {
    position: absolute;
    right: 35px;
    top: 15px;
    width: 280px;
    height: 40px;
    padding: 6.9px 27.1px 7.1px 30px;
    margin-bottom: 4px;
    border-radius: 20px;
    background-color: #f5f5f5;
    color: #000;
    cursor: pointer;
    z-index: 99;
}

.drop-nav i {
    color: #000;
    padding-left: 8px;
}

.drop-nav .start {
    line-height: 30px;
}

.drop-nav ul {
    background-color: #f5f5f5;
    list-style-type: none;
    padding: 30px;
    font-size: 16px;
    line-height: 1.63em;
    width: 280px;
    margin: 0 30px 0 -30px;
    display: none;
    letter-spacing: 0.2px;
}

.drop-nav ul li {
    padding: 0 0 12px;
    line-height: 1.3;
}

#secondary {
    display: none;
}

#primary {
    width: 100%;
}

.drop-nav.demgesch .arrow {
    margin-top: -20px;
}

.submenu_inner {
    width: 1200px;
}

@media only screen and (min-width: 769px) {
    [aria-current="notdesktop"] {
        pointer-events: none;
        cursor: default;
        text-decoration: none;
        color: black;
    }
}


/* Koepfe-Detail-Page (vorher inline in koepfe/eintrag.php) */
.imgcredit-left {
    position: relative;
    bottom: 0;
    margin-top: -40px;
}

a.red {
    color: #E51B20;
    text-decoration: none;
}

#content .tile-1 p,
#content .tile-1 h4 {
    text-align: left;
}

span.h4 {
    font-size: 20px;
    margin-bottom: 20px;
    display: block;
}


/* Mobile-Layout fuer die Koepfe-Index-Pages */
@media only screen and (max-width: 668px) {
    .nomobile {
        display: none;
    }

    /* #container braucht auf Mobile width:100% / height:auto - sonst hat er
     * gar keine Breite (Desktop-Regel greift erst @min-width:769px) und
     * Isotope kann das Tile-Grid nicht korrekt rechnen → einspaltiges Layout
     * statt zweispaltig. Auf Live war das vorher per inline 1200px erzwungen,
     * was Isotope eine Container-Breite gab (auch wenn die ueber den Viewport
     * hinausragte). Sauber: Mobile = 100%. */
    body.koepfe-start #container {
        width: 100%;
        height: auto;
    }

    .tile-1 {
        width: calc(50% - 20px);
        height: 280px;
    }

    .grey-bg .parent {
        position: absolute;
    }

    .tile-1 p {
        line-height: 1.2;
        font-size: 14px;
    }

    .image-wrapper {
        min-height: 9px;
    }

    .image-wrapper.about {
        position: absolute;
        bottom: 0;
    }

    .koepfe-start h2 {
        line-height: 22px;
        margin-bottom: 10px;
    }

    .header-teaserbox {
        font-size: 18px !important;
        line-height: 22px !important;
    }

    .element.epochenwahl.mobile {
        background-color: #f5f5f5;
    }

    .drop-nav.mobile i.fa {
        right: 10px;
        position: absolute;
        top: 12px;
    }

    #theLoad {
        position: relative;
        margin-top: 10px;
    }
}


/* =2. Koepfe-Forms (ehemals koepfe-forms.css)
 * Seiten: neuer-kopf-vorschlag, -liste, -diskussion; alter-kopf-diskussion
 * Body-Klasse: "single-page contact koepfe" → Scope: body.contact
--------------------------------------------------------------------------------------------------------*/

body.contact form p {
    padding-top: 20px;
}

body.contact input[type="text"],
body.contact input[type="email"],
body.contact textarea,
body.contact input[type="submit"] {
    width: 80%;
    padding: 12px;
    color: #333 !important;
    background-color: #eee;
}

body.contact input[type="submit"] {
    color: #333;
    margin-top: 40px;
}

body.contact ul {
    list-style-type: none;
}

body.contact .pro,
body.contact .kontra {
    width: 70%;
    clear: both;
}

body.contact .kontra {
    text-align: right;
    right: 0;
    float: right;
}

/* "Danke fuer den Beitrag"-Overlay */
body.contact .danke {
    position: absolute;
    width: 100%;
    height: 50%;
    background-color: #fff;
    color: #333;
    margin: 200px auto;
    z-index: 999;
    text-align: center;
}

body.contact .danke h3 {
    font-size: 36px;
}

body.contact .danke p {
    font-size: 22px;
}

/* In .child.with-padding.centered-Containern (alter-kopf-diskussion.php,
 * neuer-kopf-diskussion.php, neuer-kopf-vorschlag.php) sollen p/h4 zentriert
 * sein. #content .tile-1 p { text-align: left } (Section 1, Spez. 0,1,1,1)
 * schlaegt sonst .centered (0,0,1,0). Diese Regel hat 0,2,2,1 und stellt die
 * Zentrierung wieder her – nur in body.contact, damit eintrag.php-Kacheln
 * (z.B. Schlagworte/Zitate/Links) weiterhin links ausgerichtet bleiben. */
body.contact #content .tile-1 .centered p,
body.contact #content .tile-1 .centered h4 {
    text-align: center;
}

/* Sticky Pro/Kontra-Header in Diskussions-Forms (Desktop)
 *
 * FIXME: Pre-existing-Bug! Das JS in neuer-/alter-kopf-diskussion.php fuegt
 * beim Scrollen die Klassen 'fixed1111' / 'fixed2222' (4 Einsen) hinzu,
 * waehrend dieses CSS auf '.fixed1' / '.fixed2' (1 Eins) zielt. Diese
 * Regeln waren also nie aktiv. Beim Refactor literal portiert; ob die JS
 * die CSS angleicht oder umgekehrt, ist eine inhaltliche Entscheidung. */
@media only screen and (min-width: 1100px) {
    body.contact .fixed1 {
        position: fixed;
        top: 120px;
        z-index: 1;
        margin: 0;
        transform: translateX(-50%);
        right: 20px !important;
    }

    body.contact .fixed2 {
        position: fixed;
        top: 550px;
        z-index: 1;
        margin: 0 auto 0 905px;
    }
}


/* =3. Koepfe-Termine (ehemals koepfe-termine.css)
 * Seite: koepfe/termine.php
--------------------------------------------------------------------------------------------------------*/

body.koepfe-termine h3.datum {
    width: 250px;
    height: 22px;
    margin: 0 0 7px;
    font-size: 16px;
    font-weight: 500;
    line-height: 1.38;
    color: #e51b20;
    font-family: "Alegreya Sans", sans-serif;
}

body.koepfe-termine h2 {
	font-size: 21px;
	line-height: 22px;
}

body.koepfe-termine p i.fa {
    color: #e51b20;
}

body.koepfe-termine p.front {
    font-size: 16px;
}

body.koepfe-termine .fktkchl .image-wrapper {
    max-height: 440px;
    border: none;
}

body.koepfe-termine .front p img,
body.koepfe-termine .back p img {
    width: 12px;
    float: left;
    margin-right: 6px;
}

body.koepfe-termine #jahre {
    margin-top: 20px;
}

body.koepfe-termine #jahre li {
    float: left;
    padding: 4px 24px;
    background-color: #f5f5f5;
    list-style-type: none;
    margin-right: 12px;
    font-size: 18px;
}

body.koepfe-termine #jahre li a {
    color: #000;
}

body.koepfe-termine #jahre li:hover {
    background-color: #ff0200;
}

body.koepfe-termine #jahre li:hover > a {
    color: #FFF;
}

body.koepfe-termine #jahre .selected {
    background-color: #ff0200;
}

body.koepfe-termine .kachellinks {
    position: absolute;
    bottom: 50px;
    width: calc(100% - 30px);
}

/* overflow: hidden auf der Rueckseite verhindert, dass besonders lange
 * Beschreibungen unter die Kachel hinausragen (Belt-and-Suspenders neben
 * der PHP-Truncation in termine.php). */
body.koepfe-termine .back .grey-bg.outline {
    overflow: hidden;
}

/* Rueckseite: .kachellinks bekommt
 *   - Hintergrund + z-index: deckt eventuell ueberlaufende Beschreibung
 *     (z.B. Adorno mit Untertitel + lang Description) optisch ab.
 *     PHP-Truncation regelt den Inhalt, dieser CSS-Mantel das visuelle Restrisiko.
 *   - padding-top: Atemraum oberhalb der Adresszeile.
 *   - left/right: gleiche horizontale Begrenzung wie .with-padding oben in
 *     der Kachel (15px), damit z.B. lange Adressen nicht weiter nach rechts
 *     gehen als der Titel-Text darueber. */
body.koepfe-termine .back .kachellinks {
    left: 20px;
    right: 20px;
    width: auto;
    background-color: #f5f5f5;
    z-index: 1;
    padding-top: 8px;
}

/* Layout-Umbau Rueckseite (siehe Kommentar in termine.php zu $kachelbutton):
 *   1. Pluslink an exakt der gleichen Position wie auf der Vorderseite –
 *      unten rechts in der Kachelecke (bottom: -30px relativ zu .kachellinks
 *      mit kachellinks bottom:50 → Icon endet 20px ueber Kachelboden).
 *   2. Der "ZUR VERANSTALTUNG"-Button ist nicht mehr Teil von .kachellinks,
 *      sondern absolut am unteren Kachel-Rand verankert. So fuellt er den
 *      vorher leeren Bereich zwischen Datum und Pluslink. Button links,
 *      Pluslink rechts – beide am Kachelboden. */
body.koepfe-termine .back .pluslink {
    top: auto;
    bottom: -30px;
    right: 10px;
}

body.koepfe-termine .back .kachelbutton {
    position: absolute;
    bottom: 16px;
    left: 20px;
}

body.koepfe-termine .image-wrapper img {
    filter: brightness(90%) saturate(120%) contrast(120%);
}


/* =4. Koepfe-Wahl (ehemals koepfe-wahl.css)
 * Seite: koepfe/wahl.php
--------------------------------------------------------------------------------------------------------*/

body.koepfe-wahl .overlay {
    border: 2px solid #aaa;
}

body.koepfe-wahl .overlay .name {
    background-color: #ffffffc2;
    padding: 5px 10px;
    border: 1px solid #ccc;
    font-size: 18px;
    color: #333;
    position: absolute;
    bottom: 0;
    text-align: right;
    width: 100%;
    font-weight: 400;
}

body.koepfe-wahl .head {
    width: 90%;
    background-color: #333;
    padding: 20px;
    border-radius: 3px;
    color: #fff;
    display: none;
}

body.koepfe-wahl .head h2 {
    font-size: 30px;
    color: #fff !important;
}

body.koepfe-wahl .head p {
    color: #fff;
}

body.koepfe-wahl .wahlkopf {
    width: 250px;
    height: 220px;
    float: left;
    padding: 0 20px 20px 0;
}

body.koepfe-wahl .tile-2a {
    position: relative;
    float: left;
    width: 65%;
}

body.koepfe-wahl .tile-2b {
    position: relative;
    float: right;
    width: 34%;
}

body.koepfe-wahl .wtooltipp {
    display: none;
    position: absolute;
    cursor: pointer;
    left: 100px;
    top: 250px;
    border: solid 1px #eee;
    background-color: #ffc7c7;
    color: #333;
    padding: 10px;
    z-index: 1000;
    box-shadow: 2px 2px 2px 1px rgba(0, 0, 0, 0.2);
    width: 300px;
}

body.koepfe-wahl .wahlheader {
    position: relative;
    min-height: 250px;
}

body.koepfe-wahl .wahlheader img {
    width: 17%;
    float: left;
    padding: 0 30px 40px 0;
}

body.koepfe-wahl .name {
    font-family: 'Catamaran', sans-serif;
}

body.koepfe-wahl .zaehler {
    color: #333;
    left: 11px;
    z-index: 999;
    position: absolute;
    bottom: 14px;
}

body.koepfe-wahl .fa-star:before {
    padding-bottom: 7px;
    color: #333;
}

body.koepfe-wahl .zaehlertext {
    position: absolute;
    font-family: 'Catamaran', sans-serif;
    text-indent: 8px;
    color: #333;
}

body.koepfe-wahl .button {
    position: absolute;
    right: 0;
    bottom: 0;
    background-color: #50b835;
    border: 1px solid #49e820;
    border-radius: 0;
    margin-right: 40px;
    color: #fff;
    font-size: 16px !important;
    z-index: 999;
}

body.koepfe-wahl .button a {
    color: white;
    font-size: 14px;
    font-weight: bold;
}


/* =5. Koepfe-Wahl Mobile-Optimierung
 * Tweaks aus User-Test im Firefox-DevTools-Mobil-Modus. Macht die wahl.php-
 * iframe-Inhalte auf Mobile lesbar (vorher: gefloatete 250x220-Kacheln,
 * uebergrosse Schrift, falsche Padding-Werte).
--------------------------------------------------------------------------------------------------------*/
@media only screen and (max-width: 768px) {
    body.koepfe-wahl .wahlkopf {
        width: auto;            /* war 250px */
        height: auto;           /* war 220px */
        float: none;            /* war left */
    }

    body.koepfe-wahl .wahlheader img {
        padding: 5px 10px 0 0;  /* war 0 30px 40px 0 */
    }

    body.koepfe-wahl .tile-2a {
        width: 50%;             /* war 65% */
    }

    body.koepfe-wahl .tile-2b {
        width: 50%;             /* war 34% */
    }

    body.koepfe-wahl .overlay .name {
        padding: 5px 5px 5px 50px;  /* war 5px 10px */
        font-size: 13px;            /* war 18px */
    }

    body.koepfe-wahl .zaehler {
        left: 7px;              /* war 11px */
        bottom: 10px;           /* war 14px */
    }

    body.koepfe-wahl .head {
        width: auto;            /* war 90% */
    }

    body.koepfe-wahl .zaehlertext {
        font-size: 14px;
    }

    body.koepfe-wahl .fa-star:before {
        padding-bottom: 0;      /* war 7px */
    }

    body.koepfe-wahl h2 {
        line-height: normal;    /* globale h2-Regel 22px ueberschreiben */
    }

    /* wahl.php-Wahlheader-Paragraph: Desktop-Style (font-size:20px,
     * padding-top:10px, padding-right:130px) auf Mobile zuruecksetzen. */
    body.koepfe-wahl .wahlheader > p:nth-child(3) {
        font-size: inherit;
        padding-top: 0;
        padding-right: 0;
    }

    /* Image-Wrapper im 2. Wahlkopf (max-height:220px desktop) entlasten. */
    body.koepfe-wahl .wahlkopf > div:first-child {
        max-height: none;
    }
}

/* Fancybox-iframe-Hoehe groesser: das Wahl-Overlay braucht mehr vertikalen
 * Platz, sonst wird der "fertig"-Button auf Mobile abgeschnitten. Default
 * 80% -> 90% (auch Desktop, da es das Layout schoener fuellt). */
.fancybox__carousel .fancybox__slide.has-iframe .fancybox__content,
.fancybox__carousel .fancybox__slide.has-map .fancybox__content,
.fancybox__carousel .fancybox__slide.has-pdf .fancybox__content {
    height: 90%;
}
