/*
 Theme Name:   HM Schmidt Theme
 Description:  HM Schmidt Theme
 Author:       Neckarmedia
 Author URI:   https://www.neckarmedia.com
 Template:     enfold
 Version:      1.0
*/

/* @link https://utopia.fyi/type/calculator?c=375,18,1.125,1800,20,1.23,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(1rem, 0.9957rem + 0.0183vw, 1.0163rem);
  --step-0: clamp(1.125rem, 1.0921rem + 0.1404vw, 1.25rem);
  --step-1: clamp(1.2656rem, 1.1941rem + 0.3053vw, 1.5375rem);
  --step-2: clamp(1.4238rem, 1.3009rem + 0.5247vw, 1.8911rem);
  --step-3: clamp(1.6018rem, 1.4112rem + 0.8132vw, 2.3261rem);
  --step-4: clamp(1.802rem, 1.5233rem + 1.1891vw, 2.8611rem);
  --step-5: clamp(2.0273rem, 1.6347rem + 1.6751vw, 3.5191rem);
  --step-6: clamp(2.2807rem, 1.7418rem + 2.2993vw, 4.3285rem);
  --step-7: clamp(2.5658rem, 1.8399rem + 3.0971vw, 5.3241rem);
}

:root {
    --primary-font: 'TT Commons Pro', sans-serif;
    --heading-font: 'TT Commons Pro', sans-serif;
    --primary-color: #2D2E2D;
    --secondary-color: #96A9B1;
    --third-color: #AEB8BF;
    --light-grey: #F0F0F0;
    --skew: 10deg;
    --section-skew: clamp(30px, 4vw, 70px);    
    --section-skew-space: clamp(30px, 5vw, 70px);
}

/*TT Commons Pro*/
@font-face {
    font-family: 'TT Commons Pro';
    src: url('fonts/tt_commons_pro_regular-webfont.woff2') format('woff2'),
         url('fonts/tt_commons_pro_regular-webfont.woff') format('woff');
    font-weight: 400;
    font-style: normal;

}
@font-face {
    font-family: 'TT Commons Pro';
    src: url('fonts/tt_commons_pro_medium-webfont.woff2') format('woff2'),
         url('fonts/tt_commons_pro_medium-webfont.woff') format('woff');
    font-weight: 500;
    font-style: normal;

}
@font-face {
    font-family: 'TT Commons Pro';
    src: url('fonts/tt_commons_pro_demibold-webfont.woff2') format('woff2'),
         url('fonts/tt_commons_pro_demibold-webfont.woff') format('woff');
    font-weight: 600;
    font-style: normal;

}

@font-face {
    font-family: 'Dienstag';
    src: url('fonts/DienstagMedium-webfont.woff2') format('woff2'),
         url('fonts/DienstagMedium-webfont.woff') format('woff');
    font-weight: normal;
    font-style: normal;

}

/* =======================================================================================================================================
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: 2em 0 1em;}
h1,.h1,h2,h3,h4,h5,h6{font-family: var(--heading-font); font-weight: 500 !important; line-height: 1.2; letter-spacing: 0 !important; text-transform: inherit !important; margin: 0 0 .4em 0 !important}

#top h1,
#top .h1{font-size: var(--step-6); font-weight: 600 !important;}
#top h2{font-size: var(--step-5);}
#top h3{font-size: var(--step-3);}
#top h4{font-size: var(--step-2); font-weight: 600 !important;}
#top h5{font-size: var(--step-1);}
#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}

#top .av-subheading p {font-size: var(--step-1); font-weight: 500;}
#top .av-subheading_below {margin-top: 1em;}

#top a{text-decoration: underline; text-underline-offset: 3px;}
#top a:hover{text-decoration: none !important;}

::selection {background: #000;}

/*Button*/
#top div .avia-button{
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: .7em 1.5em;
    font-size: var(--step-1);
    font-weight: 700;
    text-decoration: none !important;
    border-radius: 0;
    position: relative;
    overflow: visible;
    transition: .2s ease;
    color: currentcolor;

    transform: skewX(calc(var(--skew) * -1));
    transform-origin: center;
}

#top div .avia-button .avia_iconbox_title,
#top div .avia-button .avia_button_text,
#top div .avia-button span{ display: inline-block; transform: skewX(var(--skew));}

