use css3 transitions where possible