/* generals */

h1 {
    word-wrap: break-word !important;
    font-weight: 600 !important;
}

@media (max-width: 575px) {
    h1 {
        font-size: 25px !important;
        line-height: 35px !important;
    }
}

@media (min-width: 576px) and (max-width: 767px) {
    h1 {
        font-size: 30px !important;
        line-height: 40px !important;
    }
}

@media (min-width: 768px) and (max-width: 1200px) {
    h1 {
        font-size: 30px !important;
        line-height: 40px !important;
    }
}

@media (min-width: 1201px) {
    h1 {
        font-size: 40px !important;
        line-height: 50px !important;
    }
}

h2 {
    word-wrap: break-word !important;
    font-size: 40px !important;
}

.color_alternate h2 {
    color: var(--color-content-bg) !important;
}

@media (max-width: 575px) {
    h2 {
        font-size: 20px !important;
        line-height: 30px !important;
    }
}

@media (min-width: 576px) and (max-width: 767px) {
    h2 {
        font-size: 25px !important;
        line-height: 35px !important;
    }
}

@media (min-width: 768px) and (max-width: 1200px) {
    h2 {
        font-size: 25px !important;
        line-height: 35px !important;
    }
}

@media (min-width: 1201px) {
    h2 {
        font-size: 30px !important;
        line-height: 40px !important;
    }
}

.color_alternate h3 {
    color: var(--color-header-top-transparent-bg) !important;
}

@media (max-width: 575px) {
    h3 {
        font-size: 18px !important;
        line-height: 28px !important;
    }
}

@media (min-width: 576px) and (max-width: 767px) {
    h3 {
        font-size: 20px !important;
        line-height: 30px !important;
    }
}

@media (min-width: 768px) and (max-width: 1200px) {
    h3 {
        font-size: 20px !important;
        line-height: 30px !important;
    }
}

@media (min-width: 1201px) {
    h3 {
        font-size: 25px !important;
        line-height: 35px !important;
    }
}

@media (max-width: 575px) {
    h4 {
        font-size: 16px !important;
        line-height: 26px !important;
    }
}

@media (min-width: 576px) and (max-width: 767px) {
    h4 {
        font-size: 18px !important;
        line-height: 28px !important;
    }
}

@media (min-width: 768px) and (max-width: 1200px) {
    h4 {
        font-size: 18px !important;
        line-height: 28px !important;
    }
}

@media (min-width: 1201px) {
    h4 {
        font-size: 22px !important;
        line-height: 32px !important;
    }
}

/* slider startseite */

#sliderarea .slidertext {
    font-family: var(--font-h2) !important;
    font-size: 50px !important;
    line-height: 55px !important;
    text-transform: uppercase;
    background: var(--color-header-top-transparent-bg);
    color: var(--color-content-bg) !important;
    padding: 0 15px !important;
    line-height: 1.65 !important;
    font-weight: 600 !important;
}

/* page header */

#page-header {
    z-index: 1000 !important;
}

#page-header img.logo {
    position: absolute !important;
    top: 19px !important;
    height: 60% !important;
}

#page-header .at_top i {
    padding-top: 4px !important;
}

#page-header .at_top a, .at_top span {
    color: white !important;
    font-size: 14px !important;
    line-height: 14px !important;
}

#page-header .w-nav.type_desktop .menu-item-has-children > .w-nav-anchor:not(.level_1) .w-nav-title {
    color: var(--color-content-primary) !important;
    font-weight: bold !important;
    font-family: var(--font-h2);
    font-size: 20px !important;
    letter-spacing: 0.5px !important;
}

@media (max-width: 1100px) {
    #page-header .w-btn {
        display: none !important;
    }
}

#mainmenu, .level_2 {
    font-size: 18px !important;
}

/* sub header unterseiten */

#bannerSubpage h1 {
    word-wrap: break-word !important;
    font-weight: 600 !important;
    color: var(--color-content-bg) !important;
    text-align: center !important;
}

@media (max-width: 575px) {

    #bannerSubpage {
        padding: 1rem 1rem !important;
    }

    #bannerSubpage h1 {
        font-size: 30px !important;
        line-height: 57px !important;
    }
}

@media (min-width: 576px) and (max-width: 767px) {
    #bannerSubpage {
        padding: 2rem 1rem !important;
    }

    #bannerSubpage h1 {
        font-size: 30px !important;
        line-height: 57px !important;
    }

}

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

    #bannerSubpage {
        padding: 2rem 1rem !important;
    }

    #bannerSubpage h1 {
        font-size: 40px !important;
        line-height: 57px !important;

    }

    .page-template-object-list #bannerSubpage {
        padding: 6rem 1rem !important;
    }
}

@media (min-width: 1201px) {

    #bannerSubpage {
        padding: 3rem 1rem !important;
    }

    #bannerSubpage h1 {
        font-size: 50px !important;
        line-height: 57px !important;
    }

    .page-template-object-list #bannerSubpage {
        padding: 6rem 1rem !important;
    }

}

#bannerSubpage .HeadlineWapper {
    margin: 1rem;
}

#CTAarea .us-btn-style_2 {
    font-family: var(--font-h2) !important;
}

@media (max-width: 1000px) and (min-width: 700px) {
    #CTAarea .w-btn-wrapper .w-btn {
        min-height: 130px !important;
    }
}

@media (max-width: 1325px) and (min-width: 1045px) {
    #CTAarea .w-btn-wrapper .w-btn {
        min-height: 110px !important;
    }
}

/* asp area */

#ASP .contentareaHeaderOne {
    font-family: var(--font-h2);
    padding-bottom: 10px !important;
    font-weight: 600 !important;
    font-size: 18px !important;
    color: var(--color-content-primary) !important;
}

#ASP .contentareaBig {
    font-family: var(--font-h2);
    font-size: 40px !important;
    line-height: max(2.6rem, 2.6vw) !important;
    font-weight: 600 !important;
}

#ASP .contactASPText {
    margin: 2rem 0rem 2rem 0rem;
    max-width: 350px;
}

#ASP .placeholderLeadgenerator {
    border: 10px !important;
    border-style: dashed !important;
    border-color: var(--color-content-primary) !important;
    padding: 8rem 2rem !important;
}

#ASP.sidebar .contentareaBig {
    font-size: 28px !important;
    line-height: 35px !important;
}

#ASP .contactASPtable {
    font-family: var(--font-h2);
    text-align: left !important;
    border: 0px !important;
    width: 100% !important;
    margin-bottom: 0px !important;
}

#ASP .contactASPtableIcon {
    width: 60px !important;
    height: 60px !important;
    border: 0px !important;
    padding: 0px !important;
}

#ASP .whatsapplink {
    margin-left: 9px !important;
}

#ASP .iconWhatsAppWapper {
    background: var(--color-content-primary);
    margin-top: 4px !important;
}

#ASP img.icon {
    width: 18px !important;
    height: 18px !important;
    margin: 21px 21px 12px 21px !important;
}

#ASP .contactASPtableDetails {
    width: auto !important;
    height: 60px !important;
    text-align: left !important;
    line-height: 68px !important;
    border: 0px !important;
    padding: 0px !important;
}


#page-footer h3 {
    font-weight: 600 !important;
    padding-bottom: 2rem !important;
}

/* page footer */

#page-footer p {
    font-size: 15px !important;
    line-height: 28px !important;
}

#page-footer .w-menu {
    font-size: 18px !important;
}

#page-footer i {
    font-size: 1.5rem !important;
}

#page-footer p a {
    color: var(--color-content-bg) !important;
}

#page-footer p a:hover {
    color: var(--color-content-link) !important;
}

#page-footer {
    border-top: 0.8rem !important;
    border-right: 0rem !important;
    border-bottom: 0rem !important;
    border-left: 0rem !important;
    border-style: solid !important;
    border-color: var(--color-header-top-transparent-bg) !important;
}

@media (max-width: 768px) {
    #page-footer {
        text-align: center !important;
    }
}

@media (max-width: 1024px) {
    #page-footer .vc_col-sm-3 {
        width: 100% !important;
        padding-bottom: 5rem !important;
    }
}

/* estate listview */

.page-template-object-list .i-cf {
    padding-top: 0px !important;
}

#SortDropDown {
    background-color: #fff !important;
}

#SortDropDown .vc_col-sm-4 {
    float: right !important;
}

#SortDropDown .l-section-h {
    max-width: 1345px !important;
}

#listEstate {
    padding-bottom: 2rem !important;
}

@media (max-width: 1200px) and (min-width: 860px) {
    #listEstate.vc_col-sm-4 {
        width: 50% !important;
    }
}

#list {
    background: var(--color-content-bg-alt);
}

#listEstateImage {
    min-height: 300px !important;
    position: relative;
    z-index: 2 !important;
    background-size: cover;
    background-position: center center;
}

.listEstateStatus {
    font-family: var(--font-h2);
    background: var(--color-content-primary) !important;
    color: #fff !important;
    position: absolute;
    top: 0px !important;
    right: 10px !important;
    padding: 0px 10px !important;
    font-size: 12px !important;
    text-transform: uppercase !important;
    letter-spacing: 1px !important;
    font-weight: bold !important;
}

#listEstateImage .listEstatePrice {
    font-family: var(--font-h2);
    text-align: left !important;
    color: var(--color-content-bg) !important;
    font-size: 18px;
    position: relative;
}

#listEstateImage .listEstatePrice span {
    background: var(--color-header-top-bg) !important;
    padding: 8px 13px 5px 13px !important;
    font-weight: 600 !important;
}

#listEstateImage .listEstateType {
    text-align: left !important;
    color: var(--color-content-bg) !important;
    margin-bottom: 20px !important;
    position: relative;
}

#listEstateImage .listEstateType span {
    font-family: var(--font-h2);
    background: var(--color-content-primary) !important;
    padding: 5px 10px 5px 10px !important;
    font-weight: 300 !important;
    font-size: 14px;
    margin-left: -5px !important;
}

#listEstateTitle {
    background-color: var(--color-content-bg) !important;
    padding-top: 0.6rem !important;
    padding-bottom: 0.6rem !important;
    position: relative !important;
    z-index: 2 !important
}

#listEstateTitle .estateTitle p {
    font-family: #000 !important;
    font-size: 17px !important;
    color: var(--color-content-primary) !important;
    line-height: 1.65 !important;
    font-weight: 600 !important;
    min-height: 57px !important;
}

#listEstateCity {
    background-color: var(--color-content-bg) !important;
    font-size: 0.8rem !important;
    position: relative;
    z-index: 2 !important;
    padding-bottom: 15px !important;
    color: var(--color-content-text);
}

#listEstateCity .w-iconbox-icon i {
    font-size: 15px !important;
    margin-top: -3px !important;
    color: var(--color-header-top-bg) !important;
}

