input[type="checkbox"] {
	display: none;
}

input[type="checkbox"] + label {
	cursor: pointer;
	font-size: 2em;
}

[id^="checkbox-10-"] + label {
	background-color: #F5F5F5;
	padding: 18px;
	border-radius: 100px;
	display: inline-block;
	position: relative;
	margin-right: 10px;
	-webkit-transition: all 0.2s ease-in;
	transition: all 0.2s ease-in;
	width: 100px;
	height: 30px;
}

[id^="checkbox-10-"] + label:after {
	content: ' ';
	position: absolute;
	top: 0;
	-webkit-transition: box-shadow 0.1s ease-in;
	transition: box-shadow 0.2s ease-in;
	left: 0;
	width: 100%;
	height: 100%;
	border-radius: 80px;
	box-shadow: inset 0 0 0 0 #eee, 0 0 2px rgba(0,0,0,0.8);
}

[id^="checkbox-10-"] + label:before {
	content: ' ';
	position: absolute;
	background: white;
	top: 2px;
	left: 2px;
	z-index: 999999;
	width: 62px;
	-webkit-transition: all 0.1s ease-in;
	transition: all 0.1s ease-in;
	height: 62px;
	border-radius: 80px;
	box-shadow: 0 4px 1px rgba(0,0,0,0.1), 0 0px 1px rgba(0,0,0,0.6);
}

[id^="checkbox-10-"]:active + label:after {
	box-shadow: inset 0 0 0 20px #eee, 0 0 1px #eee;
}

[id^="checkbox-10-"]:active + label:before {
	width: 72px;
}

[id^="checkbox-10-"]:checked:active + label:before {
	width: 72px;
	left: 62px;
}

[id^="checkbox-10-"] + label:active {
	box-shadow: 0 2px 4px rgba(0,0,0,0.1), inset 0px 2px 6px rgba(0,0,0,0.1);
}

[id^="checkbox-10-"]:checked + label:before {
	content: ' ';
	position: absolute;
	left: 72px;
	border-radius: 80px;
}

[id^="checkbox-10-"]:checked + label:after {
	content: ' ';
	font-size: 1.5em;
	position: absolute;
	background: #00CCFF;
	box-shadow: 0 0 1px #00CCFF;
}