/* =============================================================== *
   Variables
   Globale Variablen für wiederkehrende Werte
* =============================================================== */
:root{
    --wp--preset--color--beige--transparent: #F2EBCE33;
    --block_color: #2d2d2d;
    --dark_background: #1f1f1e;
    --dark_background_transparent: #252525f7;
    
    --input-background-color: #333333;
    --input-focus-background-color:#292929;
    --input-border-radius: 6px;
    --placeholder-text-color: #606060;
    
    --border-radius-10: 10px;
    --shadow: drop-shadow(3px 3px 6px #00000033);
    --transition: all .2s;

    --wp--preset--font-size--large-mobile: 1.1rem;

}


/* =============================================================== *
   Basic-HTML
   Grundlegende CSS-Stile für HTML-Tags
* =============================================================== */
html{
    scroll-behavior: smooth;
    }

body, html{
    background-color: var(--wp--preset--color--dark-grey);
    color: var(--wp--preset--color--beige);
    font-family: 'Proxima Nova UD';
    font-size: 20px;
    line-height: 1.25em;
    letter-spacing: 0.08em;
    }

p + p,
p + ul,
ul + p,
ul + ul{
    margin-top: 1em;
    }

header {
    position: absolute;
    width: 100%;
    z-index: 1;
    overflow-x: hidden;
    height: 260px;
    z-index: 2;
    display: flex;
}

header img{
margin-top: 20px;
margin-left: 10px;}


footer {
    padding: 50px 0px 0px;
    color:#d0d0d0;
   color: var(--wp--preset--color--beige);
    }

footer nav:first-of-type .wp-block-navigation {
    gap: 2rem;
}

@media screen and (max-width: 500px) {
    footer nav:first-of-type .wp-block-navigation {
        margin: 10vw auto;
        gap: 1rem 0;
        flex-direction: column;
    }
    
}

footer .footer_content{
background-color: #222222; }

h1, h2, h3 {
    font-weight: 800;
    font-size: 42px;
    line-height: 1.25em;
    letter-spacing: 0.05em;
    }

p {
    line-height: 1.25em;
    }

strong{
    font-weight: normal;
}

em{}

input,
textarea{
    margin: 10px 20px;
    padding: 10px 16px;
    background: var(--input-background-color);
    color: var(--wp--preset--color--beige);
    border: none;
    border-radius: var(--input-border-radius);
    font-size: 24px;
    line-height: 1em;
    transition: var(--transition);
    }

textarea{
    line-height: 1em;
}

/* Stil für den Placeholder-Text */
textarea::-webkit-input-placeholder,
input::-webkit-input-placeholder { /* Webkit-basierte Browser (Chrome, Safari, Edge) */
    color: var(--placeholder-text-color);
    font-family: "Proxima Nova UD", sans-serif;
    }

textarea::-moz-placeholder,
input::-moz-placeholder { /* Firefox 19+ */
    color: var(--placeholder-text-color);
    font-family: "Proxima Nova UD", sans-serif;
    }

textarea:-ms-input-placeholder,
input:-ms-input-placeholder { /* Internet Explorer und Microsoft Edge */
    color: var(--placeholder-text-color);
    font-family: "Proxima Nova UD", sans-serif;
    }

textarea:-moz-placeholder,
input:-moz-placeholder { /* Firefox 18- */
    color: var(--placeholder-text-color);
    font-family: "Proxima Nova UD", sans-serif;
    }

textarea:focus,
input:focus  {
    outline: none; /* Entfernt den Standard-Fokus-Rahmen */
    border: none;  /* Entfernt die eigene Border (falls vorhanden) */
    background-color: var(--input-focus-background-color);
    }

input[type="submit"]{
/*    padding: 0.5em 0.8em;
    border: 2px solid;
    border-radius: 100px;
    background: transparent;
    font-size: 26px;
    font-weight: bold;
    text-transform: uppercase;
    letter-spacing: 0.13em;

*/
    cursor: pointer;
    transition: var(--transition);
    font-weight: 100;
    font-size: 20px;
    background: #1f1f1e;
    color: #d9d1af;
    border: 1px solid;
    border-radius: 100px;
    font-size: 20px;
    text-transform: uppercase;
    letter-spacing: 0.13em;
    padding: .7rem 1.4rem;
    }

input[type="submit"]:hover{
    background-color: var(--wp--preset--color--beige);
    color:var(--block_color);
    cursor: pointer;
    }
sup {
  vertical-align: super;
  font-size: smaller;
}

/* =============================================================== *
   Basic-Wordpress
   Spezifische Stile für WordPress-Elemente
* =============================================================== */
body{
opacity: 0;}
.wp-block-site-logo {
  display: inline-block;
  margin: 0 0.5rem;
position: relative;
z-index: 2;
  animation: fadeInDown; /* referring directly to the animation's @keyframe declaration */
  animation-duration: .8s; /* don't forget to set a duration! */
}
.wp-block-image{
overflow: hidden;}
.wp-block-image img{
/*
animation: scaleMe;
  animation-duration: .8s; 
*/
}

@-webkit-keyframes scaleMe {
  from {
filter:blur(10px);
    transform: scale(1.15);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
  }

  to {
filter:blur(0px);

    transform: scale(1);

  }
}
.entry-content {
    min-height: 80vh;
    overflow-x: hidden;
    }
.wp-site-blocks{
overflow-x: hidden;
max-width: 100%;
}

.home .entry-content{
overflow-x: hidden;
max-width: 100%;
}



.entry-content > h2{
    padding-left: 4vw;
    padding-right: 2vw;
    }

.entry-content > p{
    padding-left: 4vw;
    padding-right: 4vw;
    max-width: calc(1200px + 8vw);
    }

.wp-block-image {}


.wp-block-button{
    padding: 0.7em 1.1em;
    font-size: 29px;
    font-weight: bold;
    text-transform: uppercase;
    letter-spacing: 0.2em;
    }

.wp-block-button.is-style-outline>.wp-block-button__link,
.wp-block-button__link{
    background-color: var(--wp--preset--color--beige);
    color: var(--dark_background);


padding: 0.5em 0.8em;
    border-radius: 100px;
    font-size: 26px;
    font-weight: bold;
    text-transform: uppercase;
    letter-spacing: 0.13em;
    }

.wp-block-button.is-style-newsletter_eintragen .wp-block-button__link{
    }
    
.wp-block-button__link:hover{
    background-color: var(--dark_background);
    color: var(--wp--preset--color--beige);
    }

/* =============================================================== *
   Theme-Styling
   Stile, die spezifisch für das Theme sind
   Alle Angaben, welche in der theme.json definiert sind, wenn keine Block-Styles 
* =============================================================== */

.single .entry-content > .wp-block-media-text{
padding: 40px;
box-sizing: border-box;}

/* WP-Buttons */
.wp-block-button__link{
    cursor: pointer;
    transition: var(--transition);
    }

.wp-block-button.is-style-outline .wp-block-button__link:not(.has-background):hover{
    background-color: var(--dark_background);
    color: var(--wp--preset--color--beige);
    }

footer .wp-block-button .wp-block-button__link.is-style-outline, 
footer .wp-block-button.is-style-outline > .wp-block-button__link,
footer .wp-element-button{
    border: 1px solid;   
    }

footer .wp-block-button.is-style-outline .wp-block-button__link:not(.has-background):hover{
    background-color: var(--wp--preset--color--beige);
    color: var(--dark_background)!important;
    }

/* Contact-Form before Footer */
.contact_before_footer{
    margin-top: 5vw;
    margin-bottom: 5em;
    }

/* Main-Navigation Container */
nav.main_navigation{
    position: absolute;
    width:100%;
    }

nav button.wp-block-navigation__responsive-container-open {
    padding: 20px;
}

.wp-block-navigation a{
font-weight: bold;
text-transform: uppercase;
letter-spacing: 3px;
}

header .wp-block-navigation a{
font-weight: normal;
font-size: 16px;}

.has-modal-open {
    background: #d9d1af !important;
}

/* Main-Navigation List*/
ul.main_navigation{
    padding: 20px;
    gap: 20px;
    font-size: 18px;
    color:white;
    }

/* Menu Rechtliches */
footer .menu_rechtliches{
margin-top: 10vh;
padding-bottom: 5px;}

footer .menu_rechtliches a,
footer .menu_rechtliches a strong{
    font-weight: normal;
    }

footer .menu_rechtliches li:not(:last-child)::after {
    content: " | "; /* Fügt den Separator zwischen den Listenelementen hinzu, außer beim letzten Element */
    margin: 0 0 0 10px; /* Legt den Abstand links und rechts des Separators fest */
    }


/* =============================================================== *
   Components
   Wiederverwendbare Komponenten-Stile (Block-Styles)
* =============================================================== */

/* Button: Newsletter eintragen */
.wp-block-media-text.is-style-projekt .wp-block-button .wp-block-button__link:hover,
.wp-block-button.is-style-provencon_dark .wp-block-button__link:hover,
.wp-block-button.is-style-newsletter_eintragen .wp-block-button__link:not(.has-background):hover{
    color: var(--dark_background);
background-color: var(--wp--preset--color--beige);

    }

/* Button: Newsletter eintragen im Footer */
footer .wp-block-button.is-style-newsletter_eintragen .wp-block-button__link{
    background-color: transparent;
    }

footer .wp-block-button.is-style-newsletter_eintragen .wp-block-button__link:not(.has-background):hover{
    background-color: var(--wp--preset--color--beige);
    color: var(--dark_background)!important;
    }

/* Liste mit Pfeilen*/
.is-style-list_with_arrows li::before{
    display: inline-block;
    margin-right: 0.875rem;
    font-style: normal;
    font-variant: normal;
    font-family: "Font Awesome 6 Pro"; 
    font-weight: 400; 
    -webkit-font-smoothing: antialiased;
    text-rendering: auto;
    content: "\f178";

    }

.wp-block-column.content  .is-style-list_with_arrows li{
  padding-left: 0.75em;
  text-indent: -.75em;
}

.project_content{
width: auto;
}

.project_content .wp-block-column.contact{
    /* flex-grow: 0; */
flex-shrink: 0!important;
flex-basis: 420px!important;
}

.single-projekt .entry-content > .is-style-list_with_arrows,
.single-projekt .entry-content .project_content > .content > .is-style-list_with_arrows,
.is-style-beschreibung_main .is-style-list_with_arrows{
font-size: var(--wp--preset--font-size--large);
padding-left: 1em;
padding-right: 3vw;
line-height: 1.25em;
font-weight: bold;}


.single-projekt .entry-content .project_content > .content > .is-style-list_with_arrows{
padding-top: 0.5em;
padding-bottom: 0.5em;}
/* Media-Text */
/* wurde */


 .wp-block-media-text {
                box-sizing: border-box;
                /*!rtl:begin:ignore*/
                direction: ltr;
                /*!rtl:end:ignore*/
                display: grid;
                grid-template-columns: 50% 1fr;
                grid-template-rows: auto
            }

            .wp-block-media-text.has-media-on-the-right {
                grid-template-columns: 1fr 50%
            }

            .wp-block-media-text.is-vertically-aligned-top .wp-block-media-text__content,.wp-block-media-text.is-vertically-aligned-top .wp-block-media-text__media {
                align-self: start
            }

            .wp-block-media-text .wp-block-media-text__content,.wp-block-media-text .wp-block-media-text__media,.wp-block-media-text.is-vertically-aligned-center .wp-block-media-text__content,.wp-block-media-text.is-vertically-aligned-center .wp-block-media-text__media {
                align-self: center
            }

            .wp-block-media-text.is-vertically-aligned-bottom .wp-block-media-text__content,.wp-block-media-text.is-vertically-aligned-bottom .wp-block-media-text__media {
                align-self: end
            }

            .wp-block-media-text .wp-block-media-text__media {
                /*!rtl:begin:ignore*/
                grid-column: 1;
                grid-row: 1;
                /*!rtl:end:ignore*/
                margin: 0
            }

            .wp-block-media-text .wp-block-media-text__content {
                direction: ltr;
                /*!rtl:begin:ignore*/
                grid-column: 2;
                grid-row: 1;
                /*!rtl:end:ignore*/
                padding: 0 8%;
                word-break: break-word
            }

            .wp-block-media-text.has-media-on-the-right .wp-block-media-text__media {
                /*!rtl:begin:ignore*/
                grid-column: 2;
                grid-row: 1 /*!rtl:end:ignore*/
            }

            .wp-block-media-text.has-media-on-the-right .wp-block-media-text__content {
                /*!rtl:begin:ignore*/
                grid-column: 1;
                grid-row: 1 /*!rtl:end:ignore*/
            }

            .wp-block-media-text__media img,.wp-block-media-text__media video {
                height: auto;
                max-width: unset;
                vertical-align: middle;
                width: 100%
            }

            .wp-block-media-text.is-image-fill .wp-block-media-text__media {
                background-size: cover;
                height: 100%;
                min-height: 250px
            }

            .wp-block-media-text.is-image-fill .wp-block-media-text__media>a {
                display: block;
                height: 100%
            }

            .wp-block-media-text.is-image-fill .wp-block-media-text__media img {
                clip: rect(0,0,0,0);
                border: 0;
                height: 1px;
                margin: -1px;
                overflow: hidden;
                padding: 0;
                position: absolute;
                width: 1px
            }

            @media (max-width: 800px) {
                .wp-block-media-text.is-stacked-on-mobile {
                    grid-template-columns:100%!important
                }

                .wp-block-media-text.is-stacked-on-mobile .wp-block-media-text__media {
                    grid-column: 1;
                    grid-row: 1
                }

                .wp-block-media-text.is-stacked-on-mobile .wp-block-media-text__content {
                    grid-column: 1;
                    grid-row: 2
                }
            }

.wp-block-media-text.is-style-projekt{
background: var(--block_color);
width: 1400px;
max-width: calc(100% - 40px);
margin: 5rem auto;
border-radius: var(--border-radius-10);
overflow: hidden;
filter: var(--shadow);
grid-template-columns: 66% 1fr;
}



.wp-block-media-text.is-style-projekt .wp-block-media-text__media{
align-self: stretch;
}

.wp-block-media-text.is-style-projekt .wp-block-media-text__media img{
height: 100%;
object-fit: cover;
}

.wp-block-media-text.is-style-projekt .wp-block-media-text__content{
display: flex;
flex-direction: column;
padding: 0;
align-self: stretch;
}

.wp-block-media-text.is-style-projekt .wp-block-media-text__content .ort{
background: var(--dark_background);
padding: 15px 20px;
font-weight: bold;
}

.wp-block-media-text.is-style-projekt .wp-block-media-text__content .objekt_titel{
font-weight: bold;
margin-left: 20px;
margin-top: 0.25em;
}

.wp-block-media-text.is-style-projekt .wp-block-media-text__content .objekt_preis{
margin-left: 20px;
}


.wp-block-media-text.is-style-projekt .wp-block-media-text__content ul {
    margin-left: 20px;
    margin-right: 20px;
}

.wp-block-media-text.is-style-projekt .wp-block-media-text__content .wp-block-button{
    padding: 0.7em 1.1em;
    font-size: 29px;
    font-weight: bold;
    text-transform: uppercase;
    letter-spacing: 0.2em;
    height: 100%;
    display: flex;
    justify-content: flex-end;
    align-items: flex-end;
}

.is-style-provencon_dark .wp-block-button__link,
.wp-block-media-text.is-style-projekt .wp-block-media-text__content .wp-block-button__link {
    padding: .7rem 1.4rem;
    cursor: pointer;
    transition: var(--transition);
    font-weight: 100;
    font-size: 20px;
    background: #1f1f1e;
    color: #d9d1af;
    border: 1px solid;
width: unset;
height: unset;
}

/* =============================================================== *
   Layout
   Stile für Layout-Elemente wie Gruppen, Grids, Spalten usw.
* =============================================================== */
/* Newsletter bestellen Gruppe */
.wp-block-group.wp-block-group.has-background{
    padding: 6vw;
    border-radius: 3px;
    filter: var(--shadow);
    }

/* Footer */
footer > .wp-block-group > * + *{
    margin-top: 7vw;
    }

footer .postalische_adresse{
    width: 500px;
    max-width: calc(100% - 20px);
    margin-left: auto;
    margin-right: auto;
}

/* =============================================================== *
   Module
   Stile für modulare Elemente wie Slider, Tabs usw.
* =============================================================== */
body.form_open{
overflow-y: hidden;
}
/* Objekt-Block-Vorlage */
.wp-block-cover-image.has-custom-content-position.has-custom-content-position .wp-block-cover__inner-container, 
.wp-block-cover.has-custom-content-position.has-custom-content-position .wp-block-cover__inner-container{
width: 100%;
}
.wp-block-cover.objekt_container > .wp-block-cover__inner-container{
width: 100%!important;
}
.wp-block-cover.objekt_container .wp-block-cover__inner-container > .wp-block-group{
    justify-content: space-between;
width: 100%;
}

.wp-block-cover.objekt_container .wp-block-cover__inner-container p + p {
margin-top: 0;
line-height: 1.25em;
}

/* Kontaktformulare global*/
.hf-message{
    font-size: 14px;
    letter-spacing: 1px;
    text-align: center;
    padding: 10px 0;
    font-weight: bold;
}


/* Objekt anfragen Formular */
.page_layer_objekt_anfragen{
    display: none;
opacity: 0;
    position: fixed;
    width: 100%;
    height: 100vh;
    justify-content: center;
    align-items: center;
    top: 0;
    left: 0;
z-index: 1;
background-color: var(--dark_background_transparent);
    }
.form_container_objekt_anfragen.animate__animated{
animation-duration: 0.61s;}
.page_layer_objekt_anfragen.active{
    display: flex;
    -webkit-animation-name: fadeBackgroundIn;
    animation-name: fadeBackgroundIn;
    /*-webkit-animation-duration: 0.2s;
    animation-duration: 0.2s;
    */-webkit-animation-fill-mode: both;
    animation-fill-mode: both;
    backdrop-filter: blur(10px);
    }

@-webkit-keyframes fadeBackgroundIn {
  from {
    opacity: 0;
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
  }

  to {
       opacity: 1;

  }
}

/* Kontakt-Formular Objekt anfragen */
.form_container_objekt_anfragen{
    display: flex;
    flex-direction: column;
    width: calc(100% - 40px);
    max-width: 400px;
    border-radius: var(--border-radius-10);
    background:  var(--block_color);
    overflow: hidden;
    filter: var(--shadow);
    }

.form_container_objekt_anfragen h2{
    margin-bottom: 0.25em;
    padding: 15px;
    background-color: var(--dark_background);
    }





.ref{
    align-self: flex-start;
    font-size: 14px;
    padding-left: 20px;
    margin-bottom: 0;
    padding-bottom: 0;
    opacity: 1;
    letter-spacing: 0.9px;
    text-transform: uppercase;
    color: var(--placeholder-text-color);

}

/* =============================================================== *\ 
   Title
\* =============================================================== */

.contact_before_footer{
overflow-x:hidden;}

/* Allgemeines Kontaktformular */
.wp-block-group.allgemeiner_kontakt{
    margin-left: auto;
    margin-right: auto;
    width: 825px;
    max-width: calc(100% - 20px);
    background-color: var(--block_color);
    font-size: 26px;
    line-height: 1.25em;
    border-radius: var(--border-radius-10);
    overflow: hidden;
overflow-x:hidden
    filter: var(--shadow);
    }

.wp-block-group.allgemeiner_kontakt > .wp-block-group{
    display: flex;
    align-items: stretch;
    /* gap: 30px; */
    gap: 0;
    padding: 40px;
    }

.wp-block-group.allgemeiner_kontakt h2{
    padding: 0.25em 0.5em;
    background-color: var(--dark_background);
    }

.wp-block-group.allgemeiner_kontakt .postalische_adresse{
    flex-basis: 50%;
    margin-bottom: 86px; /* Senden Button höhe + margin-top*/
    /* padding: 20px 26px; */
    /* background: var(--input-background-color); */
    border-radius: var(--input-border-radius);
    padding-right: 2rem;
    padding-bottom: 2rem;
    }

.wp-block-group.allgemeiner_kontakt .hf-form{
    display: flex;
    flex-direction: column;
    flex-basis: 50%;
    }

.wp-block-group.allgemeiner_kontakt .hf-form .hf-fields-wrap{
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: center;
    }

.wp-block-group.allgemeiner_kontakt .hf-form textarea{
    height: 250px;
    resize: none;
    }

.wp-block-group.allgemeiner_kontakt .hf-form input,
.wp-block-group.allgemeiner_kontakt .hf-form textarea{
    margin: 0;
    align-self: stretch;
    }

.wp-block-group.allgemeiner_kontakt .hf-form input + input,
.wp-block-group.allgemeiner_kontakt .hf-form input + textarea{
    margin-top:20px;
    }

.wp-block-group.allgemeiner_kontakt .hf-form input[type="submit"]{
    margin-top: 30px;
    align-self: center;
}


/* Newsletter eintragen Form */
#mc4wp-form-1{
    display: none;
    position: fixed;
    width: 100%;
    height: 100vh;
    justify-content: center;
    align-items: center;
    top: 0;
    left: 0;
    }

#mc4wp-form-1.active{
    display: flex;
    -webkit-animation-name: fadeBackgroundIn;
    animation-name: fadeBackgroundIn;
    -webkit-animation-duration: 0.2s;
    animation-duration: 0.2s;
    -webkit-animation-fill-mode: both;
    animation-fill-mode: both;
    backdrop-filter: blur(10px);
background-color: var(--dark_background_transparent);
    }

