body,form,figure{margin:0;padding:0}img{border:0}header,footer,nav,section,aside,article,figure,figcaption{display:block}body{font-size:100.01%}select,input,textarea{font-size:99%}#container,.inside{position:relative}#main,#left,#right{float:left;position:relative}#main{width:100%}#left{margin-left:-100%}#right{margin-right:-100%}#footer{clear:both}#main .inside{min-height:1px}.ce_gallery>ul,.content-gallery>ul{margin:0;padding:0;overflow:hidden;list-style:none}.ce_gallery>ul li,.content-gallery>ul li{float:left}.ce_gallery>ul li.col_first,.content-gallery>ul li.col_first{clear:left}.float_left,.media--left>figure{float:left}.float_right,.media--right>figure{float:right}.block{overflow:hidden}.media{display:flow-root}.clear,#clear{height:.1px;font-size:.1px;line-height:.1px;clear:both}.invisible{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.custom{display:block}#container:after,.custom:after{content:"";display:table;clear:both}
/* * * * * * * * * * Download CSV * * * * * * * * * */

div.content-download a.csv,
div.content-downloads a.csv,
div.link > a.csv {
    background-image: url("/files/themes/lustat/symbole/download_csv_3e3e3e.svg");
}

div.content-download a.csv:hover,
div.content-downloads a.csv:hover,
div.link > a.csv:hover {
    background-image: url("/files/themes/lustat/symbole/download_csv_0072ba.svg");
}


/* * * * * * * * * * Download DOC * * * * * * * * * */

div.content-download a.docx,
div.content-downloads a.docx,
div.link > a.word {
    background-image: url("/files/themes/lustat/symbole/download_doc_3e3e3e.svg");
}

div.content-download a.docx:hover,
div.content-downloads a.docx:hover,
div.link > a.word:hover {
    background-image: url("/files/themes/lustat/symbole/download_doc_0072ba.svg");
}


/* * * * * * * * * * Download PDF * * * * * * * * * */

.download-element.ext-pdf a,
div.content-downloads a.pdf,
div.download > a.pdf,
div.link > a.pdf {
    background-image: url("/files/themes/lustat/symbole/download_pdf_3e3e3e.svg");
}

.download-element.ext-pdf a:hover,
div.content-downloads a.pdf:hover,
div.download > a.pdf:hover,
div.link > a.pdf:hover {
    background-image: url("/files/themes/lustat/symbole/download_pdf_0072ba.svg");
}


/* * * * * * * * * * Download XLS * * * * * * * * * */

div.content-download .ext-xls a,
div.content-downloads .ext-xls a,
div.content-download .ext-xlsx a,
div.content-downloads .ext-xlsx a,
div.content-hyperlink.excel a,
div.download > a.excel,
div.link > a.excel {
    background-image: url("/files/themes/lustat/symbole/download_xls_3e3e3e.svg");
}

div.content-download .ext-xls a:hover,
div.content-downloads .ext-xls a:hover,
div.content-download .ext-xlsx a:hover,
div.content-downloads .ext-xlsx a:hover,
div.content-hyperlink.excel a:hover,
div.download > a.excel:hover,
div.link > a.excel:hover {
    background-image: url("/files/themes/lustat/symbole/download_xls_0072ba.svg");
}


/* * * * * * * * * * Download XSD * * * * * * * * * */

div.content-download a.xsd,
div.content-downloads a.xsd,
div.link > a.xsd {
    background-image: url("/files/themes/lustat/symbole/download_xsd_3e3e3e.svg");
}

div.content-download a.xsd:hover,
div.content-downloads a.xsd:hover,
div.link > a.xsd:hover {
    background-image: url("/files/themes/lustat/symbole/download_xsd_0072ba.svg");
}


/* * * * * * * * * * Download ZIP * * * * * * * * * */

div.content-download a.zip,
div.content-downloads a.zip,
div.link > a.zip {
    background-image: url("/files/themes/lustat/symbole/download_zip_3e3e3e.svg");
}

div.content-download a.zip:hover,
div.content-downloads a.zip:hover,
div.link > a.zip:hover {
    background-image: url("/files/themes/lustat/symbole/download_zip_0072ba.svg");
}


/* * * * * * * * * * Link Allgemein (Pfeil nach rechts) * * * * * * * * * */

div.content-hyperlink.allgemein a,
div.link > a.allgemein {
    background-image: url("/files/themes/lustat/symbole/link_allgemein_rechts_3e3e3e.svg");
}

div.content-hyperlink.allgemein a:hover,
div.link > a.allgemein:hover {
    background-image: url("/files/themes/lustat/symbole/link_allgemein_rechts_0072ba.svg");
}


/* * * * * * * * * * Link Allgemein (Pfeil nach links) * * * * * * * * * */

div.content-hyperlink.allgemein-back a,
div.link > a.allgemein-back {
    background-image: url("/files/themes/lustat/symbole/link_allgemein_links_3e3e3e.svg");
}

div.content-hyperlink.allgemein-back a:hover,
div.link > a.allgemein-back:hover {
    background-image: url("/files/themes/lustat/symbole/link_allgemein_links_0072ba.svg");
}


/* * * * * * * * * * Link Anker in derselben Seite (Pfeil nach unten) * * * * * * * * * */

div.content-hyperlink.anker a,
div.link > a.anker {
    background-image: url("/files/themes/lustat/symbole/link_anker_3e3e3e.svg");
}

div.content-hyperlink.anker a:hover,
div.link > a.anker:hover {
    background-image: url("/files/themes/lustat/symbole/link_anker_0072ba.svg");
}

/* * * * * * * * * * Link Anker in derselben Seite (Pfeil nach oben) * * * * * * * * * */

div.content-hyperlink.top a,
div.link > a.top {
    background-image: url("/files/themes/lustat/symbole/link_top_3e3e3e.svg");
}

div.content-hyperlink.top a:hover,
div.link > a.top:hover {
    background-image: url("/files/themes/lustat/symbole/link_top_0072ba.svg");
}


/* * * * * * * * * * Link Extern * * * * * * * * * */

div.content-hyperlink.extern a,
div.link > a.extern {
    background-image: url("/files/themes/lustat/symbole/link_www_3e3e3e.svg");
}

