/*
Theme Name:     Divi Child
Author:         Elegant Themes
Template: Divi
Text Domain:	   divi-child
Description:    Smart. Flexible. Beautiful. Divi is the most powerful theme in our collection.
*/
/* This file was modified 2019-10-13 by Aspen Grove Studios to customize metadata in header comment */


::-webkit-input-placeholder {
    /* Chrome/Opera/Safari */
    opacity: 1;
}

::-moz-placeholder {
    /* Firefox 19+ */
    opacity: 1;
}

:-ms-input-placeholder {
    /* IE 10+ */
    opacity: 1;
}

:-moz-placeholder {
    /* Firefox 18- */
    opacity: 1;
}

@font-face {
    font-family: 'Hanken Grotesk';
    src: url('HankenGrotesk-font/HankenGrotesk-Light.woff2') format('woff2'),
        url('HankenGrotesk-font/HankenGrotesk-Light.woff') format('woff');
    font-weight: 300;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Hanken Grotesk';
    src: url('HankenGrotesk-font/HankenGrotesk-Italic.woff2') format('woff2'),
        url('HankenGrotesk-font/HankenGrotesk-Italic.woff') format('woff');
    font-weight: normal;
    font-style: italic;
    font-display: swap;
}

@font-face {
    font-family: 'Hanken Grotesk';
    src: url('HankenGrotesk-font/HankenGrotesk-LightItalic.woff2') format('woff2'),
        url('HankenGrotesk-font/HankenGrotesk-LightItalic.woff') format('woff');
    font-weight: 300;
    font-style: italic;
    font-display: swap;
}

@font-face {
    font-family: 'Hanken Grotesk';
    src: url('HankenGrotesk-font/HankenGrotesk-MediumItalic.woff2') format('woff2'),
        url('HankenGrotesk-font/HankenGrotesk-MediumItalic.woff') format('woff');
    font-weight: 500;
    font-style: italic;
    font-display: swap;
}

@font-face {
    font-family: 'Hanken Grotesk';
    src: url('HankenGrotesk-font/HankenGrotesk-Thin.woff2') format('woff2'),
        url('HankenGrotesk-font/HankenGrotesk-Thin.woff') format('woff');
    font-weight: 100;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Hanken Grotesk';
    src: url('HankenGrotesk-font/HankenGrotesk-Medium.woff2') format('woff2'),
        url('HankenGrotesk-font/HankenGrotesk-Medium.woff') format('woff');
    font-weight: 500;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Hanken Grotesk';
    src: url('HankenGrotesk-font/HankenGrotesk-Regular.woff2') format('woff2'),
        url('HankenGrotesk-font/HankenGrotesk-Regular.woff') format('woff');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Hanken Grotesk';
    src: url('HankenGrotesk-font/HankenGrotesk-SemiBoldItalic.woff2') format('woff2'),
        url('HankenGrotesk-font/HankenGrotesk-SemiBoldItalic.woff') format('woff');
    font-weight: 600;
    font-style: italic;
    font-display: swap;
}

@font-face {
    font-family: 'Hanken Grotesk';
    src: url('HankenGrotesk-font/HankenGrotesk-SemiBold.woff2') format('woff2'),
        url('HankenGrotesk-font/HankenGrotesk-SemiBold.woff') format('woff');
    font-weight: 600;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Hanken Grotesk';
    src: url('HankenGrotesk-font/HankenGrotesk-ThinItalic.woff2') format('woff2'),
        url('HankenGrotesk-font/HankenGrotesk-ThinItalic.woff') format('woff');
    font-weight: 100;
    font-style: italic;
    font-display: swap;
}

@font-face {
    font-family: 'Hanken Grotesk';
    src: url('HankenGrotesk-font/HankenGrotesk-Bold.woff2') format('woff2'),
        url('HankenGrotesk-font/HankenGrotesk-Bold.woff') format('woff');
    font-weight: bold;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Hanken Grotesk';
    src: url('HankenGrotesk-font/HankenGrotesk-ExtraLightItalic.woff2') format('woff2'),
        url('HankenGrotesk-font/HankenGrotesk-ExtraLightItalic.woff') format('woff');
    font-weight: 200;
    font-style: italic;
    font-display: swap;
}

@font-face {
    font-family: 'Hanken Grotesk';
    src: url('HankenGrotesk-font/HankenGrotesk-ExtraBold.woff2') format('woff2'),
        url('HankenGrotesk-font/HankenGrotesk-ExtraBold.woff') format('woff');
    font-weight: 800;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Hanken Grotesk';
    src: url('HankenGrotesk-font/HankenGrotesk-BlackItalic.woff2') format('woff2'),
        url('HankenGrotesk-font/HankenGrotesk-BlackItalic.woff') format('woff');
    font-weight: 900;
    font-style: italic;
    font-display: swap;
}

@font-face {
    font-family: 'Hanken Grotesk';
    src: url('HankenGrotesk-font/HankenGrotesk-ExtraBoldItalic.woff2') format('woff2'),
        url('HankenGrotesk-font/HankenGrotesk-ExtraBoldItalic.woff') format('woff');
    font-weight: 800;
    font-style: italic;
    font-display: swap;
}

