This demo only runs in Chrome.
(Firefox doesn't support web components yet. And Safari has an issue to do animations on pseudo-elements inside Shadow DOM.)
You can edit the variables to get some variations like this pen: https://codepen.io/yuanchuan/pen/YaoXXX
This Pen is a fork, but the parent Pen is now private.