.menu
{
	--breadcrumbs-height: 10vh;
	display: block;
	transition: height 10s ease;
	
	position: fixed;	
	top: 120px;
	left: 0;
	width: 300px;
	height: 100%;
	min-height: 110vh;
	overflow-y: auto;
	background: #1c1d22;/*#1c1d22;*/
}
.menu.menu_animating
{
	height: 100vh;
	overflow-y: hidden;
}
.menu__wrap
{
	/*
	position: absolute;
	top: calc(var(--breadcrumbs-height) + var(--topbar-height-sm));
	bottom: 0;
	overflow: hidden;
	*/
	position: relative;
	width: 100%;
}

.menu__level {
	/*
	position: absolute;
	*/
	
	visibility: hidden;
	/*
	overflow: hidden;
	overflow-y: scroll;
	*/
	display: none;
	width: 100%;

	height: auto;

	margin: 0;
	padding: 0;
	padding-bottom: 30vh;
	list-style-type: none;
}

.menu__level:focus {
	outline: none;
}

.menu__level--current {
	visibility: visible;
	display: block;
}
.menu__link--accent
{
	color: #ff9000 !important;
}

.menu__item
{
	display: block;
	width: 100%;
}

.menu__link
{
	font-weight: 600;
	position: relative;
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 2vmax 4vmax 2vmax 6vmax;
	color: #bdbdbd;
	-webkit-transition: color 0.1s;
	transition: color 0.1s;
}

.menu__link[data-submenu]::after
{
	display: block;
	font-weight: 500;
	content: '\f141';
	font-family: "Font Awesome 5 Pro";
	padding-left: 3vmax;
	margin-top: 2px;
	color: #999;
}

.menu__link:hover,
.menu__link:focus,
.menu__link[data-submenu]:hover::after,
.menu__link[data-submenu]:focus::after
{
	color: #3952ff;
}

.menu__link--current::before
{
	position: absolute;
	top: 50%;
	left: 1.4em;
	height: 4px;
	font-family: "Font Awesome 5 Pro";
	content: '\f111';	
	font-size: .5em;
	line-height: 0;
	color: #3952ff;
}

[class^='animate-'],
[class*=' animate-'] {
	visibility: visible;
	display: block;
}
.animate-outToRight,
.animate-outToLeft,
.animate-inFromLeft,
.animate-inFromRight
{
	position: absolute;
	left: 0;
}
.animate-outToRight .menu__item {
	-webkit-animation: outToRight 0.6s both cubic-bezier(0.7, 0, 0.3, 1);
	animation: outToRight 0.6s both cubic-bezier(0.7, 0, 0.3, 1);
}

@-webkit-keyframes outToRight {
	to {
		opacity: 0;
		-webkit-transform: translate3d(100%, 0, 0);
		transform: translate3d(100%, 0, 0);
	}
}

@keyframes outToRight {
	to {
		opacity: 0;
		-webkit-transform: translate3d(100%, 0, 0);
		transform: translate3d(100%, 0, 0);
	}
}

.animate-outToLeft .menu__item {
	-webkit-animation: outToLeft 0.6s both cubic-bezier(0.7, 0, 0.3, 1);
	animation: outToLeft 0.6s both cubic-bezier(0.7, 0, 0.3, 1);
}

@-webkit-keyframes outToLeft {
	to {
		opacity: 0;
		-webkit-transform: translate3d(-100%, 0, 0);
		transform: translate3d(-100%, 0, 0);
	}
}

@keyframes outToLeft {
	to {
		opacity: 0;
		-webkit-transform: translate3d(-100%, 0, 0);
		transform: translate3d(-100%, 0, 0);
	}
}

.animate-inFromLeft .menu__item {
	-webkit-animation: inFromLeft 0.6s both cubic-bezier(0.7, 0, 0.3, 1);
	animation: inFromLeft 0.6s both cubic-bezier(0.7, 0, 0.3, 1);
}

@-webkit-keyframes inFromLeft {
	from {
		opacity: 0;
		-webkit-transform: translate3d(-100%, 0, 0);
		transform: translate3d(-100%, 0, 0);
	}
	to {
		opacity: 1;
		-webkit-transform: translate3d(0, 0, 0);
		transform: translate3d(0, 0, 0);
	}
}

