/* MAIN MENU */

nav#header-main-menu {
  grid-column: 1 / 2;
  grid-row: 2 / 3;
  width: 100%;
  height: var(--main-menu-height);
  display: flex;
  justify-content: flex-end;
  align-items: center;
  position: relative;
  background: var(--main-menu-background-color);
  padding: 0 calc((100vw - var(--main-menu-content-width)) / 2);
  padding-left: calc(((100vw - var(--main-menu-content-width)) / 2) + var(--logo-width));
  z-index: 0;
  font: var(--bold-font);
  font-size: var(--main-menu-font-size);
  color: #fff;
  text-transform: uppercase;
  transition: all 0.3s ease-out;
}

#logo {
  width: var(--logo-width);
  height: var(--logo-height);
  flex-shrink: 0;
  position: absolute;
  top: calc(var(--main-menu-height) - var(--logo-height) / 2);
  left: calc((100vw - var(--main-menu-content-width)) / 2);
	background: var(--main-menu-logo) left center / contain no-repeat padding-box content-box #fff;
  font-size: 30px;
  color: var(--main-menu-color);
  z-index: 999999;
  transition: all .3s ease-out;
}

#logo > #logo-description {
  font-size: 16px;
}

#logo > img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

ul.menu,
ul.sub-menu {
  list-style: none;
  margin: 0;
  padding: 0;
}

nav#header-main-menu > ul.menu {
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
}

nav#header-main-menu > ul.menu > li.menu-item {
  height: 100%;
  position: relative;
}

nav#header-main-menu > ul.menu > li.menu-item-has-children:after,
nav#header-main-menu > #header-icons-container > .header-icon-container:after {
  content: "";
  width: 200vw;
  height: calc(100vh - var(--main-menu-height));
  position: absolute;
  top: var(--main-menu-height);
  left: -100vw;
  background-color: rgba(0, 0, 0, 0.5);
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.3s ease-out 0.2s;
}

nav#header-main-menu > ul.menu > li.menu-item-has-children:hover:after,
nav#header-main-menu > #header-icons-container > .header-icon-container:hover:after {
  opacity: 1;
}

nav#header-main-menu > #header-icons-container > .header-icon-container:hover:after {
  pointer-events: initial;
}

nav#header-main-menu > ul.menu > li.menu-item > a {
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  padding: 0 .75em;
  font-size: var(--main-menu-font-size);
  color: var(--main-menu-color);
  transition: all 0.3s ease-out;
}

nav#header-main-menu > ul.menu > li.menu-item:hover > a {
  background-color: var(--secondary-color);
}

nav#header-main-menu > ul.menu > li.menu-item > a:hover {
  color: var(--main-menu-hover-color);
}

nav#header-main-menu > ul.menu > li.menu-item > ul.sub-menu,
nav#header-main-menu > #header-icons-container > .header-icon-container > .sub-menu {
  width: 100vw;
  display: flex;
  flex-direction: column;
  position: absolute;
  top: var(--main-menu-height);
  left: 0;
  padding: 1.5em .75em;
  background-color: var(--sub-menu-background-color);
  opacity: 0;
  z-index: 0;
  visibility: hidden;
  transition: all 0.3s ease-out 0.2s;
}

nav#header-main-menu > #header-icons-container > .header-icon-container > .sub-menu {
	flex-direction: row;
  justify-content: flex-end;
  right: 0;
  left: unset;
}

nav#header-main-menu > ul.menu > li.menu-item > ul.sub-menu::before,
nav#header-main-menu > #header-icons-container > .header-icon-container > .sub-menu::before {
  content: "";
  width: 100vw;
  height: 100%;
  position: absolute;
  top: 0;
  left: -99.5vw;
  background-color: var(--sub-menu-background-color);
}

nav#header-main-menu > #header-icons-container > .header-icon-container > .sub-menu::before {
  right: -99.5vw;
  left: unset;
}

nav#header-main-menu > ul.menu > li.menu-item:hover > ul.sub-menu,
nav#header-main-menu > #header-icons-container > .header-icon-container:hover > .sub-menu {
  opacity: 1;
  z-index: 2;
  visibility: visible;
}

nav#header-main-menu > ul.menu > li.menu-item > ul.sub-menu > li.menu-item {
  margin: .25em 0;
}

nav#header-main-menu > ul.menu > li.menu-item > ul.sub-menu a {
  color: var(--sub-menu-color);
  transition: color 0.3s ease-out;
}

nav#header-main-menu > ul.menu > li.menu-item > ul.sub-menu a:hover {
  color: var(--main-menu-hover-color);
}

