/*
 Theme Name:   Indeca
 Theme URI:    https://www.neckarmedia.com
 Description:  Indeca Business GmbH Wordpress Child Theme
 Author:       Antonello Vertucci
 Author URI:   https://www.neckarmedia.com
 Template:     indeca
 Version:      1.0
*/


/* latin */
@font-face {
  font-family: 'Outfit';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url(fonts/QGYvz_MVcBeNP4NJtEtqUYLknw.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin */
@font-face {
  font-family: 'Outfit';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(fonts/QGYvz_MVcBeNP4NJtEtqUYLknw.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin */
@font-face {
  font-family: 'Outfit';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(fonts/QGYvz_MVcBeNP4NJtEtqUYLknw.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin */
@font-face {
  font-family: 'Outfit';
  font-style: normal;
  font-weight: 900;
  font-display: swap;
  src: url(fonts/QGYvz_MVcBeNP4NJtEtqUYLknw.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}


/* =======================================================================================================================================
Global
======================================================================================================================================= */
:root{
    --blue: #064281;
    --lightblue: #D0DCEA;
    --azur: #064281;
    --yellow: #33CCFF;
    --orange: #33CCFF;
}


/* =======================================================================================================================================
Typo
======================================================================================================================================= */
html{font-size: 18px; background-color: #f2f2f2; -webkit-tap-highlight-color: transparent;}
body{-webkit-font-smoothing: antialiased;}
body,p{font-family: 'Outfit', 'Arial', sans-serif; font-weight: 300; font-size: 1rem; line-height: 1.6;}
h1,h2,h3,h4,h5,h6{font-family: 'Outfit', 'Arial', sans-serif; font-weight: 900 !important; letter-spacing: 0 !important; text-transform: inherit !important; line-height: 1.3}
#top .main_color a,
#top .alternate_color a{color: var(--azur); text-decoration-line: none; text-underline-offset: 0.25em; text-decoration-thickness: 1px;}

#top .special_amp{color: inherit; font-family: inherit; font-size: inherit; font-style: inherit; font-weight: inherit;}
#top .special-heading-border{display: none !important;}

#top .av-subheading_above p{font-weight: 900;}

#top .__subheading{position: absolute; top: -22px; height: 40px; line-height: 40px;}
#top .__subheading p{position: relative; white-space: nowrap; font-size: 1rem; font-weight: 900; color: var(--blue); display: inline-block; margin: 0;}
#top .__subheading p:before{
    content: '';
    width: 100vw;
    height: 1px;
    background: rgb(0 0 0 / 15%);
    position: absolute;
    left: calc(-100vw - 20px);
    top: 50%;
}
#top .__subheading p:after{
    content: '';
    width: 100vw;
    height: 1px;
    background: rgb(0 0 0 / 15%);
    position: absolute;
    right: calc(-100vw - 20px);
    top: 50%;
}

#top h1{font-size: 2rem;}
#top h2{font-size: 1.5rem; margin-bottom: .5em;}
#top h3{font-size: 1.2rem;}

@media only screen and (min-width: 768px){
    body,p{font-size: 1.33rem;}
    #top h1{font-size: 2.33rem;}
    #top h2{font-size: 2rem;}
    #top h3{font-size: 1.5rem;}
}

@media only screen and (min-width: 990px){
    #top h1{font-size: 2.66rem;}
    #top h2{font-size: 2.66rem;}
    #top h3{font-size: 2rem;}
    #top .__subheading p{font-size: 1.33rem;}
}

#top .alternate_color .togglecontainer p.toggler {
    background: transparent;
    color: #fff;
    border-bottom: 1px solid #fff;
}
#top .alternate_color .togglecontainer p.toggler:hover, #top .alternate_color .togglecontainer p.toggler.activeTitle {
    color: #fff;
    border-color: #fff;
}

.alternate_color .av-elegant-toggle .toggle_icon {
    opacity: 1;
}


/* Button */
#top div .avia-button{
    position: relative;
    min-width: 275px;
    display: inline-flex;
    align-items: center;
    padding: 1em 3em 1em 1.25em;
    font-size: .88rem;
    background-color: var(--blue);
    border: 1px solid var(--blue) !important;
    border-radius: 0;
    font-weight: 700;
    transition: .15s ease;
    text-align: left;
    color: #fff !important;
    cursor: pointer;
}
#top div .avia-button-wrap{max-width: 100%;}
#top div .avia-button .avia_iconbox_title{
    flex: 1;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
#top div .avia-button:after{
    content: "\e875";
    font-family: 'entypo-fontello';
    position: absolute;
    right: 0.75em;
    top: .33em;
    font-size: 2em;
    line-height: 1;
    color: var(--yellow) !important;
}
#top div .avia-button:hover{opacity: 1; background-color: var(--yellow) !important; border-color: var(--yellow) !important; color: #000 !important;}
#top div .avia-button:hover:after{color: #000 !important;}

#top div .avia-button.avia-color-dark{color: var(--blue); border-color: var(--blue) !important; color: var(--blue) !important;}
#top div .avia-button.avia-color-dark:hover{border-color: #000 !important; color: #000 !important; background: transparent !important;}

@media only screen and (min-width: 768px){
    #top div .avia-button{font-size: 1rem;}
}

/* Button Alternate */
#top .alternate_color div .avia-button{opacity: 1; background-color: var(--yellow) !important; border-color: var(--yellow) !important; color: #000 !important;}
#top .alternate_color div .avia-button:after{color: #000 !important;}
#top .alternate_color div .avia-button:hover{ background-color: var(--blue) !important; border: 1px solid var(--yellow) !important; color: #fff !important; }
#top .alternate_color div .avia-button:hover:after{color: var(--yellow) !important;}

/* List */
.avia_textblock ul,
.toggle_content ul{list-style: none;}
.avia_textblock ul li,
.toggle_content ul li{margin: 0; padding-left: 1em; position: relative;}
.avia_textblock ul li:before,
.toggle_content ul li:before{content: '\e875'; font-family: 'entypo-fontello'; position: absolute; left: 0; color: var(--blue);}
#top .alternate_color .toggle_content ul li:before{color: white;}


/* =======================================================================================================================================
Header
======================================================================================================================================= */
#header .container{max-width: 100% !important;}

@media only screen and (max-width: 989px){
    .responsive #top #wrap_all #header,
    .responsive.html_mobile_menu_tablet #top #wrap_all #header{height: 80px !important; position: fixed; top: 0; left: 0; right: 0;}
    .responsive #top #wrap_all #header .container .inner-container{border-bottom: 1px solid rgb(0 0 0 / 15%);}
    .responsive.html_mobile_menu_tablet #top #header_main > .container .main_menu .av-main-nav > li > a, 
    .responsive.html_mobile_menu_tablet #top #wrap_all .av-logo-container{height: 80px; line-height: 80px;}
}

/* Header Animation */
@media only screen and (min-width: 1720px){
    #header.__scrolled .av-logo-container .inner-container .logo{transform: translateY(-40px); opacity: 0;}
    #header.__scrolled .av-logo-container .inner-container #logo_sym > span{opacity: 1; top: 80px;}
    #header.__scrolled .av-logo-container .inner-container nav.main_menu{left: 12.5% !important;}
}

/* Logo */
#header .av-logo-container .inner-container .logo a img,
#header .av-logo-container .inner-container .logo a svg{width: 109px;}

#header .av-logo-container .inner-container #logo_sym{position: absolute; left: 22px; line-height: 1; top: 50%; transform: translateY(-50%);}
#header .av-logo-container .inner-container #logo_sym > a img{width: 32px; display: block;}
#header .av-logo-container .inner-container #logo_sym > span{
    white-space: nowrap;
    font-size: 12px;
    color: #000;
    line-height: 25px;
    font-weight: 700;
    letter-spacing: 2px;
    position: absolute;
    right: 20px;
    top: 280px;
    height: 25px;
    transform: rotate(-90deg);
    transform-origin: right;
    display: block;
    opacity: 0;
    transition: .6s ease .2s;
}

@media only screen and (max-width: 989px){
    #header .av-logo-container .inner-container .logo{margin-left: 38px !important; right: inherit;}
    #header .av-logo-container .inner-container #logo_sym{left: 0;}
    #header .av-logo-container .inner-container #logo_sym > span{display: none;}
}

@media only screen and (min-width: 990px){
    #header .av-logo-container .inner-container .logo{left: 70px; right: unset; transition: .3s ease;}
    #header .av-logo-container .inner-container .logo a img,
    #header .av-logo-container .inner-container .logo a svg{width: 140px;}
	#header .av-logo-container .inner-container #logo_sym > a img{width: 41px;}
}

/* Navigation */
@media only screen and (max-width: 989px){
    .responsive.html_logo_right #top #wrap_all .av_mobile_menu_tablet .main_menu{left: inherit !important; right: 0;}
}

@media only screen and (min-width: 990px){
    #header_main .inner-container > nav{left: clamp(230px, 12vw, 330px) !important; transition: .6s cubic-bezier(0.18, 0.89, 0.32, 1.28)}
    #header_main .inner-container > nav ul#avia-menu > li > a{font-size: 16px; color: var(--blue); font-weight: 400;}
    #header_main .inner-container > nav ul#avia-menu li > a > .avia-menu-text{position: relative; display: inline-block; line-height: 1.3; transition: .2s ease; font-weight:700;}
    #header_main .inner-container > nav ul#avia-menu > li > a > .avia-menu-text:after{content: ''; width: 100%; height: 1px; position: absolute; bottom: -4px; left: 0; right: 0; background-color: var(--azur); transition: .2s ease;}
    #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{transform: translateY(-2px); color: #000;}
    #header_main .inner-container > nav ul#avia-menu > li > a:hover > .avia-menu-text:after,
    #header_main .inner-container > nav ul#avia-menu > li.current-menu-item > a > .avia-menu-text:after{bottom: -8px; background-color: #000;}
    #header_main .inner-container > nav ul#avia-menu > li ul li > a{font-size: 16px; color: var(--blue); font-weight: 400; border: 0}
}

@media only screen and (min-width: 1280px){
    #header_main .inner-container > nav ul#avia-menu > li > a,
    #header_main .inner-container > nav ul#avia-menu > li ul li > a{font-size: 18px;}
}

/* Burger menu */
#top .header_color .av-hamburger-inner, 
#top .header_color .av-hamburger-inner::before, 
#top .header_color .av-hamburger-inner::after {
    background-color: var(--blue) !important;
}
.av-burger-overlay-inner, 
.av-burger-overlay-bg{text-align: left;}
.av-burger-overlay-bg{background: #fff; opacity: 1}
.av-burger-overlay-inner, .av-burger-overlay-bg{min-height: inherit;}
#top #wrap_all #header #av-burger-menu-ul{padding: 80px 0 0 0 !important; vertical-align: top;}
#top #wrap_all #header #av-burger-menu-ul > li{font-size: inherit;}
#top #wrap_all #header #av-burger-menu-ul > li ul.sub-menu li a {font-size: clamp(20px, 3vw, 42px); padding: .25em 2em;}
#top #wrap_all #header #av-burger-menu-ul > li a{padding: .25em 1em; font-size: clamp(24px, 5vw, 42px); line-height: 1.2; color: var(--blue); font-weight: 700;}

#top #wrap_all #header #av-burger-menu-ul > li a .avia-menu-text{ text-decoration-line: underline; text-underline-offset: 0.25em; text-decoration-thickness: 1px;}


/* =======================================================================================================================================
Layout
======================================================================================================================================= */
#top #main{overflow: hidden;}
#top .container{max-width: 1440px}
#top .container_wrap{border: 0;}

@media only screen and (max-width: 989px){
    .responsive #top #main,
    .responsive.html_mobile_menu_tablet.html_header_top #top #main{padding-top: 80px !important;}
}

@media only screen and (min-width: 990px){
    #top,html,#wrap_all{overflow-x: inherit !important;}
    #top #wrap_all{ box-shadow: 0 0 10px #0000000f; overflow-y: inherit;}
}


/*Service*/

@media only screen and (max-width: 767px){
	#top #service .container .template-page .post-entry .entry-content-wrapper .flex_column {width: 20%;}
}

@media only screen and (max-width: 500px){
	#top #service .container .template-page .post-entry .entry-content-wrapper .flex_column {width: 100%;}
}

/* Full section */
#top .__section--full .container{max-width: 100% !important; width: 100% !important; padding: 0 10px !important;}

@media only screen and (min-width: 990px){
    #top .__section--full .container{padding: 0 20px !important;}
}

/* Page title section */
#top .__section--page--title .post-entry,
#top .__section--page--title .entry-content-wrapper{height: 100%;}
#top .__section--page--title .entry-content-wrapper{display: flex; flex-direction: column;}
#top .__section--page--title .entry-content-wrapper > .hr{flex: 1 1 auto;}
#top .__section--page--title.avia-section.av-minimum-height .container .content{vertical-align: top;}
#top .__section--page--title{position: relative;}
#top .__section--page--title h1{max-width: 620px;}
#top .__section--page--title:before{
    content: '';
    width: 800px;
    height: 800px;
    position: absolute;
    top: 0;
    left: 0;
    right: 50%;
    background: rgb(208,220,234);
    background: radial-gradient(circle, rgba(208,220,234,.75) 0%, rgba(208,220,234,0) 75%);
}
#top .__section--page--title .av_textblock_section{max-width: 767px;}

