/*
Theme Name: Avada Child
Description: Child theme for Avada theme
Author: ThemeFusion
Author URI: https://theme-fusion.com
Template: Avada
Version: 1.0.0
Text Domain:  Avada
*/
header .fusion-logo a img {
    max-height: 80px !important;
}

.svg-visible svg {
    overflow: visible !important;
}

header .fusion-main-menu > ul > li.cta-phone {
   /*/ right: 0px;
    position: absolute;*/
    margin-left: auto;
}

.borlabs-cookie-open-dialog-preferences a {
    color: #f59e00 !important;
}



header .fusion-main-menu > ul > li.cta-phone a:hover span.button-text-left,
header .fusion-main-menu > ul > li.cta-phone a:hover span i
{
    transform: scale(1.05) !important;
}

header .fusion-main-menu > ul > li.cta-phone a,
header .fusion-main-menu > ul > li.cta-phone a:hover,
header .fusion-main-menu > ul > li.cta-phone a span,
header .fusion-main-menu > ul > li.cta-phone a:hover span{
    border-color: #00b6e8 !important;
    color: #fff !important;
    transition: 0.25s all;
    background-color: #00b6e8 !important;
    --button_gradient_hover: linear-gradient(var(--button_gradient_angle, 180deg), #00b6e8  var(--button_gradient_start, 0%), #00b6e8 var(--button_gradient_end, 100%)) !important;
}

header .fusion-main-menu > ul > li.cta-phone a i{
    color: #fff !important;
    transition: 0.25s all;
}

header .fusion-main-menu > ul > li.cta-phone a span.button-icon-divider-left{
    border-color: var(--lightColor) !important;
}

/*Globale Klassen*/

.blue_bg a {
    color: white !important;
    text-decoration: underline;
}

.blue_bg a:hover {
    color: #f59e00; !important;
    text-decoration: underline;
}

/*Archive*/

.archive-grid .fusion-post-grid{
    width: 100%;
}

.archive-grid .fusion-post-grid .fusion-post-wrapper{
    border-width: 1px !important;
    border-bottom-width: 1px !important;
}

.archive-grid  .fusion-content-sep{
    display: none;
}

.archive-grid .fusion-post-grid h2.blog-shortcode-post-title:before{
    content:"";
    display: inline-block;
    margin-right: 15px;
    width: 50px;
    height: 38px;
    background: url(https://blaufeuer.fgr.design/wp-content/uploads/2025/12/bildmarke-archive-blaufeuer.jpg) no-repeat center center;
    background-size: contain;
    transform: translateY(10px);
    filter: grayscale(1);
}

@media screen and (max-width:991px) {
    .archive-grid .fusion-post-grid h2.blog-shortcode-post-title:before{
        display: block;
        margin-bottom: 10px;
        transform: translateY(0px);
    } 
}

/*Sidebar*/

@media screen and (min-width:768px) {
    #sidebar{
        position: sticky;
        top:90px;
        margin-top:90px;
    }  
}

#sidebar{
    border-radius: 20px;
    margin-bottom: 45px;
}  

#sidebar .widget_text{
    border:none !important;
    padding: 0 !important;
    margin: 10px 0 !important;
}

#sidebar .widget_text a{
    color: rgb(244, 158, 0);
    padding: 10px;
    border: 2px solid rgb(244, 158, 0) !important;
    transition: 0.25s all;
    display: block;
}

#sidebar .widget_text a:hover{
    background-color: rgb(244, 158, 0);
    color: #fff;
}

#sidebar #grw_widget-2,
#sidebar #grw_widget-3,
#sidebar #grw_widget-4 {
    margin-top: 50px;
}

.no-region #sidebar #grw_widget-2,
.no-region #sidebar #grw_widget-3,
.no-region #sidebar #grw_widget-4 {
    display: none;
}

.region-koeln #sidebar #grw_widget-2,
.region-koeln #sidebar #grw_widget-3 {
    display: none;
}

