/*
 * Theme navigation styles
 *
 */ 

body > header nav {
	display: flex;
	justify-content: space-between;
	align-items: center;
	width: 100%;
	max-width: var(--z-container-medium-max-width);
	margin: 0 auto;
	padding: var(--z-header-nav-padding);
	gap: var(--z-padding-default);
	z-index: 1;
}
@media (min-width: 55rem) {
	body > header nav {
		--nav-width: 100%;
		--z-nav-bg-lines-offset: var(--nav-width);
		justify-content: flex-end;
		width: var(--nav-width);
		
	}
	header nav > button:first-of-type {
		order: 2;
	}
	header nav > button:last-of-type {
		order: 3;
	}

}
@media (max-width: 55rem) {
	body > header nav {
		--z-header-nav-padding: 2rem;		
	}
}
header nav > a {
	position: relative;
}
header nav > a img {
	width: 15rem;
	height: auto;
	display: block;
	box-shadow: 0 0.2rem 1rem 0 rgba(0,0,0,0.25);
	transition: all 250ms ease-in-out;
}
header nav > ul {
	list-style: none;
	padding-left: 0;
	display: flex;
	justify-content: flex-end;
	gap: 1px;
	font-family: var(--z-font-secondary);
	font-size: 2rem;
	font-weight: 500;
	text-transform: uppercase;
	margin: 0;
}
header nav > ul a,
header nav > ul a:visited {
	display: block;
	position: relative;
	color: var(--z-color-secondary);
	text-decoration: none;
	padding: calc(1rem + var(--z-padding-default)) 1.6rem;
	transition: all 150ms ease-in-out;
	text-shadow: 0 0 14px rgba(255,255,255,0.25);
}
header nav > ul a > span {
	display: block;
	position: relative;
	z-index: 2;
}
header nav > ul a:hover,
header nav > ul a:focus,
header nav > ul .current-menu-item a {
	color: var(--z-color-primary);
	text-decoration: none;;
	background-size: 100% 100%;
	text-shadow: 0 0 14px rgba(255,255,255,0);
}
header nav > ul a:hover:before,
header nav > ul a:focus:before,
header nav > ul .current-menu-item a:before {
	max-height: 100%;
}

ul.menu a i {
	font-size: 80%;
	opacity: 0.5;
	margin-right: 1.2rem;
	transform: translateY(-1px);
}


#searchbar { display: none; }


header nav > ul .search-open a span::after {
	font-family: var(--z-font-icon);
	content: "\f002";
	font-weight: 500;
	font-weight: 600;
}

button.menu-button {
	position: relative;
	display: none;
	/* width: var(--z-menu-icon-width); */
	height: var(--z-menu-icon-width);
	color: var(--z-nav-header-color);
	line-height: var(--z-menu-icon-width);
  	font-size: 3.3rem;
	cursor: pointer !important;
	background: transparent;
	border: 0;
	margin: 0;
	padding: 0;
	border-radius: 0;
	/* aspect-ratio: 1 / 1; */
	/* overflow: hidden; */
	transition: all 250ms ease-in-out;
	transform-origin: center center;
	z-index: 11;
}


/* Hamburger lines */
button.hamburger .hamburger-inner {
	cursor: pointer !important;
	display: block;
	left: 0;
}
button.hamburger .hamburger-inner::after,
button.hamburger .hamburger-inner::before {
	content: "";
	display: block;
}
button.hamburger .hamburger-inner,
button.hamburger .hamburger-inner::after,
button.hamburger .hamburger-inner::before {
	width: 4rem;
	height: 0.35rem;
	background-color: var(--z-nav-header-color);
	border-radius: 4px;
	position: relative;
	transition: all .15s ease-in-out;
}
button.hamburger .hamburger-inner::before {
	top: calc(-1rem - 0.15rem);
}
button.hamburger .hamburger-inner::after {
	bottom: calc(-1rem + 0.15rem);
}
.hamburger-text {
	font-size: 1.5rem;
	text-transform: uppercase;
	font-weight: 580;
}
.mobile-menu-open button.hamburger .hamburger-inner {
	transform: translate3d(0,0,0) rotate(135deg);
	transition-delay: 75ms;
}
.mobile-menu-open button.hamburger .hamburger-inner::before {
	transition-delay: 0s;
	opacity: 0;
}
.mobile-menu-open button.hamburger .hamburger-inner::after {
	transform: translate3d(0,-1.2rem,0) rotate(-270deg);
	transition-delay: 75ms;
}