.detail-estate-immo-dropdown,
#listEstateHoverInfo {
    background-color: var(--color-content-bg) !important;
    transition: margin .5s;
    position: relative !important;
    padding-bottom: 15px !important;
}

#listEstateImageJS, #listEstateHoverInfoJS, #listEstateJS, #listEstateJS {
    transition: margin .5s !important;
    transition: margin-top .5s !important;
    transition: opacity .5s !important;
}

.listEstateBubble {
    background: var(--color-header-top-bg) !important;
    font-size: 13px !important;
    line-height: 20px !important;
    color: var(--color-content-bg) !important;
    padding: 0px 7px !important;
    border-radius: 15px !important;
    white-space: nowrap;
    margin-top: 5px;
    display: inline-block;
}

.listEstateBubbleInfo {
    font-size: 13px;
    padding-bottom: 15px;
    color: #999 !important;
    font-weight: 300 !important;
}

.page-template-object-list .height_large {
    padding-bottom: 0px !important;
}

.page-template-object-list .height_large_bottom, .page-template-object-list #page-footer {
    padding-bottom: 6rem !important;
    background: var(--color-footer-bg-grad) !important;
}

@media (max-width: 860px) and (min-width: 0px) {
    #SortDropDown .g-cols > div:not([class*="vc_col-xs-"]) {
        margin: 0rem !important;
    }

    #list {
        padding-top: 1.5rem !important;
    }

    #listEstateHoverInfo, .listEstateBubbleInfo, .vc_column_container {
        margin-top: 0px !important;
        visibility: visible !important;
    }

    #listEstate {
        padding-bottom: 0px !important;
    }

}

.post-pagination > span:not(.title) {
    font-weight: 300 !important;
    padding: 3px 14px !important;
    background-color: var(--color-content-primary) !important;
    color: var(--color-content-bg) !important;
}

.post-pagination > .title {
    display: none !important;
}

.post-pagination {
    padding-bottom: 6rem !important
}

.page-template-object-detail .post-pagination {
    display: none !important;
}

.carousel {
    background-color: var(--color-content-primary-grad) !important;
}

.carousel-cell {
    width: 66%;
    margin-right: 10px;
    counter-increment: gallery-cell;
    background-size: cover !important;
    background-position: center center !important;
}

.similar-headline {
    margin-bottom: 1rem;
}

.carousel-similar-cell {
    overflow: hidden;
    margin-right: 1rem;
    display: block;
}

@media (max-width: 575px) {
    .carousel-similar-cell {
        width: 100% !important;
        min-height: 450px;
    }

    .carousel-similar #listEstateImage {
        min-height: 280px !important;
        background-size: cover;
    }

}

@media (min-width: 576px) and (max-width: 767px) {
    .carousel-similar-cell {
        width: 66% !important;
        min-height: 550px;
    }

    #listEstateImage {
        min-height: 290px !important;
        background-size: cover;
    }

}

@media (min-width: 768px) and (max-width: 1200px) {
    .carousel-similar-cell {
        width: 50% !important;
        min-height: 550px;
    }

    #listEstateImage {
        min-height: 320px !important;
        background-size: cover;
    }

}

@media (min-width: 1201px) {
    .carousel-similar-cell {
        width: 33.33333% !important;
        min-height: 550px;
    }

    #listEstateImage {
        min-height: 380px !important;
        background-size: cover;
    }

}

.carousel-similar .flickity-prev-next-button.next {
    right: -2rem !important;
}

.carousel-similar .flickity-prev-next-button.previous {
    left: -2rem !important;
}

.carousel-similar {
    display: inherit !important;
    width: calc(100% + 4rem) !important;
    overflow: visible !important;
    padding: 0 2rem !important;
    margin: 0 -2rem !important;
}

.rs-object-text-h2 {
    display: inline-block;
    padding-right: 70px !important;
    margin-bottom: 30px !important;
    border-top: 0px !important;
    border-right: 0px !important;
    border-bottom: 2px !important;
    border-left: 0px !important;
    border-color: #DB0A33 !important;
    border-style: solid !important;
    padding-bottom: 10px !important;
}

.flickity-page-dots {
    display: none !important;
}

@media (max-width: 400px) and (min-width: 0px) {
    .carousel-cell {
        height: 170px !important;
    }

    .flickity-enabled.is-fullscreen .carousel-cell {
        height: 50% !important;
        margin-top: 20% !important;
        margin-bottom: auto !important;
        z-index: 112 !important;
    }

}

@media (max-width: 600px) and (min-width: 401px) {
    .carousel-cell {
        height: 200px !important;
    }

    .flickity-enabled.is-fullscreen .carousel-cell {
        height: 50% !important;
        margin-top: 20% !important;
        margin-bottom: auto !important;
        z-index: 112 !important;
    }
}

@media (max-width: 800px) and (min-width: 601px) {
    .carousel-cell {
        height: 300px !important;
    }

    .flickity-enabled.is-fullscreen .carousel-cell {
        height: 85% !important;
        margin-top: 4% !important;
        margin-bottom: auto !important;
        z-index: 112 !important;
    }
}

@media (max-width: 1200px) and (min-width: 801px) {
    .carousel-cell {
        height: 500px !important;
    }

    .flickity-enabled.is-fullscreen .carousel-cell {
        height: 85% !important;
        margin-top: 4% !important;
        margin-bottom: auto !important;
        z-index: 112 !important;
    }
}

@media (max-width: 1600px) and (min-width: 1201px) {
    .carousel-cell {
        height: 600px !important;
    }

    .flickity-enabled.is-fullscreen .carousel-cell {
        height: 85% !important;
        margin-top: 4% !important;
        margin-bottom: auto !important;
        z-index: 112 !important;
    }
}

@media (max-width: 2000px) and (min-width: 1601px) {
    .carousel-cell {
        height: 900px !important;
    }

    .flickity-enabled.is-fullscreen .carousel-cell {
        height: 85% !important;
        margin-top: 4% !important;
        margin-bottom: auto !important;
        z-index: 112 !important;
    }
}

@media (min-width: 2001px) {
    .carousel-cell {
        height: 900px !important;
    }

    .flickity-enabled.is-fullscreen .carousel-cell {
        height: 85% !important;
        margin-top: 4% !important;
        margin-bottom: auto !important;
        z-index: 112 !important;
    }
}

/* Flickity fullscreen  */

.flickity-enabled.is-fullscreen {
    position: fixed;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background: hsla(0, 0%, 0%, 0.9);
    padding-bottom: 35px;
    z-index: 1000 !important;
}

.flickity-enabled.is-fullscreen .flickity-page-dots {
    bottom: 10px;
}

.flickity-enabled.is-fullscreen .flickity-page-dots .dot {
    background: white;
}

/* prevent page scrolling when flickity is fullscreen */

.l-header {
    z-index: 111 !important;
}

.is-flickity-fullscreen, .flickity-enabled {
    overflow: hidden;
    z-index: 100 !important;
}

/* flickity-fullscreen-button */

.flickity-fullscreen-button-view {
    position: absolute;
    left: auto !important;
    right: 10px !important;
    bottom: auto !important;
    top: 10px !important;
    width: 44px !important;
    height: 44px !important;
    border-radius: 44px !important;
}

.flickity-prev-next-button {
    bottom: -2px !important;
    width: 44px !important;
    height: 44px !important;
    border-radius: 44px !important;
}

/* right-to-left */

.flickity-fullscreen-button-exit {
    display: none;
}

.flickity-enabled.is-fullscreen .flickity-fullscreen-button-exit {
    display: block;
    right: 10px;
    top: 10px;
    width: 44px !important;
    height: 44px !important;
    border-radius: 44px !important;
}

.flickity-enabled.is-fullscreen .flickity-fullscreen-button-view {
    display: none;
}

.flickity-button-icon {
    position: absolute;
    left: 22%;
    top: 22%;
    width: 56%;
    height: 56%;
    color: var(--color-header-top-bg) !important;
}

#estateDetailContent,
#estateSimilarDetail {
    background: var(--color-content-bg-alt) !important;
    padding-top: 3rem !important
}

#estateDetailContent h1 {
    padding: 1.5rem 0rem !important;
    color: var(--color-content-primary-grad) !important;
}

#estateDetailContent h3 {
    color: var(--color-content-border) !important;
    font-size: max(1.3rem, 1.3vw) !important;
    font-weight: 700 !important;
    text-transform: uppercase;
    padding: 1.5rem 0rem !important;
}

#estateDetailContent .rowFloorPlans h3 {
    color: #fff !important;
}

#estateDetailContent .notverifyOverlay {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    background: var(--color-content-primary-grad) !important;
    opacity: 0.3 !important;
}

#estateDetailContent .notverifyText, #estateDetailContent .notverifyText-mobil {
    width: 100%;
    height: auto;
    opacity: 0.2;
    padding-bottom: 1rem;
}

#estateDetailContent .notverifyYouTube {
    width: 100%;
    height: auto;
    opacity: 0.6;
    padding-bottom: 1rem;
}

@media (max-width: 799px) {
    #estateDetailContent .notverifyText-mobil {
        display: block !important;
    }

    .notverifyText {
        display: none !important;
    }
}

@media (min-width: 800px) {
    #estateDetailContent .notverifyText-mobil {
        display: none !important;
    }

    .notverifyText {
        display: block !important;
    }
}


#estateDetailContent .notverifylock {
    max-width: 130px;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}

#estateDetailContent .notverifyBlock {
    border-width: 5px !important;
    border-style: solid;
    border-color: var(--color-content-primary-grad) !important;
    border-top-right-radius: 5px;
    border-bottom-left-radius: 5px;
    border-bottom-right-radius: 5px;
}

#estateDetailContent .g-cols.via_flex.type_default {
    margin: 0px !important;
}


#estateDetailContent .notverifyBlockHeader p {
    line-height: 26px;
    margin: 0rem !important;
}

#estateDetailContent .notverifyBlockHeader span {
    color: white;
    background: var(--color-content-primary-grad) !important;
    padding: 10px 10px 5px 10px;
    border-top-left-radius: 10px;
    border-top-right-radius: 10px;
    margin: 0px;
}

#estateDetailContent .notverifyBlock svg {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    max-width: 100px;
}

#estateDetailContent .wrapper_margin {
    margin: 0rem 0rem 2rem 0rem;
}

#estateDetailContent .wrapper_padding {
    padding: 1rem !important;
}

#estateDetailContent .estateDetailVIPArea h2 {
    font-size: max(2rem, 2vw) !important;
}

#estateDetailContent .estateDetailContentArea h2 {
    color: var(--color-content-border) !important;
    font-size: max(2rem, 2vw) !important;
    padding-top: 20px;
}

