/*
Theme Name: piandpi-Theme
Theme URI: https://www.piandpi.de
Author: Pi%Pi
Author URI: https://www.piandpi.de
Text Domain: Fahrschule-Greif-theme
*/

@import url("https://use.typekit.net/hmo4ssp.css");

html {
    box-sizing:border-box;
    -webkit-text-size-adjust: 100%;
    -ms-text-size-adjust: 100%;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    font-smooth: antialiased;
    text-rendering: optimizeLegibility;
    word-wrap: normal;
    font-variant-ligatures: common-ligatures;
    -webkit-font-feature-settings: "liga", "clig";
    -moz-font-feature-settings: "liga", "clig";
    font-feature-settings: "liga", "clig";
    -webkit-font-feature-settings: "liga", "lnum";
    -moz-font-feature-settings: "liga", "lnum";
    font-feature-settings: "liga", "lnum";
    position: relative;
    -webkit-tap-highlight-color: rgba(0,0,0,0);
    height: 100%;
    margin-top: 0 !important;
    overflow-x: hidden;
}
*,
*::before,
*::after {
    box-sizing: inherit;
}
body {
    margin: 0;
    padding: 0;
}

/* Headings */
h1 a,
h2 a,
h3 a,
h4 a,
h5 a,
h6 a {
    color:inherit;
    text-decoration: none !important;
}

/* header */

.wp-site-blocks{
    position: relative;
}

.header_wrapper{
    position: sticky;
    top: 0;
}

.wp-block-cover.alignfull{
    max-width: 2000px;
} 


.absolute_header_img img{
    position: absolute;
    top: 5px;
}

/* menu */
.wp-block-navigation ul:not(.wp-block-navigation__submenu-container) {
    gap:0rem;
}
.wp-block-navigation ul:not(.wp-block-navigation__submenu-container) > li.has-child {
    flex-wrap: wrap;
    justify-content: center;
}
.wp-block-navigation ul:not(.wp-block-navigation__submenu-container) > li > a{
    padding:1rem 1.5rem;
    font-weight: bold;
    font-size: 1.2rem;
}
.wp-block-navigation ul > li {
    cursor: pointer;
}
.wp-block-navigation ul > li:hover > a,
.wp-block-navigation ul > li.current-menu-item > a{
    font-weight: bold;
}
.wp-block-navigation ul:not(.wp-block-navigation__submenu-container) > li.has-child > a{
    padding:1rem 0.5rem 1rem 1.5rem;
}
.wp-block-navigation ul:not(.wp-block-navigation__submenu-container) > li.has-child > .wp-block-navigation__submenu-icon svg path{
    stroke-width:3;
}
.wp-block-navigation ul.wp-block-navigation__submenu-container {
    left: auto !important;
    right: auto !important;
    width: 100% !important;
    border:none !important;
    padding:0;
    position: relative !important;
}
.wp-block-navigation .has-child:not(.open-on-click):hover > ul.wp-block-navigation__submenu-container {
    padding:0.5rem 3rem 1.5rem;
}
.wp-block-navigation ul.wp-block-navigation__submenu-container > li > a{
    padding:1rem 0;
}
.wp-block-navigation ul.wp-block-navigation__submenu-container > li:last-child > a{
    border-bottom: none;
}

.wp-block-navigation .wp-block-navigation-item__label {
  overflow-wrap: break-word;
  margin-left: auto;
  margin-right: auto;
}

.wp-block-navigation-item.has-child{
    cursor:default !important;
}

.wp-block-social-links, .wp-block-social-links.has-normal-icon-size {
    font-size:20px;
}



/* widths */
.alignfull {
    margin-right: auto;
    margin-left: auto;
    width: 100%;
    margin-top: 3rem;
}
.alignwide {
   width:90%;
   margin-left:auto;
   margin-right:auto;
 }
.wp-block-cover.alignfull > .wp-block-cover__inner-container,
.wp-block-group.alignfull {
   width:100%;
 }
