/* HEADER */

.HEADER {
	background: var(--dark-navy);
	height: 100%;
	transition: background 0.25s;
}

.HEADER .b-frame {
	padding-top: 0;
	padding-bottom: 0;
	height: 100%;
}

.HEADER .container {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: space-between;
	height: 100%;
}

.HEADER .logo {
	flex: 0 1 auto;
	width: 172rem;
}

.HEADER .nav-trigger {
	display: none;
	flex: 0 0 auto;
	width: 32rem;
	height: 32rem;
	background: url(../images/ui-menu.svg) no-repeat center / 32rem 32rem;
	text-indent: -9999rem;
	margin-right: -6rem;
}

.HEADER .nav-search {
	display: none;
	flex: 0 0 auto;
	width: 32rem;
	height: 32rem;
	background: url(../images/ui-search-light.svg) no-repeat center / 24rem 24rem;
	text-indent: -9999rem;
	margin: 0 16rem 0 auto;
}

.HEADER nav > ul > li > .b-button.alt-outline:not(:hover) {
	color: var(--primary-orange);
	box-shadow: inset 0 0 0 2rem var(--primary-orange);
}

.HEADER nav a:not(.b-button) {color: var(--dark-navy);}
.HEADER nav a:not(.b-button):hover {color: var(--green);}
.HEADER nav *::selection {background: transparent;}

.HEADER nav img {
	display: inline-block;
	vertical-align: middle;
	width: auto;
	height: 24rem;
}

.HEADER nav > ul {
	display: flex;
	align-items: center;
	justify-content: flex-end;
}

.HEADER nav > ul > li {
	flex: 0 0 auto;
	position: relative;
	margin: 0 0 0 32rem;
	font-size: 18rem;
	line-height: 96rem;
	font-weight: 600;
}

.HEADER nav > ul > li > .a {
	color: var(--white);
	cursor: default;
	position: relative;
	display: block;
	cursor: pointer;
}

.HEADER nav > ul > li > a:not(.b-button)::before,
.HEADER nav > ul > li > .a::before {
	content: "";
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	height: 4rem;
	background: transparent;
	transition: background-color 0.25s;
}

.HEADER nav > ul > li > .a::after {
	content: "";
	display: inline-block;
	vertical-align: middle;
	width: 6rem;
	height: 6rem;
	margin: -8rem 0 0 8rem;
	border: 1rem solid currentColor;
	border-width: 0 1.5rem 1.5rem 0;
	transform: rotate(45deg);
}

.HEADER nav > ul > li:last-child .a::after {margin-top: -4rem !important;}
.HEADER nav > ul > li > a:not(.b-button) {color: var(--white);}
.HEADER nav > ul > li > a:not(.b-button):hover {color: var(--light-green);}



/* submenu */

.HEADER nav > ul > li > ul {
	display: block !important;
	position: absolute;
	top: 100%;
	left: -32rem;
	background: var(--white);
	border-radius: 16rem;
	line-height: 1.5;
	box-shadow: 16rem 16rem 32rem rgba(48, 66, 75, 0.1);
	opacity: 0;
	transform: translate(0, 32rem);
	pointer-events: none;
	transition: opacity 0.25s, transform 0.25s;
}

.HEADER nav > ul > li:hover .a,
.HEADER nav > ul > li:active .a,
.HEADER nav > ul > li:focus-within .a {
	color: var(--light-green);
}

.HEADER nav > ul > li:hover > .a::before,
.HEADER nav > ul > li:active > .a::before,
.HEADER nav > ul > li:focus-within > .a::before {
	background-color: var(--light-green);
}

.HEADER nav > ul > li:active > ul,
.HEADER nav > ul > li:focus-within > ul,
.HEADER nav > ul > li > ul:active {
	opacity: 1;
	transform: translate(0, 0);
	pointer-events: auto;
}

.HEADER nav > ul > li:last-child > ul {
	left: auto;
	right: -32rem;
}



/* dropdown */

.HEADER .dropdown > .a {
	text-transform: uppercase;
}

.HEADER .dropdown > ul {
	width: var(--col-3);
	line-height: 1.25;
}

.HEADER .dropdown > ul > li > a {
	display: block;
	font-size: 18rem;
	font-weight: 600;
	padding: 12rem 32rem;
	background: var(--white);
	transition: color 0.25s, background-color 0.25s;
}

.HEADER .dropdown > ul > li:first-child a {margin-top: 20rem;}
.HEADER .dropdown > ul > li:last-child a {margin-bottom: 20rem;}
.HEADER .dropdown > ul > li > a:hover {background-color: var(--light-grey);}

.HEADER .dropdown:focus-within {pointer-events: none;}



