/*
Theme Name: P3 Wordpress Theme - Child
Theme URI: https://p3creation.com
Description: Child Theme
Author: P3 CREATION GROUP
Author URI: https://p3creation.com
Template: p3-homepage
Version: 0.1
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: p3-homepage-child
Tags: 
Domain Path: /languages
*/


:root{
    --color-white: #fff;
    --color-light-grey: #F5F5F5;
    --color-mint: #4BA8CA;
    --color-grey: #89938A;
    --color-black: #161615;
}


/* Basics */

body{
    color: var(--color-grey);
}

h1, .h1,
h2, .h2,
h3, .h3{
    color: var(--color-black);
}

a{
    color: var(--color-mint);
}

a:hover{
    color: var(--color-grey);
}

h2 + p{
    margin-top: -5px;
    color: var(--color-mint);
}

.mint-subtitle p{
    color: var(--color-mint);
    margin-bottom: 5px !important;
    font-family: "Poppins V20 Latin 700";
    font-style: normal;
}

.light-grey-surface{
    background-color: var(--color-light-grey);
    padding: 90px 0 55px 0;
}

.light-grey-surface-small-padding{
    background-color: var(--color-light-grey);
    padding: 40px 0 0 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 #b1b1b1;
          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;
        }



        .bullet-list ul {
            list-style: none;
            padding: 0;
        }
        .bullet-list ul li {
            padding-left: 70px;
            padding-bottom: 15px;
        }
        .bullet-list ul li:before {
            content: "";
            display: block;
            position: absolute;
            margin-left: -50px;
            margin-top: -2px;
            width: 30px;
            height: 30px;
            background-image: url(/wp-content/uploads/2023/02/bulletpoint.svg);
            background-repeat: no-repeat;
            background-size: contain;
        }

        .bullet-list ul li > ul{
            list-style: disc;
            padding-left: 30px;
            padding-top: 5px;
        }

        .bullet-list ul li > ul li{
            padding-left: unset;
            padding-bottom: unset;
        }

        .bullet-list ul li > ul li:before{
            display: none;
        }

/* 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;
        }
    }


/* Header & Claim */

    #header{
        background-color: var(--color-mint);
        margin-left: 0;
        margin-right: 0;
        margin-bottom: 120px;
        border-bottom: 10px solid var(--color-grey);
        color: var(--color-white);
        overflow: visible;
        display: flex;
        justify-content: flex-end;
    }

    #header:after{
        content: '';
        display: block;
        width: 120px;
        height: 120px;
        background-color: var(--color-white);
        background-image: url(/wp-content/uploads/2023/02/Heyer-und-Strobach_bildmarke.svg);
        background-size: contain;
        background-repeat: no-repeat;
        background-position: center center;
        border: 15px solid #fff;
        position: absolute;
        bottom: -70px;
        border-radius: 100%;
    }

    #header h1, #header h2{
        color: var(--color-white);
        font-size: 34px;
    }

    #header .text > .vc_column-inner{
        padding: 30px 0 0 0;
        max-width: 75%;
    }

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

    @media (min-width: 768px) {
        #header .text > .vc_column-inner{
            padding: 60px 0 25px 0;
        }
        #header h1, #header h2{
            font-size: 54px;
        }
        #header:after{
            content: '';
            display: block;
            width: 230px;
            height: 230px;
            border: 30px solid #fff;
            position: absolute;
            bottom: -115px;
            border-radius: 100%;
        }
    }



    /* Telefon */

     .header-telefon{
        display: flex;
     }

    .header-telefon a:before{
        content: "\f879";
        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;
        color: var(--color-mint);
        margin-right: 3px;
    }

    .header-telefon a:hover{
        background-color: transparent !important;
        color: var(--color-mint) !important;
    }

    /* Navi-Buttons - space between */

    @media (min-width: 1024px) {
        .gm-main-menu-wrapper .gm-navbar-nav > .gm-menu-item > .gm-anchor {
            margin-right: 5px !important;
            margin-left: 5px !important;
        }

        .gm-navbar-sticky-toggle .gm-navbar-nav > li.header-telefon > .gm-anchor:hover,
        .gm-navbar-sticky-toggle #gm-main-menu .gm-navbar-nav > li.header-telefon > .gm-anchor:hover{
            background-color: transparent !important;
            color: var(--color-mint) !important;
        }
    }


/* Visual Composer */


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

    body{overflow-x: hidden;}
    

