/**
 * Isolated header nav — replaces legacy float/110px-line-height/JS <b> arrow hacks.
 * Scoped to .site-header-nav to avoid fighting style.css patch-on-patch rules.
 */
@media (min-width: 769px) {
	.web_head .head_layer .layout {
		display: flex !important;
		align-items: center !important;
		flex-wrap: nowrap !important;
		justify-content: space-between !important;
		gap: 12px;
		min-width: 0;
	}

	.web_head .head_layer .layout::before,
	.web_head .head_layer .layout::after {
		content: none !important;
		display: none !important;
	}

	.web_head figure.logo {
		flex: 0 0 auto !important;
		float: none !important;
		margin: 0 !important;
		padding: 10px 0 !important;
		max-width: 185px;
	}

	.web_head figure.logo img {
		max-height: 70px !important;
		width: auto !important;
		height: auto !important;
		display: block;
	}

	/* ---- nav bar ---- */
	.web_head .site-header-nav {
		flex: 1 1 auto !important;
		min-width: 0 !important;
		float: none !important;
		display: flex !important;
		align-items: center !important;
		justify-content: flex-end !important;
		overflow: visible !important;
		padding: 0 !important;
		box-sizing: border-box !important;
	}

	.web_head .site-header-nav .site-menu {
		display: flex !important;
		flex: 1 1 auto !important;
		align-items: stretch !important;
		justify-content: space-between !important;
		width: 100% !important;
		min-width: 0 !important;
		margin: 0 !important;
		padding: 0 !important;
		list-style: none !important;
		float: none !important;
		position: relative;
		z-index: 100;
	}

	.web_head .site-header-nav .site-menu::before,
	.web_head .site-header-nav .site-menu::after {
		content: none !important;
		display: none !important;
	}

	.web_head .site-header-nav .site-menu > li {
		flex: 1 1 0 !important;
		min-width: 0 !important;
		position: relative !important;
		display: block !important;
		float: none !important;
		line-height: normal !important;
		height: auto !important;
		perspective: none !important;
		vertical-align: top !important;
		text-align: center !important;
		overflow: visible !important;
	}

	.web_head .site-header-nav .site-menu > li > a {
		display: block !important;
		box-sizing: border-box !important;
		padding: 18px 6px !important;
		font-size: 14px !important;
		line-height: 1.25 !important;
		color: #333 !important;
		text-decoration: none !important;
		text-transform: uppercase !important;
		white-space: nowrap !important;
		overflow: hidden !important;
		text-overflow: ellipsis !important;
		position: relative !important;
		vertical-align: top !important;
	}

	.web_head .site-header-nav .site-menu > li > a em {
		display: inline !important;
		font-style: normal !important;
	}

	/* kill legacy underline + JS arrow */
	.web_head .site-header-nav .site-menu > li > a:after,
	.web_head .site-header-nav .site-menu > li > a > b,
	.web_head .site-header-nav .site-menu > li > b {
		display: none !important;
		content: none !important;
	}

	.web_head .site-header-nav .site-menu > li.menu-has-child > a {
		padding-right: 16px !important;
	}

	.web_head .site-header-nav .site-menu > li.menu-has-child > a::before {
		content: '\f107' !important;
		display: inline-block !important;
		font-family: FontAwesome !important;
		font-style: normal !important;
		font-weight: normal !important;
		position: absolute !important;
		right: 2px !important;
		top: 50% !important;
		transform: translateY(-50%) !important;
		font-size: 11px !important;
		line-height: 1 !important;
		color: #999 !important;
		width: auto !important;
		height: auto !important;
		background: none !important;
	}

	.web_head .site-header-nav .site-menu > li.nav-current > a,
	.web_head .site-header-nav .site-menu > li:hover > a {
		color: #d61920 !important;
	}

	/* ---- level-1 dropdown ---- */
	.web_head .site-header-nav .site-menu > li > ul {
		position: absolute !important;
		left: 0 !important;
		top: 100% !important;
		right: auto !important;
		width: 240px !important;
		min-width: 200px !important;
		margin: 0 !important;
		padding: 6px 0 !important;
		list-style: none !important;
		background: #fff !important;
		border: 1px solid #ddd !important;
		box-shadow: 0 6px 16px rgba(0, 0, 0, 0.12) !important;
		opacity: 0 !important;
		visibility: hidden !important;
		transform: none !important;
		transition: opacity 0.15s ease, visibility 0.15s ease !important;
		z-index: 1000 !important;
		text-align: left !important;
		float: none !important;
		display: block !important;
		box-sizing: border-box !important;
	}

	.web_head .site-header-nav .site-menu > li:hover > ul {
		opacity: 1 !important;
		visibility: visible !important;
	}

	/* ---- level-2 items ---- */
	.web_head .site-header-nav .site-menu > li > ul > li {
		display: block !important;
		float: none !important;
		position: relative !important;
		margin: 0 !important;
		padding: 0 16px !important;
		line-height: normal !important;
		text-align: left !important;
		width: auto !important;
	}

	.web_head .site-header-nav .site-menu > li > ul > li > a {
		display: block !important;
		padding: 10px 0 !important;
		font-size: 13px !important;
		line-height: 1.4 !important;
		color: #333 !important;
		text-transform: none !important;
		text-align: left !important;
		border-bottom: 1px solid #eee !important;
		white-space: nowrap !important;
		overflow: hidden !important;
		text-overflow: ellipsis !important;
		position: relative !important;
	}

	.web_head .site-header-nav .site-menu > li > ul > li:last-child > a {
		border-bottom: 0 !important;
	}

	.web_head .site-header-nav .site-menu > li > ul > li > a em {
		font-style: normal !important;
	}

	.web_head .site-header-nav .site-menu > li > ul > li > a:before,
	.web_head .site-header-nav .site-menu > li > ul > li > a:after,
	.web_head .site-header-nav .site-menu > li > ul > li > a > b {
		display: none !important;
		content: none !important;
	}

	.web_head .site-header-nav .site-menu > li > ul > li.menu-has-child > a {
		padding-right: 18px !important;
	}

	.web_head .site-header-nav .site-menu > li > ul > li.menu-has-child > a::before {
		content: '\f105' !important;
		display: block !important;
		font-family: FontAwesome !important;
		position: absolute !important;
		right: 0 !important;
		top: 50% !important;
		transform: translateY(-50%) !important;
		font-size: 12px !important;
		line-height: 1 !important;
		color: #999 !important;
		width: auto !important;
		height: auto !important;
		background: none !important;
		opacity: 1 !important;
		left: auto !important;
		margin: 0 !important;
	}

	.web_head .site-header-nav .site-menu > li > ul > li:hover > a {
		color: #d61920 !important;
	}

	/* ---- level-3 flyout ---- */
	.web_head .site-header-nav .site-menu > li > ul > li > ul {
		position: absolute !important;
		left: 100% !important;
		top: 0 !important;
		width: 210px !important;
		margin: 0 !important;
		padding: 6px 0 !important;
		list-style: none !important;
		background: #fff !important;
		border: 1px solid #ddd !important;
		box-shadow: 0 6px 16px rgba(0, 0, 0, 0.12) !important;
		opacity: 0 !important;
		visibility: hidden !important;
		transform: none !important;
		z-index: 1001 !important;
	}

	.web_head .site-header-nav .site-menu > li > ul > li:hover > ul {
		opacity: 1 !important;
		visibility: visible !important;
	}

	.web_head .site-header-nav .site-menu > li > ul > li > ul > li {
		display: block !important;
		padding: 0 16px !important;
	}

	.web_head .site-header-nav .site-menu > li > ul > li > ul > li > a {
		display: block !important;
		padding: 10px 0 !important;
		font-size: 13px !important;
		text-transform: none !important;
		border-bottom: 1px solid #eee !important;
	}

	.web_head .site-header-nav .btn--search {
		flex: 0 0 auto !important;
		margin-left: 8px !important;
	}

	/* sticky header overrides */
	.fixed-nav .site-header-nav .site-menu > li {
		line-height: normal !important;
	}

	.fixed-nav .site-header-nav .site-menu > li > a {
		padding-top: 14px !important;
		padding-bottom: 14px !important;
	}
}