nav#header-main-menu > ul.menu > li.menu-item > ul.sub-menu > li.menu-item > ul.sub-menu > li.menu-item {
  margin: .5em 2em;
}

nav#header-main-menu > ul.menu > li.menu-item > ul.sub-menu > li.menu-item > ul.sub-menu > li.menu-item:last-of-type {
  margin-bottom: 0;
}

nav#header-main-menu > #header-icons-container {
  height: 100%;
  display: flex;
  align-items: center;
  margin-right: -.75em;
}

nav#header-main-menu .header-icon-container {
  height: 100%;
  position: relative;
}

nav#header-main-menu .header-icon {
  height: 100%;
  display: flex;
  align-items: center;
  padding: 0 .75em;
/*   cursor: pointer; */
}

nav#header-main-menu .header-icon-container:hover {
  background-color: var(--secondary-color);
}

nav#header-main-menu form#search-form {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  width: unset;
  height: 1.75em;
  display: flex;
  position: relative;
  margin: 0;
  padding: 0;
}

nav#header-main-menu form#search-form > div {
  height: 100%;
  display: flex;
  position: absolute;
  right: 0;
}

nav#header-main-menu form#search-form label {
  display: none;
}

nav#header-main-menu form#search-form input#s {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  width: 15em;
  height: 100%;
  margin: 0;
  padding: 0 .5em;
  border: 0;
  font: var(--regular-font);
  font-size: inherit;
}

nav#header-main-menu form#search-form input#search-submit {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  width: 5em;
  height: 100%;
  margin: 0;
  padding: 0;
  border: 0;
  background-color: var(--primary-color);
  font: inherit;
  font-size: inherit;
	text-transform: uppercase;
  color: #fff;
  cursor: pointer;
}

nav#header-main-menu form#search-form .close-icon {
  width: 1.5em;
  display: flex;
  justify-content: center;
  align-items: center;
  margin-right: -.25em;
  margin-left: .5em;
  cursor: pointer;
}

nav#header-main-menu .members-login-logout.login {
	width: 22em;
	min-height: 11em;
  display: flex;
	flex-direction: column;
	justify-content: space-between;
  position: relative;
}

nav#header-main-menu .members-login-logout.logout {
	height: 1.75em;
	display: flex;
	align-items: center;
	gap: .75em;
}

nav#header-main-menu .members-login-logout.logout a {
	height: 1.75em;
	display: flex;
	justify-content: center;
	align-items: center;
	padding: 0 .5em;
	background-color: var(--primary-color);
	cursor: pointer;
}

nav#header-main-menu form#search-form input#search-submit:hover,
nav#header-main-menu form#search-form .close-icon:hover,
nav#header-main-menu .members-login-logout.logout a:hover {
  color: var(--tertiary-color);
  transition: all 0.3s ease-out;
}

nav#header-main-menu .wppb-user-forms {
	width: 92%;
	height: 82%;
	display: flex;
/* 	position: absolute; */
	left: 0;
}

form#wppb-loginform {
	width: 100%;
	height: 100%;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	margin: 0;
}

form#wppb-loginform > p {
	height: 1.75em;
	display: flex;
	position: relative;
	margin: 0;
	padding: 0;
}

form#wppb-loginform > p > input:not(#rememberme) {
	width: 100%;
	padding: 0 .5em;
	border: none;
	border-radius: 0;
/* 	font-size: 16px; */
}

form#wppb-loginform > p > input#rememberme {
	width: 1.25em;
	height: 1.25em;
	display: flex;
	justify-content: center;
	align-items: center;
	position: absolute;
	padding: 0;
	border-radius: 0;
	background-color: #fff;
	cursor: pointer;
}

form#wppb-loginform > p > input#rememberme:checked::after {
	content: '';
	width: .75em;
	height: .75em;
	display: flex;
	background-color: var(--primary-color);
}

form#wppb-loginform > p > input#rememberme + label {
	position: absolute;
	left: 1.75em;
	padding: 0;
	font: var(--regular-font);
/* 	font-size: 16px; */
	text-transform: none;
	width: 100%;
}

form#wppb-loginform > p > input#wppb-submit {
	background-color: var(--primary-color);
	color: #fff;
	cursor: pointer;
}

form#wppb-loginform > p > input#wppb-submit:hover {
	color: var(--tertiary-color);
	transition: all .3s ease-out;
}

a.login-password-reset {
  width: 92%;
  height: 1.75em;
	display: flex;
	align-items: flex-end;
	font: var(--regular-font);
	text-transform: none;
}

a.login-password-reset:hover {
	color: var(--tertiary-color);
	transition: all .3s ease-out;
}

nav#header-main-menu .members-login-logout.login i.close-icon {
	position: absolute;
	right: 0;
}

