ul.mtree {
  opacity: 0;
  margin-left: 0;
  padding: 1.2em 1em;
}
ul.mtree ul {
  margin-left: 1em;
}

ul.mtree a {
  display: block;
}
ul.mtree li.mtree-node > a {
  font-weight: bold;
}

ul.mtree a {
  -webkit-transition: all 300ms ease-out;
  -moz-transition: all 300ms ease-out;
  -ms-transition: all 300ms ease-out;
  -o-transition: all 300ms ease-out;
  transition: all 300ms ease-out;
}

ul.mtree.bubba ul {
  margin-left: 0;
}
ul.mtree.bubba ul li {
  font-size: .98em;
}
ul.mtree.bubba li.mtree-node > a:after {
  content: '›';
  margin-left: .5em;
  font-weight: normal;
}
ul.mtree.bubba li.mtree-node > a {
  font-weight: bold;
  text-transform: upperCase;
}
ul.mtree.bubba > li {
  border-bottom: 1px solid #DDD;
}
/* overwrite bubba theme */

ul.mtree.bubba > li{
    border-bottom:0px none;
}
ul.mtree.bubba > li:last-child {
  border-bottom: none;
}
ul.mtree.bubba li:last-child > a {
  border: none;
}
ul.mtree.bubba > li.mtree-open > a {
  background: #DDD;
}
ul.mtree.bubba li > a:hover {
  background: #DDD;
}
ul.mtree.bubba li.mtree-active > a {
  background: #FFC000;
  color: #FFF;
}
ul.mtree.bubba a {
  padding: 7px 0px 7px 1em;
}
ul.mtree.bubba li li > a {
  padding-left: 2em;
}
ul.mtree.bubba li li li > a {
  padding-left: 3em;
}
ul.mtree.bubba li li li li > a {
  padding-left: 4em;
}
ul.mtree.bubba li li li li li > a {
  padding-left: 5em;
}

ul.mtree.skinny li {
  font-size: .9em;
}
ul.mtree.skinny a {
  padding: 0px 18px;
  color: #555;
}
ul.mtree.skinny a:hover {
  text-decoration: underline;
}
ul.mtree.skinny li.mtree-node:before {
  float: left;
  margin-left: .5em;
  zoom: .8;
  margin-top: .1em;
  color: #777;
}
ul.mtree.skinny li.mtree-open:before {
  content: '-';
}
ul.mtree.skinny li.mtree-closed:before {
  content: '+';
}
ul.mtree.skinny ul > li:first-child {
  margin-top: .1em;
}
ul.mtree.skinny ul > li:last-child {
  margin-bottom: .3em;
}
ul.mtree.skinny ul a {
  color: #666;
}

ul.mtree.transit {
  background: #111;
}
ul.mtree.transit ul {
  margin-left: 0;
}
ul.mtree.transit ul > li {
  font-size: .9em;
}
ul.mtree.transit li.mtree-node {
  position: relative;
}
ul.mtree.transit li.mtree-node > a:before {
  color: #CCC;
  font-weight: normal;
  position: absolute;
  right: 20px;
}
ul.mtree.transit li.mtree-open > a:before {
  content: '-';
}
ul.mtree.transit li.mtree-closed > a:before {
  content: '+';
}
ul.mtree.transit ul > li:first-child {
  margin-top: 1px;
}
ul.mtree.transit li.mtree-open > a {
  background: #222;
}
ul.mtree.transit li > a:hover, ul.mtree.transit li.mtree-active > a {
  background: #333;
  color: #FFF;
}
ul.mtree.transit li.mtree-node > ul > li:last-child {
  margin-bottom: .5em;
  padding-bottom: .5em;
  border-bottom: 1px solid #333;
}
ul.mtree.transit li.mtree-node:last-child > ul > li:last-child {
  margin-bottom: 0;
  padding-bottom: 0;
  border-bottom: none;
}
ul.mtree.transit a {
  padding: 5px 0px 5px 0.8em;
  color: #CCC;
}
ul.mtree.transit li li > a {
  padding-left: 1.6em;
}
ul.mtree.transit li li li > a {
  padding-left: 2.4em;
}
ul.mtree.transit li li li li > a {
  padding-left: 3.2em;
}
ul.mtree.transit li li li li li > a {
  padding-left: 4em;
}

