@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@400;500;600;700&family=Poppins:wght@400;700;800&family=Roboto:wght@400;900&family=Rubik:wght@700&display=swap');
html, body{
    font-family: 'Montserrat', sans-serif;
}
.videoWrapper {
    position: relative;
    padding-bottom: 56.25%;
    /* 16:9 */
    padding-top: 25px;
    height: 0;
}
.mortgageBtn{
    text-decoration: none;
}
.mortgageBtn button{
    text-decoration: none;
    background-color: #ebc046;
    color: white;
    padding: 10px;
    text-align: center;
    border-radius: 50px;
    width: 100%;
    font-weight: bold;
}
.mortgageBtn button:hover{
    background-color: #af971c;
    color: white;
}
  
.videoWrapper iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}
nav{
    padding-top: 25px;
    padding-bottom: 25px;
}
.searchr{
    height: 60px;
    background-color: whitesmoke;	
    color:black;
    /*line-height:50px !important; */
    font-size: 0.9em;
    /* display: block; */
    display: flex;
    /* align-items: center;
*/
    justify-content: start;
}
.searchLogo{
    margin-top:4px;
    height: 20px !important;
    /* max-height: 24px !important;
*/
    width: 20px !important;
    /* max-width: 24px !important;
*/
    margin-right: 10px;
}
.productInquiryCon{
    color: white;
    background-color: brown;
    padding: 10px 15px;
    border-radius: 20px;
    margin-bottom: 15px;
    font-weight: 700;
}
.hideser{
    visibility: hidden;
}
.titleBars{
    background-color: #aa4939;
    color: white;
}
.searchr::after {
    background-color: #efefef7e; 
    bottom: 0;
    content: '';
    display: block;
    height: 1px;
    left: 50%;
    position: absolute;
    transform: translate(-50%,0);
    width: 60%;
}
#searchResult{
    position: relative;
    width:100%;
    height:0;
    z-index: 1000;
}
#subsresult{
    position: relative;
    width:100%;
    max-height: 500px;
    overflow-y: auto;
    margin-left: -15px;
}
.subText{
    margin-bottom: 0px;
    font-size: 0.7em;
    color: #212121;
}
.activeser, .searchr:hover, .searchr:hover .subText, .activeser .subText{
    background-color: #e4c423;
    color: white;
    cursor: pointer;
}

.inputBanner{
    margin:0 auto;
    text-align:center;
}
.inputBanner h2{
    font-size:2em;
    color:#fff;
    text-transform:capitalize;
    line-height:2em;
}

.inputBanner p{
    color:#fff;
    line-height:2em;
    margin: 0 0 5em;
}
.inputBanner .form {
    width: 31%;
    /* margin: 1.4% auto 0; */
}
.inputBanner input[type="search"] {
    outline: none;
    width: 74%;
    padding: 11.5px 17px;
    background: rgba(128, 128, 128, 0.39);
    color:black;
    border: none;
    border-bottom: 2px solid  black ;
    font-size: 15px;
    float: left;
    letter-spacing: 1px;
    transition: .5s ease-in;
    -webkit-transition: .5s ease-in;
    -moz-transition: .5s ease-in;
    -o-transition: .5s ease-in;
    -ms-transition: .5s ease-in;
}
.inputBanner input[type="search"]::-webkit-input-placeholder{
    color:#212121;
}
.inputBanner .submitBtn {
    outline: none;
    width: 26%;
    padding: 12px 0px;
    background: #000000;
    color: #fff;
    border: 2px solid black;
    font-size: 13px;
    text-transform: uppercase;
    font-weight: 600;
    letter-spacing: 2px;

    transition: .5s ease-in;
    -webkit-transition: .5s ease-in;
    -moz-transition: .5s ease-in;
    -o-transition: .5s ease-in;
    -ms-transition: .5s ease-in;
}
.inputBanner .submitBtn:hover{
    border-color:#fff;
}
.inputBanner:hover.inputBanner input[type="search"]{
    border-bottom:2px solid black!important;
}
.inputBanner:hover.inputBanner .submitBtn{
    border:2px solid #fff!important;
    transition:.5s ease-in;
    -webkit-transition:.5s ease-in;
    -moz-transition:.5s ease-in;
    -o-transition:.5s ease-in;
    -ms-transition:.5s ease-in;
}