@font-face {
    font-family: 'Hanken Grotesk';
    src: url('HankenGrotesk-font/HankenGrotesk-Black.woff2') format('woff2'),
        url('HankenGrotesk-font/HankenGrotesk-Black.woff') format('woff');
    font-weight: 900;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Hanken Grotesk';
    src: url('HankenGrotesk-font/HankenGrotesk-BoldItalic.woff2') format('woff2'),
        url('HankenGrotesk-font/HankenGrotesk-BoldItalic.woff') format('woff');
    font-weight: bold;
    font-style: italic;
    font-display: swap;
}

@font-face {
    font-family: 'Hanken Grotesk';
    src: url('HankenGrotesk-font/HankenGrotesk-ExtraLight.woff2') format('woff2'),
        url('HankenGrotesk-font/HankenGrotesk-ExtraLight.woff') format('woff');
    font-weight: 200;
    font-style: normal;
    font-display: swap;
}



body,
p,
h1,
h2,
h3,
h4,
h5,
h6 {
    font-family: 'Hanken Grotesk' !important;
}

.pt0 {
    padding-top: 0 !important
}

.pt10 {
    padding-top: 10px !important
}

.pt20 {
    padding-top: 20px !important
}

.pt30 {
    padding-top: 30px !important
}

.pt40 {
    padding-top: 40px !important
}

.pt50 {
    padding-top: 50px !important
}

.pb0 {
    padding-bottom: 0 !important
}

.pb10 {
    padding-bottom: 10px !important
}

.pb20 {
    padding-bottom: 20px !important
}

.pb30 {
    padding-bottom: 30px !important
}

.pb40 {
    padding-bottom: 40px !important
}

.pb50 {
    padding-bottom: 50px !important
}

.mt0 {
    margin-top: 0 !important
}

.mt10 {
    margin-top: 10px !important
}

.mt20 {
    margin-top: 20px !important
}

.mt30 {
    margin-top: 30px !important
}

.mt40 {
    margin-top: 40px !important
}

.mt50 {
    margin-top: 50px !important
}

.mb0 {
    margin-bottom: 0 !important
}

.mb10 {
    margin-bottom: 10px !important
}

.mb20 {
    margin-bottom: 20px !important
}

.mb30 {
    margin-bottom: 30px !important
}

.mb40 {
    margin-bottom: 40px !important
}

.mb50 {
    margin-bottom: 50px !important
}

.page-id-54528 .common_cta_section,
.dn {
    display: none !important
}

.mb1rem {
    margin-bottom: 1rem !important;
}

.mt1rem {
    margin-top: 1rem !important;
}

.et_pb_row {
    width: 90%;
}

.et_pb_button.primary_btn,
.primary_btn,
.wpkontakt_forms .wpforms-submit {
    transition: all 0.3s;
    background: #345064;
    box-shadow: 0px 0px 9px #34506426;
    padding: 20px 25px !important;
    display: inline-block;
    border-radius: 0px;
    border: 1px solid #345064;
    cursor: pointer;
    font-weight: bold;
    font-size: 16px;
    color: #fff;
    line-height: 1.3 !important;
    overflow: hidden;
    text-align: center;
    min-width: 200px;
}

.et_pb_button.primary_btn:hover,
.primary_btn:hover {
    border: 1px solid #345064;
    color: #345064;
    background: #00000000;
}

.et_pb_button.primary_btn:hover:after,
.primary_btn:hover:after,
.et_pb_button.secondary_btn:hover:after,
.secondary_btn:hover:after {
    display: none;
}

.et-db #et-boc .et-l .et_pb_module div.wpforms-container-full .wpforms-form button[type=submit],
.et_pb_button.secondary_btn,
.secondary_btn {
    transition: all 0.3s;
    background: #ffffff;
    padding: 20px 25px !important;
    display: inline-block;
    border-radius: 0;
    border: 1px solid #345064;
    cursor: pointer;
    font-weight: bold;
    font-size: 16px;
    color: #345064;
    line-height: 1.3 !important;
    overflow: hidden;
    text-align: center;
    min-width: 170px;
}

.et-db #et-boc .et-l .et_pb_module div.wpforms-container-full .wpforms-form button[type=submit]:hover,
.et_pb_button.secondary_btn:hover,
.secondary_btn:hover {
    border: 1px solid #345064;
    color: #fff;
    background: #345064;
}

h1,
h2,
h3,
h4,
h5,
h6 {
    line-height: 1.2 !important;
}

.white_text h1,
.white_text h2,
.white_text h3,
.white_text h4,
.white_text h5,
.white_text h6,
.white_text p,
.white_text strong,
.white_text span,
.white_text a,
.white_text ul li,
.white_text .et_pb_text_inner {
    color: #fff !important;
}

.text_center h1,
.text_center h2,
.text_center h3,
.text_center h4,
.text_center h5,
.text_center h6,
.text_center p,
.text_center span,
.text_center a,
.text_center ul li,
.text_center .et_pb_text_inner {
    text-align: center !important;
}

.h1_class h1,
.h2ash1_class h2 {
    font-size: 50px;
    font-weight: bold;
    color: #14171C;
}

.h2_class h2 {
    font-size: 40px;
    font-weight: bold;
    color: #14171C;
    padding-bottom: 1rem;
}

.h3_class h3 {
    font-size: 28px;
    font-weight: bold;
    color: #14171C;
}

.h4_class h4 {
    font-size: 24px;
    font-weight: bold;
    color: #14171C;
}

.h5_class h5 {
    font-size: 20px;
    font-weight: bold;
    color: #14171C;
}

