input.switch[type=checkbox]{
	height: 0;
	width: 0;
	visibility: hidden;
}

input.switch + label {
	cursor: pointer;
	text-indent: 1.3rem;
	width: 2.4rem;
	height: 1.4rem;
	background: grey;
	display: block;
	position: relative;
    color: #fff;
    padding-top: .2rem;
    font-size: .9em;
}

input.switch + label:after {
	content: '';
	position: absolute;
	top: .2rem;
	left: .2rem;
	width: 1rem;
	height: 1rem;
	background: #fff;
	transition: 0.3s;
}

input.switch:checked + label {
	background: #000;
}

input.switch:checked + label:after {
	left: calc(100% - .2rem);
	transform: translateX(-100%);
}

input.switch + label:active:after {
	width: 1.2rem;
}

.switch-other {
	display: none;
}
input.switch:checked ~ .switch-default {
	display: none;
}
input.switch:checked ~ .switch-other {
	display: initial;
}

/* button as switcher */
.button-switch {
    background-size: 100%;
    background-repeat: no-repeat;
    min-width: 16px;
    min-height: 16px;
    opacity: .35;
}
.button-switch:hover {
    opacity: 1;
}
.button-switch.active {
    opacity: 1;
}
.button-switch ~ div *.switch-default {
	display: initial;
}
.button-switch ~ div *.switch-other {
	display: none;
}
.button-switch.active ~ div *.switch-default {
	display: none;
}
.button-switch.active ~ div *.switch-other {
	display: initial;
}