﻿.ajax-overlay {
    display: none;
    opacity: 0.8;
    position: fixed;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    z-index: 9999;
    background-color: #fff;
    background-position: center;
    background-repeat: no-repeat;
    background-image: url(../img/loading.svg);
}

#availabilityLoading, #affordabilityLoading {
    display: none;
}

#affordabilityLoading {
    background-color: #f5f6f7;
}

    #availabilityLoading img, #affordabilityLoading img {
        width: 200px;
        height: 200px;
    }

/*Umbraco Form Styles*/
@media (min-width: 768px) {
    .umbraco-forms-field-wrapper {
        padding-bottom: 1rem;
    }
}

@media (max-width: 767px) {
    .umbraco-forms-fieldset {
        padding-bottom: 1rem;
    }
}

.field-validation-error {
    width: 100%;
    margin-top: 0.25rem;
    font-size: .875em;
    color: #dc3545;
}

.umbraco-forms-page {
    margin-top: -1.5rem;
}

.umbraco-forms-submitmessage {
    display: inline-block;
    padding: 1rem;
    background-color: rgb(55, 68, 74);
    color: #FFF;
}

.umbraco-forms-label {
    padding-bottom: 0.5rem;
}

input[type=checkbox] {
    width: 1em;
    height: 1em;
    margin-top: 0.25em;
    vertical-align: top;
    background-color: #fff;
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    border: 1px solid rgba(0,0,0,.25);
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    -webkit-print-color-adjust: exact;
    color-adjust: exact;
    border-radius: 0.25em;
}

    input[type=checkbox]:checked {
        background-color: #0d6efd;
        border-color: #0d6efd;
        background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M6 10l3 3l6-6'/%3e%3c/svg%3e");
    }

/*iOS fix for date alignment*/
input[type=date]::-webkit-date-and-time-value {
    text-align: left;
}

.dataconsent label {
    position: relative !important;
    display: inline !important;
}

@media (max-width: 424px) {
    .item-wrapper.floating.focused label, .item-wrapper.floating.always-floating label {
        font-size: 0.75rem;
    }
}

/*Fix for filter font size in mobile*/
@media (max-width: 425px) {
    .section-apartment_filters select {
        font-size: 1rem;
    }
}

/*Fix for mobile search bar*/
.mobile-search-bar .search-terms div {
    margin-top: 0;
    padding-right: 30px;
}

    .mobile-search-bar .search-terms div span {
        white-space: nowrap;
    }

/*Fixes for long labels in Book Tour*/
.item-wrapper.floating label.long-label {
    top: 20px;
}

.item-wrapper.floating.focused label.long-label {
    top: -10px;
}

/*FAQs - table styles*/
.faq-answer table {
    border: none;
    height: unset !important;
}

    .faq-answer table tr {
        border-color: transparent;
        height: unset !important;
    }

        .faq-answer table tr:nth-child(odd) {
            background-color: rgba(84, 104, 113, 0.1);
        }

        .faq-answer table tr:first-of-type {
            background-color: transparent;
            border-bottom: 2px solid #546871;
            font-family: "N27 Medium";
        }

        .faq-answer table tr:last-of-type {
            border-bottom: transparent;
        }

    .faq-answer table td {
        padding: 16px 10px;
        height: unset !important;
    }

@media (max-width: 767px) {

    .faq-answer table {
        display: block;
        overflow-x: scroll;
    }

        .faq-answer table td {
            padding: 16px 5px;
        }
}

/*Fix for currently active menu links*/
.overlay-menu .primary a.active > span {
    color: #fff !important;
}