#top div .avia-button{background: transparent; color: currentcolor !important; border: 3px solid var(--secondary-color) !important;}
#top div .avia-button.avia-color-dark{background: transparent; color: currentcolor; border: 3px solid var(--primary-color) !important;}
#top div .avia-button.avia-color-light{background: transparent; color: #fff !important; border: 3px solid #fff !important;}
#top div .avia-button.avia-color-theme-color-highlight.avia-size-large{background: var(--secondary-color); color: currentcolor !important; border: 3px solid var(--secondary-color) !important; font-size: var(--step-1);}
#top div .avia-button.avia-color-theme-color-highlight.avia-size-x-large{background: var(--secondary-color); color: currentcolor !important; border: 3px solid var(--secondary-color) !important; font-size: var(--step-2);}

#top div .avia-button:hover{background: var(--secondary-color);}
#top div .avia-button.avia-color-light:hover{background: #fff;color: var(--primary-color) !important;}
#top div .avia-button.avia-color-dark:hover,
#top div .avia-button.avia-color-theme-color-highlight.avia-size-large:hover,
#top div .avia-button.avia-color-theme-color-highlight.avia-size-x-large:hover{background: var(--primary-color); color: #fff !important;border: 3px solid var(--primary-color) !important;}


#top div .avia-button:hover{opacity: 1;}
html.no-touch-device #top div .avia-button:hover{transform: skewX(calc(var(--skew) * -1)) translateY(-2px);}

/* 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: '\2022';
    font-family: 'entypo-fontello';
    position: absolute;
    left: 0;
    display: inline-block;
}


/* =======================================================================================================================================
Header
======================================================================================================================================= */
@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{height: 22px !important; width: auto}

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

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

@media only screen and (min-width: 1280px){
span.logo.avia-svg-logo:after {
    content: 'Erfahrung, die trägt.\A Seit 1957.';
	white-space: pre-line;
    width: 193px;
    line-height: 1.3;
    margin-left: 4em;
    padding-left: 20px;
    font-size: var(--step-0);
    font-weight: 700;
}
}


/* Navigation */
@media only screen and (min-width: 768px){
    #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.2 !important; height: auto !important; font-size: var(--step-0); font-weight: 600; text-decoration: none; padding: 0 1em;}
    #header_main .inner-container > nav ul#avia-menu > li > a .avia-menu-text{display: inline-block; border-bottom: 2px solid transparent;}
    #header_main .inner-container > nav ul#avia-menu > li > a:hover .avia-menu-text,
    #header_main .inner-container > nav ul#avia-menu > li.current-menu-item > a .avia-menu-text{border-color: var(--secondary-color);}
}

/* Hamburger Menu */
.av-hamburger-box{width: 32px}
.av-hamburger-inner, 
.av-hamburger-inner::before, 
.av-hamburger-inner::after{border-radius: 0}
.av-hamburger-inner, 
.av-hamburger-inner::after, 
.av-hamburger-inner::before{height: 2px;}
#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-1); font-weight: 600; line-height: 1.2 !important;}
#top ul#av-burger-menu-ul > li > a .avia-menu-text{display: inline-block;}
#top ul#av-burger-menu-ul > li.current-menu-item > a .avia-menu-text{border-bottom: 2px solid;}


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

#top .alternate_color :focus-visible,
#top .alternate_color .av-column-link:has(a:focus){
    outline-color: var(--light-grey) !important;
}


/* =======================================================================================================================================
Misc
======================================================================================================================================= */
/* Layout */
#top .avia-section-default .content{padding-top: clamp(40px, 8vh, 60px); padding-bottom: clamp(40px, 8vh, 60px);}
#top .avia-section-huge .content{padding-top: clamp(80px, 12vh, 120px); padding-bottom: clamp(80px, 12vh, 120px);}

#top .d-none{display: none !important;}
#top .__relative {position: relative;}
#top .__404 > .flex_cell{background-size: cover;;}

@media (min-width: 768px){
    #top .avia-section-default .content{padding-top: clamp(80px, 15vh, 120px); padding-bottom: clamp(80px, 15vh, 120px);}
    #top .avia-section-huge .content{padding-top: clamp(180px, 25vh, 290px); padding-bottom: clamp(180px, 25vh, 290px);}
}

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