/* Home Page */
.logo{
    width: 150px;
    margin-right: 20px;
}
.navbar.bg-light{
    background-color: white !important;
}
.navIcon{
    color:brown;
}
.nav-item{
    margin-left: 5px;
    margin-right: 5px;
}
.nav-item a{
    color: black;
    font-weight: 600;
    transition: 0.5s;
    padding: 10px 15px !important;
}
.nav-item a:hover{
    background-color: rgb(233 233 238);
    border-radius: 30px;
}
.loginNav .nav-item a:hover{
    color: brown;
}
.signUp{
    background-color: brown;
    color: white !important;
    border-radius: 30px;
    padding: 10px 15px !important;
}
.signUp:hover{
    background-color: rgb(127, 33, 33) !important;
}
#mainCon{
    margin-top: 50px;
    height: 55vh;
    /* background-image: url('../img/Newport-Beach.jpg');
*/
    background-image: url('https://theleader.info/wp-content/uploads/2023/10/sea-views-towards-campoamor-scaled.webp');
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    /* position: relative; */
}
.searchCon{
    width: 90%;
    max-width: 800px;
    margin-left: auto;
    margin-right: auto;
    border-radius: 10px;
    margin-top: 40vh;
    box-shadow: 0px 0px 12px rgba(0,0,0,.15);
}
.searchCon .upperPart{
    min-height: 130px;
    background-color: brown;
    border-top-left-radius: 10px;
    border-top-right-radius: 10px;
    text-align: center;
    padding: 30px 20px 20px 20px;
}
.searchCon .lowerPart{
    min-height: 150px;
    padding: 20px 25px;
    background-color: white;
    border-bottom-left-radius: 10px;
    border-bottom-right-radius: 10px;
}
.searchCon .upperPart h1{
    color: white;
    font-weight: bold;
    margin-bottom: 5px;
    font-size: 1.8em;
}
.searchCon .upperPart p{
    color: white;
    margin-bottom: 0px;
    font-size: 0.9em;
}
#searchFormContainer{
    width: 100%;
}
#searchForm{
    width: 100%;
    display: inline-flex;
}
#searchFieldContainer{
    position: relative;
    width: 100%;
    margin-right: 20px;
}
#searchIcon{
    position: absolute;
    left: 12px;
    top: 12px;
    color: brown;
    font-size: 1.2em;
}
#search{
    height: 45px;
    padding-left: 40px;
    border: 1px solid rgb(167 168 189);
    border-radius: 6px;
    width: 100%;
}
.search2{
    background-color: #f5f5f9;
    border: 1px solid rgb(233 233 238) !important;
    border-radius: 50px !important;
}
#search:focus{
    outline: none;
}
#searchBtn{
    background-color: brown;
    color: white;
    border-radius: 100px;
    border: none;
    box-shadow: none;
    width: 90px;
    min-width: 90px;
    /* height: 40px; */
    font-weight: bolder;
    transition: 0.5s;
    padding-top: 10px;
    padding-bottom: 10px;
}
#searchBtn:hover{
    background-color: rgb(127, 33, 33);
    cursor: pointer;
}
.searchLinks{
    text-decoration: none;
    margin-right: 20px;
    color: #65668A;
    font-weight: 600;
}
.searchLinks:hover, .searchLinks.active{
    color: #232559;
    border-bottom: 2px solid brown;
}