/* Blue Cloud */
#top .__section--blue--cloud{position: relative;}
#top .__section--blue--cloud:before{
    content: '';
    width: 800px;
    height: 800px;
    position: absolute;
    top: 0;
    left: -15%;
    background: rgb(208,220,234);
    background: radial-gradient(circle, rgba(208,220,234,.75) 0%, rgba(208,220,234,0) 75%);
}

/* Alternate Color */
.alternate_color .avia_textblock ul li:before{color: #fff;}

/* Masonry */
#top .av-masonry{overflow: visible;}
#top .av-masonry .av-masonry-sort{text-align: left; margin-bottom: 2em !important;}
#top .av-masonry .av-masonry-sort .av-sort-by-term > .text-sep{opacity: 0;}
#top .av-masonry .av-masonry-sort .av-sort-by-term > a{color: var(--azur); font-size: 1rem;}
#top .av-masonry .av-masonry-sort .av-sort-by-term > a.active_sort{color: #000;}
#top .av-masonry .av-masonry-container .av-masonry-entry:not(.av-masonry-item-no-image){margin-bottom: 1em}
#top .av-masonry .av-masonry-container .av-masonry-entry figure{overflow: visible;}
#top .av-masonry .av-masonry-container .av-masonry-entry figure .av-masonry-outerimage-container{border-radius: 8px; overflow: hidden; background: transparent; box-shadow: 0 15px 30px rgb(0 0 0 / 10%);}
#top .av-masonry .av-masonry-container .av-masonry-entry figure figcaption{background: #fff; overflow: hidden; border-bottom-right-radius: 8px; border-bottom-left-radius: 8px; padding: 5% 10%;}
#top .av-masonry .av-masonry-container .av-masonry-entry figure figcaption h3.entry-title{font-weight: 400 !important; font-size: 1rem; color: var(--blue);}
#top .av-masonry .av-masonry-container .av-masonry-entry figure figcaption h3.entry-title b{color: var(--blue);}

#top .av-masonry .av-masonry-container .av-masonry-entry figure:before{
    content: '';
    width: 0px;
    height: 0px;
    border-top: 20px solid #fff;
    border-left: 20px solid transparent;
    position: absolute;
    top: 100%;
    right: 10%;
    transition: all 0.3s ease 0s;
    z-index: 10;
}

