#mp-menu *,
#mp-menu *:after,
#mp-menu *::before {
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}

#mp-menu html, body, 
#mp-menu .container, 
#mp-pusher > .scroller {
	height: 100%;
}

#mp-pusher > .scroller {
	overflow-y: scroll;
}

#mp-pusher > .scroller,
.scroller-inner {
	position: relative;
}

#mp-menu .container {
	position: relative;
	overflow: hidden;
	background: #34495e;
} 


.mp-pusher {
	position: relative;
	left: 0;
	height: 100%;
}

#mp-menu.mp-menu {
	position: fixed;  
	top: 0;
	left: 0;
	z-index: 1;
	width: 100vw;
	height: 100%;
	-webkit-transform: translate3d(-100%, 0, 0);
	-moz-transform: translate3d(-100%, 0, 0);
	transform: translate3d(-100%, 0, 0);
}

#mp-menu .mp-level {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: #fff;
	-webkit-transform: translate3d(-100%, 0, 0);
	-moz-transform: translate3d(-100%, 0, 0);
	transform: translate3d(-100%, 0, 0);
}

/* overlays for pusher and for level that gets covered */
.mp-pusher::after,
#mp-menu .mp-level::after,
#mp-menu .mp-level::before {
	position: absolute;
	top: 0;
	right: 0;
	width: 0;
	height: 0;
	content: '';
	opacity: 0;
}

.mp-pusher::after {
	background: rgba(0,0,0,0.2);
	-webkit-transition: opacity 0.3s, width 0.1s 0.3s, height 0.1s 0.3s;
	-moz-transition: opacity 0.3s, width 0.1s 0.3s, height 0.1s 0.3s;
	transition: opacity 0.3s, width 0.1s 0.3s, height 0.1s 0.3s;
	z-index:9999;
}
#mp-menu .mp-level::after {
	background: rgba(0,0,0,0.1);
	-webkit-transition: opacity 0.3s, width 0.1s 0.3s, height 0.1s 0.3s;
	-moz-transition: opacity 0.3s, width 0.1s 0.3s, height 0.1s 0.3s;
	transition: opacity 0.3s, width 0.1s 0.3s, height 0.1s 0.3s;
}

#mp-menu .mp-level::after {
	z-index: -1;
}

.mp-pusher.mp-pushed::after,
#mp-menu .mp-level.mp-level-overlay::after {
	width: 100%;
	height: 100%;
	opacity: 1;
	-webkit-transition: opacity 0.3s;
	-moz-transition: opacity 0.3s;
	transition: opacity 0.3s;
}

#mp-menu .mp-level.mp-level-overlay {
	cursor: pointer;
}

#mp-menu .mp-level.mp-level-overlay.mp-level::before {
	width: 100%;
	height: 100%;
	background: transparent;
	opacity: 1;
}

.mp-pusher,
#mp-menu .mp-level {
	-webkit-transition: all 0.5s;
	-moz-transition: all 0.5s;
	transition: all 0.5s;
}

/* overlap */
#mp-menu.mp-overlap .mp-level.mp-level-open {
	/*box-shadow: 1px 0 2px rgba(0,0,0,0.2);*/
	-webkit-transform: translate3d(-40px, 0, 0);
	-moz-transform: translate3d(-40px, 0, 0);
	transform: translate3d(-40px, 0, 0);
}

/* First level */
#mp-menu.mp-menu > .mp-level,
#mp-menu.mp-menu > .mp-level.mp-level-open,
#mp-menu.mp-menu.mp-overlap > .mp-level,
#mp-menu.mp-menu.mp-overlap > .mp-level.mp-level-open {
	box-shadow: none;
	-webkit-transform: translate3d(0, 0, 0);
	-moz-transform: translate3d(0, 0, 0);
	transform: translate3d(0, 0, 0);
}

/* cover */
#mp-menu.mp-cover .mp-level.mp-level-open {
	-webkit-transform: translate3d(0, 0, 0);
	-moz-transform: translate3d(0, 0, 0);
	transform: translate3d(0, 0, 0);
}