nav#header-main-menu .members-login-logout
i.close-icon:hover {
	color: var(--tertiary-color);
	cursor: pointer;
}

/* mobile */

nav#header-main-menu > #header-main-menu-toggle,
nav#header-main-menu i.submenu-toggle-indicator {
  display: none;
}



/* MEDIA QUERIES */

@media (max-width: 1920px) {
  :root {
    --main-menu-font-size: 25px;
  }
  header.scroll #logo {
    width: var(--scroll-logo-width);
    height: var(--scroll-logo-height);
    transform: translateY(calc((var(--main-menu-height) - var(--logo-height) / 2) * (-1)));
  }
}

@media (max-width: 1740px) {
  :root {
    --main-menu-height: 150px;
    --logo-width: 200px;
    --scroll-logo-width: 125px;
    --main-menu-content-width: 1540px;
  }
}

@media (max-width: 1640px) {
	nav#header-main-menu {
		padding: 0 50px;
		padding-left: calc(50px + var(--logo-width));
	}
  #logo {
    left: 50px;
  }
}

@media (max-width: 1540px) {
  :root {
    --logo-width: 150px;
  }
}

@media (max-width: 1440px) {
  :root {
    --main-menu-font-size: 20px;
    --logo-width: 125px;
  }
  #logo,
  header.scroll #logo {
    top: 0;
    transform: none;
  }
}

@media (max-width: 1140px) {
  nav#header-main-menu {
/*     display: grid;
    grid-template-columns: 1fr auto;
    grid-template-rows: var(--main-menu-height) 1fr auto;
		padding-left: 50px; */
    flex-direction: row-reverse;
    justify-content: flex-start;
		padding: 0;
  }
	nav#header-main-menu > #header-icons-container {
		justify-content: flex-end;
		margin-right: 0;
	}
  nav#header-main-menu > #header-main-menu-toggle {
/*     grid-column: 2 / 3;
    grid-row: 1 / 2; */
    width: 62.5px;
    height: 100%;
    display: flex;
    align-items: center;
    position: relative;
		margin-right: 35px;
/*     margin-left: auto; */
    font-size: 1.3em;
    color: var(--main-menu-color);
    cursor: pointer;
  }
  nav#header-main-menu > #header-main-menu-toggle > .header-main-menu-toggle-icon {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    position: absolute;
    top: 0;
    left: 0;
    pointer-events: none;
    opacity: 0;
    transform: rotate(0deg);
    transition: all 0.2s ease-out;
  }
  nav#header-main-menu > #header-main-menu-toggle:not(.menu-open) > .header-main-menu-toggle-icon:nth-child(1),
  nav#header-main-menu > #header-main-menu-toggle.menu-open > .header-main-menu-toggle-icon:nth-child(2) {
    opacity: 1;
    transform: rotate(180deg);
  }
  nav#header-main-menu > ul.menu {
    grid-column: 1 / 3;
    grid-row: 2 / 3;
    display: none;
		width: 100%;
		max-height: calc(100vh - var(--main-menu-height));
		-ms-overflow-style: none;
    scrollbar-width: none;
		overflow-y: scroll;
  }
	nav#header-main-menu > ul.menu::-webkit-scrollbar {
    display: none;
  }
  nav#header-main-menu > ul.menu.menu-open {
		height: unset;
    display: block;
		position: absolute;
		top: 0;
		margin-top: var(--main-menu-height);
		background-color: var(--secondary-color);
  }
  nav#header-main-menu > ul.menu > li.menu-item {
		height: unset;
    display: flex;
		flex-direction: column;
  }
	nav#header-main-menu > ul.menu > li.menu-item-has-children::after,
	nav#header-main-menu > #header-icons-container > .header-icon-container::after {
		display: none;
	}
	nav#header-main-menu > ul.menu > li.menu-item:last-child.sub-menu-open {
		padding-bottom: 20px;
	}
	nav#header-main-menu > ul.menu > li.menu-item-has-children:hover::after {
		opacity: 0;
	}
  nav#header-main-menu > ul.menu > li.menu-item > a {
    width: 100%;
		height: 75px;
		justify-content: flex-start;
		padding: 0 75px 0 50px;
    white-space: nowrap;
  }
  nav#header-main-menu > ul.menu > li.menu-item-has-children > i.submenu-toggle-indicator {
    width: 62.5px;
    height: 75px;
    display: flex;
    align-items: center;
    justify-content: center;
		position: absolute;
		right: 35px;
    font-size: 1.5em;
		color: #fff;
    cursor: pointer;
  }
  nav#header-main-menu > ul.menu > li.menu-item-has-children > i.submenu-toggle-indicator:before {
    transform: rotate(0deg);
    transition: transform 0.2s ease-out;
  }
  nav#header-main-menu > ul.menu > li.menu-item-has-children.sub-menu-open > i.submenu-toggle-indicator:before {
    transform: rotate(180deg);
  }
  nav#header-main-menu > ul.menu > li.menu-item > ul.sub-menu {
		width: 100%;
    display: none;
		justify-content: center;
		align-items: center;
		position: static;
    padding: 0 75px 0 50px;
