/* Overlay style */
.overlay {
	position: fixed;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	background: rgba(19,243,130,0.95) url(../images/fullmenu-white.png) no-repeat center center / cover;
	overflow: auto;
}

/* Overlay closing cross */
.overlay .overlay-close {
	width: 78px;
	height: 78px;
	position: absolute;
	right: 25px;
	top: 25px;
	overflow: hidden;
	border: none;
	background: url(../images/close-menu-icon-white.svg) no-repeat center center, url(../images/close-menu-white.svg) no-repeat center center / cover;
	text-indent: 200%;
	color: transparent;
	outline: none;
	z-index: 100;
	display: none;
}

/* Menu style */
.overlay .main-menu-block {
	text-align: center;
	position: relative;
	top: 32%;
	height: 60%;
	font-size: 50px;
	line-height: 54px;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
}

.overlay ul {
	list-style: none;
	padding: 0;
	margin: 0 auto;
	display: block;
	height: 100%;
	position: relative;
}

.overlay ul li {
	display: block;
	height: 20%;
	height: calc(100% / 6);
	min-height: 54px;
}

.overlay ul li a {
	margin-bottom: 25px;
	font-weight: 700;
	display: inline-block;
	color: #10137b;
	-webkit-transition: all 0.2s;
	transition: all 0.2s;
	border: solid 1px transparent;
	position: relative;
}

.overlay ul li a:before {
	content: "";
	display: block;
	position: absolute;
	width: 0%;
	height: 1px;
	top: 100%;
	left: 50%;
	background: #10137b;
	-webkit-transition: all 0.2s;
	transition: all 0.2s;
}

.overlay ul li.current-menu-item a:before {
	width: 100%;
	height: 2px;
	top: 59%;
	left: 0px;
	background: #fff;
}

.overlay ul li a:hover,
.overlay ul li a:focus {
	color: #4040ba;
}

.overlay ul li a:hover:before,
.overlay ul li a:focus:before {
	left: 0px;
	width: 100%;
}

.overlay ul li.current-menu-item a,
.overlay ul li.current-menu-item a:hover,
.overlay ul li.current-menu-item a:focus{
	color: #fff;
	border-color: transparent;
}

/* Effects */
.overlay-hugeinc {
	opacity: 0;
	visibility: hidden;
	-webkit-transition: opacity 0.5s, visibility 0s 0.5s;
	transition: opacity 0.5s, visibility 0s 0.5s;
}

.overlay-hugeinc.open {
	opacity: 1;
	visibility: visible;
	-webkit-transition: opacity 0.5s;
	transition: opacity 0.5s;
}

.overlay-hugeinc .main-menu-block {
	-webkit-perspective: 1200px;
	perspective: 1200px;
}

.overlay-hugeinc .main-menu-block ul {
	opacity: 0.4;
	-webkit-transform: translateY(-25%) rotateX(35deg);
	transform: translateY(-25%) rotateX(35deg);
	-webkit-transition: -webkit-transform 0.5s, opacity 0.5s;
	transition: transform 0.5s, opacity 0.5s;
}

.overlay-hugeinc.open .main-menu-block ul {
	opacity: 1;
	-webkit-transform: rotateX(0deg);
	transform: rotateX(0deg);
}

.overlay-hugeinc.close .main-menu-block ul {
	-webkit-transform: translateY(25%) rotateX(-35deg);
	transform: translateY(25%) rotateX(-35deg);
}

.overlay ul .menu-item-has-children a { }
.overlay ul .menu-item-has-children > a::after { content: ""; display: inline-block; margin: 0 0 4px 12px; width: 12px; height: 32px; background: url(../images/blue-menu-arrow.svg) no-repeat center center / auto 100%; vertical-align: middle; }
.overlay ul .menu-item-has-children > a.active-sub-menu::after { transform: rotate(180deg); -webkit-transform: rotate(180deg); }
.overlay ul li .sub-menu 			{ margin: -16px 0 18px; }
.overlay ul li .sub-menu li 	{ line-height: 36px; height: initial; min-height: initial; }
.overlay ul li .sub-menu a { margin: 0; font-size: 20px; line-height: 35px; font-weight: 500; }
.overlay ul li .sub-menu a::before { display: none; }
.overlay ul li .sub-menu .current_page_item a, 
.overlay ul li .sub-menu a:hover, 
.overlay ul li .sub-menu a:focus { color: #4040ba; border-bottom: 1px solid #4040ba; }

@media (max-width: 991px) {
	.overlay .overlay-close {
		width: 36px;
		height: 36px;
		right: 17px;
		top: 17px;
		background-size: 15px auto, cover
	}
}

@media (max-width: 1024px) {
	.overlay .main-menu-block {
		top: 37%;
		height: 70%;
		font-size: 34px;
		line-height: 36px;
	}
	.overlay ul li {
		min-height: 34px;
	}
}
@media (max-width: 767px) {
	.overlay .main-menu-block {
		margin-bottom: 15px;
 		font-size: 28px;
		line-height: 30px;
	}
	.overlay ul li a {
    	margin-bottom: 15px;
	}
	.overlay ul li .sub-menu li 	{ line-height: 30px; }
	.overlay ul .menu-item-has-children > a::after { margin: 0 0 4px 12px; width: 10px; height: 24px; transition: all 0.3s ease-in-out; -webkit-transition: all 0.3s ease-in-out; }
	.overlay ul li .sub-menu 			{  }
	.overlay ul li .sub-menu a { font-size: 16px; line-height: 26px; }
}
@media screen and (max-height: 30.5em) {
	.overlay .main-menu-block {
		height: 70%;
		margin-bottom: 15px;
 		font-size: 28px;
		line-height: 30px;
	}
	.overlay ul li {
		min-height: 34px;
	}
	.overlay ul li a {
    	margin-bottom: 15px;
	}
}