
body {
    min-height: 100vh;
}

/* padding: var(--main-pt) var(--px); */
.single-party-header {
    height: 85vh;
    padding: 0 var(--px);
}
.single-party-header .abs-img {
    /* right: var(--px);
    bottom: 0; */
    width: auto;
    max-width: var(--abs-img-mw);
    /* height: 500px; */
    z-index: 6;
}
.single-party-header h5,
.single-party-header h1 {
    transform: var(--h1-h5-tr-y);
}
.single-party-header h1 {
    /* border: 1px solid red; */
    font-size: calc(.5 * var(--static-header-h1-fs));
    text-align: left;
    font-family: "Kaisei", serif;
}
.single-party-header > h5 {
    margin-bottom: min(5vmin, 50px);
}
.single-party-header p {
    text-align: center;
    color: var(--sec-col);
}
main .main-picture-holder {
    width: var(--img-hold-w);
}
main .main-picture-holder img {
    width: 100%;
}
main .blocktext-holder .anliegen-kachel {
    width: 100%;
    border-radius: min(3vmin, 15px);
    margin: var(--gl-mt) min(5vmin, 30px) 0;
    padding: min(5vmin, 50px) min(3vmin, 30px);
}
main .blocktext-holder {
    margin-top: var(--gl-mt);
    padding: 0 var(--px);
}
main .blocktext-holder p {
    margin-top: var(--bthold-p-mt);
}
main .blocktext-holder.summary p {
    text-align: center;
}
main .stats-logo-holder {
    margin-top: var(--gl-mt);
    padding: 0 var(--px);
}
main .stats-logo-holder span,
main .stats-logo-holder p {
    color: var(--sec-col);
}
main .stats-logo-holder p a {
    text-decoration: underline;
    color: var(--sec-col);
}
main .stats-logo-holder p a:visited {
    color: var(--tert-col);
}
main .stats-logo-holder span {
    font-size: calc(.8 * var(--h5-fs));
}
main .blocktext-holder ul {
    list-style-type: disc;
    padding-left: var(--ul-ps);
    margin-top: var(--bthold-p-mt);
}
main .blocktext-holder ul li {
    margin-top: var(--bthold-p-mt);
}
main .blocktext-holder h2::selection,
main .blocktext-holder p::selection,
main .blocktext-holder span::selection,
main .blocktext-holder li::selection {
    background-color: var(--sec-col-l-10);
    color: var(--white-col);
}
main .button-holder {
    width: 100%;
    padding: 0 var(--px);
    margin-top: var(--gl-mt);
}
main .button-holder a {
    background-color: var(--sec-col);
    width: var(--pols-kach-w);
    aspect-ratio: 1;
    border: 1px solid var(--sec-col);
    padding: var(--a-py) var(--a-pe) var(--a-py) var(--a-ps);
    border-radius: 5px;
    color: var(--sec-col);
}
main .button-holder a h5 {
    font-size: var(--bl-kach-p-fs);
}
main .button-holder a i,
main .button-holder a h5 {
    color: var(--white-col);
}
main .button-holder a i {
    font-size: var(--h4-fs);
}
main .sources-holder {
    margin-top: var(--gl-mt);
    aspect-ratio: 1.5;
    background-image: var(--src-bg);
    background-size: 100%;
    background-repeat: no-repeat;
    padding: var(--gl-mt) var(--px) 0;
}
main .sources-holder ul {
    margin-top: var(--bthold-p-mt);
}
main .sources-holder ul li a::before {
    content: "";
    display: inline-block;
    margin-right: 10px;
    width: var(--p-fs);
    height: var(--p-fs);
    background-color: currentColor; /* Inherits text color */
    mask-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20512%20512%22%3E%3Cpath%20d%3D%22M352%200c-12.9%200-24.6%207.8-29.6%2019.8s-2.2%2025.7%206.9%2034.9L370.7%2096%20201.4%20265.4c-12.5%2012.5-12.5%2032.8%200%2045.3s32.8%2012.5%2045.3%200L416%20141.3l41.4%2041.4c9.2%209.2%2022.9%2011.9%2034.9%206.9s19.8-16.6%2019.8-29.6l0-128c0-17.7-14.3-32-32-32L352%200zM80%2032C35.8%2032%200%2067.8%200%20112L0%20432c0%2044.2%2035.8%2080%2080%2080l320%200c44.2%200%2080-35.8%2080-80l0-112c0-17.7-14.3-32-32-32s-32%2014.3-32%2032l0%20112c0%208.8-7.2%2016-16%2016L80%20448c-8.8%200-16-7.2-16-16l0-320c0-8.8%207.2-16%2016-16l112%200c17.7%200%2032-14.3%2032-32s-14.3-32-32-32L80%2032z%22%2F%3E%3C%2Fsvg%3E");
    mask-size: contain;
    mask-repeat: no-repeat;
}
main .sources-holder ul li {
    margin: min(3vmin, 30px) 0;
}
main .sources-holder a {
    color: var(--sec-col);
}
main .sources-holder a:visited {
    color: var(--tert-col-d-20);
}