#mc4wp-form-1 .mc4wp-form-fields{
    display: flex;
    flex-direction: column;
    width: calc(100% - 40px);
    max-width: 400px;
    border-radius: var(--border-radius-10);
    background:  var(--block_color);
    overflow: hidden;
    filter: var(--shadow);
    }

#mc4wp-form-1 .mc4wp-form-fields h2{
    margin-bottom: 0.25em;
    padding: 15px;
    background-color: var(--dark_background);
    }

#mc4wp-form-1 .mc4wp-form-fields .submit_container{
    display:flex;
    justify-content: center;
    margin: 10px;
    }


/* Berater Container Hack */
.single-projekt .wp-block-columns {
    width: 2000px;
    max-width: calc(100% - 40px);
gap: 100px;
justify-content: space-between;
    }
    


.single-projekt .wp-block-columns .wp-block-column:first-child {
max-width: 1400px;

}

/* Berater Container */
.is-style-berater_container {
    position: -webkit-sticky;
    position: sticky;
    top: 40px;  
    /* width: 420px; */
    max-width: 420px;
    width: calc(100% - 40px);
    flex-shrink: 2;
    align-self: flex-start;
    background-color: var(--block_color);
  /*
  font-size: 26px;
*/
    font-size: 26px;
    line-height: 1.25em;
    border-radius: var(--border-radius-10);
    overflow: hidden;
    filter: var(--shadow);
}

