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.
Carbon mineralization is a process that removes carbon dioxide (CO2) from our atmosphere, and it is one of the most direct ways we can mitigate climate change. So, we had to ask: What are the pros and cons of carbon mineralization offsets?
Carbon mineralization offsets are permanent, reduce CO2 emissions quickly with low rates of carbon re-emission, and protect the biosphere. However, they are also expensive, are not yet scaled to compensate for our global emissions, and have potentially negative environmental effects.
Keep reading to find out all about what the pros and cons of carbon mineralization offsets are, how you can offset your carbon footprint with them, how they can mitigate climate change, and what better alternatives to carbon mineralization offsets are.
The Big Picture of Carbon Mineralization Offsets
Carbon offsetsare reductions in carbon emissions that are used to compensate for carbon emissions occurring elsewhere. They are measured in tons of carbon dioxide (CO2) equivalents and are bought and sold through international brokers, online retailers, and trading platforms on what is known as the global carbon offset market.
“Carbon Offset: a way for a company or person to reduce the level of carbon dioxide for which they are responsible by paying money to a company that works to reduce the total amount produced in the world, for example by reforestation”
Oxford Dictionary
Carbon mineralization is a form of technological carbon removal, the process of eliminating carbon from the atmosphere. More specifically, it is the removal of carbon from the atmosphere by sequestering it in permanent reservoirs.
“Carbon Removal: the process of removing CO2 from the atmosphere”
The Intergovernmental Panel on Climate Change
Carbon mineralization, also referred to as enhanced weathering, refers to the process by which atmospheric CO2 reacts with silicate material and rocks rich in calcium and magnesium (e.g., basalt rocks).
“Carbon mineralization: the process by which carbon dioxide becomes a solid mineral, such as a carbonate. It is a chemical reaction that happens when certain rocks are exposed to carbon dioxide”
Carbon mineralization offsets are one of the most expensive methods of carbon removal
Carbon mineralization offsets are effective
Carbon mineralization offsets are not yet at a scale where they can compensate for our global carbon emissions
Carbon mineralization offsets reduce CO2 emissions quickly
Carbon mineralization offsets may have negative environmental effects
Carbon mineralization offsets protect the biosphere
Carbon mineralization offsets do not reduce your own carbon emissions, which can lead to greenwashing
Carbon mineralization offsets can help offset carbon emissions that can’t be reduced otherwise
What Are 5 Pros of Carbon Mineralization Offsets
Carbon mineralization offsets are permanent, have a low rate of carbon re-emission, reduce emissions quickly, protect the biosphere, and can help offset emissions that cannot be reduced otherwise.
Pro #1: Carbon Mineralization Offsets are Permanent
Carbon mineralization offsets permanently remove CO2 from the atmosphere.
Carbon Mineralization Offset Pro #1
Carbon mineralization offsets are a specific type of carbon offset that store carbon permanently in geological reservoirs. For example, Climeworks’ partner Carbfix turns captured CO2 into stone by dissolving it in water and injecting it underground where it reacts with basalt rock to form solid minerals. This process locks away CO2 for thousands of years with no long-term monitoring required.
When comparing carbon mineralization to other methods of carbon removal, like planting trees, we find that carbon mineralization reduces CO2 emissions more permanently. With nature-based solutions, there is always the risk of droughts, wildfires, tree diseases, and deforestation wiping out newly planted trees, negating permanence and any carbon reduction benefits.
In short, carbon mineralization offsets permanently remove CO2 from the atmosphere because storing carbon underground in rock formations is a permanent process.
Pro #2: Carbon Mineralization Offsets Have A Low Rate of Carbon Re-Emission
Carbon mineralization is a permanent process and has very low rates of CO2 re-emission.
Carbon Mineralization Offset Pro #2
Because carbon mineralization is a permanent process, rates of carbon re-emission are very low. For example, greenSand Olivine rocks permanently store carbon and will only release that carbon back into the atmosphere if the temperature exceeds 1,600 degrees. In addition, even if the rocks are broken, the carbon will remain trapped inside.
In short, carbon mineralization is a permanent process, meaning rates of carbon re-emission are very low.
Pro #3: Carbon Mineralization Offsets Reduce CO2 Emissions Quickly
Carbon mineralization offsets reduce emissions quicker than natural processes and other nature-based solutions.
Carbon Mineralization Offset Pro #3
Carbon mineralization is a natural process that occurs over millions of years. Carbon mineralization projects aim to speed up this process by breaking down silicate rocks into tiny pieces, thereby skipping slow weathering processes.
In short, carbon mineralization reduces emissions quicker than natural weathering processes and some nature-based solutions.
Pro #4: Carbon Mineralization Offsets Protect the Biosphere
Carbon mineralization offsets improve air quality and protect ecosystems.
Carbon Mineralization Offset Pro #4
The degradation of air quality as a result of carbon emissions is a serious issue. For example, in 2009, the US government declared CO2, CH4, N2O, hydrofluorocarbons (HFCs), perfluorocarbons (PFCs), and sulfur hexafluoride (SF6) threats to the public health and welfare of current and future generations.
Protecting aquatic ecosystems ensures a readily available supply of fresh water.
Lastly, protecting biodiversity protects human health because many plants and animals are used in modern medicines.
In short, carbon mineralization offsets permanently remove carbon emissions from the atmosphere, thereby improving air quality and protecting ecosystems.
Pro #5: Carbon Mineralization Offsets Can Help Offset Carbon Emissions That Can’t Be Reduced Otherwise
Carbon mineralization offsets allow us to reduce carbon emissions in ways we wouldn’t be able to accomplish individually.
Carbon Mineralization Offset Pro #5
We already have governmental-level policies in place to reduce carbon emissions, but carbon offsets allow us to reduce emissions from activities where sustainable alternatives are not yet widely available.
Carbon offsets are designed for situations where your emissions are impossible to reduce. For example, we can only do so much to reduce our individual carbon footprints. Using public transportation, washing with cold water, and switching from single-use to sustainable products lowers our carbon footprint, but it does not eliminate them completely. This is where carbon mineralization offsets come into play, to reduce carbon emissions in other areas as compensation for the remainder of our carbon emissions.
In short, carbon mineralization offsets allow us to reduce carbon emissions in ways we wouldn’t be able to accomplish individually.
What Are 4 Cons of Carbon Mineralization Offsets
Carbon mineralization offsets are one of the most expensive methods of carbon removal, are not yet scaled to compensate for our global emissions, may induce seismic activity, and do not reduce your own emissions, which can lead to greenwashing.
Con#1: Carbon Mineralization Offsets are Expensive
Carbon mineralization offsets are one of the most expensive methods of carbon removal. #1
Carbon Mineralization Offset Con#1
Behind direct carbon capture (DCC), carbon mineralization offsets are one of the most expensive offsets out of all of the carbon removal methods. Mineralization offsets currently range anywhere from $82 – $1,200 per ton of CO2, depending on the type of technology, type of energy source, and scale of the operation. In comparison, reforestation offsets cost approximately $50 per ton.
Carbon mineralization is also a reactive, rather than proactive, way of dealing with carbon emissions. In this manner, we can continue to use fossil fuels at an accelerated rate. Carbon removal technologies in general are expensive to implement, so there will be little economic incentive to use them until the cost of emitting carbon rises enough to prompt behavioral changes.
In short, carbon mineralization is one of the more expensive methods of carbon removal.With further research, development, and funding, this could decrease in the coming years.
Con#2: Carbon Mineralization Offsets Are Not Yet Scaled to Compensate for Our Global Emissions
Carbon mineralization offsets are not yet at a scale where they can compensate for our global carbon emissions.
Carbon Mineralization Offset Con #2
Currently, carbon offsets in general are not sufficient to compensate for all of our carbon emissions. We emit more than 36 billion tons of carbon annually, but carbon offset credits for only ~1 billion tons of CO2 have been listed for sale on the voluntary market. The number of sellers also exceeds the number of buyers by about 600-700 million tons.
Carbon mineralization offsets are also not yet scaled enough to keep pace with our global carbon emissions. Because there are relatively few companies engaged in carbon mineralization on a commercial level, the amount of carbon they can sequester is limited. Also, processes, standards, and technologies still need to be developed to ensure proper monitoring, verification, and reporting of carbon sequestration.
Injecting CO2 underground in rock formations could induce seismic activity, depending on the interactions between existing fault lines and pressure alterations in existing rock formations. These risks can be managed with proper monitoring and siting of injection sites. For example, Carbfix conducts independent seismic risk assessments, and injection sites are monitored before and during well-drilling activities.
In short, possible negative environmental effects could include water contamination and seismic activity, although further research is needed.
Con#4: Carbon Mineralization Offsets Do Not Reduce Your Own Carbon Emissions
Carbon mineralization offsets do not reduce your own carbon emissions, which can lead to greenwashing.
Carbon Mineralization Offset Con #4
One of the main limitations of carbon offsetting, in general, is that purchasing a carbon offset does not directly reduce your carbon footprint. It only makes others reduce their carbon footprint to compensate for your carbon footprint.
If emissions are only offset and not reduced from the source, this could lead to greenwashing, when the consumer is deceived into thinking they are offsetting their emissions but in reality, they are not. Companies accused of greenwashing either invest in non-verified credits, do not prioritize in-house emissions reductions, or double-count carbon credits. Or sometimes, all of the above.
In short, because carbon mineralization offsets do not reduce your own emissions, they could lead to greenwashing.
How Could You Offset Your Own Carbon Footprint With Carbon Mineralization Offsets
The market for carbon offsets was small in the year 2000, but by 2010 it had already grown to represent nearly $10 billion worldwide. The voluntary carbon offset market (VCM) is where everyday consumers can purchase carbon offsets to offset their carbon emissions, and the Ecosystem Marketplace predicts the VCM can grow to $50B by the year 2050.
Carbon mineralization takes advantage of natural chemical processes and can permanently and quickly remove carbon from the atmosphere, locking it away for thousands of years. Because it has the potential to store large amounts of carbon, it is predicted to make up an increasing share of the VCM. Below are our favorite carbon mineralization offsets.
Carbon offset purchases support the practice of direct CO2 removal, where specialized machines remove CO2 directly from the air and store it in rock formations underground.
greenSand uses Olivine rocks, which trap CO2 when they come into contact with water. For every ton of CO2 purchased, greenSand spreads 1 ton of Olivine, which can in turn absorb 1 ton of CO2.
InPlanet accelerates the natural process of enhanced weathering by grinding and spreading silicate rocks on tropical soils. The silicate rocks capture and store carbon for thousands of years and help regenerate tropical soils by acting as a long-term fertilizer.
CarbonCure’s technology allows concrete producers to inject captured CO2 into fresh concrete during mixing. The CO2 then reacts with the concrete mix and is chemically converted into a mineral, where it is permanently stored for thousands of years.
UNDO accelerates the natural process of enhanced weathering by spreading crushed basalt rock on farmlands. The rock absorbs CO2 and locks it away in mineral form for thousands of years.
Heirloom’s technology captures CO2 through an accelerated process of natural mineralization, whereby minerals absorb CO2 from the air. The CO2 is then injected underground and stored permanently.
Arca is a startup speeding up the natural process of weathering. They partner with mines and transform mine tailings into giant carbon sinks capable of extracting and permanently storing large amounts of CO2.
Silicate is a startup leveraging the carbon removal potential of surplus concrete. They grind surplus concrete to dust so that it can be spread on farmlands. The crushed concrete reacts with carbonic acid in the soil to remove CO2 from the air.
How Can Carbon Mineralization Offsets Help Mitigate Climate Change
Climate change is a severe and long-term consequence of fossil fuel combustion. Carbon mineralization offsets can help mitigate climate change because they permanently eliminate fossil-fuel-derived carbon from our atmosphere which, if left untreated, can remain there for tens of thousands of years and exacerbate the negative effects of climate change.
How is Climate Change Defined
Climate change is arguably the most severe, long-term global impact of fossil fuel combustion. Every year, approximately 33 billion tons (bt) of CO2 are emitted from burning fossil fuels. The carbon found in fossil fuels reacts with oxygen in the air to produce CO2.
“Climate change: changes in the earth’s weather, including changes in temperature, wind patterns and rainfall, especially the increase in the temperature of the earth’s atmosphere that is caused by the increase of particular gasses, especially carbon dioxide.”
Oxford Dictionary
Atmospheric CO2 fuels climate change, which results in global warming. When CO2 and other air pollutants absorb sunlight and solar radiation in the atmosphere, it traps the heat and acts as an insulator for the planet. Since the Industrial Revolution, Earth’s temperature has risen a little more than 1 degree Celsius (C), or 2 degrees Fahrenheit (F). Between 1880-1980 the global temperature rose by 0.07C every 10 years. This rate has more than doubled since 1981, with a current global annual temperature rise of 0.18C, or 0.32F, for every 10 years.
As outlined in the 2015 Paris Climate Agreement, we must cut current GHG emissions by 50% by 2030 and reach net zero by 2050.
How Do Carbon Offsets Generally Help Mitigate Climate Change
Levels of carbon in our atmosphere that cause climate change have increased as a result of human emissions since the beginning of the Industrial Revolution in 1750. The global average concentration of carbon dioxide in the atmosphere today registers at over 400 parts per million. Carbon offsets can help prevent these levels from increasing even more.
When you hear the words “carbon offset”, think about the term “compensation”. Essentially, carbon offsets are reductions in GHG emissions that are used to compensate for emissions occurring elsewhere.
Carbon offsets that meet key criteria and verified project standards, are additional and permanent, and are part of projects that are carried out until the end of their lifespan have the best chance of reducing carbon emissions and therefore reducing climate change.
When we offset CO2 we also slow the rate of global temperature rise, which in turn minimizes the effects of climate change.
How Do Carbon Mineralization Offsets Specifically Help Mitigate Climate Change
Carbon mineralization can specifically help mitigate climate change because it eliminates atmospheric carbon, which when emitted, can remain in our atmosphere for a long period of time. Whether via underground injection, concrete, or mine tailings, the process of carbon mineralization permanently locks away CO2 for thousands of years.
What Are Better Alternatives to Carbon Mineralization Offsets
If used correctly, carbon mineralization offsets can provide environmental, economic, and social benefits beyond reducing carbon emissions. They have the potential to instigate meaningful environmental change and begin to reverse some of the effects of climate change.
However, we can’t let this method be a guilt-free way to reduce carbon emissions. Carbon mineralization offsets must be used in conjunction with direct carbon reduction measures until the industry has time to develop, refine, and make the technology more affordable.
These reduction measures don’t have to involve drastic changes either. Actions that may seem minor can have a significant impact because those small changes add up! You can reduce your carbon footprint in three main areas of your life: household, travel, and lifestyle.
Walk or bike when possible: The most efficient ways of traveling are walking, bicycling, or taking the train. Using a bike instead of a car can reduce carbon emissions by 75%. These forms of transportation also provide lower levels of air pollution.
Switch to renewable energy sources: The six most common types of renewable energy are solar, wind, hydro, tidal, geothermal, and biomass energy. They are a substitute for fossil fuels that can reduce the effects of global warming by limiting global carbon emissions and other pollutants.
Recycle: Recycling uses less energy and deposits less waste in landfills. Less manufacturing and transportation energy costs means fewer carbon emissions generated. Less waste in landfills means less CH4 is generated.
Eat less meat and dairy: Meat and dairy account for 14.5% of global GHG emissions, with beef and lamb being the most carbon-intensive. Globally, we consume much more meat than is considered sustainable, and switching to a vegan or vegetarian diet could reduce emissions.
Take shorter showers: Approximately 1.2 trillion gallons of water are used each year in the United States just for showering purposes, and showering takes up about 17% of residential water usage. The amount of water consumed and the energy cost of that consumption are directly related. The less water we use the less energy we use. And the less energy we use, the less of a negative impact we have on the environment.
Because carbon mineralization offsets are an indirect way and not a direct way of reducing emissions, they alone will not be enough to reduce global carbon emissions significantly. Direct measures of emission reductions, such as reducing individual energy use and consumption, are better alternatives to carbon mineralization offsets.
Carbon mineralization offsets are permanent, have a low rate of carbon re-emission, reduce emissions quickly, protect the biosphere, and can help offset emissions that cannot be reduced otherwise. However, they are also expensive, not yet scaled to compensate for our global emissions, may induce seismic activity, and do not reduce your own emissions, which can lead to greenwashing.
For all of the good carbon offsets can instigate, they should not be seen as the only solution to climate change. They are effective at reducing CO2 in the short term, but in the long term, they fail to reduce CO2 enough. Carbon offsetting can be much more effective when used in conjunction with direct CO2 reduction measures. We should reduce our own carbon footprint as much as possible first, and only then choose the most effective carbon mineralization offsets.
Grace loves to research and write about all things related to climate action and sustainability. She holds a Bachelor’s degree in Environmental Biology and works as a Natural Resource Specialist. Outside of work, she loves to work out, play soccer, and take her dog for long walks.
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":30650,"page":1},"signature":"30315e5b049a29e8714ce7df858a0e26"} };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":30650,"page":1},"signature":"30315e5b049a29e8714ce7df858a0e26"} };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