/*
 Theme Name: Astra Child
 Theme URI: https://wpastra.com/
 Description:  Astra Child Theme
 Author:       Gregor Freisem websedit AG
 Author URI:   https://www.rollladen-bopp.de/
 Template:     astra
 Version:      1.0.0
Text Domain:   Astra -child
*/


/*  Breakpoints */
:root {
    --ast-normal-container-width: 1640px;
    --wp--custom--ast-container-width: 1640px;
    --wp--custom--ast-content-width-size: 1640px;
    --wp--custom--ast-wide-width-size: calc(1640px + var(--wp--custom--ast-default-block-left-padding) + var(--wp--custom--ast-default-block-right-padding));
}

html {
    font-size: var(--font-size-default);
    font-weight: 400;
}

body {
    --color-menu-bg: var(--e-global-color-primary);
    --color-menu-font: var(--e-global-color-secondary);
    --color-background-light: #DEE2E8;
    --color-background-bright: #FBFBFB;
    --site-header-height: 130px;
    --font-size-base: 16px;
    --font-size-default: 16px;
    --font-size-h1: 40px;
    --font-size-h2: 40px;
    --font-size-h3: 22px;
    --font-size-h4: 12px;
    --button-icon-size: 80px;
    --gap-default: 16px;
    --col-default: 20px;
    --container-4-width: 100%;
    --container-6-width: 100%;
    --container-8-width: 100%;
    --container-10-width: 100%;

    font-size: 1rem;
    hyphens: auto;
}

/* roboto-100 - latin */
@font-face {
    font-display: swap;
    font-family: 'Roboto';
    font-style: normal;
    font-weight: 100;
    src: url('../astra-child/fonts/roboto/roboto-v48-latin-100.woff2') format('woff2'), /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */ url('../astra-child/fonts/roboto/roboto-v48-latin-100.ttf') format('truetype'); /* Chrome 4+, Firefox 3.5+, IE 9+, Safari 3.1+, iOS 4.2+, Android Browser 2.2+ */
}

/* roboto-200 - latin */
@font-face {
    font-display: swap;
    font-family: 'Roboto';
    font-style: normal;
    font-weight: 200;
    src: url('../astra-child/fonts/roboto/roboto-v48-latin-200.woff2') format('woff2'), /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */ url('../astra-child/fonts/roboto/roboto-v48-latin-200.ttf') format('truetype'); /* Chrome 4+, Firefox 3.5+, IE 9+, Safari 3.1+, iOS 4.2+, Android Browser 2.2+ */
}

/* roboto-300 - latin */
@font-face {
    font-display: swap;
    font-family: 'Roboto';
    font-style: normal;
    font-weight: 300;
    src: url('../astra-child/fonts/roboto/roboto-v48-latin-300.woff2') format('woff2'), /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */ url('../astra-child/fonts/roboto/roboto-v48-latin-300.ttf') format('truetype'); /* Chrome 4+, Firefox 3.5+, IE 9+, Safari 3.1+, iOS 4.2+, Android Browser 2.2+ */
}

/* roboto-regular - latin */
@font-face {
    font-display: swap;
    font-family: 'Roboto';
    font-style: normal;
    font-weight: 400;
    src: url('../astra-child/fonts/roboto/roboto-v48-latin-regular.woff2') format('woff2'), /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */ url('../astra-child/fonts/roboto/roboto-v48-latin-regular.ttf') format('truetype'); /* Chrome 4+, Firefox 3.5+, IE 9+, Safari 3.1+, iOS 4.2+, Android Browser 2.2+ */
}

/* roboto-500 - latin */
@font-face {
    font-display: swap;
    font-family: 'Roboto';
    font-style: normal;
    font-weight: 500;
    src: url('../astra-child/fonts/roboto/roboto-v48-latin-500.woff2') format('woff2'), /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */ url('../astra-child/fonts/roboto/roboto-v48-latin-500.ttf') format('truetype'); /* Chrome 4+, Firefox 3.5+, IE 9+, Safari 3.1+, iOS 4.2+, Android Browser 2.2+ */
}

/* roboto-600 - latin */
@font-face {
    font-display: swap;
    font-family: 'Roboto';
    font-style: normal;
    font-weight: 600;
    src: url('../astra-child/fonts/roboto/roboto-v48-latin-600.woff2') format('woff2'), /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */ url('../astra-child/fonts/roboto/roboto-v48-latin-600.ttf') format('truetype'); /* Chrome 4+, Firefox 3.5+, IE 9+, Safari 3.1+, iOS 4.2+, Android Browser 2.2+ */
}

/* roboto-700 - latin */
@font-face {
    font-display: swap;
    font-family: 'Roboto';
    font-style: normal;
    font-weight: 700;
    src: url('../astra-child/fonts/roboto/roboto-v48-latin-700.woff2') format('woff2'), /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */ url('../astra-child/fonts/roboto/roboto-v48-latin-700.ttf') format('truetype'); /* Chrome 4+, Firefox 3.5+, IE 9+, Safari 3.1+, iOS 4.2+, Android Browser 2.2+ */
}

/* roboto-800 - latin */
@font-face {
    font-display: swap;
    font-family: 'Roboto';
    font-style: normal;
    font-weight: 800;
    src: url('../astra-child/fonts/roboto/roboto-v48-latin-800.woff2') format('woff2'), /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */ url('../astra-child/fonts/roboto/roboto-v48-latin-800.ttf') format('truetype'); /* Chrome 4+, Firefox 3.5+, IE 9+, Safari 3.1+, iOS 4.2+, Android Browser 2.2+ */
}

/* roboto-900 - latin */
@font-face {
    font-display: swap;
    font-family: 'Roboto';
    font-style: normal;
    font-weight: 900;
    src: url('../astra-child/fonts/roboto/roboto-v48-latin-900.woff2') format('woff2'), /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */ url('../astra-child/fonts/roboto/roboto-v48-latin-900.ttf') format('truetype'); /* Chrome 4+, Firefox 3.5+, IE 9+, Safari 3.1+, iOS 4.2+, Android Browser 2.2+ */
}


/* Erzwungene Paddings: */
.p-0 {
    padding: 0 !important;
}

.pt-0, .e-con .pt-0 {
    padding-top: 0 !important;
}

.pr-0, .e-con .pr-0 {
    padding-right: 0 !important;
}

.pb-0, .e-con .pb-0 {
    padding-bottom: 0 !important;
}

.pl-0, .e-con .pl-0 {
    padding-left: 0 !important;
}

/* eigene Margins */
.m-0 {
    margin: 0 !important;
}

.mb-0 {
    margin-bottom: 0 !important;
}

.mb-10 {
    margin-bottom: 10px !important;
}

.mb-20 {
    margin-bottom: 20px !important;
}

.mb-30 {
    margin-bottom: 30px !important;
}

.mb-40 {
    margin-bottom: 40px !important;
}

.mb-50 {
    margin-bottom: 50px !important;
}

