I utilized a little bit of jQuery and CSS (ok, a lot) to create expandable panels that jumped to the leftmost position on expansion, then resized and swapped postions with the next expanded panel (or just returned to original position on close). Probably a better way to do it now, but I thought my solution was unique enough, by saving the initial state and using append() to change the order.