/*
Theme Name:		Alpenrhein
Theme URI: 		https://lebendiger-alpenrhein.org
Version: 		1.17
*/

@import url('https://fonts.googleapis.com/css2?family=Karla:ital,wght@0,200..800;1,200..800&display=swap');

html {
    -moz-text-size-adjust: none;
    -webkit-text-size-adjust: none;
    text-size-adjust: none;
}

html, body {
    background: #fff;
    overflow-x: hidden;
    font-weight: 300;
}

body {
    --first-level-group-padding: 3em;
    --gap-medium: 1em;
    padding-top: 0;
}


    @media (min-width: 600px) {
        body {
            --first-level-group-padding: 3.334em;
            --gap-medium: 1em;
        }
    }

    @media (max-width: 599px) {
        body {
            --wp--preset--font-size--medium: 16px;
        }
    }




.editor-hint {
    border: 2px solid var(--wp--preset--color--vivid-cyan-blue);
    color: var(--wp--preset--color--vivid-cyan-blue);
    padding: 1em;
}

.single-project h1,
.single-project h2,
.single-project .is-style-lead-text {
    color: var(--wp--preset--color--secondary);
}

.single-project > .wp-block-group .wp-block-post-featured-image ~ * {
    margin-left: auto !important;
    margin-right: 0 !important;
    max-width: 50em !important;
}

.single-project .project-status-list {
    margin-bottom: 1em;
    display: flex;
    flex-flow: row wrap;
    gap: 1em;
}

.single-project .project-status-list > * {
    text-decoration: none;
    display: inline-block;
    font-weight: bold;
    border: 1px solid #fff;
    background: rgba(255,255,255,0.05);
    border-radius: 99px;
    padding: 0.5em 1em;
}

.single-project .project-status-list > .is-alarm {
    width: 2.5em;
    min-height: 1.2em;
    width: fit-content;
    padding: 0 1em 0 1.75em;
    background: url(assets/images/alarm-thin.svg) no-repeat center left;
    background-size: 1.25em auto;
    border-color: transparent;
    border-radius: 0 !important;
}

.single-project .project-status-list > * + .is-alarm {
    margin-left: -0.5em;
}

@media print {
    body {
        --wp--preset--color--primary: #fff;
        --wp--preset--color--secondary: #fff;
        --wp--preset--color--tertiary: #fff;
        --wp--preset--color--quaternary: #222;
        --wp--preset--color--foreground: #fff;
    }

    * {
        -webkit-print-color-adjust: exact !important;
        color-adjust: exact !important;
        print-color-adjust: exact !important;
    }

}

*:focus:not(:focus-visible) {
    outline: none;
}

*:focus:focus-visible {
    outline: 3px solid var(--wp--preset--color--foreground) !important;
    outline-offset: 3px;
    /* border-radius: 3px; */
}

.flickity-enabled:focus:focus-visible {
    outline: none !important
}


:where(.wp-block-group.has-background) {
    padding: 2em
}

    @media (min-width: 800px) {
        :where(.wp-block-group.has-background) {
            padding: 4.5em
        }
    }

/* body.overlay-nav-open {
    padding-top: 0;
}

    body.overlay-nav-open header ~ * {
        display: none !important;
    } */


* {
    box-sizing: border-box;
    font-smoothing: antialiased;
    -webkit-font-smoothing: antialiased;
}

*:first-child {
    margin-top: 0 !important;
    margin-block-start: 0;
}

*:last-child {
    margin-bottom: 0 !important;
    margin-block-end: 0;
}

a {
    color: inherit;
    text-underline-offset: 0.3em;
}

    .has-foreground-background-color a:not(.has-text-color) {
        color: inherit !important;
    }

header {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 99;
    height: 1px !important;
    overflow: visible;
    z-index: 99999999;
}

    .is-scrolling header {
        position: fixed;
        background-color: rgba(0,0,0,0.5) !important;
        backdrop-filter: blur(10px);
        height: 4em !important;
    }

    .nav-open header {
        height: 100% !important;
        position: fixed;
    }

    body.page-id-296 header::before {
        pointer-events: none;
        content: "";
        display: block;
        z-index: 99;
        width: 100%;
        height: 50vh;

        background: linear-gradient(180deg, rgba(20, 37, 16, 0.9) 2%, rgba(26, 73, 57, 0) 46%);

        transition: all 0.3s ease-out;
    }

    body.page-id-296.has-overlay-project header::before {
        width: 50%;
        margin-left: 50%;
    }

    @media (max-width: 999px) {
        body.page-id-296.has-overlay-project header {
            display: none;
        }

        .is-overlay .wp-block-spacer {
            display: none;
        }
    }

    .overlay-placeholder {
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background: var(--wp--preset--color--tertiary);
        z-index: 9;
        margin: 0 !important;
        transform: translateX(-100%);
        transition: all 0.3s ease-out;
    }

        @media (min-width: 1000px) {
            .overlay-placeholder {
                width: 50%;
            }
        }

        .has-overlay-project .overlay-placeholder {
            transform: translateX(0%);
        }

        .has-overlay-project #google-map {
            width: 50%;
            left: 50%;
        }

    .wp-block-site-logo {
        display: block;
        width: 10.35em;
        height: 4.35em;
        position: absolute;
        top: 2.5em;
        left: 2.5em;
        z-index: 9999;
        transition: all 0.2s ease-out;
    }

        @media (max-width: 599px) {
            .wp-block-site-logo {
                left: 1em;
            }
        }

        .wp-block-site-logo img {
            width: 100% !important;
            height: auto !important;
        }

        .is-scrolling:not(.nav-open) .wp-block-site-logo {
            width: 6em;
            height: 3em;
            top: 0.9em;
        }

        @media (max-width: 599px) {
            .wp-block-site-logo {
                width: 6em;
                height: 3em;
                top: 1em;
            }
        }

        .has-overlay-project:not(.nav-open) .wp-block-site-logo {
            left: calc(50% + 2.5em);
        }

    .home:not(.nav-open) header .wp-block-site-logo {
        display: none;
    }

    .is-scrolling  header .wp-block-site-logo {
        display: block !important;
    }

.entry-content {
    margin-top: 0;
}

    .entry-content,
    .entry-content > *:first-child {
        margin-block-start: 0;
    }