#estateDetailContent .estateDetailContentArea {
    margin-top: 0px !important;
    border-radius: 2px;
    box-shadow: 0 2px 11px 0 rgba(181, 127, 250, 0.1);
}

#estateDetailContent .estateMap {
    padding-bottom: 15px;
    padding-top: 15px;
    position: relative;
    height: auto;
    min-height: 20rem !important;
}

#estateDetailContent .estateDetailVIPArea {
    margin-bottom: 30px !important;
    margin: 0rem !important;
    padding: 1.5rem 1.5rem 0rem 1.5rem !important;
    border-radius: 2px;
    box-shadow: 0 2px 11px 0 rgba(181, 127, 250, 0.1);
}

#estateDetailContent .estateDetailVIPArea .contentareaHeaderOne {
    padding-bottom: 0px !important;
}

#estateDetailContent .estateDetailVIPArea h2 {
    padding-top: 0px !important;
    margin-bottom: 10px;
	font-size: 25px!important;
	line-height: 40px!important;
}

#estateDetailContent .contentAreaWhite {
    background-color: var(--color-content-bg) !important;
}

#estateDetailContent .contentAreaPrimary {
    background-color: var(--color-content-primary) !important;
}

#estateDetailContent .contentAreaSecondary {
    background-color: var(--color-header-top-bg) !important;
}

#estateDetailContent .wpEstateForm {
    margin-bottom: 1rem;
}

#estateDetailContent .wpEstateForm .wpEstateFormRow {
    margin-bottom: 15px;
}

#onoffice-form input.errorField {
    outline: 2px solid var(--multi-form-color) !important;
}

#onoffice-form .submit_button {
    position: relative;
}

#onoffice-form .submit_button:after {
    content: '';
    position: absolute;
    background-image: url('/wp-content/uploads/2024/04/spinner.svg');
    background-repeat: no-repeat;
    background-size: 100%;
    height: 40px;
    width: 40px;
    top: 4px;
    right: -50px;
    visibility: hidden;
}

#onoffice-form .submit_button.thinking:after {
    animation: rotating 2s linear infinite;
    visibility: visible;
}

#spinner.thinking {
    animation: rotating 2s linear infinite;
    visibility: visible;
}


#estateDetailContent .ASPname {
    font-family: var(--font-h2);
    font-size: 18px !important;
    font-weight: 700;
    padding: 20px 0px 10px 0px;
    text-transform: uppercase;
    color: var(--color-header-top-bg) !important;
}

#estateDetailContent .estateDetailContentArea .w-btn, .estateDetailVIPArea .w-btn {
    margin-top: 10px;
}

#estateDetailContent .detail-contact-form {
    padding-top: 2rem !important;
}

#estateDetailContent .priceTitle {
    padding-top: 3rem;
    font-size: 2.2rem;
    text-transform: uppercase;
    color: var(--color-content-heading);
}

#estateDetailContent .priceValue {
    font-size: 4rem;
    line-height: 6rem;
    font-weight: bold;
    color: var(--color-content-heading);
}

#estateDetailContent .aussenCourtage {
    max-width: 380px;
    padding-bottom: 3rem;
    color: var(--color-content-heading);
}

#estateDetailContent .ContentColumn,
#estateDetailContent .IconColumn,
#estateDetailContent .ValueColumn {
    padding-left: 0 !important;
}

#estateDetailContent .categoryArea, #estateDetailContent .tableArea {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
}

#estateDetailContent .categoryAreaLabel {
    color: var(--color-content-primary-grad) !important;
}

#estateDetailContent .tableArea .detail,
#estateDetailContent .tableArea .value {
    padding-top: 0.5rem;
    padding-bottom: 0.5rem;
    padding-right: 1rem;
    border-bottom: 2px solid #f2f4f5 !important;
    width: 50%;
}

@media (max-width: 1200px) {
    #estateDetailContent .categoryAreaLabel {
        display: none;
    }

    #estateDetailContent .categoryAreaValues {
        width: 100%;
        padding-bottom: 0.5rem;
    }
}

@media (min-width: 1201px) {
    #estateDetailContent .categoryArea {
        margin-top: 2rem;
    }

    #estateDetailContent .categoryAreaValues {
        width: 100%;
        padding-bottom: 0.5rem;
    }
}

@keyframes vibrate {
    0%, 12.5%, 22.5%, 32.5%, 42.5%, 52.5%, 62.5%, 62.5%, 82.5%, 92.5% {
        transform: skewX(0deg);
    }
    2.5%, 15%, 25%, 35%, 45%, 55%, 65%, 75%, 85%, 95% {
        transform: skewX(0.2deg);
    }
    5%, 17.5%, 27.5%, 37.5%, 47.5%, 57.5%, 67.5%, 77.5%, 87.5%, 97.5% {
        transform: skewX(0deg);
    }
    10%, 20%, 30%, 40%, 50%, 60%, 70%, 80%, 90%, 100% {
        transform: skewX(-0.8deg);
    }
}

.page-template-object-detail-php main.l-main:nth-child(2) > section:nth-child(2) {
    display: none !important;
}

#TeamKachel {
    margin: -10px !important;
    padding-top: 1.5rem !important;
    padding-bottom: 1.5rem !important;
}

#TeamKachel .contactASPtableIcon {
    padding: 0rem !important;
}

#TeamKachel .contentareaBigTeam {
    font-family: var(--font-h2) !important;
    color: var(--color-header-top-transparent-bg) !important;
    text-transform: uppercase !important;
    font-weight: 600 !important;
    padding: 3rem 0rem 0rem 0rem !important;
}

#TeamKachel .contentTeam {
    padding-bottom: 2rem !important;
}

#TeamKachel .contentTeamPosition {
    font-family: var(--font-h2) !important;
    text-transform: uppercase !important;
    padding-bottom: 10px !important;
    font-weight: 600 !important;
    font-size: 15px !important;
    color: var(--color-content-primary) !important;
    min-height: 70px !important;
    padding-top: 15px;
}

#TeamKachel .contactASPtable tr td {
    border-bottom: 0px !important;
}

#TeamKachel .contactASPtableDetails {
    padding-top: 1.5rem !important
}

.selection, .select2-selection, .select2-selection--single, #select2-Anrede-qf-container, .select2-selection__arrow {
    min-height: 42px !important;
    line-height: 42px !important;
    border-radius: 0px !important;
    border-color: var(--color-header-top-transparent-bg) !important;
}

.select2-container--default .select2-selection--single .select2-selection__rendered {
    min-height: 42px !important;
    line-height: 42px !important;
    border-radius: 0px !important;

}

.select2-container--default .select2-results__option--highlighted[aria-selected] {
    background-color: var(--color-content-primary) !important;
    color: white;
}


.select2-container--default .select2-selection--single, .select2-container--default .select2-selection--multiple {
    border: 0px !important;
    background: #f2f4f5 !important
}


.rs-scala-area {
    display: block;
    min-height: 130px;
}

.rs-scala {
    position: relative;
    border-radius: 10px;
    width: 100%;
    height: 74px;
    padding-top: 4px;
    margin-top: 30px !important;
    background-image: -webkit-gradient(linear, left top, right top, from(#2d6c1a), color-stop(50%, #ffcf4d), to(#9b1410));
    background-image: linear-gradient(90deg, #2d6c1a 0, #ffcf4d 50%, #9b1410);
}

.rs-scala-values-letters {
    line-height: 19px;
    font-size: 11px !important;
    padding-bottom: 4px;
    color: #fff;
}

.rs-scala-values-letters span {
    font-size: 14px !important;
    text-align: center;
    display: inline-block;
    width: 11.11111111111111%;
}

.rs-scala-values {
    background-color: #fff;
    line-height: 25px;

}

.rs-scala-values span {
    text-align: center;
    display: inline-block;
    width: 9.0909%;
    font-size: 12px;
}

@media (max-width: 600px) {
    .rs-scala-values span {
        font-size: 8px !important;
    }
}

.rs-scala-value-box {
    margin-top: 15px !important;
    position: relative;
    display: inline-block;
    line-height: 1;
    background-color: #efefef;
    text-align: center;
    width: 150px;
    padding-top: 15px;
    padding-bottom: 15px;
    color: var(--color-content-heading);
}

#rs-scala-value {
    font-size: 14px;
}

.rs-scala-value-box::before {
    content: "";
    border-right: 10px solid transparent;
    border-left: 10px solid transparent;
    border-bottom: 10px solid #efefef;
    position: absolute;
    width: 1px;
    top: -10px;
    left: 0;
    right: 0;
    margin-left: auto;
    margin-right: auto;
}

#rs-objekt-detail-contact {
    padding-top: 5rem !important;
}

.object-map {
    min-height: 400px;
}

#object-scala .object-list-name, .object-list-value {
    float: left;
    width: 50%;
    padding-top: 10px;
    padding-bottom: 10px;
    border-style: solid !important;
    border-width: 1px !important;
    border-color: var(--color-content-border) !important;
    border-top: 0px !important;
    border-right: 0px !important;
    border-left: 0px !important;
}

#object-scala .object-list-name {
    padding-left: 25px;
}

@media (max-width: 500px) {
    #object-scala span.object-list-name, .object-list-value {
        font-size: 14px !important;
        padding-left: 10px;
    }
}


#select2-vermarktungsart-dy-result-chl6-pacht, #select2-vermarktungsart-dy-result-sjm2-erbpacht, #select2-objektart-so-result-ealc-zimmer, #select2-objektart-so-result-fyde-buero_praxen, #select2-objektart-so-result-iz3s-gastgewerbe, #select2-objektart-so-result-qxsr-hallen_lager_prod, #select2-objektart-so-result-iz7p-freizeitimmbilien_gewerblich, #select2-objektart-so-result-pm09-einzelhandel, #select2-objektart-so-result-pm09-einzelhandel, #select2-objektart-so-result-dzgq-land_und_forstwirtschaft, #select2-objektart-so-result-pg9h-sonstige {
    display: none !important;
}

#InteressenForm:after, #AdressValues:after {
    content: "" !important;
    display: table !important;
    clear: both !important;
}

#InteressenForm .fields-Kauf, #InteressenForm .fields-Objektart, #InteressenForm .fields-Anzahl, #InteressenForm .fields-Wohnfläche, #InteressenForm .fields-fields-Warmmiete, #InteressenForm .fields-Kaufpreis, #AdressValues .fields-Vorname, #AdressValues .fields-Name, #AdressValues .fields-E-Mail, #AdressValues .fields-Telefonnummer, #InteressenForm .fields-PLZ, #InteressenForm .fields-Umkreis, #AdressValues .fields-Ort, #AdressValues .fields-Plz, #InteressenForm .fields-Warmmiete {
    padding-right: 15px !important;
    padding-bottom: 0px !important;
}

select option {
    padding-top: 10px !important;
    padding-bottom: 10px !important;
}

