/* 
Theme Name: Hello Elementor Child
Theme URI: https://github.com/elementor/hello-theme/
Description: Hello Elementor Child is a child theme of Hello Elementor, created by Elementor team
Author: Elementor Team
Author URI: https://elementor.com/
Template: hello-elementor
Version: 1.0.5
Text Domain: hello-elementor-child
License: GNU General Public License v3 or later.
License URI: https://www.gnu.org/licenses/gpl-3.0.html
Tags: flexible-header, custom-colors, custom-menu, custom-logo, editor-style, featured-images, rtl-language-support, threaded-comments, translation-ready
*/





@font-face {
    font-display: swap; 
    font-family: 'Open Sans';
    font-style: normal;
    font-weight: 300;
    src: url('/wp-content/themes/hello-elementor-child/assets/fonts/open-sans/open-sans-v40-latin-300.woff2') format('woff2'); 
}

@font-face {
    font-display: swap; 
    font-family: 'Open Sans';
    font-style: italic;
    font-weight: 300;
    src: url('/wp-content/themes/hello-elementor-child/assets/fonts/open-sans/open-sans-v40-latin-300italic.woff2') format('woff2'); 
}

@font-face {
    font-display: swap; 
    font-family: 'Open Sans';
    font-style: normal;
    font-weight: 400;
    src: url('/wp-content/themes/hello-elementor-child/assets/fonts/open-sans/open-sans-v40-latin-regular.woff2') format('woff2'); 
}

@font-face {
    font-display: swap; 
    font-family: 'Open Sans';
    font-style: italic;
    font-weight: 400;
    src: url('/wp-content/themes/hello-elementor-child/assets/fonts/open-sans/open-sans-v40-latin-italic.woff2') format('woff2'); 
}

@font-face {
    font-display: swap; 
    font-family: 'Open Sans';
    font-style: normal;
    font-weight: 500;
    src: url('/wp-content/themes/hello-elementor-child/assets/fonts/open-sans/open-sans-v40-latin-500.woff2') format('woff2'); 
}

@font-face {
    font-display: swap; 
    font-family: 'Open Sans';
    font-style: italic;
    font-weight: 500;
    src: url('/wp-content/themes/hello-elementor-child/assets/fonts/open-sans/open-sans-v40-latin-500italic.woff2') format('woff2'); 
}

@font-face {
    font-display: swap; 
    font-family: 'Open Sans';
    font-style: normal;
    font-weight: 600;
    src: url('/wp-content/themes/hello-elementor-child/assets/fonts/open-sans/open-sans-v40-latin-600.woff2') format('woff2'); 
}

@font-face {
    font-display: swap; 
    font-family: 'Open Sans';
    font-style: italic;
    font-weight: 600;
    src: url('/wp-content/themes/hello-elementor-child/assets/fonts/open-sans/open-sans-v40-latin-600italic.woff2') format('woff2'); 
}

@font-face {
    font-display: swap; 
    font-family: 'Open Sans';
    font-style: normal;
    font-weight: 700;
    src: url('/wp-content/themes/hello-elementor-child/assets/fonts/open-sans/open-sans-v40-latin-700.woff2') format('woff2'); 
}

@font-face {
    font-display: swap; 
    font-family: 'Open Sans';
    font-style: italic;
    font-weight: 700;
    src: url('/wp-content/themes/hello-elementor-child/assets/fonts/open-sans/open-sans-v40-latin-700italic.woff2') format('woff2'); 
}

@font-face {
    font-display: swap; 
    font-family: 'Open Sans';
    font-style: normal;
    font-weight: 800;
    src: url('/wp-content/themes/hello-elementor-child/assets/fonts/open-sans/open-sans-v40-latin-800.woff2') format('woff2'); 
}

@font-face {
    font-display: swap; 
    font-family: 'Open Sans';
    font-style: italic;
    font-weight: 800;
    src: url('/wp-content/themes/hello-elementor-child/assets/fonts/open-sans/open-sans-v40-latin-800italic.woff2') format('woff2'); 
}




















body {
    font-family: 'Open Sans', Arial, Helvetica, sans-serif;
}


:root {
    --esslinger-hero-min-height: 300px;
}

@media (min-width: 768px) {
    :root {
        --esslinger-hero-min-height: 800px;
    }
}

body:not(.elementor-editor-active) .elementor-location-header {
    width: 100%;
    height: auto;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 100;
    transition: all 1000ms ease;
}

body.elementor-editor-active .elementor-location-header {
    background-color: #333;
}

.admin-bar .elementor-location-header {
    top: 32px !important;
}

@media (min-width: 768px) {
    .title-box-container {
        margin-top: -75px !important;
        padding: 0 !important;
    }

    .title-box-container-offset-after {
        margin-top: 75px !important;
        margin-bottom: -75px !important;
    }
    
    .title-box {
        padding: 30px 60px !important;
    }

    .container-offset-left {
        padding-left: 60px !important;
    }

    .title-box-left {
        padding-left: 10px !important;
    }

}


