/**
 * Sunrise Communities - Theme overrides
 *
 * General site styles only. Houzez listing/property-card rules live in
 * sunrise-listing-overrides.css and BetterDocs rules live in their own file.
 */

/* ==========================================================================
   1. Design tokens and utilities
   ========================================================================== */

:root {
    --sunrise-orange: #f26622;
    --sunrise-orange-soft: rgb(242 102 34 / 6%);
    --sunrise-navy: #1b3664;
    --sunrise-navy-soft: rgb(27 54 100 / 3%);
    --sunrise-blue: #37a3fe;
    --sunrise-blue-dark: #1e73be;
    --sunrise-yellow: #fecd03;
    --sunrise-text: #222222;
    --sunrise-border: #dddddd;
    --sunrise-border-strong: #d6d6d6;
    --sunrise-surface: #f8f8f8;
    --sunrise-white: #ffffff;
    --sunrise-black: #000000;
}

.blur,
.ui-e-carousel .ui-e-item {
    -webkit-backdrop-filter: blur(5px);
    backdrop-filter: blur(5px);
}

.disabled-link {
    pointer-events: none;
    cursor: default;
    text-decoration: none;
}

.control.control--checkbox {
    display: block;
}

.gdpr-text a {
    color: var(--sunrise-orange);
    font-weight: 700;
}

.no-input {
    pointer-events: none;
}

.grecaptcha-badge {
    visibility: hidden !important;
}

/* Homepage content boxes */
@media (max-width: 450px) {
    .elementor-widget-uicore-icon-box.ui-e-top .ui-e-box-content {
        padding: 0 15px;
    }
}

/* ==========================================================================
   2. Header and navigation
   ========================================================================== */

.top-bar-wrap {
    padding-right: 20px;
}

.top-bar-wrap .container {
    width: 100% !important;
    max-width: 100% !important;
}

.top-bar-nav {
    text-align: right;
}

.top-bar-slogan {
    padding-top: 8px;
}

.icon-phone::before {
    content: "\e91d" !important;
}

.icon-phone,
.icon-time-clock-circle {
    color: var(--sunrise-blue);
}

.header-mobile,
.header-v4 {
    border-bottom: 1px solid var(--sunrise-border);
}

.logo img {
    top: 0;
}

.header-contact-right,
.header-contact-right a {
    color: var(--sunrise-black) !important;
}

.header-v2 .header-bottom,
.header-v5 .header-bottom {
    background-image: linear-gradient(
        245deg,
        var(--e-global-color-b094cbc) 0%,
        #0e70c3 100%
    );
}

.main-nav .dropdown-item {
    min-width: 190px;
    text-transform: capitalize;
}

.on-hover-menu ul ul,
.on-hover-menu ul ul ul,
.on-hover-menu ul ul ul ul {
    min-width: 190px;
}

/* Mobile rent-payment CTA */
#menu-item-660 {
    display: none;
}

@media (max-width: 450px) {
    #menu-item-660 {
        display: block !important;
        width: 100% !important;
    }
}

/* Legacy Sunrise top-menu layout */
.menu-image-title-hide {
    width: 75% !important;
}

.customize-menu-nav ul {
    flex-direction: row-reverse !important;
}

.customize-menu-nav ul li {
    margin-right: 10px !important;
}

.customize-menu-nav ul li:first-child {
    margin-right: 0 !important;
}

#menu-item-18751 {
    visibility: hidden !important;
}

.cta-apply {
    background: #004274;
}

.cta-apply a {
    color: var(--sunrise-white) !important;
}

.nav-mobile .main-nav .nav-item a {
    padding: 15px;
    border-bottom: 0;
}

