/*
 * bryson-modern.css — visual refresh pass
 *
 * Layered over the existing theme (loaded last).
 * Does not remove existing classes or restructure content.
 * Targets: typography hierarchy, spacing, color depth, component polish.
 *
 * Color palette:
 *   Deep navy:  #192d4e  (primary dark)
 *   Mid navy:   #111e33  (topbar / CTA band / footer)
 *   Accent red: #b82020  (buttons, borders, accents)
 *   Off-white:  #f7f8fb  (section backgrounds)
 *   Border:     #e5e8f2
 */

/* =============================================================
   BASE / TYPOGRAPHY
   ============================================================= */

body {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  color: #2a2a2a;
}

p {
  color: #484848;
  line-height: 1.78;
  font-size: 16px;
}

/* Override the global h1/h3 center-align from the template */
h1, h3 {
  text-align: left !important;
}

h1, h2, h3, h4, h5, h6 {
  color: #192d4e;
  font-weight: 700;
  letter-spacing: -0.01em;
}

/* =============================================================
   TOPBAR
   ============================================================= */

#topbar {
  background-color: #111e33;
  border-bottom: 1px solid rgba(255,255,255,0.06);
}

/* Three-column flex layout: left | center | right */
.topbar-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  min-height: 36px;
}

.topbar-left,
.topbar-right {
  flex: 1;
  display: flex;
  align-items: center;
}

.topbar-right {
  justify-content: flex-end;
}

.topbar-center {
  flex: 0 0 auto;
  text-align: center;
  padding: 0 20px;
}

/* Firm name live text in topbar */
.topbar-firm-name {
  font-family: Georgia, 'Times New Roman', serif;
  font-size: 13px;
  font-weight: 700;
  color: rgba(255,255,255,0.92);
  letter-spacing: 0.4px;
  white-space: nowrap;
}

/* Override the float-based li layout from style.css so it works inside flex */
#topbar .contact-info ul {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 0;
  margin: 0;
  list-style: none;
  flex-wrap: nowrap;
}

#topbar .contact-info ul li {
  float: none !important;
  display: block;
  white-space: nowrap;
  font-size: 12px;
  color: rgba(255,255,255,0.65);
  line-height: 36px;
}

#topbar .contact-info ul li a {
  color: #fff;
  font-weight: 600;
}

#topbar .social a {
  line-height: 36px;
  border-color: rgba(255,255,255,0.1) !important;
  color: rgba(255,255,255,0.6);
  transition: color 0.2s ease;
  font-size: 15px;
}

#topbar .social a:hover {
  color: #fff;
}

/* =============================================================
   NAVIGATION
   ============================================================= */

#mainNav.navbar {
  background: #fff;
  border: none;
  border-bottom: 1px solid #e8ecf4;
  box-shadow: 0 1px 10px rgba(0,0,0,0.07);
  min-height: 68px;
}

nav.navbar.bootsnav ul.nav > li {
  white-space: nowrap;
}

nav.navbar.bootsnav ul.nav > li > a {
  color: #192d4e !important;
  font-size: 12px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.4px;
  line-height: 68px;
  padding: 0 10px;
  transition: color 0.15s ease;
}

nav.navbar.bootsnav ul.nav > li > a:hover {
  color: #b82020 !important;
  background: transparent;
}

.navbar-toggle {
  margin-top: 14px;
  border-color: #e0e5ef;
}

.navbar-toggle .icon-bar {
  background-color: #192d4e;
}

/* Collapsed nav items — handled in breakpoint block below */

/* =============================================================
   HERO / WELCOME AREA
   ============================================================= */

#welcome-area {
  background: #f7f8fb;
  top: 0;
  position: relative;
}

/* Hero bar: logo + phone strip */
#category-wrap {
  background-color: #192d4e !important;
  padding: 10px 0;
  border-bottom: 3px solid #b82020;
}

