/*
 Theme Name:   Zimmermann & Becker
 Description:  Zimmermann & Becker | WordPress Child Theme
 Author:       Neckarmedia
 Author URI:   https://www.neckarmedia.com
 Template:     enfold
 Version:      1.0
*/

/* poppins-regular - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Poppins';
  font-style: normal;
  font-weight: 400;
  src: url('fonts/poppins-v24-latin-regular.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* poppins-500 - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Poppins';
  font-style: normal;
  font-weight: 500;
  src: url('fonts/poppins-v24-latin-500.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* poppins-700 - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Poppins';
  font-style: normal;
  font-weight: 700;
  src: url('fonts/poppins-v24-latin-700.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}


/* @link https://utopia.fyi/type/calculator?c=375,17,1.1,1820,19,1.21,7,1,&s=0.75|0.5|0.25,1.5|2|3|4|6,s-l&g=s,l,xl,12 */

:root {
  --step--1: clamp(0.9659rem, 0.9619rem + 0.0172vw, 0.9814rem);
  --step-0: clamp(1.0625rem, 1.0301rem + 0.1384vw, 1.1875rem);
  --step-1: clamp(1.1688rem, 1.0992rem + 0.2969vw, 1.4369rem);
  --step-2: clamp(1.2856rem, 1.1681rem + 0.5016vw, 1.7386rem);
  --step-3: clamp(1.4142rem, 1.2352rem + 0.7635vw, 2.1037rem);
  --step-4: clamp(1.5556rem, 1.2987rem + 1.0961vw, 2.5455rem);
  --step-5: clamp(1.7112rem, 1.3559rem + 1.5157vw, 3.0801rem);
  --step-6: clamp(1.8823rem, 1.4036rem + 2.0425vw, 3.7269rem);
  --step-7: clamp(2.0705rem, 1.4375rem + 2.7006vw, 4.5095rem);
}

:root {
    --primary-font: 'Poppins', sans-serif;
    --heading-font: 'Poppins', sans-serif;
    --zb-primary-color: #184185;
    --zb-primary-color-light: #F1F9FF;
    --zb-section-padding: clamp(60px, calc(3.75vw + 45.94px), 160px);
}


/* =======================================================================================================================================
Typo
======================================================================================================================================= */
html{-webkit-tap-highlight-color: transparent;}
body{-webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility;}
body,p{font-family: var(--primary-font); font-size: var(--step-0); font-weight: 400; line-height: 1.6}
p{margin: 0 0 1em;}
h1,h2,h3,h4,h5,h6{font-family: var(--heading-font); font-weight: 400 !important; line-height: 1.2; letter-spacing: 0 !important; text-transform: inherit !important; margin: 0 0 .5em 0 !important}

#top h1{font-size: var(--step-6);}
#top h2{font-size: var(--step-5);}
#top h3{font-size: var(--step-3);}
#top h4{font-size: var(--step-2);}
#top h5{font-size: var(--step-0);}
#top h6{font-size: var(--step-0);}

#top .special_amp{color: inherit; font-family: inherit; font-size: inherit; font-style: inherit; font-weight: inherit;}
#top .av-special-heading{padding: 0 !important}
#top .av-special-heading-tag{float: none;}
#top .av-special-heading .special-heading-border{display: none;}
#top .av-special-heading.avia-builder-el-no-sibling .av-special-heading-tag{margin: 0 !important}
#top .av-special-heading-h2 .av-subheading_above p{font-size: var(--step-2); margin: 0 0 .5em 0;}
#top .av-special-heading + .av_textblock_section{margin-top: 3em;}
#top .av_textblock_section + .avia-button-wrap{margin-top: 1em;}

#top .avia-section b,
#top .avia-section strong,
#top .footer_color b,
#top .footer_color strong,
#top .socket_color b,
#top .socket_color strong{color: inherit}

#top .avia_textblock a:not(:has(img)),
#top .toggle_content a:not(:has(img)){text-decoration: underline;}

#top .avia_textblock a:not(:has(img)):hover,
#top .toggle_content a:not(:has(img)):hover{text-decoration: none;}