div.content-hyperlink.extern a:hover,
div.link > a.extern:hover {
    background-image: url("/files/themes/lustat/symbole/link_www_0072ba.svg");
}


/* * * * * * * * * * Chart * * * * * * * * * */

div.content-hyperlink.chart a,
div.download > a.chart,
div.link > a.chart {
    background-image: url("/files/themes/lustat/symbole/link_chart_3e3e3e.svg");
}

div.content-hyperlink.chart a:hover,
div.download > a.chart:hover,
div.link > a.chart:hover {
    background-image: url("/files/themes/lustat/symbole/link_chart_0072ba.svg");
}


/* * * * * * * * * * Tabelle * * * * * * * * * */

div.content-hyperlink.daten a,
div.link > a.tabelle {
    background-image: url("/files/themes/lustat/symbole/link_tabelle_3e3e3e.svg");
}

div.content-hyperlink.daten a:hover,
div.link > a.tabelle:hover {
    background-image: url("/files/themes/lustat/symbole/link_tabelle_0072ba.svg");
}


/* * * * * * * * * * Monitoring und Indikatoren * * * * * * * * * */

div.content-hyperlink.monitoring a,
div.download > a.monitoring,
div.link > a.monitoring {
    background-image: url("/files/themes/lustat/symbole/link_monitoring_3e3e3e.svg");
}

div.content-hyperlink.monitoring a:hover,
div.download > a.monitoring:hover,
div.link > a.monitoring:hover {
    background-image: url("/files/themes/lustat/symbole/link_monitoring_0072ba.svg");
}


/* * * * * * * * * * Karte * * * * * * * * * */

div.content-hyperlink.karte a,
div.link > a.karte {
    background-image: url("/files/themes/lustat/symbole/link_karte_3e3e3e.svg");
}

div.content-hyperlink.karte a:hover,
div.link > a.karte:hover {
    background-image: url("/files/themes/lustat/symbole/link_karte_0072ba.svg");
}


/* * * * * * * * * * Medienmitteilung * * * * * * * * * */

div.content-hyperlink.medienmitteilung a,
div.download > a.medienmitteilung,
div.link > a.medienmitteilung {
    background-image: url("/files/themes/lustat/symbole/link_medienmitteilung_3e3e3e.svg");
}

div.content-hyperlink.medienmitteilung a:hover,
div.download > a.medienmitteilung:hover,
div.link > a.medienmitteilung:hover {
    background-image: url("/files/themes/lustat/symbole/link_medienmitteilung_0072ba.svg");
}


/* * * * * * * * * * Link opendata.swiss * * * * * * * * * */

div.content-hyperlink.opendata a,
div.download > a.opendata,
div.link > a.opendata {
    background-image: url("/files/themes/lustat/symbole/link_opendata_3e3e3e.svg");
}

div.content-hyperlink.opendata a:hover,
div.download > a.opendata:hover,
div.link > a.opendata:hover {
    background-image: url("/files/themes/lustat/symbole/link_opendata_0072ba.svg");
}


/* * * * * * * * * * Infografik * * * * * * * * * */

div.content-hyperlink.infografik a,
div.download > a.infografik,
div.link > a.infografik {
    background-image: url("/files/themes/lustat/symbole/link_infografik_3e3e3e.svg");
}

div.content-hyperlink.infografik a:hover,
div.download > a.infografik:hover,
div.link > a.infografik:hover {
    background-image: url("/files/themes/lustat/symbole/link_infografik_0072ba.svg");
}


/* * * * * * * * * * Publikation * * * * * * * * * */

div.content-hyperlink.publikation a,
div.download > a.publikation,
div.link > a.publikation {
    background-image: url("/files/themes/lustat/symbole/link_publikation_3e3e3e.svg");
}

div.content-hyperlink.publikation a:hover,
div.download > a.publikation:hover,
div.link > a.publikation:hover {
    background-image: url("/files/themes/lustat/symbole/link_publikation_0072ba.svg");
}


/* * * * * * * * * * Video * * * * * * * * * */

div.content-hyperlink.video a,
div.link > a.video {
    background-image: url("/files/themes/lustat/symbole/link_video_3e3e3e.svg");
}

div.content-hyperlink.video a:hover,
div.link > a.video:hover {
    background-image: url("/files/themes/lustat/symbole/link_video_0072ba.svg");
}


/* * * * * * * * * * Teilen (Social Media) * * * * * * * * * */

div.content-hyperlink.sharing a,
div.link > a.sharing {
    background-image: url("/files/themes/lustat/symbole/link_teilen_3e3e3e.svg");
    cursor: pointer;
}

div.content-hyperlink.sharing a:hover,
div.link > a.sharing:hover {
    background-image: url("/files/themes/lustat/symbole/link_teilen_0072ba.svg");
    cursor: pointer;
}


/* * * * * * * * * * Druck der Symbole sicherstellen * * * * * * * * * */

@media print {
    div.content-hyperlink.daten a {
        /* Test ... hat keine Auswirkung */
        background-image: url("/files/themes/lustat/symbole/link_tabelle_3e3e3e.svg");
    }

    div.content-hyperlink.daten a {
        /* Test ... Schriftfarbe kann geändert oder Anzeige unterdrückt werden ... Hintergrund hat keine Auswirkung */
        /* color: red; */
        /* background-color: yellow; */
        display: none;
    }
}


/* * * * * * * * * * Ausrichtung von Symbolen untereinander in einer Box (z.B. Statistikportal) * * * * * * * * * */

/* In der schmalen Ansicht erscheinen die Links generell untereinander */
@media (min-width: 768px) {

    /* Link Oben: bei drei Links */
    div.mod_article.grid4 > div.content-hyperlink#vertical-top {
        margin-bottom: 80px;
    }

    /* Link Mitte: bei zwei und drei Links */
    div.mod_article.grid4 > div.content-hyperlink#vertical-middle {
        margin-bottom: 40px;
    }

    /* Link Unten: kann bei nur einem Link weggelassen werden */
    div.mod_article.grid4 > div.content-hyperlink#vertical-bottom {
        margin-bottom: 0;
    }
}

/* * * * * * * * * * Ausrichtung von Symbolen ohne Text nebeneinander bei Daten und Analysen * * * * * * * * * */

