.elementor-7253 .elementor-element.elementor-element-6d09ef76{--display:flex;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-theme-builder-content-area{height:400px;}.elementor-location-header:before, .elementor-location-footer:before{content:"";display:table;clear:both;}.elementor-widget .tippy-tooltip .tippy-content{text-align:center;}/* Start custom CSS for html, class: .elementor-element-29a4a053 *//*
  Westview Law LLP — shared navigation/header styles
  Self-contained: load with shared/navigation.html.
  This preserves the original Design One black-and-gold navigation.
*/

:root{
  --navy:#080808;
  --navy-deep:#000000;
  --navy-soft:#171717;
  --navy-2:#202020;
  --gold:#d4af37;
  --gold-light:#f3d56b;
  --cream:#f8f3df;
  --paper:#fffdf6;
  --ink:#111111;
  --muted:#5f5a4e;
  --line:rgba(17,17,17,.15);
  --shadow:0 24px 70px rgba(0,0,0,.16);
  --container:1390px;
  --header:129px;
  --serif:"Iowan Old Style","Palatino Linotype","Book Antiqua",Palatino,Georgia,serif;
  --sans:Inter,"Segoe UI",Arial,sans-serif;
}

.site-header,
.site-header *,
.mobile-menu,
.mobile-menu *{box-sizing:border-box}

body.menu-open{overflow:hidden}
.site-header a,
.mobile-menu a{color:inherit;text-decoration:none}
.site-header button,
.mobile-menu button{font:inherit;cursor:pointer}
.site-header img{display:block;max-width:100%}
.site-header .container{width:min(calc(100% - 40px),var(--container));margin-inline:auto}

.skip-link{position:fixed;left:18px;top:-80px;background:var(--gold);color:#080808;padding:10px 16px;z-index:9999;font-family:var(--sans);text-decoration:none}
.skip-link:focus{top:16px}

.site-header{position:sticky;top:0;z-index:1000;height:auto;background:#050505;color:#fff;border:0;border-bottom:1px solid rgba(212,175,55,.22);box-shadow:0 2px 18px rgba(0,0,0,.28);font-family:var(--sans);backdrop-filter:none}
.utility-bar{height:43px;background:#000;color:#fff}
.utility-inner{height:100%;display:flex;align-items:center;justify-content:space-between}
.utility-contact,.utility-actions{height:100%;display:flex;align-items:center}
.utility-contact{gap:32px}
.utility-contact a{display:flex;align-items:center;gap:9px;color:rgba(255,255,255,.88);font-size:13px}
.utility-contact a:hover{color:var(--gold-light)}
.utility-contact svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.portal-link{padding:0 24px;color:#fff;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}
.portal-link:hover{color:var(--gold-light)}
.utility-cta{height:100%;display:flex;align-items:center;padding:0 29px;background:linear-gradient(135deg,var(--gold),#9f7b12);color:#080808;font-size:11px;font-weight:700;letter-spacing:.07em;text-transform:uppercase}
.utility-cta:hover{background:linear-gradient(135deg,var(--gold-light),var(--gold))}

.primary-bar{height:86px;background:#050505;color:#fff}
.primary-inner{height:100%;display:grid;grid-template-columns:270px 1fr 46px;align-items:center;gap:34px}
.brand{display:inline-flex;align-items:center}
.brand img{width:250px;max-height:68px;height:auto;object-fit:contain}

.nav{display:flex;justify-content:center;align-items:center;gap:31px}
.nav>a,.nav-group>button{position:relative;border:0;background:transparent;color:#fff;padding:31px 0 28px;font-size:11px;font-weight:700;letter-spacing:.11em;text-transform:uppercase;white-space:nowrap}
.nav-group>button span{margin-left:5px;font-size:13px}
.nav>a:after,.nav-group>button:after{content:"";position:absolute;left:0;right:0;bottom:20px;height:1px;background:var(--gold);transform:scaleX(0);transition:transform .2s ease}
.nav>a:hover:after,.nav>a.active:after,.nav-group:hover>button:after,.nav-group:focus-within>button:after{transform:scaleX(1)}
.nav-group{position:relative}

.dropdown{position:absolute;left:50%;top:calc(100% - 2px);width:min(850px,86vw);display:grid;grid-template-columns:240px 1fr;gap:32px;padding:34px;background:#fffdf7;color:var(--ink);border-top:3px solid var(--gold);box-shadow:0 24px 60px rgba(0,0,0,.24);transform:translate(-50%,12px);opacity:0;visibility:hidden;transition:opacity .2s ease,visibility .2s ease,transform .2s ease}
.nav-group:hover .dropdown,.nav-group:focus-within .dropdown{opacity:1;visibility:visible;transform:translate(-50%,0)}
.dropdown-intro{padding-right:28px;border-right:1px solid var(--line)}
.dropdown-intro small{display:block;color:var(--gold);font-size:10px;font-weight:800;letter-spacing:.13em;text-transform:uppercase}
.dropdown-intro strong{display:block;margin:13px 0 30px;font-family:var(--serif);font-size:1.5rem;font-weight:400;line-height:1.15}
.dropdown-intro>a{display:inline;border:0;font-size:11px;font-weight:800;text-transform:uppercase}
.dropdown-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:2px 26px}
.dropdown a{padding:11px 0;border-bottom:1px solid var(--line);font-size:13px}
.dropdown a:hover{color:#9f7b12}
.dropdown--small{left:auto;right:0;width:270px;display:block;transform:translate(0,12px)}
.nav-group:hover .dropdown--small,.nav-group:focus-within .dropdown--small{transform:translate(0,0)}
.dropdown-grid--single{grid-template-columns:1fr}

.search-toggle{display:grid;place-items:center;width:42px;height:42px;border:0;background:transparent;color:#fff}
.search-toggle:hover{color:var(--gold-light)}
.search-toggle svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.7}
.menu-toggle{display:none;width:46px;height:44px;border:1px solid rgba(212,175,55,.48);background:transparent}
.menu-toggle span,.menu-toggle span:before,.menu-toggle span:after{display:block;width:20px;height:1px;margin:auto;background:var(--gold-light);content:"";transition:.2s}
.menu-toggle span:before{transform:translateY(-6px)}
.menu-toggle span:after{transform:translateY(5px)}

.mobile-menu{display:none;position:fixed;inset:0;background:#000;z-index:999;padding:0 24px 36px;overflow:auto;font-family:var(--sans)}
.mobile-menu.open{display:block}
.mobile-menu-head{display:flex;align-items:center;justify-content:space-between;height:72px;border-bottom:1px solid rgba(255,255,255,.14);color:#fff;font-weight:700;text-transform:uppercase;letter-spacing:.12em}
.mobile-menu-head button{border:0;background:transparent;color:#fff;font-size:32px}
.mobile-menu a{display:block;padding:14px 0;border-bottom:1px solid rgba(255,255,255,.13);color:#fff}
.mobile-menu a:hover{color:var(--gold-light)}
.mobile-menu .mobile-label{margin-top:24px;color:var(--gold);font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase}
.mobile-consultation{margin-top:25px!important;padding:17px!important;background:var(--gold);color:#080808!important;text-align:center;border:0!important;font-weight:700;letter-spacing:.08em;text-transform:uppercase}

@media (max-width:1180px){
  .primary-inner{grid-template-columns:230px 1fr 46px;gap:16px}
  .nav{gap:20px}
  .nav>a,.nav-group>button{font-size:10px}
}

@media (max-width:1040px){
  .nav{display:none}
  .primary-inner{grid-template-columns:1fr 46px 46px}
  .menu-toggle{display:block;justify-self:end}
}

@media (max-width:980px){
  .utility-bar{display:none}
  .primary-bar{height:80px}
  .mobile-menu{top:0}
  .search-toggle{display:grid}
}

@media (max-width:720px){
  .site-header .container{width:min(calc(100% - 28px),var(--container))}
  .brand img{width:205px;max-height:58px}
  .primary-inner{grid-template-columns:1fr 42px 42px}
  .search-toggle,.menu-toggle{width:40px}
}

@media print{
  .site-header,.mobile-menu,.skip-link{display:none!important}
}

/* =========================================================
   HELLO THEME / WORDPRESS FULL-WIDTH HEADER OVERRIDES
   Keeps the black header edge-to-edge while preserving
   the existing inner .container content width.
   ========================================================= */

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

body {
    overflow-x: hidden;
}

/* Make the custom header itself span the viewport */
.site-header,
.westview-fullwidth-header,
.utility-bar,
.primary-bar {
    width: 100% !important;
    max-width: none !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
}

/* Neutralize common Hello/WordPress wrappers if the HTML is inserted
   through a theme HTML/widget area. */
.site-header .elementor,
.site-header .elementor-element,
.site-header .elementor-widget,
.site-header .elementor-widget-container,
.site-header .widget,
.site-header .widget_custom_html,
.site-header .custom-html-widget,
.site-header .wp-block-html {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* If Hello/WordPress places this inside a constrained content wrapper,
   break only the custom header background out to viewport width. */
.westview-fullwidth-header {
    position: relative;
    left: 50%;
    right: 50%;
    margin-left: -50vw !important;
    margin-right: -50vw !important;
    width: 100vw !important;
    max-width: 100vw !important;
}

/* Keep the original internal content alignment and breathing room */
.site-header .container {
    width: min(calc(100% - 40px), var(--container)) !important;
    max-width: var(--container) !important;
    margin-inline: auto !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
}

@media (max-width: 720px) {
    .site-header .container {
        width: min(calc(100% - 28px), var(--container)) !important;
    }
}

/* =========================================================
   ELEMENTOR GLOBAL BUTTON HOVER FIX
   Prevents Elementor global button colors (e.g. pink)
   from overriding the Practice Areas / Resources dropdowns.
   ========================================================= */

.site-header .nav-group > button,
.site-header .nav-group > button:hover,
.site-header .nav-group > button:focus,
.site-header .nav-group > button:focus-visible,
.site-header .nav-group > button:active,
.elementor .site-header .nav-group > button,
.elementor .site-header .nav-group > button:hover,
.elementor .site-header .nav-group > button:focus,
.elementor-widget-html .site-header .nav-group > button,
.elementor-widget-html .site-header .nav-group > button:hover,
.elementor-widget-html .site-header .nav-group > button:focus {
    background: transparent !important;
    background-color: transparent !important;
    color: #ffffff !important;
    border: 0 !important;
    border-color: transparent !important;
    box-shadow: none !important;
    outline: none !important;
}

.site-header .nav-group > button span,
.site-header .nav-group > button:hover span,
.site-header .nav-group > button:focus span {
    color: inherit !important;
}

/* Preserve the intended gold underline hover/focus effect */
.site-header .nav-group > button:hover::after,
.site-header .nav-group > button:focus::after,
.site-header .nav-group:hover > button::after,
.site-header .nav-group:focus-within > button::after {
    transform: scaleX(1) !important;
}/* End custom CSS */


