/* initials */
.tree *  {
	-webkit-box-sizing: content-box;
	-moz-box-sizing: content-box;
	box-sizing: content-box;
}
/* tree classes */
.tree {
	list-style: none;
	margin: 0px;
	padding: 0px 0px 0px 8px;
}
.node {
	padding: 4px;
}
.node:hover { background-color: rgb(250, 250, 250); }
.node.selected { background-color: rgb(217, 237, 247); }
.tree-small .node { padding: 2px; }
.tree-large .node { padding: 6px; }
/* hidden classes */
.tree li { position: relative; }
.__tn_c { position: relative; }
.__tn_t { margin-left: 20px; }
.__tn_vl {
	position: absolute;
	top: 0px;
	height: 100%;
	border-right-style: solid;
	border-right-width: 1px;
	border-right-color: rgb(217, 217, 217);
	transform: translateX(5px);
}
li:last-child > .__tn_vl { height: 13px; }
.tree-nolines .__tn_vl { display: none; }
.__tn_hl {
	content: '';
	position: absolute;
	left: 5px;
	top: 50%;
	width: 13px;
	border-bottom-style: solid;
	border-bottom-width: 1px;
	border-bottom-color: rgb(217, 217, 217);
}
li:last-child > .__tn_c > .__tn_hl { top: 13px; }
.tree-nolines .__tn_hl { display: none; }
.__tn_eb {
	position: absolute;
	top: 50%;
	width: 9px;
	height: 9px;
	background-color: white;
	border-style: solid;
	border-width: 1px;
	border-color: rgb(190, 190, 190);
	transform: translateY(-5px);
	cursor: pointer;
}
.tree-expand-btn-round .__tn_eb { border-radius: 50%; }
.tree-expand-btn-soft .__tn_eb { border-radius: 2px; }
.__tn_eb_hl {
	position: absolute;
	left: 2px;
	right: 2px;
	top: 4px;
	border-bottom-style: solid;
	border-bottom-width: 1px;
	border-bottom-color: gray;
}
.__tn_eb_vl {
	position: absolute;
	top: 2px;
	bottom: 2px;
	left: 4px;
	border-right-style: solid;
	border-right-width: 1px;
	border-right-color: gray;
}
.__tn_cc {
	list-style: none;
	margin: 0px;
	padding: 0px;
}
.__tn_cc li { padding-left: 24px; }
/* themes */
.tree-blue { }
.tree-blue .node { padding-left: 6px; }
.tree-blue .node:hover { background-color: rgb(250, 250, 250); }
.tree-blue .node.selected {
	margin-left: -2px;
	border-left-style: solid;
	border-left-width: 2px;
	border-left-color: #55acee;
	background-color: rgba(85, 172, 238, 0.2);
}
.tree-green { }
.tree-green .node { padding-left: 6px; }
.tree-green .node:hover { background-color: rgb(250, 250, 250); }
.tree-green .node.selected {
	margin-left: -2px;
	border-left-style: solid;
	border-left-width: 2px;
	border-left-color: #2ecc71;
	background-color: rgba(46, 204, 113, 0.2);
}
.tree-red { }
.tree-red .node { padding-left: 6px; }
.tree-red .node:hover { background-color: rgb(250, 250, 250); }
.tree-red .node.selected {
	margin-left: -2px;
	border-left-style: solid;
	border-left-width: 2px;
	border-left-color: #e74c3c;
	background-color: rgba(231, 76, 60, 0.2);
}
.tree-purple { }
.tree-purple .node { padding-left: 6px; }
.tree-purple .node:hover { background-color: rgb(250, 250, 250); }
.tree-purple .node.selected {
	margin-left: -2px;
	border-left-style: solid;
	border-left-width: 2px;
	border-left-color: #9b59b6;
	background-color: rgba(155, 89, 182, 0.2);
}
.tree-orange { }
.tree-orange .node { padding-left: 6px; }
.tree-orange .node:hover { background-color: rgb(250, 250, 250); }
.tree-orange .node.selected {
	margin-left: -2px;
	border-left-style: solid;
	border-left-width: 2px;
	border-left-color: #e67e22;
	background-color: rgba(230, 126, 34, 0.2);
}
.tree-yellow { }
.tree-yellow .node { padding-left: 6px; }
.tree-yellow .node:hover { background-color: rgb(250, 250, 250); }
.tree-yellow .node.selected {
	margin-left: -2px;
	border-left-style: solid;
	border-left-width: 2px;
	border-left-color: #f1c40f;
	background-color: rgba(241, 196, 15, 0.2);
}
