/*Vars*/
:root{
    --mainpadding: 5vw;
	/*font-size: 62.5%;*/

    --maintrans: .3s all ease-in-out;
    --maxwidth: 1512px;

    scroll-behavior: smooth;
}
/*Format*/

.wp-block-button__link{
    transition: var(--maintrans);
    
    &:hover{
        background: var(--wp--preset--color--text);
    }
}

body{
    background-color: var(--wp--preset--color--offwhite);
}

h1, h2, h3, h4{
    hyphens: auto;
}

.gform-body h3{
    margin: 0;
}

.wp-block-embed iframe {
    max-width: unset;
    aspect-ratio: 16 / 9;
    width: 100%;
    height: auto;
}


.block-editor-writing-flow {
    background-color: var(--wp--preset--color--offwhite) !important; /* deine Wunschfarbe */
}
.unterstuetzer{
    gap: var(--mainpadding) !important;
}

.unterstuetzer.wp-block-gallery.has-nested-images figure.wp-block-image img{
    aspect-ratio: 4 / 3;
    object-fit: contain;
    max-height: var(--mainpadding);
}

.wp-block-file.w-100{
    width: 100%;
    display: flex;
    justify-content: space-between;
}

.steckbrief{
    list-style: none; 
    padding: 0;
    margin: 0;

    li {
        position: relative;
        padding-left: 2em;      
        margin: .5em 0;

        &::before {
            content: "✔";              
            position: absolute;
            left: 0;
            top: 50%;
            transform: translateY(-50%);
            font-size: .75em;             
            color: currentColor;          
            display: inline-block;
            width: 1.5em;
            height: 1.5em;
            padding: .25em;
            text-align: center;
            line-height: 1em;
            border: 2px solid currentColor;
            box-sizing: border-box;
        }
    }

}




details{

    transition: var(--maintrans);
    border-bottom: 2px solid var(--wp--preset--color--text);
    padding-bottom: 1rem;
    padding-left: 1.8rem;
    

    summary{
        margin-left: -1.8rem;
        position: relative;

        h3{
            display: inline-block;
            padding-left: 2rem;
            margin: 0;
            line-height: 1.2;
        }

      
        &::marker{
            transition: var(--maintrans);
            content: "";
            font-size: 1.5rem;
            width: 1.5rem;
            line-height: 1;
            display: none !important;
            appearance: none;
        }

        &::before{
            transition: var(--maintrans);
            content: "+";
            font-size: 1.5rem;
            width: 1.5rem;
            aspect-ratio: 1 / 1;
            color: var(--wp--preset--color--ci-blue);
            line-height: 1;
            position: absolute;
            left: 0;
            transform-origin: center center;
            text-align: center;
        }
    }

    &:last-of-type{
        border-bottom: 0px;
    }

    p{
        margin-top: 1rem !important;
        margin-bottom: 0;
        padding-bottom: 1rem;
    }

    ul{
        padding-left: 1rem;
        padding-bottom: 1rem;
    }


    &[open]{

        border-color: var(--wp--preset--color--ci-blue);
    
        summary{
            &::marker{
                content: "";
            }

            &::before{
               transform: rotate(135deg);
            }

        }
    }
}



/*Head*/

/*Nav*/

.controlwrap{
    /*position: sticky;*/
    position: relative;
    top: 0;
    width: 100%;
    display: flex;
    justify-content: space-between;
    z-index: 10;
}

.mainlink{
    position: relative;
    left: 0;
    top: 0;
    padding: .5em;
    box-sizing: border-box;
    transition: var(--maintrans);
    width: 7em;
    height: 5em;
    background-color: var(--wp--preset--color--offwhite);
    z-index: 100;

    img{
        width: 100%;
        height: 100%;
        object-fit: contain;
        
        transition: var(--maintrans);
    }

    &:hover{
        background-color: var(--wp--preset--color--offwhite);
       
    }
}


.toggler{
    border: 0;
    width: 6em;
    height: 5em;
    background-color: var(--wp--preset--color--offwhite);
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    padding: 1em;
    box-sizing: border-box;

    position: fixed;
    right: 0;
    top: 0;

    z-index: 100;

    span{
        height: .5em;
        background: var(--wp--preset--color--ci-blue);
        width: 100%;
        transition: var(--maintrans);
    }

    &:hover{
        cursor: pointer;
    }
}





