@charset "UTF-8";

/* -----  1.1 Font Definitions  --------------------------------------------- */

@font-face {
    font-family: "PTSerif";
    src:
        url("../fonts/pt_serif-web-bold-webfont.woff2") format("woff2"),
        url("../fonts/pt_serif-web-bold-webfont.woff") format("woff");
    font-weight: bold;
    font-style: normal;
}

@font-face {
    font-family: "PTSerif";
    src:
        url("../fonts/pt_serif-web-regular-webfont.woff2") format("woff2"),
        url("../fonts/pt_serif-web-regular-webfont.woff") format("woff");
    font-weight: normal;
    font-style: normal;
}

@font-face {
    font-family: "PTSerif";
    src:
        url("../fonts/pt_serif-web-bolditalic-webfont.woff2") format("woff2"),
        url("../fonts/pt_serif-web-bolditalic-webfont.woff") format("woff");
    font-weight: bold;
    font-style: italic;
}

@font-face {
    font-family: "Yanone Kaffeesatz";
    src: url("../fonts/YanoneKaffeesatz-VariableFont_wght.ttf");
    font-weight: bold;
    font-style: normal;
}

@font-face {
    font-family: "Yanone Kaffeesatz Bold";
    src: url("../fonts/YanoneKaffeesatz-Bold.ttf");
}

@font-face {
    font-family: "Web_Symbols";
    src:
        url("../fonts/websymbols-regular-webfont.woff2") format("woff2"),
        url("websymbols-regular-webfont.woff") format("woff");
    font-weight: normal;
    font-style: normal;
}

:root {
    --yellow: rgba(222, 194, 83, 1);
}

/* -----  1.2 Reset & Normalization  ---------------------------------------- */

*,
*::before,
*::after {
    margin: 0;
    padding: 0;
    border: none;
    box-sizing: border-box;
}

article,
aside,
figcaption,
figure,
footer,
header,
main,
menu,
nav,
section {
    /* Add correct display for IE 9- and some newer browsers */
    display: block;
}

::-moz-selection {
    background: #71efac;
    color: #261e66;
}

::selection {
    background: #71efac;
    color: #261e66;
}

ul {
    padding: 0 15px 25px 35px;
}

footer ul {
    padding: 0 15px 0 35px;
}

li {
    list-style-type: disc;
}

p {
    padding-bottom: 2rem;
}

a {
    color: black;
}

/* -----  1.3 General Typography  ------------------------------------------- */

* {
    font-family: PTSerif, Helvetica, sans-serif;
}

.clearfix {
    clear: both;
}

footer.row {
    position: fixed;
    bottom: 0;
    background-color: white;
}

.menu,
.logo a {
    font-family: "Yanone Kaffeesatz Bold", sans-serif;
}

ul.menu {
    padding: 0;
}

.logo a {
    font-size: 5rem;
    letter-spacing: 6px;
    color: rgba(80, 110, 120, 1);
    text-decoration: none;
}

.subtitle {
    padding-top: 1.2rem;
    padding-left: 50px;
    max-width: 525px;
    min-width: 525px;
    font-style: italic;
}

.menu-item {
    display: inline-block;
    margin-right: 15px;
}

.menu-item a {
    color: rgba(80, 110, 120, 1);
    text-decoration: none;
    font-family: "Yanone Kaffeesatz Bold", Helvetica, sans-serif;
    font-size: 1.3rem;
    letter-spacing: 1px;
}

.navigation .menu-item a {
    font-size: 1.7rem;
}

.icon {
    font-family: Web_Symbols !important;
}

.menu-item.is-active,
.text-with-bg {
    /*background-color: rgba(222, 194, 83, 1);*/
    position: relative;
}

.yellow-bg,
.yellow-bg p {
    background-color: var(--yellow) !important;
    color: black !important;
}

.white-bg,
.white-bg p {
    background-color: rgb(255, 255, 255) !important;
    color: black !important;
}

.getintouch .content {
    font-weight: bold;
}

.text-with-bg {
    display: inline-block;
}

.menu-item.is-active::before,
.text-with-bg:before {
    background-image: url(/assets/images/background.png);
    background-repeat: no-repeat;
    background-position: center;
    content: "";
    position: absolute;
    width: 120%;
    height: 200%;
    top: -35%;
    left: -10%;
    z-index: -1;
    -webkit-transform: rotate(-2deg);
    -moz-transform: rotate(-2deg);
    -ms-transform: rotate(-2deg);
    -o-transform: rotate(-2deg);
    transform: rotate(-2deg);
}