#secondCon{
    margin-top: 250px;
    margin-bottom: 100px;
}
.normalCon{
    margin-top: 100px;
    margin-bottom: 100px;
}
.mainTopic{
    color: #232559;
    font-weight: 600;
    margin-bottom: 5px;
}
.mainTopic2{
    color: #212121;
    font-weight: 600;
    margin-bottom: 5px;
    font-size: 1.5em;
}
.mainTopiCon{
    margin-bottom: 30px;
}
.mainTopiCon p{
    margin-bottom: 5px;
}
.mainTopiCon p a{
    color: brown;
    text-decoration: none;
    font-weight: 600;
}
.mainTopiCon p a:hover{
    color: rgb(127, 33, 33);
    text-decoration: none;
    font-weight: 600;
}
.testimonialBox{
    background-color: white;
    padding: 15px 25px;
    border-radius: 10px;
    box-shadow: 0px 0px 12px rgba(0, 0, 0, .15);
}
.owl-stage{
    padding-top: 15px;
    padding-bottom: 15px;
}
.testiLogo{
    font-size: 3em;
    color: brown;
}
.testiTitle{
    font-size: 1.5em;
    font-weight: bold;
    color: #232559;
}
.testiContent{
    color: #232559;
}
.testiName{
    color: #232559;
    font-style: italic;
    font-weight: bold; 
}
.popularPlace img{
    width: 100%;
    height: 300px;
    object-fit: cover;
    border-radius: 10px;
}
.popularPlace{
    position: relative;
    margin-bottom: 20px;
}
.popularPlace .backOverlay{
    position: absolute;
    top: 0;
    width: 100%;
    height: 100%;
    border-radius: 10px;
    background: linear-gradient(180deg,transparent 44.09%,rgba(0,0,0,.78) 86.94%),linear-gradient(180deg,#000,transparent 25.47%),linear-gradient(0deg,transparent,transparent);
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    align-items: center;
    padding: 20px;
}
.popularPlace .topic{
    color: white;
    font-weight: 600;
    margin-bottom: 0px;
    width: 100%;
}
.popularPlace .viewBtn{
    background-color: brown;
    color: white;
    padding: 10px;
    width: 95%;
    right: auto;
    border-radius: 100px;
    font-weight: 600;
    transition: 0.5s;
}
.popularPlace .viewBtn:hover{
    background-color: rgb(127, 33, 33) !important;
}

.propertyBox{
    box-shadow: 0px 0px 12px rgba(0,0,0,.15);
    border-radius: 10px;
}
.propertyBox .upperPart{
    height: 250px;
    position: relative;
}
.propertyDetailBox .upperPart{
    height: 500px;
    position: relative;
}
.propertyBox .upperPart img{
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-top-left-radius: 10px;
    border-top-right-radius: 10px;
}
.propertyBox .lowerPart{
    padding: 15px;
    background-color: white;
    border-bottom-left-radius: 10px;
    border-bottom-right-radius: 10px;
}
.propertyBox .photoCount{
    position: absolute;
    top: 15px;
    right: 15px;
    box-shadow: 0px 0px 12px rgba(0,0,0,.15);
    background-color: white;
    padding: 5px 10px;
    border-radius: 10px;
}
.propertyBox .photoCount i{
    margin-right: 5px;
}
.propertyBox .lowerPart .propTitle{
    margin-bottom: 0px;
    min-height: 60px;
}
.propertyBox .lowerPart .propTitle a{
    text-decoration: none;
    color: #232559;
    font-weight: 600;
    size: 0.9em;
}
.propertyBox .lowerPart .propTitle a:hover{
    text-decoration:underline;
}
.propertyBox .lowerPart .propPrice{
    color: #232559;
    font-weight: bold;
    size: 1em;
    margin: 0px;
}
.photoCount{
    color: #232559;
}
.propCount{
    margin-top: 15px;
    color: #232559;
}
.propCount p{
    margin-bottom: 0px !important;
    margin-right: 15px;
}
.propCount i{
    margin-right: 8px;
}
.propertyOwl .owl-stage-outer{
    min-height: 430px !important;
}
.propertyDetailOwl{
    margin-top: 10px;
    border-top-left-radius: 15px;
    border-top-right-radius: 15px;
    position: relative;
}
.propertyDetailOwl .owl-nav{
    position: absolute;
    top: 44%;
    width: 100%;
    display: flex;
    justify-content: space-between;
}
.propertyDetailOwl .owl-dots{
    position: absolute;
    bottom: 15px;
    width: 100%;
    display: flex;
    justify-content: center;
}
.propertyDetailOwl .owl-nav button{
    background-color: white !important;
    border-radius: 100px !important;
    padding: 15px;
    width: 50px;
    height: 50px;
}
.propertyDetailOwl .owl-nav button:hover{
    color: black !important;
}
.propertyDetailOwl .owl-stage-outer{
    border-top-left-radius: 15px;
    border-top-right-radius: 15px;
}
.greyCon{
    background-color: rgb(244 244 247);
    padding-top: 10px;
    padding-bottom: 10px;
}

footer{
    border-top: 1px solid rgb(233 233 238);
    color: #232559;
}
.socialIcons{
    margin-right: 15px;
}
footer p{
    font-weight: 500;
}
footer h6{
    font-weight: 800;
    margin-bottom: 15px;
}
footer a{
    color: #232559;
    text-decoration: none;
    font-weight: 500;
}
footer a:hover{
    color: brown;
}
footer .links{
    margin-bottom: 6px;
}
.copyrightRow{
    margin-top: 40px;
    border-top: 1px solid rgb(233 233 238);
    padding-top: 15px;
    padding-bottom: 15px;
}
.copyrightRow p{
    margin-bottom: 0px;
    font-weight: 600;
    color: #232559;
}
.copyrightRow a{
    margin-right: 15px;
    font-size: 0.8em;
}
.copyrightRow a:hover{
    color: brown;
}


/* Result Page */
#searchResultCon{
    box-shadow: 0 3px 15px rgba(0,0,0,.12);
    color: #292932;
    background-color: white;
}
#searchResultCon .mainTopic{
    color: #292932;
}
#searchResultCon a{
    text-decoration: none;
    color: #292932;
}
#searchResultCon a:hover{
    color:#383b8c;
}
.resultCount{
    font-size: 1.2em;
    font-style: italic;
    margin-top: 15px;
    margin-bottom: 15px;
}
.searchResultLinks{
    font-size: 0.9em;
}
.orderByCon p{
    margin: 0px;
    font-size: 1.1em;
    font-weight: 600;
}
.orderByCon{
    display: flex;
    align-items: center;
    margin-top: 15px;
}
.sortByBtn{
    background-color: white;
    border-radius: 50px;
    box-shadow: 0 2px 5px rgba(0,0,0,.1);
    border: 1px solid #e7e7ed;
    font-weight: 700;
    padding-left: 15px !important;
    padding-right: 15px !important;
}
.sortByBtn .arrowIcon{
    color: brown;
    margin-right: 5px;
}
.sortByBtnMenu li a{
    font-weight: 600;
}
.sortByBtnMenu li a:hover, .sortByBtnMenu li a.active{
    background-color: brown !important;
    color: white !important;
}
.propertyCon{
    background-color: white;
    border-radius: 15px;
    box-shadow: 0 2px 5px rgba(0,0,0,.1);
    margin-bottom: 25px;
}
.propertyCon.right{
    padding: 15px 20px;
}
.propertyCon.right p{
    margin-bottom: 10px;
}
.propertyCon.right a{
    color: #212121;
}
.propertyCon.right a:hover{
    color: brown;
}
.propImg{
    width: 100%;
    border-top-left-radius: 15px;
    height: 300px;
    object-fit: cover;
}
a{
    text-decoration: none;
}
.propPriceCon{
    padding: 10px 10px 10px 20px;
    display: flex;
    justify-content: space-between;
    align-items: center;
}
.propPriceCon p{
    font-size: 1.4em;
    font-weight: 700;
    color:#212121;
    margin-bottom: 0px;
}
.propDetails{
    display: flex;
    align-items: center;
    padding: 20px;
    position: relative;
}
.propDetails .title{
    font-weight: 600;
    font-size: 1.2em;
}
.propertyCon .title2{
    font-weight: 600;
    font-size: 1em;
}
.propDetails .description{
    overflow: hidden;
    display: -webkit-box;
    -webkit-line-clamp: 4; /* number of lines to show */
            line-clamp: 4; 
    -webkit-box-orient: vertical;
    margin-top: 15px;
}
.features p{
    margin-bottom: 0px;
    font-weight: 600;
    margin-right: 15px;
}
.tag{
    background-color: #f5f5f9;
    padding: 5px;
    color: #212121;
    font-weight: 600;
    font-size: 0.9em;
    border:1px solid #e7e7ed;
    margin-right: 10px;
    border-radius: 5px;
}
.propViewBtnCon{
    position: absolute;
    right: 0px;
    bottom: 0px;
    width: 100%;
    text-align: right;
    display: flex;
    justify-content: end;
    align-items: end;
}
.propViewBtn{
    background-color: brown;
    padding: 10px;
    width: 50%;
    max-width: 250px;
    text-align: center;
    color: white;
    font-weight: 600;
    border-top-left-radius: 15px;
    border-bottom-right-radius: 15px;
    transition: 0.5s;
}
.propViewBtn .rightArrow{
    display: none;
    transition: 0.5s;
}
.propViewBtn:hover .rightArrow{
    display: unset;
}
.addToFavBtn{
    color: brown;
    font-weight: 700;
    padding: 10px 20px;
    width: 50%;
    max-width: 250px;
}
.addToFavBtn:hover{
    color: rgb(122, 31, 31);
}
.page-item .page-link{
    padding: 10px 20px;
    color: #212121;
}
.page-item.active .page-link, .page-item:hover .page-link{
    border-color: #d8d7e0;
    background-color: #e7e7ed;
}
.paginationCon{
    display: flex;
    max-width: 600px;
    overflow-x: auto;
}
.nextPageBtn{
    background-color: brown;
    color: white !important;
    border-radius: 50px !important;
    margin-left: 15px !important;
    font-weight: 600;
}
.prevPageBtn{
    background-color: brown;
    color: white !important;
    border-radius: 50px !important;
    margin-right: 15px !important;
    font-weight: 600;
}
.nextPageBtn:hover, .prevPageBtn:hover{
    background-color: rgb(122, 31, 31) !important;
}
#filterBar{
    background-color: white;
    border-top: 1px solid rgb(233 233 238);
    border-bottom: 1px solid rgb(233 233 238);
}
#filterBar .row{
    min-height: 60px;
}
.rightBorder{
    border-right: 1px solid rgb(233 233 238);
}
.borderBottom{
    border-bottom: 1px solid rgb(233 233 238);
}
.filterColPadding{
    padding-top: 8px;
    padding-bottom: 8px;
}
.filters{
    background-color: transparent;
    color:#212121;
    border: none;
    width: 150px;
    height: 100%;
}
.toText{
    color:#212121;
}
.centerCol{
    display: flex;
    align-items: center;
    justify-content: space-around;
}
.centerColCenter{
    display: flex;
    align-items: center;
    justify-content: center;
}
.propertyDetailCon{
    padding-bottom: 15px;
}
.propertyDetailCon .title{
    font-size: 1.4em;
    color: #212121;
    font-weight: 600;
    margin-top: 20px;
    text-align: center;
}
.propertyDetailCon .title .price{
    font-weight: 700;
    background-color: #f5f5f9;
    border-radius: 10px;
    padding: 10px;
}
.propertyDetailCon .title2{
    font-size: 1.2em;
    color: #212121;
    font-weight: 600;
    margin-top: 30px;
}
.propertyDetailCon .description{
    max-height: 120px;
    overflow: hidden;
}
#showMoreBtn{
    background-color: transparent;
    box-shadow: none;
    border: none;
    outline: none;
    color: brown;
    font-weight: 600;
}
.featureBox i{
    margin-right: 15px;
    color: brown;
    font-size: 1.1em;
}
.featureBox .t1{
    font-weight: 600;
}
.featureBox p{
    margin-bottom: 0px;
}
.questionOptions{
    min-width: 49%;
    margin-bottom: 15px;
}
.propertyCon select, .propertyCon .inputs{
    border-radius: 50px;
    background-color: #f5f5f9;
}
.subBtn{
    width: 100%;
    border-radius: 50px;
    font-weight: 700;
    background-color: brown;
    color: white;
}
.subBtn:hover{
    background-color: rgb(122, 31, 31);
    color: white;
}
.viewNumBtn{
    width: 100%;
    border-radius: 50px;
    font-weight: 700;
    background-color: white;
    border: 2px solid brown;
    color: brown;
}
.viewNumBtn:hover{
    background-color: white;
    color: brown;
    border: 2px solid brown;
}
.correctIcon{
    font-size: 4em;
    color: #b1ee4d;
}
.successBtns{
    width: 100%;
    border-radius: 50px;
    font-weight: 700;
    background-color: brown;
    color: white;
    margin-bottom: 10px;
}
.successBtnsTop{
    font-size: 0.9em;
}
.successBtns:hover{
    background-color: rgb(122, 31, 31);
    color: white;
}
.backLink i{
    color: brown;
}
.backLink{
    font-weight: 700;
    color: #212121;
}
.shareBtn i{
    color: brown;
}
.shareBtn{
    font-weight: 700;
    font-size: 0.9em;
}

