.user-box {
    position: relative
}

.iti.iti--allow-dropdown {
    width: 100% !important
}

.iti__flag-container {
    height: 38px
}

.iti__country-list {
    color: #000 !important
}

#phone {
    padding-left: 50px
}

#popupphone {
    padding-left: 50px
}

#popupphone .labeltag {
    color: #000 !important
}

#ContactUs input::placeholder {
    color: #d2d5c7 !important;
    font-weight: unset !important
}

input:focus::placeholder {
    color: transparent !important
}

label.error {
    color: red !important;
    position: unset !important;
    font-size: 10px !important;
    padding: 0px !important
}

.user-box input {
    margin-bottom: 0px !important
}

.user-box {
    margin-bottom: 15px !important
}

.enquieymb {
    background: #4f1612;
    color: #fff;
    position: fixed;
    bottom: 0;
    z-index: 999;
    border: 1px solid #fff;
    overflow: hidden;
    text-align: center;
    width: 100%
}

.enquieymb h5 {
    padding: 5px 0;
    font-size: 15px !important
}

.enquieymb1 {
    background: #4f1612;
    color: #fff;
    position: fixed;
    bottom: 0;
    z-index: 999;
    width: calc(100% / 2);
    border: 1px solid #fff;
    overflow: hidden;
    text-align: center
}

.enquieymb1 h5 {
    padding: 5px 0;
    font-size: 15px !important
}

.buttonshine {
    position: relative
}

.buttonshine::after {
    content: '';
    top: 0;
    transform: translateX(100%);
    width: 100%;
    height: 220px;
    position: absolute;
    z-index: 1;
    animation: slide 3s infinite;
    background: -moz-linear-gradient(left, #fff0 0%, rgb(255 255 255 / .8) 50%, #fff0 99%, #fff0 100%);
    background: -webkit-gradient(linear, left top, right top, color-stop(0%, #fff0), color-stop(50%, rgb(255 255 255 / .8)), color-stop(99%, #fff0), color-stop(100%, #fff0));
    background: -webkit-linear-gradient(left, #fff0 0%, rgb(255 255 255 / .8) 50%, #fff0 99%, #fff0 100%);
    background: -o-linear-gradient(left, #fff0 0%, rgb(255 255 255 / .8) 50%, #fff0 99%, #fff0 100%);
    background: -ms-linear-gradient(left, #fff0 0%, rgb(255 255 255 / .8) 50%, #fff0 99%, #fff0 100%);
    background: linear-gradient(to right, #fff0 0%, rgb(255 255 255 / .8) 50%, #fff0 99%, #fff0 100%);
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#00ffffff', endColorstr='#007db9e8', GradientType=1)
}

@keyframes slide {
    0% {
        transform: translateX(-100%)
    }

    40% {
        transform: translateX(100%)
    }

    41% {
        transform: translateX(100%)
    }

    45% {
        transform: translateX(100%)
    }

    50% {
        transform: translateX(100%)
    }

    100% {
        transform: translateX(100%)
    }
}

#welcome {
    position: relative;
    padding: 100px 0;
    background: url(../images/welcome-back-bg.webp) repeat-x top center
}

@media(max-width:767px) {
    #welcome {
        padding: 60px 0
    }
}

#welcome .welcome-inner {
    position: relative;
    border-bottom: solid 1px var(--gold);
    border-top: solid 1px var(--gold);
    background-color: var(--White);
    padding: 50px 100px
}

#welcome .welcome-inner p {
    opacity: .8
}

#welcome .welcome-inner .para {
    color: #fff !important
}

#welcome .welcome-inner .welcomeDetails {
    margin-top: 60px
}

#welcome .welcome-inner .welcomeDetails .infoNos {
    background-color: #000;
    padding: 12px 20px;
    opacity: 1;
    height: 136px;
    display: flex;
    justify-content: center;
    flex-direction: column
}

span.counts {
    color: #fff !important
}

#welcome .welcome-inner .welcomeDetails .experienceVideo {
    transition: all .05s cubic-bezier(.645, .045, .355, 1) 0s
}

#welcome .welcome-inner .welcomeDetails .experienceVideo a {
    display: block;
    overflow: hidden;
    position: relative
}

#welcome .welcome-inner .welcomeDetails .experienceVideo a .experiencepix {
    overflow: hidden;
    height: 291px;
    transition: 1s;
    background-color: #000
}

#welcome .welcome-inner .welcomeDetails .experienceVideo a .experiencepix img {
    width: 100%;
    height: 110%;
    object-fit: cover;
    transition: 1s
}

#welcome .welcome-inner .welcomeDetails .experienceVideo a .play-icon {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: 1;
    width: 50px;
    height: 50px
}

