.switch-wrapper {
  position: relative;
  margin-top: -45px;
  margin-bottom: 100px;
  font-size: 0;
}

.switch {
  position: relative;
  margin-top: 85px;
  font-size: 0;
}

.switch-radio-label {
  box-sizing: border-box;
  position: absolute;
  display: inline-block;
  font-size: 14px;
  width: 100%;
  padding: 7px 5px 5px 5px;
  color: #fff;
  font-weight: bold;
  cursor: pointer;
  top: 0;
  transition: all, 0.4s, ease-out;
}
.switch-radio-label.active {
  opacity: 0;
  left: 8px;
}
.switch-radio-label.inactive {
  z-index: 2;
  right: 8px;
}

.switch-radio-label.left {
  text-align: left;
}

.switch-radio-label.right {
  text-align: right;
}

.switch-radio {
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  border: 0;
  position: absolute;
  clip: rect(0 0 0 0);
  overflow: hidden;
}

.slider-switch {
  content: "";
  position: absolute;
  cursor: pointer;
  width: 80px;
  height: 34px;
  top: calc(50% - 17.5px);
  left: calc(50% - 36.5px);
  border-radius: 17.5px;
  background-color: #ccc;
  transition: background-color 300ms ease-in-out;
}

.slider-switch:after {
  content: "";
  position: absolute;
  top: 4px;
  left: 4px;
  width: 26px;
  height: 26px;
  border-radius: 50%;
  background-color: white;
  transition: transform 300ms ease-in-out;
}

/* checked logic selector */
.switch-radio.right:checked + .slider-switch {
  background-color: #2FA4D7;
}

/* checked logic selector */
.switch-radio.right:checked + .slider-switch:after {
  transform: translateX(45px);
}

/* checked logic selector */
.switch-radio.left:checked + .switch-radio-label.right:after {
  content: "";
  position: absolute;
  top: -10px;
  right: 0;
  bottom: -10px;
  left: -36px;
  z-index: 2;
}

input:checked + .slider-switch .switch-radio-label.inactive {
  opacity: 0;
}
input:checked + .slider-switch .switch-radio-label.active {
  opacity: 1;
  z-index: 20;
}