.mb-60 {
    margin-bottom: 60px !important;
}

.mb-70 {
    margin-bottom: 70px !important;
}

.mb-80 {
    margin-bottom: 80px !important;
}

.mb-90 {
    margin-bottom: 90px !important;
}

.mb-100 {
    margin-bottom: 100px !important;
}

.mb-110 {
    margin-bottom: 110px !important;
}

.mt-0 {
    margin-top: 0 !important;
}

.mt-10 {
    margin-top: 10px !important;
}

.mt-20 {
    margin-top: 20px !important;
}

.mt-30 {
    margin-top: 30px !important;
}

.mt-40 {
    margin-top: 40px !important;
}

.mt-50 {
    margin-top: 50px !important;
}

.mt-60 {
    margin-top: 60px !important;
}

.mt-70 {
    margin-top: 70px !important;
}

.mt-80 {
    margin-top: 80px !important;
}

.mt-90 {
    margin-top: 90px !important;
}

.mt-100 {
    margin-top: 100px !important;
}

.mt-110 {
    margin-top: 110px !important;
}

/* eigene Paddings */
.pb-10 {
    padding-bottom: 10px !important;
}

.pb-20 {
    padding-bottom: 20px !important;
}

.pb-30 {
    padding-bottom: 30px !important;
}

.pb-40 {
    padding-bottom: 40px !important;
}

.pb-50 {
    padding-bottom: 50px !important;
}

.pb-60 {
    padding-bottom: 60px !important;
}

.pb-70 {
    padding-bottom: 70px !important;
}

.pb-80 {
    padding-bottom: 80px !important;
}

.pb-90 {
    padding-bottom: 90px !important;
}

.pb-100 {
    padding-bottom: 100px !important;
}

.pb-110 {
    padding-bottom: 110px !important;
}

.pt-10 {
    padding-top: 10px !important;
}

.pt-20 {
    padding-top: 20px !important;
}

.pt-30 {
    padding-top: 30px !important;
}

.pt-40 {
    padding-top: 40px !important;
}

.pt-50 {
    padding-top: 50px !important;
}

.pt-60 {
    padding-top: 60px !important;
}

.pt-70 {
    padding-top: 70px !important;
}

.pt-80 {
    padding-top: 80px !important;
}

.pt-90 {
    padding-top: 90px !important;
}

.pt-100 {
    padding-top: 100px !important;
}

.pt-110 {
    padding-top: 110px !important;
}
.entry-content ul,
.entry-content ol {
    text-align: left;
}
.entry-content > .elementor > .e-con {
    padding: var(--padding-top) var(--padding-right) var(--padding-bottom) var(--padding-left);
}

.entry-content > .elementor > .e-con-full {
    padding: 0;
}

.entry-content > .elementor > .e-con > .e-con-inner {
    /*    max-width: calc(100% - 2 * var(--gap-default)); */
}

.e-con {
    --padding-block-start: 5px;
    --padding-block-end: 5px;
}

.e-con .e-con {
    --padding-block-start: 0;
    --padding-block-end: 0;
}

.e-con.pl-0 {
    padding-left: 0;
}

.e-con.pr-0 {
    padding-right: 0;
}

.e-con.e-flex,
.e-con.e-con-boxed {
    --content-width: var(--ast-normal-container-width);
}

.e-con.e-flex > .e-con-inner {
    gap: calc(var(--padding-block-start) + var(--padding-block-end));
}

.e-con.e-flex > .e-con-inner > .e-con.e-child {
    /*padding: 0;*/
}

.e-grid > .e-con-inner .elementor-element > .elementor-element {
    padding-left: 0;
    padding-right: 0;
}

a, a:focus, a:hover, a:visited {
    color: var(--e-global-color-primary);
    text-decoration: underline;
}

a:focus,
a:hover {
    color: var(--e-a-color-black);
}

p a:not(.wp-element-button),
p a:where(:not(.wp-element-button)) {
    text-decoration: underline;
}


h1, .entry-content h1,
h2, .entry-content h2 {
    font-size: var(--font-size-h1);
    font-weight: bold;
    color: var(--e-global-color-primary);
}

h3, .entry-content h3,
h4, .entry-content h4,
h5, .entry-content h5,
h6, .entry-content h6 {
    color: var(--e-global-color-primary);
}

h4, .entry-content h4,
h5, .entry-content h5,
h6, .entry-content h6 {
    font-weight: normal;
}

h3, .entry-content h3 {
    font-size: var(--font-size-h3);
}

h4, .entry-content h4 {
    font-size: var(--font-size-h4);
}

p,
.entry-content p {
    margin-bottom: 1.6em;
}

p + ul,
.entry-content p + ul {
    margin-top: -1.6em;
}

.site-header-section {
    align-items: end;
}

.site-header-section .site-branding {
    padding-top: 3.125rem;
}

.ast-site-title-wrap {
    display: none;
}

.site-header,
.main-header-bar-wrap {
    top: 0;
    height: var(--site-header-height);
    width: 100%;
}

.main-header-bar {
    height: 100%;
}

.main-header-bar,
.main-header-menu .sub-menu {
    background-color: var(--color-menu-bg);
    border: none;
}

/* .ast-header-break-point #masthead .ast-mobile-header-wrap .ast-primary-header-bar {*/
.ast-mobile-header-wrap .main-header-bar {
    border: none;
}

.main-header-menu .sub-menu {
    height: 0;
    overflow: hidden;
    transition: .5s ease-in-out 0s;
}
.main-header-menu .sub-menu p:not(.custom-teaser) {
    transition: 0s ease-in-out 0s;
}

.sub-menu .custom-teaser {
    display: none;
    font-size: .75em;
    min-height: 5em;
}

.toggled .main-navigation {
    height: calc(100vh - var(--site-header-height));
    background-color: var(--color-menu-bg);
}

.main-navigation .main-header-menu .menu-link {
    font-size: 1.5rem;
    color: var(--color-menu-font);
    hyphens: none;
    padding: 0 .75rem;
}
.current-menu-parent.current-page-parent.current_page_parent.current_page_ancestor > .menu-link {
    white-space: nowrap;
}
.main-navigation .main-header-menu .menu-item .menu-link:hover p:not(.custom-teaser),
.current-menu-parent.current-page-parent.current_page_parent.current_page_ancestor > .menu-link,
.main-navigation .main-header-menu .menu-item.current-menu-ancestor > .menu-link p:not(.custom-teaser),
.main-navigation .main-header-menu .menu-item.current_page_item .menu-link p:not(.custom-teaser) {
    font-weight: 700;
    letter-spacing: -.25px;
}
.main-navigation .main-header-menu .menu-item .menu-link:hover p.custom-teaser,
.main-navigation .main-header-menu .menu-item.current-menu-ancestor > .menu-link p.custom-teaser,
.main-navigation .main-header-menu .menu-item.current_page_item .menu-link p.custom-teaser {
    font-weight: 400;
    letter-spacing: normal;
    transition: none;
}

