// switch 
@mixin switch() {
  switch {
    font-size: 0;
    color: transparent;
    outline-offset: -4px;
    margin: 2px;
    border: none;
    border-radius: 100%;
    background-color: gtkmix($bg_color, $fg_color, 0.15);

    &:checked {

      &:backdrop {
      }
    }

    &:disabled {
      background-color: $disabled_bg_color;

      &:backdrop {
        background-color: $unfocused_disabled_bg_color;
      }
    }

    &:backdrop {
      background-color: gtkmix($unfocused_bg_color, $unfocused_fg_color, 0.15);;
    }

    slider {
      margin: 2px;
      margin-top: 8px;
      margin-bottom: 8px;
      min-width: 10px;
      min-height: 10px;
      border: none;
      border-radius: 100%;
      color: $fg_color;
      background-color: gtkmix($bg_color, $fg_color, 0.5);
      box-shadow: 0 2px 3px 0 gtkalpha($dark_shadow, 0.15);
    }

    &:checked {
      slider {
        background-color: $selected_bg_color;
      }
      
      &:backdrop slider {
        background-color: $unfocused_selected_bg_color;
      }
    }

    &:disabled {
      slider {
        background-color: $disabled_base_color;
      }

      &:backdrop slider {
        background-color: $unfocused_disabled_base_color;
      }
    }

    &:backdrop slider {
      background-color: gtkshade($unfocused_base_color, 0.95);
    }
  }
}
