label {
	padding-left: 20px;
}

input[type="checkbox"], input[type="radio"] {
	position: absolute;
	clip: rect(1px, 1px, 1px, 1px);
}

input[type="checkbox"] + label::before, input[type="radio"] + label::before {
	content: '';
	width: 16px;
	height: 18px;
	margin-top: 2px;
	margin-right: 6px;
	display: inline-block;
	vertical-align: middle;
	background: url('../../spr.png') 0px 0px no-repeat;
}

input[type="checkbox"] + label:hover::before          { background-position: 0px  -20px; }
input[type="checkbox"] + label:active::before         { background-position: 0px  -40px; }
input[type="checkbox"]:checked + label::before        { background-position: 0px  -80px; }
input[type="checkbox"]:checked + label:hover::before  { background-position: 0px -100px; }
input[type="checkbox"]:checked + label:active::before { background-position: 0px -120px; }

input[type="radio"] + label::before                   { background-position: 0px -160px; }
input[type="radio"] + label:hover::before             { background-position: 0px -180px; }
input[type="radio"] + label:active::before            { background-position: 0px -200px; }
input[type="radio"]:checked + label::before           { background-position: 0px -240px; }
input[type="radio"]:checked + label:hover::before     { background-position: 0px -260px; }
input[type="radio"]:checked + label:active::before    { background-position: 0px -280px; }
