{"version":3,"sources":["main.js"],"names":["jQuery","$","header","menuDropdown","window","scrollTop","addClass","removeClass","on","trigger","this","toggleClass","closest","find","slideToggle","document","e","length","preventDefault","children","hide","not","parent","formUrl","email","data","val","subscribeUrl","concat","open","append","stopPropagation","currentSubMenu","siblings","menuItem","parents","slideUp","parallaxElements","animate","offset","top","initParallax","scrollParallaxBackground","navigator","userAgent","indexOf","get","style","content","outerHeight","$this","win","row","speed","yPos","css","each","src","img","loaded","Image","setTimeout","URLSearchParams","location","search","event","show"],"mappings":"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","file":"main.js","sourcesContent":["jQuery(($) => {\n\t/**\n\t * Animate header on scroll\n\t */\n\tconst header = $(\"#header\");\n\tconst menuDropdown = $(\"#menu-dropdown\");\n\n\t$(window).on(\"scroll\", function () {\n\t\tif ($(window).scrollTop() > 60) {\n\t\t\theader.addClass(\"scroll\");\n\t\t\tmenuDropdown.addClass(\"scroll\");\n\t\t} else {\n\t\t\theader.removeClass(\"scroll\");\n\t\t\tmenuDropdown.removeClass(\"scroll\");\n\t\t}\n\t});\n\n\t/**\n\t * Main menu dropdown open.\n\t */\n\t$(\".js-menu-open\").on(\"click\", function () {\n\t\t$(\"#menu-dropdown\").addClass(\"open\");\n\t\t$(\"body\").addClass(\"menu-open\");\n\t\t$(\".js-menu-close\").trigger(\"focus\");\n\t});\n\n\t/**\n\t * Main menu dropdown close.\n\t */\n\t$(\".js-menu-close\").on(\"click\", function () {\n\t\t$(\"#menu-dropdown\").removeClass(\"open\");\n\t\t$(\"body\").removeClass(\"menu-open\");\n\t\t$(\".js-menu-open\").trigger(\"focus\");\n\t});\n\n\t/**\n\t * Sub menu toggle on mobile.\n\t */\n\t$(\".js-sub-menu-toggle\").on(\"click\", function () {\n\t\t$(this).toggleClass(\"open\");\n\t\t$(this).closest(\".site-navigation\").find(\"ul.menu\").slideToggle();\n\t});\n\n\t/**\n\t * Main menu drodpwn close on ESC keypress.\n\t */\n\t$(document).on(\"keyup\", (e) => {\n\t\tif (e.key === \"Escape\") {\n\t\t\t$(\"#menu-dropdown\").removeClass(\"open\");\n\t\t\t$(\"body\").removeClass(\"menu-open\");\n\t\t\t$(\".js-menu-open\").trigger(\"focus\");\n\t\t}\n\t});\n\n\t/**\n\t * Force user to focus on menu close if he tabs on last tabbable item in menu\n\t */\n\t$($(\"#menu-dropdown a\")[$(\"#menu-dropdown a\").length - 1]).on(\n\t\t\"keydown\",\n\t\t(e) => {\n\t\t\tif (e.key === \"Tab\") {\n\t\t\t\te.preventDefault();\n\t\t\t\t$(\".js-menu-close\").trigger(\"focus\");\n\t\t\t}\n\t\t}\n\t);\n\n\t/**\n\t * Accordions.\n\t */\n\t$(\".js-accordion:not(.open)\").children(\".accordion__content\").hide();\n\n\t$(\"body\").on(\"click\", \".js-accordion .js-accordion-toggle\", function (e) {\n\t\te.preventDefault();\n\n\t\t$(\".js-accordion\")\n\t\t\t.not($(this).parent(\".js-accordion\"))\n\t\t\t.removeClass(\"open\");\n\t\t$(\".js-accordion\")\n\t\t\t.not($(this).parent(\".js-accordion\"))\n\t\t\t.children(\".accordion__content\")\n\t\t\t.slideUp();\n\t\t$(this).parent(\".js-accordion\").toggleClass(\"open\");\n\t\t$(this).next(\".accordion__content\").slideToggle();\n\t});\n\n\t/**\n\t * Handle newsletter signup form submit.\n\t */\n\t$(\"#newsletter-signup\").on(\"submit\", function (e) {\n\t\te.preventDefault();\n\n\t\tconst formUrl = $(this).data(\"subscribe-form-url\");\n\t\tconst email = $(this).find(\"input[name=email]\").val();\n\t\tconst subscribeUrl = `${formUrl}&MERGE0=${email}`; // Pass along the email if filled.\n\n\t\twindow.open(subscribeUrl, \"_blank\");\n\t});\n\n\t/**\n\t * Add an toggle icon to menu items with sub pages on mobile devices.\n\t */\n\t$(\"ul.menu > li.menu-item-has-children > a\").append(\n\t\t'
'\n\t);\n\n\t/**\n\t * Toggle the sub menu items on mobile devices.\n\t */\n\t$(document).on(\n\t\t\"click\",\n\t\t\".site-navigation--toggle-sub-menus .toggle-icon\",\n\t\tfunction (e) {\n\t\t\te.stopPropagation();\n\t\t\te.preventDefault();\n\n\t\t\tconst currentSubMenu = $(this).parent().siblings(\".sub-menu\");\n\t\t\tconst menuItem = $(this).parents(\"li\");\n\n\t\t\t// Close all sub menus except the current one.\n\t\t\t$(\".site-navigation--toggle-sub-menus .sub-menu\")\n\t\t\t\t.not(currentSubMenu)\n\t\t\t\t.slideUp();\n\t\t\t$(\".site-navigation--toggle-sub-menus .menu-item-has-children\")\n\t\t\t\t.not(menuItem)\n\t\t\t\t.removeClass(\"menu-item-open\");\n\n\t\t\tmenuItem.toggleClass(\"menu-item-open\");\n\t\t\tcurrentSubMenu.slideToggle();\n\t\t}\n\t);\n\n\t/**\n\t * Scroll to top of the result list when using the FacetWP pagination.\n\t */\n\t$(document).on(\"facetwp-loaded\", function () {\n\t\tif (FWP.loaded) {\n\t\t\t$(\"html, body\").animate(\n\t\t\t\t{\n\t\t\t\t\tscrollTop: $(\".facetwp-template\").offset().top - 200,\n\t\t\t\t},\n\t\t\t\t500\n\t\t\t);\n\t\t}\n\t});\n\n\t/**\n\t * Add class \"is_safari\" if browser is safari - to fix bugs in safari\n\t */\n\tconst is_safari =\n\t\tnavigator.userAgent.indexOf(\"Safari\") != -1 &&\n\t\tnavigator.userAgent.indexOf(\"Chrome\") == -1 &&\n\t\tnavigator.userAgent.indexOf(\"Android\") == -1;\n\tif (is_safari) {\n\t\t$(\"body\").addClass(\"is_safari\");\n\t}\n\n\t/**\n\t * Sets the hero-height variable in css\n\t */\n\t$(\"body\")\n\t\t.get(0)\n\t\t.style.setProperty(\"--header-height\", $(\"header\").outerHeight() + \"px\");\n\n\tconst parallaxElements = $(\".row-parallax\");\n\n\tif (parallaxElements.length > 0) {\n\t\t/**\n\t\t * Creates the parallax effect to each element on load\n\t\t */\n\t\tparallaxElements.each(function () {\n\t\t\tinitParallax($(this));\n\t\t\tscrollParallaxBackground($(this));\n\t\t});\n\n\t\t/**\n\t\t * Bind scroll to change the parallax effect's scroll height\n\t\t */\n\t\twin.on(\"scroll.row-parallax\", () => {\n\t\t\tparallaxElements.each(function () {\n\t\t\t\tscrollParallaxBackground($(this));\n\t\t\t});\n\t\t});\n\t}\n\n\t/**\n\t * @description Adds parallax to a row\n\t * @param {Element} $this The parent of a element with class row-parallax-content\n\t */\n\tfunction initParallax($this) {\n\t\tvar row = $this,\n\t\t\tcontent = row.find(\"> .row-parallax-content\"),\n\t\t\tsrc = row.data(\"parallax-src\"),\n\t\t\tloaded = row.data(\"parallax-loaded\"),\n\t\t\timg = new Image();\n\n\t\tif (loaded) return;\n\n\t\tif (typeof src != \"undefined\") {\n\t\t\t$(img).on(\"load\", () => {\n\t\t\t\tcontent.css(\"background-image\", `url(${src})`);\n\t\t\t\trow.data(\"parallax-loaded\", true);\n\t\t\t});\n\t\t\timg.src = src;\n\t\t}\n\t}\n\n\t/**\n\t * @description Sets the correct parallax scroll height of a row/element\n\t * @param {Element} $this The parent of a element with class row-parallax-content\n\t */\n\tfunction scrollParallaxBackground($this) {\n\t\tvar win = $(window),\n\t\t\trow = $this,\n\t\t\tcontent = row.find(\"> .row-parallax-content\"),\n\t\t\tspeed = row.data(\"parallax-speed\"),\n\t\t\toffset = content.offset(),\n\t\t\tyPos = -((win.scrollTop() - offset.top) / speed);\n\n\t\tcontent.css(\"background-position\", `center ${yPos}px`);\n\t}\n\n\t/**\n\t * Hides reset filter if no filter is selected\n\t */\n\tsetTimeout(() => {\n\t\tif (!new URLSearchParams(window.location.search).get(\"_post_types\")) {\n\t\t\t$(\".facetwp-filter-reset\").hide();\n\t\t}\n\t\t$(\".facetwp-facet\").on(\"mouseup\", function (event) {\n\t\t\tsetTimeout(() => {\n\t\t\t\tif ($(\".facetwp-checkbox.checked\").length) {\n\t\t\t\t\t$(\".facetwp-filter-reset\").show();\n\t\t\t\t} else {\n\t\t\t\t\t$(\".facetwp-filter-reset\").hide();\n\t\t\t\t}\n\t\t\t}, 100);\n\t\t});\n\t}, 10);\n});\n"]}