.radio_buttons input{
    display:none;
}
.radio_buttons label{
	display: inline-block;
    padding: 10px 15px;
    border: solid 1px #c2c9d4;
    margin-left: -1px;
}
.radio_buttons label:nth-child(2){
    border-radius: 3px 0px 0px 3px;
}
.radio_buttons label:last-child{
    border-radius: 0px 3px 3px 0px;
}
.radio_buttons input:checked+label{
	background:#2E9FFF;
	border-color:#2E9FFF;
	color:#fff;
}
.radio_buttons input:checked+label+input+label {
    border-left-color: #2e9fff;
}

label{
	display: inline-flex;
    align-items: center;
	cursor:pointer;
	transition:background 0.2s ease;
	position:relative;
}
label:hover{
	background:#f7f7f7;
}
label input{
	opacity:0;
	margin-left:7px;
}
label input+span{
	border:1px solid #ccc;
    width:15px;
    height:15px;
    position:absolute;
	transition:border-color 0.2s ease;
}
label input[type=radio]+span{
	border-radius:50%;
}
label:hover input+span{
	border-color:#2e9fff;
}
label input:checked+span{
	border:none;
}
label input+span:after{
    position: absolute;
    top: -2px;
    left: 0;
	opacity:0;
	transition:opacity 0.2s ease;
}
label input:checked+span:after{
	opacity:1;
}
label input[type=checkbox]:checked+span:after{
	content: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='19' height='19' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='%232e9fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m4 12l6 6L20 6'/%3E%3C/svg%3E");
    vertical-align: -0.125em;
}
label input[type=radio]:checked+span:after{
	content: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='19' height='19' viewBox='0 0 24 24'%3E%3Cpath fill='%232e9fff' d='M12 5a7 7 0 1 0 0 14a7 7 0 1 0 0-14'/%3E%3C/svg%3E")
    vertical-align: -0.125em;
}