@media (max-width: 1200px) {

    .wp-block-columns {
        flex-wrap: wrap!important;
    }


}

@media (max-width: 2000px) {
    .is-style-berater_container img {
       /* display: none;*/
    }

    .contact .wp-block-columns {
        margin-top: 10px !important;
    }
}

@media (min-width: 782px) {
    .wp-block-columns:not(.is-not-stacked-on-mobile)>.wp-block-column {
        flex: initial;
    }
}

.single-projekt .wp-block-columns .wp-block-column.is-style-berater_container{

flex-grow: 0!important;
}

.is-style-berater_container  h2{
    padding: 0.25em 0.5em;
font-size: 30px;
    background-color: var(--dark_background);
    }


.is-style-berater_container  p,
.is-style-berater_container  ul{
    padding: 15px;
margin-top: 0;
}
.single-projekt .is-style-berater_container .wp-block-columns{
gap: 0;
align-items: flex-end;
max-width: 100%;
margin-top: 0;}
.is-style-berater_container .name{
padding-left: 15px;
}
.is-style-berater_container .funktion {
    padding-top: 0;
margin-top: -10px;
    font-size: 18px;
}
.is-style-berater_container p strong{
font-size: inherit;
}

.is-style-berater_container a{
color: inherit;
text-decoration: none;}

