/*
 Theme Name:   Wolf Qualitätsholz
 Description:  Wolf Qualitätsholz | 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: 'Google Sans Flex', sans-serif;
    --heading-font: 'Expline', sans-serif;
}

:root {
	--grey: #242424;
	--green: #56564A;
	--orange: #EB602B;
	--white: #F1F3F0;
}


/* expline-light - 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: 'Expline';
  font-style: normal;
  font-weight: 300;
  src: url('fonts/expline-light-webfont.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* google-sans-flex-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: 'Google Sans Flex';
  font-style: normal;
  font-weight: 400;
  src: url('fonts/google-sans-flex-v19-latin-regular.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* google-sans-flex-600 - 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: 'Google Sans Flex';
  font-style: normal;
  font-weight: 600;
  src: url('fonts/google-sans-flex-v19-latin-600.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{font-family: var(--heading-font); font-weight: 300 !important; line-height: 1.2; letter-spacing: 0 !important; text-transform: inherit !important; margin: 0 0 .4em 0 !important; hyphens: auto}
mark{color: var(--orange)}

#top h1{font-size: var(--step-5);}
#top h2{font-size: var(--step-4); margin-bottom: 2rem !important;}
#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 .special-heading-border{display: none;}
#top .av-special-heading.avia-builder-el-no-sibling .av-special-heading-tag{margin: 0 !important}

#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}

/* Button */
#top div .avia-button{
    font-size: var(--step-1);
    font-weight: 400;
	text-align: left;
    padding: .5em 1em;
	margin-top: 3rem;
    border-radius: 2em;
    background: var(--grey);
    border: 2px solid var(--orange) !important;
    color: var(--white);
    text-decoration: none !important;
    -webkit-transition: .2s ease;
    -o-transition: .2s ease;
    transition: .2s ease;
}
#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.avia-color-theme-color-subtle{background: var(--white); color: var(--grey)}
#top div .avia-button:hover{opacity: 1}
html.no-touch-device #top div .avia-button:hover{translate: 0 -2px}

/* Big Buttons */
#top div .avia-button.avia-color-light.avia-button-fullwidth{
	border-radius: 0;
	padding: 2em 3em;
	margin-bottom: 1em;
	text-align: left;
	position: relative;
}
#top div .avia-button.avia-color-light.avia-button-fullwidth:has(.avia_button_icon_right){padding-right: 5em}

#top div .avia-button.avia-color-light{border: 1px solid var(--white) !important}

#top div .avia-button.avia-color-light.avia-button-fullwidth .avia_button_icon_right {
    position: absolute;
	padding: .25em .4em;
    width: 40px;
	height: 40px;
    top: 50%;
    transform: translateY(-50%);
    border-radius: 40px;
    border: 1px solid var(--orange);
	right: 2em;
	left: auto;
    color: var(--orange);
	text-align: center;
	transition: transform 0.3s ease;
	line-height: 1;
  	display: grid;
  	place-content: center;
}
#top div .avia-button.avia-color-light.avia-button-fullwidth .avia_button_background{background: transparent !important; border: 0 !important;}
#top div .avia-button.avia-color-light:hover{border: 1px solid var(--orange) !important; translate: 0 !important;};
#top .header_color .avia-button.avia-color-light:hover .avia-color-theme-color-highlight{background: transparent;}
#top div .avia-button.avia-color-light.avia-button-fullwidth:hover .avia_button_background{background: transparent !important; border: 0 !important;}
#top div .avia-button.avia-color-light.avia-button-fullwidth:hover .avia_button_icon_right {transform: translateY(-50%) translateX(0.5em);}
#top div .avia-button.avia-color-light.avia-button-fullwidth .avia-svg-icon svg{fill: var(--orange); margin: 0}

#top .avia-buttonrow-left .avia-button{margin-top: 0;}

#top #wrap_all .avia-buttonrow-wrap .avia-button{margin-bottom: .75rem !important;}


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


/* =======================================================================================================================================
Header
======================================================================================================================================= */
.inner-container .logo{flex: 0 0 auto;}
.inner-container .main_menu {flex: 1; justify-content: center;}
.inner-container .header-slogan,
.inner-container .header-kontakt {flex: 0 0 auto;}

.header-kontakt{order: 3}
.header-kontakt a{background: var(--green); border-radius: 3rem; border: 3px solid var(--green); padding: .5em 1.5em; color: var(--white); transition: border ease 0.3}
.header-kontakt a:hover{border-color: var(--orange); color: var(--white)}
.header-slogan {order: 4;}
.header-slogan p{color: var(--orange); margin-bottom: 0;}


@media only screen and (max-width: 767px){
	.responsive #top .logo {
		width: unset;
	}
	.responsive #top #wrap_all .main_menu{position: relative;}
	.header-kontakt{display: none;}
	.header-slogan {order: 2; flex: 1; margin-left: 1rem;}
	#header .inner-container > nav{order: 3; flex: 0 0 auto;}
	#header .inner-container{gap: 1rem !important;}
}

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

