.charsheet label { display: inline-block; width: 75px; text-align: right; } .charsheet input { display: inline-block; width: 155px; } .charsheet { background-color: white; } .charsheet select { width: 40px; } /* Hide actual dot/checkbox */ input[type="radio"], input[type="checkbox"] { position: absolute; opacity: 0; width:15px; cursor: pointer; z-index: 1; margin-top: 5px; } /* Styles common to fake dot and checkbox */ input[type="radio"] + span::before, input[type="checkbox"] + span::before { border: solid 1px #a8a8a8; line-height: 14px; text-align: middle; display: inline-block; vertical-align: middle; -moz-box-shadow: 0 0 2px #ccc; -webkit-box-shadow: 0 0 2px #ccc; box-shadow: 0 0 2px #ccc; background: #f6f6f6; background: -moz-radial-gradient(#f6f6f6, #dfdfdf); background: -webkit-radial-gradient(#f6f6f6, #dfdfdf); background: -ms-radial-gradient(#f6f6f6, #dfdfdf); background: -o-radial-gradient(#f6f6f6, #dfdfdf); background: radial-gradient(#f6f6f6, #dfdfdf); } /* Styles unique to fake dot (checked or left of checked) */ input[type="radio"]+ span::before { content: "•"; width: 12px; height: 12px; font-size: 36px; -moz-border-radius: 50%; -webkit-border-radius: 50%; border-radius: 50%; } /* Styles unique to fake checkbox (unchecked) */ input[type="checkbox"] + span::before { position:relative; content: ""; opacity: .25; width: 14px; height: 14px; font-size: 12px; -moz-border-radius: 3px; -webkit-border-radius: 3px; border-radius: 3px; } /* Styles unique to fake checkbox (checked) */ input[type="checkbox"]:checked + span::before { border: solid 1px transparent; background: transparent; content: "✖"; color: #a00; -moz-box-shadow: 0 0 2px transparent; -webkit-box-shadow: 0 0 2px transparent; box-shadow: 0 0 2px transparent; } input[type="checkbox"]:hover:checked + span::before { -moz-box-shadow: 0 0 2px #ccc; -webkit-box-shadow: 0 0 2px #ccc; box-shadow: 0 0 2px #ccc; border: solid 1px #a8a8a8; margin-right: 0px; } /* Remove dot from all radios _after_ selected one */ input[type="radio"]:checked ~ input[type="radio"]+ span::before { content: ""; } /* Show checkbox when hovering or when it's checked */ input[type="checkbox"]:hover + span::before { opacity: 1; } /* Fade out dots when checkbox is checked */ input[type="checkbox"]:checked ~ input[type="radio"] + span { opacity: 0.5; } /* Hide checked dots when checkbox is checked */ input[type="checkbox"]:checked ~ input[type="radio"] + span::before { content: ""; } input.used+ span::before { content: "✖"; width: 12px; height: 12px; font-size: 12px; -moz-border-radius: 0%; -webkit-border-radius: 0%; border-radius: 0%; } input.forms { width: 118px; } input.forms + span::before { margin-left: 53px; margin-right: 53px; content: ""; } input.forms:checked + span::before{ content: "•"; }