{"version":3,"file":"js/stacked_section_pin-10bb0c560016d0ecdf31.js","mappings":"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","sources":["webpack://app/./node_modules/gsap/utils/strings.js","webpack://app/./node_modules/gsap/SplitText.js","webpack://app/./app/javascript/packs/stacked_section_pin.js"],"sourcesContent":["/*!\n * strings: 3.12.5\n * https://gsap.com\n *\n * Copyright 2008-2024, GreenSock. All rights reserved.\n * Subject to the terms at https://gsap.com/standard-license or for\n * Club GSAP members, the agreement issued with that membership.\n * @author: Jack Doyle, jack@greensock.com\n*/\n\n/* eslint-disable */\nvar _trimExp = /(?:^\\s+|\\s+$)/g;\nexport var emojiExp = /([\\uD800-\\uDBFF][\\uDC00-\\uDFFF](?:[\\u200D\\uFE0F][\\uD800-\\uDBFF][\\uDC00-\\uDFFF]){2,}|\\uD83D\\uDC69(?:\\u200D(?:(?:\\uD83D\\uDC69\\u200D)?\\uD83D\\uDC67|(?:\\uD83D\\uDC69\\u200D)?\\uD83D\\uDC66)|\\uD83C[\\uDFFB-\\uDFFF])|\\uD83D\\uDC69\\u200D(?:\\uD83D\\uDC69\\u200D)?\\uD83D\\uDC66\\u200D\\uD83D\\uDC66|\\uD83D\\uDC69\\u200D(?:\\uD83D\\uDC69\\u200D)?\\uD83D\\uDC67\\u200D(?:\\uD83D[\\uDC66\\uDC67])|\\uD83C\\uDFF3\\uFE0F\\u200D\\uD83C\\uDF08|(?:\\uD83C[\\uDFC3\\uDFC4\\uDFCA]|\\uD83D[\\uDC6E\\uDC71\\uDC73\\uDC77\\uDC81\\uDC82\\uDC86\\uDC87\\uDE45-\\uDE47\\uDE4B\\uDE4D\\uDE4E\\uDEA3\\uDEB4-\\uDEB6]|\\uD83E[\\uDD26\\uDD37-\\uDD39\\uDD3D\\uDD3E\\uDDD6-\\uDDDD])(?:\\uD83C[\\uDFFB-\\uDFFF])\\u200D[\\u2640\\u2642]\\uFE0F|\\uD83D\\uDC69(?:\\uD83C[\\uDFFB-\\uDFFF])\\u200D(?:\\uD83C[\\uDF3E\\uDF73\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92])|(?:\\uD83C[\\uDFC3\\uDFC4\\uDFCA]|\\uD83D[\\uDC6E\\uDC6F\\uDC71\\uDC73\\uDC77\\uDC81\\uDC82\\uDC86\\uDC87\\uDE45-\\uDE47\\uDE4B\\uDE4D\\uDE4E\\uDEA3\\uDEB4-\\uDEB6]|\\uD83E[\\uDD26\\uDD37-\\uDD39\\uDD3C-\\uDD3E\\uDDD6-\\uDDDF])\\u200D[\\u2640\\u2642]\\uFE0F|\\uD83C\\uDDFD\\uD83C\\uDDF0|\\uD83C\\uDDF6\\uD83C\\uDDE6|\\uD83C\\uDDF4\\uD83C\\uDDF2|\\uD83C\\uDDE9(?:\\uD83C[\\uDDEA\\uDDEC\\uDDEF\\uDDF0\\uDDF2\\uDDF4\\uDDFF])|\\uD83C\\uDDF7(?:\\uD83C[\\uDDEA\\uDDF4\\uDDF8\\uDDFA\\uDDFC])|\\uD83C\\uDDE8(?:\\uD83C[\\uDDE6\\uDDE8\\uDDE9\\uDDEB-\\uDDEE\\uDDF0-\\uDDF5\\uDDF7\\uDDFA-\\uDDFF])|(?:\\u26F9|\\uD83C[\\uDFCB\\uDFCC]|\\uD83D\\uDD75)(?:\\uFE0F\\u200D[\\u2640\\u2642]|(?:\\uD83C[\\uDFFB-\\uDFFF])\\u200D[\\u2640\\u2642])\\uFE0F|(?:\\uD83D\\uDC41\\uFE0F\\u200D\\uD83D\\uDDE8|\\uD83D\\uDC69(?:\\uD83C[\\uDFFB-\\uDFFF])\\u200D[\\u2695\\u2696\\u2708]|\\uD83D\\uDC69\\u200D[\\u2695\\u2696\\u2708]|\\uD83D\\uDC68(?:(?:\\uD83C[\\uDFFB-\\uDFFF])\\u200D[\\u2695\\u2696\\u2708]|\\u200D[\\u2695\\u2696\\u2708]))\\uFE0F|\\uD83C\\uDDF2(?:\\uD83C[\\uDDE6\\uDDE8-\\uDDED\\uDDF0-\\uDDFF])|\\uD83D\\uDC69\\u200D(?:\\uD83C[\\uDF3E\\uDF73\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\u2764\\uFE0F\\u200D(?:\\uD83D\\uDC8B\\u200D(?:\\uD83D[\\uDC68\\uDC69])|\\uD83D[\\uDC68\\uDC69]))|\\uD83C\\uDDF1(?:\\uD83C[\\uDDE6-\\uDDE8\\uDDEE\\uDDF0\\uDDF7-\\uDDFB\\uDDFE])|\\uD83C\\uDDEF(?:\\uD83C[\\uDDEA\\uDDF2\\uDDF4\\uDDF5])|\\uD83C\\uDDED(?:\\uD83C[\\uDDF0\\uDDF2\\uDDF3\\uDDF7\\uDDF9\\uDDFA])|\\uD83C\\uDDEB(?:\\uD83C[\\uDDEE-\\uDDF0\\uDDF2\\uDDF4\\uDDF7])|[#\\*0-9]\\uFE0F\\u20E3|\\uD83C\\uDDE7(?:\\uD83C[\\uDDE6\\uDDE7\\uDDE9-\\uDDEF\\uDDF1-\\uDDF4\\uDDF6-\\uDDF9\\uDDFB\\uDDFC\\uDDFE\\uDDFF])|\\uD83C\\uDDE6(?:\\uD83C[\\uDDE8-\\uDDEC\\uDDEE\\uDDF1\\uDDF2\\uDDF4\\uDDF6-\\uDDFA\\uDDFC\\uDDFD\\uDDFF])|\\uD83C\\uDDFF(?:\\uD83C[\\uDDE6\\uDDF2\\uDDFC])|\\uD83C\\uDDF5(?:\\uD83C[\\uDDE6\\uDDEA-\\uDDED\\uDDF0-\\uDDF3\\uDDF7-\\uDDF9\\uDDFC\\uDDFE])|\\uD83C\\uDDFB(?:\\uD83C[\\uDDE6\\uDDE8\\uDDEA\\uDDEC\\uDDEE\\uDDF3\\uDDFA])|\\uD83C\\uDDF3(?:\\uD83C[\\uDDE6\\uDDE8\\uDDEA-\\uDDEC\\uDDEE\\uDDF1\\uDDF4\\uDDF5\\uDDF7\\uDDFA\\uDDFF])|\\uD83C\\uDFF4\\uDB40\\uDC67\\uDB40\\uDC62(?:\\uDB40\\uDC77\\uDB40\\uDC6C\\uDB40\\uDC73|\\uDB40\\uDC73\\uDB40\\uDC63\\uDB40\\uDC74|\\uDB40\\uDC65\\uDB40\\uDC6E\\uDB40\\uDC67)\\uDB40\\uDC7F|\\uD83D\\uDC68(?:\\u200D(?:\\u2764\\uFE0F\\u200D(?:\\uD83D\\uDC8B\\u200D)?\\uD83D\\uDC68|(?:(?:\\uD83D[\\uDC68\\uDC69])\\u200D)?\\uD83D\\uDC66\\u200D\\uD83D\\uDC66|(?:(?:\\uD83D[\\uDC68\\uDC69])\\u200D)?\\uD83D\\uDC67\\u200D(?:\\uD83D[\\uDC66\\uDC67])|\\uD83C[\\uDF3E\\uDF73\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92])|(?:\\uD83C[\\uDFFB-\\uDFFF])\\u200D(?:\\uD83C[\\uDF3E\\uDF73\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]))|\\uD83C\\uDDF8(?:\\uD83C[\\uDDE6-\\uDDEA\\uDDEC-\\uDDF4\\uDDF7-\\uDDF9\\uDDFB\\uDDFD-\\uDDFF])|\\uD83C\\uDDF0(?:\\uD83C[\\uDDEA\\uDDEC-\\uDDEE\\uDDF2\\uDDF3\\uDDF5\\uDDF7\\uDDFC\\uDDFE\\uDDFF])|\\uD83C\\uDDFE(?:\\uD83C[\\uDDEA\\uDDF9])|\\uD83C\\uDDEE(?:\\uD83C[\\uDDE8-\\uDDEA\\uDDF1-\\uDDF4\\uDDF6-\\uDDF9])|\\uD83C\\uDDF9(?:\\uD83C[\\uDDE6\\uDDE8\\uDDE9\\uDDEB-\\uDDED\\uDDEF-\\uDDF4\\uDDF7\\uDDF9\\uDDFB\\uDDFC\\uDDFF])|\\uD83C\\uDDEC(?:\\uD83C[\\uDDE6\\uDDE7\\uDDE9-\\uDDEE\\uDDF1-\\uDDF3\\uDDF5-\\uDDFA\\uDDFC\\uDDFE])|\\uD83C\\uDDFA(?:\\uD83C[\\uDDE6\\uDDEC\\uDDF2\\uDDF3\\uDDF8\\uDDFE\\uDDFF])|\\uD83C\\uDDEA(?:\\uD83C[\\uDDE6\\uDDE8\\uDDEA\\uDDEC\\uDDED\\uDDF7-\\uDDFA])|\\uD83C\\uDDFC(?:\\uD83C[\\uDDEB\\uDDF8])|(?:\\u26F9|\\uD83C[\\uDFCB\\uDFCC]|\\uD83D\\uDD75)(?:\\uD83C[\\uDFFB-\\uDFFF])|(?:\\uD83C[\\uDFC3\\uDFC4\\uDFCA]|\\uD83D[\\uDC6E\\uDC71\\uDC73\\uDC77\\uDC81\\uDC82\\uDC86\\uDC87\\uDE45-\\uDE47\\uDE4B\\uDE4D\\uDE4E\\uDEA3\\uDEB4-\\uDEB6]|\\uD83E[\\uDD26\\uDD37-\\uDD39\\uDD3D\\uDD3E\\uDDD6-\\uDDDD])(?:\\uD83C[\\uDFFB-\\uDFFF])|(?:[\\u261D\\u270A-\\u270D]|\\uD83C[\\uDF85\\uDFC2\\uDFC7]|\\uD83D[\\uDC42\\uDC43\\uDC46-\\uDC50\\uDC66\\uDC67\\uDC70\\uDC72\\uDC74-\\uDC76\\uDC78\\uDC7C\\uDC83\\uDC85\\uDCAA\\uDD74\\uDD7A\\uDD90\\uDD95\\uDD96\\uDE4C\\uDE4F\\uDEC0\\uDECC]|\\uD83E[\\uDD18-\\uDD1C\\uDD1E\\uDD1F\\uDD30-\\uDD36\\uDDD1-\\uDDD5])(?:\\uD83C[\\uDFFB-\\uDFFF])|\\uD83D\\uDC68(?:\\u200D(?:(?:(?:\\uD83D[\\uDC68\\uDC69])\\u200D)?\\uD83D\\uDC67|(?:(?:\\uD83D[\\uDC68\\uDC69])\\u200D)?\\uD83D\\uDC66)|\\uD83C[\\uDFFB-\\uDFFF])|(?:[\\u261D\\u26F9\\u270A-\\u270D]|\\uD83C[\\uDF85\\uDFC2-\\uDFC4\\uDFC7\\uDFCA-\\uDFCC]|\\uD83D[\\uDC42\\uDC43\\uDC46-\\uDC50\\uDC66-\\uDC69\\uDC6E\\uDC70-\\uDC78\\uDC7C\\uDC81-\\uDC83\\uDC85-\\uDC87\\uDCAA\\uDD74\\uDD75\\uDD7A\\uDD90\\uDD95\\uDD96\\uDE45-\\uDE47\\uDE4B-\\uDE4F\\uDEA3\\uDEB4-\\uDEB6\\uDEC0\\uDECC]|\\uD83E[\\uDD18-\\uDD1C\\uDD1E\\uDD1F\\uDD26\\uDD30-\\uDD39\\uDD3D\\uDD3E\\uDDD1-\\uDDDD])(?:\\uD83C[\\uDFFB-\\uDFFF])?|(?:[\\u231A\\u231B\\u23E9-\\u23EC\\u23F0\\u23F3\\u25FD\\u25FE\\u2614\\u2615\\u2648-\\u2653\\u267F\\u2693\\u26A1\\u26AA\\u26AB\\u26BD\\u26BE\\u26C4\\u26C5\\u26CE\\u26D4\\u26EA\\u26F2\\u26F3\\u26F5\\u26FA\\u26FD\\u2705\\u270A\\u270B\\u2728\\u274C\\u274E\\u2753-\\u2755\\u2757\\u2795-\\u2797\\u27B0\\u27BF\\u2B1B\\u2B1C\\u2B50\\u2B55]|\\uD83C[\\uDC04\\uDCCF\\uDD8E\\uDD91-\\uDD9A\\uDDE6-\\uDDFF\\uDE01\\uDE1A\\uDE2F\\uDE32-\\uDE36\\uDE38-\\uDE3A\\uDE50\\uDE51\\uDF00-\\uDF20\\uDF2D-\\uDF35\\uDF37-\\uDF7C\\uDF7E-\\uDF93\\uDFA0-\\uDFCA\\uDFCF-\\uDFD3\\uDFE0-\\uDFF0\\uDFF4\\uDFF8-\\uDFFF]|\\uD83D[\\uDC00-\\uDC3E\\uDC40\\uDC42-\\uDCFC\\uDCFF-\\uDD3D\\uDD4B-\\uDD4E\\uDD50-\\uDD67\\uDD7A\\uDD95\\uDD96\\uDDA4\\uDDFB-\\uDE4F\\uDE80-\\uDEC5\\uDECC\\uDED0-\\uDED2\\uDEEB\\uDEEC\\uDEF4-\\uDEF8]|\\uD83E[\\uDD10-\\uDD3A\\uDD3C-\\uDD3E\\uDD40-\\uDD45\\uDD47-\\uDD4C\\uDD50-\\uDD6B\\uDD80-\\uDD97\\uDDC0\\uDDD0-\\uDDE6])|(?:[#\\*0-9\\xA9\\xAE\\u203C\\u2049\\u2122\\u2139\\u2194-\\u2199\\u21A9\\u21AA\\u231A\\u231B\\u2328\\u23CF\\u23E9-\\u23F3\\u23F8-\\u23FA\\u24C2\\u25AA\\u25AB\\u25B6\\u25C0\\u25FB-\\u25FE\\u2600-\\u2604\\u260E\\u2611\\u2614\\u2615\\u2618\\u261D\\u2620\\u2622\\u2623\\u2626\\u262A\\u262E\\u262F\\u2638-\\u263A\\u2640\\u2642\\u2648-\\u2653\\u2660\\u2663\\u2665\\u2666\\u2668\\u267B\\u267F\\u2692-\\u2697\\u2699\\u269B\\u269C\\u26A0\\u26A1\\u26AA\\u26AB\\u26B0\\u26B1\\u26BD\\u26BE\\u26C4\\u26C5\\u26C8\\u26CE\\u26CF\\u26D1\\u26D3\\u26D4\\u26E9\\u26EA\\u26F0-\\u26F5\\u26F7-\\u26FA\\u26FD\\u2702\\u2705\\u2708-\\u270D\\u270F\\u2712\\u2714\\u2716\\u271D\\u2721\\u2728\\u2733\\u2734\\u2744\\u2747\\u274C\\u274E\\u2753-\\u2755\\u2757\\u2763\\u2764\\u2795-\\u2797\\u27A1\\u27B0\\u27BF\\u2934\\u2935\\u2B05-\\u2B07\\u2B1B\\u2B1C\\u2B50\\u2B55\\u3030\\u303D\\u3297\\u3299]|\\uD83C[\\uDC04\\uDCCF\\uDD70\\uDD71\\uDD7E\\uDD7F\\uDD8E\\uDD91-\\uDD9A\\uDDE6-\\uDDFF\\uDE01\\uDE02\\uDE1A\\uDE2F\\uDE32-\\uDE3A\\uDE50\\uDE51\\uDF00-\\uDF21\\uDF24-\\uDF93\\uDF96\\uDF97\\uDF99-\\uDF9B\\uDF9E-\\uDFF0\\uDFF3-\\uDFF5\\uDFF7-\\uDFFF]|\\uD83D[\\uDC00-\\uDCFD\\uDCFF-\\uDD3D\\uDD49-\\uDD4E\\uDD50-\\uDD67\\uDD6F\\uDD70\\uDD73-\\uDD7A\\uDD87\\uDD8A-\\uDD8D\\uDD90\\uDD95\\uDD96\\uDDA4\\uDDA5\\uDDA8\\uDDB1\\uDDB2\\uDDBC\\uDDC2-\\uDDC4\\uDDD1-\\uDDD3\\uDDDC-\\uDDDE\\uDDE1\\uDDE3\\uDDE8\\uDDEF\\uDDF3\\uDDFA-\\uDE4F\\uDE80-\\uDEC5\\uDECB-\\uDED2\\uDEE0-\\uDEE5\\uDEE9\\uDEEB\\uDEEC\\uDEF0\\uDEF3-\\uDEF8]|\\uD83E[\\uDD10-\\uDD3A\\uDD3C-\\uDD3E\\uDD40-\\uDD45\\uDD47-\\uDD4C\\uDD50-\\uDD6B\\uDD80-\\uDD97\\uDDC0\\uDDD0-\\uDDE6])\\uFE0F)/;\nexport function getText(e) {\n var type = e.nodeType,\n result = \"\";\n\n if (type === 1 || type === 9 || type === 11) {\n if (typeof e.textContent === \"string\") {\n return e.textContent;\n } else {\n for (e = e.firstChild; e; e = e.nextSibling) {\n result += getText(e);\n }\n }\n } else if (type === 3 || type === 4) {\n return e.nodeValue;\n }\n\n return result;\n}\nexport function splitInnerHTML(element, delimiter, trim, preserveSpaces) {\n var node = element.firstChild,\n result = [],\n s;\n\n while (node) {\n if (node.nodeType === 3) {\n s = (node.nodeValue + \"\").replace(/^\\n+/g, \"\");\n\n if (!preserveSpaces) {\n s = s.replace(/\\s+/g, \" \");\n }\n\n result.push.apply(result, emojiSafeSplit(s, delimiter, trim, preserveSpaces));\n } else if ((node.nodeName + \"\").toLowerCase() === \"br\") {\n result[result.length - 1] += \"
\";\n } else {\n result.push(node.outerHTML);\n }\n\n node = node.nextSibling;\n }\n\n s = result.length;\n\n while (s--) {\n result[s] === \"&\" && result.splice(s, 1, \"&\");\n }\n\n return result;\n}\n/*\n//smaller kb version that only handles the simpler emoji's, which is often perfectly adequate.\n\nlet _emoji = \"[\\uE000-\\uF8FF]|\\uD83C[\\uDC00-\\uDFFF]|\\uD83D[\\uDC00-\\uDFFF]|[\\u2694-\\u2697]|\\uD83E[\\uDD10-\\uDD5D]|[\\uD800-\\uDBFF][\\uDC00-\\uDFFF]\",\n\t_emojiExp = new RegExp(_emoji),\n\t_emojiAndCharsExp = new RegExp(_emoji + \"|.\", \"g\"),\n\t_emojiSafeSplit = (text, delimiter, trim) => {\n\t\tif (trim) {\n\t\t\ttext = text.replace(_trimExp, \"\");\n\t\t}\n\t\treturn ((delimiter === \"\" || !delimiter) && _emojiExp.test(text)) ? text.match(_emojiAndCharsExp) : text.split(delimiter || \"\");\n\t};\n */\n\nexport function emojiSafeSplit(text, delimiter, trim, preserveSpaces) {\n text += \"\"; // make sure it's cast as a string. Someone may pass in a number.\n\n trim && (text = text.trim ? text.trim() : text.replace(_trimExp, \"\")); // IE9 and earlier compatibility\n\n if (delimiter && delimiter !== \"\") {\n return text.replace(/>/g, \">\").replace(/= 0xD800 && character.charCodeAt(0) <= 0xDBFF || text.charCodeAt(i + 1) >= 0xFE00 && text.charCodeAt(i + 1) <= 0xFE0F) {\n //special emoji characters use 2 or 4 unicode characters that we must keep together.\n j = ((text.substr(i, 12).split(emojiExp) || [])[1] || \"\").length || 2;\n character = text.substr(i, j);\n result.emoji = 1;\n i += j - 1;\n }\n\n result.push(character === \">\" ? \">\" : character === \"<\" ? \"<\" : preserveSpaces && character === \" \" && (text.charAt(i - 1) === \" \" || text.charAt(i + 1) === \" \") ? \" \" : character);\n }\n\n return result;\n}","/*!\n * SplitText: 3.12.5\n * https://gsap.com\n *\n * @license Copyright 2008-2024, GreenSock. All rights reserved.\n * Subject to the terms at https://gsap.com/standard-license or for\n * Club GSAP members, the agreement issued with that membership.\n * @author: Jack Doyle, jack@greensock.com\n*/\n\n/* eslint-disable */\nimport { emojiExp, getText } from \"./utils/strings.js\";\n\nvar _doc,\n _win,\n _coreInitted,\n gsap,\n _context,\n _toArray,\n _stripExp = /(?:\\r|\\n|\\t\\t)/g,\n //find carriage returns, new line feeds and double-tabs.\n_multipleSpacesExp = /(?:\\s\\s+)/g,\n _nonBreakingSpace = String.fromCharCode(160),\n _initCore = function _initCore(core) {\n _doc = document;\n _win = window;\n gsap = gsap || core || _win.gsap || console.warn(\"Please gsap.registerPlugin(SplitText)\");\n\n if (gsap) {\n _toArray = gsap.utils.toArray;\n\n _context = gsap.core.context || function () {};\n\n _coreInitted = 1;\n }\n},\n _bonusValidated = 1,\n //SplitText\n_getComputedStyle = function _getComputedStyle(element) {\n return _win.getComputedStyle(element);\n},\n _isAbsolute = function _isAbsolute(vars) {\n return vars.position === \"absolute\" || vars.absolute === true;\n},\n //some characters are combining marks (think diacritics/accents in European languages) which involve 2 or 4 characters that combine in the browser to form a single character. Pass in the remaining text and an array of the special characters to search for and if the text starts with one of those special characters, it'll spit back the number of characters to retain (often 2 or 4). Used in the specialChars features that was introduced in 0.6.0.\n_findSpecialChars = function _findSpecialChars(text, chars) {\n var i = chars.length,\n s;\n\n while (--i > -1) {\n s = chars[i];\n\n if (text.substr(0, s.length) === s) {\n return s.length;\n }\n }\n},\n _divStart = \" style='position:relative;display:inline-block;'\",\n _cssClassFunc = function _cssClassFunc(cssClass, tag) {\n if (cssClass === void 0) {\n cssClass = \"\";\n }\n\n var iterate = ~cssClass.indexOf(\"++\"),\n num = 1;\n\n if (iterate) {\n cssClass = cssClass.split(\"++\").join(\"\");\n }\n\n return function () {\n return \"<\" + tag + _divStart + (cssClass ? \" class='\" + cssClass + (iterate ? num++ : \"\") + \"'>\" : \">\");\n };\n},\n _swapText = function _swapText(element, oldText, newText) {\n var type = element.nodeType;\n\n if (type === 1 || type === 9 || type === 11) {\n for (element = element.firstChild; element; element = element.nextSibling) {\n _swapText(element, oldText, newText);\n }\n } else if (type === 3 || type === 4) {\n element.nodeValue = element.nodeValue.split(oldText).join(newText);\n }\n},\n _pushReversed = function _pushReversed(a, merge) {\n var i = merge.length;\n\n while (--i > -1) {\n a.push(merge[i]);\n }\n},\n _isBeforeWordDelimiter = function _isBeforeWordDelimiter(e, root, wordDelimiter) {\n var next;\n\n while (e && e !== root) {\n next = e._next || e.nextSibling;\n\n if (next) {\n return next.textContent.charAt(0) === wordDelimiter;\n }\n\n e = e.parentNode || e._parent;\n }\n},\n _deWordify = function _deWordify(e) {\n var children = _toArray(e.childNodes),\n l = children.length,\n i,\n child;\n\n for (i = 0; i < l; i++) {\n child = children[i];\n\n if (child._isSplit) {\n _deWordify(child);\n } else {\n if (i && child.previousSibling && child.previousSibling.nodeType === 3) {\n child.previousSibling.nodeValue += child.nodeType === 3 ? child.nodeValue : child.firstChild.nodeValue;\n e.removeChild(child);\n } else if (child.nodeType !== 3) {\n e.insertBefore(child.firstChild, child);\n e.removeChild(child);\n }\n }\n }\n},\n _getStyleAsNumber = function _getStyleAsNumber(name, computedStyle) {\n return parseFloat(computedStyle[name]) || 0;\n},\n _setPositionsAfterSplit = function _setPositionsAfterSplit(element, vars, allChars, allWords, allLines, origWidth, origHeight) {\n var cs = _getComputedStyle(element),\n paddingLeft = _getStyleAsNumber(\"paddingLeft\", cs),\n lineOffsetY = -999,\n borderTopAndBottom = _getStyleAsNumber(\"borderBottomWidth\", cs) + _getStyleAsNumber(\"borderTopWidth\", cs),\n borderLeftAndRight = _getStyleAsNumber(\"borderLeftWidth\", cs) + _getStyleAsNumber(\"borderRightWidth\", cs),\n padTopAndBottom = _getStyleAsNumber(\"paddingTop\", cs) + _getStyleAsNumber(\"paddingBottom\", cs),\n padLeftAndRight = _getStyleAsNumber(\"paddingLeft\", cs) + _getStyleAsNumber(\"paddingRight\", cs),\n lineThreshold = _getStyleAsNumber(\"fontSize\", cs) * (vars.lineThreshold || 0.2),\n textAlign = cs.textAlign,\n charArray = [],\n wordArray = [],\n lineArray = [],\n wordDelimiter = vars.wordDelimiter || \" \",\n tag = vars.tag ? vars.tag : vars.span ? \"span\" : \"div\",\n types = vars.type || vars.split || \"chars,words,lines\",\n lines = allLines && ~types.indexOf(\"lines\") ? [] : null,\n words = ~types.indexOf(\"words\"),\n chars = ~types.indexOf(\"chars\"),\n absolute = _isAbsolute(vars),\n linesClass = vars.linesClass,\n iterateLine = ~(linesClass || \"\").indexOf(\"++\"),\n spaceNodesToRemove = [],\n isFlex = cs.display === \"flex\",\n prevInlineDisplay = element.style.display,\n i,\n j,\n l,\n node,\n nodes,\n isChild,\n curLine,\n addWordSpaces,\n style,\n lineNode,\n lineWidth,\n offset;\n\n iterateLine && (linesClass = linesClass.split(\"++\").join(\"\"));\n isFlex && (element.style.display = \"block\"); //copy all the descendant nodes into an array (we can't use a regular nodeList because it's live and we may need to renest things)\n\n j = element.getElementsByTagName(\"*\");\n l = j.length;\n nodes = [];\n\n for (i = 0; i < l; i++) {\n nodes[i] = j[i];\n } //for absolute positioning, we need to record the x/y offsets and width/height for every
. And even if we're not positioning things absolutely, in order to accommodate lines, we must figure out where the y offset changes so that we can sense where the lines break, and we populate the lines array.\n\n\n if (lines || absolute) {\n for (i = 0; i < l; i++) {\n node = nodes[i];\n isChild = node.parentNode === element;\n\n if (isChild || absolute || chars && !words) {\n offset = node.offsetTop;\n\n if (lines && isChild && Math.abs(offset - lineOffsetY) > lineThreshold && (node.nodeName !== \"BR\" || i === 0)) {\n //we found some rare occasions where a certain character like ‑ could cause the offsetTop to be off by 1 pixel, so we build in a threshold.\n curLine = [];\n lines.push(curLine);\n lineOffsetY = offset;\n }\n\n if (absolute) {\n //record offset x and y, as well as width and height so that we can access them later for positioning. Grabbing them at once ensures we don't trigger a browser paint & we maximize performance.\n node._x = node.offsetLeft;\n node._y = offset;\n node._w = node.offsetWidth;\n node._h = node.offsetHeight;\n }\n\n if (lines) {\n if (node._isSplit && isChild || !chars && isChild || words && isChild || !words && node.parentNode.parentNode === element && !node.parentNode._isSplit) {\n curLine.push(node);\n node._x -= paddingLeft;\n\n if (_isBeforeWordDelimiter(node, element, wordDelimiter)) {\n node._wordEnd = true;\n }\n }\n\n if (node.nodeName === \"BR\" && (node.nextSibling && node.nextSibling.nodeName === \"BR\" || i === 0)) {\n //two consecutive
tags signify a new [empty] line. Also, if the entire block of content STARTS with a
, add a line.\n lines.push([]);\n }\n }\n }\n }\n }\n\n for (i = 0; i < l; i++) {\n node = nodes[i];\n isChild = node.parentNode === element;\n\n if (node.nodeName === \"BR\") {\n if (lines || absolute) {\n node.parentNode && node.parentNode.removeChild(node);\n nodes.splice(i--, 1);\n l--;\n } else if (!words) {\n element.appendChild(node);\n }\n\n continue;\n }\n\n if (absolute) {\n style = node.style;\n\n if (!words && !isChild) {\n node._x += node.parentNode._x;\n node._y += node.parentNode._y;\n }\n\n style.left = node._x + \"px\";\n style.top = node._y + \"px\";\n style.position = \"absolute\";\n style.display = \"block\"; //if we don't set the width/height, things collapse in older versions of IE and the origin for transforms is thrown off in all browsers.\n\n style.width = node._w + 1 + \"px\"; //IE is 1px short sometimes. Avoid wrapping\n\n style.height = node._h + \"px\";\n }\n\n if (!words && chars) {\n //we always start out wrapping words in their own
so that line breaks happen correctly, but here we'll remove those
tags if necessary and re-nest the characters directly into the element rather than inside the word
\n if (node._isSplit) {\n node._next = j = node.nextSibling;\n node.parentNode.appendChild(node); //put it at the end to keep the order correct.\n\n while (j && j.nodeType === 3 && j.textContent === \" \") {\n // if there are nodes that are just a space right afterward, go ahead and append them to the end so they're not out of order.\n node._next = j.nextSibling;\n node.parentNode.appendChild(j);\n j = j.nextSibling;\n }\n } else if (node.parentNode._isSplit) {\n node._parent = node.parentNode;\n\n if (!node.previousSibling && node.firstChild) {\n node.firstChild._isFirst = true;\n }\n\n if (node.nextSibling && node.nextSibling.textContent === \" \" && !node.nextSibling.nextSibling) {\n //if the last node inside a nested element is just a space (like Tnested ), remove it otherwise it'll get placed in the wrong order. Don't remove it right away, though, because we need to sense when words/characters are before a space like _isBeforeWordDelimiter(). Removing it now would make that a false negative.\n spaceNodesToRemove.push(node.nextSibling);\n }\n\n node._next = node.nextSibling && node.nextSibling._isFirst ? null : node.nextSibling;\n node.parentNode.removeChild(node);\n nodes.splice(i--, 1);\n l--;\n } else if (!isChild) {\n offset = !node.nextSibling && _isBeforeWordDelimiter(node.parentNode, element, wordDelimiter); //if this is the last letter in the word (and we're not breaking by lines and not positioning things absolutely), we need to add a space afterwards so that the characters don't just mash together\n\n node.parentNode._parent && node.parentNode._parent.appendChild(node);\n offset && node.parentNode.appendChild(_doc.createTextNode(\" \"));\n\n if (tag === \"span\") {\n node.style.display = \"inline\"; //so that word breaks are honored properly.\n }\n\n charArray.push(node);\n }\n } else if (node.parentNode._isSplit && !node._isSplit && node.innerHTML !== \"\") {\n wordArray.push(node);\n } else if (chars && !node._isSplit) {\n if (tag === \"span\") {\n node.style.display = \"inline\";\n }\n\n charArray.push(node);\n }\n }\n\n i = spaceNodesToRemove.length;\n\n while (--i > -1) {\n spaceNodesToRemove[i].parentNode.removeChild(spaceNodesToRemove[i]);\n }\n\n if (lines) {\n //the next 7 lines just give us the line width in the most reliable way and figure out the left offset (if position isn't relative or absolute). We must set the width along with text-align to ensure everything works properly for various alignments.\n if (absolute) {\n lineNode = _doc.createElement(tag);\n element.appendChild(lineNode);\n lineWidth = lineNode.offsetWidth + \"px\";\n offset = lineNode.offsetParent === element ? 0 : element.offsetLeft;\n element.removeChild(lineNode);\n }\n\n style = element.style.cssText;\n element.style.cssText = \"display:none;\"; //to improve performance, set display:none on the element so that the browser doesn't have to worry about reflowing or rendering while we're renesting things. We'll revert the cssText later.\n //we can't use element.innerHTML = \"\" because that causes IE to literally delete all the nodes and their content even though we've stored them in an array! So we must loop through the children and remove them.\n\n while (element.firstChild) {\n element.removeChild(element.firstChild);\n }\n\n addWordSpaces = wordDelimiter === \" \" && (!absolute || !words && !chars);\n\n for (i = 0; i < lines.length; i++) {\n curLine = lines[i];\n lineNode = _doc.createElement(tag);\n lineNode.style.cssText = \"display:block;text-align:\" + textAlign + \";position:\" + (absolute ? \"absolute;\" : \"relative;\");\n\n if (linesClass) {\n lineNode.className = linesClass + (iterateLine ? i + 1 : \"\");\n }\n\n lineArray.push(lineNode);\n l = curLine.length;\n\n for (j = 0; j < l; j++) {\n if (curLine[j].nodeName !== \"BR\") {\n node = curLine[j];\n lineNode.appendChild(node);\n addWordSpaces && node._wordEnd && lineNode.appendChild(_doc.createTextNode(\" \"));\n\n if (absolute) {\n if (j === 0) {\n lineNode.style.top = node._y + \"px\";\n lineNode.style.left = paddingLeft + offset + \"px\";\n }\n\n node.style.top = \"0px\";\n\n if (offset) {\n node.style.left = node._x - offset + \"px\";\n }\n }\n }\n }\n\n if (l === 0) {\n //if there are no nodes in the line (typically meaning there were two consecutive
tags, just add a non-breaking space so that things display properly.\n lineNode.innerHTML = \" \";\n } else if (!words && !chars) {\n _deWordify(lineNode);\n\n _swapText(lineNode, String.fromCharCode(160), \" \");\n }\n\n if (absolute) {\n lineNode.style.width = lineWidth;\n lineNode.style.height = node._h + \"px\";\n }\n\n element.appendChild(lineNode);\n }\n\n element.style.cssText = style;\n } //if everything shifts to being position:absolute, the container can collapse in terms of height or width, so fix that here.\n\n\n if (absolute) {\n if (origHeight > element.clientHeight) {\n element.style.height = origHeight - padTopAndBottom + \"px\";\n\n if (element.clientHeight < origHeight) {\n //IE8 and earlier use a different box model - we must include padding and borders\n element.style.height = origHeight + borderTopAndBottom + \"px\";\n }\n }\n\n if (origWidth > element.clientWidth) {\n element.style.width = origWidth - padLeftAndRight + \"px\";\n\n if (element.clientWidth < origWidth) {\n //IE8 and earlier use a different box model - we must include padding and borders\n element.style.width = origWidth + borderLeftAndRight + \"px\";\n }\n }\n }\n\n isFlex && (prevInlineDisplay ? element.style.display = prevInlineDisplay : element.style.removeProperty(\"display\"));\n\n _pushReversed(allChars, charArray);\n\n words && _pushReversed(allWords, wordArray);\n\n _pushReversed(allLines, lineArray);\n},\n _splitRawText = function _splitRawText(element, vars, wordStart, charStart) {\n var tag = vars.tag ? vars.tag : vars.span ? \"span\" : \"div\",\n types = vars.type || vars.split || \"chars,words,lines\",\n //words = (types.indexOf(\"words\") !== -1),\n chars = ~types.indexOf(\"chars\"),\n absolute = _isAbsolute(vars),\n wordDelimiter = vars.wordDelimiter || \" \",\n isWordDelimiter = function isWordDelimiter(_char) {\n return _char === wordDelimiter || _char === _nonBreakingSpace && wordDelimiter === \" \";\n },\n space = wordDelimiter !== \" \" ? \"\" : absolute ? \"­ \" : \" \",\n wordEnd = \"\",\n wordIsOpen = 1,\n specialChars = vars.specialChars ? typeof vars.specialChars === \"function\" ? vars.specialChars : _findSpecialChars : null,\n //specialChars can be an array or a function. For performance reasons, we always set this local \"specialChars\" to a function to which we pass the remaining text and whatever the original vars.specialChars was so that if it's an array, it works with the _findSpecialChars() function.\n text,\n splitText,\n i,\n j,\n l,\n character,\n hasTagStart,\n testResult,\n container = _doc.createElement(\"div\"),\n parent = element.parentNode;\n\n parent.insertBefore(container, element);\n container.textContent = element.nodeValue;\n parent.removeChild(element);\n element = container;\n text = getText(element);\n hasTagStart = text.indexOf(\"<\") !== -1;\n\n if (vars.reduceWhiteSpace !== false) {\n text = text.replace(_multipleSpacesExp, \" \").replace(_stripExp, \"\");\n }\n\n if (hasTagStart) {\n text = text.split(\"<\").join(\"{{LT}}\"); //we can't leave \"<\" in the string, or when we set the innerHTML, it can be interpreted as a node\n }\n\n l = text.length;\n splitText = (text.charAt(0) === \" \" ? space : \"\") + wordStart();\n\n for (i = 0; i < l; i++) {\n character = text.charAt(i);\n\n if (specialChars && (testResult = specialChars(text.substr(i), vars.specialChars))) {\n // look for any specialChars that were declared. Remember, they can be passed in like {specialChars:[\"मी\", \"पा\", \"है\"]} or a function could be defined instead. Either way, the function should return the number of characters that should be grouped together for this \"character\".\n character = text.substr(i, testResult || 1);\n splitText += chars && character !== \" \" ? charStart() + character + \"\" : character;\n i += testResult - 1;\n } else if (isWordDelimiter(character) && !isWordDelimiter(text.charAt(i - 1)) && i) {\n splitText += wordIsOpen ? wordEnd : \"\";\n wordIsOpen = 0;\n\n while (isWordDelimiter(text.charAt(i + 1))) {\n //skip over empty spaces (to avoid making them words)\n splitText += space;\n i++;\n }\n\n if (i === l - 1) {\n splitText += space;\n } else if (text.charAt(i + 1) !== \")\") {\n splitText += space + wordStart();\n wordIsOpen = 1;\n }\n } else if (character === \"{\" && text.substr(i, 6) === \"{{LT}}\") {\n splitText += chars ? charStart() + \"{{LT}}\" + \"\" : \"{{LT}}\";\n i += 5;\n } else if (character.charCodeAt(0) >= 0xD800 && character.charCodeAt(0) <= 0xDBFF || text.charCodeAt(i + 1) >= 0xFE00 && text.charCodeAt(i + 1) <= 0xFE0F) {\n //special emoji characters use 2 or 4 unicode characters that we must keep together.\n j = ((text.substr(i, 12).split(emojiExp) || [])[1] || \"\").length || 2;\n splitText += chars && character !== \" \" ? charStart() + text.substr(i, j) + \"\" : text.substr(i, j);\n i += j - 1;\n } else {\n splitText += chars && character !== \" \" ? charStart() + character + \"\" : character;\n }\n }\n\n element.outerHTML = splitText + (wordIsOpen ? wordEnd : \"\");\n hasTagStart && _swapText(parent, \"{{LT}}\", \"<\"); //note: don't perform this on \"element\" because that gets replaced with all new elements when we set element.outerHTML.\n},\n _split = function _split(element, vars, wordStart, charStart) {\n var children = _toArray(element.childNodes),\n l = children.length,\n absolute = _isAbsolute(vars),\n i,\n child;\n\n if (element.nodeType !== 3 || l > 1) {\n vars.absolute = false;\n\n for (i = 0; i < l; i++) {\n child = children[i];\n child._next = child._isFirst = child._parent = child._wordEnd = null;\n\n if (child.nodeType !== 3 || /\\S+/.test(child.nodeValue)) {\n if (absolute && child.nodeType !== 3 && _getComputedStyle(child).display === \"inline\") {\n //if there's a child node that's display:inline, switch it to inline-block so that absolute positioning works properly (most browsers don't report offsetTop/offsetLeft properly inside a for example)\n child.style.display = \"inline-block\";\n child.style.position = \"relative\";\n }\n\n child._isSplit = true;\n\n _split(child, vars, wordStart, charStart); //don't split lines on child elements\n\n }\n }\n\n vars.absolute = absolute;\n element._isSplit = true;\n return;\n }\n\n _splitRawText(element, vars, wordStart, charStart);\n};\n\nexport var SplitText = /*#__PURE__*/function () {\n function SplitText(element, vars) {\n _coreInitted || _initCore();\n this.elements = _toArray(element);\n this.chars = [];\n this.words = [];\n this.lines = [];\n this._originals = [];\n this.vars = vars || {};\n\n _context(this);\n\n _bonusValidated && this.split(vars);\n }\n\n var _proto = SplitText.prototype;\n\n _proto.split = function split(vars) {\n this.isSplit && this.revert();\n this.vars = vars = vars || this.vars;\n this._originals.length = this.chars.length = this.words.length = this.lines.length = 0;\n\n var i = this.elements.length,\n tag = vars.tag ? vars.tag : vars.span ? \"span\" : \"div\",\n wordStart = _cssClassFunc(vars.wordsClass, tag),\n charStart = _cssClassFunc(vars.charsClass, tag),\n origHeight,\n origWidth,\n e; //we split in reversed order so that if/when we position:absolute elements, they don't affect the position of the ones after them in the document flow (shifting them up as they're taken out of the document flow).\n\n\n while (--i > -1) {\n e = this.elements[i];\n this._originals[i] = {\n html: e.innerHTML,\n style: e.getAttribute(\"style\")\n };\n origHeight = e.clientHeight;\n origWidth = e.clientWidth;\n\n _split(e, vars, wordStart, charStart);\n\n _setPositionsAfterSplit(e, vars, this.chars, this.words, this.lines, origWidth, origHeight);\n }\n\n this.chars.reverse();\n this.words.reverse();\n this.lines.reverse();\n this.isSplit = true;\n return this;\n };\n\n _proto.revert = function revert() {\n var originals = this._originals;\n\n if (!originals) {\n throw \"revert() call wasn't scoped properly.\";\n }\n\n this.elements.forEach(function (e, i) {\n e.innerHTML = originals[i].html;\n e.setAttribute(\"style\", originals[i].style);\n });\n this.chars = [];\n this.words = [];\n this.lines = [];\n this.isSplit = false;\n return this;\n };\n\n SplitText.create = function create(element, vars) {\n return new SplitText(element, vars);\n };\n\n return SplitText;\n}();\nSplitText.version = \"3.12.5\";\nSplitText.register = _initCore;\nexport { SplitText as default };","import gsap from 'gsap';\nimport ScrollTrigger from 'gsap/ScrollTrigger';\nimport { SplitText } from 'gsap/SplitText';\n\ngsap.registerPlugin(ScrollTrigger, SplitText);\n\n// When using Turbo, the turbo:load is triggered on the first page load as well. This is a workaround to prevent the first page load from triggering the init function twice.\nlet firstLoad = true;\ndocument.addEventListener('DOMContentLoaded', function () {\n console.log('DOMContentLoaded');\n init();\n});\ndocument.addEventListener('turbo:render', function () {\n console.log('turbo:load');\n\n // Prevent the first page load from triggering the init function again (as it is already triggered by the DOMContentLoaded event)\n if (firstLoad) {\n firstLoad = false;\n return;\n }\n\n init();\n});\n\nfunction init() {\n console.log('init');\n let darkSections = gsap.utils.toArray('.dark-section');\n const mainMenuHeader = document.querySelector('#main-menu-frontpage');\n const textToSplit = document.querySelectorAll('.text-reveal-onScroll');\n const fadeInElements = document.querySelectorAll('.fadeIn');\n\n //Mask reveal animation on headings\n textToSplit.forEach((text, i) => {\n // Split the text into only lines and words\n const splitted = new SplitText(text, {\n wordsClass: 'word',\n type: 'lines,words',\n });\n\n // Prepare the text for animation\n gsap.set(splitted.lines, { textAlign: 'inherit', overflow: 'hidden' });\n gsap.set(splitted.words, { opacity: 0, y: 100 });\n gsap.set(text, { opacity: 1 });\n\n // Animate the words in each line\n let delay = 0;\n for (const line of splitted.lines) {\n gsap.to(line.querySelectorAll('.word'), {\n scrollTrigger: {\n trigger: line,\n start: 'top 85%',\n //markers:true\n },\n opacity: 1,\n y: 0,\n delay: delay,\n });\n delay += 0.1;\n }\n });\n\n //Fade in section elements\n fadeInElements.forEach((element, i) => {\n gsap.set(element, { opacity: 0 });\n gsap.to(element, {\n scrollTrigger: {\n trigger: element,\n start: 'top 85%',\n //markers:true\n },\n opacity: 1,\n duration: 1,\n });\n });\n\n // gsap.to(splitted.words, {\n // scrollTrigger:{\n // trigger: splitted.words,\n // start: \"top 85%\",\n // //markers:true\n // },\n // opacity:1,\n // y:0,\n // });\n // });\n\n // //Horizontal reveal for header horizontal list\n // let xValue = 0;\n // let staggerValue = 0.1;\n // if(windowWidth < 800) {\n // xValue = -200;\n // staggerValue = 0.25;\n // }\n // gsap.set(horizontalList, {opacity:0, x:xValue});\n // ScrollTrigger.batch(horizontalList, {\n // onEnter: batch => gsap.to(batch, {stagger:staggerValue, opacity: 1, x: 0}),\n // start: \"top 70%\",\n // });\n\n // //Horizontal reveal for yellow blocks\n // gsap.set(horizontalYellowElements, {opacity:0, x:-200});\n // ScrollTrigger.batch(horizontalYellowElements, {\n // onEnter: batch => gsap.to(batch, {stagger:0.25, opacity: 1, x: 0}),\n // start: \"top 70%\",\n // });\n\n darkSections.forEach((section, i) => {\n ScrollTrigger.create({\n trigger: section,\n start: 'top 80px',\n toggleClass: { targets: mainMenuHeader, className: 'over-dark' },\n });\n });\n}\n"],"names":["emojiExp","getText","e","type","nodeType","result","textContent","firstChild","nextSibling","nodeValue","_doc","_win","_coreInitted","_context","_toArray","_stripExp","_multipleSpacesExp","_nonBreakingSpace","String","fromCharCode","_initCore","core","document","window","gsap","console","warn","utils","toArray","context","_getComputedStyle","element","getComputedStyle","_isAbsolute","vars","position","absolute","_findSpecialChars","text","chars","s","i","length","substr","_cssClassFunc","cssClass","tag","iterate","indexOf","num","split","join","_swapText","oldText","newText","_pushReversed","a","merge","push","_isBeforeWordDelimiter","root","wordDelimiter","next","_next","charAt","parentNode","_parent","_deWordify","child","children","childNodes","l","_isSplit","previousSibling","removeChild","insertBefore","_getStyleAsNumber","name","computedStyle","parseFloat","_setPositionsAfterSplit","allChars","allWords","allLines","origWidth","origHeight","j","node","nodes","isChild","curLine","addWordSpaces","style","lineNode","lineWidth","offset","cs","paddingLeft","lineOffsetY","borderTopAndBottom","borderLeftAndRight","padTopAndBottom","padLeftAndRight","lineThreshold","textAlign","charArray","wordArray","lineArray","span","types","lines","words","linesClass","iterateLine","spaceNodesToRemove","isFlex","display","prevInlineDisplay","getElementsByTagName","offsetTop","Math","abs","nodeName","_x","offsetLeft","_y","_w","offsetWidth","_h","offsetHeight","_wordEnd","left","top","width","height","appendChild","_isFirst","splice","createTextNode","innerHTML","createElement","offsetParent","cssText","className","clientHeight","clientWidth","removeProperty","_splitRawText","wordStart","charStart","splitText","character","hasTagStart","testResult","isWordDelimiter","_char","space","wordEnd","wordIsOpen","specialChars","container","parent","reduceWhiteSpace","replace","charCodeAt","outerHTML","_split","test","SplitText","this","elements","_originals","_proto","prototype","isSplit","revert","wordsClass","charsClass","html","getAttribute","reverse","originals","forEach","setAttribute","create","version","register","registerPlugin","ScrollTrigger","firstLoad","init","log","darkSections","mainMenuHeader","querySelector","textToSplit","querySelectorAll","fadeInElements","splitted","set","overflow","opacity","y","_step","delay","_iterator","_createForOfIteratorHelper","n","done","line","value","to","scrollTrigger","trigger","start","err","f","duration","section","toggleClass","targets","addEventListener"],"sourceRoot":""}