/*
Theme Name: P3 Wordpress Theme - Child
Theme URI: https://p3digital.media
Description: Child Theme
Author: P3 DIGITAL/MEDIA
Author URI: https://p3digital.media
Template: p3-homepage
Version: 0.1
Text Domain: p3-homepage-child
Domain Path: /languages
*/


/* Basics */

html {
    scroll-padding-top: 150px;
}

main{
    padding-top: var(--base-clearance-lg);
}

/* italic = primary-color */

h1, .h1{
    text-transform: uppercase;
    color: var(--color-primary-hover);
    /*font-size: calc(var(--base-heading-h1) * 1.25) !important;*/
    font-size: clamp(var(--base-heading-h2), 2.8vw, calc(var(--base-heading-h1) * 1.25)) !important;
}

h1 em, .h1 em{
    color: var(--color-primary);
    font-style: normal;
}

.grayscale{
    filter: grayscale(50%);
}

.box-blue{
    background-color: var(--color-primary);
    padding: var(--base-clearance-md);
    color: var(--color-primary-contrast);
    border-bottom: 10px solid var(--color-primary-hover);
}

@media (min-width: 1024px) {
    .box-blue{
        max-width: 400px;
        margin: var(--base-clearance-lg) var(--base-clearance-md);
        position: absolute;
        bottom: 0;
    }
}

/* Carousel > Overflow visible */

    .carousel-section {
      padding-top: var(--base-clearance-lg);
      padding-bottom: var(--base-clearance-lg);
      overflow: visible;
    }
    .carousel-section .owl-carousel .owl-stage {
      padding-left: 0 !important;
    }
    .carousel-section .owl-carousel .owl-stage-outer {
      overflow: unset;
    }

/* Pagination */

.pagination{
    display: flex;
    gap: var(--base-clearance-xs);
}

.pagination > span{
    padding: var(--base-clearance-xs) var(--base-clearance-sm);
    border: 1px solid var(--color-surface-1);
    color: var(--color-primary-hover);
    border-radius: var(--border-radius);
    background-color: var(--color-surface-1);
}

.pagination > a{
    padding: var(--base-clearance-xs) var(--base-clearance-sm);
    border: 1px solid var(--color-primary);
    border-radius: var(--border-radius);
}

.pagination > a:hover{
    color: var(--color-primary-contrast);
    background-color: var(--color-primary-hover);
    border: 1px solid var(--color-primary-hover);
}

@media (min-width: 768px) {
    .button-ap-callback{
        position: absolute;
        top: 0;
        right: 0;
    }
}


    /* List-Stylings */

        .list-style-1 ul {
          list-style: none;
          padding: 0;
        }

        .list-style-1 li {
          padding-left: 40px;
        }

        .list-style-1 li:not(:last-child) {
          padding-bottom: 15px;
          border-bottom: 1px solid var(--body-divider);
          margin-bottom: 15px;
        }

        .list-style-1 li:before {
          content: "\f00c";
          font-family: FontAwesome;
          display: inline-block;
          margin-left: -30px;
          width: 30px;
        }



        .list-style-2 ul {
          list-style: none;
          padding: 0;
        }
        .list-style-2 li {
          padding-left: 40px;
        }
        .list-style-2 li:before {
          content: "\f061";
          font-family: FontAwesome;
          display: inline-block;
          margin-left: -30px;
          width: 30px;
        }


        ul.list-style-3,
        .list-style-3 ul {
            list-style: none;
            padding: 0;
            position: relative;
        }
        .list-style-3 li a{
            padding: var(--base-clearance-xxs) 0;
            transition: all .3s ease;
            display: flex;
            align-items: center;
            border-bottom: 1px solid rgba(0,0,0,.1);
        }
        .list-style-3 li a:hover{
            padding-left: 20px;
            transition: all .3s ease;
        }

        .list-style-3 li a:before {
            position: absolute;
            /*
            content: "\f061";
            font-family: FontAwesome;
            */
            content: "";
            background-image: url(/wp-content/uploads/2025/10/arrow-right-up.svg);
            background-size: contain;
            transform: rotate(45deg);
            display: inline-block;
            left: 0;
            width: 10px;
            height: 10px;
            opacity: 0;
            transition: all .3s ease;
        }

        .list-style-3 li a:hover:before {
            opacity: 1;
            transition: all .4s ease;
        }


        .list-style-4 ul {
          list-style: none;
          padding: 0;
          
        }

        .list-style-4 li {
          display: flex;
          margin: 10px 0px;
          padding-left: 40px;
        }

        .list-style-4 li:before {
          content: "\f0f5";
          font-family: FontAwesome;
          display: inline-block;
          margin-left: -30px;
          width: 30px;
        }

        .list-style-4 li:after {
          background-image: radial-gradient(circle, black 0%, black 24%, rgba(255, 255, 255, 0) 25%, rgba(255, 255, 255, 0) 100%);
          background-size: 0.5em 0.5rem;
          background-repeat: repeat-x;
          background-position: left bottom;
          content: "";
          display: block;
          flex: 1 1 auto;
          margin: 0px 12px 5px 12px;
          order: 2;
        }

        .list-style-4 li em {
          flex: 0 1 auto;
          margin: 0px 0px 0px 0px;
          order: 1;
        }

        .list-style-4 li strong {
          flex: 0 1 auto;
          margin: 0px 0px 0px 0px;
          order: 3;
          white-space: nowrap;
        }