/*Styles for page popup*/
.popup-modal.modal {
    --bs-modal-padding: 1.5rem;
    --bs-modal-header-padding: 1.5rem;
}

    .popup-modal.modal .modal-content {
        color: var(--bs-white);
        background-color: var(--bs-offdark);
        background-clip: padding-box;
        border: var(--bs-modal-border-width) solid var(--bs-modal-border-color);
        border-radius: var(--bs-modal-border-radius);
        outline: 0;
        padding: 2.5rem 2rem 5rem;
        font-size: 1rem;
    }

    .popup-modal.modal .modal-header {
        padding: 0 0 1.5rem;
    }

    .popup-modal.modal .modal-body {
        padding: 1.5rem 0 0.5rem;
    }

        .popup-modal.modal .modal-body em {
            font-size: 0.875rem;
        }

    .popup-modal.modal .modal-footer {
        padding: 1.5rem 0 0;
        justify-content: space-between;
        flex-wrap: nowrap;
    }

    .popup-modal.modal .popup-modal-close {
        position: relative;
        top: -25px;
        right: -15px;
    }

/*Affordability calculator*/
.section-affordability_calculator .swiper-wrapper {
    cursor: unset;
}

/*Availability flooplans - hide lightbox nav*/
.availability-lightbox .lb-nav a.lb-next, .availability-lightbox .lb-nav a.lb-prev {
    display: none !important;
}

.apartment-modal {
    margin: 0;
    padding: 0;
}

/*Styles for "load more" availability*/
.section-apartment_list .card-apartment-container {
    display: none;
}

    .section-apartment_list .card-apartment-container.show {
        display: block;
    }

/*Fix for card img slider*/
@media (max-width: 767px) {
    .card-apartment_type .card-img {
        height: 45vh !important;
    }
}

/*Fix for residence showcase issue in small screens*/
@media (max-height: 800px) {
    .section-residence_showcase:after {
        height: 50px !important;
    }
}

/*Fixes for top filters on availability*/
.top-clear.btn-clear img {
    display: none;
}

.top-clear.btn-clear.active {
    border: none;
}

    .top-clear.btn-clear.active img {
        display: inline;
        margin-left: 0;
        margin-right: 5px;
    }

.top-more-filters {
    margin-right: -2rem;
}

/*#show-all {
    display: none;
}*/

/*Added missing styles for availability overlay*/
.modal .modal-content {
    overflow: hidden;
}

.modal .modal-slideup-overlay {
    position: absolute;
    background: #4b575c;
    bottom: 0;
    left: 0;
    right: 0;
    transform: translateY(100%);
    transition: transform 0.5s ease-in-out;
    z-index: 2;
    color: #fff;
}

    .modal .modal-slideup-overlay.active {
        transform: translateY(0);
    }

    .modal .modal-slideup-overlay .mso-header {
        background: #37444A;
        padding: 10px 20px;
        position: relative;
    }

        .modal .modal-slideup-overlay .mso-header .close-overlay {
            width: 30px;
            height: 30px;
            position: absolute;
            top: 10px;
            right: 20px;
            z-index: 2;
            cursor: pointer;
            border: 0;
            background-color: transparent;
            border-radius: 0;
        }

            .modal .modal-slideup-overlay .mso-header .close-overlay:before {
                content: " ";
                background-image: url(../img/icon-close-white.svg);
                background-size: 18px;
                width: 18px;
                height: 18px;
                display: block;
            }

    .modal .modal-slideup-overlay .mso-body .rounded-pill {
        padding: 10px 15px;
        font-size: 15px;
        letter-spacing: 1px;
    }

    .modal .modal-slideup-overlay .mso-body {
        padding: 25px 20px 20px;
    }

        .modal .modal-slideup-overlay .mso-body > div {
            gap: 10px;
        }

.card-slideup-overlay .btn-pill, .modal-slideup-overlay .btn-pill,
.card-slideup-overlay .btn-pill:hover, .modal-slideup-overlay .btn-pill:hover {
    color: #fff;
    background: transparent;
    border: 1px solid white;
}

.card-slideup-overlay .btn-check:checked + .btn-pill, .modal-slideup-overlay .btn-check:checked + .btn-pill {
    background: #fff;
    color: #000;
    border: 1px solid white;
}

.card-slideup-overlay .btn-underlined, .modal-slideup-overlay .btn-underlined {
    color: #fff;
}