/* Button */
#top div .avia-button{
    font-size: var(--step-0);
    font-weight: 400;
    line-height: 1.2;
    padding: .8em 1.4em;
    margin: .5em .5em .5em 0;
    background-color: var(--zb-primary-color);
    border-color: var(--zb-primary-color);
    border-style: solid;
    border-width: 2px !important;
    border-radius: .8em;
    border-bottom-left-radius: 0;
    color: #fff;
    text-decoration: none !important;
    transition: translate .2s ease, border-radius .2s ease;
}
#top div .avia-button.avia-color-theme-color{background-color: var(--zb-primary-color); border-color: var(--zb-primary-color); color: #fff;}
#top div .avia-button.avia-color-dark{background-color: transparent; border-color: var(--zb-primary-color); color: var(--zb-primary-color);}
#top div .avia-button.avia-color-light{background-color: transparent; border-color: #fff; color: #fff;}
#top div .avia-button.avia-color-white{background-color: #fff; border-color: #fff; color: var(--zb-primary-color);}
#top div .avia-button:hover{opacity: 1; translate: 0 -2px; border-top-right-radius: 0;}

/* Blockquote */
#top blockquote{border: 0; font-size: var(--step-1); margin: 2em 0 2em; padding: 0 0 0 2em; position: relative; max-width: 420px; font-style: italic; line-height: 1.6}
#top blockquote:before{content: '\e833'; font-family: 'entypo-fontello'; position: absolute; top: -.3em; left: 0; opacity: .1; font-size: 4em; font-style: normal; line-height: 1}
#top blockquote p{font-size: 1em; margin: 0}

/* List */
#top .avia_textblock ul{
    list-style: none;
    margin: 0 0 1em 0;
}
#top .avia_textblock ul > li{
    margin: 0 0 0.5em 0;
    padding: 0 0 0 1em;
    position: relative;
}
#top .avia_textblock ul > li:before{
    content: '\e875';
    font-family: 'entypo-fontello';
    position: absolute;
    left: 0;
    display: inline-block;
}

/* Step List */
#top ol.steps {
    font-size: var(--step-1);
    list-style: none;
    counter-reset: step;
    padding: 0;
    margin: 0;
    display: grid;
    gap: 2.5em 5em;
    grid-template-columns: repeat(auto-fit,minmax(min(280px, 100%),1fr));
    padding: 0;
}

#top ol.steps li {
    counter-increment: step;
    margin-bottom: 1em;
    position: relative;
    padding-left: 2.5em;
    margin: 0;
}

#top ol.steps li::before {
    content: counter(step);
    position: absolute;
    left: 0;
    top: .1em;
    font-weight: 500;
    font-family: var(--heading-font);
    font-size: 1.5em;
}


/* =======================================================================================================================================
Header
======================================================================================================================================= */
#header{border-bottom: 2px solid;}

@media only screen and (max-width: 989px){ 
    .responsive #top #header{position: fixed !important; top: 0; left: 0; right: 0; width: 100%}
    .responsive #top #main,
    .responsive.html_mobile_menu_tablet.html_header_top #top #main{padding-top: 80px !important}
    .responsive #top #wrap_all .av-logo-container,
    .responsive #top #header_main > .container .main_menu .av-main-nav > li > a,
    .responsive.html_mobile_menu_tablet #top #wrap_all .av-logo-container,
    .responsive.html_mobile_menu_tablet #top #header_main > .container .main_menu .av-main-nav > li > a{
        height: 80px;
        line-height: 80px;
    }
}

@media only screen and (min-width: 990px){
    #header .inner-container{
        display: flex;
        justify-content: space-between;
        align-items: center;
        gap: 1rem;
    }
    #header .inner-container > .logo{order: 1; margin-right: auto; position: relative;}
    #header .inner-container > nav{order: 3; position: relative;}
}

/* Logo */
#header_main .inner-container > .logo,
#header_main .inner-container > .logo a{display: -webkit-box;display: -ms-flexbox;display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; overflow: visible}
#header_main .inner-container > .logo a{height: auto}
#header_main .inner-container > .logo a svg,
#header_main .inner-container > .logo a img{width: auto !important; height: 60px !important;}

