$rct-icon-color: #33c !default;
$rct-label-hover: rgba($rct-icon-color, .1) !default;
$rct-label-active: rgba($rct-icon-color, .15) !default;

.react-checkbox-tree {
  font-size: 16px;

  ol {
    margin: 0;
    padding-left: 0;
    list-style-type: none;

    ol {
      padding-left: 24px;
    }
  }

  button {
    line-height: normal;
    color: inherit;

    &:focus {
      outline: none;
    }

    &:disabled {
      cursor: not-allowed;
    }
  }

  label {
    margin-bottom: 0;
    cursor: pointer;

    &:hover {
      background: $rct-label-hover;
    }

    &:active {
      background: $rct-label-active;
    }
  }

  input {
    display: none;
  }

  .rct-icon {
    font-family: "FontAwesome";
    font-style: normal;
  }
}

.rct-disabled {
  > .rct-text > label {
    opacity: .75;
    cursor: not-allowed;

    &:hover {
      background: transparent;
    }

    &:active {
      background: transparent;
    }
  }
}

.rct-collapse,
.rct-checkbox,
.rct-node-icon {
  padding: 0 5px;

  * {
    display: inline-block;
    margin: 0;
    width: 14px;
  }
}

.rct-text {
  display: flex;
  align-items: center;
}

.rct-collapse {
  border: 0;
  background: none;
  line-height: normal;
  color: inherit;
  font-size: 12px;

  &.rct-collapse-btn {
    cursor: pointer;
  }

  > .rct-icon-expand-close {
    opacity: .5;

    &:hover {
      opacity: 1;
    }
  }
}

.rct-node-icon {
  color: $rct-icon-color;
}

.rct-title {
  padding: 0 5px;
}

.rct-icon-expand-close::before {
  content: "\f054";
}

.rct-icon-expand-open::before {
  content: "\f078";
}

.rct-icon-uncheck::before {
  content: "\f096";
}

.rct-icon-check::before {
  content: "\f046";
}

.rct-icon-half-check::before {
  opacity: .5;
  content: "\f046";
}

.rct-icon-leaf::before {
  content: "\f016";
}

.rct-icon-parent-open::before {
  content: "\f115";
}

.rct-icon-parent-close::before {
  content: "\f114";
}