/* Phone button (red circle) */
#category-wrap .input-group-addon button {
  background-color: #b82020;
  color: #fff;
  height: 34px;
  width: 34px;
  margin-top: 2px;
  border-radius: 50%;
  font-size: 14px;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: background-color 0.2s ease;
}

#category-wrap .input-group-addon button:hover {
  background-color: #8e1818;
}

/* Phone number text */
.phone-wrap .phone {
  margin-top: 2px;
  background: none !important;
  font-weight: 700;
  font-size: 14px;
  color: rgba(255,255,255,0.9);
  padding: 4px 6px;
  letter-spacing: 0.5px;
}

.phone-wrap .phone a {
  color: #fff !important;
}

/* Center the logo column */
#category-wrap .col-sm-6 {
  text-align: center;
}

/* Service image tile label bars */
#welcome-area a.image-title {
  background-color: #192d4e;
  border-top: 3px solid #b82020;
  padding: 12px 16px 12px;
  transition: background-color 0.2s ease;
}

#welcome-area a.image-title h2 {
  font-size: 17px;
  letter-spacing: 0.5px;
  font-weight: 700;
}

#welcome-area a.image-title:hover {
  background-color: #b82020;
  border-top-color: #b82020;
}

#welcome-area a.image-title .arrow {
  background-color: rgba(255,255,255,0.15);
  height: 32px;
  width: 32px;
  line-height: 32px;
  bottom: 10px;
}

#welcome-area a.image-title:hover .arrow {
  background-color: rgba(255,255,255,0.25);
}

/* Service tile dropdown */
.wel-service-image-inner .drop-down {
  border-top: 2px solid #b82020;
}

.wel-service-image-inner .drop-down ul {
  background: #192d4e;
}

.wel-service-image-inner .drop-down ul li {
  padding: 8px 14px;
  border-bottom: 1px solid rgba(255,255,255,0.07);
  transition: background-color 0.15s ease;
}

.wel-service-image-inner .drop-down ul li:last-child {
  border-bottom: none;
}

.wel-service-image-inner .drop-down ul li a {
  color: rgba(255,255,255,0.85);
  font-size: 14px;
  transition: color 0.15s ease;
}

.wel-service-image-inner .drop-down ul li:hover {
  background-color: rgba(255,255,255,0.07);
}

.wel-service-image-inner .drop-down ul li a:hover {
  color: #fff;
}

/* =============================================================
   MAIN CONTENT AREA (#blog-post)
   ============================================================= */

#blog-post {
  background-color: #f7f8fb;
}

.blog-content-box {
  background: #fff;
  border: 1px solid #e8ecf4;
  border-radius: 4px;
  padding: 28px 28px 40px;
  margin-bottom: 12px;
  float: left;
}

.single-blog-post-item {
  padding-bottom: 20px;
}

/* Section title inside content blocks */
.single-bolg-title h3 {
  font-size: 20px !important;
  font-weight: 700;
  color: #192d4e;
  text-align: left !important;
  margin: 4px 0 18px 0;
  padding-left: 14px;
  border-left: 4px solid #b82020;
  line-height: 1.35;
  text-transform: none;
}

/* Page section label (inner pages h1) */
.my-header {
  margin-bottom: 8px;
}

.my-header h1 {
  font-size: 23px !important;
  font-weight: 800;
  color: #192d4e;
  text-align: left !important;
  letter-spacing: -0.01em;
  padding-bottom: 10px;
  border-bottom: 3px solid #b82020;
  display: inline-block;
  margin-bottom: 16px;
}

/* Content h4 subheadings (practice area pages) */
.single-blog-text h4,
.blog-content-box h4 {
  font-size: 13.5px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.9px;
  color: #192d4e;
  margin: 28px 0 10px;
  padding-bottom: 6px;
  border-bottom: 1px solid #e8ecf4;
}

/* Content h2 (occasional usage) */
.single-blog-text h2 {
  font-size: 19px;
  font-weight: 700;
  color: #192d4e;
  text-align: left !important;
  margin: 28px 0 12px;
}