.search-close .hamburger-inner,
.search-close .hamburger-inner::after,
.search-close .hamburger-inner::before {
	background-color: var(--search-close-btn-bg-color-hover);
}


/* Not shown by default */
button.menu-button {
	display: none;
}
/* Reposition on an open menu? */
.mobile-menu-open button.menu-button.menu-button-main {
	position: fixed;
	right: calc( 12px + var(--z-container-padding-side));
	right: unset;
	left: var(--z-menu-icon-left-position);
	top: var(--z-menu-icon-top-position);
}
/* Hide help button and logo when the mobile menu is open */
.mobile-menu-open .menu-button.menu-button-help,
.mobile-menu-open header .logo {
	display: none;
}


@media (max-width: 99999rem) {
	button.menu-button {
		display: flex;
		position: relative;
		justify-content: start;
		align-items: center;
		gap: 1rem;
	}
	header ul.menu {
		display: none;
	}
	header a.logo {
		translate: 0px -9.4rem;
	}
	body header a.logo::before {
		opacity: 1;
	}
	header a.logo img {
		width: 12rem;
	}
}

button.menu-button:hover,
button.menu-button:focus {
	--z-nav-header-color: var(--z-color-black);
	background: transparent;
}
body.has-sticky-header header a.logo {
	translate: 0px -9.4rem;		
}
body.has-sticky-header header a.logo img {
	width: 12rem;
}
/* body.has-sticky-header header a.logo::before { */
header a.logo::before {
	content: "";
	display: block;
	position: absolute;
	width: 100%;
	background: #fff;
	height: 12.4rem;
	height: 59%;
	left: 0;
	top: 0;
	opacity: 0;
	transition: opacity 250ms ease-in-out;
	pointer-events: none;
}
body.has-sticky-header header a.logo::before {
	opacity: 1;
}




.mobile-menu-open nav {
	position: fixed;
	display: flex;
	flex-wrap: nowrap;
	width: 100%;
	left: 0;
	top: 0;
	z-index: 10;
	padding-top: 10rem;
	padding-bottom: 20rem;
	flex-direction: column;
	justify-content: start;
	align-items: center;
	row-gap: 5rem;
	min-height: 100vh;
	max-height: 100vh;
	max-width: unset;
	overflow-x: hidden;
	overflow-y: scroll;
}
.mobile-menu-open nav::before {
	content: "";
	position: fixed;
	display: block;
	width: 100%;
	height: 8rem;
	left: 0;
	top: 0;
	z-index: 1;
	background: var(--z-body-bg-menu-open);
}
.mobile-menu-open nav a.logo {
	display: none;
}
.mobile-menu-open header ul.menu {
	display: flex;
}
.mobile-menu-open header ul.menu-social-media {
	order: 1;
}
.mobile-menu-open header ul.menu-meta {
	order: 3;
}
.mobile-menu-open header .user-meta {
	display: none;
}
.mobile-menu-open header ul.menu-main {
	display: flex;
	position: fixed;
	background: var(--z-body-bg-menu-open);
	border: none;
	width: 100%;
	text-align: center;
	top: 0px;
	bottom: 0;
	left: 0;
	right: 0;
	flex-direction: column;
	justify-content: start;
	align-items: center;
	padding: 12rem 3rem 12rem 3rem;
	min-height: 100vh;
	overflow-y: auto;
}
.mobile-menu-open header ul.menu-main li {
	margin-bottom: 1rem;
	width: 100%;
	max-width: 40rem;
	text-align: left;
}
.mobile-menu-open header > nav > ul.menu-main  ul {
	margin-top: 0;
	display: flex;
	position: relative;
	flex-direction: column;
	list-style: none;
}
.mobile-menu-open header > nav > ul > li.current-menu-ancestor ul,
.mobile-menu-open header > nav > ul > li.current_page_item ul {
	background: var(--z-color-grey-warm-soft);
}
.mobile-menu-open header nav > ul a,
.mobile-menu-open header nav > ul a:visited {
	color: var(--z-color-black);
	padding: 1rem 0;
}
.mobile-menu-open header nav > ul ul a,
.mobile-menu-open header nav > ul ul a:visited {
	padding: 1rem 0 0 2rem;
}
.mobile-menu-open header nav > ul a:hover {
	color: var(--z-color-primary);
	font-weight: 600;
}
/*
.mobile-menu-open header ul.menu-main ul li {
	margin-bottom: 0;
}
.mobile-menu-open header > nav ul:last-of-type li li > a:not(.logo) {
	color: var(--z-color-primary);
	font-weight: 400;
	padding: 0.2rem 2rem;
	font-size: 1.5rem;
}
.mobile-menu-open header > nav ul:last-of-type li:hover li > a:not(.logo) {
	color: var(--z-color-white);
}
.mobile-menu-open header > nav ul:last-of-type li:hover li:hover > a:not(.logo) {
	color: var(--z-color-primary);
}
*/


