/*-----// 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: 998;
}
#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: 95px;
	z-index: 2000;
	display: flex;
	flex-direction: column;
}
.sp-trigger {
	line-height: 1;
}

@media (max-width : 565px) {
	.sp-menu {
		top: 83px;
	}
}



/*-----// 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;
}

    
/*-----// 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: flex;
    align-items: center;
    justify-content: space-between;
    text-decoration: none;
	padding: 12px 20px;
	font-size: 1.8rem;
	font-weight: 500;
}
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: '';
    width: 20px;
    height: 13px;
    background: no-repeat url("data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgMjAgMTMiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZmlsbD0iIzBEMjQ0QSIgZD0iTTEzLjEyNiAxMi45OThsLS41NTItLjQ4OCA1LjY1LTUuNjVIMHYtLjc0M2gxOC4yMjNsLTUuNjUtNS42NS41NTMtLjQ2NyA2LjQ5OSA2LjV6Ii8+PC9zdmc+") 50% 50% / 20px 13px;
}
.mobile-menu-wrap > ul {
	transition: transform 0.3s ease;
}

nav.sp-menu a.menu-back {
	border-bottom: 2px solid var(--grey) !important;
    justify-content: flex-start;
}
nav.sp-menu a.menu-back span {
	content: '';
    width: 20px;
    height: 13px;
    background: no-repeat url("data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgMjAgMTMiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZmlsbD0iIzBEMjQ0QSIgZD0iTTEzLjEyNiAxMi45OThsLS41NTItLjQ4OCA1LjY1LTUuNjVIMHYtLjc0M2gxOC4yMjNsLTUuNjUtNS42NS41NTMtLjQ2NyA2LjQ5OSA2LjV6Ii8+PC9zdmc+") 50% 50% / 20px 13px;
    transform: rotate(180deg);
    margin-right: 20px;
}















