/***************************/
/**** NAVIGATION BASICS ****/
/***************************/

.main-navigation {
	position: fixed;
	top: 0;
	z-index: 9999;
	width: 100%;
}
.main-navigation .nav-logo {
	display: flex;
}
.main-navigation .nav-bar {
	display: flex;
	justify-content: space-between;
	align-items: center;
}
.main-navigation .nav-header ul {
	margin: 0;
	padding: 0;
	list-style: none;
}

.main-navigation .nav-logo a,
.main-navigation .nav-header a {
	display: block;
	padding: 1rem;
	text-decoration: none;
	line-height: 1rem;
	color: rgb(0,0,0);
	overflow: hidden;
	white-space: nowrap;
}

.main-navigation .nav-logo img {
	;
}

.main-navigation button.menu-hamburger,
.main-navigation button.menu-close {
	display: block;
	border: none;
	padding: 0;
	margin: 0;
    -webkit-appearance: none;
    -moz-appearance: none;
	height: 3.5rem;
	width: 3.5rem;
	background-repeat: no-repeat;
	background-size: 2rem auto;
	background-position: center center;
	cursor: pointer;
}
.main-navigation button.menu-hamburger {
	background-image: url('../images/menu-hamburger.svg');
}
.main-navigation button.menu-close {
	background-image: url('../images/menu-close.svg');
}

/***************************/


/***************************/
/**** NAVIGATION MOBILE ****/
/***************************/

@media all and (max-width: 1023px) {

	.body-cover {
		display: none;
	}
	.body-inactive {
		overflow: hidden;
	}
	.body-inactive .body-cover {
		position: fixed;
		top: 0;
		z-index: 99;
		width: 100%;
		height: 100%;
		display: block;
		background-color: rgba(0,0,0,0.7);
	}

	.main-navigation .nav-bar {
		background-color: rgb(213,17,48);
	}

	.main-navigation .nav-header ul.sub-menu {
		display: none;
	}

	.main-navigation .nav-header ul li {
	   position: relative;
	}

	.main-navigation .nav-header ul li {
		/* Design */
		background-color: var( --neutrallight );
	}
	.main-navigation .nav-header ul ul li {
		/* Design */
		background-color: var( --neutrallight );
	}
	.main-navigation .nav-header ul ul ul li {
		/* Design */
		background-color: var( --neutrallight );
	}

	.main-navigation .nav-header a:hover,
	.main-navigation .nav-header a:focus,
	.main-navigation .nav-header a:active {
	   color: rgb(255,255,255);
	   background-color: rgb(255,192,192);
	}

	.main-navigation .nav-header li.current_page_item > a {
		/* Design */
		color: var( --companycolor );
	}

	.main-navigation-active {
		overflow-y: auto;
		height: 100%;
	}
	.main-navigation .nav-header {
		display: none;
	}
	.main-navigation-active .nav-header {
		display: block;
	}
	.main-navigation button.menu-close {
		display: none;
	}
	.main-navigation-active button.menu-close {
		display: block;
		background-color: rgb(0,0,0);
	}
	.main-navigation button.menu-hamburger {
		display: block;
		background-color: rgb(0,0,0);
	}
	.main-navigation-active button.menu-hamburger {
		display: none;
	}
	.main-navigation .nav-header .menu {
		min-width: 15rem;
		background-color: rgb(224,224,224);
		position: absolute;
		right: 0;
	}

	.main-navigation .nav-header ul a,
	.main-navigation .nav-header li li:last-child a {
		border-bottom: 1px solid rgb(208,208,208);
	}
	.main-navigation .nav-header li:last-child a {
		border-bottom: none;
	}
	.main-navigation .nav-header li.menu-item-has-children > a {
		padding-right: 2.5rem;
	}
	.main-navigation .nav-header li.current-menu-item > a {
		color: rgb(188,54,10);
	}

	.main-navigation .nav-header span.submenu-symbol {
		display: none;
		width: 2.5rem;
		height: 2.5rem;
		background-repeat: no-repeat;
		background-position: center;
		background-size: 1.2rem;
		position: absolute;
		background-color: #ff0000;
		right: 0;
		top: 0;
	}
	.main-navigation .nav-header li.menu-item-has-children > a span.submenu-symbol {
		background-image: url('../images/white-down.png');
	}
	.main-navigation .nav-header li.menu-item-has-children > a span.submenu-symbol-up {
		background-image: url('../images/white-up.png');
	}

}

/***************************/


/****************************/
/**** NAVIGATION DESKTOP ****/
/****************************/

@media all and (min-width: 1024px) {

	/** Reset Mobile Navigation Elements **/
	.main-navigation button.menu-hamburger,
	.main-navigation button.menu-close {
		display: none !important;
	}
	/* End Reset */

	.main-navigation {
		display: flex;
		justify-content: center;
		align-items: center;
		/* Design */
		padding: 0.5rem 0;
		background-color: var( --neutrallight );
		box-shadow: 0 0.1rem 0.2rem 0 rgba( 0,0,0,0.25 );
	}
	.main-navigation .nav-header {
		display: block !important;
		line-height: 1;
	}

	.main-navigation .nav-header li.current_page_item > a {
		/* Design`*/
		border-bottom: 0.2rem solid var( --companycolor );
	}

	.main-navigation .nav-header a:hover,
	.main-navigation .nav-header a:focus,
	.main-navigation .nav-header a:active {
	   /* Design`*/
	   color: var( --companycolor );
	   transition: color .2s ease-out;
	}

	.main-navigation .nav-header ul li,
	.main-navigation .nav-header ul ul li,
	.main-navigation .nav-header ul ul ul li {
		/* Design */
		background-color: transparent;
	}

	.main-navigation .nav-header ul {
		list-style-type: none;
		margin: 0;
		padding: 0;
		display: flex;
		line-height: 0;
	}
	.main-navigation .nav-header ul li {
	   	display: inline-block;
	}
	.main-navigation .nav-header ul ul li {
		display: block;
	}
	.main-navigation .nav-header ul ul ul {
		/* Design */
		margin: -2rem 0 0 4rem;
	}

	.main-navigation .nav-header ul ul,
	.main-navigation .nav-header ul ul ul,
	.main-navigation .nav-header ul li:hover ul ul  {
		display: inline-block;
		position: absolute;
		/* Design */
		border-top: 0.2rem solid var( --companycolor );
		padding: 0.25rem 1rem 1rem 1rem;
		background-color: var( --neutrallight );
		box-shadow: 0 0.1rem 0.2rem 0 rgba( 0,0,0,0.25 );
	}
	.main-navigation .nav-header ul ul,
	.main-navigation .nav-header ul li:hover ul ul {
		/* Design */
		visibility: hidden;
		opacity: 0;
		transition: visibility 0s, opacity 0.2s ease-in-out;
	}

	.main-navigation .nav-header ul li:hover ul,
	.main-navigation .nav-header ul li:hover ul li:hover ul {
		opacity: 1;
		visibility: visible;
	}

	/** Submenus **/

	.main-navigation .nav-header ul ul a {
		/* Design */
		width: 10rem;
		border-bottom: 1px solid var( --neutralsemidark );
		transition: border-bottom 0.2s ease-in-out;
	}
	.main-navigation .nav-header ul ul a:hover {
		/* Design */
		border-bottom: 1px solid var( --companycolor );
	}

}

/****************************/