/* Buttons and links — keyboard focus (250 Mission) */
button:focus,
a:focus {
  outline: 1px dotted #ffffff;
  outline-offset: 2px;
}

.banner-content-wrapper .site-logo {
  width: auto;
  height: auto;
  max-width: 18vw;
}

/* Home hero — full bleed under absolute header (main.css adds 70px padding-top) */
body.home-page #home_page {
  padding-top: 0;
}

/* Home video banner — CMS `subHeading` (hidden globally by #home_page .mt_txt_intro) */
#home_page .home_banner_split .banner-content-wrapper .mt_txt_intro {
  display: block;
  color: #1a1b1e;
  text-align: left;
  margin: 0;
  max-width: 100%;
}

@media (max-width: 768.8px) {
  #home_page .home_banner_split .banner-content-wrapper .mt_txt_intro {
    text-align: center;
    padding: 0 7vw;
  }
}

/* Home video banner — gradient overlay starts below header + top specials (JS: --home-hero-overlay-top) */
#home_page .home_banner_split .banner-wrapper::before {
  top: var(--home-hero-overlay-top, 0px);
  height: calc(100% - var(--home-hero-overlay-top, 0px));
}

@media (max-width: 991.8px) {
  #home_page .home_banner_split .banner-wrapper::before {
    width: 100%;
    background-image: linear-gradient(to top, #e6ddcee8, transparent);
  }
}

@media (min-width: 992px) {
  #home_page .home_banner_split .right_banner_img {
    top: var(--home-hero-overlay-top, 0px);
    height: calc(100% - var(--home-hero-overlay-top, 0px));
  }
}

/* JS sets --home-hero-overlay-top; overrides main.css `padding-top: 0 !important` */
body.home-page #home_page .mt_banner.mt_autoplay {
  padding-top: var(--home-hero-overlay-top, 0px) !important;
  box-sizing: border-box;
}

/* Home hero — banner copy + play/pause slightly lower */
#home_page .banner-content-wrapper {
  top: 58%;
}

#home_page .mt_control_btn {
  bottom: 2.5vw;
}

@media (max-width: 991.8px) {
  #home_page .mt_control_btn {
    bottom: 4vw;
  }
}

@media (max-width: 768.8px) {
  #home_page .banner-content-wrapper {
    top: 94%;
  }
}

/* Home video banner — play/pause: white circle, dark icon */
#home_page .mt_control_btn button.mt_play:before {
  background-image: url(../images/icons/pause-icon-light.svg);
}

#home_page .mt_control_btn button.mt_play:after {
  background-image: url(../images/icons/play-icon-light.svg);
}

@media (max-width: 767px) {
  .banner-content-wrapper .site-logo {
    max-width: 45vw;
  }
}

/* Inner page banners — center copy in area below absolute header (banner runs under nav) */
.inner_page .mt_banner:not(.mt_simple_banner) .mt_banner_content {
  box-sizing: border-box;
  padding-top: calc(var(--height-navbar, 122px) + var(--top-bar-header-height, 0px));
}

/* Inner page banner headings — slightly more open tracking */
.inner_page .mt_banner .mt_main_heading {
  letter-spacing: -0.5px;
}
@media screen and (min-width: 320px) {
  .inner_page .mt_banner .mt_main_heading {
    letter-spacing: calc(-0.5px + -3 * ((100vw - 320px) / 1600));
  }
}
@media screen and (min-width: 1920px) {
  .inner_page .mt_banner .mt_main_heading {
    letter-spacing: -3.5px;
  }
}
@media (max-width: 768px) {
  .inner_page .mt_banner .mt_main_heading {
    letter-spacing: -1px;
  }
}

/* Inner page hero — white wash over banner media (main.css hides ::before globally) */
.inner_page:not(#gallery_page):not(#page_404):not(#thank_you_page):not(#virtual_tour_page):not(
    #amenities_page
  ):not(#retail_page)
  .mt_banner:not(.mt_simple_banner):not(.mt_banner_wrap)::before {
  content: "";
  display: block !important;
  position: absolute;
  inset: 0;
  z-index: 1;
  width: 100%;
  height: 100%;
  background: rgba(255, 255, 255, 0.4);
  background-image: none;
  pointer-events: none;
}

.inner_page:not(#gallery_page):not(#page_404):not(#thank_you_page):not(#virtual_tour_page):not(
    #amenities_page
  ):not(#retail_page)
  .mt_banner:not(.mt_simple_banner):not(.mt_banner_wrap)
  .mt_banner_content,
.inner_page:not(#gallery_page):not(#page_404):not(#thank_you_page):not(#virtual_tour_page):not(
    #amenities_page
  ):not(#retail_page)
  .mt_banner:not(.mt_simple_banner):not(.mt_banner_wrap)
  .mt_main_heading,
.inner_page:not(#gallery_page):not(#page_404):not(#thank_you_page):not(#virtual_tour_page):not(
    #amenities_page
  ):not(#retail_page)
  .mt_banner:not(.mt_simple_banner):not(.mt_banner_wrap)
  .mt_txt_intro {
  color: #1a1b1e;
}

.inner_page:not(#gallery_page):not(#page_404):not(#thank_you_page):not(#virtual_tour_page):not(
    #amenities_page
  ):not(#retail_page)
  .mt_banner:not(.mt_simple_banner):not(.mt_banner_wrap)
  *:focus {
  outline-color: #1a1b1e;
}

/* Amenities + retail — black hero overlay, white copy */
.inner_page#amenities_page .mt_banner:not(.mt_simple_banner):not(.mt_banner_wrap)::before,
.inner_page#retail_page .mt_banner:not(.mt_simple_banner):not(.mt_banner_wrap)::before {
  content: "";
  display: block !important;
  position: absolute;
  inset: 0;
  z-index: 1;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.4);
  background-image: none;
  pointer-events: none;
}

.inner_page#amenities_page
  .mt_banner:not(.mt_simple_banner):not(.mt_banner_wrap)
  .mt_banner_content,
.inner_page#amenities_page
  .mt_banner:not(.mt_simple_banner):not(.mt_banner_wrap)
  .mt_main_heading,
.inner_page#amenities_page
  .mt_banner:not(.mt_simple_banner):not(.mt_banner_wrap)
  .mt_txt_intro,
.inner_page#retail_page
  .mt_banner:not(.mt_simple_banner):not(.mt_banner_wrap)
  .mt_banner_content,
.inner_page#retail_page
  .mt_banner:not(.mt_simple_banner):not(.mt_banner_wrap)
  .mt_main_heading,
.inner_page#retail_page
  .mt_banner:not(.mt_simple_banner):not(.mt_banner_wrap)
  .mt_txt_intro {
  color: #ffffff !important;
}

.inner_page#amenities_page
  .mt_banner:not(.mt_simple_banner):not(.mt_banner_wrap)
  *:focus,
.inner_page#retail_page
  .mt_banner:not(.mt_simple_banner):not(.mt_banner_wrap)
  *:focus {
  outline-color: #ffffff;
}

.mt_specials_popup {
  opacity: 0;
  transition: opacity 0.4s ease;
  padding: 30px;
}

/* Focus trap lands on dialog — hide black dotted outline from global :focus */
.mt_specials_popup:focus {
  outline: none;
}

.mt_specials_popup.is-fading-in {
  opacity: 1;
}

.mt_specials_popup .mt_specials_inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 17px;
}

.mt_specials_popup .mt_specials_inner > * {
  margin-top: 0;
  margin-bottom: 0;
}

.mt_specials_popup .mt_sub_heading {
  font-size: 25px;
}

@media screen and (min-width: 320px) {
  .mt_specials_popup .mt_sub_heading {
    font-size: calc(25px + 11 * ((100vw - 320px) / 1600));
  }
}

@media screen and (min-width: 1920px) {
  .mt_specials_popup .mt_sub_heading {
    font-size: 36px;
  }
}

.mt_specials_popup .mt_txt_intro {
  font-size: 17px;
}

@media screen and (min-width: 320px) {
  .mt_specials_popup .mt_txt_intro {
    font-size: calc(17px + 3 * ((100vw - 320px) / 1600));
  }
}

@media screen and (min-width: 1920px) {
  .mt_specials_popup .mt_txt_intro {
    font-size: 20px;
  }
}

.mt_specials_popup .mt_popup_close {
  padding: 0;
  border-radius: 0;
  background: url(../images/icons/popup-close.png) no-repeat center center;
  background-size: contain;
}

.mt_specials_wrapper.mt_specials_show {
  z-index: 100;
}

/* Theme sets gallery .mt_slider to height:100% but parent has no height on desktop */
#home_page .mt_home_gallery {
  position: relative;
}

#home_page .mt_home_gallery .mt_slider {
  height: 55.5vw;
  min-height: 280px;
}

