/*
 Theme Name:   TeGe Deutschland GmbH
 Description:  TeGe Deutschland GmbH - WordPress Child Theme
 Author:       Neckarmedia
 Author URI:   https://www.neckarmedia.com
 Template:     enfold
 Version:      1.0
*/

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


/* @link https://utopia.fyi/type/calculator?c=375,16,1.15,1700,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.72rem, 0.7664rem + -0.0436vw, 0.7561rem);
  --step--1: clamp(0.8696rem, 0.861rem + 0.0368vw, 0.9rem);
  --step-0: clamp(1rem, 0.9646rem + 0.1509vw, 1.125rem);
  --step-1: clamp(1.15rem, 1.0775rem + 0.3094vw, 1.4063rem);
  --step-2: clamp(1.3225rem, 1.1993rem + 0.5257vw, 1.7578rem);
  --step-3: clamp(1.5209rem, 1.3294rem + 0.8168vw, 2.1973rem);
  --step-4: clamp(1.749rem, 1.4667rem + 1.2046vw, 2.7466rem);
  --step-5: clamp(2.0114rem, 1.6089rem + 1.717vw, 3.4332rem);
  --step-6: clamp(2.3131rem, 1.7531rem + 2.3891vw, 4.2915rem);
  --step-7: clamp(2.66rem, 1.8946rem + 3.2657vw, 5.3644rem);
  --step-8: clamp(3.059rem, 2.027rem + 4.4033vw, 6.7055rem);
}

:root {
    --primary-font: 'Outfit', sans-serif;
    --heading-font: 'Outfit', sans-serif;
    --connection-green: #0F3C2A;
    --signal-orange: #EF7C4B;
    --wire-green: #6CB85E;
    --soft-green: #C2DEB6;
    --light-grey: #f2f2f2;
}


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

#top h1{font-size: var(--step-7); line-height: 1.1;}
#top h2{font-size: var(--step-5);}
#top h3{font-size: var(--step-2);}
#top h4{font-size: var(--step-1);}
#top h5{font-size: var(--step-0); text-transform: uppercase !important;}
#top h6{font-size: var(--step--1); text-transform: uppercase !important;}

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

b,strong{font-weight: 600 !important;}
#main p a:not(:has(img)),
#main .avia_textblock ul a:not(:has(img)){position: relative; color: var(--wire-green);}
#main p a:not(:has(img))::before,
#main .avia_textblock ul a:not(:has(img))::before{
    content: '';
    height: 5%;
    width: 100%;
    background: var(--wire-green);
    display: inline-block;
    position: absolute;
    bottom: 0;
    z-index: -1;
    transition: .2s;
}
#main p a:not(:has(img)):hover::before,
#main .avia_textblock ul a:not(:has(img)):hover::before{
    height: 90% !important; 
    opacity: .2 !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 mark{color: var(--wire-green) !important;}

/* Button */
#top div .avia-button{
    font-size: var(--step-1);
    font-weight: 500;
    padding: .3em 1em;
    border-radius: 1.5em;
    border-width: 2px !important;
    border-style: solid;
    transition: .2s ease;
    line-height: 1.25;
    margin: 0 .5em 0 0;
    color: var(--connection-green);
}
#top div .avia-button.avia-color-theme-color{background-color: var(--soft-green) !important; border-color: var(--soft-green) !important; color: var(--connection-green) !important;}
#top div .avia-button.avia-color-dark{background-color: transparent !important; border-color: var(--wire-green) !important; color: var(--connection-green) !important;}
#top div .avia-button.avia-color-light{border: 1px solid #fff !important;}
#top div .avia-button.avia-color-theme-color-highlight{background-color: var(--connection-green) !important; border-color: var(--signal-orange) !important; color: #fff !important;}
#top div .avia-button:hover{opacity: 1}
html.no-touch-device #top div .avia-button:hover{translate: 0 0}

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

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


/* =======================================================================================================================================
Header
======================================================================================================================================= */
#header_main{border-top: 0;}
.page-id-20 #header_main{border-bottom: 0;}
.responsive #top .header_bg{opacity: 1;}

@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{position: relative;}
    #header .inner-container > nav{order: 3; position: relative;}
    #top #header #header_main > .container{transition: .2s;}
    #top #header.scrolled #header_main > .container{height: 80px; line-height: 80px;}
}

/* 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; transition: .4s;}
#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: 35px !important;}

@media only screen and (min-width: 990px){
    #header_main .inner-container > .logo a svg,
    #header_main .inner-container > .logo a img{height: 70px !important;}
    #header.scrolled #header_main .inner-container > .logo{translate: 0 -100%; opacity: 0;}
}

/* Navigation */
#header_main .inner-container > nav{display: none !important;}