.is-style-berater_container figure {
    width: 126px;
    position: absolute;
    top: 15px;
    right: 15px;
    }

.is-style-berater_container{
transition: all 0.2s;
}

.is-style-berater_container form{
  max-height: 0;
    overflow: hidden;
    transition: max-height 1s ease; /* Nutze max-height für die Animation */
    animation-duration: 0.2s;
}

.is-style-berater_container form.open{
    max-height: 500px;
    padding-bottom: 15px;

}

.is-style-berater_container form .hf-fields-wrap{
    display: flex;
    flex-direction: column;
}

.is-style-berater_container form .hf-fields-wrap input[type="submit"]{
    align-self: center;
    padding: .7rem 1.4rem;
}

.is-style-berater_container .wp-block-button.hide,
.is-style-berater_container .wp-block-button.hide a{
    max-height: 0;
    overflow:hidden;
    display: none;
}

/* =============================================================== *
   Seitenstile
   Spezifische Stile für bestimmte Seiten oder Seitentypen
* =============================================================== */

/* Home: Logo */
.home .wp-block-site-logo{    
    position: absolute;
    display: flex;
    justify-content: center;
    margin-top: 100px;
    width: 100vw;
    }

.home .wp-block-site-logo img{
    width: 300px;
    filter: drop-shadow(0px 0px 20px #000000aa);
    }

/* Home: Teaser-Bild*/
.home .entry-content > :first-child:is(figure) img {
    width: 100vw;
    height: 80vh;
    object-fit: cover;
    }

/* Home: Projekte-Titel ausblenden */
.home #projekte{
    display: none;
    }