.entry-content > .wp-block-group.has-background,
.entry-content > .wp-block-group:not(.has-background) > .wp-block-group.has-background,
footer >  .wp-block-group.has-background {
    margin-block-start: 0;
    padding-top: var(--first-level-group-padding);
    padding-bottom: var(--first-level-group-padding);
    padding-left: calc(var(--first-level-group-padding) / 2);
    padding-right: calc(var(--first-level-group-padding) / 2);
}

.entry-content > .wp-block-group:not(.has-background) > .wp-block-group {
    margin-block-start: 0;
}




/* .is-style-narrow */
.is-style-narrow {
    max-width: 38.8em !important;
}

/* .is-style-narrow-mid */
.is-style-narrow-mid {
    max-width: 30.933em !important;
}

strong {
    font-weight: 600 !important;
}

/* Normal Button Hover */
.wp-block-button:not([class*='is-style-']) .wp-block-button__link {
    transition: color 0.2s ease-out, background 0.2s ease-out;
}

.wp-block-button:not([class*='is-style-']) .wp-block-button__link:hover {
    background: var(--wp--preset--color--primary);
    color: var(--wp--preset--color--background);
}

/* Button .is-style-outlune */
.wp-block-button.is-style-outline .wp-block-button__link {
    background: transparent !important;
}

/* Button .is-style-underline */
.wp-block-button.is-style-underline {
    font-size: 0.66em;
    line-height: 1.25
}

.wp-block-button.is-style-underline .wp-block-button__link {
    padding: 0 !important;
    font-weight: 600;
    font-size: 1em;
    line-height: 1.45;
    background: transparent !important;
    position: relative !important;
}

.wp-block-button.is-style-underline .wp-block-button__link::before {
    content: "";
    display: block;
    height: 4px;
    background: var(--wp--preset--color--foreground);
    position: absolute;
    bottom: -2px;
    width: 100%;
    border-radius: 99px;
}

    .wp-block-button.is-style-underline .wp-block-button__link.has-primary-background-color::before { background: var(--wp--preset--color--primary); }
    .wp-block-button.is-style-underline .wp-block-button__link.has-secondary-background-color::before { background: var(--wp--preset--color--secondary); }
    .wp-block-button.is-style-underline .wp-block-button__link.has-tertiary-background-color::before { background: var(--wp--preset--color--tertiary); }
    .wp-block-button.is-style-underline .wp-block-button__link.has-quaternary-background-color::before { background: var(--wp--preset--color--quaternary); }
    .wp-block-button.is-style-underline .wp-block-button__link.has-quinary-background-color::before { background: var(--wp--preset--color--quinary); }
    .wp-block-button.is-style-underline .wp-block-button__link.has-foreground-background-color::before { background: var(--wp--preset--color--foreground); }
    .wp-block-button.is-style-underline .wp-block-button__link.has-background-background-color::before { background: var(--wp--preset--color--background); }


/* Image Columns .image-gallery-columns */
.image-gallery-columns {
    width: calc(100% + 6em);
    width: 100%;
    margin: 2em auto;
}

    .image-gallery-columns img,
    a[data-lightbox] img {
        background: #365739;
        border: 1px solid rgba(255, 255, 255, 0.7);
        border-radius: 0.3em;
        box-shadow: 0 0.2em 0.4em rgba(0,0,0,0.2);
        max-width: 100%;
        height: auto;
    }

    .image-gallery-columns a,
    a[data-lightbox] {
        transition: all 0.2s ease-out;
        display: block;
    }

    .image-gallery-columns a:hover,
    a[data-lightbox]:hover {
        /* transform: scale(0.95); */
    }

    .image-gallery-columns figure > * {
        max-width: 100% !important;
        height: auto !important;
    }

/* Lead .is-style-lead-text */
p.is-style-lead-text {
    font-size: 1.33em;
    line-height: 1.27;
    font-weight: 500;
}

/* Breadcrumbs */
.yoast-breadcrumbs {
    font-size: 0.667em;
    line-height: 1.1;
    max-width: 100% !important;
}

/* Media - Text */
.wp-block-media-text:not([class*='is-style-']) {

}

    .wp-block-media-text:not([class*='is-style-']) .wp-block-media-text__content {
        padding-left: 0 !important;
        padding-right: 0 !important;
    }

    @media (min-width: 600px) {
        .wp-block-media-text:not([class*='is-style-']) .wp-block-media-text__media:not(.has-media-on-the-right) {
            transform: translateX(-3.335em);
        }

        .wp-block-media-text:not([class*='is-style-']) .wp-block-media-text__media.has-media-on-the-right {
            transform: translateX(3.335em);
        }
    }


    .wp-block-media-text.has-image-overlap:not([class*='is-style-']) .wp-block-media-text__media img {
        position: relative !important;
        margin-top: -4.5em !important;
        margin-bottom: 2em !important;
    }

    @media (min-width: 600px) {
        .wp-block-media-text.has-image-overlap:not([class*='is-style-']) .wp-block-media-text__media {
            align-self: flex-end;
        }

        .wp-block-media-text.has-image-overlap:not([class*='is-style-']) .wp-block-media-text__media img {
            position: relative !important;
            margin-top: -4.5em !important;
            margin-bottom: -3.5em !important;
        }
    }

/* Lists */
.entry-content ul {
    padding-left: 2em;
    margin-bottom: 2em;
}

    ul li.is-style-check {
        list-style-type: none;
        position: relative;
    }

        ul li.is-style-check::before {
            content: "";
            width: 1em;
            height: 1em;
            background: url(assets/images/check.svg) no-repeat left center;
            background-size: contain;
            position: absolute;
            top: 0.2em;
            left: -2em;
        }

    ul li.is-style-check + li.is-style-check {
        margin-top: 0.5em;
    }

/* Linklist */
ul.is-style-linklist {
    padding-left: 4em;
    list-style-type: none;
}

    ul.is-style-linklist li {
        position: relative;
    }

        ul.is-style-linklist li + li {
            margin-top: 1.25em;
        }

        ul.is-style-linklist li a {
            text-decoration: none;
        }

        ul.is-style-linklist li::before {
            content: "";
            display: block;
            position: absolute;
            background: url(assets/images/linklist-arrow.svg) no-repeat center;
            background-size: contain;
            width: 0.67em;
            height: 1em;
            left: -2.8em;
            top: 50%;
            transform: translateY(-50%);
        }