/* =============================================================
   HOMEPAGE MAIN H1
   ============================================================= */

.single-blog-post-item h1,
#blog-post .blog-content-box h1 {
  font-size: 27px;
  font-weight: 800;
  color: #192d4e;
  text-align: left !important;
  line-height: 1.2;
  letter-spacing: -0.02em;
  margin-bottom: 18px;
}

/* =============================================================
   "WHAT WE HANDLE" LIST → styled practice area cards
   ============================================================= */

.blog-content-box ul {
  margin: 16px 0 24px;
  padding: 0;
  list-style: none;
}

.blog-content-box ul li {
  padding: 11px 16px;
  border-left: 3px solid #b82020;
  margin-bottom: 7px;
  background: #f7f8fb;
  border-radius: 0 3px 3px 0;
  line-height: 1.55;
  font-size: 15px;
  color: #383838;
  transition: background-color 0.15s ease;
}

.blog-content-box ul li:hover {
  background-color: #eff1f7;
}

/* Reset list style inside attorney profile sections (they use nested ul/li) */
.attorneyProfileSection ul,
.single-blog-text ul.attorneyProfileEducationDegree,
.single-blog-text ul.attorneyProfileEducationConcentrations {
  padding-left: 18px !important;
  list-style: disc !important;
  margin-bottom: 6px;
}

.attorneyProfileSection ul li,
.single-blog-text ul.attorneyProfileEducationDegree li,
.single-blog-text ul.attorneyProfileEducationConcentrations li {
  list-style: disc !important;
  padding: 2px 0 !important;
  background: none !important;
  border: none !important;
  border-left: none !important;
  border-radius: 0 !important;
  font-size: 15px;
  color: #444;
}

/* =============================================================
   FREE CONSULTATION BLOCK (homepage inline-styled section)
   ============================================================= */

#legal-consult {
  background: #f0f4f9 !important;
  background-color: #f0f4f9 !important;
  border: none !important;
  border-left: 4px solid #b82020 !important;
  border-radius: 0 4px 4px 0 !important;
  height: auto !important;
  width: 100% !important;
  float: none !important;
  padding: 22px 24px !important;
  margin-top: 0;
}

#legal-consult h3 {
  font-size: 18px;
  font-weight: 700;
  color: #192d4e;
  text-align: left !important;
  margin-top: 0 !important;
  margin-bottom: 8px !important;
}

#legal-consult p {
  color: #555;
  margin-bottom: 14px;
  font-size: 15px;
}

#legal-consult .download-broucher {
  display: flex;
  align-items: center;
  gap: 12px;
  font-size: 22px;
  font-weight: 700;
  color: #192d4e;
  border: none;
  padding: 0;
  border-radius: 0;
  line-height: 1.4;
  float: none;
  background: transparent;
  margin: 0;
}

#legal-consult .download-broucher .fa {
  background-color: #b82020;
  color: #fff;
  height: 40px;
  width: 40px;
  border-radius: 50%;
  font-size: 18px;
  line-height: 40px;
  text-align: center;
  float: none;
  margin-right: 0;
  flex-shrink: 0;
}

#legal-consult .download-broucher a {
  color: #b82020;
  font-size: 22px;
  font-weight: 700;
}

/* =============================================================
   SIDEBAR
   ============================================================= */

.sidebar-widget-items {
  background: #fff;
  border: 1px solid #e5e8f2;
  border-radius: 4px;
  overflow: hidden;
  box-shadow: 0 1px 8px rgba(0,0,0,0.05);
}

.sidebar-widget-items.pl20 {
  padding: 0 !important;
}

.widget {
  margin: 0;
  border-bottom: 1px solid #eaecf4;
}

.widget:last-child {
  border-bottom: none;
}

.widget + .widget {
  padding: 0;
}