/* Navigation > Groovy Menu */

    @media (min-width: 576px) {
        .gm-container{
            max-width: 540px !important;
        }
    }

    @media (min-width: 768px) {
        .gm-container{
            max-width: 720px !important;
        }
    }

    @media (min-width: 992px) {
        .gm-container{
            max-width: 960px !important;
        }
    }

    @media (min-width: 1200px) {
        .gm-container{
            max-width: 1440px !important;
        }
    }

.gm-main-menu-wrapper #gm-main-menu .gm-navbar-nav > .menu-item > .gm-anchor,
.gm-navigation-drawer--mobile .gm-navbar-nav > .gm-menu-item > .gm-anchor,
.gm-navigation-drawer--mobile .gm-navbar-nav .gm-dropdown-menu-title{
    font-family: var(--base_font_family_2);
}

    header .gm-navbar:not(.gm-navbar-sticky-toggle) .gm-navbar-nav > li.current-menu-item > .gm-anchor,
    header .gm-navbar:not(.gm-navbar-sticky-toggle) .gm-navbar-nav > li.current-menu-ancestor > .gm-anchor,
    header .gm-navbar:not(.gm-navbar-sticky-toggle) .gm-navbar-nav > li.current-page-ancestor > .gm-anchor,
    header .gm-navbar:not(.gm-navbar-sticky-toggle) .gm-navbar-nav > li.current-menu-parent > .gm-anchor,
    header .gm-navbar:not(.gm-navbar-sticky-toggle) .gm-navbar-nav > .menu-item > .gm-anchor:hover,
    header .gm-navbar:not(.gm-navbar-sticky-toggle) .gm-navbar-nav > .menu-item.gm-open > .gm-anchor {
        color: var(--color-primary) !important;
        
    }

    header .gm-navbar-sticky-toggle .gm-navbar-nav > li.current-menu-parent > .gm-anchor,
    header .gm-navbar-sticky-toggle .gm-navbar-nav > li.current-menu-item > .gm-anchor,
    header .gm-navbar-sticky-toggle .gm-navbar-nav > li.current-menu-ancestor.gm-open > .gm-anchor,
    header .gm-navbar-sticky-toggle .gm-navbar-nav > li.current-menu-ancestor > .gm-anchor,
    header .gm-navbar-sticky-toggle .gm-navbar-nav > li.current-page-ancestor.gm-open > .gm-anchor,
    header .gm-navbar-sticky-toggle .gm-navbar-nav > li.current-page-ancestor > .gm-anchor,
    header .gm-navbar-sticky-toggle .gm-navbar-nav > .menu-item.gm-open > .gm-anchor,
    header .gm-navbar-sticky-toggle .gm-navbar-nav > li > .gm-anchor:hover{
        color: var(--color-primary) !important;
        font-family: var(--base_font_family_2);
    }

    header .gm-main-menu-wrapper #gm-main-menu .gm-navbar-nav .gm-dropdown-menu li.current-menu-ancestor > .gm-menu-item__link,
    header .gm-main-menu-wrapper #gm-main-menu .gm-navbar-nav .gm-dropdown-menu li.current-page-ancestor > .gm-menu-item__link,
    header .gm-main-menu-wrapper #gm-main-menu .gm-navbar-nav .gm-dropdown-menu li.current-menu-item > .gm-menu-item__link{
        color: var(--color-primary) !important;
    }

    /*
    header .gm-main-menu-wrapper #gm-main-menu .gm-navbar-nav .gm-dropdown-menu .gm-menu-item__link:hover{
        color: var(--color-primary-hover) !important;
    }*/

    /* Zusätzliches Menü (Topbar) */

    #gm-main-menu{
        display: flex;
        flex-direction: column;
    }

    #gm-main-menu .gm-toolbar-nav-container{
        justify-content: flex-end;
    }

    #gm-main-menu ul.gm-navbar-nav{
        height: 100%;
        justify-content: flex-end;
    }

    .gm-main-menu-wrapper .gm-toolbar-nav-container{
        position: absolute;
        right: 70px;
        height: 100%;
    }

    .gm-main-menu-wrapper .gm-toolbar-nav-container .gm-toolbar-nav{
        align-items: center;
    }

    /* Navbar Buttons / Social Media Links (Desktop) */

    .nav-button > a,
    .nav-button > a:hover{
        padding: var(--base-clearance-xs) var(--base-clearance-md) !important;
        line-height: unset !important;
        text-align: center;
        justify-content: center;
    }

    .nav-button > a .gm-menu-item__txt-wrapper{
        margin-right: unset !important;
    }



    .nav-button-social-media > a,
    .nav-button-social-media > a:hover{
        padding: var(--base-clearance-xs) !important;
        line-height: unset !important;
        margin-left: 8px !important;
        margin-right: 0 !important;
        width: 40px !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
    }

    .nav-button-social-media-sm > a,
    .nav-button-social-media-sm > a:hover{
        padding: var(--base-clearance-xs) !important;
        line-height: unset !important;
        margin-left: 8px !important;
        margin-right: 0 !important;
        width: 30px !important;
        height: 30px !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
    }


    header .gm-navbar .gm-navbar-nav > li.current-menu-item.nav-button > a.gm-anchor,
    header .gm-navbar .gm-navbar-nav > li.menu-item.nav-button > .gm-anchor:hover,
    header .gm-navbar .gm-navbar-nav > li.current-menu-item.nav-button-social-media > a.gm-anchor,
    header .gm-navbar .gm-navbar-nav > li.menu-item.nav-button-social-media > .gm-anchor:hover,
    header .gm-navbar .gm-navbar-nav > li.current-menu-item.nav-button-social-media-sm > a.gm-anchor,
    header .gm-navbar .gm-navbar-nav > li.menu-item.nav-button-social-media-sm > .gm-anchor:hover{
        color: var(--color-primary-contrast) !important;
        background-color: var(--color-primary-hover) !important;
        border-color: var(--color-primary-hover) !important;
    }
    

    @media (max-width: 1199px) {

        .gm-navigation-drawer .gm-grid-container{
            box-shadow: none;
            transition: 0.3s;
        }

        .gm-navigation-drawer.gm-navigation-drawer--open .gm-grid-container{
            box-shadow: rgba(0, 0, 0, 0.2) 20px 0px 20px;
            transition: 0.3s;
        }

        /* Navbar Buttons / Social Media Links (Mobile) */

        .nav-button-social-media > a,
        .nav-button-social-media > a:hover,
        .nav-button-social-media-sm > a,
        .nav-button-social-media-sm > a:hover{
            margin: 10px 5px 10px 0 !important;
            float: left;
        }

        .nav-button-social-media > a.gm-anchor > span.gm-menu-item__txt-wrapper,
        .nav-button-social-media > a.gm-anchor:hover > span.gm-menu-item__txt-wrapper{
            margin-right: 0 !important;
        }

    }

    /* Center Menue */
    nav#gm-main-menu > ul.gm-navbar-nav{
        justify-content: center !important;
        padding-right: 100px;
    }

    /* Sub-Menu-Style */
    ul.gm-dropdown-menu{
        list-style: none;
        padding: var(--base-clearance-sm) var(--base-clearance-xs) !important;
        position: relative;
    }
    ul.gm-dropdown-menu li a{
        padding: var(--base-clearance-xs) 0 !important;
        transition: all .3s ease !important;
        display: flex !important;
        align-items: center !important;
        color: var(--color-primary-hover) !important;
        position: relative;
    }
    ul.gm-dropdown-menu li:not(:last-child) a{
        border-bottom: 1px solid rgba(0,0,0,.1) !important;
    }
    ul.gm-dropdown-menu li a:hover{
        color: var(--color-primary) !important;
    }
    ul.gm-dropdown-menu li:not(.link-externe-url) a:hover{
        padding-left: 20px !important;
        transition: all .3s ease !important;
    }
    ul.gm-dropdown-menu li:not(.link-externe-url) a:before {
        position: absolute;
        /*
        content: "\f061";
        font-family: FontAwesome;
        */
        content: "";
        background-image: url(/wp-content/uploads/2025/10/arrow-right-up.svg);
        background-size: contain;
        transform: rotate(45deg);
        display: inline-block;
        left: 0;
        width: 10px;
        height: 10px;
        opacity: 0;
        transition: all .3s ease;
    }
    ul.gm-dropdown-menu li:not(.link-externe-url) a:hover:before {
        opacity: 1;
        transition: all .4s ease;
    }

    /* Externer Link */
    .link-externe-url a:after{
        content:"";
        background-image: url(/wp-content/uploads/2025/10/arrow-right-up.svg);
        background-size: contain;
        background-repeat: no-repeat;
        width: 13px;
        height: 13px;
        right: 25px;
        position: absolute;
        transition: all .3s ease;
    }

    .link-externe-url a:hover:after{
        transform: rotate(45deg);
        transition: all .2s ease;
    }

    /* Hide Nav-Items on Desktop */

    @media (min-width: 1199px) {
        .nav-hide-on-desktop{display: none !important;}
    }

    /* Nav > WPML */

    .gm-toolbar-nav-container ul::after{display: none;}

    /* Nav > Volltextsuche */

    @media (min-width: 1200px) {
        .gm-main-menu-wrapper .gm-search > i {
            border: 0;
            background: #f5f5f5;
            height: 40px;
            padding-left: 12px !important;
            padding-right: 12px !important;
            display: flex;
            align-content: center;
            flex-wrap: wrap;
        }
        .gm-main-menu-wrapper .gm-search > i:hover {
            background: #e6e6e6;
        }
    }

    .gm-navigation-drawer .gm-search .gm-search__txt{display: none !important;}


    /* Aktuelle Menüeinträge unterstreichen */

        /* Leistungen */
        @media (min-width: 1200px) {
            body.single-portfolio .gm-main-menu-wrapper .gm-navbar-nav > li.leistungen > .gm-anchor{
                color: var(--color-primary) !important;
            }
            body.single-portfolio .gm-main-menu-wrapper .gm-navbar-nav > li.leistungen > .gm-anchor .gm-menu-item__txt:after{
                background-color: var(--color-primary);
                transform: scale(1, 1);
            }
        }

        /* Standorte */
        @media (min-width: 1200px) {
            body.single-location .gm-main-menu-wrapper .gm-navbar-nav > li.standorte > .gm-anchor{
                color: var(--color-primary) !important;
            }
            body.single-location .gm-main-menu-wrapper .gm-navbar-nav > li.standorte > .gm-anchor .gm-menu-item__txt:after{
                background-color: var(--color-primary);
                transform: scale(1, 1);
            }
        }

        /* Wissen */
        @media (min-width: 1200px) {
            body.single-glossary .gm-main-menu-wrapper .gm-navbar-nav > li.wissen > .gm-anchor{
                color: var(--color-primary) !important;
            }
            body.single-glossary .gm-main-menu-wrapper .gm-navbar-nav > li.wissen > .gm-anchor .gm-menu-item__txt:after{
                background-color: var(--color-primary);
                transform: scale(1, 1);
            }
        }

        /* Referenzen */
        @media (min-width: 1200px) {
            body.single-credentials .gm-main-menu-wrapper .gm-navbar-nav > li.referenzen > .gm-anchor{
                color: var(--color-primary) !important;
            }
            body.single-credentials .gm-main-menu-wrapper .gm-navbar-nav > li.referenzen > .gm-anchor .gm-menu-item__txt:after{
                background-color: var(--color-primary);
                transform: scale(1, 1);
            }
        }