#home_page .mt_home_gallery .mt_slider.keen-slider,
#home_page .mt_home_gallery .mt_slider .keen-slider__slide,
#home_page .mt_home_gallery .mt_slider .mt_slide {
  height: 100%;
  min-height: 280px;
}

.amenities .mt_tab_content:not(.active_tab) {
  display: none !important;
}

.amenities .mt_tab_content.active_tab {
  display: block !important;
}

@media (min-width: 769px) {
  /* Desktop: keep tab row visible (floor-plan selectivo may add .hidden to #mt_tabs) */
  .amenities .mt_tab_head_wrapper .selectivo__dropdown.hidden {
    display: block !important;
  }

  .amenities .mt_tab_head_wrapper .selectivo__label.mt_tab_mob {
    display: none !important;
  }

  /* Tab row: flex center (blog tabs pattern); fixes staggered AMENITIES/SERVICES/FEATURES */
  #amenities_page .mt_tab_head_wrapper .mt_mob_dropdown {
    width: 100%;
  }

  #amenities_page .mt_tab_head_wrapper .dropdown {
    display: block;
    width: 100%;
    text-align: center;
  }

  #amenities_page .mt_tab_head_wrapper #mt_tabs.selectivo__dropdown {
    display: flex !important;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    position: relative;
    width: 100%;
    max-height: none;
    padding: 0 20px;
    margin: 0;
    border: 0;
    background: transparent;
  }

  #amenities_page .mt_tab_head_wrapper #mt_tabs .selectivo__option {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    margin-bottom: 0 !important;
    margin-right: 15px;
    vertical-align: middle;
    box-sizing: border-box;
  }

  #amenities_page .mt_tab_head_wrapper #mt_tabs .selectivo__option:last-child {
    margin-right: 0;
  }
}

/* Amenities decor lines: scope to #amenities_page (body.amenities is set in useLayoutEffect) */
#amenities_page .mt_tab_content .mt_two_col {
  position: relative;
  z-index: 2;
}

#amenities_page .mt_tab_content .amenities-line {
  position: absolute;
  top: -60vw;
  left: -100vw;
  z-index: 0;
  max-width: unset;
  display: block;
  width: unset;
  min-width: 100vw;
  pointer-events: none;
}

@media (max-width: 991.8px) {
  #amenities_page .mt_tab_content .amenities-line {
    display: none !important;
  }
}

/* WP listbox.css — dropdowns inline in FP sentence */
.mt_quick_fpsrch .dropdown {
  position: relative;
  display: inline-block;
  vertical-align: middle;
}

.mt_quick_fpsrch .mt_main_heading {
  margin-bottom: 25px;
}

.mt_quick_fpsrch .mt_txt_intro {
  line-height: 45px !important;
  padding: 0 !important;
}

.inner_page #amenities_page .mt_quick_fpsrch {
  width: calc(100% + 20px);
  margin-left: -10px;
}

/* Floor plan search (green block) — match live amenities */
#amenities_page .mt_quick_fpsrch {
  background-color: #36563b;
  margin: 0;
  padding: 115px 30px 85px;
  text-align: center;
}

#amenities_page .mt_quick_fpsrch h2,
#amenities_page .mt_quick_fpsrch .mt_txt_intro {
  color: #f2eee6;
}

#amenities_page .mt_quick_fpsrch .mt_txt_intro {
  font-family: var(--site-font-heading, "Libre Franklin"), sans-serif;
  font-size: 20px;
  letter-spacing: -1.6px;
}

#amenities_page .mt_quick_fpsrch .dropdown {
  display: inline-block !important;
  margin: 0 10px;
}

#amenities_page .mt_quick_fpsrch .mt_txt_intro .fp_srch_label {
  display: inline;
}

#amenities_page .mt_quick_fpsrch .dropdown .selectivo__label {
  color: #f2eee6 !important;
  font-family: var(--site-font-body, "Inter"), sans-serif;
  font-weight: 500;
  white-space: nowrap;
}

#amenities_page .mt_quick_fpsrch .dropdown .selectivo__label:after {
  border-top-color: #f2eee6 !important;
}

#amenities_page .mt_quick_fpsrch .selectivo--open .selectivo__label:after {
  border-bottom-color: #f2eee6 !important;
}

#amenities_page .mt_quick_fpsrch .selectivo__option.selectivo__option--selected,
#amenities_page .mt_quick_fpsrch .selectivo__option.infocus,
#amenities_page .mt_quick_fpsrch .selectivo__option:hover {
  background: #7babdb;
  color: #f2eee6 !important;
}

#amenities_page .mt_quick_fpsrch .mt_btn {
  margin-top: 80px;
  padding: 9px 20px 7px 20px !important;
  height: auto;
  background: #f2eee6;
  color: #1a1b1e !important;
  width: 347px;
  max-width: 100%;
  font-size: 17px;
  display: inline-block;
}

/* Blue accent on tab strip vertical rule */
#amenities_page .mt_tab_head_wrapper.mt_sec_vertical_line::after {
  border-color: #7babdb !important;
}