@media only screen and (max-width: 667px){
    #top .av-masonry .av-masonry-container .av-masonry-entry{width: 100%;}
}

@media only screen and (min-width: 668px) and (max-width: 990px){
    #top .av-masonry .av-masonry-container .av-masonry-entry{width: 49.90%;}
}

@media only screen and (min-width: 1280px){
    #top .av-masonry .av-masonry-sort .av-sort-by-term > a{color: var(--azur); font-size: 1.2rem;}
}

@media only screen and (min-width: 1440px){
    #top .av-masonry .av-masonry-container .av-masonry-entry figure{right: 64px; bottom: 48px;}
}

/* animation */
.avia_desktop.avia_transform3d .av-masonry-animation-active .av-masonry-entry.av-masonry-item-loaded .av-inner-masonry{ /* Safari 4+ */
    animation: avia_msonry_show 0.8s 1 cubic-bezier(0.175, 0.885, 0.320, 1.075); /* IE 10+ */
}
@keyframes avia_msonry_show {
  0%   { transform:translateZ(0px) translateY(100px) rotateX(0deg); opacity: 0;  }
  100% { transform:translateZ(0px) translateY(0px) rotateX(0deg); opacity: 1;  }
}

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

#top .__image--bubble{margin: 0; position: relative; padding-left: 5%; padding-bottom: clamp(80px, 5vw, 120px);}
#top .__image--bubble:before{
    content: '';
    height: calc(100% - clamp(20px, 5vw, 120px));
    width: 25%;
    background: var(--yellow);
    position: absolute;
    left: 0;
    bottom: 0;
}
#top .__image--bubble .avia-image-container-inner,
#top .__image--bubble .avia-image-container-inner img.avia_image{width: 100%; margin: 0;}
#top .__image--bubble .avia-image-container-inner .av-caption-image-overlay-bg{display: none !important;}
#top .__image--bubble .avia-image-container-inner .av-image-caption-overlay-position{
    display: inline-block;
    width: auto;
    height: auto;
    max-width: 420px; 
    color: var(--blue) !important; 
    margin: 0;
    padding: .5em 2em;
    background: #fff;
    border-radius: 8px;
    font-size: .88rem;
    position: absolute;
    top: calc(100% - 10px);
    left: -10px;
    box-shadow: 0 10px 20px rgba(0, 0, 0, .15);
}
#top .__image--bubble .avia-image-container-inner .av-image-caption-overlay-position:before{
    content: '';
    width: 0;
    height: 0;
    border-top: 15px solid #fff;
    border-right: 15px solid transparent;
    position: absolute;
    top: 100%;
    left: 10px;
    transition: .3s ease;
}
#top .__image--bubble .avia-image-container-inner .av-image-caption-overlay-position .av-image-caption-overlay-center{padding: 0;}
#top .__image--bubble .avia-image-container-inner .av-image-caption-overlay-position p{color: var(--blue) !important; font-size: .88rem; text-align: left;}
#top .__image--bubble .avia-image-container-inner .av-image-caption-overlay-position p b,
#top .__image--bubble .avia-image-container-inner .av-image-caption-overlay-position p strong{color: var(--blue) !important;}