body p,
html body {
    font-size: 20px;
    font-weight: 300;
    color: #14171C;
    line-height: 1.7;
}

body .font-18 p {
    font-size: 18px !important;
}

span.readmore_btn:after,
a.readmore_btn:after {
    font-family: ETmodules !important;
    content: "\22";
    position: absolute;
    top: 50%;
    transform: translate(0, -50%);
    right: 0;
}

body a.readmore_btn,
body span.readmore_btn {
    color: #345064;
    font-weight: 600;
    display: inline-block;
    position: relative;
    padding-right: 20px;
    text-decoration: none;
    cursor: pointer;
    border-bottom: 2px solid #345064;
    transition: all 0.3s;
}

span.readmore_btn.active:after,
a.readmore_btn.active:after {
    content: "\21";
}

span.readmore_btn:hover,
a.readmore_btn:hover {
    border-bottom: 2px solid #14171C;
    color: #14171C;
}

span.readmore_btn.active,
a.readmore_btn.active {
    margin-top: 1rem;
}

.anchor_link_class a {
    transition: all 0.3s;
    text-decoration: underline;
    color: #14171C;
    transition: all 0.3s;
}

.anchor_link_class a:hover {
    color: #345064;
}

.dotmrk_list ul,
.checkmrk_list ul {
    list-style: none;
    padding-left: 0;
}

.dotmrk_list li,
.checkmrk_list li {
    position: relative;
    padding-left: 32px;
    line-height: 1.7
}

.dotmrk_list li:before,
.checkmrk_list li:before {
    content: "\4e";
    font-family: ETmodules !important;
    position: absolute;
    left: 0;
    top: -1px;
    font-weight: bold;
    color: #345064;
    font-size: 22px;
}

.dotmrk_list li {
    padding-left: 24px;
}

.dotmrk_list li:before {
    content: "\5e";
    top: 0px;
    font-size: 20px;
}

ul.social_link {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
}

ul.social_link li {
    margin-right: 7px
}

ul.social_link a {
    display: block;
    background: #345064;
    color: #fff;
    height: 30px;
    width: 30px;
    line-height: 30px;
    text-align: center;
    transition: all 0.3s;
    border: 1px solid #345064;
}

ul.social_link a:hover {
    border: 1px solid #345064;
    background: rgba(0, 0, 0, 0);
    color: #345064;
}

.footer_blurb_module .et_pb_main_blurb_image {
    width: 30px;
    margin-right: 10px;
    margin-bottom: 0;
}

.footer_blurb_module .et_pb_blurb_container {
    width: calc(100% - 40px);
    padding-left: 0;
}

.footer_blurb_module .et_pb_blurb_content {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
}

.wpkontakt_forms input[type='text'],
.wpkontakt_forms input[type='tel'],
.wpkontakt_forms input[type='email'],
.wpkontakt_forms select,
.wpkontakt_forms textarea {
    width: 100% !important;
    border: none !important;
    border-bottom: 1 solid #ddd !important;
    font-size: 16px !important;
    transition: all 0.3s !important;
    margin-bottom: 5px !important;
    max-width: 100% !important;
    height: auto !important;
    min-height: 45px !important;
}

.et-db #et-boc .et-l .et_pb_module div.wpforms-container-full .wpforms-form label.wpforms-error {
    color: #fff;
}

.et-db #et-boc .et-l .et_pb_module div.wpforms-container-full .wpforms-form textarea {
    min-height: 100px !important;
}

.et-db #et-boc .et-l .et_pb_module .wpforms-form .anchor_link_class a {
    text-decoration: underline;
}

.wpkontakt_forms div.wpforms-container-full .wpforms-form .wpforms-captcha-math input {
    width: 100px !important;
}

.custom_fileupload_text {
    display: flex;
    gap: 10px;
    align-items: center;
    flex-wrap: wrap;
}

.custom_fileupload_text * {
    color: #fff;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
    padding-top: 0 !important;
}

.kontakt_form_row .custom_fileupload_text * {
    color: #14171C;
}

.kontakt_form_row .wpkontakt_forms input[type='text'],
.kontakt_form_row .wpkontakt_forms input[type='tel'],
.kontakt_form_row .wpkontakt_forms input[type='email'],
.kontakt_form_row .wpkontakt_forms select,
.kontakt_form_row .wpkontakt_forms textarea {
    border: 1px solid #ddd !important;
}

.et-db #et-boc .et-l .et_pb_module div.wpforms-field-file-upload input[type=file] {
    width: 110px;
    color: transparent;
}

.custom_fileupload_text .wpforms-field-description {
    font-size: 16px !important;
}

.secondary_header_class {
    min-height: 450px;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
}

body p#CookieBoxTextDescription>span {
    display: none !important;
    opacity: 0;
}

.wpforms_class input[type=text],
.wpforms_class input[type=tel],
.wpforms_class input[type=email] {
    width: 100% !important;
    max-width: 100% !important;
}

.wpkontakt_forms .wpforms-field-captcha input[type=text] {
    width: 75px !important;
    max-width: 75px !important;
    display: inline-block !important;
}

.wpkontakt_forms p.wpforms-captcha-question {
    display: inline-block !important;
    margin-right: 10px !important
}

.et-db #et-boc .et-l .et_pb_module div.wpforms-container-full {
    margin-top: 0;
    margin-bottom: 0;
}

