/* Global navigation polish: compact header, useful desktop dropdowns, and mobile accordion behavior. */
#navbar .nav-in {
	display: flex;
	align-items: center;
	min-width: 0;
}

#navbar .logo {
	min-width: 0;
	flex: 0 1 auto;
}

html body #navbar .nav-links > li > a::after,
html body #navbar .primary-menu-panel .nav-links a::after {
	content: none !important;
	display: none !important;
}

#navbar .submenu-toggle {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 0;
	color: inherit;
	background: transparent;
	border: 0;
	cursor: pointer;
}

#navbar .submenu-toggle-icon {
	display: block;
	width: 8px;
	height: 8px;
	border-right: 1.75px solid currentColor;
	border-bottom: 1.75px solid currentColor;
	transform: rotate(45deg) translate(-2px, -2px);
	transition: transform .18s ease;
}

#navbar .submenu-open > .submenu-toggle .submenu-toggle-icon {
	transform: rotate(225deg) translate(-1px, -1px);
}

#navbar .submenu-toggle:focus-visible {
	outline: 3px solid rgba(100, 165, 45, .62);
	outline-offset: 2px;
}

/* Desktop navigation: restrained top-level links and readable multi-column dropdowns. */
@media (min-width: 1101px) {
	#navbar .primary-menu-panel {
		display: flex !important;
		align-items: center;
		margin-left: auto;
	}

	#navbar .primary-menu-panel > .nav-links {
		display: flex !important;
		align-items: center;
		gap: clamp(6px, .8vw, 14px) !important;
		overflow: visible !important;
	}

	#navbar .primary-menu-panel > .nav-links > li {
		display: flex;
		align-items: center;
		position: relative;
	}

	html body #navbar .primary-menu-panel > .nav-links > li > a {
		min-height: 72px;
		padding: 0 2px;
		color: #c8d7e8 !important;
		font-size: 14.5px;
		font-weight: 620;
		letter-spacing: 0;
		white-space: nowrap;
	}

	html body #navbar .primary-menu-panel > .nav-links > li:hover > a,
	html body #navbar .primary-menu-panel > .nav-links > li:focus-within > a,
	html body #navbar .primary-menu-panel > .nav-links > .current-menu-item > a,
	html body #navbar .primary-menu-panel > .nav-links > .current-menu-ancestor > a {
		color: #ffffff !important;
		box-shadow: inset 0 -2px #64a52d;
	}

	#navbar .primary-menu-panel > .nav-links > li > .submenu-toggle {
		width: 44px;
		height: 44px;
		margin-left: -1px;
		color: #9fb7d0;
	}

	#navbar .primary-menu-panel > .nav-links > li:hover > .submenu-toggle,
	#navbar .primary-menu-panel > .nav-links > li:focus-within > .submenu-toggle,
	#navbar .primary-menu-panel > .nav-links > li.submenu-open > .submenu-toggle {
		color: #ffffff;
	}

	html body #navbar .primary-menu-panel > .nav-links > li > .sub-menu {
		display: grid !important;
		position: absolute !important;
		top: calc(100% + 1px) !important;
		left: 0 !important;
		z-index: 20;
		min-width: 310px;
		margin: 0 !important;
		padding: 12px !important;
		gap: 2px;
		background: #ffffff !important;
		border: 1px solid #dce4ec !important;
		border-radius: 6px !important;
		box-shadow: 0 22px 55px rgba(3, 11, 26, .2) !important;
		opacity: 0 !important;
		visibility: hidden !important;
		pointer-events: none;
		transform: translateY(7px) !important;
	}

	html body #navbar .primary-menu-panel > .nav-links > li:hover > .sub-menu,
	html body #navbar .primary-menu-panel > .nav-links > li:focus-within > .sub-menu,
	html body #navbar .primary-menu-panel > .nav-links > li.submenu-open > .sub-menu {
		opacity: 1 !important;
		visibility: visible !important;
		pointer-events: auto;
		transform: translateY(0) !important;
	}

	html body #navbar .primary-menu-panel > .nav-links > .cq-nav-mega > .sub-menu {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		left: 50% !important;
		width: 620px;
		transform: translate(-50%, 7px) !important;
	}

	html body #navbar .primary-menu-panel > .nav-links > .cq-nav-mega:hover > .sub-menu,
	html body #navbar .primary-menu-panel > .nav-links > .cq-nav-mega:focus-within > .sub-menu,
	html body #navbar .primary-menu-panel > .nav-links > .cq-nav-mega.submenu-open > .sub-menu {
		transform: translate(-50%, 0) !important;
	}

	html body #navbar .primary-menu-panel > .nav-links > .cq-nav-industries > .sub-menu {
		grid-template-columns: repeat(3, minmax(0, 1fr));
		width: 790px;
	}

	html body #navbar .primary-menu-panel > .nav-links > .cq-nav-resources > .sub-menu {
		left: auto !important;
		right: 0 !important;
		width: 330px;
	}

	html body #navbar .primary-menu-panel .sub-menu a {
		display: flex !important;
		align-items: center;
		min-height: 46px;
		padding: 9px 12px !important;
		color: #142b45 !important;
		background: transparent !important;
		border: 0 !important;
		border-radius: 3px !important;
		font-size: 14px;
		font-weight: 590;
		line-height: 1.3;
		white-space: normal;
	}

	html body #navbar .primary-menu-panel .sub-menu a:hover,
	html body #navbar .primary-menu-panel .sub-menu a:focus-visible {
		color: #234f18 !important;
		background: #f0f7eb !important;
		outline: 2px solid rgba(100, 165, 45, .42);
		outline-offset: -2px;
	}

	#navbar .menu-toggle,
	#navbar .mobile-nav-actions {
		display: none !important;
	}
}

