Очень красиво получилось, спасибо!

  А Вы могли бы мне пояснить некоторые детали: 
1. Для чего нам DOMContentLoaded? 
2. В строке 58 - почему в скобках именно .page label, а не просто label?
3. В строке 59 - что значат квадратные скобки в самом начале?
4. Как вообще работает эта функция [].forEach.call.....?
5. Что подключено самым первым скриптом?