/*
Theme Name:     Corinthian Partners — The7 Child
Theme URI:      https://corinthianpartners.com/
Description:    Child theme of The7 (parent slug: dt-the7). Ships brand colors, EB Garamond + Inter typography, the firm's editorial styling, the regulatory footer, the logo, the favicon, and Organization / FinancialService schema. Activate AFTER The7 parent is installed. Pair with the "Corinthian Bootstrap" plugin to import all pages, menus, the home slider, and theme options in one click.
Author:         Corinthian Partners
Author URI:     https://corinthianpartners.com/
Template:       dt-the7
Version:        21.9.0
Text Domain:    corinthian-the7-child
*/

/* =============================================================
   Brand variables
   ============================================================= */
:root{
  --cp-brand:#0B2545;       /* Oxford blue */
  --cp-brand-2:#102E58;
  --cp-accent:#8B6F2C;      /* Antique gold */
  --cp-muted:#4A4A4A;
  --cp-stone:#F4F1EA;
  --cp-paper:#FBFAF6;
  --cp-rule:#C9C2B2;
}

/* =============================================================
   Aggressive overrides — necessary because The7 inlines its own
   color/typography styles from its theme-options database keys
   ============================================================= */

/* Body / global */
html, body, body.the7-body, .body, .single, .page, .home {
  font-family: "EB Garamond","Garamond",Georgia,"Times New Roman",serif !important;
  background: var(--cp-paper) !important;
  color: #1F2330 !important;
  font-size: 18px !important;
  line-height: 1.6 !important;
}

/* Headings */
h1, h2, h3, h4,
.entry-title, .entry-title a,
.dt-fancy-title, .dt-stripe-title,
.page-title h1,
.vc_custom_heading,
.wf-wrap h1, .wf-wrap h2, .wf-wrap h3 {
  font-family: "EB Garamond",Georgia,serif !important;
  color: var(--cp-brand) !important;
  font-weight: 600 !important;
}
h1, .entry-title { font-size: 42px !important; line-height: 1.15 !important; font-style: italic !important; }
h2 { font-size: 28px !important; line-height: 1.3 !important; margin-top: 1.4em !important; }
h3 { font-size: 22px !important; color: var(--cp-accent) !important; }
h4 { font-size: 18px !important; }

/* Links */
body a, body a:link, .entry-content a {
  color: var(--cp-brand) !important;
}
body a:hover, body a:focus, .entry-content a:hover {
  color: var(--cp-accent) !important;
}

/* Site identity / nav */
#main-menu, .dt-mobile-menu, .main-nav, .menu, .menu li, .menu li a, .menu-item a {
  font-family: Arial, Helvetica, sans-serif !important;
  letter-spacing: .16em !important;
  text-transform: uppercase !important;
  font-size: 12px !important;
  font-weight: 600 !important;
}
.menu li a { color: var(--cp-brand) !important; }
.menu li.current-menu-item > a, .menu li.current_page_item > a, .menu li a:hover { color: var(--cp-accent) !important; }

/* The7 page-title banner */
.page-title, .dt-stripe-title, .fancy-header, #page-title {
  background: #fff !important;
  border-bottom: 1px solid var(--cp-rule) !important;
}
.page-title h1, .dt-stripe-title h1, .fancy-header h1 {
  font-style: italic !important;
  font-weight: 600 !important;
  text-align: center !important;
}
.page-title .subtitle, .fancy-header .subtitle {
  color: var(--cp-muted) !important;
  font-style: normal !important;
  font-size: 18px !important;
}
.page-title h1:after, .dt-stripe-title h1:after, .fancy-header h1:after {
  content: "" !important;
  display: block !important;
  width: 60px !important;
  height: 2px !important;
  background: var(--cp-accent) !important;
  margin: 18px auto 6px !important;
}

/* Body content & WPBakery text columns */
.entry-content p, .wpb_text_column p { color: #22272e !important; margin: 0 0 1em !important; }
.entry-content ul, .wpb_text_column ul {
  list-style: none !important; padding-left: 0 !important; margin: 1em 0 !important;
}
.entry-content ul li, .wpb_text_column ul li {
  position: relative !important;
  padding: 6px 0 6px 22px !important;
  border-bottom: 1px solid rgba(201,194,178,.6) !important;
  list-style: none !important;
}
.entry-content ul li:last-child, .wpb_text_column ul li:last-child { border-bottom: none !important; }
.entry-content ul li::before, .wpb_text_column ul li::before {
  content: "" !important;
  position: absolute !important;
  left: 0 !important; top: 14px !important;
  width: 10px !important; height: 1px !important;
  background: var(--cp-accent) !important;
}

/* Callout block */
blockquote.cp-callout, .cp-callout {
  background: #fff !important;
  border-left: 4px solid var(--cp-accent) !important;
  padding: 16px 22px !important;
  margin: 18px 0 !important;
  color: var(--cp-muted) !important;
  font-style: italic !important;
}

/* Buttons (WPBakery + The7) */
.vc_btn3, .vc_btn3.vc_btn3-style-custom, .dt-btn, .button {
  font-family: Arial, Helvetica, sans-serif !important;
  letter-spacing: .24em !important;
  text-transform: uppercase !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  padding: 14px 26px !important;
  border-radius: 0 !important;
  background: var(--cp-brand) !important;
  color: #fff !important;
  border: none !important;
}
.vc_btn3:hover, .dt-btn:hover, .button:hover {
  background: var(--cp-accent) !important;
  color: #fff !important;
}

/* Slider Revolution layer classes */
.rev_slider .tp-caption.cp-l1,
.tp-caption.cp-l1 {
  font-family: "EB Garamond",Georgia,serif !important;
  color: #fff !important;
  font-size: 54px !important;
  line-height: 1.1 !important;
  font-style: italic !important;
  letter-spacing: 0 !important;
}
.rev_slider .tp-caption.cp-l2,
.tp-caption.cp-l2 {
  font-family: "EB Garamond",Georgia,serif !important;
  color: var(--cp-stone) !important;
  font-size: 24px !important;
}
.rev_slider .tp-caption.cp-l3,
.tp-caption.cp-l3 {
  font-family: Arial, Helvetica, sans-serif !important;
  color: var(--cp-rule) !important;
  font-size: 12px !important;
  letter-spacing: .28em !important;
  text-transform: uppercase !important;
}

/* Regulatory footer */
.cp-regulatory {
  background: #fff !important;
  border-top: 1px solid var(--cp-rule) !important;
  padding: 30px 24px !important;
  font-size: 13px !important;
  color: var(--cp-muted) !important;
  text-align: center !important;
}
.cp-regulatory p { max-width: 1100px !important; margin: 0 auto 8px !important; }
.cp-regulatory a {
  color: var(--cp-muted) !important;
  text-decoration: none !important;
  margin: 0 8px !important;
  letter-spacing: .04em !important;
}
.cp-regulatory a:hover { color: var(--cp-brand) !important; }

@media (max-width: 780px) {
  h1, .entry-title { font-size: 32px !important; }
  .rev_slider .tp-caption.cp-l1 { font-size: 34px !important; }
  .rev_slider .tp-caption.cp-l2 { font-size: 18px !important; }
}

/* =============================================================
   Staging-site corrections
   - Hide right-rail default sidebar (recent comments / archives /
     categories / search) on all pages
   - Hide top-bar hours / time-open and all social icons EXCEPT LinkedIn
   - Force the primary nav typography to a smaller, sans-serif size
   ============================================================= */

/* No sidebar on any page or post */
.sidebar, #sidebar, aside.sidebar, .widget-area,
.dt-sidebar, .dt-secondary-sidebar,
#secondary, .secondary,
.sidebar-content, .col-sidebar,
.left-sidebar-on, .right-sidebar-on {
  display: none !important;
}

/* Force the main content column to full width once the sidebar is hidden */
.content, #content, .main-content, #main {
  width: 100% !important;
  max-width: 1200px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  float: none !important;
}
/* wf-container-main, full body width, single container only */
.wf-container-main {
  width: 100% !important;
  max-width: 100% !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  float: none !important;
  box-sizing: border-box !important;
}
/* If The7 nests two wf-container-main divs, collapse the inner so only the
   outer (which spans the full body width) carries the layout */
.wf-container-main .wf-container-main {
  display: contents !important;
}

/* =============================================================
   v20.3, KILL THE7's SIDEBAR LAYOUT EVERYWHERE
   The7 wraps #main in a wf-table with 2 wf-cells (content + sidebar).
   That makes the content cell narrow (~70%), so any centered text
   inside it appears off-center relative to the page.
   We flatten the wf-table to a single full-width block.
   ============================================================= */

/* #main, ignore any sidebar-* class, full width */
html body #main,
html body #main.sidebar-right,
html body #main.sidebar-left,
html body #main.sidebar-divider-vertical,
html body #main.sidebar-divider-horizontal {
  width: 100% !important;
  max-width: 100% !important;
  display: block !important;
  margin: 0 !important;
  padding: 0 !important;
  float: none !important;
}

/* Flatten wf-table inside #main */
html body #main .wf-table,
html body #main > .wf-wrap > .wf-table,
html body .wf-wrap > .wf-table {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  table-layout: auto !important;
}

