* {

    margin: 0;

    padding: 0;

    box-sizing: border-box;

    text-decoration: none;

    list-style: none;

}



html {

    scroll-behavior: smooth;

}



.container-fluid {

    max-width: 1700px;

    padding: 0px 70px;

    width: 100%;

    margin: 0 auto;

    transition: padding 0.4s;

}



body {
    font-family: "Graphik", Sans-serif;
}



span,

input,

sup,

sub,

p,

li,

ul,

ol,

details,

table,

strong,

b {
    font-family: "Graphik", Sans-serif;
}



h1,

h2,

h3,

h4,

h5,

h6 {

    font-family: 'Marcellus', serif;

}









.properties-banner-sec {

    width: 100%;

    padding: 195px 0px 100px;

    position: relative;

    z-index: 1;

    background-image: url(../images/bnr-bg.jpg);

    background-repeat: no-repeat;

    background-position: center;

    background-size: cover;

}



.properties-banner-sec::before {

    content: "";

    position: absolute;

    top: 0;

    left: 0;

    background: #000;

    height: 100%;

    width: 100%;

    opacity: 50%;

    z-index: -1;

}



.bnr-cntnt h1 {

    color: #FFF;

    text-align: center;

    font-size: 84px;

    font-style: normal;

    font-weight: 400;

    line-height: normal;

    text-transform: uppercase;

}

























.property-grid-sec {

    width: 100%;

    background: #fff;

    padding: 120px 0px;

}



.property-grid {

    width: 100%;

    display: grid;

    grid-template-columns: repeat(3, 1fr);

    gap: 60px 30px;

}



.property-cell {

    width: 100%;

    position: relative;

    border: 1px solid rgba(0, 0, 0, 0.20);

    height: 100%;

    overflow: hidden;

    transition: all 0.3s;

}



.property-cell a {

    width: 100%;

    display: block;

    height: 100%;

}



.property-cell .prop-image {

    width: 100%;

    position: relative;

    z-index: 1;

}

.page-template-property-template .prop-image>img {
    max-height: 415px;
}



.prop-image>img {
      width: 100%;
    display: block;
    height: auto;
    object-fit: cover;
    max-height: 330px;
}



.prop-image .availability {

    position: absolute;

    top: 0;

    left: 0;

    right: 0;

    bottom: 0;

    background: rgb(0 0 0 / 15%);

    padding: 20px;

}



.prop-image .availability span {

    display: block;

    width: fit-content;

    padding: 10px 30px;

    border-radius: 50px;

    background: #FFF;

    color: #000;

    font-size: 16px;

    font-style: normal;

    font-weight: 400;

    line-height: normal;

}



.property-cell .prop-cntnt {

    width: 100%;

    position: relative;

    background: #fff;

    transition: all 0.3s;

    padding: 20px 25px;

    display: flex;

    flex-direction: column;

}



.prop-cntnt .prop-pricing span {

    display: block;

    color: #000;

    font-size: 34px;

    font-style: normal;

    font-weight: 500;

    line-height: normal;

    margin-bottom: 20px;

}



.prop-cntnt .prop-info span {

    color: #000;

    font-size: 20px;

    font-style: normal;

    font-weight: 500;

    line-height: 20px;

    display: block;

    margin-bottom: 10px;

    display: -webkit-box;

    -webkit-box-orient: vertical;

    -webkit-line-clamp: 1;

    overflow: hidden;

}



.prop-cntnt .prop-info p {

    color: #000;

    font-size: 12px;

    font-style: normal;

    font-weight: 300;

    line-height: normal;

    margin-bottom: 20px;

}



.prop-cntnt .prop-specs {

    width: 100%;

}



ul.specs {

    width: 100%;

    display: flex;

    justify-content: flex-start;

    align-items: center;

    gap: 10px;

    flex-wrap: wrap;

}



ul.specs li {

    display: block;

    padding: 8px 15px;

    border-radius: 50px;

    background: #F3F5F7;

    display: flex;

    justify-content: center;

    gap: 10px;

    align-items: center;

    min-width: 30px;

}



