{"version":3,"sources":["breakpoint-detection.js","main.js","filters.js","forms.js","navigation.js","vimeo.js","youtube.js","notify.js"],"names":["currentHeight_screenSize","BreakpointDetection","$","internal","detectionDivs","bootstrap","xs","sm","md","lg","xl","applyDetectionDivs","document","ready","each","self","breakpoints","alias","appendTo","isAnExpression","str","charAt","splitExpression","operator","orEqual","index","breakpointName","slice","isAnyActive","found","is","isMatchingExpression","expression","breakpointList","Object","keys","pos","indexOf","start","end","undefined","acceptedBreakpoints","interval","framework","use","current","name","changed","fn","ms","timer","clearTimeout","setTimeout","append","jQuery","SetResourcePDFLanguage","e","language","langToUpdate","currentTarget","value","resourceList","toArray","i","langForList","$thisList","find","length","location","pathname","split","val","trigger","siblings","hide","show","JumpNavOverflowHandler","$innerJumpNav","$jumpNavContainer","$jumpNav","width","scrollLeft","scrollWidth","addClass","removeClass","GetQueryInfo","hrefInfo","window","href","queries","match","substr","queriesJson","query","queryValue","decodeURIComponent","replace","push","GetQueryByName","queryParamName","results","RegExp","exec","search","ScrollToOffset","offset","ignoreManual","callback","animate","scrollTop","manualOffset","module","exports","_filterInfo","Initialize","totalResults","currentFilters","this","SortResults","UpdateFilterListItems","UpdateFilterResultCount","SetupFilterBindings","AddPresetValues","queryData","wrapper","qList","$filterWrapper","$filterOptions","q","splitValues","sv","splitListValue","filterText","text","trim","toLowerCase","filterValue","AddFilter","on","$this","attr","hasClass","listname","closest","RemoveFilter","click","evt","target","$filterList","css","$filterlist","children","$thisUl","ResetFilters","toggleClass","targetPage","SetupPagination","parseInt","remove","filtername","$pill","targetList","splice","UpdateFilterResults","$newPill","sortType","$maxSet","list","get","filter","sort","bElem","aElem","a","Date","b","innerHTML","localeCompare","parentNode","appendChild","newFilterInfo","_CalculateFilterResults","maxSet","targetResultSet","setSize","currentPage","$buttons","totalPages","Math","ceil","startPage","targetLastPage","lastPage","min","textNumber","pageIndex","$button","eq","$resultItems","not","startItem","endItem","hadPrevFilter","clonedFilters","JSON","parse","stringify","targetFilters","resultGroups","optionGroup","j","option","resultSet","concat","uniqueSort","mergedResult","k","result","$$epiforms","console","log","event","param1","param2","top","__CountryStateMapping","countryValues","testCountry","$countryField","Value","parent","stateKeys","States","$stateField","html","$firstOption","empty","countryValue","countryMapped","states","__scriptsArray","funcName","toString","contents","nodeType","nodeName","replaceWith","elem","c","nodeValue","listToReplace","t","r","ltr","regex","slick","autoplay","speed","autoplaySpeed","dots","infinite","pauseOnHover","arrows","slidesToShow","slidesToScroll","useTransform","select2","hostname","has","queryVideoName","videoTag","destination","height","preventDefault","currentHeight_nh","currentWidth_nh","args_rnh","responsiveScreenSizeTest","responsiveNormalizeHeight","selector","forcePadding","condition","childSelector","init","screenSize","_responsiveNormalizeHeight","delayedResponsiveNormalizeHeight","orderedSizeList","size","masterSet","controllingElem","thisElem","classes","sizeToCheck","colToCheck","column1Elems","column2Elems","column3Elems","column4Elems","numColumns","filterSet","kTo","_normalizeHeight","args_nh","normalizeHeight","delayedNormalizeHeight","forcedPadding","mergedSelector","maxHeight","cssHeight","thisHeight","openMobileNav","el","resetNav","closeMobileNav","openSubNav","closeSubNav","$eTarget","$targetLi","prop","$el","handleNavScroll","resize","control","$subnav","lastScrollTop","eyebrowSize","getBoundingClientRect","offsetToCheck","$videoModal","currVimeoId","body","videoId","modal","id","vimeoPlayer","playVimeo","loadVimeo","tag","createElement","src","firstScriptTag","getElementsByTagName","insertBefore","player","currVideoId","ytVars","ytLang","ytLoadPolicy","onYouTubeIframeAPIReady","onPlayerReady","onPlayerStateChange","title","getVideoData","category","label","currHref","data","YT","PlayerState","PAUSED","ga","PLAYING","ENDED","CUED","playVideo","loadVideoById","Player","playerVars","events","onReady","onStateChange","loadVideo","pauseVideo","substring","modestbranding","cc_load_policy","cc_lang_pref","hl","$worldMapModal","factory","define","amd","root","require","item","l","pluginName","pluginClassName","blankFieldName","positions","m","hAligns","vAligns","mainPositions","opposites","styles","coreStyle","stylePrefixes","addStyle","def","existing","cssElem","warn","cssText","className","props","prefix","insertCSS","fields","findFields","createElem","_","styleSheet","type","pluginOptions","clickToHide","autoHide","autoHideDelay","arrowShow","arrowSize","breakNewLines","elementPosition","globalPosition","style","showAnimation","showDuration","hideAnimation","hideDuration","gap","encodeMess","globalAnchors","getAnchorElement","element","radios","parents","first","incr","obj","opp","isNaN","realign","alignment","inner","outer","encode","Notification","options","F","isPlainObject","prototype","extend","loadHTML","arrow","container","userContainer","elementType","originalElement","before","run","getStyle","userFields","userCallback","args","elems","hidden","_this","destroy","add","apply","setGlobalPosition","p","getPosition","pMain","pAlign","main","align","key","anchor","contains","left","prepend","setElementPosition","arrowColor","arrowCss","color","contH","contW","elemH","elemIH","elemIW","elemPos","elemW","len","len1","mainFull","margin","oppFull","posFull","position","ref","wrapPos","outerHeight","outerWidth","innerHeight","innerWidth","max","call","display","removeAttr","ref1","ref2","ref3","ref4","ref5","word","w","parsePosition","updateClasses","isArray","map","n","join","d","datas","autohideTimer","bind","jquery","prev","defaults","opts","removeStyle","base","padding","border","error","success","info"],"mappings":"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","file":"main.min.js","sourcesContent":["/*!\n * Responsive Bootstrap Toolkit\n * Author: Maciej Gurban\n * License: MIT\n * Version: 2.6.3 (2016-06-21)\n * Origin: https://github.com/maciej-gurban/responsive-bootstrap-toolkit\n */\nvar BreakpointDetection = (function ($) {\n\n // Internal methods\n var internal = {\n\n // Breakpoint detection divs for each framework version\n detectionDivs: {\n // Bootstrap 4\n bootstrap: {\n 'xs': $('
'),\n 'sm': $('
'),\n 'md': $('
'),\n 'lg': $('
'),\n 'xl': $('
')\n }\n },\n\n // Append visibility divs after DOM laoded\n applyDetectionDivs: function () {\n $(document).ready(function () {\n $.each(self.breakpoints, function (alias) {\n self.breakpoints[alias].appendTo('.breakpoint-detection');\n });\n });\n },\n\n // Determines whether passed string is a parsable expression\n isAnExpression: function (str) {\n return (str.charAt(0) == '<' || str.charAt(0) == '>');\n },\n\n // Splits the expression in into <|> [=] alias\n splitExpression: function (str) {\n\n // Used operator\n var operator = str.charAt(0);\n // Include breakpoint equal to alias?\n var orEqual = (str.charAt(1) == '=') ? true : false;\n\n /**\n * Index at which breakpoint name starts.\n *\n * For: >sm, index = 1\n * For: >=sm, index = 2\n */\n var index = 1 + (orEqual ? 1 : 0);\n\n /**\n * The remaining part of the expression, after the operator, will be treated as the\n * breakpoint name to compare with\n */\n var breakpointName = str.slice(index);\n\n return {\n operator: operator,\n orEqual: orEqual,\n breakpointName: breakpointName\n };\n },\n\n // Returns true if currently active breakpoint matches the expression\n isAnyActive: function (breakpoints) {\n var found = false;\n $.each(breakpoints, function (index, alias) {\n // Once first breakpoint matches, return true and break out of the loop\n if (self.breakpoints[alias].is(':visible')) {\n found = true;\n return false;\n }\n });\n return found;\n },\n\n // Determines whether current breakpoint matches the expression given\n isMatchingExpression: function (str) {\n\n var expression = internal.splitExpression(str);\n\n // Get names of all breakpoints\n var breakpointList = Object.keys(self.breakpoints);\n\n // Get index of sought breakpoint in the list\n var pos = breakpointList.indexOf(expression.breakpointName);\n\n // Breakpoint found\n if (pos !== -1) {\n\n var start = 0;\n var end = 0;\n\n /**\n * Parsing viewport.is('<=md') we interate from smallest breakpoint ('xs') and end\n * at 'md' breakpoint, indicated in the expression,\n * That makes: start = 0, end = 2 (index of 'md' breakpoint)\n *\n * Parsing viewport.is('=sm') we interate from breakpoint 'sm' and end at the end\n * of breakpoint list.\n * That makes: start = 1, end = undefined\n *\n * Parsing viewport.is('>sm') we start at breakpoint 'md' and end at the end of\n * breakpoint list.\n * Which makes: start = 2, end = undefined\n */\n if (expression.operator == '>') {\n start = expression.orEqual ? pos : ++pos;\n end = undefined;\n }\n\n var acceptedBreakpoints = breakpointList.slice(start, end);\n\n return internal.isAnyActive(acceptedBreakpoints);\n\n }\n }\n\n };\n\n // Public methods and properties\n var self = {\n\n /**\n * Determines default debouncing interval of 'changed' method\n */\n interval: 300,\n\n /**\n *\n */\n framework: \"bootstrap\",\n\n /**\n * Breakpoint aliases, listed from smallest to biggest\n */\n breakpoints: internal.detectionDivs[\"bootstrap\"],\n\n // Returns true if current breakpoint matches passed alias\n is: function (str) {\n if (internal.isAnExpression(str)) {\n return internal.isMatchingExpression(str);\n }\n return self.breakpoints[str] && self.breakpoints[str].is(':visible');\n },\n\n // Applies breakpoint detection divs\n use: function () {\n internal.applyDetectionDivs();\n },\n\n // Returns current breakpoint alias\n current: function () {\n var name = 'unrecognized';\n $.each(self.breakpoints, function (alias) {\n if (self.is(alias)) {\n name = alias;\n }\n });\n return name;\n },\n\n /*\n * Waits specified number of miliseconds before executing a callback\n */\n changed: function (fn, ms) {\n var timer;\n return function () {\n clearTimeout(timer);\n timer = setTimeout(function () {\n fn();\n }, ms || self.interval);\n };\n }\n\n };\n\n // Create a placeholder\n $(document).ready(function () {\n $('body').append('
');\n });\n\n self.use();\n //if (self.framework === null) {\n // self.use();\n //}\n\n return self;\n\n})(jQuery);\n\nif (typeof module !== 'undefined' && module.exports) {\n module.exports = BreakpointDetection;\n}","$('document').ready(function () {\n jQuery('.embed-responsive.embed-responsive-16by9 iframe').addClass('embed-responsive-item');\n\n // loads scripts from views\n // each script must have a unique name\n // use jQueryOnReady in view\n for (var i = 0; i < __scriptsArray.length; i++) {\n var funcName = \"\";\n if (typeof (__scriptsArray[i].name) === \"undefined\") {\n funcName = \"__fn\" + __scriptsArray[i].toString().match(/^function\\s*([^\\s(]+)/)[1];\n } else {\n funcName = \"__fn\" + __scriptsArray[i].name;\n }\n if (typeof (window[funcName]) === \"undefined\" || !window[funcName]) {\n __scriptsArray[i]();\n window[funcName] = true;\n }\n }\n\n // handle superscript character consistency\n $('body :not(script)').contents().filter(function () {\n return this.nodeType === 3 && this.parentNode.nodeName != \"iframe\" && this.parentNode.nodeName != \"embed\";\n }).replaceWith(function () {\n var result = this.nodeValue;\n var listToReplace = [{ t: \"™\", r: \"TM\", c: \"\" }, { t: \"®\", r: \"®\", c: \"reg\" },\n { t: \"©\", r: \"©\", c: \"copy\" }, { t: \"℠\", r: \"SM\", c: \"\" }];\n for (var index in listToReplace) {\n var ltr = listToReplace[index];\n var regex = new RegExp('[' + ltr.t + ']', 'g');\n if (result.match(regex)) {\n if (IsParentSUPtag(this, ltr.c)) {\n result = result.replace(regex, ltr.r);\n } else {\n result = result.replace(regex, '' + ltr.r + '');\n }\n }\n }\n return result;\n });\n\n function IsParentSUPtag(elem, c) {\n return $(elem).parent(\"sup\").addClass(c).length > 0;\n }\n\n // carousel resource CTAs only if more than 1\n $('.resource-list .resource-list-cta-carousel').slick({\n autoplay: true,\n speed: 300,\n autoplaySpeed: 7000,\n dots: true,\n infinite: true,\n pauseOnHover: true,\n arrows: false,\n slidesToShow: 1,\n slidesToScroll: 1,\n useTransform: false\n });\n\n\n\n $('.global-contact-select').select2();\n\n\n // External link icon addition\n var externalSvg = \" \";\n\n $(\"a[href^='http']:not([href*='\" + location.hostname.replace(\"www.\", \"\") + \"'])\").each(function () {\n $(this).attr(\"target\", \"_blank\");\n $(this).addClass(\"external-link\");\n\n if ($(this).has(\"img\").length && !$(this).text().trim().length) {\n return; // Do not append the icon if there's only an image\n }\n\n if (!$(this).parent().hasClass(\"horizontal-card\")) {\n $(this).append(externalSvg);\n }\n });\n\n\n\n // Jump Nav overflow on mobile\n JumpNavOverflowHandler();\n $(window).on(\"resize\", JumpNavOverflowHandler);\n $(\".jump-nav\").on(\"scroll\", JumpNavOverflowHandler);\n\n\n // Shared Language Resource Filters \n if ($(\"select.language-resource-select\").length) {\n $(\".language-resource-select\").on(\"select2:select\", SetResourcePDFLanguage);\n SetResourcePDFLanguage(null, location.pathname.split(\"/\")[1]);\n }\n\n // show video on page load\n var queryVideoName = GetQueryByName(\"video\");\n if (queryVideoName) {\n setTimeout(function () {\n var queryVideoName = GetQueryByName(\"video\");\n var videoCard = $(\".resource-card#\" + queryVideoName);\n\n var videoTag = videoCard.find(\"a.is-video,a.is-vimeo\");\n if (videoTag.length) {\n videoTag.trigger('click');\n }\n }, 500);\n }\n});\n\nfunction SetResourcePDFLanguage(e, language) {\n if (e !== null) {\n var langToUpdate = e.currentTarget.value;\n } else {\n langToUpdate = language;\n }\n\n var resourceList = $(\"select.language-resource-select\").toArray();\n for (var i in resourceList) {\n var langForList = langToUpdate;\n var $thisList = $(resourceList[i]);\n if (!$thisList.find(\"option[value=\" + langForList + \"]\").length) {\n langForList = location.pathname.split(\"/\")[1];\n if (!$thisList.find(\"option[value=\" + langForList + \"]\").length) {\n langForList = \"en\";\n }\n }\n $thisList.val(langForList);\n $thisList.trigger(\"change\");\n\n $thisList.siblings(\"[class*='group-lang-']\").hide();\n $thisList.siblings(\".group-lang-\" + langForList).show();\n }\n}\n\nfunction JumpNavOverflowHandler() {\n var $innerJumpNav = $(\".inner-jump-nav-container\");\n var $jumpNavContainer = $(\".jump-nav-container\");\n var $jumpNav = $(\".jump-nav\");\n\n var innerJumpNavWidth = $innerJumpNav.width();\n var jumpNavContainerWidth = $jumpNavContainer.width();\n\n if (innerJumpNavWidth > jumpNavContainerWidth) {\n var scrollLeft = $jumpNav.scrollLeft();\n var scrollWidth = $jumpNav[0].scrollWidth;\n\n //overflow required\n if (scrollLeft > 0) {\n $jumpNavContainer.addClass(\"overflow-before\");\n } else {\n $jumpNavContainer.removeClass(\"overflow-before\");\n }\n\n if ((scrollLeft + $jumpNav.width()) < scrollWidth) {\n $jumpNavContainer.addClass(\"overflow-after\");\n } else {\n $jumpNavContainer.removeClass(\"overflow-after\");\n }\n } else {\n //remove overflow classes\n $jumpNavContainer.removeClass(\"overflow-before\").removeClass(\"overflow-after\");\n }\n}\n\nfunction GetQueryInfo(hrefInfo) {\n if (!hrefInfo) {\n hrefInfo = window.location.href;\n }\n hrefInfo = hrefInfo.match(/\\?[^#]*/g);\n\n var queries = \"\";\n if (hrefInfo && hrefInfo.length) {\n queries = hrefInfo[0].substr(1).split('&');\n }\n\n if (queries == \"\") return {};\n var queriesJson = {};\n\n for (var i = 0; i < queries.length; ++i) {\n var query = queries[i].split('=', 2);\n if (query.length == 1)\n queriesJson[query[0]] = [];\n else {\n var queryValue = decodeURIComponent(query[1].replace(/\\+/g, \" \"));\n if (!queriesJson[query[0]]) {\n queriesJson[query[0]] = [];\n }\n queriesJson[query[0]].push(queryValue);\n }\n }\n\n return queriesJson;\n}\n\n// get query string parameter by name\nfunction GetQueryByName(queryParamName) {\n queryParamName = queryParamName.replace(/[\\[]/, \"\\\\[\").replace(/[\\]]/, \"\\\\]\");\n var regex = new RegExp(\"[\\\\?&]\" + queryParamName + \"=([^&#]*)\"), results = regex.exec(window.location.search);\n return results == null ? \"\" : decodeURIComponent(results[1].replace(/\\+/g, \" \"));\n}\n\n\n\nmanualOffset = 0; //update this to a fixed amount of offset to avoid fixed navigation\nfunction ScrollToOffset(offset, ignoreManual, callback) {\n if (!callback) {\n $('html, body').animate({\n scrollTop: offset + (ignoreManual ? 0 : manualOffset)\n }, 1000);\n } else {\n $('html, body').animate({\n scrollTop: offset + (ignoreManual ? 0 : manualOffset)\n }, 1000, callback);\n }\n return false;\n}\n\n//var $elem = $(asdfadsf);\n//ScrollToOffset($elem.offset().top)\n$('a[href^=\"#\"]').on('click', function (e) {\n var destination = $(this).attr(\"href\");\n\n if (destination != \"#\" && $(this).attr(\"data-parent\") != \"#accordion\") {\n ScrollToOffset($(destination).offset().top - $('header').height());\n e.preventDefault();\n }\n});\n\n\n\n$(\".world-map .pill\").css(\"width\", $(\".world-map .link\").css(\"width\"));\n$(window).on(\"resize\", function () {\n $(\".world-map .pill\").css(\"width\", $(\".world-map .link\").css(\"width\"));\n});\n\n// normalizes the height across instances of the selector based upon bootstrap columns\n// ONLY works to normalize divs that share a common bootstrap column width\n// examples~ col-6 : two column, col-4 : three column, col-3 : four columns\nvar currentHeight_screenSize;\nvar args_rnh = {};\n\nfunction responsiveScreenSizeTest() {\n if (jQuery(\"#screen-test-xs:visible\").length) {\n return 0;\n } else if (jQuery(\"#screen-test-sm:visible\").length) {\n return 1;\n } else if (jQuery(\"#screen-test-md:visible\").length) {\n return 2;\n } else if (jQuery(\"#screen-test-lg:visible\").length) {\n return 3;\n } else {\n return 4;\n }\n}\nfunction responsiveNormalizeHeight(selector, forcePadding, condition, childSelector, init = false) {\n var screenSize = responsiveScreenSizeTest();\n if (currentHeight_screenSize != screenSize || init) {\n currentHeight_screenSize = screenSize;\n console.log(\"processing responsiveNormalizeHeight: \" + selector + \" - \" + currentHeight_screenSize);\n _responsiveNormalizeHeight(selector, forcePadding, condition, childSelector);\n }\n}\n\nfunction delayedResponsiveNormalizeHeight(selector, forcePadding, condition, childSelector) {\n for (var i in args_rnh) {\n var a = args_rnh[i];\n _responsiveNormalizeHeight(a.selector, a.forcePadding, a.condition, a.childSelector);\n }\n args_rnh = {};\n}\n\nfunction _responsiveNormalizeHeight(selector, forcePadding, condition, childSelector) {\n condition = condition == undefined ? true : condition;\n childSelector = childSelector == undefined ? \"\" : childSelector;\n\n if (condition) {\n //small to large size array that maps to bootstrap columns\n var orderedSizeList = [\"col\", \"col-sm\", \"col-md\", \"col-lg\", \"col-xl\"];\n\n //looks for the current window size and saves the index relative to the orderedSizeList\n var size = currentHeight_screenSize;\n var masterSet = jQuery(selector).filter(\":visible\");\n\n //testing based upon the closest parent class that contains a col tag\n var controllingElem = jQuery(selector).closest(\"[class*=col]\");\n //normalize\n //a.splice(1,1);\n for (var i = 0; i < controllingElem.length; i++) {\n var thisElem = jQuery(controllingElem[i]);\n if (thisElem.length) {\n var parent = thisElem.parent();\n var classes = thisElem.attr(\"class\");\n\n //clean up classes before using it\n classes = classes.replace(\"page-hide\", \"\").replace(\"product\", \"\").replace(\"innovation\", \"\").trim();\n\n //clearing the elements that will be normalized with 'thisElem' - optimizes out any attempts at normalizing them\n for (var j = 0; j < controllingElem.length; j++) {\n if (jQuery(controllingElem[j]).parent()[0] == parent[0]) {\n controllingElem[j] = null;\n }\n }\n\n //at this point, we have the classes with a shared parent, so we know which ones to normalize\n //start checking at the current size for a normalizeable class col-xx-6, col-xx-4, col-xx-3\n var found = false;\n for (var j = size; j > -1; j--) {\n var sizeToCheck = orderedSizeList[j];\n if (thisElem.attr(\"class\").indexOf(sizeToCheck) != -1) {\n var children = parent.children(\"[class*='\" + classes + \"']\");\n var colToCheck = \".\" + sizeToCheck;\n var column1Elems = children.filter(colToCheck + \"-12\"); //1 column\n var column2Elems = children.filter(colToCheck + \"-6\"); //2 columns\n var column3Elems = children.filter(colToCheck + \"-4\"); //3 columns\n var column4Elems = children.filter(colToCheck + \"-3\"); //4 columns\n //var remainingElems = children.not(column1Elems).not(column2Elems).not(column3Elems).not(column4Elems);\n var numColumns = null;\n var filterSet = null;\n if (column1Elems.length) {\n //one column\n numColumns = 1;\n filterSet = column1Elems.filter(masterSet.parent());\n } else if (column2Elems.length) {\n //two columns\n numColumns = 2;\n filterSet = column2Elems.filter(masterSet.parent());\n } else if (column3Elems.length) {\n //three\n numColumns = 3;\n filterSet = column3Elems.filter(masterSet.parent());\n } else if (column4Elems.length) {\n //four columns\n numColumns = 4;\n filterSet = column4Elems.filter(masterSet.parent());\n }\n //else if (remainingElems.length) {\n // //four columns\n // numColumns = 1;\n // filterSet = remainingElems.find(selector).filter(\":visible\");\n //}\n\n //if we found a filtered set, normalize them\n if (numColumns && filterSet) {\n for (var k = 0; k < filterSet.length; k += numColumns) {\n var kTo = k + numColumns < filterSet.length ? k + numColumns : filterSet.length;\n var normalizeThese = filterSet.slice(k, kTo);\n _normalizeHeight(normalizeThese, forcePadding, true, childSelector);\n }\n found = true;\n }\n }\n //get out because we found the biggest available size\n if (found)\n break;\n }\n }\n }\n }\n}\n\nvar currentHeight_nh;\nvar currentWidth_nh;\nvar args_nh = {};\nfunction normalizeHeight(selector, forcePadding, condition, childSelector, init = false) {\n var screenSize = responsiveScreenSizeTest();\n if (currentHeight_screenSize != screenSize || init) {\n currentHeight_screenSize = screenSize;\n _normalizeHeight(selector, forcePadding, condition, childSelector);\n }\n}\n\nfunction delayedNormalizeHeight(selector, forcePadding, condition, childSelector) {\n for (var i in args_nh) {\n var a = args_nh[i];\n _normalizeHeight(a.selector, a.forcePadding, a.condition, a.childSelector);\n }\n args_nh = {};\n}\n\n// normalizes the height across all instances of the selector\nfunction _normalizeHeight(selector, forcedPadding, condition, childSelector) {\n condition = condition == undefined ? true : condition;\n childSelector = childSelector == undefined ? \"\" : childSelector;\n\n var mergedSelector = $(selector);\n if (childSelector.length) {\n var mergedSelector = mergedSelector.find(childSelector);\n }\n //leaning on a class that is only visible at mobile\n if (condition) {\n var maxHeight = 0;\n var cssHeight = \"\";\n jQuery(mergedSelector).css({ \"height\": '' });\n\n jQuery(mergedSelector).each(function () {\n var thisHeight = jQuery(this).height();\n if (thisHeight > maxHeight) {\n maxHeight = thisHeight;\n cssHeight = jQuery(this).css(\"height\");\n }\n })\n if (forcedPadding)\n cssHeight = (maxHeight + forcedPadding) + \"px\";\n jQuery(mergedSelector).css({ \"height\": cssHeight });\n }\n}\n","$(document).ready(function () {\n _filterInfo.Initialize();\n});\n\n_filterInfo = {\n ready: false,\n totalResults: null,\n currentFilters: {},\n\n Initialize: function () {\n this.SortResults(\"date-asc\");\n this.UpdateFilterListItems();\n this.UpdateFilterResultCount();\n this.SetupFilterBindings();\n this.AddPresetValues();\n this.ready = true;\n },\n\n AddPresetValues: function () {\n //collect the preset values from query strings\n var queryData = GetQueryInfo();\n\n for (var wrapper in queryData) {\n var qList = queryData[wrapper];\n //validate the preset values before adding the filter\n var $filterWrapper = $(\".filter-list-wrapper[name='\" + wrapper + \"' i]\");\n\n if ($filterWrapper.length) {\n var $filterOptions = $filterWrapper.find(\".filter-list li\");\n\n //\n\n if ($filterOptions.length) {\n for (var q in qList) {\n var qListValue = qList[q];\n\n var splitValues = qListValue.split(\",\");\n\n for (var sv in splitValues) {\n var splitListValue = splitValues[sv];\n\n //add each preset value\n $filterOptions.each(function () {\n var filterText = $(this).text().trim();\n if ($(this).text().trim().toLowerCase() == splitListValue.toLowerCase()) {\n var filterValue = $(this).val() + \"\";\n _filterInfo.AddFilter(wrapper, filterValue, filterText);\n }\n });\n }\n }\n }\n }\n }\n\n },\n\n SetupFilterBindings: function () {\n //list bindings - add or remove\n $(\".filter-list li\").on(\"click\", function () {\n var $this = $(this);\n var value = $this.attr(\"value\").trim();\n\n if (value == \"0\" || $this.hasClass(\"disabled\")) {\n return; //short circuit disabled items\n }\n\n var text = $this.find(\".filter-text\").text().trim();\n var listname = $this.closest(\".filter-list-wrapper\").attr(\"name\").trim();\n\n if ($this.hasClass('selected')) {\n _filterInfo.RemoveFilter(listname, value, text);\n } else {\n _filterInfo.AddFilter(listname, value, text);\n }\n });\n\n //pill bindings - remove only\n $(\".filter-pill-section\").on(\"click\", \".filter-pill\", function () {\n var $this = $(this);\n var value = $this.attr(\"value\").trim();\n var text = $this.text().trim();\n var listname = $this.attr(\"list\").trim();\n _filterInfo.RemoveFilter(listname, value, text);\n });\n\n\n $('body').click(function (evt) {\n if ($(evt.target).closest(\".filter-select li\").length > 0) {\n return false;\n }\n $(\".filter-select li\").removeClass(\"active\");\n\n // click anywhere other than filter-select will hide filters.\n var $filterList = $(\".filter-select li ul\");\n\n $filterList.css(\"visibility\", \"hidden\");\n $filterList.css(\"opacity\", \"0\");\n $filterList.css(\"display\", \"none\");\n\n });\n\n $(\".filter-select li\").on(\"click\", function () {\n var $filterlist = $(\".filter-select\").children().children(\"ul\");\n $filterlist.css(\"visibility\", \"hidden\");\n $filterlist.css(\"opacity\", \"0\");\n $filterlist.css(\"display\", \"none\");\n\n var $this = $(this);\n var $thisUl = $this.children(\"ul\");\n\n // Click dropdown again will close it\n if ($this.hasClass(\"active\")) {\n $(\".filter-select li\").removeClass(\"active\");\n return;\n }\n\n $(\".filter-select li\").removeClass(\"active\");\n\n $this.addClass(\"active\");\n\n $thisUl.css(\"visibility\", \"visible\");\n $thisUl.css(\"opacity\", \"1\");\n $thisUl.css(\"display\", \"block\");\n });\n\n $(\".remove-all\").on(\"click\", function () {\n _filterInfo.ResetFilters();\n });\n\n $(\".filter-word-wrap\").on(\"click\", function () {\n if (BreakpointDetection.is('xs') === true || BreakpointDetection.is('sm') === true) {\n $(\".filter-select\").toggleClass(\"show-filter-mobile\");\n $(\".filter-word-wrap\").toggleClass(\"active\");\n }\n });\n\n\n\n //pagination bindings \n $(\".resource-number-wrap\").on(\"click\", function () {\n var $this = $(this);\n if ($this.hasClass(\"active\") || $this.hasClass(\"disable\")) {\n return;\n }\n\n var targetPage = $this.attr(\"data-page-target\");\n _filterInfo.SetupPagination(parseInt(targetPage));\n });\n\n $(\".resource-previous-button\").on(\"click\", function () {\n var $this = $(this);\n if ($this.hasClass(\"disable\")) {\n return;\n }\n\n var targetPage = $(\".resource-number-wrap.active\").attr(\"data-page-target\");\n _filterInfo.SetupPagination(parseInt(targetPage) - 1);\n });\n\n $(\".resource-next-button\").on(\"click\", function () {\n var $this = $(this);\n if ($this.hasClass(\"disable\")) {\n return;\n }\n\n var targetPage = $(\".resource-number-wrap.active\").attr(\"data-page-target\");\n _filterInfo.SetupPagination(parseInt(targetPage) + 1);\n });\n\n $(\".resource-last-button, .resource-first-button\").on(\"click\", function () {\n var $this = $(this);\n if ($this.hasClass(\"disable\")) {\n return;\n }\n\n var targetPage = $this.attr(\"data-page-target\");\n _filterInfo.SetupPagination(parseInt(targetPage));\n });\n\n $(\".sort-by-word\").on('click', function () {\n\n if ($(this).hasClass(\"up\")) {\n //hide ascending sort\n $(\".sort-by-word\").removeClass(\"up\");\n\n //show descending sort\n $(\".sort-by-word\").addClass(\"down\");\n _filterInfo.SortResults(\"date-desc\");\n } else {\n //hide descending sort\n $(\".sort-by-word\").removeClass(\"down\");\n\n //show ascending sort\n $(\".sort-by-word\").addClass(\"up\");\n _filterInfo.SortResults(\"date-asc\");\n }\n });\n },\n\n ResetFilters: function () {\n $(\".filter-pill\").remove();\n $(\".filter-list li\").removeClass(\"selected\").removeClass(\"disabled\");\n $(\"[data-filters]\").removeClass(\"hide\");\n $(\".remove-all\").hide();\n\n this.currentFilters = {};\n this.UpdateFilterResultCount();\n },\n\n RemoveFilter: function (listname, value, filtername, $pill) {\n if (typeof $pill == 'undefined') {\n $pill = null;\n }\n\n if (!this.currentFilters[listname]) {\n return; // defensive coding, should never hit this case\n }\n\n var targetList = this.currentFilters[listname];\n\n for (var i = targetList.length; i--;) {\n if (targetList[i] == value) {\n targetList.splice(i, 1);\n break;\n }\n }\n\n if (!$pill) {\n $pill = $(\".filter-pill-section .filter-pill[value='\" + value + \"']\");\n }\n\n $pill.remove();\n var $filterListItem = $(\".filter-list li[value='\" + value + \"']\").removeClass(\"selected\");\n\n this.UpdateFilterResults();\n },\n\n AddFilter: function (listname, value, filtername) {\n if (!this.currentFilters[listname]) {\n this.currentFilters[listname] = [];\n }\n\n this.currentFilters[listname].push(value);\n\n var $newPill = `\n `+ filtername + `\n \n 686C6711-FB74-47F4-AFEE-14D0F9C09B39\n \n \n \n \n \n \n \n `;\n $(\".filter-pill-section .col-12\").append($newPill);\n var $filterListItem = $(\".filter-list li[value='\" + value + \"']\").addClass(\"selected\");\n\n this.UpdateFilterResults();\n },\n\n SortResults: function (sortType) {\n //collect all of the filters\n var $maxSet = $(\"[data-filters]\");\n var list = $maxSet.get(); //array elements to allow for sorting\n\n if (!this.ready) {\n if ($maxSet.filter(\"[data-date]\").length) {\n $(\".sort-by-word\").show();\n } else {\n return; //no need to sort\n }\n }\n\n switch (sortType) {\n case \"date-asc\":\n list.sort(DateSortAsc);\n break;\n case \"date-desc\":\n list.sort(DateSortDesc);\n break;\n case \"title-asc\":\n list.sort(TitleSortAsc);\n break;\n case \"title-desc\":\n list.sort(TitleSortDesc);\n break;\n default: break;\n }\n\n //replace elements in the correct order\n for (var i = 0; i < list.length; i++) {\n list[i].parentNode.appendChild(list[i]);\n }\n\n\n //sort change visible elements - pagination needs to be re-initialized\n this.SetupPagination();\n\n //data-date required on each element\n function DateSortAsc(bElem, aElem) {\n var a = new Date($(aElem).attr(\"data-date\"));\n var b = new Date($(bElem).attr(\"data-date\"));\n return a - b;\n }\n function DateSortDesc(aElem, bElem) {\n var a = new Date($(aElem).attr(\"data-date\"));\n var b = new Date($(bElem).attr(\"data-date\"));\n return a - b;\n }\n\n //sorts by inner text content\n function TitleSortAsc(bElem, aElem) {\n return bElem.innerHTML.toLowerCase().localeCompare(aElem.innerHTML.toLowerCase());\n }\n function TitleSortDesc(aElem, bElem) {\n return aElem.innerHTML.toLowerCase().localeCompare(bElem.innerHTML.toLowerCase());\n }\n },\n\n //handles all updates to the filter drop list items - count (update & loading), disable (update & loading), and removal (on loading only)\n UpdateFilterListItems: function () {\n if (this.totalResults == null) {\n this.totalResults = $(\"[data-filters]\").length;\n }\n $(\".filter-list li\").each(function () {\n var $this = $(this);\n if (!$this.hasClass(\"selected\")) {\n var value = $this.attr(\"value\").trim();\n var listname = $this.closest(\".filter-list-wrapper\").attr(\"name\").trim();\n\n if (value == \"0\") {\n return; //short circuit default case, don't do anything\n }\n\n //build fake filter info to calculate a fake result set\n var newFilterInfo = { list: listname, value: value };\n var predictedResultSet = _filterInfo._CalculateFilterResults(newFilterInfo);\n\n var count = predictedResultSet.length;\n\n if (count == 0) {\n if (!_filterInfo.ready) {\n $this.remove();\n } else {\n $this.addClass(\"disabled\");\n }\n } else {\n if (!_filterInfo.ready) {\n $this.closest(\".filter-list-wrapper\").show();\n $(\".filter-word-wrap\").show();\n }\n $this.removeClass(\"disabled\");\n }\n }\n });\n\n //sanitize the wrappers that no longer have inner elements - unused on this page, remove it\n $(\".filter-list-wrapper\").each(function () {\n var $this = $(this);\n if (!$this.find(\".filter-list li\").length) {\n $this.remove();\n }\n });\n },\n\n //handles all updates to the filter result listing items - show and hide the appropriate result items, update total count\n UpdateFilterResults: function () {\n var maxSet = $(\"[data-filters]\");\n var targetResultSet = this._CalculateFilterResults();\n var setSize = targetResultSet.length;\n\n if (maxSet.length != targetResultSet.length) {\n //subset condition - must hide all before showing correct results\n $(\"[data-filters]\").addClass(\"hide\");\n }\n targetResultSet.removeClass(\"hide\");\n\n if ($(\".filter-pill\").length) {\n $(\".remove-all\").show();\n } else {\n $(\".remove-all\").hide();\n }\n this.UpdateFilterResultCount(setSize);\n this.UpdateFilterListItems();\n },\n\n //updates the total results, if no results provided - uses max set\n UpdateFilterResultCount: function (totalResults) {\n if (typeof totalResults == 'undefined') {\n totalResults = null;\n }\n\n if (totalResults == null) {\n totalResults = $(\"[data-filters]\").length;\n }\n\n this.totalResults = totalResults;\n $(\".result-count\").text(totalResults);\n\n //filter changed - pagination needs to be re-initialized\n this.SetupPagination();\n },\n\n SetupPagination: function (currentPage) {\n if (typeof currentPage == 'undefined') {\n currentPage = 0;\n }\n\n // if pagination controls are removed, remove the associated pagination\n if (!$(\".resource-page-paging\").length) return;\n\n //gather button resources and initialize\n var $buttons = $(\".resource-number-wrap\").removeClass(\"active\").addClass(\"disable\").hide();\n var pageSize = 12; //consider changing this per viewport size\n var totalPages = Math.ceil(this.totalResults / pageSize) - 1;\n\n if (totalPages >= 0) {\n\n //don't start moving the number system until the current page is past 2\n var startPage = 0;\n if (currentPage > 2) {\n startPage = currentPage - 2;\n }\n\n var targetLastPage = startPage + 4;\n var lastPage = Math.min(targetLastPage, totalPages);\n\n //pages numbers are the same for the last 3 options\n if ((lastPage - startPage) <= 4) {\n startPage = lastPage - 4;\n }\n\n //handle prev and next button status\n if (currentPage >= totalPages) {\n $(\".resource-next-button\").addClass(\"disable\");\n $(\".resource-last-button\").addClass(\"disable\").removeClass(\"active\");\n } else {\n $(\".resource-next-button\").removeClass(\"disable\");\n $(\".resource-last-button\").removeClass(\"disable\").addClass(\"active\").attr(\"data-page-target\", totalPages);\n }\n if (currentPage == 0) {\n $(\".resource-previous-button\").addClass(\"disable\");\n $(\".resource-first-button\").addClass(\"disable\").removeClass(\"active\");\n } else {\n $(\".resource-previous-button\").removeClass(\"disable\");\n $(\".resource-first-button\").removeClass(\"disable\").addClass(\"active\").attr(\"data-page-target\", 0);\n }\n\n for (var i = 0; i < 5; i++) {\n var textNumber = i + startPage + 1;\n var pageIndex = i + startPage; //offset pages by current start page\n var $button = $buttons.eq(i); //get the current button we are working with\n\n if (textNumber <= 0) {\n continue;\n }\n\n //initalize the button state\n $button.attr(\"data-page-target\", pageIndex).removeClass(\"disable\").find(\".page-num\").text(textNumber);\n $button.show();\n if (pageIndex == currentPage) {\n $button.addClass(\"active\");\n }\n }\n\n //handle hiding and showing the results\n var $resultItems = $(\"[data-filters]\").not(\".hide\").addClass(\"page-hide\");\n var startItem = currentPage * pageSize;\n var endItem = Math.min(startItem + pageSize, this.totalResults);\n for (var i = startItem; i < endItem; i++) {\n $resultItems.eq(i).removeClass(\"page-hide\");\n }\n }\n },\n\n //calculates the result of the merge before actually making any changes to the DOM. allows for predicting the results of a future set change\n _CalculateFilterResults: function (newFilterInfo) {\n if (typeof newFilterInfo == 'undefined') {\n newFilterInfo = null;\n }\n\n if (newFilterInfo != null) {\n var hadPrevFilter = false;\n //cloned filters - calculating filter information only - not real updates\n var clonedFilters = JSON.parse(JSON.stringify(_filterInfo.currentFilters));\n if (!clonedFilters[newFilterInfo.list] || !clonedFilters[newFilterInfo.list].length) {\n clonedFilters[newFilterInfo.list] = [];\n } else {\n hadPrevFilter = true;\n }\n clonedFilters[newFilterInfo.list] = [newFilterInfo.value]; //replace the existing information during look-ahead testing to see a difference only\n targetFilters = clonedFilters;\n } else {\n //use current filters - an update has occurred - real updates\n targetFilters = this.currentFilters;\n }\n\n var resultGroups = [];\n\n //iterate filter groups to combine \"OR\" logic within each group\n for (var list in targetFilters) {\n var optionGroup = targetFilters[list];\n\n //make sure that the option group still has filters selected - defensive check\n if (optionGroup.length) {\n var results = [];\n\n //iterate each option in group and start to build refined group\n for (var j = optionGroup.length; j--;) {\n var option = optionGroup[j];\n\n //initial get to quickly gather fuzzy matches\n var resultSet = $(\"[data-filters*='\" + option + \"']\").get();\n\n //now that we have a reduced set, manually remove false-positives\n if (resultSet.length > 1) {\n for (var i = resultSet.length; i--;) {\n var $resElem = $(resultSet[i]);\n var rawDataFilter = $resElem.attr(\"data-filters\");\n var complexFind = rawDataFilter.split(\",\").indexOf(option);\n\n //we have a false positive, remove it\n if (complexFind == -1) {\n resultSet.splice(i, 1);\n }\n }\n }\n\n results = results.concat(resultSet); // OR merge\n $.uniqueSort(results);\n }\n\n resultGroups.push($(results));\n }\n }\n\n\n if (resultGroups.length) {\n var mergedResult = resultGroups[0];\n if (resultGroups.length > 1) {\n //we have multiple result groups - we need to merge\n //iterate filter result groups to combine \"AND\" logic across groups\n for (var k = 1; k < resultGroups.length; k++) {\n var result = resultGroups[k];\n\n mergedResult = mergedResult.filter(result); // AND merge\n }\n }\n\n //if we had a previous filter in this group, then we need to calculate the difference between the result set\n if (hadPrevFilter) {\n var currentResults = $(\"[data-filters]\").not(\".hide\");\n var currentResultsCount = currentResults.length;\n //mergedResult = mergedResult.filter(currentResults);\n }\n\n return mergedResult;\n } else {\n //no filters - show all\n return $(\"[data-filters]\");\n }\n\n }\n};","$('document').ready(function () {\n // Ask an Expert Form\n // update hidden Request type field with topic\n $('form#66b4c0a2-2e14-4557-86f9-9431dd965256 #802654c6-6d81-4f07-9ba3-412c2cec7966 input, form#66b4c0a2-2e14-4557-86f9-9431dd965256 #e638b4e6-70ff-49b0-8780-9bdb072e1da0 input').on('click', function () {\n $('.formcontainerblock form#66b4c0a2-2e14-4557-86f9-9431dd965256 input#a1378c4b-5690-4f75-93e0-4e84c0022cf7').val($(this).attr('value'))\n });\n\n // form submission handling\n if (typeof $$epiforms !== 'undefined') {\n $$epiforms(document).ready(function myfunction() {\n console.log('listen to event');\n $$epiforms(\".EPiServerForms\").on(\"formsSubmitted\", function (event, param1, param2) {\n // scroll to top of form to view thank you message\n if ($('#webinar-link-details').length) {\n // handle specific scrolling for webinars\n $('#webinar-link-details').show();\n $('.formcontainerblock').hide();\n $('.webinar-info-register').hide();\n\n $('html, body').animate({\n scrollTop: $('#webinar-link-details').offset().top - 150\n }, 500);\n } else {\n $('html, body').animate({\n scrollTop: $('.form-section').offset().top\n }, 500);\n }\n });\n });\n }\n\n // state / country Salesforce handling\n if (typeof __CountryStateMapping != 'undefined' && __CountryStateMapping != null) {\n var countryValues = Object.keys(__CountryStateMapping);\n var testCountry = countryValues[countryValues.length - 1];\n var $countryField = $(\"option[value='\" + __CountryStateMapping[testCountry].Value + \"']\").parent();\n var stateKeys = Object.keys(__CountryStateMapping[testCountry].States);\n var $stateField = $('option').filter(function () { return $(this).html() == stateKeys[stateKeys.length - 1]; }).parent();\n\n\n var $firstOption = $stateField.find(\"option\").eq(0).show();\n $stateField.empty();\n $stateField.append($firstOption);\n\n $countryField.on(\"change\", function () {\n var countryValue = $(this).find(\"option:selected\").text();\n $stateField.empty();\n $stateField.append($firstOption);\n $stateField.val($firstOption.val());\n\n var countryMapped = __CountryStateMapping[countryValue];\n\n if (countryMapped) {\n var states = countryMapped.States;\n for (var i in states) {\n $stateField.append(\"\");\n }\n\n $stateField.closest(\".FormSelection\").removeClass('hide-imp');\n } else {\n $stateField.closest(\".FormSelection\").addClass('hide-imp');\n }\n });\n }\n});","$('document').ready(function () {\n // open/close nav by hamburger\n $('#mobile .nav-container .hamburger').on('click', function () {\n if (!$('header.header').hasClass('mobile-nav-on')) {\n openMobileNav($(this));\n } else {\n closeMobileNav($(this));\n }\n });\n\n // close nav at bottom of nav\n $('#mobile .nav-container #close-mobile-nav').on('click', function () {\n closeMobileNav($('#mobile .nav-container .hamburger'));\n });\n $(\".service-now-layout .service-now-nav #language-selector > span\").on('click', function () {\n $(this).parent().toggleClass(\"active\");\n })\n\n // open subnav\n //$('#mobile .nav-container ul.main-nav li a.nav-dropdown, #mobile .nav-container ul.main-nav li img, #mobile .nav-container ul.eyebrow-nav li a#language-selector, #mobile .nav-container ul.eyebrow-nav li img').on('click', function (e) {\n $('#mobile .nav-container ul.main-nav li, #mobile .nav-container ul.eyebrow-nav li').on('click', function (e) {\n //e.preventDefault();\n var $eTarget = $(e.target);\n var $targetLi = null;\n if ($eTarget.prop(\"nodeName\") == \"LI\" && $eTarget.find(\".subnav\").length) {\n $targetLi = $eTarget;\n } else if ($eTarget.prop(\"nodeName\") != \"LI\" && $eTarget.siblings(\".subnav\").length) {\n $targetLi = $(this);\n }\n if ($targetLi != null && $targetLi.length) {\n\n // get image element\n //var $el = $(this).prop('nodeName') === 'A' ? $(this).siblings('img') : $(this);\n var $el = $targetLi.find('img');\n\n if (!$el.siblings('ul.subnav').is(':visible')) {\n openSubNav($el);\n } else {\n closeSubNav($el);\n }\n }\n });\n\n // desktop navigation on scroll\n $(window).on('scroll', function () {\n handleNavScroll();\n });\n\n // desktop navigation on resize\n $(window).resize(function () {\n if (BreakpointDetection.is(\"xl\")) {\n $('header.header').removeClass('mobile-fixed');\n } else {\n $('header.header').removeClass('desktop-fixed');\n }\n\n handleNavScroll();\n });\n\n // mega-nav events\n $(\".nav-list-item\").on(\"mouseover\", function () {\n var $this = $(this);\n var control = $this.attr(\"data-group-control\");\n $this.parent().find(\".nav-list-item\").removeClass(\"active\");\n $this.addClass(\"active\");\n\n var $subnav = $this.closest(\".mega-subnav\")\n $subnav.find(\".nav-links-container\").removeClass(\"active\");\n $subnav.find(\".nav-links-container[data-group-id=\" + control + \"]\").addClass(\"active\");\n $subnav.find(\".promo-child-container\").removeClass(\"active\");\n $subnav.find(\".promo-child-container[data-group-id=\" + control + \"]\").addClass(\"active\");\n });\n\n // footer back to top\n $('footer .footer-logo #back-to-top').on('click', function (e) {\n e.preventDefault();\n\n $('html, body').animate({\n scrollTop: 0\n }, 1000);\n });\n});\n\nfunction openMobileNav(el) {\n el.attr('src', '/Assets/icons/content/icon-menu-close.svg');\n $('header.header').addClass('mobile-nav-on');\n $('#mobile .nav-container').addClass('mobile-nav-on');\n $('body').addClass('mobile-nav-on');\n $('#mobile .nav-container .menu-container').css('height', $(window).height() - $('header.header').height());\n $('#mobile .nav-container .menu-container').show();\n\n // reset nav in case the user left anything open\n resetNav();\n}\n\nfunction closeMobileNav(el) {\n el.attr('src', '/Assets/icons/content/icon-menu.svg');\n $('header.header').removeClass('mobile-nav-on');\n $('#mobile .nav-container').removeClass('mobile-nav-on');\n $('#mobile .nav-container .menu-container').hide();\n $('body').removeClass('mobile-nav-on');\n}\n\nfunction openSubNav(el) {\n el.attr('src', '/Assets/icons/content/icon-chevron-up.svg');\n el.siblings('ul.subnav').show();\n}\n\nfunction closeSubNav(el) {\n el.attr('src', '/Assets/icons/content/icon-chevron-down.svg');\n el.siblings('ul.subnav').hide();\n}\n\nfunction resetNav() {\n $('#mobile .nav-container .menu-container ul.subnav').hide();\n $('#mobile .nav-container .menu-container ul.main-nav li img').attr('src', '/Assets/icons/content/icon-chevron-down.svg');\n $('#mobile .nav-container .menu-container ul.eyebrow-nav li a#language-selector').siblings('img').attr('src', '/Assets/icons/content/icon-chevron-down.svg');\n}\n\nvar lastScrollTop = 0;\nfunction handleNavScroll() {\n //var scrollTop = $(this).scrollTop();\n var scrollTop = $('html').scrollTop() || $('body').scrollTop();\n var eyebrowSize = 0;\n if ($(\"#desktop .eyebrow-nav\").length) {\n eyebrowSize = BreakpointDetection.is(\"xl\") ? $(\"#desktop .eyebrow-nav\")[0].getBoundingClientRect().height : 0;\n }\n var offsetToCheck = $(\".announcement-bar\").length ? $(\".announcement-bar\")[0].getBoundingClientRect().height : 35;\n\n if (scrollTop > lastScrollTop) {//direction control\n // downscroll\n if (scrollTop > (offsetToCheck + eyebrowSize)) {\n if (BreakpointDetection.is(\"xl\")) {\n $('header.header').addClass('desktop-fixed');\n } else {\n $('header.header').addClass('mobile-fixed');\n }\n\n $('header.header').removeClass('scroll-up');\n }\n } else {\n // upscroll\n if (scrollTop > (offsetToCheck)) {\n $('header.header').addClass('scroll-up');\n $('header.header').removeClass('has-announcement-bar');\n } else if ($('header.header').hasClass('announcement-bar-is-vis')) {\n $('header.header').addClass('has-announcement-bar');\n\n if (BreakpointDetection.is(\"xl\")) {\n $('header.header').removeClass('desktop-fixed');\n } else {\n $('header.header').removeClass('mobile-fixed');\n }\n }\n }\n lastScrollTop = scrollTop;\n}\n\n\n// Wrap IIFE around your code\n//(function ($, viewport) {\n// $(document).ready(function () {\n\n// // Execute code each time window size changes\n// $(window).resize(\n// viewport.changed(function () {\n// console.log(viewport.is());\n// })\n// );\n\n// });\n//})(jQuery, BreakpointDetection);","$('document').ready(function () {\n\n var $videoModal = $('#video-modal.modal');\n var currVimeoId = \"\";\n $(document.body).on('click', 'a.is-vimeo', function (e) {\n e.preventDefault();\n var videoId = $(this).attr('data-vimeo-id');\n loadVimeo(videoId);\n });\n\n $videoModal.on('hidden.bs.modal', function (e) {\n $('#video-modal.modal').find(\"#modal-player\").find(\"iframe[src*=vimeo]\").remove();\n });\n\n function loadVimeo(videoId) {\n $videoModal.modal();\n playVimeo(videoId);\n\n }\n\n function playVimeo(id) {\n currVimeoId = id;\n var vimeoPlayer = $('');\n $('#video-modal.modal').find(\"#modal-player\").html(vimeoPlayer);\n \n }\n});","var tag = document.createElement('script');\n\ntag.src = \"https://www.youtube.com/iframe_api\";\nvar firstScriptTag = document.getElementsByTagName('script')[0];\nfirstScriptTag.parentNode.insertBefore(tag, firstScriptTag);\n\n// video modal\nvar $videoModal = $('#video-modal.modal');\n\n// YT player object\nvar player;\nvar currVideoId;\nvar ytVars;\nvar ytLang;\nvar ytLoadPolicy = 1;\n\nytLang = $(\"body\").attr(\"class\").substring(0, 2);\nif (ytLang == \"en\") {\n ytLoadPolicy = 0;\n}\nytVars = {\n modestbranding: 1,\n cc_load_policy: ytLoadPolicy,\n cc_lang_pref: ytLang,\n hl: ytLang,\n};\n\nfunction onYouTubeIframeAPIReady() {\n}\n\nfunction onPlayerReady(event) {\n\n}\n\nfunction onPlayerStateChange(event) {\n var title = event.target.getVideoData().title;\n var category = 'Video';\n var label = 'Video: ' + title + ' - URL: ' + currHref;\n\n\n\n if (event.data == YT.PlayerState.PAUSED) {\n ga('send', 'event', category + ' - Paused', title, label);\n }\n if (event.data == YT.PlayerState.PLAYING) {\n ga('send', 'event', category + ' - Play', title, label);\n }\n if (event.data == YT.PlayerState.ENDED) {\n ga('send', 'event', category + ' - Watch to End', title, label);\n }\n //if (event.data == YT.PlayerState.BUFFERING) {\n // ga('send', 'event', category + ' - Buffering', title, label);\n //}\n if (event.data == YT.PlayerState.CUED) {\n ga('send', 'event', category + ' - Cued', title, label);\n }\n}\n\nfunction playVideo(id) {\n currVideoId = id;\n if (player) {\n player.loadVideoById(id, 0);\n } else {\n // create player to be used for all videos\n player = new YT.Player('modal-player', {\n playerVars: ytVars,\n videoId: id,\n events: {\n onReady: function () {\n player.loadVideoById(currVideoId);\n },\n onStateChange: onPlayerStateChange\n }\n });\n }\n}\n\nfunction loadVideo(videoId) {\n $videoModal.modal();\n playVideo(videoId);\n}\n\nfunction pauseVideo() {\n player.pauseVideo();\n}\n\n$('document').ready(function () {\n // get video ID\n $(document.body).on('click', 'a.is-video', function (e) {\n e.preventDefault();\n var videoId = $(this).attr('data-video-id');\n loadVideo(videoId);\n });\n\n // capture modal close and pause video\n $videoModal.on('hidden.bs.modal', function (e) {\n pauseVideo();\n });\n\n // load inline video on load\n var $worldMapModal = $('.world-map-modal.modal');\n $worldMapModal.on('shown.bs.modal', function (e) {\n var target = $worldMapModal.find(\"[data-youtubeid]\");\n if (target.length) {\n player = new YT.Player(\"world-map-player\", {\n playerVars: ytVars,\n videoId: target.attr(\"data-youtubeid\"),\n events: {\n onReady: function () {\n },\n onStateChange: onPlayerStateChange\n }\n });\n }\n });\n //pauseVideo();\n $worldMapModal.on('hidden.bs.modal', function (e) {\n $(\"#world-map-player\").replaceWith('
');\n });\n});","/* Notify.js - http://notifyjs.com/ Copyright (c) 2015 MIT */\n(function (factory) {\n\t// UMD start\n\t// https://github.com/umdjs/umd/blob/master/jqueryPluginCommonjs.js\n\tif (typeof define === 'function' && define.amd) {\n\t\t// AMD. Register as an anonymous module.\n\t\tdefine(['jquery'], factory);\n\t} else if (typeof module === 'object' && module.exports) {\n\t\t// Node/CommonJS\n\t\tmodule.exports = function( root, jQuery ) {\n\t\t\tif ( jQuery === undefined ) {\n\t\t\t\t// require('jQuery') returns a factory that requires window to\n\t\t\t\t// build a jQuery instance, we normalize how we use modules\n\t\t\t\t// that require this pattern but the window provided is a noop\n\t\t\t\t// if it's defined (how jquery works)\n\t\t\t\tif ( typeof window !== 'undefined' ) {\n\t\t\t\t\tjQuery = require('jquery');\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\tjQuery = require('jquery')(root);\n\t\t\t\t}\n\t\t\t}\n\t\t\tfactory(jQuery);\n\t\t\treturn jQuery;\n\t\t};\n\t} else {\n\t\t// Browser globals\n\t\tfactory(jQuery);\n\t}\n}(function ($) {\n\t//IE8 indexOf polyfill\n\tvar indexOf = [].indexOf || function(item) {\n\t\tfor (var i = 0, l = this.length; i < l; i++) {\n\t\t\tif (i in this && this[i] === item) {\n\t\t\t\treturn i;\n\t\t\t}\n\t\t}\n\t\treturn -1;\n\t};\n\n\tvar pluginName = \"notify\";\n\tvar pluginClassName = pluginName + \"js\";\n\tvar blankFieldName = pluginName + \"!blank\";\n\n\tvar positions = {\n\t\tt: \"top\",\n\t\tm: \"middle\",\n\t\tb: \"bottom\",\n\t\tl: \"left\",\n\t\tc: \"center\",\n\t\tr: \"right\"\n\t};\n\tvar hAligns = [\"l\", \"c\", \"r\"];\n\tvar vAligns = [\"t\", \"m\", \"b\"];\n\tvar mainPositions = [\"t\", \"b\", \"l\", \"r\"];\n\tvar opposites = {\n\t\tt: \"b\",\n\t\tm: null,\n\t\tb: \"t\",\n\t\tl: \"r\",\n\t\tc: null,\n\t\tr: \"l\"\n\t};\n\n\tvar parsePosition = function(str) {\n\t\tvar pos;\n\t\tpos = [];\n\t\t$.each(str.split(/\\W+/), function(i, word) {\n\t\t\tvar w;\n\t\t\tw = word.toLowerCase().charAt(0);\n\t\t\tif (positions[w]) {\n\t\t\t\treturn pos.push(w);\n\t\t\t}\n\t\t});\n\t\treturn pos;\n\t};\n\n\tvar styles = {};\n\n\tvar coreStyle = {\n\t\tname: \"core\",\n\t\thtml: \"
\\n\t
\\n\t
\\n
\",\n\t\tcss: \".\" + pluginClassName + \"-corner {\\n\tposition: fixed;\\n\tmargin: 116px 9px;\\n\tz-index: 1050;\\n}\\n\\n.\" + pluginClassName + \"-corner .\" + pluginClassName + \"-wrapper,\\n.\" + pluginClassName + \"-corner .\" + pluginClassName + \"-container {\\n\tposition: relative;\\n\tdisplay: block;\\n\theight: inherit;\\n\twidth: inherit;\\n\tmargin: 3px;\\n}\\n\\n.\" + pluginClassName + \"-wrapper {\\n\tz-index: 1;\\n\tposition: absolute;\\n\tdisplay: inline-block;\\n\theight: 0;\\n\twidth: 0;\\n}\\n\\n.\" + pluginClassName + \"-container {\\n\tdisplay: none;\\n\tz-index: 1;\\n\tposition: absolute;\\n}\\n\\n.\" + pluginClassName + \"-hidable {\\n\tcursor: pointer;\\n}\\n\\n[data-notify-text],[data-notify-html] {\\n\tposition: relative;\\n}\\n\\n.\" + pluginClassName + \"-arrow {\\n\tposition: absolute;\\n\tz-index: 2;\\n\twidth: 0;\\n\theight: 0;\\n}\"\n\t};\n\n\tvar stylePrefixes = {\n\t\t\"border-radius\": [\"-webkit-\", \"-moz-\"]\n\t};\n\n\tvar getStyle = function(name) {\n\t\treturn styles[name];\n\t};\n\n\tvar removeStyle = function(name) {\n\t\tif (!name) {\n\t\t\tthrow \"Missing Style name\";\n\t\t}\n\t\tif (styles[name]) {\n\t\t\tdelete styles[name];\n\t\t}\n\t};\n\n\tvar addStyle = function(name, def) {\n\t\tif (!name) {\n\t\t\tthrow \"Missing Style name\";\n\t\t}\n\t\tif (!def) {\n\t\t\tthrow \"Missing Style definition\";\n\t\t}\n\t\tif (!def.html) {\n\t\t\tthrow \"Missing Style HTML\";\n\t\t}\n\t\t//remove existing style\n\t\tvar existing = styles[name];\n\t\tif (existing && existing.cssElem) {\n\t\t\tif (window.console) {\n\t\t\t\tconsole.warn(pluginName + \": overwriting style '\" + name + \"'\");\n\t\t\t}\n\t\t\tstyles[name].cssElem.remove();\n\t\t}\n\t\tdef.name = name;\n\t\tstyles[name] = def;\n\t\tvar cssText = \"\";\n\t\tif (def.classes) {\n\t\t\t$.each(def.classes, function(className, props) {\n\t\t\t\tcssText += \".\" + pluginClassName + \"-\" + def.name + \"-\" + className + \" {\\n\";\n\t\t\t\t$.each(props, function(name, val) {\n\t\t\t\t\tif (stylePrefixes[name]) {\n\t\t\t\t\t\t$.each(stylePrefixes[name], function(i, prefix) {\n\t\t\t\t\t\t\treturn cssText += \"\t\" + prefix + name + \": \" + val + \";\\n\";\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t\treturn cssText += \"\t\" + name + \": \" + val + \";\\n\";\n\t\t\t\t});\n\t\t\t\treturn cssText += \"}\\n\";\n\t\t\t});\n\t\t}\n\t\tif (def.css) {\n\t\t\tcssText += \"/* styles for \" + def.name + \" */\\n\" + def.css;\n\t\t}\n\t\tif (cssText) {\n\t\t\tdef.cssElem = insertCSS(cssText);\n\t\t\tdef.cssElem.attr(\"id\", \"notify-\" + def.name);\n\t\t}\n\t\tvar fields = {};\n\t\tvar elem = $(def.html);\n\t\tfindFields(\"html\", elem, fields);\n\t\tfindFields(\"text\", elem, fields);\n\t\tdef.fields = fields;\n\t};\n\n\tvar insertCSS = function(cssText) {\n\t\tvar e, elem, error;\n\t\telem = createElem(\"style\");\n\t\telem.attr(\"type\", 'text/css');\n\t\t$(\"head\").append(elem);\n\t\ttry {\n\t\t\telem.html(cssText);\n\t\t} catch (_) {\n\t\t\telem[0].styleSheet.cssText = cssText;\n\t\t}\n\t\treturn elem;\n\t};\n\n\tvar findFields = function(type, elem, fields) {\n\t\tvar attr;\n\t\tif (type !== \"html\") {\n\t\t\ttype = \"text\";\n\t\t}\n\t\tattr = \"data-notify-\" + type;\n\t\treturn find(elem, \"[\" + attr + \"]\").each(function() {\n\t\t\tvar name;\n\t\t\tname = $(this).attr(attr);\n\t\t\tif (!name) {\n\t\t\t\tname = blankFieldName;\n\t\t\t}\n\t\t\tfields[name] = type;\n\t\t});\n\t};\n\n\tvar find = function(elem, selector) {\n\t\tif (elem.is(selector)) {\n\t\t\treturn elem;\n\t\t} else {\n\t\t\treturn elem.find(selector);\n\t\t}\n\t};\n\n\tvar pluginOptions = {\n\t\tclickToHide: true,\n\t\tautoHide: true,\n\t\tautoHideDelay: 5000,\n\t\tarrowShow: true,\n\t\tarrowSize: 5,\n\t\tbreakNewLines: true,\n\t\telementPosition: \"bottom\",\n\t\tglobalPosition: \"top right\",\n\t\tstyle: \"bootstrap\",\n\t\tclassName: \"error\",\n\t\tshowAnimation: \"slideDown\",\n\t\tshowDuration: 400,\n\t\thideAnimation: \"slideUp\",\n\t\thideDuration: 200,\n gap: 5,\n encodeMess: true\n\t};\n\n\tvar inherit = function(a, b) {\n\t\tvar F;\n\t\tF = function() {};\n\t\tF.prototype = a;\n\t\treturn $.extend(true, new F(), b);\n\t};\n\n\tvar defaults = function(opts) {\n\t\treturn $.extend(pluginOptions, opts);\n\t};\n\n\tvar createElem = function(tag) {\n\t\treturn $(\"<\" + tag + \">\");\n\t};\n\n\tvar globalAnchors = {};\n\n\tvar getAnchorElement = function(element) {\n\t\tvar radios;\n\t\tif (element.is('[type=radio]')) {\n\t\t\tradios = element.parents('form:first').find('[type=radio]').filter(function(i, e) {\n\t\t\t\treturn $(e).attr(\"name\") === element.attr(\"name\");\n\t\t\t});\n\t\t\telement = radios.first();\n\t\t}\n\t\treturn element;\n\t};\n\n\tvar incr = function(obj, pos, val) {\n\t\tvar opp, temp;\n\t\tif (typeof val === \"string\") {\n\t\t\tval = parseInt(val, 10);\n\t\t} else if (typeof val !== \"number\") {\n\t\t\treturn;\n\t\t}\n\t\tif (isNaN(val)) {\n\t\t\treturn;\n\t\t}\n\t\topp = positions[opposites[pos.charAt(0)]];\n\t\ttemp = pos;\n\t\tif (obj[opp] !== undefined) {\n\t\t\tpos = positions[opp.charAt(0)];\n\t\t\tval = -val;\n\t\t}\n\t\tif (obj[pos] === undefined) {\n\t\t\tobj[pos] = val;\n\t\t} else {\n\t\t\tobj[pos] += val;\n\t\t}\n\t\treturn null;\n\t};\n\n\tvar realign = function(alignment, inner, outer) {\n\t\tif (alignment === \"l\" || alignment === \"t\") {\n\t\t\treturn 0;\n\t\t} else if (alignment === \"c\" || alignment === \"m\") {\n\t\t\treturn outer / 2 - inner / 2;\n\t\t} else if (alignment === \"r\" || alignment === \"b\") {\n\t\t\treturn outer - inner;\n\t\t}\n\t\tthrow \"Invalid alignment\";\n\t};\n\n\tvar encode = function(text) {\n\t\tencode.e = encode.e || createElem(\"div\");\n\t\treturn encode.e.text(text).html();\n\t};\n\n\tfunction Notification(elem, data, options) {\n\t\tif (typeof options === \"string\") {\n\t\t\toptions = {\n\t\t\t\tclassName: options\n\t\t\t};\n\t\t}\n\t\tthis.options = inherit(pluginOptions, $.isPlainObject(options) ? options : {});\n\t\tthis.loadHTML();\n\t\tthis.wrapper = $(coreStyle.html);\n\t\tif (this.options.clickToHide) {\n\t\t\tthis.wrapper.addClass(pluginClassName + \"-hidable\");\n\t\t}\n\t\tthis.wrapper.data(pluginClassName, this);\n\t\tthis.arrow = this.wrapper.find(\".\" + pluginClassName + \"-arrow\");\n\t\tthis.container = this.wrapper.find(\".\" + pluginClassName + \"-container\");\n\t\tthis.container.append(this.userContainer);\n\t\tif (elem && elem.length) {\n\t\t\tthis.elementType = elem.attr(\"type\");\n\t\t\tthis.originalElement = elem;\n\t\t\tthis.elem = getAnchorElement(elem);\n\t\t\tthis.elem.data(pluginClassName, this);\n\t\t\tthis.elem.before(this.wrapper);\n\t\t}\n\t\tthis.container.hide();\n\t\tthis.run(data);\n\t}\n\n\tNotification.prototype.loadHTML = function() {\n\t\tvar style;\n\t\tstyle = this.getStyle();\n\t\tthis.userContainer = $(style.html);\n\t\tthis.userFields = style.fields;\n\t};\n\n\tNotification.prototype.show = function(show, userCallback) {\n\t\tvar args, callback, elems, fn, hidden;\n\t\tcallback = (function(_this) {\n\t\t\treturn function() {\n\t\t\t\tif (!show && !_this.elem) {\n\t\t\t\t\t_this.destroy();\n\t\t\t\t}\n\t\t\t\tif (userCallback) {\n\t\t\t\t\treturn userCallback();\n\t\t\t\t}\n\t\t\t};\n\t\t})(this);\n\t\thidden = this.container.parent().parents(':hidden').length > 0;\n\t\telems = this.container.add(this.arrow);\n\t\targs = [];\n\t\tif (hidden && show) {\n\t\t\tfn = \"show\";\n\t\t} else if (hidden && !show) {\n\t\t\tfn = \"hide\";\n\t\t} else if (!hidden && show) {\n\t\t\tfn = this.options.showAnimation;\n\t\t\targs.push(this.options.showDuration);\n\t\t} else if (!hidden && !show) {\n\t\t\tfn = this.options.hideAnimation;\n\t\t\targs.push(this.options.hideDuration);\n\t\t} else {\n\t\t\treturn callback();\n\t\t}\n\t\targs.push(callback);\n\t\treturn elems[fn].apply(elems, args);\n\t};\n\n\tNotification.prototype.setGlobalPosition = function() {\n\t\tvar p = this.getPosition();\n\t\tvar pMain = p[0];\n\t\tvar pAlign = p[1];\n\t\tvar main = positions[pMain];\n\t\tvar align = positions[pAlign];\n\t\tvar key = pMain + \"|\" + pAlign;\n\t\tvar anchor = globalAnchors[key];\n\t\tif (!anchor || !document.body.contains(anchor[0])) {\n\t\t\tanchor = globalAnchors[key] = createElem(\"div\");\n\t\t\tvar css = {};\n\t\t\tcss[main] = 0;\n\t\t\tif (align === \"middle\") {\n\t\t\t\tcss.top = '45%';\n\t\t\t} else if (align === \"center\") {\n\t\t\t\tcss.left = '45%';\n\t\t\t} else {\n\t\t\t\tcss[align] = 0;\n\t\t\t}\n\t\t\tanchor.css(css).addClass(pluginClassName + \"-corner\");\n\t\t\t$(\"body\").append(anchor);\n\t\t}\n\t\treturn anchor.prepend(this.wrapper);\n\t};\n\n\tNotification.prototype.setElementPosition = function() {\n\t\tvar arrowColor, arrowCss, arrowSize, color, contH, contW, css, elemH, elemIH, elemIW, elemPos, elemW, gap, j, k, len, len1, mainFull, margin, opp, oppFull, pAlign, pArrow, pMain, pos, posFull, position, ref, wrapPos;\n\t\tposition = this.getPosition();\n\t\tpMain = position[0];\n\t\tpAlign = position[1];\n\t\tpArrow = position[2];\n\t\telemPos = this.elem.position();\n\t\telemH = this.elem.outerHeight();\n\t\telemW = this.elem.outerWidth();\n\t\telemIH = this.elem.innerHeight();\n\t\telemIW = this.elem.innerWidth();\n\t\twrapPos = this.wrapper.position();\n\t\tcontH = this.container.height();\n\t\tcontW = this.container.width();\n\t\tmainFull = positions[pMain];\n\t\topp = opposites[pMain];\n\t\toppFull = positions[opp];\n\t\tcss = {};\n\t\tcss[oppFull] = pMain === \"b\" ? elemH : pMain === \"r\" ? elemW : 0;\n\t\tincr(css, \"top\", elemPos.top - wrapPos.top);\n\t\tincr(css, \"left\", elemPos.left - wrapPos.left);\n\t\tref = [\"top\", \"left\"];\n\t\tfor (j = 0, len = ref.length; j < len; j++) {\n\t\t\tpos = ref[j];\n\t\t\tmargin = parseInt(this.elem.css(\"margin-\" + pos), 10);\n\t\t\tif (margin) {\n\t\t\t\tincr(css, pos, margin);\n\t\t\t}\n\t\t}\n\t\tgap = Math.max(0, this.options.gap - (this.options.arrowShow ? arrowSize : 0));\n\t\tincr(css, oppFull, gap);\n\t\tif (!this.options.arrowShow) {\n\t\t\tthis.arrow.hide();\n\t\t} else {\n\t\t\tarrowSize = this.options.arrowSize;\n\t\t\tarrowCss = $.extend({}, css);\n\t\t\tarrowColor = this.userContainer.css(\"border-color\") || this.userContainer.css(\"border-top-color\") || this.userContainer.css(\"background-color\") || \"white\";\n\t\t\tfor (k = 0, len1 = mainPositions.length; k < len1; k++) {\n\t\t\t\tpos = mainPositions[k];\n\t\t\t\tposFull = positions[pos];\n\t\t\t\tif (pos === opp) {\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\t\t\t\tcolor = posFull === mainFull ? arrowColor : \"transparent\";\n\t\t\t\tarrowCss[\"border-\" + posFull] = arrowSize + \"px solid \" + color;\n\t\t\t}\n\t\t\tincr(css, positions[opp], arrowSize);\n\t\t\tif (indexOf.call(mainPositions, pAlign) >= 0) {\n\t\t\t\tincr(arrowCss, positions[pAlign], arrowSize * 2);\n\t\t\t}\n\t\t}\n\t\tif (indexOf.call(vAligns, pMain) >= 0) {\n\t\t\tincr(css, \"left\", realign(pAlign, contW, elemW));\n\t\t\tif (arrowCss) {\n\t\t\t\tincr(arrowCss, \"left\", realign(pAlign, arrowSize, elemIW));\n\t\t\t}\n\t\t} else if (indexOf.call(hAligns, pMain) >= 0) {\n\t\t\tincr(css, \"top\", realign(pAlign, contH, elemH));\n\t\t\tif (arrowCss) {\n\t\t\t\tincr(arrowCss, \"top\", realign(pAlign, arrowSize, elemIH));\n\t\t\t}\n\t\t}\n\t\tif (this.container.is(\":visible\")) {\n\t\t\tcss.display = \"block\";\n\t\t}\n\t\tthis.container.removeAttr(\"style\").css(css);\n\t\tif (arrowCss) {\n\t\t\treturn this.arrow.removeAttr(\"style\").css(arrowCss);\n\t\t}\n\t};\n\n\tNotification.prototype.getPosition = function() {\n\t\tvar pos, ref, ref1, ref2, ref3, ref4, ref5, text;\n\t\ttext = this.options.position || (this.elem ? this.options.elementPosition : this.options.globalPosition);\n\t\tpos = parsePosition(text);\n\t\tif (pos.length === 0) {\n\t\t\tpos[0] = \"b\";\n\t\t}\n\t\tif (ref = pos[0], indexOf.call(mainPositions, ref) < 0) {\n\t\t\tthrow \"Must be one of [\" + mainPositions + \"]\";\n\t\t}\n\t\tif (pos.length === 1 || ((ref1 = pos[0], indexOf.call(vAligns, ref1) >= 0) && (ref2 = pos[1], indexOf.call(hAligns, ref2) < 0)) || ((ref3 = pos[0], indexOf.call(hAligns, ref3) >= 0) && (ref4 = pos[1], indexOf.call(vAligns, ref4) < 0))) {\n\t\t\tpos[1] = (ref5 = pos[0], indexOf.call(hAligns, ref5) >= 0) ? \"m\" : \"l\";\n\t\t}\n\t\tif (pos.length === 2) {\n\t\t\tpos[2] = pos[1];\n\t\t}\n\t\treturn pos;\n\t};\n\n\tNotification.prototype.getStyle = function(name) {\n\t\tvar style;\n\t\tif (!name) {\n\t\t\tname = this.options.style;\n\t\t}\n\t\tif (!name) {\n\t\t\tname = \"default\";\n\t\t}\n\t\tstyle = styles[name];\n\t\tif (!style) {\n\t\t\tthrow \"Missing style: \" + name;\n\t\t}\n\t\treturn style;\n\t};\n\n\tNotification.prototype.updateClasses = function() {\n\t\tvar classes, style;\n\t\tclasses = [\"base\"];\n\t\tif ($.isArray(this.options.className)) {\n\t\t\tclasses = classes.concat(this.options.className);\n\t\t} else if (this.options.className) {\n\t\t\tclasses.push(this.options.className);\n\t\t}\n\t\tstyle = this.getStyle();\n\t\tclasses = $.map(classes, function(n) {\n\t\t\treturn pluginClassName + \"-\" + style.name + \"-\" + n;\n\t\t}).join(\" \");\n\t\treturn this.userContainer.attr(\"class\", classes);\n\t};\n\n\tNotification.prototype.run = function(data, options) {\n\t\tvar d, datas, name, type, value;\n\t\tif ($.isPlainObject(options)) {\n\t\t\t$.extend(this.options, options);\n\t\t} else if ($.type(options) === \"string\") {\n\t\t\tthis.options.className = options;\n\t\t}\n\t\tif (this.container && !data) {\n\t\t\tthis.show(false);\n\t\t\treturn;\n\t\t} else if (!this.container && !data) {\n\t\t\treturn;\n\t\t}\n\t\tdatas = {};\n\t\tif ($.isPlainObject(data)) {\n\t\t\tdatas = data;\n\t\t} else {\n\t\t\tdatas[blankFieldName] = data;\n\t\t}\n\t\tfor (name in datas) {\n\t\t\td = datas[name];\n\t\t\ttype = this.userFields[name];\n\t\t\tif (!type) {\n\t\t\t\tcontinue;\n\t\t\t}\n if (type === \"text\" && this.options.encodeMess) {\n\t\t\t\td = encode(d);\n\t\t\t\tif (this.options.breakNewLines) {\n\t\t\t\t\td = d.replace(/\\n/g, '
');\n\t\t\t\t}\n\t\t\t}\n\t\t\tvalue = name === blankFieldName ? '' : '=' + name;\n\t\t\tfind(this.userContainer, \"[data-notify-\" + type + value + \"]\").html(d);\n\t\t}\n\t\tthis.updateClasses();\n\t\tif (this.elem) {\n\t\t\tthis.setElementPosition();\n\t\t} else {\n\t\t\tthis.setGlobalPosition();\n\t\t}\n\t\tthis.show(true);\n\t\tif (this.options.autoHide) {\n\t\t\tclearTimeout(this.autohideTimer);\n\t\t\tthis.autohideTimer = setTimeout(this.show.bind(this, false), this.options.autoHideDelay);\n\t\t}\n\t};\n\n\tNotification.prototype.destroy = function() {\n\t\tthis.wrapper.data(pluginClassName, null);\n\t\tthis.wrapper.remove();\n\t};\n\n\t$[pluginName] = function(elem, data, options) {\n\t\tif ((elem && elem.nodeName) || elem.jquery) {\n\t\t\t$(elem)[pluginName](data, options);\n\t\t} else {\n\t\t\toptions = data;\n\t\t\tdata = elem;\n\t\t\tnew Notification(null, data, options);\n\t\t}\n\t\treturn elem;\n\t};\n\n\t$.fn[pluginName] = function(data, options) {\n\t\t$(this).each(function() {\n\t\t\tvar prev = getAnchorElement($(this)).data(pluginClassName);\n\t\t\tif (prev) {\n\t\t\t\tprev.destroy();\n\t\t\t}\n\t\t\tvar curr = new Notification($(this), data, options);\n\t\t});\n\t\treturn this;\n\t};\n\n\t$.extend($[pluginName], {\n\t\tdefaults: defaults,\n\t\taddStyle: addStyle,\n\t\tremoveStyle: removeStyle,\n\t\tpluginOptions: pluginOptions,\n\t\tgetStyle: getStyle,\n\t\tinsertCSS: insertCSS\n\t});\n\n\t//always include the default bootstrap style\n\taddStyle(\"bootstrap\", {\n\t\thtml: \"
\\n\\n
\",\n\t\tclasses: {\n\t\t\tbase: {\n\t\t\t\t\"font-weight\": \"bold\",\n\t\t\t\t\"padding\": \"8px 15px 8px 14px\",\n\t\t\t\t\"text-shadow\": \"0 1px 0 rgba(255, 255, 255, 0.5)\",\n\t\t\t\t\"background-color\": \"#fcf8e3\",\n \"border\": \"1px solid #fbeed5\",\n \"display\": \"flex\",\n \"align-items\": \"center\",\n \"min-height\": \"100px\",\n\t\t\t\t//\"border-radius\": \"4px\",\n\t\t\t\t\"white-space\": \"nowrap\",\n\t\t\t\t\"padding-left\": \"15px\",\n\t\t\t\t\"background-repeat\": \"no-repeat\",\n\t\t\t\t\"background-position\": \"3px 7px\"\n\t\t\t},\n\t\t\terror: {\n\t\t\t\t\"color\": \"#B94A48\",\n\t\t\t\t\"background-color\": \"#F2DEDE\",\n\t\t\t\t\"border-color\": \"#EED3D7\",\n\t\t\t},\n\t\t\tsuccess: {\n\t\t\t\t\"color\": \"#468847\",\n\t\t\t\t\"background-color\": \"#DFF0D8\",\n\t\t\t\t\"border-color\": \"#D6E9C6\",\n\t\t\t},\n\t\t\tinfo: {\n\t\t\t\t\"color\": \"#3A87AD\",\n\t\t\t\t\"background-color\": \"#D9EDF7\",\n\t\t\t\t\"border-color\": \"#BCE8F1\",\n\t\t\t},\n\t\t\twarn: {\n\t\t\t\t\"color\": \"#C09853\",\n\t\t\t\t\"background-color\": \"#FCF8E3\",\n\t\t\t\t\"border-color\": \"#FBEED5\",\n\t\t\t}\n\t\t}\n\t});\n\n\t$(function() {\n\t\tinsertCSS(coreStyle.css).attr(\"id\", \"core-notify\");\n\t\t$(document).on(\"click\", \".\" + pluginClassName + \"-hidable\", function(e) {\n\t\t\t$(this).trigger(\"notify-hide\");\n\t\t});\n\t\t$(document).on(\"notify-hide\", \".\" + pluginClassName + \"-wrapper\", function(e) {\n\t\t\tvar elem = $(this).data(pluginClassName);\n\t\t\tif(elem) {\n\t\t\t\telem.show(false);\n\t\t\t}\n\t\t});\n\t});\n\n}));\n"]}