@media (min-width: 992px) {
    #load-more {
        width: 350px;
    }
}

/*Date picker style override*/
input[type="date"].text-white {
    -webkit-text-fill-color: #fff;
}

/*New buttons*/
.btn-square-icon {
    display: flex;
    align-items: center;
    padding: 0;
    font-size: 1.125rem;
    z-index: 1;
    position: relative;
}

    .btn-square-icon span {
        font-family: 'N27 Medium';
        font-style: normal;
        text-align: left;
    }

    .btn-square-icon:not(.play-video) span {
        font-size: 16px;
        letter-spacing: 2.5px;
        line-height: 1.2;
    }

@media (min-width: 576px) {
    .btn-square-icon span {
        white-space: nowrap;
    }
}

.btn-square-icon i {
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    height: 50px;
    width: 50px;
    transition: background-color 0.3s ease;
}

    .btn-square-icon i:before, .btn-square-icon i:after {
        background-color: rgba(var(--bs-primary-light-rgb));
        content: '';
        position: absolute;
        z-index: -1;
        transition: background-color 0.3s ease;
    }

    .btn-square-icon i:before {
        font-size: 1.75rem;
        color: rgba(var(--bs-offdark-rgb));
        width: 60px;
        height: 100%;
    }

    .btn-square-icon i:after {
        width: 100%;
        height: 60px;
    }

    .btn-square-icon i.bg-secondary:before, .btn-square-icon i.bg-secondary:after {
        background-color: rgba(var(--bs-secondary-light-rgb));
    }

    .btn-square-icon i.bg-grey:before, .btn-square-icon i.bg-grey:after {
        background-color: rgba(var(--bs-grey-light-rgb));
    }

    .btn-square-icon i.bg-grey-xlight:before, .btn-square-icon i.bg-grey-xlight:after {
        background-color: #EBECED;
    }


.btn-square-icon:not(.btn-menu):hover i.bg-primary {
    background-color: rgba(var(--bs-primary-light-rgb)) !important;
}

.btn-square-icon:not(.btn-menu):hover i.bg-primary:before, .btn-square-icon:not(.btn-menu):hover i.bg-primary:after {
    background-color: rgba(var(--bs-primary-rgb));
}

.btn-square-icon:hover i.bg-secondary {
    background-color: rgba(var(--bs-secondary-light-rgb)) !important;
}

.btn-square-icon:hover i.bg-secondary:before, .btn-square-icon:hover i.bg-secondary:after {
    background-color: rgba(var(--bs-secondary-rgb));
}

.btn-square-icon:hover i.bg-grey {
    background-color: rgba(var(--bs-grey-light-rgb)) !important;
}

.btn-square-icon:hover i.bg-grey:before, .btn-square-icon:hover i.bg-grey:after {
    background-color: rgba(var(--bs-grey-rgb));
}

.btn-square-icon:hover i.bg-grey-xlight {
    background-color: rgba(var(--bs-grey-xlight-rgb)) !important;
}

.btn-square-icon:hover i.bg-grey-xlight:before, .btn-square-icon:hover i.bg-grey-xlight:after {
    background-color: rgba(var(--bs-grey-xlight-rgb));
}

@media (max-width: 991.98px) {
    .btn-square-icon:not(.btn-menu) i:before {
        width: 38px;
        height: 100%;
    }

    .btn-square-icon:not(.btn-menu) i:after {
        width: 100%;
        height: 38px;
    }
}

.btn-square-icon i + span {
    margin-left: 18px;
}

.btn-square-icon.bordered {
    border: 1px solid #bbc3c6;
    border-radius: 0;
    text-align: center;
    width: 100%;
    padding: 20px 20px;
}

    .btn-square-icon.bordered i {
        position: absolute;
        right: 30px;
        margin-left: 0;
    }

    .btn-square-icon.bordered span {
        width: 100%;
        text-align: center;
    }

.btn-square-icon:not(.btn-menu) img {
    width: 25px;
    height: 25px;
}