aside{
    min-width: 30vw;
    background: var(--wp--preset--color--offwhite);
    position: fixed;
    top: 0;
    right: 0;
    padding: var(--mainpadding);
    height: 100vh;
    z-index: 90;
    transform: translateX(130vw);
    transition: var(--maintrans);
    box-sizing: border-box;

    .main-navigation{
        display: flex;
        height: 100%;
        align-items: center;
    }

    ul{
        list-style: none;
        margin: 0;
        padding: 0;

        a{
            font-size: calc( 100vh / 12 );
            transition: var(--maintrans);

            &:hover{
                color: var(--wp--preset--color--text);
            }

            &[aria-current="page"]{
                color: var(--wp--preset--color--accent);
            }
        }


    }
}

@media screen and (max-width: 990px){
    
    aside{
        min-width: 100dvw;
        height: 100dvh;

        ul{
            a{
                font-size: calc((100dvmin - var(--mainpadding) * 2) / 8 );
            }
        }
    }
}

.blocker{
        position: fixed;
        top: 0;
        left: 0;
        height: 100%;
        width: 100%;
        background: var(--wp--preset--color--ci-blue);
        opacity: 0;
        z-index: 80;
        transform: translateX(-100vw);
        transition: var(--maintrans);
        mix-blend-mode: multiply;
    
}



.dialog-open,
.nav-open,
body:has(dialog[open]) {
     overflow: hidden;
}

.nav-open{


    .toggler{
        span{
            background-color: var(--wp--preset--color--ci-blue);

            &:first-of-type{
                opacity: 0;
            }

             &:last-of-type{
                opacity: 0;
            }
        }
    }

    aside,
    .blocker{
        transform: none;
    }

    .blocker{
        opacity: .8;
    }

    
    
}

/*Main*/

body{
    font-size: 20px;
}

main{

    section{

      /*  max-width: var(--maxwidth);*/
        margin: 0 auto;

       .wp-block-group:first-of-type img:first-of-type{
                max-height: 80vh;
                object-fit: cover;
        }

    }
}

/*Footer*/

footer{
    background: var(--wp--preset--color--mid);
    
    padding: var(--mainpadding);

    display: flex;
    align-items: center;

    .footer-column{
        width: 100%;
        margin: 0 auto;

        .wp-block-column{
            align-self: stretch;
        }
        

        .map{
            filter: grayscale(1);
            height: 100%;
            width: 100%;
        }

        p{
            font-size: 1em;
        }
    }

    .widget,
    p{
        margin: 0 !important;
    }

    #menu-footermenu{
        list-style: none;
        margin: 0;
        padding: 0;

        a{
            font-size: 1em;
        }
    }
}


.d-none{
	display: none !important;
}

dialog#popover{
	position: fixed;
	flex-direction: column;
	justify-content: center;
	inset: 0;
	left: 0;
	right: 0;
	top: 0;
	bottom: 0;
	width: 100vw;
	height: 100vh;
	width: 100svw;
	width: 100dvw;
	height: 100svh;
	height: 100dvh;
	max-width: 100vw;
	max-height: 100vh;
	background: hsl(from var(--wp--preset--color--accent) h 20% 25% / 0.95);
	border:none;
	padding: var(--wp--preset--spacing--20);
	margin: 0;
	box-sizing: border-box;

	div{
		max-width: 1320px;
		margin: 0 auto;
		background: #fff;
		flex: 0;
		width: 100%;
		min-height: 0;
		position: relative;
		overflow: hidden;

		button{
			position: absolute;
			top: 0;
			right: 0;
			background: none;
			border: none;
			font-size: 2em;
			color: #000;
			background: #fff;
			height: 40px;
			width: 40px;
			display: flex;
			justify-content: center;
			align-items: center;
			outline: none;

		}
		iframe{
			width: 100%;
			height: 100%;
			border: none;
		}
		svg{
			position: absolute;
			width: 100px;
			height: 100px;
			left: calc(50% - 50px);
			top: calc(50% - 50px);
		}
	}
}
dialog#popover[open] {
	display: flex;
	animation: showDialog 0.5s ease forwards;
	
	div{
		animation: showDialogContent 0.75s ease forwards;
	}
}
dialog#popover[closing] {
	animation: hideDialog 0.5s ease forwards;
	div{
		animation: hideDialogContent 0.25s ease forwards;
	}
}
dialog#popover::backdrop{
	display:none;
}