/* Home: Grafisches Element oberhalb h2 */
.entry-content > h2::before,
.entry-content  .project_content > .content > h2::before{
    display: block;
    margin-top: 4em;
    width: 85px;
    content: url('assets/design-elements/title_separator.svg');
    opacity: 0.2;
    }

/* Page-default*/
body.page-template-default .wp-block-post-title{
padding-top: 10vh;
max-width: 1400px;
margin: auto;
}

/* Single Projekt */
.single-projekt .entry-content > :first-child:is(figure) img {
    width: 100vw;
    height: 80vh;
    object-fit: cover;
    }

/* =============================================================== *
   ID's
   Stile für Elemente mit einer spezifischen ID
* =============================================================== */

body.home .entry-content > .wp-block-media-text{
padding: 1vw 4vw;}


body .entry-content > .wp-block-media-text.wp-block-media-text.is-style-projekt{
padding: 0
}


body.page-id-17 .entry-content,
body.privacy-policy .entry-content{
width: 1400px;
max-width: calc(100% - 20px);
margin-left: auto;
margin-right: auto;
}
body.page-id-17  .entry-content p,
body.privacy-policy .entry-content p{
    padding-left: 0;
    padding-right: 0;
max-width: 100%;
    }
body.page-id-17 .entry-content h2,
body.privacy-policy .entry-content h2{
padding-right: 0;
padding-left: 0;}