.btn-square-icon.btn-small i {
    width: 34px;
    height: 34px;
}

    .btn-square-icon.btn-small i img {
        width: 20px;
        height: 20px;
    }

    .btn-square-icon.btn-small i:before {
        width: 40px;
        height: 100%;
    }

    .btn-square-icon.btn-small i:after {
        width: 100%;
        height: 40px;
    }

.card-apartment_type .btn-small {
    right: 3px;
}

.btn-square-icon.btn-small:hover i:before, .btn-square-icon.btn-small:hover i:after {
    background-color: rgba(var(--bs-grey-rgb));
}

.btn-square-icon.btn-small:hover i.bg-grey-xlight:before, .btn-square-icon.btn-small:hover i.bg-grey-xlight:after {
    background-color: rgba(var(--bs-grey-xlight-rgb));
}

@media (max-width: 991.98px) {
    .btn-square-icon:not(.btn-menu) i {
        height: 32px;
        width: 32px;
    }

    .btn-square-icon:not(.btn-menu) img {
        height: 15px;
        width: 15px;
    }

    .btn-square-icon i:before {
        font-size: 1.125rem;
    }
}

.btn-square-text {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0 30px;
    height: 50px;
    width: auto;
    background-color: rgba(var(--bs-primary-rgb));
    border-radius: 0;
    text-decoration: none;
    z-index: 1;
    position: relative;
    transition: background-color 0.3s ease;
}

    .btn-square-text:before, .btn-square-text:after {
        content: '';
        position: absolute;
        z-index: -1;
        transition: border-color 0.3s ease;
    }

    .btn-square-text:before {
        width: 100%;
        height: calc(100% + 10px);
        border-top: 5px solid rgba(var(--bs-primary-light-rgb));
        border-bottom: 5px solid rgba(var(--bs-primary-light-rgb));
    }

    .btn-square-text:after {
        width: calc(100% + 10px);
        height: 100%;
        border-left: 5px solid rgba(var(--bs-primary-light-rgb));
        border-right: 5px solid rgba(var(--bs-primary-light-rgb));
    }

    .btn-square-text span {
        font-family: 'N27 Bold';
        font-size: 18px;
        color: rgba(var(--bs-light-rgb));
        line-height: 18px;
    }

    .btn-square-text.bg-secondary span {
        color: rgba(var(--bs-tertiary-rgb));
    }

    .btn-square-text.bg-secondary:before {
        border-top: 5px solid rgba(var(--bs-secondary-light-rgb));
        border-bottom: 5px solid rgba(var(--bs-secondary-light-rgb));
    }

    .btn-square-text.bg-secondary:after {
        border-left: 5px solid rgba(var(--bs-secondary-light-rgb));
        border-right: 5px solid rgba(var(--bs-secondary-light-rgb));
    }

    .btn-square-text img {
        margin-left: 8px;
        height: 13px;
        width: 13px;
    }

@media (max-width: 991.98px) {
    .btn-square-text {
        height: 40px;
    }
}

.card-apartment .btn-square-text, .modal-slideup-overlay .btn-square-text {
    height: 40px;
}

.btn-square-text.show-more {
    background: transparent;
    font-family: 'N27 Bold';
    color: #384649;
}

    .btn-square-text.show-more:before {
        border-top: 5px solid rgba(var(--bs-grey-light-rgb));
        border-bottom: 5px solid rgba(var(--bs-grey-light-rgb));
    }

    .btn-square-text.show-more:after {
        border-left: 5px solid rgba(var(--bs-grey-light-rgb));
        border-right: 5px solid rgba(var(--bs-grey-light-rgb));
    }

    .btn-square-text.show-more:hover:before, .btn-square-text.show-more:hover:after {
        border-color: rgba(var(--bs-grey-rgb));
    }

.btn-square-text:hover {
    background-color: rgba(var(--bs-primary-light-rgb)) !important;
}

.btn-square-text:hover:before, .btn-square-text:hover:after {
    border-color: rgba(var(--bs-primary-rgb));
}