@media only screen and (min-width: 990px){
    #top .__image--bubble{padding-left: 5%;}
    #top .__image--bubble .avia-image-container-inner .av-image-caption-overlay-position p{font-size: 1rem;}
}

@media only screen and (min-width: 1590px){
    #top .__image--bubble{padding-bottom: 120px;}
    #top .__image--bubble:before{height: calc(100% - 120px);}
}

/* Toggle / Accordion */
#top .togglecontainer .single_toggle{overflow: visible;}
#top .togglecontainer p.toggler{
    padding: 0.8em 3.2em .8em 1.2em;; 
    background: #fff; 
    border-radius: 0; 
    font-size: 1.1rem; 
    font-weight: 700; 
    line-height: 1.2; 
    color: #000; 
    border-bottom: 1px solid #000; 
    border-top: transparent;
    background: transparent;
    margin-bottom: 1em; 
    transition: .15s ease;
}
#top .togglecontainer p.toggler:hover,
#top .togglecontainer p.toggler.activeTitle{color: #000; border-color: #000;}
#top .av-elegant-toggle .toggle_icon{border: none;}
#top .togglecontainer .toggle_content{background: transparent; border: 0; padding: 0; font-size: .88rem; margin: 0 0 1em 0;}
#top .togglecontainer .toggle_content p{margin: 0 0 .5em 0; font-size: .88rem; font-weight: 400;}

@media only screen and (min-width: 768px){
    #top .togglecontainer p.toggler{font-size: 1.1rem; font-weight: 700;}
}


/* CTA Section */
#top .__cta--section{background-color: var(--yellow); position: relative; position: relative; overflow: hidden;}

@media only screen and (min-width: 990px){
    #top .__cta--section .avia-button-wrap{width: 100%; text-align: right;}
    #top .__cta--section .avia-button-wrap > .avia-button{float: right;}
}

@media only screen and (min-width: 1280px){
    #top .__cta--section:before{    
        content: '';
        height: 100px;
        width: 1000px;
        background-image: url(img/icons-background.svg);
        background-repeat: no-repeat;
        background-size: cover;
        background-position: right;
        position: absolute;
        top: -60px;
        right: 30%;
        transform-origin: right;
        transform: rotate(-45deg);
    }
}

/* Cards */
#top .__cards{display: flex;}
#top .__cards > div{
    margin-right: 15px;
    background-color: var(--yellow);
    background-image: url(img/icons-background.svg);
    background-repeat: no-repeat;
    background-position: 7% 20%;
    background-size: 1000px 100px;
    padding: 5% 5% 10%;
    position: relative;
    flex: 1 1 100%;
    max-width: 410px;
}
#top .__cards > div:before{content: ''; width: 100%; padding-top: 120%; display: block;}
#top .__cards > div:nth-child(even){background-color: var(--yellow); background-position: 78% 20%;}
#top .__cards > div > *{max-width: 300px;}
#top .__cards > div h3{margin-bottom: .5em; font-size: .88rem;}
#top .__cards > div p{font-size: .77rem; margin: 0; font-weight: 400; line-height: 1.3;}
#top .__cards > div:last-child{margin-right: 0;}

@media only screen and (min-width: 480px){
    #top .__cards > div h3{font-size: 1.2rem;}
    #top .__cards > div p{font-size: .88rem;}
}

@media only screen and (min-width: 1280px) and (max-width: 1740px){
    #top .__cards > div h3{font-size: 1.5rem}  
}

@media only screen and (min-width: 1740px){
    #top .__cards > div{min-width: 410px;}
    #top .__cards > div h3{font-size: 2rem} 
}

@media only screen and (min-width: 2072px){
    #top .__cards{padding-left: 85px;}
}

/* Partner/Logo Element */
#top .avia-logo-element-container .no-logo-slider-heading{display: none;}

/* Speech bubble */
#top .__speech--bubble{margin: 1em 0 2em;}
#top .__speech--bubble p{
    position: relative;
    max-width: 380px; 
    font-size: .88rem; 
    color: var(--blue) !important; 
    margin: 0;
    padding: .5em 2em;
    background: #fff;
    border-radius: 8px;
    font-size: .88rem;
    box-shadow: 0 10px 20px rgba(0, 0, 0, .15);
}
#top .__speech--bubble a{text-decoration: none;}
#top .__speech--bubble p:before{
    content: '';
    width: 0;
    height: 0;
    border-top: 15px solid #fff;
    border-right: 15px solid transparent;
    position: absolute;
    top: 100%;
    left: 10px;
    transition: .3s ease;
}


@media only screen and (min-width: 768px){
    #top .__speech--bubble, #top .__speech--bubble p{font-size: 1rem;}
}

