{"version":3,"sources":["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/@tarekraafat/autocomplete.js/dist/autoComplete.min.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/components/drop-block/js/drop-block.js","webpack:///./node_modules/ui-core/components/modal/js/modal.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/multi-search/js/multi-search.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/plugins/polyfills/js/stickyfill.es.js","webpack:///./node_modules/ui-core/plugins/stickyElements/js/stickyElements.js","webpack:///./node_modules/ui-core/utility/ie-warning/js/ie-warning.js","webpack:///./node_modules/ui-core/plugins/auto-hide-bar/js/auto-hide-bar.js","webpack:///./node_modules/ui-core/widgets/quick-search/js/quick-search.ts","webpack:///./node_modules/@atypon/ui-bundle-generator/.generated/groups/_mobile-menu.js","webpack:///./node_modules/@atypon/ui-bundle-generator/.generated/groups/_sticky.js","webpack:///./node_modules/@atypon/ui-bundle-generator/.generated/lazy-imports.js"],"names":["Element","prototype","matches","msMatchesSelector","webkitMatchesSelector","closest","s","el","this","document","documentElement","contains","parentElement","parentNode","nodeType","t","e","n","Object","keys","getOwnPropertySymbols","r","filter","getOwnPropertyDescriptor","enumerable","push","apply","arguments","length","i","forEach","getOwnPropertyDescriptors","defineProperties","defineProperty","Symbol","_typeof","iterator","constructor","value","configurable","writable","Array","isArray","from","o","TypeError","toString","call","slice","name","test","u","querySelector","a","createElement","append","insertAdjacentElement","insertBefore","getAttribute","focus","setAttribute","c","String","toLowerCase","normalize","replace","l","innerHTML","class","outerHTML","f","input","dispatchEvent","CustomEvent","bubbles","detail","feedback","cancelable","p","mode","diacritics","highlight","map","join","d","indexOf","substring","Promise","data","cache","store","src","then","h","searchEngine","resultItem","match","key","done","next","resultsList","maxResults","query","results","m","b","y","v","selection","index","g","isOpen","wrapper","list","removeAttribute","w","O","getElementsByTagName","tag","selected","split","cursor","classList","remove","add","id","scrollTop","offsetTop","clientHeight","A","k","L","event","j","HTMLInputElement","HTMLTextAreaElement","trigger","threshold","Error","noResults","DocumentFragment","concat","role","inside","element","S","E","placeHolder","placeholder","around","dest","destination","position","hidden","T","events","debounce","clearTimeout","setTimeout","keydown","keyCode","preventDefault","submit","tabSelect","blur","mousedown","click","toUpperCase","querySelectorAll","target","nodeName","addEventListener","x","init","start","unInit","removeChild","removeEventListener","open","close","goTo","previous","select","search","options","instances","selector","exports","module","define","UX","noFocusableSVG","isIE","svgs","cookies","getItem","sKey","decodeURIComponent","cookie","RegExp","encodeURIComponent","setItem","sValue","vEnd","sPath","sDomain","bSecure","sExpires","Number","Infinity","Date","toUTCString","removeItem","hasItem","aKeys","nLen","nIdx","$window","$body","dropBlock","$","window","$controllers","$targets","$controller","$target","$parents","$parent","escape","$container","switchVal","$section","vPort","isMobile","initialized","direction","pop","control","on","stopPropagation","hasClass","isDataSlideTarget","is","disableOnMobile","find","hide","show","dimensions","controller","check","addClass","attr","icon","first","removeAttr","each","loi","recalculate","additionalOnShow","removeClass","back","$parentSection","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","css","switch","temp","undefined","modal","$toggle","revers","lastItem","items","$close","accessibilityEnabled","accessibility","$content","after","focusCycle","bind","$autofocus","tab","off","tabRevers","which","accordion","$elements","$tabbedElements","$tabbedControllers","isStickyBody","$responsiveElements","accVport","$responsiveTarget","collapseTabs","collapseAccordion","defaultCollapsed","hideAllBoolean","openedAccordion","hideDropBlock","initResponsive","logic","additionalControls","stopImmediatePropagation","$this","toggle","single","preventAccordionBehavior","tabbed","all","elem","hideAll","parentAccordion","collapseTabsByDefault","getAccordionContent","additionalAjaxSuccess","$elem","getCustomAjaxUrl","buildAjaxUrl","ajaxUrl","widgetId","dropzoneId","$parentTab","ajax","url","success","replaceWith","error","state","$accordionContent","contentTarget","slideToggle","height","toggleClass","$wrapper","accordionExpandedSingle","Event","checkExpandAll","$opened","children","slideUp","extraCollapseAccordionCheck","slideDown","expanded","accordionExpandedTabbed","text","$lazy","$expandElem","setViewports","backToTop","footerBackToTop","animate","body","isfooterVisible","docViewBottom","adplaceholder","elemToToggle","$multi_search","getWidgetId","widgetEl","multiSearch","set","dropdown","widgetID","topic","tagLabel","tagId","label","params","multiSearchAction","lazyload","not","truncate","lines","type","lazyLoad","getPbContext","pbContext","dataType","async","html","render","console","log","ready","toggleQuickSearch","val","loadInstitutionPage","selectDom","href","location","alert","menu","menuHeaderMainTitle","redirectPath","displayedNestedItems","nestedMenu","listPositionVars","mainScrollingList","inTimeoutTiming","outTimeoutTiming","mainScrollingListHeight","mobileTransitionTime","bodyTransitionPropertyName","bodyTransitionElapsedTime","$header","viewPort","responsive","additionalControl","rebuild","original","nested","hideNested","get","listPosition","handleHeightSet","handleResize","shiftKey","tabDesktop","escDesktop","showAdditional","showNested","siblings","$menuTitle","showNestedExtra","$parenNestedMenu","shouldNavigate","$menuHeader","hideNestedExtra","reset","$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","parentHeightVal","innerHeight","subHeightVal","utils","isSafari","duration","abs","skipCheck","elapsedTime","propertyName","menubar","$id","$rootItems","$items","$allItems","$activeItem","vmenu","bChildOpen","enter","esc","space","up","down","bindHandlers","handleKeyDown","keypress","handleKeyPress","handleFocus","handleDocumentClick","parentsUntil","altKey","ctrlKey","processMenuChoice","moveUp","moveToPrevious","moveDown","moveToNext","last","eq","charAt","fromCharCode","slide","$slide","$contents","$slideinfo","elementvPort","multi","activeSlide","oldInfo","clone","wait","backLabel","isQueue","isRTL","displaySlideHtmlToPage","$back","customViewPorts","additionalInitialization","facetDateChart","$main","additionalResponsive","addTransition","empty","removeTransition","setBackLabel","_e$currentTarget","jcf","destroy","openingEvent","isDefaultPrevented","popupType","currentTarget","additionalShow","_nestSlide","clonedDiv","destroyJcf","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","$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","seppuku","getComputedStyle","testNode","some","prefix","style","isInitialized","shadowRootExists","ShadowRoot","scroll","stickies","extend","targetObj","sourceObject","hasOwnProperty","parseNumeric","parseFloat","getDocOffsetTop","node","docOffsetTop","offsetParent","Sticky","_createClass","_classCallCheck","HTMLElement","sticky","_node","_stickyMode","_active","_removed","_deactivate","nodeComputedStyle","nodeComputedProps","display","marginTop","marginBottom","marginLeft","marginRight","cssFloat","isNaN","originalPosition","referenceNode","host","nodeWinOffset","parentWinOffset","parentComputedStyle","_parent","offsetHeight","_offsetToWindow","clientWidth","_offsetToParent","borderTopWidth","borderLeftWidth","borderRightWidth","_styles","nodeTopValue","_limits","end","borderBottomWidth","parentPosition","_recalcPosition","_clone","padding","border","borderSpacing","fontSize","stickyMode","_fastCheck","_this","_this2","Stickyfill","forceSticky","refreshAll","addOne","nodeList","addedStickies","_loop","removeOne","_loop2","removeAll","fastCheckTimer","docHiddenKey","visibilityChangeEventName","checkScroll","startFastCheckTimer","stopFastCheckTimer","clearInterval","setInterval","stickyElements","selectors","header","scrollThenFix","dynamicHeader","stickoParent","isHeaderSticky","dynamicHeaderHeight","unshift","_isDynamicHeaderHeight","extra","computeHeaderHeight","matched","item","isHeader","makeSticky","setTopValue","postStickyActions","_canSetTopValue","_has","stickoActions","scrollThenFixActions","fixedHeaderHeight","scrollThenFixOffset","self","ieWarning","content","warning","button","targetEl","contentEl","ie","sessionStorage","showMessage","insertAdjacentHTML","handlers","btnClickHandler","paddingTop","parseInt","removeMessage","child","ev","autoHideBar","autocompleteResultItem","citationSearchJournalField","citationSearch","hideAutoComplete","qsAutocomplete","qsForms","qsDropdowns","qsHeaderWrapper","qsSeriesKey","qsItems","autocompleteSelectedResultItem","citationSearchDoiField","citationSubmit","inputGroup","journalSearchHideAutocompleteWrapper","autoCompleteWrapper","searchType","seriesKey","_autoCompleteOptions","domUtils","getElement","activeDropdownJournal","elements","hs","pts","ptgs","ptfs","ts","cs","pt","initialize","_URLParameters","URLParameters","setAutoCompleteOptions","setActiveJournal","isAutocompleteOn","browserUtils","initAutocomplete","addEventListeners","getElements","isSelectOnly","elementRenderer","ele","autoCompleteOptions","className","paramFormatted","innerText","appendChild","record","getConfigs","quickSearchElm","autoCompleteObj","buildFetchURL","fetch","json","resultListConfig","defaultConfigs","handleAutoCompleteOptions","containsClasses","initAutoCompleteInstance","configs","onSelection","idName","ceil","random","resultListDestination","autcompleteInstances","Map","QuickSearchElm","onKeyDown","form","onFormSubmit","handleDropdownCollapse","registerCitationSearchEvents","autocompleteAnnouncer","announcerContainer","autocompleteLists","observer","MutationObserver","mutationsList","mutation","observe","childList","submitForm","submitWithoutChoosingValue","selectedItemId","reserveSearchInputOnJournalChange","activeJournalForm","changeSubmitButtonState","onCitationSearchDoiField","hasValue","dataset","journalCitationInputs","toggleClasses","disabled","allEmpty","validator","isNotEmpty","parameters","entries","reduce","acc","prop","term","trim","autoCompleteMaxWords","autoCompleteMaxChars","QuickSearch","Elements","ClassList","Texts","main","getElementsByClassName","$reponsiveMenu","err","headerSelector","$primaryBar","$stickyBar","previousTop","scrollDelta","scrollOffset","previousScroll","changeEvent","changeEventName","createEvents","displayOnScroll","currentTop","secondaryNav_HeaderOffsetTop","removeProperty","setProperty","hideOpenHeaderMenus","$openedLoginMenu","$openedQuickSearchMenu","$scrollo","$autoHideBar","$coolbar","$dropBlock","$modal","$accordion","$backToTop","$quickSearch","$adplaceholder","$multiSearch","quickSearch","mobileMenuMain","stickyMain"],"mappings":"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","file":"js/vendors~lazy-imports-84d4605450445d4df83c.js","sourcesContent":["/**\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","var e,t;e=this,t=function(){\"use strict\";function e(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function t(t){for(var n=1;ne.length)&&(t=e.length);for(var n=0,r=new Array(t);n=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:i}}throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")}var s,u=!0,a=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return u=e.done,e},e:function(e){a=!0,s=e},f:function(){try{u||null==n.return||n.return()}finally{if(a)throw s}}}}(n.keys);try{for(l.s();!(c=l.n()).done;)a(c.value)}catch(e){l.e(e)}finally{l.f()}}else a()})),n.filter&&(i=n.filter(i));var s=i.slice(0,t.resultsList.maxResults);t.feedback={query:e,matches:i,results:s},f(\"results\",t)},m=\"aria-expanded\",b=\"aria-activedescendant\",y=\"aria-selected\",v=function(e,n){e.feedback.selection=t({index:n},e.feedback.results[n])},g=function(e){e.isOpen||((e.wrapper||e.input).setAttribute(m,!0),e.list.removeAttribute(\"hidden\"),e.isOpen=!0,f(\"open\",e))},w=function(e){e.isOpen&&((e.wrapper||e.input).setAttribute(m,!1),e.input.setAttribute(b,\"\"),e.list.setAttribute(\"hidden\",\"\"),e.isOpen=!1,f(\"close\",e))},O=function(e,t){var n=t.resultItem,r=t.list.getElementsByTagName(n.tag),o=!!n.selected&&n.selected.split(\" \");if(t.isOpen&&r.length){var s,u,a=t.cursor;e>=r.length&&(e=0),e<0&&(e=r.length-1),t.cursor=e,a>-1&&(r[a].removeAttribute(y),o&&(u=r[a].classList).remove.apply(u,i(o))),r[e].setAttribute(y,!0),o&&(s=r[e].classList).add.apply(s,i(o)),t.input.setAttribute(b,r[t.cursor].id),t.list.scrollTop=r[e].offsetTop-t.list.clientHeight+r[e].clientHeight+5,t.feedback.cursor=t.cursor,v(t,e),f(\"navigate\",t)}},A=function(e){O(e.cursor+1,e)},k=function(e){O(e.cursor-1,e)},L=function(e,t,n){(n=n>=0?n:e.cursor)<0||(e.feedback.event=t,v(e,n),f(\"selection\",e),w(e))};function j(e,n){var r=this;return new Promise((function(i,o){var s,u;return s=n||((u=e.input)instanceof HTMLInputElement||u instanceof HTMLTextAreaElement?u.value:u.innerHTML),function(e,t,n){return t?t(e):e.length>=n}(s=e.query?e.query(s):s,e.trigger,e.threshold)?d(e,s).then((function(n){try{return e.feedback instanceof Error?i():(h(s,e),e.resultsList&&function(e){var n=e.resultsList,r=e.list,i=e.resultItem,o=e.feedback,s=o.matches,u=o.results;if(e.cursor=-1,r.innerHTML=\"\",s.length||n.noResults){var c=new DocumentFragment;u.forEach((function(e,n){var r=a(i.tag,t({id:\"\".concat(i.id,\"_\").concat(n),role:\"option\",innerHTML:e.match,inside:c},i.class&&{class:i.class}));i.element&&i.element(r,e)})),r.append(c),n.element&&n.element(r,o),g(e)}else w(e)}(e),c.call(r))}catch(e){return o(e)}}),o):(w(e),c.call(r));function c(){return i()}}))}var S=function(e,t){for(var n in e)for(var r in e[n])t(n,r)},T=function(e){var n,r,i,o=e.events,s=(n=function(){return j(e)},r=e.debounce,function(){clearTimeout(i),i=setTimeout((function(){return n()}),r)}),u=e.events=t({input:t({},o&&o.input)},e.resultsList&&{list:o?t({},o.list):{}}),a={input:{input:function(){s()},keydown:function(t){!function(e,t){switch(e.keyCode){case 40:case 38:e.preventDefault(),40===e.keyCode?A(t):k(t);break;case 13:t.submit||e.preventDefault(),t.cursor>=0&&L(t,e);break;case 9:t.resultsList.tabSelect&&t.cursor>=0&&L(t,e);break;case 27:t.input.value=\"\",w(t)}}(t,e)},blur:function(){w(e)}},list:{mousedown:function(e){e.preventDefault()},click:function(t){!function(e,t){var n=t.resultItem.tag.toUpperCase(),r=Array.from(t.list.querySelectorAll(n)),i=e.target.closest(n);i&&i.nodeName===n&&L(t,e,r.indexOf(i))}(t,e)}}};S(a,(function(t,n){(e.resultsList||\"input\"===n)&&(u[t][n]||(u[t][n]=a[t][n]))})),S(u,(function(t,n){e[t].addEventListener(n,u[t][n])}))};function E(e){var n=this;return new Promise((function(r,i){var o,s,u;if(o=e.placeHolder,u={role:\"combobox\",\"aria-owns\":(s=e.resultsList).id,\"aria-haspopup\":!0,\"aria-expanded\":!1},a(e.input,t(t({\"aria-controls\":s.id,\"aria-autocomplete\":\"both\"},o&&{placeholder:o}),!e.wrapper&&t({},u))),e.wrapper&&(e.wrapper=a(\"div\",t({around:e.input,class:e.name+\"_wrapper\"},u))),s&&(e.list=a(s.tag,t({dest:[s.destination,s.position],id:s.id,role:\"listbox\",hidden:\"hidden\"},s.class&&{class:s.class}))),T(e),e.data.cache)return d(e).then((function(e){try{return c.call(n)}catch(e){return i(e)}}),i);function c(){return f(\"init\",e),r()}return c.call(n)}))}function x(e){var t=e.prototype;t.init=function(){E(this)},t.start=function(e){j(this,e)},t.unInit=function(){if(this.wrapper){var e=this.wrapper.parentNode;e.insertBefore(this.input,this.wrapper),e.removeChild(this.wrapper)}var t;S((t=this).events,(function(e,n){t[e].removeEventListener(n,t.events[e][n])}))},t.open=function(){g(this)},t.close=function(){w(this)},t.goTo=function(e){O(e,this)},t.next=function(){A(this)},t.previous=function(){k(this)},t.select=function(e){L(this,null,e)},t.search=function(e,t,n){return p(e,t,n)}}return function e(t){this.options=t,this.id=e.instances=(e.instances||0)+1,this.name=\"autoComplete\",this.wrapper=1,this.threshold=1,this.debounce=0,this.resultsList={position:\"afterend\",tag:\"ul\",maxResults:5},this.resultItem={tag:\"li\"},function(e){var t=e.name,r=e.options,i=e.resultsList,o=e.resultItem;for(var s in r)if(\"object\"===n(r[s]))for(var a in e[s]||(e[s]={}),r[s])e[s][a]=r[s][a];else e[s]=r[s];e.selector=e.selector||\"#\"+t,i.destination=i.destination||e.selector,i.id=i.id||t+\"_list_\"+e.id,o.id=o.id||t+\"_result\",e.input=u(e.selector)}(this),x.call(this,e),E(this)}},\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=t():\"function\"==typeof define&&define.amd?define(t):(e=\"undefined\"!=typeof globalThis?globalThis:e||self).autoComplete=t();\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","// 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 $window = $(window),\n tabKey = 9,\n shift = 16;\n\n var modal = {\n $toggle: $('[data-toggle=\"modal\"]'),\n $target: null,\n revers: false,\n lastItem: null,\n items: null,\n $close: null,\n accessibilityEnabled: true,\n\n init: function () {\n if (this.accessibilityEnabled) modal.accessibility.init();\n modal.$target = $(modal.$toggle.data('target'));\n modal.control();\n },\n accessibility: {\n init: function () {\n // Move every modal outside of content in order to be able hide and show page content for screen readers\n // @note: for some reason, it is not working with tab trap correctly, when we append it to body - after(.content) works fine\n var $content = $('main.content');\n if ($content.length) {\n $content.after($('.ux-modal-container'));\n }\n // Text for close buttons\n $('[data-dismiss=\"modal\"]').append('Close modal');\n },\n show: function () {\n $('.content, .footer, .header').attr('aria-hidden', true);\n },\n hide: function () {\n $('.content, .footer, .header').removeAttr('aria-hidden');\n },\n },\n control: function () {\n $body.on('click', '[data-toggle=\"modal\"]', function (e) {\n e.preventDefault();\n modal.$toggle = $(this);\n modal.$target = $(modal.$toggle.data('target'));\n modal.$close = modal.$target.find('.close');\n modal.items = modal.$target.find('a, button, input');\n modal.items.each(function (index) {\n if (index === modal.items.length - 1) {\n modal.lastItem = $(this);\n }\n });\n modal.on.show();\n });\n\n $body.on('click', '.modal', function (e) {\n var target = $(e.target);\n if (!target.is('.modal__dialog') && !target.closest('.modal__dialog').length > 0) {\n //e.preventDefault();\n modal.on.hide();\n }\n });\n\n $body.on('click', '[data-dismiss=\"modal\"]', function (e) {\n modal.on.hide();\n });\n\n $('.modal').on('keydown', modal.focusCycle.bind(modal));\n\n $window.on('keyup', function (e) {\n if (e.keyCode === shift) {\n modal.revers = false;\n }\n });\n },\n on: {\n show: function (e) {\n if (typeof UX.controller !== 'undefined') {\n UX.controller.check();\n }\n setTimeout(function () {\n $body.attr('data-active', 'modal');\n modal.accessibility.show();\n const $autofocus = modal.$target.find('[autofocus]');\n if ($autofocus.length) $autofocus.focus();\n else modal.$close.focus();\n }, 250);\n modal.$target.closest(\"[class*='sticko']\").addClass('js--open');\n $('#externalEmailDialogForm').addClass('pairing-management-modal');\n },\n hide: function () {\n $body.removeAttr('data-active');\n modal.accessibility.hide();\n modal.$target.closest(\"[class*='sticko']\").removeClass('js--open');\n },\n tab: function () {\n modal.$close.off('focusout');\n modal.lastItem.off('focusout');\n modal.lastItem.on('focusout', function () {\n modal.$close.focus();\n });\n },\n tabRevers: function () {\n modal.lastItem.off('focusout');\n modal.$close.off('focusout');\n modal.$close.on('focusout', function () {\n modal.lastItem.focus();\n });\n },\n },\n focusCycle: function (e) {\n if (e.keyCode === shift) {\n modal.revers = true;\n }\n\n if ((e.keyCode || e.which) === tabKey) {\n if (!modal.revers) {\n modal.on.tab();\n } else {\n modal.on.tabRevers();\n }\n }\n },\n };\n\n UX.modal = modal; // 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","(function () {\n var $body = $('body'),\n $multi_search;\n\n // get the 'data-widget-id' attribute from the current generated widget\n function getWidgetId(elem) {\n var widgetEl = elem.parents('[data-widget-id]')[0];\n var widgetId = widgetEl ? $(widgetEl).data('widget-id') : '';\n\n return widgetId;\n }\n\n // get The content attribute from the meta tag in the head\n function getPbContext() {\n var pbContext = $('[name=\"pbContext\"]').attr('content');\n return pbContext ? pbContext : '';\n }\n\n const multiSearch = {\n init: function () {\n multiSearch.control();\n },\n control: function () {\n $body.on('click', '.multi-search__dropblock__holder a', function () {\n var el = $(this);\n\n multiSearch.set.parent(el);\n multiSearch.on.select.dropdown(el);\n });\n\n $body.on('click', 'a.remove-topic', function () {\n var el = $(this);\n var widgetID = getWidgetId(el);\n\n multiSearch.set.parent(el);\n multiSearch.topic.remove(widgetID);\n });\n },\n on: {\n select: {\n dropdown: function (elem) {\n var tagLabel = elem.data('label');\n var tagId = elem.data('value');\n var widgetID = getWidgetId(elem);\n\n multiSearch.topic.add(tagLabel, tagId, widgetID);\n },\n },\n },\n topic: {\n add: function (label, id, widgetID) {\n var params = {\n multiSearchAction: 'applyTopic',\n tagId: id,\n tagLabel: label,\n widgetId: widgetID,\n };\n\n multiSearch.ajax(params);\n },\n remove: function (widgetID) {\n var params = {\n multiSearchAction: 'removeTopic',\n widgetId: widgetID,\n };\n\n multiSearch.ajax(params);\n },\n lazyload: function () {\n function lazyLoad() {\n $('.lazy-load').remove();\n $('.delayLoad').removeClass('delayLoad').addClass('delayedLoad');\n }\n\n $('.creative-work .loa').not(\"[data-truncate='none']\").truncate({\n lines: 2,\n type: 'list',\n addClass: 'loa-height',\n });\n\n $('.card .creative-work .loa').not(\"[data-truncate='none']\").truncate({\n lines: 1,\n type: 'list',\n addClass: 'loa-height',\n });\n\n setTimeout(lazyLoad, 10);\n },\n },\n set: {\n parent: function (elem) {\n $multi_search = $(elem.parents('.multi-search')[0]);\n },\n },\n ajax: function (params) {\n params['pbContext'] = getPbContext();\n\n $.ajax({\n type: 'GET',\n url: '/pb/widgets/multiSearch/updateTopic',\n dataType: 'html',\n data: params,\n async: true,\n success: function (html) {\n multiSearch.render(html);\n multiSearch.topic.lazyload();\n },\n error: function (error) {\n console.log(error);\n },\n });\n },\n render: function (html) {\n $multi_search.html('');\n $multi_search.replaceWith(html);\n },\n };\n\n UX.multiSearch = multiSearch;\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') && $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 = $('