body.page-id-17 .entry-content h2::before{
content: none;}
body.page-id-17 .postalische_adresse{
margin-top: 1em;}
body.page-id-17 .entry-content a{
color: inherit;
text-decoration: none;}
body.page-id-17 .entry-content > * + *,
body.privacy-policy .entry-content * + *{
    margin-top: 1em;
    }
.ulrich_digital a{
transition: var(--transition);
transition-timing-function: ease-out;
filter: drop-shadow(0px 0px 0px blue);
}
.ulrich_digital a:hover{
filter: drop-shadow(0px 0px 5px red);
}


/* =============================================================== *\
   Your Contact 
\* =============================================================== */

.contact {
    --box-padding: 15px;
}

.contact .wp-block-group {
    padding: var(--box-padding);
    width: 100%;
}

.contact .wp-block-group h2.wp-block-heading {
    margin-top: calc(var(--box-padding) * -1);
    margin-left: calc(var(--box-padding) * -1) !important;
    margin-right: calc(var(--box-padding) * -1) !important;
    padding: 15px 30px;
}

.contact .wp-block-columns {
    margin-top: 30px;
}

/* Button */
.contact .wp-block-button__link,
.contact input[type=submit] {
    padding: 0.5rem 1.4rem;
    transition: background-color 0.3s;
}