/* Header & Claim */

    #header{
        background-color: var(--color-surface-1);
        border-radius: var(--base-radius);
        margin-left: 0;
        margin-right: 0;
        margin-bottom: 90px;
    }

    #header h1, #header h2{
        color: var(--color-body);
    }

    #header .text > .vc_column-inner{
        background-color: var(--color-surface-1);
        padding: 30px;
    }

    #header .text > .vc_column-inner .wpb_text_column{
        max-width: 600px;
    }

    @media (min-width: 768px) {
        #header .text > .vc_column-inner{
            padding: 60px;
        }
    }

    #header .img > .vc_column-inner{
        min-height: 350px;
    }

/* Visual Composer */


    /* Full-Width-Bug (vertikale Scrolleiste verbergen) */

    /* body{overflow-x: hidden;} ~ Achtung damit ist 'sticky' nicht mehr möglich! */

    main .vc_separator.vc_sep_color_grey .vc_sep_line {border-color: var(--body-divider) !important;}
    footer .vc_separator.vc_sep_color_grey .vc_sep_line {border-color: var(--footer-divider) !important;}
    

/* Buttons */

    .vc_btn3-container.vc_btn3-inline {
        margin-right: 10px;
        margin-bottom: 10px;
    }

    /* Button-Sizes & Attributes */

    .button-icon > a,
    .button-icon > a:hover{
        border-radius: 3px !important;
        padding: 10px 25px !important;
    }

    .button-icon > a i{
        font-size: 25px !important;
        height: 25px !important;
        line-height: 25px !important;
    }

    /* VC-Button mit Icons */

    .vc-button-icon-left > a, .vc-button-icon-left > a:hover,
    .vc-button-icon-left > button, .vc-button-icon-left > button:hover{
        padding-left: 45px !important;
    }

    .vc-button-icon-right > a, .vc-button-icon-right > a:hover,
    .vc-button-icon-right > button, .vc-button-icon-right > button:hover{
        padding-right: 45px !important;
    }

    .button-lg.vc-button-icon-right > a, .button-lg.vc-button-icon-right > a:hover,
    .button-lg.vc-button-icon-right > button, .button-lg.vc-button-icon-right > button:hover{
        padding-right: calc(45px * var(--base-font-scale-factor)) !important;
    }

    .button-lg.vc-button-icon-right > a i, .button-lg.vc-button-icon-right > a:hover i,
    .button-lg.vc-button-icon-right > button i, .button-lg.vc-button-icon-right > button:hover i{
        right: calc(20px * var(--base-font-scale-factor)) !important;
    }

    /* Button Spinner */

    .button-filled > a span.spinner-border,
    .button-filled > button span.spinner-border,
    .button-outline > a span.spinner-border,
    .button-outline > button span.spinner-border,
    .button-inverse-outline > a span.spinner-border,
    .button-inverse-outline > button span.spinner-border{
        margin-right: 10px;
    }

    /* Button > externer Link */

    .button-extern a,
    .button-extern a:hover{
        padding-right: 50px !important;
    }

    .button-extern a:after{
        content:"";
        background-image: url(/wp-content/uploads/2025/11/arrow-right-up-white.svg);
        background-size: contain;
        background-repeat: no-repeat;
        transition: all .3s ease;
        width: 13px;
        height: 13px;
        position: absolute;
        right: 20px;
        top: calc(50% - 6.5px);
    }

    .button-extern a:hover:after{
        transform: rotate(45deg);
        transition: all .2s ease;
    }


