.elementor-location-header {
	width: 100%;
	height: var(--fullHeaderHeight);

	position: fixed;
	top: calc(var(--adminBarHeight) + var(--notificationBarHeight));
	left: 0;

	transition: .3s all ease-in-out;
	-webkit-transition: .3s all ease-in-out;
}
body.scrolled .elementor-location-header {
	height: var(--fullShortenedHeaderHeight);
	width: 100%;
}

body.overlap-header:not(.hide-banner) .elementor-location-header {
	background-color: transparent;

	position: fixed;
	top: calc(var(--adminBarHeight) + var(--notificationBarHeight));
	left: 0;
}
body.overlap-header.scrolled:not(.hide-banner) .elementor-location-header {
	
}




/*
UTILITY HEADER
*/
header#utilityheader {
	height: var(--utilityHeight);
	width: 100% !important;

	position: fixed;
	top: calc(var(--adminBarHeight) + var(--notificationBarHeight));
	left: 0;
	
	overflow: hidden;

	transition: .3s all ease-in-out;
	-webkit-transition: .3s all ease-in-out;
}
/*header#utilityheader.elementor-sticky--effects,*/
body.scrolled header#utilityheader {
	height: var(--utilityShortenedHeight);
}

header#utilityheader > .e-con-inner > .e-con {
	transition: .3s all ease-in-out;
	-webkit-transition: .3s all ease-in-out;
}

header#utilityheader > .elementor-container,
header#utilityheader > .elementor-container > .elementor-column {
	height: 100%;
}









/*
MAIN HEADER
*/
header.siteheader {

	height: var(--headerHeight);
	width: 100% !important;

	position: fixed;
	top: calc(var(--adminBarHeight) + var(--utilityHeight) + var(--notificationBarHeight));
	left: 0;
	z-index: 500;
	
	transition: .3s all ease-in-out;
	-webkit-transition: .3s all ease-in-out;
}
body.overlap-header:not(.hide-banner) header.siteheader,
body.overlap-header:not(.hide-banner) header.siteheader.elementor-element.e-con.text {
	background-color: transparent;
}
/* TO DO: change from project-template-default to transparent-header or white-header */
body.project-template-default header.siteheader {
	background-color: transparent;
	background-image: none;
}

/*header.siteheader.elementor-sticky--effects,*/
body.scrolled header.siteheader {
	top: calc(var(--adminBarHeight) + var(--utilityShortenedHeight) + var(--notificationBarHeight));

	height: var(--headerShortenedHeight);
}
body.overlap-header.scrolled:not(.hide-banner) header.siteheader,
body.overlap-header.scrolled:not(.hide-banner) header.siteheader.elementor-element.e-con.text,
body.overlap-header.tray-open header.siteheader,
body.overlap-header.tray-open header.siteheader.elementor-element.e-con.text {
	background-color: rgba(0, 0, 0, .8);
}
body.project-template-default.scrolled header.siteheader {
	background-color: var(--e-global-color-primary);
}

/* Project Page */
body.project-template-default header.siteheader .elementor-widget-wp-widget-nav_menu ul#menu-main-menu > li > a {
	color: var(--e-global-color-primary);
}
/*.elementor-page-700 header.siteheader.elementor-sticky--effects .elementor-widget-wp-widget-nav_menu ul#menu-main-menu > li > a,*/
body.project-template-default.scrolled header.siteheader .elementor-widget-wp-widget-nav_menu ul#menu-main-menu > li > a {
	color: #fff;
}

header.siteheader > .elementor-container {
	width: 100%;
}

header.siteheader > .elementor-container > .elementor-column > .elementor-widget-wrap {
	/*overflow: hidden;*/
}









header .elementor-widget-wp-widget-nav_menu ul.menu {
	list-style: none;
	margin: 0;
	padding: 0;
	
	display: flex;
	display: -webkit-flex;
}

header .elementor-widget-wp-widget-nav_menu ul.menu > li {
	position: relative;
	top: 0;
	left: 0;
}
header .elementor-widget-wp-widget-nav_menu ul.menu > li:not(:last-child) {
	/*margin-right: var(--elementMargin);*/
	margin-bottom: 0;
}

header#utilityheader .elementor-widget-wp-widget-nav_menu ul.menu > li:not(:last-child):after {
	content: "|";
	color: #f3f3f3;
}