/* Article Meta Nav */
.article-meta-nav {
    border-top: 2px solid #575757;
    padding: 0.667em 0;
    margin-top: 2em;
}

    .share-bar {
        gap: 0.5em;
    }

        .share-bar > p {
            white-space: nowrap;
        }

    .social-share-buttons {
        display: flex;
        flex-flow: row wrap;
        align-items: center;
        gap: 0.25em;
    }

        .social-share-buttons > a {
            width: 1em;
            height: 1em;
            overflow: hidden;
            display: block;
            background: #ccc;
        }

/* Media-Text .wp-block-media-text[class*='is-style-stacked']-* */
.wp-block-media-text[class*='is-style-stacked'] {
    display: block;
}

    .wp-block-media-text[class*='is-style-stacked'] .wp-block-media-text__media {
        background: #eee;
    }

    .wp-block-media-text[class*='is-style-stacked'] .wp-block-media-text__media img,
    .wp-block-media-text[class*='is-style-stacked'] .wp-block-media-text__media video {
        width: 100%;
        aspect-ratio: 2 / 1;
        object-fit: cover;
    }

        .wp-block-media-text.is-style-stacked-spacious .wp-block-media-text__media img,
        .wp-block-media-text.is-style-stacked-spacious .wp-block-media-text__media video {
            aspect-ratio: 3 / 2;
        }

    .wp-block-media-text[class*='is-style-stacked'].has-background-color .wp-block-media-text__content {
        padding: 0.67em;
    }

    .wp-block-media-text.is-style-stacked-spacious.has-background-color .wp-block-media-text__content {
        padding: 1.66em 1em;
    }


/* Row Three / Four / Six */
.is-style-row-2,
.is-style-row-3,
.is-style-row-4,
.is-style-row-6 {
    gap: var(--gap-medium) var(--gap-medium);
    flex-flow: row wrap !important
}

    .is-style-row-2 > *[class*='wp-block'],
    .is-style-row-2 .flickity-slider > *,
    .is-style-row-3 > *[class*='wp-block'],
    .is-style-row-3 .flickity-slider > *,
    .is-style-row-4 > *[class*='wp-block'],
    .is-style-row-4 .flickity-slider > *,
    .is-style-row-6 > *[class*='wp-block'],
    .is-style-row-6 .flickity-slider > * {
        width: 100% !important
    }

    @media (min-width: 600px) {
        .is-style-row-2 > *[class*='wp-block'],
        .is-style-row-2 .flickity-slider > *,
        .is-style-row-3 > *[class*='wp-block'],
        .is-style-row-3 .flickity-slider > *,
        .is-style-row-4 > *[class*='wp-block'],
        .is-style-row-4 .flickity-slider > *,
        .is-style-row-6 > *[class*='wp-block'],
        .is-style-row-6 .flickity-slider > * {
            width: calc(50% - var(--gap-medium)*0.5) !important;
            gap: var(--gap-medium);
        }
    }

    @media (min-width: 900px) {
        .is-style-row-3 > *[class*='wp-block'],
        .is-style-row-3 .flickity-slider > * {
            width: calc(33.33% - var(--gap-medium)*0.667) !important;
        }

        .is-style-row-3 .flickity-slider > * {
            width: calc(33.33% - 1.5em) !important;
        }

        .is-style-row-4 > *[class*='wp-block'],
        .is-style-row-4 .flickity-slider > * {
            width: calc(25% - var(--gap-medium)*0.75) !important;
        }

        .is-style-row-6 > *[class*='wp-block'],
        .is-style-row-6 .flickity-slider > * {
            width: calc(16.66% - var(--gap-medium)*0.834) !important;
        }
    }


    div[class*='is-style-row-'] > .wp-block-media-text[class*='is-style-stacked'] {
        min-height: 100%;
        align-self: stretch;
    }

/* Footer */
footer {
    margin-top: 0;
}

    footer a {
        text-decoration: none;
    }

    footer a:hover {
        color: var(--wp--preset--color--primary) !important;
    }

    footer .footer-cols {
    }

    footer .footer-cols > * {
        font-size: 0.67em;
        line-height: 1.4;
    }

    footer .is-footer-quicknav {
        flex: 1;
    }

        footer .is-footer-quicknav p.has-large-font-size + p.has-large-font-size {
            margin-top: 0.5em;
        }

    footer .is-footer-contact {
        flex: 2;
    }

    footer .is-footer-mainnav {
        flex: 3;
    }

        footer .is-footer-mainnav > .wp-block-group {
            width: 100%;
        }

            footer .is-footer-mainnav > .wp-block-group + .wp-block-group {
                margin-top: 2em;
            }

        footer .is-footer-mainnav > .wp-block-group > * {
            flex: 1;
        }



.editor-editor-canvas__post-title-wrapper {
    margin-top: 0 !important;
}

h1.editor-post-title {
    border: 1px dashed var(--wp-admin-theme-color);
    padding: 0.5em;
    margin: 0 1em 1em 1em !important;
}


.grid-button-holder {
    align-self: center;
}


/* Slider */
body:not(.frontend) .wp-block-group.is-style-slider,
body:not(.frontend) .wp-block-query.is-style-slider {
    border: 2px solid var(--wp--preset--color--primary);
    position: relative;
    padding: 1em;
}


    body:not(.frontend) .wp-block-group.is-style-slider > *,
    body:not(.frontend) .wp-block-query.is-style-slider li.wp-block-post  {
        border: 2px solid var(--wp--preset--color--primary);
        position: relative;
    }

        body:not(.frontend) .wp-block-group.is-style-slider > *::before,
        body:not(.frontend) .wp-block-query.is-style-slider li.wp-block-post::before {
            content: "Slide";
            position: absolute;
            left: 0;
            top: 0;
            padding: 0.5em 1em;
            background: var(--wp--preset--color--primary);
            z-index: 9999;
            font-weight: bold;
            color: #fff;
            font-size: 13px;
            opacity: 0.7;
        }

    .flickity-slider > * {
        margin-top: 0 !important
    }

.flickity-viewport,
.flickity-slider {
    width: 100%;
}

    .flickity-slider > * {
        width: 100%;
        margin: 0 1em;
        opacity: 0;
        transition: opacity 0.5s ease-out;
    }

    .flickity-slider > *.is-selected {
        opacity: 1;
    }

    .flickity-viewport {
        overflow: visible;
    }