@media only screen and (min-width: 990px){
    #header .inner-container{
        display: flex;
        justify-content: space-between;
        align-items: center;
        gap: 2rem;
    }
    #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; height: 32px !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 */
.av-main-nav>li>a{padding: 0 1.5rem}
#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: 1 !important; color: var(--orange)}

#header_main ul.sub-menu{width: auto;}
#top .av-main-nav li:hover>ul.sub-menu {padding: 1em 1.5em;}
#header_main ul.sub-menu .avia-menu-text{font-size: var(--step-0)}
#header_main ul.sub-menu .avia-menu-text{white-space: nowrap}


@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);}

.html_av-overlay-full #top #wrap_all #av-burger-menu-ul li a{font-size: var(--step-1)}
.html_av-overlay-full #av-burger-menu-ul li{padding: 0;}
#top #av-burger-menu-ul .av-menu-button>a .avia-menu-text{border-radius: 2em; border: 2px solid var(--orange) !important;}


/* =======================================================================================================================================
Accessibility / Barrierefreiheit
======================================================================================================================================= */
#top :focus-visible,
#top .av-column-link:has(a:focus){
    outline: 0.2rem solid var(--orange) !important;
    outline-offset: .2rem !important;
}


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

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

/* Image Overlay */
#top .avia-image-container .av-caption-image-overlay-bg {
    opacity: 0.8;
    position: absolute;
    background-color: var(--white);
    rotate: -12deg;
    width: 120%;
    top: 50%;
    left: -5%;
}
#top .av-image-caption-overlay-position {padding-top: 80%; height: 60%;}
#top .av-image-caption-overlay-center{padding: 0px 2em;}
#top .av-image-caption-overlay-center p{text-align: left; font-family: var(--heading-font); font-size: var(--step-2)}
#top .avia-image-container .av-image-caption-overlay-center{color: var(--grey)}

#top .av-overlay-hover-deactivate .avia-image-overlay-wrap:hover .av-caption-image-overlay-bg{opacity: .95 !important; transform: translateY(-1.5em);}


/* Toggle */
#top section.av_toggle_section .toggler{padding: 1em 3em 1em 1.5rem; margin: 0 0 .8em; font-size: var(--step-1); background: transparent; border: 1px solid;}
#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: '\e87d';
    font-family: 'entypo-fontello';
    position: absolute;
    right: 1em;
    transition: .2s ease;
}
#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;}

/* Horizontal Gallery */
#top .av-horizontal-gallery{
    overflow: visible;
    padding-bottom: 120px;
    position: relative;
}
#top .av-horizontal-gallery .avia-slideshow-arrows{
    width: 100%;
    position: absolute;
    bottom: 0;
    left: 0;
    display: flex;
    justify-content: center;
	gap: 1em;
}
#top .av-horizontal-gallery .avia-slideshow-arrows > a{
	margin: 0;
    background: transparent;
    border: 1px solid var(--grey);
    border-radius: 60px;
    height: 60px;
    width: 60px;
    line-height: 1;
    font-size: 24px;
    position: static;
    display: grid;
    place-content: center;
	color: currentColor;
}
#top .av-horizontal-gallery .avia-slideshow-arrows > a svg{margin: 0 !important; fill: currentColor !important}

@media only screen and (max-width: 767px) {
    .responsive #top .av-horizontal-gallery-inner {
        position: relative;
		min-height: 320px;
    }
	.responsive #top .av-horizontal-gallery-inner .av-horizontal-gallery-wrap{margin-right: 15px}
}


/* =======================================================================================================================================
Sections
======================================================================================================================================= */
/* Section Hero */
#top .__sec_hero{position: relative; overflow: hidden;}

#top .__sec_hero .av-special-heading{width: 100%; display: block;}
#top .__sec_hero h1{font-size: var(--step-1); max-width: 400px; line-height: 1.2;}
#top .__sec_hero p{font-size: var(--step-7); line-height: 1; margin-bottom: 0; hyphens: auto; max-width: 420px}

#top .__sec_hero .avia-buttonrow-wrap{padding-left: 3rem;}

#top .__sec_hero .container,
#top .__sec_hero .container .content{max-width: 100% !important; width: 100% !important; padding: 0 !important;} 
#top .__sec_hero .entry-content-wrapper{display: flex; flex-direction: column; gap: 0rem;}
#top .__sec_hero .entry-content-wrapper:before,
#top .__sec_hero .entry-content-wrapper:after{display: none;}
#top .__sec_hero .entry-content-wrapper .flex_column{width: 100%; flex-basis: 100%; flex-grow: 1; float: unset; margin: 0 !important;}
#top .__sec_hero .entry-content-wrapper .flex_column.__text{order: 1; padding: 3rem 5%;}
#top .__sec_hero .entry-content-wrapper .flex_column.__media{order: 2; padding-top: 3rem;}