.entry-content > :not(.alignwide):not(.alignfull),
.wp-block-cover.alignfull > .wp-block-cover__inner-container > :not(.alignwide):not(.alignfull),
.wp-block-group.alignfull > :not(.alignwide):not(.alignfull) {
    width:90%;
    margin-left:auto;
    margin-right:auto;
}

/* paddings and margins for alignfull blocks */
.wp-block-group.alignfull.has-background,
.wp-block-cover.alignfull{
    padding:3rem 0;
}
.alignfull + * {
    margin-top: 3rem;
}
.alignfull + .alignfull,
.alignfull + footer {
    margin-top: 0 !important;
}
.entry-content > *:last-child:not(.alignfull) {
    margin-bottom:3rem;
}

.entry-content:has(.wp-block-cover){
    margin-block-start: 0;
}

/* padding for background-color-boxes */
/*
.entry-content .wp-block-group.has-background:not(.alignfull), .wp-block-media-text.has-background .wp-block-media-text__content {
    padding:2em;
    box-sizing: border-box;
} */

/* cover-blocks */
.wp-block-cover.alignfull.has-custom-content-position {
  padding:2rem !important;
}

.wp-block-cover {
z-index: -1 !important;
}


/* individuell styles --------------------------------------------- */

/* button  */

.wp-block-button__link.wp-element-button:hover{
    border-color: var(--wp--preset--color--custom-orange);
    border: 3px solid;
    background-color: white;
    color: var(--wp--preset--color--custom-orange);
}

.wp-block-button__link.wp-element-button{
    border-color: var(--wp--preset--color--custom-orange) !important;
    border: 3px solid;
    font-weight: bold;
}

/* breakline  */

.orange-line{
    border-bottom: solid var(--wp--preset--color--custom-orange) 1px;
}


/* list styles  */

ul.wp-block-list li:not(ol.wp-block-list li)::marker{
content: "✓  ";
color: var(--wp--preset--color--custom-orange);
font-size: 1.5rem;
}

.wp-block-list li{
    margin-bottom: 0.8rem;
}

/* headline  */

.headline_inclined{
transform: rotate(-11deg);
}

.headline_inclined{
scale: 0.5;
}

.headline_inclined_wrapper{
margin-left: -50px;
}

div:has(.headline_inclined_wrapper){
    margin-left: unset !important;
}

/* form  */

.wpcf7-form input:not(.wpcf7-submit):not(input[type='checkbox']),
.wpcf7-form select,   
.wpcf7-form textarea{
    margin-bottom: 0.5rem;
    background: none;
    border: solid 1px lightgray;
}

.wpcf7-form input::placeholder,
.wpcf7-form textarea::placeholder,
.wpcf7-form select option{
    font-family: var(--wp--preset--font-family--arimo);
    color: var(--wp--preset--color--custom-schriftgrau);
    font-weight: bold;
    font-size: 0.8rem;
}

.wpcf7-form input:not(.wpcf7-submit):not(input[type='checkbox']),
.wpcf7-form select{
    height: 2.5rem;
    font-family: var(--wp--preset--font-family--arimo);
    color: var(--wp--preset--color--custom-schriftgrau);
    font-weight: bold;
}

.wpcf7-form input:not(.wpcf7-submit):not(input[type='checkbox']),
.wpcf7-form textarea,
.wpcf7-form select{
    width: 100%;
}

input.wpcf7-submit{
    border: solid 3px var(--wp--preset--color--custom-orange) !important;
    font-family: var(--wp--preset--font-family--arimo);
    font-weight: bold;
    color: var(--wp--preset--color--custom-orange) !important;
    background: none;
    padding: 1rem 2rem 1rem 2rem;
    font-size: inherit;
    cursor: pointer;
    border-radius: 10px;
    box-shadow: 6px 6px 9px rgba(0, 0, 0, 0.2);
}

input.wpcf7-submit:hover{
    border: solid 3px var(--wp--preset--color--custom-orange) !important;
    font-family: var(--wp--preset--font-family--arimo);
    font-weight: bold;
    color: white !important;
    background: var(--wp--preset--color--custom-orange);
    padding: 1rem 2rem 1rem 2rem;
    font-size: inherit;
    cursor: pointer;
    border-radius: 10px;
    box-shadow: 6px 6px 9px rgba(0, 0, 0, 0.2);
}