.flickity-page-dots {
    display: flex;
    flex-flow: row wrap;
    gap: 0.5em;
    justify-content: center;
    left: 0;
    width: 100%;
    padding: 0;
    position: relative;
    bottom: auto;
    margin-top: 2em;
    margin-bottom: 2em !important;
    padding-left: 0 !important
}

    .entry-content .flickity-page-dots {
        padding-left: 0 !important
    }

    .entry-content .flickity-page-dots li.dot {
        margin: 0;
        width: 0.8em;
        height: 0.8em;
        opacity: 1;
        background: none;
        border: 2px solid var(--wp--preset--color--primary)
    }

    .entry-content .flickity-page-dots li.dot.is-selected {
        background: var(--wp--preset--color--primary)
    }



.wp-block-file {
    font-size: 0.833em;
    line-height: 1.2;
}

.wp-block-file > a {
    text-decoration: none;
    font-weight: 600;
    background: #F6F6F6;
    color: #575757;
    padding: 0.5em 0.75em;
    display: block;
}

.wp-block-file .file-meta {
    font-weight: 300;
    font-size: 0.8em;
    line-height: 1.2;
}



p.is-style-highlight-text {
    /* color: var(--wp--preset--color--luminous-vivid-amber) !important;
    border-left: 1px solid var(--wp--preset--color--luminous-vivid-amber) !important;
    padding-left: 1em; */
    padding-left: 3em;
    font-weight: 400;
    position: relative;
    text-align: left;
    margin: 2em 5em 2em 0 !important;
    padding-left: 1em;
    border-left: 5px solid rgba(0,0,0,0.3);
    color: var(--wp--preset--color--luminous-vivid-amber) !important;
}



    .is-style-highlight-text::before {
        content: "";
        position: absolute;
        width: 8em;
        height: 8em;
        top: -1em;
        right: -6em;
        background: url(assets/images/quote.svg) no-repeat center;
        opacity: 0.15;
    }



figcaption {
    color: #fff !important;
    width: calc(100% - 8em) !important;
    text-align: left !important;
}

    .home figcaption {
        color: #777 !important;
        max-width: 70% !important;
    }



#google-map {
    width: 100vw;
    height: 100vh;
    top: 0;
    left: 0;
    max-width: 100% !important;
    position: fixed !important;
    outline: none !important;
    border: 0 !important;
    transition: width 0.3s ease-out, left 0.3s ease-out;
}


#google-map * {
    outline: none !important;
    border: 0 !important
}


.custom-marker.is-active-marker,
.custom-marker.is-active-marker:hover {
    transform: translate(-50%, -50%) scale(1.5) !important;
    z-index: 999;
}

.custom-marker:hover {
    transform: translate(-50%, -50%) scale(1.1) !important;
    z-index: 9999;
}


.is-overlay {
    z-index: 999999 !important;
    background: var(--wp--preset--color--tertiary) !important;
}

    @media (min-width: 1000px) {
        .is-overlay {
            width: 50%;
        }
    }

    .is-overlay > .wp-block-group > .wp-block-group.has-background {
        padding-top: 8em;
    }

    .is-overlay header {
        display: none !important;
    }

    @media (min-width: 1000px) {
        .is-overlay h2 {
            font-size: 3em;
            line-height: 1;
        }
    }

    .is-overlay .wp-block-group > .wp-block-post-featured-image:first-child {
        position: absolute;;
        z-index: 0;
        top:0;
        left: 0;
        width: 100%;
        height: auto;
        overflow: hidden;
    }

        .is-overlay .wp-block-group > .wp-block-post-featured-image:first-child::before {
            content: "";
            position: absolute;
            display: block;
            width: 100%;
            height: 100%;
            top: 0;
            left: 0;
            background: #f09;
            z-index: 1;
            background: rgb(42,71,45);
            background: linear-gradient(180deg, rgba(42,71,45,0.7) 0%, rgba(42,71,45,1) 100%);
        }

        .is-overlay .wp-block-group > .wp-block-post-featured-image:first-child img {
            aspect-ratio: 4 / 3;
            object-fit: cover;
            object-position: top center;
            z-index: 0;
            filter: blur(15px)
        }


    .is-overlay * {
        z-index: 9;
        position: relative;
    }

    .is-overlay ul.wp-block-post-template {
        padding-left: 0 !important;
        list-style-type: none !important;
        display: flex;
        flex-flow: row wrap;
        --gap: 2em;
        gap: var(--gap);
        margin-top: 4em !important;
    }

        .is-overlay ul.wp-block-post-template li {
            width: 100%;
        }

        @media (min-width: 550px) {
            .is-overlay ul.wp-block-post-template li {
                width: calc(50% - var(--gap) * 0.5);
            }
        }

        @media (min-width: 1000px) {
            .is-overlay ul.wp-block-post-template li {
                width: 100%;
            }
        }

        @media (min-width: 1300px) {
            .is-overlay ul.wp-block-post-template li {
                width: calc(50% - var(--gap) * 0.5);
            }
        }

        @media (min-width: 1600px) {
            .is-overlay ul.wp-block-post-template li {
                width: calc(33.333% - var(--gap) * 0.67);
            }
        }


#google-map .custom-marker {
    border: 2px solid #fff !important
}

#google-map .marker-image {
    width: calc(100% - 2px) !important;
    height: calc(100% - 2px) !important;
}


/* .custom-marker::before {
    content: attr(data-classification);
    display: flex;
    position: absolute;
    top: -0.75em;
    right: -0.75em;
    width: 2em;
    height: 2em;
    background: #ccc;
    border-radius: 100%;
    border: 2px solid #fff;
    z-index: 999;
    font-weight: bold;
    text-align: center;
    justify-content: center;
    align-items: center;
} */

.custom-marker[data-alarm='1']:not(:hover) {
    z-index: 9;
}

.custom-marker .alarm {
    display: flex;
    position: absolute;
    top: -0.75em;
    left: -0.75em;
    width: 2.5em;
    height: 2.5em;
    background: url(assets/images/alarm.svg?v=2);
    z-index: 999;
    font-weight: bold;
    text-align: center;
    justify-content: center;
    align-items: center;
    z-index: 99;
}