/* Buttons */


    .button-filled > a,
    .button-filled > button,
    input.button-filled,
    input#submit {
        font-size: 16px !important;
        background-color: var(--color-mint) !important;
        border: 2px solid var(--color-mint) !important;
        color: #fff !important;
        border-radius: 30px !important;
        background-image: none !important;
        padding: 10px 30px !important;
        transition: 0.3s !important;
    }

    .button-filled > a:hover,
    .button-filled > button:hover,
    input.button-filled:hover,
    input#submit:hover {
        background-color: var(--color-grey) !important;
        border: 2px solid var(--color-grey) !important;
        color: #fff !important;
        border-radius: 30px !important;
        background-image: none !important;
        padding: 10px 30px !important;
        transition: 0.3s !important;
    }

    .button-outline > a,
    .button-outline > button,
    input.button-outline{
        font-size: 16px !important;
        background-color: transparent !important;
        border: 2px solid var(--color-mint) !important;
        color: var(--color-mint) !important;
        border-radius: 30px !important;
        background-image: none !important;
        padding: 10px 30px !important;
        transition: 0.3s !important;
    }

    .button-outline > a:hover,
    .button-outline > button:hover,
    input.button-outline:hover{
        background-color: var(--color-mint) !important;
        border: 2px solid var(--color-mint) !important;
        color: #fff !important;
        border-radius: 30px !important;
        background-image: none !important;
        padding: 10px 30px !important;
        transition: 0.3s !important;
    }


    .button-inverse-outline > a,
    .button-inverse-outline > button,
    input.button-inverse-outline{
        font-size: 16px !important;
        background-color: transparent !important;
        border: 2px solid var(--color-white) !important;
        color: var(--color-white) !important;
        border-radius: 30px !important;
        background-image: none !important;
        padding: 10px 30px !important;
        transition: 0.3s !important;
    }

    .button-inverse-outline > a:hover,
    .button-inverse-outline > button:hover,
    input.button-inverse-outline:hover{
        background-color: var(--color-white) !important;
        border: 2px solid var(--color-white) !important;
        color: var(--color-grey) !important;
        border-radius: 30px !important;
        background-image: none !important;
        padding: 10px 30px !important;
        transition: 0.3s !important;
    }

    .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;
        }

        .button-lg > a,
        .button-lg > button{
            font-size: 18px !important;
        }

        .button-sm > a,
        .button-sm > button{
            font-size: 14px !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;
        }


/* 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: 160%;
        margin-bottom: 20px;
        margin-top: 30px;
        display: inline-block;
        border-bottom: 2px solid var(--color-mint);
    }

    #impressum h2 + p {
        margin-top: -5px;
        color: var(--color-grey);
    }

    #impressum h3,
    #datenschutz h3{
        font-size: 130%;
    }

    #impressum h4,
    #datenschutz h4{
        font-size: 105%;
    }

    #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%;
}

/* Navi > Leistungen  */

#navi_leistungen{
    background-color: var(--color-light-grey);
    padding: 60px 0 0 0;
    margin-top: 90px;
}

#navi_leistungen .vc_row > .wpb_column > .vc_column-inner > .wpb_wrapper{
    background-color: var(--color-white);
    height: 100%;
    padding: 30px 15px 0 15px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    margin-bottom: 30px;
}

#navi_leistungen .vc_row > .wpb_column > .vc_column-inner > .wpb_wrapper .wpb_raw_code{
    margin-bottom: 20px;
}

#navi_leistungen .vc_row > .wpb_column > .vc_column-inner > .wpb_wrapper svg{
    width: 70px;
}

#navi_leistungen .vc_row > .wpb_column > .vc_column-inner > .wpb_wrapper a{
    font-family: "Poppins V20 Latin 700";
    font-style: normal;
}

#navi_leistungen .vc_row > .wpb_column > .vc_column-inner > .wpb_wrapper:hover,
#navi_leistungen .vc_row > .wpb_column.active > .vc_column-inner > .wpb_wrapper{
    background-color: var(--color-mint);
}

#navi_leistungen .vc_row > .wpb_column > .vc_column-inner > .wpb_wrapper:hover svg path,
#navi_leistungen .vc_row > .wpb_column.active > .vc_column-inner > .wpb_wrapper svg path{
    fill: var(--color-white);
}

#navi_leistungen .vc_row > .wpb_column > .vc_column-inner > .wpb_wrapper:hover a,
#navi_leistungen .vc_row > .wpb_column.active > .vc_column-inner > .wpb_wrapper a{
    color: var(--color-white);
}


/* Icon > Play-Video */

.icon-play-video{
    display: flex;
    justify-content: center;
    align-items: center;
}

.icon-play-video img {
    opacity: 1;
    -webkit-transition: .3s ease-in-out;
    transition: .3s ease-in-out;
}

.icon-play-video:hover img {
    opacity: .75;
    -webkit-transition: .3s ease-in-out;
    transition: .3s ease-in-out;
}

.icon-play-video:after{
    content: "";
    width: 100px;
    height: 100px;
    background-image: url('/wp-content/uploads/2023/02/icon-play-video_weiss-filled.svg');
    background-size: cover;
    background-repeat: no-repeat;
    cursor: pointer;
    position: absolute;
}

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


/* Modal */

.modal{
    z-index: 10000;
}

.modal .modal-content{
    box-shadow: rgba(0, 0, 0, 0.4) 0px 0px 30px 0px;
}

.modal.video .modal-body{
    padding: 0;
}


/* Telefonanfrage */

.telefonanfrage{
    text-align: center;
}

.telefonanfrage .wpb_text_column{
    margin-bottom: 0px;
}

.telefonanfrage .wpb_text_column p{
    color: var(--color-black);
    text-align: center;
}

.telefonanfrage .wpb_text_column.telefon a{
    font-size: 30px;
    font-family: "Poppins V20 Latin 700";
    font-style: normal;
    margin-bottom: 30px;
    color: var(--color-black);
    display: block;
}