/*.main-navigation .main-header-menu .menu-item .menu-link .custom-teaser,*/
/*.main-navigation .main-header-menu .menu-item .menu-link:hover .custom-teaser,*/
/*.main-navigation .main-header-menu .menu-item.current-menu-ancestor > .menu-link .custom-teaser,*/
/*.main-navigation .main-header-menu .menu-item.current_page_item .menu-link .custom-teaser {*/
/*    transition: .5s ease-in-out 0s;*/
/*    font-weight: 400;*/
/*}*/

.main-navigation .main-header-menu .ast-icon.icon-arrow {
    display: none;
}

/* ASTRA Theme: */
.ast-builder-menu-mobile .main-navigation .main-header-menu {
    background-color: var(--color-menu-bg);
    display: block;
}

.ast-builder-menu-mobile .main-navigation .main-header-menu li {
    flex: 0 0 100%;
}

.ast-builder-menu-mobile .main-navigation .main-header-menu .menu-item > .menu-link {
    background-color: transparent;
    color: var(--color-menu-font);
}

.ast-builder-menu-mobile .main-navigation .main-header-menu .menu-item:hover .menu-link {
    color: var(--color-menu-font);
    background-color: transparent;
}

.ast-mobile-header-wrap .ast-button-wrap .menu-toggle.main-header-menu-toggle {
    border: 2px solid transparent;
}

.ast-mobile-header-wrap .ast-button-wrap .menu-toggle.main-header-menu-toggle:focus {
    border: 2px solid var(--color-menu-font);
}

.ast-builder-menu-mobile .main-navigation .main-header-menu .sub-menu {
    background-color: transparent;
    width: 100%;
}

.ast-builder-menu-mobile .main-navigation .main-header-menu .sub-menu > * {
    display: block;
}

.ast-builder-menu-mobile .ast-submenu-expanded .sub-menu {
    height: auto;
}


[data-section="section-header-mobile-trigger"] .ast-button-wrap .mobile-menu-toggle-icon .ast-mobile-svg {
    width: 30px;
    height: 30px;
    fill: var(--color-menu-font);
}

.ast-builder-menu-1 .menu-item.current-menu-item > .menu-link,
.ast-builder-menu-1 .inline-on-mobile .menu-item.current-menu-item > .ast-menu-toggle,
.ast-builder-menu-1 .current-menu-ancestor > .menu-link,
.ast-builder-menu-1 .menu-item > .menu-link,
.ast-builder-menu-1 .menu-item:hover > .menu-link,
.ast-builder-menu-1 .inline-on-mobile .menu-item:hover > .ast-menu-toggle {
    color: var(--color-menu-font);
    text-align: center;
}

/* Icon List */
.elementor-element.button-bottom:not(:last-child) {
    margin-bottom: 100px !important;
}

.elementor-element.button-bottom + .elementor-element.elementor-widget-icon-list {
    position: absolute;
    top: calc(100% - 80px);
    width: calc(100% - 20px);
}

.elementor .elementor-element ul.elementor-icon-list-items {
    color: var(--e-global-color-primary);
    display: grid;
    gap: 16px;
    /*    max-width: calc(100% - 2rem); */
}

.elementor-widget.elementor-widget-icon-list .elementor-icon-list-icon svg {
    margin: var(--e-icon-list-icon-margin, 0 0 0 calc(var(--e-icon-list-icon-size, 1em) * .25));
    padding: var(--e-icon-list-icon-padding, 5px 0);
}

.elementor .elementor-element .elementor-icon-list-item {
    align-items: center;
    border: 2px solid;
    min-height: 80px;
    padding: 0 1.25rem;
}

.elementor .elementor-element .elementor-icon-list-item > * {
    color: var(--e-global-color-primary);
    font-size: 1.625rem;
    text-decoration: none;
}

.elementor .elementor-element .elementor-icon-list-item .elementor-icon-list-icon {
    order: 2;
    position: absolute;
    right: 1rem;
    top: auto;
}

.elementor .elementor-element .elementor-icon-list-item .elementor-icon-list-text {
    color: var(--e-global-color-primary);
    flex: 0 0 calc(100% - 6.25rem);
    font-weight: 600;
    order: 1;
    text-align: center;
}


/* Metaslider */

.banner-fullheight {
    max-height: calc(100vh - var(--site-header-height));
    overflow: hidden;
}

.banner-fullheight .metaslider .flexslider {
    margin: 0;
}

.banner-fullheight .metaslider .flexslider .slides {
    height: calc(100vh - var(--site-header-height));
    overflow: hidden;
}

.banner-fullheight .metaslider .flexslider .slides li {
    height: 100%;
}

.banner-fullheight .metaslider .flexslider .slides img {
    height: 100%;
    object-fit: cover;
}


.metaslider .flexslider .caption-wrap {
    background-color: transparent !important;
    border: none !important;
    padding-left: var(--gap-default);
    padding-right: var(--gap-default);
}

.metaslider .flexslider .slides img {
    height: 100%;
}

.metaslider.ms-theme-clarity .flexslider .flex-direction-nav a {
    background-color: transparent;
}

.metaslider .flexslider .flex-direction-nav li a,
.metaslider .flexslider .flex-direction-nav li a:focus,
.metaslider .flexslider .flex-direction-nav li a:hover,
.metaslider.ms-theme-clarity .flexslider .flex-direction-nav a,
.metaslider.ms-theme-clarity .flexslider .flex-direction-nav a:focus,
.metaslider.ms-theme-clarity .flexslider .flex-direction-nav a:hover {
    border-color: var(--e-global-color-primary);
    box-shadow: none;
    background-color: transparent;
}

.e-con .metaslider.ms-theme-clarity .flexslider .slides {
    align-items: start;
}

.e-con .metaslider.ms-theme-clarity .flexslider .flex-direction-nav a {
    border: 2px solid var(--e-global-color-primary);
    box-shadow: none !important;
}

.e-con .metaslider.ms-theme-clarity .flexslider .flex-direction-nav a.flex-prev {
    left: -5vw;
}

.e-con .metaslider.ms-theme-clarity .flexslider .flex-direction-nav a.flex-next {
    right: -5vw;
}

.e-con .metaslider.ms-theme-clarity .flexslider .flex-direction-nav a.flex-prev:after {
    mask-image: url("data:image/svg+xml,%3Csvg id='Icon_arrow_left' data-name='Icon arrow left' xmlns='http://www.w3.org/2000/svg' width='122' height='122' viewBox='0 0 122 122'%3E%3Cpath id='Path_1' data-name='Path 1' d='M28.125,1.128a27,27,0,1,1-27,27,27,27,0,0,1,27-27ZM11.579,44.674a23.316,23.316,0,1,0-5.016-7.439A23.316,23.316,0,0,0,11.579,44.674Z' transform='translate(32.875 32.872)' fill='%2354595f'/%3E%3Cpath id='Path_2' data-name='Path 2' d='M19.168,11.6,17.577,10.01,9.584,18,17.577,26l1.591-1.591-5.277-5.277H27.07v-2.25H13.891L19.168,11.6Z' transform='translate(41.938 42.997)' fill='%2354595f'/%3E%3Crect id='icon_bounding_box' data-name='icon bounding box' width='122' height='122' fill='none'/%3E%3C/svg%3E");
    mask-size: 122px;
}

