.switch {
	--slider-size: 30px;
	position: relative;
	display: inline-block;
	width: calc(var(--slider-size) * 2 + 10px);
	height: calc(var(--slider-size) + 10px);
}

.switch input {
	opacity: 0;
	width: 0;
	height: 0;
}

.slider {
	position: absolute;
	cursor: pointer;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background-color: #ccc;
	-webkit-transition: .4s;
	transition: .4s;
}

.slider:before {
	position: absolute;
	content: "";
	height: var(--slider-size);
	width: var(--slider-size);
	left: 5px;
	bottom: 5px;
	background-color: white;
	-webkit-transition: .4s;
	transition: .4s;
	background-color: white;
	bottom: 5px;
}

input:checked+.slider {
	background-color: #2196F3;
}

input:focus+.slider {
	box-shadow: 0 0 1px #2196F3;
}

input:checked+.slider:before {
	-webkit-transform: translateX(var(--slider-size));
	-ms-transform: translateX(var(--slider-size));
	transform: translateX(var(--slider-size));
}

/* Rounded sliders */
.slider.round {
	border-radius: var(--slider-size);
}

.slider.round:before {
	border-radius: 50%;
}