{"version":3,"sources":["webpack:///./node_modules/@babel/runtime/helpers/defineProperty.js","webpack:///./node_modules/ui-core/plugins/polyfills/js/Element/matches.js","webpack:///./node_modules/ui-core/plugins/polyfills/js/Element/closest.js","webpack:///./node_modules/ui-core/utility/js/no-focusable-svg.js","webpack:///./node_modules/ui-core/plugins/cookies/js/cookies.js","webpack:///./node_modules/ui-core/plugins/bookmark/js/bookmark.js","webpack:///./node_modules/ui-core/components/drop-block/js/drop-block.js","webpack:///./node_modules/ui-core/components/accordion/js/accordion.js","webpack:///./node_modules/ui-core/components/back-to-top/js/back-to-top.js","webpack:///./node_modules/ui-core/widgets/ad-placeholder/js/ad-placeholder.js","webpack:///./node_modules/ui-core/widgets/raa/js/raa.js","webpack:///./node_modules/ui-core/widgets/register/js/register.js","webpack:///./node_modules/ui-core/plugins/drawer/js/drawer.js","webpack:///./node_modules/ui-core/plugins/drawer/js/menu-accessability.js","webpack:///./node_modules/ui-core/plugins/slide/js/slide.js","webpack:///./node_modules/ui-core/widgets/menu/js/responsive-menu.js","webpack:///./node_modules/ui-core/plugins/scrollo/js/scrollo.js","webpack:///./node_modules/ui-core/components/coolbar/js/coolbar.js","webpack:///./node_modules/ui-core/components/coolbar/js/stickybar.js","webpack:///./node_modules/ui-core/utility/ie-warning/js/ie-warning.js","webpack:///./node_modules/ui-core/plugins/modal/js/modal.js","webpack:///./node_modules/ui-core/plugins/auto-hide-bar/js/auto-hide-bar.js","webpack:///./node_modules/@atypon/ui-bundle-generator/.generated/groups/_mobile-menu.js","webpack:///./node_modules/ui-core/plugins/polyfills/js/stickyfill.es.js","webpack:///./node_modules/ui-core/plugins/sticko/js/sticko.js","webpack:///./node_modules/ui-core/plugins/stickyElements/js/stickyElements.js","webpack:///./node_modules/@atypon/ui-bundle-generator/.generated/groups/_sticky.js","webpack:///./node_modules/@atypon/ui-bundle-generator/.generated/lazy-imports.js"],"names":["toPropertyKey","module","exports","_defineProperty","e","r","t","Object","defineProperty","value","enumerable","configurable","writable","__esModule","Element","prototype","matches","msMatchesSelector","webkitMatchesSelector","closest","s","el","this","document","documentElement","contains","parentElement","parentNode","nodeType","UX","noFocusableSVG","init","test","isIE","svgs","getElementsByTagName","i","length","setAttribute","cookies","getItem","sKey","decodeURIComponent","cookie","replace","RegExp","encodeURIComponent","setItem","sValue","vEnd","sPath","sDomain","bSecure","sExpires","constructor","Number","Infinity","String","Date","toUTCString","removeItem","hasItem","keys","aKeys","split","nLen","nIdx","$window","$body","$document","bookmark","$","window","control","on","add_bookmark","sidebar","addPanel","title","location","href","external","AddFavorite","opera","print","alert","navigator","userAgent","toLowerCase","indexOf","dropBlock","$controllers","$targets","$controller","$target","$parents","$parent","escape","$container","switchVal","$section","vPort","isMobile","initialized","direction","pop","preventDefault","stopPropagation","isOpen","hasClass","isDataSlideTarget","is","disableOnMobile","data","find","target","hide","show","dimensions","controller","check","trigger","addClass","attr","icon","first","focus","removeAttr","each","loi","recalculate","additionalOnShow","removeClass","back","$parentSection","blur","additionalOnHide","$nested","parents","parent","current","ifContaind","wrapInner","nHeight","outerHeight","pOffset","offset","pLeft","left","nWidth","innerWidth","styles","container_offset","container_base","width","parent_base","top","right","concat","css","switch","temp","undefined","accordion","$elements","$tabbedElements","$tabbedControllers","isStickyBody","$responsiveElements","accVport","$responsiveTarget","collapseTabs","collapseAccordion","defaultCollapsed","hideAllBoolean","openedAccordion","hideDropBlock","initResponsive","logic","additionalControls","stopImmediatePropagation","_typeof","$this","toggle","single","preventAccordionBehavior","tabbed","elem","hideAll","parentAccordion","index","collapseTabsByDefault","getAccordionContent","additionalAjaxSuccess","$elem","getCustomAjaxUrl","buildAjaxUrl","ajaxUrl","widgetId","dropzoneId","$parentTab","ajax","url","success","replaceWith","remove","error","state","$accordionContent","next","contentTarget","slideToggle","height","toggleClass","$wrapper","accordionExpandedSingle","Event","checkExpandAll","$opened","children","slideUp","extraCollapseAccordionCheck","slideDown","expanded","accordionExpandedTabbed","all","text","$lazy","$expandElem","setViewports","backToTop","element","footerBackToTop","animate","scrollTop","body","isfooterVisible","docViewBottom","adplaceholder","elemToToggle","ready","event","toggleQuickSearch","val","setTimeout","loadInstitutionPage","selectDom","click","menu","$toggle","revers","lastItem","items","menuHeaderMainTitle","redirectPath","displayedNestedItems","nestedMenu","listPositionVars","mainScrollingList","inTimeoutTiming","outTimeoutTiming","mainScrollingListHeight","mobileTransitionTime","bodyTransitionPropertyName","bodyTransitionElapsedTime","$header","viewPort","responsive","additionalControl","rebuild","original","nested","hideNested","keyCode","which","tabRevers","tab","get","addEventListener","listPosition","handleHeightSet","handleResize","shiftKey","tabDesktop","escDesktop","showAdditional","showNested","start","siblings","$menuTitle","html","showNestedExtra","$parenNestedMenu","shouldNavigate","arguments","$menuHeader","hideNestedExtra","reset","off","$parentMenu","$dropdownToggle","$firstNestedMenu","$prevMenu","$nextMenu","handle","prev","sub","addDataOnly","menuElements","timing","timeoutTime","addDataToElem","handleScrollBarHide","lastScrollVal","getLastPosition","scrollTo","rect","getBoundingClientRect","JSON","stringify","bottom","Math","floor","scrollVal","parse","elemsArr","forEach","parentHeightVal","innerHeight","subHeightVal","utils","isSafari","duration","abs","skipCheck","options","elapsedTime","propertyName","add","menubar","$id","$rootItems","$items","$allItems","$activeItem","vmenu","bChildOpen","enter","esc","space","up","down","bindHandlers","keydown","handleKeyDown","keypress","handleKeyPress","handleFocus","handleDocumentClick","parentsUntil","filter","altKey","ctrlKey","processMenuChoice","not","moveUp","moveToPrevious","moveDown","moveToNext","a","n","h","o","last","u","eq","charAt","fromCharCode","open","slide","$slide","$contents","$slideinfo","elementvPort","multi","activeSlide","oldInfo","clone","wait","backLabel","isQueue","isRTL","displaySlideHtmlToPage","$back","customViewPorts","additionalInitialization","facetDateChart","$main","append","additionalResponsive","addTransition","empty","removeTransition","setBackLabel","_e$currentTarget","jcf","destroy","openingEvent","isDefaultPrevented","popupType","currentTarget","getAttribute","additionalShow","_nestSlide","label","clonedDiv","destroyJcf","push","after","appendTo","rebuildJcf","googletag","pubads","refresh","$coolBar","openEvent","_showSlide","slidePill","$slidedDiv","translate","one","additionalShowSlide","isInsideSlide","closingEvent","originalTarget","isLoi","beforeReturnSlideContent","$dropBlockHolder","_returnDataSlide","splice","_hideSlide","additionalHide","closeEvent","updateTarget","returnDataSlideHere","$returnDataSlideHere","additionalOff","$el","reponsiveMenu","$menuContainer","leftSectionWidth","rightSectionWidth","maxMenuItemWidth","$moreDropsown","$menu","$menuWrapper","build","modifyMenu","before","availableMenuWidth","menuWidth","$lastMenuItem","prepend","outerHTML","$moreItems","$firstMoreItem","scrollo","scrollLeft","pageXOffset","pageYOffset","adjustAnchor","$anchor","fixedElementsHeight","fixedpageElementsHeight","hash","elementsHeight","$fixedHeader","$scrolloThenFix","$stickyCoolbar","stickyCoolbarHeigh","coolbar","sections","holder","coolbarElement","headerHeight","isStickyBar","lock","fill","addtionalControls","ul","li","link","stickybar","stickyElements","topPostition","fixedElements","toBeStickyOn","load","sticky","j","scroll","offsetYTop","topPosition","fix","unfix","isFixed","ieWarning","selectors","content","warning","button","targetEl","contentEl","ie","sessionStorage","querySelector","showMessage","insertAdjacentHTML","handlers","btnClickHandler","style","paddingTop","parseInt","getComputedStyle","clientHeight","removeMessage","removeEventListener","child","removeChild","ev","NAME","EVENT_KEY","JQUERY_NO_CONFLICT","fn","Default","backdrop","keyboard","DefaultType","HIDE","HIDE_PREVENTED","HIDDEN","SHOW","SHOWN","FOCUSIN","RESIZE","CLICK_DISMISS","KEYDOWN_DISMISS","MOUSEUP_DISMISS","MOUSEDOWN_DISMISS","CLICK_DATA_API","ClassName","Selector","Modal","config","_classCallCheck","_config","_getConfig","_element","_dialog","_backdrop","_isShown","_isBodyOverflowing","_ignoreBackdropClick","_isTransitioning","_scrollbarWidth","_createClass","key","relatedTarget","_this","showEvent","_checkScrollbar","_setScrollbar","_adjustDialog","_setEscapeEvent","_setResizeEvent","_showBackdrop","_showElement","_this2","hideEvent","transition","transitionDuration","Util","getTransitionDurationFromElement","TRANSITION_END","_hideModal","emulateTransitionEnd","dispose","htmlElement","removeData","handleUpdate","_objectSpread","typeCheckConfig","_triggerBackdropTransition","_this3","hideEventPrevented","defaultPrevented","classList","modalTransitionDuration","_this4","modalBody","Node","ELEMENT_NODE","appendChild","display","removeAttribute","reflow","_enforceFocus","shownEvent","transitionComplete","_this5","has","_this6","_this7","_this8","_resetAdjustments","_resetScrollbar","_removeBackdrop","callback","_this9","createElement","className","backdropTransitionDuration","callbackRemove","isModalOverflowing","scrollHeight","paddingLeft","paddingRight","_getScrollbarWidth","_this10","fixedContent","slice","call","querySelectorAll","stickyContent","actualPadding","calculatedPadding","parseFloat","actualMargin","marginRight","calculatedMargin","padding","elements","margin","scrollDiv","scrollbarWidth","clientWidth","_jQueryInterface","TypeError","_this11","selector","getSelectorFromElement","tagName","Constructor","noConflict","autoHideBar","main","Array","$reponsiveMenu","getElementsByClassName","err","console","headerSelector","$primaryBar","$stickyBar","previousTop","scrollDelta","scrollOffset","previousScroll","disabled","changeEvent","changeEventName","header","createEvents","displayOnScroll","CustomEvent","currentTop","secondaryNav_HeaderOffsetTop","removeProperty","dispatchEvent","setProperty","hideOpenHeaderMenus","$openedLoginMenu","$openedQuickSearchMenu","seppuku","testNode","some","prefix","position","isInitialized","shadowRootExists","ShadowRoot","stickies","extend","targetObj","sourceObject","hasOwnProperty","parseNumeric","getDocOffsetTop","node","docOffsetTop","offsetTop","offsetParent","Sticky","HTMLElement","Error","_node","_stickyMode","_active","_removed","_deactivate","nodeComputedStyle","nodeComputedProps","marginTop","marginBottom","marginLeft","cssFloat","isNaN","originalPosition","referenceNode","host","nodeWinOffset","parentWinOffset","parentComputedStyle","_parent","offsetHeight","_offsetToWindow","_offsetToParent","borderTopWidth","borderLeftWidth","borderRightWidth","_styles","nodeTopValue","_limits","end","borderBottomWidth","parentPosition","_recalcPosition","_clone","border","borderSpacing","fontSize","insertBefore","stickyMode","_fastCheck","Stickyfill","forceSticky","refreshAll","addOne","nodeList","addedStickies","_loop","removeOne","_loop2","removeAll","fastCheckTimer","docHiddenKey","visibilityChangeEventName","checkScroll","startFastCheckTimer","stopFastCheckTimer","clearInterval","setInterval","sticko","scrollThenFix","dynamicHeader","stickoParent","isHeaderSticky","dynamicHeaderHeight","unshift","_isDynamicHeaderHeight","extra","computeHeaderHeight","matched","join","item","isHeader","makeSticky","setTopValue","postStickyActions","_canSetTopValue","_has","stickoActions","scrollThenFixActions","fixedHeaderHeight","scrollThenFixOffset","self","$element","$child","pWidth","eTop","startPoint","newHeight","marginTopVal","marginBottomVal","originalHeight","forceDisableMobileSticky","stopOn","scrollHandler","stickoOnLargeHight","launch","ctrl","destroyOnLargeHight","define","ads","set","additionalLaunch","hHeight","apply","childHeight","setHeightVal","offsetBottom","tabsHeight","variables","outOfFixedArea","fixedArea","footerHeight","dynamicStickyElement","initialTop","dynamicScrollTop","dynamicHeight","dynamicOffsetBottom","topVal","resize","scrolla","chHeights","$scrollo","$autoHideBar","$sticko","$coolbar","$stickybar","$bookmark","$ERPAcceptance","$dropBlock","$accordion","$backToTop","$quickSearch","$adplaceholder","$multiSearch","ERPAcceptance","quickSearch","multiSearch","mobileMenuMain","stickyMain"],"mappings":"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","file":"js/vendors~lazy-imports-ce1119a2521e5d052ba2.js","sourcesContent":["var toPropertyKey = require(\"./toPropertyKey.js\");\nfunction _defineProperty(e, r, t) {\n return (r = toPropertyKey(r)) in e ? Object.defineProperty(e, r, {\n value: t,\n enumerable: !0,\n configurable: !0,\n writable: !0\n }) : e[r] = t, e;\n}\nmodule.exports = _defineProperty, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","/**\n * Polyfill to support matches on IE9+\n *\n * {@link https://developer.mozilla.org/en-US/docs/Web/API/Element/matches#Polyfill}\n */\n\nif (!Element.prototype.matches)\n Element.prototype.matches = Element.prototype.msMatchesSelector || Element.prototype.webkitMatchesSelector;\n","/**\n * Polyfill for Element.closest()\n * {@link https://developer.mozilla.org/en-US/docs/Web/API/Element/closest#Polyfill}\n */\n\nimport './matches';\n\nif (!Element.prototype.closest)\n Element.prototype.closest = function (s) {\n var el = this;\n if (!document.documentElement.contains(el)) return null;\n do {\n if (el.matches(s)) return el;\n el = el.parentElement || el.parentNode;\n } while (el !== null && el.nodeType === 1);\n return null;\n };\n","(function () {\n UX.noFocusableSVG = {\n init: function () {\n if (UX.test.isIE) {\n const svgs = document.getElementsByTagName('svg');\n let i = svgs.length;\n while (i--) {\n svgs[i].setAttribute('focusable', false);\n }\n }\n },\n };\n})();\n","/*eslint-disable*/\n(function () {\n /*\\\n |*|\n |*| :: cookies.js ::\n |*|\n |*| A complete cookies reader/writer framework with full unicode support.\n |*|\n |*| Revision #1 - September 4, 2014\n |*|\n |*| https://developer.mozilla.org/en-US/docs/Web/API/document.cookie\n |*| https://developer.mozilla.org/User:fusionchess\n |*| https://github.com/madmurphy/cookies.js\n |*|\n |*| This framework is released under the GNU Public License, version 3 or later.\n |*| http://www.gnu.org/licenses/gpl-3.0-standalone.html\n |*|\n |*| Syntaxes:\n |*|\n |*| * docCookies.setItem(name, value[, end[, path[, domain[, secure]]]])\n |*| * docCookies.getItem(name)\n |*| * docCookies.removeItem(name[, path[, domain]])\n |*| * docCookies.hasItem(name)\n |*| * docCookies.keys()\n |*|\n \\*/\n\n var cookies = {\n getItem: function (sKey) {\n if (!sKey) {\n return null;\n }\n return (\n decodeURIComponent(\n document.cookie.replace(\n new RegExp(\n '(?:(?:^|.*;)\\\\s*' +\n encodeURIComponent(sKey).replace(/[\\-\\.\\+\\*]/g, '\\\\$&') +\n '\\\\s*\\\\=\\\\s*([^;]*).*$)|^.*$'\n ),\n '$1'\n )\n ) || null\n );\n },\n setItem: function (sKey, sValue, vEnd, sPath, sDomain, bSecure) {\n if (!sKey || /^(?:expires|max\\-age|path|domain|secure)$/i.test(sKey)) {\n return false;\n }\n var sExpires = '';\n if (vEnd) {\n switch (vEnd.constructor) {\n case Number:\n sExpires = vEnd === Infinity ? '; expires=Fri, 31 Dec 9999 23:59:59 GMT' : '; max-age=' + vEnd;\n break;\n case String:\n sExpires = '; expires=' + vEnd;\n break;\n case Date:\n sExpires = '; expires=' + vEnd.toUTCString();\n break;\n }\n }\n document.cookie =\n encodeURIComponent(sKey) +\n '=' +\n encodeURIComponent(sValue) +\n sExpires +\n (sDomain ? '; domain=' + sDomain : '') +\n (sPath ? '; path=' + sPath : '') +\n (bSecure ? '; secure' : '');\n return true;\n },\n removeItem: function (sKey, sPath, sDomain) {\n if (!this.hasItem(sKey)) {\n return false;\n }\n document.cookie =\n encodeURIComponent(sKey) +\n '=; expires=Thu, 01 Jan 1970 00:00:00 GMT' +\n (sDomain ? '; domain=' + sDomain : '') +\n (sPath ? '; path=' + sPath : '');\n return true;\n },\n hasItem: function (sKey) {\n if (!sKey) {\n return false;\n }\n return new RegExp('(?:^|;\\\\s*)' + encodeURIComponent(sKey).replace(/[\\-\\.\\+\\*]/g, '\\\\$&') + '\\\\s*\\\\=').test(\n document.cookie\n );\n },\n keys: function () {\n var aKeys = document.cookie\n .replace(/((?:^|\\s*;)[^\\=]+)(?=;|$)|^\\s*|\\s*(?:\\=[^;]*)?(?:\\1|$)/g, '')\n .split(/\\s*(?:\\=[^;]*)?;\\s*/);\n for (var nLen = aKeys.length, nIdx = 0; nIdx < nLen; nIdx++) {\n aKeys[nIdx] = decodeURIComponent(aKeys[nIdx]);\n }\n return aKeys;\n },\n };\n\n UX.cookies = cookies;\n})();\n","(function () {\n var $window = $(window),\n $body = $('body'),\n $document = $(document);\n\n var bookmark = {\n init: function () {\n bookmark.control();\n },\n control: function () {\n $body.on('click', '.header__dropzone-bookmark', function () {\n bookmark.add_bookmark();\n });\n },\n add_bookmark: function () {\n if ($window.sidebar && $window.sidebar.addPanel) {\n // Mozilla Firefox Bookmark\n $window.sidebar.addPanel($document.title, $window.location.href, '');\n } else if ($window.external && 'AddFavorite' in $window.external) {\n // IE Favorite\n $window.external.AddFavorite(location.href, $document.title);\n } else if ($window.opera && $window.print) {\n // Opera Hotlist\n this.title = $document.title;\n return true;\n } else {\n // webkit - safari/chrome\n alert(\n 'Press ' +\n (navigator.userAgent.toLowerCase().indexOf('mac') !== -1 ? 'Command/Cmd' : 'CTRL') +\n ' + D to bookmark this page.'\n );\n }\n },\n };\n\n UX.bookmark = bookmark;\n})();\n","// tabs.js calls UX.dropBlock.init(); on line 260\n// profile-menu.js calls UX.dropBlock.init(); on line 53\n\n(function () {\n var $window = $(window),\n $body = $('body');\n\n var dropBlock = {\n $controllers: $('[data-db-target-for]'),\n $targets: null, // Holds all targets in Dom\n $controller: null, // Current drop down controller\n $target: null, // Current target down controller element\n $parents: null, // Hodls all parents in Dom\n $parent: null, // Current parent element\n escape: 27,\n $container: $('.container'),\n switchVal: null,\n $section: $('.dropBlock__holder'),\n vPort: 'screen-sm',\n isMobile: false,\n initialized: false,\n direction: 'left', // left , right\n pop: 'down', // up , down\n\n init: function () {\n dropBlock.control();\n },\n\n control: function () {\n if (dropBlock.initialized) {\n return;\n }\n dropBlock.initialized = true;\n\n $(document).on('click', '[data-db-target-for]', function (e) {\n e.preventDefault();\n e.stopPropagation();\n\n const isOpen = $(this).hasClass('js--open'),\n isDataSlideTarget = $(this).is('[data-slide-target]'),\n disableOnMobile = $(this).data('db-sm-disable') || false;\n\n dropBlock.$controller = $(this);\n dropBlock.find.target();\n\n if (isOpen) {\n dropBlock.on.hide();\n } else {\n if (dropBlock.isMobile && (isDataSlideTarget !== false || disableOnMobile)) {\n return;\n } else {\n dropBlock.on.show(e);\n }\n }\n });\n\n $(document).on(\n 'click',\n '.coolBar:not(.loi__banner) [data-db-target-of] a:not([data-slide-target])',\n function (e) {\n dropBlock.on.hide();\n }\n );\n\n $window.on('resize', function () {\n if (dropBlock.$parent != null) {\n dropBlock.find.dimensions();\n }\n });\n\n $(document).on(dropBlock.vPort + '-on', function () {\n // Waiting for custom event that will be triggered by controller.js to activate responsive effects\n dropBlock.isMobile = true;\n });\n $(document).on(dropBlock.vPort + '-off', function () {\n // Waiting for custom event that will be triggered by controller.js to deactivate responsive effects\n dropBlock.isMobile = false;\n });\n },\n on: {\n show: function (e) {\n // show target element\n\n if (!dropBlock.$controller.closest('.dropBlock__holder').length) {\n if (typeof UX.controller != 'undefined') {\n UX.controller.check(e);\n }\n }\n\n if (dropBlock.$target) {\n dropBlock.$controller.trigger('dropBlock:open', [dropBlock]);\n\n dropBlock.$target.addClass('js--open');\n dropBlock.$controller.addClass('js--open');\n $body.attr('data-active', 'dropBlock');\n dropBlock.$target.closest(\"[class*='sticko']\").addClass('js--open');\n dropBlock.switch.icon();\n // Move focus to active inner component, or leave focus on control\n dropBlock.$target.find('.active :tabbable').first().focus();\n\n // Accessibility\n dropBlock.$controller.attr({'aria-expanded': 'true'});\n dropBlock.$target.removeAttr('aria-hidden');\n\n // @fixme - this should not be here at all - it should be moved to proper component\n const isLoi = dropBlock.$target.find('.loi').length > 0;\n if (isLoi) {\n dropBlock.$target.find('.loi__list').each(function () {\n UX.loi.on.recalculate($(this));\n });\n }\n dropBlock.$controller.trigger('dropBlock:opened', [dropBlock]);\n }\n dropBlock.additionalOnShow();\n },\n hide: function () {\n // hide target element\n if (dropBlock.$target) {\n dropBlock.$controller.trigger('dropBlock:close', [dropBlock]);\n\n // Close current target\n dropBlock.$controller.removeClass('js--open');\n dropBlock.$target.removeClass('js--open');\n // Play nicely with others ...\n // For plugins which don't use js--open class but uses .hide .show methods instead, reset them ...\n // For example LOA accordion\n if (dropBlock.$target.attr('style')) {\n dropBlock.$target.removeAttr('style');\n }\n // Explicitly for our accordion working as a drop-block\n dropBlock.$target.closest(\"[class*='accordion-tabbed__tab']\").removeClass('js--open');\n\n dropBlock.$target.closest(\"[class*='sticko']\").removeClass('js--open');\n\n dropBlock.switch.back();\n\n // Accessibility - Inform screen readers\n dropBlock.$controller.attr({'aria-expanded': 'false'});\n dropBlock.$target.attr({'aria-hidden': 'true'});\n\n // Nested dropBlocks close handling\n if (dropBlock.$parentSection && dropBlock.$parentSection.length) {\n // Nested ones - set parent after closing self - will close parent in second round\n dropBlock.$controller = $(\n '[data-db-target-for=\"' + dropBlock.$parentSection.attr('data-db-target-of') + '\"]'\n );\n dropBlock.find.target();\n } else {\n // If we want to close last drop block, than there is no more active component\n if ($body.attr('data-active') === 'dropBlock') {\n $body.removeAttr('data-active');\n $('body, html').removeClass('lock-screen'); // @todo investigate if this is needed for drop Blocks or was copied out of other component\n }\n }\n if (dropBlock.$target) {\n dropBlock.$target.find('input:focus').blur();\n }\n dropBlock.$controller.trigger('dropBlock:closed', [dropBlock]);\n }\n dropBlock.additionalOnHide();\n },\n escape: function () {\n // hide target if user clicks escape key\n // @fixme this seems unused and deprecated by controller.js\n if (dropBlock.$target != null) {\n dropBlock.on.hide();\n }\n },\n },\n find: {\n target: function () {\n // get the target element if existed\n if ($('[data-db-target-of]').length) {\n dropBlock.$targets = $('[data-db-target-of]');\n dropBlock.$target = $(\n '[data-db-target-of=' + dropBlock.$controller.attr('data-db-target-for') + ']'\n );\n dropBlock.$section = dropBlock.$target;\n const $nested = dropBlock.$section.parents('.dropBlock__holder');\n if ($nested.length) {\n dropBlock.$parentSection = $nested;\n } else {\n dropBlock.$parentSection = null;\n }\n dropBlock.find.parent();\n }\n },\n parent: function () {\n // get the parent element if existed\n\n dropBlock.$parent = null;\n dropBlock.$parents = $('[data-db-parent-of]');\n\n if (dropBlock.$parents.length) {\n dropBlock.$parents.each(function () {\n const current = dropBlock.$controller.attr('data-db-target-for');\n let parentFor = $(this).data('db-parent-of').split(',');\n\n if (parentFor.indexOf(current) !== -1) {\n dropBlock.$parent = $(this);\n return false;\n }\n });\n\n if (dropBlock.$parent != null) {\n dropBlock.find.dimensions();\n dropBlock.find.ifContaind();\n }\n }\n },\n ifContaind: function () {\n // check if it parent or target has container element\n if (dropBlock.$parent.find('.container').length && !dropBlock.$target.find('.container').length) {\n dropBlock.$target.wrapInner(\"
\");\n }\n },\n dimensions: function () {\n // count the top and left position of the target element based on teh parent element\n\n var nHeight = dropBlock.$parent.outerHeight(),\n pOffset = dropBlock.$parent.offset(),\n pLeft = pOffset.left,\n nWidth = dropBlock.$parent.innerWidth(),\n styles = {},\n container_offset = pOffset;\n\n dropBlock.$container = $('.container');\n if (dropBlock.$container.length) {\n container_offset = dropBlock.$container.offset();\n }\n\n const container_left = container_offset.left,\n container_base = container_left + dropBlock.$container.width(),\n parent_base = nWidth + pLeft;\n\n if (dropBlock.$parent.find('.scrollThenFix').length) {\n nHeight = dropBlock.$parent.find('.scrollThenFix').outerHeight();\n }\n\n if (dropBlock.$parent.innerWidth() === dropBlock.$controller.innerWidth()) {\n nWidth = dropBlock.$parent.hasClass('no-auto-width') ? '' : 'auto';\n if (dropBlock.isMobile) {\n nWidth = dropBlock.$parent.hasClass('no-auto-width') ? '' : '100%';\n }\n }\n\n if (parent_base > container_base) {\n styles = {\n top: nHeight,\n right: '0px',\n width: nWidth,\n };\n } else {\n styles = {\n top: nHeight,\n width: nWidth,\n };\n let direction = dropBlock.$parent.data('db-direction') || dropBlock.direction;\n /*eslint-disable*/\n switch (direction) {\n case 'left':\n case 'right':\n styles[direction] = '0px';\n break;\n case 'center':\n let offset = dropBlock.$target.innerWidth() / 2 - dropBlock.$parent.innerWidth();\n styles['left'] = `calc(-50% - ${offset}px)`;\n }\n /*eslint-enable*/\n }\n dropBlock.$target.css(styles);\n },\n },\n switch: {\n icon: function () {\n dropBlock.switchVal = dropBlock.$controller.attr('data-db-switch');\n switch (dropBlock.switchVal) {\n case 'none':\n break;\n case 'rotate':\n dropBlock.$controller.find('i').addClass('js--rotated');\n break;\n default:\n dropBlock.$controller.find('i').addClass(dropBlock.switchVal);\n }\n },\n back: function () {\n dropBlock.$controllers.each(function () {\n var temp = $(this).attr('data-db-switch');\n switch (temp) {\n case 'none':\n break;\n case 'rotate':\n dropBlock.$controller.find('i').removeClass('js--rotated');\n break;\n default:\n if (temp !== undefined) dropBlock.$controller.find('i').removeClass(temp);\n }\n });\n },\n },\n\n additionalOnShow: function () {},\n\n additionalOnHide: function () {},\n };\n\n UX.dropBlock = dropBlock; // add to global namespace\n})();\n","(function () {\n var $body = $('body'),\n isMobile = false;\n\n var accordion = {\n $elements: $('.accordion'),\n $tabbedElements: $('.accordion-tabbed'),\n $controllers: $('.accordion__control'), //@todo: remove ambiguous DOM searches for elements that are unused and move other into init function\n $tabbedControllers: $('.accordion-tabbed__control'),\n isMobile: false,\n isStickyBody: false,\n vPort: 'screen-sm',\n $responsiveElements: $('[data-accordion-vport]'),\n accVport: [],\n $responsiveTarget: [],\n collapseTabs: false,\n collapseAccordion: true, // collapse accordion on open new accordion\n defaultCollapsed: true, // collapse accordion on pageload\n hideAllBoolean: true,\n openedAccordion: 0,\n hideDropBlock: true,\n\n init: function () {\n accordion.initResponsive();\n accordion.logic($('.accordion-tabbed')); // collapse all accordions on page load\n accordion.control();\n accordion.additionalControls();\n },\n additionalControls: function () {},\n control: function () {\n $body.on('click', '.accordion__control', function (e) {\n e.stopImmediatePropagation();\n // This check is needed on Safari browser in order to close the dropblock if its opened\n if ($body.attr('data-active') === 'dropBlock' && accordion.hideDropBlock) {\n UX.dropBlock.on.hide();\n }\n const attr = $(this).is('[data-slide-target]');\n // Check if its external link or if its slide controll and mobile view port\n if ($(this).hasClass('external') || (typeof attr !== typeof undefined && attr !== false && isMobile)) {\n return; // do nothing\n } else {\n e.preventDefault();\n const $this = $(this);\n accordion.on.toggle.single($this);\n }\n\n $(this).trigger('accordion:controlClick');\n });\n if (config.enableAccordionTypeSingle || config.enableAccordionTypeSubsection) {\n $body.on('click', '.accordion-tabbed__control', function (e) {\n const attr = $(this).is('[data-slide-target]');\n // Check if its external link or if its slide controll and mobile view port or prevent accordion behavior\n if (\n $(this).hasClass('external') ||\n (typeof attr !== typeof undefined && attr !== false && isMobile) ||\n accordion.preventAccordionBehavior($(this))\n ) {\n return; // do nothing\n } else {\n e.preventDefault();\n const $this = $(this);\n accordion.on.toggle.tabbed($this);\n }\n });\n }\n\n if (config.enableAccordionExpandAll) {\n $body.on('click', '.expand-all', function (e) {\n e.preventDefault();\n const $this = $(this);\n accordion.on.toggle.all($this);\n });\n }\n\n $(document).on(accordion.vPort + '-on', function () {\n // Waiting for custom event that will be triggered by controller.js to activate responsive effects\n isMobile = true;\n });\n\n $(document).on(accordion.vPort + '-off', function () {\n // Waiting for custom event that will be triggered by controller.js to deactivate responsive effects\n isMobile = false;\n });\n },\n logic: function (elem) {\n if (accordion.hideAllBoolean) {\n accordion.hideAll();\n }\n\n accordion.$tabbedElements = elem;\n\n accordion.$tabbedElements.each(function () {\n var $this = $(this),\n parentAccordion = $this.closest('.accordion');\n\n if (parentAccordion.parent('[data-default-collapsed]').length) {\n accordion.defaultCollapsed = parentAccordion.parent().data('default-collapsed');\n }\n\n $this.find('.accordion-tabbed__tab').each(function (index) {\n var $this = $(this);\n if (accordion.defaultCollapsed || accordion.defaultCollapsed === 'all') {\n if (accordion.preventAccordionBehavior($this)) {\n return;\n }\n if (\n !accordion.collapseTabsByDefault(this) &&\n index === accordion.openedAccordion &&\n !$this.hasClass('accordion__closed')\n ) {\n $this.addClass('js--open');\n $this.find('.accordion-tabbed__control').attr('aria-expanded', 'true');\n $this.find('.accordion-tabbed__content').show();\n if ($this.find('.accordion-lazy').length) {\n accordion.getAccordionContent($this.find('.accordion-lazy'));\n }\n } else {\n $this.removeClass('js--open');\n $this.find('.accordion-tabbed__control').attr('aria-expanded', 'false');\n $this.find('.accordion-tabbed__content').hide();\n }\n } else {\n $this.addClass('js--open');\n $this.find('.accordion-tabbed__control').attr('aria-expanded', 'true');\n $this.find('.accordion-tabbed__content').show();\n }\n });\n });\n },\n collapseTabsByDefault: function () {\n return accordion.collapseTabs;\n },\n additionalAjaxSuccess: function ($elem) {},\n getCustomAjaxUrl: function ($elem) {},\n buildAjaxUrl: function ($elem) {\n let ajaxUrl;\n var hasCustomUrl =\n typeof $elem.attr('data-custom-url') !== 'undefined' && $elem.attr('data-custom-url') === 'true';\n if (hasCustomUrl) {\n ajaxUrl = accordion.getCustomAjaxUrl($elem);\n } else {\n const widgetId = $elem.attr('data-widgetid');\n const dropzoneId = $elem.attr('data-dropzoneid');\n const pbContext = encodeURIComponent($('meta[name=pbContext]').attr('content'));\n ajaxUrl =\n '/pb/widgets/accordion/loadTab?pbContext=' +\n pbContext +\n '&widgetId=' +\n widgetId +\n '&dropZoneId=' +\n dropzoneId;\n }\n return ajaxUrl;\n },\n getAccordionContent: function ($elem) {\n var ajaxUrl = accordion.buildAjaxUrl($elem);\n var $parentTab = $elem.parent();\n $.ajax({\n url: ajaxUrl,\n success: function (data) {\n $elem.closest('.accordion-tabbed__tab').attr('data-ajaxLoaded', 'true');\n $elem.replaceWith(data);\n if ($parentTab.find('.accordion-tabbed').length) {\n accordion.logic($parentTab.find('.accordion-tabbed'));\n }\n $parentTab.find('.accordion__spinner').remove();\n accordion.additionalAjaxSuccess($parentTab);\n },\n error: function () {},\n });\n },\n on: {\n toggle: {\n single: function ($this) {\n let state;\n var $accordionContent = $this.next('.accordion__content');\n if (typeof $this.attr('data-content-target') !== 'undefined') {\n const contentTarget = $this.attr('data-content-target');\n $accordionContent = $(contentTarget);\n }\n $accordionContent.slideToggle(200, function () {\n if ($this.parent().hasClass('article-accordion')) {\n $('.article-row-left').height('auto');\n accordion.isStickyBody = state;\n }\n });\n $this.toggleClass('js--open');\n\n const $wrapper = $this.closest('.expandable-accordion');\n\n state = !($this.attr('aria-expanded') === 'true');\n $this.attr('aria-expanded', state);\n const accordionExpandedSingle = $.Event('accordion:expandedSingle');\n $(document).trigger(accordionExpandedSingle, [$this, $accordionContent]);\n if ($wrapper.length) accordion.on.checkExpandAll($this, state, $wrapper);\n },\n tabbed: function ($this) {\n const $parent = $this.closest('.accordion-tabbed__tab');\n const $opened = $this.closest('.accordion-tabbed').children('.js--open');\n\n const state = !($this.attr('aria-expanded') === 'true');\n $this.attr('aria-expanded', state);\n const $wrapper = $this.closest('.expandable-accordion');\n if ($wrapper.length) accordion.on.checkExpandAll($this, state, $wrapper);\n if (!$parent.hasClass('js--open')) {\n if (accordion.collapseAccordion || accordion.extraCollapseAccordionCheck($parent)) {\n $opened.children('.accordion-tabbed__content').slideUp(200);\n }\n $parent.children('.accordion-tabbed__content').slideDown(200, function () {\n if (accordion.collapseAccordion || accordion.extraCollapseAccordionCheck($parent)) {\n $opened.removeClass('js--open');\n }\n\n $parent.addClass('js--open');\n if ($parent.attr('data-ajaxLoaded') !== 'true' && $parent.find('.accordion-lazy').length) {\n accordion.getAccordionContent($parent.find('.accordion-lazy'));\n }\n accordion.on.expanded($this);\n const accordionExpandedTabbed = $.Event('accordion:expandedTabbed');\n $(document).trigger(accordionExpandedTabbed, [$this]);\n });\n } else {\n $parent.children('.accordion-tabbed__content').slideUp(200, function () {\n $this.removeClass('js--open');\n $parent.removeClass('js--open');\n // @fixme: work with aria-expanded is missing here, so it doesn't work correct\n });\n }\n },\n all: function ($this) {\n var $wrapper = $this.closest('.expandable-accordion');\n var state = !($this.attr('aria-expanded') === 'true');\n\n $this.attr('aria-expanded', state);\n if (state) {\n $wrapper.find('.accordion-tabbed__tab').addClass('js--open');\n $wrapper\n .find('.accordion__control, .accordion-tabbed__control')\n .addClass('js--open')\n .attr('aria-expanded', state);\n $wrapper.find('.accordion__content, .accordion-tabbed__content').slideDown(200);\n\n $this.text('Hide All');\n\n const $lazy = $wrapper.find('[data-ajaxLoaded]');\n $lazy.each(function () {\n if ($lazy.attr('[data-ajaxLoaded]') !== 'true' && $lazy.find('.accordion-lazy').length) {\n accordion.getAccordionContent($lazy.find('.accordion-lazy'));\n }\n });\n } else {\n $wrapper.find('.accordion-tabbed__tab').removeClass('js--open');\n $wrapper\n .find('.accordion__control, .accordion-tabbed__control')\n .removeClass('js--open')\n .attr('aria-expanded', state);\n $wrapper.find('.accordion__content, .accordion-tabbed__content').slideUp(200);\n\n $this.text('Expand All');\n }\n },\n },\n expanded: function ($this) {},\n checkExpandAll: function ($this, state, $wrapper) {\n let $expandElem;\n if ($wrapper.length) {\n $expandElem = $wrapper.find('.expand-all');\n }\n\n if ($expandElem.length && $expandElem.attr('aria-expanded') === 'true') {\n $expandElem.attr('aria-expanded', state);\n if (state) $expandElem.text('Hide All');\n else $expandElem.text('Expand All');\n }\n },\n },\n hideAll: function () {\n //Hide accordion content on load (in case of disabled JS, the accordion should be open)\n accordion.$elements.each(function () {\n var $this = $(this);\n $this.find('.accordion__control').attr('aria-expanded', 'false');\n if (!$this.find('.accordion__content').hasClass('js--open')) {\n $this.find('.accordion__content').hide();\n } else if ($this.find('.accordion__content').hasClass('js--open')) {\n $this.find('.accordion__control').attr('aria-expanded', 'true');\n } else {\n $this.find('.accordion__content').removeClass('js--open');\n }\n });\n },\n initResponsive: function () {\n if (accordion.$responsiveElements.length) {\n accordion.$responsiveElements.each(function (index) {\n accordion.$responsiveTarget[index] = $(this);\n accordion.accVport[index] = $(this).data('accordion-vport');\n accordion.setViewports(index);\n });\n }\n },\n extraCollapseAccordionCheck: function ($parent) {\n return accordion.collapseAccordion;\n },\n setViewports: function (index) {\n $(document).on(accordion.accVport[index] + '-on', function () {\n var target = accordion.$responsiveTarget[index];\n if (target.data('accordion-vport') === accordion.accVport[index]) {\n target.addClass('accordion-vport--res');\n if (target.data('accordion-option') === 'with-arrow') {\n target.addClass('accordion-with-arrow');\n }\n accordion.logic(accordion.$responsiveTarget[index].find('.accordion-tabbed'));\n }\n });\n\n $(document).on(accordion.accVport[index] + '-off', function () {\n // Waiting for custom event that will be triggered by controller.js to activate responsive effects\n var target = accordion.$responsiveTarget[index];\n if (target.data('accordion-vport') === accordion.accVport[index]) {\n target.removeClass('accordion-vport--res accordion-with-arrow');\n target.find('.accordion-tabbed__content').show();\n }\n });\n },\n };\n if (config.enableAccordionTypeSubsection || config.enableAccordionTypeSingle) {\n accordion.on.toggle.single = function ($this) {\n let state;\n var $accordionContent = $this.next('.accordion__content');\n if (typeof $this.attr('data-content-target') !== 'undefined') {\n const contentTarget = $this.attr('data-content-target');\n $accordionContent = $(contentTarget);\n }\n $accordionContent.slideToggle(200, function () {\n if ($this.parent().hasClass('article-accordion')) {\n $('.article-row-left').height('auto');\n accordion.isStickyBody = state;\n }\n });\n $this.toggleClass('js--open');\n\n const $wrapper = $this.closest('.expandable-accordion');\n\n state = !($this.attr('aria-expanded') === 'true');\n $this.attr('aria-expanded', state);\n const accordionExpandedSingle = $.Event('accordion:expandedSingle');\n $(document).trigger(accordionExpandedSingle, [$this, $accordionContent]);\n if ($wrapper.length) accordion.on.checkExpandAll($this, state, $wrapper);\n };\n }\n if (config.enableAccordionExpandAll) {\n accordion.on.toggle.all = function ($this) {\n var $wrapper = $this.closest('.expandable-accordion');\n var state = !($this.attr('aria-expanded') === 'true');\n\n $this.attr('aria-expanded', state);\n if (state) {\n $wrapper.find('.accordion-tabbed__tab').addClass('js--open');\n $wrapper\n .find('.accordion__control, .accordion-tabbed__control')\n .addClass('js--open')\n .attr('aria-expanded', state);\n $wrapper.find('.accordion__content, .accordion-tabbed__content').slideDown(200);\n\n $this.text('Hide All');\n\n const $lazy = $wrapper.find('[data-ajaxLoaded]');\n $lazy.each(function () {\n if ($lazy.attr('[data-ajaxLoaded]') !== 'true' && $lazy.find('.accordion-lazy').length) {\n accordion.getAccordionContent($lazy.find('.accordion-lazy'));\n }\n });\n } else {\n $wrapper.find('.accordion-tabbed__tab').removeClass('js--open');\n $wrapper\n .find('.accordion__control, .accordion-tabbed__control')\n .removeClass('js--open')\n .attr('aria-expanded', state);\n $wrapper.find('.accordion__content, .accordion-tabbed__content').slideUp(200);\n\n $this.text('Expand All');\n }\n };\n }\n if (config.enableAccordionBehaviorOnlyOnSpecificViewPort) {\n accordion.preventAccordionBehavior = function ($this) {\n return !!$this.parents('[data-accordion-vport]:not(.accordion-vport--res)').length;\n };\n }\n if (!config.enableAccordionBehaviorOnlyOnSpecificViewPort) {\n accordion.preventAccordionBehavior = () => true;\n }\n UX.accordion = accordion; // add to global namespace\n})();\n","(function () {\n var $window = $(window),\n $body = $('body');\n\n var backToTop = {\n element: '.back-to-top',\n footerBackToTop: 'footer .back-to-top',\n\n init: function () {\n backToTop.controller();\n },\n controller: function () {\n $body.on('click', backToTop.element, function (e) {\n e.preventDefault();\n $('html, body').animate({scrollTop: 0}, 600);\n $(document.body).find(':focusable').first().focus();\n });\n\n $window.on('scroll', function () {\n if ($(backToTop.footerBackToTop).length) {\n if ($(this).scrollTop() > $('header').height()) {\n $(backToTop.footerBackToTop).addClass('back-to-top__is-visible');\n } else {\n $(backToTop.footerBackToTop).removeClass('back-to-top__is-visible back-to-top__fade-out');\n }\n\n if ($(this).scrollTop() > 400) {\n $(backToTop.footerBackToTop).addClass('back-to-top__fade-out');\n }\n\n if (backToTop.check.isfooterVisible()) {\n $(backToTop.footerBackToTop).addClass('back-to-top__static');\n } else {\n $(backToTop.footerBackToTop).removeClass('back-to-top__static');\n }\n }\n });\n },\n check: {\n isfooterVisible: function () {\n var docViewBottom = $(window).scrollTop() + $(window).height();\n var backToTopPos = $('footer').offset().top;\n return backToTopPos <= docViewBottom;\n },\n },\n };\n\n UX.backToTop = backToTop;\n})();\n","(function () {\n const adplaceholder = {\n init: function () {\n $('.js__toggleAdForm').on('click', function (e) {\n e.preventDefault();\n const elemToToggle = '#' + $(this).data('toggle');\n $(elemToToggle).slideToggle();\n });\n },\n };\n UX.adplaceholder = adplaceholder; // add to global namespace\n})();\n","$(document).ready(function () {\n // display user login popup - loginBar\n $(document).on('click', '#indivLogin, #guestLogin', function (event) {\n event.preventDefault();\n event.stopPropagation();\n $(this).toggleClass('active');\n $('.navigation-login-dropdown-container:not(.login-options)').toggleClass('hidden');\n if ($('.search-open').is(':visible')) {\n toggleQuickSearch(); /*eslint-disable-line*/\n }\n });\n\n $(document).on('click', function (e) {\n if (\n $(e.target).attr('id') !== 'indivLogin' &&\n $(e.target).attr('id') !== 'guestLogin' &&\n !$('.navigation-login-dropdown-container').hasClass('hidden')\n ) {\n $('.navigation-login-dropdown-container').addClass('hidden');\n }\n });\n\n // enable sumbit btn for access token widget\n $('#accessTokenForm div.input-group input[type=text]').on('keyup input change', function () {\n !$('#accessTokenForm div.input-group #tokenAccess').val().length\n ? $('#accessTokenForm input[type=submit]').attr('disabled', 'disabled')\n : $('#accessTokenForm input[type=submit]').removeAttr('disabled');\n });\n\n // enable sumbit btn for access token widget\n $('.registration-popup input[type=submit]').attr('disabled', 'disabled');\n\n $('.registration-popup input[type=text]').on('keyup input change', function () {\n !$(this).val().length\n ? $('.registration-form input[type=submit]').attr('disabled', 'disabled')\n : $('.registration-form input[type=submit]').removeAttr('disabled');\n });\n\n // display verification code hidden msg after 3m\n if ($('#check-if-exist')) {\n setTimeout(function () {\n $('#hidden-message').css('visibility', 'visible');\n }, 30000);\n }\n\n // enable sumbit btn for 2-step widget\n $('#check-if-exist input[type=input]').on('keyup input change', function () {\n !$('#check-if-exist input[type=input]').val().length\n ? $('#check-if-exist input[type=submit]').attr('disabled', 'disabled')\n : $('#check-if-exist input[type=submit]').removeAttr('disabled');\n });\n});\n\n// this is not required anymore\n// $(window).on('load', function () {\n// // recaptcha load\n// if ($('.g-recaptcha').length) {\n// loadRecaptcha(); /*eslint-disable-line*/\n// }\n// });\n\nfunction loadInstitutionPage(selectDom) {\n var href = $(selectDom).val();\n location.href = href;\n}\nwindow.loadInstitutionPage = loadInstitutionPage; // add to global namespace\n","$(document).ready(function () {\n $('.registration__personal .registration__button').on('click', function (e) {\n e.preventDefault();\n alert('Registration magic happens'); //TODO: For testing purposes only, obviously. Delete after registration procedure is implemented\n $(this).parents('.row').slideUp(200);\n $(this).parents('.row').next().find('.accordion__control').click();\n });\n});\n","import './menu-accessability.js';\n\n(function () {\n //document.activeElement\n\n var $body = $('body'),\n $window = $(window),\n tabKey = 9,\n escKey = 27,\n enterKey = 13;\n\n var menu = {\n $toggle: $('[data-toggle=\"nav\"]'),\n $target: null,\n revers: false,\n lastItem: null,\n items: null,\n vPort: ['screen-sm'],\n isMobile: false, // variable use to determine if responsive mode is on or off\n menuHeaderMainTitle: '',\n redirectPath: false,\n displayedNestedItems: false,\n nestedMenu: undefined,\n listPositionVars: {\n mainScrollingList: $('#menubar'),\n inTimeoutTiming: null, // override these if you want a custom listPosition.handle in or out timeout time\n outTimeoutTiming: null,\n mainScrollingListHeight: false,\n mobileTransitionTime: 400, // should usually keep it the same as the transition time for `.main-nav.menu--res li`'s that's in drawer.scss,\n bodyTransitionPropertyName: 'transform', // this one,\n bodyTransitionElapsedTime: 0.25, // and this one depend on the type and duration of the sidebar `show` transition (currently under `.lock-screen[data-active='menu']` in drawer.scss)\n },\n\n init: function () {\n $('.main-nav').each(function (index) {\n menu.$target = $(this);\n const $header = menu.$target.find('.menu-header');\n menu.menuHeaderMainTitle = $header.text();\n menu.redirectPath = $header.data('redirect-to');\n menu.check.viewPort(index);\n menu.responsive(index);\n });\n $('.main-nav__toggle__controller').attr('aria-expanded', 'false');\n menu.items = $('.main-nav').find('a, button, input'); //$(\".header__nav a, .header__nav button, .header__nav input\");\n menu.control();\n menu.additionalControl();\n },\n\n responsive: function (index) {\n $(document).on(menu.vPort[index] + '-on', function () {\n // Waiting for custom event that will be triggered by controller.js to activate responsive effects\n menu.isMobile = true;\n $('.main-nav').each(function () {\n if ($(this).find('.drawer__nav').data('ctrl-res') === menu.vPort[index]) {\n $(this).addClass('menu--res'); // class will be used in our scss (to replace media queries)\n $('.main-nav__toggle__controller').addClass('main-nav__toggle__controller__res'); // class will be used in our scss (to replace media queries)\n menu.on.rebuild.responsive(); // rebuild menu to be responsive - drawer\n }\n });\n });\n\n $(document).on(menu.vPort[index] + '-off', function () {\n // Waiting for custom event that will be triggered by controller.js to deactivate responsive effects\n menu.isMobile = false;\n $('.main-nav').each(function () {\n if ($(this).find('.drawer__nav').data('ctrl-res') === menu.vPort[index]) {\n $(this).removeClass('menu--res'); // class will be used in our scss (to replace media queries)\n $('.main-nav__toggle__controller').removeClass('main-nav__toggle__controller__res'); // class will be used in our scss (to replace media queries)\n menu.on.rebuild.original(); // return menu as default\n }\n });\n });\n },\n\n control: function () {\n $body.on('click', '[data-toggle=\"nav\"]', function (e) {\n e.preventDefault();\n menu.$toggle = $(this);\n menu.$target = $('#' + menu.$toggle.data('target'));\n\n menu.items = menu.$target.find('a, button, input'); //$(\".header__nav a, .header__nav button, .header__nav input\");\n menu.items.each(function (index) {\n if (index === menu.items.length - 1) {\n menu.lastItem = $(this);\n }\n });\n\n menu.on.show(e);\n });\n\n $body.on('click', '.js--open[data-toggle=\"nav\"]', function (e) {\n e.preventDefault();\n menu.on.hide(e);\n });\n\n $body.on('click', function (e) {\n if (!$(e.target).closest('.dropdown__toggle').length) {\n $('a.dropdown__toggle.hover').removeClass('hover');\n }\n if (\n !$(e.target).hasClass('icon-arrow_r') &&\n !$(e.target).parents('.main-nav__toggle__controller') &&\n !$(e.target).parents('.main-nav.menu--res').length &&\n $('.lock-screen[data-active=\"menu\"]').length\n ) {\n menu.on.hide(e);\n }\n });\n\n $body.on('click', '.main-nav a', function (e) {\n if ($(this).attr('href') === '#') {\n e.preventDefault();\n }\n });\n\n $body.on('click touchend', '[data-toggle=\"dropdown\"]', function (e) {\n e.preventDefault();\n menu.nestedMenu = $(this);\n menu.on.nested(e);\n });\n $body.on('click', '.menu-header', function (e) {\n e.preventDefault();\n\n if (menu.isMobile) {\n menu.on.hideNested(true);\n }\n e.stopPropagation(); // prevent closing menu when getting back from nested menu\n });\n $body.on('keydown', '.drawer__nav, [data-toggle=\"nav\"]', function (e) {\n if (menu.isMobile) {\n if ((e.keyCode || e.which) === tabKey) {\n if (!menu.revers) {\n menu.on.tab();\n } else {\n menu.on.tabRevers();\n }\n }\n }\n });\n\n // without .get(0) e.elapsedTime and e.propertyName are undefined\n $body.get(0).addEventListener('transitionend', menu.on.listPosition.handleHeightSet);\n $window.on('resize', menu.on.listPosition.handleResize);\n\n $window.on('keyup', function (e) {\n menu.revers = !!(e.shiftKey && e.keyCode === tabKey);\n if (!menu.isMobile) {\n if ((e.keyCode || e.which) === tabKey || enterKey) {\n menu.on.tabDesktop(e, menu.revers, e.keyCode);\n }\n\n if ((e.keyCode || e.which) === escKey) {\n menu.on.escDesktop(e);\n }\n }\n });\n },\n additionalControl: function () {},\n on: {\n show: function () {\n if (typeof UX.controller != 'undefined') {\n UX.controller.check();\n }\n $body.addClass('lock-screen').attr('data-active', 'menu');\n menu.$toggle.addClass('js--open');\n\n menu.$target.closest('.main-nav').css('top', $window.scrollTop());\n $('.coolBar--res')\n .removeClass('trans')\n .css('top', $window.scrollTop() + $('header').height());\n $('.loi__banner.loi--res').css('top', $window.scrollTop() + $('header').height());\n $('.main-nav__toggle__controller').attr('aria-expanded', 'true');\n menu.$target.attr('style', 'display: block !important');\n menu.$toggle.focus();\n menu.on.showAdditional();\n },\n showAdditional: function () {},\n showNested: function () {\n menu.on.listPosition.start('in');\n menu.nestedMenu.next('.dropdown__menu').toggleClass('sub-menu__opened');\n menu.nestedMenu.parent().toggleClass('menu-parent__opened');\n menu.nestedMenu.find('i').toggleClass('opposite-arrow');\n menu.nestedMenu.parent().siblings('li').toggleClass('prev-items');\n menu.nestedMenu.toggleClass('prev-items');\n $(\"[data-toggle='nav']\").addClass('js--nested-open'); // replace Close button with back button after nested menu get opened\n const $menuTitle = menu.nestedMenu.html();\n\n if ($('.menu-header').length) {\n $('.menu-header').html($menuTitle);\n }\n menu.displayedNestedItems = true;\n\n menu.on.showNestedExtra();\n },\n showNestedExtra: function () {},\n hideNested: function (shouldNavigate = false) {\n var $menuHeader = $('.menu-header');\n var $parenNestedMenu;\n\n if (typeof menu.nestedMenu != 'undefined') {\n menu.on.listPosition.start('out');\n $parenNestedMenu = menu.nestedMenu.parent().parent(); // first parent list\n menu.nestedMenu = $parenNestedMenu.parent().find('.dropdown__toggle'); // first parent dropdown toggle link\n\n $parenNestedMenu.find('.sub-menu__opened').removeClass('sub-menu__opened');\n $parenNestedMenu.find('.menu-parent__opened').removeClass('menu-parent__opened');\n $parenNestedMenu.find('.prev-items').removeClass('prev-items');\n $(\"[data-toggle='nav']\").removeClass('js--nested-open');\n\n if ($parenNestedMenu.hasClass('sub-menu__opened')) {\n $menuHeader.find('span').html(menu.nestedMenu.find('span').html());\n } else {\n if (menu.redirectPath && shouldNavigate && !menu.displayedNestedItems) {\n document.location = menu.redirectPath;\n } else {\n $menuHeader.html(menu.menuHeaderMainTitle);\n menu.displayedNestedItems = false;\n }\n }\n } else {\n menu.nestedMenu = $menuHeader;\n }\n\n menu.on.hideNestedExtra();\n },\n hideNestedExtra: function () {},\n hide: function () {\n if (menu.isMobile) {\n // hide nested menu before closing\n menu.on.hideNested();\n }\n menu.$toggle.removeClass('js--open');\n $('.main-nav, header').css('top', 0);\n $('.coolBar--res').addClass('trans').css('top', $('header').height()); // The magic number contains 1px of border and\n $('.loi__banner.loi--res').css('top', $('header').height());\n $body.removeAttr('data-active').removeClass('lock-screen');\n $('.main-nav__toggle__controller').attr('aria-expanded', 'false');\n menu.on.listPosition.reset();\n },\n escape: function () {\n menu.on.hide();\n menu.$toggle.focus();\n },\n tab: function () {\n menu.$toggle.off();\n menu.lastItem.off().on('focusout', function () {\n menu.$toggle.focus();\n });\n },\n tabRevers: function () {\n menu.lastItem.off();\n menu.$toggle.off().on('focusout', function () {\n menu.lastItem.focus();\n });\n },\n tabDesktop: function (e, revers, keyCode) {\n var $target = $(e.target);\n var $parentMenu = $target.closest('.dropdown__menu');\n var $dropdownToggle = $('.dropdown__toggle');\n var dropdownMenu = '.dropdown__menu';\n \n if (!$target.closest('ul').length) {\n $dropdownToggle.removeClass('hover');\n $('.dropdown').removeClass('js--open');\n }\n \n if ($target.hasClass('dropdown__toggle')) {\n if (\n $parentMenu.length === 0 ||\n (!$parentMenu.hasClass('js--open') &&\n $parentMenu.find('.js--open').length === 0)\n ) {\n $dropdownToggle.removeClass('hover');\n $(dropdownMenu).removeClass('js--open');\n $target.closest('a').addClass('hover');\n $target.siblings(dropdownMenu).addClass('js--open');\n } else {\n $parentMenu.find('.hover').removeClass('hover');\n $parentMenu.find('.js--open').removeClass('js--open');\n $target.closest('a').addClass('hover');\n $target.siblings(dropdownMenu).addClass('js--open');\n }\n if (keyCode == enterKey) {\n $(e.target).closest('a').addClass('hover');\n }\n } else {\n $target.closest('ul').find('.hover').removeClass('hover');\n }\n },\n escDesktop: function (e) {\n $(e.target).closest('.dropdown__toggle').removeClass('hover');\n },\n rebuild: {\n responsive: function () {\n menu.on.hide();\n },\n original: function () {\n menu.on.hide();\n menu.$target.show();\n },\n },\n nested: function (e) {\n //e.preventDefault();\n if (menu.isMobile) {\n menu.on.showNested();\n }\n },\n listPosition: {\n start: function (direction) {\n if (!menu.nestedMenu || !direction || !menu.isMobile) return;\n let $firstNestedMenu = menu.nestedMenu.first();\n if (!$firstNestedMenu.closest('#menubar').length) return; // this function should only work inside #menubar\n\n switch (direction) {\n case 'in': {\n let $prevMenu = $firstNestedMenu.closest('.dropdown__menu, #menubar'),\n $nextMenu = $firstNestedMenu.next('.dropdown__menu');\n menu.on.listPosition.handle(\n {prev: $prevMenu, next: $nextMenu, parent: $prevMenu, sub: $nextMenu},\n 'in'\n );\n\n break;\n }\n case 'out': {\n let addDataOnly = $firstNestedMenu.hasClass('menu-header'),\n $prevMenu = $firstNestedMenu.next('.dropdown__menu'),\n $nextMenu = $firstNestedMenu.closest('.dropdown__menu, #menubar');\n menu.on.listPosition.handle(\n {prev: $prevMenu, next: $nextMenu, parent: $nextMenu, sub: $prevMenu},\n 'out',\n addDataOnly\n );\n\n break;\n }\n }\n },\n handle: function (menuElements, direction = {}, addDataOnly) {\n let timing = direction === 'in' ? 0 : menu.listPositionVars.mobileTransitionTime / 3, // 0 timing is good for in direction, looks bad for out\n timeoutTime =\n direction === 'in' && menu.listPositionVars.inTimeoutTiming\n ? menu.listPositionVars.inTimeoutTiming\n : direction === 'out' && menu.listPositionVars.outTimeoutTiming\n ? menu.listPositionVars.outTimeoutTiming\n : menu.listPositionVars.mobileTransitionTime / 3;\n\n menu.on.listPosition.addDataToElem(menuElements.prev);\n if (addDataOnly === true) return;\n\n menu.on.listPosition.handleScrollBarHide([menuElements.prev, menuElements.next]);\n\n if (menuElements.next.length) {\n let lastScrollVal = menu.on.listPosition.getLastPosition(menuElements.next);\n\n setTimeout(() => {\n menu.on.listPosition.scrollTo(\n menuElements,\n direction,\n lastScrollVal ? lastScrollVal : 0,\n timing\n );\n }, timeoutTime); // a timeout so the transition happens just before the next list enters the viewport\n }\n },\n addDataToElem: function ($elem) {\n if ($elem.length) {\n let rect = $elem.get(0).getBoundingClientRect();\n\n $elem.attr(\n 'data-last-pos',\n JSON.stringify({\n bottom: Math.floor(rect.bottom),\n scrollVal: Math.floor($elem.first().scrollTop()),\n })\n );\n }\n },\n getLastPosition: function ($elem) {\n return $elem.attr('data-last-pos') && JSON.parse($elem.attr('data-last-pos')).scrollVal;\n },\n handleScrollBarHide: function (elemsArr) {\n elemsArr.forEach($elem => {\n $elem.addClass('scrollbar-hidden');\n\n if (!$elem.attr('data-transitionend-listener-added')) {\n $elem.attr('data-transitionend-listener-added', 'true');\n $elem.on('transitionend', e => {\n $elem.removeClass('scrollbar-hidden');\n });\n }\n });\n },\n scrollTo: function (menuElements, direction, value, timing = 0) {\n let parentHeightVal =\n menu.listPositionVars.mainScrollingListHeight -\n (menuElements.parent.innerHeight() - menuElements.parent.height()), // height minus padding\n subHeightVal =\n menu.listPositionVars.mainScrollingListHeight -\n (menuElements.sub.innerHeight() - menuElements.sub.height()); // height minus padding\n \n if (UX.utils.isSafari()) {\n subHeightVal = subHeightVal - 180;\n }\n\n if (direction === 'in') {\n menuElements.parent\n .css({'max-height': parentHeightVal, height: parentHeightVal, 'overflow-y': 'hidden'})\n .attr('data-list-pos-corrected', 'true');\n menuElements.sub\n .css({'max-height': subHeightVal, height: subHeightVal, 'overflow-y': 'auto'})\n .attr('data-list-pos-corrected', 'true');\n\n menuElements.parent.length &&\n menuElements.parent.animate(\n {\n scrollTop: 0, // if we don't scroll the parent to the top, the sub will sometimes be cut off\n },\n {\n duration: Math.abs(value - menuElements.parent.scrollTop()) > 125 ? 0 : timing,\n }\n );\n\n menuElements.sub.animate(\n {\n scrollTop: value,\n },\n {\n duration: Math.abs(value - menuElements.parent.scrollTop()) > 125 ? 0 : timing,\n }\n );\n } else if (direction === 'out') {\n menuElements.parent.css({\n 'max-height': parentHeightVal,\n height: parentHeightVal,\n 'overflow-y': 'auto',\n });\n menuElements.sub\n .css({'max-height': '', height: '', 'overflow-y': ''})\n .removeAttr('data-list-pos-corrected');\n\n menuElements.parent.length &&\n menuElements.parent.animate(\n {\n scrollTop: value,\n },\n {\n duration: Math.abs(value - menuElements.parent.scrollTop()) > 125 ? 0 : timing,\n }\n );\n }\n },\n handleResize: function (e) {\n if (menu.$toggle.hasClass('js--open')) {\n menu.on.listPosition.handleHeightSet({}, {skipCheck: true});\n }\n },\n handleHeightSet: function (e = {}, options = {}) {\n if (\n (menu.$toggle.hasClass('js--open') &&\n e.elapsedTime === menu.listPositionVars.bodyTransitionElapsedTime &&\n e.propertyName === menu.listPositionVars.bodyTransitionPropertyName) ||\n options.skipCheck === true\n ) {\n // not using $window.outerHeight() because it's return value doesn't change with the resize event\n menu.listPositionVars.mainScrollingListHeight =\n window.outerHeight - menu.listPositionVars.mainScrollingList[0].getBoundingClientRect().top;\n menu.listPositionVars.mainScrollingList\n .find('[data-list-pos-corrected=\"true\"]')\n .add(menu.listPositionVars.mainScrollingList)\n .css({\n height: menu.listPositionVars.mainScrollingListHeight,\n 'max-height': menu.listPositionVars.mainScrollingListHeight,\n });\n }\n },\n reset: function () {\n menu.listPositionVars.mainScrollingList\n .find('[data-last-pos], [data-list-pos-corrected]')\n .add(menu.listPositionVars.mainScrollingList)\n .removeAttr('data-last-pos data-list-pos-corrected')\n .css({'max-height': '', height: '', 'overflow-y': ''})\n .animate(\n {\n scrollTop: 0,\n },\n 0\n );\n },\n },\n },\n check: {\n viewPort: function (index) {\n if (menu.$target.find('.drawer__nav').attr('data-ctrl-res')) {\n menu.vPort[index] = menu.$target.find('.drawer__nav').attr('data-ctrl-res');\n }\n },\n },\n };\n\n UX.menu = menu; // add to global namespace\n})();\n","function menubar(e, t) {\n (this.$id = $('#' + e)),\n (this.$rootItems = this.$id.children('li')),\n (this.$items = this.$id.find('.menu-item')),\n (this.$parents = this.$id.find('.menu-parent')),\n (this.$allItems = this.$parents.add(this.$items)),\n (this.$activeItem = null),\n (this.vmenu = t),\n (this.bChildOpen = !1),\n (this.keys = {\n tab: 9,\n enter: 13,\n esc: 27,\n space: 32,\n left: 37,\n up: 38,\n right: 39,\n down: 40,\n }),\n this.bindHandlers();\n}\nmenubar.prototype.bindHandlers = function () {\n var e = this;\n\n this.$allItems.keydown(function (t) {\n return e.handleKeyDown($(this), t);\n }),\n this.$allItems.keypress(function (t) {\n return e.handleKeyPress($(this), t);\n }),\n this.$allItems.focus(function (t) {\n return e.handleFocus($(this), t);\n }),\n $(document).click(function (t) {\n return e.handleDocumentClick(t);\n });\n};\n\nmenubar.prototype.handleFocus = function (e, t) {\n if (null == this.$activeItem) this.$activeItem = e;\n else if (e[0] !== this.$activeItem[0]) return !0;\n const i = this.$activeItem.parentsUntil('div').filter('li');\n if (\n (this.$allItems.removeClass('menu-focus menu-focus-checked'),\n this.$activeItem.is('.checked')\n ? this.$activeItem.addClass('menu-focus-checked')\n : this.$activeItem.addClass('menu-focus'),\n i.addClass('menu-focus'),\n 1 === this.vmenu)\n )\n if (1 === this.bChildOpen) {\n const s = e.parent();\n s.is('#menubar') &&\n 'true' === e.attr('aria-haspopup') &&\n e.addClass('hover').children('ul').attr('aria-hidden', 'false');\n } else this.vmenu = !1;\n return !0;\n};\n\nmenubar.prototype.handleKeyDown = function (e, t) {\n const i = e.parent();\n if (t.altKey || t.ctrlKey) return !0;\n /*eslint-disable*/\n switch (t.keyCode) {\n case this.keys.tab:\n this.$id.find('ul').attr('aria-hidden', 'true'),\n this.$allItems.removeClass('menu-focus hover'),\n (this.$activeItem = null),\n 0 === this.bChildOpen;\n break;\n case this.keys.esc:\n if (UX.menu.$toggle.length > 0) {\n //if (e.keyCode === escKey) {\n\n //e.preventDefault();\n UX.menu.on.hide();\n UX.menu.$toggle.focus();\n //}\n } else {\n return (\n i.is('#menubar')\n ? (e.removeClass('hover').children('ul').first().attr('aria-hidden', 'true'), e.focus())\n : ((this.$activeItem = i.parent()),\n e.removeClass('hover'),\n (this.bChildOpen = !1),\n this.$activeItem.focus(),\n i.attr('aria-hidden', 'true')),\n t.stopPropagation(),\n !1\n );\n }\n\n case this.keys.enter:\n case this.keys.space:\n const s = e.parent();\n return (\n s.is('#menubar')\n ? (e.addClass('hover').children('ul').first().attr('aria-hidden', 'false'),\n (this.bChildOpen = !0),\n this.processMenuChoice(e),\n e.find('ul > li:first').find('a').focus())\n : (this.processMenuChoice(e),\n this.$allItems.removeClass('menu-hover menu-hover-checked hover'),\n this.$allItems.removeClass('menu-focus menu-focus-checked hover'),\n this.$id.find('ul').not('#menubar').attr('aria-hidden', 'true'),\n (this.$activeItem = null)),\n t.stopPropagation(),\n !1\n );\n case this.keys.left:\n return (\n 1 === this.vmenu && i.is('#menubar')\n ? (this.$activeItem = this.moveUp(e))\n : (this.$activeItem = this.moveToPrevious(e)),\n this.$activeItem.focus(),\n t.stopPropagation(),\n !1\n );\n case this.keys.right:\n return (\n 1 === this.vmenu && i.is('#menubar')\n ? (this.$activeItem = this.moveDown(e))\n : (this.$activeItem = this.moveToNext(e)),\n this.$activeItem.focus(),\n t.stopPropagation(),\n !1\n );\n case this.keys.up:\n return (\n 1 === this.vmenu && i.is('#menubar')\n ? (this.$activeItem = this.moveToPrevious(e))\n : (this.$activeItem = this.moveUp(e)),\n this.$activeItem.focus(),\n t.stopPropagation(),\n !1\n );\n case this.keys.down:\n return (\n 1 === this.vmenu && i.is('#menubar')\n ? (this.$activeItem = this.moveToNext(e))\n : (this.$activeItem = this.moveDown(e)),\n this.$activeItem.focus(),\n t.stopPropagation(),\n !1\n );\n }\n /*eslint-enable*/\n return !0;\n};\n\nmenubar.prototype.moveToNext = function (e) {\n let a;\n let t = e.parent(),\n i = t.children('li'),\n s = i.length,\n r = i.index(e),\n n = null;\n if (t.is('#menubar')) {\n if (((n = s - 1 > r ? e.next() : i.first()), 'true' === e.attr('aria-haspopup'))) {\n e.removeClass('hover');\n a = e.children('ul').first();\n 'false' === a.attr('aria-hidden') && (a.attr('aria-hidden', 'true'), (this.bChildOpen = !0));\n }\n if ((e.removeClass('menu-focus'), 'true' === n.attr('aria-haspopup') && 1 === this.bChildOpen)) {\n n.addClass('hover');\n a = n.children('ul').first();\n a.attr('aria-hidden', 'false');\n }\n } else if ('true' === e.attr('aria-haspopup')) {\n e.addClass('hover');\n a = e.children('ul').first();\n (n = a.children('li').first()), a.attr('aria-hidden', 'false'), (this.bChildOpen = !0);\n } else {\n if (1 === this.vmenu) return e;\n let h = null,\n o = null;\n if (\n ((h = e.parentsUntil('div').filter('ul').not('#menubar')),\n h.attr('aria-hidden', 'true'),\n h.find('li').removeClass('menu-focus hover'),\n h.last().parent().removeClass('menu-focus hover'),\n (o = h.last().parent()),\n (r = this.$rootItems.index(o)),\n (n = r < this.$rootItems.length - 1 ? o.next() : this.$rootItems.first()),\n 'true' === n.attr('aria-haspopup') && n.children('ul').length > 0)\n ) {\n n.addClass('hover');\n a = n.children('ul').first();\n (n = a.children('li').first()), a.attr('aria-hidden', 'false'), (this.bChildOpen = !0);\n }\n }\n return n;\n};\n\nmenubar.prototype.moveToPrevious = function (e) {\n let n;\n let t = e.parent(),\n i = t.children('li'),\n s = (i.length, i.index(e)),\n r = null;\n if (t.is('#menubar')) {\n if (((r = s > 0 ? e.prev() : i.last()), 'true' === e.attr('aria-haspopup'))) {\n n = e.removeClass('hover').children('ul').first();\n 'false' === n.attr('aria-hidden') && (n.attr('aria-hidden', 'true'), (this.bChildOpen = !0));\n }\n if ((e.removeClass('menu-focus hover'), 'true' === r.attr('aria-haspopup') && 1 === this.bChildOpen)) {\n r.addClass('hover');\n n = r.children('ul').first();\n n.attr('aria-hidden', 'false');\n }\n } else {\n const a = t.parent(),\n h = a.parent();\n\n if (1 !== this.vmenu && h.is('#menubar')) {\n if (\n (t.attr('aria-hidden', 'true'),\n e.removeClass('menu-focus hover'),\n a.removeClass('menu-focus hover'),\n (s = this.$rootItems.index(a)),\n (r = s > 0 ? a.prev() : this.$rootItems.last()),\n r.addClass('menu-focus hover'),\n 'true' === r.attr('aria-haspopup'))\n ) {\n n = null;\n r.children('ul').length > 0 &&\n ((n = r.addClass('hover').children('ul').first()),\n n.attr('aria-hidden', 'false'),\n (this.bChildOpen = !0),\n (r = n.children('li').first()));\n }\n } else\n (r = t.parent()),\n t.attr('aria-hidden', 'true'),\n e.removeClass('menu-focus hover'),\n r.removeClass('hover'),\n 1 === this.vmenu && (this.bChildOpen = !1);\n }\n return r;\n};\n\nmenubar.prototype.moveDown = function (e, t) {\n let i = e.parent(),\n s = i.children('li').not('.separator'),\n r = s.length,\n n = s.index(e),\n a = null,\n h = null;\n if (i.is('#menubar'))\n return 'true' !== e.attr('aria-haspopup')\n ? e\n : ((h = e.addClass('hover').children('ul').first()),\n (a = h.children('li').first()),\n h.attr('aria-hidden', 'false'),\n (this.bChildOpen = !0),\n a);\n if (t) {\n let o = !1,\n u = n + 1;\n for (u === r && (u = 0); u !== n; ) {\n const l = s.eq(u).html().charAt(0);\n if (l.toLowerCase() === t) {\n o = !0;\n break;\n }\n (u += 1), u === r && (u = 0);\n }\n return 1 === o ? ((a = s.eq(u)), e.removeClass('menu-focus menu-focus-checked'), a) : e;\n }\n return (a = r - 1 > n ? s.eq(n + 1) : s.first()), e.removeClass('menu-focus menu-focus-checked'), a;\n};\n\nmenubar.prototype.moveUp = function (e) {\n let t = e.parent(),\n i = t.children('li').not('.separator'),\n s = (i.length, i.index(e)),\n r = null;\n return t.is('#menubar')\n ? e\n : ((r = s > 0 ? i.eq(s - 1) : i.last()), e.removeClass('menu-focus menu-focus-checked'), r);\n};\n\nmenubar.prototype.handleKeyPress = function (e, t) {\n if (t.altKey || t.ctrlKey || t.shiftKey) return !0;\n /*eslint-disable*/\n switch (t.keyCode) {\n case this.keys.tab:\n return !0;\n case this.keys.esc:\n case this.keys.enter:\n case this.keys.space:\n case this.keys.up:\n case this.keys.down:\n case this.keys.left:\n case this.keys.right:\n return t.stopPropagation(), !1;\n default:\n var i = String.fromCharCode(t.which);\n return (this.$activeItem = this.moveDown(e, i)), this.$activeItem.focus(), t.stopPropagation(), !1;\n }\n return !0;\n /*eslint-enable*/\n};\n\nmenubar.prototype.handleDocumentClick = function (e) {\n var t = this.$id.find('ul').not('#menubar');\n return (\n t.attr('aria-hidden', 'true'),\n this.$allItems.removeClass('menu-focus menu-focus-checked hover'),\n (this.$activeItem = null),\n !0\n );\n};\n\nmenubar.prototype.processMenuChoice = function (e) {\n var t = (e.parent().attr('id'), e.attr('id'), e.data('href'));\n if (null != t)\n if (t.toLowerCase().indexOf('legacy.') > 0) {\n const i = window.open(t, '_blank');\n i.focus();\n } else window.location.href = t;\n const s = e.find('a');\n null != s && (window.location.href = s[0].href);\n};\nwindow.menubar = menubar;\n","(function () {\n const $body = $('body');\n\n var slide = {\n $slide: null,\n $target: null,\n $contents: null,\n $slideinfo: null,\n $toggle: null,\n prev: null,\n isMobile: false,\n vPort: 'screen-sm',\n elementvPort: null,\n back: false,\n nested: false,\n multi: false,\n activeSlide: 0,\n oldInfo: [],\n off: null,\n clone: null,\n wait: false,\n backLabel: 'back',\n $elements: null,\n isQueue: false,\n isRTL: false,\n\n init: function () {\n slide.$slide =\n ' ';\n\n slide.$elements = $(slide.$slide);\n slide.displaySlideHtmlToPage();\n\n slide.$contents = slide.$elements.find('.w-slide__content');\n slide.$slideinfo = slide.$elements.find('.w-slide__title');\n slide.$back = slide.$elements.find('.w-slide__back');\n slide.$toggle = $('.w-slide__btn');\n\n slide.elementvPort = slide.vPort;\n slide.vPort = [];\n\n slide.customViewPorts();\n\n slide.$toggle.each(function (index) {\n slide.check.viewPort($(this), index);\n slide.responsive(index);\n });\n\n slide.additionalInitialization();\n slide.control();\n slide.additionalControls();\n if (typeof facetDateChart != 'undefined') {\n facetDateChart.control(); /*eslint-disable-line*/\n }\n\n if (UX.utils && UX.utils.isRTL()) {\n slide.isRTL = true;\n }\n },\n displaySlideHtmlToPage: () => {\n let $main = $('main');\n if ($main.length > 0) $main.append(slide.$elements);\n else $body.append(slide.$elements);\n },\n additionalInitialization: function () {},\n responsive: function (index) {\n $(document).on(slide.vPort[index] + '-on', function () {\n // Waiting for custom event that will be triggered by controller.js to activate responsive effects\n slide.off = false;\n\n $('.w-slide__btn').each(function () {\n if ($(this).data('ctrl-res') === slide.vPort[index]) {\n $(this).addClass('slide-active');\n }\n });\n });\n\n $(document).on(slide.vPort[index] + '-off', function (e) {\n // Waiting for custom event that will be triggered by controller.js to activate responsive effects\n slide.off = true;\n slide.on.off(e);\n\n $('.w-slide__btn').each(function () {\n if ($(this).data('ctrl-res') === slide.vPort[index]) {\n $(this).removeClass('slide-active');\n }\n });\n });\n\n $(document).on(slide.elementvPort + '-on', function (e) {\n // Waiting for custom event that will be triggered by controller.js to activate responsive effects\n slide.isMobile = true;\n slide.$elements.css('margin-top', 0);\n if ($('.w-slide.js--open').length) {\n slide.back = true;\n slide.on.hide(e);\n }\n });\n\n $(document).on(slide.elementvPort + '-off', function (e) {\n // Waiting for custom event that will be triggered by controller.js to activate responsive effects\n slide.isMobile = false;\n if ($('.w-slide.js--open').length) {\n slide.back = true;\n slide.on.hide(e);\n }\n });\n\n slide.additionalResponsive();\n },\n additionalResponsive: function () {},\n control: function () {\n $body.on('click', '.w-slide__btn', function (e) {\n if (slide.isQueue && slide.isMobile) {\n e.stopImmediatePropagation();\n $(this).off('click');\n return false;\n }\n slide.isQueue = true;\n\n if ($(this).hasClass('disable')) {\n e.stopPropagation();\n e.preventDefault();\n return;\n }\n\n if ($(this).hasClass('slide-active')) {\n e.stopPropagation();\n e.preventDefault();\n slide.addTransition();\n slide.$toggle = $(this);\n slide.$target = $(slide.$toggle.data('slide-target'));\n slide.back = false;\n\n if ($(this).is('[id*=pane-pcw]') && UX.tab.check.empty($(this))) {\n setTimeout(function () {\n slide.on.show(e);\n }, 3000);\n } else {\n slide.on.show(e);\n }\n }\n });\n\n $body.on('click', '.w-slide__back, .w-slide__hide', function (e) {\n if ($(this).hasClass('w-slide__back')) {\n e.preventDefault();\n }\n\n slide.back = true;\n slide.on.hide(e);\n });\n },\n additionalControls: function () {},\n addTransition: function () {\n $('.w-slide, .w-slide__content').css('transition', 'all 250ms');\n },\n removeTransition: function () {\n $('.w-slide, .w-slide__content').css('transition', '');\n },\n customViewPorts: function () {\n if ($('.journal-home').length) {\n slide.elementvPort = 'screen-md';\n }\n },\n setBackLabel: function () {\n slide.$back.html('' + slide.backLabel);\n },\n on: {\n show: function (e) {\n $(document).trigger('UX-detach');\n if (typeof jcf != 'undefined') {\n jcf.destroy($('.range-slider__range')); /*eslint-disable-line*/\n }\n\n /**\n * Fire \"open\" event\n * this event is Cancelable: which means if e.preventDefault() is called then the slide will not open.\n */\n const openingEvent = $.Event('slide:open');\n $(document).trigger(openingEvent, [slide]);\n if (openingEvent.isDefaultPrevented()) {\n return;\n }\n\n if ($body.attr('data-active') !== 'undefined') {\n UX.controller.check(e);\n }\n\n if (slide.$toggle.is('[data-full-screen]') && !slide.$toggle.data('[full-screen]') && !slide.isMobile)\n $body.addClass('w-slide__not-fullWidth');\n else $body.removeClass('w-slide__not-fullWidth');\n\n slide.nested = slide.$toggle.parents('.w-slide__content').length > 0;\n slide.multi =\n slide.$toggle.closest('.pill-list').length > 0 || slide.$toggle.is('[data-slide-target*=\"#pill\"]');\n if (slide.$toggle.closest('.w-slide__pill').length > 0) {\n slide.nested = false;\n slide.multi = true;\n }\n\n const popupType = e.currentTarget?.getAttribute('aria-haspopup');\n if (popupType) slide.$elements.attr('role', popupType === 'true' ? 'menu' : popupType);\n\n slide.on.additionalShow();\n\n slide.$slideinfo.hide().removeClass('js--open');\n slide.backLabel = 'back';\n slide.setBackLabel();\n\n if (slide.nested) {\n slide.on._nestSlide();\n }\n\n if (slide.multi) {\n if (slide.activeSlide !== 0) {\n slide.back = true;\n slide.on.hide(e);\n }\n\n slide.activeSlide++;\n slide.$elements\n .addClass('w-slide__pill')\n .find('.w-slide__content')\n .append('');\n slide.$contents = $('.nested--' + slide.activeSlide);\n }\n\n slide.$contents.attr('original-target', slide.$toggle.data('slide-target'));\n\n if (slide.$target.hasClass('tab__pane')) {\n slide.$target.closest('.tab__content').find('.tab__pane').removeClass('active');\n slide.$target.addClass('active');\n }\n\n let label = slide.$toggle.text();\n if (slide.$toggle.is('[data-label]')) {\n label = slide.$toggle.data('label');\n }\n\n //LIT-163835\n if (slide.$toggle.hasClass('loa') || slide.$toggle.parents('.loa.mobile-authors').length > 0) {\n label = 'AUTHORS';\n }\n\n let clonedDiv = slide.$target.children();\n\n slide.on.destroyJcf(clonedDiv);\n\n if (slide.$toggle.is('[data-slide-clone]')) {\n slide.clone = slide.$toggle.data('slide-clone');\n\n if (slide.clone === 'self') {\n clonedDiv = slide.$target;\n }\n } else {\n slide.clone = '';\n }\n\n slide.oldInfo.push(label);\n slide.$slideinfo.html(label);\n\n const isLoi = slide.$target.find('.loi').length > 0;\n if (isLoi) {\n slide.$contents.append(clonedDiv.html());\n $('.dropBlock-loi__holder .loi').remove();\n slide.$contents.find('.loi__list').each(function () {\n UX.loi.on.recalculate($(this));\n });\n } else {\n if (slide.clone === 'self') {\n if (slide.nested || slide.multi) {\n slide.$target.after('');\n } else {\n slide.$target.after('');\n }\n } else {\n if (slide.nested || slide.multi) {\n slide.$target.append('');\n } else {\n slide.$target.append('');\n }\n }\n\n clonedDiv.appendTo(slide.$contents);\n\n slide.on.rebuildJcf(slide.$contents);\n }\n\n // This is needed for refreshing the google ads iframe\n // because we are cloning it into element\n // for more info: https://stackoverflow.com/questions/435391/refresh-a-div-that-has-a-google-ad-inside-it/12083756#12083756\n if (typeof googletag !== 'undefined' && typeof googletag.pubads !== 'undefined') { /*eslint-disable-line*/\n googletag.pubads().refresh(); /*eslint-disable-line*/\n }\n $body.addClass('lock-screen slide-is-active').attr('data-active', 'slide');\n slide.$back.focus();\n\n const $coolBar = $('.coolBar');\n if ($coolBar.length) {\n $coolBar.addClass('slide');\n }\n /*\n $('.w-slide__title').truncate({\n lines: 1\n });\n */\n\n // \"opened\" event\n const openEvent = $.Event('slide:opened');\n\n if (slide.wait) {\n setTimeout(function () {\n slide.on._showSlide();\n slide.on.slidePill();\n $(document).trigger(openEvent, [slide]);\n }, 150);\n slide.wait = false;\n } else {\n slide.on._showSlide();\n $(document).trigger(openEvent, [slide]);\n }\n\n $(document).trigger('UX-attach');\n },\n _showSlide: function () {\n var slideWidth = '100%';\n\n var $slidedDiv = slide.$elements;\n if (slide.nested || slide.multi) {\n $slidedDiv = slide.$contents;\n }\n\n if (!slide.$elements.hasClass('js--open') && slide.multi) {\n $slidedDiv = $('[class*=nested--], .w-slide');\n }\n let translate = `-${slideWidth}`;\n if (slide.isRTL) {\n translate = slideWidth;\n }\n\n $slidedDiv\n .css('transform', `translateX(${translate})`)\n .off()\n .one('transitionend webkitTransitionEnd oTransitionEnd', function (e) {\n e.stopPropagation();\n slide.isQueue = false;\n slide.removeTransition();\n });\n slide.$slideinfo.show().addClass('js--open');\n slide.$elements.addClass('js--open');\n slide.on.additionalShowSlide();\n },\n _nestSlide: function () {\n slide.activeSlide++;\n slide.$contents.append('');\n slide.$contents = $('.nested--' + slide.activeSlide);\n },\n additionalShow: function () {},\n additionalShowSlide: function () {},\n slidePill: function () {},\n hide: function (e) {\n const isInsideSlide = $(e.target).closest('.w-slide').length;\n /**\n * Fire \"close\" event\n * this event is Cancelable: which means if e.preventDefault() is called then the slide will not close.\n */\n var closingEvent = $.Event('slide:close');\n $(document).trigger(closingEvent, [slide]);\n if (closingEvent.isDefaultPrevented()) {\n return;\n }\n\n if (typeof e !== 'undefined' && $('.w-slide').hasClass('js--open')) {\n if (!isInsideSlide) {\n slide.back = true;\n }\n }\n\n if (slide.back) {\n slide.addTransition();\n slide.$slideinfo.hide().removeClass('js--open');\n\n slide.nested = true;\n\n if (slide.activeSlide === 0) {\n slide.nested = false;\n slide.$contents = slide.$elements.children('.w-slide__content');\n } else {\n slide.$contents = $('.nested--' + slide.activeSlide);\n }\n slide.on.destroyJcf(slide.$contents);\n\n let originalTarget = $(slide.$contents.attr('original-target'));\n if (!originalTarget) {\n originalTarget = $body;\n }\n\n const isLoi = slide.$elements.find('.loi').length > 0;\n\n slide.on.beforeReturnSlideContent();\n\n if (isLoi) {\n const $dropBlockHolder = $('.dropBlock-loi__holder');\n $dropBlockHolder.append(slide.$contents.html());\n $dropBlockHolder.find('.loi__list').each(function () {\n UX.loi.on.recalculate($(this));\n });\n } else {\n if (slide.$contents.find('[class*=nested--]').length) {\n slide.$contents.find('[class*=nested--]').remove();\n }\n slide.on._returnDataSlide(originalTarget);\n slide.on.rebuildJcf(originalTarget);\n }\n\n slide.oldInfo.splice(slide.activeSlide, 1);\n slide.$slideinfo.html(slide.oldInfo[slide.activeSlide - 1]);\n if (slide.$toggle) {\n slide.$toggle.focus();\n }\n\n if (slide.nested) {\n slide.activeSlide--;\n slide.on._hideSlide();\n if (slide.multi) {\n slide.$contents.remove();\n }\n slide.$contents = $('.nested--' + slide.activeSlide);\n if (slide.activeSlide === 0) {\n slide.$contents = slide.$elements.children('.w-slide__content');\n }\n } else {\n slide.activeSlide = 0;\n $('body, html').removeClass('lock-screen');\n $body.removeClass('lock-screen slide-is-active').removeAttr('data-active');\n const $coolBar = $('.coolBar');\n if ($coolBar.length) {\n $coolBar.removeClass('slide');\n }\n\n slide.on._hideSlide();\n slide.$elements.removeClass('js--open');\n slide.$elements.removeAttr('role');\n }\n slide.$slideinfo.show().addClass('js--open');\n\n slide.backLabel = 'back';\n slide.setBackLabel();\n slide.on.additionalHide(e);\n\n if (slide.$elements.hasClass('w-slide__pill')) {\n while (slide.activeSlide > 0) {\n slide.activeSlide--;\n slide.on.hide(e);\n }\n\n if (\n typeof e !== 'undefined' &&\n ($(e.target).hasClass('w-slide__back') || $(e.currentTarget).hasClass('w-slide__back')) &&\n slide.activeSlide === 0\n ) {\n slide.on.off(e);\n }\n }\n\n if (!isInsideSlide && !(typeof e !== 'undefined' && $(e.target).closest('.pill-list').length)) {\n slide.on.off(e);\n }\n\n slide.removeTransition();\n }\n\n // This is needed for refreshing the google ads iframe\n // because we are cloning it into element\n // for more info: https://stackoverflow.com/questions/435391/refresh-a-div-that-has-a-google-ad-inside-it/12083756#12083756\n if (typeof googletag !== 'undefined' && typeof googletag.pubads !== 'undefined') { /*eslint-disable-line*/\n googletag.pubads().refresh(); /*eslint-disable-line*/\n }\n\n // \"closed\" event\n const closeEvent = $.Event('slide:closed');\n $(document).trigger(closeEvent, [slide]);\n },\n _hideSlide: function () {\n let updateTarget = slide.$elements;\n if (slide.nested) updateTarget = slide.$contents;\n\n updateTarget\n .css('transform', 'translateX(0vw)')\n .off()\n .one('transitionend webkitTransitionEnd oTransitionEnd', function (e) {\n e.stopPropagation();\n if (slide.back)\n if (!slide.nested) slide.$contents.empty();\n else $(this).remove();\n });\n },\n _returnDataSlide: function (originalTarget) {\n const returnDataSlideHere =\n slide.nested || slide.multi ? '.returnNestedDataSlideHere' : '.returnDataSlideHere';\n const $returnDataSlideHere =\n slide.clone === 'self' ? $(returnDataSlideHere) : $(returnDataSlideHere, originalTarget);\n slide.$contents.children().appendTo($returnDataSlideHere.parent());\n $returnDataSlideHere.remove();\n },\n additionalHide: function (e) {},\n beforeReturnSlideContent: function () {},\n off: function (e) {\n slide.$slideinfo.hide().removeClass('js--open');\n\n $('.pill-list li').removeClass('pill-active');\n\n const isLoi = slide.$elements.find('.loi').length > 0;\n\n if (isLoi) {\n slide.$contents = $('.loi').closest('.w-slide__content');\n\n const $dropBlockHolder = $('.dropBlock-loi__holder');\n $dropBlockHolder.append(slide.$contents.html());\n $dropBlockHolder.find('.loi__list').each(function () {\n UX.loi.on.recalculate($(this));\n });\n }\n $('body, html').removeClass('lock-screen');\n $body.removeClass('lock-screen slide-is-active').removeAttr('data-active');\n $('.coolBar').removeClass('slide');\n slide.$contents = slide.$elements.children('.w-slide__content');\n slide.$elements\n .css('transform', 'translateX(0vw)')\n .off()\n .one('transitionend webkitTransitionEnd oTransitionEnd', function (e) {\n e.stopPropagation();\n slide.$elements.removeClass('js--open');\n if (slide.off) {\n $('.w-slide').removeClass('w-slide__pill');\n slide.$contents.empty();\n }\n });\n slide.off = false;\n slide.on.additionalOff(e);\n },\n additionalOff: function (e) {},\n destroyJcf: function ($el) {\n if (typeof jcf != 'undefined') {\n jcf.destroy($el.find('.jcf')); /*eslint-disable-line*/\n }\n },\n rebuildJcf: function ($el) {\n if (typeof jcf != 'undefined') {\n jcf.replace($el.find('.jcf')); /*eslint-disable-line*/\n }\n },\n },\n check: {\n viewPort: function ($el, index) {\n if (typeof $el.data('ctrl-res') !== 'undefined') {\n slide.vPort[index] = $el.data('ctrl-res');\n } else {\n $el.data('ctrl-res', slide.elementvPort);\n slide.vPort[index] = slide.elementvPort;\n }\n },\n },\n };\n\n UX.slide = slide; // add to global namespace\n})();\n","(function () {\n var $body = $('body');\n var reponsiveMenu = {\n vPort: 'screen-sm',\n elementvPort: null,\n isMobile: false, // variable use to determine if responsive mode is on or off\n $menuContainer: $('.responsive-menu-container'),\n leftSectionWidth: null,\n rightSectionWidth: null,\n maxMenuItemWidth: 135,\n $moreDropsown: $('.responsive-menu-nav .menubar > .dropdown-more'),\n $menu: $('.responsive-menu-nav >.drawer__nav'),\n $menuWrapper: $('.responsive-menu-nav'),\n\n init: function () {\n reponsiveMenu.elementvPort = reponsiveMenu.vPort;\n reponsiveMenu.vPort = [];\n $('.responsive-menu-container').each(function (index) {\n reponsiveMenu.check.viewPort(index, $(this));\n reponsiveMenu.responsive(index);\n });\n reponsiveMenu.control();\n reponsiveMenu.on.build();\n },\n\n responsive: function (index) {\n $(document).on(reponsiveMenu.vPort[index] + '-on', function () {\n reponsiveMenu.isMobile = true;\n\n $('.responsive-menu-container').each(function () {\n if ($(this).data('ctrl-res') === reponsiveMenu.vPort[index]) {\n $(this).addClass('js--disabled-responsive-menu'); // class will be used in our scss (to replace media queries)\n }\n });\n });\n\n $(document).on(reponsiveMenu.vPort[index] + '-off', function () {\n reponsiveMenu.isMobile = false;\n\n $('.responsive-menu-container').each(function () {\n if ($(this).data('ctrl-res') === reponsiveMenu.vPort[index]) {\n $(this).removeClass('js--disabled-responsive-menu'); // class will be used in our scss (to replace media queries)\n }\n });\n });\n },\n\n control: function () {\n $(window).on('resize', function () {\n reponsiveMenu.modifyMenu();\n });\n\n $body.on('touchend', '.dropdown-more >a, .dropdown.menu-parent>a ', function (e) {\n if ($(this).parents('.dropdown-more').length > 0 && !$(this).parent().hasClass('.dropdown-more')) {\n $('.responsive-menu-nav .js--opened:not(.dropdown-more)')\n .not($(this).parent())\n .removeClass('js--opened');\n } else {\n $('.responsive-menu-nav .js--opened').not($(this).parent()).removeClass('js--opened');\n }\n\n $(this).parent().toggleClass('js--opened');\n if (!$(this).parent().hasClass('js--opened')) {\n $(this).parent().addClass('js--forceClose');\n } else {\n $(this).parent().removeClass('js--forceClose');\n }\n });\n\n $body.click(function (e) {\n $('.responsive-menu-nav .js--opened:not(:hover)').removeClass('js--opened');\n });\n },\n on: {\n build: function () {\n reponsiveMenu.$menuWrapper.show();\n reponsiveMenu.modifyMenu();\n\n setTimeout(function () {\n reponsiveMenu.modifyMenu();\n }, 800);\n },\n },\n modifyMenu: function () {\n $('.responsive-menu-container').each(function () {\n reponsiveMenu.$menuContainer = $(this);\n reponsiveMenu.$moreDropsown = reponsiveMenu.$menuContainer.find('.dropdown-more');\n\n if (!reponsiveMenu.$menuContainer.hasClass('js--disabled-responsive-menu')) {\n reponsiveMenu.leftSectionWidth = reponsiveMenu.$menuContainer.find('.left-section').width();\n reponsiveMenu.rightSectionWidth = reponsiveMenu.$menuContainer.find('.right-section').width();\n reponsiveMenu.$menu = reponsiveMenu.$menuContainer.find('.drawer__nav');\n reponsiveMenu.$menuWrapper = reponsiveMenu.$menuContainer.find('.responsive-menu-nav');\n\n const availableMenuWidth =\n reponsiveMenu.$menuContainer.width() -\n (reponsiveMenu.leftSectionWidth + reponsiveMenu.rightSectionWidth + 35);\n let menuWidth = reponsiveMenu.$menu.width();\n\n if (availableMenuWidth > 0 && menuWidth > 0) {\n if (menuWidth > availableMenuWidth) {\n while (menuWidth > availableMenuWidth) {\n const $lastMenuItem = reponsiveMenu.$menu\n .find('.menubar > [role=\"menuitem\"]:not(.dropdown-more)')\n .last();\n if ($lastMenuItem.length > 0) {\n reponsiveMenu.$moreDropsown.removeClass('hidden');\n reponsiveMenu.$moreDropsown\n .find('>.dropdown__menu')\n .prepend($lastMenuItem[0].outerHTML);\n $lastMenuItem.remove();\n menuWidth = reponsiveMenu.$menu.width();\n } else {\n break;\n }\n }\n } else if (\n availableMenuWidth > menuWidth + reponsiveMenu.maxMenuItemWidth &&\n !reponsiveMenu.$moreDropsown.hasClass('hidden')\n ) {\n while (availableMenuWidth > menuWidth) {\n const $moreItems = reponsiveMenu.$moreDropsown.find(\n '.dropdown__menu [role=\"menuitem\"]'\n );\n const $firstMoreItem = $moreItems.first();\n if ($firstMoreItem.length > 0) {\n reponsiveMenu.$moreDropsown.before($firstMoreItem[0].outerHTML);\n\n if ($moreItems.length <= 1) {\n reponsiveMenu.$moreDropsown.addClass('hidden');\n }\n\n $firstMoreItem.remove();\n menuWidth = reponsiveMenu.$menu.width();\n } else {\n break;\n }\n }\n\n if (menuWidth > availableMenuWidth) {\n reponsiveMenu.modifyMenu();\n }\n }\n }\n } else {\n if (!reponsiveMenu.$moreDropsown.hasClass('hidden')) {\n reponsiveMenu.$moreDropsown.addClass('hidden');\n reponsiveMenu.$moreDropsown.before(reponsiveMenu.$moreDropsown.find('.dropdown__menu').html());\n reponsiveMenu.$moreDropsown.find('.dropdown__menu').empty();\n }\n }\n });\n },\n check: {\n viewPort: function (index, $el) {\n if (typeof $el.data('ctrl-res') != 'undefined' || $el.data('ctrl-res') === '') {\n reponsiveMenu.vPort[index] = $el.data('ctrl-res');\n } else {\n $el.data('ctrl-res', reponsiveMenu.elementvPort);\n reponsiveMenu.vPort[index] = reponsiveMenu.elementvPort;\n }\n },\n },\n };\n\n UX.reponsiveMenu = reponsiveMenu; // add to global namespace\n})();\n","(function () {\n var $body = $('body');\n\n var scrollo = {\n init: function () {\n scrollo.control();\n },\n offset: function (el) {\n var rect = el.getBoundingClientRect();\n var scrollLeft = window.pageXOffset || document.documentElement.scrollLeft;\n var scrollTop = window.pageYOffset || document.documentElement.scrollTop;\n\n return {\n top: rect.top + scrollTop,\n left: rect.left + scrollLeft,\n };\n },\n adjustAnchor: function (e) {\n e.preventDefault();\n const $anchor = $(':target');\n const fixedElementsHeight = scrollo.get.fixedpageElementsHeight();\n\n if ($anchor.length > 0) {\n e.stopPropagation();\n // When we prevent default, we have to also change focus to target manually\n $anchor.eq(0).focus();\n window.scrollTo(0, scrollo.offset($anchor.get(0)).top - fixedElementsHeight);\n }\n },\n control: function () {\n $(window).on('hashchange load', scrollo.adjustAnchor);\n /**\n * checks for any tag that has the hash-tag prefix and execute the adjustAnchor function\n * the .content a[href^=\"#\"] was added to support the publication content tags\n */\n $body.on(\n 'click',\n 'a.table-fn[href^=\"#\"], a.ref.fn[href^=\"#\"], .scroll-to-target a[href^=\"#\"], .content a[href^=\"#\"]',\n function (e) {\n if (window.location.hash === $(this).attr('href')) {\n scrollo.adjustAnchor(e);\n }\n }\n );\n $body.on('click keydown', 'a[href^=\"#\"].sr-only-focusable', function (e) {\n // pass click and ENTER to action\n if (e.keyCode && e.keyCode !== 13) {\n return;\n }\n if (window.location.hash === $(this).attr('href')) {\n scrollo.adjustAnchor(e);\n }\n });\n $body.on('click', '.w-slide__back', function () {\n if ($('[data-scroll-back-to]').length) {\n $(document).scrollTop($('[data-scroll-back-to]').data('scroll-back-to'));\n $('[data-scroll-back-to]').removeAttr('data-scroll-back-to');\n }\n });\n },\n\n get: {\n fixedpageElementsHeight: function () {\n var elementsHeight = 0;\n\n var $fixedHeader = $('header.fixed, .pageHeader');\n if ($fixedHeader.length) {\n elementsHeight = $fixedHeader.outerHeight();\n }\n\n const $scrolloThenFix = $('.scrollThenFix');\n if ($scrolloThenFix.length) {\n elementsHeight = $scrolloThenFix.outerHeight();\n }\n\n const $stickyCoolbar = $('.coolBar.stickybar--sticky');\n let stickyCoolbarHeigh = 0;\n if ($stickyCoolbar.length) {\n stickyCoolbarHeigh = $stickyCoolbar.outerHeight();\n if (stickyCoolbarHeigh === 0) {\n stickyCoolbarHeigh = $stickyCoolbar.find('.stickybar__wrapper').outerHeight();\n }\n elementsHeight += stickyCoolbarHeigh;\n }\n\n if ($('header .scrollThenFix, .coolBar').length) {\n $.each($('header .scrollThenFix, .coolBar'), function (index, value) {\n if ($(value).outerHeight()) {\n elementsHeight += $(value).outerHeight();\n }\n });\n }\n\n return elementsHeight;\n },\n },\n };\n\n UX.scrollo = scrollo; // add to global namespace\n})();\n","(function () {\n var coolbar = {\n sections: null,\n holder: $('.coolBar--sections .coolBar__drop'),\n vPort: 'screen-sm',\n isMobile: false,\n coolbarElement: null,\n headerHeight: 0,\n isStickyBar: false,\n lock: true, // define lock and set default value, this lock will be used to make sure to run certain functionality and to run on every scroll event\n init: function () {\n coolbar.coolbarElement = $('.coolBar');\n coolbar.isStickyBar = coolbar.coolbarElement.hasClass('stickybar');\n coolbar.get.sections();\n coolbar.fill.sections();\n coolbar.control();\n coolbar.addtionalControls();\n },\n control: function () {\n if ($('.journal-home').length) {\n coolbar.vPort = 'screen-md';\n }\n\n $(document).on(coolbar.vPort + '-on', function () {\n // Waiting for custom event that will be triggered by controller.js to activate responsive effects\n $('.coolBar').addClass('coolBar--res'); // class will be used in our scss (to replace media queries)\n\n coolbar.isMobile = true;\n\n if ($('.stickybar.coolBar--res,.coolBar.coolBar--res').length > 0) {\n $('.content>article.container').addClass('article--res');\n }\n });\n\n $(document).on(coolbar.vPort + '-off', function () {\n // Waiting for custom event that will be triggered by controller.js to deactivate responsive effects\n $('.coolBar').removeClass('coolBar--res');\n $('.content article.container').removeClass('article--res');\n $(document).trigger('eventSetContentPadding');\n coolbar.isMobile = false;\n if (typeof UX.controller !== 'undefined') {\n UX.controller.check();\n }\n });\n },\n addtionalControls: function () {},\n get: {\n sections: function () {\n coolbar.sections = $('.article__content .section__title');\n },\n },\n fill: {\n sections: function () {\n if ($('.coolBar--sections').length && coolbar.sections.length > 1) {\n $('.coolBar--sections').removeClass('hidden');\n const ul = $('