﻿/**
 * Site-wide header shell — synced from news list layout.
 */


:root {
	--qng-site-header-pad-x: 36px;
	--qng-site-header-logo-offset: -14px;
	--qng-header-spacer: 1.66rem;
}

html {
	overflow-anchor: none;
}

/*
 * Fixed header: JS sets each page banner margin-top so its top aligns with header bottom.
 * .height stays in templates but has zero size (legacy spacer — do not give it height).
 */
body {
	display: flex;
	flex-direction: column;
	margin: 0 !important;
	padding: 0 !important;
}

body .height {
	display: block !important;
	width: 100% !important;
	box-sizing: border-box !important;
	height: 0 !important;
	min-height: 0 !important;
	max-height: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	background: transparent !important;
	overflow: hidden !important;
	line-height: 0 !important;
	font-size: 0 !important;
}

body > .banner,
body > .banner.qng-home-banner-bs,
body > .fenbanner,
body > .fenbanner.qng-fenbanner,
body > .page_banner,
body > .page_banner.qng-page-banner,
body > .height ~ .banner,
body > .height ~ .banner.qng-home-banner-bs,
body > .height ~ .fenbanner,
body > .height ~ .fenbanner.qng-fenbanner,
body > .height ~ .page_banner,
body > .height ~ .page_banner.qng-page-banner {
	margin-top: 0 !important;
	padding-top: 0 !important;
}

body.qng-body-home .banner.qng-home-banner-bs {
	position: relative;
	z-index: 1;
}

body > header,
body header {
	width: 100% !important;
	padding: 0 !important;
	background: #fff !important;
	box-shadow: none !important;
	border-bottom: 1px solid rgba(4, 79, 172, 0.2) !important;
	position: fixed !important;
	z-index: 99999999999 !important;
}

body header .header_top.qng-front-header-top {
	background: #095fa8 !important;
	line-height: 1.2 !important;
}

html {
	margin: 0 !important;
}

body > header,
body header {
	top: 0 !important;
	left: 0 !important;
	right: 0 !important;
	margin: 0 !important;
}

body header .header_top,
body header .header_top.qng-front-header-top {
	margin-top: 0 !important;
	padding-top: 0 !important;
}

body header .top_section .main #logo {
	margin: .27rem 0 .25rem !important;
	margin-left: var(--qng-site-header-logo-offset) !important;
}

@media (min-width: 993px) {
	body header #menu-mobile.hidden_web,
	body header .qng-mob-header-strip.hidden_web {
		display: none !important;
	}
}

/* Hidden search overlay must not intercept header clicks. */
body header .search-box:not(.is-visible) {
	pointer-events: none !important;
}

body header .search-box.is-visible {
	pointer-events: auto !important;
}

body .header_top .container,
body .top_section .container,
body .topW .container,
body .topW .container.qng-top-bar-inner {
	width: 100% !important;
	max-width: 1600px !important;
	margin-left: auto !important;
	margin-right: auto !important;
	padding-left: var(--qng-site-header-pad-x) !important;
	padding-right: var(--qng-site-header-pad-x) !important;
	box-sizing: border-box !important;
}

body header .header_top.qng-front-header-top > .container {
	display: flex !important;
	flex-wrap: nowrap !important;
	align-items: center !important;
	justify-content: space-between !important;
	gap: 12px 20px !important;
	min-height: 50px !important;
	line-height: 1.2 !important;
}

body header .header_top.qng-front-header-top .word {
	float: none !important;
	width: auto !important;
	max-width: none !important;
	flex: 1 1 auto !important;
	min-width: 0 !important;
	margin: 0 !important;
	margin-left: var(--qng-site-header-logo-offset) !important;
	display: flex !important;
	align-items: center !important;
	text-transform: none !important;
}

body header .header_top.qng-front-header-top .qng-head-top-word-list {
	justify-content: flex-start !important;
}

body header .header_top.qng-front-header-top .qng-top-contact-social {
	float: none !important;
	flex: 0 0 auto !important;
	width: auto !important;
	max-width: none !important;
	margin: 0 !important;
	margin-left: auto !important;
	display: inline-flex !important;
	flex-wrap: nowrap !important;
	align-items: center !important;
	justify-content: flex-end !important;
	line-height: 1.2 !important;
}