.elementor-widget-heading strong {
    color: var(--e-global-color-primary);
    font-weight: 300;
}

/* .elementor-location-footer .elementor-icon-list-item:nth-child(1) {
    font-weight: bold;
} */

ul.elementor-nav-menu--dropdown a {
    border-inline-start: 0 !important;
    padding-top: .5rem !important;
    display: block;
}

body:not(.page-id-169):not(.single-project) .site-logo svg {
    filter: invert(100%) brightness(100);
}

.scrolling .elementor-location-header {
    top: -250px !important;
    background-color: white;
}

@media (max-width: 767px) {
    .scrolling .elementor-location-header .elementor-nav-menu {
        background-color: white;
    }
}

.scrolling .elementor-menu-toggle svg {
    fill: var(--e-global-color-text) !important;
}

.scrolling .elementor-location-header .site-logo svg,
.scrolling-up .elementor-location-header .site-logo svg {
    filter: none !important;
}

.single-project .elementor-location-header a,
.page-id-169 .elementor-location-header a,
.scrolling .elementor-location-header a {
    color: var(--e-global-color-text) !important;
}

.scrolling-up .elementor-location-header {
    top: 0 !important;
}

.single-project,
.page-id-169 {
    padding-top: 160px;
}



.elementor-form .elementor-field-label {
    display: none;
}

.elementor-form .elementor-field-group {
    margin-bottom: 1rem !important;
}

.form-theme-dark .elementor-field-group:not(.elementor-field-type-upload) .elementor-field:not(.elementor-select-wrapper) {
    background-color: var(--e-global-color-secondary) !important;
    color: #fff;
}

.form-theme-dark { 
    color: white;
}

.form-theme-dark a { 
    color: inherit !important;
}

.form-theme-dark ::-webkit-input-placeholder { 
    color: rgba(255,255,255,.6) !important;
}
.form-theme-dark :-moz-placeholder { /* Mozilla Firefox 4 to 18 */
   color: rgba(255,255,255,.6) !important;
   opacity:  1;
}
.form-theme-dark ::-moz-placeholder { /* Mozilla Firefox 19+ */
   color: rgba(255,255,255,.6) !important;
   opacity:  1;
}
.form-theme-dark :-ms-input-placeholder { /* Internet Explorer 10-11 */
   color: rgba(255,255,255,.6) !important;
}
.form-theme-dark ::-ms-input-placeholder { /* Microsoft Edge */
   color: rgba(255,255,255,.6) !important;
}

.form-theme-dark ::placeholder { /* Most modern browsers support this now. */
   color: rgba(255,255,255,.6) !important;
}

.form-theme-dark button {
    border-color: white !important;
    color: white !important;
}

.form-theme-light .elementor-field-group:not(.elementor-field-type-upload) .elementor-field:not(.elementor-select-wrapper) {
    background-color: var(--e-global-color-01bcd7c) !important;
}

.bg-solid-left {
    background: linear-gradient(to right, white 50%, transparent 50%);
}

.bg-solid-right {
    background: linear-gradient(to left, white 50%, transparent 50%);
}

.elementor-pagination-type-bullets .swiper-pagination-bullet {
    width: 25px !important;
    height: 8px !important;
    border-radius: 0;
    border: 1px solid var(--e-global-color-primary) !important;
    background: none !important;
    opacity: 1;
}

.elementor-pagination-type-bullets .swiper-pagination-bullet.swiper-pagination-bullet-active {
    background: var(--e-global-color-primary) !important;
}

.inline-title {
    display: inline;
}

.elementor-widget-text-editor h3 {
    margin-bottom: 0;
    margin-top: 1.5rem;
}

.elementor-widget-text-editor .elementor-widget-container h3:first-of-type {
    position: relative;
    margin-top: 0;
}

.elementor-widget-text-editor .elementor-widget-container h3:first-of-type:before {
    display: block;
    content: '';
    width: 23px;
    height: 8px;
    margin-bottom: 30px;
    background-color: var(--e-global-color-text);
}

.elementor-widget-text-editor .elementor-widget-container h3.inverse:first-of-type:before {
    background-color: white;
}

@media (min-width: 768px) {
    .elementor-widget-text-editor .elementor-widget-container h3:first-of-type:before {
        display: block;
        content: '';
        position: absolute;
        left: -80px;
        top: .5em;
    }

}

.slider-type-large .swiper-pagination {
    display: none;
}

@media (min-width: 768px) {
    .slider-type-large {
        --swiper-padding-bottom: 45px !important;
    }

    .slider-type-large .swiper-pagination {
        width: calc(100% - 2 * 200px) !important;
        display: flex;
    }
}

