{"version":3,"sources":["modules/cookie.js","modules/navigation.js","modules/newsletter.js","plugins/rellax.js","scripts/parallax.js","scripts/scripts.js"],"names":["global","factory","exports","module","define","amd","self","current","Cookies","noConflict","this","assign","target","i","arguments","length","source","key","api","init","converter","defaultAttributes","set","value","attributes","document","expires","Date","now","toUTCString","encodeURIComponent","replace","decodeURIComponent","escape","stringifiedAttributes","attributeName","split","cookie","write","Object","create","get","cookies","jar","parts","slice","join","foundKey","read","e","remove","withAttributes","withConverter","freeze","path","menu_trigger","querySelector","nav","body","nav_icon","querySelectorAll","sub_icon","lang_icon","addEventListener","classList","toggle","getAttribute","setAttribute","forEach","n","closest","l","newsletterSub","newsletterButton","newsletterSubButton","newsletterThanks","newsletterForm","preventDefault","add","root","Rellax","window","el","options","prototype","posY","screenY","posX","screenX","blocks","pause","loop","requestAnimationFrame","webkitRequestAnimationFrame","mozRequestAnimationFrame","msRequestAnimationFrame","oRequestAnimationFrame","callback","setTimeout","loopId","supportsPassive","opts","defineProperty","removeEventListener","clearLoop","cancelAnimationFrame","mozCancelAnimationFrame","clearTimeout","transformProp","testEl","createElement","style","transform","vendors","vendor","undefined","speed","verticalSpeed","horizontalSpeed","breakpoints","center","wrapper","relativeToWrapper","round","vertical","horizontal","verticalScrollAxis","horizontalScrollAxis","keys","Array","isArray","lastVal","isAscending","isNumerical","console","warn","validateCustomBreakpoints","elements","elems","nodeType","currentBreakpoint","cssText","w","bp","innerHeight","innerWidth","setPosition","block","createBlock","push","cacheBlocks","animate","update","mapBreakpoints","dataPercentage","dataSpeed","dataXsSpeed","dataMobileSpeed","dataTabletSpeed","dataDesktopSpeed","dataVerticalSpeed","dataHorizontalSpeed","dataVericalScrollAxis","dataHorizontalScrollAxis","dataZindex","dataMin","dataMax","dataMinX","dataMaxX","dataMinY","dataMaxY","xs","sm","md","lg","wrapperPosY","scrollTop","pageYOffset","documentElement","offsetTop","scrollLeft","pageXOffset","blockTop","getBoundingClientRect","top","blockHeight","clientHeight","offsetHeight","scrollHeight","blockLeft","left","blockWidth","clientWidth","offsetWidth","scrollWidth","percentageY","percentageX","Number","bases","updatePosition","searchResult","exec","index","trimmedStyle","delimiter","indexOf","baseX","x","baseY","y","height","width","zindex","min","max","minX","maxX","minY","maxY","oldY","oldX","parentNode","scrollPosY","result","valueX","valueY","Math","deferredUpdate","passive","positions","toLowerCase","verticalScrollX","verticalScrollY","horizontalScrollX","positionY","positionX","translate","destroy","refresh","parallaxImg","parallaxBanner","parallax","parallaxDestroy","element","scrollToAnchorOffSet","LocaleSet","newLanguage","log","AgeGateSet","country","agCookie","date","toString","JSON","stringify","jumpToAnchor","aName","aTag","$","offset","jumpToAnchorID","aId","jumpToAnchorIDOffset","scrollToAnchor","scrollToAnchorID","scrollToAnchorOffset","scrollToAnchorIDOffset","isEmptyOrSpaces","str","match","nodeListToIds","list","nodeIds","itm","checked"],"mappings":"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","file":"../compiled.min.js","sourcesContent":["/*! \r\n * js-cookie v3.0.1 | MIT\r\n * https://github.com/js-cookie/js-cookie/releases\r\n */\r\n;\r\n(function (global, factory) {\r\n typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :\r\n typeof define === 'function' && define.amd ? define(factory) :\r\n (global = global || self, (function () {\r\n var current = global.Cookies;\r\n var exports = global.Cookies = factory();\r\n exports.noConflict = function () { global.Cookies = current; return exports; };\r\n }()));\r\n}(this, (function () {\r\n 'use strict';\r\n\r\n /* eslint-disable no-var */\r\n function assign(target) {\r\n for (var i = 1; i < arguments.length; i++) {\r\n var source = arguments[i];\r\n for (var key in source) {\r\n target[key] = source[key];\r\n }\r\n }\r\n return target\r\n }\r\n /* eslint-enable no-var */\r\n\r\n /* eslint-disable no-var */\r\n var defaultConverter = {\r\n read: function (value) {\r\n if (value[0] === '\"') {\r\n value = value.slice(1, -1);\r\n }\r\n return value.replace(/(%[\\dA-F]{2})+/gi, decodeURIComponent)\r\n },\r\n write: function (value) {\r\n return encodeURIComponent(value).replace(\r\n /%(2[346BF]|3[AC-F]|40|5[BDE]|60|7[BCD])/g,\r\n decodeURIComponent\r\n )\r\n }\r\n };\r\n /* eslint-enable no-var */\r\n\r\n /* eslint-disable no-var */\r\n\r\n function init(converter, defaultAttributes) {\r\n function set(key, value, attributes) {\r\n if (typeof document === 'undefined') {\r\n return\r\n }\r\n\r\n attributes = assign({}, defaultAttributes, attributes);\r\n\r\n if (typeof attributes.expires === 'number') {\r\n attributes.expires = new Date(Date.now() + attributes.expires * 864e5);\r\n }\r\n if (attributes.expires) {\r\n attributes.expires = attributes.expires.toUTCString();\r\n }\r\n\r\n key = encodeURIComponent(key)\r\n .replace(/%(2[346B]|5E|60|7C)/g, decodeURIComponent)\r\n .replace(/[()]/g, escape);\r\n\r\n var stringifiedAttributes = '';\r\n for (var attributeName in attributes) {\r\n if (!attributes[attributeName]) {\r\n continue\r\n }\r\n\r\n stringifiedAttributes += '; ' + attributeName;\r\n\r\n if (attributes[attributeName] === true) {\r\n continue\r\n }\r\n\r\n // Considers RFC 6265 section 5.2:\r\n // ...\r\n // 3. If the remaining unparsed-attributes contains a %x3B (\";\")\r\n // character:\r\n // Consume the characters of the unparsed-attributes up to,\r\n // not including, the first %x3B (\";\") character.\r\n // ...\r\n stringifiedAttributes += '=' + attributes[attributeName].split(';')[0];\r\n }\r\n\r\n return (document.cookie =\r\n key + '=' + converter.write(value, key) + stringifiedAttributes)\r\n }\r\n\r\n function get(key) {\r\n if (typeof document === 'undefined' || (arguments.length && !key)) {\r\n return\r\n }\r\n\r\n // To prevent the for loop in the first place assign an empty array\r\n // in case there are no cookies at all.\r\n var cookies = document.cookie ? document.cookie.split('; ') : [];\r\n var jar = {};\r\n for (var i = 0; i < cookies.length; i++) {\r\n var parts = cookies[i].split('=');\r\n var value = parts.slice(1).join('=');\r\n\r\n try {\r\n var foundKey = decodeURIComponent(parts[0]);\r\n jar[foundKey] = converter.read(value, foundKey);\r\n\r\n if (key === foundKey) {\r\n break\r\n }\r\n } catch (e) { }\r\n }\r\n\r\n return key ? jar[key] : jar\r\n }\r\n\r\n return Object.create(\r\n {\r\n set: set,\r\n get: get,\r\n remove: function (key, attributes) {\r\n set(\r\n key,\r\n '',\r\n assign({}, attributes, {\r\n expires: -1\r\n })\r\n );\r\n },\r\n withAttributes: function (attributes) {\r\n return init(this.converter, assign({}, this.attributes, attributes))\r\n },\r\n withConverter: function (converter) {\r\n return init(assign({}, this.converter, converter), this.attributes)\r\n }\r\n },\r\n {\r\n attributes: { value: Object.freeze(defaultAttributes) },\r\n converter: { value: Object.freeze(converter) }\r\n }\r\n )\r\n }\r\n\r\n var api = init(defaultConverter, { path: '/' });\r\n /* eslint-enable no-var */\r\n\r\n return api;\r\n\r\n})));\r\n","var menu_trigger = document.querySelector('.nav__toggle'),\r\n nav = document.querySelector('.nav'),\r\n body = document.querySelector('body'),\r\n nav_icon = document.querySelectorAll('.nav__dropdown-icon'),\r\n sub_icon = document.querySelectorAll('.nav__icon--sub'),\r\n lang_icon = document.querySelectorAll('.language-selection__dropdown-icon');\r\n\r\nif (menu_trigger !== null) {\r\n menu_trigger.addEventListener('click', function () {\r\n // Toggle classes\r\n menu_trigger.classList.toggle('nav__toggle--active')\r\n nav.classList.toggle('nav--active')\r\n body.classList.toggle('overflow--hidden')\r\n body.classList.toggle('nav--open')\r\n\r\n // Accessibility\r\n if (menu_trigger.getAttribute('aria-expanded') === 'true') {\r\n menu_trigger.setAttribute('aria-expanded', 'false')\r\n } else {\r\n menu_trigger.setAttribute('aria-expanded', 'true')\r\n }\r\n });\r\n}\r\n\r\nif (nav_icon !== null) {\r\n nav_icon.forEach(function (n, i) {\r\n n.addEventListener('click', function () {\r\n this.classList.toggle('nav__dropdown-icon--active')\r\n this.closest('.nav__item').classList.toggle(\"nav__item--active\");\r\n this.closest('.nav__item').querySelector('.nav__dropdown').classList.toggle(\"nav__dropdown--active\");\r\n });\r\n });\r\n}\r\n\r\nif (lang_icon !== null) {\r\n lang_icon.forEach(function (l, i) {\r\n l.addEventListener('click', function () {\r\n this.classList.toggle('language-selection__dropdown-icon--active');\r\n this.closest('.language-selection__dropdown-item').classList.toggle(\"language-selection__dropdown-active\");\r\n this.closest('.language-selection__dropdown-item').querySelector('.language-selection__dropdown').classList.toggle(\"language-selection__dropdown--active\");\r\n });\r\n });\r\n}","var newsletterSub = document.querySelector('.form__sub'),\r\n newsletterButton = document.querySelector('.newsletter__button'),\r\n newsletterSubButton = document.querySelector('.newsletter__sub-button'),\r\n newsletterThanks = document.querySelector('.newsletter__thanks'),\r\n newsletterForm = document.querySelector('.newsletter__form');\r\n\r\nif (newsletterButton) {\r\n newsletterButton.addEventListener('click', function(e) {\r\n e.preventDefault();\r\n this.classList.add('hidden');\r\n newsletterSub.classList.remove('hidden');\r\n newsletterSubButton.classList.remove('hidden');\r\n })\r\n}\r\n\r\nif (newsletterSubButton) {\r\n newsletterSubButton.addEventListener('click', function(e) {\r\n e.preventDefault();\r\n newsletterForm.classList.add('hidden');\r\n newsletterThanks.classList.remove('hidden');\r\n })\r\n}\r\n","\r\n// ------------------------------------------\r\n// Rellax.js\r\n// Buttery smooth parallax library\r\n// Copyright (c) 2016 Moe Amaya (@moeamaya)\r\n// MIT license\r\n//\r\n// Thanks to Paraxify.js and Jaime Cabllero\r\n// for parallax concepts\r\n// ------------------------------------------\r\n\r\n(function (root, factory) {\r\n if (typeof define === 'function' && define.amd) {\r\n // AMD. Register as an anonymous module.\r\n define([], factory);\r\n } else if (typeof module === 'object' && module.exports) {\r\n // Node. Does not work with strict CommonJS, but\r\n // only CommonJS-like environments that support module.exports,\r\n // like Node.\r\n module.exports = factory();\r\n } else {\r\n // Browser globals (root is window)\r\n root.Rellax = factory();\r\n }\r\n}(typeof window !== \"undefined\" ? window : global, function () {\r\n var Rellax = function(el, options){\r\n \"use strict\";\r\n\r\n var self = Object.create(Rellax.prototype);\r\n\r\n var posY = 0;\r\n var screenY = 0;\r\n var posX = 0;\r\n var screenX = 0;\r\n var blocks = [];\r\n var pause = true;\r\n\r\n // check what requestAnimationFrame to use, and if\r\n // it's not supported, use the onscroll event\r\n var loop = window.requestAnimationFrame ||\r\n window.webkitRequestAnimationFrame ||\r\n window.mozRequestAnimationFrame ||\r\n window.msRequestAnimationFrame ||\r\n window.oRequestAnimationFrame ||\r\n function(callback){ return setTimeout(callback, 1000 / 60); };\r\n\r\n // store the id for later use\r\n var loopId = null;\r\n\r\n // Test via a getter in the options object to see if the passive property is accessed\r\n var supportsPassive = false;\r\n try {\r\n var opts = Object.defineProperty({}, 'passive', {\r\n get: function() {\r\n supportsPassive = true;\r\n }\r\n });\r\n window.addEventListener(\"testPassive\", null, opts);\r\n window.removeEventListener(\"testPassive\", null, opts);\r\n } catch (e) {}\r\n\r\n // check what cancelAnimation method to use\r\n var clearLoop = window.cancelAnimationFrame || window.mozCancelAnimationFrame || clearTimeout;\r\n\r\n // check which transform property to use\r\n var transformProp = window.transformProp || (function(){\r\n var testEl = document.createElement('div');\r\n if (testEl.style.transform === null) {\r\n var vendors = ['Webkit', 'Moz', 'ms'];\r\n for (var vendor in vendors) {\r\n if (testEl.style[ vendors[vendor] + 'Transform' ] !== undefined) {\r\n return vendors[vendor] + 'Transform';\r\n }\r\n }\r\n }\r\n return 'transform';\r\n })();\r\n\r\n // Default Settings\r\n self.options = {\r\n speed: -2,\r\n\t verticalSpeed: null,\r\n\t horizontalSpeed: null,\r\n breakpoints: [576, 768, 1201],\r\n center: false,\r\n wrapper: null,\r\n relativeToWrapper: false,\r\n round: true,\r\n vertical: true,\r\n horizontal: false,\r\n verticalScrollAxis: \"y\",\r\n horizontalScrollAxis: \"x\",\r\n callback: function() {},\r\n };\r\n\r\n // User defined options (might have more in the future)\r\n if (options){\r\n Object.keys(options).forEach(function(key){\r\n self.options[key] = options[key];\r\n });\r\n }\r\n\r\n function validateCustomBreakpoints () {\r\n if (self.options.breakpoints.length === 3 && Array.isArray(self.options.breakpoints)) {\r\n var isAscending = true;\r\n var isNumerical = true;\r\n var lastVal;\r\n self.options.breakpoints.forEach(function (i) {\r\n if (typeof i !== 'number') isNumerical = false;\r\n if (lastVal !== null) {\r\n if (i < lastVal) isAscending = false;\r\n }\r\n lastVal = i;\r\n });\r\n if (isAscending && isNumerical) return;\r\n }\r\n // revert defaults if set incorrectly\r\n self.options.breakpoints = [576, 768, 1201];\r\n console.warn(\"Rellax: You must pass an array of 3 numbers in ascending order to the breakpoints option. Defaults reverted\");\r\n }\r\n\r\n if (options && options.breakpoints) {\r\n validateCustomBreakpoints();\r\n }\r\n\r\n // By default, rellax class\r\n if (!el) {\r\n el = '.rellax';\r\n }\r\n\r\n // check if el is a className or a node\r\n var elements = typeof el === 'string' ? document.querySelectorAll(el) : [el];\r\n\r\n // Now query selector\r\n if (elements.length > 0) {\r\n self.elems = elements;\r\n }\r\n\r\n // The elements don't exist\r\n else {\r\n console.warn(\"Rellax: The elements you're trying to select don't exist.\");\r\n return;\r\n }\r\n\r\n // Has a wrapper and it exists\r\n if (self.options.wrapper) {\r\n if (!self.options.wrapper.nodeType) {\r\n var wrapper = document.querySelector(self.options.wrapper);\r\n\r\n if (wrapper) {\r\n self.options.wrapper = wrapper;\r\n } else {\r\n console.warn(\"Rellax: The wrapper you're trying to use doesn't exist.\");\r\n return;\r\n }\r\n }\r\n }\r\n\r\n // set a placeholder for the current breakpoint\r\n var currentBreakpoint;\r\n\r\n // helper to determine current breakpoint\r\n var getCurrentBreakpoint = function (w) {\r\n var bp = self.options.breakpoints;\r\n if (w < bp[0]) return 'xs';\r\n if (w >= bp[0] && w < bp[1]) return 'sm';\r\n if (w >= bp[1] && w < bp[2]) return 'md';\r\n return 'lg';\r\n };\r\n\r\n // Get and cache initial position of all elements\r\n var cacheBlocks = function() {\r\n for (var i = 0; i < self.elems.length; i++){\r\n var block = createBlock(self.elems[i]);\r\n blocks.push(block);\r\n }\r\n };\r\n\r\n\r\n // Let's kick this script off\r\n // Build array for cached element values\r\n var init = function() {\r\n for (var i = 0; i < blocks.length; i++){\r\n self.elems[i].style.cssText = blocks[i].style;\r\n }\r\n\r\n blocks = [];\r\n\r\n screenY = window.innerHeight;\r\n screenX = window.innerWidth;\r\n currentBreakpoint = getCurrentBreakpoint(screenX);\r\n\r\n setPosition();\r\n\r\n cacheBlocks();\r\n\r\n animate();\r\n\r\n // If paused, unpause and set listener for window resizing events\r\n if (pause) {\r\n window.addEventListener('resize', init);\r\n pause = false;\r\n // Start the loop\r\n update();\r\n }\r\n };\r\n\r\n // We want to cache the parallax blocks'\r\n // values: base, top, height, speed\r\n // el: is dom object, return: el cache values\r\n var createBlock = function(el) {\r\n var dataPercentage = el.getAttribute( 'data-rellax-percentage' );\r\n var dataSpeed = el.getAttribute( 'data-rellax-speed' );\r\n var dataXsSpeed = el.getAttribute( 'data-rellax-xs-speed' );\r\n var dataMobileSpeed = el.getAttribute( 'data-rellax-mobile-speed' );\r\n var dataTabletSpeed = el.getAttribute( 'data-rellax-tablet-speed' );\r\n var dataDesktopSpeed = el.getAttribute( 'data-rellax-desktop-speed' );\r\n var dataVerticalSpeed = el.getAttribute('data-rellax-vertical-speed');\r\n var dataHorizontalSpeed = el.getAttribute('data-rellax-horizontal-speed');\r\n var dataVericalScrollAxis = el.getAttribute('data-rellax-vertical-scroll-axis');\r\n var dataHorizontalScrollAxis = el.getAttribute('data-rellax-horizontal-scroll-axis');\r\n var dataZindex = el.getAttribute( 'data-rellax-zindex' ) || 0;\r\n var dataMin = el.getAttribute( 'data-rellax-min' );\r\n var dataMax = el.getAttribute( 'data-rellax-max' );\r\n var dataMinX = el.getAttribute('data-rellax-min-x');\r\n var dataMaxX = el.getAttribute('data-rellax-max-x');\r\n var dataMinY = el.getAttribute('data-rellax-min-y');\r\n var dataMaxY = el.getAttribute('data-rellax-max-y');\r\n var mapBreakpoints;\r\n var breakpoints = true;\r\n\r\n if (!dataXsSpeed && !dataMobileSpeed && !dataTabletSpeed && !dataDesktopSpeed) {\r\n breakpoints = false;\r\n } else {\r\n mapBreakpoints = {\r\n 'xs': dataXsSpeed,\r\n 'sm': dataMobileSpeed,\r\n 'md': dataTabletSpeed,\r\n 'lg': dataDesktopSpeed\r\n };\r\n }\r\n\r\n // initializing at scrollY = 0 (top of browser), scrollX = 0 (left of browser)\r\n // ensures elements are positioned based on HTML layout.\r\n //\r\n // If the element has the percentage attribute, the posY and posX needs to be\r\n // the current scroll position's value, so that the elements are still positioned based on HTML layout\r\n var wrapperPosY = self.options.wrapper ? self.options.wrapper.scrollTop : (window.pageYOffset || document.documentElement.scrollTop || document.body.scrollTop);\r\n // If the option relativeToWrapper is true, use the wrappers offset to top, subtracted from the current page scroll.\r\n if (self.options.relativeToWrapper) {\r\n var scrollPosY = (window.pageYOffset || document.documentElement.scrollTop || document.body.scrollTop);\r\n wrapperPosY = scrollPosY - self.options.wrapper.offsetTop;\r\n }\r\n var posY = self.options.vertical ? ( dataPercentage || self.options.center ? wrapperPosY : 0 ) : 0;\r\n var posX = self.options.horizontal ? ( dataPercentage || self.options.center ? self.options.wrapper ? self.options.wrapper.scrollLeft : (window.pageXOffset || document.documentElement.scrollLeft || document.body.scrollLeft) : 0 ) : 0;\r\n\r\n var blockTop = posY + el.getBoundingClientRect().top;\r\n var blockHeight = el.clientHeight || el.offsetHeight || el.scrollHeight;\r\n\r\n var blockLeft = posX + el.getBoundingClientRect().left;\r\n var blockWidth = el.clientWidth || el.offsetWidth || el.scrollWidth;\r\n\r\n // apparently parallax equation everyone uses\r\n var percentageY = dataPercentage ? dataPercentage : (posY - blockTop + screenY) / (blockHeight + screenY);\r\n var percentageX = dataPercentage ? dataPercentage : (posX - blockLeft + screenX) / (blockWidth + screenX);\r\n if(self.options.center){ percentageX = 0.5; percentageY = 0.5; }\r\n\r\n // Optional individual block speed as data attr, otherwise global speed\r\n var speed = (breakpoints && mapBreakpoints[currentBreakpoint] !== null) ? Number(mapBreakpoints[currentBreakpoint]) : (dataSpeed ? dataSpeed : self.options.speed);\r\n var verticalSpeed = dataVerticalSpeed ? dataVerticalSpeed : self.options.verticalSpeed;\r\n var horizontalSpeed = dataHorizontalSpeed ? dataHorizontalSpeed : self.options.horizontalSpeed;\r\n\r\n // Optional individual block movement axis direction as data attr, otherwise global movement direction\r\n var verticalScrollAxis = dataVericalScrollAxis ? dataVericalScrollAxis : self.options.verticalScrollAxis;\r\n var horizontalScrollAxis = dataHorizontalScrollAxis ? dataHorizontalScrollAxis : self.options.horizontalScrollAxis;\r\n\r\n var bases = updatePosition(percentageX, percentageY, speed, verticalSpeed, horizontalSpeed);\r\n\r\n // ~~Store non-translate3d transforms~~\r\n // Store inline styles and extract transforms\r\n var style = el.style.cssText;\r\n var transform = '';\r\n\r\n // Check if there's an inline styled transform\r\n var searchResult = /transform\\s*:/i.exec(style);\r\n if (searchResult) {\r\n // Get the index of the transform\r\n var index = searchResult.index;\r\n\r\n // Trim the style to the transform point and get the following semi-colon index\r\n var trimmedStyle = style.slice(index);\r\n var delimiter = trimmedStyle.indexOf(';');\r\n\r\n // Remove \"transform\" string and save the attribute\r\n if (delimiter) {\r\n transform = \" \" + trimmedStyle.slice(11, delimiter).replace(/\\s/g,'');\r\n } else {\r\n transform = \" \" + trimmedStyle.slice(11).replace(/\\s/g,'');\r\n }\r\n }\r\n\r\n return {\r\n baseX: bases.x,\r\n baseY: bases.y,\r\n top: blockTop,\r\n left: blockLeft,\r\n height: blockHeight,\r\n width: blockWidth,\r\n speed: speed,\r\n verticalSpeed: verticalSpeed,\r\n horizontalSpeed: horizontalSpeed,\r\n verticalScrollAxis: verticalScrollAxis,\r\n horizontalScrollAxis: horizontalScrollAxis,\r\n style: style,\r\n transform: transform,\r\n zindex: dataZindex,\r\n min: dataMin,\r\n max: dataMax,\r\n minX: dataMinX,\r\n maxX: dataMaxX,\r\n minY: dataMinY,\r\n maxY: dataMaxY\r\n };\r\n };\r\n\r\n // set scroll position (posY, posX)\r\n // side effect method is not ideal, but okay for now\r\n // returns true if the scroll changed, false if nothing happened\r\n var setPosition = function() {\r\n var oldY = posY;\r\n var oldX = posX;\r\n\r\n posY = self.options.wrapper ? self.options.wrapper.scrollTop : (document.documentElement || document.body.parentNode || document.body).scrollTop || window.pageYOffset;\r\n posX = self.options.wrapper ? self.options.wrapper.scrollLeft : (document.documentElement || document.body.parentNode || document.body).scrollLeft || window.pageXOffset;\r\n // If option relativeToWrapper is true, use relative wrapper value instead.\r\n if (self.options.relativeToWrapper) {\r\n var scrollPosY = (document.documentElement || document.body.parentNode || document.body).scrollTop || window.pageYOffset;\r\n posY = scrollPosY - self.options.wrapper.offsetTop;\r\n }\r\n\r\n\r\n if (oldY != posY && self.options.vertical) {\r\n // scroll changed, return true\r\n return true;\r\n }\r\n\r\n if (oldX != posX && self.options.horizontal) {\r\n // scroll changed, return true\r\n return true;\r\n }\r\n\r\n // scroll did not change\r\n return false;\r\n };\r\n\r\n // Ahh a pure function, gets new transform value\r\n // based on scrollPosition and speed\r\n // Allow for decimal pixel values\r\n var updatePosition = function(percentageX, percentageY, speed, verticalSpeed, horizontalSpeed) {\r\n var result = {};\r\n var valueX = ((horizontalSpeed ? horizontalSpeed : speed) * (100 * (1 - percentageX)));\r\n var valueY = ((verticalSpeed ? verticalSpeed : speed) * (100 * (1 - percentageY)));\r\n\r\n result.x = self.options.round ? Math.round(valueX) : Math.round(valueX * 100) / 100;\r\n result.y = self.options.round ? Math.round(valueY) : Math.round(valueY * 100) / 100;\r\n\r\n return result;\r\n };\r\n\r\n // Remove event listeners and loop again\r\n var deferredUpdate = function() {\r\n window.removeEventListener('resize', deferredUpdate);\r\n window.removeEventListener('orientationchange', deferredUpdate);\r\n (self.options.wrapper ? self.options.wrapper : window).removeEventListener('scroll', deferredUpdate);\r\n (self.options.wrapper ? self.options.wrapper : document).removeEventListener('touchmove', deferredUpdate);\r\n\r\n // loop again\r\n loopId = loop(update);\r\n };\r\n\r\n // Loop\r\n var update = function() {\r\n if (setPosition() && pause === false) {\r\n animate();\r\n\r\n // loop again\r\n loopId = loop(update);\r\n } else {\r\n loopId = null;\r\n\r\n // Don't animate until we get a position updating event\r\n window.addEventListener('resize', deferredUpdate);\r\n window.addEventListener('orientationchange', deferredUpdate);\r\n (self.options.wrapper ? self.options.wrapper : window).addEventListener('scroll', deferredUpdate, supportsPassive ? { passive: true } : false);\r\n (self.options.wrapper ? self.options.wrapper : document).addEventListener('touchmove', deferredUpdate, supportsPassive ? { passive: true } : false);\r\n }\r\n };\r\n\r\n // Transform3d on parallax element\r\n var animate = function() {\r\n var positions;\r\n for (var i = 0; i < self.elems.length; i++){\r\n // Determine relevant movement directions\r\n var verticalScrollAxis = blocks[i].verticalScrollAxis.toLowerCase();\r\n var horizontalScrollAxis = blocks[i].horizontalScrollAxis.toLowerCase();\r\n var verticalScrollX = verticalScrollAxis.indexOf(\"x\") != -1 ? posY : 0;\r\n var verticalScrollY = verticalScrollAxis.indexOf(\"y\") != -1 ? posY : 0;\r\n var horizontalScrollX = horizontalScrollAxis.indexOf(\"x\") != -1 ? posX : 0;\r\n var horizontalScrollY = horizontalScrollAxis.indexOf(\"y\") != -1 ? posX : 0;\r\n\r\n var percentageY = ((verticalScrollY + horizontalScrollY - blocks[i].top + screenY) / (blocks[i].height + screenY));\r\n var percentageX = ((verticalScrollX + horizontalScrollX - blocks[i].left + screenX) / (blocks[i].width + screenX));\r\n\r\n // Subtracting initialize value, so element stays in same spot as HTML\r\n positions = updatePosition(percentageX, percentageY, blocks[i].speed, blocks[i].verticalSpeed, blocks[i].horizontalSpeed);\r\n var positionY = positions.y - blocks[i].baseY;\r\n var positionX = positions.x - blocks[i].baseX;\r\n\r\n // The next two \"if\" blocks go like this:\r\n // Check if a limit is defined (first \"min\", then \"max\");\r\n // Check if we need to change the Y or the X\r\n // (Currently working only if just one of the axes is enabled)\r\n // Then, check if the new position is inside the allowed limit\r\n // If so, use new position. If not, set position to limit.\r\n\r\n // Check if a min limit is defined\r\n if (blocks[i].min !== null) {\r\n if (self.options.vertical && !self.options.horizontal) {\r\n positionY = positionY <= blocks[i].min ? blocks[i].min : positionY;\r\n }\r\n if (self.options.horizontal && !self.options.vertical) {\r\n positionX = positionX <= blocks[i].min ? blocks[i].min : positionX;\r\n }\r\n }\r\n\r\n // Check if directional min limits are defined\r\n if (blocks[i].minY != null) {\r\n positionY = positionY <= blocks[i].minY ? blocks[i].minY : positionY;\r\n }\r\n if (blocks[i].minX != null) {\r\n positionX = positionX <= blocks[i].minX ? blocks[i].minX : positionX;\r\n }\r\n\r\n // Check if a max limit is defined\r\n if (blocks[i].max !== null) {\r\n if (self.options.vertical && !self.options.horizontal) {\r\n positionY = positionY >= blocks[i].max ? blocks[i].max : positionY;\r\n }\r\n if (self.options.horizontal && !self.options.vertical) {\r\n positionX = positionX >= blocks[i].max ? blocks[i].max : positionX;\r\n }\r\n }\r\n\r\n // Check if directional max limits are defined\r\n if (blocks[i].maxY != null) {\r\n positionY = positionY >= blocks[i].maxY ? blocks[i].maxY : positionY;\r\n }\r\n if (blocks[i].maxX != null) {\r\n positionX = positionX >= blocks[i].maxX ? blocks[i].maxX : positionX;\r\n }\r\n\r\n var zindex = blocks[i].zindex;\r\n\r\n // Move that element\r\n // (Set the new translation and append initial inline transforms.)\r\n var translate = 'translate3d(' + (self.options.horizontal ? positionX : '0') + 'px,' + (self.options.vertical ? positionY : '0') + 'px,' + zindex + 'px) ' + blocks[i].transform;\r\n self.elems[i].style[transformProp] = translate;\r\n }\r\n self.options.callback(positions);\r\n };\r\n\r\n self.destroy = function() {\r\n for (var i = 0; i < self.elems.length; i++){\r\n self.elems[i].style.cssText = blocks[i].style;\r\n }\r\n\r\n // Remove resize event listener if not pause, and pause\r\n if (!pause) {\r\n window.removeEventListener('resize', init);\r\n pause = true;\r\n }\r\n\r\n // Clear the animation loop to prevent possible memory leak\r\n clearLoop(loopId);\r\n loopId = null;\r\n };\r\n\r\n // Init\r\n init();\r\n\r\n // Allow to recalculate the initial values whenever we want\r\n self.refresh = init;\r\n\r\n return self;\r\n };\r\n return Rellax;\r\n}));\r\n","var parallaxImg = document.querySelectorAll('.parallax');\r\nvar parallaxBanner = document.querySelectorAll('.parallax--banner');\r\n\r\n\r\nif (parallaxImg.length) {\r\n var parallax = new Rellax('.parallax', {\r\n speed: -4,\r\n center: true\r\n });\r\n\r\n window.addEventListener('load', parallaxDestroy(parallax));\r\n}\r\n\r\nif (parallaxBanner.length) {\r\n var parallaxBanner = new Rellax('.parallax--banner', {\r\n speed: -4\r\n });\r\n\r\n window.addEventListener('load', parallaxDestroy(parallaxBanner));\r\n}\r\n\r\nfunction parallaxDestroy(element) {\r\n let win = this;\r\n if (win.innerWidth < 900) {\r\n element.destroy();\r\n }\r\n}","var scrollToAnchorOffSet = 75;\r\n\r\nfunction LocaleSet(newLanguage) {\r\n\r\n var curCookie = Cookies.get('Locale');\r\n if (curCookie != newLanguage) {\r\n console.log('Switching lang to : %o ', newLanguage);\r\n // Set the cookie\r\n Cookies.set('Locale', newLanguage);\r\n } else {\r\n //console.log('Skipping cookie write as already set');\r\n }\r\n\r\n}\r\nfunction AgeGateSet(country) {\r\n var date = new Date();\r\n var agCookie = {\r\n date: date.toString(),\r\n country: country\r\n }\r\n Cookies.set('AgeGate', JSON.stringify(agCookie), { expires: 30 });\r\n}\r\n\r\n\r\nfunction jumpToAnchor(aName) {\r\n var aTag = $(\"a[name='\" + aName + \"']\");\r\n $('html,body').scrollTop(aTag.offset().top);\r\n}\r\nfunction jumpToAnchorID(aId) {\r\n var aTag = $(\"#\" + aId);\r\n $('html,body').scrollTop(aTag.offset().top);\r\n}\r\nfunction jumpToAnchorIDOffset(aId) {\r\n var aTag = $(\"#\" + aId);\r\n $('html,body').scrollTop(aTag.offset().top - scrollToAnchorOffSet);\r\n}\r\nfunction scrollToAnchor(aName) {\r\n var aTag = $(\"a[name='\" + aName + \"']\");\r\n $('html,body').animate({ scrollTop: aTag.offset().top }, 'slow');\r\n}\r\nfunction scrollToAnchorID(aId) {\r\n var aTag = $(\"#\" + aId);\r\n $('html,body').animate({ scrollTop: aTag.offset().top }, 'slow');\r\n}\r\n\r\nfunction scrollToAnchorOffset(aName) {\r\n var aTag = $(\"a[name='\" + aName + \"']\");\r\n $('html,body').animate({ scrollTop: aTag.offset().top - scrollToAnchorOffSet }, 'slow');\r\n}\r\nfunction scrollToAnchorIDOffset(aId) {\r\n var aTag = $(\"#\" + aId);\r\n $('html,body').animate({ scrollTop: aTag.offset().top - scrollToAnchorOffSet }, 'slow');\r\n}\r\n\r\nfunction isEmptyOrSpaces(str) {\r\n if (str === undefined) { return true; }\r\n return str === null || str.match(/^ *$/) !== null;\r\n}\r\n\r\nfunction nodeListToIds(list) {\r\n //console.log(' node list : %o', list);\r\n let nodeIds = [];\r\n if (list.length > 0) {\r\n for (let i = 0; i < list.length; i++) {\r\n\r\n var itm = list[i];\r\n //console.log('%o - %o', itm, itm.checked);\r\n if (itm.checked) {\r\n nodeIds.push(itm.value);\r\n }\r\n }\r\n }\r\n //console.log('node ids : %o', nodeIds);\r\n return nodeIds; \r\n}"]}