#welcome .welcome-inner .welcomeDetails .experienceVideo a h2 {
    position: absolute;
    bottom: 20px;
    text-align: center;
    z-index: 1;
    color: var(--White);
    font-size: 20px;
    font-weight: var(--font-weight-700);
    padding: 0 60px
}

@media(max-width:767px) {
    #welcome .welcome-inner .welcomeDetails .experienceVideo a h2 {
        padding: 0 20px
    }
}

#welcome .welcome-inner .welcomeDetails .experienceVideo:hover .experiencepix {
    transform: scale(1.1)
}

#welcome .welcome-inner .welcomeDetails .experienceVideo:hover .experiencepix img {
    opacity: .7
}

#welcome .welcome-inner .welcomeDetails .multilevelgrand {
    position: relative;
    overflow: hidden;
    height: 291px;
    transition: all .05s cubic-bezier(.645, .045, .355, 1) 0s
}

#welcome .welcome-inner .welcomeDetails .multilevelgrand img {
    width: 100%;
    height: 110%;
    object-fit: cover
}

@media(max-width:767px) {
    #welcome .welcome-inner .welcomeDetails .multilevelgrand {
        margin-bottom: 20px;
        height: 430px
    }
}

#welcome .welcome-inner .welcomeDetails .multilevelgrand .multilevelgrandimg {
    transition: 1s
}

@media(max-width:767px) {
    #welcome .welcome-inner .welcomeDetails .multilevelgrand .multilevelgrandimg {
        height: 100%
    }
}

#welcome .welcome-inner .welcomeDetails .multilevelgrand:hover .multilevelgrandimg {
    transform: scale(1.1)
}

#welcome .welcome-inner .welcomeDetails .multilevelgrand h2 {
    position: absolute;
    bottom: 20px;
    z-index: 1;
    color: var(--White);
    font-size: 20px;
    font-weight: var(--font-weight-700);
    padding: 20px
}

@media(max-width:767px) {
    #welcome .welcome-inner .welcomeDetails .multilevelgrand h2 {
        padding: 0 30px;
        bottom: 20px
    }
}

#welcome .welcome-inner .welcomeDetails .multilevelgrand .image-label {
    right: 10px;
    bottom: 10px
}

@media(max-width:767px) {
    #welcome .welcome-inner {
        padding: 20px 0
    }

    #welcome .welcome-inner .welcome-left {
        margin-bottom: 10px
    }

    #welcome .welcome-inner .welcomeDetails {
        margin-top: 30px
    }

    #welcome .welcome-inner .welcomeDetails .col-lg-8 {
        padding: 0 0
    }

    #welcome .welcome-inner .welcomeDetails .d-flex {
        justify-content: space-between
    }

    #welcome .welcome-inner .welcomeDetails .infoNos {
        width: 48%;
        padding: 12px 10px
    }

    #welcome .welcome-inner .welcomeDetails .infoNos .nos {
        font-size: 40px
    }
}

#MasterLayout {
    position: relative;
    overflow: hidden;
    height: 1170px;
    background-color: #000
}

.commonCTA {
    position: relative;
    display: table;
    border: 1px solid #fff;
    border-radius: 30px;
    padding: 10px 20px;
    font-size: 16px;
    color: #fff;
    font-weight: var(--font-weight-500);
    transition: .5s;
    text-align: center;
    text-transform: uppercase;
    margin: 24px auto;
    overflow: hidden;
    white-space: nowrap
}

.commonCTA span {
    position: relative;
    z-index: 1
}

.commonCTA::after {
    content: "";
    display: block;
    position: absolute;
    width: 300px;
    height: 300px;
    background-color: var(--White);
    top: 100%;
    left: 50%;
    border-radius: 50%;
    right: 0;
    margin: 0 auto;
    opacity: .1;
    transition: all .8s ease-in;
    transform: translate(-50%, 10%)
}

.commonCTA:hover {
    color: #000
}

.commonCTA:hover::after {
    top: -300%;
    border-radius: 30px;
    opacity: 1;
    background-color: #fff
}

.vertical-btn {
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.8s ease, visibility 0.8s ease
}

.vertical-btn.show {
    opacity: 1;
    visibility: visible
}

.vertical-btn {
    position: fixed;
    right: 0;
    top: 27%;
    transform: translateY(-50%) rotate(-90deg);
    transform-origin: right bottom;
    background-color: #4f1612;
    color: #fff;
    z-index: 1026;
    border: 1px solid #fff;
    border-bottom: none;
    font-size: 16px;
    padding: 10px 25px;
    text-align: center;
    cursor: pointer;
    overflow: hidden
}

.vertical-btn a {
    text-decoration: none;
    color: inherit;
    display: block;
    position: relative;
    z-index: 1
}