.custom_top_header {
    background-color: #345064;
}

.custom_top_header .et_pb_column {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
}

.custom_top_header .topbar_blurb {
    margin-bottom: 0 !important;
    margin-left: 25px;
}

.custom_headerwithmenu.et_pb_section {
    padding: 0;
    box-shadow: 0 0 10px #0001;
}

.custom_headerwithmenu .et_pb_row {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    padding: 15px 0;
}

.custom_headerwithmenu .header_logo,
.custom_footer_section .footer_logo {
    max-width: 220px;
}

.custom_headerwithmenu .et_pb_menu__menu>nav>ul {
    display: flex;
    gap: 10px;
}

.custom_headerwithmenu .et_pb_menu__menu>nav>ul>li {
    padding: 0 !important;
    margin-top: 0 !important;
}

.custom_headerwithmenu .et_pb_menu__menu>nav>ul>li>a {
    padding: 15px 10px !important;
    font-weight: normal;
}

header .et-menu a {
    color: #14171C;
    font-size: 18px;
}

header .et-menu li.current-menu-item>a,
header .et-menu li>a:hover {
    background-color: #345064;
    color: #fff;
    opacity: 1;
}

.custom_top_header .et_pb_row {
    padding: 10px 0;
}

header .topbar_blurb .et_pb_blurb_description {
    font-size: 16px;
}

.topbar_blurb .et_pb_blurb_description {
    color: #4A4A4A;
}

header .topbar_blurb.et_clickable .et_pb_blurb_description:hover,
header .topbar_blurb .et_pb_blurb_description,
header .topbar_blurb .et_pb_blurb_description:hover {
    color: #fff;
}

header .topbar_blurb:hover .et_pb_blurb_description {
    text-decoration: underline;
}

.topbar_blurb .et_pb_blurb_content {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
}

.topbar_blurb .et_pb_main_blurb_image {
    margin-bottom: 0 !important;
}

.topbar_blurb .et_pb_image_wrap .et-pb-icon {
    font-size: 18px !important;
    color: #fff !important;
}

.topbar_blurb .et_pb_blurb_container {
    padding-left: 0;
}

.footer_first_row {
    border-bottom: 1px solid #bbb;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
}

.custom_footer_section.et_pb_section {
    padding: 0;
}

.footer_links ul {
    list-style-type: none !important;
    padding: 0 !important;
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
}

.footer_links ul a {
    line-height: 1.7;
    color: #14171C;
    display: block;
    margin-left: 20px;
    transition: all 0.3s;
}

.footer_links ul a:hover {
    color: #345064 !important;
    text-decoration: underline !important;
}

.mainsec_absolutebtn_row {
    padding-bottom: 0;
    padding-top: 0;
    margin-bottom: 0;
    margin-top: 0;
    height: 90px;
}

.mainsec_absolutebtn_row .et_pb_column {
    display: flex;
    position: absolute;
    bottom: 0;
    left: 0;
}

.mainsec_absolutebtn_row .et_pb_column .et_pb_code {
    padding: 15px 20px 15px 50px;
    position: relative;
}

.mainsec_absolutebtn_row .et_pb_column .et_pb_code strong {
    position: relative;
}

.mainsec_absolutebtn_row .et_pb_column .et_pb_code strong:before {
    content: '';
    width: 20px;
    height: 2px;
    background-color: #f5f5f5;
    position: absolute;
    top: 50%;
    left: -7px;
    translate: -100% -50%;
}

.mainsec_absolutebtn_row .et_pb_column .et_pb_code.absolutaddress strong::before,
.mainsec_absolutebtn_row .et_pb_column .et_pb_code.absolutemail strong::before,
.mainsec_absolutebtn_row .et_pb_column .et_pb_code.absolutephone {
    background-color: #345064;
    margin-bottom: 0
}

.mainsec_absolutebtn_row .et_pb_code_inner {
    display: flex;
    flex-direction: column;
}

.mainsec_absolutebtn_row .et_pb_column .et_pb_code.absolutaddress {
    background-color: #fff;
}

.mainsec_absolutebtn_row .et_pb_column .et_pb_code.absolutemail {
    background-color: #f5f5f5;
}

.mainsec_absolutebtn_row .et_pb_code * {
    font-size: 16px;
    padding-bottom: 0;
}

.mainsec_absolutebtn_row .et_pb_code a {
    color: #14171C;
}

.mainsec_absolutebtn_row .et_pb_code a:hover {
    text-decoration: underline;
}

body .home_mainhero_section {
    min-height: 650px;
    display: flex;
    flex-direction: column;
    align-items: center;
    padding-top: 0;
    padding-bottom: 0;
}

body .home_mainhero_section.commonsecodary_header {
    min-height: 400px;
}

.home_imgcontent_row {
    display: flex;
    flex-direction: row;
    align-items: center;
}

.home_imgcontent_row .et_pb_column:first-child {
    width: 50%;
    margin-right: 0;
}

.home_imgcontent_row .et_pb_column:last-child {
    background-color: #FAFAFA;
    margin-inline-start: -100px;
    padding: 30px;
    width: calc(50% + 100px)
}

.leistungen__row_section .et_pb_row {
    visibility: hidden;
    opacity: 0;
    position: absolute;
    z-index: -1;
}

.leistungen__row_section .et_pb_row.active {
    visibility: visible;
    opacity: 1;
    position: static;
}