@media (max-width: 1024px) {
    .nav-mobile .main-nav .nav-item a {
        display: inline-flex;
        color: var(--sunrise-text);
    }

    .nav-mobile .main-nav .nav-item a:hover {
        color: var(--sunrise-blue-dark);
    }

    .nav_desc {
        display: inline-flex !important;
        padding: 2px 10px !important;
        color: var(--sunrise-white) !important;
        background-color: #1e87f0 !important;
    }

    .custom-button {
        visibility: visible !important;
    }

    .icon-pin {
        color: var(--sunrise-text);
    }
}

@media (max-width: 991.98px) {
    .slideout-menu {
        margin-bottom: 0;
        font-size: 14px !important;
    }

    .slideout-menu-left {
        left: 0;
        z-index: 999;
        width: min(350px, 100vw) !important;
        box-shadow: 0 0 50px 130px rgb(14 14 14 / 50%);
    }

    .nav-mobile .main-nav .dropdown-toggle::after {
        margin-left: 15px;
    }
}

@media (max-width: 767.98px) {
    .top-bar-wrap {
        padding-right: 0;
    }
}

@media screen and (max-width: 767px) {
    .top-menu-bar .top-bar-left-wrap {
        display: none !important;
    }

    .top-menu-bar .top-bar-right-wrap {
        width: 100%;
    }

    .customize-menu-nav ul {
        display: flex !important;
        flex-direction: row-reverse !important;
        justify-content: space-between;
    }
}

@media (max-width: 425px) {
    .slideout-menu {
        font-size: 13px !important;
    }
}

@media screen and (max-width: 475px) {
    .customize-menu-nav ul li a span {
        font-size: 15px !important;
    }

    .customize-menu-nav ul li a img {
        width: 18px !important;
        height: 18px !important;
    }
}

@media screen and (max-width: 456px) {
    .customize-menu-nav ul li a span {
        font-size: 12px !important;
    }

    .customize-menu-nav ul li a img {
        width: 15px !important;
        height: 15px !important;
    }
}

@media screen and (max-width: 382px) {
    .customize-menu-nav ul li a span {
        font-size: 10px !important;
    }

    .customize-menu-nav ul li a img {
        width: 12px !important;
        height: 12px !important;
    }
}

/* ==========================================================================
   3. Global layout and buttons
   ========================================================================== */

.listing-wrap,
.main-wrap,
.content-wrap {
    width: 100% !important;
    height: 100% !important;
    background-color: var(--sunrise-surface) !important;
    background-repeat: repeat !important;
    background-attachment: fixed !important;
    transition:
        background 0.3s,
        border-radius 0.3s,
        opacity 0.3s !important;
}

.btn-create-listing {
    margin-bottom: 3px !important;
    font-weight: 700;
}

.property-form button.btn-half-width:first-of-type {
    width: 100% !important;
}

.btn-call:hover {
    color: var(--sunrise-white) !important;
    background: var(--sunrise-yellow);
    border-color: var(--sunrise-yellow);
}

.agency-btn-link {
    color: var(--sunrise-white) !important;
    background-color: var(--sunrise-orange) !important;
    border-color: var(--sunrise-orange) !important;
}

.agency-btn-link:hover {
    color: var(--sunrise-white) !important;
    background-color: var(--sunrise-navy) !important;
    border-color: var(--sunrise-navy) !important;
}

/* Houzez bootstrap-select placeholders are duplicated as first menu options. */
@supports selector(:has(*)) {
    .bootstrap-select:has(> button[title="Bedrooms"]) ul.dropdown-menu li:first-child,
    .bootstrap-select:has(> button[title="Community Type"]) ul.dropdown-menu li:first-child {
        display: none;
    }
}

/* ==========================================================================
   4. Maps, communities, agents, and sidebar widgets
   ========================================================================== */

/* Nearby places controls */
#malls #mallsIcon .icon img {
    width: 20px;
}

#transportation,
#supermarkets,
#schools,
#libraries,
#pharmacies,
#hospitals,
#malls {
    clear: left;
    width: 40px;
    height: 40px;
    margin-bottom: 1px;
    cursor: pointer;
    text-align: center;
    white-space: nowrap;
    background-color: var(--sunrise-white);
}