.btn-square-text.bg-secondary:hover {
    background-color: rgba(var(--bs-secondary-light-rgb)) !important;
}

.btn-square-text.bg-secondary:hover:before, .btn-square-text.bg-secondary:hover:after {
    border-color: rgba(var(--bs-secondary-rgb));
}

.mobile-search-btn a.btn-square-icon {
    border-bottom: 0;
    border-bottom-left-radius: 0;
    border-bottom-right-radius: 0;
    border: 0;
    background-image: url(../img/bg-availability.svg);
    background-size: auto 200%;
    padding: 30px 20px;
}

    .mobile-search-btn a.btn-square-icon span {
        line-height: 18px;
    }

    .mobile-search-btn a.btn-square-icon.active i:before {
        content: "";
    }

.btn-underlined {
    font-family: 'N27 Bold';
    font-size: 18px;
    color: rgb(var(--bs-grey-text-rgb));
    display: inline-flex;
    align-items: center;
    padding: 0;
    position: relative;
    transition: color 0.3s ease;
}

    .btn-underlined img {
        margin-left: 8px;
        height: 13px;
        width: 13px;
    }

        .btn-underlined img.img-first {
            margin-left: 0;
            margin-right: 5px;
        }

    .btn-underlined:after {
        content: '';
        height: 2px;
        width: 100%;
        background-color: rgb(var(--bs-primary-rgb));
        position: absolute;
        bottom: -5px;
        transition: background-color 0.3s ease;
    }

    .btn-underlined:hover:after {
        background-color: rgb(var(--bs-grey-text-rgb));
    }

    .btn-underlined.text-white:hover:after {
        background-color: rgb(var(--bs-white-rgb));
    }

/*Circle icon transitions*/
.orange-border:before,
.orange-border:after {
    transition: background-color 0.3s ease;
}

.orange-border:hover:before,
.orange-border:hover:after {
    background-color: rgba(var(--bs-primary-rgb));
}

.btn.btn-show-filters img {
    height: 16px;
    width: 11px;
}

/*Apartments dropdown*/
.navbar .nav-dropdowns > div > .dropdown-menu .col {
    max-width: 460px;
}

.navbar .nav-dropdowns > div > .dropdown-menu .card-apartment_type a {
    text-decoration: none;
}

.navbar .nav-dropdowns > div > .dropdown-menu .card-apartment_type .card-body .big-text {
    color: #4b575c;
}

.navbar .nav-dropdowns > div > .dropdown-menu .card-apartment_type .card-img {
    height: 28vh !important;
}

/* Navbar brand */
@media (min-width: 992px) {
    .navbar-brand-col {
        flex: 0 0 180px;
        width: 180px;
    }
}

/*Text And Three Images Alt Component*/
.section-content_3_image_2_col {
    background-color: rgba(var(--bs-offdark-rgb), 0.1);
}

    .section-content_3_image_2_col .bg-pattern.pattern-left {
        left: calc(var(--bs-gutter-x) * .5);
        background-position: top;
    }

@media (max-width: 991.98px) {
    .section-content_3_image_2_col .bg-pattern.pattern-left {
        width: 60px;
    }
}

/*Centred Text With Icons Component*/
.icons-scroll-container .icons-row {
    justify-content: center;
}

@media (max-width: 575.98px) {
    .icons-scroll-container .icons-row {
        flex-wrap: nowrap;
        justify-content: flex-start;
        overflow-x: auto;
        scrollbar-width: none;
    }

        .icons-scroll-container .icons-row .icon-col {
            white-space: normal;
        }
}

/*Transport Component*/
.section-transport .icon-wrapper {
    width: 50px;
    height: 50px;
    margin: 0;
}

    .section-transport .icon-wrapper img {
        width: 100%;
        height: 100%;
    }

.section-transport p.title {
    font-size: 21px;
}

.section-transport p {
    font-size: 16px;
}

.section-transport .travel-time p {
    font-size: 14px;
}

    .section-transport .travel-time p:first-child {
        font-family: 'N27 Bold';
    }