.form_half_wrapper{
    display: block;
 }
 
 .form_half{
     width: 100%;
 }

.wpcf7-spinner{
    display: none;
}

.form_submit_wrapper .wpcf7-list-item {
    margin: auto !important;
    text-align: start !important;

}

p:has(.contactform-h){
    display: none;
}

.form_submit_wrapper{
display: flex;
gap: 1rem;
}

/* map  */

.leaflet-top{
    display: none;

}

small a{
    display: none;
}

.osm_wrapper{
    width: 300px;
}


/* infobox  */

.style-infobox .infobox-inner{
margin-top: -30px !important;
}

.style-infobox figure{
    z-index: 5 !important;
    position: relative;
}


.wp-block-columns:not(.is-not-stacked-on-mobile) > .wp-block-column,
        .wp-block-columns:not(.is-not-stacked-on-mobile) > .wp-block-columnh2.has-text-align-left{
        text-align: center !important;
}

/* icons  */

.tel_icon,
.home_icon,
.mail_icon{
    margin-left: 37px;
    position: relative;
}

.tel_icon::before{
    content: "";
    background-repeat: no-repeat;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3C!--!Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2025 Fonticons, Inc.--%3E%3Cpath d='M164.9 24.6c-7.7-18.6-28-28.5-47.4-23.2l-88 24C12.1 30.2 0 46 0 64C0 311.4 200.6 512 448 512c18 0 33.8-12.1 38.6-29.5l24-88c5.3-19.4-4.6-39.7-23.2-47.4l-96-40c-16.3-6.8-35.2-2.1-46.3 11.6L304.7 368C234.3 334.7 177.3 277.7 144 207.3L193.3 167c13.7-11.2 18.4-30 11.6-46.3l-40-96z' fill='%23e59558' /%3E%3C/svg%3E");
    height: 25px;
    width: 25px;
    position: absolute;
    left: -35px;
}


.home_icon::before{
    content: "";
    background-repeat: no-repeat;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 576 512'%3E%3C!--!Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2025 Fonticons, Inc.--%3E%3Cpath d='M575.8 255.5c0 18-15 32.1-32 32.1l-32 0 .7 160.2c0 2.7-.2 5.4-.5 8.1l0 16.2c0 22.1-17.9 40-40 40l-16 0c-1.1 0-2.2 0-3.3-.1c-1.4 .1-2.8 .1-4.2 .1L416 512l-24 0c-22.1 0-40-17.9-40-40l0-24 0-64c0-17.7-14.3-32-32-32l-64 0c-17.7 0-32 14.3-32 32l0 64 0 24c0 22.1-17.9 40-40 40l-24 0-31.9 0c-1.5 0-3-.1-4.5-.2c-1.2 .1-2.4 .2-3.6 .2l-16 0c-22.1 0-40-17.9-40-40l0-112c0-.9 0-1.9 .1-2.8l0-69.7-32 0c-18 0-32-14-32-32.1c0-9 3-17 10-24L266.4 8c7-7 15-8 22-8s15 2 21 7L564.8 231.5c8 7 12 15 11 24z' fill='%23e59558' /%3E%3C/svg%3E");
    height: 25px;
    width: 25px;
    position: absolute;
    left: -35px;
}


.mail_icon::before{
    content: "";
    background-repeat: no-repeat;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3C!--!Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2025 Fonticons, Inc.--%3E%3Cpath d='M48 64C21.5 64 0 85.5 0 112c0 15.1 7.1 29.3 19.2 38.4L236.8 313.6c11.4 8.5 27 8.5 38.4 0L492.8 150.4c12.1-9.1 19.2-23.3 19.2-38.4c0-26.5-21.5-48-48-48L48 64zM0 176L0 384c0 35.3 28.7 64 64 64l384 0c35.3 0 64-28.7 64-64l0-208L294.4 339.2c-22.8 17.1-54 17.1-76.8 0L0 176z' fill='%23e59558'/%3E%3C/svg%3E");
    height: 25px;
    width: 25px;
    position: absolute;
    left: -35px;
}

