.checkbox-tree {
    border: 1px solid #ccc;
    background-color: #fff;
    padding: 20px;
}

.checkbox-tree.checkbox-tree-disabled .checkbox-tree-level {
    color: #bbb;
}

.checkbox-tree-level .checkbox-tree-level {
    margin-left: 32px;
}

input.checkbox-tree-model {
    display: none;
}

/*
 * Checkboxes
 */
.checkbox-tree-checkbox {
    display: inline-block;
    margin: 0px 2px 0px 2px;
    width: 13px;
    height: 13px;
    background: url("checkbox-tree.png") no-repeat;
    background-position: 0px 0px;
}

.checkbox-tree-checkbox:hover {
    background-position: -13px 0px;
}

.checkbox-tree-checkbox.checked {
    background-position: 0px -13px;
}

.checkbox-tree-checkbox.checked:hover {
    background-position: -13px -13px;
}

.checkbox-tree-checkbox.half-checked {
    background-position: 0px -26px;
}

.checkbox-tree-checkbox.half-checked:hover {
    background-position: -13px -26px;
}

.checkbox-tree-disabled .checkbox-tree-checkbox {
    background-position: -26px 0px;
}

.checkbox-tree-disabled .checkbox-tree-checkbox.checked {
    background-position: -26px -13px;
}

.checkbox-tree-disabled .checkbox-tree-checkbox.half-checked {
    background-position: -26px -26px;
}

.checkbox-tree-label {
    display: inline-block;
}

/*
 * Tree expanders
 */
.checkbox-tree-expander {
    display: inline-block;
    margin: 0px;
    width: 15px;
    height: 15px;
    background: url("checkbox-tree.png") no-repeat;
    background-position: 0px -39px;
}

.checkbox-tree-disabled .checkbox-tree-expander {
    visibility: hidden;
}

.checkbox-tree-expander:hover {
    background-position: -15px -39px;
}

.checkbox-tree-expander.expanded {
    background-position: 0px -54px;
}

.checkbox-tree-expander.expanded:hover {
    background-position: -15px -54px;
}

/*
 * Tree padding
 */
.checkbox-tree-padding {
    display: inline-block;
    margin: 0px;
    width: 15px;
    height: 15px;
}
