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


/* Basics */

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

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

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

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

    /* Nav-Icon */

    header .gm-navbar li.nav-icon a{
        background-color: rgba(90, 90, 90, 1);
        border-radius: 100px;
        color: #fff !important;
        width: 40px !important;
        height: 40px;
        padding: 0 !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
    }
    
    header .gm-navbar li.nav-icon a .gm-menu-item__icon{margin-right: 0}
    header .gm-navbar li.nav-icon a .gm-menu-item__txt{display: none}

    /* Nav-Button */

    header .gm-navbar li.nav-button a{
        background-color: var(--color-primary);
        color: var(--color-primary-contrast) !important;
        padding: 9px 20px 5px 20px !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
    }

    header .gm-navbar li.nav-button a:hover{
        background-color: var(--color-primary-hover);
        color: var(--color-primary-contrast) !important;
        padding: 9px 20px 5px 20px !important;
    }
    
    header .gm-navbar li.nav-button a:hover .gm-menu-item__txt:after{
        display: none !important;
    }


/* Top-Header */

#top-header{
    margin-bottom: var(--base-clearance-md);
    background-color: var(--color-surface-1);
}

#top-header > .wpb_column > .vc_column-inner{
    padding-top: 0;
}

#top-header .wpb_text_column{
    margin-bottom: 0;
}

#top-header .top-header-menue ul{
    list-style: none;
    padding-left: 0;
    display: flex;
    justify-content: flex-start;
    flex-wrap: wrap;
    flex-direction: row;
}

#top-header .top-header-menue ul li a{
    padding: 10px 20px;
    text-decoration: none;
    display: block;
    font-size: var(--base-font-sm);
    color: var(--body-color);
}

#top-header .top-header-menue ul li a:hover,
#top-header .top-header-menue ul li a.active{
    background-color: var(--color-bg-1);
}

#top-header .top-header-socialmedia{
    margin-bottom: 0;
}

#top-header .top-header-socialmedia ul{
    list-style: none;
    padding-left: 0;
    display: flex;
    justify-content: flex-end;
    flex-wrap: wrap;
    flex-direction: row;
    margin-bottom: 0;
}

#top-header .top-header-socialmedia ul li a{
    padding: 5px 10px;
    text-decoration: none;
    display: block;
    font-size: var(--base-font-lg);
    color: rgba(90, 90, 90, 1);;
}

#top-header .top-header-socialmedia ul li a:hover{
    color: var(--body-link);
}


/* Header & Claim */

    #header{
        background-color: var(--color-surface-1);
        border-radius: var(--base-radius);
        margin-bottom: var(--base-clearance-xl);
        overflow: visible;
        margin-left: calc(var(--base-clearance-lg) * -1);
        margin-right: calc(var(--base-clearance-lg) * -1);
    }

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

    #header em{
        background-color: var(--color-primary);
        color: var(--color-primary-contrast);
        font-style: normal;
        padding: 0px 15px;
    }

    /* Header-Untermenü */

    .header-submenu .widget_nav_menu ul.menu li a{
        padding: 10px 0;
        border-bottom: 1px solid var(--body-divider);
        display: block;
    }

    /* Header-Carousel */

    #header .header-carousel{
        position: absolute;
    }

    #header .header-carousel .owl-item .item{
        width: 400px;
        height: 240px;
        margin-right: 15px;
    }

    #header .header-carousel .owl-item > .item .wpb_single_image,
    #header .header-carousel .owl-item > .item .wpb_single_image > .wpb_wrapper,
    #header .header-carousel .owl-item > .item .wpb_single_image > .wpb_wrapper > .vc_single_image-wrapper{
        width: 100%;
        height: 240px;
    }

    #header .header-carousel .owl-item .item img{
        object-fit: cover;
        width: 100%;
        height: 100%;
        transition:all 0.3s ease-in-out;
        opacity:1;
    }

    #header .header-carousel .owl-item::hover .item img{
        transform: scale(1.02);
        opacity:0.75;
    }

    #header .header-carousel .owl-item > .item .wpb_text_column{
        margin: -30px 0 0 10px;
    }

    #header .header-carousel .owl-nav{
        position: absolute;
        bottom: 10px;
        left: -110px;
    }

    #header .header-carousel .owl-nav button.owl-next,
    #header .header-carousel .owl-nav button.owl-prev{
        width: 35px;
        height: 35px;
        border: 1px solid var(--color-primary-contrast);
        border-radius: 100%;
        margin: 0 8px 0 0;
    }

/* Visual Composer */


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

    body{overflow-x: hidden;}

    .vc_separator.vc_sep_color_grey .vc_sep_line {
        border-color: var(--body-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;
    }


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

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

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

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

/* Referenz (Single) */

#referenz .referenz-image a{display: block;}
#referenz .referenz-image a img{width: 100%; max-height: 700px; object-fit: cover;}


/* Sections & Co. */

.section_grey{
    padding: 45px 30px 30px 30px;
    background-color: var(--color-surface-1);
}

.portrait-foto img{
    border-radius: 100%;
    width: 150px;
}

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

/* Formidable Forms */

.frm_style_formidable-style.with_frm_style .frm_rootline .frm_current_page input[type="button"],
.frm_style_formidable-style.with_frm_style .frm_page_bar input.frm_rootline_show_more_btn.active {
    border-color: var(--color-primary-contrast) !important;
    background-color: var(--color-primary-contrast) !important;
    color: var(--color-primary) !important;
}

.frm_current_page .frm_rootline_title {
    color: var(--color-primary-contrast);
}

.frm_submit{
    text-align: center;
    margin-top: var(--base-clearance-lg);
}

button.frm_prev_page{
    background-color: transparent !important;
    color: var(--body-color) !important;
}