.switch {
  background: #B2B4B3;
  border: 1px solid #B2B4B3;
  position: relative;
  top: -1px;
  display: inline-block;
  box-sizing: content-box;
  overflow: visible;
  width: 40px;
  height: 15px;
  padding: 0px;
  margin: 0px;
  border-radius: 20px;
  cursor: pointer;
  box-shadow: rgb(223, 223, 223) 0px 0px 0px 0px inset;
  transition: 0.3s ease-out all;

  &.wide {
    width: 80px;
  }

  small {
    background: #fff;
    border-radius: 100%;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.6);
    width: 22px;
    height: 22px;
    position: absolute;
    top: -3px;
    left: -1px;
    transition: 0.3s ease-out all;
  }

  &.checked {
    background: #EFEFEF;
    border-color: #EFEFEF;

    small {
      background: $chat-secondary;
      left: 20px;
    }
  }

  &.wide.checked small {
    left: 52px;
  }

  .switch-text {
    font-family: Arial, Helvetica, sans-serif;
    font-size: 13px;
  }

  .switch-flag {
    float: right;
    font-size: 9px;
    margin-top: 3px;
    margin-right: 4px;
    color: $chat-text-inverse;
  }

  .off {
    display: block;
    position: absolute;
    right: 10%;
    top: 25%;
    z-index: 0;
    color: #A9A9A9;
  }

  .on {
    display: none;
    z-index: 0;
    color: #fff;
    position: absolute;
    top: 25%;
    left: 9%;
  }

  &.checked {
    .off {
      display: none;
    }

    .on {
      display: block;
    }

    .switch-flag {
      float: left;
      margin-left: 4px;
      color: $chat-secondary;
    }
  }

  &.disabled {
    opacity: 0.5;
    cursor: not-allowed;
  }

  .checker {
    display: none !important;
  }
}