@media screen and (min-width: 0px) {
    main {
        --main-pt: min(8vmin, 80px);
        /* --main-h1-fs: calc(.5 * var(--h1-fs)); */
        --main-h2-fs: calc(.5 * var(--h2-fs));
        --main-h3-fs: calc(.5 * var(--h3-fs));
        /* header */
        --vis-h1-fs: calc(1 * var(--h1-fs));
        --static-header-trans-y: calc( -1 * min(18vmin, 180px));
        --static-header-h1-fs: calc(1.2 * var(--vis-h1-fs));
        --abs-img-mw: 200px;
        /* img */
        --img-hold-w: min(70%, 300px);
        /* blocktexts: */
        --bthold-my: min(5vmin,40px);
        --bthold-p-mt: min(2.5vmin, 20px);
        /* ul: */
        --ul-ps: min(3.5vmin, 35px);
        /* buttons: */
        --a-py: min(2vmin, 20px);
        --a-pe: min(5vmin, 50px);
        --a-ps: min(3vmin, 30px);
        /* sources */
        --src-mt: min(5vmin, 50px);
        --pols-kach-w: min(45%, 350px);
        /* for dev use http://0.0.0.0 instead of https://wahlbuddy.org */
        /* TODO change url to https://wahlbuddy.org */
        --src-bg:  url("https://wahlbuddy.org/images/single_parties/single_party_bottom_img_1000x600.jpg");
        /* --src-bg:  url("http://0.0.0.0:8000/images/single_parties/single_party_bottom_img_1000x600.jpg"); */
        /* stats */
        --stat-hold-w: 50%;
        --stat-img-w: 40%;
        --src-ar: 1.5;
        --h1-h5-tr-y: translate(0, 0);
        --bl-kach-p-fs: 1.4rem;
        --bl-kach-i-fs: var(--h4-fs);
    }
    @media screen and (min-aspect-ratio: 1) {
        main {
            --abs-img-mw: 150px;
            /* img */
            --img-hold-w: min(40%, 300px);
            /* stats */
            --stat-hold-w: 60%;
            --stat-img-w: 30%;
            --src-ar: 3;
            --h1-h5-tr-y: translate(0, min(10vmin, 50px));
            --vis-h1-fs: calc(1.5 * var(--h1-fs));
            --pols-kach-w: min(40%, 250px);
            --bl-kach-p-fs: 1.7rem;
        }
    }
}
@media screen and (min-width: 576px) {
    main {
        --static-header-h1-fs: calc(1.2 * var(--vis-h1-fs));
        --abs-img-mw: 300px;
        /* stats */
        --stat-hold-w: 60%;
        --stat-img-w: min(30%, 400px);
    }
    @media screen and (min-aspect-ratio: 1) {
        main {
            --h1-h5-tr-y: translate(0, min(10vmin, 50px));
            --static-header-h1-fs: calc(1 * var(--vis-h1-fs));
            --abs-img-mw: 200px;
            --pols-kach-w: min(45%, 350px);
        }
    }
}
@media screen and (min-width: 768px) {
    main {
        --pols-kach-w: 45%;
        --static-header-h1-fs: calc(1.5 * var(--vis-h1-fs));
        --abs-img-mw: 400px;
        --bl-kach-p-fs: 1.6rem;
    }
    @media screen and (min-aspect-ratio: 1) {
        main {
            --pols-kach-w: 45%;
            --h1-h5-tr-y: translate(0, min(15vmin, 100px));
            --abs-img-mw: 250px;
            --static-header-h1-fs: calc(1 * var(--vis-h1-fs));
            --bl-kach-p-fs: 1.8rem;
        }
    }
}
@media screen and (min-width: 992px) {
    main {
        /* blocktexts: */
        --bl-kach-p-fs: 1.8rem;
        --bthold-p-mt: min(1.5vmin, 15px);
        /* for dev use http://0.0.0.0 instead of https://wahlbuddy.org */
        /* TODO change url to https://wahlbuddy.org */
        --src-bg:  url("https://wahlbuddy.org/images/single_parties/single_party_bottom_img_2500x1700.jpg");
        /* --src-bg:  url("http://0.0.0.0:8000/images/single_parties/single_party_bottom_img_2500x1700.jpg"); */
    }
}
@media screen and (min-width: 1200px) {
    main {
        --static-header-h1-fs: calc(1.8 * var(--vis-h1-fs));
        --bl-kach-i-fs: calc(1.3 * var(--h4-fs));
    }
    @media screen and (min-aspect-ratio: 1) {
        main {
            --abs-img-mw: 300px;
            --static-header-h1-fs: calc(1.2 * var(--vis-h1-fs));
        }
    }
}
@media screen and (min-width: 1400px) {
    main {
        --static-header-h1-fs: calc(2 * var(--vis-h1-fs));
        --bl-kach-p-fs: 2.3rem;
        --bl-kach-i-fs: calc(1.6 * var(--h4-fs));
    }
    @media screen and (min-aspect-ratio: 1) {
        main {
            --abs-img-mw: 300px;
            --static-header-h1-fs: calc(1.4 * var(--vis-h1-fs));
        }
    }
}
@media screen and (min-width: 1600px) {
    main {
        --static-header-h1-fs: calc(2.3 * var(--vis-h1-fs));
    }
    @media screen and (min-aspect-ratio: 1) {
        main {
            --abs-img-mw: 300px;
            --static-header-h1-fs: calc(1.4 * var(--vis-h1-fs));
        }
    }
}
@media screen and (min-width: 1800px) {
    main {
        --static-header-h1-fs: calc(2.3 * var(--vis-h1-fs));
    }
    @media screen and (min-aspect-ratio: 1) {
        main {
            --abs-img-mw: 400px;
            --static-header-h1-fs: calc(1.4 * var(--vis-h1-fs));
        }
    }
}