header .elementor-widget-wp-widget-nav_menu ul.menu > li > a {
	white-space: nowrap;
	
	padding: 0 1rem;
	
	display: inline-block;
	
	text-transform: uppercase;
	font-size: var(--headerLinkSize);
	/*font-size: 0.688rem;*/
}
header.siteheader .elementor-widget-wp-widget-nav_menu ul.menu > li > a,
header.siteheader .elementor-widget-wp-widget-nav_menu ul.menu > li > a:hover {
	color: #fff;
	
	font-weight: 900;
	letter-spacing: .2em;
	
	padding: 0 1rem;
}
header#utilityheader .elementor-widget-wp-widget-nav_menu ul.menu > li > a {
	color: #999;
	
	font-weight: 700;
	
	padding: 0 0.563rem;
}
header#utilityheader .elementor-widget-wp-widget-nav_menu ul.menu > li > a:hover {
	color: #000;
}
header#utilityheader .elementor-widget-wp-widget-nav_menu ul.menu > li.selected > a,
header#utilityheader .elementor-widget-wp-widget-nav_menu ul.menu > li.selected > a:hover {
	color: #000;
}

/*
header .elementor-widget-wp-widget-nav_menu ul.menu > li > a:before {
	content: "";

	background-color: var(--e-global-color-primary);

	position: absolute;
	left: 50%;
	bottom: 14px;

	width: 0;
	height: 3px;

	transition: all .3s ease-in-out;
}
header .elementor-widget-wp-widget-nav_menu ul.menu > li > a:hover:before,
header .elementor-widget-wp-widget-nav_menu ul.menu > li.current-menu-item > a:before,
header .elementor-widget-wp-widget-nav_menu ul.menu > li.current_page_ancestor > a:before {
	left: 20px;
	
	width: calc(100% - 40px);
}
*/

/* Submenu */
header.siteheader .elementor-widget-wp-widget-nav_menu ul.sub-menu {
	list-style: none;
	
	position: absolute;
	top: 100%;
	left: calc(var(--elementMargin) / 2);
	
	width: 300px;
	height: 0;
	margin: 0;
	padding: 0;
	box-sizing: border-box;
	
	overflow: hidden;
	
	background-color: var(--e-global-color-text);
	
	transition: all .3s ease-in-out;
	transition-property: height, padding;
}
header .elementor-widget-wp-widget-nav_menu ul.menu > li:last-child ul.sub-menu {
	left: auto;
	right: 0;
}
header.siteheader .elementor-widget-wp-widget-nav_menu ul.sub-menu.open {
	
}
header.siteheader .elementor-widget-wp-widget-nav_menu ul.sub-menu li {
	padding: 0;
	margin: 0;
}
header.siteheader .elementor-widget-wp-widget-nav_menu ul.sub-menu li:first-child {
	margin-top: calc(var(--elementMargin) / 2);
}
header.siteheader .elementor-widget-wp-widget-nav_menu ul.sub-menu li:last-child {
	margin-bottom: calc(var(--elementMargin) / 2);
}
header.siteheader .elementor-widget-wp-widget-nav_menu ul.sub-menu li > a {
	color: #fff;
	
	display: block;
	
	padding: 20px;

	position: relative;
	top: 0;
	left: 0;
}
header.siteheader .elementor-widget-wp-widget-nav_menu ul.sub-menu li.current-menu-item > a,
header.siteheader .elementor-widget-wp-widget-nav_menu ul.sub-menu li > a:hover {
	color: var(--e-global-color-primary);
}

header.siteheader .elementor-widget-wp-widget-nav_menu ul.sub-menu li:not(:last-child) > a:before {
	content: "";

	background-color: #707070;

	position: absolute;
	bottom: 0;
	left: 20px;

	width: calc(100% - 40px);
	height: 1px;
}




header.siteheader .elementor-widget-wp-widget-nav_menu.fillparent,
header.siteheader .elementor-widget-wp-widget-nav_menu.fillparent > .elementor-widget-container,
header.siteheader .elementor-widget-wp-widget-nav_menu.fillparent > .elementor-widget-container > div,
header.siteheader .elementor-widget-wp-widget-nav_menu.fillparent > .elementor-widget-container > div > ul.menu,
header.siteheader .elementor-widget-wp-widget-nav_menu.fillparent > .elementor-widget-container > div > ul.menu > li,
header.siteheader .elementor-widget-wp-widget-nav_menu.fillparent > .elementor-widget-container > div > ul.menu > li > a {
	align-self: stretch;

	display: flex;

	align-items: center;
	justify-content: center;

	height: auto;
}








