/*!
Theme Name: Elegancia Luxury
Theme URI: http://underscores.me/
Author: Underscores.me
Author URI: http://underscores.me/
Description: Description
Version: 1.0.0
Tested up to: 5.4
Requires PHP: 5.6
License: GNU General Public License v2 or later
License URI: LICENSE
Text Domain: elegancia-luxury
Tags: custom-background, custom-logo, custom-menu, featured-images, threaded-comments, translation-ready

This theme, like WordPress, is licensed under the GPL.
Use it to make something cool, have fun, and share what you've learned.

Elegancia Luxury is based on Underscores https://underscores.me/, (C) 2012-2020 Automattic, Inc.
Underscores is distributed under the terms of the GNU GPL v2 or later.

Normalizing styles have been helped along thanks to the fine work of
Nicolas Gallagher and Jonathan Neal https://necolas.github.io/normalize.css/
*/

/*--------------------------------------------------------------
>>> TABLE OF CONTENTS:
----------------------------------------------------------------
# Generic
- Normalize
- Box sizing
# Base
- Typography
- Elements
- Links
- Forms
## Layouts
# Components
- Navigation
- Posts and pages
- Comments
- Widgets
- Media
- Captions
- Galleries
# plugins
- Jetpack infinite scroll
# Utilities
- Accessibility
- Alignments

--------------------------------------------------------------*/

/*--------------------------------------------------------------
# Generic
--------------------------------------------------------------*/

/* Normalize
--------------------------------------------- */

/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */

/* Document
========================================================================== */

/**
* 1. Correct the line height in all browsers.
* 2. Prevent adjustments of font size after orientation changes in iOS.
*/

@import url('https://fonts.googleapis.com/css2?family=DM+Sans:ital,opsz,wght@0,9..40,100..1000;1,9..40,100..1000&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Libre+Bodoni:ital,wght@0,400..700;1,400..700&display=swap');

body {
    font-family: "DM Sans", sans-serif;
    font-weight: 200;
    font-size: 18px;
    /* letter-spacing: 0.1em; */
}

p {
    font-weight: 400;
    font-size: 18px;
    line-height: 1.5;
}

.p-lg {
    font-weight: 400;
    font-size: 28px;
    font-family: "DM Sans", sans-serif;
    text-transform: none;
}

.p-md {
    font-weight: 400;
    font-size: 22px;
}

h1,
.h1 {
    font-family: "DM Sans", sans-serif;
    font-weight: 600;
    font-size: 70px;
    line-height: 1.1;
}


h2 {
    font-family: "DM Sans", sans-serif;
    font-weight: 500;
    font-size: 48px;
    color: #0A1A30;
}

h3 {
    font-size: 36px;
    font-weight: 500;
    margin-bottom: 20px;
}

.space {
    height: 100px;
}

.spaceSm {
    height: 50px;
}

.rounded {
    border-radius: 30px !important;
}

.img-90 {
    width: 90%;
}

.img-100 {
    width: 100%;
}

.img-120 {
    width: 120%;
}

a.custom-logo-link {
    display: block;
    max-width: 300px;
    margin: auto;
}

a.custom-logo-link img {
    max-width: 100%;
    height: auto;
}

.leftSide {
    margin-left: -20%;
}

.content-padding {
    padding-bottom: 110px;
    padding-top: 110px;
}

header.header {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 10;
    background-color: #0A1A30B5;
}

ul.nav {
    justify-content: flex-end;
}

ul.nav li a {
    color: #fff;
    text-decoration: none;
    display: flex;
    align-items: center;
    text-transform: uppercase;
}

ul.nav li a:hover,
ul.nav li.current-menu-item a {
    text-decoration: underline;
}

ul.nav li.menu-item {
    position: relative;
    padding: 10px 20px;
}

ul.nav li ul {
    position: absolute;
    margin: 0px;
    padding: 0px;
    background-color: #000;
    top: 48px;
    width: 220px;
    display: none;
    list-style: none;
}

ul.nav li:hover ul {
    display: block;
}

ul.nav li.menu-item ul li {
    padding: 15px 20px;
}

ul.nav li.menu-item-has-children>a:after {
    content: '';
    width: 12px;
    height: 12px;
    display: flex;
    border-left: 1px solid;
    border-bottom: 1px solid;
    border-color: #fff;
    transform: rotate(-45deg);
    margin-left: 15px;
    margin-top: -4px;
}