/* Layout Grid --> Style 1 */
#top .av-layout-grid-container.__layout--grid--style--1{position: relative;}
#top .av-layout-grid-container.__layout--grid--style--1 > .flex_cell{padding: clamp(100px, 12vw, 140px) clamp(20px, 5vw, 100px);}
#top .av-layout-grid-container.__layout--grid--style--1 > .flex_cell{background-size: cover;;}
#top .av-layout-grid-container.__layout--grid--style--1 > .flex_cell .flex_cell_inner{display: flex; flex-direction: column;}
#top .av-layout-grid-container.__layout--grid--style--1 > .flex_cell .flex_cell_inner > *{max-width: 100%;}
#top .av-layout-grid-container.__layout--grid--style--1 > .flex_cell .flex_cell_inner > .av-special-heading{max-width: 767px; z-index: 3; margin-top: 0;}
#top .av-layout-grid-container.__layout--grid--style--1 > .flex_cell .flex_cell_inner > .avia-button-wrap {max-width: 767px; margin-top: 3em}

@media (max-width: 767px){
    .responsive #top #wrap_all .av-layout-grid-container.__layout--grid--style--1 > .flex_cell{padding-left: 5% !important; padding-right: 5% !important;}
}

@media (min-width: 1800px){
    #top .av-layout-grid-container.__layout--grid--style--1 > .flex_cell:nth-child(1){padding-left: calc((100vw - 1700px) / 2); padding-right: 5%;}
    #top .av-layout-grid-container.__layout--grid--style--1 > .flex_cell .avia-button-wrap{display: flex; justify-content: flex-end;}
}

#top .av-layout-grid-container.__layout--grid--style--1 .avia-builder-el-first.flex_cell{
    position: relative;
    overflow: visible;
    min-height: 500px;
}

#top .av-layout-grid-container.__layout--grid--style--1 .avia-builder-el-first.flex_cell::before{
    content: "";
    position: absolute;
    right: -12%;
    top: 0;
    width: 12%;
    height: 100%;
    min-height: 100%;
    background: var(--primary-color);
    pointer-events: none;
    z-index: 3;
    clip-path: polygon(0 0, 0 59%, 100% 0);
}

#top .av-layout-grid-container.__layout--grid--style--1 .avia-builder-el-first.flex_cell::after {
    content: "";
    position: absolute;
    right: -7%;
    bottom: 0;
    width: 7%;
    height: 100%;
    min-height: 100%;
    background: var(--secondary-color);
    pointer-events: none;
    z-index: 2;
    clip-path: polygon(0 57%, 0 100%, 100% 100%);
}

/*S Icon in layout-grid*/
#top .av-layout-grid-container.__layout--grid--style--1::before{
    content: "";
    position: absolute;
    left: -5%;
    top: clamp(0px, -8vw, 0px);
    width: clamp(220px, 32vw, 420px);
    height: 100%;
    opacity: .9;
    background: url('/wp-content/themes/hm-schmidt-child/img/schmidt-s-icon.svg') no-repeat center center;
    background-size: contain;
    pointer-events: none;
    z-index: 3;
}

@media screen and (max-width: 766px){
    #top .av-layout-grid-container.__layout--grid--style--1::before{
        top: -15%;
        width: clamp(220px, 55vw, 340px);
    }
}

/* Skew Section */
.section-skew-bottom{
    clip-path: polygon(
        0 0,
        100% 0,
        100% 100%,
        0 calc(100% - var(--section-skew))
    );
}

.section-skew-top{
    clip-path: polygon(
        0 0,
        100% var(--section-skew),
        100% 100%,
        0 100%
    );
}

#top .section-skew-top .content{padding-top: calc(clamp(40px, 8vh, 60px) + var(--section-skew-space));}
#top .section-skew-bottom .content{padding-bottom: calc(clamp(40px, 8vh, 60px) + var(--section-skew-space));}
#top .avia-section-huge.section-skew-top .content{padding-top: calc(clamp(80px, 12vh, 120px) + var(--section-skew-space));}
#top .avia-section-huge.section-skew-bottom .content{padding-bottom: calc(clamp(80px, 12vh, 120px) + var(--section-skew-space));}

@media (min-width: 768px){
    #top{
        --section-skew: clamp(140px, 3.5vw, 80px);
        --section-skew-space: clamp(40px, 4vw, 90px);
    }
    #top .section-skew-top .content{padding-top: calc(clamp(80px, 15vh, 120px) + var(--section-skew-space));}
    #top .section-skew-bottom .content{padding-bottom: calc(clamp(80px, 15vh, 120px) + var(--section-skew-space));}
    #top .avia-section-huge.section-skew-top .content{padding-top: calc(clamp(180px, 25vh, 290px) + var(--section-skew-space));}
    #top .avia-section-huge.section-skew-bottom .content{padding-bottom: calc(clamp(180px, 25vh, 290px) + var(--section-skew-space));}
}