.region-berlin #sidebar #grw_widget-3,
.region-berlin #sidebar #grw_widget-4 {
    display: none;
}

.region-nuernberg #sidebar #grw_widget-2,
.region-nuernberg #sidebar #grw_widget-4 {
    display: none;
}

/*Forms*/

body .cpp_form{
    padding: 7.5px 30px 30px 30px;
    margin-top: 10px;
    background-color: #eaeaea;
    border-radius: 15px;
}

body .cpp_form label{
    font-size: 0.875rem;
}

body .cpp_form input:not([type="checkbox"]),
body .cpp_form .dfield{
    border:none !important;

}
body .cpp_form input:not([type="checkbox"]){
font-size: 1.125rem !important;
padding: 15px 10px 10px 10px !important;
color: #242a33 !important;
}

body .cpp_form #fbuilder .medium,
body .cpp_form #fbuilder .small{
    width: 100% !important;
}

body .cpp_form label a{
    border-bottom:1px dotted #242a33;
    color: #242a33 !important;
}

body .cpp_form button,
body .cpp_form select{
    border:none;
    appearance: none;
    -webkit-appearance: none;
    background-color: rgb(244, 158, 0) !important;
    color:#fff !important;
    padding: 10px 10px 10px 10px !important;
width: 100% !important;
    font-family: 'Calibri', sans-serif !important;
    font-size: 20px !important;
   font-weight: 400 !important;
   line-height: 140% !important;
   letter-spacing: 0px !important;
}

body .cpp_form .fieldCalendarService{
    position: relative;
}

body .cpp_form .fieldCalendarService:after{
border-top: 2px solid #fff;
border-right: 2px solid #fff;
width: 10px;
height: 10px;
position: absolute;
transform: rotate(135deg);
right:15px;
top:16.5px;
pointer-events: none;
content: "";
}

body .cpp_form .ui-datepicker-title,
body .cpp_form .fieldCalendar,
body .cpp_form .ui-datepicker table,
body .cpp_form .ui-datepicker table th{
    background-color: #fff !important;
}

body .cpp_form .ui-datepicker *{
    font-size: 1.125rem !important;
}

body .cpp_form .ui-datepicker-header{
    padding: 0 !important;
}

body .cpp_form .ui-datepicker .ui-datepicker-next,
body .cpp_form .ui-datepicker .ui-datepicker-prev{
    width: 10px !important;
    height: 10px !important;
   top:5px !important;
}

body .cpp_form .ui-datepicker .ui-datepicker-next,
body .cpp_form .ui-datepicker .ui-datepicker-next-hover,
body .cpp_form .ui-datepicker .ui-datepicker-next.state-hover{
    margin-right: 5px !important;
}

body .cpp_form .captcha img{
    margin-bottom: 10px !important;
}

body .cpp_form .slots{
    font-style: italic !important;
}


/*Modal Form*/

body .modal .modal-body{
    padding: 0 20px !important;
}

body .modal form label{
        font-size: 0.875rem;
}

body .modal h3{
    font-size: 2rem !important;
}

/*Rückruf form*/

body .kontakt-box > div {
    padding-left: 20px !important;
    padding-right: 20px !important;
}