@media only screen and (min-width: 990px){
    #header_main .inner-container > .logo a svg,
    #header_main .inner-container > .logo a img{height: 120px !important}
}

/* Navigation */
@media only screen and (min-width: 990px){
	#header_main .inner-container > nav{display: flex; align-items: center;}
	#header_main .inner-container > nav > div,
	#header_main .inner-container > nav > div > ul,
	#header_main .inner-container > nav > div > ul > li{height: 100%}
	#header_main .inner-container > nav > div > ul > li.menu-item{display: flex; align-items: center}
	#header_main .inner-container > nav ul#avia-menu > li > a{line-height: 1.6 !important; height: auto !important; font-size: var(--step--1); font-weight: 400}
    #header_main .inner-container > nav ul#avia-menu > li li > a{font-size: var(--step--1); font-weight: 400}
    #header_main .inner-container > nav ul#avia-menu li:hover > a > .avia-menu-text,
    #header_main .inner-container > nav ul#avia-menu li.current-menu-item > a > .avia-menu-text{opacity: .3}
}

@media only screen and (min-width: 1440px){
    #header_main .inner-container > nav ul#avia-menu > li > a{font-size: var(--step-0);}
}

/* Hamburger Menu */
.av-hamburger-box{width: 32px}
.av-hamburger-inner, 
.av-hamburger-inner::before, 
.av-hamburger-inner::after{border-radius: 0}
#top ul#av-burger-menu-ul{vertical-align: top}
#top ul#av-burger-menu-ul li a:hover{background: inherit !important;}
#top ul#av-burger-menu-ul > li > a{font-size: var(--step-0);}
#top ul#av-burger-menu-ul > li li > a{font-size: var(--step--1);}


/* =======================================================================================================================================
Accessibility
======================================================================================================================================= */
#top :focus-visible{
    overflow: visible; 
    outline: -webkit-focus-ring-color auto 1px; 
    opacity: 1 !important;
	box-shadow: inset 0 0 0 2px #fff;
}


/* =======================================================================================================================================
Misc
======================================================================================================================================= */
/* Layout */
.widgettitle{font-weight: inherit; text-transform: inherit; letter-spacing: inherit; font-size: inherit;}

@media only screen and (max-width: 767px){
    .responsive #top #wrap_all .container{width: 90%; max-width: 90%;}
}

#top .avia-section-default .content{padding-top: var(--zb-section-padding); padding-bottom: var(--zb-section-padding)}

#top .__offset-left{padding-left: clamp(1em, calc(1em + (100vw - 375px) * 4em / 1465px), 5em);}

/* Spacer */
#top .__spacer{width: 100%; height: var(--zb-section-padding);}

/* Layout Grid Container */
#top .av-layout-grid-container > .flex_cell{
    padding-top: var(--zb-section-padding); 
    padding-bottom: var(--zb-section-padding);
}
#top .av-layout-grid-container > .flex_cell.__bg-blue-white{
    background: linear-gradient(to right, var(--zb-primary-color) 50%, #fff 50%);
}

@media (min-width: 1820px){
    #top .av-layout-grid-container > .flex_cell.av_one_half:nth-child(1){padding-left: calc((100vw - 1720px) / 2);}
}

/* Images */
#top .image-overlay{display: none !important;}
#top .avia_image,
#top .av-image-caption-overlay,
#top .avia-image-container-inner{border-radius: 0}
#top .avia-image-container.av-styling- .avia_image{border-top-right-radius: 2em;}

/* Doppel Bild */
#top .__doppel-bild > figure{
    display: flex;
    flex-direction: column;
    align-items: flex-end;
}
#top .__doppel-bild > figure > img{
    aspect-ratio: 1;
    object-fit: cover;
    display: block;
    overflow: hidden;
    position: relative;
}
#top .__doppel-bild > figure > img:nth-child(1){
    border-top-right-radius: 2em;
    translate: -25% 0;
}
#top .__doppel-bild > figure > img:nth-child(2){
    border-top-left-radius: 2em;
    border-top-left-radius: 2em;
    width: 50%;
    margin-top: -5em;
}