.leistungen__row_section .et_pb_row .et_pb_image {
    margin-bottom: 0 !important;
}

.leistungen__btn ul {
    display: flex;
    list-style: none;
    padding: 0;
    gap: 30px;
    justify-content: center;
}

.leistungen__btn ul li {
    border-bottom: 3px solid #3450647e;
    padding: 15px 30px;
    font-weight: bold;
    cursor: pointer;
    transition: all 0.3s;
    text-align: center;
    width: calc(100% / 3);
    place-content: flex-end;
}

.leistungen__btn ul li:hover,
.leistungen__btn ul li.active {
    background-color: #345064;
    border-bottom: 3px solid #345064;
    color: #fff;
}

.custom_ansprechpartner_row .et_pb_column {
    background-color: #fff;
    border-radius: 8px;
    overflow: hidden;
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.087);
    padding-bottom: 30px;
    padding-top: 30px;
}

.custom_ansprechpartner_row .et_pb_column .et_pb_image,
.custom_ansprechpartner_row .et_pb_column .et_pb_image img {
    height: 350px;
    object-fit: cover;
}

.custom_ansprechpartner_row .et_pb_column .et_pb_text_inner {
    padding-left: 20px;
    padding-right: 20px;
    text-align: center
}

.custom_ansprechpartner_row .et_pb_column .et_pb_text_inner h4 {
    padding-bottom: 0;
}

.partner_contactinfo {
    position: absolute;
    top: 175px;
    left: 50%;
    translate: -50% -50%;
    opacity: 0;
    visibility: hidden;
    transition: all 0.3s ease-in-out;
}

.custom_ansprechpartner_row .et_pb_column:hover .partner_contactinfo {
    visibility: visible;
    opacity: 1;
}

.partner_contactinfo a {
    font-size: 0;
}

.contact_person {
    display: flex;
    justify-content: center;
    gap: 10px;
    padding-top: 30px;
    padding-bottom: 20px;
}

.partner_contactfax:hover:before,
.partner_contactmail:hover:before,
.partner_contactphone:hover:before {
    background-color: #dadbdc;
    color: #345064;
}

.partner_contactfax:before,
.partner_contactmail:before,
.partner_contactphone:before {
    font-family: FontAwesome !important;
    font-weight: 900 !important;
    font-size: 20px;
    color: #fff;
    background-color: #345064;
    padding: 15px;
    transition: all 0.3s ease-in-out;
}

.custom_ansprechpartner_row a {
    color: #345064;
}

.partner_contactinfo a:hover:before {
    color: #fff;
    background-color: #345064;
}

.partner_contactphone:before {
    content: '';
}

.partner_contactmail:before {
    content: '';
}

.partner_contactfax:before {
    content: '';
    font-family: ETmodules !important;
}

.homenumber_box_row {
    display: flex;
    flex-wrap: wrap;
}

.homenumber_box_row .et_pb_column {
    background-color: #fff;
    padding: 30px 20px;
    box-shadow: 0 0 20px #0000000d;
    transition: all 0.3s;
}

.homenumber_box_row .et_pb_column:hover {
    scale: 1.05;
}

.homenumber_box_row .et_pb_column .number {
    font-size: 35px;
    line-height: 1;
    font-weight: bold;
    color: #345064;
    padding-bottom: 1rem;
}

.homenumber_box_row .homenumber_icon .et-pb-icon {
    font-size: 35px !important;
    color: #345064 !important;
    line-height: 1 !important;
    ;
}

.homenumber_box_row .homenumber_icon {
    text-align: left;
    margin-bottom: 10px !important;
}

.custom_downloadbox_row .et_pb_column {
    background-color: #fff;
    box-shadow: 0 0 20px #0000000d;
    transition: all 0.3s;
}

.custom_downloadbox_row .et_pb_column .et_pb_image {
    position: relative;
    border-bottom: 1px solid #ddd;
}

.custom_downloadbox_row .et_pb_column .et_pb_image:before {
    content: '';
    background-color: #34506478;
    height: 100%;
    width: 100%;
    position: absolute;
    z-index: 1;
    opacity: 0;
    transition: all 0.3s;
}

.custom_downloadbox_row .et_pb_column:hover .et_pb_image:after,
.custom_downloadbox_row .et_pb_column:hover .et_pb_image:before {
    opacity: 1;
}

.custom_downloadbox_row .et_pb_column .et_pb_image:after {
    content: '';
    font-size: 30px;
    color: #fff;
    background-color: #345064;
    border-radius: 50%;
    height: 60px;
    width: 60px;
    line-height: 60px;
    position: absolute;
    top: 50%;
    left: 50%;
    translate: -50% -50%;
    font-family: ETmodules !important;
    z-index: 2;
    text-align: center;
    opacity: 0;
    transition: all 0.3s;
}

.custom_downloadbox_row .et_pb_column .et_pb_text {
    padding: 0px 10px 20px;
}

.custom_downloadbox_row h4 {
    font-size: 22px;
}

p.jobs_nopostfound {
    font-weight: bold;
    text-align: center;
}

.jobpost_toggle_container>.et_pb_module {
    box-shadow: 0 0 10px #0001;
    padding: 30px;
    background-color: #fff;
    overflow: hidden;
}

