@mixin list() {
  list {
    color: $fg_color;
    background-color: $base_color;

    row {
      padding: 2px;

      &:hover {
        color: $sidebar_fg_color;
        background-color: gtkmix($sidebar_bg_color, $sidebar_fg_color, 0.05);
      }
      
      &:active {
        color: $sidebar_fg_color;
        background-color: gtkmix($sidebar_bg_color, $sidebar_fg_color, 0.15);
      }

      &:backdrop {
        color: $unfocused_fg_color;
      }
      
      &:selected {
        color: $selected_fg_color;
        border-color: gtkshade($selected_bg_color, 1.25);
        background-color: $selected_bg_color;
        background-image: linear-gradient(to bottom, gtkshade($selected_bg_color, 1.45), gtkshade($selected_bg_color, 1.2));
        
        &:hover {
          color: $selected_fg_color;
          background-color: gtkmix($sidebar_bg_color, $dark_shadow, 0.15);
        }
        
        &:active {
          color: $selected_fg_color;
          background-color: gtkmix($sidebar_bg_color, $dark_shadow, 0.25);
        }
        
        &:backdrop {
          color: $sidebar_fg_color;
          background-color: gtkmix($sidebar_bg_color, $dark_shadow, 0.10);
          background-image: linear-gradient(to bottom, gtkshade($unfocused_selected_bg_color, 1.1), gtkshade($unfocused_selected_bg_color, 0.95));
        }
      }
    }
    
    separator, separator:backdrop {
      background: none; // no lines on sidebar
    }
  }
}
