.container,
.container-fluid {	
	-webkit-transition:all ease-in-out 6s;
    -moz-transition:all ease-in-out 6s;
    -ms-transition:all ease-in-out 6s;
    -o-transition:all ease-in-out 6s;
    transition:all ease-in-out 6s;
}

ul#rootNode::before,
ul#rootNode > li::before {
	border:none;	
}

#masterDiv {
      overflow-x: auto;
      max-height: 80vh;
      overflow-y: auto;
}

.tree, .tree ul {
    margin:0;
    padding:0;
    list-style:none
}
.tree ul {
    /*margin-left:1em;*/
    position:relative
}
.tree ul ul {
    margin-left:.5em
}
.tree ul::before {
    content:"";
    display:block;
    width:0;
    position:absolute;
    top:0;
    bottom:0;
    left:-2px;
    border-left:1px dotted;      
}
.tree li {
    margin:0;
    padding:0 1em;    
    color:#008cba;    
    position:relative;
   	line-height:1.5em;
   	white-space: nowrap;
    /*font-weight:700;*/
}
.tree ul li::before {
    content:"";
    display:block;
    width:10px;
    height:0;
    border-top:1px dotted;
    margin-top:-1px;
    position:absolute;
    top:1em;
    left:0
}

.tree ul > li > ul:last-child > li:before {
	background:#fff;
    height:auto;
    top:1em;
    bottom:0;
    left:-2px;
}

.tree ul li:last-child::before {
/*     background:#fff; */
/*     height:auto; */
/*     top:1em; */
/*     bottom:0; */
/*     left:-2px; */
}

.tree ul li:last-child::before {
    background:#fff;
    height:auto;
    top:1em;
    bottom:0
}

.indicator {
    margin-right:5px;
}
.tree li a {
    text-decoration: none;
    color:#369;
}
.tree li button, .tree li button:active, .tree li button:focus {
    text-decoration: none;
    color:#369;
    border:none;
    background:transparent;
    margin:0px 0px 0px 0px;
    padding:0px 0px 0px 0px;
    outline: 0; 
}
.affix {
	top: 60px; 
}

div.dataTables_scrollBody {
	background: none !important;	
}

.node {
	cursor: pointer;
}

.nodeSelected {
	font-weight: bold;
	font-size: 1em;	
}

#content {
	display:flex 1 1;
}

li span.nodeText {
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

.treecell *{
	white-space: initial;
  	
}

.treeButton{
	-ms-transform: rotate(90deg);
	-webkit-transform: rotate(90deg);
	transform: rotate(90deg);
}

/* View Mode Selector styling */
.viewModeSelector {
	width: 100%;
	padding: 10px 0;
}

#treeModeSelectorDiv {
	display: inline-flex;
	align-items: center;
}

#treeModeSelectorDiv .control-label {
	font-weight: normal;
	margin-bottom: 0;
	display: inline-block;
}

/* Button group for view mode toggle */
#treeModeSelectorDiv .btn-group label.btn {
	margin-bottom: 0;
}

/* Hide radio inputs but keep them functional */
#treeModeSelectorDiv input[type="radio"] {
	position: absolute;
	clip: rect(0,0,0,0);
	pointer-events: none;
}

/* Active state for selected button */
#treeModeSelectorDiv input[type="radio"]:checked + .btn,
#treeModeSelectorDiv label.btn.active,
#treeModeSelectorDiv .btn-group > label.btn:has(input[type="radio"]:checked) {
	background-color: #337ab7;
	color: white;
	border-color: #2e6da4;
}

/* Hover state */
#treeModeSelectorDiv .btn-group > label.btn:hover {
	background-color: #e6e6e6;
	border-color: #adadad;
}