@keyframes showDialog {
	0% {
		opacity: 0;
	}
	100% {
		opacity: 1;
	}
}
@keyframes showDialogContent {
	0% {
		flex: 0;
	}
	100% {
		flex: 1;
	}
}
@keyframes hideDialog {
	0% {
		opacity: 1;
	}
	100% {
		opacity: 0;
	}
}
@keyframes hideDialogContent {
	0% {
		flex: 1;
	}
	100% {
		flex: 0;
	}
}

/*forms*/

form{
    --gf-ctrl-border-color: var(--wp--preset--color--ci-blue) !important;
    --gf-ctrl-border-color-focus: var(--wp--preset--color--ci-blue) !important;
    --gf-local-bg-color: var(--wp--preset--color--ci-blue) !important;

    --gf-font-size-primary: 1em!important;

    --gf-ctrl-padding-x: 1em!important;
    --gf-ctrl-padding-y: 1em!important;
    --gf-local-padding-y: 1em!important;
    --gf-local-padding-x: 1em!important;

    --gf-ctrl-radius: 0px !important;
    --gf-local-radius: 0px !important;

    .gform_button,
    .button{
 
        padding: 1em!important;
        border-radius: 0 !important;
        background: var(--wp--preset--color--ci-blue) !important;
        width: 100%!important;
    }

    .gform-theme--framework .gfield:where(.gfield--type-multiselect,.gfield--input-type-multiselect) .chosen-container-multi:where(:not(.gform-theme__disable):not(.gform-theme__disable *):not(.gform-theme__disable-framework):not(.gform-theme__disable-framework *)), .gform-theme--framework .gfield:where(.gfield--type-select,.gfield--input-type-select) .chosen-search input[type=text]:where(:not(.gform-theme__disable):not(.gform-theme__disable *):not(.gform-theme__disable-framework):not(.gform-theme__disable-framework *)), .gform-theme--framework .gfield:where(.gfield--type-select,.gfield--input-type-select) .chosen-single:where(:not(.gform-theme__disable):not(.gform-theme__disable *):not(.gform-theme__disable-framework):not(.gform-theme__disable-framework *)), .gform-theme--framework .gform-theme-field-control:where(:not(.gform-theme__disable):not(.gform-theme__disable *):not(.gform-theme__disable-framework):not(.gform-theme__disable-framework *)), .gform-theme--framework input[type]:where(:not(.gform-text-input-reset):not([type=hidden])):where(:not(.gform-theme__disable):not(.gform-theme__disable *):not(.gform-theme__disable-framework):not(.gform-theme__disable-framework *)), .gform-theme--framework select:where(:not(.gform-theme__disable):not(.gform-theme__disable *):not(.gform-theme__disable-framework):not(.gform-theme__disable-framework *)), .gform-theme--framework select[multiple]:where(:not(.gform-theme__disable):not(.gform-theme__disable *):not(.gform-theme__disable-framework):not(.gform-theme__disable-framework *)), .gform-theme--framework textarea:where(:not(.gform-theme__disable):not(.gform-theme__disable *):not(.gform-theme__disable-framework):not(.gform-theme__disable-framework *)), .gform-theme--framework.gform-theme.gform_wrapper .button:where(:not(.gform-theme-no-framework)):where(:not(.gform-theme__disable):not(.gform-theme__disable *):not(.gform-theme__disable-framework):not(.gform-theme__disable-framework *)), .gform-theme--framework.gform-theme.gform_wrapper .gform-theme-button:where(:not(.gform-theme-no-framework)):where(:not(.gform-theme__disable):not(.gform-theme__disable *):not(.gform-theme__disable-framework):not(.gform-theme__disable-framework *)), .gform-theme--framework.gform-theme.gform_wrapper :where(:not(.mce-splitbtn))>button:not([id*=mceu_]):not(.mce-open):where(:not(.gform-theme-no-framework)):where(:not(.gform-theme__disable):not(.gform-theme__disable *):not(.gform-theme__disable-framework):not(.gform-theme__disable-framework *)), .gform-theme--framework.gform-theme.gform_wrapper button.button:where(:not(.gform-theme-no-framework)):where(:not(.gform-theme__disable):not(.gform-theme__disable *):not(.gform-theme__disable-framework):not(.gform-theme__disable-framework *)), .gform-theme--framework.gform-theme.gform_wrapper input:is([type=submit],[type=button],[type=reset]).button:where(:not(.gform-theme-no-framework)):where(:not(.gform-theme__disable):not(.gform-theme__disable *):not(.gform-theme__disable-framework):not(.gform-theme__disable-framework *)), .gform-theme--framework.gform-theme.gform_wrapper input:is([type=submit],[type=button],[type=reset]):where(:not(.gform-theme-no-framework)):where(:not(.gform-theme__disable):not(.gform-theme__disable *):not(.gform-theme__disable-framework):not(.gform-theme__disable-framework *)), .gform-theme--framework.gform-theme.gform_wrapper input[type=submit].button.gform_button:where(:not(.gform-theme-no-framework)):where(:not(.gform-theme__disable):not(.gform-theme__disable *):not(.gform-theme__disable-framework):not(.gform-theme__disable-framework *)){
        font-size: 1em !important;
        padding: 1em!important;
        border-radius: 0 !important;
    }

    select{
        padding-top: 0 !important;
        padding-bottom: 0 !important;
    }
}

