jQuery(document).ready(function($) {
// Find elements with class ".words-table"
$('.words-table').each(function() {
// Find text inside parentheses and wrap it with <em> tags
$(this).html(function(_, html) {
return html.replace(/\((.*?)\)/g, '(<em>$1</em>)');
});// Wrap the first column's text with <strong> tag
$(this).find('td:first-child').wrapInner('<strong></strong>');// Apply <strong> tag to the matching words in the third column (case insensitive)
$(this).find('tr').each(function() {
var firstColumnText = $(this).find('td:first-child').text().trim().toLowerCase(); // Convert to lowercase
var thirdColumnCell = $(this).find('td:nth-child(3)');var thirdColumnText = thirdColumnCell.text().trim(); // No need to convert to lowercase
if (thirdColumnText.toLowerCase().includes(firstColumnText)) {
thirdColumnCell.html(thirdColumnText.replace(new RegExp(firstColumnText, "gi"), '<strong>$&</strong>'));
}
});
});// Custom function for case-insensitive comparison
function isEqualIgnoreCase(str1, str2) {
return str1.localeCompare(str2, undefined, { sensitivity: 'base' }) === 0;
}
});
document.documentElement.className += " spai_has_js";
(function(w, d){
var b = d.getElementsByTagName('head')[0];
var s = d.createElement("script");
var v = ("IntersectionObserver" in w) ? "" : "-compat";
s.async = true; // This includes the script as async.
s.src = "https://cdn.shortpixel.ai/assets/js/bundles/spai-lib-bg" + v
+ ".1.1.min.js?v=3.11.6";
w.spaiDomain = "cdn.shortpixel.ai";
w.spaiData = {
version: "3.11.6",
key: "spai",
customKeys: [],
quality: "glossy",
convert: "auto",
lqip: false,
rootMargin: "500px",
crop: false,
sizeBreakpoints: {"on":false,"base":50,"rate":10},
backgroundsMaxWidth: 1920,
resizeStyleBackgrounds: false,
nativeLazyLoad: true,
safeLazyBackgrounds: false,
asyncInitialParsing: false,
debug: false,
doSelectors: "__SPAI_DO_SELECTORS__",
exclusions: "__SPAI_EXCLUSIONS__",
sizeFromImageSuffix: true,
ajax_url: "https://impactful.ninja/wp-admin/admin-ajax.php"
};
b.appendChild(s);
}(window, document));
Impactful Ninja is reader-supported. When you buy through links on our site, we may earn an affiliate commission. Learn moreLearn more.
Affiliate Disclosure
Hey fellow impactful ninja ?
You may have noticed that Impactful Ninja is all about providing helpful information to make a positive impact on the world and society. And that we love to link back to where we found all the information for each of our posts.
Most of these links are informational-based for you to check out their primary sources with one click.
But some of these links are so-called "affiliate links" to products that we recommend.
Why do we add these product links?
First and foremost, because we believe that they add value to you. For example, when we wrote a post about the environmental impact of long showers, we came across an EPA recommendation to use WaterSense showerheads. So we linked to where you can find them. Or, for many of our posts, we also link to our favorite books on that topic so that you can get a much more holistic overview than one single blog post could provide.
And when there is an affiliate program for these products, we sign up for it. For example, as Amazon Associates, we earn from qualifying purchases.
What do these affiliate links mean for you?
First, and most importantly, we still only recommend products that we believe add value for you.
When you buy something through one of our affiliate links, we may earn a small commission - but at no additional costs to you.
And when you buy something through a link that is not an affiliate link, we won’t receive any commission but we’ll still be happy to have helped you.
What do these affiliate links mean for us?
When we find products that we believe add value to you and the seller has an affiliate program, we sign up for it.
When you buy something through one of our affiliate links, we may earn a small commission (at no extra costs to you).
And at this point in time, all money is reinvested in sharing the most helpful content with you. This includes all operating costs for running this site and the content creation itself.
What does this mean for me personally?
You may have noticed by the way Impactful Ninja is operated that money is not the driving factor behind it. It is a passion project of mine and I love to share helpful information with you to make a positive impact on the world and society. However, it's a project in that I invest a lot of time and also quite some money.
Eventually, my dream is to one day turn this passion project into my full-time job and provide even more helpful information. But that's still a long time to go.
Modal, or modal rayon fabric, was first developed in 1951 in Japan as an alternative to silk. This fabric is soft like silk but highly breathable and durable. However, some modal manufacturers still depend heavily on fossil fuels for energy and artificial chemicals. So we had to ask: How sustainable are modal fabrics?
Modal is generally a sustainable fabric, mainly because the raw materials come from renewable wood and the end product is durable and biodegradable. However, some modal manufacturing processes are associated with high usage of energy (often fossil fuels) and chemicals.
In this article, we’ll walk you through the life-cycle of modal fabrics used for clothes and bedding. Then, we evaluate its sustainability, potential, and shortfalls. And in the end, we’ll show you tips for buying sustainable products made with modal fabrics.
Here’s How We Assessed the Sustainability of Modal Fabrics
Modal is generally considered sustainable, mainly because this breathable fabric is durable and comes from renewable raw materials. However, not all modal fibers are made equally because some modal manufacturers still depend heavily on fossil fuels for energy while using and releasing a high amount of chemicals.
“Sustainable: The ability to be maintained at a certain rate or level | Avoidance of the depletion of natural resources in order to maintain an ecological balance”
These cellulose fibers in modal are obtained from the wood pulp of beech trees – tree species native to temperate and subtropical regions of the Northern Hemisphere.
Lyocell is considered as the 3rd generation of rayon
All three generations (viscose, modal, and lyocell) are made with cellulosic fibers regenerated during manufacturing. They are similar to cotton or hemp in the sense that all of these fabrics contain cellulosic fibers, but the fibers in cotton and hemp are natural (instead of man-made).
To understand the sustainability of modal fabrics, we must assess their life-cycle and each stage’s sustainability. This life-cycle assessment (LCA) is a method to evaluate the environmental impacts of products and materials. Over the years, companies have strategically used LCA to research and create more sustainable products. So, let’s have a look at the LCA of modal fabrics!
In this article, we’ll use the cradle-to-grave perspective of the LCA, examining the five stages of the life-cycle of clothes and bedding made with modal fabrics. When applicable, we also look at cradle-to-gate assessments.
The life-cycle stages of modal fabrics
Each stage’s sustainability
Sourcing of modal fabrics
The sourcing stage is generally sustainable because modal fabrics are made from renewable beechwood, obtainable from managed forests across North America and Europe.
Manufacturing of modal fabrics
Manufacturing modal fabric is energy and chemical intensive, which could have serious knock-on ecological impacts, especially if fossil fuels are the main energy sources at the manufacturing locations. However, integrated manufacturing processes can recover part of the energy during production while optimizing materials. In this case, manufacturing modal fabrics can be designed to be more sustainable.
Transporting of modal fabrics
Transporting can be a carbon-intensive stage in the life-cycle of items made with modal fabrics because of the emissions associated with transporting and delivering vehicles. Modal fabrics typically travel from forests, where raw materials for modal are grown, to processing factories, then sorting centers, shops, and consumer’s houses before going to recycling centers or landfill.
Usage of modal fabrics
The usage of modal fabrics is sustainable because modal clothing tends to last a long time while requiring few washes.
End-of-life of modal fabrics
The end-of-life stage for modal fabric is generally sustainable because it is reusable, biodegradable, and compostable.
Overall, we can say that modal fabric is generally a sustainable material for clothing and bedding. However, the actual environmental impact of a particular product, like sportswear, depends on more specific factors, including the sourcing of the wood, manufacturing processes, and thedistance and mode of transportation.
Let’s dive deeper into each life-cycle stage and find out how you can buy modal fabrics more sustainably.
How Sustainable Is the Sourcing Raw Materials for Modal Fabrics
The sourcing stage is generally sustainable as modal fabrics are made from renewable beechwood, obtainable from managed forests across North America and Europe.
What Raw Materials Are Used for Modal Fabrics
Cellulose fibers from beechwood are the main material used for modal fabrics.
(Synthetic chemicals are also used in making modal fabrics, but we will discuss those agents in the manufacturing stage.)
How Do the Raw Materials Sourced for Modal Fabrics Impact the Environment
The main raw materials used in modal fabrics come from the wood pulp of beech trees. These trees grow naturally in North America and Europe. Also, beech trees sequester carbon as they grow, indicating the sustainability of sourcing beech wood for modal’s raw material.
Carbon sequestration: As beech grow, they absorb CO2 from the atmosphere while releasing oxygen. They act as a carbon sink, taking greenhouse gasses out of the atmosphere and helping to mitigate the climate crisis.
Where Are the Raw Materials for Modal Fabrics Usually Sourced From
Beech trees that provide the raw materials for modal fabrics grow natively in the US and Europe. They can be grown in sustainably-managed forests across temperate climates. It means that trees are cut down according to planned harvesting rotation, with new trees planted to replace them. Sourcing beechwood from, for example, PEFC or FSC-cerfifed forests as raw materials for modal is generally sustainable.
How Sustainable Is the Manufacturing of Modal Fabrics
Manufacturing modal fabric is energy and chemical intensive, which could have serious knock-on ecological impacts, especially if fossil fuels are the main energy sources at the manufacturing locations. However, integrated manufacturing processes can recover part of the energy during production while optimizing materials.
How Sustainably Is Modal Fabrics Generally Manufactured
Prepare the beechwood pulp (harvesting wood, cutting it into penny-sized pieces, and grounding the pieces into a pulp)
Wood pulp is first dissolved in caustic soda, then depolymerized and reacted with carbon disulfide to form cellulose xanthate, which is dissolved in once more time caustic soda
Filter, degas, and age the modal solution
Spin the solution in an sulfuric acid bath to regenerate the (modal) cellulose in threat-like form
Wash, beach, finish, dry, and weave the yarn into modal fabric
The modal manufacturing process is a modified version of the viscose process (the first generation of rayon.
Both caustic soda and sulphuric acid can damage the skin and eyes.
Carbon disulfide has been linked to higher levels of coronary heart disease, birth defects, skin conditions, and cancer, not in textile workers and residents in the vicinity of modal factories.
In a closed-loop manufacturing process, these chemicals can be strictly controlled for recovering, reusing, and/or safely discharging. We will discuss this matter later in the Circular Economy section.
Integrated processes combine producing pulp and fiber at the same location, saving material and energy in the process.
Separate processes separate pulp production from fiber production, which adds transportation between the two facilities and loses out on the opportunities of recovering energy.
In an integrated process, for example, in the Lenzing Modal Factory in Austria, production energy can be recovered and reused. Bark, thick liquor, and soda extraction liquor from pulp production become energy sources for pulp and fiber production. The remaining heat requirements – about 40% of the total heat requirements – come from incinerating externally purchased bark and municipal solid waste.
Because manufacturing modal fiber requires a lot of energy, the use of renewable energy (instead of fossil fuels) significantly reduces the carbon emission during the manufacturing stage (and, as a result, the whole life-cycle of modal fabrics).
As you can see, the percentage of renewable energy varies significantly among modal manufacturing locations. This has a big implication on the environmental impact of the fabrics as the more fossil fuels (nonrenewable energy resources) are burned for heating, the higher the carbon emission of this manufacturing process (and, as a result, the whole life-cycle of modal).
Waste Treatment At Modal Manufacturing Locations
Because of the high usage of (toxic) chemicals during manufacturing, waste treatment at modal facilities is a matter of concern, especially when factories in some countries lack transparency and regulations.
The organization raised concerns about the devastating impact of wood pulp production on forests, people, and vulnerable animal populations.
In brief, it is important for you, as a consumer, to find out where the modal fabrics are made, not just where your clothes are sewn together.
How Sustainable Is the Transportation of Modal Fabrics
Transporting can be a carbon-intensive stage in the life-cycle of items made with modal fabrics because of the emissions associated with transporting and delivering vehicles. Modal fabrics typically travel from forests, where raw materials for modal are grown, to processing factories, then sorting centers, shops, and consumer’s houses before going to recycling centers or landfill.
In the life-cycle of modal clothes, transportation typical occurs as below:
From forests where modal raw materials are grown to the modal fiber manufacturing locations
From the modal fabrics manufacturing location to the clothing manufacturing location
From the clothing manufacturing location to sorting centers/physical shops
From sorting centers/physical shops to the consumer’s house
From the consumer’s house to the centers for recycling/ disposing
Here are some scenarios of transporting modal fabrics:
Modal manufacturers can source beechwood grown in the US, have it processed into modal fabrics and clothing in a nearby factory, and then modal textile products around the US to sell to consumers.
Others might ship beechwood from forests in Europe to factories in India and consumer markets in the US.
Beechwood can be grown in China, transported to a factory in the immediate vicinity for dissolved pulp manufacturing, then to Germany for fiber manufacturing before being shipped worldwide to end users.
You can reduce the transporting carbon footprint by opting for the modal fabrics from some of the closer temperate and subtropical forests (providing that they have not first been sent to a manufacturing factory on the other side of the world).
The Carbon Footprint of Transporting Modal Fabrics Depends Largely on the Vehicle of Transportation
During its life-cycle, a piece of modal clothing can be transported using various types of vehicles, including:
Large container ships
Planes
Freight trains
Long-distance trucks
Short-distance delivering vans
And these various types of transportation vehicles have different carbon footprint impacts:
Deliveries made by planes – for example, to fulfill fast shipping options for clothing – are the mode of transportation with the highest carbon footprint.
For example, as a consumer, you can choose not to pick the fast delivery option when ordering modal clothes to reduce the carbon footprint of your modal items.
How Sustainable Is the Usage of Modal Fabrics
The usage of modal fabrics is sustainable because modal clothing tends to last a long time while requiring few washes.
Long-lasting clothing is generally more sustainable because you don’t need to replace it too frequently (thus, no need for more resources to make the new one).
Another environmentally favorable property of modal fabric is its breathability: it generally doesn’t start smelling too quickly.
Meaning that modal clothes can be washed less frequently, saving water and energy.
How Sustainable Is the End-of-Life of Modal Fabrics
The end-of-life stage for modal fabric is generally sustainable because it is reusable, biodegradable, and compostable.
It takes about six weeks for modal products to decompose, contrary to plastic-based items that could take up space in the landfill for up to 100 years. Cotton typically takes 11 weeks to decompose.
How Circular Are Products Made of Modal Fabrics
In the textile industry, a circular economy is designed to keep products and materials in use for as long as possible, especially through reusing and recycling. It also covers regenerating natural systems that support the industry and reducing polluted waste released into such systems.
“The circular economy is a systems solution framework that tackles global challenges like climate change, biodiversity loss, waste, and pollution.”
When it comes to modal fabrics, there have been incentives towards closed-loop manufacturing process.
Since 2000, new technologies have emerged to produce modal fibers to keep harmful toxins from being released into the environment. Such closed-loop systems have excellent control to minimize the emission of gases to the environment and recover the solvent carbon disulfide up to 90-95%. Later technologies also improve the recovery of other resources (water and energy) used in manufacturing.
LenzingTM Modal is one example of a more sustainable modal fabric made in a closed-loop process.
How Can You Buy Modal Fabrics More Sustainably
The key to sustainably buying modal products is to check on relevant environmental and original certifications.
Forest Stewardship Council: An FSC certification ensures that the wood comes from responsibly managed forests that provide environmental, social, and economic benefits.
Program for Endorsement of Forest Certification: PEFC’s approaches to sustainable forest management are in line with protecting the forests globally and locally and making the certificate work for everyone. Getting a PEFC certification is strict enough to ensure the sustainable management of a forest is socially just, ecologically sound, and economically viable but attainable not only by big but small forest owners.
USDA Certified Biobased Product: The USDA BioPreferred® Certification is a voluntary certification offered by the United States Department of Agriculture. The certification identify products made from plants or other renewable materials.
STeP by OEKO-TEX®: STeP by OEKO-TEX® is an independent certification system for brands, retailers, and manufacturers from the textile and leather industry. It communicates organizational environmental measures, including reducing carbon footprint and water usage.
Ecolabel: Ecolabel is the official European Union voluntary label recognized worldwide for certified products with a guaranteed, independently-verified low environmental impact. The label requires high environmental standards throughout the entire life-cycle: from raw material extraction through production and distribution to disposal. It also encourages companies to develop innovative, durable, easy-to-repair, and recyclable products.
Some certifications are signaling brands’ efforts toward lowered environmental impacts and a circular economy are:
B Corp Certification: The label B Corp is a certification reserved for for-profit companies. Certified holders are assessed on their social and environmental impacts.
Cradle2Cradle certification: Cradle2Cradle provides a standardized approach to material circularity. It assesses whether products have been suitably designed and made with the circular economy in mind covering five critical categories: material health, material reuse, renewable energy and carbon management, water stewardship, and social fairness.
Where to Buy Sustainable Modal Fabrics
As we have established throughout the life-cycle assessment, not all modal clothes are made equally sustainable.
Modal clothes can only be sustainable when the raw materials come from sustainably managed forests (where harvesting rotation allows new trees to grow and replace cut-down trees). In addition, the sustainability of modal fabrics depends on:
Energy usages (volume and source) in manufacturing
Chemical controls during manufacturing
Consequently, you want to buy modal clothes from brands that are transparent about their raw materials and committed to reducing energy usage and emissions. Here are some of such sustainable brands (in alphabetic order):
Why Is It Important to Buy Products Made of More Sustainable Fabrics
It is important to buy products made of more sustainable fabrics because a sustainable textile industry has a lower carbon footprint, helps save natural resources, and is better for forests, animals, and humans.
Buying Sustainable Fabrics Reduces Your Carbon Footprint
Buying Sustainable Fabrics Reduces Demand For Natural Resources and Waste Management
The textile industry uses water and land to grow cotton and other fibers. It is estimated that 79 billion cubic meters of water were used for the sector worldwide in 2015. For example, producing a single cotton t-shirt requires as much water as one person drinks for 2.5 years (2,700 liters of fresh water).
Less than 3% of materials used in the textile economy in 2015 came from recycled sources.
In other words, more than 97% of resources used in making clothes are extracted new.
When clothing items are disposed of within a short period of time – under a year in the case of half of the fast fashion clothes – the natural systems that provide raw materials for fabrics don’t have enough time to recover and regenerate, which could lead to ecological breakdown.
Sustainable fabrics are made with less water and emissions while lasting longer:
Because they are durable, you don’t need to buy new clothes too often.
Thus, you help reduce to pressure to extract more resources for making new items.
Similarly, making and consuming sustainable fabrics made with recycled materials reduces the demand for virgin materials while helping tackle waste management.
Buying Sustainable Fabrics Encourages Sustainable Management of Forests
Sustainable plant-based fabrics are made with raw materials from forests and plantations that are sustainably managed, such as complying with FSC standards.
When you buy sustainable plant-based fabrics, you discourage unsustainable forestry practices like illegal logging. You can help reduce deforestation, biodiversity loss, and the effect of climate change.
Buying Sustainable Fabrics Encourages Fairer Treatment of Animals
Buying sustainable vegan alternatives can help to reduce the pressure on raising more and more animals to meet the demand for animal-based fabrics while sacrificing their well-being and lives.
Suppose you have to buy fabrics made with, for example, leather or wool; make sure you only choose brands committed to cruelty-free products. In that case, you help advocate better treatments for animals raised within the textile industry.
Using Sustainable Fabrics Encourages Fairer Treatment of Textile Workers
When you buy sustainable fabrics from brands transparent about the working conditions at their factories, you discourage the use of child labor and help promote better working conditions for textile workers.
Final Thoughts
Modal fabric is generally a sustainable material. It is made with natural cellulose fibers and is fully biodegradable at the end of its life-cycle. Its modified manufacturing process is less energy and chemical-intensive than the first generation of rayon (viscose), making it a more sustainable option.
Still, the usage of fossil-based chemicals makes it less sustainable than, for example, lyocell – the third generation of rayon, which uses organic substances.
It is possible to find sustainable clothes made modal fabrics, with the raw materials for the yarns coming from sustainably managed forests and processed in closed-loop manufacturing systems. Besides, you want to check if your chosen brands are committed to reducing fossil-based energy and recycling fibers.
To make it even more sustainable, buy second-hand modal clothes, use clothes for as long as possible, upcycle the material to extend its usage, and arrange for it to be recycled appropriately.
Quynh loves to research and write about how we can live more sustainably. She holds a Master's degree in Cross-Cultural Communication and managed communications at the social enterprise Fargreen. And when she's not writing, she likes to run in the woods, dig in the garden, or knit the next jumper.
Get the 5-minute newsletter that brings real positive news to your inbox — every Mon, Wed, and Fri.
0
jQuery(document).ready(function () {
// Click event for the link with ".listen" class
$(".listen").click(function (e) {
e.preventDefault();
$("#affiliate-disclosure, #social-share-item").slideUp();
$("#l2it-audio-player").slideToggle("fast", "linear");
});// Click event for the link with ".disclosure" class
$(".disclosure").click(function (e) {
e.preventDefault();
$("#l2it-audio-player, #social-share-item").slideUp();
$("#affiliate-disclosure").slideToggle("fast", "linear");
});// Click event for the link with ".share-button" class
$(".share-button").click(function (e) {
e.preventDefault();
$("#l2it-audio-player, #affiliate-disclosure").slideUp();
$("#social-share-item").slideToggle("fast", "linear");
});// Open #affiliate-disclosure by default
$("#affiliate-disclosure").slideDown("fast", "linear");
});
window.fluent_form_ff_form_instance_5_2 = {"id":"5","ajaxUrl":"https:\/\/impactful.ninja\/wp-admin\/admin-ajax.php","settings":{"layout":{"labelPlacement":"top","helpMessagePlacement":"with_label","errorMessagePlacement":"inline"},"restrictions":{"denyEmptySubmission":{"enabled":false}}},"form_instance":"ff_form_instance_5_2","form_id_selector":"fluentform_5","rules":{"description":{"required":{"value":true,"message":"Please enter your feedback here.","global_message":"This field is required","global":false}},"names[first_name]":{"required":{"value":true,"message":"Please enter your name (or any pseudonym if you prefer) here.","global_message":"This field is required","global":false}},"names[middle_name]":{"required":{"value":false,"message":"This field is required","global_message":"This field is required","global":true}},"names[last_name]":{"required":{"value":false,"message":"This field is required","global_message":"This field is required","global":true}},"email":{"required":{"value":true,"message":"Please enter your email address here.","global_message":"This field is required","global":false},"email":{"value":true,"message":"This field must contain a valid email","global_message":"This field must contain a valid email","global":true}}},"debounce_time":300,"file_upload_settings":[]};
window.fluent_form_ff_form_instance_10_3 = {"id":"10","ajaxUrl":"https:\/\/impactful.ninja\/wp-admin\/admin-ajax.php","settings":{"layout":{"labelPlacement":"top","helpMessagePlacement":"with_label","errorMessagePlacement":"inline"},"restrictions":{"denyEmptySubmission":{"enabled":false}}},"form_instance":"ff_form_instance_10_3","form_id_selector":"fluentform_10","rules":{"names[first_name]":{"required":{"value":true,"message":"Please fill your name","global_message":"This field is required","global":false}},"names[middle_name]":{"required":{"value":false,"message":"This field is required","global_message":"This field is required","global":true}},"names[last_name]":{"required":{"value":false,"message":"This field is required","global_message":"This field is required","global":true}},"email":{"required":{"value":true,"message":"Please fill your email","global_message":"This field is required","global":false},"email":{"value":true,"message":"This field must contain a valid email","global_message":"This field must contain a valid email","global":true}}},"debounce_time":300,"file_upload_settings":[]};
window.fluent_form_ff_form_instance_17_4 = {"id":"17","ajaxUrl":"https:\/\/impactful.ninja\/wp-admin\/admin-ajax.php","settings":{"layout":{"labelPlacement":"top","helpMessagePlacement":"with_label","errorMessagePlacement":"inline"},"restrictions":{"denyEmptySubmission":{"enabled":false}}},"form_instance":"ff_form_instance_17_4","form_id_selector":"fluentform_17","rules":{"names[first_name]":{"required":{"value":true,"message":"Please fill your name","global_message":"This field is required","global":false}},"names[middle_name]":{"required":{"value":false,"message":"This field is required","global_message":"This field is required","global":true}},"names[last_name]":{"required":{"value":false,"message":"This field is required","global_message":"This field is required","global":true}},"email":{"required":{"value":true,"message":"Please fill your email","global_message":"This field is required","global":false},"email":{"value":true,"message":"This field must contain a valid email","global_message":"This field must contain a valid email","global":true}}},"debounce_time":300,"file_upload_settings":[]};
// Do not change this comment line otherwise Speed Optimizer won't be able to detect this script(function () {
function sendRequest(url, body) {
if(!window.fetch) {
const xhr = new XMLHttpRequest();
xhr.open("POST", url, true);
xhr.setRequestHeader("Content-Type", "application/json;charset=UTF-8");
xhr.send(JSON.stringify(body))
return
}const request = fetch(url, {
method: 'POST',
body: JSON.stringify(body),
keepalive: true,
headers: {
'Content-Type': 'application/json;charset=UTF-8'
}
});
}
const calculateParentDistance = (child, parent) => {
let count = 0;
let currentElement = child;// Traverse up the DOM tree until we reach parent or the top of the DOM
while (currentElement && currentElement !== parent) {
currentElement = currentElement.parentNode;
count++;
}// If parent was not found in the hierarchy, return -1
if (!currentElement) {
return -1; // Indicates parent is not an ancestor of element
}return count; // Number of layers between element and parent
}
const isMatchingClass = (linkRule, href, classes, ids) => {
return classes.includes(linkRule.value)
}
const isMatchingId = (linkRule, href, classes, ids) => {
return ids.includes(linkRule.value)
}
const isMatchingDomain = (linkRule, href, classes, ids) => {
if(!URL.canParse(href)) {
return false
}const url = new URL(href)
const host = url.host
const hostsToMatch = [host]if(host.startsWith('www.')) {
hostsToMatch.push(host.substring(4))
} else {
hostsToMatch.push('www.' + host)
}return hostsToMatch.includes(linkRule.value)
}
const isMatchingExtension = (linkRule, href, classes, ids) => {
if(!URL.canParse(href)) {
return false
}const url = new URL(href)return url.pathname.endsWith('.' + linkRule.value)
}
const isMatchingSubdirectory = (linkRule, href, classes, ids) => {
if(!URL.canParse(href)) {
return false
}const url = new URL(href)return url.pathname.startsWith('/' + linkRule.value + '/')
}
const isMatchingProtocol = (linkRule, href, classes, ids) => {
if(!URL.canParse(href)) {
return false
}const url = new URL(href)return url.protocol === linkRule.value + ':'
}
const isMatchingExternal = (linkRule, href, classes, ids) => {
if(!URL.canParse(href) || !URL.canParse(document.location.href)) {
return false
}const matchingProtocols = ['http:', 'https:']
const siteUrl = new URL(document.location.href)
const linkUrl = new URL(href)// Links to subdomains will appear to be external matches according to JavaScript,
// but the PHP rules will filter those events out.
return matchingProtocols.includes(linkUrl.protocol) && siteUrl.host !== linkUrl.host
}
const isMatch = (linkRule, href, classes, ids) => {
switch (linkRule.type) {
case 'class':
return isMatchingClass(linkRule, href, classes, ids)
case 'id':
return isMatchingId(linkRule, href, classes, ids)
case 'domain':
return isMatchingDomain(linkRule, href, classes, ids)
case 'extension':
return isMatchingExtension(linkRule, href, classes, ids)
case 'subdirectory':
return isMatchingSubdirectory(linkRule, href, classes, ids)
case 'protocol':
return isMatchingProtocol(linkRule, href, classes, ids)
case 'external':
return isMatchingExternal(linkRule, href, classes, ids)
default:
return false;
}
}
const track = (element) => {
const href = element.href ?? null
const classes = Array.from(element.classList)
const ids = [element.id]
const linkRules = [{"type":"extension","value":"pdf"},{"type":"extension","value":"zip"},{"type":"protocol","value":"mailto"},{"type":"protocol","value":"tel"}]
if(linkRules.length === 0) {
return
}// For link rules that target an id, we need to allow that id to appear
// in any ancestor up to the 7th ancestor. This loop looks for those matches
// and counts them.
linkRules.forEach((linkRule) => {
if(linkRule.type !== 'id') {
return;
}const matchingAncestor = element.closest('#' + linkRule.value)if(!matchingAncestor || matchingAncestor.matches('html, body')) {
return;
}const depth = calculateParentDistance(element, matchingAncestor)if(depth < 7) {
ids.push(linkRule.value)
}
});// For link rules that target a class, we need to allow that class to appear
// in any ancestor up to the 7th ancestor. This loop looks for those matches
// and counts them.
linkRules.forEach((linkRule) => {
if(linkRule.type !== 'class') {
return;
}const matchingAncestor = element.closest('.' + linkRule.value)if(!matchingAncestor || matchingAncestor.matches('html, body')) {
return;
}const depth = calculateParentDistance(element, matchingAncestor)if(depth < 7) {
classes.push(linkRule.value)
}
});const hasMatch = linkRules.some((linkRule) => {
return isMatch(linkRule, href, classes, ids)
})if(!hasMatch) {
return
}const url = "https://impactful.ninja/wp-content/plugins/independent-analytics-pro/iawp-click-endpoint.php";
const siteId = "";
const body = {
href: href,
classes: classes.join(' '),
ids: ids.join(' '),
siteId: siteId,
...{"payload":{"resource":"singular","singular_id":26852,"page":1},"signature":"dda7ef52538be4452984629a04a82ece"} };sendRequest(url, body)
}
let hasSearched = false;
function search() {
if(hasSearched) {
return;
}
hasSearched = true;if (document.hasOwnProperty("visibilityState") && document.visibilityState === "prerender") {
return;
}if (navigator.webdriver || /bot|crawler|spider|crawling|semrushbot|chrome-lighthouse/i.test(navigator.userAgent)) {
return;
}
let referrer_url = null;if (typeof document.referrer === 'string' && document.referrer.length > 0) {
referrer_url = document.referrer;
}const params = location.search.slice(1).split('&').reduce((acc, s) => {
const [k, v] = s.split('=');
return Object.assign(acc, {[k]: v});
}, {});const url = "https://impactful.ninja/wp-json/iawp/search";
const body = {
referrer_url,
utm_source: params.utm_source,
utm_medium: params.utm_medium,
utm_campaign: params.utm_campaign,
utm_term: params.utm_term,
utm_content: params.utm_content,
gclid: params.gclid,
...{"payload":{"resource":"singular","singular_id":26852,"page":1},"signature":"dda7ef52538be4452984629a04a82ece"} };sendRequest(url, body)
}
document.addEventListener('mousedown', function (event) {
if (navigator.webdriver || /bot|crawler|spider|crawling|semrushbot|chrome-lighthouse/i.test(navigator.userAgent)) {
return;
}
const element = event.target.closest('a')if(!element) {
return
}const isPro = true
if(!isPro) {
return
}// Don't track left clicks with this event. The click event is used for that.
if(event.button === 0) {
return
}track(element)
})
document.addEventListener('click', function (event) {
if (navigator.webdriver || /bot|crawler|spider|crawling|semrushbot|chrome-lighthouse/i.test(navigator.userAgent)) {
return;
}
const element = event.target.closest('a, button, input[type="submit"], input[type="button"]')if(!element) {
return
}const isPro = true
if(!isPro) {
return
}track(element)
})
document.addEventListener('play', function (event) {
if (navigator.webdriver || /bot|crawler|spider|crawling|semrushbot|chrome-lighthouse/i.test(navigator.userAgent)) {
return;
}
const element = event.target.closest('audio, video')if(!element) {
return
}const isPro = true
if(!isPro) {
return
}track(element)
}, true)
document.addEventListener("DOMContentLoaded", function (e) {
search();
});
document.addEventListener("iawpSearch", function (e) {
search();
});
})();
var hamburgers = document.querySelectorAll(".hamburger"),
menuToggle = document.querySelector( '.menu-toggle' ),
menuItems = document.querySelectorAll( 'nav ul a' ),
htmlEl = document.documentElement;menuToggle.addEventListener("click", function() {
for ( var h = 0; h < hamburgers.length; h++ ) {
hamburgers[h].classList.toggle("is-active");
}
} );for ( var i = 0; i < menuItems.length; i++ ) {
menuItems[i].addEventListener( 'click', function( e ) {
var closest_nav = this.closest( 'nav' );
if ( closest_nav.classList.contains( 'toggled' ) || htmlEl.classList.contains( 'slide-opened' ) ) {
var url = this.getAttribute( 'href' );
var hash = url.split('#')[1];// Open the sub-menu if the link has no destination
if ( '#' === url ) {
e.preventDefault();
for ( var h = 0; h < hamburgers.length; h++ ) {
hamburgers[h].classList.toggle("is-active");
}
}
}
}, false );
}var checkHamburgers = function() {
var openedMobileMenus = document.querySelectorAll( '.toggled, .has-active-search' );for ( var i = 0; i < openedMobileMenus.length; i++ ) {
var menuToggle = openedMobileMenus[i].querySelector( '.menu-toggle' );if ( menuToggle && menuToggle.offsetParent === null ) {
if ( openedMobileMenus[i].classList.contains( 'toggled' ) ) {
var hamburgers = document.querySelectorAll(".hamburger");for ( var h = 0; h < hamburgers.length; h++ ) {
hamburgers[h].classList.remove("is-active");
}
}
}
}
}
window.addEventListener( 'resize', checkHamburgers, false );
window.addEventListener( 'orientationchange', checkHamburgers, false );
jQuery(document).ready(function() {
jQuery(".show-more button").on("click", function() {
var $this = jQuery(this);
var $content = $this.parent().prev("div.content");
$content.toggleClass("hideContent showContent");
$this.remove(); // Remove the button after it is clicked
});
});
window.fluent_form_ff_form_instance_17_1 = {"id":"17","ajaxUrl":"https:\/\/impactful.ninja\/wp-admin\/admin-ajax.php","settings":{"layout":{"labelPlacement":"top","helpMessagePlacement":"with_label","errorMessagePlacement":"inline"},"restrictions":{"denyEmptySubmission":{"enabled":false}}},"form_instance":"ff_form_instance_17_1","form_id_selector":"fluentform_17","rules":{"names[first_name]":{"required":{"value":true,"message":"Please fill your name","global_message":"This field is required","global":false}},"names[middle_name]":{"required":{"value":false,"message":"This field is required","global_message":"This field is required","global":true}},"names[last_name]":{"required":{"value":false,"message":"This field is required","global_message":"This field is required","global":true}},"email":{"required":{"value":true,"message":"Please fill your email","global_message":"This field is required","global":false},"email":{"value":true,"message":"This field must contain a valid email","global_message":"This field must contain a valid email","global":true}}},"debounce_time":300,"file_upload_settings":[]};
(function () {
var c = document.body.className;
c = c.replace(/woocommerce-no-js/, 'woocommerce-js');
document.body.className = c;
})();
var fluentFormVars = {"ajaxUrl":"https://impactful.ninja/wp-admin/admin-ajax.php","forms":[],"step_text":"Step %activeStep% of %totalStep% - %stepTitle%","step_completed_text":"Completed","is_rtl":"","date_i18n":{"previousMonth":"Previous Month","nextMonth":"Next Month","months":{"shorthand":["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],"longhand":["January","February","March","April","May","June","July","August","September","October","November","December"]},"weekdays":{"longhand":["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],"shorthand":["Sun","Mon","Tue","Wed","Thu","Fri","Sat"]},"daysInMonth":[31,28,31,30,31,30,31,31,30,31,30,31],"rangeSeparator":" to ","weekAbbreviation":"Wk","scrollTitle":"Scroll to increment","toggleTitle":"Click to toggle","amPM":["AM","PM"],"yearAriaLabel":"Year","firstDayOfWeek":1},"pro_version":"6.2.13","fluentform_version":"6.2.13","force_init":"","stepAnimationDuration":"350","upload_completed_txt":"100% Completed","upload_start_txt":"0% Completed","uploading_txt":"Uploading","choice_js_vars":{"noResultsText":"No results found","loadingText":"Loading...","noChoicesText":"No choices to choose from","itemSelectText":"Press to select","maxItemTextSingular":"Only %%maxItemCount%% option can be added","maxItemTextPlural":"Only %%maxItemCount%% options can be added"},"input_mask_vars":{"clearIfNotMatch":false},"nonce":"b9944b78f3","file_delete_nonce":"da4e21abd2","form_id":"17","step_change_focus":"1","has_cleantalk":"","pro_payment_script_compatible":"1","crop_image_title":"Crop Image","crop_confirm_txt":"Crop & Upload","crop_cancel_txt":"Cancel","crop_close_txt":"Close","crop_reset_txt":"Reset","crop_ratio_txt":"Crop ratio","crop_ratio_free_txt":"Free","crop_invalid_dimensions_txt":"The selected image is smaller than the required crop size.","crop_exact_dimensions_txt":"The cropped image must match the required width and height.","crop_dimension_instruction_txt":"Crop the image to exactly %1$s px x %2$s px.","crop_invalid_image_txt":"Unable to process the selected image.","crop_loading_txt":"Preparing image..."};
var fluentform_submission_messages_17 = {"file_upload_in_progress":"File upload in progress. Please wait...","javascript_handler_failed":"Javascript handler could not be loaded. Form submission has been failed. Reload the page and try again"};
var fluentform_payment_messages_17 = {"stock_out_message":"This Item is Stock Out","item_label":"Item","price_label":"Price","qty_label":"Qty","line_total_label":"Line Total","sub_total_label":"Sub Total","discount_label":"Discount","total_label":"Total","signup_fee_label":"Signup Fee","trial_label":"Trial","processing_text":"Processing...","confirming_text":"Confirming..."};
var fluentform_save_progress_messages_17 = {"copy_button":"Copy","email_button":"Email","email_placeholder":"Your Email Here","copy_success":"Copied"};
var fluentform_address_messages_17 = {"please_wait":"Please wait ...","location_not_determined":"Could not determine address from location.","address_fetch_failed":"Failed to fetch address from coordinates.","geolocation_failed":"Geolocation failed or was denied.","geolocation_not_supported":"Geolocation is not supported by this browser."};
var fluentform_gateway_messages_17 = {"request_failed":"Request failed. Please try again","payment_failed":"Payment process failed!","no_method_found":"No method found","processing_text":"Processing..."};
var fluentform_submission_messages_global = {"javascript_handler_failed":"Javascript handler could not be loaded. Form submission has been failed. Reload the page and try again"};
var fluentform_address_messages_global = {"please_wait":"Please wait ...","location_not_determined":"Could not determine address from location.","address_fetch_failed":"Failed to fetch address from coordinates.","geolocation_failed":"Geolocation failed or was denied.","geolocation_not_supported":"Geolocation is not supported by this browser."};
var fluentFormVars = {"ajaxUrl":"https://impactful.ninja/wp-admin/admin-ajax.php","forms":[],"step_text":"Step %activeStep% of %totalStep% - %stepTitle%","step_completed_text":"Completed","is_rtl":"","date_i18n":{"previousMonth":"Previous Month","nextMonth":"Next Month","months":{"shorthand":["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],"longhand":["January","February","March","April","May","June","July","August","September","October","November","December"]},"weekdays":{"longhand":["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],"shorthand":["Sun","Mon","Tue","Wed","Thu","Fri","Sat"]},"daysInMonth":[31,28,31,30,31,30,31,31,30,31,30,31],"rangeSeparator":" to ","weekAbbreviation":"Wk","scrollTitle":"Scroll to increment","toggleTitle":"Click to toggle","amPM":["AM","PM"],"yearAriaLabel":"Year","firstDayOfWeek":1},"pro_version":"6.2.13","fluentform_version":"6.2.13","force_init":"","stepAnimationDuration":"350","upload_completed_txt":"100% Completed","upload_start_txt":"0% Completed","uploading_txt":"Uploading","choice_js_vars":{"noResultsText":"No results found","loadingText":"Loading...","noChoicesText":"No choices to choose from","itemSelectText":"Press to select","maxItemTextSingular":"Only %%maxItemCount%% option can be added","maxItemTextPlural":"Only %%maxItemCount%% options can be added"},"input_mask_vars":{"clearIfNotMatch":false},"nonce":"b9944b78f3","file_delete_nonce":"da4e21abd2","form_id":"5","step_change_focus":"1","has_cleantalk":"","pro_payment_script_compatible":"1","crop_image_title":"Crop Image","crop_confirm_txt":"Crop & Upload","crop_cancel_txt":"Cancel","crop_close_txt":"Close","crop_reset_txt":"Reset","crop_ratio_txt":"Crop ratio","crop_ratio_free_txt":"Free","crop_invalid_dimensions_txt":"The selected image is smaller than the required crop size.","crop_exact_dimensions_txt":"The cropped image must match the required width and height.","crop_dimension_instruction_txt":"Crop the image to exactly %1$s px x %2$s px.","crop_invalid_image_txt":"Unable to process the selected image.","crop_loading_txt":"Preparing image..."};
var fluentform_submission_messages_5 = {"file_upload_in_progress":"File upload in progress. Please wait...","javascript_handler_failed":"Javascript handler could not be loaded. Form submission has been failed. Reload the page and try again"};
var fluentform_payment_messages_5 = {"stock_out_message":"This Item is Stock Out","item_label":"Item","price_label":"Price","qty_label":"Qty","line_total_label":"Line Total","sub_total_label":"Sub Total","discount_label":"Discount","total_label":"Total","signup_fee_label":"Signup Fee","trial_label":"Trial","processing_text":"Processing...","confirming_text":"Confirming..."};
var fluentform_save_progress_messages_5 = {"copy_button":"Copy","email_button":"Email","email_placeholder":"Your Email Here","copy_success":"Copied"};
var fluentform_address_messages_5 = {"please_wait":"Please wait ...","location_not_determined":"Could not determine address from location.","address_fetch_failed":"Failed to fetch address from coordinates.","geolocation_failed":"Geolocation failed or was denied.","geolocation_not_supported":"Geolocation is not supported by this browser."};
var fluentform_gateway_messages_5 = {"request_failed":"Request failed. Please try again","payment_failed":"Payment process failed!","no_method_found":"No method found","processing_text":"Processing..."};
var fluentform_submission_messages_global = {"javascript_handler_failed":"Javascript handler could not be loaded. Form submission has been failed. Reload the page and try again"};
var fluentform_address_messages_global = {"please_wait":"Please wait ...","location_not_determined":"Could not determine address from location.","address_fetch_failed":"Failed to fetch address from coordinates.","geolocation_failed":"Geolocation failed or was denied.","geolocation_not_supported":"Geolocation is not supported by this browser."};
var fluentFormVars = {"ajaxUrl":"https://impactful.ninja/wp-admin/admin-ajax.php","forms":[],"step_text":"Step %activeStep% of %totalStep% - %stepTitle%","step_completed_text":"Completed","is_rtl":"","date_i18n":{"previousMonth":"Previous Month","nextMonth":"Next Month","months":{"shorthand":["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],"longhand":["January","February","March","April","May","June","July","August","September","October","November","December"]},"weekdays":{"longhand":["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],"shorthand":["Sun","Mon","Tue","Wed","Thu","Fri","Sat"]},"daysInMonth":[31,28,31,30,31,30,31,31,30,31,30,31],"rangeSeparator":" to ","weekAbbreviation":"Wk","scrollTitle":"Scroll to increment","toggleTitle":"Click to toggle","amPM":["AM","PM"],"yearAriaLabel":"Year","firstDayOfWeek":1},"pro_version":"6.2.13","fluentform_version":"6.2.13","force_init":"","stepAnimationDuration":"350","upload_completed_txt":"100% Completed","upload_start_txt":"0% Completed","uploading_txt":"Uploading","choice_js_vars":{"noResultsText":"No results found","loadingText":"Loading...","noChoicesText":"No choices to choose from","itemSelectText":"Press to select","maxItemTextSingular":"Only %%maxItemCount%% option can be added","maxItemTextPlural":"Only %%maxItemCount%% options can be added"},"input_mask_vars":{"clearIfNotMatch":false},"nonce":"b9944b78f3","file_delete_nonce":"da4e21abd2","form_id":"10","step_change_focus":"1","has_cleantalk":"","pro_payment_script_compatible":"1","crop_image_title":"Crop Image","crop_confirm_txt":"Crop & Upload","crop_cancel_txt":"Cancel","crop_close_txt":"Close","crop_reset_txt":"Reset","crop_ratio_txt":"Crop ratio","crop_ratio_free_txt":"Free","crop_invalid_dimensions_txt":"The selected image is smaller than the required crop size.","crop_exact_dimensions_txt":"The cropped image must match the required width and height.","crop_dimension_instruction_txt":"Crop the image to exactly %1$s px x %2$s px.","crop_invalid_image_txt":"Unable to process the selected image.","crop_loading_txt":"Preparing image..."};
var fluentform_submission_messages_10 = {"file_upload_in_progress":"File upload in progress. Please wait...","javascript_handler_failed":"Javascript handler could not be loaded. Form submission has been failed. Reload the page and try again"};
var fluentform_payment_messages_10 = {"stock_out_message":"This Item is Stock Out","item_label":"Item","price_label":"Price","qty_label":"Qty","line_total_label":"Line Total","sub_total_label":"Sub Total","discount_label":"Discount","total_label":"Total","signup_fee_label":"Signup Fee","trial_label":"Trial","processing_text":"Processing...","confirming_text":"Confirming..."};
var fluentform_save_progress_messages_10 = {"copy_button":"Copy","email_button":"Email","email_placeholder":"Your Email Here","copy_success":"Copied"};
var fluentform_address_messages_10 = {"please_wait":"Please wait ...","location_not_determined":"Could not determine address from location.","address_fetch_failed":"Failed to fetch address from coordinates.","geolocation_failed":"Geolocation failed or was denied.","geolocation_not_supported":"Geolocation is not supported by this browser."};
var fluentform_gateway_messages_10 = {"request_failed":"Request failed. Please try again","payment_failed":"Payment process failed!","no_method_found":"No method found","processing_text":"Processing..."};
var fluentform_submission_messages_global = {"javascript_handler_failed":"Javascript handler could not be loaded. Form submission has been failed. Reload the page and try again"};
var fluentform_address_messages_global = {"please_wait":"Please wait ...","location_not_determined":"Could not determine address from location.","address_fetch_failed":"Failed to fetch address from coordinates.","geolocation_failed":"Geolocation failed or was denied.","geolocation_not_supported":"Geolocation is not supported by this browser."};
var fluentFormVars = {"ajaxUrl":"https://impactful.ninja/wp-admin/admin-ajax.php","forms":[],"step_text":"Step %activeStep% of %totalStep% - %stepTitle%","step_completed_text":"Completed","is_rtl":"","date_i18n":{"previousMonth":"Previous Month","nextMonth":"Next Month","months":{"shorthand":["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],"longhand":["January","February","March","April","May","June","July","August","September","October","November","December"]},"weekdays":{"longhand":["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],"shorthand":["Sun","Mon","Tue","Wed","Thu","Fri","Sat"]},"daysInMonth":[31,28,31,30,31,30,31,31,30,31,30,31],"rangeSeparator":" to ","weekAbbreviation":"Wk","scrollTitle":"Scroll to increment","toggleTitle":"Click to toggle","amPM":["AM","PM"],"yearAriaLabel":"Year","firstDayOfWeek":1},"pro_version":"6.2.13","fluentform_version":"6.2.13","force_init":"","stepAnimationDuration":"350","upload_completed_txt":"100% Completed","upload_start_txt":"0% Completed","uploading_txt":"Uploading","choice_js_vars":{"noResultsText":"No results found","loadingText":"Loading...","noChoicesText":"No choices to choose from","itemSelectText":"Press to select","maxItemTextSingular":"Only %%maxItemCount%% option can be added","maxItemTextPlural":"Only %%maxItemCount%% options can be added"},"input_mask_vars":{"clearIfNotMatch":false},"nonce":"b9944b78f3","file_delete_nonce":"da4e21abd2","form_id":"17","step_change_focus":"1","has_cleantalk":"","pro_payment_script_compatible":"1","crop_image_title":"Crop Image","crop_confirm_txt":"Crop & Upload","crop_cancel_txt":"Cancel","crop_close_txt":"Close","crop_reset_txt":"Reset","crop_ratio_txt":"Crop ratio","crop_ratio_free_txt":"Free","crop_invalid_dimensions_txt":"The selected image is smaller than the required crop size.","crop_exact_dimensions_txt":"The cropped image must match the required width and height.","crop_dimension_instruction_txt":"Crop the image to exactly %1$s px x %2$s px.","crop_invalid_image_txt":"Unable to process the selected image.","crop_loading_txt":"Preparing image..."};
var fluentform_submission_messages_17 = {"file_upload_in_progress":"File upload in progress. Please wait...","javascript_handler_failed":"Javascript handler could not be loaded. Form submission has been failed. Reload the page and try again"};
var fluentform_payment_messages_17 = {"stock_out_message":"This Item is Stock Out","item_label":"Item","price_label":"Price","qty_label":"Qty","line_total_label":"Line Total","sub_total_label":"Sub Total","discount_label":"Discount","total_label":"Total","signup_fee_label":"Signup Fee","trial_label":"Trial","processing_text":"Processing...","confirming_text":"Confirming..."};
var fluentform_save_progress_messages_17 = {"copy_button":"Copy","email_button":"Email","email_placeholder":"Your Email Here","copy_success":"Copied"};
var fluentform_address_messages_17 = {"please_wait":"Please wait ...","location_not_determined":"Could not determine address from location.","address_fetch_failed":"Failed to fetch address from coordinates.","geolocation_failed":"Geolocation failed or was denied.","geolocation_not_supported":"Geolocation is not supported by this browser."};
var fluentform_gateway_messages_17 = {"request_failed":"Request failed. Please try again","payment_failed":"Payment process failed!","no_method_found":"No method found","processing_text":"Processing..."};
var fluentform_submission_messages_global = {"javascript_handler_failed":"Javascript handler could not be loaded. Form submission has been failed. Reload the page and try again"};
var fluentform_address_messages_global = {"please_wait":"Please wait ...","location_not_determined":"Could not determine address from location.","address_fetch_failed":"Failed to fetch address from coordinates.","geolocation_failed":"Geolocation failed or was denied.","geolocation_not_supported":"Geolocation is not supported by this browser."};
//# sourceURL=fluent-form-submission-js-extra
var PayPalCommerceGateway = {"url":"https://www.paypal.com/sdk/js?client-id=AV7sN95De2IGlDsM9Ik1rVkYH9DOGaadfuQEmmGw-rMqKiZ4eSw_A6MT_5-dnW8Aw3nJUWcRxdCVYV5w¤cy=USD&integration-date=2026-07-22&components=buttons,funding-eligibility&vault=false&commit=false&intent=capture&disable-funding=card,paylater&enable-funding=venmo","url_params":{"client-id":"AV7sN95De2IGlDsM9Ik1rVkYH9DOGaadfuQEmmGw-rMqKiZ4eSw_A6MT_5-dnW8Aw3nJUWcRxdCVYV5w","currency":"USD","integration-date":"2026-07-22","components":"buttons,funding-eligibility","vault":"false","commit":"false","intent":"capture","disable-funding":"bancontact,blik,eps,ideal,mybank,p24,trustly,multibanco,oxxo,card,paylater","enable-funding":"venmo"},"script_attributes":{"data-partner-attribution-id":"Woo_PPCP"},"client_id":"AV7sN95De2IGlDsM9Ik1rVkYH9DOGaadfuQEmmGw-rMqKiZ4eSw_A6MT_5-dnW8Aw3nJUWcRxdCVYV5w","currency":"USD","data_client_id":{"set_attribute":false,"endpoint":"/?wc-ajax=ppc-data-client-id","nonce":"f1df44eddb","user":0,"has_subscriptions":false,"paypal_subscriptions_enabled":true},"redirect":"https://impactful.ninja/checkout/","context":"mini-cart","ajax":{"simulate_cart":{"endpoint":"/?wc-ajax=ppc-simulate-cart","nonce":"42fcfa5d23"},"change_cart":{"endpoint":"/?wc-ajax=ppc-change-cart","nonce":"8acea39077"},"create_order":{"endpoint":"/?wc-ajax=ppc-create-order","nonce":"095625ce85"},"approve_order":{"endpoint":"/?wc-ajax=ppc-approve-order","nonce":"fc684e774c"},"get_order":{"endpoint":"/?wc-ajax=ppc-get-order","nonce":"888bd9bc62"},"approve_subscription":{"endpoint":"/?wc-ajax=ppc-approve-subscription","nonce":"62105dced5"},"save_checkout_form":{"endpoint":"/?wc-ajax=ppc-save-checkout-form","nonce":"32ca218ac0"},"validate_checkout":{"endpoint":"/?wc-ajax=ppc-validate-checkout","nonce":"c88d0360e1"},"cart_script_params":{"endpoint":"/?wc-ajax=ppc-cart-script-params"},"create_setup_token":{"endpoint":"/?wc-ajax=ppc-create-setup-token","nonce":"f054f30289"},"create_payment_token":{"endpoint":"/?wc-ajax=ppc-create-payment-token","nonce":"5dd1491cac"},"create_payment_token_for_guest":{"endpoint":"/?wc-ajax=ppc-update-customer-id","nonce":"c3065529ee"},"update_shipping":{"endpoint":"/?wc-ajax=ppc-update-shipping","nonce":"ecd07eb28c"},"update_customer_shipping":{"shipping_options":{"endpoint":"https://impactful.ninja/wp-json/wc/store/v1/cart/select-shipping-rate"},"shipping_address":{"cart_endpoint":"https://impactful.ninja/wp-json/wc/store/v1/cart/","update_customer_endpoint":"https://impactful.ninja/wp-json/wc/store/v1/cart/update-customer"},"wp_rest_nonce":"f8f4ec20bc","update_shipping_method":"/?wc-ajax=update_shipping_method"}},"cart_contains_subscription":"","subscription_plan_id":"","subscription_custom_id":"","variable_paypal_subscription_variations":[],"variable_paypal_subscription_variation_from_cart":"","subscription_product_allowed":"","subscription_button_allowed":"1","locations_with_subscription_product":{"product":false,"payorder":false,"cart":false},"subscriptions_accept_manual_renewals":"","enforce_vault":"","can_save_vault_token":"","is_free_trial_cart":"","bn_codes":{"checkout":"Woo_PPCP","cart":"Woo_PPCP","mini-cart":"Woo_PPCP","product":"Woo_PPCP"},"payer":null,"button":{"wrapper":"#ppc-button-ppcp-gateway","is_disabled":false,"mini_cart_wrapper":"#ppc-button-minicart","is_mini_cart_disabled":false,"cancel_wrapper":"#ppcp-cancel","mini_cart_style":{"layout":"vertical","color":"gold","shape":"rect","label":"paypal","tagline":false,"height":35},"style":{"layout":"vertical","color":"gold","shape":"rect","label":"paypal","tagline":false}},"separate_buttons":{"card":{"id":"ppcp-card-button-gateway","wrapper":"#ppc-button-ppcp-card-button-gateway","style":{"shape":"rect","color":"black","layout":"horizontal"}}},"hosted_fields":{"wrapper":"#ppcp-hosted-fields","labels":{"credit_card_number":"","cvv":"","mm_yy":"MM/YY","fields_empty":"Card payment details are missing. Please fill in all required fields.","fields_not_valid":"Unfortunately, your credit card details are not valid.","card_not_supported":"Unfortunately, we do not support your credit card.","cardholder_name_required":"Cardholder's first and last name are required, please fill the checkout form required fields."},"valid_cards":[],"contingency":"NO_3D_SECURE"},"messages":{"wrapper":".ppcp-messages","is_hidden":false,"block":{"enabled":false},"amount":0,"placement":"payment","style":{"layout":"text","logo":{"type":"primary","position":"left"},"text":{"color":"black","size":"12"},"color":"blue","ratio":"1x1"}},"labels":{"error":{"generic":"Something went wrong. Please try again or choose another payment source.","required":{"generic":"Required form fields are not filled.","field":"%s is a required field.","elements":{"terms":"Please read and accept the terms and conditions to proceed with your order."}}},"billing_field":"Billing %s","shipping_field":"Shipping %s"},"simulate_cart":{"enabled":true,"throttling":5000},"order_id":"0","order_key":"","single_product_buttons_enabled":"1","mini_cart_buttons_enabled":"1","basic_checkout_validation_enabled":"","early_checkout_validation_enabled":"1","funding_sources_without_redirect":["paypal","paylater","venmo","card"],"user":{"is_logged":false,"has_wc_card_payment_tokens":false},"should_handle_shipping_in_paypal":"","server_side_shipping_callback":{"enabled":true},"appswitch":{"enabled":true},"needShipping":"","vaultingEnabled":"","productType":null,"manualRenewalEnabled":"","final_review_enabled":"1"};
//# sourceURL=ppcp-smart-button-js-extra