div.ce_daten_daten > div.container-analysen > div.publikation > div.container > div.text > div.link,
div.ce_daten_daten > div.container-analysen > div.publikation > div.container > div.text > div.download,
div.ce_daten_daten > div.container-daten > div div.link,
div.ce_daten_daten > div.container-daten > div div.download,
div.ce_daten_daten div.box div.link,
div.ce_daten_daten div.box div.download,
div.ce_daten_objekt > div.container-daten > div div.link,
div.ce_daten_objekt > div.container-daten > div div.download,
div.ce_analysen_analysen > div.publikation > div.container div.link,
div.ce_analysen_analysen > div.publikation > div.container div.download,
div.ce_analysen_analysen_objekt > div.publikation > div.container div.link,
div.ce_analysen_analysen_objekt > div.publikation > div.container div.download {
    width: 32px;
    height: 50px;
    overflow: hidden;
    display: inline;
    margin-top: 10px;
    margin-right: 5px;
}

/* Für die Boxen im Bereich Daten: Grösse, Abstände und Farbe */
div.box div.download > a,
div.box div.link > a {
    padding-top: 10px;
    padding-bottom: 10px;
    padding-left: 48px;
    vertical-align: baseline;
    background-repeat: no-repeat;
    line-height: 50px;
    text-decoration: none;
    color: #3e3e3e;
    background-size: 40px;
    background-position: left center;
}

/* * * * * Social Media Symbole * * * * */

div.teilen {
    text-align: right;
}

ul.symbole li {
    display: inline;
    list-style-type: none;
    margin-left: 10px;
}

ul.symbole li a:hover {
    text-decoration: none;
}

svg.icon {
    stroke: #3e3e3e;
}

svg.icon:hover {
    stroke: #0072ba;
}


/* * * * * Social Media Symbole * * * * */

/* Farbe des Symbols für Facebook */
div.box-information-lustat div.content-hyperlink.facebook a {
    background-image: url("/files/themes/lustat/symbole/social_facebook_3e3e3e.svg");
}

/* Farbe des Symbols für Facebook (Hover) */
div.box-information-lustat div.content-hyperlink.facebook a:hover {
    background-image: url("/files/themes/lustat/symbole/social_facebook_0072ba.svg");
}

/* Farbe des Symbols für LinkedIn */
div.box-information-lustat div.content-hyperlink.linkedin a {
    background-image: url("/files/themes/lustat/symbole/social_linkedin_3e3e3e.svg");
}

/* Farbe des Symbols für LinkedIn (Hover) */
div.box-information-lustat div.content-hyperlink.linkedin a:hover {
    background-image: url("/files/themes/lustat/symbole/social_linkedin_0072ba.svg");
}

/* Farbe des Symbols für Twitter */
div.box-information-lustat div.content-hyperlink.twitter a {
    background-image: url("/files/themes/lustat/symbole/social_twitter_3e3e3e.svg");
}

/* Farbe des Symbols für Twitter (Hover) */
div.box-information-lustat div.content-hyperlink.twitter a:hover {
    background-image: url("/files/themes/lustat/symbole/social_twitter_0072ba.svg");
}

/* Symbol für Youtube */
div.box-information-lustat div.content-hyperlink.youtube a {
    background-image: url("/files/themes/lustat/symbole/social_youtube_grau.svg");
}

div.box-information-lustat div.content-hyperlink.youtube a:hover {
    background-image: url("/files/themes/lustat/symbole/social_youtube_blau.svg");
}


/* * * * * Social Media Symbole im Footer * * * * */

footer div.social-sharing {
    height: 110px;
    position: relative;
}

footer div.social-sharing svg.facebook {
    position: absolute;
    top: 0;
}

footer div.social-sharing svg.linkedin {
    position: absolute;
    top: 30px;
}

footer div.social-sharing svg.bluesky {
    position: absolute;
    top: 63px;
}

footer div.social-sharing svg.instagram {
    position: absolute;
    top: 92px;
}

footer div.social-sharing svg.youtube {
    position: absolute;
    top: 123px;
}

footer div.social-sharing svg.newsletter {
    position: absolute;
    top: 151px;
}

footer div.social-sharing p.facebook {
    padding-left: 6px;
    position: absolute;
    left: 16px;
    top: -5px;
}

footer div.social-sharing p.linkedin {
    padding-left: 6px;
    position: absolute;
    left: 16px;
    top: 25px;
}

footer div.social-sharing p.bluesky {
    padding-left: 6px;
    position: absolute;
    left: 16px;
    top: 55px;
}

footer div.social-sharing p.instagram {
    padding-left: 6px;
    position: absolute;
    left: 16px;
    top: 85px;
}

footer div.social-sharing p.youtube {
    padding-left: 6px;
    position: absolute;
    left: 16px;
    top: 115px;
}

footer div.social-sharing p.newsletter {
    padding-left: 6px;
    position: absolute;
    left: 16px;
    top: 145px;
}

footer div.social-sharing a svg {
    stroke: #3e3e3e;
}

footer div.social-sharing a:hover svg {
    stroke: #0072ba;
}

footer div.social-sharing a:hover p {
    color: #0072ba;
}


/* * * * * Social Media Symbole im fixierten Footer * * * * */

footer#fixed div.grid6 {
    padding-top: 10px;
}

footer#fixed svg {
    margin-right: 20px;
}

footer#fixed a svg {
    stroke: #ffffff;
}

footer#fixed a:hover svg {
    fill: #ffffff;
}

body {
    background-color: #f3f3f3;
    display: grid;
    grid-template-rows: auto 1fr auto;
    grid-template-areas:
        "header"
        "main"
        "footer";
}

header,
main,
footer {
    padding: 1rem 2rem;
}

header {
    background-color: #ffffff;
    grid-area: header;
}

header.reduziert {
    opacity: 0.9;
}

main {
    grid-area: main;
}

footer {
    grid-area: footer;
}

header {
    display: grid;
    grid-template-columns: 1fr;
    grid-template-areas:
        "servicenavigation"
        "logo"
        "hauptnavigation";
    transition: all ease-in-out 1s;
}

@media only screen and (max-width: 800px) {

    /* Servicenavigation auf kleinen Viewports nicht anzeigen */
    header nav.mod_customnav {
        display: none;
    }
}