#InteressenForm .fields-PLZ {
    padding-right: 15px !important;
    padding-bottom: 0px !important;
}

@media only screen and (min-width: 800px) {
    #InteressenForm .fields-Kauf, #InteressenForm .fields-Objektart, #InteressenForm .fields-Anzahl, #InteressenForm .fields-Wohnfläche, #InteressenForm .fields-Warmmiete, #AdressValues .fields-Vorname, #AdressValues .fields-Name, #AdressValues .fields-E-Mail, #AdressValues .fields-Telefonnummer, #InteressenForm .fields-PLZ, #InteressenForm .fields-Umkreis, #AdressValues .fields-Plz, #AdressValues .fields-Ort, .fields-Kaufpreis {
        float: left !important;
        width: 50% !important;
    }
}

@media only screen and (min-width: 800px) {
    #InteressenForm .fields-Objekttyp, #AdressValues .fields-Straße {
        padding-right: 15px !important;
        float: left !important;
        width: 100% !important;
    }
}


#InteressenForm input {
    margin-bottom: 5px !important;
    box-shadow: none !important;
}

#InteressenForm .select2-selection__choice {
    background: var(--color-content-primary) !important;
    font-size: 15px !important;
    color: var(--color-content-bg) !important;
    padding: 2px 7px !important;
    border-radius: 15px !important;
    line-height: 19px !important;
    border: 0px !important;
}

#InteressenForm .select2-selection__choice__remove {
    color: var(--color-content-bg) !important;
    font-weight: 300 !important;
}

#InteressenForm .fields-Objekttyp .select2-selection__rendered {
    padding: 5px 10px !important;
}

#VIPcontactData .data-checkbox {
    margin-top: 30px !important;
}

.us-btn-style_back_not_aktiv {
    font-size: 15px !important;
    line-height: 1.2 !important;
    font-weight: 300 !important;
    font-style: normal !important;
    text-transform: none !important;
    letter-spacing: 0em !important;
    border-radius: 0em !important;
    padding: 0.9em 1.8em !important;
    background: #b3b3b3 !important;
    border-color: transparent !important;
    color: var(--color-content-bg) !important;
}

#buttonArea {
    float: right !important;
    margin-top: 50px !important;
    margin-right: 15px !important;
}

#VIPcontactData {
    display: none !important;
}

#buttonArea, #VIPsearchProfil {
    display: block !important;
}

#buttonArea td {
    border-bottom: 0px !important;
    padding: 0px !important;
}

#contactForm:after {
    content: "" !important;
    display: table !important;
    clear: both !important;
}

#contactForm .label-Vorname, #contactForm .label-Name, #contactForm .label-Telefonnummer, #contactForm .label-E-Mail, #contactForm .label-Grund {
    padding-bottom: 30px !important;
    float: left !important;
    width: 100% !important;
}

@media only screen and (min-width: 800px) {
    #contactForm .label-Vorname, #contactForm .label-Name, #contactForm .label-Telefonnummer, #contactForm .label-E-Mail {
        width: 50% !important;
        padding-right: 15px !important;
    }
}

#contactForm .label-Anrede {
    float: left;
    width: 100% !important;
    padding-bottom: 30px !important;
}

@media only screen and (min-width: 800px) {
    #contactForm .label-Anrede, #contactForm .label-Grund {
        padding-right: 15px !important;
    }
}

#contactForm .select2 {
    padding-right: 7.5px !important;
}


@media only screen and (min-width: 800px) {
    #contactForm .select2 {
        width: 50% !important;
    }
}

@media only screen and (min-width: 800px) {
    #contactForm .select2-selection__arrow {
        margin-right: 10px !important;
    }
}

@media only screen and (min-width: 800px) {
    #contactForm textarea {
        width: calc(100% - 15px);
    }
}

.submit_button {
    font-size: 15px !important;
    line-height: 1.2 !important;
    font-weight: 300 !important;
    font-style: normal !important;
    text-transform: none !important;
    letter-spacing: 0em !important;
    border-radius: 0em !important;
    padding: 0.9em 1.8em !important;
    background: var(--color-content-primary) !important;
    border-color: transparent !important;
    color: var(--color-content-bg) !important;
}

#contactForm .data-checkbox {
    margin-top: 30px !important;
}

#contactForm .submit_button:hover {
    background: var(--color-header-top-bg) !important;
}

#recaptcha .grecaptcha-badge {
    z-index: 100 !important;
    bottom: 100px !important;
    box-shadow: none !important;
}

#BorlabsCookieBox ._brlbs-block-content._brlbs-bg-dark {
    background: rgba(147, 167, 215, 0.70)
}

#BorlabsCookieBox #CookieBoxTextHeadline {
    padding-top: 20px;
    padding-bottom: 20px;
}

#BorlabsCookieBox ._brlbs-box-wrap {
    margin: 10px !important;
}

#BorlabsCookieBox ._brlbs-btn {
    border-radius: 0px !important;
    font-size: 15px !important;
    padding-top: 15px !important;
    padding-bottom: 15px !important;
}

#BorlabsCookieBox label._brlbs-checkbox {
    font-weight: 300 !important;
}

#BorlabsCookieBox #CookieBoxTextDescription, ._brlbs-service-group-description, #BorlabsCookieBox #CookiePrefDescription {
    line-height: 1.6rem !important;
}

/*
#BorlabsCookieBox #CookieBoxSaveButton {
	background: #cccccc!important;
	color: #333!important;
}

#BorlabsCookieBox #CookieBoxSaveButton:hover {
	background: #bcbcbc!important;
}
*/

#BorlabsCookieBox .show-cookie-logo {
    margin: 25px 0px 0px 0px !important;
    float: left !important;
}

#ExposeContact .BorlabsCookie .brlbs-content-blocker .brlbs-icon, #ExposeContact .BorlabsCookie .brlbs-content-blocker h2, #ExposeContact .BorlabsCookie .brlbs-content-blocker .unblock-button {
    text-align: center;
}

#ExposeContact .BorlabsCookie .brlbs-content-blocker img {
    max-width: 180px !important;
}

#ExposeContact .BorlabsCookie .brlbs-content-blocker h2 {
    font-weight: bold !important;
    font-size: 2rem !important;
    line-height: 2.5rem !important;
    padding-bottom: 20px !important;
    color: var(--color-content-primary-grad) !important;
}

#ExposeContact .BorlabsCookie .brlbs-content-blocker p {
    line-height: 25px;
    font-size: 13px !important;
}

#ExposeContact .BorlabsCookie .brlbs-content-blocker .us-btn-style_1 {
    padding: 0.9em 1.8em !important;
}

#BorlabsCookieBox ._brlbs-legal {
    padding-top: 20px !important;
}


.page-template-ratgeber-list #ratgeberListContent {
    padding-top: 1rem !important;
}

.page-template-ratgeber-list .ratgeberListButton {
    margin-top: 2rem !important;
}

.page-template-ratgeber-list .ratgeberListMiddleElement {
    padding: 5rem 0rem;
}

@media only screen and (max-width: 1200px) {
    .page-template-ratgeber-list .vc_col-sm-9 {
        width: 100% !important;
    }

    .page-template-ratgeber-list .ratgeberListMobil .vc_col-sm-9 {
        width: 75% !important;
    }

    .ratgeberASP {
        display: none !important;
    }
}

.ratgeberASPSidebar {
    max-width: 202px !important;
    padding-top: 2rem !important;
    margin-left: 2px !important;
    padding-bottom: 2rem !important
}

#kontaktdaten h3 {
    font-family: var(--font-body) !important;
    font-size: 20px !important;
}

#listReasons i {
    font-size: 9rem !important;
    color: var(--color-header-top-transparent-bg) !important;
}

#listReasons .iconCenter {
    text-align: center !important;
}


.flowplayer .sharing-link,
.flowplayer .fvp-sharing,
.flowplayer .embed-code-toggle {
    display: none !important;
}

.flowplayer {
    margin: 0px !important
}

#googleWidget {
    z-index: 999 !important;
    border: 1px;
    border-style: solid;
    border-color: #f2f4f5 !important;
}

.BadgeContainer__Inner-sc-pa6z2-0 {
    padding: 20px !important;
}

#googleWidget {
    position: fixed !important;
    left: 15px;
    bottom: 15px;
}

#googleWidget .Rating__Container-sc-99sdg2-0 {
    padding-top: 10px;
    padding-bottom: 10px;
}

#googleWidget .BadgeTotalReviews__Content-sc-1sj93r3-0 {
    text-decoration: none !important;
}

#googleWidget .WidgetTitle__Header-sc-ruy1gu-2, #googleWidget .HeaderContainer__Inner-sc-pny2b8-0 {
    display: none !important
}

#auszeichnungen img {
    width: 190px !important;
}

.scoutWidget {
    padding-top: 20px;
}

/* Borlabs */

#BorlabsCookieBox ._brlbs-btn {
    border: 1px solid !important;
}

#BorlabsCookieBoxWidget > a {
    position: relative !important;
    transition: .5s all ease !important;
}

#BorlabsCookieBoxWidget > a svg {
    display: none !important;
}

#BorlabsCookieBoxWidget > a:before {
    content: '' !important;
    display: block !important;
    width: 40px !important;
    height: 40px !important;
    background-image: url(/wp-content/uploads/2023/02/borlabs-cookie-settings.svg) !important;
    background-position: center !important;
    background-size: 100% !important;
    background-repeat: no-repeat !important;
}

#BorlabsCookieBoxWidget:hover {
    animation: hithere 1s ease infinite;
    opacity: 100% !important
}

@keyframes hithere {
    30% {
        transform: scale(1.2);
    }
    40%, 60% {
        transform: rotate(-20deg) scale(1.2);
    }
    50% {
        transform: rotate(20deg) scale(1.2);
    }
    70% {
        transform: rotate(0deg) scale(1.2);
    }
    100% {
        transform: scale(1);
    }
}

/* Grundrisse */

.columnFloorPlans {
    float: left;
    width: 48%;
    margin-right: 1% !important;
    margin-left: 1% !important;
    padding: 10px !important;
    margin-bottom: 20px;
    height: 300px;
    background-size: auto 280px;
    background-repeat: no-repeat;
    background-position: center;
    cursor: pointer;
    background-color: var(--color-content-primary-grad) !important;
}

.rowFloorPlans:after {
    content: "";
    display: table;
    clear: both;
}

.rowFloorPlans .imagesleftFloorPlans, .rowFloorPlans .noimagesleftFloorPlans {
    background: var(--color-content-primary-grad) !important;
    text-align: center;
    padding-top: 3rem;
}

#imagesleft, #noimagesleft {
    position: relative;
}

#imagesleft .imagesleftText, #noimagesleft .onimagesleft {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}