.e-con .metaslider.ms-theme-clarity .flexslider .flex-direction-nav a.flex-next:after {
    mask-image: url("data:image/svg+xml,%3Csvg id='Icon_arrow_right' data-name='Icon arrow right' xmlns='http://www.w3.org/2000/svg' width='122' height='122' viewBox='0 0 122 122'%3E%3Cpath id='Path_1' data-name='Path 1' d='M28.125,1.128a27,27,0,1,1-27,27,27,27,0,0,1,27-27ZM11.579,44.674a23.316,23.316,0,1,0-5.016-7.439A23.316,23.316,0,0,0,11.579,44.674Z' transform='translate(32.875 32.872)' fill='%2354595f'/%3E%3Cpath id='Path_2' data-name='Path 2' d='M17.486,11.6l1.591-1.591L27.07,18,19.077,26l-1.591-1.591,5.277-5.277H9.584v-2.25H22.763L17.486,11.6Z' transform='translate(41.938 42.997)' fill='%2354595f'/%3E%3Crect id='icon_bounding_box' data-name='icon bounding box' width='122' height='122' fill='none'/%3E%3C/svg%3E");
    mask-size: 122px;
}


.metaslider.ms-theme-clarity .flexslider .flex-direction-nav a:focus {
    border-color: #000;
}

body .metaslider.metaslider-partner .flexslider .slides li {
    background-color: #0000 !important;
}

body .metaslider.metaslider-partner .flexslider .slides li img {
    aspect-ratio: 16 / 9;
    max-width: 200px;
    margin: 0 auto;
}


.metaslider.ms-theme-clarity .flexslider .caption-wrap,
.elementor-shortcode .metaslider.ms-theme-clarity .flexslider .caption-wrap {
    color: var(--e-global-color-primary);
    font-size: 1rem;
}

.elementor-shortcode .metaslider.ms-theme-clarity .flexslider .caption-wrap .caption {
    padding: 20px 0;
}

/* Metaslider Team */
.metaslider.metaslider-team .flexslider {
    margin: 0 !important;
}

.metaslider.metaslider-team .flexslider .slides li img {
    width: 70%;
    height: 70%;
    margin-left: auto;
    margin-right: auto;
    border-radius: 50%;
    max-width: 200px;
    max-height: 200px;
}

.metaslider.metaslider-team .flexslider .slides li {
    background-color: transparent !important;
    border: none !important;
}

/* Metaslider Testimonials */
.metaslider.metaslider-testimonials .slides .ms-image > img {
    /*filter: drop-shadow(3px 3px 2px #0004);*/
    /*height: 20px;*/
    /*margin: 0 auto;*/
    /*width: 20px;*/
    display: none;
}

.metaslider.metaslider-testimonials .slides .caption-wrap .caption-wrap .caption {
    text-align: left;
}

.metaslider.metaslider-testimonials .slides .caption-wrap .caption-wrap .caption h3 {
    margin-bottom: 0;
}

.metaslider.metaslider-testimonials .slides .caption-wrap .star-row {
    display: flex;
    justify-content: start;
}

.metaslider.metaslider-testimonials .slides .caption-wrap .star-row img {
    width: 30px;
    height: 30px;
    flex: 0 0 auto;
    margin: 20px 5px;
}

.metaslider.banner-sparte .banner-header {
    color: var(--e-global-color-secondary);
    font-weight: 700;
    height: clamp(48px, 6vw, 80px);
    transform: translateY(.1675em);
    font-size: clamp(48px, 6vw, 80px);
    line-height: clamp(48px, 6vw, 80px);
}

.metaslider.banner-sparte .caption-wrap {
    opacity: 1;
}

.metaslider.banner-sparte .caption-wrap .caption {
    padding: 0;
}


/* Banner über gesamte Breite: */
.banner-fullwidth {
    width: 100%;
}

.banner-fullwidth .elementor-widget-container img {
    width: 100%;
    object-fit: cover;
}

.banner-fullwidth.from-bottom .elementor-widget-container img {
    object-position: 0 100%;
}

.banner-fullwidth.from-top .elementor-widget-container img {
    object-position: 0 0;
}

.banner-fullheight.banner-fullwidth .elementor-widget-container img {
    height: calc(100vh - var(--site-header-height));
}

.banner-fullwidth .elementor-widget-image .widget-image-caption,
.banner-fullwidth .metaslider .caption-wrap {
    color: var(--e-global-color-secondary);
    font-weight: 700;
    height: clamp(48px, 6vw, 80px);
    opacity: 1;
    transform: translateY(.1375em);
    font-size: clamp(48px, 6vw, 80px);
    line-height: clamp(48px, 6vw, 80px);
    text-align: center;
    text-shadow: 1px 1px .5rem #0004;
    display: flex;
    align-items: end;
}

.banner-fullwidth .metaslider .caption-wrap .caption {
    flex: 0 0 100%;
    padding: 0;
    width: 100%;
}


/* Special custom definitions */
ul.contact {
    list-style: none
}

.li-item-location {
    list-style-image: url('/wp-content/uploads/2025/06/icon_location.svg');
}

.li-item-email {
    list-style-image: url('/wp-content/uploads/2025/06/icon_email.svg');
}

.li-item-phone {
    list-style-image: url('/wp-content/uploads/2025/06/icon_phone.svg');
}

/* Footer */
footer {
    background-color: var(--color-menu-bg);
    color: var(--color-menu-font);
}

footer a:visited,
footer a:focus,
footer a:hover {
    color: var(--color-menu-font);
}


footer .site-primary-footer-wrap[data-section="section-primary-footer-builder"] {
    background-color: transparent !important;
    border: none;
}

footer a,
footer a:hover,
footer a:focus {
    color: var(--color-menu-font);
    text-decoration: underline;
}

footer .footer-logo {
    width: 100%;
    max-width: calc(var(--wp--custom--ast-container-width) / 12 * 5);
    margin: 0 auto;
}

.site-above-footer-wrap,
.site-below-footer-wrap {
    max-width: calc(100% - 40px);
    margin-left: auto;
    margin-right: auto;
}

.site-above-footer-wrap {
    display: grid;
    width: 100%;
    margin-top: 60px;
}

.site-below-footer-wrap {
    padding: 0;
}

.site-below-footer-wrap[data-section="section-below-footer-builder"] {
    background-color: var(--color-background-light);
    max-width: 100%;
    width: 100%;
}

.site-below-footer-wrap[data-section="section-below-footer-builder"] > * {
    margin-left: auto;
    margin-right: auto;

}