/*
MAIN (MODAL) MENU
*/
#mobile-menu-btn {
	cursor: pointer;
}

#mobile-menu {
	
	--menuTop: calc(var(--adminBarHeight) + var(--notificationBarHeight));

	position: fixed;
	top: var(--menuTop);
	right: 0;
	z-index: 1000;
	
	width: 100%;
	max-width: 630px;
	height: calc(var(--innerHeight) - var(--menuTop));
	
	box-sizing: border-box;
	-webkit-box-sizing: border-box;
	
	transform: translate3d(100%, 0, 0);
	
	transition: transform .6s ease-in-out;
	
	overflow-y: auto;

	/*visibility: hidden;*/
}
#mobile-menu.open {
	transform: translate3d(0, 0, 0);

	/*visibility: visible;*/
}

#mobile-menu .close {
	cursor: pointer;
}

#mobile-menu .elementor-widget-wp-widget-nav_menu .elementor-widget-container > div > ul.menu li.menu-item-has-children > a {
	position: relative;
	top: 0;
	left: 0;
}
/*#mobile-menu .elementor-widget-wp-widget-nav_menu .elementor-widget-container > div > ul.menu li.menu-item-has-children > a:after*/
#mobile-menu .elementor-widget-wp-widget-nav_menu .elementor-widget-container > div > ul.menu li.menu-item-has-children > a > .toggle {
	content: "+";

	/*
	background: url(/wp-content/uploads/2024/02/chevron-up-white.svg);
	background-size: contain;
	background-repeat: no-repeat;
	background-position: center center;
	*/

	font-size: .75rem;
	color: var(--e-global-color-primary);

	margin-left: .1rem;

	/*
	position: absolute;
	top: 0;
	right: 0;

	width: 18px;
	height: 100%;
	*/
	position: relative;
	top: -.1em;
	left: 0;
}
/*#mobile-menu .elementor-widget-wp-widget-nav_menu .elementor-widget-container > div > ul.menu li.menu-item-has-children.open > a:after*/
#mobile-menu .elementor-widget-wp-widget-nav_menu .elementor-widget-container > div > ul.menu li.menu-item-has-children.open > a > .toggle {
	content: "-";
	/*transform: rotate(180deg);*/
}

#mobile-menu .elementor-widget-wp-widget-nav_menu .elementor-widget-container > div > ul.menu ul.sub-menu {
	list-style: none;
	margin: 0;
	padding: 0;
	
	height: 0;
	overflow: hidden;
	
	transition: all .3s ease-in-out;
	transition-property: height, margin;
}
#mobile-menu .elementor-widget-wp-widget-nav_menu .elementor-widget-container > div > ul.menu ul.sub-menu.open {
	/*margin: -10px 0 var(--elementMargin) 0;*/
}

#mobile-menu .elementor-widget-wp-widget-nav_menu ul#menu-main-navigation-1 ul.sub-menu > li > a {
	display: block;
}









.tray-nav {
    --contentDiff: 3.875rem;
    
    min-height: 9.281rem;
    /*height: 0px;*/
    
    position: fixed;
	top: calc(var(--adminBarHeight) + var(--fullHeaderHeight) + var(--notificationBarHeight));
	left: 0;
	z-index: 450;
	
	transition: all .6s ease-in-out;
	
	/*
	transform: translate3d(0, calc(-100% - var(--fullHeaderHeight)), 0);
	*/
	
	clip-path: polygon(0 0, 100% 0, 100% 0, 0 0);

	/*visibility: hidden;*/
}
body.scrolled .tray-nav {
	top: calc(var(--adminBarHeight) + var(--fullShortenedHeaderHeight) + var(--notificationBarHeight));
}

.tray-nav * {
	/*visibility: hidden;*/
}
.tray-nav.open {
    /*
    transform: translate3d(0, 0, 0);
    */
    clip-path: polygon(0 0, 100% 0, 100% 100%, 0% 100%);

    /*visibility: visible;*/
}
.tray-nav.open * {
	/*visibility: visible;*/
}