{"version":3,"sources":["accordion.js","background-setter.js","form-controls.js","lazy-load.js","lightbox.js","lump-sum-form.js","reveal.js","send-message-form.js","sticky-cta.js","styleguide.js","lib/jquery.fitvids.js"],"names":["$","document","ready","find","on","speed","this","closest","removeClass","slideUp","css","$content","accordionIsOpen","imageAsParentBackground","$img","each","parent","$target","addClass","attr","data","wrapperClass","split","wrapperClasses","i","length","children","hasClass","hPosition","vPosition","fit","background-size","background-repeat","backgroundColor","rgba","opacity","result","r","parseInt","exec","hex","g","b","rgb_obj","console","log","e","message","setBackgroundOverlay","remove","waitForValidation","$form","window","scrollLeft","updateValidationMessages","updateValidationMessage","$field","$requiredChildren","$formattedChildren","val","click","submit","evt","grecaptcha","getResponse","alert","lazyBackgrounds","Array","from","querySelectorAll","lazyImages","lazyFrames","loadedClass","entries","observer","entry","lazyElementObserver","IntersectionObserver","isIntersecting","target","element","src","nodeName","style","backgroundImage","classList","add","addEventListener","forEach","el","observe","idx","item","lightboxNumber","modal","id","stopPropagation","placeholderText","contents","filter","nodeType","Node","TEXT_NODE","text","siblings","fn","reveal","offset","$reveals","handleRevealedClass","scrollTop","height","top","$this","addCharDelay","delay","$reveal","revealString","revealChar","charIsSpace","$result","append","html","setLinks","href","copyToClipboard","copyText","getElementById","select","execCommand","value","toggleClass","fitVids","options","head","settings","customSelector","ignore","getElementsByTagName","div","createElement","extend","selectors","ignoreList","$allVideos","join","parents","not","tagName","wrap","toLowerCase","isNaN","width","aspectRatio","_count","videoName","removeAttr","jQuery","Zepto"],"mappings":"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","file":"all.min.js","sourcesContent":["$(document).ready(function () {\r\n var speed = 500;\r\n $(\".accordion\").find(\".trigger\").on('click', function () {\r\n var $content = $(this).closest('.accordion').find(\".accordion-content\");\r\n $('.accordion').removeClass('open').find(\".accordion-content\").slideUp(speed);\r\n\r\n (accordionIsOpen($content)) ?\r\n $content.slideUp(speed).closest('.accordion').removeClass('open') :\r\n $content.slideDown(speed).closest('.accordion').addClass('open');\r\n });\r\n\r\n function accordionIsOpen($content) {\r\n return $content.css('display') == 'block';\r\n }\r\n})","\r\n//:: HANDLES IMAGE SOURCE TO BACKGROUND IMAGE :://\r\nvar imageAsParentBackground = function () {\r\n var $img = $(\"img.set-as-background, .background-image-placeholder img\");\r\n $img.each(function () {\r\n var $target = $(this).closest(\".container\").parent();\r\n $target.addClass(\"has-background-image lazy-bg\");\r\n $target.attr('data-src', $(this).attr(\"src\"));\r\n var wrapperClass = $('.background-setter-config', $target).data('wrapper-class');\r\n if (wrapperClass) {\r\n var wrapperClasses = wrapperClass.split(' ');\r\n for (var i = 0; i < wrapperClasses.length; i++) {\r\n $target.addClass('background-' + wrapperClasses[i]);\r\n }\r\n }\r\n if (!$(this).closest(\".container\").children().hasClass(\"no-border\")) {\r\n $target.addClass(\"has-bottom-border\");\r\n }\r\n var hPosition = $(this).attr(\"data-horizontal-position\");\r\n var vPosition = $(this).attr(\"data-vertical-position\");\r\n var fit = $(this).attr(\"data-fit\");\r\n\r\n $target.css({\r\n \"background-position\": hPosition + \" \" + vPosition\r\n });\r\n\r\n if (fit === \"cover\" || fit === \"contain\") {\r\n $target.css({ \"background-size\": fit });\r\n $target.css({ \"background-repeat\": \"no-repeat\" });\r\n }\r\n else {\r\n $target.css({ \"background-repeat\": fit });\r\n }\r\n\r\n $target.css({ \"backgroundColor\": setBackgroundOverlay($target) });\r\n\r\n $(this).remove();\r\n\r\n });\r\n\r\n function setBackgroundOverlay($target) {\r\n var rgb_obj = hexToRgb($('.background-setter-config', $target).data('color'));\r\n var opacity = $('.background-setter-config', $target).data('opacity');\r\n var rgba;\r\n try {\r\n rgba = \"rgba(\" + rgb_obj.r + \",\" + rgb_obj.g + \",\" + rgb_obj.b + \",\" + opacity + \")\";\r\n }\r\n catch (e) {\r\n rgba = \"rgba(0,0,0,0)\";//set transparent\r\n console.log(e.message);\r\n }\r\n return rgba;\r\n }\r\n\r\n function hexToRgb(hex) {\r\n var result = /^#?([a-f\\d]{2})([a-f\\d]{2})([a-f\\d]{2})$/i.exec(hex);\r\n return result ? {\r\n r: parseInt(result[1], 16),\r\n g: parseInt(result[2], 16),\r\n b: parseInt(result[3], 16)\r\n } : null;\r\n }\r\n\r\n\r\n};\r\n\r\n$(document).ready(function () {\r\n imageAsParentBackground();\r\n});\r\n\r\n","$(window).on(\"load\", function () { // Formstack forms aren't available on the initial DOM; they get loaded in by a script.\r\n // Select validation error message on failed form submission.\r\n $(\"form input[type=submit]\").click(function () {\r\n waitForValidation($(this).closest(\"form\"));\r\n });\r\n // Select validation error message on failed field navigation.\r\n $(\"form input, form textarea\").blur(function () {\r\n //updateValidationMessage($(this).parent(\".fsValidationError\"));\r\n });\r\n\r\n //reCAPTCHA Validation\r\n $(\"form\").submit(function (evt) {\r\n if (grecaptcha.getResponse() === \"\") {\r\n alert(\"Please check I'm not a robot !\");\r\n evt.preventDefault();\r\n }\r\n });\r\n});\r\n\r\nfunction waitForValidation($form) {\r\n if ($form.find(\".fsValidationError\").length) {\r\n $(window).scrollLeft(0); // Edge scrolls so that the form is on the left edge of the page when invalid. This undoes that.\r\n updateValidationMessages($form);\r\n } else {\r\n setTimeout(waitForValidation, 100, $form);\r\n }\r\n}\r\n\r\nfunction updateValidationMessages($form) {\r\n $form.find(\".fsValidationError\").each(function () {\r\n updateValidationMessage($(this));\r\n });\r\n}\r\n\r\nfunction updateValidationMessage($field) {\r\n $field.removeClass(\"empty\").removeClass(\"misformatted\").removeClass(\"invalid\");\r\n var $requiredChildren = $field.children(\"input.fsRequired, textarea.fsRequired\");\r\n var $formattedChildren = $field.children('input[class^=\"fsFormat\"], input[class*=\" fsFormat\"], textarea[class^=\"fsFormat\"], textarea[class*=\" fsFormat\"]');\r\n if ($requiredChildren.length && $requiredChildren.val() === \"\") {\r\n $field.addClass(\"empty\");\r\n } else if ($formattedChildren.length && $formattedChildren.val() !== \"\") {\r\n $field.addClass(\"misformatted\");\r\n } else { // We have failed to determine why the field is invalid, so just display a generic error message.\r\n $field.addClass(\"invalid\");\r\n }\r\n}","$(document).ready(function () {\r\n const lazyBackgrounds = Array.from(document.querySelectorAll(\".lazy-bg\"));\r\n const lazyImages = Array.from(document.querySelectorAll(\".lazy-img\"));\r\n const lazyFrames = Array.from(document.querySelectorAll(\"iframe[data-src]\"));\r\n const loadedClass = \"inView\";\r\n \r\n console.log(lazyBackgrounds);\r\n const lazyElementObserver = new IntersectionObserver((entries, observer) => {\r\n entries.forEach((entry) => {\r\n if (\r\n entry.isIntersecting &&\r\n !entry.target.classList.contains(loadedClass)\r\n ) {\r\n const element = entry.target;\r\n const src = element.dataset.src;\r\n \r\n switch (element.nodeName) {\r\n case \"IMG\":\r\n element.src = src;\r\n break;\r\n case \"IFRAME\":\r\n element.src = src;\r\n break;\r\n default:\r\n element.style.backgroundImage = `url(${src})`;\r\n break;\r\n }\r\n \r\n element.classList.add(loadedClass);\r\n lazyElementObserver.unobserve(element);\r\n }\r\n });\r\n });\r\n \r\n window.addEventListener(\"DOMContentLoaded\", () => {\r\n [...lazyImages, ...lazyBackgrounds, ...lazyFrames].forEach((el) =>\r\n lazyElementObserver.observe(el)\r\n );\r\n });\r\n \r\n window.addEventListener(\"scroll\", () => {\r\n [...lazyImages, ...lazyBackgrounds, ...lazyFrames].forEach((el) =>\r\n lazyElementObserver.observe(el)\r\n );\r\n });\r\n });\r\n ","$(document).ready(function () {\r\n // modal wireup\r\n var lightboxNumber = 0;\r\n $('.modal-container').each(function (idx, item) {\r\n var id = 'lightbox-' + lightboxNumber++;\r\n var modal = $('.modal.fade', item);\r\n $('.modal-trigger', item).attr('data-trigger', id).find('.trigger .sf_colsIn *').click(function () {\r\n // Only execute the following on frontend pages.\r\n if ($('.sfPageEditor').length === 0) {\r\n modal.modal();\r\n }\r\n });\r\n modal.attr('id', id).click(function () {\r\n $(this).modal('hide');\r\n }).find('.modal-content .content .sf_colsIn').click(function (e) {\r\n e.stopPropagation();\r\n });\r\n });\r\n});","$(window).on('load', function () { // The form isn't available on the initial DOM; it gets loaded in by a script.\r\n // Change each label into a placeholder.\r\n $('.lump-sum-form input + label').each(function () {\r\n var placeholderText = $(this).contents().filter(function () {\r\n return this.nodeType == Node.TEXT_NODE; // This filters out any non-text nodes, such as asterisks in hidden spans.\r\n }).text();\r\n $(this).prev('input').attr('title', placeholderText).attr('placeholder', placeholderText);\r\n });\r\n // Mark labels of radio buttons as checked when their radio buttons are checked.\r\n $('.lump-sum-form input[type=radio]').click(function () {\r\n $(this).parent('label').addClass('checked').siblings('label').removeClass('checked');\r\n });\r\n // Validate zip code fields.\r\n $('.lump-sum-form input[type=text][title*=\"Zip\"]').addClass('fsFormatZipUS'); // Formstack provides format validation for US, CA, UK, and AU postal codes.\r\n});","//adds 'revealed' class when scrolled into view. 'offset' - from window bottom\r\n$.fn.reveal = function(offset) {\r\n var $reveals = $(this);\r\n var offset = offset || 0;\r\n $reveals.each(function() {\r\n var $this = $(this);\r\n $(window).on(\"load\", function() {\r\n handleRevealedClass();\r\n });\r\n $(window).on(\"scroll\", function() {\r\n handleRevealedClass();\r\n });\r\n function handleRevealedClass(){\r\n var windowTop = $(window).scrollTop();\r\n var windowBottom = windowTop + $(window).height();\r\n windowBottom - offset > $this.offset().top && $this.addClass(\"revealed\");\r\n }\r\n \r\n });\r\n };\r\n \r\n //surround each character with 'span' and inline incremented style 'transition-delay'\r\n $.fn.addCharDelay = function(delay) {\r\n var $reveals = $(this);\r\n $reveals.each(function() {\r\n var $reveal = $(this);\r\n var revealString = $reveal.text();\r\n var $result = $(\"
\");\r\n var delay = delay || 10;\r\n \r\n for (var i = 0; i < revealString.length; i++) {\r\n var revealChar = revealString[i];\r\n if (charIsSpace(revealChar)) {\r\n revealChar = \" \";\r\n }\r\n $result = $result.append(\r\n \"\" +\r\n revealChar +\r\n \"\"\r\n );\r\n }\r\n $reveal.html($result);\r\n });\r\n function charIsSpace(revealChar) {\r\n return revealChar == \" \";\r\n }\r\n };\r\n \r\n //Call functions\r\n $(\".reveal\").reveal(0);\r\n $(\".text-swing\").addCharDelay(20);\r\n \r\n ","$(window).on('load', function () { // The form isn't available on the initial DOM; it gets loaded in by a script.\r\n // Mark labels of radio buttons as checked when their radio buttons are checked.\r\n $('.send-message-form input[type=radio]').click(function () {\r\n $(this).parent('label').addClass('checked').siblings('label').removeClass('checked');\r\n });\r\n});","$(document).ready(function () {\r\n var $sticky = $(\".sticky-cta\");\r\n\r\n setLinks();\r\n\r\n function setLinks() {\r\n $sticky.find('a[href=\"javascript:void(0)\"]').each(function () {\r\n var href = $(this).find('span[href]').attr('href');\r\n if (href) {\r\n this.href = href;\r\n }\r\n });\r\n }\r\n})","\r\n$(document).ready(function () {\r\n $(\".toggle-theme\").on('click', function () {\r\n $(\"body\").toggleClass(\"dark\");\r\n });\r\n});\r\n\r\n\r\nfunction copyToClipboard() {\r\n var copyText = document.getElementById(\"myInput\");\r\n copyText.select();\r\n document.execCommand(\"Copy\");\r\n alert(\"Copied the text: \" + copyText.value);\r\n}","/*jshint browser:true */\r\n/*!\r\n* FitVids 1.1\r\n*\r\n* Copyright 2013, Chris Coyier - http://css-tricks.com + Dave Rupert - http://daverupert.com\r\n* Credit to Thierry Koblentz - http://www.alistapart.com/articles/creating-intrinsic-ratios-for-video/\r\n* Released under the WTFPL license - http://sam.zoy.org/wtfpl/\r\n*\r\n*/\r\n\r\n;(function( $ ){\r\n\r\n 'use strict';\r\n\r\n $.fn.fitVids = function( options ) {\r\n var settings = {\r\n customSelector: null,\r\n ignore: null\r\n };\r\n\r\n if(!document.getElementById('fit-vids-style')) {\r\n // appendStyles: https://github.com/toddmotto/fluidvids/blob/master/dist/fluidvids.js\r\n var head = document.head || document.getElementsByTagName('head')[0];\r\n var css = '.fluid-width-video-wrapper{width:100%;position:relative;padding:0;}.fluid-width-video-wrapper iframe,.fluid-width-video-wrapper object,.fluid-width-video-wrapper embed {position:absolute;top:0;left:0;width:100%;height:100%;}';\r\n var div = document.createElement(\"div\");\r\n div.innerHTML = '

x

';\r\n head.appendChild(div.childNodes[1]);\r\n }\r\n\r\n if ( options ) {\r\n $.extend( settings, options );\r\n }\r\n\r\n return this.each(function(){\r\n var selectors = [\r\n 'iframe[src*=\"player.vimeo.com\"]',\r\n 'iframe[src*=\"youtube.com\"]',\r\n 'iframe[src*=\"youtube-nocookie.com\"]',\r\n 'iframe[src*=\"kickstarter.com\"][src*=\"video.html\"]',\r\n 'object',\r\n 'embed'\r\n ];\r\n\r\n if (settings.customSelector) {\r\n selectors.push(settings.customSelector);\r\n }\r\n\r\n var ignoreList = '.fitvidsignore';\r\n\r\n if(settings.ignore) {\r\n ignoreList = ignoreList + ', ' + settings.ignore;\r\n }\r\n\r\n var $allVideos = $(this).find(selectors.join(','));\r\n $allVideos = $allVideos.not('object object'); // SwfObj conflict patch\r\n $allVideos = $allVideos.not(ignoreList); // Disable FitVids on this video.\r\n\r\n $allVideos.each(function(){\r\n var $this = $(this);\r\n if($this.parents(ignoreList).length > 0) {\r\n return; // Disable FitVids on this video.\r\n }\r\n if (this.tagName.toLowerCase() === 'embed' && $this.parent('object').length || $this.parent('.fluid-width-video-wrapper').length) { return; }\r\n if ((!$this.css('height') && !$this.css('width')) && (isNaN($this.attr('height')) || isNaN($this.attr('width'))))\r\n {\r\n $this.attr('height', 9);\r\n $this.attr('width', 16);\r\n }\r\n var height = ( this.tagName.toLowerCase() === 'object' || ($this.attr('height') && !isNaN(parseInt($this.attr('height'), 10))) ) ? parseInt($this.attr('height'), 10) : $this.height(),\r\n width = !isNaN(parseInt($this.attr('width'), 10)) ? parseInt($this.attr('width'), 10) : $this.width(),\r\n aspectRatio = height / width;\r\n if(!$this.attr('name')){\r\n var videoName = 'fitvid' + $.fn.fitVids._count;\r\n $this.attr('name', videoName);\r\n $.fn.fitVids._count++;\r\n }\r\n $this.wrap('
').parent('.fluid-width-video-wrapper').css('padding-top', (aspectRatio * 100)+'%');\r\n $this.removeAttr('height').removeAttr('width');\r\n });\r\n });\r\n };\r\n \r\n // Internal counter for unique video names.\r\n $.fn.fitVids._count = 0;\r\n \r\n// Works with either jQuery or Zepto\r\n})( window.jQuery || window.Zepto );"]}