{"version":3,"sources":["webpack:///./src/components/request-quote.component.js","webpack:///./node_modules/progressbar.js/src/circle.js","webpack:///./node_modules/progressbar.js/src/path.js","webpack:///./node_modules/progressbar.js/src/line.js","webpack:///./node_modules/progressbar.js/src/semicircle.js","webpack:///./node_modules/progressbar.js/src/shape.js","webpack:///./node_modules/progressbar.js/src/main.js","webpack:///./node_modules/progressbar.js/node_modules/shifty/dist/shifty.js","webpack:///./node_modules/resize-observer-polyfill/dist/ResizeObserver.es.js","webpack:///./src/components/header.component.js","webpack:///./src/components/common/aside-navigation.component.js","webpack:///./node_modules/react-sticky-box/dist/es/index.js","webpack:///./src/components/content-page.component.js","webpack:///./node_modules/progressbar.js/src/utils.js","webpack:///./node_modules/progressbar.js/src/square.js"],"names":["query","RequestQuote","render","lang","this","props","withPreview","data","form","prismic","allForms","edges","find","item","node","_meta","uid","className","id","type","data-dismiss","aria-hidden","form_name","html","form_script","React","Component","Shape","utils","Circle","container","options","_pathTemplate","containerAspectRatio","apply","arguments","prototype","constructor","_pathString","opts","widthOfWider","strokeWidth","trailWidth","r","radius","_trailString","module","exports","shifty","Tweenable","EASING_ALIASES","easeIn","easeOut","easeInOut","Path","path","Error","element","extend","delay","duration","easing","from","to","step","isString","document","querySelector","_opts","_tweenable","length","getTotalLength","style","strokeDasharray","set","value","offset","_getComputedDashOffset","parseFloat","toFixed","progress","stop","strokeDashoffset","_progressToOffset","isFunction","_easing","_calculateTo","shape","attachment","_stopTween","animate","cb","passedOpts","defaultOpts","shiftyEasing","values","_resolveFromAndTo","getBoundingClientRect","newOffset","self","tween","state","reference","then","computedStyle","window","getComputedStyle","getPropertyValue","_calculateFrom","interpolate","hasOwnProperty","Line","_initializeSvg","svg","setAttribute","center","SemiCircle","_initializeTextContainer","textContainer","text","top","bottom","alignToBottom","setStyle","DESTROYED_ERROR","color","trailColor","fill","position","left","padding","margin","transform","prefix","autoStyleContainer","svgStyle","display","width","warnings","isObject","undefined","svgView","_createSvgView","_container","appendChild","_warnContainerAspectRatio","setStyles","trail","newOpts","_progressPath","setText","pause","resume","destroy","parentNode","removeChild","newText","_createTextContainer","removeChildren","innerHTML","createElementNS","trailPath","_createTrail","_createPath","pathString","_createPathElement","createElement","textStyle","height","floatEquals","console","warn","Square","t","n","e","i","l","call","m","c","d","o","Object","defineProperty","enumerable","get","Symbol","toStringTag","__esModule","create","bind","default","p","s","g","w","S","P","M","TypeError","u","configurable","writable","key","iterator","a","keys","getOwnPropertySymbols","filter","getOwnPropertyDescriptor","push","forEach","getOwnPropertyDescriptors","defineProperties","f","h","requestAnimationFrame","webkitRequestAnimationFrame","oRequestAnimationFrame","msRequestAnimationFrame","mozCancelRequestAnimationFrame","mozRequestAnimationFrame","setTimeout","v","_","y","b","_timestamp","_currentState","_delay","_duration","_targetState","_filters","_render","_data","_applyFilter","_originalState","now","_next","O","Date","j","_previous","k","Promise","_config","_resolve","_reject","_start","_promiseCtor","setConfig","_isPlaying","_pausedAtTime","_resume","promise","start","finish","_scheduleId","filters","doesApply","_promise","catch","Math","max","tweenable","setScheduleFunction","formulas","A","T","x","E","F","I","C","D","q","Q","pow","cos","PI","sin","sqrt","Function","N","z","L","source","RegExp","concat","map","parseInt","replace","split","substr","join","match","floor","_tokenData","formatString","charAt","unshift","chunkNames","_e","_e2","Array","B","WeakMap","add","indexOf","splice","tweenables","remove","some","isPlaying","isArray","toString","slice","name","test","R","displayName","x1","y1","x2","y2","token","MapShim","Map","getIndex","arr","result","entry","index","class_1","__entries__","delete","entries","has","clear","callback","ctx","_i","_a","isBrowser","global$1","global","requestAnimationFrame$1","transitionKeys","mutationObserverSupported","MutationObserver","ResizeObserverController","connected_","mutationEventsAdded_","mutationsObserver_","observers_","onTransitionEnd_","refresh","leadingCall","trailingCall","lastCallTime","resolvePending","proxy","timeoutCallback","timeStamp","throttle","addObserver","observer","connect_","removeObserver","observers","disconnect_","updateObservers_","activeObservers","gatherActive","hasActive","broadcastActive","addEventListener","observe","attributes","childList","characterData","subtree","removeEventListener","disconnect","_b","propertyName","getInstance","instance_","defineConfigurable","target","getWindowOf","ownerDocument","defaultView","emptyRect","createRectInit","toFloat","getBordersSize","styles","positions","reduce","size","getHTMLElementContentRect","clientWidth","clientHeight","paddings","positions_1","getPaddings","horizPad","right","vertPad","boxSizing","round","documentElement","isDocumentElement","vertScrollbar","horizScrollbar","abs","isSVGGraphicsElement","SVGGraphicsElement","SVGElement","getBBox","getContentRect","bbox","getSVGContentRect","ResizeObservation","broadcastWidth","broadcastHeight","contentRect_","isActive","rect","broadcastRect","ResizeObserverEntry","rectInit","Constr","contentRect","DOMRectReadOnly","ResizeObserverSPI","controller","callbackCtx","activeObservations_","observations_","callback_","controller_","callbackCtx_","Element","observations","unobserve","clearActive","_this","observation","ResizeObserver","method","Header","componentDidMount","$progressBar","$bar","$elem","isPause","tick","percentTime","circle","slider","$","sliderNav","sliderCount","setInterval","interval","css","trigger","ProgressBar","owlCarousel","singleItem","pagination","paginationNumbers","slideSpeed","paginationSpeed","afterInit","elem","append","prependTo","afterMove","clearTimeout","startDragging","afterAction","currentItem","removeClass","eq","addClass","on","preventDefault","headerSlides","slide","hasImage","background_image","image","backgroundColor","content","linkResolver","icon","maxWidth","label","AsideNavigation","navigation","body","menu","itemType","data-toggle","data-target","aria-expanded","aria-controls","primary","nav_text","fields","menuItem","link","getLinkClass","link_style","link_text","stickyProp","CSS","supports","passiveArg","passive","_React$Component","StickyBox","addListener","event","handler","unsubscribes","addResizeObserver","ro","registerContainerRef","scrollPane","parent","parentElement","overflowYVal","getScrollParent","latestScrollY","scrollY","scrollTop","handleScroll","handleWindowResize","handleScrollPaneResize","handleParentNodeResize","handleNodeResize","initial","fn","getCurrentOffset","mode","_this$props","offsetTop","offsetBottom","scrollPaneOffset","naturalTop","viewPortHeight","nodeHeight","innerHeight","offsetHeight","firstChild","offsetParent","computedParentStyle","parentPaddingTop","parentPaddingBottom","current","offsetTill","oldParentHeight","parentHeight","changeMode","changeToStickyBottomIfBoxTooLow","Number","POSITIVE_INFINITY","_temp","prevHeight","_this$props2","diff","lowestPossible","nextOffset","min","_this$props3","scrollDelta","_proto","newMode","_this$props4","onChangeMode","nextBottom","_this$props5","children","ref","defaultProps","ContentPage","pageContext","header_slides","aside_navigation","title","page_title","description","keywords","preview_image","slides","large","PREFIXES","elStyle","capitalize","toUpperCase","obj","forEachObject","object","destination","recursive","attrName","destVal","sourceVal","template","vars","rendered","val","regExp","styleValue","styleName","String","el","_trailTemplate","halfOfStrokeWidth","startMargin"],"mappings":"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","file":"c623856f48e11242e2b741c71d6172a356545ae4-97e0d39c1e8ce6741a34.js","sourcesContent":["import React from \"react\"\nimport { graphql, StaticQuery } from \"gatsby\"\nimport { withPreview } from \"@prismicio/gatsby-source-prismic-graphql\"\nimport { Html } from \"./common/html.component\"\nimport { RichText } from \"./common/rich-text.component\"\n\nconst query = graphql`\n query formQuery {\n prismic {\n allForms {\n edges {\n node {\n _meta {\n lang\n uid\n type\n }\n form_name\n form_script\n form_url\n }\n }\n }\n }\n }\n`\n\nexport class RequestQuote extends React.Component {\n render() {\n const { lang } = this.props\n return (\n {\n const form = data.prismic.allForms.edges.find(\n item => item.node._meta.lang === lang\n && item.node._meta.uid === 'request-a-quote'\n )\n if (form) {\n return (\n
\n
\n
\n
\n \n \n \n
\n \n
\n
\n
\n
\n
\n \n
\n
\n
\n
\n
\n
\n )\n }\n return null\n }, query)}\n />\n )\n }\n}\n","// Circle shaped progress bar\nvar Shape = require('./shape');\n\nvar utils = require('./utils');\n\nvar Circle = function Circle(container, options) {\n // Use two arcs to form a circle\n // See this answer http://stackoverflow.com/a/10477334/1446092\n this._pathTemplate = 'M 50,50 m 0,-{radius}' + ' a {radius},{radius} 0 1 1 0,{2radius}' + ' a {radius},{radius} 0 1 1 0,-{2radius}';\n this.containerAspectRatio = 1;\n Shape.apply(this, arguments);\n};\n\nCircle.prototype = new Shape();\nCircle.prototype.constructor = Circle;\n\nCircle.prototype._pathString = function _pathString(opts) {\n var widthOfWider = opts.strokeWidth;\n\n if (opts.trailWidth && opts.trailWidth > opts.strokeWidth) {\n widthOfWider = opts.trailWidth;\n }\n\n var r = 50 - widthOfWider / 2;\n return utils.render(this._pathTemplate, {\n radius: r,\n '2radius': r * 2\n });\n};\n\nCircle.prototype._trailString = function _trailString(opts) {\n return this._pathString(opts);\n};\n\nmodule.exports = Circle;","// Lower level API to animate any kind of svg path\nvar shifty = require('shifty');\n\nvar utils = require('./utils');\n\nvar Tweenable = shifty.Tweenable;\nvar EASING_ALIASES = {\n easeIn: 'easeInCubic',\n easeOut: 'easeOutCubic',\n easeInOut: 'easeInOutCubic'\n};\n\nvar Path = function Path(path, opts) {\n // Throw a better error if not initialized with `new` keyword\n if (!(this instanceof Path)) {\n throw new Error('Constructor was called without new keyword');\n } // Default parameters for animation\n\n\n opts = utils.extend({\n delay: 0,\n duration: 800,\n easing: 'linear',\n from: {},\n to: {},\n step: function step() {}\n }, opts);\n var element;\n\n if (utils.isString(path)) {\n element = document.querySelector(path);\n } else {\n element = path;\n } // Reveal .path as public attribute\n\n\n this.path = element;\n this._opts = opts;\n this._tweenable = null; // Set up the starting positions\n\n var length = this.path.getTotalLength();\n this.path.style.strokeDasharray = length + ' ' + length;\n this.set(0);\n};\n\nPath.prototype.value = function value() {\n var offset = this._getComputedDashOffset();\n\n var length = this.path.getTotalLength();\n var progress = 1 - offset / length; // Round number to prevent returning very small number like 1e-30, which\n // is practically 0\n\n return parseFloat(progress.toFixed(6), 10);\n};\n\nPath.prototype.set = function set(progress) {\n this.stop();\n this.path.style.strokeDashoffset = this._progressToOffset(progress);\n var step = this._opts.step;\n\n if (utils.isFunction(step)) {\n var easing = this._easing(this._opts.easing);\n\n var values = this._calculateTo(progress, easing);\n\n var reference = this._opts.shape || this;\n step(values, reference, this._opts.attachment);\n }\n};\n\nPath.prototype.stop = function stop() {\n this._stopTween();\n\n this.path.style.strokeDashoffset = this._getComputedDashOffset();\n}; // Method introduced here:\n// http://jakearchibald.com/2013/animated-line-drawing-svg/\n\n\nPath.prototype.animate = function animate(progress, opts, cb) {\n opts = opts || {};\n\n if (utils.isFunction(opts)) {\n cb = opts;\n opts = {};\n }\n\n var passedOpts = utils.extend({}, opts); // Copy default opts to new object so defaults are not modified\n\n var defaultOpts = utils.extend({}, this._opts);\n opts = utils.extend(defaultOpts, opts);\n\n var shiftyEasing = this._easing(opts.easing);\n\n var values = this._resolveFromAndTo(progress, shiftyEasing, passedOpts);\n\n this.stop(); // Trigger a layout so styles are calculated & the browser\n // picks up the starting position before animating\n\n this.path.getBoundingClientRect();\n\n var offset = this._getComputedDashOffset();\n\n var newOffset = this._progressToOffset(progress);\n\n var self = this;\n this._tweenable = new Tweenable();\n\n this._tweenable.tween({\n from: utils.extend({\n offset: offset\n }, values.from),\n to: utils.extend({\n offset: newOffset\n }, values.to),\n duration: opts.duration,\n delay: opts.delay,\n easing: shiftyEasing,\n step: function step(state) {\n self.path.style.strokeDashoffset = state.offset;\n var reference = opts.shape || self;\n opts.step(state, reference, opts.attachment);\n }\n }).then(function (state) {\n if (utils.isFunction(cb)) {\n cb();\n }\n });\n};\n\nPath.prototype._getComputedDashOffset = function _getComputedDashOffset() {\n var computedStyle = window.getComputedStyle(this.path, null);\n return parseFloat(computedStyle.getPropertyValue('stroke-dashoffset'), 10);\n};\n\nPath.prototype._progressToOffset = function _progressToOffset(progress) {\n var length = this.path.getTotalLength();\n return length - progress * length;\n}; // Resolves from and to values for animation.\n\n\nPath.prototype._resolveFromAndTo = function _resolveFromAndTo(progress, easing, opts) {\n if (opts.from && opts.to) {\n return {\n from: opts.from,\n to: opts.to\n };\n }\n\n return {\n from: this._calculateFrom(easing),\n to: this._calculateTo(progress, easing)\n };\n}; // Calculate `from` values from options passed at initialization\n\n\nPath.prototype._calculateFrom = function _calculateFrom(easing) {\n return shifty.interpolate(this._opts.from, this._opts.to, this.value(), easing);\n}; // Calculate `to` values from options passed at initialization\n\n\nPath.prototype._calculateTo = function _calculateTo(progress, easing) {\n return shifty.interpolate(this._opts.from, this._opts.to, progress, easing);\n};\n\nPath.prototype._stopTween = function _stopTween() {\n if (this._tweenable !== null) {\n this._tweenable.stop();\n\n this._tweenable = null;\n }\n};\n\nPath.prototype._easing = function _easing(easing) {\n if (EASING_ALIASES.hasOwnProperty(easing)) {\n return EASING_ALIASES[easing];\n }\n\n return easing;\n};\n\nmodule.exports = Path;","// Line shaped progress bar\nvar Shape = require('./shape');\n\nvar utils = require('./utils');\n\nvar Line = function Line(container, options) {\n this._pathTemplate = 'M 0,{center} L 100,{center}';\n Shape.apply(this, arguments);\n};\n\nLine.prototype = new Shape();\nLine.prototype.constructor = Line;\n\nLine.prototype._initializeSvg = function _initializeSvg(svg, opts) {\n svg.setAttribute('viewBox', '0 0 100 ' + opts.strokeWidth);\n svg.setAttribute('preserveAspectRatio', 'none');\n};\n\nLine.prototype._pathString = function _pathString(opts) {\n return utils.render(this._pathTemplate, {\n center: opts.strokeWidth / 2\n });\n};\n\nLine.prototype._trailString = function _trailString(opts) {\n return this._pathString(opts);\n};\n\nmodule.exports = Line;","// Semi-SemiCircle shaped progress bar\nvar Shape = require('./shape');\n\nvar Circle = require('./circle');\n\nvar utils = require('./utils');\n\nvar SemiCircle = function SemiCircle(container, options) {\n // Use one arc to form a SemiCircle\n // See this answer http://stackoverflow.com/a/10477334/1446092\n this._pathTemplate = 'M 50,50 m -{radius},0' + ' a {radius},{radius} 0 1 1 {2radius},0';\n this.containerAspectRatio = 2;\n Shape.apply(this, arguments);\n};\n\nSemiCircle.prototype = new Shape();\nSemiCircle.prototype.constructor = SemiCircle;\n\nSemiCircle.prototype._initializeSvg = function _initializeSvg(svg, opts) {\n svg.setAttribute('viewBox', '0 0 100 50');\n};\n\nSemiCircle.prototype._initializeTextContainer = function _initializeTextContainer(opts, container, textContainer) {\n if (opts.text.style) {\n // Reset top style\n textContainer.style.top = 'auto';\n textContainer.style.bottom = '0';\n\n if (opts.text.alignToBottom) {\n utils.setStyle(textContainer, 'transform', 'translate(-50%, 0)');\n } else {\n utils.setStyle(textContainer, 'transform', 'translate(-50%, 50%)');\n }\n }\n}; // Share functionality with Circle, just have different path\n\n\nSemiCircle.prototype._pathString = Circle.prototype._pathString;\nSemiCircle.prototype._trailString = Circle.prototype._trailString;\nmodule.exports = SemiCircle;","// Base object for different progress bar shapes\nvar Path = require('./path');\n\nvar utils = require('./utils');\n\nvar DESTROYED_ERROR = 'Object is destroyed';\n\nvar Shape = function Shape(container, opts) {\n // Throw a better error if progress bars are not initialized with `new`\n // keyword\n if (!(this instanceof Shape)) {\n throw new Error('Constructor was called without new keyword');\n } // Prevent calling constructor without parameters so inheritance\n // works correctly. To understand, this is how Shape is inherited:\n //\n // Line.prototype = new Shape();\n //\n // We just want to set the prototype for Line.\n\n\n if (arguments.length === 0) {\n return;\n } // Default parameters for progress bar creation\n\n\n this._opts = utils.extend({\n color: '#555',\n strokeWidth: 1.0,\n trailColor: null,\n trailWidth: null,\n fill: null,\n text: {\n style: {\n color: null,\n position: 'absolute',\n left: '50%',\n top: '50%',\n padding: 0,\n margin: 0,\n transform: {\n prefix: true,\n value: 'translate(-50%, -50%)'\n }\n },\n autoStyleContainer: true,\n alignToBottom: true,\n value: null,\n className: 'progressbar-text'\n },\n svgStyle: {\n display: 'block',\n width: '100%'\n },\n warnings: false\n }, opts, true); // Use recursive extend\n // If user specifies e.g. svgStyle or text style, the whole object\n // should replace the defaults to make working with styles easier\n\n if (utils.isObject(opts) && opts.svgStyle !== undefined) {\n this._opts.svgStyle = opts.svgStyle;\n }\n\n if (utils.isObject(opts) && utils.isObject(opts.text) && opts.text.style !== undefined) {\n this._opts.text.style = opts.text.style;\n }\n\n var svgView = this._createSvgView(this._opts);\n\n var element;\n\n if (utils.isString(container)) {\n element = document.querySelector(container);\n } else {\n element = container;\n }\n\n if (!element) {\n throw new Error('Container does not exist: ' + container);\n }\n\n this._container = element;\n\n this._container.appendChild(svgView.svg);\n\n if (this._opts.warnings) {\n this._warnContainerAspectRatio(this._container);\n }\n\n if (this._opts.svgStyle) {\n utils.setStyles(svgView.svg, this._opts.svgStyle);\n } // Expose public attributes before Path initialization\n\n\n this.svg = svgView.svg;\n this.path = svgView.path;\n this.trail = svgView.trail;\n this.text = null;\n var newOpts = utils.extend({\n attachment: undefined,\n shape: this\n }, this._opts);\n this._progressPath = new Path(svgView.path, newOpts);\n\n if (utils.isObject(this._opts.text) && this._opts.text.value !== null) {\n this.setText(this._opts.text.value);\n }\n};\n\nShape.prototype.animate = function animate(progress, opts, cb) {\n if (this._progressPath === null) {\n throw new Error(DESTROYED_ERROR);\n }\n\n this._progressPath.animate(progress, opts, cb);\n};\n\nShape.prototype.stop = function stop() {\n if (this._progressPath === null) {\n throw new Error(DESTROYED_ERROR);\n } // Don't crash if stop is called inside step function\n\n\n if (this._progressPath === undefined) {\n return;\n }\n\n this._progressPath.stop();\n};\n\nShape.prototype.pause = function pause() {\n if (this._progressPath === null) {\n throw new Error(DESTROYED_ERROR);\n }\n\n if (this._progressPath === undefined) {\n return;\n }\n\n if (!this._progressPath._tweenable) {\n // It seems that we can't pause this\n return;\n }\n\n this._progressPath._tweenable.pause();\n};\n\nShape.prototype.resume = function resume() {\n if (this._progressPath === null) {\n throw new Error(DESTROYED_ERROR);\n }\n\n if (this._progressPath === undefined) {\n return;\n }\n\n if (!this._progressPath._tweenable) {\n // It seems that we can't resume this\n return;\n }\n\n this._progressPath._tweenable.resume();\n};\n\nShape.prototype.destroy = function destroy() {\n if (this._progressPath === null) {\n throw new Error(DESTROYED_ERROR);\n }\n\n this.stop();\n this.svg.parentNode.removeChild(this.svg);\n this.svg = null;\n this.path = null;\n this.trail = null;\n this._progressPath = null;\n\n if (this.text !== null) {\n this.text.parentNode.removeChild(this.text);\n this.text = null;\n }\n};\n\nShape.prototype.set = function set(progress) {\n if (this._progressPath === null) {\n throw new Error(DESTROYED_ERROR);\n }\n\n this._progressPath.set(progress);\n};\n\nShape.prototype.value = function value() {\n if (this._progressPath === null) {\n throw new Error(DESTROYED_ERROR);\n }\n\n if (this._progressPath === undefined) {\n return 0;\n }\n\n return this._progressPath.value();\n};\n\nShape.prototype.setText = function setText(newText) {\n if (this._progressPath === null) {\n throw new Error(DESTROYED_ERROR);\n }\n\n if (this.text === null) {\n // Create new text node\n this.text = this._createTextContainer(this._opts, this._container);\n\n this._container.appendChild(this.text);\n } // Remove previous text and add new\n\n\n if (utils.isObject(newText)) {\n utils.removeChildren(this.text);\n this.text.appendChild(newText);\n } else {\n this.text.innerHTML = newText;\n }\n};\n\nShape.prototype._createSvgView = function _createSvgView(opts) {\n var svg = document.createElementNS('http://www.w3.org/2000/svg', 'svg');\n\n this._initializeSvg(svg, opts);\n\n var trailPath = null; // Each option listed in the if condition are 'triggers' for creating\n // the trail path\n\n if (opts.trailColor || opts.trailWidth) {\n trailPath = this._createTrail(opts);\n svg.appendChild(trailPath);\n }\n\n var path = this._createPath(opts);\n\n svg.appendChild(path);\n return {\n svg: svg,\n path: path,\n trail: trailPath\n };\n};\n\nShape.prototype._initializeSvg = function _initializeSvg(svg, opts) {\n svg.setAttribute('viewBox', '0 0 100 100');\n};\n\nShape.prototype._createPath = function _createPath(opts) {\n var pathString = this._pathString(opts);\n\n return this._createPathElement(pathString, opts);\n};\n\nShape.prototype._createTrail = function _createTrail(opts) {\n // Create path string with original passed options\n var pathString = this._trailString(opts); // Prevent modifying original\n\n\n var newOpts = utils.extend({}, opts); // Defaults for parameters which modify trail path\n\n if (!newOpts.trailColor) {\n newOpts.trailColor = '#eee';\n }\n\n if (!newOpts.trailWidth) {\n newOpts.trailWidth = newOpts.strokeWidth;\n }\n\n newOpts.color = newOpts.trailColor;\n newOpts.strokeWidth = newOpts.trailWidth; // When trail path is set, fill must be set for it instead of the\n // actual path to prevent trail stroke from clipping\n\n newOpts.fill = null;\n return this._createPathElement(pathString, newOpts);\n};\n\nShape.prototype._createPathElement = function _createPathElement(pathString, opts) {\n var path = document.createElementNS('http://www.w3.org/2000/svg', 'path');\n path.setAttribute('d', pathString);\n path.setAttribute('stroke', opts.color);\n path.setAttribute('stroke-width', opts.strokeWidth);\n\n if (opts.fill) {\n path.setAttribute('fill', opts.fill);\n } else {\n path.setAttribute('fill-opacity', '0');\n }\n\n return path;\n};\n\nShape.prototype._createTextContainer = function _createTextContainer(opts, container) {\n var textContainer = document.createElement('div');\n textContainer.className = opts.text.className;\n var textStyle = opts.text.style;\n\n if (textStyle) {\n if (opts.text.autoStyleContainer) {\n container.style.position = 'relative';\n }\n\n utils.setStyles(textContainer, textStyle); // Default text color to progress bar's color\n\n if (!textStyle.color) {\n textContainer.style.color = opts.color;\n }\n }\n\n this._initializeTextContainer(opts, container, textContainer);\n\n return textContainer;\n}; // Give custom shapes possibility to modify text element\n\n\nShape.prototype._initializeTextContainer = function (opts, container, element) {// By default, no-op\n // Custom shapes should respect API options, such as text.style\n};\n\nShape.prototype._pathString = function _pathString(opts) {\n throw new Error('Override this function for each progress bar');\n};\n\nShape.prototype._trailString = function _trailString(opts) {\n throw new Error('Override this function for each progress bar');\n};\n\nShape.prototype._warnContainerAspectRatio = function _warnContainerAspectRatio(container) {\n if (!this.containerAspectRatio) {\n return;\n }\n\n var computedStyle = window.getComputedStyle(container, null);\n var width = parseFloat(computedStyle.getPropertyValue('width'), 10);\n var height = parseFloat(computedStyle.getPropertyValue('height'), 10);\n\n if (!utils.floatEquals(this.containerAspectRatio, width / height)) {\n console.warn('Incorrect aspect ratio of container', '#' + container.id, 'detected:', computedStyle.getPropertyValue('width') + '(width)', '/', computedStyle.getPropertyValue('height') + '(height)', '=', width / height);\n console.warn('Aspect ratio of should be', this.containerAspectRatio);\n }\n};\n\nmodule.exports = Shape;","module.exports = {\n // Higher level API, different shaped progress bars\n Line: require('./line'),\n Circle: require('./circle'),\n SemiCircle: require('./semicircle'),\n Square: require('./square'),\n // Lower level API to use any SVG path\n Path: require('./path'),\n // Base-class for creating new custom shapes\n // to be in line with the API of built-in shapes\n // Undocumented.\n Shape: require('./shape'),\n // Internal utils, undocumented.\n utils: require('./utils')\n};","/*! Shifty 2.14.2 - https://github.com/jeremyckahn/shifty */\n!function (t, n) {\n \"object\" == typeof exports && \"object\" == typeof module ? module.exports = n() : \"function\" == typeof define && define.amd ? define(\"shifty\", [], n) : \"object\" == typeof exports ? exports.shifty = n() : t.shifty = n();\n}(window, function () {\n return function (t) {\n var n = {};\n\n function e(r) {\n if (n[r]) return n[r].exports;\n var i = n[r] = {\n i: r,\n l: !1,\n exports: {}\n };\n return t[r].call(i.exports, i, i.exports, e), i.l = !0, i.exports;\n }\n\n return e.m = t, e.c = n, e.d = function (t, n, r) {\n e.o(t, n) || Object.defineProperty(t, n, {\n enumerable: !0,\n get: r\n });\n }, e.r = function (t) {\n \"undefined\" != typeof Symbol && Symbol.toStringTag && Object.defineProperty(t, Symbol.toStringTag, {\n value: \"Module\"\n }), Object.defineProperty(t, \"__esModule\", {\n value: !0\n });\n }, e.t = function (t, n) {\n if (1 & n && (t = e(t)), 8 & n) return t;\n if (4 & n && \"object\" == typeof t && t && t.__esModule) return t;\n var r = Object.create(null);\n if (e.r(r), Object.defineProperty(r, \"default\", {\n enumerable: !0,\n value: t\n }), 2 & n && \"string\" != typeof t) for (var i in t) {\n e.d(r, i, function (n) {\n return t[n];\n }.bind(null, i));\n }\n return r;\n }, e.n = function (t) {\n var n = t && t.__esModule ? function () {\n return t.default;\n } : function () {\n return t;\n };\n return e.d(n, \"a\", n), n;\n }, e.o = function (t, n) {\n return Object.prototype.hasOwnProperty.call(t, n);\n }, e.p = \"\", e(e.s = 3);\n }([function (t, n, e) {\n \"use strict\";\n\n (function (t) {\n e.d(n, \"e\", function () {\n return g;\n }), e.d(n, \"c\", function () {\n return w;\n }), e.d(n, \"b\", function () {\n return S;\n }), e.d(n, \"a\", function () {\n return P;\n }), e.d(n, \"d\", function () {\n return M;\n });\n var r = e(1);\n\n function i(t, n) {\n if (!(t instanceof n)) throw new TypeError(\"Cannot call a class as a function\");\n }\n\n function u(t, n) {\n for (var e = 0; e < n.length; e++) {\n var r = n[e];\n r.enumerable = r.enumerable || !1, r.configurable = !0, \"value\" in r && (r.writable = !0), Object.defineProperty(t, r.key, r);\n }\n }\n\n function o(t) {\n return (o = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (t) {\n return typeof t;\n } : function (t) {\n return t && \"function\" == typeof Symbol && t.constructor === Symbol && t !== Symbol.prototype ? \"symbol\" : typeof t;\n })(t);\n }\n\n function a(t, n) {\n var e = Object.keys(t);\n\n if (Object.getOwnPropertySymbols) {\n var r = Object.getOwnPropertySymbols(t);\n n && (r = r.filter(function (n) {\n return Object.getOwnPropertyDescriptor(t, n).enumerable;\n })), e.push.apply(e, r);\n }\n\n return e;\n }\n\n function c(t) {\n for (var n = 1; n < arguments.length; n++) {\n var e = null != arguments[n] ? arguments[n] : {};\n n % 2 ? a(Object(e), !0).forEach(function (n) {\n s(t, n, e[n]);\n }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(t, Object.getOwnPropertyDescriptors(e)) : a(Object(e)).forEach(function (n) {\n Object.defineProperty(t, n, Object.getOwnPropertyDescriptor(e, n));\n });\n }\n\n return t;\n }\n\n function s(t, n, e) {\n return n in t ? Object.defineProperty(t, n, {\n value: e,\n enumerable: !0,\n configurable: !0,\n writable: !0\n }) : t[n] = e, t;\n }\n\n var f,\n l,\n h,\n p = \"undefined\" != typeof window ? window : t,\n d = p.requestAnimationFrame || p.webkitRequestAnimationFrame || p.oRequestAnimationFrame || p.msRequestAnimationFrame || p.mozCancelRequestAnimationFrame && p.mozRequestAnimationFrame || setTimeout,\n v = function v() {},\n _ = null,\n y = null,\n m = c({}, r),\n g = function g(t, n, e, r, i, u, o) {\n var a,\n c,\n s,\n f = t < u ? 0 : (t - u) / i,\n l = !1;\n\n for (var h in o && o.call && (l = !0, a = o(f)), n) {\n l || (a = ((c = o[h]).call ? c : m[c])(f)), s = e[h], n[h] = s + (r[h] - s) * a;\n }\n\n return n;\n },\n b = function b(t, n) {\n var e = t._timestamp,\n r = t._currentState,\n i = t._delay;\n\n if (!(n < e + i)) {\n var u = t._duration,\n o = t._targetState,\n a = e + i + u,\n c = n > a ? a : n,\n s = c >= a,\n f = u - (a - c),\n l = t._filters.length > 0;\n if (s) return t._render(o, t._data, f), t.stop(!0);\n l && t._applyFilter(\"beforeTween\"), c < e + i ? e = u = c = 1 : e += i, g(c, r, t._originalState, o, u, e, t._easing), l && t._applyFilter(\"afterTween\"), t._render(r, t._data, f);\n }\n },\n w = function w() {\n for (var t, n = P.now(), e = _; e;) {\n t = e._next, b(e, n), e = t;\n }\n },\n O = Date.now || function () {\n return +new Date();\n },\n S = function S(t) {\n var n = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : \"linear\",\n e = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : {},\n r = o(n);\n if (m[n]) return m[n];\n if (\"string\" === r || \"function\" === r) for (var i in t) {\n e[i] = n;\n } else for (var u in t) {\n e[u] = n[u] || \"linear\";\n }\n return e;\n },\n j = function j(t) {\n t === _ ? (_ = t._next) ? _._previous = null : y = null : t === y ? (y = t._previous) ? y._next = null : _ = null : (l = t._previous, h = t._next, l._next = h, h._previous = l), t._previous = t._next = null;\n },\n k = \"function\" == typeof Promise ? Promise : null,\n P = function () {\n function t() {\n var n = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : {},\n e = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : void 0;\n i(this, t), this._config = {}, this._data = {}, this._delay = 0, this._filters = [], this._next = null, this._previous = null, this._timestamp = null, this._resolve = null, this._reject = null, this._currentState = n || {}, this._originalState = {}, this._targetState = {}, this._start = v, this._render = v, this._promiseCtor = k, e && this.setConfig(e);\n }\n\n var n, e, r;\n return n = t, (e = [{\n key: \"_applyFilter\",\n value: function value(t) {\n for (var n = this._filters.length; n > 0; n--) {\n var e = this._filters[n - n][t];\n e && e(this);\n }\n }\n }, {\n key: \"tween\",\n value: function value() {\n var n = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : void 0;\n return this._isPlaying && this.stop(), !n && this._config || this.setConfig(n), this._pausedAtTime = null, this._timestamp = t.now(), this._start(this.get(), this._data), this._delay && this._render(this._currentState, this._data, 0), this._resume(this._timestamp);\n }\n }, {\n key: \"setConfig\",\n value: function value() {\n var n = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : {},\n e = this._config;\n\n for (var r in n) {\n e[r] = n[r];\n }\n\n var i = e.promise,\n u = void 0 === i ? this._promiseCtor : i,\n a = e.start,\n c = void 0 === a ? v : a,\n s = e.finish,\n f = e.render,\n l = void 0 === f ? this._config.step || v : f,\n h = e.step,\n p = void 0 === h ? v : h;\n this._data = e.data || e.attachment || this._data, this._isPlaying = !1, this._pausedAtTime = null, this._scheduleId = null, this._delay = n.delay || 0, this._start = c, this._render = l || p, this._duration = e.duration || 500, this._promiseCtor = u, s && (this._resolve = s);\n var d = n.from,\n _ = n.to,\n y = void 0 === _ ? {} : _,\n m = this._currentState,\n g = this._originalState,\n b = this._targetState;\n\n for (var w in d) {\n m[w] = d[w];\n }\n\n var O = !1;\n\n for (var j in m) {\n var k = m[j];\n O || \"string\" !== o(k) || (O = !0), g[j] = k, b[j] = y.hasOwnProperty(j) ? y[j] : k;\n }\n\n if (this._easing = S(this._currentState, e.easing, this._easing), this._filters.length = 0, O) {\n for (var P in t.filters) {\n t.filters[P].doesApply(this) && this._filters.push(t.filters[P]);\n }\n\n this._applyFilter(\"tweenCreated\");\n }\n\n return this;\n }\n }, {\n key: \"then\",\n value: function value(t, n) {\n var e = this;\n return this._promise = new this._promiseCtor(function (t, n) {\n e._resolve = t, e._reject = n;\n }), this._promise.then(t, n);\n }\n }, {\n key: \"catch\",\n value: function value(t) {\n return this.then().catch(t);\n }\n }, {\n key: \"get\",\n value: function value() {\n return c({}, this._currentState);\n }\n }, {\n key: \"set\",\n value: function value(t) {\n this._currentState = t;\n }\n }, {\n key: \"pause\",\n value: function value() {\n if (this._isPlaying) return this._pausedAtTime = t.now(), this._isPlaying = !1, j(this), this;\n }\n }, {\n key: \"resume\",\n value: function value() {\n return this._resume();\n }\n }, {\n key: \"_resume\",\n value: function value() {\n var n = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : t.now();\n return null === this._timestamp ? this.tween() : this._isPlaying ? this._promise : (this._pausedAtTime && (this._timestamp += n - this._pausedAtTime, this._pausedAtTime = null), this._isPlaying = !0, null === _ ? (_ = this, y = this) : (this._previous = y, y._next = this, y = this), this);\n }\n }, {\n key: \"seek\",\n value: function value(n) {\n n = Math.max(n, 0);\n var e = t.now();\n return this._timestamp + n === 0 || (this._timestamp = e - n, b(this, e)), this;\n }\n }, {\n key: \"stop\",\n value: function value() {\n var t = arguments.length > 0 && void 0 !== arguments[0] && arguments[0];\n if (!this._isPlaying) return this;\n this._isPlaying = !1, j(this);\n var n = this._filters.length > 0;\n t && (n && this._applyFilter(\"beforeTween\"), g(1, this._currentState, this._originalState, this._targetState, 1, 0, this._easing), n && (this._applyFilter(\"afterTween\"), this._applyFilter(\"afterTweenEnd\"))), this._resolve && this._resolve({\n data: this._data,\n state: this._currentState,\n tweenable: this\n }), this._resolve = null, this._reject = null;\n var e = this._currentState,\n r = this._originalState,\n i = this._targetState;\n\n for (var u in e) {\n r[u] = i[u] = e[u];\n }\n\n return this;\n }\n }, {\n key: \"cancel\",\n value: function value() {\n var t = arguments.length > 0 && void 0 !== arguments[0] && arguments[0],\n n = this._currentState,\n e = this._data,\n r = this._isPlaying;\n return r ? (this._reject && this._reject({\n data: e,\n state: n,\n tweenable: this\n }), this._resolve = null, this._reject = null, this.stop(t)) : this;\n }\n }, {\n key: \"isPlaying\",\n value: function value() {\n return this._isPlaying;\n }\n }, {\n key: \"setScheduleFunction\",\n value: function value(n) {\n t.setScheduleFunction(n);\n }\n }, {\n key: \"data\",\n value: function value() {\n var t = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : null;\n return t && (this._data = c({}, t)), this._data;\n }\n }, {\n key: \"dispose\",\n value: function value() {\n for (var t in this) {\n delete this[t];\n }\n }\n }]) && u(n.prototype, e), r && u(n, r), t;\n }();\n\n function M() {\n var t = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : {},\n n = new P();\n return n.tween(t), n.tweenable = n, n;\n }\n\n s(P, \"now\", function () {\n return f;\n }), P.setScheduleFunction = function (t) {\n return d = t;\n }, P.formulas = m, P.filters = {}, function t() {\n f = O(), d.call(p, t, 1e3 / 60), w();\n }();\n }).call(this, e(2));\n }, function (t, n, e) {\n \"use strict\";\n\n e.r(n), e.d(n, \"linear\", function () {\n return r;\n }), e.d(n, \"easeInQuad\", function () {\n return i;\n }), e.d(n, \"easeOutQuad\", function () {\n return u;\n }), e.d(n, \"easeInOutQuad\", function () {\n return o;\n }), e.d(n, \"easeInCubic\", function () {\n return a;\n }), e.d(n, \"easeOutCubic\", function () {\n return c;\n }), e.d(n, \"easeInOutCubic\", function () {\n return s;\n }), e.d(n, \"easeInQuart\", function () {\n return f;\n }), e.d(n, \"easeOutQuart\", function () {\n return l;\n }), e.d(n, \"easeInOutQuart\", function () {\n return h;\n }), e.d(n, \"easeInQuint\", function () {\n return p;\n }), e.d(n, \"easeOutQuint\", function () {\n return d;\n }), e.d(n, \"easeInOutQuint\", function () {\n return v;\n }), e.d(n, \"easeInSine\", function () {\n return _;\n }), e.d(n, \"easeOutSine\", function () {\n return y;\n }), e.d(n, \"easeInOutSine\", function () {\n return m;\n }), e.d(n, \"easeInExpo\", function () {\n return g;\n }), e.d(n, \"easeOutExpo\", function () {\n return b;\n }), e.d(n, \"easeInOutExpo\", function () {\n return w;\n }), e.d(n, \"easeInCirc\", function () {\n return O;\n }), e.d(n, \"easeOutCirc\", function () {\n return S;\n }), e.d(n, \"easeInOutCirc\", function () {\n return j;\n }), e.d(n, \"easeOutBounce\", function () {\n return k;\n }), e.d(n, \"easeInBack\", function () {\n return P;\n }), e.d(n, \"easeOutBack\", function () {\n return M;\n }), e.d(n, \"easeInOutBack\", function () {\n return A;\n }), e.d(n, \"elastic\", function () {\n return T;\n }), e.d(n, \"swingFromTo\", function () {\n return x;\n }), e.d(n, \"swingFrom\", function () {\n return E;\n }), e.d(n, \"swingTo\", function () {\n return F;\n }), e.d(n, \"bounce\", function () {\n return I;\n }), e.d(n, \"bouncePast\", function () {\n return C;\n }), e.d(n, \"easeFromTo\", function () {\n return D;\n }), e.d(n, \"easeFrom\", function () {\n return q;\n }), e.d(n, \"easeTo\", function () {\n return Q;\n });\n /*!\n * All equations are adapted from Thomas Fuchs'\n * [Scripty2](https://github.com/madrobby/scripty2/blob/master/src/effects/transitions/penner.js).\n *\n * Based on Easing Equations (c) 2003 [Robert\n * Penner](http://www.robertpenner.com/), all rights reserved. This work is\n * [subject to terms](http://www.robertpenner.com/easing_terms_of_use.html).\n */\n\n /*!\n * TERMS OF USE - EASING EQUATIONS\n * Open source under the BSD License.\n * Easing Equations (c) 2003 Robert Penner, all rights reserved.\n */\n\n var r = function r(t) {\n return t;\n },\n i = function i(t) {\n return Math.pow(t, 2);\n },\n u = function u(t) {\n return -(Math.pow(t - 1, 2) - 1);\n },\n o = function o(t) {\n return (t /= .5) < 1 ? .5 * Math.pow(t, 2) : -.5 * ((t -= 2) * t - 2);\n },\n a = function a(t) {\n return Math.pow(t, 3);\n },\n c = function c(t) {\n return Math.pow(t - 1, 3) + 1;\n },\n s = function s(t) {\n return (t /= .5) < 1 ? .5 * Math.pow(t, 3) : .5 * (Math.pow(t - 2, 3) + 2);\n },\n f = function f(t) {\n return Math.pow(t, 4);\n },\n l = function l(t) {\n return -(Math.pow(t - 1, 4) - 1);\n },\n h = function h(t) {\n return (t /= .5) < 1 ? .5 * Math.pow(t, 4) : -.5 * ((t -= 2) * Math.pow(t, 3) - 2);\n },\n p = function p(t) {\n return Math.pow(t, 5);\n },\n d = function d(t) {\n return Math.pow(t - 1, 5) + 1;\n },\n v = function v(t) {\n return (t /= .5) < 1 ? .5 * Math.pow(t, 5) : .5 * (Math.pow(t - 2, 5) + 2);\n },\n _ = function _(t) {\n return 1 - Math.cos(t * (Math.PI / 2));\n },\n y = function y(t) {\n return Math.sin(t * (Math.PI / 2));\n },\n m = function m(t) {\n return -.5 * (Math.cos(Math.PI * t) - 1);\n },\n g = function g(t) {\n return 0 === t ? 0 : Math.pow(2, 10 * (t - 1));\n },\n b = function b(t) {\n return 1 === t ? 1 : 1 - Math.pow(2, -10 * t);\n },\n w = function w(t) {\n return 0 === t ? 0 : 1 === t ? 1 : (t /= .5) < 1 ? .5 * Math.pow(2, 10 * (t - 1)) : .5 * (2 - Math.pow(2, -10 * --t));\n },\n O = function O(t) {\n return -(Math.sqrt(1 - t * t) - 1);\n },\n S = function S(t) {\n return Math.sqrt(1 - Math.pow(t - 1, 2));\n },\n j = function j(t) {\n return (t /= .5) < 1 ? -.5 * (Math.sqrt(1 - t * t) - 1) : .5 * (Math.sqrt(1 - (t -= 2) * t) + 1);\n },\n k = function k(t) {\n return t < 1 / 2.75 ? 7.5625 * t * t : t < 2 / 2.75 ? 7.5625 * (t -= 1.5 / 2.75) * t + .75 : t < 2.5 / 2.75 ? 7.5625 * (t -= 2.25 / 2.75) * t + .9375 : 7.5625 * (t -= 2.625 / 2.75) * t + .984375;\n },\n P = function P(t) {\n var n = 1.70158;\n return t * t * ((n + 1) * t - n);\n },\n M = function M(t) {\n var n = 1.70158;\n return (t -= 1) * t * ((n + 1) * t + n) + 1;\n },\n A = function A(t) {\n var n = 1.70158;\n return (t /= .5) < 1 ? t * t * ((1 + (n *= 1.525)) * t - n) * .5 : .5 * ((t -= 2) * t * ((1 + (n *= 1.525)) * t + n) + 2);\n },\n T = function T(t) {\n return -1 * Math.pow(4, -8 * t) * Math.sin((6 * t - 1) * (2 * Math.PI) / 2) + 1;\n },\n x = function x(t) {\n var n = 1.70158;\n return (t /= .5) < 1 ? t * t * ((1 + (n *= 1.525)) * t - n) * .5 : .5 * ((t -= 2) * t * ((1 + (n *= 1.525)) * t + n) + 2);\n },\n E = function E(t) {\n var n = 1.70158;\n return t * t * ((n + 1) * t - n);\n },\n F = function F(t) {\n var n = 1.70158;\n return (t -= 1) * t * ((n + 1) * t + n) + 1;\n },\n I = function I(t) {\n return t < 1 / 2.75 ? 7.5625 * t * t : t < 2 / 2.75 ? 7.5625 * (t -= 1.5 / 2.75) * t + .75 : t < 2.5 / 2.75 ? 7.5625 * (t -= 2.25 / 2.75) * t + .9375 : 7.5625 * (t -= 2.625 / 2.75) * t + .984375;\n },\n C = function C(t) {\n return t < 1 / 2.75 ? 7.5625 * t * t : t < 2 / 2.75 ? 2 - (7.5625 * (t -= 1.5 / 2.75) * t + .75) : t < 2.5 / 2.75 ? 2 - (7.5625 * (t -= 2.25 / 2.75) * t + .9375) : 2 - (7.5625 * (t -= 2.625 / 2.75) * t + .984375);\n },\n D = function D(t) {\n return (t /= .5) < 1 ? .5 * Math.pow(t, 4) : -.5 * ((t -= 2) * Math.pow(t, 3) - 2);\n },\n q = function q(t) {\n return Math.pow(t, 4);\n },\n Q = function Q(t) {\n return Math.pow(t, .25);\n };\n }, function (t, n) {\n var e;\n\n e = function () {\n return this;\n }();\n\n try {\n e = e || new Function(\"return this\")();\n } catch (t) {\n \"object\" == typeof window && (e = window);\n }\n\n t.exports = e;\n }, function (t, n, e) {\n \"use strict\";\n\n e.r(n), e.d(n, \"processTweens\", function () {\n return o.c;\n }), e.d(n, \"Tweenable\", function () {\n return o.a;\n }), e.d(n, \"tween\", function () {\n return o.d;\n }), e.d(n, \"interpolate\", function () {\n return F;\n }), e.d(n, \"Scene\", function () {\n return N;\n }), e.d(n, \"setBezierFunction\", function () {\n return z;\n }), e.d(n, \"unsetBezierFunction\", function () {\n return L;\n });\n var r = {};\n e.r(r), e.d(r, \"doesApply\", function () {\n return S;\n }), e.d(r, \"tweenCreated\", function () {\n return j;\n }), e.d(r, \"beforeTween\", function () {\n return k;\n }), e.d(r, \"afterTween\", function () {\n return P;\n });\n\n var i,\n u,\n o = e(0),\n a = /(\\d|-|\\.)/,\n c = /([^\\-0-9.]+)/g,\n s = /[0-9.-]+/g,\n f = (i = s.source, u = /,\\s*/.source, new RegExp(\"rgb\\\\(\".concat(i).concat(u).concat(i).concat(u).concat(i, \"\\\\)\"), \"g\")),\n l = /^.*\\(/,\n h = /#([0-9]|[a-f]){3,6}/gi,\n p = function p(t, n) {\n return t.map(function (t, e) {\n return \"_\".concat(n, \"_\").concat(e);\n });\n };\n\n function d(t) {\n return parseInt(t, 16);\n }\n\n var v = function v(t) {\n return \"rgb(\".concat((n = t, 3 === (n = n.replace(/#/, \"\")).length && (n = (n = n.split(\"\"))[0] + n[0] + n[1] + n[1] + n[2] + n[2]), [d(n.substr(0, 2)), d(n.substr(2, 2)), d(n.substr(4, 2))]).join(\",\"), \")\");\n var n;\n },\n _ = function _(t, n, e) {\n var r = n.match(t),\n i = n.replace(t, \"VAL\");\n return r && r.forEach(function (t) {\n return i = i.replace(\"VAL\", e(t));\n }), i;\n },\n y = function y(t) {\n for (var n in t) {\n var e = t[n];\n \"string\" == typeof e && e.match(h) && (t[n] = _(h, e, v));\n }\n },\n m = function m(t) {\n var n = t.match(s).map(Math.floor),\n e = t.match(l)[0];\n return \"\".concat(e).concat(n.join(\",\"), \")\");\n },\n g = function g(t) {\n return t.match(s);\n },\n b = function b(t, n) {\n var e = {};\n return n.forEach(function (n) {\n e[n] = t[n], delete t[n];\n }), e;\n },\n w = function w(t, n) {\n return n.map(function (n) {\n return t[n];\n });\n },\n O = function O(t, n) {\n return n.forEach(function (n) {\n return t = t.replace(\"VAL\", +n.toFixed(4));\n }), t;\n },\n S = function S(t) {\n for (var n in t._currentState) {\n if (\"string\" == typeof t._currentState[n]) return !0;\n }\n\n return !1;\n };\n\n function j(t) {\n var n = t._currentState;\n [n, t._originalState, t._targetState].forEach(y), t._tokenData = function (t) {\n var n,\n e,\n r = {};\n\n for (var i in t) {\n var u = t[i];\n \"string\" == typeof u && (r[i] = {\n formatString: (n = u, e = void 0, e = n.match(c), e ? (1 === e.length || n.charAt(0).match(a)) && e.unshift(\"\") : e = [\"\", \"\"], e.join(\"VAL\")),\n chunkNames: p(g(u), i)\n });\n }\n\n return r;\n }(n);\n }\n\n function k(t) {\n var n = t._currentState,\n e = t._originalState,\n r = t._targetState,\n i = t._easing,\n u = t._tokenData;\n !function (t, n) {\n var e = function e(_e) {\n var r = n[_e].chunkNames,\n i = t[_e];\n\n if (\"string\" == typeof i) {\n var u = i.split(\" \"),\n o = u[u.length - 1];\n r.forEach(function (n, e) {\n return t[n] = u[e] || o;\n });\n } else r.forEach(function (n) {\n return t[n] = i;\n });\n\n delete t[_e];\n };\n\n for (var r in n) {\n e(r);\n }\n }(i, u), [n, e, r].forEach(function (t) {\n return function (t, n) {\n var e = function e(_e2) {\n g(t[_e2]).forEach(function (r, i) {\n return t[n[_e2].chunkNames[i]] = +r;\n }), delete t[_e2];\n };\n\n for (var r in n) {\n e(r);\n }\n }(t, u);\n });\n }\n\n function P(t) {\n var n = t._currentState,\n e = t._originalState,\n r = t._targetState,\n i = t._easing,\n u = t._tokenData;\n [n, e, r].forEach(function (t) {\n return function (t, n) {\n for (var e in n) {\n var r = n[e],\n i = r.chunkNames,\n u = r.formatString,\n o = O(u, w(b(t, i), i));\n t[e] = _(f, o, m);\n }\n }(t, u);\n }), function (t, n) {\n for (var e in n) {\n var r = n[e].chunkNames,\n i = t[r[0]];\n t[e] = \"string\" == typeof i ? r.map(function (n) {\n var e = t[n];\n return delete t[n], e;\n }).join(\" \") : i;\n }\n }(i, u);\n }\n\n function M(t, n) {\n var e = Object.keys(t);\n\n if (Object.getOwnPropertySymbols) {\n var r = Object.getOwnPropertySymbols(t);\n n && (r = r.filter(function (n) {\n return Object.getOwnPropertyDescriptor(t, n).enumerable;\n })), e.push.apply(e, r);\n }\n\n return e;\n }\n\n function A(t) {\n for (var n = 1; n < arguments.length; n++) {\n var e = null != arguments[n] ? arguments[n] : {};\n n % 2 ? M(Object(e), !0).forEach(function (n) {\n T(t, n, e[n]);\n }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(t, Object.getOwnPropertyDescriptors(e)) : M(Object(e)).forEach(function (n) {\n Object.defineProperty(t, n, Object.getOwnPropertyDescriptor(e, n));\n });\n }\n\n return t;\n }\n\n function T(t, n, e) {\n return n in t ? Object.defineProperty(t, n, {\n value: e,\n enumerable: !0,\n configurable: !0,\n writable: !0\n }) : t[n] = e, t;\n }\n\n var x = new o.a(),\n E = o.a.filters,\n F = function F(t, n, e, r) {\n var i = arguments.length > 4 && void 0 !== arguments[4] ? arguments[4] : 0,\n u = A({}, t),\n a = Object(o.b)(t, r);\n\n for (var c in x._filters.length = 0, x.set({}), x._currentState = u, x._originalState = t, x._targetState = n, x._easing = a, E) {\n E[c].doesApply(x) && x._filters.push(E[c]);\n }\n\n x._applyFilter(\"tweenCreated\"), x._applyFilter(\"beforeTween\");\n var s = Object(o.e)(e, u, t, n, 1, i, a);\n return x._applyFilter(\"afterTween\"), s;\n };\n\n function I(t) {\n return function (t) {\n if (Array.isArray(t)) return C(t);\n }(t) || function (t) {\n if (\"undefined\" != typeof Symbol && Symbol.iterator in Object(t)) return Array.from(t);\n }(t) || function (t, n) {\n if (!t) return;\n if (\"string\" == typeof t) return C(t, n);\n var e = Object.prototype.toString.call(t).slice(8, -1);\n \"Object\" === e && t.constructor && (e = t.constructor.name);\n if (\"Map\" === e || \"Set\" === e) return Array.from(t);\n if (\"Arguments\" === e || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(e)) return C(t, n);\n }(t) || function () {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n }();\n }\n\n function C(t, n) {\n (null == n || n > t.length) && (n = t.length);\n\n for (var e = 0, r = new Array(n); e < n; e++) {\n r[e] = t[e];\n }\n\n return r;\n }\n\n function D(t, n) {\n if (!(t instanceof n)) throw new TypeError(\"Cannot call a class as a function\");\n }\n\n function q(t, n) {\n for (var e = 0; e < n.length; e++) {\n var r = n[e];\n r.enumerable = r.enumerable || !1, r.configurable = !0, \"value\" in r && (r.writable = !0), Object.defineProperty(t, r.key, r);\n }\n }\n\n function Q(t, n) {\n var e = n.get(t);\n if (!e) throw new TypeError(\"attempted to get private field on non-instance\");\n return e.get ? e.get.call(t) : e.value;\n }\n\n var B = new WeakMap(),\n N = function () {\n function t() {\n D(this, t), B.set(this, {\n writable: !0,\n value: []\n });\n\n for (var n = arguments.length, e = new Array(n), r = 0; r < n; r++) {\n e[r] = arguments[r];\n }\n\n e.forEach(this.add.bind(this));\n }\n\n var n, e, r;\n return n = t, (e = [{\n key: \"add\",\n value: function value(t) {\n return Q(this, B).push(t), t;\n }\n }, {\n key: \"remove\",\n value: function value(t) {\n var n = Q(this, B).indexOf(t);\n return ~n && Q(this, B).splice(n, 1), t;\n }\n }, {\n key: \"empty\",\n value: function value() {\n return this.tweenables.map(this.remove.bind(this));\n }\n }, {\n key: \"isPlaying\",\n value: function value() {\n return Q(this, B).some(function (t) {\n return t.isPlaying();\n });\n }\n }, {\n key: \"play\",\n value: function value() {\n return Q(this, B).forEach(function (t) {\n return t.tween();\n }), this;\n }\n }, {\n key: \"pause\",\n value: function value() {\n return Q(this, B).forEach(function (t) {\n return t.pause();\n }), this;\n }\n }, {\n key: \"resume\",\n value: function value() {\n return Q(this, B).forEach(function (t) {\n return t.resume();\n }), this;\n }\n }, {\n key: \"stop\",\n value: function value(t) {\n return Q(this, B).forEach(function (n) {\n return n.stop(t);\n }), this;\n }\n }, {\n key: \"tweenables\",\n get: function get() {\n return I(Q(this, B));\n }\n }, {\n key: \"promises\",\n get: function get() {\n return Q(this, B).map(function (t) {\n return t.then();\n });\n }\n }]) && q(n.prototype, e), r && q(n, r), t;\n }();\n\n function R(t, n, e, r, i, u) {\n var o,\n a,\n c = 0,\n s = 0,\n f = 0,\n l = 0,\n h = 0,\n p = 0,\n d = function d(t) {\n return ((c * t + s) * t + f) * t;\n },\n v = function v(t) {\n return (3 * c * t + 2 * s) * t + f;\n },\n _ = function _(t) {\n return t >= 0 ? t : 0 - t;\n };\n\n return c = 1 - (f = 3 * n) - (s = 3 * (r - n) - f), l = 1 - (p = 3 * e) - (h = 3 * (i - e) - p), o = t, a = function (t) {\n return 1 / (200 * t);\n }(u), function (t) {\n return ((l * t + h) * t + p) * t;\n }(function (t, n) {\n var e, r, i, u, o, a;\n\n for (i = t, a = 0; a < 8; a++) {\n if (u = d(i) - t, _(u) < n) return i;\n if (o = v(i), _(o) < 1e-6) break;\n i -= u / o;\n }\n\n if ((i = t) < (e = 0)) return e;\n if (i > (r = 1)) return r;\n\n for (; e < r;) {\n if (u = d(i), _(u - t) < n) return i;\n t > u ? e = i : r = i, i = .5 * (r - e) + e;\n }\n\n return i;\n }(o, a));\n }\n\n var z = function z(t, n, e, r, i) {\n var u = function (t, n, e, r) {\n return function (i) {\n return R(i, t, n, e, r, 1);\n };\n }(n, e, r, i);\n\n return u.displayName = t, u.x1 = n, u.y1 = e, u.x2 = r, u.y2 = i, o.a.formulas[t] = u;\n },\n L = function L(t) {\n return delete o.a.formulas[t];\n };\n\n o.a.filters.token = r;\n }]);\n});","import \"core-js/modules/es.array.reduce.js\";\n\n/**\r\n * A collection of shims that provide minimal functionality of the ES6 collections.\r\n *\r\n * These implementations are not meant to be used outside of the ResizeObserver\r\n * modules as they cover only a limited range of use cases.\r\n */\n\n/* eslint-disable require-jsdoc, valid-jsdoc */\nvar MapShim = function () {\n if (typeof Map !== 'undefined') {\n return Map;\n }\n /**\r\n * Returns index in provided array that matches the specified key.\r\n *\r\n * @param {Array} arr\r\n * @param {*} key\r\n * @returns {number}\r\n */\n\n\n function getIndex(arr, key) {\n var result = -1;\n arr.some(function (entry, index) {\n if (entry[0] === key) {\n result = index;\n return true;\n }\n\n return false;\n });\n return result;\n }\n\n return (\n /** @class */\n function () {\n function class_1() {\n this.__entries__ = [];\n }\n\n Object.defineProperty(class_1.prototype, \"size\", {\n /**\r\n * @returns {boolean}\r\n */\n get: function get() {\n return this.__entries__.length;\n },\n enumerable: true,\n configurable: true\n });\n /**\r\n * @param {*} key\r\n * @returns {*}\r\n */\n\n class_1.prototype.get = function (key) {\n var index = getIndex(this.__entries__, key);\n var entry = this.__entries__[index];\n return entry && entry[1];\n };\n /**\r\n * @param {*} key\r\n * @param {*} value\r\n * @returns {void}\r\n */\n\n\n class_1.prototype.set = function (key, value) {\n var index = getIndex(this.__entries__, key);\n\n if (~index) {\n this.__entries__[index][1] = value;\n } else {\n this.__entries__.push([key, value]);\n }\n };\n /**\r\n * @param {*} key\r\n * @returns {void}\r\n */\n\n\n class_1.prototype.delete = function (key) {\n var entries = this.__entries__;\n var index = getIndex(entries, key);\n\n if (~index) {\n entries.splice(index, 1);\n }\n };\n /**\r\n * @param {*} key\r\n * @returns {void}\r\n */\n\n\n class_1.prototype.has = function (key) {\n return !!~getIndex(this.__entries__, key);\n };\n /**\r\n * @returns {void}\r\n */\n\n\n class_1.prototype.clear = function () {\n this.__entries__.splice(0);\n };\n /**\r\n * @param {Function} callback\r\n * @param {*} [ctx=null]\r\n * @returns {void}\r\n */\n\n\n class_1.prototype.forEach = function (callback, ctx) {\n if (ctx === void 0) {\n ctx = null;\n }\n\n for (var _i = 0, _a = this.__entries__; _i < _a.length; _i++) {\n var entry = _a[_i];\n callback.call(ctx, entry[1], entry[0]);\n }\n };\n\n return class_1;\n }()\n );\n}();\n/**\r\n * Detects whether window and document objects are available in current environment.\r\n */\n\n\nvar isBrowser = typeof window !== 'undefined' && typeof document !== 'undefined' && window.document === document; // Returns global object of a current environment.\n\nvar global$1 = function () {\n if (typeof global !== 'undefined' && global.Math === Math) {\n return global;\n }\n\n if (typeof self !== 'undefined' && self.Math === Math) {\n return self;\n }\n\n if (typeof window !== 'undefined' && window.Math === Math) {\n return window;\n } // eslint-disable-next-line no-new-func\n\n\n return Function('return this')();\n}();\n/**\r\n * A shim for the requestAnimationFrame which falls back to the setTimeout if\r\n * first one is not supported.\r\n *\r\n * @returns {number} Requests' identifier.\r\n */\n\n\nvar requestAnimationFrame$1 = function () {\n if (typeof requestAnimationFrame === 'function') {\n // It's required to use a bounded function because IE sometimes throws\n // an \"Invalid calling object\" error if rAF is invoked without the global\n // object on the left hand side.\n return requestAnimationFrame.bind(global$1);\n }\n\n return function (callback) {\n return setTimeout(function () {\n return callback(Date.now());\n }, 1000 / 60);\n };\n}(); // Defines minimum timeout before adding a trailing call.\n\n\nvar trailingTimeout = 2;\n/**\r\n * Creates a wrapper function which ensures that provided callback will be\r\n * invoked only once during the specified delay period.\r\n *\r\n * @param {Function} callback - Function to be invoked after the delay period.\r\n * @param {number} delay - Delay after which to invoke callback.\r\n * @returns {Function}\r\n */\n\nfunction throttle(callback, delay) {\n var leadingCall = false,\n trailingCall = false,\n lastCallTime = 0;\n /**\r\n * Invokes the original callback function and schedules new invocation if\r\n * the \"proxy\" was called during current request.\r\n *\r\n * @returns {void}\r\n */\n\n function resolvePending() {\n if (leadingCall) {\n leadingCall = false;\n callback();\n }\n\n if (trailingCall) {\n proxy();\n }\n }\n /**\r\n * Callback invoked after the specified delay. It will further postpone\r\n * invocation of the original function delegating it to the\r\n * requestAnimationFrame.\r\n *\r\n * @returns {void}\r\n */\n\n\n function timeoutCallback() {\n requestAnimationFrame$1(resolvePending);\n }\n /**\r\n * Schedules invocation of the original function.\r\n *\r\n * @returns {void}\r\n */\n\n\n function proxy() {\n var timeStamp = Date.now();\n\n if (leadingCall) {\n // Reject immediately following calls.\n if (timeStamp - lastCallTime < trailingTimeout) {\n return;\n } // Schedule new call to be in invoked when the pending one is resolved.\n // This is important for \"transitions\" which never actually start\n // immediately so there is a chance that we might miss one if change\n // happens amids the pending invocation.\n\n\n trailingCall = true;\n } else {\n leadingCall = true;\n trailingCall = false;\n setTimeout(timeoutCallback, delay);\n }\n\n lastCallTime = timeStamp;\n }\n\n return proxy;\n} // Minimum delay before invoking the update of observers.\n\n\nvar REFRESH_DELAY = 20; // A list of substrings of CSS properties used to find transition events that\n// might affect dimensions of observed elements.\n\nvar transitionKeys = ['top', 'right', 'bottom', 'left', 'width', 'height', 'size', 'weight']; // Check if MutationObserver is available.\n\nvar mutationObserverSupported = typeof MutationObserver !== 'undefined';\n/**\r\n * Singleton controller class which handles updates of ResizeObserver instances.\r\n */\n\nvar ResizeObserverController =\n/** @class */\nfunction () {\n /**\r\n * Creates a new instance of ResizeObserverController.\r\n *\r\n * @private\r\n */\n function ResizeObserverController() {\n /**\r\n * Indicates whether DOM listeners have been added.\r\n *\r\n * @private {boolean}\r\n */\n this.connected_ = false;\n /**\r\n * Tells that controller has subscribed for Mutation Events.\r\n *\r\n * @private {boolean}\r\n */\n\n this.mutationEventsAdded_ = false;\n /**\r\n * Keeps reference to the instance of MutationObserver.\r\n *\r\n * @private {MutationObserver}\r\n */\n\n this.mutationsObserver_ = null;\n /**\r\n * A list of connected observers.\r\n *\r\n * @private {Array}\r\n */\n\n this.observers_ = [];\n this.onTransitionEnd_ = this.onTransitionEnd_.bind(this);\n this.refresh = throttle(this.refresh.bind(this), REFRESH_DELAY);\n }\n /**\r\n * Adds observer to observers list.\r\n *\r\n * @param {ResizeObserverSPI} observer - Observer to be added.\r\n * @returns {void}\r\n */\n\n\n ResizeObserverController.prototype.addObserver = function (observer) {\n if (!~this.observers_.indexOf(observer)) {\n this.observers_.push(observer);\n } // Add listeners if they haven't been added yet.\n\n\n if (!this.connected_) {\n this.connect_();\n }\n };\n /**\r\n * Removes observer from observers list.\r\n *\r\n * @param {ResizeObserverSPI} observer - Observer to be removed.\r\n * @returns {void}\r\n */\n\n\n ResizeObserverController.prototype.removeObserver = function (observer) {\n var observers = this.observers_;\n var index = observers.indexOf(observer); // Remove observer if it's present in registry.\n\n if (~index) {\n observers.splice(index, 1);\n } // Remove listeners if controller has no connected observers.\n\n\n if (!observers.length && this.connected_) {\n this.disconnect_();\n }\n };\n /**\r\n * Invokes the update of observers. It will continue running updates insofar\r\n * it detects changes.\r\n *\r\n * @returns {void}\r\n */\n\n\n ResizeObserverController.prototype.refresh = function () {\n var changesDetected = this.updateObservers_(); // Continue running updates if changes have been detected as there might\n // be future ones caused by CSS transitions.\n\n if (changesDetected) {\n this.refresh();\n }\n };\n /**\r\n * Updates every observer from observers list and notifies them of queued\r\n * entries.\r\n *\r\n * @private\r\n * @returns {boolean} Returns \"true\" if any observer has detected changes in\r\n * dimensions of it's elements.\r\n */\n\n\n ResizeObserverController.prototype.updateObservers_ = function () {\n // Collect observers that have active observations.\n var activeObservers = this.observers_.filter(function (observer) {\n return observer.gatherActive(), observer.hasActive();\n }); // Deliver notifications in a separate cycle in order to avoid any\n // collisions between observers, e.g. when multiple instances of\n // ResizeObserver are tracking the same element and the callback of one\n // of them changes content dimensions of the observed target. Sometimes\n // this may result in notifications being blocked for the rest of observers.\n\n activeObservers.forEach(function (observer) {\n return observer.broadcastActive();\n });\n return activeObservers.length > 0;\n };\n /**\r\n * Initializes DOM listeners.\r\n *\r\n * @private\r\n * @returns {void}\r\n */\n\n\n ResizeObserverController.prototype.connect_ = function () {\n // Do nothing if running in a non-browser environment or if listeners\n // have been already added.\n if (!isBrowser || this.connected_) {\n return;\n } // Subscription to the \"Transitionend\" event is used as a workaround for\n // delayed transitions. This way it's possible to capture at least the\n // final state of an element.\n\n\n document.addEventListener('transitionend', this.onTransitionEnd_);\n window.addEventListener('resize', this.refresh);\n\n if (mutationObserverSupported) {\n this.mutationsObserver_ = new MutationObserver(this.refresh);\n this.mutationsObserver_.observe(document, {\n attributes: true,\n childList: true,\n characterData: true,\n subtree: true\n });\n } else {\n document.addEventListener('DOMSubtreeModified', this.refresh);\n this.mutationEventsAdded_ = true;\n }\n\n this.connected_ = true;\n };\n /**\r\n * Removes DOM listeners.\r\n *\r\n * @private\r\n * @returns {void}\r\n */\n\n\n ResizeObserverController.prototype.disconnect_ = function () {\n // Do nothing if running in a non-browser environment or if listeners\n // have been already removed.\n if (!isBrowser || !this.connected_) {\n return;\n }\n\n document.removeEventListener('transitionend', this.onTransitionEnd_);\n window.removeEventListener('resize', this.refresh);\n\n if (this.mutationsObserver_) {\n this.mutationsObserver_.disconnect();\n }\n\n if (this.mutationEventsAdded_) {\n document.removeEventListener('DOMSubtreeModified', this.refresh);\n }\n\n this.mutationsObserver_ = null;\n this.mutationEventsAdded_ = false;\n this.connected_ = false;\n };\n /**\r\n * \"Transitionend\" event handler.\r\n *\r\n * @private\r\n * @param {TransitionEvent} event\r\n * @returns {void}\r\n */\n\n\n ResizeObserverController.prototype.onTransitionEnd_ = function (_a) {\n var _b = _a.propertyName,\n propertyName = _b === void 0 ? '' : _b; // Detect whether transition may affect dimensions of an element.\n\n var isReflowProperty = transitionKeys.some(function (key) {\n return !!~propertyName.indexOf(key);\n });\n\n if (isReflowProperty) {\n this.refresh();\n }\n };\n /**\r\n * Returns instance of the ResizeObserverController.\r\n *\r\n * @returns {ResizeObserverController}\r\n */\n\n\n ResizeObserverController.getInstance = function () {\n if (!this.instance_) {\n this.instance_ = new ResizeObserverController();\n }\n\n return this.instance_;\n };\n /**\r\n * Holds reference to the controller's instance.\r\n *\r\n * @private {ResizeObserverController}\r\n */\n\n\n ResizeObserverController.instance_ = null;\n return ResizeObserverController;\n}();\n/**\r\n * Defines non-writable/enumerable properties of the provided target object.\r\n *\r\n * @param {Object} target - Object for which to define properties.\r\n * @param {Object} props - Properties to be defined.\r\n * @returns {Object} Target object.\r\n */\n\n\nvar defineConfigurable = function defineConfigurable(target, props) {\n for (var _i = 0, _a = Object.keys(props); _i < _a.length; _i++) {\n var key = _a[_i];\n Object.defineProperty(target, key, {\n value: props[key],\n enumerable: false,\n writable: false,\n configurable: true\n });\n }\n\n return target;\n};\n/**\r\n * Returns the global object associated with provided element.\r\n *\r\n * @param {Object} target\r\n * @returns {Object}\r\n */\n\n\nvar getWindowOf = function getWindowOf(target) {\n // Assume that the element is an instance of Node, which means that it\n // has the \"ownerDocument\" property from which we can retrieve a\n // corresponding global object.\n var ownerGlobal = target && target.ownerDocument && target.ownerDocument.defaultView; // Return the local global object if it's not possible extract one from\n // provided element.\n\n return ownerGlobal || global$1;\n}; // Placeholder of an empty content rectangle.\n\n\nvar emptyRect = createRectInit(0, 0, 0, 0);\n/**\r\n * Converts provided string to a number.\r\n *\r\n * @param {number|string} value\r\n * @returns {number}\r\n */\n\nfunction toFloat(value) {\n return parseFloat(value) || 0;\n}\n/**\r\n * Extracts borders size from provided styles.\r\n *\r\n * @param {CSSStyleDeclaration} styles\r\n * @param {...string} positions - Borders positions (top, right, ...)\r\n * @returns {number}\r\n */\n\n\nfunction getBordersSize(styles) {\n var positions = [];\n\n for (var _i = 1; _i < arguments.length; _i++) {\n positions[_i - 1] = arguments[_i];\n }\n\n return positions.reduce(function (size, position) {\n var value = styles['border-' + position + '-width'];\n return size + toFloat(value);\n }, 0);\n}\n/**\r\n * Extracts paddings sizes from provided styles.\r\n *\r\n * @param {CSSStyleDeclaration} styles\r\n * @returns {Object} Paddings box.\r\n */\n\n\nfunction getPaddings(styles) {\n var positions = ['top', 'right', 'bottom', 'left'];\n var paddings = {};\n\n for (var _i = 0, positions_1 = positions; _i < positions_1.length; _i++) {\n var position = positions_1[_i];\n var value = styles['padding-' + position];\n paddings[position] = toFloat(value);\n }\n\n return paddings;\n}\n/**\r\n * Calculates content rectangle of provided SVG element.\r\n *\r\n * @param {SVGGraphicsElement} target - Element content rectangle of which needs\r\n * to be calculated.\r\n * @returns {DOMRectInit}\r\n */\n\n\nfunction getSVGContentRect(target) {\n var bbox = target.getBBox();\n return createRectInit(0, 0, bbox.width, bbox.height);\n}\n/**\r\n * Calculates content rectangle of provided HTMLElement.\r\n *\r\n * @param {HTMLElement} target - Element for which to calculate the content rectangle.\r\n * @returns {DOMRectInit}\r\n */\n\n\nfunction getHTMLElementContentRect(target) {\n // Client width & height properties can't be\n // used exclusively as they provide rounded values.\n var clientWidth = target.clientWidth,\n clientHeight = target.clientHeight; // By this condition we can catch all non-replaced inline, hidden and\n // detached elements. Though elements with width & height properties less\n // than 0.5 will be discarded as well.\n //\n // Without it we would need to implement separate methods for each of\n // those cases and it's not possible to perform a precise and performance\n // effective test for hidden elements. E.g. even jQuery's ':visible' filter\n // gives wrong results for elements with width & height less than 0.5.\n\n if (!clientWidth && !clientHeight) {\n return emptyRect;\n }\n\n var styles = getWindowOf(target).getComputedStyle(target);\n var paddings = getPaddings(styles);\n var horizPad = paddings.left + paddings.right;\n var vertPad = paddings.top + paddings.bottom; // Computed styles of width & height are being used because they are the\n // only dimensions available to JS that contain non-rounded values. It could\n // be possible to utilize the getBoundingClientRect if only it's data wasn't\n // affected by CSS transformations let alone paddings, borders and scroll bars.\n\n var width = toFloat(styles.width),\n height = toFloat(styles.height); // Width & height include paddings and borders when the 'border-box' box\n // model is applied (except for IE).\n\n if (styles.boxSizing === 'border-box') {\n // Following conditions are required to handle Internet Explorer which\n // doesn't include paddings and borders to computed CSS dimensions.\n //\n // We can say that if CSS dimensions + paddings are equal to the \"client\"\n // properties then it's either IE, and thus we don't need to subtract\n // anything, or an element merely doesn't have paddings/borders styles.\n if (Math.round(width + horizPad) !== clientWidth) {\n width -= getBordersSize(styles, 'left', 'right') + horizPad;\n }\n\n if (Math.round(height + vertPad) !== clientHeight) {\n height -= getBordersSize(styles, 'top', 'bottom') + vertPad;\n }\n } // Following steps can't be applied to the document's root element as its\n // client[Width/Height] properties represent viewport area of the window.\n // Besides, it's as well not necessary as the itself neither has\n // rendered scroll bars nor it can be clipped.\n\n\n if (!isDocumentElement(target)) {\n // In some browsers (only in Firefox, actually) CSS width & height\n // include scroll bars size which can be removed at this step as scroll\n // bars are the only difference between rounded dimensions + paddings\n // and \"client\" properties, though that is not always true in Chrome.\n var vertScrollbar = Math.round(width + horizPad) - clientWidth;\n var horizScrollbar = Math.round(height + vertPad) - clientHeight; // Chrome has a rather weird rounding of \"client\" properties.\n // E.g. for an element with content width of 314.2px it sometimes gives\n // the client width of 315px and for the width of 314.7px it may give\n // 314px. And it doesn't happen all the time. So just ignore this delta\n // as a non-relevant.\n\n if (Math.abs(vertScrollbar) !== 1) {\n width -= vertScrollbar;\n }\n\n if (Math.abs(horizScrollbar) !== 1) {\n height -= horizScrollbar;\n }\n }\n\n return createRectInit(paddings.left, paddings.top, width, height);\n}\n/**\r\n * Checks whether provided element is an instance of the SVGGraphicsElement.\r\n *\r\n * @param {Element} target - Element to be checked.\r\n * @returns {boolean}\r\n */\n\n\nvar isSVGGraphicsElement = function () {\n // Some browsers, namely IE and Edge, don't have the SVGGraphicsElement\n // interface.\n if (typeof SVGGraphicsElement !== 'undefined') {\n return function (target) {\n return target instanceof getWindowOf(target).SVGGraphicsElement;\n };\n } // If it's so, then check that element is at least an instance of the\n // SVGElement and that it has the \"getBBox\" method.\n // eslint-disable-next-line no-extra-parens\n\n\n return function (target) {\n return target instanceof getWindowOf(target).SVGElement && typeof target.getBBox === 'function';\n };\n}();\n/**\r\n * Checks whether provided element is a document element ().\r\n *\r\n * @param {Element} target - Element to be checked.\r\n * @returns {boolean}\r\n */\n\n\nfunction isDocumentElement(target) {\n return target === getWindowOf(target).document.documentElement;\n}\n/**\r\n * Calculates an appropriate content rectangle for provided html or svg element.\r\n *\r\n * @param {Element} target - Element content rectangle of which needs to be calculated.\r\n * @returns {DOMRectInit}\r\n */\n\n\nfunction getContentRect(target) {\n if (!isBrowser) {\n return emptyRect;\n }\n\n if (isSVGGraphicsElement(target)) {\n return getSVGContentRect(target);\n }\n\n return getHTMLElementContentRect(target);\n}\n/**\r\n * Creates rectangle with an interface of the DOMRectReadOnly.\r\n * Spec: https://drafts.fxtf.org/geometry/#domrectreadonly\r\n *\r\n * @param {DOMRectInit} rectInit - Object with rectangle's x/y coordinates and dimensions.\r\n * @returns {DOMRectReadOnly}\r\n */\n\n\nfunction createReadOnlyRect(_a) {\n var x = _a.x,\n y = _a.y,\n width = _a.width,\n height = _a.height; // If DOMRectReadOnly is available use it as a prototype for the rectangle.\n\n var Constr = typeof DOMRectReadOnly !== 'undefined' ? DOMRectReadOnly : Object;\n var rect = Object.create(Constr.prototype); // Rectangle's properties are not writable and non-enumerable.\n\n defineConfigurable(rect, {\n x: x,\n y: y,\n width: width,\n height: height,\n top: y,\n right: x + width,\n bottom: height + y,\n left: x\n });\n return rect;\n}\n/**\r\n * Creates DOMRectInit object based on the provided dimensions and the x/y coordinates.\r\n * Spec: https://drafts.fxtf.org/geometry/#dictdef-domrectinit\r\n *\r\n * @param {number} x - X coordinate.\r\n * @param {number} y - Y coordinate.\r\n * @param {number} width - Rectangle's width.\r\n * @param {number} height - Rectangle's height.\r\n * @returns {DOMRectInit}\r\n */\n\n\nfunction createRectInit(x, y, width, height) {\n return {\n x: x,\n y: y,\n width: width,\n height: height\n };\n}\n/**\r\n * Class that is responsible for computations of the content rectangle of\r\n * provided DOM element and for keeping track of it's changes.\r\n */\n\n\nvar ResizeObservation =\n/** @class */\nfunction () {\n /**\r\n * Creates an instance of ResizeObservation.\r\n *\r\n * @param {Element} target - Element to be observed.\r\n */\n function ResizeObservation(target) {\n /**\r\n * Broadcasted width of content rectangle.\r\n *\r\n * @type {number}\r\n */\n this.broadcastWidth = 0;\n /**\r\n * Broadcasted height of content rectangle.\r\n *\r\n * @type {number}\r\n */\n\n this.broadcastHeight = 0;\n /**\r\n * Reference to the last observed content rectangle.\r\n *\r\n * @private {DOMRectInit}\r\n */\n\n this.contentRect_ = createRectInit(0, 0, 0, 0);\n this.target = target;\n }\n /**\r\n * Updates content rectangle and tells whether it's width or height properties\r\n * have changed since the last broadcast.\r\n *\r\n * @returns {boolean}\r\n */\n\n\n ResizeObservation.prototype.isActive = function () {\n var rect = getContentRect(this.target);\n this.contentRect_ = rect;\n return rect.width !== this.broadcastWidth || rect.height !== this.broadcastHeight;\n };\n /**\r\n * Updates 'broadcastWidth' and 'broadcastHeight' properties with a data\r\n * from the corresponding properties of the last observed content rectangle.\r\n *\r\n * @returns {DOMRectInit} Last observed content rectangle.\r\n */\n\n\n ResizeObservation.prototype.broadcastRect = function () {\n var rect = this.contentRect_;\n this.broadcastWidth = rect.width;\n this.broadcastHeight = rect.height;\n return rect;\n };\n\n return ResizeObservation;\n}();\n\nvar ResizeObserverEntry =\n/** @class */\nfunction () {\n /**\r\n * Creates an instance of ResizeObserverEntry.\r\n *\r\n * @param {Element} target - Element that is being observed.\r\n * @param {DOMRectInit} rectInit - Data of the element's content rectangle.\r\n */\n function ResizeObserverEntry(target, rectInit) {\n var contentRect = createReadOnlyRect(rectInit); // According to the specification following properties are not writable\n // and are also not enumerable in the native implementation.\n //\n // Property accessors are not being used as they'd require to define a\n // private WeakMap storage which may cause memory leaks in browsers that\n // don't support this type of collections.\n\n defineConfigurable(this, {\n target: target,\n contentRect: contentRect\n });\n }\n\n return ResizeObserverEntry;\n}();\n\nvar ResizeObserverSPI =\n/** @class */\nfunction () {\n /**\r\n * Creates a new instance of ResizeObserver.\r\n *\r\n * @param {ResizeObserverCallback} callback - Callback function that is invoked\r\n * when one of the observed elements changes it's content dimensions.\r\n * @param {ResizeObserverController} controller - Controller instance which\r\n * is responsible for the updates of observer.\r\n * @param {ResizeObserver} callbackCtx - Reference to the public\r\n * ResizeObserver instance which will be passed to callback function.\r\n */\n function ResizeObserverSPI(callback, controller, callbackCtx) {\n /**\r\n * Collection of resize observations that have detected changes in dimensions\r\n * of elements.\r\n *\r\n * @private {Array}\r\n */\n this.activeObservations_ = [];\n /**\r\n * Registry of the ResizeObservation instances.\r\n *\r\n * @private {Map}\r\n */\n\n this.observations_ = new MapShim();\n\n if (typeof callback !== 'function') {\n throw new TypeError('The callback provided as parameter 1 is not a function.');\n }\n\n this.callback_ = callback;\n this.controller_ = controller;\n this.callbackCtx_ = callbackCtx;\n }\n /**\r\n * Starts observing provided element.\r\n *\r\n * @param {Element} target - Element to be observed.\r\n * @returns {void}\r\n */\n\n\n ResizeObserverSPI.prototype.observe = function (target) {\n if (!arguments.length) {\n throw new TypeError('1 argument required, but only 0 present.');\n } // Do nothing if current environment doesn't have the Element interface.\n\n\n if (typeof Element === 'undefined' || !(Element instanceof Object)) {\n return;\n }\n\n if (!(target instanceof getWindowOf(target).Element)) {\n throw new TypeError('parameter 1 is not of type \"Element\".');\n }\n\n var observations = this.observations_; // Do nothing if element is already being observed.\n\n if (observations.has(target)) {\n return;\n }\n\n observations.set(target, new ResizeObservation(target));\n this.controller_.addObserver(this); // Force the update of observations.\n\n this.controller_.refresh();\n };\n /**\r\n * Stops observing provided element.\r\n *\r\n * @param {Element} target - Element to stop observing.\r\n * @returns {void}\r\n */\n\n\n ResizeObserverSPI.prototype.unobserve = function (target) {\n if (!arguments.length) {\n throw new TypeError('1 argument required, but only 0 present.');\n } // Do nothing if current environment doesn't have the Element interface.\n\n\n if (typeof Element === 'undefined' || !(Element instanceof Object)) {\n return;\n }\n\n if (!(target instanceof getWindowOf(target).Element)) {\n throw new TypeError('parameter 1 is not of type \"Element\".');\n }\n\n var observations = this.observations_; // Do nothing if element is not being observed.\n\n if (!observations.has(target)) {\n return;\n }\n\n observations.delete(target);\n\n if (!observations.size) {\n this.controller_.removeObserver(this);\n }\n };\n /**\r\n * Stops observing all elements.\r\n *\r\n * @returns {void}\r\n */\n\n\n ResizeObserverSPI.prototype.disconnect = function () {\n this.clearActive();\n this.observations_.clear();\n this.controller_.removeObserver(this);\n };\n /**\r\n * Collects observation instances the associated element of which has changed\r\n * it's content rectangle.\r\n *\r\n * @returns {void}\r\n */\n\n\n ResizeObserverSPI.prototype.gatherActive = function () {\n var _this = this;\n\n this.clearActive();\n this.observations_.forEach(function (observation) {\n if (observation.isActive()) {\n _this.activeObservations_.push(observation);\n }\n });\n };\n /**\r\n * Invokes initial callback function with a list of ResizeObserverEntry\r\n * instances collected from active resize observations.\r\n *\r\n * @returns {void}\r\n */\n\n\n ResizeObserverSPI.prototype.broadcastActive = function () {\n // Do nothing if observer doesn't have active observations.\n if (!this.hasActive()) {\n return;\n }\n\n var ctx = this.callbackCtx_; // Create ResizeObserverEntry instance for every active observation.\n\n var entries = this.activeObservations_.map(function (observation) {\n return new ResizeObserverEntry(observation.target, observation.broadcastRect());\n });\n this.callback_.call(ctx, entries, ctx);\n this.clearActive();\n };\n /**\r\n * Clears the collection of active observations.\r\n *\r\n * @returns {void}\r\n */\n\n\n ResizeObserverSPI.prototype.clearActive = function () {\n this.activeObservations_.splice(0);\n };\n /**\r\n * Tells whether observer has active observations.\r\n *\r\n * @returns {boolean}\r\n */\n\n\n ResizeObserverSPI.prototype.hasActive = function () {\n return this.activeObservations_.length > 0;\n };\n\n return ResizeObserverSPI;\n}(); // Registry of internal observers. If WeakMap is not available use current shim\n// for the Map collection as it has all required methods and because WeakMap\n// can't be fully polyfilled anyway.\n\n\nvar observers = typeof WeakMap !== 'undefined' ? new WeakMap() : new MapShim();\n/**\r\n * ResizeObserver API. Encapsulates the ResizeObserver SPI implementation\r\n * exposing only those methods and properties that are defined in the spec.\r\n */\n\nvar ResizeObserver =\n/** @class */\nfunction () {\n /**\r\n * Creates a new instance of ResizeObserver.\r\n *\r\n * @param {ResizeObserverCallback} callback - Callback that is invoked when\r\n * dimensions of the observed elements change.\r\n */\n function ResizeObserver(callback) {\n if (!(this instanceof ResizeObserver)) {\n throw new TypeError('Cannot call a class as a function.');\n }\n\n if (!arguments.length) {\n throw new TypeError('1 argument required, but only 0 present.');\n }\n\n var controller = ResizeObserverController.getInstance();\n var observer = new ResizeObserverSPI(callback, controller, this);\n observers.set(this, observer);\n }\n\n return ResizeObserver;\n}(); // Expose public methods of ResizeObserver.\n\n\n['observe', 'unobserve', 'disconnect'].forEach(function (method) {\n ResizeObserver.prototype[method] = function () {\n var _a;\n\n return (_a = observers.get(this))[method].apply(_a, arguments);\n };\n});\n\nvar index = function () {\n // Export existing implementation if available.\n if (typeof global$1.ResizeObserver !== 'undefined') {\n return global$1.ResizeObserver;\n }\n\n return ResizeObserver;\n}();\n\nexport default index;","import React from \"react\"\nimport $ from 'jquery';\nimport ProgressBar from 'progressbar.js'\nimport { Background } from './common/background-image.component';\nimport {RichText} from 'prismic-reactjs';\nimport { linkResolver } from \"../link-resolver\";\nimport { Image } from \"./common/image.component\"\n\nexport class Header extends React.Component {\n componentDidMount() {\n const slider = $(\".slider\");\n const sliderNav = $(\".slider-nav\");\n const sliderCount = $(\".slider-counter__count\");\n const time = 7;\n let $progressBar,\n $bar,\n $elem,\n isPause,\n tick,\n percentTime,\n circle;\n\n if (document.querySelector(\".circle-progress\")) {\n circle = new ProgressBar.Circle(\".circle-progress\", {\n color: \"#205a9c\",\n strokeWidth: 2,\n trailWidth: 1,\n duration: 600,\n })\n }\n\n function progressBar(elem) {\n $elem = elem\n //build progress bar elements\n buildProgressBar()\n //start counting\n start()\n }\n\n function buildProgressBar() {\n $progressBar = $(\"
\", {\n id: \"progressBar\",\n })\n $bar = $(\"
\", {\n id: \"bar\",\n })\n $progressBar.append($bar).prependTo($elem)\n }\n\n function start() {\n //reset timer\n percentTime = 0\n isPause = false\n //run interval every 0.01 second\n tick = setInterval(interval, 10)\n }\n\n function interval() {\n if (isPause === false) {\n percentTime += 1 / time\n $bar.css({\n width: percentTime + \"%\",\n })\n\n //if percentTime is equal or greater than 100\n circle.set(percentTime / 100)\n if (percentTime >= 100) {\n //slide to next item\n $elem.trigger(\"owl.next\")\n }\n }\n }\n\n //pause while dragging\n function pauseOnDragging() {\n isPause = true\n }\n\n //moved callback\n function moved() {\n //clear interval\n clearTimeout(tick)\n //start again\n start()\n }\n\n function afterAction() {\n const self = $(this)\n sliderCount.text(self[0].currentItem + 1)\n sliderNav.find(\"li\").removeClass(\"active\")\n sliderNav.find(\"li\").eq(self[0].currentItem).addClass(\"active\")\n }\n\n slider.owlCarousel({\n singleItem: true,\n pagination: false,\n paginationNumbers: true,\n slideSpeed: 600,\n paginationSpeed: 600,\n afterInit: progressBar,\n afterMove: moved,\n startDragging: pauseOnDragging,\n afterAction: afterAction,\n })\n\n sliderNav.on(\"click\", \"li\", function(e) {\n e.preventDefault()\n slider.trigger(\"owl.goTo\", $(this).index())\n })\n }\n\n render() {\n const { headerSlides } = this.props\n if (headerSlides.length === 1) {\n const slide = headerSlides[0]\n const hasImage = slide.background_image;\n return (\n \n
\n
\n
\n
\n
\n
\n \n
\n
\n
\n
\n \n )\n } else if (headerSlides.length > 1) {\n return (\n
\n
\n
\n
\n

1/{headerSlides.length}\n

\n
\n
\n
\n
\n {headerSlides.map(slide => (\n \n
\n
\n
\n
\n
\n \n
\n
\n
\n
\n
\n
\n ))}\n
\n
\n
\n \n
\n
\n
\n )\n } else {\n return null\n }\n }\n}\n","import React from \"react\"\nimport { RichText } from \"./rich-text.component\"\nimport { getLinkClass } from \"../../utils/styles\"\nimport { CustomLink } from \"./custom-link.component\"\n\nexport const AsideNavigation = ({navigation}) => {\n return (\n
\n
\n \n
\n
    \n {navigation.body.map((menu, index) => {\n return (\n
  • \n
    \n {menu.primary.nav_text}\n
    \n
      \n {menu.fields.map(menuItem => {\n return (\n
    • \n \n {menuItem.link_text}\n \n
    • \n )\n })}\n
    \n
  • )\n })}\n
