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

/* @link https://utopia.fyi/type/calculator?c=375,16,1.2,1240,18,1.25,8,2,&s=0.75|0.5|0.25,1.5|2|3|4|6,s-l&g=s,l,xl,12 */

:root {
  --step--2: clamp(0.69rem, calc(0.68rem + 0.05vw), 0.72rem);
  --step--1: clamp(0.83rem, calc(0.80rem + 0.12vw), 0.90rem);
  --step-0: clamp(1.00rem, calc(0.95rem + 0.23vw), 1.13rem);
  --step-1: clamp(1.20rem, calc(1.11rem + 0.38vw), 1.41rem);
  --step-2: clamp(1.44rem, calc(1.30rem + 0.59vw), 1.76rem);
  --step-3: clamp(1.73rem, calc(1.52rem + 0.87vw), 2.20rem);
  --step-4: clamp(2.07rem, calc(1.78rem + 1.25vw), 2.75rem);
  --step-5: clamp(2.49rem, calc(2.08rem + 1.75vw), 3.43rem);
  --step-6: clamp(2.99rem, calc(2.42rem + 2.41vw), 4.29rem);
  --step-7: clamp(3.58rem, calc(2.81rem + 3.29vw), 5.36rem);
  --step-8: clamp(4.30rem, calc(3.26rem + 4.45vw), 6.71rem);
}

:root {
    --primary-font: 'Sora', sans-serif;
    --heading-font: 'Sora', sans-serif;
	--special-font: 'Source Serif 4', serif;
}

:root {
    --sz-blue: #43506c;
    --sz-gold: #D0C994;
	--sz-mauve: #534343;
}



/* source-serif-4-italic - 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: 'Source Serif 4';
  font-style: italic;
  font-weight: 400;
  src: url('fonts/source-serif-4-v14-latin-italic.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* source-serif-4-500italic - 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: 'Source Serif 4';
  font-style: italic;
  font-weight: 500;
  src: url('fonts/source-serif-4-v14-latin-500italic.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* sora-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: 'Sora';
  font-style: normal;
  font-weight: 400;
  src: url('fonts/sora-v17-latin-regular.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* sora-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: 'Sora';
  font-style: normal;
  font-weight: 700;
  src: url('fonts/sora-v17-latin-700.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}


/* =======================================================================================================================================
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{line-height: 1.2; letter-spacing: 0 !important; text-transform: inherit !important; margin: 0 0 .4em 0 !important;}

@media only screen and (max-width: 989px){
    h1,h2,h3,h4,h5,h6{hyphens: auto;}    
} 


#top .av-special-heading{display: inline-block; width: auto;}
#top .av-special-heading h2{padding-bottom: 1rem;}
#top .av-special-heading .av-subheading{border-top: 1px solid #000; padding-top: 1rem; font-family: var(--special-font); font-style: italic;}

#top h2{font-size: var(--step-3); font-weight: 700 !important; font-family: var(--heading-font);}
#top h3{font-size: var(--step-2); font-weight: 700 !important; font-family: var(--heading-font)}
#top h4{font-size: var(--step-1); font-weight: 700 !important; font-family: var(--heading-font)}
#top h5{font-size: var(--step-0); font-weight: 700 !important; font-family: var(--heading-font)}
#top h6{font-size: var(--step-0); font-weight: 700 !important; font-family: var(--heading-font)}

#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 .special-heading-border{display: none;}
#top .av-special-heading.avia-builder-el-no-sibling .av-special-heading-tag{margin: 0 !important}

#top b,
#top strong{color: currentColor}

#top .avia_textblock a,
#top .toggle_content a,
#top .template-single-blog .entry-content a{
    border-bottom: 1px solid;
}

::selection {
    background-color: #56678a;
    color: #fff;
}

/* Button */
#top div .avia-button{
    font-size: var(--step-0);
    font-weight: 600;
    padding: .75em 1.5em;
    border-radius: 1.25em;
    background: var(--sz-gold);
    border: 1px solid var(--sz-gold) !important;
    color: #000 !important;
    text-decoration: none !important;
    -webkit-transition: .2s ease;
    -o-transition: .2s ease;
    transition: .2s ease;
	margin-top: 1rem;
}
#top div .avia-button.avia-color-theme-color-highlight{color: #fff !important; border: 1px solid var(--sz-blue) !important;}
#top div .avia-button.avia-color-dark{color: #000;}
#top div .avia-button.avia-color-light{border: 1px solid #fff !important;}
#top div .avia-button:hover{opacity: 1}
html.no-touch-device #top div .avia-button:hover{translate: 0 -2px}

/* Blockquote */
#top blockquote{border: 0; font-size: var(--step-1); position: relative; font-style: italic; line-height: 1.2; color: #000; padding: 0;}
#top blockquote:before{display: none;}
#top blockquote p{font-size: 1em; margin: 0; font-family: var(--special-font);}

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