/* CF7 */

    .wpcf7 form.spam .wpcf7-response-output,
    .wpcf7 form.invalid .wpcf7-response-output,
    .wpcf7 form.unaccepted .wpcf7-response-output {
        border-color: #394759;
        background-color: #394759;
        color: #fff;
        padding: 30px;
        text-align: center;
        margin: 30px 0;
    }

    .wpcf7 form.sent .wpcf7-response-output {
        border-color: #43b0ee;
        background-color: #43b0ee;
        padding: 30px;
        color: #fff;
        margin: 30px 0;
    }


/* Impressum + Datenschutz */

    #impressum h2,
    #datenschutz h2{
        font-size: var(--base-heading-h3) !important;
        margin-bottom: 20px;
        margin-top: 30px;
        display: inline-block;
        border-bottom: 2px solid var(--color-primary);
    }

    #impressum h3,
    #datenschutz h3{
        font-size: var(--base-heading-h4) !important;
    }

    #impressum h4,
    #datenschutz h4{
        font-size: var(--base-heading-h5) !important;
    }

    #impressum h3 + h4,
    #datenschutz h3 + h4{
        margin-top: 15px;
    }
    

/* Shotcodes */


    /* Carousel */

        #p3_posts .owl-stage-outer{
            padding: 30px 0;
        }

        #p3_posts .owl-stage{
            display: flex;
        }
        
        #p3_posts .item{
            background-color: #fff;
            border: 0;
            border-radius: 0;
            margin: 0;
            height: 100%;
            -webkit-box-shadow: 0px 0px 15px 0px rgba(0,0,0,0.15);
            -moz-box-shadow: 0px 0px 15px 0px rgba(0,0,0,0.15);
            box-shadow: 0px 0px 15px 0px rgba(0,0,0,0.15);
            transition: 0.3s;
        }

        #p3_posts .item:hover{
            -webkit-box-shadow: 0px 0px 15px 0px rgba(0,0,0,0.3);
            -moz-box-shadow: 0px 0px 15px 0px rgba(0,0,0,0.3);
            box-shadow: 0px 0px 15px 0px rgba(0,0,0,0.3);
            transition: 0.3s;
        }
        
        #p3_posts .item .card-image{
            height: 280px;
            background-repeat: no-repeat;
            background-size: cover;
            background-position: center center;
            display: inline-table;
        }