.rowFloorPlans .imagesleftFloorPlans h3, .rowFloorPlans .noimagesleftFloorPlans h3 {
    font-size: 20px;
    line-height: 2rem !important;
    color: #fff !important;
}

/* lightbox */

#lightbox {
    display: none;
    position: fixed;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    background-color: var(--color-content-primary-grad) !important;
    padding: 20px 0;
    text-align: center;
    width: 100%;
    height: 100%;
    z-index: 10000 !important;
    color: #fff;
}

#lightbox img {
    max-width: 100%;
    max-height: 90%;
    position: fixed;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -53%);
}

#close {
    position: fixed;
    top: 10px;
    right: 10px;
    cursor: pointer;
}

#prev, #next {
    position: absolute;
    bottom: 5px;
    color: black;
    padding: 10px 14px;
    cursor: pointer;
}

#prev, #next, #close {
    background-color: hsla(0, 0%, 100%, .75);
}

#prev:hover, #next:hover, #close:hover {
    background-color: white;
}

#next:before, #prev:before {
    position: absolute;
    content: '';
    top: 14px;
    margin: auto;
    width: 18px;
    height: 18px;
    border: 5px solid var(--color-header-top-bg) !important;
    border-left: 0 !important;
    border-top: 0 !important;
}

#next:before {
    transform: rotate(-45deg);
    left: 9px;
}

#prev:before {
    transform: rotate(135deg);
    right: 9px;
}

#next {
    position: absolute;
    bottom: 50%;
    right: 10px;
}

#prev {
    position: absolute;
    bottom: 50%;
    left: 10px;
}

#close, #prev, #next {
    width: 50px;
    height: 50px;
    border-radius: 100%;
    padding: 0;
}

#close:before {
    content: '';
    position: absolute;
    left: 10px;
    top: 22px;
    width: 30px;
    height: 5px;
    background-color: var(--color-header-top-bg);
    transform: rotate(-45deg);
}

#close:after {
    content: '';
    position: absolute;
    left: 10px;
    top: 22px;
    width: 30px;
    height: 5px;
    background-color: var(--color-header-top-bg);
    transform: rotate(45deg)
}

#prevlightbox {
    position: fixed;
    left: 50%;
    transform: translate(-50%, -50%);
}

#nextlightbox {
    position: fixed;
    right: 50%;
    transform: translate(-50%, -50%);
}

#lightbox-title {
    position: absolute !important;
    bottom: 10px;
    left: 50%;
    transform: translate(-50%);
    z-index: 1000;
}

/* Boorlabs Cookies */
.BorlabsCookie ._brlbs-content-blocker ._brlbs-default {
    box-shadow: 0 1.62922px 50.0986px rgb(0 0 0 / 15%);
    background-color: var(--multi-form-bg-color) !important;
    margin: 2em auto;
    padding: 1em;
    text-align: center;
    max-width: 1000px !important;
}

._brlbs-default img {
    max-width: 120px !important;
    width: 100% !important;
}

._brlbs-default h2, #estateDetailContent .BorlabsCookie ._brlbs-default h2 {
    font-weight: 700;
    font-size: max(1.2rem, 1.2vw) !important;
    line-height: 1.2;
    letter-spacing: 0;
    margin: 0.1em 0 0.3rem;
    padding: 0 !important;
    color: var(--color-content-text) !important;
}

.BorlabsCookie ._brlbs-content-blocker ._brlbs-default p {
    margin-bottom: 1em;
}


.BorlabsCookie a._brlbs-default--default-url {
    color: var(--color-content-link) !important;
}

.BorlabsCookie ._brlbs-content-blocker .us-btn-style_1 {
    margin-top: 1rem !important;
}

._brlbs-default p {
    line-height: 25px !important;
}

._brlbs-default a.w-nav-anchor {
    display: inline-block !important;
    padding: 0.8em 1.4em !important;
}

.BorlabsCookie * div, .BorlabsCookie * span, .BorlabsCookie * h1, .BorlabsCookie * h2, .BorlabsCookie * h3, .BorlabsCookie * h4, .BorlabsCookie * h5, .BorlabsCookie * h6, .BorlabsCookie * p, .BorlabsCookie * a, .BorlabsCookie * em, .BorlabsCookie * img, .BorlabsCookie * small, .BorlabsCookie * strike, .BorlabsCookie * strong, .BorlabsCookie * sub, .BorlabsCookie * sup, .BorlabsCookie * b, .BorlabsCookie * u, .BorlabsCookie * i, .BorlabsCookie * center, .BorlabsCookie * ol, .BorlabsCookie * ul, .BorlabsCookie * li, .BorlabsCookie * fieldset, .BorlabsCookie * form, .BorlabsCookie * label, .BorlabsCookie * legend {
    line-height: unset !important;
}

#estateDetailContent .BorlabsCookie ._brlbs-content-blocker ._brlbs-default {
    box-shadow: unset;
}

@media (max-width: 768px) {
    .vc_col-sm-6, .vc_col-sm-8, .vc_col-sm-4, .vc_col-sm-7 {
        width: 100% !important;
    }

    .w-image-h svg {
        display: none;
    }
}

.w-image-h svg {
    margin-bottom: -10px
}

#showlist svg, #showmap svg {
    width: 25px !important;
    stroke: #666 !important;
    margin: 2.5px;
    transition: all .5s;
}

#showlist:hover svg, #showmap:hover svg {
    stroke: #fff !important;
}

.navElement {
    float: left;
}

#showlist, #showmap {
    background: var(--color-content-bg-alt);
    max-width: 36px;
    padding: 3px;
    max-height: 36px;
    border-radius: 3px;
    margin-right: 4px;
    transition: all .5s;
}

#showlist:hover, #showmap:hover {
    background: var(--color-content-primary);
}


#estatemap {
    background: var(--color-content-bg-alt) !important;
    display: none;
    padding-top: 12rem !important;
}

#estatemap .estate-map {
    padding-bottom: 6rem !important;
}

.page-template-object-list #map {
    min-height: 800px !important;
}

.page-template-object-detail-php #map {
    min-height: 400px !important;
}

.animate-right {
    animation-name: slide-right;
    animation-duration: 0.5s;
    animation-timing-function: ease-in-out;
}

@keyframes slide-right {
    0% {
        opacity: 0;
        transform: translateX(-50px);
    }
    100% {
        opacity: 1;
        transform: translateX(0);
    }
}

.leaflet-popup-content-wrapper, .leaflet-popup-content {
    padding: 0px;
    margin: 0px;
    margin-top: 1px !important;
    border-radius: 0px !important;
}

.leaflet-popup-content > * {
    padding: 0px !important;
}

.leaflet-popup-content p {
    font-family: var(--font-h2);
    font-size: 17px !important;
    text-transform: uppercase;
    color: var(--color-content-primary) !important;
    line-height: 1.65 !important;
    font-weight: 600 !important;
    min-height: 57px;
}

.leaflet-pane {
    z-index: 5 !important;
}

.leaflet-top {
    z-index: 6 !important;
}

.navgationListMap :after {
    content: "";
    display: table;
    clear: both;
}

/* Käufer finden*/

.renderResultLengthIn {
    border-radius: 100%;
    overflow: hidden;
}

.renderResultLengthIn svg {
    width: 102%;
    margin-left: -1%;
}

.wpKaeuferCnt {
    margin: 0 0 1rem !important;
}

@media screen and (max-width: 1024px) {
    .wpKaeuferCnt {
        flex-direction: column-reverse;
    }
}

.wpKaeuferCnt2 {
    margin: 0 -0.5rem !important;
}

.wpKaeuferWhiteBlock {
    background-color: #fff;
}

.wpKaeuferBlueBlock {
    background-color: var(--color-alt-content-bg);
    padding: 2rem;
}

.wpKaeuferBlueBlock .vc_column-inner {
    top: calc(50% - 180px)
}

.wpKaeuferBlueBlock h2 {
    color: #fff !important;
}

.wpKaeuferBlueBlock h2 span.pink {
    color: var(--color-content-primary) !important;
}

.wpKaeuferBlueBlockCircleText {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    border-radius: 100%;
    background-color: #fff;
    width: 170px;
    height: 170px;
    color: var(--color-content-primary) !important;
    font-size: 34px;
    font-weight: bold;
    margin: auto auto 3rem;
    font-family: var(--font-h2);
    font-weight: 600;

}

.wpKaeuferResultThreeBlock .vc_column-inner,
.wpKaeuferResultFullBlockHiddenMobile .vc_column-inner {
    padding: 0 .5rem !important;
}

.wpKaeuferResultThreeBlock {
    margin-bottom: 0.5rem;
    overflow: hidden;
}

.wpKaeuferResultThreeBlock svg {
    width: 130px;
    padding: 30px 0px;
}

.wpKaeuferResultFullBlockHiddenMobile {
    display: none !important;
}

@media screen and (max-width: 1024px) {
    .wpKaeuferResultFullBlockHiddenMobile {
        display: block !important;
    }
}

.wpKaeuferResultFullBlockHidden,
.wpKaeuferResultFullBlockHiddenMobile {
    overflow: hidden;
    height: 0;
    transition: all .8s ease;
    background-color: #fff;
}

.wpKaeuferResultFullBlockHidden {
    margin: 0.5rem 0.5rem 1rem;
}

.wpKaeuferResultFullBlockHiddenMobile {
    margin: 1rem 0.5rem 0.5rem;
}

.wpKaeuferResultWhiteBlock {
    padding: 1rem;
    text-align: center;
    background-color: #fff;
}

.wpKaeuferResultWhiteBlockV2 {
    padding: 1rem;
    background-color: #fff;
}

.wpKaeuferResultBlueBlock {
    padding: 1rem;
    background-color: rgba(161, 48, 48, 0.1);
    position: relative;
    padding-bottom: 50px;

}

.wpKaeuferResultBlueBlock2 {
    position: relative;
    padding-bottom: 50px;
    background-color: #fff;
}


.wpKaeuferResultBlueBlockBtn {
    position: relative;
    width: 50px;
    height: 50px;
    border: 3px solid var(--color-content-primary);
    background-color: var(--color-content-primary);
    cursor: pointer;
    transition: all .1s ease;
    position: absolute;
    right: 0;
    bottom: 0;
}

.wpKaeuferResultBlueBlockBtn > div {
    opacity: 0;
}

.wpKaeuferResultBlueBlockBtn.active:before,
.wpKaeuferResultBlueBlockBtn:hover:before {
    transform: rotate(45deg);
    top: 6px;
    right: 12px;
}

.wpKaeuferResultBlueBlockBtn:before {
    transform: rotate(-45deg);
    right: 16px;
    position: absolute;
    content: '';
    top: 12px;
    margin: auto;
    width: 18px;
    height: 18px;
    border: 5px solid #fff;
    border-left: 0 !important;
    border-top: 0 !important;
    transition: all .2s ease;
}

