.mod_mobile_menu{
	position:fixed;
	top:1rem;
	right:1rem;
	z-index:10000;
}

.mobile_menu{
	width:80%!important;
	max-width:320px;
	font-size:1rem;
}

.mobile_menu .inner{
	height:100%;
	background:#fff;
	box-shadow:-12px 0 30px rgba(0,0,0,.18);
}

.mobile_menu .mod_navigation{
	padding:0;
}

.mobile_menu ul{
	margin:0;
	padding:0;
}

.mobile_menu li{
	position:relative;
	margin:0;
	list-style:none;
	border-bottom:1px solid #ececec;
}

.mobile_menu a,
.mobile_menu strong{
	display:block;
	padding:.9rem 3rem .9rem 1.25rem;
	color:#222;
	text-decoration:none;
	font-weight:400;
	transition:background .2s ease,color .2s ease;
}

.mobile_menu a:hover,
.mobile_menu li.active>a,
.mobile_menu strong.active{
	background:#f6f3f9;
	color:#5a2982;
	font-weight:600;
}

.mobile_menu li.active::before{
	content:"";
	position:absolute;
	left:0;
	top:0;
	bottom:0;
	width:4px;
	background:#76b82a;
}

.mobile_menu li.navmore>a{
	position:relative;
}

.mobile_menu ul.level_1>li.navmore>a::after{
	content:"";
	position:absolute;
	right:1.25rem;
	top:50%;
	width:.45rem;
	height:.45rem;
	border-right:2px solid currentColor;
	border-bottom:2px solid currentColor;
	transform:translateY(-60%) rotate(45deg);
	opacity:.6;
}

.mobile_menu ul.level_2{
	background:#fafafa;
}

.mobile_menu ul.level_2 a,
.mobile_menu ul.level_2 strong{
	padding:.75rem 1.25rem .75rem 2.2rem;
	font-size:.95rem;
}

.mobile_menu ul.level_3 a,
.mobile_menu ul.level_3 strong{
	padding:.65rem 1.25rem .65rem 3rem;
	font-size:.9rem;
}

.mobile_menu .invisible{
	position:absolute;
	left:-9999px;
	width:1px;
	height:1px;
	overflow:hidden;
}

.mobile_menu_trigger{
	text-align:right;
}

.mobile_menu_trigger .hamburger{
	display:flex;
	flex-direction:column;
	justify-content:center;
	align-items:center;
	gap:5px;
	width:50px;
	height:50px;
	background:#5a2982;
	border:2px solid #fff;
	border-radius:10px;
	box-sizing:border-box;
	cursor:pointer;
	box-shadow:0 8px 20px rgba(0,0,0,.18);
	transition:
		background .25s ease,
		box-shadow .25s ease,
		border-color .25s ease;
}

.mobile_menu_trigger .hamburger:hover{
	background:#76b82a;
	border-color:#fff;
	box-shadow:0 12px 28px rgba(0,0,0,.24);
}

.mobile_menu_trigger .hamburger span{
	display:block;
	width:22px;
	height:2px;
	background:#fff;
	border-radius:2px;
	transform-origin:center;
	transition:
		transform .3s ease,
		opacity .2s ease;
}

.mobile_menu_active .mobile_menu_trigger .hamburger{
	background:#76b82a;
	border-color:#fff;
	box-shadow:0 12px 28px rgba(0,0,0,.24);
}

.mobile_menu_active .mobile_menu_trigger .hamburger span:nth-child(1){
	transform:translateY(7px) rotate(45deg);
}

.mobile_menu_active .mobile_menu_trigger .hamburger span:nth-child(2){
	opacity:0;
}

.mobile_menu_active .mobile_menu_trigger .hamburger span:nth-child(3){
	transform:translateY(-7px) rotate(-45deg);
}

@media (min-width:992px){
	.mod_mobile_menu{
		display:none;
	}
}