/* ======================================================
    <!-- Tree -->
/* ====================================================== */
.tree-diagram-default {
  --tree-padding-x: 1rem;
  --tree-padding-y: 0.5rem;
  --tree-font-line-height: 1.5;
  --tree-dis-top: 1rem;
  --tree-font-size: 0.875rem;
  --tree-ident: var(--tree-font-size);
  --tree-dis-start: -var(--tree-ident);
  --tree-border-color: #ddd;
  --tree-font-bg: #f6f6f6;
  --tree-font-active-bg: #f0f8ff;
  --tree-checkbox-indeterminate-color: #bbbbbb;
  --tree-link-min-width: 150px;
  position: relative;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  padding: 0.5rem 0;
  outline: none; /* When using "tabindex" please set */
  word-wrap: break-word;
  word-break: break-word;
  /*------ line ------*/
  /*------ has checkbox  ------*/
  /*------ hide arrow  ------*/
}
.tree-diagram-default ul, .tree-diagram-default li {
  list-style: none;
}
.tree-diagram-default .tree-diagram-default-nav {
  display: flex;
  flex-direction: column;
  padding-left: 0;
  margin-bottom: 0;
  list-style: none;
  /* Default height for sub items */
}
.tree-diagram-default .tree-diagram-default-nav .nav-link {
  position: relative;
  display: block;
  cursor: pointer;
  min-width: var(--tree-link-min-width);
  padding: var(--tree-padding-y) var(--tree-padding-x);
  font-size: var(--tree-font-size);
  font-weight: 400;
  color: inherit;
  text-decoration: none;
  transition: 0.1s ease-in-out;
  padding-left: calc(var(--tree-padding-x) * 2);
  z-index: 1;
}
.tree-diagram-default .tree-diagram-default-nav .nav-link.disabled {
  opacity: 0.5;
  pointer-events: none;
}
.tree-diagram-default .tree-diagram-default-nav .nav-link > span {
  transition: 0.1s ease-in-out;
  border-radius: 2px;
  /* required */
  display: inline-flex;
  align-items: center;
}
.tree-diagram-default .tree-diagram-default-nav .nav-link > span var.loading-icon {
  position: absolute;
  margin-left: 0.2em;
}
.tree-diagram-default .tree-diagram-default-nav .nav-link:hover span {
  background-color: var(--tree-font-bg);
}
.tree-diagram-default .tree-diagram-default-nav .nav-link.selected span {
  background-color: var(--tree-font-active-bg);
}
.tree-diagram-default .tree-diagram-default-nav .nav-link.loading > span var.loading-icon {
  display: inline-block;
}
.tree-diagram-default .tree-diagram-default-nav var.loading-icon {
  display: none;
}
.tree-diagram-default .tree-diagram-default-nav var.loading-icon svg {
  animation: tree-diagram-ring 1.2s linear infinite;
}
.tree-diagram-default .tree-diagram-default-nav .checkbox-trigger {
  display: none;
  position: absolute;
  left: calc(var(--tree-padding-x) + 1.5em);
  top: calc(var(--tree-dis-top) - 8px);
  z-index: 2;
}
.tree-diagram-default .tree-diagram-default-nav .checkbox-trigger > div {
  display: inline-block;
  position: relative;
}
.tree-diagram-default .tree-diagram-default-nav .checkbox-trigger > div .form-check {
  min-height: auto;
  margin-bottom: 0;
}
.tree-diagram-default .tree-diagram-default-nav .checkbox-trigger > div .form-check [type=checkbox]:indeterminate,
.tree-diagram-default .tree-diagram-default-nav .checkbox-trigger > div .form-check [type=checkbox].indeterminate {
  background-color: var(--tree-checkbox-indeterminate-color);
  border-color: var(--tree-checkbox-indeterminate-color);
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M6 10h8'/%3e%3c/svg%3e");
}
.tree-diagram-default .tree-diagram-default-nav .arrow {
  cursor: pointer;
  transition: 0.1s ease-in-out;
  text-align: center;
  position: absolute;
  left: calc(var(--tree-padding-x) + 0.2em);
  top: calc(var(--tree-dis-top) - 5px);
  z-index: 2;
  width: 10px;
  height: 10px;
  /* required */
  display: inline-flex;
  align-items: center;
}
.tree-diagram-default .tree-diagram-default-nav .arrow > var > svg {
  transition: 0.1s ease-in-out;
}
.tree-diagram-default .tree-diagram-default-nav .arrow var.default-icon > span:last-child {
  display: none;
}
.tree-diagram-default .tree-diagram-default-nav .arrow.loading var.default-icon {
  display: none;
}
.tree-diagram-default .tree-diagram-default-nav .arrow.loading var.loading-icon {
  display: inline-block;
}
.tree-diagram-default .tree-diagram-default-nav .arrow:hover {
  opacity: 0.5;
}
.tree-diagram-default .tree-diagram-default-nav .arrow:hover > var > svg {
  transform: scale(1.4);
}
.tree-diagram-default .tree-diagram-default-nav li {
  position: relative;
  padding-left: 0.2em;
}
.tree-diagram-default .tree-diagram-default-nav li i {
  font-style: normal;
}
.tree-diagram-default .tree-diagram-default-nav li.active > .arrow:not(.custom-icons) {
  transform: rotate(90deg);
}
.tree-diagram-default .tree-diagram-default-nav li.active > .arrow.custom-icons var.default-icon > span:first-child {
  display: none;
}
.tree-diagram-default .tree-diagram-default-nav li.active > .arrow.custom-icons var.default-icon > span:last-child {
  display: block;
}
.tree-diagram-default .tree-diagram-default-nav > li ul {
  transition: max-height 0.25s ease;
  overflow: hidden;
  position: relative;
}
.tree-diagram-default .tree-diagram-default-nav > li:not(.active) ul {
  max-height: 0;
}
.tree-diagram-default .tree-diagram-default-nav > li ul ul {
  margin-top: auto;
}
.tree-diagram-default.show-line .tree-diagram-default-nav li::before, .tree-diagram-default.show-line .tree-diagram-default-nav li::after {
  content: "";
  position: absolute;
  top: calc(0px - var(--tree-dis-top));
  left: var(--tree-dis-start);
  border-left-width: 1px;
  border-left-style: solid;
  border-left-color: var(--tree-border-color);
  border-bottom-width: 1px;
  border-bottom-style: solid;
  border-bottom-color: var(--tree-border-color);
  width: var(--tree-ident);
  pointer-events: none;
}
.tree-diagram-default.show-line .tree-diagram-default-nav li::before {
  height: calc(var(--tree-font-size) * var(--tree-font-line-height) + var(--tree-padding-y) + var(--tree-padding-y));
}
.tree-diagram-default.show-line .tree-diagram-default-nav li::after {
  height: 100%;
  border-bottom-width: 0;
}
.tree-diagram-default.show-line .tree-diagram-default-nav li:last-child::after {
  display: none;
}
.tree-diagram-default.show-line .tree-diagram-default-nav > li:first-child::before {
  border-left-width: 0;
}
.tree-diagram-default.show-line .tree-diagram-default-nav > li:first-child::after {
  top: calc(var(--tree-font-size) * var(--tree-font-line-height));
}
.tree-diagram-default.show-line.line--dotted .tree-diagram-default-nav li::before, .tree-diagram-default.show-line.line--dotted .tree-diagram-default-nav li::after {
  border-left-style: dotted;
  border-bottom-style: dotted;
}
.tree-diagram-default.show-line.line--dashed .tree-diagram-default-nav li::before, .tree-diagram-default.show-line.line--dashed .tree-diagram-default-nav li::after {
  border-left-style: dashed;
  border-bottom-style: dashed;
}
.tree-diagram-default.show-line.line--double .tree-diagram-default-nav li::before, .tree-diagram-default.show-line.line--double .tree-diagram-default-nav li::after {
  border-left-style: double;
  border-bottom-style: double;
}
.tree-diagram-default.show-line.line--solid .tree-diagram-default-nav li::before, .tree-diagram-default.show-line.line--solid .tree-diagram-default-nav li::after {
  border-left-style: solid;
  border-bottom-style: solid;
}
.tree-diagram-default.has-checkbox .checkbox-trigger {
  display: inline-block;
}
.tree-diagram-default.has-checkbox .tree-diagram-default-nav .nav-link {
  padding-left: calc(var(--tree-padding-x) + 2.7em);
}
.tree-diagram-default.hide-arrow .arrow {
  display: none;
}
.tree-diagram-default.hide-arrow .tree-diagram-default-nav .nav-link {
  padding-left: var(--tree-padding-x);
}
.tree-diagram-default.hide-arrow.has-checkbox .tree-diagram-default-nav .checkbox-trigger {
  left: calc(var(--tree-padding-x) + 0.5em);
}
.tree-diagram-default.hide-arrow.has-checkbox .tree-diagram-default-nav .nav-link {
  padding-left: calc(var(--tree-padding-x) + 1.5em);
}

@keyframes tree-diagram-ring {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}