body header .header_top.qng-front-header-top > .container > ul.contact_t {
	display: none !important;
}

@media (max-width: 1200px) {
	body {
		--qng-site-header-pad-x: 20px;
		--qng-site-header-logo-offset: -8px;
	}

	body .header_top .container,
	body .top_section .container,
	body .topW .container {
		padding-left: var(--qng-site-header-pad-x) !important;
		padding-right: var(--qng-site-header-pad-x) !important;
	}

	body header .top_section .main #logo {
		padding-right: 20px !important;
	}
}

@media (max-width: 768px) {
	body {
		--qng-site-header-logo-offset: 0;
	}

	body .top_section .container {
		padding-left: 0 !important;
		padding-right: 0 !important;
	}

	body header .header_top.qng-front-header-top .word {
		margin-left: 0 !important;
	}

	body header .top_section .main #logo {
		margin-left: 0 !important;
		padding-right: 16px !important;
	}
}

body .topW.qng-top-bar .head_con {
	display: flex !important;
	flex-wrap: wrap !important;
	align-items: center !important;
	gap: 8px 24px !important;
	padding: 0 !important;
	margin: 0 !important;
	list-style: none !important;
}

body .topW.qng-top-bar .head_con a {
	color: #fff !important;
	text-decoration: none !important;
}

body .topW.qng-top-bar .container.qng-top-bar-inner {
	display: flex !important;
	flex-wrap: nowrap !important;
	align-items: center !important;
	justify-content: space-between !important;
}

body .topW.qng-top-bar .qng-top-bar-left {
	margin-left: var(--qng-site-header-logo-offset) !important;
}

body .topW.qng-top-bar .qng-top-bar-right {
	margin-left: auto !important;
}

body header .top_section .main {
	display: flex !important;
	justify-content: space-between !important;
	align-items: center !important;
	width: 100% !important;
}

body header .top_section .main #logo {
	flex: 0 0 auto !important;
	margin: .27rem 0 .25rem !important;
	margin-right: 0 !important;
	margin-left: var(--qng-site-header-logo-offset) !important;
	padding-right: 32px !important;
}

body header .top_section .main #logo h1 {
	margin: 0 !important;
	padding: 0 !important;
}

body header .top_section .main #logo img {
	display: block !important;
	max-height: 0.64rem !important;
}

body header .main-menu {
	margin: 0 !important;
	padding: 0 !important;
	list-style: none !important;
}

body header .main-menu > li {
	list-style: none !important;
}

@media (min-width: 993px) {
	body header .main-menu > li {
		display: inline-block !important;
		vertical-align: middle !important;
	}
}

body header .main-menu > li > a {
	display: block !important;
	color: inherit !important;
	text-decoration: none !important;
}

body header .main-menu > li:not(.qng-product-cat-dropdown) .sub-menu,
body header .main-menu > li:not(.qng-product-cat-dropdown) .children {
	list-style: none !important;
	padding: 10px 0 !important;
	margin: 0 !important;
}

