body { font: 1.16em var(--fontText); margin: 0; padding: 0; color:#444;  }
body.start {background-color: var(--bodyBackground);}
:root {
    --contentBlue: #415a65;
    --contentGrey: #d6d6d6;
    --contentGreen: #173f1e;
    --contentGreenDark: #102c15;
    --linkRed: #e5231b;
    --linkOrange: #e9511a;
    --bodyBackground: #f0f0f0;
    --fontAwesome: FontAwesome-6-Pro, FontAwesome-6-Brands, FontAwesome-6-Duo, FontAwesome-6-Sharp;
    --fontText: Barlow-Light, Arial, Helvetica, sans-serif;
    --fontTextThin: Barlow-Thin, Verdana, Helvetica, sans-serif;
    --fontHeadline: Montserrat-Light, "Times New Roman", serif;
    --fontNav: Khand-Light, Arial, Helvetica, sans-serif;
}

h1, h2, h3, h4, h5 { font-family: var(--fontHeadline); font-weight: normal; margin:0; color: var(--contentGreen); hyphens: auto; }
h1 { font-size: 1.5em; margin-bottom: 1em; }
h2 { font-size: 1.25em; }

a { color: var(--linkRed); outline: none; text-decoration: none; }
a:hover { color: var(--contentGreen); transition: color 450ms; }
a::before { font-family: var(--fontAwesome); font-weight: 200; }
a.pdf::before { content: '\f1c1'; padding-right: 6px; }
a.arrow::before { content: '\f054'; padding-right: 6px; }
a[class*=popup-pdf]::before {content: '\f1c1'; padding-right: .5em;}
a.internal::before {content: '\f15b'; padding-right: .44em;}
a.external::before, a.external-link::before {content: '\f08e'; padding-right: 6px;}

/* Grid */
.container {padding: 0 15px;}
main>.container { margin-top: 60px;}

/*Overlay Seite versenden */
.container.overlay { background-color: #fff; padding: 30px; }

/* Header */
header { padding-top: 12px;  background-color: #f0f0f0;}
header .container {display: flex; justify-content: space-between; }
header:not(.fixed) .logo { }
header .logo a { background: url("../images/logo_gdl.svg")no-repeat; margin-top: 4px; display: flex; align-items: flex-end; width: 188px; height: 75px; }
header .logo div { font: .69em var(--fontNav); color: #000; }


/* Zwischentitel, Kommentar */
.zw-titel { font-family: var(--fontHeadline); font-size: 24px }
.comment { font-size: 12px; margin-top: 6px; }

/* Textliste */
.container>.content>ul { display: flex; flex-direction: column; gap: .9em;}

/* Nach-oben-Button Seite */
a.page-top { position:fixed; right:0; bottom: 22px; color:#fff;  z-index:5; background-color: var(--linkOrange); padding: 14px 15px; }
a.page-top::before { font: 300 1.2em var(--fontAwesome); content: '\f077'; padding-right: 0; }

/* BildIcons*/
.ce-gallery figure a {position: relative; display: block;}
.media-icon { position: absolute; bottom: 8px; left: 8px; font: 200 2em var(--fontAwesome); color: #fff; }
.ce-gallery figure a:hover .media-icon, .media-icon:hover { color: var(--linkRed);}
.media-icon.magnifier::before {content: '\f00e';  transform: perspective(500px) rotate(90deg); }
.media-icon.gallery::before {content: '\f302'; }
.media-icon.video::before {content: '\f144'; }


/* Seite Termine */
.date-box .single, .date-box .period { color: var(--contentGreen); }
.container>.content>ul.appointment { flex-direction: row;}

/* fsc */
.ce-uploads li { margin:0;}
.ce-uploads span.file { padding-right: 6px;}

body.member .content .ce-textpic>.ce-bodytext>ul { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 1em; }
body.member .content .ce-textpic>.ce-bodytext>ul li { text-indent: -1.1em; margin-left: 1.1em;  }
body.member .content .ce-textpic>.ce-bodytext>ul li::before { font-family: var(--fontAwesome); content: '\f054'; padding-right: .5em; font-weight: 200;}
body.member h1 { text-transform: uppercase; font-size: 2em;}


iframe { overflow: hidden!important; }

@media (min-width: 768px) {

    h1 { font-size: 2.32em; }
    h2 { font-size: 1.5em; }

    /* Grid */
    main .container { display: flex; gap: 3.5%;  }
    .content { width: 66.666666%; max-width: 860px; }
    aside { width: 33.333333%; max-width: 400px; }
    body:not(.start) div.container aside { margin-top: 14px; }

    /* Header */
    header { padding: 22px 0 26px; }
    header .logo a { width: 211px; height: 83px; }
    header .logo div { font-size: .79em; }

    /* Fix Nav*/
    header.fixed { position:fixed; width:100%; background-color:#fff; z-index:4; box-shadow: 0 1px 4px 0 #666; padding: 58px 0 24px; }
    header.fixed .container { display: block; }
    header.fixed .logo a { width: 178px; height: 52px; transform: translateY(44px); transition: all 400ms;}
    header.fixed .logo>a>div { display: none;}

}

@media (min-width: 992px) {
    /* Header */
    header .logo a { width: 230px; height: 89px; }
    header .logo div { font-size: .85em; }

}

@media (min-width: 1320px) {
    /* Grid */
   .container { width: 1320px; padding:0; }
    main .container {  gap: 60px;  }

    /* Header */
    header .logo a { width: 289px; height: 115px; }
    header .logo div { font-size: 1.08em; }
}
