/*
 Theme Name:   Jobcenter Konstanz
 Theme URI:    https://www.neckarmedia.com
 Description:  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,1770,18,1.125,10,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.6944rem, 0.6422rem + 0.223vw, 0.8889rem);
  --step--1: clamp(0.8333rem, 0.7885rem + 0.1912vw, 1rem);
  --step-0: clamp(1rem, 0.9664rem + 0.1434vw, 1.125rem);
  --step-1: clamp(1.2rem, 1.1824rem + 0.0753vw, 1.2656rem);
  --step-2: clamp(1.4238rem, 1.4443rem + -0.0185vw, 1.44rem);
  --step-3: clamp(1.6018rem, 1.7619rem + -0.1447vw, 1.728rem);
  --step-4: clamp(1.802rem, 2.1466rem + -0.3115vw, 2.0736rem);
  --step-5: clamp(2.0273rem, 2.6123rem + -0.5288vw, 2.4883rem);
  --step-6: clamp(2.2807rem, 3.1756rem + -0.8089vw, 2.986rem);
  --step-7: clamp(2.5658rem, 3.8567rem + -1.1669vw, 3.5832rem);
  --step-8: clamp(2.8865rem, 4.6797rem + -1.621vw, 4.2998rem);
  --step-9: clamp(3.2473rem, 5.6739rem + -2.1935vw, 5.1598rem);
  --step-10: clamp(3.6532rem, 6.8741rem + -2.9115vw, 6.1917rem);
}

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

:root {
    --jobcenter-kn-white: #ffffff;
    --jobcenter-kn-gray: #ebebeb;
    --jobcenter-kn-blue: #123668;
    --jobcenter-kn-green: #cbd692;
    --primary-font: 'Host_Grotesk', sans-serif;
    --heading-font: 'Host_Grotesk', sans-serif;
}


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

#top h1{font-size: var(--step-4);} /* SEO H1 */
#top h2{font-size: var(--step-6);} /* SEO H2 */
#top h3{font-size: var(--step-2);}
#top h4{font-size: var(--step-1);}
#top h5{font-size: var(--step-0);}
#top h6{font-size: var(--step-0);}

/* Optical Headers */
#top .avia_textblock.__optical_h1 p{font-size: var(--step-10); font-weight: 500; line-height: 1.2em;} /* Optical H1 */
#top .avia_textblock.__optical_h2 p{font-size: var(--step-8); font-weight: 500; margin: 0px; line-height: 1.2em;} /* Optical H2 */

#top .special_amp{color: inherit; font-family: inherit; font-size: inherit; font-style: inherit; font-weight: inherit;}
#top .av-special-heading{padding: 0 !important; margin-top: 15px;}
#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{ /* dark-blue-button */
    font-size: var(--step--1);
    font-weight: 500;
    padding: 0.6em 1.4em;
    background: var(--jobcenter-kn-blue);
    border:0px;
    border-radius: 0px 110px 110px 110px;
    color: var(--jobcenter-kn-white);
    text-decoration: none !important;
    -webkit-transition: .2s ease;
    -o-transition: .2s ease;
    transition: .2s ease;
}

/* Dark-Blue Button */
#top div .avia-button.avia-color-theme-color{color: var(--jobcenter-kn-white); border: 0px;}
/* Dark-Green Button */
#top div .avia-button.avia-color-dark{color: var(--jobcenter-kn-white); background-color: #53806A; border:0px;}
/* Light-Green Button */
#top div .avia-button.avia-color-light{color: var(--jobcenter-kn-blue); background-color: var(--jobcenter-kn-green); border:0px;}
/* Light-Blue Button */
#top div .avia-button.avia-color-theme-color-highlight{color: #000; background-color: #88c4e2; border:0px;}
#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); 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
======================================================================================================================================= */
#header:not(.av_header_transparency){
    -webkit-box-shadow: 0 1px 1px rgba(0,0,0,0.02), 0 2px 2px rgba(0,0,0,0.02), 0 4px 4px rgba(0,0,0,0.02), 0 6px 8px rgba(0,0,0,0.02), 0 8px 16px rgba(0,0,0,0.02);
    box-shadow: 0 1px 1px rgba(0,0,0,0.02), 0 2px 2px rgba(0,0,0,0.02), 0 4px 4px rgba(0,0,0,0.02), 0 6px 8px rgba(0,0,0,0.02), 0 8px 16px rgba(0,0,0,0.02);
}

@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: 160px}

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

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

/* 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 section.av_toggle_section .toggler{padding: 1em 3em 1em 1rem; margin: 0 0 .8em; font-size: var(--step-0); background: transparent; border: 1px solid; border-radius: .5em}
#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--1);}

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


/* =======================================================================================================================================
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-size: var(--step--1);
    font-weight: 700;
    padding: 1em 2em;
    border-radius: .5em;
    background: var(--enfold-main-color-color);
    color: var(--enfold-main-color-bg);
	border: 1px solid var(--enfold-main-color-color);
    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);
}


/* =======================================================================================================================================
Footer
======================================================================================================================================= */
#footer{padding: 2rem 0}

#socket{font-size: var(--step--1);}
#socket .container{padding-top: 1rem; padding-bottom: 4rem;}


/* =======================================================================================================================================
Geschaeftsstelle
======================================================================================================================================= */
#top #main .avia-section .template-page {
    width: calc(100% - var(--gs-pd-left) - var(--gs-pd));
    margin: 15px 0;
    justify-self: center;
    box-sizing: content-box;
}

:root{--gs-pd-left: 60px; --gs-pd: 25px;}
#top .__geschaeftsstelle-section > .container > .content {
    background-color: var(--jobcenter-kn-gray);
    padding: var(--gs-pd) var(--gs-pd) var(--gs-pd) var(--gs-pd-left)  !important;
    border-radius: 30px;
}

#top .__geschaeftsstelle-section > .container > .content img{border-radius: 30px;}
#top .__geschaeftsstelle-section > .container > .content .av_multi_colums{
    display: grid;
    grid-auto-flow: column;
    grid-template-columns: 180px auto;
    gap: 2em;
}

#top .__geschaeftsstelle-section > .container > .content .av_multi_colums p:nth-of-type(1){font-size: var(--step-1);}
#top .__geschaeftsstelle-section > .container > .content .av_multi_colums p:nth-of-type(2){font-size: var(--step-0);}
#top .__geschaeftsstelle-section > .container > .content .__geschaeftsstelle-section-title p{
    font-size: var(--step-4);
    font-weight: 500;
    padding: 45px 0 30px;
}