/* Each wf-cell, block-level full-width */
html body #main .wf-cell,
html body .wf-wrap .wf-table .wf-cell {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  vertical-align: top !important;
  float: none !important;
  padding: 0 !important;
  margin: 0 !important;
}

/* Kill the sidebar cell entirely */
html body #main .wf-cell.sidebar,
html body #main .wf-cell.sidebar-content,
html body #main aside.wf-cell,
html body #main .sidebar.wf-cell,
html body .wf-table > .sidebar,
html body .wf-table > aside,
html body .sidebar-divider-vertical .wf-cell + .wf-cell.sidebar {
  display: none !important;
  width: 0 !important;
}

/* Kill the vertical divider The7 paints between cells */
html body .sidebar-divider-vertical .wf-cell + .wf-cell {
  border-left: 0 !important;
  box-shadow: none !important;
}

/* Make sure the content wf-cell that survives spans the full body */
html body #main > .wf-wrap,
html body #main .wf-wrap,
html body #main .wf-container {
  width: 100% !important;
  max-width: 100% !important;
}
.with-right-sidebar .content,
.with-left-sidebar .content,
.right-sidebar .content,
.left-sidebar .content {
  width: 100% !important;
  margin: 0 auto !important;
  float: none !important;
}

/* Top bar — hide everything except phone and LinkedIn */
#top-bar .top-bar-time,
#top-bar .top-bar-hours,
.top-bar .top-bar-time,
.top-bar .hours,
.top-bar .working-hours,
.top-bar .time-open,
.top-bar-info[data-key="hours"],
.top-bar .top-bar-email {
  display: none !important;
}

/* Hide every social icon EXCEPT LinkedIn */
.top-bar .soc-ico,
.top-bar .social-icon,
.top-bar .dt-socials a,
#top-bar .dt-socials a {
  display: none !important;
}
.top-bar .soc-ico.soc-linkedin,
.top-bar .social-icon.linkedin,
.top-bar .dt-socials a.dt-icon-linkedin,
.top-bar .dt-socials a[href*="linkedin"],
.top-bar .dt-socials a[class*="linkedin"],
#top-bar .dt-socials a[href*="linkedin"] {
  display: inline-block !important;
}

/* Site-wide social icons (footer area) — same rule */
.dt-socials a:not([href*="linkedin"]):not([class*="linkedin"]) {
  display: none !important;
}

/* Tighten menu typography (the staging site is rendering it too big) */
#main-menu, .main-nav,
.dt-mobile-menu,
.menu, .menu li, .menu li a,
.menu-item a, .menu-item-link,
.dt-mega-menu .menu-item a,
.primary-menu .menu-item a {
  font-family: Arial, Helvetica, sans-serif !important;
  font-size: 12px !important;
  line-height: 1.4 !important;
  letter-spacing: .14em !important;
  text-transform: uppercase !important;
  font-weight: 600 !important;
  color: var(--cp-brand) !important;
}
.menu li a { padding: 12px 14px !important; }
.menu li.current-menu-item > a,
.menu li.current_page_item > a,
.menu li a:hover,
.menu li a:focus { color: var(--cp-accent) !important; }

/* Submenu (dropdown) styling */
.menu .sub-menu, .menu .children {
  background: #fff !important;
  border-top: 2px solid var(--cp-accent) !important;
  box-shadow: 0 8px 24px rgba(11,37,69,.08) !important;
}
.menu .sub-menu li a,
.menu .children li a {
  font-size: 11px !important;
  letter-spacing: .12em !important;
}

/* Top bar phone — make it look right */
#top-bar a[href^="tel:"], .top-bar a[href^="tel:"],
.top-bar .top-bar-phone {
  font-family: Arial, Helvetica, sans-serif !important;
  font-size: 13px !important;
  letter-spacing: .04em !important;
  color: var(--cp-stone) !important;
  text-transform: none !important;
}

/* =============================================================
   STAGING SITE — surgical fixes against actual rendered output
   ============================================================= */

/* Top bar — keep visible, but only phone + LinkedIn.
   Hide hours/time elements wherever they appear. */
#top-bar .top-bar-info-2,
.top-bar .top-bar-info-2,
#top-bar .info-block-2,
.top-bar .info-block-2,
#top-bar [class*="hours"],
.top-bar [class*="hours"],
#top-bar [class*="time"]:not([class*="time-info"]),
.top-bar [class*="time"]:not([class*="time-info"]) {
  display: none !important;
}

/* Top bar phone styling */
#top-bar a[href^="tel:"], .top-bar a[href^="tel:"],
#top-bar [class*="phone"], .top-bar [class*="phone"] {
  font-family: Arial, Helvetica, sans-serif !important;
  font-size: 13px !important;
  letter-spacing: .04em !important;
  color: var(--cp-stone) !important;
  text-transform: none !important;
}

/* Kill The7 default page-title banner (the medium-blue "HOME" strip).
   We render our own hero via WPBakery on each page. */
.page-title,
#page-title,
.dt-stripe-title,
.dt-fancy-title,
.fancy-header,
.entry-title-wrapper,
header.entry-header.with-bg,
.dt-page-title-banner {
  display: none !important;
}

/* Kill the "Dream-Theme — truly premium WordPress themes" credit */
.copyright,
#copyright,
.copyright-info,
.copyrights,
.copyrights-wrapper,
.copyrights .copyright-text,
footer .copyright,
.dt-credits,
a[href*="dream-theme.com"] {
  display: none !important;
}

/* Hide ALL default social icons everywhere (Facebook, X, Instagram, YouTube
   that point to "/") — only LinkedIn should remain.
   These selectors target The7's social-icon classes plus generic fallbacks. */
.dt-socials a,
.soc-ico,
.social-icon,
.share-buttons a,
.social-links a,
header .dt-socials a,
.top-bar .dt-socials a,
.mobile-menu .dt-socials a,
nav .dt-socials a,
footer .dt-socials a {
  display: none !important;
}

/* Whitelist LinkedIn back in */
.dt-socials a[href*="linkedin"],
.soc-ico.soc-linkedin,
.social-icon.linkedin,
.dt-socials a.dt-icon-linkedin,
header .dt-socials a[href*="linkedin"],
footer .dt-socials a[href*="linkedin"] {
  display: inline-block !important;
}

/* Force the logo image to be the Corinthian logo
   (The7 keeps its own logo setting; if it falls back to the placeholder,
   we replace via CSS). The custom-logo class is wrapped on every The7
   logo block — selector targets all variants. */
#site-logo img,
.site-logo img,
.dt-logo img,
.assistive-text + img,
.custom-logo,
.custom-logo-link img,
header .logo img,
header .branding img,
.dt-logo-link img,
.dt-header-logo img,
img[alt="Corinthian Partners"] {
  content: url("assets/img/corinthian-logo.png") !important;
  max-height: 60px !important;
  width: auto !important;
}

/* Backup: if The7's logo wrapper has a background-image, override it */
.site-logo,
#site-logo,
.dt-logo,
.dt-header-logo {
  background-image: url("assets/img/corinthian-logo.png") !important;
  background-repeat: no-repeat !important;
  background-position: left center !important;
  background-size: contain !important;
}

/* Force body / page background to paper */
body,
.wf-wrap,
.wf-container,
#main,
.main-page-wrapper,
.page-content-wrap,
article.page,
.entry-content {
  background: var(--cp-paper) !important;
}
body.home #main,
body.home .main-page-wrapper {
  background: var(--cp-brand) !important;
}

/* Center-align the lone "Meet the firm →" link beneath the slider */
body.home .entry-content {
  text-align: center !important;
  padding: 24px 0 !important;
}
body.home .entry-content a {
  font-family: Arial, Helvetica, sans-serif !important;
  letter-spacing: .24em !important;
  text-transform: uppercase !important;
  font-size: 11px !important;
  color: var(--cp-stone) !important;
  border: none !important;
}

/* Make sure the menu doesn't wrap "Contact" onto a second line */
.main-nav, #main-menu, .menu, .menu li {
  white-space: nowrap !important;
}
.menu li a {
  font-size: 11px !important;
  letter-spacing: .12em !important;
  padding: 12px 11px !important;
}

/* =============================================================
   v2.2 — LOCK DOWN to mockup. These rules are last, !important,
   and high-specificity. They override every The7 default.
   ============================================================= */

html, body { background: #FBFAF6 !important; }

/* Outer page frame — kill The7's blue wrapper */
#wrapper, #main, .wf-wrap, .wf-table, .wf-cell, .wf-container,
.main-page-wrapper, .page-content-wrap, .container, .row,
body.home #wrapper, body.home #main {
  background: #FBFAF6 !important;
  background-color: #FBFAF6 !important;
}

/* Page banner / hero — paper background, no blue strip */
.page-title, #page-title, .dt-stripe-title, .fancy-header,
.page-title-wrap, .pt-bg-wrap, .stripe-title-wrap {
  background: #FBFAF6 !important;
  background-color: #FBFAF6 !important;
  background-image: none !important;
  border-bottom: 1px solid #C9C2B2 !important;
}
/* When The7 inlines a background-image url() on the title bar */
.page-title-wrap[style], #page-title[style] {
  background-image: none !important;
}

/* Content centered, max width matches mockup */
.entry-content, .wpb_text_column, .vc_column-inner,
.dt-css-grid-content, article.page .entry-content {
  max-width: 880px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: 24px !important;
  padding-right: 24px !important;
}