/* Neighborhood page */
/* Banner title: restore fluid line-height (style.css sets normal → overlap) */
#neighborhood_page .mt_banner .mt_banner_content .mt_main_heading {
  line-height: 36px;
}

@media screen and (min-width: 320px) {
  #neighborhood_page .mt_banner .mt_banner_content .mt_main_heading {
    line-height: calc(36px + 29 * ((100vw - 320px) / 1600));
  }
}

@media screen and (min-width: 1920px) {
  #neighborhood_page .mt_banner .mt_banner_content .mt_main_heading {
    line-height: 65px;
  }
}

/* Video behind title; leave bottom strip open so native controls stay usable */
#neighborhood_page .mt_banner video.mt_desktop {
  z-index: 0;
}

#neighborhood_page .mt_banner .mt_banner_content {
  z-index: 1;
  pointer-events: none;
  height: calc(100% - 54px);
}

/* Banner ::after hangs below the hero; intro follows in DOM and would cover it without stacking. */
#neighborhood_page .mt_banner.mt_sec_vertical_line {
  z-index: 1;
}

/* Same stacking level as the hero — keep absolute header above the video at page top (.mt_fixed unchanged). */
body.neighborhood header:not(.mt_fixed),
body.about header:not(.mt_fixed) {
  z-index: 2;
}

/* Neighborhood page — slider image column (match live: full bleed, no black gap) */
#neighborhood_page .neighborhood_slider .slider_wrapper {
  align-items: stretch;
}

#neighborhood_page .neighborhood_slider .slider_wrapper .left_slider_img_area {
  display: flex;
  flex-direction: column;
}

#neighborhood_page .neighborhood_slider .slider_wrapper .left_slider_img_area .mt_slider {
  flex: 1;
  width: 100%;
  height: 45vw;
  min-height: 320px;
}

#neighborhood_page .neighborhood_slider .mt_slider.keen-slider,
#neighborhood_page .neighborhood_slider .mt_slider .keen-slider__slide,
#neighborhood_page .neighborhood_slider .mt_slider .mt_slide {
  height: 100%;
  min-height: 45vw;
}

#neighborhood_page .neighborhood_slider .mt_slider .mt_slide img,
#neighborhood_page .neighborhood_slider .mt_slider .keen-slider__slide img {
  width: 100%;
  height: 100%;
  min-height: 45vw;
  object-fit: cover;
  display: block;
}

#neighborhood_page .neighborhood_slider .mt_slider:not(.keen-initialized) .mt_slide:not(:first-child) {
  display: none;
}

#neighborhood_page .neighborhood_slider .slider_wrapper .content_area {
  min-height: 45vw;
}

#neighborhood_page .neighborhood_slider .slider_wrapper .content_area .small_text,
#neighborhood_page .neighborhood_slider .slider_wrapper .content_area .mt_main_heading,
#neighborhood_page .neighborhood_slider .slider_wrapper .content_area .mt_txt_sub,
#neighborhood_page .neighborhood_slider .slider_wrapper .content_area .mt_btn {
  opacity: 1;
  transform: none;
  filter: none;
}

#neighborhood_page .neighborhood_slider .controls .left {
  background-image: url('/images/neighborhood/left.svg');
}

#neighborhood_page .neighborhood_slider .controls .right {
  background-image: url('/images/neighborhood/right.svg');
}

.neighborhood .mt_map_cont .mt_map .mt_map_btns button#walk {
  background-image: url('/images/neighborhood/walk.png');
}

.neighborhood .mt_map_cont .mt_map .mt_map_btns button#bike {
  background-image: url('/images/neighborhood/bike.png');
}

.neighborhood .mt_map_cont .mt_map .mt_map_btns button#drive {
  background-image: url('/images/neighborhood/car.png');
}

#neighborhood_page .mt_map_block .mt_map_cont {
  display: flex;
}

#neighborhood_page .mt_map_block .mt_map_cont .mt_map_wrapper {
  flex: 1;
  min-width: 0;
}

@media (min-width: 769px) {
  #neighborhood_page .mt_map_block .mt_map_cont .mt_map_wrapper {
    box-sizing: border-box;
    height: 700px;
    overflow: hidden;
  }

  #neighborhood_page .mt_map_block .mt_map_cont .mt_map_wrapper .mt_map {
    height: 100%;
  }

  #neighborhood_page .mt_map_block .mt_map_cont .mt_map_wrapper .mt_map #map_page,
  #neighborhood_page .mt_map_block .mt_map_cont .mt_map_wrapper .mt_map .mt_map_static_desktop,
  #neighborhood_page .mt_map_block .mt_map_cont .mt_map_wrapper .mt_map .mt_map_static_desktop img {
    height: 100% !important;
    min-height: 0;
  }

  #neighborhood_page
    .mt_map_block
    .mt_map_cont
    .mt_map_wrapper
    .mt_map
    .mt_map_static_desktop
    img {
    width: 100%;
    object-fit: cover;
    display: block;
  }
}

/* POI map — CMS staticMapImage sits above Categories on mobile; desktop uses Google Maps */
#neighborhood_page .mt_map_block .mt_map_static_mobile,
#neighborhood_page .mt_map_block .mt_map_mobile {
  display: none;
}

@media (max-width: 768.8px) {
  #neighborhood_page .mt_map_block .mt_map_cont {
    flex-direction: column;
  }

  #neighborhood_page .mt_map_block .mt_map.mt_desktop,
  #neighborhood_page .mt_map_block .mt_map_wrapper {
    display: none !important;
  }

  #neighborhood_page .mt_map_block .mt_map_static_mobile,
  #neighborhood_page .mt_map_block .mt_map_mobile {
    display: block;
    width: 100%;
  }

  #neighborhood_page .mt_map_block .mt_map_static_mobile img {
    width: 100%;
    height: auto;
    display: block;
  }
}

/* Neighborhood map — mobile POI list under expanded category (CMS names) */
@media (max-width: 768.8px) {
  #neighborhood_page
    .mt_map_block
    .mt_map_cont
    .mt_neighborhood_category
    .mt_category_list
    > li.active
    .mt_sub_category_list {
    display: block;
  }

  #neighborhood_page
    .mt_map_block
    .mt_map_cont
    .mt_neighborhood_category
    .mt_category_list
    > li
    > button.mt_cat_item {
    position: relative;
    padding-right: 36px;
  }

  #neighborhood_page
    .mt_map_block
    .mt_map_cont
    .mt_neighborhood_category
    .mt_category_list
    > li
    > button.mt_cat_item::after {
    content: '';
    position: absolute;
    right: 0;
    top: 50%;
    width: 18px;
    height: 10px;
    background: url(/images/icons/black-down-arrow.png) no-repeat center center;
    background-size: contain;
    transform: translateY(-50%);
    transition: transform 0.3s linear;
    pointer-events: none;
  }

  #neighborhood_page
    .mt_map_block
    .mt_map_cont
    .mt_neighborhood_category
    .mt_category_list
    > li.active
    > button.mt_cat_item::after {
    transform: translateY(-50%) rotate(180deg);
  }
}