#featuredCon{
    background-color: #eae9ee;
    border-radius: 10px;
}
.pathClick:hover{
    cursor: pointer;
    color:blue;
}

.backBtn{
    font-weight: 600;
    margin-bottom: 20px;
}
.backBtn i{
    color: brown;
}
.cardAgency{
    padding: 20px;
    margin-top: 20px;
    margin-bottom: 20px;
    background-color: white;
    border-radius: 20px;
}
.agencyLogo{
    max-width: 200px;
    margin-top:15px;
    margin-bottom: 20px;
}
.coverImg{
    border-radius: 20px;
}
.likeButton{
    padding: 5px 10px;
    color: white;
    background-color: blue;
    border-radius: 50px;
    box-shadow: none;
    border: none;
    outline: none;
    width: 100px;
    margin-right: 15px;
}
.whatsappBtn{
    padding: 5px 10px;
    background-color: green;
    color: white;
    border-radius: 50px;
    box-shadow: none;
    border: none;
    outline: none;
    width: 150px;
}
.saveBtn{
    font-size: 1.1em;
    font-weight: bold;
    border-radius: 100px;
    border: 1px solid #000e23;
    width: 100%;
    }
    .saveBtn:hover{
    background-color: #000e23;
    color: white;
    }
.nav-tabs .nav-link.active{
    background-color: brown;
    color: white;
}
.nav-tabs .nav-link{
    color: brown;
}
.propertyConTabProp select{
    background-color: white;
}