.font-light {
    font-weight: 300;
}

.brandBg {
    background-color: #F7F5F0;
}

.banner {
    background-image: url(assets/img/banner.png);
    min-height: 100vh;
    text-align: center;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    color: #fff;
    position: relative;
    background-size: cover;
    padding-top: 5vh;
    border-bottom-right-radius: 10vh;
    border-bottom-left-radius: 10vh;
    overflow: hidden;
}

.innerBanner {
    min-height: 60vh;
    padding-top: 20vh;
}

.bannerContent {
    position: relative;
    z-index: 1;
    max-width: 80%;
    text-align: left;
}

.banner:before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 0;
    background: #0A1A3099;
}

.bannerContent span {
    font-size: 38px;
    font-weight: 500;
    background-color: rgb(255 255 255 / 30%);
    border-radius: 60px;
    padding: 18px 40px;
    line-height: 1;
    display: inline-block;
    margin-bottom: 20px;
    background: rgba(255, 255, 255, 0.15);
    backdrop-filter: blur(2px) saturate(180%);
}


.bannerContent span b {
    font-family: "Libre Bodoni", serif;
    font-style: italic;
    font-weight: normal;
}

.bannerContent h1 {
    margin-left: 30px;
}





.banner .p-lg {
    margin-bottom: 20px;
    margin-top: 20px;
}


.darkBg {
    background-color: #171717;
    color: #fff;
}


.btn {
    color: #fff;
    border: 1px solid #fff;
    border-radius: 30px;
    padding: 15px 40px;
    text-transform: uppercase;
}

.btn:hover {
    background-color: #fff;
    color: #000;
}

.btn.btn-pro {
    border: 1px solid #0A1A30;
    color: #0A1A30;
    background-color: transparent;
}

.btn.btn-pro:hover {
    background-color: #0A1A30;
    color: #fff;
}


.style2 {
    font-family: "Libre Bodoni", serif;
    font-style: italic;
    font-weight: normal;
    color: #014976;
    font-size: 36px;
    font-weight: 700;
}


footer.footer {
    background-color: #0A1A30;
    color: #fff;
    padding-top: 80px;
}

.linkBlock {
    margin: 40px 0px;
}

.socialLinks {
    display: flex;
    justify-content: center;
    align-items: center;
    list-style: none;
    margin: 20px 0px;
    padding: 0px;
}

.socialLinks li {
    margin: 0px 10px;
}

.copyright {
    color: #fff;
    text-align: center;
    border-top: 1px solid rgb(255 255 255 / 10%);
    padding: 30px 0px;
}


.smallInfo {
    display: flex;
    margin: 0px;
    padding: 0px;
    list-style: none;
    justify-content: space-between;
    margin-top: 70px;
}

.smallInfo strong {
    display: block;
}

.smallInfo p {
    font-weight: 100;
    line-height: 1.5;
    margin-top: 20px;
    margin-bottom: 0px;
}

.smallInfo li.sep {
    background-color: #fff;
    width: 1px;
    opacity: 0.2;
}

.lightBlock {
    background-color: #FFFFED;
    padding: 30px;
    margin-bottom: 20px;
}

.lightBlock h3 {
    font-size: 24px;
    font-weight: 900;
    margin-bottom: 20px;
}

.lightBlock ul {
    margin: 0px;
    padding: 0px;
    list-style: none;
}

.lightBlock ul li {
    position: relative;
    padding-left: 35px;
    margin: 12px 5px;
}

.lightBlock ul li:before {
    content: '';
    background-image: url(assets/img/check.svg);
    width: 20px;
    height: 20px;
    display: inline-block;
    position: absolute;
    left: 0;
    top: 4px;
    background-position: center;
    background-size: contain;
}

.notesBlock {
    background-color: #0A1A30;
}

.table th,
.table td {
    background: #eff5f9;
    padding: 10px 15px;
}

.mobileMenu {
    display: none;
}

.menuToggle {
    display: none;
}

.imageRight .row {
    flex-direction: row-reverse;
}

.imageRight .leftSide {
    margin-left: 0;
}