.custom-marker.has-status-eka::before {
    background: #F2F2F2;
}

.custom-marker.has-status-geplant::before {
    background: #FFFEA6;
}

.custom-marker.has-status-umsetzung::before {
    background: #A1CE62;
    color: #fff;
}

.custom-marker.has-status-umgesetzt::before {
    background: #536130;
    color: #fff;
}


.custom-marker.is-active-marker::before,
.custom-marker.is-active-marker:hover::before {
    transform: scale(0.67);
}


.custom-marker .hover {
    display: block;
    position: absolute;
    top: 50%;
    left: 100%;
    width: auto;
    height: auto;
    background: #fff;
    border-radius: 90px;
    border: 2px solid #fff;
    z-index: 999;
    text-align: left;
    white-space: nowrap;
    padding: 0.5em 1em;
    transform: translateY(-50%);
    margin-left: 1em;
    opacity: 0;
    pointer-events: none;
    box-shadow: 0 0 1em rgba(0,0,0,0.2);
    transition: opacity 0.2s ease-out;
}

    .custom-marker:hover .hover {
        opacity: 1;
    }

    .custom-marker.is-active-marker .hover,
    .custom-marker.is-active-marker:hover .hover {
        opacity: 0;
        transform-origin: left;
        transform: translateY(-50%) scale(0.6667);
    }



body.home .logo-home {
    top: 50%;
    width: 32%;
    max-width: 100% !important;
    aspect-ratio: 5 / 2;
    position: absolute;
    left: 50%;
    transform: translateX(-50%) translateY(-50%);
    z-index: 99999;
}

    body.home .logo-home img {
        width: 100%;
        height: 100%;
    }

body.home .entry-content > .wp-block-group:first-child {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    background-size: 100% auto !important;
    background-position: center !important;
    aspect-ratio: 3 / 1;
    position: relative;
}



body.home .entry-content > .wp-block-group:nth-child(2) {
    background: rgb(36,57,96);
    background: linear-gradient(180deg, rgba(36,57,96,1) 0%, rgba(51,68,111,1) 27%, rgba(25,34,59,1) 79%, rgba(29,40,69,1) 100%);
    padding-bottom: 14em;
}


body.home .entry-content > .wp-block-group:nth-child(2) + .impressions {
    background-color: transparent !important;
    margin-top: -10em !important;
}

.wp-block-group > canvas {
    position: absolute;
    z-index: 0;
    top: 0 !important;
    left: 0;
    width: 100%;
    height: 100%;
    max-width: 100%;
    margin-top: 0 !important
}


.home-partner-logos {
    gap: 1em;
    position: relative;
    margin-top: 3em;
}

    .home-partner-logos > * {
        flex: 1;
        position: relative;
    }

    @media (max-width: 599px) {
        .home-partner-logos {
            display: flex !important;
            flex-flow: row wrap !important;
        }

        .home-partner-logos > * {
            width: calc(50% - 0.5em);
            flex: unset;

        }
    }

    @media (min-width: 600px) {
        .home-partner-logos > * + *::before {
            content: "";
            display: block;
            width: 1px;
            height: 100%;
            background: rgba(255,255,255,0.3);
            position: absolute;
            left: -0.5em;
            top: 0;
        }
    }

    @media (max-width: 599px) {
        .home-partner-logos > *:nth-child(1)::after,
        .home-partner-logos > *:nth-child(2)::after {
            content: "";
            display: block;
            width: 100%;
            height: 1px;
            background: rgba(255,255,255,0.3);
            position: absolute;
            left: 0;
            bottom: -0.5em;
        }

        .home-partner-logos > * + *:nth-child(even)::before {
            content: "";
            display: block;
            width: 1px;
            height: 100%;
            background: rgba(255,255,255,0.3);
            position: absolute;
            left: -0.5em;
            top: 0;
        }
    }

    .home-partner-logos figure {
        aspect-ratio: 3 / 2;
        display: flex;
        align-items: center;
        justify-content: center;
        transition: all 0.3s ease-out;
        border-radius: 0.25em;
        /* background: rgba(0,0,0,0.2); */
    }

        .home-partner-logos figure a {
            display: block;
            width: 100%;
            height: 100%;
            border-radius: 0.25em;
            padding: 1em;
            transition: all 0.3s ease-out;
        }

        .home-partner-logos figure.naturschutzbund a {
            width: 85%;
            height: 85%;
        }

        .home-partner-logos figure:hover {
            background: rgba(0,0,0,0.2);
        }

        .home-partner-logos figure img,
        .home-partner-logos figure * {
            width: 100%;
            height: 100%;
            max-width: 100% !important;
            object-fit: contain;
        }


ul.wp-block-post-template {
    padding: 0 !important
}

    li.wp-block-post + li.wp-block-post {
        margin-top: 2em;
    }

    .is-layout-grid li.wp-block-post + li.wp-block-post {
        margin-top: 0;
    }

    li.wp-block-post .wp-block-post-date + h2,
    li.wp-block-post .wp-block-post-date + h3 {
        margin-top: 0 !important;
    }

    li.wp-block-post h2 a,
    li.wp-block-post h3 a {
        text-decoration: none;
    }

    .home li.wp-block-post .wp-block-post-excerpt {
        max-width: 30em;
        margin: 0 auto;
    }

    li.wp-block-post .wp-block-post-excerpt__more-text a {
        display: inline-block;
        border: 2px solid;
        text-decoration: none;
        padding: 0.5em 1.5em !important;
        font-size: var(--wp--preset--font-size--small);
        font-weight: 600 !important;
        letter-spacing: 0.02em;
        line-height: 1.6;
        border-radius: 99px;
    }