.site-above-footer-wrap[data-section="section-above-footer-builder"] .ast-builder-grid-row,
.site-above-footer-wrap[data-section="section-above-footer-builder"] .site-footer-section {
    align-items: baseline;
}

.footer-social-inner-wrap {
    display: flex;
    flex-wrap: wrap;
    gap: 60px;
    justify-content: center;
}

.footer-social-inner-wrap > * {
    margin: 0;
}

footer .ast-builder-social-element svg,
.ast-footer-social-1-wrap .ast-builder-social-element svg {
    fill: var(--color-menu-font);
    height: 40px;
    width: 40px;
}

footer #astra-footer-menu a {
    text-decoration: none;
}

/* Basic Content */
.has-text-align-center {
    text-align: center;
}

.ast-builder-grid-row-container.ast-builder-grid-row-mobile-full .ast-builder-grid-row {
    max-width: calc(100% - 32px);
}


/* Elementor Defaults */
/* Elementor Container: */
.e-flex.we-cols-auto,
.e-grid.we-cols-auto {
    display: flex;
    margin: 0 auto;
    width: auto;
}

.e-con.we-cols-auto > *,
.e-con.we-cols-auto > .e-con-inner {
    width: auto;
    flex: 0 0 auto;
}

.e-con.we-cols-auto > .e-con-inner {
    display: flex;
}

.e-con.we-cols-auto .elementor-widget-image img {
    margin-top: -5px;
}

.e-con.we-cols-auto .elementor-widget-text-editor p {
    margin: 0;
}

.we-cols-center > .e-con-inner > .e-con > .elementor-widget-text-editor,
.we-cols-left > .e-con-inner > .e-con > .elementor-widget-text-editor,
.we-cols-right > .e-con-inner > .e-con > .elementor-widget-text-editor {
    padding-left: 0;
}


.e-con.we-cols-center > .e-con-inner,
.e-con.we-cols-center > .elementor-element {
    margin-left: auto;
    margin-right: auto;
}

.e-con.we-cols-left > .e-con-inner,
.e-con.we-cols-left > .elementor-element {
    margin-left: 0;
    margin-right: auto;
}

.e-con.we-cols-right > .e-con-inner,
.e-con.we-cols-right > .elementor-element {
    margin-left: auto;
    margin-right: 0;
}

.e-con.we-cols-4 > .e-con-inner,
.e-con.we-cols-4 > .elementor-element,
.elementor.elementor .e-con.we-cols-4 > .e-con-inner,
.elementor.elementor .e-con.we-cols-4 > .elementor-element {
    max-width: calc(var(--container-4-width) - 2rem);
    width: 100%;
}

.e-con.we-cols-6 > .e-con-inner,
.e-con.we-cols-6 > .elementor-element,
.elementor.elementor .e-con.we-cols-6 > .e-con-inner,
.elementor.elementor .e-con.we-cols-6 > .elementor-element {
    max-width: calc(var(--container-6-width) - 2rem);
    width: 100%;
}

.e-con.we-cols-8 > .e-con-inner,
.e-con.we-cols-8 > .elementor-element,
.elementor.elementor .e-con.we-cols-8 > .e-con-inner,
.elementor.elementor .e-con.we-cols-8 > .elementor-element {
    /*max-width: calc(var(--container-8-width) - 2rem);*/
    max-width: var(--container-8-width);
    width: 100%;
}

.e-con.we-cols-10 .e-con-inner,
.e-con.we-cols-10 .elementor-element,
.elementor.elementor .e-con.we-cols-10 .e-con-inner,
.elementor.elementor .e-con.we-cols-10 .elementor-element {
    /*max-width: calc(var(--container-10-width) - 2rem);*/
    max-width: var(--container-10-width);
    width: 100%;
}

.e-con.we-flex-icons > .e-con-inner {
    display: flex;
    flex-wrap: wrap;
    --flex-direction: row;
}

.e-con.we-flex-icons > .e-con-inner > * {
    flex: 0 0 100%;
    max-width: calc(100% - 2rem);
    width: 100%;
}

.e-con.we-flex-icons .elementor-widget-image img {
    height: 100%;
    margin-left: auto;
    margin-right: auto;
    max-height: 200px;
    max-width: 200px;
    object-fit: contain;
    width: 100%;
}

.e-con.we-flex-icons .elementor-widget-text-editor {
    font-size: 1rem;
}

.we-gallery .e-con {
    --padding-block-start: 8px;
    --padding-block-end: 8px;
}

.we-gallery .elementor-widget-image img {
    object-fit: cover;
    height: 100%;
    width: 100%;
}


/* Elementor Accordion */
.elementor-widget-n-accordion .e-n-accordion-item {
    border-top: 1px solid var(--e-global-color-primary);
    border-bottom: 1px solid var(--e-global-color-primary);
}

.elementor-widget-n-accordion .e-n-accordion-item .e-con {
    --padding-block-start: 8px;
}

.elementor-widget-n-accordion .e-n-accordion-item:first-child {
    border-top: 2px solid var(--e-global-color-primary);
}

.elementor-widget-n-accordion .e-n-accordion-item:last-child {
    border-bottom: 2px solid var(--e-global-color-primary);
}

.elementor-widget-n-accordion .e-n-accordion-item .e-n-accordion-item-title-text {
    font-size: var(--font-size-h3);
    font-weight: 600;
    color: var(--e-global-color-primary);
}

.elementor-widget-n-accordion .e-n-accordion-item .e-n-accordion-item-title {
    border: none;
    padding: 2rem 7rem 2rem 0;
    hyphens: auto
}

.elementor-widget-n-accordion .e-n-accordion-item > .elementor-element {
    border: none;
    border-top: 2px solid var(--e-global-color-primary);
}

.elementor-widget-n-accordion .e-n-accordion-item .elementor-element {
    padding-left: 0;
    padding-right: 0;
}

.elementor-widget-n-accordion .e-n-accordion-item .elementor-widget-text-editor {
    /* font-size: var(--font-size-base); */
}

.elementor-widget-n-accordion .e-n-accordion-item .e-n-accordion-item-title-icon {
    position: absolute;
    right: 2rem;
}

.elementor-widget-n-accordion .e-n-accordion-item-title-icon span {
    height: 54px;
    width: 54px;
    max-height: 54px;
    max-width: 54px;
    transform: rotate(0deg);
    transform-origin: center;
    /*    transition: transform .2s ease-in-out 0s; */
}

.elementor-widget-n-accordion .e-n-accordion-item .e-n-accordion-item-title-icon .e-opened svg,
.elementor-widget-n-accordion .e-n-accordion-item .e-n-accordion-item-title-icon .e-closed svg {
    display: none;
}

