Radio buttons should not always look the way they do and sometimes they cannot be replaced by other form elements, so a solution is needed.
#form1 input[type="radio"] { opacity: 0 !important; position: fixed; width: 0px; } #form1 label:before, #form1 label:after { opacity: 0 !important; } #form1 label { display: table-cell; background-color: #ff0000; padding: 10px 20px; border: 1px solid #ff0000; border-radius: 15px; color: #fff; cursor: pointer; width: 110px; height: 110px; text-align: center; vertical-align: middle; font-weight: 400; font-size: 1.1em; } #form1 input[type="radio"]:checked + label, #form1 input[type="checkbox"]:checked + label { background-color:#fff; color: #ff0000; } #bewerbungen label:hover { background-color: #fff; color: #ff0000; }