ul.specs li img {

    height: 14px;

    width: 14px;

    display: block;

    object-fit: contain;

}



ul.specs li span {

    color: #000;

    font-size: 14px;

    font-style: normal;

    font-weight: 400;

    line-height: 14px;

}



ul.specs li span sup {

    padding-left: 2px;

}



.property-cell:hover {

    border-color: transparent;

    box-shadow: 0px 20px 44px -20px rgba(0, 0, 0, 0.20);

}











/* PROPERTY INNERPAGE STYLING */





.gallery {

    width: 100%;

}



.gallery .swiper-slide img {

    user-select: none;

    -webkit-user-select: none;

    -moz-user-select: none;

    -webkit-user-drag: none;

}



.gallery-slider {

    width: 100%;

    height: auto;

    margin: 0 0 30px 0;

}



.gallery-slider .swiper-slide {

    width: 100%;

}



.gallery-slider .swiper-slide img {

    display: block;

    width: 100%;

    margin: 0 auto;

    object-fit: contain;

    cursor: pointer;
	max-height:550px;

}



.gallery-thumbs {

    width: 100%;

    padding: 0;

    overflow: hidden;

}



.gallery-thumbs .swiper-slide {

    width: 100%;

    height: auto;

    text-align: center;

    overflow: hidden;

    /* opacity: 0.1; */

}



.gallery-thumbs .swiper-slide-active {

    opacity: 1;

}



.gallery-thumbs .swiper-slide img {

    width: 100%;

    display: block;

    aspect-ratio: 1/1;

    object-fit: cover;

    cursor: pointer;

}







.property-details-sec {

    width: 100%;

    background: #fff;

    padding: 120px 0px;

}



.property-dt-title {

    width: 100%;

    grid-area: 1 / span 2;

    margin-bottom: 30px;

}



.property-details-sec .breadcrumbs ul {

    width: 100%;

    display: flex;

    justify-content: flex-start;

    align-items: center;

    gap: 30px;

    margin-bottom: 20px;

}



.property-details-sec .breadcrumbs ul li {

    position: relative;

    color: #000;

    font-size: 26px;

    font-style: normal;

    font-weight: 400;

    line-height: 36px;

}



.property-details-sec .breadcrumbs ul li :is(a, span) {

    color: #000;

    font-size: 26px;

    font-style: normal;

    font-weight: 400;

    line-height: 36px;

}



.property-details-sec .breadcrumbs ul li:not(:last-child)::after {

    content: "»";

    display: block;

    position: absolute;

    top: 0;

    bottom: auto;

    right: -22px;

}



.property-dt-title h1 {

    color: #000;

    font-size: 46px;

    font-style: normal;

    font-weight: 400;

    line-height: normal;

}



.property-dt-top-row {

    width: 100%;

    display: grid;

    grid-template-columns: calc(50% - 15px) 1fr;

    gap: 30px;

}



.gallery-slider .swiper-slide::after {

    content: "";

    position: absolute;

    top: 0;

    color: #fff;

    left: 0;

    right: 0;

    bottom: 0;

    display: block;

    background-color: rgb(255 255 255 / 50%);

    pointer-events: none;

    background-image: url(../images/width.svg);

    background-repeat: no-repeat;

    background-position: center;

    background-size: 6%;

    filter: invert(1);

    opacity: 0;

    transition: all 0.3s;

}



.gallery-slider .swiper-slide:hover::after {

    opacity: 1;

}



.property-dt-info {

    width: 100%;

}



.prop-dt-top-info .prop-pricing span {

    display: block;

    color: #000;

    font-size: 30px;

    font-style: normal;

    font-weight: 500;

    line-height: 30px;

    margin-bottom: 20px;

}



.prop-dt-top-info .prop-availability p {

    color: #000;

    font-size: 16px;

    font-style: normal;

    font-weight: 400;

    line-height: normal;

    margin-bottom: 20px;

}



