/* NewMain2 chrome isolation. Legacy Bootstrap 3 remains authoritative inside
   .new-main2-body; these rules only protect the new header/footer. */
.new-main2-page .new-main2-body > .top_banner { margin-top: 0 !important; }
.new-main2-body .top_banner.city_page .city-title-primary,
.new-main2-body .top_banner.city_page .city-title-secondary { display:block; }
.new-main2-body .top_banner.city_page .city-title-secondary { margin-top:20px; }
/* Bootstrap 3's navbar floats/clearfix load with the legacy Cities bundle.
   Restore the approved new-header geometry without touching the legacy body. */
@media (min-width:1200px) {
  .new-main2-header .gtts-header-nav-stack {
    flex:0 0 auto !important;
    width:auto !important;
    min-width:0 !important;
    margin-right:0 !important;
    margin-left:auto !important;
    justify-items:end !important;
  }
  .new-main2-header .gtts-header-top-row {
    width:auto !important;
    margin-left:auto !important;
    justify-content:flex-end !important;
  }
  .new-main2-header .navbar-collapse {
    float:none !important;
    flex:0 0 auto !important;
    width:auto !important;
    margin:0 !important;
    padding-left:0 !important;
  }
  .new-main2-header .navbar-nav {
    float:none !important;
    width:auto !important;
    margin-right:0 !important;
    margin-left:auto !important;
  }
  .new-main2-header .main-nav::after {
    content:"" !important;
    display:block !important;
    position:absolute !important;
    top:109px !important;
    right:30px !important;
    left:30px !important;
    width:auto !important;
    height:1px !important;
    clear:none !important;
    background:#b9bec2 !important;
    pointer-events:none;
  }
}

/* The full desktop chrome is wider than the available row at intermediate
   desktop widths. Compress only the NewMain2 header in this range so the
   account link remains visible and does not widen the document. */
@media (min-width:1200px) and (max-width:1399.98px) {
  .new-main2-header .main-nav > .container-page {
    padding-right:28px !important;
    padding-left:28px !important;
  }
  .new-main2-header .navbar-brand img {
    width:220px !important;
    height:auto !important;
  }
  .new-main2-header .gtts-header-nav-stack {
    min-width:0 !important;
    max-width:calc(100% - 240px) !important;
  }
  .new-main2-header .gtts-header-top-row,
  .new-main2-header .navbar-collapse,
  .new-main2-header .navbar-nav {
    min-width:0 !important;
    max-width:100% !important;
  }
  .new-main2-header .nav-item {
    padding-right:11px !important;
    padding-left:11px !important;
  }
  .new-main2-header .nav-link,
  .new-main2-header .login-link {
    padding-right:0 !important;
    padding-left:0 !important;
    font-size:18px !important;
  }
  .new-main2-header .gtts-header-language-row {
    right:42px !important;
  }
}

/* Keep the legacy "We Also Offer" Sly carousel inside a complete-card
   viewport on tablet/mobile. These rules are intentionally limited to the
   Cities page body hosted by NewMain2.Master. */
@media (max-width:1199.98px) {
  .new-main2-body .we_also_offer > .container {
    width:100% !important;
    max-width:100% !important;
    padding-right:15px !important;
    padding-left:15px !important;
  }
  .new-main2-body .we_also_offer > .container > .row {
    margin-right:0 !important;
    margin-left:0 !important;
  }
  .new-main2-body .we_also_offer h2 {
    word-spacing:.12em;
  }
  .new-main2-body .we_also_offer .wrap.basic {
    width:100% !important;
    margin-right:auto !important;
    margin-left:auto !important;
  }
  .new-main2-body .we_also_offer .frame#basic2 {
    width:295px !important;
    max-width:100% !important;
    margin-right:auto !important;
    margin-left:auto !important;
    overflow:hidden !important;
  }
  .new-main2-body .we_also_offer .frame#basic2 ul li.banner-space {
    display:none !important;
  }
  .new-main2-body .we_also_offer .controls {
    width:100% !important;
    margin:18px auto 0 !important;
    text-align:center !important;
  }
}

@media (max-width:339.98px) {
  .new-main2-body .we_also_offer .frame#basic2 {
    width:calc(100vw - 44px) !important;
  }
  .new-main2-body .we_also_offer .frame#basic2 ul li {
    width:calc(100vw - 64px) !important;
  }
}

.new-main2-page .new-main2-footer { float:none !important; clear:both; width:100% !important; margin:0 !important; padding:0 !important; background:#d9edf8 !important; color:#0f4f8c !important; font-family:"Open Sans",Arial,sans-serif !important; }
.new-main2-footer .container-page { width:min(1280px,calc(100% - 48px)); margin:0 auto; }
.new-main2-footer .footer-main { padding:56px 0 28px !important; }
.new-main2-footer .footer-main>.row { display:flex !important; flex-wrap:wrap !important; }
.new-main2-footer .footer-brand img { width:min(210px,100%); }
.new-main2-footer .footer-brand p { max-width:380px; margin:30px 0 36px; color:#0f4f8c; font-size:18px; line-height:1.5; }
.new-main2-footer .footer-contact { display:grid; gap:18px; }
.new-main2-footer .footer-contact>a,.new-main2-footer .footer-contact>span { display:flex; align-items:center; gap:14px; color:#1f6db8; font-size:16px; }
.new-main2-footer .footer-title { margin:0 0 18px; color:#0f4f8c; font-size:20px; font-weight:800; }
.new-main2-footer .footer-links,.new-main2-footer .social-links { display:grid; gap:14px; margin:0 !important; padding:0 !important; list-style:none !important; }
.new-main2-footer .footer-links li,.new-main2-footer .social-links li { margin:0 !important; padding:0 !important; color:#0f4f8c !important; background:none !important; font-size:16px !important; line-height:1.4 !important; }
.new-main2-footer .footer-links a,.new-main2-footer .social-links a { color:#0f4f8c !important; font-size:16px !important; font-weight:400 !important; line-height:1.4 !important; }
.new-main2-footer .social-links a { display:inline-flex; align-items:center; gap:10px; }
.new-main2-footer .social-links img { width:16px; height:16px; object-fit:contain; }
.new-main2-footer .copyright-bar { height:auto !important; margin:0 !important; padding:20px 16px 28px !important; background:#000 !important; color:#fff !important; text-align:center; font-size:16px; }
.new-main2-footer .copyright-bar a { color:#fff !important; text-decoration:underline; }
.new-main2-footer .footer-states { margin-top:36px; padding-top:28px; border-top:1px solid rgba(15,79,140,.2); }
.new-main2-footer .footer-state-links { grid-template-columns:repeat(6,minmax(0,1fr)); }
@media (max-width:767.98px) { .new-main2-footer .container-page { width:min(100% - 28px,1280px); } .new-main2-footer .footer-main { padding-bottom:18px !important; } }
@media (max-width:991.98px) { .new-main2-footer .footer-state-links { grid-template-columns:repeat(3,minmax(0,1fr)); } }
@media (max-width:575.98px) { .new-main2-footer .footer-state-links { grid-template-columns:repeat(2,minmax(0,1fr)); } }
