.switch input {
  display: none;
  text-align: center;
}
.switch input + label {
  position: relative;
  display: inline-block;
  height: 20px;
  padding: 0 20px 0 30px;
  color: #fff;
  background-color: #fff;
  border: solid 1px grey;
  border-radius: 20px;
  margin: auto;
  background-color: red;
  transition: all 200ms ease-in-out;
  cursor: pointer;
}
.switch input + label::after {
  position: absolute;
  display: block;
  content: "";
  width: 20px;
  height: 20px;
  top: -1px;
  left: -1px;
  background-color: #eee;
  border: solid 1px grey;
  border-radius: 10px;
  transition: left 200ms ease-in-out;
  cursor: pointer;
}
.switch input + label .switch-option-on,
.switch input + label .switch-option-off {
  display: none;
}
.switch input + label .switch-option-on {
  display: block;
  line-height: 20px;
}
.switch input:checked + label {
  padding: 0 30px 0 20px;
  background-color: green;
  transition: all 200ms ease-in-out;
}
.switch input:checked + label::after {
  left: calc(100% - 20px);
  transition: left 200ms ease-in-out;
}
.switch input:checked + label .switch-option-on {
  display: none;
}
.switch input:checked + label .switch-option-off {
  display: block;
}
.switch--inline {
  display: inline-block;
  vertical-align: middle;
}

@media (max-width: 1000px) {
  .switch input + label .switch-option-on {
    line-height: auto;
  }
}