header form.wp-block-search {
    position: absolute;
    font-size: var(--wp--preset--font-size--small);
    top: 2.5em;
    right: 12em;
    transition: all 0.2s ease-out;
}

    .is-scrolling:not(.nav-open) header form.wp-block-search {
        top: 1.3em;
    }

    .nav-open header form.wp-block-search {
        opacity: 0;
    }

    header form.wp-block-search {

    }

    .wp-block-search__inside-wrapper  {

        border: 0;
    }

    .wp-block-search__button,
    .wp-block-search__input {
        cursor: pointer !important;
        -webkit-appearance: none !important;
        appearance: none !important;
        color: #fff !important;
        background: transparent !important;
        z-index: 99999 !important;
        border: 2px solid !important;
        text-decoration: none !important;
        padding: 0.5em 1.5em !important;
        font-weight: 600 !important;
        letter-spacing: 0.02em !important;
        line-height: 1.6 !important;
        border-radius: 99px !important;
        backdrop-filter: blur(3px) !important;
        transition: all 0.2s ease-out !important;
    }

    @media (max-width: 800px) {
        .wp-block-search__input {
            width: 10em !important;
        }
    }

    @media (max-width: 700px) {
        header form.wp-block-search {
            right: 11em;
        }

        .wp-block-search__button {
            padding-left: 0.75em !important;
            padding-right: 0.75em !important;
            border-color: transparent !important;
            backdrop-filter: unset !important;
            margin: 0 !important
        }

        .wp-block-search__input {
            padding-left: 1em !important;
            padding-right: 2em !important;
            margin-right: -3em !important;
        }
        .wp-block-search__input {
            width: 10em !important;
        }
    }

    @media (max-width: 599px) {
        /* header .wp-block-search__inside-wrapper  {
            height: 3em;
        } */
        header form.wp-block-search {
            top: 1em;
            right: 9em;
        }

        header .wp-block-search__button svg {
            min-height: 1em !important;
            transform: scale(1.5)
        }

        .wp-block-search__input {
            margin-right: -3.5em !important;
        }
    }

    @media (max-width: 370px) {
        .wp-block-search__input {
            width: 7em !important;
        }

        .wp-block-search__input {
            padding-right: 1em !important;
        }
    }

    .wp-block-search__input {
        cursor: default !important;
    }


        .is-scrolling:not(.nav-open) .wp-block-search__button,
        .is-scrolling:not(.nav-open) .wp-block-search__input {
            backdrop-filter: unset;
        }

    .wp-block-search__input::placeholder {
        color: #fff !important;
    }

    body.search-results header form.wp-block-search,
    body.has-overlay-project header form.wp-block-search {
        display: none;
    }

.header-nav-toggle {
    cursor: pointer;
    -webkit-appearance: none;
    appearance: none;
    color: #fff;
    background: transparent;
    position: absolute;
    top: 2.5em;
    right: 2.5em;
    z-index: 99999;
    border: 2px solid;
    text-decoration: none;
    padding: 0.5em 1.5em 0.5em 3em !important;
    font-size: var(--wp--preset--font-size--small);
    font-weight: 600 !important;
    letter-spacing: 0.02em;
    line-height: 1.6;
    border-radius: 99px;
    backdrop-filter: blur(3px);
    background-image: url(assets/images/nav.svg);
    background-position: center left 1em;
    background-size: 1.25em auto;
    background-repeat: no-repeat;
    transition: all 0.2s ease-out;
}

    @media (max-width: 599px) {
        .header-nav-toggle {
            right: 1em;
            top: 1em;
        }
    }

    .is-scrolling:not(.nav-open) .header-nav-toggle {
        top: 1.3em;
        backdrop-filter: none;
    }

    .nav-open .header-nav-toggle {
        background-image: url(assets/images/nav-close.svg);
        background-position: center left 1.175em;
        background-size: 1em auto;
    }

    .header-nav-toggle:hover {
        background-color: rgba(0,0,0,0.2);
        padding: 0.75em 1.75em 0.75em 3.25em !important;
        background-position: center left 1.25em;
        margin-top: -0.25em !important;
        margin-right: -0.25em !important;
    }

    .nav-open .header-nav-toggle:hover {
        background-position: center left 1.425em;
    }

.is-nav {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    padding: 2.5em;
    z-index: 999;
}

    .frontend .is-nav {
        display: none;
        pointer-events: none;
    }

    .frontend.nav-open .is-nav {
        display: flex;
        pointer-events: all;

    }


    .is-nav > * {
        max-width: 100%;
    }


    /* .nav-open .entry-content {
        display: none;
    } */


    .is-nav a {
        text-decoration: none;
    }


.nav-holder {
    align-self: center;
}

    .nav-holder h2 {
        font-size: 7vh;
        margin-top: 1rem;
    }

    @media (max-width: 599px) {
        .nav-holder h2 {
            font-size: 2em;
        }
    }

    .nav-holder h2 a {
        position: relative;
        display: inline-block;
    }

    .nav-holder h2 a::before {
        content: "";
        display: block;
        width: 0%;
        height: 0.1em;
        background: var(--wp--preset--color--secondary);
        position: absolute;
        bottom: 0;
        left: 50%;
        transform: translateX(-50%);
        transition: all 0.2s ease-out;
    }

        .nav-holder h2 a:hover::before {
            width: 100%;
        }


.page-template-default .entry-content > .wp-block-group.has-background:first-child,
.single-download .entry-content > .wp-block-group.has-background:first-child,
.single-post .entry-content > .wp-block-group.has-background:first-child,
.single-explanation  .entry-content > .wp-block-group.has-background:first-child {
    padding-top: 12em;
    min-height: 100vh;
}


.news-holder {
    padding: 2.5em !important;
    padding-top: 12em !important;
}

    @media (min-width: 782px) {
        .news-holder::before {
            content: "";
            display: block;
            background: rgb(61,147,154);
            background: linear-gradient(180deg, rgba(61,147,154,0) 0%, rgba(61,147,154,1) 50%, rgba(61,147,154,1) 100%);
            width: 50%;
            height: 100%;
            top: 0;
            right: 0;
            z-index: 9;
            position: fixed;
            opacity: 0.3;
        }
    }

    .news-holder > * {
        position: relative;
        z-index: 99;
    }

    .news-holder h1 {
        font-size: 3em;
        line-height: 1;
    }

        @media (max-width: 1400px) {
            .news-holder h1 {
                font-size: 3.2em;
                line-height: 1;
            }
        }

        @media (max-width: 999px) {
            .news-holder h1 {
                font-size: 2.5em;
                line-height: 1;
            }
        }

        @media (max-width: 781px) {
            .news-holder h1 {
                font-size: 3em;
                line-height: 1;
            }
        }


    .news-holder .wp-block-columns {
        gap: 5em;
    }


    .news-holder .wp-block-post + .wp-block-post {
        margin-top: 3em;
    }


