.category-menu {
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 1000;
	width: 100vw;
	display: none;
	max-width: 100vw;
	height: 100vh;
	max-height: 100vh;
	position: fixed;
	transition: 0.2s;
	background: rgba(0,0,0,0);
}
.category-menu.show {
	display: flex;
}
.category-menu.visibility {
	background: rgba(0,0,0,0.2);
}
.category-menu nav {
	top: 0;
	display: none;
	position: absolute;
	background: #ffffff;
	width: 290px;
	min-width: 290px;
	max-width: 290px;
	height: 100vh;
	max-height: 100vh;
	flex-direction: column;
	transition: 0.2s;
	transition-timing-function: ease-out;
	transform: translateX(-100%);
}
.category-menu nav:not(:first-child) {
	border-left: 1px solid #eee;
}
.category-menu nav.show {
	display: flex;
}
.category-menu nav.visibility {
	transform: translateX(0);
}
.category-menu .items {
	flex:1;
	overflow-x: hidden;
	overflow-y: auto;
	margin-right: 2px;
}
.category-menu .items::-webkit-scrollbar {
	width: 4px;
}
.category-menu .items::-webkit-scrollbar-thumb {
	width: 4px;
	border-radius: 6px;
	background-color: #ddd;
}
.category-menu .items::-webkit-scrollbar-track {
	background-color: transparent;
}
.category-menu .items > div:not(.more) {
	display: flex;
}
.category-menu .items .current {
	background: #f6f6fa;
}
.category-menu .items a {
    display: block;
    padding: 11px 20px;
    font-size: 14px;
    letter-spacing: 0.5px;
    line-height: 1.4;
}
.category-menu .items a.img {
	padding-left: 60px;
	position: relative;
}
.category-menu .items a img {
    width: 25px;
    top: 7px;
    left: 20px;
    position: absolute;
    opacity: 0.6;
}
.category-menu .items > div:not(.more):last-child a {
	padding-bottom: 20px;
}
.category-menu .items > div:not(.parent) a {
	flex: 1;
}
.category-menu .b-next {
    min-width: 40px;
    display: flex;
    justify-content: end;
    align-items: center;
    cursor: pointer;
    flex: 1;
    padding-right: 15px;
}
.category-menu .b-next:before {
	content: '';
	display: block;
	width: 10px;
	height: 10px;
	border-top: 1px solid #777;
	border-right: 1px solid #777;
	transform: rotate(45deg);
}
.category-menu .more {
    display: flex;
    justify-content: center;
    padding-top: 10px;
    padding-bottom: 25px;
}
.category-menu .l-head {
    display: flex;
}
.category-menu .b-back {
    min-width: 40px;
    width: 40px;
	display: none;
	justify-content: center;
    padding-top: 20px;
	cursor: pointer;
}
.category-menu .b-back:before {
	content: '';
	display: block;
	width: 10px;
	height: 10px;
	border-bottom: 2px solid #bbb;
	border-left: 2px solid #bbb;
	transform: rotate(45deg);
}
.category-menu  nav.over .b-back {
	display: flex;
}
.category-menu .l-title {
	flex: 1;
    font-weight: 500;
    padding:15px 20px 15px 20px;
    font-size: 16px;
    line-height: 1.2;
    letter-spacing: 0.5px;
	overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
}
.category-menu nav.over .l-title {
	padding: 15px 20px 15px 0;
}
.category-menu .b-close {
    min-width: 40px;
    width: 40px;
	display: none;
	cursor: pointer;
	position: relative;
}
.category-menu .b-close:before,
.category-menu .b-close:after {
	content: '';
	top: 15px;
	left: 10px;
	position: absolute;
	display: block;
	width: 2px;
	height: 20px;
	background: #bbb;
	transform: rotate(-45deg);
}
.category-menu .level-1 .b-close {
	display: block;
}
.category-menu .b-close:after {
	transform: rotate(45deg);
}
.category-menu .skeleton {
	width: calc(100% - 40px);
	height: 20px;
	margin: 22px auto;
}
@media(min-width: 601px){
	.category-menu .items > div:not(.more):hover {
		background: #f6f6fa;
	}
	.category-menu .items > div:hover .b-next:before {
		border-top: 1px solid #333;
		border-right: 1px solid #333;
	}
	.category-menu .b-back:hover:before {
		border-bottom: 2px solid #333;
		border-left: 2px solid #333; 
	}
	.category-menu .b-close:hover:before,
	.category-menu .b-close:hover:after	{
		background: #333; 
	}
	.category-menu .items > div:hover a img {
		opacity: 1;
	}
}
@media(max-width: 600px){
	.category-menu nav {
		width: 100%;
		min-width: 100%;
		max-width: 100%;
	}
	.category-menu .b-close {
		display: block;
	}
	.category-menu nav.over .l-title {
		padding: 15px 0;
	}
	.category-menu .b-back:before {
		border-bottom: 2px solid #333;
		border-left: 2px solid #333; 
	}
	.category-menu .b-close:before,
	.category-menu .b-close:after	{
		background: #333; 
	}
	
}