/* Icon List --> Benefits */
#top .avia-icon-list-container.__benefits ul.av-iconlist-small{
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 2em 3em;
    width: 70%;
    margin-left: auto;
}
#top .avia-icon-list-container.__benefits ul.av-iconlist-small > li{display: inline-flex;align-items: center;gap: 1em;}
#top .avia-icon-list-container.__benefits ul.av-iconlist-small > li .av-icon-char:before{font-size: 1.2em;}
#top .avia-icon-list-container.__benefits ul.av-iconlist-small .iconlist_icon{
    font-size: 1.5em;
    height: 1.5em;
    width: 1.5em;
    min-width: 1.5em;
    line-height: 1.5em;
    margin: 0;
}
#top .avia-icon-list-container.__benefits ul.av-iconlist-small .avia-icon-list article.article-icon-entry{margin-left: 3.5em;}
#top .avia-icon-list-container.__benefits ul.av-iconlist-small > li .av_iconlist_title{font-size: var(--step-1);font-weight: 600;}
#top .avia-icon-list-container.__benefits .av-mmvudjbg-c4902814347fd147d650b12cab656f55 .av-icon-char:before {font-size:1em !important}

@media (max-width: 767px){
    #top .avia-icon-list-container.__benefits ul.av-iconlist-small{
        grid-template-columns: 1fr;
        width: 100%;
        margin-left: 0;
    }
}

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

/*Img Left*/
#top .__img-left{
    position: relative;
    left: calc((100vw - 150%) / -2);
    width: calc(100% + ((100vw - 100%) / 2));
    max-width: none;
}


.__img-left .avia-image-container-inner{
    position: relative;
    overflow: visible;
}

.__img-left .avia-image-container-inner::after{
    content: "";
    position: absolute;
    right: -80px;
    bottom: -60px;
    width: 220px;
    height: 180px;
    background: var(--secondary-color);
    clip-path: polygon(0 20%, 100% 0, 85% 100%, 0 100%);
    pointer-events: none;
    z-index: 3;
}

/* Toggle */
#top section.av_toggle_section .toggler{
    padding: 1em 3em 1em 1rem;
    margin: 0 0 .8em;
    font-size: var(--step-0);
    background: transparent;
    border: 3px solid;
    position: relative;
    transform: skewX(calc(var(--skew) * -1));
}

#top section.av_toggle_section .toggler > *{display: inline-block;transform: skewX(var(--skew));}
#top section.av_toggle_section .toggler:hover{ background: transparent;}
#top section.av_toggle_section .toggler .toggle_icon{display: none;}
#top section.av_toggle_section .single_toggle {overflow: visible;}

#top section.av_toggle_section .toggler:after{
    content: '\e87d';
    font-family: 'entypo-fontello';
    position: absolute;
    right: 1em;
    transition: .2s ease;
    transform: skewX(var(--skew));
}

#top section.av_toggle_section .toggler.activeTitle:after{transform: skewX(var(--skew)) 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;}

/*Masonry*/
h3.av-masonry-entry-title.entry-title {
    font-size: var(--step-0) !important;
}

/*S Section*/
#top .__s-section{position: relative; overflow: visible;}
#top .__s-section::after{
    content: "";
    position: absolute;
    right: -5%;
    top: clamp(80px, 15vw, 290px);
    width: clamp(220px, 32vw, 490px);
    height: 100%;
    opacity: .9;
    background: url('/wp-content/themes/hm-schmidt-child/img/schmidt-s-icon.svg') no-repeat center center;
    background-size: contain;
    pointer-events: none;
    z-index: 1;
}

@media screen and (max-width: 766px){#top .__s-section::after{top: 50%;width: clamp(110px, 30vw, 140px);}}


/* =======================================================================================================================================
Hero
======================================================================================================================================= */
#top .__hero{position: relative;}
#top .__hero .container{max-width: 100% !important; width: 100% !important; margin: 0 !important; padding: 0 !important;}
#top .__hero .content{padding: 0;}
#top .__hero .content .__text{
    padding: 4em 5% 4em 15%; 
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 1em;
}
#top .__hero .content .__text > svg{
    position: absolute;
    top: 0;
    left: 0;
    aspect-ratio: 32/248;
    height: 100%;
    width: auto;
    transition: .4s;
    translate: -25% 0;
}
#top .__hero .content .__text h1,
#top .__hero .content .__text .h1{margin: 0 !important;}
#top .__hero .content .__text p{font-size: var(--step-1); margin: 0 0 2em; max-width: 500px;}
#top .__hero .content figure{position: relative; aspect-ratio: 1920/1280;}
#top .__hero .content figure > img{display: block; position: absolute; top: 0; left: 0; width: 100%; height: 100%; object-fit: cover;}