.wp-block-categories-list.is-style-filter {
    padding-left: 0;
    list-style-type: none;
    margin-top: 2em;
}

    .wp-block-categories-list.is-style-filter > * {
        text-decoration: none;
        font-weight: bold;
        position: relative;
        padding-left: 2em;
        cursor: pointer;
    }

        .wp-block-categories-list.is-style-filter > * + * {
            margin-top: 0.5em;
        }

        .wp-block-categories-list.is-style-filter > * a::before {
            content: "";
            display: block;
            width: 1em;
            height: 1em;
            border: 1px solid #fff;
            position: absolute;
            top: 0.2em;
            left: 0;
            transition: all 0.2s ease-out;
            box-sizing: border-box;
        }

        .wp-block-categories-list.is-style-filter > * a:hover::before {
            border-width: 0.5em;
        }

        .wp-block-categories-list.is-style-filter > * a.is-active::before {
            border-width: 0.3em;
        }

    .wp-block-categories-list.is-style-filter a {
        text-decoration: none;
        pointer-events: none;
    }

    .wp-block-categories-list.is-style-filter a.clickable {
        pointer-events: all;
    }


.download-holder ul {
    align-items: flex-start;
}

.download-holder li.wp-block-post {
    background: rgba(255, 255, 255, 0.9);
    color: var(--wp--preset--color--primary) !important;
    margin-top: 0 !important;
    padding: 1em;
    border-radius: 0.25em;
    overflow: hidden;
    box-shadow: 0 0 1em rgba(0,0,0,0.2);
    min-height: 100%;
}

    .download-holder li.wp-block-post h3 {
        font-weight: bold;
        letter-spacing: 0;
    }


.news-holder.download-holder .wp-block-post + .wp-block-post {
    margin-top: 0;
}

.download-holder li.wp-block-post figure {
    border: 1px solid #ccc;
    border-radius: 0.25em;
    overflow: hidden;
}


.fullscreen-image {
    width: 100%;
    height: 90vh;
    object-fit: cover;
    background-attachment: local !important;
}

    @media (orientation: portrait) and (max-width: 599px) {
        .fullscreen-image {
            height: auto;
            aspect-ratio: 1 / 1;
        }
    }


.organisations {

}

    .organisations .wp-block-column:first-child {
        min-width: 200px;
    }

.single-logo-holder {
    width: 80%;
    border-radius: 0.25em;
    padding: 2em;
    max-width: 250px;
}


    .single-logo-holder img {
        aspect-ratio: 3 / 2;
        width: 100%;
        object-fit: contain;
    }


figure.person {
    width: 8em !important;
    height: 8em !important;
    display: block;
}

    figure.person img {
        width: 8em !important;
        height: 8em !important;
    }


figure.person + p {
    flex: 1;
}

.organisations .wp-block-group.is-content-justification-center.is-layout-flex {
    gap: 2em;
    margin-top: 4em;
}


.organisations .person-group.is-layout-flex {
    align-items: center;
    flex-flow: column !important;
    width: 20em;
    text-align: center;
    justify-content: center;
}

/* .person-group + .person-group {
    margin-top: 1em;
} */


.page-id-456 .entry-content > .wp-block-group:first-child::before {
    content: "";
    display: block;
    background: rgb(61,147,154);
    background: linear-gradient(180deg, rgba(61,147,154,0) 0%, rgba(61,147,154,1) 50%, rgba(61,147,154,1) 100%);
    width: 100%;
    height: 100%;
    top: 0;
    right: 0;
    z-index: 0;
    position: fixed;
    opacity: 0.3;
}

    .page-id-456 .entry-content > .wp-block-group:first-child > * {
        position: relative;
        z-index: 1;
    }


.close-button {
    cursor: pointer;
    -webkit-appearance: none;
    appearance: none;
    color: #fff;
    background: transparent;
    position: absolute;
    top: 2.5em;
    right: 2.5em;
    z-index: 99999;
    border: 2px solid;
    text-decoration: none;
    width: 3em;
    height: 3em;
    font-size: var(--wp--preset--font-size--small);
    font-weight: 600 !important;
    letter-spacing: 0.02em;
    line-height: 1.6;
    border-radius: 99px;
    backdrop-filter: blur(3px);
    background-image: url(assets/images/nav-close.svg);
    background-position: center;
    background-size: 1.25em auto;
    background-repeat: no-repeat;
    transition: all 0.2s ease-out;
}

.map-preview-holder {
    width: 100vw;
    height: 56vw;
    max-width: 2000px;
    border: 1em solid var(--wp--preset--color--secondary);
    background: #fff;
    border-radius: 0.5em;
    box-shadow: 0 0 1em rgba(0,0,0,0.2);
    transform: scale(0.6) rotate(-1deg);
    margin: 0 !important;
    margin-top: calc(-11vw - var(--first-level-group-padding) - (var(--first-level-group-padding) * 0.75)) !important;
    margin-bottom: -11vw !important;
    left: 50%;
    margin-left: -50vw !important;
    position: relative;
}

    @media (min-width: 2000px) {
        .map-preview-holder {
            margin-left: -1000px !important;
            margin-bottom: -220px !important;
            height: 1120px;
            margin-top: calc(-220px - var(--first-level-group-padding) - (var(--first-level-group-padding) * 0.75)) !important;
        }
    }

    @media (max-width: 1050px) {
        .map-preview-holder {
            width: 200vw;
            height: 140vw;
            max-width: 200vw;
            margin-left: -100vw !important;
            margin-top: calc(-40vw - var(--first-level-group-padding) - (var(--first-level-group-padding) * 0.75)) !important;
            margin-bottom: -40vw !important;
            transform: scale(0.4) rotate(-1deg);
        }
    }

    @media (max-width: 500px) {
        .map-preview-holder {
            width: 300vw;
            height: 200vw;
            max-width: 300vw;
            margin-left: -150vw !important;
            margin-top: calc(-70vw - var(--first-level-group-padding) - (var(--first-level-group-padding) * 0.75)) !important;
            margin-bottom: -70vw !important;
            transform: scale(0.3) rotate(-1deg);
        }
    }


.map-preview-holder .map-preview {
    width: 100%;
    height: 100%;
    max-width: 100%;
    border: 0;
    pointer-events: none;
    z-index: 1;
}

