.checkbox {
	vertical-align: top;
	margin: 0 3px 0 0;
	width: 17px;
	height: 17px;
}

.checkbox:hover + label {

}

.checkbox + label {
	cursor: pointer;
}

.checkbox:not(checked) {
	position: absolute;
	opacity: 0;
}

.checkbox:not(checked) + label {
	position: relative;
	padding: 0 0 0 48px;
}

.checkbox:not(checked) + label:before {
	content: '';
	position: absolute;
	top: -2px;
	left: 0;
	width: 44px;
	height: 20px;
	border-radius: 12px;
	background: #98AAB1;
	box-shadow: inset 0 2px 3px rgba(0,0,0,.2);
}

.checkbox:not(checked) + label:after {
	content: '';
	position: absolute;
	top: 0px;
	left: 2px;
	width: 16px;
	height: 16px;
	border-radius: 10px;
	background: #FFF;
	box-shadow: 0 2px 5px rgba(0,0,0,.3);
	transition: all .2s;
}

.checkbox:checked + label:before {
	background: #006633;
}

.checkbox:checked + label:after {
	left: 26px;
}

.checkbox:focus + label:before {
	box-shadow: 0 0 0 1px rgba(255,255,0,.5);
}

.cs_checkbox {
	position:absolute;
	z-index:-1000;
	left:-1000px;
	overflow: hidden;
	clip: rect(0 0 0 0);
	height:1px;
	width:1px;
	margin:-1px;
	padding:0;
	border:0;
}

.cs_checkbox + label.cs_label {
	padding-left:24px;
	height:19px;
	display:inline-block;
	line-height:19px;
	background-repeat:no-repeat;
	background-position: 0 0;
	font-size:11px;
	vertical-align:middle;
	cursor:pointer;
}

.cs_checkbox:checked + label.cs_label {
	background-position: 0 -18px;
}

.cs_label {
	background-image:url(/images/checkbox.png);
	-webkit-touch-callout: none;
	-webkit-user-select: none;
	-khtml-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	user-select: none;
}

.cs_radio {
	position:absolute; z-index:-1000; left:-1000px; overflow: hidden; clip: rect(0 0 0 0); height:1px; width:1px; margin:-1px; padding:0; border:0;
}

.cs_radio + label.cs_radio_label {
	padding-left:21px;
	height:16px;
	display:inline-block;
	line-height:16px;
	background-repeat:no-repeat;
	background-position: 0 0;
	font-size:11px;
	vertical-align:middle;
	cursor:pointer;
}

.cs_radio:checked + label.cs_radio_label {
	background-position: 0 -16px;
}

label.cs_radio_label {
	background-image:url(/images/radio.png);
	-webkit-touch-callout: none;
	-webkit-user-select: none;
	-khtml-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	user-select: none;
}
