:root {
  --bg-color: white;
  --font: inherit;
  --font-size: inherit;
  --font-color: #000000;
  --font-weight: inherit;
  --background-color: #FFFFFF;
}

#cmi-mobile-menu {
	position: fixed;
	width: 80%;	
	z-index: 1000001;
	overflow: hidden;
	background-color: var(--bg-color);
}

#cmi-mobile-menu i {
	pointer-events: none;
}

#cmi-mobile-menu nav {
	display: flex;
	flex-direction: column;
	margin: auto;
	overflow-y: auto;
}

#cmi-mobile-menu #main-menu {
	position: relative;
	width: 100%;
}

#cmi-mobile-menu ul {
	list-style: none;
	margin-block-start: 0;
  margin-block-end: 0;
  margin-inline-start: 0;
  margin-inline-end: 0;
  padding-inline-start: 0;
  width: 100%;
}

#cmi-mobile-menu .sub-menu {
	display: none;
	position: absolute;
	top: 0;
	left: 100%;
}

#cmi-mobile-menu li, #cmi-mobile-menu li a {
	font-family: var(--font)!important;
	color: var(--font-color)!important;
	text-decoration: none!important;
	font-weight: var(--font-weight)!important;
}

#cmi-mobile-menu li {
	padding: .5rem;
	width: 100%;
}

#cmi-mobile-menu .fa-caret-right {
	float: right;
	margin-top: .25rem;
}

#cmi-mobile-menu li:not(.menu-item-has-children) {
	padding: 0;
}

#cmi-mobile-menu li.back-button {
	padding: .5rem;
}

#cmi-mobile-menu li:not(.menu-item-has-children)>a {
	display: block;
	width: 100%;
	height: 100%;
	padding: .5rem;
}

#cmi-mobile-menu nav.cmi-menu-open {
	max-height: none;
	width: 80%;
	animation: open 300ms linear;
	animation-fill-mode: forwards;
}

#cmi-mobile-menu nav.cmi-menu-open a, #cmi-mobile-menu nav.cmi-menu-open .fa-caret-right, #cmi-mobile-menu nav.cmi-menu-open .back-button {
	font-size: var(--font-size);
}

#cmi-mobile-menu nav.cmi-menu-closed {
	max-height: none;
	width: 1000;
	animation: close 300ms linear;
	animation-fill-mode: forwards;
}

#cmi-mobile-menu nav.cmi-menu-closed a, #cmi-mobile-menu nav.cmi-menu-closed .fa-caret-right, #cmi-mobile-menu nav.cmi-menu-closed .back-button {
	font-size: 0;
}

#cmi-mobile-menu-social-links {
	display: flex;
}

#cmi-mobile-menu li#cmi-mobile-menu-social-links>a{
	width: auto;
}

#cmi-mobile-menu-social-links i {
	font-size: 1rem;
	color: var(--font-color)!important;
	padding: 0!important;
}

.cmi-menu-closed #cmi-mobile-menu-social-links i {
	font-size: inherit;
}