updated for better perf and transition handling, slimmed CSS