/* Mobile and tablet navigation: full-width drawer with collapsed, separately controlled submenus. */
@media (max-width: 1100px) {
	:root {
		--cq-header-nav-height: 64px;
	}

	body {
		--cq-nav-panel-top: var(--cq-header-nav-height);
	}

	body.has-header-contact-strip {
		--cq-nav-panel-top: calc(var(--cq-header-contact-strip-height, 34px) + var(--cq-header-nav-height));
	}

	body.has-webinar-announcement-bar {
		--cq-nav-panel-top: calc(var(--cq-webinar-bar-height, 44px) + var(--cq-header-nav-height));
	}

	body.has-webinar-announcement-bar.has-header-contact-strip {
		--cq-nav-panel-top: calc(var(--cq-webinar-bar-height, 44px) + var(--cq-header-contact-strip-height, 34px) + var(--cq-header-nav-height));
	}

	body.admin-bar {
		--cq-nav-panel-top: calc(32px + var(--cq-header-nav-height));
	}

	body.admin-bar.has-header-contact-strip {
		--cq-nav-panel-top: calc(32px + var(--cq-header-contact-strip-height, 34px) + var(--cq-header-nav-height));
	}

	body.admin-bar.has-webinar-announcement-bar {
		--cq-nav-panel-top: calc(32px + var(--cq-webinar-bar-height, 44px) + var(--cq-header-nav-height));
	}

	body.admin-bar.has-webinar-announcement-bar.has-header-contact-strip {
		--cq-nav-panel-top: calc(32px + var(--cq-webinar-bar-height, 44px) + var(--cq-header-contact-strip-height, 34px) + var(--cq-header-nav-height));
	}

	html body #navbar {
		width: 100% !important;
		max-width: none !important;
	}

	html body #navbar .nav-in {
		width: calc(100% - 24px) !important;
		height: var(--cq-header-nav-height) !important;
		margin-inline: auto !important;
		gap: 12px !important;
	}

	#navbar .logo {
		flex: 0 1 auto !important;
		max-width: calc(100% - 60px) !important;
		overflow: hidden;
	}

	html body #navbar .site-logo-img {
		width: auto !important;
		height: auto !important;
		max-width: min(210px, calc(100vw - 96px)) !important;
		max-height: 46px !important;
		object-fit: contain;
	}

	html body #navbar .nav-acts {
		display: none !important;
	}

	html body #navbar .menu-toggle {
		display: inline-flex !important;
		align-items: center !important;
		justify-content: center !important;
		flex: 0 0 46px !important;
		width: 46px !important;
		height: 46px !important;
		min-width: 46px !important;
		min-height: 46px !important;
		margin-left: auto !important;
		padding: 0 !important;
		color: #ffffff !important;
		background: rgba(255, 255, 255, .08) !important;
		border: 1px solid rgba(255, 255, 255, .2) !important;
		border-radius: 6px !important;
		box-shadow: none !important;
	}

	html body #navbar .menu-toggle > .menu-toggle-bars,
	html body #navbar .menu-toggle-bars i {
		background: transparent !important;
	}

	html body #navbar .menu-toggle-bars i {
		background: #ffffff !important;
	}

	html body #navbar .primary-menu-panel,
	html body #navbar .primary-menu-panel.open {
		position: fixed !important;
		top: var(--cq-nav-panel-top) !important;
		right: 0 !important;
		bottom: auto !important;
		left: 0 !important;
		z-index: 40 !important;
		width: 100% !important;
		height: calc(100dvh - var(--cq-nav-panel-top)) !important;
		max-height: calc(100dvh - var(--cq-nav-panel-top)) !important;
		margin: 0 !important;
		padding: 8px 18px 24px !important;
		overflow-y: auto !important;
		overscroll-behavior: contain;
		background: #06172e !important;
		border: 0 !important;
		border-top: 1px solid rgba(100, 165, 45, .22) !important;
		border-radius: 0 !important;
		box-shadow: 0 24px 50px rgba(3, 11, 26, .34) !important;
	}

	html body #navbar .primary-menu-panel {
		display: none !important;
	}

	html body #navbar .primary-menu-panel.open {
		display: block !important;
	}

	html body #navbar .primary-menu-panel.open::before {
		content: none !important;
		display: none !important;
	}

	html body #navbar .primary-menu-panel > .nav-links {
		display: grid !important;
		width: 100% !important;
		margin: 0 !important;
		padding: 0 !important;
		gap: 0 !important;
		background: transparent !important;
		border: 0 !important;
		border-radius: 0 !important;
		box-shadow: none !important;
		overflow: visible !important;
	}

	html body #navbar .primary-menu-panel > .nav-links > li {
		display: grid !important;
		grid-template-columns: minmax(0, 1fr) 48px;
		align-items: center;
		width: 100% !important;
		margin: 0 !important;
		padding: 0 !important;
		border: 0 !important;
		border-bottom: 1px solid rgba(216, 225, 234, .12) !important;
	}

	html body #navbar .primary-menu-panel > .nav-links > li:not(.menu-item-has-children) > a {
		grid-column: 1 / -1;
	}

	html body #navbar .primary-menu-panel > .nav-links > li > a {
		display: flex !important;
		align-items: center !important;
		justify-content: flex-start !important;
		width: 100% !important;
		min-height: 58px !important;
		padding: 13px 2px !important;
		color: #edf3ff !important;
		background: transparent !important;
		border: 0 !important;
		border-radius: 0 !important;
		font-size: 17px !important;
		font-weight: 640 !important;
		line-height: 1.25 !important;
		letter-spacing: 0 !important;
		text-decoration: none !important;
		text-align: left !important;
	}

	html body #navbar .primary-menu-panel > .nav-links > li > a:hover,
	html body #navbar .primary-menu-panel > .nav-links > li > a:focus-visible,
	html body #navbar .primary-menu-panel > .nav-links > .current-menu-item > a,
	html body #navbar .primary-menu-panel > .nav-links > .current-menu-ancestor > a {
		color: #ffffff !important;
		background: transparent !important;
		box-shadow: inset 3px 0 #64a52d;
		outline: 0 !important;
		padding-left: 12px !important;
	}

	#navbar .primary-menu-panel > .nav-links > li > .submenu-toggle {
		grid-column: 2;
		grid-row: 1;
		width: 46px;
		height: 46px;
		color: #b7c9dc;
		border-radius: 4px;
	}

	#navbar .primary-menu-panel > .nav-links > li > .submenu-toggle:hover,
	#navbar .primary-menu-panel > .nav-links > li > .submenu-toggle:focus-visible {
		color: #ffffff;
		background: rgba(255, 255, 255, .07);
	}

	html body #navbar .primary-menu-panel .nav-links > li > .sub-menu {
		display: none !important;
		position: static !important;
		grid-column: 1 / -1;
		width: 100% !important;
		min-width: 0 !important;
		margin: 0 !important;
		padding: 0 0 12px 14px !important;
		gap: 0 !important;
		background: transparent !important;
		border: 0 !important;
		border-radius: 0 !important;
		box-shadow: none !important;
		opacity: 1 !important;
		visibility: visible !important;
		transform: none !important;
	}

	html body #navbar .primary-menu-panel .nav-links > li.submenu-open > .sub-menu {
		display: grid !important;
	}

	html body #navbar .primary-menu-panel .sub-menu li {
		width: 100% !important;
		margin: 0 !important;
		border: 0 !important;
	}

	html body #navbar .primary-menu-panel .sub-menu a {
		display: flex !important;
		align-items: center !important;
		justify-content: flex-start !important;
		width: 100% !important;
		min-height: 46px !important;
		padding: 10px 12px 10px 17px !important;
		color: #c5d5e6 !important;
		background: transparent !important;
		border: 0 !important;
		border-left: 2px solid rgba(100, 165, 45, .38) !important;
		border-radius: 0 !important;
		font-size: 15px !important;
		font-weight: 500 !important;
		line-height: 1.35 !important;
		text-decoration: none !important;
		text-align: left !important;
	}

	html body #navbar .primary-menu-panel .sub-menu a:hover,
	html body #navbar .primary-menu-panel .sub-menu a:focus-visible,
	html body #navbar .primary-menu-panel .sub-menu a[aria-current="page"] {
		color: #ffffff !important;
		background: rgba(255, 255, 255, .06) !important;
		border-left-color: #64a52d !important;
		outline: 0 !important;
	}

	html body #navbar .mobile-nav-actions {
		display: grid !important;
		gap: 10px !important;
		margin: 18px 0 0 !important;
		padding: 18px 0 0 !important;
		border-top: 1px solid rgba(216, 225, 234, .14) !important;
	}

	html body #navbar .mobile-nav-actions a {
		display: inline-flex !important;
		align-items: center !important;
		justify-content: center !important;
		width: 100% !important;
		min-height: 50px !important;
		padding: 12px 16px !important;
		border-radius: 6px !important;
		font-size: 15px !important;
		font-weight: 700 !important;
		text-align: center;
	}

	body.nav-open {
		overflow: hidden !important;
	}

	body.nav-open #cq-chat-widget {
		opacity: 0 !important;
		visibility: hidden !important;
		pointer-events: none !important;
	}
}