@media only screen and (min-width: 800px) {

    /* ausführlicher Header mit Logo und Navigationszeilen */
    header {
        box-shadow: 0 -1rem 1rem 1rem #3E3E3E;
        grid-template-rows: 50px 50px;
        grid-template-columns: minmax(110px, 2fr) 9fr;
        grid-template-areas:
        "logo servicenavigation"
        "logo hauptnavigation";
        z-index: 1;
    }

    /* * * * * Header nach dem Scrollen der Seite reduzieren * * * * */
    header.reduziert {
        position: sticky;
        top: -80px;
    }

    /* Servicenavigation ausblenden */
    header.reduziert nav.mod_customnav {
        display: none;
    }

    /* Logo ausblenden */
    header.reduziert div#logo {
        transition: all ease-in-out 1s;
        opacity: 0;
    }
}

/* * * * * Sub-Grid Header * * * * */

div#logo {
    grid-area: logo;
    transition: all ease-in-out 1s;
}

header div#logo {
    transition: all ease-in-out 1s;
}

@media only screen and (max-width: 800px) {
    div#logo {
        height: 100px;
        padding: 10px;
    }

    div#logo img {
        margin: auto;
    }
}

nav#servicenavigation {
    grid-area: servicenavigation;
}

nav#hauptnavigation {
    align-self: end;
    grid-area: hauptnavigation;
}

/* Listensymbol für alle Navigationselemente deaktivieren */
nav ul {
    list-style-type: none;
    margin: 0;
    padding: 0;
}

/* Abstände zurücksetzen */
nav li {
    margin: 0;
    padding: 0;
    text-align: left;
}


/* * * * * * * * * * Hauptnavigation (Ebenen 1 und 2) * * * * * * * * * */

/* Hintergrundfarbe */
#hauptnavigation {
    background-color: #6f6f6f;
}

/* Ebene 1: Elemente als Block, mit Innenabständen und ohne Unterstreichung */
#hauptnavigation a,
#hauptnavigation strong {
    display: block;
    line-height: 1;
    padding-top: 0.5em;
    padding-bottom: 0.5em;
    text-decoration: none;
}

/* Ebene 1: Schriftgrösse und Schriftstil */
#hauptnavigation ul.level_1 > li {
    border-top: 1px solid #c4c4c4;
    font-size: 1.2rem;
    font-weight: bold;
    letter-spacing: 0.1em;
    margin: 0;
    text-align: center;
    text-transform: uppercase;
    width: 100%;
}

/* Ebene 1: Schriftfarbe */
#hauptnavigation ul.level_1 > li > a,
#hauptnavigation ul.level_1 > li > strong {
    color: #c4c4c4;
    font-weight: bold;
    line-height: 2em;
}

/* Ebene 1: Schriftfarbe (Hover) */
#hauptnavigation ul.level_1 > li > a:focus,
#hauptnavigation ul.level_1 > li > a:hover,
#hauptnavigation ul.level_1 > li > a.trail,
#hauptnavigation ul.level_1 > li > strong.active,
#hauptnavigation ul.level_1 > li > strong.forward {
    background-color: #5f5f5f;
    color: #ffffff;
}

/* Ebene 2: ausblenden */
#hauptnavigation ul.level_2 {
    display: none;
}


/* * * * * * * * * * Navigation Service (Header) * * * * * * * * * */

/* Liste mit den Navigationselementen */
nav#servicenavigation ul {
    float: right;
    list-style-type: none;
    padding: 0;
    margin: 0;
    width: auto;
}

/* Listenelemente nebeneinander ausrichten */
nav#servicenavigation li {
    float: left;
    list-style-type: none;
    margin: 0;
    padding: 0;
}

/* Inhalte der einzelnen Navigationselemente */
nav#servicenavigation a,
nav#servicenavigation strong {
    color: #6f6f6f;
    display: block;
    font-size: 80%;
    font-weight: normal;
    line-height: 1;
    margin-right: 2em;
    text-decoration: none;
}

/* Rechten Abstand für das letzte Navigationselements entfernen */
nav#servicenavigation li:last-child a,
nav#servicenavigation li:last-child strong {
    margin-right: 0;
}

/* Aktive Elemente durch Unterstreichung hervorheben */
nav#servicenavigation a:focus,
nav#servicenavigation a:hover,
nav#servicenavigation a.trail,
nav#servicenavigation strong.active,
nav#servicenavigation strong.trail {
    text-decoration: underline;
}


/* * * * * * * * * * * * * * * * * * * * Media Queries * * * * * * * * * * * * * * * * * * * */

@media only screen and (max-width: 800px) {

    #hauptnavigation ul.level_1 > li > a,
    #hauptnavigation ul.level_1 > li > strong {
        line-height: 1.2em;
    }
}

