changed smooth animation to never cross 1.0 opacity