:root {
    --jek2025-color-black: #291e36;
    --jek2025-color-white: #ffffff;
    --jek2025-color-magenta: #ff00ff;
    --jek2025-color-cyan: #00ffff;
    --jek2025-color-background: var(--jek2025-color-black);
    --jek2025-color-font-main: var(--jek2025-color-white);
    --jek2025-breakpoint-s: 480px;
    --jek2025-breakpoint-m: 767px;
    --jek2025-breakpoint-l: 960px;
    --jek2025-breakpoint-xl: 1200px;
    --jek2025-button-font-size:24px;
}

/*Important: We need absolute Paths for the Fonts */

.entry-content a.campaign-component--jek2025-stoerer-article {
    transition: none;
    background: none;
    background-position: initial;
    background-position-y: initial;
}

.campaign-component--jek2025,
#banner-small.campaign-component--jek2025,
.entry-content a.campaign-component--jek2025-stoerer-article {
    background-color: var(--jek2025-color-background);
    color: var(--jek2025-color-white);
    text-align: center;
    text-decoration: none;
    padding-top:36px;
    padding-bottom:36px;
    position: relative;
    border-bottom:0;
}



#banner-small.campaign-component--jek2025 {
    padding:inherit;
}

#banner-small.campaign-component--jek2025 > * {
    color: var(--jek2025-color-white);
    margin: auto;
    max-width: 920px;
    padding-left: 30px;
    padding-right: 30px;
}

.campaign-component--jek2025 .np-btn {
    background-color:var(--jek2025-color-background);
    color:var(--jek2025-color-white);
    border-radius: 0px;
    border: 3px solid var(--jek2025-color-white);
}

.campaign-component--jek2025 .np-btn:active,
.campaign-component--jek2025 a.np-btn:active {
    box-shadow: none;
    color: var(--jek2025-color-background);
}

.campaign-component--jek2025 .np-btn:hover,
.campaign-component--jek2025 a.np-btn:hover {
    background: none;
    background-color: var(--jek2025-color-font-main);
    color: var(--jek2025-color-background);
}

.campaign-component--jek2025 .np-btn--secondary {
    background-color:#a2acbd;
    color:white;
}

.campaign-component--jek2025-stoerer-start,
.campaign-component--jek2025-stoerer-article,
.campaign-component--jek2025-stoerer-footer {
    display:block;
}
.campaign-component--jek2025-stoerer-article {
    margin-bottom:24px;
}

#banner-small.campaign-component--jek2025 strong {
    color: var(--jek2025-color-font-main);
    display: inline-block;
    margin-right:24px;
    hyphens: manual;
}

#banner-small.campaign-component--jek2025 strong span {
    font-size:30px;
}

.campaign-component--jek2025-title
.campaign-component--jek2025-text {
    display:block;
}


.campaign-component--jek2025-title-animated {
    color: var(--jek2025-color-font-main);
    font-size:72px;
    animation-name: changetext-title;
    animation-duration: 5s;
    animation-iteration-count: infinite;
    animation-direction: alternate;
    animation-timing-function:linear;
}

.campaign-component--jek2025 #banner_weg a {
    color:var(--jek2025-color-white);
}



.campaign-component--jek2025-text-animanted {
    position: absolute;
    display:block;
    color: var(--jek2025-color-white);
    top:40%;
    text-align: center;
    width:100%;
    font-size:36px;
    font-weight:900;
    opacity: 0;
    animation-name: changetext-text;
    animation-duration: 5s;
    animation-iteration-count: infinite;
    animation-direction: alternate;
    animation-timing-function:linear;

}

@keyframes changetext-title {
    0% {opacity:1}
    48% {opacity:1}
    52% {opacity:0}
    100% {opacity:0}
}

@keyframes changetext-text {
    0% {opacity:0}
    48% {opacity:0}
    52% {opacity:1}
    100% {opacity:1}
}

.campaign-component--jek2025-stoerer-footer {
    text-align:left;
}

.campaign-component--jek2025-stoerer-footer,
.campaign-component--jek2025-stoerer-footer h3 {
    border-top:0;
    color: var(--jek2025-color-white);
    background:var(--jek2025-color-background);
}

/* Progress Bar */

.jek2025__progress-bar-outer-wrapper {
    display:flex;
    flex-direction: row;
    align-items: center;
}

.jek2025__progress-bar-part {
    height: 40px;
    border: 4px var(--jek2025-color-white) solid;
    border-radius: 0px;
    padding: 4px;
}

@media only screen and (min-width: 800px) {
    .jek2025__progress-bar-part {
        height: 60px;
    }
}

.jek2025__progress-bar-wrapper {
    width:70%;
    margin-right:12px;
    position: relative;

}

@media only screen and (min-width: 800px) {
    .jek2025__progress-bar-wrapper {
        margin-right:24px;
    }
}

.jek2025__progress-bar-button,
a.jek2025__progress-bar-button {
    width:30%;
    display: inline-block;
    margin-left:1.24px;
    font-size:12px !important;
    line-height: 140%;
    min-width: 110px;
}


