{"version":3,"file":"js/main.min.08f7babd2f1941f77804.js","mappings":"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","sources":["webpack://northernlightscollege/./src/js/main/accessibility.js","webpack://northernlightscollege/./src/js/old/components/menus.js","webpack://northernlightscollege/./src/js/old/components/content.js","webpack://northernlightscollege/./src/js/old/components/scroll-animations.js","webpack://northernlightscollege/./src/js/main/anchor-links.js","webpack://northernlightscollege/./src/js/old/gradient/Gradient.js","webpack://northernlightscollege/./src/js/old/components/acf-map.js","webpack://northernlightscollege/webpack/bootstrap","webpack://northernlightscollege/webpack/runtime/compat get default export","webpack://northernlightscollege/webpack/runtime/define property getters","webpack://northernlightscollege/webpack/runtime/hasOwnProperty shorthand"],"sourcesContent":["/* Accessibility updates */\n$('a[href$=\".pdf\"]').append('<span class=\"sr-only\">PDF</span>');\n$('a[href^=\"mailto:\"]').append('<span class=\"sr-only\">email</span>');\n$('a[href^=\"tel:\"]').append('<span class=\"sr-only\">phone</span>');\n$('a[target=\"_blank\"]').append('<span class=\"sr-only\">new window</span>');","var header = $(\"#header\"); // Header\nvar mainMenu = $(\"#main-menu\"); // Main Menu\nvar siteMenu = $(\"#site-menu\"); // Site Menu Container\nvar browserWindow = $(window); // Window Height\n\nif ($(\".menu-toggle\").length) {\n  document.querySelector(\".menu-toggle\").addEventListener(\"click\", function () {\n    $(\"#pull-menu\").toggleClass(\"fixed\").toggleClass(\"is-active\");\n    $(\"#site-menu\").toggleClass(\"is-active\");\n\n    if ( $(\"#site-menu\").hasClass('is-active') ){\n      $(this).attr('aria-expanded', 'true');\n      $(this).children('.sr-only').html('close main navigation menu');\n      $('#site-menu').attr('aria-hidden', 'false').find('a:not(#mobile-branding)').attr('tabindex', '0');\n    } else {\n      $(this).attr('aria-expanded', 'false');\n      $(this).children('.sr-only').html('open main navigation menu');\n      $('#site-menu').attr('aria-hidden', 'true').find('a:not(#mobile-branding)').attr('tabindex', '-1');\n    }\n  });\n}\n\n$('#footer-and-mobile-menu > li.menu-item-has-children > a').click(function(e){\n  e.preventDefault();\n  e.stopPropagation();\n  $('#footer-and-mobile-menu > li > ul.sub-menu').not($(this).siblings()).slideUp();\n  $('#footer-and-mobile-menu > li.sub-menu-active > a').not($(this)).attr('aria-expanded', 'false').parent().removeClass('sub-menu-active');\n  $(this).siblings('.sub-menu').slideToggle().parent().toggleClass('sub-menu-active');\n\n  if ( $(this).parent().hasClass('sub-menu-active') ){\n    $(this).attr('aria-expanded', 'true');\n  } else {\n    $(this).attr('aria-expanded', 'false');\n  }\n});\n\n$('#footer-and-mobile-menu > li > ul > li.menu-item-has-children > a').click(function(e){\n  e.preventDefault();\n  e.stopPropagation();\n  $('#footer-and-mobile-menu > li > ul > li > ul.sub-menu').not($(this).siblings()).slideUp();\n  $('#footer-and-mobile-menu > li > ul > li.sub-menu-active > a').not($(this)).attr('aria-expanded', 'false').parent().removeClass('sub-menu-active');\n  $(this).siblings('.sub-menu').slideToggle().parent().toggleClass('sub-menu-active');\n\n  if ( $(this).parent().hasClass('sub-menu-active') ){\n    $(this).attr('aria-expanded', 'true');\n  } else {\n    $(this).attr('aria-expanded', 'false');\n  }\n});\n\n$(function(){\n\n  $('#mobile-search-container label[for=\"globalSearch\"]').attr('for', 'global-search').attr('id', 'global-search-label');\n  $('#mobile-search-container input#globalSearch').attr('id', 'global-search');\n\n  if ( $(window).width() < 992 ){\n    $('#mobile-nav a').attr('tabindex', '-1');\n  }\n  //setting submenu ids and attributes for mobile menu\n  $('#footer-and-mobile-menu li.menu-item-has-children').each(function(){\n    var famsubmenuID = $(this).attr('id');\n    $(this).children('.sub-menu').attr('id', 'famm-' + famsubmenuID).attr('aria-hidden', 'true'); \n  });\n  $('#footer-and-mobile-menu li.menu-item-has-children > .sub-menu').each(function(){\n    var famsubmenu = $(this).attr('id');\n    $(this).siblings('a').attr('role', 'button').attr('aria-haspopup', 'true').attr('aria-controls', famsubmenu).attr('aria-expanded', 'false');\n  });\n\n  //setting submenu ids and attributes for footer menu\n  $('#footer-menu > li > a').attr('tabindex', '-1').attr('aria-expanded', 'true').attr('role', 'presentation');\n  $('#footer-menu > li > ul > li.menu-item-has-children').each(function(){\n    var submenuID = $(this).attr('id');\n    $(this).children('.sub-menu').attr('id', 'fm-' + submenuID).attr('aria-hidden', 'true');\n  });\n  $('#footer-menu > li > ul > li.menu-item-has-children > .sub-menu').each(function(){\n    var submenu = $(this).attr('id');\n    $(this).siblings('a').attr('role', 'button').attr('aria-haspopup', 'true').attr('aria-contrls', submenu).attr('aria-expanded', 'false');\n  });\n  \n  //setting submenu ids and attributes for mega menu\n  $('#main-mega-menu > li.has-mega-menu > .mega-menu').each(function(){\n    var megamenuID = $(this).attr('id');\n    $(this).attr('aria-hidden', 'true').siblings('a').attr('role', 'button').attr('aria-haspopup', 'true').attr('aria-controls', megamenuID).attr('aria-expanded', 'false');\n  });\n});\n\n/**\n * \n * Mega menu functionality \n * \n */\n $(function(){\n  var timeout;\n  // $(\".mega-menu-navigation > li.has-mega-menu\").hover(function (e) {\n  //     e.preventDefault();\n  //     e.stopPropagation();\n  //     $(this).toggleClass('active').children('.mega-menu').stop(true, false).fadeToggle().toggleClass('active');\n  //     $(this).siblings().removeClass('active').children('.mega-menu').fadeOut().removeClass('active');\n  //     if ( $(this).hasClass('active') ){\n  //       $(this).children('a').attr('aria-expanded', 'true').siblings('.mega-menu').attr('aria-hidden', 'false');\n  //     } else {\n  //       $(this).children('a').attr('aria-expanded', 'false').siblings('.mega-menu').attr('aria-hidden', 'true');\n  //     }\n  // });\n  $(\".mega-menu-navigation > li.has-mega-menu > a\").click(function (e) {\n    e.preventDefault();\n    e.stopPropagation();\n    $(this).parent().toggleClass('active').children('.mega-menu').stop(true, false).fadeToggle().toggleClass('active');\n    $(this).parent().siblings().removeClass('active').children('.mega-menu').fadeOut().removeClass('active');\n\n    if ( $(this).parent().hasClass('active') ){\n      $(this).attr('aria-expanded', 'true').siblings('.mega-menu').attr('aria-hidden', 'false');\n    } else {\n      $(this).attr('aria-expanded', 'false').siblings('.mega-menu').attr('aria-hidden', 'true');\n    }\n\n  });\n  $('body').click(function(event){\n    // Check if the clicked element is not within the mega menu\n    if (!$(event.target).closest('.mega-menu').length) {\n        // Check if mega menu is active before closing\n        if ($('.mega-menu-navigation > li.has-mega-menu.active').length > 0) {\n            $('.mega-menu-navigation > li.has-mega-menu.active').removeClass('active').children('.mega-menu').fadeOut().removeClass('active');\n        }\n    }\n  });\n});\n\n\n/**\n * \n * Search\n * \n */\n$(\"#search-container input\").on(\"blur\", function () {\n  $(\"#navigation-container\").removeClass(\"search-open\");\n});\n\n$(\"#above-menu-header .search-icon\").on(\"click\", function (e) {\n  e.preventDefault();\n  e.stopPropagation();\n\n  $(\"#navigation-container\").toggleClass(\"search-open\");\n  $(\"#search-container input\").focus();\n});\n\n$('.close-search').click(function(){\n  $(\"#navigation-container\").removeClass(\"search-open\");\n});\n\n\n$(\"#mobile-nav .search-icon\").on(\"click\", function (e) {\n  e.preventDefault();\n  e.stopPropagation();\n  $(this).toggleClass('search-active');\n  $(\"#mobile-search-container\").fadeToggle();\n  $(\"#mobile-search-container input\").focus();\n});\n\n\n\n/**\n * \n * Footer\n * \n */\n$('#footer-menu .menu-item-has-children > a').on('click', function (e) {\n  if ($(this).parent().hasClass('active')) {\n    $(this).parent().removeClass('active');\n    $(this).attr('aria-expanded', 'false').parent().find('.sub-menu').attr('aria-hidden', 'true').slideToggle();\n    e.preventDefault();\n    e.stopPropagation();\n    return;\n  } else {\n    // close others\n    $('#footer-menu .menu-item-has-children.active > a').attr('aria-expanded', 'false').siblings('.sub-menu').attr('aria-hidden', 'true').slideToggle();\n    $('#footer-menu .menu-item-has-children')\n      .not($(this).parent())\n      .removeClass('active');\n    e.preventDefault();\n    e.stopPropagation();\n    $(this).parent().toggleClass('active');\n    $(this).attr('aria-expanded', 'true').parent().find(\".sub-menu\").attr('aria-hidden', 'false').slideToggle();\n  }\n});\n\n// document ready\n$(document).ready(function () {\n\n  $('li.menu-item.current-menu-item').parents('li.has-mega-menu').addClass('mega-menu-current');\n\n\n  // Hide Header on on scroll down\n  var didScroll;\n  var lastScrollTop = 0;\n  var delta = 5;\n  var navbarHeight = $(\"#navigation-container\").outerHeight();\n\n  $(window).scroll(function (event) {\n    didScroll = true;\n  });\n\n  setInterval(function () {\n    if (didScroll) {\n      hasScrolled();\n      didScroll = false;\n    }\n  }, 250);\n\n  function hasScrolled() {\n    var st = $(window).scrollTop();\n\n    // Make sure they scroll more than delta\n    if (Math.abs(lastScrollTop - st) <= delta) return;\n\n    // If they scrolled down and are past the navbar, add class .nav-up.\n    // This is necessary so you never see what is \"behind\" the navbar.\n    if (st > lastScrollTop && st > navbarHeight) {\n      // Scroll Down\n      $(\"#navigation-container\").removeClass(\"nav-down\").addClass(\"nav-up\");\n      $(\"body\").removeClass(\"nav-down\").addClass(\"nav-up\");\n    } else {\n      // Scroll Up\n      if (st + $(window).height() < $(document).height()) {\n        $(\"#navigation-container\").removeClass(\"nav-up\").addClass(\"nav-down\");\n        $(\"body\").removeClass(\"nav-up\").addClass(\"nav-down\");\n      }\n    }\n\n    lastScrollTop = st;\n  }\n});\n","$('.toggle-title').click(function () {\n    if ($(this).hasClass('active')) {\n        $(this).removeClass('active').attr('aria-expanded', 'false').siblings('.toggle-item').slideToggle().attr('aria-hidden', 'true');\n    } else {\n        $(this).addClass('active').attr('aria-expanded', 'true').siblings('.toggle-item').slideToggle().attr('aria-hidden', 'false');\n    }\n});\n\n$('.helper-tooltip').click(function () {\n    $('.helper-text').fadeToggle();\n});","// Enable AOS - documentation: https://michalsnik.github.io/aos/\n\n/** IMPORTANT **\n *\n * Use AOS declarations in class=\"\" instead of data-aos=\"\" - this is added to make AOS.js friendly for bootstrap gutenberg blocks.\n *\n * e.g. class=\"data-aos_fade-in\" replaces data-aos=\"fade-in\"\n *\n * the element MUST have class \"aos-animate\" added to trigger\n *\n */\n\n\nfunction ismatch(str){\n    var ret = null;\n    var tab = ['data-aos_', 'data-aos-delay_', 'data-aos-duration_', 'data-aos-easing_'];\n    Object.values(tab).forEach( function (value) {\n        if (String(str).match(value)){\n            ret = str.split('_');\n            return false;\n        }\n    });\n    return ret;\n}\n\n$(function() {\n    $('.aos-animate').each(function () {\n        var $this = $(this);\n        var tab = $this.attr('class').split(' ');\n        var keep;\n        Object.values(tab).forEach(function (item) {\n            var ello = ismatch(item);\n            if (ello !== null){\n                $this.attr(ello[0], ello[1]);\n            }\n        });\n\n    });\n    AOS.init({\n        duration: 900,\n        offset: 200,\n    });\n});\n","document.addEventListener('DOMContentLoaded', (event) => {\n    // The function actually applying the offset\n    function offsetAnchor() {\n        if (location.hash.length !== 0) {\n            const target = document.querySelector(location.hash);\n            if (target) {\n                const targetOffset = target.getBoundingClientRect().top + window.scrollY;\n                window.scrollTo(window.scrollX, targetOffset - 150);\n            }\n        }\n    }\n\n    // Captures click events of all <a> elements with href starting with #\n    document.querySelectorAll('a[href^=\"#\"]').forEach(anchor => {\n        anchor.addEventListener('click', function(e) {\n            // Prevent default anchor click behavior\n            e.preventDefault();\n\n            // Change the hash manually to avoid default jump\n            history.pushState(null, null, this.getAttribute('href'));\n\n            // Apply the offset\n            offsetAnchor();\n        });\n    });\n\n    // Set the offset when entering page with hash present in the URL\n    window.setTimeout(offsetAnchor, 0);\n});","/*\n *   Stripe WebGl Gradient Animation\n *   ScrollObserver functionality to disable animation when not scrolled into view has been disabled and\n *   commented out for now.\n */\n\n//Converting colors to proper format\nfunction normalizeColor(hexCode) {\n  return [\n    ((hexCode >> 16) & 255) / 255,\n    ((hexCode >> 8) & 255) / 255,\n    (255 & hexCode) / 255\n  ];\n}\n[\"SCREEN\", \"LINEAR_LIGHT\"].reduce(\n  (hexCode, t, n) =>\n    Object.assign(hexCode, {\n      [t]: n\n    }),\n  {}\n);\n\n//Essential functionality of WebGl\n//t = width\n//n = height\nclass MiniGl {\n  constructor(canvas, width, height, debug = false) {\n    const _miniGl = this,\n      debug_output =\n        -1 !== document.location.search.toLowerCase().indexOf(\"debug=webgl\");\n    (_miniGl.canvas = canvas),\n      (_miniGl.gl = _miniGl.canvas.getContext(\"webgl\", {\n        antialias: true\n      })),\n      (_miniGl.meshes = []);\n    const context = _miniGl.gl;\n    width && height && this.setSize(width, height),\n      _miniGl.lastDebugMsg,\n      (_miniGl.debug =\n        debug && debug_output\n          ? function (e) {\n              const t = new Date();\n              t - _miniGl.lastDebugMsg > 1e3 && console.log(\"---\"),\n                console.log(\n                  t.toLocaleTimeString() +\n                    Array(Math.max(0, 32 - e.length)).join(\" \") +\n                    e +\n                    \": \",\n                  ...Array.from(arguments).slice(1)\n                ),\n                (_miniGl.lastDebugMsg = t);\n            }\n          : () => {}),\n      Object.defineProperties(_miniGl, {\n        Material: {\n          enumerable: false,\n          value: class {\n            constructor(vertexShaders, fragments, uniforms = {}) {\n              const material = this;\n              function getShaderByType(type, source) {\n                const shader = context.createShader(type);\n                return (\n                  context.shaderSource(shader, source),\n                  context.compileShader(shader),\n                  context.getShaderParameter(shader, context.COMPILE_STATUS) ||\n                    console.error(context.getShaderInfoLog(shader)),\n                  _miniGl.debug(\"Material.compileShaderSource\", {\n                    source: source\n                  }),\n                  shader\n                );\n              }\n              function getUniformVariableDeclarations(uniforms, type) {\n                return Object.entries(uniforms)\n                  .map(([uniform, value]) =>\n                    value.getDeclaration(uniform, type)\n                  )\n                  .join(\"\\n\");\n              }\n              (material.uniforms = uniforms), (material.uniformInstances = []);\n\n              const prefix =\n                \"\\n              precision highp float;\\n            \";\n              (material.vertexSource = `\\n              ${prefix}\\n              attribute vec4 position;\\n              attribute vec2 uv;\\n              attribute vec2 uvNorm;\\n              ${getUniformVariableDeclarations(\n                _miniGl.commonUniforms,\n                \"vertex\"\n              )}\\n              ${getUniformVariableDeclarations(\n                uniforms,\n                \"vertex\"\n              )}\\n              ${vertexShaders}\\n            `),\n                (material.Source = `\\n              ${prefix}\\n              ${getUniformVariableDeclarations(\n                  _miniGl.commonUniforms,\n                  \"fragment\"\n                )}\\n              ${getUniformVariableDeclarations(\n                  uniforms,\n                  \"fragment\"\n                )}\\n              ${fragments}\\n            `),\n                (material.vertexShader = getShaderByType(\n                  context.VERTEX_SHADER,\n                  material.vertexSource\n                )),\n                (material.fragmentShader = getShaderByType(\n                  context.FRAGMENT_SHADER,\n                  material.Source\n                )),\n                (material.program = context.createProgram()),\n                context.attachShader(material.program, material.vertexShader),\n                context.attachShader(material.program, material.fragmentShader),\n                context.linkProgram(material.program),\n                context.getProgramParameter(\n                  material.program,\n                  context.LINK_STATUS\n                ) || console.error(context.getProgramInfoLog(material.program)),\n                context.useProgram(material.program),\n                material.attachUniforms(void 0, _miniGl.commonUniforms),\n                material.attachUniforms(void 0, material.uniforms);\n            }\n            //t = uniform\n            attachUniforms(name, uniforms) {\n              //n  = material\n              const material = this;\n              void 0 === name\n                ? Object.entries(uniforms).forEach(([name, uniform]) => {\n                    material.attachUniforms(name, uniform);\n                  })\n                : \"array\" == uniforms.type\n                ? uniforms.value.forEach((uniform, i) =>\n                    material.attachUniforms(`${name}[${i}]`, uniform)\n                  )\n                : \"struct\" == uniforms.type\n                ? Object.entries(uniforms.value).forEach(([uniform, i]) =>\n                    material.attachUniforms(`${name}.${uniform}`, i)\n                  )\n                : (_miniGl.debug(\"Material.attachUniforms\", {\n                    name: name,\n                    uniform: uniforms\n                  }),\n                  material.uniformInstances.push({\n                    uniform: uniforms,\n                    location: context.getUniformLocation(material.program, name)\n                  }));\n            }\n          }\n        },\n        Uniform: {\n          enumerable: !1,\n          value: class {\n            constructor(e) {\n              (this.type = \"float\"), Object.assign(this, e);\n              (this.typeFn =\n                {\n                  float: \"1f\",\n                  int: \"1i\",\n                  vec2: \"2fv\",\n                  vec3: \"3fv\",\n                  vec4: \"4fv\",\n                  mat4: \"Matrix4fv\"\n                }[this.type] || \"1f\"),\n                this.update();\n            }\n            update(value) {\n              void 0 !== this.value &&\n                context[`uniform${this.typeFn}`](\n                  value,\n                  0 === this.typeFn.indexOf(\"Matrix\")\n                    ? this.transpose\n                    : this.value,\n                  0 === this.typeFn.indexOf(\"Matrix\") ? this.value : null\n                );\n            }\n            //e - name\n            //t - type\n            //n - length\n            getDeclaration(name, type, length) {\n              const uniform = this;\n              if (uniform.excludeFrom !== type) {\n                if (\"array\" === uniform.type)\n                  return (\n                    uniform.value[0].getDeclaration(\n                      name,\n                      type,\n                      uniform.value.length\n                    ) + `\\nconst int ${name}_length = ${uniform.value.length};`\n                  );\n                if (\"struct\" === uniform.type) {\n                  let name_no_prefix = name.replace(\"u_\", \"\");\n                  return (\n                    (name_no_prefix =\n                      name_no_prefix.charAt(0).toUpperCase() +\n                      name_no_prefix.slice(1)),\n                    `uniform struct ${name_no_prefix} \n                                {\\n` +\n                      Object.entries(uniform.value)\n                        .map(([name, uniform]) =>\n                          uniform\n                            .getDeclaration(name, type)\n                            .replace(/^uniform/, \"\")\n                        )\n                        .join(\"\") +\n                      `\\n} ${name}${length > 0 ? `[${length}]` : \"\"};`\n                  );\n                }\n                return `uniform ${uniform.type} ${name}${\n                  length > 0 ? `[${length}]` : \"\"\n                };`;\n              }\n            }\n          }\n        },\n        PlaneGeometry: {\n          enumerable: !1,\n          value: class {\n            constructor(width, height, n, i, orientation) {\n              context.createBuffer(),\n                (this.attributes = {\n                  position: new _miniGl.Attribute({\n                    target: context.ARRAY_BUFFER,\n                    size: 3\n                  }),\n                  uv: new _miniGl.Attribute({\n                    target: context.ARRAY_BUFFER,\n                    size: 2\n                  }),\n                  uvNorm: new _miniGl.Attribute({\n                    target: context.ARRAY_BUFFER,\n                    size: 2\n                  }),\n                  index: new _miniGl.Attribute({\n                    target: context.ELEMENT_ARRAY_BUFFER,\n                    size: 3,\n                    type: context.UNSIGNED_SHORT\n                  })\n                }),\n                this.setTopology(n, i),\n                this.setSize(width, height, orientation);\n            }\n            setTopology(e = 1, t = 1) {\n              const n = this;\n              (n.xSegCount = e),\n                (n.ySegCount = t),\n                (n.vertexCount = (n.xSegCount + 1) * (n.ySegCount + 1)),\n                (n.quadCount = n.xSegCount * n.ySegCount * 2),\n                (n.attributes.uv.values = new Float32Array(2 * n.vertexCount)),\n                (n.attributes.uvNorm.values = new Float32Array(\n                  2 * n.vertexCount\n                )),\n                (n.attributes.index.values = new Uint16Array(3 * n.quadCount));\n              for (let e = 0; e <= n.ySegCount; e++)\n                for (let t = 0; t <= n.xSegCount; t++) {\n                  const i = e * (n.xSegCount + 1) + t;\n                  if (\n                    ((n.attributes.uv.values[2 * i] = t / n.xSegCount),\n                    (n.attributes.uv.values[2 * i + 1] = 1 - e / n.ySegCount),\n                    (n.attributes.uvNorm.values[2 * i] =\n                      (t / n.xSegCount) * 2 - 1),\n                    (n.attributes.uvNorm.values[2 * i + 1] =\n                      1 - (e / n.ySegCount) * 2),\n                    t < n.xSegCount && e < n.ySegCount)\n                  ) {\n                    const s = e * n.xSegCount + t;\n                    (n.attributes.index.values[6 * s] = i),\n                      (n.attributes.index.values[6 * s + 1] =\n                        i + 1 + n.xSegCount),\n                      (n.attributes.index.values[6 * s + 2] = i + 1),\n                      (n.attributes.index.values[6 * s + 3] = i + 1),\n                      (n.attributes.index.values[6 * s + 4] =\n                        i + 1 + n.xSegCount),\n                      (n.attributes.index.values[6 * s + 5] =\n                        i + 2 + n.xSegCount);\n                  }\n                }\n              n.attributes.uv.update(),\n                n.attributes.uvNorm.update(),\n                n.attributes.index.update(),\n                _miniGl.debug(\"Geometry.setTopology\", {\n                  uv: n.attributes.uv,\n                  uvNorm: n.attributes.uvNorm,\n                  index: n.attributes.index\n                });\n            }\n            setSize(width = 1, height = 1, orientation = \"xz\") {\n              const geometry = this;\n              (geometry.width = width),\n                (geometry.height = height),\n                (geometry.orientation = orientation),\n                (geometry.attributes.position.values &&\n                  geometry.attributes.position.values.length ===\n                    3 * geometry.vertexCount) ||\n                  (geometry.attributes.position.values = new Float32Array(\n                    3 * geometry.vertexCount\n                  ));\n              const o = width / -2,\n                r = height / -2,\n                segment_width = width / geometry.xSegCount,\n                segment_height = height / geometry.ySegCount;\n              for (let yIndex = 0; yIndex <= geometry.ySegCount; yIndex++) {\n                const t = r + yIndex * segment_height;\n                for (let xIndex = 0; xIndex <= geometry.xSegCount; xIndex++) {\n                  const r = o + xIndex * segment_width,\n                    l = yIndex * (geometry.xSegCount + 1) + xIndex;\n                  (geometry.attributes.position.values[\n                    3 * l + \"xyz\".indexOf(orientation[0])\n                  ] = r),\n                    (geometry.attributes.position.values[\n                      3 * l + \"xyz\".indexOf(orientation[1])\n                    ] = -t);\n                }\n              }\n              geometry.attributes.position.update(),\n                _miniGl.debug(\"Geometry.setSize\", {\n                  position: geometry.attributes.position\n                });\n            }\n          }\n        },\n        Mesh: {\n          enumerable: !1,\n          value: class {\n            constructor(geometry, material) {\n              const mesh = this;\n              (mesh.geometry = geometry),\n                (mesh.material = material),\n                (mesh.wireframe = !1),\n                (mesh.attributeInstances = []),\n                Object.entries(mesh.geometry.attributes).forEach(\n                  ([e, attribute]) => {\n                    mesh.attributeInstances.push({\n                      attribute: attribute,\n                      location: attribute.attach(e, mesh.material.program)\n                    });\n                  }\n                ),\n                _miniGl.meshes.push(mesh),\n                _miniGl.debug(\"Mesh.constructor\", {\n                  mesh: mesh\n                });\n            }\n            draw() {\n              context.useProgram(this.material.program),\n                this.material.uniformInstances.forEach(\n                  ({ uniform: e, location: t }) => e.update(t)\n                ),\n                this.attributeInstances.forEach(\n                  ({ attribute: e, location: t }) => e.use(t)\n                ),\n                context.drawElements(\n                  this.wireframe ? context.LINES : context.TRIANGLES,\n                  this.geometry.attributes.index.values.length,\n                  context.UNSIGNED_SHORT,\n                  0\n                );\n            }\n            remove() {\n              _miniGl.meshes = _miniGl.meshes.filter((e) => e != this);\n            }\n          }\n        },\n        Attribute: {\n          enumerable: !1,\n          value: class {\n            constructor(e) {\n              (this.type = context.FLOAT),\n                (this.normalized = !1),\n                (this.buffer = context.createBuffer()),\n                Object.assign(this, e),\n                this.update();\n            }\n            update() {\n              void 0 !== this.values &&\n                (context.bindBuffer(this.target, this.buffer),\n                context.bufferData(\n                  this.target,\n                  this.values,\n                  context.STATIC_DRAW\n                ));\n            }\n            attach(e, t) {\n              const n = context.getAttribLocation(t, e);\n              return (\n                this.target === context.ARRAY_BUFFER &&\n                  (context.enableVertexAttribArray(n),\n                  context.vertexAttribPointer(\n                    n,\n                    this.size,\n                    this.type,\n                    this.normalized,\n                    0,\n                    0\n                  )),\n                n\n              );\n            }\n            use(e) {\n              context.bindBuffer(this.target, this.buffer),\n                this.target === context.ARRAY_BUFFER &&\n                  (context.enableVertexAttribArray(e),\n                  context.vertexAttribPointer(\n                    e,\n                    this.size,\n                    this.type,\n                    this.normalized,\n                    0,\n                    0\n                  ));\n            }\n          }\n        }\n      });\n    const a = [1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1];\n    _miniGl.commonUniforms = {\n      projectionMatrix: new _miniGl.Uniform({\n        type: \"mat4\",\n        value: a\n      }),\n      modelViewMatrix: new _miniGl.Uniform({\n        type: \"mat4\",\n        value: a\n      }),\n      resolution: new _miniGl.Uniform({\n        type: \"vec2\",\n        value: [1, 1]\n      }),\n      aspectRatio: new _miniGl.Uniform({\n        type: \"float\",\n        value: 1\n      })\n    };\n  }\n  setSize(e = 640, t = 480) {\n    (this.width = e),\n      (this.height = t),\n      (this.canvas.width = e),\n      (this.canvas.height = t),\n      this.gl.viewport(0, 0, e, t),\n      (this.commonUniforms.resolution.value = [e, t]),\n      (this.commonUniforms.aspectRatio.value = e / t),\n      this.debug(\"MiniGL.setSize\", {\n        width: e,\n        height: t\n      });\n  }\n  //left, right, top, bottom, near, far\n  setOrthographicCamera(e = 0, t = 0, n = 0, i = -2e3, s = 2e3) {\n    (this.commonUniforms.projectionMatrix.value = [\n      2 / this.width,\n      0,\n      0,\n      0,\n      0,\n      2 / this.height,\n      0,\n      0,\n      0,\n      0,\n      2 / (i - s),\n      0,\n      e,\n      t,\n      n,\n      1\n    ]),\n      this.debug(\n        \"setOrthographicCamera\",\n        this.commonUniforms.projectionMatrix.value\n      );\n  }\n  render() {\n    this.gl.clearColor(0, 0, 0, 0),\n      this.gl.clearDepth(1),\n      this.meshes.forEach((e) => e.draw());\n  }\n}\n\n//Sets initial properties\nfunction e(object, propertyName, val) {\n  return (\n    propertyName in object\n      ? Object.defineProperty(object, propertyName, {\n          value: val,\n          enumerable: !0,\n          configurable: !0,\n          writable: !0\n        })\n      : (object[propertyName] = val),\n    object\n  );\n}\n\n//Gradient object\nclass Gradient {\n  constructor(...t) {\n    e(this, \"el\", void 0),\n      e(this, \"cssVarRetries\", 0),\n      e(this, \"maxCssVarRetries\", 200),\n      e(this, \"angle\", 0),\n      e(this, \"isLoadedClass\", !1),\n      e(this, \"isScrolling\", !1),\n      /*e(this, \"isStatic\", o.disableAmbientAnimations()),*/ e(\n        this,\n        \"scrollingTimeout\",\n        void 0\n      ),\n      e(this, \"scrollingRefreshDelay\", 200),\n      e(this, \"isIntersecting\", !1),\n      e(this, \"shaderFiles\", void 0),\n      e(this, \"vertexShader\", void 0),\n      e(this, \"sectionColors\", void 0),\n      e(this, \"computedCanvasStyle\", void 0),\n      e(this, \"conf\", void 0),\n      e(this, \"uniforms\", void 0),\n      e(this, \"t\", 1253106),\n      e(this, \"last\", 0),\n      e(this, \"width\", void 0),\n      e(this, \"minWidth\", 1111),\n      e(this, \"height\", 600),\n      e(this, \"xSegCount\", void 0),\n      e(this, \"ySegCount\", void 0),\n      e(this, \"mesh\", void 0),\n      e(this, \"material\", void 0),\n      e(this, \"geometry\", void 0),\n      e(this, \"minigl\", void 0),\n      e(this, \"scrollObserver\", void 0),\n      e(this, \"amp\", 320),\n      e(this, \"seed\", 5),\n      e(this, \"freqX\", 14e-5),\n      e(this, \"freqY\", 29e-5),\n      e(this, \"freqDelta\", 1e-5),\n      e(this, \"activeColors\", [1, 1, 1, 1]),\n      e(this, \"isMetaKey\", !1),\n      e(this, \"isGradientLegendVisible\", !1),\n      e(this, \"isMouseDown\", !1),\n      e(this, \"handleScroll\", () => {\n        clearTimeout(this.scrollingTimeout),\n          (this.scrollingTimeout = setTimeout(\n            this.handleScrollEnd,\n            this.scrollingRefreshDelay\n          )),\n          this.isGradientLegendVisible && this.hideGradientLegend(),\n          this.conf.playing && ((this.isScrolling = !0), this.pause());\n      }),\n      e(this, \"handleScrollEnd\", () => {\n        (this.isScrolling = !1), this.isIntersecting && this.play();\n      }),\n      e(this, \"resize\", () => {\n        (this.width = window.innerWidth),\n          this.minigl.setSize(this.width, this.height),\n          this.minigl.setOrthographicCamera(),\n          (this.xSegCount = Math.ceil(this.width * this.conf.density[0])),\n          (this.ySegCount = Math.ceil(this.height * this.conf.density[1])),\n          this.mesh.geometry.setTopology(this.xSegCount, this.ySegCount),\n          this.mesh.geometry.setSize(this.width, this.height),\n          (this.mesh.material.uniforms.u_shadow_power.value =\n            this.width < 600 ? 5 : 6);\n      }),\n      e(this, \"handleMouseDown\", (e) => {\n        this.isGradientLegendVisible &&\n          ((this.isMetaKey = e.metaKey),\n          (this.isMouseDown = !0),\n          !1 === this.conf.playing && requestAnimationFrame(this.animate));\n      }),\n      e(this, \"handleMouseUp\", () => {\n        this.isMouseDown = !1;\n      }),\n      e(this, \"animate\", (e) => {\n        if (!this.shouldSkipFrame(e) || this.isMouseDown) {\n          if (\n            ((this.t += Math.min(e - this.last, 1e3 / 15)),\n            (this.last = e),\n            this.isMouseDown)\n          ) {\n            let e = 160;\n            this.isMetaKey && (e = -160), (this.t += e);\n          }\n          (this.mesh.material.uniforms.u_time.value = this.t),\n            this.minigl.render();\n        }\n        if (0 !== this.last && this.isStatic)\n          return this.minigl.render(), void this.disconnect();\n        /*this.isIntersecting && */ (this.conf.playing || this.isMouseDown) &&\n          requestAnimationFrame(this.animate);\n      }),\n      e(this, \"addIsLoadedClass\", () => {\n        /*this.isIntersecting && */ !this.isLoadedClass &&\n          ((this.isLoadedClass = !0),\n          this.el.classList.add(\"isLoaded\"),\n          setTimeout(() => {\n            this.el.parentElement.classList.add(\"isLoaded\");\n          }, 3e3));\n      }),\n      e(this, \"pause\", () => {\n        this.conf.playing = false;\n      }),\n      e(this, \"play\", () => {\n        requestAnimationFrame(this.animate), (this.conf.playing = true);\n      }),\n      e(this, \"initGradient\", (selector) => {\n        this.el = document.querySelector(selector);\n        this.connect();\n        return this;\n      });\n  }\n  async connect() {\n    (this.shaderFiles = {\n      vertex:\n        \"varying vec3 v_color;\\n\\nvoid main() {\\n  float time = u_time * u_global.noiseSpeed;\\n\\n  vec2 noiseCoord = resolution * uvNorm * u_global.noiseFreq;\\n\\n  vec2 st = 1. - uvNorm.xy;\\n\\n  //\\n  // Tilting the plane\\n  //\\n\\n  // Front-to-back tilt\\n  float tilt = resolution.y / 2.0 * uvNorm.y;\\n\\n  // Left-to-right angle\\n  float incline = resolution.x * uvNorm.x / 2.0 * u_vertDeform.incline;\\n\\n  // Up-down shift to offset incline\\n  float offset = resolution.x / 2.0 * u_vertDeform.incline * mix(u_vertDeform.offsetBottom, u_vertDeform.offsetTop, uv.y);\\n\\n  //\\n  // Vertex noise\\n  //\\n\\n  float noise = snoise(vec3(\\n    noiseCoord.x * u_vertDeform.noiseFreq.x + time * u_vertDeform.noiseFlow,\\n    noiseCoord.y * u_vertDeform.noiseFreq.y,\\n    time * u_vertDeform.noiseSpeed + u_vertDeform.noiseSeed\\n  )) * u_vertDeform.noiseAmp;\\n\\n  // Fade noise to zero at edges\\n  noise *= 1.0 - pow(abs(uvNorm.y), 2.0);\\n\\n  // Clamp to 0\\n  noise = max(0.0, noise);\\n\\n  vec3 pos = vec3(\\n    position.x,\\n    position.y + tilt + incline + noise - offset,\\n    position.z\\n  );\\n\\n  //\\n  // Vertex color, to be passed to fragment shader\\n  //\\n\\n  if (u_active_colors[0] == 1.) {\\n    v_color = u_baseColor;\\n  }\\n\\n  for (int i = 0; i < u_waveLayers_length; i++) {\\n    if (u_active_colors[i + 1] == 1.) {\\n      WaveLayers layer = u_waveLayers[i];\\n\\n      float noise = smoothstep(\\n        layer.noiseFloor,\\n        layer.noiseCeil,\\n        snoise(vec3(\\n          noiseCoord.x * layer.noiseFreq.x + time * layer.noiseFlow,\\n          noiseCoord.y * layer.noiseFreq.y,\\n          time * layer.noiseSpeed + layer.noiseSeed\\n        )) / 2.0 + 0.5\\n      );\\n\\n      v_color = blendNormal(v_color, layer.color, pow(noise, 4.));\\n    }\\n  }\\n\\n  //\\n  // Finish\\n  //\\n\\n  gl_Position = projectionMatrix * modelViewMatrix * vec4(pos, 1.0);\\n}\",\n      noise:\n        \"//\\n// Description : Array and textureless GLSL 2D/3D/4D simplex\\n//               noise functions.\\n//      Author : Ian McEwan, Ashima Arts.\\n//  Maintainer : stegu\\n//     Lastmod : 20110822 (ijm)\\n//     License : Copyright (C) 2011 Ashima Arts. All rights reserved.\\n//               Distributed under the MIT License. See LICENSE file.\\n//               https://github.com/ashima/webgl-noise\\n//               https://github.com/stegu/webgl-noise\\n//\\n\\nvec3 mod289(vec3 x) {\\n  return x - floor(x * (1.0 / 289.0)) * 289.0;\\n}\\n\\nvec4 mod289(vec4 x) {\\n  return x - floor(x * (1.0 / 289.0)) * 289.0;\\n}\\n\\nvec4 permute(vec4 x) {\\n    return mod289(((x*34.0)+1.0)*x);\\n}\\n\\nvec4 taylorInvSqrt(vec4 r)\\n{\\n  return 1.79284291400159 - 0.85373472095314 * r;\\n}\\n\\nfloat snoise(vec3 v)\\n{\\n  const vec2  C = vec2(1.0/6.0, 1.0/3.0) ;\\n  const vec4  D = vec4(0.0, 0.5, 1.0, 2.0);\\n\\n// First corner\\n  vec3 i  = floor(v + dot(v, C.yyy) );\\n  vec3 x0 =   v - i + dot(i, C.xxx) ;\\n\\n// Other corners\\n  vec3 g = step(x0.yzx, x0.xyz);\\n  vec3 l = 1.0 - g;\\n  vec3 i1 = min( g.xyz, l.zxy );\\n  vec3 i2 = max( g.xyz, l.zxy );\\n\\n  //   x0 = x0 - 0.0 + 0.0 * C.xxx;\\n  //   x1 = x0 - i1  + 1.0 * C.xxx;\\n  //   x2 = x0 - i2  + 2.0 * C.xxx;\\n  //   x3 = x0 - 1.0 + 3.0 * C.xxx;\\n  vec3 x1 = x0 - i1 + C.xxx;\\n  vec3 x2 = x0 - i2 + C.yyy; // 2.0*C.x = 1/3 = C.y\\n  vec3 x3 = x0 - D.yyy;      // -1.0+3.0*C.x = -0.5 = -D.y\\n\\n// Permutations\\n  i = mod289(i);\\n  vec4 p = permute( permute( permute(\\n            i.z + vec4(0.0, i1.z, i2.z, 1.0 ))\\n          + i.y + vec4(0.0, i1.y, i2.y, 1.0 ))\\n          + i.x + vec4(0.0, i1.x, i2.x, 1.0 ));\\n\\n// Gradients: 7x7 points over a square, mapped onto an octahedron.\\n// The ring size 17*17 = 289 is close to a multiple of 49 (49*6 = 294)\\n  float n_ = 0.142857142857; // 1.0/7.0\\n  vec3  ns = n_ * D.wyz - D.xzx;\\n\\n  vec4 j = p - 49.0 * floor(p * ns.z * ns.z);  //  mod(p,7*7)\\n\\n  vec4 x_ = floor(j * ns.z);\\n  vec4 y_ = floor(j - 7.0 * x_ );    // mod(j,N)\\n\\n  vec4 x = x_ *ns.x + ns.yyyy;\\n  vec4 y = y_ *ns.x + ns.yyyy;\\n  vec4 h = 1.0 - abs(x) - abs(y);\\n\\n  vec4 b0 = vec4( x.xy, y.xy );\\n  vec4 b1 = vec4( x.zw, y.zw );\\n\\n  //vec4 s0 = vec4(lessThan(b0,0.0))*2.0 - 1.0;\\n  //vec4 s1 = vec4(lessThan(b1,0.0))*2.0 - 1.0;\\n  vec4 s0 = floor(b0)*2.0 + 1.0;\\n  vec4 s1 = floor(b1)*2.0 + 1.0;\\n  vec4 sh = -step(h, vec4(0.0));\\n\\n  vec4 a0 = b0.xzyw + s0.xzyw*sh.xxyy ;\\n  vec4 a1 = b1.xzyw + s1.xzyw*sh.zzww ;\\n\\n  vec3 p0 = vec3(a0.xy,h.x);\\n  vec3 p1 = vec3(a0.zw,h.y);\\n  vec3 p2 = vec3(a1.xy,h.z);\\n  vec3 p3 = vec3(a1.zw,h.w);\\n\\n//Normalise gradients\\n  vec4 norm = taylorInvSqrt(vec4(dot(p0,p0), dot(p1,p1), dot(p2, p2), dot(p3,p3)));\\n  p0 *= norm.x;\\n  p1 *= norm.y;\\n  p2 *= norm.z;\\n  p3 *= norm.w;\\n\\n// Mix final noise value\\n  vec4 m = max(0.6 - vec4(dot(x0,x0), dot(x1,x1), dot(x2,x2), dot(x3,x3)), 0.0);\\n  m = m * m;\\n  return 42.0 * dot( m*m, vec4( dot(p0,x0), dot(p1,x1),\\n                                dot(p2,x2), dot(p3,x3) ) );\\n}\",\n      blend:\n        \"//\\n// https://github.com/jamieowen/glsl-blend\\n//\\n\\n// Normal\\n\\nvec3 blendNormal(vec3 base, vec3 blend) {\\n\\treturn blend;\\n}\\n\\nvec3 blendNormal(vec3 base, vec3 blend, float opacity) {\\n\\treturn (blendNormal(base, blend) * opacity + base * (1.0 - opacity));\\n}\\n\\n// Screen\\n\\nfloat blendScreen(float base, float blend) {\\n\\treturn 1.0-((1.0-base)*(1.0-blend));\\n}\\n\\nvec3 blendScreen(vec3 base, vec3 blend) {\\n\\treturn vec3(blendScreen(base.r,blend.r),blendScreen(base.g,blend.g),blendScreen(base.b,blend.b));\\n}\\n\\nvec3 blendScreen(vec3 base, vec3 blend, float opacity) {\\n\\treturn (blendScreen(base, blend) * opacity + base * (1.0 - opacity));\\n}\\n\\n// Multiply\\n\\nvec3 blendMultiply(vec3 base, vec3 blend) {\\n\\treturn base*blend;\\n}\\n\\nvec3 blendMultiply(vec3 base, vec3 blend, float opacity) {\\n\\treturn (blendMultiply(base, blend) * opacity + base * (1.0 - opacity));\\n}\\n\\n// Overlay\\n\\nfloat blendOverlay(float base, float blend) {\\n\\treturn base<0.5?(2.0*base*blend):(1.0-2.0*(1.0-base)*(1.0-blend));\\n}\\n\\nvec3 blendOverlay(vec3 base, vec3 blend) {\\n\\treturn vec3(blendOverlay(base.r,blend.r),blendOverlay(base.g,blend.g),blendOverlay(base.b,blend.b));\\n}\\n\\nvec3 blendOverlay(vec3 base, vec3 blend, float opacity) {\\n\\treturn (blendOverlay(base, blend) * opacity + base * (1.0 - opacity));\\n}\\n\\n// Hard light\\n\\nvec3 blendHardLight(vec3 base, vec3 blend) {\\n\\treturn blendOverlay(blend,base);\\n}\\n\\nvec3 blendHardLight(vec3 base, vec3 blend, float opacity) {\\n\\treturn (blendHardLight(base, blend) * opacity + base * (1.0 - opacity));\\n}\\n\\n// Soft light\\n\\nfloat blendSoftLight(float base, float blend) {\\n\\treturn (blend<0.5)?(2.0*base*blend+base*base*(1.0-2.0*blend)):(sqrt(base)*(2.0*blend-1.0)+2.0*base*(1.0-blend));\\n}\\n\\nvec3 blendSoftLight(vec3 base, vec3 blend) {\\n\\treturn vec3(blendSoftLight(base.r,blend.r),blendSoftLight(base.g,blend.g),blendSoftLight(base.b,blend.b));\\n}\\n\\nvec3 blendSoftLight(vec3 base, vec3 blend, float opacity) {\\n\\treturn (blendSoftLight(base, blend) * opacity + base * (1.0 - opacity));\\n}\\n\\n// Color dodge\\n\\nfloat blendColorDodge(float base, float blend) {\\n\\treturn (blend==1.0)?blend:min(base/(1.0-blend),1.0);\\n}\\n\\nvec3 blendColorDodge(vec3 base, vec3 blend) {\\n\\treturn vec3(blendColorDodge(base.r,blend.r),blendColorDodge(base.g,blend.g),blendColorDodge(base.b,blend.b));\\n}\\n\\nvec3 blendColorDodge(vec3 base, vec3 blend, float opacity) {\\n\\treturn (blendColorDodge(base, blend) * opacity + base * (1.0 - opacity));\\n}\\n\\n// Color burn\\n\\nfloat blendColorBurn(float base, float blend) {\\n\\treturn (blend==0.0)?blend:max((1.0-((1.0-base)/blend)),0.0);\\n}\\n\\nvec3 blendColorBurn(vec3 base, vec3 blend) {\\n\\treturn vec3(blendColorBurn(base.r,blend.r),blendColorBurn(base.g,blend.g),blendColorBurn(base.b,blend.b));\\n}\\n\\nvec3 blendColorBurn(vec3 base, vec3 blend, float opacity) {\\n\\treturn (blendColorBurn(base, blend) * opacity + base * (1.0 - opacity));\\n}\\n\\n// Vivid Light\\n\\nfloat blendVividLight(float base, float blend) {\\n\\treturn (blend<0.5)?blendColorBurn(base,(2.0*blend)):blendColorDodge(base,(2.0*(blend-0.5)));\\n}\\n\\nvec3 blendVividLight(vec3 base, vec3 blend) {\\n\\treturn vec3(blendVividLight(base.r,blend.r),blendVividLight(base.g,blend.g),blendVividLight(base.b,blend.b));\\n}\\n\\nvec3 blendVividLight(vec3 base, vec3 blend, float opacity) {\\n\\treturn (blendVividLight(base, blend) * opacity + base * (1.0 - opacity));\\n}\\n\\n// Lighten\\n\\nfloat blendLighten(float base, float blend) {\\n\\treturn max(blend,base);\\n}\\n\\nvec3 blendLighten(vec3 base, vec3 blend) {\\n\\treturn vec3(blendLighten(base.r,blend.r),blendLighten(base.g,blend.g),blendLighten(base.b,blend.b));\\n}\\n\\nvec3 blendLighten(vec3 base, vec3 blend, float opacity) {\\n\\treturn (blendLighten(base, blend) * opacity + base * (1.0 - opacity));\\n}\\n\\n// Linear burn\\n\\nfloat blendLinearBurn(float base, float blend) {\\n\\t// Note : Same implementation as BlendSubtractf\\n\\treturn max(base+blend-1.0,0.0);\\n}\\n\\nvec3 blendLinearBurn(vec3 base, vec3 blend) {\\n\\t// Note : Same implementation as BlendSubtract\\n\\treturn max(base+blend-vec3(1.0),vec3(0.0));\\n}\\n\\nvec3 blendLinearBurn(vec3 base, vec3 blend, float opacity) {\\n\\treturn (blendLinearBurn(base, blend) * opacity + base * (1.0 - opacity));\\n}\\n\\n// Linear dodge\\n\\nfloat blendLinearDodge(float base, float blend) {\\n\\t// Note : Same implementation as BlendAddf\\n\\treturn min(base+blend,1.0);\\n}\\n\\nvec3 blendLinearDodge(vec3 base, vec3 blend) {\\n\\t// Note : Same implementation as BlendAdd\\n\\treturn min(base+blend,vec3(1.0));\\n}\\n\\nvec3 blendLinearDodge(vec3 base, vec3 blend, float opacity) {\\n\\treturn (blendLinearDodge(base, blend) * opacity + base * (1.0 - opacity));\\n}\\n\\n// Linear light\\n\\nfloat blendLinearLight(float base, float blend) {\\n\\treturn blend<0.5?blendLinearBurn(base,(2.0*blend)):blendLinearDodge(base,(2.0*(blend-0.5)));\\n}\\n\\nvec3 blendLinearLight(vec3 base, vec3 blend) {\\n\\treturn vec3(blendLinearLight(base.r,blend.r),blendLinearLight(base.g,blend.g),blendLinearLight(base.b,blend.b));\\n}\\n\\nvec3 blendLinearLight(vec3 base, vec3 blend, float opacity) {\\n\\treturn (blendLinearLight(base, blend) * opacity + base * (1.0 - opacity));\\n}\",\n      fragment:\n        \"varying vec3 v_color;\\n\\nvoid main() {\\n  vec3 color = v_color;\\n  if (u_darken_top == 1.0) {\\n    vec2 st = gl_FragCoord.xy/resolution.xy;\\n    color.g -= pow(st.y + sin(-12.0) * st.x, u_shadow_power) * 0.4;\\n  }\\n  gl_FragColor = vec4(color, 1.0);\\n}\"\n    }),\n      (this.conf = {\n        presetName: \"\",\n        wireframe: false,\n        density: [0.06, 0.16],\n        zoom: 1,\n        rotation: 0,\n        playing: true\n      }),\n      document.querySelectorAll(\"canvas\").length < 1\n        ? console.log(\"DID NOT LOAD HERO STRIPE CANVAS\")\n        : ((this.minigl = new MiniGl(this.el, null, null, !0)),\n          requestAnimationFrame(() => {\n            this.el &&\n              ((this.computedCanvasStyle = getComputedStyle(this.el)),\n              this.waitForCssVars());\n          }));\n    /*\n        this.scrollObserver = await s.create(.1, !1),\n        this.scrollObserver.observe(this.el),\n        this.scrollObserver.onSeparate(() => {\n            window.removeEventListener(\"scroll\", this.handleScroll), window.removeEventListener(\"mousedown\", this.handleMouseDown), window.removeEventListener(\"mouseup\", this.handleMouseUp), window.removeEventListener(\"keydown\", this.handleKeyDown), this.isIntersecting = !1, this.conf.playing && this.pause()\n        }), \n        this.scrollObserver.onIntersect(() => {\n            window.addEventListener(\"scroll\", this.handleScroll), window.addEventListener(\"mousedown\", this.handleMouseDown), window.addEventListener(\"mouseup\", this.handleMouseUp), window.addEventListener(\"keydown\", this.handleKeyDown), this.isIntersecting = !0, this.addIsLoadedClass(), this.play()\n        })*/\n  }\n  disconnect() {\n    this.scrollObserver &&\n      (window.removeEventListener(\"scroll\", this.handleScroll),\n      window.removeEventListener(\"mousedown\", this.handleMouseDown),\n      window.removeEventListener(\"mouseup\", this.handleMouseUp),\n      window.removeEventListener(\"keydown\", this.handleKeyDown),\n      this.scrollObserver.disconnect()),\n      window.removeEventListener(\"resize\", this.resize);\n  }\n  initMaterial() {\n    this.uniforms = {\n      u_time: new this.minigl.Uniform({\n        value: 0\n      }),\n      u_shadow_power: new this.minigl.Uniform({\n        value: 5\n      }),\n      u_darken_top: new this.minigl.Uniform({\n        value: \"\" === this.el.dataset.jsDarkenTop ? 1 : 0\n      }),\n      u_active_colors: new this.minigl.Uniform({\n        value: this.activeColors,\n        type: \"vec4\"\n      }),\n      u_global: new this.minigl.Uniform({\n        value: {\n          noiseFreq: new this.minigl.Uniform({\n            value: [this.freqX, this.freqY],\n            type: \"vec2\"\n          }),\n          noiseSpeed: new this.minigl.Uniform({\n            value: 5e-6\n          })\n        },\n        type: \"struct\"\n      }),\n      u_vertDeform: new this.minigl.Uniform({\n        value: {\n          incline: new this.minigl.Uniform({\n            value: Math.sin(this.angle) / Math.cos(this.angle)\n          }),\n          offsetTop: new this.minigl.Uniform({\n            value: -0.5\n          }),\n          offsetBottom: new this.minigl.Uniform({\n            value: -0.5\n          }),\n          noiseFreq: new this.minigl.Uniform({\n            value: [3, 4],\n            type: \"vec2\"\n          }),\n          noiseAmp: new this.minigl.Uniform({\n            value: this.amp\n          }),\n          noiseSpeed: new this.minigl.Uniform({\n            value: 10\n          }),\n          noiseFlow: new this.minigl.Uniform({\n            value: 3\n          }),\n          noiseSeed: new this.minigl.Uniform({\n            value: this.seed\n          })\n        },\n        type: \"struct\",\n        excludeFrom: \"fragment\"\n      }),\n      u_baseColor: new this.minigl.Uniform({\n        value: this.sectionColors[0],\n        type: \"vec3\",\n        excludeFrom: \"fragment\"\n      }),\n      u_waveLayers: new this.minigl.Uniform({\n        value: [],\n        excludeFrom: \"fragment\",\n        type: \"array\"\n      })\n    };\n    for (let e = 1; e < this.sectionColors.length; e += 1)\n      this.uniforms.u_waveLayers.value.push(\n        new this.minigl.Uniform({\n          value: {\n            color: new this.minigl.Uniform({\n              value: this.sectionColors[e],\n              type: \"vec3\"\n            }),\n            noiseFreq: new this.minigl.Uniform({\n              value: [\n                2 + e / this.sectionColors.length,\n                3 + e / this.sectionColors.length\n              ],\n              type: \"vec2\"\n            }),\n            noiseSpeed: new this.minigl.Uniform({\n              value: 11 + 0.3 * e\n            }),\n            noiseFlow: new this.minigl.Uniform({\n              value: 6.5 + 0.3 * e\n            }),\n            noiseSeed: new this.minigl.Uniform({\n              value: this.seed + 10 * e\n            }),\n            noiseFloor: new this.minigl.Uniform({\n              value: 0.1\n            }),\n            noiseCeil: new this.minigl.Uniform({\n              value: 0.63 + 0.07 * e\n            })\n          },\n          type: \"struct\"\n        })\n      );\n    return (\n      (this.vertexShader = [\n        this.shaderFiles.noise,\n        this.shaderFiles.blend,\n        this.shaderFiles.vertex\n      ].join(\"\\n\\n\")),\n      new this.minigl.Material(\n        this.vertexShader,\n        this.shaderFiles.fragment,\n        this.uniforms\n      )\n    );\n  }\n  initMesh() {\n    (this.material = this.initMaterial()),\n      (this.geometry = new this.minigl.PlaneGeometry()),\n      (this.mesh = new this.minigl.Mesh(this.geometry, this.material));\n  }\n  shouldSkipFrame(e) {\n    return (\n      !!window.document.hidden ||\n      !this.conf.playing ||\n      parseInt(e, 10) % 2 == 0 ||\n      void 0\n    );\n  }\n  updateFrequency(e) {\n    (this.freqX += e), (this.freqY += e);\n  }\n  toggleColor(index) {\n    this.activeColors[index] = 0 === this.activeColors[index] ? 1 : 0;\n  }\n  showGradientLegend() {\n    this.width > this.minWidth &&\n      ((this.isGradientLegendVisible = !0),\n      document.body.classList.add(\"isGradientLegendVisible\"));\n  }\n  hideGradientLegend() {\n    (this.isGradientLegendVisible = !1),\n      document.body.classList.remove(\"isGradientLegendVisible\");\n  }\n  init() {\n    this.initGradientColors(),\n      this.initMesh(),\n      this.resize(),\n      requestAnimationFrame(this.animate),\n      window.addEventListener(\"resize\", this.resize);\n  }\n  /*\n   * Waiting for the css variables to become available, usually on page load before we can continue.\n   * Using default colors assigned below if no variables have been found after maxCssVarRetries\n   */\n  waitForCssVars() {\n    if (\n      this.computedCanvasStyle &&\n      -1 !==\n        this.computedCanvasStyle\n          .getPropertyValue(\"--gradient-color-1\")\n          .indexOf(\"#\")\n    )\n      this.init(), this.addIsLoadedClass();\n    else {\n      if (\n        ((this.cssVarRetries += 1), this.cssVarRetries > this.maxCssVarRetries)\n      ) {\n        return (\n          (this.sectionColors = [16711680, 16711680, 16711935, 65280, 255]),\n          void this.init()\n        );\n      }\n      requestAnimationFrame(() => this.waitForCssVars());\n    }\n  }\n  /*\n   * Initializes the four section colors by retrieving them from css variables.\n   */\n  initGradientColors() {\n    this.sectionColors = [\n      \"--gradient-color-1\",\n      \"--gradient-color-2\",\n      \"--gradient-color-3\",\n      \"--gradient-color-4\"\n    ]\n      .map((cssPropertyName) => {\n        let hex = this.computedCanvasStyle\n          .getPropertyValue(cssPropertyName)\n          .trim();\n        //Check if shorthand hex value was used and double the length so the conversion in normalizeColor will work.\n        if (4 === hex.length) {\n          const hexTemp = hex\n            .substr(1)\n            .split(\"\")\n            .map((hexTemp) => hexTemp + hexTemp)\n            .join(\"\");\n          hex = `#${hexTemp}`;\n        }\n        return hex && `0x${hex.substr(1)}`;\n      })\n      .filter(Boolean)\n      .map(normalizeColor);\n  }\n}\n\n/*\n *Finally initializing the Gradient class, assigning a canvas to it and calling Gradient.connect() which initializes everything,\n * Use Gradient.pause() and Gradient.play() for controls.\n *\n * Here are some default property values you can change anytime:\n * Amplitude:    Gradient.amp = 0\n * Colors:       Gradient.sectionColors (if you change colors, use normalizeColor(#hexValue)) before you assign it.\n *\n *\n * Useful functions\n * Gradient.toggleColor(index)\n * Gradient.updateFrequency(freq)\n */\n\nvar gradient = new Gradient();\ngradient.initGradient(\"#gradient-canvas\");\n","(function ($) {\n\n    /*\n    *  new_map\n    *\n    *  This function will render a Google Map onto the selected jQuery element\n    *\n    *  @type\tfunction\n    *  @date\t8/11/2013\n    *  @since\t4.3.0\n    *\n    *  @param\t$el (jQuery element)\n    *  @return\tn/a\n    */\n\n    function new_map($el) {\n\n        // var\n        var $markers = $el.find('.marker');\n\n\n        // vars\n        var args = {\n            zoom: 16,\n            center: new google.maps.LatLng(0, 0),\n            mapTypeId: google.maps.MapTypeId.ROADMAP\n        };\n\n\n        // create map\n        var map = new google.maps.Map($el[0], args);\n\n\n        // add a markers reference\n        map.markers = [];\n\n\n        // add markers\n        $markers.each(function () {\n\n            add_marker($(this), map);\n\n        });\n\n\n        // center map\n        center_map(map);\n\n\n        // return\n        return map;\n\n    }\n\n    /*\n    *  add_marker\n    *\n    *  This function will add a marker to the selected Google Map\n    *\n    *  @type\tfunction\n    *  @date\t8/11/2013\n    *  @since\t4.3.0\n    *\n    *  @param\t$marker (jQuery element)\n    *  @param\tmap (Google Map object)\n    *  @return\tn/a\n    */\n\n    function add_marker($marker, map) {\n\n        // var\n        var latlng = new google.maps.LatLng($marker.attr('data-lat'), $marker.attr('data-lng'));\n\n        // create marker\n        var marker = new google.maps.Marker({\n            position: latlng,\n            map: map\n        });\n\n        // add to array\n        map.markers.push(marker);\n\n        // if marker contains HTML, add it to an infoWindow\n        if ($marker.html()) {\n            // create info window\n            var infowindow = new google.maps.InfoWindow({\n                content: $marker.html()\n            });\n\n            // show info window when marker is clicked\n            google.maps.event.addListener(marker, 'click', function () {\n\n                infowindow.open(map, marker);\n\n            });\n        }\n\n    }\n\n    /*\n    *  center_map\n    *\n    *  This function will center the map, showing all markers attached to this map\n    *\n    *  @type\tfunction\n    *  @date\t8/11/2013\n    *  @since\t4.3.0\n    *\n    *  @param\tmap (Google Map object)\n    *  @return\tn/a\n    */\n\n    function center_map(map) {\n\n        // vars\n        var bounds = new google.maps.LatLngBounds();\n\n        // loop through all markers and create bounds\n        $.each(map.markers, function (i, marker) {\n\n            var latlng = new google.maps.LatLng(marker.position.lat(), marker.position.lng());\n\n            bounds.extend(latlng);\n\n        });\n\n        // only 1 marker?\n        if (map.markers.length == 1) {\n            // set center of map\n            map.setCenter(bounds.getCenter());\n            map.setZoom(16);\n        }\n        else {\n            // fit to bounds\n            map.fitBounds(bounds);\n        }\n\n    }\n\n    /*\n    *  document ready\n    *\n    *  This function will render each map when the document is ready (page has loaded)\n    *\n    *  @type\tfunction\n    *  @date\t8/11/2013\n    *  @since\t5.0.0\n    *\n    *  @param\tn/a\n    *  @return\tn/a\n    */\n    // global var\n    var map = null;\n\n    $(document).ready(function () {\n\n        $('.acf-map').each(function () {\n\n            // create map\n            map = new_map($(this));\n\n        });\n\n    });\n\n})(jQuery);\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = function(module) {\n\tvar getter = module && module.__esModule ?\n\t\tfunction() { return module['default']; } :\n\t\tfunction() { return module; };\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = function(exports, definition) {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.o = function(obj, prop) { return Object.prototype.hasOwnProperty.call(obj, prop); }"],"names":["$","append","window","length","document","querySelector","addEventListener","toggleClass","hasClass","this","attr","children","html","find","click","e","preventDefault","stopPropagation","not","siblings","slideUp","parent","removeClass","slideToggle","width","each","famsubmenuID","famsubmenu","submenuID","submenu","megamenuID","stop","fadeToggle","fadeOut","event","target","closest","on","focus","ready","didScroll","parents","addClass","lastScrollTop","navbarHeight","outerHeight","scroll","setInterval","st","scrollTop","Math","abs","height","$this","tab","split","Object","values","forEach","item","str","ret","ello","value","String","match","AOS","init","duration","offset","offsetAnchor","location","hash","targetOffset","getBoundingClientRect","top","scrollY","scrollTo","scrollX","querySelectorAll","anchor","history","pushState","getAttribute","setTimeout","normalizeColor","hexCode","reduce","t","n","assign","MiniGl","constructor","canvas","debug","_miniGl","debug_output","search","toLowerCase","indexOf","gl","getContext","antialias","meshes","context","setSize","lastDebugMsg","Date","console","log","toLocaleTimeString","Array","max","join","from","arguments","slice","defineProperties","Material","enumerable","vertexShaders","fragments","uniforms","material","getShaderByType","type","source","shader","createShader","shaderSource","compileShader","getShaderParameter","COMPILE_STATUS","error","getShaderInfoLog","getUniformVariableDeclarations","entries","map","uniform","getDeclaration","uniformInstances","prefix","vertexSource","commonUniforms","Source","vertexShader","VERTEX_SHADER","fragmentShader","FRAGMENT_SHADER","program","createProgram","attachShader","linkProgram","getProgramParameter","LINK_STATUS","getProgramInfoLog","useProgram","attachUniforms","name","i","push","getUniformLocation","Uniform","typeFn","float","int","vec2","vec3","vec4","mat4","update","transpose","excludeFrom","name_no_prefix","replace","charAt","toUpperCase","PlaneGeometry","orientation","createBuffer","attributes","position","Attribute","ARRAY_BUFFER","size","uv","uvNorm","index","ELEMENT_ARRAY_BUFFER","UNSIGNED_SHORT","setTopology","xSegCount","ySegCount","vertexCount","quadCount","Float32Array","Uint16Array","s","geometry","o","r","segment_width","segment_height","yIndex","xIndex","l","Mesh","mesh","wireframe","attributeInstances","attribute","attach","draw","use","drawElements","LINES","TRIANGLES","remove","filter","FLOAT","normalized","buffer","bindBuffer","bufferData","STATIC_DRAW","getAttribLocation","enableVertexAttribArray","vertexAttribPointer","a","projectionMatrix","modelViewMatrix","resolution","aspectRatio","viewport","setOrthographicCamera","render","clearColor","clearDepth","object","propertyName","val","defineProperty","configurable","writable","clearTimeout","scrollingTimeout","handleScrollEnd","scrollingRefreshDelay","isGradientLegendVisible","hideGradientLegend","conf","playing","isScrolling","pause","isIntersecting","play","innerWidth","minigl","ceil","density","u_shadow_power","isMetaKey","metaKey","isMouseDown","requestAnimationFrame","animate","shouldSkipFrame","min","last","u_time","isStatic","disconnect","isLoadedClass","el","classList","add","parentElement","selector","connect","shaderFiles","vertex","noise","blend","fragment","presetName","zoom","rotation","computedCanvasStyle","getComputedStyle","waitForCssVars","scrollObserver","removeEventListener","handleScroll","handleMouseDown","handleMouseUp","handleKeyDown","resize","initMaterial","u_darken_top","dataset","jsDarkenTop","u_active_colors","activeColors","u_global","noiseFreq","freqX","freqY","noiseSpeed","u_vertDeform","incline","sin","angle","cos","offsetTop","offsetBottom","noiseAmp","amp","noiseFlow","noiseSeed","seed","u_baseColor","sectionColors","u_waveLayers","color","noiseFloor","noiseCeil","initMesh","hidden","parseInt","updateFrequency","toggleColor","showGradientLegend","minWidth","body","initGradientColors","getPropertyValue","addIsLoadedClass","cssVarRetries","maxCssVarRetries","cssPropertyName","hex","trim","hexTemp","substr","Boolean","initGradient","$el","$markers","args","center","google","maps","LatLng","mapTypeId","MapTypeId","ROADMAP","Map","markers","$marker","latlng","marker","Marker","infowindow","InfoWindow","content","addListener","open","add_marker","bounds","LatLngBounds","lat","lng","extend","setCenter","getCenter","setZoom","fitBounds","center_map","jQuery","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","undefined","exports","module","__webpack_modules__","getter","__esModule","d","definition","key","get","obj","prop","prototype","hasOwnProperty","call"],"sourceRoot":""}