ul.mtree.jet ul {
  margin-left: 0;
}
ul.mtree.jet li {
  margin-bottom: 1px;
}
ul.mtree.jet li:last-child {
  margin-bottom: 0px;
}
ul.mtree.jet li:first-child {
  margin-top: 1px;
}
ul.mtree.jet li.mtree-active a {
  background: #E3E3E3;
}
ul.mtree.jet li.mtree-active li:last-child > a {
  border-radius: 0px 0px 3px 3px;
}
ul.mtree.jet li.mtree-active > a {
  background: #008cba;
  color: #FFF;
  border-radius: 3px 3px 0px 0px;
}
ul.mtree.jet li > a:hover {
  background: #FFC000;
  color: #FFF;
}
ul.mtree.jet a {
  padding: 5px 0px 5px 1em;
}
ul.mtree.jet li li > a {
  padding-left: 2em;
}
ul.mtree.jet li li li > a {
  padding-left: 3em;
}
ul.mtree.jet li li li li > a {
  padding-left: 4em;
}
ul.mtree.jet li li li li li > a {
  padding-left: 5em;
}

ul.mtree.nix {
  background: none;
}
ul.mtree.nix a {
  display: inline;
}
ul.mtree.nix ul {
  margin-left: 1em;
}
ul.mtree.nix ul > li {
  list-style-position: inside;
}
ul.mtree.nix li {
  list-style: disc;
}

/**********************/

ul.mtree li ul.branch:before {
    content: '';
    position: absolute;
    right: 8px;
    top: 0;
    border-right: 2px solid tomato;
    border-bottom: 2px solid tomato;
    width: 0.5em;
    height: 50%;
    z-index: 1;
    border-left: 0px solid transparent;
    border-top: 0px solid transparent;
}

.tree-loading:after {
    background: url(/Front/js/loading.svg) no-repeat center center / cover;
    z-index: 999;
    position: absolute;
    top: calc(50% - 1.5em);
    left: calc(50% - 1.5em);
    width: 3em;
    height: 3em;
}

ul.mtree li {
  list-style: none;
  padding: 10px;
  box-shadow: inset 0px 0px 1px rgba(0,0,0,0.3);
  margin: 0px auto;
  border-bottom: 0px solid darkslateblue;
  border-right: 2px solid deepskyblue;
  background-color: #fff;
  transition: all 0.2s ease-out;
  -webkit-transition: all 0.2s ease-out;
}

ul.mtree li:hover {
    background-color: aliceblue;
}

ul.mtree li div {
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    margin-right: 20px;
    position:relative;
}

ul.mtree li > div:before {
    position: absolute;
    right: -20px;
    font-family: fontawesome;
}

ul.mtree li > div.last:before {
    display:none;
}

ul.mtree li.mtree-closed > div:before {
    content: '\f00e';
}
ul.mtree li.mtree-open > div:before {
    content: '\f010';
    color:mediumaquamarine;
}

ul.mtree li div span:first-child{
    background-color: gainsboro;
    padding: 1px 10px;
    margin-left: 10px;
    border-radius: 4px;
}

ul.mtree li div span:nth-child(2){
    flex-grow: 1;
}

ul.mtree li div span:nth-child(3){
    background-color: deepskyblue;
    padding: 0px 5px;
    border-radius: 4px;
    align-self: center;
    margin: 0 25px;
    color: #fff;
}

ul.mtree li.mtree-open {
  border-bottom:1px solid red;
  background-color: whitesmoke;
}