/* Neutralize legacy Bootstrap geometry for the shared responsive header. */
@media (max-width:1199.98px) {
  .new-main2-page .new-main2-header .main-nav {
    margin:0 !important;
    border-radius:0;
  }
  .new-main2-page .new-main2-header .navbar-brand {
    float:none !important;
    height:auto !important;
    line-height:normal !important;
  }
  .new-main2-page .new-main2-header .main-nav > .container-page::before,
  .new-main2-page .new-main2-header .main-nav > .container-page::after {
    display:none !important;
  }
  .new-main2-page .new-main2-header .navbar-nav,
  .new-main2-page .new-main2-header .nav-item {
    float:none !important;
  }
  .new-main2-page .new-main2-header .navbar-collapse {
    margin:0 !important;
    border-top:0;
    box-shadow:none;
  }
  .new-main2-page .new-main2-header .header-language-picker {
    inset:auto !important;
  }
  .new-main2-page .new-main2-header .desktop-account {
    display:none !important;
  }
}

@media (min-width:768px) and (max-width:1199.98px) {
  .new-main2-page .new-main2-header .gtts-mobile-account {
    display:inline-flex !important;
  }
}

@media (max-width:767.98px) {
  .new-main2-page .new-main2-header .gtts-mobile-account {
    display:none !important;
  }
}

/* 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:80px !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)); } }

/* Keep the NewMain2 desktop chrome identical to the shared compact header.
   These final rules also neutralize the legacy Bootstrap 3 header overrides
   loaded specifically for NewMain2 pages. */
@media (min-width:1200px) {
  .new-main2-page .new-main2-header.gtts-compact-header .main-nav {
    height:auto !important;
    margin:0 !important;
    overflow:visible !important;
  }

  .new-main2-page .new-main2-header.gtts-compact-header .main-nav::after,
  .new-main2-page .new-main2-header.gtts-compact-header .navbar-nav::after {
    display:none !important;
  }

  .new-main2-page .new-main2-header.gtts-compact-header .main-nav > .container-page {
    min-height:0 !important;
    padding:8px 44px 8px 45px !important;
    align-items:center !important;
  }

  .new-main2-page .new-main2-header.gtts-compact-header .navbar-brand {
    display:flex !important;
    float:none !important;
    width:auto !important;
    height:auto !important;
    margin:0 !important;
    padding:0 !important;
    line-height:normal !important;
  }

  .new-main2-page .new-main2-header.gtts-compact-header .navbar-brand img {
    width:240px !important;
    max-width:240px !important;
    height:auto !important;
  }

  .new-main2-page .new-main2-header.gtts-compact-header .gtts-header-nav-stack {
    display:flex !important;
    flex-flow:row nowrap !important;
    align-items:center !important;
    gap:8px !important;
    max-width:none !important;
    padding:0 !important;
  }

  .new-main2-page .new-main2-header.gtts-compact-header .gtts-header-top-row,
  .new-main2-page .new-main2-header.gtts-compact-header .navbar-collapse {
    width:auto !important;
    max-width:none !important;
    margin:0 !important;
    padding:0 !important;
  }

  .new-main2-page .new-main2-header.gtts-compact-header .navbar-nav {
    display:flex !important;
    flex-flow:row nowrap !important;
    gap:8px !important;
    max-width:none !important;
    margin:0 !important;
    padding:0 !important;
  }

  .new-main2-page .new-main2-header.gtts-compact-header:not([data-gtts-lang="es"]) .navbar-nav {
    gap:10px !important;
  }

  .new-main2-page .new-main2-header.gtts-compact-header .nav-item {
    float:none !important;
    padding:0 0 0 8px !important;
  }

  .new-main2-page .new-main2-header.gtts-compact-header:not([data-gtts-lang="es"]) .nav-item {
    padding-left:10px !important;
  }

  .new-main2-page .new-main2-header.gtts-compact-header .nav-item:first-child {
    padding-left:0 !important;
  }

  .new-main2-page .new-main2-header.gtts-compact-header .gtts-header-language-row {
    position:static !important;
    right:auto !important;
    width:auto !important;
    max-width:none !important;
  }
}

/* Desktop header, matching gtts_new_master: navigation + My Account on the
   top row, a divider line beneath them, and the language selector
   right-aligned below the line so its dropdown box ends exactly under
   My Account. Header height is still set by the logo. */