.text-with-bg:before {
    width: 103%;
    top: -45%;
    left: -1.5%;
    -webkit-transform: rotate(-0.5deg);
    -moz-transform: rotate(-0.5deg);
    -ms-transform: rotate(-0.5deg);
    -o-transform: rotate(-0.5deg);
    transform: rotate(-0.5deg);
}

.lang-menu {
    width: 100%;
    text-align: right;
}

.lang-menu .is-active a {
    color: white;
}

.lang {
    background-color: var(--yellow);
}

.uppercase {
    text-transform: uppercase;
}

img {
    max-width: 100%;
}

.width-25 {
    float: left;
    width: 25%;
    text-align: center;
}

.width-40 {
    float: left;
    width: 40%;
    text-align: center;
}

.width-50 {
    float: left;
    width: 50%;
}

.width-60 {
    float: left;
    width: 60%;
}

.width-100 {
    display: inline-block;
    width: 100%;
}

.contact-container .content {
    width: 100%;
    color: white;
    background-color: rgba(80, 110, 120, 1);
    border: solid white;
    border-radius: 20px;
    padding: 10px 15px;
    vertical-align: middle;
    -webkit-flex: 1; /* Safari */
    -ms-flex: 1; /* IE 10 */
    flex: 1; /* Standard syntax */
}

#leichte-sprache {
    padding-bottom: 50px;
}

.main-content figure {
    padding: 1em;
    display: block;
    margin: 0 auto;
}

#leichte-sprache .main-content figure {
    width: 40%;
}

#leichte-sprache * {
    font-family: "Segoe UI", Arial, sans-serif;
}

#leichte-sprache .main-content p {
    font-size: 20px;
    padding-bottom: 10px;
}

#leichte-sprache .main-content p strong {
    font-size: 22px;
}

#leichte-sprache p:first-of-type {
    position: relative;
    display: inline-block;
    text-align: left;
}

#leichte-sprache .bild-links {
    float: left;
}

#leichte-sprache .bild-rechts {
    float: right;
}

#leichte-sprache .contact-container {
    display: inline-block;
}

hr {
    border: 1px solid black;
    margin: 10px 20px 10px 10px;
}

.flex-container {
    width: 100%;
    display: -webkit-flex; /* Safari */
    display: flex; /* Standard syntax */
    margin: 0;
}

.flex-child {
    flex: 1;
}

.flex-child:first-child {
    flex-basis: 20px;
    flex-grow: 0;
    flex-shrink: 0;
}

#mail {
    flex-basis: 25px;
}

.only-mobile {
    display: none;
}

.contact-container a,
.contact-container .icon,
.contact-container p {
    color: white;
    text-decoration: none;
}

#privacy-hint {
    color: black;
    float: right;
    margin-bottom: 5px;
}

#privacy-hint a {
    color: black;
    text-decoration: underline;
}

.reachability {
    margin-top: -20px;
}

.main-content {
    background-color: var(--yellow);
    padding-bottom: 75px;
}

/****** LINKS AND DOWNLOADS *********/
details {
    padding: 0.5rem;
}

details summary {
    cursor: pointer;
    padding-bottom: 0.5rem;
}

details p {
    padding: 0 1rem;
}

details summary p {
    padding: 0;
    display: inline !important;
    font-weight: bold;
}

details > div {
    padding: 1rem;
}

details > div p {
    padding: 0 !important;
    margin: 0 !important;
}


.image-right-container {
    margin: 4px;
}

h1,
h2,
h3,
h4,
h5 {
    padding: 20px 10px 20px 10px;
}

p {
    margin-bottom: 1rem;
    padding: 0px 10px;
    font-weight: normal;
    font-size: 1rem;
    line-height: 1.4;
}

p:first-of-type {
    padding-top: 10px;
    position: relative;
    display: inline-block;
    text-align: left;
}

.contact-icon,
.first-aid-icon {
    padding-top: 20px;
}

.first-aid-icon {
    padding-left: 7px;
}

.getintouch {
    padding-top: 10px;
    float: left;
}

.supporters-container {
    padding-top: 1rem;
    display: inline-block;
    margin-bottom: 40px;
    position: relative;
}

.supporters-container span {
    font-weight: bold;
    font-size: 0.8rem;
    position: absolute;
    left: 30px;
}

.supporters-container .lh {
    padding-top: 1rem;
}

.supporters-container .senatorin {
    padding: 0 15px;
}

.expand {
    border: 1px solid black;
}