/* megamenu */

.HEADER .megamenu {
	position: static;
}

.HEADER .megamenu > ul {
	display: block;
	right: -32rem;
}

.HEADER .megamenu .wrapper {
	padding: 64rem;
	display: flex;
	width: 100%;
	box-sizing: border-box;
	position: relative;
	overflow: hidden;
	border-radius: 16rem;
}

.HEADER .megamenu .group {
	align-items: stretch;
	padding-right: 64rem;
	width: 100%;
}

.HEADER .megamenu .group:last-child {
	padding-right: 0;
}

.HEADER .megamenu .group.alt-green {
	padding-top: 32rem;
	width: var(--col-2);
	flex-shrink: 0;
}

.HEADER .megamenu .group li {
	margin: 32rem 0;
	break-inside: avoid-column;
}

.HEADER .megamenu .group p {
	margin: 32rem 0;
}

.HEADER .megamenu .group a:not(.b-button) {
	display: block;
	font-weight: 600;
}

.HEADER .megamenu .group .description {
	display: block;
	font-size: 16rem;
	font-weight: 400;
	text-wrap: balance;
}

.HEADER .megamenu .heading {
	border-bottom: 1rem solid var(--grey);
	padding-bottom: 8rem;
	margin-bottom: 32rem;
}

.HEADER .megamenu .heading a,
.HEADER .megamenu .heading .a {
	text-transform: uppercase;
	font-size: 14rem;
	font-weight: 500 !important;
	letter-spacing: 0.05em;
	color: var(--dark-grey);
}

.HEADER .megamenu .heading .a {
	cursor: default;
}

.HEADER .megamenu .button-label {
	font-weight: 500;
}

.HEADER .megamenu .b-button {
	margin-top: 24rem;
}

.HEADER .megamenu:focus-within {
	pointer-events: none;
}



/* variations */

.HEADER .megamenu[data-children="1"] {position: relative;}
.HEADER .megamenu[data-children="1"] > ul {width: 872rem; left: 50%; right: auto; margin-left: -436rem;}
.HEADER .megamenu[data-children="1"] .links {columns: 2;}

.HEADER .megamenu[data-children="2"] {position: relative;}
.HEADER .megamenu[data-children="2"] > ul {width: 872rem; left: 50%; right: auto; margin-left: -436rem;}
.HEADER .megamenu[data-children="2"]:nth-child(3) > ul {margin-left: -472rem;}



/* search */

.HEADER .search-container {
	width: 24rem;
	height: 96rem;
	position: relative;
}

.HEADER .search {
	position: absolute;
	top: 26rem;
	right: -8rem;
	width: 48rem;
	height: 48rem;
	line-height: 48rem;
	overflow: hidden;
}

.HEADER .search::after {
	content: '';
	position: absolute;
	top: 0;
	right: 8rem;
	width: 24rem;
	height: 48rem;
	background: url(../images/ui-search-light.svg) no-repeat center / 24rem 24rem;
	pointer-events: none;
}

.HEADER .search input {
	display: block;
	width: 280rem;
	height: 48rem;
	line-height: 48rem;
	font-size: 16rem;
	color: var(--black);
	background: var(--white);
	padding: 0 48rem 0 16rem;
	border: none;
	box-sizing: border-box;
	outline: none;
	box-shadow: none;
	opacity: 0;
	cursor: pointer;
	border-radius: 0;
	appearance: none;
	-webkit-appearance: none;
	-moz-appearance: none;
}

.HEADER .search button {
	position: absolute;
	top: 0;
	right: 0;
	width: 48rem;
	height: 48rem;
	padding: 0;
	background: none;
	border: none;
	outline: none;
	border-radius: 0;
	text-indent: -999rem;
	display: none;
	cursor: pointer;
}

.HEADER .search:focus-within {width: 280rem; cursor: default; transition: width 0.25s;}
.HEADER .search:focus-within::after {background-image: url(../images/ui-search.svg); opacity: 1;}
.HEADER .search:focus-within input {opacity: 1; cursor: initial; transition: opacity 0.25s;}
.HEADER .search:focus-within button {display: block;}



/* nav open */

#toggle-nav:checked ~ .b-page .HEADER .nav-trigger {background-image: url(../images/ui-close.svg);}

/* fix to make sure the nav can always be closed */

#toggle-nav:checked ~ .b-page .HEADER .nav-trigger {display: block;}
#toggle-nav:checked ~ .b-page .HEADER nav {display: none;}

@media screen and (max-width: 960px) {
	.HEADER .nav-trigger {display: block;}
	.HEADER .nav-search {display: block;}
	.HEADER .logo {width: 135rem;}
	.HEADER nav {display: none;}
}