.widget-title {
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.8px;
  text-transform: uppercase;
  background-color: #192d4e !important;
  padding: 14px 20px;
  margin: 0;
  transition: background-color 0.2s ease;
  display: block;
  cursor: pointer;
}

a:hover .widget-title.blue,
.widget-title.blue:hover {
  background-color: #b82020 !important;
}

/* Hide the non-functional search widget on inner pages */
.widget-search.blue {
  display: none;
}

/* Kerry photo widget */
.widget img {
  display: block;
  width: 100%;
}

/* =============================================================
   BUTTONS
   ============================================================= */

.theme-btn {
  background-color: #b82020;
  border-radius: 3px;
  font-size: 13.5px;
  font-weight: 700;
  letter-spacing: 0.5px;
  text-transform: uppercase;
  transition: background-color 0.2s ease, transform 0.15s ease, box-shadow 0.2s ease;
  float: none;
  display: inline-block;
}

.theme-btn:hover {
  background-color: #8e1818;
  color: #fff;
  transform: translateY(-1px);
  box-shadow: 0 4px 14px rgba(184,32,32,0.3);
}

/* White variant (phone CTA button) — override inline style color */
a.theme-btn[style*="background:#fff"],
a.theme-btn[style*="background: #fff"],
a.theme-btn[style*="background:#FFF"],
a.theme-btn[style*="background: #FFF"],
a.theme-btn[style*="background:white"],
a.theme-btn[style*="background: white"] {
  color: #192d4e !important;
  border: 2px solid rgba(255,255,255,0.4) !important;
}

a.theme-btn[style*="background:#fff"]:hover,
a.theme-btn[style*="background:#FFF"]:hover {
  background: #e8ecf4 !important;
  color: #192d4e !important;
  transform: translateY(-1px);
}

/* =============================================================
   CTA BAND (homepage — overrides inline styles)
   ============================================================= */

div[style*="background:#1a3c5e"],
div[style*="background: #1a3c5e"] {
  background: #111e33 !important;
  padding: 52px 0 !important;
}

div[style*="background:#1a3c5e"] h3,
div[style*="background: #1a3c5e"] h3 {
  font-size: 24px !important;
  font-weight: 800;
  letter-spacing: -0.01em;
  text-align: center !important;
  margin-bottom: 8px !important;
}

div[style*="background:#1a3c5e"] p,
div[style*="background: #1a3c5e"] p {
  text-align: center;
  color: #9fb3cc;
  font-size: 15px;
}

div[style*="background:#1a3c5e"] .theme-btn,
div[style*="background: #1a3c5e"] .theme-btn {
  float: none;
  margin: 0 6px 8px;
  padding: 13px 28px;
  display: inline-block;
}

/* =============================================================
   FOOTER
   ============================================================= */

footer.footer-bg {
  background-color: #111e33 !important;
  padding: 52px 0 36px !important;
  float: left;
  width: 100%;
}

footer h3 {
  font-size: 11px !important;
  font-weight: 700 !important;
  letter-spacing: 1.8px !important;
  text-transform: uppercase !important;
  color: rgba(255,255,255,0.4) !important;
  padding-bottom: 14px !important;
  border-bottom: 1px solid rgba(255,255,255,0.08) !important;
  margin-bottom: 18px !important;
}

footer address {
  margin-top: 0;
  margin-bottom: 14px;
}

footer address p {
  font-size: 14.5px;
  line-height: 1.75;
  color: rgba(255,255,255,0.8);
  display: block;
}

footer .phone-num-box {
  margin-bottom: 8px;
}

footer .phn {
  font-size: 14.5px;
  color: rgba(255,255,255,0.75);
}

footer .phn a {
  color: #fff;
  font-weight: 600;
}

footer .icon-col {
  color: rgba(255,255,255,0.4);
  font-size: 14px;
}

footer .quick-links {
  margin-top: 0;
}

footer .quick-links li a {
  font-size: 14.5px;
  color: rgba(255,255,255,0.7);
  line-height: 2.2;
  margin-bottom: 0;
  display: block;
  transition: color 0.15s ease;
}

