.switch-input {
  display: none;
}

.switch-label {
  position: relative;
  display: inline-block;
  min-width: 112px;
  width: 100%;
  box-sizing: border-box;
  cursor: pointer;
  font-weight: 500;
  text-align: left;
  padding: 10px 44px 10px 0;
  &:before, &:after {
    content: "";
    position: absolute;
    margin: 0;
    outline: 0;
    top: 50%;
    -ms-transform: translate(0, -50%);
    -webkit-transform: translate(0, -50%);
    transform: translate(0, -50%);
    -webkit-transition: all 0.3s ease;
    transition: all 0.3s ease;
  }
  &:before {
    right: 2px;
    width: 34px;
    height: 14px;
    background-color: #9E9E9E;
    border-radius: 8px;
  }
  &:after {
    right: 17px;
    width: 20px;
    height: 20px;
    background-color: #FAFAFA;
    border-radius: 50%;
    box-shadow: 0 3px 1px -2px rgba(0, 0, 0, 0.14), 0 2px 2px 0 rgba(0, 0, 0, 0.098), 0 1px 5px 0 rgba(0, 0, 0, 0.084);
  }
  .toggle--on {
    display: none;
  }
  .toggle--off {
    display: inline-block;
  }
}

.switch-input:checked + .switch-label {
  &:before {
    background-color: #A5D6A7;
  }
  &:after {
    background-color: #4CAF50;
    -ms-transform: translate(80%, -50%);
    -webkit-transform: translate(80%, -50%);
    transform: translate(80%, -50%);
  }
  .toggle--on {
    display: inline-block;
  }
  .toggle--off {
    display: none;
  }
}