/*Masthead Video*/
.hero.section-hero_video {
    height: 100vh;
    padding: 0;
    overflow: hidden;
}

@media (min-width: 992px) {
    .hero.section-hero_video {
        min-height: 700px;
    }
}

.hero.section-hero_video > .container-fluid, .hero.section-hero_video > .container-sm, .hero.section-hero_video > .container-md, .hero.section-hero_video > .container-lg, .hero.section-hero_video > .container-xl, .hero.section-hero_video > .container-xxl {
    z-index: 2;
}

.hero.section-hero_video b {
    font-family: voyage-regular;
    font-weight: normal;
}

.hero.section-hero_video h1 b, .hero.section-hero_video .h1 b {
    font-size: calc(2.375rem + 13.5vw);
    line-height: 0.6em;
}

@media (min-width: 1200px) {
    .hero.section-hero_video h1 b, .hero.section-hero_video .h1 b {
        font-size: 12.5rem;
    }
}

.hero.section-hero_video h3, .hero.section-hero_video .h3 {
    max-width: 100%;
    margin-top: 0;
    padding-top: 0;
}

    .hero.section-hero_video h3 b, .hero.section-hero_video .h3 b {
        font-size: calc(1.28125rem + 0.375vw);
        margin-left: 5px;
    }

@media (min-width: 1200px) {
    .hero.section-hero_video h3 b, .hero.section-hero_video .h3 b {
        font-size: 1.5625rem;
    }
}

.hero.section-hero_video .videowrapper {
    z-index: 1;
}

    .hero.section-hero_video .videowrapper iframe {
        box-sizing: border-box;
        width: 177.77777778vh;
        height: 56.25vw;
        min-width: 100%;
        min-height: 100%;
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
    }

@media (max-width: 992px) and (max-height: 600px) {
    .hero .videowrapper iframe {
        transform: translate(-50%, -50%) scale(1.5);
    }
}

@media (max-width: 767.98px) {

    .hero.section-hero_video {
        max-height: 100vh;
    }
}

.hero.section-hero_video > div:first-child:after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    background-color: transparent;
    width: 100%;
    height: 100%;
}

.hero.section-hero_video .container-fluid:before {
    background: linear-gradient(180deg, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.1) 100%);
}

.hero.section-hero_video.no-bg > div:first-child:after {
    display: none;
}

/*Chatbot*/
#btn-chat.active {
    border: none;
}

    #btn-chat.active img {
        display: none;
    }

@media(max-width: 767.98px) {
    .btn-animate_sparkles:hover .btn-hover {
        opacity: 0.01 !important;
    }
}

#btn-chat-dwell .bg-secondary {
    background-color: rgb(241, 195, 192) !important;
}

/*AI Nav Button - btn-square-icon style*/
.btn-ai-nav {
    z-index: 1;
    background: transparent;
    animation: none;
}

.btn-ai-nav__clip {
    background: linear-gradient(135deg, #DDA392, #EAD8AA, #DDA392);
    background-size: 300% 300%;
    animation: gradient-blend 4s ease infinite;
    border-radius: 0;
}

.btn-ai-nav .typing-dots span {
    border-radius: 0;
}

.btn-ai-nav i:before {
    font-size: 28px;
}

.scrolled .navbar .btn-ai-nav,
.menu-open .navbar .btn-ai-nav,
.dropdown-open .navbar .btn-ai-nav,
.nav-condensed .navbar .btn-ai-nav,
.masthead .navbar .btn-ai-nav {
    transform: none;
}

.btn-ai-nav:hover .btn-ai-nav__clip {
    animation-duration: 2s;
}

/*AI Chat Dwell Button (footer)*/
#btn-chat-dwell {
    z-index: 1;
    position: relative;
    background: transparent;
}

#btn-chat-dwell .inner::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(135deg, #DDA392, #EAD8AA, #DDA392);
    background-size: 300% 300%;
    animation: gradient-blend 4s ease infinite;
    z-index: 0;
}

#btn-chat-dwell:hover .inner::before {
    animation-duration: 2s;
}

