/*
    Based on https://bootsnipp.com/snippets/featured/fancy-bootstrap-checkboxes
    Upgraded to support radio inputs as well.
*/

.form-group input[type="checkbox"],
.form-group input[type="radio"] {
	display: none;
}

.form-group input[type="checkbox"] + .btn-group > label > span,
.form-group input[type="radio"] + .btn-group > label > span {
	width: 20px;
}

.form-group input[type="checkbox"] + .btn-group > label > span:first-child,
.form-group input[type="radio"] + .btn-group > label > span:first-child {
	display: none;
}

.form-group input[type="checkbox"] + .btn-group > label > span:last-child,
.form-group input[type="radio"] + .btn-group > label > span:last-child {
	display: inline-block;
}

.form-group input[type="checkbox"]:checked + .btn-group > label > span:first-child,
.form-group input[type="radio"]:checked + .btn-group > label > span:first-child {
	display: inline-block;
}

.form-group input[type="checkbox"]:checked + .btn-group > label > span:last-child,
.form-group input[type="radio"]:checked + .btn-group > label > span:last-child {
	display: none;
}

.form-group input[type="radio"]:disabled + .btn-group > label {
	background: #eee;
	cursor: not-allowed;
}

label.btn {
	border: 1px solid #ccc;
	border-radius: 4px;
	font-weight: normal;
	text-transform: none;
	padding: 6px 7px;
}

.has-error label.btn {
	color: #a94442;
	border-color: #a94442;
	box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075);
}

.has-error label.btn span {
	color: #333;
}

.form-group input[type="radio"] + .btn-group > label span.radio-mark {
	display: block;
	margin: 0 auto;
	width: 10px;
	height: 10px;
	border-radius: 50%;
	background-color: #000;
	border: 2px solid #fff;
	box-shadow: 0 0 0 1px #000;
}