{"version":3,"sources":["_config.js","_plugins.js","blog-logic.js","location-search.js","directory-widget.js","sbs-main.js"],"names":["tablet_break","max_wrap","bank_name","method","noop","methods","length","console","window","n","t","scrolling","vExtend","a","b","key","hasOwnProperty","documentReady","fn","document","readyState","addEventListener","attachEvent","isVisible","el","offsetWidth","offsetHeight","getClientRects","getParents","parentSelector","undefined","parents","p","parentNode","o","push","getParentElementWithTag","tag","parentElement","currentElement","tagName","toUpperCase","parent","getParentElementWithClass","className","classList","contains","isTablockChild","isAnchorLink","isAnchor","hasAttribute","getAttribute","indexOf","vScrollTo","to","duration","callbackFunction","element","scrollingElement","documentElement","start","scrollTop","change","startTs","performance","now","requestAnimationFrame","animateScroll","ts","currentTime","parseInt","c","d","easeInOutQuad","vOuterHeight","height","style","currentStyle","getComputedStyle","marginTop","marginBottom","vSlideUp","target","transitionProperty","transitionDuration","boxSizing","overflow","paddingTop","paddingBottom","setTimeout","display","removeProperty","vSlideDown","displayValue","vSlideToggle","vFadeOut","opacity","fade","vFadeIn","val","parseFloat","vShow","vHide","focusFirst","selectableElements","querySelectorAll","selected","i","focus","focusLast","getFirstSelectableElement","firstElement","tabIndex","getLastSelectableElement","lastElement","speedbump","options","settings","header","clickedElement","message","button_cancel","button_ok","id","confirm_function","cancel_function","ok_link","window_target","speedbumpCode","createElement","add","setAttribute","innerHTML","body","appendChild","currentSpeedbump","querySelector","spb","currentSpeedbumpInner","currentOKButton","currentCancelbutton","event","remove","removeAttribute","windowHeight","pageYOffset","top","getElementsByTagName","position","isCurrentDomain","split","e","f","location","href","r","enumerable","configurable","writable","Object","defineProperty","Jt","prototype","SV","HoverIntent","elements","userConfig","defaultOptions","exitDelay","interval","sensitivity","currX","currY","prevX","prevY","allElems","pollTimer","exitTimer","config","mouseTrack","ev","pageX","pageY","mouseCompare","targetElem","distX","distY","Math","sqrt","clearTimeout","elem","isActive","onExit","onEnter","defaults","userArgs","extend","init","setInterval","jumpNavAnchors","jumpNavAnchorParents","sp","getBoundingClientRect","j","matches","preventDefault","linkboxElement","theLinkElement","theLinkURL","open","onmouseover","la","onmouseout","activeElement","shift","shiftKey","tablockContainer","firstContainerElement","lastContainerElement","pnt","cnt","this","v","CREATED","MOUNTED","IDLE","MOVING","SCROLLING","DRAGGING","DESTROYED","D","Array","slice","call","R","bind","apply","concat","arguments","on","h","u","un","isArray","x","C","en","m","ownerDocument","defaultView","HTMLElement","y","g","forEach","k","A","M","L","O","insertBefore","cn","msMatchesSelector","S","children","filter","firstElementChild","E","keys","w","reverse","an","sn","P","I","String","_","ln","dn","setActive","preventScroll","z","vn","N","T","removeChild","hn","DOMParser","parseFromString","F","stopPropagation","stopImmediatePropagation","pn","gn","X","mn","timeStamp","W","yn","bn","Error","Y","min","wn","max","xn","floor","kn","ceil","U","abs","Sn","En","q","Ln","On","replace","An","_n","zn","removeEventListener","removeListener","addListener","unbind","dispatch","CustomEvent","bubbles","detail","createEvent","initCustomEvent","dispatchEvent","destroy","B","H","Dn","Mn","J","K","jn","Nn","Tn","V","Gn","Fn","Xn","Wn","Q","bus","createDocumentFragment","join","off","emit","qn","Date","s","l","cancelAnimationFrame","rewind","pause","cancel","set","isPaused","Bn","Hn","Jn","width","left","right","ArrowLeft","ArrowRight","Z","$","Kn","Vn","Qn","nn","Zn","$n","nt","tt","it","rt","ot","ut","et","ct","ft","at","st","lt","dt","vt","ht","pt","gt","mt","yt","bt","wt","tn","xt","kt","St","Et","Lt","Ot","At","_t","zt","Dt","Mt","Pt","It","jt","passive","capture","Nt","Spacebar","Right","Left","Up","Down","Tt","Gt","Ft","Xt","Yt","Ut","freeze","__proto__","Media","state","breakpoints","reducedMotion","matchMedia","is","direction","reduce","mount","refresh","getPrototypeOf","setup","mediaQuery","sort","Direction","resolve","toLowerCase","charAt","orient","Elements","root","i18n","arrows","pagination","prev","next","bar","toggle","track","list","slides","role","carousel","label","labelledby","closest","nodeType","type","drag","isNavigation","Slides","Components","updateOnMove","slideFocus","splides","map","splide","getAt","slide","slideX","index","focusableNodes","cloneStatus","slideIndex","container","isClone","slideLabel","update","isWithin","Rt","register","get","getIn","Controller","toIndex","hasFocus","perPage","classes","getLength","isEnough","Layout","gap","autoWidth","fixedWidth","fixedHeight","autoHeight","padding","heightRatio","resize","listSize","slideSize","sliderSize","totalSize","getPadding","isOverflow","Clones","cloneNode","clone","clones","Move","isBusy","Scroll","getEnd","trimSpace","Transition","move","jump","translate","toPosition","getPosition","getLimit","exceededLimit","reposition","omitEnd","perMove","waitForTransition","go","match","scroll","getNext","getPrev","getAdjacent","setIndex","getIndex","toPage","toDest","Arrows","arrow","arrowPath","last","first","disabled","Autoplay","autoplay","resetProgress","pauseOnHover","pauseOnFocus","play","Cover","src","cover","easingFunc","pow","Drag","noDrag","button","cancelable","dragMinThreshold","mouse","touch","flickPower","flickMaxPages","rewindByDrag","snap","changedTouches","TouchEvent","disable","isDragging","Keyboard","keyboard","LazyLoad","lazyLoad","srcset","spinner","preloadPages","check","Pagination","paginationDirection","items","select","class","page","paginationKeyboard","li","Sync","isParent","remount","Wheel","deltaY","wheelMinThreshold","wheelSleep","releaseWheel","wheel","Live","live","textContent","qt","speed","easing","rewindSpeed","Bt","Ht","useScroll","JSON","parse","create","sync","STATES","exports","module","define","amd","globalThis","self","Splide","offBy","rn","autoStart","Extensions","AutoScroll","autoScroll","G","EvEmitter","_events","once","_onceEvents","splice","emitEvent","require","imagesLoaded","getImages","jqDeferred","Deferred","img","url","Image","jQuery","images","addElementImages","nodeName","addImage","background","addElementBackgroundImages","exec","backgroundImage","addBackground","progress","progressedCount","hasAnyBroken","complete","isLoaded","notify","debug","log","isComplete","getIsImageComplete","confirm","naturalWidth","proxyImage","handleEvent","onload","unbindEvents","onerror","makeJQueryPlugin","promise","async","getFeaturedArticles","data","fetch","ok","result","json","getMoreArticles","pageNumber","amount","category","append","blogContainer","BlogBtn","results","text","trim","initBlogPagination","numArticles","dotContainer","dotEl","dataset","article","setButtons","articles","activeButton","setArticle","nextArticle","prevArticle","initialLoad","goForward","loadingScreen","mobileImage","title","excerpt","articleInfo","excerptText","articleExcerpt","fullArticle","dot","photo","articleTitle","image","featuredArticles","currentArticleIndex","Number","queryString","search","URLSearchParams","value","Event","locationSearchForm","initialize","inp","address","google","maps","Geocoder","geocode","status","GeocoderStatus","OK","coords","geometry","lat","lng","addressLat","addressLon","loc","lon","dist","distance","branchLocations","atmLocations","branchArray","atmArray","resultsDiv","branchResult","atmResult","innerText","nextElementSibling","fetchAndSortDistances","addressInput","script","lat1","lon1","lat2","lon2","radlat1","PI","radlat2","theta","radtheta","sin","cos","acos","directoryWidgets","directoryWidget","locationID","expertise","flyout","displayItems","content","dest","directoryElements","dontShowDuplicates","entries","allNames","name","foundResults","includes","default","bioModalButtons","directoryContent","modalInfo","modal","bioModal","bell","rates","dropItems","mainNav","navButtons","instance","targetItem","innerWidth","closeLogin","closeSearch","offsetLeft","setProperty","randoms","indexInParent","node","childNodes","num","menuHover","outInterval","mel","clearInterval","searchHover","loginHover","getCookie","parts","cookie","pop","bk","divs","spot","random","item","hashElement","hash","click","rate","scrollTo","scrollIntoView","behavior","trs","headers","tds","cook","gridTemplateColumns","mobileSplide","blogSplide","blogSplideHorizontal","blogSplideMobile","scrollObserver","IntersectionObserver","entry","isIntersecting","animateCountUp","timer","innerHeight","threshold","underlineObserver","scrolls","underlineAnimations","openSearch","closeAllMenus","searchBox","innerWidget","openMenu","btn","closeMenu","openLogin","mb_img","mb_txt","menu","observe","vid","dropButton","videoTitle","videoGUID","vidBuild","substring","vidModal","div","getElementById","xhr","XMLHttpRequest","send","responseText","alerts","alert","lnkText","tg","jp","base","ths","eq","updateDots","col","mobileButtonDisplay","compareTable","tab","moveSlideTrack","ptabs","activeEl","slideEl","tabs","tabHeader","rand","slideTrack","tabBtns","history","HISTORY_SUPPORT","pushState","anchorScrolls","ANCHOR_REGEX","OFFSET_HEIGHT_PX","scrollToCurrent","delegateAnchors","getFixedOffset","scrollIfAnchor","pushToHistory","rect","anchorOffset","test","pageXOffset","pathname","cmp","pageTitle","table","th","cellIndex","td","ids","animationDuration","frameDuration","totalFrames","round","easeOutQuad","frame","money","countTo","counter","currentCount","toString","charts","chart","holder","controls","firstChild","jumpObserver","rootMargin","jumps","sc","scrollLeft","scrollWidth","linkHolder","activeColumn","buttonToMove","jumpLinks","lnk","lnkTop","paginationDots","numCols","newEl","prepend","sideBarObserver","sideNavs","isDirectoryIndex","isHome","getAlertCookie"],"mappings":"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","file":"scripts.js","sourcesContent":["var tablet_break = 980;\r\nvar max_wrap = 1200;\r\nvar bank_name = \"Saco & Biddeford Savings\";\r\n","/********************************************************\r\n** INITIALIZATION CODE\r\n********************************************************/\r\n/*\r\n Any code which should run before everything else\r\n*/\r\n\r\n// Normalize console\r\n(function () {\r\n var method;\r\n var noop = function () { };\r\n var methods = [\r\n 'assert', 'clear', 'count', 'debug', 'dir', 'dirxml', 'error',\r\n 'exception', 'group', 'groupCollapsed', 'groupEnd', 'info', 'log',\r\n 'markTimeline', 'profile', 'profileEnd', 'table', 'time', 'timeEnd',\r\n 'timeline', 'timelineEnd', 'timeStamp', 'trace', 'warn'\r\n ];\r\n var length = methods.length;\r\n var console = (window.console = window.console || {});\r\n while (length--) {\r\n method = methods[length];\r\n // Only stub undefined methods.\r\n if (!console[method]) {\r\n console[method] = noop;\r\n }\r\n }\r\n}());\r\n\r\n/*\r\n Set this as the master scroll event to keep a lot of code from firing on scroll.\r\n When you want to execute based on scroll behavior, use:\r\n setInterval(function() {\r\n if(scrolling) {\r\n scrolling = false;\r\n CODE();\r\n }\r\n }, 250);\r\n*/\r\nvar scrolling = false;\r\nwindow.addEventListener('scroll', function () {\r\n scrolling = true;\r\n});\r\n\r\n\r\n/*************************************************\r\n * Hover Intent\r\n * *********************************************/\r\n\r\n// load namespace\r\nSV = window.SV || {};\r\n\r\nSV.HoverIntent = (function () {\r\n\r\n // constructor\r\n return function (elements, userConfig) {\r\n\r\n // private members\r\n\r\n const defaultOptions = {\r\n exitDelay: 400,\r\n interval: 100,\r\n sensitivity: 7,\r\n };\r\n let config = {};\r\n\r\n let currX, currY, prevX, prevY;\r\n let allElems, pollTimer, exitTimer;\r\n\r\n // private methods\r\n\r\n // override default options with user config\r\n const extend = function (defaults, userArgs) {\r\n for (let i in userArgs) {\r\n defaults[i] = userArgs[i];\r\n }\r\n\r\n return defaults;\r\n };\r\n\r\n // update mouse position\r\n const mouseTrack = function (ev) {\r\n currX = ev.pageX;\r\n currY = ev.pageY;\r\n };\r\n\r\n // check if mouse movement has slowed enough to trigger active state\r\n const mouseCompare = function (targetElem) {\r\n const distX = prevX - currX, distY = prevY - currY;\r\n const distance = Math.sqrt(distX * distX + distY * distY);\r\n\r\n if (distance < config.sensitivity) {\r\n // if we re-entered an element, cancel delayed exit and clear any active elements immediately\r\n clearTimeout(exitTimer);\r\n for (let elem of allElems) {\r\n if (elem.isActive) {\r\n config.onExit(elem);\r\n elem.isActive = false;\r\n }\r\n }\r\n\r\n // trigger hover\r\n config.onEnter(targetElem);\r\n targetElem.isActive = true;\r\n } else {\r\n // update previous coordinates and try again later\r\n prevX = currX;\r\n prevY = currY;\r\n pollTimer = setTimeout(function () {\r\n mouseCompare(targetElem);\r\n }, config.interval);\r\n }\r\n };\r\n\r\n const init = function (elements, userConfig) {\r\n if (!userConfig || !userConfig.onEnter || !userConfig.onExit) {\r\n throw 'onEnter and onExit callbacks must be provided';\r\n }\r\n config = extend(defaultOptions, userConfig);\r\n allElems = elements;\r\n\r\n for (let elem of allElems) {\r\n // holds current element state\r\n elem.isActive = false;\r\n // keeps track of mouse position\r\n elem.addEventListener('mousemove', mouseTrack);\r\n\r\n elem.addEventListener('mouseenter', function (ev) {\r\n // set initial entry position\r\n prevX = ev.pageX;\r\n prevY = ev.pageY;\r\n // if this element is already active, cancel exit\r\n if (elem.isActive) {\r\n clearTimeout(exitTimer);\r\n return;\r\n }\r\n\r\n // while mouse is over this element, check distance every 100ms\r\n pollTimer = setTimeout(function () {\r\n mouseCompare(elem);\r\n }, config.interval);\r\n });\r\n elem.addEventListener('mouseleave', function (ev) {\r\n clearTimeout(pollTimer);\r\n if (!elem.isActive)\r\n return;\r\n\r\n exitTimer = setTimeout(function () {\r\n config.onExit(elem);\r\n elem.isActive = false;\r\n }, config.exitDelay);\r\n });\r\n }\r\n };\r\n\r\n init(elements, userConfig);\r\n };\r\n\r\n})();\r\n\r\n\r\n/********************************************************\r\n** HELPER FUNCTIONS\r\n********************************************************/\r\n/*\r\n Any functions that have a jQuery equivalent I have tried to prefix with 'v' for vanilla.\r\n*/\r\n\r\n// Takes array 'a' and array 'b'\r\n// Iterates through 'b' and either replaces missing values from 'a' to 'b' or replaces default values in 'a' with the value provided in 'b'\r\n// This function is intedned to mimic the jQuery funtion \"extend\"\r\nfunction vExtend(a, b) {\r\n for (var key in b) {\r\n if (b.hasOwnProperty(key)) {\r\n a[key] = b[key];\r\n }\r\n }\r\n return a;\r\n}\r\n\r\n// Takes a function 'fn'\r\n// Executes 'fn' once the DOM has loaded (but before all assets finish loading)\r\nfunction documentReady(fn) {\r\n if (document.readyState != 'loading') {\r\n fn();\r\n } else if (document.addEventListener) {\r\n document.addEventListener('DOMContentLoaded', fn);\r\n } else {\r\n document.attachEvent('onreadystatechange', function () {\r\n if (document.readyState != 'loading') {\r\n fn();\r\n }\r\n });\r\n }\r\n}\r\n\r\n// Takes an element 'el'\r\n// Return true if an element is visisble and false if it is not\r\nfunction isVisible(el) {\r\n return !!(el.offsetWidth || el.offsetHeight || el.getClientRects().length);\r\n}\r\n\r\n// Takes an element 'el' and an optional selector 'parentSelector'\r\n// Returns an array of parent elements of 'el', up to either document root or 'parentSelector' if it is provided\r\nfunction getParents(el, parentSelector) {\r\n if (parentSelector === undefined) {\r\n parentSelector = document;\r\n }\r\n var parents = [];\r\n var p = el.parentNode;\r\n while (p !== parentSelector && p !== null) {\r\n var o = p;\r\n parents.push(o);\r\n p = o.parentNode;\r\n }\r\n parents.push(parentSelector);\r\n return parents;\r\n}\r\n\r\n// Takes an element 'el' and string 'tag'\r\n// Returns an element that is a parent of 'el' and has the tagName property matching 'tag' or null if no such parent is found\r\n// Please be aware that in javascript, the tagname property is often formatted as all uppercase, so matching div means tag should = DIV\r\nfunction getParentElementWithTag(el, tag) {\r\n if (el.parentElement !== null) {\r\n var currentElement = el;\r\n while (currentElement.tagName !== tag.toUpperCase() && currentElement.parentElement !== null) {\r\n var objectPlaceholder = currentElement;\r\n currentElement = objectPlaceholder.parentElement;\r\n }\r\n if (currentElement.tagName !== tag.toUpperCase()) {\r\n currentElement = null;\r\n }\r\n return parent;\r\n } else {\r\n return null;\r\n }\r\n}\r\n\r\n// Takes an element 'el'\r\n// Returns an element that is either 'el' or a parent of 'el' and has the passed class, or null if nothing is found\r\nfunction getParentElementWithClass(el, className) {\r\n if (el !== null) {\r\n var currentElement = el;\r\n while (!currentElement.classList.contains(className) && currentElement.parentElement !== null) {\r\n var objectPlaceholder = currentElement;\r\n currentElement = objectPlaceholder.parentElement;\r\n }\r\n if (!currentElement.classList.contains(className)) {\r\n currentElement = null;\r\n }\r\n return currentElement;\r\n } else {\r\n return null;\r\n }\r\n}\r\n\r\n// Takes an element 'el'\r\n// Returns an true if one of the parents of 'el' has the class tablock or false if not\r\nfunction isTablockChild(el) {\r\n if (el.parentElement !== null) {\r\n var parent = el.parentElement;\r\n while (!parent.classList.contains(\"tablock\") && parent.parentElement !== null) {\r\n var parentObject = parent;\r\n parent = parentObject.parentElement;\r\n }\r\n if (!parent.classList.contains(\"linkbox\")) {\r\n parent = true;\r\n } else {\r\n parent = false;\r\n }\r\n return parent;\r\n } else {\r\n return false;\r\n }\r\n}\r\n\r\n// Takes an element 'el'\r\n// Returns true or false based on the presence of # in the href attribute of 'el'\r\nfunction isAnchorLink(el) {\r\n isAnchor = false;\r\n if (el.tagName === \"A\" && el.hasAttribute(\"href\") && el.getAttribute(\"href\").indexOf(\"#\") > -1) {\r\n isAnchor = true;\r\n }\r\n return isAnchor;\r\n}\r\n\r\n// Takes target element 'to', number 'duration', and optional function 'callbackFunction'\r\n// Animates the windows to scroll down to 'to' at speed of 'duration'\r\n// If 'callbackFunction' is defined, executes this function when the animation is complete\r\nfunction vScrollTo(to, duration, callbackFunction) {\r\n var element = document.scrollingElement || document.documentElement,\r\n start = element.scrollTop,\r\n change = to - start,\r\n startTs = performance.now();\r\n // t = current time\r\n // b = start value\r\n // c = change in value\r\n // d = duration\r\n function easeInOutQuad(t, b, c, d) {\r\n t /= d / 2;\r\n if (t < 1) return c / 2 * t * t + b;\r\n t--;\r\n return -c / 2 * (t * (t - 2) - 1) + b;\r\n }\r\n function animateScroll(ts) {\r\n var currentTime = ts - startTs;\r\n element.scrollTop = parseInt(easeInOutQuad(currentTime, start, change, duration));\r\n if (currentTime < duration) {\r\n requestAnimationFrame(animateScroll);\r\n } else {\r\n element.scrollTop = to;\r\n if (callbackFunction !== undefined) {\r\n callbackFunction();\r\n }\r\n }\r\n }\r\n requestAnimationFrame(animateScroll);\r\n};\r\n\r\n// Takes element 'el' and returns the height, inlcluding padding and margins, or 'el'\r\nfunction vOuterHeight(el) {\r\n var height = el.offsetHeight;\r\n var style = el.currentStyle || getComputedStyle(el);\r\n height += parseInt(style.marginTop) + parseInt(style.marginBottom);\r\n return height;\r\n}\r\n\r\n// Takes element 'el', optional number 'duration', and optional function 'callbackFunction'\r\n// Slides 'el' open at the speed of 'duration'\r\n// If 'duration' is not provided, uses 500 as the default speed\r\n// If 'callbackFunction' is defined, executes this function when the slide animation is complete\r\nfunction vSlideUp(target, duration, callbackFunction) {\r\n if (duration === undefined) {\r\n duration = 500;\r\n }\r\n target.style.transitionProperty = 'height, margin, padding';\r\n target.style.transitionDuration = duration + 'ms';\r\n target.style.boxSizing = 'border-box';\r\n target.style.height = target.offsetHeight + 'px';\r\n target.offsetHeight;\r\n target.style.overflow = 'hidden';\r\n target.style.height = 0;\r\n target.style.paddingTop = 0;\r\n target.style.paddingBottom = 0;\r\n target.style.marginTop = 0;\r\n target.style.marginBottom = 0;\r\n window.setTimeout(function () {\r\n target.style.display = 'none';\r\n target.style.removeProperty('height');\r\n target.style.removeProperty('padding-top');\r\n target.style.removeProperty('padding-bottom');\r\n target.style.removeProperty('margin-top');\r\n target.style.removeProperty('margin-bottom');\r\n target.style.removeProperty('overflow');\r\n target.style.removeProperty('transition-duration');\r\n target.style.removeProperty('transition-property');\r\n if (callbackFunction !== undefined) {\r\n callbackFunction();\r\n }\r\n }, duration);\r\n}\r\n\r\n// Takes element 'el', number 'duration', optional string 'display', and optional function 'callbackFunction'\r\n// Slides 'el' open at the speed of 'duration' if 'el' display is set to \"none\"\r\n// If 'duration' is not provided, uses 500 as the default speed\r\n// Will set the CSS property \"display\" of 'el' to 'display' or to \"block\" if 'display' is not set\r\n// If 'callbackFunction' is defined, executes this function when the slide animation is complete\r\nfunction vSlideDown(target, duration, display, callbackFunction) {\r\n if (duration === undefined) {\r\n duration = 500;\r\n }\r\n target.style.removeProperty('display');\r\n var displayValue = window.getComputedStyle(target).display;\r\n if (displayValue === 'none' && display === undefined) {\r\n displayValue = 'block';\r\n } else if (displayValue === 'none') {\r\n displayValue = display;\r\n }\r\n target.style.display = displayValue;\r\n var height = target.offsetHeight;\r\n target.style.overflow = 'hidden';\r\n target.style.height = 0;\r\n target.style.paddingTop = 0;\r\n target.style.paddingBottom = 0;\r\n target.style.marginTop = 0;\r\n target.style.marginBottom = 0;\r\n target.offsetHeight;\r\n target.style.boxSizing = 'border-box';\r\n target.style.transitionProperty = \"height, margin, padding\";\r\n target.style.transitionDuration = duration + 'ms';\r\n target.style.height = height + 'px';\r\n target.style.removeProperty('padding-top');\r\n target.style.removeProperty('padding-bottom');\r\n target.style.removeProperty('margin-top');\r\n target.style.removeProperty('margin-bottom');\r\n window.setTimeout(function () {\r\n target.style.removeProperty('height');\r\n target.style.removeProperty('overflow');\r\n target.style.removeProperty('transition-duration');\r\n target.style.removeProperty('transition-property');\r\n if (callbackFunction !== undefined) {\r\n callbackFunction();\r\n }\r\n }, duration);\r\n}\r\n\r\n// Takes an element 'el' a number 'duration' and a string 'display'\r\n// Slides 'el' open at the speed of 'duration' if 'el' display is set to none\r\n// Slides 'el' closed at the speed of 'duration' if 'el' display is set to anything other than none\r\n// Optional attribute 'display' can be used to set what the CSS display property of 'el' is set to when the slideDOwn animation is complete\r\nfunction vSlideToggle(target, duration, display) {\r\n if (duration === undefined) {\r\n duration = 500;\r\n }\r\n if (window.getComputedStyle(target).display === 'none') {\r\n if (display === undefined) {\r\n return vSlideDown(target, duration);\r\n } else {\r\n return vSlideDown(target, duration, display);\r\n }\r\n } else {\r\n return vSlideUp(target, duration);\r\n }\r\n}\r\n\r\n// Takes an element 'el' and fades 'el' out, and then sets the display CSS property of 'el' to 'none' once the fade animaton is complete\r\nfunction vFadeOut(target) {\r\n target.style.opacity = 1;\r\n (function fade() {\r\n if ((target.style.opacity -= .1) < 0) {\r\n target.style.display = \"none\";\r\n } else {\r\n requestAnimationFrame(fade);\r\n }\r\n })();\r\n};\r\n\r\n// Takes an element 'el' and an optional string 'display' and fades 'el' in, and then sets the display CSS property of 'el' to 'display' once the fade animaton is complete\r\n// Will set CSS display proerty to 'block' as a fallback if none is provided\r\nfunction vFadeIn(el, display) {\r\n el.style.opacity = 0;\r\n el.style.display = display || \"block\";\r\n (function fade() {\r\n var val = parseFloat(el.style.opacity);\r\n if (!((val += .1) > 1)) {\r\n el.style.opacity = val;\r\n requestAnimationFrame(fade);\r\n }\r\n })();\r\n};\r\n\r\n// Takes an element 'el' and an optional string 'display' and sets the display CSS property of 'el' to 'display'\r\n// Will set CSS display proerty to 'block' as a fallback if none is provided\r\nfunction vShow(el, display) {\r\n el.style.display = display || \"block\";\r\n}\r\n\r\n// Takes an element 'el' and sets the display CSS property of 'el' to 'none'\r\nfunction vHide(el) {\r\n el.style.display = \"none\";\r\n}\r\n\r\n// Takes an element 'el' and focuses the first selectable element within it\r\n// Return null if no selectable element is found\r\nfunction focusFirst(el) {\r\n if (el !== null) {\r\n var selectableElements = el.querySelectorAll(\"a, input, textarea, button\");\r\n var selected = false;\r\n for (var i = 0; i < selectableElements.length; i++) {\r\n if (selectableElements[i].style.display !== \"none\" && selected === false) {\r\n selectableElements[i].focus();\r\n selected = true;\r\n }\r\n }\r\n return false;\r\n } else {\r\n return null;\r\n }\r\n}\r\n\r\n// Takes an element 'el' and focuses the last selectable element within it\r\n// Return null if no selectable element is found\r\nfunction focusLast(el) {\r\n if (el !== null) {\r\n var selectableElements = el.querySelectorAll(\"a, input, textarea, button\");\r\n var selected = false;\r\n for (var i = (selectableElements.length - 1); i > -1; i--) {\r\n if (selectableElements[i].style.display !== \"none\" && selected === false) {\r\n selectableElements[i].focus();\r\n selected = true;\r\n }\r\n }\r\n return false;\r\n } else {\r\n return null;\r\n }\r\n}\r\n\r\n// Takes an element 'el' and returns the first selectable and visible element within 'el' or null if none is found\r\nfunction getFirstSelectableElement(el) {\r\n var selectableElements = el.querySelectorAll(\"button, a, input, select, textarea\");\r\n var firstElement = null;\r\n if (selectableElements !== null && selectableElements.length) {\r\n for (i = 0; i < selectableElements.length; i++) {\r\n if (selectableElements[i].tabIndex === 0 && selectableElements[i].style.display !== \"none\" && !selectableElements[i].classList.contains(\"visuallyhidden\") && isVisible(selectableElements[i]) && firstElement === null) {\r\n firstElement = selectableElements[i];\r\n }\r\n }\r\n }\r\n return firstElement;\r\n}\r\n\r\n// Takes an element as 'el' returns the last selectable and visible element within 'el' or null if none is found\r\nfunction getLastSelectableElement(el) {\r\n var selectableElements = el.querySelectorAll(\"button, a, input, select, textarea\");\r\n var lastElement = null;\r\n if (selectableElements !== null && selectableElements.length) {\r\n for (i = (selectableElements.length - 1); i > -1; i--) {\r\n if (selectableElements[i].tabIndex === 0 && selectableElements[i].style.display !== \"none\" && !selectableElements[i].classList.contains(\"visuallyhidden\") && isVisible(selectableElements[i]) && lastElement === null) {\r\n lastElement = selectableElements[i];\r\n }\r\n }\r\n }\r\n return lastElement;\r\n}\r\n\r\n\r\n\r\n/********************************************************\r\n** JUMPNAV CONDITIONAL HIGHLIGHTING\r\n********************************************************/\r\n/*\r\n Used to detect when the target of a jumplink scrolls into view so we can format those items as the currently displayed area\r\n*/\r\nsetInterval(function () {\r\n if (scrolling) {\r\n scrolling = false;\r\n var jumpNavAnchors = document.querySelectorAll(\".jump-nav a\");\r\n var jumpNavAnchorParents = document.querySelectorAll(\".jump-nav li\");\r\n if (jumpNavAnchors !== null && jumpNavAnchors.length && jumpNavAnchorParents !== null && jumpNavAnchorParents.length) {\r\n for (i = 0; i < jumpNavAnchors.length; i++) {\r\n var sp = jumpNavAnchors[i].getAttribute(\"href\").split(\"#\");\r\n if (document.querySelector(\"[data-jn='\" + sp[1] + \"']\").length && document.querySelector(\"[data-jn='\" + sp[1] + \"']\").getBoundingClientRect().top - 100 < window.pageYOffset) {\r\n for (j = 0; j < jumpNavAnchorParents.length; j++) {\r\n jumpNavAnchorParents[i].classList.remove(\"current\");\r\n }\r\n jumpNavAnchors[i].parentElement.classList.add(\"current\");\r\n }\r\n }\r\n }\r\n }\r\n}, 250);\r\n\r\n\r\n/********************************************************\r\n** SPEEDBUMP\r\n********************************************************/\r\n/*\r\n Displays a dialog when users click on certain links that have the speedbump class and that will navigate them away from the current site\r\n*/\r\nfunction speedbump(options) {\r\n // Options\r\n\r\n // Check for Non-FDIC Tag //\r\n\r\n const isFdicSpeedbump = options.clickedElement.classList.contains('fdic');\r\n\r\n const header = isFdicSpeedbump\r\n ? 'You are continuing to another website. Non deposit products are not FDIC insured, are not bank guaranteed, and may lose value.'\r\n : 'You are continuing to another website.'\r\n ;\r\n\r\n\r\n var settings = vExtend({\r\n // These are the defaults\r\n\r\n // Speedbump box title text\r\n header: header,\r\n\r\n // Speedbump box message text\r\n message: `You have selected an external link and are now leaving the secure website of ${bank_name}. We do not control external sites and cannot be held responsible for the content contained therein. We encourage you to review their privacy and security policies as they may differ from ${bank_name}’s.`,\r\n\r\n\r\n\r\n // Speedbump box cancel button text\r\n button_cancel: \"Return to \" + bank_name,\r\n\r\n // Speedbump box OK button text\r\n button_ok: \"OK\",\r\n\r\n // Speedbump box element ID\r\n id: \"default\",\r\n\r\n // Optional: speedbump box function code to execute when the OK button is clicked\r\n // Will not execute if target=\"_self\"\r\n confirm_function: null,\r\n\r\n // Optional: speedbump box function code to execute when the cancel button is clicked. Also executed on ESC\r\n cancel_function: null,\r\n\r\n // Speedbump box URL for the OK button. If left blank, automatically pulled from clicked element\r\n ok_link: \"\",\r\n\r\n // Spedbump box target (_self, _blank) for the OK button\r\n window_target: \"_self\"\r\n\r\n // 'clickedElement' is also passed, but isn't overwritten because it should never be provided as a default\r\n }, options);\r\n\r\n // If no link is provided to override, source it from the clicked element\r\n if (settings.ok_link === \"\") {\r\n settings.ok_link = settings.clickedElement.getAttribute(\"href\");\r\n }\r\n\r\n // If the clicked element has no target, set as self, otherwise, set as the clicked element's target\r\n if (settings.clickedElement.hasAttribute(\"target\") && settings.clickedElement.getAttribute(\"target\") !== \"\") {\r\n settings.window_target = settings.clickedElement.getAttribute(\"target\");\r\n }\r\n\r\n // If an ID exists, assign it\r\n if (settings.id != \"\") {\r\n settings.id = \"_\" + settings.id;\r\n }\r\n\r\n // Check to see if the markup for this speedbump has already been appended and if not append it\r\n if (\r\n document.querySelectorAll(\".js-speedbump_pop\" + settings.id).length ===\r\n 0\r\n ) {\r\n const speedbumpCode = document.createElement(\"section\");\r\n speedbumpCode.classList.add(\"js-speedbump_pop\" + settings.id);\r\n speedbumpCode.classList.add(\"speedbump_back\");\r\n speedbumpCode.setAttribute(\"aria-label\", \"Speedbump - Please review\");\r\n speedbumpCode.style.display = \"none\";\r\n speedbumpCode.innerHTML =\r\n \"
\";\r\n body.appendChild(speedbumpCode);\r\n }\r\n\r\n // Assign a variable to refer to the speedbump we just added to the DOM\r\n var currentSpeedbump = document.querySelector(\".js-speedbump_pop\" + settings.id);\r\n\r\n // Build the speedbump inner HTML based on the values passed to settings and then set it\r\n var valid = true;\r\n var spb = \"\";\r\n if (settings.header != \"\") {\r\n spb += \"
\" + settings.header + \"
\";\r\n }\r\n spb += \"
\" + settings.message + \"
\" +\r\n \"
\" +\r\n \"\" +\r\n \"\" + settings.button_ok + \"\" + \r\n \"
\";\r\n currentSpeedbump.querySelector(\".speedbump_pop_content\").innerHTML = spb;\r\n\r\n // Now that the markup is complete, set reference variables to the current speedbump for the rest of the code\r\n var currentSpeedbumpInner = currentSpeedbump.querySelector(\".speedbump_pop_inner\");\r\n var currentOKButton = currentSpeedbump.querySelector(\".js-speedbump_btn_ok\" + settings.id);\r\n var currentCancelbutton = currentSpeedbump.querySelector(\".js-speedbump_btn_cancel\" + settings.id);\r\n\r\n // ESC key behavior\r\n if (!currentSpeedbump.classList.contains(\"esc-bound\")) {\r\n currentSpeedbump.addEventListener(\"keyup\", function (event) {\r\n if (event.key === \"Esc\" && currentSpeedbump.style.display !== \"none\") {\r\n vHide(currentSpeedbump);\r\n currentSpeedbump.classList.remove(\"sb-active\");\r\n currentSpeedbump.removeAttribute(\"role\");\r\n valid = false;\r\n if (settings.cancel_function !== null) {\r\n settings.cancel_function();\r\n }\r\n settings.clickedElement.focus();\r\n return false;\r\n }\r\n });\r\n currentSpeedbump.classList.add(\"esc-bound\");\r\n }\r\n\r\n // OK button click event\r\n if (!currentOKButton.classList.contains(\"bound\")) {\r\n currentOKButton.addEventListener(\"click\", function (event) {\r\n vHide(currentSpeedbump);\r\n currentSpeedbump.classList.remove(\"sb-active\");\r\n currentSpeedbump.removeAttribute(\"role\");\r\n if (settings.confirm_function !== null) {\r\n settings.confirm_function();\r\n }\r\n });\r\n currentOKButton.classList.add(\"bound\");\r\n }\r\n\r\n // Cancel button click event\r\n if (!currentCancelbutton.classList.contains(\"bound\")) {\r\n currentCancelbutton.addEventListener(\"click\", function (event) {\r\n vHide(currentSpeedbump);\r\n currentSpeedbump.classList.remove(\"sb-active\");\r\n currentSpeedbump.removeAttribute(\"role\");\r\n valid = false;\r\n if (settings.cancel_function !== null) {\r\n settings.cancel_function();\r\n }\r\n settings.clickedElement.focus();\r\n return false;\r\n });\r\n currentCancelbutton.classList.add(\"bound\");\r\n }\r\n\r\n //Move any tracking from link to confirm ok button\r\n currentOKButton.removeAttribute(\"data-track\");\r\n currentOKButton.removeAttribute(\"data-event\");\r\n currentOKButton.removeAttribute(\"data-track-category\");\r\n currentOKButton.removeAttribute(\"data-track-action\");\r\n currentOKButton.removeAttribute(\"data-track-value\");\r\n\r\n if (settings.clickedElement.hasAttribute(\"data-track\") && settings.clickedElement.getAttribute(\"data-track\") !== \"\") {\r\n currentOKButton.setAttribute(\"data-track\", settings.clickedElement.getAttribute(\"data-track\"));\r\n }\r\n if (settings.clickedElement.hasAttribute(\"data-event\") && settings.clickedElement.getAttribute(\"data-event\") !== \"\") {\r\n currentOKButton.setAttribute(\"data-event\", settings.clickedElement.getAttribute(\"data-event\"));\r\n }\r\n if (settings.clickedElement.hasAttribute(\"data-track-category\") && settings.clickedElement.getAttribute(\"data-track-category\") !== \"\") {\r\n currentOKButton.setAttribute(\"data-track-category\", settings.clickedElement.getAttribute(\"data-track-category\"));\r\n }\r\n if (settings.clickedElement.hasAttribute(\"data-track-action\") && settings.clickedElement.getAttribute(\"data-track-action\") !== \"\") {\r\n currentOKButton.setAttribute(\"data-track-action\", settings.clickedElement.getAttribute(\"data-track-action\"));\r\n }\r\n if (settings.clickedElement.hasAttribute(\"data-track-value\") && settings.clickedElement.getAttribute(\"data-track-value\") !== \"\") {\r\n currentOKButton.setAttribute(\"data-track-value\", settings.clickedElement.getAttribute(\"data-track-value\"));\r\n }\r\n\r\n // The code to display the speedbump\r\n //vShow(currentSpeedbump);\r\n currentSpeedbump.style.display = \"flex\";\r\n currentSpeedbump.setAttribute(\"role\", \"alert\");\r\n setTimeout(function () {\r\n currentOKButton.focus();\r\n }, \"600\");\r\n var windowHeight = window.pageYOffset || document.documentElement.scrollTop || document.body.scrollTop || 0;\r\n if (windowHeight < vOuterHeight(currentSpeedbumpInner)) {\r\n currentSpeedbumpInner.style.top = windowHeight;\r\n //currentSpeedbump.style.position = \"absolute\";\r\n currentSpeedbump.classList.remove(\"fixed\");\r\n currentSpeedbump.style.height = vOuterHeight(document.getElementsByTagName(\"html\")[0]);\r\n } else {\r\n currentSpeedbump.style.position = \"fixed\";\r\n currentSpeedbump.classList.add(\"fixed\");\r\n }\r\n currentSpeedbump.classList.add(\"sb-active\");\r\n currentSpeedbump.setAttribute(\"data-url\", settings.ok_link);\r\n\r\n return false;\r\n}\r\n\r\n// Helper to determine if a string which would be a URL references the domain of the current site or a different one\r\nfunction isCurrentDomain(a) { var b, c = \"\"; a.indexOf(\"://\") > -1 ? (b = a.split(\"/\")[2], c = a.split(\"/\")[0]) : b = a.split(\"/\")[0]; var e, f, d = window.location.href; return a.indexOf(\"://\") > -1 ? (e = d.split(\"/\")[2], f = d.split(\"/\")[0]) : e = d.split(\"/\")[0], e = e.split(\":\")[0], \"\" == c || c == f && b == e }\r\n\r\n// Normal link speedbumps\r\ndocument.addEventListener(\"click\", function (event) {\r\n\r\n if (event.target.matches(\"a\")) {\r\n if (!document.documentElement.classList.contains('hydrated') && !(event.target.classList.contains(\"speedbump_pop_btn_ok\")) &&\r\n (event.target.classList.contains(\"speedbump\") || event.target.getAttribute(\"data-speedbump\") == \"speedbump\" || \r\n (!isCurrentDomain(event.target.getAttribute(\"href\")) && event.target.getAttribute(\"target\") == \"_blank\"))) {\r\n\r\n if (!event.target.hasAttribute(\"data-no-speedbump\") && !event.target.classList.contains(\"no-sb\")) {\r\n\r\n event.preventDefault();\r\n speedbump({\r\n id: \"default_link\",\r\n clickedElement: event.target,\r\n button_cancel = \"Stay Here\",\r\n button_ok = \"Continue\"\r\n });\r\n }\r\n\r\n }\r\n else if (!document.documentElement.classList.contains('hydrated') && event.target.getAttribute(\"href\").indexOf(\"mailto\") != -1 && !(event.target.classList.contains(\"speedbump_pop_btn_ok\"))) {\r\n event.preventDefault();\r\n speedbump({\r\n id: 'default_email',\r\n header: 'Email Disclaimer',\r\n message: 'Email is not a secure transmission route. Thus we ask that you never send sensitive personal information like Social Security numbers, Account numbers, Credit Card numbers or any type of password via email to ' + bank_name + ' or anyone else. Please call us when submitting this information. Please click Send an Email to continue ...',\r\n button_cancel: 'Stay Here',\r\n button_ok: 'Send an Email',\r\n clickedElement: event.target\r\n });\r\n }\r\n }\r\n});\r\n\r\n/* Email link Speedbumps\r\ndocument.addEventListener(\"click\", function (event) {\r\n var emailbumpElement = getParentElementWithClass(event.target, \"email_bump\");\r\n if (!document.documentElement.classList.contains('hydrated') && emailbumpElement !== null && !emailbumpElement.hasAttribute(\"data-no-speedbump\") && emailbumpElement.hasAttribute(\"href\") && emailbumpElement.getAttribute(\"href\") !== \"\") {\r\n event.preventDefault();\r\n speedbump({\r\n id: 'default_email',\r\n header: 'Email Disclaimer',\r\n message: 'Email is not a secure transmission route. Thus we ask that you never send sensitive personal information like Social Security numbers, Account numbers, Credit Card numbers or any type of password via email to ' + bank_name + ' or anyone else. Please call us when submitting this information. Please click Send an Email to continue ...',\r\n button_cancel: 'Return to ' + bank_name,\r\n button_ok: 'Send an Email',\r\n clickedElement: speedbumpElement\r\n });\r\n }\r\n});\r\n*/\r\n\r\n/********************************************************\r\n** LINKBOX\r\n********************************************************/\r\n/*\r\n Makes an element's entire area a clickable link. Uses the href of the first link in the element as the link address\r\n*/\r\n// Event handler for linkbox links, including dynamic elements: Part 1, Click Events (with line to Disable in Kentico Admin)\r\nif (!document.documentElement.classList.contains('hydrated')) {\r\n document.addEventListener(\"click\", function (event) {\r\n \r\n var linkboxElement = getParentElementWithClass(event.target, \"linkbox\");\r\n if (linkboxElement !== null && !document.documentElement.classList.contains('hydrated')) {\r\n event.preventDefault();\r\n var theLinkElement = linkboxElement.querySelector(\"a\");\r\n var theLinkURL = theLinkElement.getAttribute(\"href\");\r\n if ((theLinkElement.classList.contains(\"speedbump\") || theLinkElement.getAttribute(\"data-speedbump\") == \"speedbump\") && !document.documentElement.classList.contains('hydrated')) {\r\n event.preventDefault();\r\n speedbump({\r\n id: \"default_link\",\r\n clickedElement: theLinkElement,\r\n button_cancel = \"Stay Here\",\r\n button_ok = \"Continue\"\r\n });\r\n } else {\r\n if (theLinkElement.hasAttribute(\"target\") && theLinkElement.getAttribute(\"target\") === \"_blank\") {\r\n window.open(theLinkURL);\r\n } else {\r\n window.location.href = theLinkURL;\r\n }\r\n }\r\n }\r\n });\r\n // Part 2, Hover Events\r\n document.onmouseover = function (event) {\r\n var linkboxElement = getParentElementWithClass(event.target, \"linkbox\");\r\n if (linkboxElement !== null) {\r\n var la = linkboxElement.querySelector(\"a\");\r\n if (la != null) {\r\n la.classList.add(\"hovered\");\r\n }\r\n }\r\n }\r\n document.onmouseout = function (event) {\r\n var linkboxElement = getParentElementWithClass(event.target, \"linkbox\");\r\n if (linkboxElement !== null) {\r\n var la = linkboxElement.querySelector(\"a\");\r\n if (la != null) {\r\n la.classList.remove(\"hovered\");\r\n }\r\n }\r\n }\r\n}\r\n\r\n/********************************************************\r\n** SKIP LINK\r\n********************************************************/\r\n/*\r\n Behavior for when users on a screen reader click on the \"skip to main content\" link\r\n*/\r\ndocument.addEventListener(\"click\", function (event) {\r\n if (event.target.classList.contains(\"js-skip-link\")) {\r\n if (event.target.hasAttribute(\"href\") && document.querySelector(\"main\" + event.target.getAttribute(\"href\")) !== null) {\r\n vScrollTo(document.querySelector(\"main\" + event.target.getAttribute(\"href\")), 1000, function () {\r\n document.querySelector(\"main a\").focus();\r\n });\r\n }\r\n }\r\n});\r\n\r\n\r\n/********************************************************\r\n** TABLOCK\r\n********************************************************/\r\n/*\r\n Prevents users from tabbing out of an area, such as a modal. Automatic based on the deepest container with class \"tablock.\"\r\n*/\r\ndocument.addEventListener(\"keydown\", function (event) {\r\n var activeElement = document.activeElement;\r\n if (event.key === \"Tab\" && isTablockChild(activeElement)) {\r\n var shift = event.shiftKey;\r\n tablockContainer = getParentElementWithClass(activeElement, \"tablock\");\r\n // Check to see if the container index has changed, which means the element is inside of a tablock.\r\n if (tablockContainer !== null) {\r\n var firstContainerElement = getFirstSelectableElement(tablockContainer);\r\n var lastContainerElement = getLastSelectableElement(tablockContainer);\r\n if (firstContainerElement !== null && lastContainerElement !== null) {\r\n if (firstContainerElement === activeElement && shift === true) {\r\n event.preventDefault();\r\n lastContainerElement.focus();\r\n return false;\r\n } else if (lastContainerElement === activeElement && shift === false) {\r\n event.preventDefault();\r\n firstContainerElement.focus();\r\n return false;\r\n }\r\n }\r\n }\r\n }\r\n});\r\n\r\n\r\n\r\n\r\n/*****************************************************\r\n * ACCORDIONS\r\n * **************************************************/\r\n//document.addEventListener(\"click\", function (e) {\r\n// if (e.target.matches(\".js-accordion-button\") && !e.target.parentNode.classList.contains('js-card-accordion')) {\r\n// var pnt = getParentElementWithClass(e.target, \"js-accordion\");\r\n// var cnt = pnt.querySelector(\".js-accordion-content\");\r\n\r\n// if ((cnt.style.display == \"none\") || (cnt.style.display == '')) {\r\n// vSlideDown(cnt);\r\n// pnt.classList.add(\"active\");\r\n// e.target.setAttribute(\"aria-expanded\", true);\r\n// }\r\n// else {\r\n// vSlideUp(cnt);\r\n// pnt.classList.remove(\"active\");\r\n// e.target.setAttribute(\"aria-expanded\", true);\r\n// }\r\n// }\r\n//});\r\ndocument.addEventListener(\"click\", function (e) {\r\n if (e.target.matches(\".js-accordion-button\")) {\r\n var pnt = getParentElementWithClass(e.target, \"js-card-accordion\");\r\n var cnt = pnt.querySelector(\".js-accordion-content\");\r\n\r\n if ((cnt.style.display == \"none\") || (cnt.style.display == '')) {\r\n vSlideDown(cnt);\r\n pnt.classList.add(\"active\");\r\n e.target.setAttribute(\"aria-expanded\", true);\r\n }\r\n else {\r\n vSlideUp(cnt);\r\n pnt.classList.remove(\"active\");\r\n e.target.setAttribute(\"aria-expanded\", true);\r\n }\r\n }\r\n});\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\nfunction r(n, t) { for (var i = 0; i < t.length; i++) { var r = t[i]; r.enumerable = r.enumerable || !1, r.configurable = !0, \"value\" in r && (r.writable = !0), Object.defineProperty(n, r.key, r) } } function Jt(n, t, i) { t && r(n.prototype, t), i && r(n, i), Object.defineProperty(n, \"prototype\", { writable: !1 }) }\r\n/*!\r\n * Splide.js\r\n * Version : 4.1.2\r\n * License : MIT\r\n * Copyright: 2022 Naotoshi Fujita\r\n */\r\nvar n, t; n = this, t = function () { \"use strict\"; var v = \"(prefers-reduced-motion: reduce)\", G = 4, rn = 5, r = { CREATED: 1, MOUNTED: 2, IDLE: 3, MOVING: G, SCROLLING: rn, DRAGGING: 6, DESTROYED: 7 }; function D(n) { n.length = 0 } function o(n, t, i) { return Array.prototype.slice.call(n, t, i) } function R(n) { return n.bind.apply(n, [null].concat(o(arguments, 1))) } function on() { } var p = setTimeout; function h(n) { return requestAnimationFrame(n) } function u(n, t) { return typeof t === n } function un(n) { return !c(n) && u(\"object\", n) } var e = Array.isArray, x = R(u, \"function\"), C = R(u, \"string\"), en = R(u, \"undefined\"); function c(n) { return null === n } function m(n) { try { return n instanceof (n.ownerDocument.defaultView || window).HTMLElement } catch (n) { return !1 } } function y(n) { return e(n) ? n : [n] } function g(n, t) { y(n).forEach(t) } function b(n, t) { return -1 < n.indexOf(t) } function k(n, t) { return n.push.apply(n, y(t)), n } function A(t, n, i) { t && g(n, function (n) { n && t.classList[i ? \"add\" : \"remove\"](n) }) } function M(n, t) { A(n, C(t) ? t.split(\" \") : t, !0) } function L(n, t) { g(t, n.appendChild.bind(n)) } function O(n, i) { g(n, function (n) { var t = (i || n).parentNode; t && t.insertBefore(n, i) }) } function cn(n, t) { return m(n) && (n.msMatchesSelector || n.matches).call(n, t) } function S(n, t) { n = n ? o(n.children) : []; return t ? n.filter(function (n) { return cn(n, t) }) : n } function fn(n, t) { return t ? S(n, t)[0] : n.firstElementChild } var E = Object.keys; function w(t, i, n) { t && (n ? E(t).reverse() : E(t)).forEach(function (n) { \"__proto__\" !== n && i(t[n], n) }) } function an(r) { return o(arguments, 1).forEach(function (i) { w(i, function (n, t) { r[t] = i[t] }) }), r } function d(i) { return o(arguments, 1).forEach(function (n) { w(n, function (n, t) { e(n) ? i[t] = n.slice() : un(n) ? i[t] = d({}, un(i[t]) ? i[t] : {}, n) : i[t] = n }) }), i } function sn(t, n) { g(n || E(t), function (n) { delete t[n] }) } function P(n, i) { g(n, function (t) { g(i, function (n) { t && t.removeAttribute(n) }) }) } function I(i, t, r) { un(t) ? w(t, function (n, t) { I(i, t, n) }) : g(i, function (n) { c(r) || \"\" === r ? P(n, t) : n.setAttribute(t, String(r)) }) } function j(n, t, i) { n = document.createElement(n); return t && (C(t) ? M : I)(n, t), i && L(i, n), n } function _(n, t, i) { if (en(i)) return getComputedStyle(n)[t]; c(i) || (n.style[t] = \"\" + i) } function ln(n, t) { _(n, \"display\", t) } function dn(n) { n.setActive && n.setActive() || n.focus({ preventScroll: !0 }) } function z(n, t) { return n.getAttribute(t) } function vn(n, t) { return n && n.classList.contains(t) } function N(n) { return n.getBoundingClientRect() } function T(n) { g(n, function (n) { n && n.parentNode && n.parentNode.removeChild(n) }) } function hn(n) { return fn((new DOMParser).parseFromString(n, \"text/html\").body) } function F(n, t) { n.preventDefault(), t && (n.stopPropagation(), n.stopImmediatePropagation()) } function pn(n, t) { return n && n.querySelector(t) } function gn(n, t) { return t ? o(n.querySelectorAll(t)) : [] } function X(n, t) { A(n, t, !1) } function mn(n) { return n.timeStamp } function W(n) { return C(n) ? n : n ? n + \"px\" : \"\" } var yn = \"splide\", f = \"data-\" + yn; function bn(n, t) { if (!n) throw new Error(\"[\" + yn + \"] \" + (t || \"\")) } var Y = Math.min, wn = Math.max, xn = Math.floor, kn = Math.ceil, U = Math.abs; function Sn(n, t, i) { return U(n - t) < i } function En(n, t, i, r) { var o = Y(t, i), t = wn(t, i); return r ? o < n && n < t : o <= n && n <= t } function q(n, t, i) { var r = Y(t, i), t = wn(t, i); return Y(wn(r, n), t) } function Ln(n) { return (0 < n) - (n < 0) } function On(t, n) { return g(n, function (n) { t = t.replace(\"%s\", \"\" + n) }), t } function An(n) { return n < 10 ? \"0\" + n : \"\" + n } var _n = {}; function zn() { var c = []; function i(n, i, r) { g(n, function (t) { t && g(i, function (n) { n.split(\" \").forEach(function (n) { n = n.split(\".\"); r(t, n[0], n[1]) }) }) }) } return { bind: function (n, t, u, e) { i(n, t, function (n, t, i) { var r = \"addEventListener\" in n, o = r ? n.removeEventListener.bind(n, t, u, e) : n.removeListener.bind(n, u); r ? n.addEventListener(t, u, e) : n.addListener(u), c.push([n, t, i, u, o]) }) }, unbind: function (n, t, o) { i(n, t, function (t, i, r) { c = c.filter(function (n) { return !!(n[0] !== t || n[1] !== i || n[2] !== r || o && n[3] !== o) || (n[4](), !1) }) }) }, dispatch: function (n, t, i) { var r; return \"function\" == typeof CustomEvent ? r = new CustomEvent(t, { bubbles: !0, detail: i }) : (r = document.createEvent(\"CustomEvent\")).initCustomEvent(t, !0, !1, i), n.dispatchEvent(r), r }, destroy: function () { c.forEach(function (n) { n[4]() }), D(c) } } } var B = \"mounted\", H = \"move\", Dn = \"moved\", Mn = \"click\", Pn = \"active\", In = \"inactive\", Rn = \"visible\", Cn = \"hidden\", J = \"refresh\", K = \"updated\", jn = \"resize\", Nn = \"resized\", Tn = \"scroll\", V = \"scrolled\", a = \"destroy\", Gn = \"navigation:mounted\", Fn = \"autoplay:play\", Xn = \"autoplay:pause\", Wn = \"lazyload:loaded\", Yn = \"sk\", Un = \"sh\"; function Q(n) { var i = n ? n.event.bus : document.createDocumentFragment(), r = zn(); return n && n.event.on(a, r.destroy), an(r, { bus: i, on: function (n, t) { r.bind(i, y(n).join(\" \"), function (n) { t.apply(t, e(n.detail) ? n.detail : []) }) }, off: R(r.unbind, i), emit: function (n) { r.dispatch(i, n, o(arguments, 1)) } }) } function qn(t, n, i, r) { var o, u, e = Date.now, c = 0, f = !0, a = 0; function s() { if (!f) { if (c = t ? Y((e() - o) / t, 1) : 1, i && i(c), 1 <= c && (n(), o = e(), r && ++a >= r)) return l(); u = h(s) } } function l() { f = !0 } function d() { u && cancelAnimationFrame(u), f = !(u = c = 0) } return { start: function (n) { n || d(), o = e() - (n ? c * t : 0), f = !1, u = h(s) }, rewind: function () { o = e(), c = 0, i && i(c) }, pause: l, cancel: d, set: function (n) { t = n }, isPaused: function () { return f } } } function s(n) { var t = n; return { set: function (n) { t = n }, is: function (n) { return b(y(n), t) } } } var n = \"Arrow\", Bn = n + \"Left\", Hn = n + \"Right\", t = n + \"Up\", n = n + \"Down\", Jn = \"ttb\", l = { width: [\"height\"], left: [\"top\", \"right\"], right: [\"bottom\", \"left\"], x: [\"y\"], X: [\"Y\"], Y: [\"X\"], ArrowLeft: [t, Hn], ArrowRight: [n, Bn] }; var Z = \"role\", $ = \"tabindex\", i = \"aria-\", Kn = i + \"controls\", Vn = i + \"current\", Qn = i + \"selected\", nn = i + \"label\", Zn = i + \"labelledby\", $n = i + \"hidden\", nt = i + \"orientation\", tt = i + \"roledescription\", it = i + \"live\", rt = i + \"busy\", ot = i + \"atomic\", ut = [Z, $, \"disabled\", Kn, Vn, nn, Zn, $n, nt, tt], i = yn + \"__\", et = yn, ct = i + \"track\", ft = i + \"list\", at = i + \"slide\", st = at + \"--clone\", lt = at + \"__container\", dt = i + \"arrows\", vt = i + \"arrow\", ht = vt + \"--prev\", pt = vt + \"--next\", gt = i + \"pagination\", mt = gt + \"__page\", yt = i + \"progress\" + \"__bar\", bt = i + \"toggle\", wt = i + \"sr\", tn = \"is-active\", xt = \"is-prev\", kt = \"is-next\", St = \"is-visible\", Et = \"is-loading\", Lt = \"is-focus-in\", Ot = \"is-overflow\", At = [tn, St, xt, kt, Et, Lt, Ot]; var _t = \"touchstart mousedown\", zt = \"touchmove mousemove\", Dt = \"touchend touchcancel mouseup click\"; var Mt = \"slide\", Pt = \"loop\", It = \"fade\"; function Rt(o, r, t, u) { var e, n = Q(o), i = n.on, c = n.emit, f = n.bind, a = o.Components, s = o.root, l = o.options, d = l.isNavigation, v = l.updateOnMove, h = l.i18n, p = l.pagination, g = l.slideFocus, m = a.Direction.resolve, y = z(u, \"style\"), b = z(u, nn), w = -1 < t, x = fn(u, \".\" + lt); function k() { var n = o.splides.map(function (n) { n = n.splide.Components.Slides.getAt(r); return n ? n.slide.id : \"\" }).join(\" \"); I(u, nn, On(h.slideX, (w ? t : r) + 1)), I(u, Kn, n), I(u, Z, g ? \"button\" : \"\"), g && P(u, tt) } function S() { e || E() } function E() { var n, t, i; e || (n = o.index, (i = L()) !== vn(u, tn) && (A(u, tn, i), I(u, Vn, d && i || \"\"), c(i ? Pn : In, O)), i = function () { if (o.is(It)) return L(); var n = N(a.Elements.track), t = N(u), i = m(\"left\", !0), r = m(\"right\", !0); return xn(n[i]) <= kn(t[i]) && xn(t[r]) <= kn(n[r]) }(), t = !i && (!L() || w), o.state.is([G, rn]) || I(u, $n, t || \"\"), I(gn(u, l.focusableNodes || \"\"), $, t ? -1 : \"\"), g && I(u, $, t ? -1 : 0), i !== vn(u, St) && (A(u, St, i), c(i ? Rn : Cn, O)), i || document.activeElement !== u || (t = a.Slides.getAt(o.index)) && dn(t.slide), A(u, xt, r === n - 1), A(u, kt, r === n + 1)) } function L() { var n = o.index; return n === r || l.cloneStatus && n === t } var O = { index: r, slideIndex: t, slide: u, container: x, isClone: w, mount: function () { w || (u.id = s.id + \"-slide\" + An(r + 1), I(u, Z, p ? \"tabpanel\" : \"group\"), I(u, tt, h.slide), I(u, nn, b || On(h.slideLabel, [r + 1, o.length]))), f(u, \"click\", R(c, Mn, O)), f(u, \"keydown\", R(c, Yn, O)), i([Dn, Un, V], E), i(Gn, k), v && i(H, S) }, destroy: function () { e = !0, n.destroy(), X(u, At), P(u, ut), I(u, \"style\", y), I(u, nn, b || \"\") }, update: E, style: function (n, t, i) { _(i && x || u, n, t) }, isWithin: function (n, t) { return n = U(n - r), (n = w || !l.rewind && !o.is(Pt) ? n : Y(n, o.length - n)) <= t } }; return O } var Ct = f + \"-interval\"; var jt = { passive: !1, capture: !0 }; var Nt = { Spacebar: \" \", Right: Hn, Left: Bn, Up: t, Down: n }; function Tt(n) { return n = C(n) ? n : n.key, Nt[n] || n } var Gt = \"keydown\"; var Ft = f + \"-lazy\", Xt = Ft + \"-srcset\", Wt = \"[\" + Ft + \"], [\" + Xt + \"]\"; var Yt = [\" \", \"Enter\"]; var Ut = Object.freeze({ __proto__: null, Media: function (r, n, o) { var u = r.state, t = o.breakpoints || {}, e = o.reducedMotion || {}, i = zn(), c = []; function f(n) { n && i.destroy() } function a(n, t) { t = matchMedia(t); i.bind(t, \"change\", s), c.push([n, t]) } function s() { var n = u.is(7), t = o.direction, i = c.reduce(function (n, t) { return d(n, t[1].matches ? t[0] : {}) }, {}); sn(o), l(i), o.destroy ? r.destroy(\"completely\" === o.destroy) : n ? (f(!0), r.mount()) : t !== o.direction && r.refresh() } function l(n, t, i) { d(o, n), t && d(Object.getPrototypeOf(o), n), !i && u.is(1) || r.emit(K, o) } return { setup: function () { var i = \"min\" === o.mediaQuery; E(t).sort(function (n, t) { return i ? +n - +t : +t - +n }).forEach(function (n) { a(t[n], \"(\" + (i ? \"min\" : \"max\") + \"-width:\" + n + \"px)\") }), a(e, v), s() }, destroy: f, reduce: function (n) { matchMedia(v).matches && (n ? d(o, e) : sn(o, E(e))) }, set: l } }, Direction: function (n, t, o) { return { resolve: function (n, t, i) { var r = \"rtl\" !== (i = i || o.direction) || t ? i === Jn ? 0 : -1 : 1; return l[n] && l[n][r] || n.replace(/width|left|right/i, function (n, t) { n = l[n.toLowerCase()][r] || n; return 0 < t ? n.charAt(0).toUpperCase() + n.slice(1) : n }) }, orient: function (n) { return n * (\"rtl\" === o.direction ? 1 : -1) } } }, Elements: function (n, t, i) { var r, o, u, e = Q(n), c = e.on, f = e.bind, a = n.root, s = i.i18n, l = {}, d = [], v = [], h = []; function p() { r = y(\".\" + ct), o = fn(r, \".\" + ft), bn(r && o, \"A track/list element is missing.\"), k(d, S(o, \".\" + at + \":not(.\" + st + \")\")), w({ arrows: dt, pagination: gt, prev: ht, next: pt, bar: yt, toggle: bt }, function (n, t) { l[t] = y(\".\" + n) }), an(l, { root: a, track: r, list: o, slides: d }); var n = a.id || function (n) { return \"\" + n + An(_n[n] = (_n[n] || 0) + 1) }(yn), t = i.role; a.id = n, r.id = r.id || n + \"-track\", o.id = o.id || n + \"-list\", !z(a, Z) && \"SECTION\" !== a.tagName && t && I(a, Z, t), I(a, tt, s.carousel), I(o, Z, \"presentation\"), m() } function g(n) { var t = ut.concat(\"style\"); D(d), X(a, v), X(r, h), P([r, o], t), P(a, n ? t : [\"style\", tt]) } function m() { X(a, v), X(r, h), v = b(et), h = b(ct), M(a, v), M(r, h), I(a, nn, i.label), I(a, Zn, i.labelledby) } function y(n) { n = pn(a, n); return n && function (n, t) { if (x(n.closest)) return n.closest(t); for (var i = n; i && 1 === i.nodeType && !cn(i, t);)i = i.parentElement; return i }(n, \".\" + et) === a ? n : void 0 } function b(n) { return [n + \"--\" + i.type, n + \"--\" + i.direction, i.drag && n + \"--draggable\", i.isNavigation && n + \"--nav\", n === et && tn] } return an(l, { setup: p, mount: function () { c(J, g), c(J, p), c(K, m), f(document, _t + \" keydown\", function (n) { u = \"keydown\" === n.type }, { capture: !0 }), f(a, \"focusin\", function () { A(a, Lt, !!u) }) }, destroy: g }) }, Slides: function (r, o, u) { var n = Q(r), t = n.on, e = n.emit, c = n.bind, f = (n = o.Elements).slides, a = n.list, s = []; function i() { f.forEach(function (n, t) { d(n, t, -1) }) } function l() { h(function (n) { n.destroy() }), D(s) } function d(n, t, i) { t = Rt(r, t, i, n); t.mount(), s.push(t), s.sort(function (n, t) { return n.index - t.index }) } function v(n) { return n ? p(function (n) { return !n.isClone }) : s } function h(n, t) { v(t).forEach(n) } function p(t) { return s.filter(x(t) ? t : function (n) { return C(t) ? cn(n.slide, t) : b(y(t), n.index) }) } return { mount: function () { i(), t(J, l), t(J, i) }, destroy: l, update: function () { h(function (n) { n.update() }) }, register: d, get: v, getIn: function (n) { var t = o.Controller, i = t.toIndex(n), r = t.hasFocus() ? 1 : u.perPage; return p(function (n) { return En(n.index, i, i + r - 1) }) }, getAt: function (n) { return p(n)[0] }, add: function (n, o) { g(n, function (n) { var t, i, r; m(n = C(n) ? hn(n) : n) && ((t = f[o]) ? O(n, t) : L(a, n), M(n, u.classes.slide), t = n, i = R(e, jn), t = gn(t, \"img\"), (r = t.length) ? t.forEach(function (n) { c(n, \"load error\", function () { --r || i() }) }) : i()) }), e(J) }, remove: function (n) { T(p(n).map(function (n) { return n.slide })), e(J) }, forEach: h, filter: p, style: function (t, i, r) { h(function (n) { n.style(t, i, r) }) }, getLength: function (n) { return (n ? f : s).length }, isEnough: function () { return s.length > u.perPage } } }, Layout: function (t, n, i) { var r, o, u, e = (a = Q(t)).on, c = a.bind, f = a.emit, a = n.Slides, s = n.Direction.resolve, l = (n = n.Elements).root, d = n.track, v = n.list, h = a.getAt, p = a.style; function g() { r = i.direction === Jn, _(l, \"maxWidth\", W(i.width)), _(d, s(\"paddingLeft\"), y(!1)), _(d, s(\"paddingRight\"), y(!0)), m(!0) } function m(n) { var t = N(l); !n && o.width === t.width && o.height === t.height || (_(d, \"height\", function () { var n = \"\"; r && (bn(n = b(), \"height or heightRatio is missing.\"), n = \"calc(\" + n + \" - \" + y(!1) + \" - \" + y(!0) + \")\"); return n }()), p(s(\"marginRight\"), W(i.gap)), p(\"width\", i.autoWidth ? null : W(i.fixedWidth) || (r ? \"\" : w())), p(\"height\", W(i.fixedHeight) || (r ? i.autoHeight ? null : w() : b()), !0), o = t, f(Nn), u !== (u = O()) && (A(l, Ot, u), f(\"overflow\", u))) } function y(n) { var t = i.padding, n = s(n ? \"right\" : \"left\"); return t && W(t[n] || (un(t) ? 0 : t)) || \"0px\" } function b() { return W(i.height || N(v).width * i.heightRatio) } function w() { var n = W(i.gap); return \"calc((100%\" + (n && \" + \" + n) + \")/\" + (i.perPage || 1) + (n && \" - \" + n) + \")\" } function x() { return N(v)[s(\"width\")] } function k(n, t) { n = h(n || 0); return n ? N(n.slide)[s(\"width\")] + (t ? 0 : L()) : 0 } function S(n, t) { var i, n = h(n); return n ? (n = N(n.slide)[s(\"right\")], i = N(v)[s(\"left\")], U(n - i) + (t ? 0 : L())) : 0 } function E(n) { return S(t.length - 1) - S(0) + k(0, n) } function L() { var n = h(0); return n && parseFloat(_(n.slide, s(\"marginRight\"))) || 0 } function O() { return t.is(It) || E(!0) > x() } return { mount: function () { var n, t, i; g(), c(window, \"resize load\", (n = R(f, jn), i = qn(t || 0, n, null, 1), function () { i.isPaused() && i.start() })), e([K, J], g), e(jn, m) }, resize: m, listSize: x, slideSize: k, sliderSize: E, totalSize: S, getPadding: function (n) { return parseFloat(_(d, s(\"padding\" + (n ? \"Right\" : \"Left\")))) || 0 }, isOverflow: O } }, Clones: function (c, i, f) { var t, r = Q(c), n = r.on, a = i.Elements, s = i.Slides, o = i.Direction.resolve, l = []; function u() { if (n(J, d), n([K, jn], v), t = h()) { var o = t, u = s.get().slice(), e = u.length; if (e) { for (; u.length < o;)k(u, u); k(u.slice(-o), u.slice(0, o)).forEach(function (n, t) { var i = t < o, r = function (n, t) { n = n.cloneNode(!0); return M(n, f.classes.clone), n.id = c.root.id + \"-clone\" + An(t + 1), n }(n.slide, t); i ? O(r, u[0].slide) : L(a.list, r), k(l, r), s.register(r, t - o + (i ? 0 : e), n.index) }) } i.Layout.resize(!0) } } function d() { e(), u() } function e() { T(l), D(l), r.destroy() } function v() { var n = h(); t !== n && (t < n || !n) && r.emit(J) } function h() { var n, t = f.clones; return c.is(Pt) ? en(t) && (t = (n = f[o(\"fixedWidth\")] && i.Layout.slideSize(0)) && kn(N(a.track)[o(\"width\")] / n) || f[o(\"autoWidth\")] && c.length || 2 * f.perPage) : t = 0, t } return { mount: u, destroy: e } }, Move: function (r, c, o) { var e, n = Q(r), t = n.on, f = n.emit, a = r.state.set, u = (n = c.Layout).slideSize, i = n.getPadding, s = n.totalSize, l = n.listSize, d = n.sliderSize, v = (n = c.Direction).resolve, h = n.orient, p = (n = c.Elements).list, g = n.track; function m() { c.Controller.isBusy() || (c.Scroll.cancel(), y(r.index), c.Slides.update()) } function y(n) { b(S(n, !0)) } function b(n, t) { r.is(It) || (t = t ? n : function (n) { { var t, i; r.is(Pt) && (t = k(n), i = t > c.Controller.getEnd(), (t < 0 || i) && (n = w(n, i))) } return n }(n), _(p, \"transform\", \"translate\" + v(\"X\") + \"(\" + t + \"px)\"), n !== t && f(Un)) } function w(n, t) { var i = n - L(t), r = d(); return n -= h(r * (kn(U(i) / r) || 1)) * (t ? 1 : -1) } function x() { b(E(), !0), e.cancel() } function k(n) { for (var t = c.Slides.get(), i = 0, r = 1 / 0, o = 0; o < t.length; o++) { var u = t[o].index, e = U(S(u, !0) - n); if (!(e <= r)) break; r = e, i = u } return i } function S(n, t) { var i = h(s(n - 1) - (n = n, \"center\" === (i = o.focus) ? (l() - u(n, !0)) / 2 : +i * u(n) || 0)); return t ? (n = i, n = o.trimSpace && r.is(Mt) ? q(n, 0, h(d(!0) - l())) : n) : i } function E() { var n = v(\"left\"); return N(p)[n] - N(g)[n] + h(i(!1)) } function L(n) { return S(n ? c.Controller.getEnd() : 0, !!o.trimSpace) } return { mount: function () { e = c.Transition, t([B, Nn, K, J], m) }, move: function (n, t, i, r) { var o, u; n !== t && (o = i < n, u = h(w(E(), o)), o ? 0 <= u : u <= p[v(\"scrollWidth\")] - N(g)[v(\"width\")]) && (x(), b(w(E(), i < n), !0)), a(G), f(H, t, i, n), e.start(t, function () { a(3), f(Dn, t, i, n), r && r() }) }, jump: y, translate: b, shift: w, cancel: x, toIndex: k, toPosition: S, getPosition: E, getLimit: L, exceededLimit: function (n, t) { t = en(t) ? E() : t; var i = !0 !== n && h(t) < h(L(!1)), n = !1 !== n && h(t) > h(L(!0)); return i || n }, reposition: m } }, Controller: function (o, u, e) { var c, f, a, s, n = Q(o), t = n.on, i = n.emit, l = u.Move, d = l.getPosition, r = l.getLimit, v = l.toPosition, h = (n = u.Slides).isEnough, p = n.getLength, g = e.omitEnd, m = o.is(Pt), y = o.is(Mt), b = R(L, !1), w = R(L, !0), x = e.start || 0, k = x; function S() { f = p(!0), a = e.perMove, s = e.perPage, c = _(); var n = q(x, 0, g ? c : f - 1); n !== x && (x = n, l.reposition()) } function E() { c !== _() && i(\"ei\") } function L(n, t) { var i = a || (P() ? 1 : s), i = O(x + i * (n ? -1 : 1), x, !(a || P())); return -1 === i && y && !Sn(d(), r(!n), 1) ? n ? 0 : c : t ? i : A(i) } function O(n, t, i) { var r; return h() || P() ? ((r = function (n) { if (y && \"move\" === e.trimSpace && n !== x) for (var t = d(); t === v(n, !0) && En(n, 0, o.length - 1, !e.rewind);)n < x ? --n : ++n; return n }(n)) !== n && (t = n, n = r, i = !1), n < 0 || c < n ? n = a || !En(0, n, t, !0) && !En(c, t, n, !0) ? m ? i ? n < 0 ? -(f % s || s) : f : n : e.rewind ? n < 0 ? c : 0 : -1 : z(D(n)) : i && n !== t && (n = z(D(t) + (n < t ? -1 : 1)))) : n = -1, n } function A(n) { return m ? (n + f) % f || 0 : n } function _() { for (var n = f - (P() || m && a ? 1 : s); g && 0 < n--;)if (v(f - 1, !0) !== v(n, !0)) { n++; break } return q(n, 0, f - 1) } function z(n) { return q(P() ? n : s * n, 0, c) } function D(n) { return P() ? Y(n, c) : xn((c <= n ? f - 1 : n) / s) } function M(n) { n !== x && (k = x, x = n) } function P() { return !en(e.focus) || e.isNavigation } function I() { return o.state.is([G, rn]) && !!e.waitForTransition } return { mount: function () { S(), t([K, J, \"ei\"], S), t(Nn, E) }, go: function (n, t, i) { var r; I() || -1 < (r = A(n = function (n) { var t = x; { var i, r; C(n) ? (r = n.match(/([+\\-<>])(\\d+)?/) || [], i = r[1], r = r[2], \"+\" === i || \"-\" === i ? t = O(x + +(\"\" + i + (+r || 1)), x) : \">\" === i ? t = r ? z(+r) : b(!0) : \"<\" === i && (t = w(!0))) : t = m ? n : q(n, 0, c) } return t }(n))) && (t || r !== x) && (M(r), l.move(n, r, k, i)) }, scroll: function (n, t, i, r) { u.Scroll.scroll(n, t, i, function () { var n = A(l.toIndex(d())); M(g ? Y(n, c) : n), r && r() }) }, getNext: b, getPrev: w, getAdjacent: L, getEnd: _, setIndex: M, getIndex: function (n) { return n ? k : x }, toIndex: z, toPage: D, toDest: function (n) { return n = l.toIndex(n), y ? q(n, 0, c) : n }, hasFocus: P, isBusy: I } }, Arrows: function (o, n, t) { var i, r, u = Q(o), e = u.on, c = u.bind, f = u.emit, a = t.classes, s = t.i18n, l = n.Elements, d = n.Controller, v = l.arrows, h = l.track, p = v, g = l.prev, m = l.next, y = {}; function b() { var n = t.arrows; !n || g && m || (p = v || j(\"div\", a.arrows), g = S(!0), m = S(!1), i = !0, L(p, [g, m]), v || O(p, h)), g && m && (an(y, { prev: g, next: m }), ln(p, n ? \"\" : \"none\"), M(p, r = dt + \"--\" + t.direction), n && (e([B, Dn, J, V, \"ei\"], E), c(m, \"click\", R(k, \">\")), c(g, \"click\", R(k, \"<\")), E(), I([g, m], Kn, h.id), f(\"arrows:mounted\", g, m))), e(K, w) } function w() { x(), b() } function x() { u.destroy(), X(p, r), i ? (T(v ? [g, m] : p), g = m = null) : P([g, m], ut) } function k(n) { d.go(n, !0) } function S(n) { return hn('\";\r\n\t\t\t\tif (\r\n\t\t\t\t\te.target.getAttribute(\"data-video\").indexOf(\"vimeo\") != -1\r\n\t\t\t\t) {\r\n\t\t\t\t\tvar vid = e.target\r\n\t\t\t\t\t\t.getAttribute(\"data-video\")\r\n\t\t\t\t\t\t.replace(\"https://vimeo.com/\", \"\");\r\n\t\t\t\t\tif (vid.indexOf(\"/\") != -1) {\r\n\t\t\t\t\t\tvid = vid.substring(0, vid.indexOf(\"/\"));\r\n\t\t\t\t\t}\r\n\t\t\t\t\tvidBuild +=\r\n\t\t\t\t\t\t\"
\";\r\n\t\t\t\t\tvidBuild +=\r\n\t\t\t\t\t\t\"

This video uses Vimeo's native closed captioning features to provide a transcript. If closed captioning is unavailable for this video, please contact us and we can provide you with one.

\";\r\n\t\t\t\t} else if (\r\n\t\t\t\t\te.target.getAttribute(\"data-video\").indexOf(\"youtube\") != -1\r\n\t\t\t\t) {\r\n\t\t\t\t\tvar vid = e.target\r\n\t\t\t\t\t\t.getAttribute(\"data-video\")\r\n\t\t\t\t\t\t.replace(\"https://www.youtube.com/watch?v=\", \"\");\r\n\t\t\t\t\tif (vid.indexOf(\"/\") != -1) {\r\n\t\t\t\t\t\tvid = vid.substring(0, vid.indexOf(\"/\"));\r\n\t\t\t\t\t}\r\n\t\t\t\t\tvidBuild +=\r\n\t\t\t\t\t\t\"
\";\r\n\t\t\t\t\tvidBuild +=\r\n\t\t\t\t\t\t\"

This video uses YouTube's native closed captioning features to provide a transcript. If closed captioning is unavailable for this video, please contact us and we can provide you with one.

\";\r\n\t\t\t\t} else if (\r\n\t\t\t\t\te.target.getAttribute(\"data-video\").indexOf(\".mp4\")\r\n\t\t\t\t) {\r\n\t\t\t\t\tvideoGUID = e.target\r\n\t\t\t\t\t\t.getAttribute(\"data-video\")\r\n\t\t\t\t\t\t.split(\"/\")[2];\r\n\t\t\t\t\tvidBuild +=\r\n\t\t\t\t\t\t\"\";\r\n\t\t\t\t\t// Since the transcript is queried async, make a holder for it and we'll append the content after the async completes\r\n\t\t\t\t\tvidBuild +=\r\n\t\t\t\t\t\t\"

For a transcript of this video, please contact us.

\";\r\n\t\t\t\t}\r\n\t\t\t\tvidBuild += \"\";\r\n\r\n\t\t\t\tvar vidModal = document.querySelector(\".video-modal\");\r\n\t\t\t\tif (vidModal !== null) {\r\n\t\t\t\t\tvidModal.parentNode.removeChild(vidModal);\r\n\t\t\t\t}\r\n\r\n\t\t\t\tvar div = document.createElement(\"div\");\r\n\t\t\t\tdiv.classList.add(\"video-modal\");\r\n\t\t\t\tdiv.innerHTML = vidBuild;\r\n\r\n\t\t\t\tdocument.body.appendChild(div);\r\n\r\n\t\t\t\tif (\r\n\t\t\t\t\tvideoGUID != \"\" &&\r\n\t\t\t\t\tdocument.getElementById(\"transcript-\" + videoGUID) !=\r\n\t\t\t\t\tundefined\r\n\t\t\t\t) {\r\n\t\t\t\t\t// If it's embedded, get the transcript\r\n\t\t\t\t\tlet xhr = new XMLHttpRequest();\r\n\t\t\t\t\txhr.open(\"GET\", \"/transcript/\" + videoGUID);\r\n\t\t\t\t\txhr.send();\r\n\t\t\t\t\txhr.onload = function () {\r\n\t\t\t\t\t\tif (\r\n\t\t\t\t\t\t\txhr.status === 200 &&\r\n\t\t\t\t\t\t\txhr.responseText.replace(/\\\"/gm, \"\") != \"\"\r\n\t\t\t\t\t\t) {\r\n\t\t\t\t\t\t\t// console.log(\"Transcrpt Retrieval Succeeded, Status: \" + xhr.status + \".\");\r\n\t\t\t\t\t\t\tdocument.getElementById(\r\n\t\t\t\t\t\t\t\t\"transcript-\" + videoGUID\r\n\t\t\t\t\t\t\t).innerHTML =\r\n\t\t\t\t\t\t\t\t\"

\" +\r\n\t\t\t\t\t\t\t\txhr.responseText\r\n\t\t\t\t\t\t\t\t\t.replace(/\\\"/gm, \"\")\r\n\t\t\t\t\t\t\t\t\t.replace(/\\\\r\\\\n/gm, \"
\") +\r\n\t\t\t\t\t\t\t\t\"

\";\r\n\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\t// console.log(\"Transcrpt Retrieval Failed, Status: \" + xhr.status + \".\");\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t};\r\n\t\t\t\t\txhr.onerror = function () {\r\n\t\t\t\t\t\t// console.log(\"Transcript Retrieval Error: \" + xhr.status + \".\");\r\n\t\t\t\t\t};\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t} else if (e.target.matches(\".video-modal\")) {\r\n\t\t\te.target.parentNode.removeChild(e.target);\r\n\t\t} else if (e.target.matches(\".video-modal-content\")) {\r\n\t\t\te.stopPropagation();\r\n\t\t} else if (e.target.matches(\".video-modal-close\")) {\r\n\t\t\te.preventDefault();\r\n\t\t\tvar vidModal = document.querySelector(\".video-modal\");\r\n\t\t\tif (vidModal !== null) {\r\n\t\t\t\tvidModal.parentNode.removeChild(vidModal);\r\n\t\t\t}\r\n\t\t}\r\n\t\t//Footer Nav\r\n\t\telse if (e.target.matches(\".footer-nav > ul > li > a\")) {\r\n\t\t\tif (window.innerWidth < tablet_break) {\r\n\t\t\t\te.preventDefault();\r\n\t\t\t\tvar btn = e.target.parentNode.querySelector(\"ul\");\r\n\t\t\t\tif (btn.style.display != \"block\") {\r\n\t\t\t\t\tvSlideDown(btn); //.style.display = \"block\";\r\n\t\t\t\t\te.target.parentNode.classList.add(\"active\");\r\n\t\t\t\t} else {\r\n\t\t\t\t\tvSlideUp(btn); //btn.style.display = \"none\";\r\n\t\t\t\t\te.target.parentNode.classList.remove(\"active\");\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t} else if (e.target.matches(\".js-accordion-header\")) {\r\n\t\t\tvar cnt = e.target.parentNode.parentNode.parentNode.querySelector(\r\n\t\t\t\t\".js-accordion-content\"\r\n\t\t\t);\r\n\t\t\te.target.parentNode.parentNode.parentNode.classList.add(\"open\");\r\n\t\t\tvSlideDown(cnt);\r\n\t\t} else if (e.target.matches(\".js-accordion-close\")) {\r\n\t\t\tvar cnt = e.target.parentNode.parentNode.parentNode.querySelector(\r\n\t\t\t\t\".js-accordion-content\"\r\n\t\t\t);\r\n\t\t\te.target.parentNode.parentNode.parentNode.classList.remove(\"open\");\r\n\t\t\tvSlideUp(cnt);\r\n\t\t} else if (e.target.matches(\".js-branch-selector\")) {\r\n\t\t\tcloseAllMenus(\"branch\");\r\n\r\n\t\t\tdocument.body.classList.add(\"branch-open\");\r\n\t\t} else if (e.target.matches(\".js-branch-modal-close\")) {\r\n\t\t\tdocument.body.classList.remove(\"branch-open\");\r\n\t\t} else if (e.target.matches(\".js-branch-modal\")) {\r\n\t\t\t//Hide Locations Modal\r\n\t\t\tif (e.target.id == \"locationsModal\") {\r\n\t\t\t\tdocument.body.classList.remove(\"branch-open\");\r\n\t\t\t}\r\n\t\t} else if (e.target.matches(\".js-subscribe\")) {\r\n\t\t\t//Hide Locations Modal\r\n\t\t\tif (e.target.parentNode.classList.contains(\"open\")) {\r\n\t\t\t\te.target.parentNode.classList.remove(\"open\");\r\n\t\t\t\te.target.innerText = e.target.getAttribute(\"data-text\");\r\n\t\t\t} else {\r\n\t\t\t\te.target.parentNode.classList.add(\"open\");\r\n\t\t\t\te.target.setAttribute(\"data-text\", e.target.innerText);\r\n\t\t\t\te.target.innerText = \"Close\";\r\n\t\t\t}\r\n\t\t} else if (e.target.matches(\".js-alert-bell\")) {\r\n\t\t\tvar alerts = document.querySelectorAll(\".hidden-alert\");\r\n\t\t\tdocument.cookie =\r\n\t\t\t\t\"alerts=; expires=Thu, 01 Jan 1970 00:00:00 UTC; path=/;\";\r\n\t\t\talerts.forEach(function (alert) {\r\n\t\t\t\tvSlideDown(alert);\r\n\t\t\t});\r\n\t\t\te.target.disabled = true;\r\n\t\t\te.target.style.opacity = 0;\r\n\t\t\tconst alertBell = document.querySelectorAll('.js-alert-bell')\r\n\t\t\talertBell.forEach((bell) => {\r\n\t\t\t\tbell.disabled = true;\r\n\t\t\t\tbell.style.opacity = 0;\r\n\t\t\t\tif (getParentElementWithClass(bell, 'mobile-secondary-nav')) {\r\n\t\t\t\t\tbell.style.display = \"none\";\r\n\t\t\t\t\tdocument.querySelector('.mobile-secondary-nav').style.gridTemplateColumns = \"1fr 1fr 1fr\";\r\n\t\t\t\t}\r\n\t\t\t})\r\n\t\t} else if (e.target.matches(\".js-bc-video\")) {\r\n\t\t\t//document.querySelector(\".js-bc-video\").parentNode.parentNode.parentNode.querySelector(\"img\").click();\r\n\t\t\te.target.parentNode.parentNode.parentNode\r\n\t\t\t\t.querySelector(\".photo img\")\r\n\t\t\t\t.click();\r\n\t\t} else if (e.target.matches(\".jump-lnk\")) {\r\n\t\t\tconst lnkText = e.target.innerText.replace(/ /g, \"_\");\r\n\t\t\te.target.parentNode.parentNode.classList.remove(\"open\");\r\n\t\t\tconst btn = document.querySelectorAll(\"[data-jumplink='\" + lnkText + \"']\");\r\n\t\t\tif (btn.length > 0) {\r\n\t\t\t\tbtn[0].scrollIntoView({ behavior: \"smooth\" });\r\n\t\t\t}\r\n\t\t\tvar tg = e.target;\r\n\t\t\tsetTimeout(function () {\r\n\t\t\t\tvar jumps = document.querySelectorAll( \".js-links .jump-lnk\" );\r\n\t\t\t\tjumps.forEach(function (jp) {\r\n\t\t\t\t\tjp.classList.remove(\"active\");\r\n\t\t\t\t});\r\n\t\t\t\ttg.classList.add(\"active\");\r\n\t\t\t}, 600);\r\n\t\t}\r\n\t\t// Comparison Chart Mobile Previous\r\n\t\telse if (e.target.matches(\".js-table-prev\")) {\r\n\t\t\tvar base = e.target.parentNode.parentNode; //$(this).parent().parent();\r\n\t\t\tbase.querySelector(\".js-table-next\").classList.remove(\"grayed\");\r\n\t\t\tbase.setAttribute(\r\n\t\t\t\t\"data-col\",\r\n\t\t\t\tNumber(base.getAttribute(\"data-col\")) - 1\r\n\t\t\t);\r\n\t\t\tif (base.getAttribute(\"data-col\") == 1) {\r\n\t\t\t\te.target.classList.add(\"grayed\");\r\n\t\t\t}\r\n\t\t\tvar spot = base.querySelector(\"table tr\");\r\n\t\t\tvar ths = spot.querySelectorAll(\"th\");\r\n\t\t\tbase.querySelector(\".js-rate-head\").innerHTML = eq.call(\r\n\t\t\t\tths,\r\n\t\t\t\tbase.getAttribute(\"data-col\")\r\n\t\t\t).innerHTML;\r\n\t\t\tupdateDots(base, base.dataset.col);\r\n\t\t\tmobileButtonDisplay(base.dataset.col);\r\n\t\t}\r\n\t\t// Comparison Chart Mobile Next\r\n\t\telse if (e.target.matches(\".js-table-next\")) {\r\n\t\t\tvar base = e.target.parentNode.parentNode; //$(this).parent().parent();\r\n\t\t\tbase.querySelector(\".js-table-prev\").classList.remove(\"grayed\");\r\n\t\t\tbase.setAttribute(\r\n\t\t\t\t\"data-col\",\r\n\t\t\t\tNumber(base.getAttribute(\"data-col\")) + 1\r\n\t\t\t);\r\n\t\t\tvar spot = base.querySelector(\"table tr\");\r\n\t\t\tvar ths = spot.querySelectorAll(\"th\");\r\n\r\n\t\t\tif (base.getAttribute(\"data-col\") == ths.length - 1) {\r\n\t\t\t\te.target.classList.add(\"grayed\");\r\n\t\t\t}\r\n\r\n\t\t\tbase.querySelector(\".js-rate-head\").innerHTML = eq.call(\r\n\t\t\t\tths,\r\n\t\t\t\tbase.getAttribute(\"data-col\")\r\n\t\t\t).innerHTML;\r\n\t\t\tupdateDots(base, base.dataset.col);\r\n\t\t\tmobileButtonDisplay(base.dataset.col);\r\n\t\t} else if (e.target.matches(\".pagination-dots .dot\")) {\r\n\t\t\tconst compareTable = e.target.parentNode.parentNode.querySelector('.compare-table');\r\n\t\t\tvar spot = compareTable.querySelector(\"table tr\");\r\n\t\t\tvar ths = spot.querySelectorAll(\"th\");\r\n\t\t\tcompareTable.dataset.col = e.target.dataset.col;\r\n\t\t\tupdateDots(compareTable);\r\n\t\t\tcompareTable.querySelector(\".js-table-prev\").classList.remove(\"grayed\");\r\n\t\t\tcompareTable.querySelector(\".js-table-next\").classList.remove(\"grayed\");\r\n\t\t\tif (compareTable.dataset.col == 1) {\r\n\t\t\t\tcompareTable.querySelector(\".js-table-prev\").classList.add(\"grayed\");\r\n\t\t\t}\r\n\t\t\tif (compareTable.dataset.col == ths.length - 1) {\r\n\t\t\t\tcompareTable.querySelector(\".js-table-next\").classList.add(\"grayed\");\r\n\t\t\t}\r\n\t\t\t\r\n\t\t\tcompareTable.querySelector(\".js-rate-head\").innerHTML = eq.call(\r\n\t\t\t\tths,\r\n\t\t\t\tcompareTable.getAttribute(\"data-col\")\r\n\t\t\t).innerHTML;\r\n\r\n\t\t} else if (e.target.matches(\".js-accordion .js-close-btn\")) {\r\n\t\t\tconst parent = getParentElementWithClass(e.target, \"js-accordion\");\r\n\t\t\tparent.querySelector(\".js-accordion-button\").click();\r\n\t\t} else if (e.target.matches(\".js-tab-header\")) {\r\n\t\t\t//change tab\r\n\r\n\t\t\tvar tabs =\r\n\t\t\t\te.target.parentNode.parentNode.parentNode.querySelectorAll(\r\n\t\t\t\t\t\".js-tab\"\r\n\t\t\t\t);\r\n\r\n\t\t\ttabs.forEach(function (tab) {\r\n\t\t\t\tif (\r\n\t\t\t\t\ttab.getAttribute(\"data-tab\") ==\r\n\t\t\t\t\te.target.getAttribute(\"data-tab\")\r\n\t\t\t\t) {\r\n\t\t\t\t\ttab.classList.add(\"active\");\r\n\t\t\t\t\tmoveSlideTrack(e.target);\r\n\t\t\t\t\tsetTimeout(() => {\r\n\t\t\t\t\t\ttab.style.opacity = 1;\r\n\t\t\t\t\t}, 400)\r\n\t\t\t\t\t\r\n\t\t\t\t} else {\r\n\t\t\t\t\ttab.style.opacity = 0;\r\n\t\t\t\t\tsetTimeout(() => {\r\n\t\t\t\t\t\ttab.classList.remove(\"active\");\r\n\t\t\t\t\t}, 400)\r\n\t\t\t\t\t\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t\tvar headers =\r\n\t\t\t\te.target.parentNode.parentNode.parentNode.querySelectorAll(\r\n\t\t\t\t\t\".js-tab-header\"\r\n\t\t\t\t);\r\n\t\t\theaders.forEach(function (tab) {\r\n\t\t\t\tif (\r\n\t\t\t\t\ttab.getAttribute(\"data-tab\") ==\r\n\t\t\t\t\te.target.getAttribute(\"data-tab\")\r\n\t\t\t\t) {\r\n\t\t\t\t\ttab.classList.add(\"active\");\r\n\t\t\t\t} else {\r\n\t\t\t\t\ttab.classList.remove(\"active\");\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t} else if (e.target.matches(\".tab-name\")) {\r\n\t\t\t//change tab\r\n\t\t\te.target.classList.toggle(\"open\");\r\n\t\t\tvar tab = e.target.parentNode.querySelector(\".tab-content\");\r\n\r\n\t\t\tif (tab.classList.contains(\"tab-open\")) {\r\n\t\t\t\tvSlideUp(tab);\r\n\t\t\t\ttab.classList.remove(\"tab-open\");\r\n\t\t\t} else {\r\n\t\t\t\tvSlideDown(tab);\r\n\t\t\t\ttab.classList.add(\"tab-open\");\r\n\t\t\t}\r\n\t\t}\r\n else if (e.target.matches(\".jump-header\")) {\r\n //change tab\r\n e.target.parentNode.classList.toggle(\"open\");\r\n }\r\n\t},\r\n\tfalse\r\n);\r\n\r\n/** Tabs **/\r\nvar ptabs = document.querySelectorAll(\".tabs\");\r\n\r\nptabs.forEach(function (tab) {\r\n\tvar tabs = tab.querySelectorAll(\".js-tab\");\r\n\t//Create Tab Nav\r\n\tvar tabHeader = document.createElement(\"div\");\r\n\ttabHeader.classList.add(\"tabs-nav\");\r\n\tvar cnt = document.createElement(\"div\");\r\n\tcnt.classList.add(\"content\");\r\n\t\r\n\ttabs.forEach(function (tab) {\r\n\t\tvar rand = Math.floor(Math.random() * 10000000000000);\r\n\t\tvar btn = document.createElement(\"button\");\r\n\t\tbtn.classList.add(\"js-tab-header\");\r\n\t\tbtn.setAttribute(\"data-tab\", rand);\r\n\t\ttab.setAttribute(\"data-tab\", rand);\r\n\t\tbtn.innerHTML = tab.querySelector(\".tab-name\").innerHTML;\r\n\t\ttab.querySelector(\".tab-name\").style.display = \"none\";\r\n\t\tcnt.appendChild(btn);\r\n\t});\r\n\r\n\tconst slideTrack = document.createElement('div');\r\n\tslideTrack.classList.add('js-slide-track');\r\n\tconst slide = document.createElement('div');\r\n\tslide.classList.add('js-slide');\r\n\tslideTrack.appendChild(slide);\r\n\tcnt.appendChild(slideTrack);\r\n\r\n\ttabHeader.appendChild(cnt);\r\n\r\n\tif (tabs.length > 0) {\r\n\t\ttabs[0].parentNode.insertBefore(tabHeader, tabs[0]);\r\n\t}\r\n\r\n\t//Set first as active\r\n\tvar tabBtns = tab.querySelectorAll(\".js-tab-header\");\r\n\tif (tabBtns.length > 0 && !tabs[0].classList.contains(\"no-auto-open\")) {\r\n\t\ttabBtns[0].classList.add(\"active\");\r\n\t\ttabs[0].classList.add(\"active\");\r\n\t\ttabs[0].style.opacity = 1;\r\n\t\tmoveSlideTrack(tabBtns[0]);\r\n\t}\r\n});\r\n\r\n//Move Nav Slide Track\r\nfunction moveSlideTrack(activeEl) {\r\n\tconst slideEl = activeEl.parentNode.querySelector('.js-slide-track > .js-slide');\r\n\r\n\tslideEl.style.left = activeEl.offsetLeft + \"px\";\r\n\tslideEl.style.width = activeEl.offsetWidth + \"px\";\r\n\r\n\t}\r\n\r\n//Allow setting of tab via location hash\r\n//if (window.location.hash) {\r\n//\tvar hash = window.location.hash.substring(1); //Puts hash in variable, and removes the # character\r\n\r\n//\ttabBtns.forEach(function (topic) {\r\n//\t\tif (\r\n//\t\t\ttopic.innerText.toLowerCase().replace(/[^a-zA-Z0-9]+/g, \"\") ==\r\n//\t\t\thash.toLowerCase().replace(/[^a-zA-Z0-9]+/g, \"\")\r\n//\t\t) {\r\n//\t\t\ttopic.click();\r\n//\t\t}\r\n//\t});\r\n//}\r\n\r\n/* Anchor Links Chrome Fix */\r\n(function (document, history, location) {\r\n\tvar HISTORY_SUPPORT = !!(history && history.pushState);\r\n\r\n\tvar anchorScrolls = {\r\n\t\tANCHOR_REGEX: /^#[^ ]+$/,\r\n\t\tOFFSET_HEIGHT_PX: 65,\r\n\r\n\t\t/**\r\n\t\t * Establish events, and fix initial scroll position if a hash is provided.\r\n\t\t */\r\n\t\tinit: function () {\r\n\t\t\tthis.scrollToCurrent();\r\n\t\t\twindow.addEventListener(\r\n\t\t\t\t\"hashchange\",\r\n\t\t\t\tthis.scrollToCurrent.bind(this)\r\n\t\t\t);\r\n\t\t\tdocument.body.addEventListener(\r\n\t\t\t\t\"click\",\r\n\t\t\t\tthis.delegateAnchors.bind(this)\r\n\t\t\t);\r\n\t\t},\r\n\r\n\t\t/**\r\n\t\t * Return the offset amount to deduct from the normal scroll position.\r\n\t\t * Modify as appropriate to allow for dynamic calculations\r\n\t\t */\r\n\t\tgetFixedOffset: function () {\r\n\t\t\treturn this.OFFSET_HEIGHT_PX;\r\n\t\t},\r\n\r\n\t\t/**\r\n\t\t * If the provided href is an anchor which resolves to an element on the\r\n\t\t * page, scroll to it.\r\n\t\t * @param {String} href\r\n\t\t * @return {Boolean} - Was the href an anchor.\r\n\t\t */\r\n\t\tscrollIfAnchor: function (href, pushToHistory) {\r\n\t\t\tvar match, rect, anchorOffset;\r\n\r\n\t\t\tif (!this.ANCHOR_REGEX.test(href)) {\r\n\t\t\t\treturn false;\r\n\t\t\t}\r\n\r\n\t\t\tmatch = document.getElementById(href.slice(1));\r\n\r\n\t\t\tif (match) {\r\n\t\t\t\trect = match.getBoundingClientRect();\r\n\t\t\t\tanchorOffset =\r\n\t\t\t\t\twindow.pageYOffset + rect.top - this.getFixedOffset();\r\n\t\t\t\twindow.scrollTo({\r\n\t\t\t\t\ttop: anchorOffset,\r\n\t\t\t\t\tleft: window.pageXOffset,\r\n\t\t\t\t\tbehavior: \"smooth\",\r\n\t\t\t\t});\r\n\r\n\t\t\t\t// Add the state to history as-per normal anchor links\r\n\t\t\t\tif (HISTORY_SUPPORT && pushToHistory) {\r\n\t\t\t\t\thistory.pushState(\r\n\t\t\t\t\t\t{},\r\n\t\t\t\t\t\tdocument.title,\r\n\t\t\t\t\t\tlocation.pathname + href\r\n\t\t\t\t\t);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\treturn !!match;\r\n\t\t},\r\n\r\n\t\t/**\r\n\t\t * Attempt to scroll to the current location's hash.\r\n\t\t */\r\n\t\tscrollToCurrent: function () {\r\n\t\t\tthis.scrollIfAnchor(window.location.hash);\r\n\t\t},\r\n\r\n\t\t/**\r\n\t\t * If the click event's target was an anchor, fix the scroll position.\r\n\t\t */\r\n\t\tdelegateAnchors: function (e) {\r\n\t\t\tvar elem = e.target;\r\n\r\n\t\t\tif (\r\n\t\t\t\telem.nodeName === \"A\" &&\r\n\t\t\t\tthis.scrollIfAnchor(elem.getAttribute(\"href\"), true)\r\n\t\t\t) {\r\n\t\t\t\te.preventDefault();\r\n\t\t\t}\r\n\t\t},\r\n\t};\r\n\r\n\twindow.addEventListener(\r\n\t\t\"DOMContentLoaded\",\r\n\t\tanchorScrolls.init.bind(anchorScrolls)\r\n\t);\r\n})(window.document, window.history, window.location);\r\n\r\n//Compare Chart Highlight\r\nvar cmp = document.querySelectorAll(\".compare-table\");\r\n\r\nif (cmp.length > 0) {\r\n\tvar pageTitle = document.querySelector(\"h1\");\r\n\tif (pageTitle != null) {\r\n\t\tcmp.forEach(function (table) {\r\n\t\t\tvar ths = table.querySelectorAll(\"th\");\r\n\t\t\tths.forEach(function (th) {\r\n\t\t\t\tif (th.innerText == pageTitle.innerText) {\r\n\t\t\t\t\tvar cellIndex = th.cellIndex;\r\n\r\n\t\t\t\t\tvar tds = table.querySelectorAll(\"th,td\");\r\n\t\t\t\t\ttds.forEach(function (td) {\r\n\t\t\t\t\t\tif (td.cellIndex == cellIndex) {\r\n\t\t\t\t\t\t\ttd.classList.add(\"active\");\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t});\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t});\r\n\t}\r\n}\r\n\r\n/**\r\n * ADA - Remove id=pasted\r\n */\r\nvar ids = document.querySelectorAll(\"#isPasted\");\r\nids.forEach(function (item) {\r\n\titem.removeAttribute(\"id\");\r\n});\r\n\r\n/** Comparison Charts\r\n * Add controls on mobile **/\r\nfunction eq(index) {\r\n\tif (index >= 0 && index < this.length) return this[index];\r\n\telse return -1;\r\n}\r\n\r\n/******* COUNTER ON SCROLL **********/\r\n// How long you want the animation to take, in ms\r\nconst animationDuration = 2000;\r\n// Calculate how long each �frame� should last if we want to update the animation 60 times per second\r\nconst frameDuration = 1000 / 60;\r\n// Use that to calculate how many frames we need to complete the animation\r\nconst totalFrames = Math.round(animationDuration / frameDuration);\r\n// An ease-out function that slows the count as it progresses\r\nconst easeOutQuad = (t) => t * (2 - t);\r\n\r\n// The animation function, which takes an Element\r\nconst animateCountUp = (el) => {\r\n\tlet frame = 0;\r\n\tlet money = \"\";\r\n\tif (el.innerHTML.indexOf(\"$\") != -1) {\r\n\t\tmoney = \"$\";\r\n\t}\r\n\tconsole.log(\"Count to: \" + el.innerHTML.replace(/\\D/g, \"\"));\r\n\tconst countTo = parseInt(el.innerHTML.replace(/\\D/g, \"\"), 10);\r\n\t// Start the animation running 60 times per second\r\n\tconst counter = setInterval(() => {\r\n\t\tframe++;\r\n\t\t// Calculate our progress as a value between 0 and 1\r\n\t\t// Pass that value to our easing function to get our\r\n\t\t// progress on a curve\r\n\t\tconst progress = easeOutQuad(frame / totalFrames);\r\n\t\t// Use the progress value to calculate the current count\r\n\t\tconst currentCount = Math.round(countTo * progress);\r\n\r\n\t\t// If the current count has changed, update the element\r\n\t\tif (parseInt(el.innerHTML.replace(\",\", \"\"), 10) !== currentCount) {\r\n\t\t\tel.innerHTML =\r\n\t\t\t\tmoney +\r\n\t\t\t\tcurrentCount.toString().replace(/\\B(?=(\\d{3})+(?!\\d))/g, \",\");\r\n\t\t}\r\n\r\n\t\t// If we�ve reached our last frame, stop the animation\r\n\t\tif (frame === totalFrames) {\r\n\t\t\tclearInterval(counter);\r\n\t\t}\r\n\t}, frameDuration);\r\n};\r\n\r\nvar charts = document.querySelectorAll(\".compare-block\");\r\n\r\ncharts.forEach(function (chart) {\r\n\tvar tab = chart.querySelector(\"table\");\r\n\r\n\tvar holder = chart.querySelector(\".compare-table\");\r\n\tvar ths = tab.querySelector(\"tr\").querySelectorAll(\"th\");\r\n\tif (ths.length > 1) {\r\n\t\tholder.setAttribute(\"data-col\", \"1\");\r\n\t\tvar controls = document.createElement(\"div\");\r\n\t\tcontrols.classList.add(\"table-controls\");\r\n\t\tcontrols.innerHTML =\r\n\t\t\t\"\" +\r\n\t\t\teq.call(ths, 1).innerHTML +\r\n\t\t\t\"\";\r\n\r\n\t\tholder.insertBefore(controls, holder.firstChild);\r\n\t}\r\n});\r\n\r\n/** JUMP NAVS ***/\r\nvar jumpObserver = new IntersectionObserver(\r\n\tfunction (entries) {\r\n\t\tentries.forEach(function (entry) {\r\n\t\t\tif (entry.target.matches(\"[data-jumplink]\")) {\r\n\t\t\t\tif (entry.isIntersecting) {\r\n\t\t\t\t\tvar jumps = document.querySelectorAll(\r\n\t\t\t\t\t\t\".js-links .jump-lnk\"\r\n\t\t\t\t\t);\r\n\t\t\t\t\tjumps.forEach(function (jp) {\r\n\t\t\t\t\t\tif (jp.innerText.trim() == entry.target.getAttribute(\"data-jumplink\").replace(/_/g, \" \").trim()) {\r\n\t\t\t\t\t\t\tjp.classList.add(\"active\");\r\n\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\tjp.classList.remove(\"active\");\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t});\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t});\r\n\t},\r\n\t{ rootMargin: \"-50px 0px 0px 0px\", threshold: [.00001] }\r\n);\r\n// The element to observe\r\nlet jumps = document.querySelectorAll(\"[data-jumplink]\");\r\n// Attach it to the observer\r\njumps.forEach(function (item) {\r\n\tjumpObserver.observe(item);\r\n});\r\n\r\nif (document.querySelectorAll(\".js-calc\").length > 0) {\r\n\tdocument.addEventListener(\r\n\t\t\"click\",\r\n\t\tfunction (e) {\r\n\t\t\tif (e.target.matches(\".js-calc\")) {\r\n\t\t\t\tvar sc = document.createElement(\"script\");\r\n\t\t\t\tsc.src =\r\n\t\t\t\t\t\"https://www.calcxml.com/scripts/loadCalc.js?calcTarget=\" +\r\n\t\t\t\t\te.target.getAttribute(\"data-calcid\") +\r\n\t\t\t\t\t\"&skn=736&embed=2&tabs=1&secure=1\";\r\n\t\t\t\tdocument.body.appendChild(sc);\r\n\r\n\t\t\t\tdocument\r\n\t\t\t\t\t.querySelectorAll(\".js-calc.active\")\r\n\t\t\t\t\t.forEach(function (item) {\r\n\t\t\t\t\t\titem.classList.remove(\"active\");\r\n\t\t\t\t\t});\r\n\t\t\t\te.target.classList.add(\"active\");\r\n\t\t\t}\r\n\t\t},\r\n\t\tfalse\r\n\t);\r\n\r\n\tdocument.querySelector(\".js-calc\").click();\r\n}\r\n\r\n//Horizontal filter scrolling\r\nif (document.querySelector(\".js-horizontalScroll\") != null) {\r\n\tfor (el of document.querySelectorAll(\".js-horizontalScroll\")) {\r\n\t\tif (!el.getAttribute(\"style\")) {\r\n\t\t\tel.setAttribute(\r\n\t\t\t\t\"style\",\r\n\t\t\t\t\"--beforeElementOpacity: 0; --afterElementOpacity: 1\"\r\n\t\t\t);\r\n\t\t}\r\n\t\tel.addEventListener(\"scroll\", (e) => {\r\n\t\t\tif (e.target.scrollLeft == 0) {\r\n\t\t\t\te.target.setAttribute(\r\n\t\t\t\t\t\"style\",\r\n\t\t\t\t\t\"--beforeElementOpacity: 0; --afterElementOpacity: 1\"\r\n\t\t\t\t);\r\n\t\t\t\t//document.documentElement.style.setProperty('--beforeElementOpacity', '1');\r\n\t\t\t} else if (\r\n\t\t\t\te.target.scrollLeft + e.target.offsetWidth ==\r\n\t\t\t\te.target.scrollWidth\r\n\t\t\t) {\r\n\t\t\t\te.target.setAttribute(\r\n\t\t\t\t\t\"style\",\r\n\t\t\t\t\t\"--afterElementOpacity: 0; --beforeElementOpacity: 1;\"\r\n\t\t\t\t);\r\n\t\t\t\t//document.documentElement.style.setProperty('--afterElementOpacity', '0');\r\n\t\t\t} else {\r\n\t\t\t\te.target.setAttribute(\r\n\t\t\t\t\t\"style\",\r\n\t\t\t\t\t\"--afterElementOpacity: 1; --beforeElementOpacity: 1;\"\r\n\t\t\t\t);\r\n\t\t\t\t//document.documentElement.style.setProperty('--afterElementOpacity', '1');\r\n\t\t\t}\r\n\t\t});\r\n\t}\r\n}\r\n\r\n//Scrolling Nav logic\r\n\r\n//var lastScrollTop = 100;\r\n\r\n//window.addEventListener(\r\n//\t\"scroll\",\r\n//\tfunction () {\r\n//\t\t// or window.addEventListener(\"scroll\"....\r\n//\t\tif (!document.querySelector(\"hydrated\")) {\r\n//\t\t\tvar st = window.pageYOffset || document.documentElement.scrollTop; //\r\n//\t\t\tconst headerDiv = document.querySelector(\".headers\");\r\n//\t\t\tif (st > lastScrollTop) {\r\n//\t\t\t\theaderDiv.classList.add(\"scrolling\");\r\n//\t\t\t\theaderDiv.classList.remove(\"isSticky\");\r\n//\t\t\t} else if (st < lastScrollTop) {\r\n//\t\t\t\theaderDiv.classList.add(\"isSticky\");\r\n//\t\t\t} // else was horizontal scroll\r\n//\t\t\tlastScrollTop = st <= 0 ? 0 : st; // For Mobile or negative scrolling\r\n//\t\t}\r\n//\t},\r\n//\tfalse\r\n//);\r\n\r\n\r\nvar linkHolder = document.querySelector(\".jump-nav.js-links\");\r\n\r\nif(linkHolder) {\r\n document.addEventListener('DOMContentLoaded', function () {\r\n var jumpLinks = document.querySelectorAll(\"[data-jumplink]\");\r\n\t\tvar linkHolder = document.querySelector(\".jump-nav.js-links\");\r\n\t\tvar first = true;\r\n\r\n jumpLinks.forEach(function (lnk) {\r\n var btn = document.createElement(\"button\");\r\n btn.innerText = lnk.getAttribute(\"data-jumplink\").replace(/_/g,\" \");\r\n \r\n\t\t\t\tbtn.classList.add(\"jump-lnk\");\r\n\t\t\t\tif (first) {\r\n\t\t\t\t\tbtn.classList.add(\"active\");\r\n\t\t\t\t\tfirst = false;\r\n\t\t\t\t}\r\n linkHolder.append(btn);\r\n });\r\n\r\n }, false);\r\n}\r\n\r\n//Compare Table CTA logic\r\n\r\nfunction mobileButtonDisplay(activeColumn) {\r\n\tconst compareTable = document.querySelector(\".compare-table\");\r\n\r\n\tif (compareTable) {\r\n\t\tconst buttonToMove = compareTable.querySelector(\r\n\t\t\t`.table > table > tbody > tr:last-of-type td:nth-child(${\r\n\t\t\t\tNumber(activeColumn) + 1\r\n\t\t\t})`\r\n\t\t);\r\n\t\tif (buttonToMove) {\r\n\t\t\tconst MBD = compareTable.querySelector(\".mobileButtonDisplay\");\r\n\t\t\tMBD.innerHTML = buttonToMove.innerHTML;\r\n\t\t}\r\n\t}\r\n}\r\n\r\ndocument.addEventListener(\"DOMContentLoaded\", () => {\r\n\tmobileButtonDisplay(1);\r\n});\r\n\r\nconst lnkTop = document.querySelector(\".js-lnk-top\");\r\n\r\nif (lnkTop) {\r\n\tlnkTop.addEventListener(\"click\", () => {\r\n\t\twindow.scrollTo({\r\n\t\t\ttop: 0,\r\n\t\t\tleft: 0,\r\n\t\t\tbehavior: \"smooth\",\r\n\t\t});\r\n\t});\r\n}\r\n\r\n//Comparison Table Pagination Dots Extravaganza\r\n// --Now in Smell-o-vision!\r\n\r\nconst updateDots = (base) => {\r\n\tconst dots = base.parentNode.querySelectorAll('.pagination-dots .dot');\r\n\tdots.forEach((dot) => {\r\n\t\tif (dot.dataset.col == base.dataset.col) {\r\n\t\t\tdot.classList.add('active')\r\n\t\t} else {\r\n\t\t\tdot.classList.remove('active')\r\n\t\t}\r\n\t})\r\n}\r\n\r\nif (charts) {\r\n\tcharts.forEach((chart) => {\r\n\t\tconst paginationDots = chart.querySelector('.pagination-dots');\r\n\t\tif (paginationDots) {\r\n\t\t\tconst numCols = (chart.querySelector('tr').childNodes.length - 1)\r\n\r\n\t\t\tif (numCols > 1) {\r\n\t\t\t\tfor (let index = 0; index < numCols; index++) {\r\n\t\t\t\t\tconst dot = document.createElement('button');\r\n\t\t\t\t\tdot.classList.add('dot');\r\n\t\t\t\t\tdot.dataset.col = (index + 1)\r\n\t\t\t\t\t\r\n\t\t\t\t\tpaginationDots.append(dot);\r\n\t\t\t\t}\t\r\n\t\t\t}\r\n\t\t\tupdateDots(paginationDots.parentNode.querySelector('.compare-table'));\r\n\t\t}\r\n\t})\r\n\t\r\n}\r\n\r\n//add links to main pages on mobile\r\n\r\ndocument.addEventListener('DOMContentLoaded', () => {\r\n\tconst navHeaders = document.querySelectorAll('.mobile-nav .nav-header');\r\n\r\n\tnavHeaders.forEach((menu) => {\r\n\t\tconst newEl = document.createElement('li');\r\n\t\tconst text = menu.innerText.toLowerCase();\r\n\t\tif (text == \"explore sbsi\") {\r\n\t\t\tnewEl.innerHTML = `Explore SBSI`;\r\n\t\t} else {\r\n\t\t\tnewEl.innerHTML = `Explore ${text}`;\r\n\t\t}\r\n\t\t\r\n\t\tmenu.parentNode.querySelector('.main-links').prepend(newEl);\r\n\r\n\t})\r\n})\r\n\r\n////Sticky Jump Nav Observer\r\n//const sidebarNav = document.querySelector(\".sidebar\");\r\n\r\n//if (sidebarNav) {\r\n//\tdocument.addEventListener(\"scroll\", (e) => {\r\n//\t\tsidebarNav.classList.toggle(\"is-sticky\", sidebarNav.offsetTop <= window.scrollY);\r\n//\t});\r\n//}\r\n\r\n/*** STICKY JUMP NAV ***/\r\nlet sideBarObserver = new IntersectionObserver(function (entries) {\r\n\tentries.forEach(function (entry) {\r\n\t\tif (entry.target.matches(\".sidebar\")) {\r\n\t\t\tconst rect = entry.target.getBoundingClientRect();\r\n\t\t\tif (!entry.isIntersecting) {\r\n\t\t\t\tif (rect.y < 200) {\r\n\t\t\t\t\tentry.target.classList.add(\"is-sticky\");\r\n\t\t\t\t}\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t}\r\n\t\t\telse {\r\n\t\t\t\tentry.target.classList.remove(\"is-sticky\");\r\n\t\t\t}\r\n\t\t}\r\n\t});\r\n}, { threshold: 1 });\r\nlet sideNavs = document.querySelectorAll(\".sidebar\");\r\nsideNavs.forEach(function (item) {\r\n\tsideBarObserver.observe(item);\r\n});\r\n\r\n//const iconSections = document.querySelectorAll('.icon-section');\r\n\r\n//iconSections.foreach(el => {\r\n//\tadjustGrid(el);\r\n//})\r\n//function adjustGrid(cardSection) {\r\n//\tlet cards = cardSection.querySelector('.icons').children;\r\n//\tif (window.innerWidth < 900) {\r\n//\t\tcards[0].parentNode.style.gridTemplateColumns = \"1fr\";\r\n//\t} else {\r\n//\t\tlet maxWidth = '200px';\r\n//\t\tif (cards[0].classList.contains('max-wrap-small')) {\r\n//\t\t\tmaxWidth = \"315px\";\r\n//\t\t} else if (cards[0].classList.contains('max-wrap-medium')) {\r\n//\t\t\tmaxWidth = \"400px\";\r\n//\t\t} else if (cards[0].classList.contains('max-wrap-large')) {\r\n//\t\t\tmaxWidth = \"525px\";\r\n//\t\t}\r\n//\t\tif (cards.length == 4) {\r\n//\t\t\tif (((cards[0].offsetWidth + 55) * cards.length) > window.innerWidth) {\r\n//\t\t\t\tcards[0].parentNode.style.gridTemplateColumns = `minmax(240px, ${maxWidth}) minmax(320px, min(28vw,${maxWidth}))`\r\n//\t\t\t} else {\r\n//\t\t\t\tcards[0].parentNode.style.gridTemplateColumns = `repeat(auto-fit, minmax(320px, min(28vw,${maxWidth})))`\r\n//\t\t\t}\r\n//\t\t} else {\r\n//\t\t\tcards[0].parentNode.style.gridTemplateColumns = `repeat(auto-fit, minmax(320px, min(28vw,${maxWidth})))`\r\n//\t\t}\r\n//\t}\r\n//}\r\n\r\n\t\t///////////////////////////////////////////////////////////////\r\n\t\t//\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t //\r\n\t\t//\t\t\tMortgage lenders direct link logic\t\t\t\t //\r\n\t\t//\t\t\t\t\t\t\t\tby troy.\t\t\t\t\t //\r\n\t\t///////////////////////////////////////////////////////////////\r\n\r\nconst isDirectoryIndex = document.querySelector('.directory-index');\r\n\r\nif (isDirectoryIndex) {\r\n\tdocument.addEventListener('DOMContentLoaded', () => {\r\n\t\tconst queryString = window.location.search;\r\n\t\tconst urlParams = new URLSearchParams(queryString);\r\n\t\tconst category = urlParams.get('category')\r\n\r\n\t\tif (category) {\r\n\t\t\tconst filter = document.querySelector('.js-expertise');\r\n\t\t\tfilter.value = category;\r\n\r\n\t\t\tconst event = new Event('change');\r\n\r\n\t\t\t// Dispatch it.\r\n\t\t\tfilter.dispatchEvent(event);\r\n\r\n\t\t}\r\n\t})\r\n}\r\n\r\nconst isHome = document.querySelector(\"#pg-home\");\r\n\r\nif (isHome) {\r\n\tdocument.addEventListener('DOMContentLoaded', () => {\r\n\t\tconst alerts = isHome.querySelectorAll('.alert');\r\n\r\n\t\tconst alertCookie = getAlertCookie\r\n\r\n\t\talerts.forEach((alert) => {\r\n\r\n\t\t})\r\n\t})\r\n}\r\n\r\n"]}