It's a pretty straightforward animation, when the element gets into the viewport, a relevant animation class gets added to the element(eg: "zoomIn", "fadeIn") which has some CSS rules attached to it.
When this new class gets added, the element's CSS is overridden and thus the element animates.
You should take a look into CSS animations. @fczbkk's answer is pretty helpful here. 🙂