The animation runs entirely in CSS (scroll-driven animations). The only JavaScript is a small Tweakpane panel to tweak the easing, snapping and a debug view.