{"version":3,"sources":["webpack:///./js/components/init-webfonts.js","webpack:///./js/components/init-lazy-load.js","webpack:///./js/components/init-scrollbar.js","webpack:///./js/utils/EventDispatcher.js","webpack:///./js/components/init-search-toggle.js","webpack:///./js/utils/getElements.js","webpack:///./js/components/navigation/MultiLevelNavigation.js","webpack:///./js/utils/getSibling.js","webpack:///./js/utils/getSiblings.js","webpack:///./js/components/init-side-navigation.js","webpack:///./js/components/init-accordion.js","webpack:///./js/components/init-datalayer-check.js","webpack:///./js/components/init-footer-js.js","webpack:///./js/components/index.js","webpack:///./fonts/amasis.css","webpack:///./fonts/whitneyssm.css","webpack:///./js/components/init-mobile-toolbar-fix.js"],"names":["WebFont","load","custom","families","urls","require","whenDomReady","then","LazyLoad","elements_selector","scrollSelector","document","querySelector","SimpleBar","autoHide","utils_EventDispatcher","typeArg","event","eventInitDict","arguments","length","undefined","CustomEvent","bubbles","cancelable","detail","createEvent","initEvent","data","target","window","this","dispatchEvent","Array","from","querySelectorAll","forEach","element","addEventListener","preventDefault","hotTopics","getAttribute","hotTopicsData","JSON","parse","replace","EventDispatcher","getElements","container","selector","debug","MultiLevelNavigation","options","_this","MultiLevelNavigation_classCallCheck","activeClass","overlayElement","toggleButtonElement","scrollableSelector","backButtons","backSelector","browseButtons","browseSelector","closeButtons","closeSelector","navBlocks","blockSelector","navLinks","linkSelector","current","currentScrollbar","stack","btnBack","openPreviousBlock","btnBrowse","navBlock","getBlock","dataset","addActiveAsPreviousBlock","openBlock","currentTarget","navLink","getSibling","click","hrefValue","el","closeNavigation","_this2","activeBlocks","filter","classList","contains","level","activeBlock","addPreviousBlock","id","mainBlock","push","currentBlock","remove","scrollable","enableBodyScroll","_this3","clearAllBodyScrollLocks","disableKeyboardNavigation","setAttribute","focus","parentNode","simpleBarElement","content","firstChild","parentElement","appendChild","removeChild","wrapperUl","listItems","newUl","createElement","add","li","_this4","destroyeSimplebar","checkUl","navigator","maxTouchPoints","msMaxTouchPoints","enableKeyboardNavigation","childBlock","closeCurrent","previous","pop","_this5","toggle","body","cultureDropdown","find","block","matches","_slicedToArray","ids","getBlockTree","setStack","child","tree","getBlockParent","reverse","nb","parent","_this6","slice","includes","_current","value","_stack","siblings","children","getSiblings","navMain","navigation","itemSelector","browseButton","btnToggle","eventType","platform","userAgent","toggleNavigation","stopImmediatePropagation","initialiseInside","accordions","accordionsLength","i","handorgel","multiSelectable","collapsible","ariaEnabled","keyboardInteraction","carouselFocus","initialOpenAttribute","initialOpenTransition","initialOpenTransitionDelay","headerOpenClass","contentOpenClass","headerOpenedClass","contentOpenedClass","headerFocusClass","contentFocusClass","headerDisabledClass","contentDisabledClass","headerNoTransitionClass","contentNoTransitionClass","initialiseAccordionsInsideSelector","currentLocation","location","href","thankyouUrl","sessionStorage","getItem","datalayer","dataLayer","removeItem","year","Date","getFullYear","copyright","innerHTML","concat","objectFit","__webpack_require__","e","bind","carousel","Promise","all","lightbox","modal","azElement","backTopElement","mapElement","secNavElement","cultureElement","officeSelectorElements","shareButtons","datalayerForm","bannerVideo","dropdownSearchForm","dealClientSuccess","cardFeatureWithFilterCategory","campaignHightlightLongTextExpandable","module","exports","p","vh","innerHeight","documentElement","style","setProperty"],"mappings":"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","file":"components-ff44de389baf18db62fe.js","sourcesContent":["/** See more here: https://github.com/typekit/webfontloader */\r\nimport WebFont from 'webfontloader';\r\n\r\nWebFont.load({\r\n custom: {\r\n families: ['AmasisMTPro', 'HCo Whitney SSm'],\r\n urls: [require('@fonts/amasis.css'), require('@fonts/whitneyssm.css')],\r\n },\r\n});\r\n","import LazyLoad from 'vanilla-lazyload';\r\nimport whenDomReady from 'when-dom-ready';\r\n\r\nfunction initialise() {\r\n // eslint-disable-next-line no-unused-vars\r\n const lazyLoadInstance = new LazyLoad({\r\n elements_selector: '.js-lazy',\r\n });\r\n}\r\n\r\nwhenDomReady().then(initialise);\r\n","\r\nimport SimpleBar from 'SimpleBar';\r\nimport whenDomReady from 'when-dom-ready';\r\n\r\nfunction initialiseProducts() {\r\n const scrollSelector = document.querySelector('.js-scrollbar');\r\n\r\n if (!scrollSelector) {\r\n return;\r\n }\r\n\r\n // eslint-disable-next-line no-unused-vars\r\n const simpleBar = new SimpleBar(scrollSelector, { autoHide: false });\r\n}\r\n\r\nwhenDomReady().then(initialiseProducts);\r\n","class EventDispatcher {\r\n /**\r\n * Create a custom {Event} object.\r\n * @param typeArg\r\n * @param eventInitDict\r\n * @returns {Event}\r\n */\r\n createEvent(typeArg, eventInitDict = {}) {\r\n let event;\r\n\r\n if (typeof CustomEvent === 'function') {\r\n // modern browsers\r\n event = new CustomEvent(typeArg, {\r\n bubbles: eventInitDict.bubbles || false,\r\n cancelable: eventInitDict.cancelable || false,\r\n detail: eventInitDict.detail || '',\r\n });\r\n } else {\r\n // ie11\r\n event = document.createEvent('Event');\r\n event.initEvent(typeArg, false, false);\r\n // Manually assign detail if necessary\r\n if ('detail' in eventInitDict) {\r\n event.detail = eventInitDict.data;\r\n }\r\n }\r\n\r\n return event;\r\n }\r\n\r\n /**\r\n * Dispatch a custom {Event} from the target DOM element.\r\n * @param typeArg\r\n * @param eventInitDict\r\n * @param target\r\n */\r\n dispatchEvent(typeArg, eventInitDict = {}, target = window) {\r\n const event = this.createEvent(typeArg, eventInitDict);\r\n target.dispatchEvent(event);\r\n }\r\n}\r\n\r\nexport default new EventDispatcher();\r\n","import whenDomReady from 'when-dom-ready';\r\n\r\nimport EventDispatcher from '@utils/EventDispatcher';\r\n\r\nfunction initialise() {\r\n const toggleButtons = Array.from(document.querySelectorAll('.js-search-toggle'));\r\n\r\n toggleButtons.forEach(element => {\r\n element.addEventListener('click', event => {\r\n event.preventDefault();\r\n\r\n /** Dispatch event on root element to trigger React to show the overlay. */\r\n const hotTopics = element.getAttribute('data-hot-topics');\r\n const hotTopicsData = JSON.parse(hotTopics.replace(/'/g, '\"'));\r\n EventDispatcher.dispatchEvent('search.toggle', { detail: hotTopicsData });\r\n });\r\n });\r\n}\r\n\r\nwhenDomReady().then(initialise);\r\n","/** Get the specified elements as an array. */\r\nexport default function getElements(container, selector) {\r\n return Array.from(container.querySelectorAll(selector));\r\n}\r\n","/* globals process:false */\r\nimport { clearAllBodyScrollLocks, enableBodyScroll } from 'body-scroll-lock';\r\nimport SimpleBar from 'SimpleBar';\r\n\r\nimport getElements from '@utils/getElements';\r\n\r\n/**\r\n * A multi-level navigation with infinite nesting level support.\r\n */\r\nclass MultiLevelNavigation {\r\n /**\r\n * Create a new instance of {MultiLevelNavigation}.\r\n * @param {HTMLElement} element\r\n * @param {Object} options\r\n */\r\n constructor(element, options) {\r\n this.container = element;\r\n this.options = options;\r\n\r\n this.activeClass = options.activeClass;\r\n this.overlayElement = options.overlayElement;\r\n this.toggleButtonElement = options.toggleButtonElement;\r\n this.scrollableSelector = options.scrollableSelector;\r\n\r\n this.backButtons = getElements(element, options.backSelector);\r\n this.browseButtons = getElements(element, options.browseSelector);\r\n this.closeButtons = getElements(element, options.closeSelector);\r\n this.navBlocks = getElements(element, options.blockSelector);\r\n this.navLinks = getElements(element, options.linkSelector);\r\n\r\n this.current = null;\r\n this.currentScrollbar = null;\r\n\r\n this.stack = [];\r\n\r\n this.backButtons.forEach(btnBack => {\r\n btnBack.addEventListener('click', event => {\r\n event.preventDefault();\r\n this.openPreviousBlock();\r\n });\r\n });\r\n\r\n this.browseButtons.forEach(btnBrowse => {\r\n btnBrowse.addEventListener('click', event => {\r\n event.preventDefault();\r\n\r\n const navBlock = this.getBlock(btnBrowse.dataset.target);\r\n\r\n // If there is no target block then \"click\" the link.\r\n if (!navBlock) {\r\n const navLink = this.getSibling(event.currentTarget, this.options.linkSelector);\r\n\r\n if (navLink) {\r\n navLink.click();\r\n }\r\n } else {\r\n this.addActiveAsPreviousBlock();\r\n this.openBlock(navBlock, event.currentTarget);\r\n }\r\n });\r\n });\r\n\r\n this.navLinks.forEach(navLink => {\r\n navLink.addEventListener('click', event => {\r\n // If link is empty or hash then make it behave like a browse button.\r\n const hrefValue = navLink.getAttribute('href');\r\n\r\n if (hrefValue === '' || hrefValue === '#') {\r\n event.preventDefault();\r\n\r\n const btnBrowse = this.getSibling(event.currentTarget, this.options.browseSelector);\r\n\r\n if (btnBrowse) {\r\n btnBrowse.click();\r\n }\r\n }\r\n });\r\n });\r\n\r\n this.closeButtons.forEach(el => {\r\n el.addEventListener('click', event => {\r\n event.preventDefault();\r\n this.closeNavigation();\r\n });\r\n });\r\n }\r\n\r\n /**\r\n * Get the current active block id.\r\n * @returns {String}\r\n */\r\n get current() {\r\n // eslint-disable-next-line no-underscore-dangle\r\n return this._current;\r\n }\r\n\r\n /**\r\n * Set the current active block id.\r\n * @param {String} value\r\n */\r\n set current(value) {\r\n // eslint-disable-next-line no-underscore-dangle\r\n this._current = value;\r\n\r\n // eslint-disable-next-line no-underscore-dangle\r\n debug('current changed', this._current);\r\n }\r\n\r\n /**\r\n * Get the current block id stack.\r\n * @returns {[String]}\r\n */\r\n get stack() {\r\n // eslint-disable-next-line no-underscore-dangle\r\n return this._stack;\r\n }\r\n\r\n /**\r\n * Set the current block id stack.\r\n * @param {[String]} value\r\n */\r\n set stack(value) {\r\n // eslint-disable-next-line no-underscore-dangle\r\n this._stack = value;\r\n\r\n // eslint-disable-next-line no-underscore-dangle\r\n debug('updated stack', this._stack);\r\n }\r\n\r\n /**\r\n * Push the current active block to the stack.\r\n */\r\n addActiveAsPreviousBlock() {\r\n const activeBlocks = this.navBlocks.filter(\r\n el => el.classList.contains(this.activeClass) && el.dataset.level,\r\n );\r\n\r\n if (activeBlocks && activeBlocks.length) {\r\n // Open lowest level active block.\r\n const activeBlock = activeBlocks[activeBlocks.length - 1];\r\n this.addPreviousBlock(activeBlock.dataset.id);\r\n } else {\r\n const mainBlock = this.navBlocks[0];\r\n this.stack.push(mainBlock.dataset.id);\r\n debug('updated stack', this.stack);\r\n }\r\n }\r\n\r\n /**\r\n * Add the specified block to the stack.\r\n * @param {String} id\r\n */\r\n addPreviousBlock(id) {\r\n // Ensure data variable.\r\n this.stack.push(id);\r\n debug('updated stack', this.stack);\r\n }\r\n\r\n /**\r\n * Close the current block.\r\n */\r\n closeCurrent() {\r\n const currentBlock = this.getBlock(this.current);\r\n\r\n currentBlock.classList.remove(this.activeClass);\r\n\r\n // Enable scroll for body.\r\n const scrollable = currentBlock.querySelector(this.scrollableSelector);\r\n enableBodyScroll(scrollable);\r\n }\r\n\r\n /**\r\n * Close the navigation completely, also resets the current and stack data.\r\n */\r\n closeNavigation() {\r\n // Remove all items from stack.\r\n this.stack = [];\r\n\r\n // Clear current value.\r\n this.current = null;\r\n\r\n this.container.classList.remove(this.activeClass);\r\n this.overlayElement.classList.remove(this.activeClass);\r\n this.navBlocks.forEach(navBlock => {\r\n navBlock.classList.remove(this.activeClass);\r\n });\r\n\r\n clearAllBodyScrollLocks();\r\n\r\n // Disable keyboard navigation for entire side navigation.\r\n this.disableKeyboardNavigation(this.container);\r\n }\r\n\r\n /**\r\n * Disable keyboard navigation for descendants of element.\r\n * @param {HTMLElement} element\r\n */\r\n disableKeyboardNavigation(element) {\r\n const tabbable = Array.from(element.querySelectorAll('[tabindex]'));\r\n\r\n tabbable.forEach(el => {\r\n el.setAttribute('tabindex', '-1');\r\n });\r\n }\r\n\r\n /**\r\n * Enable keyboard navigation for descendants of element.\r\n * @param {HTMLElement} element\r\n */\r\n enableKeyboardNavigation(element) {\r\n const tabbable = Array.from(element.querySelectorAll('[tabindex]'));\r\n\r\n tabbable.forEach(el => {\r\n el.setAttribute('tabindex', '');\r\n });\r\n }\r\n\r\n /**\r\n * Focus the first focusable descendant in the specified element.\r\n * @param {HTMLElement} element\r\n */\r\n focusFirstElement(element) {\r\n const focusable = element.querySelector('[tabindex]');\r\n focusable.focus();\r\n }\r\n\r\n /**\r\n * Get the first sibling that matches the selector.\r\n * @param {HTMLElement} element\r\n * @param {String} selector\r\n */\r\n getSibling(element, selector) {\r\n return element.parentNode.querySelector(selector);\r\n }\r\n\r\n /**\r\n * Manually destroy the SimpleBar instance.\r\n */\r\n destroyeSimplebar() {\r\n const simpleBarElement = this.currentScrollbar.el;\r\n const content = simpleBarElement.querySelector('.simplebar-content');\r\n while (content.firstChild) {\r\n simpleBarElement.parentElement.appendChild(content.firstChild);\r\n }\r\n simpleBarElement.parentElement.removeChild(simpleBarElement);\r\n }\r\n\r\n /**\r\n * When nav reopens the navBlock missing the wrapper ul, this function will add it.\r\n * @param {HTMLElement} navBlock\r\n */\r\n checkUl(navBlock) {\r\n const wrapperUl = navBlock.querySelector(':scope > ul');\r\n const listItems = navBlock.querySelectorAll(':scope > li');\r\n // Check if the first li element has a parent with the class 'side-navigation__items'\r\n if (!wrapperUl) {\r\n const newUl = document.createElement('ul');\r\n newUl.classList.add('side-navigation__items', 'js-nav-scrollable');\r\n\r\n listItems.forEach(li => {\r\n newUl.appendChild(li);\r\n });\r\n\r\n navBlock.appendChild(newUl);\r\n }\r\n }\r\n\r\n /**\r\n * Open the specified block, also handles clicking through to the link if block not found.\r\n * @param {HTMLElement} navBlock\r\n */\r\n openBlock(navBlock) {\r\n // add active class to target block.\r\n navBlock.classList.add(this.activeClass);\r\n\r\n if (this.currentScrollbar) {\r\n this.destroyeSimplebar();\r\n this.currentScrollbar = null;\r\n }\r\n\r\n this.checkUl(navBlock);\r\n if (\r\n !('ontouchstart' in window || navigator.maxTouchPoints > 0 || navigator.msMaxTouchPoints > 0)\r\n ) {\r\n const scrollSelector = navBlock.querySelector('ul.js-nav-scrollable:first-of-type');\r\n this.currentScrollbar = new SimpleBar(scrollSelector, { autoHide: false });\r\n }\r\n\r\n // Disable scroll for body.\r\n // const scrollable = navBlock.querySelector(this.scrollableSelector);\r\n // disableBodyScroll(scrollable, { reserveScrollBarGap: true });\r\n\r\n // Disable keyboard navigation for entire side navigation.\r\n this.disableKeyboardNavigation(this.container);\r\n\r\n // Then enable keyboard navigation for the new navigation block.\r\n this.enableKeyboardNavigation(navBlock);\r\n\r\n // Then re-disable on child blocks (bit dirty...)\r\n const childBlocks = Array.from(navBlock.querySelectorAll(this.options.blockSelector));\r\n\r\n childBlocks.forEach(childBlock => {\r\n this.disableKeyboardNavigation(childBlock);\r\n });\r\n\r\n // Finally, set first focusable element in block as focus.\r\n // this.focusFirstElement(navBlock);\r\n\r\n // set current.\r\n this.current = navBlock.dataset.id;\r\n }\r\n\r\n /**\r\n * Close the current block and show the previous.\r\n */\r\n openPreviousBlock() {\r\n if (!this.stack || !this.stack.length) {\r\n this.closeNavigation();\r\n return;\r\n }\r\n\r\n // Hide current.\r\n this.closeCurrent();\r\n\r\n // Ensure data variable.\r\n const previous = this.stack.pop();\r\n debug('updated stack', this.stack);\r\n\r\n const navBlock = this.getBlock(previous);\r\n this.openBlock(navBlock);\r\n }\r\n\r\n /**\r\n * Toggle the visibility of the navigation.\r\n */\r\n toggleNavigation() {\r\n // Toggle navigation visibility.\r\n this.container.classList.toggle(this.activeClass);\r\n\r\n // toggle menu-button state\r\n this.toggleButtonElement.classList.toggle(this.activeClass);\r\n const body = document.querySelector('body');\r\n\r\n // Set overlay visibility based on navigation visibility.\r\n if (this.container.classList.contains(this.activeClass)) {\r\n this.overlayElement.classList.add(this.activeClass);\r\n\r\n // Disable scroll for body.\r\n if (body) {\r\n body.setAttribute(\r\n 'style',\r\n 'position:fixed;top: 0;right: 0;left: 0;bottom: 0;overflow-y: scroll;',\r\n );\r\n }\r\n\r\n const cultureDropdown = document.querySelector('.js-culture-selector-drop');\r\n if (\r\n cultureDropdown &&\r\n cultureDropdown.classList.contains('is-active') &&\r\n ('ontouchstart' in window || navigator.maxTouchPoints > 0 || navigator.msMaxTouchPoints > 0)\r\n ) {\r\n cultureDropdown.classList.remove('is-active');\r\n }\r\n\r\n // Show active block if set.\r\n let activeBlock = this.navBlocks.find(block => block.matches('[data-is-active=\"true\"]'));\r\n if (!activeBlock) {\r\n [activeBlock] = this.navBlocks;\r\n }\r\n if (activeBlock) {\r\n const ids = this.getBlockTree(activeBlock);\r\n this.setStack(ids);\r\n // Disable keyboard navigation for entire side navigation.\r\n this.disableKeyboardNavigation(this.container);\r\n\r\n // Then enable keyboard navigation for the new navigation block.\r\n this.enableKeyboardNavigation(activeBlock);\r\n\r\n // Then re-disable on child blocks (bit dirty...)\r\n const childBlocks = Array.from(activeBlock.querySelectorAll(this.options.blockSelector));\r\n\r\n childBlocks.forEach(childBlock => {\r\n this.disableKeyboardNavigation(childBlock);\r\n });\r\n }\r\n } else {\r\n this.overlayElement.classList.remove(this.activeClass);\r\n this.navBlocks.forEach(navBlock => {\r\n navBlock.classList.remove(this.activeClass);\r\n });\r\n\r\n // Ensure body is scrollable again.\r\n if (body) {\r\n body.setAttribute('style', '');\r\n }\r\n\r\n // Disable keyboard navigation for entire side navigation.\r\n // this.disableKeyboardNavigation(this.container);\r\n }\r\n\r\n // this.focusFirstElement(this.container.querySelector('.js-nav-block'));\r\n }\r\n\r\n /**\r\n * Get the stack array for the specified nav block.\r\n * @param {HTMLElement} child\r\n * @returns {[String]}\r\n */\r\n getBlockTree(child) {\r\n // Create array to hold ids.\r\n const tree = [child.dataset.id];\r\n\r\n // Set\r\n let current = this.getBlockParent(child);\r\n\r\n while (current) {\r\n // Add parent to array.\r\n tree.push(current.dataset.id);\r\n\r\n // Retrieve next parent.\r\n current = this.getBlockParent(current);\r\n }\r\n\r\n // Reverse order so root first, then children.\r\n tree.reverse();\r\n\r\n // Return complete tree.\r\n return tree;\r\n }\r\n\r\n /**\r\n * Get the nav block for the specified id.\r\n * @param {String} id\r\n * @returns {HTMLElement}\r\n */\r\n getBlock(id) {\r\n return this.navBlocks.find(nb => nb.dataset.id === id);\r\n }\r\n\r\n /**\r\n * Get the parent nav block for the specified nav block.\r\n * @param {HTMLElement} navBlock\r\n * @returns {HTMLElement}\r\n */\r\n getBlockParent(navBlock) {\r\n return this.getBlock(navBlock.dataset.parent);\r\n }\r\n\r\n /**\r\n * Set the current stack to the specified stack array.\r\n * @param {[String]} ids\r\n */\r\n setStack(ids) {\r\n // Set stack to ids other than final.\r\n this.stack = ids.slice(0, ids.length - 1);\r\n\r\n // Add active class to all blocks in stack.\r\n this.navBlocks\r\n .filter(nb => this.stack.includes(nb.dataset.id))\r\n .forEach(nb => {\r\n nb.classList.add(this.activeClass);\r\n });\r\n\r\n // Open lowest level.\r\n const child = ids[ids.length - 1];\r\n const navBlock = this.getBlock(child);\r\n this.openBlock(navBlock);\r\n }\r\n}\r\n\r\n/**\r\n * Log arguments to console in development mode.\r\n * @param args\r\n */\r\nfunction debug(...args) {\r\n if (process.env.NODE_ENV === 'production') {\r\n return;\r\n }\r\n // eslint-disable-next-line no-console\r\n console.log(...args);\r\n}\r\n\r\nexport default MultiLevelNavigation;\r\n","import getSiblings from './getSiblings';\r\n\r\n/** Get the first sibling that matches the selector */\r\nexport default function getSibling(element, selector = null) {\r\n const siblings = getSiblings(element, selector);\r\n\r\n if (siblings && siblings.length) {\r\n return siblings[0];\r\n }\r\n\r\n return null;\r\n}\r\n","/** Get the siblings that match the selector */\r\nexport default function getSiblings(element, selector = null) {\r\n const siblings = Array.from(element.parentElement.children);\r\n\r\n if (!selector) {\r\n return siblings;\r\n }\r\n\r\n return siblings.filter(el => el.matches(selector));\r\n}\r\n","import whenDomReady from 'when-dom-ready';\r\n\r\nimport MultiLevelNavigation from './navigation/MultiLevelNavigation';\r\n\r\nimport getSibling from '@utils/getSibling';\r\n\r\nfunction iOS() {\r\n return (\r\n ['iPad Simulator', 'iPhone Simulator', 'iPod Simulator', 'iPad', 'iPhone', 'iPod'].includes(\r\n navigator.platform,\r\n ) ||\r\n // iPad on iOS 13 detection\r\n (navigator.userAgent.includes('Mac') && 'ontouchend' in document)\r\n );\r\n}\r\n\r\nfunction initialise() {\r\n const navMain = document.querySelector('.js-nav-main');\r\n\r\n if (navMain) {\r\n const navigation = new MultiLevelNavigation(navMain, {\r\n activeClass: 'is-active',\r\n backSelector: '.js-nav-back',\r\n blockSelector: '.js-nav-block',\r\n browseSelector: '.js-nav-browse',\r\n closeSelector: '.js-nav-close',\r\n itemSelector: '.js-nav-item',\r\n linkSelector: '.js-nav-link',\r\n overlayElement: document.querySelector('.js-overlay-fade'),\r\n toggleButtonElement: document.querySelector('.js-nav-toggle'),\r\n scrollableSelector: '.js-nav-scrollable',\r\n });\r\n\r\n // make sure items with subitems click into the sub items rather than go to a page.\r\n document.querySelectorAll('.js-nav-link').forEach(el => {\r\n const browseButton = getSibling(el, '.js-nav-browse');\r\n if (browseButton) {\r\n el.addEventListener('click', event => {\r\n event.preventDefault();\r\n browseButton.click();\r\n });\r\n }\r\n });\r\n\r\n const btnToggle = document.querySelector('.js-nav-toggle');\r\n\r\n if (btnToggle) {\r\n let eventType = 'click';\r\n if (iOS()) {\r\n eventType = 'touchend';\r\n }\r\n btnToggle.addEventListener(eventType, event => {\r\n event.preventDefault();\r\n navigation.toggleNavigation();\r\n event.stopImmediatePropagation();\r\n return false;\r\n });\r\n }\r\n }\r\n}\r\n\r\nwhenDomReady().then(initialise);\r\n","import handorgel from 'handorgel';\r\nimport whenDomReady from 'when-dom-ready';\r\n\r\nfunction initialiseInside(element) {\r\n const accordions = element.querySelectorAll('.js-accordion');\r\n const accordionsLength = accordions.length;\r\n for (let i = 0; i < accordionsLength; i += 1) {\r\n // eslint-disable-next-line no-unused-vars, new-cap\r\n const accordion = new handorgel(accordions[i], {\r\n // whether multiple folds can be opened at once\r\n multiSelectable: false,\r\n // whether the folds are collapsible\r\n collapsible: true,\r\n // whether ARIA attributes are enabled\r\n ariaEnabled: true,\r\n // whether W3C keyboard shortcuts are enabled\r\n keyboardInteraction: true,\r\n // whether to loop header focus (sets focus back to first/last header when end/start reached)\r\n carouselFocus: true,\r\n // attribute for the header or content to open folds at initialization\r\n initialOpenAttribute: 'data-open',\r\n // whether to use transition at initial open\r\n initialOpenTransition: true,\r\n // delay used to show initial transition\r\n initialOpenTransitionDelay: 200,\r\n // header/content class if fold is open\r\n headerOpenClass: 'accordion__header--open',\r\n contentOpenClass: 'accordion__content--open',\r\n // header/content class if fold has been opened (transition finished)\r\n headerOpenedClass: 'accordion__header--opened',\r\n contentOpenedClass: 'accordion__content--opened',\r\n // header/content class if fold has been focused\r\n headerFocusClass: 'accordion__header--focus',\r\n contentFocusClass: 'accordion__content--focus',\r\n // header/content class if fold is disabled\r\n headerDisabledClass: 'accordion__header--disabled',\r\n contentDisabledClass: 'accordion__content--disabled',\r\n // header/content class if no transition should be active (applied on resize)\r\n headerNoTransitionClass: 'accordion__header--notransition',\r\n contentNoTransitionClass: 'accordion__content--notransition',\r\n });\r\n }\r\n}\r\n\r\nfunction initialise() {\r\n // Initialize the document.\r\n initialiseInside(document);\r\n\r\n // Set a function on the window in order to be accessible to the MVC AJAX callback.\r\n window.initialiseAccordionsInsideSelector = selector =>\r\n initialiseInside(document.querySelector(selector));\r\n}\r\n\r\nwhenDomReady().then(initialise);\r\n","import whenDomReady from 'when-dom-ready';\r\n\r\nfunction checkDatalayerOnSubmission() {\r\n const currentLocation = window.location.href;\r\n // get sessionStorage.tannkyouUrl if equals currentLocation, then push datalayer\r\n const thankyouUrl = sessionStorage.getItem('thankyouUrl');\r\n if (thankyouUrl && thankyouUrl === currentLocation) {\r\n const datalayer = sessionStorage\r\n .getItem('datalayer')\r\n .replace(/'/g, '\"')\r\n .replace(/([a-zA-Z0-9]+):/g, '\"$1\":');\r\n window.dataLayer = window.dataLayer || [];\r\n window.dataLayer.push(JSON.parse(datalayer));\r\n sessionStorage.removeItem('thankyouUrl');\r\n sessionStorage.removeItem('datalayer');\r\n }\r\n}\r\n\r\nwhenDomReady().then(checkDatalayerOnSubmission);\r\n","import whenDomReady from 'when-dom-ready';\r\n\r\nfunction initialise() {\r\n const year = new Date().getFullYear();\r\n const copyright = document.querySelector('.footer .copyright');\r\n if (copyright) {\r\n copyright.innerHTML = `© ${year} Fieldfisher. All rights reserved.`;\r\n }\r\n}\r\n\r\nwhenDomReady().then(initialise);\r\n","import './init-webfonts';\r\nimport './init-lazy-load';\r\nimport './init-scrollbar';\r\nimport './init-search-toggle';\r\nimport './init-side-navigation';\r\nimport './init-mobile-toolbar-fix';\r\nimport './init-accordion';\r\nimport './init-datalayer-check';\r\nimport './init-footer-js';\r\n\r\nconst objectFit = document.querySelectorAll('.js-object-fit');\r\n\r\nif (objectFit && objectFit.length) {\r\n import(/* webpackChunkName: \"objectFit\" */ './init-object-fit');\r\n}\r\n\r\nconst carousel = document.querySelectorAll('.js-carousel');\r\n\r\nif (carousel && carousel.length) {\r\n import(/* webpackChunkName: \"carousel\" */ './init-glide');\r\n}\r\n\r\nconst lightbox = document.querySelectorAll('.js-btn-lightbox');\r\n\r\nif (lightbox && lightbox.length) {\r\n import(/* webpackChunkName: \"lightbox\" */ './init-lightbox');\r\n}\r\n\r\nconst modal = document.querySelectorAll('.js-modal');\r\n\r\nif (modal && modal.length) {\r\n import(/* webpackChunkName: \"modal\" */ './init-modal');\r\n}\r\n\r\nconst azElement = document.querySelectorAll('.js-az-link');\r\n\r\nif (azElement && azElement.length) {\r\n import(/* webpackChunkName: \"azList\" */ './init-az-listing');\r\n}\r\n\r\nconst backTopElement = document.querySelectorAll('.js-back-top');\r\n\r\nif (backTopElement && backTopElement.length) {\r\n import(/* webpackChunkName: \"backTopList\" */ './init-back-top');\r\n}\r\n\r\nconst mapElement = document.querySelectorAll('.js-map');\r\n\r\nif (mapElement && mapElement.length) {\r\n import(/* webpackChunkName: \"map\" */ './init-map');\r\n}\r\n\r\nconst secNavElement = document.querySelectorAll('.js-sec-nav-sticky');\r\n\r\nif (secNavElement && secNavElement.length) {\r\n import(/* webpackChunkName: \"SecondaryNav\" */ './init-sec-nav-fix');\r\n}\r\n\r\nconst cultureElement = document.querySelectorAll('.js-culture-selector-toggle');\r\n\r\nif (cultureElement && cultureElement.length) {\r\n import(/* webpackChunkName: \"cultureNav\" */ './init-culture-toggle');\r\n}\r\n\r\nconst officeSelectorElements = document.querySelectorAll('.js-office-selector');\r\n\r\nif (officeSelectorElements && officeSelectorElements.length) {\r\n import(/* webpackChunkName: \"office-selector\" */ './init-office-selector');\r\n}\r\n\r\nconst shareButtons = document.querySelectorAll('.js-share');\r\n\r\nif (shareButtons && shareButtons.length) {\r\n import(/* webpackChunkName: \"share-button\" */ './init-share-button');\r\n}\r\n\r\nconst datalayerForm = document.querySelectorAll('form[data-submit-datalayer]');\r\nif (datalayerForm && datalayerForm.length) {\r\n import(/* webpackChunkName: \"datalayerForm\" */ './init-datalayer-form');\r\n}\r\n\r\nconst bannerVideo = document.querySelectorAll('.js-banner-video');\r\n\r\nif (bannerVideo && bannerVideo.length) {\r\n import(/* webpackChunkName: \"bannerVideo\" */ './init-banner-video');\r\n}\r\n\r\nconst dropdownSearchForm = document.querySelectorAll('.js-form__select');\r\n\r\nif (dropdownSearchForm && dropdownSearchForm.length) {\r\n import(/* webpackChunkName: \"handleForm\" */ './init-form-handle');\r\n}\r\n\r\nconst dealClientSuccess = document.querySelectorAll('.js-deal-client-success');\r\n\r\nif (dealClientSuccess && dealClientSuccess.length) {\r\n import(/* webpackChunkName: \"dealClientSuccess\" */ './init-deal-client-success');\r\n}\r\n\r\nconst cardFeatureWithFilterCategory = document.querySelectorAll(\r\n '.js-card-feature-with-filter-category',\r\n);\r\n\r\nif (cardFeatureWithFilterCategory && cardFeatureWithFilterCategory.length) {\r\n import(\r\n /* webpackChunkName: \"cardFeatureWithFilterCategory\" */ './init-feature-article-with-filter'\r\n );\r\n}\r\n\r\nconst campaignHightlightLongTextExpandable = document.querySelectorAll(\r\n '.js-campaign-highlight-long-text-expandable',\r\n);\r\n\r\nif (campaignHightlightLongTextExpandable && campaignHightlightLongTextExpandable.length) {\r\n import(\r\n /* webpackChunkName: \"campaignHightlightLongTextExpandable\" */ './init-campaign-highlight-long-text'\r\n );\r\n}\r\n","module.exports = __webpack_public_path__ + \"amasis-323754e7c87c24cb841bf4ebaceb3bf3.css\";","module.exports = __webpack_public_path__ + \"whitneyssm-8a0d2470d2baf40081c50c32837b2412.css\";","/* eslint-disable prefer-const, no-shadow */\r\n// First we get the viewport height and we multiple it by 1% to get a value for a vh unit\r\nlet vh = window.innerHeight * 0.01;\r\n// Then we set the value in the --vh custom property to the root of the document\r\ndocument.documentElement.style.setProperty('--vh', `${vh}px`);\r\n\r\nwindow.addEventListener('resize', () => {\r\n // We execute the same script as before\r\n const vh = window.innerHeight * 0.01;\r\n document.documentElement.style.setProperty('--vh', `${vh}px`);\r\n});\r\n"],"sourceRoot":""}