/* Bubble */
#top .__bubble{
    border-radius: 8px;
    border: 1px solid var(--blue);
    padding: 1em 2em 1em 1em;
    font-size: 16px;
    background: #fff;
    display: inline-block;
    box-shadow: 0 0 20px rgba(0, 0, 0, .15);
}
#top .__bubble .__wrap{
    display: flex; 
    align-items: center;
}
#top .__bubble .__wrap > i{font-size: 2.25em; margin: 0 .5em 0 0; color: var(--blue); line-height: 1;}
#top .__bubble .__wrap > div{}
#top .__bubble .__wrap > div p{margin: 0; font-size: 1em; text-transform: uppercase; font-weight: 700; color: var(--blue); line-height: 1;}
#top .__bubble .__wrap > div small{line-height: 1.3; display: block; margin-top: .5em; color: #000000;}

/* Tab Section */
#top .av-inner-tab-title{text-transform: inherit; -webkit-hyphens: auto; hyphens: auto; font-weight: 700; font-size: 14px}
#top .av-tab-arrow-container{position: absolute; bottom: 0; top: unset}
#top .av-tab-content-auto .av-layout-tab-inner .container{margin: auto}

@media (min-width: 990px){
    #top .av-tab-content-auto .av-layout-tab-inner {
        margin-left: calc(-100vw / 2 + 100% / 2);
        margin-right: calc(-100vw / 2 + 100% / 2 + 75px);
        max-width: 2070px;
    }
}
@media (min-width: 1280px){
    #top .av-tab-content-auto .av-layout-tab-inner {
        margin-right: calc(-100vw / 2 + 100% / 2 + 150px);
    }
}
@media (min-width: 2070px){
    #top .av-tab-content-auto .av-layout-tab-inner {
        margin-right: calc(-100vw / 2 + 100% / 2);
    }
}
#top .av-inner-tab-title{text-transform: inherit; -webkit-hyphens: auto; hyphens: auto; font-size: 14px}

#top .av-inner-tab-title:hover,
#top .av-inner-tab-title:focus,
#top .av-inner-tab-title:active,
#top .av-inner-tab-title:focus-within,
#top .av-inner-tab-title:target,
#top .av-inner-tab-title:visited,
#top .av-inner-tab-title:focus-visible,
#top .av-inner-tab-title::selection
{color: var(--yellow);}


/* =======================================================================================================================================
CF7 Contact Form 7
======================================================================================================================================= */
/* CF7 Style */
#top form.wpcf7-form *{font-family: 'Outfit', 'Arial', sans-serif;}
#top form.wpcf7-form input,
#top form.wpcf7-form select,
#top form.wpcf7-form textarea{padding: 1em; border-radius: 4px; border: 1px solid #d0d0d0 !important; color: #000 !important; font-size: 1rem; margin-bottom: 15px; background-color: transparent !important}
#top form.wpcf7-form .wpcf7-submit{
    position: relative;
    min-width: 275px;
    display: inline-flex;
    align-items: center;
    padding: 1em 3em 1em 1.25em;
    font-size: .88rem;
    background-color: var(--blue) !important;
    border: 1px solid var(--blue) !important;
    border-radius: 0;
    font-weight: 700;
    transition: .15s ease;
    text-align: left;
    color: #fff !important;
}
#top form.wpcf7-form .wpcf7-submit:hover{background-color: var(--yellow) !important; border-color: var(--yellow) !important; color: #000 !important;}
#top form.wpcf7-form .wpcf7-submit:disabled{opacity: .2; pointer-events: none;}

#top form.wpcf7-form .wpcf7-acceptance{display: block; margin-bottom: 1em}
#top form.wpcf7-form .wpcf7-acceptance .wpcf7-list-item{margin: 0}
#top form.wpcf7-form .wpcf7-acceptance .wpcf7-list-item > label{display: flex;}
#top form.wpcf7-form .wpcf7-acceptance .wpcf7-list-item > label > input{margin: .2em .8em 0 0;}
#top form.wpcf7-form .wpcf7-acceptance .wpcf7-list-item > label > .wpcf7-list-item-label{line-height: 1.5; color: #000; font-size: small}
#top label span, #top legend span {font-size: 18px;}

/* CF7 Grid */
@media only screen and (min-width: 567px) {
    #top form.wpcf7-form .nm_row{width: 100%; display: block; clear: both; overflow: hidden;}
    #top form.wpcf7-form .nm_one_half{width: 49.25%; margin-left: 1.5%; clear: none; float: left;}
    #top form.wpcf7-form .nm_row div:first-child{margin-left: 0}
    #top form.wpcf7-form .nm_one_third{width: 32.3333333% !important; margin-left: 1.5%; clear: none !important; float: left !important;}
    #top form.wpcf7-form .nm_two_thirds{width: 66.1666667% !important; margin-left: 1.5%; clear: none !important; float: left !important;}
}

/* CF7 Output */
#top form.wpcf7-form .ajax-loader{display: none;}
#top form.wpcf7-form .wpcf7-not-valid-tip{display: none;}
#top form.wpcf7-form .wpcf7-response-output{font-size: 1rem; padding: 1em 2em; margin: 0; border: 0; line-height: 1.5; background: #eee; border-left: 2px solid #7d7d7d; color: #7d7d7d;}
#top form.wpcf7-form .wpcf7-not-valid{border-bottom: 1px solid darkred !important;}
#top form.wpcf7-form.invalid .wpcf7-response-output{background: #fff0f0; border-color: darkred; color: darkred}
#top form.wpcf7-form.sent .wpcf7-response-output{background: #daffda; border-color: green; color: green;}

/* =======================================================================================================================================
Formidable
======================================================================================================================================= */

#top .frm_fields_container select {
    font: 1rem 'Outfit', 'Arial', sans-serif;
}
.frm_style_formidable-style.with_frm_style .form-field {
    margin-bottom: 5px;
}