#retail_page .mt_home_intro .mt_txt_intro.center-text,
.mt_retail_tab_wrapper .mt_home_intro .mt_txt_intro.center-text {
  text-align: center;
  margin-left: auto;
  margin-right: auto;
}

/* Retail theme: works on /retail and any page with .mt_retail_tab_wrapper */
.about .mt_retail_tab_wrapper .mt_home_intro,
.about #retail_page .mt_home_intro,
.about .inner_page .mt_home_intro.retail-intro-band {
  background: #fff;
  margin-bottom: 0 !important;
  padding-bottom: 7.5vw;
}

.mt_retail_tab_wrapper .mt_home_intro,
#retail_page .mt_home_intro {
  padding-top: 7.5vw;
  padding-bottom: 7.5vw;
  margin: 0;
}

.mt_retail_tab_wrapper .mt_home_intro .mt_txt_intro,
#retail_page .mt_home_intro .mt_txt_intro {
  max-width: 798px;
  margin-left: auto;
  margin-right: auto;
}

.mt_retail_tab_wrapper .mt_two_col .mt_col_content,
#retail_page .mt_two_col .mt_col_content,
.inner_page .retail-feature-row .mt_col_content {
  text-align: left;
}

.mt_retail_tab_wrapper .mt_two_col .mt_col_content .mt_txt_sub,
#retail_page .mt_two_col .mt_col_content .mt_txt_sub,
.inner_page .retail-feature-row .mt_col_content .mt_txt_sub {
  text-align: left;
}

.mt_retail_tab_wrapper .mt_two_col .mt_main_heading,
#retail_page .mt_two_col .mt_main_heading,
.inner_page .retail-feature-row .mt_main_heading {
  text-align: left !important;
}

.mt_retail_tab_wrapper .mt_two_col .mt_col_content .coming_soon,
#retail_page .mt_two_col .mt_col_content .coming_soon,
.inner_page .retail-feature-row .mt_col_content .coming_soon {
  color: #1a1b1e;
  opacity: 0.7;
  text-transform: uppercase;
  font-size: 18px;
  font-weight: bold;
  font-family: var(--site-font-body, "Inter"), sans-serif;
  margin: 15px 0;
}

/* Banner ::after hangs below the hero; intro follows in DOM and would cover it without stacking. */
.inner_page .mt_banner.retail-hero.mt_sec_vertical_line,
#retail_page .mt_banner.mt_sec_vertical_line {
  z-index: 1;
}

.inner_page .mt_banner.retail-hero.mt_sec_vertical_line::after,
#retail_page .mt_banner.mt_sec_vertical_line::after {
  border-right-color: #7babdb;
}

#virtual_tour_page.virtual-tour-frame #tour,
#virtual_tour_page #tour,
#virtual_tour_page #pano {
  width: 100%;
  min-height: calc(100vh - 135px);
  margin-bottom: 9px;
}

@media (max-width: 768.8px) {
  #virtual_tour_page.virtual-tour-frame #tour,
  #virtual_tour_page #tour,
  #virtual_tour_page #pano {
    min-height: calc(100vh - 100px);
  }
}

#virtual_tour_page .mt_banner::before,
#virtual_tour_page #tour.mt_banner::before {
  display: none;
}

.virtual_tour header .logo-dark {
  display: block;
}

.inner_page .left_right_text_blocks.reverse_layout {
  position: relative;
}

/* Neighborhood diagonal decor — injected by GSAP into the last .left_right_text_blocks.
   The block gets overflow:hidden + position:relative via JS. The SVG (z-index:0) sits
   behind the photo (z-index:1) and content (z-index:2) within the isolation context. */
#neighborhood_page .left_right_text_blocks.reverse_layout {
  isolation: isolate;
}

#neighborhood_page .left_right_text_blocks.reverse_layout .img_block {
  position: relative;
  z-index: 1;
}

#neighborhood_page .left_right_text_blocks.reverse_layout .img_block > img {
  position: relative;
  z-index: 1;
}

#neighborhood_page .left_right_text_blocks.reverse_layout .content_area {
  position: relative;
  z-index: 2;
}

/* Component lab + any page: contact-layout block */
.inner_page .mt_contact_content {
  background: #f2eee6;
}
.inner_page .mt_contact_flex {
  display: flex;
  width: 100%;
}
.inner_page .mt_contact_flex > * {
  width: 50%;
}
.inner_page .mt_contact_flex .mt_contact_map {
  display: block;
  width: 100%;
  padding-bottom: 66%;
  min-height: 280px;
  border: 1px solid #979797;
}
.inner_page .mt_right_wrap:has(.mt_contact_map) {
  padding-left: 54px;
  text-align: right;
}
@media (max-width: 768.8px) {
  .inner_page .mt_contact_flex {
    flex-direction: column;
  }
  .inner_page .mt_contact_flex > * {
    width: 100%;
  }
  .inner_page .mt_right_wrap:has(.mt_contact_map) {
    padding-left: 0;
    padding-top: 9vw;
    text-align: left;
  }
}

#contact_page .mt_contact_flex .mt_contact_map {
  display: block;
  min-height: 280px;
}

/* Resident Q&A block — right-aligned on desktop (theme targets `p`/`a` only) */
@media (min-width: 769px) {
  #contact_page .mt_right_wrap .mt_cntdetails_wrap .mt_contact_details.community-form,
  #contact_page .mt_right_wrap .mt_cntdetails_wrap .mt_contact_details.community-form .mt_contact_heading,
  #contact_page .mt_right_wrap .mt_cntdetails_wrap .mt_contact_details.community-form p,
  #contact_page .mt_right_wrap .mt_cntdetails_wrap .mt_contact_details.community-form div,
  #contact_page .mt_right_wrap .mt_cntdetails_wrap .mt_contact_details.community-form a {
    text-align: right;
  }
}

/* Contact web-form field spacing + errors */
#contact_page .hywrap .control-group,
.inner_page .hywrap .control-group {
  margin-bottom: 20px;
}
#contact_page .hywrap .controls,
.inner_page .hywrap .controls {
  position: relative;
}
#contact_page .hywrap .controls input[type="text"],
#contact_page .hywrap .controls input[type="email"],
#contact_page .hywrap .controls input[type="tel"],
#contact_page .hywrap .controls input[type="number"],
#contact_page .hywrap .controls input[type="date"],
#contact_page .hywrap .controls select,
#contact_page .hywrap .controls textarea,
.inner_page .hywrap .controls input[type="text"],
.inner_page .hywrap .controls input[type="email"],
.inner_page .hywrap .controls input[type="tel"],
.inner_page .hywrap .controls input[type="number"],
.inner_page .hywrap .controls input[type="date"],
.inner_page .hywrap .controls select,
.inner_page .hywrap .controls textarea {
  display: block;
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
  margin-top: 6px;
  padding: 12px 14px;
  min-height: 47px;
  border: 1px solid #979797;
  border-radius: 0;
  background: #fff;
  color: #4a4a4a;
  font-family: inherit;
  font-size: 14px;
  line-height: 1.3;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}