@media only screen and (min-width: 768px) {
    .jek2025__progress-bar-button,
    a.jek2025__progress-bar-button  {
    // font-size: 18px !important;
    }
}


@media only screen and (min-width: 800px) {
    .jek2025__progress-bar-button,
    a.jek2025__progress-bar-button  {
        font-size: 24px !important;
        line-height: 140%;
    }
}





.jek2025__progress-bar {
    width: 15%;
    background: var(--jek2025-color-white);
    height: 100%;
    padding: 0 10px;
    overflow: visible;
    animation: show-progress 0.8s;
    animation-delay: 1s;
    animation-fill-mode: forwards;
    border-bottom: 3px solid var(--jek2025-color-cyan);
    border-right: 3px solid var(--jek2025-color-cyan);
    border-top: 3px solid var(--jek2025-color-magenta);
    border-left: 3px solid var(--jek2025-color-magenta);
    position: relative;
    z-index: 3;

}

.background__topleft {
    width:100%;
    position:absolute;
    top:-4px;
    left:-4px;
    background-color:var(--jek2025-color-magenta);
    z-index: 1;
    height: 100%;
}

.background__bottomright {
    width:100%;
    position:absolute;
    top:4px;
    left:4px;
    background-color:var(--jek2025-color-cyan);
    z-index: 1;
    height: 100%;

}

.background__content {
    background-color: var(--jek2025-color-white);
    z-index: 4;
    height: 100%;
    width:100%;
    position: absolute;
    left:0;
}


.jek2025__progress-bar::before {
    content: " ";
    position: absolute;
    background-color: black;
    width:3px;
    height:3px;
    left:-3px;
    bottom:-3px;
    box-sizing: border-box;
}

.jek2025__progress-bar::after {
    content: " ";
    position: absolute;
    background-color: black;
    width:3px;
    height:3px;
    right:-3px;
    top:-3px;
    box-sizing: border-box;
}

.jek2025__progress-bar-corner {
    width:3px;
    height:3px;
    position:absolute;
    background-color:var(--jek2025-color-black);

}

.jek2025__progress-bar-corner-topright {
    top: 4px;
    left: calc(100% - (100% - var(--progress-value-left) / 100 * 100%));
}

.jek2025__progress-bar-corner-bottomleft {
    bottom: 4px;
}

@keyframes show-progress {
    from {
        width: 12%;
    }
    to {
        width: calc(100% - (100% - var(--progress-value-left) / 100 * 100%));
    }
}

.jek2025__progress-bar-text {
    display:none;
}

@media only screen and (min-width: 800px) {
    .jek2025__progress-bar-text {
        display:block;
        line-break: anywhere;
        width: auto;
        opacity: 1;
        padding-top:5px;
        font-size:26px;
        position:relative;
        top: -36px;
        padding-left: 10px;
        text-align: left;
        color: var(--jek2025-color-black);
        font-weight: 900;
        z-index: 10;
    }
}

.jek2025__amount-notice {
    color:var(--jek2025-color-font-main);
    font-weight: 900;
    text-align:left;
    margin-bottom:12px;
}

.jek2025__progress-bar-subline {
    text-align: left;
    text-transform: uppercase;
    margin-top: 0.5em;
    margin-left: 0.5em;
}

/* Paywall Variant for Bannertop */

#banner-small.campaign-component--jek2025-banner-top-paywall {

}

#banner-small.campaign-component--jek2025-banner-top-paywall .campaign-component--jek2025-text {
    display: flex;
    flex-direction: column;
    min-height:600px;
    justify-content: center;
}

#banner-small.campaign-component--jek2025-banner-top-paywall #banner_weg {
    font-size:48px;
}

#banner-small.campaign-component--jek2025-banner-top-paywall .headline {
    max-width:100%;
    font-size:66px;
    line-height:100%;
}

#banner-small.campaign-component--jek2025-banner-top-paywall .headline strong {
    margin-right:0;
}

@media only screen and (min-width: 350px) {
    #banner-small.campaign-component--jek2025-banner-top-paywall .headline {
        font-size: 84px;
    }
}

@media only screen and (min-width: 700px) {
    #banner-small.campaign-component--jek2025-banner-top-paywall .headline {
        font-size: 144px;
    }
}

#banner-small.campaign-component--jek2025-banner-top-paywall .underline {
    max-width: 480px;
    text-align: center;
    margin: auto;
    margin-top: 48px;
    margin-bottom:18px;
    line-height: 140%;

}

@media only screen and (min-width: 300px) {
    #banner-small.campaign-component--jek2025-banner-top-paywall .underline {
        font-size: 20px;
    }
}

@media only screen and (min-width: 700px) {
    #banner-small.campaign-component--jek2025-banner-top-paywall .underline {
        font-size:24px;
    }
}