#top .frm_fields_container select,
#top .frm_fields_container .input-text,
#top .frm_fields_container input[type='text'],
#top .frm_fields_container input[type='input'],
#top .frm_fields_container input[type='password'],
#top .frm_fields_container input[type='email'],
#top .frm_fields_container input[type='number'],
#top .frm_fields_container input[type='url'],
#top .frm_fields_container input[type='tel'],
#top .frm_fields_container input[type='search'],
#top .frm_fields_container textarea
{
    background-color: transparent;
    padding: 15px;
    color: #000000;
    border-radius: 4px;
    border: 1px solid #d0d0d0;
    font-family: 'Outfit', 'Arial', sans-serif;
    font-size: 0.92rem;
}

#top .frm_fields_container input[type='checkbox'] + #text {
    margin-left: 10px;
}

#top .frm_fields_container label {
    font-weight: 600;
    font-size: 1rem;
    color: #000;
}

#top .frm_fields_container .frm_checkbox label {
    font-weight: 400;
    font-size: small;
    display: flex;
    padding: 0;
    gap: .5em;
    margin: 1em 0;
}

.with_frm_style .vertical_radio .frm_checkbox label {
    text-indent: unset;
}


.with_frm_style .frm_primary_label {
    font-size: 1rem;
    font-weight: 600;
}

.with_frm_style .frm_checkbox input[type=checkbox] {
    margin: 0;
}

.frm_style_formidable-style.with_frm_style .frm_submit button {
    background: var(--blue);
    border-radius: 0;
    font-weight: 600;
}

.frm_style_formidable-style.with_frm_style .frm_submit button:hover,
.frm_style_formidable-style.with_frm_style .frm_submit button:focus {
    background: var(--yellow);
    border-color: var(--yellow);
    color: #000;
}

#top .with_frm_style .frm_primary_label {
    color: #000;
}

.with_frm_style input[type=text], .with_frm_style input[type=password], .with_frm_style input[type=email], .with_frm_style input[type=number], .with_frm_style input[type=url], .with_frm_style input[type=tel], .with_frm_style input[type=phone], .with_frm_style input[type=search], .with_frm_style select, .with_frm_style textarea, .frm_form_fields_style, .with_frm_style .frm_scroll_box .frm_opt_container, .frm_form_fields_active_style, .frm_form_fields_error_style, .with_frm_style .frm-card-element.StripeElement, .with_frm_style .chosen-container-multi .chosen-choices, .with_frm_style .chosen-container-single .chosen-single {
    padding: 15px 10px !important;
}
#top .with_frm_style .frm_slimselect.ss-main {
    padding: 16px 10px !important;
}

#top .with_frm_style .ss-main {
    margin-top: 0;
}

.frm_fields_container p {
    font-size: 1rem;
}

.frm_form_field.form-field.frm_top_container.__form-country {
    margin-bottom: 25px;
}

.with_frm_style .frm_required {
    color: #000;
    font-weight: 400;
}
/*Speechbubble*/

.frm_fields_container {
    position: relative;
    background-color: #fff;
    border-radius: 8px;
    box-shadow: 0 10px 20px rgba(0, 0, 0, .15);
    padding: 2em 2em 1em 2em;
}
.frm_fields_container:before {
    content: '';
    width: 0;
    height: 0;
    border-top: 15px solid #fff;
    border-left: 15px solid transparent;
    position: absolute;
    top: 100%;
    right: 10px;
    transition: .3s ease;
    visibility: visible;
}

/*
=================Meilensteine======================
*/

.av-milestone-icon-inner {
    background-color: var(--blue);
}
.av-milestone-title {
    font-size: 1.5rem;
}

.av-milestone-content p {
    font-size: 0.92rem;
}
.av-milestone-content {
    text-align: justify;
}

/*Avia Tool Tip*/

.avia-tooltip {
    background: #fff;
    box-shadow: 0 8px 15px rgba(0, 0, 0, 0.1);
    border: 1px solid black;
    color: #000;
}

.avia-tooltip .inner_tooltip {
    font-size: 1rem;
}
.avia-tooltip .avia-arrow{
    background: #fff;
    border: 1px solid black;
}


/* =======================================================================================================================================
Hero
======================================================================================================================================= */
#top #hero{margin: 50px 0 150px 0; position: relative; display: flex; align-items: flex-end;}
#top #hero:before{
    content: '';
    width: 400px;
    height: 400px;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    right: 50%;
    background: rgb(208,220,234);
    background: radial-gradient(circle, rgba(208,220,234,1) 0%, rgba(208,220,234,0) 75%);
    transition: 1s ease;
}
#top #hero > section{
    height: 100%;
    width: 100%;
    display: flex;
    align-items: center;
    padding: 1em 0;
}
#top #hero > section > figure{position: absolute; bottom: 0; left: 0; height: 100%; display: flex; justify-content: center;}
#top #hero > section > figure img{display: block; transform: translate(-30%); -o-object-fit: contain; object-fit: contain;}
#top #hero > section > figure .__bubble{position: absolute; bottom: 3em; left: 25%; display: none;}
#top #hero > section > article{padding: 5% 5% 5% 5%; position: relative; width: 100%;}
#top #hero > section > article blockquote{
    margin: 0 0 1em 0;
    padding: 0 0 0 30%;
    border: 0;
    font-size: 2.5rem;
    font-weight: 900;
    color: #000;
    line-height: 1.3;
    text-align: right;
}
#top #hero > section > article .__speech--bubble--wrap{display: flex; flex-direction: column; align-items: flex-end;}
#top #hero > section > article .__speech--bubble--wrap .__speech--bubble{margin: 0 0 1.5em 0;}
#top #hero > section > article .__speech--bubble--wrap .__speech--bubble:not(:nth-child(1)):not(:nth-child(2)){display: none;}
#top #hero > section > article .__speech--bubble--wrap .__speech--bubble:last-child{margin: 0;}
#top #hero > section > article .__speech--bubble--wrap .__speech--bubble:nth-child(even){margin-left: 2em;}