/*     grid-template-columns: 1fr 1fr;
    grid-gap: 1em; */
    opacity: 0;
    transition: opacity 0.3s ease-out;
    background-color: var(--secondary-color);
  }
	nav#header-main-menu > ul.menu > li.menu-item > ul.sub-menu::before {
		display: none;
	}
	nav#header-main-menu > ul.menu > li.menu-item:hover > ul.sub-menu {
		opacity: unset;
	}
  nav#header-main-menu > ul.menu > li.menu-item-has-children.sub-menu-open > ul.sub-menu {
    display: flex;
		margin-top: -15px;
    opacity: 1;
		visibility: visible;
  }
  nav#header-main-menu > ul.menu > li.menu-item-has-children.sub-menu-open > ul.sub-menu > li.menu-item {
		width: 100%;
		display: flex;
		flex-direction: column;
		justify-content: center;
		align-items: flex-start;
		margin: 0;
		padding-left: 50px;
	}
  nav#header-main-menu > ul.menu > li.menu-item.sub-menu-open > ul.sub-menu > li.menu-item > a {
		min-height: 1.2em;
    display: flex;
		align-items: center;
		padding: 10px 0;
  }
  nav#header-main-menu > ul.menu > li.menu-item-has-children.sub-menu-open > ul.sub-menu > li.menu-item > ul.sub-menu > li.menu-item {
		margin: 0;
    padding-left: 25px;
  }
	nav#header-main-menu > ul.menu > li.menu-item-has-children.sub-menu-open > ul.sub-menu > li.menu-item > ul.sub-menu > li.menu-item > a {
		display: flex;
		align-items: center;
		height: 40px;
	}
}

@media (max-width: 782px) {
	nav#header-main-menu .header-icon-container {
		position: static;
	}
	nav#header-main-menu > #header-icons-container > .header-icon-container > .sub-menu {
		padding: 1.5em 50px;
	}
	nav#header-main-menu > #header-icons-container > .header-icon-container > .sub-menu::before {
		display: none;
	}
	nav#header-main-menu form#search-form {
		width: 100%;
	}
	nav#header-main-menu form#search-form > div {
		width: 100%;
		position: static;
		font-size: 20px;
	}
	nav#header-main-menu form#search-form input#s {
		width: 100%;
	}
	nav#header-main-menu form#search-form input#search-submit {
/* 		width: 25%; */
		flex-shrink: 0;
	}
	form#wppb-loginform > p > input:not(#rememberme),
	form#wppb-loginform > p > input#rememberme + label {
		font-size: 20px;
		left: 2.25em;
	}
}

@media (max-width: 600px) {
	nav#header-main-menu .members-login-logout.login {
		width: 100%;
	}
}

@media (max-width: 540px) {
	#logo {
		left: 25px;
	}
	nav#header-main-menu > #header-icons-container > .header-icon-container > .sub-menu {
		padding: 1.5em 25px;
	}
	nav#header-main-menu > #header-main-menu-toggle {
		margin-right: 10px;
	}
	nav#header-main-menu > ul.menu > li.menu-item > a,
	nav#header-main-menu > ul.menu > li.menu-item > ul.sub-menu {
		padding-left: 25px;
	}
	nav#header-main-menu > ul.menu > li.menu-item-has-children > i.submenu-toggle-indicator {
		right: 10px;
	}
	nav#header-main-menu .members-login-logout.logout {
		height: 6.2em;
		flex-direction: column-reverse;
		align-items: flex-end;
	}
}

@media (max-width: 440px) {
	nav#header-main-menu form#search-form input#s {
		width: 65%;
	}
	nav#header-main-menu form#search-form input#search-submit {
		width: 35%;
	}
	nav#header-main-menu .wppb-user-forms {
	width: 92%;
	}
	form#wppb-loginform > p > input:not(#rememberme /*, #wppb-submit */),
	form#wppb-loginform > p > input#rememberme + label {
		font-size: 16px;
		left: 2.5em;
	}
}

@media (max-width: 380px) {
	:root {
		--main-menu-height: 125px;
		--logo-width: 100px;
		--scroll-logo-width: 100px;
	}
}


