#contact_page .hywrap .controls textarea,
.inner_page .hywrap .controls textarea {
  min-height: 96px;
  resize: vertical;
  padding-top: 12px;
}
#contact_page .hywrap .cf-date-field,
.inner_page .hywrap .cf-date-field,
.housing-page-wrap .hywrap .cf-date-field {
  position: relative;
  display: block;
  width: 100%;
}
#contact_page .hywrap .cf-date-field .cf-date-placeholder,
.inner_page .hywrap .cf-date-field .cf-date-placeholder,
.housing-page-wrap .hywrap .cf-date-field .cf-date-placeholder {
  position: absolute;
  left: 14px;
  top: calc(6px + 12px);
  pointer-events: none;
  color: #4a4a4a;
  font-family: inherit;
  font-size: 14px;
  line-height: 1.3;
}
#contact_page .hywrap .cf-date-field input[type="date"]:not(.cf-date-input--filled)::-webkit-datetime-edit,
.inner_page .hywrap .cf-date-field input[type="date"]:not(.cf-date-input--filled)::-webkit-datetime-edit,
.housing-page-wrap .hywrap .cf-date-field input[type="date"]:not(.cf-date-input--filled)::-webkit-datetime-edit {
  color: transparent;
}
#contact_page .hywrap .cf-date-field input[type="date"]:not(.cf-date-input--filled)::-webkit-datetime-edit-fields-wrapper,
.inner_page .hywrap .cf-date-field input[type="date"]:not(.cf-date-input--filled)::-webkit-datetime-edit-fields-wrapper,
.housing-page-wrap .hywrap .cf-date-field input[type="date"]:not(.cf-date-input--filled)::-webkit-datetime-edit-fields-wrapper {
  opacity: 0;
}
#contact_page .hywrap .cf-date-field input[type="date"],
.inner_page .hywrap .cf-date-field input[type="date"],
.housing-page-wrap .hywrap .cf-date-field input[type="date"] {
  padding-right: 44px;
  cursor: pointer;
}
#contact_page .hywrap .cf-date-field input[type="date"]::-webkit-calendar-picker-indicator,
.inner_page .hywrap .cf-date-field input[type="date"]::-webkit-calendar-picker-indicator,
.housing-page-wrap .hywrap .cf-date-field input[type="date"]::-webkit-calendar-picker-indicator {
  position: absolute;
  right: 0;
  width: 44px;
  height: 100%;
  margin: 0;
  padding: 0;
  opacity: 0;
  cursor: pointer;
}
#contact_page .hywrap .cf-date-field .cf-date-picker-trigger,
.inner_page .hywrap .cf-date-field .cf-date-picker-trigger,
.housing-page-wrap .hywrap .cf-date-field .cf-date-picker-trigger {
  position: absolute;
  right: 12px;
  top: calc(6px + 9px);
  width: 22px;
  height: 22px;
  margin: 0;
  padding: 0;
  border: 0;
  background: url(../images/icons/calendar_icon_dark.svg) no-repeat center center;
  background-size: contain;
  cursor: pointer;
  z-index: 2;
}
#contact_page .hywrap .controls select,
.inner_page .hywrap .controls select {
  padding-right: 36px;
  background-image: linear-gradient(45deg, transparent 50%, #4a4a4a 50%),
    linear-gradient(135deg, #4a4a4a 50%, transparent 50%);
  background-position:
    calc(100% - 18px) calc(50% - 3px),
    calc(100% - 12px) calc(50% - 3px);
  background-size: 6px 6px, 6px 6px;
  background-repeat: no-repeat;
}
#contact_page .hywrap .LV_invalid,
.inner_page .hywrap .LV_invalid {
  display: block;
  margin-top: 4px;
  color: #9b1c1c;
  font-family: "Graphik Web", sans-serif;
  font-size: 12px;
  font-weight: 400;
  line-height: 1.3;
  text-align: left;
  text-transform: none;
  letter-spacing: 0;
}
#contact_page .hywrap .control-label,
.inner_page .hywrap .control-label {
  text-transform: uppercase;
}

/* Submit + disclaimer left-aligned (contact + housing forms) */
#contact_page .hywrap .form-actions,
.inner_page .hywrap .form-actions,
.housing-page-wrap .hywrap .form-actions,
#contact_page .hywrap #more-info,
.inner_page .hywrap #more-info,
.housing-page-wrap .hywrap #more-info,
.housing-page-wrap .descliamer {
  display: block;
  width: 100%;
  text-align: left;
}
#contact_page .hywrap .form-actions,
.inner_page .hywrap .form-actions,
.housing-page-wrap .hywrap .form-actions {
  margin-top: 10px;
}
#contact_page .hywrap #more-info,
.inner_page .hywrap #more-info,
.housing-page-wrap .hywrap #more-info {
  margin-top: 20px;
}
#contact_page .hywrap #more-info p,
.inner_page .hywrap #more-info p,
.housing-page-wrap .hywrap #more-info p {
  text-align: left;
  margin: 0;
}
#contact_page .hywrap .form-actions button[type="submit"],
.inner_page .hywrap .form-actions button[type="submit"],
.housing-page-wrap .hywrap .form-actions button[type="submit"] {
  display: inline-block;
  margin-left: 0;
  float: none;
}

