.datatree ul,
.datatree li
{
    padding: 0;
    margin: 0;
    list-style: none;
	overflow-y: hidden;
}

.datatree li
{
    white-space: nowrap;
}
 
.datatree input
{
    position: absolute;
    opacity: 0;
}
 
.datatree
{
    font: normal 11px Arial, Sans-serif;
    user-select: none;
    -moz-user-select: none;
    -webkit-user-select: none;
    -ms-user-select: none;
	padding: 2px 0px;
}
 
.datatree a
{
    color: #00f;
    text-decoration: none;
}
 
.datatree a:hover
{
    text-decoration: underline;
}
 
.datatree input + label + ul
{
    margin: 0 0 0 22px;
}
 
.datatree input ~ ul
{
    display: none;
}
 
.datatree label,
.datatree label::before
{
    cursor: pointer;
	float: none;
}
 
.datatree input:disabled + label
{
    cursor: default;
    opacity: .6;
}
 
.datatree input:checked:not(:disabled) ~ ul
{
    display: block;
}
 
.datatree label,
.datatree label::before
{
    background: url(../images/treePages.png) no-repeat;
}
 
.datatree label,
.datatree a,
.datatree label::before
{
    display: inline-block;
    height: 18px;
    vertical-align: middle;
	margin: 3px 0;
}
 
.datatree label
{
    background-position: 18px 0;
    padding-right: 2px;
    width: 100%;
	box-sizing: border-box;
	text-overflow: ellipsis;
	overflow: hidden;
    height: 1.6em;
}
 
.datatree label::before
{
    content: "";
    width: 16px;
    margin: 0 22px 0 0;
    vertical-align: middle;
    background-position: 0 -36px;
}

.datatree label:hover
{
	background-color: #cde6f7;
}

.datatree label:hover::before
{
	background-color: #FFFFFF;
}

.datatree input + label::before
{
	background-color: #FFFFFF;
	height: 22px;
}

.datatree .selected
{
	background-color: #CCCCCC;
}

.datatree input:checked + label::before
{
    background-position: 0 -18px;
}

.datatree span
{
    position: absolute;
    opacity: 0;
}

.datatree span + label::before
{
    background-position: 0 -54px;
	background-color: #FFFFFF;
	height: 22px;
}

.datatree input.disabled + label
{
    background-position: 18px -76px;
}

.datatree span.disabled + label
{
    background-position: 18px -76px;
}

.datatree input.folder + label
{
    background-position: 18px -94px;
}

.datatree span.folder + label
{
    background-position: 18px -94px;
}

.datatree input.folder:checked + label
{
    background-position: 18px -112px;
}

.datatree span.folder:checked + label
{
    background-position: 18px -112px;
}

/* webkit adjacent element selector bugfix 
@media screen and (-webkit-min-device-pixel-ratio:0)
{
    .datatree
    {
        -webkit-animation: webkit-adjacent-element-selector-bugfix infinite 1s;
    }
 
    @-webkit-keyframes webkit-adjacent-element-selector-bugfix
    {
        from
        {
            padding: 0;
        }
        to
        {
            padding: 0;
        }
    }
}
*/