.onoffswitch {
    .translate3d(0, 0, 0);
    font-size: 10px;
    input[type="checkbox"] {
        display: none;
    }
    .switch + label {
      position: relative;
      display: block;
      width: 5.5em;
      height: 3em;
      cursor: pointer;
      border-radius: 3px;
      background: linear-gradient(rgba(0, 0, 0, 0.07), rgba(255, 255, 255, 0)), #ddd;
      box-shadow: 0 0.07em 0.1em -0.1em rgba(0, 0, 0, 0.4) inset, 0 0.05em 0.08em -0.01em rgba(255, 255, 255, 0.7);
    }
    .switch + label::before {
      position: absolute;
      content: '';
      width: 2em;
      height: 2em;
      top: 0.5em;
      left: 0.5em;
      border-radius: 2px;
      transition: 250ms ease-in-out;
      background: #777;
    }
    .switch + label::after {
      position: absolute;
      content: '';
      width: 1em;
      height: 1em;
      top: 1em;
      left: 6em;
      border-radius: 2px;
      transition: 250ms ease-in;
      background: linear-gradient(rgba(0, 0, 0, 0.07), rgba(255, 255, 255, 0.1)), #ddd;
      box-shadow: 0 0.08em 0.15em -0.1em rgba(0, 0, 0, 0.5) inset, 0 0.05em 0.08em -0.01em rgba(255, 255, 255, 0.7), -7.25em 0 0 -0.25em rgba(0, 0, 0, 0.3);
    }
    .switch:checked + label::after {
      background: linear-gradient(rgba(0, 0, 0, 0.07), rgba(255, 255, 255, 0.1)), #f22472;
      box-shadow: 0 0.08em 0.15em -0.1em rgba(0, 0, 0, 0.5) inset, 0 0.05em 0.08em -0.01em rgba(255, 255, 255, 0.7), -7.25em 0 0 -0.25em rgba(0, 0, 0, 0.12);
    }
    .switch:checked + label::before {
      left: 3em;
    }
}