/* Contact + housing web-form thank-you state */
#contact_page #form-success.hywrap,
.inner_page #form-success.hywrap,
.housing-page-wrap #form-success.hywrap {
  width: 100%;
  max-width: 36em;
  margin: 0 auto;
  padding: 0 !important;
  color: #4a4a4a;
  text-align: center !important;
}
#contact_page #form-success .web-form-success__title,
.inner_page #form-success .web-form-success__title,
.housing-page-wrap #form-success .web-form-success__title {
  text-align: center;
  margin: 0 0 16px;
}
#contact_page #form-success p,
.inner_page #form-success p,
.housing-page-wrap #form-success p {
  font-size: 14px;
  line-height: 1.5;
  margin: 0;
}
#contact_page .mt_contact_flex:has(#form-success),
.housing-page-wrap .housing-for-all .mt_contact_flex:has(#form-success) {
  align-items: stretch;
}
#contact_page .mt_left_wrap:has(#form-success),
.housing-page-wrap .housing-for-all .mt_right_wrap:has(#form-success) {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}
.housing-page-wrap .housing-for-all .mt_right_wrap:has(#form-success) > h4 {
  display: none;
}

/* Housing / contact checkbox option groups */
#contact_page .hywrap .controls .checkbox,
.inner_page .hywrap .controls .checkbox,
.housing-page-wrap .hywrap .controls .checkbox {
  display: flex;
  align-items: center;
  gap: 8px;
  margin: 8px 0 0;
  font-size: 14px;
  line-height: 1.2;
  text-transform: none;
  letter-spacing: 0;
  color: #4a4a4a;
  cursor: pointer;
}
#contact_page .hywrap .controls .checkbox input[type="checkbox"],
.inner_page .hywrap .controls .checkbox input[type="checkbox"],
.housing-page-wrap .hywrap .controls .checkbox input[type="checkbox"] {
  width: 16px;
  height: 16px;
  min-height: 0;
  margin: 0;
  padding: 0;
  border: 1px solid #4a4a4a;
  border-radius: 0;
  appearance: auto;
  -webkit-appearance: checkbox;
  flex-shrink: 0;
}

/* Contact web-form radios — horizontal Yes/No style */
#contact_page .hywrap .cf-radio-group .controls,
.inner_page .hywrap .cf-radio-group .controls {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0;
}
#contact_page .hywrap .cf-radio-group .radio,
.inner_page .hywrap .cf-radio-group .radio {
  display: inline-flex !important;
  align-items: center;
  margin: 0 24px 0 0;
  cursor: pointer;
  font-size: 14px;
  line-height: 1.2;
  color: #4a4a4a;
  text-transform: none;
  letter-spacing: 0;
}
#contact_page .hywrap .cf-radio-group .radio:last-child,
.inner_page .hywrap .cf-radio-group .radio:last-child {
  margin-right: 0;
}
#contact_page .hywrap .cf-radio-group .radio input[type="radio"],
.inner_page .hywrap .cf-radio-group .radio input[type="radio"] {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  width: 18px;
  height: 18px;
  margin: 0 8px 0 0;
  border: 1.5px solid #4a4a4a;
  border-radius: 50%;
  background: #fff;
  flex-shrink: 0;
  position: relative;
  cursor: pointer;
  min-height: 0;
}
#contact_page .hywrap .cf-radio-group .radio input[type="radio"]:checked,
.inner_page .hywrap .cf-radio-group .radio input[type="radio"]:checked {
  border-color: #1a73e8;
}
#contact_page .hywrap .cf-radio-group .radio input[type="radio"]:checked::after,
.inner_page .hywrap .cf-radio-group .radio input[type="radio"]:checked::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: #1a73e8;
  transform: translate(-50%, -50%);
}
#contact_page .hywrap .cf-radio-group .radio input[type="radio"]:focus,
.inner_page .hywrap .cf-radio-group .radio input[type="radio"]:focus {
  outline: 1px dotted #000;
  outline-offset: 2px;
}

.mt_retail_tab_wrapper + .cms-floor-plan-search--retail .mt_quick_fpsrch {
  margin-top: 0;
}

.cms-floor-plan-search--retail .mt_quick_fpsrch,
.mt_retail_tab_wrapper .mt_quick_fpsrch,
#retail_page .mt_quick_fpsrch {
  background-color: #36563b;
  margin-bottom: 0;
  padding: 115px 30px 85px;
  margin-top: 60px;
}

.cms-floor-plan-search--retail .mt_quick_fpsrch h2,
.mt_retail_tab_wrapper .mt_quick_fpsrch h2,
#retail_page .mt_quick_fpsrch h2 {
  color: #f2eee6;
}

.cms-floor-plan-search--retail .mt_quick_fpsrch .mt_txt_intro,
.mt_retail_tab_wrapper .mt_quick_fpsrch .mt_txt_intro,
#retail_page .mt_quick_fpsrch .mt_txt_intro {
  color: #f2eee6;
}

.cms-floor-plan-search--retail .mt_quick_fpsrch .dropdown .selectivo__label,
.mt_retail_tab_wrapper .mt_quick_fpsrch .dropdown .selectivo__label,
#retail_page .mt_quick_fpsrch .dropdown .selectivo__label {
  color: #f2eee6;
}

.cms-floor-plan-search--retail .mt_quick_fpsrch .mt_btn,
.mt_retail_tab_wrapper .mt_quick_fpsrch .mt_btn,
#retail_page .mt_quick_fpsrch .mt_btn {
  border-color: #f2eee6;
  color: #f2eee6;
}

@media (max-width: 768.8px) {
  .mt_retail_tab_wrapper .mt_home_intro,
  #retail_page .mt_home_intro {
    padding-top: 60px;
    padding-bottom: 60px;
  }

  .cms-floor-plan-search--retail .mt_quick_fpsrch,
  .mt_retail_tab_wrapper .mt_quick_fpsrch,
  #retail_page .mt_quick_fpsrch {
    margin-top: 0;
  }
}

/* Scroll lock while the hamburger is open.
   overflow:hidden on both html and body resets window scroll to 0.
   JS pins scroll position; touch-action blocks pan on the page behind the drawer. */
html.mt_hid body {
  touch-action: none;
}

html.mt_hid .mt_hamb_menu,
html.mt_hid .mt_hamb_menu__scroll {
  touch-action: pan-y;
}

/* Hamburger drawer: slide in from right, out to right */
header .mt_hamb_menu {
  display: flex !important;
  flex-direction: column;
  box-sizing: border-box;
  overflow: hidden;
  right: 0;
  transform: translateX(100%);
  visibility: hidden;
  pointer-events: none;
  transition:
    transform 0.28s ease-out,
    visibility 0.28s ease-out;
}

header .mt_hamb_menu.menu-open {
  transform: translateX(0);
  visibility: visible;
  pointer-events: auto;
}

/* Hamburger panel — SimpleBar scroll (multifamily template parity) */

header .mt_hamb_menu .mt_hamb_menu__scroll.custom-scroll-area {
  --scrollbar-size: 5px;
  --scrollbar-thumb: #1a1b1e;
  --hamb-scrollbar-gap: 20px;
  flex: 1 1 auto;
  width: 100%;
  min-height: 0;
  /* Override main.css "height: calc(100vh - 160px) !important" on .inner-menu —
     the flex layout fills remaining height correctly without a fixed calc. */
  height: 0 !important;
  margin-right: 0 !important;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  /* Reserve space for the native scrollbar on real devices — the native
     scrollbar overlays the content channel, so we give it a dedicated gutter. */
  padding-right: calc(var(--scrollbar-size) + var(--hamb-scrollbar-gap)) !important;
  box-sizing: border-box;
  scrollbar-width: thin; /* Firefox */
  scrollbar-color: var(--scrollbar-thumb) transparent; /* Firefox */
}

/* WebKit native scrollbar styling (Safari / Chrome on mobile) */
header .mt_hamb_menu .mt_hamb_menu__scroll.custom-scroll-area::-webkit-scrollbar {
  width: var(--scrollbar-size);
}
header .mt_hamb_menu .mt_hamb_menu__scroll.custom-scroll-area::-webkit-scrollbar-track {
  background: transparent;
}
header .mt_hamb_menu .mt_hamb_menu__scroll.custom-scroll-area::-webkit-scrollbar-thumb {
  background: var(--scrollbar-thumb);
  border-radius: 9999px;
  opacity: 0.45;
}