body .kontakt-box{
    background-image: linear-gradient(to bottom, #00b6e8 0%, #00b6e8 calc(100% - 60px), rgba(255,255,255,1) calc(100% - 60px), rgba(255,255,255,0) calc(100% - 0px));
   --awb-bg-color: rgba(255,255,255,0) !important;
   --awb-bg-color-hover: rgba(255,255,255,0) !important;
}

body .kontakt-box h3{
    line-height: 1.33 !important;
    margin-bottom: 15px !important;
}

body .kontakt-box h3 small{
    display: block;
}

body .kontakt-box > div{
    padding-bottom: 75px !important;
    position: relative;
}

body .kontakt-box .fusion-button{
    position: absolute;
    bottom:0;
    left:0;
}

body .kontakt-box .fusion-button,
body .kontakt-box .fusion-button i,
body .kontakt-box .fusion-button span{
    background-color: rgb(244, 158, 0) !important;
    color: #fff;
}


body .kontakt-box .fusion-sep-clear{
    display: none !important;
}

body .kontakt-box img{
    margin-bottom: 5px;
}

body .kontakt-box .fusion-imageframe{
    position: relative;
}

body .kontakt-box .fusion-imageframe{
    background-color: #00b6e8;
}

body .kontakt-box .fusion-imageframe:before{
    width: 100%;
    height: 1px;
    background-color: rgba(255, 255, 255, 0.5);
    content:"";
    left:0;
    
    z-index: -1;
}

@media screen and (max-width:850px) {
    body .kontakt-box{
        margin-bottom: 15px !important;
    }
}

/*Header*/
body .fusion-header-v4 .fusion-header {
    padding-top: 15px;
    padding-bottom: 15px;
}

body  .fusion-social-links-header .fusion-social-networks a{
    font-size: 18px !important;
margin: 0 7.5px 10px !important;
}

/* Flip Boxen */

.flip-problems h2.flip-box-heading {
    position: absolute;
    bottom: 0px;
    background-color: rgba(0, 182, 232, 0.8);
    color: white !important;
    left: 0px;
    width: 100%;
    line-height: 125% !important;
    padding-left: 20px;
    padding-right: 20px;
    padding-top: 15px !important;
    padding-bottom: 15px ;
    text-align: left !important;
    font-size: 32px !important;
}

.flip-problems .flip-box-front h2.flip-box-heading{
    margin-bottom: 0px !important;
}

.flip-problems .flip-box-heading-back {
    font-size: 28px !important;
    color: white;
}

.flip-problems h3.flip-box-heading-back {
    line-height: 1.25 !important;
    margin-bottom: 20px !important;
}

.flip-problems .flip-box-back-inner a {
    color: white !important;
    border: 2px solid white;
    padding: 10px 15px 8px 15px;
}

.flip-problems .flip-box-back-inner a:hover {
    color: #00b6e8 !important;
    background-color: white;
    border: 2px solid white;
    padding: 10px 15px 8px 15px;
}

.flip-problems .flip-box-inner-wrapper {
    min-height: 400px !important;
}

/**/
footer p,
footer p a,
footer p a span,
footer li a,
footer li a span{
    font-size: 1rem !important;
}

footer li a span{
    font-size: 0.875rem !important;
}

footer li a{
    padding: 0 !important;
}

footer h4{
    margin-bottom: 15px !important;
}

footer .widget_media_image{
    margin-bottom: 20px !important;
}

/*FAQ*/
.faq-container{
    margin-bottom: 30px;
}

/*Menu*/


@media screen and (min-width:1051px) {
    .fgr-menu {
        display: flex !important;
    }
}

.fgr-menu {
    padding: 0px 0;
    margin: 0;
    display: flex;
    position: relative;
    justify-content: flex-start;
}

.fgr-menu li{
    list-style: none;
    
    margin-right:45px !important;
}

.fgr-menu > li{
    padding: 10px 0 !important;
}

.fgr-menu li.cta-phone{
    position: absolute;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    right:0;
    padding:  0 !important;
    top: 0;
    height: 48px;
    margin-right: 0px !important;
    background-color: #00b6e8;
    z-index: 1;
}

.fgr-menu li.cta-phone a{
    height:100%;
    color: #fff;
    font-size: 0.875rem;
    font-weight: bold;
    padding: 11px 12.5px;
}

.fgr-menu li a{
    color: #242a33;
}

.fgr-menu li.cta-phone a:before{
content: "\f879";
font-family: "Font Awesome 5 Free";
font-weight: 900;
-webkit-font-smoothing: antialiased;
display: inline-block;
font-style: normal;
font-variant: normal;
text-rendering: auto;
line-height: 1;
color: #fff;
padding-top: 7.5px;
padding-bottom: 7.5px;
padding-right: 7.5px;
margin-right: 7.5px;
border-right:1px solid #fff;
}

.fgr-menu li:not(.cta-phone) a:hover{
    color: #f49e00;
}

.fgr-menu li ul{
    top:47.5px;
}

.fusion-main-menu .sub-menu {
    width: auto !important;
}

.fgr-menu li ul li a{
    width: 100%;
}

@media screen and (max-width:1050px) {
    .fgr-menu { 
    position: absolute;
width: 100%;
background-color: #fff;
left: 0;
padding: 20px 0px 90px 0px;
flex-wrap: wrap;
}

.fgr-menu li:not(.cta-phone){
    width: 100%;
    flex:0 0 100%;
    display: flex;
    flex-wrap: wrap;
    padding: 10px 0;
    border-bottom: 1px solid #e7e7e7;
}

.fgr-menu li:not(.cta-phone) a{
    flex: 0 0 100%;
}

.fgr-menu li.cta-phone{
    position: absolute;
    width: auto;
    left:0;
    top:auto;
    margin: 0 auto;
   bottom:20px;
    height: 50px;
    margin-right: 0px !important;
    z-index: 1;
   

}
.fgr-menu li ul{
   display: block !important;
   position:  relative !important;
   visibility: visible !important;
   opacity: 1 !important;
 flex: 0 0 100%;
 top:0;
 margin-left: 15px;
 background-color: rgba(255,255,255,0) !important;
 border:none !important;
}
 .fgr-menu li ul li,
 .fgr-menu li ul li a{
     padding: 0 !important;
     border:none !important;
     background-color: rgba(255,255,255,0) !important;
}

body .fgr-menu li ul li{
    margin: 10px 0 !important;
}

body .fgr-menu li ul li:last-of-type{
    margin-bottom: 0px !important;
}

.fgr-menu li ul li a:before{
    content:"- ";
}
}

/**/
@media screen and (max-width:1050px) {
.fusion-logo-link img{
    height: 45px !important;
}

.fusion-social-links-header{
margin-bottom: 2.5px !important;
}
}

/*Home Intro*/

@media screen and (max-width:850px) {

    body .home_intro > div {
        display: flex;
        flex-wrap: wrap;
    }

    body .home_intro > div > div:nth-of-type(1){
        order:2;
    }

   body .home_intro > div > div:nth-of-type(2){
    margin-top: 45px !important;
    --awb-margin-top: 45px !important;
    order: 1;
    margin-bottom: -10px;
    }

    body .home_intro > div > div:nth-of-type(3){
        order:3;
    }

    body .home_intro > div > div:nth-of-type(4){
        order:4;
    }
}

/*Body Class definitions*/

body.no-region a#reset-region{
    display: none !important;
}