/* =======================================================================================================================================
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;}
.avia_codeblock_section{clear: both;}

.av-layout-grid-container{
    padding-top: 12vh;
    padding-bottom: 12vh;
}

@media only screen and (min-width: 1800px){
    .av-layout-grid-container{
        padding-left: calc((100vw - 1700px) / 2);
        padding-right: calc((100vw - 1700px) / 2);
    }
}

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

/* Images Circle */
#top .avia-image-container.av-styling-circle{position: relative; max-width: 620px;}
#top .avia-image-container.av-styling-circle img{
    aspect-ratio: 1;
    object-fit: cover;
    border-radius: 50%;
}
#top .avia-image-container.av-styling-circle::before{
    content: '';
    width: 560px;
    height: 200px;
    position: absolute;
    top: 40%;
    right: 80%;
    transform: rotate(315deg) scale(.8);
    transform-origin: center right;
    background: linear-gradient(90deg, #0f3c2a, var(--wire-green));
    z-index: 1;
    border-radius: 100px;
    pointer-events: none;
    transition: 1s;
}
#top .avia-image-container.av-styling-circle::after{
    content: '';
    width: 560px;
    height: 200px;
    position: absolute;
    top: 60%;
    right: 80%;
    transform: rotate(315deg) scale(.5);
    transform-origin: center right;
    background: linear-gradient(90deg, #0f3c2a, var(--wire-green));
    z-index: 1;
    border-radius: 100px;
    pointer-events: none;
    transition: 1s;
}
#top .avia-image-container.av-styling-circle .avia-image-container-inner{overflow: visible;}
#top .avia-image-container.av-styling-circle .avia-image-container-inner:after{
    content: '';
    width: 50%;
    aspect-ratio: 1;
    background-image: url('/wp-content/uploads/2025/07/freepik__a-modern-control-room-with-multiple-computer-works__20579.webp');
    background-size: cover;
    display: block;
    position: absolute;
    bottom: 0;
    right: 0;
    border-radius: 50%;
    pointer-events: none;
    translate: 40% 10%;
}


/* 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-4);
    margin: 0 0 1em 0;
    line-height: 1;
}
#top ul.__social--media--icons > li{font-size: 1em; line-height: 1;}
#top ul.__social--media--icons > li > a{padding: .2em .4em; display: inline-block;}
#top ul.__social--media--icons > li.av-social-link-linkedin > a:before{content: '\e8fd';}


/* =======================================================================================================================================
Hero
======================================================================================================================================= */
#top .__hero--dev{overflow: hidden;}
#top .__hero--dev .entry-content-wrapper{
    display: flex;
    gap: 2em 6em;
    flex-wrap: wrap;
}
#top .__hero--dev .entry-content-wrapper::before,
#top .__hero--dev .entry-content-wrapper::after{display: none;}
#top .__hero--dev .entry-content-wrapper .flex_column{
    margin: 0 !important;
    width: auto;
    flex-grow: 1;
    flex-basis: 0;
    min-width: 320px;
}
#top .__hero--dev .container::before{
    content: '';
    width: 480px;
    aspect-ratio: 1/1;
    position: absolute;
    bottom: 0;
    left: 0;
    border-radius: 50%;
    transform: translate(-30%, 30%) rotate(70deg);
    background-image: url(img/circle-svg.svg);
    pointer-events: none;
}

#top .__hero--dev .entry-content-wrapper .flex_column:nth-child(2) .avia-video{
    margin: 2vh 0 8vh;
    height: auto;
    aspect-ratio: 1;
    background-color: transparent;
}
#top .__hero--dev .entry-content-wrapper .flex_column:nth-child(2) .avia-video *{
    position: absolute;
    display: block;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
}
#top .__hero--dev .entry-content-wrapper .flex_column:nth-child(2) .avia-video .mejs-controls{display: none;}
#top .__hero--dev .entry-content-wrapper .flex_column:nth-child(2) .avia-video video{
    object-fit: cover;
    border-radius: 50%;
    overflow: hidden;
}
#top .__hero--dev .entry-content-wrapper .flex_column:nth-child(2) .avia-video::before{
    content: '';
    width: 560px;
    height: 200px;
    position: absolute;
    top: -30%;
    right: -23%;
    transform: rotate(316deg) scale(1.25);
    transform-origin: center right;
    background: linear-gradient(-90deg, #0f3c2a, var(--wire-green));
    z-index: -1;
    border-radius: 100px;
    pointer-events: none;
    transition: 1s;
}
#top .__hero--dev .entry-content-wrapper .flex_column:nth-child(2) .avia-video::after{
    content: '';
    width: 560px;
    height: 200px;
    position: absolute;
    bottom: 10%;
    right: 0;
    transform: rotate(316deg);
    transform-origin: center right;
    background: linear-gradient(90deg, #0f3c2a, var(--wire-green));
    z-index: 10;
    border-radius: 100px;
    pointer-events: none;
    transition: 1s;
}