.prop-dt-top-info {

    width: 100%;

}



.prop-dt-top-desc {

    width: 100%;

    margin-top: 40px;

}



.prop-dt-top-desc h3 {

    color: #000;

    font-family: "graphik";

    font-size: 22px;

    font-style: normal;

    font-weight: 500;

    line-height: normal;

    margin-bottom: 20px;

}



.prop-dt-top-desc ul {

    width: 100%;

    display: grid;

    grid-template-columns: repeat(2, 1fr);

    gap: 10px 20px;

    padding-left: 20px;

    margin-bottom: 30px;

}



.prop-dt-top-desc ul li {

    color: #000;

    font-size: 16px;

    font-style: normal;

    font-weight: 400;

    line-height: normal;

    list-style: disc;

}



.prop-dt-top-desc p {

    color: #000;

    font-size: 16px;

    font-style: normal;

    font-weight: 400;

    line-height: normal;

    margin-top: 5px;

}



.prop-dt-buttons {

    width: 100%;

    display: flex;

    flex-wrap: wrap;

    align-items: center;

    gap: 10px 30px;

    margin-top: 55px;

}



.prop-dt-buttons a {

    display: block;

    padding: 18px 30px;

    background: #000;

    color: #FFF;

    font-size: 16px;

    font-style: normal;

    font-weight: 400;

    line-height: 16px;

    text-transform: uppercase;

    box-shadow: 0px 0px 0px 1px #000;

    transition: all 0.3s;

}



.prop-dt-buttons a:hover {

    background: #fff;

    color: #000;

}



.prop-dt-buttons a:nth-child(2) {

    background: #fff;

    color: #000;

}



.prop-dt-buttons a:nth-child(2):hover {

    background: #000;

    color: #FFF;

}



.property-dt-gallery {

    width: 100%;

}



.property-dt-gallery span {

    display: block;

    color: #000;

    font-size: 10px;

    font-style: normal;

    font-weight: 400;

    line-height: 14px;

    text-transform: capitalize;

    width: fit-content;

    margin-top: 20px;

    cursor: pointer;

    user-select: none;

}



.property-dt-gallery span:hover {

    text-decoration: underline;

}



.property-dt-description {

    width: 100%;

    margin-top: 40px;

}



.property-dt-description h2 {

    color: #000;

    font-family: "graphik";

    font-size: 24px;

    font-style: normal;

    font-weight: 500;

    line-height: normal;

    margin-top: 40px;

    margin-bottom: 20px;

}



.property-dt-description p {

    color: #000;

    font-size: 14px;

    font-style: normal;

    font-weight: 300;

    line-height: 27px;

    margin-top: 7px;

    white-space: pre-wrap;

}



.prod-tab-content ul {

    padding-left: 20px;

}



.prod-tab-content ul li {

    color: #000;

    font-size: 14px;

    font-style: normal;

    font-weight: 300;

    line-height: 27px;

    list-style: disc;

}



.property-dt-description ul li::marker {

    font-size: 12px;

}

.comingsoon-slider .dpm-prop-slider .swiper-wrapper::after {
    content: "All properties are available and listed in featured properties";
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    text-align: center;
    color: var(--e-global-color-ffefcc1);
    font-family: Graphik, Sans-serif;
    font-size: 30px;
    font-weight: 400;
    line-height: 32px;
    width: 100%;
    opacity: 1;
}

.comingsoon-slider .dpm-prop-slider .swiper-wrapper {
    position: relative;
    padding: 60px 0px;
}

.comingsoon-slider .dpm-prop-slider .swiper-wrapper:has(div.swiper-slide)::after {
    opacity: 0;
}

/* PROPERTY INNERPAGE STYLING end */











/* TABS */





.product-tabs-info-sec {

    width: 100%;

}



.product-tabs-nav {

    width: 100%;

    border-bottom: 1px solid #D9D9D9;

}



