/*-----// STAGE AND SCOLL CLASSES //-----*/

body {
	position: absolute;
	width:100%;
	height:100%;
	left:0;
	top:0;
}
html.no-scroll {
	height:100%;
	position: relative;
}
body.no-scroll {
	position: absolute;
	height:100%;
	overflow:hidden !important;
}
.no-scroll {
	overflow:hidden !important;
	max-height:100% !important;
}
.fixed-pos {
	position: fixed;
}
.scroll-vert {
	overflow-y: scroll;
	overflow-x: hidden;
    display: block;
	flex: 1;
}
.scroll-vert::-webkit-scrollbar{
  width: 0px;
  height: 0px;
}
#sp-overlay {
	position: fixed;
	top: 0;
	left: 0;
	background-color: #000;
	width: 100%;
	z-index: 1999;
}
#sp-overlay {
	opacity: 0;
	height: 0;
	transition: opacity 0.3s, height 0s;
	transition-delay: 0s, 0.3s;

}
#sp-overlay.active {
	height: 100%;
	opacity: 0.8;
	transition: height 0s, opacity 0.3s;
	transition-delay: 0s, 0s;
}
.sp-menu {
	position: fixed;
	width: 100vw;
	max-width: 500px;
	height: 100vh;
	top: 0;
	z-index: 2000;
	display: flex;
	flex-direction: column;
}
.sp-trigger {
	line-height: 1;
}



/*-----// SIDE NAV WIDTHS AND PUSH //-----*/

.sp-menu-left {
	left: -500px;
}
.sp-menu-right {
	right: -500px;
}
.sp-menu-left.sp-menu-open {
	left: 0px;
}
.sp-menu-right.sp-menu-open {
	right: 0px;
}


/*-----// PUSH CLASS APPLIED TO THE BODY //-----*/

.sp-menu-push {
	/*overflow-x: hidden;*/
	position: relative;
	left: 0;
}


/*-----// SIDE NAV TRANSITIONS //-----*/

.sp-menu,
.sp-menu-push {
	-webkit-transition: all 0.3s ease;
	-moz-transition: all 0.3s ease;
	transition: all 0.3s ease;
}


/*-----// CONTAINER STYLES //-----*/

nav.sp-menu {
	background-color: #fff;
}


/*-----// SLIDE TITLE //-----*/
nav.sp-menu .slideTitle {
	position: relative;
    color: #fff;
    font-size: 20px;
    border: 0;
    padding: 20px;
	background-color: var(--black);
}
nav.sp-menu .menu-close {
    text-align: center;
    color: #fff;
	position: relative;
	width: 30px;
	height: 30px;
	display: block;
}
nav.sp-menu .menu-close:before, nav.sp-menu .menu-close:after {
	content: '';
	position: absolute;
	width: 30px;
	height: 1px;
	background-color: var(--white);
	top: 50%;
	left: 0;
}
nav.sp-menu .menu-close:before {
	transform: rotate(45deg);
}
nav.sp-menu .menu-close:after {
	transform: rotate(-45deg);
}


    
/*-----// SCROLL //-----*/

nav.sp-menu .scroll-vert {
	padding: 0
}


/*-----// NAV STYLES //-----*/

nav.sp-menu ul {
	list-style-type: none !important;
    padding: 0px;
}
nav.sp-menu a {
	color: var(--black);
	border-bottom: 1px solid var(--lightgrey) !important;
	display: block;
    text-decoration: none;
	padding: 12px 20px;
	font-size: 1.8rem;
	font-weight: 300;
}
nav.sp-menu a:hover,
nav.sp-menu a:focus {
	background-color: var(--lightgrey);
}


/*-----// SIDE NAV EXPAND //-----*/


nav.sp-menu .side-nav-expand {
	padding-bottom: 100px;
}
.mobile-menu-wrap {
	position: relative;
}
.mobile-menu-wrap .sub-menu {
	position: absolute;
	top: 0;
	left: 100%;
	width: 100vw;
	max-width: 500px;
	z-index: -1;
	opacity: 0;
	padding-bottom: 60px;
}
.mobile-menu-wrap a.active + .sub-menu {
	z-index: 1;
	opacity: 1;
}
.mobile-menu-wrap .menu-item-has-children > a:after {
	content: '>';
	float: right;
	font-family: monospace;
}
#menu-mobile-menu {
	transition: transform 0.3s ease;
}

nav.sp-menu a.menu-back {
	border-bottom: 2px solid var(--grey) !important;
}
nav.sp-menu a.menu-back span {
	font-family: monospace;
}















