{"version":3,"file":"DefaultPage.chunk-120883.js","mappings":"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","sources":["webpack://Cornetto/./wwwroot/Content/scripts/src/app/ui/nav/small.js","webpack://Cornetto/./wwwroot/Content/scripts/src/app/ui/nav/large.js","webpack://Cornetto/./wwwroot/Content/scripts/src/app/ui/nav/sticky.js","webpack://Cornetto/./wwwroot/Content/scripts/src/app/ui/nav/load.js","webpack://Cornetto/./wwwroot/Content/scripts/src/app/ui/rotator/rotator.js","webpack://Cornetto/./wwwroot/Content/scripts/src/app/ui/expand-collapse/expand-collapse.js","webpack://Cornetto/./wwwroot/Content/scripts/src/app/ui/map/map.control.js","webpack://Cornetto/./wwwroot/Content/scripts/src/app/ui/map/map.load.js","webpack://Cornetto/./wwwroot/Content/scripts/src/app/ui/back-to-top/back-to-top.js","webpack://Cornetto/./wwwroot/Content/scripts/src/app/ui/expand-collapse/modal.js","webpack://Cornetto/./wwwroot/Content/scripts/src/app/ui/expand-collapse/select.js","webpack://Cornetto/./wwwroot/Content/scripts/src/app/ui/video/video.player.js","webpack://Cornetto/./wwwroot/Content/scripts/src/app/ui/social/share.js","webpack://Cornetto/./wwwroot/Content/scripts/src/app/ui/popup/popup.js","webpack://Cornetto/./wwwroot/Content/scripts/src/app/ui/select-custom/select-custom.js","webpack://Cornetto/./wwwroot/Content/scripts/src/app/ui/faq/faq.js","webpack://Cornetto/./wwwroot/Content/scripts/src/app/ui/form/validate.js","webpack://Cornetto/./wwwroot/Content/scripts/src/app/ui/animation-banner/animation-banner.js","webpack://Cornetto/./wwwroot/Content/scripts/src/app/ui/modal/modal.js","webpack://Cornetto/./wwwroot/Content/scripts/src/app/ui/scroll-appear/scroll-appear.js","webpack://Cornetto/./wwwroot/Content/scripts/src/app/ui/pricing/pricing.js","webpack://Cornetto/./wwwroot/Content/scripts/src/app/ui/nav/hub.js","webpack://Cornetto/./wwwroot/Content/scripts/src/app/ui/event/calendar.js","webpack://Cornetto/./wwwroot/Content/scripts/src/app/ui/form/delegate.js","webpack://Cornetto/./wwwroot/Content/scripts/src/lib/terabyte/jquery.tablescroll.js","webpack://Cornetto/./wwwroot/Content/scripts/src/app/page/default.js","webpack://Cornetto/./wwwroot/Content/scripts/src/app/ui/cookie/cookie.js","webpack://Cornetto/./wwwroot/Content/scripts/src/lib/jquery.selectric.min.js","webpack://Cornetto/./wwwroot/Content/scripts/src/lib/velocity.min.js"],"sourcesContent":["import $ from 'jquery';\nimport { publish, subscribe, unsubscribe } from 'Util/pubsub';\n\nvar NavSmall;\nvar $header;\nvar $nav;\nvar classes;\nvar selectors;\n\nvar $navItems;\nvar $navLinks;\nvar $navToggle;\nvar elementsInit = false;\n\nvar NavSmall = {\n\tinit: function ($elm, selectorList, classList) {\n\t\tNavSmall = this;\n\t\t$nav = $elm;\n\t\tselectors = selectorList;\n\t\tclasses = classList;\n\n\t\tNavSmall._initElements();\n\t\tNavSmall._initSubscriptions();\n\t\tNavSmall._initEvents();\n\t},\n\n\t_initElements: function () {\n\t\tif (!elementsInit) {\n\t\t\t$header = $(selectors.header);\n\t\t\t$navItems = $nav.find(selectors.navItem);\n\t\t\t$navLinks = $nav.find('.js-megamenu__heading');\n\t\t\t$navToggle = $('.js-header__nav-toggle');\n\t\t\telementsInit = true;\n\t\t}\n\t},\n\n\t_initSubscriptions: function () {\n\t\tsubscribe('/nav/searchToggle', NavSmall._closeNav);\n\t\tsubscribe('/nav/langToggle', NavSmall._closeNav);\n\t},\n\n\t_initEvents: function () {\n\t\t$navToggle.on('click', NavSmall._toggleSmallMenu);\n\t\t$navLinks.on('click', NavSmall._openSubMenu);\n\t},\n\n\tunbind: function () {\n\t\tunsubscribe('/nav/searchToggle', NavSmall._closeNav);\n\t\tunsubscribe('/nav/langToggle', NavSmall._closeNav);\n\t\t$navToggle.off('click', NavSmall._toggleSmallMenu);\n\t\t$navLinks.off('click', NavSmall._toggleSubMenu);\n\t\tNavSmall._resetMenu();\n\t},\n\n\t// close primary nav menu if open\n\t_closeNav: function () {\n\t\tif ($navToggle.attr('aria-expanded') === 'true') {\n\t\t\t$navToggle.trigger('click');\n\t\t}\n\t},\n\n\t_toggleSmallMenu: function (event) {\n\t\tevent.preventDefault();\n\t\tpublish('/nav/navToggle');\n\t\tif ($nav.attr('aria-expanded') === 'true') {\n\t\t\t$nav.attr('aria-expanded', false);\n\t\t\t$header.removeClass(classes.headerNavOpen);\n\t\t} else {\n\t\t\t$nav.attr('aria-expanded', true);\n\t\t\t$header.addClass(classes.headerNavOpen);\n\t\t}\n\t\tif ($navToggle.attr('aria-expanded') === 'true') {\n\t\t\t$navToggle.attr('aria-expanded', false);\n\t\t} else {\n\t\t\t$navToggle.attr('aria-expanded', true);\n\t\t}\n\n\t\tvar title = $navToggle.attr('title');\n\t\tvar altTitle = $navToggle.attr('data-alt-title');\n\t\t$navToggle.attr('title', altTitle);\n\t\t$navToggle.attr('data-alt-title', title);\n\n\t\tif ($nav.attr('aria-expanded') === 'false') {\n\t\t\t$nav.find('[aria-expanded=\"true\"]').attr('aria-expanded', false);\n\t\t}\n\t},\n\n\t_openSubMenu: function (event) {\n\t\tevent.preventDefault();\n\t\tvar $link = $(this);\n\t\tvar $icon = $link.find(selectors.navIcon);\n\t\tvar $item = $link.closest(selectors.navItem);\n\n\t\tif ($item.attr('aria-expanded') !== 'true') {\n\t\t\t$nav.find('.iconf-minus').removeClass('iconf-minus').addClass('iconf-plus');\n\t\t\t$nav.find('[aria-expanded=\"true\"]').attr('aria-expanded', false);\n\t\t}\n\t\tif ($item.attr('aria-expanded') === 'true') {\n\t\t\t$item.attr('aria-expanded', false);\n\t\t} else {\n\t\t\t$item.attr('aria-expanded', true);\n\t\t}\n\t\t$icon.toggleClass('iconf-minus iconf-plus');\n\t},\n\n\t// collapse nav and any expanded children\n\t_resetMenu: function () {\n\t\t$nav.attr('aria-expanded', false);\n\t\t$header.removeClass(classes.headerNavOpen);\n\t\t$navItems.attr('aria-expanded', false);\n\t\t$navToggle.attr('aria-expanded', false);\n\t}\n};\n\nexport { NavSmall }","import $ from 'jquery';\nimport { activate } from 'Util/activate';\nimport * as Core from 'Util/core';\nimport { publish, unpublish, subscribe } from 'Util/pubsub';\n\nvar NavLarge;\nvar $nav;\nvar selectors;\nvar classes;\n\nvar navHeight;\nvar navPos;\nvar topPos;\n\nvar $window;\nvar $body;\nvar $anchorLinks;\nvar $navWithMenus;\nvar $megaMenuItem;\nvar $megaMenuGrandChildNav;\n\nvar NavLarge = {\n\tinit: function ($elm, selectorList, classList) {\n\t\tNavLarge = this;\n\t\t$nav = $elm;\n\t\tselectors = selectorList;\n\t\tclasses = classList;\n\n\t\tNavLarge._initElements();\n\t\tNavLarge._setSizes();\n\t\tNavLarge._initSubscriptions();\n\t\tNavLarge._initEvents();\n\t},\n\n\t_setSizes: function () {\n\t\tnavHeight = $nav.outerHeight();\n\t\tnavPos = $nav.offset().top;\n\t},\n\n\t_initElements: function () {\n\t\t$window = $(window);\n\t\t$body = $('body');\n\t\t$navWithMenus = $nav.find(selectors.navItemMega);\n\t\t$anchorLinks = $('.js-anchor-link');\n\t\t$megaMenuItem = $nav.find(selectors.megaMenuItem);\n\t\t$megaMenuGrandChildNav = $nav.find(selectors.megaMenuGrandChildNav);\n\t},\n\n\t// Listen for window resize event (listener bound on all.js)\n\t_initSubscriptions: function () {\n\t\t//subscribe('/window/resize', NavLarge._setSizes);\n\t},\n\n\t_initEvents: function () {\n\n\t\t$anchorLinks.on('click', NavLarge._processAnchorClick);\n\n\t\t$navWithMenus.on('mouseleave', NavLarge._closeOnMouseLeave);\n\t\t//$navWithMenus.on('focusout', NavLarge._closeOnFocusOut);\n\n\t\tthis._bindTouchEvents();\n\t},\n\n\t_toggleMegaMenu: function (target, click, event) {\n\t\tif (click === 'click') {\n\t\t\tevent.preventDefault();\n\t\t}\n\t\tvar $thisTarget = $(target);\n\t\tvar $thisNav = $thisTarget.is(selectors.navItemMega) ? $thisTarget : $thisTarget.closest(selectors.navItemMega);\n\t\tvar $expanded = $nav.find('[aria-expanded=\"true\"]');\n\n\t\tif (click && click === 'click' && $expanded.find(selectors.megamenuHeading)[0] !== target) {\n\t\t\t$expanded.attr('aria-expanded', false);\n\t\t\t$expanded.addClass(classes.allowAnimations);\n\t\t}\n\n\t\tif ($thisNav.attr('aria-expanded') === 'true') {\n\t\t\t$thisNav.attr('aria-expanded', false);\n\t\t\t$thisNav.addClass(classes.allowAnimations);\n\t\t} else {\n\t\t\t$thisNav.attr('aria-expanded', true);\n\t\t\t$thisNav.addClass(classes.allowAnimations);\n\t\t\tpublish('/expandcollapse/close/set', 'hubmenu');\n\t\t}\n\t},\n\n\t_closeOnMouseLeave: function (event) {\n\t\tvar $navItem = $(event.target).closest(selectors.navItemMega);\n\n\t\t$navItem.attr('aria-expanded', false);\n\t\t$navItem.addClass(classes.allowAnimations);\n\t},\n\n\t_closeOnFocusOut: function (event) {\n\t\tvar $navItem = $(event.target).closest(selectors.navItemMega);\n\n\t\t// Use timeout to see what has focus now\n\t\twindow.setTimeout(function () {\n\t\t\tvar $newActiveElement = $(document.activeElement);\n\n\t\t\tif ($newActiveElement.closest($navItem).length === 0) {\n\t\t\t\t$navItem.attr('aria-expanded', false);\n\t\t\t\t$navItem.addClass(classes.allowAnimations);\n\t\t\t}\n\t\t}, 0);\n\t},\n\n\t_toggleGrandChildMenu: function (target, click, event) {\n\n\t\tif (click === 'click') {\n\t\t\tevent.preventDefault();\n\t\t}\n\n\t\tvar $thisTarget = $(target);\n\t\tvar $thisChildMenu = $thisTarget.next(selectors.megaMenuGrandChildItmes);\n\t\tvar $expandedNav = $nav.find('.js-megamenu__link[aria-expanded=\"true\"]');\n\n\t\tif (click && click === 'click' && $expandedNav[0] !== target) {\n\t\t\t$expandedNav.attr('aria-expanded', false);\n\t\t\t$expandedNav.addClass(classes.allowAnimations);\n\t\t}\n\n\t\t//$(selectors.megaMenuItem).attr('aria-expanded', false);\n\t\t$megaMenuGrandChildNav.attr('aria-expanded', false);\n\t\t$megaMenuGrandChildNav.addClass(classes.allowAnimations);\n\n\t\tif ($thisTarget.attr('aria-expanded') === 'true') {\n\t\t\t$thisTarget.attr('aria-expanded', false);\n\t\t\t$thisTarget.addClass(classes.allowAnimations);\n\t\t\t$megaMenuGrandChildNav.attr('aria-expanded', false);\n\t\t\t$megaMenuGrandChildNav.addClass(classes.allowAnimations);\n\t\t} else {\n\t\t\t$thisTarget.attr('aria-expanded', true);\n\t\t\t$thisTarget.addClass(classes.allowAnimations);\n\t\t\t$megaMenuGrandChildNav.attr('aria-expanded', true);\n\t\t\t$megaMenuGrandChildNav.addClass(classes.allowAnimations);\n\t\t}\n\n\t\tNavLarge._cloneGrandChildMenuItems($thisChildMenu);\n\n\t},\n\n\t_cloneGrandChildMenuItems: function (target) {\n\t\tvar cloneNav = $(target).clone();\n\t\t$megaMenuGrandChildNav.empty();\n\t\t$megaMenuGrandChildNav.append(cloneNav);\n\t},\n\n\tunbind: function () {\n\t\t$anchorLinks.off('click', NavLarge._processAnchorClick);\n\t\t$navWithMenus.unbind('click', this._toggleMegaMenu);\n\t\t$navWithMenus.unbind('click', this._toggleGrandChildMenu);\n\t\t$navWithMenus.unbind('mouseenter').unbind('mouseleave');\n\t\t$navWithMenus.removeProp('hoverIntent_t');\n\t\t$navWithMenus.removeProp('hoverIntent_s');\n\n\t\t$navWithMenus.off('mouseleave', NavLarge._closeOnMouseLeave);\n\t\t$navWithMenus.off('focusout', NavLarge._closeOnFocusOut);\n\t},\n\n\t_toggleMegaMenuHover: function () {\n\t\tpublish('/nav/navToggle');\n\t\tNavLarge._toggleMegaMenu(this);\n\t},\n\n\t_toggleMegaMenuClick: function (event) {\n\t\tpublish('/nav/navToggle');\n\t\tNavLarge._toggleMegaMenu(this, 'click', event);\n\t},\n\n\t_toggleMegaGrandChildMenuClick: function (event) {\n\t\tpublish('/nav/navToggle');\n\t\tNavLarge._toggleGrandChildMenu(this, 'click', event);\n\t},\n\n\t_processAnchorClick: function (event) {\n\t\tevent.preventDefault();\n\n\t\tvar hash = this.href.split('#')[1];\n\t\tvar $anchor = $('#' + hash);\n\n\t\tif ($anchor.length) {\n\t\t\tCore.scrollToElm($anchor, navHeight - 1);\n\t\t}\n\t},\n\n\t_bindTouchEvents: function () {\n\t\t$navWithMenus.each(function () {\n\t\t\t$(this).find(selectors.megamenuHeading).on(activate.event, activate(NavLarge._toggleMegaMenuClick));\n\t\t\t$(this).find(selectors.megaMenuItem).on(activate.event, activate(NavLarge._toggleMegaGrandChildMenuClick));\n\t\t});\n\t\t$('body').on('click', NavLarge._handleBodyClick);\n\t},\n\n\t_handleBodyClick: function (e) {\n\t\tvar $target = $(e.target);\n\n\t\tif (!$target.closest(selectors.nav).length && $nav.find('[aria-expanded=\"true\"]').length) {\n\t\t\t$nav.find('[aria-expanded=\"true\"]').attr('aria-expanded', false).addClass(classes.allowAnimations);\n\t\t}\n\t}\n};\n\nexport { NavLarge }","import $ from 'jquery';\nimport { throttle } from 'Util/throttle';\nimport { subscribe } from 'Util/pubsub';\n\nvar classes;\n\nvar $window;\nvar $body;\nvar $header;\nvar $notification;\n\nvar headerHeight;\n\nvar ignoreNextScroll = false;\n\nvar didScroll;\nvar lastScrollTop = $('body, html').scrollTop();\nvar delta = 5;\n\nvar HeaderSticky = {\n\tinit: function (selectors, classList) {\n\t\t$body = $('body');\n\t\tclasses = classList;\n\n\t\tHeaderSticky._initElements(selectors);\n\t\tHeaderSticky._initSubscriptions();\n\t\tHeaderSticky._initEvents();\n\n\t\tHeaderSticky._adjustForTarget(true);\n\n\t\tHeaderSticky._setScrollListener();\n\t\tHeaderSticky._setStickiness();\n\t},\n\n\t_initElements: function (selectors) {\n\t\t$window = $(window);\n\t\t$header = $(selectors.header);\n\t\t$notification = $(selectors.notification);\n\n\t\theaderHeight = $header.outerHeight();\n\t},\n\n\t_initSubscriptions: function () {\n\t\tsubscribe('/window/scroll', HeaderSticky._handleScroll);\n\t},\n\n\t_initEvents: function () {\n\t\t$(document).on('click', 'a[href^=\"#\"]:not([href=\"#\"])', HeaderSticky._adjustForTarget);\n\t\t$(window).on('hashchange', HeaderSticky._adjustForTarget);\n\t},\n\n\t_adjustForTarget: throttle(function (e) {\n\t\tvar initialLoad = e === true;\n\n\t\tvar $target = $(':target');\n\t\tvar targetScrollTop;\n\n\t\tif (initialLoad) {\n\t\t\tignoreNextScroll = true;\n\t\t}\n\n\t\tif ($target.length) {\n\t\t\ttargetScrollTop = $target.offset().top;\n\n\t\t\tif (targetScrollTop < lastScrollTop || initialLoad) {\n\t\t\t\tHeaderSticky._applyStickyOffset(initialLoad);\n\n\t\t\t\tif (!initialLoad && e.type === 'click') {\n\t\t\t\t\te.preventDefault();\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}, 10),\n\n\t_applyStickyOffset: function (initialLoad) {\n\t\tvar $target = $(':target');\n\n\t\tvar offset = $header.outerHeight();\n\n\t\tvar targetOffset = $target.offset().top;\n\t\tvar newScrollTop = targetOffset - offset;\n\n\t\tvar shouldAdjust = true;\n\t\tvar scrollTop;\n\t\tvar diff;\n\t\tif (initialLoad) {\n\t\t\tscrollTop = $('body, html').scrollTop();\n\t\t\tdiff = Math.abs(scrollTop - targetOffset);\n\n\t\t\tif (diff > 20) {\n\t\t\t\tshouldAdjust = false;\n\t\t\t}\n\t\t}\n\n\t\tif (shouldAdjust) {\n\t\t\t$('html, body').scrollTop(newScrollTop);\n\t\t}\n\t},\n\n\t_setScrollListener: function () {\n\t\tsetInterval(\n\t\t\tfunction () {\n\t\t\t\tif (didScroll) {\n\t\t\t\t\tHeaderSticky._hasScrolled();\n\t\t\t\t\tdidScroll = false;\n\t\t\t\t}\n\t\t\t},\n\t\t\t250\n\t\t);\n\t},\n\n\t_handleScroll: function () {\n\t\tHeaderSticky._setDidScroll();\n\t\tHeaderSticky._setStickiness();\n\t},\n\n\t_setDidScroll: function () {\n\t\tdidScroll = true;\n\t},\n\n\t_setStickiness: function () {\n\t\tvar notificationHeight;\n\t\tvar scrollTop;\n\n\t\tvar isSticky = $header.hasClass(classes.headerSticky);\n\t\tvar shouldBeSticky;\n\n\t\tnotificationHeight = $notification.outerHeight() || 1;\n\t\tscrollTop = $window.scrollTop();\n\n\t\tshouldBeSticky = scrollTop >= notificationHeight;\n\n\t\tif (isSticky !== shouldBeSticky) {\n\t\t\tif (shouldBeSticky) {\n\t\t\t\t$header.addClass(classes.headerSticky);\n\t\t\t} else {\n\t\t\t\t$header.removeClass(classes.headerSticky);\n\t\t\t}\n\t\t}\n\t},\n\n\t_hideHeader: function () {\n\t\t$header.removeClass(classes.headerDown).addClass(classes.headerUp);\n\t},\n\n\t_hasScrolled: function () {\n\t\tif (ignoreNextScroll) {\n\t\t\tignoreNextScroll = false;\n\t\t\treturn;\n\t\t}\n\n\t\tvar scrollTop = $window.scrollTop();\n\n\t\t// Make sure they scroll more than delta\n\t\tif (Math.abs(lastScrollTop - scrollTop) <= delta || $body.hasClass(classes.dropdownOpen)) {\n\t\t\treturn false;\n\t\t}\n\n\t\t// If they scrolled down and are past the navbar, add class .nav-up.\n\t\t// This is necessary so you never see what is \"behind\" the navbar.\n\t\tif (scrollTop > lastScrollTop && scrollTop > headerHeight) {\n\t\t\t// Scroll Down\n\t\t\t$header.addClass(classes.headerUp);\n\t\t\t$header.removeClass(classes.headerDown);\n\t\t} else {\n\t\t\t// Scroll Up\n\t\t\tif (scrollTop + $window.height() < $(document).height()) {\n\n\t\t\t\tif (scrollTop > headerHeight) {\n\t\t\t\t\t$header.addClass(classes.headerDown);\n\t\t\t\t} else {\n\t\t\t\t\t$header.removeClass(classes.headerDown);\n\t\t\t\t}\n\n\t\t\t\t$header.removeClass(classes.headerUp);\n\t\t\t}\n\t\t}\n\n\t\tlastScrollTop = scrollTop;\n\t}\n};\n\nexport { HeaderSticky };","import $ from 'jquery';\nimport { MediaQueries } from 'Util/mediaqueries';\nimport * as Keybinding from 'Util/keybinding';\nimport { NavSmall } from 'App/nav/small';\nimport { NavLarge } from 'App/nav/large';\nimport { HeaderSticky } from 'App/nav/sticky';\nimport { publish, unpublish, subscribe } from 'Util/pubsub';\n\nimport Velocity from 'velocity-animate';\n\nvar selectors = {\n\theader: '.js-header',\n\tnotification: '.js-header-notification',\n\tnav: '.js-navigation',\n\tnavItem: '.js-navigation__item',\n\tnavIcon: '.js-navigation__icon',\n\tnavItemMega: '.js-navigation__item--megamenu',\n\tmegamenuHeading: '.js-megamenu__heading',\n\tnoTouch: '.no-touchevents',\n\tmegaMenuItem: '.js-megamenu__link',\n\tmegaMenuGrandChildNav: '.js-megamenu__grandchild__nav',\n\tmegaMenuGrandChildItmes: '.js-megamenu__grandchild-items',\n\tsiteSwitcher: '.js-header__site-switcher',\n\tsiteSwitcherSelector: '.js-header__site-switcher-selector',\n\thubMenu: '.js-hubmenu__items',\n\thubMenuItem: '.js-hubmenu__item',\n\thubMenuHeading: '.js-hubmenu__heading'\n};\n\nvar classes = {\n\theaderUp: 'is-up',\n\theaderDown: 'is-down',\n\theaderSticky: 'is-sticky',\n\theaderNavOpen: 'is-open',\n\n\tallowAnimations: 'allow-animations'\n};\n\nvar States = {\n\tINITIAL: 'initial',\n\tOPENED: 'opened',\n\tCLOSED: 'closed'\n};\n\nvar $nav;\nvar $search;\nvar $searchToggle;\nvar $langToggle;\nvar $lang;\nvar $siteSwitcher;\nvar $siteSwitcherSelector;\n\nvar NavLoad = {\n\tinit: function () {\n\t\tNavLoad._initElements();\n\n\t\tif ($nav.length) {\n\t\t\tNavLoad._initSubscriptions();\n\t\t\tNavLoad._initEvents();\n\t\t\tNavLoad._initMediaQueries();\n\t\t}\n\n\t\tHeaderSticky.init(selectors, classes);\n\t},\n\n\t_initElements: function () {\n\t\t$nav = $(selectors.nav);\n\t\t$searchToggle = $('.js-header__search-toggle');\n\t\t$search = $('.js-header__search');\n\t\t$langToggle = $('.js-header__lang-toggle');\n\t\t$lang = $('.js-header__lang');\n\t\t$siteSwitcher = $(selectors.siteSwitcher);\n\t\t$siteSwitcherSelector = $(selectors.siteSwitcherSelector);\n\t},\n\n\t_initSubscriptions: function () {\n\t\tsubscribe('/nav/navToggle', NavLoad._closeSearch);\n\t\tsubscribe('/nav/langToggle', NavLoad._closeSearch);\n\t\tsubscribe('/nav/siteSwitcher', NavLoad._closeSearch);\n\n\t\tsubscribe('/nav/navToggle', NavLoad._closeLang);\n\t\tsubscribe('/nav/searchToggle', NavLoad._closeLang);\n\t\tsubscribe('/nav/siteSwitcher', NavLoad._closeLang);\n\t},\n\n\t_initEvents: function () {\n\t\t$searchToggle.on('click', NavLoad._toggleSearch);\n\t\t$langToggle.on('click', NavLoad._toggleLang);\n\n\t\t$siteSwitcherSelector.on('click', NavLoad._toggleSiteSwitcher);\n\t\tKeybinding.bind('escape', NavLoad._closeSearch, true);\n\t},\n\n\t// publish search toggle event\n\t// show/hide site search dependant on current state\n\t// toggle class on search button\n\t_toggleSearch: function (event) {\n\t\tevent.preventDefault();\n\n\t\tvar state = NavLoad._getSearchState();\n\n\t\tpublish('/nav/searchToggle');\n\t\tif (state === States.OPENED) {\n\t\t\tNavLoad._closeSearch();\n\t\t} else {\n\t\t\tNavLoad._openSearch();\n\t\t}\n\t},\n\n\t_getSearchState: function () {\n\t\tvar expanded = $search.attr('aria-expanded');\n\t\tvar state;\n\n\t\tif (expanded === 'true') {\n\t\t\tstate = States.OPENED;\n\t\t} else if (expanded === 'false') {\n\t\t\tstate = States.CLOSED;\n\t\t} else {\n\t\t\tstate = States.INITIAL;\n\t\t}\n\n\t\treturn state;\n\t},\n\n\t_openSearch: function () {\n\t\t$search.attr('aria-expanded', true);\n\t\t$searchToggle.attr('aria-expanded', true);\n\n\t\tVelocity($search[0], 'slideDown', { duration: 250 });\n\t\tsetTimeout(function () {\n\t\t\t$search.find('.js-header__search-input').focus();\n\t\t}, 300);\n\t},\n\t_closeSearch: function () {\n\t\t$search.attr('aria-expanded', false);\n\t\t$searchToggle.attr('aria-expanded', false);\n\n\t\tVelocity($search[0], 'slideUp', { duration: 250 });\n\t},\n\n\t// focus on the search element\n\t_focusSearch: function (event) {\n\t\t$search.find('.js-header__search-input').focus();\n\t},\n\n\t_toggleLang: function (event) {\n\t\tevent.preventDefault();\n\t\tpublish('/nav/langToggle');\n\t\tif ($lang.attr('aria-expanded') === 'true') {\n\t\t\t$lang.attr('aria-expanded', false);\n\t\t} else {\n\t\t\t$lang.attr('aria-expanded', true);\n\t\t}\n\t\tif ($langToggle.attr('aria-expanded') === 'true') {\n\t\t\t$lang.attr('aria-exapnded', false);\n\t\t} else {\n\t\t\t$lang.attr('aria-expanded', true);\n\t\t}\n\t},\n\n\t// close language picker if open\n\t_closeLang: function () {\n\t\tif ($langToggle.attr('aria-expanded') === 'true') {\n\t\t\t$langToggle.trigger('click');\n\t\t}\n\t},\n\n\t_toggleSiteSwitcher: function (event) {\n\t\tevent.preventDefault();\n\t\tpublish('/nav/siteSwitcher');\n\n\t\tif ($siteSwitcher.attr('aria-expanded') === 'true') {\n\t\t\t$siteSwitcher.attr('aria-expanded', false);\n\t\t} else {\n\t\t\t$siteSwitcher.attr('aria-expanded', true);\n\t\t}\n\n\t},\n\n\t_closeSiteSwitcher: function () {\n\n\t\tif ($siteSwitcher.attr('aria-expanded') === 'true') {\n\t\t\tconsole.log(\"close\")\n\t\t\t$siteSwitcherSelector.trigger('click');\n\t\t}\n\t},\n\n\t_initMediaQueries: function () {\n\n\t\tMediaQueries.register([\n\t\t\t{\n\t\t\t\t// Bind Small Nav\n\t\t\t\tqueries: MediaQueries.queries['megamenu--small'],\n\t\t\t\tshouldDegrade: false,\n\t\t\t\tmatch: function () {\n\t\t\t\t\tNavSmall.init($nav, selectors, classes);\n\t\t\t\t},\n\t\t\t\tunmatch: function () {\n\t\t\t\t\tNavSmall.unbind($nav, selectors, classes);\n\t\t\t\t}\n\t\t\t}, {\n\t\t\t\t// Bind Large Nav\n\t\t\t\tqueries: MediaQueries.queries['megamenu--large'],\n\t\t\t\tshouldDegrade: true,\n\t\t\t\tmatch: function () {\n\t\t\t\t\tNavLarge.init($nav, selectors, classes);\n\t\t\t\t},\n\t\t\t\tunmatch: function () {\n\t\t\t\t\tNavLarge.unbind($nav, selectors, classes);\n\t\t\t\t}\n\t\t\t}\n\t\t]);\n\t}\n};\n\nexport { NavLoad }","import $ from 'jquery';\nimport Flickity from 'flickity';\nimport { MediaQueries } from 'Util/mediaqueries';\nimport { throttle } from 'Util/throttle';\nimport { debounce } from 'Util/debounce';\nimport 'flickity-as-nav-for';\n\nvar $rotators;\n\nvar selectors = {\n\twrapper: '.js-rotator__wrapper',\n\trotator: '.js-rotator',\n\n\tprev: '.js-rotator__prev',\n\tnext: '.js-rotator__next'\n};\n\nvar dataSelectors = {\n\tflickity: 'flickity-instance'\n};\n\nvar Rotator = {\n\tinit: function ($elms) {\n\t\tRotator._initElements($elms);\n\t\tRotator._initRotators();\n\t\tRotator._initEvents();\n\t},\n\n\t_initElements: function ($elms) {\n\t\t$rotators = $elms;\n\t},\n\n\t_initRotators: function () {\n\t\tvar i;\n\t\tvar $rotator;\n\n\t\tfor (i = 0; i < $rotators.length; i++) {\n\t\t\t$rotator = $rotators.eq(i);\n\t\t\tRotator._initRotator($rotator);\n\t\t}\n\t},\n\n\t_initRotator: function ($rotator) {\n\t\tvar rotatorType = $rotator.attr('data-rotator-type') || 'content';\n\t\tvar rotatorNav = $rotator.attr('data-rotator-nav') || '';\n\t\tvar settings = Rotator._getRotatorSettings($rotator, rotatorType, rotatorNav);\n\n\t\tvar toggler;\n\n\t\tif (settings.mediaquery) {\n\t\t\ttoggler = Rotator._createToggleHandler($rotator, settings);\n\t\t\twindow.addEventListener('resize', toggler);\n\t\t\ttoggler();\n\t\t} else {\n\t\t\tRotator._createRotator($rotator, settings);\n\t\t}\n\t},\n\n\t_createRotator: function ($rotator, settings) {\n\t\tvar thisFlick = new Flickity($rotator[0], settings);\n\t\t$rotator.data(dataSelectors.flickity, thisFlick);\n\n\t\tif (!settings.wrapAround) {\n\t\t\tthisFlick.on('change', Rotator._setArrowStates($rotator));\n\t\t}\n\n\t\treturn thisFlick;\n\t},\n\n\t_destroyRotator: function ($rotator) {\n\t\tvar thisFlick = $rotator.data(dataSelectors.flickity);\n\n\t\tthisFlick.destroy();\n\t\t$rotator.data(dataSelectors.flickity, null);\n\t},\n\n\t_createToggleHandler: function ($rotator, settings) {\n\t\tvar rhythm = 200; // ms\n\n\t\tvar toggler = function (e) {\n\t\t\tvar mediaquery = settings.mediaquery;\n\t\t\tvar shouldBeActive = window.matchMedia(mediaquery).matches;\n\t\t\tvar isActive = !!$rotator.data(dataSelectors.flickity);\n\n\t\t\tif (shouldBeActive !== isActive) {\n\t\t\t\tif (shouldBeActive) {\n\t\t\t\t\tRotator._createRotator($rotator, settings);\n\t\t\t\t} else {\n\t\t\t\t\tRotator._destroyRotator($rotator);\n\t\t\t\t}\n\t\t\t}\n\t\t};\n\n\t\tvar throttledToggler = throttle(toggler, rhythm);\n\t\tvar debouncedToggler = debounce(toggler, rhythm);\n\n\t\tvar limitedToggler = function (e) {\n\t\t\tthrottledToggler.apply(this, arguments);\n\t\t\tdebouncedToggler.apply(this, arguments);\n\t\t};\n\n\t\treturn limitedToggler;\n\t},\n\n\t_initEvents: function () {\n\t\t$(selectors.prev).on('click', Rotator._prev);\n\t\t$(selectors.next).on('click', Rotator._next);\n\t},\n\n\t// Return the settings for the type of rotator that has been initialised\n\t// These can be edited, and new types can be added\n\t// Documentation for the options can be found here: https://flickity.metafizzy.co/\n\t_getRotatorSettings: function ($rotator, rotatorType, rotatorNav) {\n\t\tvar settings;\n\t\tvar arrowShape = {\n\t\t\tx0: 10,\n\t\t\tx1: 60, y1: 50,\n\t\t\tx2: 65, y2: 45,\n\t\t\tx3: 20\n\t\t};\n\t\tvar hasMany = $rotator.find('.c-hero').length > 1;\n\n\t\tswitch (rotatorType) {\n\n\t\t\tcase 'image':\n\t\t\t\tsettings = {\n\t\t\t\t\tprevNextButtons: false,\n\t\t\t\t\tautoPlay: false,\n\t\t\t\t\twrapAround: false,\n\t\t\t\t\tlazyLoad: true\n\t\t\t\t};\n\t\t\t\tbreak;\n\n\t\t\tcase 'gallery':\n\t\t\t\tsettings = {\n\t\t\t\t\tarrowShape: arrowShape,\n\t\t\t\t\twrapAround: true,\n\t\t\t\t\tlazyLoad: 1,\n\t\t\t\t\tpageDots: false\n\t\t\t\t};\n\t\t\t\tbreak;\n\n\t\t\tcase 'carousel':\n\t\t\t\tsettings = {\n\t\t\t\t\tarrowShape: arrowShape,\n\t\t\t\t\twrapAround: true,\n\t\t\t\t\tlazyLoad: 6,\n\t\t\t\t\tcellAlign: 'left'\n\t\t\t\t};\n\t\t\t\tbreak;\n\n\t\t\tcase 'experience':\n\t\t\t\tsettings = {\n\t\t\t\t\tprevNextButtons: false,\n\t\t\t\t\twrapAround: true,\n\t\t\t\t\tlazyLoad: 3,\n\t\t\t\t\tpageDots: false,\n\t\t\t\t\tcellAlign: 'left'\n\t\t\t\t};\n\t\t\t\tbreak;\n\n\t\t\tcase 'accommodation':\n\t\t\t\tsettings = {\n\t\t\t\t\tprevNextButtons: false,\n\t\t\t\t\twrapAround: true,\n\t\t\t\t\tlazyLoad: 3,\n\t\t\t\t\tpageDots: false,\n\t\t\t\t\tcellAlign: 'left'\n\t\t\t\t};\n\t\t\t\tbreak;\n\n\t\t\tcase 'gallery-nav':\n\n\t\t\t\tif (rotatorNav !== \"\") {\n\n\t\t\t\t\tsettings = {\n\t\t\t\t\t\tasNavFor: rotatorNav,\n\t\t\t\t\t\tpageDots: false,\n\t\t\t\t\t\tcontain: true\n\t\t\t\t\t};\n\t\t\t\t}\n\n\t\t\t\tbreak;\n\n\t\t\tcase 'testimonials':\n\t\t\t\tsettings = {\n\t\t\t\t\tarrowShape: arrowShape,\n\t\t\t\t\twrapAround: true,\n\t\t\t\t\tlazyLoad: true,\n\t\t\t\t\tpageDots: false\n\t\t\t\t};\n\t\t\t\tbreak;\n\n\t\t\tcase 'benefits-carousel':\n\t\t\t\tsettings = {\n\t\t\t\t\tprevNextButtons: false,\n\t\t\t\t\tautoPlay: false,\n\t\t\t\t\twrapAround: false,\n\t\t\t\t\tcontain: true,\n\t\t\t\t\tpageDots: false,\n\t\t\t\t\tcellAlign: 'left'\n\t\t\t\t};\n\t\t\t\tbreak;\n\n\t\t\tcase 'button-filter':\n\t\t\t\tsettings = {\n\t\t\t\t\tprevNextButtons: false,\n\t\t\t\t\tautoPlay: false,\n\t\t\t\t\twrapAround: false,\n\t\t\t\t\tlazyLoad: false,\n\t\t\t\t\tpageDots: false,\n\n\t\t\t\t\tmediaquery: MediaQueries.queries['button-filter-carousel']\n\t\t\t\t};\n\t\t\t\tbreak;\n\n\t\t\tdefault:\n\t\t\t\tsettings = {\n\t\t\t\t\tprevNextButtons: false,\n\t\t\t\t\tautoPlay: false,\n\t\t\t\t\twrapAround: false,\n\t\t\t\t\tlazyLoad: true,\n\t\t\t\t\tpageDots: hasMany\n\t\t\t\t};\n\t\t}\n\t\treturn settings;\n\t},\n\n\t_prev: function (e) {\n\t\tvar $wrapper = $(e.target).closest(selectors.wrapper);\n\t\tvar $rotator = $wrapper.find(selectors.rotator);\n\t\tvar flick = $rotator.data(dataSelectors.flickity);\n\n\t\tflick.previous();\n\t},\n\n\t_next: function (e) {\n\t\tvar $wrapper = $(e.target).closest(selectors.wrapper);\n\t\tvar $rotator = $wrapper.find(selectors.rotator);\n\t\tvar flick = $rotator.data(dataSelectors.flickity);\n\n\t\tflick.next();\n\t},\n\n\t_setArrowStates: function ($rotator) {\n\t\tvar $wrapper = $rotator.closest(selectors.wrapper);\n\t\tvar $prev = $wrapper.find(selectors.prev);\n\t\tvar $next = $wrapper.find(selectors.next);\n\n\t\treturn function (index) {\n\t\t\tvar flick = this;\n\t\t\tvar length = flick.slides.length;\n\n\t\t\tvar isFirst = index === 0;\n\t\t\tvar isLast = index >= length - 1;\n\n\t\t\t$prev.prop('disabled', isFirst);\n\t\t\t$next.prop('disabled', isLast);\n\t\t}\n\t}\n};\n\nexport { Rotator }","import $ from 'jquery';\nimport { activate } from 'Util/activate';\nimport { publish, unpublish, subscribe } from 'Util/pubsub';\n\nimport 'velocity';\n\nvar selectors = {\n\titem: '.js-expand-collapse',\n\n\ttoggle: '.js-expand-collapse__toggle, .js-expand-collapse__trigger',\n\topen: '.js-expand-collapse__open',\n\tclose: '.js-expand-collapse__close',\n\n\tbody: '.js-expand-collapse__item-body'\n};\n\nselectors.trigger = [selectors.toggle, selectors.open, selectors.close].join(', ');\nObject.freeze(selectors);\n\nvar classes = Object.freeze({\n\tallowAnimations: 'allow-animations'\n});\n\nvar dataAttributes = Object.freeze({\n\tautofocusId: 'data-expand-collapse-autofocus',\n\t// Used to account for CSS animation delaying when an element becomes focusable\n\tautofocusDelay: 'data-expand-collapse-autofocus-delay',\n\n\t// No more than one item in a set can be opened at a time\n\t// Items can belong to multiple sets, with set names separated\n\t// by the \"setSeparator\" string declared below\n\tset: 'data-expand-collapse-set',\n\n\topenedText: 'data-expand-collapse-opened-text',\n\tclosedText: 'data-expand-collapse-closed-text',\n\n\tanimation: 'data-expand-collapse-animation',\n\n\tuseHidden: 'data-expand-collapse-use-hidden',\n\tuseCurrent: 'data-expand-collapse-use-current',\n\n\t// Part of a different component\n\tlazyload: 'lazyload-triggered'\n});\n\nvar setSeparator = ' ';\n\nvar pubsubEvents = Object.freeze({\n\topen: '/expandcollapse/open',\n\topened: '/expandcollapse/opened',\n\n\tclose: '/expandcollapse/close',\n\tclosed: '/expandcollapse/closed',\n\n\tcloseSet: '/expandcollapse/close/set', // Close a set\n\tsetClosed: '/expandcollapse/closed/set' // A set has been closed\n});\n\nvar States = Object.freeze({\n\tINITIAL: 'initial',\n\tOPENED: 'opened',\n\tCLOSED: 'closed'\n});\n\nvar stateAttributes = Object.freeze({\n\texpanded: 'aria-expanded',\n\thidden: 'aria-hidden',\n\n\tcurrent: 'aria-current'\n});\n\nvar ExpandCollapse = {\n\tinit: function () {\n\t\tExpandCollapse._initEvents();\n\t\tExpandCollapse._initSubscriptions();\n\t},\n\n\t_initEvents: function () {\n\t\t$(document).on(activate.event, selectors.trigger, activate(ExpandCollapse._processTriggerClick));\n\t},\n\n\t_initSubscriptions: function () {\n\t\tsubscribe(pubsubEvents.open, ExpandCollapse._open);\n\t\tsubscribe(pubsubEvents.close, ExpandCollapse._close);\n\t\tsubscribe(pubsubEvents.closeSet, ExpandCollapse._closeSet);\n\t},\n\n\t_processTriggerClick: function (e) {\n\t\t// The expand/collapse trigger for a single item\n\n\t\te.preventDefault();\n\n\t\tvar $trigger = $(e.target).closest(selectors.trigger);\n\t\tvar $item = ExpandCollapse._getTriggerItem($trigger);\n\n\t\tif ($trigger.is(selectors.toggle)) {\n\t\t\tExpandCollapse._toggleItem($item);\n\t\t} else if ($trigger.is(selectors.open)) {\n\t\t\tExpandCollapse._setState($item, States.OPENED);\n\t\t} else if ($trigger.is(selectors.close)) {\n\t\t\tExpandCollapse._setState($item, States.CLOSED);\n\t\t}\n\t},\n\n\t_toggleItem: function ($item) {\n\t\t// Toggle an item's state between opened and closed\n\t\tvar state;\n\n\t\t// Detect the current state so we can infer the action from that\n\t\tstate = ExpandCollapse._getState($item);\n\n\t\tif (state === States.CLOSED || state === States.INITIAL) {\n\t\t\t// Currently closed, so open it\n\t\t\t// Treat unspecified initial states as closed\n\t\t\tExpandCollapse._setState($item, States.OPENED);\n\t\t} else if (state === States.OPENED) {\n\t\t\t// Currently opened, so close it\n\t\t\tExpandCollapse._setState($item, States.CLOSED);\n\t\t}\n\t},\n\n\t_getTriggerItem: function ($trigger) {\n\t\tvar $item;\n\t\tvar target = $trigger.attr('aria-controls');\n\n\t\t// If there is an aria-controls attribute, use that\n\t\tif (target) {\n\t\t\t$item = $('#' + target);\n\t\t}\n\n\t\t// Otherwise, use HTML structure\n\t\tif (!($item && $item.length)) {\n\t\t\t$item = $trigger.closest(selectors.item);\n\t\t}\n\n\t\treturn $item;\n\t},\n\n\t_getItemTriggers: function ($item) {\n\t\tvar $idTriggers;\n\t\tvar $childTriggers;\n\t\tvar $trigger = $();\n\t\tvar id = $item.attr('id');\n\n\t\tvar $triggers;\n\t\tvar triggerGroups = {\n\t\t\topen: [],\n\t\t\tclose: [],\n\t\t\ttoggle: []\n\t\t};\n\n\t\t// Triggers using the aria-controls attribute\n\t\tif (id) {\n\t\t\t$idTriggers = $(selectors.trigger);\n\n\t\t\t$idTriggers = $idTriggers.filter('[aria-controls=\"' + id + '\"]');\n\t\t} else {\n\t\t\t$idTriggers = $();\n\t\t}\n\n\t\t// Triggers using HTML structure\n\t\t$childTriggers = $item.find(selectors.trigger).filter(function () {\n\t\t\treturn $(this).closest(selectors.item).is($item);\n\t\t});\n\n\t\t$triggers = $idTriggers.add($childTriggers);\n\n\t\ttriggerGroups.all = $triggers;\n\t\ttriggerGroups.open = $triggers.filter(selectors.open);\n\t\ttriggerGroups.close = $triggers.filter(selectors.close);\n\t\ttriggerGroups.toggle = $triggers.filter(selectors.toggle);\n\n\t\treturn triggerGroups;\n\t},\n\n\t_getState: function ($item) {\n\t\tvar usingHidden = $item.attr(dataAttributes.useHidden);\n\n\t\tvar stateAttr = stateAttributes.expanded;\n\t\tvar closedVal = 'false';\n\t\tvar openedVal = 'true';\n\n\t\tif (usingHidden) {\n\t\t\tstateAttr = stateAttributes.hidden;\n\t\t\tclosedVal = 'true';\n\t\t\topenedVal = 'false';\n\t\t}\n\n\t\tif ($item.attr(stateAttr) === closedVal) {\n\t\t\t// Closed\n\t\t\treturn States.CLOSED;\n\t\t} else if ($item.attr(stateAttr) === openedVal) {\n\t\t\t// Opened\n\t\t\treturn States.OPENED;\n\t\t} else {\n\t\t\t// Default/Initial\n\t\t\treturn States.INITIAL;\n\t\t}\n\t},\n\n\t_open: function ($item) {\n\t\tExpandCollapse._setState($item, States.OPENED);\n\t},\n\n\t_close: function ($item) {\n\t\tExpandCollapse._setState($item, States.CLOSED);\n\t},\n\n\t_setState: function ($item, state) {\n\t\tvar priorState = ExpandCollapse._getState($item);\n\n\t\tif (priorState === state) {\n\t\t\treturn;\n\t\t}\n\n\t\tvar $body = $item.find(selectors.body);\n\n\t\tvar expandedAttr = stateAttributes.expanded;\n\t\tvar openedVal = 'true';\n\t\tvar closedVal = 'false';\n\n\t\tvar useHidden = $item.attr(dataAttributes.useHidden);\n\t\tif (useHidden) {\n\t\t\texpandedAttr = stateAttributes.hidden;\n\t\t\topenedVal = 'false';\n\t\t\tclosedVal = 'true';\n\t\t}\n\n\t\tif (state === States.OPENED) {\n\t\t\t// Close the whole set first\n\t\t\tExpandCollapse._closeSet($item);\n\n\t\t\t// Set to opened state\n\t\t\t$item.attr(expandedAttr, openedVal);\n\n\t\t\tif ($item.attr(dataAttributes.animation) === 'slideDown') {\n\t\t\t\t$body.velocity('slideDown', { duration: 250 });\n\t\t\t}\n\n\t\t\tExpandCollapse._setStateTriggers($item, state);\n\n\t\t\tExpandCollapse._processOpen($item);\n\t\t\tpublish(pubsubEvents.opened, [$item, $item.attr(dataAttributes.set)]);\n\t\t} else if (state === States.CLOSED) {\n\t\t\t// Set to closed state\n\t\t\t$item.attr(expandedAttr, closedVal);\n\n\t\t\tif ($item.attr(dataAttributes.animation) === 'slideDown') {\n\t\t\t\t$body.velocity('slideUp', { duration: 250 });\n\t\t\t}\n\n\t\t\tExpandCollapse._setStateTriggers($item, state);\n\n\t\t\tExpandCollapse._processClose($item);\n\t\t\tpublish(pubsubEvents.closed, [$item, $item.attr(dataAttributes.set)]);\n\t\t} else if (state === States.INITIAL) {\n\t\t\t// Remove state signifiers\n\t\t\t$item.removeAttr(expandedAttr);\n\n\t\t\tExpandCollapse._setStateTriggers($item, state);\n\t\t}\n\n\t\t// The first time an item's state is updated, allow animations\n\t\tif ($item.hasClass(classes.allowAnimations) === false) {\n\t\t\t$item.addClass(classes.allowAnimations);\n\t\t}\n\t},\n\n\t_setStateTriggers: function ($item, state) {\n\t\tvar $triggers = ExpandCollapse._getItemTriggers($item).all;\n\n\t\t$triggers.each(ExpandCollapse._setStateTrigger(state));\n\t},\n\n\t_setStateTrigger: function (state) {\n\t\treturn function (i, trigger) {\n\t\t\tvar $trigger = $(trigger);\n\n\t\t\tvar stateAttr = stateAttributes.expanded;\n\t\t\tvar useCurrent = $trigger.attr(dataAttributes.useCurrent);\n\n\t\t\tif (useCurrent) {\n\t\t\t\tstateAttr = stateAttributes.current;\n\t\t\t}\n\n\t\t\tif (state === States.OPENED) {\n\t\t\t\t$trigger.attr(stateAttr, 'true');\n\t\t\t} else if (state === States.CLOSED) {\n\t\t\t\t$trigger.attr(stateAttr, 'false');\n\t\t\t} else if (state === States.INITIAL) {\n\t\t\t\t$trigger.removeAttr(stateAttr);\n\t\t\t}\n\t\t};\n\t},\n\n\t_closeSet: function (set) {\n\t\tvar $item;\n\t\tvar $setItems;\n\t\tvar $setItem;\n\t\tvar i;\n\n\t\tif (set && set.jquery) {\n\t\t\t// If a jQuery object was passed through\n\t\t\t$item = set;\n\t\t\tset = $item.attr(dataAttributes.set);\n\t\t}\n\n\t\tif (!set) {\n\t\t\treturn;\n\t\t}\n\n\t\tset = set.split(setSeparator);\n\t\tif (set.length > 1) {\n\t\t\tfor (i = 0; i < set.length; i++) {\n\t\t\t\tExpandCollapse._closeSet(set[i]);\n\t\t\t}\n\t\t\treturn;\n\t\t} else {\n\t\t\tset = set[0].trim();\n\t\t}\n\n\t\tpublish(pubsubEvents.setClosed, [set]);\n\n\t\t$setItems = $('[' + dataAttributes.set + ']').filter(ExpandCollapse._isInSet(set));\n\t\tif ($item && $item.length) {\n\t\t\t// If an item has been passed through, it is being opened,\n\t\t\t// so only close other items in this set\n\t\t\t$setItems = $setItems.not($item);\n\t\t}\n\n\t\tfor (i = 0; i < $setItems.length; i++) {\n\t\t\t$setItem = $setItems.eq(i);\n\t\t\tif (ExpandCollapse._getState($setItem) === States.OPENED) {\n\t\t\t\tExpandCollapse._setState($setItem, States.CLOSED);\n\t\t\t}\n\t\t}\n\t},\n\n\t_isInSet: function (set) {\n\t\treturn function (i, el) {\n\t\t\tvar $item = $(el);\n\t\t\tvar itemSet = $item.attr(dataAttributes.set);\n\n\t\t\titemSet = itemSet.split(setSeparator);\n\n\t\t\treturn itemSet.indexOf(set) !== -1;\n\t\t};\n\t},\n\n\t_processOpen: function ($item) {\n\t\t// Run when an item enters the opened state\n\n\t\tvar autofocusId;\n\t\tvar autofocusDelay;\n\t\tvar $autofocusTarget;\n\n\t\t// When this first opens, make sure any lazyload images inside are told to load\n\t\tif (!$item.attr(dataAttributes.lazyload)) {\n\t\t\t$item.find('.js-lazy-auto').trigger('appear');\n\t\t}\n\t\t$item.attr(dataAttributes.lazyload, true);\n\n\t\tautofocusId = $item.attr(dataAttributes.autofocusId);\n\t\tif (autofocusId) {\n\t\t\tautofocusDelay = parseInt($item.attr(dataAttributes.autofocusDelay), 10);\n\t\t\t$autofocusTarget = $('#' + autofocusId);\n\n\t\t\tif (autofocusDelay) {\n\t\t\t\twindow.setTimeout(function () {\n\t\t\t\t\t$autofocusTarget[0].focus();\n\t\t\t\t}, autofocusDelay);\n\t\t\t} else {\n\t\t\t\t$autofocusTarget[0].focus();\n\t\t\t}\n\t\t}\n\n\t\twindow.setTimeout(function () {\n\t\t\t$item.removeAttr('aria-live');\n\t\t}, 100);\n\t},\n\n\t_processClose: function ($item) {\n\t\t// Run when an item enters the closed state\n\n\t\twindow.setTimeout(function () {\n\t\t\t$item.attr('aria-live', 'polite');\n\t\t}, 100);\n\t}\n};\n\nexport { ExpandCollapse }","import $ from 'jquery';\nimport { publish, unpublish, subscribe } from 'Util/pubsub';\n\nvar MapControl;\nvar $maps;\n\nvar dataAttributes = Object.freeze({\n\tlat: 'data-lat',\n\tlng: 'data-lng',\n\tlatLng: 'data-latlng',\n\tzoom: 'data-zoom'\n});\n\nvar MapControl = {\n\tinit: function ($elms) {\n\t\tMapControl = this;\n\t\t$maps = $elms.filter('[data-map-type=\"control\"]');\n\n\t\tMapControl._initSubscriptions();\n\t},\n\n\t_initSubscriptions: function () {\n\t\tsubscribe('/map/apiLoaded', MapControl._processMaps);\n\t},\n\n\t_processMaps: function () {\n\n\t\tfor (var i = 0; i < $maps.length; i++) {\n\t\t\tvar mapCanvas = $maps[i];\n\t\t\tvar $thisMap = $maps.eq(i);\n\n\t\t\tvar zoom = parseInt($thisMap.attr(dataAttributes.zoom), 10) || 16;\n\n\t\t\tvar latitude = parseFloat($thisMap.attr(dataAttributes.lat));\n\t\t\tvar longitude = parseFloat($thisMap.attr(dataAttributes.lng));\n\n\t\t\t// Sometimes data-lat and data-lng aren't there, but data-latlng is\n\t\t\tvar coords = $thisMap.attr(dataAttributes.latLng);\n\t\t\tcoords = coords.split(',');\n\t\t\tcoords = coords.map(function (el) {\n\t\t\t\treturn parseFloat(el.trim());\n\t\t\t});\n\t\t\tconsole.log(coords);\n\t\t\tvar latLng;\n\t\t\tif (latitude && longitude) {\n\t\t\t\tlatLng = new google.maps.LatLng(latitude, longitude);\n\t\t\t} else {\n\t\t\t\tlatLng = new google.maps.LatLng(coords[0], coords[1]);\n\t\t\t}\n\n\t\t\tvar mapOptions = {\n\t\t\t\tzoom: zoom || 12,\n\t\t\t\tcenter: latLng,\n\t\t\t\tdraggable: !Modernizr.touchevents,\n\t\t\t\tstreetViewControl: false,\n\t\t\t\tscrollwheel: false,\n\t\t\t\tmapTypeControl: true,\n\t\t\t\tpanControl: false,\n\t\t\t\tpanControlOptions: {\n\t\t\t\t\tposition: google.maps.ControlPosition.LEFT_CENTER\n\t\t\t\t},\n\t\t\t\tzoomControl: true,\n\t\t\t\tzoomControlOptions: {\n\t\t\t\t\tstyle: google.maps.ZoomControlStyle.LARGE,\n\t\t\t\t\tposition: google.maps.ControlPosition.RIGHT_BOTTOM\n\t\t\t\t}\n\t\t\t};\n\n\t\t\tvar map = new google.maps.Map(mapCanvas, mapOptions);\n\n\t\t\tvar marker = new google.maps.Marker({\n\t\t\t\tposition: latLng,\n\t\t\t\tmap: map\n\t\t\t});\n\t\t}\n\t}\n};\n\nexport { MapControl };","import $ from 'jquery';\nimport { publish, unpublish, subscribe } from 'Util/pubsub';\nimport { MapControl } from 'App/map/map.control';\n\nvar MapLoad;\n\n// We use the 'Whitesite' account in the Terabyte Stats Google account Developer console\n// This needs to be updated to a client account attached to their billing account before go-live\nvar apiKey = window._googleApiKey;\nvar apiLoaded = false;\nvar google;\nvar $maps;\n\nvar MapLoad = {\n\tinit: function ($elms) {\n\t\tif (!apiKey) {\n\t\t\t// Can't do anything without an API Key\n\t\t\tconsole.error('Google API Key was not found (configure in CMS settings)');\n\t\t\treturn;\n\t\t}\n\n\t\tMapLoad = this;\n\t\t$maps = $elms;\n\n\t\tvar $firstMap = $maps.eq(0);\n\n\t\t// If only interactive map is on page initialise the module for this\n\t\t// The MapInteractive module will only load the API code if the map is toggled to display\n\t\t// Otherwise load API and init MapControl module\n\t\tif ($maps.length) {\n\t\t\tif ($maps.length === 1 && $firstMap.attr('data-map-type') === 'interactive') {\n\t\t\t\tMapInteractive.init($firstMap);\n\t\t\t} else {\n\t\t\t\tMapControl.init($maps);\n\t\t\t}\n\t\t\tMapLoad.loadApi();\n\t\t}\n\t},\n\n\t// Load Google Maps API version 3\n\tloadApi: function () {\n\t\t$.getScript('https://www.google.com/jsapi', function () {\n\t\t\twindow.google.load('maps', '3', {\n\t\t\t\tother_params: '&key=' + apiKey,\n\t\t\t\tcallback: MapLoad.mapApiLoaded\n\t\t\t});\n\t\t});\n\t},\n\n\t// Callback function once API is loaded\n\tmapApiLoaded: function () {\n\t\tapiLoaded = true;\n\t\tgoogle = window.google;\n\n\t\tpublish('/map/apiLoaded');\n\t},\n\n\t// Utility function to return API status and google object\n\tgetMapApiStatus: function () {\n\t\treturn {\n\t\t\tloaded: apiLoaded,\n\t\t\tgoogle: google\n\t\t};\n\t}\n};\n\nexport { MapLoad }","import $ from 'jquery';\nimport { MediaQueries } from 'Util/mediaqueries';\nimport { publish, unbublish, subscribe } from 'Util/pubsub';\n\nvar BackToTop;\nvar $window;\nvar $backButton;\n\nvar BackToTop = {\n\tinit: function () {\n\t\tBackToTop = this;\n\t\t$window = $(window);\n\t\t$backButton = $('.js-back-to-top');\n\t\tBackToTop._initEvent();\n\t\tBackToTop._initMediaQueries();\n\t},\n\n\t_initEvent: function () {\n\t\twindow.addEventListener('scroll', BackToTop._buttonStatusCheck);\n\t\t$backButton.click(function (event) {\n\t\t\tevent.preventDefault();\n\t\t\t$('body,html').animate({\n\t\t\t\tscrollTop: 0\n\t\t\t}, 800);\n\t\t\treturn false;\n\t\t});\n\t},\n\n\t_initMediaQueries: function () {\n\t\tMediaQueries.register([\n\t\t\t{\n\t\t\t\tqueries: MediaQueries.queries['megamenu--small'],\n\t\t\t\tshouldDegrade: false,\n\t\t\t\tmatch: function () {\n\t\t\t\t\t//subscribe('/window/scroll', BackToTop._buttonStatusCheck);\n\t\t\t\t},\n\t\t\t\tunmatch: function () {\n\t\t\t\t\t//unsubscribe('/window/scroll', BackToTop._buttonStatusCheck);\n\t\t\t\t}\n\t\t\t},\n\t\t\t{\n\t\t\t\tqueries: MediaQueries.queries['megamenu--large'],\n\t\t\t\tshouldDegrade: true,\n\t\t\t\tmatch: function () {\n\t\t\t\t\tvar bodyContainerHeight = $('body').outerHeight() - $('.js-footer').outerHeight();\n\t\t\t\t\tif (bodyContainerHeight > 1500) {\n\t\t\t\t\t\t$backButton.addClass('sticky-on-desktop');\n\t\t\t\t\t}\n\t\t\t\t\telse {\n\t\t\t\t\t\t$backButton.removeClass('sticky-on-desktop');\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\tunmatch: function () {\n\n\t\t\t\t}\n\t\t\t}\n\t\t]);\n\t},\n\n\t_buttonStatusCheck: function () {\n\t\tvar newTopPos = $window.scrollTop();\n\n\t\tvar hasAnimationBanner = $(\".js-animation-banner\").length;\n\n\t\tif (hasAnimationBanner) {\n\t\t\tvar animationBannerHeight = $(\".js-animation-banner\").outerHeight();\n\n\t\t\tif (newTopPos > (animationBannerHeight + 50)) {\n\t\t\t\tif (!$backButton.hasClass('fade-in')) {\n\t\t\t\t\t$backButton.addClass('fade-in');\n\t\t\t\t}\n\t\t\t}\n\t\t\telse {\n\t\t\t\t$backButton.removeClass('fade-in');\n\t\t\t}\n\n\t\t} else {\n\t\t\tif (newTopPos > 300) {\n\t\t\t\tif (!$backButton.hasClass('fade-in')) {\n\t\t\t\t\t$backButton.addClass('fade-in');\n\t\t\t\t}\n\t\t\t}\n\t\t\telse {\n\t\t\t\t$backButton.removeClass('fade-in');\n\t\t\t}\n\t\t}\n\t}\n};\n\nexport { BackToTop };","import $ from 'jquery';\nimport { publish, unpublish, subscribe } from 'Util/pubsub';\n\nvar selectors = Object.freeze({\n\tcontainer: '.js-expand-collapse__modal'\n});\n\nvar ExpandCollapseModal = {\n\tinit: function () {\n\t\tExpandCollapseModal._initEvents();\n\t},\n\n\t_initEvents: function () {\n\t\t$(document).on('focusin', ExpandCollapseModal._closeOnFocusLost);\n\t},\n\n\t_closeOnFocusLost: function (e) {\n\t\tvar $activeElement = $(document.activeElement);\n\t\tvar isOpen = ExpandCollapseModal._isOpen();\n\n\t\tif (isOpen) {\n\t\t\tif ($activeElement.closest(selectors.container).length === 0) {\n\t\t\t\tExpandCollapseModal._close();\n\t\t\t}\n\t\t}\n\t},\n\n\t_isOpen: function () {\n\t\tvar $container = $(selectors.container);\n\t\tvar isOpen = $container.attr('aria-expanded') === 'true';\n\n\t\treturn isOpen;\n\t},\n\n\t_close: function () {\n\t\tvar $container = $(selectors.container);\n\n\t\tpublish('/expandcollapse/close', [$container]);\n\t}\n};\n\nexport { ExpandCollapseModal };","import $ from 'jquery';\nimport { publish, unpublish, subscribe } from 'Util/pubsub';\n\nvar selectors = Object.freeze({\n\tselect: '.js-expand-collapse__select'\n});\n\nvar events = Object.freeze({\n\topen: '/expandcollapse/open'\n});\n\nvar ExpandCollapseSelect = {\n\tinit: function () {\n\t\tExpandCollapseSelect._initEvents();\n\n\t\tExpandCollapseSelect._initStateEach();\n\t},\n\n\t_initEvents: function () {\n\t\t$(document)\n\t\t\t.on('change', selectors.select, ExpandCollapseSelect._selectEvent);\n\t},\n\n\t_selectEvent: function (e) {\n\t\tvar $select = $(e.target).closest(selectors.select);\n\t\tExpandCollapseSelect._select($select);\n\t},\n\n\t_select: function ($select) {\n\t\tvar values = $select.val().split(',');\n\t\tvar i;\n\t\tvar value;\n\n\t\tfor (i = 0; i < values.length; i++) {\n\t\t\tvalue = values[i];\n\n\t\t\tExpandCollapseSelect._selectById(value);\n\t\t}\n\t},\n\n\t_selectById: function (id) {\n\t\tvar $target = $('#' + id);\n\n\t\tif ($target.length) {\n\t\t\tpublish(events.open, [$target]);\n\t\t}\n\t},\n\n\t_initStateEach: function () {\n\t\tvar $select = $(selectors.select);\n\t\t$select.each(ExpandCollapseSelect._initState);\n\t},\n\n\t_initState: function (i, el) {\n\t\tvar $select = $(el);\n\n\t\tExpandCollapseSelect._select($select);\n\t}\n};\n\nexport { ExpandCollapseSelect };\n","import $ from 'jquery';\nimport { publish, unpublish, subscribe } from 'Util/pubsub';\n\nvar selectors = {\n\tplayer: '.js-video-player',\n\tcover: '.js-video-cover'\n};\n\nvar dataSelectors = {\n\toriginalMarkup: 'video-original-markup'\n};\n\nvar VideoPlayer = {\n\tinit: function () {\n\t\tVideoPlayer._initEvents();\n\t\tVideoPlayer._initSubscriptions();\n\t},\n\n\t_initEvents: function () {\n\t\t// Important to delegate the event so restoring\n\t\t// original markup later won't break the events\n\t\t$(document).on('click', selectors.player + ' ' + selectors.cover, VideoPlayer._loadVideo);\n\t},\n\n\t_initSubscriptions: function () {\n\t\tsubscribe('/modal/opened', VideoPlayer._handleModalOpen);\n\t\tsubscribe('/modal/closed', VideoPlayer._handleModalClose);\n\t},\n\n\t// Retrieve embed URL from link\n\t// Create iframe embed element\n\t// Insert iframe into player element\n\t// Add class to cover to control its appearance\n\t_loadVideo: function (event) {\n\t\tevent.preventDefault();\n\t\tvar $cover = $(this);\n\t\tvar embedSrc = $cover.attr('href');\n\t\tvar $embedElm = $('<iframe src=\"' + embedSrc + '?autoplay=1&rel=0\" frameborder=\"0\" webkitallowfullscreen mozallowfullscreen allowfullscreen></iframe>');\n\t\tvar $player = $cover.closest(selectors.player);\n\n\t\t$player.prepend($embedElm);\n\t\t$cover.addClass('is-playing');\n\t},\n\n\t_handleModalOpen: function (modal) {\n\t\tvar $modal = $(modal);\n\t\tvar $player = $modal.find(selectors.player);\n\n\t\tif ($player.length) {\n\t\t\t$player.each(VideoPlayer._handleModalOpenPlayer);\n\t\t}\n\t},\n\n\t_handleModalOpenPlayer: function (i, el) {\n\t\tvar $player = $(el);\n\t\tvar $cover = $player.find(selectors.cover);\n\t\tvar originalMarkup = $player.html();\n\t\t$player.data(dataSelectors.originalMarkup, originalMarkup);\n\n\t\t// Automatically load the video, to remove the need for an extra click\n\t\t$cover.trigger('click');\n\t},\n\n\t_handleModalClose: function (modal) {\n\t\tvar $modal = $(modal);\n\t\tvar $player = $modal.find(selectors.player);\n\n\t\tif ($player.length) {\n\t\t\t$player.each(VideoPlayer._handleModalClosePlayer);\n\n\t\t}\n\t},\n\n\t_handleModalClosePlayer: function (e, el) {\n\t\tvar $player = $(el);\n\t\tvar originalMarkup = $player.data(dataSelectors.originalMarkup);\n\n\t\t// In order to stop video from continuing to play, remove the markup\n\t\t$player.html(originalMarkup);\n\t}\n};\n\nexport { VideoPlayer }","import $ from 'jquery';\nimport { Popup } from 'App/popup/popup';\n\nvar Social = {\n\tinit: function () {\n\t\tSocial = this;\n\t\t$('.js-social-popup').on('click', this._processClick);\n\t\t$('.js-social-print').on('click', this._printPage);\n\t},\n\n\t_processClick: function (event) {\n\t\tevent.preventDefault();\n\t\tvar $thisLink = $(this);\n\t\tvar width = $thisLink.attr('data-social-width') ? $thisLink.attr('data-social-width') : 550;\n\t\tvar height = $thisLink.attr('data-social-height') ? $thisLink.attr('data-social-height') : 450;\n\n\t\tPopup.open(this.href, width, height);\n\t},\n\n\t_printPage: function (event) {\n\t\tevent.preventDefault();\n\t\twindow.print();\n\t}\n};\n\nexport { Social };","var Popup = {\n\topen: function (url, width, height) {\n\t\tvar newwindow = window.open(url, 'name', 'height=' + height + ', width=' + width);\n\t\tif (window.focus) {\n\t\t\tnewwindow.focus();\n\t\t}\n\t}\n};\n\nexport { Popup };","import $ from 'jquery';\nimport 'selectric'\n\nvar selectors = Object.freeze({\n\tselect: '.js-select-custom'\n});\n\nvar SelectCustom = {\n\tinit: function () {\n\t\t$(selectors.select).selectric();\n\t}\n};\n\nexport { SelectCustom };","/* app/ui/expand-collapse/expand-collapse */\n\nimport $ from 'jquery';\nimport Velocity from 'velocity-animate';\nimport { activate } from 'Util/activate';\nimport { publish, unpublish, subscribe } from 'Util/pubsub';\n\nvar selectors = {\n\tlist: '.js-faq__list',\n\titem: '.js-faq',\n\ttoggle: '.js-faq__toggle, .js-faq__trigger',\n\topen: '.js-faq__open',\n\tclose: '.js-faq__close',\n\tbody: '.js-faq__item-body',\n\ttriggerAll: '.js-faq__all'\n};\n\nselectors.trigger = [selectors.toggle, selectors.open, selectors.close].join(', ');\n\nvar dataSelectors = {\n\ttarget: 'faq-target',\n\n\tautofocusId: 'faq-autofocus',\n\t// Used to account for CSS animation delaying when an element becomes focusable\n\tautofocusDelay: 'faq-autofocus-delay',\n\n\t// No more than one item in a set can be opened at a time\n\t// Items can belong to multiple sets, with set names separated\n\t// by the \"setSeparator\" string declared below\n\tset: 'faq-set',\n\n\toverallState: 'faq-state',\n\topenedText: 'faq-opened-text',\n\tclosedText: 'faq-closed-text',\n\n\tanimation: 'faq-animation',\n\n\tuseHidden: 'faq-use-hidden',\n\tuseCurrent: 'faq-use-current'\n};\n\nvar setSeparator = ' ';\n\nvar pubsubEvents = {\n\topen: '/faq/open',\n\topened: '/faq/opened',\n\n\tclose: '/faq/close',\n\tclosed: '/faq/closed',\n\n\tcloseSet: '/faq/close/set', // Close a set\n\tsetClosed: '/faq/closed/set' // A set has been closed\n};\n\nvar States = {\n\tINITIAL: 0,\n\tOPENED: 1,\n\tCLOSED: 2\n};\n\nvar stateAttributes = {\n\texpanded: 'aria-expanded',\n\thidden: 'aria-hidden',\n\n\tpressed: 'aria-pressed',\n\tcurrent: 'aria-current'\n};\n\nvar Faq = {\n\tinit: function () {\n\t\tFaq._initEvents();\n\t\tFaq._initSubscriptions();\n\t\tFaq._initListOverallStates();\n\t},\n\n\t_initEvents: function () {\n\t\t$(document)\n\t\t\t.on(activate.event, selectors.trigger, activate(Faq._processTriggerClick))\n\t\t\t.on(activate.event, selectors.triggerAll, activate(Faq._processAllClick));\n\t},\n\n\t_initSubscriptions: function () {\n\t\tsubscribe(pubsubEvents.open, Faq._open);\n\t\tsubscribe(pubsubEvents.close, Faq._close);\n\t\tsubscribe(pubsubEvents.closeSet, Faq._closeSet);\n\t},\n\n\t_initListOverallStates: function () {\n\t\t// For each list of faq items,\n\t\t// detect its initial overall state and store it\n\n\t\tvar $lists = $(selectors.list);\n\t\tvar $list;\n\t\tvar i;\n\n\t\tfor (i = 0; i < $lists.length; i++) {\n\t\t\t$list = $lists.eq(i);\n\n\t\t\tFaq._recordListOverallState($list);\n\t\t}\n\t},\n\n\t_processTriggerClick: function (e) {\n\t\t// The faq trigger for a single item\n\n\t\te.preventDefault();\n\n\t\tvar $trigger = $(e.target).closest(selectors.trigger);\n\t\tvar $item = Faq._getTriggerItem($trigger);\n\n\t\tif ($trigger.is(selectors.toggle)) {\n\t\t\tFaq._toggleItem($item);\n\t\t} else if ($trigger.is(selectors.open)) {\n\t\t\tFaq._setState($item, States.OPENED);\n\t\t} else if ($trigger.is(selectors.close)) {\n\t\t\tFaq._setState($item, States.CLOSED);\n\t\t}\n\t},\n\n\t_toggleItem: function ($item) {\n\t\t// Toggle an item's state between opened and closed\n\t\tvar state;\n\n\t\t// Detect the current state so we can infer the action from that\n\t\tstate = Faq._getState($item);\n\n\t\tif (state === States.CLOSED || state === States.INITIAL) {\n\t\t\t// Currently closed, so open it\n\t\t\t// Treat unspecified initial states as closed\n\t\t\tFaq._setState($item, States.OPENED);\n\t\t} else if (state === States.OPENED) {\n\t\t\t// Currently opened, so close it\n\t\t\tFaq._setState($item, States.CLOSED);\n\t\t}\n\t},\n\n\t_getTriggerItem: function ($trigger) {\n\t\tvar $item;\n\t\tvar target = $trigger.data(dataSelectors.target);\n\n\t\t// If there is a target data attribute, use that\n\t\tif (target) {\n\t\t\t$item = $('#' + target);\n\t\t}\n\n\t\t// Otherwise, use HTML structure\n\t\tif (!($item && $item.length)) {\n\t\t\t$item = $trigger.closest(selectors.item);\n\t\t}\n\n\t\treturn $item;\n\t},\n\n\t_getItemTriggers: function ($item) {\n\t\tvar $idTriggers;\n\t\tvar $childTriggers;\n\t\tvar $trigger = $();\n\t\tvar id = $item.attr('id');\n\n\t\tvar $triggers;\n\t\tvar triggerGroups = {\n\t\t\topen: [],\n\t\t\tclose: [],\n\t\t\ttoggle: []\n\t\t};\n\n\t\t// Triggers using a target data attribute\n\t\tif (id) {\n\t\t\t$idTriggers = $(selectors.trigger);\n\n\t\t\t$idTriggers = $idTriggers.filter('[data-' + dataSelectors.target + '=\"' + id + '\"]');\n\t\t} else {\n\t\t\t$idTriggers = $();\n\t\t}\n\n\t\t// Triggers using HTML structure\n\t\t$childTriggers = $item.find(selectors.trigger).filter(function () {\n\t\t\treturn $(this).closest(selectors.item).is($item);\n\t\t});\n\n\t\t$triggers = $idTriggers.add($childTriggers);\n\n\t\ttriggerGroups.all = $triggers;\n\t\ttriggerGroups.open = $triggers.filter(selectors.open);\n\t\ttriggerGroups.close = $triggers.filter(selectors.close);\n\t\ttriggerGroups.toggle = $triggers.filter(selectors.toggle);\n\n\t\treturn triggerGroups;\n\t},\n\n\t_getState: function ($item) {\n\t\tvar usingHidden = $item.data(dataSelectors.useHidden);\n\n\t\tvar stateAttr = stateAttributes.expanded;\n\t\tvar closedVal = 'false';\n\t\tvar openedVal = 'true';\n\n\t\tif (usingHidden) {\n\t\t\tstateAttr = stateAttributes.hidden;\n\t\t\tclosedVal = 'true';\n\t\t\topenedVal = 'false';\n\t\t}\n\n\t\tif ($item.attr(stateAttr) === closedVal) {\n\t\t\t// Closed\n\t\t\treturn States.CLOSED;\n\t\t} else if ($item.attr(stateAttr) === openedVal) {\n\t\t\t// Opened\n\t\t\treturn States.OPENED;\n\t\t} else {\n\t\t\t// Default/Initial\n\t\t\treturn States.INITIAL;\n\t\t}\n\t},\n\n\t_open: function ($item) {\n\t\tFaq._setState($item, States.OPENED);\n\t},\n\n\t_close: function ($item) {\n\t\tFaq._setState($item, States.CLOSED);\n\t},\n\n\t_setState: function ($item, state) {\n\t\tvar $list = $item.closest(selectors.list);\n\t\tvar $body = $item.find(selectors.body);\n\n\t\tvar expandedAttr = stateAttributes.expanded;\n\t\tvar openedVal = 'true';\n\t\tvar closedVal = 'false';\n\n\t\tvar useHidden = $item.data(dataSelectors.useHidden);\n\t\tif (useHidden) {\n\t\t\texpandedAttr = stateAttributes.hidden;\n\t\t\topenedVal = 'false';\n\t\t\tclosedVal = 'true';\n\t\t}\n\n\t\tif (state === States.OPENED) {\n\t\t\t// Close the whole set first\n\t\t\tFaq._closeSet($item);\n\n\t\t\t// Set to opened state\n\t\t\t$item.attr(expandedAttr, openedVal);\n\n\t\t\tif ($item.data(dataSelectors.animation) === 'slideDown') {\n\t\t\t\tVelocity($body, 'slideDown', { duration: 250 });\n\t\t\t}\n\n\t\t\tFaq._setStateTriggers($item, state);\n\n\t\t\tFaq._processOpen($item);\n\t\t\tpublish(pubsubEvents.opened, [$item, $item.data(dataSelectors.set)]);\n\t\t} else if (state === States.CLOSED) {\n\t\t\t// Set to closed state\n\t\t\t$item.attr(expandedAttr, closedVal);\n\n\t\t\tif ($item.data(dataSelectors.animation) === 'slideDown') {\n\t\t\t\tVelocity($body, 'slideUp', { duration: 250 });\n\t\t\t}\n\n\t\t\tFaq._setStateTriggers($item, state);\n\n\t\t\tpublish(pubsubEvents.closed, [$item, $item.data(dataSelectors.set)]);\n\t\t} else if (state === States.INITIAL) {\n\t\t\t// Remove state signifiers\n\t\t\t$item.removeAttr(expandedAttr);\n\n\t\t\tFaq._setStateTriggers($item, state);\n\t\t}\n\n\t\tif ($list.length) {\n\t\t\t// If this item is part of a list,\n\t\t\t// update the list's overall state when the item's state changes\n\t\t\tFaq._recordListOverallState($list);\n\t\t}\n\t},\n\n\t_setStateTriggers: function ($item, state) {\n\t\tvar $triggers = Faq._getItemTriggers($item).all;\n\n\t\t$triggers.each(Faq._setStateTrigger(state));\n\t},\n\n\t_setStateTrigger: function (state) {\n\t\treturn function (i, trigger) {\n\t\t\tvar $trigger = $(trigger);\n\t\t\tvar isReversed = $trigger.is(selectors.close);\n\n\t\t\tvar stateAttr = stateAttributes.pressed;\n\t\t\tvar useCurrent = $trigger.data(dataSelectors.useCurrent);\n\n\t\t\tif (useCurrent) {\n\t\t\t\tstateAttr = stateAttributes.current;\n\t\t\t}\n\n\t\t\tif (state === States.OPENED) {\n\t\t\t\tif (isReversed) {\n\t\t\t\t\t$trigger.attr(stateAttr, 'false');\n\t\t\t\t} else {\n\t\t\t\t\t$trigger.attr(stateAttr, 'true');\n\t\t\t\t}\n\t\t\t} else if (state === States.CLOSED) {\n\t\t\t\tif (isReversed) {\n\t\t\t\t\t$trigger.attr(stateAttr, 'true');\n\t\t\t\t} else {\n\t\t\t\t\t$trigger.attr(stateAttr, 'false');\n\t\t\t\t}\n\t\t\t} else if (state === States.INITIAL) {\n\t\t\t\t$trigger.removeAttr(stateAttr);\n\t\t\t}\n\t\t};\n\t},\n\n\t_closeSet: function (set) {\n\t\tvar $item;\n\t\tvar $setItems;\n\t\tvar $setItem;\n\t\tvar i;\n\n\t\tif (set && set.jquery) {\n\t\t\t// If a jQuery object was passed through\n\t\t\t$item = set;\n\t\t\tset = $item.data(dataSelectors.set);\n\t\t}\n\n\t\tif (!set) {\n\t\t\treturn;\n\t\t}\n\n\t\tset = set.split(setSeparator);\n\t\tif (set.length > 1) {\n\t\t\tfor (i = 0; i < set.length; i++) {\n\t\t\t\tFaq._closeSet(set[i]);\n\t\t\t}\n\t\t\treturn;\n\t\t} else {\n\t\t\tset = set[0].trim();\n\t\t}\n\n\t\tpublish(pubsubEvents.setClosed, [set]);\n\n\t\t$setItems = $('[data-' + dataSelectors.set + ']').filter(Faq._isInSet(set));\n\t\tif ($item && $item.length) {\n\t\t\t// If an item has been passed through, it is being opened,\n\t\t\t// so only close other items in this set\n\t\t\t$setItems = $setItems.not($item);\n\t\t}\n\n\t\tfor (i = 0; i < $setItems.length; i++) {\n\t\t\t$setItem = $setItems.eq(i);\n\t\t\tif (Faq._getState($setItem) === States.OPENED) {\n\t\t\t\tFaq._setState($setItem, States.CLOSED);\n\t\t\t}\n\t\t}\n\t},\n\n\t_isInSet: function (set) {\n\t\treturn function (i, el) {\n\t\t\tvar $item = $(el);\n\t\t\tvar itemSet = $item.data(dataSelectors.set);\n\n\t\t\titemSet = itemSet.split(setSeparator);\n\n\t\t\treturn itemSet.indexOf(set) !== -1;\n\t\t};\n\t},\n\n\t_processOpen: function ($item) {\n\t\t// Run when an item enters the opened state\n\n\t\tvar autofocusId;\n\t\tvar autofocusDelay;\n\t\tvar $autofocusTarget;\n\n\t\t// When this first opens, make sure any lazyload images inside are told to load\n\t\tif (!$item.data('lazyload-triggered')) {\n\t\t\t$item.find('.js-lazy-auto').trigger('appear');\n\t\t}\n\t\t$item.data('lazyload-triggered', true);\n\n\t\tautofocusId = $item.data(dataSelectors.autofocusId);\n\t\tif (autofocusId) {\n\t\t\tautofocusDelay = parseInt($item.data(dataSelectors.autofocusDelay), 10);\n\t\t\t$autofocusTarget = $('#' + autofocusId);\n\n\t\t\tif (autofocusDelay) {\n\t\t\t\twindow.setTimeout(function () {\n\t\t\t\t\t$autofocusTarget[0].focus();\n\t\t\t\t}, autofocusDelay);\n\t\t\t} else {\n\t\t\t\t$autofocusTarget[0].focus();\n\t\t\t}\n\t\t}\n\t},\n\n\t_recordListOverallState: function ($list) {\n\t\t// This is used for faq all buttons.\n\t\t// Overall state is States.OPENED if one or more\n\t\t// items are opened, otherwise it's States.CLOSED.\n\n\t\tvar $items = $list.find(selectors.item);\n\t\tvar $item;\n\t\tvar i;\n\n\t\t// Lists don't have an INITIAL state, they are CLOSED\n\t\t// unless one or more of their items is OPENED\n\t\tvar overallState = States.CLOSED;\n\n\t\tfor (i = 0; i < $items.length; i++) {\n\t\t\t$item = $items.eq(i);\n\n\t\t\tif (Faq._getState($item) === States.OPENED) {\n\t\t\t\toverallState = States.OPENED;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\n\t\t// Record the overall state in the $list's data for easy retrieval\n\t\t$list.data(dataSelectors.overallState, overallState);\n\n\t\t// If there's an faq all button, update it\n\t\tvar $btn = $list.find(selectors.triggerAll);\n\t\tif ($btn.length) {\n\t\t\tFaq._updateTriggerAllButton($btn, overallState);\n\t\t}\n\n\t\treturn overallState;\n\t},\n\n\t_processAllClick: function (e) {\n\t\t// The faq all trigger for a list\n\n\t\te.preventDefault();\n\n\t\tvar $btn = $(e.target);\n\t\tvar $list = $btn.closest(selectors.list);\n\t\tvar $item;\n\t\tvar i;\n\t\tvar desiredState;\n\n\t\tif ($list.length === 0) {\n\t\t\tconsole.warn('Faq: No list found when processing faq all event');\n\t\t\treturn;\n\t\t}\n\n\t\t// Retrieve overall state and use it to infer desired state\n\t\tvar overallState = $list.data(dataSelectors.overallState);\n\n\t\tif (overallState === States.OPENED) {\n\t\t\tdesiredState = States.CLOSED;\n\t\t} else if (overallState === States.CLOSED) {\n\t\t\tdesiredState = States.OPENED;\n\t\t}\n\n\t\t// Create list of items that don't match the desired state\n\t\tvar $itemsToChange = $list\n\t\t\t.find(selectors.item)\n\t\t\t.filter(Faq._filterItemsByState(overallState, States.INITIAL));\n\n\t\t// Change the state of each the items that don't match the desired state\n\t\tfor (i = 0; i < $itemsToChange.length; i++) {\n\t\t\t$item = $itemsToChange.eq(i);\n\t\t\tFaq._setState($item, desiredState);\n\t\t}\n\n\t\t// Update list overall state\n\t\tFaq._recordListOverallState($list);\n\t},\n\n\t_filterItemsByState: function () {\n\t\t// Return a function to be used in $().filter,\n\t\t// to filter a list of items by a given state\n\n\t\tvar targetStates = Array.prototype.splice.call(arguments, 0);\n\n\t\treturn function (i, el) {\n\t\t\tvar $el = $(el);\n\t\t\tvar match = targetStates.indexOf(Faq._getState($el)) !== -1;\n\n\t\t\treturn match;\n\t\t};\n\t},\n\n\t_updateTriggerAllButton: function ($btn, state) {\n\t\t// Update the text and class of a list's faq all button\n\n\t\tvar newText = $btn.text();\n\n\t\tif (state === States.OPENED) {\n\t\t\tnewText = $btn.data(dataSelectors.openedText) || newText;\n\t\t\t$btn.attr(stateAttributes.pressed, 'true');\n\t\t} else if (state === States.CLOSED) {\n\t\t\tnewText = $btn.data(dataSelectors.closedText) || newText;\n\t\t\t$btn.attr(stateAttributes.pressed, 'false');\n\t\t}\n\n\t\t$btn.text(newText);\n\t}\n};\n\nexport { Faq };","/* app/ui/form/validate */\n\nimport $ from 'jquery';\nimport * as Core from 'Util/core';\nimport { publish, unpublish, subscribe } from 'Util/pubsub';\n\nvar selectors = {\n form: '.js-validate-form', // Add to form wrapping element\n field: '.js-validate-field', // Add to field holder/wrapper e.g. holds label, input and error message\n input: '[data-val-required][type!=\"checkbox\"]', // Add to input that needs validation\n optionList: '.js-validate-optionlist', // Add to <ul> containing required checkbox/radiobutton list\n submit: '.js-validate-submit', // Add to submit button\n errorMessage: '.js-validate-field-validation', // Add to any displayed error (hidden or shown)\n fieldError: '.has-error' // For styling field holder\n};\n\nvar $formsToValidate;\nvar defaultErrorMessage = 'This field is required';\n\nvar Validate = {\n init: function () {\n Validate = this;\n\n $formsToValidate = $(selectors.form);\n\n if ($formsToValidate.length) {\n for (var i = 0; i < $formsToValidate.length; i++) {\n Validate._initForm($formsToValidate[i]);\n }\n }\n },\n\n // Initialise each form individually\n // Bind form submission events if there are fields requiring validation\n _initForm: function (form) {\n var $thisForm = $(form);\n var $requiredInputs = $thisForm.find(selectors.input + ',' + selectors.optionList);\n\n if ($requiredInputs.length) {\n $thisForm.on('click', selectors.submit, Validate._processSubmitClick);\n $thisForm.on('submit', { form: $thisForm, requiredInputs: $requiredInputs }, Validate._onFormSubmission);\n }\n },\n\n // Hijack submit button click then submit form\n _processSubmitClick: function (event) {\n event.preventDefault();\n $(this).closest(selectors.form).submit();\n },\n\n // Run on form submission\n // Enacts validation\n // If errors after validation, scroll to first one\n // Binds listender for keyup on required inputs\n // Returns true if form valid\n _onFormSubmission: function (event) {\n var formValid = Validate.validateForm(event.data.requiredInputs);\n var $errorFields = event.data.form.find(selectors.fieldError);\n var $requiredInputs = event.data.requiredInputs;\n\n $requiredInputs.on('keyup', Validate.validateInput);\n $requiredInputs.filter('select, [type=\"checkbox\"]').on('change', Validate.validateInput);\n $requiredInputs.on('change', '[type=\"checkbox\"], [type=\"radio\"]', Validate.validateInput);\n\n if ($errorFields.length) {\n UtilCore.scrollToElm($($errorFields[0]), 100);\n publish('/form/validate/clientside/failed', { form: event.data.form, errorFields: $errorFields });\n } else {\n publish('/form/validate/clientside/passed', { form: event.data.form });\n }\n return formValid;\n },\n\n // Validates all required inputs of a form\n // Returns true if number of valid inputs equals number required\n // $requiredInputs = jQuery object - the inputs to validate\n validateForm: function ($requiredInputs) {\n var validCount = 0;\n var requiredLength = $requiredInputs.length;\n\n for (var i = 0; i < requiredLength; i++) {\n var isValid = Validate.validateInput.call($requiredInputs[i]);\n\n if (isValid.valid) {\n validCount++;\n }\n }\n return validCount === requiredLength;\n },\n\n // Validates a single field\n // Sets error display dependant on validation result\n validateInput: function () {\n var $thisInput = $(this);\n var $thisField = $thisInput.closest(selectors.field);\n var data;\n\n // validate checklist or radiolist\n if ($thisField.hasClass(UtilCore.getClassName(selectors.optionList))) {\n data = Validate._validateOptionList($thisField);\n } else {\n // validate required\n data = Validate._validateRequired($thisInput);\n }\n Validate._setErrorDisplay($thisField, data);\n\n return data;\n },\n\n // Check a checkbox list or radiobutton list for at least one checked input\n _validateOptionList: function ($thisField) {\n var data = {\n valid: true\n };\n\n if (!$thisField.find('input:checked').length) {\n data.valid = false;\n data.message = $thisField.data('val-required');\n }\n return data;\n },\n\n // Check a required field for a non-empty string\n // If it has a regex pattern, test against this too\n _validateRequired: function ($thisInput) {\n var data = {\n valid: true\n };\n\n if ($thisInput.is('[type=\"checkbox\"]')) {\n data.valid = $thisInput.is(':checked');\n data.message = $thisInput.data('val-required');\n } else {\n var value = $.trim($thisInput.val());\n\n if ($thisInput.is(selectors.input) && value === \"\") {\n data.valid = false;\n data.message = $thisInput.data('val-required');\n }\n\n if (data.valid && $thisInput.is('[data-val-regex-pattern]')) {\n\n if (!new RegExp($thisInput.data('val-regex-pattern')).test(value)) {\n data.valid = false;\n data.message = $thisInput.data('val-regex');\n }\n }\n }\n return data;\n },\n\n // Displays or removes error field data.valid value\n _setErrorDisplay: function ($thisField, data) {\n var $thisError = $thisField.find(selectors.errorMessage);\n var fieldErrorClass = UtilCore.getClassName(selectors.fieldError);\n\n if (!data.valid) {\n $thisError.text(data.message || defaultErrorMessage);\n $thisField.addClass(fieldErrorClass);\n } else {\n $thisError.text('');\n $thisField.removeClass(fieldErrorClass);\n }\n }\n};\n\nexport { Validate }","import $ from 'jquery';\nimport { MediaQueries } from 'Util/mediaqueries';\nimport { activate } from 'Util/activate';\nimport { publish, unpublish, subscribe } from 'Util/pubsub';\n\nimport 'velocity';\n\nvar selectors = {\n\theroBanner: '.js-amination-banner',\n\theroItemIntro: '.js-hero__item-intro',\n\theroItem1: '.js-hero__item-1',\n\theroItem2Trigger: '.js-hero__trigger-2',\n\theroItem2: '.js-hero__item-2',\n\theroItem3Trigger: '.js-hero__trigger-3',\n\theroItem3: '.js-hero__item-3',\n\theroIndicator: '.js-hero__indicator',\n\tsvg: '.js-svg',\n\tsvgPath: '.js-svg__item-path'\n};\n\nvar $heroBanner;\nvar $heroItemIntro;\nvar $heroItem1;\nvar $heroItem2;\nvar $heroItem2Trigger;\nvar $heroItem3;\nvar $heroItem3Trigger;\nvar $heroIndicator;\nvar $scrollIndicatorWrapper;\nvar $scrollIndicator;\nvar $svg;\nvar $footerSticky;\n\nvar $window;\nvar elementsInit = false;\nvar debugMode = false;\n\nvar AnimationBanner = {\n\tinit: function () {\n\n\t\tAnimationBanner._initElements();\n\t\tAnimationBanner._initEvents();\n\t\tAnimationBanner._initDeBugMode();\n\t},\n\n\t_initElements: function () {\n\t\tif (!elementsInit) {\n\t\t\t$window = $(window);\n\t\t\t$heroBanner = $(selectors.heroBanner);\n\t\t\t$heroItemIntro = $(selectors.heroItemIntro);\n\t\t\t$heroItem1 = $(selectors.heroItem1);\n\t\t\t$heroItem2Trigger = $(selectors.heroItem2Trigger);\n\t\t\t$heroItem2 = $(selectors.heroItem2);\n\t\t\t$heroItem3Trigger = $(selectors.heroItem2Trigger);\n\t\t\t$heroItem3 = $(selectors.heroItem3);\n\t\t\t$heroIndicator = $(selectors.heroIndicator);\n\t\t\t$scrollIndicatorWrapper = $(\".j-scroll__indicator-wrapper\");\n\t\t\t$scrollIndicator = $(\".j-scroll__indicator\");\n\t\t\t$svg = $(selectors.svg);\n\t\t\t$footerSticky = $(\".js-footer__sticky\");\n\t\t\telementsInit = true;\n\t\t}\n\t},\n\n\t_initEvents: function () {\n\t\tvar doc = document.documentElement;\n\t\tvar top = (window.pageYOffset || doc.scrollTop) - (doc.clientTop || 0);\n\n\t\t$heroIndicator.on(\"click\", AnimationBanner._processTriggerClick);\n\n\t\tAnimationBanner._bannerAnimation();\n\t\t$window.on('scroll', AnimationBanner._bannerAnimation);\n\n\t\tAnimationBanner._initSvgDashoffset();\n\t\tAnimationBanner._showFooterSticky(top);\n\t},\n\n\t_initSubscriptions: function () {\n\t\t//subscribe(pubsubEvents.open, ExpandCollapse._open);\n\t\t//subscribe(pubsubEvents.close, ExpandCollapse._close);\n\t\t//subscribe(pubsubEvents.closeSet, ExpandCollapse._closeSet);\n\t},\n\n\t_initDeBugMode: function () {\n\t\tif (debugMode) {\n\t\t\t$('<div class=\"trigger_point intro_start_trigger\">Intro Start Point</div>').appendTo(\".js-animation-banner\");\n\t\t\t$('<div class=\"trigger_point start_trigger_1\">Start Point 1</div>').appendTo(\".js-animation-banner\");\n\t\t\t$(\"<div class='trigger_point end_trigger_1'>End Point 1</div>\").appendTo(\".js-animation-banner\");\n\t\t\t$(\"<div class='trigger_point start_trigger_2'>Start Point 2</div>\").appendTo(\".js-animation-banner\");\n\t\t\t$(\"<div class='trigger_point end_trigger_2'>End Point 2</div>\").appendTo(\".js-animation-banner\");\n\t\t\t$(\"<div class='trigger_point start_trigger_3'>Start Point 3</div>\").appendTo(\".js-animation-banner\");\n\t\t\t$(\"<div class='trigger_point end_trigger_3'>End Point 3</div>\").appendTo(\".js-animation-banner\");\n\t\t}\n\t},\n\n\t_bannerAnimation: function () {\n\t\tvar doc = document.documentElement;\n\t\tvar top = (window.pageYOffset || doc.scrollTop) - (doc.clientTop || 0);\n\t\tvar windowHeight = $window.height();\n\n\t\tvar heroItem1StartPoint = $heroItem1.offset().top - (windowHeight * 0.5);\n\t\tvar heroItem2StartPoint = $heroItem2.offset().top - (windowHeight * 0.75);\n\t\tvar heroItem3StartPoint = $heroItem3.offset().top - (windowHeight * 0.75);\n\n\t\tvar heroItem1EndPoint = (heroItem2StartPoint + (windowHeight * 0.75));\n\t\tvar heroItem2EndPoint = (heroItem3StartPoint + (windowHeight * 0.75));\n\t\tvar heroItem3EndPoint = ($heroItem3.offset().top + (windowHeight * 0.75));\n\n\n\t\tif (debugMode) {\n\t\t\t$(\".start_trigger_1\").css({ \"top\": heroItem1StartPoint });\n\t\t\t$(\".end_trigger_1\").css({ \"top\": heroItem1EndPoint });\n\t\t\t$(\".start_trigger_2\").css({ \"top\": heroItem2StartPoint });\n\t\t\t$(\".end_trigger_2\").css({ \"top\": heroItem2EndPoint });\n\t\t\t$(\".start_trigger_3\").css({ \"top\": heroItem3StartPoint });\n\t\t\t$(\".end_trigger_3\").css({ \"top\": heroItem3EndPoint });\n\t\t}\n\n\t\tAnimationBanner._svgAnimation($heroItem1, heroItem1StartPoint, heroItem1EndPoint, top);\n\t\tAnimationBanner._svgAnimation($heroItem2, heroItem2StartPoint, heroItem2EndPoint, top);\n\t\tAnimationBanner._svgAnimation($heroItem3, heroItem3StartPoint, heroItem3EndPoint, top);\n\n\t\tvar scrollIndicatorWrapperHeight = $scrollIndicatorWrapper.outerHeight();\n\t\tvar scrollIndicatorHeight = (scrollIndicatorWrapperHeight * 0.25);\n\n\t\t// scroll indicator animation\n\t\tif (heroItem3StartPoint < top) {\n\t\t\tscrollIndicatorHeight = scrollIndicatorWrapperHeight;\n\t\t\t$scrollIndicator.height(scrollIndicatorHeight);\n\t\t} else if (heroItem2StartPoint < top && top < heroItem3StartPoint) {\n\t\t\tscrollIndicatorHeight = (scrollIndicatorWrapperHeight * 0.75);\n\t\t\t$scrollIndicator.height(scrollIndicatorHeight);\n\t\t} else if (heroItem1StartPoint < top && top < heroItem2StartPoint) {\n\t\t\tscrollIndicatorHeight = (scrollIndicatorWrapperHeight * 0.5);\n\t\t\t$scrollIndicator.height(scrollIndicatorHeight);\n\t\t} else if (top < heroItem1StartPoint) {\n\t\t\t$scrollIndicator.height(scrollIndicatorHeight);\n\t\t}\n\n\n\t\tAnimationBanner._initMediaQueries(heroItem3EndPoint);\n\t},\n\n\t_fadeAnimation: function (el, opacityStart, opacityValue, offSetTopValue) {\n\n\t\tif (typeof el !== 'undefined' && el !== '') {\n\t\t\tel.css({ \"opacity\": 1 });\n\n\t\t\tif (opacityStart <= offSetTopValue) {\n\t\t\t\tvar opacity = (0.1 < opacityValue) ? 1 : (opacityValue < 0) ? 0 : opacityValue;\n\t\t\t\tel.css({ \"opacity\": opacity });\n\t\t\t}\n\t\t}\n\n\t},\n\n\t_introFadeAnimation: function (el, animationStartPoint, offSetTopValue) {\n\t\tif (typeof el !== 'undefined' && el !== '') {\n\n\n\t\t\tif (animationStartPoint < offSetTopValue) {\n\t\t\t\tel.addClass(\"is_animated-hidden\");\n\t\t\t} else {\n\t\t\t\tel.removeClass(\"is_animated-hidden\");\n\t\t\t}\n\n\t\t}\n\t},\n\n\t_initSvgDashoffset: function () {\n\n\t\tvar svgItem = $svg.find(selectors.svgPath);\n\n\t\tsvgItem.each(function () {\n\t\t\tvar svgPathLength = $(this).get(0).getTotalLength();\n\t\t\t$(this).attr(\"data-dashoffset\", svgPathLength);\n\t\t\t$(this).css({\n\t\t\t\t\"stroke-dashoffset\": svgPathLength,\n\t\t\t\t\"stroke-dasharray\": svgPathLength\n\t\t\t});\n\t\t});\n\n\t},\n\n\t_svgAnimation: function (el, startTrigger, endTrigger, offSetTopValue) {\n\n\n\t\t// add class to run animation\n\t\tif (startTrigger <= offSetTopValue) {\n\t\t\tel.addClass(\"is_animated\");\n\n\t\t\tvar currentSlide = el.attr(\"data-slide\");\n\t\t\t$('.js-hero__indicator[data-slide-to=\"' + currentSlide + '\"]').attr(\"aria-current\", true);\n\n\t\t} else {\n\t\t\t// el.removeClass(\"is_animated\");\n\t\t\tvar currentSlide = el.attr(\"data-slide\");\n\t\t\t$('.js-hero__indicator[data-slide-to=\"' + currentSlide + '\"]').attr(\"aria-current\", false);\n\t\t\t$heroIndicator.attr(\"aria-current\", false);\n\t\t}\n\n\t\tif (endTrigger <= offSetTopValue) {\n\t\t\t// el.removeClass(\"is_animated\");\n\t\t\t$heroIndicator.attr(\"aria-current\", false);\n\t\t}\n\n\t},\n\n\t_processTriggerClick: function (e) {\n\t\te.preventDefault();\n\t\tvar bannerID = $(this).attr(\"href\");\n\t\tvar bannerOffset = $(bannerID).offset().top;\n\n\t\t$('body,html').animate({\n\t\t\tscrollTop: bannerOffset\n\t\t}, 800);\n\t\treturn false;\n\n\t},\n\n\t_showFooterSticky: function (height) {\n\t\t$footerSticky.hide();\n\t\tvar doc = document.documentElement;\n\t\tvar top = (window.pageYOffset || doc.scrollTop) - (doc.clientTop || 0);\n\n\t\tif (top <= height) {\n\t\t\t$footerSticky.hide();\n\t\t} else {\n\t\t\t$footerSticky.show();\n\t\t}\n\t},\n\n\t_hideFooterSticky: function () {\n\t\t$footerSticky.hide();\n\t},\n\n\t_initMediaQueries: function (height) {\n\n\t\tMediaQueries.register([\n\t\t\t{\n\t\t\t\t// Bind Small Nav\n\t\t\t\tqueries: MediaQueries.queries['megamenu--small'],\n\t\t\t\tshouldDegrade: false,\n\t\t\t\tmatch: function () {\n\n\t\t\t\t\tAnimationBanner._showFooterSticky(height);\n\t\t\t\t},\n\t\t\t\tunmatch: function () {\n\t\t\t\t\tAnimationBanner._hideFooterSticky();\n\t\t\t\t}\n\t\t\t}\n\t\t]);\n\t}\n};\n\nexport { AnimationBanner };","import jQuery from 'jquery';\nimport { activate } from 'Util/activate';\nimport * as keys from 'Util/keybinding';\nimport { publish, unpublish, subscribe } from 'Util/pubsub';\n\nvar modal = (function ($, activate, keys, subscribe, publish) {\n\tvar selectors = {\n\t\tmodal: '.js-modal',\n\t\tbody: '.js-modal-body, .js-modal__body',\n\t\ttrigger: '.js-modal-trigger, .js-modal__trigger',\n\t\tclose: '.js-modal-close, .js-modal__close'\n\t};\n\n\tvar dataSelectors = {\n\t\tbodyOpenClass: 'modal-body-open-class'\n\t};\n\n\tvar classes = {\n\t\tbodyOpen: 'c-modal__body-open'\n\t};\n\n\tvar events = {\n\t\t// Subscriptions\n\t\t// Keep old events for backward compatibility\n\t\topen: '/modal/open /modal/show',\n\t\tclose: '/modal/close /modal/hide',\n\n\t\t// Publications\n\t\topened: '/modal/opened',\n\t\tclosed: '/modal/closed'\n\t};\n\n\tvar $focus = null; // The active modal window\n\tvar $active = null; // The element that had focus before opening the modal window\n\n\t// Callback for passing into $().filter\n\tvar focusable = function (i, el) {\n\t\tvar $el = $(el);\n\n\t\tvar focusIfNotDisabled = $el.is('input, select, textarea, button, object');\n\t\tvar isNotDisabled = $el.is(':not(:disabled)');\n\n\t\tvar focusThroughHref = $el.is('a, area') && $el.is('[href]');\n\t\tvar focusThroughTabindex = $el.is('[tabindex]');\n\n\t\tvar isFocusable;\n\n\t\tif (focusIfNotDisabled) {\n\t\t\tisFocusable = isNotDisabled;\n\t\t} else {\n\t\t\tisFocusable = focusThroughHref || focusThroughTabindex;\n\t\t}\n\n\t\tisFocusable = isFocusable && $el.is(':visible');\n\n\t\treturn isFocusable;\n\t};\n\n\tvar tabbable = function (i, el) {\n\t\tvar $el = $(el);\n\n\t\tvar isFocusable = focusable(i, el);\n\t\tvar untabbableTabIndex = $el.is('[tabindex=\"-1\"]');\n\n\t\treturn isFocusable && !untabbableTabIndex;\n\t};\n\n\tvar modal = {\n\t\tinit: function (options) {\n\t\t\toptions = options || {};\n\n\t\t\tmodal._onOpen = options.onOpen || options.onShow || $.noop;\n\n\t\t\tmodal._initEvents();\n\t\t\tmodal._initSubscriptions();\n\t\t},\n\n\t\t_initEvents: function () {\n\t\t\t$(document)\n\t\t\t\t.on(activate.event, selectors.trigger, activate(modal._processTriggerClick))\n\t\t\t\t.on(activate.event, selectors.close, activate(modal._closeEvent));\n\t\t},\n\n\t\t_initSubscriptions: function () {\n\t\t\tsubscribe(events.open, modal.openById);\n\t\t\tsubscribe(events.close, modal.close);\n\t\t},\n\n\t\t_bindModalActiveEvents: function () {\n\t\t\tkeys.bind('escape', modal.close, true);\n\t\t\t$(document)\n\t\t\t\t.on('click', modal._closeIfBackgroundClick)\n\t\t\t\t.on('focus', '*', modal._wrapTab);\n\t\t},\n\n\t\t_unbindModalActiveEvents: function () {\n\t\t\tkeys.unbind('escape', modal.close);\n\t\t\t$(document)\n\t\t\t\t.off('click', modal._closeIfBackgroundClick)\n\t\t\t\t.off('focus', '*', modal._wrapTab);\n\t\t},\n\n\t\t// Event callbacks\n\t\t_processTriggerClick: function (e) {\n\t\t\tvar $trigger = $(e.target).closest(selectors.trigger);\n\t\t\tvar targetId = $trigger.attr('aria-controls');\n\n\t\t\te.preventDefault();\n\n\t\t\tmodal.openById(targetId);\n\t\t},\n\n\t\t_wrapTab: function (e) {\n\t\t\tvar $target = $(e.target);\n\t\t\tvar $body = $active.find(selectors.body);\n\t\t\tvar isInModal = !!$target.closest(selectors.body).length;\n\t\t\tvar $tabbable;\n\t\t\tvar afterModal = $body[0].compareDocumentPosition(e.target) === Node.DOCUMENT_POSITION_FOLLOWING;\n\n\t\t\tif (!isInModal) {\n\t\t\t\te.preventDefault();\n\n\t\t\t\t$tabbable = modal._getTabbable();\n\n\t\t\t\tif (afterModal) {\n\t\t\t\t\t// Wrap to start\n\t\t\t\t\t$tabbable[0].focus();\n\t\t\t\t} else {\n\t\t\t\t\t// Wrap to end\n\t\t\t\t\t$tabbable.last()[0].focus();\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\n\t\t_closeIfBackgroundClick: function (e) {\n\t\t\tvar $this = $(e.target);\n\n\t\t\tif ($this.closest(selectors.body).length) {\n\t\t\t\t// Click was within the modal popup, so ignore it\n\t\t\t\treturn;\n\t\t\t} else {\n\t\t\t\t// Click was outside the modal popup, so close it\n\t\t\t\tmodal.close();\n\t\t\t}\n\t\t},\n\n\t\t// Open/Close functions\n\t\topenById: function (id) {\n\t\t\tvar $modal = $('#' + id);\n\n\t\t\tmodal._open($modal);\n\t\t},\n\n\t\t_open: function ($modal) {\n\t\t\tvar $firstFocusable;\n\t\t\tvar bodyOpenClass;\n\n\t\t\tif ($modal.is(selectors.modal) === false) {\n\t\t\t\t// Don't try to open it if it's not a modal\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tbodyOpenClass = modal._getBodyOpenClass($modal);\n\n\t\t\tif ($active) {\n\t\t\t\t// If there's already an active modal window,\n\t\t\t\t// keep remembering the same $focus element\n\t\t\t\t$active.attr('aria-hidden', true);\n\t\t\t} else {\n\t\t\t\t$focus = document.activeElement;\n\t\t\t}\n\t\t\t$active = $modal;\n\n\t\t\t$modal.attr('aria-hidden', false);\n\t\t\t$('body').addClass(bodyOpenClass);\n\n\t\t\t// Move focus within modal window\n\t\t\t$firstFocusable = modal._getFocusable();\n\t\t\tif ($firstFocusable.length) {\n\t\t\t\t$firstFocusable[0].focus();\n\t\t\t}\n\n\t\t\tmodal._bindModalActiveEvents();\n\n\t\t\tmodal._onOpen($modal);\n\t\t\tpublish(events.opened, $active);\n\t\t},\n\n\t\t_closeEvent: function (e) {\n\t\t\te.preventDefault();\n\t\t\tmodal.close();\n\t\t},\n\n\t\tclose: function () {\n\t\t\tvar bodyOpenClass;\n\n\t\t\tif ($active) {\n\t\t\t\tbodyOpenClass = modal._getBodyOpenClass($active);\n\t\t\t\t$active.attr('aria-hidden', true);\n\t\t\t\t$('body').removeClass(bodyOpenClass);\n\n\t\t\t\tmodal._unbindModalActiveEvents();\n\n\t\t\t\t// Return focus where it was\n\t\t\t\tif ($focus) {\n\t\t\t\t\t$focus.focus();\n\t\t\t\t}\n\n\t\t\t\tpublish(events.closed, $active);\n\n\t\t\t\t$active = null;\n\t\t\t\t$focus = null;\n\t\t\t}\n\t\t},\n\n\t\tresizeBody: function () {\n\t\t\tconsole.error('modal.resize is no longer supported as of version 1.10');\n\t\t},\n\n\t\t_getBodyOpenClass: function ($modal) {\n\t\t\tvar bodyOpenClass;\n\n\t\t\tbodyOpenClass = $modal.data(dataSelectors.bodyOpenClass) || classes.bodyOpen;\n\n\t\t\treturn bodyOpenClass;\n\t\t},\n\n\t\t// Focus management\n\t\t_getFocusable: function ($modal) {\n\t\t\tvar $body;\n\t\t\tvar $descendents;\n\t\t\tvar $focusable;\n\n\t\t\t$modal = $modal || $active;\n\t\t\t$body = $modal.find(selectors.body);\n\n\t\t\t$descendents = $body.find('*');\n\t\t\t$focusable = $descendents.filter(focusable);\n\n\t\t\treturn $focusable;\n\t\t},\n\n\t\t_getTabbable: function ($modal) {\n\t\t\tvar $body;\n\t\t\tvar $descendents;\n\t\t\tvar $tabbable;\n\n\t\t\t$modal = $modal || $active;\n\t\t\t$body = $modal.find(selectors.body);\n\n\t\t\t$descendents = $body.find('*');\n\t\t\t$tabbable = $descendents.filter(tabbable);\n\n\t\t\treturn $tabbable;\n\t\t}\n\t};\n\n\treturn {\n\t\tinit: modal.init,\n\n\t\topen: modal.openById,\n\t\tclose: modal.close,\n\t\tresize: modal.resizeBody\n\t};\n})(jQuery, activate, keys, subscribe, publish);\n\nexport { modal };\n","import { throttle } from 'Util/throttle';\nimport { debounce } from 'Util/debounce';\n\nvar passiveSupported = false;\ntry {\n\n\tvar options = {};\n\n\tObject.defineProperty(options, 'passive', {\n\t\tget: function () {\n\t\t\tpassiveSupported = true;\n\t\t\treturn false;\n\t\t}\n\t});\n\n\twindow.addEventListener('test', null, options);\n\twindow.removeEventListener('test', null, options);\n} catch (error) {\n\tpassiveSupported = false;\n};\n\nvar selectors = Object.freeze({\n\tcontainer: '.js-scroll-appear__container',\n\tappear: '.js-scroll-appear:not([data-scroll-appear=\"true\"])'\n});\n\nvar dataAttributes = Object.freeze({\n\tqueueId: 'data-scroll-appear-queue',\n\n\tappear: 'data-scroll-appear',\n\tappearDelay: 'data-scroll-appear-delay'\n});\n\nvar delay = 100; // ms\nvar threshold = 100; // px\n\nvar Queues = Object.freeze({\n\t// Global queue for objects not in a container\n\tGLOBAL: 'global'\n});\n\nvar queues = [];\n\nvar ScrollAppear = {\n\tinit: function () {\n\t\tScrollAppear._addQueue(Queues.GLOBAL);\n\n\t\tScrollAppear._initEvents();\n\n\t\t// Try to appear all elements at the start\n\t\tScrollAppear._appearElementsInViewport();\n\t},\n\n\t_initEvents: function () {\n\t\tvar passiveOptions = passiveSupported ? { passive: true } : false;\n\n\t\twindow.addEventListener('scroll', throttle(ScrollAppear._onScroll, delay), passiveOptions);\n\t\twindow.addEventListener('scroll', debounce(ScrollAppear._onScroll, delay), passiveOptions);\n\n\t\tdocument.addEventListener('focus', ScrollAppear._onFocus, { capture: true });\n\t},\n\n\t_onScroll: function (e) {\n\t\tvar $elements = document.querySelectorAll(selectors.appear);\n\n\t\tif ($elements) {\n\t\t\tScrollAppear._appearElementsInViewport($elements);\n\t\t}\n\t},\n\n\t_appearElementsInViewport: function ($elements) {\n\t\t// Check all eligible elements by default\n\t\tif (!$elements) {\n\t\t\t$elements = document.querySelectorAll(selectors.appear);\n\t\t\tif (!$elements) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t}\n\n\t\tvar i;\n\t\tfor (i = 0; i < $elements.length; i++) {\n\t\t\tScrollAppear._appearElementInViewport($elements[i]);\n\t\t}\n\t},\n\n\t_appearElementInViewport: function ($element) {\n\t\tvar isInViewport;\n\n\t\tvar isQueued = ScrollAppear._isQueued($element);\n\t\tif (isQueued) {\n\t\t\t// $element is queued to appear, so don't check it again\n\t\t\treturn;\n\t\t}\n\n\t\tisInViewport = ScrollAppear._isInViewport($element, threshold);\n\t\tif (isInViewport) {\n\t\t\tScrollAppear._addToQueue($element);\n\t\t}\n\t},\n\n\t_onFocus: function (e) {\n\t\tvar $focus = document.activeElement;\n\t\tvar $appear = $focus.closest(selectors.appear);\n\n\t\tif ($appear) {\n\t\t\tScrollAppear._addToQueue($appear, true);\n\t\t}\n\t},\n\n\t_isQueued: function ($element) {\n\t\t// Check all queues to see if $element is queued to appear\n\t\tvar i;\n\t\tvar queue;\n\n\t\tvar j;\n\t\tvar item;\n\n\t\tvar isQueued = false;\n\t\tfor (i = 0; i < queues.length; i++) {\n\t\t\tqueue = queues[i];\n\n\t\t\tfor (j = 0; j < queue.items.length; j++) {\n\t\t\t\titem = queue.items[j];\n\n\t\t\t\tif (item.$element === $element) {\n\t\t\t\t\tisQueued = true;\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (isQueued) {\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\n\t\treturn isQueued;\n\t},\n\n\t_getQueueById: function (id) {\n\t\t// Find a matching queue if one exists\n\n\t\tvar queue = queues.filter(function (queue) {\n\t\t\treturn queue.id === id;\n\t\t});\n\n\t\tif (queue.length) {\n\t\t\tqueue = queue[0];\n\t\t} else {\n\t\t\tqueue = null;\n\t\t}\n\n\t\treturn queue;\n\t},\n\n\t_getQueueByElement: function ($element) {\n\t\t// If $element is in a container, get its queue if\n\t\t// it exists, otherwise create a new one and add it.\n\t\t// If $element is not in a container, get the global queue\n\n\t\tvar $container = $element.closest(selectors.container);\n\t\tvar queueId;\n\t\tvar queue;\n\n\t\tif ($container) {\n\t\t\t// If the item is in a container, use the container's queue\n\t\t\tqueueId = $container.getAttribute(dataAttributes.queueId);\n\n\t\t\tif (queueId) {\n\t\t\t\t// If the container already has an ID, get its queue\n\t\t\t\tqueue = ScrollAppear._getQueueById(queueId);\n\n\t\t\t\tif (!queue) {\n\t\t\t\t\t// If the container's queue doesn't exist yet, create it\n\t\t\t\t\tqueue = ScrollAppear._addQueue(queueId);\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\t// If the container has no ID, create a new queue with a new unique ID\n\t\t\t\tqueueId = ScrollAppear._generateUniqueQueueId();\n\t\t\t\tqueue = ScrollAppear._addQueue(queueId);\n\t\t\t\t$container.setAttribute(dataAttributes.queueId, queueId);\n\t\t\t}\n\t\t} else {\n\t\t\t// If the item is not in a container, use the global queue\n\t\t\tqueue = ScrollAppear._getQueueById(Queues.GLOBAL);\n\t\t}\n\n\t\treturn queue;\n\t},\n\n\t_addQueue: function (id) {\n\t\tvar queue = {\n\t\t\tid: id,\n\t\t\titems: [],\n\t\t\ttimeout: null\n\t\t};\n\n\t\tqueues.push(queue);\n\n\t\treturn queue;\n\t},\n\n\t_generateUniqueQueueId: function () {\n\t\tvar id = Math.random().toString();\n\t\t// Remove '0.' from start, and limit to 5 characters\n\t\tid = id.substr(2, 5);\n\n\t\tvar matchingId = queues.filter(function (queue) {\n\t\t\treturn queue.id === id;\n\t\t});\n\t\tif (matchingId.length) {\n\t\t\t// Regenerate until unique\n\t\t\tid = ScrollAppear._generateUniqueQueueId.apply(this, arguments);\n\t\t}\n\n\t\treturn id;\n\t},\n\n\t_addToQueue: function ($element, immediate) {\n\t\tvar queue = ScrollAppear._getQueueByElement($element);\n\n\t\tvar delay = parseInt($element.getAttribute(dataAttributes.appearDelay), 10);\n\t\tvar queueItem = {\n\t\t\t$element: $element,\n\t\t\tdelay: delay\n\t\t};\n\n\t\tvar itemInQueue = queue.items.filter(function (item) {\n\t\t\treturn item.$element === $element;\n\t\t});\n\t\tvar itemInQueueIndex;\n\n\t\titemInQueue = itemInQueue.length ? itemInQueue[0] : null;\n\t\tif (itemInQueue) {\n\t\t\t// This element is already in the queue\n\t\t\tif (immediate) {\n\t\t\t\t// Remove it from the queue, it will be added back to the front\n\t\t\t\titemInQueueIndex = queue.items.indexOf(itemInQueue);\n\t\t\t\tqueue.items.splice(itemInQueueIndex, 1);\n\t\t\t} else {\n\t\t\t\t// Leave it where it is\n\t\t\t\treturn;\n\t\t\t}\n\t\t}\n\n\t\tif (immediate) {\n\t\t\t// If an item is waiting currently, cancel its timeout and inherit\n\t\t\t// the prior item's delay if it's longer than the current item's delay\n\t\t\tif (queue.timeout) {\n\t\t\t\twindow.clearTimeout(queue.timeout);\n\t\t\t\tqueue.timeout = null;\n\n\t\t\t\tif (queue.items.length && queue.items[0].priorDelay) {\n\t\t\t\t\tqueueItem.delay = Math.max(queueItem.delay, queue.items[0].priorDelay);\n\t\t\t\t} else {\n\t\t\t\t\t// This item was the only item in the queue, so leave its delay alone\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Add this item to the front of the queue\n\t\t\tqueue.items.unshift(queueItem);\n\t\t} else {\n\t\t\t// Add this item to the end of the queue\n\t\t\tqueue.items.push(queueItem);\n\t\t}\n\n\t\tif (queue.timeout === null) {\n\t\t\t// Use a small asynchronous delay so items entering the viewport\n\t\t\t// simultaneously will see one another sitting in the queue\n\t\t\tqueue.timeout = window.setTimeout(ScrollAppear._popQueue(queue.id), 10);\n\t\t}\n\t},\n\n\t_popQueue: function (id) {\n\t\treturn function () {\n\t\t\tvar queue = ScrollAppear._getQueueById(id);\n\t\t\tif (!queue) {\n\t\t\t\tqueue = ScrollAppear._getQueueById('global');\n\t\t\t}\n\n\t\t\tif (!queue.items.length) {\n\t\t\t\t// console.error('Cannot pop queue with no items', id);\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// Look at the first item in the queue\n\t\t\tvar queueItem = queue.items.shift();\n\n\t\t\tqueueItem.$element.setAttribute(dataAttributes.appear, true);\n\n\t\t\tif (queue.items.length) {\n\t\t\t\t// Prepare to show next item in queue\n\t\t\t\tqueue.timeout = window.setTimeout(ScrollAppear._popQueue(queue.id), queueItem.delay);\n\n\t\t\t\t// Record the prior delay\n\t\t\t\tqueue.items[0].priorDelay = queueItem.delay;\n\t\t\t} else {\n\t\t\t\t// No more items to show\n\t\t\t\tqueue.timeout = null;\n\t\t\t}\n\t\t};\n\t},\n\n\t_isInViewport: function ($element, threshold) {\n\t\t// Pretend the viewport is smaller on each edge by threshold px\n\t\tthreshold = threshold || 0;\n\n\t\tvar coords = $element.getBoundingClientRect();\n\n\t\tvar viewportHeight = window.innerHeight || document.documentElement.clientWidth;\n\n\t\t// If an element is partially in the viewport:\n\t\t// Top of page above bottom of element\n\t\tvar bottom = coords.bottom >= threshold;\n\n\t\t// Bottom of page below top of element\n\t\tvar top = coords.top <= viewportHeight - threshold;\n\n\t\tvar isInViewport = bottom && top;\n\n\t\treturn isInViewport;\n\t}\n};\n\nexport { ScrollAppear }\n","import $ from 'jquery';\n\nimport { MediaQueries } from 'Util/mediaqueries';\nimport { throttle } from 'Util/throttle';\nimport { debounce } from 'Util/debounce';\n\nvar selectors = Object.freeze({\n\tpricing: '.js-pricing',\n\titem: '.js-pricing__item',\n\tsection: '.js-pricing__item-section'\n});\n\nvar log = function () {\n\twindow.log = window.log || [];\n\twindow.log.push(Array.from(arguments));\n};\n\nvar Pricing = {\n\tinit: function () {\n\t\tPricing._initEvents();\n\n\t\tPricing._equaliseAll();\n\t},\n\n\t_initEvents: function () {\n\t\t// On resize, re-equalise\n\t\t$(window).on('resize', throttle(Pricing._equaliseAll, 200));\n\t\t$(window).on('resize', debounce(Pricing._equaliseAll, 200));\n\t},\n\n\t_equaliseAll: function () {\n\t\tvar $pricings = $(selectors.pricing);\n\n\t\tvar i;\n\t\tvar $pricing;\n\n\t\tfor (i = 0; i < $pricings.length; i++) {\n\t\t\t$pricing = $pricings.eq(i);\n\n\t\t\tPricing._equalisePricing($pricing);\n\t\t}\n\t},\n\n\t_equalisePricing: function ($pricing) {\n\t\t// For each item, find the tallest section at each index, then assign them all that maximum height\n\t\tvar groups = Pricing._createGroups($pricing);\n\t\tvar $items;\n\t\tvar i;\n\n\t\tfor (i = 0; i < groups.length; i++) {\n\t\t\t$items = groups[i];\n\n\t\t\tPricing._equaliseGroup($items);\n\t\t}\n\t},\n\n\t_createGroups: function ($pricing) {\n\t\tvar $items = $pricing.find(selectors.item);\n\n\t\tvar groups;\n\t\tvar groupSize;\n\n\t\tvar $item;\n\t\tvar groupIndex;\n\n\t\t// Sort items into groups based on mediaquery\n\t\tif (window.matchMedia(MediaQueries.queries['pricing--three-col']).matches) {\n\t\t\tgroupSize = 3;\n\t\t} else if (window.matchMedia(MediaQueries.queries['pricing--two-col']).matches) {\n\t\t\tgroupSize = 2;\n\t\t} else {\n\t\t\tgroupSize = 1;\n\t\t}\n\n\t\tgroups = new Array(Math.ceil($items.length / groupSize));\n\n\t\tvar i;\n\t\tfor (i = 0; i < $items.length; i++) {\n\t\t\t$item = $items.eq(i);\n\t\t\tgroupIndex = Math.floor(i / groupSize);\n\n\t\t\tif (!groups[groupIndex]) {\n\t\t\t\tgroups[groupIndex] = [];\n\t\t\t}\n\t\t\tgroups[groupIndex].push($item);\n\t\t}\n\n\t\treturn groups;\n\t},\n\n\t_equaliseGroup: function (group) {\n\t\t// group is an array of jQuery objects\n\n\t\tvar heights = [];\n\t\tvar height;\n\n\t\tvar i;\n\t\tvar $item;\n\n\t\tvar $sections;\n\t\tvar j;\n\t\tvar $section;\n\n\t\t// First loop: Collect heights\n\t\tfor (i = 0; i < group.length; i++) {\n\t\t\t$item = group[i];\n\t\t\t$sections = $item.find(selectors.section);\n\n\t\t\tfor (j = 0; j < $sections.length; j++) {\n\t\t\t\t$section = $sections.eq(j);\n\t\t\t\t$section.height('auto');\n\n\t\t\t\tif (group.length > 1) {\n\t\t\t\t\theight = $section.outerHeight();\n\n\t\t\t\t\tif (i === 0) {\n\t\t\t\t\t\theights.push(height);\n\t\t\t\t\t} else {\n\t\t\t\t\t\theights[j] = Math.max(heights[j], height);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t// Second loop: Assign heights\n\t\tif (group.length > 1) {\n\t\t\tfor (i = 0; i < group.length; i++) {\n\t\t\t\t$item = group[i];\n\t\t\t\t$sections = $item.find(selectors.section);\n\n\t\t\t\tfor (j = 0; j < $sections.length; j++) {\n\t\t\t\t\t$section = $sections.eq(j);\n\t\t\t\t\theight = heights[j];\n\n\t\t\t\t\t$section.outerHeight(height);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n};\n\nexport { Pricing }","import $ from 'jquery';\nimport { publish, unpublish, subscribe } from 'Util/pubsub';\n\nvar selectors = Object.freeze({\n\thub: '.js-nav-hub',\n\thubItem: '.js-nav-hub__item',\n});\n\nvar pubsubEvents = Object.freeze({\n\topened: '/expandcollapse/opened',\n\tclose: '/expandcollapse/close',\n\tnavToggle: '/nav/navToggle',\n});\n\nvar NavHub = {\n\n\tinit: function () {\n\t\tNavHub._initEvents();\n\t\tNavHub._initSubscriptions();\n\t},\n\n\t_initEvents: function () {\n\t\t$(selectors.hubItem).on('mouseleave', NavHub._closeOnMouseLeave);\n\t\t$(selectors.hubItem).on('focusout', NavHub._closeOnFocusOut);\n\t},\n\n\t_initSubscriptions: function () {\n\t\tsubscribe(pubsubEvents.opened, NavHub._checkHubOpened);\n\t},\n\n\t_closeOnMouseLeave: function (e) {\n\t\tvar $hubItem = $(e.target).closest(selectors.hubItem);\n\n\t\tpublish(pubsubEvents.close, [$hubItem]);\n\t},\n\n\t_closeOnFocusOut: function (e) {\n\t\tvar $hubItem = $(e.target).closest(selectors.hubItem);\n\n\t\t// Use timeout to see what has focus now\n\t\twindow.setTimeout(function () {\n\t\t\tvar $newActiveElement = $(document.activeElement);\n\n\t\t\tif ($newActiveElement.closest($hubItem).length === 0) {\n\t\t\t\tpublish(pubsubEvents.close, [$hubItem]);\n\t\t\t}\n\t\t}, 0);\n\t},\n\n\t_checkHubOpened: function ($opened, sets) {\n\t\tvar isInHub = $opened.closest(selectors.hub).length > 0;\n\n\t\tif (isInHub) {\n\t\t\tpublish(pubsubEvents.navToggle);\n\t\t}\n\t},\n};\n\nexport { NavHub }","import $ from 'jquery';\nimport * as Core from 'Util/core';\n\nvar selectors = {\n\tlink: '.js-calendar-link'\n};\n\nvar dataSelectors = {\n\tstartDate: 'calendar-start-date',\n\tendDate: 'calendar-end-date',\n\ttitle: 'calendar-title',\n\tdescription: 'calendar-description',\n\tvenue: 'calendar-venue',\n\taddress: 'calendar-address',\n\tcountry: 'calendar-country'\n};\n\nvar Calendar = {\n\tinit: function () {\n\t\tCalendar._initEvents();\n\t\tCalendar._initLinks();\n\t},\n\n\t_initEvents: function () {\n\t\t$(document).on('click', selectors.link, Calendar._linkClick);\n\t},\n\n\t_initLinks: function () {\n\t\tvar $links = $(selectors.link);\n\n\t\t$links.each(Calendar._initLink);\n\t},\n\n\t_initLink: function (i, el) {\n\t\tvar $link = $(el);\n\n\t\tvar url = Calendar._buildUrl($link);\n\n\t\t$link.attr('href', url);\n\t},\n\n\t_buildUrl: function ($link) {\n\t\tvar startDate = $link.data(dataSelectors.startDate) || '';\n\t\tvar endDate = $link.data(dataSelectors.endDate) || '';\n\n\t\tvar title = $link.data(dataSelectors.title) || '';\n\t\tvar description = $link.data(dataSelectors.description) || '';\n\t\tvar venue = $link.data(dataSelectors.venue) || '';\n\t\tvar address = $link.data(dataSelectors.address) || '';\n\t\tvar country = $link.data(dataSelectors.country) || '';\n\n\t\tvar location = [];\n\n\t\tvar href = 'data:text/calendar;charset=utf8,';\n\n\t\tif (startDate) {\n\t\t\tstartDate = Calendar._enforceDateFormat(startDate);\n\t\t}\n\t\tif (endDate) {\n\t\t\tendDate = Calendar._enforceDateFormat(endDate);\n\t\t}\n\n\t\tif (venue) {\n\t\t\tlocation.push(venue);\n\t\t}\n\t\tif (address) {\n\t\t\tlocation.push(address);\n\t\t}\n\t\tif (country) {\n\t\t\tlocation.push(country);\n\t\t}\n\t\tlocation = location.join(', ');\n\n\t\thref += ([\n\t\t\t'BEGIN:VCALENDAR',\n\t\t\t'VERSION:2.0',\n\t\t\t'BEGIN:VEVENT',\n\t\t\t'URL:' + document.URL,\n\t\t\t'DTSTART:' + startDate,\n\t\t\t'DTEND:' + endDate,\n\t\t\t'SUMMARY:' + title,\n\t\t\t'DESCRIPTION:' + description,\n\t\t\t'LOCATION:' + location,\n\t\t\t'END:VEVENT',\n\t\t\t'END:VCALENDAR'\n\t\t]).join('\\n');\n\n\t\t$link.attr('href', href);\n\t},\n\n\t_enforceDateFormat: function (dateString) {\n\t\tvar dateObj = new Date(dateString);\n\t\tvar year = dateObj.getFullYear();\n\t\tvar month = dateObj.getMonth() + 1;\n\t\tvar day = dateObj.getDate();\n\n\t\tif (isNaN(year)) {\n\t\t\treturn '';\n\t\t}\n\n\t\tif (month < 10) {\n\t\t\tmonth = '0' + month;\n\t\t}\n\t\tif (day < 10) {\n\t\t\tday = '0' + day;\n\t\t}\n\n\t\tdateString = '';\n\t\tdateString += year;\n\t\tdateString += month;\n\t\tdateString += day;\n\n\t\treturn dateString;\n\t},\n\n\t_linkClick: function (e) {\n\t\tvar $link;\n\t\tvar href;\n\t\tvar filename;\n\t\tvar blob;\n\n\t\tif (navigator.msSaveBlob) {\n\t\t\te.preventDefault();\n\n\t\t\t$link = $(e.target).closest(selectors.link);\n\t\t\thref = $link.attr('href');\n\t\t\tfilename = $link.attr('download');\n\t\t\tblob = Calendar._createBlob(href);\n\n\t\t\tnavigator.msSaveBlob(blob, filename);\n\t\t} else {\n\t\t\t// Let the default link action download the blob\n\t\t}\n\t},\n\n\t_createBlob: function (dataUrl) {\n\t\tvar blob;\n\t\tvar type = dataUrl.replace(/\\n/g, '').replace(/^data:(.*?);.*$/, '$1');\n\n\t\tblob = new Blob([dataUrl.replace(/^data:.*?;.*?,/, '')], {\n\t\t\ttype: type\n\t\t});\n\n\t\treturn blob;\n\t}\n};\n\nexport { Calendar };","/* app/ui/form/delegate */\n\nimport $ from 'jquery';\nimport * as Core from 'Util/core';\n\nvar selectors = {\n\tprimary: '.js-form-delegate-primary',\n\n\tsecondary: '.js-form-delegate-secondary',\n\tsecondaryInput: '.js-form-delegate-secondary-input',\n\n\tvalueInput: '.js-form-delegate-value-input'\n};\n\nvar dataSelectors = {\n\tset: 'form-delegate-set',\n\tvalue: 'form-delegate-value'\n};\n\nvar FormDelegate = {\n\tinit: function () {\n\t\tFormDelegate._initEvents();\n\n\t\t$(selectors.primary).trigger('init');\n\t\tFormDelegate._initValue($(selectors.secondaryInput).filter(':visible'));\n\t},\n\n\t_initEvents: function () {\n\t\t$(document).on('change init', selectors.primary, FormDelegate._primaryUpdateEvent);\n\t\t$(document).on('change', selectors.secondaryInput, FormDelegate._secondaryChangeEvent);\n\t},\n\n\t_primaryUpdateEvent: function (e) {\n\t\tvar $primary = $(e.target).closest(selectors.primary);\n\t\tvar set = $primary.data(dataSelectors.set);\n\t\tvar value = $primary.val();\n\n\t\tvar $secondarySet = $(selectors.secondary).filter('[data-' + dataSelectors.set + '=\"' + set + '\"]');\n\t\tvar $target = $secondarySet.filter(function (i, el) {\n\t\t\tvar $el = $(el);\n\t\t\treturn $el.data(dataSelectors.value).toString() === value;\n\t\t});\n\t\tvar $targetInput = $target.find(selectors.secondaryInput);\n\n\t\t$secondarySet.hide();\n\t\t$target.show();\n\n\t\t$targetInput.val('').trigger('change');\n\t},\n\n\t_secondaryChangeEvent: function (e) {\n\t\tvar $secondaryInput = $(e.target);\n\t\tvar value = $secondaryInput.val();\n\n\t\tvar $secondary = $secondaryInput.closest(selectors.secondary);\n\t\tvar set = $secondary.data(dataSelectors.set);\n\n\t\tvar $valueInput = $(selectors.valueInput).filter('[data-' + dataSelectors.set + '=\"' + set + '\"]');\n\n\t\t$valueInput.val(value).trigger('change');\n\t},\n\n\t_initValue: function ($input) {\n\t\tvar $secondary = $input.closest(selectors.secondary);\n\t\tvar set = $secondary.data(dataSelectors.set);\n\n\t\tvar $valueInput = $(selectors.valueInput).filter('[data-' + dataSelectors.set + '=\"' + set + '\"]');\n\t\tvar name = $valueInput.attr('name');\n\n\t\tvar queryString = Core.getQueryStringObject();\n\t\tvar value = queryString[name];\n\n\t\t$input.val(value).trigger('change');\n\n\t}\n};\n\nexport { FormDelegate };","import jQuery from 'jquery';\nimport { throttle } from 'Util/throttle';\n\n;\n(function ($, window, document, undefined) {\n\n\t'use strict';\n\n\t// Create the defaults once\n\tvar pluginName = 'tableScroll';\n\tvar wrapper = '<div class=\"tablescroll\"><div class=\"tablescroll-inner\"></div></div>';\n\n\t// The actual plugin constructor\n\tfunction Plugin(element) {\n\t\tthis.pluginName = pluginName;\n\t\tthis.element = element;\n\t\tthis.$element = $(element);\n\t\tthis.init();\n\t}\n\n\tPlugin.prototype.init = function () {\n\t\tvar wrappingDiv;\n\t\tvar isScrolling;\n\t\tthis._wrapTable();\n\t\tthis._initEvents();\n\n\t\twrappingDiv = this.$element.closest('.tablescroll-inner')[0];\n\t\tisScrolling = this._checkWidth(wrappingDiv);\n\t\tif (isScrolling) {\n\t\t\tthis._checkPosition(wrappingDiv);\n\t\t}\n\t};\n\n\tPlugin.prototype._initEvents = function () {\n\t\tthis.$element.closest('.tablescroll-inner').on('scroll', { plugin: this }, throttle(this._scrollEvent, 250));\n\t\t$(window).on('resize', { plugin: this }, throttle(this._tableResizeEvent, 250));\n\t};\n\n\tPlugin.prototype._wrapTable = function () {\n\t\tthis.$element.wrap(wrapper);\n\t};\n\n\tPlugin.prototype._checkWidth = function (element) {\n\n\t\tvar $wrapper = $(element);\n\t\tvar $table = $wrapper.find('table');\n\t\tvar isScrolling = $table.width() > $wrapper.width();\n\t\t//console.log('table-width', $table.width(), 'wrapper-width', $wrapper.width(), 'is scrolling', isScrolling);\n\t\tif (isScrolling) {\n\t\t\t$wrapper.closest('.tablescroll').addClass('is-scrolling');\n\t\t\treturn true;\n\t\t}\n\n\t\t$wrapper.closest('.tablescroll').removeClass('is-scrolling');\n\t\treturn false;\n\n\t};\n\n\tPlugin.prototype._scrollEvent = function (e) {\n\t\tvar plugin = e.data.plugin;\n\t\tvar isScrolling = plugin._checkWidth(this);\n\t\tif (isScrolling) {\n\t\t\tplugin._checkPosition(this);\n\t\t}\n\t};\n\n\tPlugin.prototype._tableResizeEvent = function (e) {\n\t\tif (!e || !e.data || !e.data.plugin || e.data.plugin.pluginName === 'evenSteven') {\n\t\t\treturn;\n\t\t}\n\t\tvar plugin = e.data.plugin;\n\t\tvar $items = $('.tablescroll-inner');\n\t\tfor (var i = 0, length = $items.length; i < length; i++) {\n\t\t\tvar current = $items[i];\n\t\t\tvar isScrolling = plugin._checkWidth(current);\n\t\t\tif (isScrolling) {\n\t\t\t\tplugin._checkPosition(current);\n\t\t\t}\n\t\t}\n\t};\n\n\tPlugin.prototype._checkPosition = function (elem) {\n\t\tvar $this = $(elem);\n\t\tvar tableWidth = $this.find('table').width();\n\t\tvar scrollLeft = $this.scrollLeft();\n\t\tvar containerWidth = $this.width();\n\t\tvar isStart = scrollLeft === 0;\n\t\tvar isEnd = tableWidth <= (scrollLeft + containerWidth);\n\t\tthis._setClasses(isStart, isEnd, $this.closest('.tablescroll'));\n\t};\n\n\tPlugin.prototype._setClasses = function (isStart, isEnd, $container) {\n\t\tif (isStart || isEnd) {\n\t\t\tif (isStart) {\n\t\t\t\t$container.addClass('is-start');\n\t\t\t}\n\t\t\tif (isEnd) {\n\t\t\t\t$container.addClass('is-end');\n\t\t\t}\n\t\t\treturn;\n\t\t}\n\t\t$container.removeClass('is-start').removeClass('is-end');\n\t};\n\n\t$.fn[pluginName] = function (options) {\n\t\treturn this.each(function () {\n\t\t\tif (!$.data(this, pluginName)) {\n\t\t\t\t$.data(this, pluginName,\n\t\t\t\t\tnew Plugin(this, options));\n\t\t\t}\n\t\t});\n\t};\n\n})(jQuery, window, document);","import $ from 'jquery';\nimport { LazyLoad } from 'Util/lazyload';\nimport { NavLoad } from 'App/nav/load';\nimport { TrackLoad } from 'App/track/load';\nimport { Rotator } from 'App/rotator/rotator';\nimport { ExpandCollapse } from 'App/expand-collapse/expand-collapse';\nimport { ExpandCollapseModal } from 'App/expand-collapse/modal';\nimport { ExpandCollapseSelect } from 'App/expand-collapse/select';\nimport { VideoPlayer } from 'App/video/video.player';\nimport { Social as SocialShare } from 'App/social/share';\nimport { MapLoad } from 'App/map/map.load';\nimport { UmbracoForms } from 'App/form/form.umbraco';\nimport { AjaxReplace } from 'App/ajaxreplace/ajaxreplace';\nimport { Ticker } from 'App/ticker/ticker';\nimport { BackToTop } from 'App/back-to-top/back-to-top';\nimport { Cookie } from 'App/cookie/cookie';\nimport { SelectLink } from 'App/select-link/select-link';\nimport { SelectCustom } from 'App/select-custom/select-custom';\nimport { Faq } from 'App/faq/faq';\nimport { Resources } from 'App/resources/resources';\nimport { Validate } from 'App/form/validate';\nimport { modal } from 'App/modal/modal';\nimport { AnimationBanner } from 'App/animation-banner/animation-banner';\nimport { ScrollAppear } from 'App/scroll-appear/scroll-appear';\nimport { Pricing } from 'App/pricing/pricing';\nimport { NavHub } from 'App/nav/hub';\nimport { Calendar } from 'App/event/calendar';\nimport { FormDelegate } from 'App/form/delegate';\nimport { throttle } from 'Util/throttle';\nimport { publish, unpublish, subscribe } from 'Util/pubsub';\n\nimport moment from 'moment';\nimport Pikaday from 'pikaday';\nimport 'phatfingaz';\nimport 'appendaround';\nimport 'magnificPopup';\nimport 'tablescroll';\n\nvar DefaultPage = {\n\n\tinit: function () {\n\n\t\tTrackLoad.init();\n\t\tNavLoad.init();\n\t\tAjaxReplace.init();\n\t\tSocialShare.init();\n\t\tCookie.init();\n\t\tSelectLink.init();\n\t\tSelectCustom.init();\n\t\tCalendar.init();\n\t\tFormDelegate.init();\n\t\tFaq.init();\n\t\tResources.init();\n\t\tValidate.init();\n\t\tVideoPlayer.init();\n\t\tExpandCollapse.init();\n\n\t\t// Publish Resize event\n\t\tvar publishResizeEvent = function () {\n\t\t\tpublish('/window/resize');\n\t\t};\n\n\t\tvar publishScrollEvent = function () {\n\t\t\tpublish('/window/scroll');\n\t\t};\n\n\t\tif ($('.js-lazy-content').length || $('.js-lazy-auto').length) {\n\t\t\tLazyLoad.init();\n\t\t}\n\n\t\tif ($('js-umbraco-form').length) {\n\t\t\tUmbracoForms.init();\n\t\t}\n\n\t\tif ($('.js-nav-hub').length) {\n\t\t\tNavHub.init();\n\t\t}\n\n\t\t//if (document.querySelector('.js-video-player')) {\n\t\t//\timport(/* webpackChunkName: \"VideoLoad\" */ 'App/video/load').then(({ VideoLoad }) => {\n\t\t//\t\tVideoLoad.init();\n\t\t//\t});\n\t\t//}\n\n\t\t$('.js-hot').phatFingaz();\n\n\t\t// AnimationBanner\n\t\tif ($(\".js-animation-banner\").length) {\n\t\t\tAnimationBanner.init();\n\t\t}\n\n\t\tif ($('.js-expand-collapse__select').length) {\n\t\t\tExpandCollapseSelect.init();\n\t\t}\n\n\t\tif ($('.js-expand-collapse__modal').length) {\n\t\t\tExpandCollapseModal.init();\n\t\t}\n\n\t\tif ($('.js-scroll-appear').length) {\n\t\t\tScrollAppear.init();\n\t\t}\n\n\t\tif ($('.js-pricing').length) {\n\t\t\tPricing.init();\n\t\t}\n\n\t\t// Maps\n\t\tvar $maps = $('.js-map');\n\t\tif ($maps.length) {\n\t\t\tMapLoad.init($maps);\n\t\t}\n\n\t\t// Rotators self-initialises\n\t\tvar $pageRotators = $('.js-rotator');\n\n\t\tif ($pageRotators.length) {\n\t\t\tRotator.init($pageRotators);\n\t\t}\n\n\t\t// Modal\n\t\tmodal.init({\n\t\t\tonShow: function ($modal) {\n\t\t\t\t$(window).trigger('/lazyload/resize');\n\n\t\t\t\tvar $rotators = $modal.find('.js-rotator');\n\t\t\t\tvar thisFlick;\n\t\t\t\t$rotators.each(function (i, el) {\n\t\t\t\t\tthisFlick = $(el).data('flickity-instance');\n\n\t\t\t\t\tif (thisFlick) {\n\t\t\t\t\t\tthisFlick.resize();\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t}\n\t\t});\n\n\t\t// Ticker\n\t\tvar $ticker = $('.js-statistics');\n\t\tif ($ticker.length) {\n\t\t\tTicker.init();\n\t\t}\n\n\t\t// Back to top\n\t\tif ($('.js-back-to-top').length) {\n\t\t\tBackToTop.init();\n\t\t}\n\n\t\tvar $window = $(window);\n\t\t$window.on('resize', throttle(publishResizeEvent));\n\t\t$window.on('scroll', publishScrollEvent);\n\n\t\tvar $datepickers = $('.js-datepicker');\n\t\tif ($datepickers.length) {\n\t\t\t$datepickers.each(function () {\n\t\t\t\tvar $datepicker = $(this);\n\n\t\t\t\tif ($('.touchevents').length) {\n\t\t\t\t\t$datepicker.attr('readonly', 'readonly');\n\t\t\t\t}\n\t\t\t\tnew Pikaday({ field: this, yearRange: 10 });\n\t\t\t});\n\t\t}\n\n\t\t// Language Dropdown\n\t\tvar languagePicker = $('#language_chooser');\n\t\tvar languageRedirect = function () {\n\t\t\twindow.location.href = this.value;\n\t\t};\n\n\t\tlanguagePicker.appendAround();\n\t\tlanguagePicker.on('change', languageRedirect);\n\n\n\t\tif ($('.js-lightbox-single').length) {\n\n\t\t\t$('.js-lightbox-single').magnificPopup({\n\t\t\t\tdelegate: '.js-lightbox-image',\n\t\t\t\ttype: 'image'\n\t\t\t});\n\t\t}\n\n\t\tif ($('.js-lightbox-gallery').length) {\n\n\t\t\t$('.js-lightbox-gallery').each(function () {\n\t\t\t\t$(this).magnificPopup({\n\t\t\t\t\tdelegate: '.js-lightbox-image',\n\t\t\t\t\ttype: 'image',\n\t\t\t\t\tgallery: {\n\t\t\t\t\t\tenabled: true,\n\t\t\t\t\t\tnavigateByImgClick: true,\n\t\t\t\t\t\tpreload: [0, 1] // Will preload 0 - before current, and 1 after the current image\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t});\n\t\t}\n\n\t\tif ($('.js-video-group__item').length) {\n\n\t\t\t$('.js-video-group__item').magnificPopup({\n\t\t\t\ttype: 'iframe'\n\t\t\t});\n\t\t}\n\n\t\t// Check DOM for elements requiring JS\n\t\tvar $tables = $('.c-rte').find('table');\n\n\t\t// Table Scroll\n\t\tif ($tables.length) {\n\t\t\t$tables.tableScroll();\n\t\t}\n\n\t\t// Webchat \n\t\tif ($('.webchat-container').length) {\n\t\t\t$('.js-show-webchat').click(function () {\n\t\t\t\t$('.js-show-webchat').addClass(\"is-hidden\");\n\t\t\t\t$('.js-webchat').addClass(\"is-showing\")\n\t\t\t});\n\n\t\t\t$('.js-close-webchat').click(function () {\n\t\t\t\t$('.js-show-webchat').removeClass(\"is-hidden\");\n\t\t\t\t$('.js-webchat').removeClass(\"is-showing\")\n\t\t\t});\n\t\t}\n\n\t}\n};\n\nexport { DefaultPage };","import $ from 'jquery'\nimport { Permissions } from 'App/permissions/permissions';\n\nvar Cookie = {\n\tinit: function () {\n\t\tPermissions.get({\n\t\t\ttype: 'cookie'\n\t\t});\n\t}\n};\n\nexport { Cookie }","/*! Selectric ÏŸ v1.13.0 (2017-08-22) - git.io/tjl9sQ - Copyright (c) 2017 Leonardo Santos - MIT License */\nimport jQuery from 'jquery';\n!function (e) { \"function\" == typeof define && define.amd ? define([\"jquery\"], e) : \"object\" == typeof module && module.exports ? module.exports = function (t, s) { return void 0 === s && (s = \"undefined\" != typeof window ? require(\"jquery\") : require(\"jquery\")(t)), e(s), s } : e(jQuery) }(function (e) { \"use strict\"; var t = e(document), s = e(window), l = [\"a\", \"e\", \"i\", \"o\", \"u\", \"n\", \"c\", \"y\"], i = [/[\\xE0-\\xE5]/g, /[\\xE8-\\xEB]/g, /[\\xEC-\\xEF]/g, /[\\xF2-\\xF6]/g, /[\\xF9-\\xFC]/g, /[\\xF1]/g, /[\\xE7]/g, /[\\xFD-\\xFF]/g], n = function (t, s) { var l = this; l.element = t, l.$element = e(t), l.state = { multiple: !!l.$element.attr(\"multiple\"), enabled: !1, opened: !1, currValue: -1, selectedIdx: -1, highlightedIdx: -1 }, l.eventTriggers = { open: l.open, close: l.close, destroy: l.destroy, refresh: l.refresh, init: l.init }, l.init(s) }; n.prototype = { utils: { isMobile: function () { return /android|ip(hone|od|ad)/i.test(navigator.userAgent) }, escapeRegExp: function (e) { return e.replace(/[.*+?^${}()|[\\]\\\\]/g, \"\\\\$&\") }, replaceDiacritics: function (e) { for (var t = i.length; t--;)e = e.toLowerCase().replace(i[t], l[t]); return e }, format: function (e) { var t = arguments; return (\"\" + e).replace(/\\{(?:(\\d+)|(\\w+))\\}/g, function (e, s, l) { return l && t[1] ? t[1][l] : t[s] }) }, nextEnabledItem: function (e, t) { for (; e[t = (t + 1) % e.length].disabled;); return t }, previousEnabledItem: function (e, t) { for (; e[t = (t > 0 ? t : e.length) - 1].disabled;); return t }, toDash: function (e) { return e.replace(/([a-z0-9])([A-Z])/g, \"$1-$2\").toLowerCase() }, triggerCallback: function (t, s) { var l = s.element, i = s.options[\"on\" + t], n = [l].concat([].slice.call(arguments).slice(1)); e.isFunction(i) && i.apply(l, n), e(l).trigger(\"selectric-\" + this.toDash(t), n) }, arrayToClassname: function (t) { var s = e.grep(t, function (e) { return !!e }); return e.trim(s.join(\" \")) } }, init: function (t) { var s = this; if (s.options = e.extend(!0, {}, e.fn.selectric.defaults, s.options, t), s.utils.triggerCallback(\"BeforeInit\", s), s.destroy(!0), s.options.disableOnMobile && s.utils.isMobile()) return void (s.disableOnMobile = !0); s.classes = s.getClassNames(); var l = e(\"<input/>\", { class: s.classes.input, readonly: s.utils.isMobile() }), i = e(\"<div/>\", { class: s.classes.items, tabindex: -1 }), n = e(\"<div/>\", { class: s.classes.scroll }), a = e(\"<div/>\", { class: s.classes.prefix, html: s.options.arrowButtonMarkup }), o = e(\"<span/>\", { class: \"label\" }), r = s.$element.wrap(\"<div/>\").parent().append(a.prepend(o), i, l), u = e(\"<div/>\", { class: s.classes.hideselect }); s.elements = { input: l, items: i, itemsScroll: n, wrapper: a, label: o, outerWrapper: r }, s.options.nativeOnMobile && s.utils.isMobile() && (s.elements.input = void 0, u.addClass(s.classes.prefix + \"-is-native\"), s.$element.on(\"change\", function () { s.refresh() })), s.$element.on(s.eventTriggers).wrap(u), s.originalTabindex = s.$element.prop(\"tabindex\"), s.$element.prop(\"tabindex\", -1), s.populate(), s.activate(), s.utils.triggerCallback(\"Init\", s) }, activate: function () { var e = this, t = e.elements.items.closest(\":visible\").children(\":hidden\").addClass(e.classes.tempshow), s = e.$element.width(); t.removeClass(e.classes.tempshow), e.utils.triggerCallback(\"BeforeActivate\", e), e.elements.outerWrapper.prop(\"class\", e.utils.arrayToClassname([e.classes.wrapper, e.$element.prop(\"class\").replace(/\\S+/g, e.classes.prefix + \"-$&\"), e.options.responsive ? e.classes.responsive : \"\"])), e.options.inheritOriginalWidth && s > 0 && e.elements.outerWrapper.width(s), e.unbindEvents(), e.$element.prop(\"disabled\") ? (e.elements.outerWrapper.addClass(e.classes.disabled), e.elements.input && e.elements.input.prop(\"disabled\", !0)) : (e.state.enabled = !0, e.elements.outerWrapper.removeClass(e.classes.disabled), e.$li = e.elements.items.removeAttr(\"style\").find(\"li\"), e.bindEvents()), e.utils.triggerCallback(\"Activate\", e) }, getClassNames: function () { var t = this, s = t.options.customClass, l = {}; return e.each(\"Input Items Open Disabled TempShow HideSelect Wrapper Focus Hover Responsive Above Below Scroll Group GroupLabel\".split(\" \"), function (e, i) { var n = s.prefix + i; l[i.toLowerCase()] = s.camelCase ? n : t.utils.toDash(n) }), l.prefix = s.prefix, l }, setLabel: function () { var t = this, s = t.options.labelBuilder; if (t.state.multiple) { var l = e.isArray(t.state.currValue) ? t.state.currValue : [t.state.currValue]; l = 0 === l.length ? [0] : l; var i = e.map(l, function (s) { return e.grep(t.lookupItems, function (e) { return e.index === s })[0] }); i = e.grep(i, function (t) { return i.length > 1 || 0 === i.length ? \"\" !== e.trim(t.value) : t }), i = e.map(i, function (l) { return e.isFunction(s) ? s(l) : t.utils.format(s, l) }), t.options.multiple.maxLabelEntries && (i.length >= t.options.multiple.maxLabelEntries + 1 ? (i = i.slice(0, t.options.multiple.maxLabelEntries), i.push(e.isFunction(s) ? s({ text: \"...\" }) : t.utils.format(s, { text: \"...\" }))) : i.slice(i.length - 1)), t.elements.label.html(i.join(t.options.multiple.separator)) } else { var n = t.lookupItems[t.state.currValue]; t.elements.label.html(e.isFunction(s) ? s(n) : t.utils.format(s, n)) } }, populate: function () { var t = this, s = t.$element.children(), l = t.$element.find(\"option\"), i = l.filter(\":selected\"), n = l.index(i), a = 0, o = t.state.multiple ? [] : 0; i.length > 1 && t.state.multiple && (n = [], i.each(function () { n.push(e(this).index()) })), t.state.currValue = ~n ? n : o, t.state.selectedIdx = t.state.currValue, t.state.highlightedIdx = t.state.currValue, t.items = [], t.lookupItems = [], s.length && (s.each(function (s) { var l = e(this); if (l.is(\"optgroup\")) { var i = { element: l, label: l.prop(\"label\"), groupDisabled: l.prop(\"disabled\"), items: [] }; l.children().each(function (s) { var l = e(this); i.items[s] = t.getItemData(a, l, i.groupDisabled || l.prop(\"disabled\")), t.lookupItems[a] = i.items[s], a++ }), t.items[s] = i } else t.items[s] = t.getItemData(a, l, l.prop(\"disabled\")), t.lookupItems[a] = t.items[s], a++ }), t.setLabel(), t.elements.items.append(t.elements.itemsScroll.html(t.getItemsMarkup(t.items)))) }, getItemData: function (t, s, l) { var i = this; return { index: t, element: s, value: s.val(), className: s.prop(\"class\"), text: s.html(), slug: e.trim(i.utils.replaceDiacritics(s.html())), alt: s.attr(\"data-alt\"), selected: s.prop(\"selected\"), disabled: l } }, getItemsMarkup: function (t) { var s = this, l = \"<ul>\"; return e.isFunction(s.options.listBuilder) && s.options.listBuilder && (t = s.options.listBuilder(t)), e.each(t, function (t, i) { void 0 !== i.label ? (l += s.utils.format('<ul class=\"{1}\"><li class=\"{2}\">{3}</li>', s.utils.arrayToClassname([s.classes.group, i.groupDisabled ? \"disabled\" : \"\", i.element.prop(\"class\")]), s.classes.grouplabel, i.element.prop(\"label\")), e.each(i.items, function (e, t) { l += s.getItemMarkup(t.index, t) }), l += \"</ul>\") : l += s.getItemMarkup(i.index, i) }), l + \"</ul>\" }, getItemMarkup: function (t, s) { var l = this, i = l.options.optionsItemBuilder, n = { value: s.value, text: s.text, slug: s.slug, index: s.index }; return l.utils.format('<li data-index=\"{1}\" class=\"{2}\">{3}</li>', t, l.utils.arrayToClassname([s.className, t === l.items.length - 1 ? \"last\" : \"\", s.disabled ? \"disabled\" : \"\", s.selected ? \"selected\" : \"\"]), e.isFunction(i) ? l.utils.format(i(s, this.$element, t), s) : l.utils.format(i, n)) }, unbindEvents: function () { var e = this; e.elements.wrapper.add(e.$element).add(e.elements.outerWrapper).add(e.elements.input).off(\".sl\") }, bindEvents: function () { var t = this; t.elements.outerWrapper.on(\"mouseenter.sl mouseleave.sl\", function (s) { e(this).toggleClass(t.classes.hover, \"mouseenter\" === s.type), t.options.openOnHover && (clearTimeout(t.closeTimer), \"mouseleave\" === s.type ? t.closeTimer = setTimeout(e.proxy(t.close, t), t.options.hoverIntentTimeout) : t.open()) }), t.elements.wrapper.on(\"click.sl\", function (e) { t.state.opened ? t.close() : t.open(e) }), t.options.nativeOnMobile && t.utils.isMobile() || (t.$element.on(\"focus.sl\", function () { t.elements.input.focus() }), t.elements.input.prop({ tabindex: t.originalTabindex, disabled: !1 }).on(\"keydown.sl\", e.proxy(t.handleKeys, t)).on(\"focusin.sl\", function (e) { t.elements.outerWrapper.addClass(t.classes.focus), t.elements.input.one(\"blur\", function () { t.elements.input.blur() }), t.options.openOnFocus && !t.state.opened && t.open(e) }).on(\"focusout.sl\", function () { t.elements.outerWrapper.removeClass(t.classes.focus) }).on(\"input propertychange\", function () { var s = t.elements.input.val(), l = new RegExp(\"^\" + t.utils.escapeRegExp(s), \"i\"); clearTimeout(t.resetStr), t.resetStr = setTimeout(function () { t.elements.input.val(\"\") }, t.options.keySearchTimeout), s.length && e.each(t.items, function (e, s) { if (!s.disabled) { if (l.test(s.text) || l.test(s.slug)) return void t.highlight(e); if (s.alt) for (var i = s.alt.split(\"|\"), n = 0; n < i.length && i[n]; n++)if (l.test(i[n].trim())) return void t.highlight(e) } }) })), t.$li.on({ mousedown: function (e) { e.preventDefault(), e.stopPropagation() }, click: function () { return t.select(e(this).data(\"index\")), !1 } }) }, handleKeys: function (t) { var s = this, l = t.which, i = s.options.keys, n = e.inArray(l, i.previous) > -1, a = e.inArray(l, i.next) > -1, o = e.inArray(l, i.select) > -1, r = e.inArray(l, i.open) > -1, u = s.state.highlightedIdx, p = n && 0 === u || a && u + 1 === s.items.length, c = 0; if (13 !== l && 32 !== l || t.preventDefault(), n || a) { if (!s.options.allowWrap && p) return; n && (c = s.utils.previousEnabledItem(s.lookupItems, u)), a && (c = s.utils.nextEnabledItem(s.lookupItems, u)), s.highlight(c) } if (o && s.state.opened) return s.select(u), void (s.state.multiple && s.options.multiple.keepMenuOpen || s.close()); r && !s.state.opened && s.open() }, refresh: function () { var e = this; e.populate(), e.activate(), e.utils.triggerCallback(\"Refresh\", e) }, setOptionsDimensions: function () { var e = this, t = e.elements.items.closest(\":visible\").children(\":hidden\").addClass(e.classes.tempshow), s = e.options.maxHeight, l = e.elements.items.outerWidth(), i = e.elements.wrapper.outerWidth() - (l - e.elements.items.width()); !e.options.expandToItemText || i > l ? e.finalWidth = i : (e.elements.items.css(\"overflow\", \"scroll\"), e.elements.outerWrapper.width(9e4), e.finalWidth = e.elements.items.width(), e.elements.items.css(\"overflow\", \"\"), e.elements.outerWrapper.width(\"\")), e.elements.items.width(e.finalWidth).height() > s && e.elements.items.height(s), t.removeClass(e.classes.tempshow) }, isInViewport: function () { var e = this; if (!0 === e.options.forceRenderAbove) e.elements.outerWrapper.addClass(e.classes.above); else if (!0 === e.options.forceRenderBelow) e.elements.outerWrapper.addClass(e.classes.below); else { var t = s.scrollTop(), l = s.height(), i = e.elements.outerWrapper.offset().top, n = e.elements.outerWrapper.outerHeight(), a = i + n + e.itemsHeight <= t + l, o = i - e.itemsHeight > t, r = !a && o, u = !r; e.elements.outerWrapper.toggleClass(e.classes.above, r), e.elements.outerWrapper.toggleClass(e.classes.below, u) } }, detectItemVisibility: function (t) { var s = this, l = s.$li.filter(\"[data-index]\"); s.state.multiple && (t = e.isArray(t) && 0 === t.length ? 0 : t, t = e.isArray(t) ? Math.min.apply(Math, t) : t); var i = l.eq(t).outerHeight(), n = l[t].offsetTop, a = s.elements.itemsScroll.scrollTop(), o = n + 2 * i; s.elements.itemsScroll.scrollTop(o > a + s.itemsHeight ? o - s.itemsHeight : n - i < a ? n - i : a) }, open: function (s) { var l = this; if (l.options.nativeOnMobile && l.utils.isMobile()) return !1; l.utils.triggerCallback(\"BeforeOpen\", l), s && (s.preventDefault(), l.options.stopPropagation && s.stopPropagation()), l.state.enabled && (l.setOptionsDimensions(), e(\".\" + l.classes.hideselect, \".\" + l.classes.open).children().selectric(\"close\"), l.state.opened = !0, l.itemsHeight = l.elements.items.outerHeight(), l.itemsInnerHeight = l.elements.items.height(), l.elements.outerWrapper.addClass(l.classes.open), l.elements.input.val(\"\"), s && \"focusin\" !== s.type && l.elements.input.focus(), setTimeout(function () { t.on(\"click.sl\", e.proxy(l.close, l)).on(\"scroll.sl\", e.proxy(l.isInViewport, l)) }, 1), l.isInViewport(), l.options.preventWindowScroll && t.on(\"mousewheel.sl DOMMouseScroll.sl\", \".\" + l.classes.scroll, function (t) { var s = t.originalEvent, i = e(this).scrollTop(), n = 0; \"detail\" in s && (n = -1 * s.detail), \"wheelDelta\" in s && (n = s.wheelDelta), \"wheelDeltaY\" in s && (n = s.wheelDeltaY), \"deltaY\" in s && (n = -1 * s.deltaY), (i === this.scrollHeight - l.itemsInnerHeight && n < 0 || 0 === i && n > 0) && t.preventDefault() }), l.detectItemVisibility(l.state.selectedIdx), l.highlight(l.state.multiple ? -1 : l.state.selectedIdx), l.utils.triggerCallback(\"Open\", l)) }, close: function () { var e = this; e.utils.triggerCallback(\"BeforeClose\", e), t.off(\".sl\"), e.elements.outerWrapper.removeClass(e.classes.open), e.state.opened = !1, e.utils.triggerCallback(\"Close\", e) }, change: function () { var t = this; t.utils.triggerCallback(\"BeforeChange\", t), t.state.multiple ? (e.each(t.lookupItems, function (e) { t.lookupItems[e].selected = !1, t.$element.find(\"option\").prop(\"selected\", !1) }), e.each(t.state.selectedIdx, function (e, s) { t.lookupItems[s].selected = !0, t.$element.find(\"option\").eq(s).prop(\"selected\", !0) }), t.state.currValue = t.state.selectedIdx, t.setLabel(), t.utils.triggerCallback(\"Change\", t)) : t.state.currValue !== t.state.selectedIdx && (t.$element.prop(\"selectedIndex\", t.state.currValue = t.state.selectedIdx).data(\"value\", t.lookupItems[t.state.selectedIdx].text), t.setLabel(), t.utils.triggerCallback(\"Change\", t)) }, highlight: function (e) { var t = this, s = t.$li.filter(\"[data-index]\").removeClass(\"highlighted\"); t.utils.triggerCallback(\"BeforeHighlight\", t), void 0 === e || -1 === e || t.lookupItems[e].disabled || (s.eq(t.state.highlightedIdx = e).addClass(\"highlighted\"), t.detectItemVisibility(e), t.utils.triggerCallback(\"Highlight\", t)) }, select: function (t) { var s = this, l = s.$li.filter(\"[data-index]\"); if (s.utils.triggerCallback(\"BeforeSelect\", s, t), void 0 !== t && -1 !== t && !s.lookupItems[t].disabled) { if (s.state.multiple) { s.state.selectedIdx = e.isArray(s.state.selectedIdx) ? s.state.selectedIdx : [s.state.selectedIdx]; var i = e.inArray(t, s.state.selectedIdx); -1 !== i ? s.state.selectedIdx.splice(i, 1) : s.state.selectedIdx.push(t), l.removeClass(\"selected\").filter(function (t) { return -1 !== e.inArray(t, s.state.selectedIdx) }).addClass(\"selected\") } else l.removeClass(\"selected\").eq(s.state.selectedIdx = t).addClass(\"selected\"); s.state.multiple && s.options.multiple.keepMenuOpen || s.close(), s.change(), s.utils.triggerCallback(\"Select\", s, t) } }, destroy: function (e) { var t = this; t.state && t.state.enabled && (t.elements.items.add(t.elements.wrapper).add(t.elements.input).remove(), e || t.$element.removeData(\"selectric\").removeData(\"value\"), t.$element.prop(\"tabindex\", t.originalTabindex).off(\".sl\").off(t.eventTriggers).unwrap().unwrap(), t.state.enabled = !1) } }, e.fn.selectric = function (t) { return this.each(function () { var s = e.data(this, \"selectric\"); s && !s.disableOnMobile ? \"string\" == typeof t && s[t] ? s[t]() : s.init(t) : e.data(this, \"selectric\", new n(this, t)) }) }, e.fn.selectric.defaults = { onChange: function (t) { e(t).change() }, maxHeight: 300, keySearchTimeout: 500, arrowButtonMarkup: '<b class=\"button\">▾</b>', disableOnMobile: !1, nativeOnMobile: !0, openOnFocus: !0, openOnHover: !1, hoverIntentTimeout: 500, expandToItemText: !1, responsive: !1, preventWindowScroll: !0, inheritOriginalWidth: !1, allowWrap: !0, forceRenderAbove: !1, forceRenderBelow: !1, stopPropagation: !0, optionsItemBuilder: \"{text}\", labelBuilder: \"{text}\", listBuilder: !1, keys: { previous: [37, 38], next: [39, 40], select: [9, 13, 27], open: [13, 32, 37, 38, 39, 40], close: [9, 27] }, customClass: { prefix: \"selectric\", camelCase: !1 }, multiple: { separator: \", \", keepMenuOpen: !0, maxLabelEntries: !1 } } });","/*! VelocityJS.org (1.5.0). (C) 2014 Julian Shapiro. MIT @license: en.wikipedia.org/wiki/MIT_License */\n/*! VelocityJS.org jQuery Shim (1.0.1). (C) 2014 The jQuery Foundation. MIT @license: en.wikipedia.org/wiki/MIT_License. */\n!function(a){\"use strict\";function b(a){var b=a.length,d=c.type(a);return\"function\"!==d&&!c.isWindow(a)&&(!(1!==a.nodeType||!b)||(\"array\"===d||0===b||\"number\"==typeof b&&b>0&&b-1 in a))}if(!a.jQuery){var c=function(a,b){return new c.fn.init(a,b)};c.isWindow=function(a){return a&&a===a.window},c.type=function(a){return a?\"object\"==typeof a||\"function\"==typeof a?e[g.call(a)]||\"object\":typeof a:a+\"\"},c.isArray=Array.isArray||function(a){return\"array\"===c.type(a)},c.isPlainObject=function(a){var b;if(!a||\"object\"!==c.type(a)||a.nodeType||c.isWindow(a))return!1;try{if(a.constructor&&!f.call(a,\"constructor\")&&!f.call(a.constructor.prototype,\"isPrototypeOf\"))return!1}catch(d){return!1}for(b in a);return b===undefined||f.call(a,b)},c.each=function(a,c,d){var e=0,f=a.length,g=b(a);if(d){if(g)for(;e<f&&c.apply(a[e],d)!==!1;e++);else for(e in a)if(a.hasOwnProperty(e)&&c.apply(a[e],d)===!1)break}else if(g)for(;e<f&&c.call(a[e],e,a[e])!==!1;e++);else for(e in a)if(a.hasOwnProperty(e)&&c.call(a[e],e,a[e])===!1)break;return a},c.data=function(a,b,e){if(e===undefined){var f=a[c.expando],g=f&&d[f];if(b===undefined)return g;if(g&&b in g)return g[b]}else if(b!==undefined){var h=a[c.expando]||(a[c.expando]=++c.uuid);return d[h]=d[h]||{},d[h][b]=e,e}},c.removeData=function(a,b){var e=a[c.expando],f=e&&d[e];f&&(b?c.each(b,function(a,b){delete f[b]}):delete d[e])},c.extend=function(){var a,b,d,e,f,g,h=arguments[0]||{},i=1,j=arguments.length,k=!1;for(\"boolean\"==typeof h&&(k=h,h=arguments[i]||{},i++),\"object\"!=typeof h&&\"function\"!==c.type(h)&&(h={}),i===j&&(h=this,i--);i<j;i++)if(f=arguments[i])for(e in f)f.hasOwnProperty(e)&&(a=h[e],d=f[e],h!==d&&(k&&d&&(c.isPlainObject(d)||(b=c.isArray(d)))?(b?(b=!1,g=a&&c.isArray(a)?a:[]):g=a&&c.isPlainObject(a)?a:{},h[e]=c.extend(k,g,d)):d!==undefined&&(h[e]=d)));return h},c.queue=function(a,d,e){if(a){d=(d||\"fx\")+\"queue\";var f=c.data(a,d);return e?(!f||c.isArray(e)?f=c.data(a,d,function(a,c){var d=c||[];return a&&(b(Object(a))?function(a,b){for(var c=+b.length,d=0,e=a.length;d<c;)a[e++]=b[d++];if(c!==c)for(;b[d]!==undefined;)a[e++]=b[d++];a.length=e,a}(d,\"string\"==typeof a?[a]:a):[].push.call(d,a)),d}(e)):f.push(e),f):f||[]}},c.dequeue=function(a,b){c.each(a.nodeType?[a]:a,function(a,d){b=b||\"fx\";var e=c.queue(d,b),f=e.shift();\"inprogress\"===f&&(f=e.shift()),f&&(\"fx\"===b&&e.unshift(\"inprogress\"),f.call(d,function(){c.dequeue(d,b)}))})},c.fn=c.prototype={init:function(a){if(a.nodeType)return this[0]=a,this;throw new Error(\"Not a DOM node.\")},offset:function(){var b=this[0].getBoundingClientRect?this[0].getBoundingClientRect():{top:0,left:0};return{top:b.top+(a.pageYOffset||document.scrollTop||0)-(document.clientTop||0),left:b.left+(a.pageXOffset||document.scrollLeft||0)-(document.clientLeft||0)}},position:function(){var a=this[0],b=function(a){for(var b=a.offsetParent;b&&\"html\"!==b.nodeName.toLowerCase()&&b.style&&\"static\"===b.style.position;)b=b.offsetParent;return b||document}(a),d=this.offset(),e=/^(?:body|html)$/i.test(b.nodeName)?{top:0,left:0}:c(b).offset();return d.top-=parseFloat(a.style.marginTop)||0,d.left-=parseFloat(a.style.marginLeft)||0,b.style&&(e.top+=parseFloat(b.style.borderTopWidth)||0,e.left+=parseFloat(b.style.borderLeftWidth)||0),{top:d.top-e.top,left:d.left-e.left}}};var d={};c.expando=\"velocity\"+(new Date).getTime(),c.uuid=0;for(var e={},f=e.hasOwnProperty,g=e.toString,h=\"Boolean Number String Function Array Date RegExp Object Error\".split(\" \"),i=0;i<h.length;i++)e[\"[object \"+h[i]+\"]\"]=h[i].toLowerCase();c.fn.init.prototype=c.fn,a.Velocity={Utilities:c}}}(window),function(a){\"use strict\";\"object\"==typeof module&&\"object\"==typeof module.exports?module.exports=a():\"function\"==typeof define&&define.amd?define(a):a()}(function(){\"use strict\";return function(a,b,c,d){function e(a){for(var b=-1,c=a?a.length:0,d=[];++b<c;){var e=a[b];e&&d.push(e)}return d}function f(a){return u.isWrapped(a)?a=s.call(a):u.isNode(a)&&(a=[a]),a}function g(a){var b=o.data(a,\"velocity\");return null===b?d:b}function h(a,b){var c=g(a);c&&c.delayTimer&&!c.delayPaused&&(c.delayRemaining=c.delay-b+c.delayBegin,c.delayPaused=!0,clearTimeout(c.delayTimer.setTimeout))}function i(a,b){var c=g(a);c&&c.delayTimer&&c.delayPaused&&(c.delayPaused=!1,c.delayTimer.setTimeout=setTimeout(c.delayTimer.next,c.delayRemaining))}function j(a){return function(b){return Math.round(b*a)*(1/a)}}function k(a,c,d,e){function f(a,b){return 1-3*b+3*a}function g(a,b){return 3*b-6*a}function h(a){return 3*a}function i(a,b,c){return((f(b,c)*a+g(b,c))*a+h(b))*a}function j(a,b,c){return 3*f(b,c)*a*a+2*g(b,c)*a+h(b)}function k(b,c){for(var e=0;e<p;++e){var f=j(c,a,d);if(0===f)return c;c-=(i(c,a,d)-b)/f}return c}function l(){for(var b=0;b<t;++b)x[b]=i(b*u,a,d)}function m(b,c,e){var f,g,h=0;do{g=c+(e-c)/2,f=i(g,a,d)-b,f>0?e=g:c=g}while(Math.abs(f)>r&&++h<s);return g}function n(b){for(var c=0,e=1,f=t-1;e!==f&&x[e]<=b;++e)c+=u;--e;var g=(b-x[e])/(x[e+1]-x[e]),h=c+g*u,i=j(h,a,d);return i>=q?k(b,h):0===i?h:m(b,c,c+u)}function o(){y=!0,a===c&&d===e||l()}var p=4,q=.001,r=1e-7,s=10,t=11,u=1/(t-1),v=\"Float32Array\"in b;if(4!==arguments.length)return!1;for(var w=0;w<4;++w)if(\"number\"!=typeof arguments[w]||isNaN(arguments[w])||!isFinite(arguments[w]))return!1;a=Math.min(a,1),d=Math.min(d,1),a=Math.max(a,0),d=Math.max(d,0);var x=v?new Float32Array(t):new Array(t),y=!1,z=function(b){return y||o(),a===c&&d===e?b:0===b?0:1===b?1:i(n(b),c,e)};z.getControlPoints=function(){return[{x:a,y:c},{x:d,y:e}]};var A=\"generateBezier(\"+[a,c,d,e]+\")\";return z.toString=function(){return A},z}function l(a,b){var c=a;return u.isString(a)?y.Easings[a]||(c=!1):c=u.isArray(a)&&1===a.length?j.apply(null,a):u.isArray(a)&&2===a.length?z.apply(null,a.concat([b])):!(!u.isArray(a)||4!==a.length)&&k.apply(null,a),c===!1&&(c=y.Easings[y.defaults.easing]?y.defaults.easing:x),c}function m(a){if(a){var b=y.timestamp&&a!==!0?a:r.now(),c=y.State.calls.length;c>1e4&&(y.State.calls=e(y.State.calls),c=y.State.calls.length);for(var f=0;f<c;f++)if(y.State.calls[f]){var h=y.State.calls[f],i=h[0],j=h[2],k=h[3],l=!!k,q=null,s=h[5],t=h[6];if(k||(k=y.State.calls[f][3]=b-16),s){if(s.resume!==!0)continue;k=h[3]=Math.round(b-t-16),h[5]=null}t=h[6]=b-k;for(var v=Math.min(t/j.duration,1),w=0,x=i.length;w<x;w++){var z=i[w],B=z.element;if(g(B)){var D=!1;if(j.display!==d&&null!==j.display&&\"none\"!==j.display){if(\"flex\"===j.display){var E=[\"-webkit-box\",\"-moz-box\",\"-ms-flexbox\",\"-webkit-flex\"];o.each(E,function(a,b){A.setPropertyValue(B,\"display\",b)})}A.setPropertyValue(B,\"display\",j.display)}j.visibility!==d&&\"hidden\"!==j.visibility&&A.setPropertyValue(B,\"visibility\",j.visibility);for(var F in z)if(z.hasOwnProperty(F)&&\"element\"!==F){var G,H=z[F],I=u.isString(H.easing)?y.Easings[H.easing]:H.easing;if(u.isString(H.pattern)){var J=1===v?function(a,b,c){var d=H.endValue[b];return c?Math.round(d):d}:function(a,b,c){var d=H.startValue[b],e=H.endValue[b]-d,f=d+e*I(v,j,e);return c?Math.round(f):f};G=H.pattern.replace(/{(\\d+)(!)?}/g,J)}else if(1===v)G=H.endValue;else{var K=H.endValue-H.startValue;G=H.startValue+K*I(v,j,K)}if(!l&&G===H.currentValue)continue;if(H.currentValue=G,\"tween\"===F)q=G;else{var L;if(A.Hooks.registered[F]){L=A.Hooks.getRoot(F);var M=g(B).rootPropertyValueCache[L];M&&(H.rootPropertyValue=M)}var N=A.setPropertyValue(B,F,H.currentValue+(p<9&&0===parseFloat(G)?\"\":H.unitType),H.rootPropertyValue,H.scrollData);A.Hooks.registered[F]&&(A.Normalizations.registered[L]?g(B).rootPropertyValueCache[L]=A.Normalizations.registered[L](\"extract\",null,N[1]):g(B).rootPropertyValueCache[L]=N[1]),\"transform\"===N[0]&&(D=!0)}}j.mobileHA&&g(B).transformCache.translate3d===d&&(g(B).transformCache.translate3d=\"(0px, 0px, 0px)\",D=!0),D&&A.flushTransformCache(B)}}j.display!==d&&\"none\"!==j.display&&(y.State.calls[f][2].display=!1),j.visibility!==d&&\"hidden\"!==j.visibility&&(y.State.calls[f][2].visibility=!1),j.progress&&j.progress.call(h[1],h[1],v,Math.max(0,k+j.duration-b),k,q),1===v&&n(f)}}y.State.isTicking&&C(m)}function n(a,b){if(!y.State.calls[a])return!1;for(var c=y.State.calls[a][0],e=y.State.calls[a][1],f=y.State.calls[a][2],h=y.State.calls[a][4],i=!1,j=0,k=c.length;j<k;j++){var l=c[j].element;b||f.loop||(\"none\"===f.display&&A.setPropertyValue(l,\"display\",f.display),\"hidden\"===f.visibility&&A.setPropertyValue(l,\"visibility\",f.visibility));var m=g(l);if(f.loop!==!0&&(o.queue(l)[1]===d||!/\\.velocityQueueEntryFlag/i.test(o.queue(l)[1]))&&m){m.isAnimating=!1,m.rootPropertyValueCache={};var n=!1;o.each(A.Lists.transforms3D,function(a,b){var c=/^scale/.test(b)?1:0,e=m.transformCache[b];m.transformCache[b]!==d&&new RegExp(\"^\\\\(\"+c+\"[^.]\").test(e)&&(n=!0,delete m.transformCache[b])}),f.mobileHA&&(n=!0,delete m.transformCache.translate3d),n&&A.flushTransformCache(l),A.Values.removeClass(l,\"velocity-animating\")}if(!b&&f.complete&&!f.loop&&j===k-1)try{f.complete.call(e,e)}catch(r){setTimeout(function(){throw r},1)}h&&f.loop!==!0&&h(e),m&&f.loop===!0&&!b&&(o.each(m.tweensContainer,function(a,b){if(/^rotate/.test(a)&&(parseFloat(b.startValue)-parseFloat(b.endValue))%360==0){var c=b.startValue;b.startValue=b.endValue,b.endValue=c}/^backgroundPosition/.test(a)&&100===parseFloat(b.endValue)&&\"%\"===b.unitType&&(b.endValue=0,b.startValue=100)}),y(l,\"reverse\",{loop:!0,delay:f.delay})),f.queue!==!1&&o.dequeue(l,f.queue)}y.State.calls[a]=!1;for(var p=0,q=y.State.calls.length;p<q;p++)if(y.State.calls[p]!==!1){i=!0;break}i===!1&&(y.State.isTicking=!1,delete y.State.calls,y.State.calls=[])}var o,p=function(){if(c.documentMode)return c.documentMode;for(var a=7;a>4;a--){var b=c.createElement(\"div\");if(b.innerHTML=\"<!--[if IE \"+a+\"]><span></span><![endif]-->\",b.getElementsByTagName(\"span\").length)return b=null,a}return d}(),q=function(){var a=0;return b.webkitRequestAnimationFrame||b.mozRequestAnimationFrame||function(b){var c,d=(new Date).getTime();return c=Math.max(0,16-(d-a)),a=d+c,setTimeout(function(){b(d+c)},c)}}(),r=function(){var a=b.performance||{};if(\"function\"!=typeof a.now){var c=a.timing&&a.timing.navigationStart?a.timing.navigationStart:(new Date).getTime();a.now=function(){return(new Date).getTime()-c}}return a}(),s=function(){var a=Array.prototype.slice;try{return a.call(c.documentElement),a}catch(b){return function(b,c){var d=this.length;if(\"number\"!=typeof b&&(b=0),\"number\"!=typeof c&&(c=d),this.slice)return a.call(this,b,c);var e,f=[],g=b>=0?b:Math.max(0,d+b),h=c<0?d+c:Math.min(c,d),i=h-g;if(i>0)if(f=new Array(i),this.charAt)for(e=0;e<i;e++)f[e]=this.charAt(g+e);else for(e=0;e<i;e++)f[e]=this[g+e];return f}}}(),t=function(){return Array.prototype.includes?function(a,b){return a.includes(b)}:Array.prototype.indexOf?function(a,b){return a.indexOf(b)>=0}:function(a,b){for(var c=0;c<a.length;c++)if(a[c]===b)return!0;return!1}},u={isNumber:function(a){return\"number\"==typeof a},isString:function(a){return\"string\"==typeof a},isArray:Array.isArray||function(a){return\"[object Array]\"===Object.prototype.toString.call(a)},isFunction:function(a){return\"[object Function]\"===Object.prototype.toString.call(a)},isNode:function(a){return a&&a.nodeType},isWrapped:function(a){return a&&a!==b&&u.isNumber(a.length)&&!u.isString(a)&&!u.isFunction(a)&&!u.isNode(a)&&(0===a.length||u.isNode(a[0]))},isSVG:function(a){return b.SVGElement&&a instanceof b.SVGElement},isEmptyObject:function(a){for(var b in a)if(a.hasOwnProperty(b))return!1;return!0}},v=!1;if(a.fn&&a.fn.jquery?(o=a,v=!0):o=b.Velocity.Utilities,p<=8&&!v)throw new Error(\"Velocity: IE8 and below require jQuery to be loaded before Velocity.\");if(p<=7)return void(jQuery.fn.velocity=jQuery.fn.animate);var w=400,x=\"swing\",y={State:{isMobile:/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent),isAndroid:/Android/i.test(navigator.userAgent),isGingerbread:/Android 2\\.3\\.[3-7]/i.test(navigator.userAgent),isChrome:b.chrome,isFirefox:/Firefox/i.test(navigator.userAgent),prefixElement:c.createElement(\"div\"),prefixMatches:{},scrollAnchor:null,scrollPropertyLeft:null,scrollPropertyTop:null,isTicking:!1,calls:[],delayedElements:{count:0}},CSS:{},Utilities:o,Redirects:{},Easings:{},Promise:b.Promise,defaults:{queue:\"\",duration:w,easing:x,begin:d,complete:d,progress:d,display:d,visibility:d,loop:!1,delay:!1,mobileHA:!0,_cacheValues:!0,promiseRejectEmpty:!0},init:function(a){o.data(a,\"velocity\",{isSVG:u.isSVG(a),isAnimating:!1,computedStyle:null,tweensContainer:null,rootPropertyValueCache:{},transformCache:{}})},hook:null,mock:!1,version:{major:1,minor:5,patch:0},debug:!1,timestamp:!0,pauseAll:function(a){var b=(new Date).getTime();o.each(y.State.calls,function(b,c){if(c){if(a!==d&&(c[2].queue!==a||c[2].queue===!1))return!0;c[5]={resume:!1}}}),o.each(y.State.delayedElements,function(a,c){c&&h(c,b)})},resumeAll:function(a){var b=(new Date).getTime();o.each(y.State.calls,function(b,c){if(c){if(a!==d&&(c[2].queue!==a||c[2].queue===!1))return!0;c[5]&&(c[5].resume=!0)}}),o.each(y.State.delayedElements,function(a,c){c&&i(c,b)})}};b.pageYOffset!==d?(y.State.scrollAnchor=b,y.State.scrollPropertyLeft=\"pageXOffset\",y.State.scrollPropertyTop=\"pageYOffset\"):(y.State.scrollAnchor=c.documentElement||c.body.parentNode||c.body,y.State.scrollPropertyLeft=\"scrollLeft\",y.State.scrollPropertyTop=\"scrollTop\");var z=function(){function a(a){return-a.tension*a.x-a.friction*a.v}function b(b,c,d){var e={x:b.x+d.dx*c,v:b.v+d.dv*c,tension:b.tension,friction:b.friction};return{dx:e.v,dv:a(e)}}function c(c,d){var e={dx:c.v,dv:a(c)},f=b(c,.5*d,e),g=b(c,.5*d,f),h=b(c,d,g),i=1/6*(e.dx+2*(f.dx+g.dx)+h.dx),j=1/6*(e.dv+2*(f.dv+g.dv)+h.dv);return c.x=c.x+i*d,c.v=c.v+j*d,c}return function d(a,b,e){var f,g,h,i={x:-1,v:0,tension:null,friction:null},j=[0],k=0;for(a=parseFloat(a)||500,b=parseFloat(b)||20,e=e||null,i.tension=a,i.friction=b,f=null!==e,f?(k=d(a,b),g=k/e*.016):g=.016;;)if(h=c(h||i,g),j.push(1+h.x),k+=16,!(Math.abs(h.x)>1e-4&&Math.abs(h.v)>1e-4))break;return f?function(a){return j[a*(j.length-1)|0]}:k}}();y.Easings={linear:function(a){return a},swing:function(a){return.5-Math.cos(a*Math.PI)/2},spring:function(a){return 1-Math.cos(4.5*a*Math.PI)*Math.exp(6*-a)}},o.each([[\"ease\",[.25,.1,.25,1]],[\"ease-in\",[.42,0,1,1]],[\"ease-out\",[0,0,.58,1]],[\"ease-in-out\",[.42,0,.58,1]],[\"easeInSine\",[.47,0,.745,.715]],[\"easeOutSine\",[.39,.575,.565,1]],[\"easeInOutSine\",[.445,.05,.55,.95]],[\"easeInQuad\",[.55,.085,.68,.53]],[\"easeOutQuad\",[.25,.46,.45,.94]],[\"easeInOutQuad\",[.455,.03,.515,.955]],[\"easeInCubic\",[.55,.055,.675,.19]],[\"easeOutCubic\",[.215,.61,.355,1]],[\"easeInOutCubic\",[.645,.045,.355,1]],[\"easeInQuart\",[.895,.03,.685,.22]],[\"easeOutQuart\",[.165,.84,.44,1]],[\"easeInOutQuart\",[.77,0,.175,1]],[\"easeInQuint\",[.755,.05,.855,.06]],[\"easeOutQuint\",[.23,1,.32,1]],[\"easeInOutQuint\",[.86,0,.07,1]],[\"easeInExpo\",[.95,.05,.795,.035]],[\"easeOutExpo\",[.19,1,.22,1]],[\"easeInOutExpo\",[1,0,0,1]],[\"easeInCirc\",[.6,.04,.98,.335]],[\"easeOutCirc\",[.075,.82,.165,1]],[\"easeInOutCirc\",[.785,.135,.15,.86]]],function(a,b){y.Easings[b[0]]=k.apply(null,b[1])});var A=y.CSS={RegEx:{isHex:/^#([A-f\\d]{3}){1,2}$/i,valueUnwrap:/^[A-z]+\\((.*)\\)$/i,wrappedValueAlreadyExtracted:/[0-9.]+ [0-9.]+ [0-9.]+( [0-9.]+)?/,valueSplit:/([A-z]+\\(.+\\))|(([A-z0-9#-.]+?)(?=\\s|$))/gi},Lists:{colors:[\"fill\",\"stroke\",\"stopColor\",\"color\",\"backgroundColor\",\"borderColor\",\"borderTopColor\",\"borderRightColor\",\"borderBottomColor\",\"borderLeftColor\",\"outlineColor\"],transformsBase:[\"translateX\",\"translateY\",\"scale\",\"scaleX\",\"scaleY\",\"skewX\",\"skewY\",\"rotateZ\"],transforms3D:[\"transformPerspective\",\"translateZ\",\"scaleZ\",\"rotateX\",\"rotateY\"],units:[\"%\",\"em\",\"ex\",\"ch\",\"rem\",\"vw\",\"vh\",\"vmin\",\"vmax\",\"cm\",\"mm\",\"Q\",\"in\",\"pc\",\"pt\",\"px\",\"deg\",\"grad\",\"rad\",\"turn\",\"s\",\"ms\"],colorNames:{aliceblue:\"240,248,255\",antiquewhite:\"250,235,215\",aquamarine:\"127,255,212\",aqua:\"0,255,255\",azure:\"240,255,255\",beige:\"245,245,220\",bisque:\"255,228,196\",black:\"0,0,0\",blanchedalmond:\"255,235,205\",blueviolet:\"138,43,226\",blue:\"0,0,255\",brown:\"165,42,42\",burlywood:\"222,184,135\",cadetblue:\"95,158,160\",chartreuse:\"127,255,0\",chocolate:\"210,105,30\",coral:\"255,127,80\",cornflowerblue:\"100,149,237\",cornsilk:\"255,248,220\",crimson:\"220,20,60\",cyan:\"0,255,255\",darkblue:\"0,0,139\",darkcyan:\"0,139,139\",darkgoldenrod:\"184,134,11\",darkgray:\"169,169,169\",darkgrey:\"169,169,169\",darkgreen:\"0,100,0\",darkkhaki:\"189,183,107\",darkmagenta:\"139,0,139\",darkolivegreen:\"85,107,47\",darkorange:\"255,140,0\",darkorchid:\"153,50,204\",darkred:\"139,0,0\",darksalmon:\"233,150,122\",darkseagreen:\"143,188,143\",darkslateblue:\"72,61,139\",darkslategray:\"47,79,79\",darkturquoise:\"0,206,209\",darkviolet:\"148,0,211\",deeppink:\"255,20,147\",deepskyblue:\"0,191,255\",dimgray:\"105,105,105\",dimgrey:\"105,105,105\",dodgerblue:\"30,144,255\",firebrick:\"178,34,34\",floralwhite:\"255,250,240\",forestgreen:\"34,139,34\",fuchsia:\"255,0,255\",gainsboro:\"220,220,220\",ghostwhite:\"248,248,255\",gold:\"255,215,0\",goldenrod:\"218,165,32\",gray:\"128,128,128\",grey:\"128,128,128\",greenyellow:\"173,255,47\",green:\"0,128,0\",honeydew:\"240,255,240\",hotpink:\"255,105,180\",indianred:\"205,92,92\",indigo:\"75,0,130\",ivory:\"255,255,240\",khaki:\"240,230,140\",lavenderblush:\"255,240,245\",lavender:\"230,230,250\",lawngreen:\"124,252,0\",lemonchiffon:\"255,250,205\",lightblue:\"173,216,230\",lightcoral:\"240,128,128\",lightcyan:\"224,255,255\",lightgoldenrodyellow:\"250,250,210\",lightgray:\"211,211,211\",lightgrey:\"211,211,211\",lightgreen:\"144,238,144\",lightpink:\"255,182,193\",lightsalmon:\"255,160,122\",lightseagreen:\"32,178,170\",lightskyblue:\"135,206,250\",lightslategray:\"119,136,153\",lightsteelblue:\"176,196,222\",lightyellow:\"255,255,224\",limegreen:\"50,205,50\",lime:\"0,255,0\",linen:\"250,240,230\",magenta:\"255,0,255\",maroon:\"128,0,0\",mediumaquamarine:\"102,205,170\",mediumblue:\"0,0,205\",mediumorchid:\"186,85,211\",mediumpurple:\"147,112,219\",mediumseagreen:\"60,179,113\",mediumslateblue:\"123,104,238\",mediumspringgreen:\"0,250,154\",mediumturquoise:\"72,209,204\",mediumvioletred:\"199,21,133\",midnightblue:\"25,25,112\",mintcream:\"245,255,250\",mistyrose:\"255,228,225\",moccasin:\"255,228,181\",navajowhite:\"255,222,173\",navy:\"0,0,128\",oldlace:\"253,245,230\",olivedrab:\"107,142,35\",olive:\"128,128,0\",orangered:\"255,69,0\",orange:\"255,165,0\",orchid:\"218,112,214\",palegoldenrod:\"238,232,170\",palegreen:\"152,251,152\",paleturquoise:\"175,238,238\",palevioletred:\"219,112,147\",papayawhip:\"255,239,213\",peachpuff:\"255,218,185\",peru:\"205,133,63\",pink:\"255,192,203\",plum:\"221,160,221\",powderblue:\"176,224,230\",purple:\"128,0,128\",red:\"255,0,0\",rosybrown:\"188,143,143\",royalblue:\"65,105,225\",saddlebrown:\"139,69,19\",salmon:\"250,128,114\",sandybrown:\"244,164,96\",seagreen:\"46,139,87\",seashell:\"255,245,238\",sienna:\"160,82,45\",silver:\"192,192,192\",skyblue:\"135,206,235\",slateblue:\"106,90,205\",slategray:\"112,128,144\",snow:\"255,250,250\",springgreen:\"0,255,127\",steelblue:\"70,130,180\",tan:\"210,180,140\",teal:\"0,128,128\",thistle:\"216,191,216\",tomato:\"255,99,71\",turquoise:\"64,224,208\",violet:\"238,130,238\",wheat:\"245,222,179\",whitesmoke:\"245,245,245\",white:\"255,255,255\",yellowgreen:\"154,205,50\",yellow:\"255,255,0\"}},Hooks:{templates:{textShadow:[\"Color X Y Blur\",\"black 0px 0px 0px\"],boxShadow:[\"Color X Y Blur Spread\",\"black 0px 0px 0px 0px\"],clip:[\"Top Right Bottom Left\",\"0px 0px 0px 0px\"],backgroundPosition:[\"X Y\",\"0% 0%\"],transformOrigin:[\"X Y Z\",\"50% 50% 0px\"],perspectiveOrigin:[\"X Y\",\"50% 50%\"]},registered:{},register:function(){for(var a=0;a<A.Lists.colors.length;a++){var b=\"color\"===A.Lists.colors[a]?\"0 0 0 1\":\"255 255 255 1\";A.Hooks.templates[A.Lists.colors[a]]=[\"Red Green Blue Alpha\",b]}var c,d,e;if(p)for(c in A.Hooks.templates)if(A.Hooks.templates.hasOwnProperty(c)){d=A.Hooks.templates[c],e=d[0].split(\" \");var f=d[1].match(A.RegEx.valueSplit);\"Color\"===e[0]&&(e.push(e.shift()),f.push(f.shift()),A.Hooks.templates[c]=[e.join(\" \"),f.join(\" \")])}for(c in A.Hooks.templates)if(A.Hooks.templates.hasOwnProperty(c)){d=A.Hooks.templates[c],e=d[0].split(\" \");for(var g in e)if(e.hasOwnProperty(g)){var h=c+e[g],i=g;A.Hooks.registered[h]=[c,i]}}},getRoot:function(a){var b=A.Hooks.registered[a];return b?b[0]:a},getUnit:function(a,b){var c=(a.substr(b||0,5).match(/^[a-z%]+/)||[])[0]||\"\";return c&&t(A.Lists.units,c)?c:\"\"},fixColors:function(a){return a.replace(/(rgba?\\(\\s*)?(\\b[a-z]+\\b)/g,function(a,b,c){return A.Lists.colorNames.hasOwnProperty(c)?(b?b:\"rgba(\")+A.Lists.colorNames[c]+(b?\"\":\",1)\"):b+c})},cleanRootPropertyValue:function(a,b){return A.RegEx.valueUnwrap.test(b)&&(b=b.match(A.RegEx.valueUnwrap)[1]),A.Values.isCSSNullValue(b)&&(b=A.Hooks.templates[a][1]),b},extractValue:function(a,b){var c=A.Hooks.registered[a];if(c){var d=c[0],e=c[1];return b=A.Hooks.cleanRootPropertyValue(d,b),b.toString().match(A.RegEx.valueSplit)[e]}return b},injectValue:function(a,b,c){var d=A.Hooks.registered[a];if(d){var e,f=d[0],g=d[1];return c=A.Hooks.cleanRootPropertyValue(f,c),e=c.toString().match(A.RegEx.valueSplit),e[g]=b,e.join(\" \")}return c}},Normalizations:{registered:{clip:function(a,b,c){switch(a){case\"name\":return\"clip\";case\"extract\":var d;return A.RegEx.wrappedValueAlreadyExtracted.test(c)?d=c:(d=c.toString().match(A.RegEx.valueUnwrap),d=d?d[1].replace(/,(\\s+)?/g,\" \"):c),d;case\"inject\":return\"rect(\"+c+\")\"}},blur:function(a,b,c){switch(a){case\"name\":return y.State.isFirefox?\"filter\":\"-webkit-filter\";case\"extract\":var d=parseFloat(c);if(!d&&0!==d){var e=c.toString().match(/blur\\(([0-9]+[A-z]+)\\)/i);d=e?e[1]:0}return d;case\"inject\":return parseFloat(c)?\"blur(\"+c+\")\":\"none\"}},opacity:function(a,b,c){if(p<=8)switch(a){case\"name\":return\"filter\";case\"extract\":var d=c.toString().match(/alpha\\(opacity=(.*)\\)/i);return c=d?d[1]/100:1;case\"inject\":return b.style.zoom=1,parseFloat(c)>=1?\"\":\"alpha(opacity=\"+parseInt(100*parseFloat(c),10)+\")\"}else switch(a){case\"name\":return\"opacity\";case\"extract\":return c;case\"inject\":return c}}},register:function(){function a(a,b,c){if(\"border-box\"===A.getPropertyValue(b,\"boxSizing\").toString().toLowerCase()===(c||!1)){var d,e,f=0,g=\"width\"===a?[\"Left\",\"Right\"]:[\"Top\",\"Bottom\"],h=[\"padding\"+g[0],\"padding\"+g[1],\"border\"+g[0]+\"Width\",\"border\"+g[1]+\"Width\"];for(d=0;d<h.length;d++)e=parseFloat(A.getPropertyValue(b,h[d])),isNaN(e)||(f+=e);return c?-f:f}return 0}function b(b,c){return function(d,e,f){switch(d){case\"name\":return b;case\"extract\":return parseFloat(f)+a(b,e,c);case\"inject\":return parseFloat(f)-a(b,e,c)+\"px\"}}}p&&!(p>9)||y.State.isGingerbread||(A.Lists.transformsBase=A.Lists.transformsBase.concat(A.Lists.transforms3D));for(var c=0;c<A.Lists.transformsBase.length;c++)!function(){var a=A.Lists.transformsBase[c];A.Normalizations.registered[a]=function(b,c,e){switch(b){case\"name\":return\"transform\";case\"extract\":return g(c)===d||g(c).transformCache[a]===d?/^scale/i.test(a)?1:0:g(c).transformCache[a].replace(/[()]/g,\"\");case\"inject\":var f=!1;switch(a.substr(0,a.length-1)){case\"translate\":f=!/(%|px|em|rem|vw|vh|\\d)$/i.test(e);break;case\"scal\":case\"scale\":y.State.isAndroid&&g(c).transformCache[a]===d&&e<1&&(e=1),f=!/(\\d)$/i.test(e);break;case\"skew\":f=!/(deg|\\d)$/i.test(e);break;case\"rotate\":f=!/(deg|\\d)$/i.test(e)}return f||(g(c).transformCache[a]=\"(\"+e+\")\"),g(c).transformCache[a]}}}();for(var e=0;e<A.Lists.colors.length;e++)!function(){var a=A.Lists.colors[e];A.Normalizations.registered[a]=function(b,c,e){switch(b){case\"name\":return a;case\"extract\":var f;if(A.RegEx.wrappedValueAlreadyExtracted.test(e))f=e;else{var g,h={black:\"rgb(0, 0, 0)\",blue:\"rgb(0, 0, 255)\",gray:\"rgb(128, 128, 128)\",green:\"rgb(0, 128, 0)\",red:\"rgb(255, 0, 0)\",white:\"rgb(255, 255, 255)\"};/^[A-z]+$/i.test(e)?g=h[e]!==d?h[e]:h.black:A.RegEx.isHex.test(e)?g=\"rgb(\"+A.Values.hexToRgb(e).join(\" \")+\")\":/^rgba?\\(/i.test(e)||(g=h.black),f=(g||e).toString().match(A.RegEx.valueUnwrap)[1].replace(/,(\\s+)?/g,\" \")}return(!p||p>8)&&3===f.split(\" \").length&&(f+=\" 1\"),f;case\"inject\":return/^rgb/.test(e)?e:(p<=8?4===e.split(\" \").length&&(e=e.split(/\\s+/).slice(0,3).join(\" \")):3===e.split(\" \").length&&(e+=\" 1\"),(p<=8?\"rgb\":\"rgba\")+\"(\"+e.replace(/\\s+/g,\",\").replace(/\\.(\\d)+(?=,)/g,\"\")+\")\")}}}();A.Normalizations.registered.innerWidth=b(\"width\",!0),A.Normalizations.registered.innerHeight=b(\"height\",!0),A.Normalizations.registered.outerWidth=b(\"width\"),A.Normalizations.registered.outerHeight=b(\"height\")}},Names:{camelCase:function(a){return a.replace(/-(\\w)/g,function(a,b){return b.toUpperCase()})},SVGAttribute:function(a){var b=\"width|height|x|y|cx|cy|r|rx|ry|x1|x2|y1|y2\";return(p||y.State.isAndroid&&!y.State.isChrome)&&(b+=\"|transform\"),new RegExp(\"^(\"+b+\")$\",\"i\").test(a)},prefixCheck:function(a){if(y.State.prefixMatches[a])return[y.State.prefixMatches[a],!0];for(var b=[\"\",\"Webkit\",\"Moz\",\"ms\",\"O\"],c=0,d=b.length;c<d;c++){var e;if(e=0===c?a:b[c]+a.replace(/^\\w/,function(a){return a.toUpperCase()}),u.isString(y.State.prefixElement.style[e]))return y.State.prefixMatches[a]=e,[e,!0]}return[a,!1]}},Values:{hexToRgb:function(a){var b,c=/^#?([a-f\\d]{2})([a-f\\d]{2})([a-f\\d]{2})$/i;return a=a.replace(/^#?([a-f\\d])([a-f\\d])([a-f\\d])$/i,function(a,b,c,d){return b+b+c+c+d+d}),b=c.exec(a),b?[parseInt(b[1],16),parseInt(b[2],16),parseInt(b[3],16)]:[0,0,0]},isCSSNullValue:function(a){return!a||/^(none|auto|transparent|(rgba\\(0, ?0, ?0, ?0\\)))$/i.test(a)},getUnitType:function(a){return/^(rotate|skew)/i.test(a)?\"deg\":/(^(scale|scaleX|scaleY|scaleZ|alpha|flexGrow|flexHeight|zIndex|fontWeight)$)|((opacity|red|green|blue|alpha)$)/i.test(a)?\"\":\"px\"},getDisplayType:function(a){var b=a&&a.tagName.toString().toLowerCase();return/^(b|big|i|small|tt|abbr|acronym|cite|code|dfn|em|kbd|strong|samp|var|a|bdo|br|img|map|object|q|script|span|sub|sup|button|input|label|select|textarea)$/i.test(b)?\"inline\":/^(li)$/i.test(b)?\"list-item\":/^(tr)$/i.test(b)?\"table-row\":/^(table)$/i.test(b)?\"table\":/^(tbody)$/i.test(b)?\"table-row-group\":\"block\"},addClass:function(a,b){if(a)if(a.classList)a.classList.add(b);else if(u.isString(a.className))a.className+=(a.className.length?\" \":\"\")+b;else{var c=a.getAttribute(p<=7?\"className\":\"class\")||\"\";a.setAttribute(\"class\",c+(c?\" \":\"\")+b)}},removeClass:function(a,b){if(a)if(a.classList)a.classList.remove(b);else if(u.isString(a.className))a.className=a.className.toString().replace(new RegExp(\"(^|\\\\s)\"+b.split(\" \").join(\"|\")+\"(\\\\s|$)\",\"gi\"),\" \");else{var c=a.getAttribute(p<=7?\"className\":\"class\")||\"\";a.setAttribute(\"class\",c.replace(new RegExp(\"(^|s)\"+b.split(\" \").join(\"|\")+\"(s|$)\",\"gi\"),\" \"))}}},getPropertyValue:function(a,c,e,f){function h(a,c){var e=0;if(p<=8)e=o.css(a,c);else{var i=!1;/^(width|height)$/.test(c)&&0===A.getPropertyValue(a,\"display\")&&(i=!0,A.setPropertyValue(a,\"display\",A.Values.getDisplayType(a)));var j=function(){i&&A.setPropertyValue(a,\"display\",\"none\")};if(!f){if(\"height\"===c&&\"border-box\"!==A.getPropertyValue(a,\"boxSizing\").toString().toLowerCase()){var k=a.offsetHeight-(parseFloat(A.getPropertyValue(a,\"borderTopWidth\"))||0)-(parseFloat(A.getPropertyValue(a,\"borderBottomWidth\"))||0)-(parseFloat(A.getPropertyValue(a,\"paddingTop\"))||0)-(parseFloat(A.getPropertyValue(a,\"paddingBottom\"))||0);return j(),k}if(\"width\"===c&&\"border-box\"!==A.getPropertyValue(a,\"boxSizing\").toString().toLowerCase()){var l=a.offsetWidth-(parseFloat(A.getPropertyValue(a,\"borderLeftWidth\"))||0)-(parseFloat(A.getPropertyValue(a,\"borderRightWidth\"))||0)-(parseFloat(A.getPropertyValue(a,\"paddingLeft\"))||0)-(parseFloat(A.getPropertyValue(a,\"paddingRight\"))||0);return j(),l}}var m;m=g(a)===d?b.getComputedStyle(a,null):g(a).computedStyle?g(a).computedStyle:g(a).computedStyle=b.getComputedStyle(a,null),\"borderColor\"===c&&(c=\"borderTopColor\"),e=9===p&&\"filter\"===c?m.getPropertyValue(c):m[c],\"\"!==e&&null!==e||(e=a.style[c]),j()}if(\"auto\"===e&&/^(top|right|bottom|left)$/i.test(c)){var n=h(a,\"position\");(\"fixed\"===n||\"absolute\"===n&&/top|left/i.test(c))&&(e=o(a).position()[c]+\"px\")}return e}var i;if(A.Hooks.registered[c]){var j=c,k=A.Hooks.getRoot(j);e===d&&(e=A.getPropertyValue(a,A.Names.prefixCheck(k)[0])),A.Normalizations.registered[k]&&(e=A.Normalizations.registered[k](\"extract\",a,e)),i=A.Hooks.extractValue(j,e)}else if(A.Normalizations.registered[c]){var l,m;l=A.Normalizations.registered[c](\"name\",a),\"transform\"!==l&&(m=h(a,A.Names.prefixCheck(l)[0]),A.Values.isCSSNullValue(m)&&A.Hooks.templates[c]&&(m=A.Hooks.templates[c][1])),i=A.Normalizations.registered[c](\"extract\",a,m)}if(!/^[\\d-]/.test(i)){var n=g(a);if(n&&n.isSVG&&A.Names.SVGAttribute(c))if(/^(height|width)$/i.test(c))try{i=a.getBBox()[c]}catch(q){i=0}else i=a.getAttribute(c);else i=h(a,A.Names.prefixCheck(c)[0])}return A.Values.isCSSNullValue(i)&&(i=0),y.debug>=2&&console.log(\"Get \"+c+\": \"+i),i},setPropertyValue:function(a,c,d,e,f){var h=c;if(\"scroll\"===c)f.container?f.container[\"scroll\"+f.direction]=d:\"Left\"===f.direction?b.scrollTo(d,f.alternateValue):b.scrollTo(f.alternateValue,d);else if(A.Normalizations.registered[c]&&\"transform\"===A.Normalizations.registered[c](\"name\",a))A.Normalizations.registered[c](\"inject\",a,d),h=\"transform\",d=g(a).transformCache[c];else{if(A.Hooks.registered[c]){var i=c,j=A.Hooks.getRoot(c);e=e||A.getPropertyValue(a,j),d=A.Hooks.injectValue(i,d,e),c=j}if(A.Normalizations.registered[c]&&(d=A.Normalizations.registered[c](\"inject\",a,d),c=A.Normalizations.registered[c](\"name\",a)),h=A.Names.prefixCheck(c)[0],p<=8)try{a.style[h]=d}catch(l){y.debug&&console.log(\"Browser does not support [\"+d+\"] for [\"+h+\"]\")}else{var k=g(a);k&&k.isSVG&&A.Names.SVGAttribute(c)?a.setAttribute(c,d):a.style[h]=d}y.debug>=2&&console.log(\"Set \"+c+\" (\"+h+\"): \"+d)}return[h,d]},flushTransformCache:function(a){var b=\"\",c=g(a);if((p||y.State.isAndroid&&!y.State.isChrome)&&c&&c.isSVG){var d=function(b){return parseFloat(A.getPropertyValue(a,b))},e={translate:[d(\"translateX\"),d(\"translateY\")],skewX:[d(\"skewX\")],skewY:[d(\"skewY\")],scale:1!==d(\"scale\")?[d(\"scale\"),d(\"scale\")]:[d(\"scaleX\"),d(\"scaleY\")],rotate:[d(\"rotateZ\"),0,0]};o.each(g(a).transformCache,function(a){/^translate/i.test(a)?a=\"translate\":/^scale/i.test(a)?a=\"scale\":/^rotate/i.test(a)&&(a=\"rotate\"),e[a]&&(b+=a+\"(\"+e[a].join(\" \")+\") \",delete e[a])})}else{var f,h;o.each(g(a).transformCache,function(c){if(f=g(a).transformCache[c],\"transformPerspective\"===c)return h=f,!0;9===p&&\"rotateZ\"===c&&(c=\"rotate\"),b+=c+f+\" \"}),h&&(b=\"perspective\"+h+\" \"+b)}A.setPropertyValue(a,\"transform\",b)}};A.Hooks.register(),A.Normalizations.register(),y.hook=function(a,b,c){var e;return a=f(a),o.each(a,function(a,f){if(g(f)===d&&y.init(f),c===d)e===d&&(e=A.getPropertyValue(f,b));else{var h=A.setPropertyValue(f,b,c);\"transform\"===h[0]&&y.CSS.flushTransformCache(f),e=h}}),e};var B=function(){function a(){return k?z.promise||null:p}function e(a,e){function f(f){var k,n;if(i.begin&&0===D)try{i.begin.call(r,r)}catch(V){setTimeout(function(){throw V},1)}if(\"scroll\"===G){var p,q,w,x=/^x$/i.test(i.axis)?\"Left\":\"Top\",B=parseFloat(i.offset)||0;i.container?u.isWrapped(i.container)||u.isNode(i.container)?(i.container=i.container[0]||i.container,p=i.container[\"scroll\"+x],w=p+o(a).position()[x.toLowerCase()]+B):i.container=null:(p=y.State.scrollAnchor[y.State[\"scrollProperty\"+x]],q=y.State.scrollAnchor[y.State[\"scrollProperty\"+(\"Left\"===x?\"Top\":\"Left\")]],w=o(a).offset()[x.toLowerCase()]+B),j={scroll:{rootPropertyValue:!1,startValue:p,currentValue:p,endValue:w,unitType:\"\",easing:i.easing,scrollData:{container:i.container,direction:x,alternateValue:q}},element:a},y.debug&&console.log(\"tweensContainer (scroll): \",j.scroll,a)}else if(\"reverse\"===G){if(!(k=g(a)))return;if(!k.tweensContainer)return void o.dequeue(a,i.queue);\"none\"===k.opts.display&&(k.opts.display=\"auto\"),\"hidden\"===k.opts.visibility&&(k.opts.visibility=\"visible\"),k.opts.loop=!1,k.opts.begin=null,k.opts.complete=null,v.easing||delete i.easing,v.duration||delete i.duration,i=o.extend({},k.opts,i),n=o.extend(!0,{},k?k.tweensContainer:null);for(var E in n)if(n.hasOwnProperty(E)&&\"element\"!==E){var F=n[E].startValue;n[E].startValue=n[E].currentValue=n[E].endValue,n[E].endValue=F,u.isEmptyObject(v)||(n[E].easing=i.easing),y.debug&&console.log(\"reverse tweensContainer (\"+E+\"): \"+JSON.stringify(n[E]),a)}j=n}else if(\"start\"===G){k=g(a),k&&k.tweensContainer&&k.isAnimating===!0&&(n=k.tweensContainer);var H=function(e,f){var g,l=A.Hooks.getRoot(e),m=!1,p=f[0],q=f[1],r=f[2]\n;if(!(k&&k.isSVG||\"tween\"===l||A.Names.prefixCheck(l)[1]!==!1||A.Normalizations.registered[l]!==d))return void(y.debug&&console.log(\"Skipping [\"+l+\"] due to a lack of browser support.\"));(i.display!==d&&null!==i.display&&\"none\"!==i.display||i.visibility!==d&&\"hidden\"!==i.visibility)&&/opacity|filter/.test(e)&&!r&&0!==p&&(r=0),i._cacheValues&&n&&n[e]?(r===d&&(r=n[e].endValue+n[e].unitType),m=k.rootPropertyValueCache[l]):A.Hooks.registered[e]?r===d?(m=A.getPropertyValue(a,l),r=A.getPropertyValue(a,e,m)):m=A.Hooks.templates[l][1]:r===d&&(r=A.getPropertyValue(a,e));var s,t,v,w=!1,x=function(a,b){var c,d;return d=(b||\"0\").toString().toLowerCase().replace(/[%A-z]+$/,function(a){return c=a,\"\"}),c||(c=A.Values.getUnitType(a)),[d,c]};if(r!==p&&u.isString(r)&&u.isString(p)){g=\"\";var z=0,B=0,C=[],D=[],E=0,F=0,G=0;for(r=A.Hooks.fixColors(r),p=A.Hooks.fixColors(p);z<r.length&&B<p.length;){var H=r[z],I=p[B];if(/[\\d\\.-]/.test(H)&&/[\\d\\.-]/.test(I)){for(var J=H,K=I,L=\".\",N=\".\";++z<r.length;){if((H=r[z])===L)L=\"..\";else if(!/\\d/.test(H))break;J+=H}for(;++B<p.length;){if((I=p[B])===N)N=\"..\";else if(!/\\d/.test(I))break;K+=I}var O=A.Hooks.getUnit(r,z),P=A.Hooks.getUnit(p,B);if(z+=O.length,B+=P.length,O===P)J===K?g+=J+O:(g+=\"{\"+C.length+(F?\"!\":\"\")+\"}\"+O,C.push(parseFloat(J)),D.push(parseFloat(K)));else{var Q=parseFloat(J),R=parseFloat(K);g+=(E<5?\"calc\":\"\")+\"(\"+(Q?\"{\"+C.length+(F?\"!\":\"\")+\"}\":\"0\")+O+\" + \"+(R?\"{\"+(C.length+(Q?1:0))+(F?\"!\":\"\")+\"}\":\"0\")+P+\")\",Q&&(C.push(Q),D.push(0)),R&&(C.push(0),D.push(R))}}else{if(H!==I){E=0;break}g+=H,z++,B++,0===E&&\"c\"===H||1===E&&\"a\"===H||2===E&&\"l\"===H||3===E&&\"c\"===H||E>=4&&\"(\"===H?E++:(E&&E<5||E>=4&&\")\"===H&&--E<5)&&(E=0),0===F&&\"r\"===H||1===F&&\"g\"===H||2===F&&\"b\"===H||3===F&&\"a\"===H||F>=3&&\"(\"===H?(3===F&&\"a\"===H&&(G=1),F++):G&&\",\"===H?++G>3&&(F=G=0):(G&&F<(G?5:4)||F>=(G?4:3)&&\")\"===H&&--F<(G?5:4))&&(F=G=0)}}z===r.length&&B===p.length||(y.debug&&console.error('Trying to pattern match mis-matched strings [\"'+p+'\", \"'+r+'\"]'),g=d),g&&(C.length?(y.debug&&console.log('Pattern found \"'+g+'\" -> ',C,D,\"[\"+r+\",\"+p+\"]\"),r=C,p=D,t=v=\"\"):g=d)}g||(s=x(e,r),r=s[0],v=s[1],s=x(e,p),p=s[0].replace(/^([+-\\/*])=/,function(a,b){return w=b,\"\"}),t=s[1],r=parseFloat(r)||0,p=parseFloat(p)||0,\"%\"===t&&(/^(fontSize|lineHeight)$/.test(e)?(p/=100,t=\"em\"):/^scale/.test(e)?(p/=100,t=\"\"):/(Red|Green|Blue)$/i.test(e)&&(p=p/100*255,t=\"\")));if(/[\\/*]/.test(w))t=v;else if(v!==t&&0!==r)if(0===p)t=v;else{h=h||function(){var d={myParent:a.parentNode||c.body,position:A.getPropertyValue(a,\"position\"),fontSize:A.getPropertyValue(a,\"fontSize\")},e=d.position===M.lastPosition&&d.myParent===M.lastParent,f=d.fontSize===M.lastFontSize;M.lastParent=d.myParent,M.lastPosition=d.position,M.lastFontSize=d.fontSize;var g={};if(f&&e)g.emToPx=M.lastEmToPx,g.percentToPxWidth=M.lastPercentToPxWidth,g.percentToPxHeight=M.lastPercentToPxHeight;else{var h=k&&k.isSVG?c.createElementNS(\"http://www.w3.org/2000/svg\",\"rect\"):c.createElement(\"div\");y.init(h),d.myParent.appendChild(h),o.each([\"overflow\",\"overflowX\",\"overflowY\"],function(a,b){y.CSS.setPropertyValue(h,b,\"hidden\")}),y.CSS.setPropertyValue(h,\"position\",d.position),y.CSS.setPropertyValue(h,\"fontSize\",d.fontSize),y.CSS.setPropertyValue(h,\"boxSizing\",\"content-box\"),o.each([\"minWidth\",\"maxWidth\",\"width\",\"minHeight\",\"maxHeight\",\"height\"],function(a,b){y.CSS.setPropertyValue(h,b,\"100%\")}),y.CSS.setPropertyValue(h,\"paddingLeft\",\"100em\"),g.percentToPxWidth=M.lastPercentToPxWidth=(parseFloat(A.getPropertyValue(h,\"width\",null,!0))||1)/100,g.percentToPxHeight=M.lastPercentToPxHeight=(parseFloat(A.getPropertyValue(h,\"height\",null,!0))||1)/100,g.emToPx=M.lastEmToPx=(parseFloat(A.getPropertyValue(h,\"paddingLeft\"))||1)/100,d.myParent.removeChild(h)}return null===M.remToPx&&(M.remToPx=parseFloat(A.getPropertyValue(c.body,\"fontSize\"))||16),null===M.vwToPx&&(M.vwToPx=parseFloat(b.innerWidth)/100,M.vhToPx=parseFloat(b.innerHeight)/100),g.remToPx=M.remToPx,g.vwToPx=M.vwToPx,g.vhToPx=M.vhToPx,y.debug>=1&&console.log(\"Unit ratios: \"+JSON.stringify(g),a),g}();var S=/margin|padding|left|right|width|text|word|letter/i.test(e)||/X$/.test(e)||\"x\"===e?\"x\":\"y\";switch(v){case\"%\":r*=\"x\"===S?h.percentToPxWidth:h.percentToPxHeight;break;case\"px\":break;default:r*=h[v+\"ToPx\"]}switch(t){case\"%\":r*=1/(\"x\"===S?h.percentToPxWidth:h.percentToPxHeight);break;case\"px\":break;default:r*=1/h[t+\"ToPx\"]}}switch(w){case\"+\":p=r+p;break;case\"-\":p=r-p;break;case\"*\":p*=r;break;case\"/\":p=r/p}j[e]={rootPropertyValue:m,startValue:r,currentValue:r,endValue:p,unitType:t,easing:q},g&&(j[e].pattern=g),y.debug&&console.log(\"tweensContainer (\"+e+\"): \"+JSON.stringify(j[e]),a)};for(var I in s)if(s.hasOwnProperty(I)){var J=A.Names.camelCase(I),K=function(b,c){var d,f,g;return u.isFunction(b)&&(b=b.call(a,e,C)),u.isArray(b)?(d=b[0],!u.isArray(b[1])&&/^[\\d-]/.test(b[1])||u.isFunction(b[1])||A.RegEx.isHex.test(b[1])?g=b[1]:u.isString(b[1])&&!A.RegEx.isHex.test(b[1])&&y.Easings[b[1]]||u.isArray(b[1])?(f=c?b[1]:l(b[1],i.duration),g=b[2]):g=b[1]||b[2]):d=b,c||(f=f||i.easing),u.isFunction(d)&&(d=d.call(a,e,C)),u.isFunction(g)&&(g=g.call(a,e,C)),[d||0,f,g]}(s[I]);if(t(A.Lists.colors,J)){var L=K[0],O=K[1],P=K[2];if(A.RegEx.isHex.test(L)){for(var Q=[\"Red\",\"Green\",\"Blue\"],R=A.Values.hexToRgb(L),S=P?A.Values.hexToRgb(P):d,T=0;T<Q.length;T++){var U=[R[T]];O&&U.push(O),S!==d&&U.push(S[T]),H(J+Q[T],U)}continue}}H(J,K)}j.element=a}j.element&&(A.Values.addClass(a,\"velocity-animating\"),N.push(j),k=g(a),k&&(\"\"===i.queue&&(k.tweensContainer=j,k.opts=i),k.isAnimating=!0),D===C-1?(y.State.calls.push([N,r,i,null,z.resolver,null,0]),y.State.isTicking===!1&&(y.State.isTicking=!0,m())):D++)}var h,i=o.extend({},y.defaults,v),j={};switch(g(a)===d&&y.init(a),parseFloat(i.delay)&&i.queue!==!1&&o.queue(a,i.queue,function(b){y.velocityQueueEntryFlag=!0;var c=y.State.delayedElements.count++;y.State.delayedElements[c]=a;var d=function(a){return function(){y.State.delayedElements[a]=!1,b()}}(c);g(a).delayBegin=(new Date).getTime(),g(a).delay=parseFloat(i.delay),g(a).delayTimer={setTimeout:setTimeout(b,parseFloat(i.delay)),next:d}}),i.duration.toString().toLowerCase()){case\"fast\":i.duration=200;break;case\"normal\":i.duration=w;break;case\"slow\":i.duration=600;break;default:i.duration=parseFloat(i.duration)||1}if(y.mock!==!1&&(y.mock===!0?i.duration=i.delay=1:(i.duration*=parseFloat(y.mock)||1,i.delay*=parseFloat(y.mock)||1)),i.easing=l(i.easing,i.duration),i.begin&&!u.isFunction(i.begin)&&(i.begin=null),i.progress&&!u.isFunction(i.progress)&&(i.progress=null),i.complete&&!u.isFunction(i.complete)&&(i.complete=null),i.display!==d&&null!==i.display&&(i.display=i.display.toString().toLowerCase(),\"auto\"===i.display&&(i.display=y.CSS.Values.getDisplayType(a))),i.visibility!==d&&null!==i.visibility&&(i.visibility=i.visibility.toString().toLowerCase()),i.mobileHA=i.mobileHA&&y.State.isMobile&&!y.State.isGingerbread,i.queue===!1)if(i.delay){var k=y.State.delayedElements.count++;y.State.delayedElements[k]=a;var n=function(a){return function(){y.State.delayedElements[a]=!1,f()}}(k);g(a).delayBegin=(new Date).getTime(),g(a).delay=parseFloat(i.delay),g(a).delayTimer={setTimeout:setTimeout(f,parseFloat(i.delay)),next:n}}else f();else o.queue(a,i.queue,function(a,b){if(b===!0)return z.promise&&z.resolver(r),!0;y.velocityQueueEntryFlag=!0,f(a)});\"\"!==i.queue&&\"fx\"!==i.queue||\"inprogress\"===o.queue(a)[0]||o.dequeue(a)}var j,k,p,q,r,s,v,x=arguments[0]&&(arguments[0].p||o.isPlainObject(arguments[0].properties)&&!arguments[0].properties.names||u.isString(arguments[0].properties));u.isWrapped(this)?(k=!1,q=0,r=this,p=this):(k=!0,q=1,r=x?arguments[0].elements||arguments[0].e:arguments[0]);var z={promise:null,resolver:null,rejecter:null};if(k&&y.Promise&&(z.promise=new y.Promise(function(a,b){z.resolver=a,z.rejecter=b})),x?(s=arguments[0].properties||arguments[0].p,v=arguments[0].options||arguments[0].o):(s=arguments[q],v=arguments[q+1]),!(r=f(r)))return void(z.promise&&(s&&v&&v.promiseRejectEmpty===!1?z.resolver():z.rejecter()));var C=r.length,D=0;if(!/^(stop|finish|finishAll|pause|resume)$/i.test(s)&&!o.isPlainObject(v)){var E=q+1;v={};for(var F=E;F<arguments.length;F++)u.isArray(arguments[F])||!/^(fast|normal|slow)$/i.test(arguments[F])&&!/^\\d/.test(arguments[F])?u.isString(arguments[F])||u.isArray(arguments[F])?v.easing=arguments[F]:u.isFunction(arguments[F])&&(v.complete=arguments[F]):v.duration=arguments[F]}var G;switch(s){case\"scroll\":G=\"scroll\";break;case\"reverse\":G=\"reverse\";break;case\"pause\":var H=(new Date).getTime();return o.each(r,function(a,b){h(b,H)}),o.each(y.State.calls,function(a,b){var c=!1;b&&o.each(b[1],function(a,e){var f=v===d?\"\":v;return f!==!0&&b[2].queue!==f&&(v!==d||b[2].queue!==!1)||(o.each(r,function(a,d){if(d===e)return b[5]={resume:!1},c=!0,!1}),!c&&void 0)})}),a();case\"resume\":return o.each(r,function(a,b){i(b,H)}),o.each(y.State.calls,function(a,b){var c=!1;b&&o.each(b[1],function(a,e){var f=v===d?\"\":v;return f!==!0&&b[2].queue!==f&&(v!==d||b[2].queue!==!1)||(!b[5]||(o.each(r,function(a,d){if(d===e)return b[5].resume=!0,c=!0,!1}),!c&&void 0))})}),a();case\"finish\":case\"finishAll\":case\"stop\":o.each(r,function(a,b){g(b)&&g(b).delayTimer&&(clearTimeout(g(b).delayTimer.setTimeout),g(b).delayTimer.next&&g(b).delayTimer.next(),delete g(b).delayTimer),\"finishAll\"!==s||v!==!0&&!u.isString(v)||(o.each(o.queue(b,u.isString(v)?v:\"\"),function(a,b){u.isFunction(b)&&b()}),o.queue(b,u.isString(v)?v:\"\",[]))});var I=[];return o.each(y.State.calls,function(a,b){b&&o.each(b[1],function(c,e){var f=v===d?\"\":v;if(f!==!0&&b[2].queue!==f&&(v!==d||b[2].queue!==!1))return!0;o.each(r,function(c,d){if(d===e)if((v===!0||u.isString(v))&&(o.each(o.queue(d,u.isString(v)?v:\"\"),function(a,b){u.isFunction(b)&&b(null,!0)}),o.queue(d,u.isString(v)?v:\"\",[])),\"stop\"===s){var h=g(d);h&&h.tweensContainer&&f!==!1&&o.each(h.tweensContainer,function(a,b){b.endValue=b.currentValue}),I.push(a)}else\"finish\"!==s&&\"finishAll\"!==s||(b[2].duration=1)})})}),\"stop\"===s&&(o.each(I,function(a,b){n(b,!0)}),z.promise&&z.resolver(r)),a();default:if(!o.isPlainObject(s)||u.isEmptyObject(s)){if(u.isString(s)&&y.Redirects[s]){j=o.extend({},v);var J=j.duration,K=j.delay||0;return j.backwards===!0&&(r=o.extend(!0,[],r).reverse()),o.each(r,function(a,b){parseFloat(j.stagger)?j.delay=K+parseFloat(j.stagger)*a:u.isFunction(j.stagger)&&(j.delay=K+j.stagger.call(b,a,C)),j.drag&&(j.duration=parseFloat(J)||(/^(callout|transition)/.test(s)?1e3:w),j.duration=Math.max(j.duration*(j.backwards?1-a/C:(a+1)/C),.75*j.duration,200)),y.Redirects[s].call(b,b,j||{},a,C,r,z.promise?z:d)}),a()}var L=\"Velocity: First argument (\"+s+\") was not a property map, a known action, or a registered redirect. Aborting.\";return z.promise?z.rejecter(new Error(L)):b.console&&console.log(L),a()}G=\"start\"}var M={lastParent:null,lastPosition:null,lastFontSize:null,lastPercentToPxWidth:null,lastPercentToPxHeight:null,lastEmToPx:null,remToPx:null,vwToPx:null,vhToPx:null},N=[];o.each(r,function(a,b){u.isNode(b)&&e(b,a)}),j=o.extend({},y.defaults,v),j.loop=parseInt(j.loop,10);var O=2*j.loop-1;if(j.loop)for(var P=0;P<O;P++){var Q={delay:j.delay,progress:j.progress};P===O-1&&(Q.display=j.display,Q.visibility=j.visibility,Q.complete=j.complete),B(r,\"reverse\",Q)}return a()};y=o.extend(B,y),y.animate=B;var C=b.requestAnimationFrame||q;if(!y.State.isMobile&&c.hidden!==d){var D=function(){c.hidden?(C=function(a){return setTimeout(function(){a(!0)},16)},m()):C=b.requestAnimationFrame||q};D(),c.addEventListener(\"visibilitychange\",D)}return a.Velocity=y,a!==b&&(a.fn.velocity=B,a.fn.velocity.defaults=y.defaults),o.each([\"Down\",\"Up\"],function(a,b){y.Redirects[\"slide\"+b]=function(a,c,e,f,g,h){var i=o.extend({},c),j=i.begin,k=i.complete,l={},m={height:\"\",marginTop:\"\",marginBottom:\"\",paddingTop:\"\",paddingBottom:\"\"};i.display===d&&(i.display=\"Down\"===b?\"inline\"===y.CSS.Values.getDisplayType(a)?\"inline-block\":\"block\":\"none\"),i.begin=function(){0===e&&j&&j.call(g,g);for(var c in m)if(m.hasOwnProperty(c)){l[c]=a.style[c];var d=A.getPropertyValue(a,c);m[c]=\"Down\"===b?[d,0]:[0,d]}l.overflow=a.style.overflow,a.style.overflow=\"hidden\"},i.complete=function(){for(var b in l)l.hasOwnProperty(b)&&(a.style[b]=l[b]);e===f-1&&(k&&k.call(g,g),h&&h.resolver(g))},y(a,m,i)}}),o.each([\"In\",\"Out\"],function(a,b){y.Redirects[\"fade\"+b]=function(a,c,e,f,g,h){var i=o.extend({},c),j=i.complete,k={opacity:\"In\"===b?1:0};0!==e&&(i.begin=null),i.complete=e!==f-1?null:function(){j&&j.call(g,g),h&&h.resolver(g)},i.display===d&&(i.display=\"In\"===b?\"auto\":\"none\"),y(this,k,i)}}),y}(window.jQuery||window.Zepto||window,window,window?window.document:undefined)});"],"names":["$header","$nav","classes","selectors","$navItems","$navLinks","$navToggle","navHeight","$anchorLinks","$navWithMenus","$megaMenuGrandChildNav","$window","$body","$notification","headerHeight","didScroll","$search","$searchToggle","$langToggle","$lang","$siteSwitcher","$siteSwitcherSelector","$rotators","elementsInit","NavSmall","init","$elm","selectorList","classList","this","_initElements","_initSubscriptions","_initEvents","$","header","find","navItem","subscribe","_closeNav","on","_toggleSmallMenu","_openSubMenu","unbind","unsubscribe","off","_toggleSubMenu","_resetMenu","attr","trigger","event","preventDefault","publish","removeClass","headerNavOpen","addClass","title","altTitle","$link","$icon","navIcon","$item","closest","toggleClass","NavLarge","_setSizes","outerHeight","offset","top","window","navItemMega","megaMenuItem","megaMenuGrandChildNav","_processAnchorClick","_closeOnMouseLeave","_bindTouchEvents","_toggleMegaMenu","target","click","$thisTarget","$thisNav","is","$expanded","megamenuHeading","allowAnimations","$navItem","_closeOnFocusOut","setTimeout","document","activeElement","length","_toggleGrandChildMenu","$thisChildMenu","next","megaMenuGrandChildItmes","$expandedNav","_cloneGrandChildMenuItems","cloneNav","clone","empty","append","removeProp","_toggleMegaMenuHover","_toggleMegaMenuClick","_toggleMegaGrandChildMenuClick","hash","href","split","$anchor","Core","each","activate","_handleBodyClick","e","nav","ignoreNextScroll","lastScrollTop","scrollTop","HeaderSticky","_adjustForTarget","_setScrollListener","_setStickiness","notification","_handleScroll","throttle","initialLoad","$target","_applyStickyOffset","type","targetOffset","newScrollTop","shouldAdjust","Math","abs","setInterval","_hasScrolled","_setDidScroll","notificationHeight","shouldBeSticky","isSticky","hasClass","headerSticky","_hideHeader","headerDown","headerUp","dropdownOpen","height","noTouch","siteSwitcher","siteSwitcherSelector","hubMenu","hubMenuItem","hubMenuHeading","States","NavLoad","_initMediaQueries","_closeSearch","_closeLang","_toggleSearch","_toggleLang","_toggleSiteSwitcher","Keybinding","state","_getSearchState","_openSearch","expanded","Velocity","duration","focus","_focusSearch","_closeSiteSwitcher","console","log","MediaQueries","register","queries","shouldDegrade","match","unmatch","dataSelectors","Rotator","$elms","_initRotators","i","$rotator","eq","_initRotator","toggler","rotatorType","rotatorNav","settings","_getRotatorSettings","mediaquery","_createToggleHandler","addEventListener","_createRotator","thisFlick","Flickity","data","wrapAround","_setArrowStates","_destroyRotator","destroy","shouldBeActive","matchMedia","matches","throttledToggler","debouncedToggler","debounce","apply","arguments","_prev","_next","arrowShape","x0","x1","y1","x2","y2","x3","hasMany","prevNextButtons","autoPlay","lazyLoad","pageDots","cellAlign","asNavFor","contain","previous","$wrapper","$prev","$next","index","isFirst","isLast","slides","prop","item","toggle","open","close","body","join","Object","freeze","$maps","google","$backButton","dataAttributes","autofocusId","autofocusDelay","set","openedText","closedText","animation","useHidden","useCurrent","lazyload","pubsubEvents","opened","closed","closeSet","setClosed","INITIAL","OPENED","CLOSED","stateAttributes","hidden","current","ExpandCollapse","_processTriggerClick","_open","_close","_closeSet","$trigger","_getTriggerItem","_toggleItem","_setState","_getState","_getItemTriggers","$idTriggers","$childTriggers","$triggers","id","triggerGroups","filter","add","all","usingHidden","stateAttr","closedVal","openedVal","expandedAttr","velocity","_setStateTriggers","_processOpen","_processClose","removeAttr","_setStateTrigger","$setItems","$setItem","jquery","trim","_isInSet","not","el","itemSet","indexOf","$autofocusTarget","parseInt","container","ExpandCollapseModal","_closeOnFocusLost","$activeElement","_isOpen","$container","select","events","ExpandCollapseSelect","_initStateEach","_selectEvent","$select","_select","value","values","val","_selectById","_initState","VideoPlayer","_loadVideo","_handleModalOpen","_handleModalClose","$cover","embedSrc","$embedElm","prepend","modal","$player","_handleModalOpenPlayer","originalMarkup","html","_handleModalClosePlayer","Social","_processClick","_printPage","$thisLink","width","url","newwindow","Popup","print","lat","lng","latLng","zoom","MapControl","_processMaps","mapCanvas","$thisMap","latitude","parseFloat","longitude","coords","map","mapOptions","center","maps","LatLng","draggable","Modernizr","touchevents","streetViewControl","scrollwheel","mapTypeControl","panControl","panControlOptions","position","ControlPosition","LEFT_CENTER","zoomControl","zoomControlOptions","style","ZoomControlStyle","LARGE","RIGHT_BOTTOM","Map","Marker","apiKey","_googleApiKey","apiLoaded","MapLoad","$firstMap","MapInteractive","loadApi","error","load","other_params","callback","mapApiLoaded","getMapApiStatus","loaded","BackToTop","_initEvent","_buttonStatusCheck","animate","newTopPos","list","triggerAll","$formsToValidate","$heroItem1","$heroItem2","$heroItem3","$heroIndicator","$scrollIndicatorWrapper","$scrollIndicator","$svg","$footerSticky","Faq","_initListOverallStates","_processAllClick","$list","$lists","_recordListOverallState","isReversed","$items","overallState","$btn","_updateTriggerAllButton","desiredState","$itemsToChange","_filterItemsByState","warn","targetStates","Array","prototype","splice","call","$el","newText","text","Validate","_initForm","form","$thisForm","$requiredInputs","_processSubmitClick","requiredInputs","_onFormSubmission","submit","formValid","validateForm","$errorFields","validateInput","UtilCore","scrollToElm","errorFields","validCount","requiredLength","valid","$thisInput","$thisField","getClassName","_validateOptionList","_validateRequired","_setErrorDisplay","message","RegExp","test","$thisError","fieldErrorClass","keys","$focus","$active","focusable","focusIfNotDisabled","isNotDisabled","focusThroughHref","focusThroughTabindex","tabbable","isFocusable","untabbableTabIndex","options","_onOpen","onOpen","onShow","noop","_closeEvent","openById","_bindModalActiveEvents","bind","_closeIfBackgroundClick","_wrapTab","_unbindModalActiveEvents","targetId","$tabbable","isInModal","afterModal","compareDocumentPosition","Node","DOCUMENT_POSITION_FOLLOWING","_getTabbable","last","$modal","$firstFocusable","bodyOpenClass","_getBodyOpenClass","_getFocusable","resizeBody","resize","jQuery","AnimationBanner","_initDeBugMode","doc","documentElement","pageYOffset","clientTop","_bannerAnimation","_initSvgDashoffset","_showFooterSticky","windowHeight","heroItem1StartPoint","heroItem2StartPoint","heroItem3StartPoint","heroItem1EndPoint","heroItem2EndPoint","heroItem3EndPoint","_svgAnimation","scrollIndicatorWrapperHeight","scrollIndicatorHeight","_fadeAnimation","opacityStart","opacityValue","offSetTopValue","css","opacity","_introFadeAnimation","animationStartPoint","svgPathLength","get","getTotalLength","startTrigger","endTrigger","currentSlide","bannerID","bannerOffset","hide","show","_hideFooterSticky","passiveSupported","defineProperty","removeEventListener","appear","queueId","appearDelay","Queues","GLOBAL","queues","ScrollAppear","_addQueue","_appearElementsInViewport","passiveOptions","passive","_onScroll","_onFocus","capture","$elements","querySelectorAll","_appearElementInViewport","$element","_isQueued","_isInViewport","_addToQueue","$appear","queue","j","isQueued","items","_getQueueById","_getQueueByElement","getAttribute","_generateUniqueQueueId","setAttribute","timeout","push","random","toString","substr","immediate","itemInQueueIndex","delay","queueItem","itemInQueue","clearTimeout","priorDelay","max","unshift","_popQueue","shift","threshold","getBoundingClientRect","viewportHeight","innerHeight","clientWidth","bottom","pricing","section","Pricing","_equaliseAll","$pricing","$pricings","_equalisePricing","groups","_createGroups","_equaliseGroup","groupSize","groupIndex","ceil","floor","group","$sections","$section","heights","hub","hubItem","navToggle","NavHub","_checkHubOpened","$hubItem","$opened","sets","Calendar","_initLinks","_linkClick","_initLink","_buildUrl","startDate","endDate","description","venue","address","country","location","_enforceDateFormat","URL","dateString","dateObj","Date","year","getFullYear","month","getMonth","day","getDate","isNaN","filename","blob","navigator","msSaveBlob","_createBlob","dataUrl","replace","Blob","FormDelegate","_initValue","_primaryUpdateEvent","_secondaryChangeEvent","$primary","$secondarySet","$targetInput","$secondaryInput","$input","name","undefined","pluginName","Plugin","element","wrappingDiv","_wrapTable","_checkWidth","_checkPosition","plugin","_scrollEvent","_tableResizeEvent","wrap","elem","$this","tableWidth","scrollLeft","isStart","isEnd","_setClasses","fn","DefaultPage","TrackLoad","AjaxReplace","SocialShare","Permissions","SelectLink","selectric","Resources","LazyLoad","UmbracoForms","phatFingaz","$pageRotators","Ticker","$datepickers","$datepicker","Pikaday","field","yearRange","languagePicker","appendAround","magnificPopup","delegate","gallery","enabled","navigateByImgClick","preload","$tables","tableScroll","t","s","l","n","multiple","currValue","selectedIdx","highlightedIdx","eventTriggers","refresh","utils","isMobile","userAgent","escapeRegExp","replaceDiacritics","toLowerCase","format","nextEnabledItem","disabled","previousEnabledItem","toDash","triggerCallback","concat","slice","isFunction","arrayToClassname","grep","extend","defaults","disableOnMobile","getClassNames","class","input","readonly","tabindex","scroll","a","prefix","arrowButtonMarkup","o","r","parent","u","hideselect","elements","itemsScroll","wrapper","label","outerWrapper","nativeOnMobile","originalTabindex","populate","children","tempshow","responsive","inheritOriginalWidth","unbindEvents","$li","bindEvents","customClass","camelCase","setLabel","labelBuilder","isArray","lookupItems","maxLabelEntries","separator","groupDisabled","getItemData","getItemsMarkup","className","slug","alt","selected","listBuilder","grouplabel","getItemMarkup","optionsItemBuilder","hover","openOnHover","closeTimer","proxy","hoverIntentTimeout","handleKeys","one","blur","openOnFocus","resetStr","keySearchTimeout","highlight","mousedown","stopPropagation","which","inArray","p","c","allowWrap","keepMenuOpen","setOptionsDimensions","maxHeight","outerWidth","expandToItemText","finalWidth","isInViewport","forceRenderAbove","above","forceRenderBelow","below","itemsHeight","detectItemVisibility","min","offsetTop","itemsInnerHeight","preventWindowScroll","originalEvent","detail","wheelDelta","wheelDeltaY","deltaY","scrollHeight","change","remove","removeData","unwrap","onChange","define","_typeof","module","exports","require","b","d","isWindow","nodeType","g","isPlainObject","constructor","f","hasOwnProperty","expando","h","uuid","k","dequeue","Error","left","pageXOffset","clientLeft","offsetParent","nodeName","marginTop","marginLeft","borderTopWidth","borderLeftWidth","getTime","Utilities","isWrapped","isNode","delayTimer","delayPaused","delayRemaining","delayBegin","round","m","v","w","isFinite","x","Float32Array","y","z","getControlPoints","A","isString","Easings","easing","timestamp","now","State","calls","q","resume","B","D","F","display","setPropertyValue","visibility","G","H","I","pattern","J","endValue","startValue","K","currentValue","L","Hooks","registered","getRoot","M","rootPropertyValueCache","rootPropertyValue","N","unitType","scrollData","Normalizations","mobileHA","transformCache","translate3d","flushTransformCache","progress","isTicking","C","_loop","loop","isAnimating","Lists","transforms3D","Values","complete","tweensContainer","documentMode","createElement","innerHTML","getElementsByTagName","webkitRequestAnimationFrame","mozRequestAnimationFrame","performance","timing","navigationStart","charAt","includes","isNumber","isSVG","SVGElement","isEmptyObject","isAndroid","isGingerbread","isChrome","chrome","isFirefox","prefixElement","prefixMatches","scrollAnchor","scrollPropertyLeft","scrollPropertyTop","delayedElements","count","CSS","Redirects","Promise","begin","_cacheValues","promiseRejectEmpty","computedStyle","hook","mock","version","major","minor","patch","debug","pauseAll","resumeAll","parentNode","tension","friction","dx","dv","linear","swing","cos","PI","spring","exp","RegEx","isHex","valueUnwrap","wrappedValueAlreadyExtracted","valueSplit","colors","transformsBase","units","colorNames","aliceblue","antiquewhite","aquamarine","aqua","azure","beige","bisque","black","blanchedalmond","blueviolet","blue","brown","burlywood","cadetblue","chartreuse","chocolate","coral","cornflowerblue","cornsilk","crimson","cyan","darkblue","darkcyan","darkgoldenrod","darkgray","darkgrey","darkgreen","darkkhaki","darkmagenta","darkolivegreen","darkorange","darkorchid","darkred","darksalmon","darkseagreen","darkslateblue","darkslategray","darkturquoise","darkviolet","deeppink","deepskyblue","dimgray","dimgrey","dodgerblue","firebrick","floralwhite","forestgreen","fuchsia","gainsboro","ghostwhite","gold","goldenrod","gray","grey","greenyellow","green","honeydew","hotpink","indianred","indigo","ivory","khaki","lavenderblush","lavender","lawngreen","lemonchiffon","lightblue","lightcoral","lightcyan","lightgoldenrodyellow","lightgray","lightgrey","lightgreen","lightpink","lightsalmon","lightseagreen","lightskyblue","lightslategray","lightsteelblue","lightyellow","limegreen","lime","linen","magenta","maroon","mediumaquamarine","mediumblue","mediumorchid","mediumpurple","mediumseagreen","mediumslateblue","mediumspringgreen","mediumturquoise","mediumvioletred","midnightblue","mintcream","mistyrose","moccasin","navajowhite","navy","oldlace","olivedrab","olive","orangered","orange","orchid","palegoldenrod","palegreen","paleturquoise","palevioletred","papayawhip","peachpuff","peru","pink","plum","powderblue","purple","red","rosybrown","royalblue","saddlebrown","salmon","sandybrown","seagreen","seashell","sienna","silver","skyblue","slateblue","slategray","snow","springgreen","steelblue","tan","teal","thistle","tomato","turquoise","violet","wheat","whitesmoke","white","yellowgreen","yellow","templates","textShadow","boxShadow","clip","backgroundPosition","transformOrigin","perspectiveOrigin","getUnit","fixColors","cleanRootPropertyValue","isCSSNullValue","extractValue","injectValue","getPropertyValue","hexToRgb","innerWidth","Names","toUpperCase","SVGAttribute","prefixCheck","exec","getUnitType","getDisplayType","tagName","offsetHeight","offsetWidth","getComputedStyle","getBBox","direction","scrollTo","alternateValue","translate","skewX","skewY","scale","rotate","promise","V","axis","E","opts","JSON","stringify","O","P","Q","R","myParent","fontSize","lastPosition","lastParent","lastFontSize","emToPx","lastEmToPx","percentToPxWidth","lastPercentToPxWidth","percentToPxHeight","lastPercentToPxHeight","createElementNS","appendChild","removeChild","remToPx","vwToPx","vhToPx","S","T","U","resolver","velocityQueueEntryFlag","properties","names","rejecter","backwards","reverse","stagger","drag","requestAnimationFrame","marginBottom","paddingTop","paddingBottom","overflow","Zepto"],"sourceRoot":""}