.elementor-widget-n-accordion .e-n-accordion-item .e-n-accordion-item-title-icon .e-opened::after,
.elementor-widget-n-accordion .e-n-accordion-item .e-n-accordion-item-title-icon .e-closed::after {
    display: block;
    content: url("data:image/svg+xml,%3Csvg id='icon_arrow_down_up' data-name='icon arrow down up' xmlns='http://www.w3.org/2000/svg' width='54' height='54' viewBox='0 0 54 54'%3E%3Cpath id='Path_1' data-name='Path 1' d='M28.125,1.128a27,27,0,1,1-27,27,27,27,0,0,1,27-27ZM11.579,44.674a23.316,23.316,0,1,0-5.016-7.439A23.316,23.316,0,0,0,11.579,44.674Z' transform='translate(-1.125 -1.128)' fill='%2354595f'/%3E%3Cpath id='Path_2' data-name='Path 2' d='M17.486,11.6l1.591-1.591L27.07,18,19.077,26l-1.591-1.591,5.277-5.277H9.584v-2.25H22.763L17.486,11.6Z' transform='translate(44.996 8.416) rotate(90)' fill='%2354595f'/%3E%3C/svg%3E");
}

.elementor-widget-n-accordion .e-n-accordion-item .e-n-accordion-item-title-icon .e-opened::after {
    transform: rotate(180deg);
}


/* Formulare */
form {
    color: var(--e-global-color-primary);
}

form fieldset {
    border: none;
    border-radius: 0;
}

*::placeholder {
    opacity: .8;
    color: var(--e-global-color-primary);
}

input:not([type="submit"]):focus::placeholder,
select:focus::placeholder,
textarea:focus::placeholder {
    opacity: .5;
}

input:not([type="submit"]),
select,
textarea {
    border-radius: 0;
    border: 2px solid transparent;
    border-bottom: 2px solid var(--e-global-color-primary);
    color: var(--e-global-color-primary);
    font-size: 1.25rem;
    padding-left: 0;
}

textarea,
input[type="submit"] {
    border: 2px solid var(--e-global-color-primary);
}

textarea::placeholder {
    opacity: .4;
}

textarea:focus::placeholder {
    opacity: .2;
}

input:not([type="submit"]),
select {
    height: 40px;
}

.wpcf7 input.wpcf7-form-control:not([type="submit"]) {
    padding-left: 0;
}

input[type="submit"] {
    background-color: transparent;
    border-radius: 0;
    color: var(--e-global-color-primary);
    width: 100%;
    transition: all .2s ease-in-out 0s;
}

input[type="submit"]:focus,
input[type="submit"]:hover {
    background-color: var(--e-global-color-primary);
    border-color: var(--e-global-color-primary);
    color: var(--e-global-color-secondary);
}


.wpcf7 input.wpcf7-form-control:not([type="submit"]):focus,
.wpcf7 select.wpcf7-form-control:focus,
.wpcf7 textarea.wpcf7-form-control:focus {
    background-color: var(--color-background-bright);
    border: 2px solid transparent;
    border-bottom-color: #000;
    box-shadow: none;
    outline: none;
    color: #000;
}


/* Buttons */
.elementor-widget-button {
    --e-icon-list-icon-size: 80px;
    --icon-vertical-offset: 0px;
}

.elementor-widget-button .elementor-button {
    align-items: center;
    background-color: transparent;
    border: 2px solid var(--e-global-color-text);
    border-radius: 0;
    color: var(--e-global-color-text);
    display: inline-flex;
    min-height: 80px;
    hyphens: none;
    padding: 0;
    line-height: 1.33;
}

.elementor-widget-button .elementor-button:focus,
.elementor-widget-button .elementor-button:hover {
    background-color: var(--e-global-color-primary) !important;
    color: var(--e-global-color-secondary) !important;
}

.elementor-widget-button .elementor-button:focus .elementor-button-icon svg {
    fill: var(--e-global-color-secondary);
}

.elementor-widget-button .elementor-button:focus .elementor-button-icon svg,
.elementor-widget-button .elementor-button:hover .elementor-button-icon svg * {
    fill: var(--e-global-color-secondary);
}

.elementor-widget-button .elementor-button:hover .elementor-button-icon svg * {
    fill: var(--e-global-color-secondary);
}

.elementor-widget-button .elementor-button .elementor-button-text,
.elementor-widget-button .elementor-button .elementor-button-text {
    font-size: 1.625rem;
    font-weight: 600;
    padding: 0 1.25rem;
    @media screen and (min-width: 768px) and (max-width: 991px) {
        font-size: 1.125rem;
    }
}

.elementor-widget-button .elementor-button.elementor-button-link,
.elementor-widget-button .elementor-button.elementor-button-info,
.elementor-widget-button .elementor-button.elementor-button-success,
.elementor-widget-button .elementor-button.elementor-button-warning,
.elementor-widget-button .elementor-button.elementor-button-danger {
    background-color: transparent !important;
    border: 2px solid var(--e-global-color-text);
    color: var(--e-global-color-text);
}

.elementor-widget-button .elementor-button.elementor-button-link:focus,
.elementor-widget-button .elementor-button.elementor-button-info:focus,
.elementor-widget-button .elementor-button.elementor-button-success:focus,
.elementor-widget-button .elementor-button.elementor-button-warning:focus,
.elementor-widget-button .elementor-button.elementor-button-danger:focus {

}

.elementor-widget-button .elementor-button.elementor-button-link:hover,
.elementor-widget-button .elementor-button.elementor-button-info:hover,
.elementor-widget-button .elementor-button.elementor-button-success:hover,
.elementor-widget-button .elementor-button.elementor-button-warning:hover,
.elementor-widget-button .elementor-button.elementor-button-danger:hover {
    background-color: var(--e-global-color-primary) !important;
    color: var(--e-global-color-secondary) !important;
}

.elementor-widget-button .elementor-button .elementor-button-content-wrapper {
    align-items: center;
    gap: 0;
}

.elementor-widget-button .elementor-button .elementor-button-icon {
    height: var(--button-icon-size);
    width: var(--button-icon-size);
    object-fit: contain;
}

.elementor-widget-button .elementor-button .elementor-button-icon svg {
    fill: var(--e-global-color-text);
    padding: 15px 0;
    height: 100%;
    width: 100%;
}


/* Captcha */
.f12-captcha {
    display: flex;
    flex-wrap: wrap;
    gap: 0 var(--gap-default);
}

.f12-captcha > * {
    flex: 0 0 auto;
}

.f12-captcha > *:not(.c-header) {
    order: -1;
}

.f12-captcha input.wpcf7-form-control[type="text"] {
    background-color: white;
    border-radius: 0;
    border: 2px solid var(--e-global-color-primary);
    box-shadow: none;
    color: #111;
    font-size: 1.25rem;
    height: 50px;
    padding: 10px;
    width: 8rem;
    display: block;
    margin: .5rem 0 8px;
}

textarea:focus,
.wpcf7 textarea.wpcf7-form-control:focus,
.f12-captcha input.wpcf7-form-control[type="text"]:focus {
    border: 2px solid var(--e-global-color-primary);
}

.f12-captcha ~ p {
    display: none;
}

.f12-captcha img {
    transform: scale(1.125);
}