@media only screen and (min-width: 768px){
    #top #hero > section > figure img{ transform: translate(0);}
    #top #hero > section > article blockquote{font-size: clamp(3rem, 7vw, 4.16rem); padding: 0 0 0 40%;}
    #top #hero > section > article .__speech--bubble--wrap .__speech--bubble:nth-child(even){margin-left: 0}
    #top #hero > section > article .__speech--bubble--wrap .__speech--bubble:nth-child(odd){transform: translateX(-10%);}
}

@media only screen and (min-width: 990px){
    #top #hero:before{width: 800px; height: 800px;}
    #top #hero > section > figure{position: relative; width: 50%; justify-content: flex-end;}
    #top #hero > section > figure .__bubble{display: block;}
    #top #hero > section > article{width: 50%;}
    #top #hero > section > article blockquote{padding: 0; font-size: clamp(3rem, 5vw, 4.16rem); text-align: left; max-width: 480px;}
    #top #hero > section > article .__speech--bubble--wrap{align-items: flex-start;}
    #top #hero > section > article .__speech--bubble--wrap .__speech--bubble{display: block !important;}
}

@media only screen and (min-width: 1420px){
    #top #hero{height: calc(100vh - 110px); margin: 0 0 100px 0;}
    #top #hero > section{padding-bottom: 0;}
}

.__hero .caption_framed .slideshow_caption .avia-caption-title {
    background-color: var(--blue);
}

/* =======================================================================================================================================
Hero
======================================================================================================================================= */
#top .__anliegen--hero .__speech--bubble--wrap{display: flex; flex-direction: column; margin-top: 2em;}
#top .__anliegen--hero .__speech--bubble--wrap .__speech--bubble{margin: .75em 0 1.5em;}
#top .__anliegen--hero .__speech--bubble--wrap .__speech--bubble p{display: inline-block;}
#top .__anliegen--hero .__speech--bubble--wrap .__speech--bubble.__q{align-self: flex-end;}
#top .__anliegen--hero .__speech--bubble--wrap .__speech--bubble.__q p{font-weight: 700;}
#top .__anliegen--hero .__speech--bubble--wrap .__speech--bubble.__q p:before{border-top-color: #fff; border-right: 0; border-left: 15px solid transparent; left: unset; right: 10px;}
#top .__anliegen--hero .__speech--bubble--wrap .__speech--bubble.__a p{max-width: 590px; color: #fff !important; background: var(--blue);} 
#top .__anliegen--hero .__speech--bubble--wrap .__speech--bubble.__a p:before{border-top-color: var(--blue)}
#top .__anliegen--hero .__speech--bubble--wrap .__speech--bubble.__a + .__a{transform: translateX(2.5vw);}
#top .__anliegen--hero .__speech--bubble--wrap .__speech--bubble.__a footer{text-align: center; padding: .5em 1em; margin: 1em 0 0 0; font-size: 1rem}
#top .__anliegen--hero .__speech--bubble--wrap .__speech--bubble.__a footer a:not(:last-child){padding-right: 1em;}

@media only screen and (min-width: 768px){
    #top .__anliegen--hero .__speech--bubble--wrap .__speech--bubble.__a footer{font-size: 1.33rem;}
}


/* =======================================================================================================================================
Team tabs shortcode
======================================================================================================================================= */
#top .__team--tabs{}
#top .__team--tabs ul.tabs{list-style: none; margin: 0; display: grid; grid-template-columns: repeat(3, 1fr);}
#top .__team--tabs ul.tabs li{margin: 0; width: 100%; padding: 0; opacity: .5; position: relative; z-index: 1; cursor: pointer;}
html:not(.avia_mobile) #top .__team--tabs ul.tabs li:hover{opacity: .75; z-index: 2;}
#top .__team--tabs ul.tabs li.__active{opacity: 1; z-index: 2;}
/*
#top .__team--tabs ul.tabs li.__active:after{content: ''; width: 100%; height: 105%; position: absolute; top: 50%; left: 50%; transform: translate(-50%,-50%); box-shadow: inset 0 0 0 1px var(--azur);}
*/
#top .__team--tabs ul.tabs li figure{position: relative; padding-top: 100%;}
#top .__team--tabs ul.tabs li figure img{display: block; position: absolute; top: 0; left: 0; bottom: 0; right: 0; width: 100%; height: 100%; -o-object-fit: cover; object-fit: cover;}

#top .__team--tabs .__team--tabs--content{padding: 10%; background: var(--blue); color: #fff;}
#top .__team--tabs .__team--tabs--content .tab-content{display: none; background: none; padding: 0; animation: scale 0.7s ease-in-out; max-width: 1440px; margin: auto;}
#top .__team--tabs .__team--tabs--content .tab-content.__active{display: inherit;}
#top .__team--tabs .__team--tabs--content .tab-content > div > .__bubble{margin-bottom: 1em;}
#top .__team--tabs .__team--tabs--content .tab-content > div > p{font-size: .88rem; padding-left: 2em;}

@keyframes scale{
  0%  { transform: scale(0.9); opacity: 0; }
  100%{ transform: scale(1); opacity: 1; }
}
/*
@media only screen and (min-width: 567px){
    #top .__team--tabs ul.tabs{-ms-grid-columns: (1fr)[6];grid-template-columns: repeat(6, 1fr);}
}
*/
@media only screen and (min-width: 567px){
    #top .__team--tabs ul.tabs{grid-template-columns: repeat(3, 1fr);}
}

@media only screen and (min-width: 990px){
    #top .__team--tabs .__team--tabs--content .tab-content > div > p{font-size: 1rem;}
}

@media only screen and (min-width: 1280px){
    #top .__team--tabs .__team--tabs--content{padding: 7.5%;}
    #top .__team--tabs .__team--tabs--content .tab-content > div{display: flex; align-items: flex-start;}
    #top .__team--tabs .__team--tabs--content .tab-content > div > .__bubble{max-width: 30%; flex-basis: 30%;}
    #top .__team--tabs .__team--tabs--content .tab-content > div > p{max-width: 70%; flex-basis: 70%; margin: 0 0 0 3em; padding: 0; font-size: 1.33rem;}
}


