.tree {
    margin:auto;
    padding:0 0 0 9px;
    overflow-x:hidden;
    overflow-y:auto;
    position:relative;
}
.tree:before {
    display:inline-block;
    content:"";
    position:absolute;
    top:-20px;
    bottom:16px;
    left:0;
    z-index:1;
    border:1px dotted #67b2dd;
    border-width:0 0 0 1px;
}
.tree .tree-branch:before,
.tree .tree-item:before {
    display:inline-block;
    content:"";
    position:absolute;
    top:14px;
    left:-13px;
    width:18px;
    height:0;
    border-top:1px dotted #67b2dd;
    z-index:1;
}
.tree .tree-item {
    height:20px;
    line-height:20px;
    cursor:pointer;
    max-width:calc(100% - 20px);
}
.tree .tree-branch {
    width:auto;
    min-height:20px;
    cursor:pointer;
}
.tree .tree-branch,
.tree .tree-item {
    position:relative;
    list-style:none;
    border-left:1px solid #fff;
    margin:1px 0;
}
.tree .tree-branch .tree-branch-header {
    position:relative;
    height:20px;
    line-height:20px;
}
.tree .tree-branch .tree-branch-header {
    border-radius:0;
}
.tree .tree-branch .tree-branch-header,
.tree .tree-item {
    padding:5px;
    color:#4d6878;
    -webkit-box-sizing:content-box;
    -moz-box-sizing:content-box;
    box-sizing:content-box;
}
.tree .tree-branch-name,
.tree .tree-item-name {
    cursor:pointer;
}
.tree .tree-branch .tree-branch-header .tree-branch-name,
.tree .tree-item .tree-item-name {
    display:inline;
    z-index:2;
}
.ace-icon {
    text-align:center;
}
.tree .tree-minus.ace-icon:first-child,
.tree .tree-plus.ace-icon:first-child {
    display:inline-block;
    font-style:normal;
    vertical-align:middle;
    height:11px;
    width:11px;
    -webkit-box-sizing:content-box;
    -moz-box-sizing:content-box;
    box-sizing:content-box;
    text-align:center;
    border:1px solid #8BAEBF;
    line-height:10px;
    background-color:#fff;
    position:relative;
    z-index:2;
}
.tree .tree-minus.ace-icon:first-child:before,
.tree .tree-plus.ace-icon:first-child:before {
    content:"";
    display:block;
    width:7px;
    height:0;
    border-top:1px solid #4D6878;
    position:absolute;
    top:5px;
    left:2px;
}
.tree .tree-plus.ace-icon:first-child:after {
    content:"";
    display:block;
    height:7px;
    width:"";
    border-left:1px solid #4D6878;
    position:absolute;
    top:2px;
    left:5px;
}
.tree .tree-branch .tree-branch-header>.tree-branch-name>.ace-icon:first-child,
.tree .tree-item>.tree-item-name>.ace-icon:first-child {
    display:inline-block;
    position:relative;
    z-index:2;
    top:-1px;
}
.tree .tree-item>.tree-item-name>.ace-icon:first-child {
    margin-right:3px;
}
.tree .tree-item>.tree-item-name>.ace-icon:first-child {
    color:#f9e8ce;
    width:13px;
    height:13px;
    line-height:13px;
    font-size:11px;
    text-align:center;
    border-radius:3px;
    -webkit-box-sizing:content-box;
    -moz-box-sizing:content-box;
    box-sizing:content-box;
    background-color:#fafafa;
    border:1px solid #ccc;
    box-shadow:0 1px 2px rgba(0, 0, 0, .05);
}
.tree .tree-branch>.tree-branch-header>.tree-branch-name>.tree-label {
    margin-left:2px;
}
.tree .tree-branch>.tree-branch-header>.tree-branch-name>.ace-icon:first-child {
    margin:-2px 0 0 -2px;
}
.tree .tree-branch .tree-branch-children {
    margin:0 0 0 23px;
    padding:0;
    position:relative;
}
.tree .tree-branch .tree-branch-children:before {
    display:inline-block;
    content:"";
    position:absolute;
    z-index:1;
    top:-14px;
    bottom:16px;
    left:-14px;
    border:1px dotted #67b2dd;
    border-width:0 0 0 1px;
}
.tree .tree-branch:last-child:after {
    display:inline-block;
    content:"";
    position:absolute;
    z-index:1;
    top:15px;
    bottom:0;
    left:-15px;
    border-left:1px solid #FFF;
}
.tree .tree-item.tree-selected, .tree .tree-item.tree-selected:hover {
    background-color:rgba(98,168,209,.16);
}
.tree .tree-selected>.tree-item-name>.ace-icon:first-child {
    background-color:#F9A021;
    border-color:#F9A021;
    color:#fff;
}
.hidden {
    display:none !important;
}