\n
\n )\n}\n\n\n","import _inheritsLoose from \"@babel/runtime/helpers/inheritsLoose\";\nimport React from \"react\";\nimport ResizeObserver from \"resize-observer-polyfill\";\n\nvar getScrollParent = function getScrollParent(node) {\n var parent = node;\n\n while (parent = parent.parentElement) {\n var overflowYVal = getComputedStyle(parent, null).getPropertyValue(\"overflow-y\");\n if (parent === document.body) return window;\n if (overflowYVal === \"auto\" || overflowYVal === \"scroll\") return parent;\n }\n\n return window;\n};\n\nvar offsetTill = function offsetTill(node, target) {\n var current = node;\n var offset = 0; // If target is not an offsetParent itself, subtract its offsetTop and set correct target\n\n if (target.firstChild && target.firstChild.offsetParent !== target) {\n offset += node.offsetTop - target.offsetTop;\n target = node.offsetParent;\n offset += -node.offsetTop;\n }\n\n do {\n offset += current.offsetTop;\n current = current.offsetParent;\n } while (current && current !== target);\n\n return offset;\n};\n\nvar stickyProp = null;\n\nif (typeof CSS !== \"undefined\" && CSS.supports) {\n if (CSS.supports(\"position\", \"sticky\")) stickyProp = \"sticky\";else if (CSS.supports(\"position\", \"-webkit-sticky\")) stickyProp = \"-webkit-sticky\";\n} // Inspired by https://github.com/WICG/EventListenerOptions/blob/gh-pages/explainer.md#feature-detection\n\n\nvar passiveArg = false;\n\ntry {\n var opts = Object.defineProperty({}, \"passive\", {\n // eslint-disable-next-line getter-return\n get: function get() {\n passiveArg = {\n passive: true\n };\n }\n });\n window.addEventListener(\"testPassive\", null, opts);\n window.removeEventListener(\"testPassive\", null, opts);\n} catch (e) {}\n\nvar StickyBox = /*#__PURE__*/function (_React$Component) {\n _inheritsLoose(StickyBox, _React$Component);\n\n function StickyBox(props) {\n var _this = _React$Component.call(this, props) || this;\n\n _this.addListener = function (element, event, handler, passive) {\n element.addEventListener(event, handler, passive);\n\n _this.unsubscribes.push(function () {\n return element.removeEventListener(event, handler);\n });\n };\n\n _this.addResizeObserver = function (node, handler) {\n var ro = new ResizeObserver(handler);\n ro.observe(node);\n\n _this.unsubscribes.push(function () {\n return ro.disconnect();\n });\n };\n\n _this.registerContainerRef = function (n) {\n if (!stickyProp) return;\n _this.node = n;\n\n if (n) {\n _this.scrollPane = getScrollParent(_this.node);\n _this.latestScrollY = _this.scrollPane === window ? window.scrollY : _this.scrollPane.scrollTop;\n\n _this.addListener(_this.scrollPane, \"scroll\", _this.handleScroll, passiveArg);\n\n _this.addListener(_this.scrollPane, \"mousewheel\", _this.handleScroll, passiveArg);\n\n if (_this.scrollPane === window) {\n _this.addListener(window, \"resize\", _this.handleWindowResize);\n\n _this.handleWindowResize();\n } else {\n _this.addResizeObserver(_this.scrollPane, _this.handleScrollPaneResize);\n\n _this.handleScrollPaneResize();\n }\n\n _this.addResizeObserver(_this.node.parentNode, _this.handleParentNodeResize);\n\n _this.handleParentNodeResize();\n\n _this.addResizeObserver(_this.node, _this.handleNodeResize);\n\n _this.handleNodeResize({\n initial: true\n });\n\n _this.initial();\n } else {\n _this.unsubscribes.forEach(function (fn) {\n return fn();\n });\n\n _this.unsubscribes = [];\n _this.scrollPane = null;\n }\n };\n\n _this.getCurrentOffset = function () {\n if (_this.mode === \"relative\") return _this.offset;\n var _this$props = _this.props,\n offsetTop = _this$props.offsetTop,\n offsetBottom = _this$props.offsetBottom;\n\n if (_this.mode === \"stickyTop\") {\n return Math.max(0, _this.scrollPaneOffset + _this.latestScrollY - _this.naturalTop + offsetTop);\n }\n\n if (_this.mode === \"stickyBottom\") {\n return Math.max(0, _this.scrollPaneOffset + _this.latestScrollY + _this.viewPortHeight - (_this.naturalTop + _this.nodeHeight + offsetBottom));\n }\n };\n\n _this.handleWindowResize = function () {\n _this.viewPortHeight = window.innerHeight;\n _this.scrollPaneOffset = 0;\n\n _this.handleScroll();\n };\n\n _this.handleScrollPaneResize = function () {\n _this.viewPortHeight = _this.scrollPane.offsetHeight;\n\n if (process.env.NODE_ENV !== \"production\" && _this.viewPortHeight === 0) {\n console.warn(\"react-sticky-box's scroll pane has a height of 0. This seems odd. Please check this node:\", _this.scrollPane);\n } // Only applicable if scrollPane is an offsetParent\n\n\n if (_this.scrollPane.firstChild.offsetParent === _this.scrollPane) {\n _this.scrollPaneOffset = _this.scrollPane.getBoundingClientRect().top;\n } else {\n _this.scrollPaneOffset = 0;\n }\n\n _this.handleScroll();\n };\n\n _this.handleParentNodeResize = function () {\n var parentNode = _this.node.parentNode;\n var computedParentStyle = getComputedStyle(parentNode, null);\n var parentPaddingTop = parseInt(computedParentStyle.getPropertyValue(\"padding-top\"), 10);\n var parentPaddingBottom = parseInt(computedParentStyle.getPropertyValue(\"padding-bottom\"), 10);\n _this.naturalTop = offsetTill(parentNode, _this.scrollPane) + parentPaddingTop + _this.scrollPaneOffset;\n var oldParentHeight = _this.parentHeight;\n _this.parentHeight = parentNode.getBoundingClientRect().height - (parentPaddingTop + parentPaddingBottom);\n\n if (_this.mode === \"relative\") {\n if (_this.props.bottom) {\n _this.changeMode(\"relative\");\n } else {\n // If parent height decreased...\n if (oldParentHeight > _this.parentHeight) {\n _this.changeToStickyBottomIfBoxTooLow(_this.latestScrollY);\n }\n }\n }\n\n if (oldParentHeight !== _this.parentHeight && _this.mode === \"relative\") {\n _this.latestScrollY = Number.POSITIVE_INFINITY;\n\n _this.handleScroll();\n }\n };\n\n _this.handleNodeResize = function (_temp) {\n var _ref = _temp === void 0 ? {} : _temp,\n initial = _ref.initial;\n\n var prevHeight = _this.nodeHeight;\n _this.nodeHeight = _this.node.getBoundingClientRect().height;\n\n if (!initial && prevHeight !== _this.nodeHeight) {\n var _this$props2 = _this.props,\n offsetTop = _this$props2.offsetTop,\n offsetBottom = _this$props2.offsetBottom,\n bottom = _this$props2.bottom;\n\n if (_this.nodeHeight + offsetTop + offsetBottom <= _this.viewPortHeight) {\n // Just make it sticky if node smaller than viewport\n _this.mode = undefined;\n\n _this.initial();\n } else {\n var diff = prevHeight - _this.nodeHeight;\n var lowestPossible = _this.parentHeight - _this.nodeHeight;\n var nextOffset = Math.min(lowestPossible, _this.getCurrentOffset() + (bottom ? diff : 0));\n _this.offset = Math.max(0, nextOffset);\n if (!bottom || _this.mode !== \"stickyBottom\") _this.changeMode(\"relative\");\n }\n }\n };\n\n _this.handleScroll = function () {\n var _this$props3 = _this.props,\n offsetTop = _this$props3.offsetTop,\n offsetBottom = _this$props3.offsetBottom;\n var scrollY = _this.scrollPane === window ? window.scrollY : _this.scrollPane.scrollTop;\n if (scrollY === _this.latestScrollY) return;\n\n if (_this.nodeHeight + offsetTop + offsetBottom <= _this.viewPortHeight) {\n // Just make it sticky if node smaller than viewport\n _this.initial();\n\n _this.latestScrollY = scrollY;\n return;\n }\n\n var scrollDelta = scrollY - _this.latestScrollY;\n _this.offset = _this.getCurrentOffset();\n\n if (scrollDelta > 0) {\n // scroll down\n if (_this.mode === \"stickyTop\") {\n if (scrollY + _this.scrollPaneOffset + offsetTop > _this.naturalTop) {\n if (scrollY + _this.scrollPaneOffset + _this.viewPortHeight <= _this.naturalTop + _this.nodeHeight + _this.offset + offsetBottom) {\n _this.changeMode(\"relative\");\n } else {\n _this.changeMode(\"stickyBottom\");\n }\n }\n } else if (_this.mode === \"relative\") {\n _this.changeToStickyBottomIfBoxTooLow(scrollY);\n }\n } else {\n // scroll up\n if (_this.mode === \"stickyBottom\") {\n if (_this.scrollPaneOffset + scrollY + _this.viewPortHeight < _this.naturalTop + _this.parentHeight + offsetBottom) {\n if (_this.scrollPaneOffset + scrollY + offsetTop >= _this.naturalTop + _this.offset) {\n _this.changeMode(\"relative\");\n } else {\n _this.changeMode(\"stickyTop\");\n }\n }\n } else if (_this.mode === \"relative\") {\n if (_this.scrollPaneOffset + scrollY + offsetTop < _this.naturalTop + _this.offset) {\n _this.changeMode(\"stickyTop\");\n }\n }\n }\n\n _this.latestScrollY = scrollY;\n };\n\n if (props.offset && process.env.NODE_ENV !== \"production\") {\n console.warn(\"react-sticky-box's \\\"offset\\\" prop is deprecated. Please use \\\"offsetTop\\\" instead. It'll be removed in v0.8.\");\n }\n\n _this.unsubscribes = [];\n return _this;\n }\n\n var _proto = StickyBox.prototype;\n\n _proto.changeMode = function changeMode(newMode) {\n var _this$props4 = this.props,\n onChangeMode = _this$props4.onChangeMode,\n offsetTop = _this$props4.offsetTop,\n offsetBottom = _this$props4.offsetBottom,\n bottom = _this$props4.bottom;\n if (this.mode !== newMode) onChangeMode(this.mode, newMode);\n this.mode = newMode;\n\n if (newMode === \"relative\") {\n this.node.style.position = \"relative\";\n\n if (bottom) {\n var nextBottom = Math.max(0, this.parentHeight - this.nodeHeight - this.offset);\n this.node.style.bottom = nextBottom + \"px\";\n } else {\n this.node.style.top = this.offset + \"px\";\n }\n } else {\n this.node.style.position = stickyProp;\n\n if (newMode === \"stickyBottom\") {\n if (bottom) {\n this.node.style.bottom = offsetBottom + \"px\";\n } else {\n this.node.style.top = this.viewPortHeight - this.nodeHeight - offsetBottom + \"px\";\n }\n } else {\n // stickyTop\n if (bottom) {\n this.node.style.bottom = this.viewPortHeight - this.nodeHeight - offsetBottom + \"px\";\n } else {\n this.node.style.top = offsetTop + \"px\";\n }\n }\n }\n\n this.offset = this.getCurrentOffset();\n };\n\n _proto.initial = function initial() {\n var bottom = this.props.bottom;\n\n if (bottom) {\n if (this.mode !== \"stickyBottom\") this.changeMode(\"stickyBottom\");\n } else {\n if (this.mode !== \"stickyTop\") this.changeMode(\"stickyTop\");\n }\n };\n\n _proto.changeToStickyBottomIfBoxTooLow = function changeToStickyBottomIfBoxTooLow(scrollY) {\n var offsetBottom = this.props.offsetBottom;\n\n if (scrollY + this.scrollPaneOffset + this.viewPortHeight >= this.naturalTop + this.nodeHeight + this.offset + offsetBottom) {\n this.changeMode(\"stickyBottom\");\n }\n };\n\n _proto.render = function render() {\n var _this$props5 = this.props,\n children = _this$props5.children,\n className = _this$props5.className,\n style = _this$props5.style;\n return React.createElement(\"div\", {\n className: className,\n style: style,\n ref: this.registerContainerRef\n }, children);\n };\n\n return StickyBox;\n}(React.Component);\n\nexport { StickyBox as default };\nStickyBox.defaultProps = {\n onChangeMode: function onChangeMode() {},\n offsetTop: 0,\n offsetBottom: 0\n};\nprocess.env.NODE_ENV !== \"production\" ? void 0 : void 0;","import React from \"react\"\nimport Layout from \"./layout.component\"\nimport { Navbar } from \"./navbar.component\"\nimport PropTypes from 'prop-types';\nimport { Header } from \"./header.component\"\nimport { Slices } from \"./slices.component\"\nimport { RequestQuote } from \"./request-quote.component\"\nimport { AsideNavigation } from \"./common/aside-navigation.component\"\nimport StickyBox from \"react-sticky-box\";\nimport SEO from \"./common/seo.component\"\n\n\nclass ContentPage extends React.Component {\n componentDidMount() {\n\n }\n\n render() {\n const { pageContext } = this.props\n const { header_slides, body, aside_navigation } = pageContext;\n return (\n \n \n \n
\n
\n {aside_navigation ? (\n
\n
\n
\n \n \n \n
\n
1} />
\n
\n
\n ) :\n 1} />\n }\n
\n \n \n )\n }\n}\n\nContentPage.propTypes = {\n pageContext: PropTypes.object.isRequired\n};\n\nexport default ContentPage\n\n\n\n","// Utility functions\nvar PREFIXES = 'Webkit Moz O ms'.split(' ');\nvar FLOAT_COMPARISON_EPSILON = 0.001; // Copy all attributes from source object to destination object.\n// destination object is mutated.\n\nfunction extend(destination, source, recursive) {\n destination = destination || {};\n source = source || {};\n recursive = recursive || false;\n\n for (var attrName in source) {\n if (source.hasOwnProperty(attrName)) {\n var destVal = destination[attrName];\n var sourceVal = source[attrName];\n\n if (recursive && isObject(destVal) && isObject(sourceVal)) {\n destination[attrName] = extend(destVal, sourceVal, recursive);\n } else {\n destination[attrName] = sourceVal;\n }\n }\n }\n\n return destination;\n} // Renders templates with given variables. Variables must be surrounded with\n// braces without any spaces, e.g. {variable}\n// All instances of variable placeholders will be replaced with given content\n// Example:\n// render('Hello, {message}!', {message: 'world'})\n\n\nfunction render(template, vars) {\n var rendered = template;\n\n for (var key in vars) {\n if (vars.hasOwnProperty(key)) {\n var val = vars[key];\n var regExpString = '\\\\{' + key + '\\\\}';\n var regExp = new RegExp(regExpString, 'g');\n rendered = rendered.replace(regExp, val);\n }\n }\n\n return rendered;\n}\n\nfunction setStyle(element, style, value) {\n var elStyle = element.style; // cache for performance\n\n for (var i = 0; i < PREFIXES.length; ++i) {\n var prefix = PREFIXES[i];\n elStyle[prefix + capitalize(style)] = value;\n }\n\n elStyle[style] = value;\n}\n\nfunction setStyles(element, styles) {\n forEachObject(styles, function (styleValue, styleName) {\n // Allow disabling some individual styles by setting them\n // to null or undefined\n if (styleValue === null || styleValue === undefined) {\n return;\n } // If style's value is {prefix: true, value: '50%'},\n // Set also browser prefixed styles\n\n\n if (isObject(styleValue) && styleValue.prefix === true) {\n setStyle(element, styleName, styleValue.value);\n } else {\n element.style[styleName] = styleValue;\n }\n });\n}\n\nfunction capitalize(text) {\n return text.charAt(0).toUpperCase() + text.slice(1);\n}\n\nfunction isString(obj) {\n return typeof obj === 'string' || obj instanceof String;\n}\n\nfunction isFunction(obj) {\n return typeof obj === 'function';\n}\n\nfunction isArray(obj) {\n return Object.prototype.toString.call(obj) === '[object Array]';\n} // Returns true if `obj` is object as in {a: 1, b: 2}, not if it's function or\n// array\n\n\nfunction isObject(obj) {\n if (isArray(obj)) {\n return false;\n }\n\n var type = typeof obj;\n return type === 'object' && !!obj;\n}\n\nfunction forEachObject(object, callback) {\n for (var key in object) {\n if (object.hasOwnProperty(key)) {\n var val = object[key];\n callback(val, key);\n }\n }\n}\n\nfunction floatEquals(a, b) {\n return Math.abs(a - b) < FLOAT_COMPARISON_EPSILON;\n} // https://coderwall.com/p/nygghw/don-t-use-innerhtml-to-empty-dom-elements\n\n\nfunction removeChildren(el) {\n while (el.firstChild) {\n el.removeChild(el.firstChild);\n }\n}\n\nmodule.exports = {\n extend: extend,\n render: render,\n setStyle: setStyle,\n setStyles: setStyles,\n capitalize: capitalize,\n isString: isString,\n isFunction: isFunction,\n isObject: isObject,\n forEachObject: forEachObject,\n floatEquals: floatEquals,\n removeChildren: removeChildren\n};","// Square shaped progress bar\n// Note: Square is not core part of API anymore. It's left here\n// for reference. square is not included to the progressbar\n// build anymore\nvar Shape = require('./shape');\n\nvar utils = require('./utils');\n\nvar Square = function Square(container, options) {\n this._pathTemplate = 'M 0,{halfOfStrokeWidth}' + ' L {width},{halfOfStrokeWidth}' + ' L {width},{width}' + ' L {halfOfStrokeWidth},{width}' + ' L {halfOfStrokeWidth},{strokeWidth}';\n this._trailTemplate = 'M {startMargin},{halfOfStrokeWidth}' + ' L {width},{halfOfStrokeWidth}' + ' L {width},{width}' + ' L {halfOfStrokeWidth},{width}' + ' L {halfOfStrokeWidth},{halfOfStrokeWidth}';\n Shape.apply(this, arguments);\n};\n\nSquare.prototype = new Shape();\nSquare.prototype.constructor = Square;\n\nSquare.prototype._pathString = function _pathString(opts) {\n var w = 100 - opts.strokeWidth / 2;\n return utils.render(this._pathTemplate, {\n width: w,\n strokeWidth: opts.strokeWidth,\n halfOfStrokeWidth: opts.strokeWidth / 2\n });\n};\n\nSquare.prototype._trailString = function _trailString(opts) {\n var w = 100 - opts.strokeWidth / 2;\n return utils.render(this._trailTemplate, {\n width: w,\n strokeWidth: opts.strokeWidth,\n halfOfStrokeWidth: opts.strokeWidth / 2,\n startMargin: opts.strokeWidth / 2 - opts.trailWidth / 2\n });\n};\n\nmodule.exports = Square;"],"sourceRoot":""}