@charset "utf-8";
/**
 * NAZ Framework - Navigation Styles
 *
 * Purpose: Core navigation CSS for desktop and mobile menus.
 *          This is a FRAMEWORK file — deployed to all client sites.
 *          Do NOT put site-specific styles here; override via master CSS
 *          or by redefining the CSS custom properties below.
 *
 * File Type: FRAMEWORK - Always overwritten during upgrades.
 *
 * @package    NAZ Framework
 * @version    1.1.0
 * @date       2026-03-10
 *
 * CUSTOMIZATION:
 * Override these CSS variables in your site's master CSS to change
 * nav colors without editing this file:
 *
 *   :root {
 *       --naz-nav-link-color: #ffffff;
 *       --naz-nav-hover-border: #1377b8;
 *       --naz-nav-dropdown-bg: #ffffff;
 *       --naz-nav-dropdown-link-color: #000000;
 *       --naz-nav-dropdown-hover-border: #1377b8;
 *       --naz-nav-mobile-bg: #ffffff;
 *       --naz-nav-mobile-link-color: #000000;
 *       --naz-nav-mobile-border-color: #cccccc;
 *       --naz-nav-active-border: #1377b8;
 *   }
 */

/* ============================================================================
   CSS CUSTOM PROPERTIES — Override these in your site's master CSS
   ============================================================================ */
:root {
	--naz-nav-link-color: rgba(255,255,255,1);
	--naz-nav-link-shadow: 0 2px 2px rgba(0,0,0,1);
	--naz-nav-hover-border: #1377b8;
	--naz-nav-active-border: #1377b8;
	--naz-nav-dropdown-bg: rgba(255,255,255,1);
	--naz-nav-dropdown-shadow: 0px 5px 5px rgba(0,0,0,.5);
	--naz-nav-dropdown-link-color: rgba(0,0,0,1);
	--naz-nav-dropdown-hover-border: #1377b8;
	--naz-nav-mobile-bg: rgba(255,255,255,1);
	--naz-nav-mobile-link-color: rgba(0,0,0,1);
	--naz-nav-mobile-border-color: #cccccc;
	--naz-nav-overlay-bg: rgba(0,0,0,.6);
	--naz-nav-hover-bg: #7ab8d9;
}

/* ============================================================================
   MOBILE-FIRST BASE STYLES (300px+)
   ============================================================================ */
@media (min-width: 300px) {

	/* ---- Hide desktop nav on mobile, show hamburger ---- */
	.full-nav {
		display: none;
	}

	/* ---- Hamburger / Open Button ---- */
	.open-nav {
		padding-top: 15px;
	}
	.open-nav .fas {
		font-size: 30px;
		cursor: pointer;
	}

	/* ---- Shared Nav List ---- */
	.navbar-nav .nav {
		display: flex;
	}
	.navbar-nav {
		flex-direction: row;
	}
	.navbar-nav li {
		list-style: none;
		flex-grow: 1;
		width: 100%;
		text-align: left;
	}
	.navbar-nav li a {
		margin: 0;
		display: block;
		letter-spacing: 0px;
		margin-bottom: 2px;
		font-weight: 400;
		padding: 10px 10px;
		text-decoration: none !important;
		color: var(--naz-nav-mobile-link-color);
	}

	/* ---- Mobile Slide-Out Nav ---- */
	.mobile-nav {
		background: var(--naz-nav-mobile-bg);
		position: absolute;
		z-index: 250;
		top: 0;
		left: 0;
		display: none;
		overflow: hidden;
		width: 90%;
		height: auto;
		padding-right: 5px;
		padding-left: 5px;
		padding-bottom: 15px;
		border-bottom-right-radius: 5px;
		box-shadow: 0 2px 4px rgba(0,0,0,.3);
	}
	.mobile-nav ul {
		width: 100%;
	}
	.mobile-nav li {
		padding: 10px;
		border-bottom: solid 1px var(--naz-nav-mobile-border-color);
	}
	.mobile-nav li a,
	.mobile-contact-button {
		font-size: 5vw;
	}
	.mobile-nav li a span {
		font-size: 16px;
		padding-left: 15px;
	}
	.mobile-nav li a i {
		font-size: 16px;
		padding-left: 15px;
		width: 25px;
		text-align: center;
	}

	/* ---- Mobile Nav Header (close button, phone) ---- */
	/* Pin the close button to the right edge of the panel via absolute
	   positioning so it doesn't depend on Bootstrap col-4 / row gutter math. */
	.mobile-nav-top {
		position: relative;
	}
	.mobile-nav-top .close-nav {
		cursor: pointer;
		position: absolute;
		top: 5px;
		right: 10px;
		padding: 5px 8px;
	}
	.mobile-nav-top .close-nav i {
		font-size: 25px;
		font-weight: bold;
	}
	.mobile-nav-phone {
		padding-left: 30px;
		padding-top: 4px;
	}
	.mobile-nav-phone a {
		text-decoration: none;
		color: var(--naz-nav-mobile-link-color);
		font-size: 19px;
	}

	/* ---- Overlay (behind mobile nav) ---- */
	.site-cover {
		position: fixed;
		top: 0;
		left: 0;
		z-index: 149;
		width: 100%;
		height: 100vh;
		background: var(--naz-nav-overlay-bg);
		display: none;
	}
}