/* =======================================================================================================================================
Header
======================================================================================================================================= */
#header:not(.av_header_transparency){
    -webkit-box-shadow: 0;
    box-shadow: 0;
}


@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: 36px !important;}

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

/* Navigation */
#top .av-main-nav ul{width: 240px}
#top .av-main-nav ul{border-radius: 0 0 1rem 1rem; padding-bottom: .25rem;}
.header_color .main_menu .menu ul li a{background: transparent; border: 0; color: #000;}
.header_color .main_menu .menu ul li a:hover{background: transparent;}

@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); color: #000; font-weight: 600; padding: 0 1em;}
    #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,
    #header_main .inner-container > nav ul#avia-menu li.current-menu-item > a{color: #797135;}
}

@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);}
#top ul#av-burger-menu-ul li.current-menu-item > a .avia-menu-text{color: #797135;}


/* =======================================================================================================================================
Accessibility / Barrierefreiheit
======================================================================================================================================= */
#top :focus-visible{
    outline: 0.3rem dotted var(--sz-gold) !important;
    outline-offset: .2rem !important;
}


/* =======================================================================================================================================
Misc
======================================================================================================================================= */
/* Layout */
.widgettitle{font-weight: inherit; text-transform: inherit; letter-spacing: inherit; font-size: inherit;}
.responsive .boxed#top,
.responsive.html_boxed.html_header_sticky #header{max-width: 98%;}

@media only screen and (max-width: 1280px){
    #top .container{padding: 0 25px;}
}

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

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

/* Toggle */
#top .togglecontainer{padding-top: 4rem;}
#top .single_toggle:has(.toggler:focus-visible){overflow: visible;}
#top section.av_toggle_section .toggler{padding: 1em 3em 1em 2em; margin: 0 0 1.2em !important; font-size: var(--step-0); background: #fff; border: 3px solid var(--sz-blue); border-radius: 1.5rem}
#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: '';
    font-family: 'sz-iconset-fontello';
    position: absolute;
    right: 1em;
    transition: .2s ease;
	transform: rotate(270deg);
}
#top section.av_toggle_section .toggler.activeTitle:after{rotate: 90deg}
#top section.av_toggle_section .toggle_content{border: 0; background: transparent; padding: .5em 1rem 1.5em;}
#top section.av_toggle_section .toggle_content *{font-size: var(--step-0);}

/* Social Icons */
#top ul.__social--media--icons{
    display: flex;
    gap: 0;
    font-size: var(--step-2);
    margin: 0 0 1em 0;
    line-height: 1;
}
#top ul.__social--media--icons > li > a{padding: .2em .4em;}

/* Animated Numbers */
#top strong.heading.avia-animated-number-title, #top span.avia-no-number{font-weight: 600;}
#top .avia-animated-number-content p{font-family: var(--special-font); margin-top: .75rem; font-style: italic; font-size: var(--step-1)}

/* Hot Spots */
#top .av-hotspot-container {width:100%}
#top .av-hotspot-container .av-image-hotspot_inner{background: var(--sz-blue); color: #fff;}
#top .av-hotspot-container .av-image-hotspot-pulse{background: var(--sz-blue)}
@media only screen and (max-width: 767px) {
    .responsive .av-hotspot-fallback-tooltip{
        display: none;
    }
	.responsive .av-image-hotspot {
		height: 28px;
		width: 28px;
		line-height: 28px;
		font-size: 14px;
	}
	.responsive .av-image-hotspot-pulse {
        height: 58px;
        width: 58px;
        top: -15px;
        left: -15px;
	}
}
@media only screen and (min-width: 990px){
	.responsive .av-image-hotspot {
		height: 35px;
		width: 35px;
		line-height: 35px;
		font-size: 18px;
	}
	.responsive .av-image-hotspot-pulse {
        height: 65px;
        width: 65px;
        top: -15px;
        left: -15px;
	}
}

#top .avia-tooltip .avia-arrow{background: #fff}
#top  .avia-tooltip {padding: 0.25em 0.75em; margin-left: 0; background: #fff; color: #000; border-radius: 10px; width: auto;}
	
/* Portfolio Grid – Code Snippet */
.sz-portfolio-grid {display: grid; grid-template-columns: repeat(3, 1fr);gap: 3rem; margin-top: 4rem;}

