@function quickSort($list, $order: 1) 
{
  $lt: ();
  $eq: ();
  $gt: ();

  @if length($list) > 1 
  {
    $seed: nth($list, ceil(length($list) / 2));

    @each $item in $list {
      @if ($item == $seed) {
        $eq: append($eq, $item);
      } @else if ($item < $seed) {
        $lt: append($lt, $item);
      } @else if ($item > $seed) {
        $gt: append($gt, $item);
      }
    }

    $sx: if($order == -1, $gt, $lt);
    $dx: if($order == -1, $lt, $gt);

    @return join(
      join(quickSort($sx, $order), $eq), 
      quickSort($dx, $order)
    );
  }

  @return $list;
}