/* Borlabs Cookie */
.embed-responsive-16by9 > ._brlbs-cb-youtube {
    margin-top: -56.25%;
}

/* Maps */

.maps iframe{
    width: 100%;
    height: 350px;
}

/* Single */

    .single-erechtshare-header .shariff li{
        margin: 3px !important;
    }

    .single-content-image img{
        border-radius: var(--base-radius);
        max-height: 600px;
        object-fit: cover;
    }

    .single-content-downloads{
        list-style: none;
        padding-left: 30px;
    }

    .single-content-downloads li:before {
        content: "\f063";
        font-family: "Font Awesome 5 Free";
        font-weight: 900;
        -moz-osx-font-smoothing: grayscale;
        -webkit-font-smoothing: antialiased;
        display: inline-block;
        font-style: normal;
        font-variant: normal;
        text-rendering: auto;
        line-height: 1;
        transform: rotate(-90deg);
        transition: all .6s ease;
        color: var(--color-primary);
        margin-left: -30px;
        margin-right: 10px;
    }

    .single-content-downloads li:hover:before {
        transform: rotate(0deg);
        transition: all .3s ease;
    }

/* FAQ */

#faq{
    padding-bottom: 0;
    margin-bottom: var(--base-clearance-lg);
}

@media (min-width: 1024px) {
    #faq{
        padding: var(--base-clearance-lg);
        margin-bottom: var(--base-clearance-xl);
    }
}