@media screen and (max-width:769px){
    .popularPlace{
        margin-bottom: 20px;
    }
    #secondCon{
        margin-bottom: 80px;
    }
    .normalCon{
        margin-top: 80px;
        margin-bottom: 80px;
    }
    #mainCon{
        height: 30vh;
    }
    .searchCon{
        margin-top: 19vh;
    }
    .searchCon .upperPart h1{
        font-size: 1.5em;
    }
    .searchCon .upperPart p{
        font-size: 0.8em;
    }
    .searchCon .upperPart{
        min-height: 120px;
    }
    #secondCon{
        margin-top: 240px;
    }
}
@media screen and (max-width:576px){
    #mainCon{
        height: 40vh;
    }
    .searchCon{
        margin-top: 25vh;
    }
    .searchCon .upperPart h1{
        font-size: 1.3em;
    }
    .searchCon .upperPart{
        padding-top: 20px;
        padding: 15px;
    }
    .searchCon .upperPart p{
        font-size: 0.6em;
    }
    .searchCon .lowerPart{
        padding: 15px 15px;
    }
    .searchLinks{
        font-size: 0.8em;
    }
    #searchForm{
        display: block;
    }
    #searchBtn{
        width: 100%;
        margin-top: 15px;
        font-size: 0.9em;
        padding-top: 8px;
        padding-bottom: 8px;
    }
    #search{
        font-size: 0.9em;
        height: 40px;
    }
    #secondCon{
        margin-top: 220px;
        margin-bottom: 50px;
    }
    .popularPlace{
        margin-bottom: 20px;
    }
    .normalCon{
        margin-top: 50px;
        margin-bottom: 50px;
    }
    .page-item .page-link{
        padding: 10px 15px;
        color: #212121;
    }
    .pagination{
        display: block;
    }
    .nextPageBtn{
        font-size: 0.8em;
        padding: 12px 15px !important;
        margin-left: 0px !important;
        margin-top: 15px !important;
        text-align: end;
    }
    .prevPageBtn{
        font-size: 0.8em;
        padding: 12px 15px !important;
        margin-right: 0px !important;
        margin-bottom: 15px !important;
    }
    .mobilePadding{
        padding-left: 20px;
        padding-right: 20px;
    }
    .propImg{
        border-top-right-radius: 15px;
    }
    .addToFavBtn{
        padding: 10px 20px 10px 10px;
        font-size: 0.9em;
    }
    .propViewBtn{
        font-size: 0.9em;
    }
    .propertyDetailBox .upperPart{
        height: 300px;
    }
    .propertyOwl .owl-stage-outer{
        min-height: 300px !important;
    }
    .paginationCon{
        max-width: 100vw;
    }
}