/* .mobile-menu-open nav.menu-bar ul a {
	text-decoration: none;
	color: var(--z-color-white);
	transition: all 250ms ease-in-out;
	cursor: pointer;
	font-size: 2rem;
}

.mobile-menu-open nav.menu-bar ul a:hover {
	text-decoration: underline dashed;
	color: var(--z-color-secondary);
	font-size: 2rem;
}
 */






/* Search
–––––––––––––––––––––––––––––––––––––––––––––––––– */
#searchbar {
	position: fixed;
	z-index: 9;
	width: 100%;
	height: 100vh;
	left: 0;
	right: 0;
	top: 0;
	bottom: 0;
	padding-top: 4rem;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	min-width: 20rem;
	box-shadow: unset;
	background-color: var(--z-color-primary);
	transition: all 250ms ease-in-out;

	display: none;
	opacity: 0;
	pointer-events: none;
}
.search-bar-open #searchbar{
	display: flex;
	opacity: 1;
	pointer-events: all;
}
.menu-button.search-close {
	display: block;
	position: absolute;
	right: var(--z-header-nav-padding-side);
	top: var(--z-menu-icon-margin-to);
	background: transparent;
	border-radius: 50%;
	aspect-ratio: 1 / 1;
	width: 5rem;
	height: 5rem;
}
.hamburger.search-close:hover,
.hamburger.search-close:focus {
	opacity: 1;
	background: rgba(255,255,255,0.2);
}
.search-box {
	width: 100%;
	display: flex;
	justify-content: space-between;
	align-content: center;
	align-items: center;
	margin-bottom: 0;
}
#searchbar .search-box {
	max-width: 80rem;
}
form.search {
	width: 100%;
}
.search fieldset {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: calc(var(--z-default-gap) / 4);
	width: 100%;
}
@media (max-width: 750px) {
	.search fieldset {
		flex-wrap: wrap;
	}
}
.search input[type="text"] {
	border: 1px solid rgba(255,255,255,0.5);
	color: var(--z-color-white);
	font-size: 2rem;
	height: 5.4rem;
	line-height: 5.2rem;
	padding: 0 2rem;
	flex: 1;
}
.search input[type="text"]:focus {
	border: 1px solid var(--z-color-white);
	font-size: 2.6rem;
}
.search .button, .search button {
	min-width: auto;
}



/* Post nav
–––––––––––––––––––––––––––––––––––––––––––––––––– */
nav.post-nav > ul {
	grid-column: 1 / -1;
	justify-self: center;
	width: 100%;
	max-width: 84ch;
	padding: 5ch;
	list-style: none;
	display: flex;
	flex-direction: row;
	justify-content: space-between;
	align-items: center;
}


/* Search
–––––––––––––––––––––––––––––––––––––––––––––––––– *//*
.menu-item-lang-switch-simple a {
	font-size: 1.4rem;
	background-color: #d9f0fe;
}
header > nav .menu-item-lang-switch-simple a:focus,
header > nav .menu-item-lang-switch-simple a:hover {
	font-size: 1.4rem;
	background-color: var(--z-color-primary);
	color: var(--z-color-white);
}
*/