#mp-menu.mp-cover .mp-level.mp-level-open > ul > li > .mp-level:not(.mp-level-open) {
	-webkit-transform: translate3d(-100%, 0, 0);
	-moz-transform: translate3d(-100%, 0, 0);
	transform: translate3d(-100%, 0, 0);
}

/* content style */
#mp-menu.mp-menu ul {
	margin: 0;
	padding: 0;
	list-style: none;
	max-height:none;
}

#mp-menu.mp-menu h2 {
	margin: 0;
	padding: 1em;
	color: rgba(0,0,0,0.4);
	/*text-shadow: 0 0 1px rgba(0,0,0,0.1);*/
	font-weight: 300;
	font-size: 2em;
}

#mp-menu.mp-menu.mp-overlap h2::before {
	position: absolute;
	top: 0;
	right: 0;
	margin-right: 8px;
	font-size: 75%;
	line-height: 1.8;
	opacity: 0;
	-webkit-transition: opacity 0.3s, -webkit-transform 0.1s 0.3s;
	-moz-transition: opacity 0.3s, -moz-transform 0.1s 0.3s;
	transition: opacity 0.3s, transform 0.1s 0.3s;
	-webkit-transform: translateX(-100%);
	-moz-transform: translateX(-100%);
	transform: translateX(-100%);
}

#mp-menu.mp-menu.mp-cover h2 {
	text-transform: uppercase;
	font-weight: 700;
	letter-spacing: 1px;
	font-size: 1em;
}

#mp-menu.mp-overlap .mp-level.mp-level-overlay > h2::before {
	opacity: 1;
	-webkit-transition: -webkit-transform 0.3s, opacity 0.3s;
	-moz-transition: -moz-transform 0.3s, opacity 0.3s;
	transition: transform 0.3s, opacity 0.3s;
	-webkit-transform: translateX(0);
	-moz-transform: translateX(0);
	transform: translateX(0);
}

#mp-menu.mp-menu ul li > a {
	display: block;
	padding: 10px 10px 10px 35px;
	outline: none;
	/*box-shadow: inset 0 -1px rgba(0,0,0,0.2);
	text-shadow: 0 0 1px rgba(255,255,255,0.1);*/
	font-size:13px;
	/*-webkit-transition: background 0.3s, box-shadow 0.3s;
	-moz-transition: background 0.3s, box-shadow 0.3s;
	transition: background 0.3s, box-shadow 0.3s;*/
}

#mp-menu.mp-menu ul li::before {
	position: absolute;
	left: 10px;
	z-index: -1;
	color: rgba(0,0,0,0.2);
	line-height: 3.5;
}

#mp-menu .mp-level > ul > li:first-child > a {
	/*box-shadow: inset 0 -1px rgba(0,0,0,0.2), inset 0 1px rgba(0,0,0,0.2);*/
}

#mp-menu.mp-menu ul li a:hover,
#mp-menu .mp-level > ul > li:first-child > a:hover {
	/*background: rgba(0,0,0,0.2);
	box-shadow: inset 0 -1px rgba(0,0,0,0);*/
}

#mp-menu.mp-menu .mp-level.mp-level-overlay > ul > li > a,
#mp-menu .mp-level.mp-level-overlay > ul > li:first-child > a {
	/*box-shadow: inset 0 -1px rgba(0,0,0,0);*/
}

#mp-menu .mp-level > ul > li:first-child > a:hover,
#mp-menu .mp-level.mp-level-overlay > ul > li:first-child > a {
	/*box-shadow: inset 0 -1px rgba(0,0,0,0), inset 0 1px rgba(0,0,0,0);*/
} /* seems like Chrome 34.0.1847.131 needs the second shadow otherwise the transition breaks */

#mp-menu .mp-back {
	outline: none;
	text-transform: uppercase;
	display: block;
	padding: 10px 35px 10px 35px;
	position: relative;
	color:#000!important;
	    font-size: 13px;
    border-bottom: solid 1px #dedede;
	font-weight:600;
}