.jobpost_toggle_container>.et_pb_module>.et_pb_toggle_title h5 {
    font-size: 24px;
    font-weight: bold;
    color: #0A080F;
}

.jobpost_toggle_container>.et_pb_module>.et_pb_toggle_title {
    position: relative;
    padding-right: 40px;
    cursor: pointer;
}

.jobpost_toggle_container>.et_pb_module>.et_pb_toggle_title:after {
    content: "\33";
    font-family: 'ETmodules';
    position: absolute;
    right: 0;
    top: 50%;
    transform: translate(0, -50%);
    line-height: 1;
    font-size: 40px;
    font-weight: bold;
    color: #345064;
    cursor: pointer;
    transition: all 0.3s;
}

.jobpost_toggle_container>.et_pb_module.et_pb_toggle_open>.et_pb_toggle_title:after {
    transform: translate(0, -50%) rotate(180deg);
}

.jobpost_toggle_container .et_pb_row {
    width: 100%;
    max-width: 100%;
}

.et_pb_section .karriere_reach_row {
    background: #fff;
    padding: 30px;
}

.karriere_reach_row .karriere_reach_blurb>div {
    max-width: 100%;
    display: flex;
    gap: 10px;
}

.karriere_reach_row .karriere_reach_blurb .et-pb-icon {
    font-size: 24px;
}

.karriere_reach_row .karriere_reach_blurb .et_pb_main_blurb_image {
    margin-bottom: 0;
    padding-top: 9px
}

.karriere_reach_row .karriere_reach_blurb.et_clickable .et_pb_blurb_description {
    transition: all 0.3s;
}

.karriere_reach_row .karriere_reach_blurb.et_clickable:hover .et_pb_blurb_description {
    color: #345064 !important;
    text-decoration: underline !important;
}

.custom_servicebox_row .et_pb_column {
    background-color: #fafafa;
    padding: 30px 20px;
    transition: all 0.3s;
}

.custom_servicebox_row .et_pb_column:hover {
    scale: 1.04;
}

.custom_servicebox_row .et_pb_column .et_pb_image_wrap {
    width: 80px;
    margin-left: 0;
}

.custom_servicebox_row .et_pb_main_blurb_image {
    margin-bottom: 1rem;
}

.project_icon_boxes .et_pb_column {
    background-color: #fff;
    padding: 30px 20px;
    box-shadow: 0 0 20px #0000000d;
    transition: all 0.3s;
}

.project_icon_boxes .et_pb_column:hover {
    scale: 1.04;
}

.project_icon_boxes .et_pb_image {
    width: 80px;
    margin-bottom: 1rem !important;
}

body .projekte_img_slider_row {
    width: calc(90% + 30px);
    max-width: calc(1280px + 30px);
}

.simple_image_slider .slick-track {
    display: flex;
    margin-bottom: 50px;
}

.simple_image_slider .slick-slide {
    margin-right: 15px;
    margin-left: 15px;
}

.simple_image_slider .slick-slide img {
    aspect-ratio: 1 / 1;
    object-fit: cover;
}

.btn.slick-arrow {
    display: block;
    position: absolute;
    bottom: -10px;
    color: #fff;
    font-size: 34px;
    border: 0;
    transition: all .3s;
    cursor: pointer;
    background-color: #345064;
    border: 1px solid #345064;
    line-height: 45px;
    height: 45px !important;
}

button.btn.slick-arrow:hover {
    border: 1px solid #345064;
    background-color: #fff;
    color: #345064;
}

button.btn.slick-arrow:before {
    font-family: ETmodules !important
}

button.btn.slick-arrow.prev:before {
    content: "#"
}

button.btn.slick-arrow.next:before {
    content: "$"
}

button.btn.slick-arrow.prev {
    left: 50%;
    z-index: 9;
    transform: translate(calc(-100% - 5px), 0)
}

button.btn.slick-arrow.next {
    right: 50%;
    transform: translate(calc(100% + 5px), 0)
}

.projekte_grid_module>div {
    display: flex;
    flex-wrap: wrap;
    gap: 30px;
}

.projekte_grid_module article {
    width: calc(100% / 3 - 20px);
    margin: 0 !important;
    padding-bottom: 30px;
    background-color: #fff;
    box-shadow: 0 0 20px #0000000d;
    transition: all 0.3s;
    display: flex;
    flex-direction: column;
}

.projekte_grid_module article>.post-content {
    margin-bottom: 0;
    margin-top: auto;
}

.projekte_grid_module article:hover {
    scale: 1.03
}

.projekte_grid_module article .entry-featured-image-url {
    margin-bottom: 1rem;
}

.projekte_grid_module article .entry-featured-image-url img {
    aspect-ratio: 3 / 2;
    object-fit: cover;
}

.projekte_grid_module article>*:not(.entry-featured-image-url) {
    padding-left: 25px;
    padding-right: 25px;
}

.projekte_grid_module article .entry-title {
    font-size: 22px;
    font-weight: bold;
    line-height: 1.2;
    color: #14171c;
    margin-bottom: 20px;
    padding-bottom: 0;
}

.projekte_grid_module article .more-link {
    display: block;
    width: fit-content;

}

.projekte_grid_module article .more-link {
    color: #345064;
    border-bottom: 2px solid #345064;
    transition: all 0.3s;
    font-weight: bold !important;
    line-height: 1.2;
}

.projekte_grid_module article .more-link:first-letter {
    text-transform: uppercase;
}