#top .__hero .content figure > svg{
    position: absolute;
    top: -1px;
    left: -1px;
    aspect-ratio: 316/226;
    width: 75%;
    max-width: 990px;
    mask-image: linear-gradient(to right, #000000, rgb(0 0 0 / 80%));
}

@media (min-width: 990px){
    #top .__hero .content .__wrap{display: flex;}
    #top .__hero .content .__text{
        padding: 20vh 50px 20vh 10%; 
        flex-basis: 0; 
        flex-grow: 1; 
        z-index: 2;
    }
    #top .__hero .content figure{flex-basis: 0; flex-grow: 1;}
}

@media (min-width: 1280px){
    #top .__hero .content .__text{max-width: 44%;}
}

@media (min-width: 1800px) {
    #top .__hero .content .__text{padding-left: calc((100vw - 1600px) / 2);}
    #top .__hero .content .__text > svg{translate: 0 0;}
    #top.single-jobs .__hero .content .__text h1,
    #top.single-jobs .__hero .content .__text .h1{width: 920px;}
}


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

#top input::placeholder,
#top select::placeholder, 
#top textarea::placeholder{
    font-size: var(--step-0);
    opacity: 1;
    color: currentColor;
}

#top form label{
    font-size: var(--step-1); 
    color: currentColor;
    font-weight: 400;
}
#top form label span{
    font-size: 1em;
}

#top form button{
    font-size: var(--step-0);
    font-weight: 600;
    padding: .6em 1.6em;
    margin: 1em 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
    background-color: transparent;
    border: 3px solid var(--primary-color) !important;
    color: var(--primary-color);
    text-decoration: none !important;
    transition: background-color .2s ease, color .2s ease, border-color .2s ease, transform .2s ease;
    transform: skewX(calc(var(--skew) * -1));
    transform-origin: center;
}

#top form button > *{display: inline-block; transform: skewX(var(--skew));}
#top form button:hover{ background: var(--primary-color) !important; color: #fff !important; border-color: var(--primary-color) !important; transform: skewX(calc(var(--skew) * -1)) translateY(-2px);}
html.no-touch-device #top form button:hover{translate: 0 -2px}

/* Formidable */
#top .frm_style_modern-dark-background .frm_form_fields > fieldset{border-radius: 0; padding: var(--fieldset-padding) 5%;}
#top .frm_style_modern-dark-background > form *,
#top .frm_style_modern-dark-background > form input[type=email], 
#top .frm_style_modern-dark-background > form  input[type=input], 
#top .frm_style_modern-dark-background > form  input[type=number], 
#top .frm_style_modern-dark-background > form  input[type=password], 
#top .frm_style_modern-dark-background > form  input[type=search], 
#top .frm_style_modern-dark-background > form  input[type=tel], 
#top .frm_style_modern-dark-background > form  input[type=text], 
#top .frm_style_modern-dark-background > form  input[type=url], 
#top .frm_style_modern-dark-background > form  select, 
#top .frm_style_modern-dark-background > form  textarea{
    color: var(--text-color);
}

#top .frm_style_modern-dark-background > form .frm_submit.frm_flex{justify-content: flex-end;}
#top .frm_style_modern-dark-background > form .frm_dropzone{max-width: 100%;}
#top .frm_style_modern-dark-background > form .frm_dropzone .dz-message{background-color: transparent;}

#top .frm_style_modern-dark-background > form h4{margin-top: .75em !important;}

#top .frm_style_modern-dark-background .frm_form_fields{position: relative;}
#top .frm_style_modern-dark-background .frm_form_fields::after{
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    height: 80px;
    background: var(--third-color);
    transform: skewY(3deg);
    transform-origin: left;
}

@media screen and (max-width: 767px){
    #top .frm_style_modern-dark-background .frm_form_fields > fieldset{
        padding: 1em;
    }
}

#top .frm_upload_text button {border: none !important}
#top .frm_dropzone .dz-message {border: 2px dashed var(--primary-color);}
#top .frm_form_field h4 {font-weight: 500 !important}