.vertical-btn::after {
    content: '';
    position: absolute;
    top: 0;
    left: -75%;
    width: 50%;
    height: 100%;
    background: linear-gradient(120deg, #fff0 0%, rgb(255 255 255 / .4) 50%, #fff0 100%);
    transform: skewX(-25deg);
    transition: all 0.5s ease
}

.vertical-btn:hover::after {
    animation: shine 1s forwards
}

@keyframes shine {
    0% {
        left: -75%
    }

    100% {
        left: 125%
    }
}

.vertical-btn:hover {
    background-color: #4f1612;
    color: #fff
}

@media (max-width:768px) {
    .vertical-btn {
        display: none
    }
}

/* Overview Section Styling */
#Overview {
    background-color: var(--White);
    padding: 50px 0;
    position: relative;
    overflow: hidden;
}

#Overview .overview-content {
    padding-left: 30px;
}

#Overview .overview-content p {
    font-size: 17px;
    line-height: 1.8;
    color: var(--TextColor);
    text-align: justify;
}

#Overview .reveal img {
    border: 1px solid var(--gold);
    padding: 10px;
    background-color: var(--White);
    border-radius: 8px;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.08);
    transition: transform 0.5s ease;
}

#Overview .reveal img:hover {
    transform: scale(1.02);
}

@media (max-width: 991px) {
    #Overview {
        padding: 60px 0;
    }

    #Overview .overview-content {
        padding-left: 0;
        margin-top: 30px;
    }
}

/* Floorplans Custom Height and Premium Blur Effect */
#Floorplans .galleryImg.floorplanform {
    border: 1px solid #c59a5b !important;
    padding: 15px !important;
    background-color: #fff !important;
    border-radius: 8px;
    overflow: hidden;
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.05);
    height: 350px;
    /* Common height on desktop */
    transition: all 0.3s ease;
}

#Floorplans .galleryImg.floorplanform img {
    height: 100% !important;
    width: 100% !important;
    object-fit: contain !important;
    border: none !important;
    padding: 0 !important;
    -webkit-filter: blur(6px);
    filter: blur(6px);
    transition: filter 0.3s ease, -webkit-filter 0.3s ease;
}

/* Centered Floorplan hover caption */
.floorplanform .caption {
    position: absolute !important;
    top: 50% !important;
    left: 50% !important;
    transform: translate(-50%, -50%) !important;
    background: #4f1612 !important;
    width: 130px !important;
    border-radius: 20px !important;
    cursor: pointer !important;
    opacity: 0;
    margin: 0 !important;
    transition: opacity 0.3s ease !important;
    z-index: 10 !important;
}

@media (max-width: 767px) {
    #Floorplans .galleryImg.floorplanform {
        height: 280px;
        /* Common height on mobile screens */
        padding: 10px !important;
    }
}

/* --- SIMPLE LOCATION & CONNECTIVITY CARD STYLES --- */
.location_connectivity {
    margin-top: 25px !important;
}

.connectivity-card {
    background-color: transparent !important;
    border: none !important;
    border-radius: 0 !important;
    padding: 0 !important;
    box-shadow: none !important;
}

.connectivity-title {
    font-size: 20px !important;
    color: var(--red) !important;
    font-weight: 600 !important;
    margin-bottom: 20px !important;
    padding-bottom: 10px !important;
    border-bottom: 1px solid #34060340 !important;
    text-transform: capitalize !important;
}

.connectivity-list {
    display: flex !important;
    flex-direction: column !important;
    gap: 0 !important;
}

.connectivity-item {
    display: flex !important;
    align-items: center !important;
    padding: 12px 0 !important;
    border-bottom: 1px solid #34060340 !important;
}

.connectivity-item:last-child {
    border-bottom: none !important;
    padding-bottom: 0 !important;
}

.connectivity-item .icon {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 32px !important;
    height: 32px !important;
    background-color: transparent !important;
    border-radius: 0 !important;
    color: var(--red) !important;
    font-size: 16px !important;
    flex-shrink: 0 !important;
    margin-right: 8px !important;
}

.connectivity-item .content {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    width: 100% !important;
    gap: 15px !important;
}

.connectivity-item .content h4 {
    font-size: 15px !important;
    color: #333 !important;
    font-weight: 500 !important;
    margin: 0 !important;
}

.connectivity-item .content p {
    font-size: 14px !important;
    color: #666 !important;
    margin: 0 !important;
    font-weight: 500 !important;
    flex-shrink: 0 !important;
}

#location .reveal img {
    border-radius: 8px;
    box-shadow: 0 5px 25px rgba(0, 0, 0, 0.07);
    border: 1px solid #34060340;
    transition: transform 0.3s ease;
}

#location .reveal img:hover {
    transform: scale(1.01);
}

@media (max-width: 991px) {
    .connectivity-card {
        padding: 0;
    }
}