/* Bootstrap Layout Overrides */
.container { position: relative; width: 100%; max-width: 75rem; /* 1200px */ }
.container > .row,
.container > div > .row { padding: 0; }
.container img { margin: 0; }

/* BE - Tooltips Styles */
body .tooltip { display: block; }
body .bs-tooltip-auto[x-placement^=bottom] .arrow::before,
body .bs-tooltip-bottom .arrow::before { border-bottom-color: hsl(var(--siteColor1)); }
body .bs-tooltip-auto[x-placement^=top] .arrow::before,
body .bs-tooltip-top .arrow::before { border-top-color: hsl(var(--siteColor1)); }
body .bs-tooltip-auto[x-placement^=left] .arrow::before,
body .bs-tooltip-left .arrow::before { border-left-color: hsl(var(--siteColor1)); }
body .bs-tooltip-auto[x-placement^=right] .arrow::before,
body .bs-tooltip-right .arrow::before { border-right-color: hsl(var(--siteColor1)); }
body .tooltip-inner { background-color: hsl(var(--siteColor1)); }

/* BE - Alert Styles */
body .alert { padding: 0.75rem 2.5rem 0.75rem 1.25rem; margin-bottom: 1.5rem; }
body .alert .close { position: absolute; top: 0.6rem; right: 1rem; }
body .alert .close:hover,
body .alert .close:active,
body .alert .close:focus { box-shadow: none; outline: none; }
body .alert.alert-sm { padding: 0.5rem 1rem; font-size: 90%; line-height: 1; }
body .alert.alert-sm .close { top: 45%; transform: translateY(-50%); }
body .alert.alert-has-close { padding-right: 2.5rem; }

/* BE - Fancybox Adjustments */
body .fancybox-button { box-shadow: none; }
body .fancybox-thumbs__list a:before { border-color: hsl(var(--siteColor1)); }
body .fancybox-thumbs { background-color: hsla(var(--black), 50%); }

