/*
Theme Name: Erbmanufaktur
Theme URI: https://erbmanufaktur.de
Author: Notjiam
Author URI: https://www.stainfilm.com/
Description: Originally created by Notjiam, a WordPress Developer based in Thailand. Heavily modified by Dominik Stein (steindominik.de)
Tags: blog, one-column, accessibility-ready
Version: 2.21.24
Requires at least: 6.0
Tested up to: 6.3.1
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: erbmanufaktur
*/


@charset "UTF-8";

/* ====================================================================
   Accessibility - Screen Reader Only Text
   ==================================================================== */

/* WordPress Standard: Hide text visually but keep it for screen readers */
.screen-reader-text {
    border: 0;
    clip: rect(1px, 1px, 1px, 1px);
    clip-path: inset(50%);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    width: 1px;
    word-wrap: normal !important;
}

.screen-reader-text:focus {
    background-color: #f1f1f1;
    border-radius: 3px;
    box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);
    clip: auto !important;
    clip-path: none;
    color: #21759b;
    display: block;
    font-size: 0.875rem;
    font-weight: 700;
    height: auto;
    left: 5px;
    line-height: normal;
    padding: 15px 23px 14px;
    text-decoration: none;
    top: 5px;
    width: auto;
    z-index: 100000;
}

/* open-sans-regular - latin-ext_latin */
@font-face {
    font-family: 'Open Sans';
    font-style: normal;
    font-weight: 400;
    font-display: swap;
    /* Font metric overrides to reduce layout shift */
    ascent-override: 104.88%;
    descent-override: 28.71%;
    line-gap-override: 0%;
    size-adjust: 100%;
    src: url("./assets/fonts/open-sans-v34-latin-ext_latin-regular.eot");
    /* IE9 Compat Modes */
    src: local(""), url("./assets/fonts/open-sans-v34-latin-ext_latin-regular.eot?#iefix") format("embedded-opentype"), url("./assets/fonts/open-sans-v34-latin-ext_latin-regular.woff2") format("woff2"), url("./assets/fonts/open-sans-v34-latin-ext_latin-regular.woff") format("woff"), url("./assets/fonts/open-sans-v34-latin-ext_latin-regular.ttf") format("truetype"), url("./assets/fonts/open-sans-v34-latin-ext_latin-regular.svg#OpenSans") format("svg");
    /* Legacy iOS *//
}

/* open-sans-600 - latin-ext_latin */
@font-face {
    font-family: 'Open Sans';
    font-style: normal;
    font-weight: 600;
    font-display: swap;
    /* Font metric overrides to reduce layout shift */
    ascent-override: 104.88%;
    descent-override: 28.71%;
    line-gap-override: 0%;
    size-adjust: 100%;
    src: url("./assets/fonts/open-sans-v34-latin-ext_latin-600.eot");
    /* IE9 Compat Modes */
    src: local(""), url("./assets/fonts/open-sans-v34-latin-ext_latin-600.eot?#iefix") format("embedded-opentype"), url("./assets/fonts/open-sans-v34-latin-ext_latin-600.woff2") format("woff2"), url("./assets/fonts/open-sans-v34-latin-ext_latin-600.woff") format("woff"), url("./assets/fonts/open-sans-v34-latin-ext_latin-600.ttf") format("truetype"), url("./assets/fonts/open-sans-v34-latin-ext_latin-600.svg#OpenSans") format("svg");
    /* Legacy iOS */
}

/* open-sans-700 - latin-ext_latin */
@font-face {
    font-family: 'Open Sans';
    font-style: normal;
    font-weight: 700;
    font-display: swap;
    /* Font metric overrides to reduce layout shift */
    ascent-override: 104.88%;
    descent-override: 28.71%;
    line-gap-override: 0%;
    size-adjust: 100%;
    src: url("./assets/fonts/open-sans-v34-latin-ext_latin-700.eot");
    /* IE9 Compat Modes */
    src: local(""), url("./assets/fonts/open-sans-v34-latin-ext_latin-700.eot?#iefix") format("embedded-opentype"), url("./assets/fonts/open-sans-v34-latin-ext_latin-700.woff2") format("woff2"), url("./assets/fonts/open-sans-v34-latin-ext_latin-700.woff") format("woff"), url("./assets/fonts/open-sans-v34-latin-ext_latin-700.ttf") format("truetype"), url("./assets/fonts/open-sans-v34-latin-ext_latin-700.svg#OpenSans") format("svg");
    /* Legacy iOS */
}

@font-face {
    font-family: 'Kunstler Script';
    font-style: normal;
    font-display: swap;
    src: url("./assets/fonts/kunstler-script/KunstlerScript.woff2") format("woff2");
}

@font-face {
    font-family: "capitolium-2";
    src: url("./assets/fonts/capitolium-2-400.woff2") format("woff2"), url("./assets/fonts/capitolium-2-400.woff") format("woff"), url("./assets/fonts/capitolium-2-400.ttf") format("opentype");
    font-display: swap;
    font-style: normal;
    font-weight: 400;
    /* Font metric overrides to reduce layout shift */
    ascent-override: 95%;
    descent-override: 25%;
    line-gap-override: 0%;
    size-adjust: 105%;
}

@font-face {
    font-family: "capitolium-2";
    src: url("./assets/fonts/capitolium-2-700.woff2") format("woff2"), url("./assets/fonts/capitolium-2-700.woff") format("woff"), url("./assets/fonts/capitolium-2-700.ttf") format("opentype");
    font-display: swap;
    font-style: normal;
    font-weight: 700;
    /* Font metric overrides to reduce layout shift */
    ascent-override: 95%;
    descent-override: 25%;
    line-gap-override: 0%;
    size-adjust: 105%;
}

/*
** Used for Redesign V3.0 by Konstantin Nowotny (Dec 2023)
** For questions: hello@steindominik.de
*/ 

/* libre-baskerville-regular - latin */
@font-face {
    font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
    font-family: 'Libre Baskerville';
    font-style: normal;
    font-weight: 400;
    src: url('./assets/fonts/redesign/libre-baskerville-v14-latin-regular.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
  }
  /* libre-baskerville-italic - latin */
  @font-face {
    font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
    font-family: 'Libre Baskerville';
    font-style: italic;
    font-weight: 400;
    src: url('./assets/fonts/redesign/libre-baskerville-v14-latin-italic.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
  }
  /* libre-baskerville-700 - latin */
  @font-face {
    font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
    font-family: 'Libre Baskerville';
    font-style: normal;
    font-weight: 700;
    src: url('./assets/fonts/redesign/libre-baskerville-v14-latin-700.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
  }

body {
    font-family: "Open Sans", sans-serif;
    font-size: 14px;
    -webkit-font-smoothing: antialiased;
    color: #5D6872;
    line-height: 1.8em;
    padding-top: 160px;
}

@media screen and (max-width: 1199px) {
    body {
        padding-top: 150px;
    }
}

@media screen and (max-width: 991px) {
    body {
        padding-top: 105px;
    }
}

a:visited {
    color: #20497D;
}

a:hover,
a:active {
    text-decoration: none;
    color: #20497D;
}

a:focus {
    text-decoration: none;
}

a {
    color: #20497D;
}

a.color-brand2 {
    color: #BF9A70;
}

img {
    max-width: 100%;
    height: auto;
    width: auto;
}

@media screen and (max-width: 767px) {
    body.fixed-position-xs {
        position: fixed;
        width: 100%;
    }

    body.fixed-position-xs #back_to_top {
        display: none;
    }
}

.single-benefit-row {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    margin: 3rem 0px 4rem 0px;
}

/* Fix wordpress admin bar */
@media screen and (max-width: 600px) {
    #wpadminbar {
        overflow: hidden;
    }

    html body.fixed-position-xs #wpadminbar {
        top: -46px !important;
        overflow: hidden;
    }
}

.row:before,
.row:after {
    display: none !important;
}

.btn-brand {
    background: #BF9A70;
    border: 1px solid #BF9A70;
    color: #fff;
    font-size: 16px;
    padding: 5px 15px;
    border-radius: 0;
}

.margin-top-md {
    margin-top: 20px;
}

.btn-brand:hover,
.btn-brand:active {
    color: #fff;
    background: #E2B684;
    border: 1px solid #E2B684;
}

.btn-brand:visited {
    color: #fff;
}

.btn-brand.btn-lg {
    padding: 10px 20px;
}

@media screen and (max-width: 767px) {
    .btn-brand.btn-lg {
        font-size: 14px;
    }
}

.btn-brand2 {
    background: #5C86BA;
    border: 1px solid #5C86BA;
    color: #fff;
    font-size: 16px;
    padding: 5px 15px;
    border-radius: 0;
}

.btn-brand2:hover,
.btn-brand2:active {
    color: #fff;
    background: #6EA0DD;
    border: 1px solid #6EA0DD;
}

.btn-brand2:visited {
    color: #fff;
}

.btn-brand2.btn-lg {
    padding: 10px 20px;
}

@media screen and (max-width: 767px) {
    .btn-brand2.btn-lg {
        font-size: 14px;
    }
}

.btn-ghost {
    background: transparent;
    border: 2px solid #112F51;
    color: #10345F;
    font-size: 16px;
    padding: 5px 15px;
    border-radius: 0;
}

.btn-ghost:hover,
.btn-ghost:active {
    color: #fff;
    background: #10345F;
}

.btn-ghost:visited {
    color: #10345F;
}

.btn-ghost.btn-lg {
    padding: 10px 20px;
}

@media screen and (max-width: 767px) {
    .btn-ghost.btn-lg {
        font-size: 14px;
    }
}

.row-eq-height {
    display: flex;
    display: -webkit-flex;
    flex-wrap: wrap;
}

.pagination-wrapper {
    width: 100%;
    text-align: center;
}

.pagination {
    text-align: center;
    display: flex;
    justify-content: center;
}

.pagination li>a,
.pagination li>span {
    display: flex;
    align-items: center;
    text-align: center;
    justify-content: center;
    height: 34px;
    width: 34px;
    color: #4F4E4E;
    border-radius: 4px;
    margin: 0 5px;
    border: 1px solid #EFF2EC;
}

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

    .pagination li>a,
    .pagination li>span {
        margin: 0 1px;
    }
}

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

    .pagination li>a,
    .pagination li>span {
        margin: 0 -1px;
        border-radius: 0;
        width: 30px;
    }
}

.pagination li>a:hover,
.pagination li>a:focus,
.pagination li>a:visited {
    color: #4F4E4E;
}

.pagination li.active>a,
.pagination li.active>a:hover,
.pagination li.active>a:focus,
.pagination li.active>a:visited {
    color: #fff;
    background: #20497D;
    border-color: #20497D;
}

.pagination li .icon-aro-left,
.pagination li .icon-aro-right {
    position: relative;
}

.pagination li .icon-aro-left:before,
.pagination li .icon-aro-right:before {
    content: '';
    display: block;
    width: 12px;
    height: 12px;
    background: url("./images/share/aro-line-left.svg") no-repeat center center;
    background-size: contain;
    position: absolute;
    top: 11px;
    left: 10px;
}

.pagination li .icon-aro-right:before {
    background: url("./images/share/aro-line-right.svg") no-repeat center center;
    background-size: contain;
    left: 12px;
}

.breadcrumb-section {
    background: #EFF2EC;
}

.breadcrumbs-wrapper {
    margin-bottom: 0;
    padding: 7px 0;
    font-size: 13px;
}

.toc-sidebar {
    display: none;
}

.toc-sidebar.show {
    display: block;
}

.toc_list {
    padding: 0;
    list-style: none;
    font-family: capitolium-2, sans-serif;
}

.toc_list ul {
    padding-left: 10px;
    padding-bottom: 0;
    list-style: none;
}

.toc_list a {
    font-size: 12px;
    color: #5D6872;
}

@media screen and (max-width: 767px) {
    .toc_list a {
        display: block;
        font-size: 14px;
        margin-bottom: 5px;
    }
}

.toc_list>li>a {
    color: #5D6872;
}

/* Modern CTA Banner Styles */
.cta-banner-section-modern {
    background: linear-gradient(135deg, #10345f 0%, #20497D 50%, #10345f 100%);
    color: #fff !important;
    border-radius: 16px;
    padding: 0;
    box-shadow: 0 20px 60px rgba(16, 52, 95, 0.3), 0 8px 25px rgba(16, 52, 95, 0.2);
    margin-bottom: 60px;
    position: relative;
    overflow: hidden;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

.cta-banner-section-modern * {
    color: #fff !important;
}

.cta-banner-section-modern::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: linear-gradient(45deg, transparent 30%, rgba(191, 154, 112, 0.1) 50%, transparent 70%);
    animation: shimmer 3s infinite;
}

@keyframes shimmer {
    0% { transform: translateX(-100%); }
    100% { transform: translateX(100%); }
}

.cta-banner-section-modern:hover {
    box-shadow: 0 25px 80px rgba(16, 52, 95, 0.4), 0 12px 35px rgba(16, 52, 95, 0.3);
}

.cta-banner-container {
    padding: 30px;
    position: relative;
    z-index: 2;
}

.cta-banner-header-modern {
    text-align: left;
    margin-bottom: 40px;
    position: relative;
}

.cta-banner-badge {
    color: #fff;
    display: inline-block;
    border-radius: 50px;
    font-size: 19px;
    font-weight: 700;
    letter-spacing: 0.8px;
    margin-bottom: 12px;
    text-transform: uppercase;
}

.cta-banner-main-title {
    font-size: 14px;
    font-weight: 800;
    margin-bottom: 5px;
    line-height: 1.2;
    color: #fff !important;
    text-shadow: 0 3px 6px rgba(0, 0, 0, 0.4);
    letter-spacing: 0.3px;
}

.cta-banner-main-title .highlight {
    color: #bf9a70!important;
    text-shadow: 0 2px 4px rgba(191, 154, 112, 0.3)!important;
}

.cta-banner-logo {
    position: absolute;
    top: -5px;
    right: 0;
    width: 120px;
    height: 47px;
}

.cta-banner-logo img {
    width: 100%;
    height: auto;
    opacity: 0.9;
}

.property-selection-title {
    text-align: left;
    margin-bottom: 20px;
}

.property-selection-question {
    font-size: 19px;
    color: #fff !important;
    margin: 0;
    font-weight: 600;
    text-shadow: 0 2px 4px rgba(0, 0, 0, 0.5);
    line-height: 1.3;
    letter-spacing: 0.2px;
}

.property-types-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 20px;
    margin-bottom: 30px;
}

.property-type-card {
    background: rgba(255, 255, 255, 0.1);
    backdrop-filter: blur(10px);
    border: 2px solid rgba(255, 255, 255, 0.2);
    border-radius: 12px;
    padding: 25px 15px 20px 15px;
    text-align: center;
    position: relative;
    cursor: pointer;
    transition: all 0.3s ease;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    text-decoration: none !important;
    color: inherit !important;
}

.property-type-card:hover {
    text-decoration: none !important;
    color: inherit !important;
}

.property-type-card::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: linear-gradient(45deg, rgba(191, 154, 112, 0.1), rgba(191, 154, 112, 0.2));
    opacity: 0;
    transition: opacity 0.3s ease;
}

.property-type-card:hover {
    transform: translateY(-3px);
    border-color: #bf9a70;
    background: rgba(191, 154, 112, 0.2);
    box-shadow: 0 10px 30px rgba(191, 154, 112, 0.3);
}

.property-type-card:hover::before {
    opacity: 1;
}

.property-icon-wrapper {
    position: relative;
    z-index: 2;
    margin-bottom: 10px;
}

.property-icon {
    width: 80px;
    height: 80px;
    transition: all 0.3s ease;
    opacity: 1;
}

.property-type-card:hover .property-icon {
    transform: scale(1.1);
}

.property-title {
    display: block;
    font-size: 16px;
    font-weight: 600;
    color: #fff !important;
    position: relative;
    z-index: 2;
    text-shadow: 0 2px 4px rgba(0, 0, 0, 0.6);
}

.cta-banner-action-modern {
    text-align: center;
    margin-bottom: 15px;
}

.cta-button-modern {
    background: linear-gradient(45deg, #bf9a70 0%, #d4b088 100%) !important;
    color: #fff !important;
    border: none !important;
    border-radius: 50px !important;
    padding: 16px 40px !important;
    font-size: 16px !important;
    font-weight: 600 !important;
    text-decoration: none !important;
    display: inline-block !important;
    cursor: pointer !important;
    transition: all 0.3s ease !important;
    box-shadow: 0 6px 20px rgba(191, 154, 112, 0.4) !important;
    position: relative !important;
    overflow: hidden !important;
    font-family: inherit !important;
    outline: none !important;
}

.cta-button-modern::before {
    content: '' !important;
    position: absolute !important;
    top: 0 !important;
    left: -100% !important;
    width: 100% !important;
    height: 100% !important;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.2), transparent) !important;
    transition: left 0.5s ease !important;
}

.cta-button-modern:hover::before {
    left: 100%;
}

.cta-button-modern:hover {
    transform: translateY(-2px) scale(1.02) !important;
    box-shadow: 0 8px 30px rgba(191, 154, 112, 0.6) !important;
    color: #fff !important;
    text-decoration: none !important;
    background: linear-gradient(45deg, #bf9a70 0%, #d4b088 100%) !important;
}

.button-arrow {
    font-size: 18px;
    transition: transform 0.3s ease;
}

.cta-button-modern:hover .button-arrow {
    transform: translateX(5px);
}

/* Button States */
.cta-button-disabled {
    background: rgba(191, 154, 112, 0.4) !important;
    cursor: not-allowed !important;
    pointer-events: auto !important;
    border: none !important;
    border-radius: 50px !important;
    padding: 16px 40px !important;
    display: inline-block !important;
}

.cta-button-disabled:hover {
    transform: none !important;
    box-shadow: 0 6px 20px rgba(191, 154, 112, 0.2) !important;
}

.cta-button-disabled:hover::before {
    left: -100% !important;
}

.cta-button-active {
    background: linear-gradient(45deg, #bf9a70 0%, #d4b088 100%) !important;
    cursor: pointer !important;
    border: none !important;
    border-radius: 50px !important;
    padding: 16px 40px !important;
    display: inline-block !important;
    box-shadow: 0 6px 20px rgba(191, 154, 112, 0.4) !important;
}

/* CTA Banner Description */
.cta-banner-description {
    text-align: center;
    font-size: 16px;
    color: #fff !important;
    font-weight: 500;
    opacity: 0.9;
    text-shadow: 0 2px 4px rgba(0, 0, 0, 0.3);
    line-height: 1.4;
    margin: 0;
}

.cta-banner-trust-indicators {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 20px;
    opacity: 0.9;
    list-style: none;
    margin: 0;
    padding: 0;
}

.trust-item {
    display: flex;
    align-items: center;
    gap: 5px;
    font-size: 12px;
    color: #fff;
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.3);
    background: none !important;
    padding: 0 !important;
    margin: 0 !important;
    border-radius: 0 !important;
    line-height: normal !important;
}

.trust-icon {
    color: #bf9a70;
    font-weight: bold;
}

/* Responsive Design */
@media screen and (max-width: 991px) {
    .property-types-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 15px;
    }
    
    .cta-banner-header-modern {
        display: flex;
        flex-direction: column;
    }
    
    .cta-banner-logo {
        position: static;
        text-align: center;
        margin-top: 0;
        margin-bottom: 15px;
        order: -1;
    }
    
    .cta-banner-main-title {
        font-size: 24px;
    }
}

@media screen and (max-width: 767px) {
    .cta-banner-container {
        padding: 20px;
    }
    
    .property-types-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 12px;
    }
    
    .property-type-card {
        padding: 15px 10px;
    }
    
    .property-icon {
        width: 65px;
        height: 65px;
    }
    
    .property-title {
        font-size: 14px;
    }
    
    .cta-banner-main-title {
        font-size: 22px;
    }
    
    .cta-button-modern {
        padding: 14px 30px;
        font-size: 14px;
    }
    
    .cta-banner-description {
        font-size: 14px;
    }
    
    .cta-banner-trust-indicators {
        gap: 15px;
        flex-wrap: nowrap;
    }
    
    .trust-item {
        font-size: 11px;
    }
}

@media screen and (max-width: 480px) {
    .property-types-grid {
        grid-template-columns: 1fr 1fr;
        gap: 10px;
    }
    
    .cta-banner-trust-indicators {
        gap: 10px;
        flex-wrap: nowrap;
    }
}

.cta-banner-rechner-section-wrapper>hr {
    margin-bottom: 20px;
}

.cta-banner-rechner-section {
    background: #BF9A70;
    color: #fff;
    border-radius: 10px;
    padding: 30px 20px;
    margin-bottom: 20px;
}

@media screen and (max-width: 767px) {
    .cta-banner-rechner-section {
        padding: 40px 0 30px;
    }
}

.cta-banner-rechner-section .cta-banner-rechner-container {
    position: relative;
}

.cta-banner-rechner-section .image-col {
    display: flex;
    justify-content: center;
    align-items: center;
}

.cta-banner-rechner-section .image-col>.image {
    margin-top: 60px;
    width: 140px;
}

@media screen and (max-width: 991px) {
    .cta-banner-rechner-section .image-col>.image {
        width: 100px;
        margin-bottom: 15px;
    }
}

.cta-banner-rechner-section .image-col>.logo-brand {
    position: absolute;
    left: 0px;
    top: -20px;
    width: 145px;
    height: 57px;
    background: url("./images/share/logo-white@2x.png") no-repeat center center;
    background-size: contain;
}

@media screen and (max-width: 991px) {
    .cta-banner-rechner-section .image-col>.logo-brand {
        left: 50%;
        margin-left: -72px;
    }
}

@media screen and (max-width: 991px) {
    .cta-banner-rechner-section .content {
        text-align: center;
    }
}

.cta-banner-rechner-section .content>.title {
    color: #20497D;
    margin-bottom: 10px;
    font-size: 24px;
}

@media screen and (max-width: 767px) {
    .cta-banner-rechner-section .content>.title {
        font-size: 18px;
    }
}

.cta-banner-rechner-section .content>.detail {
    font-weight: bold;
    font-size: 20px;
    line-height: 1.2em;
    margin-bottom: 25px;
}

@media screen and (max-width: 767px) {
    .cta-banner-rechner-section .content>.detail {
        font-size: 18px;
    }
}

.cta-banner-rechner-section .content>.action {
    text-align: left;
}

@media screen and (max-width: 991px) {
    .cta-banner-rechner-section .content>.action {
        text-align: center;
    }
}

.cta-banner-rechner-section .content .btn-brand {
    background: #20497D;
    color: #fff!important;
    border: 1px solid #20497D;
    border-radius: 4px;
    font-size: 18px;
}

@media screen and (max-width: 767px) {
    .cta-banner-rechner-section .content .btn-brand {
        font-size: 15px;
    }
}

.cta-banner-rechner-section .content .btn-brand:hover {
    text-decoration: none;
}

/* =========================================
   Gewerbeimmobilien CTA Banner Overrides
   ========================================= */
.cta-gewerbeimmobilien-modern {
    background: #10345f;
}

.cta-gewerbeimmobilien-modern::before {
    display: none;
}

.cta-gewerbeimmobilien-modern .cta-banner-container {
    padding-top: 48px;
    padding-bottom: 48px;
}

.cta-gewerbeimmobilien-modern .cta-banner-badge {
    font-size: 28px;
    font-weight: 700;
    margin: 0 0 8px 0;
    padding: 0;
    text-transform: none;
    letter-spacing: 0;
    max-width: 540px;
}

.cta-gewerbeimmobilien-modern .cta-banner-main-title {
    margin: 0 0 5px 0;
    padding: 0;
}

.cta-gewerbeimmobilien-modern .property-selection-title {
    margin: 0 0 20px 0;
    padding: 0;
}

.cta-gewerbeimmobilien-modern .property-selection-question {
    margin: 0;
    padding: 0;
}

.cta-gewerbeimmobilien-modern .property-type-card {
    border: none;
    background: rgba(255, 255, 255, 0.08);
}

.cta-gewerbeimmobilien-modern .property-type-card:hover {
    border: none;
}

.gewerbe-icon-circle {
    width: 80px;
    height: 80px;
    border-radius: 50%;
    border: 2px solid #bf9a70;
    position: relative;
    transition: all 0.3s ease;
}

.gewerbe-icon-img {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    max-width: 38px;
    max-height: 38px;
    width: auto;
    height: auto;
}

.property-type-card:hover .gewerbe-icon-circle {
    border-color: #d4b088;
    background: rgba(191, 154, 112, 0.15);
}

@media screen and (max-width: 991px) {
    .cta-gewerbeimmobilien-modern .cta-banner-logo {
        position: static;
        align-self: flex-end;
        margin: 0 0 12px 0;
        order: -1;
    }

    .cta-gewerbeimmobilien-modern .cta-banner-main-title {
        font-size: 14px;
    }

    .cta-gewerbeimmobilien-modern .cta-banner-header-modern {
        margin-bottom: 20px;
    }
}

@media screen and (max-width: 767px) {
    .gewerbe-icon-circle {
        width: 64px;
        height: 64px;
    }

    .gewerbe-icon-img {
        max-width: 30px;
        max-height: 30px;
    }

    .cta-gewerbeimmobilien-modern .cta-banner-badge {
        font-size: 22px;
    }

    .cta-gewerbeimmobilien-modern .cta-banner-main-title {
        font-size: 13px;
    }

    .cta-gewerbeimmobilien-modern .cta-banner-header-modern {
        margin-bottom: 16px;
    }

    .cta-gewerbeimmobilien-modern .cta-banner-container {
        padding-top: 32px;
        padding-bottom: 32px;
    }
}

/* =========================================
   Gewerbeimmobilien CTA Banner Alternative
   ========================================= */
.gewerbe-cta-alt {
    background: #fff;
    border-radius: 16px;
    box-shadow: 0 4px 24px rgba(0, 0, 0, 0.08);
    padding: 64px 48px 48px 48px;
    margin-bottom: 60px;
    text-align: center;
}

.gewerbe-cta-alt__logo {
    margin-bottom: 36px;
}

.gewerbe-cta-alt__logo img {
    height: auto !important;
    width: 140px !important;
    max-width: 140px !important;
    display: block;
    margin: 0 auto;
}

.gewerbe-cta-alt__title {
    font-size: 28px;
    font-weight: 700;
    color: #1a1a1a;
    margin: 0 auto 24px auto;
    max-width: 680px;
    line-height: 1.3;
}

.gewerbe-cta-alt__subtitle {
    font-size: 15px !important;
    color: #888 !important;
    margin: 0 0 64px 0 !important;
    font-weight: 400 !important;
}

.gewerbe-cta-alt__grid {
    display: grid;
    grid-template-columns: repeat(4, 214px);
    justify-content: center;
    gap: 20px;
    margin-bottom: 32px;
}

.gewerbe-cta-alt__card {
    text-decoration: none;
    color: inherit;
    display: flex;
    width: 214px;
    height: 254px;
    padding-bottom: 0;
    flex-direction: column;
    align-items: center;
    gap: 24px;
    flex-shrink: 0;
    border: 1px solid #e0e0e0;
    border-radius: 12px;
    overflow: hidden;
    box-sizing: border-box;
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.gewerbe-cta-alt__card:hover {
    transform: translateY(-3px);
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.1);
    text-decoration: none;
    color: inherit;
}

.gewerbe-cta-alt__img-wrap {
    width: 100%;
    height: 190px;
    overflow: hidden;
    flex-shrink: 0;
}

.gewerbe-cta-alt__img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform 0.3s ease;
}

.gewerbe-cta-alt__card:hover .gewerbe-cta-alt__img {
    transform: scale(1.05);
}

.gewerbe-cta-alt__label {
    font-size: 15px;
    font-weight: 600;
    color: #1a1a1a;
    padding: 0 8px;
}

.gewerbe-cta-alt__trust {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 24px;
    list-style: none;
    margin: 0;
    padding: 0;
}

.gewerbe-cta-alt__trust-item {
    font-size: 13px;
    color: #555;
    display: flex;
    align-items: center;
    gap: 5px;
    background: none !important;
    padding: 0 !important;
    margin: 0 !important;
    border-radius: 0 !important;
    line-height: normal !important;
}

.gewerbe-cta-alt__check {
    color: #555;
    font-weight: 600;
}

@media screen and (max-width: 991px) {
    .gewerbe-cta-alt__grid {
        grid-template-columns: repeat(2, 214px);
    }
}

@media screen and (max-width: 767px) {
    .gewerbe-cta-alt {
        padding: 40px 20px 32px 20px;
    }

    .gewerbe-cta-alt__logo img {
        width: 100px !important;
        max-width: 100px !important;
    }

    .gewerbe-cta-alt__title {
        font-size: 22px;
    }

    .gewerbe-cta-alt__grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 16px;
    }

    .gewerbe-cta-alt__card {
        width: 100%;
        height: auto;
    }

    .gewerbe-cta-alt__subtitle {
        margin-bottom: 32px !important;
    }

    .gewerbe-cta-alt__card {
        gap: 12px;
    }

    .gewerbe-cta-alt__img-wrap {
        height: 140px;
    }

    .gewerbe-cta-alt__trust {
        gap: 16px;
    }

    .gewerbe-cta-alt__trust-item {
        font-size: 12px;
    }
}

@media screen and (max-width: 480px) {
    .gewerbe-cta-alt__grid {
        gap: 12px;
    }

    .gewerbe-cta-alt__label {
        font-size: 13px;
    }
}

.main-blog-container .wp-block-yoast-faq-block {
    margin-bottom: 40px;
}

.main-blog-container .wp-block-yoast-faq-block .schema-faq-section {
    border-bottom: 1px solid #EFF2EC;
    padding: 0;
}

.main-blog-container .wp-block-yoast-faq-block .schema-faq-question {
    padding: 15px 0 15px 40px;
    position: relative;
    display: block;
    cursor: pointer;
    transition: all 0.3s ease;
}

.main-blog-container .wp-block-yoast-faq-block .schema-faq-question::before {
    content: '+';
    position: absolute;
    left: 0;
    top: 15px;
    width: 29px;
    text-align: center;
    display: block;
    padding: 0 10px;
    background: #EFF2EC;
    color: #20497D;
    border-radius: 4px;
}

.main-blog-container .wp-block-yoast-faq-block .schema-faq-question:hover {
    color: #20497D;
}

.main-blog-container .wp-block-yoast-faq-block .schema-faq-answer {
    margin-bottom: 0;
    display: none;
    padding: 0 0 15px 40px;
}

.main-blog-container .wp-block-yoast-faq-block .schema-faq-section.open .schema-faq-answer {
    display: block;
}

.main-blog-container .wp-block-yoast-faq-block .schema-faq-section.open .schema-faq-question::before {
    content: '-';
}

.side-bar-container {
    max-width: 255px;
    font-family: capitolium-2, sans-serif;
}

@media screen and (max-width: 1199px) {
    .side-bar-container {
        max-width: 210px;
    }
}

@media screen and (max-width: 767px) {
    .side-bar-container {
        max-width: initial;
        margin-bottom: 20px;
    }
}

@media screen and (max-width: 991px) {
    .side-bar-container .side-box {
        flex-grow: 1;
        margin: 0 15px;
    }
}

@media screen and (max-width: 767px) {
    .side-bar-container .side-box {
        margin-bottom: 20px;
    }
}

.side-bar-container.sticky {
    position: fixed;
    top: 140px;
}

.side-bar-container.sticky-bottom {
    position: absolute;
    bottom: 0;
}

.side-bar-container .sidebar-mobile-action {
    display: none;
}

@media screen and (max-width: 767px) {
    .side-bar-container .sidebar-mobile-action {
        display: block;
    }
}

.side-bar-container .sidebar-mobile-action>.sidebar-mobile-btn {
    padding: 8px 15px;
    text-align: left;
    margin-bottom: 10px;
    width: 100%;
    display: block;
    background: transparent;
    border-radius: 4px;
    border: 1px solid #20497D;
    text-transform: uppercase;
    color: #20497D;
    font-weight: bold;
    position: relative;
    letter-spacing: 0.05em;
}

.side-bar-container .sidebar-mobile-action>.sidebar-mobile-btn>i {
    position: absolute;
    right: 15px;
    top: 50%;
    margin-top: -5px;
    color: #F8F8F8;
}

.side-bar-container .sidebar-mobile-action>.sidebar-mobile-btn.mobile-toc {
    display: none;
}

.side-bar-container .sidebar-mobile-action>.sidebar-mobile-btn.mobile-toc.show {
    display: block;
}

@media screen and (max-width: 767px) {
    .side-bar-container .sidebar-panel {
        position: absolute;
        background: #fff;
        z-index: 1000;
        left: 0;
        right: 0;
        padding: 15px;
        border-radius: 10px;
        top: -50px;
        border: 1px solid #F8F8F8;
        box-shadow: 0 10px 20px rgba(32, 73, 125, 0.15);
        display: none !important;
        opacity: 0;
    }

    .side-bar-container .sidebar-panel .close-btn {
        position: absolute;
        right: 10px;
        top: 10px;
        background: transparent;
        border: none;
        color: #F8F8F8;
        font-size: 18px;
    }

    .side-bar-container .sidebar-panel.open {
        animation: openPanel 0.3s ease-out;
        display: block !important;
        opacity: 1;
    }

    .side-bar-container .sidebar-panel.closing {
        animation: closePanel 0.2s ease;
    }
}

@keyframes openPanel {
    0% {
        transform: translateY(15px);
        opacity: 0;
        display: none;
    }

    100% {
        transform: translateY(0px);
        opacity: 1;
        display: block;
    }
}

@keyframes closePanel {
    0% {
        transform: translateY(0px);
        opacity: 1;
        display: block;
    }

    100% {
        transform: translateY(15px);
        opacity: 0;
        display: none;
    }
}

.publications-slider-tab {
    border: 1px solid #7f7f7f;
    border-bottom: none;
    cursor: pointer;
    width: 170px;
    height: 34px;
    overflow: hidden;
    background: #1f497d;
    color: #ffffff;
    padding: 2px 0px 2px 0px;
    position: fixed;
    top: 380px;
    right: -68px;
    text-align: center;
    -webkit-transform: rotate(-90deg);
    -moz-transform: rotate(-90deg);
    -ms-transform: rotate(-90deg);
    -o-transform: rotate(-90deg);
    transform: rotate(-90deg);
    z-index: 9999999;
    font-size: 14px;
}

.publications-slider-wrapper {
    display: none;
}

.publications-slider-container {
    background: #fff;
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    width: 320px;
    box-shadow: 20px 20px 46px rgba(0, 0, 0, 0.9);
    padding: 60px 20px 0;
    text-align: center;
    transform: translateX(100px);
    opacity: 0;
    transition: all 0.3s ease;
}

.publications-slider-container .close-btn {
    position: absolute;
    left: 0;
    top: 0;
    border: none;
    width: 40px;
    text-align: center;
    padding: 10px;
    font-size: 18px;
}

.publications-slider-container>.title {
    font-weight: bold;
    font-size: 16px;
    margin-bottom: 20px;
}

.publications-slider-container .item {
    max-width: 150px;
    margin: 0 auto 15px;
}

.publications-slider-container>.action {
    background: #20497D url("./images/share/logo-bg.svg") no-repeat 95% center;
    background-size: 250px;
    margin: 30px -20px 0 -20px;
    padding: 50px 20px 40px;
    box-shadow: 20px 20px 46px rgba(32, 73, 125, 0.8);
}

@media screen and (max-width: 340px) {
    .publications-slider-container>.action {
        margin: 30px -20px 0 -20px;
    }
}

.publications-slider-container>.action>a {
    margin-bottom: 15px;
    width: 100%;
}

.publications-slider-wrapper.open {
    display: block;
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    top: 0;
    background: rgba(0, 0, 0, 0.6);
    z-index: 9999999;
    animation: openSliderBg 0.3s ease;
}

.publications-slider-wrapper.open .publications-slider-container {
    animation: openSliderTab 0.3s ease;
    transform: translateX(0);
    opacity: 1;
}

@keyframes openSliderBg {
    0% {
        background-color: rgba(0, 0, 0, 0);
    }

    100% {
        background-color: rgba(0, 0, 0, 0.6);
    }
}

@keyframes openSliderTab {
    0% {
        transform: translateX(100px);
        opacity: 0;
    }

    100% {
        transform: translateX(0);
        opacity: 1;
    }
}

.publications-bottom-tab {
    display: none;
    border: 1px solid #7f7f7f;
    border-bottom: none;
    cursor: pointer;
    width: 170px;
    height: 34px;
    overflow: hidden;
    background: #1f497d;
    color: #ffffff;
    padding: 2px 0px 2px 0px;
    position: fixed;
    bottom: 0;
    right: 10%;
    text-align: center;
    z-index: 199998;
    font-size: 14px;
}

.publications-bottom-tab.open {
    display: block;
  }

.publications-bottom-wrapper {
    display: none;
    opacity: 0;
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    box-shadow: 20px 20px 46px rgba(0, 0, 0, 0.9);
    z-index: 199999;
}

.publications-bottom-wrapper.open {
    display: block;
    opacity: 1;
    animation: openSliderBottom 0.3s ease;
}

.publications-bottom-wrapper.close {
    opacity: 0;
    animation: closeSliderBottom 0.3s ease;
}

.publications-bottom-container {
    color: #fff;
}

.publications-bottom-container .close-btn {
    position: absolute;
    right: 0;
    top: 0;
    border: none;
    width: 40px;
    text-align: center;
    padding: 10px;
    font-size: 18px;
    background: transparent;
    color: #fff;
}

.publications-bottom-container>.title {
    font-weight: bold;
    font-size: 16px;
    margin-bottom: 20px;
}

.publications-bottom-container .col-content {
    align-items: center;
    display: flex;
}

.publications-bottom-container .col-content>.content {
    display: flex;
    align-items: center;
    width: 100%;
    flex-grow: 1;
    justify-content: space-between;
}

@media screen and (max-width: 991px) {
    .publications-bottom-container .col-content>.content {
        flex-wrap: wrap;
        justify-content: center;
    }
}

@media screen and (max-width: 767px) {
    .publications-bottom-container .col-content>.content {
        margin-bottom: 10px;
    }
}

.publications-bottom-container .col-action {
    display: flex;
    align-items: center;
}

.publications-bottom-container .item {
    margin: 5px 8px;
}

@media screen and (max-width: 991px) {
    .publications-bottom-container .item {
        margin: 10px 20px;
    }
}

@media screen and (max-width: 767px) {
    .publications-bottom-container .item {
        margin: 10px;
    }
}

.publications-bottom-container .action {
    text-align: right;
    margin: 0 auto;
}

@media screen and (max-width: 767px) {
    .publications-bottom-container .action {
        text-align: center;
    }
}

.publications-bottom-container .action>a {
    margin-left: 10px;
    display: inline-block;
    font-size: 13px;
}

.publications-bottom-container .action>a:last-child {
    margin-bottom: 0;
}

@media screen and (max-width: 767px) {
    .publications-bottom-container .action>a {
        margin-bottom: 10px;
    }
}

.publications-bottom-container .action .download-btn {
    position: relative;
}

.publications-bottom-container .action .download-btn::before {
    content: '';
    position: absolute;
    top: -3px;
    right: -64px;
    width: 132px;
    height: 59px;
    background: url("./images/share/free.png") no-repeat center center;
    background-size: contain;
}

.publications-bottom-wrapper .close-btn {
    position: absolute;
    left: 0;
    top: 0;
    border: none;
    width: 40px;
    text-align: center;
    padding: 10px;
    font-size: 18px;
    background: transparent;
    color: #fff;
}

.publications-bottom-wrapper .publications-bottom-section-1 {
    background: #10345f;
    padding: 20px 0 30px;
}

.publications-bottom-wrapper .publications-bottom-section-1 .container {
    display: flex;
    align-items: center;
    flex-direction: column;
}

@media screen and (max-width: 767px) {
    .publications-bottom-wrapper .publications-bottom-section-1 .container {
        flex-direction: column;
    }
}

.publications-bottom-wrapper .publications-bottom-section-1 .container>.title {
    flex-grow: 1;
    color: #BF9A70;
    font-size: 24px;
    margin-bottom: 10px;
}

@media screen and (max-width: 991px) {
    .publications-bottom-wrapper .publications-bottom-section-1 .container>.title {
        font-size: 20px;
    }
}

@media screen and (max-width: 767px) {
    .publications-bottom-wrapper .publications-bottom-section-1 .container>.title {
        font-size: 18px;
        margin-bottom: 10px;
        text-align: center;
    }
}

.publications-bottom-wrapper .publications-bottom-section-1 .container>.action {
    min-width: 390px;
    width: 100%;
    display: flex;
    justify-content: space-around;
}

@media screen and (max-width: 767px) {
    .publications-bottom-wrapper .publications-bottom-section-1 .container>.action {
        width: 100%;
        text-align: center;
        flex-grow: 1;
        min-width: initial;
        flex-direction: column;
        align-items: center;
    }
}

.publications-bottom-wrapper .publications-bottom-section-1 .container>.action>a {
    width: 100%;
    max-width: 260px;
    font-size: 14px;
}

@media screen and (max-width: 767px) {
    .publications-bottom-wrapper .publications-bottom-section-1 .container>.action>a {
        font-size: 12px;
    }

    .publications-bottom-wrapper .publications-bottom-section-1 .container>.action>a:last-child {
        margin-bottom: 0;
    }
}

.publications-bottom-wrapper .publications-bottom-section-1 .container>.action>.btn-ghost {
    white-space: nowrap;
    margin-left: 15px;
    border-color: #BF9A70;
    color: #fff;
}

@media screen and (max-width: 767px) {
    .publications-bottom-wrapper .publications-bottom-section-1 .container>.action>.btn-ghost {
        display: inline-block;
        margin-bottom: 10px;
    }
}

.publications-bottom-wrapper .publications-bottom-section-1 .container>.action>.btn-brand {
    white-space: nowrap;
    margin-left: 15px;
}

@media screen and (max-width: 767px) {
    .publications-bottom-wrapper .publications-bottom-section-1 .container>.action>.btn-brand {
        display: inline-block;
        margin-bottom: 10px;
    }
}

.publications-bottom-wrapper .publications-bottom-section-2 {
    background: #10233E;
    padding: 0;
}

@keyframes openSliderBottom {
    0% {
        transform: translateY(100px);
        opacity: 0;
    }

    100% {
        transform: translateY(0);
        opacity: 1;
    }
}

@keyframes closeSliderBottom {
    0% {
        transform: translateY(0);
        opacity: 1;
    }

    100% {
        transform: translateY(100px);
        opacity: 0;
    }
}

.publications-bottom-wrapper .cta-section-v2 {
    padding: 30px 0;
}

.publications-bottom-wrapper .cta-section-v2 .action>a {
    padding: 10px 30px;
    font-size: 15px;
}

#submit-notice {
    color: #38E2A0;
    font-weight: 700;
    display: none;
    margin: 8px 8px 0;
}

#error-message {
    color: #FF5353;
    font-weight: 700;
    display: none;
    margin: 8px 8px 0;
}

.newsletter-form-wrapper {
    padding: 40px;
    background: #10345f;
    color: #fff;
}

.newsletter-form-wrapper .newsletter-form-container {
    max-width: 820px;
    margin: 0 auto;
}

.newsletter-form-wrapper .newsletter-form-container #cprtn-form::after {
    content: "";
    clear: both;
    display: table;
}

.newsletter-form-wrapper .newsletter-form-container #cprtn-form>.title {
    font-family: capitolium-2, sans-serif;
    font-size: 30px;
    margin-bottom: 20px;
}

.newsletter-form-wrapper .newsletter-form-container .logo-icon-mini {
    background: url("./images/share/logo-icon-mini.png") no-repeat center center;
    background-size: contain;
    width: 55px;
    height: 42px;
    margin-bottom: 20px;
}

.newsletter-form-wrapper .newsletter-form-container .cprtn-required-notice {
    display: none;
}

.newsletter-form-wrapper .newsletter-form-container #cprtn .cprtn-input-group {
    margin-bottom: 25px;
}

.newsletter-form-wrapper .newsletter-form-container #cprtn .cprtn-input-group>label {
    display: none;
}

.newsletter-form-wrapper .newsletter-form-container #cprtn .cprtn-input-group .cprtn-dsgvo-label {
    font-weight: normal;
}

.newsletter-form-wrapper .newsletter-form-container #cprtn .cprtn-input-group .cprtn-dsgvo-label a {
    color: #fff;
}

.newsletter-form-wrapper .newsletter-form-container #cprtn .cprtn-input-group>input {
    width: 100%;
    background: transparent;
    border: none;
    border-bottom: 1px solid #fff;
    padding: 5px 15px;
}

.newsletter-form-wrapper .newsletter-form-container #cprtn .cprtn-input-group>input::placeholder {
    color: #ccc !important;
    opacity: 1;
}

.newsletter-form-wrapper .newsletter-form-container #cprtn .cprtn-input-group.agree-input-group {
    float: left;
}

.newsletter-form-wrapper .newsletter-form-container #cprtn .cprtn-input-group.submit-input-group {
    float: right;
    text-align: right;
}

@media screen and (max-width: 767px) {
    .newsletter-form-wrapper .newsletter-form-container #cprtn .cprtn-input-group.submit-input-group {
        float: none;
        text-align: center;
    }
}

.newsletter-form-wrapper .newsletter-form-container #cprtn .cprtn-input-group .btn-brand {
    text-transform: uppercase;
    font-size: 18px;
    letter-spacing: 0.04em;
}

@media screen and (max-width: 767px) {
    .newsletter-form-wrapper .newsletter-form-container #cprtn .cprtn-input-group .btn-brand {
        width: 100%;
    }
}

.newsletter-form-wrapper .newsletter-form-container #cprtn .cprtn-input-group #cprtn-dsgvo {
    width: inherit;
}

.sidebar-panel.newsletter-sidebar {
    background: #20497D;
    padding: 20px;
    color: #fff;
    border-radius: 5px;
}

.sidebar-panel.newsletter-sidebar .logo-icon-mini {
    background: url("./images/share/logo-icon-mini.png") no-repeat center center;
    background-size: contain;
    width: 30px;
    height: 30px;
    margin-bottom: 15px;
}

.sidebar-panel.newsletter-sidebar>.title {
    color: #fff;
    border-bottom: none;
    letter-spacing: 0.04em;
    line-height: 1.4em;
    margin-bottom: 20px;
    font-size: 20px;
    font-weight: normal;
    text-transform: initial;
}

.sidebar-panel.newsletter-sidebar>.btn-brand {
    display: block;
    width: 100%;
    text-transform: uppercase;
}

/* Newsletter Modal — sanfte Animation */
#newsletterModal {
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.35s ease, visibility 0.35s ease;
    background: rgba(0, 0, 0, 0.5);
    backdrop-filter: blur(4px);
}

#newsletterModal.show {
    opacity: 1;
    visibility: visible;
}

#newsletterModal .modal-dialog {
    min-height: calc(100vh - 60px);
    display: flex;
    flex-direction: column;
    justify-content: center;
    overflow: auto;
    transform: translateY(20px) scale(0.97);
    transition: transform 0.35s cubic-bezier(0.4, 0, 0.2, 1);
}

#newsletterModal.show .modal-dialog {
    transform: translateY(0) scale(1);
}

@media (max-width: 768px) {
    #newsletterModal .modal-dialog {
        min-height: calc(100vh - 20px);
    }
}

#newsletterModal .close {
    position: absolute;
    right: 10px;
    top: 0;
    color: #fff;
    font-size: 50px;
    transition: transform 0.2s ease;
}

#newsletterModal .close:hover {
    transform: scale(1.15);
}

.newsletter-section {
    background: #10345f;
    padding: 60px 0;
}

.newsletter-section .newsletter-form-wrapper {
    padding: 0;
    padding-right: 20px;
}

.newsletter-section .btn-brand {
    background: #fff;
    color: #10345f;
    border: 1px solid #10345f;
}

.newsletter-section .team-list-item-v2>.image {
    padding-top: 100%;
}

.newsletter-section .team-list-item-v2 .content {
    padding: 10px 0;
}

.newsletter-section .team-list-item-v2 .detail {
    line-height: 1.4em;
    font-size: 13px;
}

@media screen and (max-width: 767px) {
    .newsletter-section .newsletter-form-wrapper {
        padding: 0;
    }

    .newsletter-section .col-right {
        display: none;
    }
}

/* Newsletter Brevo Form Styles (Shortcode + Modal)
   @since 2.18.0 */
.ef-nl-fields-row {
    display: flex;
    gap: 12px;
    margin-bottom: 0;
}

.ef-nl-fields-row .ef-nl-field {
    flex: 1;
}

.ef-newsletter-form .ef-nl-field {
    margin-bottom: 12px;
}

@media (max-width: 480px) {
    .ef-nl-fields-row {
        flex-direction: column;
        gap: 0;
    }
}

.ef-newsletter-form input[type="text"],
.ef-newsletter-form input[type="email"] {
    width: 100%;
    background: rgba(255, 255, 255, 0.1);
    border: 1px solid rgba(255, 255, 255, 0.3);
    border-radius: 8px;
    padding: 12px 16px;
    color: #fff;
    font-size: 0.95rem;
    font-family: inherit;
    box-sizing: border-box;
    transition: border-color 0.25s ease, box-shadow 0.25s ease;
}

.ef-newsletter-form input[type="text"]:focus,
.ef-newsletter-form input[type="email"]:focus {
    outline: none;
    border-color: #bf9a70;
    box-shadow: 0 0 0 3px rgba(191, 154, 112, 0.25);
}

.ef-newsletter-form input[type="text"]::placeholder,
.ef-newsletter-form input[type="email"]::placeholder {
    color: rgba(255, 255, 255, 0.5);
}

.ef-nl-checkbox {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    margin-bottom: 14px;
    font-size: 0.8rem;
    color: rgba(255, 255, 255, 0.6);
}

.ef-nl-checkbox input[type="checkbox"] {
    margin-top: 3px;
    flex-shrink: 0;
    accent-color: #bf9a70;
}

.ef-nl-checkbox a {
    color: #bf9a70;
    text-decoration: underline;
}

.ef-nl-submit {
    width: 100%;
    margin-top: 4px;
}

.ef-nl-submit-loading {
    display: none;
}

.ef-nl-feedback {
    display: none;
    margin-top: 12px;
    padding: 12px;
    border-radius: 8px;
    font-size: 0.85rem;
}

.ef-nl-feedback.success {
    background: rgba(46, 204, 113, 0.15);
    border: 1px solid rgba(46, 204, 113, 0.35);
    color: #2ecc71;
}

.ef-nl-feedback.error {
    background: rgba(231, 76, 60, 0.15);
    border: 1px solid rgba(231, 76, 60, 0.35);
    color: #e74c3c;
}

/* Modal-spezifische Newsletter-Styles */
#newsletterModal .ef-newsletter-form input[type="text"],
#newsletterModal .ef-newsletter-form input[type="email"] {
    background: rgba(255, 255, 255, 0.08);
}

.site-header {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    z-index: 1000;
    -webkit-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all 0.3s ease;
}

.site-header .site-header-container {
    display: flex;
    align-items: center;
    height: 74px;
}

@media screen and (max-width: 991px) {
    .site-header .site-header-container {
        height: 48px;
        max-width: none;
    }
}

.site-header .top-bar {
    position: absolute;
    left: 0;
    right: 0;
    height: 40px;
    text-align: right;
    background: #20497D;
}

.site-header .top-bar .top-bar-container {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    font-family: "Open Sans", sans-serif;
    position: relative;
}

.site-header .top-bar .top-bar-container a {
    color: #fff;
    display: inline-block;
    font-size: 12px;
    line-height: 40px;
    padding: 0 15px;
    -webkit-transition: color, background 0.3s ease;
    -o-transition: color, background 0.3s ease;
    transition: color, background 0.3s ease;
}

.site-header .top-bar .top-bar-container a i {
    color: #BF9A70;
    margin-right: 5px;
    font-size: 14px;
}

.site-header .top-bar .top-bar-container a.fill {
    background: #20497D;
    color: #fff;
}

.site-header .top-bar .top-bar-container a.fill:hover {
    background: #10345f;
}

@media screen and (max-width: 991px) {
    .site-header .top-bar .top-bar-container a.fill>.typo {
        display: none;
    }
}

.site-header .top-bar .top-bar-container a.button {
    background: #BF9A70;
    color: #fff;
}

.site-header .top-bar .top-bar-container a.button:hover {
    background: #E2B684;
}

.site-header .top-bar .top-bar-container .book {
    background: #fff;
    color: #20497D;
    font-weight: bold;
}

.site-header .top-bar .top-bar-container .search {
    background: none;
    border: none;
    color: #fff;
    padding: 0 15px;
}

.site-header .top-bar-container-mobile {
    background: #fff;
    height: 60px;
    justify-content: space-around;
    align-items: center;
    padding: 0;
    display: none;
}

@media screen and (max-width: 767px) {
    .site-header .top-bar-container-mobile {
        display: flex;
        flex-wrap: wrap;
        max-width: 100%;
        font-size: 13px;
    }
}

.site-header .top-bar-container-mobile .top-bar-nav {
    color: #fff;
    background: #20497D;
    display: inline-block;
    border-radius: 4px;
    padding: 0 5px;
    font-size: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 30%;
    text-transform: uppercase;
    font-weight: bold;
}

.site-header .top-bar-container-mobile .top-bar-nav img {
    margin-right: 5px;
}

.site-header .top-bar-container-mobile .top-bar-nav>a {
    color: #fff;
}

.site-header .top-bar-container-mobile .top-bar-nav i {
    margin-right: 5px;
}

.site-header .top-bar-container-mobile .sub-menu {
    display: none;
    position: absolute;
    right: 10px;
    top: 42px;
    z-index: 1010;
    width: 30%;
    text-align: center;
    background: #fff;
    border-radius: 10px;
    padding: 5px 0 10px;
    text-align: left;
    -webkit-box-shadow: 0 8px 20px rgba(185, 149, 126, 0.4);
    box-shadow: 0 8px 20px rgba(185, 149, 126, 0.4);
}

.site-header .top-bar-container-mobile .sub-menu.active {
    display: block;
}

.site-header .top-bar-container-mobile .sub-menu li {
    border-bottom: 1px solid #F8F8F8;
}

.site-header .top-bar-container-mobile .sub-menu li:last-child {
    border-bottom: none;
}

.site-header .top-bar-container-mobile .sub-menu a {
    width: 100%;
    display: block;
    padding: 5px 15px;
}

.site-header .top-bar-container-mobile .sub-menu a img {
    max-height: 14px;
}

.site-header .top-bar-container-mobile .probandinnen-gesucht {
    display: inline-block;
    margin-left: auto;
    margin-right: auto;
}

.site-header .site-title {
    position: absolute;
    z-index: 1001;
    margin-bottom: 0;
    width: 186px;
    height: 74px;
    left: 50%;
    margin-left: -93px;
    top: 72px;
}

@media screen and (max-width: 1199px) {
    .site-header .site-title {
        width: 120px;
        height: 48px;
        margin-left: -60px;
    }
}

@media screen and (max-width: 991px) {
    .site-header .site-title {
        width: 78px;
        height: 31px;
        left: 25px;
        margin-left: 0;
        top: 60px;
    }
}

.site-header .site-logo {
    position: relative;
    background: url("./images/share/logo@2x.png") no-repeat center center;
    background-size: contain;
    width: 100%;
    height: 100%;
    display: block;
    overflow: hidden;
    text-indent: -9999px;
}

body.sticky-header .site-header {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    animation: 0.3s ease 0s 1 openStickyHeader;
    background: #fff;
    height: 90px;
    box-shadow: 0 0 20px rgba(32, 73, 125, 0.35);
}

body.sticky-header .site-header .site-title {
    top: 48px;
    width: 86px;
    height: 34px;
    margin-left: -43px;
}

@media screen and (max-width: 991px) {
    body.sticky-header .site-header .site-title {
        margin-left: 0;
    }
}

body.sticky-header .main-navigation {
    margin-top: 0;
    top: 52px;
}

@media screen and (max-width: 991px) {
    body.sticky-header .main-navigation {
        top: 42px;
    }
}

body.admin-bar .site-header {
    top: 30px;
}

@media screen and (max-width: 767px) {
    body.admin-bar .site-header {
        top: 46px;
    }
}

body.admin-bar.nav-active #main-menu {
    top: 46px;
}

body.admin-bar.sticky-header .site-header {
    top: 0;
}

body.admin-bar.sticky-header #main-menu {
    top: 0px;
}

@keyframes openStickyHeader {
    0% {
        -webkit-transform: translate(0, -100px);
        -ms-transform: translate(0, -100px);
        -o-transform: translate(0, -100px);
        transform: translate(0, -100px);
    }

    100% {
        -webkit-transform: translate(0, 0);
        -ms-transform: translate(0, 0);
        -o-transform: translate(0, 0);
        transform: translate(0, 0);
    }
}

.search-header-wrapper {
    position: absolute;
    background: #fff;
    top: 40px;
    left: 0;
    right: 0;
    z-index: 10000;
    overflow: hidden;
    max-height: 0;
    box-sizing: border-box;
    transition: all 0.3s ease;
}

.search-header-wrapper.open {
    max-height: 800px; /* Increased from 300px to accommodate autocomplete dropdown */
    overflow: visible; /* Changed from hidden to allow autocomplete to overflow */
    box-shadow: 0 20px 20px rgba(0, 0, 0, 0.3);
}

@media screen and (max-width: 767px) {
    .search-header-wrapper {
        top: 100px;
    }
}

.search-header-wrapper>.container {
    position: relative;
    padding: 50px 0;
}

@media screen and (max-width: 767px) {
    .search-header-wrapper>.container {
        padding: 40px 20px;
    }
}

.search-header-wrapper .close-btn {
    border: none;
    background: none;
    font-size: 30px;
    position: absolute;
    top: 10px;
    right: 0;
}

@media screen and (max-width: 767px) {
    .search-header-wrapper .close-btn {
        right: 20px;
    }
}

.search-header-wrapper .search #search-form {
    display: flex;
    width: 100%;
    align-items: center;
}

@media screen and (max-width: 767px) {
    .search-header-wrapper .search #search-form {
        flex-direction: column;
    }
}

.search-header-wrapper .search #search-form input[type="search"] {
    flex-grow: 1;
    border: 1px solid #ddd;
    margin: 0 10px;
    padding: 0px 20px;
    height: 50px;
}

@media screen and (max-width: 767px) {
    .search-header-wrapper .search #search-form input[type="search"] {
        width: 100%;
        margin-bottom: 10px;
    }
}

.search-header-wrapper .search #search-form .btn-brand {
    height: 50px;
}

@media screen and (max-width: 767px) {
    .search-header-wrapper .search #search-form .btn-brand {
        width: 100%;
    }
}

/* ==========================================
   Live Search Autocomplete Styles
   Version: 2.12.14
   ========================================== */

/* Autocomplete Container */
.ef-autocomplete-container {
    position: absolute;
    top: 100%;
    left: 50%;
    transform: translateX(-50%);
    width: 99%;
    background: #fff;
    border: 1px solid #ddd;
    border-top: none;
    border-radius: 0 0 8px 8px;
    box-shadow: 0 10px 30px rgba(16, 52, 95, 0.15);
    max-height: 500px;
    overflow-y: auto;
    overflow-x: hidden;
    z-index: 10001;
    margin-top: -1px;
    box-sizing: border-box;
}

.search-header-wrapper #search-form {
    position: relative;
}

/* Box-sizing for all autocomplete children */
.ef-autocomplete-container * {
    box-sizing: border-box;
}

/* Section Container */
.ef-autocomplete-section {
    width: 100%;
    max-width: 100%;
}

/* Section Titles */
.ef-autocomplete-section-title {
    font-family: 'Open Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
    font-size: 12px;
    font-weight: 700;
    color: #10345f;
    padding: 12px 20px 8px;
    background: #f8f9fa;
    border-bottom: 1px solid #e9ecef;
    text-transform: uppercase;
    letter-spacing: 1px;
}

.ef-autocomplete-section:not(:first-child) .ef-autocomplete-section-title {
    margin-top: 8px;
}

/* Autocomplete Items */
.ef-autocomplete-item {
    cursor: pointer;
    transition: background-color 0.2s ease;
}

.ef-autocomplete-item:hover,
.ef-autocomplete-item.ef-autocomplete-selected {
    background-color: #f0f4f8;
}

.ef-autocomplete-link {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    padding: 12px 20px;
    text-decoration: none;
    color: inherit;
    border-bottom: 1px solid #f0f0f0;
}

.ef-autocomplete-item:last-child .ef-autocomplete-link {
    border-bottom: none;
}

/* Thumbnails (Posts only) */
.ef-autocomplete-thumbnail {
    width: 60px;
    height: 60px;
    object-fit: cover;
    border-radius: 4px;
    flex-shrink: 0;
}

/* Content */
.ef-autocomplete-content {
    flex: 1;
    min-width: 0;
}

.ef-autocomplete-title {
    font-weight: 600;
    font-size: 15px;
    color: #10345f;
    margin-bottom: 4px;
    line-height: 1.4;
    overflow: hidden;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
}

.ef-autocomplete-excerpt {
    font-size: 13px;
    color: #5d6872;
    line-height: 1.4;
    overflow: hidden;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
}

.ef-autocomplete-item:hover .ef-autocomplete-title,
.ef-autocomplete-item.ef-autocomplete-selected .ef-autocomplete-title {
    color: #bf9a70;
}

/* Glossary Items - Compact Layout */
.ef-autocomplete-glossary .ef-autocomplete-link {
    padding: 10px 20px;
}

.ef-autocomplete-glossary .ef-autocomplete-title {
    font-size: 14px;
    margin-bottom: 0;
}

.ef-autocomplete-glossary .ef-autocomplete-title::before {
    content: '📖';
    margin-right: 8px;
    font-size: 16px;
}

/* Pages Items - Medium Layout */
.ef-autocomplete-pages .ef-autocomplete-link {
    padding: 10px 20px;
}

.ef-autocomplete-pages .ef-autocomplete-title {
    font-size: 14px;
    margin-bottom: 0;
}

.ef-autocomplete-pages .ef-autocomplete-title::before {
    content: '📄';
    margin-right: 8px;
    font-size: 16px;
}

/* All Results Link */
.ef-autocomplete-all-results {
    padding: 16px 20px;
    text-align: center;
    border-top: 2px solid #e9ecef;
    background: #f8f9fa;
}

.ef-autocomplete-all-link {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: #10345f;
    font-weight: 600;
    font-size: 14px;
    text-decoration: none;
    transition: color 0.2s ease;
}

.ef-autocomplete-all-link:hover {
    color: #bf9a70;
}

.ef-autocomplete-all-link i {
    font-size: 12px;
    transition: transform 0.2s ease;
}

.ef-autocomplete-all-link:hover i {
    transform: translateX(4px);
}

/* Loading State */
.ef-autocomplete-loading {
    padding: 30px 20px;
    text-align: center;
    color: #5d6872;
    font-size: 14px;
}

.ef-autocomplete-loading i {
    margin-right: 8px;
    color: #10345f;
}

/* Error State */
.ef-autocomplete-error {
    padding: 30px 20px;
    text-align: center;
    color: #dc3545;
    font-size: 14px;
}

/* No Results State */
.ef-autocomplete-no-results {
    padding: 30px 20px;
    text-align: center;
    color: #5d6872;
    font-size: 14px;
}

/* Scrollbar Styling */
.ef-autocomplete-container::-webkit-scrollbar {
    width: 6px; /* Reduced from 8px to minimize overflow */
}

.ef-autocomplete-container::-webkit-scrollbar-track {
    background: transparent; /* Transparent track to save visual space */
}

.ef-autocomplete-container::-webkit-scrollbar-thumb {
    background: #bf9a70;
    border-radius: 3px;
}

.ef-autocomplete-container::-webkit-scrollbar-thumb:hover {
    background: #10345f;
}

/* Firefox scrollbar */
.ef-autocomplete-container {
    scrollbar-width: thin;
    scrollbar-color: #bf9a70 transparent;
}

/* Mobile Optimizations */
@media screen and (max-width: 767px) {
    .ef-autocomplete-container {
        max-height: 400px;
        border-radius: 0 0 4px 4px;
    }

    .ef-autocomplete-section-title {
        font-size: 13px;
        padding: 10px 16px 6px;
    }

    .ef-autocomplete-link {
        padding: 10px 16px;
        gap: 10px;
    }

    .ef-autocomplete-thumbnail {
        width: 50px;
        height: 50px;
    }

    .ef-autocomplete-title {
        font-size: 14px;
    }

    .ef-autocomplete-excerpt {
        font-size: 12px;
    }

    .ef-autocomplete-glossary .ef-autocomplete-link,
    .ef-autocomplete-pages .ef-autocomplete-link {
        padding: 8px 16px;
        min-height: 44px; /* Touch-friendly */
        display: flex;
        align-items: center;
    }

    .ef-autocomplete-all-results {
        padding: 14px 16px;
    }

    .ef-autocomplete-all-link {
        font-size: 13px;
        min-height: 44px; /* Touch-friendly */
        display: inline-flex;
        align-items: center;
    }
}

/* Tablet Breakpoint */
@media screen and (min-width: 768px) and (max-width: 991px) {
    .ef-autocomplete-container {
        max-height: 450px;
    }
}

/* Accessibility: Focus States */
.ef-autocomplete-item:focus-within {
    outline: 2px solid #bf9a70;
    outline-offset: -2px;
}

.ef-autocomplete-link:focus {
    outline: none;
}

/* ========================================== */

.main-navigation {
    flex-grow: 1;
    text-align: center;
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
    top: 105px;
}

@media screen and (max-width: 1199px) {
    .main-navigation {
        top: 88px;
    }
}

@media screen and (max-width: 991px) {
    .main-navigation {
        top: 50px;
    }
}

.main-navigation>.menu-toggle {
    display: none;
    position: absolute;
    top: 5px;
    right: 10px;
    width: 40px;
    height: 40px;
    background: none;
    border: none;
    outline: none;
    z-index: 1000;
}

@media screen and (max-width: 991px) {
    .main-navigation>.menu-toggle {
        display: block;
    }
}

.main-navigation>.menu-toggle:before,
.main-navigation>.menu-toggle:after,
.main-navigation>.menu-toggle span {
    content: '';
    position: absolute;
    left: 50%;
    margin-left: -13px;
    width: 26px;
    height: 3px;
    background: #10345f;
    -webkit-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all 0.3s ease;
    border-radius: 2px;
}

.main-navigation>.menu-toggle:before {
    top: 10px;
}

.main-navigation>.menu-toggle span {
    top: 18px;
}

.main-navigation>.menu-toggle:after {
    top: 26px;
}

.main-navigation>.search {
    display: none;
    position: absolute;
    top: 5px;
    right: 60px;
    width: 40px;
    height: 40px;
    background: none;
    border: none;
    outline: none;
    z-index: 1000;
    color: #20497D;
    font-size: 17px;
}

@media screen and (max-width: 991px) {
    .main-navigation>.search {
        display: block;
    }
}

@keyframes open {
    0% {
        opacity: 0;
        transform: translateY(10px);
    }

    100% {
        opacity: 1;
        transform: translateY(0);
    }
}

#main-menu {
    margin: 0;
    padding: 0;
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
}

@media screen and (max-width: 991px) {
    #main-menu {
        display: none;
    }
}

#main-menu li {
    display: block;
    position: relative;
}

#main-menu li a {
    padding: 20px;
    color: #5D6872;
    text-transform: uppercase;
    font-size: 14px;
    font-weight: 500;
    -webkit-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all 0.3s ease;
}

#main-menu li a:visited {
    color: #5D6872;
}

#main-menu li a:hover,
#main-menu li a:focus {
    color: #20497D;
}

#main-menu li.current-menu-item>a {
    color: #BF9A70;
    font-weight: 700;
}

#main-menu li .sub-menu {
    display: none;
    top: 40px;
    text-align: left;
    position: absolute;
    margin-left: 0;
    padding: 10px 15px;
    background: #fff;
    -webkit-box-shadow: 0 8px 20px rgba(32, 73, 125, 0.2);
    box-shadow: 0 8px 20px rgba(32, 73, 125, 0.2);
}

@media screen and (max-width: 991px) {
    #main-menu li .sub-menu {
        position: relative;
        top: 0;
        background: rgba(0, 0, 0, 0.15);
        -webkit-box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.05);
        box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.05);
        margin: 5px 15px;
        margin-left: 0;
        padding-left: 0;
        border-radius: 8px;
        overflow: hidden;
    }
}

#main-menu li .sub-menu>li {
    border-bottom: 1px solid #F8F8F8;
    width: auto;
}

@media screen and (max-width: 991px) {
    #main-menu li .sub-menu>li {
        width: auto;
        border-bottom: 1px solid rgba(255, 255, 255, 0.1);
    }
    
    #main-menu li .sub-menu>li a {
        color: rgba(255, 255, 255, 0.85);
        padding: 12px 30px 12px 60px;
        font-size: 14px;
        font-weight: 400;
        position: relative;
    }
    
    #main-menu li .sub-menu>li a::before {
        content: '—';
        position: absolute;
        left: 30px;
        color: rgba(191, 154, 112, 0.5);
    }
    
    #main-menu li .sub-menu>li a:hover {
        color: #bf9a70;
        background: rgba(255, 255, 255, 0.08);
    }
    
    #main-menu li .sub-menu>li a:hover::before {
        color: #bf9a70;
    }
}

#main-menu li .sub-menu>li:last-child {
    border-bottom: none;
}

#main-menu li .sub-menu>li a {
    white-space: nowrap;
    display: block;
    padding: 5px 5px;
    text-transform: initial;
    position: relative;
    color: #4A4A4A;
    -webkit-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all 0.3s ease;
}

#main-menu li .sub-menu>li a:hover {
    color: #10345f;
}

#main-menu li>.sub-menu>li>.sub-menu {
    top: 0;
    left: 120px;
}

@media screen and (max-width: 991px) {
    #main-menu li>.sub-menu>li>.sub-menu {
        left: 10px;
    }
}

#main-menu li>.sub-menu>li>.sub-menu>li {
    width: auto;
}

#main-menu li:hover>.sub-menu {
    display: block;
    animation: open 0.3s;
}

@media screen and (max-width: 991px) {
    #main-menu li:hover>.sub-menu {
        display: inherit;
    }
}

#main-menu>li.menu-item-has-children {
    position: relative;
}

#main-menu>li.menu-item-has-children>a {
    padding-right: 40px;
    position: relative;
}

@media screen and (max-width: 991px) {
    #main-menu>li.menu-item-has-children>a {
        padding-right: 20px;
    }
}

#main-menu>li.menu-item-has-children>a:before {
    content: "\f078";
    font: normal normal 900 14px/1 "Font Awesome 5 Free";
    font-size: 14px;
    position: absolute;
    right: 20px;
    top: 26px;
    margin-top: -3px;
    display: inline-block;
}

@media screen and (max-width: 991px) {
    #main-menu>li.menu-item-has-children>a:before {
        top: 20px;
    }
}

@media screen and (max-width: 991px) {
    #main-menu>li.menu-item-has-children>a:before {
        top: 25px;
        font-size: 20px;
        color: rgba(255, 255, 255, 0.6);
    }
}

@media screen and (max-width: 991px) {
    #main-menu>li.menu-item-has-children .sub-menu {
        display: none !important;
    }
}

#main-menu>li.menu-item-has-children .sub-menu li.menu-item-has-children>a {
    padding-right: 40px;
    position: relative;
}

@media screen and (max-width: 991px) {
    #main-menu>li.menu-item-has-children .sub-menu li.menu-item-has-children>a {
        padding-right: 20px;
    }
}

#main-menu>li.menu-item-has-children .sub-menu li.menu-item-has-children>a:before {
    content: "\f078";
    font: normal normal 900 14px/1 "Font Awesome 5 Free";
    font-size: 14px;
    color: #F8F8F8;
    position: absolute;
    right: 5px;
    top: 50%;
    margin-top: -10px;
    display: inline-block;
    color: #20497D;
}

@media screen and (max-width: 991px) {
    #main-menu>li.menu-item-has-children .sub-menu li.menu-item-has-children>a:before {
        top: 25px;
        font-size: 20px;
        content: "\f078";
    }
}

@media screen and (max-width: 991px) {
    #main-menu>li.menu-item-has-children .sub-menu li.menu-item-has-children .sub-menu a {
        font-size: 13px;
        padding: 10px 0;
        padding-left: 20px;
        color: #F8F8F8;
    }
}

@media screen and (max-width: 991px) {
    #main-menu>li.menu-item-has-children.open>a:before {
        content: "\f106";
        color: #bf9a70;
    }

    #main-menu>li.menu-item-has-children.open>.sub-menu {
        display: block !important;
        animation: open 0.3s;
    }

    #main-menu>li.menu-item-has-children.open>.sub-menu>li.open>a:before {
        content: "\f106";
    }

    #main-menu>li.menu-item-has-children.open>.sub-menu>li.open>.sub-menu {
        display: block !important;
        animation: open 0.3s;
    }
}

/**
 * Handles the Sub Menu Animation and Position for the menu item: "Rechner"
 * Requires Javascript to work
 */

@media screen and (min-width: 992px) {
    #main-menu li.nav-rechner {
        position: static;
    }

    #main-menu li.nav-rechner:hover>.sub-menu {
        display: flex;
    }

    #main-menu li.nav-rechner>.sub-menu {
        padding: 0 6px;
        position: absolute;
        left: 50%;
        width: 100%;
        margin-left: -570px;
        max-width: 1140px;
        top: 35px;
        z-index: 1001;
        flex-wrap: wrap;
        justify-content: space-between;
        align-items: flex-start;
    }
}

@media screen and (min-width: 992px) and (max-width: 1199px) {
    #main-menu li.nav-rechner>.sub-menu {
        margin-left: -480px;
        max-width: 960px;
    }
}

@media screen and (min-width: 992px) {
    #main-menu li.nav-rechner>.sub-menu>li {
        width: 33%;
        position: relative;
        height: 220px;
        border-bottom: none;
        margin-bottom: 6px;
        cursor: pointer;
        background: no-repeat center center;
        background-size: cover;
    }

    #main-menu li.nav-rechner>.sub-menu>li.nav-verkehrswertrechner {
        background-image: url("./images/nav/rechner/rechner-05.jpg");
    }

    #main-menu li.nav-rechner>.sub-menu>li.nav-erbrechner {
        background-image: url("./images/nav/rechner/rechner-04.jpg");
    }

    #main-menu li.nav-rechner>.sub-menu>li.nav-erbscheinkostenrechner {
        background-image: url("./images/nav/rechner/rechner-02.jpg");
    }

    #main-menu li.nav-rechner>.sub-menu>li.nav-erbschaftsteuerrechner {
        background-image: url("./images/nav/rechner/rechner-01.jpg");
    }

    #main-menu li.nav-rechner>.sub-menu>li.nav-schenkungsteuerrechner {
        background-image: url("./images/nav/rechner/rechner-03.jpg");
    }

    #main-menu li.nav-rechner>.sub-menu>li.nav-pflege-konfigurator {
        background-image: url("./images/nav/rechner/rechner-06.jpg");
    }

    #main-menu li.nav-rechner>.sub-menu>li::before {
        content: '';
        position: absolute;
        left: 0;
        right: 0;
        top: 0;
        bottom: 0;
        z-index: 0;
        border: 0 solid #fff;
        transition: all 0.3s ease;
    }

    #main-menu li.nav-rechner>.sub-menu>li:hover::before {
        border: 10px solid #fff;
    }

    #main-menu li.nav-rechner>.sub-menu>li>a {
        z-index: 10;
        display: block;
        position: absolute;
        left: 0;
        bottom: 0;
        text-transform: uppercase;
        padding: 5px 15px 3px;
        text-transform: uppercase;
        background: #fff;
        font-weight: bold;
        color: #20497D;
    }
}

/* Menu Item Styling ends here */

/**
 * Handles the Sub Menu Animation and Position for the menu item: "Immobilien"
 * Requires Javascript to work
 */

 @media screen and (min-width: 992px) {
    #main-menu li.nav-immobilien {
        position: static;
    }

    #main-menu li.nav-immobilien:hover>.sub-menu {
        display: flex;
    }

    #main-menu li.nav-immobilien>.sub-menu {
        padding: 0 6px;
        position: absolute;
        left: 50%;
        width: 100%;
        margin-left: -570px;
        max-width: 1140px;
        top: 35px;
        z-index: 1001;
        flex-wrap: wrap;
        justify-content: space-between;
        align-items: flex-start;
    }
}

@media screen and (min-width: 992px) and (max-width: 1199px) {
    #main-menu li.nav-immobilien>.sub-menu {
        margin-left: -480px;
        max-width: 960px;
    }
}

@media screen and (min-width: 992px) {
    #main-menu li.nav-immobilien>.sub-menu>li {
        width: 33%;
        position: relative;
        height: 220px;
        border-bottom: none;
        margin-bottom: 6px;
        cursor: pointer;
        background: no-repeat center center;
        background-size: cover;
    }

    #main-menu li.nav-immobilien>.sub-menu>li.nav-verkehrswertrechner {
        background-image: url("./images/nav/immobilien/immobilie-03.jpeg");
    }

    #main-menu li.nav-immobilien>.sub-menu>li.nav-gewerberechner {
        background-image: url("./images/nav/immobilien/immobilie-02.jpeg");
    }

    #main-menu li.nav-immobilien>.sub-menu>li.nav-immobilie-geerbt {
        background-image: url("./images/nav/immobilien/immobilie-05.jpeg");
    }

    #main-menu li.nav-immobilien>.sub-menu>li.nav-nachlassimmobilien {
        background-image: url("./images/nav/immobilien/immobilie-01.jpeg");
    }

    #main-menu li.nav-immobilien>.sub-menu>li.nav-gewerbeimmobilien {
        background-image: url("./images/nav/immobilien/immobilie-04.jpeg");
    }

    #main-menu li.nav-immobilien>.sub-menu>li.nav-marktplatz {
        background-image: url("./images/nav/immobilien/immobilie-06.jpeg");
    }

    #main-menu li.nav-immobilien>.sub-menu>li::before {
        content: '';
        position: absolute;
        left: 0;
        right: 0;
        top: 0;
        bottom: 0;
        z-index: 0;
        border: 0 solid #fff;
        transition: all 0.3s ease;
    }

    #main-menu li.nav-immobilien>.sub-menu>li:hover::before {
        border: 10px solid #fff;
    }

    #main-menu li.nav-immobilien>.sub-menu>li>a {
        z-index: 10;
        display: block;
        position: absolute;
        left: 0;
        bottom: 0;
        text-transform: uppercase;
        padding: 5px 15px 3px;
        text-transform: uppercase;
        background: #fff;
        font-weight: bold;
        color: #20497D;
    }
}


 /* Menu Item Styling ends here */

 /**
 * Handles the Sub Menu Animation and Position for the menu item: "Leistungen"
 * Requires Javascript to work
 */

 @media screen and (min-width: 992px) {
    #main-menu li.nav-leistungen {
        position: static;
    }

    #main-menu li.nav-leistungen:hover>.sub-menu {
        display: flex;
    }

    #main-menu li.nav-leistungen>.sub-menu {
        padding: 0 6px;
        position: absolute;
        left: 50%;
        width: 100%;
        margin-left: -570px;
        max-width: 1140px;
        top: 35px;
        z-index: 1001;
        flex-wrap: wrap;
        justify-content: space-between;
        align-items: flex-start;
    }
}

@media screen and (min-width: 992px) and (max-width: 1199px) {
    #main-menu li.nav-leistungen>.sub-menu {
        margin-left: -480px;
        max-width: 960px;
    }
}

@media screen and (min-width: 992px) {
    #main-menu li.nav-leistungen>.sub-menu>li {
        width: 33%;
        position: relative;
        height: 220px;
        border-bottom: none;
        margin-bottom: 6px;
        cursor: pointer;
        background: no-repeat center center;
        background-size: cover;
    }

    #main-menu li.nav-leistungen>.sub-menu>li.nav-nachlassplanung {
        background-image: url("./images/nav/leistungen/leistungen-01.jpg");
    }

    #main-menu li.nav-leistungen>.sub-menu>li.nav-stiftungsplanung {
        background-image: url("./images/nav/leistungen/leistungen-02.jpg");
    }

    #main-menu li.nav-leistungen>.sub-menu>li.nav-nachfolgeplanung {
        background-image: url("./images/nav/leistungen/leistungen-03.jpg");
    }

    #main-menu li.nav-leistungen>.sub-menu>li.nav-nachlassverwaltung {
        background-image: url("./images/nav/leistungen/leistungen-04.jpg");
    }

    #main-menu li.nav-leistungen>.sub-menu>li.nav-testamentsvollstreckung {
        background-image: url("./images/nav/leistungen/leistungen-05.jpg");
    }

    #main-menu li.nav-leistungen>.sub-menu>li.nav-nachlassabwicklung {
        background-image: url("./images/nav/leistungen/leistungen-06.jpg");
    }

    #main-menu li.nav-leistungen>.sub-menu>li.nav-none {
    }

    #main-menu li.nav-leistungen>.sub-menu>li::before {
        content: '';
        position: absolute;
        left: 0;
        right: 0;
        top: 0;
        bottom: 0;
        z-index: 0;
        border: 0 solid #fff;
        transition: all 0.3s ease;
    }

    #main-menu li.nav-leistungen>.sub-menu>li:hover::before {
        border: 10px solid #fff;
    }

    #main-menu li.nav-leistungen>.sub-menu>li>a {
        z-index: 10;
        display: block;
        position: absolute;
        left: 0;
        bottom: 0;
        text-transform: uppercase;
        padding: 5px 15px 3px;
        text-transform: uppercase;
        background: #fff;
        font-weight: bold;
        color: #20497D;
    }
}

/* Menu Item Styling ends here */


#main-menu {
    margin-left: -100px;
}

@media screen and (max-width: 1350px) {
    #main-menu {
        margin-left: -90px;
    }
}

@media screen and (max-width: 1199px) {
    #main-menu {
        margin-left: -60px;
    }
}

@media screen and (max-width: 991px) {
    #main-menu {
        margin-left: 0;
    }
}

#main-menu>li:nth-child(3) {
    margin-right: 250px;
}

@media screen and (max-width: 1350px) {
    #main-menu>li:nth-child(3) {
        margin-right: 230px;
    }
}

@media screen and (max-width: 1200px) {
    #main-menu>li:nth-child(3) {
        margin-right: 180px;
    }
}

@media screen and (max-width: 992px) {
    #main-menu>li:nth-child(3) {
        margin-right: 0;
    }
}

@media screen and (max-width: 1350px) {
    #main-menu>li a {
        font-size: 13px;
        padding: 20px 10px;
    }
}

@media screen and (max-width: 1199px) {
    #main-menu>li a {
        font-size: 12px;
        padding: 20px 8px;
    }
}

@media screen and (max-width: 991px) {
    #main-menu>li a {
        font-size: 12px;
        padding: 15px;
    }
}

@media screen and (max-width: 991px) {
    body.nav-active {
        position: fixed;
        overflow-y: scroll;
        width: 100%;
    }
    
    body.nav-active .site-header .site-logo {
        filter: brightness(0) invert(1);
        -webkit-filter: brightness(0) invert(1);
    }
    
    body.nav-active .main-navigation>.search {
        display: none !important;
    }

    body.nav-active .main-navigation {
        top: 50px;
        left: 0;
        width: 100%;
    }

    body.nav-active .main-navigation>.menu-toggle {
        z-index: 10000;
    }

    body.nav-active .main-navigation>.menu-toggle:before {
        top: 18px;
        -webkit-transform: rotate(45deg);
        -ms-transform: rotate(45deg);
        -o-transform: rotate(45deg);
        transform: rotate(45deg);
        background: #ffffff;
    }

    body.nav-active .main-navigation>.menu-toggle span {
        opacity: 0;
        transform: scaleX(0);
    }

    body.nav-active .main-navigation>.menu-toggle:after {
        top: 18px;
        -webkit-transform: rotate(-45deg);
        -ms-transform: rotate(-45deg);
        -o-transform: rotate(-45deg);
        transform: rotate(-45deg);
        background: #ffffff;
    }

    body.nav-active #main-menu {
        position: fixed;
        background: linear-gradient(135deg, #10345f 0%, #0a2847 100%);
        display: block;
        width: 100%;
        left: 0;
        right: 0;
        top: 0;
        bottom: 0;
        max-height: 100%;
        opacity: 1;
        display: block;
        text-align: left;
        animation: 0.4s ease 0s 1 slideInMenu;
        box-shadow: -5px 0 30px rgba(0, 0, 0, 0.3);
        backdrop-filter: blur(10px);
        -webkit-backdrop-filter: blur(10px);
    }
}

@media screen and (max-width: 991px) and (max-width: 991px) {
    body.nav-active #main-menu {
        padding-top: 110px;
        overflow-y: auto;
        -webkit-overflow-scrolling: touch;
    }
}

@media screen and (max-width: 991px) {
    body.nav-active #main-menu>li {
        display: block;
        border-bottom: 1px solid rgba(255, 255, 255, 0.1);
        position: relative;
        overflow: hidden;
    }

    body.nav-active #main-menu>li:last-child {
        border-bottom: none;
    }

    body.nav-active #main-menu>li::before {
        content: '';
        position: absolute;
        left: 0;
        top: 0;
        bottom: 0;
        width: 3px;
        background: #bf9a70;
        transform: translateX(-100%);
        transition: transform 0.3s ease;
    }

    body.nav-active #main-menu>li:hover::before {
        transform: translateX(0);
    }

    body.nav-active #main-menu>li a {
        font-size: 16px;
        padding: 20px 30px;
        display: block;
        font-weight: 500;
        text-transform: initial;
        color: #ffffff;
        transition: all 0.3s ease;
        position: relative;
        min-height: 60px;
        display: flex;
        align-items: center;
    }

    body.nav-active #main-menu>li a:hover {
        background: rgba(255, 255, 255, 0.05);
        padding-left: 40px;
        color: #bf9a70;
    }

    body.nav-active #main-menu>li a:visited {
        color: #ffffff;
    }

    body.nav-active #main-menu>li.current-menu-item {
        background: rgba(191, 154, 112, 0.1);
    }

    body.nav-active #main-menu>li.current-menu-item::before {
        transform: translateX(0);
    }

    body.nav-active #main-menu>li.current-menu-item>a {
        color: #bf9a70;
        font-weight: 600;
    }
}

@keyframes openActiveMenu {
    0% {
        opacity: 0;
        -webkit-transform: translate(0, 50px);
        -ms-transform: translate(0, 50px);
        -o-transform: translate(0, 50px);
        transform: translate(0, 50px);
    }

    100% {
        opacity: 1;
        -webkit-transform: translate(0, 0);
        -ms-transform: translate(0, 0);
        -o-transform: translate(0, 0);
        transform: translate(0, 0);
    }
}

@keyframes slideInMenu {
    0% {
        opacity: 0;
        -webkit-transform: translateX(100%);
        -ms-transform: translateX(100%);
        -o-transform: translateX(100%);
        transform: translateX(100%);
    }

    100% {
        opacity: 1;
        -webkit-transform: translateX(0);
        -ms-transform: translateX(0);
        -o-transform: translateX(0);
        transform: translateX(0);
    }
}

.site-footer {
    background: #393939;
    padding: 50px 0;
}

.site-footer #pe_rating.pe_g .pe_u {
    font-size: 0.6em;
}

.site-footer .footer-contact {
    margin-bottom: 15px;
    flex-grow: 1;
}

.site-footer .footer-contact a {
    color: #fff;
    display: block;
    padding-bottom: 5px;
}

.site-footer .footer-contact a>i {
    color: #BF9A70;
    margin-right: 5px;
}

.site-footer .footer-contact a.book {
    font-weight: bold;
}

.site-footer .footer-logo {
    max-width: 235px;
    margin-bottom: 15px;
}

.site-footer .footer-logo-text {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    gap: 0;
    font-size: 12px;
    color: #8B987E;
    margin-top: 10px;
}

.site-footer .row>div {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

@media screen and (max-width: 767px) {
    .site-footer .row>div {
        justify-content: content;
        align-items: center;
    }
}

.site-footer .row>.footer-logo-col {
    justify-content: center;
    align-items: center;
}

.site-footer .footer-menu .sub-menu {
    display: none;
}

.site-footer #footer-menu,
.site-footer #impressum-menu,
.site-footer #privacy-menu  {
    list-style: none;
    padding-left: 5px;
    margin-bottom: 0;
}




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

    .site-footer #footer-menu,
    .site-footer #impressum-menu,
    .site-footer .privacy-menu  {
        text-align: center;
        margin-bottom: 20px;
    }
}

.site-footer #footer-menu a,
.site-footer #impressum-menu a,
.site-footer .privacy-menu .rcb-sc-link {
    color: #fff;
    font-size: 13px;
    transition: all 0.3s ease;
}

.site-footer #footer-menu a:hover,
.site-footer #impressum-menu a:hover,
.site-footer .privacy-menu .rcb-sc-link:hover {
    color: #BF9A70;
}

.site-footer #footer-menu a:focus,
.site-footer #footer-menu a:active,
.site-footer #impressum-menu a:focus,
.site-footer #impressum-menu a:active,
.site-footer .privacy-menu .rcb-sc-link:active {
    color: #fff;
}

.site-footer .copy {
    color: #fff;
    font-size: 11px;
}

.footer-contact-col,
.footer-menu-col,
.footer-impressum-col {
    margin-bottom: 20px;
}

.footer-menu-col,
.footer-impressum-col {
    border-left: 1px solid #5D6872;
}

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

    .footer-contact-col,
    .footer-menu-col,
    .footer-impressum-col {
        border: none;
    }
}

.footer-logo-container {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    margin-bottom: 20px;
}

@media screen and (max-width: 767px) {
    .footer-logo-container {
        align-items: center;
    }
}

.footer-logo-md-col {
    margin-bottom: 20px;
}

.comment-section {
    margin-bottom: 80px;
}

.comment-section.bg-brand:before {
    top: -300px;
}

@media screen and (max-width: 991px) {
    .comment-section.bg-brand:before {
        left: 0;
        top: -60px;
    }
}

@media screen and (max-width: 767px) {
    .comment-section .comment-container {
        margin-left: 20px;
        margin-right: 20px;
    }
}

.comment-section .comment-form {
    max-width: 520px;
}

.comment-section .comment-form>.form-group {
    position: relative;
    padding-left: 30px;
}

.comment-section .comment-form>.form-group>.dot {
    position: absolute;
    left: 10px;
    top: 18px;
}

@media screen and (max-width: 767px) {
    .comment-section .comment-form>.form-group>.dot {
        left: 0;
    }
}

.comment-section .comment-form>.form-group .form-control {
    border-radius: 22px;
    height: 43px;
    line-height: 43px;
    padding: 0 30px;
    text-align: left;
    font-size: 17px;
}

.comment-section .comment-form>.comment-form-comment {
    margin-bottom: 20px;
}

.comment-section .comment-form>.comment-form-comment>.textarea-comment {
    padding: 10px 20px;
    border-radius: 8px;
}

.comment-section .comment-form>.form-submit {
    text-align: right;
}

.comment-section .comment-form>.form-submit input[type=submit] {
    display: inline-block;
    border: none;
    border-radius: 26px;
    background: #BF9A70;
    color: #fff;
    font-size: 14px;
    line-height: 52px;
    padding: 0 30px;
}

.comment-section .comment-form>.form-submit input[type=submit]:visited,
.comment-section .comment-form>.form-submit input[type=submit]:focus {
    color: #fff;
}

.comment-list {
    list-style: none;
    padding-left: 0;
    margin-left: 0;
    margin-bottom: 40px;
}

.comment-list ol {
    list-style: none;
}

.comment-list li {
    margin-bottom: 20px;
}

.comment-list .comment-author>img {
    border-radius: 50%;
    margin-right: 10px;
}

.comment-list .comment-author a {
    color: #F8F8F8;
}

.comment-list .comment-author .says {
    display: none;
}

.comment-list .comment-metadata a {
    color: #EFF2EC;
}

.comment-list .comment-content {
    font-size: 16px;
}

.comment-list .comment-awaiting-moderation {
    color: #EFF2EC;
    font-size: 11px;
    line-height: 1.4em;
}

.comment-list .reply a,
.comment-list .reply a:visited,
.comment-list .reply a:focus {
    font-size: 12px;
    font-weight: bold;
    color: #BF9A70;
    -webkit-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all 0.3s ease;
}

.comment-list .reply a:hover,
.comment-list .reply a:visited:hover,
.comment-list .reply a:focus:hover {
    color: #20497D;
}

.alignfull {
    left: 50%;
    padding: 0;
    position: relative;
    max-width: 100vw;
    width: 100vw;
    margin-left: calc(-50vw - 8px);
}

@media screen and (max-width: 767px) {
    .alignfull {
        margin-left: calc(-50vw);
    }
}

.alignfull.-brand {
    background: #20497D;
    color: #fff;
}

.alignfull.-base {
    background: #EFF2EC;
}

.wp-block-group__inner-container {
    max-width: 1100px;
    margin: 0 auto;
    padding: 40px 15px;
}

@media screen and (max-width: 1199px) {
    .wp-block-group__inner-container {
        max-width: 960px;
    }
}

@media screen and (max-width: 991px) {
    .wp-block-group__inner-container {
        max-width: 720px;
    }
}

@media screen and (max-width: 767px) {
    .wp-block-group__inner-container {
        max-width: 540px;
    }
}

@media screen and (max-width: 576px) {
    .wp-block-group__inner-container {
        max-width: 100%;
        padding: 25px 15px 15px 30px;
    }
}

.post-date {
    color: white;
}

.last-modified {
    margin-bottom: 14px;
    font-style: italic;
}

.entry-content {
    font-size: 15px;
    min-height: 300px;
}

.entry-content a {
    color: #20497D;
}

.entry-content a:hover {
    text-decoration: underline;
}

.glossary-tooltip-text {
    font-size: 15px;
}

.entry-content .glossary-tooltip .glossary-link a,
.entry-content .glossary-tooltip .glossary-underline {
    color: #20497D;
}

.entry-content .glossary-tooltip a,
.entry-content .glossary-underline {
    padding: 0;
}

.entry-content .glossary-tooltip .glossary-tooltip-content .glossary-tooltip-text a {
    color: #fff;
    padding: 0;
    line-height: 1.8em;
}

.entry-content .glossary-tooltip-content,
.entry-content .glossary-tooltip-text {
    margin-bottom: 0;
    font-size: 14px;
    line-height: 1.4em;
}

/* ===================================
   Gutenberg Block: Tabellen
   =================================== */

/* Basis-Styles für alle Gutenberg-Tabellen */
.wp-block-table {
    margin: 2rem 0;
    overflow-x: auto;
}

.wp-block-table table {
    width: 100%;
    border-collapse: collapse;
    border-spacing: 0;
}

.wp-block-table th,
.wp-block-table td {
    padding: 1rem 1.5rem;
    text-align: left;
    border: 1px solid #ddd;
    vertical-align: top;
}

.wp-block-table th {
    font-weight: 600;
    background-color: #f8f9fa;
    color: #10345f;
}

/* Streifen-Stil für Tabellen */
.wp-block-table.is-style-stripes {
    border: none;
}

.wp-block-table.is-style-stripes table {
    border: none;
}

.wp-block-table.is-style-stripes th,
.wp-block-table.is-style-stripes td {
    border: none;
    border-bottom: 1px solid #e5e5e5;
}

.wp-block-table.is-style-stripes tbody tr:nth-child(odd) {
    background-color: #edf7ff;
}

.wp-block-table.is-style-stripes th {
    background-color: #10345f;
    color: #fff;
    border-bottom: 2px solid #bf9a70;
}

/* Responsive Tabellen */
@media screen and (max-width: 767px) {
    .wp-block-table th,
    .wp-block-table td {
        padding: 0.75rem 1rem;
        font-size: 14px;
    }
}

.entry-content h1,
.entry-content .h1 {
    font-size: 32px;
}

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

    .entry-content h1,
    .entry-content .h1 {
        font-size: 26px;
    }
}

.entry-content h2,
.entry-content .h2 {
    font-size: 28px;
}

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

    .entry-content h2,
    .entry-content .h2 {
        font-size: 24px;
    }
}

.entry-content h3,
.entry-content .h3 {
    font-size: 24px;
}

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

    .entry-content h3,
    .entry-content .h3 {
        font-size: 20px;
    }
}

.entry-content h4,
.entry-content .h4 {
    font-size: 22px;
}

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

    .entry-content h4,
    .entry-content .h4 {
        font-size: 18px;
    }
}

.entry-content h5,
.entry-content .h5 {
    font-size: 20px;
}

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

    .entry-content h5,
    .entry-content .h5 {
        font-size: 18px;
    }
}

.entry-content h6,
.entry-content .h6 {
    font-size: 18px;
}

.entry-content h1,
.entry-content .h1,
.entry-content h2,
.entry-content .h2,
.entry-content h3,
.entry-content .h3 {
    margin-bottom: 5px;
}

.entry-content p {
    margin-bottom: 20px;
}

.entry-content ul {
    margin-bottom: 40px;
}

.entry-content h1,
.entry-content h2,
.entry-content h3,
.entry-content h4,
.entry-content h5,
.entry-content h6 {
    font-family: capitolium-2, sans-serif;
}

.fullwidth-row {
    display: flex;
}

@media screen and (max-width: 767px) {
    .fullwidth-row {
        flex-wrap: wrap;
    }
}

.fullwidth-row>.content-container {
    width: 50%;
    max-width: 50%;
    flex-grow: 1;
}

@media screen and (max-width: 767px) {
    .fullwidth-row>.content-container {
        width: 100%;
        max-width: 100%;
    }
}

.fullwidth-row>.content-container>.content {
    padding: 60px 25px;
    max-width: 600px;
    margin: 0 auto;
}

.fullwidth-row>.content-container>.content a {
    color: #BF9A70;
}

.fullwidth-row>.content-container>.content a:hover {
    text-decoration: underline;
}

.fullwidth-row>.image {
    width: 50%;
    max-width: 50%;
    min-height: 240px;
    flex-grow: 1;
    background: no-repeat center center;
    background-size: cover;
}

@media screen and (max-width: 767px) {
    .fullwidth-row>.image {
        width: 100%;
        max-width: 100%;
    }
}

.bg-brand-container {
    padding: 60px 0;
    background: url("./images/share/logo-dark-bg.png") no-repeat right center;
    background-size: 400px;
}

.bg-brand-watermark {
    background: url("./images/share/logo-dark-bg.png") no-repeat right center;
    background-size: 400px;
}

.main-blog-container .image-header {
    background: no-repeat center center;
    background-size: cover;
    min-height: 230px;
    box-shadow: 10px 20px 30px rgba(25, 50, 50, 0.25);
    margin-bottom: 40px;
    position: relative;
}

.main-blog-container .image-header>.logo {
    background: url("./images/share/logo-white.png") no-repeat center center;
    background-size: contain;
    width: 100px;
    height: 50px;
    position: absolute;
    z-index: 1;
    right: 10px;
    bottom: 10px;
}

.hero-section {
    background: #F8F8F8;
    display: flex;
    justify-content: center;
    align-items: center;
    min-height: 520px;
    position: relative;
    background: no-repeat center center;
    background-size: cover;
}

.hero-section::before {
    content: '';
    width: 100%;
    position: absolute;
    bottom: -1px;
    height: 100px;
    background: white;
    background: linear-gradient(0deg, white 0%, white 10%, rgba(255, 255, 255, 0) 100%);
}

.hero-section .content-box {
    max-width: 640px;
    margin: 0 auto;
    position: relative;
    text-align: center;
    margin-bottom: 40px;
}

.hero-section .content-box::before {
    position: absolute;
    display: block;
    content: '';
    left: 10px;
    right: -10px;
    top: 10px;
    bottom: -10px;
    background: rgba(255, 255, 255, 0.2);
    z-index: 0;
}

.hero-section .content-box .logo {
    width: 40px;
    margin-bottom: 10px;
}

.hero-section .content-box>.content {
    background: white;
    background: linear-gradient(330deg, rgba(255, 255, 255, 0.3) 0%, white 60%, white 100%);
    padding: 40px;
    position: relative;
    z-index: 2;
}

@media screen and (max-width: 767px) {
    .hero-section .content-box>.content {
        padding: 20px;
    }
}

.hero-section .content-box>.content .title {
    text-transform: uppercase;
    font-size: 26px;
    color: #20497D;
    font-weight: bold;
}

@media screen and (max-width: 767px) {
    .hero-section .content-box>.content .title {
        font-size: 20px;
    }
}

.hero-section .content-box>.content .sub-title {
    color: #20497D;
    font-size: 20px;
    display: inline-block;
    max-width: 400px;
    margin-bottom: 20px;
}

@media screen and (max-width: 767px) {
    .hero-section .content-box>.content .sub-title {
        font-size: 16px;
    }
}

.hero-section .content-box>.content p {
    display: inline-block;
    color: #20497D;
    font-size: 14px;
    max-width: 380px;
    line-height: 1.4em;
}

.hero-section .content-box>.content .detail a {
    font-weight: bold;
    text-decoration: underline;
}

.hero-section .content-box>.content .action {
    margin-top: 15px;
}

.client-section {
    text-align: center;
    padding-bottom: 50px;
}

.client-section .title {
    font-size: 16px;
    color: #8B987E;
    margin-bottom: 10px;
}

@media screen and (max-width: 767px) {
    .client-section .title {
        font-size: 14px;
    }
}

.client-section .content {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
}

.client-section .content .item {
    margin: 10px 25px;
}

@media screen and (max-width: 1199px) {
    .client-section .content .item img {
        max-width: 180px;
    }
}

@media screen and (max-width: 991px) {
    .client-section .content .item {
        margin: 10px 20px;
    }

    .client-section .content .item img {
        max-width: 130px;
    }
}

.feature-section {
    background: #EFF2EC;
}

.feature-container {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding-bottom: 40px;
    padding-top: 40px;
}

@media screen and (max-width: 991px) {
    .feature-container {
        flex-wrap: wrap;
    }
}

.feature-container .item {
    height: 320px;
    width: 25%;
    min-width: 25%;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    padding: 20px;
    text-align: center;
    position: relative;
    cursor: pointer;
    overflow: hidden;
    color: #F8F8F8;
}

@media screen and (max-width: 991px) {
    .feature-container .item {
        width: 50%;
        min-width: 50%;
    }
}

@media screen and (max-width: 767px) {
    .feature-container .item {
        width: 100%;
        min-width: 100%;
    }
}

.feature-container .item::before {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    content: '';
    background: #263240;
    background: linear-gradient(150deg, rgba(38, 50, 64, 0.274947) 0%, rgba(9, 11, 14, 0.83237) 100%);
    z-index: 2;
}

.feature-container .item>.link {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 4;
}

.feature-container .item>.bg {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    background: no-repeat center center;
    background-size: cover;
    z-index: 1;
    transition: all 0.3s ease;
}

.feature-container .item .content {
    max-width: 230px;
    position: relative;
    z-index: 3;
}

.feature-container .item .icon {
    margin-bottom: 30px;
}

.feature-container .item .title {
    font-size: 22px;
    text-transform: uppercase;
    height: 52px;
    transition: all 0.3s ease;
}

.feature-container .item p {
    font-size: 13px;
    line-height: 1.4em;
}

.feature-container .item:hover .bg {
    transform: scale(1.1);
}

.feature-container .item:hover .title {
    color: #fff;
}

.qoute-section {
    background: #EFF2EC;
    padding-bottom: 40px;
}

.qoute-section .qoute-container {
    display: flex;
    justify-content: center;
    align-items: center;
}

@media screen and (max-width: 767px) {
    .qoute-section .qoute-container {
        flex-wrap: wrap;
    }
}

.qoute-section .qoute-open,
.qoute-section .qoute-close {
    background: no-repeat center center;
    background-size: contain;
    height: 77px;
    width: 108px;
}

.qoute-section .qoute-open {
    background-image: url("./images/main/quote-open@2x.png");
}

.qoute-section .qoute-close {
    background-image: url("./images/main/quote-close@2x.png");
}

.qoute-section .content {
    padding: 40px 20px;
    font-size: 18px;
    margin: 0 20px;
    max-width: 800px;
    background: white;
    background: linear-gradient(180deg, white 0%, rgba(255, 255, 255, 0) 100%);
    text-align: center;
}

@media screen and (max-width: 767px) {
    .qoute-section .content {
        font-size: 14px;
        width: 100%;
        margin-top: 15px;
    }
}

.chart-section {
    background: #EFF2EC;
    padding-bottom: 40px;
    text-align: center;
}

.chart-section .title {
    font-size: 24px;
    margin-bottom: 25px;
}

@media screen and (max-width: 767px) {
    .chart-section .title {
        margin-bottom: 15px;
    }
}

.chart-section .title strong {
    font-size: 20px;
}

.chart-section p {
    margin-bottom: 35px;
    line-height: 1.4em;
}

@media screen and (max-width: 767px) {
    .chart-section p {
        margin-bottom: 15px;
    }
}

.chart-section .chart {
    min-height: 400px;
    background: no-repeat center center;
    background-size: contain;
}

@media screen and (max-width: 767px) {
    .chart-section .chart {
        min-height: 280px;
    }
}

.chart-section .ohne-erbmanufaktur,
.chart-section .mit-erbmanufaktur {
    padding: 30px;
}

.chart-section .mit-erbmanufaktur {
    background: #20497D;
    box-shadow: 20px 20px 46px rgba(32, 73, 125, 0.35);
}

.chart-section .mit-erbmanufaktur .title {
    color: #fff;
}

.chart-section .mit-erbmanufaktur p {
    color: #fff;
}

.main-wiki-section {
    padding-top: 80px;
    padding-bottom: 80px;
    text-align: center;
}

.main-wiki-section>.container {
    position: relative;
}

.main-wiki-section>.container:before {
    position: absolute;
    left: 0;
    right: 0;
    top: 50%;
    margin-top: -2px;
    z-index: 1;
    content: '';
    width: 100%;
    display: block;
    border-bottom: 1px solid #20497D;
}

.main-wiki-section .title {
    background: #fff;
    border: 1px solid #20497D;
    position: relative;
    z-index: 2;
    text-align: center;
    font-size: 16px;
    text-transform: uppercase;
    padding: 20px 40px;
    display: inline-block;
}

.main-wiki-section .title strong {
    text-transform: initial;
    font-size: 14px;
}

.main-wiki-section .title:before {
    content: '';
    border: 1px solid #20497D;
    top: -10px;
    bottom: -10px;
    left: 9px;
    right: 9px;
    position: absolute;
}

.main-blog-section {
    padding-bottom: 80px;
}

.main-blog-section .action {
    text-align: center;
}

.main-blog-container .item {
    margin-bottom: 30px;
    height: 450px;
    overflow: hidden;
}

.main-blog-container .item::before {
    content: '';
    width: 100%;
    position: absolute;
    bottom: -1px;
    height: 50px;
    background: white;
    background: linear-gradient(0deg, white 0%, white 10%, rgba(255, 255, 255, 0) 100%);
}

.main-blog-container .item>.image {
    display: block;
    padding-top: 66%;
    background: no-repeat center center;
    background-size: cover;
    margin-bottom: 20px;
}

.main-blog-container .item>.title {
    font-size: 14px;
    color: #20497D;
    font-weight: bold;
    line-height: 1.6em;
    height: 68px;
    overflow: hidden;
}

.main-blog-container .item>.title a {
    color: #20497D;
    word-break: initial;
}

.main-blog-container .item>.title a:hover {
    text-decoration: none;
}

.main-blog-container .item p {
    line-height: 1.6em;
    font-size: 13px;
}

.cta-section {
    padding: 80px 0;
    color: #fff;
    background: #20497D url("./images/share/logo-bg.svg") no-repeat 85% center;
}

.cta-section .row {
    align-items: center;
}

.cta-section .content {
    font-size: 26px;
    text-align: left;
    text-transform: uppercase;
    max-width: 650px;
    line-height: 1.4em;
}

@media screen and (max-width: 991px) {
    .cta-section .content {
        text-align: center;
        margin-bottom: 20px;
    }
}

.cta-section .action {
    text-align: center;
}

/* Beide Buttons gleiche Breite für konsistentes Design */
.cta-section .action .btn-brand,
.cta-section .action .btn-brand2 {
    width: 100%;
    max-width: 350px;
    margin-top: 15px;
    display: inline-block;
}

.cta-section .action .btn-brand {
    margin-top: 0;
}

.cta-section .published {
    display: flex;
    align-items: center;
    margin-top: 20px;
}

@media screen and (max-width: 991px) {
    .cta-section .published {
        justify-content: center;
        margin-bottom: 40px;
        flex-wrap: wrap;
    }
}

.cta-section .published>.item {
    margin-right: 30px;
}

@media screen and (max-width: 991px) {
    .cta-section .published>.item {
        margin-right: 0;
        margin: 0 15px;
    }
}

.cta-section-v2 {
    padding: 80px 0;
    color: #fff;
    background: #0f2e52;
}

.cta-section-v2 .row {
    align-items: center;
}

.cta-section-v2 .content {
    font-size: 26px;
    text-align: left;
    max-width: 650px;
    line-height: 1.4em;
    font-family: capitolium-2, sans-serif;
    font-weight: bold;
}

@media screen and (max-width: 991px) {
    .cta-section-v2 .content {
        text-align: center;
        margin-bottom: 20px;
    }
}

.cta-section-v2 .action {
    text-align: center;
}

.cta-section-v2 .action .btn-brand2 {
    margin-top: 15px;
}

.cta-section-v2 .action>a {
    width: 100%;
    max-width: 340px;
    padding: 15px 30px;
    text-transform: capitalize;
    font-weight: bold;
}

.cta-section-v2 .action>.btn-ghost {
    margin-top: 20px;
    border: 2px solid #BF9A70;
    color: #fff;
}

.cta-section-v2 .published {
    display: flex;
    align-items: center;
    margin-top: 20px;
}

@media screen and (max-width: 991px) {
    .cta-section-v2 .published {
        justify-content: center;
        margin-bottom: 40px;
        flex-wrap: wrap;
    }
}

.cta-section-v2 .published>.item {
    margin-right: 30px;
}

@media screen and (max-width: 991px) {
    .cta-section-v2 .published>.item {
        margin-right: 0;
        margin: 0 15px;
    }
}

.main-slide-section {
    border-top: 1px solid #ddd;
}

.main-slide-wrapper {
    max-width: 1140px;
    margin: 0 auto;
}

.main-slide-wrapper .swiper-container {
    width: 100%;
    height: 100%;
}

.main-slide-wrapper .swiper-slide {
    padding-top: 30%;
    position: relative;
}

@media screen and (max-width: 767px) {
    .main-slide-wrapper .swiper-slide {
        padding-top: 70%;
    }
}

@media screen and (max-width: 480px) {
    .main-slide-wrapper .swiper-slide {
        padding-top: 100%;
    }
}

.main-slide-wrapper .swiper-slide>.main-slide-item {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    top: 0;
    display: flex;
}

.main-slide-wrapper .slide-logo>.main-slide-item {
    justify-content: center;
    align-items: center;
}

.main-slide-wrapper .slide-logo .logo {
    height: 60%;
    display: block;
    width: 90%;
    background: url("./images/slide/logo.png") no-repeat center center;
    background-size: contain;
}

.main-slide-wrapper .slide-team>.main-slide-item {
    display: block;
}

.main-slide-wrapper .slide-team .image {
    background: no-repeat center center;
    background-size: cover;
    position: absolute;
    z-index: 1;
    left: 0;
    right: 0;
    bottom: 0;
    top: 0;
}

@media screen and (max-width: 767px) {
    .main-slide-wrapper .slide-team .image {
        bottom: 40%;
        background-position: right center;
    }
}

.main-slide-wrapper .slide-team .content {
    position: absolute;
    left: 0;
    z-index: 2;
    padding: 20px;
    height: 100%;
    background: #fff;
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding-left: 10%;
}

@media screen and (max-width: 767px) {
    .main-slide-wrapper .slide-team .content {
        width: 100%;
        padding: 20px;
        height: auto;
        bottom: 0;
        padding-top: 0;
    }
}

.main-slide-wrapper .slide-team .content:before {
    display: block;
    position: absolute;
    background: white;
    background: linear-gradient(90deg, white 0%, rgba(255, 255, 255, 0) 100%);
    content: '';
    top: 0;
    bottom: 0;
    left: 99%;
    right: -50%;
    z-index: 1;
}

@media screen and (max-width: 767px) {
    .main-slide-wrapper .slide-team .content:before {
        display: none;
    }
}

.main-slide-wrapper .slide-team .content::after {
    position: absolute;
    background: #ffffff;
    background: linear-gradient(0deg, white 0%, rgba(255, 255, 255, 0) 100%);
    content: '';
    top: -60px;
    bottom: 99%;
    left: 0;
    right: 0;
    z-index: 1;
    display: none;
}

@media screen and (max-width: 767px) {
    .main-slide-wrapper .slide-team .content::after {
        display: block;
    }
}

.main-slide-wrapper .slide-team .content>.title {
    font-size: 38px;
    color: #20497D;
    margin-bottom: 20px;
    position: relative;
    font-weight: bold;
    padding-bottom: 10px;
}

@media screen and (max-width: 991px) {
    .main-slide-wrapper .slide-team .content>.title {
        font-size: 24px;
    }
}

@media screen and (max-width: 767px) {
    .main-slide-wrapper .slide-team .content>.title {
        font-size: 18px;
        text-align: center;
        margin-bottom: 5px;
        padding-bottom: 5px;
    }
}

.main-slide-wrapper .slide-team .content>.title::before {
    position: absolute;
    bottom: 0;
    content: "";
    display: block;
    width: 240px;
    height: 3px;
    background: #BF9A70;
    left: 0;
}

@media screen and (max-width: 767px) {
    .main-slide-wrapper .slide-team .content>.title::before {
        left: 50%;
        width: 100px;
        margin-left: -50px;
        height: 2px;
    }
}

.main-slide-wrapper .slide-team .content ul {
    font-size: 16px;
    margin: 0 0 20px 0;
    padding: 0;
    list-style: none;
}

@media screen and (max-width: 767px) {
    .main-slide-wrapper .slide-team .content ul {
        font-size: 11px;
        text-align: center;
        margin-bottom: 8px;
        line-height: 1.6em;
    }
}

.main-slide-wrapper .slide-team .action {
    text-transform: uppercase;
}

@media screen and (max-width: 767px) {
    .main-slide-wrapper .slide-team .action {
        text-align: center;
    }

    .main-slide-wrapper .slide-team .action .btn-brand.btn-lg,
    .main-slide-wrapper .slide-team .action .btn-group-lg>.btn-brand.btn {
        font-size: 12px;
    }
}

.main-slide-wrapper .slide-team .helper {
    display: block;
    margin-top: 15px;
    font-style: italic;
    color: #8B987E;
    font-size: 13px;
}

@media screen and (max-width: 767px) {
    .main-slide-wrapper .slide-team .helper {
        font-size: 10px;
        text-align: center;
        margin-top: 0;
    }
}

.main-slide-wrapper .slide-team.-right .main-slide-item {
    justify-content: flex-end;
}

@media screen and (max-width: 767px) {
    .main-slide-wrapper .slide-team.-right .image {
        background-position: left center;
    }
}

.main-slide-wrapper .slide-team.-right .content {
    padding-left: 0;
    padding-right: 10%;
    right: 0;
    left: auto;
}

@media screen and (max-width: 767px) {
    .main-slide-wrapper .slide-team.-right .content {
        padding: 20px;
    }
}

.main-slide-wrapper .slide-team.-right .content:before {
    background: linear-gradient(90deg, rgba(255, 255, 255, 0) 0%, white 100%);
    left: -50%;
    right: 100%;
}

.main-slide-wrapper .slide-content>.main-slide-item {
    justify-content: center;
    align-items: center;
    background: #20497D url("./images/share/logo-bg.svg") no-repeat 90% center;
}

.main-slide-wrapper .slide-content>.main-slide-item>.content-box {
    max-width: 640px;
    margin: 0 auto;
    position: relative;
    text-align: center;
    margin-bottom: 40px;
}

@media screen and (max-width: 767px) {
    .main-slide-wrapper .slide-content>.main-slide-item>.content-box {
        margin-bottom: 0;
    }
}

.main-slide-wrapper .slide-content>.main-slide-item>.content-box::before {
    position: absolute;
    display: block;
    content: '';
    left: 10px;
    right: -10px;
    top: 10px;
    bottom: -10px;
    background: rgba(255, 255, 255, 0.2);
    z-index: 0;
}

.main-slide-wrapper .slide-content>.main-slide-item>.content-box .logo {
    width: 40px;
    margin-bottom: 10px;
}

@media screen and (max-width: 767px) {
    .main-slide-wrapper .slide-content>.main-slide-item>.content-box .logo {
        display: none;
    }
}

.main-slide-wrapper .slide-content>.main-slide-item>.content-box>.content {
    background: white;
    background: linear-gradient(330deg, rgba(255, 255, 255, 0.3) 0%, white 60%, white 100%);
    padding: 40px;
    position: relative;
    z-index: 2;
}

@media screen and (max-width: 767px) {
    .main-slide-wrapper .slide-content>.main-slide-item>.content-box>.content {
        padding: 20px;
    }
}

.main-slide-wrapper .slide-content>.main-slide-item>.content-box>.content .title {
    text-transform: uppercase;
    font-size: 20px;
    color: #20497D;
    font-weight: bold;
}

@media screen and (max-width: 767px) {
    .main-slide-wrapper .slide-content>.main-slide-item>.content-box>.content .title {
        font-size: 16px;
    }
}

.main-slide-wrapper .slide-content>.main-slide-item>.content-box>.content .sub-title {
    color: #20497D;
    font-size: 17px;
    display: inline-block;
    max-width: 400px;
    margin-bottom: 10px;
}

@media screen and (max-width: 767px) {
    .main-slide-wrapper .slide-content>.main-slide-item>.content-box>.content .sub-title {
        font-size: 13px;
        line-height: 1.4;
    }
}

.main-slide-wrapper .slide-content>.main-slide-item>.content-box>.content p {
    display: inline-block;
    color: #20497D;
    font-size: 14px;
    max-width: 380px;
    line-height: 1.4em;
}

@media screen and (max-width: 767px) {
    .main-slide-wrapper .slide-content>.main-slide-item>.content-box>.content p {
        font-size: 13px;
    }
}

.main-slide-wrapper .slide-content>.main-slide-item>.content-box>.content .detail a {
    font-weight: bold;
    text-decoration: underline;
}

.main-slide-wrapper .slide-content>.main-slide-item>.content-box>.content .action {
    margin-top: 15px;
}

.main-slide-wrapper .swiper-pagination {
    z-index: 10;
    position: relative;
    bottom: 30px;
}

@media screen and (max-width: 767px) {
    .main-slide-wrapper .swiper-pagination {
        bottom: 10px;
    }
}

.main-slide-wrapper .swiper-pagination-bullet-active {
    background-color: #20497D;
}

/* ====================================================================
   404 Page Styles
   ==================================================================== */

.page-404 {
    margin-bottom: 0;
    min-height: 62vh;
    display: flex;
    align-items: center;
    padding: 60px 0;
}

.page-404 .content-container {
    max-width: 550px;
    margin: 0;
}

.page-404 .page-title {
    font-size: 32px;
    position: relative;
    padding-bottom: 20px;
    margin-bottom: 20px;
    color: #fff;
    font-weight: 700;
}

.page-404 .page-title:before {
    content: '';
    width: 180px;
    border-bottom: 2px solid #fff;
    bottom: 0;
    left: 0;
    position: absolute;
}

.page-404 .page-content {
    margin-bottom: 40px;
    color: #fff;
    font-size: 16px;
    line-height: 1.6;
}

.page-404 .page-content p {
    color: #fff;
    margin-bottom: 15px;
}

/* Search Form Section */
.page-404 .search-form-container {
    background: rgba(255, 255, 255, 0.1);
    padding: 30px;
    border-radius: 8px;
    margin-bottom: 40px;
}

.page-404 .search-form-title {
    font-size: 20px;
    color: #fff;
    margin-bottom: 20px;
    font-weight: 600;
}

.page-404 .search-form label {
    display: block;
    color: #fff;
}

.page-404 .search-form .search-input-wrapper {
    display: flex;
    gap: 10px;
}

.page-404 .search-form input[name="s"] {
    flex: 1;
    border: none;
    border-radius: 6px;
    padding: 12px 20px;
    font-size: 16px;
    transition: box-shadow 0.3s;
}

.page-404 .search-form input[name="s"]:focus {
    outline: none;
    box-shadow: 0 0 0 3px rgba(191, 154, 112, 0.3);
}

.page-404 .search-form .search-submit,
.page-404 .search-form .btn-brand {
    padding: 12px 30px;
    background: #bf9a70;
    color: #fff;
    border: none;
    border-radius: 6px;
    cursor: pointer;
    transition: background 0.3s;
    font-size: 16px;
    font-weight: 600;
}

.page-404 .search-form .search-submit:hover,
.page-404 .search-form .btn-brand:hover {
    background: #d4ae84;
}

/* Suggestions Section */
.page-404 .suggestions-section {
    margin-top: 40px;
}

.page-404 .suggestions-title {
    font-size: 22px;
    color: #fff;
    margin-bottom: 25px;
    font-weight: 600;
    text-align: left;
}

.page-404 .suggestions-list {
    list-style: none;
    padding: 0;
    margin: 0;
    display: grid;
    gap: 15px;
}

.page-404 .suggestions-list li {
    background: rgba(255, 255, 255, 0.1);
    border: 2px solid rgba(255, 255, 255, 0.2);
    border-radius: 8px;
    padding: 20px;
    transition: all 0.3s;
    display: flex;
    align-items: flex-start;
    gap: 20px;
}

.page-404 .suggestions-list li:hover {
    border-color: #bf9a70;
    background: rgba(191, 154, 112, 0.2);
    transform: translateY(-2px);
}

.page-404 .suggestions-list li i {
    font-size: 24px;
    color: #bf9a70;
    margin-top: 5px;
    min-width: 24px;
}

.page-404 .suggestions-list li a {
    text-decoration: none;
    color: inherit;
    flex: 1;
}

.page-404 .suggestions-list li strong {
    display: block;
    font-size: 18px;
    color: #fff;
    margin-bottom: 5px;
    font-weight: 600;
}

.page-404 .suggestions-list li span {
    display: block;
    font-size: 14px;
    color: rgba(255, 255, 255, 0.9);
    line-height: 1.5;
}

.page-404 .suggestions-list li:hover strong {
    color: #bf9a70;
}

/* Mobile Responsive */
@media (max-width: 768px) {
    .page-404 {
        padding: 40px 0;
        min-height: 50vh;
    }

    .page-404 .content-container {
        margin: 0 auto;
    }

    .page-404 .page-title {
        font-size: 24px;
    }

    .page-404 .search-form-container {
        padding: 20px;
    }

    .page-404 .search-form .search-input-wrapper {
        flex-direction: column;
    }

    .page-404 .search-form .search-submit,
    .page-404 .search-form .btn-brand {
        width: 100%;
        text-align: center;
    }

    .page-404 .suggestions-title {
        text-align: center;
    }

    .page-404 .suggestions-list li {
        flex-direction: column;
        text-align: center;
        gap: 10px;
        align-items: center;
    }

    .page-404 .suggestions-list li i {
        margin-top: 0;
        margin-left: 0;
    }
}

/* Legacy 404 Styles (for backwards compatibility) */
.page-404 .section-single .entry-header {
    margin-bottom: 0;
    padding-bottom: 80px;
}

.page-404 .section-single .entry-header:before {
    bottom: 0;
}

.page-404 .section-single .entry-header a {
    color: #20497D;
}

.page-404 .section-single .entry-header .search-form {
    margin-bottom: 60px;
}

.page-404 .section-single .entry-header .search-field {
    vertical-align: middle;
    padding: 3px 10px;
    box-sizing: border-box;
}

.page-404 .section-single .entry-header .search-submit {
    font-size: 16px;
    vertical-align: middle;
    background: #BF9A70;
    color: #fff;
    border: none;
}

.header-hero-section {
    padding: 40px 0;
    position: relative;
    background: #20497D;
    text-align: center;
    color: #fff;
}

.header-hero-section>.container {
    position: relative;
    z-index: 3;
}

.header-hero-section>.container>.title {
    position: relative;
    text-transform: initial;
    font-size: 70px;
    padding-bottom: 0;
    font-family: "Kunstler Script", sans-serif;
    -webkit-font-smoothing: subpixel-antialiased;
    color: #f8af3c;
}

@media screen and (max-width: 767px) {
    .header-hero-section>.container>.title {
        font-size: 45px;
    }
}

@supports (background-clip: text) and (-webkit-text-fill-color: transparent) {
    .header-hero-section>.container>.title {
        background-image: linear-gradient(to bottom, #f8eed4 33%, #eaca7c 65%, #f8eed4 100%);
        background-clip: text;
        -webkit-text-fill-color: transparent;
    }
}

.header-hero-section>.container>.title::before {
    position: absolute;
    bottom: 0;
    left: 50%;
    margin-left: -100px;
    width: 200px;
    content: '';
    border-bottom: 1px solid rgba(255, 255, 255, 0.5);
}

.header-hero-section>.container>.detail {
    max-width: 520px;
    margin: 0 auto;
}

.header-hero-section-v2 {
    padding: 60px 0 40px;
    background: #10345f;
    background-image: url('./images/marktplatz/marktplatz-hero-bg.jpg');
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    position: relative;
}

.header-hero-section-v2::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(16, 52, 95, 0.9);
    z-index: 0;
}

.header-hero-section-v2 > .container {
    position: relative;
    z-index: 1;
}

@media screen and (max-width: 767px) {
    .header-hero-section-v2 {
        padding: 40px 0 30px;
    }
}

.header-hero-section-v2>.container>.title {
    color: #fff;
    font-family: capitolium-2, sans-serif;
    font-size: 38px;
    letter-spacing: 0.05em;
    margin-bottom: 20px;
}

@media screen and (max-width: 767px) {
    .header-hero-section-v2>.container>.title {
        font-size: 32px;
    }
}

.header-hero-section-v2>.container>p {
    color: #fff;
    margin-bottom: 15px;
    letter-spacing: 0.05em;
    font-size: 16px;
}

.header-hero-section-v2>.container .badge-check {
    color: #BF9A70;
    background: rgba(191, 154, 112, 0.15);
    border: 1px solid rgba(191, 154, 112, 0.3);
    border-radius: 6px;
    padding: 10px 18px;
    display: inline-flex;
    align-items: center;
    gap: 10px;
    font-size: 14px;
    font-weight: 600;
    letter-spacing: 0.03em;
    margin-top: 10px;
}

.header-hero-section-v2>.container .badge-check::before {
    content: '\f00c';
    font-family: 'Font Awesome 5 Free';
    font-weight: 900;
    font-size: 12px;
    color: #BF9A70;
}

.header-hero-title-center {
    padding-top: 0;
    padding-bottom: 100px;
}

.header-hero-title-center>.container>.title {
    text-align: center;
}

.header-hero-title-center>.container>.sub-title {
    text-align: center;
    color: #fff;
    font-size: 25px;
    letter-spacing: 0.04em;
}

.header-hero-title-center>.container>.sub-title a,
.header-hero-title-center>.container>.sub-title a:active,
.header-hero-title-center>.container>.sub-title a:visited {
    color: #BF9A70;
    transition: all 0.3s ease;
}

.header-hero-title-center>.container>.sub-title a:hover,
.header-hero-title-center>.container>.sub-title a:active:hover,
.header-hero-title-center>.container>.sub-title a:visited:hover {
    color: #fff;
}

.header-hero-title-center>.container .badge-check-top {
    color: #BF9A70;
    padding-left: 60px;
    position: relative;
    height: 66px;
    display: flex;
    align-items: center;
    margin-bottom: 85px;
}

.header-hero-title-center>.container .badge-check-top::before {
    content: '';
    width: 40px;
    height: 70px;
    background: url("./images/share/check-badge-down.png") no-repeat center bottom;
    background-size: contain;
    position: absolute;
    bottom: 0;
    left: 0;
}

.feature-blog-section {
    background: #20497D url("./images/share/logo-bg.svg") no-repeat 10% center;
}

.feature-blog-section>.container>.title {
    color: #fff;
    font-size: 18px;
    text-align: center;
    margin: 0px;
    padding-top: 40px;
}

.feature-blog-container {
    display: flex;
    justify-content: space-between;
    align-items: center;
    transform: translateY(40px);
    box-shadow: 20px 20px 46px rgba(32, 73, 125, 0.35);
    margin-bottom: 100px;
    margin-top: -20px;
}

@media screen and (max-width: 991px) {
    .feature-blog-container {
        flex-wrap: wrap;
    }
}

.feature-blog-container .item {
    flex-grow: 1;
    display: flex;
    justify-content: flex-end;
    align-items: center;
    flex-direction: column;
    padding: 20px;
    height: 240px;
    position: relative;
    cursor: pointer;
    overflow: hidden;
    color: #F8F8F8;
}

@media screen and (max-width: 991px) {
    .feature-blog-container .item {
        width: 50%;
        min-width: 50%;
        height: 200px;
    }
}

@media screen and (max-width: 767px) {
    .feature-blog-container .item {
        width: 100%;
        min-width: 100%;
    }
}

.feature-blog-container .item::before {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    content: '';
    background: #263240;
    background: linear-gradient(150deg, rgba(38, 50, 64, 0.1) 0%, rgba(9, 11, 14, 0.8) 100%);
    z-index: 2;
}

.feature-blog-container .item>.link {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 4;
}

.feature-blog-container .item>.bg {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    background: no-repeat center center;
    background-size: cover;
    z-index: 1;
    transition: all 0.3s ease;
}

.feature-blog-container .item .content {
    position: relative;
    z-index: 3;
}

.feature-blog-container .item .title {
    font-size: 16px;
    transition: all 0.3s ease;
}

.feature-blog-container .item:hover .bg {
    transform: scale(1.1);
}

.feature-blog-container .item:hover .title {
    color: #fff;
}

.blog-section {
    margin-top: 40px;
}

@media screen and (max-width: 767px) {
    .blog-section {
        margin-top: 20px;
    }
}

.blog-section>.container>.title {
    text-align: center;
    font-size: 18px;
    color: #20497D;
    margin-bottom: 30px;
    font-weight: bold;
}

.blog-section>.container .main-blog-container .item {
    height: 380px;
}

.sidebar-panel {
    margin-bottom: 40px;
}

.sidebar-panel>.title {
    text-transform: uppercase;
    font-size: 14px;
    color: #5D6872;
    border-bottom: 1px solid #F8F8F8;
    padding-bottom: 10px;
    font-weight: bold;
}

.sidebar-panel .category-wrapper {
    padding-left: 0;
    list-style: none;
}

.sidebar-panel .category-wrapper li {
    margin-bottom: 5px;
}

.sidebar-panel .category-wrapper a {
    color: #5D6872;
}

.sidebar-panel .category-wrapper .current-cat a {
    font-weight: bold;
}

.entry-title {
    font-size: 30px;
    font-weight: bold;
    color: #20497D;
}

.entry-meta {
    color: #5D6872;
}

.entry-header {
    margin-bottom: 20px;
}

.entry-header .image {
    box-shadow: 20px 20px 46px rgba(32, 73, 125, 0.35);
    margin-bottom: 40px;
}

.header-with-bg-section {
    position: relative;
    padding-top: 80px;
}

@media screen and (max-width: 767px) {
    .header-with-bg-section {
        padding-top: 40px;
    }
}

.header-with-bg-section .container>.bg {
    position: absolute;
    z-index: 0;
    left: 0;
    right: 0;
    top: 0;
    padding-top: 31%;
    background: no-repeat center top;
    background-size: cover;
}

@media screen and (max-width: 991px) {
    .header-with-bg-section .container>.bg {
        padding-top: 50%;
    }
}

@media screen and (max-width: 767px) {
    .header-with-bg-section .container>.bg {
        padding-top: 100%;
    }
}

.header-with-bg-section .container .title {
    margin-top: 20px;
    font-family: capitolium-2, sans-serif;
    font-size: 45px;
    color: #fff;
    letter-spacing: 0.04em;
    margin-bottom: 15px;
}

@media screen and (max-width: 767px) {
    .header-with-bg-section .container .title {
        font-size: 30px;
        margin-bottom: 0px;
        margin-top: 0;
    }
}

.header-with-bg-section .container .sub-title {
    font-family: capitolium-2, sans-serif;
    font-size: 24px;
    color: #BF9A70;
    letter-spacing: 0.04em;
    display: inline-block;
}

@media screen and (max-width: 767px) {
    .header-with-bg-section .container .sub-title {
        font-size: 18px;
        margin-bottom: 40px;
    }
}

.header-with-bg-section .container .sub-title::after {
    content: '';
    display: block;
    border-bottom: 1px solid #BF9A70;
    margin-top: 10px;
}

.header-with-bg-section.-red .container .sub-title {
    color: #fff;
}

.header-with-bg-section.-red .container .sub-title::after {
    opacity: 0.7;
    border-bottom: 1px solid #fff;
}

.section-2-col {
    padding: 40px 0;
    position: relative;
}

@media screen and (max-width: 767px) {
    .section-2-col {
        padding: 40px 0;
        border-bottom: 1px solid #000;
    }
}

.section-2-col>.container {
    background: #F5F5F5;
    padding-top: 20px;
}

.section-2-col>.container .col-left {
    padding-right: 40px;
    border-right: 1px solid #000;
}

@media screen and (max-width: 767px) {
    .section-2-col>.container .col-left {
        padding-right: 15px;
        margin-bottom: 20px;
        border: none;
    }
}

.section-2-col>.container .col-right {
    padding-left: 40px;
}

@media screen and (max-width: 767px) {
    .section-2-col>.container .col-right {
        padding-left: 15px;
        margin-bottom: 20px;
    }
}

.section-2-col>.container .col-content .content {
    margin-bottom: 20px;
}

.section-2-col>.container .col-content .content p {
    margin-bottom: 25px;
}

.section-2-col>.container .col-content .content .title {
    font-family: capitolium-2, sans-serif;
    font-size: 24px;
    color: #BF9A70;
    letter-spacing: 0.05em;
    margin-bottom: 20px;
    position: relative;
    display: inline-block;
}

.section-2-col>.container .col-content .content .title::after {
    content: '';
    display: block;
    border-bottom: 1px solid #BF9A70;
    margin-top: 10px;
}

.section-2-col>.container .col-content .content .title.-red {
    color: #A92727;
}

.section-2-col>.container .col-content .content .title.-red::after {
    border-bottom: 1px solid #A92727;
}

@media screen and (max-width: 991px) {
    .section-2-col>.container .col-content .content .title {
        font-size: 22px;
    }
}

@media screen and (max-width: 767px) {
    .section-2-col>.container .col-content .content .title {
        font-size: 18px;
    }
}

.section-2-col>.container .col-content .content>.detail {
    color: #000;
}

.section-2-col>.container .col-content .content>.detail .big {
    font-size: 40px;
}

@media screen and (max-width: 767px) {
    .section-2-col>.container .col-content .content>.detail {
        margin-bottom: 20px;
    }
}

.section-2-col>.container .col-content .image {
    margin-top: 20px;
}

.rechner-wrapper .rechner-item {
    position: relative;
    margin-bottom: 30px;
}

.rechner-wrapper .rechner-item .image-wrapper {
    cursor: pointer;
    height: 220px;
    position: relative;
    overflow: hidden;
    color: #F8F8F8;
    padding: 20px;
    display: flex;
    align-items: flex-end;
    margin-bottom: 15px;
}

.rechner-wrapper .rechner-item .image-wrapper::before {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    content: '';
    background: #263240;
    background: linear-gradient(150deg, rgba(38, 50, 64, 0) 0%, rgba(9, 11, 14, 0.7) 100%);
    z-index: 2;
}

.rechner-wrapper .rechner-item .image-wrapper>.link {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 4;
}

.rechner-wrapper .rechner-item .image-wrapper>.bg {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    background: no-repeat center center;
    background-size: cover;
    z-index: 1;
    transition: all 0.3s ease;
}

.rechner-wrapper .rechner-item .image-wrapper .content {
    position: relative;
    z-index: 3;
}

.rechner-wrapper .rechner-item .image-wrapper .title {
    font-size: 18px;
    text-transform: uppercase;
    transition: all 0.3s ease;
}

.rechner-wrapper .rechner-item p {
    font-size: 13px;
    line-height: 1.4em;
}

.rechner-wrapper .rechner-item:hover .bg {
    transform: scale(1.1);
}

.rechner-wrapper .rechner-item:hover .title {
    color: #fff;
}

.rechner-hero-section {
    background: #F5F5F5;
    padding: 100px 0;
}

@media screen and (max-width: 767px) {
    .rechner-hero-section {
        padding: 40px 0;
    }
}

@media screen and (max-width: 767px) {
    .rechner-hero-section .cal-wrapper {
        padding-bottom: 40px;
    }
}

.rechner-hero-section .content {
    display: flex;
    align-items: center;
    justify-content: center;
}

.rechner-hero-section .content .detail>.title {
    font-family: capitolium-2, sans-serif;
    font-weight: bold;
    color: #000;
}

@media screen and (max-width: 767px) {
    .rechner-hero-section .content .detail>.title {
        font-size: 30px;
    }
}

.rechner-footer-section {
    padding: 100px 0;
}

.rechner-footer-section.-gray {
    background: #F5F5F5;
}

@media screen and (max-width: 767px) {
    .rechner-footer-section .content {
        padding-bottom: 40px;
    }
}

.rechner-footer-section .content .detail {
    max-width: 460px;
}

.rechner-footer-section .content .detail .title {
    font-family: capitolium-2, sans-serif;
    font-weight: bold;
    color: #000;
    font-size: 50px;
}

@media screen and (max-width: 767px) {
    .rechner-footer-section .content .detail .title {
        font-size: 36px;
    }
}

.rechner-footer-section .content .detail .sub-title {
    color: #BF9A70;
    font-weight: bold;
    font-size: 16px;
}

.rechner-footer-section .content .detail strong {
    color: #BF9A70;
    font-weight: bold;
}

.rechner-footer-section .content .detail .action {
    width: 200px;
    text-align: center;
}

.rechner-footer-section .content .detail .action>img {
    margin-bottom: 20px;
}

.rechner-footer-section .content .detail .action .btn-ghost {
    width: 100%;
    border-color: #BF9A70;
    text-transform: uppercase;
    font-weight: bold;
}

.rechner-footer-section .content .detail .action .btn-ghost:hover {
    color: #fff;
}

.erbrechner-wrapper {
    background: #fff;
    border-radius: 20px;
    padding: 30px;
    border: 5px solid #E5E5E5;
}

.erbrechner-wrapper>.title {
    font-size: 20px;
    font-family: capitolium-2, sans-serif;
}

.erbrechner-section-1 {
    background: #fff;
}

.content-section {
    background: #E5E5E5;
    padding: 100px 0;
}

.content-section.-white {
    background: #fff;
}

@media screen and (max-width: 767px) {
    .content-section {
        padding: 60px 0;
    }
}

.content-section .content-wrapper {
    max-width: 700px;
    margin: 0 auto 50px;
}

@media screen and (max-width: 767px) {
    .content-section .content-wrapper {
        margin-bottom: 40px;
    }
}

.content-section .content-wrapper>.title {
    font-size: 35px;
    font-family: capitolium-2, sans-serif;
    color: #000;
    font-weight: bold;
    margin-bottom: 40px;
}

@media screen and (max-width: 767px) {
    .content-section .content-wrapper>.title {
        font-size: 30px;
    }
}

.content-section .content-wrapper .content {
    font-size: 16px;
}

@media screen and (max-width: 767px) {
    .content-section .content-wrapper .content {
        font-size: 14px;
    }
}

.content-section .content-wrapper .content ul li {
    margin-bottom: 15px;
}

.badge-section {
    position: relative;
    background: #F1F1F1;
    padding: 30px;
    margin-bottom: 50px;
}

.badge-section::before {
    content: "";
    position: absolute;
    top: 0px;
    left: 45px;
    width: 55px;
    height: 86px;
    background: url("./images/share/badge-color.png") no-repeat center center;
    background-size: contain;
}

@media screen and (max-width: 1199px) {
    .badge-section::before {
        left: 35px;
    }
}

@media screen and (max-width: 991px) {
    .badge-section::before {
        width: 35px;
        height: 52px;
    }
}

.badge-section>.content {
    max-width: 700px;
    margin: 0 auto;
    font-size: 30px;
    font-weight: bold;
    color: #000;
    line-height: 1.2em;
}

@media screen and (max-width: 1199px) {
    .badge-section>.content {
        font-size: 26px;
    }
}

@media screen and (max-width: 991px) {
    .badge-section>.content {
        padding-top: 35px;
    }
}

@media screen and (max-width: 767px) {
    .badge-section>.content {
        font-size: 22px;
    }
}

.badge-section>.content>span {
    color: #BF9A70;
}

.inheritance-calculator-cta {
    background: #fff;
    width: 100%;
    margin-bottom: 50px;
}

.inheritance-calculator-cta.-gray {
    background: #F1F1F1;
}

.inheritance-calculator-cta .content-container {
    display: flex;
    align-items: center;
}

@media screen and (max-width: 767px) {
    .inheritance-calculator-cta .content-container {
        flex-wrap: wrap;
    }
}

.inheritance-calculator-cta .content-container>.col-content {
    flex: 1;
    padding: 75px;
}

@media screen and (max-width: 991px) {
    .inheritance-calculator-cta .content-container>.col-content {
        flex: 2;
        padding: 40px;
    }
}

@media screen and (max-width: 767px) {
    .inheritance-calculator-cta .content-container>.col-content {
        width: 100%;
        min-width: 100%;
        text-align: center;
        padding: 30px;
    }
}

.inheritance-calculator-cta .content-container>.col-content>.title {
    font-size: 30px;
    font-family: capitolium-2, sans-serif;
    color: #000;
    font-weight: bold;
    margin-bottom: 40px;
}

@media screen and (max-width: 991px) {
    .inheritance-calculator-cta .content-container>.col-content>.title {
        font-size: 24px;
    }
}

@media screen and (max-width: 767px) {
    .inheritance-calculator-cta .content-container>.col-content>.title {
        margin-bottom: 20px;
    }
}

.inheritance-calculator-cta .content-container>.col-image {
    flex: 1;
    padding: 40px;
    text-align: center;
}

.inheritance-calculator-cta .content-container>.col-image img {
    max-width: 280px;
}

@media screen and (max-width: 991px) {
    .inheritance-calculator-cta .content-container>.col-image img {
        max-width: 190px;
    }
}

.content-section .cta-contact-section {
    margin-left: 0;
    margin-right: 0;
    margin-bottom: 50px;
}

.content-section .cta-contact-section .col-content .title {
    font-family: capitolium-2, sans-serif;
    color: #000;
}

.content-section .cta-contact-section .caption {
    max-width: 320px;
}

.pflege-konfigurator-section-1 .col-content {
    padding-left: 60px;
}

@media screen and (max-width: 991px) {
    .pflege-konfigurator-section-1 .col-content {
        padding: 0 20px;
    }
}

.contact-header-section {
    background: #20497D url("./images/share/logo-bg.svg") no-repeat 70% center;
    color: #fff;
    display: flex;
}

@media screen and (max-width: 767px) {
    .contact-header-section {
        flex-wrap: wrap;
    }
}

.contact-header-section .content {
    width: 50%;
    min-width: 50%;
    padding: 50px 30px;
}

@media screen and (max-width: 767px) {
    .contact-header-section .content {
        text-align: center;
        width: 100%;
    }
}

.contact-header-section .content>.title {
    text-transform: uppercase;
}

@media screen and (max-width: 767px) {
    .contact-header-section .content>.title {
        font-size: 18px;
    }
}

.contact-header-section .content a {
    color: #fff;
    font-weight: bold;
}

.contact-header-section .content a:hover {
    text-decoration: underline;
}

.booking-section {
    padding-top: 80px;
    margin-bottom: 60px;
    background: #f0f0f0;
}

.booking-section .booking-iframe {
    height: 1100px;
}

@media screen and (max-width: 1214px) {
    .booking-section .booking-iframe {
        height: 1200px;
    }
}

@media screen and (max-width: 782px) {
    .booking-section .booking-iframe {
        height: 1700px;
    }
}

@media screen and (max-width: 495px) {
    .booking-section .booking-iframe {
        height: 1750px;
    }
}

@media screen and (max-width: 360px) {
    .booking-section .booking-iframe {
        height: 2000px;
    }
}

.contact-form-section {
    display: flex;
}

@media screen and (max-width: 767px) {
    .contact-form-section {
        flex-wrap: wrap;
    }
}

.contact-form-section .content {
    width: 50%;
    padding: 25px;
    background: #20497D url("./images/share/logo-bg.svg") no-repeat 10% 80%;
}

@media screen and (max-width: 767px) {
    .contact-form-section .content {
        width: 100%;
    }
}

.contact-form-section .content p {
    margin-bottom: 0;
}

.contact-form-section .content a {
    color: #BF9A70;
    font-weight: bold;
}

.contact-form-section .content a:hover {
    text-decoration: underline;
}

.contact-form-section .content .content-container {
    max-width: 500px;
    margin: 50px auto;
    color: #fff;
}

.contact-form-section .content .wpcf7-list-item {
    margin: 0;
}

.contact-form-section .content .wpcf7-form-control {
    margin-bottom: 15px;
    width: 100%;
    padding: 8px 10px;
    background: #6D8AAD;
    border-radius: 4px;
    color: #fff;
    border: none;
}

.contact-form-section .content .wpcf7-form-control.wpcf7-acceptance {
    background: none;
}

.contact-form-section .content .wpcf7-submit {
    background: #BF9A70;
    font-size: 18px;
    max-width: 180px;
    margin-top: 20px;
    padding: 10px 20px;
}

.contact-form-section .image {
    width: 50%;
    background: no-repeat center center;
    background-size: cover;
}

@media screen and (max-width: 767px) {
    .contact-form-section .image {
        display: none;
    }
}

.relate-content-container>.title {
    margin-bottom: 20px;
    font-weight: bold;
    text-align: center;
}

.contact-form-section-v2 {
    background: #10233E;
    padding: 50px 0 0;
}

@media screen and (max-width: 991px) {
    .contact-form-section-v2>.container {
        flex-wrap: wrap;
    }
}

.contact-form-section-v2>.container>.content {
    max-width: 100%;
    margin: 0 auto;
    padding-bottom: 70px;
}

@media screen and (max-width: 991px) {
    .contact-form-section-v2>.container>.content {
        width: 100%;
        padding-bottom: 60px;
    }
}

.contact-form-section-v2>.container>.content p {
    margin-bottom: 0;
}

.contact-form-section-v2>.container>.content a {
    color: #BF9A70;
    font-weight: bold;
}

.contact-form-section-v2>.container>.content a:hover {
    text-decoration: underline;
}

.contact-form-section-v2>.container>.content .content-container {
    margin: 0 auto 20px;
    color: #fff;
}

.contact-form-section-v2>.container>.content .content-container>.title {
    font-family: capitolium-2, sans-serif;
    font-size: 32px;
    margin-bottom: 20px;
}

.contact-form-section-v2>.container>.content .wpcf7-list-item {
    margin: 0;
}

.contact-form-section-v2>.container>.content .form-group {
    margin-bottom: 0;
}

.contact-form-section-v2>.container>.content .wpcf7-form-control {
    margin-bottom: 15px;
    width: 100%;
    padding: 8px 10px;
    background: transparent;
    border-radius: 0;
    color: #fff;
    border: 1px solid #BF9A70;
}

.contact-form-section-v2>.container>.content .wpcf7-form-control::placeholder {
    color: #fff;
    opacity: 1;
    /* Firefox */
}

.contact-form-section-v2>.container>.content .wpcf7-form-control:-ms-input-placeholder {
    color: #fff;
}

.contact-form-section-v2>.container>.content .wpcf7-form-control::-ms-input-placeholder {
    color: #fff;
}

.contact-form-section-v2>.container>.content .wpcf7-form-control.wpcf7-acceptance {
    background: none;
    border: none;
    padding: 0;
}

.contact-form-section-v2>.container>.content .wpcf7-form-control.wpcf7-acceptance .wpcf7-list-item-label {
    font-size: 11px;
    font-weight: normal;
}

.contact-form-section-v2>.container>.content .form-quiz {
    margin-bottom: 15px;
    display: flex;
    align-items: center;
}

.contact-form-section-v2>.container>.content .form-quiz>.form-label {
    margin-right: 20px;
    white-space: nowrap;
}

.contact-form-section-v2>.container>.content .form-quiz .wpcf7-form-control-wrap {
    flex-grow: 1;
}

.contact-form-section-v2>.container>.content .form-quiz .wpcf7-form-control-wrap>label {
    display: flex;
    align-items: center;
}

.contact-form-section-v2>.container>.content .form-quiz .wpcf7-form-control-wrap .wpcf7-quiz-label {
    margin-right: 20px;
}

.contact-form-section-v2>.container>.content .form-quiz .wpcf7-form-control-wrap .wpcf7-form-control {
    margin-bottom: 0;
}

.contact-form-section-v2>.container>.content .wpcf7-submit {
    background: #BF9A70;
    font-size: 18px;
    margin-top: 20px;
    padding: 10px 20px;
}

.contact-form-section-v2>.container .contact-booking>.title {
    color: #fff;
    font-family: capitolium-2, sans-serif;
    letter-spacing: 0.04em;
    font-size: 20px;
    margin-bottom: 20px;
}

.contact-form-section-v2>.container .contact-booking>.action {
    display: flex;
    justify-content: space-between;
}

@media screen and (max-width: 767px) {
    .contact-form-section-v2>.container .contact-booking>.action {
        flex-wrap: wrap;
    }
}

.contact-form-section-v2>.container .contact-booking>.action .btn-brand {
    color: #fff;
    padding: 10px 30px;
    font-weight: normal;
    border: 3px solid #BF9A70;
}

@media screen and (max-width: 767px) {
    .contact-form-section-v2>.container .contact-booking>.action .btn-brand {
        width: 100%;
        margin-bottom: 15px;
    }
}

.contact-form-section-v2>.container .contact-booking>.action .btn-brand.btn-tel {
    background: transparent;
}

.contact-form-section-v2>.container .contact-booking>.action .btn-brand.btn-tel>i {
    color: #BF9A70;
}

.contact-form-section-v2>.container .contact-booking>.action .btn-brand:hover {
    text-decoration: none;
}

.contact-form-section-v2 .claus-col {
    position: relative;
}

.contact-form-section-v2 .claus-col .team-list-item-v2 {
    position: absolute;
    left: 20px;
    right: 0;
    top: 0;
    bottom: 0;
    display: flex;
    flex-direction: column;
}

@media screen and (max-width: 767px) {
    .contact-form-section-v2 .claus-col .team-list-item-v2 {
        position: relative;
        left: 0;
        margin-top: 40px;
    }
}

.contact-form-section-v2 .claus-col .team-list-item-v2 .image {
    flex-grow: 1;
}

@media screen and (max-width: 767px) {
    .contact-form-section-v2 .claus-col .team-list-item-v2 .image {
        min-height: 340px;
    }
}

.contact-form-section-v2 .claus-col .team-list-item-v2>.content>.title {
    font-size: 25px;
}

.contact-form-section-v2 .claus-col .team-list-item-v2>.content .action>.btn {
    position: relative;
    padding: 5px 0;
    color: #BF9A70;
    text-decoration: none;
    font-weight: lighter;
    font-size: 14px;
    letter-spacing: 0.04em;
}

.contact-form-section-v2 .claus-col .team-list-item-v2>.content .action>.btn::before {
    content: "";
    border-bottom: 1px solid #BF9A70;
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
}

.contact-form-section-v2 .team-content {
    background: #F5F5F5;
    padding: 100px 0;
}

@media screen and (max-width: 991px) {
    .contact-form-section-v2 .team-content {
        width: 100%;
        min-width: auto;
    }
}

@media screen and (max-width: 767px) {
    .contact-form-section-v2 .team-content {
        padding: 40px 0;
    }
}

.contact-form-section-v2 .team-content>.container>.title {
    font-family: capitolium-2, sans-serif;
    font-size: 26px;
    margin-bottom: 40px;
    color: #10233E;
    font-weight: bold;
}

.contact-form-section-v2 .team-content .team-container-v2 {
    margin-top: 0;
}

@media screen and (max-width: 991px) {
    .contact-form-section-v2 .team-content .team-container-v2 {
        margin-right: -15px;
    }
}

.contact-form-section-v2 .team-content .team-list-item-v2 {
    margin-bottom: 15px;
    display: flex;
    flex-direction: column;
}

.contact-form-section-v2 .team-content .team-list-item-v2>.content {
    font-size: 11px;
    min-height: 145px;
    flex-grow: 1;
}

.contact-form-section-v2 .team-content .team-list-item-v2>.content>.title {
    font-size: 16px;
    margin-bottom: 10px;
    letter-spacing: 0.04em;
}

.main-published.contact-published {
    background: #f5f5f5;
}

/* About Claus M. Büttner Template Sarts here */

.page-template-page-ueber-claus .glossary-link a, .glossary-underline {
    color: #0f2e52;
}

.about-claus-image {
    margin-bottom: 0.2em!important;
}

.about-claus-image-caption {
    font-size: 13px;
    font-weight: 300;
    font-style: italic;
    margin-bottom: 1.2em!important;
}

.page-template-page-ueber-claus .btn-brand {
    margin-bottom: 7px;
}

.page-template-page-ueber-claus .btn-brand2 {
    margin-bottom: 7px;
}


/* About Claus M. Büttner Template Ends here */


.about-header-section {
    padding: 30px 0;
}

.about-header-section .container>.title {
    text-align: center;
    font-size: 40px;
    font-weight: bold;
    color: #20497D;
    position: relative;
    padding-bottom: 20px;
    margin-bottom: 30px;
}

@media screen and (max-width: 767px) {
    .about-header-section .container>.title {
        font-size: 26px;
        margin-bottom: 10px;
    }
}

.about-header-section .container>.title::before {
    position: absolute;
    bottom: 0;
    content: "";
    display: block;
    width: 240px;
    height: 3px;
    background: #BF9A70;
    left: 50%;
    margin-left: -120px;
}

.team-item {
    margin-bottom: 120px;
    box-shadow: -20px 20px 50px rgba(93, 104, 114, 0.4);
    min-height: 450px;
    background: no-repeat right center;
    background-size: cover;
    position: relative;
    display: flex;
    align-items: center;
}

@media screen and (max-width: 1199px) {
    .team-item {
        min-height: 400px;
        background-position: right 30% center;
    }
}

.team-item::before {
    position: absolute;
    background: white;
    background: linear-gradient(90deg, white 0%, white 70%, rgba(255, 255, 255, 0) 100%);
    content: '';
    top: -30px;
    bottom: -80px;
    left: -80px;
    right: 40%;
    z-index: 1;
}

.team-item .content {
    position: relative;
    z-index: 2;
    padding: 20px;
}

.team-item .content>.title {
    font-size: 40px;
    color: #20497D;
    margin-bottom: 20px;
    position: relative;
    font-weight: bold;
    padding-bottom: 10px;
}

@media screen and (max-width: 991px) {
    .team-item .content>.title {
        font-size: 32px;
    }
}

@media screen and (max-width: 767px) {
    .team-item .content>.title {
        font-size: 26px;
    }
}

.team-item .content>.title::before {
    position: absolute;
    bottom: 0;
    content: "";
    display: block;
    width: 240px;
    height: 3px;
    background: #BF9A70;
    left: 0;
}

.team-item .content ul {
    font-size: 16px;
    margin: 0 0 20px 0;
    padding: 0;
    list-style: none;
}

@media screen and (max-width: 767px) {
    .team-item .content ul {
        font-size: 14px;
    }
}

.team-item .action {
    text-transform: uppercase;
}

.team-item .helper {
    display: block;
    margin-top: 15px;
    font-style: italic;
    color: #8B987E;
    font-size: 13px;
}

.team-item.-right {
    background: no-repeat left center;
    justify-content: flex-end;
}

@media screen and (max-width: 1199px) {
    .team-item.-right {
        background-position: left 30% center;
    }
}

.team-item.-right::before {
    position: absolute;
    background: white;
    background: linear-gradient(90deg, rgba(255, 255, 255, 0) 0%, white 30%, white 100%);
    content: '';
    top: -30px;
    bottom: -80px;
    left: 40%;
    right: -30px;
    z-index: 1;
}

.team-item.-right .content {
    min-width: 400px;
}

@media screen and (max-width: 991px) {
    .team-item.-right .content {
        min-width: 360px;
    }
}

@media screen and (max-width: 767px) {
    .team-item {
        box-shadow: none;
        background-position: right 25% center;
    }

    .team-item::before {
        position: absolute;
        background: white;
        background: linear-gradient(180deg, rgba(255, 255, 255, 0) 0%, white 30%, white 100%);
        content: '';
        top: 200px;
        bottom: -80px;
        left: -1px;
        right: -1px;
        z-index: 1;
    }

    .team-item.-right {
        background-position: left 25% center;
        justify-content: flex-start;
    }

    .team-item.-right::before {
        position: absolute;
        background: white;
        background: linear-gradient(180deg, rgba(255, 255, 255, 0) 0%, white 30%, white 100%);
        content: '';
        top: 200px;
        bottom: -80px;
        left: -1px;
        right: -1px;
        z-index: 1;
    }

    .team-item.-right .content {
        min-width: none;
    }

    .team-item .content {
        position: absolute;
        top: 260px;
    }
}

.about-content-section {
    padding: 60px 0;
    text-align: center;
    font-size: 16px;
    background: #F5F9FC;
}

@media screen and (max-width: 767px) {
    .about-content-section {
        font-size: 14px;
    }
}

.about-content-section>.container>.content {
    max-width: 760px;
    margin: 0 auto;
}

.about-content-section>.container>.content>.title {
    text-align: center;
    font-size: 32px;
    font-weight: bold;
    color: #20497D;
    position: relative;
    padding-bottom: 20px;
    margin-bottom: 30px;
}

@media screen and (max-width: 767px) {
    .about-content-section>.container>.content>.title {
        font-size: 26px;
    }
}

.about-content-section>.container>.content>.title::before {
    position: absolute;
    bottom: 0;
    content: "";
    display: block;
    width: 240px;
    height: 3px;
    background: #BF9A70;
    left: 50%;
    margin-left: -120px;
}

.about-content-section p {
    margin-bottom: 20px;
}

.team-container {
    margin-bottom: 60px;
}

@media screen and (max-width: 991px) {
    .team-list-item {
        margin-bottom: 20px;
    }
}

.team-list-item>.image {
    background: no-repeat center center;
    background-size: cover;
    min-height: 250px;
}

@media screen and (max-width: 991px) {
    .team-list-item>.image {
        min-height: 300px;
    }
}

@media screen and (max-width: 767px) {
    .team-list-item>.image {
        min-height: 200px;
    }
}

.team-list-item>.content {
    background: #20497D;
    color: #fff;
    padding: 15px;
    font-size: 13px;
    min-height: 155px;
}

@media screen and (max-width: 767px) {
    .team-list-item>.content {
        font-size: 10px;
    }
}

.team-list-item>.content>.title {
    font-weight: bold;
    font-size: 18px;
    margin-bottom: 15px;
}

@media screen and (max-width: 767px) {
    .team-list-item>.content>.title {
        font-size: 16px;
    }
}

.team-list-item>.content>.detail ul {
    padding: 0;
    margin: 0;
    list-style: none;
}

.team-list-item>.content>.detail ul>li {
    line-height: 1.4em;
    margin-bottom: 5px;
}

.bewertungen-container {
    margin: 50px 0;
}

@media screen and (max-width: 767px) {
    .bewertungen-container {
        margin: 20px 0;
    }
}

.bewertungen-content {
    background: #EFF2EC;
    padding: 40px;
    box-shadow: 20px 20px 46px rgba(32, 73, 125, 0.35);
    position: relative;
}

@media screen and (max-width: 767px) {
    .bewertungen-content {
        margin-bottom: 60px;
    }
}

.bewertungen-content p:last-child {
    margin-bottom: 0;
}

.bewertungen-content::before {
    content: '';
    position: absolute;
    left: 15px;
    right: 15px;
    top: 15px;
    bottom: 15px;
    border: 1px solid #fff;
}

.bewertungen-container>.row {
    align-items: center;
}

.bewertungen-container .link-list-item {
    text-align: center;
    margin: 20px auto;
    max-width: 320px;
}

.bewertungen-container .link-list-item>a {
    border: 1px solid #F8F8F8;
    display: block;
    padding: 20px 20px;
}

.bewertungen-container .link-list-item img {
    max-height: 50px;
    max-width: 160px;
}

/* ===== Verkehrswertrechner Page Template v2 Styles ===== */
#verkehrswertrechner-wrapper {
    position: relative;
    z-index: 1;
    contain: layout style;
    background: url("https://erbmanufaktur.de/wp-content/themes/erbmanufaktur-wordpress-theme/images/verkehrswertrechner/hero-bg.jpg") no-repeat center center;
    background-size: cover;
    padding: 40px 0;
    min-height: 700px;
}

/* Semi-transparentes Overlay für bessere Lesbarkeit */
#verkehrswertrechner-wrapper::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: linear-gradient(to bottom, 
        rgba(255, 255, 255, 0.3) 0%, 
        rgba(255, 255, 255, 0.5) 50%,
        rgba(255, 255, 255, 0.3) 100%);
    z-index: 1;
    pointer-events: none;
}

.verkehrswertrechner-container, .verkehrswertrechner-container iframe {
    position: relative;
    z-index: 2;
    background: transparent;
    max-width: 770px;
    margin: auto;
    padding: 0 10px 0 10px;
}

.verkehrswertrechner-container iframe {
    background: white;
    border-radius: 8px;
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
}

#verkehrswertrechner-content {
    position: relative;
    z-index: 0;
    margin-top: 0;
    will-change: opacity;
}

#verkehrswertrechner-loading {
    will-change: opacity;
    backface-visibility: hidden;
}

/* Mobile Background Fix */
@media (max-width: 767px) {
    #verkehrswertrechner-wrapper {
        background-attachment: scroll; /* Fixed background funktioniert nicht gut auf Mobile */
        min-height: 600px;
    }
}

.verkehrswertrechner-hero-section {
    position: relative;
    background: #F0F3F5 url("./images/verkehrswertrechner/hero-bg.jpg") no-repeat center center;
    background-size: cover;
}

.verkehrswertrechner-hero-section::before {
    content: '';
    display: block;
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    z-index: 0;
}

.verkehrswertrechner-hero-section .content-box {
    background: #fff;
    box-shadow: 20px 20px 46px rgba(32, 73, 125, 0.35);
    margin: 0 auto;
    padding: 0 20px;
    position: relative;
    z-index: 10;
    transform: scale(0.8);
    margin-top: 30px;
    min-height: 700px;
}

.verkehrswertrechner-hero-container.container {
    padding-bottom: 3rem;
}

@media screen and (max-width: 991px) {
    .verkehrswertrechner-hero-section .content-box {
        max-width: 100%;
        transform: scale(1);
        margin-top: 40px;
    }
}

@media screen and (max-width: 767px) {
    .verkehrswertrechner-hero-section .content-box {
        margin-top: 20px;
    }
}

.verkehrswertrechner-hero-section .client-section {
    position: relative;
    z-index: 10;
}

.verkehrswertrechner-hero-section .client-section>.container>.title {
    color: #20497D;
    font-weight: bold;
}

@media screen and (max-width: 991px) {
    .verkehrswertrechner-hero-section .client-section>.container>.content>.item {
        margin: 10px;
    }
}

.verkehrswertrechner-hero-section .client-section>.container>.content>.item>img {
    max-height: 40px;
}

.verkehrswertrechner-hero-section .published {
    background: rgba(0, 0, 0, 0.4);
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 10;
    border-top: 1px solid rgba(255, 255, 255, 0.5);
}

@media screen and (max-width: 767px) {
    .verkehrswertrechner-hero-section .published {
        border-top: none;
        overflow-x: auto;
    }
}

.verkehrswertrechner-hero-section .published>.container {
    display: flex;
    justify-content: space-around;
    align-items: center;
    height: 80px;
}

@media screen and (max-width: 767px) {
    .verkehrswertrechner-hero-section .published>.container {
        height: 50px;
        min-width: 600px;
    }
}

.verkehrswertrechner-hero-section .published>.container>.item {
    margin: 0 20px;
}

.verkehrswertrechner-hero-section .verkehrswertrechner-hero-container>.title {
    text-align: center;
    font-size: 28px;
    color: #20497D;
    text-transform: uppercase;
    font-weight: bold;
    height: 0px;
    overflow: hidden;
    text-indent: -9999px;
}

.verkehrswertrechner-feature-section {
    position: relative;
    padding: 60px 0 0 0;
    margin-bottom: 60px;
}

.verkehrswertrechner-feature-section::before {
    position: absolute;
    content: '';
    background: #20497D;
    z-index: 0;
    top: 0;
    left: 0;
    right: 0;
    bottom: 50px;
}

.verkehrswertrechner-feature-section .verkehrswertrechner-feature-container>.title {
    text-transform: uppercase;
    font-weight: bold;
    font-size: 24px;
    color: #fff;
    text-align: center;
    position: relative;
    padding-bottom: 15px;
    margin-bottom: 50px;
}

.verkehrswertrechner-feature-section .verkehrswertrechner-feature-container>.title::before {
    content: '';
    left: 50%;
    bottom: 0;
    width: 200px;
    margin-left: -100px;
    height: 3px;
    background: #BF9A70;
    position: absolute;
}

.verkehrswertrechner-feature-section .verkehrswertrechner-feature-container .item {
    padding-top: 115%;
    position: relative;
    box-shadow: 0 10px 30px rgba(32, 73, 125, 0.35);
}

@media screen and (max-width: 767px) {
    .verkehrswertrechner-feature-section .verkehrswertrechner-feature-container .item {
        padding-top: 75%;
    }
}

.verkehrswertrechner-feature-section .verkehrswertrechner-feature-container .item::before {
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    z-index: 2;
    content: '';
    background: white;
    background: linear-gradient(0deg, white 0%, white 10%, rgba(255, 255, 255, 0) 60%);
}

.verkehrswertrechner-feature-section .verkehrswertrechner-feature-container .item>.image {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: no-repeat center center;
    background-size: cover;
    z-index: 1;
}

.verkehrswertrechner-feature-section .verkehrswertrechner-feature-container .item>.title {
    color: #20497D;
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 2;
    text-align: center;
    padding: 0 10px 20px;
    font-weight: bold;
    font-size: 22px;
}

.verkehrswertrechner-about-section {
    margin-top: 120px;
}

@media screen and (max-width: 767px) {
    .verkehrswertrechner-about-section .verkehrswertrechner-about-container .team-item {
        margin-bottom: 180px;
    }
}

@media screen and (max-width: 991px) {
    .verkehrswertrechner-about-section .verkehrswertrechner-about-container .team-item>.content {
        max-width: 350px;
    }
}

.verkehrswertrechner-about-section .verkehrswertrechner-about-container .team-item>.content>.title {
    text-transform: uppercase;
    font-size: 26px;
    margin-bottom: 0;
    padding-bottom: 0;
}

.verkehrswertrechner-about-section .verkehrswertrechner-about-container .team-item>.content>.title::before {
    display: none;
}

.verkehrswertrechner-about-section .verkehrswertrechner-about-container .team-item>.content>.sub-title {
    position: relative;
    font-size: 18px;
    padding-bottom: 20px;
    color: #20497D;
    margin-bottom: 20px;
}

.verkehrswertrechner-about-section .verkehrswertrechner-about-container .team-item>.content>.sub-title::before {
    position: absolute;
    bottom: 0;
    content: "";
    display: block;
    width: 240px;
    height: 3px;
    background: #8BC34A;
    left: 0;
}

.verkehrswertrechner-about-section .verkehrswertrechner-about-container .team-item>.content>.detail {
    max-width: 345px;
    color: #20497D;
}

.verkehrswertrechner-about-section .verkehrswertrechner-about-content {
    margin-top: -50px;
    margin-bottom: 60px;
    position: relative;
    z-index: 10;
}

@media screen and (max-width: 767px) {
    .verkehrswertrechner-about-section .verkehrswertrechner-about-content {
        margin-top: 30px;
    }
}

.verkehrswertrechner-about-section .verkehrswertrechner-about-content .content {
    border-left: 1px solid #ddd;
    padding-left: 20px;
}

@media screen and (max-width: 767px) {
    .verkehrswertrechner-about-section .verkehrswertrechner-about-content .content {
        margin-bottom: 20px;
    }
}

.verkehrswertrechner-about-section .verkehrswertrechner-about-content .content>.title {
    color: #BF9A70;
    font-weight: bold;
    margin-bottom: 15px;
}

.verkehrswertrechner-about-section .verkehrswertrechner-about-content .content>p {
    font-size: 13px;
    line-height: 1.4em;
}

.verkehrswertrechner-client-container {
    margin-bottom: 60px;
}

.verkehrswertrechner-client-container>.title {
    text-transform: uppercase;
    font-weight: bold;
    font-size: 24px;
    color: #20497D;
    text-align: center;
    position: relative;
    padding-bottom: 15px;
    margin-bottom: 50px;
}

.verkehrswertrechner-client-container>.title::before {
    content: '';
    left: 50%;
    bottom: 0;
    width: 200px;
    margin-left: -100px;
    height: 3px;
    background: #BF9A70;
    position: absolute;
}

.verkehrswertrechner-client-container .content {
    text-align: center;
}

.verkehrswertrechner-client-container .content>.item {
    display: inline-block;
    margin: 0 15px 20px;
}

.verkehrswertrechner-client-container .content>.item>img {
    max-height: 50px;
}

@media screen and (max-width: 991px) {
    .verkehrswertrechner-client-container .content>.item>img {
        max-height: 40px;
    }
}

.verkehrswertrechner-area-section {
    padding: 160px 0;
    position: relative;
    background: #EFF2EC;
}

@media screen and (max-width: 767px) {
    .verkehrswertrechner-area-section {
        padding: 40px 0;
    }
}

.verkehrswertrechner-area-section>.image {
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    background: url("./images/verkehrswertrechner/verkehrswertrechner-area.svg") no-repeat center center;
    background-size: 1192px;
    z-index: 0;
}

.verkehrswertrechner-area-section .verkehrswertrechner-area-container {
    position: relative;
    z-index: 2;
}

.verkehrswertrechner-area-section .verkehrswertrechner-area-container>.content-box {
    max-width: 680px;
    margin: 0 auto;
    border: 1px solid #fff;
    padding: 40px;
    text-align: center;
    background: white;
    background: linear-gradient(333deg, rgba(255, 255, 255, 0.8) 0%, rgba(255, 255, 255, 0.5) 49%, rgba(255, 255, 255, 0.8) 100%);
    box-shadow: 20px 20px 46px rgba(32, 73, 125, 0.35);
}

.verkehrswertrechner-area-section .verkehrswertrechner-area-container>.content-box>.title {
    text-transform: uppercase;
    font-size: 26px;
    margin-bottom: 10px;
    padding-bottom: 0;
    font-weight: bold;
    color: #20497D;
}

@media screen and (max-width: 767px) {
    .verkehrswertrechner-area-section .verkehrswertrechner-area-container>.content-box>.title {
        font-size: 22px;
    }
}

.verkehrswertrechner-area-section .verkehrswertrechner-area-container>.content-box>.title::before {
    display: none;
}

.verkehrswertrechner-area-section .verkehrswertrechner-area-container>.content-box>.sub-title {
    position: relative;
    font-size: 26px;
    line-height: 1.4em;
    padding-bottom: 20px;
    color: #20497D;
    margin-bottom: 20px;
}

@media screen and (max-width: 767px) {
    .verkehrswertrechner-area-section .verkehrswertrechner-area-container>.content-box>.sub-title {
        font-size: 20px;
    }
}

.verkehrswertrechner-area-section .verkehrswertrechner-area-container>.content-box>.sub-title::before {
    position: absolute;
    bottom: 0;
    content: "";
    display: block;
    width: 240px;
    height: 3px;
    background: #8BC34A;
    left: 50%;
    margin-left: -120px;
}

.verkehrswertrechner-area-section {
    padding: 80px 0;
    position: relative;
    background: #EFF2EC;
    overflow: hidden;
}

@media screen and (max-width: 767px) {
    .verkehrswertrechner-area-section {
        padding: 40px 0;
        padding-bottom: 400px;
    }
}

.verkehrswertrechner-area-section .verkehrswertrechner-area-container {
    position: relative;
    z-index: 2;
}

.verkehrswertrechner-area-section .verkehrswertrechner-area-container .content-col {
    display: flex;
    align-items: center;
}

.verkehrswertrechner-area-section .verkehrswertrechner-area-container .image-col {
    display: flex;
    align-items: center;
    position: static;
}

.verkehrswertrechner-area-section .verkehrswertrechner-area-container .image-col>img {
    max-width: initial;
    position: absolute;
    left: 50%;
    width: 670px;
    margin-left: -60px;
    z-index: 0;
}

@media screen and (max-width: 991px) {
    .verkehrswertrechner-area-section .verkehrswertrechner-area-container .image-col>img {
        margin-left: -90px;
    }
}

@media screen and (max-width: 767px) {
    .verkehrswertrechner-area-section .verkehrswertrechner-area-container .image-col>img {
        margin-left: -250px;
        width: 500px;
        bottom: -450px;
    }
}

.verkehrswertrechner-area-section .verkehrswertrechner-area-container .content-box {
    margin: 0 auto;
    text-align: left;
}

.verkehrswertrechner-area-section .verkehrswertrechner-area-container .content-box>.title {
    text-transform: uppercase;
    font-size: 26px;
    margin-bottom: 10px;
    padding-bottom: 0;
    font-weight: bold;
    color: #20497D;
}

@media screen and (max-width: 991px) {
    .verkehrswertrechner-area-section .verkehrswertrechner-area-container .content-box>.title {
        font-size: 22px;
    }
}

.verkehrswertrechner-area-section .verkehrswertrechner-area-container .content-box>.title::before {
    display: none;
}

.verkehrswertrechner-area-section .verkehrswertrechner-area-container .content-box>.sub-title {
    position: relative;
    font-size: 26px;
    line-height: 1.4em;
    padding-bottom: 20px;
    color: #20497D;
    margin-bottom: 20px;
}

@media screen and (max-width: 991px) {
    .verkehrswertrechner-area-section .verkehrswertrechner-area-container .content-box>.sub-title {
        font-size: 20px;
    }
}

.verkehrswertrechner-area-section .verkehrswertrechner-area-container .content-box>.sub-title::before {
    position: absolute;
    bottom: 0;
    content: "";
    display: block;
    width: 240px;
    height: 3px;
    background: #8BC34A;
    left: 0;
}

@media screen and (max-width: 991px) {
    .verkehrswertrechner-area-section .verkehrswertrechner-area-container .content-box .content {
        font-size: 13px;
        line-height: 1.4em;
    }
}

.gewerbeimmobilien-section {
    background: #10345f;
    padding: 120px 0;
}

@media screen and (max-width: 991px) {
    .gewerbeimmobilien-section {
        padding: 100px 0;
    }
}

@media screen and (max-width: 767px) {
    .gewerbeimmobilien-section {
        padding: 60px 0;
    }
}

.gewerbeimmobilien-section .box-item-wrapper {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}

.gewerbeimmobilien-section .box-content {
    position: relative;
    height: 255px;
    width: 48.7%;
    border: 3px solid #fff;
    margin-bottom: 30px;
    padding: 20px;
    color: #fff;
}

@media screen and (max-width: 991px) {
    .gewerbeimmobilien-section .box-content {
        width: 100%;
        height: auto;
    }
}

.gewerbeimmobilien-section .box-content>.title {
    margin-bottom: 10px;
    font-family: capitolium-2, sans-serif;
    font-size: 30px;
}

@media screen and (max-width: 767px) {
    .gewerbeimmobilien-section .box-content>.title {
        font-size: 26px;
    }
}

.gewerbeimmobilien-section .box-content>.detail {
    margin-bottom: 20px;
}

.gewerbeimmobilien-section .box-item {
    position: relative;
    width: 23%;
    height: 255px;
    margin-bottom: 30px;
}

@media screen and (max-width: 991px) {
    .gewerbeimmobilien-section .box-item {
        width: 49%;
    }
}

@media screen and (max-width: 767px) {
    .gewerbeimmobilien-section .box-item {
        height: 180px;
    }
}

.gewerbeimmobilien-section .box-item>.title {
    position: absolute;
    bottom: 0;
    left: 0;
    padding: 5px 10px;
    background: #10345f;
    margin-bottom: 0;
    color: #fff;
    font-weight: bold;
}

@media screen and (max-width: 767px) {
    .gewerbeimmobilien-section .box-item>.title {
        font-size: 16px;
    }
}

.gewerbeimmobilien-section .box-item>.image {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: no-repeat center center;
    background-size: cover;
}

.verkehrswertrechner-content-section {
    padding: 100px 0;
    color: #323232;
}

@media screen and (max-width: 767px) {
    .verkehrswertrechner-content-section {
        padding: 60px 0;
    }
}

.verkehrswertrechner-content-section .title {
    font-size: 30px;
    font-family: capitolium-2, sans-serif;
    margin-bottom: 15px;
}

.verkehrswertrechner-content-section .content {
    margin-bottom: 50px;
}

.verkehrswertrechner-content-section p {
    margin-bottom: 20px;
    font-size: 16px;
}

.verkehrswertrechner-2-section {
    background: #f5f5f5;
}

.verkehrswertrechner-4-section {
    background: #f5f5f5;
}

.verkehrswertrechner-hero-section.verkehrswertrechner-hero-section-immobilie-geerbt-footer .content-box {
    margin-bottom: 0;
}

.main-hero-section-v2 {
    background: no-repeat center center;
    background-size: cover;
    position: relative;
}

@media screen and (max-width: 991px) {
    .main-hero-section-v2 {
        background-position: 68% center;
    }
}


@media screen and (max-width: 767px) {
    .main-hero-section-v2 {
        background-position: 80% center;
        background-attachment: scroll;
        min-height: 500px;
        /* Leichte Bildoptimierung */
        -webkit-backface-visibility: hidden;
        -webkit-transform: translateZ(0) scale(1.0, 1.0);
    }
    
}

.main-hero-section-v2>.container {
    padding-top: 36%;
    position: relative;
}

@media screen and (max-width: 991px) {
    .main-hero-section-v2>.container {
        padding-top: 0;
        min-height: 550px;
    }
}

.main-hero-section-v2>.container>.content {
    color: #fff;
    position: absolute;
    bottom: 70px;
    left: 0;
    padding: 0 0 50px 0;
    max-width: 350px;
}

@media screen and (max-width: 767px) {
    .main-hero-section-v2>.container>.content {
        width: 100%;
        max-width: inherit;
        bottom: 51px;
        background: rgba(0, 0, 0, 0.3);
        padding: 15px;
    }
}

.main-hero-section-v2>.container>.content>.title {
    font-size: 38px;
    margin-bottom: 20px;
    display: inline-block;
    position: relative;
    padding-bottom: 10px;
    font-family: capitolium-2, sans-serif;
    letter-spacing: 0.05em;
    color: #fff;
    transition: all 0.3s ease;
}

.main-hero-section-v2>.container>.content>.title:hover {
    color: #BF9A70;
}

@media screen and (max-width: 767px) {
    .main-hero-section-v2>.container>.content>.title {
        font-size: 24px;
        margin-bottom: 15px;
    }
}

.main-hero-section-v2>.container>.content>.title::before {
    content: '';
    position: absolute;
    bottom: 0px;
    left: 0;
    right: 0;
    border-bottom: 2px solid #fff;
    transition: all 0.3s ease;
}

.main-hero-section-v2>.container>.content>.title:hover::before {
    border-bottom: 2px solid #BF9A70;
}

.main-hero-section-v2>.container>.content>.detail {
    margin-bottom: 20px;
    font-size: 19px;
    line-height: 1.4em;
    color: #10233E;
}

@media screen and (max-width: 767px) {
    .main-hero-section-v2>.container>.content>.detail {
        font-size: 12px;
        margin-bottom: 15px;
        color: #fff;
    }
}

.main-hero-section-v2>.container>.content>.detail>small {
    display: block;
    font-size: 12px;
}

.main-hero-section-v2>.container>.content>.action>.btn-brand {
    background: #0f2e52;
    border: 1px solid #0f2e52;
    padding: 8px 20px;
}

@media screen and (max-width: 767px) {
    .main-hero-section-v2>.container>.content>.action>.btn-brand {
        font-size: 14px;
    }
}

.main-hero-section-v2>.container>.content>.action>.btn-brand:hover {
    background: #20497D;
    border: 1px solid #20497D;
}

.main-hero-section-v2>.container>.content>.detail-footer {
    text-transform: uppercase;
    font-weight: bold;
    font-size: 16px;
}

.main-hero-section-v2 .published {
    background: rgba(0, 0, 0, 0.4);
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    border-top: 2px solid #fff;
}

@media screen and (max-width: 767px) {
    .main-hero-section-v2 .published {
        border-top: none;
        overflow-x: auto;
    }
}

.main-hero-section-v2 .published>.container {
    display: flex;
    justify-content: space-around;
    align-items: center;
    height: 80px;
}

@media screen and (max-width: 767px) {
    .main-hero-section-v2 .published>.container {
        height: 50px;
        min-width: 600px;
    }
}

.main-hero-section-v2 .published>.container>.item {
    margin: 0 20px;
}

.benefits-section {
    background: #10345f;
    padding: 60px 0;
}

.benefits-section>.container>.title {
    color: #fff;
    font-size: 42px;
    text-align: center;
    margin-bottom: 30px;
    font-family: capitolium-2, sans-serif;
    letter-spacing: 0.1em;
    transition: all 0.3s ease;
}

.benefits-section>.container>.title:hover {
    color: #BF9A70;
}

@media screen and (max-width: 767px) {
    .benefits-section>.container>.title {
        font-size: 28px;
    }
}

.benefits-section>.container .box-wrapper {
    border: 2px solid #fff;
    padding: 20px 32px 40px;
    position: relative;
    transition: all 0.3s ease;
}

.benefits-section>.container .box-wrapper:hover {
    border: 2px solid #BF9A70;
}

.benefits-section>.container .box-wrapper>.title {
    color: #fff;
    background: #10345f;
    display: inline-block;
    font-size: 26px;
    position: absolute;
    left: 50%;
    top: -20px;
    width: 280px;
    margin-left: -140px;
    text-align: center;
}

@media screen and (max-width: 767px) {
    .benefits-section>.container .box-wrapper>.title {
        font-size: 20px;
        top: -14px;
        margin-left: -100px;
        width: 200px;
    }
}

.benefits-section>.container .box-wrapper>.detail {
    color: #fff;
    max-width: 420px;
    margin: 0 auto;
    text-align: center;
    font-size: 16px;
    margin-bottom: 20px;
}

@media screen and (max-width: 767px) {
    .benefits-section>.container .box-wrapper>.detail {
        font-size: 14px;
        line-height: 1.6em;
    }
}

.benefits-section>.container .box-container>.box-item {
    height: 270px;
    background: #fff;
    margin: 0 10px;
}

@media screen and (max-width: 767px) {
    .benefits-section>.container .box-container>.box-item {
        width: 100%;
        height: 45px;
        margin-bottom: 15px;
    }
}

.benefits-section>.container .box-container .button-overflow {
    position: absolute;
    background: #10345f;
    border: 4px solid #BF9A70;
    color: #fff;
    text-align: center;
    width: 270px;
    line-height: 1.4em;
    display: flex;
    align-items: center;
    justify-content: center;
    transform-origin: right bottom;
    transform: rotate(-90deg);
    bottom: 310px;
    right: -22px;
}

@media screen and (max-width: 767px) {
    .benefits-section>.container .box-container .button-overflow {
        line-height: 1.3em;
        right: -17px;
        font-size: 13px;
        padding: 3px 0;
    }
}

.benefits-section>.container .box-container .aufwand-ohne-content {
    background: #fff;
    position: absolute;
    left: 29px;
    right: 29px;
    top: 25px;
    bottom: 20px;
    padding: 40px 30px;
    z-index: 10;
    overflow: auto;
    display: none;
    font-size: 18px;
}

.benefits-section>.container .box-container .aufwand-ohne-content>.title {
    color: #20497D;
    font-size: 18px;
    margin-bottom: 15px;
    text-transform: uppercase;
}

@media screen and (max-width: 767px) {
    .benefits-section>.container .box-container .aufwand-ohne-content {
        font-size: 14px;
    }
}

.benefits-section>.container .box-container .aufwand-ohne-content.open {
    display: block;
}

.benefits-section>.container .box-container .aufwand-ohne-content>.close-btn {
    position: absolute;
    top: 0;
    right: 0;
    background: transparent;
    border: none;
    padding: 10px;
    font-size: 20px;
    color: #BF9A70;
}

.light-benefits-section {
    background: #F5F5F5;
}

.light-benefits-section>.container>.title {
    color: #10345f;
}

.light-benefits-section>.container .box-wrapper>.title {
    background: #f5f5f5;
    color: #10345f;
}

.light-benefits-section>.container .box-wrapper>.detail {
    color: #10345f;
}

.light-benefits-section>.container .box-wrapper {
    border-color: #10345f;
}

.light-benefits-section>.container .box-container .button-overflow {
    background: #f5f5f5;
    border: 2px solid #10345f;
    color: #10345f;
}

.col-collapse-wrapper .col-collapse-item {
    flex-grow: 1;
    transition: all 0.3s ease;
    position: relative;
    overflow: hidden;
}

.col-collapse-wrapper .col-collapse-item>.heading {
    height: 100%;
    position: relative;
}

.col-collapse-wrapper .col-collapse-item>.heading>.heading-title {
    display: block;
    width: 100%;
    transition: all 0.3s ease;
    text-transform: uppercase;
    letter-spacing: 0.01em;
    font-size: 16px;
    position: absolute;
    align-items: center;
    display: flex;
    justify-content: center;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: none;
    border: none;
    color: #10233E;
}

.col-collapse-wrapper .col-collapse-item>.heading>.heading-title:active,
.col-collapse-wrapper .col-collapse-item>.heading>.heading-title:visited {
    color: #10233E;
}

.col-collapse-wrapper .col-collapse-item>.heading>.heading-title:hover {
    background: #5C86BA;
    color: #fff;
}

.col-collapse-wrapper .col-collapse-item>.heading>.heading-title::before {
    position: absolute;
    bottom: 0;
    right: 0;
    content: "\F054";
    font-family: 'Font Awesome 5 Free';
    font-weight: 900;
    color: #10345f;
    font-size: 20px;
    padding: 10px 15px;
}

@media screen and (max-width: 767px) {
    .col-collapse-wrapper .col-collapse-item>.heading>.heading-title::after {
        content: "\F0D7";
        font-family: 'Font Awesome 5 Free';
        font-weight: 900;
        margin-left: 10px;
        color: #BF9A70;
    }
}

.col-collapse-wrapper .col-collapse-item>.content {
    display: none;
}

.col-collapse-wrapper .col-collapse-contaner {
    display: flex;
    justify-content: space-between;
}

@media screen and (max-width: 767px) {
    .col-collapse-wrapper .col-collapse-contaner {
        flex-wrap: wrap;
    }
}

.col-collapse-wrapper .col-collapse-contaner.show-content .col-collapse-item {
    width: 40px;
    flex-grow: initial;
}

@media screen and (max-width: 767px) {
    .col-collapse-wrapper .col-collapse-contaner.show-content .col-collapse-item {
        width: 100%;
    }
}

.col-collapse-wrapper .col-collapse-contaner.show-content .col-collapse-item>.heading>.heading-title {
    transform-origin: left top;
    transform: rotate(-90deg) translate(-270px, 0);
    width: 270px;
    text-align: center;
    height: 40px;
    top: 0;
}

.col-collapse-wrapper .col-collapse-contaner.show-content .col-collapse-item>.heading>.heading-title::before {
    display: none;
}

@media screen and (max-width: 767px) {
    .col-collapse-wrapper .col-collapse-contaner.show-content .col-collapse-item>.heading>.heading-title {
        transform: none;
        width: 100%;
        height: 45px;
    }
}

.col-collapse-wrapper .col-collapse-contaner.show-content .col-collapse-item.open {
    flex-grow: 1;
}

@media screen and (max-width: 767px) {
    .col-collapse-wrapper .col-collapse-contaner.show-content .col-collapse-item.open {
        height: auto;
    }
}

.col-collapse-wrapper .col-collapse-contaner.show-content .col-collapse-item.open>.heading {
    display: none;
}

.col-collapse-wrapper .col-collapse-contaner.show-content .col-collapse-item.open>.content {
    padding: 20px;
    display: block;
}

@media screen and (max-width: 991px) {
    .col-collapse-wrapper .col-collapse-contaner.show-content .col-collapse-item.open>.content {
        max-height: 100%;
        overflow-y: auto;
    }
}

@media screen and (max-width: 767px) {
    .col-collapse-wrapper .col-collapse-contaner.show-content .col-collapse-item.open>.content {
        padding: 20px;
    }
}

.col-collapse-wrapper .col-collapse-contaner.show-content .col-collapse-item.open>.content>.title {
    text-transform: uppercase;
    font-size: 18px;
    margin-bottom: 15px;
    color: #10345f;
}

@media screen and (max-width: 767px) {
    .col-collapse-wrapper .col-collapse-contaner.show-content .col-collapse-item.open>.content>.title {
        text-align: center;
    }

    .col-collapse-wrapper .col-collapse-contaner.show-content .col-collapse-item.open>.content>.title::after {
        content: "\F0D8";
        font-family: 'Font Awesome 5 Free';
        font-weight: 900;
        margin-left: 10px;
        color: #BF9A70;
    }
}

.col-collapse-wrapper .col-collapse-contaner.show-content .col-collapse-item.open>.content>.detail {
    font-size: 16px;
}

@media screen and (max-width: 1199px) {
    .col-collapse-wrapper .col-collapse-contaner.show-content .col-collapse-item.open>.content>.detail {
        font-size: 14px;
    }
}

@media screen and (max-width: 991px) {
    .col-collapse-wrapper .col-collapse-contaner.show-content .col-collapse-item.open>.content>.detail {
        font-size: 13px;
    }
}

.col-collapse-wrapper .col-collapse-contaner.show-content .col-collapse-item.open>.content>.close-btn {
    position: absolute;
    right: 0;
    bottom: 0;
    border: none;
    color: #10345f;
    font-size: 20px;
    padding: 10px 15px;
    background: none;
}

@media screen and (max-width: 767px) {
    .col-collapse-wrapper .col-collapse-contaner.show-content .col-collapse-item.open>.content>.close-btn {
        left: 0;
        right: 0;
        top: 0;
        bottom: auto;
        height: 45px;
        text-indent: -9999px;
        overflow: hidden;
        width: 100%;
    }
}

@keyframes fade-out {
    0% {
        opacity: 1;
    }

    100% {
        opacity: 0;
    }
}

.competence-section {
    padding: 60px 0;
    color: #fff;
    position: relative;
    background: #f6f4f4;
}

.competence-section::before {
    content: '';
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    bottom: 250px;
    background: #10345f;
}

.competence-section>.container {
    position: relative;
}

.competence-section .col-content {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
}

.competence-section .col-content>.title {
    font-family: capitolium-2, sans-serif;
    font-size: 50px;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    margin-bottom: 20px;
}

@media screen and (max-width: 767px) {
    .competence-section .col-content>.title {
        font-size: 26px;
        margin-bottom: 15px;
    }
}

.competence-section .col-content a {
    color: #BF9A70;
    font-weight: bold;
}

.competence-section .col-content>.sub-title {
    font-size: 14px;
    letter-spacing: 0.1em;
    margin-bottom: 30px;
    text-transform: uppercase;
}

@media screen and (max-width: 767px) {
    .competence-section .col-content>.sub-title {
        font-size: 12px;
    }
}

.competence-section .col-content>.content {
    background: #0f2e52;
    font-family: capitolium-2, sans-serif;
    font-size: 16px;
    text-align: center;
    line-height: 1.6em;
    padding: 50px 80px;
}

@media screen and (max-width: 767px) {
    .competence-section .col-content>.content {
        padding: 20px;
        font-size: 14px;
    }
}

.competence-section .col-content>.action {
    width: 90%;
    margin: 30px auto 0;
}

@media screen and (max-width: 991px) {
    .competence-section .col-content>.action {
        margin-bottom: 40px;
    }
}

.competence-section .col-content>.action>.btn-brand {
    border: 3px solid #0f2e52;
    text-transform: uppercase;
    font-size: 16px;
    letter-spacing: 0.1em;
    background: transparent;
    display: block;
    color: #0f2e52;
    padding: 12px 20px;
    transition: all 0.3s ease;
}

@media screen and (max-width: 991px) {
    .competence-section .col-content>.action>.btn-brand {
        background: #10233E;
        border-color: #10233E;
        color: #fff;
    }
}

.competence-section .col-content>.action>.btn-brand:hover {
    color: #fff;
    background: #10233E;
    border-color: #10233E;
}

.competence-list {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}

.competence-list .item-competence {
    position: relative;
    padding-bottom: 47%;
    background: #f00;
    width: 47%;
    margin-bottom: 30px;
    background: no-repeat center center;
    background-size: cover;
}

.competence-list .item-competence>.link-overlay {
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
}

.competence-list .item-competence>.title {
    position: absolute;
    display: inline-block;
    background: #10345f;
    bottom: 0;
    left: 0;
    max-width: 220px;
    padding: 5px 10px 7px;
    margin-bottom: 0;
    font-weight: bold;
    font-size: 14px;
}

@media screen and (max-width: 767px) {
    .competence-list .item-competence>.title {
        font-size: 12px;
    }
}

.competence-list .item-competence>.title.-white {
    background: #fff;
    color: #10345f;
}

.main-blog-section-v2 {
    padding: 60px 0;
    position: relative;
    background: #F8F8F8;
}

.main-blog-section-v2::before {
    background: #10345f;
    content: '';
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    height: 300px;
    display: block;
}

.main-blog-section-v2>.container {
    position: relative;
}

.main-blog-section-v2>.container>.title {
    color: #fff;
    font-family: capitolium-2, sans-serif;
    margin-bottom: 40px;
    font-size: 30px;
    letter-spacing: 0.1em;
}

@media screen and (max-width: 767px) {
    .main-blog-section-v2>.container>.title {
        font-size: 20px;
    }
}

.main-blog-section-v2>.container>.action {
    text-align: center;
}

.main-blog-container-v2 .item {
    margin-bottom: 30px;
}

.main-blog-container-v2 .item>.content-wrapper {
    background: #fff;
    height: 450px;
    overflow: hidden;
    position: relative;
}

.main-blog-container-v2 .item>.content-wrapper::before {
    content: '';
    width: 100%;
    position: absolute;
    bottom: -1px;
    height: 50px;
    background: white;
    background: linear-gradient(0deg, white 0%, white 10%, rgba(255, 255, 255, 0) 100%);
}

.main-blog-container-v2 .item>.content-wrapper>.image {
    display: block;
    position: relative;
    padding-top: 66%;
    background: no-repeat center center;
    background-size: cover;
    border: 15px solid #fff;
    overflow: hidden;
}

/* Native img tag support (responsive images with loading="lazy") */
.main-blog-container-v2 .item>.content-wrapper>.image img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}

.main-blog-container-v2 .item>.content-wrapper>.content {
    padding: 0 15px 15px;
}

.main-blog-container-v2 .item>.content-wrapper>.content>.title {
    font-size: 14px;
    color: #20497D;
    font-weight: bold;
    line-height: 1.6em;
    height: 68px;
    overflow: hidden;
}

.main-blog-container-v2 .item>.content-wrapper>.content>.title a {
    color: #20497D;
    word-break: initial;
}

.main-blog-container-v2 .item>.content-wrapper>.content>.title a:hover {
    text-decoration: none;
}

.main-blog-container-v2 .item>.content-wrapper>.content p {
    line-height: 1.6em;
    font-size: 13px;
}

.main-blog-container-v2 .item>.action {
    background: #fff;
    padding: 10px 15px 15px;
    text-align: left;
}

.main-blog-container-v2 .item>.action>.btn-more {
    border: 2px solid #10345f;
    padding: 6px 13px;
    font-weight: bold;
    font-size: 13px;
}

.main-cta-section {
    padding: 100px 0 120px;
    position: relative;
    background: #10345f;
}

.main-cta-section::before {
    background: #0f2e52;
    content: '';
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    height: 300px;
    display: block;
}

.main-cta-section>.container {
    position: relative;
}

.main-cta-section>.container .box-row {
    display: flex;
}

@media screen and (max-width: 767px) {
    .main-cta-section>.container .box-row {
        flex-wrap: wrap;
    }
}

.main-cta-section>.container .box-left {
    width: 50%;
    background: #fff;
    position: relative;
    z-index: 2;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    transform: translate(40px, 0);
}

@media screen and (max-width: 767px) {
    .main-cta-section>.container .box-left {
        width: 100%;
        transform: none;
    }
}

.main-cta-section>.container .box-left>.content {
    position: absolute;
    text-align: center;
    color: #20497D;
}

@media screen and (max-width: 767px) {
    .main-cta-section>.container .box-left>.content {
        position: relative;
        background: #fff;
        padding: 30px;
    }
}

.main-cta-section>.container .box-left>.content>.title {
    font-family: capitolium-2, sans-serif;
    font-size: 30px;
    margin-bottom: 20px;
}

.main-cta-section>.container .box-left>.content>.detail {
    font-family: capitolium-2, sans-serif;
    font-size: 16px;
    max-width: 260px;
    margin: 0 auto 20px;
}

.main-cta-section>.container .box-left>.content>.action .btn-brand {
    background: transparent;
    color: #20497D;
    font-size: 14px;
    border: 2px solid #20497D;
}

.main-cta-section>.container .box-right {
    width: 50%;
    position: relative;
    transform: translate(-40px, 40px);
}

@media screen and (max-width: 767px) {
    .main-cta-section>.container .box-right {
        width: 100%;
        transform: none;
    }
}

.main-cta-section>.container .box-right>.image {
    padding-top: 66.7%;
    background: no-repeat center center;
    background-size: cover;
}

.main-cta-section>.container .box-right .action {
    position: absolute;
    right: 0;
    bottom: -60px;
}

.main-cta-section>.container .box-right .action .btn-brand {
    background: #c59969;
    color: #fff;
    border: none;
    border-radius: 0;
    font-size: 14px;
    padding: 8px 25px;
}

.main-cta-section>.container .box-right .action .btn-brand:hover {
    background: #bf9a70;
}

.main-published {
    background: #10345f;
    padding: 0 0 60px;
}

@media screen and (max-width: 767px) {
    .main-published {
        overflow-x: auto;
    }
}

.main-published>.container {
    display: flex;
    justify-content: space-around;
    align-items: center;
    height: 70px;
}

@media screen and (max-width: 767px) {
    .main-published>.container {
        width: 600px;
    }
}

.main-published>.container>.item {
    margin: 0 20px;
}

.blog-hero-section-v2 {
    background: #10345f;
    padding: 80px 0;
    color: #fff;
}

.blog-hero-section-v2 .content {
    max-width: 360px;
    font-family: capitolium-2, sans-serif;
}

.blog-hero-section-v2 .content>.title {
    font-size: 40px;
}

.blog-hero-section-v2 .content>p {
    font-size: 18px;
}

.blog-hero-section-v2 .content a {
    color: #E2B684;
}

.blog-hero-section-v2 .action {
    margin-top: 20px;
}

.blog-hero-section-v2 .action>.title {
    font-size: 18px;
    font-family: capitolium-2, sans-serif;
    margin-bottom: 10px;
}

.blog-hero-section-v2 .action>.btn-brand {
    border-radius: 0;
    margin-right: 10px;
    padding: 8px 40px;
}

@media screen and (max-width: 767px) {
    .blog-hero-section-v2 .action>.btn-brand {
        padding: 8px 25px;
    }
}

/* ==========================================
   Blog Hero Live Search
   Version: 2.12.14
   ========================================== */

/* Search Form Container */
.blog-hero-search-form {
    position: relative;
    margin-bottom: 15px;
    width: 100%;
}

/* Search Input Wrapper */
.blog-hero-search-form .search-input-wrapper {
    display: flex;
    align-items: center;
    background: rgba(255, 255, 255, 0.95);
    border-radius: 4px;
    overflow: hidden;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
    transition: all 0.3s ease;
}

.blog-hero-search-form .search-input-wrapper:focus-within {
    box-shadow: 0 6px 20px rgba(191, 154, 112, 0.3);
    background: #fff;
}

/* Search Input */
.blog-hero-search-form .search-field {
    flex: 1;
    border: none;
    padding: 14px 18px;
    font-size: 15px;
    color: #10345f;
    background: transparent;
    outline: none;
    font-family: 'Open Sans', sans-serif;
}

.blog-hero-search-form .search-field::placeholder {
    color: rgba(16, 52, 95, 0.6);
    font-style: italic;
}

/* Search Submit Button */
.blog-hero-search-form .search-submit {
    background: #bf9a70;
    color: #fff;
    border: none;
    padding: 0 24px;
    height: 43px; /* Match input height: 14px + 15px + 14px */
    cursor: pointer;
    transition: background 0.3s ease;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.blog-hero-search-form .search-submit:hover {
    background: #10345f;
}

.blog-hero-search-form .search-submit i {
    font-size: 16px;
}

/* Autocomplete Container for Blog Hero */
.blog-hero-autocomplete {
    /* Inherits from .ef-autocomplete-container */
    /* Override position for Blog Hero context */
    top: calc(100% + 5px);
    background: #fff;
    color: #10345f;
}

/* Mobile Optimizations */
@media screen and (max-width: 767px) {
    .blog-hero-search-form {
        margin-bottom: 0; /* No buttons below anymore */
    }

    .blog-hero-search-form .search-field {
        padding: 12px 14px;
        font-size: 16px; /* iOS zoom prevention */
    }

    .blog-hero-search-form .search-submit {
        padding: 0 20px;
        height: 40px; /* Match mobile input height: 12px + 16px + 12px */
    }

    .blog-hero-search-form .search-submit i {
        font-size: 14px;
    }
}

/* Desktop Layout Adjustments */
@media screen and (min-width: 768px) {
    .blog-hero-section-v2 .action {
        display: flex;
        flex-direction: column;
        align-items: flex-start;
    }

    .blog-hero-search-form {
        max-width: 600px; /* Increased from 400px */
        width: 100%;
    }
}

/* Stacking Order */
.blog-hero-section-v2 .action > * {
    margin-bottom: 10px;
}

.blog-hero-section-v2 .action > *:last-child {
    margin-bottom: 0;
}

/* Focus States for Accessibility */
.blog-hero-search-form .search-field:focus {
    outline: 2px solid rgba(191, 154, 112, 0.5);
    outline-offset: -2px;
}

/* ========================================== */

.blog-section-v2 {
    background: #F8F8F8;
    padding: 40px 0;
}

.blog-section-v2 .item .action a {
    color: #10345f;
}

.blog-category-section-v2 {
    background: #10345f;
    border-top: 2px solid #fff;
}

@media screen and (max-width: 991px) {
    .blog-category-section-v2 .category-container {
        overflow: auto;
    }
}

@media screen and (max-width: 767px) {
    .blog-category-section-v2 .category-container {
        margin: 0 -15px;
        padding: 0 15px;
    }
}

.blog-category-section-v2 .category-wrapper {
    list-style: none;
    display: flex;
    justify-content: flex-start;
    padding-left: 0;
    margin-left: 0;
    margin-bottom: 0;
}

.blog-category-section-v2 .category-wrapper li {
    margin-left: 8px;
}

.blog-category-section-v2 .category-wrapper li.current-cat a {
    color: #E2B684;
    font-weight: bold;
}

.blog-category-section-v2 .category-wrapper a {
    display: inline-block;
    padding: 8px 9px;
    font-size: 13px;
    color: #fff;
}

@media screen and (max-width: 1199px) {
    .blog-category-section-v2 .category-wrapper a {
        font-size: 12px;
        padding: 8px 6px;
    }
}

@media screen and (max-width: 991px) {
    .blog-category-section-v2 .category-wrapper a {
        white-space: nowrap;
    }
}

.nachlassplanung-hero-section {
    padding: 100px 0 0;
    background: #10345f;
}

@media screen and (max-width: 767px) {
    .nachlassplanung-hero-section {
        padding-top: 50px;
    }
}

.nachlassplanung-hero-section>.container>.title {
    color: #fff;
    font-family: capitolium-2, sans-serif;
    font-size: 50px;
    letter-spacing: 0.05em;
}

@media screen and (max-width: 767px) {
    .nachlassplanung-hero-section>.container>.title {
        font-size: 32px;
    }
}

.nachlassplanung-hero-section>.container>p {
    color: #fff;
    margin-bottom: 15px;
    letter-spacing: 0.05em;
    font-size: 16px;
}

.nachlassplanung-hero-section>.container .badge-check {
    color: #BF9A70;
    padding-left: 60px;
    position: relative;
    height: 70px;
    display: flex;
    align-items: center;
}

.nachlassplanung-hero-section>.container .badge-check::before {
    content: '';
    width: 40px;
    height: 70px;
    background: url("./images/share/check-badge@2x.png") no-repeat center bottom;
    background-size: contain;
    position: absolute;
    bottom: 0;
    left: 0;
}

.nachlassplanung-2-section {
    padding: 100px 0;
}

@media screen and (max-width: 767px) {
    .nachlassplanung-2-section {
        padding: 40px 0;
    }
}

.nachlassplanung-2-section>.container .col-content {
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.nachlassplanung-2-section>.container .col-content>.title {
    font-family: capitolium-2, sans-serif;
    font-size: 35px;
    font-weight: bold;
    color: #000;
    letter-spacing: 0.05em;
    margin-bottom: 20px;
}

@media screen and (max-width: 991px) {
    .nachlassplanung-2-section>.container .col-content>.title {
        font-size: 28px;
    }
}

.nachlassplanung-2-section>.container .col-content>.detail {
    color: #000;
}

@media screen and (max-width: 767px) {
    .nachlassplanung-2-section>.container .col-content>.detail {
        margin-bottom: 20px;
    }
}

.nachlassplanung-2-section>.container .col-image {
    display: flex;
    align-items: center;
}

.nachlassplanung-3-section {
    padding: 180px 0;
}

@media screen and (max-width: 1199px) {
    .nachlassplanung-3-section {
        padding: 180px 0 220px;
    }
}

@media screen and (max-width: 767px) {
    .nachlassplanung-3-section {
        padding: 140px 0 60px;
    }
}

.nachlassplanung-3-section>.container .content-left {
    display: flex;
    align-items: center;
    position: relative;
}

@media screen and (max-width: 767px) {
    .nachlassplanung-3-section>.container .content-left {
        margin-bottom: 100px;
    }
}

.nachlassplanung-3-section>.container .content-left::before {
    position: absolute;
    left: -80px;
    top: -140px;
    bottom: 40%;
    right: 50%;
    background: #10345f;
    content: '';
    z-index: 1;
}

.nachlassplanung-3-section>.container .content-left::after {
    position: absolute;
    left: 25%;
    top: -80px;
    bottom: -60px;
    right: 50px;
    border: 2px solid #BF9A70;
    content: '';
}

.nachlassplanung-3-section>.container .content-left>.content {
    position: relative;
    z-index: 5;
    max-width: 460px;
    background: #fff;
    padding: 25px 35px;
    margin-left: 40px;
}

.nachlassplanung-3-section>.container .content-left>.content>.title {
    font-family: capitolium-2, sans-serif;
    font-size: 26px;
    font-weight: bold;
    color: #10345f;
    letter-spacing: 0.05em;
    margin-bottom: 20px;
}

.nachlassplanung-3-section>.container .content-left>.content>.action>.btn-brand {
    border-radius: 0;
    padding: 8px 20px;
}

.nachlassplanung-3-section>.container .content-right>.title {
    font-family: capitolium-2, sans-serif;
    font-size: 35px;
    font-weight: bold;
    color: #000;
    letter-spacing: 0.05em;
    margin-bottom: 20px;
}

@media screen and (max-width: 991px) {
    .nachlassplanung-3-section>.container .content-right>.title {
        font-size: 28px;
    }
}

.nachlassplanung-3-section>.container .content-right>.detial {
    color: #000;
}

.nachlassplanung-4-section .container {
    padding: 60px 0;
    position: relative;
}

.nachlassplanung-4-section .container::before {
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    right: 40px;
    background: #efefef; /*before: #0f2e52*/
    color: #000;
    z-index: 0;
    content: '';
    display: block;
}

@media screen and (max-width: 767px) {
    .nachlassplanung-4-section .container::before {
        right: 0;
    }
}

.nachlassplanung-4-section .container .content-left {
    z-index: 1;
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 0 60px;
    color: #000;
}

@media screen and (max-width: 767px) {
    .nachlassplanung-4-section .container .content-left {
        margin-bottom: 20px;
    }
}

.nachlassplanung-4-section .container .content-left>.title {
    font-size: 40px;
    font-family: capitolium-2, sans-serif;
    font-weight: bold;
    margin-bottom: 15px;
}

.nachlassplanung-4-section .container .content-left p span {
    color: #BF9A70;
}

.nachlassplanung-4-section .container .content-right {
    z-index: 1;
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.nachlassplanung-4-section .container .content-right>.content {
    background: #BF9A70;
    padding: 100px 50px;
}

@media screen and (max-width: 767px) {
    .nachlassplanung-4-section .container .content-right>.content {
        padding: 50px;
    }
}

.nachlassplanung-4-section .container .content-right>.content>.title {
    color: #fff;
    font-family: capitolium-2, sans-serif;
    font-size: 30px;
}

.nachlassplanung-4-section .container .content-right>.content>.action {
    margin-top: 20px;
}

.nachlassplanung-4-section .container .content-right>.content>.action .btn-brand {
    border: 2px solid #fff;
    border-radius: 0;
}

.nachlassplanung-5-section {
    padding: 120px 0;
}

@media screen and (max-width: 991px) {
    .nachlassplanung-5-section {
        padding: 120px 0;
    }
}

@media screen and (max-width: 767px) {
    .nachlassplanung-5-section {
        padding: 40px 0;
    }
}

.nachlassplanung-5-section>.container .col-image {
    display: flex;
    flex-direction: column;
    justify-content: center;
    position: relative;
}

.nachlassplanung-5-section>.container .col-image>.image {
    position: absolute;
    width: 55%;
    right: 45%;
    bottom: 35%;
    z-index: 2;
}

@media screen and (max-width: 1199px) {
    .nachlassplanung-5-section>.container .col-image>.image {
        top: 0px;
    }
}

@media screen and (max-width: 991px) {
    .nachlassplanung-5-section>.container .col-image>.image {
        width: 70%;
    }
}

@media screen and (max-width: 767px) {
    .nachlassplanung-5-section>.container .col-image>.image {
        width: 100%;
        position: relative;
        right: 0;
        bottom: auto;
        margin-bottom: -20px;
    }
}

.nachlassplanung-5-section>.container .col-image>.content {
    padding: 40px 30px 20px 40px;
    border: 2px solid #10345f;
    text-align: right;
    position: relative;
    margin-left: 35%;
    padding-left: 23%;
    margin-right: 20px;
    z-index: 1;
}

@media screen and (max-width: 991px) {
    .nachlassplanung-5-section>.container .col-image>.content {
        margin-left: 20%;
        padding-left: 40px;
        padding-top: 60px;
    }
}

@media screen and (max-width: 767px) {
    .nachlassplanung-5-section>.container .col-image>.content {
        padding-top: 40px;
        margin-bottom: 40px;
        margin-left: 20px;
    }
}

.nachlassplanung-5-section>.container .col-image>.content>.title {
    text-align: left;
    font-family: capitolium-2, sans-serif;
    font-size: 26px;
    color: #000;
    margin-bottom: 20px;
}

.nachlassplanung-5-section>.container .col-image>.content>.action>.btn-brand2 {
    background: #0f2e52;
    padding: 8px 25px;
}

.nachlassplanung-5-section>.container .col-content {
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.nachlassplanung-5-section>.container .col-content>.title {
    color: #000;
    font-family: capitolium-2, sans-serif;
    font-size: 35px;
    font-weight: bold;
    margin-bottom: 15px;
}

.nachlassplanung-5-section>.container .col-content>.detail {
    color: #000;
}

.nachlassplanung-6-section {
    padding: 40px 0 100px;
}

@media screen and (max-width: 991px) {
    .nachlassplanung-6-section {
        padding-top: 0;
    }
}

.nachlassplanung-6-section>.container .col-left {
    display: flex;
    flex-direction: column;
    justify-content: center;
}

@media screen and (max-width: 767px) {
    .nachlassplanung-6-section>.container .col-left {
        margin-bottom: 40px;
    }
}

.nachlassplanung-6-section>.container .col-left>.title {
    color: #000;
    font-family: capitolium-2, sans-serif;
    font-size: 35px;
    font-weight: bold;
    margin-bottom: 20px;
}

.nachlassplanung-6-section>.container .col-left>p {
    color: #000;
}

.nachlassplanung-6-section>.container .col-right {
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.col-collapse-v-wrapper {
    border: 2px solid #10345f;
    padding: 0 30px 30px;
    text-align: center;
    position: relative;
}

.col-collapse-v-wrapper>.title {
    display: inline-block;
    background: #fff;
    padding: 0 20px;
    top: -14px;
    position: relative;
    z-index: 2;
    font-size: 20px;
    letter-spacing: 0.1em;
}

.col-collapse-v-wrapper>.detail {
    padding: 0 30px;
    margin-bottom: 20px;
}

.col-collapse-v-wrapper>.action-footer>.btn-ghost {
    border: 4px solid #0f2e52;
    font-size: 14px;
    padding: 10px 20px;
    min-width: 320px;
    text-transform: uppercase;
    position: absolute;
    left: 50%;
    margin-left: -160px;
    background: #fff;
    bottom: -25px;
}

.col-collapse-v-container .col-collapse-v-item {
    margin-bottom: 15px;
    max-width: 320px;
    margin: 0 auto 15px;
}

.col-collapse-v-container .col-collapse-v-item .heading .heading-title {
    display: block;
    background: #0f2e52;
    color: #fff;
    width: 100%;
    border: none;
    text-transform: uppercase;
    padding: 10px 20px;
    position: relative;
}

.col-collapse-v-container .col-collapse-v-item .heading .heading-title::before {
    content: "\F0D7";
    font-family: 'Font Awesome 5 Free';
    font-weight: 900;
    top: 50%;
    margin-top: -10px;
    right: 20px;
    position: absolute;
    color: #fff;
}

.col-collapse-v-container .col-collapse-v-item .content {
    overflow: hidden;
    max-height: 0;
}

.col-collapse-v-container .col-collapse-v-item .content .detail {
    border: 1px solid #0f2e52;
    padding: 15px;
    font-size: 13px;
    line-height: 1.4em;
    text-align: left;
}

.col-collapse-v-container .col-collapse-v-item.open .heading .heading-title::before {
    content: "\F0D8";
}

.col-collapse-v-container .col-collapse-v-item.open .content {
    max-height: 600px;
}

.col-collapse-v-container .aufwand-ohne-content {
    position: absolute;
    left: 20px;
    right: 20px;
    top: 20px;
    bottom: 20px;
    background: #fff;
    border: 3px solid #20497D;
    padding: 30px;
    z-index: 10;
    overflow: auto;
    display: none;
}

.col-collapse-v-container .aufwand-ohne-content.open {
    display: block;
}

.col-collapse-v-container .aufwand-ohne-content>.title {
    color: #20497D;
    font-size: 18px;
    margin-bottom: 15px;
    text-transform: uppercase;
}

.col-collapse-v-container .aufwand-ohne-content>.close-btn {
    position: absolute;
    top: 0;
    right: 0;
    background: transparent;
    border: none;
    padding: 10px;
    font-size: 20px;
    color: #BF9A70;
}

.about-header-section-v2 {
    padding: 60px 0 0;
    background: #10233E;
}

.about-header-section-v2 .container>.title {
    text-align: left;
    font-size: 34px;
    position: relative;
    padding-bottom: 20px;
    margin-bottom: 0;
    color: #fff;
    font-family: capitolium-2, sans-serif;
    letter-spacing: 0.05em;
}

@media screen and (max-width: 767px) {
    .about-header-section-v2 .container>.title {
        font-size: 26px;
        margin-bottom: 0;
    }
}

.team-section-v2 {
    background: #10233E;
}

.team-container-v2 {
    margin-top: -100px;
    padding-bottom: 50px;
}

@media screen and (min-width: 992px) {
    .col-lg-5-col {
        width: 20%;
        max-width: 20%;
    }
}

.team-list-item-v2 {
    margin-bottom: 20px;
}

@media screen and (max-width: 991px) {
    .team-list-item-v2 {
        margin-bottom: 20px;
    }
}

.team-list-item-v2>.image {
    background: no-repeat center center;
    background-size: cover;
    padding-top: 120%;
}

@media screen and (max-width: 991px) {
    .team-list-item-v2>.image {
        min-height: 300px;
    }
}

@media screen and (max-width: 767px) {
    .team-list-item-v2>.image {
        min-height: 200px;
    }
}

.team-list-item-v2>.content {
    background: #10345f;
    color: #fff;
    padding: 15px;
    font-size: 13px;
    min-height: 155px;
}

@media screen and (max-width: 767px) {
    .team-list-item-v2>.content {
        font-size: 10px;
    }
}

.team-list-item-v2>.content>.title {
    font-weight: bold;
    font-size: 18px;
    margin-bottom: 15px;
    font-family: capitolium-2, sans-serif;
}

@media screen and (max-width: 1199px) {
    .team-list-item-v2>.content>.title {
        font-size: 16px;
    }
}

@media screen and (max-width: 767px) {
    .team-list-item-v2>.content>.title {
        font-size: 16px;
    }
}

.team-list-item-v2>.content>.detail ul {
    padding: 0;
    margin: 0;
    list-style: none;
}

.team-list-item-v2>.content>.detail ul>li {
    line-height: 1.4em;
    margin-bottom: 5px;
    font-size: 14px;
}

@media screen and (max-width: 1199px) {
    .team-list-item-v2>.content>.detail ul>li {
        font-size: 12px;
    }
}

.about-content-section-v2 {
    background: #F5F5F5;
    padding: 100px 0;
}

.about-content-section-v2 .col-content {
    display: flex;
    align-items: center;
}

@media screen and (max-width: 991px) {
    .about-content-section-v2 .col-content {
        margin-bottom: 20px;
    }
}

.about-content-section-v2 .col-content>.content>.title {
    font-size: 30px;
    font-weight: bold;
    color: #10345f;
    margin-bottom: 20px;
    font-family: capitolium-2, sans-serif;
    letter-spacing: 0.05em;
}

.about-content-section-v2 .col-content>.content>.sub-title {
    text-transform: uppercase;
    font-size: 16px;
    color: #10345f;
    margin-bottom: 20px;
    font-weight: 600;
    letter-spacing: 0.05em;
}

.about-content-section-v2 .col-content>.content>.sub-title>span {
    color: #BF9A70;
}

.about-content-section-v2 .col-action {
    display: flex;
    justify-content: flex-end;
    align-items: center;
}

@media screen and (max-width: 991px) {
    .about-content-section-v2 .col-action {
        justify-content: center;
    }
}

.about-content-section-v2 .col-action .action {
    max-width: 370px;
    position: relative;
    margin-left: 30px;
    margin-top: 30px;
}

@media screen and (max-width: 767px) {
    .about-content-section-v2 .col-action .action {
        max-width: initial;
    }
}

.about-content-section-v2 .col-action .action>.content {
    background: #0f2e52;
    padding: 80px 40px 60px;
    color: #fff;
    font-family: capitolium-2, sans-serif;
    font-weight: bold;
    letter-spacing: 0.05em;
    font-size: 24px;
    position: relative;
    z-index: 1;
}

.about-content-section-v2 .col-action .action>.content>p {
    margin-bottom: 30px;
}

.about-content-section-v2 .col-action .action>.content>.btn-brand {
    border-radius: 0;
    font-family: "Open Sans", sans-serif;
    letter-spacing: 0.05em;
    padding: 5px 30px;
}

.about-content-section-v2 .col-action .action::before {
    position: absolute;
    z-index: 0;
    left: -30px;
    top: -30px;
    bottom: 30px;
    right: 30px;
    content: '';
    border: 1px solid #BF9A70;
}

.about-press-section-v2 a {
    color: #0f2e52;
}

.about-press-section-v2 .title {
    font-size: 24px;
    margin-bottom: 20px;
}

.about-hero-section {
    background: no-repeat center center;
    background-size: cover;
    position: relative;
}

@media screen and (max-width: 991px) {
    .about-hero-section {
        background-position: 68% center;
    }
}

@media screen and (max-width: 767px) {
    .about-hero-section {
        background-position: 80% center;
    }
}

.about-hero-section>.main-bg {
    position: absolute;
    z-index: 0;
    left: 0;
    right: 0;
    bottom: 0;
    top: 0;
    display: flex;
}

.about-hero-section>.main-bg::before {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    top: 0;
    background: #112F51;
    opacity: 0.76;
    content: '';
}

.about-hero-section>.main-bg>div {
    flex-grow: 1;
    height: 100%;
    background: no-repeat center center;
    background-size: cover;
}

.about-hero-section>.container {
    min-height: 60vh;
    position: relative;
}

@media screen and (max-width: 991px) {
    .about-hero-section>.container {
        padding-top: 0;
        min-height: 440px;
    }
}

.about-hero-section>.container>.content {
    color: #fff;
    position: absolute;
    bottom: 100px;
    top: 0;
    left: 0;
    right: 0;
    padding: 0 0 50px 0;
    text-align: center;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
}

@media screen and (max-width: 767px) {
    .about-hero-section>.container>.content {
        bottom: 10px;
    }
}

.about-hero-section>.container>.content>.title {
    font-size: 61px;
    display: inline-block;
    position: relative;
    letter-spacing: 0.05em;
    font-weight: bold;
    color: #fff;
    transition: all 0.3s ease;
}

@media screen and (max-width: 991px) {
    .about-hero-section>.container>.content>.title {
        font-size: 42px;
    }
}

@media screen and (max-width: 767px) {
    .about-hero-section>.container>.content>.title {
        font-size: 26px;
    }
}

.about-hero-section>.container>.content>.sub-title {
    position: relative;
    font-size: 38px;
    padding-bottom: 10px;
}

@media screen and (max-width: 991px) {
    .about-hero-section>.container>.content>.sub-title {
        font-size: 26px;
    }
}

@media screen and (max-width: 767px) {
    .about-hero-section>.container>.content>.sub-title {
        font-size: 16px;
    }
}

.about-hero-section>.container>.content>.sub-title::before {
    content: '';
    position: absolute;
    bottom: 0px;
    border-bottom: 1px solid #BF9A70;
    transition: all 0.3s ease;
    left: 50%;
    width: 580px;
    margin-left: -290px;
}

@media screen and (max-width: 991px) {
    .about-hero-section>.container>.content>.sub-title::before {
        width: 400px;
        margin-left: -200px;
    }
}

@media screen and (max-width: 767px) {
    .about-hero-section>.container>.content>.sub-title::before {
        width: 240px;
        margin-left: -120px;
    }
}

.about-hero-section>.container>.content>.detail {
    margin-bottom: 20px;
    font-size: 13px;
    line-height: 1.4em;
    color: #BF9A70;
    letter-spacing: 0.04em;
    line-height: 2.5em;
    width: 100%;
    max-width: 570px;
    display: flex;
    align-items: center;
    justify-content: space-between;
}

@media screen and (max-width: 991px) {
    .about-hero-section>.container>.content>.detail {
        font-size: 13px;
    }
}

@media screen and (max-width: 767px) {
    .about-hero-section>.container>.content>.detail {
        font-size: 12px;
        margin-bottom: 15px;
        color: #fff;
        flex-wrap: wrap;
        padding: 0 20px;
    }
}

.about-hero-section>.container>.content>.detail a {
    color: #fff;
}

/*
** Blogpost Styling 
*/

.ef-blogpost {

}

.ef-blogpost-header>.breadcrumb-section {
    padding: 10px 0;
    background: #fff;
}

.ef-blogpost-header {
    padding: 0px 0px 30px 0px;
}


.ef-blogpost-col-1 {
    display: none;
}

.ef-blogpost-2-col {
    display: grid;
    grid-template-columns: 1fr;
    gap: 1rem;
}

.ef-blogpost-sidebar {

}

.ef-blogpost-content {

}

.blogpost-header {

}

.ef-blogpost-title {
    font-size: clamp(1.75rem, 1rem + 4vw, 4rem);
    font-weight: 500;
    font-family: Libre Baskerville, sans-serif;
    color: #1F1F1F;
    line-height: 1.2;
}

.ef-blogpost-category {
    display: flex;
    flex-wrap: nowrap;
    justify-content: start;
    gap: 10px;
    font-size: 0.9rem;
    padding: 10px 0px;
    color: #1F1F1F;
}

.ef-blogpost-category>* {
    font-family: Libre Baskerville, sans-serif!important;
}

.ef-blogpost-info {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    padding: 10px 0px;
    border-top: 1px solid #DDDDDD;
    margin-bottom: 2em;
}

.ef-blogpost-publisher {
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
    max-height: 30px;
    gap: 10px;
    padding: 0.8rem, 0px;
    margin-bottom: 10px;
}

.ef-blogpost-author-img {

}

.ef-blogpost-author {

}

.ef-blogpost-published {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
    align-items: center;
}

/* Mobile: Original Design (Blue Filled Buttons) - Linksbündig Optimiert */
.ef-blogpost-date,
.ef-blogpost-reading-time {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    padding: 10px 16px;
    border: none;
    color: #fff;
    background-color: #21497d;
    border-radius: 20px;
    line-height: 1.3;
    font-size: 0.875rem;
    width: 100%;
}

.ef-blogpost-date::before {
    font-family: 'Font Awesome 5 Free';
    font-weight: 900;
    content: "\f073";
    flex-shrink: 0;
}

.ef-blogpost-reading-time::before {
    font-family: 'Font Awesome 5 Free';
    font-weight: 900;
    content: "\f017";
    flex-shrink: 0;
}

.ef-blogpost-featured-image-wrapper {
    position: relative;
    top: 0;
    left: 0;
    border-radius: 5px;
}

.ef-blogpost-featured-image {
    position: relative;
    top: 0;
    left: 0;
}

.ef-badge {
    width: 50px;
    position: absolute;
    top: 0px;
    left: 30px;
    border-top: solid 1px #DDDDDD;
    border-left: solid 1px #DDDDDD;
    border-right: solid 1px #DDDDDD;
    border-opacity: 0.8;
    margin-top: -16px;
}

/* Blogpost Content Styling */

.ef-blogpost-main-content {
    color: #1F1F1F;
}

.single .cta-section {
    margin-bottom: 50px;
}

/* Alle Links im Blogpost fett machen */
.ef-blogpost-main-content a {
    color: #20497D;
    font-weight: 600;
    transition: all 0.2s ease;
}

/* Glossary-Links visuell differenzieren mit gepunkteter Unterstreichung */
.ef-blogpost-main-content .glossary-link > a,
.ef-blogpost-main-content .glossary-underline {
    color: #20497D;
    border-bottom: 1px dotted rgba(191, 154, 112, 0.6);
    padding-bottom: 1px;
    cursor: help;
}

/* TEST: Minimalistisches Wiki-Icon nach Glossary-Links */
.ef-blogpost-main-content .glossary-link > a::after {
    content: "\f02d"; /* FontAwesome book-open icon */
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    font-size: 0.75em;
    margin-left: 0.3em;
    color: #20497D; /* Primärfarbe für bessere Lesbarkeit */
    opacity: 0.75;
    vertical-align: baseline;
    transition: all 0.2s ease;
}

/* Hover: Goldfarben mit sichtbarerer Unterstreichung für Tooltip-Hinweis */
.ef-blogpost-main-content .glossary-link > a:hover,
.ef-blogpost-main-content .glossary-underline:hover {
    color: #bf9a70;
    border-bottom: 2px dotted #bf9a70;
}

/* Icon wird beim Hover goldfarben und leicht größer */
.ef-blogpost-main-content .glossary-link > a:hover::after {
    color: #bf9a70;
    opacity: 1;
    transform: scale(1.1);
}

/* Plugin CSS Override: Verhindere weiße Textfarbe beim Hover */
.ef-blogpost-main-content .glossary-tooltip:hover .glossary-link a,
.ef-blogpost-main-content .glossary-tooltip:focus .glossary-link a,
.ef-blogpost-main-content .glossary-tooltip:active .glossary-link a {
    color: #bf9a70 !important;
}

.ef-blogpost-main-content .shariff::before {
    display: inline-flex !important;
    align-items: center !important;
    font-size: 1.4em;
    content: "Inhalt teilen:";
    font-weight: 550;
    padding-right: 1rem;
}

.ef-blogpost-main-content .shariff {
    display: inline-flex !important;
    align-items: center !important;
    margin-bottom: 1em;
}

/* Verstecke erste Shariff-Instanz (wird automatisch am Anfang eingefügt) */
.ef-blogpost-main-content .shariff:first-of-type {
    display: none !important;
}

.ef-blogpost-main-content h1, 
.ef-blogpost-main-content h2, 
.ef-blogpost-main-content h3, 
.ef-blogpost-main-content h4, 
.ef-blogpost-main-content h5, 
.ef-blogpost-main-content h6, 
.ef-blogpost-main-content p,
.ef-blogpost-main-content .shariff {
    padding: 0px;
}

.ef-blogpost-main-content h1,
.ef-blogpost-main-content h2,
.ef-blogpost-main-content h3,
.ef-blogpost-main-content h4,
.ef-blogpost-main-content h5,
.ef-blogpost-main-content h6 {
    font-family: Libre Baskerville, sans-serif;
    font-weight: 700;
    color: #1F1F1F;
    margin-top: 38px;
    margin-bottom: 12px;
    line-height: 1.3;
}

/* Fluid Typography - Modern Responsive Font Sizes */
.ef-blogpost-main-content h1 {
    font-size: clamp(1.75rem, 1.5rem + 1.5vw, 2.5rem);
}

.ef-blogpost-main-content h2 {
    font-size: clamp(1.5rem, 1.25rem + 1.25vw, 2rem);
}

.ef-blogpost-main-content h3 {
    font-size: clamp(1.25rem, 1.125rem + 0.75vw, 1.75rem);
}

.ef-blogpost-main-content h4,
.ef-blogpost-main-content h5,
.ef-blogpost-main-content h6 {
    font-size: clamp(1rem, 0.95rem + 0.35vw, 1.25rem);
}

.ef-blogpost-main-content p {
    font-size: 18px;
    font-weight: 400;
    margin-bottom: 2rem;
    color: #393e42;
}

.ef-blogpost-main-content p {
    font-size: 18px;
    font-weight: 400;
    margin-bottom: 2rem;
    color: #393e42;
}

.ef-blogpost-main-content ul, ol {
    font-size: 18px;
    font-weight: 500;
    padding: 0;
    list-style-position: inside;
}

.ef-blogpost-main-content ul {
    list-style-type: disclosure-closed;
}

.ef-blogpost-main-content .list-brand {
    list-style-type: none!important;
    margin-bottom: 30px;
}

.ef-blogpost-main-content .list-brand li{
    background-color: rgb(255 255 255 / 0%)!important;
    margin-bottom: 5px!important;
    position: relative;
    padding-top: 0.5px!important;
    padding-right: 0.5rem!important;
    padding-bottom: 0.5px!important;
    padding-left: 25px;
    border-radius: 0px!important;
}

.blogpost-hint {
    padding: 12px 28px!important;
}

@media (min-width: 768px) {
    .ef-blogpost-main-content .list-brand {
        margin-left: 40px;
    }
}

.ef-blogpost-main-content ol {
    list-style-type: decimal;
}

.ef-blogpost-main-content ol li:last-child {
    margin-bottom: 30px;
}

.ef-blogpost-main-content ul li, 
.ef-blogpost-main-content ol li {
    background-color: #EDF7FF;
    margin-bottom: 2rem;
    padding: 1.5rem;
    line-height: 1.6;
    border-radius: 5px;
}

.ef-blogpost-main-content img {
    margin-bottom: 3rem;
}

/* Corner Bracket Blockquote Design - Elegant & Minimal */
.ef-blogpost-main-content blockquote {
    position: relative;
    background: transparent;
    border: none;
    padding: 3rem 2rem;
    margin: 3rem 0;
    font-family: 'Libre Baskerville', Georgia, serif;
    font-style: italic;
    font-size: 1.1rem;
    line-height: 1.6;
    color: #2c3e50;
    text-align: left;
}

/* Top-left corner bracket */
.ef-blogpost-main-content blockquote::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 40px;
    height: 40px;
    border-top: 3px solid #20497D;
    border-left: 3px solid #20497D;
}

/* Bottom-right corner bracket */
.ef-blogpost-main-content blockquote::after {
    content: "";
    position: absolute;
    bottom: 0;
    right: 0;
    width: 40px;
    height: 40px;
    border-bottom: 3px solid #20497D;
    border-right: 3px solid #20497D;
}

.ef-blogpost-main-content blockquote>p {
    font-size: 1.5rem;
    padding: 0;
    margin: 0.5rem 0;
    color: #2c3e50;
    opacity: 1;
    position: relative;
    z-index: 2;
}

.ef-blogpost-main-content blockquote>cite {
    font-style: normal;
    font-size: 1rem;
    font-weight: 300;
    padding: 0;
    margin: 0.5rem 0;
    color: #6c757d;
    position: relative;
    z-index: 2;
}

/*
* Overriding styles from other Plugins or Shortcodes for our blogpost
*/

.cta-banner-rechner-section .content>.title {
    padding: 0!important;
}

.ef-blogpost-main-content #ef-author-box .ef-author-bio p,
.ef-blogpost .ef-author-bio p {
    padding: 0;
}

/* Stil für Tablets */
@media (min-width: 768px) {

    .ef-blogpost-col-1 {
        display: block;
        grid-column-start: span 1;
    }

    .ef-blogpost-col-1 .lwptoc {
        position: sticky;
        top: 50px;
        padding-top: 60px;
    }

    .lwptoc_i {
        /* Fix needed to prevent the toc from overlapping the content */
        max-width: 190px;
        min-width: 100%;
    }

    .lwptoc_itemWrap {
        padding-right: 8px;
    }

    /* CSS-Fix für abgeschnittenen Text im Inhaltsverzeichnis */
    /* Header-Bereich erhalten */
    .lwptoc_header {
        white-space: nowrap !important;
        overflow: visible !important;
        display: flex !important;
        justify-content: space-between !important;
        align-items: center !important;
    }

    /* Nur Content-Bereich des TOC betreffen, nicht den Header */
    .lwptoc .lwptoc_items,
    .lwptoc_i:not(.lwptoc_header),
    .lwptoc_item {
        overflow: visible !important;
        white-space: normal !important;
        word-wrap: break-word !important;
        word-break: break-word !important;
        hyphens: auto !important;
        line-height: 1.4 !important;
        max-height: none !important;
        height: auto !important;
    }

    /* Links im Inhaltsverzeichnis besser handhaben (nicht Header) */
    .lwptoc_items a,
    .lwptoc_item a {
        display: block !important;
        text-decoration: none !important;
        word-wrap: break-word !important;
        word-break: break-word !important;
        hyphens: auto !important;
        padding: 4px 0 !important;
        overflow: visible !important;
        white-space: normal !important;
        line-height: 1.4 !important;
        max-height: none !important;
        height: auto !important;
    }

    /* Container für bessere Textdarstellung */
    .lwptoc_wrap:not(.lwptoc_header),
    .lwptoc_wrapper:not(.lwptoc_header) {
        overflow: visible !important;
        max-height: none !important;
        height: auto !important;
    }

    /* Für längere Überschriften im TOC Content */
    .lwptoc_items .lwptoc_item_h1,
    .lwptoc_items .lwptoc_item_h2,
    .lwptoc_items .lwptoc_item_h3,
    .lwptoc_items .lwptoc_item_h4,
    .lwptoc_items .lwptoc_item_h5,
    .lwptoc_items .lwptoc_item_h6 {
        font-size: 0.85rem !important;
        word-wrap: break-word !important;
        word-break: break-word !important;
        hyphens: auto !important;
        overflow: visible !important;
        white-space: normal !important;
        line-height: 1.4 !important;
        max-height: none !important;
        height: auto !important;
    }

    .ef-blogpost-2-col {
        grid-column-start: 2;
        grid-template-columns: 190px 1fr;
        gap: 1.4rem;
    }

    .ef-blogpost-header {
        padding: 30px 0px 45px 0px;
    }

    .ef-blogpost-col-2 {
        grid-template-column: span 1;
    }

    .ef-blogpost-category {
        padding: 60px 0px;
        justify-content: center;
        font-size: 1.5rem;
        padding: 30px 0px 40px;
    }

    .ef-blogpost-publisher {
        margin-bottom: 0px;
    }

    /* Desktop: Minimalistisch - Text-Only Style */
    .ef-blogpost-date,
    .ef-blogpost-reading-time {
        padding: 0.25rem 0;
        font-size: 0.875rem;
        font-weight: 400;
        color: #6b7280;
        background-color: transparent;
        border: none;
        border-radius: 0;
        width: auto;
    }

    .ef-blogpost-date::before,
    .ef-blogpost-reading-time::before {
        color: var(--ef-primary-tint, #20497d);
    }

    .ef-blogpost-date:hover,
    .ef-blogpost-reading-time:hover {
        color: var(--ef-primary-tint, #20497d);
        background-color: transparent;
        transform: none;
        box-shadow: none;
    }

    .ef-blogpost-main-content h1, 
    .ef-blogpost-main-content h2, 
    .ef-blogpost-main-content h3, 
    .ef-blogpost-main-content h4, 
    .ef-blogpost-main-content h5, 
    .ef-blogpost-main-content h6, 
    .ef-blogpost-main-content p, 
    .wp-block-buttons {
        padding: 0px 48px;
    }

    .ef-blogpost-main-content .shariff {
        display: inline-flex!important;
        align-items: center!important;
    }

    .ef-blogpost-main-content ul,
    .ef-blogpost-main-content ol {
        padding: 0;
    }

    .ef-blogpost-main-content ul li,
    .ef-blogpost-main-content ol li {
        margin-bottom: 1rem;
    }

    .ef-blogpost-main-content blockquote {
        padding: 2.5rem 1.5rem;
        margin: 2.5rem 0;
        font-size: 1.1rem;
    }
    
    .ef-blogpost-main-content blockquote::before,
    .ef-blogpost-main-content blockquote::after {
        width: 35px;
        height: 35px;
    }
}

/* Mobile Responsive */
@media only screen and (max-width: 576px) {
    .ef-blogpost-main-content blockquote {
        padding: 2rem 1rem;
        margin: 2rem 0;
        font-size: 1rem;
    }

    .ef-blogpost-main-content blockquote::before,
    .ef-blogpost-main-content blockquote::after {
        width: 30px;
        height: 30px;
        border-width: 2px;
    }

    /* Shariff "Inhalt teilen:" Label - Mobile Optimierung */
    .ef-blogpost-main-content .shariff::before {
        font-size: 1.2em;
        padding-right: 0;
        padding-bottom: 0.5rem;
    }

    /* Mobile: Label über den Buttons statt daneben */
    .ef-blogpost-main-content .shariff {
        display: flex !important;
        flex-direction: column !important;
        align-items: flex-start !important;
    }
}

/* Stil für Desktops */
@media (min-width: 1024px) {
    .ef-blogpost-category {
        padding: 60px 0px 60px;
    }
}

/* Desktop - Breiteres Inhaltsverzeichnis (ab 1200px) */
@media (min-width: 1200px) {
    .ef-blogpost-2-col {
        max-width: 1240px;
        grid-template-columns: 280px 1fr;
        gap: 2rem;
    }

    .lwptoc_i {
        max-width: 260px;
    }
}

/* ============================================
   Author Box Styles - Modernized
   ============================================ */

:root {
    --ef-primary-color: #10345f;
    --ef-secondary-color: #bf9a70;
    --ef-primary-tint: #20497d;
    --ef-author-card-shadow: 0 2px 8px rgba(16, 52, 95, 0.08);
    --ef-author-card-shadow-hover: 0 4px 16px rgba(16, 52, 95, 0.12);
    --ef-transition-smooth: all 0.3s ease;
}

.ef-author-box-wrapper {
    padding: 30px 0;
    margin-bottom: 30px;
}

.ef-author-card {
    display: grid;
    grid-template-areas:
        "image"
        "content";
    gap: 1.5rem;
    padding: 2rem 1.5rem;
    background: #ffffff;
    border-radius: 12px;
    box-shadow: var(--ef-author-card-shadow);
    transition: var(--ef-transition-smooth);
    border: 1px solid rgba(191, 154, 112, 0.15);
}

.ef-author-card:hover {
    box-shadow: var(--ef-author-card-shadow-hover);
    transform: translateY(-2px);
}

/* Responsive Fixes für Blogpost-Überlauf */
@media (max-width: 767px) {
    /* Fix für Überschriften-Überlauf auf mobilen Geräten */
    .ef-blogpost-title {
        word-wrap: break-word;
        overflow-wrap: break-word;
        hyphens: none;
        -webkit-hyphens: none;
        -moz-hyphens: none;
        -ms-hyphens: none;
    }

    /* Sicherstellen, dass Container nicht überlaufen */
    .ef-blogpost-content,
    .ef-blogpost-main-content {
        overflow-x: hidden;
        word-wrap: break-word;
        overflow-wrap: break-word;
    }

    /* Bilder und andere Medien begrenzen */
    .ef-blogpost-main-content img,
    .ef-blogpost-main-content iframe,
    .ef-blogpost-main-content video,
    .ef-blogpost-main-content table {
        max-width: 100% !important;
        height: auto;
    }

    /* Lange URLs und Code-Blöcke umbrechen */
    .ef-blogpost-main-content pre,
    .ef-blogpost-main-content code {
        overflow-x: auto;
        word-wrap: break-word;
        overflow-wrap: break-word;
        white-space: pre-wrap;
    }

    /* Fix für Featured Image Wrapper */
    .ef-blogpost-featured-image-wrapper {
        max-width: 100%;
        overflow: hidden;
    }
}

/* Responsive Styles für Source Section */
@media (max-width: 767px) {
    .ef-source {
        margin: 2rem 0;
        padding: 1rem;
    }

    .ef-source-toggle {
        font-size: 1.25rem;
    }

    .ef-source-list {
        padding-left: 1.25rem;
    }

    .ef-blogpost-main-content .ef-source-list-item {
        padding: 0 0 0 5px !important;
        margin-left: 0 !important;
    }
}

/*
** RankMath Questions
*/

.rank-math-question {
    background-color: #fff!important;
}

#rank-math-faq .rank-math-list-item {
    padding-bottom: 1em;
    border-bottom: 1px solid #eeeeee;
}

.rank-math-answer p:last-child {
    margin-bottom: 0!important;
}

/*
** Quellenangaben Styling per ACF
Contact: @growthwizard via github
*/

/* Source Section Container */
.ef-source {
    margin: 3rem 0;
    padding: 1rem 1.5rem;
    background-color: #f8f9fa;
    border-left: 4px solid #10345f;
    border-radius: 4px;
}

/* Source Heading & Toggle Button */
.ef-source-heading {
    margin: 0;
    padding: 0;
}

.ef-source-toggle {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    padding: 0.5rem 0;
    background: none;
    border: none;
    cursor: pointer;
    font-size: 1.5rem;
    font-weight: 600;
    color: #10345f;
    text-align: left;
    transition: color 0.2s ease;
}

.ef-source-toggle:hover {
    color: #bf9a70;
}

.ef-source-toggle:focus {
    outline: 2px solid #10345f;
    outline-offset: 4px;
}

.ef-source-title {
    flex: 1;
}

.ef-source-icon {
    margin-left: 1rem;
    font-size: 1rem;
    transition: transform 0.3s ease;
}

/* Icon rotation when expanded */
.ef-source.open .ef-source-icon {
    transform: rotate(180deg);
}

/* List Wrapper for Collapse Animation */
.ef-source-list-wrapper {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.4s ease-out;
}

.ef-source.open .ef-source-list-wrapper {
    max-height: 2000px; /* Large enough for any list */
    transition: max-height 0.6s ease-in;
}

/* Source List Styling */
.ef-source-list {
    padding: 0.75rem 0 0 1.5rem;
    margin: 0;
}

.ef-source-list-item {
    color: #1F1F1F;
    opacity: 0.8;
    padding: 0rem 3rem 0rem 3rem !important;
    background-color: rgb(255 255 255 / 0%) !important;
    margin-bottom: 2px !important;
}

/*
* Styling for the AuthorBox
* For Questions, please contact @growthwizard via github
*/

#ef-author-box {
    display: grid;
    justify-content: center;
    align-items: center;
    grid-template-columns: 3fr;
    grid-template-rows: auto;
    max-width: 800px;
    margin: auto;
    border-top: 1px solid #ccc;
}

/* Author Image */
.ef-author-img {
    grid-area: image;
    display: flex;
    justify-content: center;
    align-items: flex-start;
}

.ef-author-img a {
    display: block;
    position: relative;
    overflow: hidden;
    border-radius: 12px;
    transition: var(--ef-transition-smooth);
}

.ef-author-img a:hover {
    transform: scale(1.02);
}

.ef-author-img a::after {
    content: '';
    position: absolute;
    inset: 0;
    border-radius: 12px;
    box-shadow: inset 0 0 0 2px var(--ef-secondary-color);
    opacity: 0;
    transition: var(--ef-transition-smooth);
}

.ef-author-img a:hover::after {
    opacity: 0.3;
}

.ef-author-img img {
    width: 100%;
    height: auto;
    display: block;
    border-radius: 12px;
}

/* Author Content */
.ef-author-content {
    grid-area: content;
    display: flex;
    flex-direction: column;
    gap: 1.25rem;
}

/* Author Header */
.ef-author-header {
    position: relative;
}

.ef-author-title {
    position: relative;
    padding-left: 50px;
}

.ef-author-title::before {
    position: absolute;
    content: '';
    width: 40px;
    height: 40px;
    left: 0;
    top: 0;
    background: url(https://erbmanufaktur.de/wp-content/themes/erbmanufaktur/images/share/logo-icon@2x.png) no-repeat center center;
    background-size: contain;
    opacity: 0.9;
}

.ef-author-byline {
    margin: 0 0 0.5rem 0;
    font-size: 0.9375rem;
    color: #666;
}

.ef-author-byline-label {
    font-weight: normal;
}

.ef-author-name {
    color: var(--ef-primary-tint);
    font-weight: 700;
    font-size: 1.125rem;
    text-decoration: none;
    transition: var(--ef-transition-smooth);
}

.ef-author-name:hover {
    color: var(--ef-primary-color);
    text-decoration: underline;
}

.ef-author-job-title {
    margin: 0;
    padding-bottom: 0.75rem;
    border-bottom: 2px solid var(--ef-secondary-color);
    color: #555;
    font-size: 0.9375rem;
    font-weight: 500;
}

/* Author Bio */
.ef-author-bio {
    line-height: 1.7;
    color: #333;
}

.ef-author-bio p {
    margin: 0 0 1rem 0;
}

.ef-author-bio p:last-child {
    margin-bottom: 0;
}

.ef-author-bio a {
    color: var(--ef-primary-tint);
    text-decoration: none;
    border-bottom: 1px solid transparent;
    transition: var(--ef-transition-smooth);
}

.ef-author-bio a:hover {
    color: var(--ef-primary-color);
    border-bottom-color: var(--ef-secondary-color);
}

/* Author Contact (CTA Buttons) */
.ef-author-contact {
    display: flex;
    flex-direction: column;
    gap: 0.875rem;
    margin-top: 0.5rem;
    font-style: normal;
}

.ef-author-contact .btn-brand {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.625rem;
    padding: 0.875rem 1.5rem;
    font-size: 1rem;
    font-weight: 600;
    text-decoration: none;
    border-radius: 8px;
    transition: var(--ef-transition-smooth);
    min-height: 44px;
    text-align: center;
}

.ef-author-contact .btn-brand i {
    font-size: 1.125rem;
    flex-shrink: 0;
}

.ef-author-contact .btn-brand span {
    flex: 1;
}

.ef-author-contact .booking-btn {
    background: var(--ef-primary-color);
    color: #ffffff;
    border: 2px solid var(--ef-primary-color);
}

.ef-author-contact .booking-btn:hover {
    background: var(--ef-primary-tint);
    border-color: var(--ef-primary-tint);
    transform: translateY(-1px);
    box-shadow: 0 4px 8px rgba(16, 52, 95, 0.2);
}

.ef-author-contact .tel-btn {
    background: transparent;
    color: var(--ef-primary-color);
    border: 2px solid var(--ef-primary-color);
}

.ef-author-contact .tel-btn:hover {
    background: var(--ef-primary-color);
    color: #ffffff;
    transform: translateY(-1px);
    box-shadow: 0 4px 8px rgba(16, 52, 95, 0.15);
}

/* Legacy class support */
.ef-author-highlight {
    color: var(--ef-primary-tint);
}

.author-phone-number {
    margin-left: 5px;
}

/* Mobile Optimizations */
@media screen and (max-width: 769px) {
    .ef-author-byline-label {
        display: none;
    }

    .ef-author-byline {
        text-align: left;
    }
}

/* Tablet and Desktop Layout */
@media screen and (min-width: 770px) {
    .ef-author-card {
        grid-template-areas: "content image";
        grid-template-columns: 1fr auto;
        gap: 2.5rem;
        padding: 2.5rem 2rem;
    }

    .ef-author-img {
        max-width: 200px;
    }

    .ef-author-contact {
        flex-direction: row;
        gap: 1rem;
    }

    .ef-author-contact .btn-brand {
        flex: 1;
        max-width: 250px;
        white-space: nowrap;
    }
}

/* Large Desktop - Enhanced Spacing */
@media screen and (min-width: 1200px) {
    .ef-author-card {
        padding: 3rem 2.5rem;
        gap: 3rem;
    }

    .ef-author-img {
        max-width: 240px;
    }
}

/*
* Old Post (single.php) Styling, 
* still used by /wiki
*/ 

.single-blog-v2-header {
    position: relative;
}

.single-blog-v2-header .image-header {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 0;
    background: no-repeat center center;
    background-size: cover;
}

.single-blog-v2-header .image-header::before {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 1;
    content: '';
    background: #20497D;
    opacity: 0.5;
}

.single-blog-v2-header>.container {
    position: relative;
    z-index: 10;
    display: flex;
    min-height: 400px;
    align-items: center;
    text-align: center;
    justify-content: center;
}

@media screen and (max-width: 767px) {
    .single-blog-v2-header>.container {
        min-height: initial;
        padding: 60px 0 40px;
    }
}

.single-blog-v2-header>.container>.badge-check {
    position: absolute;
    left: 0;
    top: 0;
    color: #fff;
    padding-left: 50px;
    height: 57px;
    display: flex;
    align-items: center;
    font-size: 12px;
    padding-bottom: 16px;
}

@media screen and (max-width: 767px) {
    .single-blog-v2-header>.container>.badge-check {
        font-size: 10px;
        height: 41px;
        left: 15px;
        padding-left: 35px;
    }
}

.single-blog-v2-header>.container>.badge-check::before {
    content: '';
    width: 35px;
    height: 60px;
    background: url("./images/share/check-badge-down.png") no-repeat center bottom;
    background-size: contain;
    position: absolute;
    bottom: 0;
    left: 0;
}

@media screen and (max-width: 767px) {
    .single-blog-v2-header>.container>.badge-check::before {
        width: 25px;
        height: 50px;
    }
}

.single-blog-v2-header>.container .entry-title {
    color: #fff;
    font-family: capitolium-2, sans-serif;
    max-width: 720px;
    font-weight: normal;
    font-size: 36px;
    margin-bottom: 15px;
}

@media screen and (max-width: 767px) {
    .single-blog-v2-header>.container .entry-title {
        font-size: 24px;
        padding: 0 15px;
        margin-bottom: 10px;
    }
}

.single-blog-v2-header>.container .category {
    color: #fff;
    text-transform: uppercase;
    font-size: 16px;
}

@media screen and (max-width: 767px) {
    .single-blog-v2-header>.container .category {
        font-size: 13px;
    }
}

.single-blog-v2-header>.container .category>a {
    color: #fff;
}

.single-blog-v2-header.no-image {
    background: #20497D;
}

.single-blog-v2-header.no-image>.container {
    min-height: 200px;
}

@media screen and (max-width: 767px) {
    .col-single-blog {
        padding-left: 15px;
        border-left: none;
    }
}

.col-single-blog .entry-content #toc_container {
    display: none;
}

.col-single-blog .entry-content .h1,
.col-single-blog .entry-content h2,
.col-single-blog .entry-content h3,
.col-single-blog .entry-content h4,
.col-single-blog .entry-content h5,
.col-single-blog .entry-content h6 {
    margin-top: 40px;
}

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

    .col-single-blog .entry-content .h1,
    .col-single-blog .entry-content h2,
    .col-single-blog .entry-content h3,
    .col-single-blog .entry-content h4,
    .col-single-blog .entry-content h5,
    .col-single-blog .entry-content h6 {
        margin-top: 30px;
    }
}

.col-single-blog .entry-content .h1:first-child,
.col-single-blog .entry-content h2:first-child,
.col-single-blog .entry-content h3:first-child,
.col-single-blog .entry-content h4:first-child,
.col-single-blog .entry-content h5:first-child,
.col-single-blog .entry-content h6:first-child {
    margin-top: 0;
}


.nachlassabwicklung .title {
    max-width: 260px;
    margin-bottom: 20px;
}

.nachlassabwicklung-section-3 {
    margin-bottom: 30px;
}

@media screen and (max-width: 991px) {
.nachlassabwicklung .col-action {
    display: none;
}
}

/* Old CSS ends here */

.nachfolgeplanung-section {
    padding: 100px 0;
    color: #000;
    line-height: 1.6em;
}

@media screen and (max-width: 767px) {
    .nachfolgeplanung-section {
        padding: 60px 0;
    }
}

.nachfolgeplanung-section p {
    margin-bottom: 20px;
}

.nachfolgeplanung-section .title {
    font-family: capitolium-2, sans-serif;
    font-weight: bold;
    font-size: 30px;
    color: #000;
}

@media screen and (max-width: 767px) {
    .nachfolgeplanung-1-section {
        padding-bottom: 0;
    }
}

.nachfolgeplanung-1-section .col-content>.title {
    margin-bottom: 30px;
}

.nachfolgeplanung-1-section .col-image {
    background: no-repeat center center;
    background-size: cover;
}

@media screen and (max-width: 767px) {
    .nachfolgeplanung-1-section .col-image {
        min-height: 320px;
    }
}

.nachfolgeplanung-2-section {
    background: #10233E;
    color: #fff;
}

.nachfolgeplanung-2-section .title {
    color: #fff;
    margin-bottom: 20px;
}

.nachfolgeplanung-2-section .col-action {
    display: flex;
    align-items: center;
}

@media screen and (max-width: 991px) {
    .nachfolgeplanung-2-section .col-action {
        margin-bottom: 60px;
    }
}

.nachfolgeplanung-2-section .col-action>.action {
    max-width: 400px;
}

.nachfolgeplanung-2-section .col-action>.action>.title {
    font-size: 28px;
}

.nachfolgeplanung-2-section .col-content .title {
    font-size: 34px;
}

.nachfolgeplanung-3-section {
    padding: 160px 0;
}

@media screen and (max-width: 767px) {
    .nachfolgeplanung-3-section {
        padding: 60px 0 100px;
    }
}

.nachfolgeplanung-3-section .col-content .title {
    font-size: 32px;
    margin-bottom: 20px;
}

.nachfolgeplanung-3-section .col-image {
    position: relative;
}

.nachfolgeplanung-3-section .col-image>.image {
    max-width: 70%;
    position: absolute;
    bottom: 40%;
}

@media screen and (max-width: 991px) {
    .nachfolgeplanung-3-section .col-image>.image {
        max-width: 90%;
    }
}

@media screen and (max-width: 767px) {
    .nachfolgeplanung-3-section .col-image>.image {
        position: static;
    }
}

.nachfolgeplanung-3-section .col-image>.action {
    background: #10233E;
    color: #fff;
    max-width: 65%;
    position: absolute;
    right: 0;
    top: 50%;
    padding: 20px;
}

@media screen and (max-width: 991px) {
    .nachfolgeplanung-3-section .col-image>.action {
        max-width: 85%;
    }
}

@media screen and (max-width: 767px) {
    .nachfolgeplanung-3-section .col-image>.action {
        top: 80%;
        right: 15px;
    }
}

.nachfolgeplanung-3-section .col-image>.action .title {
    color: #fff;
    font-size: 24px;
    margin-bottom: 20px;
    font-weight: normal;
}

@media screen and (max-width: 1199px) {
    .nachfolgeplanung-3-section .col-image>.action .title {
        font-size: 22px;
    }
}

@media screen and (max-width: 991px) {
    .nachfolgeplanung-3-section .col-image>.action .title {
        font-size: 20px;
    }
}

.nachfolgeplanung-4-section {
    padding: 160px 0;
    background: #f5f5f5;
}

@media screen and (max-width: 991px) {
    .nachfolgeplanung-4-section {
        padding: 100px 0;
    }
}

.nachfolgeplanung-4-section .col-action {
    display: flex;
    align-items: center;
}

@media screen and (max-width: 991px) {
    .nachfolgeplanung-4-section .col-action {
        margin-bottom: 80px;
        justify-content: center;
    }
}

.nachfolgeplanung-4-section .col-action .action {
    position: relative;
    padding: 25px;
}

.nachfolgeplanung-4-section .col-action .action::before {
    position: absolute;
    display: block;
    content: '';
    left: 0;
    top: 0;
    bottom: 0;
    border: 2px solid #BF9A70;
    width: 230px;
    z-index: 0;
}

.nachfolgeplanung-4-section .col-action .action::after {
    content: '';
    z-index: 1;
    position: absolute;
    background: #f5f5f5;
    left: 180px;
    bottom: -10px;
    width: 50px;
    height: 158px;
}

@media screen and (max-width: 767px) {
    .nachfolgeplanung-4-section .col-action .action::after {
        left: 60px;
        width: 180px;
    }
}

.nachfolgeplanung-4-section .col-action .action>.title {
    font-weight: normal;
    position: relative;
    z-index: 10;
    margin-bottom: 0;
}

@media screen and (max-width: 767px) {
    .nachfolgeplanung-4-section .col-action .action>.title {
        font-size: 26px;
    }
}

.nachfolgeplanung-4-section .col-action .action>.btn-brand {
    z-index: 10;
    position: absolute;
    left: 200px;
    bottom: -12px;
    color: #000;
    border: 2px solid #000;
    background: transparent;
    padding: 10px 30px;
}

@media screen and (max-width: 767px) {
    .nachfolgeplanung-4-section .col-action .action>.btn-brand {
        bottom: -38px;
        left: 80px;
    }
}

.nachfolgeplanung-4-section .col-content .title {
    font-size: 32px;
    margin-bottom: 30px;
}

.nachfolgeplanung-5-section {
    padding: 140px 0;
}

@media screen and (max-width: 991px) {
    .nachfolgeplanung-5-section {
        padding-top: 100px;
    }
}

@media screen and (max-width: 991px) {
    .nachfolgeplanung-5-section .col-left {
        margin-bottom: 80px;
    }
}

.nachfolgeplanung-5-section .col-left .title {
    font-size: 32px;
    margin-bottom: 30px;
}

.list-brand {
    list-style: none;
    margin: 0;
    padding: 0;
}

.list-brand li {
    margin-bottom: 15px;
    position: relative;
    padding-left: 25px;
}

.list-brand li::before {
    display: block;
    content: '';
    position: absolute;
    width: 12px;
    top: 0;
    bottom: 0;
    background: url("./images/share/list-brand.svg") no-repeat center center;
    background-size: contain;
    left: 0;
}

.stiftungsplanung-section {
    padding: 100px 0;
    color: #000;
    line-height: 1.6em;
}

@media screen and (max-width: 767px) {
    .stiftungsplanung-section {
        padding: 60px 0;
    }
}

.stiftungsplanung-section p {
    margin-bottom: 20px;
}

.stiftungsplanung-section .title {
    font-family: capitolium-2, sans-serif;
    font-weight: bold;
    font-size: 30px;
    color: #000;
    margin-bottom: 30px;
}

@media screen and (max-width: 767px) {
    .stiftungsplanung-section .title {
        font-size: 26px;
    }
}

.stiftungsplanung-1-section {
    padding: 40px 0 100px 0;
}

@media screen and (max-width: 767px) {
    .stiftungsplanung-1-section {
        padding-bottom: 0;
    }
}

.stiftungsplanung-1-section .col-content .content {
    padding: 50px 50px 50px 0;
}

.stiftungsplanung-1-section .col-image {
    background: no-repeat center center;
    background-size: cover;
}

@media screen and (max-width: 767px) {
    .stiftungsplanung-1-section .col-image {
        min-height: 320px;
    }
}

.stiftungsplanung-2-section {
    background: #10233E;
    color: #fff;
}

.stiftungsplanung-2-section .col-action {
    display: flex;
    align-items: center;
}

@media screen and (max-width: 991px) {
    .stiftungsplanung-2-section .col-action {
        margin-bottom: 60px;
    }
}

.stiftungsplanung-2-section .col-action>.action {
    max-width: 400px;
}

.stiftungsplanung-2-section .col-action>.action>.title {
    font-size: 28px;
    color: #fff;
}

@media screen and (max-width: 767px) {
    .stiftungsplanung-2-section .col-action>.action>.title {
        font-size: 24px;
    }
}

.stiftungsplanung-2-section .col-action>.action .btn-brand {
    min-width: 200px;
    text-transform: uppercase;
}

.stiftungsplanung-2-section .col-content .title {
    font-size: 34px;
    margin-bottom: 30px;
    color: #fff;
}

@media screen and (max-width: 767px) {
    .stiftungsplanung-2-section .col-content .title {
        font-size: 24px;
    }
}

@media screen and (max-width: 991px) {
    .stiftungsplanung-3-section {
        padding: 60px 0 100px;
    }
}

@media screen and (max-width: 767px) {
    .stiftungsplanung-3-section {
        padding: 60px 0 160px;
    }
}

.stiftungsplanung-3-section .col-content {
    padding-right: 50px;
}

@media screen and (max-width: 991px) {
    .stiftungsplanung-3-section .col-content {
        padding-right: 15px;
    }
}

@media screen and (max-width: 767px) {
    .stiftungsplanung-3-section .col-content {
        margin-bottom: 40px;
    }
}

.stiftungsplanung-3-section .col-content .title {
    font-size: 32px;
    margin-bottom: 20px;
}

.stiftungsplanung-3-section .col-image {
    position: relative;
}

.stiftungsplanung-3-section .col-image>.image {
    max-width: 70%;
    position: absolute;
    bottom: 40%;
}

@media screen and (max-width: 991px) {
    .stiftungsplanung-3-section .col-image>.image {
        max-width: 90%;
    }
}

@media screen and (max-width: 767px) {
    .stiftungsplanung-3-section .col-image>.image {
        position: static;
    }
}

.stiftungsplanung-3-section .col-image>.action {
    background: #10233E;
    color: #fff;
    max-width: 65%;
    position: absolute;
    right: 0;
    top: 50%;
    padding: 20px;
}

@media screen and (max-width: 991px) {
    .stiftungsplanung-3-section .col-image>.action {
        max-width: 85%;
    }
}

@media screen and (max-width: 767px) {
    .stiftungsplanung-3-section .col-image>.action {
        top: 80%;
        right: 15px;
    }
}

.stiftungsplanung-3-section .col-image>.action .title {
    color: #fff;
    font-size: 24px;
    margin-bottom: 20px;
    font-weight: normal;
}

@media screen and (max-width: 1199px) {
    .stiftungsplanung-3-section .col-image>.action .title {
        font-size: 22px;
    }
}

@media screen and (max-width: 991px) {
    .stiftungsplanung-3-section .col-image>.action .title {
        font-size: 20px;
    }
}

.stiftungsplanung-3-section .col-image>.action .btn-brand {
    text-transform: uppercase;
}

.stiftungsplanung-4-section {
    background: #f5f5f5;
}

.stiftungsplanung-4-section .col-left {
    display: flex;
    align-items: center;
}

@media screen and (max-width: 767px) {
    .stiftungsplanung-4-section .col-left {
        margin-bottom: 40px;
    }
}

.stiftungsplanung-4-section .col-left .content {
    padding-right: 50px;
}

@media screen and (max-width: 991px) {
    .stiftungsplanung-4-section .col-left .content {
        padding-right: 0;
    }
}

.stiftungsplanung-4-section .col-right {
    display: flex;
    align-items: center;
}

.stiftungsplanung-5-section .col-left {
    display: flex;
    align-items: center;
}

@media screen and (max-width: 991px) {
    .stiftungsplanung-5-section .col-left {
        margin-bottom: 60px;
    }
}

.stiftungsplanung-5-section .col-left .content {
    padding-right: 50px;
}

@media screen and (max-width: 991px) {
    .stiftungsplanung-5-section .col-left .content {
        padding-right: 0;
    }
}

.stiftungsplanung-5-section .col-right {
    display: flex;
    align-items: center;
}

.stiftungsplanung-6-section {
    background: #f5f5f5;
}

.stiftungsplanung-6-section .col-left {
    display: flex;
    align-items: center;
}

@media screen and (max-width: 767px) {
    .stiftungsplanung-6-section .col-left {
        margin-bottom: 40px;
    }
}

.stiftungsplanung-6-section .col-left .content {
    padding-right: 50px;
}

@media screen and (max-width: 991px) {
    .stiftungsplanung-6-section .col-left .content {
        padding-right: 15px;
    }
}

.stiftungsplanung-6-section .col-right {
    display: flex;
    align-items: center;
}

.stiftungsplanung-7-section .col-content {
    display: flex;
    align-items: center;
}

@media screen and (max-width: 767px) {
    .stiftungsplanung-7-section .col-content {
        margin-bottom: 40px;
    }
}

.stiftungsplanung-7-section .col-content .content {
    padding-right: 50px;
}

@media screen and (max-width: 991px) {
    .stiftungsplanung-7-section .col-content .content {
        padding-right: 0;
    }
}

.stiftungsplanung-7-section .col-action {
    display: flex;
    align-items: center;
}

@media screen and (max-width: 767px) {
    .stiftungsplanung-7-section .col-action {
        margin-bottom: 40px;
    }
}

.stiftungsplanung-7-section .col-action .action-wrapper {
    position: relative;
    padding-bottom: 100px;
}

.stiftungsplanung-7-section .col-action .action-wrapper .action {
    width: 80%;
    padding: 40px 30px;
    border: 2px solid #BF9A70;
}

.stiftungsplanung-7-section .col-action .action-wrapper .action>.title {
    font-size: 22px;
    font-weight: normal;
}

.stiftungsplanung-7-section .col-action .action-wrapper .image {
    position: absolute;
    top: 35%;
    max-width: 300px;
    right: 0;
    border: 10px solid #fff;
}

@media screen and (max-width: 1199px) {
    .stiftungsplanung-7-section .col-action .action-wrapper .image {
        top: 42%;
        max-width: 220px;
    }
}

@media screen and (max-width: 991px) {
    .stiftungsplanung-7-section .col-action .action-wrapper .image {
        top: 66%;
        max-width: 260px;
    }
}

.marktplatz-section {
    padding: 60px 0;
    color: #000;
    line-height: 1.6em;
}

@media screen and (max-width: 767px) {
    .marktplatz-section {
        padding: 40px 0;
    }
}

.marktplatz-section p {
    margin-bottom: 20px;
}

.marktplatz-section .title {
    font-family: capitolium-2, sans-serif;
    font-weight: bold;
    font-size: 30px;
    color: #000;
    margin-bottom: 20px;
}

@media screen and (max-width: 767px) {
    .marktplatz-section .title {
        font-size: 26px;
    }
}

.marktplatz-1-section {
    background: #f5f5f5;
}

@media screen and (max-width: 767px) {
    .marktplatz-1-section {
        padding: 40px 20px;
    }
}

.marktplatz-1-section .col-content .title {
    display: flex;
    align-items: center;
}

.marktplatz-1-section .col-content .title>.icon {
    width: 25px;
    height: 25px;
    border-radius: 50%;
    background: #BF9A70;
    margin-right: 10px;
    color: #fff;
    font-size: 14px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.marktplatz-1-section .col-content .title>.typo {
    text-transform: uppercase;
    color: #BF9A70;
    flex-shrink: 1;
    font-family: "Open Sans", sans-serif;
    font-size: 16px;
    padding-right: 10px;
    letter-spacing: 0.04em;
}

.marktplatz-1-section .col-content .title>.line {
    position: relative;
    flex-grow: 1;
}

.marktplatz-1-section .col-content .title>.line::before {
    content: '';
    position: absolute;
    border-bottom: 1px solid #BF9A70;
    top: 50%;
    left: 0;
    right: 0;
}

.marktplatz-1-section .col-content .content {
    padding: 0px 50px 50px 0;
}

.marktplatz-1-section .col-image {
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
}

@media screen and (max-width: 767px) {
    .marktplatz-2-section {
        padding-bottom: 0;
    }

    .marktplatz-2-section .row {
        flex-direction: column-reverse;
    }
}

.marktplatz-2-section .col-content .title {
    display: inline-block;
    position: relative;
}

.marktplatz-2-section .col-content .title::before {
    content: '';
    position: absolute;
    left: 0;
    right: 0;
    bottom: -8px;
    border-bottom: 1px solid #BF9A70;
}

.marktplatz-2-section .col-content .content {
    padding: 20px;
}

.marktplatz-2-section .col-image {
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
}

.marktplatz-3-section .col-content .content {
    padding: 50px 50px 50px 0;
}

.marktplatz-3-section .col-content .content a {
    color: #BF9A70;
}

.marktplatz-3-section .col-content .content .action .btn-brand {
    color: #fff;
    display: inline-block;
    min-width: 200px;
    padding: 8px 20px;
}

.marktplatz-3-section .col-image .team-list-item-v2 {
    max-width: 360px;
    margin: 0 auto;
}

.marktplatz-3-section .col-image .team-list-item-v2>.image {
    min-height: 360px;
}

.marktplatz-3-section .col-image .team-list-item-v2>.content>.title {
    font-weight: bold;
    color: #fff;
    text-transform: uppercase;
    font-size: 26px;
    margin-bottom: 15px;
    font-family: capitolium-2, sans-serif;
}

@media screen and (max-width: 767px) {
    .marktplatz-3-section .col-content .content {
        padding: 0 20px 20px 0;
    }

    .marktplatz-3-section .col-image .team-list-item-v2>.content>.title {
        font-size: 16px;
    }
}

.marktplatz-3-section .col-image .team-list-item-v2>.content>.action {
    margin-top: 10px;
}

.marktplatz-3-section .col-image .team-list-item-v2>.content>.action a {
    color: #BF9A70;
    text-decoration: underline;
    font-size: 18px;
}

.lagerhalle-kaufen-content-section {
    padding: 40px 0;
    background: #f5f5f5;
}

@media screen and (max-width: 767px) {
    .lagerhalle-kaufen-content-section {
        padding: 40px 0;
        border-bottom: 1px solid #000;
    }
}

.lagerhalle-kaufen-content-section>.container .col-left {
    padding-right: 40px;
    border-right: 1px solid #000;
}

@media screen and (max-width: 767px) {
    .lagerhalle-kaufen-content-section>.container .col-left {
        padding-right: 15px;
        margin-bottom: 20px;
        border: none;
    }
}

.lagerhalle-kaufen-content-section>.container .col-right {
    padding-left: 40px;
}

@media screen and (max-width: 767px) {
    .lagerhalle-kaufen-content-section>.container .col-right {
        padding-left: 15px;
        margin-bottom: 20px;
    }
}

.lagerhalle-kaufen-content-section>.container .col-content .content {
    margin-bottom: 20px;
}

.lagerhalle-kaufen-content-section>.container .col-content .content>.title {
    font-family: capitolium-2, sans-serif;
    font-size: 24px;
    font-weight: bold;
    color: #000;
    letter-spacing: 0.05em;
    margin-bottom: 20px;
}

@media screen and (max-width: 991px) {
    .lagerhalle-kaufen-content-section>.container .col-content .content>.title {
        font-size: 22px;
    }
}

.lagerhalle-kaufen-content-section>.container .col-content .content>.detail {
    color: #000;
}

@media screen and (max-width: 767px) {
    .lagerhalle-kaufen-content-section>.container .col-content .content>.detail {
        margin-bottom: 20px;
    }
}

.lagerhalle-kaufen-content-section>.container .col-content .image {
    margin-top: 20px;
}

.lagerhalle-kaufen-table-section {
    padding: 40px 0;
    background: #f5f5f5;
}

.lagerhalle-kaufen-table-section>.container {
    max-width: 840px;
}

.lagerhalle-kaufen-table-section>.container p {
    color: #000;
    margin-bottom: 20px;
}

.lagerhalle-kaufen-table-section>.container>.title {
    font-family: capitolium-2, sans-serif;
    font-size: 30px;
    font-weight: bold;
    color: #10345F;
    letter-spacing: 0.05em;
    margin-bottom: 20px;
    display: inline-block;
    border-bottom: 1px solid #BF9A70;
}

@media screen and (max-width: 991px) {
    .lagerhalle-kaufen-table-section>.container>.title {
        font-size: 28px;
    }
}

.lagerhalle-kaufen-table-section>.container>.sub-title {
    font-family: capitolium-2, sans-serif;
    font-size: 24px;
    font-weight: bold;
    color: #000;
    letter-spacing: 0.05em;
    margin-bottom: 20px;
}

@media screen and (max-width: 991px) {
    .lagerhalle-kaufen-table-section>.container>.sub-title {
        font-size: 22px;
    }
}

.lagerhalle-kaufen-table-section .table-wrapper .table tbody {
    border-bottom: 1px solid #000;
    border-right: 1px solid #000;
}

.lagerhalle-kaufen-table-section .table-wrapper .table tr {
    border-top: 1px solid #000;
}

.lagerhalle-kaufen-table-section .table-wrapper .table td,
.lagerhalle-kaufen-table-section .table-wrapper .table th {
    border-top: none;
    border-left: 1px solid #000;
    font-size: 13px;
}

.lagerhalle-kaufen-table-section .table-wrapper .table td.yes,
.lagerhalle-kaufen-table-section .table-wrapper .table th.yes {
    background: #C2DEC094;
}

.lagerhalle-kaufen-table-section .table-wrapper .table td.no,
.lagerhalle-kaufen-table-section .table-wrapper .table th.no {
    background: #C65B5B70;
}

.lagerhalle-kaufen-table-section .table-wrapper .table th {
    font-size: 10px;
    text-align: center;
    position: relative;
    min-width: 40px;
}

.lagerhalle-kaufen-table-section .table-wrapper .table .vertical-text {
    position: absolute;
    left: 50%;
    margin-left: -10px;
    writing-mode: vertical-rl;
    white-space: nowrap;
    font-size: 13px;
}

.lagerhalle-kaufen-gewerbeimmobilien-section {
    background: #f5f5f5;
    padding: 60px 0;
}

.lagerhalle-kaufen-gewerbeimmobilien-section>.container {
    max-width: 840px;
}

.lagerhalle-kaufen-gewerbeimmobilien-section>.container>.title {
    margin-bottom: 10px;
    color: #fff;
    background: #10345f;
    display: inline-block;
    padding: 5px 15px;
    font-size: 16px;
}

.lagerhalle-kaufen-gewerbeimmobilien-section>.container>.title strong {
    color: #E2B684;
    font-weight: normal;
}

.lagerhalle-kaufen-gewerbeimmobilien-section .box-item-wrapper {
    border: 2px solid #10345f;
    display: flex;
    margin-bottom: 10px;
}

@media screen and (max-width: 767px) {
    .lagerhalle-kaufen-gewerbeimmobilien-section .box-item-wrapper {
        flex-wrap: wrap;
    }
}

.lagerhalle-kaufen-gewerbeimmobilien-section .box-item-wrapper .box-item {
    position: relative;
    width: 25%;
    height: 195px;
}

@media screen and (max-width: 991px) {
    .lagerhalle-kaufen-gewerbeimmobilien-section .box-item-wrapper .box-item {
        width: 50%;
    }
}

@media screen and (max-width: 767px) {
    .lagerhalle-kaufen-gewerbeimmobilien-section .box-item-wrapper .box-item {
        height: 180px;
    }
}

.lagerhalle-kaufen-gewerbeimmobilien-section .box-item-wrapper .box-item>.title {
    position: absolute;
    bottom: 0;
    left: 0;
    padding: 5px 10px;
    background: #10345f;
    margin-bottom: 0;
    color: #fff;
    font-weight: bold;
    width: 70%;
    text-align: center;
}

@media screen and (max-width: 767px) {
    .lagerhalle-kaufen-gewerbeimmobilien-section .box-item-wrapper .box-item>.title {
        font-size: 16px;
        width: 90%;
    }
}

.lagerhalle-kaufen-gewerbeimmobilien-section .box-item-wrapper .box-item>.image {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: no-repeat center center;
    background-size: cover;
}

.lagerhalle-kaufen-gewerbeimmobilien-section .action {
    text-align: right;
}

@media screen and (max-width: 767px) {
    .lagerhalle-kaufen-gewerbeimmobilien-section .action>.btn-brand {
        width: 100%;
    }
}

.bg-gray {
    background: #F5F5F5;
}

.immobilie-geerbt-section-1 {
    background: #F5F5F5;
    padding: 35px 0;
}

.immobilie-geerbt-section-1>.container {
    border: 2px solid #10345f;
    text-align: center;
    padding: 90px 0;
}

.immobilie-geerbt-section-1 .content-wrapper {
    max-width: 850px;
    padding: 0 20px;
    margin: 0 auto;
    color: #000;
}

.immobilie-geerbt-section-1 .content-wrapper>.title {
    font-size: 30px;
    display: inline-block;
    position: relative;
    color: #000;
    margin-bottom: 40px;
}

.immobilie-geerbt-section-1 .content-wrapper>.title::after {
    content: "";
    bottom: -10px;
    left: 0;
    right: 0;
    border-bottom: 2px solid #000;
    position: absolute;
}

.immobilie-geerbt-section-1 .content-wrapper .content {
    font-size: 16px;
    line-height: 1.8em;
    margin-bottom: 40px;
}

.immobilie-geerbt-section-1 .action .action-container {
    display: flex;
    justify-content: space-between;
}

@media screen and (max-width: 767px) {
    .immobilie-geerbt-section-1 .action .action-container {
        flex-wrap: wrap;
    }
}

.immobilie-geerbt-section-1 .action .action-container .btn-brand:visited,
.immobilie-geerbt-section-1 .action .action-container .btn-brand:active,
.immobilie-geerbt-section-1 .action .action-container .btn-brand:focus {
    color: #fff;
}

.immobilie-geerbt-section-1 .action .action-container>a {
    flex-grow: 1;
    margin: 10px;
    padding: 10px 15px;
}

@media screen and (max-width: 767px) {
    .immobilie-geerbt-section-1 .action .action-container>a {
        display: block;
        width: 100%;
        margin-bottom: 5px;
    }
}

.immobilie-geerbt-section-1 .action .action-container a.btn-brand-red {
    background: #A92727;
}

.immobilie-geerbt-section-1 .action .action-container a.btn-brand-red:hover {
    background: #DC3E3E;
}

.immobilie-geerbt-section-1 .action>a {
    display: block;
    margin: 10px;
    padding: 10px 15px;
}

.immobilie-geerbt-section-1-new {
    padding: 60px 0 80px;
}

.immobilie-geerbt-section-1-new .content-box {
    background: #f5f5f5;
    border: 1px solid #10345F;
    transform: scale(1);
    max-width: 850px;
    padding: 60px;
    margin: 0 auto 60px;
    color: #000;
    text-align: center;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    min-height: initial;
}

@media screen and (max-width: 991px) {
    .immobilie-geerbt-section-1-new .content-box {
        padding: 60px 15px;
    }
}

.immobilie-geerbt-section-1-new .content-box>.title {
    font-size: 30px;
    display: inline-block;
    position: relative;
    color: #000;
    margin-bottom: 40px;
}

@media screen and (max-width: 767px) {
    .immobilie-geerbt-section-1-new .content-box>.title {
        font-size: 20px;
    }
}

.immobilie-geerbt-section-1-new .content-box>.title::after {
    content: "";
    bottom: -10px;
    left: 0;
    right: 0;
    border-bottom: 2px solid #000;
    position: absolute;
}

.immobilie-geerbt-section-1-new .content-box .content {
    font-size: 16px;
    line-height: 1.8em;
    margin-bottom: 40px;
}

@media screen and (max-width: 767px) {
    .immobilie-geerbt-section-1-new .content-box .content {
        font-size: 14px;
    }
}

.immobilie-geerbt-section-1-new .action .action-container {
    align-items: center;
    justify-items: center;
}

.immobilie-geerbt-section-1-new .action .action-container>.btn-ghost {
    display: inline-block;
    width: 130px;
    height: 130px;
    margin: 0 5px;
    padding-top: 30px;
    font-size: 13px;
}

@media screen and (max-width: 991px) {
    .immobilie-geerbt-section-1-new .action .action-container>.btn-ghost {
        margin-bottom: 10px;
    }
}

@media screen and (max-width: 767px) {
    .immobilie-geerbt-section-1-new .action .action-container>.btn-ghost {
        width: 110px;
        height: 110px;
        padding: 20px 5px 5px;
    }
}

.immobilie-geerbt-section-1-new .action .action-container>.btn-ghost>.icon {
    display: block;
    margin: 0 auto;
    width: 40px;
    height: 40px;
    background: no-repeat center center;
    background-size: contain;
    margin-bottom: 5px;
}

.immobilie-geerbt-section-1-new .action .action-container>.btn-ghost>.icon.icon-1 {
    background-image: url("./images/immobilie-geerbt/icon-1.png");
}

.immobilie-geerbt-section-1-new .action .action-container>.btn-ghost>.icon.icon-2 {
    background-image: url("./images/immobilie-geerbt/icon-2.png");
}

.immobilie-geerbt-section-1-new .action .action-container>.btn-ghost>.icon.icon-3 {
    background-image: url("./images/immobilie-geerbt/icon-3.png");
}

.immobilie-geerbt-section-1-new .action .action-container>.btn-ghost>.icon.icon-4 {
    background-image: url("./images/immobilie-geerbt/icon-4.png");
}

.immobilie-geerbt-section-1-new .action .action-container>.btn-ghost>.icon.icon-5 {
    background-image: url("./images/immobilie-geerbt/icon-5.png");
}

.immobilie-geerbt-section-1-new .action .action-container>.btn-ghost:hover {
    background: #EAF1F1;
    color: #0f2e52;
}

.immobilie-geerbt-section-1-new .action .action-container>.btn-ghost.-red {
    border-color: #A92727;
}

.immobilie-geerbt-section-1-new .action .action-container>.btn-ghost.-red:hover {
    background: #F4EAEA;
    color: #0f2e52;
}

.immobilie-geerbt-section-1-new .action .action-container>.btn-ghost.-green {
    border-color: #099033;
}

.immobilie-geerbt-section-1-new .action .action-container>.btn-ghost.-green:hover {
    background: #F5FFF8;
    color: #0f2e52;
}

.immobilie-geerbt-section-1-new .action .action-container>.btn-ghost.-brand2 {
    border-color: #BF9A70;
}

.immobilie-geerbt-section-1-new .action .action-container>.btn-ghost.-brand2:hover {
    background: #F6F1EA;
    color: #0f2e52;
}

.pro-con-list {
    background: #F5F5F5;
    border: 4px solid #BF9A70;
    padding: 20px;
    list-style: none;
}

.pro-con-list .icon-light {
    position: relative;
    padding: 10px 0 10px 60px;
    color: #000;
    font-size: 15px;
}

.pro-con-list .icon-light::before {
    position: absolute;
    left: 0px;
    top: 10px;
    content: '';
    background: url("./images/share/icon-light.png") no-repeat center center;
    background-size: contain;
    width: 33px;
    height: 33px;
}

.pro-con-list.-red {
    border: 4px solid #A92727;
}

.pro-con-list.-red .icon-light::before {
    background-image: url("./images/share/icon-light-red.png");
}

.section-immobilie-geerbt-cta {
    background: #fff;
    margin-left: 0;
    margin-right: 0;
}

.section-immobilie-geerbt-cta>.content {
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 15px;
    font-weight: bold;
}

@media screen and (max-width: 1199px) {
    .section-immobilie-geerbt-cta>.content {
        font-size: 14px;
    }
}

.section-immobilie-geerbt-cta>.content .detail {
    padding: 10px;
}

.section-immobilie-geerbt-cta>.content strong {
    color: #BF9A70;
}

.section-immobilie-geerbt-cta>.content .action {
    margin-top: 20px;
}

@media screen and (max-width: 1199px) {
    .section-immobilie-geerbt-cta>.content .action .btn-brand {
        font-size: 13px;
    }
}

@media screen and (max-width: 767px) {
    .section-immobilie-geerbt-cta>.content .action .btn-brand {
        font-size: 13px;
    }
}

.section-immobilie-geerbt-cta>.image {
    min-height: 400px;
    margin-top: 0 !important;
    background: no-repeat right center;
    background-size: cover;
}

@media screen and (max-width: 1199px) {
    .section-immobilie-geerbt-cta>.image {
        min-height: 350px;
    }
}

@media screen and (max-width: 991px) {
    .section-immobilie-geerbt-cta>.image {
        min-height: 350px;
    }
}

@media screen and (max-width: 767px) {
    .section-immobilie-geerbt-cta>.image {
        min-height: 350px;
    }
}

.cta-contact-real-estate-section {
    background: #fff;
    padding: 100px 0 20px;
}

@media screen and (max-width: 767px) {
    .cta-contact-real-estate-section {
        padding-top: 50px;
    }
}

.cta-contact-real-estate-section .content>.title {
    font-size: 28px;
    letter-spacing: 0.14em;
    color: #112F51;
    margin-bottom: 20px;
}

@media screen and (max-width: 991px) {
    .cta-contact-real-estate-section .content>.title {
        font-size: 22px;
    }
}

.cta-contact-real-estate-section .content>.sub-title {
    font-size: 18px;
    color: #000;
    margin-bottom: 20px;
}

@media screen and (max-width: 991px) {
    .cta-contact-real-estate-section .content>.sub-title {
        font-size: 16px;
    }
}

.cta-contact-real-estate-section .contact-wrapper .wpcf7-form-control {
    border: 2px solid #112F51;
    padding: 7px 15px;
    width: 100%;
    margin-bottom: 15px;
}

.cta-contact-real-estate-section .contact-wrapper .wpcf7-form-control.wpcf7-acceptance {
    border: none;
    padding: 0;
}

.cta-contact-real-estate-section .contact-wrapper .wpcf7-submit {
    background: #112F51;
    color: #fff;
}

.cta-contact-real-estate-section .image {
    padding-left: 80px;
}

@media screen and (max-width: 991px) {
    .cta-contact-real-estate-section .image {
        padding-left: 15px;
    }
}

@media screen and (max-width: 767px) {
    .cta-contact-real-estate-section .image .person-info {
        text-align: center;
    }
}

.cta-contact-real-estate-section .image .person-info>img {
    margin-bottom: 20px;
}

.cta-contact-real-estate-section .image .person-info>.title {
    font-family: capitolium-2, sans-serif;
    color: #10345f;
    font-weight: bold;
    font-size: 26px;
    letter-spacing: 0.14em;
    position: relative;
    display: inline-block;
    margin-bottom: 15px;
}

@media screen and (max-width: 991px) {
    .cta-contact-real-estate-section .image .person-info>.title {
        font-size: 20px;
    }
}

.cta-contact-real-estate-section .image .person-info>.title::before {
    position: absolute;
    content: '';
    width: 100%;
    bottom: -5px;
    border-bottom: 2px solid #BF9A70;
}

.cta-contact-real-estate-section .image .person-info .sub-title {
    color: #10345f;
    font-size: 16px;
    display: block;
    margin-bottom: 0;
}

@media screen and (max-width: 991px) {
    .cta-contact-real-estate-section .image .person-info .sub-title {
        font-size: 14px;
    }
}

.cta-contact-real-estate-section .image .person-info p {
    font-size: 15px;
}

@media screen and (max-width: 991px) {
    .cta-contact-real-estate-section .image .person-info p {
        font-size: 13px;
    }
}

.cta-contact-real-estate-section .published {
    border-top: 2px solid #112F51;
    margin-top: 40px;
}

.cta-contact-real-estate-section .published .container {
    display: flex;
    align-items: center;
    margin-top: 20px;
    justify-content: center;
}

@media screen and (max-width: 991px) {
    .cta-contact-real-estate-section .published .container {
        justify-content: center;
        margin-bottom: 40px;
    }
}

@media screen and (max-width: 767px) {
    .cta-contact-real-estate-section .published .container {
        margin-bottom: 0;
    }
}

.cta-contact-real-estate-section .published .container>.item {
    margin: 0 20px;
}

@media screen and (max-width: 991px) {
    .cta-contact-real-estate-section .published .container>.item {
        margin-right: 0;
        margin: 0 15px;
    }
}

.main-hero-section-v3 {
    background: no-repeat center center;
    background-size: cover;
    position: relative;
}

@media screen and (max-width: 991px) {
    .main-hero-section-v3 {
        background-position: 68% center;
    }
}

@media screen and (max-width: 767px) {
    .main-hero-section-v3 {
        background-position: 80% center;
    }
}

.main-hero-section-v3>.main-bg {
    position: absolute;
    z-index: 0;
    left: 0;
    right: 0;
    bottom: 0;
    top: 0;
    display: flex;
}

.main-hero-section-v3>.main-bg::before {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    top: 0;
    background: #112F51;
    opacity: 0.76;
    content: '';
}

.main-hero-section-v3>.main-bg>div {
    flex-grow: 1;
    height: 100%;
    background: no-repeat center center;
    background-size: cover;
}

.main-hero-section-v3>.container {
    min-height: 75vh;
    position: relative;
}

@media screen and (max-width: 991px) {
    .main-hero-section-v3>.container {
        padding-top: 0;
        min-height: 440px;
    }
}

.main-hero-section-v3>.container>.content {
    color: #fff;
    position: absolute;
    bottom: 100px;
    top: 0;
    left: 0;
    right: 0;
    padding: 0 0 50px 0;
    text-align: center;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
}

@media screen and (max-width: 767px) {
    .main-hero-section-v3>.container>.content {
        bottom: 10px;
    }
}

.main-hero-section-v3>.container>.content>.title {
    font-size: 61px;
    display: inline-block;
    position: relative;
    letter-spacing: 0.05em;
    font-weight: bold;
    color: #fff;
    transition: all 0.3s ease;
}

@media screen and (max-width: 991px) {
    .main-hero-section-v3>.container>.content>.title {
        font-size: 42px;
    }
}

@media screen and (max-width: 767px) {
    .main-hero-section-v3>.container>.content>.title {
        font-size: 26px;
    }
}

.main-hero-section-v3>.container>.content>.sub-title {
    position: relative;
    font-size: 38px;
    padding-bottom: 10px;
}

@media screen and (max-width: 991px) {
    .main-hero-section-v3>.container>.content>.sub-title {
        font-size: 26px;
    }
}

@media screen and (max-width: 767px) {
    .main-hero-section-v3>.container>.content>.sub-title {
        font-size: 16px;
    }
}

.main-hero-section-v3>.container>.content>.sub-title::before {
    content: '';
    position: absolute;
    bottom: 0px;
    border-bottom: 1px solid #BF9A70;
    transition: all 0.3s ease;
    left: 50%;
    width: 580px;
    margin-left: -290px;
}

@media screen and (max-width: 991px) {
    .main-hero-section-v3>.container>.content>.sub-title::before {
        width: 400px;
        margin-left: -200px;
    }
}

@media screen and (max-width: 767px) {
    .main-hero-section-v3>.container>.content>.sub-title::before {
        width: 240px;
        margin-left: -120px;
    }
}

.main-hero-section-v3>.container>.content>.detail {
    padding-top: 20px;
    margin-bottom: 20px;
    font-size: 14px;
    line-height: 1.4em;
    color: #BF9A70;
    font-weight: bold;
    letter-spacing: 0.04em;
    line-height: 2.5em;
}

@media screen and (max-width: 991px) {
    .main-hero-section-v3>.container>.content>.detail {
        font-size: 13px;
    }
}

@media screen and (max-width: 767px) {
    .main-hero-section-v3>.container>.content>.detail {
        font-size: 12px;
        margin-bottom: 15px;
        color: #fff;
    }
}

.main-hero-section-v3>.container>.content>.detail a {
    color: #fff;
    text-decoration: underline;
}

.main-hero-section-v3>.container>.content>.detail a.action {
    color: #BF9A70;
}

.main-hero-section-v3 .main-action {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 130px;
    display: flex;
    z-index: 10;
}

@media screen and (max-width: 767px) {
    .main-hero-section-v3 .main-action {
        bottom: 60px;
    }
}

.main-hero-section-v3 .main-action>div {
    flex-grow: 1;
    text-align: center;
}

.main-hero-section-v3 .main-action>div a {
    color: #8297B0;
    font-size: 20px;
    text-decoration: underline;
    font-weight: 300;
}

@media screen and (max-width: 991px) {
    .main-hero-section-v3 .main-action>div a {
        font-size: 16px;
    }
}

@media screen and (max-width: 767px) {
    .main-hero-section-v3 .main-action>div a {
        font-size: 12px;
    }
}

.main-hero-section-v3 .published {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    border-top: 2px solid #3A5069;
}

.main-hero-section-v3 .published::before {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    top: -100px;
    background: #112f51;
    background: linear-gradient(0deg, #112f51 0%, rgba(17, 47, 81, 0) 100%);
    content: '';
    z-index: 1;
}

@media screen and (max-width: 767px) {
    .main-hero-section-v3 .published {
        border-top: none;
        overflow-x: auto;
    }
}

.main-hero-section-v3 .published>.container {
    position: relative;
    z-index: 2;
    display: flex;
    justify-content: space-around;
    align-items: center;
    height: 110px;
}

@media screen and (max-width: 767px) {
    .main-hero-section-v3 .published>.container {
        height: 50px;
        min-width: 600px;
    }
}

.main-hero-section-v3 .published>.container>.item {
    margin: 0 20px;
}

.hero-swiper-section {
    background: #10345f;
}

.main-hero-section-v2-fix-hight {
    height: 75vh;
}

@media screen and (max-width: 991px) {
    .main-hero-section-v2-fix-hight {
        height: 440px;
    }
}

@media screen and (max-width: 991px) {
    .main-hero-section-v2-fix-hight>.container>.content {
        bottom: 175px;
    }
}

@media screen and (max-width: 767px) {
    .main-hero-section-v2-fix-hight>.container>.content {
        text-align: center;
    }
}

.erbschaftsteuerrechner-section-3 {
    background: #10345f;
    padding: 40px 0 60px;
}

.erbschaftsteuerrechner-section-3 .container {
    display: flex;
    align-items: center;
    flex-direction: column;
}

@media screen and (max-width: 767px) {
    .erbschaftsteuerrechner-section-3 .container {
        flex-direction: column;
    }
}

.erbschaftsteuerrechner-section-3 .container>.title {
    flex-grow: 1;
    color: #BF9A70;
    font-size: 24px;
    margin-bottom: 10px;
}

@media screen and (max-width: 991px) {
    .erbschaftsteuerrechner-section-3 .container>.title {
        font-size: 20px;
    }
}

@media screen and (max-width: 767px) {
    .erbschaftsteuerrechner-section-3 .container>.title {
        font-size: 18px;
        margin-bottom: 10px;
        text-align: center;
    }
}

.erbschaftsteuerrechner-section-3 .container>.action {
    min-width: 390px;
    width: 100%;
    display: flex;
    justify-content: space-around;
}

@media screen and (max-width: 767px) {
    .erbschaftsteuerrechner-section-3 .container>.action {
        width: 100%;
        text-align: center;
        flex-grow: 1;
        min-width: initial;
        flex-direction: column;
        align-items: center;
    }
}

.erbschaftsteuerrechner-section-3 .container>.action>a {
    width: 100%;
    max-width: 260px;
    font-size: 14px;
}

@media screen and (max-width: 767px) {
    .erbschaftsteuerrechner-section-3 .container>.action>a {
        font-size: 12px;
    }

    .erbschaftsteuerrechner-section-3 .container>.action>a:last-child {
        margin-bottom: 0;
    }
}

.erbschaftsteuerrechner-section-3 .container>.action>.btn-ghost {
    white-space: nowrap;
    margin-left: 15px;
    border-color: #BF9A70;
    color: #fff;
}

@media screen and (max-width: 767px) {
    .erbschaftsteuerrechner-section-3 .container>.action>.btn-ghost {
        display: inline-block;
        margin-bottom: 10px;
    }
}

.erbschaftsteuerrechner-section-3 .container>.action>.btn-brand {
    white-space: nowrap;
    margin-left: 15px;
}

@media screen and (max-width: 767px) {
    .erbschaftsteuerrechner-section-3 .container>.action>.btn-brand {
        display: inline-block;
        margin-bottom: 10px;
    }
}

.erbschaftsteuerrechner-section-4 {
    background: #10233E;
    padding: 20px 0;
}

.rechner-content-section {
    padding: 80px 0;
}

.rechner-content-section .container {
    max-width: 720px;
    font-size: 16px;
}

.rechner-content-section .container .content {
    margin-bottom: 30px;
}

.rechner-content-section .container .title {
    color: #000;
    font-family: capitolium-2, sans-serif;
    font-weight: bold;
    font-size: 35px;
    margin-bottom: 30px;
}

.rechner-content-section .container .cta-berechnen-section {
    background: #fafafa;
    padding: 40px;
    margin-bottom: 60px;
}

.rechner-content-section .container .cta-berechnen-section>.title {
    font-family: "Open Sans", sans-serif;
    font-size: 16px;
    font-weight: normal;
    text-align: center;
}

.rechner-content-section .container .cta-berechnen-section .content-item {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 30px;
}

@media screen and (max-width: 767px) {
    .rechner-content-section .container .cta-berechnen-section .content-item {
        flex-wrap: wrap;
        justify-content: center;
    }
}

.rechner-content-section .container .cta-berechnen-section .content-item .item {
    width: 125px;
    height: 125px;
    min-width: 125px;
    min-height: 125px;
    max-width: 125px;
    max-height: 125px;
    border: 3px solid #BF9A70;
    display: flex;
    position: relative;
    border-radius: 50%;
    justify-content: center;
    align-items: flex-end;
    margin: 0 15px;
}

@media screen and (max-width: 767px) {
    .rechner-content-section .container .cta-berechnen-section .content-item .item {
        margin-bottom: 20px;
    }
}

.rechner-content-section .container .cta-berechnen-section .content-item .image {
    position: absolute;
    background: no-repeat center center;
    background-size: contain;
    left: 20px;
    right: 20px;
    top: 20px;
    bottom: 20px;
    margin-top: -20px;
}

.rechner-content-section .container .cta-berechnen-section .content-item .label {
    text-align: center;
    font-size: 10px;
    margin-bottom: 15px;
}

.rechner-content-section .container .cta-berechnen-section .action {
    text-align: center;
    margin-bottom: -55px;
}

.rechner-content-section .container .cta-berechnen-section .action>.btn-brand {
    display: inline-block;
    min-width: 260px;
    font-weight: bold;
    padding: 8px 20px;
}

@media screen and (max-width: 767px) {
    .rechner-content-section .container .cta-berechnen-section .action>.btn-brand {
        min-width: initial;
        width: 100%;
    }
}

.cta-contact-section {
    position: relative;
    padding: 40px;
    display: flex;
    margin-left: -100px;
    margin-right: -100px;
}

@media screen and (max-width: 991px) {
    .cta-contact-section {
        margin: 0;
    }
}

@media screen and (max-width: 767px) {
    .cta-contact-section {
        display: block;
        padding: 20px;
    }
}

.cta-contact-section::before {
    content: "";
    left: 0;
    right: 10%;
    top: 0;
    bottom: 0;
    background: #fafafa;
    position: absolute;
    z-index: 0;
}

@media screen and (max-width: 767px) {
    .cta-contact-section::before {
        right: 0;
    }
}

.cta-contact-section .col-content {
    position: relative;
    z-index: 1;
    flex: 1;
    padding: 20px;
    display: flex;
    align-items: flex-start;
    flex-direction: column;
    justify-content: center;
    padding-right: 20px;
}

@media screen and (max-width: 767px) {
    .cta-contact-section .col-content {
        margin-bottom: 40px;
    }
}

.cta-contact-section .col-content .title {
    font-weight: normal;
}

@media screen and (max-width: 991px) {
    .cta-contact-section .col-content .title {
        font-size: 32px;
    }
}

@media screen and (max-width: 767px) {
    .cta-contact-section .col-content .title {
        font-size: 28px;
    }
}

.cta-contact-section .col-content .detail {
    color: #000;
    font-size: 16px;
    margin-bottom: 40px;
}

@media screen and (max-width: 991px) {
    .cta-contact-section .col-content .detail {
        margin-bottom: 20px;
    }
}

.cta-contact-section .col-content .action>.btn-brand {
    font-weight: bold;
    padding: 20px 30px;
    display: block;
    width: 280px;
    text-align: center;
}

@media screen and (max-width: 991px) {
    .cta-contact-section .col-content .action>.btn-brand {
        padding: 10px 15px;
        width: 230px;
    }
}

.cta-contact-section .col-image {
    position: relative;
    z-index: 1;
    flex: 1;
    text-align: right;
    display: flex;
    justify-content: center;
    align-items: flex-end;
    flex-direction: column;
}

@media screen and (max-width: 767px) {
    .cta-contact-section .col-image {
        text-align: center;
        align-items: center;
    }
}

.cta-contact-section .col-image img {
    max-width: 350px;
    margin-bottom: 15px;
}

@media screen and (max-width: 991px) {
    .cta-contact-section .col-image img {
        max-width: 250px;
    }
}

@media screen and (max-width: 767px) {
    .cta-contact-section .col-image img {
        max-width: 100%;
        width: 350px;
    }
}

.cta-contact-section .col-image .caption {
    font-size: 13px;
    line-height: 1.6em;
}

@media screen and (max-width: 991px) {
    .cta-contact-section .col-image .caption {
        font-size: 11px;
    }
}

.falkensee-hero-section {
    position: relative;
    background: #F0F3F5 url("./images/falkensee/hero-bg.jpg") no-repeat center center;
    background-size: cover;
}

.falkensee-hero-section::before {
    content: '';
    display: block;
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    z-index: 0;
}

.falkensee-hero-section .falkensee-hero-container {
    padding-bottom: 1px;
}

.falkensee-hero-section .content-box {
    background: #fff;
    box-shadow: 20px 20px 46px rgba(32, 73, 125, 0.35);
    margin: 0 auto;
    max-width: 900px;
    padding: 0 20px;
    position: relative;
    z-index: 10;
    transform: scale(0.8);
    margin-top: 30px;
    margin-bottom: 80px;
    min-height: 600px;
}

@media screen and (max-width: 991px) {
    .falkensee-hero-section .content-box {
        max-width: 100%;
        transform: scale(1);
        margin-top: 40px;
        margin-bottom: 110px;
    }
}

@media screen and (max-width: 767px) {
    .falkensee-hero-section .content-box {
        margin-top: 20px;
    }
}

.falkensee-hero-section .client-section {
    position: relative;
    z-index: 10;
}

.falkensee-hero-section .client-section>.container>.title {
    color: #20497D;
    font-weight: bold;
}

@media screen and (max-width: 991px) {
    .falkensee-hero-section .client-section>.container>.content>.item {
        margin: 10px;
    }
}

.falkensee-hero-section .client-section>.container>.content>.item>img {
    max-height: 40px;
}

.falkensee-hero-section .published {
    background: #10233E;
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 10;
}

@media screen and (max-width: 767px) {
    .falkensee-hero-section .published {
        border-top: none;
        overflow-x: auto;
    }
}

.falkensee-hero-section .published>.container {
    display: flex;
    justify-content: space-around;
    align-items: center;
    height: 80px;
}

@media screen and (max-width: 767px) {
    .falkensee-hero-section .published>.container {
        height: 50px;
        min-width: 600px;
    }
}

.falkensee-hero-section .published>.container>.item {
    margin: 0 20px;
}

.falkensee-hero-section .falkensee-hero-container>.title {
    text-align: center;
    font-size: 28px;
    color: #20497D;
    text-transform: uppercase;
    font-weight: bold;
    height: 0px;
    overflow: hidden;
    text-indent: -9999px;
}

.falkensee-detail-section {
    padding-top: 50px;
    margin-bottom: 60px;
}

.falkensee-detail-section .container {
    background: #F3F3F3;
    display: flex;
}

@media screen and (max-width: 767px) {
    .falkensee-detail-section .container {
        flex-wrap: wrap;
    }
}

.falkensee-detail-section .container .col-content {
    width: 50%;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    min-height: 500px;
}

@media screen and (max-width: 767px) {
    .falkensee-detail-section .container .col-content {
        width: 100%;
    }
}

.falkensee-detail-section .container .col-content .content {
    padding: 20px;
    max-width: 480px;
    margin: 0 auto;
    color: #000;
    line-height: 1.4em;
    font-size: 16px;
}

.falkensee-detail-section .container .col-content .content>.title {
    font-family: capitolium-2, sans-serif;
    font-size: 35px;
    margin-bottom: 20px;
}

@media screen and (max-width: 767px) {
    .falkensee-detail-section .container .col-content .content>.title {
        font-size: 28px;
    }
}

.falkensee-detail-section .container .col-image {
    position: relative;
    width: 50%;
}

@media screen and (max-width: 767px) {
    .falkensee-detail-section .container .col-image {
        width: 100%;
        min-height: 300px;
    }
}

.falkensee-detail-section .container .col-image .image {
    position: absolute;
    left: 0;
    right: -15px;
    top: 0;
    bottom: 0;
    background: no-repeat center center;
    background-size: cover;
}

@media screen and (max-width: 767px) {
    .falkensee-detail-section .container .col-image .image {
        right: 0;
    }
}

.falkensee-feedback-section {
    margin-bottom: 150px;
}

@media screen and (max-width: 767px) {
    .falkensee-feedback-section {
        margin-bottom: 100px;
    }
}

.falkensee-feedback-section .title-brand {
    font-size: 35px;
    font-weight: bold;
    font-family: capitolium-2, sans-serif;
    display: inline-block;
    position: relative;
    padding-bottom: 20px;
    margin-bottom: 30px;
    letter-spacing: 0.04em;
    color: #000;
}

.falkensee-feedback-section .title-brand::before {
    content: "";
    position: absolute;
    left: 0;
    width: 190px;
    bottom: 0;
    border-bottom: 1px solid #BF9A70;
}

.falkensee-feedback-section .falkensee-swiper-section {
    margin-left: -30px;
}

@media screen and (max-width: 767px) {
    .falkensee-feedback-section .falkensee-swiper-section {
        margin-left: -15px;
    }
}

.falkensee-feedback-section .falkensee-swiper-section::before {
    position: absolute;
    top: 0;
    bottom: 0;
    right: 0;
    content: "";
    background: white;
    background: linear-gradient(90deg, rgba(255, 255, 255, 0) 0%, white 98%);
    width: 200px;
    z-index: 10;
    pointer-events: none;
}

@media screen and (max-width: 767px) {
    .falkensee-feedback-section .falkensee-swiper-section::before {
        display: none;
    }
}

.falkensee-feedback-section .falkensee-swiper-section .swiper-wrapper {
    padding: 15px;
}

.falkensee-feedback-section .feedback-item {
    padding: 35px;
    margin: 15px;
    background: #fff;
    box-shadow: 0px 4px 30px rgba(0, 0, 0, 0.15);
    border-radius: 10px;
    transition: all 0.3s ease;
    min-height: 350px;
}

.falkensee-feedback-section .feedback-item .title {
    font-size: 18px;
    font-weight: bold;
    margin-bottom: 15px;
    color: #000;
}

.falkensee-feedback-section .feedback-item .content {
    line-height: 1.4em;
}

.falkensee-feedback-section .feedback-item .action {
    text-decoration: underline;
}

.falkensee-feedback-section .feedback-item .action a {
    color: #000;
}

.falkensee-feedback-section .feedback-item .action a:hover {
    color: #20497D;
}

.falkensee-feedback-section .feedback-item .action a:visited {
    color: #000;
}

.falkensee-feedback-section .feedback-item .detail {
    color: #BF9A70;
}

.falkensee-feedback-section .swiper-slide-prev .feedback-item {
    box-shadow: none;
}

.falkensee-feature-section {
    display: flex;
    flex-wrap: wrap;
}

.falkensee-feature-section .card-title,
.falkensee-feature-section .card-feature {
    width: 33.33%;
    height: 415px;
}

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

    .falkensee-feature-section .card-title,
    .falkensee-feature-section .card-feature {
        height: 300px;
    }
}

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

    .falkensee-feature-section .card-title,
    .falkensee-feature-section .card-feature {
        width: 50%;
        height: 260px;
    }
}

.falkensee-feature-section .card-title {
    display: flex;
    justify-content: center;
    align-items: center;
    margin-bottom: 0;
    background: #FAFAFA;
}

.falkensee-feature-section .card-title>.content {
    max-width: 300px;
}

@media screen and (max-width: 991px) {
    .falkensee-feature-section .card-title>.content {
        padding: 20px;
    }
}

@media screen and (max-width: 767px) {
    .falkensee-feature-section .card-title>.content {
        padding: 10px;
    }
}

.falkensee-feature-section .card-title>.content .title {
    font-weight: bold;
    color: #000;
    font-family: capitolium-2, sans-serif;
    margin-bottom: 40px;
    font-size: 35px;
}

@media screen and (max-width: 991px) {
    .falkensee-feature-section .card-title>.content .title {
        font-size: 26px;
        margin-bottom: 20px;
    }
}

@media screen and (max-width: 767px) {
    .falkensee-feature-section .card-title>.content .title {
        margin-bottom: 5px;
    }
}

.falkensee-feature-section .card-title>.content .detail {
    line-height: 1.4em;
    font-size: 16px;
}

@media screen and (max-width: 991px) {
    .falkensee-feature-section .card-title>.content .detail {
        font-size: 13px;
    }
}

@media screen and (max-width: 767px) {
    .falkensee-feature-section .card-title>.content .detail {
        font-size: 12px;
    }
}

.falkensee-feature-section .card-feature {
    display: flex;
    padding: 30px;
    align-items: flex-end;
    position: relative;
}

@media screen and (max-width: 991px) {
    .falkensee-feature-section .card-feature {
        padding: 15px;
    }
}

@media screen and (max-width: 767px) {
    .falkensee-feature-section .card-feature {
        padding: 10px;
    }
}

.falkensee-feature-section .card-feature .title {
    font-family: "Open Sans", sans-serif;
    font-weight: 100;
    text-transform: uppercase;
    color: #fff;
    position: relative;
    display: inline-block;
    position: relative;
    z-index: 11;
    font-size: 26px;
    padding-bottom: 5px;
}

@media screen and (max-width: 991px) {
    .falkensee-feature-section .card-feature .title {
        font-size: 18px;
    }
}

@media screen and (max-width: 767px) {
    .falkensee-feature-section .card-feature .title {
        font-size: 11px;
    }
}

.falkensee-feature-section .card-feature .title.-sm {
    font-size: 20px;
}

@media screen and (max-width: 991px) {
    .falkensee-feature-section .card-feature .title.-sm {
        font-size: 18px;
    }
}

@media screen and (max-width: 767px) {
    .falkensee-feature-section .card-feature .title.-sm {
        font-size: 11px;
    }
}

.falkensee-feature-section .card-feature .title::before {
    position: absolute;
    border-bottom: 1px solid #fff;
    left: 0;
    right: 0;
    bottom: 0;
    content: "";
}

.falkensee-feature-section .card-feature .image {
    position: absolute;
    top: 0;
    bottom: 0;
    right: 0;
    left: 0;
    background: no-repeat center center;
    background-size: cover;
}

.falkensee-feature-section .card-feature::before {
    position: absolute;
    top: 0;
    bottom: 0;
    right: 0;
    left: 0;
    content: "";
    background: black;
    background: linear-gradient(180deg, rgba(0, 0, 0, 0) 20%, rgba(0, 0, 0, 0.6) 98%);
    z-index: 10;
    pointer-events: none;
}

.falkensee-about-section {
    margin-top: 120px;
}

@media screen and (max-width: 767px) {
    .falkensee-about-section {
        margin-top: 80px;
    }
}

.falkensee-about-section .container .falkensee-about-container {
    display: flex;
    align-items: center;
    width: 100%;
}

@media screen and (max-width: 767px) {
    .falkensee-about-section .container .falkensee-about-container {
        flex-wrap: wrap;
    }
}

.falkensee-about-section .container .falkensee-about-container>.content-col {
    width: 60%;
    flex-grow: 1;
}

@media screen and (max-width: 991px) {
    .falkensee-about-section .container .falkensee-about-container>.content-col {
        padding-right: 20px;
    }
}

@media screen and (max-width: 767px) {
    .falkensee-about-section .container .falkensee-about-container>.content-col {
        width: 100%;
        margin-bottom: 50px;
    }
}

.falkensee-about-section .container .falkensee-about-container>.content-col>.title {
    font-size: 40px;
    margin-bottom: 15px;
    padding-bottom: 15px;
    color: #000;
    font-family: capitolium-2, sans-serif;
    max-width: 500px;
    position: relative;
}

@media screen and (max-width: 991px) {
    .falkensee-about-section .container .falkensee-about-container>.content-col>.title {
        font-size: 35px;
    }
}

@media screen and (max-width: 991px) {
    .falkensee-about-section .container .falkensee-about-container>.content-col>.title {
        font-size: 28px;
    }
}

.falkensee-about-section .container .falkensee-about-container>.content-col>.title::before {
    position: absolute;
    bottom: 0;
    content: "";
    display: block;
    width: 190px;
    height: 1px;
    background: #BF9A70;
    left: 0;
}

.falkensee-about-section .container .falkensee-about-container>.content-col>.sub-title {
    position: relative;
    font-size: 16px;
    font-weight: bold;
    color: #20497D;
    margin-bottom: 20px;
    color: #000;
}

.falkensee-about-section .container .falkensee-about-container>.content-col>.detail {
    color: #20497D;
    color: #000;
    font-size: 16px;
    line-height: 1.4em;
}

.falkensee-about-section .container .falkensee-about-container>.content-col .action {
    margin-top: 30px;
}

.falkensee-about-section .container .falkensee-about-container>.content-col .action .contact-btn {
    min-width: 230px;
    display: inline-block;
    text-align: center;
}

.falkensee-about-section .container .falkensee-about-container>.image-col {
    width: 40%;
}

@media screen and (max-width: 767px) {
    .falkensee-about-section .container .falkensee-about-container>.image-col {
        width: 100%;
    }
}

.falkensee-about-section .falkensee-about-content {
    margin-bottom: 60px;
    margin-top: 150px;
    margin-bottom: 100px;
    position: relative;
    z-index: 10;
}

@media screen and (max-width: 767px) {
    .falkensee-about-section .falkensee-about-content {
        margin-top: 30px;
        margin-bottom: 60px;
    }
}

.falkensee-about-section .falkensee-about-content .content {
    border-left: 1px solid #BF9A70;
    padding-left: 20px;
}

@media screen and (max-width: 767px) {
    .falkensee-about-section .falkensee-about-content .content {
        margin-bottom: 20px;
    }
}

.falkensee-about-section .falkensee-about-content .content>.title {
    color: #000;
    font-weight: 700;
    margin-bottom: 15px;
    font-size: 25px;
}

@media screen and (max-width: 991px) {
    .falkensee-about-section .falkensee-about-content .content>.title {
        font-size: 22px;
    }
}

@media screen and (max-width: 767px) {
    .falkensee-about-section .falkensee-about-content .content>.title {
        font-size: 18px;
    }
}

.falkensee-about-section .falkensee-about-content .content>p {
    font-size: 16px;
    line-height: 1.4em;
}

@media screen and (max-width: 991px) {
    .falkensee-about-section .falkensee-about-content .content>p {
        font-size: 14px;
    }
}

.falkensee-area-section {
    padding: 80px 0;
    position: relative;
    background: #FAFAFA;
}

@media screen and (max-width: 767px) {
    .falkensee-area-section {
        padding: 40px 0;
        padding-bottom: 80px;
    }
}

.falkensee-area-section .falkensee-area-container {
    position: relative;
    z-index: 2;
}

.falkensee-area-section .falkensee-area-container .content-col {
    display: flex;
    align-items: center;
}

.falkensee-area-section .falkensee-area-container .image-col {
    display: flex;
    align-items: center;
    justify-content: center;
}

.falkensee-area-section .falkensee-area-container .image-col>img {
    width: 516px;
    z-index: 0;
}

@media screen and (max-width: 991px) {
    .falkensee-area-section .falkensee-area-container .image-col>img {
        width: 300px;
    }
}

.falkensee-area-section .falkensee-area-container .content-box {
    margin: 0 auto;
    text-align: left;
}

@media screen and (max-width: 767px) {
    .falkensee-area-section .falkensee-area-container .content-box {
        margin-bottom: 40px;
    }
}

.falkensee-area-section .falkensee-area-container .content-box>.title {
    font-family: capitolium-2, sans-serif;
    letter-spacing: 0.04em;
    font-size: 40px;
    margin-bottom: 10px;
    padding-bottom: 0;
    font-weight: bold;
    color: #000;
}

@media screen and (max-width: 991px) {
    .falkensee-area-section .falkensee-area-container .content-box>.title {
        font-size: 22px;
    }
}

.falkensee-area-section .falkensee-area-container .content-box>.title::before {
    display: none;
}

.falkensee-area-section .falkensee-area-container .content-box>.sub-title {
    position: relative;
    font-size: 24px;
    font-weight: lighter;
    line-height: 1.4em;
    padding-bottom: 20px;
    color: #000;
    margin-bottom: 20px;
}

@media screen and (max-width: 991px) {
    .falkensee-area-section .falkensee-area-container .content-box>.sub-title {
        font-size: 20px;
        padding-bottom: 0;
    }
}

.falkensee-area-section .falkensee-area-container .content-box .content {
    font-size: 16px;
    line-height: 1.4em;
}

@media screen and (max-width: 991px) {
    .falkensee-area-section .falkensee-area-container .content-box .content {
        font-size: 13px;
        line-height: 1.4em;
    }
}

.falkensee-area-section .falkensee-area-container .content-box .action {
    margin-top: 30px;
}

/* Animations */
.hover-scale-95:hover {
    scale: 0.98;
    transition-property: all;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 150ms;
    transition-timing-function: linear;
}

.hover-scale-98:hover {
    scale: 0.98;
    transition-property: all;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 150ms;
    transition-timing-function: linear;
}

.btn-brand:hover,
.btn-more:hover {
    scale: 0.98;
    transition-property: all;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 150ms;
    transition-timing-function: linear;
}

/* ============================================================================
   reCAPTCHA Banner entfernen
   ============================================================================ */

/* reCAPTCHA Badge komplett verstecken */
.grecaptcha-badge {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
}

/* reCAPTCHA Iframe verstecken */
iframe[title="reCAPTCHA"],
iframe[src*="recaptcha"] {
    display: none !important;
    visibility: hidden !important;
}

/* reCAPTCHA Container verstecken */
div[class*="grecaptcha"],
div[id*="grecaptcha"] {
    display: none !important;
    visibility: hidden !important;
}

/* reCAPTCHA Bottom-Right Badge (häufigste Position) */
div[style*="position: fixed"][style*="bottom"][style*="right"] {
    display: none !important;
}

/* Zusätzliche reCAPTCHA Selektoren */
.g-recaptcha,
.recaptcha-container,
#recaptcha-container {
    display: none !important;
    visibility: hidden !important;
}

/* Spezifische reCAPTCHA rc-anchor Klassen (basierend auf tatsächlichem HTML) */
.rc-anchor,
.rc-anchor-invisible,
.rc-anchor-light,
.rc-anchor-invisible-hover,
.rc-anchor-normal,
.rc-anchor-compact {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
}

/* reCAPTCHA Statusmeldungen und Inhalte */
#recaptcha-accessible-status,
.rc-anchor-aria-status,
.rc-anchor-error-msg-container,
.rc-anchor-error-msg,
.rc-anchor-normal-footer,
.rc-anchor-invisible-text {
    display: none !important;
    visibility: hidden !important;
}

/* reCAPTCHA Logo und Branding */
.rc-anchor-logo-large,
.rc-anchor-logo-img,
.rc-anchor-logo-img-large,
.rc-anchor-pt {
    display: none !important;
    visibility: hidden !important;
}

/* Alle Divs mit rc- Klassen (umfassende Lösung) */
div[class*="rc-anchor"],
div[class*="rc-"],
div[id*="recaptcha"] {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
}

/* ====================================================================
   Search Results Page - Post Type Filter Tabs
   ==================================================================== */

/* Search Results Section */
.search-results-section {
    padding-top: 40px;
    padding-bottom: 60px;
}

/* Search Form Container */
.search-form-container {
    margin-bottom: 40px;
    padding: 30px;
    background: #f8f9fa;
    border-radius: 8px;
}

.search-form-title {
    font-size: 20px;
    font-weight: 600;
    color: #10345f;
    margin-bottom: 16px;
}

.search-form-container form {
    display: flex;
    gap: 12px;
    align-items: center;
}

.search-form-container input[type="search"] {
    flex: 1;
    padding: 12px 16px;
    border: 2px solid #e5e5e5;
    border-radius: 6px;
    font-size: 15px;
}

.search-form-container input[type="search"]:focus {
    outline: none;
    border-color: #10345f;
}

.search-form-container input[type="submit"] {
    padding: 12px 24px;
    background: #10345f;
    color: #ffffff;
    border: none;
    border-radius: 6px;
    font-weight: 600;
    cursor: pointer;
    transition: background 0.3s ease;
}

.search-form-container input[type="submit"]:hover {
    background: #20497D;
}

@media screen and (max-width: 767px) {
    .search-form-container {
        padding: 20px;
        margin-bottom: 30px;
    }

    .search-form-title {
        font-size: 18px;
        margin-bottom: 20px;
    }

    .search-form-container form {
        flex-direction: column;
        gap: 16px;
    }

    .search-form-container input[type="search"] {
        width: 100%;
        padding: 14px 16px;
        font-size: 16px;
    }

    .search-form-container input[type="submit"] {
        width: 100%;
        padding: 14px 24px;
    }
}

/* Search Filter Tabs Navigation */
.search-filter-tabs {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-bottom: 40px;
    padding-bottom: 20px;
    border-bottom: 2px solid #e5e5e5;
}

.search-tab {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 12px 20px;
    background: #ffffff;
    border: 2px solid #e5e5e5;
    border-radius: 8px;
    color: #333333;
    text-decoration: none;
    font-weight: 500;
    font-size: 15px;
    transition: all 0.3s ease;
    cursor: pointer;
}

.search-tab:hover {
    background: #f8f9fa;
    border-color: #10345f;
    color: #10345f;
    text-decoration: none;
    transform: translateY(-2px);
    box-shadow: 0 4px 8px rgba(16, 52, 95, 0.1);
}

.search-tab.active {
    background: #10345f;
    border-color: #10345f;
    color: #ffffff;
    font-weight: 600;
}

.search-tab.active:hover {
    background: #20497D;
    border-color: #20497D;
    transform: translateY(0);
}

.search-tab .tab-label {
    font-size: 15px;
    line-height: 1.2;
}

.search-tab .tab-count {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 24px;
    height: 24px;
    padding: 0 8px;
    background: #e5e5e5;
    color: #333333;
    border-radius: 12px;
    font-size: 13px;
    font-weight: 600;
    line-height: 1;
}

.search-tab:hover .tab-count {
    background: #10345f;
    color: #ffffff;
}

.search-tab.active .tab-count {
    background: rgba(255, 255, 255, 0.25);
    color: #ffffff;
}

.search-tab.active:hover .tab-count {
    background: rgba(255, 255, 255, 0.35);
}

/* Search Results Counter */
.search-results-count {
    margin-top: 12px;
    font-size: 16px;
    color: #666666;
}

.search-results-count strong {
    color: #bf9a70;
    font-weight: 600;
}

/* ====================================================================
   Search Results - Glossary Entry Layout (Compact List)
   ==================================================================== */

.search-result-glossary {
    margin-bottom: 30px;
    padding-bottom: 30px;
    border-bottom: 1px solid #e5e5e5;
}

.search-result-glossary:last-child {
    border-bottom: none;
}

.glossary-entry .entry-title {
    font-size: 22px;
    font-weight: 600;
    margin-bottom: 12px;
    line-height: 1.4;
}

.glossary-entry .entry-title a {
    color: #10345f;
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    gap: 8px;
}

.glossary-entry .entry-title a:hover {
    color: #bf9a70;
}

.glossary-entry .glossary-icon {
    font-size: 20px;
    opacity: 0.75;
}

.glossary-entry .entry-excerpt {
    font-size: 15px;
    line-height: 1.6;
    color: #555555;
    margin-bottom: 10px;
}

.glossary-entry .entry-type {
    display: inline-block;
    padding: 4px 12px;
    background: #edf7ff;
    color: #10345f;
    font-size: 13px;
    font-weight: 500;
    border-radius: 4px;
}

/* ====================================================================
   Search Results - Page Layout (Minimalistic)
   ==================================================================== */

.search-result-page {
    margin-bottom: 30px;
}

.page-entry {
    background: #ffffff;
    padding: 24px;
    border: 1px solid #e5e5e5;
    border-radius: 8px;
    height: 100%;
    transition: all 0.3s ease;
}

.page-entry:hover {
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
    border-color: #10345f;
    transform: translateY(-2px);
}

.page-entry .entry-title {
    font-size: 20px;
    font-weight: 600;
    margin-bottom: 12px;
    line-height: 1.4;
}

.page-entry .entry-title a {
    color: #10345f;
    text-decoration: none;
}

.page-entry .entry-title a:hover {
    color: #bf9a70;
}

.page-entry .entry-excerpt {
    font-size: 15px;
    line-height: 1.6;
    color: #555555;
    margin-bottom: 12px;
}

.page-entry .entry-type {
    display: inline-block;
    padding: 4px 12px;
    background: #f8f9fa;
    color: #666666;
    font-size: 13px;
    font-weight: 500;
    border-radius: 4px;
}

/* ====================================================================
   Search Results - Post Layout (Grid with Featured Image)
   ==================================================================== */

.search-result-post {
    margin-bottom: 30px;
}

.search-result-post .post-entry {
    background: #ffffff;
    border-radius: 8px;
    overflow: hidden;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
    transition: all 0.3s ease;
    height: 100%;
    display: flex;
    flex-direction: column;
}

.search-result-post .post-entry:hover {
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.12);
    transform: translateY(-4px);
}

.search-result-post .post-entry .image {
    display: block;
    width: 100%;
    height: 200px;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}

.search-result-post .post-entry .title {
    font-size: 18px;
    font-weight: 600;
    line-height: 1.4;
    margin: 16px 16px 8px;
}

.search-result-post .post-entry .title a {
    color: #10345f;
    text-decoration: none;
}

.search-result-post .post-entry .title a:hover {
    color: #bf9a70;
}

.search-result-post .post-entry .entry-excerpt {
    font-size: 14px;
    line-height: 1.6;
    color: #555555;
    padding: 0 16px;
    margin-bottom: 12px;
    flex-grow: 1;
}

.search-result-post .post-entry .entry-meta {
    padding: 0 16px 16px;
    font-size: 13px;
    color: #999999;
}

.search-result-post .post-entry .entry-meta time {
    color: #666666;
}

/* ====================================================================
   Mobile Responsiveness
   ==================================================================== */

@media screen and (max-width: 767px) {
    .search-filter-tabs {
        gap: 8px;
        margin-bottom: 30px;
    }

    .search-tab {
        padding: 10px 16px;
        font-size: 14px;
    }

    .search-tab .tab-label {
        font-size: 14px;
    }

    .search-tab .tab-count {
        min-width: 22px;
        height: 22px;
        font-size: 12px;
        padding: 0 6px;
    }

    .glossary-entry .entry-title {
        font-size: 20px;
    }

    .page-entry .entry-title {
        font-size: 18px;
    }

    .search-result-post .post-entry .title {
        font-size: 17px;
    }

    .search-result-post .post-entry .image {
        height: 180px;
    }
}

/* No Results Message */
.no-results {
    text-align: center;
    padding: 60px 20px;
}

.no-results .page-header {
    margin-bottom: 30px;
}

.no-results .page-title {
    font-size: 24px;
    color: #333333;
    margin-bottom: 16px;
}

.no-results .page-content {
    font-size: 16px;
    color: #666666;
    line-height: 1.6;
}

/* ==========================================================================
   Strategie-Report 2026 Newsletter CTA
   Shortcode: [ef-strategie-report-cta]
   @since 2.18.0
   ========================================================================== */

.ef-strategie-report-cta {
    background: linear-gradient(135deg, #10345f 0%, #20497D 50%, #10345f 100%);
    border-radius: 16px;
    position: relative;
    overflow: hidden;
    padding: 48px 24px;
    color: #fff;
    margin: 48px 0;
}

/* Reset: Globale Content-Styles überschreiben
   .ef-blogpost-main-content h2 setzt padding: 0 48px — muss auf 0 */
.ef-strategie-report-cta *,
.ef-strategie-report-cta *::before,
.ef-strategie-report-cta *::after {
    color: inherit;
}

.ef-strategie-report-cta h2,
.ef-strategie-report-cta h3,
.ef-strategie-report-cta p,
.ef-strategie-report-cta ul,
.ef-strategie-report-cta li,
.ef-strategie-report-cta label,
.ef-strategie-report-cta a {
    color: inherit;
}

.ef-strategie-report-cta h2,
.ef-strategie-report-cta h3,
.ef-strategie-report-cta h4,
.ef-strategie-report-cta p,
.ef-strategie-report-cta ul {
    padding: 0 !important;
    margin-top: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    text-align: left !important;
    font-family: inherit !important;
}

/* Reset: Bootstrap .col-* padding innerhalb der CTA entfernen */
.ef-strategie-report-cta .ef-sr-form-col,
.ef-strategie-report-cta .ef-sr-content-col {
    padding-left: 0 !important;
    padding-right: 0 !important;
}

/* Dekorative Kreise */
.ef-sr-circle {
    position: absolute;
    top: -60px;
    right: -60px;
    width: 220px;
    height: 220px;
    border-radius: 50%;
    background: rgba(191, 154, 112, 0.06);
    border: 2px solid rgba(191, 154, 112, 0.12);
    pointer-events: none;
}

.ef-sr-circle-2 {
    top: auto;
    right: auto;
    bottom: -40px;
    left: -40px;
    width: 160px;
    height: 160px;
    background: rgba(191, 154, 112, 0.04);
    border-color: rgba(191, 154, 112, 0.08);
}

/* Badge */
.ef-sr-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: rgba(191, 154, 112, 0.12);
    border: 1px solid rgba(191, 154, 112, 0.35);
    border-radius: 24px;
    padding: 7px 18px;
    font-size: 0.8rem;
    font-weight: 700;
    color: #bf9a70;
    text-transform: uppercase;
    letter-spacing: 1.5px;
    margin-bottom: 10px;
}

.ef-sr-badge i {
    font-size: 0.75rem;
}

/* Titel */
.ef-sr-title {
    font-size: 1.6rem;
    font-weight: 800;
    line-height: 1.2;
    color: #fff;
    margin: 0 0 6px 0;
}

.ef-sr-title-accent {
    color: #bf9a70;
    position: relative;
}

.ef-sr-subtitle {
    color: rgba(255, 255, 255, 0.7);
    font-size: 0.9rem;
    line-height: 1.5;
    margin: 0 0 14px 0;
}

/* Formular */
.ef-sr-form {
    position: relative;
}

.ef-sr-field {
    margin-bottom: 14px;
}

.ef-sr-form input[type="text"],
.ef-sr-form input[type="email"] {
    width: 100%;
    background: rgba(255, 255, 255, 0.08);
    border: 1px solid rgba(255, 255, 255, 0.25);
    border-radius: 10px;
    padding: 14px 18px;
    color: #fff;
    font-size: 0.95rem;
    font-family: inherit;
    transition: border-color 0.25s ease, box-shadow 0.25s ease, background 0.25s ease;
    box-sizing: border-box;
}

.ef-sr-form input[type="text"]:focus,
.ef-sr-form input[type="email"]:focus {
    outline: none;
    border-color: #bf9a70;
    background: rgba(255, 255, 255, 0.12);
    box-shadow: 0 0 0 3px rgba(191, 154, 112, 0.25);
}

.ef-sr-form input[type="text"]::placeholder,
.ef-sr-form input[type="email"]::placeholder {
    color: rgba(255, 255, 255, 0.5);
}

/* DSGVO Checkbox */
.ef-sr-checkbox {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    margin-bottom: 20px;
    font-size: 0.8rem;
    line-height: 1.5;
    color: rgba(255, 255, 255, 0.6);
}

.ef-sr-checkbox input[type="checkbox"] {
    margin-top: 3px;
    flex-shrink: 0;
    accent-color: #bf9a70;
}

.ef-sr-checkbox label {
    cursor: pointer;
}

.ef-sr-checkbox a {
    color: #bf9a70;
    text-decoration: underline;
    text-underline-offset: 2px;
}

.ef-sr-checkbox a:hover {
    color: #d4b088;
}

/* Honeypot */
.ef-sr-hp {
    position: absolute;
    left: -9999px;
    opacity: 0;
    height: 0;
    overflow: hidden;
}

/* Submit-Button */
.ef-sr-submit {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    background: #bf9a70;
    color: #fff;
    border: none;
    border-radius: 10px;
    padding: 15px 24px;
    font-size: 1rem;
    font-weight: 700;
    font-family: inherit;
    cursor: pointer;
    transition: background 0.3s ease, transform 0.2s ease, box-shadow 0.3s ease;
    position: relative;
    overflow: hidden;
}

.ef-sr-submit:hover {
    background: #d4b088;
    transform: translateY(-2px);
    box-shadow: 0 8px 24px rgba(191, 154, 112, 0.35);
}

.ef-sr-submit:active {
    transform: translateY(0);
}

.ef-sr-submit:disabled {
    opacity: 0.6;
    cursor: not-allowed;
    transform: none;
    box-shadow: none;
}

.ef-sr-submit-text {
    display: inline-flex;
    align-items: center;
    gap: 8px;
}

.ef-sr-submit-loading {
    display: none;
    align-items: center;
    gap: 8px;
}

/* Feedback */
.ef-sr-feedback {
    display: none;
    margin-top: 14px;
    padding: 14px 16px;
    border-radius: 10px;
    font-size: 0.9rem;
    line-height: 1.5;
}

.ef-sr-feedback.success {
    background: rgba(46, 204, 113, 0.12);
    border: 1px solid rgba(46, 204, 113, 0.35);
    color: #2ecc71;
}

.ef-sr-feedback.error {
    background: rgba(231, 76, 60, 0.12);
    border: 1px solid rgba(231, 76, 60, 0.35);
    color: #e74c3c;
}

/* Benefits-Liste — Overrides gegen .ef-blogpost-main-content ul li */
.ef-strategie-report-cta .ef-sr-benefits,
.ef-blogpost-main-content .ef-sr-benefits {
    list-style: none;
    padding: 0;
    margin: 0 0 20px 0;
    text-align: left;
}

.ef-strategie-report-cta .ef-sr-benefits li,
.ef-blogpost-main-content .ef-sr-benefits li {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    padding: 5px 0;
    font-size: 0.88rem;
    color: rgba(255, 255, 255, 0.85);
    line-height: 1.45;
    background-color: transparent;
    background: none;
    border-radius: 0;
    margin-bottom: 0;
    border: none;
    box-shadow: none;
}

.ef-sr-check {
    color: #bf9a70;
    font-size: 0.9rem;
    flex-shrink: 0;
    margin-top: 2px;
}

/* Felder nebeneinander (Desktop) */
.ef-sr-fields-row {
    display: flex;
    gap: 12px;
}

.ef-sr-fields-row .ef-sr-field {
    flex: 1;
    margin-bottom: 12px;
}

/* Rechte Spalte: Booklet-Bild */
.ef-sr-content-col {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 20px;
}

.ef-sr-booklet {
    perspective: 800px;
}

.ef-sr-booklet-img {
    max-width: 280px;
    width: 100%;
    height: auto;
    border-radius: 6px;
    transition: transform 0.4s ease;
}

.ef-sr-booklet:hover .ef-sr-booklet-img {
    transform: rotateY(-5deg) scale(1.03);
}

/* Responsive: Tablet */
@media (min-width: 768px) {
    .ef-strategie-report-cta {
        padding: 48px 36px;
    }

    .ef-sr-title {
        font-size: 1.7rem;
    }
}

/* Responsive: Desktop */
@media (min-width: 992px) {
    .ef-strategie-report-cta {
        padding: 52px 48px;
    }

    .ef-sr-title {
        font-size: 1.85rem;
    }

    .ef-strategie-report-cta .ef-sr-form-col {
        padding-right: 36px !important;
    }

    .ef-strategie-report-cta .ef-sr-content-col {
        padding-left: 36px !important;
        border-left: 1px solid rgba(255, 255, 255, 0.08);
    }

    .ef-sr-booklet-img {
        max-width: 300px;
    }
}

/* Mobile */
@media (max-width: 991px) {
    .ef-strategie-report-cta .row {
        flex-direction: column-reverse;
    }

    .ef-sr-content-col {
        margin-bottom: 28px;
    }

    .ef-sr-booklet-img {
        max-width: 180px;
    }

    .ef-sr-fields-row {
        flex-direction: column;
        gap: 0;
    }
}
