/* ===================================
   Header navigation: the secondary menu widget area (header.php) and the main menu, with its
   drop-down sub-menus on desktop and the stacked menu on smaller screens.
   The full-screen menu is in global/menu.css.
=================================== */

/* -----------------------------------
   Secondary menu (widget area; toggled by assets/js/navigation.js)
----------------------------------- */
.secondary-menu-block {
	background: rgba(0, 0, 0, 0.9);
	display: none;
	height: 100%;
	left: 0;
	position: fixed;
	top: 0;
	width: 100%;
	overflow: auto;
	z-index: 999;
}

.secondary-menu-widget ul {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	justify-content: right;
	flex-wrap: wrap;
}

.secondary-menu-widget ul li {
	list-style: none;
	padding: 0 15px;
}

.secondary-menu-widget ul li:first-child {
	padding-left: 0;
}

.secondary-menu-widget ul li:last-child {
	padding-right: 0;
}

.secondary-menu-widget ul li a {
	display: block;
	text-decoration: none;
	line-height: 50px;
	font-size: 18px;
	font-weight: 400;
}
.secondary-menu-widget ul li a:hover,
.secondary-menu-widget ul li.active a {
	color: var(--wp--preset--color--black);
}
.secondary-menu-widget ul li.phone-no a {
	position: relative;
	display: flex;
	align-items: center;
	gap: 10px;
}
.secondary-menu-widget ul li.phone-no a::before {
	content: "";
	width: 50px;
	height: 50px;
	aspect-ratio: 1;
	display: block;
	background-image: url(../../images/icon-phone.svg);
	background-position: center;
	background-repeat: no-repeat;
	background-size: 20px;
	border-radius: 50px;
	transition: 0.3s var(--ease-out);
	transition-property: background-color;
}

.secondary-menu-widget ul li.phone-no a:hover::before {
	background-color: var(--wp--preset--color--primary);
}

@media screen and (max-width: 1400px) {
	.secondary-menu-widget ul li {
		padding: 0 5px;
	}
	.secondary-menu-widget ul li.phone-no a {
		width: 50px;
		overflow: hidden;
		font-size: 0;
	}
}

/* -----------------------------------
   Main menu
----------------------------------- */
.main-navigation {
	clear: both;
	display: block;
	width: 100%;
}

.main-navigation ul {
	display: none;
	list-style: none;
	margin: 0;
	padding-left: 0;
}

.main-navigation li {
	position: relative;
}

.main-navigation a {
	display: block;
	text-decoration: none;
	line-height: 124px;
	font-size: 13px;
	letter-spacing: 2.6px;
	font-weight: 500;
	text-transform: uppercase;
}

.main-navigation > div > ul > li > a {
	position: relative;
	display: flex;
}

.main-navigation > div > ul > li:hover > a::before,
.main-navigation > div > ul > li > a:hover::before,
.main-navigation > div > ul > li.current_page_item > a::before,
.main-navigation > div > ul > li.current-menu-item > a::before,
.main-navigation > div > ul > li.current_page_parent > a::before,
.main-navigation > div > ul > li.current_page_ancestor > a::before {
	width: 100%;
}

/* current page and hover: green (black on green / transparent headers), semibold */
.main-navigation > div > ul > li:hover > a,
.main-navigation > div > ul > li > a:hover,
.main-navigation > div > ul > li.current_page_item > a,
.main-navigation > div > ul > li.current-menu-item > a,
.main-navigation > div > ul > li.current_page_parent > a,
.main-navigation > div > ul > li.current-menu-ancestor > a,
.main-navigation > div > ul > li.current_page_ancestor > a {
	color: var(--wp--preset--color--darkgreen);
	text-decoration: none;
}

body.nav_style_transparent .main-navigation > div > ul > li:hover > a,
body.nav_style_transparent .main-navigation > div > ul > li > a:hover,
body.nav_style_transparent .main-navigation > div > ul > li.current_page_item > a,
body.nav_style_transparent .main-navigation > div > ul > li.current-menu-item > a,
body.nav_style_transparent .main-navigation > div > ul > li.current_page_parent > a,
body.nav_style_transparent .main-navigation > div > ul > li.current-menu-ancestor > a,
body.nav_style_transparent .main-navigation > div > ul > li.current_page_ancestor > a,
body.nav_style_green .main-navigation > div > ul > li:hover > a,
body.nav_style_green .main-navigation > div > ul > li > a:hover,
body.nav_style_green .main-navigation > div > ul > li.current_page_item > a,
body.nav_style_green .main-navigation > div > ul > li.current-menu-item > a,
body.nav_style_green .main-navigation > div > ul > li.current_page_parent > a,
body.nav_style_green .main-navigation > div > ul > li.current-menu-ancestor > a,
body.nav_style_green .main-navigation > div > ul > li.current_page_ancestor > a {
	color: var(--wp--preset--color--black);
}

