#masthead .menu-toggle
{
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
	transition: color .25s ease;
	transform: translateX(6px);

	color: #0f1e36;
	font-size: 55px;
	line-height: 1;
	speak: none;
	text-align: center;
	vertical-align: middle;

	border: 0;
	box-sizing: border-box;
	display: none;
	 align-items: center;
	 justify-content: center;
	overflow: hidden;
	padding: 5px;
	position: relative;
	 z-index: 1;

	height: 55px;
	width: 55px;
}

#masthead .menu-toggle [class*="uspis-icon-"]
{
	transform: translate(-50%, -50%);

	position: absolute;
	 top: 50%;
	 left: 50%;
}

@media only screen and (max-width: 1176px)
{
	#masthead .menu-toggle
	{
		display: inline-block;
		margin-left: auto;
	}
}

#masthead #menu-menu
{
	text-align: right;

	box-sizing: border-box;
	flex: 1 1 auto;
	justify-self: flex-end;
	margin: 0;
	 z-index: 3;

	max-height: 100%;
}

#masthead #menu-menu .wrap
{
	display: flex;
	 align-items: center;
	 flex-flow: row nowrap;
	 justify-content: flex-end;
	list-style: none;
	margin: 0;
	padding: 0;
}

#masthead #menu-menu .menu-item
{
	box-shadow: none;
	transition: all .2s ease;

	color: #09172d;
	text-decoration: none;
	vertical-align: middle;
	list-style: none;
	margin: 0 6.25vmin 0 0;
	padding: 0;
}

#masthead #menu-menu .menu-item:last-of-type
{
	margin-right: 0;
}

@media only screen and (min-width: 1177px)
{
	#masthead #menu-menu .menu-item.active > [role="menuitem"]
	{
		color: #6e6e6e;
	}
}

#masthead #menu-menu .menu-item .menu-label
{
	position: relative;
}

#masthead #menu-menu .menu-item [role="menuitem"]
{
	transition: color .25s ease;

	display: inline-block;
	position: relative;
}

@media only screen and (min-width: 1177px)
{
	#masthead #menu-menu .menu-item [role="menuitem"].level-0:hover,
	#masthead #menu-menu .menu-item [role="menuitem"].level-0:focus,
	#masthead #menu-menu .menu-item [role="menuitem"].level-0:hover:before,
	#masthead #menu-menu .menu-item [role="menuitem"].level-0:focus:before
	{
		color: #6e6e6e !important;
	}

	#masthead #menu-menu .menu-item [role="menuitem"][href*="search"]
	{
		transform: translateY(-5px);

		color: transparent;
		font-size: 0;
		text-align: center;

		box-sizing: border-box;
		overflow: visible;

		height: 40px;
		width: 40px;
	}

	#masthead #menu-menu .menu-item [role="menuitem"][href*="search"]:before
	{
		-webkit-backface-visibility: hidden;
		backface-visibility: hidden;
		transform: translate(-50%, -50%);
		transition: color 0.25s ease;

		color: #09172d;
		font: normal 400 42px/1 "USPIS UI", sans-serif;
		-webkit-font-smoothing: antialiased;
		-moz-osx-font-smoothing: grayscale;
		font-variant: normal !important;
		text-transform: none !important;
		speak: none;
		vertical-align: middle;

		display: inline-block;
		position: absolute;
		 top: 50%;
		 left: 50%;

		content: "\63";
	}

	.show-search #masthead #menu-menu .menu-item [role="menuitem"][href*="search"]:before
	{
		content: "\64";
	}

	#masthead #menu-menu .menu-item [role="menuitem"].level-0:not([href*="search"]):after
	{
		-webkit-backface-visibility: hidden;
		backface-visibility: hidden;
		transform: skew(-20deg) translateY(-50%);
		transition: all 0.25s ease;

		border-top: #09172d solid 3px;
		display: inline-block;
		margin: 3px 0;
		position: absolute;
		 top: 100%;
		 left: 0;
		 z-index: -1;

		height: 0;
		width: 0;

		content: "";
	}
}

#masthead #menu-menu .menu-item.current-menu-item > [role="menuitem"]:not(.level-0)
{
	text-decoration: underline;
}