@media (min-width: 990px){
    #top .__hero--dev .entry-content-wrapper .flex_column:nth-child(1) .avia_codeblock_section,
    #top .__hero--dev .entry-content-wrapper .flex_column:nth-child(1) .avia-buttonrow-wrap{padding-left: 33%;}
}


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


/* =======================================================================================================================================
Fab - Floating action button
======================================================================================================================================= */
#fab{
    position: fixed;
    right: 1rem;
    bottom: 30%;
    z-index: 1000;
}
#fab > button{
    all: unset;
    font-size: 2.5rem;
    width: 1.75em;
    height: 1.75em;
    display: grid;
    place-content: center;
    border-radius: 50%;
    background-color: var(--signal-orange);
    color: var(--connection-green);
    cursor: pointer;
    transition: .2s;
}
#fab:hover > button{
    scale: 1.05;
}
#fab > div{
    position: absolute;
    background-color: var(--signal-orange);
    padding: 1.5em 4em 1.5em 1.5em;
    border-radius: 2em;
    bottom: .5rem;
    right: .5rem;
    width: 320px;
    max-width: 84vw;
    color: #000;
    opacity: 0;
    visibility: hidden;
    z-index: -1;
    pointer-events: none;
    transition: opacity .2s;
}
#fab > button.clicked{scale: 1.1;}
#fab:hover > div,
#fab > button.clicked + div{
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
}
#fab > div p{margin: 0;}
#fab > div a{color: inherit;}

@media (max-width: 767px){
    #fab{bottom: 10%;}
}


/* =======================================================================================================================================
Footer
======================================================================================================================================= */
#footer{padding: 10vh 0 2em}
#footer .container::before{
    content: '';
    position: absolute;
    top: calc(-10vh - 6px);
    left: calc(-1 * (100vw - 94%) / 2);
    width: calc(100% + ((100vw - 100%) / 2));
    height: 12px;
    background-color: var(--wire-green);
    border-top-right-radius: 6px;
    border-bottom-right-radius: 6px;
    transition: 1s;
}
#footer .container::after{
    content: '';
    position: absolute;
    bottom: -2em;
    left: 0;
    width: 360px;
    height: auto;
    aspect-ratio: 441/357;
    background-image: url(img/footer-graphics.svg);
    background-size: contain;
    background-repeat: no-repeat;
    visibility: visible;
    pointer-events: none;
    transform: translate(-30%, 30%);
    transition: 1s;
}

#footer .widget{margin: 2em 0;}
#footer .widget .__flex{
    display: flex;
    gap: 0 2em;
    flex-wrap: wrap;
}

#footer .container{
    display: flex;
    flex-wrap: wrap;
    gap: 2em;
    align-items: flex-end;
}
#footer .container > .flex_column{
    margin: 0 !important; 
    width: auto; 
    flex-basis: 0; 
    flex-grow: 1;
    min-width: 320px;
}
#footer .container > .flex_column:nth-child(1){flex-grow: .5; align-self: flex-start;}
#footer ul.__social--media--icons{justify-content: flex-end;}

#footer a{color: #fff !important; text-decoration: none;}
#top #wrap_all .av-social-link-linkedin:hover a{background: transparent;}
#top #wrap_all .av-social-link-linkedin:hover a:before{color: #419cca}

@media (max-width: 1280px){
    #footer .container::after{
        left: unset;
        right: 0;
        transform: translate(60%, 30%);
    }
}

@media (max-width: 767px){
    #footer .widget{margin: 1em 0;}
}



#socket{font-size: var(--step-0); border: 0;}
#socket .container{
    padding-top: 2rem; 
    padding-bottom: 6rem;
    display: flex;
    gap: 2em 4em;
    flex-wrap: wrap;
    justify-content: space-between;
    line-height: 1.25;
}
#socket .container:after{display: none;}
#socket .container > *{max-width: 100%; float: none; margin: 0; overflow: inherit;}
#socket .container .copyright{order: 1;}
#socket .sub_menu_socket{margin: 0 !important;}
#socket .sub_menu_socket > div{overflow: inherit;}
#socket .sub_menu_socket ul.menu{display: flex; gap: 2em; margin: 0;}
#socket .sub_menu_socket ul.menu li{line-height: 1.25; padding: 0; border: 0; overflow: inherit;}

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