/* details style  */

details{
    border-top: solid 1px #fe9c53;
  }
  details:last-of-type {
    border-bottom: solid 1px #fe9c53;
  }
  details summary {
    list-style: none;
    padding: 11px 50px 13px 18px;
    font-size: 1.1rem !important;
    /* color: var(--wp--preset--color--blau) !important; */
    font-weight: 600;
    line-height: 1.3;
    position: relative;
  }
  
  details summary::-webkit-details-marker{
      display: none;
  }
  
  details summary::after {
    content: "";
    height: 15px;
    width: 25px;
    mask-repeat: no-repeat;
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24.28' height='13.533' viewBox='0 0 24.28 13.533'%3E%3Cpath id='Pfad_962' data-name='Pfad 962' d='M814.527,42.172l9.313,8.706,9.313-8.706' transform='translate(-811.701 -39.345)' fill='none' stroke='%23c7d0db' stroke-linecap='round' stroke-linejoin='round' stroke-width='4'/%3E%3C/svg%3E");
    position: absolute;
    display: inline-block;
    right: 10px;
    mask-size: 50%;
    top: 15px;
    mask-position: center;
    background-color: #fe9c53;
    transition: 0.5s;
  }
  
  details[open] summary:after{
      transform: rotate(180deg) !important;
  }
  
  details[open]{
      background-color: #f6f6f6;
      padding-bottom: 20px;
  }
  
  details summary ~ * {
    margin-left: 18px;
    margin-right: 18px;
  }
  
  details summary + p {
    margin-top: 0 !important;
  }
  



/* media queries -------------------------------------------------------------------------------------------------------------------------------------------- */
@media only screen and (min-width: 600px) {

    .osm_wrapper{
        width: 425px;
        height: 226px;
    }
   
}

@media only screen and (min-width: 782px){

    .wp-block-columns:not(.is-not-stacked-on-mobile) > .wp-block-column,
    .wp-block-columns:not(.is-not-stacked-on-mobile) > .wp-block-columnh2.has-text-align-left{
    text-align: unset !important;
    }

    .form_half_wrapper{
        display: flex;
        gap: 1rem;
    }

    .form_half{
        width: 50%;
    }

}


@media only screen and (min-width: 990px) {
    /* cover-blocks */
    .wp-block-cover.alignfull.has-custom-content-position {
        padding:8rem !important;
    }

    /* main menu */
    .wp-block-navigation ul:not(.wp-block-navigation__submenu-container) > li.has-child {
        flex-wrap: nowrap;
        justify-content: center;
        /* margin-right: 1.5rem; */
    }
    .wp-block-navigation ul:not(.wp-block-navigation__submenu-container) > li:last-child > a{
        padding-right:0;
    }
    .wp-block-navigation ul.wp-block-navigation__submenu-container {
        left: -1rem !important;
        right: auto !important;
        width: auto !important;
        -webkit-box-shadow: 0px 10px 30px -10px rgba(0,0,0,0.1);
        -moz-box-shadow: 0px 10px 30px -10px rgba(0,0,0,0.1);
        box-shadow: 0px 10px 30px -10px rgba(0,0,0,0.1);
        padding:0.5rem 3rem 1.5rem;
        min-width: 250px !important;
        position: absolute !important;
    }

    /* paddings and margins for alignfull blocks */
    .alignfull {
        margin-top:6rem;
    }
    .wp-block-group.alignfull.has-background,
    .wp-block-cover.alignfull{
        padding:6rem 0;
    }
    .alignfull + * {
        margin-top: 6rem;
    }
    .entry-content > *:last-child:not(.alignfull) {
        margin-bottom:6rem;
    }

    .headline_inclined{
        scale: 1;
    }

    .headline_inclined_wrapper{
        margin-left: auto !important;
    }

    div:has(.headline_inclined_wrapper){
        margin-left: auto !important;
    }
}

/* special media query for content width plus 10vw */
@media only screen and (min-width: calc(1200px + 10vw)) {
   
}