/*
        Theme Name: BGSN-SBT
        Description: Theme for BGSN-SBT
        Author: SAY Media Consulting
        Author URI: https://www.say-consulting.de
        Template: twentytwentythree
        Version: 1.0
        Tags:
*/

@font-face {
    font-family: 'Din Pro';
    src: url('assets/fonts/Din-Pro/FontFont-DIN-Pro.otf') format("opentype");
    font-weight: 400;
}
@font-face {
    font-family: 'Din Pro';
    src: url('assets/fonts/Din-Pro/FontFont-DIN-Pro-Black.otf') format("opentype");
    font-weight: 800;
}
@font-face {
    font-family: 'Montserrat';
    src: url('assets/fonts/Montserrat/Montserrat-VariableFont_wght.ttf') format("truetype-variations");
    font-weight: 1 999;
}


:root{
    --box-shadow-value: 2px 2px 5px #5555;
    --head-ff: 'Din Pro, sans-serif';
    --main-ff: 'Montserrat, sans-serif';
    --smc-wrapper-size: 1400px;
    --h1-size: 2em ;
    --h2-size: 2em ;
    --h3-size: 1.5em ;
    --small: .9em;
}

#wpadminbar{
    display: none;
}

html{
    scroll-behavior: smooth;
    margin-top: 0 !important;
}
svg{
    height: auto;
}
h1, h2, h3, h4, .like-h{
    font-family: Din Pro;
    font-weight: 400;
}
p, .like-p, a{
    font-family: Montserrat;
    line-height: 2em;
    font-size: 1.1em;
}
.font-din, .font-din a{
    font-family: Din Pro;
    font-weight: 400;
    line-height: 1.2em;
    font-size: 1.2em;
}
.set-hyphens-auto{
    hyphens: auto;
}
.align-small{
    width: 85%;
}
a, a:hover, .wp-block-navigation-item__content:hover{
    text-decoration: none !important;
}
a:hover, .wp-block-navigation-item__content:hover:not(header .wp-block-navigation-item__content){
    color: #605D5C !important;
}
header .wp-block-navigation-item__content:hover{
    color: var(--wp--preset--color--primary) !important;
}
.wp-block-button__link:hover{
    background-color: white;
    color: var(--wp--preset--color--primary);
}
.button-color-invert .wp-block-button__link:hover{
    background-color: var(--wp--preset--color--primary) !important;
    color: white !important;
}
.wp-block-button__link{
    box-shadow: var(--box-shadow-value);
}
.wp-element-button:visited, .wp-block-button__link:visited{
    color: white;
}
.current-menu-item{
    color: var(--wp--preset--color--primary);
    font-weight: 700;
}
ul{
    list-style-type: none;
}
.custom-ul{
    line-height: 2em !important;
}
.custom-ul li{
    position: relative;
}
.custom-ul li:before{
    content: '';
    display: block;
    height: 1.5em;
    width: 1.5em;
    background-image: url(https://www.bgsn-siebentritt.de/wp-content/uploads/2024/07/Rautenelement.png);
    background-size: 1.5em;
    background-repeat: no-repeat;
    position: absolute;
    left: -2em;
    top: .5em;
}
.has-custom-farbe-1-background-color .custom-ul li:before{
    filter: brightness(100);
}
.flex{
    display: flex;
}
.wp-site-blocks{
    padding-top: 0;
    padding-bottom: 0;
}
.wp-block-group{
    margin-top: 0 !important;
}
.wp-block-post-title{
    display: none;
}
.wp-site-blocks{
    height: auto;
}
header{
    width: 100%;
    top: 0;
    z-index: 100000;
}
header .custom-header{
    display: flex;
}
header .custom-header .wp-container-core-group-layout-2{
    width: 100%;
}
.nav-sticky{
    position: sticky;
    box-shadow: var(--box-shadow-value);
}
header .wp-block-site-logo{
    max-width: 80px;
    font-size: 1em;
}
header .font-din{
    max-width: 130px;
    font-size: 1em;
}
header .wp-block-site-logo{
    transform-origin: right bottom;
}
/*header .custom-header .wp-container-core-group-layout-2:not(header.nav-sticky){
    padding-bottom: .5em;
}*/
.footer-back-to-top-grp{
    height: 42px;
    width: 42px;
}
.footer-back-to-top-grp .coolsvg{
    scale: .7;
    margin: 0;
    stroke: #605D5C;
    fill: #605D5C;
}
.custom-hr{
    width: 50px !important;
    height: 2px;
    margin-bottom: 4em;
    margin-left: 0;
}
.info-toggler .wp-block-button__link{
    box-shadow: 2px -1px 1px #5553;
}
.info-side .font-din,   .info-side .font-din a{
    line-height: 14px;
    /*    font-size: 14px;*/
    font-size: 1em;
    /*padding-bottom: .5em;*/
}
header .custom-header>.wp-block-group{
    width: 100%;
}

/*-------------------------------------------------------------------Info-Side*/

.info-box{
    margin-top: 0;
}
.info-side{
    display: flex;
    flex-direction: column;

    z-index: 100000;
}
.info-side .wp-block-image{
    padding: 0 5px ;
}
.info-toggler a{
    font-weight: 400;
}

.info-side .info-side-inner .wp-block-group:not(:last-of-type){
    margin-bottom: .5em;
}
.info-side-inner{
    margin-left: 0 !important;
    margin-right: 0 !important;
}
body:not(.editor-styles-wrapper) .info-side{
    position: fixed;
    bottom: -70px;
    z-index: 100000;
    left: 0;
    padding: 0;
    width: 100%;
    transition: all ease .3s;
}

body:not(.editor-styles-wrapper)  .info-side.toggleactive{
    bottom: 0;
}

.info-side .alignfull{
    width: 100%;
}
.info-toggler {
    flex-direction:column !important;
    font-family: Montserrat;
    font-size: 1.1em;
}
.info-toggler-outer {
    z-index: 1000;
}

.info-side-inner, .infotoggle{
    background-color: rgba(255, 255, 255, 90%);
    box-shadow: var(--box-shadow-value);
}
.info-toggler{
    flex-direction: row;
    flex-wrap: nowrap !important;
    gap: 0 !important;
    transition: all ease .5s;
}
.info-side-inner .flex{
    width: 100% !important;
}
/*.info-side-inner .flex p{
    font-size: .8em !important;
}*/
.info-side-inner .flex figure, .info-side-inner .flex p{
    margin: 0 !important;
}
.info-side-inner .wp-block-group  .wp-block-group {
    align-items: end;
}
.info-side-inner .wp-block-group  .wp-block-group {
    align-items: end;
}
.info-side-inner figure img{
    aspect-ratio: 1/1;
    padding: 0;
}
.wp-image-555{
    padding-right: 5px;
}
/*---------------------------------Ende------------------------------Info-Side*/

/*----------------------------------------------------------------Contact-Form*/

.contact-col-flex{
    display: flex;
    flex-direction: column;
    justify-content: center;
}
.contact-form-grp-left{
    width: 100%;
}
.contact-form-grp-left .wp-block-image{
    width: 30%;
    margin: 0 auto;
}
.contact-form-grp-right{
    width: 100%;
}
.contact-form-grp-right .wpcf7-list-item{
    margin-left: 0;
}
.contact-form-grp-right form{
    clip-path: border-box;
}
.contact-form-grp-right form .datenschutz input{
    width: auto;
    vertical-align: middle;
}
.contact-form-grp-right form .datenschutz a{
    color: white;
    text-decoration: underline !important;
}
.contact-form-grp-right input:not(.datenschutz), .contact-form-grp-right textarea{
    padding: 1em;
    width: 100%;
}
.wpcf7-form-control-wrap{
    display: flex;
    width: 100%;
}
.smc_captcha input{
    font-size: .85em;
}
.contact-form-grp-right input::placeholder, .contact-form-grp-right textarea::placeholder{
    font-family: Montserrat;
}
.contact-form-grp-right input[type= "submit"]{
    width: 50%;
    border-radius: 5px;
    border: none;
    font-family: Montserrat;
}
.contact-form-grp-right form .flex{
    flex-direction: column;
    gap: 3em;
}

/*---------------------------------Ende---------------------------Contact-Form*/

.home .entry-content{
    margin-bottom: -25vh !important;
}
.start-content-grp{
    position: relative;
    top: -25vh;
    z-index: 1000;
}
.nuernberg-zuhause-grp .nbg-box{
    max-width: 530px;
    aspect-ratio: 1/1;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}
.nuernberg-zuhause-grp .nbg-box .coolsvg svg{
    width: 100px;
    fill: white;
}
.nuernberg-zuhause-grp .nbg-box .coolsvg{
    margin-left: 0 !important;
}
.nuernberg-zuhause-grp .nbg-box h2, .nuernberg-zuhause-grp .nbg-box .wp-block-buttons{
    margin-left: 0 !important;
}
.nbg-column-right{
    display: flex;
    justify-content: flex-end;
}

.bgsn-section h3{
    font-size: 3em !important;
}
.bgsn-section .wp-block-columns{
    justify-content: center;
}
.bgsn-section .wp-block-column, .bgsn-section .wp-block-column div:not(.wp-block-button, .wp-block-buttons, .wp-block-spacer){
    max-width: 530px;
}
.bgsn-section .bgsn-col-left{
    display: flex;
    justify-content: end;
}
.bgsn-section .bgsn-col-right{
    position: relative;
}
.bgsn-section .orange-info-box{
    position: absolute;
    bottom: -6em;
    max-width: 370px !important;
    max-height: 270px;
    left: 0;
    right: 0;
    margin-right: auto;
    margin-left: auto;
}

.leistungen-section .wp-block-columns{
    text-align: center;
}
.leistungen-section svg{
    width: 50%;
    fill: #605D5C;
    stroke: #605D5C;
}
.leistungen-img-grp{
    position: relative;
    scale: .8;
}
.leistungen-img-grp .wp-block-image{
    filter: grayscale(100%);
    outline: solid 5px;
    outline-color: #fff;
    outline-offset: -2px;
}
.leistungen-img-grp .wp-block-image:after{
    content: '';
    width: 85%;
    height: 25%;
    background-color: #fff;
    position: absolute;
    bottom: 0;
    left: 0;
}
.leistungen-img-grp .wp-block-image:before{
    content: '';
    width: 100%;
    height: 5%;
    background-color: #fff;
    position: absolute;
    bottom: 0;
    left: 0;
}
.leistungen-img-icon{
    position: absolute;
    display: flex;
    bottom: 0;
    left: 0;
    right: 0;
    margin-left: auto;
    margin-right: auto;
    aspect-ratio: 1/1;
    width: 40%;
}
.leistungen-img-icon svg{
    width: 40%;
    stroke: #fff;
    fill: #fff;
}
.leistungen-img-icon .coolsvg{
    text-align: center;
    align-self: center;
}

/*-------------------------------------------counter*/
.count-wrap{
    text-align: center;
    position: relative;
}
.count-wrap i{
    font-size: 3em;
    opacity: 1;
    margin-bottom: .5em;
}
.count-wrap .counter{
    font-size: 3.2em;
    color: var(--theme-col-1);
    font-weight: 300;
}
.count-title{
    opacity: 1;
    margin-top: 10px;
    display: inline-block;
    font-family: var(--headers-ff);
    font-size: 1.3em;
}
.count-wrap:before{
    content: "•";
    color: #fff;
    font-size: 5em;
    z-index: -1;
    border: 6px solid #fff;
    border-radius: 100px;
    width: 100px;
    height: 100px;
    display: inline-block;
    position: absolute;
    margin-top: 10px;
    /*top: -32px;*/
    left: calc(50% - 55px);
    opacity: .4;
    line-height: 187px;
}
.count-wrap img{
    width: 64px;
    height: 64px;
    object-fit: contain;
    opacity: 0.7;

}
.count-wrap.bigger-than .counter:before{
    content: '> ';
}

@media(max-width: 359px){
    header .custom-header{
        padding: 0;
    }
    header .font-din{
        font-size: .8em;
    }
    .like-h3, h3{
        font-size: 1.2em !important;
    }
    .custom-ul{
        padding: .5em;
        hyphens: auto;
    }
    main .extra-large-h{
        font-size: 1.7em !important;
    }
    footer img{
        height: auto !important;
    }
    .nuernberg-zuhause-grp .wp-block-columns{
        padding: 0 !important;
    }
    body:not(.editor-styles-wrapper) .info-side{
        bottom: -367px !important;
    }
    body:not(.editor-styles-wrapper) .info-side.toggleactive{
        bottom: 0 !important;
    }
    .info-side-inner > .wp-block-group{
        gap: 1.5rem !important;
    }
    .info-side-inner .wp-block-group .wp-block-group{
        width: unset !important;
    }
}
@media(max-width: 599px){
    .info-side-inner > .wp-block-group{
        flex-wrap: wrap !important;
        gap: 15px 10px;
        justify-content: flex-start;
    }
    body:not(.editor-styles-wrapper) .info-side{
        position: fixed;
        bottom: -200px;
    }
    .info-side-inner .wp-block-group .wp-block-group {
        width: calc(50% - 10px);
    }
    .info-grp-first{
        /*width: 100% !important;*/
        /*justify-content: center;*/
    }
    .extra-large-h{
        font-size: 2.5em !important;
    }
    .nbg-box{
        padding: 2em !important;
    }
    .info-side .info-toggler-outer .wp-block-button__link{
        padding-right: 1em !important;
        padding-left: 1em !important;
    }
    .leistungen-section .wp-block-button a, .wp-block-buttons .wide-button a{
        padding-left: 4em !important;
        padding-right: 4em !important;
    }
    .bgsn-section .bgsn-col-left .wp-block-cover{
        padding-left: 1em !important;
        padding-right: 1em !important;
    }
    .bgsn-section .bgsn-col-left .bgsn-padding-grp{
        padding-left: .5em !important;
        padding-right: .5em !important;
    }
    .bgsn-section .bgsn-col-right .bgsn-padding-grp{
        padding-left: 1.5em !important;
        padding-right: 1.5em !important;
    }
    .leistungen-section .wp-block-columns{
        flex-direction: column !important;
    }
}
@media(min-width: 600px) and (max-width: 900px){
    footer .wp-block-columns{
        flex-direction: row;
        flex-wrap: wrap !important;
    }
    footer .footer-columns.wp-block-columns:not(.is-not-stacked-on-mobile)>.wp-block-column{
        flex-basis: 45% !important;
    }
    footer .footer-columns .wp-block-column:nth-child(3){
        margin-top: 1.5em;
    }
}
@media(max-width: 800px){
    .col-reverse{
        flex-direction: column-reverse;
    }
    .objekte-content figure{
        max-width: 70%;
        text-align: left;
    }
    .info-side .font-din,   .info-side .font-din a{
        font-size: .9em;
    }
    header .custom-header .wp-container-core-group-layout-1{
        position: relative;
        left: -2em;
    }
    footer .footer-columns nav ul li{
        flex-basis: 45%;
        justify-content: center;
        word-break: keep-all;
    }
}
@media(min-width: 700px){
    .like-h3, h3{
        font-size: 1.6em !important;
        line-height: 1.5em;
    }
    .extra-large-h{
        font-size: 3.5em;
    }
}
@media(min-width: 901px){
                .cookie-free {
        position: fixed;
        bottom: 0;
        left: 0;
        z-index: 100001;
    }
    footer .footer-columns nav ul{
        flex-direction: column;
    }
    footer .footer-columns img{
        object-fit: contain;
    }
}
@media(max-width: 1200px){
    .wp-block-navigation__responsive-container-open:not(.always-shown) {
        display: block !important;
    }
    .wp-block-navigation__responsive-container:not(.is-menu-open.has-modal-open) {
        display: none !important;
    }
    .desktop-only{
        display: none;
    }
    header nav{
        padding-right: .5em;
    }
    .wp-block-navigation__responsive-container{
        width: 50%;
        right: 0;
        left: auto;
        background-color: #605D5C !important;
        color: white;
    }
    .wp-block-navigation__responsive-close{
        display: flex;
        justify-content: flex-end;
        padding-right: 1.5em;
    }
    .wp-block-navigation__responsive-container ul{
        gap: 1em !important;
    }
    .wp-block-navigation__responsive-container .wp-block-navigation-item{
        width: 100%;
    }
    .wp-block-navigation__responsive-container .wp-block-navigation-item:after{
        content: '';
        height: 10px;
        width: 100%;
        border-bottom: 1px solid white;
    }
    .wp-block-navigation__responsive-dialog{
        margin-top: 2.5em;
    }
    header{
        position: sticky;
        box-shadow: var(--box-shadow-value);
    }
    header .wp-block-site-logo{
        scale: .7;
    }
    .like-h3, h3{
        font-size: 1.4em;
        line-height: 1.5em;
    }
    p, .like-p, a{
        line-height: 1.5em;
    }
    .bgsn-section .wp-block-columns{
        gap: 0;
    }
    .bgsn-section h3{
        font-size: 2em !important;
    }
    .bgsn-section h2{
        font-size: 1em !important;
    }
    .bgsn-section .orange-info-box{
        max-width: 250px !important;
        padding: 4em 2em 4em 2em !important;
    }
    footer .custom-logo{
        max-width: 60%;
    }
    footer .wp-block-column{
        text-align: center;
    }
    footer .wp-block-navigation__container{
        flex-direction: row;
        justify-content: center;
        margin-top: 1.5em;
        gap: 2em;
        place-self: center;
    }
    footer .sub-footer .wp-block-columns{
        flex-direction: column-reverse;
    }
    footer .sub-footer .wp-block-columns .back-to-top-col{
        display: flex;
        justify-content: center;
    }
    .portal-apps .wp-block-image{
        text-align: center;
    }
    header .custom-header .alignwide div{
        gap: 5px;
    }
    .contact-col-left .contact-col-flex{
        padding: 2.5em !important;
    }
    .contact-col-right .contact-col-flex{
        padding: 2.5em !important;
    }
    .kontakt-bgsn-marker .wp-block-image{
        margin-left: 0;
    }
    .kontakt-bgsn-marker p{
        text-align: left;
    }
    .img-box-left .leistungen-img-grp, .img-box-right .leistungen-img-grp{
        transform-origin: center;
    }
    .leistungen-section svg{
        width: 20%;
        fill: #605D5C;
        stroke: #605D5C;
    }
    .leistungen-section .wp-block-columns{
        flex-direction: row;
        flex-wrap: wrap !important;
        gap: 5em;
    }
    .leistungen-section .wp-block-columns:not(.is-not-stacked-on-mobile)>.wp-block-column{
        flex-basis: calc(50% - 5em) !important;
    }
}
@media(min-width: 1201px) and (max-width: 1599px){
    .contact-col-left .contact-col-flex,
    .contact-col-right .contact-col-flex{
        padding: 2.5em !important;
    }
}
@media(min-width: 1600px){
    .mobile-only{
        display: none;
    }
    .extra-large-h{
        font-size: 5em;
    }
    .like-h3, h3{
        font-size: 1.8em !important;
        line-height: 1.5em;
    }
    .portal-apps .wp-block-image{
        text-align: right;
    }
    .portal-apps .wp-block-columns{
        gap: 5em;
    }
    .objekte-content .wp-block-columns{
        gap: 5em;
    }
    .contact-col-left .contact-col-flex{
        justify-content: flex-start;
        margin-right: 0 !important;
        padding-left: 1em !important;
    }
    .contact-col-right .contact-col-flex{
        justify-content: flex-start;
        margin-left: 0 !important;
        padding-left: 10em !important;
        padding-right: 1em !important;
    }
    .img-box-left .leistungen-img-grp{
        transform-origin: left;
    }
    .img-box-right .leistungen-img-grp{
        transform-origin: right;
    }
    .info-side .alignfull{
        width: 50%;
        align-self: center;
        border-top-left-radius: 15px;
        border-top-right-radius: 15px;
    }
}
@media(min-width: 2000px){
    .contact-col-right .contact-col-flex{
        min-height: 50vh;
    }
    .contact-form-grp-right form .flex{
        gap: 3em;
    }
}