.wpKaeuferResultBlueBlockBtn:hover {
    background-color: #fff;
}

.wpKaeuferResultBlueBlockBtn:hover:before {
    border: 5px solid var(--color-content-primary);
}

.wpKaeuferResultBlueBlockBtnHidden {
    display: none;
}

.wpKaeuferResultThreeBlock h2 {
    font-size: max(1.2rem, 1.2vw) !important;
    color: var(--color-content-link) !important;
}

.svgKauferFinden svg {
    width: 130px;
}

.wpKaeuferResultGrayOver {
    background-color: #d6d6d6;
    border-radius: 5px;
    padding: 10px;
    width: 90%;
    margin: 0 auto;
    font-style: italic;
    height: 100px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    position: relative;
    text-align: center;
    align-items: center;
}

.wpKaeuferResultGrayOver:before {
    content: '';
    position: absolute;
    bottom: -10px;
    width: 20px;
    height: 20px;
    background-color: #d6d6d6;
    margin: auto;
    transform: rotate(45deg);
}

/* OSM Map*/
.wp-popup-map-osm img {
    width: 100%;
    display: block;
}

.wp-popup-map-osm h2 {
    font-size: max(1.3rem, 1.3vw) !important;
    margin-top: 0 !important;
}

.wp-popup-map-osm-text {
    padding: 10px;
}

.leaflet-popup-content h2 {
    color: var(--color-content-primary) !important;
    font-size: 20px !important;
}

.leaflet-popup-content .listEstateBubbleInfo {
    font-size: 13px !important;
    letter-spacing: 1px;
    padding-bottom: 0px;
}


.wpb_wrapper.wpKaeuferResultFlex {
    display: flex;
    flex-wrap: wrap;
}

.wpKaeuferResultFlexBlock {
    min-width: 50%;
    margin: 10px 0 0;
}


@media screen and (max-width: 700px) {
    .wpKaeuferResultFlexBlock {
        min-width: 100%;
    }
}

.wp-step--buttons--next, .wp-step--buttons--send, .wp-step--buttons--prev {
    font-weight: 300 !important
}

.contactForm .wp-step--in-v2 .imageLabel {
    margin: 20px 0px;
}

.contactForm .contactFormIn {
    max-width: 98%;
}

.suchprofil-anlegen textarea {
    margin-top: 20px;
}

.suchprofil-anlegen .wp-step--columnMax {
    margin-bottom: 0px;
}

.suchprofil-anlegen .contactform {
    max-width: 98%;
}

/* content-barriere */

.content-barriere {
    position: relative !important;
}

.notverifyOverlayCB {
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    background: var(--color-chrome-toolbar) !important;
    padding: 20px;
    border-radius: 10px;
    border-width: 5px !important;
    border-style: solid;
    border-color: var(--color-content-primary-grad) !important;
    border-radius: 5px;
}

.content-barriere .notverifyText, .content-barriere .notverifyText-mobil, .notverifyFloorplans {
    width: 100%;
    height: auto;
    opacity: 0.2;
    padding-bottom: 1rem;
}

@media (max-width: 799px) {
    .content-barriere .notverifyText-mobil {
        display: block !important;
    }

    .content-barriere .notverifyText {
        display: none !important;
    }
}

@media (min-width: 800px) {
    .content-barriere .notverifyText-mobil {
        display: none !important;
    }

    .content-barriere .notverifyText {
        display: block !important;
    }
}

.content-barriere .notverifylock {
    max-width: 130px;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}

.content-barriere .notverifyBlock {
    border-width: 5px !important;
    border-style: solid;
    border-color: var(--color-content-primary-grad) !important;
    border-top-right-radius: 5px;
    border-bottom-left-radius: 5px;
    border-bottom-right-radius: 5px;
}

.content-barriere-fields, .content-barriere-btn {
    max-width: 400px;
    margin-bottom: 20px;
    margin-left: auto !important;
    margin-right: auto !important;
    text-align: center;
}


.no-estate-text-area {
    padding: 5rem 0rem 5rem 0rem;
}

#no-estate-smartphone {
    background: #fff !important;
    padding-bottom: 0px !important;
}

#no-estate-smartphone .noestate-phone {
    max-width: 400px;
    margin-bottom: -10px;
}

#no-estate-smartphone .no-estate h2 {
    font-family: var(--font-h2);
    text-transform: uppercase !important;
    padding: 0px !important;
    font-weight: 600 !important;
    font-size: 18px !important;
    color: var(--color-content-primary) !important;
}

#no-estate-smartphone .no-estate h3 {
    font-family: var(--font-h2);
    text-transform: uppercase !important;
    padding: 0px !important;
    font-size: 40px !important;
}

#no-estate-smartphone .no-estate p {
    margin-bottom: 30px;
}

.adresseFooter h3, .socials_footer h3 {
    padding-bottom: 2rem !important;
    margin-bottom: 0px !important;
}

/* loader-ellips
------------------------- */

.loader-ellips {
    font-size: 20px;
    position: relative;
    width: 4em;
    height: 1em;
    margin: 10px auto;
}

.loader-ellips__dot {
    display: block;
    width: 1em;
    height: 1em;
    border-radius: 0.5em;
    background: #555;
    position: absolute;
    animation-duration: 0.5s;
    animation-timing-function: ease;
    animation-iteration-count: infinite;
}

.loader-ellips__dot:nth-child(1), .loader-ellips__dot:nth-child(2) {
    left: 0;
}

.loader-ellips__dot:nth-child(3) {
    left: 1.5em;
}

.loader-ellips__dot:nth-child(4) {
    left: 3em;
}

@keyframes reveal {
    from {
        transform: scale(0.001);
    }
    to {
        transform: scale(1);
    }
}

@keyframes slide {
    to {
        transform: translateX(1.5em);
    }
}

.loader-ellips__dot:nth-child(1) {
    animation-name: reveal;
}

.loader-ellips__dot:nth-child(2), .loader-ellips__dot:nth-child(3) {
    animation-name: slide;
}

/* stylelint-disable-next-line no-duplicate-selectors */
.loader-ellips__dot:nth-child(4) {
    animation-name: reveal;
    animation-direction: reverse;
}


/* scroller-status
------------------------- */

.scroller-status {
    display: none;
    text-align: center;
    color: #777;
    padding: 0px;
    margin: 0px;
}

.link_pages {
    display: none;
}

.scroller-status {
    background: var(--color-content-bg-alt);
}

.page-template-object-list .l-canvas {
    background: var(--color-content-bg-alt) !important;
}

#list {
    padding-top: 5rem;
}

.popup-content-stamm {
    position: relative;
}

.popup-content-stamm .overlay-stamm {
    position: absolute;
    width: 100%;
    height: 100%;
    background: var(--color-chrome-toolbar) !important;
    z-index: 1;
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: center;
}

.popup-content-stamm .overlay-stamm svg {
    max-height: 80px;
}

.similar-list-overlay .overlay-referenz,
#list .overlay-referenz {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    background: var(--color-chrome-toolbar) !important;
    text-align: center;
}

.similar-list-overlay .overlay-referenz svg, #list .overlay-referenz svg {
    width: 25%;
    margin: auto;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
}

#list .text-referenz {
    color: var(--color-content-bg) !important;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    text-align: center;
    font-size: 40px;
    font-family: var(--font-h2);
    text-transform: uppercase;
}

.w-iconbox-icon svg {
    max-height: 12px !important;
}

/* Newsletter form */

.wpNewsletterFrom {
    max-width: 800px;
    margin: 0 auto;
}

.wpNewsletterFromMsg {
    padding: 1rem;
    text-align: center;
}

.wpNewsletterFromMsg.success {
    background-color: #007863;
    color: #fff;
}

.wpNewsletterFromMsg.error {
    background-color: #a50303;
    color: #fff;
}

.wpNewsletterFromIn {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between
}

.wpNewsletterFromInLeft2 {
    width: 49%;
    float: left;
}

.wpNewsletterFromInRight2 {
    width: 49%
}

.wpNewsletterFromInLeft {
    width: 68%;
}

.wpNewsletterFromInRight {
    width: 30%;
}

.wpNewsletterFromInRight input[type="submit"],
.wpNewsletterFromInRight button.submit_button {
    width: 100% !important;
    box-sizing: border-box;
}

.wpNewsletterFromInFull {
    width: 100%;
}

.wpNewsletterFromIn > div {
    margin-bottom: 10px;
}

@media screen and (max-width: 600px) {
    .wpNewsletterFromInLeft2,
    .wpNewsletterFromInRight2,
    .wpNewsletterFromInLeft,
    .wpNewsletterFromInRight {
        width: 100%;
        float: unset;
    }
}


/* Imobilien Suche Form */

.wpSearchImoForm {
    background-color: #fff;
}

.wpSearchImoFormRowHeadLeft,
.wpSearchImoFormRowHeadRight {
    width: 50%;
    padding: 20px 10px;
    text-align: center;
    cursor: pointer;
    font-weight: bold !important;
    font-family: var(--font-h2);
    text-transform: uppercase;
}

.wpSearchImoFormRowHeadLeft {
    border-width: 0px 0px 1px 0px;
    border-style: solid;
    border-color: #eee;
}

.wpSearchImoFormRowHeadRight {
    background-color: #3a3a3a;
    color: #fff;
}

.wpSearchImoFormRow,
.wpSearchImoFormRowHead {
    display: flex;
    flex-wrap: wrap;
}

.wpSearchImoFormRow {
    padding: 2rem;
    justify-content: space-between;
    align-items: flex-end;
}

.wpSearchImoFormRow input,
.wpSearchImoFormRow button {
    width: 100%;
}

.wpSearchImoFormItem3 {
    width: 32%;
}

.wpSearchImoFormItem3:nth-child(2) {
    margin-left: 2%;
    margin-right: 2%;
}

.wpSearchImoFormItem2 {
    width: 32%;
    margin: 10px 0 0;
}

.wpSearchImoFormItem1 {
    width: 66%;
    margin: 1rem 0 0 2%;
}

@media screen and (max-width: 800px) {
    .wpSearchImoFormItem3, .wpSearchImoFormItem3:nth-child(2), .wpSearchImoFormItem2,
    .wpSearchImoFormItem1 {
        width: 100%;
        margin: 1rem 0 0;
    }
}

/* Imobilien Suche Form */

.subsearch {
    background-color: #fff !important;
}

.wpSearchImoFormSub {
    background-color: #fff;
}

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

.wpSearchImoFormSubRow {
    padding: 0rem;
    justify-content: space-between;
    align-items: flex-end;
}

.wpSearchImoFormSubRow input,
.wpSearchImoFormSubRow button {
    width: 100%;
}

