/* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 *   categories tree
 * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */
.cat-group {
	display: none;
}
/* ----------
 * cat item
 * ---------- */
.cat-item {
	line-height: 36px;
	border-bottom: 1px solid #e0e0e0;
}
/*
.cat-item:hover {
	background-color: #f9f9f9;
	cursor: pointer;
}
*/
.cat-item:first-child {
	border-top: 1px solid #e0e0e0;
}
/* ------------------
 * cat-item children
 * ------------------ */
.cat-identity {
	display: inline-block;
	min-width: 50%;
}
.cat-identity:hover {
	background-color: #f0f0f0;
	cursor: pointer;
}
.tab {
	display: inline-block;
	width: 20px;
}
.sign {
	display: inline-block;
	width: 20px;
	color: #999999;
	font-size: 24px;
}
.cat-name {
	display: inline-block;
}
.name-leaf {
	color: #115050;
	text-decoration: underline;
}
.name-leaf:hover {
	color: #004040;
}
/* -- btn select cat -- */
.cat-sel {
	display: inline-block;
	padding: 0 10px;
	line-height: 26px;
	color: #111111;
	background-color: #a0bbbb;
	border-width: 1px;
	border-style: solid;
	border-color: #aaaaaa #708989 #708989 #aaaaaa;
	border-radius: 6px;
}
.cat-sel:hover {
	color: #000000;
	background-color: #90aaaa;
	cursor: pointer;
}
.cat-sel:active {
	background-color: #839c9c;
}
.sel-leaf {
	color: #003000;
	background-color: #b0cbcb;
}
.sel-leaf:hover {
	background-color: #a0bbbb;
	color: #002000;
}

/* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 *
 *   screen size
 *
 * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */
@media screen and (max-width: 610px) {
	.group-level-1 { margin-left: 20px; }
	.group-level-2 { margin-left: 20px; }
	.cat-item {
		position: relative;
		line-height: 42px;
	}
	.cat-identity {
		min-width: 75%;
	}
	.tab {
		display: none;
	}
	.sign {
		vertical-align: top;
	}
	.cat-name {
		max-width: calc(100vw - 165px);
	}
	.cat-sel {
		position: absolute;
		top: 10px;
		right: 2px;
	}
}
@media screen and (max-width: 500px) {
	.cat-identity {
		min-width: 65%;
	}
}