.bgBlock {
    background-image: url(https://www.sitedemo.ch/wp-content/uploads/2025/06/shawnn-tan-vV7dgoL94Ig-unsplash-1-scaled.png);
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    padding-top: 120px;
    padding-bottom: 120px;
    background-color: #014976;
    color: #fff;
}

.filterBlock {
    display: flex;
    justify-content: space-between;
    align-items: end;
}

.filterOuter {
    background-color: #fff;
    padding: 30px;
    border-radius: 20px;
    margin-top: 40px;
    margin-bottom: 50px;
}

.filterBlock label,
.moreFilter label {
    display: block;
    text-transform: uppercase;
    font-size: 16px;
    letter-spacing: 1px;
    font-weight: 400;
    margin-bottom: 10px;
}

.filterBlock .block {
    width: 32%;
}

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

.rangeInput span {
    width: 48%;
    position: relative;
}

.rangeInput span b {
    position: absolute;
    right: 20px;
    top: 14px;
    color: #000;
    opacity: 0.5;
}

.rangeInput span .form-control {
    border-radius: 30px;
    padding: 15px 25px;
    box-shadow: none;
    border-color: #dee2e6;
}

.moreFilter label.label {
    text-transform: capitalize;
    margin-top: 20px;
    margin-bottom: 20px;
}

.moreFilter {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    margin-bottom: 20px;
    margin-top: 20px;
    display: none;
}

.moreFilter.showfilter {
    display: flex;
}

.moreFilter .block {
    width: 32%;
    margin-bottom: 30px;
}

.blockGroup {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.blockGroup .btn {
    border: 1px solid #0A1A30;
    width: 100%;
    text-transform: uppercase;
    background-color: #014976;
}

.blockGroup .btn:hover {
    background-color: #fff;
    color: #0A1A30;
}

.filterBtn {
    background-color: transparent;
    border: 1px solid #D0D5DD;
    border-radius: 50px;
    width: 60px;
    height: 50px;
    margin-left: 20px;
}

.filterBtn:hover,
.filterBtn.showfilter {
    background-color: #014976;
}

.filterBtn:hover img,
.filterBtn.showfilter img {
    filter: brightness(0) invert(1);
}

.filterBlock .block select.form-control {
    border-radius: 30px;
    padding: 15px 25px;
}

.filterBlock .block select.form-control.location {
    background-image: url(https://www.sitedemo.ch/wp-content/uploads/2025/06/locatiobn.svg), url(https://www.sitedemo.ch/wp-content/uploads/2025/06/arrow.svg);
    background-position: center left 15px, center right 20px;
    background-repeat: no-repeat;
    padding-left: 50px;
    outline: none;
    box-shadow: none;
    border-color: #dee2e6;
}

.filterBlock .block select.form-control.protype {
    background-image: url(https://www.sitedemo.ch/wp-content/uploads/2025/06/house.svg), url(https://www.sitedemo.ch/wp-content/uploads/2025/06/arrow.svg);
    background-position: center left 15px, center right 20px;
    background-repeat: no-repeat;
    padding-left: 50px;
    outline: none;
    box-shadow: none;
    border-color: #dee2e6;
}


.propertyItem {
    background-color: #fff;
    border-radius: 20px;
    overflow: hidden;
    margin-bottom: 30px;
}

.propertyItem .thumb {
    background-image: url(https://www.sitedemo.ch/wp-content/uploads/2025/06/0-LA69-4-1.png);
    height: 250px;
    background-position: center;
    background-size: cover;
}

.propertyItem .proInfo {
    padding: 30px;
}

.propertyItem .proInfo h3 {
    font-size: 22px;
    font-weight: 600;
}

.propertyItem .proInfo ul.listItem {
    list-style: none;
    margin: 0px;
    padding: 0px;
    display: flex;
    justify-content: space-between;
    font-weight: 500;
    margin-bottom: 15px;
}

.propertyItem .proInfo ul.listItem img {
    margin-right: 10px;
    vertical-align: -6px;
}

.propertyItem .proInfo ul.listItem.listStyle {
    flex-direction: column;
    font-weight: 200;
    margin: 0px;
}

.propertyItem .proInfo ul.listItem.listStyle li {
    margin-bottom: 10px;
    position: relative;
    padding-left: 30px;
}

.propertyItem .proInfo ul.listItem.listStyle li img {
    position: absolute;
    left: 0;
    top: 1px;
}

.propertyItem .proInfo .price {
    font-size: 36px;
    font-weight: 900;
    color: #0A1A30;
}

.pagination {
    margin-top: 40px;
}

.pagination .page-link {
    color: #0A1A30;
    text-align: center;
    font-weight: 600;
    padding: 12px 24px;
}

.pagination .page-link:hover {
    background-color: #0A1A30;
    color: #fff;
}

.page-item:first-child .page-link,
.page-item:last-child .page-link {
    width: auto;
}

.pagination .page-link img {
    vertical-align: -4px;
    margin-left: 5px;
}

.pagination .page-item:first-child .page-link img {
    margin-right: 8px;
    margin-left: 0px;
}




/* price range */

.price-input {
    width: 100%;
    display: flex;
    margin: 25px 0px 0px 0px;
    justify-content: space-between;
}

.price-input .field:first-child input {
    text-align: left;
}

.price-input .field:last-child input {
    text-align: right;
}

.field input {
    outline: none;
    border-radius: 5px;
    text-align: center;
    -moz-appearance: textfield;
    width: auto;
    height: auto;
    border: 0px;
    font-size: 16px;
}

input[type="number"]::-webkit-outer-spin-button,
input[type="number"]::-webkit-inner-spin-button {
    -webkit-appearance: none;
}

.price-input .separator {
    width: 130px;
    display: flex;
    font-size: 19px;
    align-items: center;
    justify-content: center;
}

.moreFilter .slider {
    height: 5px;
    position: relative;
    background: #ddd;
    border-radius: 5px;
}

.moreFilter .slider .progress {
    height: 100%;
    left: 25%;
    right: 25%;
    position: absolute;
    border-radius: 5px;
    background: #014976;
}

.range-input {
    position: relative;
}

.range-input input {
    position: absolute;
    width: 100%;
    height: 5px;
    top: -5px;
    background: none;
    pointer-events: none;
    -webkit-appearance: none;
    -moz-appearance: none;
}

input[type="range"]::-webkit-slider-thumb {
    height: 20px;
    width: 20px;
    border-radius: 50%;
    background: #014976;
    pointer-events: auto;
    -webkit-appearance: none;
    box-shadow: 0 0 6px rgba(0, 0, 0, 0.05);
    border: 4px solid #fff;
    cursor: pointer;
}

input[type="range"]::-moz-range-thumb {
    height: 20px;
    width: 20px;
    border: none;
    border-radius: 50%;
    background: #014976;
    pointer-events: auto;
    -moz-appearance: none;
    box-shadow: 0 0 6px rgba(0, 0, 0, 0.05);
    border: 4px solid #fff;
    cursor: pointer;
}

/* price range */

/* custom checkbox */
.label {
    display: block;
    position: relative;
    padding-left: 35px;
    margin-bottom: 12px;
    cursor: pointer;
    font-size: 22px;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
}

/* Hide the browser's default checkbox */
.label input {
    position: absolute;
    opacity: 0;
    cursor: pointer;
    height: 0;
    width: 0;
}

/* Create a custom checkbox */
.checkmark {
    position: absolute;
    top: 0;
    left: 0;
    height: 24px;
    width: 24px;
    border: 1.5px solid #b0b0b0;
    border-radius: 8px;
}

/* On mouse-over, add a grey background color */
.label:hover input~.checkmark {
    background-color: #014976;
    border-color: #014976;
}

/* When the checkbox is checked, add a blue background */
.label input:checked~.checkmark {
    background-color: #014976;
    border-color: #014976;
}

/* Create the checkmark/indicator (hidden when not checked) */
.checkmark:after {
    content: "";
    position: absolute;
    display: none;
}

/* Show the checkmark when checked */
.label input:checked~.checkmark:after {
    display: block;
}

/* Style the checkmark/indicator */
.label .checkmark:after {
    left: 9px;
    top: 5px;
    width: 5px;
    height: 10px;
    border: solid white;
    border-width: 0 3px 3px 0;
    -webkit-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    transform: rotate(45deg);
}

/* custom checkbox */

.bredcrumb {
    display: flex;
    list-style: none;
    margin: 0px;
    padding: 0px;
}

.bredcrumb li:after {
    content: '';
    background-image: url(https://www.sitedemo.ch/wp-content/uploads/2025/06/rightarrow.svg);
    width: 20px;
    height: 20px;
    display: inline-block;
    background-position: center;
    vertical-align: -4px;
    background-size: cover;
    margin: 0px 10px;
}

.bredcrumb li:last-child:after {
    display: none;
}

.propertyDetails h1 {
    font-size: 35px;
    margin-bottom: 25px;
}


/* single page */

.propertyInfo ul.listItem {
    list-style: none;
    margin: 0px;
    padding: 0px;
    display: flex;
    font-weight: 500;
    margin-bottom: 15px;
}

.propertyInfo ul.listItem li {
    margin-right: 30px;
}

.propertyInfo ul.listItem img {
    margin-right: 10px;
    vertical-align: -6px;
}

.propertyInfo ul.listItem.listStyle {
    flex-direction: column;
    font-weight: 200;
    margin: 0px;
}

.propertyInfo ul.listItem.listStyle li {
    margin-bottom: 10px;
    position: relative;
    padding-left: 30px;
    margin-right: 0px;
}

.propertyInfo ul.listItem.listStyle li img {
    position: absolute;
    left: 0;
    top: 1px;
}

.propertyInfo .price {
    font-size: 36px;
    font-weight: 900;
    color: #0A1A30;
}

.propertyInfo {
    display: flex;
    flex-wrap: wrap;
    margin-bottom: 30px;
}

.propertyInfo div {
    width: 50%;
    margin-bottom: 15px;
}


.slider-for img {
    width: 100%;
    height: auto;
    border-radius: 30px;
}

.slider-nav {
    margin-top: 20px;
    margin-bottom: 30px;
}

.slider-nav img {
    width: 100%;
    height: auto;
    border-radius: 20px;
}

.slick-slider .slick-slide {
    padding: 0 10px;
}

.slick-slider .slick-list {
    margin-left: -10px;
    margin-right: -10px;
}

.contactForm {
    background-color: #fff;
    padding: 30px;
    border-radius: 30px;
    margin-bottom: 30px;
}

/* single page */


.contactForm .form-control {
    padding: 15px 25px;
    border-radius: 30px;
    resize: none;
}

.contactForm .form-label {
    margin-bottom: 20px;
}

.contactForm .form-action .btn.btn-primary{
    width: 100%;
    background-color: #014976;
    letter-spacing: 1px;
}
.contactForm .form-action .btn.btn-primary:hover{
    background-color: transparent;
}




@media (max-width:1500px) {
    .img-120 {
        width: 100%;
    }

    .leftSide {
        margin-left: 0;
    }
}

@media (max-width:1200px) {
    .smallInfo {
        flex-wrap: wrap;
    }

    .smallInfo li {
        margin-bottom: 20px;
    }
}

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

@media (max-width:768px) {
    .md-none {
        display: none;
    }

    h1 {
        font-size: 50px;
    }

    .banner {
        min-height: 90vh;
    }

    h2 {
        font-size: 40px;
    }

    .btn {
        padding: 0px 0px 0px 25px;
    }

    .content-padding {
        padding-bottom: 40px;
        padding-top: 40px;
    }

    .space {
        height: 50px;
    }

    .footerMenu li a {
        line-height: 1.5;
    }

    .menuToggle {
        width: 50px;
        height: 30px;
        position: absolute;
        top: 40px;
        right: 25px;
        display: block;
        cursor: pointer;
    }

    .menuToggle:before {
        content: '';
        height: 1px;
        width: 100%;
        display: block;
        position: absolute;
        background-color: #fff;
        top: 0;
    }

    .menuToggle:after {
        content: '';
        height: 1px;
        width: 100%;
        display: block;
        position: absolute;
        background-color: #fff;
        bottom: 0;
    }

    .menuToggle hr {
        margin: 0px;
        border: 0px;
        height: 1px;
        background-color: #fff;
        position: absolute;
        top: 15px;
        width: 100%;
        opacity: 1;
    }

    .mobileMenu ul.nav {
        display: flex;
        flex-direction: column;
        padding: 30px;
    }

    .mobileMenu ul.nav li.menu-item {
        padding: 0;
    }

    .mobileMenu ul.nav li a {
        display: block;
        width: 100%;
        padding: 10px 0px;
    }

    .navbar-brand {
        display: block;
        width: 100px;
    }

    .navbar-brand img {
        max-width: 100%;
    }


    ul.nav li.menu-item-has-children>a:after {
        position: absolute;
        right: 0;
        margin: 0px;
        top: 13px;
    }

    ul.nav li ul {
        position: initial;
        width: 100%;
        background-color: transparent;
        padding: 5px 20px;
    }
}