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

    row {
      padding: 2px;
      border: 1px solid transparent;

      &:hover {
        border-color: gtkshade($selected_bg_color, 0.9);
        border-radius: $roundness;
        background-color: gtkshade($selected_bg_color, 1.12);
        background-image: linear-gradient(to bottom, gtkshade($selected_bg_color, 1.065), gtkshade($selected_bg_color, 1.03));
      }
      
      &:active {
        color: $selected_fg_color;
        border-color: gtkshade($selected_bg_color, 0.8);
        background-image: linear-gradient(to bottom, gtkshade($selected_bg_color, 0.98), gtkshade($selected_bg_color, 0.94));
      }

      &:backdrop {
        color: $unfocused_fg_color;
      }

      &:selected {
        &, &:focus {
          border-color: gtkshade($selected_bg_color, 0.85);
          border-radius: $roundness;
          color: $selected_fg_color;
          background-color: $selected_bg_color;
          background-image: linear-gradient(to bottom, gtkshade($selected_bg_color, 1.02), gtkshade($selected_bg_color, 0.98));
          
          &:hover {
            color: $selected_fg_color;
            border-color: gtkshade($selected_bg_color, 0.87);
            background-image: linear-gradient(to bottom, gtkshade($selected_bg_color, 1.05), gtkshade($selected_bg_color, 1.01));
          }
          
          &:active {
            color: $selected_fg_color;
            border-color: gtkshade($selected_bg_color, 0.8);
            background-image: linear-gradient(to bottom, gtkshade($selected_bg_color, 0.98), gtkshade($selected_bg_color, 0.94));
          }
          
          &:disabled {
            color: gtkalpha($selected_fg_color, 0.7);
            background-color: $selected_bg_color;
            background-image: linear-gradient(to bottom, gtkshade($disabled_bg_color, 1.02), gtkshade($disabled_bg_color, 0.98));
          }
          
          &:backdrop {
            color: $unfocused_selected_fg_color;
            border-color: gtkshade($unfocused_selected_bg_color, 0.9);
            background-image: linear-gradient(to bottom, gtkshade($unfocused_selected_bg_color, 1.02), gtkshade($unfocused_selected_bg_color, 0.98));
            
            &:hover {
              color: $selected_fg_color;
              border-color: gtkshade($selected_bg_color, 0.85);
              background-image: linear-gradient(to bottom, gtkshade($selected_bg_color, 1.02), gtkshade($selected_bg_color, 0.98));
            }
          }
        }
      }
    }
    separator, separator:backdrop {
      background: none; // no lines on sidebar
    }
  }
}
