Use css transition to smooth out width change