/* Toggle */
#top .togglecontainer{max-width: 580px;}
#top section.av_toggle_section .toggler{
    font-weight: 500; 
    padding: .25em 3em .25em 0; 
    margin: 0 0 2em; 
    font-size: var(--step-1); 
    background: transparent; 
    border: 0;
    border-bottom: 2px solid; 
    border-radius: 0;
}
#top section.av_toggle_section .toggler:hover{background: transparent;}
#top section.av_toggle_section .toggler .toggle_icon{display: none;}
#top section.av_toggle_section .toggler:after{
	content: '\e87b';
    font-family: 'entypo-fontello';
    position: absolute;
    right: 0.2em;
    transition: .2s ease;
}
#top section.av_toggle_section .toggler.activeTitle:after{rotate: -180deg}
#top section.av_toggle_section .toggle_content{border: 0; background: transparent; padding: .5em 0 1em;}
#top section.av_toggle_section .toggle_content *{font-size: var(--step-0);}

/* Social Icons */
#top ul.__social--media--icons{
    display: flex;
    gap: .5em;
    font-size: var(--step-2);
    margin: 0;
    line-height: 1;
    background-color: transparent !important;
}
#top ul.__social--media--icons > li > a{padding: 0; display: block; transition: opacity .2s;}
#top ul.__social--media--icons > li:hover > a{background-color: transparent !important; color: currentColor !important; opacity: .5;}

/* Cards */
#top .__zb-card-grid{
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(min(580px, 100%), 1fr));
    gap: 2em;
}
#top .__zb-card-grid .__zb-card-item{
    display: flex;
    overflow: hidden;
    border-top-right-radius: 2em;
}
#top .__zb-card-grid .__zb-card-item .__zb-card-content{
    flex-grow: 1.4;
    flex-basis: 0;
    padding: 3em 5%;
    background: #fff;
} 
#top .__zb-card-grid .__zb-card-item .__zb-card-content *{
    font-size: var(--step--1);
}
#top .__zb-card-grid .__zb-card-item .__zb-card-content .__zb-card-title{
    font-size: var(--step-1);
    font-family: var(--primary-font);
    font-weight: 500;
}
#top .__zb-card-grid .__zb-card-item figure{
    flex-grow: 1;
    flex-basis: 0;
    padding: 1em;
    position: relative;
    display: flex;
    align-items: flex-end;
    justify-content: flex-end;
}
#top .__zb-card-grid .__zb-card-item figure img{
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    position: absolute;
    left: 0;
    top: 0;
}

@media (max-width: 767px){
    #top .__zb-card-grid .__zb-card-item{flex-direction: column;}
    #top .__zb-card-grid .__zb-card-item figure{padding-top: 4em;}
}


/* =======================================================================================================================================
Hero --> Karriere
======================================================================================================================================= */
#top .avia-section:has(.__hero-karriere){background-color: #fff;}
#top .avia-section:has(.__hero-karriere) .container,
#top .avia-section:has(.__hero-karriere) .container .content{width: 100% !important; max-width: 100% !important; padding: 0 !important;}
#top .__hero-karriere{
    display: flex;
    flex-wrap: wrap;
    position: relative;
    flex-direction: column;
}
#top .__hero-karriere .__hero-karriere-content{
    padding: var(--zb-section-padding) 5%;
    background-color: var(--zb-primary-color);
    flex-grow: 1;
}
#top .__hero-karriere .__hero-karriere-content *{color: #fff;}
#top .__hero-karriere > svg{
    position: absolute;
    bottom: -15%;
    right: 0;
    width: 85%;
}
#top .__hero-karriere figure img{display: block;}
#top .__hero-karriere figure:nth-of-type(2){
    flex-basis: 100%;
    display: flex;
    justify-content: flex-end;
    position: relative;
}
#top .__hero-karriere figure:nth-of-type(2) img{
    width: 50%;
    height: 8em;
    object-fit: cover;
    margin-top: -4em;
    border-top-left-radius: 2em;
}

