Updated to work without Javascript and with CSS3 animations.