.projekte_grid_module article .more-link:after {
    content: "";
    background: url('/wp-content/uploads/2025/09/Vector-162.svg') no-repeat center top;
    height: 10px;
    width: 16px;
    filter: brightness(0) saturate(100%) invert(30%) sepia(14%) saturate(1320%) hue-rotate(162deg) brightness(89%) contrast(90%);
    transform: rotate(135deg);
    display: inline-block;
    padding-top: 5px;
    background-size: contain;
    margin-left: 5px;
    transition: all 0.3s;
}

.projekte_grid_module article .more-link:hover {
    color: #14171c;
    border-bottom: 2px solid #14171c;

}

.projekte_grid_module article .more-link:hover:after {
    filter: brightness(0) saturate(100%) invert(3%) sepia(5%) saturate(5750%) hue-rotate(216deg) brightness(82%) contrast(99%);
}

.et_pb_blurb_content {
    max-width: 100%;
}

body .homenumber_box_row .et_pb_column_1_4 .image_box_img {
    width: 100px;
}

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

    body p,
    html body {
        font-size: 18px;
    }

    .h1_class h1,
    .h2ash1_class h2 {
        font-size: 42px;
    }

    .h2_class h2 {
        font-size: 36px;
    }

    .h3_class h3 {
        font-size: 26px;
    }

    .homenumber_box_row.et_pb_row_4col {
        display: flex;
        flex-wrap: wrap;
        gap: 30px;
    }

    body .homenumber_box_row .et_pb_column_1_4 {
        width: calc(100% / 2 - 15px) !important;
        margin: 0 !important;
    }

    body .homenumber_box_row .et_pb_column_1_4 .image_box_img {
        margin-bottom: 1rem;
    }

    .projekte_grid_module article {
        width: calc(100% / 2 - 15px);
    }

    .dotmrk_list li:before {
        top: -2px;
    }

    .karriere_reach_row .karriere_reach_blurb .et-pb-icon {
        font-size: 20px;
    }

    .karriere_reach_row .karriere_reach_blurb .et_pb_main_blurb_image {
        padding-top: 5px;
    }

    .checkmrk_list li {
        padding-left: 28px;
    }

    .checkmrk_list li:before {
        top: -3px;
        font-size: 20px;
    }

    .custom_downloadbox_row h4 {
        font-size: 20px;
    }
}