footer .quick-links li a::before {
  content: '›';
  font-family: inherit;
  color: #b82020;
  font-size: 17px;
  margin-right: 7px;
  vertical-align: middle;
  font-weight: 700;
}

footer .quick-links li a:hover {
  color: #fff;
}

footer .social-links-footer {
  margin-top: 8px;
}

footer .social-links-footer a {
  width: 38px;
  height: 38px;
  line-height: 38px;
  font-size: 15px;
  border-color: rgba(255,255,255,0.2);
  margin: 8px 4px 0 0;
  transition: background-color 0.2s ease, border-color 0.2s ease, transform 0.15s ease;
}

footer .social-links-footer a:hover {
  background-color: #b82020;
  border-color: #b82020;
  color: #fff !important;
  transform: translateY(-2px);
}

.footer-btm {
  background-color: #08111f;
  padding: 14px 0;
  float: left;
  width: 100%;
}

.footer-btm .create-by a,
.footer-btm .create-by {
  color: rgba(255,255,255,0.38);
  font-size: 12.5px;
}

.footer-btm .copywrite {
  color: rgba(255,255,255,0.38);
  font-size: 12.5px;
}

/* =============================================================
   STAFF & ABOUT PAGES
   ============================================================= */

#our-attorneys-area {
  background: #f7f8fb;
  padding: 32px !important;
  border-top: 1px solid #e5e8f2;
  margin-top: 12px;
  float: left;
  width: 100%;
}

.single-attorney {
  border-radius: 4px;
  overflow: hidden;
  box-shadow: 0 2px 14px rgba(0,0,0,0.08);
  margin-bottom: 24px;
  transition: box-shadow 0.2s ease, transform 0.2s ease;
}

.single-attorney:hover {
  box-shadow: 0 8px 28px rgba(0,0,0,0.14);
  transform: translateY(-3px);
}

.attorney-name {
  background-color: #192d4e !important;
  border: none !important;
  padding: 14px 14px 12px;
}

.attorney-name h5 {
  font-size: 14px !important;
  letter-spacing: 0.4px;
  margin-bottom: 3px !important;
}

.attorney-name p {
  font-size: 11px !important;
  letter-spacing: 2px;
  opacity: 0.65;
  margin-top: 2px;
}

/* Float photo in bio/about */
.single-blog-text img[style*="float:left"],
.single-blog-text img[style*="float: left"],
.attorneyProfileNarrative img {
  border-radius: 3px;
  box-shadow: 0 4px 20px rgba(0,0,0,0.14);
}

/* Attorney profile section labels */
.attorneyProfileSection h3 {
  font-size: 13px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.9px;
  color: #192d4e;
  text-align: left !important;
  margin: 24px 0 8px;
  border-bottom: 1px solid #e5e8f2;
  padding-bottom: 5px;
}

.attorneyProfileLocationLabel,
.attorneyProfilePhoneLabel,
.attorneyProfileEmailLabel {
  font-size: 14.5px;
  color: #555;
  padding: 4px 0;
  line-height: 1.75;
}

.attorneyProfilePhoneLabel a,
.attorneyProfileEmailLabel a {
  color: #b82020;
  font-weight: 600;
}

/* =============================================================
   PRACTICE AREA CONTENT — link coloring
   ============================================================= */

.single-blog-text ul li a {
  color: #b82020;
}

.single-blog-text ul li a:hover {
  color: #192d4e;
}

/* =============================================================
   SECTION PADDING — reduce the 100px default
   ============================================================= */

#blog-post.sec-pad {
  padding: 56px 0;
}

/* Sticky nav margin — matches new navbar height (68px) */
.sections-wrapper {
  margin-top: 68px !important;
}

/* =============================================================
   SECTION SPACING — service tiles strip
   ============================================================= */