#transportation .icon,
#supermarkets .icon,
#schools .icon,
#libraries .icon,
#pharmacies .icon,
#hospitals .icon,
#mallsIcon .icon {
    width: 40px;
    height: 40px;
    padding: 10px 4px 4px;
}

#transportation span,
#supermarkets span,
#schools span,
#libraries span,
#pharmacies span,
#hospitals span,
#malls span {
    position: absolute;
    right: 0;
    z-index: -1;
    visibility: hidden;
    height: 40px;
    padding-right: 12px;
    padding-left: 16px;
    line-height: 40px;
    opacity: 0;
    background-color: var(--sunrise-white);
    transform: translate3d(48%, 0, 0);
}

#transportation span { top: 0; }
#supermarkets span { top: 41px; }
#schools span { top: 82px; }
#libraries span { top: 123px; }
#pharmacies span { top: 164px; }
#hospitals span { top: 205px; }
#malls span { top: 246px; }

#transportation:hover span,
#supermarkets:hover span,
#schools:hover span,
#libraries:hover span,
#pharmacies:hover span,
#hospitals:hover span,
#malls:hover span {
    z-index: 1;
    visibility: visible;
    opacity: 1;
    transform: translate3d(100%, 0, 0);
}

.map-info-window-poi {
    max-width: 300px;
    padding: 0 20px 8px 16px;
}

.property-address-wrap .gm-style-iw-a {
    display: block;
}

.gm-style .gm-style-iw-d {
    margin-top: -48px;
    padding-right: 10px;
}

.eapps-google-maps-marker-directions-label,
.eapps-google-maps-marker-directions-icon {
    visibility: hidden !important;
}

.hover-effect-flat::before {
    opacity: 0.4 !important;
}

#houzez-agent-sidebar-map {
    margin-bottom: 25px !important;
    border: 1px solid var(--sunrise-border) !important;
}

.widget-title {
    font-size: 24px !important;
    font-weight: 700;
}

.agent-list-wrap,
.widget-wrap,
.agent-profile-wrap,
.agent-contacts-wrap,
.agent-bio-wrap,
.block-wrap {
    border: 1px solid var(--sunrise-border);
}

.agent-bio-wrap,
.agent-profile-wrap {
    padding: 20px;
}

.agent-profile-wrap h1 {
    font-size: 30px;
}

.agent-bio-wrap h2,
.agent-list-wrap .agent-list-content h2 {
    font-size: 24px !important;
}

.agent-list-image {
    max-width: 35% !important;
}

.banner-caption {
    padding: 0 25px !important;
}

.agent-contacts-wrap p {
    font-size: 14px;
    font-weight: 700;
    color: var(--sunrise-text);
    text-align: left;
    letter-spacing: 0.01em;
}

.agent-contacts-wrap .email a,
.agent-list-contact .email a {
    position: relative;
    visibility: hidden;
}

.agent-contacts-wrap .email a::after,
.agent-list-contact .email a::after {
    position: absolute;
    top: 0;
    right: 0;
    visibility: visible;
    content: "Send Message";
}

.agent-list-link {
    display: inline-block;
    margin-top: 10px !important;
    padding: 5px 20px 8px !important;
    color: var(--sunrise-white) !important;
    text-align: center !important;
    background-color: #0e3f79 !important;
    border: 1px solid;
}

.agent-list-link:hover {
    color: var(--sunrise-white) !important;
    background-color: var(--sunrise-blue) !important;
}

.agent-profile-buttons .btn {
    min-width: 130px !important;
    margin-right: 10px;
}

.agent-nav-wrap {
    margin-top: 0 !important;
}

@media (max-width: 575px) {
    .address,
    #address {
        font-size: 14px !important;
    }

    .list-unstyled {
        font-size: 15px !important;
    }

    .agent-list-link {
        display: block;
        width: 100% !important;
    }
}

