Active enzyme laundry stain remover
Active enzyme laundry stain remover
Active enzyme laundry stain remover
Active enzyme laundry stain remover
Active enzyme laundry stain remover
Active enzyme laundry stain remover
Active enzyme laundry stain remover
Active enzyme laundry stain remover
Active enzyme laundry stain remover
Active enzyme laundry stain remover
1/5
Active enzyme laundry stain remover
Active enzyme laundry stain remover
Active enzyme laundry stain remover
Active enzyme laundry stain remover
Active enzyme laundry stain remover
1/5

Active enzyme laundry stain remover

$14.99
$29.98
Save 50%
Buy More Save More
Please select a buy more save more
Quantity
/** @private {string} */ class SpzCustomAnchorScroll extends SPZ.BaseElement { static deferredMount() { return false; } constructor(element) { super(element); /** @private {Element} */ this.scrollableContainer_ = null; } isLayoutSupported(layout) { return layout == SPZCore.Layout.LOGIC; } buildCallback() { this.viewport_ = this.getViewport(); this.initActions_(); } setTarget(containerId, targetId) { this.containerId = '#' + containerId; this.targetId = '#' + targetId; } scrollToTarget() { const container = document.querySelector(this.containerId); const target = container.querySelector(this.targetId); const {scrollTop} = container; const eleOffsetTop = this.getOffsetTop_(target, container); this.viewport_ .interpolateScrollIntoView_( container, scrollTop, scrollTop + eleOffsetTop ); } initActions_() { this.registerAction( 'scrollToTarget', (invocation) => this.scrollToTarget(invocation?.caller) ); this.registerAction( 'setTarget', (invocation) => this.setTarget(invocation?.args?.containerId, invocation?.args?.targetId) ); } /** * @param {Element} element * @param {Element} container * @return {number} * @private */ getOffsetTop_(element, container) { if (!element./*OK*/ getClientRects().length) { return 0; } const rect = element./*OK*/ getBoundingClientRect(); if (rect.width || rect.height) { return rect.top - container./*OK*/ getBoundingClientRect().top; } return rect.top; } } SPZ.defineElement('spz-custom-anchor-scroll', SpzCustomAnchorScroll); const STRENGTHEN_TRUST_URL = "/api/strengthen_trust/settings"; class SpzCustomStrengthenTrust extends SPZ.BaseElement { constructor(element) { super(element); this.renderElement_ = null; } isLayoutSupported(layout) { return layout == SPZCore.Layout.CONTAINER; } buildCallback() { this.xhr_ = SPZServices.xhrFor(this.win); const renderId = this.element.getAttribute('render-id'); SPZCore.Dom.waitForChild( document.body, () => !!document.getElementById(renderId), () => { this.renderElement_ = SPZCore.Dom.scopedQuerySelector( document.body, `#${renderId}` ); if (this.renderElement_) { this.render_(); } this.registerAction('track', (invocation) => { this.track_(invocation.args); }); } ); } render_() { this.fetchData_().then((data) => { if (!data) { return; } SPZ.whenApiDefined(this.renderElement_).then((apis) => { apis?.render(data); document.querySelector('#strengthen-trust-render-1539149753700').addEventListener('click',(event)=>{ if(event.target.nodeName == 'A'){ this.track_({type: 'trust_content_click'}); } }) }); }); } track_(data = {}) { const track = window.sa && window.sa.track; if (!track) { return; } track('trust_enhancement_event', data); } parseJSON_(string) { let result = {}; try { result = JSON.parse(string); } catch (e) {} return result; } fetchData_() { return this.xhr_ .fetchJson(STRENGTHEN_TRUST_URL) .then((responseData) => { if (!responseData || !responseData.data) { return null; } const data = responseData.data; const moduleSettings = (data.module_settings || []).reduce((result, moduleSetting) => { return result.concat(Object.assign(moduleSetting, { logos: (moduleSetting.logos || []).map((item) => { return moduleSetting.logos_type == 'custom' ? this.parseJSON_(item) : item; }) })); }, []); return Object.assign(data, { module_settings: moduleSettings, isEditor: window.self !== window.top, }); }); } } SPZ.defineElement('spz-custom-strengthen-trust', SpzCustomStrengthenTrust);

  • Easy and fast returns by a professional customer service team 
  • SSL Certificates For 100% Security

Clothes decontamination cleaner, professional decontamination formula. Works on white, dark, colored, and all-washable fabrics that can be used on dirty clothes, wine on the sofa, and anywhere else with stains.

Fast stain removal and laundry stain removers can solve any stain problem in a short time! Blend and blot dry - get your clothes back the way they were in no time, it's that simple. Moms don't have to worry about dirty laundry anymore.

Ideal for indoor and outdoor stains, such as those that arise suddenly from cooking, work, parties, camping, etc. The convenient and compact design is easy to carry, freeing you from the embarrassment of dirty laundry.

Widely used, 120ml stain remover is suitable for white, dark, colored, and all washable fabrics. Just a few drops can remove old and new protein and mud stains, such as coffee, tea, ink, juice, and wine. Wait for any stains.

Specification

Net content: 120ml.


OUR GUARANTEE:

  • We believe we have some of the most innovative products in the world, and we want to make sure we back that up with a risk-free 15-day guarantee.
  • If, for any reason, you do not have a positive experience, we will make every effort to ensure that you are satisfied with your purchase.

We want you to rest assured that there is absolutely zero risk in buying and trying out products. If you don't like it and don't feel bad, we'll do it right.

We email support. If you need help, please contact us.