/* PlugIn Complianz */
.cmplz-cookiebanner {
    border-radius: 0 !important;
    border: 1px solid transparent !important;
}

.cmplz-cookiebanner .cmplz-body {
    height: calc(100% + 2px);
    border: 0;
}

.cmplz-cookiebanner .cmplz-title,
.cmplz-cookiebanner .cmplz-close,
.cmplz-cookiebanner .cmplz-message,
.cmplz-cookiebanner .cmplz-links .cmplz-link {
    color: var(--e-global-color-primary) !important;
}

.cmplz-cookiebanner .cmplz-categories .cmplz-category .cmplz-category-header .cmplz-icon.cmplz-open {
    height: 26px !important;
    width: 15px !important;
}

.cmplz-cookiebanner .cmplz-links .cmplz-link {
    font-size: var(--cmplz_link_font_size);
    text-decoration: underline;
}

.cmplz-cookiebanner .cmplz-buttons .cmplz-btn {
    background-color: var(--color-background-light) !important;
    border: 1px solid transparent !important;
    border-radius: 0 !important;
    color: var(--e-global-color-primary) !important;
}

.cmplz-cookiebanner .cmplz-buttons .cmplz-btn.cmplz-accept {
    background-color: var(--e-global-color-primary) !important;
    color: var(--e-global-color-secondary) !important;
}


@media screen and (min-width: 545px) {
    .sub-menu-container {
        max-width: 100%;
        padding-left: 20px;
        padding-right: 20px;
    }

    .ast-builder-grid-row-container.ast-builder-grid-row-tablet-2-equal .ast-builder-grid-row,
    .ast-builder-grid-row-container.ast-builder-grid-row-tablet-3-equal .ast-builder-grid-row,
    .ast-builder-grid-row-container.ast-builder-grid-row-tablet-4-equal .ast-builder-grid-row {
        grid-template-columns: 1fr;
    }

    .e-con.we-flex-icons > .e-con-inner > * {
        flex: 0 0 100%;
        max-width: 260px;
        width: 100%;
    }
}

@media screen and (max-width: 767px) {
    .e-con.we-cols-center > .e-con-inner > .e-con.e-child {
        padding-left: 10px;
        padding-right: 10px;
    }

    .econ:not(.e-con-boxed) .e-con.e-child,
    .e-con.e-child .e-con {
        padding-left: 0;
        padding-right: 0;
    }

    .text-center-mobile {
        text-align: center !important;
    }

    .text-right-mobile {
        text-align: right !important;
    }

    .metaslider.metaslider-testimonials .flexslider .slides {
        width: 100% !important;
        flex-wrap: wrap;
    }

    .metaslider.metaslider-testimonials .flexslider .slides li {
        flex: 0 0 100%;
        width: 100% !important;
        padding-left: 2rem;
        padding-right: 2rem;
    }

    .metaslider.metaslider-testimonials .flex-direction-nav {
        display: none;
    }
}


@media screen and (min-width: 768px) {
    body {
        --container-4-width: 536px;
        --container-6-width: 720px;
        --container-8-width: 720px;
    }

    .ast-builder-grid-row-container.ast-builder-grid-row-tablet-2-equal .ast-builder-grid-row {
        grid-template-columns: repeat( 2, 1fr );
    }

    .ast-builder-grid-row-container.ast-builder-grid-row-tablet-3-equal .ast-builder-grid-row {
        grid-template-columns: repeat( 3, 1fr );
    }

    .ast-builder-grid-row-container.ast-builder-grid-row-tablet-4-equal .ast-builder-grid-row {
        grid-template-columns: repeat( 4, 1fr );
    }

    .footer-social-inner-wrap {
        justify-content: start;
    }

    .e-grid.flex-as-block-on-mobiles > .e-con-inner .elementor-element > .elementor-element .elementor-icon-list-item .elementor-icon-list-icon {
        --e-icon-list-icon-size: 40px;
    }

    .e-grid.flex-as-block-on-mobiles > .e-con-inner .elementor-element > .elementor-element .elementor-icon-list-item .elementor-icon-list-text {
        font-size: 1.125rem;
    }

}

@media screen and (max-width: 991px) {

    --site-header-height: 100px;

    /* Navigation mobile */
    .main-navigation ul .menu-item .menu-link {
        text-align: center;
    }

    .main-navigation .ast-menu-toggle .ast-icon {
        border: 2px solid #fff;
        border-radius: 50%;
        height: 40px;
        width: 40px;
        display: block;
        margin: 0 auto;
        transform: rotate(0deg);
        transition: all .2s ease-in-out 0s;
    }

    .main-navigation .menu-item.ast-submenu-expanded .ast-menu-toggle .ast-icon {
        transform: rotate(180deg);
    }



    .ast-header-break-point .main-header-bar-navigation .menu-item-has-children > .ast-menu-toggle {
        position: relative;
        right: 0;
    }

    .ast-builder-menu-mobile .main-navigation .main-header-menu .sub-menu {
        margin-top: 1rem;
    }
    .ast-builder-menu-mobile .main-navigation .main-header-menu .sub-menu img {
        max-width: 120px;
        max-height: 100px;
        aspect-ratio: 16 / 9;
    }
    .ast-builder-menu-mobile .main-navigation .main-header-menu .sub-menu p:not(.custom-teaser) {
        line-height: normal;
        font-size: 1.25rem;
        margin-top:  .5rem;
    }

    .ast-builder-menu-mobile .main-navigation .main-header-menu .sub-menu .menu-link {
        font-weight: bold;
    }

    .main-header-menu .menu-item {
        margin-bottom: 1rem;
        text-align: center;
    }

    .main-header-menu .menu-item.ast-submenu-expanded,
    .main-header-menu .menu-item.ast-submenu-expanded .menu-item:not(:last-child) {
        margin-bottom: 5rem;
    }

    .main-header-menu > .menu-item p {
        margin-bottom: 0;
    }

    .main-header-menu > .menu-item.ast-submenu-expanded .sub-menu .custom-teaser {
        font-weight: normal;
        display: block;
    }

    .ast-header-break-point .ast-icon.icon-arrow svg {
        display: none;
        /*padding: 0;margin: 10px -10px;position: absolute;width: 20px;height: 20px;fill: #fff;*/
    }

    .ast-header-break-point .ast-icon.icon-arrow::after {
        display: block;
        content: url('/wp-content/uploads/2025/06/icon-arrow-up-white.svg');
        margin-top: -4px;
    }

    .ast-header-break-point .main-navigation ul .sub-menu .menu-item:not(.menu-item-has-children) .menu-link .icon-arrow:first-of-type {
        display: none;
    }

    /*  Metaslider mobile*/
    .metaslider.metaslider-team .flex-viewport {
        margin-left: calc(50vw - 150px);
    }

    .metaslider.metaslider-partner .flex-viewport {
        margin-left: calc(50vw - 130px);
    }

    .metaslider.metaslider-team .flexslider .slides li,
    .metaslider.metaslider-partner .flexslider .slides li {
        background-color: #0000;
        /*width: 100% !important;*/
        /*max-width: calc(100vw - 50px);*/
    }


    .multicolumn > .elementor-widget:not(:first-child:last-child) {
        margin-top: 20px;
        margin-bottom: 20px;
    }

    .multicolumn > .elementor-widget-image .elementor-widget-container {
        padding: 0;
        text-align: center;
    }

    /* button-menu on mobiles */
    .e-grid.flex-as-block-on-mobiles > .e-con-inner .elementor-element > .elementor-element {
        display: block;
    }

    .text-center-mobile {
    }

    .text-right-mobile {
    }
}


