.checkbox-indeterminate {
    padding-left: 22px;
    margin-bottom: 0;
    .font-size-normal();
    font-weight: normal;
    position: relative;
    min-height: 1em;

    input[type=checkbox] {
        display: none;

        + label {
            width: 14px;
            height: 14px;
            background: #fff;
            border: 1px solid @gray;
            border-radius: 2px;
            position: absolute;
            left: 0;
            margin-top: auto;
        }

        &:checked:not(:indeterminate) {
            + label {
                &::before {
                    content: '';
                    position: absolute;
                    border: solid @gray-deep;
                    border-width: 0 2px 2px 0;
                    transform: rotate(45deg);
                    width: 5px;
                    height: 9px;
                    left: 4px;
                }
            }
        }

        &:indeterminate {
            + label {
                &::before {
                    content: '';
                    position: absolute;
                    border: 1px solid @gray-deep;
                    background: @gray-soft;
                    width: 8px;
                    height: 8px;
                    left: 2px;
                    top: 2px;
                }
            }
        }

        &.disabled,
        &:disabled {
            opacity: .4;

            + label {
                &::before {
                    opacity: .4;
                }
            }
        }
    }
}