/* Mortgage Calculator */
.inputBox{
    width: 100%;
    position: relative;
}
.calculator{
    color: #232559;
}
.largeInputs{
    outline: none;
    width: 100%;
    height: 42px;
    border: 1px solid #a3a3a0;
    color: black;
    border-radius: 5px;
    padding-right: 42%;
    text-align: right;
    line-height: 50px;
}
#locationSelect{
    color: black;
    border-radius: 5px;
    outline: none;
    width: 100%;
    height: 42px;
    border: 1px solid #a3a3a0;
}
.largeInputs:focus, #locationSelect:focus{
    box-shadow: none;
}
.symbol{
    display: block;
    top: 0;
    right: 38%;
    height: 36px;
    line-height: 40px;
    position: absolute;
}
.inputBoxSmall .symbol{
    right: 30%;
}
a.control-btn.left {
    left: 0;
    padding-left: 3px;
}
a.control-btn.right {
    right: 0;
    padding-right: 3px;
}
a.control-btn {
    z-index: 1000;
    position: absolute;
    top: 0;
    display: none;
    height: 42px;
    line-height: 35px;
    width: 42px;
    text-align: center;
    margin: 0;
    cursor: pointer;
    text-decoration: none;
    font-size: 2em;
}
.inputBox:hover a.control-btn{
    display: block !important;
    color: brown;
}
.inputBox:hover .largeInputs{
    border: 2px solid #ebc046;
}
.inputTitle{
    margin-top: 8px;
    margin-bottom: 0;
    font-weight: 500;
    font-size: 1.1em;
}
.rangeInput{
    margin-top: 15px;
}
input[type=range] {
    -webkit-appearance: none;
    width: 100%;
    height: 8px;
    background: #ddd;
    outline: none;
    opacity: 0.7;
    transition: opacity .2s;
}

