{"version":3,"sources":["../assets/javascripts/main.js"],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA","file":"app.min.js","sourcesContent":["(function ($) {\n\n var menu = $(\".mobile-menu\");\n\n $(\".navbar__hamburger\").on(\"click\", function (e) {\n\n e.preventDefault();\n\n menu.addClass(\"is-active\");\n\n });\n\n var sticky_nav = $(\".sticky-navbar__outer\");\n\n var hero_space = $(\".hero-space__outer\");\n\n $(\"body\").on(\"scroll resize\", function () {\n\n var self = $(this);\n\n var scroll = self.scrollTop();\n\n var offset = typeof hero_space !== \"undefined\" ? hero_space.height() : 680;\n\n sticky_nav[scroll > offset ? \"addClass\" : \"removeClass\"](\"is-active\");\n\n });\n\n objectFitImages(\"img\", {\"watchMQ\": true});\n\n})(jQuery);\n\n(function ($) {\n\n var html = $(\"html\");\n\n if (bowser.name === \"Microsoft Edge\") {\n html.addClass(\"is-edge\");\n } else if (bowser.name === \"Safari\") {\n html.addClass(\"is-safari\");\n } else if (bowser.name === \"Firefox\") {\n html.addClass(\"is-firefox\");\n }\n\n})(jQuery);\n\nif (!String.prototype.includes) {\n\n Object.defineProperty(String.prototype, \"includes\", {\n\n value: function (search, start) {\n\n if (typeof start !== \"number\") {\n start = 0\n }\n\n if (start + search.length > this.length) {\n return false;\n } else {\n return this.indexOf(search, start) !== -1;\n }\n\n }\n\n });\n\n}\n\nif (!Array.prototype.includes) {\n\n Object.defineProperty(Array.prototype, \"includes\", {\n\n value: function (valueToFind, fromIndex) {\n\n if (this == null) {\n throw new TypeError(\"\\\"this\\\" is null or not defined\");\n }\n\n var o = Object(this);\n\n var len = o.length >>> 0;\n\n if (len === 0) {\n return false;\n }\n\n var n = fromIndex | 0;\n\n var k = Math.max(n >= 0 ? n : len - Math.abs(n), 0);\n\n function sameValueZero(x, y) {\n return x === y || (typeof x === \"number\" && typeof y === \"number\" && isNaN(x) && isNaN(y));\n }\n\n while (k < len) {\n\n if (sameValueZero(o[k], valueToFind)) {\n return true;\n }\n\n k++;\n\n }\n\n return false;\n }\n\n });\n\n}\n\n\n(function ($) {\n\n $.fn.in_viewport = function () {\n\n var top = $(this).offset().top;\n var bottom = top + $(this).outerHeight();\n\n var viewport_top = $(window).scrollTop();\n var viewport_bottom = viewport_top + $(window).height();\n\n return bottom > viewport_top && top < viewport_bottom;\n\n };\n\n})(jQuery);\n\n(function ($) {\n\n $(\".hero-slider\").each(function () {\n\n var self = $(this);\n\n var controls = self.find(\".hero-slider__controls__item\");\n\n var slides = self.find(\".hero-slider__item\");\n\n var interval = null;\n\n function change_slide(next) {\n\n var current = slides.filter(\".is-active\");\n\n if (!next || next.length === 0) {\n next = current.next();\n }\n\n if (!next || next.length === 0) {\n\n next = slides.eq(0);\n\n clear_controls();\n\n }\n\n var id = next.data(\"id\");\n\n activate_control(id);\n\n current.removeClass(\"is-active\");\n next.addClass(\"is-active\");\n\n }\n\n function clear_controls() {\n controls.removeClass(\"is-active\").removeClass(\"force-active\");\n }\n\n function activate_control(id) {\n\n setTimeout(function () {\n\n controls.filter(function () {\n return $(this).data(\"id\") === id;\n }).addClass(\"is-active\");\n\n }, 50);\n\n }\n\n function slide_for_control(control) {\n\n var id = control.data(\"id\");\n\n return slides.filter(function () {\n return $(this).data(\"id\") === id;\n });\n\n }\n\n function initialize() {\n\n var current = slides.filter(\".is-active\");\n\n var id = current.data(\"id\");\n\n clear_controls();\n activate_control(id);\n\n interval = setInterval(change_slide, 4050);\n\n controls.on(\"click\", function () {\n\n var self = $(this);\n\n clearInterval(interval);\n clear_controls();\n\n self.prevAll().addClass(\"force-active\");\n change_slide(slide_for_control(self));\n\n interval = setInterval(change_slide, 4050);\n\n });\n\n }\n\n initialize();\n\n });\n\n})(jQuery);\n\n(function ($) {\n\n var videos = $(\".hero-video\");\n\n function update_videos(supported) {\n\n videos.each(function () {\n\n var self = $(this);\n self.find(supported ? \"video\" : \"img\").removeClass(\"hidden\");\n\n });\n\n }\n\n if (videos.length > 0) {\n\n if (Modernizr.video) {\n /* document.addEventListener(\"WeixinJSBridgeReady\", function () {\n var videos = $(\".hero-video\");\n videos.find(\"video\").each(function(v){\n var v = $(this);\n v = v[0];\n v.autoplay=false\n v.controls = true\n //v.play();\n update_videos(false);\n\n })\n }, false)*/\n\n\n var video = document.createElement(\"video\");\n\n video.autoplay = true;\n video.muted = true;\n video.setAttribute(\"playsinline\", \"\");\n video.src = \"data:video/mp4;base64,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\";\n video.style.display = \"none\";\n video.playing = false;\n video.play();\n\n video.onplay = function () {\n video.playing = true;\n };\n\n video.oncanplay = function () {\n update_videos(video.playing);\n };\n\n\n } else {\n update_videos(false);\n }\n\n }\n\n})(jQuery);\n\n(function ($) {\n\n var side_menus = $(\".menu-side__outer\");\n\n var mobile_menu = $(\".mobile-menu-popup__outer\");\n\n $(\".menu-side__bar__container\").each(function () {\n\n var self = $(this);\n\n var items = self.find(\".menu-side__bar__item\");\n\n function open_item(item) {\n\n var active = item.hasClass(\"is-active\");\n\n items.not(item).removeClass(\"is-active\").find(\".menu-side__bar__item__body\").stop().slideUp();\n\n var body = item.find(\".menu-side__bar__item__body\");\n\n item[active ? \"removeClass\" : \"addClass\"](\"is-active\");\n body[active ? \"slideUp\" : \"slideDown\"]();\n\n }\n\n self.find(\"div.menu-side__bar__item .menu-side__bar__item__header\").on(\"click\", function (e) {\n\n e.preventDefault();\n\n var self = $(this);\n\n var item = self.parents(\".menu-side__bar__item\");\n\n open_item(item);\n\n });\n\n });\n\n side_menus.on(\"click\", function (e) {\n\n var target = $(e.target);\n\n if (target.parents(\".menu-side__bar\").length > 0 || target.hasClass(\"menu-side__bar\")) {\n return;\n }\n\n side_menus.fadeOut().removeClass(\"is-active\");\n\n });\n\n side_menus.find(\".menu-side__arrow\").on(\"click\", function (e) {\n\n e.preventDefault();\n\n side_menus.fadeOut().removeClass(\"is-active\");\n\n });\n\n $(document).on(\"keydown\", function (e) {\n\n e = e || window.event;\n\n if (e.keyCode === 27) {\n side_menus.fadeOut().removeClass(\"is-active\");\n }\n\n });\n\n $(\".js--trigger-side-menu\").on(\"click\", function (e) {\n\n e.preventDefault();\n\n side_menus.fadeIn().addClass(\"is-active\");\n\n $(\".sub-menu__item__language .icon.icon--close\").addClass(\"hidden\");\n $(\".sub-menu__item__language .icon.icon--language\").removeClass(\"hidden\");\n\n $(\".mobile-menu__language .icon.icon--close\").addClass(\"hidden\");\n $(\".mobile-menu__language .icon.icon--language\").removeClass(\"hidden\");\n\n });\n\n $(\".js--trigger-mobile-popup-menu\").on(\"click\", function (e) {\n\n e.preventDefault();\n\n var self = $(this);\n\n if (self.hasClass(\"hamburger\")) {\n self.toggleClass(\"is-active\");\n }\n\n if (mobile_menu.hasClass(\"is-active\")) {\n mobile_menu.removeClass(\"is-active\");\n } else {\n mobile_menu.addClass(\"is-active\");\n }\n\n $(\".mobile-language__outer\").removeClass(\"is-active\");\n\n $(\".sub-menu__item__language .icon.icon--close\").addClass(\"hidden\");\n $(\".sub-menu__item__language .icon.icon--language\").removeClass(\"hidden\");\n\n $(\".mobile-menu__language .icon.icon--close\").addClass(\"hidden\");\n $(\".mobile-menu__language .icon.icon--language\").removeClass(\"hidden\");\n\n });\n\n $(\".sub-menu__item__search i.icon.icon--search\").on(\"click\", function (e) {\n\n e.preventDefault();\n\n var field = $(\".sub-menu__item__search-field\");\n\n field.addClass(\"is-active\");\n field.find(\"input\")[0].focus();\n\n });\n\n $(\".sub-menu__item__search-field .icon.icon--close\").on(\"click\", function (e) {\n\n e.preventDefault();\n\n var self = $(this);\n\n var parent = self.parent();\n\n parent.removeClass(\"is-active\");\n\n });\n\n $(\".sub-menu__item__language\").on(\"click\", function (e) {\n\n e.preventDefault();\n\n $(\".sub-menu__item__pick-language\").animate({\"width\": \"toggle\"});\n\n });\n\n $(\".mobile-secondary-menu\").each(function () {\n\n var menu = $(this);\n\n var current = menu.find(\".mobile-secondary-menu__current\");\n\n var dropdown = menu.find(\".mobile-secondary-menu__dropdown\");\n\n current.on(\"click\", function (e) {\n\n e.preventDefault();\n\n menu.toggleClass(\"is-active\");\n\n if (menu.hasClass(\"is-active\")) {\n dropdown.show();\n // dropdown.stop().slideDown();\n } else {\n dropdown.hide();\n // dropdown.stop().slideUp();\n }\n\n });\n\n });\n\n $(\".mobile-menu__language\").on(\"click\", function (e) {\n\n e.preventDefault();\n\n var language = $(\".mobile-language__outer\");\n\n language.toggleClass(\"is-active\");\n mobile_menu.removeClass(\"is-active\");\n\n $(\".js--trigger-mobile-popup-menu.hamburger\").removeClass(\"is-active\");\n\n if (language.hasClass(\"is-active\")) {\n\n $(\".sub-menu__item__language .icon.icon--close\").removeClass(\"hidden\");\n $(\".sub-menu__item__language .icon.icon--language\").addClass(\"hidden\");\n\n $(\".mobile-menu__language .icon.icon--close\").removeClass(\"hidden\");\n $(\".mobile-menu__language .icon.icon--language\").addClass(\"hidden\");\n\n } else {\n\n $(\".sub-menu__item__language .icon.icon--close\").addClass(\"hidden\");\n $(\".sub-menu__item__language .icon.icon--language\").removeClass(\"hidden\");\n\n $(\".mobile-menu__language .icon.icon--close\").addClass(\"hidden\");\n $(\".mobile-menu__language .icon.icon--language\").removeClass(\"hidden\");\n\n }\n\n });\n\n mobile_menu.each(function () {\n\n var menu = $(this);\n\n var results = menu.find(\".mobile-menu__search-results\");\n\n var container = menu.find(\".menu-side__bar__container\");\n\n var handle = function () {\n\n var self = $(this);\n\n var value = self.val();\n\n if (value.length >= 3) {\n results.removeClass(\"hidden\");\n container.addClass(\"hidden\");\n } else {\n results.addClass(\"hidden\");\n container.removeClass(\"hidden\");\n }\n\n };\n\n var input = menu.find(\".mobile-menu-popup__search input\");\n\n menu.find(\".mobile-menu-popup__search\").on(\"reset\", handle);\n input.on(\"keyup change reset\", handle);\n\n input.on(\"focus\", function () {\n\n var self = $(this);\n\n var value = self.val();\n\n if (value.length >= 3) {\n results.removeClass(\"hidden\");\n container.addClass(\"hidden\");\n }\n\n });\n\n results.find(\"li\").on(\"click\", function (e) {\n\n e.preventDefault();\n\n var self = $(this);\n\n input.val(self.text());\n\n results.addClass(\"hidden\");\n container.removeClass(\"hidden\");\n\n });\n\n });\n\n})(jQuery);\n\n(function ($) {\n\n $(\".mobile-footer\").each(function () {\n\n var self = $(this);\n\n var accordion = self.find(\".mobile-footer__accordion\");\n\n var items = accordion.find(\".mobile-footer__accordion__item\");\n\n function toggle_item(item) {\n\n var active = item.hasClass(\"is-active\");\n\n var body = item.find(\".mobile-footer__accordion__item__body\");\n\n items.not(item).removeClass(\"is-active\").find(\".mobile-footer__accordion__item__body\").stop().slideUp();\n\n body[active ? \"slideUp\" : \"slideDown\"]();\n item[active ? \"removeClass\" : \"addClass\"](\"is-active\");\n\n }\n\n accordion.find(\"div.mobile-footer__accordion__item .mobile-footer__accordion__item__header\").on(\"click\", function (e) {\n\n e.preventDefault();\n\n var self = $(this);\n\n var item = self.parents(\".mobile-footer__accordion__item\");\n\n toggle_item(item);\n\n });\n\n });\n\n})(jQuery);\n\n(function ($) {\n\n var cards = $(\".card, .text-card, .product-cards__item\");\n\n var queue = [];\n\n var interval = null;\n\n function handle_cards() {\n\n cards.filter(function () {\n return $(this).css(\"opacity\") == 0;\n }).each(function () {\n\n var self = this;\n\n if ($(self).in_viewport() && !queue.includes(self)) {\n queue.push(self);\n }\n\n });\n\n }\n\n function initialize() {\n\n $(window).on(\"resize scroll\", handle_cards);\n $(\"body\").on(\"scroll\", handle_cards);\n\n handle_cards();\n\n interval = setInterval(function () {\n\n var card = queue.shift();\n\n if (typeof card !== \"undefined\") {\n $(card).animate({\"opacity\": 1});\n }\n\n }, 200);\n\n }\n\n initialize();\n\n})(jQuery);\n\n(function ($) {\n\n $(\".advanced-battery__specification\").each(function () {\n\n var self = $(this);\n\n var items = self.find(\".advanced-battery__specification__item\");\n\n items.each(function () {\n\n var item = $(this);\n\n var popup = item.find(\".advanced-battery__specification__item__popup\");\n\n item.find(\"header\").on(\"click\", function (e) {\n\n e.preventDefault();\n\n item.toggleClass(\"is-active\");\n\n if (item.hasClass(\"is-active\")) {\n popup.fadeIn();\n } else {\n popup.fadeOut();\n }\n\n });\n\n });\n\n });\n\n})(jQuery);\n\n(function ($) {\n\n $(\".mobile-carousel\").slick({\n \"arrows\": false,\n \"infinite\": true,\n \"swipeToSlide\": true,\n \"variableWidth\": true\n });\n\n $(\".desktop-carousel\").each(function () {\n\n $(this).slick({\n \"arrows\": true,\n \"infinite\": true,\n \"swipeToSlide\": true,\n \"prevArrow\": \"\",\n \"nextArrow\": \"\",\n \"slidesToShow\": 1,\n \"variableWidth\": false\n });\n\n });\n\n $(\".about__carousel\").slick({\n \"arrows\": false,\n \"infinite\": true,\n \"swipeToSlide\": true,\n \"variableWidth\": true\n });\n\n})(jQuery);\n\n(function ($) {\n\n var side_pages = $(\".side-page__outer\");\n\n var background = $(\".side-page-background__outer\");\n\n var body = $(\"body\");\n\n function find_side_page(id) {\n\n return side_pages.filter(function () {\n return $(this).data(\"id\") === id;\n });\n\n }\n\n function open_side_page(id) {\n\n var side_page = find_side_page(id);\n\n if (typeof side_page === \"undefined\" || side_page == null) {\n\n console.error(\"The side page for id '\" + id + \"' couldn't be found.\");\n\n return;\n\n }\n\n var container = side_page.find(\".side-page\");\n\n if (typeof side_page !== \"undefined\") {\n\n side_page.addClass(\"is-active\");\n background.stop().fadeIn();\n container.stop().animate({\"left\": 0, \"top\": 0});\n body.css(\"overflow\", \"hidden\");\n\n }\n\n }\n\n $(\".js--trigger-side-page\").on(\"click\", function (e) {\n\n e.preventDefault();\n\n var self = $(this);\n\n var id = self.data(\"id\");\n\n open_side_page(id);\n\n });\n\n $(\".side-page__return\").on(\"click\", function (e) {\n\n e.preventDefault();\n\n var self = $(this);\n\n var side_page = self.parents(\".side-page__outer\");\n\n var container = side_page.find(\".side-page\");\n\n var properties = {\"top\": \"100%\"};\n\n if (window.innerWidth >= 992) {\n properties = {\"left\": \"100%\"};\n }\n\n container.stop().animate(properties);\n\n background.stop().fadeOut(function () {\n side_page.removeClass(\"is-active\");\n });\n\n body.attr(\"style\", \"\");\n\n });\n\n})(jQuery);\n\n(function ($) {\n\n var video_triggers = $(\".js--trigger-video\");\n\n var page_container = $(\".page-container\");\n\n var popup_cache = {};\n\n video_triggers.each(function () {\n\n var self = $(this);\n\n var popup = $(\"
\");\n\n var player = null;\n\n var instance = null;\n\n var id = null;\n\n if (this.hasAttribute(\"data-youtube\")) {\n player = \"
\\n\" +\n \"\\n\" +\n \"
\";\n } else if (this.hasAttribute(\"data-vimeo\")) {\n player = \"
\";\n } else if (this.hasAttribute(\"data-direct\")) {\n player = \"
\";\n id = self.data(\"direct\");\n }\n\n if (popup_cache.hasOwnProperty(id)) {\n\n self.on(\"click\", function (e) {\n\n e.preventDefault();\n\n var popup = page_container.find(\".video-player[data-plyr-embed-i]\").filter(function () {\n return $(this).data(\"plyr-embed-i\") === popup_cache[id];\n }).parents(\".video-popup__outer\");\n\n popup.fadeIn(function () {\n instance.stop();\n instance.play();\n });\n\n });\n\n } else if (player != null) {\n\n popup.find(\".video-popup__container\").append(player = $(player));\n page_container.append(popup);\n\n var options = {\n \"captions\": {\"active\": false, \"language\": \"auto\", \"update\": false}\n };\n\n if (this.hasAttribute(\"data-direct\")) {\n options[\"blankVideo\"] = self.data(\"direct\");\n }\n\n instance = new Plyr(player);\n\n self.on(\"click\", function (e) {\n\n e.preventDefault();\n\n popup.fadeIn(function () {\n instance.stop();\n instance.play();\n });\n\n });\n\n popup.on(\"click\", function (e) {\n\n var target = $(e.target);\n\n if (target.hasClass(\"video-popup__container\") || target.parents(\".video-popup__container\").length > 0) {\n return false;\n }\n\n popup.fadeOut(function () {\n instance.stop();\n });\n\n });\n\n\n $(document).on(\"keydown\", function (e) {\n\n e = e || window.event;\n\n if (e.keyCode === 27) {\n\n popup.fadeOut(function () {\n instance.stop();\n });\n\n }\n\n });\n\n } else {\n console.error(\"An error occurred while initializing the video player.\");\n }\n\n });\n\n})(jQuery);\n\n(function ($) {\n\n var fields = $(\".input-field\");\n\n var forms = $(\"form\");\n\n fields.each(function () {\n\n var field = $(this);\n\n var input = field.find(\"input\");\n\n input.on(\"focus\", function () {\n\n field.addClass(\"is-active\");\n\n });\n\n input.on(\"blur\", function () {\n\n var value = input.val();\n\n if (value.length <= 0) {\n field.removeClass(\"is-active\").removeClass(\"is-error\").removeClass(\"is-valid\");\n }\n\n });\n\n input.on(\"change\", function () {\n\n if (this.checkValidity()) {\n field.addClass(\"is-valid\");\n field.removeClass(\"is-error\");\n } else {\n field.removeClass(\"is-valid\");\n field.addClass(\"is-error\");\n }\n\n });\n\n });\n\n forms.each(function () {\n\n var form = $(this);\n\n form.on(\"submit\", function (e) {\n\n var has_error = false;\n\n var fields = form.find(\".input-field\");\n\n fields.each(function () {\n\n var self = $(this);\n\n var input = self.find(\"input\");\n\n if (input[0].hasAttribute(\"data-required\")) {\n\n var value = input.val();\n\n if (value.length <= 0) {\n self.addClass(\"is-error\");\n }\n\n if (self.hasClass(\"is-error\")) {\n has_error = true;\n }\n\n }\n\n });\n\n if (has_error) {\n e.preventDefault();\n }\n\n });\n\n });\n\n})(jQuery);\n\n(function ($) {\n\n var specifications = $(\".specifications\");\n\n specifications.each(function () {\n\n var specification = $(this);\n\n var buttons = specification.find(\".specifications__tabs__button\");\n\n var items = specification.find(\".specifications__tabs__item\");\n\n buttons.on(\"click\", function (e) {\n\n e.preventDefault();\n\n var self = $(this);\n\n var id = self.data(\"id\");\n\n buttons.removeClass(\"is-active\");\n self.addClass(\"is-active\");\n\n items.removeClass(\"is-active\");\n items.filter(function () {\n return $(this).data(\"id\") === id;\n }).addClass(\"is-active\");\n\n });\n\n });\n\n})(jQuery);\n\n(function ($) {\n\n var milestones = $(\".milestones__outer\");\n\n if (milestones.length > 0) {\n\n var body = $(\"body\");\n\n var lock_element = $(\"html, body\");\n\n var scroll_hook = body;\n\n var scroll_element = body[0];\n\n var last_scroll_top = 0;\n\n function lock_scroll() {\n lock_element.css(\"overflow\", \"hidden\");\n }\n\n function unlock_scroll() {\n lock_element.attr(\"style\", \"\");\n }\n\n if (bowser.name === \"Safari\" || bowser.name === \"Firefox\" || bowser.name === \"Microsoft Edge\" || bowser.name === \"Internet Explorer\") {\n scroll_hook = $(window);\n scroll_element = document.documentElement;\n }\n\n $(document).on(\"mousewheel wheel\", function (e) {\n\n e = e || window.event;\n\n if (window.innerWidth >= 992) {\n\n var delta = bowser.name === \"Firefox\" ? (-e.originalEvent.deltaY / 3) : (e.originalEvent.wheelDeltaY / (bowser.name === \"Safari\" ? 3 : 5));\n\n var max_amount = bowser.name === \"Safari\" || bowser.name === \"Firefox\" || bowser.name === \"Microsoft Edge\" || bowser.name === \"Internet Explorer\" ? 30 : 50;\n\n if (Math.abs(delta) >= max_amount) {\n delta = delta < 0 ? -max_amount : max_amount;\n }\n\n var slider = milestones.find(\".milestones__slider\");\n\n if (milestones.hasClass(\"milestones__outer--down\")) {\n\n slider.scrollLeft(slider.scrollLeft() - delta);\n\n if ((slider.scrollLeft() <= 0 && delta > 0) || slider.scrollLeft() >= (slider[0].scrollWidth - slider[0].clientWidth)) {\n\n milestones.addClass(\"milestones__outer--finished\");\n milestones.removeClass(\"milestones__outer--down\");\n unlock_scroll();\n\n }\n\n } else if (milestones.hasClass(\"milestones__outer--up\")) {\n\n slider.scrollLeft(slider.scrollLeft() - delta);\n\n if ((slider.scrollLeft() <= 0 && delta > 0) || slider.scrollLeft() >= (slider[0].scrollWidth - slider[0].clientWidth)) {\n\n milestones.removeClass(\"milestones__outer--down\");\n milestones.removeClass(\"milestones__outer--up\");\n unlock_scroll();\n\n }\n\n }\n\n }\n\n });\n\n scroll_hook.on(\"scroll\", function () {\n\n var self = $(this);\n\n if (window.innerWidth >= 992) {\n\n var scroll_top = self.scrollTop();\n\n var position = milestones.position();\n\n var direction = last_scroll_top < scroll_top ? \"down\" : \"up\";\n\n var scroll_height = scroll_element.scrollHeight - scroll_element.clientHeight;\n\n last_scroll_top = scroll_top;\n\n if (direction === \"down\") {\n\n if (scroll_top >= position.top && scroll_top <= Math.ceil(position.top + milestones.height()) && !milestones.hasClass(\"milestones__outer--finished\") && !milestones.hasClass(\"milestones__outer--up\")) {\n\n scroll_hook.scrollTop(position.top);\n milestones.addClass(\"milestones__outer--down\");\n milestones.removeClass(\"milestones__outer--up\");\n milestones.removeClass(\"milestones__outer--finished\");\n lock_scroll();\n\n }\n\n }\n\n if (direction === \"up\") {\n\n var up_height = (scroll_height - (scroll_element.scrollHeight - position.top));\n\n if (scroll_top >= up_height && scroll_top <= Math.ceil(up_height + milestones.height()) && milestones.hasClass(\"milestones__outer--finished\")) {\n\n scroll_hook.scrollTop(scroll_height - (scroll_element.scrollHeight - position.top - milestones.height()));\n milestones.removeClass(\"milestones__outer--finished\");\n milestones.removeClass(\"milestones__outer--down\");\n milestones.addClass(\"milestones__outer--up\");\n lock_scroll();\n\n }\n\n }\n\n }\n\n\n });\n\n }\n\n})(jQuery);\n\n(function ($) {\n\n var triggers = $(\".js--trigger-image-popup\");\n\n var body = $(\"body\");\n\n triggers.on(\"click\", function (e) {\n\n e.preventDefault();\n\n var self = $(this);\n\n var images = [];\n\n var group_images = $(\".js--trigger-image-popup\").filter(function () {\n return !$(this).is(\":hidden\");\n });\n\n var index = 0;\n\n group_images.each(function (i) {\n\n var group_image = $(this);\n\n var image = group_image.find(\"img\");\n\n if (typeof image === \"undefined\") {\n image = group_image;\n }\n\n images.push(image.prop(\"src\"));\n\n if (group_image[0] === self[0]) {\n index = i;\n }\n\n });\n\n body.prepend($(\"
\" +\n \"
\" +\n \"\t
\" +\n \"\t\t
\" +\n \"\t\t
\" +\n \"\t\t\t
\" +\n \"\t\t\t\t\" +\n \"\t\t\t
\" +\n \"\t\t\t
\" +\n \"\t\t
\" +\n \"\t
\" +\n \"
\" +\n \"
\"));\n\n var popup = $(\".image-popup__outer\");\n\n var close = $(\".image-popup__close\");\n\n var carousel = popup.find(\".image-popup__carousel\");\n\n $(document).on(\"keydown\", function (e) {\n\n e = e || window.event;\n\n if (e.keyCode === 27) {\n popup.remove();\n body.attr(\"style\", \"\");\n }\n\n });\n\n popup.on(\"click\", function (e) {\n\n var target = $(e.target);\n\n if (target.parents(\".image-popup__carousel, .image-popup__close, .image-popup .slick-arrow\").length > 0 || target.hasClass(\"image-popup__carousel\") || target.hasClass(\"image-popup__close\") || target.hasClass(\"slick-arrow\")) {\n return true;\n }\n\n popup.remove();\n body.attr(\"style\", \"\");\n\n });\n\n close.on(\"click\", function (e) {\n\n e.preventDefault();\n\n popup.remove();\n body.attr(\"style\", \"\");\n\n });\n\n for (var i = 0; i < images.length; i++) {\n\n carousel.append($(\"
\" +\n \"\\\"\\\"\" +\n \"
\"));\n\n }\n\n carousel.slick({\n \"arrows\": true,\n \"infinite\": true,\n \"swipeToSlide\": true,\n \"prevArrow\": \"\",\n \"nextArrow\": \"\",\n \"adaptiveHeight\": true,\n \"dots\": false,\n \"responsive\": [\n {\n \"breakpoint\": 768,\n \"settings\": {\n \"arrows\": false,\n \"infinite\": true,\n \"dots\": true,\n }\n }\n ],\n \"initialSlide\": index,\n \"centerMode\": true,\n \"variableWidth\": false,\n \"slidesToShow\": 1,\n \"slidesToScroll\": 1\n });\n\n carousel.on(\"init beforeChange afterChange\", update_dots);\n\n function update_dots() {\n\n var dots = carousel.find(\".slick-dots\");\n\n dots.find(\"li\").removeClass(\"slick-active-medium\").removeClass(\"slick-active-large\");\n\n var active = dots.find(\"li.slick-active\");\n\n active.prev().addClass(\"slick-active-medium\");\n active.next().addClass(\"slick-active-medium\");\n active.addClass(\"slick-active-large\");\n\n }\n\n setTimeout(function () {\n update_dots();\n }, 5);\n\n body.css(\"overflow\", \"hidden\");\n\n });\n\n})(jQuery);\n\n(function ($) {\n\n var dots = $(\".globe__dot\");\n\n var map = $(\".industrial-parks__map\");\n\n var location = $(\".industrial-parks__map__location\");\n\n var location_dot = location.find(\"div\");\n\n var location_title = location.find(\"span\");\n\n var current_dot = null;\n\n dots.on(\"click\", function (e) {\n\n e.preventDefault();\n\n var self = $(this);\n\n if (current_dot !== self) {\n current_dot = self;\n } else {\n current_dot = null;\n }\n\n update_location();\n\n });\n\n location_dot.on(\"click\", function (e) {\n\n e.preventDefault();\n\n current_dot = null;\n\n update_location();\n\n });\n\n function update_location() {\n\n if (current_dot !== null && window.innerWidth >= 992) {\n\n var position_globe = map[0].getBoundingClientRect();\n\n var position_dot = current_dot[0].getBoundingClientRect();\n\n location_dot\n .css(\"width\", Math.floor(position_dot.width))\n .css(\"height\", Math.floor(position_dot.height));\n\n location\n .addClass(\"is-active\")\n .css(\"top\", (position_dot.top - position_globe.top))\n .css(\"left\", (position_dot.left - position_globe.left));\n\n location_title.text(current_dot.data(\"title\"));\n\n } else {\n\n location.removeClass(\"is-active\");\n\n }\n\n }\n\n $(window).on(\"resize\", function () {\n\n update_location();\n\n });\n\n})(jQuery);\n\n(function ($) {\n\n var counters = $(\".js--count-up\");\n\n var queue = [];\n\n var interval = null;\n\n function handle_counters() {\n\n counters.each(function () {\n\n var self = this;\n\n if ($(self).in_viewport() && !queue.includes(self) && !self.hasAttribute(\"data-animating\")) {\n queue.push(self);\n }\n\n });\n\n }\n\n function initialize() {\n\n $(window).on(\"resize scroll\", handle_counters);\n $(\"body\").on(\"scroll\", handle_counters);\n\n handle_counters();\n\n interval = setInterval(function () {\n\n for (var i = queue.length; i--;) {\n\n var current = $(queue[i]);\n\n current.attr(\"data-animating\", \"true\");\n\n (function ($this, count_to) {\n\n $({\"count_num\": $this.text()}).animate(\n {\"count_num\": count_to},\n {\n \"duration\": 2000,\n \"easing\": \"linear\",\n \"step\": function () {\n $this.text(Math.floor(this.count_num).toLocaleString(undefined, {\"maximumFractionDigits\": 2}).replace(\",\", \".\"));\n },\n \"complete\": function () {\n $this.text(Math.floor(this.count_num).toLocaleString(undefined, {\"maximumFractionDigits\": 2}).replace(\",\", \".\"));\n }\n }\n );\n\n })(current, current.data(\"count\"));\n\n queue.splice(i, 1);\n\n }\n\n }, 50);\n\n }\n\n initialize();\n\n})(jQuery);\n\n\n//apply vacancy form\n(function ($) {\n var popup = $(\".popup__outer\");\n var maxFileSize = 1024 * 1024 * 2;\n\n\n $(\".apply_vacancy\").each(function (i, form) {\n var self = $(form);\n $('#progress .progress-bar').css(\n 'width',\n 0 + '%'\n );\n\n self.find(\"#agreePrivacy\").on(\"click\", function (e) {\n var v = e.target.checked;\n if (v) {\n self.find(\".submit_button\").removeClass(\"btn--disabled\").removeAttr(\"disabled\")\n } else {\n self.find(\".submit_button\").addClass(\"btn--disabled\").attr(\"disabled\", \"disabled\")\n }\n\n })\n $(form).find(\".fileupload_input\").fileupload({\n url: \"/vacancy/apply\",\n method: 'post',\n dataType: 'json',\n autoUpload: false,\n maxFileSize: maxFileSize,\n }).on('fileuploadadd', function (e, data) {\n $.each(data.files, function (i, f) {\n if (f.size > maxFileSize) {\n self.find(\".attachments_info\").text(\"Exceeded the maximum limit, 2Mb are supported\").addClass(\"err_msg\")\n return\n }\n self.find(\".attachments_name\").val(f.name)\n self.find(\".attachments_info\").text(f.name).removeClass(\"err_msg\")\n self.data(data)\n })\n self.find(\".attachments_name\").val()\n }).on(\"fileuploadprogressall\", function (e, data) {\n //popup.find(\".row\").hide();\n var progress = parseInt(data.loaded / data.total * 100, 10);\n\n $('#progress .progress-bar').css(\n 'width',\n progress + '%'\n );\n\n }).on(\"fileuploaddone\", function (e, data) {\n popup.find(\".row\").hide();\n if (data.result.success) {\n popup.find(\".completed\").show();\n } else {\n var errors = popup.find(\".errors\")\n errors.show();\n var p = errors.find(\"p\");\n p.text(data.result.msg).css(\"color\", \"#DA251C\");\n }\n }).on(\"fileuploadfail\", function (e, data) {\n popup.find('.err_msg').text(\"Attachment upload failed!\")\n })\n })\n\n\n $(\".application__outer form\").on(\"submit\", function (e) {\n\n\n e.preventDefault();\n\n var self = $(this);\n\n\n if (self.find(\".attachments_name\").val() === \"\") {\n self.find(\".attachments_info\").text(\"Resume is required\").addClass(\"err_msg\")\n return\n }\n\n\n if (self.find(\".input-field.is-error\").length === 0) {\n\n var agree = self.find(\"#agreePrivacy\")[0].checked;\n if (!agree) {\n alert(\"Please agree the privacy policy\")\n return\n }\n\n popup.addClass(\"is-active\");\n\n var data = self.data();\n\n if (data) {\n popup.find(\".uploading\").show();\n\n popup.find(\".completed\").hide();\n data.submit()\n popup.find(\".class_btn\").on(\"click\", function () {\n popup.removeClass(\"is-active\");\n data.abort();\n })\n popup.find(\".success_btn\").on(\"click\", function () {\n popup.removeClass(\"is-active\");\n })\n }\n\n }\n\n });\n\n})(jQuery);\n\n(function ($) {\n /*\n var popup = $(\".popup__outer\");\n\n $(\".download-leaflet__form\").on(\"submit\", function (e) {\n\n e.preventDefault();\n\n var self = $(this);\n\n var email = self.find(\"input[name='email']\").val();\n\n\n if (self.find(\".input-field.is-error\").length === 0) {\n\n $.ajax({\n url: \"/product/leaflet/applydownload\",\n method: 'post',\n data: self.serialize(),\n success: function () {\n\n }\n })\n popup.addClass(\"is-active\");\n popup.find(\".btn\").on(\"click\", function () {\n popup.removeClass(\"is-active\")\n })\n popup.find(\"p strong\").text(email);\n\n }\n\n\n });*/\n\n})(jQuery);\n\n\n//All the cookie setting stuff\nfunction catapultSetCookie(cookieName, cookieValue, nDays) {\n var today = new Date();\n var expire = new Date();\n if (nDays == null || nDays == 0) nDays = 1;\n expire.setTime(today.getTime() + 3600000 * 24 * nDays);\n document.cookie = cookieName + \"=\" + escape(cookieValue) + \";expires=\" + expire.toGMTString() + \"; path=/\";\n}\n\nfunction catapultReadCookie(cookieName) {\n var theCookie = \" \" + document.cookie;\n var ind = theCookie.indexOf(\" \" + cookieName + \"=\");\n if (ind == -1) ind = theCookie.indexOf(\";\" + cookieName + \"=\");\n if (ind == -1 || cookieName == \"\") return \"\";\n var ind1 = theCookie.indexOf(\";\", ind + 1);\n if (ind1 == -1) ind1 = theCookie.length;\n // Returns true if the versions match\n // console.log(theCookie.substring(ind+cookieName.length+2,ind1))\n // return ctcc_vars.version == unescape(theCookie.substring(ind+cookieName.length+2,ind1));\n return unescape(theCookie.substring(ind + cookieName.length + 2, ind1));\n}\n\nfunction catapultDeleteCookie(cookieName) {\n document.cookie = cookieName + '=;expires=Thu, 01 Jan 1970 00:00:01 GMT;path=/';\n}\n\nfunction catapultAcceptCookies() {\n catapultSetCookie('catAccCookies', \"1.0.0\", 3650000);\n}\n\n(function ($) {\n /* var agreeBtn = $(\"#cookie_agree\");\n var cookie = $(\".cookies__outer\");\n console.log(cookie)\n if (!catapultReadCookie(\"catAccCookies\")) {\n cookie.removeClass(\"hide\")\n }\n\n agreeBtn.on(\"click\", function (e) {\n catapultAcceptCookies()\n })\n cookie.find(\".btn\").on(\"click\", function (e) {\n\n e.preventDefault();\n\n cookie.remove();\n\n });*/\n\n\n//cookie setting\n//new\n var cookieVersion = {\n required: \"1.0.0\",\n analysis: \"1.0.0\"\n };\n var CookieSet = {\n required: {\n status: false,\n timestamp: null,\n version: \"\"\n },\n analysis: {\n status: false,\n version: \"\",\n timestamp: null,\n }\n };\n var storageKey = \"consents\";\n (function ($) {\n //showContainer()\n var s = window.localStorage;\n var consents = s.getItem(storageKey);\n if (!consents) {\n showContainer();\n //点击同意全部\n $(\"#cookie_agree\").click(agreeAll);\n $(\"#cookie_reject\").click(rejectAll);\n $(\"#cookies_save_argeeall\").click(agreeAll);\n $(\"#show_cookie_setting\").click(function () {\n showCookieSettings()\n })\n\n } else {\n CookieSet = JSON.parse(consents);\n enableFunctionsFromCookie()\n }\n $(\"#cookies_save_settings\").click(saveCookieSettings)\n\n })(jQuery);\n\n function showContainer() {\n $(\".cookies-bottom-container\").toggleClass(\"hide\")\n }\n\n function showAcceptCookies() {\n showContainer();\n }\n\n function showCookieSettings() {\n $(\".cookies_setting\").toggleClass(\"v\");\n $(\".cookies\").toggleClass(\"hide\")\n }\n\n\n function agreeAll() {\n for (var key in CookieSet) {\n var item = CookieSet[key];\n item.status = true;\n item.version = cookieVersion[key]\n item.timestamp = (new Date()).getTime();\n }\n SaveCookieToStorage()\n }\n\n function rejectAll() {\n for (var key in CookieSet) {\n var item = CookieSet[key];\n item.status = false;\n item.version = cookieVersion[key]\n item.timestamp = (new Date()).getTime();\n }\n SaveCookieToStorage()\n }\n\n function saveCookieSettings() {\n $(\".cookies_setting input\").each(function (index, field) {\n var name = field.name;\n var value = field.checked;\n for (var k in CookieSet) {\n if (name == k) {\n var item = CookieSet[k]\n item.status = value;\n item.timestamp = (new Date()).getTime();\n item.version = cookieVersion[name];\n\n }\n\n }\n SaveCookieToStorage();\n\n })\n }\n\n\n function SaveCookieToStorage() {\n window.localStorage.setItem(storageKey, JSON.stringify(CookieSet))\n $(\".cookies-bottom-container\").addClass(\"hide\");\n enableFunctionsFromCookie()\n }\n\n\n function enableFunctionsFromCookie() {\n console.log(CookieSet)\n if (CookieSet.analysis && CookieSet.analysis.status === true) {\n console.log(\"google analysis enable\");\n //load google analysis\n var s = document.createElement(\"script\");\n s.src = \"https://www.googletagmanager.com/gtag/js?id=UA-43743645-1\";\n s.async = true;\n document.body.appendChild(s)\n console.log(s)\n window.dataLayer = window.dataLayer || [];\n\n function gtag() {\n dataLayer.push(arguments);\n }\n\n gtag('js', new Date());\n\n gtag('config', 'UA-43743645-1');\n /*\n */\n } else {\n console.log(\"google analysis disabled\");\n }\n\n }\n\n\n})(jQuery);\n\n//360\n\n(function ($) {\n // \n window.CI360.init();\n $(\".switch-container button\").on(\"click\", function (e) {\n console.log(\"---start---\")\n\n var t = e.currentTarget,\n folder = t.getAttribute(\"data-src\");\n\n v = window.CI360._viewers[0],\n container = v.container,\n amount = v.amount, //图片张数\n lazyload = false,\n lazySelector = 'lazyload',\n filename = container.getAttribute(\"data-filename\"),\n responsive = false;\n //console.log(v.imageList)\n v.folder = folder;\n src = folder + filename\n // console.log(v)\n // v.images = [];\n var active = v.activeImage - 1; //0-11\n // v.activeImage = 1;\n //v.preloadImages(amount, src, lazyload, lazySelector, container, responsive, {});\n /* for (i = 0; i< amount; i++) {\n //第一张图片,设置为当前的角度的地址\n var image = v.images[i];\n\n if (active < amount) {\n active++;\n } else {\n active = 1\n }\n var resultSrc = src.replace('{index}', active);\n image.src=resultSrc;\n console.log(image)\n // console.log(image.src)\n }*/\n $(t).addClass('active');\n $(t).siblings().removeClass(\"active\")\n v.images = [];\n for (i = 0; i < amount; i++) {\n var image = new Image();\n var resultSrc = src.replace('{index}', i + 1);\n image.src = resultSrc;\n v.images.push(image);\n\n if (i == active) {\n image.onload = function (e) {\n v.update();\n }\n }\n\n }\n })\n\n})(jQuery);\n\n// 新闻订阅2021-05-28\n\n(function ($) {\n var popup = $(\".popup__outer\");\n console.log(popup, \"-----\");\n $(\".news-letter__form\").on(\"submit\", function (e) {\n\n e.preventDefault();\n var self = $(this);\n var email = self.find(\"input\").val();\n if (email.trim() == \"\") {\n return\n }\n $.ajax({\n url: \"/news/subscribe\",\n method: 'post',\n data: self.serialize(),\n success: function (result) {\n console.log(\"----yes\")\n popup.addClass(\"is-active\");\n popup.find(\"#provided_email\").html(\"aaaa\")\n popup.find(\".btn\").on(\"click\", function () {\n popup.removeClass(\"is-active\")\n })\n popup.find(\"p strong\").text(email);\n },\n complete: function (result) {\n\n if (result.status == 500) {\n var msg = result.responseJSON.msg\n console.log(msg); //Error 1062: Duplicate entry '154371199@qq.com' for key 'email'\n popup.addClass(\"is-active\");\n popup.find(\"#provided_email\").html(\"aaaa\")\n popup.find(\".btn\").on(\"click\", function () {\n popup.removeClass(\"is-active\")\n })\n popup.find(\"p strong\").text(email);\n }\n }\n })\n\n })\n\n})(jQuery);\n//显示第三级菜单\n(function ($) {\n\n\n $(\".has_third_menu\").on(\"click\", function (e) {\n\n e.preventDefault();\n\n var targetId = $(this).data(\"target-id\");\n $(\"#\" + targetId).siblings().removeClass(\"active\")\n $(\"#\" + targetId).toggleClass(\"active\")\n\n\n });\n $(\".third_left_nav_item\").on(\"click\", function (e) {\n\n e.preventDefault();\n if ($(this).hasClass(\"active\")) {\n return;\n }\n $(this).siblings().removeClass(\"active\");\n $(this).addClass(\"active\")\n var targetId = $(this).find(\"a\").data(\"target-id\")\n $(\".right-panel ul\").removeClass(\"active\")\n $(\"#\" + targetId).addClass(\"active\");\n })\n\n\n //mobile\n $(\".mobile-third-menu-container\").parent().on(\"click\", function () {\n\n $(this).find(\".mobile-third-menu-container\").toggleClass(\"active\");\n\n })\n\n\n //model ranges\n $(\".model-range-nav\").on(\"click\", function (e) {\n $('.model-range-nav').removeClass(\"active\");\n $(this).addClass(\"active\");\n var targetId = $(this).data(\"target-id\");\n $(\".model-range\").removeClass(\"active\")\n $(\"#\" + targetId).addClass(\"active\")\n })\n})(jQuery);\n\n\n//alcohol\n(function ($) {\n /* var data = [\n {id:\"BC12\", text:\"BYD eBus BC12\"},\n {id:\"BC15\", text:\"BYD eBus BC15\"},\n {id:\"BC18\", text:\"BYD eBus BC18\"},\n {id:\"BC70\", text:\"BYD eBus BC70\"},\n {id:\"B12\", text:\"BYD eBus B12\"},\n {id:\"B13\", text:\"BYD eBus B13\"},\n {id:\"B15\", text:\"BYD eBus B15\"},\n {id:\"B18\", text:\"BYD eBus B18\"},\n ]*/\n if($(\"#select_model\").length > 0){\n $(\"#select_model\").select2({\n placeholder: \"Select a model\",\n dropdownParent: $('#alcohol-container'),\n // data: data\n }).on(\"select2:select\", function (e){\n var data = e.params.data;\n if(data) {\n var id = data.id;\n if (id) {\n var id = id.toLowerCase();\n if(id == \"all\"){\n var items = $(\".downloads .item\");\n\n for(var i = 0; i < items.length;i++){\n var item = $(items[i])\n item.show();\n }\n } else {\n var items = $(\".downloads .item\");\n\n for(var i = 0; i < items.length;i++){\n var item = $(items[i])\n var key = item.attr(\"item-key\");\n if(key.toLowerCase() == id){\n item.show();\n }else {\n item.hide();\n }\n }\n\n }\n }\n }\n\n });\n }\n\n})(jQuery)"]}