@media (min-width:1200px) {
  .new-main2-page .new-main2-header.gtts-compact-header .gtts-header-nav-stack {
    display:grid !important;
    grid-template-columns:max-content max-content !important;
    grid-template-rows:auto auto !important;
    justify-content:end !important;
    align-items:center !important;
    align-self:center !important;
    row-gap:8px !important;
    column-gap:0 !important;
    margin-top:-6px !important;
  }

  .new-main2-page .new-main2-header.gtts-compact-header .gtts-header-top-row {
    grid-column:1 !important;
    grid-row:1 !important;
  }

  .new-main2-page .new-main2-header.gtts-compact-header .desktop-account {
    grid-column:2 !important;
    grid-row:1 !important;
    display:flex !important;
    margin:0 0 0 10px !important;
    padding:0 0 0 10px !important;
    border-left:1px solid #c8c8c8;
  }

  .new-main2-page .new-main2-header.gtts-compact-header .navbar-nav,
  .new-main2-page .new-main2-header.gtts-compact-header:not([data-gtts-lang="es"]) .navbar-nav {
    gap:10px !important;
  }

  .new-main2-page .new-main2-header.gtts-compact-header .nav-item,
  .new-main2-page .new-main2-header.gtts-compact-header:not([data-gtts-lang="es"]) .nav-item {
    padding-left:10px !important;
  }

  .new-main2-page .new-main2-header.gtts-compact-header .nav-item:first-child,
  .new-main2-page .new-main2-header.gtts-compact-header:not([data-gtts-lang="es"]) .nav-item:first-child {
    padding-left:0 !important;
  }

  .new-main2-page .new-main2-header.gtts-compact-header .nav-item,
  .new-main2-page .new-main2-header.gtts-compact-header .nav-item:first-child {
    margin:0 !important;
  }

  .new-main2-page .new-main2-header.gtts-compact-header .nav-link,
  .new-main2-page .new-main2-header.gtts-compact-header:not([data-gtts-lang="es"]) .nav-link,
  .new-main2-page .new-main2-header.gtts-compact-header .desktop-account .login-link,
  .new-main2-page .new-main2-header.gtts-compact-header .desktop-account .login-link i {
    font-size:calc(16px * var(--gtts-page-zoom-inverse, 1)) !important;
  }

  /* The row's top border is the divider, spanning the full nav width. */
  .new-main2-page .new-main2-header.gtts-compact-header .gtts-header-language-row {
    grid-column:1 / -1 !important;
    grid-row:2 !important;
    justify-self:stretch !important;
    position:static !important;
    display:flex !important;
    justify-content:flex-end !important;
    width:auto !important;
    max-width:none !important;
    margin:0 !important;
    padding:8px 0 0 !important;
    border-left:0 !important;
    border-top:1px solid #b9bec2;
  }

  .new-main2-page .new-main2-header.gtts-compact-header .header-language-picker {
    display:flex !important;
    align-items:center !important;
    width:auto !important;
    max-width:none !important;
    margin:0 !important;
    gap:10px !important;
    transform:none !important;
  }

  .new-main2-page .new-main2-header.gtts-compact-header .header-language-picker .language-heading {
    height:auto !important;
    margin:0 !important;
    padding:0 !important;
  }

  .new-main2-page .new-main2-header.gtts-compact-header .header-language-picker .language-heading::after {
    display:none !important;
  }

  /* Bootstrap 3 (legacy bundle) makes labels bold with a bottom margin. */
  .new-main2-page .new-main2-header.gtts-compact-header .header-language-picker .language-heading label {
    max-width:none !important;
    margin:0 !important;
    letter-spacing:0 !important;
    font-size:calc(13px * var(--gtts-page-zoom-inverse, 1)) !important;
    font-weight:400 !important;
  }

  .new-main2-page .new-main2-header.gtts-compact-header .header-language-picker .language-control {
    position:static !important;
    inset:auto !important;
    width:auto !important;
    flex:0 0 auto !important;
    margin:0 !important;
  }

  .new-main2-page .new-main2-header.gtts-compact-header .header-language-picker .form-select {
    width:auto !important;
    height:auto !important;
    min-height:0 !important;
    padding:3px 26px 3px 9px !important;
    border:1px solid #c8c8c8 !important;
    border-radius:4px !important;
    background-color:#fff !important;
    background-position:right 8px center !important;
    background-size:10px 8px !important;
    color:#00376a !important;
    font-size:calc(12px * var(--gtts-page-zoom-inverse, 1)) !important;
    line-height:1.4 !important;
    opacity:1 !important;
  }
}