/* Keep SimpleBar content gutter aligned with the container's own padding-right */
header .mt_hamb_menu .mt_hamb_menu__scroll.custom-scroll-area .simplebar-content {
  box-sizing: border-box;
  padding-right: 0;
}

header .mt_hamb_menu .mt_hamb_menu__scroll.custom-scroll-area .simplebar-wrapper {
  height: 100%;
}

header .mt_hamb_menu .mt_hamb_menu__scroll.custom-scroll-area .simplebar-track {
  background: transparent !important;
}

header .mt_hamb_menu .mt_hamb_menu__scroll.custom-scroll-area .simplebar-track.simplebar-vertical {
  width: var(--scrollbar-size) !important;
  right: 4px;
}

header .mt_hamb_menu .mt_hamb_menu__scroll.custom-scroll-area .simplebar-scrollbar::before {
  border-radius: 9999px;
  background: var(--scrollbar-thumb) !important;
  opacity: 0.45;
}

header .mt_hamb_menu .mt_hamb_menu__scroll.custom-scroll-area .simplebar-scrollbar.simplebar-visible::before {
  opacity: 0.7;
}

@media (hover: hover) and (pointer: fine) {
  header .mt_hamb_menu .mt_hamb_menu__scroll.custom-scroll-area .simplebar-scrollbar:hover::before {
    opacity: 0.9;
  }
}

/* Hamburger menu — reduced right padding across all desktop breakpoints.
   main.css base is calc((5vw - 10px) + 20px) ≈ 82px at 1440px — halved here. */
header .mt_hamb_menu {
  padding-right: calc((2.5vw - 5px) + 10px) !important; /* ≈ 41px at 1440px */
}

@media (min-width: 1921px) {
  header .mt_hamb_menu {
    padding-right: calc(1.5vw - 5px) !important; /* ≈ 24px at 1921px */
  }
}

@media (min-width: 3200px) {
  header .mt_hamb_menu {
    padding-right: calc(1.25vw - 5px) !important; /* ≈ 35px at 3200px */
  }
}

@media (max-width: 768.8px) {
  header .mt_hamb_menu {
    padding-right: 24px !important;
  }

  header .mt_hamb_menu ul,
  header .mt_hamb_menu .mt_social_wrapper {
    padding-right: 0;
  }
}

@media (max-width: 480px) {
  header .mt_hamb_menu {
    padding-right: 16px !important;
  }
}
.floor-plans header {
  z-index: 9;
}

/* Legacy SiteHeader — match inner-page chrome vertical rhythm (20px), desktop only */
@media (min-width: 769px) {
  header {
    padding-top: 20px !important;
    padding-bottom: 20px !important;
  }
}

/* Floor plans — transparent header over hero (legacy SiteHeader; not .mt_fixed) */
body.floor-plans:not(.home-page) header:not(.mt_fixed) {
  left: 0;
  width: 100%;
  background-color: rgba(123, 171, 219, 0.5) !important;
  background-image: none !important;
}

/* Absolute header — hero is full-bleed; spacer is for fixed Navbar layouts only */
body.floor-plans:not(.home-page) #floor-plan-template > .solid-header-spacer,
body.floor-plans:not(.home-page) #sightmap-template > .solid-header-spacer {
  display: none !important;
}

/* Gallery banner (Keen Slider) */
#gallery_page .mt_banner .gallery-banner-keen {
  height: 100%;
}

#gallery_page .mt_banner .gallery-banner-keen .gallery-banner-keen__slide,
#gallery_page .mt_banner .gallery-banner-keen .keen-slider__slide {
  min-height: 100%;
}

#gallery_page .mt_banner .gallery-banner-keen .mt_slide {
  width: 100%;
  height: 100%;
  min-height: 100%;
}

#gallery_page .mt_banner .gallery-banner-keen__slide video,
#gallery_page .mt_banner .gallery-banner-keen__slide iframe {
  position: relative;
  z-index: 0;
}

/* Simple banner — privacy / terms only */
#privacy-policy_page .mt_banner.mt_simple_banner,
#terms-of-use_page .mt_banner.mt_simple_banner {
  height: 400px !important;
  min-height: 400px !important;
  max-height: 400px;
  box-sizing: border-box !important;
  /* Center text in area below absolute header */
  padding-top: var(--height-navbar, 122px) !important;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: #1a1b1e;
  width: 100% !important;
  margin: 0 !important;
}

#privacy-policy_page .mt_banner.mt_simple_banner::before,
#terms-of-use_page .mt_banner.mt_simple_banner::before {
  content: "";
  display: block !important;
  position: absolute;
  inset: 0;
  z-index: 1;
  width: 100%;
  height: 100%;
  background: rgba(255, 255, 255, 0.3);
  background-image: none;
  pointer-events: none;
}

#privacy-policy_page .mt_banner.mt_simple_banner .mt_main_heading,
#privacy-policy_page .mt_banner.mt_simple_banner .mt_txt_intro,
#terms-of-use_page .mt_banner.mt_simple_banner .mt_main_heading,
#terms-of-use_page .mt_banner.mt_simple_banner .mt_txt_intro {
  color: #1a1b1e !important;
  text-align: center;
  max-width: none !important;
  width: auto !important;
  margin-left: auto;
  margin-right: auto;
}

#privacy-policy_page .mt_banner.mt_simple_banner .mt_banner_content,
#terms-of-use_page .mt_banner.mt_simple_banner .mt_banner_content {
  position: relative;
  z-index: 2;
  width: 100%;
  height: auto !important;
  padding: 0 24px !important;
  box-sizing: border-box;
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}

@media (min-width: 992px) {
  #privacy-policy_page .mt_banner.mt_simple_banner .mt_banner_content,
  #terms-of-use_page .mt_banner.mt_simple_banner .mt_banner_content {
    padding: 0 calc((100% - 1050px) / 2) !important;
  }
}

@media (max-width: 767.8px) {
  #privacy-policy_page .mt_banner.mt_simple_banner,
  #terms-of-use_page .mt_banner.mt_simple_banner {
    height: 300px !important;
    min-height: 300px !important;
    max-height: 300px;
  }
}

/* Footer address + phone hover (main.css gates this behind .system) */
footer .mt_footer_address_block a:hover,
footer .mt_footer_address_block a:hover span {
  color: #7babdb;
}

/* Footer socials: CMS order, keep left align (was row-reverse + flex-end) */
footer .mt_footer_bottom_block .mt_social_wrapper {
  flex-direction: row;
  justify-content: flex-start;
}

/* Footer social icon hover shrink (main.css gates this behind .system) */
footer .mt_footer_bottom_block .mt_social_wrapper a:hover img {
  transform: scale(0.8);
  filter: brightness(1.75);
}

/* Ham menu social icons — brightness hover (disable old img↔::after swap) */
header .mt_hamb_menu .mt_social_wrapper a:hover img {
  opacity: 1;
  filter: brightness(1.75);
}

header .mt_hamb_menu .mt_social_wrapper a:hover::after {
  opacity: 0;
}

