';\n\n // The index of the item that's being highlighted by the mouse or keyboard\n var highlightedOptionIndex;\n var highlightedOptionIndexMax = realOptions.length - 1;\n\n realSelect.setAttribute('data-ss-uuid', uuid);\n // Even though the element is display: none, a11y users should still see it.\n // According to http://www.w3.org/TR/wai-aria/states_and_properties#aria-hidden\n // some browsers may have bugs with this but future implementation may improve\n realSelect.setAttribute('aria-hidden', 'false');\n\n // Build styled clones of all the real options\n var selectedOptionHTML;\n var optionsHTML = '
';\n realOptions.forEach(function(realOption, index) {\n var text = realOption.textContent,\n value = realOption.getAttribute('value') || '',\n cssClass = 'ss-option';\n\n if (index === selectedIndex) {\n // Mark first item as selected-option - this is where we store state for the styled select box\n // aria-hidden=true so screen readers ignore the styles selext box in favor of the real one (which is visible by default)\n selectedOptionHTML = '
' + text + '
';\n }\n\n if (realOption.disabled) {\n cssClass += ' disabled';\n }\n\n // Continue building optionsHTML\n optionsHTML += '
' + text + '
';\n });\n optionsHTML += '
';\n styleSelectHTML += selectedOptionHTML += optionsHTML += '
';\n // And add out styled select just after the real select\n realSelect.insertAdjacentHTML('afterend', styleSelectHTML);\n\n var styledSelect = query('.style-select[data-ss-uuid=\"' + uuid + '\"]');\n var styleSelectOptions = styledSelect.querySelectorAll('.ss-option');\n var selectedOption = styledSelect.querySelector('.ss-selected-option');\n\n var changeRealSelectBox = function(newValue, newLabel) {\n\n realOptions.forEach(option => {\n option.removeAttribute('selected');\n const value = option.getAttribute('value');\n if (newValue === value) {\n option.setAttribute('selected', '');\n }\n });\n\n // Close styledSelect\n styledSelect.classList.remove('open');\n\n // Update styled value\n selectedOption.textContent = newLabel;\n selectedOption.dataset.value = newValue;\n\n // Update the 'tick' that shows the option with the current value\n styleSelectOptions.forEach(function(styleSelectOption) {\n if (styleSelectOption.dataset.value === newValue) {\n styleSelectOption.classList.add('ticked');\n } else {\n styleSelectOption.classList.remove('ticked');\n }\n });\n\n // Update real select box\n realSelect.value = newValue;\n\n // Send 'change' event to real select - to trigger any change event listeners\n var changeEvent = new CustomEvent('change');\n realSelect.dispatchEvent(changeEvent);\n };\n\n // Change real select box when a styled option is clicked\n styleSelectOptions.forEach(function(unused, index) {\n var styleSelectOption = styleSelectOptions.item(index);\n\n if (styleSelectOption.className.match(/\\bdisabled\\b/)) {\n return;\n }\n\n styleSelectOption.addEventListener('click', function(ev) {\n var target = ev.target,\n styledSelectBox = target.parentNode.parentNode,\n uuid = styledSelectBox.getAttribute('data-ss-uuid'),\n newValue = target.getAttribute('data-value'),\n newLabel = target.textContent;\n\n changeRealSelectBox(newValue, newLabel);\n\n });\n\n // Tick and highlight the option that's currently in use\n if (styleSelectOption.dataset.value === realSelect.value) {\n highlightedOptionIndex = index;\n styleSelectOption.classList.add('ticked');\n styleSelectOption.classList.add('highlighted');\n }\n\n // Important: we can't use ':hover' as the keyboard and default value can also set the highlight\n styleSelectOption.addEventListener('mouseover', function(ev) {\n styleSelectOption.parentNode.childNodes.forEach(\n function(sibling, index) {\n if (sibling === ev.target) {\n sibling.classList.add('highlighted');\n highlightedOptionIndex = index;\n } else {\n sibling.classList.remove('highlighted');\n }\n });\n });\n });\n\n var closeAllStyleSelects = function(exception) {\n queryAll('.style-select').forEach(function(styleSelectEl) {\n if (styleSelectEl !== exception) {\n styleSelectEl.classList.remove('open');\n }\n });\n };\n\n var toggleStyledSelect = function(styledSelectBox) {\n if (!styledSelectBox.classList.contains('open')) {\n // If we're closed and about to open, close other style selects on the page\n closeAllStyleSelects(styledSelectBox);\n }\n // Then toggle open/close\n styledSelectBox.classList.toggle('open');\n };\n\n // When a styled select box is clicked\n var styledSelectedOption = query(\n '.style-select[data-ss-uuid=\"' + uuid + '\"] .ss-selected-option');\n styledSelectedOption.addEventListener('click', function(ev) {\n ev.preventDefault();\n ev.stopPropagation();\n toggleStyledSelect(ev.target.parentNode);\n });\n\n // Keyboard handling\n styledSelectedOption.addEventListener('keydown', function(ev) {\n var styledSelectBox = ev.target.parentNode;\n\n switch (ev.keyCode) {\n case KEYCODES.SPACE:\n // Space shows and hides styles select boxes\n toggleStyledSelect(styledSelectBox);\n break;\n case KEYCODES.DOWN:\n case KEYCODES.UP:\n // Move the highlight up and down\n if (!styledSelectBox.classList.contains('open')) {\n // If style select is not open, up/down should open it.\n toggleStyledSelect(styledSelectBox);\n } else {\n // If style select is already open, these should change what the highlighted option is\n if (ev.keyCode === KEYCODES.UP) {\n // Up arrow moves earlier in list\n if (highlightedOptionIndex !== 0) {\n highlightedOptionIndex = highlightedOptionIndex - 1;\n }\n } else {\n // Down arrow moves later in list\n if (highlightedOptionIndex < highlightedOptionIndexMax) {\n highlightedOptionIndex = highlightedOptionIndex + 1;\n }\n }\n styleSelectOptions.forEach(function(option, index) {\n if (index === highlightedOptionIndex) {\n option.classList.add('highlighted');\n } else {\n option.classList.remove('highlighted');\n }\n });\n }\n ev.preventDefault();\n ev.stopPropagation();\n break;\n // User has picked an item from the keyboard\n case KEYCODES.ENTER:\n var highlightedOption = styledSelectedOption.parentNode.querySelectorAll(\n '.ss-option')[highlightedOptionIndex],\n newValue = highlightedOption.dataset.value,\n newLabel = highlightedOption.textContent;\n\n changeRealSelectBox(newValue, newLabel);\n ev.preventDefault();\n ev.stopPropagation();\n break;\n }\n });\n\n // Clicking outside of the styled select box closes any open styled select boxes\n query('body').addEventListener('click', function(ev) {\n\n if (!isAncestorOf(ev.target, '.style-select', true)) {\n closeAllStyleSelects();\n }\n });\n\n };\n\n// Close UMD module\n}));\n","var cid = 1;\n\nfunction buildParams(params) {\n var result = [];\n\n for (var i in params) {\n result.push(encodeURIComponent(i) + '=' + encodeURIComponent(params[i]));\n }\n\n return result.join('&');\n}\n\nmodule.exports = function jsonpAdapter(config) {\n return new Promise(function(resolve, reject) {\n var script = document.createElement('script');\n var src = config.url;\n\n if (config.params) {\n var params = buildParams(config.params);\n\n if (params) {\n src += (src.indexOf('?') >= 0 ? '&' : '?') + params;\n }\n }\n\n script.async = true;\n\n function remove() {\n if (script) {\n script.onload = script.onreadystatechange = script.onerror = null;\n\n if (script.parentNode) {\n script.parentNode.removeChild(script);\n }\n\n script = null;\n }\n }\n\n var jsonp = 'axiosJsonpCallback' + cid++;\n var old = window[jsonp];\n var isAbort = false;\n\n window[jsonp] = function(responseData) {\n window[jsonp] = old;\n\n if (isAbort) {\n return;\n }\n \n var response = {\n data: responseData,\n status: 200\n }\n\n resolve(response);\n };\n\n var additionalParams = {\n _: (new Date().getTime())\n };\n \n additionalParams[config.callbackParamName || 'callback'] = jsonp;\n\n src += (src.indexOf('?') >= 0 ? '&' : '?') + buildParams(additionalParams);\n\n script.onload = script.onreadystatechange = function() {\n if (!script.readyState || /loaded|complete/.test(script.readyState)) {\n remove();\n }\n };\n\n script.onerror = function() {\n remove();\n\n reject(new Error('Network Error'));\n };\n\n if (config.cancelToken) {\n config.cancelToken.promise.then(function(cancel) {\n if (!script) {\n return;\n }\n\n isAbort = true;\n\n reject(cancel);\n });\n } \n\n script.src = src;\n\n document.head.appendChild(script);\n });\n};","/*!\n * VERSION: 1.9.2\n * DATE: 2019-02-07\n * UPDATES AND DOCS AT: http://greensock.com\n *\n * @license Copyright (c) 2008-2019, GreenSock. All rights reserved.\n * This work is subject to the terms at http://greensock.com/standard-license or for\n * Club GreenSock members, the software agreement that was issued with your membership.\n * \n * @author: Jack Doyle, jack@greensock.com\n **/\n/* eslint-disable */\n\nimport { _gsScope } from \"./TweenLite.js\";\n\n\nvar _doc = (_gsScope.document || {}).documentElement,\n\t\t_window = _gsScope,\n\t\t_max = function(element, axis) {\n\t\t\tvar dim = (axis === \"x\") ? \"Width\" : \"Height\",\n\t\t\t\tscroll = \"scroll\" + dim,\n\t\t\t\tclient = \"client\" + dim,\n\t\t\t\tbody = document.body;\n\t\t\treturn (element === _window || element === _doc || element === body) ? Math.max(_doc[scroll], body[scroll]) - (_window[\"inner\" + dim] || _doc[client] || body[client]) : element[scroll] - element[\"offset\" + dim];\n\t\t},\n\t\t_unwrapElement = function(value) {\n\t\t\tif (typeof(value) === \"string\") {\n\t\t\t\tvalue = TweenLite.selector(value);\n\t\t\t}\n\t\t\tif (value.length && value !== _window && value[0] && value[0].style && !value.nodeType) {\n\t\t\t\tvalue = value[0];\n\t\t\t}\n\t\t\treturn (value === _window || (value.nodeType && value.style)) ? value : null;\n\t\t},\n\t\t_buildGetter = function(e, axis) { //pass in an element and an axis (\"x\" or \"y\") and it'll return a getter function for the scroll position of that element (like scrollTop or scrollLeft, although if the element is the window, it'll use the pageXOffset/pageYOffset or the documentElement's scrollTop/scrollLeft or document.body's. Basically this streamlines things and makes a very fast getter across browsers.\n\t\t\tvar p = \"scroll\" + ((axis === \"x\") ? \"Left\" : \"Top\");\n\t\t\tif (e === _window) {\n\t\t\t\tif (e.pageXOffset != null) {\n\t\t\t\t\tp = \"page\" + axis.toUpperCase() + \"Offset\";\n\t\t\t\t} else if (_doc[p] != null) {\n\t\t\t\t\te = _doc;\n\t\t\t\t} else {\n\t\t\t\t\te = document.body;\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn function() {\n\t\t\t\treturn e[p];\n\t\t\t};\n\t\t},\n\t\t_getOffset = function(element, container) {\n\t\t\tvar rect = _unwrapElement(element).getBoundingClientRect(),\n\t\t\t\tb = document.body,\n\t\t\t\tisRoot = (!container || container === _window || container === b),\n\t\t\t\tcRect = isRoot ? {top:_doc.clientTop - (window.pageYOffset || _doc.scrollTop || b.scrollTop || 0), left:_doc.clientLeft - (window.pageXOffset || _doc.scrollLeft || b.scrollLeft || 0)} : container.getBoundingClientRect(),\n\t\t\t\toffsets = {x: rect.left - cRect.left, y: rect.top - cRect.top};\n\t\t\tif (!isRoot && container) { //only add the current scroll position if it's not the window/body.\n\t\t\t\toffsets.x += _buildGetter(container, \"x\")();\n\t\t\t\toffsets.y += _buildGetter(container, \"y\")();\n\t\t\t}\n\t\t\treturn offsets;\n\t\t\t/*\tPREVIOUS\n\t\t\tvar rect = _unwrapElement(element).getBoundingClientRect(),\n\t\t\t\tisRoot = (!container || container === _window || container === document.body),\n\t\t\t\tcRect = (isRoot ? _doc : container).getBoundingClientRect(),\n\t\t\t\toffsets = {x: rect.left - cRect.left, y: rect.top - cRect.top};\n\t\t\tif (!isRoot && container) { //only add the current scroll position if it's not the window/body.\n\t\t\t\toffsets.x += _buildGetter(container, \"x\")();\n\t\t\t\toffsets.y += _buildGetter(container, \"y\")();\n\t\t\t}\n\t\t\treturn offsets;\n\t\t\t*/\n\t\t},\n\t\t_parseVal = function(value, target, axis, currentVal) {\n\t\t\tvar type = typeof(value);\n\t\t\treturn !isNaN(value) ? parseFloat(value) : (type === \"string\" && value.charAt(1) === \"=\") ? parseInt(value.charAt(0) + \"1\", 10) * parseFloat(value.substr(2)) + currentVal : (value === \"max\") ? _max(target, axis) : Math.min(_max(target, axis), _getOffset(value, target)[axis]);\n\t\t},\n\n\t\tScrollToPlugin = _gsScope._gsDefine.plugin({\n\t\t\tpropName: \"scrollTo\",\n\t\t\tAPI: 2,\n\t\t\tglobal: true,\n\t\t\tversion:\"1.9.2\",\n\n\t\t\t//called when the tween renders for the first time. This is where initial values should be recorded and any setup routines should run.\n\t\t\tinit: function(target, value, tween) {\n\t\t\t\tthis._wdw = (target === _window);\n\t\t\t\tthis._target = target;\n\t\t\t\tthis._tween = tween;\n\t\t\t\tif (typeof(value) !== \"object\") {\n\t\t\t\t\tvalue = {y:value}; //if we don't receive an object as the parameter, assume the user intends \"y\".\n\t\t\t\t\tif (typeof(value.y) === \"string\" && value.y !== \"max\" && value.y.charAt(1) !== \"=\") {\n\t\t\t\t\t\tvalue.x = value.y;\n\t\t\t\t\t}\n\t\t\t\t} else if (value.nodeType) {\n\t\t\t\t\tvalue = {y:value, x:value};\n\t\t\t\t}\n\t\t\t\tthis.vars = value;\n\t\t\t\tthis._autoKill = (value.autoKill !== false);\n\t\t\t\tthis.getX = _buildGetter(target, \"x\");\n\t\t\t\tthis.getY = _buildGetter(target, \"y\");\n\t\t\t\tthis.x = this.xPrev = this.getX();\n\t\t\t\tthis.y = this.yPrev = this.getY();\n\t\t\t\tif (value.x != null) {\n\t\t\t\t\tthis._addTween(this, \"x\", this.x, _parseVal(value.x, target, \"x\", this.x) - (value.offsetX || 0), \"scrollTo_x\", true);\n\t\t\t\t\tthis._overwriteProps.push(\"scrollTo_x\");\n\t\t\t\t} else {\n\t\t\t\t\tthis.skipX = true;\n\t\t\t\t}\n\t\t\t\tif (value.y != null) {\n\t\t\t\t\tthis._addTween(this, \"y\", this.y, _parseVal(value.y, target, \"y\", this.y) - (value.offsetY || 0), \"scrollTo_y\", true);\n\t\t\t\t\tthis._overwriteProps.push(\"scrollTo_y\");\n\t\t\t\t} else {\n\t\t\t\t\tthis.skipY = true;\n\t\t\t\t}\n\t\t\t\treturn true;\n\t\t\t},\n\n\t\t\t//called each time the values should be updated, and the ratio gets passed as the only parameter (typically it's a value between 0 and 1, but it can exceed those when using an ease like Elastic.easeOut or Back.easeOut, etc.)\n\t\t\tset: function(v) {\n\t\t\t\tthis._super.setRatio.call(this, v);\n\n\t\t\t\tvar x = (this._wdw || !this.skipX) ? this.getX() : this.xPrev,\n\t\t\t\t\ty = (this._wdw || !this.skipY) ? this.getY() : this.yPrev,\n\t\t\t\t\tyDif = y - this.yPrev,\n\t\t\t\t\txDif = x - this.xPrev,\n\t\t\t\t\tthreshold = ScrollToPlugin.autoKillThreshold;\n\n\t\t\t\tif (this.x < 0) { //can't scroll to a position less than 0! Might happen if someone uses a Back.easeOut or Elastic.easeOut when scrolling back to the top of the page (for example)\n\t\t\t\t\tthis.x = 0;\n\t\t\t\t}\n\t\t\t\tif (this.y < 0) {\n\t\t\t\t\tthis.y = 0;\n\t\t\t\t}\n\t\t\t\tif (this._autoKill) {\n\t\t\t\t\t//note: iOS has a bug that throws off the scroll by several pixels, so we need to check if it's within 7 pixels of the previous one that we set instead of just looking for an exact match.\n\t\t\t\t\tif (!this.skipX && (xDif > threshold || xDif < -threshold) && x < _max(this._target, \"x\")) {\n\t\t\t\t\t\tthis.skipX = true; //if the user scrolls separately, we should stop tweening!\n\t\t\t\t\t}\n\t\t\t\t\tif (!this.skipY && (yDif > threshold || yDif < -threshold) && y < _max(this._target, \"y\")) {\n\t\t\t\t\t\tthis.skipY = true; //if the user scrolls separately, we should stop tweening!\n\t\t\t\t\t}\n\t\t\t\t\tif (this.skipX && this.skipY) {\n\t\t\t\t\t\tthis._tween.kill();\n\t\t\t\t\t\tif (this.vars.onAutoKill) {\n\t\t\t\t\t\t\tthis.vars.onAutoKill.apply(this.vars.onAutoKillScope || this._tween, this.vars.onAutoKillParams || []);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tif (this._wdw) {\n\t\t\t\t\t_window.scrollTo((!this.skipX) ? this.x : x, (!this.skipY) ? this.y : y);\n\t\t\t\t} else {\n\t\t\t\t\tif (!this.skipY) {\n\t\t\t\t\t\tthis._target.scrollTop = this.y;\n\t\t\t\t\t}\n\t\t\t\t\tif (!this.skipX) {\n\t\t\t\t\t\tthis._target.scrollLeft = this.x;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tthis.xPrev = this.x;\n\t\t\t\tthis.yPrev = this.y;\n\t\t\t}\n\n\t\t}),\n\t\tp = ScrollToPlugin.prototype;\n\n\tScrollToPlugin.max = _max;\n\tScrollToPlugin.getOffset = _getOffset;\n\tScrollToPlugin.buildGetter = _buildGetter;\n\tScrollToPlugin.autoKillThreshold = 7;\n\n\tp._kill = function(lookup) {\n\t\tif (lookup.scrollTo_x) {\n\t\t\tthis.skipX = true;\n\t\t}\n\t\tif (lookup.scrollTo_y) {\n\t\t\tthis.skipY = true;\n\t\t}\n\t\treturn this._super._kill.call(this, lookup);\n\t};\n\n\nexport { ScrollToPlugin, ScrollToPlugin as default };","export default () => {\n\n const containers = document.querySelectorAll('[data-dropdown-container]');\n if (containers.length === 0) return;\n\n const OPENED = 'opened';\n\n const toggleDropdown = (button, dropdown, dropdownInner) => {\n const height = dropdownInner.clientHeight;\n\n if (!button.classList.contains(OPENED)) {\n button.classList.add(OPENED);\n dropdown.style.height = `${height}px`;\n } else {\n button.classList.remove(OPENED);\n dropdown.style.height = 0;\n }\n };\n\n containers.forEach(container => {\n const button = container.querySelector('[data-dropdown-button]');\n const dropdown = container.querySelector('[data-dropdown]');\n const dropdownInner = container.querySelector('[data-dropdown-inner]');\n\n button.addEventListener('click', e => {\n e.preventDefault();\n toggleDropdown(button, dropdown, dropdownInner);\n });\n });\n}\n\n\n/*----------------------------------hamburger menu----------------------------------*/\n \n$('.header__burger').click(function () {\n var $this = $(this);\n\n if ($('.header__burger').hasClass('not-active')) {\n $('.header__burger').removeClass('not-active').addClass('is-active');\n $(\".menu-primary-container\").animate({\n right: 0\n }, 500);\n $('body').addClass('fixbody');\n}\nelse if ($('.header__burger').hasClass('is-active')) {\n $('.header__burger').removeClass('is-active').addClass('not-active');\n $(\".menu-primary-container\").animate({\n right: -1000\n }, 500);\n $('body').removeClass('fixbody');\n}\n return false;\n});\n\n\n\n/*menu accordion on mobile*/\nvar arrowclick = \"\";\n\n$('.menu-primary-container ul.menu > li.menu-item-has-children').append(arrowclick);\n\n$('.menu-primary-container .menuarrow').click(function (e) {\n if($(this).parent().find(\"> .sub-menu\").is(':visible')){\n $(this).parent().find(\"> .sub-menu\").slideUp();\n } else {\n $(this).parent().find(\"> .sub-menu\").slideDown();\n }\n});\n\n\n","export default () => {\n window.addEventListener('click', e => {\n const shareLink = e.target.closest('.social-share-link');\n if (shareLink) {\n e.preventDefault();\n const url = shareLink.href;\n window.open(url, \"_blank\", 'resizable=yes,scrollbars=yes,top=20,left=20,width=600,height=400');\n }\n });\n}\n","import serialize from './libs/form-serialaize';\nimport axios from 'axios';\n// import qs from 'qs';\nimport jsonpAdapter from 'axios-jsonp';\n\nexport default () => {\n const attr = 'data-action';\n const forms = document.querySelectorAll(`[${attr}]`);\n // if (forms.length === 0) return;\n const ERROR = 'error';\n const SUCCESS = 'success';\n const NO_EVENTS = 'disable-events';\n const PROCESSING = 'processing';\n\n const disableForm = form => {\n form.classList.add(NO_EVENTS);\n form.classList.add(PROCESSING);\n };\n\n const enableForm = form => {\n form.classList.remove(NO_EVENTS);\n form.classList.remove(PROCESSING);\n };\n\n const handleSuccess = form => {\n form.classList.remove(ERROR);\n form.classList.add(SUCCESS);\n enableForm(form);\n };\n\n const handleError = form => {\n form.classList.add(ERROR);\n enableForm(form);\n };\n\n const handleReset = form => form.classList.remove(SUCCESS);\n\n forms.forEach(form => {\n const action = form.getAttribute(attr);\n form.onsubmit = e => {\n e.preventDefault();\n if (form.classList.contains(PROCESSING)) return;\n disableForm(form);\n const formData = serialize(form);\n window.pardot_callback = data => {\n const result = data.result;\n if (result === 'success') {\n handleSuccess(form);\n if(action == \"https://workproud.landmarkspace.co.uk/l/418642/2021-03-19/ptqgcq\") {\n document.location='https://www.landmarkspace.co.uk/download-the-report';\n }else {\n document.location='https://www.landmarkspace.co.uk/thank-you-for-your-enquiry/';\n }\n } else {\n handleError(form);\n }\n };\n axios({\n method: 'get',\n headers: {\n 'Content-Type': 'application/json',\n },\n adapter: jsonpAdapter,\n callbackParamName: 'c',\n url: action,\n params: formData,\n }).then(response => {\n console.error(response); // no way to have response, only redirect\n handleError(form);\n }).catch(error => {\n console.error(error); // if did not find server\n handleError(form);\n });\n };\n form.onreset = () => {\n handleReset(form);\n };\n });\n}\n\n","export default form => {\n\n // Setup our serialized data\n var serialized = {};\n\n // Loop through each field in the form\n for (var i = 0; i < form.elements.length; i++) {\n\n var field = form.elements[i];\n\n // Don't serialize fields without a name, submits, buttons, file and reset inputs, and disabled fields\n if (!field.name || field.disabled || field.type === 'file' || field.type === 'reset' || field.type === 'submit' || field.type === 'button') continue;\n\n // If a multi-select, get all selections\n if (field.type === 'select-multiple') {\n for (var n = 0; n < field.options.length; n++) {\n if (!field.options[n].selected) continue;\n serialized[field.name] = field.options[n].value;\n }\n }\n\n // Convert field data to a query string\n else if ((field.type !== 'checkbox' && field.type !== 'radio') || field.checked) {\n serialized[field.name] = field.value;\n }\n }\n\n return serialized;\n\n};\n","//import '@babel/polyfill';\n// import 'url-search-params-polyfill';\n\nimport { ScrollToPlugin } from 'gsap/all';\n// import TimelineLite from 'gsap';\n\nconst scrollToPlugin = ScrollToPlugin; // need to include to bundle on build\n\n// import pageLoader from './page-loader';\n\n// import navSearch from './components/nav-search';\n// import mobileSearch from './components/mobile-search';\n// import headerProductsDesktop from './components/header-products-desktop';\n// import headerLocationsDesktop from './components/header-locations-desktop';\n// import headerWhyLandmarkDesktop from './components/header-why-landmark-desktop';\nimport headerNavMobile from './components/header-nav-mobile';\nimport dropdown from './components/dropdown';\nimport socialShare from './components/social-share';\nimport showEnquiries from './components/show-enquiries';\nimport styleSelect from './components/style-select';\nimport disableOnTouch from './components/disable-for-touch-devises';\nimport lazyImages from './components/lazy-images';\n// import showOnScroll from './animations/show-on-scroll';\nimport forms from './forms';\nimport accordion from './components/accordion';\nimport stickyHeader from './components/sticky-header';\n\n// Builder JS\nimport builderTeamSlider from './components/builder-team-slider';\n\nif ('scrollRestoration' in history) {\n // Back off, browser, I got this...\n history.scrollRestoration = 'manual';\n\n}\n\nwindow.addEventListener('load', () => {\n // pageLoader(); // fire scripts for current page\n // navSearch();\n // mobileSearch();\n // headerProductsDesktop();\n // headerLocationsDesktop();\n // headerWhyLandmarkDesktop();\n headerNavMobile();\n dropdown();\n showEnquiries();\n styleSelect();\n disableOnTouch();\n lazyImages();\n // showOnScroll();\n socialShare();\n forms();\n accordion();\n stickyHeader();\n builderTeamSlider();\n});\n","import styleSelect from '../libs/style-select';\n\nexport default () => {\n const selects = document.querySelectorAll('.default-input select');\n if (selects.length === 0) return;\n\n selects.forEach(select => {\n styleSelect(select);\n });\n}","export default () => {\n let $header = document.querySelector('header.header');\n let headerHeight = $header.offsetHeight;\n if ($('body').hasClass('page-template-page-search-results-php')) {\n $('body').css('padding-top', 0 + 'px');\n return;\n }\n\n // Add the header height as padding to the body\n document.body.style.paddingTop = headerHeight + 'px';\n\n // Add class to header when scrolling\n window.addEventListener('scroll', () => {\n if (window.scrollY > 165) {\n $header.classList.add('scrolled');\n } else {\n $header.classList.remove('scrolled');\n }\n });\n}\n","export default() => {\n const teamSlider = $('.team-slider');\n const teamSelectorSlider = $('.team-selector-slider');\n\n if (teamSlider) {\n // Main Slider\n teamSlider.slick({\n slidesToShow: 1,\n prevArrow:\"