#btn-chat-dwell .inner > * {
    position: relative;
    z-index: 1;
}

#btn-chat-dwell::before,
#btn-chat-dwell::after {
    content: '';
    position: absolute;
    z-index: -1;
    background-color: rgba(var(--bs-primary-light-rgb));
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    pointer-events: none;
    transition: background-color 0.3s ease;
}

#btn-chat-dwell::before {
    width: calc(100% + 10px);
    height: 100%;
}

#btn-chat-dwell::after {
    width: 100%;
    height: calc(100% + 10px);
}

#btn-chat-dwell:hover::before,
#btn-chat-dwell:hover::after {
    background-color: rgba(var(--bs-primary-rgb));
}

/*AI Nav Button - Small variant (inside footer dwell)*/
.btn-ai-nav--sm {
    width: 40px;
    height: 40px;
    background: transparent;
}

.btn-ai-nav--sm .btn-ai-nav__clip {
    background: transparent;
    animation: none;
    border-radius: 0;
}

.btn-ai-nav--sm i,
.btn-ai-nav--sm .typing-dots {
    height: 40px;
}

.btn-ai-nav--sm .typing-dots span {
    border-radius: 0;
}

.btn-ai-nav {
    isolation: isolate;
}

.btn-ai-nav__clip {
    position: relative;
    z-index: 1;
}

.btn-ai-nav::before,
.btn-ai-nav::after {
    content: '';
    display: block;
    position: absolute;
    z-index: 0;
    background-color: rgba(var(--bs-primary-light-rgb));
    border: none;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    pointer-events: none;
    transition: background-color 0.3s ease;
}

.btn-ai-nav::before {
    width: calc(100% + 10px);
    height: 100%;
}

.btn-ai-nav::after {
    width: 100%;
    height: calc(100% + 10px);
}

.btn-ai-nav:hover::before,
.btn-ai-nav:hover::after {
    background-color: rgba(var(--bs-primary-rgb));
}

@media (max-width: 991.98px) {
    .btn-ai-nav {
        width: 40px;
        height: 40px;
    }

    .btn-ai-nav i,
    .btn-ai-nav .typing-dots {
        height: 40px;
    }

    .btn-ai-nav i:before {
        font-size: 24px;
    }

    .btn-square-icon.btn-menu i {
        width: 40px;
        height: 40px;
    }

    .btn-square-icon.btn-menu i:before {
        width: calc(100% + 10px);
    }

    .btn-square-icon.btn-menu i:after {
        height: calc(100% + 10px);
    }

    .masthead .navbar .btn-menu i span {
        width: 22px;
        height: 3px;
        margin-left: -11px;
    }

    .masthead .navbar .btn-menu i span.top {
        top: 10px;
    }

    .masthead .navbar .btn-menu i span.mid {
        top: 18px;
    }

    .masthead .navbar .btn-menu i span.btm {
        top: 26px;
    }
}

@media (min-width: 992px) and (max-width: 1170px) {
    .masthead .navbar .nav-dropdowns a {
        font-size: 0.875rem;
    }

    .btn-ai-nav {
        width: 40px;
        height: 40px;
    }

    .btn-ai-nav i,
    .btn-ai-nav .typing-dots {
        height: 40px;
    }

    .btn-ai-nav i:before {
        font-size: 24px;
    }

    .btn-square-icon.btn-menu i {
        width: 40px;
        height: 40px;
    }

    .btn-square-icon.btn-menu i:before {
        width: calc(100% + 10px);
    }

    .btn-square-icon.btn-menu i:after {
        height: calc(100% + 10px);
    }

    .masthead .navbar .btn-menu i span {
        width: 22px;
        height: 3px;
        margin-left: -11px;
    }

    .masthead .navbar .btn-menu i span.top {
        top: 10px;
    }

    .masthead .navbar .btn-menu i span.mid {
        top: 18px;
    }

    .masthead .navbar .btn-menu i span.btm {
        top: 26px;
    }
}