/* Header nav underline hover (main.css gates this behind .system) */
header .mt_navigation_wrapper nav ul li a:hover::before {
  background: #fff;
  width: 100%;
  opacity: 1;
}

/* Ham menu item hover = same as current_page_item highlight */
header .mt_hamb_menu ul li a:hover {
  color: var(--button-hover-text-color, #1a1b1e);
  background: var(--button-hover-color, #7babdb);
}

/* Header nav "Schedule a Tour" (.mt_fill_btn) height */
header .mt_navigation_wrapper nav ul li.mt_fill_btn a {
  height: 36px !important;
  min-height: 36px !important;
  max-height: 36px !important;
  line-height: 36px !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  box-sizing: border-box;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

/* Button hover from CMS frontend-configuration.buttonHoverColor */
@media screen and (min-width: 769px) {
  html.system .mt_btn:hover,
  .mt_btn:hover,
  html.system body .mt_btn.mt_fill_btn:hover,
  html.system .mt_cream_btn:hover,
  html.system .mt_blue_btn:hover,
  header .mt_navigation_wrapper nav ul li.mt_fill_btn a:hover,
  html.system #home_page .mt_two_col.mt_col_reverse .mt_fill_btn:hover,
  html.system #home_page .mt_home_gallery .center_align_content .mt_btn:hover,
  html.system .amenities .mt_quick_fpsrch .mt_btn:hover,
  html.system .gallery .mt_gal_cat a.virtual-tour:hover,
  html.system .gallery .mt_gal_cat button.mt_btn:hover,
  html.system #mainContents .hywrap button[type="submit"]:hover,
  html.system .mt_floorplan .mt_fp_links a:hover,
  html.system .mt_compare_txt .mt_btn:hover,
  html.system .mt_fp_detail.mt_two_col a.mt_black_btn:hover {
    background: var(--button-hover-color, #7babdb) !important;
    border-color: var(--button-hover-color, #7babdb) !important;
    color: var(--button-hover-text-color, #1a1b1e) !important;
  }
  .gallery .mt_gal_cat .mt_btn:hover {
    background: #1a1b1e !important;
    border-color: #1a1b1e !important;
    color: #fff !important;
  }
  #amenities_page .mt_tab_head_wrapper #mt_tabs .selectivo__option:hover {
    background: #e6ddce !important;
    color: #1a1b1e !important;
    border-color: #e6ddce !important;
  }
  header .mt_hamb_menu ul li:not(.contact-cta) a:hover {
    color: #fff !important;
  }
}

/* Gallery mobile category dropdown — chevron (listbox.css draws a CSS triangle otherwise) */
@media (max-width: 768.8px) {
  #gallery_page .mt_gal_cat.mt_mob_dropdown_wrap .selectivo__label::after {
    width: 18px;
    height: 10px;
    right: 27px;
    margin-top: 2px;
    border: 0 !important;
    background: url(../images/icons/down_arrow.png) no-repeat center center;
    background-size: contain;
  }

  #gallery_page .mt_gal_cat.mt_mob_dropdown_wrap .selectivo--open .selectivo__label::after {
    transform: translate(0, -50%) rotate(-180deg);
  }
}

/* Gallery mobile lightbox — thin close icon */
@media (max-width: 768.8px) {
  .gallery .lightbox__close {
    background-image: url(../images/icons/close-lightbox-mobile.png);
    background-size: 55px;
  }
  footer .mt_footer_bottom_block .mt_social_wrapper {
    justify-content: center;
  }
  footer .mt_footer_bottom_block a.mt_with_margin {
    margin-right: 0;
    margin-bottom: 10px;
  }
}

/* Gallery thumbnail caption overlay on hover (main.css gates opacity behind .system) */
.gallery #thumbnails li .img .caption {
  color: #4a4a4a;
}

.gallery #thumbnails li .img:hover .caption {
  opacity: 1;
  transform: scale(1);
}

/* main.css selector uses NBSP after .load_more, so vertical margin never applied */
.gallery .thumbnail_wrapper .load_more {
  margin: 30px 0;
}

@media (max-width: 768.8px) {
  .gallery .thumbnail_wrapper .load_more {
    margin-bottom: 50px;
  }
}

/* Floorplans filters — move-in date field */
.datePicker .datePickerField {
  background: transparent !important;
  background-color: transparent !important;
}

/* Floor plans — Map View tab: hide grid/list panel (beats `.grid { display: grid }`) */
#floor-plan-template[hidden],
#floor-plan-template.grid[hidden],
#floor-plan-template.grid.hide {
  display: none !important;
}

#sightmap-template[hidden],
#sightmap-template.grid[hidden] {
  display: none !important;
}

/* Amenities mobile tab dropdown (end of cascade — beats listbox + .mt_btn defaults) */
@media (max-width: 768.8px) {
  /* Panel: always white when visible — covers both selectivo--open and any fallback open state */
  #amenities_page .mt_tab_head_wrapper.mt_mob_dropdown_wrap #mt_tabs.selectivo__dropdown:not(.hidden),
  #amenities_page .mt_tab_head_wrapper.mt_mob_dropdown_wrap #mt_tabs[role="listbox"]:not(.hidden) {
    background: #ffffff !important;
    border: 0 !important;
  }

  /* All options: white background, dark text */
  #amenities_page .mt_tab_head_wrapper.mt_mob_dropdown_wrap #mt_tabs button.selectivo__option {
    background-color: #ffffff !important;
    color: #1a1b1e !important;
    border: 0 !important;
    line-height: normal !important;
  }

  /* Active / hovered / focused option: brand blue */
  #amenities_page .mt_tab_head_wrapper.mt_mob_dropdown_wrap #mt_tabs button.selectivo__option.selectivo__option--selected,
  #amenities_page .mt_tab_head_wrapper.mt_mob_dropdown_wrap #mt_tabs button.selectivo__option.infocus,
  #amenities_page .mt_tab_head_wrapper.mt_mob_dropdown_wrap #mt_tabs button.selectivo__option:hover,
  #amenities_page .mt_tab_head_wrapper.mt_mob_dropdown_wrap #mt_tabs button.selectivo__option:focus {
    background-color: var(--button-hover-color, #7babdb) !important;
    color: var(--button-hover-text-color, #1a1b1e) !important;
  }
}

/* Top specials bar (Entrata/CMS feed) — align absolute Mission header with multifamily template */
header:not(.mt_fixed) {
  top: var(--top-bar-header-height, 0px);
  transition: top 0.4s ease;
}

header.mt_fixed,
.floorplan-detail header.mt_fixed,
.mt_fixed {
  top: var(--top-bar-header-height, 0px) !important;
  transition: top 0.4s ease;
}

header.mt_fixed .mt_hamb_menu,
header .mt_hamb_menu.mt_top_0 {
  top: var(--top-bar-header-height, 0px);
  height: calc(100% - var(--top-bar-header-height, 0px));
}

.top-bar-header {
  z-index: 55;
}