.toggleSwitch { display: inline-block; position: relative; }

.toggleSwitch input { width: 0; height: 0; margin: 0; padding: 0; opacity: 0; position: absolute; z-index: 1; }

.toggleSwitch label {
	border: 1px solid #ccc;
	border-radius: 50px;
	display: block;
	overflow: hidden;
	cursor: pointer;
}

.toggleSwitch .toggleSwitchHandle {
	box-sizing: border-box;
	width: 30px;
	border: 1px solid #ccc;
	border-radius: 50px;
	background-color: white;
	display: block;
	position: absolute;
	top: -2px;
	left: 0;
	bottom: -2px;
	-webkit-transition: all 0.4s ease;
	transition: all 0.4s ease;
}

.toggleSwitch .toggleSwitchTrack {
	width: 200%;
	height: 100%;
	display: block;
	margin-left: -100%;
	-webkit-transition: all 0.4s ease;
	transition: all 0.4s ease;
}

.toggleSwitch .toggleSwitchText {
	box-sizing: border-box;
	width: 50%;
	height: 100%;
	border-radius: 50px;
	padding: 5px 0;
	font-size: 12px;
	text-align: center;
	white-space: nowrap;
	user-select: none;
	display: inline;
	float: left;
	-webkit-transition: all 0.4s ease;
	transition: all 0.4s ease;
}
.toggleSwitch .toggleSwitchTextChecked { background-color: #008555; color: white; }
.toggleSwitch .toggleSwitchTextUnchecked { background-color: #ccc; color: #333; padding-left: 25px; }

/* Checked */
.toggleSwitch input:checked + label .toggleSwitchHandle { left: calc(100% - 30px); }
.toggleSwitch input:checked + label .toggleSwitchTrack { margin-left: 0; }
.toggleSwitch input:checked + label .toggleSwitchTextChecked { padding-right: 25px; }
.toggleSwitch input:checked + label .toggleSwitchTextUnchecked { padding-left: 0; }

/* Focused */
.toggleSwitch input:focus + label {
	outline: 5px auto Highlight; /* Firefox */
	outline: 5px auto -webkit-focus-ring-color; /* Chrome, Edge, Safari */
}
.toggleSwitch input:focus + label > .toggleSwitchHandle {
	border-color: Highlight; /* Firefox */
	border-color: -webkit-focus-ring-color; /* Chrome, Edge, Safari */
}