.sz-portfolio-card {display: flex; flex-direction: column; border-radius: 1rem; border: 3px solid var(--sz-blue) !important; background: #fff; transition: box-shadow 0.2s ease;}
.sz-portfolio-card:hover {box-shadow: 0 4px 10px rgba(0, 0, 0, 0.35);}
.sz-portfolio-card:hover .sz-portfolio-card__arrow{translate: 5px 0}

.sz-portfolio-card__image {position: relative;}
.sz-portfolio-card__image img {width: 100%; height: 220px; object-fit: cover; display: block;}

.sz-portfolio-card__icon {position: absolute; bottom: -2.75rem; left: 50%; transform: translateX(-50%); width: 6rem; height: 6rem; background: #fff;   border-radius: 50%; display: flex; align-items: center; justify-content: center;}
.sz-portfolio-card__icon img {width: 2.5rem; height: 2.5rem; object-fit: contain;}

.sz-portfolio-card__body {display: flex; flex-direction: column; flex: 1; padding: 4rem 2rem 2rem; text-align: center;}
.sz-portfolio-card__title {font-size: var(--step-1) !important; font-weight: 700; margin-bottom: 1.25rem !important;}
.sz-portfolio-card__excerpt {flex: 1; font-size: var(--step-0) !important; line-height: 1.6;}
.sz-portfolio-card__arrow {display: block; transition: .2s ease}

@media (max-width: 1549px){
	    .sz-portfolio-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 959px) {
    .sz-portfolio-grid {
        grid-template-columns: 1fr;
    }
}

/* Post Grid – Code Snippet */
.sz-blog-grid {display: grid; grid-template-columns: repeat(3, 1fr); gap: 3rem; margin-top: 3rem;}
.sz-blog-card {display: flex; flex-direction: column; border-radius: 1rem; border: 3px solid var(--sz-blue) !important; padding: 1.5rem; text-decoration: none; color: inherit; background: #fff; transition: box-shadow 0.2s ease;}

.sz-blog-card:hover {box-shadow: 0 4px 10px rgba(0, 0, 0, 0.35);}
.sz-blog-card:hover .sz-blog-card__more{color: var(--sz-gold)}

.sz-blog-card__header {display: flex; justify-content: space-between; align-items: center; margin-bottom: 3rem;}
.sz-blog-card__badge {background: var(--sz-blue); color: #fff; font-family: var(--special-font); font-style: italic; font-size: 0.85rem; padding: 0.25rem 1.5rem; border-radius: 2rem;}

.sz-blog-card__date {font-size: var(--step-0) !important; color: #555;}
.sz-blog-card__title {font-size: var(--step-1) !important; margin-bottom: 2rem !important;}
.sz-blog-card__excerpt {flex: 1; font-size: var(--step-0) !important; line-height: 1.6; margin-bottom: 2.5rem;}
.sz-blog-card__more {display: block; text-align: center; font-size: var(--step-0) !important; text-decoration: underline; color: inherit;}

@media (max-width: 1399px) {
    .sz-blog-grid {
        grid-template-columns: 1fr;
    }
}

/* =======================================================================================================================================
Sections
======================================================================================================================================= */
/* Hero Section */
#top .__section--hero main{vertical-align: bottom;}
#top .__section--hero .__hero-box{background: rgba(58, 79, 109, 0.65); border-radius: 4rem 4rem 0 0; padding: 5rem 5rem 10rem 5rem; color: #fff;}
#top .__section--hero .__hero-box h1{color: #fff; font-size: var(--step-1); line-height: 1.3; font-family: var(--special-font); font-style: italic; font-weight: 500;}
#top .__section--hero .__hero-box .avia_textblock p{font-size: var(--step-4); font-weight: 700; line-height: 1.1; margin-bottom: 0 !important; hyphens: auto; text-wrap: balance;}
#top .__section--hero .hr{margin: 30px 0 0 0}

@media only screen and (max-width: 989px) {
    .responsive #top #wrap_all .av-break-at-tablet .flex_cell, .responsive #top #wrap_all .flex_column.av-break-at-tablet {margin-bottom: 0}
	#top .__section--hero .avia-button{margin-bottom: 2rem;}
}

@media only screen and (max-width: 767px) {
    .responsive #top #wrap_all .__section--hero .flex_column{margin-bottom: 0;}
	#top .__section--hero .__hero-box{padding: 3rem 3rem 7rem 3rem;}
}

/* Hero Section 2 - Gold */
#top .__section--hero-2 h1{font-size: var(--step-4); line-height: 1.1; font-weight: 700; font-family: var(--heading-font)}
#top .__section--hero-2 .avia_textblock p{font-family: var(--special-font); font-size: var(--step-1); line-height: 1.3; font-style: italic; font-weight: 500;}
#top .__section--hero-2 span.hr-inner{border-color: #000;}
#top .__section--hero-2 .hr{margin: 20px 0 40px 0}

/* Icon Box Section */
#top .__section-iconbox .flex_column {display: flex; flex-wrap: wrap; justify-content: center; gap: 4rem;}
#top .__section-iconbox .flex_column:before, .__section-iconbox .flex_column:before{display: none;}
#top .__section-iconbox .flex_column article.iconbox {flex: 0 1 400px; background: #fff; border: 3px solid var(--sz-blue); border-radius: 1.5rem; padding: 4rem 2rem 6rem 2rem; margin-bottom: unset !important;}
#top .__section-iconbox .flex_column article.iconbox .iconbox_icon{float: none; width: 100%; text-align: center; top: unset; left: unset; font-size: var(--step-5); margin-bottom: 2rem;}
#top .__section-iconbox .flex_column article.iconbox h3, #top .__section-iconbox .flex_column article.iconbox p{text-align: center;}
#top .__section-iconbox .flex_column article.iconbox .entry-content-header{padding-bottom: 1rem;}
#top .__section-iconbox .flex_column article.iconbox .iconbox_content_container{border-top: 1px solid #000; padding-top: 2.5rem;}

/* Karriere Section */
#top .__section-karriere{padding-top: 120px;}
#top .__section-karriere .__karriere-img{margin-bottom: 0 !important}

/* =======================================================================================================================================
Blog: Single Post
======================================================================================================================================= */
#top .container_wrap .template-single-blog article.post .big-preview{max-width: 900px; margin: auto;}
#top .container_wrap .template-single-blog article.post .entry-content-wrapper{max-width: 900px; text-align: left; line-height: 1.6; font-size: var(--step-0);}
#top .container_wrap .template-single-blog article.post .entry-content-wrapper > *{max-width: 100%;}
#top .container_wrap .template-single-blog article.post .entry-content-wrapper header h1{text-align: left; font-size: var(--step-4); padding: 1rem 0}
#top .container_wrap .template-single-blog article.post .entry-content-wrapper header .post-meta-infos{text-align: left; font-size: var(--step--1);}
#top .main_color .text-sep, #top .main_color .blog-categories, #top .main_color .blog-author{display: none;}


/* =======================================================================================================================================
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: 600;
    padding: .75em 1.5em;
    border-radius: 1.25em;
    background: var(--sz-gold);
    border: 1px solid var(--sz-gold) !important;
    color: #000 !important;
    text-decoration: none !important;
    -webkit-transition: .2s ease;
    -o-transition: .2s ease;
    transition: .2s ease;
	margin-top: 1rem;
    box-shadow: none;
}
#top .alternate_color form button{
	background: var(--enfold-alternate-color-color);
    color: var(--enfold-alternate-color-bg);
}

/* Formidable Forms */
#top .frm_forms > form .frm_primary_label{
	color: inherit;
	font-weight: 700;
}
#top .frm_forms > form .frm_required{
    font-weight: inherit;
    font-size: inherit;
    color: inherit;
}
#top .frm_forms > form p.description, 
#top .frm_forms > form div.description, 
#top .frm_forms > form div.frm_description, 
#top .frm_forms > form .frm-show-form > div.frm_description, 
#top .frm_forms > form .frm_error, 
#top .frm_forms > form .frm_pro_max_limit_desc{
	color: inherit;
	font-size: var(--step--1);
}

.frm_style_formidable-style.with_frm_style .frm-show-form .frm_section_heading h3[class*="frm_pos_"]{border-top: 0;}
#top .frm_forms h3{padding-top: 0;}
.frm_style_formidable-style.with_frm_style .frm_section_heading{margin-top: 0; margin-bottom: 3rem !important;}

/* =======================================================================================================================================
Footer
======================================================================================================================================= */
#footer{padding: 3rem 0}
#footer .widget{overflow: visible;}
#footer .container {
    display: flex;
    flex-wrap: wrap;
    gap: 4rem;
}

#footer .container .flex_column {
    margin: 0 !important;
}

#footer .container .flex_column:nth-child(1) {
    width: 100%;
}
#footer .container .flex_column:nth-child(1) .__claim {display: inline-block; padding-right: 2rem; border-bottom: 1px solid #fff}
#footer .container .flex_column:nth-child(1) p{font-size: var(--step-3); font-weight: 700; line-height: 1.1; margin-bottom: 1rem;}


#footer .container .flex_column:nth-child(2) {
    flex: 1 1 auto;
}

#footer .container .flex_column:nth-child(2) img{max-width: 220px}


#footer .container .flex_column:nth-child(3),
#footer .container .flex_column:nth-child(4) {
    flex: 0 0 auto;
	min-width: 340px;
}

@media (max-width: 1250px) {
	#footer .container {gap: 0}
    #footer .container .flex_column:nth-child(2),
    #footer .container .flex_column:nth-child(3),
    #footer .container .flex_column:nth-child(4) {
        flex: 0 1 100%;
    }
}

#socket{font-size: var(--step--1); border: 0;}
#socket .container{padding-top: 3rem; padding-bottom: 3rem;}
#socket .copyright{margin: 0 0 2em 0;}
#socket .sub_menu_socket div{overflow: visible;}