/* The "Practice Areas — click to explore" label strip */
div[style*="background:#f7f8fb"][style*="padding:10px"] {
  border-top: none;
}

/* =============================================================
   HOMEPAGE CATEGORY TILES — uniform height & cropping
   ============================================================= */

/* Consistent image height — object-fit crops all three photos identically.
   hidden-xs means this image never renders on xs, so the height rule is
   safe globally (no mobile impact). */
#welcome-area .wel-service-image-inner > img.hidden-xs {
  width: 100%;
  height: 210px;
  object-fit: cover;
  object-position: center 25%;
  display: block;
}

/* Equal-height tile columns on sm/md — flex stretches each col to match the
   tallest sibling so no tile appears shorter or taller than the others. */
@media (min-width: 768px) {
  #welcome-area .row {
    display: flex;
    flex-wrap: wrap;
    align-items: stretch;
  }

  #welcome-area .col-md-4,
  #welcome-area .col-sm-4 {
    display: flex;
    flex-direction: column;
  }

  #welcome-area .service-image-block {
    flex: 1;
    display: flex;
    flex-direction: column;
  }

  #welcome-area .wel-service-image-inner {
    flex: 1;
    display: flex;
    flex-direction: column;
  }

  /* Label bar: fixed min-height so footer bar is same across all three tiles.
     Right padding of 52px keeps text clear of the absolute-positioned arrow. */
  #welcome-area a.image-title {
    flex: none;
    min-height: 78px;
    display: flex !important;
    align-items: center;
    float: none !important;
    width: 100% !important;
    box-sizing: border-box;
    padding: 12px 52px 12px 16px;
  }

  #welcome-area a.image-title h2 {
    flex: 1;
    float: none;
    margin: 0;
    line-height: 1.3;
  }

  /* Arrow: vertically centered regardless of label bar height */
  #welcome-area a.image-title .arrow {
    bottom: auto;
    top: 50%;
    transform: translateY(-50%);
    right: 12px;
  }
}

/* =============================================================
   MOBILE RESPONSIVE
   ============================================================= */

@media (max-width: 767px) {
  #category-wrap {
    padding: 12px 0;
  }

  .single-blog-post-item h1,
  #blog-post .blog-content-box h1 {
    font-size: 20px;
  }

  .my-header h1 {
    font-size: 18px;
  }

  .single-bolg-title h3 {
    font-size: 17px !important;
  }

  .blog-content-box {
    padding: 20px 18px 28px;
  }

  .blog-content-box ul li {
    font-size: 14px;
  }

  div[style*="background:#1a3c5e"] .theme-btn,
  div[style*="background: #1a3c5e"] .theme-btn {
    display: block;
    margin: 8px auto;
    max-width: 280px;
    text-align: center;
  }

  #legal-consult .download-broucher {
    font-size: 18px;
  }

  #legal-consult .download-broucher a {
    font-size: 18px;
  }

  footer.footer-bg {
    padding: 36px 0 24px !important;
  }

  footer .widget {
    margin-bottom: 28px;
    float: left;
    width: 100%;
  }
}

/* =============================================================
   HEADER — KB mark brand + nav layout
   ============================================================= */

/* Brand: KB mark only, no text */
#mainNav .navbar-brand {
  padding: 10px 16px 10px 0;
  height: auto;
  line-height: 1;
}

#mainNav .brand-lockup {
  display: flex !important;
  align-items: center;
  text-decoration: none !important;
}

/* KB mark image — slightly larger now that text is gone */
.nav-logo-mark {
  height: 44px;
  width: auto;
  display: block;
  flex-shrink: 0;
}

/* "Free Consultation" CTA in nav — specificity matches header-style.css rule */
nav.navbar.bootsnav ul.nav > li.nav-cta > a {
  background-color: #b82020 !important;
  color: #fff !important;
  border-radius: 3px;
  padding: 8px 14px !important;
  margin: 14px 0 14px 10px !important;
  line-height: 1.4 !important;
  display: inline-block !important;
  font-size: 11.5px !important;
  font-weight: 700 !important;
  letter-spacing: 0.5px !important;
  text-transform: uppercase !important;
  transition: background-color 0.15s ease !important;
}