@media only screen and (max-width: 1176px)
{
	#masthead #menu-menu .menu-item
	{
		font-size: 8vw;
		text-align: left;

		box-sizing: border-box;
		display: inline-block;
		margin: 4vh 0 0;
	}

	#masthead #menu-menu .menu-item.has-children > [role="menuitem"]
	{
		padding-right: 12vw;
	}

	#masthead #menu-menu .menu-item.has-children > [role="menuitem"]:after
	{
		-webkit-backface-visibility: hidden;
		backface-visibility: hidden;
		transform: translateY(-50%);

		color: #f8be21;
		font: normal 400 1.25em/1 "USPIS UI", sans-serif;
		-webkit-font-smoothing: antialiased;
		-moz-osx-font-smoothing: grayscale;
		font-variant: normal !important;
		line-height: 1;
		speak: none;
		text-transform: none !important;
		vertical-align: middle;

		display: inline-block;
		position: absolute;
		 top: 50%;
		 right: 0;

		content: "w";
	}

	#masthead #menu-menu .menu-item.has-children.active > [role="menuitem"]:after
	{
		content: "j";
	}
	#masthead #menu-menu .menu-item.current-menu-item > [role="menuitem"]
	{
		text-decoration: underline;
	}

}

@media only screen and (min-width: 1177px)
{
	#masthead #menu-menu .menu-item.current-page-item .level-0:not([href*="search"]):after,
	#masthead #menu-menu .menu-item.current-menu-item .level-0:not([href*="search"]):after
	{
		width: calc(100% + 20px);
	}
	
	#masthead #menu-menu .menu-item .level-0:not([href*="search"]):hover:after,
	#masthead #menu-menu .menu-item .level-0:not([href*="search"]):focus:after
	{
		border-color: #6e6e6e !important;

		width: calc(100% + 20px);
	}
}

#masthead #menu-menu nav-header
{
	border-bottom: #e5e5e5 solid 1px;
	box-sizing: border-box;
	display: none;
	 align-items: flex-start;
	 flex-flow: row nowrap;
	 justify-content: space-between;
	padding: 0 30px 0 15px;
	position: absolute;
	 top: 0;
	 left: 0;

	height: 56px;
	width: 100%;
}

@media only screen and (max-width: 1176px)
{
	#masthead #menu-menu
	{
		background: #f2f2f2;
		transition: transform .5s ease;

		flex-direction: column;
		justify-content: flex-start;
		padding: 56px 0 0;
		position: fixed;
		 top: 0;
		 right: 0;
		 z-index: 4;

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

	#masthead #menu-menu nav-header
	{
		display: flex;
	}

	#masthead #menu-menu nav-header .custom-logo-link
	{
		box-shadow: none;
		border: 0;
		box-sizing: border-box;
		display: inline-block;
		margin: 0;
		outline: none;
		padding: 5px;

		height: 100%;
	}

	#masthead #menu-menu nav-header .custom-logo-link:hover,
	#masthead #menu-menu nav-header .custom-logo-link:focus
	{
		color: #6e6e6e;
	}

	#masthead #menu-menu nav-header .custom-logo-link img
	{
		-webkit-backface-visibility: hidden;
		backface-visibility: hidden;

		height: 100%;
	}

	#masthead #menu-menu .wrap
	{
		align-items: flex-start;
		box-sizing: border-box;
		flex-direction: column;
		justify-content: flex-start;
		overflow: hidden;
		overflow-y: scroll;
		padding: 20px;

		max-height: 100%;
		height: 100%;
	}
}

@media only screen and (max-width: 1176px) and only screen and (max-width: 1176px)
{
	#masthead #menu-menu nav-header
	{
		margin-left: -5px;
	}

	#masthead #menu-menu nav-header .custom-logo-link
	{
		box-sizing: border-box;
		padding: 5px;
		margin: 0;
	}
}

@media only screen and (max-width: 1176px)
{
	#masthead #menu-menu
	{
		transform: translateX(100%);
		transition: transform .5s ease .25s;
	}

	body.show-mobile-menu #masthead #menu-menu
	{
		transform: translateX(0);
	}
}