.main-navigation > div > ul > li.current_page_item > a,
.main-navigation > div > ul > li.current-menu-item > a,
.main-navigation > div > ul > li.current_page_parent > a,
.main-navigation > div > ul > li.current-menu-ancestor > a,
.main-navigation > div > ul > li.current_page_ancestor > a {
	font-weight: 600;
}

@media screen and (max-width: 1100px) {
	body.fixed-header.scrolled .main-navigation {
		margin-top: 0;
	}

	.main-navigation a {
		line-height: 26px;
		min-height: 50px;
		font-size: 18px;
		padding: 10px 15px;
		color: var(--wp--preset--color--darkblue);
	}
	.main-navigation a .item_image {
		display: none;
	}
	.main-navigation a::before {
		display: none !important;
	}

	.mobile-secondary-nav {
		background-color: var(--wp--preset--color--white);
		border-bottom: 0px solid #f0f0f0;
	}

	.main-navigation li {
		position: relative;
		border-top: 1px solid #f0f0f0;
	}

	.mobile-secondary-nav ul li.search-icon {
		display: none;
	}

	.main-navigation > div > ul > li {
		margin: 0 !important;
	}

	.main-navigation ul {
		display: block;
	}

	.main-navigation ul ul {
		background: transparent !important;
	}

	.main-navigation ul ul li a {
		padding-left: 30px;
		display: flex;
		align-items: center;
	}

	.main-navigation ul ul li ul li a {
		padding-left: 50px;
	}

	.main-navigation ul ul li a br {
		display: none;
	}
}
@media screen and (min-width: 1401px) {
	.main-navigation > div > ul > li {
		margin: 0 39px !important;
	}
}

/* desktop: one row, drop-down sub-menus */
@media screen and (min-width: 1101px) {
	.main-navigation .mobile-secondary-nav {
		display: none;
	}

	.main-navigation ul {
		display: flex;
		flex-wrap: wrap;
		justify-content: end;
	}

	.main-navigation > div > ul > li {
		margin: 0 20px;
	}

	.main-navigation > div > ul > li.has_sub > a::after {
		content: "\f107";
		font-family: FontAwesome;
		margin-left: 5px;
		font-size: 16px;
	}

	.main-navigation > div > ul > li:last-child {
		margin-right: 0;
	}

	.main-navigation > div > ul > li:first-child {
		margin-left: 0;
	}

	.main-navigation a {
		padding: 0;
	}

	.main-navigation > div > ul > li.hide-on-desktop {
		display: none;
	}

	.main-navigation ul .sub_menu {
		display: none;
		float: left;
		position: absolute;
		top: 100%;
		left: -40px;
		z-index: 99999;
		text-align: left;
		width: 300px;
		padding: 25px 0;
		border-radius: 30px;
		background: var(--wp--preset--color--white);
		box-shadow: 6px 11px 29.2px 0 rgba(0, 0, 0, 0.25);
	}

	.main-navigation ul .sub_menu ul {
		display: block;
	}

	.main-navigation ul ul li.has_sub > a::after {
		content: "\f105";
		font-family: "FontAwesome";
		font-size: 18px;
	}

	.main-navigation ul ul li a {
		display: flex;
		gap: 10px;
		align-items: center;
		line-height: 20px;
		padding: 5px 40px;
		font-weight: 300;
		color: var(--wp--preset--color--darkblue);
	}

	.main-navigation ul ul li:hover > a,
	.main-navigation ul ul li.current_page_item > a,
	.main-navigation ul ul li.current_page_parent > a,
	.main-navigation ul ul li a:hover,
	.main-navigation ul ul li a.clicked,
	.main-navigation ul ul li a.active {
		font-weight: 600;
	}

	.main-navigation ul ul li a.active span,
	.main-navigation ul ul li a.clicked span,
	.main-navigation ul ul li.current_page_item > a span {
		color: var(--wp--preset--color--black) !important;
	}

	.main-navigation ul ul .sub_menu {
		left: -999em;
		top: -20px;
	}

	.main-navigation ul ul li:hover > .sub_menu,
	.main-navigation ul ul li.focus > .sub_menu {
		left: calc(100% - 30px);
	}

	.main-navigation ul li:hover > .sub_menu,
	.main-navigation ul li.focus > .sub_menu {
		display: block;
	}

	.site-header .header-inner > div.header-right {
		display: flex;
		height: 94px;
		align-items: center;
	}
}
.main-navigation ul li span.mobile_arrow {
	display: none;
}

