.half-width {
display: inline-block;
width: 50%;
margin-right: -4px;
}
label {
display: block;
margin-bottom: 5px;
margin-top: 10px;
}
.half-width input {
display: none;
}
.half-width input:not(:checked):not(:disabled)+label {
vertical-align: middle;
color: #7f8c8d;
}
.half-width input+label::before{
content: “”;
display: inline-block;
width: 7px;
height: 7px;
margin-right: 8px;
vertical-align: middle;
border: 3px solid #ffffff;
box-shadow: 0 0 0 3px #bdc3c7;
}
input[type=“radio”] + label::before {
border-radius: 50%;
}
input:checked + label::before {
background: #1abc9c;
box-shadow: 0 0 0 3px #1abc9c;
}
input:checked + label {
color: #1abc9c;
}
input:disabled + label::before {
box-shadow: 0 0 0 3px #ecf0f1;
}
input:disabled + label {
color: #ecf0f1;
}
input[type=“text”] {
width: 95%;
height: 24px;
margin-bottom: 10px;
padding: 2px 5px;
color: #000;
border: 2px solid #bdc3c7;
border-radius: 5px;
vertical-align: middle;
}
input:required,
input:invalid {
border-color: #e74c3c;
}
input:disabled {
color: #bdc3c7;
background: #f5f5f5;
border-color: #ecf0f1;
}
input:invalid {
color: #c0392b;
background: #f2a097;
border-color: #e74c3c;
}