
.toggle-switch-container {
  padding: 30px 50px;
}
.toggle-switch {
  position: absolute;
  margin-left: -9999px;
  visibility: hidden;
}
.toggle-switch + label {
  display: block;
  position: relative;
  cursor: pointer;
  outline: none;
  user-select: none;
  padding: 2px;
  width: 80px;
  height: 40px;
  background-color: #ccc;
  background: -webkit-linear-gradient(#dedede 0%, #f7f7f7 100%);
  background: -moz-linear-gradient(#dedede 0%, #f7f7f7 100%);
  background: -o-linear-gradient(#dedede 0%, #f7f7f7 100%);
  background: linear-gradient(#dedede 0%, #f7f7f7 100%);
  border-radius: 40px;
  font-size: 13.33333333px;
  color: #fff;
  line-height: 34px;
  text-transform: uppercase;
}
.toggle-switch-wide.toggle-switch + label {
  width: 160px;
}
.toggle-switch + label:before,
.toggle-switch + label:after {
  display: block;
  position: absolute;
  top: 3px;
  left: 3px;
  bottom: 3px;
  content: "";
}
.toggle-switch + label:before {
  content: attr(data-switch-off);
  text-indent: 38.0952381px;
  right: 3px;
  background-color: #f5f5f5;
  border-radius: 40px;
  transition: background 0.4s;
  color: #bbb;
  box-shadow: inset 0px 0px 5px 5px rgba(0, 0, 0, 0.05);
  text-shadow: 1px 1px 1px #fff;
}
.toggle-switch-wide.toggle-switch + label:before {
  text-indent: 44.44444444px;
}
:checked.toggle-switch + label:before {
  content: attr(data-switch-on);
  color: #fff;
  text-indent: 10px;
  background-color: #6ba539;
  text-shadow: 1px 1px 1px #527f2c;
}
.toggle-switch-wide:checked.toggle-switch + label:before {
  text-indent: 20px;
}
.toggle-switch + label:after {
  width: 34px;
  background-color: #f7f7f7;
  border-radius: 100%;
  border: 1px solid #ececec;
  box-shadow: inset 0px 0px 0px 5px #ffffff, 0 2px 5px rgba(0, 0, 0, 0.3);
  transition: margin 0.3s;
}
:checked.toggle-switch + label:after {
  margin-left: 40px;
}
.toggle-switch-wide:checked.toggle-switch + label:after {
  margin-left: 120px;
}