.wpSearchImoFormSubItem5 {
    width: 19%;
}

@media screen and (max-width: 1000px) {
    .wpSearchImoFormSubRow {
        justify-content: unset;
    }

    .wpSearchImoFormSubItem5 {
        width: 32%;
    }

    .wpSearchImoFormSubItem5:nth-child(2) {
        margin-left: 2%;
        margin-right: 2%;
    }

    .wpSearchImoFormSubItem5:nth-child(5) {
        width: 66%;
        margin-left: 2%;
    }
}

@media screen and (max-width: 800px) {
    .wpSearchImoFormSubItem5, .wpSearchImoFormSubItem5:nth-child(2), .wpSearchImoFormSubItem5:nth-child(5) {
        width: 100%;
        margin: 1rem 0 0;
    }
}

.wpMagicForm .wpMFrow {
    padding: 10px;
    border: 1px solid #efefef;
    margin-bottom: 10px;
}

.wpMagicForm .wpMFrow input {
    margin-top: 5px !important;
}

.wpMagicForm input[type=submit] {
    float: right;
}

.vc_col-sm-4 .wrapper_margin {
    margin-bottom: 2rem !important;
}

.vc_col-sm-4 .us-btn-style_1 {
    width: 100%;
    margin-top: -1rem !important;
    margin-bottom: 1rem;
}

@media (max-width: 1100px) {
    #estateDetailContent {
        padding: 15px 0px !important;
    }
}

.oo-video {
    position: relative !important;
    padding-bottom: 56.25% !important;
    height: 0 !important;
    overflow: hidden !important;
}

.oo-video iframe {
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    width: 100% !important;
    height: 100% !important;
}

.detailLink {
    background-color: #f2f4f5;
    padding: 10px;
    margin-top: 10px !important;
    cursor: pointer !important;
    transition: transform .2s;
}

.detailLink:hover {
    transform: scale(1.03);
}

.estatelinks .detailLink p {
    color: var(--color-content-text) !important;
}

.listEstateMapContainer {
    float: right;
    margin-bottom: -14px;
    font-size: 14px !important;
    background-color: var(--color-content-primary) !important;
    border-top-right-radius: 5px;
    border-top-left-radius: 5px;
    padding: 3px 10px;
    margin-top: 15px
}

.listEstateMapContainer .w-iconbox-title {
    color: #fff !important;
    font-size: 15px !important;
}

.leaflet-popup-content-wrapper {
    padding: 0rem !important;
}

.leaflet-popup-content > * {
    padding: 0rem !important;
}

.rs-table-detail:after {
    content: "";
    display: table;
    clear: both;
}

.rs-table-detail {
    padding: 2em 0em 2em 1em;
}

.rs-table-detail .rs-table-icon {
    float: left !important;
    width: 30px !important;
}

.rs-table-detail .rs-table-text {
    float: left;
    width: 50% !important;
}

.rs-table-detail .rs-table-value {
    float: left !important;
    width: calc(50% - 30px) !important;
}

.rs-table-detail .rs-column {
    padding-top: 1em;
    padding-bottom: 1rem;
    border-width: 0px 0px 2px 0px;
    border-style: solid;
    border-color: var(--color-content-bg-alt) !important;
}

/* INDIVIDUELL */

#BorlabsCookieBoxWidget > a:before {
    background-image: url(/wp-content/uploads/2023/04/borlabs-cookie-rs.svg) !important;
}

.wpSearchImoFormRowHeadRight {
    background-color: var(--color-footer-bg-grad) !important;
    color: #fff;
}

/* Double Arrow on Select Deaktivert */
.woocommerce-ordering:after, .woocommerce-select:after, .select2-selection__arrow:after {
    content: unset;
}

.leaflet-container a.leaflet-popup-close-button {
    z-index: 2 !important;
}

@media (max-width: 990px) {
    .zweiSpalten {
        column-count: 1;
        column-gap: 20px;
    }

    .dreiSpalten {
        column-count: 1;
        column-gap: 20px;
    }

    .vierSpalten {
        column-count: 1;
        column-gap: 20px;
    }
}

@media (min-width: 990px) {
    .zweiSpalten {
        column-count: 2;
        column-gap: 20px;
    }

    .dreiSpalten {
        column-count: 3;
        column-gap: 20px;
    }

    .vierSpalten {
        column-count: 4;
        column-gap: 20px;
    }
}

@media (min-width: 1024px) {
    .logo img {
        max-height: 100px !important;
        padding-top: 5px !important;
    }
}

@media (min-width: 600px) and (max-width: 1024px) {
    .logo img {
        max-height: 70px !important;
        padding-top: 5px !important;
    }
}

@media (max-width: 600px) {
    .logo img {
        max-height: 50px !important;
        padding-top: 5px !important;
    }
}

.icon img {
    max-height: 20px !important;
    margin: 20px 20px 10px 20px;
}

/* Käufer Finder */
.wpKaeuferResultThreeBlock > .vc_column-inner > .wpb_wrapper {
    display: flex;
    flex-direction: column;
    height: 100%;
    background-color: #fff;
}

.wpKaeuferResultThreeBlock .wpKaeuferResultBlueBlock2 {
    margin-top: auto;
}

.wpKaeuferResultFullBlockHiddenMobile {
    display: none;
}

.wpKaeuferResultFullBlockHidden {
    display: block;
}

@media screen and (max-width: 600px) {
    .wpKaeuferResultFullBlockHiddenMobile {
        display: block;
    }

    .wpKaeuferResultFullBlockHidden {
        display: none;
    }
}

#showmap, #hidemap {
    right: 0;
    top: 50%;
    z-index: 9999;
    background: var(--color-content-primary);
    border-color: transparent;
    color: var(--color-content-bg);
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    padding: 3px;
    height: 36px;
    border-radius: 3px;
    margin-right: 0 !important;
    transition: all .5s;
}

#hidemap {
    padding: 3px 3px 3px 4px;
    border-top-right-radius: 0;
    border-top-left-radius: 0;
    border-bottom-right-radius: 0;
}

#hidemap svg {
    width: 90%;
}

#showmap:before {
    content: '\f103';
    font-family: "fontawesome";
    font-weight: 300;
    font-size: 30px;
}

#showmap {
    position: absolute;
    bottom: -10px;
    top: unset;
    margin: auto !important;
    left: 0;
    right: 0;
}

#hidemap {
    position: absolute;
    top: 0;
    z-index: 999999;
}

#showmap:hover {
    transform: scale(1.1);
}

#showmap svg ellipse,
#showmap svg path {
    stroke: #fff;
}

#showlist svg, #showmap svg {
    margin: auto !important;
}

.allEstatesMap {
    position: relative;
    margin-bottom: 2rem;
    text-align: center;
    z-index: 0;
    margin: 2rem 0;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    background-color: darkgray;
}

.allEstatesMap.active > button {
    display: none;
}

.allEstatesMap > button {
    position: absolute;
    display: inline-block;
    margin: auto !important;
    z-index: 99999;
    font-size: 15px;
    line-height: 1.2 !important;
    font-weight: 300;
    font-style: normal;
    text-transform: none;
    letter-spacing: 0em;
    border-radius: 0em;
    padding: 0.9em 1.8em;
    background: var(--color-content-primary);
    border-color: transparent;
    color: var(--color-content-bg) !important;
}

.allEstatesMap.active {
    height: 550px;
}

.allEstatesMap.active #showmap,
.allEstatesMap #hidemap {
    display: none;
}

.allEstatesMap.active #hidemap {
    display: block;
}

.allEstatesMap .map-overview-img {
    opacity: 1;
    transition: all .5s ease;
    position: relative;
    z-index: 9999;
}

.allEstatesMap.active .map-overview-img {
    opacity: 0;
    z-index: 0;
}

.mapPopup {
    overflow: hidden;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 1;
}

.mapPopupIn {
    position: absolute;
    top: 0;
    top: -100%;
    right: 0;
    width: 100%;
    height: 100%;
    margin: auto;
    display: block;
    z-index: 99999;
    opacity: 0;
    transition: all .5s ease;
}

.mapPopupIn:after {
    content: '';
    position: absolute;
    width: 100%;
    height: 100%;
    left: 0;
    top: 0;
    opacity: 0.7;
}

.mapPopupMap {
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    margin: auto;
    width: 100%;
    max-width: 1350px;
    height: 100%;
    overflow: hidden;
    max-height: 750px;
}

.mapPopup.active .mapPopupIn {
    opacity: 1;
    top: 0;
}

#mapContainer {
    background-color: var(--color-content-primary) !important;
    position: relative;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    z-index: 999998;
}

.map-loader {
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    right: 0;
    margin: auto;
    width: 56px;
    height: 30px;
}

.map-loader div {
    display: inline-block;
    position: absolute;
    left: 0;
    width: 16px;
    height: 16px;
    background: var(--color-content-secondary);
    border-radius: 100%;
    animation: jump 1s linear infinite;
}

.map-loader div:nth-child(1) {
    left: 0;
    animation-delay: 0.2s;
}

.map-loader div:nth-child(2) {
    left: 20px;
    animation-delay: 0.4s;
}

.map-loader div:nth-child(3) {
    left: 40px;
    animation-delay: 0.6s;
}

.loader {
    display: block;
    position: relative;
    width: 56px;
    height: 30px;
    opacity: 0;
    margin: 1.5rem auto 2rem;
}

.loader.show {
    opacity: 1;
}

.loader div {
    display: inline-block;
    position: absolute;
    left: 0;
    width: 16px;
    height: 16px;
    background: var(--color-content-primary);
    border-radius: 100%;
    animation: jump 1s linear infinite;
}

.loader div:nth-child(1) {
    left: 0;
    animation-delay: 0.2s;
}

.loader div:nth-child(2) {
    left: 20px;
    animation-delay: 0.4s;
}

.loader div:nth-child(3) {
    left: 40px;
    animation-delay: 0.6s;
}

.posts {
    animation: append-animate 1s linear;
}

body:not(.page-template-object-detail) .leaflet-popup-tip-container {
    left: 310px !important;
    bottom: -25px !important;
    transform: rotate(-90deg);
}

body:not(.page-template-object-detail) .leaflet-popup.leaflet-zoom-animated {
    left: -310px !important;
    top: -240px !important;
}

body.page-template-object-detail .leaflet-popup-content {
    padding: 10px 20px 10px 10px;
}

