    .switch {
      position: relative;
      display: inline-block;
      width: 4rem;
      vertical-align: middle;
      height: 2rem;
    }

    .switch input {display: none;}

    .slider {
      position: absolute;
      cursor: pointer;
      top: 0;
      left: 0;
      right: 0;
      bottom: 0;
      -webkit-transition: .25s;
      transition: .25s;
    }

    .slider:before {
      position: absolute;
      content: "";
      height: 1.5rem;
      width: 1.5rem;
      left: .25rem;
      bottom: .25rem;
      background-color: white;
      -webkit-transition: .25s;
      transition: .25s;
    }

    input:checked + .slider {background-color: var(--bs-success);}
    input:focus + .slider {box-shadow: 0 0 1px #2196F3;}

    input:checked + .slider:before {
      -webkit-transform: translateX(1.75rem);
      -ms-transform: translateX(1.75rem);
      transform: translateX(1.75rem);
    }

    .on {
      display: none;
      left: 0.5rem;
    }

    .off {
      left: 2rem;
    }

    .on, .off {
      color: white;
      position: absolute;
      font-size: .75rem;
    }

    input:checked + .slider .on {display: block;}
    input:checked + .slider .off {display: none;}

    .slider.round {border-radius: 1rem;}
    .slider.round:before {border-radius: 50%;}