@media only screen and (min-width: 800px) {

    /* * * * * * * * * * Hauptnavigation (Ebenen 1 und 2) * * * * * * * * * */
    /* Hintergrundfarbe und Ausrichtung nach unten */
    #hauptnavigation {
        background-color: #ffffff;
        margin-bottom: -0.65em;
    }

    /* Ebene 1: Liste Navigationselementen rechts ausrichten */
    #hauptnavigation ul.level_1 {
        float: right;
    }

    /* Ebene 1: Listenelemente nebeneinander ausrichten sowie Schriftgrösse, Abstand der Navigationselemente und Rahmen entfernen */
    #hauptnavigation ul.level_1 > li {
        border: 0;
        float: left;
        font-size: 1.1rem;
        margin-right: 1.5em;
        width: auto;
    }

    /* Ebene 1: rechten Abstand des letzten Navigationselements entfernen */
    #hauptnavigation ul.level_1 > li:last-of-type {
        margin-right: 0;
    }

    /* Ebene 1: Schriftfarbe und Abstände gegenüber Mobile anpassen */
    #hauptnavigation ul.level_1 > li > a,
    #hauptnavigation ul.level_1 > li > strong {
        color: #6f6f6f;
        padding: 0;
    }

    /* Ebene 1: Hintergrund und Schriftfarbe (Hover) gegenüber Mobile anpassen */
    #hauptnavigation ul.level_1 > li > a:focus,
    #hauptnavigation ul.level_1 > li > a:hover,
    #hauptnavigation ul.level_1 > li > a.trail,
    #hauptnavigation ul.level_1 > li > strong.active,
    #hauptnavigation ul.level_1 > li > strong.forward {
        background-color: #ffffff;
        color: #0072ba;
    }

    /* Ebene 1: Zweite Ebene bei Mouse Over einblenden */
    #hauptnavigation ul.level_1 > li:hover ul.level_2 {
        background-color: rgba(111, 111, 111, .95);
        border: 1px solid rgba(196, 196, 196, .95);
        border-radius: 6px;
        display: block;
        margin-left: -142px;
        padding: 5px;
        position: absolute;
        width: 270px;
        z-index: 1000;
    }

    /* Ebene 1: Für zweite Pfeil an der der Box */
    #hauptnavigation ul.level_1 > li:hover ul.level_2:after {
        border-bottom: 8px solid rgba(111, 111, 111, .95);
        border-left: 8px solid transparent;
        border-right: 8px solid transparent;
        content: '';
        height: 0;
        left: 138px;
        position: absolute;
        top: -8px;
        width: 0;
    }

    /* Ebene 2: Aussenabstand auf der rechten Seite zurücksetzen, Elemente untereinander, Trennlinien zwischen den Elementen, Schriftgrössen */
    #hauptnavigation ul.level_2 > li {
        border-top: 1px solid #c4c4c4;
        clear: both;
        font-size: 1rem;
        font-weight: normal;
        letter-spacing: 0;
        margin-right: 0;
        text-transform: none;
        width: 100%;
    }

    /* Ebene 2: Trennlinie vor dem ersten Element entfernen */
    #hauptnavigation ul.level_2 > li:first-child {
        border-top: 0;
    }

    /* Ebene 2: Schriftfarbe und Abstände gegenüber Mobile anpassen */
    #hauptnavigation ul.level_2 > li > a,
    #hauptnavigation ul.level_2 > li > strong {
        color: #e4e4e4;
        font-weight: normal;
        padding-left: 0.5em;
        padding-right: 0.5em;
    }

    /* Ebene 2: Hintergrund und Schriftfarbe (Hover) gegenüber Mobile anpassen */
    #hauptnavigation ul.level_2 > li > a:focus,
    #hauptnavigation ul.level_2 > li > a:hover,
    #hauptnavigation ul.level_2 > li > a.trail,
    #hauptnavigation ul.level_2 > li > strong.active,
    #hauptnavigation ul.level_2 > li > strong.forward {
        background-color: #5f5f5f;
        color: #ffffff;
    }
}

@media only screen and (min-width: 1000px) {

    /* Hintergrundfarbe und Ausrichtung nach unten */
    #hauptnavigation {
        margin-bottom: -0.75em;
    }

    /* Ebene 1: Schriftgrösse */
    #hauptnavigation ul.level_1 > li {
        font-size: 1.3rem;
    }
}

footer {
    background-color: #5f5f5f;
    border-top: 1px solid #c4c4c4;
}

footer > .schluss {
    border-top: 1px solid #c4c4c4;
    margin-top: 20px;
}

/* Schriftfarbe im Footer */
footer p,
footer a,
footer span,
footer h2 {
    color: #c4c4c4;
    font-size: 0.8rem;
}

footer a:hover {
    color: #ffffff;
    text-decoration: none;
}

/* Überschrift 2 im Footer */
footer h2 {
    border-bottom: 0;
}

footer div.social-sharing {
    height: 110px;
    position: relative;
}

footer div.social-sharing a svg {
    stroke: #c4c4c4;
}

footer div.social-sharing a:hover svg {
    stroke: #ffffff;
}

footer div.social-sharing a:hover p {
    color: #ffffff;
}

footer div.social-sharing svg.facebook {
    position: absolute;
    top: 7px;
}

footer div.social-sharing svg.linkedin {
    position: absolute;
    top: 37px;
}

footer div.social-sharing svg.bluesky {
    position: absolute;
    top: 70px;
}

footer div.social-sharing svg.instagram {
    position: absolute;
    top: 98px;
}

footer div.social-sharing svg.youtube {
    position: absolute;
    top: 129px;
}

footer div.social-sharing svg.newsletter {
    position: absolute;
    top: 157px;
}

footer div.social-sharing p.facebook {
    padding-left: 6px;
    position: absolute;
    left: 16px;
    top: -5px;
}

footer div.social-sharing p.linkedin {
    padding-left: 6px;
    position: absolute;
    left: 16px;
    top: 25px;
}

footer div.social-sharing p.bluesky {
    padding-left: 6px;
    position: absolute;
    left: 16px;
    top: 55px;
}

footer div.social-sharing p.instagram {
    padding-left: 6px;
    position: absolute;
    left: 16px;
    top: 85px;
}

footer div.social-sharing p.youtube {
    padding-left: 6px;
    position: absolute;
    left: 16px;
    top: 115px;
}

footer div.social-sharing p.newsletter {
    padding-left: 6px;
    position: absolute;
    left: 16px;
    top: 145px;
}

/* Liste gestalten */
footer nav ul {
    margin: 0;
    padding: 0;
    list-style-type: none;
}

/* Listenelemente gestalten */
footer nav li {
    border-top: 1px solid #c4c4c4;
    margin: 0;
}

footer nav li a,
footer nav li strong {
    padding: 0.5em 0;
    display: block;
}

/* Erstes Listenelement gestalten */
footer nav li:first-child {
    border-top: 0;
}

/* Aktiven Menüpunkt hervorheben */
footer nav li a:focus span,
footer nav li a:hover span,
footer nav li a.trail span,
footer nav li strong.active,
footer nav li strong.forward {
    color: #0072ba;
    font-weight: normal;
}

/* * * * * Grid / Boxen * * * * */

/* Artikel als Container mit den Inhaltselementen für Boxen */
footer > div.boxen {
    display: grid;
    gap: 2em;
    grid-auto-columns: 1fr;
    grid-template-areas:
            '.'
            '.'
            '.'
            '.'
            '.'
            '.';
    margin: 0 0 2rem 0;
    padding: 0;
    width: 100%;
}

/* Grid in den Boxen (Positionierung von Inhalten und Link-Symbolen) */
footer > div.boxen > .box {
    border-radius: 0;
    box-shadow: none;
    cursor: default;
    display: unset;
}