@keyframes append-animate {
    from {
        transform: translateY(80px);
        opacity: 0.6;
    }

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

@keyframes jump {
    0% {
        opacity: 1;
        margin-top: 0;
    }

    35% {
        opacity: 0.6;
        margin-top: -15px;
    }

    70% {
        opacity: 1;
        margin-top: 0;
    }
}

@media screen and (max-width: 900px) {
    .allEstatesMap {
        min-height: 200px;
    }

    .allEstatesMap .map-overview-img {
        object-fit: cover;
        height: 100%;
    }
}

@media screen and (max-width: 600px) {
    .allEstatesMap.active {
        position: fixed;
        width: 100%;
        left: 0;
        top: 0;
        height: 100%;
        z-index: 99999;
    }

    .map-loader {
        display: none;
    }
}

.listEstateContainer {
    position: relative;
    z-index: 0;
}

.listEstateStatus:empty {
    display: none;
}

.listEstateRowLabels {
    position: absolute;
    right: 0;
    top: 0;
    padding: 0 1rem;
    width: 100%;
    display: flex;
    flex-direction: row;
    justify-content: flex-end;
}

.listEstateStatus {
    position: relative;
    min-height: 30px;
    z-index: 3;
}

.listEstateFlyBtn {
    z-index: 9999;
    min-height: 30px;
    right: 25px;
    top: 0;
    display: inline-flex;
    text-align: center;
    justify-content: center;
    align-items: center;
    background: var(--color-header-top-bg) !important;
    padding: 0px 7px !important;
    font-size: 20px !important;
    color: #fff !important;
    cursor: pointer;
}

.listEstateFlyBtn:hover {
    opacity: 0.9;
}

.listEstateFlyBtnLabel {
    display: inline-block;
    white-space: nowrap;
    font-size: 12px;
    top: calc(100% + 2px);
    right: 0;
    line-height: 30px;
    padding: 0;
    line-height: 25px;
    background: var(--color-header-top-bg) !important;
    transition: all .2s ease;
    max-width: 0;
    overflow: hidden;
}

.listEstateJSpadding:hover .listEstateFlyBtnLabel {
    max-width: 150px;
    margin-left: 5px;
}

.listEstateFlyBtn i {
    color: #fff !important;
}

#listEstateImage {
    background-color: var(--color-content-primary) !important;
}

.listEstatePopupH2 {
    line-height: 25px !important;
}

.leaflet-popup-content > * {
    margin: 0 !important;
    padding: 0rem 0 !important;
    color: inherit !important;
}

.estateDetailContentReferenz {
    display: block !important;
    width: calc(100% - 2rem) !important;
    margin: 0 1rem 2rem;
    background-color: var(--color-content-primary);
    padding: 1rem;
    color: #fff !important;
    font-size: 20px;
    text-align: center;
    font-family: var(--font-h2);
    border-radius: 2px;
    box-shadow: 0 2px 11px 0 rgba(181, 127, 250, 0.1);
}

.estateDetailContentReferenz h2 {
	margin: 10px 0 !important;
	padding: 0 !important;
	color: #fff !important;
}
.estateDetailContentReferenz p {
    margin: 0 0 10px !important;
	padding: 0 !important;
	color: #fff !important;
}

#defaultDetailPage {
    background-color: var(--color-content-bg-alt) !important;
}

#areaDiskreteVermarktung {
    background-color: var(--color-content-bg-alt) !important;
}

#areaDiskreteVermarktung .us_custom_315b8835 {
    background-color: var(--color-content-bg) !important;
    box-shadow: 0 2px 11px 0 rgba(181, 127, 250, 0.1);
    margin-top: 5rem !important;
    margin-bottom: 5rem !important;
}

#areaDiskreteVermarktung .diskreteVermarktungText {
    padding: 15px;
}

#areaDiskreteVermarktung .diskreteVermarktung .wpEstateFormRow {
    margin-top: 15px;
}

#areaDiskreteVermarktung .diskreteVermarktung button {
    margin-top: 20px;
}

.wpSearchImoFormRowHeadRight {
    background-color: #daa520 !important;
}

#LeistungStartseite .w-iconbox-meta h2 {
    font-size: max(2, 4rem, 2, 4vw) !important;
    text-transform: none !important;
    color: #000 !important;
    padding-bottom: 1.5rem !important;

}

.iconLeistung {
    background: #fff !important;
    padding: 30px !important;
}


.iconLeistung .w-iconbox-text {
    text-align: justify !important;
    min-height: 250px !important;
}

.l-header.bg_transparent.sticky .l-subheader.at_top,
.l-header.bg_transparent.sticky .l-subheader.at_middle {
    background: rgba(255, 255, 255, 0) !important;
}

#vb img {
    height: 100% !important;
    width: auto !important;
}

.w-grid-item.w-grid-item .w-vwrapper.usg_vwrapper_2 {
    background: white !important;
    padding: 2rem !important
}

.us_testimonial_author .w-post-elm-value {
    font-size: 20px !important
}

.layout_1277 .usg_post_custom_field_2 {

    font-size: 0.6rem !important;
}

/* Leistungen */
.leistungRow {
    margin: 1rem 0;
}

.leistungRow > .vc_column-inner > .wpb_wrapper {
    display: flex;
    flex-direction: row;
    justify-content: center;
}

.leistungRowText div {
    width: 100%;
}

body .leistungRowImg {
    max-width: 70px !important;
    animation-name: aflinks !important;
    padding: 0 15px 15px 0;
    margin: 0px 20px 0 30px;

}

body .leistungRowNr {
    position: relative;
    width: 40px !important;
    text-align: center;
    margin: 3px 0 0;
    font-size: 28px;
    font-weight: 500;
    animation-name: aftop !important;
    color: var(--color-content-text);
}

body .leistungRowNr:after {
    content: '';
    position: absolute;
    top: 60px;
    width: 2px;
    right: 0;
    left: 0;
    margin: auto;
    height: calc(100% - 60px);
    background-image: linear-gradient(var(--color-content-primary) 33%, rgba(255, 255, 255, 0) 0%);
    background-size: 2px 14px;
    background-repeat: repeat-y;
}

body .leistungRowText {
    min-height: 120px;
    max-width: 850px !important;
    animation-name: afright !important;
    width: 100%;
}

body .leistungRowText li {
    list-style-type: none;
    padding-left: 28px;
    background-image: url(/wp-content/uploads/2024/09/guenner-right.png);
    background-size: 18px 18px;
    background-repeat: no-repeat;
    background-position: 0 5px;
    min-height: 25px !important;
}

body .leistungRowText h2,
body .leistungRowText h3 {
    font-size: 28px;
    margin-bottom: 7px;
    color: var(--color-content-primary) !important;
}

@keyframes aftop {
    from {
        opacity: 0;
        transform: translateY(3rem)
    }

    to {
        opacity: 1;
        transform: translateY(0)
    }
}

@keyframes aflinks {
    from {
        opacity: 0;
        transform: translateY(3rem) translateX(-3rem)
    }

    to {
        opacity: 1;
        transform: translateY(0) translateX(0)
    }
}

@keyframes afright {
    from {
        opacity: 0;
        transform: translateY(3rem) translateX(3rem)
    }

    to {
        opacity: 1;
        transform: translateY(0) translateX(0)
    }
}

.contactASPtableDetails a {
    font-size: 30px !important;
    line-height: 80px !important;
}

#page-footer h2 {
    font-size: 25px !important;
}

#ASP .g-cols {
    border-width: 1px !important;
    border-style: solid !important;
    border-color: #E5E6E7 !important;
}


#ASP .g-cols img {
    margin-bottom: -8px;
}

.kachelImmoVerwaltung .w-iconbox {
    background: #fff !important;
    padding: 20px;
}


.kachelImmoVerwaltung .wpb_text_column {
    background: #fff !important;
    padding: 0px 20px 20px 20px;
    min-height: 128px;
}

.estateDetailContentArea .wpb_text_column {
    padding-bottom: 1rem
}

body .wpb_text_column li {
    list-style-type: none;
    padding-left: 35px;
    background-image: url('/wp-content/uploads/2025/05/koehler-right.png');
    background-size: 25px 25px;
    background-repeat: no-repeat;
    background-position: 0 3px;
    min-height: 25px !important;
}

body .wpb_text_column li::before {
    content: none;
}

.carousel-similar #listEstateTitle {
    min-height: 80px !important;
}

#pe_rating {
    padding-top: 3rem;
    padding-bottom: 3rem !important;
}

#menu-item-1567.menu-item.level_1 > a:not(.w-btn), #menu-item-1566.menu-item.level_1 > a:not(.w-btn) {
    padding-left: 10px !important;
    padding-right: 10px !important;
}

.menu-item.level_1 i {
    color: #DAA520 !important;
}

#menu-item-1567 > a > span.w-nav-title:after, #menu-item-1566 > a > span.w-nav-title:after {
    display: none !important;
}

/* Floating Menü Style mit Icons und Text */
.left-floating-menu {
    position: fixed;
    right: 0px;
    top: 40%;
    transform: translateY(-50%);
    z-index: 9999;
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.left-floating-menu .left-menu-item {
    background-color: #daa520;
    width: 60px;
    height: 60px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    color: white;
    font-size: 11px;
    text-align: center;
    transition: all 0.3s ease;
    padding: 8px;
}

.left-floating-menu .left-menu-item:hover {
    background-color: #c8941c;
}

/* Icon-Container */
.left-floating-menu .left-menu-icon {
    font-size: 24px;
    margin-bottom: 4px;
    display: block;
}

.left-floating-menu .left-menu-text {
    font-size: 10px;
    line-height: 1.2;
}

/* Mobile version */
@media (max-width: 990px) {

    .left-floating-menu {
        position: fixed;
        bottom: 10px;
        left: 10px;
        right: 10px;
        top: auto;
        transform: none;
        flex-direction: row;
        justify-content: space-around;
        background-color: rgba(255, 255, 255, 0.95);
        padding: 10px;
        box-shadow: 0 -2px 15px rgba(0, 0, 0, 0.1);
    }

    .left-floating-menu .left-menu-item {
        width: 70px;
        height: 70px;
        background-color: #daa520;
    }

    .left-floating-menu .left-menu-icon {
        font-size: 20px;
    }

    .left-floating-menu .left-menu-text {
        font-size: 9px;
    }
}

/* Extra kleine Geräte */
@media (max-width: 480px) {
    .left-floating-menu .left-menu-item {
        width: 60px;
        height: 60px;
    }

    .left-floating-menu .left-menu-icon {
        font-size: 18px;
    }

    .left-floating-menu .left-menu-text {
        font-size: 8px;
    }
}

#budgetRechner .wpb_wrapper, #budgetRechner .wpb_wrapper iframe {
    min-height: 100vh !important;
}

#budgetRechner .wpb_wrapper h2 {
    color: #fff !important;
    background: #6F6D6D;
    margin-bottom: 0rem !important;
    padding-top: 3rem !important;
    font-size: 2rem !important;
    line-height: 2.5rem !important;
}

#bauhow .wpb_wrapper iframe, #bauhow .wpb_wrapper {
    min-height: 100vh !important;
    width: 100% !important;
}