/* ============================================================================
   SMALL TABLETS (576px+)
   ============================================================================ */
@media (min-width: 576px) {
	.mobile-nav li a {
		font-size: 3vw;
	}
}

/* ============================================================================
   DESKTOP NAV (768px+)
   ============================================================================ */
@media (min-width: 768px) {

	/* Hide mobile nav elements on desktop, show desktop nav */
	.site-nav-mobile {
		display: none;
	}
	.full-nav {
		display: block;
	}
	.open-nav {
		display: none;
	}

	/* ---- Site Nav Container ---- */
	.site-nav {
		display: flex;
		padding-top: 15px;
		padding-bottom: 15px;
		position: absolute;
		top: 0;
		width: 100%;
	}

	/* ---- Desktop Nav Holder ---- */
	.dnh {
	
	}
	.full-nav {
		z-index: 25;
	}
	.full-nav ul li {
		width: auto;
		text-align: center;
	}
	.full-nav span {
		font-size: inherit;
	}

	/* ---- Top-Level Links ---- */
	.full-nav ul li a {
		font-size: 1vw;
		font-weight: 600;
		padding: 15px 10px;
		margin: 0 0 2px 0;
		display: block;
		letter-spacing: 0px;
		text-align: center;
		color: var(--naz-nav-link-color);
		text-shadow: var(--naz-nav-link-shadow);
	}
	/* ---- Hover + Active States (light-blue li background) ---- */
	.full-nav ul li:hover,
	.full-nav li.nb-active-top,
	.full-nav li.nb-active,
	.full-nav .sub-dropdown ol li:hover {
		background: var(--naz-nav-hover-bg);
	}

	/* ---- Dropdown Menus ---- */
	.sub-dropdown ol {
		display: none;
		min-width: 15rem;
		background-color: var(--naz-nav-dropdown-bg);
		box-shadow: var(--naz-nav-dropdown-shadow);
		position: absolute;
	}
	.sub-dropdown ol li a {
		color: var(--naz-nav-dropdown-link-color);
	}
	.sub-dropdown ol li{
		border-left:0;
	}
	.full-nav ul ol {
		padding: 0;
		list-style: none;
	}

	/* ---- Dropdown Link Styles ---- */
	.full-nav .sub-dropdown ol li a {
		color: var(--naz-nav-dropdown-link-color);
		text-align: left;
		white-space: nowrap;
		overflow: hidden;
		text-shadow: none;
	}

	/* ---- Nested Dropdown (3rd level) ---- */
	.sub-dropdown ol .sub-dropdown ol {
		margin-top: -12%;
		left: 75%;
		overflow: hidden;
		position: absolute;
	}
}

/* ============================================================================
   MOBILE NAV — Collapsible sub-menus (2026-04-13)
   ============================================================================ */
@media (max-width: 767.98px) {
	.mobile-nav li {
		position: relative;
	}
	.mobile-nav .mobile-subnav-toggle {
		position: absolute;
		top: 0;
		right: 0;
		height: 48px;
		width: 48px;
		display: flex;
		align-items: center;
		justify-content: center;
		cursor: pointer;
		color: var(--naz-nav-mobile-link-color, #fff);
		font-size: 16px;
		user-select: none;
		line-height: 1;
	}
	.mobile-nav .mobile-subnav-toggle i {
		transition: transform 0.25s ease;
		padding: 0;
	}
	.mobile-nav li.open > .mobile-subnav-toggle i {
		transform: rotate(180deg);
	}
	.mobile-nav .mobile-subnav {
		display: none;
		list-style: none;
		margin: 8px 0 0 0;
		padding: 0 0 0 20px;
		width: 100%;
	}
	.mobile-nav li.open > .mobile-subnav {
		display: block;
	}
	.mobile-nav .mobile-subnav li {
		padding: 6px 10px;
	}
	.mobile-nav .mobile-subnav li:last-child {
		border-bottom: 0;
	}
	.mobile-nav .mobile-subnav a {
		font-size: 5vw;
	}
	/* Leave room for the toggle chevron so parent link text doesn't collide */
	.mobile-nav li.has-subnav > a {
		padding-right: 50px;
		cursor: pointer;
	}
	/* Mobile nav phone number — blue link, matches site brand */
	.mobile-nav-phone a,
	.mobile-nav-phone a:hover,
	.mobile-nav-phone a:visited {
		color: #0d2d5c;
	}
}
@media (min-width: 576px) and (max-width: 767.98px) {
	.mobile-nav .mobile-subnav a {
		font-size: 3vw;
	}
}