footer > div.boxen > .box:hover {
    box-shadow: none;
}

@media screen and (min-width: 700px) {
    footer > div.boxen {
        gap: 3em;
        grid-template-areas:
                '. . .'
                '. . .';
    }
}

@media screen and (min-width: 1200px) {
    footer > div.boxen {
        grid-template-areas:
                '. . . . . .';
    }
}

/* * * * * * * * * * Schrift: Source Sans Pro * * * * * * * * * */

/* source-sans-pro-200italic - latin */
@font-face {
    font-family: 'Source Sans Pro';
    font-style: italic;
    font-weight: 200;
    src: local(''),
    url('../../files/themes/lustat/fonts/source-sans-pro-v14-latin-200italic.woff2') format('woff2'), /* Chrome 26+, Opera 23+, Firefox 39+ */ url('../../files/themes/lustat/fonts/source-sans-pro-v14-latin-200italic.woff') format('woff'); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
}

/* source-sans-pro-200 - latin */
@font-face {
    font-family: 'Source Sans Pro';
    font-style: normal;
    font-weight: 200;
    src: local(''),
    url('../../files/themes/lustat/fonts/source-sans-pro-v14-latin-200.woff2') format('woff2'), /* Chrome 26+, Opera 23+, Firefox 39+ */ url('../../files/themes/lustat/fonts/source-sans-pro-v14-latin-200.woff') format('woff'); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
}

/* source-sans-pro-300 - latin */
@font-face {
    font-family: 'Source Sans Pro';
    font-style: normal;
    font-weight: 300;
    src: local(''),
    url('../../files/themes/lustat/fonts/source-sans-pro-v14-latin-300.woff2') format('woff2'), /* Chrome 26+, Opera 23+, Firefox 39+ */ url('../../files/themes/lustat/fonts/source-sans-pro-v14-latin-300.woff') format('woff'); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
}

/* source-sans-pro-300italic - latin */
@font-face {
    font-family: 'Source Sans Pro';
    font-style: italic;
    font-weight: 300;
    src: local(''),
    url('../../files/themes/lustat/fonts/source-sans-pro-v14-latin-300italic.woff2') format('woff2'), /* Chrome 26+, Opera 23+, Firefox 39+ */ url('../../files/themes/lustat/fonts/source-sans-pro-v14-latin-300italic.woff') format('woff'); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
}

/* source-sans-pro-regular - latin */
@font-face {
    font-family: 'Source Sans Pro';
    font-style: normal;
    font-weight: 400;
    src: local(''),
    url('../../files/themes/lustat/fonts/source-sans-pro-v14-latin-regular.woff2') format('woff2'), /* Chrome 26+, Opera 23+, Firefox 39+ */ url('../../files/themes/lustat/fonts/source-sans-pro-v14-latin-regular.woff') format('woff'); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
}

/* source-sans-pro-italic - latin */
@font-face {
    font-family: 'Source Sans Pro';
    font-style: italic;
    font-weight: 400;
    src: local(''),
    url('../../files/themes/lustat/fonts/source-sans-pro-v14-latin-italic.woff2') format('woff2'), /* Chrome 26+, Opera 23+, Firefox 39+ */ url('../../files/themes/lustat/fonts/source-sans-pro-v14-latin-italic.woff') format('woff'); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
}

/* source-sans-pro-600 - latin */
@font-face {
    font-family: 'Source Sans Pro';
    font-style: normal;
    font-weight: 600;
    src: local(''),
    url('../../files/themes/lustat/fonts/source-sans-pro-v14-latin-600.woff2') format('woff2'), /* Chrome 26+, Opera 23+, Firefox 39+ */ url('../../files/themes/lustat/fonts/source-sans-pro-v14-latin-600.woff') format('woff'); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
}

/* source-sans-pro-600italic - latin */
@font-face {
    font-family: 'Source Sans Pro';
    font-style: italic;
    font-weight: 600;
    src: local(''),
    url('../../files/themes/lustat/fonts/source-sans-pro-v14-latin-600italic.woff2') format('woff2'), /* Chrome 26+, Opera 23+, Firefox 39+ */ url('../../files/themes/lustat/fonts/source-sans-pro-v14-latin-600italic.woff') format('woff'); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
}


* {
    box-sizing: border-box;
}

/* Vertikalen Scroll-Balken immer zeigen */
html {
    overflow-y: scroll;
}

img,
picture {
    display: block;
    max-width: 100%;
}


/* * * * * * * * * * Schriftart und Schriftfarbe * * * * * * * * * */

body {
    color: hsl(0, 0%, 25%);;
    font-family: 'Source Sans Pro', sans-serif;
    font-size: 100%;
    font-weight: normal;
    line-height: 1.5;
    margin: 0;
    min-height: 100vh;
}

header {
    border-bottom: 1px solid #c4c4c4;
}

@media only screen and (max-width: 800px) {
    header {
        padding: 0;
    }
}

/* Header: Logo als Blockelement und Grösse definieren */
#logo img {
    display: block;
    height: 100%;
}


/* * * * * * * * * * Main: Breadcrumb Navigation * * * * * * * * * */

nav.mod_breadcrumb {
    padding: 1rem 2rem;
}

/* Listensymbol für alle Navigationselemente deaktivieren */

nav.mod_breadcrumb ul {
    list-style-type: none;
    margin: 0;
    padding: 0;
}

/* Abstände zurücksetzen */
nav.mod_breadcrumb li {
    display: inline;
    float: left;
    margin: 0;
    padding: 0;
    text-align: left;
}

/* Slash hinter alle Listenelemente setzen */
nav.mod_breadcrumb li:after {
    content: ">";
    padding-left: 0.5em;
    padding-right: 0.5em;
}

/* kein Slash beim letzten Element */
nav.mod_breadcrumb li:last-of-type:after {
    content: "";
}


/* * * * * * * * * * Überschriften * * * * * * * * * */

/* Ebene 1 */
h1 {
    margin-top: 1.5em;
    margin-bottom: 0.5em;
    font-size: 2rem;
    line-height: 1em;
    font-weight: bold;
}

/* Spezielles Titelformat aus kombinierten Überschriften der Ebene 3 über der Ebene 1 */
h3 + h1 {
    margin-top: 0;
}

