		.css-treeview ul,
		.css-treeview li
		{
			padding: 0px;
			margin: 0;
			list-style: none;
			padding-bottom: 8px;
		}

		.css-treeview ul {
			padding-bottom: 5px;
		}

		.css-treeview input
		{
			position: absolute;
			opacity: 0;
		}

		.css-treeview
		{
			11font: normal 11px "Segoe UI", Arial, Sans-serif;
			-moz-user-select: none;
			-webkit-user-select: none;
			user-select: none;
		}

		.css-treeview a
		{
			color: #00f;
			text-decoration: none;
		}

		.css-treeview a:hover
		{
			text-decoration: underline;
		}

		.css-treeview input + label + ul
		{
			margin: 0 0 0 22px;
		}

		.css-treeview input ~ ul
		{
			display: none;
		}

		.css-treeview label,
		.css-treeview label::before
		{
			cursor: pointer;
		}

		.css-treeview input:disabled + label
		{
			cursor: default;
			opacity: .6;
		}

		.css-treeview input:checked:not(:disabled) ~ ul
		{
			display: block;
		}

		.css-treeview label,
		.css-treeview label::before
		{
			background: url("../images/emsi-tree-icons.png") no-repeat;
		}

		.css-treeview label,
		.css-treeview label::before
		{
			display: inline-block;
			height: 22px;
			line-height: 22px;,
			vertical-align: middle;
			font-size: 1.2em;
		}

		.css-treeview a
		{
			display: inline-block;
			1height: 22px;
			line-height: 22px;,
			vertical-align: middle;
			font-size: 1.2em;
		}

		.css-treeview label
		{
			background-position: 0px 0px;
			margin-bottom: 0px;
		}

		.css-treeview label::before
		{
			content: "";
			width: 22px;
			margin: 0 0 0 0;
			vertical-align: middle;
			background-position: 0 -22px;
		}

		.css-treeview input:checked + label::before
		{
			background-position: 0 -44px;
		}

		/* webkit adjacent element selector bugfix */
		@media screen and (-webkit-min-device-pixel-ratio:0)
		{
			.css-treeview 
			{
				-webkit-animation: webkit-adjacent-element-selector-bugfix infinite 1s;
			}
			
			@-webkit-keyframes webkit-adjacent-element-selector-bugfix 
			{
				from 
				{ 
					padding: 0;
				} 
				to 
				{ 
					padding: 0;
				}
			}
		}