@media (min-width: 993px) {
	body header .top_section .nav_section {
		flex: 1 1 0% !important;
		min-width: 0 !important;
		display: flex !important;
		justify-content: flex-end !important;
		align-items: center !important;
		width: auto !important;
		max-width: none !important;
	}

	body header .top_section .nav_r {
		display: flex !important;
		align-items: center !important;
		flex-wrap: nowrap !important;
		flex: 0 1 auto !important;
		width: auto !important;
		max-width: 100% !important;
		min-width: 0 !important;
		margin-left: auto !important;
		align-self: center !important;
	}

	body header .top_section .main #logo {
		align-self: center !important;
		display: flex !important;
		align-items: center !important;
	}

	body header .header-navigation {
		position: static !important;
		width: auto !important;
		height: auto !important;
		overflow: visible !important;
		visibility: visible !important;
		margin: 0 !important;
		z-index: auto !important;
	}

	body header .header-navigation .main-navigation {
		position: static !important;
		overflow: visible !important;
		width: auto !important;
		height: auto !important;
		transform: none !important;
		background: transparent !important;
		box-shadow: none !important;
		padding: 0 !important;
	}

	body header .header-navigation .main-navigation-inner {
		height: auto !important;
		overflow: visible !important;
		padding: 0 !important;
		margin: 0 !important;
	}

	body header #menu-main-menu.main-menu,
	body header #qng-primary-desktop.qng-menu,
	body header .header-navigation ul.main-menu,
	body header .header-navigation ul.qng-menu {
		display: flex !important;
		flex-wrap: nowrap !important;
		align-items: center !important;
		flex: 0 1 auto !important;
		width: auto !important;
		max-width: 100% !important;
		min-width: 0 !important;
	}

	body header #menu-main-menu.main-menu > li,
	body header #qng-primary-desktop.qng-menu > li,
	body header .header-navigation ul.main-menu > li,
	body header .header-navigation ul.qng-menu > li {
		flex-shrink: 0 !important;
	}

	body header .nav_r > a.search-ico {
		margin-right: 16px !important;
		flex-shrink: 0 !important;
	}

	body header .nav_r > .quote {
		display: inline-block !important;
		margin-left: 12px !important;
		flex: 0 0 auto !important;
		width: fit-content !important;
		max-width: 100% !important;
		vertical-align: middle !important;
		background: #095fa8 !important;
		border-radius: 4px !important;
		overflow: hidden !important;
	}

	body header .quote a {
		display: inline-block !important;
		width: auto !important;
		background: transparent !important;
		padding: 0 12px !important;
		border-radius: 4px !important;
		line-height: 40px !important;
		color: #fff !important;
		font-size: 16px !important;
		text-transform: uppercase !important;
		white-space: nowrap !important;
		text-decoration: none !important;
	}

	body header .search-box {
		position: fixed !important;
		left: 0 !important;
		top: 0 !important;
		width: 100% !important;
		height: 100% !important;
		opacity: 0 !important;
		visibility: hidden !important;
		z-index: 9999992 !important;
		background-color: rgba(0, 0, 0, 0.75) !important;
		padding-top: 8% !important;
		pointer-events: none !important;
	}

	body header .search-box.is-visible {
		opacity: 1 !important;
		visibility: visible !important;
		pointer-events: auto !important;
	}

	body header .search-box .container {
		position: relative !important;
		width: 100% !important;
		max-width: 8rem !important;
		margin: 4em auto !important;
		padding: 0.3rem !important;
		background: #fff !important;
		border-radius: 0.25em !important;
		box-shadow: 0 0 20px rgba(0, 0, 0, 0.2) !important;
		box-sizing: border-box !important;
	}
}

/* Woo live region must not extend document scroll height at page bottom */
body > .widget_shopping_cart_live_region.screen-reader-text {
	position: fixed !important;
	left: -9999px !important;
	top: 0 !important;
	bottom: auto !important;
	margin: 0 !important;
	width: 1px !important;
	height: 1px !important;
	overflow: hidden !important;
	pointer-events: none !important;
	clip: auto !important;
	clip-path: none !important;
}

#footer {
	flex-shrink: 0;
	overflow: visible !important;
	overflow-y: visible !important;
	margin-bottom: 0 !important;
}

/* Cookie / mobile clearance — dark spacer inside footer (never white body gap) */
body.qng-cookie-consent-active #footer::after {
	content: "";
	display: block;
	flex-shrink: 0;
	height: calc(120px + env(safe-area-inset-bottom, 0px));
	background-color: #011b32;
}

@media (max-width: 900px) {
	body.qng-cookie-consent-active #footer::after {
		height: calc(160px + env(safe-area-inset-bottom, 0px));
	}
}

@media (max-width: 768px) {
	body.qng-cookie-consent-active #footer::after {
		height: calc(160px + 98px + env(safe-area-inset-bottom, 0px));
	}

	body.qng-cookie-consent-active .footer_bottom,
	#footer .footer_bottom {
		padding-bottom: 0 !important;
	}

	#footer::after {
		content: "";
		display: block;
		flex-shrink: 0;
		height: calc(98px + env(safe-area-inset-bottom, 0px));
		background-color: #011b32;
	}

	body.qng-cookie-consent-active #footer::after {
		height: calc(160px + 98px + env(safe-area-inset-bottom, 0px));
	}

	html.qng-cookie-consent-set #footer::after {
		height: calc(98px + env(safe-area-inset-bottom, 0px));
	}
}