#mp-menu .mp-back::after {
	content:"";
	background:url(../images/arrow-left-black.svg) no-repeat center left;
    background-size: 6px 13px;
	width:6px;
	height:13px;
	position:absolute;
	top:calc(50% - 7px);
	left:13px;
}

#mp-menu.mp-menu .mp-level.mp-level-overlay > .mp-back,
#mp-menu.mp-menu .mp-level.mp-level-overlay > .mp-back::after {
	background: transparent;
	box-shadow: none;
	color: transparent;
}

/* Fallback example for browsers that don't support 3D transforms (and no JS fallback) */
/* We'll show the first level only */
.no-csstransforms3d:not(.csstransforms3d) .mp-pusher,
.no-js .mp-pusher {
	padding-left: 300px;
}

#mp-menu .no-csstransforms3d .mp-menu .mp-level,
#mp-menu .no-js .mp-menu .mp-level {
	display: none;
}

#mp-menu .no-csstransforms3d .mp-menu > .mp-level,
#mp-menu .no-js .mp-menu > .mp-level {
	display: block;
}

#mp-menu .icon.icon-display {
	background:url(../images/arrow-right-black.svg) no-repeat center right;
    background-size: 6px 13px;
    background-position-x: calc (100% - 13px);
}
#mp-menu ul li {
	border-bottom: solid 1px #dedede;
}
#mp-menu .mp-level {
    padding: 0 ;
	height:100vh;     /* WebKit-based browsers will ignore this. */

	z-index:1;
}
#mp-menu .mp-level .mp-level {
	z-index:2;
	background: var(--bs-gray-100);
}
#mp-menu .mp-level .mp-level .mp-level {
	z-index:3;
}
#mp-menu .mp-level .mp-level .mp-level .mp-level {
	z-index:4;
}



/* // Large devices (desktops, 992px and up) */
@media (max-width: 991px) {  
 
	.menu-trigger {
		position: relative;
		margin: 0;	
		font-size: var(--text-md);
		padding: 14px 8px;
	}

	.mp-menu-close {
		width: 40px;
		height: 40px;
		position: absolute;
		right: 0;
		top: 12px;
		z-index: 9999999;
		opacity: 0;
		transition: opacity 0.3s 0.6s;
		font-size: 21px;
		padding: 10px;
		vertical-align: middle;
		line-height: 21px;
		text-align: center;
		margin: 0 5px 0 0;
	}
	body.noscroll  .mp-menu-close{
	
		opacity:1;
		visibility:visible;
	} 
	#mobimenu:not( .mm-menu ) {
        display: none;
    }

	#mp-menu .mobi-menu-header {
		padding: 20px;
	}
	#mp-menu .mobi-menu-header > ul > li, #mp-menu .mobi-menu-footer > ul > li > ul > li {
		border: none;
		display: inline-block;
		margin: 0 20px 0 0;
	}
	#mp-menu .mobi-menu-header > ul > li > a , #mp-menu .mobi-menu-footer > ul > li > ul > li > a {
		font-size: var(--text-sm);
		text-transform: uppercase;
		font-weight: 600;
		opacity: 0.3;
		padding: 0;
		border-bottom: 2px solid #fff;
	}
	#mp-menu .mobi-menu-footer > ul > li > ul > li > a{
		border-bottom: 2px solid var(--bs-gray-200);
		margin-top: 20px;

	}
	#mp-menu .mobi-menu-header > ul > li.active > a, #mp-menu .mobi-menu-header > ul > li:hover > a ,
	#mp-menu .mobi-menu-footer > ul > li > ul > li.active > a, #mp-menu .mobi-menu-footer  ul > li > ul > li:hover > a {
		border-bottom: 2px solid var(--bs-primary);
		color: var(--bs-primary);
		opacity: 1;
	}


	#mp-menu.mp-cover > .mp-level.mp-level-open {
		display: flex;
    	flex-direction: column;
    	justify-content: start;
		height:100vh;    /* WebKit-based browsers will ignore this. */
		height: calc(var(--vh, 1vh) * 100);
		box-sizing: border-box;
		position: sticky;
	}


	#mp-menu .mobi-menu-body, .mobi-submenu, .mobi-menu-footer{
		padding: 20px;
		background-color: var(--bs-gray-100);
	}
	.mobi-menu-body {
		flex-shrink: 1;
		min-height: 0;
		overflow: auto;
		flex-grow: 1;
	}
	.mobi-submenu{
		border-top: 1px solid var(--bs-gray-200);
	}
	.mobi-menu-footer{
		background-color: var(--bs-gray-200);
	}


	#mp-menu .static-mobi-menu {
		margin: 35px 0px;
		padding:0px 15px;
	}
	#mp-menu h3 {
		font-size: 28px;
		line-height: 34px;
		text-transform: none;
	}
	#mp-menu h4 {
		font-size: 18px;
		line-height: 24px;
		text-transform: none;
	} 
	#mp-menu.mp-menu .mobi-menu-footer ul > li > a {
		padding: 0;
	}
	#mp-menu .mobi-menu-footer .mobi-menu-footer-item {
		float:left;
	}
	#mp-menu .mobi-menu-footer .col:nth-last-child(1) .mobi-menu-footer-item {
		float:right;
	}
	#mp-menu.mp-menu {
		z-index: 9999999;
		height:100%;
		max-height: -webkit-fill-available;
	}
	.mp-pusher, #mp-menu.mp-menu, #mp-menu .mp-level {
		-webkit-transition: all 0.5s;
		-moz-transition: all 0.5s;
		transition: all 0.5s;
	}
	#mp-menu.mp-menu ul {
		overflow:auto;
	}
	#mp-menu ul li {
		border-bottom: none;
	}
	#mp-menu .icon.icon-display {
		background-size: 8px 16px;
	}
	#mp-menu .mp-back {
		font-size: 16px;
		font-weight: 500;
		padding-top: 19px;
		padding-bottom: 19px;
		background: #fff;
	}
	 
	#mp-menu.mp-menu ul .level0 > a {
	font-size: 24px;
	letter-spacing: 0.24px;
	font-weight: 400;
	padding: 10px 0;
}


