/* =================================
HEADER
================================= */

.container-header{
background:#ffffff;
box-shadow:0 4px 18px rgba(0,0,0,0.08);
position:relative;
overflow:visible !important; /* stop clipping */
}

.container-header::before{display:none;}


/* =================================
HEADER LAYOUT
================================= */

.container-brand .brand-row{
display:flex;
align-items:center;
justify-content:space-between;
width:100%;
}


/* LOGO */

.navbar-brand{display:flex;align-items:center;}
.navbar-brand img{max-height:70px;}


/* =================================
CALL BAR
================================= */

.header-right{text-align:right;}
.gj-callbar{font-weight:700;line-height:1.2;}
.gj-callbar a{
color:#0d6b3c;
text-decoration:none;
font-size:20px;
font-weight:800;
}
.gj-callbar a:hover{color:#c32026;}
.gj-callinfo{
display:block;
font-size:13px;
color:#555;
font-weight:600;
margin-top:3px;
}


/* =================================
MENU  (CASSIOPEIA – FORCE SHOW ALL ITEMS)
================================= */

/* IMPORTANT: Cassiopeia can output menus as:
   - .mod-menu ul
   - .mod-menu__nav
   - .metismenu
   - .navbar-nav
   So we target ALL of them and force a sane flex layout.
*/

.container-header .mod-menu{margin-top:10px;}

/* force the real menu list(s) to be flex and visible */
.container-header .mod-menu ul,
.container-header .mod-menu__nav,
.container-header ul.metismenu,
.container-header .navbar-nav{
display:flex !important;
flex-wrap:wrap !important;
align-items:center !important;
gap:22px !important;
margin:0 !important;
padding:0 !important;
list-style:none !important;
width:100% !important;
justify-content:flex-start !important;
overflow:visible !important;
}

/* make sure LI are not being collapsed/hidden by template */
.container-header .mod-menu li,
.container-header .mod-menu__nav > li,
.container-header ul.metismenu > li,
.container-header .navbar-nav > li{
display:block !important;
float:none !important;
visibility:visible !important;
opacity:1 !important;
height:auto !important;
width:auto !important;
}

/* links */
.container-header .mod-menu a,
.container-header .mod-menu__nav a,
.container-header ul.metismenu a,
.container-header .navbar-nav a{
display:inline-block !important;
padding:8px 16px !important;
border-radius:6px !important;
font-weight:600 !important;
font-size:14px !important;
color:#222 !important;
text-decoration:none !important;
transition:all .25s ease !important;
white-space:nowrap !important;
background:transparent !important;
}

/* hover (logo red) */
.container-header .mod-menu a:hover,
.container-header .mod-menu__nav a:hover,
.container-header ul.metismenu a:hover,
.container-header .navbar-nav a:hover{
background:#c32026 !important;
color:#fff !important;
}

/* active page (logo red) */
.container-header .mod-menu li.current > a,
.container-header .mod-menu li.active > a,
.container-header .mod-menu__nav > li.current > a,
.container-header .mod-menu__nav > li.active > a,
.container-header ul.metismenu > li.current > a,
.container-header ul.metismenu > li.active > a,
.container-header .navbar-nav > li.current > a,
.container-header .navbar-nav > li.active > a{
background:#c32026 !important;
color:#fff !important;
}

/* CTA = last item (Local Areas) green */
.container-header .mod-menu li:last-child > a,
.container-header .mod-menu__nav > li:last-child > a,
.container-header ul.metismenu > li:last-child > a,
.container-header .navbar-nav > li:last-child > a{
background:#0d6b3c !important;
color:#fff !important;
padding:8px 18px !important;
border-radius:8px !important;
}

/* CTA hover */
.container-header .mod-menu li:last-child > a:hover,
.container-header .mod-menu__nav > li:last-child > a:hover,
.container-header ul.metismenu > li:last-child > a:hover,
.container-header .navbar-nav > li:last-child > a:hover{
background:#094c29 !important;
}

/* active CTA page becomes red */
.container-header .mod-menu li:last-child.current > a,
.container-header .mod-menu li:last-child.active > a,
.container-header .mod-menu__nav > li:last-child.current > a,
.container-header .mod-menu__nav > li:last-child.active > a,
.container-header ul.metismenu > li:last-child.current > a,
.container-header ul.metismenu > li:last-child.active > a,
.container-header .navbar-nav > li:last-child.current > a,
.container-header .navbar-nav > li:last-child.active > a{
background:#c32026 !important;
}


/* =================================
HERO WRAPPER FIX
================================= */

.site-grid .grid-child{
background:transparent;
border:none;
box-shadow:none;
}

.main-top .container,
.main-top .container-default{
max-width:100%;
background:transparent;
border:none;
box-shadow:none;
padding:0;
}


/* =================================
HERO
================================= */

.gj-hero{
width:100%;
margin:0;
border-radius:0;
}


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

@media (max-width:820px){

.container-brand .brand-row{
flex-direction:column;
text-align:center;
}

.navbar-brand{justify-content:center;}

.header-right{
text-align:center;
margin-top:10px;
}

.gj-callbar a{font-size:18px;}

/* stack menu on mobile */
.container-header .mod-menu ul,
.container-header .mod-menu__nav,
.container-header ul.metismenu,
.container-header .navbar-nav{
flex-direction:column !important;
gap:6px !important;
align-items:stretch !important;
}

.container-header .mod-menu a,
.container-header .mod-menu__nav a,
.container-header ul.metismenu a,
.container-header .navbar-nav a{
width:100% !important;
text-align:center !important;
}

}