/* Ebene 2 */
h2 {
    border-bottom: 2px solid hsl(0, 0%, 25%);
    color: hsl(0, 0%, 25%);
    margin-top: 2em;
    margin-bottom: 0;
    font-size: 1.6rem;
    font-weight: bold;
}

/* Ebene 3 */
h3 {
    color: hsl(0, 0%, 25%);
    margin-top: 1em;
    margin-bottom: 0;
    font-size: 1.6rem;
    font-weight: bold;
}

/* Ebene 3 - Abstand direkt nach einer H2-Überschrift verkleinern */
h2 + div > h3,
h2 + h3 {
    margin-top: 0;
}

/* Ebene 4 */
h4 {
    color: hsl(203, 100%, 40%);
    margin-top: 1em;
    margin-bottom: 0;
    font-size: 1.3rem;
    font-weight: bold;
}

/* Zwischen H3 und p soll ein kleinerer Abstand sein */
h3 + p {
    margin-top: 0.5em;
}

/* Zwischen H4 und p soll kein Abstand sein: Das funktioniert in Contao 5 nicht mehr durch das zusätzliche DIV-Element der Klasse rte */
h4 + p {
    margin-top: 0;
}


/* * * * * * * * * * Text * * * * * * * * * */

/* Abstände bei Absätzen */
p {
    -webkit-hyphens: auto;
    -moz-hyphens: auto;
    -ms-hyphens: auto;
    hyphens: auto;
    margin-top: 1em;
    margin-bottom: 1em;
}

div.rte p:first-of-type {
    margin-top: 0;
}

/*
 * Die vorangehende Verfälschung der Abstände bedingt die folgende zusätzliche Klasse um die Layout-Zerstörung zumindest
 * für das Inhaltsverzeichnis kompensieren zu können.
 *
 * Berichte Layout: Abstand zwischen Text und Link-Listen vergrössern (insbesondere die On-Page-Verlinkungen am
 * Seitenanfang)
 *
 * Neue Klasse „link-abstand-oben“ einführen für die Berichte ...
 */

div.anker.link-abstand-oben {
    margin-top: 2rem;
}

/* Abstände bei Listen */
ol,
ul {
    margin: 1em 0;
    padding: 0;
}

ul {
    list-style-type: square;
}

li {
    margin: 0 0 0 2em;
    padding: 0;
}


/* * * * * * * * * * Links * * * * * * * * * */

a {
    text-decoration: none;
    color: #0072ba;
}

a:hover {
    text-decoration: underline;
}

h1 > a,
h2 > a {
    color: #3e3e3e;
}

h1 > a:hover,
h2 > a:hover {
    color: #0072ba;
    text-decoration: none;
}


/* * * * * * * * * * Links mit Symbolen * * * * * * * * * */

/* Grösse, Abstände und Farbe */
div.content-download a,
div.content-downloads a,
div.content-hyperlink a,
div.download a,
div.link > a {
    padding-top: 10px;
    padding-bottom: 10px;
    padding-left: 38px;
    vertical-align: baseline;
    background-repeat: no-repeat;
    line-height: 40px;
    text-decoration: none;
    color: #3e3e3e;
    background-size: 30px;
    background-position: left center;
}

/* Farbe (Hover) */
div.content-download a:hover,
div.content-downloads a:hover,
div.content-hyperlink a:hover,
div.download a:hover,
div.link > a:hover {
    color: #0072ba;
}

/* Formatierung der Dateigrösse */
div.content-download a span,
div.content-downloads a span {
    font-size: 70%;
}

/* Liste: Abstände und Listensymbol */
div.content-downloads ul {
    margin: 0;
    list-style-type: none;
}

/* Listenelemente: Abstände */
div.content-downloads ul li {
    margin: 0;
}


/* * * * * * * * * * Tabellen * * * * * * * * * */

table {
    border-collapse: collapse;
    border-spacing: 0;
    width: 100%;
}

table tr {
    transition: 0.5s;
}

thead tr,
tbody tr:nth-child(even) {
    background-color: #f3f3f3;
}

table tbody tr:hover {
    background-color: #a6cde8;
    cursor: default;
}

table thead th {
    border-top: 1px solid #c4c4c4;
    border-bottom: 1px solid #c4c4c4;
}

table th,
table td {
    border: 1px solid #c4c4c4;
    padding: 0.5em;
    vertical-align: middle;
}

table .text {
    text-align: left;
}

table .zahl,
table .number {
    text-align: right;
}

div.highchart {
    background-color: hsl(0, 0%, 100%);
    box-sizing: border-box;
    padding: 0.5rem;
    width: 100%;
}

.highcharts-data-table table {
    border-spacing: 0;
    font-size: 0.8em;
}

.highcharts-data-table caption {
    border: none;
    font-size: 1em;
    padding: 0.5em 0.5em 1em;
}

/* * * * * * * * * * Formulare * * * * * * * * * */

label {
    font-size: 0.9rem;
    line-height: 1.7em;
}


/* * * * * * * * * * Slider * * * * * * * * * */

main {
    overflow: hidden;
}

/* Slider Navigationselemente mit fester Höhe, damit sie nicht von nachfolgenden Elementen überdeckt werden */
nav.slider-control {
    height: 20px;
}

nav.slider-control span.slider-menu {
    margin-top: -50px;
}

/*
 * Set core root defaults
 *
 * scroll-behavior
 *
 * The scroll-behavior CSS property sets the behavior for a scrolling box when scrolling is triggered by the navigation
 * or CSSOM scrolling APIs.
 *
 * https://developer.mozilla.org/en-US/docs/Web/CSS/scroll-behavior?retiredLocale=de
 */
html:focus-within {
    scroll-behavior: smooth;
}

/*
 * Set core body defaults
 *
 * text-rendering
 *
 * The text-rendering CSS property provides information to the rendering engine about what to optimize for when
 * rendering text.
 *
 * The browser makes trade-offs among speed, legibility, and geometric precision.
 *
 * https://developer.mozilla.org/en-US/docs/Web/CSS/text-rendering?retiredLocale=de
 */
body {
    text-rendering: optimizeSpeed;
}