/* input fields */
.contact input[name=VORNAME],
.contact input[name=NACHNAME],
.contact input[name=EMAIL] {
    margin: 10px 15px;
}

.contact .wp-block-button {
    padding-bottom: 15px;
}

.contact .is-style-berater_container form.open {
    padding-bottom: 0;
}


/* =============================================================== *\
   Slick
\* =============================================================== */

.single-projekt .slick_slider {
    margin-left: initial;
    margin-right: initial;
    border: none;
}

.single-projekt .slick-prev,
.single-projekt .slick-next {
    width: 40px;
    height: 40px;
    border-radius: 40px;
}

.single-projekt .slick-slider-hover .slick-prev,
.single-projekt .slick-slider-hover .slick-next {
    background-color: var(--dark_background);
    opacity: .85;
}

.single-projekt .slick-slide img {
    border-radius: 2px;
    opacity: .9;
    width: 100%;
    height: 100%;
}

.single-projekt .slick-track {
    display: flex !important;
}

.single-projekt .slick-slide {
    height: inherit !important;
}


@media screen and (max-width: 400px) {
    .single-projekt .slick_slider.ud_anzeigemodus_normal, 
    .single-projekt .slick_slider.ud_anzeigemodus_normal .slick-list, 
    .single-projekt .slick_slider.ud_anzeigemodus_normal img {
        width: 100%;
        max-width: 100%!important;
        height: auto;
    }
}

/* =============================================================== *\
   Title
\* =============================================================== */

.wp-block-column.contact {
    /* min-width: 420px; */
}

.wp-block-cover.wp-block-cover.objekt_container {
    max-height: 80vh;
    min-height: auto!important;
    height: 80vh;
}

.wp-block-cover.objekt_container > .wp-block-cover__background.has-background-dim {
    background: linear-gradient(0deg, black 0%, transparent 35%);
    mix-blend-mode: darken;
    opacity: 0.5;
    }

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

    .wp-block-cover.wp-block-cover.objekt_container {
        max-height: 100vh;
        min-height: auto!important;
        height: 100vh;
    }

    .wp-block-cover.wp-block-cover.objekt_container .wp-block-cover__inner-container .wp-block-group {
        display: flex;
        flex-direction: column;
		align-items: flex-start;
    }
    .wp-block-cover.wp-block-cover.objekt_container .wp-block-cover__inner-container .wp-block-group p{
	width: 100%;
	}
	
	.wp-block-cover.wp-block-cover.objekt_container .wp-block-cover__inner-container .wp-block-button.projekt_anfragen{
		padding-left: 0;
	}

}

.home header .wp-block-site-logo,
.home header .wp-block-site-logo img{
margin-left: 0;}

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

    .home .wp-block-media-text.about_us {
        grid-template-columns: 100%!important;
    }

    .home .wp-block-media-text.about_us .wp-block-media-text__media {
        grid-column: 1;
        grid-row: 1;
    }

    .home .wp-block-media-text.about_us .wp-block-media-text__content {
        grid-column: 1;
        grid-row: 2;
        padding: 1em 0 0;
    }
	

}