.frm_style_modern-dark-background.with_frm_style .form-field input:not([type=file]):not([type=range]):not([readonly]):focus, .frm_style_modern-dark-background.with_frm_style select:focus, .frm_style_modern-dark-background.with_frm_style .form-field textarea:focus, .frm_style_modern-dark-background.with_frm_style .frm_focus_field input[type=text], .frm_style_modern-dark-background.with_frm_style .frm_focus_field input[type=password], .frm_style_modern-dark-background.with_frm_style .frm_focus_field input[type=email], .frm_style_modern-dark-background.with_frm_style .frm_focus_field input[type=number], .frm_style_modern-dark-background.with_frm_style .frm_focus_field input[type=url], .frm_style_modern-dark-background.with_frm_style .frm_focus_field input[type=tel], .frm_style_modern-dark-background.with_frm_style .frm_focus_field input[type=search], .frm_form_fields_active_style, .frm_style_modern-dark-background.with_frm_style .frm_focus_field .frm-card-element.StripeElement {
    background-color: transparent !important;
	border-color: var(--primary-color) !important;}

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

/* =======================================================================================================================================
Footer
======================================================================================================================================= */
#footer{padding-top: clamp(80px, 16vw, 200px); padding-bottom: clamp(80px, 16vw, 200px); font-size: var(--step-0); margin-top: 190px; position: relative; overflow: visible;}
#footer *{font-size: 1em;}
#footer .widget{margin: 0; overflow: visible;}
#footer .container{
    display: flex;
    flex-wrap: wrap;
    gap: 1em 6em;
}
#footer .container::before,
#footer .container::after{display: none;}
#footer .container .flex_column{width: auto !important; margin: 0 !important; float: unset;}
#footer .container .flex_column:nth-child(1){margin-right: auto !important;}
#footer .container .flex_column:nth-child(1) img{width: auto; height: clamp(22px, 4vw, 44px) !important;}

@media screen and (max-width: 1279px){
    #footer .container .flex_column:nth-child(1){width: 100%; flex-basis: 100%;}    
	#footer{margin-top: 80px;}	
}

@media screen and (max-width: 767px){#footer p {margin: 0}}

/* große dunkle Schräge */
#footer::after{
    content: "";
    position: absolute;
    left: 0;
    bottom: 100%;
    width: 100%;
    height: clamp(50px, 10vw, 140px);
    background: var(--primary-color);
    pointer-events: none;
    clip-path: polygon(
        0 0,
        100% 100%,
        100% 100%,
        0 100%
    );
}

/* blaue Schräge rechts */
#footer::before{
    content: "";
    position: absolute;
    right: 0;
    bottom: 100%;
    width: clamp(140px, 40%, 780px);
    height: clamp(55px, 11vw, 150px);
    background: var(--secondary-color);
    pointer-events: none;
    clip-path: polygon(
        0 100%,
        100% 30%,
        100% 100%
    );
}

@media (max-width: 767px){
    #footer::after{
        height: clamp(35px, 7vw, 60px);
    }

    #footer::before{
        width: clamp(90px, 32%, 180px);
        height: clamp(35px, 8vw, 70px);
    }
}

@media screen and (max-width: 1279px){
    #footer .container .flex_column:nth-child(1){width: 100%; flex-basis: 100%;}    
}

#socket{font-size: var(--step--1)}
#socket .container{
    padding-top: 3em; 
    padding-bottom: 6em;
    display: flex;
    flex-wrap: wrap;
    gap: 1em 6em;
    justify-content: space-between;
}
#socket .container:after{display: none;}
#socket .container .copyright{float: none;}
#socket .container .copyright ul.__social--media--icons{margin: 0 2em 0 0;}
#socket .container nav.sub_menu_socket{float: none; margin: 0;}
#socket .container nav.sub_menu_socket div{overflow: visible;}
#socket .container nav.sub_menu_socket ul.menu{margin: 0; display: flex; gap: 1em;}
#socket .container nav.sub_menu_socket ul.menu li{float: none; line-height: inherit; padding: 0;}

@media screen and (max-width: 767px){
    #socket .container .copyright ul.__social--media--icons{display: flex; margin: 0 0 1em 0;}
}


#socket::before{
    content: '';
    position: absolute;
    top: 0;
    right: 0;
    width: 100%;
    height: 5px;
    background: var(--secondary-color);
    display: block;
}

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