/*
 * A elements that don't have a class get default styles
 *
 * text-decoration-skip-ink
 *
 * The text-decoration-skip-ink CSS property specifies how overlines and underlines are drawn when they pass over glyph ascenders and descenders.
 *
 * https://developer.mozilla.org/en-US/docs/Web/CSS/text-decoration-skip-ink
 */
a:not([class]) {
    text-decoration-skip-ink: auto;
}


/* * * * * Styles der Container überschreiben * * * * */

main {
    background-color: #f3f3f3;
    padding: 0 0 5rem;
}

div#banner img {
    height: 300px;
    width: 100%;
}

/* Artikel als Container mit den Inhaltselementen für Texte */
.texte {
    margin: 0 1rem 1rem;
    margin-inline: auto;
    padding: 10px;
    width: min(calc(100% - 20px), 1004px);
}

/* Highchartsgrafiken: Aussenabstände des Containers entsprechend den Absatzabständen */
.texte .ce_basis_highchart {
    border: 1px solid #c4c4c4;
    border-radius: 0.5rem;
    margin: 1rem 0;
}


/* * * * * Grid / Boxen * * * * */

/* Artikel als Container mit den Inhaltselementen für Boxen */
main > div.boxen {
    display: grid;
    gap: 1.5rem;
    grid-auto-columns: 1fr;
    grid-template-areas:
       '.';
    margin: -3rem 1rem;
    margin-inline: auto;
    padding: 5rem 3rem;
    width: min(calc(100% - 20px), 1480px);
}

/* Grid in den Boxen (Positionierung von Inhalten und Link-Symbolen) */
main > div.boxen > .box {
    border-radius: 0.5rem;
    box-shadow: 2.5rem 3.75rem 3rem -3rem #c4c4c4;
    cursor: pointer;
    display: grid;
    grid-template-areas:
        'inhalt'
        'links';
    grid-template-rows: 1fr auto;
    transition: all 300ms ease-in-out;
}

main > div.boxen > .box:hover {
    box-shadow: 2.5rem 3.75rem 3rem -3rem #7F7F7F;
    transition: all 300ms ease-in-out;
}

main > div.boxen > .bildbox {
    grid-template-areas:
        'bild'
        'inhalt'
        'links';
    grid-template-rows: auto 1fr auto;
}

main > div.boxen > .box > .inhalt {
    border-radius: 0.5rem 0.5rem 0 0;
    grid-area: inhalt;
    padding: 1rem;
}

main > div.boxen > .box > .links {
    align-self: end;
    grid-area: links;
    height: fit-content;
    padding-bottom: 1rem;
    text-align: center;
}

main > div.boxen a,
main > div.boxen a:hover {
    text-decoration: none;
}

main > div.boxen h2 {
    border: none;
    font-size: 1.2rem;
    margin: 0;
    padding: 0;
}

main > div.boxen p {
    font-size: 1rem;
    margin-top: 0.5rem;
}

main > div.boxen img {
    border-radius: 0.5rem 0.5rem 0 0;
    height: auto;
    width: 100%;
}


/* * * * * Formate für die Boxen: Breite und Höhe * * * * */

.b1h1 {
    grid-column: span 1;
    grid-row: span 1;
}

.b2h1 {
    grid-column: span 1;
    grid-row: span 1;
}

.b2h2 {
    grid-column: span 1;
    grid-row: span 1;
}

.b3h2 {
    grid-column: span 1;
    grid-row: span 1;
}

.b1h2 {
    grid-column: span 1;
    grid-row: span 1;
}

.b1h3 {
    grid-column: span 1;
    grid-row: span 1;
}


/* * * * * Farbkombination für die Boxen: Hintergrund und Schrift * * * * */

/* Weiss #FFFFFF */
.box.weiss {
    background-color: #FFFFFF;
    color: #3E3E3E;
}

/* Dunkelblau (A4) #00427B */
.box.dunkelblau {
    background-color: #00427B;
    color: #EEEEEE;
}

.box.dunkelblau h2 {
    border-bottom-color: #EEEEEE;
}

/* Blau (A4) #0072BA */
.box.blau {
    background-color: #0072BA;
    color: #FFFFFF;
}

.box.blau h2 {
    border-bottom-color: #FFFFFF;
}

/* Hellblau (A4) #86BCE1 */
.box.hellblau {
    background-color: #86BCE1;
    color: #3E3E3E;
}

/* Dunkelgrau (A4) #3E3E3E */
.box.dunkelgrau {
    background-color: #3E3E3E;
    color: #EEEEEE;
}

.box.dunkelgrau h2 {
    border-bottom-color: #EEEEEE;
}

/* Grau (TM) #C4C4C4 */
.box.grau {
    background-color: #C4C4C4;
    color: #3E3E3E;
}

/* Hellgrau (TM) #E4E4E4 */
.box.hellgrau {
    background-color: #E4E4E4;
    color: #3E3E3E;
}


/* * * * * Media Queries * * * * */

@media screen and (min-width: 700px) {

    /* Boxbreite 237 - 392 Pixel */
    main > div.boxen {
        grid-template-areas:
         '. .';
    }

    .b1h1 {
        grid-column: span 1;
        grid-row: span 1;
    }

    .b2h1 {
        grid-column: span 2;
        grid-row: span 1;
    }

    .b2h2 {
        grid-column: span 2;
        grid-row: span 2;
    }

    .b3h2 {
        grid-column: span 2;
        grid-row: span 2;
    }

    .b1h2 {
        grid-column: span 1;
        grid-row: span 2;
    }

    .b1h3 {
        grid-column: span 1;
        grid-row: span 3;
    }

    .texte p,
    .texte li {
        font-size: 1.2rem;
    }
}

@media screen and (min-width: 960px) {

    /* Boxbreite 257 - 389 Pixel */
    main > div.boxen {
        grid-template-areas:
          ". . .";
    }

    .b1h1 {
        grid-column: span 1;
    }

    .b2h1 {
        grid-column: span 2;
    }

    .b2h2 {
        grid-column: span 2;
    }

    .b3h2 {
        grid-column: span 3;
    }

    .b1h2 {
        grid-column: span 1;
    }

    .b1h3 {
        grid-column: span 1;
    }

    .texte p,
    .texte li {
        font-size: 1.3rem;
    }
}