/* DREAM-THEME credit — multiple selector targets */
.copyright, .copyrights, #copyright, .copyright-info,
.copyrights-wrapper, .copyrights .copyright-text,
footer .copyright, .dt-credits,
a[href*="dream-theme.com"],
*[class*="copyright"]:not(.cp-regulatory) {
  display: none !important;
  visibility: hidden !important;
  height: 0 !important;
  font-size: 0 !important;
}
/* Belt-and-suspenders: any string containing "Dream-Theme" via :has would
   require modern CSS; instead the JS patcher in functions.php hides it */

/* Top bar — bring it back, restrict to phone + LinkedIn only */
#top-bar, .top-bar, header .top-bar, header #top-bar {
  display: block !important;
  visibility: visible !important;
  height: auto !important;
  background: #0B2545 !important;
  color: #F4F1EA !important;
  padding: 6px 0 !important;
  font-family: Arial, Helvetica, sans-serif !important;
  font-size: 13px !important;
}
#top-bar a, .top-bar a { color: #F4F1EA !important; }
/* Inside the top bar, hide hours / time / email / 3CX text */
#top-bar [class*="hours"], .top-bar [class*="hours"],
#top-bar [class*="time"], .top-bar [class*="time"],
#top-bar .top-bar-info-2, .top-bar .top-bar-info-2,
#top-bar .top-bar-email, .top-bar .top-bar-email {
  display: none !important;
}

/* Header — proper logo size, centered nav */
#site-logo img, .site-logo img, .dt-logo img,
.custom-logo, .custom-logo-link img,
header img.logo, .dt-header-logo img {
  max-height: 80px !important;
  width: auto !important;
}

/* Hero headline (italic blue, gold rule beneath) — already in earlier rules */

/* Footer area — paper bg, regulatory strip white */
footer, #footer, .footer-wrap, .footer-content {
  background: #FBFAF6 !important;
}
.cp-regulatory { background: #FFFFFF !important; }

/* Make the home page truly minimal: hide everything except the slider */
body.home .page-title,
body.home #page-title,
body.home .dt-fancy-title,
body.home article .entry-header,
body.home .breadcrumbs,
body.home .yoast-breadcrumbs {
  display: none !important;
}

/* =============================================================
   v4.0 — Custom header (rendered by functions.php) + kill The7's
   ============================================================= */

/* Kill The7's entire header structure — we provide our own */
header.dt-header, .dt-header, .dt-page-header, #header, .header-wrap,
.dt-header-wrap, .top-bar, #top-bar, .masthead, #masthead {
  display: none !important;
}