.slider-type-large .swiper-horizontal > .swiper-pagination-bullets .swiper-pagination-bullet, 
.slider-type-large .swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet {
    margin-left: 0;
    margin-right: 10px;
}

.slider-type-large .swiper-slide {
    transition: opacity 300ms ease;
    -moz-transition: opacity 300ms ease;
    -webkit-transition: opacity 300ms ease;
}

@media (min-width: 768px) {
    .slider-type-large .swiper-slide:not(.swiper-slide-active) {
        opacity: .3;
    }
}

.slider-type-large .elementor-swiper-button {
    --arrow-prev-translate-x: 100px;
    --arrow-next-translate-x: -100px;
    display: none !important;
}

@media (min-width: 768px) {
    .slider-type-large .elementor-swiper-button {
        display: inline-flex !important;
    }
}

.slider-type-large .elementor-swiper-button svg {
    fill: var(--e-global-color-primary) !important;
    transform: scale(2) !important;
}

body:not(.elementor-editor-active) .slider-overlay {
    opacity: 0;
    transition: opacity 800ms ease, transform 800ms ease;
    -moz-transition: opacity 800ms ease, transform 800ms ease;
    -webkit-transition: opacity 800ms ease, transform 800ms ease;
    transform: translateY(30px);
}

.swiper-slide-active .slider-overlay {
    opacity: 1 !important;
    transform: translateY(0) !important;
}

@media (min-width: 992px) {
    .slider-overlay {
        position: absolute !important;
        width: 100% !important;
        right: -.5px;
        bottom: -45px;
    }
}

.object-meta.elementor-widget-erew-object-details .erew-object-details {
    padding: 0;
}

.object-meta.elementor-widget-erew-object-details .erew-object-details .erew-object-details-item {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    padding: 10px 0 8px 0;
    border-bottom: 1px solid black;
}

@media (min-width: 768px) {
    .object-meta.elementor-widget-erew-object-details .erew-object-details .erew-object-details-item {
        justify-content: start;
    }

    .object-meta.elementor-widget-erew-object-details .erew-object-details .erew-object-details-item > *:nth-child(1) {
        width: 50%;
    }
}

.e-loop-item .erew-object-details {
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: row;
}

.e-loop-item .erew-object-details-item {
    list-style: none;
    padding: 0 10px;
    border-right: 1px solid rgba(0,0,0,.25);
    font-weight: 500;
}

.e-loop-item .erew-object-details-item:nth-last-child(2) {
    border: none;
}

.e-loop-item .erew-object-details-item:nth-last-child(1) {
    border: none;
    margin-left: auto;
}

.object-filter-fields {
    gap: 2rem;
    text-transform: uppercase;
}

@media (min-width: 992px) {
    .object-filter-fields {
        display: flex;
    }

    .object-filter-fields .form-group-object_type {
        display: grid;
        grid-template-columns: 1fr 1fr;
        
    }
}

.form-check-label {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    cursor: pointer;
    font-size: 16px;
    position: relative;
}

/* Hide native input but keep it accessible */
.form-check-label input {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}

/* Rectangle box */
.form-check-control {
    width: 36px;
    height: 18px;
    border: 2px solid #BBC9DE;
    background-color: transparent;
    box-sizing: border-box;
    transition: background-color 0.2s ease, border-color 0.2s ease;
}

/* Checked state */
.form-check-label input:checked + .form-check-control {
    background-color: #BBC9DE;
}

/* Optional: focus state for accessibility */
.form-check-label input:focus-visible + .form-check-control {
    outline: 2px solid #8fa6c8;
    outline-offset: 2px;
}

/* Optional: disabled state */
.form-check-label input:disabled + .form-check-control {
    opacity: 0.5;
    cursor: not-allowed;
}

body:not(.elementor-editor-active) .staff-card-overlay {
    position: absolute;
    width: 100%;
    height: 100%;
    opacity: 0;

    -webkit-transition: opacity 300ms ease;
    -moz-transition: opacity 300ms ease;
    transition: opacity 300ms ease;
}

body:not(.elementor-editor-active) .staff-card:hover .staff-card-overlay {
    opacity: 1;
}

body:not(.elementor-editor-active) .staff-card-overlay-hidden {
    display: none;
}

.carousel-navigation-arrows-outside .elementor-swiper-button-prev {
    left: -45px !important;
}

.carousel-navigation-arrows-outside .elementor-swiper-button-next {
    right: -45px !important;
}

body:not(.elementor-editor-active).hide-related-objects .section-related-objects {
    display: none;
}

.object-status-referenz .section-expose,
.object-status-vermietet .section-expose,
.object-status-verkauft .section-expose {
    display: none;
}

.elementor-location-header .menu-item-external a {
    color: #030303 !important;
}

.elementor-location-footer .menu-item-external a {
    color: #A78C73;
}