/* Styles from material design */
.checkbox {
    display: inline-flex;
    align-items: center;
    vertical-align: middle;
    --color-default: rgb(25, 118, 210);
    cursor: pointer;
}
.checkbox-root {
    display: inline-flex;
    overflow: hidden;
    position: relative;
    vertical-align: middle;
    justify-content: center;
    z-index: 0;
    color: rgba(0, 0, 0, 0.6);
    user-select: none;
    padding: 6px;
    border-radius: 50%;
}
.checkbox--checked {
    color: var(--color-default);
}
.checkbox-input {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    cursor: inherit;
    opacity: 0;
    margin: 0;
}
.checkbox.checkbox--disabled {
    cursor: default;
}
.checkbox.checkbox--disabled .checkbox-root {
    color: rgba(0, 0, 0, 0.26);
}
.checkbox.checkbox--disabled .checkbox__label {
    color: rgba(0, 0, 0, 0.38);
}
.checkbox-root .iconfont {
    font-size: 24px;
}
.checkbox-root .ripple::before {
    background-color: var(--color-default);
}
.checkbox:not(.checkbox--disabled) .checkbox-root:hover .ripple::before {
    opacity: 0.04;
}
.checkbox--activation .ripple::after {
    animation: mdc-ripple-fg-radius-in 225ms forwards, mdc-ripple-fg-opacity-in 75ms forwards;
}
.checkbox--deactivation .ripple::after {
    animation: mdc-ripple-fg-opacity-out 150ms;
    transform: scale(1.8);
}