/* The container */
.radio_container {
    display: inline;
    position: relative;
    padding-left: 30px;
    padding-bottom: 10px;
    cursor: pointer;
    user-select: none;
}

/* Hide the browser's default radio button */
.radio_container input {
    position: absolute;
    opacity: 0;
    cursor: pointer;
}

/* Create a custom radio button */
.radio_checkmark {
    position: absolute;
    top: 0;
    left: 0;
    height: 30px;
    width: 30px;
    background-color: #ccc;
    border-radius: 50%;
}

/* On mouse-over, add a grey background color */
.radio_container:hover input ~ .radio_checkmark {
    background-color: #eee;
}

/* When the radio button is checked, add a blue background */
.radio_container input:checked ~ .radio_checkmark {
    background-color: #2196F3;
}

/* Create the indicator (the dot/circle - hidden when not checked) */
.radio_checkmark:after {
    content: "";
    position: absolute;
    display: none;
}

/* Show the indicator (dot/circle) when checked */
.radio_container input:checked ~ .radio_checkmark:after {
    display: block;
}

/* Style the indicator (dot/circle) */
.radio_container .radio_checkmark:after {
    top: 10px;
    left: 10px;
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background: white;
}

.radio_container input:disabled ~ .radio_checkmark {
    cursor: not-allowed;
    opacity: 0.4;
    background-color: #ccc;
}

.radio_container input:disabled:checked ~ .radio_checkmark {
    cursor: not-allowed;
    opacity: 0.4;
    background-color: #2196F3;
}

.radio_container input:disabled ~ .radio_checkmark:after {
    top: 10px;
    left: 10px;
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background: white;
}

.radio_readonly {
    opacity: 0.4;
    pointer-events: none;
}