/* Our custom header */
#cp-header { background:#fff; border-bottom:1px solid var(--cp-rule); position:relative; z-index:100; }
.cp-topbar { background:#0B2545; color:#F4F1EA; }
.cp-topbar-inner { max-width:1200px; margin:0 auto; padding:8px 28px; display:flex; justify-content:flex-end; align-items:center; gap:20px; font-family:Arial,Helvetica,sans-serif; font-size:13px; }
.cp-topbar-phone { color:#F4F1EA !important; text-decoration:none; letter-spacing:.04em; }
.cp-topbar-phone:hover { color:#fff !important; }
.cp-topbar-li { color:#F4F1EA !important; text-decoration:none; display:inline-flex; align-items:center; }
.cp-topbar-li:hover { color:#8B6F2C !important; }

.cp-mainbar { max-width:1200px; margin:0 auto; padding:18px 28px; display:flex; align-items:center; justify-content:space-between; gap:24px; }
.cp-brand img { max-height:64px; width:auto; display:block; }

.cp-nav { display:flex; }
.cp-menu { list-style:none; margin:0; padding:0; display:flex; gap:8px; }
.cp-menu > li { position:relative; }
.cp-menu > li > a {
  display:block; padding:14px 14px;
  font-family:Arial,Helvetica,sans-serif !important;
  font-size:12px !important; letter-spacing:.14em !important;
  text-transform:uppercase !important; font-weight:600 !important;
  color:#0B2545 !important; text-decoration:none !important;
  border-bottom:2px solid transparent !important;
}
.cp-menu > li > a:hover, .cp-menu > li.current-menu-item > a, .cp-menu > li.current_page_item > a {
  color:#8B6F2C !important; border-bottom-color:#8B6F2C !important;
}
.cp-menu li ul.sub-menu, .cp-menu li ul.children {
  position:absolute; top:100%; left:0;
  background:#fff; border-top:2px solid #8B6F2C;
  box-shadow:0 8px 24px rgba(11,37,69,.10);
  padding:8px 0; min-width:240px;
  list-style:none; margin:0;
  display:none;
}
.cp-menu li:hover > ul.sub-menu, .cp-menu li:hover > ul.children { display:block; }
.cp-menu .sub-menu li a, .cp-menu .children li a {
  display:block; padding:10px 18px;
  font-size:11px !important; letter-spacing:.12em !important;
  color:#0B2545 !important; text-decoration:none !important;
  font-family:Arial,Helvetica,sans-serif !important; text-transform:uppercase;
}
.cp-menu .sub-menu li a:hover, .cp-menu .children li a:hover { color:#8B6F2C !important; background:#F4F1EA; }

/* Hide WP search forms entirely */
.search-form, form.search-form, .widget_search, .widget_searchform,
.searchform, #searchform, .search-block, .header-search, .dt-search,
.cp-menu form, .cp-menu .search-icon {
  display:none !important;
}

/* Push body content below our fixed-height header */
body { padding-top: 0 !important; }

/* Mobile responsiveness */
@media (max-width:880px){
  .cp-mainbar { flex-direction:column; gap:10px; padding:12px 16px; }
  .cp-menu { flex-wrap:wrap; justify-content:center; gap:0; }
  .cp-menu > li > a { padding:8px 10px; font-size:11px !important; }
}

/* =============================================================
   v5.0 — Logo + tagline layout, hardcoded nav polish
   ============================================================= */

.cp-brand { display:flex; flex-direction:column; align-items:flex-start; gap:4px; text-decoration:none !important; border:none !important; }
.cp-brand img { max-height:72px; width:auto; display:block; }
.cp-brand .cp-tagline {
  font-family:Arial,Helvetica,sans-serif !important;
  font-size:10px !important; letter-spacing:.32em !important;
  text-transform:uppercase !important; font-weight:600 !important;
  color:#8B6F2C !important; margin-left:60px;
}
.cp-mainbar { padding:14px 28px; align-items:center; }

/* Force nav alignment to right (logo left, nav right) */
.cp-nav { margin-left:auto; }

/* Stronger blue-bg kill — the lockdown belt-and-suspenders */
body, html, #page, #wrapper, #main, .wf-wrap, .wf-table, .wf-cell,
.wf-container, .wf-container-main, .main-page-wrapper, .page-content-wrap,
.container, .row, body.home, body.home #wrapper, body.home #main,
.dt-pb, .dt-pb-section { background:#FBFAF6 !important; background-color:#FBFAF6 !important; background-image:none !important; }

/* Mobile fix for tagline */
@media (max-width:880px){
  .cp-brand .cp-tagline { margin-left:0; }
}

/* =============================================================
   v6.0 — Tagline stacked, top bar right-aligned, page banners,
   contact form, kill scroll-up arrow + uniform hover state
   ============================================================= */

/* Tagline stacked next to logo */
.cp-brand { flex-direction:row; align-items:center; gap:14px; }
.cp-brand img { max-height:64px; width:auto; }
.cp-brand .cp-tagline { display:flex; flex-direction:column; line-height:1.2; gap:0; padding-left:14px; border-left:1px solid #C9C2B2; margin-left:0; }
.cp-tagline-l1, .cp-tagline-l2 {
  font-family:Arial,Helvetica,sans-serif !important;
  font-size:11px !important; letter-spacing:.28em !important;
  text-transform:uppercase !important; font-weight:600 !important;
  color:#8B6F2C !important;
}

/* Top bar — push everything to the right */
.cp-topbar-inner { justify-content:flex-end !important; }
.cp-topbar-spacer { flex:1; }
.cp-topbar-right { display:flex; align-items:center; gap:18px; }
.cp-topbar-phone { color:#F4F1EA !important; text-decoration:none !important; letter-spacing:.04em; font-size:13px; }
.cp-topbar-li { color:#F4F1EA !important; }
.cp-topbar-li:hover { color:#8B6F2C !important; }

/* Uniform hover state across nav — single thin gold underline only */
.cp-menu > li > a {
  border:none !important;
  border-bottom:2px solid transparent !important;
  position:relative;
}
.cp-menu > li > a::after,
.cp-menu > li > a::before { display:none !important; content:none !important; }
.cp-menu > li > a:hover,
.cp-menu > li.current-menu-item > a,
.cp-menu > li.current_page_item > a {
  color:#8B6F2C !important;
  border-bottom-color:#8B6F2C !important;
  background:transparent !important;
}
/* The7's underline injectors — kill them */
.menu-item a::after, .menu-item a::before,
.dt-mega-menu a::after, .dt-mega-menu a::before,
.primary-menu a::after, .primary-menu a::before,
nav.cp-nav a::after, nav.cp-nav a::before { display:none !important; }

/* Auto page banner section above WPBakery content */
.cp-page-banner {
  background:#FBFAF6 !important;
  border-bottom:1px solid var(--cp-rule);
  padding:48px 24px 36px;
  text-align:center;
}
.cp-page-banner-inner { max-width:980px; margin:0 auto; }
.cp-eyebrow {
  display:block; margin-bottom:14px;
  font-family:Arial,Helvetica,sans-serif !important;
  font-size:12px !important; letter-spacing:.32em !important;
  text-transform:uppercase !important; font-weight:600 !important;
  color:#8B6F2C !important;
}
.cp-hero {
  font-family:"EB Garamond",Georgia,serif !important;
  font-style:italic !important; font-weight:600 !important;
  color:#0B2545 !important;
  font-size:42px !important; line-height:1.15 !important;
  margin:0 0 18px !important;
}
.cp-rule {
  display:block; width:60px; height:2px; background:#8B6F2C;
  margin:0 auto;
}

/* Hide the giant scroll-to-top arrow that's overflowing on every page */
#totop, .totop, .scroll-to-top, .dt-back-to-top, .scroll-top,
a.scroll-top, button.scroll-top, .back-to-top, #scrolltotop,
.dt-scroll-top, .dt-go-top, [class*="back-to-top"], [class*="scroll-top"],
[id*="back-to-top"], [id*="scroll-top"] {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
  height: 0 !important;
  width: 0 !important;
  overflow: hidden !important;
}
/* Big SVG arrows (the WPBakery icon-box that's misrendering) */
.entry-content svg[viewBox*="500"], .wpb_text_column svg[viewBox*="500"],
.entry-content svg[width="500"], .vc_icon_element svg {
  max-width: 28px !important; max-height: 28px !important;
}

/* Contact form */
.cp-contact-form-wrap { max-width:680px; margin:0 auto; padding:24px 0; }
.cp-contact-form { background:#fff; border:1px solid var(--cp-rule); padding:32px 28px; }
.cp-contact-form h2 { margin-top:0 !important; }
.cp-contact-form p { color:var(--cp-muted); }
.cp-contact-form .cp-row { margin:14px 0; }
.cp-contact-form label {
  display:block;
  font-family:Arial,Helvetica,sans-serif !important;
  font-size:11px !important; letter-spacing:.18em !important;
  text-transform:uppercase !important; font-weight:600 !important;
  color:var(--cp-brand) !important;
  margin-bottom:6px;
}
.cp-contact-form label span { color:var(--cp-accent); }
.cp-contact-form input,
.cp-contact-form select,
.cp-contact-form textarea {
  width:100%; padding:10px 12px; box-sizing:border-box;
  border:1px solid var(--cp-rule); background:#FBFAF6;
  font-family:"EB Garamond",Georgia,serif !important;
  font-size:16px;
  color:#1F2330;
}
.cp-contact-form textarea { font-family:Arial,Helvetica,sans-serif !important; font-size:14px; resize:vertical; }
.cp-contact-form .cp-btn {
  background:#0B2545 !important; color:#fff !important;
  font-family:Arial,Helvetica,sans-serif !important;
  letter-spacing:.24em !important; text-transform:uppercase !important;
  font-size:11px !important; font-weight:700 !important;
  padding:14px 26px !important; border:none !important;
  cursor:pointer; margin-top:8px;
}
.cp-contact-form .cp-btn:hover { background:#8B6F2C !important; }
.cp-contact-form .cp-form-note { font-size:12px; color:var(--cp-muted); margin-top:18px; }
.cp-form-success {
  background:#F4F1EA; border-left:4px solid #8B6F2C; padding:14px 18px;
  margin:0 0 18px; color:var(--cp-brand);
  font-family:"EB Garamond",Georgia,serif !important;
}

/* Mobile fix for tagline */
@media (max-width:880px){
  .cp-brand { flex-direction:column; align-items:center; }
  .cp-brand .cp-tagline { padding-left:0; border-left:none; flex-direction:row; gap:8px; }
}

/* =============================================================
   v7.0 — Top bar removed, pinwheel/preloader killed,
   LinkedIn social block on Contact page
   ============================================================= */

/* Pinwheel / preloader / spinner — kill anything that looks like one */
.preloader, #preloader, .dt-preloader, #dt-preloader,
.dt-loader, #dt-loader, .loading-circle, .loading,
.tp-loader, .rs-loader, .sr-loader, .sl-loader,
.spinner, [class*="spinner"]:not(input):not(button),
.dt-spinner, #dt-spinner, .so-loading-overlay,
.fa-spinner, .fa-circle-notch,
[class*="loading-icon"], [class*="loader-circle"],
[class*="animate-spin"], [aria-busy="true"]:not(html):not(body),
.dt-loading, .vc_progress-bar.spinner, .css-spinner {
  display: none !important;
  opacity: 0 !important;
  visibility: hidden !important;
  width: 0 !important; height: 0 !important;
  pointer-events: none !important;
}

/* Contact-page LinkedIn block */
.cp-contact-social {
  max-width: 680px; margin: 0 auto 18px; padding: 14px 28px;
  background: #FBFAF6; border: 1px solid var(--cp-rule);
  display: flex; align-items: center; justify-content: space-between; gap: 16px;
}
.cp-contact-social-label {
  margin: 0 !important;
  font-family: Arial, Helvetica, sans-serif !important;
  font-size: 11px !important; letter-spacing: .24em !important;
  text-transform: uppercase !important; font-weight: 600 !important;
  color: var(--cp-brand) !important;
}
.cp-contact-li {
  display: inline-flex; align-items: center; gap: 8px;
  color: var(--cp-brand) !important; text-decoration: none !important;
  border: none !important;
  font-family: Arial, Helvetica, sans-serif !important;
  font-size: 13px !important; letter-spacing: .12em !important;
  text-transform: uppercase !important; font-weight: 600 !important;
}
.cp-contact-li:hover { color: var(--cp-accent) !important; }
.cp-contact-li svg { display: block; }

/* =============================================================
   v8.0 — Re-enable Slider Revolution (its loader IS the slider).
   Keep generic loaders hidden so other stuck spinners don't appear.
   ============================================================= */

/* Slider Revolution must work normally on the home page */
.rev_slider, .rev_slider_wrapper, .tp-revslider-mainul, .tp-loader,
.rs-loader, .tp-bullets, .tp-bannertimer, rs-module, rs-module-wrap {
  display: revert !important;
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
}
/* But still suppress them OUTSIDE a slider container — those are stuck spinners */
body:not(.home) .tp-loader:not(.rev_slider .tp-loader),
body:not(.home) .rs-loader:not(.rev_slider .rs-loader) {
  display: none !important;
}
/* And kill any stray loader floating outside its expected container */
body > .tp-loader, body > .rs-loader, body > .preloader {
  display: none !important;
}

/* =============================================================
   v8.0 — Page bottom cleanup. Anything that renders AFTER the
   regulatory footer gets hidden. The 4-dots + 2-lines marker
   at the very bottom of every page is one of:
   - The7's switcher/scroll-up icon
   - Speed Optimizer's lazy-load indicator
   - WordPress admin-bar handle (logged in)
   - A theme-options demo widget
   ============================================================= */

.cp-regulatory ~ * { display: none !important; }
.cp-regulatory ~ div, .cp-regulatory ~ section, .cp-regulatory ~ aside,
.cp-regulatory ~ a, .cp-regulatory ~ span, .cp-regulatory ~ svg,
.cp-regulatory ~ ul, .cp-regulatory ~ ol { display: none !important; }

/* The7-specific bottom UI */
#dt-tools, .dt-tools, .dt-color-picker, .dt-customizer,
.dt-helper, .dt-debug, #the7-tools, #header-tools,
.dt-color-scheme-switcher, .dt-toggle, .dt-bottom-bar,
.scroll-bottom, .page-edge, .dt-page-marker, .dt-progress-bar {
  display: none !important;
}

/* Generic patterns — any tiny floating dots/grid that look like a marker */
[class*="dot-grid"], [class*="dots-grid"], [class*="page-progress"],
[class*="indicator-dots"], [class*="grid-marker"],
.dt-grid-icon, .grid-icon {
  display: none !important;
}

/* WordPress admin bar — visible only to logged-in admins; hide its
   floating handles on the front end of the staging review */
#wpadminbar { z-index: 0 !important; }

/* =============================================================
   v9.0 — Sub-nav strip below the main menu (matches mockup)
   + Stone-bordered box wrapping the CTA button
   ============================================================= */

.cp-subnav {
  background: #fff;
  border-top: 1px solid var(--cp-rule);
  border-bottom: 1px solid var(--cp-rule);
}
.cp-subnav-inner {
  max-width: 1200px; margin: 0 auto;
  padding: 12px 28px;
  display: flex; flex-wrap: wrap; justify-content: center; gap: 28px;
}
.cp-subnav-item {
  font-family: Arial, Helvetica, sans-serif !important;
  font-size: 11px !important; letter-spacing: .22em !important;
  text-transform: uppercase !important; font-weight: 600 !important;
  color: var(--cp-muted) !important;
  text-decoration: none !important;
  border: none !important;
  padding: 4px 0;
}
.cp-subnav-item:hover, .cp-subnav-item.active {
  color: var(--cp-accent) !important;
  font-weight: 700 !important;
}

/* CTA button row — wrap in stone-colored bordered box (matches mockup) */
.vc_row.cp-cta-row, .cp-cta-row {
  background: var(--cp-stone) !important;
  background-color: var(--cp-stone) !important;
  padding: 32px 24px !important;
  border: 1px solid var(--cp-rule) !important;
  margin: 32px auto !important;
  max-width: 880px !important;
  text-align: center !important;
}
.cp-cta-row .vc_btn3-container,
.cp-cta-row .wpb_wrapper,
.cp-cta-row .vc_column-inner { background: transparent !important; }
.cp-cta-row .vc_btn3 {
  display: inline-block !important;
  margin: 6px !important;
}

/* Mobile: sub-nav scroll horizontally if too wide */
@media (max-width:780px){
  .cp-subnav-inner { gap:16px; padding:10px 14px; overflow-x:auto; flex-wrap:nowrap; justify-content:flex-start; }
  .cp-subnav-item { white-space:nowrap; }
}

/* =============================================================
   v11.0, top bar back, no hover dropdowns, slider space, tighter
   spacing between page banner and body
   ============================================================= */

/* Re-show the navy top bar (we removed it in v7; user wants it back) */
#cp-header .cp-topbar { display:block !important; visibility:visible !important; }
.cp-topbar { background:#0B2545 !important; color:#F4F1EA !important; padding:8px 0 !important; }
.cp-topbar-inner {
  max-width:1200px; margin:0 auto; padding:0 28px;
  display:flex !important; align-items:center; justify-content:space-between !important;
  font-family:Arial,Helvetica,sans-serif; font-size:13px;
}
.cp-topbar-phone { color:#F4F1EA !important; text-decoration:none !important; letter-spacing:.04em; }
.cp-topbar-phone:hover { color:#fff !important; }
.cp-topbar-li { color:#F4F1EA !important; display:inline-flex; align-items:center; gap:8px;
  font-family:Arial,Helvetica,sans-serif !important;
  font-size:11px !important; letter-spacing:.18em !important;
  text-transform:uppercase !important; font-weight:600 !important;
  text-decoration:none !important; }
.cp-topbar-li:hover { color:#8B6F2C !important; }
.cp-topbar-li svg { fill:currentColor; }

/* Disable hover dropdowns under the main menu (no more pop-out submenus) */
.cp-menu li ul.sub-menu, .cp-menu li ul.children,
.cp-menu li:hover > ul.sub-menu, .cp-menu li:hover > ul.children {
  display: none !important;
}

/* Slider placeholder, gives the slider its space even when not yet created */
.cp-home-slider-row, body.home .cp-home-slider-row { background:#0B2545 !important; }
.cp-slider-placeholder {
  min-height: 540px;
  background: linear-gradient(135deg, #0E2A52 0%, #0B2545 60%, #06182E 100%);
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
}
.cp-slider-placeholder:has(.rev_slider_wrapper) { min-height: 0; background: transparent; }
.cp-slider-placeholder:empty::before,
.cp-slider-placeholder:not(:has(.rev_slider_wrapper))::after {
  content: "Slider will display here";
  font-family: Arial,Helvetica,sans-serif;
  font-size: 11px;
  letter-spacing: .28em;
  text-transform: uppercase;
  color: rgba(244,241,234,0.4);
}

/* Tighter spacing between the page banner and the body content */
.cp-page-banner { padding: 32px 24px 24px !important; }
.cp-page-banner + main, .cp-page-banner + #content, .cp-page-banner + .entry-content,
.cp-page-banner + .vc_row, .cp-page-banner ~ .vc_row:first-of-type { margin-top: 0 !important; padding-top: 12px !important; }
.entry-content > .vc_row:first-child, .entry-content > p:first-child { margin-top: 0 !important; padding-top: 0 !important; }

/* =============================================================
   v13.0 — Top bar phone always visible white + icon. Kill The7's
   sticky-space header spacer (90px empty box on every page).
   ============================================================= */

/* Top bar phone — always visible, pure white, with icon. */
#cp-header .cp-topbar { background: #0B2545 !important; padding: 10px 0 !important; }
#cp-header .cp-topbar-phone, .cp-topbar-phone {
  color: #FFFFFF !important;
  text-decoration: none !important;
  border: none !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  font-family: Arial, Helvetica, sans-serif !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  letter-spacing: .04em !important;
  opacity: 1 !important;
  visibility: visible !important;
}
#cp-header .cp-topbar-phone:hover, .cp-topbar-phone:hover {
  color: #8B6F2C !important;
}
#cp-header .cp-topbar-phone svg, .cp-topbar-phone svg.cp-topbar-icon {
  fill: #FFFFFF !important;
  display: inline-block !important;
}
#cp-header .cp-topbar-phone:hover svg, .cp-topbar-phone:hover svg.cp-topbar-icon {
  fill: #8B6F2C !important;
}
#cp-header .cp-topbar-li, .cp-topbar-li {
  color: #FFFFFF !important;
  text-decoration: none !important;
  border: none !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  font-family: Arial, Helvetica, sans-serif !important;
  font-size: 11px !important;
  letter-spacing: .18em !important;
  text-transform: uppercase !important;
  font-weight: 600 !important;
  opacity: 1 !important;
}
#cp-header .cp-topbar-li svg, .cp-topbar-li svg { fill: #FFFFFF !important; }
#cp-header .cp-topbar-li:hover, .cp-topbar-li:hover { color: #8B6F2C !important; }
#cp-header .cp-topbar-li:hover svg, .cp-topbar-li:hover svg { fill: #8B6F2C !important; }

/* Kill The7's sticky-space empty header offset on every page */
.header-space, .sticky-space-on, .header-space.sticky-space-on,
div.header-space, div.sticky-space-on,
div.header-space.sticky-space-on,
.dt-header-space, .header-space-on, [class*="header-space"] {
  display: none !important;
  height: 0 !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* =============================================================
   v14.0 — Zero top whitespace. Blue bar must touch the top of
   the browser viewport with NO gap.
   ============================================================= */

html, body {
  margin-top: 0 !important;
  padding-top: 0 !important;
}
html { margin: 0 !important; }
body { margin: 0 !important; padding-top: 0 !important; }

/* WordPress's html.wp-toolbar / admin-bar margin override */
html.wp-toolbar, html[lang] { margin-top: 0 !important; }
body.admin-bar { margin-top: 0 !important; padding-top: 0 !important; }
@media screen and (max-width: 782px) {
  html { margin-top: 0 !important; }
  body { margin-top: 0 !important; }
}

/* The7 wrapper top spacing */
#wrapper, #main, .wf-wrap, .main-page-wrapper, #page {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

/* Header sits flush at top */
#cp-header { margin-top: 0 !important; padding-top: 0 !important; }
#cp-header .cp-topbar { margin-top: 0 !important; }

/* If WP admin bar is showing, push it BELOW our header instead of above */
#wpadminbar { top: auto !important; bottom: 0 !important; position: fixed !important; }

/* =============================================================
   v15.0 — Native hero slider (no Slider Revolution) +
   uniform content centering with left-justified text
   ============================================================= */

/* Hero slider */
.cp-hero-slider {
  position: relative;
  width: 100%;
  height: 540px;
  overflow: hidden;
  background: #0B2545;
}
.cp-hero-slide {
  position: absolute;
  inset: 0;
  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat;
  opacity: 0;
  transition: opacity 1.2s ease-in-out;
}
.cp-hero-slide.active { opacity: 1; }
.cp-hero-dots {
  position: absolute;
  bottom: 22px; left: 0; right: 0;
  text-align: center;
  z-index: 5;
}
.cp-hero-dots button {
  display: inline-block;
  width: 11px; height: 11px;
  border-radius: 50%;
  border: 1px solid rgba(255,255,255,0.6);
  background: rgba(255,255,255,0.25);
  margin: 0 7px;
  padding: 0;
  cursor: pointer;
  transition: background .2s, border-color .2s, transform .2s;
}
.cp-hero-dots button:hover { background: rgba(255,255,255,0.55); transform: scale(1.1); }
.cp-hero-dots button.active { background: #8B6F2C; border-color: #8B6F2C; }

@media (max-width: 980px) { .cp-hero-slider { height: 480px; } }
@media (max-width: 780px) { .cp-hero-slider { height: 360px; } }
@media (max-width: 480px) { .cp-hero-slider { height: 260px; } }

/* Hide the WPBakery placeholder we used previously, max-specificity nuke
   (WPBakery's vc-full-width-row JS adds inline left/width/padding that can
   leave a visible footprint, so we kill display, size, position together) */
html body .cp-slider-placeholder,
html body .cp-home-slider-row,
html body .vc_row.cp-home-slider-row,
html body div.cp-home-slider-row,
html body .wpb_revslider_element,
html body div.wpb_revslider_element {
  display: none !important;
  visibility: hidden !important;
  height: 0 !important;
  min-height: 0 !important;
  max-height: 0 !important;
  width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  position: absolute !important;
  left: -99999px !important;
  top: -99999px !important;
  overflow: hidden !important;
  pointer-events: none !important;
}

/* =============================================================
   Content centering + left-justified text (every page)
   ============================================================= */

.entry-content,
.wpb_text_column .wpb_wrapper,
article.page > .vc_row > .vc_column_container,
.cp-contact-form-wrap {
  max-width: 880px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: 24px !important;
  padding-right: 24px !important;
}

/* Text content always left-aligned within the centered column */
.entry-content p, .entry-content li, .entry-content h2, .entry-content h3, .entry-content h4,
.wpb_text_column p, .wpb_text_column li,
.wpb_text_column h2, .wpb_text_column h3, .wpb_text_column h4 {
  text-align: left !important;
}

/* Page-banner stays centered (eyebrow + italic hero), but body content is left-aligned */
.cp-page-banner, .cp-page-banner-inner { text-align: center !important; }
.cp-cta-row { text-align: center !important; }

/* Contact-page form alignment */
.cp-contact-form-wrap, .cp-contact-form { text-align: left !important; }
.cp-contact-form h2, .cp-contact-form p, .cp-contact-form label,
.cp-contact-form .cp-form-note { text-align: left !important; }
.cp-contact-form .cp-btn,
.cp-contact-form .cp-row { text-align: left !important; }
.cp-contact-social { justify-content: flex-start !important; }

/* =============================================================
   v16.0 — Client Login menu CTA (external link)
   ============================================================= */

.cp-menu-cta > a {
  background: #0B2545 !important;
  color: #FFFFFF !important;
  padding: 8px 16px !important;
  border: 1px solid #8B6F2C !important;
  border-bottom-width: 1px !important;
  margin-left: 6px;
  border-radius: 0 !important;
  letter-spacing: .14em !important;
}
.cp-menu-cta > a:hover {
  background: #8B6F2C !important;
  color: #FFFFFF !important;
  border-color: #8B6F2C !important;
}
.cp-menu li.cp-menu-cta { display: inline-flex; align-items: center; }

/* =============================================================
   v17.0 — Slider text overlay, login button color fix,
   logo/tagline tight, home page tighter
   ============================================================= */

/* Slide content overlay — centered text on top of the bg image */
.cp-hero-slide { position: absolute; inset: 0; display: block; }
.cp-hero-content {
  position: absolute; inset: 0;
  display: flex; flex-direction: column;
  align-items: center; justify-content: center;
  text-align: center;
  padding: 0 32px;
  pointer-events: none;
}
.cp-hero-headline {
  font-family: "EB Garamond", Georgia, serif !important;
  font-style: italic !important;
  font-weight: 600 !important;
  font-size: 64px !important;
  line-height: 1.1 !important;
  color: #FFFFFF !important;
  margin: 0 0 18px !important;
  text-shadow: 0 2px 18px rgba(0,0,0,.35);
}
.cp-hero-rule {
  display: block;
  width: 64px; height: 2px;
  background: #8B6F2C;
  margin: 0 auto 22px;
}
.cp-hero-sub {
  font-family: "EB Garamond", Georgia, serif !important;
  font-size: 30px !important;
  line-height: 1.3 !important;
  color: #F4F1EA !important;
  margin: 0 0 24px !important;
  font-style: normal !important;
  text-shadow: 0 2px 14px rgba(0,0,0,.35);
}
.cp-hero-tag {
  font-family: Arial, Helvetica, sans-serif !important;
  font-size: 13px !important;
  letter-spacing: .28em !important;
  text-transform: uppercase !important;
  color: #C9C2B2 !important;
  margin: 0 !important;
}
@media (max-width: 980px) {
  .cp-hero-headline { font-size: 44px !important; }
  .cp-hero-sub { font-size: 22px !important; }
  .cp-hero-tag { font-size: 11px !important; letter-spacing: .22em !important; }
}
@media (max-width: 580px) {
  .cp-hero-headline { font-size: 30px !important; margin-bottom: 12px !important; }
  .cp-hero-sub { font-size: 17px !important; margin-bottom: 16px !important; }
  .cp-hero-tag { font-size: 10px !important; letter-spacing: .18em !important; }
  .cp-hero-rule { margin-bottom: 14px; }
}

/* Client Login button — force white text against navy background */
.cp-menu li.cp-menu-cta > a,
nav.cp-nav .cp-menu li.cp-menu-cta > a,
nav.cp-nav .cp-menu .cp-menu-cta > a,
header .cp-menu li.cp-menu-cta > a,
.cp-menu .menu-item.cp-menu-cta > a {
  color: #FFFFFF !important;
  background: #0B2545 !important;
  border: 1px solid #8B6F2C !important;
  padding: 8px 18px !important;
  border-bottom-width: 1px !important;
  margin-left: 8px;
}
.cp-menu li.cp-menu-cta > a:hover,
nav.cp-nav .cp-menu li.cp-menu-cta > a:hover,
header .cp-menu li.cp-menu-cta > a:hover {
  background: #8B6F2C !important;
  color: #FFFFFF !important;
  border-color: #8B6F2C !important;
}

/* Logo + NEW YORK SINCE 1996 tagline — no gap between them */
.cp-brand { gap: 4px !important; align-items: center !important; }
.cp-brand .cp-tagline {
  margin-left: 0 !important;
  padding-left: 10px !important;
  border-left: 1px solid #C9C2B2 !important;
}

/* Home page — tighten "Meet the firm" spacing and center horizontally */
body.home .entry-content,
body.home .vc_row {
  margin-top: 0 !important;
  padding-top: 12px !important;
  padding-bottom: 16px !important;
}
body.home .entry-content p,
body.home .vc_row p {
  text-align: center !important;
  margin: 18px auto !important;
}
body.home .entry-content a,
body.home .vc_row a {
  display: inline-block;
}
/* Reduce home page bottom padding before footer */
body.home #main, body.home .main-page-wrapper, body.home article.page {
  padding-bottom: 0 !important; margin-bottom: 0 !important;
}

/* =============================================================
   v18.0 — Logo right-margin, Meet-the-firm centered under dots,
   Client Login rounded corners
   ============================================================= */

/* Logo: pull the tagline 25px closer (negative right margin on the image) */
.cp-brand img { margin-right: -25px !important; }

/* "Meet the firm" link — always centered horizontally on home page */
body.home .entry-content,
body.home article.page,
body.home .vc_row,
body.home .vc_column-inner,
body.home .wpb_text_column,
body.home .wpb_wrapper {
  text-align: center !important;
}
body.home .entry-content p,
body.home .vc_row p,
body.home .wpb_text_column p {
  text-align: center !important;
  margin: 18px auto !important;
  display: block;
}
body.home .entry-content a,
body.home .vc_row a,
body.home .wpb_text_column a {
  display: inline-block;
  margin: 0 auto;
}

/* Client Login button — rounded corners */
.cp-menu li.cp-menu-cta > a,
nav.cp-nav .cp-menu li.cp-menu-cta > a,
nav.cp-nav .cp-menu .cp-menu-cta > a,
header .cp-menu li.cp-menu-cta > a,
.cp-menu .menu-item.cp-menu-cta > a {
  border-radius: 4px !important;
}

/* =============================================================
   v20.0 — Force Meet the firm centered with maximum specificity
   ============================================================= */

/* Higher specificity than .entry-content p { text-align: left } */
html body.home .entry-content,
html body.home .entry-content p,
html body.home .entry-content a,
html body.home .wpb_text_column,
html body.home .wpb_text_column p,
html body.home .wpb_text_column a,
html body.home article.page,
html body.home article.page p,
html body.home article.page a,
html body.home .vc_row,
html body.home .vc_column-inner,
html body.home .wpb_wrapper {
  text-align: center !important;
}

/* The WPBakery row containing Meet the firm should also be centered */
body.home .vc_row {
  display: block !important;
  margin-left: auto !important;
  margin-right: auto !important;
  max-width: 100% !important;
  width: 100% !important;
}
body.home .vc_row .vc_column_container,
body.home .vc_row .vc_col-sm-12,
body.home .vc_row .wpb_column {
  width: 100% !important;
  float: none !important;
  margin: 0 auto !important;
}

/* The link itself should display inline-block centered */
body.home .entry-content p a,
body.home .wpb_text_column p a {
  display: inline-block !important;
  margin: 0 auto !important;
}

/* =============================================================
   v20.4 — HOME PAGE: container goes truly full body width.
   Drops the 880px cap from line 1261 on the home page only,
   so "Meet the firm" centers under the slider dots regardless
   of viewport width.
   ============================================================= */

/* Home page, no width cap on any wrapper */
html body.home #wrapper,
html body.home #main,
html body.home #content,
html body.home .content,
html body.home .main-content,
html body.home .main-page-wrapper,
html body.home .page-content-wrap,
html body.home article.page,
html body.home .entry-content,
html body.home .wpb_text_column,
html body.home .wpb_text_column .wpb_wrapper,
html body.home .wpb_wrapper,
html body.home .vc_row,
html body.home .vc_row .vc_column_container,
html body.home .vc_col-sm-12,
html body.home .wpb_column,
html body.home .vc_column-inner {
  max-width: 100% !important;
  width: 100% !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  float: none !important;
  box-sizing: border-box !important;
}

/* Home page, every block element centers its text */
html body.home #main,
html body.home #content,
html body.home .content,
html body.home article.page,
html body.home .entry-content,
html body.home .entry-content p,
html body.home .entry-content a,
html body.home .wpb_text_column,
html body.home .wpb_text_column p,
html body.home .wpb_text_column a,
html body.home .wpb_wrapper,
html body.home .vc_row,
html body.home .vc_column-inner,
html body.home .wpb_column {
  text-align: center !important;
}

/* The "Meet the firm" link itself, inline-block so the centered
   text-align in the parent actually places it dead center */
html body.home .entry-content p a,
html body.home .wpb_text_column p a,
html body.home .vc_row p a {
  display: inline-block !important;
  float: none !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* =============================================================
   v20.5 — KILL the 50px left/right padding on the container.
   The7's parent CSS sets padding:0 50px on .wf-container / .wf-wrap.
   Zero it out on every wrapper, on every page.
   ============================================================= */

html body .wf-container,
html body .wf-container-main,
html body .wf-wrap,
html body .wf-table,
html body .wf-cell,
html body #main,
html body #main .wf-container,
html body #main .wf-wrap,
html body #main .wf-table,
html body #main .wf-cell,
html body #main .wf-container-main,
html body #content,
html body .content,
html body .main-content,
html body article.page,
html body .entry-content,
html body .vc_row,
html body .vc_row .vc_column_container,
html body .vc_col-sm-12,
html body .wpb_column,
html body .vc_column-inner,
html body .wpb_wrapper,
html body .wpb_text_column,
html body .wpb_text_column .wpb_wrapper {
  padding-left: 0 !important;
  padding-right: 0 !important;
}

/* =============================================================
   v20.6 — Two corrections:
   (1) Inner pages must visually align with the footer. The
   regulatory footer's <p> is max-width:1100px, margin: 0 auto.
   v20.5 zeroed left/right padding on every page including inner
   pages, so the content went flush against the viewport edge
   while the footer remained centered at 1100px, the visual
   misalignment the user reported. We re-center inner pages in a
   1100px box with 24px padding to match the footer exactly.
   (2) Kill grid-column-gap / column-gap / grid-gap on every
   container that could contribute spacing between cells.
   ============================================================= */

/* (1) Inner pages, re-center content in a 1100px box, footer-matched */
html body:not(.home) .entry-content,
html body:not(.home) article.page > .entry-content,
html body:not(.home) .wpb_text_column,
html body:not(.home) .wpb_text_column .wpb_wrapper,
html body:not(.home) .vc_row > .vc_column_container,
html body:not(.home) .vc_row > .wpb_column {
  max-width: 1100px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: 24px !important;
  padding-right: 24px !important;
  box-sizing: border-box !important;
}

/* Inner pages, vc_row also centered to match footer width */
html body:not(.home) #content,
html body:not(.home) .content,
html body:not(.home) .main-content {
  margin-left: auto !important;
  margin-right: auto !important;
}

/* Footer, lock paragraph max-width to the SAME 1100px so content
   and footer share identical centerline */
html body .cp-regulatory p {
  max-width: 1100px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: 24px !important;
  padding-right: 24px !important;
  box-sizing: border-box !important;
}

/* (2) Kill grid-column-gap / column-gap / grid-gap site-wide on
   every WPBakery + The7 container. We DO NOT touch the cp-* header
   and footer flexbox gaps, those are intentional. */
html body .vc_row,
html body .vc_row.wpb_row,
html body .vc_row-fluid,
html body .vc_row.vc_row-fluid,
html body .vc_inner,
html body article.page,
html body .entry-content,
html body .wpb_wrapper,
html body .wpb_column,
html body .vc_column_container,
html body .vc_column-inner,
html body .wf-container,
html body .wf-wrap,
html body .wf-table,
html body .wf-cell,
html body #main,
html body #main .wf-table,
html body #main .wf-container {
  grid-column-gap: 0 !important;
  grid-row-gap: 0 !important;
  grid-gap: 0 !important;
  column-gap: 0 !important;
  row-gap: 0 !important;
}

/* If WPBakery or The7 ever uses display:grid on these, the gap
   override above already covers it. Belt: also force display back
   to flex/block so column-gap on grid containers cannot reappear */
html body .vc_row.vc_row-fluid {
  display: flex !important;
}

/* =============================================================
   v20.7 — KILL THE7's CSS GRID SIDEBAR LAYOUT, NON-HOME PAGES ONLY
   The7 uses display:grid on .wf-container-main with a 2-column
   template, calc(100% - 350px - 25px) for content + 350px for
   the sidebar. Force 1fr / single column / block display so the
   body content uses the full width on every NON-HOME page.
   Home page stays exactly as it is, slider + Meet the firm.
   ============================================================= */

html body:not(.home) .wf-container-main,
html body:not(.home) .sidebar-right .wf-container-main,
html body:not(.home) .sidebar-left .wf-container-main,
html body:not(.home) .sidebar-divider-vertical .wf-container-main,
html body:not(.home) .sidebar-divider-horizontal .wf-container-main,
html body:not(.home) #main .wf-container-main,
html body:not(.home) #main.sidebar-right .wf-container-main,
html body:not(.home) #main.sidebar-left .wf-container-main,
html body:not(.home) #main.sidebar-divider-vertical .wf-container-main {
  display: block !important;
  grid-template-columns: 1fr !important;
  -ms-grid-columns: 1fr !important;
  grid-template-rows: none !important;
  grid-gap: 0 !important;
  grid-column-gap: 0 !important;
  grid-row-gap: 0 !important;
  width: 100% !important;
  max-width: 100% !important;
}

@media screen and (min-width: 769px) {
  html body:not(.home) .wf-container-main,
  html body:not(.home) .sidebar-right .wf-container-main,
  html body:not(.home) .sidebar-left .wf-container-main,
  html body:not(.home) #main.sidebar-right .wf-container-main,
  html body:not(.home) #main.sidebar-left .wf-container-main {
    display: block !important;
    grid-template-columns: 1fr !important;
    -ms-grid-columns: 1fr !important;
    width: 100% !important;
    max-width: 100% !important;
  }
}
@media screen and (min-width: 990px) {
  html body:not(.home) .wf-container-main,
  html body:not(.home) .sidebar-right .wf-container-main,
  html body:not(.home) .sidebar-left .wf-container-main,
  html body:not(.home) #main.sidebar-right .wf-container-main,
  html body:not(.home) #main.sidebar-left .wf-container-main {
    display: block !important;
    grid-template-columns: 1fr !important;
    -ms-grid-columns: 1fr !important;
    width: 100% !important;
    max-width: 100% !important;
  }
}
@media screen and (min-width: 1200px) {
  html body:not(.home) .wf-container-main,
  html body:not(.home) .sidebar-right .wf-container-main,
  html body:not(.home) .sidebar-left .wf-container-main,
  html body:not(.home) #main.sidebar-right .wf-container-main,
  html body:not(.home) #main.sidebar-left .wf-container-main {
    display: block !important;
    grid-template-columns: 1fr !important;
    -ms-grid-columns: 1fr !important;
    width: 100% !important;
    max-width: 100% !important;
  }
}

/* Hide The7's sidebar grid cell entirely on non-home pages */
html body:not(.home) .wf-container-main > .sidebar,
html body:not(.home) .wf-container-main > aside.sidebar,
html body:not(.home) .wf-container-main > .wf-cell.sidebar,
html body:not(.home) .wf-container-main > .wf-cell.content-sidebar,
html body:not(.home) .wf-container-main > #sidebar,
html body:not(.home) .wf-container-main > .secondary,
html body:not(.home) .wf-container-main > .col-sidebar,
html body:not(.home) .wf-container-main > .widget-area {
  display: none !important;
  width: 0 !important;
  height: 0 !important;
  grid-column: auto / auto !important;
  grid-row: auto / auto !important;
}

/* Surviving content cell spans the full grid width on non-home pages */
html body:not(.home) .wf-container-main > .content,
html body:not(.home) .wf-container-main > #content,
html body:not(.home) .wf-container-main > main,
html body:not(.home) .wf-container-main > .main-content,
html body:not(.home) .wf-container-main > .wf-cell.content,
html body:not(.home) .wf-container-main > article,
html body:not(.home) .wf-container-main > .page-content-wrap,
html body:not(.home) .wf-container-main > .main-page-wrapper {
  grid-column: 1 / -1 !important;
  -ms-grid-column-span: 3 !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 auto !important;
  float: none !important;
}

/* =============================================================
   v20.8 — Leadership LinkedIn glyph styling
   The cp_leadership_fixups filter wraps each partner's name in
   the heading with an <a> + small LinkedIn glyph. Style it so the
   anchor reads as a subtle inline mark, not a clunky button.
   ============================================================= */

a.cp-leader-li {
  color: inherit !important;
  text-decoration: none !important;
  border: 0 !important;
  display: inline-flex !important;
  align-items: baseline !important;
  gap: 8px !important;
  transition: color .15s ease;
}
a.cp-leader-li:hover,
a.cp-leader-li:focus {
  color: var(--cp-accent) !important;
}
a.cp-leader-li .cp-leader-li-glyph {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  color: var(--cp-accent) !important;
  margin-left: 6px;
  vertical-align: middle;
  position: relative;
  top: 2px;
  transition: color .15s ease, transform .15s ease;
}
a.cp-leader-li:hover .cp-leader-li-glyph,
a.cp-leader-li:focus .cp-leader-li-glyph {
  color: var(--cp-brand) !important;
  transform: translateY(-1px);
}
a.cp-leader-li svg.cp-li-icon {
  width: 14px !important;
  height: 14px !important;
  display: block;
}

/* =============================================================
   v21.2 — Center the Client Login text in its menu-bar button.
   Use display:inline-flex on the anchor with justify+align center
   so the text is dead-center horizontally and vertically.
   ============================================================= */

.cp-menu li.cp-menu-cta,
nav.cp-nav .cp-menu li.cp-menu-cta,
header .cp-menu li.cp-menu-cta {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
}

.cp-menu li.cp-menu-cta > a,
nav.cp-nav .cp-menu li.cp-menu-cta > a,
nav.cp-nav .cp-menu .cp-menu-cta > a,
header .cp-menu li.cp-menu-cta > a,
.cp-menu .menu-item.cp-menu-cta > a {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;
  line-height: 1 !important;
  white-space: nowrap !important;
  min-width: 110px !important;
}

/* =============================================================
   v21.7 — RESPONSIVE HEADER + BURGER MENU
   Above 1100px: full horizontal menu, burger hidden.
   1100px and below: burger visible, menu hidden, taps to slide in.
   ============================================================= */

/* Burger button, desktop, hidden by default */
.cp-burger {
  display: none;
  background: transparent;
  border: 0;
  padding: 8px;
  margin-left: 12px;
  cursor: pointer;
  width: 44px;
  height: 44px;
  flex: 0 0 44px;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  gap: 5px;
  position: relative;
  z-index: 100;
}
.cp-burger-bar {
  display: block;
  width: 24px;
  height: 2px;
  background: var(--cp-brand, #0B2545);
  transition: transform .25s ease, opacity .2s ease;
}
.cp-burger[aria-expanded="true"] .cp-burger-bar:nth-child(1) {
  transform: translateY(7px) rotate(45deg);
}
.cp-burger[aria-expanded="true"] .cp-burger-bar:nth-child(2) {
  opacity: 0;
}
.cp-burger[aria-expanded="true"] .cp-burger-bar:nth-child(3) {
  transform: translateY(-7px) rotate(-45deg);
}

/* Lock body scroll when the mobile menu is open */
body.cp-menu-open { overflow: hidden !important; }

/* The cp-mainbar lays out brand, burger, nav with flex-wrap so the
   menu can collapse onto its own row on tighter desktops without
   pushing the Client Login button off-screen. */
@media (max-width: 1280px) and (min-width: 1101px) {
  .cp-menu { gap: 4px !important; }
  .cp-menu li.menu-item > a {
    font-size: 11px !important;
    letter-spacing: .12em !important;
    padding: 6px 8px !important;
  }
  .cp-mainbar { padding: 14px 18px !important; gap: 12px !important; }
  .cp-brand img { max-height: 60px !important; }
}

/* === Below 1100px: full mobile / small-desktop pattern === */
@media (max-width: 1100px) {
  /* Show the burger, hide the desktop nav */
  .cp-burger {
    display: inline-flex !important;
  }
  .cp-mainbar {
    flex-wrap: nowrap !important;
    padding: 12px 16px !important;
    align-items: center !important;
    justify-content: space-between !important;
    position: relative !important;
  }
  .cp-brand { flex: 1 1 auto; }
  .cp-brand img { max-height: 56px !important; margin-right: 0 !important; }
  .cp-tagline { font-size: 11px !important; }

  /* The nav becomes a slide-down panel pinned below the header,
     full width, navy background, white text. Hidden by default. */
  nav#cp-primary-nav.cp-nav,
  nav.cp-nav {
    display: none !important;
    position: absolute !important;
    top: 100% !important;
    left: 0 !important;
    right: 0 !important;
    width: 100% !important;
    background: #FBFAF6 !important;
    border-top: 1px solid #C9C2B2 !important;
    box-shadow: 0 12px 24px rgba(11,37,69,.08) !important;
    max-height: calc(100vh - 100px) !important;
    overflow-y: auto !important;
    z-index: 90 !important;
  }
  nav#cp-primary-nav.cp-nav.cp-nav-open,
  nav.cp-nav.cp-nav-open {
    display: block !important;
  }

  /* The list, vertical stack, full-width tappable rows */
  .cp-menu {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 8px 0 !important;
    gap: 0 !important;
  }
  .cp-menu li,
  .cp-menu li.menu-item,
  .cp-menu li.cp-menu-cta {
    display: block !important;
    width: 100% !important;
  }
  .cp-menu li > a {
    display: block !important;
    width: 100% !important;
    padding: 14px 22px !important;
    font-size: 13px !important;
    letter-spacing: .14em !important;
    border-bottom: 1px solid rgba(201,194,178,.5) !important;
    text-align: left !important;
  }
  .cp-menu li:last-child > a { border-bottom: 0 !important; }

  /* Client Login, full-width navy block at the bottom of the panel */
  .cp-menu li.cp-menu-cta { margin-top: 8px !important; }
  .cp-menu li.cp-menu-cta > a {
    background: #0B2545 !important;
    color: #FFFFFF !important;
    text-align: center !important;
    margin: 8px 16px !important;
    border-radius: 4px !important;
    padding: 14px 18px !important;
    width: auto !important;
    border-bottom: 0 !important;
    min-width: 0 !important;
  }

  /* Top bar tightens up too */
  .cp-topbar-inner { padding: 6px 16px !important; gap: 14px !important; }
  .cp-topbar-phone span,
  .cp-topbar-li span { font-size: 12px !important; }

  /* Sub-nav strip becomes scrollable on tight viewports */
  .cp-subnav-inner {
    overflow-x: auto !important;
    flex-wrap: nowrap !important;
    justify-content: flex-start !important;
    gap: 14px !important;
    padding: 10px 16px !important;
  }
}

/* === Below 768px: mobile === */
@media (max-width: 768px) {
  .cp-mainbar { padding: 10px 14px !important; }
  .cp-brand img { max-height: 48px !important; }
  .cp-tagline { font-size: 10px !important; line-height: 1.1 !important; }
  .cp-tagline-l1, .cp-tagline-l2 { display: block !important; }

  /* Top bar, drop the LinkedIn label, keep just icon */
  .cp-topbar-li span { display: none !important; }
  .cp-topbar-phone svg { width: 12px !important; height: 12px !important; }

  /* Page banner + content, smaller side padding */
  html body:not(.home) .entry-content,
  html body:not(.home) .wpb_text_column,
  html body:not(.home) .wpb_text_column .wpb_wrapper,
  html body:not(.home) .vc_row > .vc_column_container,
  html body:not(.home) .vc_row > .wpb_column {
    padding-left: 16px !important;
    padding-right: 16px !important;
  }
  html body .cp-regulatory p {
    padding-left: 16px !important;
    padding-right: 16px !important;
  }

  /* Slider scales down on phones */
  .cp-hero-slider { height: 320px !important; }
  .cp-hero-headline { font-size: 26px !important; }
  .cp-hero-sub { font-size: 14px !important; }

  /* Contact form full-width fields */
  .cp-contact-form .cp-row { width: 100% !important; }

  /* Footer copyright wraps nicely */
  .cp-regulatory { padding: 22px 16px !important; font-size: 12px !important; }
  .cp-regulatory a { display: inline-block; margin: 4px 6px !important; }
}

/* === Below 480px: small phones === */
@media (max-width: 480px) {
  .cp-brand img { max-height: 42px !important; }
  .cp-tagline { display: none !important; }
  .cp-hero-slider { height: 260px !important; }
  .cp-hero-headline { font-size: 22px !important; }
  h1, .entry-title { font-size: 28px !important; }
  h2 { font-size: 22px !important; }
}

/* =============================================================
   v21.8 — KILL THE7's MOBILE MENU
   We ship our own burger menu (#cp-primary-nav). The7's parent
   theme also injects its own mobile-menu / dt-header-mobile bar
   that shows up between the header and the page body on mobile,
   styled with our brand navy background. Nuke every variant of
   The7's mobile header so only our own remains.
   ============================================================= */

html body .dt-header-mobile,
html body .dt-mobile-header,
html body .mobile-header,
html body #mobile-header,
html body .dt-mobile-menu,
html body .mobile-menu,
html body #mobile-menu,
html body .dt-mobile-menu-icon,
html body .menu-mobile,
html body .dt-mega-menu-mobile,
html body .mobile-nav,
html body #dt-mobile-nav,
html body .responsive-menu,
html body .dt-mobile-nav,
html body .dt-mobile-second-line-mobile,
html body .dt-mobile-header__top-line,
html body .dt-mobile-header__bottom-line,
html body .dt-mobile-header__primary-nav,
html body .dt-mobile-header__menu-overlay {
  display: none !important;
  visibility: hidden !important;
  height: 0 !important;
  max-height: 0 !important;
  width: 0 !important;
  overflow: hidden !important;
  pointer-events: none !important;
  position: absolute !important;
  left: -99999px !important;
  top: -99999px !important;
}

/* Some The7 builds put the mobile menu inside #wrapper as a sibling of
   #main, with class wf-* or dt-*. Catch those too. */
html body #wrapper > .dt-mobile-header,
html body #wrapper > .mobile-header,
html body #wrapper > #mobile-header,
html body #masthead .dt-mobile-header,
html body #masthead .mobile-header,
html body header.masthead.mobile-header {
  display: none !important;
}