.blocker {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
    content: " ";
    z-index: 1;
}

.blocker.open {
    display: block;
}

@media only screen and (max-width: 1181px) {
    .logo {
        font-size: 4rem;
        letter-spacing: 4px;
    }
    .subtitle {
        padding-top: 0.4rem;
        max-width: 450px;
        font-size: 0.85rem;
    }

    .contact-icon {
        width: 25px;
        padding-left: 5px;
    }

    .first-aid-icon {
        width: 25px;
        padding-left: 7px;
    }

    .contact-container .content {
        padding: 0px;
    }

    /* .contact-container .flex-container {
        margin-bottom: 15px;
    } */
}

@media only screen and (max-width: 50.0625em) {
    .hide-on-small {
        display: none;
    }

    .only-mobile {
        display: inline-block;
    }

    .contact-icon {
        width: 25px;
        padding-left: 5px;
    }

    .first-aid-icon {
        width: 25px;
        padding-left: 7px;
    }

    .contact-container p {
        padding-left: 15px;
    }

    .contact-container .content {
        padding: 10px 20px;
    }

    .subtitle {
        padding: 0;
        max-width: none;
        min-width: initial;
    }
    .logo {
        padding: 0 15px;
    }
}

@media only screen and (min-width: 767px) {
    #leichte-sprache .w-75 {
        width: 75%;
    }
}

@media only screen and (max-width: 767px) {
    .contact-icon {
        width: 100%;
        float: none;
        left: 35%;
        position: relative;
        padding: auto;
    }

    .first-aid-icon {
        width: 100%;
        float: none;
        text-align: center;
        padding: auto;
    }

    .contact-container .content {
        padding: 10px 0px;
    }

    .flex-container .flex-container {
        flex-direction: column;
    }
}

#site-menu,
.toggle-nav {
    display: none;
}

@media only screen and (max-width: 50.0625em) {
    #site-wrapper {
        position: absolute;
        overflow: hidden;
        width: 100%;
        height: 100%;
        top: 4rem;
    }
    #site-canvas {
        width: 100%;
        height: 100%;
        position: relative;
        -webkit-transform: translateX(0);
        transform: translateX(0);
        -webkit-transition: 0.3s ease all;
        transition: 0.3s ease all;
        padding: 5% 0;
        /* Temp: Just spacing. */
    }
    #site-menu {
        position: absolute;
        top: 0;
        right: -100%;
        padding: 15px;
        background: rgba(255, 255, 255, 0.75);
        display: block;
    }
    #site-wrapper.show-nav #site-canvas {
        -webkit-transform: translateX(-100%);
        transform: translateX(-100%);
        z-index: 2;
    }
    .toggle-nav {
        position: absolute;
        right: 10px;
        font-size: 2rem;
        color: rgba(80, 110, 120, 1);
        display: block;
        z-index: 1;
        cursor: pointer;
        display: inline-block;
    }
    .offcanvas-menu {
        padding: 0 15px 25px 35px;
        text-align: right;
    }
    .offcanvas-menu-item a {
        text-decoration: none;
        font-family: "Yanone Kaffeesatz";
        font-size: 2rem;
        color: rgba(80, 110, 120, 1);
        z-index: 2;
        display: inline-block;
        position: relative;
    }

    .offcanvas-menu-item.regular a {
        font-weight: normal;
    }

    .offcanvas-menu-item.is-active::before {
        background-image: url(/assets/images/background.png);
        background-repeat: no-repeat;
        background-position: center;
        content: "";
        position: absolute;
        width: 23%;
        height: 170%;
        top: -35%;
        left: 78%;
        z-index: 0;
        -webkit-transform: rotate(-2deg);
        -moz-transform: rotate(-2deg);
        -ms-transform: rotate(-2deg);
        -o-transform: rotate(-2deg);
        transform: rotate(-2deg);
    }
    .offcanvas-menu-item {
        list-style-type: none;
        padding-bottom: 0.5rem;
        position: relative;
    }
}

@media only screen and (max-width: 425px) {
    #site-menu {
        width: 100%;
    }
}

.uniform__potty {
    position: absolute;
    left: -9999px;
}

form input,
form textarea {
    width: 100%;
    border: 1px solid rgba(80, 110, 120, 1);
    border-radius: 10px;
    padding: 5px;
    margin: 3px 0;
    color: rgba(80, 110, 120, 1);
}

form input.negative {
    background-color: rgba(80, 110, 120, 1);
    color: white;
}

.honeypot {
    position: absolute;
    left: -9999px;
}
