/* Thanks to Guus Lieben for the Material Design Switch */

.switch-ctn
  margin: 20px 16px
  position: relative

  &.compact
    margin: 0

.disabled
  .switch-label
    cursor: not-allowed

  .switch-label-text
    opacity: 0.4

.switch-input
  -moz-appearance: none
  -webkit-appearance: none
  appearance: none
  height: 20px
  left: -3px
  position: absolute
  top: calc(50% - 3px)
  -ms-transform: translate(0, (-50%))
  -webkit-transform: translate(0, -50%)
  transform: translate(0, -50%)
  width: 34px

.switch-label
  position: relative
  display: inline-block
  cursor: pointer
  font-weight: 500
  text-align: left
  padding: 12px 0 12px 44px

  &: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
    left: 1px
    width: 34px
    height: 14px
    background-color: #9E9E9E
    border-radius: 8px

    .switch-input:checked + &
      background-color: var(--accent-color-light)

    .switch-input:disabled + &
      background-color: #9E9E9E

  &:after
    left: 0
    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)

    .switch-input:checked + &
      background-color: var(--accent-color)
      -ms-transform: translate(80%, -50%)
      -webkit-transform: translate(80%, -50%)
      transform: translate(80%, -50%)

    .switch-input:disabled + &
      background-color: #BDBDBD
     