#mp-menu.mp-menu ul .level0.home-level0 > a {
	text-transform: uppercase;
	font-size: var(--text-sm);
	font-weight: 600;
	letter-spacing: 0.75px;
}
#mp-menu.mp-menu ul .level0.home-level0 > a i{
	margin-right: 10px;
}

#mp-menu.mp-menu ul .level1 {
	padding: 0 20px;
}

	#mp-menu.mp-menu ul .level1 > a,
	#mp-menu.mp-menu ul .level2 > a {
		font-size: 24px;
		letter-spacing: 0.24px;
		font-weight: 400;
		padding: 12px 0;
	}
	#mp-menu.mp-menu ul .level2 {
		text-transform: capitalize;
		padding: 0 20px;
	}
	.mobi-submenu { 
	}
	.mobi-submenu ul {
		max-height: 100%!important; 
	}
	#mp-menu.mp-menu .mobi-submenu ul li, #mp-menu.mp-menu .mobi-menu-footer ul li {
		border:0px none;
		margin-bottom:6px;
	}
	#mp-menu.mp-menu .mobi-submenu ul li > a , #mp-menu.mp-menu .mobi-menu-footer ul li > a {
		padding: 0;
		font-size: var(--text-sm);
		font-weight: 500;
		text-transform: none;
	}
	#mp-menu.mp-menu .mobi-menu-footer ul li > a {
		font-weight: 600;
		text-transform: uppercase;
	}

	.mp-pusher {
		-webkit-transform: none!important;
		-moz-transform: none!important;
		transform: none!important;
	}
	.mp-pusher.mp-pushed {
		-webkit-transform: translate3d(0px, 0px, 0px)!important;
		-moz-transform: translate3d(0px, 0px, 0px)!important;
		transform: translate3d(0px, 0px, 0px)!important;
	}
	
	.mp-pusher.mp-pushed #mp-menu.mp-menu {
		-webkit-transform: translate3d(0px, 0px, 0px)!important;
		-moz-transform: translate3d(0px, 0px, 0px)!important;
		transform: translate3d(0px, 0px, 0px)!important;
	}

 


}