@media screen and (max-width: 1100px) {
	.main-navigation ul > li.has_sub > span.mobile_arrow {
		cursor: pointer;
		display: inline-block;
		float: right;
		height: 50px;
		line-height: 50px;
		margin: 0;
		padding: 0;
		text-align: center;
		position: absolute;
		top: 0;
		right: 0;
		width: 50px;
		z-index: 9000;
		-webkit-tap-highlight-color: transparent;
	}

	.main-navigation ul > li.has_sub > span.mobile_arrow:hover,
	.main-navigation ul > li.open_sub > span.mobile_arrow {
		background-color: var(--wp--preset--color--primary);
	}

	.main-navigation ul > li.has_sub > span.mobile_arrow i {
		display: inline;
	}

	.main-navigation ul li span.mobile_arrow i {
		color: var(--wp--preset--color--black);
		font-size: 20px;
		line-height: 46px;
	}

	.main-navigation ul > li.has_sub.open_sub > span.mobile_arrow i.fa-angle-right,
	.main-navigation ul > li.has_sub > span.mobile_arrow i.fa-angle-down,
	.main-navigation ul > li.has_sub > ul.open_sub > li > span.mobile_arrow i.fa-angle-right {
		display: none;
	}

	nav.main-navigation ul > li.has_sub ul.open_sub > li > span.mobile_arrow i.fa-angle-down,
	nav.main-navigation ul > li.has_sub.open_sub > span.mobile_arrow i.fa-angle-down {
		display: inline;
	}

	.main-navigation div.sub_menu {
		display: none;
	}
}

/* -----------------------------------
   Mobile menu button (stacked header menu, smaller screens)
----------------------------------- */
nav.mobile_menu > div > ul {
	border-bottom: 0px solid #2d2d2d;
}

.mobile_menu_button span:hover {
	opacity: 1;
}

.mobile_menu_button span {
	width: 30px;
	height: 45px;
	position: relative;
	margin: 0 auto;
	cursor: pointer;
	transform: rotate(0deg);
	transition: 0.5s var(--ease-in-out);
}

.mobile_menu_button span > i {
	display: inline-block;
	width: 100%;
	vertical-align: middle;
	height: 19px;
	position: relative;
}

.mobile_menu_button span em {
	display: block;
	position: absolute;
	height: 2px;
	width: 50%;
	background: var(--wp--preset--color--black);
	opacity: 1;
	transform: rotate(0deg);
	transition: 0.25s var(--ease-in-out);
}

.mobile_menu_button span.open > i {
	margin-top: -6px;
}
.mobile_menu_button span.open em {
	background: var(--wp--preset--color--black);
}

.mobile_menu_button span em:nth-child(even) {
	left: 50%;
	border-radius: 0 9px 9px 0;
}

.mobile_menu_button span em:nth-child(odd) {
	left: 0px;
	border-radius: 9px 0 0 9px;
}

.mobile_menu_button span em:nth-child(1),
.mobile_menu_button span em:nth-child(2) {
	top: 0px;
}

.mobile_menu_button span em:nth-child(3),
.mobile_menu_button span em:nth-child(4) {
	top: 7px;
}

.mobile_menu_button span em:nth-child(5),
.mobile_menu_button span em:nth-child(6) {
	top: 14px;
}

.mobile_menu_button span.open em:nth-child(1),
.mobile_menu_button span.open em:nth-child(6) {
	transform: rotate(45deg);
}

.mobile_menu_button span.open em:nth-child(2),
.mobile_menu_button span.open em:nth-child(5) {
	transform: rotate(-45deg);
}

.mobile_menu_button span.open em:nth-child(1) {
	left: 2px;
	top: 6px;
}

.mobile_menu_button span.open em:nth-child(2) {
	left: calc(50% - 3px);
	top: 6px;
}

.mobile_menu_button span.open em:nth-child(3) {
	left: -50%;
	opacity: 0;
}

.mobile_menu_button span.open em:nth-child(4) {
	left: 100%;
	opacity: 0;
}

.mobile_menu_button span.open em:nth-child(5) {
	left: 2px;
	top: 14px;
}

.mobile_menu_button span.open em:nth-child(6) {
	left: calc(50% - 3px);
	top: 14px;
}