/*Stakeholder Block*/


.stakeholder{
    height: 1000px;
    max-width: 1800px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    grid-template-rows: repeat(2, 1fr);

    align-items: center;


    .iconbox{
        position: relative;
        padding: 2em;

        figure{
            text-align: center;

            figcaption{
                color: var(--wp--preset--color--ci-blue);
                font-weight: 700;
                font-size: 200%;
            }
        }

        &.center {
            grid-column: 2;
            grid-row: 1 / span 2;
            padding: 0;
        }

        .content{
            position: absolute;
            top: 0;
            left: 10%;
            height: 100%;
            opacity: 0;
            pointer-events: none;
            transition: var(--maintrans);
            text-align: center;
            width: 80%;

            display: flex;
            flex-direction: column;
            align-items: center;
            justify-content: center;
            padding: 1em 1em 3.5em;
            box-sizing: border-box;

            background: var(--wp--preset--color--ci-blue);
            color: var(--wp--preset--color--light);

            font-weight: 700;
            font-size: 120%;


            a{
                display: block;
                position: absolute;
                bottom: 0;
                left: 0;
                background: var(--wp--preset--color--accent);
                color: var(--wp--preset--color--ci-offwhite);
                padding: .5em;
                width: 100%;
                box-sizing: border-box;
                transition: var(--maintrans);
                border-top: .5em solid var(--wp--preset--color--offwhite);

                &:hover{
                    background: var(--wp--preset--color--ci-blue);
                    color: var(--wp--preset--color--light);
                }
            }
        }

        &:hover{
            .content{
                opacity: 1;
                pointer-events: all;
            }
        }
    }
}

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

    .stakeholder{
    height: auto;
    display: block;


    .iconbox{
        position: relative;
        padding: var(--mainpadding);

        &.center {
            display: none;
        }

        .content{
            position: relative;
            left: auto;
            height: auto;
            opacity: 1;
            pointer-events: all;
            width: 100%;
            padding: var(--mainpadding);

            font-weight: 700;
            font-size: 130%;


            a{
                display: block;
                position: relative;
                border-top: 0;
                margin-top: 2em;
            }
        }

       
    }
}
    
}

/*Map*/

main .map{
    filter: grayscale(1);
    transition: var(--maintrans);
    aspect-ratio: 16 / 6;
    width: 100dvw;
    margin-left: calc(50% - 50dvw);
    height: auto;
    margin-bottom: -9px;

    &:hover{
        filter: grayscale(0);
    }
}

/*fullwidth*/



 /*Gutenberg*/
 .wp-block-file{

    font-size: 1em !important;
    display: inline-block;
    background-color: var(--wp--preset--color--ci-blue);

    a{
         background-color: var(--wp--preset--color--ci-blue);
        color: var(--wp--preset--color--light);
         padding: 1em;
         font-size: 1em;
    }

    .wp-block-file__button{
        background-color: var(--wp--preset--color--text);
        color: var(--wp--preset--color--light);
        margin-left: 0;
        border-radius: 0;
        padding: 1em;
        border: 0px;
    }
 }


 .single-anlass{
    padding: var(--mainpadding);
 }

 .singlepost{
    max-width: 990px;
    padding: var(--mainpadding);

    .opener{
        width: 100%;
        max-width: unset;
        height: auto;
        margin-bottom: calc(var(--mainpadding) / 2);
    }

    .latestposts{
        display: flex;
        gap: 1em;
        flex-direction: row;

        list-style: none;
        padding: 2em 0;
        margin: 0;

        border-top: 2px solid var(--wp--preset--color--ci-blue);

    }
 }


 .fallback-thumbnail{
    width:100%;
    height:100%;
    object-fit:cover;
 }