nav.navbar.bootsnav ul.nav > li.nav-cta > a:hover {
  background-color: #8e1818 !important;
  color: #fff !important;
}

/* Hide old logo/phone slab */
#category-wrap {
  display: none !important;
}

/* Hide the entire welcome-area on inner pages */
body.page-inner #welcome-area {
  display: none !important;
}

/* Keep homepage welcome-area visible for the practice-area tiles */
body.page-home #welcome-area {
  display: block;
}

/* ======================================================
   NAVBAR COLLAPSE BREAKPOINT
   Root cause: Bootstrap md container = 970px (992–1199px viewport).
   Brand (82px) + nav (911px) = 993px — overflows 970px → nav wraps
   below brand, creating the "KB in its own row" tall gap.
   Bootstrap lg container = 1170px (≥1200px) — nav fits cleanly.
   Fix: hamburger at ≤1199px, full inline nav at ≥1200px only.
   ====================================================== */

/* ≤1199px — hamburger, collapsed nav panel */
@media (max-width: 1199px) {
  nav.navbar.bootsnav ul.nav > li > a {
    line-height: 1.4 !important;
    padding: 10px 15px !important;
    background-color: #192d4e !important;
    color: #fff !important;
    font-size: 13px !important;
  }

  nav.navbar.bootsnav .navbar-toggle {
    display: block !important;
    float: right !important;
    margin-top: 14px !important;
    margin-right: 0 !important;
  }

  nav.navbar.bootsnav .navbar-header {
    float: none !important;
    display: block !important;
    padding: 0 !important;
  }

  nav.navbar.bootsnav .navbar-collapse.collapse {
    display: none !important;
  }

  nav.navbar.bootsnav .navbar-collapse.collapse.in {
    display: block !important;
  }

  nav.navbar.bootsnav.no-full .navbar-collapse {
    max-height: 460px;
    overflow-y: auto !important;
    border: none;
    margin-bottom: 0;
  }

  nav.navbar.bootsnav .navbar-nav {
    float: none !important;
    margin: 0 -15px;
    padding: 0;
  }

  nav.navbar.bootsnav .navbar-nav > li {
    float: none;
  }

  /* CTA: full-width red block in the collapse panel */
  nav.navbar.bootsnav ul.nav > li.nav-cta > a {
    background-color: #b82020 !important;
    color: #fff !important;
    margin: 0 !important;
    padding: 12px 15px !important;
    border-radius: 0 !important;
    line-height: 1.4 !important;
    display: block !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    letter-spacing: 0.3px !important;
    text-transform: uppercase !important;
  }
}

/* ≥1200px — full inline nav, hamburger hidden */
@media (min-width: 1200px) {
  nav.navbar.bootsnav .navbar-toggle {
    display: none !important;
  }

  nav.navbar.bootsnav .navbar-collapse {
    display: block !important;
    height: auto !important;
    overflow: visible !important;
  }
}

/* Topbar: hide hours at ≤1199px — container (970px) can't hold phone+hours
   alongside the centered firm name without wrapping.
   Phone alone (≈130px) fits comfortably in a flex-1 left column. */
@media (max-width: 1199px) {
  #topbar .contact-info ul li:nth-child(2) {
    display: none;
  }

  .topbar-firm-name {
    font-size: 12px;
  }
}

/* Mobile (≤736px): topbar already hidden by responsive.css.
   Keep nav compact and margin correct. */
@media (max-width: 767px) {
  .topbar-center {
    display: none;
  }

  .sections-wrapper {
    margin-top: 68px !important;
  }

  #mainNav .navbar-brand {
    padding: 12px 10px;
  }

  .nav-logo-mark {
    height: 36px;
  }
}