#banner-small.campaign-component--jek2025-banner-top-paywall .np-btn--banner {
    padding:12px 24px;
    margin-top:36px;
    font-size:24px;
}


#banner-small #paywall-double-button #banner_weg {
    position:relative;
    top:inherit;
    left:inherit;
    right:inherit;
    width: auto;
    height: auto;
}

#banner-small #paywall-double-button #banner_weg .np-btn--banner {
    font-size:24px;
}

#banner-small.campaign-component--jek2025-banner-top-paywall {
    animation: leiste-kampagne-v2 1s 1 cubic-bezier(0.17, 0.67, 0.83, 0.67);
}

@keyframes leiste-kampagne-v2 {
    from {
        transform: translateY(-800px);
    }

    to {
        transform: translateY(0px);
    }
}

/* Glitch section */

.campaign-component--jek2025-stoerer-article-content {
    display:flex;
    flex-direction: column;
}

.campaign-component--jek2025-stoerer-article {
    container-type: inline-size;
    padding-top: 70px;
}

.campaign-component--jek2025-glitch-section {
    text-align: left;
    margin:auto;
    max-width: min-content;
    margin-bottom:50px;
}

.campaign-component--jek2025-glitch-section-outer {
    color:black;
    font-size:22px;
    font-weight:bold;
}
.campaign-component--jek2025-glitch-section-inner {
    padding:10px;
    background: white;
    white-space: nowrap;
    position:relative;
    line-height: 100%;
}
.campaign-component--jek2025-glitch-section-inner-one {
    border-top:5px solid var(--jek2025-color-magenta);
    border-left:5px solid var(--jek2025-color-magenta);
    border-right:5px solid var(--jek2025-color-cyan);
    z-index:2;
    top:0px;
    padding-right: 16px;
}
.campaign-component--jek2025-glitch-section-inner-two {
    border-top:5px solid var(--jek2025-color-magenta);
    border-left:5px solid var(--jek2025-color-magenta);
    border-right:5px solid var(--jek2025-color-cyan);
    border-bottom:5px solid var(--jek2025-color-cyan);
    z-index:1;
}
.campaign-component--jek2025-glitch-section-inner-one:before {
    content:" ";
    position:absolute;
    width:5px;
    height:16px;
    background:white;
    bottom:0px;
    right:-5px;
}
.campaign-component--jek2025-glitch-section-inner-one:after {
    content:" ";
    position:absolute;
    width:5px;
    height:5px;
    background:var(--jek2025-color-background);
    top:-5px;
    right:-5px;
}
.campaign-component--jek2025-glitch-section-inner-two:before {
    content:" ";
    position:absolute;
    width:5px;
    height:5px;
    background:var(--jek2025-color-background);
    bottom:-5px;
    left:-5px;
}
.campaign-component--jek2025-glitch-section-inner-two:after {
    content:" ";
    position:absolute;
    width:5px;
    height:5px;
    background:var(--jek2025-color-background);
    top:-5px;
    right:-5px;
}

/* @container (width > 740px) {*/
@media only screen and (min-width: 1100px) {

    .campaign-component--jek2025-glitch-section {
        max-width:600px;
        width:600px;
        margin-left:20px;
        margin-right:20px;
    }

    .campaign-component--jek2025-stoerer-article-content {
        flex-direction: column;
    }

    .campaign-component--jek2025-stoerer-article-content-with-button {
        flex-direction: row;
    }

    .campaign-component--jek2025-glitch-section-inner-one {
        top:0;
        border-right:0;
        border-bottom:5px solid var(--jek2025-color-cyan);
        padding-right:6px;
    }
    .campaign-component--jek2025-glitch-section-inner-two {
        border-left:0;
        left:-15px;
    }
    .campaign-component--jek2025-glitch-section-inner-one:before {
        background:var(--jek2025-color-background);
        height:5px;
        bottom:-5px;
        left:-5px;
    }
    .campaign-component--jek2025-glitch-section-inner-one:after {
        display:none;
    }
    .campaign-component--jek2025-glitch-section-inner-two:before {
        display:none;
    }
    .campaign-component--jek2025-glitch-section-inner-two:after {

    }


}

@media only screen and (max-width: 800px) {
    .np-btn {
        width: auto;
    }
}

.campaign-component--jek2025-stoerer-article-btn.np-btn {
    font-size:22px;
    margin-right: 20px;
    padding: 14px 24px;
    position: relative;
    top: -10px;
    white-space: nowrap;

}

/* Burning Hearts beyond this point */

#burninglove {
    width: 18px;
    height: 36px;
    top: 4px;
    position: relative;

    image-rendering: -moz-crisp-edges;
    image-rendering: -webkit-crisp-edges;
    image-rendering: pixelated;
    image-rendering: crisp-edges;
}

@media only screen and (max-width: 580px) {
    #burninglove {
        top:4px;
    }
}

@media only screen and (max-width: 959px) {
    .header--large .header-donation {
        top:0px;
    }
}

.header--small .header-donation:has(#burninglove) {
    top:0px !important;
}