/* Bootstrap Card Overrides */
body .card-title > button { font-weight: inherit; }
body .accordion > .card { border-bottom: 1px solid rgba(0,0,0,0.125) !important; border-radius: 1.5625rem !important; }
body .accordion > .card + .card { margin-top: 0.625rem; }
body .accordion > .card .card-header { margin-bottom: 0; padding: 0; border-radius: 1.875rem 1.875rem 0 0; }
body .accordion > .card .card-header button { display: block; width: 100%; padding: 0.6875rem 2.5rem 0.6875rem 1.875rem; position: relative; background: #f7f7f7; border: none; border-radius: 0; outline: none; line-height: 1; text-align: left; }
body .accordion > .card .card-header button:hover,
body .accordion > .card .card-header button:active,
body .accordion > .card .card-header button:focus { color: hsl(var(--siteColor1)); text-decoration: none; background: #eee; }
body .accordion > .card .card-header button:after { content: ""; font-family: 'FontAwesome'; position: absolute; top: 1.125rem; right: 1.25rem; z-index: 2; font-size: 0.9375rem; color: #ccc; }
body .accordion > .card .card-header button[aria-expanded=true]:after { content: "\f068"; }
body .accordion > .card .card-header button[aria-expanded=false]:after { content: "\f067"; }
body .accordion > .card .card-body p:last-child { margin-bottom: 0; }

/* Content Builder Overrides - match site theme */
.content-builder-wrap { padding: 0; }
.content-builder-wrap > .row { margin: 0 -0.9375rem; }
.content-builder-wrap .column { padding: 0 0.9375rem; }
.content-builder-wrap .btn.site-color-1-bg,
.content-builder-wrap .is-btn.site-color-1-bg { color: hsl(var(--white)) !important; }
.content-builder-wrap .btn.site-color-2-bg,
.content-builder-wrap .is-btn.site-color-2-bg { color: hsl(var(--black)) !important; }
.content-builder-wrap .btn.site-color-1-bg:hover,
.content-builder-wrap .is-btn.site-color-1-bg:hover { background-color: hsl(var(--siteColor2)) !important; color: hsl(var(--black)) !important; }
.content-builder-wrap .btn.site-color-2-bg:hover,
.content-builder-wrap .is-btn.site-color-2-bg:hover { background-color: hsl(var(--siteColor1)) !important; color: hsl(var(--white)) !important; }
.content-builder-wrap .icon { color: hsl(var(--siteColor1)) !important; }
.content-builder-wrap .icon + .h2,
.content-builder-wrap .icon + .h3,
.content-builder-wrap .icon + .h4 { margin-left: 3.125rem; }
.content-builder-wrap .icon ~ p { border-bottom-color: hsl(var(--siteColor1)) !important; }
.content-builder-wrap img,
.content-builder-wrap .container img { margin: 0; border-radius: var(--borderRadiusCheckbox); }
.content-builder-wrap iframe { border-radius: var(--borderRadiusCheckbox) !important; }
.content-builder-wrap .is-card { border: none !important; border-radius: var(--borderRadiusCheckbox) !important; }
.content-builder-wrap .is-card:hover { box-shadow: var(--focusShadow) !important; }
.content-builder-wrap .is-card.is-card-circle { border-radius: 50vw !important; }

/* Swiper Overrides */
body .swiper-container { overflow: hidden; margin: auto; }
body .swiper-pagination-bullet { flex-shrink: 0; margin: 0 0.25rem; background-color: hsl(var(--lightGray)); border-radius: var(--borderRadiusCircle); }
body .swiper-pagination-bullet-active { background-color: hsl(var(--siteColor1)); }
body .swiper-pagination-bullet { opacity: 0.5; width: 0.625rem; height: 0.625rem; transition: all ease-in-out 0.4s; box-shadow: 0.0625rem 0.0625rem 0.125rem hsla(var(--black), 25%); }
body .swiper-pagination-bullet-active { opacity: 1; }

/* BE Header Phone Dropdown */
.be-header-phone-number { margin-right: 0.5rem; }
.be-header-phone-number .be-header-phone-number-toggle { background-color: hsl(var(--white)); border-color: hsla(var(--siteColor1), 25%) !important; color: hsl(var(--siteColor1)); }
.be-header-phone-number .be-header-phone-number-toggle .icon { color: inherit; }
.be-header-phone-number .be-header-phone-number-dropdown .i-header-action-dropdown-wrap { padding: 0 0 var(--dropdownPadding); border-radius: var(--borderRadius); }
.i-header-phone-number-list { margin: 0; padding: 0; list-style: none; }
.i-header-phone-number-list-item { margin-bottom: 0.5rem; }
.i-header-phone-number-list-item:last-child { margin-bottom: 0; }
.be-header-phone-number .be-header-phone-number-dropdown .be-header-phone-number-link { display: flex; flex-direction: column; align-items: flex-start; width: 100%; padding: 0.75rem 1rem; background-color: transparent; border: 0.0625rem solid hsla(var(--siteColor1), 15%); border-radius: var(--borderRadius); color: hsl(var(--siteColor1)); line-height: 1.25; text-align: left; text-decoration: none; transition: all ease-in-out 0.4s; }
.be-header-phone-number .be-header-phone-number-dropdown .be-header-phone-number-link:hover,
.be-header-phone-number .be-header-phone-number-dropdown .be-header-phone-number-link:focus { background-color: transparent; color: hsl(var(--siteColor2)); box-shadow: var(--focusShadow); }
.be-header-phone-number .be-header-phone-number-dropdown .be-header-phone-number-label { display: block; margin-bottom: 0.25rem; font-size: 0.75rem; font-weight: var(--wBold); letter-spacing: 0.08rem; text-transform: uppercase; color: hsl(var(--siteColor3)); }
.be-header-phone-number .be-header-phone-number-dropdown .be-header-phone-number-text { display: block; font-size: 1rem; font-weight: var(--wMedium); }
@media (min-width: 1025px) {
  .be-header-phone-number .be-header-phone-number-dropdown { position: absolute; top: calc(100% + 1.25rem); right: 0; min-width: 18rem; }
  .be-header-phone-number .be-header-phone-number-dropdown .i-header-action-dropdown-wrap { width: 20rem; max-width: calc(100vw - 2rem); }
}

/* Hero Quick Search - Figma Layout */
.hero-quick-search-wrap { width: calc(100% - 2rem); max-width: 68.3125rem; padding: 0; background: transparent; border-radius: 0; }
.hero-quick-search-wrap.hero-tabs { margin: 2rem auto 0; }
.hero-quick-search-wrap .nav { width: 100%; max-width: 22.5rem; min-height: 1.3125rem; bottom: 100%; gap: 0; align-items: stretch; padding: 0; background: hsla(var(--siteColor5), 65%); border-radius: 0.625rem 0.625rem 0 0; overflow: hidden; }
.hero-quick-search-wrap .nav .nav-item { flex: 1 1 0; margin: 0; }
.hero-quick-search-wrap .nav .nav-item:first-child:nth-last-child(2) { flex: 0 0 55%; }
.hero-quick-search-wrap .nav .nav-item:first-child:nth-last-child(2) ~ .nav-item { flex: 0 0 45%; }
.hero-quick-search-wrap .nav .nav-link { display: flex; justify-content: center; align-items: center; min-height: 1.3125rem; padding: 0.1875rem 0.75rem 0.125rem; background: transparent; border-radius: 0; font-size: 0.8125rem; font-weight: var(--wRegular); letter-spacing: 0.0894rem; line-height: 1; color: hsl(var(--siteColor3)); text-transform: uppercase; white-space: nowrap; }
.hero-quick-search-wrap .nav .nav-link.active { background: hsl(var(--siteColor3)); border-radius: var(--borderRadiusPill); color: hsl(var(--white)); }
.hero-quick-search-wrap .nav .nav-link:hover,
.hero-quick-search-wrap .nav .nav-link:focus { box-shadow: none; text-decoration: none; }
.hero-quick-search-wrap .tab-content { display: flex; justify-content: center; }
.hero-quick-search-wrap .tab-content .tab-pane { width: auto; }
.hero-quick-search-wrap .hero-quick-search { display: flex; justify-content: center; }
.hero-quick-search-wrap .hero-quick-search > form { width: auto; max-width: 100%; }
.hero-quick-search-wrap .hero-quick-search .row { display: flex; width: auto; max-width: 100%; gap: 0.1875rem; align-items: center; justify-content: center; margin: 0; padding: 0; background: hsla(var(--siteColor5), 65%); border-radius: 0 0 var(--borderRadiusCheckbox) var(--borderRadiusCheckbox); }
.hero-quick-search-wrap .be-quick-search .row-be > .col:not(.col-dates):not(.col-submit) { display: none; }
.hero-quick-search-wrap .mls-quick-search > form { display: flex; flex-wrap: wrap; gap: 0.1875rem; align-items: center; justify-content: center; background: hsla(var(--siteColor5), 65%); border-radius: 0 0 var(--borderRadiusCheckbox) var(--borderRadiusCheckbox); }
.hero-quick-search-wrap .mls-quick-search .row { display: flex; width: auto; gap: 0.1875rem; background: transparent; }
.hero-quick-search-wrap .hero-quick-search [class^=col] { flex: 0 0 auto; max-width: none; margin: 0; padding: 0; }
.hero-quick-search-wrap .hero-quick-search .col-dates { width: min(22.5rem, calc(100vw - 12rem)); min-width: 0; }
.hero-quick-search-wrap .hero-quick-search .col-mlsNumber { width: min(18rem, calc(100vw - 12rem)); min-width: 0; }
.hero-quick-search-wrap .mls-quick-search .row-mls [class^=col]:not(.col-submit) { width: 12.5rem; min-width: 0; }
.hero-quick-search-wrap .mls-quick-search .row-mls .col-price { width: 26rem; }
.hero-quick-search-wrap .hero-quick-search .col-submit { width: 9.6875rem; min-width: 0; }
.hero-quick-search-wrap .hero-quick-search .input-wrap,
.hero-quick-search-wrap .hero-quick-search .select-wrap,
.hero-quick-search-wrap .hero-quick-search button[type=submit],
.hero-quick-search-wrap .qs-dates-wrap { height: 2.8125rem; }
.hero-quick-search-wrap .qs-dates-wrap,
.hero-quick-search-wrap .hero-quick-search .input-wrap { width: 100%; min-width: 0; padding: 0 1rem; background: transparent; border-radius: 0; }
.hero-quick-search-wrap .qs-dates-wrap:before,
.hero-quick-search-wrap .hero-quick-search .input-wrap:before,
.hero-quick-search-wrap .hero-quick-search .input-wrap:after,
.hero-quick-search-wrap .datepicker-reset-inline { display: none; }
.hero-quick-search-wrap .qs-dates-arrival { width: auto; margin: 0; }
.hero-quick-search-wrap .qs-dates-departure { display: none; }
.hero-quick-search-wrap .qs-dates-group { width: 100%; align-items: center; text-align: center; }
.hero-quick-search-wrap .qs-dates-group-label,
.hero-quick-search-wrap .qs-dates-group-date,
.hero-quick-search-wrap .input-wrap input[type=text] { font-size: 0.9375rem; font-weight: var(--wRegular); letter-spacing: 0.1031rem; line-height: 1; color: hsl(var(--black)); text-align: center !important; text-transform: uppercase; }
.hero-quick-search-wrap .input-wrap input[type=text] { display: flex; width: 100%; min-width: 0; padding: 0; background: transparent; border: none; }
.hero-quick-search-wrap .input-wrap input[type=text]::placeholder { opacity: 1; color: hsl(var(--black)); }
.hero-quick-search-wrap .qs-dates-group-date { text-align: center; }
.hero-quick-search-wrap .qs-dates-group.dates-entered .qs-dates-group-label { display: none; }
.hero-quick-search-wrap .qs-dates-group.dates-entered .qs-dates-group-date { font-size: 0.9375rem; transform: none; }
.hero-quick-search-wrap .hero-quick-search button[type=submit] { padding: 0.625rem 1rem; background: hsl(var(--siteColor6)) !important; border-radius: 0 var(--borderRadius) var(--borderRadius) 0; font-size: 1.25rem; font-weight: var(--wMedium); letter-spacing: 0.025rem; text-transform: capitalize; }
.hero-quick-search-wrap .hero-quick-search button[type=submit]:hover,
.hero-quick-search-wrap .hero-quick-search button[type=submit]:focus { background: hsl(var(--siteColor3)) !important; }
@media (min-width: 1025px) {
  .hero-quick-search-wrap { max-width: 68.3125rem; bottom: 30%; }
  .hero-quick-search-wrap.hero-tabs { margin: 0 auto; }
  .hero-quick-search-wrap .nav { position: relative; bottom: auto; margin: 0 auto; }
  .hero-quick-search-wrap .nav .nav-link { padding: 0.1875rem 0.75rem 0.125rem; }
  .hero-quick-search-wrap .hero-quick-search .row { display: flex; width: auto; gap: 0.1875rem; grid-template-columns: none; background: hsla(var(--siteColor5), 65%); }
  .hero-quick-search-wrap .mls-quick-search > form { display: flex; flex-wrap: wrap; flex-direction: row; gap: 0.1875rem; }
  .hero-quick-search-wrap .mls-quick-search .row { margin: 0; }
  .hero-quick-search-wrap .hero-quick-search [class^=col],
  .hero-quick-search-wrap .hero-quick-search [class^=col] > div { border-radius: 0 !important; }
  .hero-quick-search-wrap .hero-quick-search .col-dates { width: 22.5rem; min-width: 0; }
  .hero-quick-search-wrap .hero-quick-search .col-mlsNumber { width: 18rem; min-width: 0; }
  .hero-quick-search-wrap .mls-quick-search .row-mls [class^=col]:not(.col-submit) { width: 12.5rem; min-width: 0; }
  .hero-quick-search-wrap .mls-quick-search .row-mls .col-price { width: 26rem; }
  .hero-quick-search-wrap .hero-quick-search .col-submit { width: 9.6875rem; min-width: 0; }
  .hero-quick-search-wrap .qs-dates-wrap,
  .hero-quick-search-wrap .hero-quick-search .input-wrap,
  .hero-quick-search-wrap .hero-quick-search .select-wrap,
  .hero-quick-search-wrap .hero-quick-search .bootstrap-select .dropdown-toggle,
  .hero-quick-search-wrap .qs-price-wrap,
  .hero-quick-search-wrap .hero-quick-search button[type=submit] { height: 2.8125rem; }
  .hero-quick-search-wrap .qs-dates-wrap,
  .hero-quick-search-wrap .hero-quick-search .input-wrap,
  .hero-quick-search-wrap .hero-quick-search .select-wrap,
  .hero-quick-search-wrap .qs-price-wrap { padding: 0 1rem; background: transparent; border-radius: 0 !important; }
  .hero-quick-search-wrap .mls-quick-search .select-wrap,
  .hero-quick-search-wrap .mls-quick-search .qs-price-wrap .select-wrap,
  .hero-quick-search-wrap .mls-quick-search .bootstrap-select,
  .hero-quick-search-wrap .mls-quick-search .bootstrap-select .dropdown-toggle,
  .hero-quick-search-wrap .mls-quick-search .bootstrap-select .filter-option { background: transparent !important; }
  .hero-quick-search-wrap .hero-quick-search .bootstrap-select .dropdown-toggle { padding: 0; background: transparent; border-radius: 0 !important; }
  .hero-quick-search-wrap .qs-price-wrap .bootstrap-select .dropdown-toggle { padding: 0; }
  .hero-quick-search-wrap .hero-quick-search .bootstrap-select .dropdown-toggle:before,
  .hero-quick-search-wrap .hero-quick-search .input-wrap:before,
  .hero-quick-search-wrap .hero-quick-search .input-wrap:after,
  .hero-quick-search-wrap .hero-quick-search .select-wrap:after { display: none; }
  .hero-quick-search-wrap .hero-quick-search .bootstrap-select .dropdown-toggle,
  .hero-quick-search-wrap .hero-quick-search .bootstrap-select .dropdown-toggle .filter-option,
  .hero-quick-search-wrap .hero-quick-search .bootstrap-select .dropdown-toggle .filter-option-inner,
  .hero-quick-search-wrap .hero-quick-search .bootstrap-select .dropdown-toggle .filter-option-inner-inner { justify-content: center; text-align: center; text-indent: 0; }
  .hero-quick-search-wrap .hero-quick-search .bootstrap-select .dropdown-toggle .filter-option { position: static; width: 100%; height: auto; padding: 0; }
  .hero-quick-search-wrap .hero-quick-search .bootstrap-select .dropdown-toggle .filter-option-inner { width: 100%; }
  .hero-quick-search-wrap .mls-quick-search .bootstrap-select .dropdown-toggle .filter-option,
  .hero-quick-search-wrap .mls-quick-search .bootstrap-select .dropdown-toggle .filter-option-inner,
  .hero-quick-search-wrap .mls-quick-search .bootstrap-select .dropdown-toggle .filter-option-inner-inner { overflow: visible; text-overflow: clip; white-space: nowrap; }
  .hero-quick-search-wrap .mls-quick-search .bootstrap-select .dropdown-toggle:after,
  .hero-quick-search-wrap .mls-quick-search .bootstrap-select .dropdown-toggle .caret { display: none; }
  .hero-quick-search-wrap .hero-quick-search .bootstrap-select .filter-option-inner-inner,
  .hero-quick-search-wrap .input-wrap input[type=text],
  .hero-quick-search-wrap .qs-price-wrap .bootstrap-select .filter-option-inner-inner { font-size: 0.9375rem; font-weight: var(--wRegular); letter-spacing: 0.06rem; line-height: 1; color: hsl(var(--black)); text-align: center !important; text-transform: uppercase; }
  .hero-quick-search-wrap .hero-quick-search button[type=submit] { border-radius: 0 var(--borderRadius) var(--borderRadius) 0; }
}

/* Fonts */
@font-face {
    font-family: 'Kindred TC';
    src: url('./fonts/Kindred-TC-Regular.eot');
    src: url('./fonts/Kindred-TC-Regular.eot?#iefix') format('embedded-opentype'),
        url('./fonts/Kindred-TC-Regular.woff2') format('woff2'),
        url('./fonts/Kindred-TC-Regular.woff') format('woff'),
        url('./fonts/Kindred-TC-Regular.ttf') format('truetype'),
        url('./fonts/Kindred-TC-Regular.svg#Kindred-TC-Regular') format('svg');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Meloso';
    src: url('./fonts/Meloso-LightItalic.eot');
    src: url('./fonts/Meloso-LightItalic.eot?#iefix') format('embedded-opentype'),
        url('./fonts/Meloso-LightItalic.woff2') format('woff2'),
        url('./fonts/Meloso-LightItalic.woff') format('woff'),
        url('./fonts/Meloso-LightItalic.ttf') format('truetype'),
        url('./fonts/Meloso-LightItalic.svg#Meloso-LightItalic') format('svg');
    font-weight: 200;
    font-style: italic;
    font-display: swap;
}

@font-face {
    font-family: 'Meloso';
    src: url('./fonts/Meloso-Regular.eot');
    src: url('./fonts/Meloso-Regular.eot?#iefix') format('embedded-opentype'),
        url('./fonts/Meloso-Regular.woff2') format('woff2'),
        url('./fonts/Meloso-Regular.woff') format('woff'),
        url('./fonts/Meloso-Regular.ttf') format('truetype'),
        url('./fonts/Meloso-Regular.svg#Meloso-Regular') format('svg');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}