@media only screen and (min-width: 990px){
    #top .__sec_hero .entry-content-wrapper{flex-direction: row; gap: 3rem;}    
    #top .__sec_hero .entry-content-wrapper .flex_column{flex-basis: 0; width: auto;}
    #top .__sec_hero .entry-content-wrapper .flex_column.__text{padding: 8rem 4%; align-self: center; max-width: 50%}
    #top .__sec_hero .entry-content-wrapper .flex_column.__media *{height: 100%;}
    #top .__sec_hero .entry-content-wrapper .flex_column.__media img{width: 100%; height: 100%; object-fit: cover; object-position: left;}
    #top .__sec_hero .entry-content-wrapper .flex_column:first-child.__media{order: 1;}
    #top .__sec_hero .entry-content-wrapper .flex_column:first-child.__media img{object-position: bottom right;}
}

@media only screen and (min-width: 1740px){
    #top .__sec_hero .entry-content-wrapper .flex_column:last-child.__text{padding-right: calc((100vw - 1540px) / 2);}
    #top .__sec_hero .entry-content-wrapper .flex_column:first-child.__text{padding-left: calc((100vw - 1540px) / 2);}
}


/* Section Image Bottom + Text */
#top .__sec_imgbottom-text .content{padding-bottom: 0}
#top .__sec_imgbottom-text .flex_column:has(.av_textblock_section){padding-bottom: 10%; padding-top: 2rem;}

/* Section Image Top + Text */
#top .__sec_imgtop-text .content{padding-top: 0}
#top .__sec_imgtop-text .flex_column:has(.av_textblock_section){padding-top: 10%; padding-bottom: 2rem;}


/* =======================================================================================================================================
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 .main_color input[type=email], 
#top .main_color input[type=input], 
#top .main_color input[type=number], 
#top .main_color input[type=password], 
#top .main_color input[type=search], 
#top .main_color input[type=tel], 
#top .main_color input[type=text], 
#top .main_color input[type=url], 
#top .main_color select, 
#top .main_color textarea{
    font-family: var(--primary-font);
    padding: 1em;
    border-radius: 0;
    border: 1px solid var(--green);
    margin: 0;
    font-size: var(--step--1);
}

#top form label{font-size: var(--step--1)}
#top form button{
    font-size: var(--step-1);
	font-family: var(--primary-font)
    font-weight: 400;
    padding: .5em 1em;
	margin-top: 3rem;
    border-radius: 2em;
    background: var(--grey);
    border: 2px solid var(--orange) !important;
    color: var(--white);
    text-decoration: none !important;
    -webkit-transition: .2s ease;
    -o-transition: .2s ease;
    transition: .2s ease;
}
#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);
}

/* Datenschutzerklärung */
#top.page-id-3 h3{margin-top: 2.5rem !important;}



/* =======================================================================================================================================
Footer
======================================================================================================================================= */
#footer{padding: 4rem 0 4rem 0}
#footer .widget{overflow: visible}
#footer.container_wrap{border: 0;}
#footer .widget{margin: 1rem 0 1rem 0}
#footer a{color: var(--white); border-bottom: 1px solid var(--orange)}
#footer a:hover{color: var(--orange);}

#footer .flex_column.first{width: 100%}
#footer .flex_column.first img{max-width: 220px !important}


#footer .flex_column.el_after_av_one_half {
	display: flex;
	align-items: flex-start;
	width: 100%;
	padding-right: 3rem;
	column-gap: 4rem;
	margin-left: 0;
}

#footer .flex_column.el_after_av_one_half section:nth-child(1) {flex: 1;}
#footer .flex_column.el_after_av_one_half section:nth-child(2),
#footer .flex_column.el_after_av_one_half section:nth-child(3) {flex: 0 0 auto;}
#footer .flex_column.el_after_av_one_half::before,
#footer .flex_column.el_after_av_one_half::after {display: none;}

@media (max-width: 910px) {
  #footer .flex_column.el_after_av_one_half {
    flex-direction: column;
  }
}

#footer .flex_column.el_after_av_one_half p.__big{font-size: var(--step-1)}

#footer .container {position: relative;}

#footer .container::before {
  content: '';
  position: absolute;
  top: -470px;
  left: calc(100% - 3rem);
  width: 2000px;
  height: 1320px;
  background-image: url('/wp-content/uploads/2026/04/orange-element.svg');
  background-repeat: no-repeat;
  background-size: contain;
  pointer-events: none;
}

@media (max-width: 910px) {
  #footer .container::before {
    width: 3200px;
    top: -730px;
  }
}

#socket{font-size: var(--step--1);}
#socket .container{
	padding-top: 1rem; 
	padding-bottom: 2rem;
	display: flex;
	flex-wrap: wrap;
	gap: 1rem 2rem;
	justify-content: space-between;
}
#socket .container::after{display: none}
#socket .container > *{float: none; margin: 0 !important}
#socket nav.sub_menu_socket div{overflow: visible;}
#socket nav.sub_menu_socket ul.menu{margin: 0;}
#socket nav.sub_menu_socket ul.menu li{line-height: inherit}
#socket nav.sub_menu_socket ul.menu li:first-child{padding-left: 0}

#scroll-top-link{background: transparent; border: 1px solid var(--orange); border-radius: 50px}
#scroll-top-link.avia-svg-icon svg:first-child, #av-cookie-consent-badge.avia-svg-icon svg:first-child{fill: var(--orange)}


