{"version":3,"sources":["site.js"],"names":["r","e","n","t","o","i","f","c","require","u","a","Error","code","p","exports","call","length","1","module","QueryHandler","each","MediaQuery","query","isUnconditional","this","handlers","mql","window","matchMedia","self","listener","currentTarget","assess","addListener","prototype","constuctor","addHandler","handler","qh","push","matches","on","removeHandler","h","equals","destroy","splice","clear","removeListener","action","./QueryHandler","./Util","2","Util","isFunction","isArray","MediaQueryDispatch","queries","browserIsIncapable","constructor","register","q","options","shouldDegrade","match","unregister","./MediaQuery","3","deferSetup","setup","initialised","off","unmatch","target","4","Object","toString","apply","collection","fn","5","./MediaQueryDispatch","6","$body","$","disclaimerCookie","cookie","undefined","show","expires","path","secure","hide","7","$this","hasClass","one","closest","removeClass","toggleClass","$value","find","siblings","addClass","text","change","val","value","console","log","location","pathname","includes","8","state","stateChangers","helpers","CONSTANTS","$module","$btnMenuTriggers","$btnMenuClose","flyoutClassPrefix","flyoutState","FLYOUT_CLOSED","updateFlyout","addNewClass","panel","trigger","focus","attr","split","forEach","item","indexOf","removeOldClass","setFlyoutPanelState","newState","isFlyoutClosed","click","index","data","event","9","stopPropagation","url","open","10","$carousel","$carouselNav","mediaQuery","tabClick","tab","slick","asNavFor","nextArrow","prevArrow","appendArrows","infinite","slidesToShow","focusOnSelect","arrows","draggable","scroll","$nav","scrollDistance","scrollTop","navHeight","parseInt","css","isDesktop","width","transform","enquire.js","11","$container","heroVideoResize","$video","aspectRatio","computeWindowScreen","handleVideoResize","$selectors","winHeight","winWidth","innerWidth","height","resizeBy","hasOwnProperty","init","$wrapper","addEventListener","windowResize","add","bind","./selectors","12","triggers","bindTriggers","./triggers","13","$panelRightBtn","$defaultPanelBtn","$panelLeftBtn","$topMenu","14","api","updateView","isDesktopView","changeView","type","./updateView","15","bindMediaQueryTrigger","bindSlideControls","bindBackgroundVideoTriggers","fullpage","moveSlideRight","moveSectionDown","moveSlideLeft","moveSectionUp","./heroVideoResize","./state","16","canPanelsScroll","updateFullPageOrientation","globalMenuBar","homepageVideoCarousel","isVideoOverlayClosed","config","arrangeHorizontal","arrangeVertical","$sections","$sectionContainer","appendTo","$slides","$section","parent","remove","setTimeout","controlArrows","loopHorizontal","afterLoad","afterSlideLoad","normalScrollElements","onScroll","direction","afterRender","setInterval","fadeOut","afterResize","./../global-menu-bar","./../homepage-video-carousel","17","$backgroundContainer","$videoContainer","$videoPlay","$videoOverlay","$videoBackgroundCover","setupVideosAndImages","controlVideo","initializeSlick","updateBackground","updateNavigationOffset","toggleVideoBackgroundCover","currentSlide","isMobile","updateCurrentSlide","nextSlide","$currentVideo","contentWindow","postMessage","empty","removeClassPrefix","$currentSlideEl","settings","desktopInitialSlide","mobileInitialSlide","responsiveBreakpoint","initialSlide","centerMode","responsive","breakpoint","speed","$videos","append","video","backgroundUrl","closeVideo","openVideo","carouselItems","children","clone","x","handleBodyClick","bodyClickArmedFlag","videoUrl","videoAnchor","videoAnchorTitle","html","join","initialize","18","updateNavOffset","moduleState","customTertiaryFormat","slideCount","currentSlideIndex","adaptiveHeight","slidesToScroll","19","confirm","20","document","ready","$shareTools","$articleContent","controller","triggerClass","pinnedClass","ScrollMagic","Controller","Scene","triggerElement","triggerHook","duration","calc","isNaN","offset","setPin","setClassToggle","addTo","21","$currentHeight","$header","handleHeight","$elTarget","$height","resize","preventDefault","22","readMorePanelId","toggle","firstItemInContent","next","first","tagName","slideToggle","23","$expandDiv","unbind","itemUrl","24","$slideOpenBox","serviceList","obj","25","reference","tabId","tabindex","$referenceEl","tabSelector","$selectedItem","generalTab","sectionTabs","sectionNavButtons","$content","$tabsElement","selectedTab","bindHandlers","showTab","$tab","URL","searchParams","set","replace","history","replaceState","setUrl","animate","top","firstActive","get","firstactiveindex","tabParam","sParam","sParameterName","sURLVariables","search","substring","decodeURIComponent","getUrlParameter","currentTab","$control","$tabbedContent","showTabForControl","$slickNav","initSlickNav","$initialIndex","$initialItem","checkNext","$nextBtn","trackPos","left","outerWidth","dots","variableWidth","nextButton","trackLength","slickInit","resizeHandler","itemLength","checkSlickNav","26","$component","keyup","$typeaheadResults","$parent","$thisComponent","results","element","Url","Label","27","lastTouchEnd","lastTime","vendors","requestAnimationFrame","cancelAnimationFrame","callback","currTime","Date","getTime","timeToCall","Math","max","id","clearTimeout","helperUtils","getDocDimen","innerHeight","mobileCheck","parseQueryString","str","reduce","ret","param","parts","getDocHeight","D","body","scrollHeight","documentElement","offsetHeight","clientHeight","doubleTabZoomPrevent","now","callbacks","running","runCallbacks","addCallback","28","./features/disclaimer.js","./features/drop-down","./features/global-menu-bar","./features/highlight-helper.js","./features/homepage-content","./features/homepage-panels","./features/homepage-video-carousel","./features/image-video-module","./features/jump-link.js","./features/pinToScroll.js","./features/professionals-advanced-search.js","./features/readMore.js","./features/slideopen-box-override","./features/slideopen-box.js","./features/tab-controls","./features/text-input-component","./features/utils"],"mappings":"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","file":"site.js","sourcesContent":["(function(){function r(e,n,t){function o(i,f){if(!n[i]){if(!e[i]){var c=\"function\"==typeof require&&require;if(!f&&c)return c(i,!0);if(u)return u(i,!0);var a=new Error(\"Cannot find module '\"+i+\"'\");throw a.code=\"MODULE_NOT_FOUND\",a}var p=n[i]={exports:{}};e[i][0].call(p.exports,function(r){var n=e[i][1][r];return o(n||r)},p,p.exports,r,e,n,t)}return n[i].exports}for(var u=\"function\"==typeof require&&require,i=0;i 0) {\r\n\t\t\t\t$(\"input.fly-out-focus\", panel).trigger('touchstart').focus();\r\n\t\t\t} \r\n\t\t\t$module.addClass(state.flyoutClassPrefix + state.flyoutState);\r\n\t\t};\r\n\r\n\r\n\t\tremoveOldClass();\r\n\r\n\t\tif (state.flyoutState !== CONSTANTS.FLYOUT_CLOSED){\r\n\t\t\taddNewClass();\r\n\t\t}\r\n\t},\r\n\r\n\tsetFlyoutPanelState: function(newState){\r\n\t\tif (typeof newState === 'number' &&\r\n\t\t\tnewState >= 0 ){\r\n\t\t\t// newState >= 0 &&\r\n\t\t\t// newState < $btnMenuTriggers.length){\r\n\r\n\t\t\tstate.flyoutState = newState;\r\n\t\t} else {\r\n\t\t\tstate.flyoutState = CONSTANTS.FLYOUT_CLOSED;\r\n\t\t}\r\n\r\n\t\tthis.updateFlyout();\r\n\t}\r\n};\r\n\r\nhelpers = {\r\n\tisFlyoutClosed: function(){\r\n\t\treturn state.flyoutState === CONSTANTS.FLYOUT_CLOSED;\r\n\t}\r\n};\r\n\r\n$btnMenuTriggers.click(function(){\r\n\tvar index = ($(this).data('menu-trigger')) ? $(this).data('menu-trigger') : $btnMenuTriggers.index(this);\r\n\tif (state.flyoutState === index){\r\n\t\tstateChangers.setFlyoutPanelState();\r\n\t} else {\r\n\t\tstateChangers.setFlyoutPanelState(index);\r\n\t}\r\n\r\n});\r\n\r\n$btnMenuClose.click(function(){\r\n\tstateChangers.setFlyoutPanelState();\r\n});\r\n\r\n$('body').click(function(event){\r\n\r\n\tif (helpers.isFlyoutClosed()){\r\n\t\treturn;\r\n\t}\r\n\r\n\t// If clicked outside of the menu bar and if the flyout is open, then close the flyout\r\n\tif ($(event.target).closest('.js-global-menu-bar').length === 0){\r\n\t\tstateChangers.setFlyoutPanelState();\r\n\t}\r\n});\r\n\r\nexports.isFlyoutClosed = helpers.isFlyoutClosed;\r\n\n},{}],9:[function(require,module,exports){\n$('.navigation-tile-link a').click(function () {\r\n e.stopPropagation();\r\n});\r\n$('.navigation-tile-link').click(function () {\r\n var $this = $(this);\r\n var url = $this.data(\"navigationlink\");\r\n var target = $this.data(\"navigationlinktarget\");\r\n if (url !== \"\" && url !== undefined && (target !== \"\" && target !== undefined))\r\n window.open(url, target);\r\n else\r\n window.location = url;\r\n});\n},{}],10:[function(require,module,exports){\n'use strict';\r\n\r\nvar $module,\r\n $carousel,\r\n $carouselNav,\r\n mediaQuery;\r\n\r\n$module = $('.hero');\r\nif (!$module.length ){\r\n return;\r\n}\r\n\r\nmediaQuery = require('enquire.js');\r\n$carousel = $module.find('.hero__items');\r\n$carouselNav = $module.find('.hero__nav');\r\n\r\nfunction tabClick (tab) {\r\n $('.tabs__category').removeClass('tabs__category--active')\r\n $('.tabs__content').removeClass('tabs__content--active')\r\n $('#tabs__category--' + tab).addClass('tabs__category--active')\r\n $('#tabs__content--' + tab).addClass('tabs__content--active')\r\n}\r\n\r\nfunction initSlick() {\r\n $carousel.slick({\r\n asNavFor: '.hero__nav',\r\n nextArrow: '',\r\n prevArrow: '',\r\n appendArrows: $('.hero__arrows'),\r\n infinite: true\r\n });\r\n\r\n $carouselNav.slick({\r\n asNavFor: '.hero__items',\r\n slidesToShow: 4,\r\n focusOnSelect: true,\r\n arrows: false,\r\n draggable: false\r\n });\r\n}\r\n\r\nfunction removeSlick() {\r\n $carousel.slick('unslick');\r\n $carouselNav.slick('unslick');\r\n}\r\n\r\n\r\n$('.tabs__category').on('click', function () {\r\n tabClick($(this).data('tab'));\r\n});\r\n\r\ntabClick('first');\r\n\r\n//setup media qquery\r\nmediaQuery.register('(max-width: 766px)',{\r\n match: function(){\r\n initSlick();\r\n },\r\n unmatch: function(){\r\n removeSlick();\r\n }\r\n});\r\n\r\n$(window).scroll(function() {\r\n var $nav = $('.navigation--homepage');\r\n var scrollDistance = $(window).scrollTop();\r\n var navHeight = parseInt($nav.css('height'));\r\n var isDesktop = ($(window).width() > 1200) ? true : false;\r\n // if (scrollDistance >= navHeight && $nav.hasClass('navigation--fixed')) {\r\n if (scrollDistance >= navHeight && isDesktop) {\r\n $nav.css({transform: 'translateY(-100%)'});\r\n if (scrollDistance >= navHeight + 50) {\r\n $nav.css({transform: 'translateY(0)'});\r\n $nav.addClass('navigation--fixed');\r\n }\r\n } else {\r\n $nav.css({transform: 'translateY(0)'});\r\n $nav.removeClass('navigation--fixed');\r\n }\r\n});\r\n\n},{\"enquire.js\":5}],11:[function(require,module,exports){\n'use strict';\r\n\r\nvar cachedWindowWidth,\r\n\t$container,\r\n\theroVideoResize,\r\n\t$selectors = require('./selectors').$selectors,\r\n\tmediaQuery = require('enquire.js');\r\n\r\nheroVideoResize = (function () {\r\n\r\n var $video,\r\n\t\taspectRatio,\r\n\r\n\t\tcomputeWindowScreen,\r\n\t\thandleVideoResize,\r\n\t\tinitializeVideoResize;\r\n\r\n computeWindowScreen = function () {\r\n var winWidth,\r\n\t\t\twinHeight,\r\n\t\t\tlargerDimension,\r\n\r\n\t\twinWidth = window.innerWidth;\r\n winHeight = $container.height();\r\n\r\n largerDimension = (winWidth / winHeight < aspectRatio) ? { 'height': winHeight } : { 'width': winWidth };\r\n\r\n return largerDimension;\r\n\r\n };\r\n\r\n\r\n handleVideoResize = function () {\r\n \r\n var resizeBy = computeWindowScreen();\r\n\r\n if (resizeBy.hasOwnProperty('width')) {\r\n\r\n $video.css({\r\n width: resizeBy['width'] / 16 + 'em',\r\n height: ''\r\n })\r\n } else {\r\n $video.css({\r\n width: '',\r\n height: resizeBy['height'] / 16 + 'em'\r\n })\r\n }\r\n\r\n cachedWindowWidth = window.innerWidth;\r\n\r\n };\r\n\r\n initializeVideoResize = function ($wrapper) {\r\n $video = $wrapper.find('video');\r\n $container = $wrapper;\r\n\r\n if ($video.length === 0) {\r\n return;\r\n }\r\n\r\n $video[0].addEventListener(\"canplay\", function () {\r\n\r\n aspectRatio = $video.width() / $video.height();\r\n\r\n handleVideoResize();\r\n\r\n window.windowResize.add(handleVideoResize.bind(this));\r\n\r\n }, false);\r\n\r\n };\r\n\r\n return {\r\n init: initializeVideoResize\r\n }\r\n\r\n})();\r\n\r\nmodule.exports = heroVideoResize;\n},{\"./selectors\":13,\"enquire.js\":5}],12:[function(require,module,exports){\n'use strict';\r\n\r\nvar triggers = require('./triggers');\r\nvar $module;\r\n\r\n$module = $('.homepage-panels');\r\n\r\nif ($module.length){\r\n\ttriggers.bindTriggers();\r\n}\r\n\n},{\"./triggers\":15}],13:[function(require,module,exports){\n'use strict';\r\n\r\nvar $selectors = {};\r\n\r\n$selectors.$module = $('.homepage-panels');\r\n$selectors.$panelRightBtn = $selectors.$module.find('.btn-panel-right');\r\n$selectors.$defaultPanelBtn = $selectors.$module.find('.btn-default-home-scroll');\r\n$selectors.$panelLeftBtn = $selectors.$module.find('.btn-panel-left');\r\n$selectors.$body = $('body');\r\n$selectors.$topMenu = $('.global-menu-bar .menu-triggers');\r\n\r\nexports.$selectors = $selectors;\r\n\n},{}],14:[function(require,module,exports){\n'use strict';\r\n\r\nvar updateView = require('./updateView').updateView;\r\n\r\nvar state,\r\n\tapi,\r\n\tupdateView;\r\n\r\nstate = {\r\n\tisDesktopView: false\t// initialize isDesktopView to false\r\n};\r\n\r\napi = {\r\n\tchangeView: function(newState){\r\n\t\tif (typeof newState === 'boolean'){\r\n\t\t\tstate.isDesktopView = newState;\r\n\t\t}\r\n\t\tupdateView({type: 'fullpage', isDesktopView: this.isDesktopView()});\r\n\t},\r\n\r\n\tisDesktopView: function(){\r\n\t\treturn state.isDesktopView;\r\n\t}\r\n};\r\n\r\nmodule.exports = api;\r\n\n},{\"./updateView\":16}],15:[function(require,module,exports){\n'use strict';\r\n\r\nvar state = require('./state'),\r\n\t$selectors = require('./selectors').$selectors,\r\n\tmediaQuery = require('enquire.js'),\r\n heroVideoResize = require('./heroVideoResize');\r\n\r\nvar bindMediaQueryTrigger,\r\n\tbindSlideControls,\r\n\tbindBackgroundVideoTriggers,\r\n\tbindTriggers;\r\n\r\nbindMediaQueryTrigger = function(){\r\n\tmediaQuery.register('(min-width: 767px)',{\r\n\t\tmatch: function(){\r\n\t\t\tstate.changeView(true);\r\n\t\t},\r\n\r\n\t\tunmatch: function(){\r\n\t\t\tstate.changeView(false);\r\n\t\t},\r\n\r\n\t\tsetup: function(){\r\n\t\t\tstate.changeView();\r\n\t\t}\r\n\t});\r\n};\r\n\r\nbindSlideControls = function(){\r\n\r\n\t$selectors.$panelRightBtn.click(function(){\r\n\r\n\t\tif (state.isDesktopView()){\r\n\t\t\t$.fn.fullpage.moveSlideRight();\r\n\t\t} else {\r\n\t\t\t$.fn.fullpage.moveSectionDown();\r\n\t\t}\r\n\r\n\t});\r\n\r\n\t$selectors.$defaultPanelBtn.click(function () {\r\n\r\n\t if (state.isDesktopView()) {\r\n\t $.fn.fullpage.moveSlideRight();\r\n\t } else {\r\n\t $.fn.fullpage.moveSectionDown();\r\n\t }\r\n\r\n\t});\r\n\r\n\t$selectors.$panelLeftBtn.click(function(){\r\n\t\tif (state.isDesktopView()){\r\n\t\t\t$.fn.fullpage.moveSlideLeft();\r\n\t\t} else {\r\n\t\t\t$.fn.fullpage.moveSectionUp();\r\n\t\t}\r\n\t});\r\n};\r\n\r\nbindBackgroundVideoTriggers = function(){\r\n\t$selectors.$module.find('.background-video').on('playing', function(){\r\n\t\t$(this).addClass('video-is-playing');\r\n\t});\r\n};\r\n\r\nbindTriggers = function () {\r\n\tbindMediaQueryTrigger();\r\n\tbindBackgroundVideoTriggers();\r\n\tbindSlideControls();\r\n\theroVideoResize.init($selectors.$module);\r\n};\r\n\r\nexports.bindTriggers = bindTriggers;\r\n\n},{\"./heroVideoResize\":11,\"./selectors\":13,\"./state\":14,\"enquire.js\":5}],16:[function(require,module,exports){\n'use strict';\r\n\r\nvar $selectors = require('./selectors').$selectors,\r\n\tglobalMenuBar = require('./../global-menu-bar'),\r\n\thomepageVideoCarousel = require('./../homepage-video-carousel');\r\n\r\nvar canPanelsScroll,\r\n\tupdateView,\r\n\tupdateFullPageOrientation;\r\n\r\ncanPanelsScroll = function(){\r\n\treturn globalMenuBar.isFlyoutClosed() &&\r\n\t\thomepageVideoCarousel.isVideoOverlayClosed();\r\n};\r\n\r\nupdateFullPageOrientation = function(config){\r\n\tvar arrangeHorizontal,\r\n\t\tarrangeVertical,\r\n\t\thandler;\r\n\r\n\t// Undo the previous fullpage setup\r\n\tif ($.fn.fullpage.destroy){\r\n\t\t$.fn.fullpage.destroy('all');\r\n\t}\r\n\r\n\tarrangeHorizontal = function(){\r\n\t\tvar $sections,\r\n\t\t\t$sectionContainer;\r\n\r\n\t\t$sections = $selectors.$module.find('.section');\r\n\r\n\t\tif ($sections.length === 1){\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\t$sectionContainer = $('
');\r\n\t\t$sectionContainer.appendTo($selectors.$module);\r\n\r\n\t\t$sections.removeClass('section').addClass('slide');\r\n\t\t$sections.appendTo($sectionContainer);\r\n\t};\r\n\r\n\tarrangeVertical = function(){\r\n\t\tvar $slides,\r\n\t\t\t$section;\r\n\r\n\t\t$slides = $selectors.$module.find('.slide');\r\n\r\n\t\tif ($slides.length === 0){\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\t$section = $slides.parent();\r\n\t\t$slides.removeClass('slide').addClass('section').appendTo($selectors.$module);\r\n\t\t$section.remove();\r\n\t};\r\n\r\n\tif (config.isDesktopView){\r\n\t\tarrangeHorizontal();\r\n\t} else {\r\n\t\tarrangeVertical();\r\n\t}\r\n\r\n\thandler = function(){\r\n\t\tvar $this = $(this);\r\n\r\n\t\tif ($this.hasClass('homepage-panel-content-container')){\r\n\t\t\tsetTimeout(function(){\r\n\t\t\t\t$this.addClass('show-intro-animation');\r\n\t\t\t}, 100);\r\n\t\t}\r\n\t};\r\n\r\n\t$selectors.$module.fullpage({\r\n\t\tcontrolArrows: false,\r\n\t\tloopHorizontal: false,\r\n\t\tafterLoad: handler,\r\n\t\tafterSlideLoad: handler,\r\n\t\tnormalScrollElements: '.typeahead-results, .global-menu-flyout .scrollable-container',\r\n\t\tonScroll: function(direction){\r\n\t\t\tif (canPanelsScroll()){\r\n\t\t\t\tif (direction === 'down'){\r\n\t\t\t\t\t$.fn.fullpage.moveSlideRight();\r\n\t\t\t\t} else {\r\n\t\t\t\t\t$.fn.fullpage.moveSlideLeft();\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t},\r\n\t\tafterRender: function(){\r\n\r\n\t\t\t// In iOS - when you switch orientations, the top: 0 position is at the top of\r\n\t\t\t// the screen behind to url bar. When you reload the page (with no orientations witch),\r\n\t\t\t// the top 0 position is at the bottom of the Url bar. Forcing a scroll top the top\r\n\t\t\t// makes the position consistent so that top 0 is always at the bottom of the Url bar\r\n\t\t\t// More details can be found here: https://github.com/alvarotrigo/fullPage.js/issues/2414\r\n\t\t\tsetInterval(function(){\r\n\t\t\t\t$(window).scrollTop(0);\r\n\t\t\t\t$(window).trigger('resize');\r\n\t\t\t}, 600);\r\n\r\n\t\t\tsetTimeout(function(){\r\n\t\t\t\t$(window).trigger('resize');\r\n\t\t\t\t$('.homepage-loading-overlay').fadeOut();\r\n\t\t\t}, 600);\r\n\t\t},\r\n\t\tafterResize: function(){\r\n\t\t}\r\n\t});\r\n};\r\n\r\nupdateView = function(config){\r\n\tif (config.type === 'fullpage'){\r\n\t\tupdateFullPageOrientation(config);\r\n\t}\r\n};\r\n\r\nexports.updateView = updateView;\n},{\"./../global-menu-bar\":8,\"./../homepage-video-carousel\":17,\"./selectors\":13}],17:[function(require,module,exports){\n'use strict';\r\n\r\nvar $module,\r\n\t$backgroundContainer,\r\n\t$carousel,\r\n\t$videoContainer,\r\n\t$videoPlay,\r\n\t$videoOverlay,\r\n\t$videoBackgroundCover,\r\n\t$body,\r\n\tstate,\r\n\tsetupVideosAndImages,\r\n\tcontrolVideo,\r\n\tinitializeSlick,\r\n\tinitialize,\r\n\tupdateBackground,\r\n\tupdateNavigationOffset,\r\n\tmediaQuery;\r\n\r\n\r\nmediaQuery = require('enquire.js');\r\n\r\n$body = $('body');\r\n$module = $('.js-homepage-video-carousel');\r\n\r\n$carousel = $module.find('.js-carousel-videos');\r\n$backgroundContainer = $module.find('.background-skew');\r\n$videoContainer = $('.homepage-videos');\r\n$videoPlay = $module.find('.btn-play-video');\r\n$videoOverlay = $('.homepage-video-overlay');\r\n$videoBackgroundCover = $('
');\r\n\r\n\r\nstate = {\r\n\tisVideoOverlayClosed: true,\r\n\tcurrentSlide: 1,\r\n\tisMobile: false,\r\n\tupdateCurrentSlide: function(nextSlide){\r\n\t\tthis.currentSlide = nextSlide;\r\n\t\tupdateBackground();\r\n\t\tupdateNavigationOffset();\r\n\t}\r\n};\r\n\r\n\r\n//setup media qquery\r\nmediaQuery.register('(min-width: 767px)',{\r\n match: function(){\r\n state.isMobile = false;\r\n },\r\n\r\n unmatch: function(){\r\n state.isMobile = true;\r\n }\r\n});\r\n\r\n\r\ncontrolVideo = function(){\r\n var $currentVideo;\r\n\r\n if ($videoContainer.find('.homepage-video iframe')[0] === undefined)\r\n return;\r\n\r\n\t$currentVideo = $videoContainer.find('.homepage-video iframe')[0].contentWindow;\r\n\tif (state.isVideoOverlayClosed){\r\n\t $currentVideo.postMessage('{\"event\":\"command\",\"func\":\"' + 'pauseVideo' + '\",\"args\":\"\"}', '*');\r\n\t $($videoContainer.find('.homepage-video iframe')[0]).empty();\r\n\t $($videoContainer.find('.current-video-item')[0]).empty();\r\n\t} else {\r\n\t\t$currentVideo.postMessage('{\"event\":\"command\",\"func\":\"' + 'playVideo' + '\",\"args\":\"\"}', '*');\r\n\t}\r\n};\r\n\r\nupdateBackground = function(){\r\n\tvar prefix = 'show-background-';\r\n\r\n\t$body.removeClassPrefix(prefix);\r\n\t$body.addClass(prefix + state.currentSlide);\r\n};\r\n\r\nupdateNavigationOffset = function (){\r\n\tvar $currentSlideEl\r\n\r\n\tif (state.isMobile) {\r\n $carousel.css('margin-top', '');\r\n } else {\r\n\t\t\r\n\t\tvar $currentSlideEl = $carousel.find('[data-slick-index=' + state.currentSlide + ']');\r\n\r\n\t\t$carousel.css('margin-top', $currentSlideEl.height() + 'px');\r\n }\r\n};\r\n\r\ninitializeSlick = function(){\r\n\r\n\tvar settings;\r\n\r\n\tsettings = {\r\n\t\tdesktopInitialSlide: 1,\r\n\t\tmobileInitialSlide: 0,\r\n\t\tresponsiveBreakpoint: 768\r\n\t};\r\n\r\n\t$carousel.on('init', function(){\r\n\t\tif (window.innerWidth < settings.responsiveBreakpoint){\r\n\t\t\tstate.updateCurrentSlide(settings.mobileInitialSlide);\r\n\r\n\t\t} else {\r\n\t\t\tstate.updateCurrentSlide(settings.desktopInitialSlide);\r\n\t\t}\r\n\t});\r\n\r\n\t$carousel.slick({\r\n\t\tslidesToShow: 3,\r\n\t\tinitialSlide: settings.desktopInitialSlide,\r\n\t\tasNavFor: '.homepage-videos',\r\n\t\tcenterMode: true,\r\n\t\tfocusOnSelect: true,\r\n\t\tarrows: false,\r\n\t\tinfinite: true,\r\n\t\tresponsive: [\r\n\t\t\t{\r\n\t\t\t\tbreakpoint: settings.responsiveBreakpoint,\r\n\t\t\t\tsettings: {\r\n\t\t\t\t\tslidesToShow: 1,\r\n\t\t\t\t\tinitialSlide: settings.mobileInitialSlide,\r\n\t\t\t\t\tinfinite: true,\r\n\t\t\t\t\tarrows: true,\r\n\t\t\t\t\tprevArrow: '',\r\n\t\t\t\t\tnextArrow: ''\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t]\r\n\t});\r\n\r\n\t$carousel.on('beforeChange', function(event, slick, currentSlide, nextSlide){\r\n\t\tstate.updateCurrentSlide(nextSlide);\r\n\t});\r\n\r\n\t$videoContainer.slick({\r\n\t\tinitialSlide: settings.desktopInitialSlide,\r\n\t\tarrows: false,\r\n\t\tspeed: 0,\r\n\t\tasNavFor: '.js-carousel-videos',\r\n\t\tresponsive: [\r\n\t\t\t{\r\n\t\t\t\tbreakpoint: settings.responsiveBreakpoint,\r\n\t\t\t\tsettings: {\r\n\t\t\t\t\tinitialSlide: settings.mobileInitialSlide\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t]\r\n\t});\r\n};\r\n\r\nsetupVideosAndImages = function(){\r\n\r\n\tvar $videos;\r\n\r\n\t$backgroundContainer.empty();\r\n\t$videos = $carousel.find('.js-carousel-video');\r\n\r\n\tif ($videos.length > 0) {\r\n\t\t$body.append($videoBackgroundCover);\r\n\t}\r\n\r\n\t$videos.each(function(index, video){\r\n\t var $video,\r\n\t\t\tbackgroundUrl,\r\n\t\t\tvideoUrl,\r\n videoAnchor,\r\n videoAnchorTitle;\r\n\r\n\t\t$video = $(video);\r\n\r\n\t\tbackgroundUrl = $video.data('background-image-url');\r\n\t\tvideoUrl = $video.data('video-url');\r\n\t\tvideoAnchor = $video.data('video-anchor');\r\n\t\tvideoAnchorTitle = $video.data('anchor-title');\r\n\r\n\t\tif (backgroundUrl){\r\n\t\t\t$backgroundContainer.append('
');\r\n\t\t}\r\n\t});\r\n};\r\n\r\nfunction toggleVideoBackgroundCover() {\r\n\t$videoBackgroundCover.toggleClass('is-visible', !state.isVideoOverlayClosed);\r\n}\r\n\r\ninitialize = function(){\r\n\r\n\tvar closeVideo,\r\n\t\topenVideo;\r\n\r\n\tvar carouselItems = $('.js-carousel-videos').children().clone();\r\n\r\n\tif (carouselItems.length <= 3) {\r\n\t for (var x = 0; x < 5 - carouselItems.length; x++) {\r\n\t $('.js-carousel-videos').append(carouselItems);\r\n\t }\r\n\t}\r\n\r\n\tsetupVideosAndImages();\r\n\tinitializeSlick();\r\n\r\n\tcloseVideo = function(){\r\n\t\tstate.isVideoOverlayClosed = true;\r\n\t\t$body.removeClass('show-video-overlay');\r\n\t\ttoggleVideoBackgroundCover();\r\n\t\tcontrolVideo();\r\n\t};\r\n\r\n\topenVideo = function(){\r\n\t\tstate.isVideoOverlayClosed = false;\r\n\t\t$body.addClass('show-video-overlay');\r\n\t\ttoggleVideoBackgroundCover();\r\n\t\tcontrolVideo();\r\n\t};\r\n\r\n\t$videoPlay.click(function () {\r\n\t\tvar handleBodyClick,\r\n\t\t\tbodyClickArmedFlag,\r\n backgroundUrl,\r\n videoUrl,\r\n videoAnchor,\r\n videoAnchorTitle,\r\n\t\t $currentVideo = $('.js-carousel-video.slick-active.slick-center');\r\n\r\n\t\tif ($currentVideo !== undefined && $currentVideo !== '') {\r\n\t\t backgroundUrl = $currentVideo.data('background-image-url');\r\n\t\t videoUrl = $currentVideo.data('video-url');\r\n\t\t videoAnchor = $currentVideo.data('video-anchor');\r\n\t\t videoAnchorTitle = $currentVideo.data('anchor-title');\r\n\r\n\t\t $videoContainer.html([\r\n\t\t\t\t'
  • ',\r\n\t\t\t\t\t'
    ',\r\n\t\t\t\t\t\t'
    ',\r\n\t\t\t\t\t\t\t'',\r\n\t\t\t\t\t\t'
    ',\r\n\t\t\t\t\t\t'',\r\n (videoAnchorTitle !== undefined ? videoAnchorTitle : \"\"),\r\n '',\r\n\t\t\t\t\t\t'',\r\n\t\t\t\t\t'
    ',\r\n\t\t\t\t'
  • '].join(''));\r\n\t\r\n\t\t openVideo();\r\n\r\n\t\t bodyClickArmedFlag = false;\r\n\r\n\t\t handleBodyClick = function(event){\r\n\t\t\t if (!bodyClickArmedFlag){\r\n\t\t\t\t bodyClickArmedFlag = true;\r\n\t\t\t\t return $body.one('click', handleBodyClick);\r\n\t\t\t } else {\r\n\t\t\t\t if ($(event.target).closest('.video-container').length === 0){\r\n\t\t\t\t\t closeVideo();\r\n\t\t\t\t }\r\n\t\t\t }\r\n\t\t };\r\n\r\n\t\t $body.one('click', handleBodyClick);\r\n\t\t}\r\n\t});\r\n\r\n\t$videoOverlay.on('click', '.btn-close-video', closeVideo);\r\n};\r\n\r\ninitialize();\r\n\r\nexports.isVideoOverlayClosed = function(){\r\n\treturn state.isVideoOverlayClosed;\r\n};\n},{\"enquire.js\":5}],18:[function(require,module,exports){\nvar $module,\r\n $carousel,\r\n $carouselNav,\r\n sideCount,\r\n updateNavOffset,\r\n mediaQuery,\r\n moduleState,\r\n customTertiaryFormat;\r\n\r\n$module = $('.image-video-module');\r\n\r\nif (!$module.length ){\r\n return;\r\n}\r\n\r\n\r\nmoduleState = {\r\n isMobile: true,\r\n slideCount: $module.find('.media-item').length\r\n};\r\n\r\nmediaQuery = require('enquire.js');\r\n\r\n//assign jquery selectors\r\n$carousel = $module.find('.media-carousel');\r\n$carouselNav = $module.find('.media-details');\r\n\r\n//helper functions\r\nupdateNavOffset = function (currentSlideIndex) {\r\n var $currentSlideEl;\r\n \r\n if (moduleState.isMobile) {\r\n $carouselNav.css('margin-top', '');\r\n\r\n } else {\r\n if (moduleState.slideCount === 1) return;\r\n\r\n $currentSlideEl = $carouselNav.find('[data-slick-index=' + currentSlideIndex + ']');\r\n\r\n $carouselNav.css('margin-top', $currentSlideEl.height() + 'px');\r\n }\r\n};\r\n\r\ncustomTertiaryFormat = function (currentSlideIndex) {\r\n $carouselNav.attr('data-format-current-slide', currentSlideIndex);\r\n};\r\n\r\n//event needs to be before initialization\r\n$carouselNav.on('init', function(event, slick) {\r\n\r\n if (moduleState.slideCount < 4 && moduleState.slideCount > 1 ) {\r\n customTertiaryFormat(0);\r\n }\r\n setTimeout(function() {\r\n updateNavOffset(0); \r\n }, 800);\r\n});\r\n\r\n//Initialize carousel functionality with slick\r\n$carousel.slick({\r\n asNavFor: '.media-details',\r\n prevArrow: '',\r\n nextArrow: '',\r\n infinite: true,\r\n adaptiveHeight: true\r\n});\r\n\r\n$carouselNav.slick({\r\n asNavFor: '.media-carousel',\r\n slidesToShow: 3,\r\n slidesToScroll: 1,\r\n centerMode: true,\r\n focusOnSelect: true,\r\n arrows: false,\r\n infinite: true,\r\n responsive: [\r\n {\r\n breakpoint: 767,\r\n settings: {\r\n slidesToShow: 1,\r\n slidesToScroll: 1,\r\n centerMode: false\r\n }\r\n }\r\n ]\r\n});\r\n\r\n// Slick Helper Methods\r\n$carousel.on('beforeChange', function(event, slick, currentSlide, nextSlide){\r\n updateNavOffset(nextSlide);\r\n\r\n if (moduleState.slideCount < 4 && moduleState.slideCount > 1 ) {\r\n customTertiaryFormat(nextSlide);\r\n }\r\n\r\n});\r\n\r\n//setup media qquery\r\nmediaQuery.register('(min-width: 768px)',{\r\n match: function(){\r\n moduleState.isMobile = false;\r\n },\r\n\r\n unmatch: function(){\r\n moduleState.isMobile = true;\r\n }\r\n});\n},{\"enquire.js\":5}],19:[function(require,module,exports){\n'use strict';\r\n\r\n$('.js-jump-link').on('click', function () {\r\n var text = $('.jump-link-text').data('text');\r\n\tif (text)\r\n return confirm(text);\r\n\r\n return true;\r\n});\n},{}],20:[function(require,module,exports){\n'use strict';\r\n\r\n$(document).ready(function(){\r\n\tif($('body').hasClass('pdf')) return;\r\n\tvar $shareTools,\r\n\t\t$articleContent,\r\n\t\tcontroller,\r\n\t\tcontainerScene;\r\n\r\n\tvar pinnedClass = '.js-pin-to-scroll';\r\n\tvar triggerClass = '.js-pin-to-scroll-wrapper';\r\n\tvar contentClass = '.js-pin-to-scroll-reference';\r\n\tvar offset = -100;\r\n\r\n\t$shareTools = $(pinnedClass+'.desktop');\r\n\r\n\tif (!$shareTools.length) return;\r\n\r\n\tcontroller = new ScrollMagic.Controller();\r\n\t$articleContent = $(triggerClass+' '+ contentClass);\r\n\tif(!$(triggerClass).length) return;\r\n\tcontainerScene = new ScrollMagic.Scene({\r\n\t\ttriggerElement: triggerClass,\r\n\t\ttriggerHook: 0,\r\n\t\tduration: function(){\r\n\t\t\tvar calc = ($articleContent.height() - $shareTools.height());\r\n\t\t\treturn (isNaN(calc)) || calc < 0 ? 0 : calc;\r\n\t\t},\r\n\t\toffset: offset\r\n\t})\r\n\r\n\t.setPin(pinnedClass+'.desktop')\r\n\t.setClassToggle(pinnedClass+'.desktop', 'fixed-scroll')\r\n\t.addTo(controller);\r\n\r\n});\r\n\n},{}],21:[function(require,module,exports){\n'use strict';\r\n\r\nvar\t$header = $('.page-header-with-input');\r\nvar $currentHeight;\r\n\r\nfunction init() {\r\n\t$currentHeight = $header.find('.header-filters-list').css('height');\r\n\t$header.find('.js-filters').css('height', $currentHeight);\r\n\t$(window).resize(handleHeight);\r\n}\r\n\r\ninit();\r\n\r\nfunction handleHeight() {\r\n\tvar $elTarget = $header.find('.js-filters'); \r\n\tvar $elRef = $header.find('.header-filters-list');\r\n\tvar $height = $elRef.css('height');\r\n\r\n\tif ($currentHeight !== $height && $elTarget.hasClass('active')) {\r\n\t\t$currentHeight = $height;\r\n\t\t$elTarget.css('height', $height);\r\n\t} else {\r\n\t\treturn;\r\n\t}\r\n}\r\n\r\n$header.on('click', '.js-filters-toggle', function(e){\r\n\te.preventDefault();\r\n\tvar $this = $(this);\r\n\t$this.toggleClass('active');\r\n\tvar $height = $header.find('.header-filters-list').css('height');\r\n\tif ($header.find('.js-filters').hasClass('active')) {\r\n\t\t// immediately remove overflow class to show dropdowns\r\n\t\t$header.find('.js-filters').removeClass('overflow');\r\n\t\t$header.find('.js-filters').css('height', \"0px\");\r\n\r\n\t\t$(window).off(\"resize\", handleHeight);\r\n\t} else {\r\n\t\t$header.find('.js-filters').css('height', $height);\r\n\t\t// add overflow class to show dropdowns, with 1s delay\r\n\t\twindow.setTimeout(function() {\r\n\t\t\t$header.find('.js-filters').addClass('overflow');\r\n\t\t}, 1000);\r\n\r\n\t\t$(window).resize(handleHeight);\r\n\t}\r\n\t$header.find('.js-filters').toggleClass('active');\r\n});\r\n\r\n// if(window.location.search.indexOf('advancedSearchOpen') > -1){\r\n// \t$header.find('.js-filters-toggle').trigger('click');\r\n// }\r\n\n},{}],22:[function(require,module,exports){\nvar $body = $('body');\r\n\r\n$body.on('click', '.btn-readmore-expand', function () {\r\n var $this = $(this);\r\n var readMorePanelId = $this.attr('data-read-more');\r\n $('#' + readMorePanelId).toggle();\r\n $this.toggle();\r\n\r\n $($this.parent()).css(\"margin-top\", \"2em\");\r\n\r\n var firstItemInContent = $($this).next().children().first();\r\n if (typeof firstItemInContent != \"undefined\") {\r\n var elemName = $(firstItemInContent)[0].tagName;\r\n if (elemName == \"UL\") {\r\n $($this.parent()).css(\"margin-top\", \"0px\");\r\n }\r\n } \r\n $($this.parent().parent().children().first()).css(\"margin-bottom\", \"0px\");\r\n});\r\n\r\n$body.on('click', '.tabbed-content .btn-expand', function(){\r\n var $this = $(this);\r\n if ($this.hasClass(\"btn-ignore-default\"))\r\n return;\r\n\r\n $($this.parent()).addClass(\"tabbed-content-readmore\");\r\n\t$this.closest('.tabbed-content').find('.read-more-content').slideToggle();\r\n\t$this.toggleClass('active');\r\n});\r\n\r\n$('.show-all-authors').click(function () {\r\n var $this = $(this);\r\n $this.toggleClass('active');\r\n $('.author-card-extra').toggle();\r\n});\n},{}],23:[function(require,module,exports){\nvar $expandDiv = $('.no-child-services');\r\nif($expandDiv === undefined)\r\n return;\r\n\r\n$expandDiv.unbind();\r\n\r\n$($expandDiv).click(function (e) {\r\n\te.preventDefault();\r\n\tvar itemUrl = $(this).data(\"serviceurl\");\r\n\twindow.location = itemUrl;\r\n});\r\n\r\n\n},{}],24:[function(require,module,exports){\nvar $slideOpenBox = $('.js-slide-open');\r\nif(!$slideOpenBox.length) return;\r\n$(\".span-expand\").click(function (e) {\r\n\te.preventDefault();\r\n\t$(this).toggleClass(\"active\");\r\n\t$(this).parent().toggleClass(\"active\");\r\n\t$(this).children(\".btn-expand\").toggleClass(\"active\")\r\n\tvar serviceList = $(this).data(\"servicename\");\r\n\tvar obj = $slideOpenBox.find(\"[data-servicelist='\" + serviceList + \"']\")[0];\r\n\t$(obj).slideToggle(\"fast\");\r\n});\n},{}],25:[function(require,module,exports){\nvar $body = $('body');\r\n\r\nif ($body.hasClass('pdf')) {\r\n return;\r\n}\r\n\r\n$body.find('.btn-tab-control').on('click', function () {\r\n\tvar $this = $(this);\r\n\tvar reference = $this.data('tabsReference');\r\n\tvar tabId = $this.data('tabid');\r\n\tvar tabindex = $(this).parent().children().index(this);\r\n\tif ($this.attr('href') && $this.attr('href').length > 0) {} else {\r\n\t\t$this.siblings().removeClass('current-tab');\r\n\t\t$this.addClass('current-tab');\r\n\t}\r\n\r\n\tvar $referenceEl = $('#' + reference);\r\n\tif ($referenceEl.length) {\r\n\t\tvar tabSelector = (tabId !== undefined) ? '.tabs-item.' + tabId : '.tabs-item:nth(' + tabindex + ')';\r\n\t\tvar $selectedItem = $referenceEl.find(tabSelector);\r\n\t\tif ($selectedItem.length > 0) {\r\n\t\t\t$('.tabs-item').hide();\r\n\t\t\t$selectedItem.show();\r\n\t\t} else {\r\n\t\t\t// checking if handling general tabs\r\n\t\t\tvar generalTab = $('#' + tabId);\r\n\t\t\tif (generalTab.length > 0) {\r\n\t\t\t\tvar sectionTabs = generalTab.find('.section-tab');\r\n\t\t\t\tvar sectionNavButtons = generalTab.find('.btn-section-tab-control');\r\n\r\n\t\t\t\tif (sectionTabs.length > 0 && sectionNavButtons.length > 0) {\r\n\t\t\t\t\tsectionTabs.hide();\r\n\t\t\t\t\tsectionNavButtons.removeClass('current-section');\r\n\t\t\t\t\tsectionTabs.first().show();\r\n\t\t\t\t\tsectionNavButtons.first().addClass('current-section');\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t} else if ($this.hasClass('bio-tab-button')) {\r\n\t\tvar $content = $('.tabbed-content');\r\n\t\ttabSelector = '#tab-' + ((tabId !== undefined) ? '' + tabId : '' + tabindex);\r\n\t\t$content.html($(tabSelector).html());\t\t\r\n\t}\r\n});\r\n\r\n$('.btn-section-tab-control').on('click', function () {\r\n\tvar $this = $(this);\r\n\tvar reference = $this.attr('data-section-tabs-reference');\r\n\tvar tabId = $this.attr('data-tabid');\r\n\tvar $tabsElement = $('#' + reference);\r\n\r\n\t$this.siblings().removeClass('current-section');\r\n\t$this.addClass('current-section');\r\n\r\n\tif ($tabsElement.length) {\r\n\t\tvar selectedTab = $tabsElement.find('#' + tabId);\r\n\t\t$('.section-tab').hide();\r\n\t\tselectedTab.show();\r\n\t}\r\n});\r\n\r\nvar bindTabLinks = function () {\r\n\t$('.btn-next-tab').click(function () {\r\n\t\tvar nextButton = $(this).attr('data-next-button');\r\n\t\t$('#' + nextButton).click();\r\n\r\n\t\t$('html, body').animate({\r\n\t\t\tscrollTop: $(\"#tab-nav\").offset().top - $('.homepage-navigation').height()\r\n\t\t}, 250);\r\n\t});\r\n};\r\n\r\nconst setUrl = function ($tab) {\r\n const tabId = $tab.data('tabid');\r\n if (tabId && 'URLSearchParams' in window) {\r\n const url = new URL(window.location)\r\n url.searchParams.set(\"tab\", tabId.replace('button-', ''))\r\n history.replaceState(null, '', url);\r\n }\r\n}\r\n\r\nvar showTabForControl = function ($control) {\r\n\tif (!$control || !$control.length) {\r\n\t\treturn;\r\n\t}\r\n\tvar index = $control.index();\r\n\t$control.siblings('.current-tab').removeClass('current-tab');\r\n\t$control.addClass('current-tab');\r\n\tvar $tabbedContent = $control.closest('.tabbed-content-module, .resource-content-module');\r\n\t$tabbedContent.find('.tabs-item').hide();\r\n\t$tabbedContent.find('#tab-' + index).show();\r\n};\r\n\r\nvar getUrlParameter = function getUrlParameter(sParam) {\r\n\tvar sPageURL = window.location.search.substring(1),\r\n\t\tsURLVariables = sPageURL.split('&'),\r\n\t\tsParameterName,\r\n\t\ti;\r\n\r\n\tfor (i = 0; i < sURLVariables.length; i++) {\r\n\t\tsParameterName = sURLVariables[i].split('=');\r\n\r\n\t\tif (sParameterName[0] === sParam) {\r\n\t\t\treturn sParameterName[1] === undefined ? true : decodeURIComponent(sParameterName[1]);\r\n\t\t}\r\n\t}\r\n};\r\n\r\nvar bindHandlers = function () {\r\n\tsetTimeout(function () {\r\n\t\tif (typeof window.$ === 'function') {\r\n\t\t\t$(document).ready(function () {\r\n\r\n\t\t\t\t$('.tabbed-content-module, .resource-content-module').each(function () {\r\n\t\t\t\t\tvar $this = $(this);\r\n\t\t\t\t\tvar showTab = function (index) {\r\n\t\t\t\t\t\t$this.find('.tabs-item').hide();\r\n\t\t\t\t\t\t$this.find('#tab-' + index).show();\r\n\t\t\t\t\t};\r\n\t\t\t\t\t$this.find('.btn-tab-control').click(function () {\r\n var $this = $(this);\r\n setUrl($this);\r\n\t\t\t\t\t\tvar index = $this.parent().children().index(this);\r\n\t\t\t\t\t\tshowTab(index);\t\t\t\t\t\t\r\n\t\t\t\t\t});\r\n\r\n\t\t\t\t\t$('.profile-intro-readbio').on('click', function () {\r\n\t\t\t\t\t\t$(\".tabs-control\").find('.current-tab').removeClass('current-tab');\r\n\t\t\t\t\t\t$(\".tabs-control\").find('#button-bio').addClass('current-tab');\r\n\r\n\t\t\t\t\t\tvar index = $(\".tabs-control .slick-track\").length ? $(\".tabs-control .slick-track\").children().index($(\".tabs-control\").find('#button-bio')) : $(\".tabs-control\").children().index($(\".tabs-control\").find('#button-bio'));\r\n\r\n\t\t\t\t\t\tconsole.log(index);\r\n\r\n\t\t\t\t\t\t$('html, body').animate({\r\n\t\t\t\t\t\t\tscrollTop: $(\".profile-intro-readbio\").offset().top\r\n\t\t\t\t\t\t}, 350);\r\n\t\t\t\t\t\tshowTab(index);\r\n\t\t\t\t\t});\r\n\r\n\t\t\t\t\tvar firstActive = $this.find('.btn-tab-control.current-tab').get(0);\r\n\r\n\t\t\t\t\tif (firstActive) {\r\n\t\t\t\t\t\tvar firstactiveindex = $(firstActive).parent().children().index(firstActive);\r\n\t\t\t\t\t\tshowTab(firstactiveindex);\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\t// Some tabs have a carousel. Since tabs are display none by default\r\n\t\t\t\t\t// the carousel is unable to calculate the correct width for the carousel track,\r\n\t\t\t\t\t// Therefore we should trigger a 'resize' event to allow the carousel to\r\n\t\t\t\t\t// calculate the correct width after it's no longer display none\r\n\t\t\t\t\t$(window).trigger('resize');\r\n\t\t\t\t});\r\n\t\t\t});\r\n\t\t} else {\r\n\t\t\tbindHandlers();\r\n\t\t}\r\n\t}, 50);\r\n};\r\n\r\nconst tabParam = getUrlParameter('tab')\r\nconsole.log(tabParam)\r\nif (tabParam) {\r\n let currentTab = $(`.btn-tab-control[data-tabid='button-${tabParam}']`)\r\n if (currentTab && currentTab.length > 0) {\r\n showTabForControl($(currentTab[0]))\r\n }\r\n}\r\n\r\nvar $slickNav = $('.slick-tabs-control');\r\n\r\nfunction initSlickNav() {\r\n\t// hide prev button when on first item\r\n\tvar $initialIndex; \r\n\r\n\tfunction init() {\r\n\t\t// after slide change\r\n\r\n\t\tfunction checkNext() {\r\n\t\t\tvar $nextBtn = $('.slick-tabs-control--next');\r\n\t\t\tvar trackPos = $(window).width() - ($slickNav.offset().left + $slickNav.outerWidth()); //distance from right edge of track to right edge of browser\r\n\t\t\tvar lastItem = $slickNav.find('.slick-track .btn-tab-control:last-child').length ? $(window).width() - ($slickNav.find('.slick-track .btn-tab-control:last-child').offset().left + $slickNav.find('.slick-track .btn-tab-control:last-child').outerWidth()) : 0;\r\n\t\t\tif (lastItem > trackPos) {\r\n\t\t\t\t$nextBtn.addClass('slick-disabled');\r\n\t\t\t\t$nextBtn.attr('aria-disabled', true);\r\n\t\t\t} else {\r\n\t\t\t\t$nextBtn.removeClass('slick-disabled');\r\n\t\t\t\t$nextBtn.attr('aria-disabled', true);\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tfunction slideTo(i) {\r\n\t\t\t$slickNav.slick('slickGoTo', i);\r\n\t\t}\r\n\r\n\t\t$slickNav.on('afterChange', function(event, slick, currentSlide, nextSlide){\r\n\t\t\tcheckNext();\r\n\t\t});\r\n\r\n\t\t$slickNav.slick({\r\n\t\t\tdots: false,\r\n\t\t\tinfinite: false,\r\n\t\t\tarrows: true,\r\n\t\t\tspeed: 300,\r\n\t\t\tslidesToShow: 1,\r\n\t\t\tvariableWidth: true,\r\n\t\t\tprevArrow: '',\r\n\t\t\tnextArrow: '',\t\t\t\r\n\t\t\tinitialSlide: 0\r\n\t\t});\r\n\r\n\t\tcheckNext();\r\n\r\n\t\t// set initial nav item\r\n\t\tif ($initialIndex > 0 ) {\r\n\t\t\tslideTo($initialIndex);\r\n\t\t}\r\n\t}\r\n\r\n\tsetTimeout(function() {\r\n\t\tvar $initialItem = $slickNav.find('.current-tab');\r\n\t\t$initialIndex = $initialItem.index() > -1 ? $initialItem.index() : 0; //get index of current page item\t\t\r\n\t\tinit(); //init carousel\r\n\t}, 50);\r\n}\r\n\r\nfunction checkSlickNav() {\t\r\n\t// init/destroy slick carousel nav as needed\r\n\tvar trackLength;\r\n\tvar slickInit = false; //is slick initialized? init to false\r\n\t\r\n\tfunction resizeHandler() {\r\n\t\tvar itemLength = 0;\r\n\t\t\r\n\t\ttrackLength = $slickNav.outerWidth();\r\n\r\n\t\t$('.slick-tabs-control .btn-tab-control').each(function() {\r\n\t\t\titemLength = itemLength + $(this).outerWidth();\r\n\t\t})\r\n\r\n\t\tif (itemLength > trackLength) {\r\n\t\t\tif (!$slickNav.hasClass('slick-initialized') && !slickInit) {\t\t\t\r\n\t\t\t\tinitSlickNav();\r\n\t\t\t\tslickInit = true;\r\n\t\t\t}\r\n\t\t} else {\r\n\t\t\tif ($slickNav.hasClass('slick-initialized')) {\r\n\t\t\t\t$slickNav.slick('unslick'); //destroy slick\r\n\t\t\t\tslickInit = false;\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\tresizeHandler(); //init carousel nav\r\n\twindow.addEventListener('resize', resizeHandler);\r\n}\r\n\r\nbindHandlers();\r\n\r\nbindTabLinks();\r\n\r\nif ($slickNav.length) {\r\n\tcheckSlickNav();\t\r\n}\n},{}],26:[function(require,module,exports){\n'use strict';\r\n\r\nvar $component,\r\n\t$input;\r\n\r\n$component = $('.js-typeahead-search, .js-typeahead-search-container');\r\n\r\nif (!$component.length){\r\n\treturn;\r\n}\r\n\r\n$input = $component.find('.text-input');\r\n\r\n$input.keyup(function(){\r\n\tvar $this,\r\n\t\t$typeaheadResults,\r\n\t\t$parent,\r\n\t\t$thisComponent,\r\n\t\tvalue,\r\n\t\tupdateTypeaheadResults,\r\n\t\tshowTypeaheadClass;\r\n\r\n\t$this = $(this);\r\n\t$thisComponent = $this.closest('.js-typeahead-search, .js-typeahead-search-container');\r\n\tvalue = $this.val();\r\n\tshowTypeaheadClass = 'show-typeahead';\r\n\r\n\tif ($thisComponent.hasClass('js-typeahead-search')){\r\n\t\t$parent = $this.parent();\r\n\t} else if ($thisComponent.hasClass('js-typeahead-search-container')){\r\n\t\t$parent = $this.closest('.search-input-typeahead-container');\r\n\t}\r\n\r\n\tif (value.length < 3){\r\n\t\t$parent.removeClass(showTypeaheadClass);\r\n\t\treturn;\r\n\t}\r\n\r\n\t$typeaheadResults = $parent.find('.typeahead-results');\r\n\r\n\tupdateTypeaheadResults = function(results){\r\n\t\t$typeaheadResults.empty();\r\n\r\n\t\tif (results && results.length){\r\n\t\t\tresults.forEach(function(item){\r\n\t\t\t\tvar element,\r\n\t\t\t\t\t$item;\r\n\r\n\t\t\t\telement = ['
  • ',\r\n\t\t\t\t\t'', item.Label, '',\r\n\t\t\t\t\t'
  • '].join('');\r\n\r\n\t\t\t\t$item = $(element);\r\n\t\t\t\t$item.appendTo($typeaheadResults);\r\n\t\t\t});\r\n\t\t} else {\r\n\t\t\t$typeaheadResults.append($('
  • No Results Found
  • '));\r\n\t\t}\r\n\r\n\t\t$parent.addClass(showTypeaheadClass);\r\n\t};\r\n\r\n\t//TODO - replace the mockdata below and replace with AJAX request\r\n\tvar mockData =[];\r\n\tsetTimeout(updateTypeaheadResults.bind(null, mockData), 100);\r\n});\r\n\n},{}],27:[function(require,module,exports){\n'use strict';\r\n\r\n// http://paulirish.com/2011/requestanimationframe-for-smart-animating/\r\n// http://my.opera.com/emoller/blog/2011/12/20/requestanimationframe-for-smart-er-animating\r\n\r\n// requestAnimationFrame polyfill by Erik Möller\r\n// fixes from Paul Irish and Tino Zijdel\r\n\r\n(function () {\r\n var lastTime = 0,\r\n globalVars;\r\n\r\n var vendors = ['ms', 'moz', 'webkit', 'o'];\r\n for (var x = 0; x < vendors.length && !window.requestAnimationFrame; ++x) {\r\n window.requestAnimationFrame = window[vendors[x] + 'RequestAnimationFrame'];\r\n window.cancelAnimationFrame = window[vendors[x] + 'CancelAnimationFrame'] || window[vendors[x] + 'CancelRequestAnimationFrame'];\r\n }\r\n\r\n if (!window.requestAnimationFrame)\r\n window.requestAnimationFrame = function (callback, element) {\r\n var currTime = new Date().getTime();\r\n var timeToCall = Math.max(0, 16 - (currTime - lastTime));\r\n var id = window.setTimeout(function () { callback(currTime + timeToCall); },\r\n\t timeToCall);\r\n lastTime = currTime + timeToCall;\r\n return id;\r\n };\r\n\r\n if (!window.cancelAnimationFrame)\r\n window.cancelAnimationFrame = function (id) {\r\n clearTimeout(id);\r\n };\r\n //helper functions\r\n if (!window.helperUtils)\r\n window.helperUtils = {\r\n getDocDimen: function () {\r\n var winDimen = {\r\n height: window.innerHeight,\r\n width: window.innerWidth\r\n };\r\n\r\n return winDimen;\r\n },\r\n mobileCheck: function () {\r\n return (window.innerWidth < 768) ? true : false;\r\n },\r\n isMobile: false\r\n };\r\n\r\n if (!window.parseQueryString)\r\n window.parseQueryString = function (str) {\r\n if (typeof str !== 'string') {\r\n return {};\r\n }\r\n if (!str) {\r\n return {};\r\n }\r\n return str.substring(str.indexOf('?')+1).split('&').reduce(function (ret, param) {\r\n var parts = param.replace(/\\+/g, ' ').split('=');\r\n ret[parts[0]] = parts[1] === undefined ? null : decodeURIComponent(parts[1]);\r\n return ret;\r\n }, {});\r\n };\r\n\r\n if (!window.getDocHeight)\r\n window.getDocHeight = function () {\r\n var D = document;\r\n return Math.max(\r\n D.body.scrollHeight, D.documentElement.scrollHeight,\r\n D.body.offsetHeight, D.documentElement.offsetHeight,\r\n D.body.clientHeight, D.documentElement.clientHeight\r\n );\r\n };\r\n\r\n if (!window.doubleTabZoomPrevent) //Adding this as per client request to disable double tap zoom.\r\n window.doubleTabZoomPrevent = (function () {\r\n var lastTouchEnd = 0;\r\n document.documentElement.addEventListener('touchend', function (event) {\r\n var now = (new Date()).getTime();\r\n if (now - lastTouchEnd <= 300) {\r\n event.preventDefault();\r\n }\r\n lastTouchEnd = now;\r\n }, false);\r\n })();\r\n\r\n if (!window.windowResize)\r\n window.windowResize = (function () {\r\n var callbacks = [],\r\n running = false;\r\n\r\n // fired on resize event\r\n function resize() {\r\n\r\n if (!running) {\r\n running = true;\r\n\r\n if (window.requestAnimationFrame) {\r\n window.requestAnimationFrame(runCallbacks);\r\n } else {\r\n setTimeout(runCallbacks, 66);\r\n }\r\n }\r\n\r\n }\r\n\r\n // run the actual callbacks\r\n function runCallbacks() {\r\n\r\n callbacks.forEach(function (callback) {\r\n callback();\r\n });\r\n\r\n running = false;\r\n }\r\n\r\n // adds callback to loop\r\n function addCallback(callback) {\r\n\r\n if (callback) {\r\n callbacks.push(callback);\r\n }\r\n\r\n }\r\n\r\n return {\r\n // public method to add additional callback\r\n add: function (callback) {\r\n if (!callbacks.length) {\r\n window.addEventListener('resize', resize);\r\n }\r\n addCallback(callback);\r\n }\r\n };\r\n })();\r\n}());\r\n\n},{}],28:[function(require,module,exports){\n'use strict';\r\nrequire('./features/utils');\r\n$(document).ready(function () {\r\n\trequire('./features/global-menu-bar');\r\n\trequire('./features/homepage-panels');\r\n\trequire('./features/text-input-component');\r\n\trequire('./features/homepage-content');\r\n\t// require('./features/homepage-panel-content');\r\n\trequire('./features/homepage-video-carousel');\r\n\trequire('./features/drop-down');\r\n\trequire('./features/tab-controls');\r\n\trequire('./features/image-video-module');\r\n\trequire('./features/professionals-advanced-search.js');\r\n\trequire('./features/pinToScroll.js');\r\n\trequire('./features/slideopen-box.js');\r\n\trequire('./features/readMore.js');\r\n\trequire('./features/highlight-helper.js');\r\n\trequire('./features/disclaimer.js');\r\n require('./features/slideopen-box-override');\r\n require('./features/jump-link.js');\r\n});\r\n\n},{\"./features/disclaimer.js\":6,\"./features/drop-down\":7,\"./features/global-menu-bar\":8,\"./features/highlight-helper.js\":9,\"./features/homepage-content\":10,\"./features/homepage-panels\":12,\"./features/homepage-video-carousel\":17,\"./features/image-video-module\":18,\"./features/jump-link.js\":19,\"./features/pinToScroll.js\":20,\"./features/professionals-advanced-search.js\":21,\"./features/readMore.js\":22,\"./features/slideopen-box-override\":23,\"./features/slideopen-box.js\":24,\"./features/tab-controls\":25,\"./features/text-input-component\":26,\"./features/utils\":27}]},{},[28]);\n"]}