@media screen and (max-width: 800px) {
  :root {
        --wp--preset--font-size--large: var(--wp--preset--font-size--large-mobile);
    }
    .wp-block-group.allgemeiner_kontakt > .wp-block-group {
        flex-direction: column;
    }

    .wp-block-group.allgemeiner_kontakt .postalische_adresse {
        margin-bottom: 0;
    }

    footer > div.wp-block-spacer{
        display: none;
    }
    .contact .wp-block-columns {
       flex-direction: column-reverse;
    }
.entry-content .has-large-font-size:not(.objekt) strong,
.wp-block-cover.wp-block-cover.objekt_container .wp-block-cover__inner-container .wp-block-group .ort strong,
.wp-block-cover.wp-block-cover.objekt_container .wp-block-cover__inner-container .wp-block-group .preis strong,
.single-projekt .entry-content > .is-style-list_with_arrows, 
.single-projekt .entry-content .project_content > .content > .is-style-list_with_arrows, 
.is-style-beschreibung_main .is-style-list_with_arrows{
font-weight: 100!important;
font-size: 20px;
}
.slick-prev{
left: 5px;
top: calc(50% - 40px);
}
.slick-next{
right: 5px;
top: calc(50% - 40px);
}
.entry-content > h2::before, .entry-content .project_content > .content > h2::before {
    margin-top: 2em;
    width: 40px;
    margin-bottom: 0.25em;
}
.is-style-berater_container figure{
position: relative;
top:auto;
right: auto;
}

.is-style-berater_container p, .is-style-berater_container ul {
    font-size: 1rem;
}
.contact .wp-block-group h2.wp-block-heading{
padding-left: 20px;}
.is-style-berater_container p, 
.is-style-berater_container ul,
.is-style-berater_container .name{
padding-left: 5px;}

.is-style-berater_container p.ref{
font-size: 0.75rem;
padding-bottom: 0.25rem;}
.wp-block-media-text.is-style-projekt .wp-block-media-text__content .ort {
    padding: 10px 15px;
}
.is-style-list_with_arrows li::before {
    margin-right: 0.5rem;
}
.is-style-provencon_dark .wp-block-button__link, .wp-block-media-text.is-style-projekt .wp-block-media-text__content .wp-block-button__link{
padding: .5rem 1rem;
}
.wp-block-group.allgemeiner_kontakt > .wp-block-group{
padding: 20px;}
.wp-block-group.allgemeiner_kontakt .postalische_adresse{
padding-right: 0;
font-size: 1rem;}
}

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

    .wp-block-columns.project_content {
        flex-direction: column-reverse;
    }

    .wp-block-columns .contact {
        margin-left: auto;
        margin-right: auto;
    }

    .wp-block-columns.project_content:not(.is-not-stacked-on-mobile)>.wp-block-column {
        flex-basis: 100%!important;
        max-width: 100%;
        overflow-x:hidden;
    }

}





/* =============================================================== *\ 
    PROVEVON HOLDING 
    Columns bei Home Seite
\* =============================================================== */
.home .project_content{
    width: calc(100vw - 40px);
    max-width: 1600px!important;
    gap: 100px;
    }

.home .project_content .content{
    flex-grow: 2!important;
    }

@media screen and (max-width: 800px) {
    .home .project_content .wp-block-media-text .wp-block-media-text__content{
        padding: 1em 0;
        }
    }

.home .project_content .contact{
    flex-shrink: 0;
    }


.home .project_content .contact .name {
    width: 100%;   
    }

/* =============================================================== *\ 
   Pfeile bie Holding Seite - Home
\* =============================================================== */

.home .wp-block-column.content .is-style-list_with_arrows {
    padding-left: 1em;
    }

.home .wp-block-column.content .is-style-list_with_arrows a{
    text-decoration: none;
    color: inherit;
    line-height: 1.5em;
    }

.home .wp-block-column.content .is-style-list_with_arrows li::before{
    transition: all 0.2s;
    }

.home .wp-block-column.content .is-style-list_with_arrows li:hover::before{
    transform: translateX(5px);
    }


.display_none{
opacity: 0!important;
}

.reserviert, 
.verkauft{
    background: #842222;
    padding: 5px 15px;
    border-radius: 1000px;
    text-align: center;
    max-width: fit-content;
    font-size: 24px;
    text-transform: uppercase;
    letter-spacing: 0.125em; 
margin: 20px;   
}

.verkauft{
}

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


.projekt_anfragen.is-style-sold a{
pointer-events: none;
    background: #842222;
border-color: #842222;

}

.single-projekt .reserviert, 
.single-projekt .verkauft{
   
    font-weight: inherit;
   
}