add subtle animation to opacity changes