@media (min-width: 990px){
    #top .__hero-karriere{flex-direction: row;}
    #top .__hero-karriere .__hero-karriere-content{
        padding: calc(1.75 * var(--zb-section-padding)) calc(5% + 5em) calc(1.75 * var(--zb-section-padding)) 5%;
        flex-basis: 0;
        max-width: 50%;
    }
    #top .__hero-karriere figure:nth-of-type(1){
        flex-basis: 0;
        flex-grow: 1;
        max-width: 50%;
        position: relative;
    }
    #top .__hero-karriere figure:nth-of-type(1) img{
        width: 100%;
        height: 100%;
        object-fit: cover;
        border-top-right-radius: 2em;
        translate: -5em 5em;
        position: absolute;
        top: 0;
        left: 0;
    }
    #top .__hero-karriere figure:nth-of-type(2) img{
        width: 30%;
        margin: 0;
        height: 200px;
    }
}

@media (min-width: 1820px){
    #top .__hero-karriere .__hero-karriere-content{padding-left: calc((100vw - 1720px) / 2);}
}


/* =======================================================================================================================================
Blog: Single Post
======================================================================================================================================= */
#top .template-single-blog article.post-entry .big-preview{max-width: 720px; margin: auto;}
#top .fullsize .template-blog .post .entry-content-wrapper{max-width: 720px; text-align: left; line-height: 1.6; font-size: var(--step-0);}
#top .template-single-blog article.post-entry .entry-content-wrapper header h1{text-align: left; font-size: var(--step-3); padding: 1rem 0}
#top .template-single-blog article.post-entry .entry-content-wrapper header .post-meta-infos{text-align: left; font-size: var(--step--1);}


/* =======================================================================================================================================
Formular
======================================================================================================================================= */
#top .input-text, 
#top input[type=email], 
#top input[type=input], 
#top input[type=number], 
#top input[type=password], 
#top input[type=search], 
#top input[type=tel], 
#top input[type=text], 
#top input[type=url], 
#top select, 
#top textarea{
    font-family: var(--primary-font);
    padding: 1em;
    border-radius: .5em;
    border: 1px solid;
    margin: 0;
    font-size: var(--step--1);
}
#top form label{font-size: var(--step--1)}
#top form button{
    font-family: var(--primary-font);
    font-size: var(--step-0);
    font-weight: 400;
    line-height: 1.2;
    padding: .8em 1.4em;
    margin: .5em .5em .5em 0;
    background-color: var(--zb-primary-color);
    border-color: var(--zb-primary-color);
    border-style: solid;
    border-width: 2px !important;
    border-radius: .8em;
    border-bottom-left-radius: 0;
    color: #fff;
    text-decoration: none !important;
    transition: translate .2s ease, border-radius .2s ease;
}


/* =======================================================================================================================================
Footer
======================================================================================================================================= */
#footer{padding: 6em 0 2em}
#footer .widget{margin: 0 !important;}
#footer .__logo{width: 120px; display: block;}
#footer .container{
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 2em 4em;
}
#footer .container:after{display: none;}
#footer .container .flex_column{width: auto; margin: 0 !important;}

#socket{
    border: 0; 
    background-color: var(--enfold-footer-color-bg);
}
#socket a{transition: opacity .2s;}
#socket a:hover{opacity: .5;}
#socket .container{
    padding-top: 2em;
    padding-bottom: 4em;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: 2em 4em;
}
#socket .container::after{display: none;}
#socket .container > .copyright{
    float: none;
    font-size: var(--step--1);
    line-height: 1.6;
    display: flex;
    align-items: flex-end;
    flex-wrap: wrap;
    gap: 2em 4em;
}
#socket .container > .sub_menu_socket{float: none; margin: 0;}
#socket .container > .sub_menu_socket > div{overflow: visible;}
#socket .container > .sub_menu_socket ul.menu{
    margin: 0;
    display: flex;
    flex-wrap: wrap;
    gap: 1em 2em;
}
#socket .container > .sub_menu_socket ul.menu li{
    float: none;
    display: inline-block;
    padding: 0;
    border: 0;
    font-size: var(--step--1);
    line-height: 1.6;
}


#scroll-top-link{display: none !important;}