@media screen and (max-width: 980px) {
    .dn_b980 {
        display: none !important
    }

    .wpkontakt_forms div.wpforms-container-full .wpforms-form .wpforms-one-half,
    .wpkontakt_forms div.wpforms-container-full .wpforms-form .wpforms-three-sixths,
    .wpkontakt_forms div.wpforms-container-full .wpforms-form .wpforms-two-fourths {
        width: 100% !important
    }

    .mobile_flex_reverse,
    .mobile_flex_reverse.et_section_specialty .et_pb_row {
        display: flex;
        flex-direction: column-reverse;
    }

    .mobile_flex_reverse .et_pb_column:first-child,
    .mobile_flex_reverse.et_section_specialty .et_pb_row .et_pb_column:first-child {
        margin-bottom: 0
    }

    .mobile_flex_reverse .et_pb_column:last-child,
    .mobile_flex_reverse.et_section_specialty .et_pb_row .et_pb_column:last-child {
        margin-bottom: 30px
    }

    .custom_footer_section .et_pb_row {
        display: flex;
        align-items: center;
    }

    .commontab_class .et_pb_image {
        text-align: left;
    }

    .custom_footer_section .et_pb_column {
        margin-bottom: 0 !important;
    }

    .custom_headerwithmenu .et_pb_row {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
    }

    .custom_footer_section .footer_first_row .et_pb_column:nth-child(1),
    .custom_headerwithmenu .et_pb_column:nth-child(1) {
        width: 200px !important;
        margin-right: 20px !important;
        margin-bottom: 0 !important;
    }

    .custom_footer_section .footer_first_row .et_pb_column:nth-child(2),
    .custom_headerwithmenu .et_pb_column:nth-child(2) {
        width: calc(100% - 220px) !important;
    }

    header .mobile_menu_bar:before {
        color: #14171C !important;
    }

    header .et_pb_menu .et_mobile_menu {
        width: calc(100% + 220px);
        left: -220px;
        border: none;
        padding: 0;
        margin-top: 30px;
    }

    header .et_mobile_menu li a {
        padding: 10px 20px;
        font-size: 16px;
        font-weight: normal;
    }

    header .et_mobile_menu li.current-menu-item>a,
    header .et_mobile_menu li a:hover,
    header .nav ul li a:hover {
        background-color: #345064;
        opacity: 1;
        color: #fff;
    }

    .custom_headerwithmenu .opened .mobile_menu_bar:before {
        content: "\4d";
    }

    .et-db #et-boc .et-l .et_pb_module div.wpforms-container-full .wpforms-form .wpforms-five-sixths,
    .et-db #et-boc .et-l .et_pb_module div.wpforms-container-full .wpforms-form .wpforms-four-sixths,
    .et-db #et-boc .et-l .et_pb_module div.wpforms-container-full .wpforms-form .wpforms-four-fifths,
    .et-db #et-boc .et-l .et_pb_module div.wpforms-container-full .wpforms-form .wpforms-one-fifth,
    .et-db #et-boc .et-l .et_pb_module div.wpforms-container-full .wpforms-form .wpforms-one-fourth,
    .et-db #et-boc .et-l .et_pb_module div.wpforms-container-full .wpforms-form .wpforms-one-half,
    .et-db #et-boc .et-l .et_pb_module div.wpforms-container-full .wpforms-form .wpforms-one-sixth,
    .et-db #et-boc .et-l .et_pb_module div.wpforms-container-full .wpforms-form .wpforms-one-third,
    .et-db #et-boc .et-l .et_pb_module div.wpforms-container-full .wpforms-form .wpforms-three-fourths,
    .et-db #et-boc .et-l .et_pb_module div.wpforms-container-full .wpforms-form .wpforms-three-fifths,
    .et-db #et-boc .et-l .et_pb_module div.wpforms-container-full .wpforms-form .wpforms-three-sixths,
    .et-db #et-boc .et-l .et_pb_module div.wpforms-container-full .wpforms-form .wpforms-two-fourths,
    .et-db #et-boc .et-l .et_pb_module div.wpforms-container-full .wpforms-form .wpforms-two-fifths,
    .et-db #et-boc .et-l .et_pb_module div.wpforms-container-full .wpforms-form .wpforms-two-sixths,
    .et-db #et-boc .et-l .et_pb_module div.wpforms-container-full .wpforms-form .wpforms-two-thirds {
        margin-left: 0;
    }

    .leistungen__btn ul {
        flex-wrap: wrap;
        gap: 15px;
    }

    .leistungen__btn ul li {
        width: 100%;
    }

    body .custom_ansprechpartner_row {
        max-width: 450px;
    }

    .home_imgcontent_row .et_pb_column:last-child,
    .home_imgcontent_row .et_pb_column:first-child {
        width: 100% !important;
        margin-inline-start: 0;
        margin-bottom: 0;
    }

    .home_imgcontent_row .et_pb_column:first-child {
        padding-left: 10px;
        padding-right: 10px;
    }

    .home_imgcontent_row .et_pb_column:first-child * {
        text-align: center;
        margin-top: -20px;
    }

    body .home_mainhero_section {
        min-height: 550px;
    }

    body .homenumber_box_row .et_pb_column_1_4 {
        width: 100% !important;
    }

    .custom_downloadbox_row {
        max-width: 320px !important;
    }
}

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

    .h1_class h1,
    .h2ash1_class h2 {
        font-size: 34px;
    }

    .h2_class h2 {
        font-size: 30px;
    }

    .h3_class h3 {
        font-size: 24px;
    }

    .h4_class h4 {
        font-size: 22px;
    }

    .h5_class h5 {
        font-size: 18px;
    }

    .mainsec_absolutebtn_row .et_pb_column .et_pb_code {
        padding: 15px 15px 15px 35px;
    }

    .mainsec_absolutebtn_row .et_pb_column .et_pb_code strong:before {
        width: 15px;
    }

    .custom_top_header .et_pb_column {
        justify-content: center;
    }

    .custom_footer_section .et_pb_row {
        flex-direction: column;
    }

    .custom_footer_section .footer_first_row .et_pb_column:nth-child(2),
    .custom_footer_section .footer_first_row .et_pb_column:nth-child(1),
    body .custom_footer_section .et_pb_row .et_pb_column {
        width: 100% !important;
        margin-right: 0 !important;
    }

    .custom_footer_section .footer_first_row .et_pb_column:nth-child(1)>div {
        margin-left: auto;
        margin-right: auto;
    }

    .custom_footer_section .et_pb_row * {
        text-align: center;
    }

    .footer_links ul {
        justify-content: center;
        margin-top: 20px;
        gap: 10px 20px;
    }

    .footer_links ul li a {
        margin: 0 !important;
    }

    .projekte_grid_module article {
        width: 100%;
    }

    .kontakt_page_head .et_pb_column {
        flex-direction: column;
    }

    body .home_mainhero_section.commonsecodary_header:has(.kontakt_page_head) {
        min-height: 500px;
    }

    .mainsec_absolutebtn_row.kontakt_page_head {
        height: 250px;
    }
}

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

    .h1_class h1,
    .h2ash1_class h2 {
        font-size: 28px;
    }

    .h2_class h2 {
        font-size: 26px;
    }

    .h3_class h3 {
        font-size: 22px;
    }

    .projekte_grid_module article .entry-title,
    .h4_class h4 {
        font-size: 20px;
    }

    .mainsec_absolutebtn_row .et_pb_column {
        flex-direction: column;
    }

    .mainsec_absolutebtn_row {
        height: 150px;
    }

    .projekte_grid_module article>*:not(.entry-featured-image-url),
    .jobpost_toggle_container>.et_pb_module,
    .et_pb_section .karriere_reach_row,
    .custom_servicebox_row .et_pb_column,
    .project_icon_boxes .et_pb_column,
    .home_imgcontent_row .et_pb_column:last-child {
        padding-left: 15px !important;
        padding-right: 15px !important;
    }

    .jobpost_toggle_container>.et_pb_module>.et_pb_toggle_title:after {
        right: -10px;
    }

    .jobpost_toggle_container>.et_pb_module>.et_pb_toggle_title {
        padding-right: 25px;
    }
}

@media screen and (min-width: 981px) {
    .vam_a980 {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
    }

    .dn_a980 {
        display: none !important
    }
}