@media (max-width: 782px) {
	body.admin-bar {
		--cq-nav-panel-top: calc(46px + var(--cq-header-nav-height));
	}

	body.admin-bar.has-header-contact-strip {
		--cq-nav-panel-top: calc(46px + var(--cq-header-contact-strip-height, 34px) + var(--cq-header-nav-height));
	}

	body.admin-bar.has-webinar-announcement-bar {
		--cq-nav-panel-top: calc(46px + var(--cq-webinar-bar-height, 64px) + var(--cq-header-nav-height));
	}

	body.admin-bar.has-webinar-announcement-bar.has-header-contact-strip {
		--cq-nav-panel-top: calc(46px + var(--cq-webinar-bar-height, 64px) + var(--cq-header-contact-strip-height, 34px) + var(--cq-header-nav-height));
	}
}

@media (max-width: 360px) {
	html body #navbar .nav-in {
		width: calc(100% - 20px) !important;
		gap: 8px !important;
	}

	html body #navbar .site-logo-img {
		max-width: min(180px, calc(100vw - 84px)) !important;
	}

	html body #navbar .primary-menu-panel,
	html body #navbar .primary-menu-panel.open {
		padding-inline: 14px !important;
	}
}

@media (prefers-reduced-motion: reduce) {
	#navbar .submenu-toggle-icon,
	#navbar .sub-menu {
		transition: none !important;
	}
}
