.form-check {
    display: flex;
    align-items: center;
    margin-bottom: 20px;
}

.form-check-label {
    margin: 0;
    margin-top: 4px;
    margin-left: 10px;
    user-select: none;
    cursor: pointer;
}


.form-check-input {
    position: relative;
    appearance: none;
    background: #f5f5F5;
    width: 40px;
    height: 22px;
    border-radius: 9999px;
    border: 1px solid #ccc;
    cursor: pointer;
}

.form-check-input[disabled] {
    cursor: not-allowed;
    opacity: .3;
}

.form-check-input::after {
    content:'';
    position: absolute;
    width: 20px;
    height: 20px;
    background-color: #ccc;
    top: 50%;
    transform: translateY(-50%) scale(.9);
    border-radius: 50%;
    left: 2px;
    transition: all .3s ease;
}

.form-check-input:checked {
    border-color: var(--color-primary);;
}

.form-check-input:checked::after {
    left: calc(20px - 3px);
    background:var(--color-primary);
}

.form-check-input ~ .form-check-label {
    opacity: .6;
}

.form-check-input:checked ~ .form-check-label {
    text-decoration: none;
    opacity: 1;
    color: var(--color-primary);
    font-weight: 500;
}


label.required {
    position: relative;
}

label.required::after {
    content: '*';
    position: absolute;
    color: red;
    top: 50%;
    transform: translateY(-50%);
    font-size: 16px;
    margin-left: 10px;
    display: inline-block;
}

.invalid-feedback { display: inline-block!important; }
.is-invalid + .invalid-feedback { display: inline-block!important; }
.list-group-item.active {
    background: #000;
    color: #fff;
}


.invalid-feedback { display: inline-block!important; }
.is-invalid + .invalid-feedback { display: inline-block!important; }




.radio-group {
    display: flex;
    align-items: center;
}

.radio-input {
    appearance: none;
}

.radio-label {
    padding: 8px 15px;
    color: var(--color-primary);
    border-radius: 3px;
    cursor: pointer;
}

.radio-input:checked ~ .radio-label {
    background: var(--color-primary);
    color: var(--white-color);
}