.prod-tab-btns {

    width: 100%;

    display: flex;

    justify-content: flex-start;

    align-items: center;

    gap: 90px;

}



.prod-tab-btns li {

    position: relative;

    padding-bottom: 20px;

    cursor: pointer;

}



.prod-tab-btns li.active p {

    color: #000;

}



.prod-tab-btns li p {

    color: #898989;

    margin-top: 0;

    font-size: 24px;

    font-style: normal;

    font-weight: 500;

    line-height: normal;

}



.prod-tab-btns li::before {

    content: "";

    position: absolute;

    bottom: -1px;

    left: 0;

    right: 0;

    width: 100%;

    height: 1px;

    background: #000;

    transition: all 0.3s;

    transform: scaleX(0);

    transform-origin: left;

}



.prod-tab-btns li.active::before {

    transform: scaleX(1);

}



.product-info-tabs-displayer {

    width: 100%;

    margin-top: 30px;

}



.prod-tab-cntnt-holder .prod-tab-content {

    display: none;

}



.prod-tab-cntnt-holder .prod-tab-content.active {

    display: block;

}



/* TABS end */

















/* dpm NewW */
body:is(.page-template-single-property-template, .page-template-property-template) {
    font-family: "Graphik", Sans-serif !important;
}

.page-template-single-property-template .elementor-location-header {
    background: #000;
}

.page-template-property-template #banner {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    width: 100%;
}

/* SLIDERRR */
.dpm-slider-col {
    width: 100%;
}

.dpm-slider-holder {
    width: 100%;
    display: block;
    position: relative;
}

.dpm-slider-holder .dpm-prop-next {
    background-color: #fff;
    height: 60px;
    width: 60px;
    display: block;
    border-radius: 50%;
    background-image: url(../images/slide-arr.svg);
    background-repeat: no-repeat;
    background-position: center;
    background-size: 40%;
    right: -30px;
    transform: scale(-1);
}

.dpm-slider-holder .dpm-prop-prev {
    background-color: #fff;
    height: 60px;
    width: 60px;
    display: block;
    border-radius: 50%;
    background-image: url(../images/slide-arr.svg);
    background-repeat: no-repeat;
    background-position: center;
    background-size: 40%;
    left: -30px;
}

.dpm-slider-holder .dpm-prop-slider {
    overflow: hidden;
}

.dpm-slider-holder :is(.dpm-prop-next, .dpm-prop-prev)::after {
    display: none;
}



/* ADDING BUTTONS */

.f-button {
    background-position: center !important;
    background-repeat: no-repeat !important;
    background-size: 50% !important;
}

.fancybox__container .f-button {
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    box-sizing: content-box !important;
    margin: 0 !important;
    padding: 0 !important;
    width: var(--f-button-width) !important;
    height: var(--f-button-height) !important;
    border: var(--f-button-border) !important;
    border-radius: var(--f-button-border-radius) !important;
    color: var(--f-button-color) !important;
    background: var(--f-button-bg) !important;
    box-shadow: var(--f-button-shadow) !important;
    pointer-events: all !important;
    cursor: pointer !important;
    transition: var(--f-button-transition) !important;
}

.f-thumbs__slide__button {
    appearance: none !important;
    width: var(--f-thumb-width) !important;
    height: 100% !important;
    margin: 0 -100% 0 -100% !important;
    padding: 0 !important;
    border: 0 !important;
    position: relative !important;
    border-radius: var(--f-thumb-border-radius) !important;
    overflow: hidden !important;
    background: rgba(0, 0, 0, 0) !important;
    outline: none !important;
    cursor: pointer !important;
    pointer-events: auto !important;
    touch-action: manipulation !important;
    opacity: var(--f-thumb-opacity) !important;
    transition: opacity .2s ease !important;
}


.dpm-slider-col h3 {
    text-align: center;
    color: #fff;
}


.lm-btn {
    padding: 10px;
    color: #000;
    text-align: center;
    border: solid 1px;
    margin-top: 25px;
    text-transform: uppercase;
}