#faq .description{
    width: 100%;
    max-width: 800px;
    margin: 0 auto var(--base-clearance-md) auto;
}

#faq .faq-accordion .card{
    background-color: var(--color-surface-1);
    padding: var(--base-clearance-sm);
    border-radius: var(--base-radius);
    margin-bottom: var(--base-clearance-xs);
    border: 0;
}

#faq .faq-accordion .card .card-header{
    padding: 0;
    border: 0;
    background-color: transparent;
}

#faq .faq-accordion .card .card-header h3{font-size: unset !important;}

#faq .faq-accordion .card .card-header h3 button{
    color: var(--body-color);
    font-family: var(--base_font_family_2);
    font-weight: var(--base_font_weight_2);
    font-size: var(--base-font-md);
}

#faq .faq-accordion .card > .card-header button {
    position: relative;
    margin-left: 1.125rem;
    padding: 0 1.5rem 0 .75rem;
    font-size: inherit;
    text-align: left;
}

#faq .faq-accordion .card > .card-header button::before,
#faq .faq-accordion .card > .card-header button::after {
    content: "";
    position: absolute;
    top: calc(50% - .25rem + .2em);
    left: -1.125rem;
    width: 1rem;
    height: .125rem;
    background-color: #212529;
    transition: transform .5s;
    top: 12px;
}

#faq .faq-accordion .card > .card-header button.collapsed::before {
    transform: rotate(180deg);
}

#faq .faq-accordion .card > .card-header button.collapsed::after {
    transform: rotateZ(90deg);
}

#faq .faq-accordion .card .card-body .wpb_text_column{
    margin-bottom: 0;
}