.wp-gr.wpac{
    margin-top: 30px !important;
    padding-bottom: 0 !important;
}

#sidebar #grw_widget-2,
#sidebar #grw_widget-3,
#sidebar #grw_widget-4 {
    margin-top: 50px;
}

.no-region #sidebar #grw_widget-2,
.no-region #sidebar #grw_widget-3,
.no-region #sidebar #grw_widget-4 {
    display: none;
}

.region-koeln #sidebar #grw_widget-2,
.region-koeln #sidebar #grw_widget-3 {
    display: none;
}

.region-berlin #sidebar #grw_widget-3,
.region-berlin #sidebar #grw_widget-4 {
    display: none;
}

.region-nuernberg #sidebar #grw_widget-2,
.region-nuernberg #sidebar #grw_widget-4 {
    display: none;
}

/*reverse Coloumns Mobile for Sidebarlayout*/
@media screen and (max-width:850px) {
body:not(.home).has-sidebar #main > .fusion-row{
    display: flex;
    flex-wrap: wrap;
    flex-direction: column-reverse;
}

body:not(.home).has-sidebar #main > .fusion-row #content,
body:not(.home).has-sidebar #main > .fusion-row #sidebar{
    flex: 0 0 100%;
    }

    body:not(.home).has-sidebar #main > .fusion-row #content{
        margin-bottom: 30px !important;
    }
}