@keyframes inFromLeft {
	from {
		opacity: 0;
		-webkit-transform: translate3d(-100%, 0, 0);
		transform: translate3d(-100%, 0, 0);
	}
	to {
		opacity: 1;
		-webkit-transform: translate3d(0, 0, 0);
		transform: translate3d(0, 0, 0);
	}
}

.animate-inFromRight .menu__item {
	-webkit-animation: inFromRight 0.6s both cubic-bezier(0.7, 0, 0.3, 1);
	animation: inFromRight 0.6s both cubic-bezier(0.7, 0, 0.3, 1);
}

@-webkit-keyframes inFromRight {
	from {
		opacity: 0;
		-webkit-transform: translate3d(100%, 0, 0);
		transform: translate3d(100%, 0, 0);
	}
	to {
		opacity: 1;
		-webkit-transform: translate3d(0, 0, 0);
		transform: translate3d(0, 0, 0);
	}
}

@keyframes inFromRight {
	from {
		opacity: 0;
		-webkit-transform: translate3d(100%, 0, 0);
		transform: translate3d(100%, 0, 0);
	}
	to {
		opacity: 1;
		-webkit-transform: translate3d(0, 0, 0);
		transform: translate3d(0, 0, 0);
	}
}
.menu__indicator
{
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding-top: 2.4vmax;
}
.menu__item-back
{
	display: flex;
	align-items: center;
}
.menu__breadcrumbs
{
	font-size: 0.65em;
	line-height: 1;
	position: relative;
	height: var(--breadcrumbs-height);
	display: flex;
	align-items: center;
	padding: 2vmax 4vmax 2vmax 6vmax;
}
.menu__breadcrumbs a:not(:last-child)
{
	display: none;
}
.menu__breadcrumbs a {
	font-weight: bold;
	display: inline-block;
	cursor: pointer;
	vertical-align: middle;
	letter-spacing: 1px;
	text-transform: uppercase;
	color: #3952ff;
}

.menu__breadcrumbs a:last-child {
	pointer-events: none;
}

.menu__breadcrumbs a:hover,
.menu__breadcrumbs a:focus {
	color: #8182e0;
}

.menu__breadcrumbs a:not(:last-child)::after {
	content: '\e902';
	font-family: 'feather';
	display: inline-block;
	padding: 0 0.5em;
	color: #33353e;
}

.menu__breadcrumbs a:not(:last-child):hover::after,
.menu__breadcrumbs a:not(:last-child):focus::after {
	color: #33353e;
}
.menu__back
{
	display: block;
	font-size: 1.6rem;
	font-weight: 400;
	cursor: pointer;
	color: #ccc;
	letter-spacing: 1px;
	text-transform: uppercase;
	border: none;
	background: none;
	padding: 2vmax 1vmax 2vmax 6vmax;
}
.menu__back--hidden {
	pointer-events: none;
	opacity: 0;
}

.menu__back:hover,
.menu__back:focus {
	color: #fff;
	outline: none;
}

@media screen and (max-width: 1199.98px)
{
	body.menu-open
	{
		-webkit-overflow-scrolling: touch;
		overflow-y: hidden;
	}
	.menu {
		z-index: 1000;
		top: 0;
		width: 100%;
		-webkit-transform: translate3d(100%, 0, 0);
		transform: translate3d(100%, 0, 0);
		-webkit-transition: -webkit-transform 0.3s;
		transition: transform 0.3s;
	}
	.menu--open {
		-webkit-transform: translate3d(0, 0, 0);
		transform: translate3d(0, 0, 0);
	}
}
@media screen and (min-width: 1200px)
{
	.menu
	{
		display: none;
	}
}
@media all and (min-width: 768px) and (max-width: 1199.98px)
{
	.menu__item
	{
		font-size: 1.8em;
	}
	.menu__indicator
	{
		font-size: 1.6em;
	}

	.menu__link
	{
		padding: 2vmax 5vmax 2vmax 6vmax;
	}	
}

.menu__item-text
{
	display: block;
	line-height: 1.4;
}

.menu-button_close
{
	display: block;
	padding: 2vmax 1.5vmax 2vmax 3vmax;
}