@media screen and (min-width: 922px) {
    /* wegen astra theme */
    /* Navigation */
    header .main-header-bar-wrap {
        position: fixed;
    }

    .main-header-bar-navigation {
        top: 22px;
        position: relative;
    }

    #ast-desktop-header .ast-container {
        max-width: var(--ast-normal-container-width);
        padding-left: 0;
        padding-right: 0;
        width: calc(100% - 40px);
    }

    .sub-menu-container {
        max-width: 1240px;
    }

    header .main-header-bar-wrap .sub-menu {
        display: flex;
        gap: 0;
        justify-content: center;
        left: 0;
        position: fixed;
        top: var(--site-header-height);
        width: 100vw;
    }

    .main-header-menu .sub-menu .menu-item {
        flex: 0 0 auto;
        width: clamp(50px, calc(100% / 6), 276px);
    }

    .main-navigation .main-header-menu .menu-link {
        font-size: 1.25rem;
        padding: 0 .625em;
    }

    .main-header-menu .menu-item.focus > .sub-menu,
    .main-header-menu .menu-item:hover > .sub-menu,
    .main-header-menu .menu-item > .sub-menu.toggled-on {
        height: calc(100vh - var(--site-header-height));
    }

    .sub-menu .menu-link {
        display: flex;
        flex-wrap: wrap;
        flex-direction: column;
        padding: 20px;
    }

    .sub-menu .menu-link img {
        height: 100%;
        max-height: 100px;
        max-width: 200px;
        object-fit: contain;
        width: 100%;
        margin-bottom: 20px;
    }

    .sub-menu .custom-teaser {
        display: block;
    }
}


@media screen and (min-width: 992px) {
    body {
        --container-6-width: 810px;
        --container-8-width: 960px;
        --site-header-height: 130px;

        --font-size-default: 20px;
        --font-size-h1: 60px;
        --font-size-h2: 60px;
        --font-size-h3: 26px;
        --font-size-h4: 16px;

        .e-con {
            --padding-block-start: 8px;
            --padding-block-end: 8px;
        }

        font-size: 1.25rem;
    }

    .text-center-desktop {
        text-align: center !important;
    }

    .text-right-desktop {
        text-align: right !important;
    }


    /* Navigation */
    .main-header-bar-navigation {
        top: 0;
    }

    .main-navigation .main-header-menu .menu-link {
        font-size: 1.5rem;
    }


    /* Multicolumn */
    .e-con.e-grid.multicolumn.multicolumn-1-2-1 {
        grid-template-columns: 1fr 2fr 1fr;
        align-items: center;
        padding-top: 4px;
        --padding-block-start: 4px;
        --padding-block-end: 4px;
    }

    .e-con.e-grid.multicolumn.multicolumn-1-3-1 {
        grid-template-columns: 1fr 3fr 1fr;
        align-items: center;
    }

    .multicolumn.multicolumn-1-2-1 *,
    .multicolumn.multicolumn-1-3-1 * {
        margin-bottom: 0;
    }

    /* Forms */
    form {
        gap: 50px;
    }

    form fieldset {
        padding: 0;
    }

    form .wpcf7-response-output:empty {
        display: none;
    }

    input:not([type="submit"]),
    select,
    textarea {
        font-size: 1.5rem;
    }

    .f12-captcha input.wpcf7-form-control[type="text"] {
        font-size: 1.5rem;
        width: 10rem;
    }

    /* Footer */
    footer > * > * {
        margin-left: auto;
        margin-right: auto;
        max-width: var(--ast-normal-container-width);
        width: 100%;
    }

    .site-above-footer-wrap {
        margin: 100px auto 0;
    }

    /* Elementor Container */
    .we-cols-center > .e-con-inner > .e-con > .elementor-widget-text-editor:not(:last-child),
    .we-cols-left > .e-con-inner > .e-con > .elementor-widget-text-editor:not(:last-child),
    .we-cols-right > .e-con-inner > .e-con > .elementor-widget-text-editor:not(:last-child) {
        padding-right: var(--col-default);
    }

    .e-con > .elementor-widget-text-editor:not(:last-child) .elementor-widget-container h1,
    .e-con > .elementor-widget-text-editor:not(:last-child) .elementor-widget-container h2,
    .e-con > .elementor-widget-text-editor:not(:last-child) .elementor-widget-container h3 {
        margin-bottom: .375em;
        margin-right: calc(100px - var(--col-default));
        letter-spacing: -.025em;
        line-height: 1.0625em
    }

    .e-con > .elementor-widget-text-editor:not(:last-child) .elementor-widget-container h3 {
        margin-bottom: 20px;
    }

    .e-grid.flex-as-block-on-mobiles > .e-con-inner .elementor-element > .elementor-element .elementor-icon-list-item .elementor-icon-list-icon {
        --e-icon-list-icon-size: 80px;
    }

    .e-grid.flex-as-block-on-mobiles > .e-con-inner .elementor-element > .elementor-element .elementor-icon-list-item .elementor-icon-list-text {
        font-size: 1.625rem;
    }
}

@media screen and (min-width: 1280px) {
    body {
        --container-6-width: 810px;
        --container-8-width: 1120px;
        --container-10-width: 1364px;
    }

    .main-navigation .main-header-menu .menu-link {
        padding: 0 1em;
    }

    .elementor-widget-n-accordion .e-n-accordion-item > summary + .elementor-element > .elementor-widget-text-editor,
    .elementor.elementor .elementor-widget-n-accordion .e-n-accordion-item > summary + .elementor-element > .elementor-widget-text-editor {
        max-width: 75%;
    }

}

@media screen and (min-width: 1520px) {
    .we-cols-4 form.wpcf7-form .form-flex,
    .we-cols-6 form.wpcf7-form .form-flex {
        display: flex;
        flex-wrap: wrap;
        gap: 0 50px;
        margin-left: -50%;
        width: 200%;
    }

    .we-cols-4 form.wpcf7-form .form-flex fieldset,
    .we-cols-6 form.wpcf7-form .form-flex fieldset {
        border: none;
        flex: 0 0 calc(50% - 25px);
    }

    .we-cols-4 form.wpcf7-form .form-flex fieldset.form-captcha,
    .we-cols-6 form.wpcf7-form .form-flex fieldset.form-captcha {
        margin: 0 auto;
        max-width: 50%;

    }
}