/* Page-Header & Page-Header-Box */

    #page-header{
        border-bottom: 1px solid var(--body-divider);
        overflow: visible;
    }

    #page-header-box{
        position: absolute;
        margin-top: -55px;
        right: 15px;
        left: 15px;
        z-index: 100;
    }

    #page-header-box .top{
        padding: var(--base-clearance-sm);
        display: flex;
        justify-content: space-between;
        align-items: center;
        background: linear-gradient(to top, var(--color-primary-hover) 50%, var(--color-primary) 50%);
        background-size: 100% 200%;
        background-position: bottom;
        transition: background-position 450ms ease, color 300ms ease;
        overflow: hidden;
        border-bottom: 1px solid var(--color-primary-hover);
        background-color: var(--color-primary-hover);
    }

    #page-header-box .top:hover{
          background-position: top;
          color: #ffffff;   
    }

    #page-header-box .top svg{
        transition: all .3s ease;
    }

    #page-header-box .top:hover svg{
          transform: rotate(45deg);
          transition: all .3s ease;
    }

    #page-header-box .top > .vc_column-inner > .wpb_wrapper{
        display: flex;
        align-items: center;
        justify-content: space-between;
    }

    #page-header-box .top a{
        color: var(--color-white);
    }

    #page-header-box .bottom{
        background-color: var(--color-primary);
        padding: var(--base-clearance-sm);
    }

    #page-banner{
        z-index: 0;
        margin-top: -1px;
    }

    #page-banner .wpb_single_image,
    #page-banner .wpb_single_image div,
    #page-banner .wpb_single_image figure{
        width: 100%;
    }

    #page-banner img{
        object-fit: cover;
        width: 100%;
    }

    #page-banner .osm-map,
    #page-banner .page-header-map{
        z-index: 1;
    }

    #page-banner img,
    #page-banner .osm-map,
    #page-banner .page-header-map{
        aspect-ratio: 4 / 2;
    }

    @media (min-width: 1024px) {
        #page-banner img,
        #page-banner .osm-map,
        #page-banner .page-header-map{
            aspect-ratio: 4 / 1.25;
        }
    }


/* Standorte */

    .standort-map{
        margin-left: -15px;
        margin-right: -15px;
        width: calc(100% + 30px);
        aspect-ratio: 3 / 1.5;
		
    }

    .list-style-standort ul {
        padding: var(--base-clearance-sm);
        list-style: none;
    }

    @media (min-width: 1024px) {
        .list-style-standort ul {
            column-count: 2;
            column-gap: 40px;
            column-rule: 1px solid rgba(255,255,255,0.25);
            padding: var(--base-clearance-sm) var(--base-clearance-sm) 0 var(--base-clearance-sm);
        }
    }

    .list-style-standort li {
      padding-left: 40px;
      font-size: var(--base-font-lg);
    }

    .list-style-standort li:not(:last-child) {
      padding-bottom: 15px;
      margin-bottom: 15px;
    }

    .list-style-standort li:before {
      content: "\f00c";
      font-family: FontAwesome;
      display: inline-block;
      margin-left: -30px;
      width: 30px;
    }


/* portfolio-list */

.portfolio-list > .wpb_column > .vc_column-inner{
    border-left: 1px solid var(--color-primary-hover);
    margin-left: var(--base-clearance-md);
    padding-left: var(--base-clearance-md);
}

.portfolio-list > .wpb_column > .vc_column-inner:before{
    content: "";
    display: block;
    position: absolute;
    top: 0;
    left: 15px;
    width: 35px;
    height: 40px;
    background-color: var(--color-primary);
    border: 1px solid var(--body-primary);
    border-bottom: 5px solid var(--color-primary-hover);
    background-image: url('/wp-content/uploads/2025/12/check_white.svg');
    background-size: 20px;
    background-repeat: no-repeat;
    background-position: center;
}

.portfolio-list > .wpb_column > .vc_column-inner > .wpb_wrapper{
    padding: 0 var(--base-clearance-sm) var(--base-clearance-sm) var(--base-clearance-sm);
}

.portfolio-list h2{
    font-size: var(--base-heading-h3) !important;
    margin-bottom: var(--base-clearance-sm);
}

/* post-list-glossary */

.post-list-glossary{
    margin-bottom: var(--base-clearance-lg);
}

.post-list-glossary .p3-homepage-plugin-btn-lazyload{
    display: flex;
    background-color: transparent !important;
    border: 2px solid var(--color-primary) !important;
    color: var(--color-primary) !important;
}

.post-list-glossary .p3-homepage-plugin-btn-lazyload:hover{
    background-color: var(--color-primary-hover) !important;
    border: 2px solid var(--color-primary-hover) !important;
    color: var(--color-primary-contrast) !important;
}