input[type=range]:hover {
    opacity: 1;
}

input[type=range]::-webkit-slider-thumb {
    -webkit-appearance: none;
    appearance: none;
    background: brown;
    cursor: pointer;
    border-radius: 50%;
}

input[type=range]::-moz-range-thumb {
    background: brown;
    cursor: pointer;
    border-radius: 50%;
}

input[type=range]::-webkit-slider-runnable-track {
    width: 100%;
    height: 8px;
    cursor: pointer;
    background: linear-gradient(to right, brown 0%, brown var(--value), #ddd var(--value), #ddd 100%);
    border-radius: 5px;
}

input[type=range]::-moz-range-track {
    width: 100%;
    height: 8px;
    cursor: pointer;
    background: linear-gradient(to right, brown 0%, brown var(--value), #ddd var(--value), #ddd 100%);
    border-radius: 5px;
}

.inputBox .percentage {
    color: #8e8f8c;
    display: block;
    position: absolute;
    top: 0;
    right: 20%;
    height: 42px;
    line-height: 42px;
}
.form-check-input:checked {
    background-color: brown;
    border-color: brown;
}
.topBox{
    padding: 15px 20px;
    background-color: #f0e1d5;
    font-weight: 1.1em;
    border-radius: 5px;
}
.lightBold{
    font-weight: 500;
}
.fullBold{
    font-weight: bold;
    font-size: 1.2em;
    color: brown;
}
.bottomBox{
    padding: 15px 20px;
    background-color: #ebc046;
    border-radius: 5px;
}
.darkBold{
    font-weight: bolder;
}

#interestRate::-webkit-outer-spin-button, #interestRate::-webkit-inner-spin-button { 
    -webkit-appearance: none; 
    margin: 0;
}
#interestRate {
    -moz-appearance: textfield;
}
#taxInfo{
    background-color: #e7cf8c;
    padding: 10px 15px;
}

/* --- MODERN UI REDESIGN --- */
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap');

body {
    font-family: 'Inter', 'Montserrat', sans-serif !important;
}

.propertyCon {
    background-color: #ffffff;
    border-radius: 12px;
    box-shadow: 0 4px 20px rgba(0,0,0,0.06);
    margin-bottom: 30px;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
    border: 1px solid #f0f0f0;
    overflow: hidden;
    position: relative;
}

.propertyCon:hover {
    transform: translateY(-3px);
    box-shadow: 0 8px 30px rgba(0,0,0,0.1);
}

.premium-card {
    border: 1px solid #d4af37;
    box-shadow: 0 4px 20px rgba(212, 175, 55, 0.15);
}

.premium-card:hover {
    box-shadow: 0 8px 30px rgba(212, 175, 55, 0.25);
}

.premium-badge {
    position: absolute;
    top: 15px;
    left: 15px;
    background-color: #d4af37;
    color: white;
    padding: 5px 12px;
    border-radius: 50px;
    font-size: 0.8em;
    font-weight: 700;
    z-index: 10;
    box-shadow: 0 2px 10px rgba(0,0,0,0.2);
}

.propImg {
    width: 100%;
    height: 100%;
    min-height: 320px;
    object-fit: cover;
    border-top-left-radius: 12px;
    border-bottom-left-radius: 12px;
}

@media screen and (max-width: 768px) {
    .propImg {
        border-bottom-left-radius: 0;
        border-top-right-radius: 12px;
    }
}

.propDetails {
    padding: 25px !important;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    align-items: flex-start !important;
}

.propDetails .title {
    font-weight: 700;
    font-size: 1.3em;
    color: #212121;
    margin-bottom: 5px;
}

.propDetails .price {
    font-weight: 800;
    font-size: 1.6em;
    color: #c41e3a; /* Spanish Red */
    margin-bottom: 8px;
}

.propDetails .location {
    font-size: 0.9em;
    color: #666;
    margin-bottom: 5px;
}

.propDetails .location i {
    color: #d4af37; /* Spanish Gold */
    margin-right: 5px;
}

.propDetails .propType {
    font-size: 0.85em;
    font-weight: 600;
    color: #444;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin-bottom: 0;
}

.agency-info {
    text-align: right;
    min-width: 120px;
}

.agency-logo {
    max-height: 45px;
    max-width: 100px;
    object-fit: contain;
    margin-bottom: 5px;
}

