﻿.control-input  input[type=radio]{
    position: absolute !important;
    z-index: 1;
    opacity: 0;
}

    .control-input input[type=radio]:checked ~ .radio_label::before {
        color: #fff !important;
        background-color: #007bff !important;
    }

    .control-input input[type=radio]:focus ~ .radio_label::before {
        box-shadow: 0 0 0 1px #fff, 0 0 0 .2rem rgba(0, 123, 255, .25) !important;
    }

    .control-input input[type=radio]:active ~ .radio_label::before {
        color: #fff !important;
        background-color: #b3d7ff !important;
    }

    .control-input input[type=radio]:disabled ~ .radio_label {
        color: #6c757d !important;
    }

    .control-input input[type=radio]:disabled ~ .radio_label::before {
            background-color: #e9ecef !important;
        }

.radio_label {
    position: relative !important;
    margin-bottom: 0 !important;
    margin-left: 20px;
}

.radio_label::before {
    position: absolute !important;
    top: 2px !important;
    left: -23px !important;
    display: block !important;
    width: 1rem !important;
    height: 1rem !important;
    pointer-events: none !important;
    content: "" !important;
    user-select: none !important;
    background-color: #dee2e6 !important;
}
    .radio_label::after {
        position: absolute !important;
        top: 2px !important;
        left: -23px !important;
        display: block !important;
        width: 1rem !important;
        height: 1rem !important;
        content: "" !important;
        background-repeat: no-repeat !important;
        background-position: center center !important;
        background-size: 50% 50% !important;
    }

.custom-checkbox .custom-control-label::before {
    border-radius: .25rem;
}

.custom-checkbox .custom-control-input:checked ~ .custom-control-label::before {
    background-color: #007bff;
}

.custom-checkbox .custom-control-input:checked ~ .custom-control-label::after {
    background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%23fff' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26 2.974 7.25 8 2.193z'/%3E%3C/svg%3E");
}

.custom-checkbox .custom-control-input:indeterminate ~ .custom-control-label::before {
    background-color: #007bff;
}

.custom-checkbox .custom-control-input:indeterminate ~ .custom-control-label::after {
    background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 4'%3E%3Cpath stroke='%23fff' d='M0 2h4'/%3E%3C/svg%3E");
}

.custom-checkbox .custom-control-input:disabled:checked ~ .custom-control-label::before {
    background-color: rgba(0, 123, 255, .5);
}

.custom-checkbox .custom-control-input:disabled:indeterminate ~ .custom-control-label::before {
    background-color: rgba(0, 123, 255, .5) ;
}

.control-input .radio_label::before {
    border-radius: 50% !important;
}

.control-input input[type=radio]:checked ~ .radio_label::before {
    background-color: #007bff !important;
}

.control-input input[type=radio]:checked ~ .radio_label::after {
    background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3E%3Ccircle r='3' fill='%23fff'/%3E%3C/svg%3E") !important;
}

.control-input input[type=radio]:disabled:checked ~ .radio_label::before {
    background-color: rgba(0, 123, 255, .5) !important;
}