{"version":3,"names":[],"mappings":"","sources":["people-detail.bundle.js"],"sourcesContent":["(function(){function r(e,n,t){function o(i,f){if(!n[i]){if(!e[i]){var c=\"function\"==typeof require&&require;if(!f&&c)return c(i,!0);if(u)return u(i,!0);var a=new Error(\"Cannot find module '\"+i+\"'\");throw a.code=\"MODULE_NOT_FOUND\",a}var p=n[i]={exports:{}};e[i][0].call(p.exports,function(r){var n=e[i][1][r];return o(n||r)},p,p.exports,r,e,n,t)}return n[i].exports}for(var u=\"function\"==typeof require&&require,i=0;i>> 0;\n\n\t\t\t\tif (typeof callback !== 'function') {\n\t\t\t\t\t\tthrow new TypeError(callback + ' is not a function');\n\t\t\t\t}\n\n\t\t\t\tif (arguments.length > 1) {\n\t\t\t\t\t\tT = thisArg;\n\t\t\t\t}\n\n\t\t\t\tA = new Array(len);\n\n\t\t\t\tk = 0;\n\n\t\t\t\twhile (k < len) {\n\n\t\t\t\t\t\tvar kValue, mappedValue;\n\n\t\t\t\t\t\tif (k in O) {\n\t\t\t\t\t\t\t\tkValue = O[k];\n\t\t\t\t\t\t\t\tmappedValue = callback.call(T, kValue, k, O);\n\n\t\t\t\t\t\t\t\tA[k] = mappedValue;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tk++;\n\t\t\t\t}\n\n\t\t\t\treturn A;\n\t\t};\n}\n\n/*********************/\n/* Private Functions */\n/*********************/\nfunction extend(out) {\n\t\tout = out || {};\n\t\tfor (var i = 1; i < arguments.length; i++) {\n\t\t\t\tif (!arguments[i]) {\n\t\t\t\t\t\tcontinue;\n\t\t\t\t}\n\t\t\t\tfor (var key in arguments[i]) {\n\t\t\t\t\t\tif (arguments[i].hasOwnProperty(key) && arguments[i][key] !== undefined) {\n\t\t\t\t\t\t\t\tout[key] = arguments[i][key];\n\t\t\t\t\t\t}\n\t\t\t\t}\n\t\t}\n\t\treturn out;\n}\n\nfunction cleanSelector(selector) {\n\t\treturn selector.replace(/\\W/g, '');\n}\n\nfunction matchSelector(elem, selector) {\n\t\tif ($) {\n\t\t\t\treturn $(elem).is(selector);\n\t\t} else if (typeof selector === 'string') {\n\t\t\t\treturn elementMatchesSelector.call(elem, selector);\n\t\t} else if ((typeof selector === 'undefined' ? 'undefined' : _typeof(selector)) === 'object' && selector.length) {\n\t\t\t\treturn selector.indexOf(elem) >= 0;\n\t\t} else if ((typeof selector === 'undefined' ? 'undefined' : _typeof(selector)) === 'object' && selector.nodeType === 1) {\n\t\t\t\treturn elem === selector;\n\t\t}\n\t\treturn false;\n}\n\nfunction generateId() {\n\t\tvar id;\n\t\twhile (true) {\n\t\t\t\tid = ID_POOL_PREFIX + String(++_idPool);\n\t\t\t\tif (!_modals[id]) {\n\t\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t}\n\t\treturn id;\n}\n\nfunction getModalId(elem) {\n\t\tvar hasClass = false;\n\t\tvar elemClasses = elem && elem.className && elem.className.split(' ') || [];\n\n\t\tfor (var id in _modals) {\n\t\t\t\tvar triggerSelectors = _modals[id].triggerSelectors.map(function (selector) {\n\t\t\t\t\t\treturn selector.substring(1);\n\t\t\t\t});\n\n\t\t\t\tvar dismissSelectors = _modals[id].dismissSelectors.map(function (selector) {\n\t\t\t\t\t\treturn selector.substring(1);\n\t\t\t\t});\n\n\t\t\t\tif (!_modals[id].disable) {\n\t\t\t\t\t\tfor (var i = 0, len = elemClasses.length; i < len; i++) {\n\t\t\t\t\t\t\t\thasClass = triggerSelectors.indexOf(elemClasses[i]) === 0 || dismissSelectors.indexOf(elemClasses[i]) === 0;\n\t\t\t\t\t\t\t\tif (hasClass) {\n\t\t\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\treturn id;\n\t\t\t\t}\n\t\t}\n}\n\nfunction hideModal(modalId) {\n\t\tvar modal = _modals[modalId];\n\t\tvar modalRoot;\n\n\t\tif (!modal) {\n\t\t\t\treturn;\n\t\t}\n\n\t\tmodalRoot = modal.root;\n\n\t\tmodalRoot.setAttribute('data-modal', 'false');\n\t\tmodalRoot.setAttribute('aria-hidden', 'false');\n\t\tmodal.modalSelector[0].setAttribute('data-visible', 'false');\n\t\tmodal.modalSelector[0].setAttribute('aria-hidden', 'true');\n}\n\nfunction setEmailLink(modal, email) {\n\t\tvar button = $(modal.modalSelector[0]).find(\".js-modalButton-agree\");\n\t\tvar fullEmail = \"javascript:window.location.href='\" + email + \"';\";\n\n\t\tdocument.getElementById(\"js-modal-agree-id\").setAttribute(\"onClick\", fullEmail);\n}\n\nfunction onModalActivatorPress(evt) {\n\n\t\tvar target = this;\n\t\tvar modalId = getModalId(target);\n\t\tvar modal = _modals[modalId];\n\t\tvar modalRoot;\n\t\tvar modalData;\n\n\t\tif (!modal) {\n\t\t\t\treturn;\n\t\t}\n\n\t\tmodalRoot = modal.root;\n\t\tmodalData = modalRoot && modalRoot.getAttribute('data-modal');\n\n\t\tif (modalData && modalData === 'true') {\n\t\t\t\treturn;\n\t\t}\n\n\t\tevt.preventDefault();\n\t\tevt.stopPropagation();\n\n\t\tvar email = $(this).attr(\"href\");\n\t\tsetEmailLink(modal, email);\n\n\t\tmodalRoot.setAttribute('data-modal', 'true');\n\t\tmodalRoot.setAttribute('aria-hidden', 'true');\n\t\tmodal.modalSelector[0].setAttribute('data-email', target.getAttribute('href'));\n\t\tmodal.modalSelector[0].setAttribute('data-visible', 'true');\n\t\tmodal.modalSelector[0].setAttribute('aria-hidden', 'false');\n}\n\nfunction onModalDismissorPress(evt) {\n\t\tvar target = this;\n\t\tvar modalId = getModalId(target);\n\n\t\tevt.preventDefault();\n\t\tevt.stopPropagation();\n\n\t\thideModal(modalId);\n}\n\n/****************/\n/* Modal Object */\n/****************/\nvar Modal = {\n\t\tinit: function init(config) {\n\t\t\t\tvar options = extend({}, GlobalConfig, config);\n\t\t\t\tvar triggerSelectors = options.triggerSelectors || [];\n\t\t\t\tvar dismissSelectors = options.dismissSelectors || [];\n\n\t\t\t\ttriggerSelectors = triggerSelectors.join(', ');\n\t\t\t\tdismissSelectors = dismissSelectors.join(', ');\n\n\t\t\t\t$(document).on('click', triggerSelectors, onModalActivatorPress);\n\t\t\t\t$(document).on('click', dismissSelectors, onModalDismissorPress);\n\t\t},\n\n\t\tset: function set() {\n\t\t\t\tvar modalId, config;\n\n\t\t\t\tif (_typeof(arguments[0]) === 'object') {\n\t\t\t\t\t\tconfig = arguments[0];\n\t\t\t\t} else if (typeof arguments[0] === 'string' && _typeof(arguments[1]) === 'object') {\n\t\t\t\t\t\tmodalId = arguments[0];\n\t\t\t\t\t\tconfig = arguments[1];\n\t\t\t\t\t\tif (!_modals[modalId]) {\n\t\t\t\t\t\t\t\tthrow new Error('Section \"' + modalId + '\" doesn\\'t exist!');\n\t\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tfor (var key in config) {\n\t\t\t\t\t\tif (GlobalConfig[key] !== undefined) {\n\t\t\t\t\t\t\t\tif (modalId) {\n\t\t\t\t\t\t\t\t\t\t_modals[modalId][key] = config[key];\n\t\t\t\t\t\t\t\t} else if (config[key] !== undefined) {\n\t\t\t\t\t\t\t\t\t\tGlobalConfig[key] = config[key];\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tif (modalId) {\n\t\t\t\t\t\t// remove \"undefined\" items\n\t\t\t\t\t\t_modals[modalId] = extend({}, _modals[modalId]);\n\t\t\t\t}\n\t\t},\n\n\t\tadd: function add() {\n\t\t\t\tvar modalId;\n\t\t\t\tvar config = {};\n\n\t\t\t\tif (_typeof(arguments[0]) === 'object') {\n\t\t\t\t\t\tconfig = arguments[0];\n\t\t\t\t} else if (typeof arguments[0] === 'string' && _typeof(arguments[1]) === 'object') {\n\t\t\t\t\t\tmodalId = arguments[0];\n\t\t\t\t\t\tconfig = arguments[1];\n\t\t\t\t}\n\n\t\t\t\tif (!modalId) {\n\t\t\t\t\t\tmodalId = typeof config.id === 'string' ? config.id : generateId();\n\t\t\t\t}\n\n\t\t\t\tif (_modals[modalId]) {\n\t\t\t\t\t\tthrow new Error('Modal \"' + modalId + '\" already exists!');\n\t\t\t\t}\n\n\t\t\t\t_modals[modalId] = {};\n\n\t\t\t\tModal.set(modalId, config);\n\t\t},\n\n\t\tdestroy: function destroy() {\n\t\t\t\twindow.removeEventListener('keyup', onKeyUp);\n\t\t\t\tModal.clear();\n\t\t\t\t_idPool = 0;\n\t\t\t\t_ready = false;\n\t\t},\n\n\t\tclear: function clear() {\n\t\t\t\t_modals = {};\n\t\t\t\t_modalCount = 0;\n\t\t\t\t_defaultModalId = '';\n\t\t\t\t_lastModalId = '';\n\t\t}\n\n};\n\nwindow.Modal = Modal;\n\n/*********************/\n/* jQuery Interface */\n/*********************/\nif ($) {\n\t\t$.Modal = function () {\n\t\t\t\tModal.init();\n\n\t\t\t\tif (arguments.length > 0) {\n\t\t\t\t\t\tif ($.isPlainObject(arguments[0])) {\n\t\t\t\t\t\t\t\treturn Modal.add(arguments[0]);\n\t\t\t\t\t\t} else if ($.type(arguments[0]) === 'string' && $.isFunction(Modal[arguments[0]])) {\n\t\t\t\t\t\t\t\treturn Modal[arguments[0]].apply(Modal, [].slice.call(arguments, 1));\n\t\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\treturn $.extend({}, Modal);\n\t\t};\n\n\t\t$.fn.Modal = function () {\n\t\t\t\tvar config;\n\n\t\t\t\tif ($.isPlainObject(arguments[0])) {\n\t\t\t\t\t\tconfig = arguments[0];\n\t\t\t\t} else {\n\t\t\t\t\t\tconfig = {\n\t\t\t\t\t\t\t\tmodalSelector: arguments[0]\n\t\t\t\t\t\t};\n\t\t\t\t}\n\n\t\t\t\tconfig.modalSelector = this;\n\t\t\t\tconfig.root = config.root || document.body;\n\n\t\t\t\tif (config.id) {\n\t\t\t\t\t\tModal.remove(config.id);\n\t\t\t\t}\n\n\t\t\t\tModal.add(config);\n\t\t\t\tModal.init(config);\n\n\t\t\t\treturn this;\n\t\t};\n}\n\n},{}],3:[function(require,module,exports){\n'use strict';\n\nvar $scrollspy, $menu, $menuItems, $scrollSections, $bodyHtml, $mobileToggle,\n\n//offsets/classes\nheaderOffsets, nodeCollection, activeNavClass, mobileToggleClass,\n\n//magic controller\nmagicController, sceneCollection,\n\n//module exports\nwindowResize, ScrollSpy;\n\nvar windowResize = function () {\n\n var callbacks = [],\n running = false;\n\n // fired on resize event\n function resize() {\n\n if (!running) {\n running = true;\n\n if (window.requestAnimationFrame) {\n window.requestAnimationFrame(runCallbacks);\n } else {\n setTimeout(runCallbacks, 66);\n }\n }\n }\n\n // run the actual callbacks\n function runCallbacks() {\n\n callbacks.forEach(function (callback) {\n callback();\n });\n\n running = false;\n }\n\n // adds callback to loop\n function addCallback(callback) {\n\n if (callback) {\n callbacks.push(callback);\n }\n }\n\n return {\n // public method to add additional callback\n add: function add(callback) {\n if (!callbacks.length) {\n window.addEventListener('resize', resize);\n }\n addCallback(callback);\n }\n };\n}();\n\nScrollSpy = {\n stickyMenuInit: function stickyMenuInit(headerOffsets) {\n\n var triggerElement, deviceOffset;\n\n triggerElement = $scrollspy[0];\n\n deviceOffset = window.innerWidth < 900 ? Math.ceil($menu.outerHeight() + 49) : 0; //49 accounts for padding on top of scrollnav section;\n\n sceneCollection['sticky-menu'] = new ScrollMagic.Scene({\n triggerElement: $scrollspy[0],\n triggerHook: 0,\n offset: headerOffsets,\n duration: Math.ceil($scrollspy.height()) - Math.ceil($menu.outerHeight()) + deviceOffset\n }).on('enter leave', function (e) {\n e.type === 'enter' ? $menu.addClass('is-sticky-top') : $menu.removeClass('is-sticky-top');\n }).on('end', function (e) {\n e.state === 'AFTER' ? $menu.addClass('is-sticky-bottom') : $menu.removeClass('is-sticky-bottom');\n })\n //.addIndicators()\n .addTo(magicController);\n },\n scrollToSection: function scrollToSection(sectionName) {\n\n var $sectionModule = nodeCollection[sectionName].module,\n sectionOffset = $sectionModule.offset().top,\n finalOffset = sectionOffset + headerOffsets * 2;\n\n if (window.helperUtils.isMobile) {\n finalOffset = finalOffset - 70;\n } //magic number is height of subnavigation;\n\n $bodyHtml.animate({\n scrollTop: finalOffset\n }, 500, function () {\n $sectionModule.focus();\n });\n },\n menuEventsInit: function menuEventsInit() {\n var _self = this;\n $menu.on('click.scrollspy', '.scrollspy-nav-link', function (ev) {\n\n ev.stopPropagation();\n ev.preventDefault();\n\n var sectionID = this.getAttribute('href');\n\n sectionID = sectionID.slice(1).toLowerCase();\n\n _self.scrollToSection(sectionID);\n });\n\n //mobile toggle\n $menu.on('click', '.js-nav-toggle', function (ev) {\n\n ev.preventDefault();\n ev.stopPropagation();\n\n if ($menu.hasClass(mobileToggleClass)) {\n $menu.removeClass(mobileToggleClass).find('.scrollspy-nav-list').attr('aria-hidden', 'true');\n\n $(this).attr('aria-expanded', 'false');\n } else {\n $menu.addClass(mobileToggleClass).find('.scrollspy-nav-list').attr('aria-hidden', 'false');\n\n $(this).attr('aria-expanded', 'true');\n }\n });\n },\n updateAriaStatus: function updateAriaStatus() {\n\n if (window.helperUtils.isMobile) {\n $menu.removeClass(mobileToggleClass).find('.scrollspy-nav-list').attr('aria-hidden', 'true').end().find('.js-nav-toggle').attr('aria-expanded', 'false');\n } else {\n $menu.addClass(mobileToggleClass).find('.scrollspy-nav-list').attr('aria-hidden', 'false').end().find('.js-nav-toggle').attr('aria-expanded', 'true');\n }\n },\n magicSceneInit: function magicSceneInit() {\n //\n var updateNavStatus,\n addMagicSceneSection,\n _self = this;\n\n //updating navigation\n updateNavStatus = function updateNavStatus(sectionName) {\n $menuItems.removeClass(activeNavClass).find('.scrollspy-nav-link').attr('aria-label', '');\n\n if (!!sectionName) {\n nodeCollection[sectionName].navItem.addClass(activeNavClass).find('.scrollspy-nav-link').attr('aria-label', 'Is Selected');\n }\n\n $mobileToggle.text(nodeCollection[sectionName].navItem.text());\n $menu.removeClass(mobileToggleClass);\n };\n\n addMagicSceneSection = function addMagicSceneSection(sectionNode) {\n\n var moduleName = sectionNode.getAttribute('id').toLowerCase();\n if (moduleName != \"\") {\n sceneCollection[moduleName + 'Scene'] = new ScrollMagic.Scene({\n triggerElement: nodeCollection[moduleName].module[0],\n duration: nodeCollection[moduleName].module.outerHeight()\n }).on('enter', function () {\n updateNavStatus(moduleName);\n }).addTo(magicController);\n }\n };\n\n for (var i = 0; i < $scrollSections.length; i++) {\n addMagicSceneSection($scrollSections.eq(i)[0]);\n }\n\n //dont need sections anymore, have it garbage collected;\n addMagicSceneSection = null;\n },\n refreshBodyDimensions: function refreshBodyDimensions() {\n var headerOffsets,\n deviceOffset,\n resizeDuration,\n _self = this;\n\n headerOffsets = $('#site-header').outerHeight() * -1;\n\n deviceOffset = window.innerWidth < 900 ? Math.ceil($menu.outerHeight() + 49) : 0; //49 accounts for padding on top of scrollnav section;\n\n resizeDuration = Math.ceil($scrollspy.height()) - Math.ceil($menu.outerHeight()) - deviceOffset;\n\n if (resizeDuration < 0) {\n //this.disabledFeature();\n\n return;\n }\n\n sceneCollection['sticky-menu'].duration(resizeDuration).offset(headerOffsets);\n\n _self.refreshSectionDimensions();\n },\n refreshSectionDimensions: function refreshSectionDimensions() {\n\n var computeSectionDuration = function computeSectionDuration(moduleName) {\n\n sceneCollection[moduleName + 'Scene'].duration(nodeCollection[moduleName].module.outerHeight());\n };\n\n Object.keys(nodeCollection).forEach(function (key, index) {\n computeSectionDuration(key);\n });\n },\n windowResizeEvent: function windowResizeEvent() {\n var resizeMagicLogic;\n\n resizeMagicLogic = function resizeMagicLogic() {\n\n //if magic scene is disabled do nothing until it's activated;\n if (!sceneCollection['sticky-menu'].enabled()) {\n return;\n }\n this.refreshBodyDimensions();\n };\n\n windowResize.add(resizeMagicLogic.bind(this));\n },\n init: function init() {\n\n var populateNodeCollection;\n\n magicController = new ScrollMagic.Controller();;\n sceneCollection = {};\n\n //initialize elements;\n $scrollspy = $('.js-scrollspy');\n $menu = $scrollspy.find('.js-scrollspy-nav');\n $menuItems = $menu.find('.js-option');\n $scrollSections = $scrollspy.find('.js-scrollspy-section');\n $mobileToggle = $scrollspy.find('.js-nav-toggle');\n $bodyHtml = $('body,html');\n\n //variables\n activeNavClass = 'is-inview';\n mobileToggleClass = 'show-menu';\n headerOffsets = $('#site-header').outerHeight() * -1;\n nodeCollection = {};\n\n populateNodeCollection = function populateNodeCollection($sectionNode) {\n\n var sectionID = $sectionNode[0].getAttribute('id').toLowerCase(),\n $navNode = $menuItems.filter(function (index) {\n\n var hrefAttribute = $(this).find('.scrollspy-nav-link')[0].getAttribute('href');\n\n return sectionID === hrefAttribute.slice(1).toLowerCase();\n });\n\n nodeCollection[sectionID.toLowerCase()] = {\n module: $sectionNode,\n navItem: $navNode\n };\n };\n\n for (var i = $scrollSections.length - 1; i >= 0; i--) {\n populateNodeCollection($scrollSections.eq(i));\n }\n\n populateNodeCollection = null;\n\n //setup initial class for navigation, and update mobile default label\n $menuItems.eq(0).addClass(activeNavClass).find('.scrollspy-nav-link').attr('aria-label', 'Is Selected');\n\n $mobileToggle.text($menuItems.eq(0).find('.scrollspy-nav-link').text());\n\n this.stickyMenuInit(headerOffsets);\n\n this.menuEventsInit();\n\n this.magicSceneInit();\n\n this.updateAriaStatus();\n\n this.windowResizeEvent();\n }\n};\n\nmodule.exports = ScrollSpy;\n\n},{}],4:[function(require,module,exports){\n'use strict';\n\n(function (global, undefined) {\n\n\tvar $tabsArea = $('.js-tabs-area'),\n\t $tabsNav,\n\t $tabsNavLinks,\n\t $tabsNavLabel,\n\t $tabsDesignLine,\n\t $tabsPanelsBody,\n\t $tabsPanels,\n\t $selectedTab,\n\t slideDirection,\n\t panelLength,\n\t isAnimating,\n\t currentIndex,\n\t selectedTabIndex,\n\t mobileState,\n\t activeNavClass,\n\t activePanelClass,\n\t animationTimingDuration;\n\n\tif ($tabsArea.length === 0) {\n\t\treturn;\n\t}\n\n\t$tabsNav = $tabsArea.find('.js-tabs-nav');\n\t$tabsNavLinks = $tabsNav.find('.js-tabs-nav-link');\n\t$tabsNavLabel = $tabsNav.find('.js-tabs-label');\n\t$tabsDesignLine = $tabsArea.find('.js-design-line');\n\t$tabsPanelsBody = $tabsArea.find('.js-tabs-panel-body');\n\t$tabsPanels = $tabsPanelsBody.find('.js-tabs-panel');\n\tpanelLength = $tabsPanels.length;\n\n\t//Default Values\n\tcurrentIndex = 0;\n\tisAnimating = false;\n\tactiveNavClass = 'is-active-tab';\n\tactivePanelClass = 'is-active-panel';\n\tanimationTimingDuration = 300;\n\n\t//Toggle display of Tabs in mobile\n\t$tabsNavLabel.on(\"click\", function (ev) {\n\t\tev.stopImmediatePropagation();\n\t\t$tabsNav.toggleClass('is-expanded');\n\t});\n\n\t//Attached event handler for nav links\n\t$tabsNav.on('click.tabsPanel', '.js-tabs-nav-link', function (ev) {\n\t\tev.preventDefault();\n\n\t\t$selectedTab = $(this);\n\t\tselectedTabIndex = $tabsNavLinks.index($selectedTab);\n\n\t\t//We clicked the same link so do nothing\n\t\tif (currentIndex === selectedTabIndex || isAnimating) return;\n\n\t\tupdateTabSelection($selectedTab);\n\n\t\tcurrentIndex < selectedTabIndex ? slideDirection = \"left\" : slideDirection = \"right\";\n\n\t\tupdatePanelSelection($tabsPanels.eq(selectedTabIndex), slideDirection);\n\n\t\t//need to account for mobile\n\t\t//$tabsNavList.removeClass('is-expanded');\n\t});\n\n\tfunction updateTabSelection($tabSelected) {\n\t\t$tabsNavLinks.eq(currentIndex).removeClass(activeNavClass);\n\t\t$tabSelected.addClass(activeNavClass);\n\n\t\t//update mobile label \n\t\t$tabsNavLabel.text($tabSelected.text());\n\n\t\tif (window.helperUtils.isMobile) {\n\t\t\t$tabsNav.removeClass('is-expanded');\n\t\t} else {\n\t\t\tslideDesignLine($tabSelected);\n\t\t}\n\t}\n\n\tfunction updatePanelSelection($panelSelected, slideDirection) {\n\t\tisAnimating = true;\n\t\tvar $currentPanel = $tabsPanels.eq(currentIndex);\n\n\t\t$panelSelected.addClass('is-selected');\n\n\t\tslideDirection === \"left\" ? $tabsPanelsBody.addClass('is-animating-left') : $tabsPanelsBody.addClass('is-animating-right');\n\n\t\t$tabsPanelsBody.css('height', $currentPanel.outerHeight()).addClass('is-animating-out');\n\n\t\t$panelSelected.addClass('is-animating-in');\n\n\t\t//Timeout Delay should be in sync with entire duration of animation\n\t\tsetTimeout(function animateHeight() {\n\n\t\t\t$tabsPanelsBody.animate({\n\t\t\t\theight: $panelSelected.outerHeight()\n\t\t\t}, animationTimingDuration, function resetClasses() {\n\n\t\t\t\t$tabsPanelsBody.css('height', '').removeClass('is-animating-out is-animating-left is-animating-right');\n\n\t\t\t\t$currentPanel.removeClass(activePanelClass);\n\n\t\t\t\t$panelSelected.removeClass('is-animating-in is-selected').addClass(activePanelClass);\n\n\t\t\t\tisAnimating = false;\n\t\t\t});\n\t\t\tcurrentIndex = selectedTabIndex;\n\t\t}, animationTimingDuration);\n\t}\n\n\tfunction slideDesignLine($tabSelected) {\n\t\tvar tabWidth = $tabSelected.width(),\n\t\t tabOffset = $tabSelected.position().left;\n\n\t\t$tabsDesignLine.css({\n\t\t\t\"left\": tabOffset,\n\t\t\twidth: tabWidth + 'px'\n\t\t});\n\t}\n\n\t//Initialize default settings\n\t$(window).load(function () {\n\t\t$selectedTab = $tabsNavLinks.eq(0);\n\t\tslideDesignLine($selectedTab);\n\t});\n\n\twindow.addEventListener(\"resize\", resizeThrottler, false);\n\n\tvar resizeTimeout;\n\tfunction resizeThrottler() {\n\t\t// ignore resize events as long as an actualResizeHandler execution is in the queue\n\t\tif (!resizeTimeout) {\n\t\t\tresizeTimeout = setTimeout(function () {\n\t\t\t\tresizeTimeout = null;\n\t\t\t\tslideDesignLine($selectedTab);\n\n\t\t\t\t// The actualResizeHandler will execute at a rate of 15fps\n\t\t\t}, 66);\n\t\t}\n\t}\n})(undefined);\n\n},{}],5:[function(require,module,exports){\n'use strict';\n\nrequire('./features/credential-slide-down');\nrequire('./tabArea.js');\nrequire('./features/email-disclaimer-modal.js');\nvar ScrollSpy = require('./features/scrollspy.js');\n\n$('.js-disclaimerModal').Modal({\n triggerSelectors: ['.js-disclaimerModal-trigger'],\n dismissSelectors: ['.js-modalClose', '.js-modalButton-agree', '.js-modalButton-cancel']\n});\n\nScrollSpy.init();\n\n},{\"./features/credential-slide-down\":1,\"./features/email-disclaimer-modal.js\":2,\"./features/scrollspy.js\":3,\"./tabArea.js\":6}],6:[function(require,module,exports){\n'use strict';\n\nrequire('./features/tabs-area.js');\nvar ScrollSpy = require('./features/scrollspy.js');\n\n$(document).ready(function () {\n\n var $container = $('.js-tabs-area').length ? $('.js-tabs-area') : $('.scrollspy-sections');\n if (!$container.length) return;\n\n function appendData($list, url) {\n $.ajax({\n url: url\n }).done(function (data) {\n $list.append(data);\n\n var $items = $list.children('li');\n $items.slideDown();\n\n var $last = $items.last();\n var dataNextUrl = $last.attr('data-next-url');\n\n var $button = $list.next('button');\n if (dataNextUrl) {\n $button.show();\n } else {\n $button.hide();\n }\n //force scrollspy to update after content is loaded\n setTimeout(ScrollSpy.refreshBodyDimensions, 200);\n });\n }\n\n var $listArticles = $container.find('.list-articles');\n $listArticles.each(function () {\n var $this = $(this);\n var url = $this.attr('data-url');\n appendData($this, url);\n });\n\n var $viewMoreButtons = $container.find('.js-button-expand');\n $viewMoreButtons.click(function () {\n var $this = $(this);\n\n var $list = $this.prev('ul');\n var $last = $list.children('li').last();\n var url = $last.attr('data-next-url');\n\n appendData($list, url);\n });\n});\n\n},{\"./features/scrollspy.js\":3,\"./features/tabs-area.js\":4}]},{},[5]);\n"],"file":"people-detail.bundle.js"}