.agency-name {
    font-size: 0.75em;
    color: #888;
    margin-bottom: 0;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: 120px;
}

.features {
    border-top: 1px solid #f0f0f0;
    border-bottom: 1px solid #f0f0f0;
    padding: 12px 0;
    margin-top: 15px;
    margin-bottom: 15px;
}

.features p {
    margin-right: 20px;
    font-size: 0.95em;
    color: #333;
}

.features i {
    color: #888;
}

.propDetails .description {
    font-size: 0.9em;
    color: #555;
    line-height: 1.5;
    overflow: hidden;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    margin-bottom: 20px;
}

.propViewBtnCon {
    display: flex;
    justify-content: space-between;
    align-items: center;
    position: static;
    width: 100%;
    margin-top: auto;
}

.addToFavBtn {
    color: #d4af37; /* Gold */
    font-weight: 600;
    font-size: 1em;
    padding: 8px 15px;
    border-radius: 50px;
    transition: all 0.2s ease;
    border: 1px solid transparent;
}

.addToFavBtn i {
    font-size: 1.2em;
    margin-right: 5px;
    vertical-align: middle;
}

.addToFavBtn:hover {
    background-color: #fffaf0;
    border: 1px solid #d4af37;
    color: #b8962e;
}

.propViewBtn {
    background-color: #c41e3a; /* Spanish Red */
    color: white !important;
    padding: 12px 25px;
    border-radius: 50px;
    font-weight: 600;
    transition: all 0.3s ease;
    text-align: center;
    max-width: none;
    width: auto;
    border: none;
}

.propViewBtn:hover {
    background-color: #a01830;
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(196, 30, 58, 0.3);
}

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

/* --- MINOR LAYOUT UPDATES --- */

.propDetails {
    position: relative;
    padding-right: 35px !important; /* Make room for heart */
}

.addToFavIcon {
    position: absolute;
    top: 20px;
    right: 20px;
    font-size: 1.5em;
    color: #d4af37; /* Gold */
    transition: all 0.2s ease;
    z-index: 10;
}

.addToFavIcon:hover {
    color: #c41e3a; /* Red */
    transform: scale(1.1);
}

.agency-bottom-logo {
    display: flex;
    align-items: center;
}

.agency-logo-bottom {
    max-height: 40px;
    max-width: 120px;
    object-fit: contain;
}

.pr-4 {
    padding-right: 1.5rem !important;
}

/* Pagination Modernization */
.page-link {
    border-radius: 50px !important;
    margin: 0 5px;
    border: none !important;
    background-color: white;
    color: #333 !important;
    font-weight: 600;
    box-shadow: 0 2px 8px rgba(0,0,0,0.05);
    transition: all 0.3s ease;
}

.page-item.active .page-link {
    background-color: #c41e3a !important; /* Spanish Red */
    color: white !important;
    box-shadow: 0 4px 12px rgba(196, 30, 58, 0.3);
}

.page-link:hover {
    background-color: #f8f9fa !important;
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(0,0,0,0.1);
}

.nextPageBtn, .prevPageBtn {
    background-color: #d4af37 !important; /* Spanish Gold */
    color: white !important;
    padding: 10px 20px !important;
    border-radius: 50px !important;
    box-shadow: 0 4px 12px rgba(212, 175, 55, 0.3);
}

.nextPageBtn:hover, .prevPageBtn:hover {
    background-color: #b8962e !important;
    color: white !important;
}

/* Sidebar Modernization */
.propertyCon.right {
    background-color: #ffffff;
    border-radius: 15px;
    box-shadow: 0 4px 20px rgba(0,0,0,0.04);
    padding: 25px;
    border: 1px solid #f0f0f0;
}

.propertyCon.right .title2 {
    font-size: 1.2em;
    font-weight: 700;
    color: #212121;
    margin-bottom: 20px;
    border-bottom: 2px solid #f0f0f0;
    padding-bottom: 10px;
    position: relative;
}

.propertyCon.right .title2::after {
    content: '';
    position: absolute;
    bottom: -2px;
    left: 0;
    width: 40px;
    height: 2px;
    background-color: #c41e3a; /* Red underline */
}

.propertyCon.right p a {
    color: #555;
    font-size: 0.95em;
    font-weight: 500;
    transition: all 0.2s ease;
    display: block;
    padding: 8px 12px;
    border-radius: 8px;
}

.propertyCon.right p a:hover {
    color: #c41e3a;
    background-color: #fff5f5;
    transform: translateX(5px);
}