.map-preview-holder a {
    opacity: 0;
    display: block;
    position: absolute;
    width: 100%;
    height: 100%;
    max-width: 100%;
    border: 0;
    background: rgb(0,0,0);
    background: radial-gradient(circle, rgba(0,0,0,0.8) 17%, rgba(0,0,0,0.35) 77%);
    z-index: 9;
    transition: all 0.2s ease-out;
    text-decoration: none;
}

    .map-preview-holder a:hover {
        opacity: 1;
        transform: scale(1);
    }

    .map-preview-holder a::before {
        content: "Rhein-Karte erkunden";
        display: flex;
        align-items: flex-end;
        justify-content: center;
        position: absolute;
        text-align: center;
        top: 50%;
        height: 5em;
        width: 100%;
        color: #fff;
        text-decoration: none;
        font-size: 1.65em;
        line-height: 1.2;
        margin-top: -2.5em;
        transform: rotate(1deg);
        background: url(assets/images/compass.svg) no-repeat center top;
        background-size: 3em auto;
        font-weight: bold;
    }

    @media (max-width: 1050px) {
        .map-preview-holder a::before {
            font-size: 2em;
            line-height: 1.2;
        }
    }

    @media (max-width: 500px) {
        .map-preview-holder a::before {
            font-size: 3em;
            line-height: 1.2;
        }
    }


    @media (max-width: 999px) {
        h2[style*="4em"] {
            font-size: 3em !important;
            line-height: 1.2 !important;
        }
    }

    @media (max-width: 599px) {
        h2[style*="4em"] {
            font-size: 1.9em !important;
            line-height: 1.2 !important;
        }
    }


.home .wp-block-spacer {
    height: 1em !important;
}



.popup-bg {
	/* background: rgba(255,255,255,0.6);
	position: fixed;
	bottom: 0;
	left: 0;
	height: 50vh;
	width: 100vw;
	z-index: 99999999;
	display: flex;
	align-items: center;
	justify-content: center; */


}

.popup {
	max-width: 1000px;
	width: 100%;
	box-shadow: 0 0 1rem rgba(0,0,0,0.2);
	overflow: hidden;
}

	.popup > .wp-block-group .wp-block-group__inner-container {
		padding: 3rem;
	}


.popup {
	position: fixed;
	z-index: 99999999999;
	bottom: 0;
	left: 50%;
	transform: translateX(-50%) translateY(100%);
	transition: transform 0.3s ease-in-out;
    padding: 2em 3em 2em 2em;
    border-radius: 0.25em 0.25em 0 0;
    background: #fff;
}

.popup.show {
	transform: translateX(-50%) translateY(0);
}

.popup-close {
	position: fixed;
	top: 1rem;
	right: 1rem;
	width: 2rem;
	height: 2rem;
	cursor: pointer;
	z-index: 99;
}

	.popup-close span {
		width: 2rem;
		height: 3px;
		background: #37414e;
		display: block;
		position: absolute;
		top: 50%;
		left: 50%;
		transform: translateX(-50%) translateY(-50%) rotate(45deg);
	}

	.popup-close span:nth-child(2) {
		transform: translateX(-50%) translateY(-50%) rotate(-45deg);
	}


.home .wp-block-post-featured-image {
    border-radius: 0.25em;
    overflow: hidden;
}



#lightboxOverlay {
    z-index: 99999999999;
}
#lightbox {
    z-index: 999999999999;
}

.explanation-tooltips {
    display: none;
}

.current-hover {
    z-index: 999;
    position: relative;
}

.has-tooltip {
    cursor: pointer;
    text-decoration: underline;
    text-decoration-style: dotted;
    text-decoration-skip: ink;
    text-underline-offset: 0.15em;
    position: relative;
    z-index: 999;
}

    .has-tooltip .tooltip,
    .tooltip .has-tooltip {
        text-decoration: none !important;
    }

    .tooltip .has-tooltip {
        pointer-events: none;
    }

    .tooltip {
        position: absolute;
        background: rgba(255,255,255,0.4);
        backdrop-filter: blur(10px);
        box-shadow: 0 0 2em rgba(0,0,0,0.3);
        width: 300px;
        max-width: calc(100% - 20px);
        border-radius: 0.5em;
        padding: 1em;
        z-index: 9999999999;
        font-size: 14px;
        line-height: 1.3;
        color: #111;
        font-weight: 400;



    }


.page-id-456 .wp-block-spacer {
    border-top: 1px solid rgba(255,255,255,0.5);
    margin-top: 8rem !important;
    margin-bottom: 8rem !important;
    height: 1px !important;
}


.is-style-highlight-box {
    background: rgba(0,0,0,0.4);
    background-color: var(--wp--preset--color--luminous-vivid-amber);
    border-left: 0.5em solid var(--wp--preset--color--luminous-vivid-amber);
    border-radius: 0;
    padding: 1em;
    color: #000;
    font-weight: 600;
}

.map-legend {
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    bottom: 1em;
    z-index: 999999;
    display: flex;
    flex-flow: column wrap;
    gap: 0.5em;
    justify-content: center;
    align-items: center;
    width: 80%;
}

    .has-overlay-project .map-legend {
        width: 50%;
        right: 0;
        left: unset;
        transform: unset;
    }

    .map-legend-item {
        cursor: pointer;
        -webkit-appearance: none;
        appearance: none;
        width: fit-content;
        color: #000;
        background: transparent;
        z-index: 99999;
        border: 2px solid;
        text-decoration: none;
        padding: 0.5em 1.5em 0.5em 1.5em !important;
        font-size: var(--wp--preset--font-size--small);
        font-weight: 600 !important;
        letter-spacing: 0.02em;
        line-height: 1.6;
        border-radius: 99px;
        backdrop-filter: blur(5px);
        transition: all 0.2s ease-out;
    }
    
    .map-legend-item.shift-in {
        width: 3em;
        padding-left: 0 !important;
        padding-right: 0 !important;
        text-align: center;
    }

    

@media (max-width: 781px) {
    li.type-post .wp-block-columns {
        gap: 1em;
    }

    li.type-post figure.wp-block-post-featured-image {
        aspect-ratio: 16 / 9 !important;
    }

    li.type-post figure.wp-block-post-featured-image img {
        width: 100%;
        height: 100%;
        object-fit: cover !important;
    }
}