@media (max-width: 390px) {
    .agent-list-wrap .agent-list-image {
        max-width: 100% !important;
    }
}

/* Rent-payment sidebar widget */
#houzez_contact-2 {
    padding: 20px !important;
    background: var(--sunrise-orange-soft);
    border-radius: 0 !important;
}

.widget-content {
    text-transform: math-auto;
}

.widget-read-more {
    padding: 10px;
    text-align: center;
    background-color: var(--sunrise-orange);
    border-radius: 0;
}

.widget-read-more:hover {
    background-color: var(--sunrise-navy);
}

.widget-read-more a {
    position: relative;
    visibility: hidden;
    color: var(--sunrise-white) !important;
}

.widget-read-more a::after {
    position: absolute;
    top: -4px;
    right: 5px;
    visibility: visible;
    content: "Pay Rent";
}

/* ==========================================================================
   5. Search, media, footer, and social
   ========================================================================== */

.advanced-search-nav {
    padding: 15px 0 0;
    background-color: var(--sunrise-surface);
    border-bottom: 1px solid var(--sunrise-border);
}

@media (max-width: 991.98px) {
    .advanced-search-nav {
        padding: 10px 0;
    }
}

/* Keep general responsive images natural; listing crops are scoped separately. */
.img-fluid {
    max-width: 100%;
    height: auto;
}

.ui-e-icon-wrp {
    border-radius: 4px;
}

.ui-e-carousel .swiper-slide {
    overflow: hidden !important;
}

.footer-top-wrap {
    padding: 50px 0 20px;
}

@media (max-width: 767.98px) {
    .footer-bottom-wrap {
        padding: 10px !important;
        font-size: 12px !important;
        text-align: center !important;
    }
}

.btn-facebook,
.btn-facebook:hover,
.btn-facebook:focus,
.btn-facebook:active {
    color: #1778f2 !important;
}

.btn-facebook,
.btn-linkedin,
.btn-instagram,
.btn-googleplus {
    font-size: 20px;
}

.btn-linkedin {
    color: #007bb6 !important;
}

.btn-instagram {
    background: radial-gradient(
        circle at 30% 107%,
        #fdf497 0%,
        #fdf497 5%,
        #fd5949 45%,
        #d6249f 60%,
        #285aeb 90%
    );
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
}

.btn-googleplus {
    color: #dd4b39;
}

/* ==========================================================================
   6. Forms and specialty content
   ========================================================================== */

#loan-originators {
    width: 100%;
    border-collapse: collapse;
}

#loan-originators td,
#loan-originators th {
    padding: 8px;
    border: 1px solid #dddddd;
}

#loan-originators tr:nth-child(even) {
    background-color: #f2f2f2;
}

#loan-originators th {
    padding-top: 12px;
    padding-bottom: 12px;
    color: var(--sunrise-white);
    text-align: left;
    background-color: #7095a0;
}

.et-db #et-boc .et_pb_module .forminator-ui.forminator-custom-form[data-design="default"]:not(.forminator-size--small).draft-enabled .forminator-pagination-footer,
.forminator-ui.forminator-custom-form[data-design="default"]:not(.forminator-size--small).draft-enabled .forminator-pagination-footer {
    justify-content: space-between !important;
}

.ui-datepicker.forminator-calendar--default .ui-datepicker-header + .ui-datepicker-calendar {
    background: var(--sunrise-white);
    border: 1px solid var(--sunrise-border);
}

.forminator-ui.forminator-custom-form[data-design="default"] .forminator-input-with-icon [class*="forminator-icon-"] {
    top: 70% !important;
}

.forminator-ui.forminator-custom-form[data-design="default"] .forminator-input-with-icon {
    margin-top: -24px !important;
}

.ui-corner-all {
    border-bottom: 0;
    border-bottom-right-radius: 0 !important;
    border-bottom-left-radius: 0 !important;
}

.error-404-page {
    padding-top: 180px;
}
