/*******************************************************************************
********************************************************************************
*************************  Styles by Dockschiff Digital  ***********************
********************************************************************************
*******************************************************************************/

/*******************************************************************************
***** General Styles
*******************************************************************************/

body { font-family: 'Work Sans'; color:#1D1D1B; font-size:17px; font-weight: 400; background: #FFFFFF; height:auto; font-style: normal; }
html { scroll-behavior: smooth; }
p { line-height: 200%; }

.bg-green { background: #425748; color: #F5F1EA; }
.bg-green-dark { background: #324136; color: #F5F1EA; }
.bg-beige { background-color: #F5F1EA; }
.bg-white { background-color: #ffffff; }
.bg-light-green { background: rgba(66, 87, 72, 0.30); }

.h1, .h2, .h3, .h4, .h5, .h6, h1, h2, h3, h4, h5, h6 { font-family: "Work Sans"; font-weight:500; letter-spacing:0; line-height: 125%; font-style: normal; color: #425748; }

/* Links und Buttons */
a { color:#425748; }
a:hover, button:hover { opacity:0.7; color:#425748; -moz-transition:all 0.3s ease-out; -webkit-transition:all 0.3s ease-out; -o-transition:all 0.3s ease-out; -ms-transition:all 0.3s ease-out; transition:all 0.3s ease-out; cursor:pointer; }
a:focus, a:hover { color:#425748;; cursor:pointer; }
a.btn-default, button.btn-default { font-size:17px; font-weight:500; display:inline-block; text-align:center; font-style:normal; line-height:normal; border-radius:5px; padding:10px 30px; border:1px solid #425748; background:transparent; color:#425748; }
a.btn-default:hover, button.btn-default:hover { opacity: 1; }
a.btn-arrow::after, button.btn-arrow::after { content:""; -webkit-mask-image:url("../images/arrow-up-right-solid-full.svg"); mask-image:url("../images/arrow-up-right-solid-full.svg"); background-color:currentColor; display:inline-block; width:1.2em; height:1.2em; margin-left:0.35rem; vertical-align:-0.32em; transition:transform 0.2s ease; }
a.btn-arrow:hover::after, button.btn-arrow:hover::after { animation:bounce-arrow 0.45s ease forwards; }
@keyframes bounce-arrow { 0% { transform:translateY(0); } 40% { transform:translateY(-6px); } 60% { transform:translateY(0); } 80% { transform:translateY(-3px); } 100% { transform:translateY(0); } }
a.btn-yellow, button.btn-yellow { color:#F5F1EA; border-color:#CD9811; background:#CD9811; }
a.btn-wa, button.btn-wa { color:#ffffff; border-color:#25d366; background:#25d366; display: flex; align-items: center; justify-content: center; }
a.btn-wa:hover, button.btn-wa:hover { opacity: 0.8; font-size: 17px; }
a.btn-wa i, button.btn-wa i { font-size: 1.45rem; margin-right: 7px;}
a.btn-transparent, button.btn-transparent { color:#F5F1EA; border-color:#F5F1EA; background:transparent; }
a.btn-bold, button.btn-bold { font-weight: 700; }

/* Menus */
#main-nav a { color: #F5F1EA; font-weight: 600; padding: 0 30px 0 0 ; line-height: 1;  }
#main-nav .active>a { color: #CD9811; }

/* Header */
#header { padding-top: 30px; padding-bottom: 30px; border-bottom: 1px solid rgba(245, 241, 234, 0.10); }

/*404*/
#not-found { padding: 100px 0 120px; }
#not-found .not-found-icon { font-size: 65px; line-height: 1; color: #d49a0b; margin-bottom: 20px; }
#not-found .not-found-code { font-size: 100px; font-weight: 700; line-height: 1; color: #405649; margin-bottom: 20px; }
#not-found .not-found-subline { font-size: 22px; color: #405649; margin-bottom: 25px; }
#not-found h1 { font-size: 42px; line-height: 1.2; color: #405649; margin-bottom: 30px; }
#not-found .not-found-text { font-size: 19px; line-height: 1.7; max-width: 650px; margin: 0 auto 40px; }
#not-found .not-found-actions { display: flex; justify-content: center; align-items: center; flex-wrap: wrap; gap: 25px; }
#not-found .not-found-home { display: inline-flex; align-items: center; gap: 10px; color: #405649; font-weight: 600; text-decoration: none; }
#not-found .not-found-home:hover { color: #d49a0b; }

/* Page */
#page-default { padding-top: 100px; padding-bottom: 100px; }

/* Header Startseite */
#header-startseite { padding: 0px ; overflow: hidden; }
#header-startseite .hero-grid { position: relative; }
#header-startseite .hero-left { position: relative; }
#header-startseite .hero-image { width: calc(100% + 40px); margin-left: -10px; height: 520px; background-size: cover; background-position: center; position: relative; overflow: hidden; }
#header-startseite .hero-image:after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(66,87,72,1) 0%, rgba(66,87,72,0.6) 25%, rgba(66,87,72,0) 50%, rgba(66,87,72,0.6) 75%, rgba(66,87,72,1) 100%); }
#header-startseite .hero-eyebrow { font-size: 22px; line-height: 1.3; opacity: 0.85; margin-bottom: 18px; color: #fff; }
#header-startseite .hero-headline { font-size: 45px; line-height: 65px; margin: 0 0 48px 0; color: #fff; }
.hero-cta { margin-top: 40px; }
.logo { max-height: 50px; }
.page-template-template-start .logo { max-height: 88px; }

/* Auszeichnungen */
#auszeichnungen { padding-top: 30px; padding-bottom: 30px; }
.auszeichnungen-headline { color: #425748; margin-right: 4rem; }
#auszeichnungen .auszeichnungen-splide.is-static { visibility: visible; }
#auszeichnungen .auszeichnungen-splide.is-static .splide__track { overflow: visible; }
#auszeichnungen .auszeichnungen-splide.is-static .splide__list { display: flex; width: 100%; align-items: center; justify-content: space-between; gap: 0; transform: none !important; }
#auszeichnungen .auszeichnungen-splide.is-static .splide__slide { flex: 1 1 0; display: flex; align-items: center; justify-content: center; width: auto !important; }
#auszeichnungen .auszeichnung-logo { height: 38px; width: auto; max-width: 100%; object-fit: contain; display: block; padding: 2px; }
#auszeichnungen .auszeichnung-link { display: inline-flex; align-items: center; justify-content: center; width: 100%; }
@media print, screen and (max-width: 39.9375em) { #auszeichnungen .auszeichnung-logo { height: 32px; } }
#auszeichnungen .auszeichnungen-splide.is-measuring .splide__list { justify-content: flex-start; gap: 24px; }
#auszeichnungen .auszeichnungen-splide.is-measuring .splide__slide { flex: 0 0 auto; }

/* Video-Statement */
#video-statement { position: relative; overflow: hidden; padding: 140px 0; color: #fff; }
#video-statement .bg-video-element { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; z-index: 0; }
#video-statement .bg-video-overlay { position: absolute; inset: 0; background: #425748; z-index: 1; }
#video-statement .grid-container { position: relative; z-index: 2; }
#video-statement .video-statement-text { color: #F5F1EA; font-size: 25px; font-style: normal; font-weight: 600; line-height: 1.5; margin-bottom: 30px; }
#video-statement .video-statement-signature img { max-width: 220px; height: auto; }

/* Google Trust */
#google-trust { padding-top: 80px; padding-bottom: 80px; }

/* Teaser Pages */
#teaser-pages:hover { opacity: 1; }
#teaser-pages { padding-bottom: 100px; padding-top: 100px; }
.teaser-pages-logo { margin-bottom: 20px; }
.teaser-pages-logo img { width: 60px; }
.teaser-pages-subline { margin-bottom: 40px; }
#teaser-pages h2 { font-size: 45px; margin-bottom: 40px; }
.teaser-pages-intro { margin-bottom: 80px; }
.teaser-pages-item { padding: 40px; border-radius: 5px; background: rgba(66, 87, 72, 0.30); }
.teaser-pages-content h3 { font-size: 25px; margin: 35px 0; }
.teaser-pages-image { overflow: hidden; border-radius: 3px; }
.teaser-pages-image img { transition: transform .9s cubic-bezier(.19,1,.22,1), filter .6s ease; }
.teaser-pages-item:hover .teaser-pages-image img { transform: scale(1.06); filter: brightness(1.05); }

/* Teaser Service */
#teaser-service { padding: 110px 0 120px; }
.teaser-service-logo { margin-bottom: 24px; text-align: center; }
.teaser-service-logo img { width: 72px; }
.teaser-service-subline { margin-bottom: 34px; font-size: 17px; line-height: 1.4; color: #425748; text-align: center; }
#teaser-service h2 { max-width: 980px; margin: 0 auto 46px; font-size: 45px; line-height: 1.15; text-align: center; color: #425748; }
.teaser-service-intro { max-width: 1280px; margin: 0 auto 90px; text-align: center; font-size: 22px; line-height: 1.9; color: #1D1D1B; }
.teaser-service-text { display: inline; font-size: 17px; }
.teaser-service-link { display: inline; }
.teaser-service-link a { font-weight: 700; text-decoration: none; color: #425748; }
.teaser-service-link a:hover { opacity: 1; color: #425748; }
.teaser-service-link-icon { margin-left: 8px; display: inline-block; font-size: 1em; line-height: 1; }
.teaser-service-items { flex-wrap: nowrap; margin: 0 -10px; }
.teaser-service-items > .cell { padding-left: 10px; padding-right: 10px; }
.teaser-service-item { text-align: center; }
.teaser-service-item-icon { width: 128px; height: 128px; margin: 0 auto 28px; border-radius: 50%; display: flex; align-items: center; justify-content: center; background: #F5F1EA; }
.teaser-service-item-icon img { max-width: 56px; max-height: 56px; width: auto; height: auto; }
.teaser-service-item h3 { margin: 0; font-size: 17px; line-height: 1.45; font-weight: 700; color: #425748; }
@media print, screen and (max-width: 74.9375em) { #teaser-service { padding: 90px 0 100px; } #teaser-service h2 { max-width: 900px; font-size: 54px; } .teaser-service-intro { max-width: 1100px; font-size: 20px; margin-bottom: 75px; } .teaser-service-item-icon { width: 116px; height: 116px; } .teaser-service-item h3 { font-size: 20px; } .teaser-service-items { flex-wrap: wrap; row-gap: 35px; } }
@media print, screen and (max-width: 63.9375em) { #teaser-service { padding: 80px 0 90px; } .teaser-service-subline { font-size: 20px; margin-bottom: 28px; } #teaser-service h2 { max-width: 760px; margin-bottom: 34px; font-size: 44px; line-height: 1.2; } .teaser-service-intro { max-width: 900px; margin-bottom: 65px; font-size: 19px; line-height: 1.8; } .teaser-service-items { flex-wrap: wrap; justify-content: center; } .teaser-service-item { max-width: 240px; margin: 0 auto; } }
@media print, screen and (max-width: 39.9375em) { #teaser-service { padding: 65px 0 70px; } .teaser-service-logo { margin-bottom: 18px; } .teaser-service-logo img { width: 60px; } .teaser-service-subline { margin-bottom: 22px; font-size: 18px; } #teaser-service h2 { max-width: 100%; margin-bottom: 28px; font-size: 34px; line-height: 1.2; } .teaser-service-intro { max-width: 100%; margin-bottom: 45px; font-size: 17px; line-height: 1.75; } .teaser-service-item-icon { width: 104px; height: 104px; margin-bottom: 20px; } .teaser-service-item-icon img { max-width: 48px; max-height: 48px; } .teaser-service-item h3 { font-size: 18px; line-height: 1.4; } .teaser-service-items { margin: 0; } .teaser-service-items > .cell { padding-left: 0; padding-right: 0; } }

/* Teaser Verkauf */
#teaser-verkauf { padding-top: 100px; padding-bottom: 100px; }
.teaser-verkauf-button { margin-top: 40px; }
.teaser-verkauf-headline { margin-top: 20px; }
.teaser-verkauf-text { margin-top: 125px; }

/* Seiten Top */
#ce-seiten-top { padding-bottom: 100px; padding-top: 100px; }
.ce-seiten-top-subline, .ce-seiten-video-subline, .ce-video-top-subline, .ce-kontakt-subline, .ce-faq-subline { color: #425748; margin-bottom: 20px; }
#ce-seiten-top h1 { color: #425748; font-size: 45px; font-style: normal; font-weight: 500; line-height: 55px; /* 122.222% */; margin-bottom: 40px; }
.ce-seiten-top-button { margin-top: 40px; }
.ce-seiten-top-image img { border-radius: 5px; }

/* Video und Video Top */
#ce-seiten-video, #ce-video-top { padding-top: 100px; padding-bottom: 100px; }
#ce-seiten-video h2, #teaser-about h2, .ce-video-top-content h1, .ce-kontakt-left h1, #ce-faq h1 { color: #425748; font-size: 45px; font-style: normal; font-weight: 500; line-height: 55px; /* 122.222% */ margin-bottom: 20px; }
.ce-seiten-video-embed, .ce-video-top-video { border-radius: 5px; overflow: hidden; }
.ce-seiten-video-embed iframe, .ce-video-top-video iframe { border-radius: 5px; display: block; }
.ce-video-top-button { margin-top: 40px; }

/* Teaser Über Uns */
#teaser-about { padding: 100px 0; }
.teaser-about-logo { margin-bottom: 25px; }
.teaser-about-logo img { width: 60px; }
.teaser-about-subline { margin-bottom: 30px; }
.teaser-about-text { margin-bottom: 45px; margin-top: 60px; }
.teaser-about-text p:last-child { margin-bottom: 0; }
.teaser-about-image-wrap { text-align: right; }


/* Steps */
.ce-steps { padding: 100px 0; background: rgba(66, 87, 72, 0.30); position: relative; }
.ce-steps-logo { margin-bottom: 20px; }
.ce-steps-logo img { width: 60px; }
.ce-steps-subline { margin-bottom: 25px; color: #4a6352; }
.ce-steps h2 { font-size: 45px; line-height: 1.2; margin-bottom: 45px; color: #4a6352; }
.ce-steps-intro { max-width: 900px; margin: 0 auto 55px; }
.ce-steps-intro p:last-child { margin-bottom: 0; }
.ce-steps-nav-wrap { position: relative; max-width: 820px; margin: 0 auto 55px; }
.ce-steps-line { position: absolute; left: 0; right: 0; top: 50%; height: 2px; background: rgba(74, 99, 82, 0.25); transform: translateY(-50%); }
.ce-steps-nav { display: flex; justify-content: space-between; align-items: center; position: relative; z-index: 2; }
.ce-steps-nav-item { width: 78px; height: 78px; min-width: 78px; border-radius: 50%; border: 0; background: #f2efe8; display: flex; align-items: center; justify-content: center; cursor: pointer; transition: all 0.3s ease; padding: 0; }
.ce-steps-nav-icon { width: 34px; height: 34px; display: flex; align-items: center; justify-content: center; }
.ce-steps-nav-item:hover { opacity: 1; }
.ce-steps-nav-icon svg { width: 34px; height: 34px; display: block; }
.ce-steps-nav-item svg path,
.ce-steps-nav-item svg rect,
.ce-steps-nav-item svg circle,
.ce-steps-nav-item svg line,
.ce-steps-nav-item svg polyline,
.ce-steps-nav-item svg polygon { transition: fill 0.3s ease, stroke 0.3s ease; }
.ce-steps-nav-item svg path,
.ce-steps-nav-item svg rect,
.ce-steps-nav-item svg circle,
.ce-steps-nav-item svg line,
.ce-steps-nav-item svg polyline,
.ce-steps-nav-item svg polygon { fill: #4a6352; stroke: #4a6352; }
.ce-steps-nav-item.is-active,
.ce-steps-nav-item.is-done,
.ce-steps-nav-item.is-hover-preview { background: #4a6352; }
.ce-steps-nav-item.is-active svg path,
.ce-steps-nav-item.is-active svg rect,
.ce-steps-nav-item.is-active svg circle,
.ce-steps-nav-item.is-active svg line,
.ce-steps-nav-item.is-active svg polyline,
.ce-steps-nav-item.is-active svg polygon,
.ce-steps-nav-item.is-done svg path,
.ce-steps-nav-item.is-done svg rect,
.ce-steps-nav-item.is-done svg circle,
.ce-steps-nav-item.is-done svg line,
.ce-steps-nav-item.is-done svg polyline,
.ce-steps-nav-item.is-done svg polygon,
.ce-steps-nav-item.is-hover-preview svg path,
.ce-steps-nav-item.is-hover-preview svg rect,
.ce-steps-nav-item.is-hover-preview svg circle,
.ce-steps-nav-item.is-hover-preview svg line,
.ce-steps-nav-item.is-hover-preview svg polyline,
.ce-steps-nav-item.is-hover-preview svg polygon { fill: #f2efe8; stroke: #f2efe8; }
.ce-steps-slide-content { max-width: 760px; margin: 0 auto; }
.ce-steps-slide-content h3 { margin-bottom: 25px; color: #4a6352; font-size: 17px; font-weight: 700; margin-top: 20px; }
.ce-steps-text { margin-bottom: 35px; color: #1D1D1B; }
.ce-steps-text p:last-child { margin-bottom: 0; }
.ce-steps-button { margin-top: 60px; }
.ce-steps-splide .splide__track { overflow: hidden; }


/* Werte */
.ce-werte { padding-top: 100px; padding-bottom: 100px; display: block; }
.ce-werte-logo { margin-bottom: 20px; text-align: center; }
.ce-werte-logo img { width: 60px; }
.ce-werte-subline { margin-bottom: 25px; text-align: center; color: #425748; }
.ce-werte h2 { margin: 20px 0 40px 0; font-size: 45px; line-height: 1.1; text-align: center; }
.ce-werte-intro { max-width: 860px; margin: 0 auto 40px; text-align: center; }
.ce-werte-intro p:last-child { margin-bottom: 0; }
.ce-werte-items { margin-top: 40px; }
.ce-werte-item { height: 100%; padding: 45px 35px; background: #fff; border-radius: 5px; text-align: center; }
.ce-werte-item-icon { margin-bottom: 30px; display: flex; justify-content: center; }
.ce-werte-item-icon-inner { width: 82px; height: 82px; border-radius: 50%; background: rgba(212, 161, 23, 0.10); display: flex; align-items: center; justify-content: center; }
.ce-werte-item-icon-inner svg { width: 38px; height: 38px; display: block; }
.ce-werte-item-icon-inner svg path,
.ce-werte-item-icon-inner svg rect,
.ce-werte-item-icon-inner svg circle,
.ce-werte-item-icon-inner svg line,
.ce-werte-item-icon-inner svg polyline,
.ce-werte-item-icon-inner svg polygon { fill: #d4a117; stroke: #d4a117; }
.ce-werte-item h3 { margin-bottom: 25px; font-size: 24px; }
.ce-werte-item-text p:last-child { margin-bottom: 0; }

.ce-werte-splide { margin-top: 40px; padding-bottom: 55px; }
.ce-werte-splide .splide__track { overflow: hidden; }
.ce-werte-splide .splide__slide { height: auto; }
.ce-werte-splide .ce-werte-item { height: 100%; }
.ce-werte-splide .splide__pagination { bottom: 0; }
.ce-werte-splide .splide__pagination__page { width: 10px; height: 10px; margin: 0 6px; background: rgba(70, 95, 77, 0.25); opacity: 1; transform: none; }
.ce-werte-splide .splide__pagination__page.is-active { background: #465f4d; transform: none; }

@media screen and (max-width: 1023px) {
    #ce-werte { padding: 80px 0; }
    #ce-werte h2 { font-size: 48px; }
    .ce-werte-intro { margin-bottom: 50px; }
    .ce-werte-items { margin-top: 30px; }
    .ce-werte-item { padding: 35px 25px; }
    .ce-werte-splide { margin-top: 30px; padding-bottom: 50px; }
}

@media screen and (max-width: 639px) {
    #ce-werte { padding: 70px 0; }
    #ce-werte h2 { font-size: 38px; }
    .ce-werte-intro { margin-bottom: 40px; }
    .ce-werte-items { margin-top: 25px; }
    .ce-werte-splide { margin-top: 25px; padding-bottom: 45px; }
}

/* Erfahrungen */
.erfahrungen-section { padding: 100px 0 170px 0; }
.erfahrungen-head { text-align: center; padding-bottom: 80px; }
.erfahrungen-logo { margin-bottom: 20px; text-align: center; }
img.erfahrungen-logo { width: 60px; }
.erfahrungen-head h2 { font-size: 45px; line-height: 55px; /* 122.222% */ margin-bottom: 40px; }
.erfahrungen-kicker { color: #425748; font-size: 17px; font-weight: 400; line-height: 18px; /* 105.882% */ margin-bottom: 20px; }
h3.erfahrungen-objekt { font-size: 17px; font-weight: 600; margin-bottom: 20px; }
.erfahrungen-name { font-weight: 600; }
.erfahrungen-bild { width: 100%; height: 520px; object-fit: cover; object-position: center; border-radius: 8px; display: block; }
.erfahrungen-slider .splide__arrows { opacity: 0; transition: opacity .3s ease; }
.erfahrungen-slider:hover .splide__arrows { opacity: 1; }
.erfahrungen-slider .splide__arrow { background: rgba(0,0,0,0.6); color: #fff; width: 44px; height: 44px; }
.erfahrungen-slider .splide__arrow svg { fill: #fff; }

.erfahrungen-slider .splide__pagination { margin-top: 20px; bottom: -3.5em; }
.erfahrungen-slider .splide__pagination__page { width: 12px; height: 12px; background: #ccc; opacity: 1; }
.erfahrungen-slider .splide__pagination__page.is-active { background: #2f4f4f; transform: scale(1.3); }

@media screen and (max-width: 640px) { .erfahrungen-bild { height: 260px; } }

/* Footer */
.footer { margin-top: 0px; }
.footer-right-panel { padding-top: 50px; padding-bottom: 100px; }
.footer-intro { font-size: 22px; font-weight: 500; line-height: 1; }
.footer-socials { padding-top: 30px; text-align: right; font-size: 20px; }
h2.footer-headline { font-size: 45px; margin: 20px 0 15px 0; color: #F5F1EA; }
.footer-text { margin-bottom: 50px; }
#footer-top a { color: #F5F1EA; }
.footer-left-panel { height: 100%; }
.footer-left-inner { padding-top: 110px; padding-left: 35px; }
.footer-claim { text-transform: uppercase; font-weight: 600; margin-bottom: 10px; }
.footer-region { font-weight: 600; margin-bottom: 40px; }
ul#footer-left a { padding-left: 0px; }
.footer-contact-icon i { margin-right: 10px; }
.footer-contact-row a { font-weight: 600; }
#footer-bottom { font-size: 13px; font-weight: 400; padding-top: 20px; padding-bottom: 20px; }
#footer-bottom li a { padding-bottom: 0px;  }
#footer-links .active>a { color: #425748; text-decoration: underline; font-weight: normal; }
.footer-whatsapp-wrap .btn-wa { padding: 8px 30px; width: fit-content; }

/* Kontakt */
#ce-kontakt { padding-top: 100px; padding-bottom: 100px; position: relative; overflow: hidden; }
#ce-kontakt:before { content: ''; position: absolute; right: 60px; top: 110px; width: 950px; height: 560px; background: url('../images/icon-haus-outline.svg') no-repeat center; background-size: contain; opacity: 0.08; pointer-events: none; }
.ce-kontakt-left,
.ce-kontakt-right { position: relative; z-index: 2; }
.ce-kontakt-logo { margin-bottom: 20px; }
.ce-kontakt-logo img { width: 60px; }
.ce-kontakt-subline { margin-bottom: 25px; }
.ce-kontakt-image img { width: 100%; display: block; border-radius: 5px; margin-top: 60px; }
.ce-kontakt-text-top { margin-bottom: 45px; }
.ce-kontakt-text-top p:last-child { margin-bottom: 0; }
.ce-kontakt-infos { margin-bottom: 45px; }
.ce-kontakt-info-item { display: flex; align-items: center; gap: 20px; margin-bottom: 22px; }
.ce-kontakt-info-item:last-child { margin-bottom: 0; }
.ce-kontakt-info-icon { width: 28px; min-width: 28px; font-size: 26px; line-height: 1; text-align: center; }
.ce-kontakt-info-text { font-size: 18px; }
.ce-kontakt-info-item-whatsapp { align-items: center; }
.ce-kontakt-info-item-whatsapp .button { margin-bottom: 0; }
.ce-kontakt-text-bottom p:last-child { margin-bottom: 0; }

@media screen and (max-width: 1023px) {
    #ce-kontakt { padding-top: 80px; padding-bottom: 80px; }
    #ce-kontakt:before { right: -80px; top: 130px; width: 760px; height: 460px; }
    #ce-kontakt h1 { font-size: 48px; margin-bottom: 40px; }
    .ce-kontakt-text-top { margin-bottom: 35px; }
    .ce-kontakt-infos { margin-bottom: 35px; }
    .ce-kontakt-info-text { font-size: 17px; }
}

@media screen and (max-width: 639px) {
    #ce-kontakt { padding-top: 70px; padding-bottom: 70px; }
    #ce-kontakt:before { display: none; }
    #ce-kontakt h1 { font-size: 38px; margin-bottom: 35px; }
    .ce-kontakt-left { margin-bottom: 40px; }
    .ce-kontakt-text-top { margin-bottom: 30px; }
    .ce-kontakt-infos { margin-bottom: 30px; }
    .ce-kontakt-info-item { gap: 15px; margin-bottom: 18px; align-items: flex-start; }
    .ce-kontakt-info-icon { width: 24px; min-width: 24px; font-size: 22px; margin-top: 2px; }
    .ce-kontakt-info-text { font-size: 16px; }
}

/* FAQ */
#ce-faq { padding-top: 100px; padding-bottom: 100px; position: relative; overflow: hidden; }
#ce-faq:before { content: ''; position: absolute; left: 50%; top: 120px; transform: translateX(-50%); width: 980px; height: 540px; background: url('../images/icon-haus-outline.svg') no-repeat center; background-size: contain; opacity: 0.08; pointer-events: none; }
.ce-faq-head { position: relative; z-index: 2; margin-bottom: 60px; }
.ce-faq-logo { margin-bottom: 20px; }
.ce-faq-logo img { width: 60px; }
.ce-faq-subline { margin-bottom: 25px; }
.ce-faq-intro { margin-top: 80px; margin-left: auto; }
.ce-faq-intro p:last-child { margin-bottom: 0; }
.ce-faq-accordion { position: relative; z-index: 2; margin: 0; background: transparent; }
.ce-faq-item { margin-bottom: 0; border: 0; border-bottom: 1px solid rgba(70, 95, 77, 0.18); background: transparent; }
.ce-faq-item:first-child { border-top: 1px solid rgba(70, 95, 77, 0.18); }
.ce-faq-question:before { display: none; content: none; }
.ce-faq-question { position: relative; padding: 28px 60px 28px 0; border: 0; background: transparent; color: #465f4d; font-size: 22px; line-height: 1.3; text-decoration: none; transition: color 0.2s ease; }
.ce-faq-question i { position: absolute; right: 0; top: 50%; transform: translateY(-50%); font-size: 22px; color: #465f4d; transition: transform 0.2s ease; }
.ce-faq-item.is-active .ce-faq-question i { transform: translateY(-50%) rotate(180deg); }
.ce-faq-answer { padding: 0 60px 28px 0; border: 0; background: transparent; color: inherit; }
.ce-faq-answer p:last-child { margin-bottom: 0; }
.accordion-title:focus, .accordion-title:hover { background-color: transparent; opacity: 0.9; }

@media screen and (max-width: 1023px) {
    #ce-faq { padding-top: 80px; padding-bottom: 80px; }
    #ce-faq:before { width: 760px; height: 420px; top: 150px; }
    .ce-faq-head { margin-bottom: 45px; }
    #ce-faq h1 { font-size: 48px; }
    .ce-faq-question { font-size: 20px; padding: 24px 50px 24px 0; }
    .ce-faq-answer { padding: 0 50px 24px 0; }
}

@media screen and (max-width: 639px) {
    #ce-faq { padding-top: 70px; padding-bottom: 70px; }
    #ce-faq:before { display: none; }
    .ce-faq-head { margin-bottom: 35px; }
    #ce-faq h1 { font-size: 38px; margin-bottom: 25px; }
    .ce-faq-intro { margin-left: 0; max-width: none; }
    .ce-faq-question { font-size: 18px; padding: 20px 38px 20px 0; }
    .ce-faq-question:before { font-size: 18px; margin-top: -12px; }
    .ce-faq-answer { padding: 0 38px 20px 0; }
}

/* Main Text Startseite */
#main-text { padding-top: 80px; padding-bottom: 80px; }

/* Übersicht Immobilien */
/* Optional CSS for overview (your one-line style rules) */
#immobilien-overview { padding: 60px 0px ; }
#immobilien-overview .immobilien-count { margin: 0px 0px 18px 0px ; opacity: 0.75 ; }
#immobilien-overview .immobilien-filterbar { margin-bottom: 18px ; }
#immobilien-overview .immobilien-filterform { background: rgba(66, 87, 72, 0.30) ; border-radius: 5px; padding: 14px ; box-shadow: 0 10px 24px rgba(0,0,0,0.06) ; }
#immobilien-overview .immobilien-filterform label { font-size: 14px ; }
#immobilien-overview .immobilien-filterform input,#immobilien-overview .immobilien-filterform select { margin-bottom: 0px ; }
.immobilien-filter-actions .btn-default { padding: 8px 15px; margin-right: 10px;    }
#immobilien-overview .immobilien-grid { margin-top: 10px ; }
#immobilien-overview .immobilien-card { background: #fff ; border-radius: 5px; overflow: hidden ; box-shadow: 0 10px 24px rgba(0,0,0,0.08) ; height: 100% ; }
#immobilien-overview .immobilien-card-media { aspect-ratio: 4 / 3 ; overflow: hidden ; background: #f2f2f2 ; }
#immobilien-overview .immobilien-card-media img { width: 100% ; height: 100% ; object-fit: cover ; display: block ; }
#immobilien-overview .immobilien-card-fallback { width: 100% ; height: 100% ; display: grid ; place-items: center ; font-size: 28px ; }
#immobilien-overview .immobilien-card-link { display: block ; color: inherit ; text-decoration: none ; }
#immobilien-overview .immobilien-card-link:hover .immobilien-card-title { opacity: 0.9 ; }
#immobilien-overview .immobilien-card-body { padding: 14px ; }
#immobilien-overview .immobilien-card-place { margin: 0px 0px 6px 0px ; font-size: 13px ; opacity: 0.75 ; }
#immobilien-overview .immobilien-card-title { margin: 0px 0px 10px 0px ; font-size: 18px ; line-height: 1.25 ; }
#immobilien-overview .immobilien-card-price { margin: 0px 0px 10px 0px ; font-size: 20px ; font-weight: 700 ; }
#immobilien-overview .immobilien-card-facts { margin: 0px ; opacity: 0.8 ; }
.pagination-immos { text-align: center; margin-top: 40px; }

#immobilien-overview .immobilien-card-media .splide { height: 100% ; }
#immobilien-overview .immobilien-card-media .splide__track { height: 100% ; }
#immobilien-overview .immobilien-card-media .splide__slide { height: 100% ; }
#immobilien-overview .immobilien-card-media .splide__slide img { width: 100% ; height: 100% ; object-fit: cover ; display: block ; }
#immobilien-overview .immobilien-card-media .splide__pagination { bottom: 10px ; }
#immobilien-overview .immobilien-card-media .splide__arrow { opacity: 0.85 ; }
#immobilien-overview .immobilien-card-media .splide__arrow:hover { opacity: 1 ; }


/* Single Immobilie */
body.single-immobilie { background: #F5F1EA; }
#immo-single-content { padding: 60px 0;  }
#immobilie-single .immobilie-title { margin: 0 0 30px 0; }

.immo-media { margin-bottom: 20px; }
.ps-splide-main .splide__slide img { width: 100%; height: 100%; object-fit: cover; border-radius: 5px; }
.ps-splide-main { margin-bottom: 15px; }
.ps-splide-thumbs .splide__slide img { width: 100%; height: 100%; object-fit: cover; border-radius: 5px; cursor: pointer; }
.ps-splide-thumbs .splide__slide { opacity: 0.5; transition: 0.2s; }
.ps-splide-thumbs .splide__slide.is-active { opacity: 1; }
.ps-splide-thumbs .splide__slide.is-active img { border-radius: 0px; }
.ps-splide-thumbs .splide__track--nav>.splide__list>.splide__slide.is-active { border: 3px solid #425748; border-radius: 5px; }

#immobilie-single h1 { font-size: 30px; }

#immobilie-single .ps-sidecard { background: #fff; border: 1px solid rgba(67,88,73,.16); border-radius: 5px; padding: 28px; box-shadow: 0 18px 45px rgba(0,0,0,.08); margin-bottom: 24px; }
#immobilie-single .ps-side-row { display: flex; align-items: flex-start; justify-content: space-between; gap: 18px; padding: 13px 0; border-bottom: 1px solid rgba(67,88,73,.16); font-size: 1rem; line-height: 1.35; color: #5f5f5f; }
#immobilie-single .ps-side-row:first-child { padding-top: 0; }
#immobilie-single .ps-side-row:last-child { border-bottom: 0; }
#immobilie-single .ps-side-row span:first-child { color: #5f5f5f; font-weight: 400; }
#immobilie-single .ps-side-row span:last-child { color: #1f1f1f; font-weight: 700; text-align: right; }
#immobilie-single .ps-side-price { font-size: 2rem; line-height: 1.15; font-weight: 800; color: #1f1f1f; margin: 28px 0 24px 0; padding-bottom: 24px; border-bottom: 1px solid rgba(67,88,73,.16); }
#immobilie-single .ps-side-address { margin-top: 20px; padding-top: 20px; }
#immobilie-single .ps-side-price + .ps-side-address { border-top: 0; }
#immobilie-single .ps-sidecard .ps-side-row:last-of-type { border-bottom: 1px solid rgba(67,88,73,.16); }
#immobilie-single .ps-side-address.no-price { margin-top: 0; padding-top: 20px; border-top: 1px solid rgba(67,88,73,.16); }
#immobilie-single .ps-side-address strong { display: block; color: #1f1f1f; font-size: 1.15rem; line-height: 1.25; margin-bottom: 8px; }
#immobilie-single .ps-muted { opacity: 1; color: #5f5f5f; }

#immobilie-single .ps-muted { opacity: 0.7; }
#immobilie-single .ps-broker { border: 1px solid #e6e6e6; border-radius: 5px; padding: 14px; margin-bottom: 14px; text-align: center; }
#immobilie-single .ps-broker-img { width: 120px; height: 120px; object-fit: cover; border-radius: 999px; margin: 0 auto 10px auto; display: block; }

#immobilie-single .tabs { display: flex; flex-wrap: nowrap; gap: 10px; overflow-x: auto; overflow-y: hidden; -webkit-overflow-scrolling: touch; scrollbar-width: none; width: 100%; max-width: 100%; margin: 20px 0 0 0; padding: 10px; background: #fff; border: 1px solid rgba(67,88,73,.16); border-bottom: 0; border-radius: 5px 5px 0 0; box-shadow: 0 18px 45px rgba(0,0,0,.06); cursor: grab; scroll-behavior: smooth; }
#immobilie-single .tabs::-webkit-scrollbar { display: none; }
#immobilie-single .tabs.is-dragging { cursor: grabbing; scroll-behavior: auto; }
#immobilie-single .tabs:before,
#immobilie-single .tabs:after { display: none; }
#immobilie-single .tabs-title { flex: 0 0 auto; float: none; }
#immobilie-single .tabs-title > a { display: flex; align-items: center; justify-content: center; min-height: 46px; padding: 12px 20px; border-radius: 5px; background: transparent; color: #425748; font-size: 1rem; line-height: 1.2; font-weight: 600; text-decoration: none; white-space: nowrap; transition: background .2s ease, color .2s ease; }
#immobilie-single .tabs-title > a:hover { background: rgba(67,88,73,.08); color: #1f1f1f; }
#immobilie-single .tabs-title.is-active > a,
#immobilie-single .tabs-title > a[aria-selected="true"] { background: #425748; color: #fff; }

#immobilie-single .tabs-content { background: #fff; border: 1px solid rgba(67,88,73,.16); border-radius: 0 0 5px 5px; box-shadow: 0 18px 45px rgba(0,0,0,.06); margin-bottom: 40px; }
#immobilie-single .tabs-panel { padding: 32px; color: #5f5f5f; font-size: 1.08rem; line-height: 1.65; }
#immobilie-single .tabs-panel p:last-child { margin-bottom: 0; }
#immobilie-single .tabs-panel h2,
#immobilie-single .tabs-panel h3,
#immobilie-single .tabs-panel h4 { color: #1f1f1f; }
#immobilie-single .ps-table { width: 100%; margin: 0; border-collapse: collapse; border: 0; }
#immobilie-single .ps-table tbody { border: 0; }
#immobilie-single .ps-table tr { border-bottom: 1px solid rgba(67,88,73,.16); }
#immobilie-single .ps-table tr:last-child { border-bottom: 0; }
#immobilie-single .ps-table th,
#immobilie-single .ps-table td { padding: 16px 0; background: transparent; border: 0; font-size: 1rem; line-height: 1.35; }
#immobilie-single .ps-table th { width: 42%; color: #1f1f1f; font-weight: 700; }
#immobilie-single .ps-table td { color: #425748; }
#immobilie-single .ps-features { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px 24px; margin: 0; padding: 0; list-style: none; }
#immobilie-single .ps-features li { padding: 12px 0; border-bottom: 1px solid rgba(67,88,73,.16); color: #425748; }
#immobilie-single .tabs-panel hr { border-bottom: 1px solid rgba(67,88,73,.16); margin: 28px 0; }
@media screen and (max-width: 63.9375em) { #immobilie-single .tabs { margin-top: 32px; } #immobilie-single .tabs-title { flex: 0 0 auto; } #immobilie-single .tabs-title > a { padding: 11px 14px; font-size: .95rem; } #immobilie-single .tabs-panel { padding: 24px; } #immobilie-single .ps-features { grid-template-columns: 1fr; } }

#immobilie-single .immo-detail-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
#immobilie-single .immo-detail-item { display: grid; grid-template-columns: 42px 1fr; column-gap: 14px; row-gap: 2px; align-items: center; padding: 18px; background: rgba(67,88,73,.05); border: 1px solid rgba(67,88,73,.14); border-radius: 5px; }
#immobilie-single .immo-detail-item i { grid-row: span 2; width: 42px; height: 42px; display: flex; align-items: center; justify-content: center; border-radius: 999px; background: #425748; color: #fff; font-size: 1.1rem; }
#immobilie-single .immo-detail-item span { color: #8a8a8a; font-size: .9rem; line-height: 1.2; }
#immobilie-single .immo-detail-item .immo-detail-value { color: #1f1f1f; font-size: 1.15rem; line-height: 1.25; font-weight: 400; }
#immobilie-single .immo-feature-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
#immobilie-single .immo-feature-item { display: flex; align-items: center; gap: 12px; padding: 15px 16px; background: #fff; border: 1px solid rgba(67,88,73,.16); border-radius: 5px; color: #425748; font-weight: 700; line-height: 1.25; }
#immobilie-single .immo-feature-item i { width: 30px; height: 30px; display: flex; align-items: center; justify-content: center; border-radius: 999px; background: rgba(67,88,73,.08); color: #425748; flex: 0 0 30px; }
@media screen and (max-width: 63.9375em) { #immobilie-single .immo-detail-grid { grid-template-columns: 1fr; } #immobilie-single .immo-feature-grid { grid-template-columns: 1fr; } }

#immobilie-single .ps-floorplan-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 22px; align-items: start; }
#immobilie-single .ps-floorplan-item { display: block; background: #fff; border: 1px solid rgba(67,88,73,.16); border-radius: 5px; padding: 14px; transition: transform .2s ease, box-shadow .2s ease; }
#immobilie-single .ps-floorplan-item:hover { transform: translateY(-2px); box-shadow: 0 12px 30px rgba(0,0,0,.08); }
#immobilie-single .ps-floorplan-item img { width: 100%; height: 260px; object-fit: contain; display: block; }
@media screen and (max-width: 63.9375em) { #immobilie-single .ps-floorplan-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } #immobilie-single .ps-floorplan-item img { height: 220px; } }
@media screen and (max-width: 39.9375em) { #immobilie-single .ps-floorplan-grid { grid-template-columns: 1fr; } }

#immobilie-single .immo-contact-request-note { margin: 24px 0 18px; font-size: 1rem; line-height: 1.6; }
#immobilie-single .immo-contact-actions { display: grid; gap: 12px; }
#immobilie-single .immo-request-button { display: flex; align-items: center; justify-content: center; gap: 12px; width: 100%; padding: 17px 16px; border-radius: 5px; color: #fff; font-size: 1rem; font-weight: 600; line-height: 1.3; text-align: center; text-decoration: none; transition: background-color .2s ease; }
#immobilie-single .immo-request-whatsapp { background: #25d366; }
#immobilie-single .immo-request-whatsapp:hover { background: #1da851; }
#immobilie-single .immo-request-email { background: #425748; }
#immobilie-single .immo-request-email:hover { background: #314236; }
#immobilie-single .immo-request-button:focus-visible { outline: 3px solid #425748; outline-offset: 3px; }

.immo-sidebar-card { background: #fff; border: 1px solid rgba(67,88,73,.16); border-radius: 5px; padding: 28px; box-shadow: 0 18px 45px rgba(0,0,0,.08); margin-bottom: 24px; }
.immo-contact-card { overflow: hidden; }
.immo-contact-person-wrap { display: flex; align-items: center; gap: 18px; margin-bottom: 24px; }
.immo-contact-photo { width: 86px; height: 86px; border-radius: 50%; overflow: hidden; flex: 0 0 86px; background: #f4f1eb; }
.immo-contact-photo img { width: 100%; height: 100%; object-fit: cover; display: block; }
.immo-contact-person { min-width: 0; }
.immo-contact-name { font-size: 1.25rem; line-height: 1.2; font-weight: 700; color: #1f1f1f; }
.immo-contact-position { font-size: .95rem; line-height: 1.4; color: #4b604f; margin-top: 4px; }
.immo-contact-links { display: flex; flex-direction: column; gap: 12px; margin-top: 6px; }
.immo-contact-link { display: flex; align-items: center; gap: 14px; color: #435849; text-decoration: none; padding: 13px 0; border-top: 1px solid rgba(67,88,73,.16); }
.immo-contact-link i { width: 28px; font-size: 1.45rem; color: #1f1f1f; text-align: center; flex: 0 0 28px; }
.immo-contact-link span { display: flex; flex-direction: column; font-size: 1rem; line-height: 1.35; min-width: 0; }
.immo-contact-link strong { font-size: .85rem; line-height: 1.2; color: #1f1f1f; margin-bottom: 2px; }
.immo-contact-link:hover { color: #d69c05; }
.immo-contact-whatsapp { display: flex; align-items: center; justify-content: center; gap: 12px; width: 100%; background: #25d366; color: #fff; text-decoration: none; font-size: 1rem; line-height: 1.2; font-weight: 600; border-radius: 5px; padding: 17px 20px; margin-top: 24px; }
.immo-contact-whatsapp i:first-child { font-size: 1.45rem; }
.immo-contact-whatsapp i:last-child { font-size: 1.15rem; }
.immo-contact-whatsapp:hover { background: #25d366; color: #fff; }
@media screen and (max-width: 63.9375em) { .immo-contact-card { margin-top: 24px; } }

#immobilien-overview .immobilien-card-media .splide__arrow { opacity: 0 ; transition: opacity 0.25s ease ; }
#immobilien-overview .immobilien-card:hover .splide__arrow { opacity: 1 ; }
@media screen and (max-width: 1024px) { #immobilien-overview .immobilien-card-media .splide__arrow { opacity: 1 ; } }



.missing { padding: 80px 0; font-size: 30px; text-align: center; text-transform: uppercase; color: red; border: 1px dotted red;margin: 50px 0; }
.ei { position: absolute !important; height: 1px; width: 1px; overflow: hidden; clip: rect(1px 1px 1px 1px); /* IE6, IE7 */ clip: rect(1px, 1px, 1px, 1px); }
.element-padding { padding-top: 90px; padding-bottom: 90px; }


body:not(.user-is-tabbing) button:focus,
body:not(.user-is-tabbing) input:focus,
body:not(.user-is-tabbing) select:focus,
body:not(.user-is-tabbing) textarea:focus,
body:not(.user-is-tabbing) :focus{ outline:none; }
.fit-content { height:fit-content; }
.wow { visibility:hidden; }
.only-res-center { text-align: left; }

::-webkit-input-placeholder { color:#4D4E4D; }
::-moz-placeholder { color:#4D4E4D; }
:-ms-input-placeholder { color:#4D4E4D; }
:-moz-placeholder { color:#4D4E4D; }