/*Override for --sm variant - must come after general rules*/
.btn-ai-nav--sm::before,
.btn-ai-nav--sm::after {
    display: none !important;
}

/* Override btn-menu right margin */
.masthead .navbar .btn-menu {
    margin-right: 5px !important;
}

@media (max-width: 991.98px) {
    .masthead .navbar .btn-menu {
        margin-right: 0 !important;
    }

    .masthead .navbar .navbar-brand {
        margin-right: 0 !important;
    }

    /* Equal width columns for phone and menu buttons to center logo */
    .masthead .navbar .row > .col-auto:first-child,
    .masthead .navbar .row > .col-auto:last-child {
        width: 50px;
        flex: 0 0 50px;
    }
}

/* Extra small screens - scale down logo */
@media (max-width: 320px) {
    .masthead .navbar .navbar-brand img {
        height: 32px;
    }
}

/* Mobile AI button - simplified without messaging/animations */
@media (max-width: 991.98px) {
    .mobile-ai-btn {
        padding: 21px !important;
        bottom: 0 !important;
        z-index: 1040;
        opacity: 0;
        pointer-events: none;
        transition: opacity 0.3s ease, bottom 0.5s ease-in-out;
    }

    .mobile-ai-btn.is-visible {
        opacity: 1;
        pointer-events: auto;
    }

    /* When scrolled and availability button is visible, move AI button above it */
    .scrolled .mobile-ai-btn {
        bottom: 78px !important;
    }

    .mobile-ai-btn #btn-chat-dwell {
        margin-top: 0;
        padding: 0;
    }

    .mobile-ai-btn #btn-chat-dwell .inner {
        padding: 0 !important;
        width: auto !important;
        transition: none !important;
        background: transparent !important;
        overflow: visible !important;
    }

    .mobile-ai-btn #btn-chat-dwell .inner::before {
        display: none;
    }

    .mobile-ai-btn #btn-chat-dwell .hstack {
        justify-content: center;
    }

    .mobile-ai-btn #btn-chat-dwell::before,
    .mobile-ai-btn #btn-chat-dwell::after {
        display: none;
    }

    .mobile-ai-btn .btn-ai-nav--sm {
        margin-left: 0 !important;
        transition: none !important;
        width: 54px;
        height: 54px;
    }

    .mobile-ai-btn .btn-ai-nav--sm i,
    .mobile-ai-btn .btn-ai-nav--sm .typing-dots {
        height: 54px;
    }

    .mobile-ai-btn .btn-ai-nav--sm .btn-ai-nav__clip {
        background: linear-gradient(135deg, #DDA392, #EAD8AA, #DDA392);
        background-size: 300% 300%;
        animation: gradient-blend 4s ease infinite;
    }

    /* Enable the before/after */
    .mobile-ai-btn .btn-ai-nav--sm::before,
    .mobile-ai-btn .btn-ai-nav--sm::after {
        content: '' !important;
        display: block !important;
        position: absolute !important;
        z-index: 0;
        background-color: rgba(var(--bs-primary-light-rgb));
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        pointer-events: none;
    }

    .mobile-ai-btn .btn-ai-nav--sm::before {
        width: calc(100% + 10px);
        height: 100%;
    }

    .mobile-ai-btn .btn-ai-nav--sm::after {
        width: 100%;
        height: calc(100% + 10px);
    }
}

/* Mobile phone button in nav */
.btn-phone i.bg-primary {
    display: flex;
    align-items: center;
    justify-content: center;
}

@media (max-width: 991.98px) {
    .btn-square-icon.btn-phone i {
        width: 40px;
        height: 40px;
    }

    .btn-square-icon.btn-phone i:before {
        width: calc(100% + 10px);
    }

    .btn-square-icon.btn-phone i:after {
        height: calc(100% + 10px);
    }
}

.hero.section-hero_home .hero-content {
    margin-bottom:90px;
}
@media (min-width: 991.98px) {
    .hero.section-hero_home .hero-content {
        margin-bottom:60px;
    }
}