/* =======================================================================================================================================
Aside Right
======================================================================================================================================= */
#top aside#aside_right{position: fixed; top: 0; bottom: 0; right: 0; height: 100vh; width: 75px; background-color: var(--lightblue); display: none; z-index: 100; font-size: .77rem; color: var(--blue);}
#top aside#aside_right .__wrap{
    position: relative;
    height: 100%;
    width: 100%;
    padding: 2.5vh 10px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}
#top aside#aside_right .__wrap > a{font-size: .66rem; color: var(--blue); text-decoration: none; margin: 0.75em 0; display: flex; flex-direction: column; align-items: center;}
#top aside#aside_right .__wrap > a > i{line-height: 1; font-size: 2em; display: block;}
#top aside#aside_right .__wrap > a > span{font-size: 1em; font-weight: 700;}
#top aside#aside_right .__wrap > a.__intranet{position: absolute; bottom: 2vh;}

@media only screen and (min-width: 990px){
    #top aside#aside_right{display: block;}
}

@media only screen and (min-width: 1281px){
    #top aside#aside_right{width: 150px;}
    #top aside#aside_right .__wrap > a{font-size: .77rem;}
}


/* =======================================================================================================================================
Modal
======================================================================================================================================= */
#top #__modal{
    display: none; 
    pointer-events: none; 
    width: 100vw; 
    height: 100vh;
    background-color: #fff; 
    border-radius: 8px;
    position: fixed; 
    top: 50%; 
    left: 50%; 
    transform: translate(-50%, -50%); 
    z-index: 0; 
    color: #000000; 
    box-shadow: 0 0 50px rgb(0 0 0 / 20%);
}
#top #__modal .__close{cursor: pointer; color: var(--blue); font-size: 32px; display: inline-block; line-height: 1; position: absolute; right: 8px; top: 44px; width: 44px; height: 44px; background-color: transparent; display: flex; align-items: center; justify-content: center; z-index: 10;}
#top #__modal .__wrap{max-width: 1330px; padding: 100px 15px 50px 15px; margin: auto; overflow: hidden; height: 100%; width: 100%;}
#top #__modal .__wrap .__content{height: 100%; overflow: auto; overscroll-behavior: contain;}
#top #__modal .__wrap .__content h2{margin: 0 !important;}
#top #__modal:before {
    content: '';
    width: 0;
    height: 0;
    border-top: 20px solid #fff;
    border-left: 20px solid transparent;
    position: absolute;
    top: calc(100% - 1px);
    right: 5%;
    transition: .3s ease;
}

html.__modalOpen{height: 100vh; overflow: hidden; position: fixed; top: 0; left: 0; right: 0;}
html.__modalOpen #top #__modal{display: flex; z-index: 5000; pointer-events: auto;}

@media only screen and (min-width: 768px){
    html #wrap_all:after{content: ''; position: fixed; top: 0; bottom: 0; left: 0; right: 0; width: 100vw; height: 100vh; background: #000; z-index: 1000; pointer-events: none; visibility: hidden; opacity: 0; transition: .3s ease;}
    html.__modalOpen #wrap_all:after{visibility: visible; opacity: .5; pointer-events: auto;}
    #top #__modal{width: 1230px; max-width: 95vw; max-height: 95vh; height: auto;}
    #top #__modal .__close{top: 8px;}
    #top #__modal .__wrap{padding: 50px;}
}

/*
 * Anfrageformular
 */
#top #__modal #anfrageformular .__step2{max-height: 0; overflow: scroll; transition: 1s;}
#top #__modal #anfrageformular.__step2 .__step2{max-height: 300px}
#top #__modal #anfrageformular .__step2 > div{max-height: 0; transition: 1s; overflow: hidden; opacity: 0;}
#top #__modal #anfrageformular.__step2.email .__step2 > div.email{max-height: 300px; opacity: 1}
#top #__modal #anfrageformular.__step2.telefonisch .__step2 > div.telefonisch{max-height: 300px; opacity: 1}

#top #__modal #anfrageformular .wpcf7-radio .wpcf7-list-item{display: block; margin: 0; font-size: 1rem;}
#top #__modal #anfrageformular .wpcf7-radio .wpcf7-list-item .wpcf7-list-item-label{font-size: 1rem;}


/* =======================================================================================================================================
News Blog
======================================================================================================================================= */
#top .post_delimiter{display: none;}
#top .fullsize .template-blog .post .entry-content-wrapper > *{margin: unset; max-width: unset;}
#top .fullsize .template-blog .post .entry-content-wrapper {
    text-align: left;
    font-size: 1rem;
    line-height: unset;
    max-width: unset;
    margin: unset;
    overflow: unset;
}


/* =======================================================================================================================================
Footer
======================================================================================================================================= */
#footer{border: 0; padding: 40px 0;}
#footer .widget{margin: 0;}
#footer .widgettitle{font-weight: 700 !important; font-size: .88rem !important; color: var(--blue); margin: 1em 0;}
#footer .container ul.menu li,
#footer .container ul.menu li a{font-size: .88rem; color: #6E6E6E; line-height: 1.6;}
#footer .container ul.menu li a{}
#footer .container ul.menu li a:hover,
#footer .container ul.menu li.current-menu-item a{color: #000; font-weight: 300;}

@media only screen and (min-width: 768px){
    #footer{padding: 120px 0;}
    #footer .widgettitle{font-size: 1rem !important; margin: 0 0 1.5em 0;}
}
/*
@media only screen and (min-width: 1281px){
    #footer .container ul.menu{-moz-column-count: 2;column-count: 2;}
}
*/
#socket{border: 0; font-size: 12px;}
#socket .container {padding-top: 20px; padding-bottom: 20px;}
#socket .container .copyright{float: unset; display: block; text-align: center;}
#socket .container .copyright figure{display: flex; justify-content: center; margin: 1.5em 0 1em;}
#socket .container .copyright figure img{display: block;}
#socket .container .copyright > strong{display: block;}


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