/* Custom Checkboxes and Radio  */
input[type="checkbox"],
input[type="radio"] {
	height: auto;
	padding: 0;
}

label > input[type="checkbox"],
label > input[type="radio"] {
	-ms-transform: scale(0);
	-webkit-transform: scale(0);
	transform: scale(0);
}

/* Checkboxes and Radio labels */
label > input[type="checkbox"] + span + label,
label > input[type="radio"] + span + label {
	display: inline;
	margin-right: 20px;
	padding-left: 10px;
}

/* Radio labels */
label > input[type="radio"] + span + label {
	vertical-align: middle;
}

/* Checkboxes and Radio background */
label > input[type="checkbox"] + span,
label > input[type="radio"] + span {
	background: rgba(0, 0, 0, 0.1);
	cursor: pointer;
	display: inline-block;
	text-align: center;
	vertical-align: middle;
}

/* Checkboxes background */
label > input[type="checkbox"] + span {
	border-radius: 5px;
	height: 24px;
	margin: 0 0 0 -12px; /* The width of the native checkbox */
	width: 24px;
}

/* Radio background */
label > input[type="radio"] + span {
	border-radius: 10px;
	height: 20px;
	margin-left: -15px;
	width: 20px;
}

/* Checkboxes and Radio filling */
label > input[type="checkbox"] + span > span,
label > input[type="radio"] + span > span {
	display: inline-block;
	vertical-align: top;
}

label > input[type="radio"] + span > span {
	margin-top: 5px;
}

/* Checkboxes filling */
label > input[type="checkbox"] + span > span {
	height: 5px;
	margin: 7px 0 0 1px;
	width: 10px;
	-webkit-transform: rotate(-45deg);
	-moz-transform: rotate(-45deg);
	-o-transform: rotate(-45deg);
	-ms-transform: rotate(-45deg);
	transform: rotate(-45deg);
}

label > input[type="checkbox"]:checked + span > span,
label > input[type="checkbox"]:disabled + span > span,
label > input[type="checkbox"]:not(:checked) + span:hover > span,
label:hover > input[type="checkbox"]:not(:checked) + span > span {
	border-style: solid;
	border-right: 2px;
	border-top: 2px;
}

label > input[type="checkbox"]:checked + span > span {
	border-color: #333;
}

label > input[type="checkbox"]:disabled + span > span,
label > input[type="checkbox"]:not(:checked) + span:hover > span,
label:hover > input[type="checkbox"]:not(:checked) + span > span {
	border-color: #aaa;
}

/* Radio filling */
label > input[type="radio"]:checked + span > span,
label > input[type="radio"]:disabled + span > span,
label > input[type="radio"]:not(:checked) + span:hover > span,
label:hover > input[type="radio"]:not(:checked) + span > span {
	border-radius: 10px;
	height: 10px;
	width: 10px;
}

label > input[type="radio"]:checked + span > span {
	background-color: #333;
}

label > input[type="radio"]:disabled + span > span,
label > input[type="radio"]:not(:checked) + span:hover > span,
label:hover > input[type="radio"]:not(:checked) + span > span {
	background-color: #aaa;
}
