{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./assets/scripts/app.js","webpack:///./assets/scripts/components/ActionBarLink.js","webpack:///./assets/scripts/components/AdvancedFilter.js","webpack:///./assets/scripts/components/AdvancedFilters.js","webpack:///./assets/scripts/components/CheckboxInput.js","webpack:///./assets/scripts/components/Cta.js","webpack:///./assets/scripts/components/DualSelector.js","webpack:///./assets/scripts/components/FeatureCard.js","webpack:///./assets/scripts/components/FeaturedInsightCard.js","webpack:///./assets/scripts/components/FileInput.js","webpack:///./assets/scripts/components/FiltersPanel.js","webpack:///./assets/scripts/components/FlexHeader.js","webpack:///./assets/scripts/components/FocusPanels.js","webpack:///./assets/scripts/components/Footer.js","webpack:///./assets/scripts/components/HomepageIntro.js","webpack:///./assets/scripts/components/Insight.js","webpack:///./assets/scripts/components/InsightDetail.js","webpack:///./assets/scripts/components/LanguageChangedAlert.js","webpack:///./assets/scripts/components/LanguageMenu.js","webpack:///./assets/scripts/components/LanguageModal.js","webpack:///./assets/scripts/components/LanguageRedirectModal.js","webpack:///./assets/scripts/components/LeadershipCard.js","webpack:///./assets/scripts/components/Lottie.js","webpack:///./assets/scripts/components/MegaMenu.js","webpack:///./assets/scripts/components/NarrativeAnimationBottom.js","webpack:///./assets/scripts/components/NarrativeAnimationTop.js","webpack:///./assets/scripts/components/Navigation.js","webpack:///./assets/scripts/components/People.js","webpack:///./assets/scripts/components/Person.js","webpack:///./assets/scripts/components/Podcast.js","webpack:///./assets/scripts/components/ProgressBar.js","webpack:///./assets/scripts/components/ReferralUrl.js","webpack:///./assets/scripts/components/Res.js","webpack:///./assets/scripts/components/SearchBar.js","webpack:///./assets/scripts/components/SearchLanding.js","webpack:///./assets/scripts/components/SelectGroup.js","webpack:///./assets/scripts/components/SelectedFilter.js","webpack:///./assets/scripts/components/ServiceDetail.js","webpack:///./assets/scripts/components/SidebarLanguageMenu.js","webpack:///./assets/scripts/components/Stats.js","webpack:///./assets/scripts/components/TableOfContents.js","webpack:///./assets/scripts/components/TextInput.js","webpack:///./assets/scripts/components/VueSelect.js","webpack:///./assets/scripts/components/index.js","webpack:///./assets/scripts/directives/Expand.js","webpack:///./assets/scripts/directives/index.js","webpack:///./assets/scripts/main.js","webpack:///./assets/scripts/mixins/breakpoints.js","webpack:///./assets/scripts/mixins/errorCheck.js","webpack:///./assets/scripts/mixins/modal.js","webpack:///./assets/scripts/mixins/scrollTo.js","webpack:///./assets/scripts/mixins/search.js","webpack:///./assets/scripts/mixins/typeahead.js","webpack:///./assets/scripts/plugins/MorphSVGPlugin.min.js","webpack:///./assets/scripts/shared/timelineConstants.js","webpack:///./assets/scripts/store/vuex-store.js","webpack:///./assets/styles/main.scss?3502","webpack:///./assets/svg sync \\.svg$","webpack:///./assets/svg/Check.svg","webpack:///./assets/svg/arrow-down.svg","webpack:///./assets/svg/arrow-left.svg","webpack:///./assets/svg/arrow-right.svg","webpack:///./assets/svg/arrow-up-right.svg","webpack:///./assets/svg/arrow-up.svg","webpack:///./assets/svg/button-arrow-fill.svg","webpack:///./assets/svg/button-arrow.svg","webpack:///./assets/svg/calendar.svg","webpack:///./assets/svg/chart-bar.svg","webpack:///./assets/svg/chart-pie.svg","webpack:///./assets/svg/chevron-down.svg","webpack:///./assets/svg/chevron-left.svg","webpack:///./assets/svg/chevron-right.svg","webpack:///./assets/svg/chevron-up-down.svg","webpack:///./assets/svg/chevron-up.svg","webpack:///./assets/svg/circle-accent.svg","webpack:///./assets/svg/cross.svg","webpack:///./assets/svg/download.svg","webpack:///./assets/svg/email.svg","webpack:///./assets/svg/error.svg","webpack:///./assets/svg/filters.svg","webpack:///./assets/svg/globe.svg","webpack:///./assets/svg/info.svg","webpack:///./assets/svg/linkedin.svg","webpack:///./assets/svg/location.svg","webpack:///./assets/svg/map-marker.svg","webpack:///./assets/svg/menu.svg","webpack:///./assets/svg/minus.svg","webpack:///./assets/svg/pdf.svg","webpack:///./assets/svg/person.svg","webpack:///./assets/svg/phone.svg","webpack:///./assets/svg/play.svg","webpack:///./assets/svg/plus.svg","webpack:///./assets/svg/quote.svg","webpack:///./assets/svg/search.svg","webpack:///./assets/svg/share.svg","webpack:///./assets/svg/team.svg","webpack:///./assets/svg/triangle-right.svg","webpack:///./assets/svg/upload.svg","webpack:///./node_modules/element-closest/index.mjs"],"names":["Vue","use","Vuelidate","prototype","$_get","get","$_debounce","debounce","gsap","registerPlugin","ScrollToPlugin","defaults","ease","Vue2TouchEvents","requireAll","r","keys","forEach","require","el","store","data","lastScrollTop","navHeight","isPreview","prefersReducedMotion","computed","mapGetters","watch","searchStarted","calcNavHeight","panelOpen","prev","curr","document","querySelector","style","overflow","shouldReduceMotion","setAnimationsPaused","pauseAnimations","resumeAnimations","mounted","classList","contains","window","addEventListener","resize","scroll","setupPrefersReducedMotionMediaQuery","adjustRequiredFields","beforeDestroy","removeEventListener","methods","mapMutations","mapActions","_","offsetHeight","setSpacerHeight","spacerHeight","transform","className","height","top","maxHeight","querySelectorAll","mm","paddingTop","closePanels","e","st","pageYOffset","documentElement","scrollTop","actionBar","navBar","spacer","megaMenu","animationsPaused","mediaQuery","matchMedia","matches","pause","play","toggleAnimations","length","required","form","requiredElements","requiredElement","label","id","innerHTML","includes","replace","component","mixins","modal","props","type","String","title","copySuccess","modalElement","stringifiedTitle","split","join","linkedinLink","location","href","protocol","host","facebookLink","twitterLink","copyText","shareMenuOpen","setTimeout","openModal","closeModal","created","closeMenu","linkAction","setShareMenuOpen","key","copy","clipboard","then","console","log","filterName","isExpanded","picked","$store","getters","filters","set","value","newFilters","setFilterState","selectedCount","filtersByName","expand","event","parent","target","parentElement","firstInputEl","panel","container","closest","containerPadPx","getComputedStyle","getPropertyValue","containerPadRaw","parseInt","panelHeight","clientHeight","adjustedPad","paddingBottom","localStorage","setItem","focus","panelHeightRaw","getItem","computedPad","computedPadPx","removeItem","clearAll","filterOptions","Array","filterOptionsList","activeFilterList","selectedFilters","Object","entries","flatMap","f","filter","fo","Value","showFilters","Options","map","o","Key","errorCheck","Boolean","name","requiredErrorMessage","error","resumeFormValues","createInput","formValue","setResumeFormValues","setValue","checkCheckbox","MorphSVGPlugin","clickHandler","Function","undefined","parentHovered","icon","timeline","hovered","isHovered","reverse","paused","to","$refs","arrow","morphSVG","shape","circle","shapeIndex","duration","click","changeIcon","resetIcon","industries","index","Number","selectedIndustry","selectedSpecialization","options","specializations","specs","find","industry","SubIndustries","changeValue","resumeFormValue","checkInput","template","ScrollTrigger","breakpoints","overlay","scrollTrigger","disable","img","startScrollTrigger","closeOverlay","breakpoint","y","trigger","start","end","scrub","toggleHover","fileName","checkFileError","checkFile","focusableEls","filterPanelOpen","getElementById","ariaHidden","slice","call","setFilterPanelOpen","handleFocusIn","closeFilters","isFocusedInPanel","$el","activeElement","self","onload","requestAnimationFrame","NONE","scrollTo","sections","scrollHandler","activeIndex","setupRefs","setupScrollEvents","removeScrollEvents","els","dataset","update","section","buffer","sectionTop","getBoundingClientRect","topWithBuffer","isSectionInView","header","scrollLeft","offsetLeft","handleClick","$_scrollTo","offset","mapState","isPaused","enable","bg","fromTo","opacity","scale","onLoadTimeline","onComplete","isOnLoadComplete","onScrollTimeline","onLoadDurations","onScrollDurations","resizeHandler","targetOffset","progress","yOffset","setupHeaderOnScrollTimeline","calculateTargetOffset","setupScrollResizeHandlers","removeScrollResizeHandlers","backgroundEl","backgroundTimeline","navigationColorChange","add","BEGINNING_OF_TIMELINE","panels","bottomAnimationContainer","containerRect","distanceToContainerCenter","navigationHeight","innerHeight","updateProgress","yOffsetPanels","timeScale","insight","lineArt","randomLineArt","Math","floor","random","setBreakpoint","padding","x","autoAlpha","alertOpen","showAlert","closeAlert","clickaway","languageMenuOpen","setLanguageMenuOpen","toggleLanguageMenu","clickawayLanguageMenu","selectLanguage","langUrl","langCode","langlabel","assign","setLanguageModal","langLabel","modalTitle","modalBody","modalCancelLabel","modalHomeLabel","modalOpen","languageModal","translatedHomeUrl","modalDisplayTitle","replaceStrLanguageName","modalDisplayBody","modalDisplayCancelLabel","modalDisplayHomeLabel","closeModalKeyPress","str","RegExp","isLanguageRedirectModalOpen","showRedirectModal","hideLanguageRedirectModal","showLanguageRedirectModal","imageHovered","toggleImageHover","json","art","MultiCircles","DiagonalLeftRight","ZigZag","QuadrupleSquares","TrioStack","TrioLink","TrioLines","lottie","loadAnimation","renderer","loop","autoplay","animationData","typeahead","endpoint","panelRef","beforePanelRef","keywordFilter","megaMenuOpen","setPanel","newPanel","panelId","focusIntoPanel","setMegaMenu","clickawayMegaMenu","submitSiteSearch","preventDefault","isOutsideFocus","mobileMenu","languagePanel","xInterpolate","yInterpolates","setupResizeHandler","otherCircleTimeline","circleTopLeft","circleTopRight","circleBottomLeft","tealCircleTimeline","removeResizeHandler","setupInterpolates","triangleEl","tealOuterContainer","triangleRect","triangleMiddleX","width","triangleMiddleY","panelEl","parseFloat","startingX","startingY","utils","interpolate","yInterpolate","ref","otherCirclesMove","tealCircleMove","delay","toProperties","vm","onUpdate","tealCircleContainer","ratio","tealCircle","xPercent","yPercent","rotateDegrees","calculateLowerLineRotateDegrees","upperLineOnLoad","smallCircleOnLoad","largeCircleOnLoad","circlesOnLoad","triangleOnLoad","lowerLineOnLoad","upperLineOnScroll","smallCircleOnScroll","largeCircleOnScroll","triangleOnScroll","lowerLineOnScroll","values","reduce","accum","val","upperLine","rotateAndFade","ROTATE_EL","smallCircle","POSITION_EL","smallCircleContainer","initialRotate","rotateAndCenter","counterClockRotate","rotateAndDown","rotation","addLabel","largeCircle","largeCircleContainer","bothCircles","triangle","triangleFade","lineEl","lowerLine","circlesEl","lineRect","circlesRect","circleOffset","circlesMiddleX","circlesMiddleY","xDiff","yDiff","radiansToDegrees","PI","angle","atan","directives","onClickaway","shouldManagePageUrl","siteSearchOpen","setupLogoTimeline","setupScrollHandlers","keydown","removeScrollHandlers","svg","firstWordOtherLetters","ampersand","secondWordFirstLetter","secondWordOtherLetters","verticalSpacer","marginSpacer","smallLogo","homepageLogo","mainDuration","logoTransition","circleDuration","letterFadeTranslateLeftTimeline","originalViewBoxWidth","newViewBoxWidth","newSvgWidth","viewBoxInterpolate","widthInterpolate","setAttribute","shiftContentTimeline","startingYOffset","marginSpacerInitialMargin","margin","swapLogos","display","masterTimeline","isTriggered","wrapperTimeline","threshold","linkSelected","urlStartsWith","match","pathname","toggleSearch","toggle","setSiteSearchOpen","updateInput","progreess","keyword","page","onKeywordSubmit","search","person","initials","Name","n","officeText","office","offices","playing","togglePlay","onScroll","h","b","body","sh","round","postUrl","iframes","iframe","contentWindow","referrer","postMessage","sectionId","requiredErrorText","invalidErrorText","recaptchaToken","formValid","valueName","checkForm","recaptchaPublicKey","getAttribute","load","recaptcha","execute","token","resumeForm","$nextTick","submit","sectionSelected","nextSection","prevSection","resultsToDisplay","searchBarOpen","keyDown","toggleFilters","toggleSearchBar","startSearch","setSearchStarted","clearTypeahead","searchResultsCountLabel","showLoadMore","results","total","showNoResults","showDefaultHeader","resultsCountLabel","resultsLabels","updated","dynamicCalloutMargin","landingGrid","cards","childNodes","callout","loadMore","marginTop","numberOfSelects","selectsShowing","createValue","addDropdown","isShowing","selectNumber","groupKey","filterLabel","ariaLabel","clear","pick","headline","serviceComponents","hasScrollCta","isScrollCtaVisible","formEl","styleElement","createElement","head","appendChild","playAnimation","setupScrollCtaVisibility","removeScrollCtaVisiblity","details","components","children","backgroundPosition","css","scrollCta","checkScrollCtaVisibility","isVisible","setBadgeState","scrollToForm","isBadgeVisible","badge","visibility","langListClass","menuOpen","langMenuOpen","windowWidth","innerWidth","dropdown","langMenu","langMenuHeight","initialPad","dropdownHeight","paddingOffset","initialPadTemp","axios","post","res","statsCount","statsLabel","landmarks","isOpen","selectors","nextTick","selectLandmark","selectedIndex","setLandmarks","blur","setValues","VueSelect","module","exports","Cta","ProgressBar","Podcast","AdvancedFilter","FiltersPanel","Navigation","SearchBar","TableOfContents","AdvancedFilters","SelectedFilter","SearchLanding","InsightDetail","ActionBarLink","People","Person","HomepageIntro","NarrativeAnimationTop","NarrativeAnimationBottom","Lottie","Footer","Insight","FocusPanels","FeaturedInsightCard","MegaMenu","FeatureCard","ServiceDetail","Stats","FlexHeader","LanguageMenu","LanguageModal","LanguageRedirectModal","LanguageChangedAlert","SidebarLanguageMenu","LeadershipCard","Res","SelectGroup","TextInput","FileInput","CheckboxInput","DualSelector","ReferralUrl","newAnimation","TimelineLite","eventCallback","TweenLite","directive","bind","animation","invalidate","Expand","elementClosest","errors","invalid","atLeastOne","group","extension","specialChars","input","test","JSON","stringify","parts","ext","filename","pop","lastFocusedEl","tabIndex","firstFocusableEl","lastFocusableEl","targetElement","clickedEl","shiftKey","keyCode","SmoothScroll","speed","animateScroll","speedAsDuration","updateURL","responses","ready","status","Results","loading","response","success","TotalFound","reason","toList","obj","isArray","getApiEndpoint","queryParameters","replaceResults","appendResults","currentResults","concat","handleError","_reason","performSearchAndThen","fn","replaceUrl","valueOrThing","thing","onBackButton","state","url","history","replaceState","isMultiValueUrlParamKey","keysToValueSplit","getQueryParams","urlParams","URLSearchParams","ignoredActiveFilters","inBrowser","qp","keysToIgnore","indexOf","filtersAsList","encodeURIComponent","currentResultsCount","elOfFirstLoadedItem","tab","enter","esc","space","pageup","pagedown","home","left","up","right","down","isLoading","arrowCounter","activedescendant","trayOpen","onMenuKeyDown","trimmedResults","trayOpenHasResults","blurInput","focusInput","reset","onArrowUp","onArrowDown","onEnter","onSpace","Url","setActiveDescendant","handleClickOutside","evt","getId","isSelected","i","t","define","m","M","A","D","E","sin","k","cos","Z","abs","$","sqrt","_isNumber","s","_round","reverseSegment","reversed","z","rect","ellipse","line","convertToPath","a","l","g","c","p","u","d","P","v","w","T","tagName","toLowerCase","getBBox","_createPath","createElementNS","attributes","nodeName","setAttributeNS","nodeValue","_attrToObj","rx","ry","cx","cy","x1","y1","x2","y2","shift","rawPathToString","_gsRawPath","stringToRawPath","parentNode","insertBefore","removeChild","arcToSegment","S","N","R","O","L","Y","C","acos","F","isNaN","X","I","ceil","V","j","G","U","q","H","B","push","tc","toUpperCase","closed","substr","charAt","totalPoints","warn","centerX","centerY","size","Q","W","min","splice","sort","toFixed","aa","ba","_offsetPoints","da","isSmooth","smoothData","ea","trim","ha","_origin","_eOrigin","_shortAngle","ca","_anchorPT","_next","sa","sl","cl","ia","plugins","toArray","_tweenRotation","atan2","J","version","register","init","nodeType","fill","fillRule","origin","prop","_parseShape","getAttributeNS","points","defaultMap","_prop","_render","render","defaultRender","_apply","updateTarget","defaultUpdateTarget","_rnd","pow","precision","_tween","_target","precompile","defaultType","smoothTolerance","_rawPath","_controlPT","l1s","l1c","l2s","l2c","_props","endProp","_pt","kill","getRawPath","_gsPath","_dirty","pathFilter","_pathFilter","pointsFilter","getTotalSize","equalizeSegmentQuantity","convertToPath$1","defineProperty","Vuex","Store","secondaryLinksOpen","mutations","setKeywordFilter","payload","setSecondaryLinksOpen","actions","commit"],"mappings":";QAAA;QACA;QACA;QACA;QACA;;QAEA;QACA;QACA;QACA,QAAQ,oBAAoB;QAC5B;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;;QAEA;QACA;QACA;;QAEA;QACA;;QAEA;QACA;QACA;QACA;QACA;QACA,iBAAiB,4BAA4B;QAC7C;QACA;QACA,kBAAkB,2BAA2B;QAC7C;QACA;QACA;QACA;QACA;QACA;QACA;QACA;;QAEA;QACA;;QAEA;QACA;;QAEA;QACA;QACA;QACA;QACA;QACA;;QAEA;;QAEA;QACA;;QAEA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;;QAEA;QACA;;QAEA;QACA;;QAEA;QACA;QACA;;;QAGA;QACA;;QAEA;QACA;;QAEA;QACA;QACA;QACA,0CAA0C,gCAAgC;QAC1E;QACA;;QAEA;QACA;QACA;QACA,wDAAwD,kBAAkB;QAC1E;QACA,iDAAiD,cAAc;QAC/D;;QAEA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA,yCAAyC,iCAAiC;QAC1E,gHAAgH,mBAAmB,EAAE;QACrI;QACA;;QAEA;QACA;QACA;QACA,2BAA2B,0BAA0B,EAAE;QACvD,iCAAiC,eAAe;QAChD;QACA;QACA;;QAEA;QACA,sDAAsD,+DAA+D;;QAErH;QACA;;QAEA;QACA;QACA;QACA;QACA,gBAAgB,uBAAuB;QACvC;;;QAGA;QACA;QACA;QACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACvJA;AACA;AACA;CAEA;AACA;;AACA;AACA;AAEA;AACA;AACAA,2CAAG,CAACC,GAAJ,CAAQC,gDAAR;AAEAF,2CAAG,CAACG,SAAJ,CAAcC,KAAd,GAAsBC,0CAAtB;AACAL,2CAAG,CAACG,SAAJ,CAAcG,UAAd,GAA2BC,+CAA3B;AAEAC,yCAAI,CAACC,cAAL,CAAoBC,kEAApB;AACAF,yCAAI,CAACG,QAAL,CAAc;AACZC,MAAI,EAAE;AADM,CAAd,E,CAIA;AACA;;AACAZ,2CAAG,CAACC,GAAJ,CAAQY,wDAAR;;AAEA,SA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B,uBA/CS,+BA+CY+jB,KA/CZ,EA+CmBgO,OA/CnB,EA+C4B;AACnChO,WAAK,CAAClkB,gBAAN,GAAyBkyB,OAAzB;AACD;AAjDQ,GAnCgB;AAsF3BE,SAAO,EAAE;AACP95B,eADO,6BACkB;AAAA,UAAV+5B,MAAU,QAAVA,MAAU;AACvBA,YAAM,CAAC,mBAAD,EAAsB,KAAtB,CAAN;AACAA,YAAM,CAAC,uBAAD,EAA0B,KAA1B,CAAN;AACAA,YAAM,CAAC,kBAAD,EAAqB,KAArB,CAAN;AACD;AALM;AAtFkB,CAAf,CAAd;AA+Fe/8B,oEAAf,E;;;;;;;;;;;;ACxGA;AAAA;;;;;;;;;;;;ACAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0D;;;;;;;;;;;;AC7DA;AAAe;AACf;AACA;AACA,WAAW,qBAAuB;AAClC;AACA;AACA;AACA,K;;;;;;;;;;;;ACPA;AAAe;AACf;AACA;AACA,WAAW,qBAAuB;AAClC;AACA;AACA;AACA,K;;;;;;;;;;;;ACPA;AAAe;AACf;AACA;AACA,WAAW,qBAAuB;AAClC;AACA;AACA;AACA,K;;;;;;;;;;;;ACPA;AAAe;AACf;AACA;AACA,WAAW,qBAAuB;AAClC;AACA;AACA;AACA,K;;;;;;;;;;;;ACPA;AAAe;AACf;AACA;AACA,WAAW,qBAAuB;AAClC;AACA;AACA;AACA,K;;;;;;;;;;;;ACPA;AAAe;AACf;AACA;AACA,WAAW,qBAAuB;AAClC;AACA;AACA;AACA,K;;;;;;;;;;;;ACPA;AAAe;AACf;AACA;AACA,WAAW,qBAAuB;AAClC;AACA;AACA;AACA,K;;;;;;;;;;;;ACPA;AAAe;AACf;AACA;AACA,WAAW,qBAAuB;AAClC;AACA;AACA;AACA,K;;;;;;;;;;;;ACPA;AAAe;AACf;AACA;AACA,WAAW,qBAAuB;AAClC;AACA;AACA;AACA,K;;;;;;;;;;;;ACPA;AAAe;AACf;AACA;AACA,WAAW,qBAAuB;AAClC;AACA;AACA;AACA,K;;;;;;;;;;;;ACPA;AAAe;AACf;AACA;AACA,WAAW,qBAAuB;AAClC;AACA;AACA;AACA,K;;;;;;;;;;;;ACPA;AAAe;AACf;AACA;AACA,WAAW,qBAAuB;AAClC;AACA;AACA;AACA,K;;;;;;;;;;;;ACPA;AAAe;AACf;AACA;AACA,WAAW,qBAAuB;AAClC;AACA;AACA;AACA,K;;;;;;;;;;;;ACPA;AAAe;AACf;AACA;AACA,WAAW,qBAAuB;AAClC;AACA;AACA;AACA,K;;;;;;;;;;;;ACPA;AAAe;AACf;AACA;AACA,WAAW,qBAAuB;AAClC;AACA;AACA;AACA,K;;;;;;;;;;;;ACPA;AAAe;AACf;AACA;AACA,WAAW,qBAAuB;AAClC;AACA;AACA;AACA,K;;;;;;;;;;;;ACPA;AAAe;AACf;AACA;AACA,WAAW,qBAAuB;AAClC;AACA;AACA;AACA,K;;;;;;;;;;;;ACPA;AAAe;AACf;AACA;AACA,WAAW,qBAAuB;AAClC;AACA;AACA;AACA,K;;;;;;;;;;;;ACPA;AAAe;AACf;AACA;AACA,WAAW,qBAAuB;AAClC;AACA;AACA;AACA,K;;;;;;;;;;;;ACPA;AAAe;AACf;AACA;AACA,WAAW,qBAAuB;AAClC;AACA;AACA;AACA,K;;;;;;;;;;;;ACPA;AAAe;AACf;AACA;AACA,WAAW,qBAAuB;AAClC;AACA;AACA;AACA,K;;;;;;;;;;;;ACPA;AAAe;AACf;AACA;AACA,WAAW,qBAAuB;AAClC;AACA;AACA;AACA,K;;;;;;;;;;;;ACPA;AAAe;AACf;AACA;AACA,WAAW,qBAAuB;AAClC;AACA;AACA;AACA,K;;;;;;;;;;;;ACPA;AAAe;AACf;AACA;AACA,WAAW,qBAAuB;AAClC;AACA;AACA;AACA,K;;;;;;;;;;;;ACPA;AAAe;AACf;AACA;AACA,WAAW,qBAAuB;AAClC;AACA;AACA;AACA,K;;;;;;;;;;;;ACPA;AAAe;AACf;AACA;AACA,WAAW,qBAAuB;AAClC;AACA;AACA;AACA,K;;;;;;;;;;;;ACPA;AAAe;AACf;AACA;AACA,WAAW,qBAAuB;AAClC;AACA;AACA;AACA,K;;;;;;;;;;;;ACPA;AAAe;AACf;AACA;AACA,WAAW,qBAAuB;AAClC;AACA;AACA;AACA,K;;;;;;;;;;;;ACPA;AAAe;AACf;AACA;AACA,WAAW,qBAAuB;AAClC;AACA;AACA;AACA,K;;;;;;;;;;;;ACPA;AAAe;AACf;AACA;AACA,WAAW,qBAAuB;AAClC;AACA;AACA;AACA,K;;;;;;;;;;;;ACPA;AAAe;AACf;AACA;AACA,WAAW,qBAAuB;AAClC;AACA;AACA;AACA,K;;;;;;;;;;;;ACPA;AAAe;AACf;AACA;AACA,WAAW,qBAAuB;AAClC;AACA;AACA;AACA,K;;;;;;;;;;;;ACPA;AAAe;AACf;AACA;AACA,WAAW,qBAAuB;AAClC;AACA;AACA;AACA,K;;;;;;;;;;;;ACPA;AAAe;AACf;AACA;AACA,WAAW,qBAAuB;AAClC;AACA;AACA;AACA,K;;;;;;;;;;;;ACPA;AAAe;AACf;AACA;AACA,WAAW,qBAAuB;AAClC;AACA;AACA;AACA,K;;;;;;;;;;;;ACPA;AAAe;AACf;AACA;AACA,WAAW,qBAAuB;AAClC;AACA;AACA;AACA,K;;;;;;;;;;;;ACPA;AAAe;AACf;AACA;AACA,WAAW,qBAAuB;AAClC;AACA;AACA;AACA,K;;;;;;;;;;;;ACPA;AAAe;AACf;AACA;AACA,WAAW,qBAAuB;AAClC;AACA;AACA;AACA,K;;;;;;;;;;;;ACPA;AAAe;AACf;AACA;AACA,WAAW,qBAAuB;AAClC;AACA;AACA;AACA,K;;;;;;;;;;;;ACPA;AAAe;AACf;AACA;AACA,WAAW,qBAAuB;AAClC;AACA;AACA;AACA,K;;;;;;;;;;;;ACPA;AAAA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEe,uEAAQ,EAAC;AACxB","file":"bundle.js","sourcesContent":[" \t// install a JSONP callback for chunk loading\n \tfunction webpackJsonpCallback(data) {\n \t\tvar chunkIds = data[0];\n \t\tvar moreModules = data[1];\n \t\tvar executeModules = data[2];\n\n \t\t// add \"moreModules\" to the modules object,\n \t\t// then flag all \"chunkIds\" as loaded and fire callback\n \t\tvar moduleId, chunkId, i = 0, resolves = [];\n \t\tfor(;i < chunkIds.length; i++) {\n \t\t\tchunkId = chunkIds[i];\n \t\t\tif(Object.prototype.hasOwnProperty.call(installedChunks, chunkId) && installedChunks[chunkId]) {\n \t\t\t\tresolves.push(installedChunks[chunkId][0]);\n \t\t\t}\n \t\t\tinstalledChunks[chunkId] = 0;\n \t\t}\n \t\tfor(moduleId in moreModules) {\n \t\t\tif(Object.prototype.hasOwnProperty.call(moreModules, moduleId)) {\n \t\t\t\tmodules[moduleId] = moreModules[moduleId];\n \t\t\t}\n \t\t}\n \t\tif(parentJsonpFunction) parentJsonpFunction(data);\n\n \t\twhile(resolves.length) {\n \t\t\tresolves.shift()();\n \t\t}\n\n \t\t// add entry modules from loaded chunk to deferred list\n \t\tdeferredModules.push.apply(deferredModules, executeModules || []);\n\n \t\t// run deferred modules when all chunks ready\n \t\treturn checkDeferredModules();\n \t};\n \tfunction checkDeferredModules() {\n \t\tvar result;\n \t\tfor(var i = 0; i < deferredModules.length; i++) {\n \t\t\tvar deferredModule = deferredModules[i];\n \t\t\tvar fulfilled = true;\n \t\t\tfor(var j = 1; j < deferredModule.length; j++) {\n \t\t\t\tvar depId = deferredModule[j];\n \t\t\t\tif(installedChunks[depId] !== 0) fulfilled = false;\n \t\t\t}\n \t\t\tif(fulfilled) {\n \t\t\t\tdeferredModules.splice(i--, 1);\n \t\t\t\tresult = __webpack_require__(__webpack_require__.s = deferredModule[0]);\n \t\t\t}\n \t\t}\n\n \t\treturn result;\n \t}\n\n \t// The module cache\n \tvar installedModules = {};\n\n \t// object to store loaded and loading chunks\n \t// undefined = chunk not loaded, null = chunk preloaded/prefetched\n \t// Promise = chunk loading, 0 = chunk loaded\n \tvar installedChunks = {\n \t\t\"main\": 0\n \t};\n\n \tvar deferredModules = [];\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n \tvar jsonpArray = window[\"webpackJsonp\"] = window[\"webpackJsonp\"] || [];\n \tvar oldJsonpFunction = jsonpArray.push.bind(jsonpArray);\n \tjsonpArray.push = webpackJsonpCallback;\n \tjsonpArray = jsonpArray.slice();\n \tfor(var i = 0; i < jsonpArray.length; i++) webpackJsonpCallback(jsonpArray[i]);\n \tvar parentJsonpFunction = oldJsonpFunction;\n\n\n \t// add entry module to deferred list\n \tdeferredModules.push([\"./assets/scripts/main.js\",\"vendor~main\"]);\n \t// run deferred modules when ready\n \treturn checkDeferredModules();\n","import Vue from 'vue'\r\nimport store from './store/vuex-store'\r\nimport { gsap } from 'gsap'\r\nimport { ScrollToPlugin } from 'gsap/ScrollToPlugin'\r\n// import AxiosPlugin from './plugins/axios'\r\n// import WindowPlugin from './plugins/window'\r\nimport Vue2TouchEvents from 'vue2-touch-events'\r\nimport _, { get, debounce } from 'lodash'\r\n\r\nimport { mapGetters, mapMutations, mapActions } from 'vuex'\r\nimport Vuelidate from 'vuelidate'\r\nVue.use(Vuelidate)\r\n\r\nVue.prototype.$_get = get\r\nVue.prototype.$_debounce = debounce\r\n\r\ngsap.registerPlugin(ScrollToPlugin)\r\ngsap.defaults({\r\n ease: 'power3.out'\r\n})\r\n\r\n// Vue.use(AxiosPlugin)\r\n// Vue.use(WindowPlugin)\r\nVue.use(Vue2TouchEvents)\r\n\r\nfunction requireAll (r) {\r\n r.keys().forEach(r)\r\n}\r\n\r\nrequireAll(require.context('../svg/', true, /\\.svg$/))\r\n\r\nexport default new Vue({\r\n el: '#app',\r\n store: store,\r\n data () {\r\n return {\r\n lastScrollTop: 0,\r\n navHeight: 0,\r\n isPreview: false,\r\n prefersReducedMotion: false\r\n }\r\n },\r\n computed: {\r\n ...mapGetters(['searchStarted', 'panelOpen', 'siteSearchOpen', 'animationsPaused', 'spacerHeight', 'megaMenu'])\r\n },\r\n watch: {\r\n searchStarted () {\r\n this.calcNavHeight()\r\n },\r\n panelOpen (prev, curr) {\r\n if (this.panelOpen) {\r\n document.querySelector('body').style.overflow = 'hidden'\r\n } else {\r\n document.querySelector('body').style.overflow = 'auto'\r\n }\r\n },\r\n prefersReducedMotion (shouldReduceMotion) {\r\n this.setAnimationsPaused(shouldReduceMotion)\r\n return shouldReduceMotion\r\n ? this.pauseAnimations()\r\n : this.resumeAnimations()\r\n }\r\n },\r\n mounted () {\r\n this.calcNavHeight()\r\n if (document.querySelector('#app')) {\r\n this.isPreview = document.querySelector('#app').classList.contains('experience-editor')\r\n }\r\n\r\n window.addEventListener('resize', this.resize)\r\n window.addEventListener('scroll', this.scroll)\r\n this.setupPrefersReducedMotionMediaQuery()\r\n this.adjustRequiredFields()\r\n },\r\n beforeDestroy () {\r\n window.removeEventListener('resize', this.resize)\r\n window.removeEventListener('scroll', this.scroll)\r\n },\r\n methods: {\r\n ...mapMutations(['setAnimationsPaused', 'setSpacerHeight']),\r\n ...mapActions(['closePanels']),\r\n calcNavHeight () {\r\n _.debounce(() => {\r\n this.navHeight = document.querySelector('.navigation') ? document.querySelector('.navigation').offsetHeight : 0\r\n\r\n this.setSpacerHeight(this.navHeight)\r\n\r\n if (document.querySelector('.action-bar')) {\r\n this.setSpacerHeight(this.spacerHeight + document.querySelector('.action-bar').offsetHeight)\r\n if (!this.isPreview) {\r\n document.querySelector('.action-bar').style.transform = 'translateY(' + this.navHeight + 'px' + ')'\r\n }\r\n\r\n if (!document.querySelector('.navigation').classList.contains('navigation--action-bar')) {\r\n document.querySelector('.navigation').className += 'navigation--action-bar'\r\n }\r\n }\r\n\r\n if (document.querySelector('.navigation__spacer')) {\r\n document.querySelector('.navigation__spacer').style.height = `${this.spacerHeight}px`\r\n }\r\n\r\n if (document.querySelector('.filters-panel')) {\r\n document.querySelector('.filters-panel').style.top = `${this.spacerHeight}px`\r\n }\r\n\r\n document.querySelector('.mega-menu-desktop__menu').style.maxHeight = `calc(100vh - ${this.spacerHeight}px)`\r\n document.querySelectorAll('.mega-menu-mobile').forEach((mm) => { mm.style.paddingTop = `${this.navHeight}px` })\r\n document.querySelectorAll('.mega-menu-desktop').forEach((mm) => { mm.style.paddingTop = `${this.navHeight}px` })\r\n }, 300)()\r\n },\r\n resize () {\r\n this.calcNavHeight()\r\n this.closePanels()\r\n this.scroll()\r\n },\r\n scroll (e) {\r\n var st = window.pageYOffset || document.documentElement.scrollTop // Credits: \"https://github.com/qeremy/so/blob/master/so.dom.js#L426\"\r\n const actionBar = document.querySelector('.action-bar')\r\n const navBar = document.querySelector('.navigation')\r\n const spacer = document.querySelector('.navigation__spacer')\r\n this.closePanels()\r\n if (!this.panelOpen && !this.megaMenu && actionBar && window.pageYOffset > 300 && !this.animationsPaused && !this.isPreview) {\r\n if (st > this.lastScrollTop) {\r\n actionBar.style.transform = 'translateY(0px)'\r\n spacer.style.transform = `translateY(-${this.navHeight}px)`\r\n navBar.style.transform = `translateY(-${this.navHeight}px)`\r\n } else {\r\n actionBar.style.transform = `translateY(${this.navHeight}px)`\r\n spacer.style.transform = `translateY(${this.navHeight}px)`\r\n navBar.style.transform = 'translateY(0px)'\r\n }\r\n }\r\n this.lastScrollTop = st <= 0 ? 0 : st // For Mobile or negative scrolling\r\n },\r\n setupPrefersReducedMotionMediaQuery () {\r\n const mediaQuery = window.matchMedia('(prefers-reduced-motion: reduce)')\r\n this.prefersReducedMotion = mediaQuery.matches\r\n mediaQuery.addEventListener('change', () => {\r\n this.prefersReducedMotion = mediaQuery.matches\r\n })\r\n },\r\n pauseAnimations () {\r\n if (document.querySelector('.homepage-intro__video')) {\r\n document.querySelector('.homepage-intro__video').pause()\r\n }\r\n this.setAnimationsPaused(true)\r\n },\r\n resumeAnimations () {\r\n if (document.querySelector('.homepage-intro__video')) {\r\n document.querySelector('.homepage-intro__video').play()\r\n }\r\n this.setAnimationsPaused(false)\r\n },\r\n toggleAnimations () {\r\n return this.prefersReducedMotion || !this.animationsPaused\r\n ? this.pauseAnimations()\r\n : this.resumeAnimations()\r\n },\r\n adjustRequiredFields () {\r\n if (document.querySelectorAll('form.sitecore-form').length > 0) {\r\n const required = '(Required)'\r\n document.querySelectorAll('form.sitecore-form').forEach(form => {\r\n const requiredElements = form.querySelectorAll('[data-val-required]')\r\n requiredElements.forEach(requiredElement => {\r\n const label = form.querySelector(`[for=\"${requiredElement.id}\"]`)\r\n if (label != null) {\r\n if (label.innerHTML.includes('*')) {\r\n label.innerHTML = label.innerHTML.replace('*', required)\r\n } else if (!label.innerHTML.includes(required)) {\r\n label.innerHTML = `${label.innerHTML} ${required}`\r\n }\r\n }\r\n })\r\n })\r\n }\r\n }\r\n }\r\n})\r\n","import Vue from 'vue'\r\nimport * as clipboard from 'clipboard-polyfill/text'\r\nimport { mapGetters, mapMutations } from 'vuex'\r\nimport modal from '../mixins/modal.js'\r\n\r\nVue.component('ActionBarLink', {\r\n mixins: [modal],\r\n props: {\r\n type: { type: String, default: '' },\r\n title: { type: String, default: '' }\r\n },\r\n data () {\r\n return {\r\n copySuccess: false,\r\n modalElement: '.action-bar-link__share-list'\r\n }\r\n },\r\n computed: {\r\n ...mapGetters(['shareMenuOpen']),\r\n stringifiedTitle () {\r\n return this.title.split(' ').join('+')\r\n },\r\n linkedinLink () {\r\n return `https://www.linkedin.com/shareArticle?mini=true&url=${window.location.href}&title=${this.stringifiedTitle}&summary=&source=${window.location.protocol + '//' + window.location.host}`\r\n },\r\n facebookLink () {\r\n return `https://www.facebook.com/sharer/sharer.php?u=${window.location.href}`\r\n },\r\n twitterLink () {\r\n return `https://twitter.com/intent/tweet?url=${window.location.href}&text=${this.stringifiedTitle}`\r\n },\r\n copyText () {\r\n return !this.copySuccess ? 'Copy to clipboard' : 'Copied to Clipboard'\r\n }\r\n },\r\n watch: {\r\n shareMenuOpen () {\r\n if (this.shareMenuOpen) {\r\n // All the panel to be visibility: visible before focusing\r\n setTimeout(() => this.openModal(document.querySelector('.action-bar-link__share-list'), document.querySelector('.action-bar-link__button')), 100)\r\n } else {\r\n this.closeModal()\r\n }\r\n }\r\n },\r\n mounted () {\r\n\r\n },\r\n created () {\r\n window.addEventListener('keydown', this.closeMenu)\r\n },\r\n beforeDestroy () {\r\n window.removeEventListener('keydown', this.closeMenu)\r\n },\r\n methods: {\r\n ...mapMutations(['setShareMenuOpen']),\r\n linkAction () {\r\n if (this.type === 'share') {\r\n if (this.shareMenuOpen) {\r\n this.setShareMenuOpen(false)\r\n } else {\r\n this.setShareMenuOpen(true)\r\n }\r\n }\r\n },\r\n closeMenu (e) {\r\n if (e.key === 'Escape') {\r\n this.setShareMenuOpen(false)\r\n }\r\n },\r\n copy () {\r\n clipboard.writeText(window.location.href).then(\r\n () => {\r\n console.log('success!')\r\n this.copySuccess = true\r\n\r\n window.setTimeout(() => {\r\n this.copySuccess = false\r\n }, 3000)\r\n },\r\n () => {\r\n console.log('error!')\r\n })\r\n }\r\n\r\n }\r\n\r\n})\r\n","import Vue from 'vue'\r\nimport { mapGetters, mapMutations } from 'vuex'\r\n\r\nVue.component('AdvancedFilter', {\r\n props: {\r\n filterName: { type: String, default: '' }\r\n },\r\n data () {\r\n return {\r\n isExpanded: false\r\n\r\n }\r\n },\r\n computed: {\r\n ...mapGetters(['filters']),\r\n picked: {\r\n get () { return this.$store.getters.filters[this.filterName] || [] },\r\n set (value) {\r\n const newFilters = { ...this.filters }\r\n if (value.length > 0) {\r\n newFilters[this.filterName] = value\r\n } else {\r\n delete newFilters[this.filterName]\r\n }\r\n this.setFilterState(newFilters)\r\n }\r\n },\r\n selectedCount () {\r\n const filtersByName = this.filters[this.filterName] || []\r\n return filtersByName.length\r\n }\r\n },\r\n methods: {\r\n ...mapMutations(['setFilterState', 'setFilterPanelOpen']),\r\n expand (event) {\r\n this.isExpanded = !this.isExpanded\r\n\r\n if (this.isExpanded) {\r\n const parent = event.target.parentElement\r\n const firstInputEl = parent.querySelector('fieldset input')\r\n\r\n // using a setTimeout to grab height after it's expanded\r\n setTimeout(() => {\r\n // selectors to compute padding\r\n const panel = parent.querySelector('.advanced-filter__options')\r\n const container = event.target.closest('.filters-panel__inner')\r\n\r\n // initial container padding value\r\n const containerPadPx = window.getComputedStyle(container, null).getPropertyValue('padding-bottom')\r\n const containerPadRaw = parseInt(containerPadPx, 10)\r\n const panelHeight = panel.clientHeight\r\n const adjustedPad = panelHeight + containerPadRaw + 'px'\r\n\r\n // give the panel padding to allow for content to scroll\r\n container.style.paddingBottom = `${adjustedPad}`\r\n\r\n // save height for later\r\n localStorage.setItem('tempHeight', panelHeight)\r\n }, 10)\r\n\r\n // Focus on first input after expanding advanced filter\r\n if (firstInputEl) {\r\n setTimeout(() => firstInputEl.focus(), 1000)\r\n }\r\n } else {\r\n // selectors\r\n const container = event.target.closest('.filters-panel__inner')\r\n\r\n // get the container padding\r\n const containerPadPx = window.getComputedStyle(container, null).getPropertyValue('padding-bottom')\r\n const containerPadRaw = parseInt(containerPadPx, 10)\r\n\r\n // get the panel height\r\n const panelHeightRaw = localStorage.getItem('tempHeight')\r\n\r\n // get the difference\r\n const computedPad = containerPadRaw - panelHeightRaw\r\n const computedPadPx = `${computedPad}px`\r\n\r\n // apply correct padding\r\n container.style.paddingBottom = `${computedPadPx}`\r\n\r\n // remove saved height from Open\r\n setTimeout(() => {\r\n localStorage.removeItem('tempHeight')\r\n }, 20)\r\n }\r\n },\r\n clearAll () {\r\n const newFilters = { ...this.filters }\r\n delete newFilters[this.filterName]\r\n this.setFilterState(newFilters)\r\n }\r\n }\r\n\r\n})\r\n","import Vue from 'vue'\r\n\r\nimport { mapGetters } from 'vuex'\r\n\r\nVue.component('AdvancedFilters', {\r\n props: {\r\n filterOptions: { type: Array, default: () => [] }\r\n },\r\n data () {\r\n return {\r\n filterOptionsList: []\r\n }\r\n },\r\n computed: {\r\n ...mapGetters(['filters']),\r\n activeFilterList () {\r\n const selectedFilters = Object.entries(this.filters).flatMap(f => f[1])\r\n return this.filterOptionsList.filter(fo => selectedFilters.includes(fo.Value))\r\n },\r\n showFilters () {\r\n return this.activeFilterList.length > 0\r\n }\r\n },\r\n created () {\r\n this.filterOptionsList = this.filterOptions.flatMap(fo => fo.Options.map(o => ({ Key: fo.Key, ...o })))\r\n },\r\n mounted () {\r\n\r\n },\r\n methods: {\r\n }\r\n\r\n})\r\n","import Vue from 'vue'\r\nimport { mapGetters, mapMutations } from 'vuex'\r\nimport errorCheck from '../mixins/errorCheck'\r\n\r\nVue.component('CheckboxInput', {\r\n mixins: [errorCheck],\r\n props: { required: { type: Boolean, default: true }, name: { type: String, default: '' } },\r\n data () {\r\n return {\r\n requiredErrorMessage: 'Field is required',\r\n value: false,\r\n type: 'check'\r\n }\r\n },\r\n computed: {\r\n ...mapGetters(['resumeFormValues']),\r\n error () {\r\n return this.resumeFormValues[this.name] && this.resumeFormValues[this.name].error\r\n }\r\n },\r\n mounted () {\r\n this.createInput()\r\n },\r\n methods: {\r\n ...mapMutations(['setResumeFormValues']),\r\n createInput () {\r\n const formValue = {}\r\n formValue[this.name] = { value: false, error: false, required: this.required, type: this.type }\r\n this.setResumeFormValues({ ...this.resumeFormValues, ...formValue })\r\n },\r\n setValue () {\r\n const formValue = this.resumeFormValues[this.name]\r\n formValue.value = this.value\r\n formValue.error = this.checkCheckbox(formValue)\r\n this.setResumeFormValues({ ...this.resumeFormValues })\r\n }\r\n }\r\n})\r\n","import Vue from 'vue'\r\nimport gsap from 'gsap'\r\nimport { mapGetters } from 'vuex'\r\nvar MorphSVGPlugin = require('../plugins/MorphSVGPlugin.min')\r\n\r\nVue.component('Cta', {\r\n props: {\r\n clickHandler: { type: Function, default: undefined },\r\n parentHovered: { type: Boolean, default: false }\r\n },\r\n data () {\r\n return {\r\n icon: '',\r\n timeline: null,\r\n hovered: false\r\n }\r\n },\r\n computed: {\r\n ...mapGetters(['animationsPaused']),\r\n isHovered () {\r\n return this.parentHovered || this.hovered\r\n }\r\n },\r\n watch: {\r\n parentHovered (prev, curr) {\r\n if (prev && !this.animationsPaused) {\r\n this.timeline.play()\r\n } else {\r\n this.timeline.reverse()\r\n }\r\n }\r\n },\r\n mounted () {\r\n gsap.registerPlugin(MorphSVGPlugin)\r\n // MorphSVGPlugin.convertToPath(\"#arrow\");\r\n this.timeline = gsap.timeline({ paused: true })\r\n this.timeline.to(this.$refs.arrow, { morphSVG: { shape: this.$refs.circle, shapeIndex: 3, duration: 2 } })\r\n },\r\n methods: {\r\n click (e) {\r\n if (this.clickHandler) {\r\n this.clickHandler(e)\r\n }\r\n },\r\n changeIcon () {\r\n if (!this.hovered && !this.animationsPaused) {\r\n this.timeline.play()\r\n this.hovered = true\r\n }\r\n },\r\n resetIcon () {\r\n if (this.hovered) {\r\n this.timeline.reverse()\r\n this.hovered = false\r\n }\r\n }\r\n }\r\n\r\n})\r\n","import Vue from 'vue'\r\n// import { omit } from 'lodash'\r\n// this is just for industry selectors in the resume form because specialization is based on the selected industry\r\nimport { mapMutations, mapGetters } from 'vuex'\r\nimport errorCheck from '../mixins/errorCheck'\r\n\r\nVue.component('dual-selector', {\r\n mixins: [errorCheck],\r\n props: { industries: { type: Array, default: () => [] }, index: { type: Number, default: 0 } },\r\n data () {\r\n return {\r\n selectedIndustry: '',\r\n selectedSpecialization: '',\r\n options: {}\r\n }\r\n },\r\n computed: {\r\n ...mapGetters(['resumeFormValues']),\r\n specializations () {\r\n const specs = this.industries ? this.industries.find(industry => this.selectedIndustry === industry.Key) : []\r\n return (specs && specs.SubIndustries)\r\n }\r\n },\r\n methods: {\r\n ...mapMutations(['setResumeFormValues']),\r\n changeValue (e) {\r\n this.options[e.target.name] = e.target.value\r\n this.setValue()\r\n },\r\n setValue () {\r\n const resumeFormValue = this.resumeFormValues.industry\r\n resumeFormValue.value = this.options\r\n resumeFormValue.error = this.checkInput(resumeFormValue)\r\n this.setResumeFormValues({\r\n ...this.resumeFormValues\r\n })\r\n }\r\n },\r\n\r\n template: `
\r\n \r\n \r\n
`\r\n})\r\n","import Vue from 'vue'\r\nimport gsap from 'gsap'\r\nimport breakpoints from '../mixins/breakpoints'\r\n\r\nimport { mapGetters } from 'vuex'\r\nvar ScrollTrigger = require('../../../node_modules/gsap/ScrollTrigger.js')\r\nVue.component('FeatureCard', {\r\n mixins: [\r\n breakpoints\r\n ],\r\n data () {\r\n return {\r\n timeline: null,\r\n overlay: true\r\n }\r\n },\r\n computed: {\r\n ...mapGetters(['animationsPaused'])\r\n },\r\n watch: {\r\n animationsPaused () {\r\n if (this.animationsPaused) {\r\n this.timeline.scrollTrigger.disable()\r\n if (this.$refs.img) {\r\n this.$refs.img.style.transform = 'translateY(0px)'\r\n }\r\n } else {\r\n this.startScrollTrigger()\r\n }\r\n }\r\n },\r\n mounted () {\r\n gsap.registerPlugin(ScrollTrigger)\r\n window.addEventListener('resize', this.resize)\r\n this.startScrollTrigger()\r\n },\r\n beforeDestroy () {\r\n window.removeEventListener('resize', this.resize)\r\n },\r\n methods: {\r\n resize () {\r\n this.startScrollTrigger()\r\n },\r\n closeOverlay () {\r\n this.overlay = false\r\n },\r\n startScrollTrigger () {\r\n const img = this.$refs.img\r\n if (img) {\r\n if (this.breakpoint === 'desktop') {\r\n img.style.transform = 'translateY(500px)'\r\n } else {\r\n img.style.transform = 'translateY(125px)'\r\n }\r\n }\r\n\r\n this.timeline = gsap.to(img, {\r\n y: '0',\r\n scrollTrigger: {\r\n trigger: '.feature-card',\r\n start: 'top bottom', // the default values\r\n end: 'bottom top',\r\n scrub: true\r\n }\r\n })\r\n }\r\n }\r\n})\r\n","import Vue from 'vue'\r\n\r\nVue.component('FeaturedInsightCard', {\r\n data () {\r\n return {\r\n hovered: false\r\n }\r\n },\r\n mounted () {\r\n\r\n },\r\n methods: {\r\n toggleHover () {\r\n this.hovered = !this.hovered\r\n }\r\n }\r\n})\r\n","import Vue from 'vue'\r\nimport { mapGetters, mapMutations } from 'vuex'\r\nimport errorCheck from '../mixins/errorCheck'\r\n\r\nVue.component('FileInput', {\r\n mixins: [errorCheck],\r\n props: { required: { type: Boolean, default: true }, name: { type: String, default: '' } },\r\n data () {\r\n return {\r\n fileName: '',\r\n type: 'file'\r\n }\r\n },\r\n computed: {\r\n ...mapGetters(['resumeFormValues']),\r\n error () {\r\n return this.resumeFormValues[this.name] && this.resumeFormValues[this.name].error\r\n }\r\n },\r\n mounted () {\r\n this.createInput()\r\n },\r\n methods: {\r\n ...mapMutations(['setResumeFormValues']),\r\n createInput () {\r\n const formValue = {}\r\n formValue[this.name] = { value: '', error: false, required: this.required, type: this.type }\r\n this.setResumeFormValues({\r\n ...this.resumeFormValues,\r\n ...formValue\r\n })\r\n },\r\n setValue () {\r\n const resumeFormValue = this.resumeFormValues[this.name]\r\n resumeFormValue.value = this.fileName\r\n resumeFormValue.error = this.checkFileError(resumeFormValue)\r\n this.setResumeFormValues({\r\n ...this.resumeFormValues\r\n })\r\n },\r\n checkFile (e) {\r\n this.fileName = e.target.value\r\n this.setValue()\r\n }\r\n }\r\n})\r\n","import Vue from 'vue'\r\n\r\nimport { mapGetters, mapMutations } from 'vuex'\r\n\r\nVue.component('FiltersPanel', {\r\n data () {\r\n return {\r\n focusableEls: []\r\n }\r\n },\r\n computed: {\r\n ...mapGetters(['filterPanelOpen'])\r\n },\r\n watch: {\r\n filterPanelOpen (prev, curr) {\r\n if (prev) {\r\n // All the panel to be visibility: visible before focusing\r\n setTimeout(() => {\r\n // The #main container has its aria-hidden set to true (by the panelOpen property in vuex)\r\n // whenever the panel is open however we do not want this because it will impact screen readers.\r\n // Therefore we manually set it to false so that the screen reader will focus into the menu\r\n document.getElementById('main').ariaHidden = 'false'\r\n this.focusableEls[0].focus()\r\n }, 1000)\r\n } else {\r\n // grab the second one because it only works on mobile\r\n if (document.querySelectorAll('.filters-toggle')[1]) {\r\n document.querySelectorAll('.filters-toggle')[1].focus()\r\n }\r\n }\r\n }\r\n },\r\n mounted () {\r\n this.focusableEls = Array.prototype.slice.call(document.querySelector('.filters-panel').querySelectorAll('a[href], area[href], input:not([disabled]), select:not([disabled]), textarea:not([disabled]), button:not([disabled]), [tabindex=\"0\"]'))\r\n window.addEventListener('keydown', (e) => { if (e.key === 'Escape') { this.setFilterPanelOpen(false) } })\r\n window.addEventListener('focusin', this.handleFocusIn)\r\n },\r\n methods: {\r\n ...mapMutations(['setFilterPanelOpen']),\r\n closeFilters () {\r\n this.setFilterPanelOpen(false)\r\n },\r\n handleFocusIn () {\r\n const isFocusedInPanel = this.$el.contains(document.activeElement)\r\n if (this.filterPanelOpen && !isFocusedInPanel) {\r\n // Trap the focus so that it stays within the panel when the panel is open\r\n this.focusableEls[0].focus()\r\n }\r\n }\r\n }\r\n})\r\n","import Vue from 'vue'\r\nimport gsap from 'gsap'\r\n\r\nVue.component('FlexHeader', {\r\n data () {\r\n return {\r\n timeline: null\r\n }\r\n },\r\n mounted () {\r\n const img = this.$refs.img\r\n\r\n this.timeline = gsap.timeline({ paused: true })\r\n this.timeline.to(img, 3, {\r\n y: '0'\r\n })\r\n const self = this\r\n document.addEventListener('DOMContentLoaded', (event) => {\r\n window.onload = () => {\r\n window.requestAnimationFrame(() => {\r\n self.play()\r\n })\r\n }\r\n })\r\n },\r\n methods: {\r\n play () {\r\n this.timeline.play()\r\n }\r\n }\r\n})\r\n","import Vue from 'vue'\r\nimport scrollTo from '../mixins/scrollTo'\r\n\r\nconst NONE = -1\r\n\r\nVue.component('FocusPanels', {\r\n mixins: [scrollTo],\r\n data () {\r\n return {\r\n sections: [],\r\n scrollHandler: undefined,\r\n activeIndex: NONE\r\n }\r\n },\r\n mounted () {\r\n this.setupRefs()\r\n this.setupScrollEvents()\r\n },\r\n beforeDestroy () {\r\n this.removeScrollEvents()\r\n },\r\n methods: {\r\n setupRefs () {\r\n const els = [...this.$el.querySelectorAll('.focus-panel__container')]\r\n\r\n this.sections = els.map((el, index) => ({\r\n el,\r\n index,\r\n name: el.dataset.name\r\n }))\r\n },\r\n setupScrollEvents () {\r\n const update = () => {\r\n let activeIndex = NONE\r\n\r\n this.sections.forEach((section, index) => {\r\n const buffer = 150\r\n const sectionTop = section.el.getBoundingClientRect().top\r\n const topWithBuffer = sectionTop - buffer\r\n const isSectionInView = topWithBuffer < 0\r\n\r\n if (isSectionInView) {\r\n activeIndex = index\r\n }\r\n })\r\n if (activeIndex !== this.activeIndex && this.$refs['header-buttons'][activeIndex]) {\r\n this.$refs.header.scrollLeft = this.$refs['header-buttons'][activeIndex].offsetLeft\r\n }\r\n\r\n this.activeIndex = activeIndex\r\n }\r\n\r\n this.scrollHandler = () => requestAnimationFrame(update)\r\n window.addEventListener('scroll', this.scrollHandler)\r\n },\r\n removeScrollEvents () {\r\n window.removeEventListener('scroll', this.scrollHandler)\r\n },\r\n handleClick (index) {\r\n this.$refs.header.scrollLeft = this.$refs['header-buttons'][index].offsetLeft\r\n this.$_scrollTo({\r\n $el: this.sections[index].el,\r\n offset: 100\r\n })\r\n }\r\n }\r\n})\r\n","import Vue from 'vue'\r\nimport gsap from 'gsap'\r\nimport { mapState } from 'vuex'\r\n\r\nvar ScrollTrigger = require('../../../node_modules/gsap/ScrollTrigger.js')\r\n\r\nVue.component('Footer', {\r\n data () {\r\n return {\r\n timeline: undefined\r\n }\r\n },\r\n computed: {\r\n ...mapState(['animationsPaused'])\r\n },\r\n watch: {\r\n animationsPaused (isPaused) {\r\n return isPaused\r\n ? this.timeline.scrollTrigger.disable()\r\n : this.timeline.scrollTrigger.enable()\r\n }\r\n },\r\n mounted () {\r\n gsap.registerPlugin(ScrollTrigger)\r\n const bg = this.$refs.bg\r\n\r\n this.timeline = gsap.timeline({\r\n scrollTrigger: {\r\n trigger: bg,\r\n start: 'bottom bottom', // when the top of the trigger hits the top of the viewport\r\n scrub: 1 // smooth scrubbing, takes 1 second to \"catch up\" to the scrollbar\r\n }\r\n })\r\n .fromTo(bg, 5, { opacity: 0, scale: 0.7 }, { scale: 1, opacity: 1 })\r\n }\r\n})\r\n","import Vue from 'vue'\r\nimport { gsap } from 'gsap'\r\nimport { mapGetters } from 'vuex'\r\nimport { BEGINNING_OF_TIMELINE, onLoadDurations, onScrollDurations } from '../shared/timelineConstants'\r\nimport breakpoints from '../mixins/breakpoints'\r\n\r\nVue.component('homepage-intro', {\r\n mixins: [breakpoints],\r\n data () {\r\n const onLoadTimeline = gsap.timeline({\r\n paused: true,\r\n onComplete: () => {\r\n this.isOnLoadComplete = true\r\n }\r\n })\r\n\r\n const onScrollTimeline = gsap.timeline({ paused: true })\r\n\r\n return {\r\n isOnLoadComplete: false,\r\n onLoadTimeline,\r\n onLoadDurations,\r\n onScrollTimeline,\r\n onScrollDurations,\r\n scrollHandler: undefined,\r\n resizeHandler: undefined,\r\n targetOffset: undefined,\r\n progress: 0,\r\n yOffset: 0,\r\n top: 0\r\n }\r\n },\r\n computed: {\r\n ...mapGetters(['animationsPaused'])\r\n },\r\n watch: {\r\n animationsPaused (isPaused) {\r\n if (isPaused) {\r\n this.onLoadTimeline.pause()\r\n } else {\r\n this.onLoadTimeline.play()\r\n }\r\n }\r\n },\r\n mounted () {\r\n this.setupHeaderOnScrollTimeline()\r\n this.calculateTargetOffset()\r\n this.setupScrollResizeHandlers()\r\n if (!this.animationsPaused) {\r\n this.onLoadTimeline.play()\r\n }\r\n },\r\n beforeDestroy () {\r\n this.removeScrollResizeHandlers()\r\n },\r\n methods: {\r\n setupHeaderOnScrollTimeline () {\r\n const backgroundEl = document.querySelector('.navigation__background')\r\n if (backgroundEl) {\r\n const backgroundTimeline = gsap.timeline({})\r\n .to(backgroundEl, {\r\n opacity: 1,\r\n duration: onScrollDurations.navigationColorChange\r\n })\r\n\r\n this.onScrollTimeline.add(backgroundTimeline, BEGINNING_OF_TIMELINE)\r\n }\r\n },\r\n\r\n calculateTargetOffset () {\r\n this.top = this.$refs.panels.getBoundingClientRect().top + window.pageYOffset - 10\r\n this.yOffset = window.pageYOffset\r\n const { bottomAnimationContainer } = this.$refs\r\n const containerRect = bottomAnimationContainer.getBoundingClientRect()\r\n\r\n // This is the yOffset distance when the center of container is aligned to top of page\r\n const distanceToContainerCenter = containerRect.top + containerRect.height * 0.5 + this.yOffset\r\n\r\n const navigationHeight = document.querySelector('.navigation').clientHeight\r\n\r\n // Add half the window height to get yOffset when center of container is at center of page.\r\n // Subtract navigationHeight to account for nav\r\n this.targetOffset = distanceToContainerCenter - window.innerHeight * 0.5 - navigationHeight\r\n },\r\n setupScrollResizeHandlers () {\r\n const updateProgress = () => {\r\n if (this.yOffset >= this.top && this.yOffsetPanels <= this.targetOffset) {\r\n this.progress = this.yOffsetPanels / this.targetOffset\r\n } else {\r\n this.progress = this.yOffset > this.targetOffset\r\n ? 1\r\n : 0\r\n }\r\n\r\n this.onScrollTimeline.progress(this.progress)\r\n this.$refs.progress.style.transform = `translateY(${this.progress * 100}%)`\r\n }\r\n updateProgress()\r\n\r\n this.scrollHandler = () => {\r\n this.yOffset = window.pageYOffset\r\n this.yOffsetPanels = this.yOffset - this.top\r\n if (!this.animationsPaused && this.yOffset >= this.top) {\r\n this.onLoadTimeline.timeScale(10)\r\n }\r\n if (!this.animationsPaused && this.isOnLoadComplete) {\r\n requestAnimationFrame(updateProgress)\r\n }\r\n }\r\n\r\n this.resizeHandler = () => {\r\n this.calculateTargetOffset()\r\n updateProgress()\r\n }\r\n\r\n window.addEventListener('scroll', this.scrollHandler)\r\n window.addEventListener('resize', this.resizeHandler)\r\n window.addEventListener('load', this.scrollHandler)\r\n },\r\n removeScrollResizeHandlers () {\r\n window.removeEventListener('scroll', this.scrollHandler)\r\n window.removeEventListener('resize', this.resizeHandler)\r\n window.removeEventListener('load', this.scrollHandler)\r\n }\r\n }\r\n})\r\n","import Vue from 'vue'\r\n\r\nVue.component('insight', {\r\n props: {\r\n insight: { type: Object, default: () => ({}) }\r\n },\r\n template: `
\r\n\r\n
\r\n \r\n

\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n {{author.Name}}, \r\n \r\n\r\n
\r\n
\r\n\r\n
\r\n
\r\n\r\n
`\r\n})\r\n","import Vue from 'vue'\r\nimport gsap from 'gsap'\r\nimport breakpoints from '../mixins/breakpoints'\r\n\r\nVue.component('InsightDetail', {\r\n mixins: [breakpoints],\r\n data () {\r\n return {\r\n timeline: {},\r\n lineArt: ['Circle_TrioLine_Insightdetail', 'Circles_Multi_Insightsdetail', 'Circles_TrioStack_Insightdetail', 'DoubleLoop_Insightdetail', 'Lines_LeftRight_Insightdetail', 'Lines_ZigZag_Insightdetail', 'Multi-Square_InsightsDetail', 'TrioCircleLink_InsightDetail']\r\n }\r\n },\r\n computed: {\r\n randomLineArt () {\r\n return `background-image: url('/Project/HeidrickCom/assets/public/images/${this.lineArt[Math.floor(Math.random() * (this.lineArt.length - 1 + 1))]}.svg');`\r\n }\r\n },\r\n mounted () {\r\n this.setBreakpoint()\r\n this.timeline = gsap.timeline\r\n if (this.breakpoint === 'mobile') {\r\n this.timeline()\r\n .to('.insight-detail__container', 1, { padding: '0px' })\r\n .to('.insight-detail__inner', 1, { padding: '16px' }, 0)\r\n } else {\r\n this.timeline()\r\n .fromTo('.insight-detail__container', 2, { x: '100%' }, { x: 0 }, 1)\r\n .fromTo('.insight-detail__header', 1, { autoAlpha: 0 }, { autoAlpha: 1 })\r\n .fromTo('.authors', 1, { autoAlpha: 0 }, { autoAlpha: 1 })\r\n .fromTo('.callout-module', 1, { autoAlpha: 0, y: 10 }, { autoAlpha: 1, y: 0 }, '-=1')\r\n .fromTo('.columns--two', 1, { autoAlpha: 0, y: 10 }, { autoAlpha: 1, y: 0 }, '-=1')\r\n }\r\n },\r\n methods: {\r\n expand () {\r\n this.isExpanded = !this.isExpanded\r\n }\r\n }\r\n\r\n})\r\n","import Vue from 'vue'\r\n\r\nVue.component('LanguageChangedAlert', {\r\n data () {\r\n return {\r\n alertOpen: true\r\n }\r\n },\r\n computed: {\r\n showAlert () {\r\n return this.alertOpen\r\n }\r\n },\r\n watch: {\r\n },\r\n mounted () {\r\n window.addEventListener('keydown', function (e) {\r\n if (e.key === 'Escape') {\r\n this.closeAlert()\r\n }\r\n })\r\n\r\n setTimeout(() => this.closeAlert(), 30000)\r\n },\r\n beforeDestroy () {\r\n window.removeEventListener('keydown', function (e) {\r\n if (e.key === 'Escape') {\r\n this.closeAlert()\r\n }\r\n })\r\n },\r\n methods: {\r\n closeAlert () {\r\n if (this.alertOpen) {\r\n this.alertOpen = false\r\n }\r\n }\r\n }\r\n})\r\n","import Vue from 'vue'\r\nimport { mapMutations, mapGetters } from 'vuex'\r\nimport modal from '../mixins/modal.js'\r\nimport { mixin as clickaway } from 'vue-clickaway2'\r\n\r\nVue.component('LanguageMenu', {\r\n mixins: [clickaway, modal],\r\n data () {\r\n return {\r\n modalElement: '.navigation__lang-menu'\r\n }\r\n },\r\n computed: {\r\n ...mapGetters(['languageMenuOpen', 'languageModal'])\r\n },\r\n watch: {\r\n languageMenuOpen () {\r\n if (this.languageMenuOpen) {\r\n this.openModal(document.querySelector(this.modalElement), document.querySelector('.navigation__top-link-lang'))\r\n } else {\r\n this.closeModal()\r\n }\r\n }\r\n },\r\n mounted () {\r\n window.addEventListener('keydown', this.closeMenu)\r\n },\r\n beforeDestroy () {\r\n window.removeEventListener('keydown', this.closeMenu)\r\n },\r\n methods: {\r\n ...mapMutations(['setLanguageMenuOpen', 'setLanguageModal']),\r\n closeMenu (e) {\r\n if (e.key === 'Escape') {\r\n if (this.languageMenuOpen) {\r\n this.setLanguageMenuOpen(false)\r\n }\r\n }\r\n },\r\n toggleLanguageMenu () {\r\n this.setLanguageMenuOpen(!this.languageMenuOpen)\r\n },\r\n clickawayLanguageMenu () {\r\n if (this.languageMenuOpen) {\r\n this.setLanguageMenuOpen(false)\r\n }\r\n },\r\n selectLanguage (langUrl, langCode, langlabel) {\r\n if (!!langUrl && langUrl.length > 0 && langUrl !== '#') {\r\n window.location.assign(langUrl)\r\n } else {\r\n this.setLanguageMenuOpen(false)\r\n this.setLanguageModal({ langCode: langCode, langLabel: langlabel })\r\n }\r\n }\r\n }\r\n})\r\n","import Vue from 'vue'\r\nimport { mapMutations, mapGetters } from 'vuex'\r\nimport modal from '../mixins/modal.js'\r\nimport { mixin as clickaway } from 'vue-clickaway2'\r\n\r\nVue.component('LanguageModal', {\r\n mixins: [clickaway, modal],\r\n props: {\r\n modalTitle: { type: String, default: '' },\r\n modalBody: { type: String, default: '' },\r\n modalCancelLabel: { type: String, default: '' },\r\n modalHomeLabel: { type: String, default: '' }\r\n },\r\n data () {\r\n return {\r\n modalElement: '.language-modal'\r\n }\r\n },\r\n computed: {\r\n ...mapGetters(['languageMenuOpen', 'languageModal']),\r\n modalOpen () {\r\n return this.languageModal != null\r\n },\r\n translatedHomeUrl () {\r\n return this.languageModal ? '/' + this.languageModal.langCode : ''\r\n },\r\n modalDisplayTitle () {\r\n if (!!this.languageModal && this.modalTitle.length > 0) {\r\n return this.replaceStrLanguageName(this.modalTitle)\r\n }\r\n\r\n return ''\r\n },\r\n modalDisplayBody () {\r\n if (!!this.languageModal && this.modalBody.length > 0) {\r\n return this.replaceStrLanguageName(this.modalBody)\r\n }\r\n\r\n return ''\r\n },\r\n modalDisplayCancelLabel () {\r\n if (!!this.languageModal && this.modalCancelLabel.length > 0) {\r\n return this.replaceStrLanguageName(this.modalCancelLabel)\r\n }\r\n\r\n return ''\r\n },\r\n modalDisplayHomeLabel () {\r\n if (!!this.languageModal && this.modalHomeLabel.length > 0) {\r\n return this.replaceStrLanguageName(this.modalHomeLabel)\r\n }\r\n\r\n return ''\r\n }\r\n },\r\n watch: {\r\n languageModal () {\r\n if (this.languageModal) {\r\n this.openModal(document.querySelector('.language-modal__card'), document.querySelector('.navigation__top-link-lang'))\r\n } else {\r\n this.closeModal()\r\n }\r\n }\r\n },\r\n mounted () {\r\n window.addEventListener('keydown', this.closeModalKeyPress)\r\n },\r\n beforeDestroy () {\r\n window.removeEventListener('keydown', this.closeModalKeyPress)\r\n },\r\n methods: {\r\n ...mapMutations(['setLanguageModal']),\r\n closeModalKeyPress (e) {\r\n if (!e || e.key === 'Escape') {\r\n if (this.languageModal) {\r\n this.setLanguageModal(null)\r\n }\r\n }\r\n },\r\n closeModal () {\r\n this.setLanguageModal(null)\r\n },\r\n replaceStrLanguageName (str) {\r\n return str.replace(new RegExp('{languagename}', 'g'), this.languageModal.langLabel)\r\n }\r\n }\r\n})\r\n","import Vue from 'vue'\r\nimport { mapMutations, mapGetters } from 'vuex'\r\nimport modal from '../mixins/modal.js'\r\nimport { mixin as clickaway } from 'vue-clickaway2'\r\n\r\nVue.component('LanguageRedirectModal', {\r\n mixins: [clickaway, modal],\r\n props: {\r\n },\r\n data () {\r\n return {\r\n modalElement: '.language-redirect-modal'\r\n }\r\n },\r\n computed: {\r\n ...mapGetters(['isLanguageRedirectModalOpen']),\r\n modalOpen () {\r\n return this.isLanguageRedirectModalOpen\r\n }\r\n },\r\n watch: {\r\n isLanguageRedirectModalOpen () {\r\n if (this.isLanguageRedirectModalOpen) {\r\n this.openModal(document.querySelector('.language-redirect-modal_card'), document.querySelector('.accessible-buttons__skip'))\r\n } else {\r\n this.closeModal()\r\n }\r\n }\r\n },\r\n created () {\r\n this.showRedirectModal()\r\n },\r\n mounted () {\r\n window.addEventListener('keydown', this.closeModalKeyPress)\r\n },\r\n beforeDestroy () {\r\n window.removeEventListener('keydown', this.closeModalKeyPress)\r\n },\r\n methods: {\r\n ...mapMutations(['hideLanguageRedirectModal', 'showLanguageRedirectModal']),\r\n closeModalKeyPress (e) {\r\n if (!e || e.key === 'Escape') {\r\n if (this.isLanguageRedirectModalOpen) {\r\n this.hideLanguageRedirectModal()\r\n }\r\n }\r\n },\r\n closeModal () {\r\n this.hideLanguageRedirectModal()\r\n },\r\n showRedirectModal () {\r\n this.showLanguageRedirectModal()\r\n }\r\n }\r\n})\r\n","import Vue from 'vue'\r\n\r\nVue.component('LeadershipCard', {\r\n data () {\r\n return {\r\n imageHovered: false\r\n }\r\n },\r\n methods: {\r\n toggleImageHover () {\r\n this.imageHovered = !this.imageHovered\r\n }\r\n }\r\n\r\n})\r\n","import Vue from 'vue'\r\nimport lottie from 'lottie-web'\r\nimport MultiCircles from '../lottie/HS_Circle_MultiCircles.json'\r\nimport TrioLines from '../lottie/HS_Circle_TrioLines.json'\r\nimport TrioLink from '../lottie/HS_Circle_TrioLink.json'\r\nimport TrioStack from '../lottie/HS_Circle_TrioStack.json'\r\nimport DiagonalLeftRight from '../lottie/HS_Lines_DiagonalLeftRight.json'\r\nimport ZigZag from '../lottie/HS_Lines_ZigZag.json'\r\nimport QuadrupleSquares from '../lottie/HS_Square_QuadrupleSquares.json'\r\n\r\nimport { mapGetters } from 'vuex'\r\n\r\nVue.component('Lottie', {\r\n props: {\r\n json: { type: String, default: '{}' }\r\n },\r\n data () {\r\n return {\r\n art: [MultiCircles, DiagonalLeftRight, ZigZag, QuadrupleSquares, TrioStack, TrioLink, TrioLines, MultiCircles]\r\n }\r\n },\r\n computed: {\r\n ...mapGetters(['animationsPaused'])\r\n },\r\n watch: {\r\n animationsPaused () {\r\n if (this.animationsPaused) {\r\n lottie.pause()\r\n } else {\r\n lottie.play()\r\n }\r\n }\r\n },\r\n mounted () {\r\n lottie.loadAnimation({\r\n container: this.$refs.lottie, // the dom element that will contain the animation\r\n renderer: 'svg',\r\n loop: true,\r\n autoplay: true,\r\n animationData: this.art[Math.floor(Math.random() * (this.art.length - 1 + 1))]\r\n })\r\n },\r\n template: '
'\r\n})\r\n","import Vue from 'vue'\r\nimport { mapMutations, mapGetters } from 'vuex'\r\nimport modal from '../mixins/modal.js'\r\nimport { mixin as clickaway } from 'vue-clickaway2'\r\n\r\nimport typeahead from '../mixins/typeahead'\r\n\r\nVue.component('MegaMenu', {\r\n mixins: [typeahead, modal, clickaway],\r\n props: {\r\n endpoint: { type: String, default: '' }\r\n },\r\n data () {\r\n return {\r\n panel: null,\r\n panelRef: null,\r\n beforePanelRef: null,\r\n keywordFilter: '',\r\n modalElement: '.mega-menu'\r\n }\r\n },\r\n computed: {\r\n ...mapGetters(['megaMenu', 'secondaryLinksOpen']),\r\n megaMenuOpen () {\r\n return this.megaMenu != null\r\n }\r\n },\r\n watch: {\r\n megaMenu (prev, curr) {\r\n if (this.megaMenu) {\r\n if (typeof this.megaMenu === 'string') {\r\n this.openModal(document.getElementById(this.megaMenu), document.getElementById(`button-${this.megaMenu}`))\r\n } else {\r\n this.openModal(document.querySelector('.mega-menu-mobile'), document.querySelector('.navigation__menu'))\r\n }\r\n } else {\r\n this.closeModal()\r\n this.setPanel(null)\r\n this.panelRef = null\r\n }\r\n },\r\n panel (newPanel) {\r\n if (newPanel) {\r\n const panelId = `#panel-${newPanel}`\r\n this.beforePanelRef = document.activeElement\r\n this.panelRef = this.$el.querySelector(panelId)\r\n setTimeout(() => this.focusIntoPanel(), 600)\r\n } else {\r\n this.panelRef = null\r\n this.beforePanelRef.focus()\r\n }\r\n }\r\n },\r\n mounted () {\r\n window.addEventListener('keydown', this.closeMenu)\r\n window.addEventListener('focusin', this.handleFocusIn)\r\n },\r\n beforeDestroy () {\r\n window.removeEventListener('keydown', this.closeMenu)\r\n window.removeEventListener('focusin', this.handleFocusIn)\r\n },\r\n methods: {\r\n ...mapMutations(['setMegaMenu', 'setLanguageModal']),\r\n setPanel (panel) {\r\n this.panel = panel\r\n },\r\n closeMenu (e) {\r\n if (e.key === 'Escape') {\r\n if (this.megaMenu) {\r\n this.setMegaMenu(false)\r\n }\r\n }\r\n },\r\n clickawayMegaMenu (id) {\r\n if (this.megaMenu === id) {\r\n this.setMegaMenu(false)\r\n }\r\n },\r\n submitSiteSearch (e) {\r\n console.log('yo')\r\n e.preventDefault()\r\n if (this.keywordFilter) {\r\n window.location.assign(`/search#q=${this.keywordFilter}`)\r\n }\r\n },\r\n handleFocusIn () {\r\n if (!this.megaMenu) {\r\n return\r\n }\r\n\r\n if (this.panelRef) {\r\n const isOutsideFocus = !this.panelRef.contains(document.activeElement)\r\n if (isOutsideFocus) {\r\n this.focusIntoPanel()\r\n }\r\n } else {\r\n const isOutsideFocus = !this.$refs.mobileMenu.contains(document.activeElement)\r\n if (isOutsideFocus) {\r\n this.$refs.mobileMenu.querySelector('input, button, a').focus()\r\n }\r\n }\r\n },\r\n focusIntoPanel () {\r\n const languagePanel = document.getElementById('panel-language-mobile-menu')\r\n if (this.panelRef) {\r\n this.panelRef.querySelector('button').focus()\r\n } else if (languagePanel) {\r\n languagePanel.querySelector('button').focus()\r\n }\r\n },\r\n selectLanguage (langUrl, langCode, langlabel) {\r\n if (!!langUrl && langUrl.length > 0 && langUrl !== '#') {\r\n window.location.assign(langUrl)\r\n } else {\r\n this.setLanguageModal({ langCode: langCode, langLabel: langlabel })\r\n }\r\n }\r\n }\r\n})\r\n","import Vue from 'vue'\r\nimport { gsap } from 'gsap'\r\n\r\nconst BEGINNING_OF_TIMELINE = 0\r\n\r\nVue.component('NarrativeAnimationBottom', {\r\n props: {\r\n onScrollTimeline: { type: Object, default: undefined },\r\n onScrollDurations: { type: Object, default: undefined }\r\n },\r\n data () {\r\n return {\r\n xInterpolate: undefined,\r\n yInterpolates: undefined,\r\n resizeHandler: undefined\r\n }\r\n },\r\n mounted () {\r\n this.setupResizeHandler()\r\n\r\n this.onScrollTimeline\r\n .add(this.otherCircleTimeline(this.$refs.circleTopLeft), BEGINNING_OF_TIMELINE)\r\n .add(this.otherCircleTimeline(this.$refs.circleTopRight), BEGINNING_OF_TIMELINE)\r\n .add(this.otherCircleTimeline(this.$refs.circleBottomLeft), BEGINNING_OF_TIMELINE)\r\n .add(this.tealCircleTimeline(), BEGINNING_OF_TIMELINE)\r\n },\r\n beforeDestroy () {\r\n this.removeResizeHandler()\r\n },\r\n methods: {\r\n setupResizeHandler () {\r\n this.resizeHandler = () => this.setupInterpolates()\r\n window.addEventListener('resize', this.resizeHandler)\r\n },\r\n removeResizeHandler () {\r\n window.removeEventListener('resize', this.resizeHandler)\r\n },\r\n setupInterpolates () {\r\n const triangleEl = document.querySelector('.narrative-animation-top__triangle')\r\n const tealOuterContainer = this.$refs.tealOuterContainer.getBoundingClientRect()\r\n const triangleRect = triangleEl.getBoundingClientRect()\r\n const triangleMiddleX = triangleRect.x + triangleRect.width / 2\r\n const triangleMiddleY = triangleRect.y + triangleRect.height / 2\r\n\r\n // In mobile, the panels are scaled to down by a factor set by the\r\n // --narrative-panels__animation-scale css variable.\r\n const panelEl = document.querySelector('.narrative-panels')\r\n const scale = parseFloat(getComputedStyle(panelEl).getPropertyValue('--narrative-panels__animation-scale'))\r\n\r\n // When calculating the starting values, we need to take the scale into account\r\n // and adjust proportionately\r\n const startingX = (triangleMiddleX - tealOuterContainer.x) / scale\r\n const startingY = (triangleMiddleY - tealOuterContainer.y) / scale\r\n\r\n this.xInterpolate = gsap.utils.interpolate(startingX, 0)\r\n this.yInterpolate = gsap.utils.interpolate(startingY, 0)\r\n },\r\n otherCircleTimeline (ref) {\r\n const {\r\n otherCirclesMove,\r\n tealCircleMove\r\n } = this.onScrollDurations\r\n\r\n const duration = otherCirclesMove\r\n const delay = tealCircleMove - otherCirclesMove\r\n const toProperties = { x: 0, y: 0, scale: 1, duration, delay, ease: 'none' }\r\n\r\n return gsap.timeline({})\r\n .to(ref, toProperties)\r\n },\r\n tealCircleTimeline () {\r\n const duration = this.onScrollDurations.tealCircleMove\r\n const vm = this\r\n\r\n const timeline = gsap.timeline({})\r\n timeline\r\n .set({}, { onUpdate: () => vm.setupInterpolates() })\r\n .set(this.$refs.tealCircleContainer, {\r\n x () {\r\n return vm.xInterpolate(0)\r\n },\r\n y () {\r\n return vm.yInterpolate(0)\r\n }\r\n })\r\n .to({}, {\r\n duration,\r\n ease: 'none',\r\n onUpdate () {\r\n const x = vm.xInterpolate(this.ratio)\r\n const y = vm.yInterpolate(this.ratio)\r\n vm.$refs.tealCircleContainer.style.transform = `translate3d(${x}px, ${y}px, 0)`\r\n }\r\n })\r\n\r\n timeline\r\n .set(this.$refs.tealCircle, { opacity: 1 }, BEGINNING_OF_TIMELINE)\r\n .to(this.$refs.tealCircle, {\r\n xPercent: 0,\r\n yPercent: 0,\r\n scale: 1,\r\n duration,\r\n ease: 'none'\r\n }, BEGINNING_OF_TIMELINE)\r\n\r\n return timeline\r\n }\r\n }\r\n})\r\n","import Vue from 'vue'\r\nimport { gsap } from 'gsap'\r\n\r\nconst BEGINNING_OF_TIMELINE = 0\r\n\r\nVue.component('NarrativeAnimationTop', {\r\n props: {\r\n onLoadTimeline: { type: Object, default: undefined },\r\n onScrollTimeline: { type: Object, default: undefined },\r\n onScrollDurations: { type: Object, default: undefined },\r\n onLoadDurations: { type: Object, default: undefined }\r\n },\r\n data () {\r\n return {\r\n rotateDegrees: 0\r\n }\r\n },\r\n mounted () {\r\n this.calculateLowerLineRotateDegrees()\r\n\r\n this.onLoadTimeline\r\n .add(this.upperLineOnLoad(), BEGINNING_OF_TIMELINE)\r\n .add(this.smallCircleOnLoad(), BEGINNING_OF_TIMELINE)\r\n .add(this.largeCircleOnLoad(), BEGINNING_OF_TIMELINE)\r\n .add(this.circlesOnLoad(), BEGINNING_OF_TIMELINE)\r\n .add(this.triangleOnLoad(), BEGINNING_OF_TIMELINE)\r\n .add(this.lowerLineOnLoad(), BEGINNING_OF_TIMELINE)\r\n\r\n this.onScrollTimeline\r\n .add(this.upperLineOnScroll(), BEGINNING_OF_TIMELINE)\r\n .add(this.smallCircleOnScroll(), BEGINNING_OF_TIMELINE)\r\n .add(this.largeCircleOnScroll(), BEGINNING_OF_TIMELINE)\r\n .add(this.triangleOnScroll(), BEGINNING_OF_TIMELINE)\r\n .add(this.lowerLineOnScroll(), BEGINNING_OF_TIMELINE)\r\n },\r\n methods: {\r\n upperLineOnLoad () {\r\n const duration = Object.values(this.onLoadDurations)\r\n .reduce((accum, val) => accum + val, 0)\r\n\r\n return gsap.timeline({})\r\n .to(this.$refs.upperLine, { xPercent: 300, yPercent: 300, duration, ease: 'none' })\r\n },\r\n upperLineOnScroll () {\r\n return gsap.timeline({})\r\n .to(this.$refs.upperLine, { xPercent: 400, yPercent: 400, duration: this.onScrollDurations.rotateAndFade })\r\n },\r\n smallCircleOnLoad () {\r\n const ROTATE_EL = this.$refs.smallCircle\r\n const POSITION_EL = this.$refs.smallCircleContainer\r\n\r\n const {\r\n initialRotate,\r\n rotateAndCenter,\r\n counterClockRotate,\r\n rotateAndDown\r\n } = this.onLoadDurations\r\n\r\n return gsap.timeline({})\r\n .to(ROTATE_EL, { rotation: 90, duration: initialRotate })\r\n .addLabel('afterInitialRotation')\r\n .to(ROTATE_EL, { rotation: -90, duration: rotateAndCenter }, 'afterInitialRotation')\r\n .to(POSITION_EL, { xPercent: 50, yPercent: 50, duration: initialRotate }, 'afterInitialRotation')\r\n .addLabel('afterRotateAndCenter')\r\n .to(ROTATE_EL, { rotation: -270, duration: counterClockRotate })\r\n .to(ROTATE_EL, { rotation: -420, duration: rotateAndDown })\r\n },\r\n smallCircleOnScroll () {\r\n const duration = this.onScrollDurations.rotateAndFade\r\n return gsap.timeline({})\r\n .to(this.$refs.smallCircleContainer, { opacity: 0, duration }, BEGINNING_OF_TIMELINE)\r\n },\r\n largeCircleOnLoad () {\r\n const ROTATE_EL = this.$refs.largeCircle\r\n const POSITION_EL = this.$refs.largeCircleContainer\r\n const {\r\n initialRotate,\r\n rotateAndCenter,\r\n counterClockRotate,\r\n rotateAndDown\r\n } = this.onLoadDurations\r\n\r\n return gsap.timeline({})\r\n .to(ROTATE_EL, { rotation: 90, duration: initialRotate })\r\n .addLabel('afterInitialRotation')\r\n .to(ROTATE_EL, { rotation: 0, duration: rotateAndCenter }, 'afterInitialRotation')\r\n .to(POSITION_EL, { xPercent: -50, yPercent: -50, duration: initialRotate }, 'afterInitialRotation')\r\n .addLabel('afterRotateAndCenter')\r\n .to(ROTATE_EL, { rotation: -180, duration: counterClockRotate })\r\n .to(ROTATE_EL, { rotation: -330, duration: rotateAndDown })\r\n },\r\n largeCircleOnScroll () {\r\n const ROTATE_EL = this.$refs.largeCircle\r\n const POSITION_EL = this.$refs.largeCircleContainer\r\n const duration = this.onScrollDurations.rotateAndFade\r\n\r\n return gsap.timeline({})\r\n .to(ROTATE_EL, { rotation: -510, duration }, BEGINNING_OF_TIMELINE)\r\n .to(POSITION_EL, { opacity: 0, duration }, BEGINNING_OF_TIMELINE)\r\n },\r\n circlesOnLoad () {\r\n const {\r\n initialRotate,\r\n rotateAndCenter,\r\n counterClockRotate,\r\n rotateAndDown\r\n } = this.onLoadDurations\r\n const delay = initialRotate + rotateAndCenter + counterClockRotate\r\n\r\n return gsap.timeline({})\r\n .to(this.$refs.bothCircles, { yPercent: 0, duration: rotateAndDown, delay })\r\n },\r\n triangleOnLoad () {\r\n const {\r\n initialRotate,\r\n rotateAndCenter,\r\n counterClockRotate,\r\n rotateAndDown\r\n } = this.onLoadDurations\r\n const delay = initialRotate + rotateAndCenter + counterClockRotate\r\n\r\n return gsap.timeline({})\r\n .to(this.$refs.triangle, { opacity: 1, duration: rotateAndDown, delay })\r\n },\r\n triangleOnScroll () {\r\n const duration = this.onScrollDurations.triangleFade\r\n return gsap.timeline({})\r\n .to(this.$refs.triangle, { opacity: 0, duration })\r\n },\r\n calculateLowerLineRotateDegrees () {\r\n const lineEl = this.$refs.lowerLine\r\n const circlesEl = document.querySelector('.narrative-animation-bottom__circles')\r\n\r\n const lineRect = lineEl.getBoundingClientRect()\r\n const circlesRect = circlesEl.getBoundingClientRect()\r\n const circleOffset = 20 // this is equal to --narrative-animation-bottom__circle-overlap / 2\r\n const circlesMiddleX = circlesRect.x + circlesRect.width * 0.75 - circleOffset\r\n const circlesMiddleY = circlesRect.y + circlesRect.height * 0.75\r\n\r\n const xDiff = lineRect.x - circlesMiddleX\r\n const yDiff = lineRect.y - circlesMiddleY\r\n\r\n const radiansToDegrees = 180 / Math.PI\r\n // tan(angle) = opposite / adjacent\r\n // angle = atan(opposite / adjacent)\r\n // angle = atan(yDiff, xDiff)\r\n const angle = Math.atan(yDiff / xDiff) * radiansToDegrees\r\n this.rotateDegrees = angle\r\n },\r\n lowerLineOnLoad () {\r\n const el = this.$refs.lowerLine\r\n el.style.transform = `rotate(${this.rotateDegrees}deg) translate3d(50%, 0, 0)`\r\n\r\n const interpolate = gsap.utils.interpolate(75, -75)\r\n const vm = this\r\n\r\n const duration = Object.values(this.onLoadDurations)\r\n .reduce((accum, val) => accum + val, 0)\r\n\r\n return gsap.timeline({})\r\n .set(this.$refs.lowerLine, { opacity: 1 }, BEGINNING_OF_TIMELINE)\r\n .to({}, {\r\n duration,\r\n onUpdate () {\r\n el.style.transform = `rotate(${vm.rotateDegrees}deg) translate3d(${interpolate(this.ratio)}%, 0, 0)`\r\n },\r\n ease: 'none'\r\n }, BEGINNING_OF_TIMELINE)\r\n },\r\n lowerLineOnScroll () {\r\n const el = this.$refs.lowerLine\r\n const interpolate = gsap.utils.interpolate(-75, -100)\r\n const vm = this\r\n\r\n return gsap.timeline({})\r\n .to({}, {\r\n duration: 3,\r\n onUpdate () {\r\n el.style.transform = `rotate(${vm.rotateDegrees}deg) translate3d(${interpolate(this.ratio)}%, 0, 0)`\r\n el.style.opacity = 1 - this.ratio\r\n }\r\n })\r\n }\r\n }\r\n})\r\n","\r\nimport Vue from 'vue'\r\nimport { mapMutations, mapGetters } from 'vuex'\r\nimport typeahead from '../mixins/typeahead.js'\r\nimport { directive as onClickaway } from 'vue-clickaway2'\r\nimport modal from '../mixins/modal'\r\nimport gsap from 'gsap'\r\nimport { BEGINNING_OF_TIMELINE, onLoadDurations, onScrollDurations } from '../shared/timelineConstants'\r\n\r\nVue.component('Navigation', {\r\n directives: {\r\n onClickaway: onClickaway\r\n },\r\n mixins: [\r\n typeahead,\r\n modal\r\n ],\r\n props: {\r\n endpoint: { type: String, default: '' }\r\n },\r\n data () {\r\n const onLoadTimeline = gsap.timeline({\r\n paused: true,\r\n onComplete: () => {\r\n this.isOnLoadComplete = true\r\n }\r\n })\r\n\r\n const onScrollTimeline = gsap.timeline({ paused: true })\r\n return {\r\n shouldManagePageUrl: false,\r\n keywordFilter: '',\r\n modalElement: '.navigation-search',\r\n isOnLoadComplete: false,\r\n onLoadTimeline,\r\n onLoadDurations,\r\n onScrollTimeline,\r\n onScrollDurations,\r\n scrollHandler: undefined,\r\n resizeHandler: undefined,\r\n targetOffset: undefined,\r\n progress: 0\r\n }\r\n },\r\n computed: {\r\n ...mapGetters(['megaMenu', 'filterPanelOpen', 'searchStarted', 'siteSearchOpen', 'secondaryLinksOpen', 'animationsPaused'])\r\n },\r\n watch: {\r\n siteSearchOpen () {\r\n if (this.siteSearchOpen) {\r\n this.openModal(document.querySelector('.navigation-search'), document.querySelector('.navigation__search'))\r\n } else {\r\n this.closeModal()\r\n }\r\n }\r\n },\r\n mounted () {\r\n this.setupLogoTimeline()\r\n this.setupScrollHandlers()\r\n this.onLoadTimeline.play()\r\n },\r\n created () {\r\n window.addEventListener('keydown', this.keydown)\r\n },\r\n beforeDestroy () {\r\n window.addEventListener('keydown', this.keydown)\r\n this.removeScrollHandlers()\r\n },\r\n methods: {\r\n ...mapMutations(['setMegaMenu', 'setFilterState', 'setSearchStarted', 'setSiteSearchOpen', 'setSecondaryLinksOpen']),\r\n setupLogoTimeline () {\r\n const svg = document.querySelector('.homepage-logo__svg')\r\n const firstWordOtherLetters = document.querySelector('.homepage-logo__first-word-other-letters')\r\n const ampersand = document.querySelector('.homepage-logo__ampersand')\r\n const secondWordFirstLetter = document.querySelector('.homepage-logo__second-word-first-letter')\r\n const secondWordOtherLetters = document.querySelector('.homepage-logo__second-word-other-letters')\r\n const verticalSpacer = document.querySelector('.navigation__homepage-vertical-spacer')\r\n const marginSpacer = document.querySelector('.navigation__homepage-margin-spacer')\r\n const smallLogo = document.querySelector('.navigation__logo-svg-wrapper')\r\n const homepageLogo = document.querySelector('.homepage-logo')\r\n\r\n const mainDuration = onScrollDurations.logoTransition * 0.75\r\n const circleDuration = onScrollDurations.logoTransition - mainDuration\r\n const ease = 'power1.inOut'\r\n\r\n const letterFadeTranslateLeftTimeline = () => {\r\n const originalViewBoxWidth = 341 // From SVG\r\n const newViewBoxWidth = 60\r\n const newSvgWidth = 43\r\n\r\n const viewBoxInterpolate = gsap.utils.interpolate(originalViewBoxWidth, newViewBoxWidth)\r\n const widthInterpolate = gsap.utils.interpolate(originalViewBoxWidth, newSvgWidth)\r\n const duration = mainDuration\r\n const defaults = { ease, duration }\r\n\r\n return gsap.timeline({ defaults })\r\n .to(firstWordOtherLetters, { opacity: 0 }, BEGINNING_OF_TIMELINE)\r\n .to(ampersand, { xPercent: -695 }, BEGINNING_OF_TIMELINE)\r\n .to(secondWordFirstLetter, { xPercent: -1230 }, BEGINNING_OF_TIMELINE)\r\n .to(secondWordOtherLetters, { opacity: 0 }, BEGINNING_OF_TIMELINE)\r\n .to({}, {\r\n duration,\r\n onUpdate () {\r\n svg.setAttribute('width', widthInterpolate(this.ratio))\r\n svg.setAttribute('viewBox', `0 0 ${viewBoxInterpolate(this.ratio)} 19`)\r\n }\r\n }, BEGINNING_OF_TIMELINE)\r\n }\r\n\r\n const shiftContentTimeline = () => {\r\n const duration = mainDuration\r\n const defaults = { ease, duration }\r\n\r\n // This is calculated by taking the height of the .homepage-logo__svg and\r\n // multiplying it by the $homepage-log__svg-y-translate scss variable.\r\n // At the time of this writing, those values are: 19px * -2.2 = -41.8\r\n const startingYOffset = 0\r\n\r\n // This is the value defined in $navigation__homepage-spacer-initial-margin\r\n const marginSpacerInitialMargin = -83\r\n\r\n return gsap.timeline({ defaults })\r\n .fromTo(svg, { y: startingYOffset }, { yPercent: 200 }, BEGINNING_OF_TIMELINE)\r\n .fromTo(marginSpacer, { margin: `0 0 0 ${marginSpacerInitialMargin}px` }, { margin: '0 0 0 0' }, BEGINNING_OF_TIMELINE)\r\n .to(verticalSpacer, { height: 0 }, BEGINNING_OF_TIMELINE)\r\n }\r\n\r\n const swapLogos = () => {\r\n const duration = circleDuration\r\n const defaults = { ease, duration }\r\n\r\n return gsap.timeline({ defaults })\r\n .fromTo(smallLogo, { display: 'none' }, { display: 'block' }, BEGINNING_OF_TIMELINE)\r\n .to(homepageLogo, { opacity: 0 }, BEGINNING_OF_TIMELINE)\r\n }\r\n\r\n const masterTimeline = gsap.timeline({ paused: true })\r\n .add(letterFadeTranslateLeftTimeline(), BEGINNING_OF_TIMELINE)\r\n .add(shiftContentTimeline(), BEGINNING_OF_TIMELINE)\r\n .add(swapLogos())\r\n\r\n let isTriggered = false\r\n\r\n // The wrapper timeline will play/reverse the master timeline whenever the progress of\r\n // the onScrollTimeline crosses a specific threshold\r\n const wrapperTimeline = gsap.timeline({ defaults: { ease, duration: onScrollDurations.tealCircleMove } })\r\n .to({}, {\r\n onUpdate () {\r\n const threshold = 0.5\r\n\r\n if (this.ratio >= threshold && !isTriggered) {\r\n isTriggered = true\r\n masterTimeline.play()\r\n } else if (this.ratio < threshold && isTriggered) {\r\n isTriggered = false\r\n masterTimeline.reverse()\r\n }\r\n }\r\n })\r\n this.onScrollTimeline\r\n .add(wrapperTimeline, BEGINNING_OF_TIMELINE)\r\n },\r\n linkSelected (urlStartsWith) {\r\n const match = window.location.pathname.includes(urlStartsWith) && urlStartsWith !== ''\r\n return match\r\n },\r\n toggleSearch (toggle) {\r\n if (toggle != null) {\r\n this.setSiteSearchOpen(toggle)\r\n } else {\r\n this.setSiteSearchOpen(!this.siteSearchOpen)\r\n }\r\n },\r\n keydown (e) {\r\n if (e.key === 'Escape') { this.toggleSearch(false) }\r\n if (e.key === 'Enter') {\r\n if (this.siteSearchOpen) {\r\n e.preventDefault()\r\n this.submitSiteSearch()\r\n }\r\n }\r\n },\r\n updateInput (e) {\r\n this.keywordFilter = e.target.value\r\n },\r\n submitSiteSearch () {\r\n if (this.keywordFilter) {\r\n window.location.assign(`/search#q=${this.keywordFilter}`)\r\n }\r\n },\r\n setupScrollHandlers () {\r\n const threshold = 300\r\n const updateProgress = () => {\r\n const yOffset = window.pageYOffset\r\n if (yOffset > threshold) {\r\n this.progreess = 1\r\n } else if (yOffset < 0) {\r\n this.progress = 0\r\n } else {\r\n this.progress = yOffset / threshold\r\n }\r\n\r\n this.onScrollTimeline.progress(this.progress)\r\n }\r\n updateProgress()\r\n\r\n this.scrollHandler = () => {\r\n if (this.animationsPaused) {\r\n return\r\n }\r\n if (!this.isOnLoadComplete) {\r\n this.onLoadTimeline.progress(1)\r\n }\r\n requestAnimationFrame(updateProgress)\r\n }\r\n\r\n window.addEventListener('scroll', this.scrollHandler)\r\n window.addEventListener('resize', this.scrollHandler)\r\n },\r\n removeScrollHandlers () {\r\n window.removeEventListener('scroll', this.scrollHandler)\r\n window.removeEventListener('resize', this.scrollHandler)\r\n }\r\n }\r\n})\r\n","import Vue from 'vue'\r\n// import search from '../mixins/search.js'\r\n\r\nVue.component('People', {\r\n // mixins: [search],\r\n data: _ => ({\r\n keyword: '',\r\n filters: {\r\n page: 1\r\n }\r\n }),\r\n methods: {\r\n onKeywordSubmit () {\r\n this.filters.keyword = this.keyword || undefined\r\n this.keyword = ''\r\n this.search()\r\n }\r\n }\r\n})\r\n","import Vue from 'vue'\r\n\r\nVue.component('person', {\r\n props: {\r\n person: { type: Object, default: () => ({}) }\r\n },\r\n computed: {\r\n initials () {\r\n return this.person.Name.split(' ').map((n) => n[0]).join('')\r\n }\r\n },\r\n methods: {\r\n officeText (office, offices, index) {\r\n if (offices.length > 0 && index < offices.length - 1) {\r\n return office + ' | '\r\n }\r\n return office\r\n }\r\n },\r\n template: `
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
`\r\n})\r\n","import Vue from 'vue'\r\nimport gsap from 'gsap'\r\nvar MorphSVGPlugin = require('../plugins/MorphSVGPlugin.min')\r\n\r\nVue.component('Podcast', {\r\n data () {\r\n return {\r\n playing: false,\r\n timeline: null\r\n }\r\n },\r\n mounted () {\r\n gsap.registerPlugin(MorphSVGPlugin)\r\n // MorphSVGPlugin.convertToPath(\"#arrow\");\r\n this.timeline = gsap.timeline({ paused: true })\r\n this.timeline.to('#play', { morphSVG: { shape: '#pause', shapeIndex: 3, duration: 2 } })\r\n this.timeline.to('#pause-2', { autoAlpha: 1 }, '0')\r\n },\r\n methods: {\r\n togglePlay () {\r\n if (!this.playing) {\r\n this.timeline.play()\r\n } else {\r\n this.timeline.reverse()\r\n }\r\n this.playing = !this.playing\r\n },\r\n resetIcon () {\r\n\r\n }\r\n }\r\n\r\n})\r\n","import Vue from 'vue'\r\nVue.component('ProgressBar', {\r\n data () {\r\n return {\r\n progress: 0\r\n }\r\n },\r\n created () {\r\n window.addEventListener('scroll', this.onScroll)\r\n },\r\n beforeDestroy () {\r\n window.removeEventListener('scroll', this.onScroll)\r\n },\r\n\r\n methods: {\r\n onScroll () {\r\n var h = document.documentElement\r\n var b = document.body\r\n var st = 'scrollTop'\r\n var sh = 'scrollHeight'\r\n\r\n this.progress = Math.round((h[st] || b[st]) / ((h[sh] || b[sh]) - h.clientHeight) * 100)\r\n }\r\n }\r\n})\r\n","import Vue from 'vue'\r\n\r\nVue.component('ReferralUrl', {\r\n mounted () {\r\n if (this.$el.querySelectorAll('iframe.ceros-experience').length > 0) {\r\n window.addEventListener('load', this.postUrl)\r\n }\r\n },\r\n beforeDestroy () {\r\n window.removeEventListener('load', this.postUrl)\r\n },\r\n methods: {\r\n postUrl () {\r\n const iframes = this.$el.querySelectorAll('iframe.ceros-experience')\r\n iframes.forEach((iframe) => {\r\n if (iframe.contentWindow) {\r\n const referrer = document.referrer\r\n iframe.contentWindow.postMessage({ referrer }, '*')\r\n }\r\n })\r\n }\r\n }\r\n})\r\n","import Vue from 'vue'\r\nimport scrollTo from '../mixins/scrollTo'\r\nimport { mapGetters } from 'vuex'\r\nimport errorCheck from '../mixins/errorCheck'\r\nimport { load } from 'recaptcha-v3'\r\n\r\nVue.component('Res', {\r\n mixins: [scrollTo, errorCheck],\r\n data () {\r\n return {\r\n sectionId: 0,\r\n requiredErrorText: 'Input is required',\r\n invalidErrorText: 'Input is invalid',\r\n recaptchaToken: ''\r\n }\r\n },\r\n computed: {\r\n ...mapGetters(['spacerHeight', 'resumeFormValues']),\r\n formValid () {\r\n for (const valueName in this.resumeFormValues) {\r\n if (this.resumeFormValues[valueName].error) {\r\n return false\r\n }\r\n }\r\n return true\r\n }\r\n },\r\n methods: {\r\n\r\n checkForm (e) {\r\n // TODO make sure select groups validate\r\n e.preventDefault()\r\n for (const valueName in this.resumeFormValues) {\r\n if (this.resumeFormValues[valueName].type === 'file') {\r\n this.resumeFormValues[valueName].error = this.checkFileError(this.resumeFormValues[valueName])\r\n } else if (this.resumeFormValues[valueName].type === 'check') {\r\n this.resumeFormValues[valueName].error = this.checkCheckbox(this.resumeFormValues[valueName])\r\n } else {\r\n this.resumeFormValues[valueName].error = this.checkInput(this.resumeFormValues[valueName])\r\n }\r\n }\r\n if (this.formValid) {\r\n this.recaptchaPublicKey = document.getElementById('recaptcha').getAttribute('data-recaptcha-key')\r\n load(this.recaptchaPublicKey).then((recaptcha) => {\r\n recaptcha.execute('submit').then((token) => {\r\n this.recaptchaToken = token\r\n this.$refs.resumeForm.recaptcha.value = token\r\n this.$nextTick(() => this.$refs.resumeForm.submit())\r\n })\r\n })\r\n }\r\n },\r\n sectionSelected (section) {\r\n return section === this.sectionId ? 'transform: translateX(0%)' : 'transform: translateX(100%);display: none;'\r\n },\r\n nextSection () {\r\n this.sectionId++\r\n this.$_scrollTo({ $el: document.querySelector('.resume__sections'), offset: this.spacerHeight })\r\n },\r\n prevSection () {\r\n this.sectionId--\r\n this.$_scrollTo({ $el: document.querySelector('.resume__sections'), offset: this.spacerHeight })\r\n }\r\n }\r\n})\r\n","import Vue from 'vue'\r\nimport { mapGetters, mapMutations } from 'vuex'\r\nimport typeahead from '../mixins/typeahead'\r\n// import { omit } from 'lodash'\r\n\r\nVue.component('search-bar', {\r\n mixins: [\r\n typeahead\r\n ],\r\n props: {\r\n endpoint: { type: String, default: '' },\r\n resultsToDisplay: { type: Number, default: undefined }\r\n },\r\n data () {\r\n return {\r\n searchBarOpen: false,\r\n keywordFilter: ''\r\n }\r\n },\r\n computed: {\r\n ...mapGetters(['filterPanelOpen', 'searchStarted', 'filters', 'siteSearchOpen'])\r\n },\r\n watch: {\r\n filters () {\r\n const keyword = this.$_get(this, 'filters.keyword')\r\n if (keyword) {\r\n this.keywordFilter = keyword\r\n }\r\n }\r\n },\r\n mounted () {\r\n window.addEventListener('keydown', this.keyDown)\r\n },\r\n beforeDestroy () {\r\n window.removeEventListener('keydown', this.keyDown)\r\n },\r\n methods: {\r\n ...mapMutations(['setFilterPanelOpen', 'setSearchStarted', 'setFilterState']),\r\n toggleFilters () {\r\n this.setFilterPanelOpen(!this.filterPanelOpen)\r\n },\r\n toggleSearchBar () {\r\n this.searchBarOpen = !this.searchBarOpen\r\n },\r\n startSearch () {\r\n this.setSearchStarted(true)\r\n if (document.querySelector('.search-bar__input')) {\r\n document.querySelector('.search-bar__input')\r\n }\r\n },\r\n submit () {\r\n this.startSearch()\r\n this.setFilterState({ ...this.filters, keyword: this.keywordFilter })\r\n this.clearTypeahead()\r\n }\r\n }\r\n})\r\n","import Vue from 'vue'\r\nimport search from '../mixins/search.js'\r\nimport { mapGetters, mapMutations } from 'vuex'\r\nimport breakpoints from '../mixins/breakpoints'\r\n\r\nVue.component('SearchLanding', {\r\n mixins: [\r\n search,\r\n breakpoints\r\n ],\r\n props: {\r\n endpoint: { type: String, default: '' },\r\n searchResultsCountLabel: { type: String, default: '' }\r\n },\r\n computed: {\r\n ...mapGetters(['filterPanelOpen', 'searchStarted', 'filters']),\r\n showLoadMore () {\r\n return this.results.length < this.total\r\n },\r\n showNoResults () {\r\n return this.$_get(this, 'response.status') === 'success' && this.results.length === 0\r\n },\r\n showDefaultHeader () {\r\n return this.$_get(this, 'response.status') !== 'success' && this.$_get(this, 'response.status') === 'ready' && Object.keys(this.$_get(this, 'filters')).length === 0\r\n },\r\n resultsCountLabel () {\r\n const resultsLabels = this.searchResultsCountLabel.split('#')\r\n resultsLabels[0] += this.results.length\r\n resultsLabels[2] = this.total + resultsLabels[2]\r\n return resultsLabels.join('')\r\n }\r\n },\r\n watch: {\r\n filters (prev, curr) {\r\n this.setSearchStarted(true)\r\n this.search()\r\n }\r\n },\r\n mounted () {\r\n },\r\n updated () {\r\n this.dynamicCalloutMargin()\r\n },\r\n methods: {\r\n ...mapMutations(['setFilterState', 'setSearchStarted']),\r\n dynamicCalloutMargin () {\r\n const landingGrid = document.querySelector('.landing-grid__grid')\r\n\r\n if (landingGrid) {\r\n const cards = landingGrid.childNodes\r\n const callout = document.querySelector('.translations-callout')\r\n const loadMore = document.querySelector('.landing-grid__load-more')\r\n\r\n if (cards.length && callout && !loadMore) {\r\n callout.style.marginTop = '-24px'\r\n }\r\n }\r\n }\r\n }\r\n})\r\n\r\n//\r\n","import Vue from 'vue'\r\nimport { mapMutations, mapGetters } from 'vuex'\r\n// import { omit } from 'lodash'\r\nimport errorCheck from '../mixins/errorCheck'\r\n\r\nVue.component('SelectGroup', {\r\n mixins: [errorCheck],\r\n props: {\r\n numberOfSelects: { type: Number, default: undefined },\r\n name: { type: String, default: '' },\r\n required: { type: Boolean, default: true }\r\n },\r\n data () {\r\n return {\r\n selectsShowing: 1,\r\n options: {}\r\n }\r\n },\r\n computed: {\r\n ...mapGetters(['resumeFormValues']),\r\n error () {\r\n return this.resumeFormValues[this.name] && this.resumeFormValues[this.name].error\r\n }\r\n },\r\n mounted () {\r\n this.createValue()\r\n },\r\n methods: {\r\n ...mapMutations(['setResumeFormValues']),\r\n changeValue (e) {\r\n this.options[e.target.name] = e.target.value\r\n this.setValue()\r\n },\r\n createValue () {\r\n const resumeFormValues = this.resumeFormValues\r\n resumeFormValues[this.name] = {}\r\n resumeFormValues[this.name].name = this.name\r\n resumeFormValues[this.name].value = {}\r\n resumeFormValues[this.name].error = false\r\n resumeFormValues[this.name].required = this.required\r\n this.setResumeFormValues({\r\n ...this.resumeFormValues\r\n })\r\n },\r\n setValue () {\r\n const resumeFormValue = this.resumeFormValues[this.name]\r\n resumeFormValue.value = this.options\r\n resumeFormValue.error = this.checkInput(resumeFormValue)\r\n this.setResumeFormValues({\r\n ...this.resumeFormValues\r\n })\r\n },\r\n addDropdown () {\r\n this.selectsShowing++\r\n },\r\n isShowing (selectNumber) {\r\n return selectNumber <= this.selectsShowing\r\n }\r\n }\r\n})\r\n","\r\nimport Vue from 'vue'\r\nimport { mapMutations, mapGetters } from 'vuex'\r\n\r\nimport { pick } from 'lodash'\r\n\r\nVue.component('selected-filter', {\r\n props: {\r\n groupKey: { type: String, default: '' },\r\n name: { type: String, default: '' },\r\n value: { type: String, default: '' }\r\n },\r\n computed: {\r\n ...mapGetters(['filters']),\r\n filterLabel () {\r\n return this.name || this.value\r\n },\r\n ariaLabel () {\r\n return this.name\r\n ? `Delete ${this.filterLabel} Tag`\r\n : this.value\r\n }\r\n },\r\n methods: {\r\n ...mapMutations(['setFilterState']),\r\n clear () {\r\n if (!this.name) {\r\n this.setFilterState(pick(this.filters, ['page', 'perpage']))\r\n } else {\r\n const newFilters = { ...this.filters }\r\n newFilters[this.groupKey] = newFilters[this.groupKey].filter(f => f !== this.value)\r\n this.setFilterState(newFilters)\r\n }\r\n }\r\n },\r\n\r\n template: ``\r\n})\r\n","import Vue from 'vue'\r\nimport gsap from 'gsap'\r\nimport breakpoints from '../mixins/breakpoints'\r\nimport scrollTo from '../mixins/scrollTo'\r\n\r\nVue.component('service-detail', {\r\n mixins: [breakpoints, scrollTo],\r\n props: {\r\n headline: { type: String, default: '' }\r\n },\r\n data () {\r\n return {\r\n serviceComponents: [],\r\n hasScrollCta: false,\r\n isScrollCtaVisible: false,\r\n formEl: undefined\r\n }\r\n },\r\n mounted () {\r\n this.styleElement = document.createElement('style')\r\n // Add the CSS rule to hide the reCAPTCHA badge on page load\r\n this.styleElement.innerHTML = '.grecaptcha-badge { display: none; }'\r\n document.head.appendChild(this.styleElement)\r\n this.playAnimation()\r\n window.addEventListener('resize', this.resizeHandler)\r\n this.setupScrollCtaVisibility()\r\n },\r\n beforeDestroy () {\r\n window.removeEventListener('resize', this.resizeHandler)\r\n this.removeScrollCtaVisiblity()\r\n },\r\n methods: {\r\n resizeHandler () {\r\n this.playAnimation()\r\n },\r\n playAnimation () {\r\n const { bg, overlay, details, components } = this.$refs\r\n this.serviceComponents = components.children\r\n gsap.timeline({ delay: 2 })\r\n .to(bg, 2, { backgroundPosition: '50% 50%' })\r\n .to(overlay, 2, { autoAlpha: 1 }, 0)\r\n .to(details, 2, { y: 0, autoAlpha: 1 }, 0)\r\n\r\n if (this.breakpoint === 'desktop' && this.serviceComponents[0] && this.serviceComponents[0].classList.contains('interrupter-module')) {\r\n gsap.timeline({})\r\n .to(components, 2, { css: { y: -80 }, autoAlpha: 1 }, 0)\r\n } else {\r\n gsap.timeline({})\r\n .to(components, 2, { css: { y: 0 }, autoAlpha: 1 }, 0)\r\n }\r\n },\r\n setupScrollCtaVisibility () {\r\n this.formEl = document.querySelector('.sitecore-form')\r\n if (this.formEl && this.$refs.scrollCta) {\r\n this.hasScrollCta = true\r\n window.addEventListener('scroll', this.checkScrollCtaVisibility)\r\n this.checkScrollCtaVisibility()\r\n }\r\n },\r\n removeScrollCtaVisiblity () {\r\n window.removeEventListener('scroll', this.checkScrollCtaVisibility)\r\n },\r\n checkScrollCtaVisibility () {\r\n window.requestAnimationFrame(() => {\r\n const isVisible = this.formEl.getBoundingClientRect().y - window.innerHeight / 2 > 0\r\n this.setBadgeState(!isVisible)\r\n if (isVisible !== this.isScrollCtaVisible) {\r\n this.isScrollCtaVisible = isVisible\r\n }\r\n })\r\n },\r\n scrollToForm () {\r\n this.$_scrollTo({\r\n $el: this.formEl,\r\n offset: 100\r\n })\r\n },\r\n setBadgeState (isBadgeVisible) {\r\n const badge = document.querySelector('.grecaptcha-badge')\r\n if (badge) {\r\n if (isBadgeVisible) {\r\n badge.style.display = 'block'\r\n badge.style.visibility = 'visible'\r\n } else {\r\n badge.style.display = 'none'\r\n }\r\n }\r\n }\r\n }\r\n})\r\n","import Vue from 'vue'\r\nimport modal from '../mixins/modal.js'\r\nimport axios from 'axios'\r\n\r\nVue.component('SidebarLanguageMenu', {\r\n mixins: [modal],\r\n props: {\r\n langListClass: { type: String, default: '' }\r\n },\r\n data () {\r\n return {\r\n modalElement: '.sidebar-lang-menu__list',\r\n menuOpen: false\r\n }\r\n },\r\n computed: {\r\n langMenuOpen () {\r\n return this.menuOpen\r\n }\r\n },\r\n watch: {\r\n langMenuOpen () {\r\n const panel = document.querySelector('.filters-panel__inner')\r\n\r\n if (this.langMenuOpen) {\r\n this.openModal(document.querySelector('.' + this.langListClass), document.querySelector('.landing-grid__lang-menu-btn'))\r\n\r\n const windowWidth = window.innerWidth\r\n if (windowWidth < 1024) {\r\n const dropdown = document.querySelector('.sidebar-lang-menu__list')\r\n const langMenu = document.querySelector('.sidebar-lang-menu')\r\n const langMenuHeight = langMenu.clientHeight\r\n\r\n // get initial padding value\r\n const initialPad = window.getComputedStyle(panel, null).getPropertyValue('padding-bottom')\r\n\r\n // save for later\r\n localStorage.setItem('tempPad', initialPad)\r\n\r\n // doing things after the dropdown animation\r\n setTimeout(() => {\r\n const dropdownHeight = dropdown.clientHeight\r\n const paddingOffset = dropdownHeight + langMenuHeight + 'px'\r\n panel.style.paddingBottom = `${paddingOffset}`\r\n }, 200)\r\n }\r\n } else {\r\n this.closeModal()\r\n\r\n // get the initial temp pad value\r\n const initialPadTemp = localStorage.getItem('tempPad')\r\n\r\n // reset to initial value\r\n panel.style.paddingBottom = `${initialPadTemp}`\r\n\r\n // remove saved height from open\r\n setTimeout(() => {\r\n localStorage.removeItem('tempPad')\r\n }, 20)\r\n }\r\n }\r\n },\r\n mounted () {\r\n window.addEventListener('keydown', this.closeMenu)\r\n },\r\n beforeDestroy () {\r\n window.removeEventListener('keydown', this.closeMenu)\r\n },\r\n methods: {\r\n closeMenu (e) {\r\n if (e.key === 'Escape') {\r\n if (this.menuOpen) {\r\n this.menuOpen = false\r\n }\r\n }\r\n },\r\n toggleLanguageMenu () {\r\n this.menuOpen = !this.menuOpen\r\n },\r\n selectLanguage (langUrl) {\r\n if (!!langUrl && langUrl.length > 0 && langUrl !== '#') {\r\n axios.post('/sitecore/api/insights/settranslatednotification')\r\n .then(res => {\r\n window.location.assign(langUrl)\r\n return res\r\n })\r\n }\r\n }\r\n }\r\n})\r\n","import Vue from 'vue'\r\n\r\nVue.component('stats', {\r\n data () {\r\n return {\r\n statsCount: 0\r\n }\r\n },\r\n computed: {\r\n statsLabel () {\r\n return this.statsCount === 1 ? 'one'\r\n : this.statsCount === 2 ? 'two'\r\n : this.statsCount === 3 ? 'three'\r\n : this.statsCount === 4 ? 'four'\r\n : 'wrap'\r\n }\r\n },\r\n mounted () {\r\n if (document) {\r\n this.statsCount = document.querySelectorAll('.stat').length\r\n }\r\n }\r\n})\r\n","import Vue from 'vue'\r\n// import gsap from 'gsap'\r\nimport scrollTo from '../mixins/scrollTo'\r\n\r\nVue.component('table-of-contents', {\r\n mixins: [scrollTo],\r\n data () {\r\n return {\r\n landmarks: [{\r\n title: 'Option One'\r\n }],\r\n offset: 100,\r\n isOpen: false,\r\n selectors: '.rich-text h3, .rich-text h2, .table-of-contents-header, .feature-card__title'\r\n }\r\n },\r\n mounted () {\r\n Vue.nextTick(() => {\r\n this.landmarks = document.querySelectorAll(this.selectors)\r\n })\r\n\r\n this.offset = document.querySelector('.navigation').offsetHeight + document.querySelector('.action-bar').offsetHeight\r\n },\r\n methods: {\r\n selectLandmark (event) {\r\n const index = event.target.value\r\n this.$_scrollTo({ $el: this.landmarks[index], offset: this.offset })\r\n this.$refs.dropdown.selectedIndex = 0\r\n },\r\n setLandmarks () {\r\n this.isOpen = !this.isOpen\r\n this.landmarks = document.querySelectorAll(this.selectors)\r\n }\r\n }\r\n\r\n})\r\n","import Vue from 'vue'\r\nimport { mapGetters, mapMutations } from 'vuex'\r\nimport errorCheck from '../mixins/errorCheck'\r\n\r\nVue.component('TextInput', {\r\n mixins: [errorCheck],\r\n props: { type: { type: String, default: 'text' }, name: { type: String, default: '' }, required: { type: Boolean, default: true } },\r\n data () {\r\n return {\r\n requiredErrorMessage: 'Field is required',\r\n value: ''\r\n }\r\n },\r\n computed: {\r\n ...mapGetters(['resumeFormValues']),\r\n error () {\r\n return this.resumeFormValues[this.name] && this.resumeFormValues[this.name].error\r\n }\r\n },\r\n mounted () {\r\n this.createInput()\r\n },\r\n methods: {\r\n ...mapMutations(['setResumeFormValues']),\r\n blur (e) {\r\n this.setValues()\r\n },\r\n createInput () {\r\n const formValue = {}\r\n formValue[this.name] = { value: '', error: false, required: this.required, type: this.type }\r\n this.setResumeFormValues({ ...this.resumeFormValues, ...formValue })\r\n },\r\n setValues () {\r\n const formValue = this.resumeFormValues[this.name]\r\n formValue.value = this.value\r\n formValue.error = this.checkInput(formValue)\r\n this.setResumeFormValues({ ...this.resumeFormValues })\r\n }\r\n }\r\n})\r\n","import Vue from 'vue'\r\nimport VueSelect from 'vue-select'\r\n\r\nVue.component('v-select', VueSelect.VueSelect)\r\n","module.exports = {\r\n Cta: require('./Cta'),\r\n ProgressBar: require('./ProgressBar'),\r\n Podcast: require('./Podcast'),\r\n AdvancedFilter: require('./AdvancedFilter'),\r\n FiltersPanel: require('./FiltersPanel'),\r\n Navigation: require('./Navigation'),\r\n SearchBar: require('./SearchBar'),\r\n TableOfContents: require('./TableOfContents'),\r\n AdvancedFilters: require('./AdvancedFilters'),\r\n SelectedFilter: require('./SelectedFilter'),\r\n SearchLanding: require('./SearchLanding'),\r\n InsightDetail: require('./InsightDetail'),\r\n ActionBarLink: require('./ActionBarLink'),\r\n People: require('./People'),\r\n Person: require('./Person'),\r\n HomepageIntro: require('./HomepageIntro'),\r\n NarrativeAnimationTop: require('./NarrativeAnimationTop'),\r\n NarrativeAnimationBottom: require('./NarrativeAnimationBottom'),\r\n Lottie: require('./Lottie'),\r\n Footer: require('./Footer'),\r\n Insight: require('./Insight'),\r\n FocusPanels: require('./FocusPanels'),\r\n FeaturedInsightCard: require('./FeaturedInsightCard'),\r\n VueSelect: require('./VueSelect'),\r\n MegaMenu: require('./MegaMenu'),\r\n FeatureCard: require('./FeatureCard'),\r\n ServiceDetail: require('./ServiceDetail'),\r\n Stats: require('./Stats'),\r\n FlexHeader: require('./FlexHeader'),\r\n LanguageMenu: require('./LanguageMenu'),\r\n LanguageModal: require('./LanguageModal'),\r\n LanguageRedirectModal: require('./LanguageRedirectModal'),\r\n LanguageChangedAlert: require('./LanguageChangedAlert'),\r\n SidebarLanguageMenu: require('./SidebarLanguageMenu'),\r\n LeadershipCard: require('./LeadershipCard'),\r\n Res: require('./Res'),\r\n SelectGroup: require('./SelectGroup'),\r\n TextInput: require('./TextInput'),\r\n FileInput: require('./FileInput'),\r\n CheckboxInput: require('./CheckboxInput'),\r\n DualSelector: require('./DualSelector'),\r\n ReferralUrl: require('./ReferralUrl')\r\n}\r\n","import Vue from 'vue'\r\nimport { TimelineLite, TweenLite } from 'gsap'\r\n\r\nconst newAnimation = (el) =>\r\n (el)\r\n ? new TimelineLite()\r\n .set(el, { height: 'auto', visibility: 'hidden' })\r\n .fromTo(el, 0.4, { height: 0 }, { height: '100%' })\r\n .fromTo(el, 0.4,\r\n { opacity: 0, visibility: 'visible' },\r\n { opacity: 1 }\r\n )\r\n .eventCallback('onReverseComplete', () => {\r\n TweenLite.set(el, { height: 0 })\r\n })\r\n .pause()\r\n : undefined\r\n\r\nVue.directive('Expand', {\r\n bind (el, { value }) {\r\n el.animation = newAnimation(el)\r\n\r\n if (value) {\r\n el.animation.progress(1)\r\n } else {\r\n el.animation.progress(0)\r\n }\r\n },\r\n update (el, { value }) {\r\n if (value) {\r\n el.animation.invalidate().play()\r\n } else {\r\n el.animation.reverse()\r\n }\r\n }\r\n})\r\n","module.exports = {\r\n Expand: require('./Expand')\r\n}\r\n","import '../styles/main.scss'\r\n\r\n// Polyfills\r\nimport 'core-js/stable'\r\nimport 'regenerator-runtime/runtime'\r\nimport elementClosest from 'element-closest'\r\nelementClosest(window)\r\n\r\nrequire('./directives')\r\nrequire('./components')\r\nrequire('./app')\r\n","export default {\r\n data () {\r\n return {\r\n breakpoint: 'desktop'\r\n }\r\n },\r\n mounted () {\r\n this.setBreakpoint()\r\n window.addEventListener('resize', () => { this.setBreakpoint() })\r\n },\r\n beforeDestroy () {\r\n window.removeEventListener('resize', () => { this.setBreakpoint() })\r\n },\r\n methods: {\r\n setBreakpoint () {\r\n this.breakpoint = window.getComputedStyle(document.querySelector('body'), ':before').getPropertyValue('content').replace(/\\\"/g, '') // eslint-disable-line\r\n }\r\n }\r\n}\r\n","const errors = {\r\n required: 'Field is required',\r\n invalid: 'Field is invalid',\r\n atLeastOne: (group) => 'At least one input required',\r\n extension: 'Document must be PDF or Word Document',\r\n specialChars: 'File cannot contain special characters'\r\n}\r\n\r\nexport default {\r\n methods: {\r\n checkInput (input) {\r\n if (input.value !== '') {\r\n if (input.type === 'email') {\r\n if (!/^(([^<>()\\[\\]\\\\.,;:\\s@\"]+(\\.[^<>()\\[\\]\\\\.,;:\\s@\"]+)*)|(\".+\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$/.test(input.value)) { // eslint-disable-line\r\n return errors.invalid\r\n }\r\n }\r\n if (input.type === 'phone') {\r\n if (!/^\\s*(?:\\+?(\\d{1,3}))?[-. (]*(\\d{3})[-. )]*(\\d{3})[-. ]*(\\d{4})(?: *x(\\d+))?\\s*$/.test(input.value)) {\r\n return errors.invalid\r\n }\r\n }\r\n } else {\r\n if (input.required) {\r\n return errors.required\r\n }\r\n }\r\n if (JSON.stringify(input.value) === JSON.stringify({}) && input.required) {\r\n return errors.atLeastOne(input)\r\n }\r\n\r\n return false\r\n },\r\n checkFileError (input) {\r\n if (input.value !== '') {\r\n const parts = input.value.split('.')\r\n const ext = parts[parts.length - 1]\r\n const filename = parts[parts.length - 2].split('\\\\').pop().split('/').pop()\r\n\r\n if (ext !== 'pdf' && ext !== 'docx') {\r\n return errors.extension\r\n }\r\n if ((/[^a-zA-Z0-9-_ ]/).test(filename)) {\r\n return errors.specialChars\r\n }\r\n } else {\r\n if (input.required) {\r\n return errors.required\r\n }\r\n }\r\n\r\n return false\r\n },\r\n checkCheckbox (input) {\r\n if (input.required) {\r\n if (!input.value) {\r\n return errors.required\r\n }\r\n }\r\n return false\r\n }\r\n }\r\n\r\n}\r\n","\r\nexport default {\r\n data () {\r\n return {\r\n focusableEls: [],\r\n lastFocusedEl: null\r\n }\r\n },\r\n mounted () {\r\n window.addEventListener('keydown', this.keyDown)\r\n document.querySelector(this.modalElement).querySelectorAll('a[href], area[href], input:not([disabled]), select:not([disabled]), textarea:not([disabled]), button:not([disabled]), [tabindex=\"0\"]').forEach((e) => { e.tabIndex = -1 })\r\n },\r\n beforeDestroy () {\r\n window.removeEventListener('keydown', this.keyDown)\r\n },\r\n computed: {\r\n firstFocusableEl () {\r\n return this.focusableEls[0]\r\n },\r\n lastFocusableEl () {\r\n return this.focusableEls[this.focusableEls.length - 1]\r\n }\r\n },\r\n methods: {\r\n openModal (targetElement, clickedEl) {\r\n this.lastFocusedEl = clickedEl\r\n var focusableEls = targetElement.querySelectorAll('a[href], area[href], input:not([disabled]), select:not([disabled]), textarea:not([disabled]), button:not([disabled]), [tabindex=\"0\"]')\r\n this.focusableEls = Array.prototype.slice.call(focusableEls)\r\n this.focusableEls.forEach((e) => { e.tabIndex = 0 })\r\n if (this.firstFocusableEl) {\r\n // Add slight delay before focusing in case element needs to become visible\r\n setTimeout(() => this.firstFocusableEl.focus(), 1000)\r\n }\r\n },\r\n closeModal () {\r\n this.focusableEls.forEach((e) => { e.tabIndex = -1 })\r\n if (this.lastFocusedEl) {\r\n this.lastFocusedEl.focus()\r\n }\r\n },\r\n keyDown (e) {\r\n if (e.shiftKey && e.keyCode === 9) {\r\n if (document.activeElement === this.firstFocusableEl) {\r\n if (this.lastFocusableEl) {\r\n e.preventDefault()\r\n this.lastFocusableEl.focus()\r\n }\r\n }\r\n } else if (e.key === 'Tab') {\r\n if (document.activeElement === this.lastFocusableEl) {\r\n if (this.firstFocusableEl) {\r\n e.preventDefault()\r\n this.firstFocusableEl.focus()\r\n }\r\n }\r\n }\r\n }\r\n }\r\n}\r\n","\r\nvar SmoothScroll = require('smooth-scroll')\r\n\r\nexport default {\r\n methods: {\r\n $_scrollTo ({ $el, offset = 100, speed = 500 }) {\r\n const scroll = new SmoothScroll()\r\n scroll.animateScroll($el, undefined, {\r\n speed,\r\n offset,\r\n speedAsDuration: true,\r\n updateURL: false\r\n })\r\n }\r\n }\r\n}\r\n","import axios from 'axios'\r\nimport scrollTo from './scrollTo'\r\n\r\nconst responses = {\r\n ready: _ => ({ status: 'ready', Results: [] }),\r\n loading: response => ({ ...response, status: 'loading' }),\r\n success: ({ page, Results, TotalFound }) =>\r\n ({ status: 'success', page, Results, TotalFound }),\r\n error: reason =>\r\n ({ status: 'error', reason })\r\n}\r\n\r\nconst toList = (obj) =>\r\n Object.keys(obj)\r\n .map(key => ({ key, value: Array.isArray(obj[key]) ? obj[key].join('|') : obj[key] }))\r\n .filter(obj => obj.value !== undefined)\r\n\r\n// Search stuff\r\nconst getApiEndpoint = (self) => {\r\n return axios.get(self.endpoint + self.queryParameters + (self.queryParameters ? `&page=${self.page}` : ''))\r\n .then(res => {\r\n return res.data\r\n })\r\n}\r\n\r\nconst replaceResults = (self) => (data) => {\r\n self.response = responses.success(data)\r\n // self.$_scrollTo({ $el: document.querySelector('.results'), offset: 120 })\r\n}\r\n\r\nconst appendResults = (self) => ({ page, TotalFound, Results }) => {\r\n const currentResults = self.response.Results || []\r\n\r\n self.response = responses.success({\r\n page,\r\n TotalFound,\r\n Results: currentResults.concat(Results)\r\n })\r\n}\r\n\r\nconst handleError = (self) => (_reason) => {\r\n console.log(_reason)\r\n self.response = responses.error('Oops, something went wrong.')\r\n}\r\n\r\nconst performSearchAndThen = (self, fn) => {\r\n return getApiEndpoint(self)\r\n .then(fn(self))\r\n .catch(handleError(self))\r\n .then(_ => self.shouldManagePageUrl && replaceUrl(self)())\r\n}\r\n\r\nexport const valueOrThing = thing => (thing && thing.value) || thing\r\n\r\n// URL stuff\r\nconst onBackButton = (self) => ({ state }) => {\r\n self.filters = state.filters\r\n self.response = state.response\r\n}\r\n\r\nconst replaceUrl = (self) => () => {\r\n const url = window.location.pathname + self.queryParameters\r\n window.history.replaceState(self.state, document.title, url)\r\n}\r\n\r\nconst isMultiValueUrlParamKey = (key) => {\r\n const keysToValueSplit = ['functionalRole', 'industry', 'insightType', 'office', 'region', 'service', 'title', 'topic']\r\n return keysToValueSplit.includes(key)\r\n}\r\n\r\nconst getQueryParams = () => {\r\n let filters = null\r\n\r\n if (window.location.search) {\r\n const urlParams = new URLSearchParams(window.location.search)\r\n filters = {}\r\n for (const [key, value] of urlParams.entries()) {\r\n if (!key.includes('sc') && (value || key.includes('keyword'))) { filters[key] = isMultiValueUrlParamKey(key) ? value.split('|') : value }\r\n }\r\n if (Object.keys(filters).length > 0) {\r\n return filters\r\n }\r\n }\r\n\r\n return null\r\n}\r\n\r\nexport default {\r\n data: _ => ({\r\n shouldManagePageUrl: true,\r\n response: responses.ready(),\r\n ignoredActiveFilters: [],\r\n page: 0\r\n }),\r\n mixins: [scrollTo],\r\n mounted () {\r\n const inBrowser = typeof window !== 'undefined'\r\n const qp = getQueryParams()\r\n if (qp) {\r\n this.setFilterState(qp)\r\n }\r\n\r\n if (inBrowser && this.shouldManagePageUrl) {\r\n window.addEventListener('popstate', onBackButton(this))\r\n replaceUrl(this)()\r\n }\r\n },\r\n computed: {\r\n state () {\r\n const { filters, response } = this\r\n return { filters, response }\r\n },\r\n activeFilterList () {\r\n const keysToIgnore = [...this.ignoredActiveFilters, 'page', 'perpage']\r\n return toList(this.filters)\r\n .filter(({ key }) => keysToIgnore.indexOf(key) === -1)\r\n },\r\n queryParameters () {\r\n const filtersAsList = toList(this.filters)\r\n\r\n return filtersAsList.length > 0\r\n ? '?' + filtersAsList\r\n .map(obj => `${obj.key}=${encodeURIComponent(valueOrThing(obj.value))}`)\r\n .join('&')\r\n : ''\r\n },\r\n results () {\r\n return this.response.Results || []\r\n },\r\n total () {\r\n return this.response.TotalFound || 0\r\n }\r\n },\r\n methods: {\r\n // Filter stuff\r\n clear (key) {\r\n // this.$delete(this.filters, key)\r\n },\r\n clearAll () {\r\n // this.activeFilterList.forEach(({ key }) => this.clear(key))\r\n this.setFilterState({ })\r\n },\r\n // Search stuff\r\n search () {\r\n this.response = responses.loading()\r\n this.page = 0\r\n return performSearchAndThen(this, replaceResults)\r\n },\r\n loadMore () {\r\n this.page = parseInt(valueOrThing(this.page)) + 1 || 2\r\n this.response = responses.loading(this.response)\r\n\r\n const currentResultsCount = this.response.Results.length\r\n\r\n return performSearchAndThen(this, appendResults)\r\n .then(() => {\r\n if (this.$refs.results) {\r\n const elOfFirstLoadedItem = this.$refs.results.querySelector(`*:nth-child(${currentResultsCount + 1})`)\r\n if (elOfFirstLoadedItem) {\r\n elOfFirstLoadedItem.querySelector('a').focus()\r\n }\r\n }\r\n })\r\n }\r\n }\r\n}\r\n","import axios from 'axios'\r\n\r\nconst responses = {\r\n ready: _ => ({ status: 'ready' }),\r\n loading: response => ({ ...response, status: 'loading' }),\r\n success: ({ Results, TotalFound }) =>\r\n ({ status: 'success', Results, TotalFound }),\r\n error: reason =>\r\n ({ status: 'error', reason })\r\n}\r\n\r\nexport default {\r\n data: _ => ({\r\n response: responses.ready(),\r\n keys: {\r\n tab: 9,\r\n enter: 13,\r\n esc: 27,\r\n space: 32,\r\n pageup: 33,\r\n pagedown: 34,\r\n end: 35,\r\n home: 36,\r\n left: 37,\r\n up: 38,\r\n right: 39,\r\n down: 40\r\n },\r\n isLoading: false,\r\n arrowCounter: -1,\r\n activedescendant: '',\r\n trayOpen: false\r\n }),\r\n watch: {\r\n keywordFilter (prev, curr) {\r\n if (this.keywordFilter.length >= 3) {\r\n this.search()\r\n }\r\n if (this.keywordFilter.length === 0) {\r\n this.response = responses.ready()\r\n this.trayOpen = false\r\n }\r\n }\r\n },\r\n created () {\r\n window.addEventListener('keydown', this.onMenuKeyDown)\r\n },\r\n beforeDestroy () {\r\n window.removeEventListener('keydown', this.onMenuKeyDown)\r\n },\r\n computed: {\r\n trimmedResults () {\r\n if (this.$_get(this, 'response.Results')) {\r\n return this.$_get(this, 'response.Results').slice(0, this.resultsToDisplay)\r\n }\r\n return []\r\n },\r\n trayOpenHasResults () {\r\n return this.trayOpen && this.trimmedResults.length > 0\r\n }\r\n },\r\n methods: {\r\n blurInput () {\r\n // this.trayOpen = false\r\n // TODO debug this\r\n return false\r\n },\r\n focusInput () {\r\n if (this.trimmedResults.length > 0) {\r\n this.trayOpen = true\r\n }\r\n },\r\n clearTypeahead () {\r\n this.response = responses.ready()\r\n },\r\n handleError () {\r\n this.response = responses.error('Oops, something went wrong.')\r\n },\r\n search () {\r\n axios.get(this.endpoint + `?keyword=${this.keywordFilter}`)\r\n .then(res => {\r\n this.response = responses.success(res.data)\r\n this.reset()\r\n this.trayOpen = true\r\n }).catch(this.handleError)\r\n },\r\n onMenuKeyDown (e) {\r\n switch (e.keyCode) {\r\n case this.keys.up:\r\n // Do stuff\r\n this.onArrowUp(e)\r\n break\r\n case this.keys.down:\r\n // Do stuff\r\n this.onArrowDown(e)\r\n break\r\n case this.keys.enter:\r\n // Do stuff\r\n this.onEnter(e)\r\n\r\n break\r\n case this.keys.space:\r\n // Do stuff\r\n this.onSpace(e)\r\n break\r\n case this.keys.esc:\r\n // Do stuff\r\n this.reset()\r\n break\r\n case this.keys.tab:\r\n // Do stuff\r\n break\r\n default:\r\n break\r\n }\r\n },\r\n reset () {\r\n this.arrowCounter = -1\r\n this.trayOpen = false\r\n },\r\n onSpace (e) {\r\n if (this.trayOpen && this.arrowCounter !== -1) {\r\n window.location.assign(this.trimmedResults[this.arrowCounter].Url)\r\n }\r\n },\r\n onEnter (e) {\r\n // if (this.trayOpen && this.arrowCounter !== -1) {\r\n // window.location.assign(this.trimmedResults[this.arrowCounter].Url)\r\n // }\r\n },\r\n onArrowDown (e) {\r\n if (this.trayOpen) {\r\n if (this.arrowCounter < this.trimmedResults.length - 1) {\r\n this.arrowCounter = this.arrowCounter + 1\r\n this.setActiveDescendant()\r\n }\r\n }\r\n },\r\n onArrowUp (e) {\r\n if (this.trayOpen) {\r\n e.preventDefault()\r\n if (this.arrowCounter > 0) {\r\n this.arrowCounter = this.arrowCounter - 1\r\n this.setActiveDescendant()\r\n }\r\n }\r\n },\r\n handleClickOutside (evt) {\r\n if (!this.$el.contains(evt.target)) {\r\n this.reset()\r\n }\r\n },\r\n setActiveDescendant () {\r\n this.activedescendant = this.getId(this.arrowCounter)\r\n // document.getElementById(`result-item-${this.arrowCounter}`).focus()\r\n },\r\n getId (index) {\r\n return `result-item-${index}`\r\n },\r\n isSelected (i) {\r\n return i === this.arrowCounter\r\n }\r\n }\r\n}\r\n","/*!\r\n * MorphSVGPlugin 3.0.4\r\n * https://greensock.com\r\n *\r\n * @license Copyright 2019, GreenSock. All rights reserved.\r\n * Subject to the terms at https://greensock.com/standard-license or for Club GreenSock members, the agreement issued with that membership.\r\n * @author: Jack Doyle, jack@greensock.com\r\n */\r\n/* eslint-disable */\r\n\r\n!(function (t, e) { typeof exports === 'object' && typeof module !== 'undefined' ? e(exports) : typeof define === 'function' && define.amd ? define(['exports'], e) : e((t = t || self).window = t.window || {}) }(this, function (t) { 'use strict'; function m (t) { return typeof t === 'string' } var M = /[achlmqstvz]|(-?\\d*\\.?\\d*(?:e[\\-+]?\\d+)?)[0-9]/gi; var A = /(?:(-)?\\d*\\.?\\d*(?:e[\\-+]?\\d+)?)[0-9]/gi; var b = /[\\+\\-]?\\d*\\.?\\d+e[\\+\\-]?\\d+/gi; var n = /(^[#\\.][a-z]|[a-y][a-z])/i; var D = Math.PI / 180; var E = Math.sin; var k = Math.cos; var Z = Math.abs; var $ = Math.sqrt; var h = function _isNumber (t) { return typeof t === 'number' }; var s = function _round (t) { return ~~(1e5 * t + (t < 0 ? -0.5 : 0.5)) / 1e5 }; function reverseSegment (t) { var e; var r = 0; for (t.reverse(); r < t.length; r += 2)e = t[r], t[r] = t[r + 1], t[r + 1] = e; t.reversed = !t.reversed } var z = { rect: 'rx,ry,x,y,width,height', circle: 'r,cx,cy', ellipse: 'rx,ry,cx,cy', line: 'x1,x2,y1,y2' }; function convertToPath (t, e) { var r; var n; var o; var i; var a; var h; var s; var l; var g; var c; var p; var u; var f; var d; var _; var P; var m; var v; var y; var w; var x; var T; var M = t.tagName.toLowerCase(); var b = 0.552284749831; return M !== 'path' && t.getBBox ? (h = (function _createPath (t, e) { var r; var n = document.createElementNS('http://www.w3.org/2000/svg', 'path'); var o = [].slice.call(t.attributes); var i = o.length; for (e = ',' + e + ','; --i > -1;)r = o[i].nodeName.toLowerCase(), e.indexOf(',' + r + ',') < 0 && n.setAttributeNS(null, r, o[i].nodeValue); return n }(t, 'x,y,width,height,cx,cy,rx,ry,r,x1,x2,y1,y2,points')), T = (function _attrToObj (t, e) { for (var r = e ? e.split(',') : [], n = {}, o = r.length; --o > -1;)n[r[o]] = +t.getAttribute(r[o]) || 0; return n }(t, z[M])), M === 'rect' ? (i = T.rx, a = T.ry, n = T.x, o = T.y, c = T.width - 2 * i, p = T.height - 2 * a, r = i || a ? 'M' + (P = (d = (f = n + i) + c) + i) + ',' + (v = o + a) + ' V' + (y = v + p) + ' C' + [P, w = y + a * b, _ = d + i * b, x = y + a, d, x, d - (d - f) / 3, x, f + (d - f) / 3, x, f, x, u = n + i * (1 - b), x, n, w, n, y, n, y - (y - v) / 3, n, v + (y - v) / 3, n, v, n, m = o + a * (1 - b), u, o, f, o, f + (d - f) / 3, o, d - (d - f) / 3, o, d, o, _, o, P, m, P, v].join(',') + 'z' : 'M' + (n + c) + ',' + o + ' v' + p + ' h' + -c + ' v' + -p + ' h' + c + 'z') : M === 'circle' || M === 'ellipse' ? (l = M === 'circle' ? (i = a = T.r) * b : (i = T.rx, (a = T.ry) * b), r = 'M' + ((n = T.cx) + i) + ',' + (o = T.cy) + ' C' + [n + i, o + l, n + (s = i * b), o + a, n, o + a, n - s, o + a, n - i, o + l, n - i, o, n - i, o - l, n - s, o - a, n, o - a, n + s, o - a, n + i, o - l, n + i, o].join(',') + 'z') : M === 'line' ? r = 'M' + T.x1 + ',' + T.y1 + ' L' + T.x2 + ',' + T.y2 : M !== 'polyline' && M !== 'polygon' || (r = 'M' + (n = (g = (t.getAttribute('points') + '').match(A) || []).shift()) + ',' + (o = g.shift()) + ' L' + g.join(','), M === 'polygon' && (r += ',' + n + ',' + o + 'z')), h.setAttribute('d', rawPathToString(h._gsRawPath = stringToRawPath(r))), e && t.parentNode && (t.parentNode.insertBefore(h, t), t.parentNode.removeChild(t)), h) : t } function arcToSegment (t, e, r, n, o, i, a, h, s) { if (t !== h || e !== s) { r = Z(r), n = Z(n); var l = o % 360 * D; var g = k(l); var c = E(l); var p = Math.PI; var u = 2 * p; var f = (t - h) / 2; var d = (e - s) / 2; var _ = g * f + c * d; var P = -c * f + g * d; var m = _ * _; var v = P * P; var y = m / (r * r) + v / (n * n); y > 1 && (r = $(y) * r, n = $(y) * n); var w = r * r; var x = n * n; var T = (w * x - w * v - x * m) / (w * v + x * m); T < 0 && (T = 0); var M = (i === a ? -1 : 1) * $(T); var b = r * P / n * M; var S = -n * _ / r * M; var N = g * b - c * S + (t + h) / 2; var R = c * b + g * S + (e + s) / 2; var A = (_ - b) / r; var z = (P - S) / n; var O = (-_ - b) / r; var L = (-P - S) / n; var Y = A * A + z * z; var C = (z < 0 ? -1 : 1) * Math.acos(A / $(Y)); var F = (A * L - z * O < 0 ? -1 : 1) * Math.acos((A * O + z * L) / $(Y * (O * O + L * L))); isNaN(F) && (F = p), !a && F > 0 ? F -= u : a && F < 0 && (F += u), C %= u, F %= u; var X; var I = Math.ceil(Z(F) / (u / 4)); var V = []; var j = F / I; var G = 4 / 3 * E(j / 2) / (1 + k(j / 2)); var U = g * r; var q = c * r; var H = c * -n; var B = g * n; for (X = 0; X < I; X++)_ = k(o = C + X * j), P = E(o), A = k(o += j), z = E(o), V.push(_ - G * P, P + G * _, A + G * z, z - G * A, A, z); for (X = 0; X < V.length; X += 2)_ = V[X], P = V[X + 1], V[X] = _ * U + P * H + N, V[X + 1] = _ * q + P * B + R; return V[X - 2] = h, V[X - 1] = s, V } } function stringToRawPath (t) { function tc (t, e, r, n) { g = (r - t) / 3, c = (n - e) / 3, h.push(t + g, e + c, r - g, n - c, r, n) } var e; var r; var n; var o; var i; var a; var h; var s; var l; var g; var c; var p; var u; var f; var d; var _ = (t + '').replace(b, function (t) { var e = +t; return e < 1e-4 && e > -1e-4 ? 0 : e }).match(M) || []; var P = []; var m = 0; var v = 0; var y = _.length; var w = 0; var x = 'ERROR: malformed path: ' + t; if (!t || !isNaN(_[0]) || isNaN(_[1])) return console.log(x), P; for (e = 0; e < y; e++) if (u = i, isNaN(_[e]) ? a = (i = _[e].toUpperCase()) !== _[e] : e--, n = +_[e + 1], o = +_[e + 2], a && (n += m, o += v), e || (s = n, l = o), i === 'M')h && (h.length < 8 ? P.length -= 1 : w += h.length), m = s = n, v = l = o, h = [n, o], P.push(h), e += 2, i = 'L'; else if (i === 'C')a || (m = v = 0), (h = h || [0, 0]).push(n, o, m + 1 * _[e + 3], v + 1 * _[e + 4], m += 1 * _[e + 5], v += 1 * _[e + 6]), e += 6; else if (i === 'S')g = m, c = v, u !== 'C' && u !== 'S' || (g += m - h[h.length - 4], c += v - h[h.length - 3]), a || (m = v = 0), h.push(g, c, n, o, m += 1 * _[e + 3], v += 1 * _[e + 4]), e += 4; else if (i === 'Q')g = m + 2 / 3 * (n - m), c = v + 2 / 3 * (o - v), a || (m = v = 0), m += 1 * _[e + 3], v += 1 * _[e + 4], h.push(g, c, m + 2 / 3 * (n - m), v + 2 / 3 * (o - v), m, v), e += 4; else if (i === 'T')g = m - h[h.length - 4], c = v - h[h.length - 3], h.push(m + g, v + c, n + 2 / 3 * (m + 1.5 * g - n), o + 2 / 3 * (v + 1.5 * c - o), m = n, v = o), e += 2; else if (i === 'H')tc(m, v, m = n, v), e += 1; else if (i === 'V')tc(m, v, m, v = n + (a ? v - m : 0)), e += 1; else if (i === 'L' || i === 'Z')i === 'Z' && (n = s, o = l, h.closed = !0), (i === 'L' || Z(m - n) > 0.5 || Z(v - o) > 0.5) && (tc(m, v, n, o), i === 'L' && (e += 2)), m = n, v = o; else if (i === 'A') { if (f = _[e + 4], d = _[e + 5], g = _[e + 6], c = _[e + 7], r = 7, f.length > 1 && (f.length < 3 ? (c = g, g = d, r--) : (c = d, g = f.substr(2), r -= 2), d = f.charAt(1), f = f.charAt(0)), p = arcToSegment(m, v, +_[e + 1], +_[e + 2], +_[e + 3], +f, +d, (a ? m : 0) + 1 * g, (a ? v : 0) + 1 * c), e += r, p) for (r = 0; r < p.length; r++)h.push(p[r]); m = h[h.length - 2], v = h[h.length - 1] } else console.log(x); return (e = h.length) < 6 ? (P.pop(), e = 0) : h[0] === h[e - 2] && h[1] === h[e - 1] && (h.closed = !0), P.totalPoints = w + e, P } function rawPathToString (t) { h(t[0]) && (t = [t]); var e; var r; var n; var o; var i = ''; var a = t.length; for (r = 0; r < a; r++) { for (o = t[r], i += 'M' + s(o[0]) + ',' + s(o[1]) + ' C', e = o.length, n = 2; n < e; n++)i += s(o[n++]) + ',' + s(o[n++]) + ' ' + s(o[n++]) + ',' + s(o[n++]) + ' ' + s(o[n++]) + ',' + s(o[n]) + ' '; o.closed && (i += 'z') } return i } function y () { return r || typeof window !== 'undefined' && (r = window.gsap) && r.registerPlugin && r } function L (t) { return console && console.warn(t) } function N (t) { var e; var r = t.length; var n = 0; var o = 0; for (e = 0; e < r; e++)n += t[e++], o += t[e]; return [n / (r / 2), o / (r / 2)] } function O (t) { var e; var r; var n; var o = t.length; var i = t[0]; var a = i; var h = t[1]; var s = h; for (n = 6; n < o; n += 6)i < (e = t[n]) ? i = e : e < a && (a = e), h < (r = t[n + 1]) ? h = r : r < s && (s = r); return t.centerX = (i + a) / 2, t.centerY = (h + s) / 2, t.size = (i - a) * (h - s) } function P (t, e) { void 0 === e && (e = 3); for (var r, n, o, i, a, h, s, l, g, c, p, u, f, d, _, P, m = t.length, v = t[0][0], y = v, w = t[0][1], x = w, T = 1 / e; --m > -1;) for (r = (a = t[m]).length, i = 6; i < r; i += 6) for (g = a[i], c = a[i + 1], p = a[i + 2] - g, d = a[i + 3] - c, u = a[i + 4] - g, _ = a[i + 5] - c, f = a[i + 6] - g, P = a[i + 7] - c, h = e; --h > -1;)v < (n = ((s = T * h) * s * f + 3 * (l = 1 - s) * (s * u + l * p)) * s + g) ? v = n : n < y && (y = n), w < (o = (s * s * P + 3 * l * (s * _ + l * d)) * s + c) ? w = o : o < x && (x = o); return t.centerX = (v + y) / 2, t.centerY = (w + x) / 2, t.left = y, t.width = v - y, t.top = x, t.height = w - x, t.size = (v - y) * (w - x) } function Q (t, e) { return e.length - t.length } function R (t, e) { var r = t.size || O(t); var n = e.size || O(e); return Math.abs(n - r) < (r + n) / 20 ? e.centerX - t.centerX || e.centerY - t.centerY : n - r } function S (t, e) { var r; var n; var o = t.slice(0); var i = t.length; var a = i - 2; for (e |= 0, r = 0; r < i; r++)n = (r + e) % a, t[r++] = o[n], t[r] = o[1 + n] } function T (t, e, r, n, o) { var i; var a; var h; var s; var l = t.length; var g = 0; var c = l - 2; for (r *= 6, a = 0; a < l; a += 6)s = t[i = (a + r) % c] - (e[a] - n), h = t[1 + i] - (e[a + 1] - o), g += v(h * h + s * s); return g } function U (t, e, r) { var n; var o; var i; var a = t.length; var h = N(t); var s = N(e); var l = s[0] - h[0]; var g = s[1] - h[1]; var c = T(t, e, 0, l, g); var p = 0; for (i = 6; i < a; i += 6)(o = T(t, e, i / 6, l, g)) < c && (c = o, p = i); if (r) for (reverseSegment(n = t.slice(0)), i = 6; i < a; i += 6)(o = T(n, e, i / 6, l, g)) < c && (c = o, p = -i); return p / 6 } function V (t, e, r) { for (var n, o, i, a, h, s, l = t.length, g = 1e20, c = 0, p = 0; --l > -1;) for (s = (n = t[l]).length, h = 0; h < s; h += 6)o = n[h] - e, i = n[h + 1] - r, (a = v(o * o + i * i)) < g && (g = a, c = n[h], p = n[h + 1]); return [c, p] } function W (t, e, r, n, o, i) { var a; var h; var s; var l; var g = e.length; var c = 0; var p = Math.min(t.size || O(t), e[r].size || O(e[r])) * n; var u = 1e20; var f = t.centerX + o; var d = t.centerY + i; for (a = r; a < g && !((e[a].size || O(e[a])) < p); a++)h = e[a].centerX - f, s = e[a].centerY - d, (l = v(h * h + s * s)) < u && (c = a, u = l); return l = e[c], e.splice(c, 1), l } function X (t, e) { var r; var n; var o; var i; var a; var h; var s; var l; var g; var c; var p; var u; var f; var d; var _ = 0; var P = t.length; var m = e / ((P - 2) / 6); for (f = 2; f < P; f += 6) for (_ += m; _ > 0.999999;)r = t[f - 2], n = t[f - 1], o = t[f], i = t[f + 1], a = t[f + 2], h = t[f + 3], s = t[f + 4], l = t[f + 5], g = r + (o - r) * (d = 1 / ((Math.floor(_) || 1) + 1)), g += ((p = o + (a - o) * d) - g) * d, p += (a + (s - a) * d - p) * d, c = n + (i - n) * d, c += ((u = i + (h - i) * d) - c) * d, u += (h + (l - h) * d - u) * d, t.splice(f, 4, r + (o - r) * d, n + (i - n) * d, g, c, g + (p - g) * d, c + (u - c) * d, p, u, a + (s - a) * d, h + (l - h) * d), f += 6, P += 6, _--; return t } function Y (t, e, r, n, o) { var i; var a; var h; var s; var l; var g; var c; var p = e.length - t.length; var u = p > 0 ? e : t; var f = p > 0 ? t : e; var d = 0; var _ = n === 'complexity' ? Q : R; var m = n === 'position' ? 0 : typeof n === 'number' ? n : 0.8; var v = f.length; var y = typeof r === 'object' && r.push ? r.slice(0) : [r]; var w = y[0] === 'reverse' || y[0] < 0; var x = r === 'log'; if (f[0]) { if (u.length > 1 && (t.sort(_), e.sort(_), u.size || P(u), f.size || P(f), g = u.centerX - f.centerX, c = u.centerY - f.centerY, _ === R)) for (v = 0; v < f.length; v++)u.splice(v, 0, W(f[v], u, v, m, g, c)); if (p) for (p < 0 && (p = -p), u[0].length > f[0].length && X(f[0], (u[0].length - f[0].length) / 6 | 0), v = f.length; d < p;)u[v].size || O(u[v]), s = (h = V(f, u[v].centerX, u[v].centerY))[0], l = h[1], f[v++] = [s, l, s, l, s, l, s, l], f.totalPoints += 8, d++; for (v = 0; v < t.length; v++)i = e[v], a = t[v], (p = i.length - a.length) < 0 ? X(i, -p / 6 | 0) : p > 0 && X(a, p / 6 | 0), w && !1 !== o && !a.reversed && reverseSegment(a), (r = y[v] || y[v] === 0 ? y[v] : 'auto') && (a.closed || Math.abs(a[0] - a[a.length - 2]) < 0.5 && Math.abs(a[1] - a[a.length - 1]) < 0.5 ? r === 'auto' || r === 'log' ? (y[v] = r = U(a, i, !v || !1 === o), r < 0 && (w = !0, reverseSegment(a), r = -r), S(a, 6 * r)) : r !== 'reverse' && (v && r < 0 && reverseSegment(a), S(a, 6 * (r < 0 ? -r : r))) : !w && (r === 'auto' && Math.abs(i[0] - a[0]) + Math.abs(i[1] - a[1]) + Math.abs(i[i.length - 2] - a[a.length - 2]) + Math.abs(i[i.length - 1] - a[a.length - 1]) > Math.abs(i[0] - a[a.length - 2]) + Math.abs(i[1] - a[a.length - 1]) + Math.abs(i[i.length - 2] - a[0]) + Math.abs(i[i.length - 1] - a[1]) || r % 2) ? (reverseSegment(a), y[v] = -1, w = !0) : r === 'auto' ? y[v] = 0 : r === 'reverse' && (y[v] = -1), a.closed !== i.closed && (a.closed = i.closed = !1)); return x && L('shapeIndex:[' + y.join(',') + ']'), t.shapeIndex = y } } function _ (t, e) { var r; var n; var o; var i; var a; var h; var s; var l = 0; var g = parseFloat(t[0]); var c = parseFloat(t[1]); var p = g + ',' + c + ' '; for (r = 0.5 * e / (0.5 * (o = t.length) - 1), n = 0; n < o - 2; n += 2) { if (l += r, h = parseFloat(t[n + 2]), s = parseFloat(t[n + 3]), l > 0.999999) for (a = 1 / (Math.floor(l) + 1), i = 1; l > 0.999999;)p += (g + (h - g) * a * i).toFixed(2) + ',' + (c + (s - c) * a * i).toFixed(2) + ' ', l--, i++; p += h + ',' + s + ' ', g = h, c = s } return p } function aa (t) { var e = t[0].match(G) || []; var r = t[1].match(G) || []; var n = r.length - e.length; n > 0 ? t[0] = _(e, n) : t[1] = _(r, -n) } function ba (e) { return isNaN(e) ? aa : function (t) { aa(t), t[1] = (function _offsetPoints (t, e) { if (!e) return t; var r; var n; var o; var i = t.match(G) || []; var a = i.length; var h = ''; for (r = e === 'reverse' ? (n = a - 1, -2) : (n = (2 * (parseInt(e, 10) || 0) + 1 + 100 * a) % a, 2), o = 0; o < a; o += 2)h += i[n - 1] + ',' + i[n] + ' ', n = (n + r) % a; return h }(t[1], parseInt(e, 10))) } } function da (t, e) { for (var r, n, o, i, a, h, s, l, g, c, p, u, f = t.length, d = 0.2 * (e || 1); --f > -1;) { for (p = (n = t[f]).isSmooth = n.isSmooth || [0, 0, 0, 0], u = n.smoothData = n.smoothData || [0, 0, 0, 0], p.length = 4, l = n.length - 2, s = 6; s < l; s += 6)o = n[s] - n[s - 2], i = n[s + 1] - n[s - 1], a = n[s + 2] - n[s], h = n[s + 3] - n[s + 1], g = w(i, o), c = w(h, a), (r = Math.abs(g - c) < d) && (u[s - 2] = g, u[s + 2] = c, u[s - 1] = v(o * o + i * i), u[s + 3] = v(a * a + h * h)), p.push(r, r, 0, 0, r, r); n[l] === n[0] && n[1 + l] === n[1] && (o = n[0] - n[l - 2], i = n[1] - n[l - 1], a = n[2] - n[0], h = n[3] - n[1], g = w(i, o), c = w(h, a), Math.abs(g - c) < d && (u[l - 2] = g, u[2] = c, u[l - 1] = v(o * o + i * i), u[3] = v(a * a + h * h), p[l - 2] = p[l - 1] = !0)) } return t } function ea (t) { var e = t.trim().split(' '); return { x: (~t.indexOf('left') ? 0 : ~t.indexOf('right') ? 100 : isNaN(parseFloat(e[0])) ? 50 : parseFloat(e[0])) / 100, y: (~t.indexOf('top') ? 0 : ~t.indexOf('bottom') ? 100 : isNaN(parseFloat(e[1])) ? 50 : parseFloat(e[1])) / 100 } } function ha (t, e, r, n) { var o; var i; var a = this._origin; var h = this._eOrigin; var s = t[r] - a.x; var l = t[r + 1] - a.y; var g = v(s * s + l * l); var c = w(l, s); return s = e[r] - h.x, l = e[r + 1] - h.y, i = (function _shortAngle (t) { return t !== t % p ? t + (t < 0 ? u : -u) : t }(o = w(l, s) - c)), !n && F && Math.abs(i + F.ca) < f && (n = F), this._anchorPT = F = { _next: this._anchorPT, t: t, sa: c, ca: n && i * n.ca < 0 && Math.abs(i) > d ? o : i, sl: g, cl: v(s * s + l * l) - g, i: r } } function ia (t) { r = y(), o = o || r && r.plugins.morphSVG, r && o ? (C = r.utils.toArray, o.prototype._tweenRotation = ha, I = 1) : t && L('Please gsap.registerPlugin(MorphSVGPlugin)') } var r; var C; var F; var I; var o; var w = Math.atan2; var x = Math.cos; var j = Math.sin; var v = Math.sqrt; var p = Math.PI; var u = 2 * p; var f = 0.3 * p; var d = 0.7 * p; var G = /[-+=\\.]*\\d+[\\.e\\-\\+]*\\d*[e\\-\\+]*\\d*/gi; var q = /(^[#\\.][a-z]|[a-y][a-z])/gi; var H = /[achlmqstvz]/gi; var B = 'Use MorphSVGPlugin.convertToPath() to convert to a path before morphing.'; var J = { version: '3.0.4', name: 'morphSVG', register: function register (t, e) { r = t, o = e, ia() }, init: function init (t, e, r, n, o) { var i; var a; var h; var s; var l; var g; var c; var p; var u; var f; var d; var _; var m; var v; var y; var w; var x; var T; var M; var b; var S; var N; var R = t.nodeType ? window.getComputedStyle(t) : {}; var A = R.fill + ''; var z = !(A === 'none' || (A.match(G) || [])[3] === '0' || R.fillRule === 'evenodd'); var O = (e.origin || '50 50').split(','); if (I || ia(1), l = (i = (t.nodeName + '').toUpperCase()) === 'POLYLINE' || i === 'POLYGON', i !== 'PATH' && !l && !e.prop) return L('Cannot morph a <' + i + '> element. ' + B), !1; if (a = i === 'PATH' ? 'd' : 'points', (typeof e === 'string' || e.getBBox || e[0]) && (e = { shape: e }), !e.prop && typeof t.setAttribute !== 'function') return !1; if (s = (function _parseShape (t, e, r) { var n, o; return (!(typeof t === 'string') || q.test(t) || (t.match(G) || []).length < 3) && ((n = C(t)[0]) ? (o = (n.nodeName + '').toUpperCase(), e && o !== 'PATH' && (n = convertToPath(n, !1), o = 'PATH'), t = n.getAttribute(o === 'PATH' ? 'd' : 'points') || '', n === r && (t = n.getAttributeNS(null, 'data-original') || t)) : (L('WARNING: invalid morph to: ' + t), t = !1)), t }(e.shape || e.d || e.points || '', a == 'd', t)), l && H.test(s)) return L('A <' + i + '> cannot accept path data. ' + B), !1; if (g = e.shapeIndex || e.shapeIndex === 0 ? e.shapeIndex : 'auto', c = e.map || J.defaultMap, this._prop = e.prop, this._render = e.render || J.defaultRender, this._apply = 'updateTarget' in e ? e.updateTarget : J.defaultUpdateTarget, this._rnd = Math.pow(10, isNaN(e.precision) ? 2 : +e.precision), this._tween = r, s) { if (this._target = t, x = typeof e.precompile === 'object', f = this._prop ? t[this._prop] : t.getAttribute(a), this._prop || t.getAttributeNS(null, 'data-original') || t.setAttributeNS(null, 'data-original', f), a == 'd' || this._prop) { if (f = stringToRawPath(x ? e.precompile[0] : f), d = stringToRawPath(x ? e.precompile[1] : s), !x && !Y(f, d, g, c, z)) return !1; for (e.precompile !== 'log' && !0 !== e.precompile || L('precompile:[\"' + rawPathToString(f) + '\",\"' + rawPathToString(d) + '\"]'), (S = (e.type || J.defaultType) !== 'linear') && (f = da(f, e.smoothTolerance), d = da(d, e.smoothTolerance), f.size || P(f), d.size || P(d), b = ea(O[0]), this._origin = f.origin = { x: f.left + b.x * f.width, y: f.top + b.y * f.height }, O[1] && (b = ea(O[1])), this._eOrigin = { x: d.left + b.x * d.width, y: d.top + b.y * d.height }), this._rawPath = t._gsRawPath = f, m = f.length; --m > -1;) for (y = f[m], w = d[m], p = y.isSmooth || [], u = w.isSmooth || [], v = y.length, _ = F = 0; _ < v; _ += 2)w[_] === y[_] && w[_ + 1] === y[_ + 1] || (S ? p[_] && u[_] ? (T = y.smoothData, M = w.smoothData, N = _ + (_ === v - 4 ? 7 - v : 5), this._controlPT = { _next: this._controlPT, i: _, j: m, l1s: T[_ + 1], l1c: M[_ + 1] - T[_ + 1], l2s: T[N], l2c: M[N] - T[N] }, h = this._tweenRotation(y, w, _ + 2), this._tweenRotation(y, w, _, h), this._tweenRotation(y, w, N - 1, h), _ += 4) : this._tweenRotation(y, w, _) : (h = this.add(y, _, y[_], w[_]), h = this.add(y, _ + 1, y[_ + 1], w[_ + 1]) || h)) } else h = this.add(t, 'setAttribute', t.getAttribute(a) + '', s + '', n, o, 0, ba(g), a); S && (this.add(this._origin, 'x', this._origin.x, this._eOrigin.x), h = this.add(this._origin, 'y', this._origin.y, this._eOrigin.y)), h && (this._props.push('morphSVG'), h.end = s, h.endProp = a) } return 1 }, render: function render (t, e) { for (var r, n, o, i, a, h, s, l, g, c, p, u, f = e._rawPath, d = e._controlPT, _ = e._anchorPT, P = e._rnd, m = e._target, v = e._pt; v;)v.r(t, v.d), v = v._next; if (t === 1 && e._apply) for (v = e._pt; v;)v.end && (e._prop ? m[e._prop] = v.end : m.setAttribute(v.endProp, v.end)), v = v._next; else if (f) { for (;_;)a = _.sa + t * _.ca, i = _.sl + t * _.cl, _.t[_.i] = e._origin.x + x(a) * i, _.t[_.i + 1] = e._origin.y + j(a) * i, _ = _._next; for (n = t < 0.5 ? 2 * t * t : (4 - 2 * t) * t - 1; d;)u = (h = d.i) + (h === (o = f[d.j]).length - 4 ? 7 - o.length : 5), a = w(o[u] - o[h + 1], o[u - 1] - o[h]), c = j(a), p = x(a), l = o[h + 2], g = o[h + 3], i = d.l1s + n * d.l1c, o[h] = l - p * i, o[h + 1] = g - c * i, i = d.l2s + n * d.l2c, o[u - 1] = l + p * i, o[u] = g + c * i, d = d._next; if (m._gsRawPath = f, e._apply) { for (r = '', ' ', s = 0; s < f.length; s++) for (i = (o = f[s]).length, r += 'M' + (o[0] * P | 0) / P + ' ' + (o[1] * P | 0) / P + ' C', h = 2; h < i; h++)r += (o[h] * P | 0) / P + ' '; e._prop ? m[e._prop] = r : m.setAttribute('d', r) } }e._render && f && e._render.call(e._tween, f, m) }, kill: function kill () { this._pt = this._rawPath = 0 }, getRawPath: function getRawPath (t) { var e; var r = (t = m(t) && n.test(t) && document.querySelector(t) || t).getAttribute ? t : 0; return r && (t = t.getAttribute('d')) ? (r._gsPath || (r._gsPath = {}), (e = r._gsPath[t]) && !e._dirty ? e : r._gsPath[t] = stringToRawPath(t)) : t ? m(t) ? stringToRawPath(t) : h(t[0]) ? [t] : t : console.warn('Expecting a element or an SVG path data string') }, stringToRawPath: stringToRawPath, rawPathToString: rawPathToString, pathFilter: function _pathFilter (t, e, r, n, o) { var i = stringToRawPath(t[0]); var a = stringToRawPath(t[1]); Y(i, a, e || e === 0 ? e : 'auto', r, o) && (t[0] = rawPathToString(i), t[1] = rawPathToString(a), n !== 'log' && !0 !== n || L('precompile:[\"' + t[0] + '\",\"' + t[1] + '\"]')) }, pointsFilter: aa, getTotalSize: P, equalizeSegmentQuantity: Y, convertToPath: function convertToPath$1 (t, e) { return C(t).map(function (t) { return convertToPath(t, !1 !== e) }) }, defaultType: 'linear', defaultUpdateTarget: !0, defaultMap: 'size' }; y() && r.registerPlugin(J), t.MorphSVGPlugin = J, t.default = J, Object.defineProperty(t, '__esModule', { value: !0 }) }))\r\n// # sourceMappingURL=MorphSVGPlugin.min.js.map\r\n/* eslint-enable */\r\n","export const BEGINNING_OF_TIMELINE = 0\r\n\r\nexport const onLoadDurations = {\r\n initialRotate: 0.5,\r\n rotateAndCenter: 0.5,\r\n counterClockRotate: 0.5,\r\n rotateAndDown: 0.5\r\n}\r\n\r\nexport const onScrollDurations = {\r\n navigationColorChange: 0.001,\r\n rotateAndFade: 1,\r\n triangleFade: 0.1,\r\n tealCircleMove: 3,\r\n otherCirclesMove: 3,\r\n logoTransition: 0.3\r\n}\r\n","// import { polyfill } from 'es6-promise' // initialize polyfill to fix IE bug\r\n// usebuiltins: entry is supposed to auto-polyfill, but it doesn't do that for modules I needed this for vuex to work in IE\r\n\r\nimport Vue from 'vue'\r\nimport Vuex from 'vuex'\r\n// polyfill()\r\n\r\nVue.use(Vuex)\r\n\r\nconst store = new Vuex.Store({\r\n state: {\r\n filters: {},\r\n filterPanelOpen: false,\r\n searchStarted: false,\r\n megaMenu: null,\r\n languageMenuOpen: false,\r\n languageModal: null,\r\n isLanguageRedirectModalOpen: false,\r\n keywordFilter: '',\r\n siteSearchOpen: false,\r\n animationsPaused: false,\r\n secondaryLinksOpen: false,\r\n shareMenuOpen: false,\r\n spacerHeight: 120,\r\n resumeFormValues: {}\r\n },\r\n getters: {\r\n filters: state => state.filters,\r\n filterPanelOpen: (state) => state.filterPanelOpen,\r\n searchStarted: (state) => state.searchStarted,\r\n breakpoint: (state) => state.breakpoint,\r\n megaMenu: (state) => state.megaMenu,\r\n languageMenuOpen: (state) => state.languageMenuOpen,\r\n languageModal: (state) => state.languageModal,\r\n isLanguageRedirectModalOpen: (state) => state.isLanguageRedirectModalOpen,\r\n panelOpen: (state) => state.megaMenu || state.filterPanelOpen,\r\n keywordFilter: (state) => state.keywordFilter,\r\n siteSearchOpen: (state) => state.siteSearchOpen,\r\n animationsPaused: (state) => state.animationsPaused,\r\n secondaryLinksOpen: (state) => state.secondaryLinksOpen,\r\n shareMenuOpen: (state) => state.shareMenuOpen,\r\n spacerHeight: (state) => state.spacerHeight,\r\n resumeFormValues: (state) => state.resumeFormValues\r\n },\r\n mutations: {\r\n setKeywordFilter (state, payload) {\r\n state.keywordFilter = payload\r\n },\r\n setFilterState (state, payload) {\r\n state.filters = payload\r\n },\r\n setFilterPanelOpen (state, payload) {\r\n state.filterPanelOpen = payload\r\n },\r\n setSearchStarted (state, payload) {\r\n state.searchStarted = payload\r\n },\r\n setMegaMenu (state, payload) {\r\n if (state.megaMenu === payload) {\r\n state.megaMenu = null\r\n } else {\r\n state.megaMenu = payload\r\n }\r\n },\r\n setLanguageMenuOpen (state, payload) {\r\n state.languageMenuOpen = payload\r\n },\r\n setLanguageModal (state, payload) {\r\n state.languageModal = payload\r\n },\r\n showLanguageRedirectModal (state) {\r\n state.isLanguageRedirectModalOpen = true\r\n },\r\n hideLanguageRedirectModal (state) {\r\n state.isLanguageRedirectModalOpen = false\r\n },\r\n setSiteSearchOpen (state, payload) {\r\n state.siteSearchOpen = payload\r\n },\r\n setAnimationsPaused (state, payload) {\r\n state.animationsPaused = payload\r\n },\r\n setSecondaryLinksOpen (state, payload) {\r\n state.secondaryLinksOpen = payload\r\n },\r\n setShareMenuOpen (state, payload) {\r\n state.shareMenuOpen = payload\r\n },\r\n setSpacerHeight (state, payload) {\r\n state.spacerHeight = payload\r\n },\r\n setResumeFormValues (state, payload) {\r\n state.resumeFormValues = payload\r\n }\r\n },\r\n actions: {\r\n closePanels ({ commit }) {\r\n commit('setSiteSearchOpen', false)\r\n commit('setSecondaryLinksOpen', false)\r\n commit('setShareMenuOpen', false)\r\n }\r\n }\r\n})\r\n\r\nexport default store\r\n","// extracted by mini-css-extract-plugin\nexport {};","var map = {\n\t\"./Check.svg\": \"./assets/svg/Check.svg\",\n\t\"./arrow-down.svg\": \"./assets/svg/arrow-down.svg\",\n\t\"./arrow-left.svg\": \"./assets/svg/arrow-left.svg\",\n\t\"./arrow-right.svg\": \"./assets/svg/arrow-right.svg\",\n\t\"./arrow-up-right.svg\": \"./assets/svg/arrow-up-right.svg\",\n\t\"./arrow-up.svg\": \"./assets/svg/arrow-up.svg\",\n\t\"./button-arrow-fill.svg\": \"./assets/svg/button-arrow-fill.svg\",\n\t\"./button-arrow.svg\": \"./assets/svg/button-arrow.svg\",\n\t\"./calendar.svg\": \"./assets/svg/calendar.svg\",\n\t\"./chart-bar.svg\": \"./assets/svg/chart-bar.svg\",\n\t\"./chart-pie.svg\": \"./assets/svg/chart-pie.svg\",\n\t\"./chevron-down.svg\": \"./assets/svg/chevron-down.svg\",\n\t\"./chevron-left.svg\": \"./assets/svg/chevron-left.svg\",\n\t\"./chevron-right.svg\": \"./assets/svg/chevron-right.svg\",\n\t\"./chevron-up-down.svg\": \"./assets/svg/chevron-up-down.svg\",\n\t\"./chevron-up.svg\": \"./assets/svg/chevron-up.svg\",\n\t\"./circle-accent.svg\": \"./assets/svg/circle-accent.svg\",\n\t\"./cross.svg\": \"./assets/svg/cross.svg\",\n\t\"./download.svg\": \"./assets/svg/download.svg\",\n\t\"./email.svg\": \"./assets/svg/email.svg\",\n\t\"./error.svg\": \"./assets/svg/error.svg\",\n\t\"./filters.svg\": \"./assets/svg/filters.svg\",\n\t\"./globe.svg\": \"./assets/svg/globe.svg\",\n\t\"./info.svg\": \"./assets/svg/info.svg\",\n\t\"./linkedin.svg\": \"./assets/svg/linkedin.svg\",\n\t\"./location.svg\": \"./assets/svg/location.svg\",\n\t\"./map-marker.svg\": \"./assets/svg/map-marker.svg\",\n\t\"./menu.svg\": \"./assets/svg/menu.svg\",\n\t\"./minus.svg\": \"./assets/svg/minus.svg\",\n\t\"./pdf.svg\": \"./assets/svg/pdf.svg\",\n\t\"./person.svg\": \"./assets/svg/person.svg\",\n\t\"./phone.svg\": \"./assets/svg/phone.svg\",\n\t\"./play.svg\": \"./assets/svg/play.svg\",\n\t\"./plus.svg\": \"./assets/svg/plus.svg\",\n\t\"./quote.svg\": \"./assets/svg/quote.svg\",\n\t\"./search.svg\": \"./assets/svg/search.svg\",\n\t\"./share.svg\": \"./assets/svg/share.svg\",\n\t\"./team.svg\": \"./assets/svg/team.svg\",\n\t\"./triangle-right.svg\": \"./assets/svg/triangle-right.svg\",\n\t\"./upload.svg\": \"./assets/svg/upload.svg\"\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = \"./assets/svg sync recursive \\\\.svg$\";","export default {\n id: \"Check-usage\",\n viewBox: \"0 0 24 24\",\n url: __webpack_public_path__ + \"sprite.svg#Check\",\n toString: function () {\n return this.url;\n }\n }","export default {\n id: \"arrow-down-usage\",\n viewBox: \"0 0 24 24\",\n url: __webpack_public_path__ + \"sprite.svg#arrow-down\",\n toString: function () {\n return this.url;\n }\n }","export default {\n id: \"arrow-left-usage\",\n viewBox: \"0 0 24 24\",\n url: __webpack_public_path__ + \"sprite.svg#arrow-left\",\n toString: function () {\n return this.url;\n }\n }","export default {\n id: \"arrow-right-usage\",\n viewBox: \"0 0 24 24\",\n url: __webpack_public_path__ + \"sprite.svg#arrow-right\",\n toString: function () {\n return this.url;\n }\n }","export default {\n id: \"arrow-up-right-usage\",\n viewBox: \"0 0 24 24\",\n url: __webpack_public_path__ + \"sprite.svg#arrow-up-right\",\n toString: function () {\n return this.url;\n }\n }","export default {\n id: \"arrow-up-usage\",\n viewBox: \"0 0 24 24\",\n url: __webpack_public_path__ + \"sprite.svg#arrow-up\",\n toString: function () {\n return this.url;\n }\n }","export default {\n id: \"button-arrow-fill-usage\",\n viewBox: \"0 0 8 8\",\n url: __webpack_public_path__ + \"sprite.svg#button-arrow-fill\",\n toString: function () {\n return this.url;\n }\n }","export default {\n id: \"button-arrow-usage\",\n viewBox: \"0 0 11 12\",\n url: __webpack_public_path__ + \"sprite.svg#button-arrow\",\n toString: function () {\n return this.url;\n }\n }","export default {\n id: \"calendar-usage\",\n viewBox: \"0 0 24 24\",\n url: __webpack_public_path__ + \"sprite.svg#calendar\",\n toString: function () {\n return this.url;\n }\n }","export default {\n id: \"chart-bar-usage\",\n viewBox: \"0 0 24 24\",\n url: __webpack_public_path__ + \"sprite.svg#chart-bar\",\n toString: function () {\n return this.url;\n }\n }","export default {\n id: \"chart-pie-usage\",\n viewBox: \"0 0 24 24\",\n url: __webpack_public_path__ + \"sprite.svg#chart-pie\",\n toString: function () {\n return this.url;\n }\n }","export default {\n id: \"chevron-down-usage\",\n viewBox: \"0 0 24 24\",\n url: __webpack_public_path__ + \"sprite.svg#chevron-down\",\n toString: function () {\n return this.url;\n }\n }","export default {\n id: \"chevron-left-usage\",\n viewBox: \"0 0 24 24\",\n url: __webpack_public_path__ + \"sprite.svg#chevron-left\",\n toString: function () {\n return this.url;\n }\n }","export default {\n id: \"chevron-right-usage\",\n viewBox: \"0 0 24 24\",\n url: __webpack_public_path__ + \"sprite.svg#chevron-right\",\n toString: function () {\n return this.url;\n }\n }","export default {\n id: \"chevron-up-down-usage\",\n viewBox: \"0 0 24 24\",\n url: __webpack_public_path__ + \"sprite.svg#chevron-up-down\",\n toString: function () {\n return this.url;\n }\n }","export default {\n id: \"chevron-up-usage\",\n viewBox: \"0 0 24 24\",\n url: __webpack_public_path__ + \"sprite.svg#chevron-up\",\n toString: function () {\n return this.url;\n }\n }","export default {\n id: \"circle-accent-usage\",\n viewBox: \"0 0 4 4\",\n url: __webpack_public_path__ + \"sprite.svg#circle-accent\",\n toString: function () {\n return this.url;\n }\n }","export default {\n id: \"cross-usage\",\n viewBox: \"0 0 24 24\",\n url: __webpack_public_path__ + \"sprite.svg#cross\",\n toString: function () {\n return this.url;\n }\n }","export default {\n id: \"download-usage\",\n viewBox: \"0 0 24 24\",\n url: __webpack_public_path__ + \"sprite.svg#download\",\n toString: function () {\n return this.url;\n }\n }","export default {\n id: \"email-usage\",\n viewBox: \"0 0 24 24\",\n url: __webpack_public_path__ + \"sprite.svg#email\",\n toString: function () {\n return this.url;\n }\n }","export default {\n id: \"error-usage\",\n viewBox: \"0 0 24 21\",\n url: __webpack_public_path__ + \"sprite.svg#error\",\n toString: function () {\n return this.url;\n }\n }","export default {\n id: \"filters-usage\",\n viewBox: \"0 0 24 24\",\n url: __webpack_public_path__ + \"sprite.svg#filters\",\n toString: function () {\n return this.url;\n }\n }","export default {\n id: \"globe-usage\",\n viewBox: \"0 0 24 24\",\n url: __webpack_public_path__ + \"sprite.svg#globe\",\n toString: function () {\n return this.url;\n }\n }","export default {\n id: \"info-usage\",\n viewBox: \"0 0 24 24\",\n url: __webpack_public_path__ + \"sprite.svg#info\",\n toString: function () {\n return this.url;\n }\n }","export default {\n id: \"linkedin-usage\",\n viewBox: \"0 0 24 24\",\n url: __webpack_public_path__ + \"sprite.svg#linkedin\",\n toString: function () {\n return this.url;\n }\n }","export default {\n id: \"location-usage\",\n viewBox: \"0 0 24 24\",\n url: __webpack_public_path__ + \"sprite.svg#location\",\n toString: function () {\n return this.url;\n }\n }","export default {\n id: \"map-marker-usage\",\n viewBox: \"0 0 41 40\",\n url: __webpack_public_path__ + \"sprite.svg#map-marker\",\n toString: function () {\n return this.url;\n }\n }","export default {\n id: \"menu-usage\",\n viewBox: \"0 0 9 10\",\n url: __webpack_public_path__ + \"sprite.svg#menu\",\n toString: function () {\n return this.url;\n }\n }","export default {\n id: \"minus-usage\",\n viewBox: \"0 0 24 24\",\n url: __webpack_public_path__ + \"sprite.svg#minus\",\n toString: function () {\n return this.url;\n }\n }","export default {\n id: \"pdf-usage\",\n viewBox: \"0 0 107 129\",\n url: __webpack_public_path__ + \"sprite.svg#pdf\",\n toString: function () {\n return this.url;\n }\n }","export default {\n id: \"person-usage\",\n viewBox: \"0 0 24 24\",\n url: __webpack_public_path__ + \"sprite.svg#person\",\n toString: function () {\n return this.url;\n }\n }","export default {\n id: \"phone-usage\",\n viewBox: \"0 0 24 24\",\n url: __webpack_public_path__ + \"sprite.svg#phone\",\n toString: function () {\n return this.url;\n }\n }","export default {\n id: \"play-usage\",\n viewBox: \"0 0 24 24\",\n url: __webpack_public_path__ + \"sprite.svg#play\",\n toString: function () {\n return this.url;\n }\n }","export default {\n id: \"plus-usage\",\n viewBox: \"0 0 24 24\",\n url: __webpack_public_path__ + \"sprite.svg#plus\",\n toString: function () {\n return this.url;\n }\n }","export default {\n id: \"quote-usage\",\n viewBox: \"0 0 11 7\",\n url: __webpack_public_path__ + \"sprite.svg#quote\",\n toString: function () {\n return this.url;\n }\n }","export default {\n id: \"search-usage\",\n viewBox: \"0 0 24 24\",\n url: __webpack_public_path__ + \"sprite.svg#search\",\n toString: function () {\n return this.url;\n }\n }","export default {\n id: \"share-usage\",\n viewBox: \"0 0 24 24\",\n url: __webpack_public_path__ + \"sprite.svg#share\",\n toString: function () {\n return this.url;\n }\n }","export default {\n id: \"team-usage\",\n viewBox: \"0 0 24 24\",\n url: __webpack_public_path__ + \"sprite.svg#team\",\n toString: function () {\n return this.url;\n }\n }","export default {\n id: \"triangle-right-usage\",\n viewBox: \"0 0 14 16\",\n url: __webpack_public_path__ + \"sprite.svg#triangle-right\",\n toString: function () {\n return this.url;\n }\n }","export default {\n id: \"upload-usage\",\n viewBox: \"0 0 24 24\",\n url: __webpack_public_path__ + \"sprite.svg#upload\",\n toString: function () {\n return this.url;\n }\n }","function polyfill(window) {\n var ElementPrototype = window.Element.prototype;\n\n if (typeof ElementPrototype.matches !== 'function') {\n ElementPrototype.matches = ElementPrototype.msMatchesSelector || ElementPrototype.mozMatchesSelector || ElementPrototype.webkitMatchesSelector || function matches(selector) {\n var element = this;\n var elements = (element.document || element.ownerDocument).querySelectorAll(selector);\n var index = 0;\n\n while (elements[index] && elements[index] !== element) {\n ++index;\n }\n\n return Boolean(elements[index]);\n };\n }\n\n if (typeof ElementPrototype.closest !== 'function') {\n ElementPrototype.closest = function closest(selector) {\n var element = this;\n\n while (element && element.nodeType === 1) {\n if (element.matches(selector)) {\n return element;\n }\n\n element = element.parentNode;\n }\n\n return null;\n };\n }\n}\n\nexport default polyfill;\n//# sourceMappingURL=index.mjs.map\n"],"sourceRoot":""}