1<!doctype html> 2<html class="no-js" lang="en" dir="ltr"> 3<head> 4 5
6<script src="/cdn/shopifycloud/consent-tracking-api/v0.1/consent-tracking-api.js"></script>
6 7
8<script type="text/javascript"> 9 10;(function() { 11 var ht=Object.defineProperty;var ut=(v,f,w)=>f in v?ht(v,f,{enumerable:!0,configurable:!0,writable:!0,value:w}):v[f]=w;var a=(v,f,w)=>ut(v,typeof f!="symbol"?f+"":f,w);(function(){"use strict";class v{constructor(t,e){a(this,"CACHE_KEY","_shg_audience_cache");a(this,"CACHE_EXPIRATION_DAYS",7);a(this,"DEVICE_MOBILE_BREAKPOINT",768);a(this,"cache",{timestamp:Date.now(),data:{}});this.visitor=t,this.locationApiUrl=e,this.restoreCache()}evaluate(t){switch(t.value=this.snakeCaseKeys(t.value),t.audience_type){case"location":return this.locationMatches(t);case"b2b":return this.b2bMatches(t);case"device":return this.deviceMatches(t);case"logged_in":return this.loggedInMatches(t);case"referrer_contains":return this.referrerContainsMatches(t);case"url_contains":return this.urlContainsMatches(t);case"new_visitor":return this.newVisitorMatches(t);case"returning_visitor":return this.returningVisitorMatches(t);default:return{status:"skipped",expected:t.value,actual:null,reason:`No evaluator implemented for audience type: ${t.audience_type}`}}}evaluateAll(t,e="every"){if(!t||t.length===0)return{status:"eligible",condition:e,expected:{},actual:{}};if(!["every","any"].includes(e))return{status:"error",condition:e,expected:{},actual:{}};const i=t.map(s=>({type:s.audience_type,evaluation:this.evaluate(s)}));return{status:(e==="every"?i.every(s=>s.evaluation.status==="match"):i.some(s=>s.evaluation.status==="match"))?"eligible":"not_eligible",condition:e,expected:t.reduce((s,r)=>(s[r.audience_type]={condition:r.condition,value:r.value},s),{}),actual:i.reduce((s,r)=>(s[r.type]=r.evaluation.actual,s),{})}}b2bMatches(t){const e=t.value===this.visitor.isB2B;return{status:(t.condition==="is_not"?!e:e)?"match":"no_match",expected:{condition:t.condition,value:t.value},actual:{value:this.visitor.isB2B}}}deviceMatches(t){const e=window.innerWidth<this.DEVICE_MOBILE_BREAKPOINT||window.outerWidth<this.DEVICE_MOBILE_BREAKPOINT?"mobile":"desktop",i=t.value===e;return{status:(t.condition==="is_not"?!i:i)?"match":"no_match",expected:{condition:t.condition,value:t.value},actual:{value:e}}}locationMatches(t){if(!this.cache.data.location){const h=new XMLHttpRequest;h.open("GET",this.locationApiUrl,!1),h.send(null);const l=h.status===200?JSON.parse(h.responseText):null;l&&(this.cache.data.location={country:l==null?void 0:l.country,region:l==null?void 0:l.region,city:l==null?void 0:l.city,timestamp:Date.now()}
11,this.saveCache())}const e={condition:t.condition,value:t.value},i=this.cache.data.location;if(!e||!e.value||!e.value.type||!e.value.country_code||!i)return{status:"no_match",expected:e,actual:i?{value:i}:null};const{type:n,country_code:s,toponym_name:r,parent_name:o}=e.value;let d=!1;switch(n){case"country":d=i.country===s;break;case"region":d=i.region===r&&i.country===s;break;case"city":d=i.city===r&&i.region===o&&i.country===s;break;default:d=!1}return{status:(t.condition==="is_not"?!d:d)?"match":"no_match",expected:e,actual:{value:i}}}loggedInMatches(t){const e=String(t.value)==="true",i=this.visitor.isLoggedIn===e;return{status:(t.condition==="is_not"?!i:i)?"match":"no_match",expected:{condition:t.condition,value:t.value},actual:{value:this.visitor.isLoggedIn}}}referrerContainsMatches(t){if(typeof t.value!="string")return{status:"error",expected:{condition:t.condition,value:t.value},actual:null,reason:"Invalid expected value"};const e=document.referrer.toLowerCase().includes(t.value.toLowerCase());return{status:(t.condition==="is_not"?!e:e)?"match":"no_match",expected:{condition:t.condition,value:t.value},actual:{value:document.referrer}}}urlContainsMatches(t){if(typeof t.value!="string")return{status:"error",expected:{condition:t.condition,value:t.value},actual:null,reason:"Invalid expected value"};const e=window.location.href.toLowerCase().includes(t.value.toLowerCase());return{status:(t.condition==="is_not"?!e:e)?"match":"no_match",expected:{condition:t.condition,value:t.value},actual:{value:window.location.href}}}returningVisitorMatches(t){if(!this.visitor.details)return{status:"no_match",expected:{condition:t.condition,value:t.value},actual:null,reason:"No visitor details available"};const{expected_time_in_milliseconds:e,within_or_after:i}=t.value||{};if(typeof e!="number"||!i)return{status:"error",expected:{condition:t.condition,value:t.value},actual:null,reason:"Invalid expected data"};const n=this.visitor.details.first_visit_timestamp,s=Date.now();if(i==="within"){const r=n+e>s;return{status:(t.condition==="is_not"?!r:r)?"match":"no_match",expected:{condition:t.condition,value:t.value},actual:{value:n}}}else{const r=n+e<s;return{status:(t.condition==="is_not"?!r:r)?"match":"no_match",expected:{condition:t.condition,value:t.value},actual:{value:n}}}}newVisitorMatches(t){const e=t.value==this.visitor.isFirstVisit;return{status:(t.condition==="is_not"?!e:e)?"match":"no_match",expected:{condition:t.condition,value:t.value},actual:{value:this.visitor.isFirstVisit}}}restoreCache(){const t=localStorage.getItem(this.CACHE_KEY);if(t)try{const e=JSON.parse(t);e.timestamp<=Date.now()-this.CACHE_EXPIRATION_DAYS*24*60*60*1e3?(localStorage.removeItem(this.CACHE_KEY),this.cache.data={}):this.cache=e}catch{try{localStorage.removeItem(this.CACHE_KEY)}catch{}this.cache.data={}}}saveCache(){this.cache.timestamp=Date.now(),localStorage.setItem(this.CACHE_KEY,JSON.stringify(this.cache))}snakeCaseKeys(t){if(t==null||typeof t!="object")return t;const e={};for(const[i,n]of Object.entries(t)){const s=i.replace(/[A-Z]/g,r=>`_${r.toLowerCase()}`);e[s]=n}return e}}/*! js-cookie v3.0.8 | MIT */function f(c){for(var t=1;t<arguments.length;t++){var e=arguments[t];for(var i in e)i!=="__proto__"&&(c[i]=e[i])}return c}var w={read:function(c){return c[0]==='"'&&(c=c.slice(1,-1)),c.replace(/(%[\dA-F]{2})+/gi,decodeURIComponent)},write:function(c){return encodeURIComponent(c).replace(/%(2[346BF]|3[AC-F]|40|5[BDE]|60|7[BCD])/g,decodeURIComponent)}};function N(c,t){function e(n,s,r){if(!(typeof document>"u")){r=f({},t,r),typeof r.expires=="number"&&(r.expires=new Date(Date.now()+r.expires*864e5)),r.expires&&(r.expires=r.expires.toUTCString()),n=encodeURIComponent(n).replace(/%(2[346B]|5E|60|7C)/g,decodeURIComponent).replace(/[()]/g,escape);var o="";for(var d in r)r[d]&&(o+="; "+d,r[d]!==!0&&(o+="="+r[d].split(";")[0]));return document.cookie=n+"="+c.write(s,n)+o}}function i(n){if(!(typeof document>"u"||arguments.length&&!n)){for(var s=document.cookie?document.cookie.split("; "):[],r={},o=0;o<s.length;o++){var d=s[o].split("="),u=d.slice(1).join("=");try{var h=decodeURIComponent(d[0]);if(h in r||(r[h]=c.read(u,h)),n===h)break}catch{}}return n?r[n]:r}}return Object.create({set:e,get:i,remove:function(n,s){e(n,"",f({},s,{expires:-1}))},withAttributes:function(n){return N(this.converter,f({},this.attributes,n))},withConverter:function(n){return N(f({},this.converter,n),this.attributes)}},{attributes:{value:Object.freeze(t)},converter:{value:Object.freeze(c)}})}var C=N(w,{path:"/"});const p=class p{constructor(t){a(this,"customerId");a(this,"isB2B");a(this,"details",null);a(this,"sessionId",null);a(this,"id",null);this.context=t,this.sessionId=t.sessionId,this.customerId=t.customerId,this.isB2B=t.isB2B,this.loadCachedDetails(),this.loadAndStoreVisitorId(),this.loadAndStoreSessionId()}get bin(){return this.sessionId?this.hashWithDjb2(this.sessionId)%p.DEFAULT_NUMBER_OF_BINS:0}
11get firstVisitTimestamp(){var t;return((t=this.details)==null?void 0:t.first_visit_timestamp)??Date.now()}get isFirstVisit(){return this.firstVisitTimestamp>=Date.now()-p.NEW_VISITOR_THRESHOLD_MINUTES*60*1e3}get isLoggedIn(){return!!this.customerId}loadCachedDetails(){var t;try{const e=localStorage.getItem(p.DETAILS_KEY);e?(this.details=JSON.parse(e),typeof((t=this.details)==null?void 0:t.first_visit_timestamp)!="number"&&(console.warn("Invalid visitor details found in storage, resetting."),this.details=null)):(this.details={first_visit_timestamp:Date.now()},localStorage.setItem(p.DETAILS_KEY,JSON.stringify(this.details)))}catch(e){console.error("Error loading visitor details from storage:",e),this.details=null}finally{!this.details&&typeof localStorage<"u"&&(this.details={first_visit_timestamp:Date.now()},localStorage.setItem(p.DETAILS_KEY,JSON.stringify(this.details)))}}loadAndStoreSessionId(){const t=this.sessionId||C.get(p.SESSION_ID_KEY)||null;t?this.sessionId=t:this.sessionId=crypto.randomUUID(),C.set(p.SESSION_ID_KEY,this.sessionId,{expires:1/48,path:"/"})}loadAndStoreVisitorId(){const t=C.get(p.VISITOR_ID_KEY)||null;t?this.id=t:(this.id=crypto.randomUUID(),C.set(p.VISITOR_ID_KEY,this.id,{expires:365,path:"/"}))}hashWithDjb2(t){let e=5381;for(let i=0;i<t.length;i++)e=(e<<5)-e+t.charCodeAt(i),e|=0;return Math.abs(e)}};a(p,"DETAILS_KEY","_shg_ab_visitor_details"),a(p,"SESSION_ID_KEY","_shg_ab_session_id"),a(p,"VISITOR_ID_KEY","_shg_ab_visitor_id"),a(p,"DEFAULT_NUMBER_OF_BINS",1e4),a(p,"NEW_VISITOR_THRESHOLD_MINUTES",30);let x=p;const _=class _{constructor(t){a(this,"buyItNowHandlerAttached",!1);this.config=t}run(){typeof document<"u"&&document.readyState==="loading"?document.addEventListener("DOMContentLoaded",()=>{this.attachBuyItNowHandler()}):setTimeout(()=>{this.attachBuyItNowHandler()},100)}attachBuyItNowHandler(){var n;const t=(n=this.config)==null?void 0:n.currentCartVariantId;if(!t){console.debug("shogun: no current cart variant ID assigned, buy-it-now interception skipped");return}if(this.buyItNowHandlerAttached)return;this.buyItNowHandlerAttached=!0,console.debug("shogun: setting up buy-it-now interception with cart variant ID:",t);const e=async(s,r)=>{var h,l,V,O;const o=(r==null?void 0:r.formData)??new FormData(s);let d=(r==null?void 0:r.variantId)??this.extractVariantIdFromFormData(o);if(!d){console.debug("shogun: no product variant ID found for buy-it-now, interception skipped");return}const u=(r==null?void 0:r.quantity)??(parseInt(o.get("quantity")||"1",10)||1);if(console.debug("shogun: buy-it-now details:",{productVariantId:d,quantity:u,cartVariantId:t,storefrontAccessToken:(h=this.config)!=null&&h.storefrontAccessToken?"***":null,shopDomain:(l=this.config)==null?void 0:l.shopDomain}),(V=this.config)!=null&&V.storefrontAccessToken&&((O=this.config)!=null&&O.shopDomain)){console.debug("shogun: attempting cartCreate with merchandiseId:",`gid://shopify/ProductVariant/${d}`);const R=await this.createCartAndGetCheckoutUrl(d,u,t);if(R){console.debug("shogun: redirecting to cartCreate checkoutUrl (original cart preserved)"),window.location.href=R;return}}console.debug("shogun: falling back to cart add with cart variant"),await this.addToCartAndCheckout(d,u,t)};typeof document<"u"&&(()=>{document.addEventListener("click",s=>{const r=s.target;if(!r)return;const o=this.findPaymentElementFromClick(s,r);if(!o)return;const d=this.findFormForPaymentElement(o,r,s);if(!d)return;
11const u=this.getBuyItNowDetailsFromForm(d);u&&(s.preventDefault(),s.stopPropagation(),s.stopImmediatePropagation(),e(d,u))},{capture:!0})})()}async createCartAndGetCheckoutUrl(t,e,i){var d,u,h,l,V,O,R;if(!((d=this.config)!=null&&d.storefrontAccessToken)||!((u=this.config)!=null&&u.shopDomain))return null;const n=` 12 mutation cartCreate($input: CartInput!) { 13 cartCreate(input: $input) { 14 cart { 15 id 16 checkoutUrl 17 } 18 userErrors { 19 field 20 message 21 } 22 } 23 } 24 `,s=i?[{key:"shogun_variant_id",value:i}]:[];let r=[];i&&this.config.lineItemLevelVariant&&(r=[{key:"_shogun_variant_id",value:i}]);const o={input:{lines:[{merchandiseId:`gid://shopify/ProductVariant/${t}`,quantity:e,attributes:r}],attributes:s}};try{const F=JSON.stringify({query:n,variables:o}),W=`https://${this.config.shopDomain}/api/2025-10/graphql.json`;console.debug("shogun: cartCreate request URL:",W),console.debug("shogun: cartCreate request body:",F);const I=await(await fetch(W,{method:"POST",headers:{"Content-Type":"application/json","X-Shopify-Storefront-Access-Token":this.config.storefrontAccessToken},body:F})).json();return console.debug("shogun: cartCreate full response:",JSON.stringify(I,null,2)),(V=(l=(h=I.data)==null?void 0:h.cartCreate)==null?void 0:l.cart)!=null&&V.checkoutUrl?(console.debug("shogun: cartCreate successful, checkoutUrl:",I.data.cartCreate.cart.checkoutUrl),I.data.cartCreate.cart.checkoutUrl):(console.error("shogun: cartCreate failed:",((R=(O=I.data)==null?void 0:O.cartCreate)==null?void 0:R.userErrors)||I.errors),null)}catch(F){return console.error("shogun: cartCreate error:",F),null}}async addToCartAndCheckout(t,e,i){var s;const n={items:[{id:t,quantity:e,properties:{}}]};i&&(n.attributes={shogun_variant_id:i},(s=this.config)!=null&&s.lineItemLevelVariant&&(n.items[0].properties={_shogun_variant_id:i}));try{const r=await fetch("/cart/add.js",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(n)});r.ok?(console.debug("shogun: added to cart, redirecting to checkout"),window.location.href="/checkout"):console.error("shogun: cart add failed:",await r.text())}catch(r){console.error("shogun: cart add error:",r)}}findPaymentElementFromClick(t,e){const i=e.closest(_.SHOPIFY_PAYMENT_BUTTON_SELECTOR);if(i)return i;const n=typeof t.composedPath=="function"?t.composedPath():[];for(const s of n)if(s instanceof HTMLElement&&s.matches(_.SHOPIFY_PAYMENT_BUTTON_SELECTOR))return s;return null}findFormForPaymentElement(t,e,i){const n=t.closest("form");if(n)return n;const s=e==null?void 0:e.closest("form");if(s)return s;const r=(e==null?void 0:e.closest("[form]"))||t.closest("[form]")||t.querySelector("[form]"),o=r==null?void 0:r.getAttribute("form");if(o){const l=document.getElementById(o);if(l instanceof HTMLFormElement)return l}const d=typeof(i==null?void 0:i.composedPath)=="function"?i.composedPath():[];for(const l of d)if(l instanceof HTMLFormElement)return l;const u=document.querySelectorAll("form");let h=null;for(const l of u)if(l.querySelector(_.SHOPIFY_PAYMENT_BUTTON_SELECTOR)){if(h)return console.debug("shogun: multiple payment-button forms found; skipping ambiguous buy-it-now form mapping"),null;h=l}return h}normalizeProductVariantId(t){if(!t)return null;const e=String(t);if(!e.includes("gid://"))return e;const i=e.match(/\/(\d+)$/);return i?i[1]:e}extractVariantIdFromFormData(t){const e=t.get("id")||t.get("variant_id");if(!e)return null;const i=this.normalizeProductVariantId(e);return i&&i!==e&&console.debug("shogun: extracted numeric ID from GID:",i),i}
24getBuyItNowDetailsFromForm(t){const e=new FormData(t),i=this.extractVariantIdFromFormData(e);if(!i)return null;const n=parseInt(e.get("quantity")||"1",10)||1;return{formData:e,variantId:i,quantity:n}}};a(_,"SHOPIFY_PAYMENT_BUTTON_SELECTOR",'shopify-buy-it-now-button, shopify-accelerated-checkout, [data-shopify="payment-button"], .shopify-payment-button');let k=_;class b{constructor(t,e,i){a(this,"id");a(this,"name");a(this,"type");a(this,"scope");a(this,"config");a(this,"variants");a(this,"assignedVariantId");a(this,"state");a(this,"eligibility");a(this,"context");a(this,"audienceEvaluator");this.id=t.id,this.name=t.name,this.type=t.type,this.scope=t.scope,this.config=t.config||{},this.variants=t.variants||[],this.assignedVariantId=t.assignedVariantId,this.state=t.assignedVariantId?t.state:void 0,this.context=e,this.audienceEvaluator=i}get isFirstAssignment(){return!!this.assignedVariantId&&this.state===void 0}get isFirstView(){return!!this.assignedVariantId&&(this.isEligible||this.isOnAssignedVariant)&&this.state!=="started"}get assignedVariant(){return this.assignedVariantId&&this.variants.find(t=>t.id===this.assignedVariantId)||null}get originalVariant(){return this.variants.find(t=>t.config.original)||null}get isOnAssignedVariant(){var t;return this.assignedVariantId?this.assignedVariantId===((t=this.currentVariant)==null?void 0:t.id):!1}get isEligible(){var t;return((t=this.eligibility)==null?void 0:t.status)==="eligible"}get firstNonDefaultEligibleVariant(){if(!this.eligibility||!this.eligibility.variants)return null;const t=Object.entries(this.eligibility.variants).filter(([i,n])=>n.status==="eligible").map(([i,n])=>i);return this.variantsByPosition().find(i=>t.includes(i.id)&&!i.config.original)||null}get inReview(){return this.type==="review"}get needsDispatch(){return this.assignedVariantId?!this.isOnAssignedVariant&&(this.inReview||this.isEligible):!1}evaluateEligibility(){const t=this.type=="ab_test"?this.evaluateAudienceEligibility():{status:"eligible",condition:void 0,expected:{},actual:{}},e=this.evaluateScopeEligibility(),i=this.evaluateVariantAudienceEligibility(),n=[t,e].every(r=>r.status==="eligible"||r.status==="match")&&(Object.keys(i).length===0||Object.values(i).some(r=>r.status==="eligible")),s=[t,e,...Object.values(i)].some(r=>r.status==="error");this.eligibility={status:n?"eligible":s?"error":"not_eligible",audience:t,scope:e,variants:i}}evaluateAudienceEligibility(){return this.audienceEvaluator.evaluateAll(this.config.audiences||[],this.config.audiences_condition||"every")}evaluateVariantAudienceEligibility(){const t={};for(const e of this.variants)e.config.audiences&&e.config.audiences.length>0?t[e.id]=this.audienceEvaluator.evaluateAll(e.config.audiences,e.config.audiences_condition||"every"):e.config.original||(t[e.id]={status:"eligible",condition:void 0,expected:{},actual:{}});return t}finalize(){this.isEligible&&this.removeViewParam()}extractPartialTemplateKey(t){if(!t)return;const e=t.split(".");return e.length<2?t:e.slice(0,-1).join(".")}variantForCurrentTemplate(){const t=this.pagePartialTemplateKey();return this.variants.find(e=>this.extractPartialTemplateKey(e.config.full_template_key)===t)||null}matchesCurrentTemplate(){return this.variantForCurrentTemplate()!==null}pagePartialTemplateKey(){const t=this.context.page.templateDirectory||(this.context.page.pageType==="metaobject"?"metaobject":null),e=t?`templates/${t}/`:"templates/",i=[this.context.page.templateName,this.context.page.templateSuffix].filter(Boolean).join(".");return e+i}extractViewParamFromFullTemplateKey(t){if(!t)return;const e=t.split("/").pop().split(".")||[];return e.slice(1,e.length-1).join(".")}variantsByPosition(){return this.variants.slice().sort((t,e)=>{const i=t.position||0,n=e.position||0;return i-n})}removeViewParam(){const t=new URL(window.location.href);t.searchParams.delete("view"),window.history.replaceState({},"",t.toString())}redirect(t){t.searchParams.delete("cache"),window.location.replace(t.toString())}}class z extends b{constructor(e,i,n){super(e,i,n);a(this,"buyItNowFinalizer",null);this.buyItNowFinalizer=new k({currentCartVariantId:this.context.page.currentCartVariantId,shopDomain:this.context.shop.shopDomain,storefrontAccessToken:this.context.shop.storefrontAccessToken})}get currentVariant(){return this.variants.find(e=>e.id===this.context.page.currentCartVariantId)||null}evaluateScopeEligibility(){return{status:"match",expected:this.scope,actual:this.scope}}
24dispatch(){this.dispatchCartAssignment(new URL(window.location.href))}dispatchCartAssignment(e){var s;const i=this.assignedVariant;if(!i){console.error(`shogun: Cannot dispatch ${this.scope} optimization because assigned variant is not set`,this.assignedVariant);return}const n=new XMLHttpRequest;if(n.open("POST","/cart/update.js",!1),n.setRequestHeader("Content-Type","application/json"),n.send(JSON.stringify({attributes:{shogun_variant_id:i==null?void 0:i.id}})),n.status===200){const r=(s=i==null?void 0:i.config)==null?void 0:s.theme_id;console.debug(`shogun: dispatching ${this.scope} optimization by setting cart attribute and reloading the page to reflect cart changes`+(r?` with theme_id '${r}'`:"")),this.redirect(e)}else console.error(`shogun: failed to update cart for ${this.scope} optimization dispatch`,{status:n.status,response:n.responseText})}finalize(){var e;(this.isEligible||this.inReview)&&((e=this.buyItNowFinalizer)==null||e.run())}}class G extends z{}class X extends b{get currentVariant(){return this.variantForCurrentTemplate()}evaluateScopeEligibility(){const{page_type:t,page_id:e}=this.config,i=!t||t===this.context.page.pageType,n=!e||e===this.context.page.pageId,s=new URLSearchParams(window.location.search).get("view");return s&&!this.variants.some(r=>this.extractViewParamFromFullTemplateKey(r.config.full_template_key)===s)?{status:"skipped",expected:void 0,actual:void 0,reason:"Visitor has view param that does not match any variant template keys, likely previewing a template change from theme editor"}:{status:this.scope==="page"&&this.matchesCurrentTemplate()&&i&&n?"match":"no_match",expected:{page_type:t,page_id:e},actual:{page_type:this.context.page.pageType,page_id:this.context.page.pageId}}}dispatch(){var i,n,s;const t=new URL(window.location.href),e=this.extractViewParamFromFullTemplateKey((i=this.assignedVariant)==null?void 0:i.config.full_template_key);if(!e)throw new Error(`Assigned variant does not have a valid viewParam for dispatching full_template_key: ${(n=this.assignedVariant)==null?void 0:n.config.full_template_key}, variant: ${(s=this.assignedVariant)==null?void 0:s.id}`);t.searchParams.set("view",e),console.debug("shogun: Dispatching page optimization by redirecting to ",t.toString()),this.redirect(t)}}class J extends z{}class Z extends z{}const L="_shogun_variant_id",E=`properties[${L}]`,Q=/\/cart\/add(\.js)?$/;class tt{constructor(t){a(this,"addToCartHandlerAttached",!1);a(this,"cartAddRequestInterceptionAttached",!1);this.config=t}run(){var e;const t=(e=this.config)==null?void 0:e.currentCartVariantId;if(!t){console.debug("shogun: no current cart variant ID assigned, add-to-cart interception skipped");return}this.interceptCartAddRequests(t),typeof document<"u"&&document.readyState==="loading"?document.addEventListener("DOMContentLoaded",()=>{this.attachAddToCartHandler(t)}):setTimeout(()=>{this.attachAddToCartHandler(t)},100)}attachAddToCartHandler(t){this.addToCartHandlerAttached||(this.addToCartHandlerAttached=!0,console.debug("shogun: setting up add-to-cart interception with cart variant ID:",t),document.querySelectorAll('form[action="/cart/add"]').forEach(e=>{const i=document.createElement("input");i.name=E,i.value=t,i.type="hidden",e.appendChild(i)}))}interceptCartAddRequests(t){this.cartAddRequestInterceptionAttached||(this.cartAddRequestInterceptionAttached=!0,this.interceptFetchCartAdd(t),this.interceptXhrCartAdd(t))}interceptFetchCartAdd(t){if(typeof window>"u"||typeof window.fetch!="function")return;const e=window.fetch,i=this;window.fetch=function(n,s){try{const r=((s==null?void 0:s.method)??(n instanceof Request?n.method:"GET")).toUpperCase(),o=n instanceof Request?n.url:String(n);if(r==="POST"&&i.isCartAddUrl(o)&&(s==null?void 0:s.body)!=null){const d=i.withShogunVariantProperty(s.body,t);if(d!==null)return e.call(this,n,{...s,body:d})}}catch(r){console.debug("shogun: failed to inject cart variant into fetch cart add request:",r)}return e.call(this,n,s)}}interceptXhrCartAdd(t){if(typeof XMLHttpRequest>"u")return;const e=XMLHttpRequest.prototype.open,i=XMLHttpRequest.prototype.send,n=this;XMLHttpRequest.prototype.open=function(s,r,o=!0,d,u){return this.__shogunIsCartAdd=(s==null?void 0:s.toUpperCase())==="POST"&&n.isCartAddUrl(String(r)),e.call(this,s,r,o,d,u)},XMLHttpRequest.prototype.send=function(s){if(this.__shogunIsCartAdd&&s!=null&&!(s instanceof Document))try{const r=n.withShogunVariantProperty(s,t);if(r!==null)return i.call(this,r)}catch(r){console.debug("shogun: failed to inject cart variant into XHR cart add request:",r)}return i.call(this,s)}}isCartAddUrl(t){try{const e=new URL(t,window.location.origin);return e.origin===window.location.origin&&Q.test(e.pathname)}catch{return!1}}withShogunVariantProperty(t,e){return t instanceof FormData||t instanceof URLSearchParams?(t.has(E)||t.append(E,e),t):typeof t=="string"?this.withShogunVariantPropertyInString(t,e):null}withShogunVariantPropertyInString(t,e){try{const n=JSON.parse(t);return n&&typeof n=="object"&&!Array.isArray(n)?JSON.stringify(this.withShogunVariantPropertyInPayload(n,e)):null}catch{}if(!t.includes("="))return null;const i=new URLSearchParams(t);return i.has(E)||i.append(E,e),i.toString()}withShogunVariantPropertyInPayload(t,e){return Array.isArray(t.items)?{...t,items:t.items.map(i=>i&&typeof i=="object"?{...i,properties:this.withVariantProperty(i.properties,e)}:i)}:"id"in t?{...t,properties:this.withVariantProperty(t.properties,e)}:t}withVariantProperty(t,e){const i=t&&typeof t=="object"?t:{};return i[L]!=null?i:{...i,[L]:e}}}const S=class S{constructor(){a(this,"observer",null)}removePreviewBar(t){t instanceof Element&&t.matches(S.PREVIEW_BAR_IFRAME_SELECTOR)&&(console.debug(`shogun: Removing preview bar iframe with id: ${t.id}`),t.remove(),this.stop()),t.querySelectorAll(S.PREVIEW_BAR_IFRAME_SELECTOR).forEac
24h(e=>{console.debug(`shogun: Removing preview bar iframe with id: ${e.id}`),e.remove(),this.stop()})}run(){if(this.observer)return;const t=document.documentElement;t&&(this.observer=new MutationObserver(e=>{for(const i of e)for(const n of i.addedNodes)n instanceof Element&&this.removePreviewBar(n)}),this.observer.observe(t,{childList:!0,subtree:!0}),this.removePreviewBar(document))}stop(){var t;(t=this.observer)==null||t.disconnect(),this.observer=null}};a(S,"PREVIEW_BAR_IFRAME_SELECTOR","#preview-bar-iframe, #PBarNextFrameWrapper");let D=S;class et extends z{constructor(e,i,n){super(e,i,n);a(this,"addToCartFinalizer",null);a(this,"themePreviewFinalizer",null);this.buyItNowFinalizer=new k({currentCartVariantId:this.context.page.currentCartVariantId,shopDomain:this.context.shop.shopDomain,storefrontAccessToken:this.context.shop.storefrontAccessToken,lineItemLevelVariant:!0}),this.addToCartFinalizer=new tt({currentCartVariantId:this.context.page.currentCartVariantId})}get currentVariant(){const e=super.currentVariant;if(!e)return null;const i=e.config.theme_id;return i?i===this.context.page.themeId?e:null:e}dispatch(){var n;const e=new URL(window.location.href),i=(n=this.assignedVariant)==null?void 0:n.config.theme_id;i&&i!==this.context.page.themeId&&e.searchParams.set("preview_theme_id",i),this.dispatchCartAssignment(e)}finalize(){var e,i,n,s;(this.isEligible||this.inReview)&&((e=this.addToCartFinalizer)==null||e.run(),(i=this.buyItNowFinalizer)==null||i.run()),this.isOnAssignedVariant&&((n=this.assignedVariant)!=null&&n.config.theme_id)&&(this.themePreviewFinalizer||(this.themePreviewFinalizer=new D),(s=this.themePreviewFinalizer)==null||s.run())}}class it extends b{get currentVariant(){return this.variantForCurrentTemplate()}evaluateScopeEligibility(){const t=this.pagePartialTemplateKey();return{status:this.matchesCurrentTemplate()?"match":"no_match",expected:t,actual:t}}dispatch(){var i,n,s;const t=new URL(window.location.href),e=this.extractViewParamFromFullTemplateKey((i=this.assignedVariant)==null?void 0:i.config.full_template_key);if(!e)throw new Error(`Assigned variant does not have a valid viewParam for dispatching full_template_key: ${(n=this.assignedVariant)==null?void 0:n.config.full_template_key}, variant: ${(s=this.assignedVariant)==null?void 0:s.id}`);t.searchParams.set("view",e),console.debug("shogun: Dispatching template optimization by redirecting to ",t.toString()),this.redirect(t)}}class Y extends b{constructor(e,i,n){super(e,i,n);a(this,"themePreviewFinalizer",null);this.themePreviewFinalizer=new D}get currentVariant(){return this.variants.find(e=>e.config.theme_id===this.context.page.themeId)||null}evaluateScopeEligibility(){if(!this.originalVariant)return{status:"error",expected:void 0,actual:void 0,reason:"Original variant is missing"};const e=this.originalVariant.config.theme_id;return e?{status:e===this.context.page.themeId?"match":"no_match",expected:e,actual:this.context.page.themeId}:{status:"error",expected:void 0,actual:void 0,reason:"Original variant is missing theme_id in config"}}
24get needsDispatch(){return this.isEligible&&!this.isOnAssignedVariant&&this.isFirstView}async dispatch(){var i,n,s;const e=new URL(window.location.href);if((i=this.assignedVariant)!=null&&i.config.theme_id)e.searchParams.set("preview_theme_id",this.assignedVariant.config.theme_id),console.debug("shogun: Dispatching theme optimization by redirecting to ",e.toString()),this.redirect(e);else throw new Error(`Assigned variant does not have a valid theme_id for dispatching theme: ${(n=this.assignedVariant)==null?void 0:n.config.theme_id}, variant: ${(s=this.assignedVariant)==null?void 0:s.id}`)}finalize(){var e;this.isOnAssignedVariant&&((e=this.themePreviewFinalizer)==null||e.run())}}a(Y,"PREVIEW_BAR_IFRAME_IDS",["preview-bar-iframe","PBarNextFrameWrapper"]);class st extends b{get currentVariant(){const t=decodeURIComponent(this.getCurrentPathWithoutLanguagePrefix());return this.variants.find(e=>e.config.path===t)||null}evaluateScopeEligibility(){const t=this.variants.find(r=>r.config.original);if(!t)return{status:"error",expected:void 0,actual:void 0,reason:"Original variant is missing"};const e=t.config.path;if(!e)return{status:"error",expected:void 0,actual:void 0,reason:"Original variant is missing path in config"};if(new URL(window.location.href).searchParams.get("view"))return{status:"skipped",expected:void 0,actual:void 0,reason:"Visitor is likely previewing a template change from theme editor"};const n=this.getCurrentPathWithoutLanguagePrefix(),s=decodeURIComponent(n);return{status:decodeURIComponent(e)===s?"match":"no_match",expected:e,actual:s}}get needsDispatch(){return!this.assignedVariantId||!this.isEligible?!1:(console.debug("shogun: Checking if URL redirect optimization needs dispatch. isOnAssignedVariant:",this.isOnAssignedVariant,"isFirstView:",this.isFirstView,"permanentRedirect:",this.config.permanent_redirect),this.config.permanent_redirect===!0&&!this.isOnAssignedVariant||!this.isOnAssignedVariant&&this.isFirstView===!0)}dispatch(){var e,i,n,s,r;const t=new URL(window.location.href);if(!((e=this.assignedVariant)!=null&&e.config.path))throw new Error(`Assigned variant does not have a valid path for dispatching path: ${(i=this.assignedVariant)==null?void 0:i.config.path}, variant: ${(n=this.assignedVariant)==null?void 0:n.id}`);t.pathname=this.context.page.languageRootUrl!=="/"?this.context.page.languageRootUrl+((s=this.assignedVariant)==null?void 0:s.config.path):(r=this.assignedVariant)==null?void 0:r.config.path,console.debug("shogun: Dispatching url optimization by redirecting to ",t.toString()),this.redirect(t)}getCurrentPathWithoutLanguagePrefix(){return this.context.page.languageRootUrl==="/"||!this.context.page.path.startsWith(this.context.page.languageRootUrl)?this.context.page.path:this.context.page.path.replace(this.context.page.languageRootUrl,"")}}function j(c,t,e){switch(c.scope){case"page":return new X(c,t,e);case"template":return new it(c,t,e);case"theme":return new Y(c,t,e);case"url_redirect":return new st(c,t,e);case"price":return new J(c,t,e);case"product_details":return new Z(c,t,e);case"checkout":return new G(c,t,e);case"shipping":return new et(c,t,e);default:throw new Error(`Unsupported optimization scope: ${c.scope}`)}}class U{constructor(t){a(this,"visitorBin");this.visitorBin=t}getRandomVariantForVisitorBin(t){let e=null,i=0;for(const n of t)if(i+=x.DEFAULT_NUMBER_OF_BINS*this.trafficForVariant(n)/100,this.visitorBin<i){e=n;break}return e||null}trafficForVariant(t){return t.config.percentage||0}}const P=class P extends U{assign(t){var n,s;if(t.length===0)return null;const e=this.sortOptimizationsByPriority(t),i=e.find(r=>r.firstNonDefaultEligibleVariant!==null);return i?(i.assignedVariantId=(n=i.firstNonDefaultEligibleVariant)==null?void 0:n.id,i):(e[0].assignedVariantId=(s=e[0].originalVariant)==null?void 0:s.id,e[0])}sortOptimizationsByPriority(t){return t.sort((e,i)=>{const n=this.scopePriority(e.scope),s=this.scopePriority(i.scope);return n-s})}scopePriority(t){return P.SCOPE_PRIORITIES[t||"page"]??P.SCOPE_PRIORITIES.page}};a(P,"SCOPE_PRIORITIES",{theme:1,template:2,page:3,url_redirect:4,price:5,product_details:6,checkout:7,shipping:8});let M=P;class q extends U{assign(t){const e=t.filter(s=>s.isEligible);if(e.length===0)return null;const i=e[Math.floor(Math.random()*e.length)],n=this.getRandomVariantForVisitorBin(i.variants);return n?(i.assignedVariantId=n.id,i):null}}class nt extends U{assign(t){const e=t.flatMap(s=>s.variants),i=this.getRandomVariantForVisitorBin(e),n=t.find(s=>
24s.variants.some(r=>r.id===(i==null?void 0:i.id)))||null;return n&&i?(n.assignedVariantId=i.id,n):null}trafficForVariant(t){return t.traffic_percentage||0}}const y=class y{save(){if(!(typeof document>"u"||typeof sessionStorage>"u"))try{sessionStorage.setItem(y.STORAGE_KEY,document.referrer)}catch(t){console.debug("shogun: failed to persist retained referrer to sessionStorage"),console.error(t)}}restore(){if(typeof sessionStorage>"u")return typeof document<"u"&&document.referrer||null;const t=sessionStorage.getItem(y.STORAGE_KEY);return t===null?typeof document<"u"&&document.referrer||null:(this.overrideDocumentReferrer(t),t||null)}clear(){typeof sessionStorage>"u"||sessionStorage.removeItem(y.STORAGE_KEY)}overrideDocumentReferrer(t){if(!(typeof document>"u"))try{Object.defineProperty(document,"referrer",{configurable:!0,get:()=>t})}catch(e){console.debug("shogun: failed to set original referrer via `Object.defineProperty`"),console.error(e);try{window.document.__defineGetter__("referrer",()=>t)}catch(i){console.debug("shogun: failed to set original referrer via `__defineGetter__`"),console.error(i)}}}};a(y,"STORAGE_KEY","_shg_referrer");let $=y;const g=class g{constructor(t,e){a(this,"previewLinkHandlerAttached",!1);a(this,"_optimizationInReview");a(this,"optimizationResolved",!1);this.context=t,this.audienceEvaluator=e}get inReview(){return!!this.optimizationInReview}get optimizationInReview(){if(!this.optimizationResolved){const t=this.previewVariantId;this._optimizationInReview=t?j({id:"review-optimization",name:"Review Optimization",type:"review",scope:this.previewScope,state:"started",variants:[{id:t,name:"Preview Variant",optimization_id:"review-optimization",traffic_percentage:100,config:{original:!1,percentage:100}}],assignedVariantId:t},{page:this.context.page,shop:this.context.shop},this.audienceEvaluator):null,this.optimizationResolved=!0}return this._optimizationInReview||null}run(){const t=document.getElementById(g.PANEL_TEMPLATE_ID);if(!t){console.debug("shogun: sidebar not found!!!");return}const e=t.content.cloneNode(!0);this.attachPreviewLinkClickHandler();const i=()=>{document.body.style.paddingLeft="360px",document.body.style.paddingTop="50px",document.body.prepend(e),typeof window.restoreCollapsedState=="function"&&window.restoreCollapsedState(),typeof window.restoreDescriptionHeightState=="function"&&window.restoreDescriptionHeightState()};if(document.readyState==="loading"){document.addEventListener("DOMContentLoaded",i);return}i()}get previewVariantId(){const e=new URLSearchParams(window.location.search).get(g.REVIEW_OPTIMIZATION_VARIANT_ID_PARAM),i=window.sessionStorage.getItem(g.PREVIEW_VARIANT_ID_STORAGE_KEY);return e&&e!==i?(console.debug(`shogun: theme review in progress, setting variant: ${e}`),window.sessionStorage.setItem(g.PREVIEW_VARIANT_ID_STORAGE_KEY,e),e):(i&&console.debug(`shogun: theme review in progress, viewing variant: ${i}`),i)}get previewScope(){const e=new URLSearchParams(window.location.search).get(g.REVIEW_OPTIMIZATION_SCOPE_PARAM),i=window.sessionStorage.getItem(g.PREVIEW_OPTIMIZATION_SCOPE_STORAGE_KEY);return e&&e!==i?(console.debug(`shogun: theme review in progress, setting scope: ${e}`),window.sessionStorage.setItem(g.PREVIEW_OPTIMIZATION_SCOPE_STORAGE_KEY,e),e):i?(console.debug(`shogun: theme review in progress, using scope: ${i}`),i):g.DEFAULT_REVIEW_SCOPE}attachPreviewLinkClickHandler(){this.previewLinkHandlerAttached||(this.previewLinkHandlerAttached=!0,document.addEventListener("click",t=>{var s,r;const e=(r=(s=t.target).closest)==null?void 0:r.call(s,'a[id^="shg-preview-btn-"]'),i=e==null?void 0:e.dataset.variantId;if(!i)return;t.preventDefault();const n=new URLSearchParams(window.location.search);n.set(g.REVIEW_OPTIMIZATION_VARIANT_ID_PARAM,i),window.location.href=`${window.location.pathname}?${n.toString()}`}))}};a(g,"PANEL_TEMPLATE_ID","shogun-price-test-preview"),a(g,"PREVIEW_VARIANT_ID_STORAGE_KEY","_shg_preview_variant_id"),a(g,"PREVIEW_OPTIMIZATION_SCOPE_STORAGE_KEY","_shg_preview_optimization_scope"),a(g,"REVIEW_OPTIMIZATION_VARIANT_ID_PARAM","shgpvid"),a(g,"REVIEW_OPTIMIZATION_SCOPE_PARAM","shgsc"),a(g,"DEFAULT_REVIEW_SCOPE","product_details");let B=g;var rt=" daum[ /]| deusu/|(?:^|[^g])news(?!sapphire)|(?<! (?:channel/|google/))google(?!(app|/google| pixel))|(?<! cu)bots?(?:\\b|_)|(?<!(?:lib))http|(?<!cam)scan|24x7|@[a-z][\\w-]+\\.|\\(\\)|\\.com\\b|\\b\\w+\\.ai|\\bcursor/|\\bmanus-user/|\\bort/|\\bperl\\b|\\bplaywright\\b|\\bsecurityheaders\\b|\\bselenium\\b|\\btime/|\\||^[\\w \\.\\-\\(?:\\):%]+(?:/v?\\d+(?:\\.\\d+)?(?:\\.\\d{1,10})*?)?(?:,|$)|^[\\w\\-]+/[\\w]+$|^[^ ]{50,}$|^\\d+\\b|^\\W|^\\w*search\\b|^\\w+/[\\w\\(\\)]*$|^\\w+/\\d\\.\\d\\s\\([\\w@]+\\)$|^active|^ad muncher|^amaya|^apache/|^avsdevicesdk/|^azure|^biglotron|^bot|^bw/|^clamav[ /]|^claude-code/|^client/|^cobweb/|^custom|^ddg[_-]android|^discourse|^dispatch/\\d|^downcast/|^duckduckgo|^email|^facebook|^getright/|^gozilla/|^hobbit|^hotzonu|^hwcdn/|^igetter/|^jeode/|^jetty/|^jigsaw|^microsoft bits|^movabletype|^mozilla/\\d\\.\\d\\s[\\w\\.-]+$|^mozilla/\\d\\.\\d\\s\\((?:compatible;)?(?:\\s?[\\w\\d-.]+\\/\\d+\\.\\d+)?\\)$|^navermailapp|^netsurf|^offline|^openai/|^owler|^php|^postman|^python|^rank|^read|^reed|^rest|^rss|^snapchat|^space bison|^svn|^swcd |^taringa|^thumbor/|^track|^w3c|^webbandit/|^webcopier|^wget|^whatsapp|^wordpress|^xenu link sleuth|^yahoo|^yandex|^zdm/\\d|^zoom marketplace/|advisor|agent\\b|analyzer|archive|ask jeeves/teoma|audit|bit\\.ly/|bluecoat drtr|browsex|burpcollaborator|capture|catch|check\\b|checker|chrome-lighthouse|chromeframe|classifier|cloudflare|convertify|crawl|cypress/|dareboost|datanyze|dejaclick|detect|dmbrowser|download|exaleadcloudview|feed|fetcher|firephp|functionize|grab|headless|httrack|hubspot marketing grader|ibisbrowser|infrawatch|insight|inspect|iplabel|java(?!;)|library|linkcheck|mail\\.ru/|manager|measure|monitor\\b|neustar wpm|node\\b|nutch|offbyone|onetrust|optimize|pageburst|pagespeed|parser|phantomjs|pingdom|powermarks|preview|proxy|ptst[ /]\\d|retriever|rexx;|rigor|rss\\b|scrape|server|sogou|sparkler/|speedcurve|spider|splash|statuscake|supercleaner|synapse|synthetic|tools|torrent|transcoder|url|validator|virtuoso|wappalyzer|webglance|webkit2png|whatcms/|xtate/",at=/bot|crawl|http|lighthouse|scan|search|spider/i,A;function ot(){if(A instanceof RegExp)return A;try{A=new RegExp(rt,"i")}catch{A=at}return A}var ct=c=>typeof c=="string"&&c!=="";function dt(c){return ct(c)&&ot().test(c)}const m=class m{constructor(t){this.publishedOptimizationIds=t}get(t){const e=this.getState()[t];return!e||typeof e=="string"?void 0:{...e,state:e.state??"started"}}update(t){var n,s,r,o;
24if(t.type!=="ab_test"||t.inReview)return;console.debug(`shogun: Caching assignment for optimization: '${t.name}' (${t.id}) to variant: '${(n=t.assignedVariant)==null?void 0:n.name}' (${(s=t.assignedVariant)==null?void 0:s.id})'`);const e=this.getState(),i=t.state??"assigned";window.localStorage.setItem(m.STORAGE_KEY,JSON.stringify({...e,[t.id]:{variantId:t.assignedVariantId,themeId:(o=(r=t.assignedVariant)==null?void 0:r.config)==null?void 0:o.theme_id,state:i}}))}clearExpired(){if(!this.hasExpiredEntries())return!1;console.debug("shogun: clearing expired optimization state, redirecting to default theme");const t=new URL(window.location.href);return t.searchParams.set(m.PREVIEW_THEME_PARAM,""),window.localStorage.removeItem(m.STORAGE_KEY),window.location.replace(t.toString()),!0}hasExpiredEntries(){const t=Object.entries(this.getState()).filter(([e,i])=>typeof i=="string"?!0:!!i.themeId).map(([e])=>e);return t.length>0&&t.some(e=>!this.publishedOptimizationIds.includes(e))}getState(){try{const t=JSON.parse(window.localStorage.getItem(m.STORAGE_KEY)||"{}");return!t||typeof t!="object"||Array.isArray(t)?{}:t}catch{return{}}}};a(m,"STORAGE_KEY","_shg_ab_optimizations_cache"),a(m,"PREVIEW_THEME_PARAM","preview_theme_id");let H=m;class lt{constructor(t){a(this,"pixelTrackingStarted",!1);a(this,"assignedOptimization",null);a(this,"pageViewId",crypto.randomUUID());this.context=t}get storewideCollectionAllowed(){return this.assignedOptimization||this.context.publishedOptimizations.some(t=>t.type==="ab_test")?!0:!!this.context.shop.storewideEventCollection}async track(t,e,i){var s,r;if(e!=null&&e.inReview)return;console.debug(`shogun: tracking event '${t}' for optimization '${(e==null?void 0:e.name)||"none"}' (${(e==null?void 0:e.id)||"none"}) ${i!=null&&i.reason?`with reason '${i.reason}'`:""}`),this.assignedOptimization=e??this.assignedOptimization,(t=="started"||t=="viewed"||t=="skipped")&&this.startPixelTracking();const n=(s=window.Shopify)==null?void 0:s.customerPrivacy;try{await fetch(`${this.context.shop.analyticsUrl}/dispatcher/${t}`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({name:t,shop_id:this.context.shop.shopId,pageview_id:this.pageViewId,session_id:this.context.visitor.sessionId,visitor_id:this.context.visitor.id,optimization_id:e==null?void 0:e.id,variant_id:(r=e==null?void 0:e.assignedVariant)==null?void 0:r.id,details:{optimization_ids:this.context.publishedOptimizations.map(o=>o.id),distribution_method:this.context.assignmentStrategy,context:this.context.page,optimizations:this.context.publishedOptimizations.map(o=>({id:o.id,assigned_variant_id:o.assignedVariantId,first_assignment:o.isFirstAssignment,eligibility:o.eligibility})),consented:(n==null?void 0:n.analyticsProcessingAllowed())??!1,consent_api:n?"available":"unavailable",...i}}),keepalive:!0})}catch(o){console.error("shogun: failed to send tracking event",o)}}async startPixelTracking(){var i,n,s,r,o;
24if(console.debug("shogun: attempting to start pixel tracking for optimizations"),this.pixelTrackingStarted)return;if(!this.storewideCollectionAllowed){console.debug("shogun: no optimization assigned and store-wide event collection is disabled, skipping pixel tracking");return}const t=await this.getCustomerPrivacy(),e=await this.getAnalytics();if(t.analyticsProcessingAllowed()||(console.debug("shogun: Visitor has not consented to tracking, unable to start pixel tracking for optimizations, waiting for consent..."),await this.waitForConsent(t),this.track("consented")),!(e!=null&&e.publish)){console.debug("shogun: Shopify analytics object is not available, unable to start pixel tracking for optimizations");return}this.pixelTrackingStarted=!0,console.debug("shogun: Visitor has consented to tracking, starting pixel tracking for optimizations"),e.publish("shogun:load",{app_type:((i=this.assignedOptimization)==null?void 0:i.type)=="personalization"?"personalization":"ab_testing",page_type:this.context.page.pageType,page_id:this.context.page.pageId,optimization_id:((n=this.assignedOptimization)==null?void 0:n.id)??null,variant_id:((r=(s=this.assignedOptimization)==null?void 0:s.assignedVariant)==null?void 0:r.id)??null,on_assigned_variant:((o=this.assignedOptimization)==null?void 0:o.isOnAssignedVariant)??!1,session_id:this.context.visitor.sessionId,visitor_id:this.context.visitor.id,pageview_id:this.pageViewId,original_referrer:this.context.originalReferrer})}async getShopify(){return this.until(()=>window.Shopify,"Timed out waiting for Shopify API")}
24async getAnalytics(){const t=await this.getShopify();return this.until(()=>{const e=t.analytics;return e!=null&&e.publish?e:void 0},"Timed out waiting for Shopify analytics API")}async getCustomerPrivacy(){const t=await this.getShopify();return t!=null&&t.customerPrivacy?t.customerPrivacy:(await this.loadConsentTrackingApi(),this.until(()=>{var e;return(e=window.Shopify)==null?void 0:e.customerPrivacy},"Timed out waiting for Shopify customerPrivacy API"))}loadConsentTrackingApi(){return new Promise((t,e)=>{const i=window.Shopify;if(!(i!=null&&i.loadFeatures)){e(new Error("Shopify.loadFeatures is not available"));return}i.loadFeatures([{name:"consent-tracking-api",version:"0.1"}],n=>{n&&n.length>0?e(n[0]):t()})})}waitForConsent(t){return t.analyticsProcessingAllowed()?Promise.resolve():new Promise((e,i)=>{let n=!1;const s=()=>{document.removeEventListener("visitorConsentCollected",r)},r=()=>{n=t.analyticsProcessingAllowed()};document.addEventListener("visitorConsentCollected",r),this.until(()=>n?!0:void 0,"Timed out waiting for user consent").then(()=>{s(),e()}).catch(o=>{s(),i(o)})})}until(t,e,{intervalMs:i=250,timeoutMs:n=15e3}={}){return new Promise((s,r)=>{const o=t();if(o){s(o);return}const d=Date.now(),u=window.setInterval(()=>{const h=t();if(h){window.clearInterval(u),s(h);return}Date.now()-d>n&&(window.clearInterval(u),r(new Error(e)))},i)})}}const T=class T{constructor(t){a(this,"visitor");a(this,"audienceEvaluator");a(this,"retainedReferrer");a(this,"originalReferrer");a(this,"optimizationReview");a(this,"optimizationCache");a(this,"tracker");a(this,"_publishedOptimizations");a(this,"_assignedOptimization");this.context=t,this.retainedReferrer=new $,this.originalReferrer=this.retainedReferrer.restore(),this.visitor=new x(t.session),this.optimizationCache=new H(t.publishedOptimizations.map(e=>e.id)),this.audienceEvaluator=new v(this.visitor,t.shop.geoLocationApi),this.optimizationReview=new B(t,this.audienceEvaluator)}get publishedOptimizations(){return this._publishedOptimizations||(this._publishedOptimizations=this.context.publishedOptimizations.map(t=>{var s,r;const e=this.optimizationCache.get(t.id),i=(e==null?void 0:e.variantId)||t.assignedVariantId,n=(e==null?void 0:e.state)||t.state;if(i){const o=((r=(s=t.variants)==null?void 0:s.find(d=>d.id===i))==null?void 0:r.name)||i;console.debug(`shogun: Found cached optimization for optimization: '${t.name}' (${t.id}), with variant: '${o}' (${i})`)}return j({...t,assignedVariantId:i,state:n},{page:this.context.page,shop:this.context.shop},this.audienceEvaluator)})),this._publishedOptimizations}get abTestStrategy(){switch(this.context.assignmentStrategy){case"greedy":return new q(this.visitor.bin);case"even":return new nt(this.visitor.bin);default:return new q(this.visitor.bin)}}get personalizationStrategy(){return new M(this.visitor.bin)}get assignedOptimization(){return this._assignedOptimization===void 0&&(this._assignedOptimization=this.optimizationReview.optimizationInReview||this.previouslyAssignedOptimization||this.abTestStrategy.assign(this.publishedOptimizations.filter(t=>t.type==="ab_test"))||this.personalizationStrategy.assign(this.publishedOptimizations.filter(t=>t.type==="personalization"))||null),this._assignedOptimization}get previouslyAssignedOptimization(){return this.publishedOptimizations.find(t=>t.assignedVariantId!==void 0)||null}get isBot(){return dt(navigator.userAgent)}get dispatchAttempts(){return Number(sessionStorage.getItem("_shg_dispatch_attempts")||"0")}get trackingService(){return this.tracker||(this.tracker=new lt({shop:this.context.shop,page:this.context.page,visitor:this.visitor,assignmentStrategy:this.context.assignmentStrategy,publishedOptimizations:this.publishedOptimizations,originalReferrer:this.originalReferrer})),this.tracker}get isThemePreview(){var i,n,s;if(this.optimizationReview.inReview)return!1;const t=this.context.page.themeId!=this.context.shop.defaultThemeId,e=(s=(n=(i=this.previouslyAssignedOptimization)==null?void 0:i.assignedVariant)==null?void 0:n.config)==null?void 0:s.theme_id;return t&&(e===void 0||e!==this.context.page.themeId)}set dispatchAttempts(t){sessionStorage.setItem("_shg_dispatch_attempts",t.toString())}run(){var t,e,i,n;try{if(this.isBot){console.debug("shogun: Visitor identified as bot, skipping optimization assignment and execution.");return}if(this.dispatchAttempts>=T.MAX_DISPATCH_ATTEMPTS)throw new Error(`Maximum dispatch attempts of ${T.MAX_DISPATCH_ATTEMPTS} exceeded. Possible redirect loop detected.`);if(this.optimizationCache.clearExpired())return;if(this.isThemePreview){console.debug("shogun: Visitor identified as theme preview, skipping optimization assignment and execution.");return}this.publishedOptimizations.forEach(r=>
24r.evaluateEligibility()),console.debug(`shogun: Running dispatcher with ${this.publishedOptimizations.length} published optimizations (${this.publishedOptimizations.map(r=>r.name).join(", ")})`);const s=this.assignedOptimization;if(s){if(this.optimizationCache.update(s),s.isFirstAssignment&&this.trackingService.track("assigned",s),s.needsDispatch){console.debug(`shogun: Dispatching optimization: ${s.name} (${s.id}) with variant: ${(t=s.assignedVariant)==null?void 0:t.name} (${(e=s.assignedVariant)==null?void 0:e.id}) [attempt ${this.dispatchAttempts+1}]`),this.dispatchAttempts==0&&this.retainedReferrer.save(),this.trackingService.track("dispatched",s),this.dispatchAttempts=this.dispatchAttempts+1,s.dispatch();return}console.debug(`shogun: Running optimization: '${s.name}' (${s.id}) with variant: '${(i=s.assignedVariant)==null?void 0:i.name}' (${(n=s.assignedVariant)==null?void 0:n.id})`),s.inReview?(console.debug("shogun: Optimization is in review, running optimization review flow for optimization"),this.optimizationReview.run()):s.isFirstView?(console.debug("shogun: This is the first view for this optimization, tracking started event."),s.state="started",this.optimizationCache.update(s),this.trackingService.track("started",s)):s.isOnAssignedVariant?(console.debug("shogun: This is not the first view for this optimization, tracking viewed event."),this.trackingService.track("viewed",s)):(console.debug("shogun: Visitor is not eligible for the assigned optimization, skipping view tracking and finalization."),this.trackingService.track("skipped",s,{reason:"not_eligible"})),s.finalize(),this.dispatchAttempts=0}else console.debug("shogun: No optimization assigned to this visitor."),this.trackingService.track("skipped",void 0,{reason:"no_assigned_variant"});this.retainedReferrer.clear()}catch(s){console.error("shogun: Error running optimizations",s),this.trackingService.track("errored",void 0,{error:s
24instanceof Error?{message:s.message,stack:s.stack}:String(s)}),this.retainedReferrer.clear()}}};a(T,"MAX_DISPATCH_ATTEMPTS",5);let K=T;window.ShogunDispatcher=K})(); 25 26})(); 27 28</script>
28<script type="text/javascript"> 29 ;(function() { 30 const designMode = false; 31 if (designMode) { 32 console.debug("shogun: Design mode is enabled, skipping optimizer initialization"); 33 return; 34 } 35 36 // If the referrer url is the Shopify admin url or other known merchant domains, then set a local storage shg_is_merchant flag to true 37 // This is used to remove the preview bar from the page for shoppers 38 const referrer = document.referrer 39 const merchantDomains = ['admin.shopify.com', 'ab.shgapi.com', 'abc.shogun.dev'] 40 if (!localStorage.getItem('_shg_is_merchant') && merchantDomains.some(domain => referrer.includes(domain))) { 41 console.debug('shogun: Setting shg_is_merchant to true') 42 localStorage.setItem('_shg_is_merchant', 'true') 43 } 44 45 // Check for optimization disable flags 46 const urlParams = new URLSearchParams(window.location.search); 47 const optimizationDisabled = urlParams.get('shg') === "false" || window.location.hostname.includes('shopifypreview'); 48 49 if (optimizationDisabled) { 50 console.debug("shogun: Optimization is disabled, skipping optimizer initialization"); 51 return; 52 } 53 54 // Load shop metafield configuration 55 56 const shopMetafieldConfig = {"default_theme_id":187996635455,"method":"greedy","optimizations":[],"expires_at":1787110802000,"env":"production"}; 57 58 if (!shopMetafieldConfig) { 59 console.debug("shogun: Shop metafield configuration for optimizations is missing. Skipping optimizer initialization."); 60 return; 61 } 62 63 const optimizationsData = shopMetafieldConfig.expires_at > Date.now() ? (shopMetafieldConfig.optimizations || []) : []; 64 65 // These ID should match. It is possible for them to be different if a theme is copied from a different shop. 66 const intendedShopifyId = "71962493247"; // The hard coded shopify ID when this snippet was pushed to the theme. 67 const currentShopifyId = "71962493247"; // The current shopify ID that this theme is rendered in. 68 if (intendedShopifyId !== currentShopifyId) { 69 console.debug(`shogun: Shopify ID mismatch: intendedShopifyId=${intendedShopifyId} currentShopifyId=${currentShopifyId}. This may indicate the theme was copied from another shop and not properly set up. Skipping optimizer initialization to avoid potential issues.`); 70 return; 71 } else { 72 console.debug(`shogun: Shopify ID verified: ${intendedShopifyId}`); 73 } 74 75 76 if (typeof ShogunDispatcher === 'undefined') { 77 console.error("shogun: Dispatcher is not defined. Please ensure the shogun optimizer script is properly loaded."); 78 return; 79 } 80 81 const dispatcherConfig = { 82 shop: { 83 shopId: "0de79a14-990d-436b-8e38-e37c901be7b6", 84 shopDomain: "formen-healt.myshopify.com", 85 analyticsUrl: "https://shogun-abc-production.global.ssl.fastly.net", 86 geoLocationApi: "https://ipinfo.io/json?token=f2ae3a557d807b", 87 storefrontAccessToken: "ca76d1634cd0c71c7e9bc46e942c0ac5", 88 defaultThemeId: shopMetafieldConfig.default_theme_id ? shopMetafieldConfig.default_theme_id.toString() : null, 89 storewideEventCollection: true, 90 }, 91 page: { 92 pageId: "", 93 pageType: "search", 94 templateName: "search", 95 templateSuffix: "", 96 templateDirectory: "", 97 themeId: "187996635455", 98 languageRootUrl: "/", 99 path: window.location.pathname, 100 currentCartVariantId: null, 101 }, 102 session: { 103 sessionId: urlParams.get('shgSessionId'), 104 customerId: "", 105 isB2B: false, 106 }, 107 assignmentStrategy: shopMetafieldConfig.method, 108 publishedOptimizations: optimizationsData 109 } 110 111 console.debug("shogun: Initializing ShogunOptimizer v2"); 112 const dispatcher = new ShogunDispatcher(dispatcherConfig); 113 dispatcher.run(); 114 115 })(); 116 117</script>
117 118 119
119<script>/* start spd config */window._spt_delay_keywords=["/gtag/js,gtag(,/checkouts,/tiktok-track.js,/hotjar-,/smile-,/adoric.js,/wpm/,fbq("];/* end spd config */</script>
119 120 121
122<script> 123 124window.merchantInfo = { 125 mid: "19g6iley2390p", 126 environment: "production", 127 type: "merchantInfo", 128 storeId: "71962493247", 129 fbpixel: "485590176461647", 130 } 131var productFormSelector = ''; 132var cart = {"note":null,"attributes":{},"original_total_price":0,"total_price":0,"total_discount":0,"total_weight":0.0,"item_count":0,"items":[],"requires_shipping":false,"currency":"INR","items_subtotal_price":0,"cart_level_discount_applications":[],"checkout_charge_amount":0} 133var templateName = 'search' 134</script>
134 135
136<script src="https://pdp.gokwik.co/merchant-integration/build/merchant.integration.js?v4" async defer></script>
vendor: 1 bytes, line 136
136
137<script src="https://analytics.gokwik.co/analytics.js" id="gokwikHeaderAnalytics" async defer></script>
137 138
139<script src="https://cdnjs.cloudflare.com/ajax/libs/crypto-js/4.1.1/crypto-js.min.js" integrity="sha512-E8QSvWZ0eCLGk4km3hxSsNmGWbLtSCSUcewDQPQWZF6pEU8GlT8a5fF32wOl1i8ftdMhssTrF/OhyGWwonTcXA==" crossorigin="anonymous" referrerpolicy="no-referrer" async defer></script>
vendor: 1 bytes, line 139
139
140<script> 141function setCookie(c_name, value, exdays) { 142 var exdate = new Date(); 143 exdate.setDate(exdate.getDate() + exdays); 144 var c_value = escape(value) + ((exdays == null) ? "" : "; expires=" + exdate.toUTCString()); 145 document.cookie = c_name + "=" + c_value; 146 } 147document.addEventListener('UFE_CHECKOUT_FINALIZED', (event) => { 148 149 const { detail: UFEcheckoutInfo } = event || {}; 150 const { checkout, acknowledge } = UFEcheckoutInfo || {}; 151 152 153 154 let decryptedResponse = CryptoJS.AES.decrypt(checkout, 'nftvn-VpLSy-WJqIq-pXlvn-qlBOR-iWPPx'); 155 156 decryptedResponse = JSON.parse(decryptedResponse.toString(CryptoJS.enc.Utf8)); 157 158 const { discountCode, line_items, currency, notes } = decryptedResponse || {}; 159 160 setCookie('discount_code', discountCode, 1); 161 //if (acknowledge && typeof acknowledge === 'function') acknowledge(); 162 163}); 164 165</script>
165 166 167
167<script> 168 let targetNode = document.querySelector('html') 169 let gkButtonCode = '<div class="gokwik-checkout" ><button type="button" class="btn-theme" style="background-color:#263276" onclick="onCheckoutClick(this)"><span class="btn-text"><span>Place Order</span><span></span></span><span class="pay-opt-icon"><img src="https://cdn.gokwik.co/v4/images/upi-icons.svg" alt="Formen Health"><img src="https://cdn.gokwik.co/v4/images/right-arrow.svg" alt="Formen Health"></span><div style="display:none"><div class="cir-loader">Loading..</div></div></button></div>' 170 let buttonAdded = false 171 let parsedBtnCode = new DOMParser().parseFromString(gkButtonCode, 'text/html').querySelectorAll('.gokwik-checkout')[0]; 172 173 const sideCartCallback = function(mutationList){ 174 mutationList.forEach((mutation) => { 175 let sidecart = document.querySelector('#monster-cart-wrapper'); 176 let sideCartButtonParent = document.querySelector('.mu-subtotal'); 177 178 mutation.addedNodes.forEach((added_node) => { 179 if(sidecart){ 180 let buttonAdded = sideCartButtonParent && sideCartButtonParent.nextElementSibling && sideCartButtonParent.nextElementSibling.classList.contains('gokwik-checkout'); 181 182 if(sideCartButtonParent && !buttonAdded){ 183 buttonAdded = true 184 sideCartButtonParent.after(parsedBtnCode) 185 } 186 } 187 }) 188 }) 189 } 190 const config = { attributes: true, childList: true, subtree: true }; 191 192 193 const customBtn = new MutationObserver(sideCartCallback) 194 customBtn.observe(targetNode, config) 195</script>
195
196<script> 197document.addEventListener('click', function(e) { 198 const btn = e.target.closest('.gokwik-checkout button'); 199 if (btn) { 200 console.log('Checkout Started'); 201 if (typeof posthog !== 'undefined') { 202 posthog.capture('Checkout started'); 203 } 204 } 205}); 206</script>
206 207<style> 208 209.gokwik-checkout { 210 width: 100%; 211 display: flex; 212 justify-content: center; 213 flex-direction: column; 214 align-items: end; 215 margin-bottom: 10px; 216} 217.gokwik-checkout button { 218 max-width:100%; 219 width: 100%; 220 border: none; 221 display: flex; 222 justify-content: center; 223 align-items: center; 224 background: #263276; 225 position: relative; 226 margin: 0; 227 padding: 5px 10px; 228 height:48.5px; 229} 230 .creditsyard-apply-credit-button{ 231 display:none!important; 232 } 233 .creditsyard-floating-widget{ 234 display:none!important; 235 } 236#gokwik-buy-now.disabled, .gokwik-disabled{ 237 opacity:0.5; 238 cursor: not-allowed; 239 } 240 .gokwik-checkout button:focus { 241 outline: none; 242} 243.gokwik-checkout button > span { 244 display: flex; 245} 246.gokwik-checkout button > span.btn-text { 247 display: flex; 248 flex-direction: column; 249 color: #ffffff; 250 align-items: flex-start; 251} 252.gokwik-checkout button > span.btn-text > span:last-child { 253 padding-top: 2px; 254 font-size: 10px; 255 line-height: 10px; 256 text-transform: initial; 257} 258.gokwik-checkout button > span.btn-text > span:first-child { 259 font-size: 15px; 260} 261.gokwik-checkout button > span.pay-opt-icon img:first-child { 262 margin-right: 10px; 263 margin-left: 10px; 264} 265 266 #mu-checkout-button{ 267 display:none!important; 268 } 269 270 .monster_upsell_cart___25Ft7{ 271 position:relative; 272 z-index:10!important; 273 274 } 275 .monster_upsell_overlay___3sEH4{ 276 visibility: hidden!important; 277 } 278 279 280 281/* Additional */ 282div#buy-price { 283 display: none; 284} 285@media (max-width: 768px) { 286 .gokwik-checkout button { 287 height:40.5px!important; 288 } 289 /*#gokwik-buy-now { 290 width: 50%!important; 291 margin-top: 0px!important; 292 }*/ 293 button.newbuyonchat#gokwik-buy-now { 294 width: 100%!important; 295 } 296} 297 298 299 300 301 #gokwik-buy-now { 302 background: #263276; 303 width: 100%; 304 color: #ffffff; 305 cursor: pointer; 306 line-height: 1; 307 border: none; 308 padding: 15px 10px; 309 font-size:18px; 310 /*margin-top: 10px;*/ 311 text-transform:capitalize; 312 position:relative; 313 height:54px; 314 border-radius:32px; 315 } 316 317/* Loader CSS */ 318 #btn-loader{ 319 display: none; 320 position: absolute; 321 top: 0; 322 bottom: 0; 323 left: 0; 324 right: 0; 325 justify-content: center; 326 align-items: center; 327 background:#263276; 328 border-radius:2.5rem; 329 330 } 331 332.cir-loader, 333.cir-loader:after { 334 border-radius: 50%; 335 width: 35px; 336 height: 35px; 337} 338.cir-loader { 339 margin: 6px auto; 340 font-size: 10px; 341 position: relative; 342 text-indent: -9999em; 343 border-top: 0.5em solid rgba(255, 255, 255, 0.2); 344 border-right: 0.5em solid rgba(255, 255, 255, 0.2); 345 border-bottom: 0.5em solid rgba(255, 255, 255, 0.2); 346 border-left: 0.5em solid #ffffff; 347 -webkit-transform: translateZ(0); 348 -ms-transform: translateZ(0); 349 transform: translateZ(0); 350 -webkit-animation: load8 1.1s infinite linear; 351 animation: load8 1.1s infinite linear; 352} 353@-webkit-keyframes load8 { 354 0% { 355 -webkit-transform: rotate(0deg); 356 transform: rotate(0deg); 357 } 358 100% { 359 -webkit-transform: rotate(360deg); 360 transform: rotate(360deg); 361 } 362} 363@keyframes load8 { 364 0% { 365 -webkit-transform: rotate(0deg); 366 transform: rotate(0deg); 367 } 368 100% { 369 -webkit-transform: rotate(360deg); 370 transform: rotate(360deg); 371 } 372} 373</style> 374 375 376 <meta charset="utf-8"> 377 <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"> 378 <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0,user-scalable=0"> 379 <meta name="theme-color" content="#263276"> 380 381 <link rel="preload" as="script" href="//www.formen.co.in/cdn/shop/t/42/assets/theme.js?v=42447703859212101251786969194"> 382 <link rel="preconnect" href="https://cdn.shopify.com" crossorigin> 383 <link rel="preconnect" href="https://fonts.shopifycdn.com" crossorigin> 384 <link rel="dns-prefetch" href="https://productreviews.shopifycdn.com"> 385 <link rel="dns-prefetch" href="https://ajax.googleapis.com"> 386 <link rel="dns-prefetch" href="https://maps.googleapis.com"> 387 <link rel="dns-prefetch" href="https://maps.gstatic.com"> 388 <link rel="stylesheet" href="//www.formen.co.in/cdn/shop/t/42/assets/font-awesome.min.css?v=30322945690280098421786969194" media="print" onload="this.media='all'"><link rel="shortcut icon" href="//www.formen.co.in/cdn/shop/files/favicon_32x32.png?v=1676634191" type="image/png" /> 389<title>Search 390 – ForMen Shop 391</title><meta name="description" content="Shop ForMen for hair, grooming, daily supplements and personal essentials. Discreet delivery across India. Extra 5% off prepaid orders above â¹799."> 392 393 <link rel="canonical" href="https://www.formen.co.in/search"> 394 395
396 397 <meta property="og:site_name" content="ForMen Shop"> 398 <meta property="og:url" content="https://www.formen.co.in/search"> 399 <meta property="og:title" content="Search"> 400 <meta property="og:type" content="website"> 401 <meta property="og:description" content="Shop ForMen for hair, grooming, daily supplements and personal essentials. Discreet delivery across India. Extra 5% off prepaid orders above â¹799."><meta property="og:image" content="http://www.formen.co.in/cdn/shop/files/SEO_Image.png?v=1726468562"> 402 <meta property="og:image:secure_url" content="https://www.formen.co.in/cdn/shop/files/SEO_Image.png?v=1726468562"> 403 <meta property="og:image:width" content="1200"> 404 <meta property="og:image:height" content="628"><meta name="twitter:site" content="@getformen"> 405 <meta name="twitter:card" content="summary_large_image"> 406 <meta name="twitter:title" content="Search"> 407 <meta name="twitter:description" content="Shop ForMen for hair, grooming, daily supplements and personal essentials. Discreet delivery across India. Extra 5% off prepaid orders above â¹799."> 408<style data-shopify>@font-face { 409 font-family: "Josefin Sans"; 410 font-weight: 400; 411 font-style: normal; 412 font-display: swap; 413 src: url("//www.formen.co.in/cdn/fonts/josefin_sans/josefinsans_n4.70f7efd699799949e6d9f99bc20843a2c86a2e0f.woff2") format("woff2"), 414 url("//www.formen.co.in/cdn/fonts/josefin_sans/josefinsans_n4.35d308a1bdf56e5556bc2ac79702c721e4e2e983.woff") format("woff"); 415} 416 417 @font-face { 418 font-family: Roboto; 419 font-weight: 400; 420 font-style: normal; 421 font-display: swap; 422 src: url("//www.formen.co.in/cdn/fonts/roboto/roboto_n4.2019d890f07b1852f56ce63ba45b2db45d852cba.woff2") format("woff2"), 423 url("//www.formen.co.in/cdn/fonts/roboto/roboto_n4.238690e0007583582327135619c5f7971652fa9d.woff") format("woff"); 424} 425 426 @font-face { 427 font-family: Roboto; 428 font-weight: 600; 429 font-style: normal; 430 font-display: swap; 431 src: url("//www.formen.co.in/cdn/fonts/roboto/roboto_n6.3d305d5382545b48404c304160aadee38c90ef9d.woff2") format("woff2"), 432 url("//www.formen.co.in/cdn/fonts/roboto/roboto_n6.bb37be020157f87e181e5489d5e9137ad60c47a2.woff") format("woff"); 433} 434 435 @font-face { 436 font-family: Roboto; 437 font-weight: 400; 438 font-style: italic; 439 font-display: swap; 440 src: url("//www.formen.co.in/cdn/fonts/roboto/roboto_i4.57ce898ccda22ee84f49e6b57ae302250655e2d4.woff2") format("woff2"), 441 url("//www.formen.co.in/cdn/fonts/roboto/roboto_i4.b21f3bd061cbcb83b824ae8c7671a82587b264bf.woff") format("woff"); 442} 443 444 @font-face { 445 font-family: Roboto; 446 font-weight: 600; 447 font-style: italic; 448 font-display: swap; 449 src: url("//www.formen.co.in/cdn/fonts/roboto/roboto_i6.ebd6b6733fb2b030d60cbf61316511a7ffd82fb3.woff2") format("woff2"), 450 url("//www.formen.co.in/cdn/fonts/roboto/roboto_i6.1363905a6d5249605bc5e0f859663ffe95ac3bed.woff") format("woff"); 451} 452 453</style><link href="//www.formen.co.in/cdn/shop/t/42/assets/theme.css?v=31272331237025080231787896277" rel="stylesheet" type="text/css" media="all" /> 454 455 <link href="//www.formen.co.in/cdn/shop/t/42/assets/magnific-popup.css?v=51212572309239219061786969194" rel="stylesheet" type="text/css" media="all" /> 456 <link href="//www.formen.co.in/cdn/shop/t/42/assets/slick.css?v=35107989112814935041786969194" rel="stylesheet" type="text/css" media="all" /> 457 <link href="//www.formen.co.in/cdn/shop/t/42/assets/slick-theme.css?v=32799735090370270431786969194" rel="stylesheet" type="text/css" media="all" /> 458 <link href="//www.formen.co.in/cdn/shop/t/42/assets/swiper-bundle.min.css?v=85123870407019881701786969194" rel="stylesheet" type="text/css" media="all" /> 459 460 461 462 <link href="//www.formen.co.in/cdn/shop/t/42/assets/common-style-min.css?v=103435423497380519581787399343" rel="stylesheet" type="text/css" media="all" /> 463 464 465 466 467 468 <style data-shopify>:root { 469 --typeHeaderPrimary: "Josefin Sans"; 470 --typeHeaderFallback: sans-serif; 471 --typeHeaderSize: 36px; 472 --typeHeaderWeight: 400; 473 --typeHeaderLineHeight: 1.1; 474 --typeHeaderSpacing: 0.0em; 475 476 --typeBasePrimary:Roboto; 477 --typeBaseFallback:sans-serif; 478 --typeBaseSize: 15px; 479 --typeBaseWeight: 400; 480 --typeBaseSpacing: 0.05em; 481 --typeBaseLineHeight: 1.6; 482 483 --colorSmallImageBg: #ffffff; 484 --colorSmallImageBgDark: #f7f7f7; 485 --colorLargeImageBg: #0f0f0f; 486 --colorLargeImageBgLight: #303030; 487 488 --iconWeight: 4px; 489 --iconLinecaps: miter; 490 491 492 --buttonRadius: 0px; 493 --btnPadding: 11px 20px; 494 495 496 497 --roundness: 0px; 498 499 500 501 --gridThickness: 0px; 502 503 504 --productTileMargin: 10%; 505 --collectionTileMargin: 15%; 506 507 --swatchSize: 40px; 508 } 509 510 @media screen and (max-width: 768px) { 511 :root { 512 --typeBaseSize: 13px; 513 514 515 --roundness: 0px; 516 --btnPadding: 9px 17px; 517 518 } 519 }</style>
519<script> 520 document.documentElement.className = document.documentElement.className.replace('no-js', 'js'); 521 522 window.theme = window.theme || {}; 523 theme.routes = { 524 home: "/", 525 collections: "/collections", 526 cart: "/cart.js", 527 cartPage: "/cart", 528 cartAdd: "/cart/add.js", 529 cartChange: "/cart/change.js", 530 search: "/search" 531 }; 532 533 theme.strings = { 534 soldOut: "Sold Out", 535 unavailable: "Unavailable", 536 inStockLabel: "In stock, ready to ship", 537 oneStockLabel: "Low stock - [count] item left", 538 otherStockLabel: "Low stock - [count] items left", 539 willNotShipUntil: "Ready to ship [date]", 540 willBeInStockAfter: "Back in stock [date]", 541 waitingForStock: "Inventory on the way", 542 savePrice: "[saved_amount] OFF", 543 cartEmpty: "Your cart is currently empty.", 544 cartTermsConfirmation: "You must agree with the terms and conditions of sales to check out", 545 searchCollections: "Collections:", 546 searchPages: "Pages:", 547 searchArticles: "Articles:", 548 maxQuantity: "You can only have [quantity] of [title] in your cart." 549 }; 550 theme.settings = { 551 cartType: "page", 552 isCustomerTemplate: false, 553 moneyFormat: "â¹{{amount}}", 554 saveType: "percent", 555 productImageSize: "square", 556 productImageCover: false, 557 predictiveSearch: true, 558 predictiveSearchType: "product,article", 559 superScriptSetting: true, 560 superScriptPrice: true, 561 quickView: true, 562 quickAdd: true, 563 themeName: 'Expanse', 564 themeVersion: "4.2.0" 565 }; 566 </script>
566 567 568
568<script>window.performance && window.performance.mark && window.performance.mark('shopify.content_for_header.start');</script>
568<meta name="google-site-verification" content="v46uFoiwn59yRaeEQCAKFEYoj26puq0vAyKxqtTU_yA"> 569<meta id="shopify-digital-wallet" name="shopify-digital-wallet" content="/71962493247/digital_wallets/dialog"> 570<link rel="ucp" href="/.well-known/ucp" version="2026-08-25"><link rel="alternate" hreflang="x-default" href="https://www.formen.co.in/search"> 571<link rel="alternate" hreflang="en" href="https://www.formen.co.in/search"> 572<link rel="alternate" hreflang="hi" href="https://www.formen.co.in/hi/search">
573<script async="async" src="/checkouts/internal/preloads.js?locale=en-IN"></script>
vendor: 1 bytes, line 573
573
574<script id="shopify-features" type="application/json">{"accessToken":"7bcc76b80e9cd25ad68e2c664f54d6b6","betas":["rich-media-storefront-analytics"],"domain":"www.formen.co.in","predictiveSearch":true,"shopId":71962493247,"locale":"en"}</script>
vendor: 1 bytes, line 574
574
575<script>var Shopify = Shopify || {}; 576Shopify.shop = "formen-healt.myshopify.com"; 577Shopify.locale = "en"; 578Shopify.currency = {"active":"INR","rate":"1.0"}; 579Shopify.country = "IN"; 580Shopify.theme = {"name":"Formen AUG19-2026 [Header + Meta Compliance]","id":188050243903,"schema_name":"Expanse","schema_version":"4.2.0","theme_store_id":null,"role":"main"}; 581Shopify.theme.handle = "null"; 582Shopify.theme.style = {"id":null,"handle":null}; 583Shopify.cdnHost = "www.formen.co.in/cdn"; 584Shopify.routes = Shopify.routes || {}; 585Shopify.routes.root = "/"; 586Shopify.shopJsCdnBaseUrl = "https://cdn.shopify.com/shopifycloud/shop-js"; 587Shopify.SignInWithShop = Shopify.SignInWithShop || {}; 588Shopify.SignInWithShop.User = Shopify.SignInWithShop.User || {}; 589Shopify.SignInWithShop.User.recognized = false;</script>
vendor: 1 bytes, line 589
589
590<script type="module">!function(o){(o.Shopify=o.Shopify||{}).modules=!0}(window);</script>
vendor: 1 bytes, line 590
590
591<script>!function(o){function n(){var o=[];function n(){o.push(Array.prototype.slice.apply(arguments))}return n.q=o,n}var t=o.Shopify=o.Shopify||{};t.loadFeatures=n(),t.autoloadFeatures=n()}(window);</script>
vendor: 1 bytes, line 591
591
592<script> 593 window.Shopify = window.Shopify || {}; 594 window.Shopify.SignInWithShop = window.Shopify.SignInWithShop || {}; 595 window.Shopify.SignInWithShop.assetMetrics = { sampleRate: 0.25 }; 596 window.Shopify.SignInWithShop.eligible = true; 597</script>
vendor: 1 bytes, line 597
597
598<script id="shop-js-analytics" type="application/json">{"pageType":"search"}</script>
vendor: 1 bytes, line 598
598
599<script defer="defer" async type="module" src="https://cdn.shopify.com/shopifycloud/shop-js/modules/v2/loader.init-shop-cart-sync.en.esm.js"></script>
vendor: 1 bytes, line 599
599
600<script type="module"> 601 await import("https://cdn.shopify.com/shopifycloud/shop-js/modules/v2/loader.init-shop-cart-sync.en.esm.js"); 602 603 window.Shopify.SignInWithShop?.initShopCartSync?.({"fedCMEnabled":true,"windoidEnabled":true}); 604 605</script>
vendor: 1 bytes, line 605
605
606<script> 607 window.Shopify = window.Shopify || {}; 608 if (!window.Shopify.featureAssets) window.Shopify.featureAssets = {}; 609 window.Shopify.featureAssets['shop-js'] = {"avatar":["modules/v2/loader.avatar.en.esm.js"],"checkout-modal":["modules/v2/loader.checkout-modal.en.esm.js"],"init-customer-accounts-sign-up":["modules/v2/loader.init-customer-accounts-sign-up.en.esm.js"],"init-customer-accounts":["modules/v2/loader.init-customer-accounts.en.esm.js"],"init-fed-cm":["modules/v2/loader.init-fed-cm.en.esm.js"],"init-shop-cart-sync":["modules/v2/loader.init-shop-cart-sync.en.esm.js"],"init-shop-email-lookup-coordinator":["modules/v2/loader.init-shop-email-lookup-coordinator.en.esm.js"],"init-shop-for-new-customer-accounts":["modules/v2/loader.init-shop-for-new-customer-accounts.en.esm.js"],"init-shop-user-recognition":["modules/v2/loader.init-shop-user-recognition.en.esm.js"],"init-windoid":["modules/v2/loader.init-windoid.en.esm.js"],"lead-capture":["modules/v2/loader.lead-capture.en.esm.js"],"listener":["modules/v2/loader.listener.en.esm.js"],"pay-button":["modules/v2/loader.pay-button.en.esm.js"],"payment-terms":["modules/v2/loader.payment-terms.en.esm.js"],"shop-button":["modules/v2/loader.shop-button.en.esm.js"],"shop-cart-sync":["modules/v2/loader.shop-cart-sync.en.esm.js"],"shop-cash-offers":["modules/v2/loader.shop-cash-offers.en.esm.js"],"shop-follow-button":["modules/v2/loader.shop-follow-button.en.esm.js"],"shop-login-button":["modules/v2/loader.shop-login-button.en.esm.js"],"shop-login":["modules/v2/loader.shop-login.en.esm.js"],"shop-toast-manager":["modules/v2/loader.shop-toast-manager.en.esm.js"],"shop-user-recognition":["modules/v2/loader.shop-user-recognition.en.esm.js"]}; 610</script>
vendor: 1 bytes, line 610
610
611<script>(function() { 612 var isLoaded = false; 613 function asyncLoad() { 614 if (isLoaded) return; 615 isLoaded = true; 616 var urls = ["https:\/\/cdn.shopify.com\/s\/files\/1\/0597\/3783\/3627\/files\/tptinstall.min.js?v=1718591634\u0026t=tapita-seo-script-tags\u0026shop=formen-healt.myshopify.com","https:\/\/static.ablestar.app\/link-manager\/404-tracker\/71962493247\/a5830af9-2f9f-4020-9064-24fbd2e8e87d.js?shop=formen-healt.myshopify.com","https:\/\/spfy-pxl.archive-digger.com\/assets\/script_tag.js?shopId=formen-healt.myshopify.com\u0026taboolaId=2017797\u0026espd=true\u0026ecav=true\u0026eh=true\u0026ess=true\u0026ep=true\u0026eatc=true\u0026eprv=true\u0026ecv=true\u0026epv=true\u0026esc=true\u0026shop=formen-healt.myshopify.com","https:\/\/creditsyard.com\/js\/integrations\/script.js?shop=formen-healt.myshopify.com"]; 617 for (var i = 0; i < urls.length; i++) { 618 var s = document.createElement('script'); 619 s.type = 'text/javascript'; 620 s.async = true; 621 s.src = urls[i]; 622 var x = document.getElementsByTagName('script')[0]; 623 x.parentNode.insertBefore(s, x); 624 } 625 }; 626 if(window.attachEvent) { 627 window.attachEvent('onload', asyncLoad); 628 } else { 629 window.addEventListener('load', asyncLoad, false); 630 } 631})();</script>
vendor: 1 bytes, line 631
631
632<script id="__st">var __st={"a":71962493247,"offset":19800,"reqid":"872b6f89-42ae-4427-beab-a001ecf5c83a-1791564831","pageurl":"www.formen.co.in\/search","u":"ddd180f2aeeb","p":"searchresults"};</script>
vendor: 1 bytes, line 632
632
633<script>window.ShopifyPaypalV4VisibilityTracking = true;</script>
vendor: 1 bytes, line 633
633
634<script id="captcha-bootstrap">!function(){'use strict';const t='contact',e='account',n='new_comment',o=[[t,t],['blogs',n],['comments',n],[t,'customer']],c=[[e,'customer_login'],[e,'guest_login'],[e,'recover_customer_password'],[e,'create_customer']],r=t=>t.map((([t,e])=>`form[action*='/${t}']:not([data-nocaptcha='true']) input[name='form_type'][value='${e}']`)).join(','),a=t=>()=>t?[...document.querySelectorAll(t)].map((t=>t.form)):[];function s(){const t=[...o],e=r(t);return a(e)}const i='password',u='form_key',d=['recaptcha-v3-token','g-recaptcha-response','h-captcha-response',i],f=()=>{try{return window.sessionStorage}catch{return}},m='__shopify_v',_=t=>t.elements[u];function p(t,e,n=!1){try{const o=window.sessionStorage,c=JSON.parse(o.getItem(e)),{data:r}=function(t){const{data:e,action:n}=t;return t[m]||n?{data:e,action:n}:{data:t,action:n}}(c);for(const[e,n]of Object.entries(r))t.elements[e]&&(t.elements[e].value=n);n&&o.removeItem(e)}catch(o){console.error('form repopulation failed',{error:o})}}const l='form_type',E='cptcha';function T(t){t.dataset[E]=!0}const w=window,h=w.document,L='Shopify',v='ce_forms',y='captcha';let A=!1;((t,e)=>{const n=(g='f06e6c50-85a8-45c8-87d0-21a2b65856fe',I='https://cdn.shopify.com/shopifycloud/storefront-forms-hcaptcha/ce_storefront_forms_captcha_hcaptcha.v1.5.3.iife.js',D={infoText:'Protected by hCaptcha',privacyText:'Privacy',termsText:'Terms'},(t,e,n)=>{const o=w[L][v],c=o.bindForm;if(c)return c(t,g,e,D).then(n);var r;o.q.push([[t,g,e,D],n]),r=I,A||(h.body.append(Object.assign(h.createElement('script'),{id:'captcha-provider',async:!0,src:r})),A=!0)});var g,I,D;w[L]=w[L]||{},w[L][v]=w[L][v]||{},w[L][v].q=[],w[L][y]=w[L][y]||{},w[L][y].protect=function(t,e){n(t,void 0,e),T(t)},Object.freeze(w[L][y]),function(t,e,n,w,h,L){const[v,y,A,g]=function(t,e,n){const i=e?o:[],u=t?c:[],d=[...i,...u],f=r(d),m=r(i),_=r(d.filter((([t,e])=>n.includes(e))));return[a(f),a(m),a(_),s()]}(w,h,L),I=t=>{const e=t.target;return e instanceof HTMLFormElement?e:e&&e.form},D=t=>v().includes(t);t.addEventListener('submit',(t=>{const e=I(t);if(!e)return;const n=D(e)&&!e.dataset.hcaptchaBound&&!e.dataset.recaptchaBound,o=_(e),c=g().includes(e)&&(!o||!o.value);(n||c)&&t.preventDefault(),c&&!n&&(function(t){try{if(!f())return;!function(t){const e=f();if(!e)return;const n=_(t);if(!n)return;const o=n.value;o&&e.removeItem(o)}(t);const e=Array.from(Array(32),(()=>Math.random().toString(36)[2])).join('');!function(t,e){_(t)||t.append(Object.assign(document.createElement('input'),{type:'hidden',name:u})),t.elements[u].value=e}(t,e),function(t,e){const n=f();if(!n)return;const o=[...t.querySelectorAll(`input[type='${i}']`)].map((({name:t})=>t)),c=[...d,...o],r={};for(const[a,s]of new FormData(t).entries())c.includes(a)||(r[a]=s);n.setItem(e,JSON.stringify({[m]:1,action:t.action,data:r}))}(t,e)}catch(e){console.error('failed to persist form',e)}}(e),e.submit())}));const S=(t,e)=>{t&&!t.dataset[E]&&(n(t,e.some((e=>e===t))),T(t))};for(const o of['focusin','change'])t.addEventListener(o,(t=>{const e=I(t);D(e)&&S(e,y())}));const B=e.get('form_key'),M=e.get(l),P=B&&M;t.addEventListener('DOMContentLoaded',(()=>{const t=y();if(P)for(const e of t)e.elements[l].value===M&&p(e,B);[...new Set([...A(),...v().filter((t=>'true'===t.dataset.shopifyCaptcha))])].forEach((e=>S(e,t)))}))}(h,new URLSearchParams(w.location.search),n,t,e,['guest_login'])})(!1,!0)}();</script>
vendor: 1 bytes, line 634
634
635<script integrity="sha256-JjoPp5ZfB1sSAs5SQaol1x1GgvveM+BgmRzyDexInEQ=" data-source-attribution="shopify.loadfeatures" defer="defer" src="//www.formen.co.in/cdn/shopifycloud/storefront/assets/storefront/load_feature-1bd60354.js" crossorigin="anonymous"></script>
vendor: 1 bytes, line 635
635
636<script>(function () {var userAgent = navigator.userAgent;var platform = navigator.platform;var maxTouchPoints = navigator.maxTouchPoints || 0;var isIOS = /iPad|iPhone|iPod/.test(platform) || (platform === 'MacIntel' && maxTouchPoints > 1);var isMacSafari = platform.indexOf('Mac') === 0 && /Safari/.test(userAgent) && !/Chrome|Chromium|CriOS|FxiOS|Edg|OPR|Android/.test(userAgent);var isAppleSafari = isIOS || isMacSafari;if (isAppleSafari) {fetch('/sf_private_access_tokens' + location.search).catch(function () {});}function browserMajorVersion(pattern) {var match = userAgent.match(pattern);return match ? parseInt(match[1], 10) : null;}function shouldLoadAutosizesPolyfill() {if (!window.PerformanceObserver?.supportedEntryTypes?.includes('paint')) {return false;}var chromeVersion = browserMajorVersion(/Chrome\/(\d+)/);if (chromeVersion !== null) {return chromeVersion < 126;}var firefoxVersion = browserMajorVersion(/Firefox\/(\d+)/);if (firefoxVersion !== null) {return firefoxVersion < 150;}var safariVersion = isAppleSafari ? browserMajorVersion(/Version\/(\d+).*Safari\//) : null;if (safariVersion !== null) {return safariVersion < 27;}return true;}if (shouldLoadAutosizesPolyfill()) {var autosizesScript = document.createElement('script');autosizesScript.async = true;autosizesScript.crossOrigin = 'anonymous';autosizesScript.src = "//www.formen.co.in/cdn/shopifycloud/storefront/assets/storefront/autosizes-84416378.js";(document.head || document.documentElement).appendChild(autosizesScript);}window.ShopifyAnalytics = window.ShopifyAnalytics || {};window.ShopifyAnalytics.performance = window.ShopifyAnalytics.performance || {};(function () {var LONG_FRAME_THRESHOLD = 50;var longAnimationFrames = [];var activeRafId = null;function collectLongFrames() {var previousTime = null;function rafMonitor(now) {if (activeRafId === null) {return;}var delta = now - previousTime;if (delta > LONG_FRAME_THRESHOLD) {longAnimationFrames.push({startTime: previousTime,endTime: now,});}previousTime = now;activeRafId = requestAnimationFrame(rafMonitor);}previousTime = performance.now();activeRafId = requestAnimationFrame(rafMonitor);}if (!window.PerformanceObserver?.supportedEntryTypes?.includes('long-animation-frame')) {collectLongFrames();var timeoutId = setTimeout(function () {cancelAnimationFrame(activeRafId);}, 10000);window.ShopifyAnalytics.performance.getLongAnimationFrames = function (stopCollection) {if (stopCollection === undefined) {stopCollection = false;}if (stopCollection) {clearTimeout(timeoutId);cancelAnimationFrame(activeRafId);}return longAnimationFrames;};}})();})();</script>
636<script id="shopify-origin-trials" async="async" integrity="sha256-qJbe/jEZBHtr5W/BlA2cKAz3vkXu6vJQyLjgvgCC86g=" src="//cdn.shopify.com/shopifycloud/storefront/assets/storefront/origin_trials-318ab40a.js" crossorigin="anonymous" onload="window.__shopifyOriginTrialsDone = true" onerror="window.__shopifyOriginTrialsDone = true"></script>
vendor: 1 bytes, line 636
636
637<script> 638 window.Shopify = window.Shopify || {}; 639 window.Shopify.MCP = window.Shopify.MCP || {}; 640 window.Shopify.MCP.enabled = true; 641 window.Shopify.MCP.shop = "formen-healt.myshopify.com"; 642 window.Shopify.MCP.mcpEndpoint = "https:\/\/www.formen.co.in\/api\/mcp"; 643 window.Shopify.MCP.tools = [{"name":"search_shop_policies_and_faqs","description":"Used to get facts about the stores policies, products, or services.\nSome examples of questions you can ask are:\n - What is your return policy?\n - What is your shipping policy?\n - What is your phone number?\n - What are your hours of operation?\"\nSet policy_types to also get the store's written policies (full text and URL).\n","inputSchema":{"$schema":"https:\/\/json-schema.org\/draft\/2020-12\/schema","type":"object","properties":{"query":{"type":"string","description":"A natural language query."},"context":{"type":"string","description":"Additional information about the request such as user demographics, mood, location, or other relevant details that could help in tailoring the response appropriately."},"policy_types":{"type":"array","items":{"type":"string","enum":["refund","shipping","privacy","terms_of_service","terms_of_sale","subscription","legal_notice","contact"]},"description":"Policy kinds to fetch, chosen from the user's question â e.g. [\"refund\"] for returns\/exchanges\/damaged items, [\"contact\"] for phone\/hours\/address. Include every kind the question touches. Omit it to get only FAQ answers."}},"required":["query"]}}]; 644</script>
vendor: 1 bytes, line 644
644
645<script>(()=>{var d="shopify:webmcp_adapter_loaded",n=Symbol.for("shopify.webmcp_adapter_loading");function s(c,a,{win:r=window,doc:o=document}={}){function p(){try{return r.localStorage.getItem(d)==="true"}catch{return!1}}function l(){try{r.localStorage.setItem(d,"true")}catch{}}function u(){return typeof(o.modelContext||r.navigator?.modelContext)?.registerTool=="function"}function f(){if(r[n]||!u())return;let t=o.head||o.getElementsByTagName("head")[0];if(!t)return;let e=o.createElement("script");e.type="module",e.crossOrigin="anonymous",a&&(e.integrity=a),e.src=c,e.addEventListener("load",l,{once:!0}),e.addEventListener("error",()=>{r[n]=!1},{once:!0}),t.appendChild(e),r[n]=!0}function _(t){let e=o.getElementById("shopify-origin-trials");if(!e||r.__shopifyOriginTrialsDone){t();return}e.addEventListener("load",t,{once:!0}),e.addEventListener("error",t,{once:!0})}function i(){_(()=>r.setTimeout(f,0))}function m(){o.addEventListener("DOMContentLoaded",i,{once:!0})}p()?i():m()}s("\/\/www.formen.co.in\/cdn\/shopifycloud\/storefront\/assets\/storefront\/webmcp-f427de6a.js","sha256-ypGF+5vIq4Psw4WG7nsVtdd\/TCfsJWnrNuACdqLCElY=");})(); 646</script>
vendor: 1 bytes, line 646
646
647<script data-source-attribution="shopify.dynamic_checkout.dynamic.init">var Shopify=Shopify||{};Shopify.PaymentButton=Shopify.PaymentButton||{isStorefrontPortableWallets:!0,init:function(){window.Shopify.PaymentButton.init=function(){};var t=document.createElement("script");t.src="https://www.formen.co.in/cdn/shopifycloud/portable-wallets/latest/portable-wallets.en.js",t.type="module",document.head.appendChild(t)}}; 648</script>
vendor: 1 bytes, line 648
648
649<script data-source-attribution="shopify.dynamic_checkout.buyer_consent"> 650 function portableWalletsHideBuyerConsent(e){var t=document.getElementById("shopify-buyer-consent"),n=document.getElementById("shopify-subscription-policy-button");t&&n&&(t.classList.add("hidden"),t.setAttribute("aria-hidden","true"),n.removeEventListener("click",e))}function portableWalletsShowBuyerConsent(e){var t=document.getElementById("shopify-buyer-consent"),n=document.getElementById("shopify-subscription-policy-button");t&&n&&(t.classList.remove("hidden"),t.removeAttribute("aria-hidden"),n.addEventListener("click",e))}window.Shopify?.PaymentButton&&(window.Shopify.PaymentButton.hideBuyerConsent=portableWalletsHideBuyerConsent,window.Shopify.PaymentButton.showBuyerConsent=portableWalletsShowBuyerConsent); 651</script>
vendor: 1 bytes, line 651
651
652<script data-source-attribution="shopify.dynamic_checkout.cart.bootstrap">document.addEventListener("DOMContentLoaded",(function(){function t(){return document.querySelector("shopify-accelerated-checkout-cart, shopify-accelerated-checkout")}if(t())Shopify.PaymentButton.init();else{new MutationObserver((function(e,n){t()&&(Shopify.PaymentButton.init(),n.disconnect())})).observe(document.body,{childList:!0,subtree:!0})}})); 653</script>
653 654
655<script id="shopify-cfh-end">window.performance && window.performance.mark && window.performance.mark('shopify.content_for_header.end');</script>
655 656 657
657<script> 658 /*! jQuery v3.6.3 | (c) OpenJS Foundation and other contributors | jquery.org/license */ 659
vendor: 89,858 bytes, line 659
659!function(e,t){"use strict";"object"==typeof module&&"object"==typeof module.exports?module.exports=e.document?t(e,!0):function(e){if(!e.document)throw new Error("jQuery requires a window with a document");return t(e)}:t(e)}("undefined"!=typeof window?window:this,function(C,e){"use strict";var t=[],r=Object.getPrototypeOf,s=t.slice,g=t.flat?function(e){return t.flat.call(e)}:function(e){return t.concat.apply([],e)},u=t.push,i=t.indexOf,n={},o=n.toString,y=n.hasOwnProperty,a=y.toString,l=a.call(Object),v={},m=function(e){return"function"==typeof e&&"number"!=typeof e.nodeType&&"function"!=typeof e.item},x=function(e){return null!=e&&e===e.window},S=C.document,c={type:!0,src:!0,nonce:!0,noModule:!0};function b(e,t,n){var r,i,o=(n=n||S).createElement("script");if(o.text=e,t)for(r in c)(i=t[r]||t.getAttribute&&t.getAttribute(r))&&o.setAttribute(r,i);n.head.appendChild(o).parentNode.removeChild(o)}function w(e){return null==e?e+"":"object"==typeof e||"function"==typeof e?n[o.call(e)]||"object":typeof e}var f="3.6.3",E=function(e,t){return new E.fn.init(e,t)};function p(e){var t=!!e&&"length"in e&&e.length,n=w(e);return!m(e)&&!x(e)&&("array"===n||0===t||"number"==typeof t&&0<t&&t-1 in e)}E.fn=E.prototype={jquery:f,constructor:E,length:0,toArray:function(){return s.call(this)},get:function(e){return null==e?s.call(this):e<0?this[e+this.length]:this[e]},pushStack:function(e){var t=E.merge(this.constructor(),e);return t.prevObject=this,t},each:function(e){return E.each(this,e)},map:function(n){return this.pushStack(E.map(this,function(e,t){return n.call(e,t,e)}))},slice:function(){return this.pushStack(s.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},even:function(){return this.pushStack(E.grep(this,function(e,t){return(t+1)%2}))},odd:function(){return this.pushStack(E.grep(this,function(e,t){return t%2}))},eq:function(e){var t=this.length,n=+e+(e<0?t:0);return this.pushStack(0<=n&&n<t?[this[n]]:[])},end:function(){return this.prevObject||this.constructor()},push:u,sort:t.sort,splice:t.splice},E.extend=E.fn.extend=function(){var e,t,n,r,i,o,a=arguments[0]||{},s=1,u=arguments.length,l=!1;for("boolean"==typeof a&&(l=a,a=arguments[s]||{},s++),"object"==typeof a||m(a)||(a={}),s===u&&(a=this,s--);s<u;s++)if(null!=(e=arguments[s]))for(t in e)r=e[t],"__proto__"!==t&&a!==r&&(l&&r&&(E.isPlainObject(r)||(i=Array.isArray(r)))?(n=a[t],o=i&&!Array.isArray(n)?[]:i||E.isPlainObject(n)?n:{},i=!1,a[t]=E.extend(l,o,r)):void 0!==r&&(a[t]=r));return a},E.extend({expando:"jQuery"+(f+Math.random()).replace(/\D/g,""),isReady:!0,error:function(e){throw new Error(e)},noop:function(){},isPlainObject:function(e){var t,n;return!(!e||"[object Object]"!==o.call(e))&&(!(t=r(e))||"function"==typeof(n=y.call(t,"constructor")&&t.constructor)&&a.call(n)===l)},isEmptyObject:function(e){var t;for(t in e)return!1;return!0},globalEval:function(e,t,n){b(e,{nonce:t&&t.nonce},n)},each:function(e,t){var n,r=0;if(p(e)){for(n=e.length;r<n;r++)if(!1===t.call(e[r],r,e[r]))break}else for(r in e)if(!1===t.call(e[r],r,e[r]))break;return e},makeArray:function(e,t){var n=t||[];return null!=e&&(p(Object(e))?E.merge(n,"string"==typeof e?[e]:e):u.call(n,e)),n},inArray:function(e,t,n){return null==t?-1:i.call(t,e,n)},merge:function(e,t){for(var n=+t.length,r=0,i=e.length;r<n;r++)e[i++]=t[r];return e.length=i,e},grep:function(e,t,n){for(var r=[],i=0,o=e.length,a=!n;i<o;i++)!t(e[i],i)!==a&&r.push(e[i]);return r},map:function(e,t,n){var r,i,o=0,a=[];if(p(e))for(r=e.length;o<r;o++)null!=(i=t(e[o],o,n))&&a.push(i);else for(o in e)null!=(i=t(e[o],o,n))&&a.push(i);return g(a)},guid:1,support:v}),"function"==typeof Symbol&&(E.fn[Symbol.iterator]=t[Symbol.iterator]),E.each("Boolean Number String Function Array Date RegExp Object Error Symbol".split(" "),function(e,t){n["[object "+t+"]"]=t.toLowerCase()});var d=function(n){var e,d,b,o,i,h,f,g,w,u,l,T,C,a,S,y,s,c,v,E="sizzle"+1*new Date,p=n.document,k=0,r=0,m=ue(),x=ue(),A=ue(),N=ue(),j=function(e,t){return e===t&&(l=!0),0},D={}.hasOwnProperty,t=[],q=t.pop,L=t.push,H=t.push,O=t.slice,P=function(e,t){for(var n=0,r=e.length;n<r;n++)if(e[n]===t)return n;return-1},R="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",M="[\\x20\\t\\r\\n\\f]",I="(?:\\\\[\\da-fA-F]{1,6}"+M+"?|\\\\[^\\r\\n\\f]|[\\w-]|[^\0-\\x7f])+",W="\\["+M+"*("+I+")(?:"+M+"*([*^$|!~]?=)"+M+"*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|("+I+"))|)"+M+"*\\]",F=":("+I+")(?:\\((('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|((?:\\\\.|[^\\\\()[\\]]|"+W+")*)|.*)\\)|)",$=new RegExp(M+"+","g"),B=new RegExp("^"+M+"+|((?:^|[^\\\\])(?:\\\\.)*)"+M+"+$","g"),_=new RegExp("^"+M+"*,"+M+"*"),z=new RegExp("^"+M+"*([>+~]|"+M+")"+M+"*"),U=new RegExp(M+"|>"),X=new RegExp(F),V=new RegExp("^"+I+"$"),G={ID:new RegExp("^#("+I+")"),CLASS:new RegExp("^\\.("+I+")"),TAG:new RegExp("^("+I+"|[*])"),ATTR:new RegExp("^"+W),PSEUDO:new RegExp("^"+F),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+M+"*(even|odd|(([+-]|)(\\d*)n|)"+M+"*(?:([+-]|)"+M+"*(\\d+)|))"+M+"*\\)|)","i"),bool:new RegExp("^(?:"+R+")$","i"),needsContext:new RegExp("^"+M+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+M+"*((?:-\\d)?\\d*)"+M+"*\\)|)(?=[^-]|$)","i")},Y=/HTML$/i,Q=/^(?:input|select|textarea|button)$/i,J=/^h\d$/i,K=/^[^{]+\{\s*\[native \w/,Z=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,ee=/[+~]/,te=new RegExp("\\\\[\\da-fA-F]{1,6}"+M+"?|\\\\([^\\r\\n\\f])","g"),ne=function(e,t){var n="0x"+e.slice(1)-65536;return t||(n<0?String.fromCharCode(n+65536):String.fromCharCode(n>>10|55296,1023&n|56320))},re=/([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g,ie=function(e,t){return t?"\0"===e?"\ufffd":e.slice(0,-1)+"\\"+e.charCodeAt(e.length-1).toString(16)+" ":"\\"+e},oe=function(){T()},ae=be(function(e){return!0===e.disabled&&"fieldset"===e.nodeName.toLowerCase()},{dir:"parentNode",next:"legend"});try{H.apply(t=O.call(p.childNodes),p.childNodes),t[p.childNodes.length].nodeType}catch(e){H={apply:t.length?function(e,t){L.apply(e,O.call(t))}:function(e,t){var n=e.length,r=0;while(e[n++]=t[r++]);e.length=n-1}}}function se(t,e,n,r){var i,o,a,s,u,l,c,f=e&&e.ownerDocument,p=e?e.nodeType:9;if(n=n||[],"string"!=typeof t||!t||1!==p&&9!==p&&11!==p)return n;if(!r&&(T(e),e=e||C,S)){if(11!==p&&(u=Z.exec(t)))if(i=u[1]){if(9===p){if(!(a=e.getElementById(i)))return n;if(a.id===i)return n.push(a),n}else if(f&&(a=f.getElementById(i))&&v(e,a)&&a.id===i)return n.push(a),n}else{if(u[2])return H.apply(n,e.getElementsByTagName(t)),n;if((i=u[3])&&d.getElementsByClassName&&e.getElementsByClassName)return H.apply(n,e.getElementsByClassName(i)),n}if(d.qsa&&!N[t+" "]&&(!y||!y.test(t))&&(1!==p||"object"!==e.nodeName.toLowerCase())){if(c=t,f=e,1===p&&(U.test(t)||z.test(t))){(f=ee.test(t)&&ve(e.parentNode)||e)===e&&d.scope||((s=e.getAttribute("id"))?s=s.replace(re,ie):e.setAttribute("id",s=E)),o=(l=h(t)).length;while(o--)l[o]=(s?"#"+s:":scope")+" "+xe(l[o]);c=l.join(",")}try{if(d.cssSupportsSelector&&!CSS.supports("selector(:is("+c+"))"))throw new Error;return H.apply(n,f.querySelectorAll(c)),n}catch(e){N(t,!0)}finally{s===E&&e.removeAttribute("id")}}}return g(t.replace(B,"$1"),e,n,r)}function ue(){var r=[];return function e(t,n){return r.push(t+" ")>b.cacheLength&&delete e[r.shift()],e[t+" "]=n}}function le(e){return e[E]=!0,e}function ce(e){var t=C.createElement("fieldset");try{return!!e(t)}catch(e){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function fe(e,t){var n=e.split("|"),r=n.length;while(r--)b.attrHandle[n[r]]=t}function pe(e,t){var n=t&&e,r=n&&1===e.nodeType&&1===t.nodeType&&e.sourceIndex-t.sourceIndex;if(r)return r;if(n)while(n=n.nextSibling)if(n===t)return-1;return e?1:-1}function de(t){return function(e){return"input"===e.nodeName.toLowerCase()&&e.type===t}}function he(n){return function(e){var t=e.nodeName.toLowerCase();return("input"===t||"button"===t)&&e.type===n}}function ge(t){return function(e){return"form"in e?e.parentNode&&!1===e.disabled?"label"in e?"label"in e.parentNode?e.parentNode.disabled===t:e.disabled===t:e.isDisabled===t||e.isDisabled!==!t&&ae(e)===t:e.disabled===t:"label"in e&&e.disabled===t}}function ye(a){return le(function(o){return o=+o,le(function(e,t){var n,r=a([],e.length,o),i=r.length;while(i--)e[n=r[i]]&&(e[n]=!(t[n]=e[n]))})})}function ve(e){return e&&"undefined"!=typeof e.getElementsByTagName&&e}for(e in d=se.support={},i=se.isXML=function(e){var t=e&&e.namespaceURI,n=e&&(e.ownerDocument||e).documentElement;return!Y.test(t||n&&n.nodeName||"HTML")},T=se.setDocument=function(e){var t,n,r=e?e.ownerDocument||e:p;return r!=C&&9===r.nodeType&&r.documentElement&&(a=(C=r).documentElement,S=!i(C),p!=C&&(n=C.defaultView)&&n.top!==n&&(n.addEventListener?n.addEventListener("unload",oe,!1):n.attachEvent&&n.attachEvent("onunload",oe)),d.scope=ce(function(e){return a.appendChild(e).appendChild(C.createElement("div")),"undefined"!=typeof e.querySelectorAll&&!e.querySelectorAll(":scope fieldset div").length}),d.cssSupportsSelector=ce(function(){return CSS.supports("selector(*)")&&C.querySelectorAll(":is(:jqfake)")&&!CSS.supports("selector(:is(*,:jqfake))")}),d.attributes=ce(function(e){return e.className="i",!e.getAttribute("className")}),d.getElementsByTagName=ce(function(e){return e.appendChild(C.createComment("")),!e.getElementsByTagName("*").length}),d.getElementsByClassName=K.test(C.getElementsByClassName),d.getById=ce(function(e){return a.appendChild(e).id=E,!C.getElementsByName||!C.getElementsByName(E).length}),d.getById?(b.filter.ID=function(e){var t=e.replace(te,ne);return function(e){return e.getAttribute("id")===t}},b.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&S){var n=t.getElementById(e);return n?[n]:[]}}):(b.filter.ID=function(e){var n=e.replace(te,ne);return function(e){var t="undefined"!=typeof e.getAttributeNode&&e.getAttributeNode("id");return t&&t.value===n}},b.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&S){var n,r,i,o=t.getElementById(e);if(o){if((n=o.getAttributeNode("id"))&&n.value===e)return[o];i=t.getElementsByName(e),r=0;while(o=i[r++])if((n=o.getAttributeNode("id"))&&n.value===e)return[o]}return[]}}),b.find.TAG=d.getElementsByTagName?function(e,t){return"undefined"!=typeof t.getElementsByTagName?t.getElementsByTagName(e):d.qsa?t.querySelectorAll(e):void 0}:function(e,t){var n,r=[],i=0,o=t.getElementsByTagName(e);if("*"===e){while(n=o[i++])1===n.nodeType&&r.push(n);return r}return o},b.find.CLASS=d.getElementsByClassName&&function(e,t){if("undefined"!=typeof t.getElementsByClassName&&S)return t.getElementsByClassName(e)},s=[],y=[],(d.qsa=K.test(C.querySelectorAll))&&(ce(function(e){var t;a.appendChild(e).innerHTML="<a id='"+E+"'></a><select id='"+E+"-\r\\' msallowcapture=''><option selected=''></option></select>",e.querySelectorAll("[msallowcapture^='']").length&&y.push("[*^$]="+M+"*(?:''|\"\")"),e.querySelectorAll("[selected]").length||y.push("\\["+M+"*(?:value|"+R+")"),e.querySelectorAll("[id~="+E+"-]").length||y.push("~="),(t=C.createElement("input")).setAttribute("name",""),e.appendChild(t),e.querySelectorAll("[name='']").length||y.push("\\["+M+"*name"+M+"*="+M+"*(?:''|\"\")"),e.querySelectorAll(":checked").length||y.push(":checked"),e.querySelectorAll("a#"+E+"+*").length||y.push(".#.+[+~]"),e.querySelectorAll("\\\f"),y.push("[\\r\\n\\f]")}),ce(function(e){e.innerHTML="<a href='' disabled='disabled'></a><select disabled='disabled'><option/></select>";var t=C.createElement("input");t.setAttribute("type","hidden"),e.appendChild(t).setAttribute("name","D"),e.querySelectorAll("[name=d]").length&&y.push("name"+M+"*[*^$|!~]?="),2!==e.querySelectorAll(":enabled").length&&y.push(":enabled",":disabled"),a.appendChild(e).disabled=!0,2!==e.querySelectorAll(":disabled").length&&y.push(":enabled",":disabled"),e.querySelectorAll("*,:x"),y.push(",.*:")})),(d.matchesSelector=K.test(c=a.matches||a.webkitMatchesSelector||a.mozMatchesSelector||a.oMatchesSelector||a.msMatchesSelector))&&ce(function(e){d.disconnectedMatch=c.call(e,"*"),c.call(e,"[s!='']:x"),s.push("!=",F)}),d.cssSupportsSelector||y.push(":has"),y=y.length&&new RegExp(y.join("|")),s=s.length&&new RegExp(s.join("|")),t=K.test(a.compareDocumentPosition),v=t||K.test(a.contains)?function(e,t){var n=9===e.nodeType&&e.documentElement||e,r=t&&t.parentNode;return e===r||!(!r||1!==r.nodeType||!(n.contains?n.contains(r):e.compareDocumentPosition&&16&e.compareDocumentPosition(r)))}:function(e,t){if(t)while(t=t.parentNode)if(t===e)return!0;return!1},j=t?function(e,t){if(e===t)return l=!0,0;var n=!e.compareDocumentPosition-!t.compareDocumentPosition;return n||(1&(n=(e.ownerDocument||e)==(t.ownerDocument||t)?e.compareDocumentPosition(t):1)||!d.sortDetached&&t.compareDocumentPosition(e)===n?e==C||e.ownerDocument==p&&v(p,e)?-1:t==C||t.ownerDocument==p&&v(p,t)?1:u?P(u,e)-P(u,t):0:4&n?-1:1)}:function(e,t){if(e===t)return l=!0,0;var n,r=0,i=e.parentNode,o=t.parentNode,a=[e],s=[t];if(!i||!o)return e==C?-1:t==C?1:i?-1:o?1:u?P(u,e)-P(u,t):0;if(i===o)return pe(e,t);n=e;while(n=n.parentNode)a.unshift(n);n=t;while(n=n.parentNode)s.unshift(n);while(a[r]===s[r])r++;return r?pe(a[r],s[r]):a[r]==p?-1:s[r]==p?1:0}),C},se.matches=function(e,t){return se(e,null,null,t)},se.matchesSelector=function(e,t){if(T(e),d.matchesSelector&&S&&!N[t+" "]&&(!s||!s.test(t))&&(!y||!y.test(t)))try{var n=c.call(e,t);if(n||d.disconnectedMatch||e.document&&11!==e.document.nodeType)return n}catch(e){N(t,!0)}return 0<se(t,C,null,[e]).length},se.contains=function(e,t){return(e.ownerDocument||e)!=C&&T(e),v(e,t)},se.attr=function(e,t){(e.ownerDocument||e)!=C&&T(e);var n=b.attrHandle[t.toLowerCase()],r=n&&D.call(b.attrHandle,t.toLowerCase())?n(e,t,!S):void 0;return void 0!==r?r:d.attributes||!S?e.getAttribute(t):(r=e.getAttributeNode(t))&&r.specified?r.value:null},se.escape=function(e){return(e+"").replace(re,ie)},se.error=function(e){throw new Error("Syntax error, unrecognized expression: "+e)},se.uniqueSort=function(e){var t,n=[],r=0,i=0;if(l=!d.detectDuplicates,u=!d.sortStable&&e.slice(0),e.sort(j),l){while(t=e[i++])t===e[i]&&(r=n.push(i));while(r--)e.splice(n[r],1)}return u=null,e},o=se.getText=function(e){var t,n="",r=0,i=e.nodeType;if(i){if(1===i||9===i||11===i){if("string"==typeof e.textContent)return e.textContent;for(e=e.firstChild;e;e=e.nextSibling)n+=o(e)}else if(3===i||4===i)return e.nodeValue}else while(t=e[r++])n+=o(t);return n},(b=se.selectors={cacheLength:50,createPseudo:le,match:G,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(te,ne),e[3]=(e[3]||e[4]||e[5]||"").replace(te,ne),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),"nth"===e[1].slice(0,3)?(e[3]||se.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*("even"===e[3]||"odd"===e[3])),e[5]=+(e[7]+e[8]||"odd"===e[3])):e[3]&&se.error(e[0]),e},PSEUDO:function(e){var t,n=!e[6]&&e[2];return G.CHILD.test(e[0])?null:(e[3]?e[2]=e[4]||e[5]||"":n&&X.test(n)&&(t=h(n,!0))&&(t=n.indexOf(")",n.length-t)-n.length)&&(e[0]=e[0].slice(0,t),e[2]=n.slice(0,t)),e.slice(0,3))}},filter:{TAG:function(e){var t=e.replace(te,ne).toLowerCase();return"*"===e?function(){return!0}:function(e){return e.nodeName&&e.nodeName.toLowerCase()===t}},CLASS:function(e){var t=m[e+" "];return t||(t=new RegExp("(^|"+M+")"+e+"("+M+"|$)"))&&m(e,function(e){return t.test("string"==typeof e.className&&e.className||"undefined"!=typeof e.getAttribute&&e.getAttribute("class")||"")})},ATTR:function(n,r,i){return function(e){var t=se.attr(e,n);return null==t?"!="===r:!r||(t+="","="===r?t===i:"!="===r?t!==i:"^="===r?i&&0===t.indexOf(i):"*="===r?i&&-1<t.indexOf(i):"$="===r?i&&t.slice(-i.length)===i:"~="===r?-1<(" "+t.replace($," ")+" ").indexOf(i):"|="===r&&(t===i||t.slice(0,i.length+1)===i+"-"))}},CHILD:function(h,e,t,g,y){var v="nth"!==h.slice(0,3),m="last"!==h.slice(-4),x="of-type"===e;return 1===g&&0===y?function(e){return!!e.parentNode}:function(e,t,n){var r,i,o,a,s,u,l=v!==m?"nextSibling":"previousSibling",c=e.parentNode,f=x&&e.nodeName.toLowerCase(),p=!n&&!x,d=!1;if(c){if(v){while(l){a=e;while(a=a[l])if(x?a.nodeName.toLowerCase()===f:1===a.nodeType)return!1;u=l="only"===h&&!u&&"nextSibling"}return!0}if(u=[m?c.firstChild:c.lastChild],m&&p){d=(s=(r=(i=(o=(a=c)[E]||(a[E]={}))[a.uniqueID]||(o[a.uniqueID]={}))[h]||[])[0]===k&&r[1])&&r[2],a=s&&c.childNodes[s];while(a=++s&&a&&a[l]||(d=s=0)||u.pop())if(1===a.nodeType&&++d&&a===e){i[h]=[k,s,d];break}}else if(p&&(d=s=(r=(i=(o=(a=e)[E]||(a[E]={}))[a.uniqueID]||(o[a.uniqueID]={}))[h]||[])[0]===k&&r[1]),!1===d)while(a=++s&&a&&a[l]||(d=s=0)||u.pop())if((x?a.nodeName.toLowerCase()===f:1===a.nodeType)&&++d&&(p&&((i=(o=a[E]||(a[E]={}))[a.uniqueID]||(o[a.uniqueID]={}))[h]=[k,d]),a===e))break;return(d-=y)===g||d%g==0&&0<=d/g}}},PSEUDO:function(e,o){var t,a=b.pseudos[e]||b.setFilters[e.toLowerCase()]||se.error("unsupported pseudo: "+e);return a[E]?a(o):1<a.length?(t=[e,e,"",o],b.setFilters.hasOwnProperty(e.toLowerCase())?le(function(e,t){var n,r=a(e,o),i=r.length;while(i--)e[n=P(e,r[i])]=!(t[n]=r[i])}):function(e){return a(e,0,t)}):a}},pseudos:{not:le(function(e){var r=[],i=[],s=f(e.replace(B,"$1"));return s[E]?le(function(e,t,n,r){var i,o=s(e,null,r,[]),a=e.length;while(a--)(i=o[a])&&(e[a]=!(t[a]=i))}):function(e,t,n){return r[0]=e,s(r,null,n,i),r[0]=null,!i.pop()}}),has:le(function(t){return function(e){return 0<se(t,e).length}}),contains:le(function(t){return t=t.replace(te,ne),function(e){return-1<(e.textContent||o(e)).indexOf(t)}}),lang:le(function(n){return V.test(n||"")||se.error("unsupported lang: "+n),n=n.replace(te,ne).toLowerCase(),function(e){var t;do{if(t=S?e.lang:e.getAttribute("xml:lang")||e.getAttribute("lang"))return(t=t.toLowerCase())===n||0===t.indexOf(n+"-")}while((e=e.parentNode)&&1===e.nodeType);return!1}}),target:function(e){var t=n.location&&n.location.hash;return t&&t.slice(1)===e.id},root:function(e){return e===a},focus:function(e){return e===C.activeElement&&(!C.hasFocus||C.hasFocus())&&!!(e.type||e.href||~e.tabIndex)},enabled:ge(!1),disabled:ge(!0),checked:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&!!e.checked||"option"===t&&!!e.selected},selected:function(e){return e.parentNode&&e.parentNode.selectedIndex,!0===e.selected},empty:function(e){for(e=e.firstChild;e;e=e.nextSibling)if(e.nodeType<6)return!1;return!0},parent:function(e){return!b.pseudos.empty(e)},header:function(e){return J.test(e.nodeName)},input:function(e){return Q.test(e.nodeName)},button:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&"button"===e.type||"button"===t},text:function(e){var t;return"input"===e.nodeName.toLowerCase()&&"text"===e.type&&(null==(t=e.getAttribute("type"))||"text"===t.toLowerCase())},first:ye(function(){return[0]}),last:ye(function(e,t){return[t-1]}),eq:ye(function(e,t,n){return[n<0?n+t:n]}),even:ye(function(e,t){for(var n=0;n<t;n+=2)e.push(n);return e}),odd:ye(function(e,t){for(var n=1;n<t;n+=2)e.push(n);return e}),lt:ye(function(e,t,n){for(var r=n<0?n+t:t<n?t:n;0<=--r;)e.push(r);return e}),gt:ye(function(e,t,n){for(var r=n<0?n+t:n;++r<t;)e.push(r);return e})}}).pseudos.nth=b.pseudos.eq,{radio:!0,checkbox:!0,file:!0,password:!0,image:!0})b.pseudos[e]=de(e);for(e in{submit:!0,reset:!0})b.pseudos[e]=he(e);function me(){}function xe(e){for(var t=0,n=e.length,r="";t<n;t++)r+=e[t].value;return r}function be(s,e,t){var u=e.dir,l=e.next,c=l||u,f=t&&"parentNode"===c,p=r++;return e.first?function(e,t,n){while(e=e[u])if(1===e.nodeType||f)return s(e,t,n);return!1}:function(e,t,n){var r,i,o,a=[k,p];if(n){while(e=e[u])if((1===e.nodeType||f)&&s(e,t,n))return!0}else while(e=e[u])if(1===e.nodeType||f)if(i=(o=e[E]||(e[E]={}))[e.uniqueID]||(o[e.uniqueID]={}),l&&l===e.nodeName.toLowerCase())e=e[u]||e;else{if((r=i[c])&&r[0]===k&&r[1]===p)return a[2]=r[2];if((i[c]=a)[2]=s(e,t,n))return!0}return!1}}function we(i){return 1<i.length?function(e,t,n){var r=i.length;while(r--)if(!i[r](e,t,n))return!1;return!0}:i[0]}function Te(e,t,n,r,i){for(var o,a=[],s=0,u=e.length,l=null!=t;s<u;s++)(o=e[s])&&(n&&!n(o,r,i)||(a.push(o),l&&t.push(s)));return a}function Ce(d,h,g,y,v,e){return y&&!y[E]&&(y=Ce(y)),v&&!v[E]&&(v=Ce(v,e)),le(function(e,t,n,r){var i,o,a,s=[],u=[],l=t.length,c=e||function(e,t,n){for(var r=0,i=t.length;r<i;r++)se(e,t[r],n);return n}(h||"*",n.nodeType?[n]:n,[]),f=!d||!e&&h?c:Te(c,s,d,n,r),p=g?v||(e?d:l||y)?[]:t:f;if(g&&g(f,p,n,r),y){i=Te(p,u),y(i,[],n,r),o=i.length;while(o--)(a=i[o])&&(p[u[o]]=!(f[u[o]]=a))}if(e){if(v||d){if(v){i=[],o=p.length;while(o--)(a=p[o])&&i.push(f[o]=a);v(null,p=[],i,r)}o=p.length;while(o--)(a=p[o])&&-1<(i=v?P(e,a):s[o])&&(e[i]=!(t[i]=a))}}else p=Te(p===t?p.splice(l,p.length):p),v?v(null,t,p,r):H.apply(t,p)})}function Se(e){for(var i,t,n,r=e.length,o=b.relative[e[0].type],a=o||b.relative[" "],s=o?1:0,u=be(function(e){return e===i},a,!0),l=be(function(e){return-1<P(i,e)},a,!0),c=[function(e,t,n){var r=!o&&(n||t!==w)||((i=t).nodeType?u(e,t,n):l(e,t,n));return i=null,r}];s<r;s++)if(t=b.relative[e[s].type])c=[be(we(c),t)];else{if((t=b.filter[e[s].type].apply(null,e[s].matches))[E]){for(n=++s;n<r;n++)if(b.relative[e[n].type])break;return Ce(1<s&&we(c),1<s&&xe(e.slice(0,s-1).concat({value:" "===e[s-2].type?"*":""})).replace(B,"$1"),t,s<n&&Se(e.slice(s,n)),n<r&&Se(e=e.slice(n)),n<r&&xe(e))}c.push(t)}return we(c)}return me.prototype=b.filters=b.pseudos,b.setFilters=new me,h=se.tokenize=function(e,t){var n,r,i,o,a,s,u,l=x[e+" "];if(l)return t?0:l.slice(0);a=e,s=[],u=b.preFilter;while(a){for(o in n&&!(r=_.exec(a))||(r&&(a=a.slice(r[0].length)||a),s.push(i=[])),n=!1,(r=z.exec(a))&&(n=r.shift(),i.push({value:n,type:r[0].replace(B," ")}),a=a.slice(n.length)),b.filter)!(r=G[o].exec(a))||u[o]&&!(r=u[o](r))||(n=r.shift(),i.push({value:n,type:o,matches:r}),a=a.slice(n.length));if(!n)break}return t?a.length:a?se.error(e):x(e,s).slice(0)},f=se.compile=function(e,t){var n,y,v,m,x,r,i=[],o=[],a=A[e+" "];if(!a){t||(t=h(e)),n=t.length;while(n--)(a=Se(t[n]))[E]?i.push(a):o.push(a);(a=A(e,(y=o,m=0<(v=i).length,x=0<y.length,r=function(e,t,n,r,i){var o,a,s,u=0,l="0",c=e&&[],f=[],p=w,d=e||x&&b.find.TAG("*",i),h=k+=null==p?1:Math.random()||.1,g=d.length;for(i&&(w=t==C||t||i);l!==g&&null!=(o=d[l]);l++){if(x&&o){a=0,t||o.ownerDocument==C||(T(o),n=!S);while(s=y[a++])if(s(o,t||C,n)){r.push(o);break}i&&(k=h)}m&&((o=!s&&o)&&u--,e&&c.push(o))}if(u+=l,m&&l!==u){a=0;while(s=v[a++])s(c,f,t,n);if(e){if(0<u)while(l--)c[l]||f[l]||(f[l]=q.call(r));f=Te(f)}H.apply(r,f),i&&!e&&0<f.length&&1<u+v.length&&se.uniqueSort(r)}return i&&(k=h,w=p),c},m?le(r):r))).selector=e}return a},g=se.select=function(e,t,n,r){var i,o,a,s,u,l="function"==typeof e&&e,c=!r&&h(e=l.selector||e);if(n=n||[],1===c.length){if(2<(o=c[0]=c[0].slice(0)).length&&"ID"===(a=o[0]).type&&9===t.nodeType&&S&&b.relative[o[1].type]){if(!(t=(b.find.ID(a.matches[0].replace(te,ne),t)||[])[0]))return n;l&&(t=t.parentNode),e=e.slice(o.shift().value.length)}i=G.needsContext.test(e)?0:o.length;while(i--){if(a=o[i],b.relative[s=a.type])break;if((u=b.find[s])&&(r=u(a.matches[0].replace(te,ne),ee.test(o[0].type)&&ve(t.parentNode)||t))){if(o.splice(i,1),!(e=r.length&&xe(o)))return H.apply(n,r),n;break}}}return(l||f(e,c))(r,t,!S,n,!t||ee.test(e)&&ve(t.parentNode)||t),n},d.sortStable=E.split("").sort(j).join("")===E,d.detectDuplicates=!!l,T(),d.sortDetached=ce(function(e){return 1&e.compareDocumentPosition(C.createElement("fieldset"))}),ce(function(e){return e.innerHTML="<a href='#'></a>","#"===e.firstChild.getAttribute("href")})||fe("type|href|height|width",function(e,t,n){if(!n)return e.getAttribute(t,"type"===t.toLowerCase()?1:2)}),d.attributes&&ce(function(e){return e.innerHTML="<input/>",e.firstChild.setAttribute("value",""),""===e.firstChild.getAttribute("value")})||fe("value",function(e,t,n){if(!n&&"input"===e.nodeName.toLowerCase())return e.defaultValue}),ce(function(e){return null==e.getAttribute("disabled")})||fe(R,function(e,t,n){var r;if(!n)return!0===e[t]?t.toLowerCase():(r=e.getAttributeNode(t))&&r.specified?r.value:null}),se}(C);E.find=d,E.expr=d.selectors,E.expr[":"]=E.expr.pseudos,E.uniqueSort=E.unique=d.uniqueSort,E.text=d.getText,E.isXMLDoc=d.isXML,E.contains=d.contains,E.escapeSelector=d.escape;var h=function(e,t,n){var r=[],i=void 0!==n;while((e=e[t])&&9!==e.nodeType)if(1===e.nodeType){if(i&&E(e).is(n))break;r.push(e)}return r},T=function(e,t){for(var n=[];e;e=e.nextSibling)1===e.nodeType&&e!==t&&n.push(e);return n},k=E.expr.match.needsContext;function A(e,t){return e.nodeName&&e.nodeName.toLowerCase()===t.toLowerCase()}var N=/^<([a-z][^\/\0>:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i;function j(e,n,r){return m(n)?E.grep(e,function(e,t){return!!n.call(e,t,e)!==r}):n.nodeType?E.grep(e,function(e){return e===n!==r}):"string"!=typeof n?E.grep(e,function(e){return-1<i.call(n,e)!==r}):E.filter(n,e,r)}E.filter=function(e,t,n){var r=t[0];return n&&(e=":not("+e+")"),1===t.length&&1===r.nodeType?E.find.matchesSelector(r,e)?[r]:[]:E.find.matches(e,E.grep(t,function(e){return 1===e.nodeType}))},E.fn.extend({find:function(e){var t,n,r=this.length,i=this;if("string"!=typeof e)return this.pushStack(E(e).filter(function(){for(t=0;t<r;t++)if(E.contains(i[t],this))return!0}));for(n=this.pushStack([]),t=0;t<r;t++)E.find(e,i[t],n);return 1<r?E.uniqueSort(n):n},filter:function(e){return this.pushStack(j(this,e||[],!1))},not:function(e){return this.pushStack(j(this,e||[],!0))},is:function(e){return!!j(this,"string"==typeof e&&k.test(e)?E(e):e||[],!1).length}});var D,q=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]+))$/;(E.fn.init=function(e,t,n){var r,i;if(!e)return this;if(n=n||D,"string"==typeof e){if(!(r="<"===e[0]&&">"===e[e.length-1]&&3<=e.length?[null,e,null]:q.exec(e))||!r[1]&&t)return!t||t.jquery?(t||n).find(e):this.constructor(t).find(e);if(r[1]){if(t=t instanceof E?t[0]:t,E.merge(this,E.parseHTML(r[1],t&&t.nodeType?t.ownerDocument||t:S,!0)),N.test(r[1])&&E.isPlainObject(t))for(r in t)m(this[r])?this[r](t[r]):this.attr(r,t[r]);return this}return(i=S.getElementById(r[2]))&&(this[0]=i,this.length=1),this}return e.nodeType?(this[0]=e,this.length=1,this):m(e)?void 0!==n.ready?n.ready(e):e(E):E.makeArray(e,this)}).prototype=E.fn,D=E(S);var L=/^(?:parents|prev(?:Until|All))/,H={children:!0,contents:!0,next:!0,prev:!0};function O(e,t){while((e=e[t])&&1!==e.nodeType);return e}E.fn.extend({has:function(e){var t=E(e,this),n=t.length;return this.filter(function(){for(var e=0;e<n;e++)if(E.contains(this,t[e]))return!0})},closest:function(e,t){var n,r=0,i=this.length,o=[],a="string"!=typeof e&&E(e);if(!k.test(e))for(;r<i;r++)for(n=this[r];n&&n!==t;n=n.parentNode)if(n.nodeType<11&&(a?-1<a.index(n):1===n.nodeType&&E.find.matchesSelector(n,e))){o.push(n);break}return this.pushStack(1<o.length?E.uniqueSort(o):o)},index:function(e){return e?"string"==typeof e?i.call(E(e),this[0]):i.call(this,e.jquery?e[0]:e):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(e,t){return this.pushStack(E.uniqueSort(E.merge(this.get(),E(e,t))))},addBack:function(e){return this.add(null==e?this.prevObject:this.prevObject.filter(e))}}),E.each({parent:function(e){var t=e.parentNode;return t&&11!==t.nodeType?t:null},parents:function(e){return h(e,"parentNode")},parentsUntil:function(e,t,n){return h(e,"parentNode",n)},next:function(e){return O(e,"nextSibling")},prev:function(e){return O(e,"previousSibling")},nextAll:function(e){return h(e,"nextSibling")},prevAll:function(e){return h(e,"previousSibling")},nextUntil:function(e,t,n){return h(e,"nextSibling",n)},prevUntil:function(e,t,n){return h(e,"previousSibling",n)},siblings:function(e){return T((e.parentNode||{}).firstChild,e)},children:function(e){return T(e.firstChild)},contents:function(e){return null!=e.contentDocument&&r(e.contentDocument)?e.contentDocument:(A(e,"template")&&(e=e.content||e),E.merge([],e.childNodes))}},function(r,i){E.fn[r]=function(e,t){var n=E.map(this,i,e);return"Until"!==r.slice(-5)&&(t=e),t&&"string"==typeof t&&(n=E.filter(t,n)),1<this.length&&(H[r]||E.uniqueSort(n),L.test(r)&&n.reverse()),this.pushStack(n)}});var P=/[^\x20\t\r\n\f]+/g;function R(e){return e}function M(e){throw e}function I(e,t,n,r){var i;try{e&&m(i=e.promise)?i.call(e).done(t).fail(n):e&&m(i=e.then)?i.call(e,t,n):t.apply(void 0,[e].slice(r))}catch(e){n.apply(void 0,[e])}}E.Callbacks=function(r){var e,n;r="string"==typeof r?(e=r,n={},E.each(e.match(P)||[],function(e,t){n[t]=!0}),n):E.extend({},r);var i,t,o,a,s=[],u=[],l=-1,c=function(){for(a=a||r.once,o=i=!0;u.length;l=-1){t=u.shift();while(++l<s.length)!1===s[l].apply(t[0],t[1])&&r.stopOnFalse&&(l=s.length,t=!1)}r.memory||(t=!1),i=!1,a&&(s=t?[]:"")},f={add:function(){return s&&(t&&!i&&(l=s.length-1,u.push(t)),function n(e){E.each(e,function(e,t){m(t)?r.unique&&f.has(t)||s.push(t):t&&t.length&&"string"!==w(t)&&n(t)})}(arguments),t&&!i&&c()),this},remove:function(){return E.each(arguments,function(e,t){var n;while(-1<(n=E.inArray(t,s,n)))s.splice(n,1),n<=l&&l--}),this},has:function(e){return e?-1<E.inArray(e,s):0<s.length},empty:function(){return s&&(s=[]),this},disable:function(){return a=u=[],s=t="",this},disabled:function(){return!s},lock:function(){return a=u=[],t||i||(s=t=""),this},locked:function(){return!!a},fireWith:function(e,t){return a||(t=[e,(t=t||[]).slice?t.slice():t],u.push(t),i||c()),this},fire:function(){return f.fireWith(this,arguments),this},fired:function(){return!!o}};return f},E.extend({Deferred:function(e){var o=[["notify","progress",E.Callbacks("memory"),E.Callbacks("memory"),2],["resolve","done",E.Callbacks("once memory"),E.Callbacks("once memory"),0,"resolved"],["reject","fail",E.Callbacks("once memory"),E.Callbacks("once memory"),1,"rejected"]],i="pending",a={state:function(){return i},always:function(){return s.done(arguments).fail(arguments),this},"catch":function(e){return a.then(null,e)},pipe:function(){var i=arguments;return E.Deferred(function(r){E.each(o,function(e,t){var n=m(i[t[4]])&&i[t[4]];s[t[1]](function(){var e=n&&n.apply(this,arguments);e&&m(e.promise)?e.promise().progress(r.notify).done(r.resolve).fail(r.reject):r[t[0]+"With"](this,n?[e]:arguments)})}),i=null}).promise()},then:function(t,n,r){var u=0;function l(i,o,a,s){return function(){var n=this,r=arguments,e=function(){var e,t;if(!(i<u)){if((e=a.apply(n,r))===o.promise())throw new TypeError("Thenable self-resolution");t=e&&("object"==typeof e||"function"==typeof e)&&e.then,m(t)?s?t.call(e,l(u,o,R,s),l(u,o,M,s)):(u++,t.call(e,l(u,o,R,s),l(u,o,M,s),l(u,o,R,o.notifyWith))):(a!==R&&(n=void 0,r=[e]),(s||o.resolveWith)(n,r))}},t=s?e:function(){try{e()}catch(e){E.Deferred.exceptionHook&&E.Deferred.exceptionHook(e,t.stackTrace),u<=i+1&&(a!==M&&(n=void 0,r=[e]),o.rejectWith(n,r))}};i?t():(E.Deferred.getStackHook&&(t.stackTrace=E.Deferred.getStackHook()),C.setTimeout(t))}}return E.Deferred(function(e){o[0][3].add(l(0,e,m(r)?r:R,e.notifyWith)),o[1][3].add(l(0,e,m(t)?t:R)),o[2][3].add(l(0,e,m(n)?n:M))}).promise()},promise:function(e){return null!=e?E.extend(e,a):a}},s={};return E.each(o,function(e,t){var n=t[2],r=t[5];a[t[1]]=n.add,r&&n.add(function(){i=r},o[3-e][2].disable,o[3-e][3].disable,o[0][2].lock,o[0][3].lock),n.add(t[3].fire),s[t[0]]=function(){return s[t[0]+"With"](this===s?void 0:this,arguments),this},s[t[0]+"With"]=n.fireWith}),a.promise(s),e&&e.call(s,s),s},when:function(e){var n=arguments.length,t=n,r=Array(t),i=s.call(arguments),o=E.Deferred(),a=function(t){return function(e){r[t]=this,i[t]=1<arguments.length?s.call(arguments):e,--n||o.resolveWith(r,i)}};if(n<=1&&(I(e,o.done(a(t)).resolve,o.reject,!n),"pending"===o.state()||m(i[t]&&i[t].then)))return o.then();while(t--)I(i[t],a(t),o.reject);return o.promise()}});var W=/^(Eval|Internal|Range|Reference|Syntax|Type|URI)Error$/;E.Deferred.exceptionHook=function(e,t){C.console&&C.console.warn&&e&&W.test(e.name)&&C.console.warn("jQuery.Deferred exception: "+e.message,e.stack,t)},E.readyException=function(e){C.setTimeout(function(){throw e})};var F=E.Deferred();function $(){S.removeEventListener("DOMContentLoaded",$),C.removeEventListener("load",$),E.ready()}E.fn.ready=function(e){return F.then(e)["catch"](function(e){E.readyException(e)}),this},E.extend({isReady:!1,readyWait:1,ready:function(e){(!0===e?--E.readyWait:E.isReady)||(E.isReady=!0)!==e&&0<--E.readyWait||F.resolveWith(S,[E])}}),E.ready.then=F.then,"complete"===S.readyState||"loading"!==S.readyState&&!S.documentElement.doScroll?C.setTimeout(E.ready):(S.addEventListener("DOMContentLoaded",$),C.addEventListener("load",$));var B=function(e,t,n,r,i,o,a){var s=0,u=e.length,l=null==n;if("object"===w(n))for(s in i=!0,n)B(e,t,s,n[s],!0,o,a);else if(void 0!==r&&(i=!0,m(r)||(a=!0),l&&(a?(t.call(e,r),t=null):(l=t,t=function(e,t,n){return l.call(E(e),n)})),t))for(;s<u;s++)t(e[s],n,a?r:r.call(e[s],s,t(e[s],n)));return i?e:l?t.call(e):u?t(e[0],n):o},_=/^-ms-/,z=/-([a-z])/g;function U(e,t){return t.toUpperCase()}function X(e){return e.replace(_,"ms-").replace(z,U)}var V=function(e){return 1===e.nodeType||9===e.nodeType||!+e.nodeType};function G(){this.expando=E.expando+G.uid++}G.uid=1,G.prototype={cache:function(e){var t=e[this.expando];return t||(t={},V(e)&&(e.nodeType?e[this.expando]=t:Object.defineProperty(e,this.expando,{value:t,configurable:!0}))),t},set:function(e,t,n){var r,i=this.cache(e);if("string"==typeof t)i[X(t)]=n;else for(r in t)i[X(r)]=t[r];return i},get:function(e,t){return void 0===t?this.cache(e):e[this.expando]&&e[this.expando][X(t)]},access:function(e,t,n){return void 0===t||t&&"string"==typeof t&&void 0===n?this.get(e,t):(this.set(e,t,n),void 0!==n?n:t)},remove:function(e,t){var n,r=e[this.expando];if(void 0!==r){if(void 0!==t){n=(t=Array.isArray(t)?t.map(X):(t=X(t))in r?[t]:t.match(P)||[]).length;while(n--)delete r[t[n]]}(void 0===t||E.isEmptyObject(r))&&(e.nodeType?e[this.expando]=void 0:delete e[this.expando])}},hasData:function(e){var t=e[this.expando];return void 0!==t&&!E.isEmptyObject(t)}};var Y=new G,Q=new G,J=/^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,K=/[A-Z]/g;function Z(e,t,n){var r,i;if(void 0===n&&1===e.nodeType)if(r="data-"+t.replace(K,"-$&").toLowerCase(),"string"==typeof(n=e.getAttribute(r))){try{n="true"===(i=n)||"false"!==i&&("null"===i?null:i===+i+""?+i:J.test(i)?JSON.parse(i):i)}catch(e){}Q.set(e,t,n)}else n=void 0;return n}E.extend({hasData:function(e){return Q.hasData(e)||Y.hasData(e)},data:function(e,t,n){return Q.access(e,t,n)},removeData:function(e,t){Q.remove(e,t)},_data:function(e,t,n){return Y.access(e,t,n)},_removeData:function(e,t){Y.remove(e,t)}}),E.fn.extend({data:function(n,e){var t,r,i,o=this[0],a=o&&o.attributes;if(void 0===n){if(this.length&&(i=Q.get(o),1===o.nodeType&&!Y.get(o,"hasDataAttrs"))){t=a.length;while(t--)a[t]&&0===(r=a[t].name).indexOf("data-")&&(r=X(r.slice(5)),Z(o,r,i[r]));Y.set(o,"hasDataAttrs",!0)}return i}return"object"==typeof n?this.each(function(){Q.set(this,n)}):B(this,function(e){var t;if(o&&void 0===e)return void 0!==(t=Q.get(o,n))?t:void 0!==(t=Z(o,n))?t:void 0;this.each(function(){Q.set(this,n,e)})},null,e,1<arguments.length,null,!0)},removeData:function(e){return this.each(function(){Q.remove(this,e)})}}),E.extend({queue:function(e,t,n){var r;if(e)return t=(t||"fx")+"queue",r=Y.get(e,t),n&&(!r||Array.isArray(n)?r=Y.access(e,t,E.makeArray(n)):r.push(n)),r||[]},dequeue:function(e,t){t=t||"fx";var n=E.queue(e,t),r=n.length,i=n.shift(),o=E._queueHooks(e,t);"inprogress"===i&&(i=n.shift(),r--),i&&("fx"===t&&n.unshift("inprogress"),delete o.stop,i.call(e,function(){E.dequeue(e,t)},o)),!r&&o&&o.empty.fire()},_queueHooks:function(e,t){var n=t+"queueHooks";return Y.get(e,n)||Y.access(e,n,{empty:E.Callbacks("once memory").add(function(){Y.remove(e,[t+"queue",n])})})}}),E.fn.extend({queue:function(t,n){var e=2;return"string"!=typeof t&&(n=t,t="fx",e--),arguments.length<e?E.queue(this[0],t):void 0===n?this:this.each(function(){var e=E.queue(this,t,n);E._queueHooks(this,t),"fx"===t&&"inprogress"!==e[0]&&E.dequeue(this,t)})},dequeue:function(e){return this.each(function(){E.dequeue(this,e)})},clearQueue:function(e){return this.queue(e||"fx",[])},promise:function(e,t){var n,r=1,i=E.Deferred(),o=this,a=this.length,s=function(){--r||i.resolveWith(o,[o])};"string"!=typeof e&&(t=e,e=void 0),e=e||"fx";while(a--)(n=Y.get(o[a],e+"queueHooks"))&&n.empty&&(r++,n.empty.add(s));return s(),i.promise(t)}});var ee=/[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source,te=new RegExp("^(?:([+-])=|)("+ee+")([a-z%]*)$","i"),ne=["Top","Right","Bottom","Left"],re=S.documentElement,ie=function(e){return E.contains(e.ownerDocument,e)},oe={composed:!0};re.getRootNode&&(ie=function(e){return E.contains(e.ownerDocument,e)||e.getRootNode(oe)===e.ownerDocument});var ae=function(e,t){return"none"===(e=t||e).style.display||""===e.style.display&&ie(e)&&"none"===E.css(e,"display")};function se(e,t,n,r){var i,o,a=20,s=r?function(){return r.cur()}:function(){return E.css(e,t,"")},u=s(),l=n&&n[3]||(E.cssNumber[t]?"":"px"),c=e.nodeType&&(E.cssNumber[t]||"px"!==l&&+u)&&te.exec(E.css(e,t));if(c&&c[3]!==l){u/=2,l=l||c[3],c=+u||1;while(a--)E.style(e,t,c+l),(1-o)*(1-(o=s()/u||.5))<=0&&(a=0),c/=o;c*=2,E.style(e,t,c+l),n=n||[]}return n&&(c=+c||+u||0,i=n[1]?c+(n[1]+1)*n[2]:+n[2],r&&(r.unit=l,r.start=c,r.end=i)),i}var ue={};function le(e,t){for(var n,r,i,o,a,s,u,l=[],c=0,f=e.length;c<f;c++)(r=e[c]).style&&(n=r.style.display,t?("none"===n&&(l[c]=Y.get(r,"display")||null,l[c]||(r.style.display="")),""===r.style.display&&ae(r)&&(l[c]=(u=a=o=void 0,a=(i=r).ownerDocument,s=i.nodeName,(u=ue[s])||(o=a.body.appendChild(a.createElement(s)),u=E.css(o,"display"),o.parentNode.removeChild(o),"none"===u&&(u="block"),ue[s]=u)))):"none"!==n&&(l[c]="none",Y.set(r,"display",n)));for(c=0;c<f;c++)null!=l[c]&&(e[c].style.display=l[c]);return e}E.fn.extend({show:function(){return le(this,!0)},hide:function(){return le(this)},toggle:function(e){return"boolean"==typeof e?e?this.show():this.hide():this.each(function(){ae(this)?E(this).show():E(this).hide()})}});var ce,fe,pe=/^(?:checkbox|radio)$/i,de=/<([a-z][^\/\0>\x20\t\r\n\f]*)/i,he=/^$|^module$|\/(?:java|ecma)script/i;ce=S.createDocumentFragment().appendChild(S.createElement("div")),(fe=S.createElement("input")).setAttribute("type","radio"),fe.setAttribute("checked","checked"),fe.setAttribute("name","t"),ce.appendChild(fe),v.checkClone=ce.cloneNode(!0).cloneNode(!0).lastChild.checked,ce.innerHTML="<textarea>x</textarea>",v.noCloneChecked=!!ce.cloneNode(!0).lastChild.defaultValue,ce.innerHTML="<option></option>",v.option=!!ce.lastChild;var ge={thead:[1,"<table>","</table>"],col:[2,"<table><colgroup>","</colgroup></table>"],tr:[2,"<table><tbody>","</tbody></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],_default:[0,"",""]};function ye(e,t){var n;return n="undefined"!=typeof e.getElementsByTagName?e.getElementsByTagName(t||"*"):"undefined"!=typeof e.querySelectorAll?e.querySelectorAll(t||"*"):[],void 0===t||t&&A(e,t)?E.merge([e],n):n}function ve(e,t){for(var n=0,r=e.length;n<r;n++)Y.set(e[n],"globalEval",!t||Y.get(t[n],"globalEval"))}ge.tbody=ge.tfoot=ge.colgroup=ge.caption=ge.thead,ge.th=ge.td,v.option||(ge.optgroup=ge.option=[1,"<select multiple='multiple'>","</select>"]);var me=/<|&#?\w+;/;function xe(e,t,n,r,i){for(var o,a,s,u,l,c,f=t.createDocumentFragment(),p=[],d=0,h=e.length;d<h;d++)if((o=e[d])||0===o)if("object"===w(o))E.merge(p,o.nodeType?[o]:o);else if(me.test(o)){a=a||f.appendChild(t.createElement("div")),s=(de.exec(o)||["",""])[1].toLowerCase(),u=ge[s]||ge._default,a.innerHTML=u[1]+E.htmlPrefilter(o)+u[2],c=u[0];while(c--)a=a.lastChild;E.merge(p,a.childNodes),(a=f.firstChild).textContent=""}else p.push(t.createTextNode(o));f.textContent="",d=0;while(o=p[d++])if(r&&-1<E.inArray(o,r))i&&i.push(o);else if(l=ie(o),a=ye(f.appendChild(o),"script"),l&&ve(a),n){c=0;while(o=a[c++])he.test(o.type||"")&&n.push(o)}return f}var be=/^([^.]*)(?:\.(.+)|)/;function we(){return!0}function Te(){return!1}function Ce(e,t){return e===function(){try{return S.activeElement}catch(e){}}()==("focus"===t)}function Se(e,t,n,r,i,o){var a,s;if("object"==typeof t){for(s in"string"!=typeof n&&(r=r||n,n=void 0),t)Se(e,s,n,r,t[s],o);return e}if(null==r&&null==i?(i=n,r=n=void 0):null==i&&("string"==typeof n?(i=r,r=void 0):(i=r,r=n,n=void 0)),!1===i)i=Te;else if(!i)return e;return 1===o&&(a=i,(i=function(e){return E().off(e),a.apply(this,arguments)}).guid=a.guid||(a.guid=E.guid++)),e.each(function(){E.event.add(this,t,i,r,n)})}function Ee(e,i,o){o?(Y.set(e,i,!1),E.event.add(e,i,{namespace:!1,handler:function(e){var t,n,r=Y.get(this,i);if(1&e.isTrigger&&this[i]){if(r.length)(E.event.special[i]||{}).delegateType&&e.stopPropagation();else if(r=s.call(arguments),Y.set(this,i,r),t=o(this,i),this[i](),r!==(n=Y.get(this,i))||t?Y.set(this,i,!1):n={},r!==n)return e.stopImmediatePropagation(),e.preventDefault(),n&&n.value}else r.length&&(Y.set(this,i,{value:E.event.trigger(E.extend(r[0],E.Event.prototype),r.slice(1),this)}),e.stopImmediatePropagation())}})):void 0===Y.get(e,i)&&E.event.add(e,i,we)}E.event={global:{},add:function(t,e,n,r,i){var o,a,s,u,l,c,f,p,d,h,g,y=Y.get(t);if(V(t)){n.handler&&(n=(o=n).handler,i=o.selector),i&&E.find.matchesSelector(re,i),n.guid||(n.guid=E.guid++),(u=y.events)||(u=y.events=Object.create(null)),(a=y.handle)||(a=y.handle=function(e){return"undefined"!=typeof E&&E.event.triggered!==e.type?E.event.dispatch.apply(t,arguments):void 0}),l=(e=(e||"").match(P)||[""]).length;while(l--)d=g=(s=be.exec(e[l])||[])[1],h=(s[2]||"").split(".").sort(),d&&(f=E.event.special[d]||{},d=(i?f.delegateType:f.bindType)||d,f=E.event.special[d]||{},c=E.extend({type:d,origType:g,data:r,handler:n,guid:n.guid,selector:i,needsContext:i&&E.expr.match.needsContext.test(i),namespace:h.join(".")},o),(p=u[d])||((p=u[d]=[]).delegateCount=0,f.setup&&!1!==f.setup.call(t,r,h,a)||t.addEventListener&&t.addEventListener(d,a)),f.add&&(f.add.call(t,c),c.handler.guid||(c.handler.guid=n.guid)),i?p.splice(p.delegateCount++,0,c):p.push(c),E.event.global[d]=!0)}},remove:function(e,t,n,r,i){var o,a,s,u,l,c,f,p,d,h,g,y=Y.hasData(e)&&Y.get(e);if(y&&(u=y.events)){l=(t=(t||"").match(P)||[""]).length;while(l--)if(d=g=(s=be.exec(t[l])||[])[1],h=(s[2]||"").split(".").sort(),d){f=E.event.special[d]||{},p=u[d=(r?f.delegateType:f.bindType)||d]||[],s=s[2]&&new RegExp("(^|\\.)"+h.join("\\.(?:.*\\.|)")+"(\\.|$)"),a=o=p.length;while(o--)c=p[o],!i&&g!==c.origType||n&&n.guid!==c.guid||s&&!s.test(c.namespace)||r&&r!==c.selector&&("**"!==r||!c.selector)||(p.splice(o,1),c.selector&&p.delegateCount--,f.remove&&f.remove.call(e,c));a&&!p.length&&(f.teardown&&!1!==f.teardown.call(e,h,y.handle)||E.removeEvent(e,d,y.handle),delete u[d])}else for(d in u)E.event.remove(e,d+t[l],n,r,!0);E.isEmptyObject(u)&&Y.remove(e,"handle events")}},dispatch:function(e){var t,n,r,i,o,a,s=new Array(arguments.length),u=E.event.fix(e),l=(Y.get(this,"events")||Object.create(null))[u.type]||[],c=E.event.special[u.type]||{};for(s[0]=u,t=1;t<arguments.length;t++)s[t]=arguments[t];if(u.delegateTarget=this,!c.preDispatch||!1!==c.preDispatch.call(this,u)){a=E.event.handlers.call(this,u,l),t=0;while((i=a[t++])&&!u.isPropagationStopped()){u.currentTarget=i.elem,n=0;while((o=i.handlers[n++])&&!u.isImmediatePropagationStopped())u.rnamespace&&!1!==o.namespace&&!u.rnamespace.test(o.namespace)||(u.handleObj=o,u.data=o.data,void 0!==(r=((E.event.special[o.origType]||{}).handle||o.handler).apply(i.elem,s))&&!1===(u.result=r)&&(u.preventDefault(),u.stopPropagation()))}return c.postDispatch&&c.postDispatch.call(this,u),u.result}},handlers:function(e,t){var n,r,i,o,a,s=[],u=t.delegateCount,l=e.target;if(u&&l.nodeType&&!("click"===e.type&&1<=e.button))for(;l!==this;l=l.parentNode||this)if(1===l.nodeType&&("click"!==e.type||!0!==l.disabled)){for(o=[],a={},n=0;n<u;n++)void 0===a[i=(r=t[n]).selector+" "]&&(a[i]=r.needsContext?-1<E(i,this).index(l):E.find(i,this,null,[l]).length),a[i]&&o.push(r);o.length&&s.push({elem:l,handlers:o})}return l=this,u<t.length&&s.push({elem:l,handlers:t.slice(u)}),s},addProp:function(t,e){Object.defineProperty(E.Event.prototype,t,{enumerable:!0,configurable:!0,get:m(e)?function(){if(this.originalEvent)return e(this.originalEvent)}:function(){if(this.originalEvent)return this.originalEvent[t]},set:function(e){Object.defineProperty(this,t,{enumerable:!0,configurable:!0,writable:!0,value:e})}})},fix:function(e){return e[E.expando]?e:new E.Event(e)},special:{load:{noBubble:!0},click:{setup:function(e){var t=this||e;return pe.test(t.type)&&t.click&&A(t,"input")&&Ee(t,"click",we),!1},trigger:function(e){var t=this||e;return pe.test(t.type)&&t.click&&A(t,"input")&&Ee(t,"click"),!0},_default:function(e){var t=e.target;return pe.test(t.type)&&t.click&&A(t,"input")&&Y.get(t,"click")||A(t,"a")}},beforeunload:{postDispatch:function(e){void 0!==e.result&&e.originalEvent&&(e.originalEvent.returnValue=e.result)}}}},E.removeEvent=function(e,t,n){e.removeEventListener&&e.removeEventListener(t,n)},E.Event=function(e,t){if(!(this instanceof E.Event))return new E.Event(e,t);e&&e.type?(this.originalEvent=e,this.type=e.type,this.isDefaultPrevented=e.defaultPrevented||void 0===e.defaultPrevented&&!1===e.returnValue?we:Te,this.target=e.target&&3===e.target.nodeType?e.target.parentNode:e.target,this.currentTarget=e.currentTarget,this.relatedTarget=e.relatedTarget):this.type=e,t&&E.extend(this,t),this.timeStamp=e&&e.timeStamp||Date.now(),this[E.expando]=!0},E.Event.prototype={constructor:E.Event,isDefaultPrevented:Te,isPropagationStopped:Te,isImmediatePropagationStopped:Te,isSimulated:!1,preventDefault:function(){var e=this.originalEvent;this.isDefaultPrevented=we,e&&!this.isSimulated&&e.preventDefault()},stopPropagation:function(){var e=this.originalEvent;this.isPropagationStopped=we,e&&!this.isSimulated&&e.stopPropagation()},stopImmediatePropagation:function(){var e=this.originalEvent;this.isImmediatePropagationStopped=we,e&&!this.isSimulated&&e.stopImmediatePropagation(),this.stopPropagation()}},E.each({altKey:!0,bubbles:!0,cancelable:!0,changedTouches:!0,ctrlKey:!0,detail:!0,eventPhase:!0,metaKey:!0,pageX:!0,pageY:!0,shiftKey:!0,view:!0,"char":!0,code:!0,charCode:!0,key:!0,keyCode:!0,button:!0,buttons:!0,clientX:!0,clientY:!0,offsetX:!0,offsetY:!0,pointerId:!0,pointerType:!0,screenX:!0,screenY:!0,targetTouches:!0,toElement:!0,touches:!0,which:!0},E.event.addProp),E.each({focus:"focusin",blur:"focusout"},function(t,e){E.event.special[t]={setup:function(){return Ee(this,t,Ce),!1},trigger:function(){return Ee(this,t),!0},_default:function(e){return Y.get(e.target,t)},delegateType:e}}),E.each({mouseenter:"mouseover",mouseleave:"mouseout",pointerenter:"pointerover",pointerleave:"pointerout"},function(e,i){E.event.special[e]={delegateType:i,bindType:i,handle:function(e){var t,n=e.relatedTarget,r=e.handleObj;return n&&(n===this||E.contains(this,n))||(e.type=r.origType,t=r.handler.apply(this,arguments),e.type=i),t}}}),E.fn.extend({on:function(e,t,n,r){return Se(this,e,t,n,r)},one:function(e,t,n,r){return Se(this,e,t,n,r,1)},off:function(e,t,n){var r,i;if(e&&e.preventDefault&&e.handleObj)return r=e.handleObj,E(e.delegateTarget).off(r.namespace?r.origType+"."+r.namespace:r.origType,r.selector,r.handler),this;if("object"==typeof e){for(i in e)this.off(i,t,e[i]);return this}return!1!==t&&"function"!=typeof t||(n=t,t=void 0),!1===n&&(n=Te),this.each(function(){E.event.remove(this,e,n,t)})}});var ke=/<script|<style|<link/i,Ae=/checked\s*(?:[^=]|=\s*.checked.)/i,Ne=/^\s*<!\[CDATA\[|\]\]>\s*$/g;function je(e,t){return A(e,"table")&&A(11!==t.nodeType?t:t.firstChild,"tr")&&E(e).children("tbody")[0]||e}function De(e){return e.type=(null!==e.getAttribute("type"))+"/"+e.type,e}function qe(e){return"true/"===(e.type||"").slice(0,5)?e.type=e.type.slice(5):e.removeAttribute("type"),e}function Le(e,t){var n,r,i,o,a,s;if(1===t.nodeType){if(Y.hasData(e)&&(s=Y.get(e).events))for(i in Y.remove(t,"handle events"),s)for(n=0,r=s[i].length;n<r;n++)E.event.add(t,i,s[i][n]);Q.hasData(e)&&(o=Q.access(e),a=E.extend({},o),Q.set(t,a))}}function He(n,r,i,o){r=g(r);var e,t,a,s,u,l,c=0,f=n.length,p=f-1,d=r[0],h=m(d);if(h||1<f&&"string"==typeof d&&!v.checkClone&&Ae.test(d))return n.each(function(e){var t=n.eq(e);h&&(r[0]=d.call(this,e,t.html())),He(t,r,i,o)});if(f&&(t=(e=xe(r,n[0].ownerDocument,!1,n,o)).firstChild,1===e.childNodes.length&&(e=t),t||o)){for(s=(a=E.map(ye(e,"script"),De)).length;c<f;c++)u=e,c!==p&&(u=E.clone(u,!0,!0),s&&E.merge(a,ye(u,"script"))),i.call(n[c],u,c);if(s)for(l=a[a.length-1].ownerDocument,E.map(a,qe),c=0;c<s;c++)u=a[c],he.test(u.type||"")&&!Y.access(u,"globalEval")&&E.contains(l,u)&&(u.src&&"module"!==(u.type||"").toLowerCase()?E._evalUrl&&!u.noModule&&E._evalUrl(u.src,{nonce:u.nonce||u.getAttribute("nonce")},l):b(u.textContent.replace(Ne,""),u,l))}return n}function Oe(e,t,n){for(var r,i=t?E.filter(t,e):e,o=0;null!=(r=i[o]);o++)n||1!==r.nodeType||E.cleanData(ye(r)),r.parentNode&&(n&&ie(r)&&ve(ye(r,"script")),r.parentNode.removeChild(r));return e}E.extend({htmlPrefilter:function(e){return e},clone:function(e,t,n){var r,i,o,a,s,u,l,c=e.cloneNode(!0),f=ie(e);if(!(v.noCloneChecked||1!==e.nodeType&&11!==e.nodeType||E.isXMLDoc(e)))for(a=ye(c),r=0,i=(o=ye(e)).length;r<i;r++)s=o[r],u=a[r],void 0,"input"===(l=u.nodeName.toLowerCase())&&pe.test(s.type)?u.checked=s.checked:"input"!==l&&"textarea"!==l||(u.defaultValue=s.defaultValue);if(t)if(n)for(o=o||ye(e),a=a||ye(c),r=0,i=o.length;r<i;r++)Le(o[r],a[r]);else Le(e,c);return 0<(a=ye(c,"script")).length&&ve(a,!f&&ye(e,"script")),c},cleanData:function(e){for(var t,n,r,i=E.event.special,o=0;void 0!==(n=e[o]);o++)if(V(n)){if(t=n[Y.expando]){if(t.events)for(r in t.events)i[r]?E.event.remove(n,r):E.removeEvent(n,r,t.handle);n[Y.expando]=void 0}n[Q.expando]&&(n[Q.expando]=void 0)}}}),E.fn.extend({detach:function(e){return Oe(this,e,!0)},remove:function(e){return Oe(this,e)},text:function(e){return B(this,function(e){return void 0===e?E.text(this):this.empty().each(function(){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||(this.textContent=e)})},null,e,arguments.length)},append:function(){return He(this,arguments,function(e){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||je(this,e).appendChild(e)})},prepend:function(){return He(this,arguments,function(e){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var t=je(this,e);t.insertBefore(e,t.firstChild)}})},before:function(){return He(this,arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this)})},after:function(){return He(this,arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this.nextSibling)})},empty:function(){for(var e,t=0;null!=(e=this[t]);t++)1===e.nodeType&&(E.cleanData(ye(e,!1)),e.textContent="");return this},clone:function(e,t){return e=null!=e&&e,t=null==t?e:t,this.map(function(){return E.clone(this,e,t)})},html:function(e){return B(this,function(e){var t=this[0]||{},n=0,r=this.length;if(void 0===e&&1===t.nodeType)return t.innerHTML;if("string"==typeof e&&!ke.test(e)&&!ge[(de.exec(e)||["",""])[1].toLowerCase()]){e=E.htmlPrefilter(e);try{for(;n<r;n++)1===(t=this[n]||{}).nodeType&&(E.cleanData(ye(t,!1)),t.innerHTML=e);t=0}catch(e){}}t&&this.empty().append(e)},null,e,arguments.length)},replaceWith:function(){var n=[];return He(this,arguments,function(e){var t=this.parentNode;E.inArray(this,n)<0&&(E.cleanData(ye(this)),t&&t.replaceChild(e,this))},n)}}),E.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(e,a){E.fn[e]=function(e){for(var t,n=[],r=E(e),i=r.length-1,o=0;o<=i;o++)t=o===i?this:this.clone(!0),E(r[o])[a](t),u.apply(n,t.get());return this.pushStack(n)}});var Pe=new RegExp("^("+ee+")(?!px)[a-z%]+$","i"),Re=/^--/,Me=function(e){var t=e.ownerDocument.defaultView;return t&&t.opener||(t=C),t.getComputedStyle(e)},Ie=function(e,t,n){var r,i,o={};for(i in t)o[i]=e.style[i],e.style[i]=t[i];for(i in r=n.call(e),t)e.style[i]=o[i];return r},We=new RegExp(ne.join("|"),"i"),Fe="[\\x20\\t\\r\\n\\f]",$e=new RegExp("^"+Fe+"+|((?:^|[^\\\\])(?:\\\\.)*)"+Fe+"+$","g");function Be(e,t,n){var r,i,o,a,s=Re.test(t),u=e.style;return(n=n||Me(e))&&(a=n.getPropertyValue(t)||n[t],s&&a&&(a=a.replace($e,"$1")||void 0),""!==a||ie(e)||(a=E.style(e,t)),!v.pixelBoxStyles()&&Pe.test(a)&&We.test(t)&&(r=u.width,i=u.minWidth,o=u.maxWidth,u.minWidth=u.maxWidth=u.width=a,a=n.width,u.width=r,u.minWidth=i,u.maxWidth=o)),void 0!==a?a+"":a}function _e(e,t){return{get:function(){if(!e())return(this.get=t).apply(this,arguments);delete this.get}}}!function(){function e(){if(l){u.style.cssText="position:absolute;left:-11111px;width:60px;margin-top:1px;padding:0;border:0",l.style.cssText="position:relative;display:block;box-sizing:border-box;overflow:scroll;margin:auto;border:1px;padding:1px;width:60%;top:1%",re.appendChild(u).appendChild(l);var e=C.getComputedStyle(l);n="1%"!==e.top,s=12===t(e.marginLeft),l.style.right="60%",o=36===t(e.right),r=36===t(e.width),l.style.position="absolute",i=12===t(l.offsetWidth/3),re.removeChild(u),l=null}}function t(e){return Math.round(parseFloat(e))}var n,r,i,o,a,s,u=S.createElement("div"),l=S.createElement("div");l.style&&(l.style.backgroundClip="content-box",l.cloneNode(!0).style.backgroundClip="",v.clearCloneStyle="content-box"===l.style.backgroundClip,E.extend(v,{boxSizingReliable:function(){return e(),r},pixelBoxStyles:function(){return e(),o},pixelPosition:function(){return e(),n},reliableMarginLeft:function(){return e(),s},scrollboxSize:function(){return e(),i},reliableTrDimensions:function(){var e,t,n,r;return null==a&&(e=S.createElement("table"),t=S.createElement("tr"),n=S.createElement("div"),e.style.cssText="position:absolute;left:-11111px;border-collapse:separate",t.style.cssText="border:1px solid",t.style.height="1px",n.style.height="9px",n.style.display="block",re.appendChild(e).appendChild(t).appendChild(n),r=C.getComputedStyle(t),a=parseInt(r.height,10)+parseInt(r.borderTopWidth,10)+parseInt(r.borderBottomWidth,10)===t.offsetHeight,re.removeChild(e)),a}}))}();var ze=["Webkit","Moz","ms"],Ue=S.createElement("div").style,Xe={};function Ve(e){var t=E.cssProps[e]||Xe[e];return t||(e in Ue?e:Xe[e]=function(e){var t=e[0].toUpperCase()+e.slice(1),n=ze.length;while(n--)if((e=ze[n]+t)in Ue)return e}(e)||e)}var Ge=/^(none|table(?!-c[ea]).+)/,Ye={position:"absolute",visibility:"hidden",display:"block"},Qe={letterSpacing:"0",fontWeight:"400"};function Je(e,t,n){var r=te.exec(t);return r?Math.max(0,r[2]-(n||0))+(r[3]||"px"):t}function Ke(e,t,n,r,i,o){var a="width"===t?1:0,s=0,u=0;if(n===(r?"border":"content"))return 0;for(;a<4;a+=2)"margin"===n&&(u+=E.css(e,n+ne[a],!0,i)),r?("content"===n&&(u-=E.css(e,"padding"+ne[a],!0,i)),"margin"!==n&&(u-=E.css(e,"border"+ne[a]+"Width",!0,i))):(u+=E.css(e,"padding"+ne[a],!0,i),"padding"!==n?u+=E.css(e,"border"+ne[a]+"Width",!0,i):s+=E.css(e,"border"+ne[a]+"Width",!0,i));return!r&&0<=o&&(u+=Math.max(0,Math.ceil(e["offset"+t[0].toUpperCase()+t.slice(1)]-o-u-s-.5))||0),u}function Ze(e,t,n){var r=Me(e),i=(!v.boxSizingReliable()||n)&&"border-box"===E.css(e,"boxSizing",!1,r),o=i,a=Be(e,t,r),s="offset"+t[0].toUpperCase()+t.slice(1);if(Pe.test(a)){if(!n)return a;a="auto"}return(!v.boxSizingReliable()&&i||!v.reliableTrDimensions()&&A(e,"tr")||"auto"===a||!parseFloat(a)&&"inline"===E.css(e,"display",!1,r))&&e.getClientRects().length&&(i="border-box"===E.css(e,"boxSizing",!1,r),(o=s in e)&&(a=e[s])),(a=parseFloat(a)||0)+Ke(e,t,n||(i?"border":"content"),o,r,a)+"px"}function et(e,t,n,r,i){return new et.prototype.init(e,t,n,r,i)}E.extend({cssHooks:{opacity:{get:function(e,t){if(t){var n=Be(e,"opacity");return""===n?"1":n}}}},cssNumber:{animationIterationCount:!0,columnCount:!0,fillOpacity:!0,flexGrow:!0,flexShrink:!0,fontWeight:!0,gridArea:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnStart:!0,gridRow:!0,gridRowEnd:!0,gridRowStart:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{},style:function(e,t,n,r){if(e&&3!==e.nodeType&&8!==e.nodeType&&e.style){var i,o,a,s=X(t),u=Re.test(t),l=e.style;if(u||(t=Ve(s)),a=E.cssHooks[t]||E.cssHooks[s],void 0===n)return a&&"get"in a&&void 0!==(i=a.get(e,!1,r))?i:l[t];"string"===(o=typeof n)&&(i=te.exec(n))&&i[1]&&(n=se(e,t,i),o="number"),null!=n&&n==n&&("number"!==o||u||(n+=i&&i[3]||(E.cssNumber[s]?"":"px")),v.clearCloneStyle||""!==n||0!==t.indexOf("background")||(l[t]="inherit"),a&&"set"in a&&void 0===(n=a.set(e,n,r))||(u?l.setProperty(t,n):l[t]=n))}},css:function(e,t,n,r){var i,o,a,s=X(t);return Re.test(t)||(t=Ve(s)),(a=E.cssHooks[t]||E.cssHooks[s])&&"get"in a&&(i=a.get(e,!0,n)),void 0===i&&(i=Be(e,t,r)),"normal"===i&&t in Qe&&(i=Qe[t]),""===n||n?(o=parseFloat(i),!0===n||isFinite(o)?o||0:i):i}}),E.each(["height","width"],function(e,u){E.cssHooks[u]={get:function(e,t,n){if(t)return!Ge.test(E.css(e,"display"))||e.getClientRects().length&&e.getBoundingClientRect().width?Ze(e,u,n):Ie(e,Ye,function(){return Ze(e,u,n)})},set:function(e,t,n){var r,i=Me(e),o=!v.scrollboxSize()&&"absolute"===i.position,a=(o||n)&&"border-box"===E.css(e,"boxSizing",!1,i),s=n?Ke(e,u,n,a,i):0;return a&&o&&(s-=Math.ceil(e["offset"+u[0].toUpperCase()+u.slice(1)]-parseFloat(i[u])-Ke(e,u,"border",!1,i)-.5)),s&&(r=te.exec(t))&&"px"!==(r[3]||"px")&&(e.style[u]=t,t=E.css(e,u)),Je(0,t,s)}}}),E.cssHooks.marginLeft=_e(v.reliableMarginLeft,function(e,t){if(t)return(parseFloat(Be(e,"marginLeft"))||e.getBoundingClientRect().left-Ie(e,{marginLeft:0},function(){return e.getBoundingClientRect().left}))+"px"}),E.each({margin:"",padding:"",border:"Width"},function(i,o){E.cssHooks[i+o]={expand:function(e){for(var t=0,n={},r="string"==typeof e?e.split(" "):[e];t<4;t++)n[i+ne[t]+o]=r[t]||r[t-2]||r[0];return n}},"margin"!==i&&(E.cssHooks[i+o].set=Je)}),E.fn.extend({css:function(e,t){return B(this,function(e,t,n){var r,i,o={},a=0;if(Array.isArray(t)){for(r=Me(e),i=t.length;a<i;a++)o[t[a]]=E.css(e,t[a],!1,r);return o}return void 0!==n?E.style(e,t,n):E.css(e,t)},e,t,1<arguments.length)}}),((E.Tween=et).prototype={constructor:et,init:function(e,t,n,r,i,o){this.elem=e,this.prop=n,this.easing=i||E.easing._default,this.options=t,this.start=this.now=this.cur(),this.end=r,this.unit=o||(E.cssNumber[n]?"":"px")},cur:function(){var e=et.propHooks[this.prop];return e&&e.get?e.get(this):et.propHooks._default.get(this)},run:function(e){var t,n=et.propHooks[this.prop];return this.options.duration?this.pos=t=E.easing[this.easing](e,this.options.duration*e,0,1,this.options.duration):this.pos=t=e,this.now=(this.end-this.start)*t+this.start,this.options.step&&this.options.step.call(this.elem,this.now,this),n&&n.set?n.set(this):et.propHooks._default.set(this),this}}).init.prototype=et.prototype,(et.propHooks={_default:{get:function(e){var t;return 1!==e.elem.nodeType||null!=e.elem[e.prop]&&null==e.elem.style[e.prop]?e.elem[e.prop]:(t=E.css(e.elem,e.prop,""))&&"auto"!==t?t:0},set:function(e){E.fx.step[e.prop]?E.fx.step[e.prop](e):1!==e.elem.nodeType||!E.cssHooks[e.prop]&&null==e.elem.style[Ve(e.prop)]?e.elem[e.prop]=e.now:E.style(e.elem,e.prop,e.now+e.unit)}}}).scrollTop=et.propHooks.scrollLeft={set:function(e){e.elem.nodeType&&e.elem.parentNode&&(e.elem[e.prop]=e.now)}},E.easing={linear:function(e){return e},swing:function(e){return.5-Math.cos(e*Math.PI)/2},_default:"swing"},E.fx=et.prototype.init,E.fx.step={};var tt,nt,rt,it,ot=/^(?:toggle|show|hide)$/,at=/queueHooks$/;function st(){nt&&(!1===S.hidden&&C.requestAnimationFrame?C.requestAnimationFrame(st):C.setTimeout(st,E.fx.interval),E.fx.tick())}function ut(){return C.setTimeout(function(){tt=void 0}),tt=Date.now()}function lt(e,t){var n,r=0,i={height:e};for(t=t?1:0;r<4;r+=2-t)i["margin"+(n=ne[r])]=i["padding"+n]=e;return t&&(i.opacity=i.width=e),i}function ct(e,t,n){for(var r,i=(ft.tweeners[t]||[]).concat(ft.tweeners["*"]),o=0,a=i.length;o<a;o++)if(r=i[o].call(n,t,e))return r}function ft(o,e,t){var n,a,r=0,i=ft.prefilters.length,s=E.Deferred().always(function(){delete u.elem}),u=function(){if(a)return!1;for(var e=tt||ut(),t=Math.max(0,l.startTime+l.duration-e),n=1-(t/l.duration||0),r=0,i=l.tweens.length;r<i;r++)l.tweens[r].run(n);return s.notifyWith(o,[l,n,t]),n<1&&i?t:(i||s.notifyWith(o,[l,1,0]),s.resolveWith(o,[l]),!1)},l=s.promise({elem:o,props:E.extend({},e),opts:E.extend(!0,{specialEasing:{},easing:E.easing._default},t),originalProperties:e,originalOptions:t,startTime:tt||ut(),duration:t.duration,tweens:[],createTween:function(e,t){var n=E.Tween(o,l.opts,e,t,l.opts.specialEasing[e]||l.opts.easing);return l.tweens.push(n),n},stop:function(e){var t=0,n=e?l.tweens.length:0;if(a)return this;for(a=!0;t<n;t++)l.tweens[t].run(1);return e?(s.notifyWith(o,[l,1,0]),s.resolveWith(o,[l,e])):s.rejectWith(o,[l,e]),this}}),c=l.props;for(!function(e,t){var n,r,i,o,a;for(n in e)if(i=t[r=X(n)],o=e[n],Array.isArray(o)&&(i=o[1],o=e[n]=o[0]),n!==r&&(e[r]=o,delete e[n]),(a=E.cssHooks[r])&&"expand"in a)for(n in o=a.expand(o),delete e[r],o)n in e||(e[n]=o[n],t[n]=i);else t[r]=i}(c,l.opts.specialEasing);r<i;r++)if(n=ft.prefilters[r].call(l,o,c,l.opts))return m(n.stop)&&(E._queueHooks(l.elem,l.opts.queue).stop=n.stop.bind(n)),n;return E.map(c,ct,l),m(l.opts.start)&&l.opts.start.call(o,l),l.progress(l.opts.progress).done(l.opts.done,l.opts.complete).fail(l.opts.fail).always(l.opts.always),E.fx.timer(E.extend(u,{elem:o,anim:l,queue:l.opts.queue})),l}E.Animation=E.extend(ft,{tweeners:{"*":[function(e,t){var n=this.createTween(e,t);return se(n.elem,e,te.exec(t),n),n}]},tweener:function(e,t){m(e)?(t=e,e=["*"]):e=e.match(P);for(var n,r=0,i=e.length;r<i;r++)n=e[r],ft.tweeners[n]=ft.tweeners[n]||[],ft.tweeners[n].unshift(t)},prefilters:[function(e,t,n){var r,i,o,a,s,u,l,c,f="width"in t||"height"in t,p=this,d={},h=e.style,g=e.nodeType&&ae(e),y=Y.get(e,"fxshow");for(r in n.queue||(null==(a=E._queueHooks(e,"fx")).unqueued&&(a.unqueued=0,s=a.empty.fire,a.empty.fire=function(){a.unqueued||s()}),a.unqueued++,p.always(function(){p.always(function(){a.unqueued--,E.queue(e,"fx").length||a.empty.fire()})})),t)if(i=t[r],ot.test(i)){if(delete t[r],o=o||"toggle"===i,i===(g?"hide":"show")){if("show"!==i||!y||void 0===y[r])continue;g=!0}d[r]=y&&y[r]||E.style(e,r)}if((u=!E.isEmptyObject(t))||!E.isEmptyObject(d))for(r in f&&1===e.nodeType&&(n.overflow=[h.overflow,h.overflowX,h.overflowY],null==(l=y&&y.display)&&(l=Y.get(e,"display")),"none"===(c=E.css(e,"display"))&&(l?c=l:(le([e],!0),l=e.style.display||l,c=E.css(e,"display"),le([e]))),("inline"===c||"inline-block"===c&&null!=l)&&"none"===E.css(e,"float")&&(u||(p.done(function(){h.display=l}),null==l&&(c=h.display,l="none"===c?"":c)),h.display="inline-block")),n.overflow&&(h.overflow="hidden",p.always(function(){h.overflow=n.overflow[0],h.overflowX=n.overflow[1],h.overflowY=n.overflow[2]})),u=!1,d)u||(y?"hidden"in y&&(g=y.hidden):y=Y.access(e,"fxshow",{display:l}),o&&(y.hidden=!g),g&&le([e],!0),p.done(function(){for(r in g||le([e]),Y.remove(e,"fxshow"),d)E.style(e,r,d[r])})),u=ct(g?y[r]:0,r,p),r in y||(y[r]=u.start,g&&(u.end=u.start,u.start=0))}],prefilter:function(e,t){t?ft.prefilters.unshift(e):ft.prefilters.push(e)}}),E.speed=function(e,t,n){var r=e&&"object"==typeof e?E.extend({},e):{complete:n||!n&&t||m(e)&&e,duration:e,easing:n&&t||t&&!m(t)&&t};return E.fx.off?r.duration=0:"number"!=typeof r.duration&&(r.duration in E.fx.speeds?r.duration=E.fx.speeds[r.duration]:r.duration=E.fx.speeds._default),null!=r.queue&&!0!==r.queue||(r.queue="fx"),r.old=r.complete,r.complete=function(){m(r.old)&&r.old.call(this),r.queue&&E.dequeue(this,r.queue)},r},E.fn.extend({fadeTo:function(e,t,n,r){return this.filter(ae).css("opacity",0).show().end().animate({opacity:t},e,n,r)},animate:function(t,e,n,r){var i=E.isEmptyObject(t),o=E.speed(e,n,r),a=function(){var e=ft(this,E.extend({},t),o);(i||Y.get(this,"finish"))&&e.stop(!0)};return a.finish=a,i||!1===o.queue?this.each(a):this.queue(o.queue,a)},stop:function(i,e,o){var a=function(e){var t=e.stop;delete e.stop,t(o)};return"string"!=typeof i&&(o=e,e=i,i=void 0),e&&this.queue(i||"fx",[]),this.each(function(){var e=!0,t=null!=i&&i+"queueHooks",n=E.timers,r=Y.get(this);if(t)r[t]&&r[t].stop&&a(r[t]);else for(t in r)r[t]&&r[t].stop&&at.test(t)&&a(r[t]);for(t=n.length;t--;)n[t].elem!==this||null!=i&&n[t].queue!==i||(n[t].anim.stop(o),e=!1,n.splice(t,1));!e&&o||E.dequeue(this,i)})},finish:function(a){return!1!==a&&(a=a||"fx"),this.each(function(){var e,t=Y.get(this),n=t[a+"queue"],r=t[a+"queueHooks"],i=E.timers,o=n?n.length:0;for(t.finish=!0,E.queue(this,a,[]),r&&r.stop&&r.stop.call(this,!0),e=i.length;e--;)i[e].elem===this&&i[e].queue===a&&(i[e].anim.stop(!0),i.splice(e,1));for(e=0;e<o;e++)n[e]&&n[e].finish&&n[e].finish.call(this);delete t.finish})}}),E.each(["toggle","show","hide"],function(e,r){var i=E.fn[r];E.fn[r]=function(e,t,n){return null==e||"boolean"==typeof e?i.apply(this,arguments):this.animate(lt(r,!0),e,t,n)}}),E.each({slideDown:lt("show"),slideUp:lt("hide"),slideToggle:lt("toggle"),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(e,r){E.fn[e]=function(e,t,n){return this.animate(r,e,t,n)}}),E.timers=[],E.fx.tick=function(){var e,t=0,n=E.timers;for(tt=Date.now();t<n.length;t++)(e=n[t])()||n[t]!==e||n.splice(t--,1);n.length||E.fx.stop(),tt=void 0},E.fx.timer=function(e){E.timers.push(e),E.fx.start()},E.fx.interval=13,E.fx.start=function(){nt||(nt=!0,st())},E.fx.stop=function(){nt=null},E.fx.speeds={slow:600,fast:200,_default:400},E.fn.delay=function(r,e){return r=E.fx&&E.fx.speeds[r]||r,e=e||"fx",this.queue(e,function(e,t){var n=C.setTimeout(e,r);t.stop=function(){C.clearTimeout(n)}})},rt=S.createElement("input"),it=S.createElement("select").appendChild(S.createElement("option")),rt.type="checkbox",v.checkOn=""!==rt.value,v.optSelected=it.selected,(rt=S.createElement("input")).value="t",rt.type="radio",v.radioValue="t"===rt.value;var pt,dt=E.expr.attrHandle;E.fn.extend({attr:function(e,t){return B(this,E.attr,e,t,1<arguments.length)},removeAttr:function(e){return this.each(function(){E.removeAttr(this,e)})}}),E.extend({attr:function(e,t,n){var r,i,o=e.nodeType;if(3!==o&&8!==o&&2!==o)return"undefined"==typeof e.getAttribute?E.prop(e,t,n):(1===o&&E.isXMLDoc(e)||(i=E.attrHooks[t.toLowerCase()]||(E.expr.match.bool.test(t)?pt:void 0)),void 0!==n?null===n?void E.removeAttr(e,t):i&&"set"in i&&void 0!==(r=i.set(e,n,t))?r:(e.setAttribute(t,n+""),n):i&&"get"in i&&null!==(r=i.get(e,t))?r:null==(r=E.find.attr(e,t))?void 0:r)},attrHooks:{type:{set:function(e,t){if(!v.radioValue&&"radio"===t&&A(e,"input")){var n=e.value;return e.setAttribute("type",t),n&&(e.value=n),t}}}},removeAttr:function(e,t){var n,r=0,i=t&&t.match(P);if(i&&1===e.nodeType)while(n=i[r++])e.removeAttribute(n)}}),pt={set:function(e,t,n){return!1===t?E.removeAttr(e,n):e.setAttribute(n,n),n}},E.each(E.expr.match.bool.source.match(/\w+/g),function(e,t){var a=dt[t]||E.find.attr;dt[t]=function(e,t,n){var r,i,o=t.toLowerCase();return n||(i=dt[o],dt[o]=r,r=null!=a(e,t,n)?o:null,dt[o]=i),r}});var ht=/^(?:input|select|textarea|button)$/i,gt=/^(?:a|area)$/i;function yt(e){return(e.match(P)||[]).join(" ")}function vt(e){return e.getAttribute&&e.getAttribute("class")||""}function mt(e){return Array.isArray(e)?e:"string"==typeof e&&e.match(P)||[]}E.fn.extend({prop:function(e,t){return B(this,E.prop,e,t,1<arguments.length)},removeProp:function(e){return this.each(function(){delete this[E.propFix[e]||e]})}}),E.extend({prop:function(e,t,n){var r,i,o=e.nodeType;if(3!==o&&8!==o&&2!==o)return 1===o&&E.isXMLDoc(e)||(t=E.propFix[t]||t,i=E.propHooks[t]),void 0!==n?i&&"set"in i&&void 0!==(r=i.set(e,n,t))?r:e[t]=n:i&&"get"in i&&null!==(r=i.get(e,t))?r:e[t]},propHooks:{tabIndex:{get:function(e){var t=E.find.attr(e,"tabindex");return t?parseInt(t,10):ht.test(e.nodeName)||gt.test(e.nodeName)&&e.href?0:-1}}},propFix:{"for":"htmlFor","class":"className"}}),v.optSelected||(E.propHooks.selected={get:function(e){var t=e.parentNode;return t&&t.parentNode&&t.parentNode.selectedIndex,null},set:function(e){var t=e.parentNode;t&&(t.selectedIndex,t.parentNode&&t.parentNode.selectedIndex)}}),E.each(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],function(){E.propFix[this.toLowerCase()]=this}),E.fn.extend({addClass:function(t){var e,n,r,i,o,a;return m(t)?this.each(function(e){E(this).addClass(t.call(this,e,vt(this)))}):(e=mt(t)).length?this.each(function(){if(r=vt(this),n=1===this.nodeType&&" "+yt(r)+" "){for(o=0;o<e.length;o++)i=e[o],n.indexOf(" "+i+" ")<0&&(n+=i+" ");a=yt(n),r!==a&&this.setAttribute("class",a)}}):this},removeClass:function(t){var e,n,r,i,o,a;return m(t)?this.each(function(e){E(this).removeClass(t.call(this,e,vt(this)))}):arguments.length?(e=mt(t)).length?this.each(function(){if(r=vt(this),n=1===this.nodeType&&" "+yt(r)+" "){for(o=0;o<e.length;o++){i=e[o];while(-1<n.indexOf(" "+i+" "))n=n.replace(" "+i+" "," ")}a=yt(n),r!==a&&this.setAttribute("class",a)}}):this:this.attr("class","")},toggleClass:function(t,n){var e,r,i,o,a=typeof t,s="string"===a||Array.isArray(t);return m(t)?this.each(function(e){E(this).toggleClass(t.call(this,e,vt(this),n),n)}):"boolean"==typeof n&&s?n?this.addClass(t):this.removeClass(t):(e=mt(t),this.each(function(){if(s)for(o=E(this),i=0;i<e.length;i++)r=e[i],o.hasClass(r)?o.removeClass(r):o.addClass(r);else void 0!==t&&"boolean"!==a||((r=vt(this))&&Y.set(this,"__className__",r),this.setAttribute&&this.setAttribute("class",r||!1===t?"":Y.get(this,"__className__")||""))}))},hasClass:function(e){var t,n,r=0;t=" "+e+" ";while(n=this[r++])if(1===n.nodeType&&-1<(" "+yt(vt(n))+" ").indexOf(t))return!0;return!1}});var xt=/\r/g;E.fn.extend({val:function(n){var r,e,i,t=this[0];return arguments.length?(i=m(n),this.each(function(e){var t;1===this.nodeType&&(null==(t=i?n.call(this,e,E(this).val()):n)?t="":"number"==typeof t?t+="":Array.isArray(t)&&(t=E.map(t,function(e){return null==e?"":e+""})),(r=E.valHooks[this.type]||E.valHooks[this.nodeName.toLowerCase()])&&"set"in r&&void 0!==r.set(this,t,"value")||(this.value=t))})):t?(r=E.valHooks[t.type]||E.valHooks[t.nodeName.toLowerCase()])&&"get"in r&&void 0!==(e=r.get(t,"value"))?e:"string"==typeof(e=t.value)?e.replace(xt,""):null==e?"":e:void 0}}),E.extend({valHooks:{option:{get:function(e){var t=E.find.attr(e,"value");return null!=t?t:yt(E.text(e))}},select:{get:function(e){var t,n,r,i=e.options,o=e.selectedIndex,a="select-one"===e.type,s=a?null:[],u=a?o+1:i.length;for(r=o<0?u:a?o:0;r<u;r++)if(((n=i[r]).selected||r===o)&&!n.disabled&&(!n.parentNode.disabled||!A(n.parentNode,"optgroup"))){if(t=E(n).val(),a)return t;s.push(t)}return s},set:function(e,t){var n,r,i=e.options,o=E.makeArray(t),a=i.length;while(a--)((r=i[a]).selected=-1<E.inArray(E.valHooks.option.get(r),o))&&(n=!0);return n||(e.selectedIndex=-1),o}}}}),E.each(["radio","checkbox"],function(){E.valHooks[this]={set:function(e,t){if(Array.isArray(t))return e.checked=-1<E.inArray(E(e).val(),t)}},v.checkOn||(E.valHooks[this].get=function(e){return null===e.getAttribute("value")?"on":e.value})}),v.focusin="onfocusin"in C;var bt=/^(?:focusinfocus|focusoutblur)$/,wt=function(e){e.stopPropagation()};E.extend(E.event,{trigger:function(e,t,n,r){var i,o,a,s,u,l,c,f,p=[n||S],d=y.call(e,"type")?e.type:e,h=y.call(e,"namespace")?e.namespace.split("."):[];if(o=f=a=n=n||S,3!==n.nodeType&&8!==n.nodeType&&!bt.test(d+E.event.triggered)&&(-1<d.indexOf(".")&&(d=(h=d.split(".")).shift(),h.sort()),u=d.indexOf(":")<0&&"on"+d,(e=e[E.expando]?e:new E.Event(d,"object"==typeof e&&e)).isTrigger=r?2:3,e.namespace=h.join("."),e.rnamespace=e.namespace?new RegExp("(^|\\.)"+h.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,e.result=void 0,e.target||(e.target=n),t=null==t?[e]:E.makeArray(t,[e]),c=E.event.special[d]||{},r||!c.trigger||!1!==c.trigger.apply(n,t))){if(!r&&!c.noBubble&&!x(n)){for(s=c.delegateType||d,bt.test(s+d)||(o=o.parentNode);o;o=o.parentNode)p.push(o),a=o;a===(n.ownerDocument||S)&&p.push(a.defaultView||a.parentWindow||C)}i=0;while((o=p[i++])&&!e.isPropagationStopped())f=o,e.type=1<i?s:c.bindType||d,(l=(Y.get(o,"events")||Object.create(null))[e.type]&&Y.get(o,"handle"))&&l.apply(o,t),(l=u&&o[u])&&l.apply&&V(o)&&(e.result=l.apply(o,t),!1===e.result&&e.preventDefault());return e.type=d,r||e.isDefaultPrevented()||c._default&&!1!==c._default.apply(p.pop(),t)||!V(n)||u&&m(n[d])&&!x(n)&&((a=n[u])&&(n[u]=null),E.event.triggered=d,e.isPropagationStopped()&&f.addEventListener(d,wt),n[d](),e.isPropagationStopped()&&f.removeEventListener(d,wt),E.event.triggered=void 0,a&&(n[u]=a)),e.result}},simulate:function(e,t,n){var r=E.extend(new E.Event,n,{type:e,isSimulated:!0});E.event.trigger(r,null,t)}}),E.fn.extend({trigger:function(e,t){return this.each(function(){E.event.trigger(e,t,this)})},triggerHandler:function(e,t){var n=this[0];if(n)return E.event.trigger(e,t,n,!0)}}),v.focusin||E.each({focus:"focusin",blur:"focusout"},function(n,r){var i=function(e){E.event.simulate(r,e.target,E.event.fix(e))};E.event.special[r]={setup:function(){var e=this.ownerDocument||this.document||this,t=Y.access(e,r);t||e.addEventListener(n,i,!0),Y.access(e,r,(t||0)+1)},teardown:function(){var e=this.ownerDocument||this.document||this,t=Y.access(e,r)-1;t?Y.access(e,r,t):(e.removeEventListener(n,i,!0),Y.remove(e,r))}}});var Tt=C.location,Ct={guid:Date.now()},St=/\?/;E.parseXML=function(e){var t,n;if(!e||"string"!=typeof e)return null;try{t=(new C.DOMParser).parseFromString(e,"text/xml")}catch(e){}return n=t&&t.getElementsByTagName("parsererror")[0],t&&!n||E.error("Invalid XML: "+(n?E.map(n.childNodes,function(e){return e.textContent}).join("\n"):e)),t};var Et=/\[\]$/,kt=/\r?\n/g,At=/^(?:submit|button|image|reset|file)$/i,Nt=/^(?:input|select|textarea|keygen)/i;function jt(n,e,r,i){var t;if(Array.isArray(e))E.each(e,function(e,t){r||Et.test(n)?i(n,t):jt(n+"["+("object"==typeof t&&null!=t?e:"")+"]",t,r,i)});else if(r||"object"!==w(e))i(n,e);else for(t in e)jt(n+"["+t+"]",e[t],r,i)}E.param=function(e,t){var n,r=[],i=function(e,t){var n=m(t)?t():t;r[r.length]=encodeURIComponent(e)+"="+encodeURIComponent(null==n?"":n)};if(null==e)return"";if(Array.isArray(e)||e.jquery&&!E.isPlainObject(e))E.each(e,function(){i(this.name,this.value)});else for(n in e)jt(n,e[n],t,i);return r.join("&")},E.fn.extend({serialize:function(){return E.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var e=E.prop(this,"elements");return e?E.makeArray(e):this}).filter(function(){var e=this.type;return this.name&&!E(this).is(":disabled")&&Nt.test(this.nodeName)&&!At.test(e)&&(this.checked||!pe.test(e))}).map(function(e,t){var n=E(this).val();return null==n?null:Array.isArray(n)?E.map(n,function(e){return{name:t.name,value:e.replace(kt,"\r\n")}}):{name:t.name,value:n.replace(kt,"\r\n")}}).get()}});var Dt=/%20/g,qt=/#.*$/,Lt=/([?&])_=[^&]*/,Ht=/^(.*?):[ \t]*([^\r\n]*)$/gm,Ot=/^(?:GET|HEAD)$/,Pt=/^\/\//,Rt={},Mt={},It="*/".concat("*"),Wt=S.createElement("a");function Ft(o){return function(e,t){"string"!=typeof e&&(t=e,e="*");var n,r=0,i=e.toLowerCase().match(P)||[];if(m(t))while(n=i[r++])"+"===n[0]?(n=n.slice(1)||"*",(o[n]=o[n]||[]).unshift(t)):(o[n]=o[n]||[]).push(t)}}function $t(t,i,o,a){var s={},u=t===Mt;function l(e){var r;return s[e]=!0,E.each(t[e]||[],function(e,t){var n=t(i,o,a);return"string"!=typeof n||u||s[n]?u?!(r=n):void 0:(i.dataTypes.unshift(n),l(n),!1)}),r}return l(i.dataTypes[0])||!s["*"]&&l("*")}function Bt(e,t){var n,r,i=E.ajaxSettings.flatOptions||{};for(n in t)void 0!==t[n]&&((i[n]?e:r||(r={}))[n]=t[n]);return r&&E.extend(!0,e,r),e}Wt.href=Tt.href,E.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:Tt.href,type:"GET",isLocal:/^(?:about|app|app-storage|.+-extension|file|res|widget):$/.test(Tt.protocol),global:!0,processData:!0,async:!0,contentType:"application/x-www-form-urlencoded; charset=UTF-8",accepts:{"*":It,text:"text/plain",html:"text/html",xml:"application/xml, text/xml",json:"application/json, text/javascript"},contents:{xml:/\bxml\b/,html:/\bhtml/,json:/\bjson\b/},responseFields:{xml:"responseXML",text:"responseText",json:"responseJSON"},converters:{"* text":String,"text html":!0,"text json":JSON.parse,"text xml":E.parseXML},flatOptions:{url:!0,context:!0}},ajaxSetup:function(e,t){return t?Bt(Bt(e,E.ajaxSettings),t):Bt(E.ajaxSettings,e)},ajaxPrefilter:Ft(Rt),ajaxTransport:Ft(Mt),ajax:function(e,t){"object"==typeof e&&(t=e,e=void 0),t=t||{};var c,f,p,n,d,r,h,g,i,o,y=E.ajaxSetup({},t),v=y.context||y,m=y.context&&(v.nodeType||v.jquery)?E(v):E.event,x=E.Deferred(),b=E.Callbacks("once memory"),w=y.statusCode||{},a={},s={},u="canceled",T={readyState:0,getResponseHeader:function(e){var t;if(h){if(!n){n={};while(t=Ht.exec(p))n[t[1].toLowerCase()+" "]=(n[t[1].toLowerCase()+" "]||[]).concat(t[2])}t=n[e.toLowerCase()+" "]}return null==t?null:t.join(", ")},getAllResponseHeaders:function(){return h?p:null},setRequestHeader:function(e,t){return null==h&&(e=s[e.toLowerCase()]=s[e.toLowerCase()]||e,a[e]=t),this},overrideMimeType:function(e){return null==h&&(y.mimeType=e),this},statusCode:function(e){var t;if(e)if(h)T.always(e[T.status]);else for(t in e)w[t]=[w[t],e[t]];return this},abort:function(e){var t=e||u;return c&&c.abort(t),l(0,t),this}};if(x.promise(T),y.url=((e||y.url||Tt.href)+"").replace(Pt,Tt.protocol+"//"),y.type=t.method||t.type||y.method||y.type,y.dataTypes=(y.dataType||"*").toLowerCase().match(P)||[""],null==y.crossDomain){r=S.createElement("a");try{r.href=y.url,r.href=r.href,y.crossDomain=Wt.protocol+"//"+Wt.host!=r.protocol+"//"+r.host}catch(e){y.crossDomain=!0}}if(y.data&&y.processData&&"string"!=typeof y.data&&(y.data=E.param(y.data,y.traditional)),$t(Rt,y,t,T),h)return T;for(i in(g=E.event&&y.global)&&0==E.active++&&E.event.trigger("ajaxStart"),y.type=y.type.toUpperCase(),y.hasContent=!Ot.test(y.type),f=y.url.replace(qt,""),y.hasContent?y.data&&y.processData&&0===(y.contentType||"").indexOf("application/x-www-form-urlencoded")&&(y.data=y.data.replace(Dt,"+")):(o=y.url.slice(f.length),y.data&&(y.processData||"string"==typeof y.data)&&(f+=(St.test(f)?"&":"?")+y.data,delete y.data),!1===y.cache&&(f=f.replace(Lt,"$1"),o=(St.test(f)?"&":"?")+"_="+Ct.guid+++o),y.url=f+o),y.ifModified&&(E.lastModified[f]&&T.setRequestHeader("If-Modified-Since",E.lastModified[f]),E.etag[f]&&T.setRequestHeader("If-None-Match",E.etag[f])),(y.data&&y.hasContent&&!1!==y.contentType||t.contentType)&&T.setRequestHeader("Content-Type",y.contentType),T.setRequestHeader("Accept",y.dataTypes[0]&&y.accepts[y.dataTypes[0]]?y.accepts[y.dataTypes[0]]+("*"!==y.dataTypes[0]?", "+It+"; q=0.01":""):y.accepts["*"]),y.headers)T.setRequestHeader(i,y.headers[i]);if(y.beforeSend&&(!1===y.beforeSend.call(v,T,y)||h))return T.abort();if(u="abort",b.add(y.complete),T.done(y.success),T.fail(y.error),c=$t(Mt,y,t,T)){if(T.readyState=1,g&&m.trigger("ajaxSend",[T,y]),h)return T;y.async&&0<y.timeout&&(d=C.setTimeout(function(){T.abort("timeout")},y.timeout));try{h=!1,c.send(a,l)}catch(e){if(h)throw e;l(-1,e)}}else l(-1,"No Transport");function l(e,t,n,r){var i,o,a,s,u,l=t;h||(h=!0,d&&C.clearTimeout(d),c=void 0,p=r||"",T.readyState=0<e?4:0,i=200<=e&&e<300||304===e,n&&(s=function(e,t,n){var r,i,o,a,s=e.contents,u=e.dataTypes;while("*"===u[0])u.shift(),void 0===r&&(r=e.mimeType||t.getResponseHeader("Content-Type"));if(r)for(i in s)if(s[i]&&s[i].test(r)){u.unshift(i);break}if(u[0]in n)o=u[0];else{for(i in n){if(!u[0]||e.converters[i+" "+u[0]]){o=i;break}a||(a=i)}o=o||a}if(o)return o!==u[0]&&u.unshift(o),n[o]}(y,T,n)),!i&&-1<E.inArray("script",y.dataTypes)&&E.inArray("json",y.dataTypes)<0&&(y.converters["text script"]=function(){}),s=function(e,t,n,r){var i,o,a,s,u,l={},c=e.dataTypes.slice();if(c[1])for(a in e.converters)l[a.toLowerCase()]=e.converters[a];o=c.shift();while(o)if(e.responseFields[o]&&(n[e.responseFields[o]]=t),!u&&r&&e.dataFilter&&(t=e.dataFilter(t,e.dataType)),u=o,o=c.shift())if("*"===o)o=u;else if("*"!==u&&u!==o){if(!(a=l[u+" "+o]||l["* "+o]))for(i in l)if((s=i.split(" "))[1]===o&&(a=l[u+" "+s[0]]||l["* "+s[0]])){!0===a?a=l[i]:!0!==l[i]&&(o=s[0],c.unshift(s[1]));break}if(!0!==a)if(a&&e["throws"])t=a(t);else try{t=a(t)}catch(e){return{state:"parsererror",error:a?e:"No conversion from "+u+" to "+o}}}return{state:"success",data:t}}(y,s,T,i),i?(y.ifModified&&((u=T.getResponseHeader("Last-Modified"))&&(E.lastModified[f]=u),(u=T.getResponseHeader("etag"))&&(E.etag[f]=u)),204===e||"HEAD"===y.type?l="nocontent":304===e?l="notmodified":(l=s.state,o=s.data,i=!(a=s.error))):(a=l,!e&&l||(l="error",e<0&&(e=0))),T.status=e,T.statusText=(t||l)+"",i?x.resolveWith(v,[o,l,T]):x.rejectWith(v,[T,l,a]),T.statusCode(w),w=void 0,g&&m.trigger(i?"ajaxSuccess":"ajaxError",[T,y,i?o:a]),b.fireWith(v,[T,l]),g&&(m.trigger("ajaxComplete",[T,y]),--E.active||E.event.trigger("ajaxStop")))}return T},getJSON:function(e,t,n){return E.get(e,t,n,"json")},getScript:function(e,t){return E.get(e,void 0,t,"script")}}),E.each(["get","post"],function(e,i){E[i]=function(e,t,n,r){return m(t)&&(r=r||n,n=t,t=void 0),E.ajax(E.extend({url:e,type:i,dataType:r,data:t,success:n},E.isPlainObject(e)&&e))}}),E.ajaxPrefilter(function(e){var t;for(t in e.headers)"content-type"===t.toLowerCase()&&(e.contentType=e.headers[t]||"")}),E._evalUrl=function(e,t,n){return E.ajax({url:e,type:"GET",dataType:"script",cache:!0,async:!1,global:!1,converters:{"text script":function(){}},dataFilter:function(e){E.globalEval(e,t,n)}})},E.fn.extend({wrapAll:function(e){var t;return this[0]&&(m(e)&&(e=e.call(this[0])),t=E(e,this[0].ownerDocument).eq(0).clone(!0),this[0].parentNode&&t.insertBefore(this[0]),t.map(function(){var e=this;while(e.firstElementChild)e=e.firstElementChild;return e}).append(this)),this},wrapInner:function(n){return m(n)?this.each(function(e){E(this).wrapInner(n.call(this,e))}):this.each(function(){var e=E(this),t=e.contents();t.length?t.wrapAll(n):e.append(n)})},wrap:function(t){var n=m(t);return this.each(function(e){E(this).wrapAll(n?t.call(this,e):t)})},unwrap:function(e){return this.parent(e).not("body").each(function(){E(this).replaceWith(this.childNodes)}),this}}),E.expr.pseudos.hidden=function(e){return!E.expr.pseudos.visible(e)},E.expr.pseudos.visible=function(e){return!!(e.offsetWidth||e.offsetHeight||e.getClientRects().length)},E.ajaxSettings.xhr=function(){try{return new C.XMLHttpRequest}catch(e){}};var _t={0:200,1223:204},zt=E.ajaxSettings.xhr();v.cors=!!zt&&"withCredentials"in zt,v.ajax=zt=!!zt,E.ajaxTransport(function(i){var o,a;if(v.cors||zt&&!i.crossDomain)return{send:function(e,t){var n,r=i.xhr();if(r.open(i.type,i.url,i.async,i.username,i.password),i.xhrFields)for(n in i.xhrFields)r[n]=i.xhrFields[n];for(n in i.mimeType&&r.overrideMimeType&&r.overrideMimeType(i.mimeType),i.crossDomain||e["X-Requested-With"]||(e["X-Requested-With"]="XMLHttpRequest"),e)r.setRequestHeader(n,e[n]);o=function(e){return function(){o&&(o=a=r.onload=r.onerror=r.onabort=r.ontimeout=r.onreadystatechange=null,"abort"===e?r.abort():"error"===e?"number"!=typeof r.status?t(0,"error"):t(r.status,r.statusText):t(_t[r.status]||r.status,r.statusText,"text"!==(r.responseType||"text")||"string"!=typeof r.responseText?{binary:r.response}:{text:r.responseText},r.getAllResponseHeaders()))}},r.onload=o(),a=r.onerror=r.ontimeout=o("error"),void 0!==r.onabort?r.onabort=a:r.onreadystatechange=function(){4===r.readyState&&C.setTimeout(function(){o&&a()})},o=o("abort");try{r.send(i.hasContent&&i.data||null)}catch(e){if(o)throw e}},abort:function(){o&&o()}}}),E.ajaxPrefilter(function(e){e.crossDomain&&(e.contents.script=!1)}),E.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/\b(?:java|ecma)script\b/},converters:{"text script":function(e){return E.globalEval(e),e}}}),E.ajaxPrefilter("script",function(e){void 0===e.cache&&(e.cache=!1),e.crossDomain&&(e.type="GET")}),E.ajaxTransport("script",function(n){var r,i;if(n.crossDomain||n.scriptAttrs)return{send:function(e,t){r=E("<script>").attr(n.scriptAttrs||{}).prop({charset:n.scriptCharset,src:n.url}).on("load error",i=function(e){r.remove(),i=null,e&&t("error"===e.type?404:200,e.type)}),S.head.appendChild(r[0])},abort:function(){i&&i()}}});var Ut,Xt=[],Vt=/(=)\?(?=&|$)|\?\?/;E.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var e=Xt.pop()||E.expando+"_"+Ct.guid++;return this[e]=!0,e}}),E.ajaxPrefilter("json jsonp",function(e,t,n){var r,i,o,a=!1!==e.jsonp&&(Vt.test(e.url)?"url":"string"==typeof e.data&&0===(e.contentType||"").indexOf("application/x-www-form-urlencoded")&&Vt.test(e.data)&&"data");if(a||"jsonp"===e.dataTypes[0])return r=e.jsonpCallback=m(e.jsonpCallback)?e.jsonpCallback():e.jsonpCallback,a?e[a]=e[a].replace(Vt,"$1"+r):!1!==e.jsonp&&(e.url+=(St.test(e.url)?"&":"?")+e.jsonp+"="+r),e.converters["script json"]=function(){return o||E.error(r+" was not called"),o[0]},e.dataTypes[0]="json",i=C[r],C[r]=function(){o=arguments},n.always(function(){void 0===i?E(C).removeProp(r):C[r]=i,e[r]&&(e.jsonpCallback=t.jsonpCallback,Xt.push(r)),o&&m(i)&&i(o[0]),o=i=void 0}),"script"}),v.createHTMLDocument=((Ut=S.implementation.createHTMLDocument("").body).innerHTML="<form></form><form></form>",2===Ut.childNodes.length),E.parseHTML=function(e,t,n){return"string"!=typeof e?[]:("boolean"==typeof t&&(n=t,t=!1),t||(v.createHTMLDocument?((r=(t=S.implementation.createHTMLDocument("")).createElement("base")).href=S.location.href,t.head.appendChild(r)):t=S),o=!n&&[],(i=N.exec(e))?[t.createElement(i[1])]:(i=xe([e],t,o),o&&o.length&&E(o).remove(),E.merge([],i.childNodes)));var r,i,o},E.fn.load=function(e,t,n){var r,i,o,a=this,s=e.indexOf(" ");return-1<s&&(r=yt(e.slice(s)),e=e.slice(0,s)),m(t)?(n=t,t=void 0):t&&"object"==typeof t&&(i="POST"),0<a.length&&E.ajax({url:e,type:i||"GET",dataType:"html",data:t}).done(function(e){o=arguments,a.html(r?E("<div>").append(E.parseHTML(e)).find(r):e)}).always(n&&function(e,t){a.each(function(){n.apply(this,o||[e.responseText,t,e])})}),this},E.expr.pseudos.animated=function(t){return E.grep(E.timers,function(e){return t===e.elem}).length},E.offset={setOffset:function(e,t,n){var r,i,o,a,s,u,l=E.css(e,"position"),c=E(e),f={};"static"===l&&(e.style.position="relative"),s=c.offset(),o=E.css(e,"top"),u=E.css(e,"left"),("absolute"===l||"fixed"===l)&&-1<(o+u).indexOf("auto")?(a=(r=c.position()).top,i=r.left):(a=parseFloat(o)||0,i=parseFloat(u)||0),m(t)&&(t=t.call(e,n,E.extend({},s))),null!=t.top&&(f.top=t.top-s.top+a),null!=t.left&&(f.left=t.left-s.left+i),"using"in t?t.using.call(e,f):c.css(f)}},E.fn.extend({offset:function(t){if(arguments.length)return void 0===t?this:this.each(function(e){E.offset.setOffset(this,t,e)});var e,n,r=this[0];return r?r.getClientRects().length?(e=r.getBoundingClientRect(),n=r.ownerDocument.defaultView,{top:e.top+n.pageYOffset,left:e.left+n.pageXOffset}):{top:0,left:0}:void 0},position:function(){if(this[0]){var e,t,n,r=this[0],i={top:0,left:0};if("fixed"===E.css(r,"position"))t=r.getBoundingClientRect();else{t=this.offset(),n=r.ownerDocument,e=r.offsetParent||n.documentElement;while(e&&(e===n.body||e===n.documentElement)&&"static"===E.css(e,"position"))e=e.parentNode;e&&e!==r&&1===e.nodeType&&((i=E(e).offset()).top+=E.css(e,"borderTopWidth",!0),i.left+=E.css(e,"borderLeftWidth",!0))}return{top:t.top-i.top-E.css(r,"marginTop",!0),left:t.left-i.left-E.css(r,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){var e=this.offsetParent;while(e&&"static"===E.css(e,"position"))e=e.offsetParent;return e||re})}}),E.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(t,i){var o="pageYOffset"===i;E.fn[t]=function(e){return B(this,function(e,t,n){var r;if(x(e)?r=e:9===e.nodeType&&(r=e.defaultView),void 0===n)return r?r[i]:e[t];r?r.scrollTo(o?r.pageXOffset:n,o?n:r.pageYOffset):e[t]=n},t,e,arguments.length)}}),E.each(["top","left"],function(e,n){E.cssHooks[n]=_e(v.pixelPosition,function(e,t){if(t)return t=Be(e,n),Pe.test(t)?E(e).position()[n]+"px":t})}),E.each({Height:"height",Width:"width"},function(a,s){E.each({padding:"inner"+a,content:s,"":"outer"+a},function(r,o){E.fn[o]=function(e,t){var n=arguments.length&&(r||"boolean"!=typeof e),i=r||(!0===e||!0===t?"margin":"border");return B(this,function(e,t,n){var r;return x(e)?0===o.indexOf("outer")?e["inner"+a]:e.document.documentElement["client"+a]:9===e.nodeType?(r=e.documentElement,Math.max(e.body["scroll"+a],r["scroll"+a],e.body["offset"+a],r["offset"+a],r["client"+a])):void 0===n?E.css(e,t,i):E.style(e,t,n,i)},s,n?e:void 0,n)}})}),E.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(e,t){E.fn[t]=function(e){return this.on(t,e)}}),E.fn.extend({bind:function(e,t,n){return this.on(e,null,t,n)},unbind:function(e,t){return this.off(e,null,t)},delegate:function(e,t,n,r){return this.on(t,e,n,r)},undelegate:function(e,t,n){return 1===arguments.length?this.off(e,"**"):this.off(t,e||"**",n)},hover:function(e,t){return this.mouseenter(e).mouseleave(t||e)}}),E.each("blur focus focusin focusout resize scroll click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup contextmenu".split(" "),function(e,n){E.fn[n]=function(e,t){return 0<arguments.length?this.on(n,null,e,t):this.trigger(n)}});var Gt=/^[\s\uFEFF\xA0]+|([^\s\uFEFF\xA0])[\s\uFEFF\xA0]+$/g;E.proxy=function(e,t){var n,r,i;if("string"==typeof t&&(n=e[t],t=e,e=n),m(e))return r=s.call(arguments,2),(i=function(){return e.apply(t||this,r.concat(s.call(arguments)))}).guid=e.guid=e.guid||E.guid++,i},E.holdReady=function(e){e?E.readyWait++:E.ready(!0)},E.isArray=Array.isArray,E.parseJSON=JSON.parse,E.nodeName=A,E.isFunction=m,E.isWindow=x,E.camelCase=X,E.type=w,E.now=Date.now,E.isNumeric=function(e){var t=E.type(e);return("number"===t||"string"===t)&&!isNaN(e-parseFloat(e))},E.trim=function(e){return null==e?"":(e+"").replace(Gt,"$1")},"function"==typeof define&&define.amd&&define("jquery",[],function(){return E});var Yt=C.jQuery,Qt=C.$;return E.noConflict=function(e){return C.$===E&&(C.$=Qt),e&&C.jQuery===E&&(C.jQuery=Yt),E},"undefined"==typeof e&&(C.jQuery=C.$=E),E});
660 </script>
660 661
661<script src="//www.formen.co.in/cdn/shop/t/42/assets/vendor-scripts-v2.js" defer="defer"></script>
661 662
662<script src="//www.formen.co.in/cdn/shop/t/42/assets/theme.js?v=42447703859212101251786969194" defer="defer"></script>
662 663 664
664<script src="//www.formen.co.in/cdn/shop/t/42/assets/magnific-popup.min.js?v=77022081417863929931786969194" defer="defer"></script>
664 665
665<script src="//www.formen.co.in/cdn/shop/t/42/assets/slick.js?v=71779134894361685811786969194" defer="defer"></script>
665 666
666<script src="//www.formen.co.in/cdn/shop/t/42/assets/swiper-bundle.min.js?v=99366077791561858701786969194" defer="defer"></script>
666 667 668 669
669<script src="//www.formen.co.in/cdn/shop/t/42/assets/script-min.js?v=145412929424316653301786969194" defer="defer"></script>
669 670 671 672 673 674 675 676<!-- posthog -->
677<script> 678 !function(t,e){var o,n,p,r;e.__SV||(window.posthog&&window.posthog.__loaded)||(window.posthog=e,e._i=[],e.init=function(i,s,a){function g(t,e){var o=e.split(".");2==o.length&&(t=t[o[0]],e=o[1]),t[e]=function(){t.push([e].concat(Array.prototype.slice.call(arguments,0)))}}(p=t.createElement("script")).type="text/javascript",p.crossOrigin="anonymous",p.async=!0,p.src=s.api_host.replace(".i.posthog.com","-assets.i.posthog.com")+"/static/array.js",(r=t.getElementsByTagName("script")[0]).parentNode.insertBefore(p,r);var u=e;for(void 0!==a?u=e[a]=[]:a="posthog",u.people=u.people||[],o="capture identify alias people.set people.set_once register register_once unregister reset get_distinct_id get_session_id".split(" "),n=0;n<o.length;n++)(function(t,e){t[e]=function(){t.push([e].concat(Array.prototype.slice.call(arguments,0)))}})(u,o[n]);e._i.push([i,s,a])},e.__SV=1)}(document,window.posthog||[]); 679 680 posthog.init('phc_wFPw2cML8AgbxegrfVCmG5BuV7B2nMMSkNddgJEEUQKC', { 681 api_host: 'https://us.i.posthog.com', 682 683 before_send: function(event) { 684 685 const currentUrl = 686 event?.properties?.$current_url || ''; 687 688 try { 689 690 const pathname = 691 new URL(currentUrl).pathname; 692 693 // Allow Landing Pages 694 if (pathname.startsWith('/pages/')) { 695 return event; 696 } 697 // Allow Checkout Pages 698 if (pathname.startsWith('/checkouts/')) { 699 return event; 700 } 701 // Allow Thank You Page 702 if (pathname.includes('/thank_you')) { 703 return event; 704 } 705 // Allow Order Status Page 706 if (pathname.includes('/order-status')) { 707 return event; 708 } 709 // Drop everything else 710 return null; 711 712 } catch (e) { 713 return null; 714 } 715 }, 716 717 // Track page views and leaves for experiment pages 718 capture_pageview: true, 719 capture_pageleave: true, 720 721 // Disable unnecessary events 722 autocapture: false, 723 capture_heatmaps: false, 724 disable_session_recording: true, 725 726 defaults: '2026-05-30', 727 person_profiles: 'identified_only' 728 }); 729</script>
vendor: 1 bytes, line 729
729
730<script> 731// Fires Order_Placed_GK in the main PostHog session when 732// GoKwik redirects back to formen.co.in with ?mrid=... 733(function () { 734 try { 735 var params = new URLSearchParams(window.location.search); 736 var mrid = params.get('mrid'); 737 if (mrid && !sessionStorage.getItem('ph_gk_' + mrid)) { 738 sessionStorage.setItem('ph_gk_' + mrid, '1'); 739 posthog.capture('Order_Placed_GK', { 740 gokwik_order_ref: mrid, 741 source: 'gokwik_redirect' 742 }); 743 } 744 } catch (e) {} 745})(); 746</script>
746 747<!-- End posthog --> 748 749 <!-- Google Tag Manager --> 750
750<script>
vendor: 335 bytes, lines 750-754
750(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start': 751 new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0], 752 j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src= 753 'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f); 754 })(window,document,'script','dataLayer','
754GTM-MFTDRC7
vendor: 3 bytes, line 754
754');
754</script>
754 755 <!-- End Google Tag Manager --> 756
757<script>
vendor: 123 bytes, lines 757-760
757window.dataLayer=window.dataLayer||[]; 758function gtag(){dataLayer.push(arguments);} 759gtag('js', new Date()); 760gtag('config', '
760AW-10819161726
vendor: 40 bytes, line 760
760', {'allow_enhanced_conversions':true});
760</script>
760 761<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.1/css/all.min.css" media="print" onload="this.media='all'"> 762 763 <!-- formen.co.in Google Tag Manager (noscript) -->
764<script>
vendor: 327 bytes, lines 764-768
764(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start': 765new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0], 766j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src= 767'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f); 768})(window,document,'script','dataLayer','
768GTM-5N47WDPT
vendor: 3 bytes, line 768
768');
768</script>
768 769<!-- End Google Tag Manager --> 770 771 772 773
774<script> 775 window.StoreCreditInit = { 776 shop: 'formen-healt.myshopify.com', 777 cashback_widget_status: 0 778 } 779</script>
779 780 781 782 783 784 785<!-- BEGIN app block: shopify://apps/quinn-shoppable-reel/blocks/app-embed/483fa771-9c4d-49e4-8c0d-0155f4b872d6 --> 786 787 788 789 790 791 792 793 794<!-- BEGIN app snippet: init --> 795 796 797 798 799 800 801 802
803<script 804 src="https://cdn.shopify.com/extensions/01a0afa2-b3c8-7014-9c57-dc1ab3e3468f/shoppable-videos-quinn-147/assets/quinn-experimental.bundle.js" 805 defer="defer" 806 data-app="quinn-lite" 807 type="module" 808></script>
808 809 810 811 812
813<script data-app="quinn-lite"> 814 window.QSVL = {}; 815 QSVL.ab_test_enabled = false; 816 QSVL.ab_test_id = "test01"; 817 QSVL.ab_enabled_for_widgets = []; 818 QSVL.ab_enabled_on_pages = []; 819 QSVL.ab_control_group_percentage = "50"; 820 QSVL.queuedScripts = []; 821</script>
821 822 823 824 825 826 827 828 829
830<script 831 data-app="quinn-lite" 832> 833 QSVL.shop_domain = "formen-healt.myshopify.com"; 834 QSVL.metaPrefix= "SEARCH__"; 835 QSVL.page_key = ""; 836 QSVL.page_type = "search"; 837 QSVL.page_handle = ""; 838 QSVL.metaobject_type = null; 839 QSVL.currency_symbol = "" || "â¹", 840 QSVL.design_mode = false; 841 QSVL.facebook_pixel_tracking = null; 842 QSVL.settings = {"story":{"visibility":"both","hero_text_color":"#ffffff","hero_text":"WATCH \u0026 BUY!","hero_title":"Bestsellers","show_hero_story":true,"is_sticky":false,"website_header_identifier":"#shopify-section-header","top_offset_on_collection_mobile":"0","top_offset_on_collection_desktop":"0","top_offset_on_product_mobile":"0","top_offset_on_product_desktop":"0","top_offset_on_home_mobile":"0","top_offset_on_home_desktop":"0"},"cards":{"visibility":"both","show_first_product_price":true,"reviewsPlaceholder":"New Arrival","cards_heading":"","use_variant_price":true,"show_arrows":false},"overlay":{"close_overlay_back_button":false,"cart_selector":"","swatch_selector_keys":"color","selector_types":"{\"Size\":\"size\",\"Color\":\"shade\",\"Shade\":\"shade\",\"Flavour\":\"dropdown\"}","hide_elements":"","swipe_direction":"vertical","prevent_header_update":false,"uniform_group_overlay_ux":false,"move_to_next_video":false,"is_muted":false,"overlay_z_index":"99999","should_open_image_overlay":false,"redirect_url":"","redirect_product_click":false,"always_show_products":false,"change_image_on_variant_change":false,"show_media_title_in_group_overlay":false,"use_swatch_images":false,"card_swipe_direction":"vertical","show_navigation_arrows":false,"swatch_option_ignore":""},"floating":{"disable_widget":false,"floating_type":"circle","floating_side":"right","mobile_floating_right":"20","mobile_floating_bottom":"20","desktop_floating_right":"20","desktop_floating_bottom":"20","floating_zindex":"9999","hide_on_rectangle_close":false,"show_circle_close_btn":true},"floating_tray":{"enable_widget":false,"mobile_floating_bottom":"100","desktop_floating_bottom":"100","slider_text":"REVIEWS"},"general":{"cart_provider":"none","should_loop_overlay":true,"review_provider":"none","currency_symbol":"","prevent_price_round":false,"swap_currency_symbol":false,"store_offers":"[]","show_branding":true,"branding_text_color":"#6D7278","show_overlay_branding":true,"overlay_branding_text_color":"#FFFFF","show_video_watermark":true,"video_watermark_text_color":"#6D7278","network_interceptor":false,"disable_vibrations":false,"tracking_type":"basic"},"customiser":{"card_cutoff_price":"true","video_cutoff_price_visibility":true,"primaryBtn_title":"Shop now","tertiaryBtn_title":"More info","tertiaryBtn_visibility":"true","secondaryBtn_title":"Add to cart"},"clp":{"button_position":"top_right","z_index":"9999","vertical_offset":"10","horizontal_offset":"10","button_text":"Quick view"},"imaxvideo":{"visibility":"both"},"cart_tracking":false,"calc_net_speed":false,"enable_gif":false,"subscription":{"plan_name":"FREE"},"forced_disabled":false,"setupCompleted":true,"events":["quinn_events_product_view","quinn_events_overlay_open","quinn_events_overlay_close","quinn_events_system_action","quinn_events_custom_action","quinn_events_overlay_media_interaction","quinn_events_overlay_swipe","quinn_events_widget_impression","quinn_events_page_view","quinn_events_page_scroll","quinn_events_cta_clicked"],"pallet":{"--quinn-card-title-color":"#000000","--quinn-card-regular-price-color":"#000000","--quinn-card-cut-off-price-color":"#000000","--quinn-card-background-color":"#fff","--quinn-primary-color":"#000","--quinn-primary-text-color":"#fff","--quinn-primary-border-color":"#000","--quinn-secondary-color":"#FED716","--quinn-secondary-text-color":"#000","--quinn-tertiary-color":"#fff","--quinn-tertiary-text-color":"#000","--quinn-tertiary-border-color":"#DEDEDE","--quinn-secondary-border-color":"#FED716","--quinn-story-outline-color":"#000","--quinn-card-discount-color":"#12b985","--quinn-active-variant-color":"#ff7744","--quinn-active-variant-text-color":"#fff","--quinn-story-title-color":"#000000"},"onboarding":{"signupCompleted":true,"subscribed":true},"checkout":{"ab_enabled":false,"ab_test_id":""}}; 843 QSVL.version = "shoppable-videos-quinn-147"; 844 QSVL.functions = {}; 845 QSVL.utils = {}; 846 QSVL.app_id = "134107004929"; 847 QSVL.page_widgets = []; 848 QSVL.timestamp = Date.now(); 849 QSVL.Events = {}; 850 QSVL.CUSTOM_QUINN_EVENTS = {}; 851 QSVL.appType = 'shopify'; 852 QSVL.sft = "1f56a77e9fcc62f8d5cb3264fe7a7604"; 853 QSVL.renderedWidgets = {}; 854 QSVL.cdn = "@@www.formen.co.in@cdn@shop@[email protected]?v=25120"; 855 QSVL.view_threshold_miliseconds = 0; 856 console.log(`%cversion: ${ 857 QSVL.version 858 }`, "font-size: 1em; font-weight: bolder;") 859 localStorage.setItem("_quinn-shop-domain", QSVL.shop_domain); 860</script>
860 861
862<script data-app="quinn-lite"> 863 QSVL.cdn = QSVL.cdn.replace(/@/g, '/').split('/').slice(0, -1).join('/') + '/'; 864 QSVL.isNewApp = true; 865</script>
865 866 867 868<style> 869 :root { 870 --quinn_loader_color: #e6e4eb; 871 } 872 .quinn_cards_widget { 873 max-width: 100%; 874 } 875</style>
875<script 876 data-app="quinn-lite" 877> 878 if (!window.quinnExtensionCdnUrl) { 879 const quinnOverlayUrl = 'https://cdn.shopify.com/extensions/01a0afa2-b3c8-7014-9c57-dc1ab3e3468f/shoppable-videos-quinn-147/assets/quinn-overlay.bundle.js'; 880 const quinnExtensionUrl = quinnOverlayUrl.split('/'); 881 quinnExtensionUrl.pop(); 882 window.quinnExtensionCdnUrl = quinnExtensionUrl.join('/') + '/'; 883 } 884 document.addEventListener('DOMContentLoaded', async () => { 885 if (QSVL.functions && QSVL.functions.UPDATE_APP_CART) { 886 QSVL.functions.UPDATE_APP_CART(); 887 } 888 }); 889</script>
889 890 891 892 893 894<!-- END app snippet --> 895 896 897 898<!-- BEGIN app snippet: asset --> 899 900 901
902<script> 903 if (window.QSVL && window.QSVL.queuedScripts) { 904 window.QSVL.queuedScripts.push('https://cdn.shopify.com/extensions/01a0afa2-b3c8-7014-9c57-dc1ab3e3468f/shoppable-videos-quinn-147/assets/quinn-live.bundle.js'); 905 } 906 </script>
906<!-- END app snippet --> 907 908<!-- BEGIN app snippet: asset --> 909 910 911
912<script data-app="quinn-lite"> 913 QSVL.overlay_url = "https://cdn.shopify.com/extensions/01a0afa2-b3c8-7014-9c57-dc1ab3e3468f/shoppable-videos-quinn-147/assets/quinn-overlay.bundle.js"; 914 </script>
914<!-- END app snippet --> 915 916<!-- BEGIN app snippet: asset --> 917 918 919
920<script> 921 if (window.QSVL && window.QSVL.queuedScripts) { 922 window.QSVL.queuedScripts.push('https://cdn.shopify.com/extensions/01a0afa2-b3c8-7014-9c57-dc1ab3e3468f/shoppable-videos-quinn-147/assets/quinn-vendor.bundle.js'); 923 } 924 </script>
924<!-- END app snippet --> 925<!-- BEGIN app snippet: asset --> 926 927 928
929<script data-app="quinn-lite"> 930 QSVL.chunk_overlay_variants_url = "https://cdn.shopify.com/extensions/01a0afa2-b3c8-7014-9c57-dc1ab3e3468f/shoppable-videos-quinn-147/assets/OverlayInfoVariants-svelte.js"; 931 </script>
931<!-- END app snippet --> 932<!-- BEGIN app snippet: asset --> 933 934 935
936<script data-app="quinn-lite"> 937 QSVL.chunk_overlay_video_url = "https://cdn.shopify.com/extensions/01a0afa2-b3c8-7014-9c57-dc1ab3e3468f/shoppable-videos-quinn-147/assets/OverlayVideo-svelte.js"; 938 </script>
938<!-- END app snippet --> 939<!-- BEGIN app snippet: asset --> 940 941 942
943<script data-app="quinn-lite"> 944 QSVL.chunk_overlay_volume_btn_url = "https://cdn.shopify.com/extensions/01a0afa2-b3c8-7014-9c57-dc1ab3e3468f/shoppable-videos-quinn-147/assets/VolumeButton-svelte.js"; 945 </script>
945<!-- END app snippet --> 946<!-- BEGIN app snippet: asset --> 947 948 949
950<script data-app="quinn-lite"> 951 QSVL.chunk_overlay_info_variants_url = "https://cdn.shopify.com/extensions/01a0afa2-b3c8-7014-9c57-dc1ab3e3468f/shoppable-videos-quinn-147/assets/OverlayInfoVariants-svelte.js"; 952 </script>
952<!-- END app snippet --> 953<!-- BEGIN app snippet: asset --> 954 955 956
957<script data-app="quinn-lite"> 958 QSVL.chunk_overlay_cart_btn_url = "https://cdn.shopify.com/extensions/01a0afa2-b3c8-7014-9c57-dc1ab3e3468f/shoppable-videos-quinn-147/assets/CartButton-svelte.js"; 959 </script>
959<!-- END app snippet --> 960<!-- BEGIN app snippet: asset --> 961 962 963
964<script data-app="quinn-lite"> 965 QSVL.chunk_overlay_video_group_url = "https://cdn.shopify.com/extensions/01a0afa2-b3c8-7014-9c57-dc1ab3e3468f/shoppable-videos-quinn-147/assets/OverlayVideoGroup-svelte.js"; 966 </script>
966<!-- END app snippet --> 967<!-- BEGIN app snippet: asset --> 968 969 970
971<script data-app="quinn-lite"> 972 QSVL.chunk_overlay_info_products_url = "https://cdn.shopify.com/extensions/01a0afa2-b3c8-7014-9c57-dc1ab3e3468f/shoppable-videos-quinn-147/assets/OverlayInfoProducts-svelte.js"; 973 </script>
973<!-- END app snippet --> 974<!-- BEGIN app snippet: asset --> 975 976 977
978<script data-app="quinn-lite"> 979 QSVL.chunk_overlay_mobile_products_container_url = "https://cdn.shopify.com/extensions/01a0afa2-b3c8-7014-9c57-dc1ab3e3468f/shoppable-videos-quinn-147/assets/OverlayMobileProductsContainer-svelte.js"; 980 </script>
980<!-- END app snippet --> 981<!-- BEGIN app snippet: asset --> 982 983 984
985<script data-app="quinn-lite"> 986 QSVL.chunk_overlay_info_product_images_url = "https://cdn.shopify.com/extensions/01a0afa2-b3c8-7014-9c57-dc1ab3e3468f/shoppable-videos-quinn-147/assets/OverlayInfoProductImages-svelte.js"; 987 </script>
987<!-- END app snippet --> 988<!-- BEGIN app snippet: asset --> 989 990 991
992<script data-app="quinn-lite"> 993 QSVL.chunk_overlay_info_product_description_url = "https://cdn.shopify.com/extensions/01a0afa2-b3c8-7014-9c57-dc1ab3e3468f/shoppable-videos-quinn-147/assets/OverlayInfoProductDescription-svelte.js"; 994 </script>
994<!-- END app snippet --> 995 996<!-- BEGIN app snippet: network-intercepter --> 997 998
998<script> 999 const origFetch = window.fetch; 1000 window.fetch = async (...args) => { 1001 let [url, payload] = args; 1002 1003 if (!url) { 1004 return origFetch(...args); 1005 } 1006 1007 if (url instanceof Request) { 1008 url = url.url; // Extract the URL string from the Request object 1009 } else if (url instanceof URL) { 1010 url = url.toString(); // Convert URL object to string 1011 } 1012 1013 if (url.includes('/cart/add')) { 1014 if (payload && payload.body) { 1015 const formData = payload.body; 1016 1017 // Case 1: Handle FormData 1018 if (formData instanceof FormData) { 1019 formData.delete('properties[_y]'); 1020 } 1021 // Case 2: Handle JSON string 1022 else if (typeof formData === 'string') { 1023 try { 1024 const parsedData = JSON.parse(formData); 1025 if (parsedData.items) { 1026 parsedData.items.forEach((item) => { 1027 if (item.properties && item.properties['_y']) { 1028 delete item.properties['_y']; 1029 } 1030 }); 1031 } 1032 payload.body = JSON.stringify(parsedData); 1033 } catch (e) {} 1034 } 1035 // Case 3: Handle plain object 1036 else if (typeof formData === 'object') { 1037 if (formData.items) { 1038 formData.items.forEach((item) => { 1039 if (item.properties && item.properties['_y']) { 1040 delete item.properties['_y']; 1041 } 1042 }); 1043 } 1044 } 1045 } 1046 } 1047 1048 const response = await origFetch(...args); 1049 if (QSVL && typeof QSVL.interceptorCallback?.Fetch === 'function') { 1050 QSVL.interceptorCallback.Fetch(response.url, response, origFetch); 1051 } 1052 quinnSyncCart(url); 1053 return response; 1054 }; 1055 function quinnSyncCart(url) { 1056 if (!url) return; 1057 if ( 1058 (url.includes('/cart/add') || url.includes('/cart/update') || url.includes('/cart/change')) && 1059 window.QSVL && 1060 window.QSVL.overlayController 1061 ) { 1062 QSVL.overlayController.controller.dispatchEvent({ events: ['UPDATE_CART_COUNT'] }); 1063 } 1064 } 1065 (function (XHR) { 1066 let send = XHR.prototype.send; 1067 XHR.prototype.send = function (data) { 1068 let oldOnReadyStateChange; 1069 1070 function onReadyStateChange() { 1071 if (this.readyState === 4 && QSVL.interceptorCallback) { 1072 QSVL.interceptorCallback.XHR(this._url, this.response, XHR); 1073 } 1074 if (oldOnReadyStateChange) oldOnReadyStateChange(); 1075 quinnSyncCart(this._url); 1076 } 1077 1078 if (this._url && this._url.includes('/cart/add')) { 1079 // Case 1: Handle FormData 1080 if (data instanceof FormData) { 1081 data.delete('properties[_y]'); 1082 } 1083 // Case 2: Handle JSON string 1084 else if (typeof data === 'string') { 1085 try { 1086 const parsedData = JSON.parse(data); 1087 if (parsedData.items) { 1088 parsedData.items.forEach((item) => { 1089 if (item.properties && item.properties['_y']) { 1090 delete item.properties['_y']; 1091 } 1092 }); 1093 } 1094 payload.body = JSON.stringify(parsedData); 1095 } catch (e) {} 1096 } 1097 // Case 3: Handle plain object 1098 else if (typeof data === 'object') { 1099 if (data.items) { 1100 data.items.forEach((item) => { 1101 if (item.properties && item.properties['_y']) { 1102 delete item.properties['_y']; 1103 } 1104 }); 1105 } 1106 } 1107 } 1108 1109 /* Set xhr.noIntercept to true to disable the interceptor for a particular call */ 1110 if (!this.noIntercept) { 1111 if (this.addEventListener) { 1112 this.addEventListener('readystatechange', onReadyStateChange, false); 1113 } else { 1114 oldOnReadyStateChange = this.onreadystatechange; 1115 this.onreadystatechange = onReadyStateChange; 1116 } 1117 } 1118 send.call(this, data); 1119 }; 1120 })(XMLHttpRequest); 1121 </script>
1121 1122 1123<!-- END app snippet --> 1124 1125 1126 <!-- BEGIN app snippet: asset --> 1127 1128 1129
1130<script> 1131 if (window.QSVL && window.QSVL.queuedScripts) { 1132 window.QSVL.queuedScripts.push('https://cdn.shopify.com/extensions/01a0afa2-b3c8-7014-9c57-dc1ab3e3468f/shoppable-videos-quinn-147/assets/quinn-floating.bundle.js'); 1133 } 1134 </script>
1134<!-- END app snippet --> 1135 <!-- BEGIN app snippet: floating --> 1136 1137 1138 1139 1140 1141 1142 1143 1144 1145 1146 1147 1148 1149 1150 1151 1152 1153 1154 1155 1156 1157 1158 1159 1160<!-- END app snippet --> 1161 1162 1163 1164<!-- END app block --><!-- BEGIN app block: shopify://apps/microsoft-clarity/blocks/clarity_js/31c3d126-8116-4b4a-8ba1-baeda7c4aeea -->
1165<script type="text/javascript"> 1166 (function (c, l, a, r, i, t, y) { 1167 c[a] = c[a] || function () { (c[a].q = c[a].q || []).push(arguments); }; 1168 t = l.createElement(r); t.async = 1; t.src = "https://www.clarity.ms/tag/" + i + "?ref=shopify"; 1169 y = l.getElementsByTagName(r)[0]; y.parentNode.insertBefore(t, y); 1170 1171 c.Shopify.loadFeatures([{ name: "consent-tracking-api", version: "0.1" }], error => { 1172 if (error) { 1173 console.error("Error loading Shopify features:", error); 1174 return; 1175 } 1176 1177 c[a]('consentv2', { 1178 ad_Storage: c.Shopify.customerPrivacy.marketingAllowed() ? "granted" : "denied", 1179 analytics_Storage: c.Shopify.customerPrivacy.analyticsProcessingAllowed() ? "granted" : "denied", 1180 source: 101, 1181 }); 1182 }); 1183 1184 l.addEventListener("visitorConsentCollected", function (e) { 1185 c[a]('consentv2', { 1186 ad_Storage: e.detail.marketingAllowed ? "granted" : "denied", 1187 analytics_Storage: e.detail.analyticsAllowed ? "granted" : "denied", 1188 source: 101, 1189 }); 1190 }); 1191 })(window, document, "clarity", "script", "i23wis652e"); 1192</script>
1192 1193 1194 1195 1196<!-- END app block --><!-- BEGIN app block: shopify://apps/judge-me-reviews/blocks/judgeme_core/61ccd3b1-a9f2-4160-9fe9-4fec8413e5d8 --><!-- Start of Judge.me Core --> 1197 1198 1199 1200 1201 1202 1203 1204<link rel="dns-prefetch" href="https://cdn.judge.me"> 1205<link rel="dns-prefetch" href="https://cdn1.judge.me"> 1206<link rel="dns-prefetch" href="https://api.judge.me"> 1207
1208<script data-cfasync='false' class='jdgm-settings-script'>window.jdgmSettings={"pagination":5,"disable_web_reviews":false,"badge_no_review_text":"No reviews","badge_n_reviews_text":"{{ n }} reviews","badge_star_color":"#FBCD0A","hide_badge_preview_if_no_reviews":true,"badge_hide_text":false,"enforce_center_preview_badge":false,"widget_title":"Customer Reviews","widget_open_form_text":"Write a review","widget_close_form_text":"Cancel review","widget_refresh_page_text":"Refresh page","widget_summary_text":"Based on {{ number_of_reviews }} review/reviews","widget_no_review_text":"Be the first to write a review","widget_name_field_text":"Display name","widget_verified_name_field_text":"Verified Name (public)","widget_name_placeholder_text":"Display name","widget_required_field_error_text":"This field is required.","widget_email_field_text":"Email address","widget_verified_email_field_text":"Verified Email (private, can not be edited)","widget_email_placeholder_text":"Your email address","widget_email_field_error_text":"Please enter a valid email address.","widget_rating_field_text":"Rating","widget_review_title_field_text":"Review Title","widget_review_title_placeholder_text":"Give your review a title","widget_review_body_field_text":"Review content","widget_review_body_placeholder_text":"Start writing here...","widget_pictures_field_text":"Picture/Video (optional)","widget_submit_review_text":"Submit Review","widget_submit_verified_review_text":"Submit Verified Review","widget_submit_success_msg_with_auto_publish":"Thank y
1208ou! Please refresh the page in a few moments to see your review. You can remove or edit your review by logging into \u003ca href='https://judge.me/login' target='_blank' rel='nofollow noopener'\u003eJudge.me\u003c/a\u003e","widget_submit_success_msg_no_auto_publish":"Thank you! Your review will be published as soon as it is approved by the shop admin. You can remove or edit your review by logging into \u003ca href='https://judge.me/login' target='_blank' rel='nofollow noopener'\u003eJudge.me\u003c/a\u003e","widget_show_default_reviews_out_of_total_text":"Showing {{ n_reviews_shown }} out of {{ n_reviews }} reviews.","widget_show_all_link_text":"Show all","widget_show_less_link_text":"Show less","widget_author_said_text":"{{ reviewer_name }} said:","widget_days_text":"{{ n }} days ago","widget_weeks_text":"{{ n }} week/weeks ago","widget_months_text":"{{ n }} month/months ago","widget_years_text":"{{ n }} year/years ago","widget_yesterday_text":"Yesterday","widget_today_text":"Today","widget_replied_text":"\u003e\u003e {{ shop_name }} replied:","widget_read_more_text":"Read more","widget_reviewer_name_as_initial":"","widget_rating_filter_color":"#fbcd0a","widget_rating_filter_see_all_text":"See all reviews","widget_sorting_most_recent_text":"Most Recent","widget_sorting_highest_rating_text":"Highest Rating","widget_sorting_lowest_rating_text":"Lowest Rating","widget_sorting_with_pictures_text":"Only Pictures","widget_sorting_most_helpful_text":"Most Helpful","widget_open_question_form_text":"Ask a question","widget_reviews_subtab_text":"Reviews","widget_questions_subtab_text":"Questions","widget_question_label_text":"Question","widget_answer_label_text":"Answer","widget_question_placeholder_text":"Write your question here","widget_submit_question_text":"Submit Question","widget_question_submit_success_text":"Thank you for your question! We will notify you once it gets answered.","widget_star_color":"#FBCD0A","verified_badge_text":"Verified","verified_badge_bg_color":"","verified_badge_text_color":"","verified_badge_placement":"left-of-reviewer-name","widget_review_max_height":"","widget_hide_border":false,"widget_social_share":false,"widget_thumb":false,"widget_review_location_show":false,"widget_location_format":"","all_reviews_include_out_of_store_products":true,"all_reviews_out_of_store_text":"(out of store)","all_reviews_pagination":100,"all_reviews_product_name_prefix_text":"about","enable_review_pictures":true,"enable_question_anwser":false,"widget_theme":"default","review_date_format":"mm/dd/yyyy","default_sort_method":"most-recent","widget_product_reviews_subtab_text":"Product Reviews","widget_shop_reviews_subtab_text":"Shop Reviews","widget_other_products_reviews_text":"Reviews for other products","widget_store_reviews_subtab_text":"Store reviews","widget_no_store_reviews_text":"This store hasn't received any reviews yet","widget_web_restriction_product_reviews_text":"This product hasn't received any reviews yet","widget_no_items_text":"No items found","widget_show_more_text":"Show more","widget_write_a_store_review_text":"Write a Store Review","widget_other_languages_heading":"Reviews in Other Languages","widget_translate_review_text":"Translate review to {{ language }}","widget_translating_review_text":"Translating...","widget_show_original_translation_text":"Show original ({{ language }})","widget_translate_review_failed_text":"Review couldn't be translated.","widget_translate_review_retry_text":"Retry","widget_translate_review_try_again_later_text":"Try again later","show_product_url_for_grouped_product":false,"widget_sorting_pictures_first_text":"Pictures First","show_pictures_on_all_rev_page_mobile":false,"show_pictures_on_all_rev_page_desktop":false,"floating_tab_hide_mobile_install_preference":false,"floating_tab_button_name":"â
Reviews","floating_tab_title":"Let customers speak for us","floating_tab_button_color":"","floating_tab_button_background_color":"","floating_tab_url":"","floating_tab_url_enabled":false,"floating_tab_tab_style":"text","all_reviews_text_badge_text":"Customers rate us {{ shop.metafields.judgeme.all_reviews_rating | round: 1 }}/5 based on {{ shop.metafields.judgeme.all_reviews_count }} reviews.","all_reviews_text_badge_text_branded_style":"{{ shop.metafields.judgeme.all_reviews_rating | round: 1 }} out of 5 stars based on {{ shop.metafields.judgeme.all_reviews_count }} reviews","is_all_reviews_text_badge_a_link":false,"show_stars_for_all_reviews_text_badge":false,"all_reviews_text_badge_url":"","all_reviews_text_style":"branded","all_reviews_text_color_style":"judgeme_brand_color","all_reviews_text_color":"#108474","all_reviews_text_show_jm_brand":true,"featured_carousel_show_header":true,"featured_carousel_title":"Let customers speak for us","testimonials_carousel_title":"Customers are saying","videos_carousel_title":"Real customer stories","cards_carousel_title":"Customers are saying","featured_carousel_count_text":"from {{ n }} reviews","featured_carousel_add_link_to_all_reviews_page":false,"featured_carousel_url":"","featured_carousel_show_images":true,"featured_carousel_autoslide_interval":5,"featured_carousel_arrows_on_the_sides":false,"featured_carousel_height":250,"featured_carousel_width":80,"featured_carousel_image_size":0,"featured_carousel_image_height":250,"featured_carousel_arrow_color":"#eeeeee","verified_count_badge_style":"branded","verified_count_badge_orientation":"horizontal","verified_count_badge_color_style":"judgeme_brand_color","verified_count_badge_color":"#108474","is_verified_count_badge_a_link":false,"verified_count_badge_url":"","verified_count_badge_show_jm_brand":true,"widget_rating_preset_default":5,"widget_first_sub_tab":"product-reviews","widget_show_histogram":true,"widget_histogram_use_custom_color":false,"widget_pagination_use_custom_color":false,"widget_star_use_custom_color":true,"widget_verified_badge_use_custom_color":false,"widget_write_review_use_custom_color":false,"picture_reminder_submit_button":"Upload Pictures","enable_review_videos":false,"mute_video_by_default":false,"widget_sorting_videos_first_text":"Videos First","widget_review_pending_text":"Pending","featured_carousel_items_for_large_screen":3,"social_share_options_order":"Facebook,Twitter","remove_microdata_snippet":true,"disable_json_ld":false,"enable_json_ld_products":false,"preview_badge_show_question_text":false,"preview_badge_no_question_text":"No questions","preview_badge_n_question_text":"{{ number_of_questions }} question/questions","qa_badge_show_icon":false,"qa_badge_position":"same-row","remove_judgeme_branding":false,"widget_add_search_bar":false,"widget_search_bar_placeholder":"Search","widget_sorting_verified_only_text":"Verified only","featured_carousel_theme":"default","featured_carousel_show_rating":true,"featured_carousel_show_title":true,"featured_carousel_show_body":true,"featured_carousel_show_date":false,"featured_carousel_show_reviewer":true,"featured_carousel_show_product":false,"featured_carousel_header_background_color":"#108474","featured_carousel_header_text_color":"#ffffff","featured_carousel_name_product_separator":"reviewed","featured_carousel_full_star_background":"#108474","featured_carousel_empty_star_background":"#dadada","featured_carousel_vertical_theme_background":"#f9fafb","featured_carousel_verified_badge_enable":true,"featured_carousel_verified_badge_color":"#108474","featured_carousel_border_style":"round","featured_carousel_review_line_length_limit":3,"featured_carousel_more_reviews_button_text":"Read more reviews","featured_carousel_view_product_button_text":"View product","all_reviews_page_load_reviews_on":"scroll","all_reviews_page_load_more_text":"Load More Reviews","disable_fb_tab_reviews":false,"enable_ajax_cdn_cache":false,"widget_advanced_speed_features":5,"widget_public_name_text":"displayed publicly like","default_reviewer_name":"John Smith","default_reviewer_name_has_non_latin":true,"widget_reviewer_anonymous":"Anonymous","medals_widget_title":"Judge.me Review Medals","medals_widget_background_color":"#f9fafb","medals_widget_position":"footer_all_pages","medals_widget_border_color":"#f9fafb","medals_widget_verified_text_position":"left","medals_widget_use_monochromatic_version":false,"medals_widget_elements_color":"#108474","show_reviewer_avatar":true,"widget_invalid_yt_video_url_error_text":"Not a YouTube video URL","widget_max_length_field_error_text":"Please enter no more than {0} characters.","widget_show_country_flag":false,"widget_show_collected_via_shop_app":true,"widget_verified_by_shop_badge_style":"light","widget_verified_by_shop_text":"Verified by Shop","widget_show_photo_gallery":false,"widget_load_with_code_splitting":true,"widget_ugc_install_preference":false,"widget_ugc_title":"Made by us, Shared by you","widget_ugc_subt
1208itle":"Tag us to see your picture featured in our page","widget_ugc_arrows_color":"#ffffff","widget_ugc_primary_button_text":"Buy Now","widget_ugc_primary_button_background_color":"#108474","widget_ugc_primary_button_text_color":"#ffffff","widget_ugc_primary_button_border_width":"0","widget_ugc_primary_button_border_style":"none","widget_ugc_primary_button_border_color":"#108474","widget_ugc_primary_button_border_radius":"25","widget_ugc_secondary_button_text":"Load More","widget_ugc_secondary_button_background_color":"#ffffff","widget_ugc_secondary_button_text_color":"#108474","widget_ugc_secondary_button_border_width":"2","widget_ugc_secondary_button_border_style":"solid","widget_ugc_secondary_button_border_color":"#108474","widget_ugc_secondary_button_border_radius":"25","widget_ugc_reviews_button_text":"View Reviews","widget_ugc_reviews_button_background_color":"#ffffff","widget_ugc_reviews_button_text_color":"#108474","widget_ugc_reviews_button_border_width":"2","widget_ugc_reviews_button_border_style":"solid","widget_ugc_reviews_button_border_color":"#108474","widget_ugc_reviews_button_border_radius":"25","widget_ugc_reviews_button_link_to":"judgeme-reviews-page","widget_ugc_show_post_date":true,"widget_ugc_max_width":"800","widget_rating_metafield_value_type":true,"widget_primary_color":"#263276","widget_enable_secondary_color":false,"widget_secondary_color":"#edf5f5","widget_summary_average_rating_text":"{{ average_rating }} out of 5","widget_media_grid_title":"Customer photos \u0026 videos","widget_media_grid_see_more_text":"See more","widget_round_style":false,"widget_show_product_medals":false,"widget_verified_by_judgeme_text":"Verified by Judge.me","widget_show_store_medals":true,"widget_verified_by_judgeme_text_in_store_medals":"Verified by Judge.me","widget_media_field_exceed_quantity_message":"Sorry, we can only accept {{ max_media }} for one review.","widget_media_field_exceed_limit_message":"{{ file_name }} is too large, please select a {{ media_type }} less than {{ size_limit }}MB.","widget_review_submitted_text":"Review Submitted!","widget_question_submitted_text":"Question Submitted!","widget_close_form_text_question":"Cancel","widget_write_your_answer_here_text":"Write your answer here","widget_enabled_branded_link":true,"widget_show_collected_by_judgeme":false,"widget_reviewer_name_color":"","widget_write_review_text_color":"","widget_write_review_bg_color":"","widget_collected_by_judgeme_text":"collected by Judge.me","widget_pagination_type":"standard","widget_load_more_text":"Load More","widget_load_more_color":"#108474","widget_full_review_text":"Full Review","widget_read_more_reviews_text":"Read More Reviews","widget_read_questions_text":"Read Questions","widget_questions_and_answers_text":"Questions \u0026 Answers","widget_verified_by_text":"Verified by","widget_verified_text":"Verified","widget_number_of_reviews_text":"{{ number_of_reviews }} reviews","widget_back_button_text":"Back","widget_next_button_text":"Next","widget_custom_forms_filter_button":"Filters","custom_forms_style":"horizontal","widget_show_review_information":false,"how_reviews_are_collected":"How reviews are collected?","widget_show_review_keywords":false,"widget_gdpr_statement":"How we use your data: We'll only contact you about the review you left, and only if necessary. By submitting your review, you agree to Judge.me's \u003ca href='https://judge.me/terms' target='_blank' rel='nofollow noopener'\u003eterms\u003c/a\u003e, \u003ca href='https://judge.me/privacy' target='_blank' rel='nofollow noopener'\u003eprivacy\u003c/a\u003e and \u003ca href='https://judge.me/content-policy' target='_blank' rel='nofollow noopener'\u003econtent\u003c/a\u003e policies.","widget_multilingual_sorting_enabled":false,"widget_translate_review_content_enabled":false,"widget_translate_review_content_method":"manual","popup_widget_review_selection":"automatically_with_pictures","popup_widget_round_border_style":true,"popup_widget_show_title":true,"popup_widget_show_body":true,"popup_widget_show_reviewer":false,"popup_widget_show_product":true,"popup_widget_show_pictures":true,"popup_widget_use_review_picture":true,"popup_widget_show_on_home_page":true,"popup_widget_show_on_product_page":true,"popup_widget_show_on_collection_page":true,"popup_widget_show_on_cart_page":true,"popup_widget_position":"bottom_left","popup_widget_first_review_delay":5,"popup_widget_duration":5,"popup_widget_interval":5,"popup_widget_review_count":5,"popup_widget_hide_on_mobile":true,"review_snippet_widget_round_border_style":true,"review_snippet_widget_card_color":"#FFFFFF","review_snippet_widget_slider_arrows_background_color":"#FFFFFF","review_snippet_widget_slider_arrows_color":"#000000","review_snippet_widget_star_color":"#108474","show_product_variant":false,"all_reviews_product_variant_label_text":"Variant: ","widget_show_verified_branding":false,"widget_ai_summary_title":"Customers say","widget_ai_summary_disclaimer":"AI-powered review summary based on recent customer reviews","widget_show_ai_summary":false,"widget_show_ai_summary_bg":false,"widget_show_review_title_input":true,"redirect_reviewers_invited_via_email":"external_form","request_store_review_after_product_review":false,"request_review_other_products_in_order":false,"review_form_color_scheme":"default","review_form_corner_style":"square","review_form_star_color":{},"review_form_text_color":"#333333","review_form_background_color":"#ffffff","review_form_field_background_color":"#fafafa","review_form_button_color":{},"review_form_button_text_color":"#ffffff","review_form_modal_overlay_color":"#000000","review_content_screen_title_text":"How would you rate this product?","review_content_introduction_text":"We would love it if you would share a bit about your experience.","store_review_form_title_text":"How would you rate this store?","store_review_form_introduction_text":"We would love it if you would share a bit about your experience.","show_review_guidance_text":true,"one_star_review_guidance_text":"Poor","five_star_review_guidance_text":"Great","customer_information_screen_title_text":"About you","customer_information_introduction_text":"Please tell us more about you.","custom_questions_screen_title_text":"Your experience in more detail","custom_questions_introduction_text":"Here are a few questions to help us understand more about your experience.","review_submitted_screen_title_text":"Thanks for your review!","review_submitted_screen_thank_you_text":"We are processing it and it will appear on the store soon.","review_submitted_screen_email_verification_text":"Please confirm your email by clicking the link we just sent you. This helps us keep reviews authentic.","review_submitted_request_store_review_text":"Would you like to share your experience of shopping with us?","review_submitted_review_other_products_text":"Would you like to review these products?","store_review_screen_title_text":"Would you like to share your experience of shopping with us?","store_review_introduction_text":"We value your feedback and use it to improve. Please share any thoughts or suggestions you have.","reviewer_media_screen_title_picture_text":"Share a picture","reviewer_media_introduction_picture_text":"Upload a photo to support your review.","reviewer_media_screen_title_video_text":"Share a video","reviewer_media_introduction_video_text":"Upload a video to support your review.","reviewer_media_screen_title_picture_or_video_text":"Share a picture or video","reviewer_media_introduction_picture_or_video_text":"Upload a photo or video to support your review.","reviewer_media_
1208youtube_url_text":"Paste your Youtube URL here","advanced_settings_next_step_button_text":"Next","advanced_settings_close_review_button_text":"Close","modal_write_review_flow":false,"write_review_flow_required_text":"Required","write_review_flow_privacy_message_text":"We respect your privacy.","write_review_flow_anonymous_text":"Post review as anonymous","write_review_flow_visibility_text":"This won't be visible to other customers.","write_review_flow_multiple_selection_help_text":"Select as many as you like","write_review_flow_single_selection_help_text":"Select one option","write_review_flow_required_field_error_text":"This field is required","write_review_flow_invalid_email_error_text":"Please enter a valid email address","write_review_flow_max_length_error_text":"Max. {{ max_length }} characters.","write_review_flow_media_upload_text":"\u003cb\u003eClick to upload\u003c/b\u003e or drag and drop","write_review_flow_gdpr_statement":"We'll only contact you about your review if necessary. By submitting your review, you agree to our \u003ca href='https://judge.me/terms' target='_blank' rel='nofollow noopener'\u003eterms and conditions\u003c/a\u003e and \u003ca href='https://judge.me/privacy' target='_blank' rel='nofollow noopener'\u003eprivacy policy\u003c/a\u003e.","rating_only_reviews_enabled":false,"show_negative_reviews_help_screen":false,"new_review_flow_help_screen_rating_threshold":3,"negative_review_resolution_screen_title_text":"Tell us more","negative_review_resolution_text":"Your experience matters to us. If there were issues with your purchase, we're here to help. Feel free to reach out to us, we'd love the opportunity to make things right.","negative_review_resolution_button_text":"Contact us","negative_review_resolution_proceed_with_review_text":"Leave a review","negative_review_resolution_subject":"Issue with purchase from {{ shop_name }}.{{ order_name }}","preview_badge_collection_page_install_status":false,"widget_review_custom_css":".jdgm-rev__icon {background-color: #dde0ff;border-radius: 100px;}.jdgm-rev__author{font-family:manropebold !important;font-size:16px;color:#0D0C22;}\n.jdgm-row-profile{display: flex;align-items: center;}.jdgm-rev__body p{ color:#0D0C22;}\n.jdgm-histogram__bar, .jdgm-histogram__bar-content{height:8px;border-radius:8px;}\n.jdgm-histogram__frequency{color:#0D0C22;font-family: manropebold;}","preview_badge_custom_css":"","preview_badge_stars_count":"5-stars","featured_carousel_custom_css":"","floating_tab_custom_css":"","all_reviews_widget_custom_css":"","medals_widget_custom_css":"","verified_badge_custom_css":"","all_reviews_text_custom_css":"","transparency_badges_collected_via_store_invite":false,"transparency_badges_from_another_provider":false,"transparency_badges_collected_from_store_visitor":false,"transparency_badges_collected_by_verified_review_provider":false,"transparency_badges_earned_reward":false,"transparency_badges_collected_via_store_invite_text":"Review collected via store invitation","transparency_badges_from_another_provider_text":"Review collected from another provider","transparency_badges_collected_from_store_visitor_text":"Review collected from a store visitor","transparency_badges_written_in_google_text":"Review written in Google","transparency_badges_written_in_etsy_text":"Review written in Etsy","transparency_badges_written_in_shop_app_text":"Review written in Shop App","transparency_badges_earned_reward_text":"Review earned a reward for future purchase","product_review_widget_per_page":10,"widget_store_review_label_text":"Review about the store","checkout_comment_extension_title_on_product_page":"Customer Comments","checkout_comment_extension_num_latest_comment_show":5,"checkout_comment_extension_format":"name_and_timestamp","checkout_comment_customer_name":"last_initial","checkout_comment_comment_notification":true,"preview_badge_collection_page_install_preference":false,"preview_badge_home_page_install_preference":false,"preview_badge_product_page_install_preference":false,"review_widget_install_preference":"","review_carousel_install_preference":false,"floating_reviews_tab_install_preference":"none","verified_reviews_count_badge_install_preference":false,"all_reviews_text_install_preference":false,"review_widget_best_location":false,"judgeme_medals_install_preference":false,"review_widget_revamp_enabled":false,"review_widget_qna_enabled":false,"review_widget_header_theme":"minimal","review_widget_widget_title_enabled":true,"review_widget_header_text_size":"medium","review_widget_header_text_weight":"regular","review_widget_average_rating_style":"compact","review_widget_bar_chart_enabled":true,"review_widget_bar_chart_type":"numbers","review_widget_bar_chart_style":"standard","review_widget_expanded_media_gallery_enabled":false,"review_widget_reviews_section_theme":"standard","review_widget_image_style":"thumbnails","review_widget_review_image_ratio":"square","review_widget_stars_size":"medium","review_widget_verified_badge":"standard_text","review_widget_review_title_text_size":"medium","review_widget_review_text_size":"medium","review_widget_review_text_length":"medium","review_widget_number_of_columns_desktop":3,"review_widget_carousel_transition_speed":5,"review_widget_custom_questions_answers_display":"always","review_widget_button_text_color":"#FFFFFF","review_widget_text_color":"#000000","review_widget_lighter_text_color":"#7B7B7B","review_widget_corner_styling":"soft","review_widget_review_word_singular":"review","review_widget_review_word_plural"
1208:"reviews","review_widget_voting_label":"Helpful?","review_widget_shop_reply_label":"Reply from {{ shop_name }}:","review_widget_filters_title":"Filters","qna_widget_question_word_singular":"Question","qna_widget_question_word_plural":"Questions","qna_widget_answer_reply_label":"Answer from {{ answerer_name }}:","qna_content_screen_title_text":"Ask a question about this product","qna_widget_question_required_field_error_text":"Please enter your question.","qna_widget_flow_gdpr_statement":"We'll only contact you about your question if necessary. By submitting your question, you agree to our \u003ca href='https://judge.me/terms' target='_blank' rel='nofollow noopener'\u003eterms and conditions\u003c/a\u003e and \u003ca href='https://judge.me/privacy' target='_blank' rel='nofollow noopener'\u003eprivacy policy\u003c/a\u003e.","qna_widget_question_submitted_text":"Thanks for your question!","qna_widget_close_form_text_question":"Close","qna_widget_question_submit_success_text":"Weâll notify you by email when your question is answered.","all_reviews_widget_v2025_enabled":false,"all_reviews_widget_v2025_header_theme":"default","all_reviews_widget_v2025_widget_title_enabled":true,"all_reviews_widget_v2025_header_text_size":"medium","all_reviews_widget_v2025_header_text_weight":"regular","all_reviews_widget_v2025_average_rating_style":"compact","all_reviews_widget_v2025_bar_chart_enabled":true,"all_reviews_widget_v2025_bar_chart_type":"numbers","all_reviews_widget_v2025_bar_chart_style":"standard","all_reviews_widget_v2025_expanded_media_gallery_enabled":false,"all_reviews_widget_v2025_show_store_medals":true,"all_reviews_widget_v2025_show_photo_gallery":true,"all_reviews_widget_v2025_show_review_keywords":false,"all_reviews_widget_v2025_show_ai_summary":false,"all_reviews_widget_v2025_show_ai_summary_bg":false,"all_reviews_widget_v2025_add_search_bar":false,"all_reviews_widget_v2025_default_sort_method":"most-recent","all_reviews_widget_v2025_reviews_per_page":10,"all_reviews_widget_v2025_reviews_section_theme":"default","all_reviews_widget_v2025_image_style":"thumbnails","all_reviews_widget_v2025_review_image_ratio":"square","all_reviews_widget_v2025_stars_size":"medium","all_reviews_widget_v2025_verified_badge":"bold_badge","all_reviews_widget_v2025_review_title_text_size":"medium","all_reviews_widget_v2025_review_text_size":"medium","all_reviews_widget_v2025_review_text_length":"medium","all_reviews_widget_v2025_number_of_columns_desktop":3,"all_reviews_widget_v2025_carousel_transition_speed":5,"all_reviews_widget_v2025_custom_questions_answers_display":"always","all_reviews_widget_v2025_show_product_variant":false,"all_reviews_widget_v2025_show_reviewer_avatar":true,"all_reviews_widget_v2025_reviewer_name_as_initial":"","all_reviews_widget_v2025_review_location_show":false,"all_reviews_widget_v2025_location_format":"","all_reviews_widget_v2025_show_country_flag":false,"all_reviews_widget_v2025_verified_by_shop_badge_style":"light","all_reviews_widget_v2025_social_share":false,"all_reviews_widget_v2025_social_share_options_order":"Facebook,Twitter,LinkedIn,Pinterest","all_reviews_widget_v2025_pagination_type":"standard","all_reviews_widget_v2025_button_text_color":"#FFFFFF","all_reviews_widget_v2025_text_color":"#000000","all_reviews_widget_v2025_lighter_text_color":"#7B7B7B","all_reviews_widget_v2025_corner_styling":"soft","all_reviews_widget_v2025_title":"Customer reviews","all_reviews_widget_v2025_ai_summary_title":"Customers say about this store","all_reviews_widget_v2025_no_review_text":"Be the first to write a review","platform":"shopify","branding_url":"https://app.judge.me/reviews","branding_text":"Powered by Judge.me","locale":"en","reply_name":"Formen Health","widget_version":"3.0","footer":true,"autopublish":true,"review_dates":true,"enable_custom_form":false,"shop_locale":"en","enable_multi_locales_translations":false,"show_review_title_input":true,"review_verification_email_status":"always","can_be_branded":false,"reply_name_text":"Formen Health"};</script>
1208 <style class='jdgm-settings-style'>.jdgm-xx{left:0}:root{--jdgm-primary-color: #263276;--jdgm-secondary-color: rgba(38,50,118,0.1);--jdgm-star-color: #FBCD0A;--jdgm-write-review-text-color: white;--jdgm-write-review-bg-color: #263276;--jdgm-paginate-color: #263276;--jdgm-border-radius: 0;--jdgm-reviewer-name-color: #263276}.jdgm-histogram__bar-content{background-color:#263276}.jdgm-rev[data-verified-buyer=true] .jdgm-rev__icon.jdgm-rev__icon:after,.jdgm-rev__buyer-badge.jdgm-rev__buyer-badge{color:white;background-color:#263276}.jdgm-review-widget--small .jdgm-gallery.jdgm-gallery .jdgm-gallery__thumbnail-link:nth-child(8) .jdgm-gallery__thumbnail-wrapper.jdgm-gallery__thumbnail-wrapper:before{content:"See more"}@media only screen and (min-width: 768px){.jdgm-gallery.jdgm-gallery .jdgm-gallery__thumbnail-link:nth-child(8) .jdgm-gallery__thumbnail-wrapper.jdgm-gallery__thumbnail-wrapper:before{content:"See more"}}.jdgm-preview-badge .jdgm-star.jdgm-star{color:#FBCD0A}.jdgm-prev-badge[data-average-rating='0.00']{display:none !important}.jdgm-author-all-initials{display:none !important}.jdgm-author-last-initial{display:none !important}.jdgm-rev-widg__title{visibility:hidden}.jdgm-rev-widg__summary-text{visibility:hidden}.jdgm-prev-badge__text{visibility:hidden}.jdgm-rev__prod-link-prefix:before{content:'about'}.jdgm-rev__variant-label:before{content:'Variant: '}.jdgm-rev__out-of-store-text:before{content:'(out of store)'}@media only screen and (min-width: 768px){.jdgm-rev__pics .jdgm-rev_all-rev-page-picture-separator,.jdgm-rev__pics .jdgm-rev__product-picture{display:none}}@media only screen and (max-width: 768px){.jdgm-rev__pics .jdgm-rev_all-rev-page-picture-separator,.jdgm-rev__pics .jdgm-rev__product-picture{display:none}}.jdgm-preview-badge[data-template="product"]{display:none !important}.jdgm-preview-badge[data-template="collection"]{display:none !important}.jdgm-preview-badge[data-template="index"]{display:none !important}.jdgm-review-widget[data-from-snippet="true"]{display:none !important}.jdgm-verified-count-badget[data-from-snippet="true"]{display:none !important}.jdgm-carousel-wrapper[data-from-snippet="true"]{display:none !important}.jdgm-all-reviews-text[data-from-snippet="true"]{display:none !important}.jdgm-medals-section[data-from-snippet="true"]{display:none !important}.jdgm-ugc-media-wrapper[data-from-snippet="true"]{display:none !important}.jdgm-rev__transparency-badge[data-badge-type="review_collected_via_store_invitation"]{display:none !important}.jdgm-rev__transparency-badge[data-badge-type="review_collected_from_another_provider"]{display:none !important}.jdgm-rev__transparency-badge[data-badge-type="review_collected_from_store_visitor"]{display:none !important}.jdgm-rev__transparency-badge[data-badge-type="review_written_in_etsy"]{display:none !important}.jdgm-rev__transparency-badge[data-badge-type="review_written_in_google_business"]{display:none !important}.jdgm-rev__transparency-badge[data-badge-type="review_written_in_shop_app"]{display:none !important}.jdgm-rev__transparency-badge[data-badge-type="review_earned_for_future_purchase"]{display:none !important}.jdgm-review-snippet-widget .jdgm-rev-snippet-widget__cards-container .jdgm-rev-snippet-card{border-radius:8px;background:#fff}.jdgm-review-snippet-widget .jdgm-rev-snippet-widget__cards-container .jdgm-rev-snippet-card__rev-rating .jdgm-star{color:#108474}.jdgm-review-snippet-widget .jdgm-rev-snippet-widget__prev-btn,.jdgm-review-snippet-widget .jdgm-rev-snippet-widget__next-btn{border-radius:50%;background:#fff}.jdgm-review-snippet-widget .jdgm-rev-snippet-widget__prev-btn>svg,.jdgm-review-snippet-widget .jdgm-rev-snippet-widget__next-btn>svg{fill:#000}.jdgm-full-rev-modal.rev-snippet-widget .jm-mfp-container .jm-mfp-content,.jdgm-full-rev-modal.rev-snippet-widget .jm-mfp-container .jdgm-full-rev__icon,.jdgm-full-rev-modal.rev-snippet-widget .jm-mfp-container .jdgm-full-rev__pic-img,.jdgm-full-rev-modal.rev-snippet-widget .jm-mfp-container .jdgm-full-rev__reply{border-radius:8px}.jdgm-full-rev-modal.rev-snippet-widget .jm-mfp-container .jdgm-full-rev[data-verified-buyer="true"] .jdgm-full-rev__icon::after{border-radius:8px}.jdgm-full-rev-modal.rev-snippet-widget .jm-mfp-container .jdgm-full-rev .jdgm-rev__buyer-badge{border-radius:calc( 8px / 2 )}.jdgm-full-rev-modal.rev-snippet-widget .jm-mfp-container .jdgm-full-rev .jdgm-full-rev__replier::before{content:'Formen Health'}.jdgm-full-rev-modal.rev-snippet-widget .jm-mfp-container .jdgm-full-rev .jdgm-full-rev__product-button{border-radius:calc( 8px * 6 )} 1209</style> <style class='jdgm-settings-style'>.jdgm-review-widget .jdgm-rev__icon{background-color:#dde0ff;border-radius:100px}.jdgm-review-widget .jdgm-rev__author{font-family:manropebold !important;font-size:16px;color:#0D0C22}.jdgm-review-widget .jdgm-row-profile{display:flex;align-items:center}.jdgm-review-widget .jdgm-rev__body p{color:#0D0C22}.jdgm-review-widget .jdgm-histogram__bar,.jdgm-review-widget .jdgm-histogram__bar-content{height:8px;border-radius:8px}.jdgm-review-widget .jdgm-histogram__frequency{color:#0D0C22;font-family:manropebold} 1210</style> 1211 1212 1213 1214 1215 <style class='jdgm-miracle-styles'> 1216 @-webkit-keyframes jdgm-spin{0%{-webkit-transform:rotate(0deg);-ms-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(359deg);-ms-transform:rotate(359deg);transform:rotate(359deg)}}@keyframes jdgm-spin{0%{-webkit-transform:rotate(0deg);-ms-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(359deg);-ms-transform:rotate(359deg);transform:rotate(359deg)}}@font-face{font-family:'JudgemeStar';src:url("data:application/x-font-woff;charset=utf-8;base64,d09GRgABAAAAAAScAA0AAAAABrAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABGRlRNAAAEgAAAABoAAAAcbyQ+3kdERUYAAARgAAAAHgAAACAAMwAGT1MvMgAAAZgAAABGAAAAVi+vS9xjbWFwAAAB8AAAAEAAAAFKwBMjvmdhc3AAAARYAAAACAAAAAj//wADZ2x5ZgAAAkAAAAEJAAABdH33LXtoZWFkAAABMAAAAC0AAAA2BroQKWhoZWEAAAFgAAAAHAAAACQD5QHQaG10eAAAAeAAAAAPAAAAFAYAAABsb2NhAAACMAAAAA4AAAAOAO4AeG1heHAAAAF8AAAAHAAAACAASgAvbmFtZQAAA0wAAADeAAABkorWfVZwb3N0AAAELAAAACkAAABEp3ubLXgBY2BkYADhPPP4OfH8Nl8ZuJkYQODS2fRrCPr/aSYGxq1ALgcDWBoAO60LkwAAAHgBY2BkYGDc+v80gx4TAwgASaAICmABAFB+Arl4AWNgZGBgYGPQYWBiAAIwyQgWc2AAAwAHVQB6eAFjYGRiYJzAwMrAwejDmMbAwOAOpb8ySDK0MDAwMbByMsCBAAMCBKS5pjA4PGB4wMR44P8BBj3GrQymQGFGkBwAjtgK
1216/gAAeAFjYoAAEA1jAwAAZAAHAHgB3crBCcAwDEPRZydkih567CDdf4ZskmLwFBV8xBfCaC4BXkOUmx4sU0h2ngNb9V0vQCxaRKIAevT7fGWuBrEAAAAAAAAAAAA0AHgAugAAeAF9z79Kw1AUx/FzTm7un6QmJtwmQ5Bg1abgEGr/BAqlU6Gju+Cgg1MkQ/sA7Vj7BOnmO/gUvo2Lo14NqIO6/IazfD8HEODtmQCfoANwNsyp2/GJt3WKQrd1NLiYYWx2PBqOsmJMEOznPOTzfSCrhAtbbLdmeFLJV9eKd63WLrZcIcuaEVdssWCKM6pLCfTVOYbz/0pNSMSZKLIZpvh78sAUH6PlMrreTCabP9r+Z/puPZ2ur/RqpQHgh+MIegCnXeM4MRAPjYN//5tj4ZtTjkFqEdmeMShlEJ7tVAly2TAkx6R68Fl4E/aVvn8JqHFQ4JS1434gXKcuL31dDhzs3YbsEOAd/IU88gAAAHgBfY4xTgMxEEVfkk0AgRCioKFxQYd2ZRtpixxgRU2RfhU5q5VWseQ4JdfgAJyBlmNwAM7ABRhZQ0ORwp7nr+eZAa54YwYg9zm3ynPOeFRe8MCrciXOh/KSS76UV5L/iDmrLiS5AeU519wrL3jmSbkS5115yR2fyivJv9kx0ZMZ2RLZw27q87iNQi8EBo5FSPIMw3HqBboi5lKTGAGDp8FKXWP+t9TU01Lj5His1Ba6uM9dTEMwvrFmbf5GC/q2drW3ruXUhhsCiQOjznFlCzYhHUZp4xp76vsvQh89CQAAeAFjYGJABowM6IANLMrEyMTIzMjCXpyRWJBqZshWXJJYBKOMAFHFBucAAAAAAAAB//8AAngBY2BkYGDgA2IJBhBgAvKZGViBJAuYxwAABJsAOgAAeAFjYGBgZACCk535hiD60tn0azAaAEqpB6wAAA==") format("woff");font-weight:normal;font-style:normal}.jdgm-star{font-family:'JudgemeStar';display:inline !important;text-decoration:none !important;padding:0 4px 0 0 !important;margin:0 !important;font-weight:bold;opacity:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.jdgm-star:hover{opacity:1}.jdgm-star:last-of-type{padding:0 !important}.jdgm-star.jdgm--on:before{content:"\e000"}.jdgm-star.jdgm--off:before{content:"\e001"}.jdgm-star.jdgm--half:before{content:"\e002"}.jdgm-widget *{margin:0;line-height:1.4;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;-webkit-overflow-scrolling:touch}.jdgm-hidden{display:none !important;visibility:hidden !important}.jdgm-temp-hidden{display:none}.jdgm-spinner{width:40px;height:40px;margin:auto;border-radius:50%;border-top:2px solid #eee;border-right:2px solid #eee;border-bottom:2px solid #eee;border-left:2px solid #ccc;-webkit-animation:jdgm-spin 0.8s infinite linear;animation:jdgm-spin 0.8s infinite linear}.jdgm-prev-badge{display:block !important} 1217 1218</style> 1219 1220 1221 1222 1223 1224 1225 1226 1227
1228<script data-cfasync='false' class='jdgm-script'> 1229!function(e){window.jdgm=window.jdgm||{}; 1230/* INF-1976 */ 1231var _jdgmBlocked=function(){var raw=(window.jdgmSettings||{}).hostname_allowlist;var list=(raw==null?"":""+raw).split(/[\s,]+/).map(function(h){return h.trim().toLowerCase().replace(/\.$/,"");}).filter(function(h){return h;});if(!list.length)return false;var host=(e.location.hostname||"").toLowerCase().replace(/\.$/,"");if(/(^|\.)shopifypreview\.com$/.test(host))return false;var bare=host.replace(/^www\./,"");for(var i=0;i<list.length;i++){var en=list[i];if(en.indexOf("*.")===0){var b=en.slice(2);if(host===b||host.slice(-(b.length+1))==="."+b)return false;}else if(bare===en.replace(/^www\./,""))return false;}return true;}(); 1232if(_jdgmBlocked){jdgm._loaderExecuted=true;jdgm._blocked=true;var _jdgmS=e.createElement("style");_jdgmS.textContent='[class^="jdgm-"],[class*=" jdgm-"]{display:none !important}';(e.head||e.documentElement).appendChild(_jdgmS);return;} 1233jdgm.CDN_HOST="https://cdn2.judge.me/cdn/widget_frontend/",jdgm.CDN_HOST_ALT="https://cdn2.judge.me/cdn/widget_frontend/",jdgm.API_HOST="https://api.judge.me/",jdgm.CDN_BASE_URL="https://cdn.shopify.com/extensions/01a11b30-98d5-7ae3-b2f4-f79b3c6f32c4/judgeme-775/assets/",jdgm.CDN_API_HOST="https://cdn.judge.me/", 1234jdgm.docReady=function(d){(e.attachEvent?"complete"===e.readyState:"loading"!==e.readyState)? 1235setTimeout(d,0):e.addEventListener("DOMContentLoaded",d)},jdgm.loadCSS=function(d,t,o,a){ 1236!o&&jdgm.loadCSS.requestedUrls.indexOf(d)>=0||(jdgm.loadCSS.requestedUrls.push(d), 1237(a=e.createElement("link")).rel="stylesheet",a.class="jdgm-stylesheet",a.media="nope!", 1238a.href=d,a.onload=function(){this.media="all",t&&setTimeout(t)},e.body.appendChild(a))}, 1239jdgm.loadCSS.requestedUrls=[],jdgm.loadJS=function(e,d){var t=new XMLHttpRequest; 1240t.onreadystatechange=function(){4===t.readyState&&t.status>=200&&t.status<300&&(Function(t.response)(),d&&d(t.response))}, 1241t.open("GET",e),t.onerror=function(){if(e.indexOf(jdgm.CDN_HOST)===0&&jdgm.CDN_HOST_ALT!==jdgm.CDN_HOST){var f=e.replace(jdgm.CDN_HOST,jdgm.CDN_HOST_ALT);jdgm.loadJS(f,d)}},t.send()},jdgm.docReady((function(){(window.jdgmLoadCSS||e.querySelectorAll( 1242".jdgm-widget, .jdgm-all-reviews-page").length>0)&&(jdgmSettings.widget_load_with_code_splitting? 1243parseFloat(jdgmSettings.widget_version)>=3?jdgm.loadCSS(jdgm.CDN_BASE_URL+"widget_v3_base.css"): 1244jdgm.loadCSS(jdgm.CDN_BASE_URL+"widget_base.css"):jdgm.loadCSS(jdgm.CDN_BASE_URL+"shopify_v2.css") 1245)}))}(document); 1246</script>
1246 1247<noscript><link rel="stylesheet" type="text/css" media="all" href="https://cdn.shopify.com/extensions/01a11b30-98d5-7ae3-b2f4-f79b3c6f32c4/judgeme-775/assets/shopify_v2.css"></noscript> 1248 1249<!-- BEGIN app snippet: theme_fix_tags -->
1249<script> 1250 (function() { 1251 var jdgmThemeFixes = null; 1252 if (!jdgmThemeFixes) return; 1253 1254 // "All themes" fix: CSS and JS applied on every theme. CSS is injected 1255 // before the per-theme fix so the theme-specific CSS wins the cascade. 1256 // HTML is never applied globally (too risky). 1257 var allThemesFix = jdgmThemeFixes['all']; 1258 if (allThemesFix && allThemesFix.css) { 1259 var allStyleTag = document.createElement('style'); 1260 allStyleTag.classList.add('jdgm-theme-fix-style-all'); 1261 allStyleTag.innerHTML = allThemesFix.css; 1262 document.head.append(allStyleTag); 1263 }; 1264 1265 if (allThemesFix && allThemesFix.js) { 1266 var allScriptTag = document.createElement('script'); 1267 allScriptTag.classList.add('jdgm-theme-fix-script-all'); 1268 allScriptTag.innerHTML = allThemesFix.js; 1269 document.head.append(allScriptTag); 1270 }; 1271 1272 var thisThemeFix = jdgmThemeFixes[Shopify.theme.id]; 1273 if (!thisThemeFix) return; 1274 1275 if (thisThemeFix.html) { 1276 document.addEventListener("DOMContentLoaded", function() { 1277 var htmlDiv = document.createElement('div'); 1278 htmlDiv.classList.add('jdgm-theme-fix-html'); 1279 htmlDiv.innerHTML = thisThemeFix.html; 1280 document.body.append(htmlDiv); 1281 }); 1282 }; 1283 1284 if (thisThemeFix.css) { 1285 var styleTag = document.createElement('style'); 1286 styleTag.classList.add('jdgm-theme-fix-style'); 1287 styleTag.innerHTML = thisThemeFix.css; 1288 document.head.append(styleTag); 1289 }; 1290 1291 if (thisThemeFix.js) { 1292 var scriptTag = document.createElement('script'); 1293 scriptTag.classList.add('jdgm-theme-fix-script'); 1294 scriptTag.innerHTML = thisThemeFix.js; 1295 document.head.append(scriptTag); 1296 }; 1297 })(); 1298</script>
1298 1299<!-- END app snippet --> 1300<!-- End of Judge.me Core --> 1301 1302 1303 1304<!-- END app block --><!-- BEGIN app block: shopify://apps/gokwik-cart-slide-cart-drawer/blocks/app-embed/531cd8ff-cc36-43b1-9a44-c16d44927215 --> 1305<link rel="preconnect" href="https://gkx.gokwik.co" crossorigin> 1306 1307 <link rel="preload" as="script" href="https://kwikcart.gokwik.co/kwikcart/side-cart.js" fetchpriority="low"> 1308 1309
1310<script> 1311 var _lmdPageType; 1312</script>
1312 1313
1314<script> 1315 var gk_cart_domain = "formen-healt.myshopify.com"; 1316 1317 (function() { 1318 window.kwikCartActive = false; 1319 1320 // Merchants where the embed is fully disabled (no globals, no script, no ATC hooks) 1321 var disabledDomains = []; 1322 if (disabledDomains.indexOf(gk_cart_domain) !== -1) return; 1323 1324 window.gk_cart_domain = gk_cart_domain; 1325 window.gk_cart_currency = "INR"; 1326 try { 1327 window.gk_currency_format = "en"+'-'+"IN"; 1328 } catch (err) { 1329 console.log(err); 1330 } 1331 1332 // --- Always-on: product globals + freebie redirect --- 1333 window.gk_selected_product_id = null; 1334 var gk_product_tags = null; 1335 if (gk_product_tags && gk_product_tags.length) { 1336 if (gk_product_tags.some(function(tag) { return tag === 'kwikcart-freebie'; })) { 1337 window.location.replace("/"); 1338 } 1339 } 1340 1341 function shouldLoadKwikCart(config, countryCode) { 1342 if (!config) return false; 1343 var disableOnNonIndia = config.appearance && config.appearance.disableOnNonIndiaStore; 1344 if (disableOnNonIndia && countryCode !== 'IN') return false; 1345 return true; 1346 } 1347 1348 var atcButtonSelectors = [ 1349 "form[action='/cart/add'] button[name='add']", 1350 "form[action$='/cart/add'] button[name='add']", 1351 "form[action='/cart/add'] button[data-checkout='same']", 1352 "form[action='/cart/add'] button[type='submit']", 1353 "form[action='/cart/add'] input[type='submit']", 1354 "form[action='/cart/add'] button[data-add-to-cart]", 1355 "form[action='/cart/add'] label[role='submit']", 1356 "form[data-zp-product-url='/cart'] button[type='submit']", 1357 "form[action='/cart/add'] a[role='submit']", 1358 ]; 1359 1360 var addAddtoCartEventListener = function() { 1361 document.querySelectorAll(atcButtonSelectors.join(", ")).forEac
1361h(function(atcButton) { 1362 atcButton.addEventListener( 1363 "click", 1364 function(event) { 1365 if (!window.addItemtoCartFromForm) return; 1366 event.stopPropagation(); 1367 event.stopImmediatePropagation(); 1368 event.preventDefault(); 1369 window.addItemtoCartFromForm(event); 1370 }, 1371 true 1372 ); 1373 }); 1374 }; 1375 1376 function initKwikCart(config) { 1377 // Cart page redirect 1378 try { 1379 if (config && config.appearance && config.appearance.disableCartPage && config.appearance.disableCartPage.enable) { 1380 if (location.pathname.split("/")[1].split("?")[0] === "cart") { 1381 console.log('redirecting from extension'); 1382 location.href = "/?openCart=true"; 1383 } 1384 } 1385 } catch (err) { 1386 console.log(err); 1387 } 1388 1389 // ATC listeners â opt-out via customATCHandling flag (replaces hardcoded blocklist) 1390 // Merchants with their own ATC logic (bundle, subscription, gift apps) set 1391 // customATCHandling=true to skip interception. Default: intercept. 1392 var skipAtc = config?.appearance?.customATCHandling === true; 1393 if (!skipAtc) { 1394 if (document.readyState === 'loading') { 1395 document.addEventListener("DOMContentLoaded", addAddtoCartEventListener); 1396 } else { 1397 addAddtoCartEventListener(); 1398 } 1399 } else { 1400 console.log("no atc modification"); 1401 } 1402 1403 // Script injection 1404 var scriptFile = "https://kwikcart.gokwik.co/kwikcart/side-cart.js"; 1405 var script = document.createElement('script'); 1406 if (gk_cart_domain !== 'koskii.myshopify.com') { 1407 script.defer = "true"; 1408 } 1409 script.src = scriptFile; 1410 document.head.appendChild(script); 1411 script.onload = function() { 1412 window.kwikCartActive = true; 1413 }; 1414 } 1415 1416 // --- Resolve config + country in parallel --- 1417 var configPromise; 1418 var cachedConfig = null; 1419 try { 1420 var raw = sessionStorage.getItem("kwik-cart-request-data"); 1421 if (raw) cachedConfig = JSON.parse(raw); 1422 } catch (err) {} 1423 1424 if (cachedConfig) { 1425 configPromise = Promise.resolve(cachedConfig); 1426 } else { 1427 // Fetch start time: side-cart.js reuses this page's response instead of 1428 // requesting the config again, and stamps this time as "last fetched". 1429 var configFetchedAt = Date.now(); 1430 configPromise = fetch('https://gkx.gokwik.co/v3/kwik-cart/request', { 1431 headers: { 1432 'Content-Type': 'application/json', 1433 'x-shop-domain': gk_cart_domain 1434 } 1435 }) 1436 .then(function(res) { return res.json(); }) 1437 .then(function(response) { 1438 var config = response && response.data ? response.data : response; 1439 // Only a real config is cached (and offered for reuse). Caching an 1440 // error body used to break the cart for the rest of the session. 1441 if (config && config.appearance) { 1442 window.__gkConfigFetchedAt = configFetchedAt; 1443 try { 1444 sessionStorage.setItem('kwik-cart-request-data', JSON.stringify(config)); 1445 } catch (e) {} 1446 } 1447 return config; 1448 }); 1449 } 1450 1451 // Expose promise so side-cart.js can reuse the in-flight/resolved result 1452 // instead of making its own /request call. Survives sessionStorage quota failures. 1453 window.__gkConfigPromise = configPromise; 1454 1455 // Country detection: cache > browsing_context > Liquid fallback 1456 var cachedCountry = null; 1457 try { 1458 var stored = sessionStorage.getItem('gk-detected-country'); 1459 if (stored && stored.length === 2) cachedCountry = stored; 1460 } catch (e) {} 1461 1462 var countryPromise = cachedCountry 1463 ? Promise.resolve(cachedCountry) 1464 : fetch('/browsing_context_suggestions.json') 1465 .then(function(res) { return res.json(); }) 1466 .then(function(data) { 1467 var code = data && data.detected_values && data.detected_values.country && data.detected_values.country.handle; 1468 if (code && code.length === 2) { 1469 try { sessionStorage.setItem('gk-detected-country', code); } catch (e) {} 1470 return code; 1471 } 1472 return "IN"; 1473 }) 1474 .catch(function() { 1475 // Fallback to Liquid market-based country 1476 return "IN"; 1477 }); 1478 1479 Promise.all([configPromise, countryPromise]) 1480 .then(function(results) { 1481 var config = results[0]; 1482 var countryCode = results[1]; 1483 window.__gkExtRequestDone = true; 1484 if (countryCode !== 'IN') { 1485 window.customGKCartConfig = { 1486 'discountDisplayConfig.enabled': false, 1487 'discountDisplayConfig.showInputOnly': false, 1488 'discountDisplayConfig.showOfferList': false, 1489 'appearance.checkoutButtons.primary.gokwikCheckout': false, 1490 }; 1491 } 1492 if (shouldLoadKwikCart(config, countryCode)) { 1493 initKwikCart(config); 1494 } 1495 }) 1496 .catch(function(err) { 1497 console.log('kwik-cart init failed, cart will not load', err); 1498 }); 1499 })(); 1500</script>
1500 1501<style> 1502 .cart__checkout { 1503 width: 100%; 1504 background: black; 1505 color: white; 1506 border: 0; 1507 border-radius: 2px; 1508 padding: 1rem; 1509 display: flex; 1510 justify-content: center; 1511 align-items: center; 1512 } 1513</style> 1514 1515<!-- END app block -->
1515<script src="https://cdn.shopify.com/extensions/01a11b30-98d5-7ae3-b2f4-f79b3c6f32c4/judgeme-775/assets/loader.js" type="text/javascript" defer="defer"></script>
1515 1516<link href="https://monorail-edge.shopifysvc.com" rel="dns-prefetch">
1517<script>(function(){if ("sendBeacon" in navigator && "performance" in window) {try {var session_token_from_headers = performance.getEntriesByType('navigation')[0].serverTiming.find(x => x.name == '_s').description;} catch {var session_token_from_headers = undefined;}var session_cookie_matches = document.cookie.match(/_shopify_s=([^;]*)/);var session_token_from_cookie = session_cookie_matches && session_cookie_matches.length === 2 ? session_cookie_matches[1] : "";var session_token = session_token_from_headers || session_token_from_cookie || "";function handle_abandonment_event(e) {var entries = performance.getEntries().filter(function(entry) {return /monorail-edge.shopifysvc.com/.test(entry.name);});if (!window.abandonment_tracked && entries.length === 0) {window.abandonment_tracked = true;var currentMs = Date.now();var navigation_start = performance.timing.navigationStart;var payload = {shop_id: 71962493247,url: window.location.href,navigation_start,duration: currentMs - navigation_start,session_token,page_type: "search"};window.navigator.sendBeacon("https://monorail-edge.shopifysvc.com/v1/produce", JSON.stringify({schema_id: "online_store_buyer_site_abandonment/1.1",payload: payload,metadata: {event_created_at_ms: currentMs,event_sent_at_ms: currentMs}}));}}window.addEventListener('pagehide', handle_abandonment_event);}}());</script>
vendor: 1 bytes, line 1517
1517
1518<script> 1519 window.__TREKKIE_SHIM_QUEUE = window.__TREKKIE_SHIM_QUEUE || []; 1520</script>
vendor: 1 bytes, line 1520
1520
1521<script>(function(){var wpmLoader=function(){"use strict";var e=/Googlebot|Storebot-Google|bingbot|Baiduspider|YandexBot|DuckDuckBot|Slurp|facebookexternalhit|Twitterbot|LinkedInBot|Applebot|AdsBot-Google|Mediapartners-Google|APIs-Google|PetalBot|SemrushBot|AhrefsBot|MJ12bot|DotBot|Acunetix|PerplexityBot|Perplexity-User/i,t=/bytedance/i;function i(){try{var e=document.cookie;if(!e||"string"!=typeof e)return;for(var t=0,i=e.split(";");t<i.length;t++){var n=i[t],r=n.indexOf("=");if(-1!==r){var o=n.slice(0,r).trim();if(o){var a=void 0;try{a=decodeURIComponent(o)}catch(e){a=o}if("_shopify_s"===a){var d=n.slice(r+1).trim();try{return decodeURIComponent(d)}catch(e){return d}}}}}return}catch(e){return}}function n(e){try{"undefined"!=typeof console&&"function"==typeof console.warn&&console.warn(e)}catch(e){}}function r(e,t){return"string"==typeof e&&e.length>0&&e.length<=t?e:void 0}function o(e){var t;switch(null==(t=null==e?void 0:e.navigation)?void 0:t.type){case 0:return"navigate";case 1:return"reload";case 2:return"back_forward";default:return}}function a(){var e,t,i;try{var n=null==(i=null==(t=null==(e=self.ShopifyAnalytics)?void 0:e.lib)?void 0:t.trekkie)?void 0:i.state;return"awaiting-consent"===n||"initialized"===n?n:void 0}catch(e){return}}return function(d,s,u,l){var c=arguments.length>4&&void 0!==arguments[4]?arguments[4]:{};try{var p=c.trekkieShim;!0!==p&&"true"!==p||null!=window.__TREKKIE_SHIM_QUEUE||(window.__TREKKIE_SHIM_QUEUE=[])}catch(e){}var f,v,h,y,g=(v=(f={modern:/Edge?\/(1{2}[4-9]|1[2-9]\d|[2-9]\d{2}|\d{4,})\.\d+(\.\d+|)|Firefox\/(1{2}[4-9]|1[2-9]\d|[2-9]\d{2}|\d{4,})\.\d+(\.\d+|)|Chrom(ium|e)\/(9{2}|\d{3,})\.\d+(\.\d+|)|(Maci|X1{2}).+ Version\/(15\.\d+|(1[6-9]|[2-9]\d|\d{3,})\.\d+)([,.]\d+|)( \(\w+\)|)( Mobile\/\w+|) Safari\/|Chrome.+OPR\/(9{2}|\d{3,})\.\d+\.\d+|(CPU[ +]OS|iPhone[ +]OS|CPU[ +]iPhone|CPU IPhone OS|CPU iPad OS)[ +]+(15[._]\d+|(1[6-9]|[2-9]\d|\d{3,})[._]\d+)([._]\d+|)|Android:?[ /-](14[89]|1[5-9]\d|[2-9]\d{2}|\d{4,})(\.\d+|)(\.\d+|)|Android.+Firefox\/(15\d|1[6-9]\d|[2-9]\d{2}|\d{4,})\.\d+(\.\d+|)|Android.+Chrom(ium|e)\/(14[89]|1[5-9]\d|[2-9]\d{2}|\d{4,})\.\d+(\.\d+|)|SamsungBrowser\/([2-9]\d|\d{3,})\.\d+/,legacy:/Edge?\/(1[6-9]|[2-9]\d|\d{3,})\.\d+(\.\d+|)|Firefox\/(5[4-9]|[6-9]\d|\d{3,})\.\d+(\.\d+|)|Chrom(ium|e)\/(5[1-9]|[6-9]\d|\d{3,})\.\d+(\.\d+|)([\d.]+$|.*Safari\/(?![\d.]+ Edge\/[\d.]+$))|(Maci|X1{2}).+ Version\/(10\.\d+|(1[1-9]|[2-9]\d|\d{3,})\.\d+)([,.]\d+|)( \(\w+\)|)( Mobile\/\w+|) Safari\/|Chrome.+OPR\/(3[89]|[4-9]\d|\d{3,})\.\d+\.\d+|(CPU[ +]OS|iPhone[ +]OS|CPU[ +]iPhone|CPU IPhone OS|CPU iPad OS)[ +]+(10[._]\d+|(1[1-9]|[2-9]\d|\d{3,})[._]\d+)([._]\d+|)|Android:?[ /-](14[89]|1[5-9]\d|[2-9]\d{2}|\d{4,})(\.\d+|)(\.\d+|)|Mobile Safari.+OPR\/([89]\d|\d{3,})\.\d+\.\d+|Android.+Firefox\/(15\d|1[6-9]\d|[2-9]\d{2}|\d{4,})\.\d+(\.\d+|)|Android.+Chrom(ium|e)\/(14[89]|1[5-9]\d|[2-9]\d{2}|\d{4,})\.\d+(\.\d+|)|Android.+(UC? ?Browser|UCWEB|U3)[ /]?(15\.([5-9]|\d{2,})|(1[6-9]|[2-9]\d|\d{3,})\.\d+)\.\d+|SamsungBrowser\/(5\.\d+|([6-9]|\d{2,})\.\d+)|Android.+MQ{2}Browser\/(14(\.(9|\d{2,})|)|(1[5-9]|[2-9]\d|\d{3,})(\.\d+|))(\.\d+|)|K[Aa][Ii]OS\/(3\.\d+|([4-9]|\d{2,})\.\d+)(\.\d+|)/}).modern,h=f.legacy,(y=navigator.userAgent).match(e)?"bot":y.match(v)?"modern":y.match(h)?"legacy":y.match(t)?"bot":"unknown"),m=function(e){var t,i,n=r(e,128);try{var a=window.performance,d=null==(t=null==a?void 0:a.getEntriesByType)?void 0:t.call(a,"navigation")[0];if(!d)return{requestId:n,navigationType:o(a)};var s="type"in d?r(d.type,64):void 0,u="serverTiming"in d&&Array.isArray(d.serverTiming)?d.serverTiming:[];return{requestId:null!=n?n:r(null==(i=u.find(function(e){return"requestID"===e.name}))?void 0:i.description,128),navigationType:s}}catch(e){return{requestId:n}}}(c.requestId),w=function(e){var t=e.version,r=e.browserTarget,o=e.surface,a=e.shopId,d=e.monorailEndpoint,s=window.location.href;return{emit:function(e){var u=e.status,l=e.errorMsg,c=e.failureReason,p=e.useKeepaliveFallback,f=void 0!==p&&p,v=e.navigationType,h=e.pagehidePersisted,y=e.requestId,g=e.trekkieState;if(d){var m,w;try{var b=(new Date).getTime();m=JSON.stringify({metadata:{event_sent_at_ms:b},events:[{schema_id:"web_pixels_manager_load/3.3",payload:{version:t,bundle_target:r,page_url:s,status:u,surface:o,error_msg:l,failure_reason:c,navigation_type:v,pagehide_persisted:h,request_id:y,trekkie_state:g,shop_id:a,visit_token:i()},metadata:{event_created_at_ms:b}}]})}catch(e){return}try{if("function"==typeof window.navigator.sendBeacon&&-1===(w=window.navigator.userAgent).indexOf("iPhone; CPU iPhone OS 12_")&&-1===w.indexOf("iPad; CPU OS 12_")&&-1===w.indexOf("iPod touch; CPU iPhone OS 12_")&&window.navigator.sendBeacon.bind(window.navigator)(d,m))return}catch(e){}if(f)try{"function"==typeof window.fetch&&window.fetch(d,{method:"POST",headers:{"Content-Type":"text/plain"},body:m,keepalive:!0}
1521).catch(function(){})}catch(e){}else try{var _=new XMLHttpRequest;_.open("POST",d,!0),_.setRequestHeader("Content-Type","text/plain"),_.send(m)}catch(e){n("[Web Pixels Manager] Got an unhandled error while logging to Monorail.")}}else n("[Web Pixels Manager] No Monorail endpoint provided, skipping logging.")}}}({version:u,browserTarget:g,surface:d.surface,shopId:d.shopId,monorailEndpoint:d.monorailEndpoint});if(Boolean(null==(_=null==(b=window.Shopify)?void 0:b.analytics)?void 0:_.replayQueue))w.emit({status:"setup-skipped",errorMsg:"replay queue already initialized."});else{var b,_;w.emit({status:"setup-started"}),window.Shopify=window.Shopify||{};var S=window.Shopify;S.analytics=S.analytics||{};var P=S.analytics;P.replayQueue=[],P.publish=function(e,t,i){return P.replayQueue.push([e,t,i]),!0};try{self.performance.mark("wpm:start")}catch(e){}var k,C="modern"===g?"modern":"legacy",E=(null!=l?l:{modern:"",legacy:""})[C],I=[(k={baseUrl:s,hashVersion:u,buildTarget:C}).baseUrl,"/wpm","/b",k.hashVersion,"modern"===k.buildTarget?"m":"l",".js"].join(""),O=!1,T=!1;try{c.browserTarget=g,function(){O=!0;try{window.addEventListener("pagehide",M)}catch(e){O=!1}}(),R(function(){try{R(x)}catch(e){D(e)}}),w.emit({status:"loading",requestId:m.requestId,navigationType:m.navigationType,trekkieState:a()})}catch(e){D(e)}}function U(){var e;if(q(),!function(){var e,t;return Boolean(null==(t=null==(e=window.Shopify)?void 0:e.analytics)?void 0:t.initialized)}()){var t,i,n;try{if("function"!=typeof(null==(e=window.webPixelsManager)?void 0:e.init))return void A();if(!(null!==(n=i=t=window.webPixelsManager.init(d))&&"function"!=typeof n&&Object(n)===n&&"publish"in i&&"function"==typeof i.publish&&"publishCustomEvent"in i&&"function"==typeof i.publishCustomEvent&&"visitor"in i&&"function"==typeof i.visitor))return void A()}catch(e){return void A(e)}var r=window.Shopify.analytics;r.replayQueue.forEach(function(e){var i=e[0],n=e[1],r=e[2];t.publishCustomEvent(i,n,r)}),r.replayQueue=[],r.publish=t.publishCustomEvent,r.visitor=t.visitor,r.initialized=!0}}function A(e){B("manager_api_unavailable",void 0===e?void 0:Q(e))}function x(){B("script_load_failed","".concat(I," has failed to load"))}function B(e,t){T||(T=!0,q(),w.emit({status:"failed",errorMsg:t,failureReason:e,requestId:m.requestId,navigationType:m.navigationType,trekkieState:a()}))}function M(e){O&&(q(),w.emit({status:"pagehide-while-loading",useKeepaliveFallback:!0,pagehidePersisted:e.persisted,requestId:m.requestId,navigationType:m.navigationType,trekkieState:a()}))}function q(){O=!1;try{window.removeEventListener("pagehide",M)}catch(e){}}function R(e){var t;!function(e){var t=e.src,i=e.async,n=void 0===i||i,r=e.onload,o=e.onerror,a=e.sri,d=e.scriptDataAttributes,s=void 0===d?{}:d,u=document.createElement("script"),l=document.querySelector("head"),c=document.querySelector("body");if(u.async=n,u.src=t,a&&(u.integrity=a,u.crossOrigin="anonymous"),s)for(var p in s)if(Object.prototype.hasOwnProperty.call(s,p))try{u.dataset[p]=String(s[p])}catch(e){}if(r&&u.addEventListener("load",r),o&&u.addEventListener("error",o),l)l.appendChild(u);else{if(!c)throw new Error("Did not find a head or body element to append the script");c.appendChild(u)}}({src:I,async:!0,onload:U,onerror:e,sri:(t=E,"string"==typeof t&&/^sha384-[A-Za-z0-9+/=]+$/.test(t)?E:""),scriptDataAttributes:c})}function D(e){B("script_append_failed",Q(e))}function Q(e){return e instanceof Error?e.message:"Unknown error"}}}();wpmLoader({shopId: 71962493247,storefrontBaseUrl: "https://www.formen.co.in",extensionsBaseUrl: "https://extensions.shopifycdn.com/cdn/shopifycloud/web-pixels-manager",monorailEndpoint: "https://www.formen.co.in/.well-known/shopify/monorail/unstable/produce_batch",surface: "storefront-renderer",enabledBetaFlags: ["4c64608a","16072cab"],webPixelsConfigList: [{"id":"2719416639","configuration":"{\"posthog_api_key\":\"phc_wFPw2cML8AgbxegrfVCmG5BuV7B2nMMSkNddgJEEUQKC\",\"posthog_api_host\":\"https:\/\/us.i.posthog.com\",\"data_collection_strategy\":\"anonymized\",\"tracked_events\":\"[\\\"page_viewed\\\",\\\"product_added_to_cart\\\",\\\"cart_viewed\\\",\\\"product_removed_from_cart\\\",\\\"checkout_started\\\",\\\"checkout_contact_info_submitted\\\",\\\"checkout_completed\\\"]\",\"posthog_ecommerce_spec\":\"false\"}","eventPayloadVersion":"v1","runtimeContext":"STRICT","scriptVersion":"1cd6c114254d2e790a856034b343635e","type":"APP","apiClientId":162016100353,"privacyPurposes":[],"dataSharingAdjustments":{"protectedCustomerApprovalScopes":["read_customer_address","read_customer_email","read_customer_name","read_customer_personal_data","read_customer_phone"],"dataSharingControls":["share_all_events"]}
1521,"dataSharingState":"unrestricted"},{"id":"2661515583","configuration":"{\"accountID\":\"71962493247\"}","eventPayloadVersion":"v1","runtimeContext":"STRICT","scriptVersion":"9cf281f576a3744d05c8685f9f7f3f72","type":"APP","apiClientId":10250649601,"privacyPurposes":[],"dataSharingAdjustments":{"protectedCustomerApprovalScopes":["read_customer_address","read_customer_email","read_customer_name","read_customer_personal_data","read_customer_phone"],"dataSharingControls":["share_all_events"]},"dataSharingState":"unrestricted"},{"id":"2508095807","configuration":"{\"config\":\"{\\\"google_tag_ids\\\":[\\\"G-JDE5G7HVDQ\\\",\\\"AW-11031472478\\\",\\\"GT-P35F2BM6\\\"],\\\"target_country\\\":\\\"IN\\\",\\\"gtag_events\\\":[{\\\"type\\\":\\\"search\\\",\\\"action_label\\\":[\\\"G-JDE5G7HVDQ\\\",\\\"AW-11031472478\\\/aU0ZCLrfx70cEN7Sm4wp\\\"]},{\\\"type\\\":\\\"begin_checkout\\\",\\\"action_label\\\":[\\\"G-JDE5G7HVDQ\\\",\\\"AW-11031472478\\\/Y6dkCK27sb0cEN7Sm4wp\\\"]},{\\\"type\\\":\\\"remove_from_cart\\\",\\\"action_label\\\":\\\"G-JDE5G7HVDQ\\\"},{\\\"type\\\":\\\"view_item\\\",\\\"action_label\\\":[\\\"G-JDE5G7HVDQ\\\",\\\"AW-11031472478\\\/wodBCLffx70cEN7Sm4wp\\\",\\\"MC-19ZDKYVTHS\\\"]},{\\\"type\\\":\\\"purchase\\\",\\\"action_label\\\":[\\\"G-JDE5G7HVDQ\\\",\\\"AW-11031472478\\\/uUYeCKq7sb0cEN7Sm4wp\\\",\\\"MC-19ZDKYVTHS\\\"]},{\\\"type\\\":\\\"add_shipping_info\\\",\\\"action_label\\\":\\\"G-JDE5G7HVDQ\\\"},{\\\"type\\\":\\\"page_view\\\",\\\"action_label\\\":[\\\"G-JDE5G7HVDQ\\\",\\\"AW-11031472478\\\/s2VACLTfx70cEN7Sm4wp\\\",\\\"MC-19ZDKYVTHS\\\"]},{\\\"type\\\":\\\"view_item_list\\\",\\\"action_label\\\":\\\"G-JDE5G7HVDQ\\\"},{\\\"type\\\":\\\"add_payment_info\\\",\\\"action_label\\\":[\\\"G-JDE5G7HVDQ\\\",\\\"AW-11031472478\\\/OXJWCL3fx70cEN7Sm4wp\\\"]},{\\\"type\\\":\\\"add_to_cart\\\",\\\"action_label\\\":[\\\"G-JDE5G7HVDQ\\\",\\\"AW-11031472478\\\/WYbRCLHfx70cEN7Sm4wp\\\"]},{\\\"type\\\":\\\"view_cart\\\",\\\"action_label\\\":\\\"G-JDE5G7HVDQ\\\"}],\\\"enable_monitoring_mode\\\":false}\"}","eventPayloadVersion":"v1","runtimeContext":"OPEN","scriptVersion":"a3321ca85cf5aaf6b57585fcd8d67b3a","type":"APP","apiClientId":1780363,"privacyPurposes":[],"dataSharingAdjustments":{"protectedCustomerApprovalScopes":["read_customer_address","read_customer_email","read_customer_name","read_customer_personal_data","read_customer_phone"],"dataSharingControls":["share_all_events"]},"dataSharingState":"optimized","enabledFlags":["9a3ed68a"]},{"id":"2388394303","configuration":"{\"projectId\":\"i23wis652e\"}","eventPayloadVersion":"v1","runtimeContext":"STRICT","scriptVersion":"d8a2bb2ccbb513dc8e8b6937f4b8033e","type":"APP","apiClientId":240074326017,"privacyPurposes":[],"capabilities":["advanced_dom_events"],"dataSharingAdjustments":{"protectedCustomerApprovalScopes":["read_customer_personal_data"],"dataSharingControls":["share_all_events"]},"dataSharingState":"unrestricted"},{"id":"2369683775","configuration":"{\"companyId\":\"316\",\"appOrigin\":\"https:\\\/\\\/shopify.togethr.club\",\"record_all_pixel_traffic\":\"false\"}","eventPayloadVersion":"v1","runtimeContext":"STRICT","scriptVersion":"55c71e7441f0ac70efde27164c37074b","type":"APP","apiClientId":221351542785,"privacyPurposes":["ANALYTICS","MARKETING","SALE_OF_DATA"],"dataSharingAdjustments":{"protectedCustomerApprovalScopes":["read_customer_address","read_customer_email","read_customer_name","read_customer_personal_data","read_customer_phone"],"dataSharingControls":["share_all_events"]},"dataSharingState":"optimized"},{"id":"2341470527","configuration":"{\"accountID\":\"2017797\",\"domain\":\"spfy-pxl.archive-digger.com\"}","eventPayloadVersion":"v1","runtimeContext":"STRICT","scriptVersion":"8e6a4470ba80e2e0e10abe8ba61a8621","type":"APP","apiClientId":117664743425,"privacyPurposes":["ANALYTICS","MARKETING","SALE_OF_DATA"],"dataSharingAdjustments":{"protectedCustomerApprovalScopes":[],"dataSharingControls":["share_all_events"]},"dataSharingState":"optimized"},{"id":"2324627775","configuration":"{\"accountID\":\"3e715e20-38ba-4f1b-a418-27d1303da419\",\"endpoint\":\"https:\/\/m.moast.io\/apps\/moast\/event\"}","eventPayloadVersion":"v1","runtimeContext":"STRICT","scriptVersion":"0ab78a3affe2fb477c6b0cc5f1382c4e","type":"APP","apiClientId":108560121857,"privacyPurposes":["ANALYTICS"],"dataSharingAdjustments":{"protectedCustomerApprovalScopes":["read_customer_address","read_customer_email","read_customer_name","read_customer_personal_data","read_customer_phone"],"dataSharingControls":["share_all_events"]},"dataSharingState":"optimized"}
1521,{"id":"1419313471","configuration":"{\"webPixelName\":\"Judge.me\"}","eventPayloadVersion":"v1","runtimeContext":"STRICT","scriptVersion":"8acc938b1a30dc7624e304493ca567d7","type":"APP","apiClientId":683015,"privacyPurposes":["ANALYTICS"],"dataSharingAdjustments":{"protectedCustomerApprovalScopes":["read_customer_email","read_customer_name","read_customer_personal_data","read_customer_phone"],"dataSharingControls":["share_all_events"]},"dataSharingState":"unrestricted"},{"id":"1369375039","configuration":"{\"shopId\":\"formen-healt.myshopify.com\"}","eventPayloadVersion":"v1","runtimeContext":"STRICT","scriptVersion":"7093dff47f098f6de2afb75b62011ebe","type":"APP","apiClientId":2753413,"privacyPurposes":["ANALYTICS","MARKETING"],"dataSharingAdjustments":{"protectedCustomerApprovalScopes":["read_customer_address","read_customer_email","read_customer_name","read_customer_personal_data","read_customer_phone"],"dataSharingControls":["share_all_events"]},"dataSharingState":"optimized"},{"id":"1111818559","configuration":"{\"accountID\":\"71962493247\"}","eventPayloadVersion":"v1","runtimeContext":"STRICT","scriptVersion":"ef6183050a2cfc05bbe911a4c7ab9ba8","type":"APP","apiClientId":4646003,"privacyPurposes":[],"dataSharingAdjustments":{"protectedCustomerApprovalScopes":["read_customer_email","read_customer_name","read_customer_personal_data","read_customer_phone"],"dataSharingControls":["share_all_events"]},"dataSharingState":"unrestricted"},{"id":"357990719","configuration":"{\"pixel_id\":\"485590176461647\",\"pixel_type\":\"facebook_pixel\",\"metaapp_system_user_token\":\"-\"}","eventPayloadVersion":"v1","runtimeContext":"OPEN","scriptVersion":"bd2f978c17a94bbb8a74d43de2165dc5","type":"APP","apiClientId":2329312,"privacyPurposes":["ANALYTICS","MARKETING","SALE_OF_DATA"],"dataSharingAdjustments":{"protectedCustomerApprovalScopes":["read_customer_address","read_customer_email","read_customer_name","read_customer_personal_data","read_customer_phone"],"dataSharingControls":["share_all_events"]},"dataSharingState":"optimized","enabledFlags":["9a3ed68a"]},{"id":"224297279","eventPayloadVersion":"1","runtimeContext":"LAX","scriptVersion":"24","type":"CUSTOM","privacyPurposes":["ANALYTICS","MARKETING","SALE_OF_DATA"],"name":"PostHog - Purchase completed"},{"id":"229507391","eventPayloadVersion":"1","runtimeContext":"LAX","scriptVersion":"1","type":"CUSTOM","privacyPurposes":["ANALYTICS","MARKETING","SALE_OF_DATA"],"name":"GoKwik Checkout Events"},{"id":"shopify-app-pixel","configuration":"{}","eventPayloadVersion":"v1","runtimeContext":"STRICT","scriptVersion":"0530","apiClientId":"shopify-pixel","type":"APP","privacyPurposes":["ANALYTICS","MARKETING"]},{"id":"shopify-custom-pixel","eventPayloadVersion":"v1","runtimeContext":"LAX","scriptVersion":"0530","apiClientId":"shopify-pixel","type":"CUSTOM","privacyPurposes":["ANALYTICS","MARKETING"]}],isMerchantRequest: false,initData: {"shop":{"name":"ForMen Shop","paymentSettings":{"currencyCode":"INR"},"myshopifyDomain":"formen-healt.myshopify.com","countryCode":"IN","storefrontUrl":"https:\/\/www.formen.co.in"},"customer":null,"cart":null,"checkout":null,"productVariants":[],"products":[],"purchasingCompany":null},},"https://www.formen.co.in/cdn","7ec887c8w14f9f074p854094e1m1370c602",{"modern":"","legacy":""},{"trekkieShim":true,"agentContext":true,"apiClientId":"580111","facebookCapiEnabled":"true","themeId":"188050243903","themePublished":"true","eventMetadataId":"f1fc7557-f520-4b28-96dd-d108e745cf40","pageType":"searchresults","shopId":"71962493247","storefrontBaseUrl":"https:\/\/www.formen.co.in","extensionBaseUrl":"https:\/\/extensions.shopifycdn.com\/cdn\/shopifycloud\/web-pixels-manager","surface":"storefront-renderer","enabledBetaFlags":"[\"4c64608a\", \"16072cab\"]","isMerchantRequest":"false","hashVersion":"7ec887c8w14f9f074p854094e1m1370c602","publish":"custom","events":"[[\"page_viewed\",{}],[\"search_submitted\",{\"searchResult\":{\"query\":\"\",\"productVariants\":[]}}]]"});})();</script>
1521<script> 1522 window.ShopifyAnalytics = window.ShopifyAnalytics || {}; 1523 window.ShopifyAnalytics.meta = window.ShopifyAnalytics.meta || {}; 1524 window.ShopifyAnalytics.meta.currency = 'INR'; 1525 var meta = {"products":[],"page":{"pageType":"searchresults","requestId":"872b6f89-42ae-4427-beab-a001ecf5c83a-1791564831"}}; 1526 for (var attr in meta) { 1527 window.ShopifyAnalytics.meta[attr] = meta[attr]; 1528 } 1529</script>
vendor: 1 bytes, line 1529
1529
1530<script class="analytics"> 1531 (function () { 1532 var customDocumentWrite = function(content) { 1533 var jquery = null; 1534 1535 if (window.jQuery) { 1536 jquery = window.jQuery; 1537 } else if (window.Checkout && window.Checkout.$) { 1538 jquery = window.Checkout.$; 1539 } 1540 1541 if (jquery) { 1542 jquery('body').append(content); 1543 } 1544 }; 1545 1546 var hasLoggedConversion = function(token) { 1547 if (token) { 1548 return document.cookie.indexOf('loggedConversion=' + token) !== -1; 1549 } 1550 return false; 1551 } 1552 1553 var setCookieIfConversion = function(token) { 1554 if (token) { 1555 var twoMonthsFromNow = new Date(Date.now()); 1556 twoMonthsFromNow.setMonth(twoMonthsFromNow.getMonth() + 2); 1557 1558 document.cookie = 'loggedConversion=' + token + '; expires=' + twoMonthsFromNow; 1559 } 1560 } 1561 1562 var trekkie = window.ShopifyAnalytics.lib = window.trekkie = window.trekkie || []; 1563 window.ShopifyAnalytics.lib.trekkie = window.trekkie; 1564 if (trekkie.integrations) { 1565 return; 1566 } 1567 trekkie.methods = [ 1568 'identify', 1569 'page', 1570 'ready', 1571 'track', 1572 'trackForm', 1573 'trackLink' 1574 ]; 1575 trekkie.factory = function(method) { 1576 return function() { 1577 var args = Array.prototype.slice.call(arguments); 1578 args.unshift(method); 1579 trekkie.push(args); 1580 if (method == 'track' || method == 'page') { 1581 var pageUrl; 1582 try { 1583 pageUrl = window.location.href; 1584 } catch (e) {} 1585 var pageReferrer; 1586 try { 1587 pageReferrer = document.referrer; 1588 } catch (e) {} 1589 try { 1590 if (window.__TREKKIE_SHIM_QUEUE == null) { 1591 window.__TREKKIE_SHIM_QUEUE = []; 1592 } 1593 window.__TREKKIE_SHIM_QUEUE.push({ 1594 from: 'trekkie-stub', 1595 method: method, 1596 args: args.slice(1), 1597 pageContext: { 1598 url: pageUrl, 1599 referrer: pageReferrer 1600 } 1601 }); 1602 } catch (e) { 1603 // no-op 1604 } 1605 } 1606 return trekkie; 1607 }; 1608 }; 1609 for (var i = 0; i < trekkie.methods.length; i++) { 1610 var key = trekkie.methods[i]; 1611 trekkie[key] = trekkie.factory(key); 1612 } 1613 trekkie.load = function(config) { 1614 trekkie.config = config || {}; 1615 trekkie.config.initialDocumentCookie = document.cookie; 1616 var first = document.getElementsByTagName('script')[0]; 1617var script = document.createElement('script'); 1618script.type = 'text/javascript'; 1619script.onerror = function(e) { 1620 var scriptFallback = document.createElement('script'); 1621 scriptFallback.type = 'text/javascript'; 1622 scriptFallback.onerror = function(error) { 1623 var Monorail = { 1624 produce: function produce(monorailDomain, schemaId, payload) { 1625 var currentMs = new Date().getTime(); 1626 var event = { 1627 schema_id: schemaId, 1628 payload: payload, 1629 metadata: { 1630 event_created_at_ms: currentMs, 1631 event_sent_at_ms: currentMs 1632 } 1633 }; 1634 return Monorail.sendRequest("https://" + monorailDomain + "/v1/produce", JSON.stringify(event)); 1635 }, 1636 sendRequest: function sendRequest(endpointUrl, payload) { 1637 // Try the sendBeacon API 1638 if (window && window.navigator && typeof window.navigator.sendBeacon === 'function' && typeof window.Blob === 'function' && !Monorail.isIos12()) { 1639 var blobData = new window.Blob([payload], { 1640 type: 'text/plain' 1641 }); 1642 1643 if (window.navigator.sendBeacon(endpointUrl, blobData)) { 1644 return true; 1645 } // sendBeacon was not successful 1646 1647 } // XHR beacon 1648 1649 var xhr = new XMLHttpRequest(); 1650 1651 try { 1652 xhr.open('POST', endpointUrl); 1653 xhr.setRequestHeader('Content-Type', 'text/plain'); 1654 xhr.send(payload); 1655 } catch (e) { 1656 console.log(e); 1657 } 1658 1659 return false; 1660 }, 1661 isIos12: function isIos12() { 1662 return window.navigator.userAgent.lastIndexOf('iPhone; CPU iPhone OS 12_') !== -1 || window.navigator.userAgent.lastIndexOf('iPad; CPU OS 12_') !== -1; 1663 } 1664 }; 1665 Monorail.produce('monorail-edge.shopifysvc.com', 1666 'trekkie_storefront_load_errors/1.1', 1667 {shop_id: 71962493247, 1668 theme_id: 188050243903, 1669 app_name: "storefront", 1670 context_url: window.location.href, 1671 source_url: "//www.formen.co.in/cdn/s/trekkie.storefront.51e69540e15035ae012ec8cc42e8f9cd792233a0.min.js"}); 1672 1673 }; 1674 scriptFallback.async = true; 1675 scriptFallback.src = '//www.formen.co.in/cdn/s/trekkie.storefront.51e69540e15035ae012ec8cc42e8f9cd792233a0.min.js'; 1676 first.parentNode.insertBefore(scriptFallback, first); 1677}; 1678script.async = true; 1679script.src = '//www.formen.co.in/cdn/s/trekkie.storefront.51e69540e15035ae012ec8cc42e8f9cd792233a0.min.js'; 1680first.parentNode.insertBefore(script, first); 1681 1682 }; 1683 trekkie.load( 1684 {"Trekkie":{"appName":"storefront","development":false,"defaultAttributes":{"shopId":71962493247,"isMerchantRequest":null,"themeId":188050243903,"themeCityHash":"2458800943920683241","contentLanguage":"en","currency":"INR","eventMetadataId":"f1fc7557-f520-4b28-96dd-d108e745cf40"},"isServerSideCookieWritingEnabled":true,"monorailRegion":"shop_domain","enabledBetaFlags":["764d78cb","4c64608a"]},"Session Attribution":{},"S2S":{"facebookCapiEnabled":true,"source":"trekkie-storefront-renderer","apiClientId":580111}} 1685 ); 1686 1687 var loaded = false;
1688 trekkie.ready(function() { 1689 if (loaded) return; 1690 loaded = true; 1691 1692 window.ShopifyAnalytics.lib = window.trekkie; 1693 1694 var originalDocumentWrite = document.write; 1695 document.write = customDocumentWrite; 1696 try { window.ShopifyAnalytics.merchantGoogleAnalytics.call(this); } catch(error) {}; 1697 document.write = originalDocumentWrite; 1698 1699 var match = window.location.pathname.match(/checkouts\/(.+)\/(thank_you|post_purchase)/) 1700 var token = match? match[1]: undefined; 1701 if (!hasLoggedConversion(token)) { 1702 setCookieIfConversion(token); 1703 window.ShopifyAnalytics.lib.track("Performed Search",{"query":null},undefined,undefined,{"shopifyEmitted":true}); 1704 } 1705 }); 1706 1707 window.ShopifyAnalytics.lib.page(null,{"pageType":"searchresults","requestId":"872b6f89-42ae-4427-beab-a001ecf5c83a-1791564831","shopifyEmitted":true}); 1708 1709 var eventsListenerScript = document.createElement('script'); 1710 eventsListenerScript.async = true; 1711 eventsListenerScript.src = "//www.formen.co.in/cdn/shopifycloud/storefront/assets/shop_events_listener-4e26a9ce.js"; 1712 document.getElementsByTagName('head')[0].appendChild(eventsListenerScript); 1713})();</script>
1713 1714
1714<script> 1715 if (!window.ga || (window.ga && typeof window.ga !== 'function')) { 1716 window.ga = function ga() { 1717 (window.ga.q = window.ga.q || []).push(arguments); 1718 if (window.Shopify && window.Shopify.analytics && typeof window.Shopify.analytics.publish === 'function') { 1719 window.Shopify.analytics.publish("ga_stub_called", {}, {sendTo: "google_osp_migration"}); 1720 } 1721 console.error("Shopify's Google Analytics stub called with:", Array.from(arguments), "\nSee https://help.shopify.com/manual/promoting-marketing/pixels/pixel-migration#google for more information."); 1722 }; 1723 if (window.Shopify && window.Shopify.analytics && typeof window.Shopify.analytics.publish === 'function') { 1724 window.Shopify.analytics.publish("ga_stub_initialized", {}, {sendTo: "google_osp_migration"}); 1725 } 1726 } 1727</script>
vendor: 1 bytes, line 1727
1727
1728<script 1729 defer 1730 src="https://www.formen.co.in/cdn/shopifycloud/perf-kit/shopify-perf-kit-3.10.1.min.js" 1731 data-application="storefront-renderer" 1732 data-shop-id="71962493247" 1733 data-render-region="gcp-us-central1" 1734 data-page-type="search" 1735 data-theme-instance-id="188050243903" 1736 data-theme-name="Expanse" 1737 data-theme-version="4.2.0" 1738 data-monorail-region="shop_domain" 1739 data-resource-timing-sampling-rate="10" 1740 data-shs="true" 1741 data-shs-beacon="true" 1742 data-shs-export-with-fetch="true" 1743 data-shs-logs-sample-rate="1" 1744 data-shs-beacon-endpoint="https://www.formen.co.in/api/collect" 1745></script>
1745 1746<meta name="shopify-y" content="cd1de25d-0467-43e6-bf64-1a857576a3fe" data-expiration="1823122431000"><meta name="shopify-s" content="c2a86570-59c9-4d6f-8260-10eb1d938f2f" data-expiration="1791566631000"> 1747</head> 1748 1749 1750 1751 1752 1753 1754<body class=" template-search" data-transitions="true" data-button_style="square" data-edges="" data-type_header_capitalize="false" data-swatch_style="round" data-grid-style="grey-round" id="search"> 1755 <div id="shopify-section-my-custom-fonts" class="shopify-section"> 1756 <style data-custom-fonts> 1757 1758 1759 1760 1761 1762 1763 1764 1765 1766 1767 1768 1769 1770 1771 1772 1773 1774 1775 1776 1777 1778 1779 1780 1781 1782 @font-face { 1783 font-family: 'DomineRegular'; 1784 src: url(https://cdn.shopify.com/s/files/1/0719/6249/3247/files/DomineRegular.ttf?v=1726246315) format('truetype'); 1785 1786 1787 font-style: normal; 1788 1789 1790 font-weight: normal; 1791 1792 font-display: swap; 1793 } 1794 1795 1796 1797 h1{ 1798 font-family: 'DomineRegular' !important; 1799 } 1800 1801 1802 1803 h2{ 1804 font-family: 'DomineRegular' !important; 1805 } 1806 1807 1808 1809 h3{ 1810 font-family: 'DomineRegular' !important; 1811 } 1812 1813 1814 1815 1816 1817 1818 1819 1820 1821 1822 1823 1824 1825 1826 1827 1828 1829 1830 1831 1832 1833 1834 1835 1836 1837 1838 1839 1840 1841 1842 1843 1844 1845 1846 1847 1848 1849 @font-face { 1850 font-family: 'manrope-bold'; 1851 src: url(https://cdn.shopify.com/s/files/1/0719/6249/3247/files/manrope-bold.ttf?v=1726246315) format('truetype'); 1852 1853 1854 font-style: normal; 1855 1856 1857 font-weight: normal; 1858 1859 font-display: swap; 1860 } 1861 1862 1863 1864 1865 1866 1867 1868 1869 1870 h4{ 1871 font-family: 'manrope-bold' !important; 1872 } 1873 1874 1875 1876 h5{ 1877 font-family: 'manrope-bold' !important; 1878 } 1879 1880 1881 1882 h6{ 1883 font-family: 'manrope-bold' !important; 1884 } 1885 1886 1887 1888 1889 1890 1891 1892 1893 1894 1895 1896 1897 1898 1899 1900 1901 1902 1903 1904 1905 1906 1907 1908 1909 1910 1911 1912 1913 1914 1915 1916 @font-face { 1917 font-family: 'manrope-regular'; 1918 src: url(https://cdn.shopify.com/s/files/1/0719/6249/3247/files/manrope-regular.ttf?v=1726246316) format('truetype'); 1919 1920 1921 font-style: normal; 1922 1923 1924 font-weight: normal; 1925 1926 font-display: swap; 1927 } 1928 1929 1930 1931 1932 1933 1934 1935 1936 1937 1938 1939 1940 1941 1942 1943 p{ 1944 font-family: 'manrope-regular' !important; 1945 } 1946 1947 1948 1949 span{ 1950 font-family: 'manrope-regular' !important; 1951 } 1952 1953 1954 1955 1956 1957 1958 1959 </style> 1960 1961 1962 1963 1964</div> 1965 <div id="sy-whatshelp"><a href="https://api.whatsapp.com/send?phone=917207773497&text=Hi" target="_blank" class="sywh-open-services " data-html="true" data-placement="left"><i class="fab fa-whatsapp"></i></a></div> 1966 1967 <!-- Google Tag Manager (noscript) -->
vendor: 70 bytes, lines 1967-1968
1967 1968 <noscript><iframe src="https://www.googletagmanager.com/ns.html?id=
1968GTM-MFTDRC7
vendor: 87 bytes, lines 1968-1970
1968" 1969 height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript> 1970
1970<!-- End Google Tag Manager (noscript) --> 1971 1972 <!-- formen.co.in Google Tag Manager (noscript) -->
vendor: 70 bytes, lines 1972-1973
1972 1973 <noscript><iframe src="https://www.googletagmanager.com/ns.html?id=
1973GTM-5N47WDPT
vendor: 87 bytes, lines 1973-1975
1973" 1974 height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript> 1975
1975<!-- End Google Tag Manager (noscript) --> 1976 1977 1978
1978<script type="text/javascript">window.setTimeout(function() { document.body.className += " loaded"; }, 25);</script>
1978 1979 1980 1981 <a class="in-page-link visually-hidden skip-link" href="#MainContent">Skip to content</a> 1982 1983 <div id="PageContainer" class="page-container"> 1984 <div class="transition-body"><!-- BEGIN sections: header-group --> 1985<div id="shopify-section-sections--27253377204543__toolbar" class="shopify-section shopify-section-group-header-group toolbar-section"><div data-section-id="sections--27253377204543__toolbar" data-section-type="toolbar"> 1986 <div class="toolbar"> 1987 <div class="page-width"> 1988 <div class="toolbar__content"> 1989 <div class="toolbar__item toolbar__item--announcements"> 1990 <div class="announcement-bar text-center"> 1991 <div class="slideshow-wrapper"> 1992 <button type="button" class="visually-hidden slideshow__pause" data-id="sections--27253377204543__toolbar" aria-live="polite"> 1993 <span class="slideshow__pause-stop"> 1994 <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-pause" viewBox="0 0 10 13"><g fill="#000" fill-rule="evenodd"><path d="M0 0h3v13H0zM7 0h3v13H7z"/></g></svg> 1995 <span class="icon__fallback-text">Pause slideshow</span> 1996 </span> 1997 <span class="slideshow__pause-play"> 1998 <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-play" viewBox="18.24 17.35 24.52 28.3"><path fill="#323232" d="M22.1 19.151v25.5l20.4-13.489-20.4-12.011z"/></svg> 1999 <span class="icon__fallback-text">Play slideshow</span> 2000 </span> 2001 </button> 2002 2003 <div 2004 id="AnnouncementSlider" 2005 class="announcement-slider" 2006 data-block-count="1"><div 2007 id="AnnouncementSlide-toolbar-0" 2008 class="slideshow__slide announcement-slider__slide" 2009 data-index="0" 2010 > 2011 <div class="announcement-slider__content"><div class="medium-up--hide"> 2012 <p>Extra 5% OFF on ALL Prepaid Orders above â¹799</p> 2013 </div> 2014 <div class="small--hide"> 2015 <p>Extra 5% OFF on ALL Prepaid Orders above â¹799</p> 2016 </div></div> 2017 </div></div> 2018 </div> 2019 </div> 2020 </div> 2021 2022</div> 2023 2024 </div> 2025 </div> 2026</div> 2027 2028 2029<style> #shopify-section-sections--27253377204543__toolbar .toolbar {display: block;} </style></div><div id="shopify-section-sections--27253377204543__header" class="shopify-section shopify-section-group-header-group header-section"><link href="//www.formen.co.in/cdn/shop/t/42/assets/revamp-header.css?v=46568435460837687741787896276" rel="stylesheet" type="text/css" media="all" /> 2030 2031<style> 2032 .site-nav__link { 2033 font-size: 15px; 2034 } 2035 2036 .site-nav__link { 2037 text-transform: uppercase; 2038 letter-spacing: 0.2em; 2039 } 2040 2041 2042 2043</style> 2044 2045<div data-section-id="sections--27253377204543__header" data-section-type="header"> 2046 <div id="HeaderWrapper" class="header-wrapper"> 2047 <header 2048 id="SiteHeader" 2049 class="site-header" 2050 data-sticky="true" 2051 data-overlay="false"> 2052 2053 <div class="site-header__element site-header__element--top"> 2054 <div class="page-width"> 2055 <div class="header-layout" data-layout="below" data-nav="below" data-logo-align="left"><div class="header-item header-item--compress-nav small--hide"> 2056 <button type="button" class="site-nav__link site-nav__link--icon site-nav__compress-menu"> 2057 <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-hamburger" viewBox="0 0 64 64"><path class="cls-1" d="M7 15h51">.</path><path class="cls-1" d="M7 32h43">.</path><path class="cls-1" d="M7 49h51">.</path></svg> 2058 <span class="icon__fallback-text">Site navigation</span> 2059 </button> 2060 </div><div class="header-item header-item--logo"><style data-shopify>.header-item--logo, 2061 [data-layout="left-center"] .header-item--logo, 2062 [data-layout="left-center"] .header-item--icons { 2063 flex: 0 1 140px; 2064 } 2065 2066 @media only screen and (min-width: 769px) { 2067 .header-item--logo, 2068 [data-layout="left-center"] .header-item--logo, 2069 [data-layout="left-center"] .header-item--icons { 2070 flex: 0 0 130px; 2071 } 2072 } 2073 2074 .site-header__logo a { 2075 width: 140px; 2076 } 2077 .is-light .site-header__logo .logo--inverted { 2078 width: 140px; 2079 } 2080 @media only screen and (min-width: 769px) { 2081 .site-header__logo a { 2082 width: 130px; 2083 } 2084 2085 .is-light .site-header__logo .logo--inverted { 2086 width: 130px; 2087 } 2088 }</style><div class="h1 site-header__logo" ><span class="visually-hidden">ForMen Shop</span> 2089 2090 <a 2091 href="/" 2092 class="site-header__logo-link logo--has-inverted"> 2093 2094 2095 2096 2097 2098 2099 2100 2101 2102 <img src="//www.formen.co.in/cdn/shop/files/formen_health_logo.svg?v=1723203043&width=102" alt="ForMen Health Logo" srcset="//www.formen.co.in/cdn/shop/files/formen_health_logo.svg?v=1723203043&width=102 102w" width="102" height="60" loading="eager" class="small--hide" sizes="130px" style="max-height: 76.47058823529412px;max-width: 130px;"> 2103 2104 2105 2106 2107 2108 2109 2110 2111 2112 2113 <img src="//www.formen.co.in/cdn/shop/files/formen_health_logo.svg?v=1723203043&width=102" alt="ForMen Health Logo" srcset="//www.formen.co.in/cdn/shop/files/formen_health_logo.svg?v=1723203043&width=102 102w" width="102" height="60" loading="eager" class="medium-up--hide" sizes="140px" style="max-height: 82.3529411764706px;max-width: 140px;"> 2114 2115 2116 2117 2118</a><a 2119 href="/" 2120 class="site-header__logo-link logo--inverted"> 2121 2122 2123 2124 2125 2126 2127 2128 2129 2130 <img src="//www.formen.co.in/cdn/shop/files/ForMen_Logo_1.svg?v=1676627204&width=136" alt="ForMen_Logo" srcset="//www.formen.co.in/cdn/shop/files/ForMen_Logo_1.svg?v=1676627204&width=130 130w, //www.formen.co.in/cdn/shop/files/ForMen_Logo_1.svg?v=1676627204&width=136 136w" width="136" height="136" loading="eager" class="small--hide" sizes="130px" style="object-position:55.8824% 43.1986%;max-height: 130.0px;max-width: 130px;"> 2131 2132 2133 2134 2135 2136 2137 2138 2139 2140 2141 <img src="//www.formen.co.in/cdn/shop/files/ForMen_Logo_1.svg?v=1676627204&width=136" alt="ForMen_Logo" srcset="//www.formen.co.in/cdn/shop/files/ForMen_Logo_1.svg?v=1676627204&width=136 136w" width="136" height="136" loading="eager" class="medium-up--hide" sizes="140px" style="object-position:55.8824% 43.1986%;max-height: 140.0px;max-width: 140px;"> 2142 2143 2144 2145 2146</a></div></div><div class="header-item header-item--search small--hide"><form action="/search" method="get" role="search" 2147 class="site-header__search-form" data-dark="false"> 2148 <input type="hidden" name="type" value="product,article"> 2149 <input type="hidden" name="options[prefix]" value="last"> 2150 <input type="search" name="q" value="" placeholder="Search" class="site-header__search-input" aria-label="Search"> 2151 <label for="search-icon" class="hidden-label">Search</label> 2152 <label for="search-close" class="hidden-label">Close</label> 2153 <button type="submit" id="search-icon" class="text-link site-header__search-btn site-header__search-btn--submit"> 2154 <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-search" viewBox="0 0 64 64"><defs><style>.cls-1{fill:none;stroke:#000;stroke-miterlimit:10;stroke-width:2px}</style></defs><path class="cls-1" d="M47.16 28.58A18.58 18.58 0 1 1 28.58 10a18.58 18.58 0 0 1 18.58 18.58zM54 54L41.94 42"/></svg> 2155 <span class="icon__fallback-text">Search</span> 2156 </button> 2157 2158 <button type="button" id="search-close" class="text-link site-header__search-btn site-header__search-btn--cancel"> 2159 <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-close" viewBox="0 0 64 64"><defs><style>.cls-1{fill:none;stroke:#000;stroke-miterlimit:10;stroke-width:2px}</style></defs><path class="cls-1" d="M19 17.61l27.12 27.13m0-27.13L19 44.74"/></svg> 2160 <span class="icon__fallback-text">Close</span> 2161 </button> 2162</form> 2163</div><div class="header-item header-item--icons"><div class="site-nav"> 2164 <div class="site-nav__icons"> 2165 <a href="/search" class="site-nav__link site-nav__link--icon js-search-header medium-up--hide js-no-transition"> 2166 <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-search" viewBox="0 0 64 64"><defs><style>.cls-1{fill:none;stroke:#000;stroke-miterlimit:10;stroke-width:2px}</style></defs><path class="cls-1" d="M47.16 28.58A18.58 18.58 0 1 1 28.58 10a18.58 18.58 0 0 1 18.58 18.58zM54 54L41.94 42"/></svg>
2167 <span class="icon__fallback-text">Search</span> 2168 </a><a class="site-nav__link site-nav__link--icon small--hide" href="/account"> 2169 <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-user" viewBox="0 0 64 64"><defs><style>.cls-1{fill:none;stroke:#000;stroke-miterlimit:10;stroke-width:2px}</style></defs><path class="cls-1" d="M35 39.84v-2.53c3.3-1.91 6-6.66 6-11.42 0-7.63 0-13.82-9-13.82s-9 6.19-9 13.82c0 4.76 2.7 9.51 6 11.42v2.53c-10.18.85-18 6-18 12.16h42c0-6.19-7.82-11.31-18-12.16z"/></svg> 2170 <span class="site-nav__icon-label small--hide"> 2171 Account 2172 </span> 2173 </a><a href="/cart" 2174 id="HeaderCartTrigger" 2175 aria-controls="HeaderCart" 2176 class="site-nav__link site-nav__link--icon js-no-transition" 2177 data-icon="bag-minimal" 2178 aria-label="Cart" 2179 > 2180 <span class="cart-link"><svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-bag-minimal" viewBox="0 0 64 64"><defs><style>.cls-1{fill:none;stroke:#000;stroke-width:2px}</style></defs><path id="svg_2" data-name="svg 2" class="cls-1" d="M22.53 16.61c0-7.1 4.35-9 9.75-9s9.75 1.9 9.75 9"/><path id="svg_4" data-name="svg 4" class="cls-1" d="M11.66 16.65h41.25V53.4H11.66z"/></svg><span class="cart-link__bubble"> 2181 <span class="cart-link__bubble-num">0</span> 2182 </span> 2183 </span> 2184 <span class="site-nav__icon-label small--hide"> 2185 Cart 2186 </span> 2187 </a> 2188 2189 <button type="button" 2190 aria-controls="MobileNav" 2191 class="site-nav__link site-nav__link--icon medium-up--hide mobile-nav-trigger"> 2192 <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-hamburger" viewBox="0 0 64 64"><path class="cls-1" d="M7 15h51">.</path><path class="cls-1" d="M7 32h43">.</path><path class="cls-1" d="M7 49h51">.</path></svg> 2193 <span class="icon__fallback-text">Site navigation</span> 2194 </button> 2195 </div> 2196 2197 <div class="site-nav__close-cart"> 2198 <button type="button" class="site-nav__link site-nav__link--icon js-close-header-cart"> 2199 <span>Close</span> 2200 <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-close" viewBox="0 0 64 64"><defs><style>.cls-1{fill:none;stroke:#000;stroke-miterlimit:10;stroke-width:2px}</style></defs><path class="cls-1" d="M19 17.61l27.12 27.13m0-27.13L19 44.74"/></svg> 2201 </button> 2202 </div> 2203</div> 2204</div> 2205 </div> 2206 </div> 2207 2208 <div class="site-header__search-container"> 2209 <div class="page-width"> 2210 <div class="site-header__search"><form action="/search" method="get" role="search" 2211 class="site-header__search-form" data-dark="false"> 2212 <input type="hidden" name="type" value="product,article"> 2213 <input type="hidden" name="options[prefix]" value="last"> 2214 <input type="search" name="q" value="" placeholder="Search" class="site-header__search-input" aria-label="Search"> 2215 <label for="search-icon" class="hidden-label">Search</label> 2216 <label for="search-close" class="hidden-label">Close</label> 2217 <button type="submit" id="search-icon" class="text-link site-header__search-btn site-header__search-btn--submit"> 2218 <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-search" viewBox="0 0 64 64"><defs><style>.cls-1{fill:none;stroke:#000;stroke-miterlimit:10;stroke-width:2px}</style></defs><path class="cls-1" d="M47.16 28.58A18.58 18.58 0 1 1 28.58 10a18.58 18.58 0 0 1 18.58 18.58zM54 54L41.94 42"/></svg> 2219 <span class="icon__fallback-text">Search</span> 2220 </button> 2221 2222 <button type="button" id="search-close" class="text-link site-header__search-btn site-header__search-btn--cancel"> 2223 <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-close" viewBox="0 0 64 64"><defs><style>.cls-1{fill:none;stroke:#000;stroke-miterlimit:10;stroke-width:2px}</style></defs><path class="cls-1" d="M19 17.61l27.12 27.13m0-27.13L19 44.74"/></svg> 2224 <span class="icon__fallback-text">Close</span> 2225 </button> 2226</form> 2227<button type="button" class="text-link site-header__search-btn site-header__search-btn--cancel">
2228 <span class="medium-up--hide"><svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-close" viewBox="0 0 64 64"><defs><style>.cls-1{fill:none;stroke:#000;stroke-miterlimit:10;stroke-width:2px}</style></defs><path class="cls-1" d="M19 17.61l27.12 27.13m0-27.13L19 44.74"/></svg></span> 2229 <span class="small--hide">Cancel</span> 2230 </button> 2231 </div> 2232 </div> 2233 </div> 2234 </div><div class="site-header__element site-header__element--sub" data-type="nav"> 2235 <div class="page-width"> 2236<ul class="site-nav site-navigation ok1 site-navigation--below small--hide" > 2237 2238<li 2239 class="site-nav__item site-nav__expanded-item" 2240 > 2241 2242 <a href="/collections/bestsellers" class="site-nav__link site-nav__link--underline"> 2243 Bestsellers 2244 </a></li><li 2245 class="site-nav__item site-nav__expanded-item site-nav--has-dropdown" 2246 aria-haspopup="true"> 2247 2248 <a href="/collections/perform-better" class="site-nav__link site-nav__link--underline site-nav__link--has-dropdown"> 2249 Get Harder 2250 </a><div class="site-nav__dropdown"> 2251 <ul id="Get Harder" class="site-nav__dropdown-animate site-nav__dropdown-list text-left"><li class=""> 2252 <a href="/products/get-hard-performance-tablets-for-men" class="site-nav__dropdown-link site-nav__dropdown-link--second-level"> 2253 Man Up Max - Get Hard Tablets 2254</a></li><li class=""> 2255 <a href="/products/long-last-get-hard-tablets-for-men" class="site-nav__dropdown-link site-nav__dropdown-link--second-level"> 2256 Pleasure Max - Long Last & Get Hard 2257</a></li><li class=""> 2258 <a href="/products/ignite-ayurvedic-performance-oil" class="site-nav__dropdown-link site-nav__dropdown-link--second-level"> 2259 Ignite Ayurvedic Performance Oil 2260</a></li><li class=""> 2261 <a href="/products/x-drive-safed-musli-shilajit-performance-capsules" class="site-nav__dropdown-link site-nav__dropdown-link--second-level"> 2262 X-Drive Performance Capsules 2263</a></li><li class=""> 2264 <a href="/products/advanced-performance-kit" class="site-nav__dropdown-link site-nav__dropdown-link--second-level"> 2265 Advanced Performance Kit 2266</a></li><li class=""> 2267 <a href="/products/manhood-booster-kit" class="site-nav__dropdown-link site-nav__dropdown-link--second-level"> 2268 Get Harder Kit 2269</a></li><li class=""> 2270 <a href="/products/best-performance-kit" class="site-nav__dropdown-link site-nav__dropdown-link--second-level"> 2271 Complete Performance Kit 2272</a></li><li class=""> 2273 <a href="/products/performance-booster-kit" class="site-nav__dropdown-link site-nav__dropdown-link--second-level"> 2274 Performance Booster Kit 2275</a></li></ul> 2276 </div></li><li 2277 class="site-nav__item site-nav__expanded-item site-nav--has-dropdown" 2278 aria-haspopup="true"> 2279 2280 <a href="/collections/prolong-pleasure" class="site-nav__link site-nav__link--underline site-nav__link--has-dropdown"> 2281 Last Longer 2282 </a><div class="site-nav__dropdown"> 2283 <ul id="Last Longer" class="site-nav__dropdown-animate site-nav__dropdown-list text-left"><li class=""> 2284 <a href="/products/long-last-timing-control-tablets-for-men" class="site-nav__dropdown-link site-nav__dropdown-link--second-level"> 2285 Delay Max - Long Last Tablets 2286</a></li><li class=""> 2287 <a href="/products/prolong-delay-spray-for-men" class="site-nav__dropdown-link site-nav__dropdown-link--second-level"> 2288 Prolong Delay Spray (30ml) 2289</a></li><li class=""> 2290 <a href="/products/pocket-delay-spray" class="site-nav__dropdown-link site-nav__dropdown-link--second-level"> 2291 Pocket Delay Spray (8ml) 2292</a></li><li class=""> 2293 <a href="/products/natural-delay-spray" class="site-nav__dropdown-link site-nav__dropdown-link--second-level"> 2294 Prolong Natural Delay Spray 2295</a></li><li class=""> 2296 <a href="/products/joymax-last-long-condom" class="site-nav__dropdown-link site-nav__dropdown-link--second-level"> 2297 Last Long Condoms 2298</a></li><li class=""> 2299 <a href="/products/joymax-last-long-ultra-thin-condom" class="site-nav__dropdown-link site-nav__dropdown-link--second-level"> 2300 Ultra Thin Condoms 2301</a></li><li class=""> 2302 <a href="/products/pocket-rocket" class="site-nav__dropdown-link site-nav__dropdown-link--second-level"> 2303 Pocket Rocket 2304</a></li><li class=""> 2305 <a href="/products/one-time-pack" class="site-nav__dropdown-link site-nav__dropdown-link--second-level"> 2306 OTP - One Time Pack 2307</a></li><li class=""> 2308 <a href="/products/advanced-long-last-kit" class="site-nav__dropdown-link site-nav__dropdown-link--second-level"> 2309 Advanced Long Last Kit 2310</a></li><li class=""> 2311 <a href="/products/ultimate-endurance-kit" class="site-nav__dropdown-link site-nav__dropdown-link--second-level"> 2312 Last Longer Kit 2313</a></li></ul> 2314 </div></li><li 2315 class="site-nav__item site-nav__expanded-item site-nav--has-dropdown" 2316 aria-haspopup="true"> 2317 2318 <a href="/collections/maximise-joy" class="site-nav__link site-nav__link--underline site-nav__link--has-dropdown"> 2319 Condoms & Lubes 2320 </a><div class="site-nav__dropdown"> 2321 <ul id="Condoms & Lubes" class="site-nav__dropdown-animate site-nav__dropdown-list text-left"><li class=""> 2322 <a href="/products/joymax-last-long-condom" class="site-nav__dropdown-link site-nav__dropdown-link--second-level"> 2323 Last Long Condoms 2324</a></li><li class=""> 2325 <a href="/products/joymax-last-long-ultra-thin-condom" class="site-nav__dropdown-link site-nav__dropdown-link--second-level"> 2326 Ultra Thin Condoms 2327</a></li><li class=""> 2328 <a href="/products/joymax-chocolate-condom" class="site-nav__dropdown-link site-nav__dropdown-link--second-level"> 2329 Chocolate Condoms 2330</a></li><li class=""> 2331 <a href="/products/joymax-strawberry-condom" class="site-nav__dropdown-link site-nav__dropdown-link--second-level"> 2332 Strawberry Condoms 2333</a></li><li class=""> 2334 <a href="/products/intimate-essentials-joymax-intimate-lube-gel-strawberry-flavor" class="site-nav__dropdown-link site-nav__dropdown-link--second-level"> 2335 JoyMax Intimate Lube (60ml) 2336</a></li><li class=""> 2337 <a href="/products/joymax-chocolate-natural-intimate-lube-60ml" class="site-nav__dropdown-link site-nav__dropdown-link--second-level"> 2338 JoyMax Chocolate Lube (60ml) 2339</a></li><li class=""> 2340 <a href="/products/joymax-strawberry-natural-intimate-lube-60ml" class="site-nav__dropdown-link site-nav__dropdown-link--second-level"> 2341 JoyMax Strawberry Lube (60ml) 2342</a></li><li class=""> 2343 <a href="/products/pocket-intimate-water-based-aloe-vera-lube-20ml" class="site-nav__dropdown-link site-nav__dropdown-link--second-level"> 2344 Pocket Natural Lube (20ml) 2345</a></li></ul> 2346 </div></li><li 2347 class="site-nav__item site-nav__expanded-item site-nav--has-dropdown" 2348 aria-haspopup="true"> 2349 2350 <a href="/collections/intimate-care" class="site-nav__link site-nav__link--underline site-nav__link--has-dropdown"> 2351 Intimate Care 2352 </a><div class="site-nav__dropdown"> 2353 <ul id="Intimate Care" class="site-nav__dropdown-animate site-nav__dropdown-list text-left"><li class=""> 2354 <a href="/products/foam-based-intimate-wash" class="site-nav__dropdown-link site-nav__dropdown-link--second-level"> 2355 Foam Based Intimate Wash 2356</a></li><li class=""> 2357 <a href="/products/hair-removal-spray" class="site-nav__dropdown-link site-nav__dropdown-link--second-level"> 2358 Hair Removal Spray 2359</a></li></ul> 2360 </div></li><li 2361 class="site-nav__item site-nav__expanded-item site-nav--has-dropdown" 2362 aria-haspopup="true"> 2363 2364 <a href="/collections/look-great" class="site-nav__link site-nav__link--underline site-nav__link--has-dropdown"> 2365 Hair & Beard 2366 </a><div class="site-nav__dropdown"> 2367 <ul id="Hair & Beard" class="site-nav__dropdown-animate site-nav__dropdown-list text-left"><li class=""> 2368 <a href="/products/hair-growth-solution" class="site-nav__dropdown-link site-nav__dropdown-link--second-level"> 2369 Minoxidil 5% Solution (60ml) 2370</a></li><li class=""> 2371 <a href="/products/beard-growth-tonic-with-5-minoxidil-2-burgeon-up" class="site-nav__dropdown-link site-nav__dropdown-link--second-level"> 2372 Beard Growth Tonic 2373</a></li><li class=""> 2374 <a href="/products/hair-growth-super-kit-minoxidil-derma-roller" class="site-nav__dropdown-link site-nav__dropdown-link--second-level"> 2375 Hair Growth Super Kit 2376</a></li><li class=""> 2377 <a href="/products/beard-growth-super-kit-minoxidil-derma-roller" class="site-nav__dropdown-link site-nav__dropdown-link--second-level"> 2378 Beard Growth Super Kit 2379</a></li><li class=""> 2380 <a href="/products/derma-roller-titanium-1mm" class="site-nav__dropdown-link site-nav__dropdown-link--second-level"> 2381 Derma Roller 1mm 2382</a></li><li class=""> 2383 <a href="/products/derma-roller-titanium-0-5mm" class="site-nav__dropdown-link site-nav__dropdown-link--second-level"> 2384 Derma Roller 0.5mm 2385</a></li><li class=""> 2386 <a href="/products/derma-roller-titanium-1mm-with-sanitizer" class="site-nav__dropdown-link site-nav__dropdown-link--second-level"> 2387 Derma Roller 1mm with Sanitizer 2388</a></li><li class=""> 2389 <a href="/products/derma-roller-0-5mm-with-sanitizer" class="site-nav__dropdown-link site-nav__dropdown-link--second-level"> 2390 Derma Roller 0.5mm with Sanitizer 2391</a></li><li class=""> 2392 <a href="/products/beard-comb" class="site-nav__dropdown-link site-nav__dropdown-link--second-level"> 2393 Beard Comb 2394</a></li></ul> 2395 </div></li><li 2396 class="site-nav__item site-nav__expanded-item site-nav--has-dropdown" 2397 aria-haspopup="true"> 2398 2399 <a href="/collections/boost-vitality" class="site-nav__link site-nav__link--underline site-nav__link--has-dropdown"> 2400 Supplements 2401 </a><div class="site-nav__dropdown"> 2402 <ul id="Supplements" class="site-nav__dropdown-animate site-nav__dropdown-list text-left"><li class=""> 2403 <a href="/products/shudh-shilajit-ashwagandha-energy-capsules" class="site-nav__dropdown-link site-nav__dropdown-link--second-level"> 2404 Shudh Shilajit & Ashwagandha 2405</a></li><li class=""> 2406 <a href="/products/testo-power-tablets-for-men" class="site-nav__dropdown-link site-nav__dropdown-link--second-level"> 2407 Testo Power 2408</a></li><li class=""> 2409 <a href="/products/x-drive-safed-musli-shilajit-performance-capsules" class="site-nav__dropdown-link site-nav__dropdown-link--second-level"> 2410 X-Drive Performance Capsules 2411</a></li><li class=""> 2412 <a href="/products/fertiq-male-fertility-supplement"
2412class="site-nav__dropdown-link site-nav__dropdown-link--second-level"> 2413 FertiQ Fertility Support 2414</a></li><li class=""> 2415 <a href="/products/marine-collagen-for-men" class="site-nav__dropdown-link site-nav__dropdown-link--second-level"> 2416 Marine Collagen for Men 2417</a></li><li class=""> 2418 <a href="/products/probiotic-pop-mints" class="site-nav__dropdown-link site-nav__dropdown-link--second-level"> 2419 Probiotic POP Mints 2420</a></li><li class=""> 2421 <a href="/products/comprehensive-allround-kit" class="site-nav__dropdown-link site-nav__dropdown-link--second-level"> 2422 All-Round Vitality Kit 2423</a></li><li class=""> 2424 <a href="/products/testoboost-vitality-boost-kit" class="site-nav__dropdown-link site-nav__dropdown-link--second-level"> 2425 Testoboost & Vitality Boost Kit 2426</a></li></ul> 2427 </div></li><li 2428 class="site-nav__item site-nav__expanded-item site-nav--has-dropdown" 2429 aria-haspopup="true"> 2430 2431 <a href="/collections/all-combos" class="site-nav__link site-nav__link--underline site-nav__link--has-dropdown"> 2432 Combos 2433 </a><div class="site-nav__dropdown"> 2434 <ul id="Combos" class="site-nav__dropdown-animate site-nav__dropdown-list text-left"><li class=""> 2435 <a href="/products/lasting-passion-duo" class="site-nav__dropdown-link site-nav__dropdown-link--second-level"> 2436 Lasting Power Duo 2437</a></li><li class=""> 2438 <a href="/products/extra-time-combo-delay-spray-ultra-thin-condoms" class="site-nav__dropdown-link site-nav__dropdown-link--second-level"> 2439 Extra Time Combo 2440</a></li><li class=""> 2441 <a href="/products/max-control-combo-delay-spray-last-long-condoms" class="site-nav__dropdown-link site-nav__dropdown-link--second-level"> 2442 Max Control Combo 2443</a></li><li class=""> 2444 <a href="/products/real-feel-duo-intimate-lube-ultra-thin-condoms" class="site-nav__dropdown-link site-nav__dropdown-link--second-level"> 2445 Real Feel Duo 2446</a></li><li class=""> 2447 <a href="/products/long-play-duo-intimate-lube-last-long-condoms" class="site-nav__dropdown-link site-nav__dropdown-link--second-level"> 2448 Long Play Duo 2449</a></li><li class=""> 2450 <a href="/products/pleasure-pair-chocolate-condoms-strawberry-condoms" class="site-nav__dropdown-link site-nav__dropdown-link--second-level"> 2451 Flavour Pair - Chocolate & Strawberry 2452</a></li><li class=""> 2453 <a href="/products/prolong-ignite-combo" class="site-nav__dropdown-link site-nav__dropdown-link--second-level"> 2454 Prolong & Ignite Combo 2455</a></li><li class=""> 2456 <a href="/products/prolong-joymax-lube-combo" class="site-nav__dropdown-link site-nav__dropdown-link--second-level"> 2457 Prolong & JoyMax Lube Combo 2458</a></li><li class=""> 2459 <a href="/products/peak-pleasure-duo" class="site-nav__dropdown-link site-nav__dropdown-link--second-level"> 2460 Pleasure Max & Ignite Oil Combo 2461</a></li><li class=""> 2462 <a href="/products/pleasure-max-joymax-lube-combo" class="site-nav__dropdown-link site-nav__dropdown-link--second-level"> 2463 Pleasure Max & JoyMax Lube Combo 2464</a></li><li class=""> 2465 <a href="/products/honeymoon-kit" class="site-nav__dropdown-link site-nav__dropdown-link--second-level"> 2466 Couples Essentials Kit 2467</a></li><li class=""> 2468 <a href="/products/couple-starter-kit" class="site-nav__dropdown-link site-nav__dropdown-link--second-level"> 2469 Couple Starter Kit 2470</a></li></ul> 2471 </div></li></ul> 2472 2473</div> 2474 </div> 2475 2476 <div class="site-header__element site-header__element--sub" data-type="search"> 2477 <div class="page-width medium-up--hide"><form action="/search" method="get" role="search" 2478 class="site-header__search-form" data-dark="false"> 2479 <input type="hidden" name="type" value="product,article"> 2480 <input type="hidden" name="options[prefix]" value="last"> 2481 <input type="search" name="q" value="" placeholder="Search" class="site-header__search-input" aria-label="Search"> 2482 <label for="search-icon" class="hidden-label">Search</label> 2483 <label for="search-close" class="hidden-label">Close</label> 2484 <button type="submit" id="search-icon" class="text-link site-header__search-btn site-header__search-btn--submit"> 2485 <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-search" viewBox="0 0 64 64"><defs><style>.cls-1{fill:none;stroke:#000;stroke-miterlimit:10;stroke-width:2px}</style></defs><path class="cls-1" d="M47.16 28.58A18.58 18.58 0 1 1 28.58 10a18.58 18.58 0 0 1 18.58 18.58zM54 54L41.94 42"/></svg> 2486 <span class="icon__fallback-text">Search</span> 2487 </button> 2488 2489 <button type="button" id="search-close" class="text-link site-header__search-btn site-header__search-btn--cancel"> 2490 <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-close" viewBox="0 0 64 64"><defs><style>.cls-1{fill:none;stroke:#000;stroke-miterlimit:10;stroke-width:2px}</style></defs><path class="cls-1" d="M19 17.61l27.12 27.13m0-27.13L19 44.74"/></svg> 2491 <span class="icon__fallback-text">Close</span> 2492 </button> 2493</form> 2494</div> 2495 </div><div class="page-width site-header__drawers"> 2496 <div class="site-header__drawers-container"> 2497 <div class="site-header__drawer site-header__cart" id="HeaderCart">
2498 <div class="site-header__drawer-animate"><form action="/cart" method="post" novalidate data-location="header" class="cart__drawer-form"> 2499 <div class="cart__scrollable"> 2500 <div data-products></div><div class="cart__item-row cart-recommendations" data-location="drawer"> 2501 <div class="h3 h3--mobile cart__recommended-title">Goes great with</div> 2502 <div class="new-grid product-grid scrollable-grid" data-view="small"><div id="QuickShopModal-9978986135871" class="modal modal--square modal--quick-shop" data-product-id="9978986135871"> 2503 <div class="modal__inner"> 2504 <div class="modal__centered"> 2505 <div class="modal__centered-content"> 2506 <div id="QuickShopHolder-long-last-performance-boost-tablets-for-men"></div> 2507 </div> 2508 2509 <button type="button" class="btn btn--circle btn--icon modal__close js-modal-close"> 2510 <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-close" viewBox="0 0 64 64"><defs><style>.cls-1{fill:none;stroke:#000;stroke-miterlimit:10;stroke-width:2px}</style></defs><path class="cls-1" d="M19 17.61l27.12 27.13m0-27.13L19 44.74"/></svg> 2511 <span class="icon__fallback-text">"Close (esc)"</span> 2512 </button> 2513 </div> 2514 </div> 2515</div> 2516 2517 2518 2519<div class="swiper-slide grid-item grid-product " id="long-last-get-hard-tablets-for-men" data-product-handle="long-last-get-hard-tablets-for-men" data-product-id="9977762152767"> 2520 2521 <div class="grid-item__content"><div class="grid-product__actions"><button class="btn btn--circle btn--icon quick-product__btn quick-product__btn--not-ready js-modal-open-quick-modal-9977762152767 small--hide" title="Quick shop" tabindex="-1" data-handle="long-last-get-hard-tablets-for-men"> 2522 <img width="24px" height="24px" src="https://cdn.shopify.com/s/files/1/0719/6249/3247/files/icon_focuslt.png" alt="" /> 2523 <span class="icon__fallback-text">Quick shop</span> 2524 </button></div><a href="/products/long-last-get-hard-tablets-for-men" class="grid-item__link ddd"> 2525 <div class="grid-product__image-wrap"> 2526 2527 2528 2529 <div class="ribbon ribbon-top-left best-seller"> 2530 <span>Best Seller</span> 2531 </div> 2532 2533 <div class="grid-product__tags"></div><div 2534 class="grid__image-ratio grid__image-ratio--square"> 2535 2536 2537 2538 2539 2540 <img src="//www.formen.co.in/cdn/shop/files/img1_pleasuremaxitablet.webp?v=1764751904" alt="" srcset="//www.formen.co.in/cdn/shop/files/img1_pleasuremaxitablet.webp?v=1764751904&width=160 160w, //www.formen.co.in/cdn/shop/files/img1_pleasuremaxitablet.webp?v=1764751904&width=200 200w, //www.formen.co.in/cdn/shop/files/img1_pleasuremaxitablet.webp?v=1764751904&width=280 280w, //www.formen.co.in/cdn/shop/files/img1_pleasuremaxitablet.webp?v=1764751904&width=360 360w, //www.formen.co.in/cdn/shop/files/img1_pleasuremaxitablet.webp?v=1764751904&width=540 540w, //www.formen.co.in/cdn/shop/files/img1_pleasuremaxitablet.webp?v=1764751904&width=720 720w, //www.formen.co.in/cdn/shop/files/img1_pleasuremaxitablet.webp?v=1764751904&width=900 900w" width="1080" height="1080" loading="lazy" class=" grid__image-contain image-style-- 2541" sizes="150px"> 2542 2543 2544 2545 2546</div></div> 2547 <div class="grid-item__meta_new"> 2548 <div class="grid-item__meta-main"><div class="grid-product__title">Pleasure Max Tablets â Long Last & Get Hard Tablets for Man</div> 2549 2550 2551 2552 2553 2554 <div class="global-rating d-none hide"> 2555 2556 2557 <input type="hidden" class="countstar" value="5"> 2558 <p class="star"></p> 2559 </div></div> 2560 </div> 2561 </a> 2562 <div class="priceaddtocart_wp"> 2563 <div class="newprdtcardprice_sec"> 2564<!-- *************************Start of dropdown code end*************************** --> 2565 2566 2567<div class="product-item"> 2568 <!-- PRICE --> 2569 <div class="product-price"> 2570 <span class="current-price"> 2571 â¹889 2572 </span> 2573 2574
2575 <span class="compare-price" > 2576 â¹930 2577 </span> 2578 2579 <!-- ALWAYS RENDER --> 2580 <span class="discount-percentage SAJ "> 2581 4% 2582 </span> 2583 </div> 2584 <!-- VARIANT + CART --> 2585 <div class="productpricefull_wp"> 2586 <div class="productpricefull_lft"> 2587 2588 <select class="variant-dropdown" data-product-id="9977762152767"> 2589 2590 <option 2591 value="50907552940351" 2592 data-price="889.00" 2593 data-compare-price="930.00" 2594 selected> 2595 Pack of 2 (16 Tablets) 2596 </option> 2597 2598 <option 2599 value="50907552973119" 2600 data-price="1,679.00" 2601 data-compare-price="1,860.00" 2602 > 2603 Pack of 4 (32 Tablets) 2604 </option> 2605 2606 <option 2607 value="50907553005887" 2608 data-price="3,199.00" 2609 data-compare-price="3,720.00" 2610 > 2611 Pack of 8 (64 Tablets) 2612 </option> 2613 2614 </select> 2615 2616 </div> 2617 <div class="productpricefull_rght"><button type="button" class="text-link quick-add-btn js-quick-add-btn" 2618 title="Add to Cart" 2619 tabindex="-1" 2620 data-id="50907552940351"> 2621 <span class="btn btn--circle btn--icon hidethis d-none"> 2622 <span class="icon__fallback-text">Add to Cart</span> 2623 </span> Add to cart 2624 </button></div> 2625 </div> 2626</div> 2627<!-- CSS --> 2628<style> 2629.discount-hide { 2630 display: none; 2631} 2632</style> 2633<!-- JS -->
2634<script> 2635 document.addEventListener("DOMContentLoaded", function () { 2636 function updateVariantPriceAndCart(select) { 2637 const selectedOption = select.options[select.selectedIndex]; 2638 const productItem = select.closest(".product-item"); 2639 const priceElement = productItem.querySelector(".current-price"); 2640 const comparePriceElement = productItem.querySelector(".compare-price"); 2641 const discountElement = productItem.querySelector(".discount-percentage"); 2642 const addToCartBtn = productItem.querySelector(".js-quick-add-btn"); 2643 if (!selectedOption || !priceElement || !discountElement) return; 2644 // Prices 2645 const newPrice = parseFloat(selectedOption.dataset.price.replace(/,/g, '')) * 100; 2646 const comparePrice = selectedOption.dataset.comparePrice 2647 ? parseFloat(selectedOption.dataset.comparePrice.replace(/,/g, '')) * 100 2648 : 0; 2649 // Update price 2650 priceElement.textContent = formatMoney(newPrice); 2651 if (comparePrice > newPrice) { 2652 comparePriceElement.textContent = formatMoney(comparePrice); 2653 comparePriceElement.style.display = "inline"; 2654 let rawDiscount = ((comparePrice - newPrice) / comparePrice) * 100; 2655 let discount = Math.round(rawDiscount); 2656 // ð¥ FIX 2657 if (discount < 1) { 2658 discountElement.classList.add("discount-hide"); 2659 } else { 2660 discountElement.textContent = discount + "%"; 2661 discountElement.classList.remove("discount-hide"); 2662 } 2663 } else { 2664 comparePriceElement.style.display = "none"; 2665 discountElement.classList.add("discount-hide"); 2666 } 2667 // Update cart 2668 if (addToCartBtn) { 2669 addToCartBtn.dataset.id = selectedOption.value; 2670 } 2671 } 2672 function formatMoney(cents) { 2673 let amount = (cents / 100).toFixed(2).replace(/\.00$/, ''); 2674 const moneyFormat = "â¹{{amount}}"; 2675 return moneyFormat.replace(/\{\{\s*amount\s*\}\}/g, amount); 2676 } 2677 // Change event 2678 document.body.addEventListener("change", function (event) { 2679 if (event.target.matches(".variant-dropdown")) { 2680 updateVariantPriceAndCart(event.target); 2681 } 2682 }); 2683 }); 2684</script>
2684 2685 2686 2687 2688 2689<!-- *************************Start of dropdown code end*************************** --> 2690 </div> 2691 2692 <div class="grid-item__meta hide d-none"> 2693 <div class="grid-item__meta-secondary"> 2694 <div class="grid-product__price"><span class="grid-product__price--current"><span aria-hidden="true" class="grid-product__price--from">â¹889</sup></span> 2695<span class="visually-hidden">â¹889</span> 2696 2697 2698</span><span class="visually-hidden">Regular price</span> 2699 <span class="grid-product__price--original"><span aria-hidden="true">â¹930</sup></span> 2700<span class="visually-hidden">â¹930.00</span> 2701</span><span class="grid-product__price--savings"> 2702 4% 2703 </span></div></div></div></div> 2704 2705 </div> 2706</div> 2707 2708<div id="QuickShopModal-9977762152767" class="modal modal--square modal--quick-shop" data-product-id="9977762152767"> 2709 <div class="modal__inner"> 2710 <div class="modal__centered"> 2711 <div class="modal__centered-content"> 2712 <div id="QuickShopHolder-long-last-get-hard-tablets-for-men"></div> 2713 </div> 2714 2715 <button type="button" class="btn btn--circle btn--icon modal__close js-modal-close"> 2716 <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-close" viewBox="0 0 64 64"><defs><style>.cls-1{fill:none;stroke:#000;stroke-miterlimit:10;stroke-width:2px}</style></defs><path class="cls-1" d="M19 17.61l27.12 27.13m0-27.13L19 44.74"/></svg> 2717 <span class="icon__fallback-text">"Close (esc)"</span> 2718 </button> 2719 </div> 2720 </div> 2721</div> 2722 2723 2724 2725<div class="swiper-slide grid-item grid-product " id="x-drive-safed-musli-shilajit-performance-capsules" data-product-handle="x-drive-safed-musli-shilajit-performance-capsules" data-product-id="8353674985791"> 2726 2727 <div class="grid-item__content"><div class="grid-product__actions"><button class="btn btn--circle btn--icon quick-product__btn quick-product__btn--not-ready js-modal-open-quick-modal-8353674985791 small--hide" title="Quick shop" tabindex="-1" data-handle="x-drive-safed-musli-shilajit-performance-capsules"> 2728 <img width="24px" height="24px" src="https://cdn.shopify.com/s/files/1/0719/6249/3247/files/icon_focuslt.png" alt="" /> 2729 <span class="icon__fallback-text">Quick shop</span> 2730 </button></div><a href="/products/x-drive-safed-musli-shilajit-performance-capsules" class="grid-item__link ddd"> 2731 <div class="grid-product__image-wrap"> 2732 2733 2734 2735 <div class="ribbon ribbon-top-left best-seller"> 2736 <span>Best Seller</span> 2737 </div> 2738 2739 <div class="grid-product__tags"></div><div 2740 class="grid__image-ratio grid__image-ratio--square"> 2741 2742 2743 2744 2745 2746 <img src="//www.formen.co.in/cdn/shop/files/x-drive_slide1_minfy.webp?v=1766041937" alt="" srcset="//www.formen.co.in/cdn/shop/files/x-drive_slide1_minfy.webp?v=1766041937&width=160 160w, //www.formen.co.in/cdn/shop/files/x-drive_slide1_minfy.webp?v=1766041937&width=200 200w, //www.formen.co.in/cdn/shop/files/x-drive_slide1_minfy.webp?v=1766041937&width=280 280w, //www.formen.co.in/cdn/shop/files/x-drive_slide1_minfy.webp?v=1766041937&width=360 360w, //www.formen.co.in/cdn/shop/files/x-drive_slide1_minfy.webp?v=1766041937&width=540 540w, //www.formen.co.in/cdn/shop/files/x-drive_slide1_minfy.webp?v=1766041937&width=720 720w, //www.formen.co.in/cdn/shop/files/x-drive_slide1_minfy.webp?v=1766041937&width=900 900w" width="1080" height="1080" loading="lazy" class=" grid__image-contain image-style-- 2747" sizes="150px"> 2748 2749 2750 2751 2752</div></div> 2753 <div class="grid-item__meta_new"> 2754 <div class="grid-item__meta-main"><div class="grid-product__title">X-Drive - Safed Musli, Shilajit & Ashwagandha for Performance</div> 2755 2756 2757 2758 2759 2760 <div class="global-rating d-none hide"> 2761 2762 2763 <input type="hidden" class="countstar" value="5"> 2764 <p class="star"></p> 2765 </div></div> 2766 </div> 2767 </a> 2768 <div class="priceaddtocart_wp"> 2769 <div class="newprdtcardprice_sec"> 2770<!-- *************************Start of dropdown code end*************************** --> 2771 2772 2773<div class="product-item"> 2774 <!-- PRICE --> 2775 <div class="product-price">
2776 <span class="current-price"> 2777 â¹450 2778 </span> 2779 2780 2781 <span class="compare-price" style="display:none"> 2782 â¹450 2783 </span> 2784 2785 <!-- ALWAYS RENDER --> 2786 <span class="discount-percentage SAJ discount-hide"> 2787 0% 2788 </span> 2789 </div> 2790 <!-- VARIANT + CART --> 2791 <div class="productpricefull_wp"> 2792 <div class="productpricefull_lft"> 2793 2794 <select class="variant-dropdown" data-product-id="8353674985791"> 2795 2796 <option 2797 value="55262506877247" 2798 data-price="450.00" 2799 data-compare-price="450.00" 2800 selected> 2801 Pack of 1 (30 Tabs) 2802 </option> 2803 2804 <option 2805 value="55262506910015" 2806 data-price="855.00" 2807 data-compare-price="900.00" 2808 > 2809 Pack of 2 (60 Tabs) 2810 </option> 2811 2812 <option 2813 value="44978727158079" 2814 data-price="1,147.00" 2815 data-compare-price="1,350.00" 2816 > 2817 Pack of 3 (90 Tabs) 2818 </option> 2819 2820 </select> 2821 2822 </div> 2823 <div class="productpricefull_rght"><button type="button" class="text-link quick-add-btn js-quick-add-btn" 2824 title="Add to Cart" 2825 tabindex="-1" 2826 data-id="55262506877247"> 2827 <span class="btn btn--circle btn--icon hidethis d-none"> 2828 <span class="icon__fallback-text">Add to Cart</span> 2829 </span> Add to cart 2830 </button></div> 2831 </div> 2832</div> 2833<!-- CSS --> 2834<style> 2835.discount-hide { 2836 display: none; 2837} 2838</style> 2839<!-- JS -->
2840<script> 2841 document.addEventListener("DOMContentLoaded", function () { 2842 function updateVariantPriceAndCart(select) { 2843 const selectedOption = select.options[select.selectedIndex]; 2844 const productItem = select.closest(".product-item"); 2845 const priceElement = productItem.querySelector(".current-price"); 2846 const comparePriceElement = productItem.querySelector(".compare-price"); 2847 const discountElement = productItem.querySelector(".discount-percentage"); 2848 const addToCartBtn = productItem.querySelector(".js-quick-add-btn"); 2849 if (!selectedOption || !priceElement || !discountElement) return; 2850 // Prices 2851 const newPrice = parseFloat(selectedOption.dataset.price.replace(/,/g, '')) * 100; 2852 const comparePrice = selectedOption.dataset.comparePrice 2853 ? parseFloat(selectedOption.dataset.comparePrice.replace(/,/g, '')) * 100 2854 : 0; 2855 // Update price 2856 priceElement.textContent = formatMoney(newPrice); 2857 if (comparePrice > newPrice) { 2858 comparePriceElement.textContent = formatMoney(comparePrice); 2859 comparePriceElement.style.display = "inline"; 2860 let rawDiscount = ((comparePrice - newPrice) / comparePrice) * 100; 2861 let discount = Math.round(rawDiscount); 2862 // ð¥ FIX 2863 if (discount < 1) { 2864 discountElement.classList.add("discount-hide"); 2865 } else { 2866 discountElement.textContent = discount + "%"; 2867 discountElement.classList.remove("discount-hide"); 2868 } 2869 } else { 2870 comparePriceElement.style.display = "none"; 2871 discountElement.classList.add("discount-hide"); 2872 } 2873 // Update cart 2874 if (addToCartBtn) { 2875 addToCartBtn.dataset.id = selectedOption.value; 2876 } 2877 } 2878 function formatMoney(cents) { 2879 let amount = (cents / 100).toFixed(2).replace(/\.00$/, ''); 2880 const moneyFormat = "â¹{{amount}}"; 2881 return moneyFormat.replace(/\{\{\s*amount\s*\}\}/g, amount); 2882 } 2883 // Change event 2884 document.body.addEventListener("change", function (event) { 2885 if (event.target.matches(".variant-dropdown")) { 2886 updateVariantPriceAndCart(event.target); 2887 } 2888 }); 2889 }); 2890</script>
2890 2891 2892 2893 2894 2895<!-- *************************Start of dropdown code end*************************** --> 2896 </div> 2897 2898 <div class="grid-item__meta hide d-none"> 2899 <div class="grid-item__meta-secondary"> 2900 <div class="grid-product__price"><span class="grid-product__price--current"><span aria-hidden="true" class="grid-product__price--from">â¹450</sup></span> 2901<span class="visually-hidden">â¹450</span> 2902 2903 2904</span></div></div></div></div> 2905 2906 </div> 2907</div> 2908 2909<div id="QuickShopModal-8353674985791" class="modal modal--square modal--quick-shop" data-product-id="8353674985791"> 2910 <div class="modal__inner"> 2911 <div class="modal__centered"> 2912 <div class="modal__centered-content"> 2913 <div id="QuickShopHolder-x-drive-safed-musli-shilajit-performance-capsules"></div> 2914 </div> 2915 2916 <button type="button" class="btn btn--circle btn--icon modal__close js-modal-close"> 2917 <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-close" viewBox="0 0 64 64"><defs><style>.cls-1{fill:none;stroke:#000;stroke-miterlimit:10;stroke-width:2px}</style></defs><path class="cls-1" d="M19 17.61l27.12 27.13m0-27.13L19 44.74"/></svg> 2918 <span class="icon__fallback-text">"Close (esc)"</span> 2919 </button> 2920 </div> 2921 </div> 2922</div> 2923 2924 2925 2926<div class="swiper-slide grid-item grid-product " id="shudh-shilajit-ashwagandha-energy-capsules" data-product-handle="shudh-shilajit-ashwagandha-energy-capsules" data-product-id="10035495698751"> 2927 2928 <div class="grid-item__content"><div class="grid-product__actions"><button class="btn btn--circle btn--icon quick-product__btn quick-product__btn--not-ready js-modal-open-quick-modal-10035495698751 small--hide" title="Quick shop" tabindex="-1" data-handle="shudh-shilajit-ashwagandha-energy-capsules"> 2929 <img width="24px" height="24px" src="https://cdn.shopify.com/s/files/1/0719/6249/3247/files/icon_focuslt.png" alt="" /> 2930 <span class="icon__fallback-text">Quick shop</span> 2931 </button></div><a href="/products/shudh-shilajit-ashwagandha-energy-capsules" class="grid-item__link ddd"> 2932 <div class="grid-product__image-wrap"> 2933 2934 2935 <div class="grid-product__tags"></div><div 2936 class="grid__image-ratio grid__image-ratio--square"> 2937 2938 2939 2940 2941 2942 <img src="//www.formen.co.in/cdn/shop/files/shudhshilajit_slide1_minfy.webp?v=1765883843" alt="" srcset="//www.formen.co.in/cdn/shop/files/shudhshilajit_slide1_minfy.webp?v=1765883843&width=160 160w, //www.formen.co.in/cdn/shop/files/shudhshilajit_slide1_minfy.webp?v=1765883843&width=200 200w, //www.formen.co.in/cdn/shop/files/shudhshilajit_slide1_minfy.webp?v=1765883843&width=280 280w, //www.formen.co.in/cdn/shop/files/shudhshilajit_slide1_minfy.webp?v=1765883843&width=360 360w, //www.formen.co.in/cdn/shop/files/shudhshilajit_slide1_minfy.webp?v=1765883843&width=540 540w, //www.formen.co.in/cdn/shop/files/shudhshilajit_slide1_minfy.webp?v=1765883843&width=720 720w, //www.formen.co.in/cdn/shop/files/shudhshilajit_slide1_minfy.webp?v=1765883843&width=900 900w" width="1081" height="1080" loading="lazy" class=" grid__image-contain image-style-- 2943" sizes="150px"> 2944 2945 2946 2947 2948</div></div> 2949 <div class="grid-item__meta_new"> 2950 <div class="grid-item__meta-main"><div class="grid-product__title">Shudh Himalayan Shilajit & Ashwagandha â Vitality, Mood & Energy Capsules for Men</div> 2951 2952 2953 2954 2955 2956 <div class="global-rating d-none hide"> 2957 2958 2959 <input type="hidden" class="countstar" value="5"> 2960 <p class="star"></p> 2961 </div></div> 2962 </div> 2963 </a> 2964 <div class="priceaddtocart_wp"> 2965 <div class="newprdtcardprice_sec"> 2966<!-- *************************Start of dropdown code end*************************** --> 2967 2968 2969<div class="product-item"> 2970 <!-- PRICE --> 2971 <div class="product-price"> 2972 <span class="current-price"> 2973 â¹350 2974 </span> 2975 2976
2977 <span class="compare-price" style="display:none"> 2978 â¹350 2979 </span> 2980 2981 <!-- ALWAYS RENDER --> 2982 <span class="discount-percentage SAJ discount-hide"> 2983 0% 2984 </span> 2985 </div> 2986 <!-- VARIANT + CART --> 2987 <div class="productpricefull_wp"> 2988 <div class="productpricefull_lft"> 2989 2990 <select class="variant-dropdown" data-product-id="10035495698751"> 2991 2992 <option 2993 value="55262499635519" 2994 data-price="350.00" 2995 data-compare-price="350.00" 2996 selected> 2997 Pack of 1 (30 Tabs) 2998 </option> 2999 3000 <option 3001 value="55262499668287" 3002 data-price="665.00" 3003 data-compare-price="700.00" 3004 > 3005 Pack of 2 (60 Tabs) 3006 </option> 3007 3008 <option 3009 value="51127146840383" 3010 data-price="897.00" 3011 data-compare-price="1,050.00" 3012 > 3013 Pack of 3 (90 Tabs) 3014 </option> 3015 3016 </select> 3017 3018 </div> 3019 <div class="productpricefull_rght"><button type="button" class="text-link quick-add-btn js-quick-add-btn" 3020 title="Add to Cart" 3021 tabindex="-1" 3022 data-id="55262499635519"> 3023 <span class="btn btn--circle btn--icon hidethis d-none"> 3024 <span class="icon__fallback-text">Add to Cart</span> 3025 </span> Add to cart 3026 </button></div> 3027 </div> 3028</div> 3029<!-- CSS --> 3030<style> 3031.discount-hide { 3032 display: none; 3033} 3034</style> 3035<!-- JS -->
3036<script> 3037 document.addEventListener("DOMContentLoaded", function () { 3038 function updateVariantPriceAndCart(select) { 3039 const selectedOption = select.options[select.selectedIndex]; 3040 const productItem = select.closest(".product-item"); 3041 const priceElement = productItem.querySelector(".current-price"); 3042 const comparePriceElement = productItem.querySelector(".compare-price"); 3043 const discountElement = productItem.querySelector(".discount-percentage"); 3044 const addToCartBtn = productItem.querySelector(".js-quick-add-btn"); 3045 if (!selectedOption || !priceElement || !discountElement) return; 3046 // Prices 3047 const newPrice = parseFloat(selectedOption.dataset.price.replace(/,/g, '')) * 100; 3048 const comparePrice = selectedOption.dataset.comparePrice 3049 ? parseFloat(selectedOption.dataset.comparePrice.replace(/,/g, '')) * 100 3050 : 0; 3051 // Update price 3052 priceElement.textContent = formatMoney(newPrice); 3053 if (comparePrice > newPrice) { 3054 comparePriceElement.textContent = formatMoney(comparePrice); 3055 comparePriceElement.style.display = "inline"; 3056 let rawDiscount = ((comparePrice - newPrice) / comparePrice) * 100; 3057 let discount = Math.round(rawDiscount); 3058 // ð¥ FIX 3059 if (discount < 1) { 3060 discountElement.classList.add("discount-hide"); 3061 } else { 3062 discountElement.textContent = discount + "%"; 3063 discountElement.classList.remove("discount-hide"); 3064 } 3065 } else { 3066 comparePriceElement.style.display = "none"; 3067 discountElement.classList.add("discount-hide"); 3068 } 3069 // Update cart 3070 if (addToCartBtn) { 3071 addToCartBtn.dataset.id = selectedOption.value; 3072 } 3073 } 3074 function formatMoney(cents) { 3075 let amount = (cents / 100).toFixed(2).replace(/\.00$/, ''); 3076 const moneyFormat = "â¹{{amount}}"; 3077 return moneyFormat.replace(/\{\{\s*amount\s*\}\}/g, amount); 3078 } 3079 // Change event 3080 document.body.addEventListener("change", function (event) { 3081 if (event.target.matches(".variant-dropdown")) { 3082 updateVariantPriceAndCart(event.target); 3083 } 3084 }); 3085 }); 3086</script>
3086 3087 3088 3089 3090 3091<!-- *************************Start of dropdown code end*************************** --> 3092 </div> 3093 3094 <div class="grid-item__meta hide d-none"> 3095 <div class="grid-item__meta-secondary"> 3096 <div class="grid-product__price"><span class="grid-product__price--current"><span aria-hidden="true" class="grid-product__price--from">â¹350</sup></span> 3097<span class="visually-hidden">â¹350</span> 3098 3099 3100</span></div></div></div></div> 3101 3102 </div> 3103</div> 3104 3105<div id="QuickShopModal-10035495698751" class="modal modal--square modal--quick-shop" data-product-id="10035495698751"> 3106 <div class="modal__inner"> 3107 <div class="modal__centered"> 3108 <div class="modal__centered-content"> 3109 <div id="QuickShopHolder-shudh-shilajit-ashwagandha-energy-capsules"></div> 3110 </div> 3111 3112 <button type="button" class="btn btn--circle btn--icon modal__close js-modal-close"> 3113 <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-close" viewBox="0 0 64 64"><defs><style>.cls-1{fill:none;stroke:#000;stroke-miterlimit:10;stroke-width:2px}</style></defs><path class="cls-1" d="M19 17.61l27.12 27.13m0-27.13L19 44.74"/></svg> 3114 <span class="icon__fallback-text">"Close (esc)"</span> 3115 </button> 3116 </div> 3117 </div> 3118</div> 3119</div> 3120 </div> 3121 </div> 3122 3123 <div class="cart__footer"> 3124 <div class="cart__item-sub cart__item-row cart__item--subtotal"> 3125 <div>Subtotal</div> 3126 <div data-subtotal>â¹0.00</div> 3127 </div> 3128 3129 <div data-discounts></div> 3130 3131 3132 3133 <div class="cart__item-row cart__checkout-wrapper payment-buttons"> 3134 3135<div class="gokwik-checkout"> 3136 <button id="ufeformen" type='button' class="" onclick="onCheckoutClick(this)"> 3137 <span class="btn-text" > 3138 <span>Place Order</span> 3139 <span></span> 3140 </span> 3141 <span class="pay-opt-icon"> 3142 <img src="https://cdn.gokwik.co/v4/images/upi-icons.svg" alt="Formen Health" /> 3143 <img src="https://cdn.gokwik.co/v4/images/right-arrow.svg" alt="Formen Health" /> 3144 3145 </span> 3146 <div style="display:none"><div class="cir-loader">Loading..</div></div> 3147 </button> 3148</div> 3149
3150<script> 3151document.addEventListener('click', function(e) { 3152 if (e.target.closest('#ufeformen')) { 3153 console.log('Checkout Started'); 3154 if (typeof posthog !== 'undefined') { 3155 posthog.capture('Checkout Started'); 3156 } 3157 } 3158}); 3159</script>
3159 3160 3161 3162 3163 3164<!-- <button type="submit" name="checkout" data-terms-required="false" class="btn cart__checkout"> 3165 Check out 3166 </button> --> 3167 3168 3169 </div> 3170 3171 <div class="cart__item-row--footer text-center"> 3172 <small>Shipping, taxes, and discount codes calculated at checkout.</small> 3173 </div> 3174 </div> 3175</form> 3176 3177<div class="site-header__cart-empty">Your cart is currently empty.</div> 3178</div> 3179 </div> 3180 3181 <div class="site-header__drawer site-header__mobile-nav medium-up--hide" id="MobileNav"> 3182 <div class="site-header__drawer-animate"><div class="slide-nav__wrapper" data-level="1"> 3183 <ul class="slide-nav"><li class="slide-nav__item"><a href="/collections/bestsellers" class="slide-nav__link"><div class="slide-nav__image"> 3184 3185 3186 3187 3188 3189 <img src="//www.formen.co.in/cdn/shop/files/slide1_prolongspray.webp?v=1764753839" alt="Bestsellers" srcset="//www.formen.co.in/cdn/shop/files/slide1_prolongspray.webp?v=1764753839&width=352 352w, //www.formen.co.in/cdn/shop/files/slide1_prolongspray.webp?v=1764753839&width=832 832w, //www.formen.co.in/cdn/shop/files/slide1_prolongspray.webp?v=1764753839&width=1200 1200w, //www.formen.co.in/cdn/shop/files/slide1_prolongspray.webp?v=1764753839&width=1500 1500w" width="1500" height="1500" loading="eager" sizes="40px"> 3190 3191 3192 3193 3194</div> 3195<span>Bestsellers</span> 3196 <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-chevron-right" viewBox="0 0 284.49 498.98"><path d="M35 498.98a35 35 0 0 1-24.75-59.75l189.74-189.74L10.25 59.75a35.002 35.002 0 0 1 49.5-49.5l214.49 214.49a35 35 0 0 1 0 49.5L59.75 488.73A34.89 34.89 0 0 1 35 498.98z"/></svg> 3197 </a></li><li class="slide-nav__item"><button type="button" 3198 class="slide-nav__button js-toggle-submenu" 3199 data-target="tier-2-get-harder2" 3200 > 3201 <span class="slide-nav__link"><div class="slide-nav__image"> 3202 3203 3204 3205 3206 3207 <img src="//www.formen.co.in/cdn/shop/files/manupmax_tabslide_minfy_slide1.webp?v=1774246891" alt="Get Harder" srcset="//www.formen.co.in/cdn/shop/files/manupmax_tabslide_minfy_slide1.webp?v=1774246891&width=352 352w, //www.formen.co.in/cdn/shop/files/manupmax_tabslide_minfy_slide1.webp?v=1774246891&width=832 832w, //www.formen.co.in/cdn/shop/files/manupmax_tabslide_minfy_slide1.webp?v=1774246891&width=1080 1080w" width="1080" height="1080" loading="eager" sizes="40px"> 3208 3209 3210 3211 3212</div> 3213<span>Get Harder</span> 3214 <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-chevron-right" viewBox="0 0 284.49 498.98"><path d="M35 498.98a35 35 0 0 1-24.75-59.75l189.74-189.74L10.25 59.75a35.002 35.002 0 0 1 49.5-49.5l214.49 214.49a35 35 0 0 1 0 49.5L59.75 488.73A34.89 34.89 0 0 1 35 498.98z"/></svg> 3215 <span class="icon__fallback-text">Expand submenu</span> 3216 </span> 3217 </button> 3218 3219 <ul 3220 class="slide-nav__dropdown" 3221 data-parent="tier-2-get-harder2" 3222 data-level="2"> 3223 <li class="slide-nav__item"> 3224 <button type="button" 3225 class="slide-nav__button js-toggle-submenu"> 3226 <span class="slide-nav__link slide-nav__link--back"> 3227 <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-chevron-left" viewBox="0 0 284.49 498.98"><path d="M249.49 0a35 35 0 0 1 24.75 59.75L84.49 249.49l189.75 189.74a35.002 35.002 0 1 1-49.5 49.5L10.25 274.24a35 35 0 0 1 0-49.5L224.74 10.25A34.89 34.89 0 0 1 249.49 0z"/></svg> 3228 <span>Get Harder</span> 3229 </span> 3230 </button> 3231 </li> 3232 3233 3234<li class="slide-nav__item"> 3235 <a href="/collections/perform-better" class="slide-nav__link"> 3236 <span>View all</span> 3237 <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-chevron-right" viewBox="0 0 284.49 498.98"><path d="M35 498.98a35 35 0 0 1-24.75-59.75l189.74-189.74L10.25 59.75a35.002 35.002 0 0 1 49.5-49.5l214.49 214.49a35 35 0 0 1 0 49.5L59.75 488.73A34.89 34.89 0 0 1 35 498.98z"/></svg> 3238 </a> 3239 </li><li class="slide-nav__item"><a href="/products/get-hard-performance-tablets-for-men" class="slide-nav__link">
3240 <span>Man Up Max - Get Hard Tablets</span> 3241 <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-chevron-right" viewBox="0 0 284.49 498.98"><path d="M35 498.98a35 35 0 0 1-24.75-59.75l189.74-189.74L10.25 59.75a35.002 35.002 0 0 1 49.5-49.5l214.49 214.49a35 35 0 0 1 0 49.5L59.75 488.73A34.89 34.89 0 0 1 35 498.98z"/></svg> 3242 </a></li><li class="slide-nav__item"><a href="/products/long-last-get-hard-tablets-for-men" class="slide-nav__link"> 3243 <span>Pleasure Max - Long Last & Get Hard</span> 3244 <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-chevron-right" viewBox="0 0 284.49 498.98"><path d="M35 498.98a35 35 0 0 1-24.75-59.75l189.74-189.74L10.25 59.75a35.002 35.002 0 0 1 49.5-49.5l214.49 214.49a35 35 0 0 1 0 49.5L59.75 488.73A34.89 34.89 0 0 1 35 498.98z"/></svg> 3245 </a></li><li class="slide-nav__item"><a href="/products/ignite-ayurvedic-performance-oil" class="slide-nav__link"> 3246 <span>Ignite Ayurvedic Performance Oil</span> 3247 <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-chevron-right" viewBox="0 0 284.49 498.98"><path d="M35 498.98a35 35 0 0 1-24.75-59.75l189.74-189.74L10.25 59.75a35.002 35.002 0 0 1 49.5-49.5l214.49 214.49a35 35 0 0 1 0 49.5L59.75 488.73A34.89 34.89 0 0 1 35 498.98z"/></svg> 3248 </a></li><li class="slide-nav__item"><a href="/products/x-drive-safed-musli-shilajit-performance-capsules" class="slide-nav__link"> 3249 <span>X-Drive Performance Capsules</span> 3250 <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-chevron-right" viewBox="0 0 284.49 498.98"><path d="M35 498.98a35 35 0 0 1-24.75-59.75l189.74-189.74L10.25 59.75a35.002 35.002 0 0 1 49.5-49.5l214.49 214.49a35 35 0 0 1 0 49.5L59.75 488.73A34.89 34.89 0 0 1 35 498.98z"/></svg> 3251 </a></li><li class="slide-nav__item"><a href="/products/advanced-performance-kit" class="slide-nav__link"> 3252 <span>Advanced Performance Kit</span> 3253 <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-chevron-right" viewBox="0 0 284.49 498.98"><path d="M35 498.98a35 35 0 0 1-24.75-59.75l189.74-189.74L10.25 59.75a35.002 35.002 0 0 1 49.5-49.5l214.49 214.49a35 35 0 0 1 0 49.5L59.75 488.73A34.89 34.89 0 0 1 35 498.98z"/></svg> 3254 </a></li><li class="slide-nav__item"><a href="/products/manhood-booster-kit" class="slide-nav__link"> 3255 <span>Get Harder Kit</span> 3256 <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-chevron-right" viewBox="0 0 284.49 498.98"><path d="M35 498.98a35 35 0 0 1-24.75-59.75l189.74-189.74L10.25 59.75a35.002 35.002 0 0 1 49.5-49.5l214.49 214.49a35 35 0 0 1 0 49.5L59.75 488.73A34.89 34.89 0 0 1 35 498.98z"/></svg> 3257 </a></li><li class="slide-nav__item"><a href="/products/best-performance-kit" class="slide-nav__link"> 3258 <span>Complete Performance Kit</span> 3259 <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-chevron-right" viewBox="0 0 284.49 498.98"><path d="M35 498.98a35 35 0 0 1-24.75-59.75l189.74-189.74L10.25 59.75a35.002 35.002 0 0 1 49.5-49.5l214.49 214.49a35 35 0 0 1 0 49.5L59.75 488.73A34.89 34.89 0 0 1 35 498.98z"/></svg> 3260 </a></li><li class="slide-nav__item"><a href="/products/performance-booster-kit" class="slide-nav__link"> 3261 <span>Performance Booster Kit</span> 3262 <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-chevron-right" viewBox="0 0 284.49 498.98"><path d="M35 498.98a35 35 0 0 1-24.75-59.75l189.74-189.74L10.25 59.75a35.002 35.002 0 0 1 49.5-49.5l214.49 214.49a35 35 0 0 1 0 49.5L59.75 488.73A34.89 34.89 0 0 1 35 498.98z"/></svg> 3263 </a></li></ul></li><li class="slide-nav__item"><button type="button" 3264 class="slide-nav__button js-toggle-submenu" 3265 data-target="tier-2-last-longer3" 3266 >
3267 <span class="slide-nav__link"><div class="slide-nav__image"> 3268 3269 3270 3271 3272 3273 <img src="//www.formen.co.in/cdn/shop/files/NDS_slide1.webp?v=1787052517" alt="Last Longer" srcset="//www.formen.co.in/cdn/shop/files/NDS_slide1.webp?v=1787052517&width=352 352w, //www.formen.co.in/cdn/shop/files/NDS_slide1.webp?v=1787052517&width=832 832w, //www.formen.co.in/cdn/shop/files/NDS_slide1.webp?v=1787052517&width=1200 1200w, //www.formen.co.in/cdn/shop/files/NDS_slide1.webp?v=1787052517&width=1500 1500w" width="1500" height="1500" loading="eager" sizes="40px"> 3274 3275 3276 3277 3278</div> 3279<span>Last Longer</span> 3280 <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-chevron-right" viewBox="0 0 284.49 498.98"><path d="M35 498.98a35 35 0 0 1-24.75-59.75l189.74-189.74L10.25 59.75a35.002 35.002 0 0 1 49.5-49.5l214.49 214.49a35 35 0 0 1 0 49.5L59.75 488.73A34.89 34.89 0 0 1 35 498.98z"/></svg> 3281 <span class="icon__fallback-text">Expand submenu</span> 3282 </span> 3283 </button> 3284 3285 <ul 3286 class="slide-nav__dropdown" 3287 data-parent="tier-2-last-longer3" 3288 data-level="2"> 3289 <li class="slide-nav__item"> 3290 <button type="button" 3291 class="slide-nav__button js-toggle-submenu"> 3292 <span class="slide-nav__link slide-nav__link--back"> 3293 <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-chevron-left" viewBox="0 0 284.49 498.98"><path d="M249.49 0a35 35 0 0 1 24.75 59.75L84.49 249.49l189.75 189.74a35.002 35.002 0 1 1-49.5 49.5L10.25 274.24a35 35 0 0 1 0-49.5L224.74 10.25A34.89 34.89 0 0 1 249.49 0z"/></svg> 3294 <span>Last Longer</span> 3295 </span> 3296 </button> 3297 </li> 3298 3299 3300<li class="slide-nav__item"> 3301 <a href="/collections/prolong-pleasure" class="slide-nav__link"> 3302 <span>View all</span> 3303 <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-chevron-right" viewBox="0 0 284.49 498.98"><path d="M35 498.98a35 35 0 0 1-24.75-59.75l189.74-189.74L10.25 59.75a35.002 35.002 0 0 1 49.5-49.5l214.49 214.49a35 35 0 0 1 0 49.5L59.75 488.73A34.89 34.89 0 0 1 35 498.98z"/></svg> 3304 </a> 3305 </li><li class="slide-nav__item"><a href="/products/long-last-timing-control-tablets-for-men" class="slide-nav__link"> 3306 <span>Delay Max - Long Last Tablets</span> 3307 <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-chevron-right" viewBox="0 0 284.49 498.98"><path d="M35 498.98a35 35 0 0 1-24.75-59.75l189.74-189.74L10.25 59.75a35.002 35.002 0 0 1 49.5-49.5l214.49 214.49a35 35 0 0 1 0 49.5L59.75 488.73A34.89 34.89 0 0 1 35 498.98z"/></svg> 3308 </a></li><li class="slide-nav__item"><a href="/products/prolong-delay-spray-for-men" class="slide-nav__link"> 3309 <span>Prolong Delay Spray (30ml)</span> 3310 <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-chevron-right" viewBox="0 0 284.49 498.98"><path d="M35 498.98a35 35 0 0 1-24.75-59.75l189.74-189.74L10.25 59.75a35.002 35.002 0 0 1 49.5-49.5l214.49 214.49a35 35 0 0 1 0 49.5L59.75 488.73A34.89 34.89 0 0 1 35 498.98z"/></svg> 3311 </a></li><li class="slide-nav__item"><a href="/products/pocket-delay-spray" class="slide-nav__link"> 3312 <span>Pocket Delay Spray (8ml)</span> 3313 <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-chevron-right" viewBox="0 0 284.49 498.98"><path d="M35 498.98a35 35 0 0 1-24.75-59.75l189.74-189.74L10.25 59.75a35.002 35.002 0 0 1 49.5-49.5l214.49 214.49a35 35 0 0 1 0 49.5L59.75 488.73A34.89 34.89 0 0 1 35 498.98z"/></svg> 3314 </a></li><li class="slide-nav__item"><a href="/products/natural-delay-spray" class="slide-nav__link"> 3315 <span>Prolong Natural Delay Spray</span> 3316 <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-chevron-right" viewBox="0 0 284.49 498.98"><path d="M35 498.98a35 35 0 0 1-24.75-59.75l189.74-189.74L10.25 59.75a35.002 35.002 0 0 1 49.5-49.5l214.49 214.49a35 35 0 0 1 0 49.5L59.75 488.73A34.89 34.89 0 0 1 35 498.98z"/></svg> 3317 </a></li><li class="slide-nav__item"><a href="/products/joymax-last-long-condom" class="slide-nav__link">
3318 <span>Last Long Condoms</span> 3319 <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-chevron-right" viewBox="0 0 284.49 498.98"><path d="M35 498.98a35 35 0 0 1-24.75-59.75l189.74-189.74L10.25 59.75a35.002 35.002 0 0 1 49.5-49.5l214.49 214.49a35 35 0 0 1 0 49.5L59.75 488.73A34.89 34.89 0 0 1 35 498.98z"/></svg> 3320 </a></li><li class="slide-nav__item"><a href="/products/joymax-last-long-ultra-thin-condom" class="slide-nav__link"> 3321 <span>Ultra Thin Condoms</span> 3322 <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-chevron-right" viewBox="0 0 284.49 498.98"><path d="M35 498.98a35 35 0 0 1-24.75-59.75l189.74-189.74L10.25 59.75a35.002 35.002 0 0 1 49.5-49.5l214.49 214.49a35 35 0 0 1 0 49.5L59.75 488.73A34.89 34.89 0 0 1 35 498.98z"/></svg> 3323 </a></li><li class="slide-nav__item"><a href="/products/pocket-rocket" class="slide-nav__link"> 3324 <span>Pocket Rocket</span> 3325 <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-chevron-right" viewBox="0 0 284.49 498.98"><path d="M35 498.98a35 35 0 0 1-24.75-59.75l189.74-189.74L10.25 59.75a35.002 35.002 0 0 1 49.5-49.5l214.49 214.49a35 35 0 0 1 0 49.5L59.75 488.73A34.89 34.89 0 0 1 35 498.98z"/></svg> 3326 </a></li><li class="slide-nav__item"><a href="/products/one-time-pack" class="slide-nav__link"> 3327 <span>OTP - One Time Pack</span> 3328 <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-chevron-right" viewBox="0 0 284.49 498.98"><path d="M35 498.98a35 35 0 0 1-24.75-59.75l189.74-189.74L10.25 59.75a35.002 35.002 0 0 1 49.5-49.5l214.49 214.49a35 35 0 0 1 0 49.5L59.75 488.73A34.89 34.89 0 0 1 35 498.98z"/></svg> 3329 </a></li><li class="slide-nav__item"><a href="/products/advanced-long-last-kit" class="slide-nav__link"> 3330 <span>Advanced Long Last Kit</span> 3331 <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-chevron-right" viewBox="0 0 284.49 498.98"><path d="M35 498.98a35 35 0 0 1-24.75-59.75l189.74-189.74L10.25 59.75a35.002 35.002 0 0 1 49.5-49.5l214.49 214.49a35 35 0 0 1 0 49.5L59.75 488.73A34.89 34.89 0 0 1 35 498.98z"/></svg> 3332 </a></li><li class="slide-nav__item"><a href="/products/ultimate-endurance-kit" class="slide-nav__link"> 3333 <span>Last Longer Kit</span> 3334 <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-chevron-right" viewBox="0 0 284.49 498.98"><path d="M35 498.98a35 35 0 0 1-24.75-59.75l189.74-189.74L10.25 59.75a35.002 35.002 0 0 1 49.5-49.5l214.49 214.49a35 35 0 0 1 0 49.5L59.75 488.73A34.89 34.89 0 0 1 35 498.98z"/></svg> 3335 </a></li></ul></li><li class="slide-nav__item"><button type="button" 3336 class="slide-nav__button js-toggle-submenu" 3337 data-target="tier-2-condoms-lubes4" 3338 > 3339 <span class="slide-nav__link"><div class="slide-nav__image"> 3340 3341 3342 3343 3344 3345 <img src="//www.formen.co.in/cdn/shop/files/lastlongdelaycondom_slide1_minfy.webp?v=1765969600" alt="Condoms & Lubes" srcset="//www.formen.co.in/cdn/shop/files/lastlongdelaycondom_slide1_minfy.webp?v=1765969600&width=352 352w, //www.formen.co.in/cdn/shop/files/lastlongdelaycondom_slide1_minfy.webp?v=1765969600&width=832 832w, //www.formen.co.in/cdn/shop/files/lastlongdelaycondom_slide1_minfy.webp?v=1765969600&width=1081 1081w" width="1081" height="1080" loading="eager" sizes="40px"> 3346 3347 3348 3349 3350</div> 3351<span>Condoms & Lubes</span> 3352 <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-chevron-right" viewBox="0 0 284.49 498.98"><path d="M35 498.98a35 35 0 0 1-24.75-59.75l189.74-189.74L10.25 59.75a35.002 35.002 0 0 1 49.5-49.5l214.49 214.49a35 35 0 0 1 0 49.5L59.75 488.73A34.89 34.89 0 0 1 35 498.98z"/></svg> 3353 <span class="icon__fallback-text">Expand submenu</span> 3354 </span> 3355 </button> 3356 3357 <ul 3358 class="slide-nav__dropdown" 3359 data-parent="tier-2-condoms-lubes4" 3360 data-level="2"> 3361 <li class="slide-nav__item"> 3362 <button type="button" 3363 class="slide-nav__button js-toggle-submenu">
3364 <span class="slide-nav__link slide-nav__link--back"> 3365 <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-chevron-left" viewBox="0 0 284.49 498.98"><path d="M249.49 0a35 35 0 0 1 24.75 59.75L84.49 249.49l189.75 189.74a35.002 35.002 0 1 1-49.5 49.5L10.25 274.24a35 35 0 0 1 0-49.5L224.74 10.25A34.89 34.89 0 0 1 249.49 0z"/></svg> 3366 <span>Condoms & Lubes</span> 3367 </span> 3368 </button> 3369 </li> 3370 3371 3372<li class="slide-nav__item"> 3373 <a href="/collections/maximise-joy" class="slide-nav__link"> 3374 <span>View all</span> 3375 <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-chevron-right" viewBox="0 0 284.49 498.98"><path d="M35 498.98a35 35 0 0 1-24.75-59.75l189.74-189.74L10.25 59.75a35.002 35.002 0 0 1 49.5-49.5l214.49 214.49a35 35 0 0 1 0 49.5L59.75 488.73A34.89 34.89 0 0 1 35 498.98z"/></svg> 3376 </a> 3377 </li><li class="slide-nav__item"><a href="/products/joymax-last-long-condom" class="slide-nav__link"> 3378 <span>Last Long Condoms</span> 3379 <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-chevron-right" viewBox="0 0 284.49 498.98"><path d="M35 498.98a35 35 0 0 1-24.75-59.75l189.74-189.74L10.25 59.75a35.002 35.002 0 0 1 49.5-49.5l214.49 214.49a35 35 0 0 1 0 49.5L59.75 488.73A34.89 34.89 0 0 1 35 498.98z"/></svg> 3380 </a></li><li class="slide-nav__item"><a href="/products/joymax-last-long-ultra-thin-condom" class="slide-nav__link"> 3381 <span>Ultra Thin Condoms</span> 3382 <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-chevron-right" viewBox="0 0 284.49 498.98"><path d="M35 498.98a35 35 0 0 1-24.75-59.75l189.74-189.74L10.25 59.75a35.002 35.002 0 0 1 49.5-49.5l214.49 214.49a35 35 0 0 1 0 49.5L59.75 488.73A34.89 34.89 0 0 1 35 498.98z"/></svg> 3383 </a></li><li class="slide-nav__item"><a href="/products/joymax-chocolate-condom" class="slide-nav__link"> 3384 <span>Chocolate Condoms</span> 3385 <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-chevron-right" viewBox="0 0 284.49 498.98"><path d="M35 498.98a35 35 0 0 1-24.75-59.75l189.74-189.74L10.25 59.75a35.002 35.002 0 0 1 49.5-49.5l214.49 214.49a35 35 0 0 1 0 49.5L59.75 488.73A34.89 34.89 0 0 1 35 498.98z"/></svg> 3386 </a></li><li class="slide-nav__item"><a href="/products/joymax-strawberry-condom" class="slide-nav__link"> 3387 <span>Strawberry Condoms</span> 3388 <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-chevron-right" viewBox="0 0 284.49 498.98"><path d="M35 498.98a35 35 0 0 1-24.75-59.75l189.74-189.74L10.25 59.75a35.002 35.002 0 0 1 49.5-49.5l214.49 214.49a35 35 0 0 1 0 49.5L59.75 488.73A34.89 34.89 0 0 1 35 498.98z"/></svg> 3389 </a></li><li class="slide-nav__item"><a href="/products/intimate-essentials-joymax-intimate-lube-gel-strawberry-flavor" class="slide-nav__link"> 3390 <span>JoyMax Intimate Lube (60ml)</span> 3391 <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-chevron-right" viewBox="0 0 284.49 498.98"><path d="M35 498.98a35 35 0 0 1-24.75-59.75l189.74-189.74L10.25 59.75a35.002 35.002 0 0 1 49.5-49.5l214.49 214.49a35 35 0 0 1 0 49.5L59.75 488.73A34.89 34.89 0 0 1 35 498.98z"/></svg> 3392 </a></li><li class="slide-nav__item"><a href="/products/joymax-chocolate-natural-intimate-lube-60ml" class="slide-nav__link"> 3393 <span>JoyMax Chocolate Lube (60ml)</span> 3394 <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-chevron-right" viewBox="0 0 284.49 498.98"><path d="M35 498.98a35 35 0 0 1-24.75-59.75l189.74-189.74L10.25 59.75a35.002 35.002 0 0 1 49.5-49.5l214.49 214.49a35 35 0 0 1 0 49.5L59.75 488.73A34.89 34.89 0 0 1 35 498.98z"/></svg> 3395 </a></li><li class="slide-nav__item"><a href="/products/joymax-strawberry-natural-intimate-lube-60ml" class="slide-nav__link">
3396 <span>JoyMax Strawberry Lube (60ml)</span> 3397 <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-chevron-right" viewBox="0 0 284.49 498.98"><path d="M35 498.98a35 35 0 0 1-24.75-59.75l189.74-189.74L10.25 59.75a35.002 35.002 0 0 1 49.5-49.5l214.49 214.49a35 35 0 0 1 0 49.5L59.75 488.73A34.89 34.89 0 0 1 35 498.98z"/></svg> 3398 </a></li><li class="slide-nav__item"><a href="/products/pocket-intimate-water-based-aloe-vera-lube-20ml" class="slide-nav__link"> 3399 <span>Pocket Natural Lube (20ml)</span> 3400 <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-chevron-right" viewBox="0 0 284.49 498.98"><path d="M35 498.98a35 35 0 0 1-24.75-59.75l189.74-189.74L10.25 59.75a35.002 35.002 0 0 1 49.5-49.5l214.49 214.49a35 35 0 0 1 0 49.5L59.75 488.73A34.89 34.89 0 0 1 35 498.98z"/></svg> 3401 </a></li></ul></li><li class="slide-nav__item"><button type="button" 3402 class="slide-nav__button js-toggle-submenu" 3403 data-target="tier-2-intimate-care5" 3404 > 3405 <span class="slide-nav__link"><div class="slide-nav__image"> 3406 3407 3408 3409 3410 3411 <img src="//www.formen.co.in/cdn/shop/files/intimatewash_slide1.webp?v=1766722162" alt="Intimate Care" srcset="//www.formen.co.in/cdn/shop/files/intimatewash_slide1.webp?v=1766722162&width=352 352w, //www.formen.co.in/cdn/shop/files/intimatewash_slide1.webp?v=1766722162&width=832 832w, //www.formen.co.in/cdn/shop/files/intimatewash_slide1.webp?v=1766722162&width=1080 1080w" width="1080" height="1080" loading="eager" sizes="40px"> 3412 3413 3414 3415 3416</div> 3417<span>Intimate Care</span> 3418 <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-chevron-right" viewBox="0 0 284.49 498.98"><path d="M35 498.98a35 35 0 0 1-24.75-59.75l189.74-189.74L10.25 59.75a35.002 35.002 0 0 1 49.5-49.5l214.49 214.49a35 35 0 0 1 0 49.5L59.75 488.73A34.89 34.89 0 0 1 35 498.98z"/></svg> 3419 <span class="icon__fallback-text">Expand submenu</span> 3420 </span> 3421 </button> 3422 3423 <ul 3424 class="slide-nav__dropdown" 3425 data-parent="tier-2-intimate-care5" 3426 data-level="2"> 3427 <li class="slide-nav__item"> 3428 <button type="button" 3429 class="slide-nav__button js-toggle-submenu"> 3430 <span class="slide-nav__link slide-nav__link--back"> 3431 <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-chevron-left" viewBox="0 0 284.49 498.98"><path d="M249.49 0a35 35 0 0 1 24.75 59.75L84.49 249.49l189.75 189.74a35.002 35.002 0 1 1-49.5 49.5L10.25 274.24a35 35 0 0 1 0-49.5L224.74 10.25A34.89 34.89 0 0 1 249.49 0z"/></svg> 3432 <span>Intimate Care</span> 3433 </span> 3434 </button> 3435 </li> 3436 3437 3438<li class="slide-nav__item"> 3439 <a href="/collections/intimate-care" class="slide-nav__link"> 3440 <span>View all</span> 3441 <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-chevron-right" viewBox="0 0 284.49 498.98"><path d="M35 498.98a35 35 0 0 1-24.75-59.75l189.74-189.74L10.25 59.75a35.002 35.002 0 0 1 49.5-49.5l214.49 214.49a35 35 0 0 1 0 49.5L59.75 488.73A34.89 34.89 0 0 1 35 498.98z"/></svg> 3442 </a> 3443 </li><li class="slide-nav__item"><a href="/products/foam-based-intimate-wash" class="slide-nav__link"> 3444 <span>Foam Based Intimate Wash</span> 3445 <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-chevron-right" viewBox="0 0 284.49 498.98"><path d="M35 498.98a35 35 0 0 1-24.75-59.75l189.74-189.74L10.25 59.75a35.002 35.002 0 0 1 49.5-49.5l214.49 214.49a35 35 0 0 1 0 49.5L59.75 488.73A34.89 34.89 0 0 1 35 498.98z"/></svg> 3446 </a></li><li class="slide-nav__item"><a href="/products/hair-removal-spray" class="slide-nav__link"> 3447 <span>Hair Removal Spray</span> 3448 <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-chevron-right" viewBox="0 0 284.49 498.98"><path d="M35 498.98a35 35 0 0 1-24.75-59.75l189.74-189.74L10.25 59.75a35.002 35.002 0 0 1 49.5-49.5l214.49 214.49a35 35 0 0 1 0 49.5L59.75 488.73A34.89 34.89 0 0 1 35 498.98z"/></svg> 3449 </a></li></ul></li><li class="slide-nav__item"><button type="button" 3450 class="slide-nav__button js-toggle-submenu" 3451 data-target="tier-2-hair-beard6" 3452 >
3453 <span class="slide-nav__link"><div class="slide-nav__image"> 3454 3455 3456 3457 3458 3459 <img src="//www.formen.co.in/cdn/shop/files/hairremovalspray_slide1.webp?v=1782992636" alt="Hair & Beard" srcset="//www.formen.co.in/cdn/shop/files/hairremovalspray_slide1.webp?v=1782992636&width=352 352w, //www.formen.co.in/cdn/shop/files/hairremovalspray_slide1.webp?v=1782992636&width=832 832w, //www.formen.co.in/cdn/shop/files/hairremovalspray_slide1.webp?v=1782992636&width=1200 1200w, //www.formen.co.in/cdn/shop/files/hairremovalspray_slide1.webp?v=1782992636&width=1500 1500w" width="1500" height="1500" loading="eager" sizes="40px"> 3460 3461 3462 3463 3464</div> 3465<span>Hair & Beard</span> 3466 <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-chevron-right" viewBox="0 0 284.49 498.98"><path d="M35 498.98a35 35 0 0 1-24.75-59.75l189.74-189.74L10.25 59.75a35.002 35.002 0 0 1 49.5-49.5l214.49 214.49a35 35 0 0 1 0 49.5L59.75 488.73A34.89 34.89 0 0 1 35 498.98z"/></svg> 3467 <span class="icon__fallback-text">Expand submenu</span> 3468 </span> 3469 </button> 3470 3471 <ul 3472 class="slide-nav__dropdown" 3473 data-parent="tier-2-hair-beard6" 3474 data-level="2"> 3475 <li class="slide-nav__item"> 3476 <button type="button" 3477 class="slide-nav__button js-toggle-submenu"> 3478 <span class="slide-nav__link slide-nav__link--back"> 3479 <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-chevron-left" viewBox="0 0 284.49 498.98"><path d="M249.49 0a35 35 0 0 1 24.75 59.75L84.49 249.49l189.75 189.74a35.002 35.002 0 1 1-49.5 49.5L10.25 274.24a35 35 0 0 1 0-49.5L224.74 10.25A34.89 34.89 0 0 1 249.49 0z"/></svg> 3480 <span>Hair & Beard</span> 3481 </span> 3482 </button> 3483 </li> 3484 3485 3486<li class="slide-nav__item"> 3487 <a href="/collections/look-great" class="slide-nav__link"> 3488 <span>View all</span> 3489 <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-chevron-right" viewBox="0 0 284.49 498.98"><path d="M35 498.98a35 35 0 0 1-24.75-59.75l189.74-189.74L10.25 59.75a35.002 35.002 0 0 1 49.5-49.5l214.49 214.49a35 35 0 0 1 0 49.5L59.75 488.73A34.89 34.89 0 0 1 35 498.98z"/></svg> 3490 </a> 3491 </li><li class="slide-nav__item"><a href="/products/hair-growth-solution" class="slide-nav__link"> 3492 <span>Minoxidil 5% Solution (60ml)</span> 3493 <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-chevron-right" viewBox="0 0 284.49 498.98"><path d="M35 498.98a35 35 0 0 1-24.75-59.75l189.74-189.74L10.25 59.75a35.002 35.002 0 0 1 49.5-49.5l214.49 214.49a35 35 0 0 1 0 49.5L59.75 488.73A34.89 34.89 0 0 1 35 498.98z"/></svg> 3494 </a></li><li class="slide-nav__item"><a href="/products/beard-growth-tonic-with-5-minoxidil-2-burgeon-up" class="slide-nav__link"> 3495 <span>Beard Growth Tonic</span> 3496 <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-chevron-right" viewBox="0 0 284.49 498.98"><path d="M35 498.98a35 35 0 0 1-24.75-59.75l189.74-189.74L10.25 59.75a35.002 35.002 0 0 1 49.5-49.5l214.49 214.49a35 35 0 0 1 0 49.5L59.75 488.73A34.89 34.89 0 0 1 35 498.98z"/></svg> 3497 </a></li><li class="slide-nav__item"><a href="/products/hair-growth-super-kit-minoxidil-derma-roller" class="slide-nav__link"> 3498 <span>Hair Growth Super Kit</span> 3499 <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-chevron-right" viewBox="0 0 284.49 498.98"><path d="M35 498.98a35 35 0 0 1-24.75-59.75l189.74-189.74L10.25 59.75a35.002 35.002 0 0 1 49.5-49.5l214.49 214.49a35 35 0 0 1 0 49.5L59.75 488.73A34.89 34.89 0 0 1 35 498.98z"/></svg> 3500 </a></li><li class="slide-nav__item"><a href="/products/beard-growth-super-kit-minoxidil-derma-roller" class="slide-nav__link">
3501 <span>Beard Growth Super Kit</span> 3502 <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-chevron-right" viewBox="0 0 284.49 498.98"><path d="M35 498.98a35 35 0 0 1-24.75-59.75l189.74-189.74L10.25 59.75a35.002 35.002 0 0 1 49.5-49.5l214.49 214.49a35 35 0 0 1 0 49.5L59.75 488.73A34.89 34.89 0 0 1 35 498.98z"/></svg> 3503 </a></li><li class="slide-nav__item"><a href="/products/derma-roller-titanium-1mm" class="slide-nav__link"> 3504 <span>Derma Roller 1mm</span> 3505 <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-chevron-right" viewBox="0 0 284.49 498.98"><path d="M35 498.98a35 35 0 0 1-24.75-59.75l189.74-189.74L10.25 59.75a35.002 35.002 0 0 1 49.5-49.5l214.49 214.49a35 35 0 0 1 0 49.5L59.75 488.73A34.89 34.89 0 0 1 35 498.98z"/></svg> 3506 </a></li><li class="slide-nav__item"><a href="/products/derma-roller-titanium-0-5mm" class="slide-nav__link"> 3507 <span>Derma Roller 0.5mm</span> 3508 <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-chevron-right" viewBox="0 0 284.49 498.98"><path d="M35 498.98a35 35 0 0 1-24.75-59.75l189.74-189.74L10.25 59.75a35.002 35.002 0 0 1 49.5-49.5l214.49 214.49a35 35 0 0 1 0 49.5L59.75 488.73A34.89 34.89 0 0 1 35 498.98z"/></svg> 3509 </a></li><li class="slide-nav__item"><a href="/products/derma-roller-titanium-1mm-with-sanitizer" class="slide-nav__link"> 3510 <span>Derma Roller 1mm with Sanitizer</span> 3511 <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-chevron-right" viewBox="0 0 284.49 498.98"><path d="M35 498.98a35 35 0 0 1-24.75-59.75l189.74-189.74L10.25 59.75a35.002 35.002 0 0 1 49.5-49.5l214.49 214.49a35 35 0 0 1 0 49.5L59.75 488.73A34.89 34.89 0 0 1 35 498.98z"/></svg> 3512 </a></li><li class="slide-nav__item"><a href="/products/derma-roller-0-5mm-with-sanitizer" class="slide-nav__link"> 3513 <span>Derma Roller 0.5mm with Sanitizer</span> 3514 <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-chevron-right" viewBox="0 0 284.49 498.98"><path d="M35 498.98a35 35 0 0 1-24.75-59.75l189.74-189.74L10.25 59.75a35.002 35.002 0 0 1 49.5-49.5l214.49 214.49a35 35 0 0 1 0 49.5L59.75 488.73A34.89 34.89 0 0 1 35 498.98z"/></svg> 3515 </a></li><li class="slide-nav__item"><a href="/products/beard-comb" class="slide-nav__link"> 3516 <span>Beard Comb</span> 3517 <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-chevron-right" viewBox="0 0 284.49 498.98"><path d="M35 498.98a35 35 0 0 1-24.75-59.75l189.74-189.74L10.25 59.75a35.002 35.002 0 0 1 49.5-49.5l214.49 214.49a35 35 0 0 1 0 49.5L59.75 488.73A34.89 34.89 0 0 1 35 498.98z"/></svg> 3518 </a></li></ul></li><li class="slide-nav__item"><button type="button" 3519 class="slide-nav__button js-toggle-submenu" 3520 data-target="tier-2-supplements7" 3521 > 3522 <span class="slide-nav__link"><div class="slide-nav__image"> 3523 3524 3525 3526 3527 3528 <img src="//www.formen.co.in/cdn/shop/files/shudhshilajit_slide1_minfy.webp?v=1765883843" alt="Supplements" srcset="//www.formen.co.in/cdn/shop/files/shudhshilajit_slide1_minfy.webp?v=1765883843&width=352 352w, //www.formen.co.in/cdn/shop/files/shudhshilajit_slide1_minfy.webp?v=1765883843&width=832 832w, //www.formen.co.in/cdn/shop/files/shudhshilajit_slide1_minfy.webp?v=1765883843&width=1081 1081w" width="1081" height="1080" loading="eager" sizes="40px"> 3529 3530 3531 3532 3533</div> 3534<span>Supplements</span> 3535 <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-chevron-right" viewBox="0 0 284.49 498.98"><path d="M35 498.98a35 35 0 0 1-24.75-59.75l189.74-189.74L10.25 59.75a35.002 35.002 0 0 1 49.5-49.5l214.49 214.49a35 35 0 0 1 0 49.5L59.75 488.73A34.89 34.89 0 0 1 35 498.98z"/></svg> 3536 <span class="icon__fallback-text">
3536Expand submenu</span> 3537 </span> 3538 </button> 3539 3540 <ul 3541 class="slide-nav__dropdown" 3542 data-parent="tier-2-supplements7" 3543 data-level="2"> 3544 <li class="slide-nav__item"> 3545 <button type="button" 3546 class="slide-nav__button js-toggle-submenu"> 3547 <span class="slide-nav__link slide-nav__link--back"> 3548 <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-chevron-left" viewBox="0 0 284.49 498.98"><path d="M249.49 0a35 35 0 0 1 24.75 59.75L84.49 249.49l189.75 189.74a35.002 35.002 0 1 1-49.5 49.5L10.25 274.24a35 35 0 0 1 0-49.5L224.74 10.25A34.89 34.89 0 0 1 249.49 0z"/></svg> 3549 <span>Supplements</span> 3550 </span> 3551 </button> 3552 </li> 3553 3554 3555<li class="slide-nav__item"> 3556 <a href="/collections/boost-vitality" class="slide-nav__link"> 3557 <span>View all</span> 3558 <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-chevron-right" viewBox="0 0 284.49 498.98"><path d="M35 498.98a35 35 0 0 1-24.75-59.75l189.74-189.74L10.25 59.75a35.002 35.002 0 0 1 49.5-49.5l214.49 214.49a35 35 0 0 1 0 49.5L59.75 488.73A34.89 34.89 0 0 1 35 498.98z"/></svg> 3559 </a> 3560 </li><li class="slide-nav__item"><a href="/products/shudh-shilajit-ashwagandha-energy-capsules" class="slide-nav__link"> 3561 <span>Shudh Shilajit & Ashwagandha</span> 3562 <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-chevron-right" viewBox="0 0 284.49 498.98"><path d="M35 498.98a35 35 0 0 1-24.75-59.75l189.74-189.74L10.25 59.75a35.002 35.002 0 0 1 49.5-49.5l214.49 214.49a35 35 0 0 1 0 49.5L59.75 488.73A34.89 34.89 0 0 1 35 498.98z"/></svg> 3563 </a></li><li class="slide-nav__item"><a href="/products/testo-power-tablets-for-men" class="slide-nav__link"> 3564 <span>Testo Power</span> 3565 <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-chevron-right" viewBox="0 0 284.49 498.98"><path d="M35 498.98a35 35 0 0 1-24.75-59.75l189.74-189.74L10.25 59.75a35.002 35.002 0 0 1 49.5-49.5l214.49 214.49a35 35 0 0 1 0 49.5L59.75 488.73A34.89 34.89 0 0 1 35 498.98z"/></svg> 3566 </a></li><li class="slide-nav__item"><a href="/products/x-drive-safed-musli-shilajit-performance-capsules" class="slide-nav__link"> 3567 <span>X-Drive Performance Capsules</span> 3568 <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-chevron-right" viewBox="0 0 284.49 498.98"><path d="M35 498.98a35 35 0 0 1-24.75-59.75l189.74-189.74L10.25 59.75a35.002 35.002 0 0 1 49.5-49.5l214.49 214.49a35 35 0 0 1 0 49.5L59.75 488.73A34.89 34.89 0 0 1 35 498.98z"/></svg> 3569 </a></li><li class="slide-nav__item"><a href="/products/fertiq-male-fertility-supplement" class="slide-nav__link"> 3570 <span>FertiQ Fertility Support</span> 3571 <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-chevron-right" viewBox="0 0 284.49 498.98"><path d="M35 498.98a35 35 0 0 1-24.75-59.75l189.74-189.74L10.25 59.75a35.002 35.002 0 0 1 49.5-49.5l214.49 214.49a35 35 0 0 1 0 49.5L59.75 488.73A34.89 34.89 0 0 1 35 498.98z"/></svg> 3572 </a></li><li class="slide-nav__item"><a href="/products/marine-collagen-for-men" class="slide-nav__link"> 3573 <span>Marine Collagen for Men</span> 3574 <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-chevron-right" viewBox="0 0 284.49 498.98"><path d="M35 498.98a35 35 0 0 1-24.75-59.75l189.74-189.74L10.25 59.75a35.002 35.002 0 0 1 49.5-49.5l214.49 214.49a35 35 0 0 1 0 49.5L59.75 488.73A34.89 34.89 0 0 1 35 498.98z"/></svg> 3575 </a></li><li class="slide-nav__item"><a href="/products/probiotic-pop-mints" class="slide-nav__link"> 3576 <span>Probiotic POP Mints</span> 3577 <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-chevron-right" viewBox="0 0 284.49 498.98"><path d="M35 498.98a35 35 0 0 1-24.75-59.75l189.74-189.74L10.25 59.75a35.002 35.002 0 0 1 49.5-49.5l214.49 214.49a35 35 0 0 1 0 49.5L59.75 488.73A34.89 34.89 0 0 1 35 498.98z"/></svg> 3578 </a></li><li class="slide-nav__item">
3578<a href="/products/comprehensive-allround-kit" class="slide-nav__link"> 3579 <span>All-Round Vitality Kit</span> 3580 <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-chevron-right" viewBox="0 0 284.49 498.98"><path d="M35 498.98a35 35 0 0 1-24.75-59.75l189.74-189.74L10.25 59.75a35.002 35.002 0 0 1 49.5-49.5l214.49 214.49a35 35 0 0 1 0 49.5L59.75 488.73A34.89 34.89 0 0 1 35 498.98z"/></svg> 3581 </a></li><li class="slide-nav__item"><a href="/products/testoboost-vitality-boost-kit" class="slide-nav__link"> 3582 <span>Testoboost & Vitality Boost Kit</span> 3583 <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-chevron-right" viewBox="0 0 284.49 498.98"><path d="M35 498.98a35 35 0 0 1-24.75-59.75l189.74-189.74L10.25 59.75a35.002 35.002 0 0 1 49.5-49.5l214.49 214.49a35 35 0 0 1 0 49.5L59.75 488.73A34.89 34.89 0 0 1 35 498.98z"/></svg> 3584 </a></li></ul></li><li class="slide-nav__item"><button type="button" 3585 class="slide-nav__button js-toggle-submenu" 3586 data-target="tier-2-combos8" 3587 > 3588 <span class="slide-nav__link"><div class="slide-nav__image"> 3589 3590 3591 3592 3593 3594 <img src="//www.formen.co.in/cdn/shop/files/OTP_slide1_minfy.webp?v=1765882089" alt="All Combos" srcset="//www.formen.co.in/cdn/shop/files/OTP_slide1_minfy.webp?v=1765882089&width=352 352w, //www.formen.co.in/cdn/shop/files/OTP_slide1_minfy.webp?v=1765882089&width=832 832w, //www.formen.co.in/cdn/shop/files/OTP_slide1_minfy.webp?v=1765882089&width=1080 1080w" width="1080" height="1080" loading="eager" sizes="40px"> 3595 3596 3597 3598 3599</div> 3600<span>Combos</span> 3601 <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-chevron-right" viewBox="0 0 284.49 498.98"><path d="M35 498.98a35 35 0 0 1-24.75-59.75l189.74-189.74L10.25 59.75a35.002 35.002 0 0 1 49.5-49.5l214.49 214.49a35 35 0 0 1 0 49.5L59.75 488.73A34.89 34.89 0 0 1 35 498.98z"/></svg> 3602 <span class="icon__fallback-text">Expand submenu</span> 3603 </span> 3604 </button> 3605 3606 <ul 3607 class="slide-nav__dropdown" 3608 data-parent="tier-2-combos8" 3609 data-level="2"> 3610 <li class="slide-nav__item"> 3611 <button type="button" 3612 class="slide-nav__button js-toggle-submenu"> 3613 <span class="slide-nav__link slide-nav__link--back"> 3614 <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-chevron-left" viewBox="0 0 284.49 498.98"><path d="M249.49 0a35 35 0 0 1 24.75 59.75L84.49 249.49l189.75 189.74a35.002 35.002 0 1 1-49.5 49.5L10.25 274.24a35 35 0 0 1 0-49.5L224.74 10.25A34.89 34.89 0 0 1 249.49 0z"/></svg> 3615 <span>Combos</span> 3616 </span> 3617 </button> 3618 </li> 3619 3620 3621<li class="slide-nav__item"> 3622 <a href="/collections/all-combos" class="slide-nav__link"> 3623 <span>View all</span> 3624 <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-chevron-right" viewBox="0 0 284.49 498.98"><path d="M35 498.98a35 35 0 0 1-24.75-59.75l189.74-189.74L10.25 59.75a35.002 35.002 0 0 1 49.5-49.5l214.49 214.49a35 35 0 0 1 0 49.5L59.75 488.73A34.89 34.89 0 0 1 35 498.98z"/></svg> 3625 </a> 3626 </li><li class="slide-nav__item"><a href="/products/lasting-passion-duo" class="slide-nav__link"> 3627 <span>Lasting Power Duo</span> 3628 <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-chevron-right" viewBox="0 0 284.49 498.98"><path d="M35 498.98a35 35 0 0 1-24.75-59.75l189.74-189.74L10.25 59.75a35.002 35.002 0 0 1 49.5-49.5l214.49 214.49a35 35 0 0 1 0 49.5L59.75 488.73A34.89 34.89 0 0 1 35 498.98z"/></svg> 3629 </a></li><li class="slide-nav__item"><a href="/products/extra-time-combo-delay-spray-ultra-thin-condoms" class="slide-nav__link"> 3630 <span>Extra Time Combo</span> 3631 <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-chevron-right" viewBox="0 0 284.49 498.98"><path d="M35 498.98a35 35 0 0 1-24.75-59.75l189.74-189.74L10.25 59.75a35.002 35.002 0 0 1 49.5-49.5l214.49 214.49a35 35 0 0 1 0 49.5L59.75 488.73A34.89 34.89 0 0 1 35 498.98z"/></svg> 3632 </a></li><li class="slide-nav__item"><a href="/products/max-control-combo-delay-spray-last-long-condoms" class="slide-nav__link">
3633 <span>Max Control Combo</span> 3634 <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-chevron-right" viewBox="0 0 284.49 498.98"><path d="M35 498.98a35 35 0 0 1-24.75-59.75l189.74-189.74L10.25 59.75a35.002 35.002 0 0 1 49.5-49.5l214.49 214.49a35 35 0 0 1 0 49.5L59.75 488.73A34.89 34.89 0 0 1 35 498.98z"/></svg> 3635 </a></li><li class="slide-nav__item"><a href="/products/real-feel-duo-intimate-lube-ultra-thin-condoms" class="slide-nav__link"> 3636 <span>Real Feel Duo</span> 3637 <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-chevron-right" viewBox="0 0 284.49 498.98"><path d="M35 498.98a35 35 0 0 1-24.75-59.75l189.74-189.74L10.25 59.75a35.002 35.002 0 0 1 49.5-49.5l214.49 214.49a35 35 0 0 1 0 49.5L59.75 488.73A34.89 34.89 0 0 1 35 498.98z"/></svg> 3638 </a></li><li class="slide-nav__item"><a href="/products/long-play-duo-intimate-lube-last-long-condoms" class="slide-nav__link"> 3639 <span>Long Play Duo</span> 3640 <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-chevron-right" viewBox="0 0 284.49 498.98"><path d="M35 498.98a35 35 0 0 1-24.75-59.75l189.74-189.74L10.25 59.75a35.002 35.002 0 0 1 49.5-49.5l214.49 214.49a35 35 0 0 1 0 49.5L59.75 488.73A34.89 34.89 0 0 1 35 498.98z"/></svg> 3641 </a></li><li class="slide-nav__item"><a href="/products/pleasure-pair-chocolate-condoms-strawberry-condoms" class="slide-nav__link"> 3642 <span>Flavour Pair - Chocolate & Strawberry</span> 3643 <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-chevron-right" viewBox="0 0 284.49 498.98"><path d="M35 498.98a35 35 0 0 1-24.75-59.75l189.74-189.74L10.25 59.75a35.002 35.002 0 0 1 49.5-49.5l214.49 214.49a35 35 0 0 1 0 49.5L59.75 488.73A34.89 34.89 0 0 1 35 498.98z"/></svg> 3644 </a></li><li class="slide-nav__item"><a href="/products/prolong-ignite-combo" class="slide-nav__link"> 3645 <span>Prolong & Ignite Combo</span> 3646 <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-chevron-right" viewBox="0 0 284.49 498.98"><path d="M35 498.98a35 35 0 0 1-24.75-59.75l189.74-189.74L10.25 59.75a35.002 35.002 0 0 1 49.5-49.5l214.49 214.49a35 35 0 0 1 0 49.5L59.75 488.73A34.89 34.89 0 0 1 35 498.98z"/></svg> 3647 </a></li><li class="slide-nav__item"><a href="/products/prolong-joymax-lube-combo" class="slide-nav__link"> 3648 <span>Prolong & JoyMax Lube Combo</span> 3649 <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-chevron-right" viewBox="0 0 284.49 498.98"><path d="M35 498.98a35 35 0 0 1-24.75-59.75l189.74-189.74L10.25 59.75a35.002 35.002 0 0 1 49.5-49.5l214.49 214.49a35 35 0 0 1 0 49.5L59.75 488.73A34.89 34.89 0 0 1 35 498.98z"/></svg> 3650 </a></li><li class="slide-nav__item"><a href="/products/peak-pleasure-duo" class="slide-nav__link"> 3651 <span>Pleasure Max & Ignite Oil Combo</span> 3652 <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-chevron-right" viewBox="0 0 284.49 498.98"><path d="M35 498.98a35 35 0 0 1-24.75-59.75l189.74-189.74L10.25 59.75a35.002 35.002 0 0 1 49.5-49.5l214.49 214.49a35 35 0 0 1 0 49.5L59.75 488.73A34.89 34.89 0 0 1 35 498.98z"/></svg> 3653 </a></li><li class="slide-nav__item"><a href="/products/pleasure-max-joymax-lube-combo" class="slide-nav__link"> 3654 <span>Pleasure Max & JoyMax Lube Combo</span> 3655 <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-chevron-right" viewBox="0 0 284.49 498.98"><path d="M35 498.98a35 35 0 0 1-24.75-59.75l189.74-189.74L10.25 59.75a35.002 35.002 0 0 1 49.5-49.5l214.49 214.49a35 35 0 0 1 0 49.5L59.75 488.73A34.89 34.89 0 0 1 35 498.98z"/></svg> 3656 </a></li><li class="slide-nav__item"><a href="/products/honeymoon-kit" class="slide-nav__link">
3657 <span>Couples Essentials Kit</span> 3658 <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-chevron-right" viewBox="0 0 284.49 498.98"><path d="M35 498.98a35 35 0 0 1-24.75-59.75l189.74-189.74L10.25 59.75a35.002 35.002 0 0 1 49.5-49.5l214.49 214.49a35 35 0 0 1 0 49.5L59.75 488.73A34.89 34.89 0 0 1 35 498.98z"/></svg> 3659 </a></li><li class="slide-nav__item"><a href="/products/couple-starter-kit" class="slide-nav__link"> 3660 <span>Couple Starter Kit</span> 3661 <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-chevron-right" viewBox="0 0 284.49 498.98"><path d="M35 498.98a35 35 0 0 1-24.75-59.75l189.74-189.74L10.25 59.75a35.002 35.002 0 0 1 49.5-49.5l214.49 214.49a35 35 0 0 1 0 49.5L59.75 488.73A34.89 34.89 0 0 1 35 498.98z"/></svg> 3662 </a></li></ul></li></ul> 3663</div> 3664<div id="MobileNavFooter"></div></div> 3665 </div> 3666 </div> 3667 </div><div id="SearchResultsWrapper" class="site-header__search-results hide"><div id="PredictiveWrapper" class="hide" 3668 data-image-size="square" 3669 data-predictive-image-fill="true" 3670 > 3671 <div class="page-width"> 3672 <div id="PredictiveResults" class="predictive-result__layout"></div> 3673 <div class="text-center predictive-results__footer hide@"> 3674 <button type="button" class="btn btn--small" data-predictive-search-button> 3675 <span class="srw-viewall">View All Results 3676 <svg width="15" height="15" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M5 12h14M13 6l6 6-6 6"/></svg> 3677 </span> 3678 </button> 3679 </div> 3680 </div> 3681 </div></div></header> 3682 </div> 3683</div> 3684
3685<script> 3686 /* Plix-style typewriter placeholder on the header search bars (phase 2, Aug 2026) */ 3687 (function () { 3688 var inputs = [].slice.call(document.querySelectorAll('.header-item--search .site-header__search-input, .header-item--live-search .site-header__search-input, .site-header__element--sub[data-type="search"] .site-header__search-input')); 3689 if (!inputs.length) return; 3690 var terms = ['Minoxidil', 'Delay Spray', 'Condoms', 'Shilajit', 'Hair Growth Kit', 'Intimate Lube', 'Testo Power']; 3691 var t = 0, c = 0, deleting = false; 3692 inputs.forEach(function (i) { 3693 i.addEventListener('focus', function () { i.placeholder = 'Search products'; }); 3694 }); 3695 function anyFocused() { 3696 return inputs.indexOf(document.activeElement) !== -1; 3697 } 3698 function tick() { 3699 if (!anyFocused() && document.visibilityState !== 'hidden') { 3700 var word = terms[t]; 3701 c = deleting ? c - 1 : c + 1; 3702 var ph = 'Search â' + word.slice(0, c) + 'â'; 3703 inputs.forEach(function (i) { if (!i.value) { i.placeholder = ph; } }); 3704 if (!deleting && c === word.length) { deleting = true; return setTimeout(tick, 1500); } 3705 if (deleting && c === 0) { deleting = false; t = (t + 1) % terms.length; } 3706 } 3707 setTimeout(tick, deleting ? 40 : 95); 3708 } 3709 tick(); 3710 })(); 3711</script>
3711 3712
3713<script> 3714 /* Anchor the predictive-results card to the search pill so it opens out of 3715 the bar itself (desktop only; CSS reads --srw-top / --srw-w) */ 3716 (function () { 3717 var header = document.getElementById('SiteHeader'); 3718 var pill = header && header.querySelector('.header-item--search'); 3719 if (!header || !pill) return; 3720 var timer; 3721 function place() { 3722 if (window.innerWidth < 750) { 3723 header.style.removeProperty('--srw-top'); 3724 header.style.removeProperty('--srw-w'); 3725 return; 3726 } 3727 var hr = header.getBoundingClientRect(); 3728 var pr = pill.getBoundingClientRect(); 3729 if (!pr.width) return; 3730 header.style.setProperty('--srw-top', Math.round(pr.bottom - hr.top) + 'px'); 3731 header.style.setProperty('--srw-w', Math.round(pr.width) + 'px'); 3732 } 3733 window.addEventListener('resize', function () { clearTimeout(timer); timer = setTimeout(place, 120); }); 3734 if (document.readyState === 'loading') { document.addEventListener('DOMContentLoaded', place); } else { place(); } 3735 window.addEventListener('load', place); 3736 })(); 3737</script>
3737 3738 3739 3740</div> 3741<!-- END sections: header-group --><!-- BEGIN sections: popup-group --> 3742 3743<!-- END sections: popup-group --><!-- Kwikpass script to add kwikpass button in the header - [Starts] -->
3744<script> 3745 window.merchantInfo = { 3746 ...window.merchantInfo, 3747 mid: "19g6iley2390p", 3748 environment: "production", 3749 integrationType: 'PLUGIN', 3750 type: "merchantInfo", 3751 } 3752 3753 function getCustomerId() { 3754 3755 return null 3756 3757 } 3758 function getThemeId() { 3759 3760 return 188050243903; 3761 3762 } 3763 3764 // This script will change for every merchant 3765 3766 const kpLoader = `<svg 3767 class="loadergk kploader" 3768 width="17" 3769 height="16" 3770 viewBox="0 0 17 16" 3771 fill="none" 3772 xmlns="http://www.w3.org/2000/svg" 3773 > 3774 <path 3775 d="M8.50004 1.33325V3.99992M8.50004 11.9999V14.6666M4.50004 7.99992H1.83337M15.1667 7.99992H12.5M13.219 12.7189L11.3334 10.8333M13.219 3.33321L11.3334 5.21883M3.78109 12.7189L5.66671 10.8333M3.78109 3.33321L5.66671 5.21883" 3776 stroke="#111" 3777 stroke-width="1.6" 3778 stroke-linecap="round" 3779 stroke-linejoin="round" 3780 /> 3781 </svg>` 3782 3783 /*removing existing profile(person) icon - person icon is not present in this store*/ 3784 const profileButtonElement = document.querySelector('.site-nav__icons a[href*="/account"]') 3785 3786 // defining css and add it to style tag in head 3787 function appendCss() { 3788 let css = ` 3789 .loadergk { 3790 display: none; 3791 animation: rotate 1.5s linear infinite; 3792 } 3793 @keyframes rotate { 3794 100% { 3795 transform: rotate(360deg); 3796 } 3797 } 3798 .kp-disabled-text-color{ 3799 cursor: not-allowed; 3800 } 3801 #logout-button-desktop{ 3802 cursor: pointer; 3803 display: flex; 3804 justify-content: flex-start; 3805 align-items: center; 3806 gap: 8px; 3807 font-family: 'manroperegular', sans-serif; 3808 font-size: 14px; 3809 color: #021330; 3810 font-style: normal; 3811 font-weight: 600; 3812 line-height: 20px; 3813 width: 100%; 3814 border-radius: 0; 3815 padding: 12px 14px; 3816 border: none; 3817 background: transparent; 3818 box-shadow: none; 3819 } 3820 #logout-button-desktop:hover{ background:#F4F5F7; } 3821 #logout-button-desktop svg{ order:-1; } 3822 #loggedin-icons{ 3823 align-self: center; 3824 display: none; 3825 } 3826 #kwikpass-drawer-desktop{ 3827 padding: 0px; 3828 display: none; 3829 right: 0%; 3830 width: 13rem; 3831 position: absolute; 3832 top: 150%; 3833 box-shadow: 0px 0px 32px 0px rgba(16, 24, 40, 0.32); 3834 border-bottom-left-radius: 8px; 3835 border-bottom-right-radius: 8px; 3836 z-index: 999; 3837 background:#fff!important; 3838 } 3839 #kwikpass-drawer-desktop > ul{ 3840 margin: 0; 3841 padding: 0; 3842 width: 100%; 3843 } 3844 3845 #kwikpass-drawer-desktop > ul > a{ padding: 12px 14px !important; border-bottom: 1px solid #E6EAF5; } 3846 #kwikpass-drawer-desktop > ul > a > p{ font-weight: 600; color: #021330; } 3847 3848 #kwikpass-drawer-desktop >ul >a{ 3849 cursor: pointer; 3850 width: 100%; 3851 display: flex!important; 3852 justify-content: space-between; 3853 align-items: center; 3854 padding: 0; 3855 color: inherit; 3856 margin-left:0!important; 3857 text-decoration: none; 3858 } 3859 #kwikpass-drawer-desktop >ul >a:hover , #kwikpass-drawer-desktop >ul >a:focus { 3860 text-decoration: none; 3861 } 3862 #kwikpass-drawer-desktop >ul >a:focus,#kwikpass-drawer-desktop >ul >a:active { 3863 text-decoration: none; 3864 } 3865 #kwikpass-drawer-desktop >ul >a:focus .loadergk { 3866 display: block; 3867 } 3868 #kwikpass-drawer-desktop >ul >a:not(:focus) .loadergk { 3869 display: none; 3870 } 3871 #kwikpass-drawer-desktop > ul > a > p { 3872 font-family: 'manroperegular', sans-serif; 3873 font-size: 14px; 3874 font-style: normal; 3875 font-weight: 600; 3876 line-height: 142.857%; 3877 display: inline-flex; 3878 gap: 8px; 3879 align-items: center; 3880 margin: 0px 0 0px 0; 3881 color: #000; 3882 } 3883 .header--icon{ 3884 cursor: pointer; 3885 position: relative; 3886 display: inline-flex; 3887 color: #000; 3888 } 3889 path#svgkp-path { 3890 stroke-width: 0.6; 3891 } 3892 #icon-close-kwikpass{ 3893 display: none; 3894 border-radius: 50px; 3895 border: 1px solid; 3896 margin: 0; 3897 padding: 2px; 3898 align-items: center; 3899 justify-content: center; 3900 margin-left:3px; 3901 } 3902 svg#svgkp path#kpthndr{ 3903 stroke:none!important; 3904 } 3905 @media(max-width:600px){ 3906 svg#svgkp { 3907 width: 22px; 3908 height: 22px; 3909 } 3910 path#svgkp-path { 3911 stroke-width: 0.3; 3912 } 3913 #icon-close-kwikpass{ 3914 width: 19px!important; 3915 height: 19px!important; 3916 } 3917 } 3918 #track-order-icon{ 3919 display: inline-flex; 3920 align-items: center; 3921 justify-content: center; 3922 color: #021330; 3923 padding: 0 12px; 3924 margin-right: 0; 3925 cursor: pointer; 3926 } 3927 #track-order-icon svg{ 3928 width: 27px; 3929 height: 27px; 3930 display: block; 3931 } 3932 #track-order-icon:hover{ opacity: .7; } 3933 @media(max-width:600px){ 3934 #track-order-icon svg{ width: 22px; height: 22px; } 3935 #track-order-icon{ padding: 0 8px; } 3936 } 3937 3938 `; 3939 3940 var style = document.createElement('style'); 3941 style.innerHTML = css; 3942 document.getElementsByTagName('head')[0].appendChild(style); 3943 } 3944 3945 // function call to append css to style tag 3946 appendCss() 3947 // existing user icon to show in the header 3948 // TODO : fetch user icon form backend
3949 const userIcon = `<svg width="25" height="25" viewBox="0 0 27 27" fill="none" xmlns="http://www.w3.org/2000/svg" id="svgkp"> 3950 <path id="kpthndr" d="M22.9129 12.935L13.7571 23.0474C13.5348 23.2929 13.1284 23.1084 13.1669 22.7794L14.0816 14.9731H10.6991C10.4034 14.9731 10.2484 14.6219 10.4478 14.4035L20.3133 3.59739C20.5589 3.32834 20.9984 3.58134 20.8891 3.92887L18.2354 12.3664H22.6607C22.9557 12.3664 23.1109 12.7163 22.9129 12.935Z" fill="#FEA203"/> 3951 <path id="svgkp-path" fill-rule="evenodd" clip-rule="evenodd" d="M16.6079 5.35819C16.4805 5.1933 16.3421 5.03582 16.1932 4.8869C15.2702 3.96387 14.0183 3.44531 12.7129 3.44531C11.4075 3.44531 10.1556 3.96387 9.2326 4.8869C8.30957 5.80993 7.79102 7.06183 7.79102 8.36719C7.79102 9.67255 8.30957 10.9244 9.2326 11.8475C9.48368 12.0986 9.75909 12.3197 10.0533 12.5086L11.0235 11.4503C10.7335 11.2914 10.4649 11.0911 10.227 10.8531C9.56766 10.1938 9.19727 9.29959 9.19727 8.36719C9.19727 7.43479 9.56766 6.54057 10.227 5.88127C10.8863 5.22196 11.7805 4.85156 12.7129 4.85156C13.6453 4.85156 14.5395 5.22196 15.1988 5.88127C15.3636 6.04604 15.5103 6.22549 15.6377 6.41654L16.6079 5.35819ZM20.6413 18.6497L19.6746 19.7132C20.1676 20.4122 20.4473 21.2264 20.4473 22.0781V23.8359C20.4473 24.2243 20.7621 24.5391 21.1504 24.5391C21.5387 24.5391 21.8535 24.2243 21.8535 23.8359V22.0781C21.8535 20.7863 21.4016 19.6103 20.6413 18.6497ZM12.3111 17.5078H10.3026C7.27113 17.5078 4.97852 19.6394 4.97852 22.0781V23.8359C4.97852 24.2243 4.66372 24.5391 4.27539 24.5391C3.88707 24.5391 3.57227 24.2243 3.57227 23.8359V22.0781C3.57227 18.6922 6.67684 16.1016 10.3026 16.1016H12.4885L12.3111 17.5078Z" fill="currentColor" stroke="currentColor"/> 3952 </svg>`; 3953 3954 // kwikpass icon for desktop - if user is not logged in 3955 const KwikpassNotLoggedIcon = `<div id="kp-login-button-header-logo" style="cursor: pointer;display: flex;align-items: center;">${userIcon}</div>` 3956 3957 // dropdown for desktop (opens on clicking kwikpass icon if user logged in) 3958 const drawerhtmlDesktop = `<div id="kwikpass-drawer-desktop"> 3959 <ul> 3960 <a href="javascript:void(0);" onclick="event.preventDefault();handleShopifyLogin(event,'/account')" tabindex="0" style=" display: flex"> 3961 <p> 3962 <svg 3963 width="16" 3964 height="16"
3965 viewBox="0 0 20 20" 3966 fill="none" 3967 xmlns="http://www.w3.org/2000/svg" 3968 > 3969 <path 3970 d="M4.6 2.20033L3.3 3.93366C3.04251 4.27697 2.91377 4.44863 2.91676 4.59232C2.91936 4.71736 2.97799 4.83462 3.07646 4.91172C3.18962 5.00032 3.40419 5.00032 3.83333 5.00032H16.1667C16.5958 5.00032 16.8104 5.00032 16.9235 4.91172C17.022 4.83462 17.0806 4.71736 17.0832 4.59232C17.0862 4.44863 16.9575 4.27697 16.7 3.93366L15.4 2.20033M4.6 2.20033C4.74667 2.00477 4.82 1.90699 4.91294 1.83647C4.99525 1.77401 5.08846 1.72741 5.18782 1.69903C5.3 1.66699 5.42222 1.66699 5.66667 1.66699H14.3333C14.5778 1.66699 14.7 1.66699 14.8122 1.69903C14.9115 1.72741 15.0047 1.77401 15.0871 1.83647C15.18 1.90699 15.2533 2.00477 15.4 2.20033M4.6 2.20033L3.03333 4.28921C2.83545 4.55306 2.73651 4.68498 2.66625 4.83026C2.6039 4.95917 2.55843 5.09559 2.53096 5.23612C2.5 5.3945 2.5 5.55941 2.5 5.88921L2.5 15.667C2.5 16.6004 2.5 17.0671 2.68166 17.4236C2.84144 17.7372 3.09641 17.9922 3.41002 18.152C3.76654 18.3337 4.23325 18.3337 5.16667 18.3337L14.8333 18.3337C15.7668 18.3337 16.2335 18.3337 16.59 18.152C16.9036 17.9922 17.1586 17.7372 17.3183 17.4236C17.5 17.0671 17.5 16.6004 17.5 15.667V5.88921C17.5 5.55941 17.5 5.3945 17.469 5.23613C17.4416 5.09559 17.3961 4.95918 17.3338 4.83026C17.2635 4.68498 17.1646 4.55306 16.9667 4.28921L15.4 2.20033M13.3333 8.33366C13.3333 9.21771 12.9821 10.0656 12.357 10.6907C11.7319 11.3158
397010.8841 11.667 10 11.667C9.11594 11.667 8.2681 11.3158 7.64298 10.6907C7.01786 10.0656 6.66667 9.21771 6.66667 8.33366" 3971 stroke="currentColor" 3972 stroke-width="1.66667" 3973 stroke-linecap="round" 3974 stroke-linejoin="round" 3975 fill="none" 3976 /> 3977 </svg> 3978 My Orders 3979 </p> 3980 3981 ${kpLoader} 3982 </a> 3983 </ul> 3984 <button id="logout-button-desktop"> 3985 Logout 3986 <svg 3987 width="16" 3988 height="16" 3989 viewBox="0 0 20 20" 3990 fill="none" 3991 xmlns="http://www.w3.org/2000/svg" 3992 > 3993 <path 3994 d="M15 6.66667L18.3334 10M18.3334 10L15 13.3333M18.3334 10H7.50002M12.5 3.50337C11.4377 2.86523 10.2044 2.5 8.88891 2.5C4.90019 2.5 1.66669 5.85786 1.66669 10C1.66669 14.1421 4.90019 17.5 8.88891 17.5C10.2044 17.5 11.4377 17.1348 12.5 16.4966" 3995 stroke="currentColor" 3996 stroke-width="1.66667" 3997 stroke-linecap="round" 3998 stroke-linejoin="round" 3999 fill="none" 4000 /> 4001 </svg> 4002 </button> 4003 </div>`; 4004 4005 const kwikpassLoggedInIcon = ` 4006 <div id="loggedin-icons" > 4007 <div id="icon-close-kwikpass" class="icon-close-kwikpass" style="height: 22px; width:22px; cursor: pointer;" onclick="handleDrawer1()"> 4008 <svg width="18" height="18" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"> 4009 <path d="M18 6L6 18M6 6L18 18" stroke="currentColor" stroke-width="1.66667" stroke-linecap="round" stroke-linejoin="round"/> 4010 </svg> 4011 </div> 4012 <div style="cursor: pointer;display: flex;" onclick="handleDrawer1()" id="icon-kwikpass"> 4013 ${userIcon} 4014 </div> 4015 </div>`; 4016 4017 4018 // It will change based on theme 4019 const personIconElement = document.querySelector('.site-nav__icons a[href*="/account"]')?.parentElement 4020 const trackOrderIcon = `<a href="https://formen-health.shiprocket.co/" target="_blank" rel="noopener" aria-label="Track your order" id="track-order-icon"> 4021 <svg width="25" height="25" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.6" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"> 4022 <path d="M1 3.5h11.5v11H1zM12.5 7.5h4l3.5 3.5v3.5h-7.5z"/> 4023 <circle cx="5" cy="17.5" r="2"/> 4024 <circle cx="17" cy="17.5" r="2"/> 4025 </svg> 4026 </a>`; 4027 4028 const html = ` 4029 ${trackOrderIcon} 4030 ${KwikpassNotLoggedIcon} 4031 ${kwikpassLoggedInIcon} 4032 ${drawerhtmlDesktop} 4033 `; 4034 4035 if(!document.getElementsByClassName("header--icon")?.[0]){ 4036 const kwipassDesktopNode = document.createElement('div') 4037 kwipassDesktopNode.className="header--icon" 4038 kwipassDesktopNode.innerHTML = html 4039 personIconElement.replaceChild(kwipassDesktopNode,profileButtonElement) 4040 } 4041</script>
4041 4042<!-- Kwikpass script to add kwikpass button in the header - [Ends] --> 4043 4044 4045 4046 4047 <main class="main-content" id="MainContent"> 4048 4049 4050 <div id="shopify-section-template--27253385232703__main" class="shopify-section"><div class="search-content" data-section-id="template--27253385232703__main" data-section-type="collection-template" data-collection-template="true"> 4051 <div class="page-width page-content"> 4052 4053 4054 <nav class="breadcrumb" role="navigation" aria-label="breadcrumbs"> 4055 <a href="/" title="Back to the frontpage">Home</a> 4056 4057 4058 4059 <span class="breadcrumb__divider" aria-hidden="true">/</span> 4060 <span>Search</span> 4061 4062 4063 </nav> 4064 4065 4066 4067<header class="section-header"> 4068 <h1 class="section-header__title"> 4069 Search 4070 </h1> 4071 <p class="medium-up--hide" data-collection-count> 4072 0 results 4073 </p> 4074 </header> 4075 4076 4077 4078 <form action="/search" method="get" class="input-group search-bar search-bar--page" role="search"> 4079 <input type="hidden" name="type" value="product,article"> 4080 <input type="hidden" name="options[prefix]" value="last"> 4081 <input type="search" name="q" value="" placeholder="Search" class="input-group-field" aria-label="Search"> 4082 <label for="search-submit" class="hidden-label">Search</label> 4083 <div class="input-group-btn"> 4084 <button type="submit" id="search-submit" class="btn btn--large btn--icon"> 4085 <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-search" viewBox="0 0 64 64"><defs><style>.cls-1{fill:none;stroke:#000;stroke-miterlimit:10;stroke-width:2px}</style></defs><path class="cls-1" d="M47.16 28.58A18.58 18.58 0 1 1 28.58 10a18.58 18.58 0 0 1 18.58 18.58zM54 54L41.94 42"/></svg> 4086 <span class="icon__fallback-text">Search</span> 4087 </button> 4088 </div> 4089 </form></div> 4090</div> 4091 4092 4093</div> 4094 </main><!-- BEGIN sections: footer-group --> 4095<div id="shopify-section-sections--27253376975167__footer" class="shopify-section shopify-section-group-footer-group"><link href="//www.formen.co.in/cdn/shop/t/42/assets/revamp-footer.css?v=157511492825333983871787401656" rel="stylesheet" type="text/css" media="all" /> 4096 4097<footer class="site-footer fmft" data-section-id="sections--27253376975167__footer" data-section-type="footer-section"> 4098 <div class="page-width"> 4099 <div class="fmft__grid"> 4100 4101 <div class="footer__block fmft__brand"> 4102 <a href="/" class="fmft__logo"><img src="//www.formen.co.in/cdn/shop/t/42/assets/formen_ftlogo.svg?v=78327059571421734401786969194" alt="ForMen" /></a> 4103 <p class="fmft__blurb">Wellness & personal care for men. Researched, lab-tested, made in India.</p> 4104 <div class="fmft__social"> 4105 <a href="https://www.youtube.com/channel/UC2I9zMrCtPymaXwOPwlkzZg" target="_blank" rel="noopener" aria-label="ForMen on YouTube"> 4106 <svg width="18" height="18" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true"><path d="M23.5 6.2a3 3 0 0 0-2.1-2.1C19.5 3.5 12 3.5 12 3.5s-7.5 0-9.4.6A3 3 0 0 0 .5 6.2 31.3 31.3 0 0 0 0 12a31.3 31.3 0 0 0 .5 5.8 3 3 0 0 0 2.1 2.1c1.9.6 9.4.6 9.4.6s7.5 0 9.4-.6a3 3 0 0 0 2.1-2.1A31.3 31.3 0 0 0 24 12a31.3 31.3 0 0 0-.5-5.8zM9.6 15.6V8.4L15.8 12z"/></svg> 4107 </a> 4108 <a href="https://www.instagram.com/getformen/" target="_blank" rel="noopener" aria-label="ForMen on Instagram"> 4109 <svg width="18" height="18" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true"><path d="M12 2.2c3.2 0 3.6 0 4.9.1 1.2.1 1.8.2 2.2.4.6.2 1 .5 1.4.9.4.4.7.8.9 1.4.2.4.4 1 .4 2.2.1 1.3.1 1.7.1 4.9s0 3.6-.1 4.9c-.1 1.2-.2 1.8-.4 2.2a3.8 3.8 0 0 1-.9 1.4c-.4.4-.8.7-1.4.9-.4.2-1 .4-2.2.4-1.3.1-1.7.1-4.9.1s-3.6 0-4.9-.1c-1.2-.1-1.8-.2-2.2-.4a3.8 3.8 0 0 1-1.4-.9 3.8 3.8 0 0 1-.9-1.4c-.2-.4-.4-1-.4-2.2-.1-1.3-.1-1.7-.1-4.9s0-3.6.1-4.9c.1-1.2.2-1.8.4-2.2.2-.6.5-1 .9-1.4.4-.4.8-.7 1.4-.9.4-.2 1-.4 2.2-.4 1.3-.1 1.7-.1 4.9-.1zm0 2A9.8 9.8 0 1 0 12 22a9.8 9.8 0 0 0 0-19.6zm0 3.7a6.1 6.1 0 1 1 0 12.2 6.1 6.1 0 0 1 0-12.2zm0 2a4.1 4.1 0 1 0 0 8.2 4.1 4.1 0 0 0 0-8.2zm6.4-3.5a1.4 1.4 0 1 1-2.8 0 1.4 1.4 0 0 1 2.8 0z"/></svg> 4110 </a> 4111 </div> 4112 </div> 4113 4114 <div id="FooterMenus"> 4115 <div class="footer__block fmft__col" data-type="menu"> 4116 <div class="footer__title fmft__head">Shop</div> 4117 <ul class="footer__menu fmft__links"><li><a href="/collections/bestsellers">Bestsellers</a></li><li><a href="/collections/perform-better">Get Harder</a></li><li><a href="/collections/prolong-pleasure">Last Longer</a></li><li><a href="/collections/look-great">
4117Hair & Beard</a></li><li><a href="/collections/boost-vitality">Supplements</a></li><li><a href="/collections/all">All Products</a></li></ul> 4118 </div> 4119 4120 <div class="footer__block fmft__col" data-type="menu"> 4121 <div class="footer__title fmft__head">Support</div> 4122 <ul class="footer__menu fmft__links"><li><a href="/pages/about">About Us</a></li><li><a href="/pages/contact">Contact Us</a></li><li><a href="https://formen-health.shiprocket.co/">Track Your Order</a></li><li><a href="/#faq">FAQ</a></li></ul> 4123 </div> 4124 <div class="footer__block fmft__col" data-type="menu"> 4125 <div class="footer__title fmft__head">Get in touch</div> 4126 <ul class="footer__menu fmft__links"> 4127 <li><a href="tel:+918068507429">080-685-07429</a></li> 4128 <li><a href="mailto:[email protected]">[email protected]</a></li> 4129 </ul> 4130 </div> 4131 <div class="footer__block fmft__col" data-type="menu"> 4132 <div class="footer__title fmft__head">Legal</div> 4133 <ul class="footer__menu fmft__links"><li><a href="/pages/privacy-policy"> Privacy policy</a></li><li><a href="/pages/shipping-policy">Shipping Policy</a></li><li><a href="/pages/terms-of-use">Terms of Use</a></li><li><a href="/pages/returns-and-refund-policy">Returns and Refund Policy</a></li></ul> 4134 </div> 4135 </div> 4136 4137 </div> 4138 4139 <div class="fmft__rule"></div> 4140 <p class="fmft__popular"><strong>Popular:</strong> 4141 <a href="/products/long-last-get-hard-tablets-for-men">Pleasure Max Tablets</a> · 4142 <a href="/products/prolong-delay-spray-for-men">Prolong Delay Spray</a> · 4143 <a href="/products/get-hard-performance-tablets-for-men">Man Up Max Tablets</a> · 4144 <a href="/products/long-last-timing-control-tablets-for-men">Long Last Tablets</a> · 4145 <a href="/products/hair-growth-solution">Minoxidil</a> · 4146 <a href="/products/advanced-long-last-kit">Advanced Long Last Kit</a> · 4147 <a href="/products/advanced-performance-kit">Advanced Performance Kit</a> · 4148 <a href="/products/x-drive-safed-musli-shilajit-performance-capsules">X-Drive</a> · 4149 <a href="/products/manhood-booster-kit">Get Harder Kit</a> · 4150 <a href="/products/shudh-shilajit-ashwagandha-energy-capsules">Shilajit and Ashwagandha</a> 4151 </p> 4152 4153 <div class="fmft__rule"></div> 4154 <p class="fmft__entity"><strong>ForMen is owned & operated by Thors Health Private Limited</strong> (formerly My Pura Vida Wellness Private Limited) · CIN: U47912TS2023PTC178036 · Registered office: 5th Floor, Unit 2A/1, Octave Block, Salarpuria Sattva Knowledge City, Hyderabad, Rangareddy, Telangana – 500081, India · [email protected]</p> 4155 <p class="fmft__disc">For adults (18+). Our products are wellness and personal-care products; they are not intended to diagnose, treat, cure, or prevent any disease. Individual results may vary. Please read the label and directions before use.</p> 4156 4157 <div class="fmft__rule"></div> 4158 <div class="fmft__trust"> 4159 <div class="fmft__trust-label">🔒 Safe & Secure Payments · 📦 100% Discreet Packaging</div> 4160 <ul class="fmft__pay"> 4161 <li><img loading="lazy" src="https://cdn.shopify.com/s/files/1/0719/6249/3247/files/gpay.svg?v=1678686308" alt="Google Pay"></li> 4162 <li><img loading="lazy" src="https://cdn.shopify.com/s/files/1/0719/6249/3247/files/UPINew.png?v=1678709852" alt="UPI"></li> 4163 <li><img loading="lazy" src="https://cdn.shopify.com/s/files/1/0719/6249/3247/files/visa.svg?v=1678686289" alt="Visa"></li> 4164 <li><img loading="lazy" src="https://cdn.shopify.com/s/files/1/0719/6249/3247/files/mastr.svg?v=1678686153" alt="Mastercard"></li> 4165 <li><img loading="lazy" src="https://cdn.shopify.com/s/files/1/0719/6249/3247/files/netbanking.svg?v=1678686315" alt="Net Banking"></li> 4166 <li><img loading="lazy" src="https://cdn.shopify.com/s/files/1/0719/6249/3247/files/code.svg?v=1678686322" alt="Cash on Delivery"></li> 4167 </ul> 4168 </div> 4169 </div> 4170 4171 <div class="fmft__ribbon" aria-hidden="true"> 4172 <div class="fmft__ribbon-track">
4173 <span>Lab-Tested ✦ GMP Certified ✦ Discreet Delivery ✦ 100% Genuine Products ✦ </span><span>Lab-Tested ✦ GMP Certified ✦ Discreet Delivery ✦ 100% Genuine Products ✦ </span> 4174 </div> 4175 </div> 4176 4177 <div class="fmft__base"> 4178 <div class="page-width fmft__base-row"> 4179 <span>© 2026 ForMen Shop · All rights reserved</span> 4180 <span>Made with care in Hyderabad, India</span> 4181 </div> 4182 </div> 4183</footer> 4184 4185 4186</div> 4187<!-- END sections: footer-group --></div> 4188 </div><div id="VideoModal" class="modal"> 4189 <div class="modal__inner"> 4190 <div class="modal__centered page-width text-center"> 4191 <div class="modal__centered-content"> 4192 <div class="video-wrapper video-wrapper--modal"> 4193 <div id="VideoHolder"></div> 4194 </div> 4195 </div> 4196 </div> 4197 4198 <button type="button" class="btn btn--circle btn--icon modal__close js-modal-close"> 4199 <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-close" viewBox="0 0 64 64"><defs><style>.cls-1{fill:none;stroke:#000;stroke-miterlimit:10;stroke-width:2px}</style></defs><path class="cls-1" d="M19 17.61l27.12 27.13m0-27.13L19 44.74"/></svg> 4200 <span class="icon__fallback-text">"Close (esc)"</span> 4201 </button> 4202 </div> 4203</div> 4204<div class="pswp" tabindex="-1" role="dialog" aria-hidden="true"> 4205 <div class="pswp__bg"></div> 4206 <div class="pswp__scroll-wrap"> 4207 <div class="pswp__container"> 4208 <div class="pswp__item"></div> 4209 <div class="pswp__item"></div> 4210 <div class="pswp__item"></div> 4211 </div> 4212 4213 <div class="pswp__ui pswp__ui--hidden"> 4214 <button class="btn btn--secondary btn--circle pswp__button pswp__button--arrow--left" title="Previous"> 4215 <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-chevron-left" viewBox="0 0 284.49 498.98"><path d="M249.49 0a35 35 0 0 1 24.75 59.75L84.49 249.49l189.75 189.74a35.002 35.002 0 1 1-49.5 49.5L10.25 274.24a35 35 0 0 1 0-49.5L224.74 10.25A34.89 34.89 0 0 1 249.49 0z"/></svg> 4216 </button> 4217 4218 <button class="btn btn--secondary btn--circle btn--large pswp__button pswp__button--close" title="Close (esc)"> 4219 <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-close" viewBox="0 0 64 64"><defs><style>.cls-1{fill:none;stroke:#000;stroke-miterlimit:10;stroke-width:2px}</style></defs><path class="cls-1" d="M19 17.61l27.12 27.13m0-27.13L19 44.74"/></svg> 4220 </button> 4221 4222 <button class="btn btn--secondary btn--circle pswp__button pswp__button--arrow--right" title="Next"> 4223 <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-chevron-right" viewBox="0 0 284.49 498.98"><path d="M35 498.98a35 35 0 0 1-24.75-59.75l189.74-189.74L10.25 59.75a35.002 35.002 0 0 1 49.5-49.5l214.49 214.49a35 35 0 0 1 0 49.5L59.75 488.73A34.89 34.89 0 0 1 35 498.98z"/></svg> 4224 </button> 4225 </div> 4226 </div> 4227</div> 4228<div id="QuickAddModal" class="test modal modal--square quick-add-modal"> 4229 <div class="modal__inner"> 4230 <div class="modal__centered"> 4231 <div class="modal__centered-content"> 4232 <div id="QuickAddHolder"></div> 4233 </div> 4234 <button type="button" class="btn btn--circle btn--icon modal__close js-modal-close"> 4235 <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-close" viewBox="0 0 64 64"><defs><style>.cls-1{fill:none;stroke:#000;stroke-miterlimit:10;stroke-width:2px}</style></defs><path class="cls-1" d="M19 17.61l27.12 27.13m0-27.13L19 44.74"/></svg> 4236 <span class="icon__fallback-text">"Close (esc)"</span> 4237 </button> 4238 </div> 4239 </div> 4240</div> 4241<tool-tip data-tool-tip=""> 4242 <div class="tool-tip__inner" data-tool-tip-inner> 4243 <button class="tool-tip__close" data-tool-tip-close=""><svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-close" viewBox="0 0 64 64"><defs><style>.cls-1{fill:none;stroke:#000;stroke-miterlimit:10;stroke-width:2px}</style></defs><path class="cls-1" d="M19 17.61l27.12 27.13m0-27.13L19 44.74"/></svg></button> 4244 <div data-tool-tip-title>Search</div> 4245 <div class="tool-tip__content" data-tool-tip-content> 4246 </div> 4247 </div> 4248</tool-tip> 4249<div id="ProductModals"></div> 4250 4251 4252 <template id="naturalImageMarkup"> 4253 <div class="image-wrap" style="height: 0;"> 4254 <img class="grid-product__image" width height src srcset loading="lazy" alt> 4255 </div> 4256 </template> 4257 <template id="fixedRatioImageMarkup"> 4258 <div class="grid__image-ratio"> 4259 <img width height src srcset loading="lazy" alt> 4260 </div> 4261 </template> 4262 <template id="articleImageMarkup"> 4263 <img width height src loading="lazy"> 4264 </template> 4265<!-- subify Snippet Start --> 4266 4267<!-- subify Snippet End --> 4268
4269<script src="//cdn.shopify.com/s/files/1/0194/1736/6592/t/1/assets/booster-page-speed-optimizer.js?23" async defer></script>
4269 4270
4271<script> 4272function trackAddToCart(itemName, itemPrice, currency) { 4273 gtag('event', 'add_to_cart', { 4274 currency: currency, 4275 value: itemPrice, 4276 items: [ 4277 { 4278 item_id: '', 4279 item_name: itemName, 4280 coupon: '', 4281 discount: '', 4282 index: 0, 4283 price: itemPrice, 4284 quantity: 1 4285 } 4286 ] 4287 }); 4288} 4289</script>
4289 4290
4291<script> 4292 document.addEventListener("DOMContentLoaded", function () { 4293 var hash = window.location.hash; 4294 if (hash.startsWith("#tb_15121987")) { 4295 var tab = document.querySelector(hash); 4296 if (tab) { 4297 var classToShow = tab.getAttribute("classtoshow"); 4298 // Remove current from all tabs 4299 document.querySelectorAll(".sale_item").forEach(function (el) { 4300 el.classList.remove("current"); 4301 }); 4302 // Hide all content blocks 4303 document.querySelectorAll(".salepagehide").forEach(function (el) { 4304 el.style.display = "none"; 4305 }); 4306 // Show correct tab content 4307 var content = document.querySelector("." + classToShow); 4308 if (content) { 4309 content.style.display = "block"; 4310 } 4311 // Mark tab as active 4312 tab.classList.add("current"); 4313 // Check if user came from homepage 4314 var fromHome = document.referrer.includes(window.location.origin + "/") && 4315 !document.referrer.includes(window.location.pathname); 4316 if (fromHome) { 4317 setTimeout(function () { 4318 var yOffset = window.innerWidth <= 768 ? -100 : -250; // 768px breakpoint for mobile/tablet 4319 var y = tab.getBoundingClientRect().top + window.pageYOffset + yOffset; 4320 window.scrollTo({ top: y, behavior: 'smooth' }); 4321 }, 100); 4322 } 4323 } 4324 } 4325 }); 4326</script>
4326 4327
4328<script> 4329 let token = null; 4330 let isDropdownVisible = false; 4331 4332 function handleDrawer1() { 4333 const token = getValueFromCookiesOrLocalStorage(XGokwikCoreToken(window.merchantInfo.environment)) 4334 if (token) { 4335 const kwikpassLoggedInElement = document.getElementById("icon-kwikpass"); 4336 const crossIconElement = document.getElementById("icon-close-kwikpass") 4337 const drawerElement = document.getElementById("kwikpass-drawer-desktop") 4338 // display cross icon and hide icon-kwikpass if isDropdownVisible = true else display icon-kwikpass and hide cross icon 4339 if(isDropdownVisible){ 4340 drawerElement.style.display = "none"; 4341 crossIconElement.style.display="none"; 4342 kwikpassLoggedInElement.style.display="flex"; 4343 }else{ 4344 drawerElement.style.display = "block"; 4345 crossIconElement.style.display="flex"; 4346 kwikpassLoggedInElement.style.display="none"; 4347 } 4348 isDropdownVisible = !isDropdownVisible; 4349 } 4350 } 4351 4352 function updateDOM(isKwikpassLogin = true) { 4353 token = getValueFromCookiesOrLocalStorage(XGokwikCoreToken(window.merchantInfo.environment)); 4354 const isLogout = sessionStorage.getItem('isLogout'); 4355 const phoneNumber = getValueFromCookiesOrLocalStorage('notify_phone_number'); 4356 4357 if ((!token && !isLogout) || (token && !phoneNumber)) { 4358 openIframe('kp_sso_token') 4359 } 4360 4361 const drawerElement = document.getElementById("kwikpass-drawer-desktop") 4362 if(drawerElement){ 4363 if(token){ 4364 document.getElementById("kp-login-button-header-logo").style.display = "none" 4365 document.getElementById("loggedin-icons").style.display = "block" 4366 }else{ 4367 document.getElementById("kp-login-button-header-logo").style.display = "flex" 4368 document.getElementById("loggedin-icons").style.display = "none" 4369 drawerElement.style.display = "none" 4370 } 4371 } 4372 4373 // shopify logout 4374 const logoutLink = document.querySelectorAll('a[href*="/account/logout"]'); 4375 logoutLink.forEach((element) => { 4376 element.addEventListener("click", (event) => { 4377 event.preventDefault() 4378 handleLogout() 4379 }) 4380 }); 4381 4382 const logoutElement = document.getElementById('logout-button-desktop') 4383 4384 if(logoutElement) logoutElement.addEventListener('click', handleLogout); 4385 } 4386 4387 let isElementsWithAccountClickable = true; 4388 4389 const elementsWithAccount = document.querySelectorAll('a[href="/account"]'); 4390 elementsWithAccount.forEach((element) => { 4391 element.addEventListener('click', async (e) => { 4392 e.preventDefault(); 4393 const customerId = getCustomerId() 4394 token = getValueFromCookiesOrLocalStorage(XGokwikCoreToken(window.merchantInfo.environment)); 4395 if(token && customerId!=null){ 4396 window.location.href = "/account" 4397 }else{ 4398 handleKpAndShopifyLogin("/account") 4399 } 4400 }); 4401 }); 4402 4403 4404 /* This code is reusable to all merchants except breakpoint */ 4405 4406 // Add a click event listener to the document 4407 document.addEventListener('click', function(event) { 4408 const dropdownButton = document.getElementsByClassName('header--icon') ?. [0] 4409 // Check if the clicked element is the dropdown button or inside the dropdown menu 4410 const isClickInsideDropdown = dropdownButton.contains(event.target); 4411 // If the click is outside the dropdown, hide the dropdown 4412 const kwikpassLoggedInElement = document.getElementById("icon-kwikpass"); 4413 const crossIconElement = document.getElementById("icon-close-kwikpass") 4414 const drawerElement = document.getElementById("kwikpass-drawer-desktop") 4415 if (! isClickInsideDropdown && isDropdownVisible && token) { 4416 drawerElement.style.display = "none"; 4417 crossIconElement.style.display = "none"; 4418 kwikpassLoggedInElement.style.display = "flex"; 4419 isDropdownVisible = ! isDropdownVisible; 4420 } 4421 }); 4422 4423 4424 document.addEventListener('DOMContentLoaded', function() { 4425 updateDOM(); 4426 }); 4427 4428 window.addEventListener('update-dom', function() { 4429 const kwikpassLoggedInElement = document.getElementById("icon-kwikpass"); 4430 const crossIconElement = document.getElementById("icon-close-kwikpass")
4431 const drawerElement = document.getElementById("kwikpass-drawer-desktop") 4432 drawerElement.style.display = "none"; 4433 crossIconElement.style.display="none"; 4434 kwikpassLoggedInElement.style.display="flex"; 4435 updateDOM(); 4436 }); 4437</script>
4437 4438
4439<script defer src="https://pdp.gokwik.co/kwikpass/kwikpass-core-functions-min.js"></script>
vendor: 1 bytes, line 4439
4439
4440<script defer src="https://pdp.gokwik.co/kwikpass/plugin/build/kp-merchant-v2.js"></script>
4440 4441 4442 4443 4444 4445 4446 4447
4448<script> 4449 window.StoreCreditInit = { 4450 shop: 'formen-healt.myshopify.com', 4451 cashback_widget_status: 0 4452 } 4453</script>
4453 4454 4455 4456 4457 4458 4459<style> .template-cart .cart__item-row.cart__checkout-wrapper,.template-cart {display: none !important;} @media only screen and (min-width: 1024px) {ul#Stamina {display: grid; grid-template-columns: repeat(2, 1fr); } ul#hair {display: grid; grid-template-columns: repeat(2, 1fr); }} </style> 4460<div id="shopify-block-AWUR0bndFdHIyb2xxa__16225679183443353566" class="shopify-block shopify-app-block"> 4461 <style> 4462 /* 4463 Most Shopify themes has div:empty {display: none} 4464 the issue is that PostHog uses shadowDOM and if a div has a shadow dom only it is considered empty 4465 https://github.com/w3c/csswg-drafts/issues/6771 4466 */ 4467 div[class^="PostHogSurvey"]:empty { 4468 display: block; 4469 } 4470 </style> 4471
4471<script type="module"> 4472 import { uuidv7 } from 'https://cdn.shopify.com/extensions/01a070dd-b495-7f09-9c47-76c49284131d/pixiehog-49/assets/uuidv7.js'; 4473 await (async () => { 4474 function recalculateAnonymous () { 4475 /** 4476 * @type {'anonymized' | 'non-anonymized' | 'non-anonymized-by-consent' } 4477 */ 4478 const data_collection_strategy = "anonymized"; 4479 const anonymous = (() =>{ 4480 if(data_collection_strategy == 'anonymized') { 4481 return true 4482 } 4483 if(data_collection_strategy == 'non-anonymized') { 4484 return false 4485 } 4486 if(data_collection_strategy == 'non-anonymized-by-consent') { 4487 return !window.Shopify.customerPrivacy.analyticsProcessingAllowed(); 4488 } 4489 return true 4490 })() 4491 4492 const PXHOG_ANONYMOUS_KEY = 'pxhog_anonymous_key'; 4493 4494 const localStorageAnonymous = localStorage.getItem(PXHOG_ANONYMOUS_KEY); 4495 if (localStorageAnonymous === null) { 4496 localStorage.setItem(PXHOG_ANONYMOUS_KEY, anonymous); 4497 } 4498 4499 if ( localStorageAnonymous !== null && localStorageAnonymous != String(anonymous)) { 4500 localStorage.setItem(PXHOG_ANONYMOUS_KEY, anonymous); 4501 } 4502 4503 const hasNewDistinctId = (() => { 4504 if ( localStorageAnonymous !== null && localStorageAnonymous != String(anonymous) && anonymous == true) { 4505 return uuidv7(); 4506 } 4507 return null 4508 })() 4509 4510 return hasNewDistinctId 4511 } 4512 if (typeof posthog !== 'undefined' || window.posthog) { 4513 throw Error('[pxhog]: Posthog has already been initialized') 4514 } 4515 4516 /** 4517 * @type {string | ''} 4518 */ 4519 const apiKey = "phc_wFPw2cML8AgbxegrfVCmG5BuV7B2nMMSkNddgJEEUQKC"; 4520 4521 if (!apiKey) { 4522 throw Error('[pxhog]: Posthog apiKey is not set'); 4523 } 4524 4525 /** 4526 * @type {string | ''} 4527 */ 4528 const apiHost = `https://us.i.posthog.com`; 4529 4530 if (!apiHost) { 4531 throw Error('[pxhog]: Posthog apiHost is not set') 4532 } 4533 4534 /** 4535 * @type {Record<string, any>} 4536 */ 4537 const parsedConfig = JSON.parse(`{"ui_host":"https://us.posthog.com","capture_pageview":false,"capture_pageleave":false,"cross_subdomain_cookie":true,"disable_persistence":false,"disable_surveys":false,"disable_session_recording":false,"disable_web_experiments":false,"enable_recording_console_log":false,"enable_heatmaps":null,"mask_all_text":false,"mask_all_element_attributes":false,"opt_out_capturing_by_default":false,"opt_out_persistence_by_default":false,"persistence":"localStorage+cookie","property_denylist":[],"person_profiles":"always","session_idle_timeout_seconds":1800,"advanced_disable_decide":false,"advanced_disable_feature_flags":false,"advanced_disable_feature_flags_on_first_load":false,"feature_flag_request_timeout_ms":3000,"secure_cookie":false,"custom_campaign_params":[]}` || "{}") || {}; 4538 4539 /* eslint-disable no-unused-expressions */ 4540 !(function (t, e) { 4541 var o, n, p, r; 4542 e.__SV || 4543 ((window.posthog = e), 4544 (e._i = []), 4545 (e.init = function (i, s, a) { 4546 function g(t, e) { 4547 var o = e.split("."); 4548 2 == o.length && ((t = t[o[0]]), (e = o[1])), 4549 (t[e] = function () { 4550 t.push([e].concat(Array.prototype.slice.call(arguments, 0))); 4551 }); 4552 } 4553 ((p = t.createElement("script")).type = "text/javascript"), 4554 (p.crossOrigin = "anonymous"), 4555 (p.async = !0), 4556 (p.src = 4557 s.api_host.replace(".i.posthog.com", "-assets.i.posthog.com") + 4558 "/static/array.js"),
4559 (r = t.getElementsByTagName("script")[0]).parentNode.insertBefore(p, r); 4560 var u = e; 4561 for ( 4562 void 0 !== a ? (u = e[a] = []) : (a = "posthog"), 4563 u.people = u.people || [], 4564 u.toString = function (t) { 4565 var e = "posthog"; 4566 return "posthog" !== a && (e += "." + a), t || (e += " (stub)"), e; 4567 }, 4568 u.people.toString = function () { 4569 return u.toString(1) + ".people (stub)"; 4570 }, 4571 o = 4572 "init capture register register_once register_for_session unregister unregister_for_session getFeatureFlag getFeatureFlagPayload isFeatureEnabled reloadFeatureFlags updateEarlyAccessFeatureEnrollment getEarlyAccessFeatures on onFeatureFlags onSessionId getSurveys getActiveMatchingSurveys renderSurvey canRenderSurvey getNextSurveyStep identify setPersonProperties group resetGroups setPersonPropertiesForFlags resetPersonPropertiesForFlags setGroupPropertiesForFlags resetGroupPropertiesForFlags reset get_distinct_id getGroups get_session_id get_session_replay_url alias set_config startSessionRecording stopSessionRecording sessionRecordingStarted captureException loadToolbar get_property getSessionProperty createPersonProfile opt_in_capturing opt_out_capturing has_opted_in_capturing has_opted_out_capturing clear_opt_in_out_capturing debug".split( 4573 " " 4574 ), 4575 n = 0; 4576 n < o.length; 4577 n++ 4578 ) 4579 g(u, o[n]);
4580 e._i.push([i, s, a]); 4581 }), 4582 (e.__SV = 1)); 4583 })(document, window.posthog || []); 4584 4585 const shopifyConsentLoaded = await new Promise((resolve) => { 4586 window.Shopify.loadFeatures( 4587 [ 4588 { 4589 name: 'consent-tracking-api', 4590 version: '0.1', 4591 }, 4592 ], 4593 error => { 4594 if (error) { 4595 console.error(error); 4596 resolve(false) 4597 return; 4598 } 4599 resolve(true) 4600 return; 4601 }, 4602 ); 4603 }); 4604 4605 if (!shopifyConsentLoaded) { 4606 throw new Error('[pxhog] failed to obtain customer privacy settings') 4607 } 4608 4609 const hasNewDistinctId = recalculateAnonymous() 4610 4611 4612 4613 4614 document.addEventListener("visitorConsentCollected", (event) => { 4615 if(recalculateAnonymous()){ 4616 window.posthog.reset(true) 4617 } 4618 }); 4619 4620 /** 4621 * @type {Partial<PostHogJsWebConfig>} 4622 */ 4623 const posthogConfig = { 4624 api_host: apiHost, 4625 ...parsedConfig, 4626 ...(hasNewDistinctId && { 4627 bootstrap: { 4628 distinctID: hasNewDistinctId, 4629 } 4630 }) 4631 4632 4633 }; 4634 4635 window.posthog.init(apiKey, posthogConfig); 4636 4637 4638 })(); 4639 </script>
4639 4640 4641 4642</div><div id="shopify-block-AZTA0UUdWeWUzNG9jV__1219337400145039034" class="shopify-block shopify-app-block"><!-- BEGIN app snippet: kwikpass -->
4642<script defer> 4643 function getCustomerId() { 4644 4645 return null 4646 4647 } 4648 4649 function getThemeId() { 4650 4651 return null 4652 4653 } 4654 4655 4656 let token = null; 4657 let isDropdownVisible = false; 4658 let isDropdownMobileVisible = false; 4659 let isElementsWithAccountClickable = true; 4660 const ICON_SELECT_QUERY='.header__icon--account'; 4661 const HORIZON_PROFILE_ICON = '.account-button.header-actions__action' 4662 4663 // Define handleDrawer2 in global scope so it can be accessed by onclick attributes - for horizon themes 4664 function handleDrawer2() { 4665 const token = getValueFromCookiesOrLocalStorage(XGokwikCoreToken(window.merchantInfo.environment)) 4666 if (token) { 4667 const kwikpassLoggedInElement = document.getElementById("icon-kwikpass"); 4668 const crossIconElement = document.getElementById("icon-close-kwikpass") 4669 const drawerElement = document.getElementById("kwikpass-drawer-desktop") 4670 // display cross icon and hide icon-kwikpass if isDropdownVisible = true else display icon-kwikpass and hide cross icon 4671 if(drawerElement && crossIconElement && kwikpassLoggedInElement) { 4672 if(isDropdownVisible){ 4673 drawerElement.style.display = "none"; 4674 crossIconElement.style.display="none"; 4675 kwikpassLoggedInElement.style.display="flex"; 4676 }else{ 4677 drawerElement.style.display = "block"; 4678 crossIconElement.style.display="flex"; 4679 kwikpassLoggedInElement.style.display="none"; 4680 } 4681 isDropdownVisible = !isDropdownVisible; 4682 } 4683 4684 const kwikpassLoggedInElementMbl = document.getElementById("icon-kwikpass-mobile"); 4685 const crossIconElementMbl = document.getElementById("icon-close-kwikpass-mobile") 4686 const drawerElementMbl = document.getElementById("kwikpass-drawer-mobile") 4687 // display cross icon and hide icon-kwikpass if isDropdownMobileVisible = true else display icon-kwikpass and hide cross icon 4688 if(drawerElementMbl && crossIconElementMbl && kwikpassLoggedInElementMbl) { 4689 if(isDropdownMobileVisible){ 4690 drawerElementMbl.style.display = "none"; 4691 crossIconElementMbl.style.display="none"; 4692 kwikpassLoggedInElementMbl.style.display="flex"; 4693 }else{ 4694 drawerElementMbl.style.display = "block"; 4695 crossIconElementMbl.style.display="flex"; 4696 kwikpassLoggedInElementMbl.style.display="none"; 4697 } 4698 isDropdownMobileVisible = !isDropdownMobileVisible; 4699 } 4700 } 4701 } 4702 4703 function addProfileIconInHorizon(){ 4704 4705 const kpLoader = `<svg 4706 class="loadergk kploader" 4707 width="17" 4708 height="16" 4709 viewBox="0 0 17 16" 4710 fill="none" 4711 xmlns="http://www.w3.org/2000/svg" 4712 > 4713 <path 4714 d="M8.50004 1.33325V3.99992M8.50004 11.9999V14.6666M4.50004 7.99992H1.83337M15.1667 7.99992H12.5M13.219 12.7189L11.3334 10.8333M13.219 3.33321L11.3334 5.21883M3.78109 12.7189L5.66671 10.8333M3.78109 3.33321L5.66671 5.21883" 4715 stroke="#111" 4716 stroke-width="1.6" 4717 stroke-linecap="round" 4718 stroke-linejoin="round" 4719 /> 4720 </svg>` 4721 4722 /*removing existing profile(person) icon - person icon is not present in this store*/ 4723 // Note: profileButtonElement and profileButtonElementMbl are now defined later in the code (lines 356 and 376) 4724 4725 // defining css and add it to style tag in head 4726 function appendCss() { 4727 let css = ` 4728 .loadergk { 4729 display: none; 4730 animation: rotate 1.5s linear infinite; 4731 } 4732 @keyframes rotate { 4733 100% { 4734 transform: rotate(360deg); 4735 } 4736 } 4737 .kp-disabled-text-color{ 4738 cursor: not-allowed; 4739 } 4740 #logout-button-desktop, #logout-button-mobile{ 4741 cursor: pointer; 4742 display: flex; 4743 justify-content: center; 4744 align-items: center; 4745 gap: 8px; 4746 font-size: 14px; 4747 color: #344054; 4748 font-style: normal; 4749 font-weight: 600; 4750 line-height: 20px; 4751 width: 100%; 4752 border-radius: 8px; 4753 padding: 8px 14px;; 4754 border: 1px solid var(--gray-300, #d0d5dd); 4755 background: var(--base-white, #fff); 4756 box-shadow: 0px 1px 2px 0px rgba(16, 24, 40, 0.05); 4757 } 4758 #loggedin-icons{ 4759 align-self: center; 4760 display: none; 4761 } 4762 #loggedin-icons-mobile{ 4763 display:none; 4764 } 4765 /* Base drawer styles */ 4766 #kwikpass-drawer-desktop,#kwikpass-drawer-mobile{ 4767 padding: 16px; 4768 display: none; 4769 width: 10rem; 4770 position: absolute; 4771 box-shadow: 0px 0px 32px 0px rgba(16, 24, 40, 0.32); 4772 border-bottom-left-radius: 8px; 4773 border-bottom-right-radius: 8px; 4774 z-index: 999; 4775 background:#fff!important; 4776 } 4777 4778 /* Old theme drawer - original positioning (MUST NOT BREAK) */ 4779 .kp-old-theme #kwikpass-drawer-desktop, 4780 .kp-old-theme #kwikpass-drawer-mobile { 4781 right: 10%; 4782 top: 175%; 4783 } 4784 4785 /* New theme drawer - use right: 0 to align with icon's right edge (responsive) */ 4786 .kp-new-theme #kwikpass-drawer-desktop, 4787 .kp-new-theme #kwikpass-drawer-mobile { 4788 right: 74px; 4789 top: 78%; 4790 } 4791 #kwikpass-drawer-desktop > ul , #kwikpass-drawer-mobile > ul { 4792 margin: 0px 0px 15px 0px; 4793 padding: 0; 4794 width: 100%; 4795 } 4796 #kwikpass-drawer-desktop >ul >a , #kwikpass-drawer-mobile > ul > a { 4797 cursor: pointer; 4798 width: 100%; 4799 display: flex!important; 4800 justify-content: space-between; 4801 align-items: center; 4802 padding: 0; 4803 color: inherit; 4804 margin-left:0!important; 4805 text-decoration: none; 4806 } 4807 #kwikpass-drawer-desktop >ul >a:hover , #kwikpass-drawer-mobile > ul > a:hover , #kwikpass-drawer-desktop >ul >a:focus , #kwikpass-drawer-mobile > ul > a:focus { 4808 text-decoration: none; 4809 } 4810 #kwikpass-drawer-desktop >ul >a:focus , #kwikpass-drawer-mobile > ul > a:focus,#kwikpass-drawer-desktop >ul >a:active , #kwikpass-drawer-mobile > ul > a:active { 4811 text-decoration: none; 4812 } 4813 #kwikpass-drawer-desktop >ul >a:focus .loadergk , #kwikpass-drawer-mobile > ul > a:focus .loadergk { 4814 display: block; 4815 } 4816 #kwikpass-drawer-desktop >ul >a:not(:focus) .loadergk , #kwikpass-drawer-mobile > ul > a:not(:focus) .loadergk { 4817 display: none; 4818 } 4819 #kwikpass-drawer-desktop > ul > a > p , #kwikpass-drawer-mobile > ul > a > p { 4820 font-size: 14px; 4821 font-style: normal; 4822 font-weight: 500; 4823 line-height: 142.857%; 4824 display: inline-flex; 4825 gap: 8px; 4826 align-items: center; 4827 margin: 0px 0 0px 0; 4828 color: #000; 4829 } 4830 /* Base icon styles */ 4831 .header--icon{ 4832 cursor: pointer; 4833 display: inline-flex; 4834 color: #000; 4835 } 4836 .header--icon--mobile{ 4837 cursor: pointer; 4838 display: inline-flex; 4839 color: #000; 4840 width: 23px; 4841 } 4842 4843 /* Old theme - original positioning (MUST NOT BREAK) */ 4844 .kp-old-theme.header--icon, 4845 .kp-old-theme.header--icon--mobile { 4846 position: relative; 4847 top: 10px; 4848 margin: 0 10px; 4849 } 4850 4851 /* New theme - match old theme visual appearance */ 4852 .kp-new-theme.header--icon, 4853 .kp-new-theme.header--icon--mobile { 4854 display: inline-flex; 4855 align-items: center; 4856 } 4857 #icon-close-kwikpass, #icon-close-kwikpass-mobile{ 4858 display: none; 4859 border-radius: 50px; 4860 border: 1px solid; 4861 margin: 0; 4862 padding: 2px; 4863 align-items: center; 4864 justify-content: center; 4865 margin-left:3px; 4866 } 4867 4868 floating-panel-component.account-popover__panel.details-content.color-scheme-1 { 4869 display: none; 4870 } 4871 4872 `; 4873 4874 var style = document.createElement('style'); 4875 style.innerHTML = css; 4876 document.getElementsByTagName('head')[0].appendChild(style); 4877 } 4878 4879 // function call to append css to style tag 4880 appendCss() 4881 4882 const userIcon = `<svg width="23" height="23" viewBox="0 0 27 27" fill="none" xmlns="http://www.w3.org/2000/svg" id="svgkp"> 4883 <path d="M22.9129 12.935L13.7571 23.0474C13.5348 23.2929 13.1284 23.1084 13.1669 22.7794L14.0816 14.9731H10.6991C10.4034 14.9731 10.2484 14.6219 10.4478 14.4035L20.3133 3.59739C20.5589 3.32834 20.9984 3.58134 20.8891 3.92887L18.2354 12.3664H22.6607C22.9557 12.3664 23.1109 12.7163 22.9129 12.935Z" fill="#FEA203"/> 4884 <path id="svgkp-path" fill-rule="evenodd" clip-rule="evenodd" d="M16.6079 5.35819C16.4805 5.1933 16.3421 5.03582 16.1932 4.8869C15.2702 3.96387 14.0183 3.44531 12.7129 3.44531C11.4075 3.44531 10.1556 3.96387 9.2326 4.8869C8.30957 5.80993 7.79102 7.06183 7.79102 8.36719C7.79102 9.67255 8.30957 10.9244 9.2326 11.8475C9.48368 12.0986 9.75909 12.3197 10.0533 12.5086L11.0235 11.4503C10.7335 11.2914 10.4649 11.0911 10.227 10.8531C9.56766 10.1938 9.19727 9.29959 9.19727 8.36719C9.19727 7.43479 9.56766 6.54057 10.227 5.88127C10.8863 5.22196 11.7805 4.85156 12.7129 4.85156C13.6453 4.85156 14.5395 5.22196 15.1988 5.88127C15.3636 6.04604 15.5103 6.22549 15.6377 6.41654L16.6079 5.35819ZM20.6413 18.6497L19.6746 19.7132C20.1676 20.4122 20.4473 21.2264 20.4473 22.0781V23.8359C20.4473 24.2243 20.7621 24.5391 21.1504 24.5391C21.5387 24.5391 21.8535 24.2243 21.8535 23.8359V22.0781C21.8535 20.7863 21.4016 19.6103 20.6413 18.6497ZM12.3111 17.5078H10.3026C7.27113 17.5078 4.97852 19.6394 4.97852 22.0781V23.8359C4.97852 24.2243 4.66372 24.5391 4.27539 24.5391C3.88707 24.5391 3.57227 24.2243 3.57227 23.8359V22.0781C3.57227 18.6922 6.67684 16.1016 10.3026 16.1016H12.4885L12.3111 17.5078Z" fill="currentColor" stroke="currentColor" stroke-width="0.1"/> 4885 </svg>`; 4886
4887 // kwikpass icon for desktop - if user is not logged in 4888 const KwikpassNotLoggedIcon = `<div id="kp-login-button-header-logo" onclick="handleKpAndShopifyLogin()" style="cursor: pointer;display: flex;align-items: center;">${userIcon}</div>` 4889 4890 // kwikpass icon for mobile - if user is not logged in 4891 const KwikpassNotLoggedIconMobile = `<div id="kp-login-button-header-logo-mobile" onclick="handleKpAndShopifyLogin()" style="cursor: pointer;display: flex">${userIcon}</div>` 4892 4893 // dropdown for desktop (opens on clicking kwikpass icon if user logged in) 4894 const drawerhtmlDesktop = `<div id="kwikpass-drawer-desktop" > 4895 <ul> 4896 <a href="javascript:void(0);" onclick="event.preventDefault();handleShopifyLogin(event,'/account')" tabindex="0" style=" display: flex"> 4897 <p> 4898 <svg 4899 width="16" 4900 height="16" 4901 viewBox="0 0 20 20" 4902 fill="none" 4903 xmlns="http://www.w3.org/2000/svg" 4904 > 4905 <path 4906 d="M4.6 2.20033L3.3 3.93366C3.04251 4.27697 2.91377 4.44863 2.91676 4.59232C2.91936 4.71736 2.97799 4.83462 3.07646 4.91172C3.18962 5.00032 3.40419 5.00032 3.83333 5.00032H16.1667C16.5958 5.00032 16.8104 5.00032 16.9235 4.91172C17.022 4.83462 17.0806 4.71736 17.0832 4.59232C17.0862 4.44863 16.9575 4.27697 16.7 3.93366L15.4 2.20033M4.6 2.20033C4.74667 2.00477 4.82 1.90699 4.91294 1.83647C4.99525 1.77401 5.08846 1.72741 5.18782 1.69903C5.3 1.66699 5.42222 1.66699 5.66667 1.66699H14.3333C14.5778 1.66699 14.7 1.66699 14.8122 1.69903C14.9115 1.72741 15.0047 1.77401 15.0871 1.83647C15.18 1.90699 15.2533 2.00477 15.4 2.20033M4.6 2.20033L3.03333 4.28921C2.83545 4.55306 2.73651 4.68498 2.66625 4.83026C2.6039 4.95917 2.55843 5.09559 2.53096 5.23612C2.5 5.3945 2.5 5.55941 2.5 5.88921L2.5 15.667C2.5 16.6004 2.5 17.0671 2.68166 17.4236C2.84144 17.7372 3.09641 17.9922 3.41002 18.152C3.76654 18.3337 4.23325 18.3337 5.16667 18.3337L14.8333 18.3337C15.7668 18.3337 16.2335 18.3337 16.59 18.152C16.9036 17.9922 17.1586 17.7372 17.3183 17.4236C17.5 17.0671 17.5 16.6004 17.5 15.667V5.88921C17.5 5.55941 17.5 5.3945 17.469 5.23613C17.4416 5.09559 17.3961 4.95918 17.3338 4.83026C17.2635 4.68498 17.1646 4.55306 16.9667 4.28921L15.4 2.20033M13.3333 8.33366C13.3333 9.21771 12.9821 10.0656 12.357 10.6907C11.7319 11.3158
490610.8841 11.667 10 11.667C9.11594 11.667 8.2681 11.3158 7.64298 10.6907C7.01786 10.0656 6.66667 9.21771 6.66667 8.33366" 4907 stroke="currentColor" 4908 stroke-width="1.66667" 4909 stroke-linecap="round" 4910 stroke-linejoin="round" 4911 fill="none" 4912 /> 4913 </svg> 4914 4915 Order History 4916 </p> 4917 4918 ${kpLoader} 4919 </a> 4920 </ul> 4921 <button id="logout-button-desktop"> 4922 Logout 4923 <svg 4924 width="16" 4925 height="16" 4926 viewBox="0 0 20 20" 4927 fill="none" 4928 xmlns="http://www.w3.org/2000/svg" 4929 > 4930 <path 4931 d="M15 6.66667L18.3334 10M18.3334 10L15 13.3333M18.3334 10H7.50002M12.5 3.50337C11.4377 2.86523 10.2044 2.5 8.88891 2.5C4.90019 2.5 1.66669 5.85786 1.66669 10C1.66669 14.1421 4.90019 17.5 8.88891 17.5C10.2044 17.5 11.4377 17.1348 12.5 16.4966" 4932 stroke="currentColor" 4933 stroke-width="1.66667" 4934 stroke-linecap="round" 4935 stroke-linejoin="round" 4936 fill="none" 4937 /> 4938 </svg> 4939 </button> 4940 </div>`; 4941 4942 // dropdown for mobile (opens on clicking kwikpass icon if user logged in) 4943 const drawerhtmlMobile = `<div id="kwikpass-drawer-mobile"> 4944 <ul> 4945 <a href="javascript:void(0);" onclick="event.preventDefault();handleShopifyLogin(event,'/account')" tabindex="0" style=" display: flex"> 4946 <p> 4947 <svg 4948 width="16" 4949 height="16"
4950 viewBox="0 0 20 20" 4951 fill="none" 4952 xmlns="http://www.w3.org/2000/svg" 4953 class="ordericon" 4954 > 4955 <path 4956 d="M4.6 2.20033L3.3 3.93366C3.04251 4.27697 2.91377 4.44863 2.91676 4.59232C2.91936 4.71736 2.97799 4.83462 3.07646 4.91172C3.18962 5.00032 3.40419 5.00032 3.83333 5.00032H16.1667C16.5958 5.00032 16.8104 5.00032 16.9235 4.91172C17.022 4.83462 17.0806 4.71736 17.0832 4.59232C17.0862 4.44863 16.9575 4.27697 16.7 3.93366L15.4 2.20033M4.6 2.20033C4.74667 2.00477 4.82 1.90699 4.91294 1.83647C4.99525 1.77401 5.08846 1.72741 5.18782 1.69903C5.3 1.66699 5.42222 1.66699 5.66667 1.66699H14.3333C14.5778 1.66699 14.7 1.66699 14.8122 1.69903C14.9115 1.72741 15.0047 1.77401 15.0871 1.83647C15.18 1.90699 15.2533 2.00477 15.4 2.20033M4.6 2.20033L3.03333 4.28921C2.83545 4.55306 2.73651 4.68498 2.66625 4.83026C2.6039 4.95917 2.55843 5.09559 2.53096 5.23612C2.5 5.3945 2.5 5.55941 2.5 5.88921L2.5 15.667C2.5 16.6004 2.5 17.0671 2.68166 17.4236C2.84144 17.7372 3.09641 17.9922 3.41002 18.152C3.76654 18.3337 4.23325 18.3337 5.16667 18.3337L14.8333 18.3337C15.7668 18.3337 16.2335 18.3337 16.59 18.152C16.9036 17.9922 17.1586 17.7372 17.3183 17.4236C17.5 17.0671 17.5 16.6004 17.5 15.667V5.88921C17.5 5.55941 17.5 5.3945 17.469 5.23613C17.4416 5.09559 17.3961 4.95918 17.3338 4.83026C17.2635 4.68498 17.1646 4.55306 16.9667 4.28921L15.4 2.20033M13.3333 8.33366C13.3333 9.21771 12.9821 10.0656 12.357 10.6907C11.7319 11.3158
495610.8841 11.667 10 11.667C9.11594 11.667 8.2681 11.3158 7.64298 10.6907C7.01786 10.0656 6.66667 9.21771 6.66667 8.33366" 4957 stroke="currentColor" 4958 stroke-width="1.66667" 4959 stroke-linecap="round" 4960 stroke-linejoin="round" 4961 fill="none" 4962 /> 4963 </svg> 4964 4965 Order History 4966 </p> 4967 4968 ${kpLoader} 4969 </a> 4970 </ul> 4971 <button id="logout-button-mobile"> 4972 Logout 4973 <svg 4974 width="16" 4975 height="16" 4976 viewBox="0 0 20 20" 4977 fill="none" 4978 xmlns="http://www.w3.org/2000/svg" 4979 > 4980 <path 4981 d="M15 6.66667L18.3334 10M18.3334 10L15 13.3333M18.3334 10H7.50002M12.5 3.50337C11.4377 2.86523 10.2044 2.5 8.88891 2.5C4.90019 2.5 1.66669 5.85786 1.66669 10C1.66669 14.1421 4.90019 17.5 8.88891 17.5C10.2044 17.5 11.4377 17.1348 12.5 16.4966" 4982 stroke="currentColor" 4983 stroke-width="1.66667" 4984 stroke-linecap="round" 4985 stroke-linejoin="round" 4986 fill="none" 4987 /> 4988 </svg> 4989 </button> 4990 </div>`; 4991 4992 4993 4994 const kwikpassLoggedInIcon = ` 4995 <div id="loggedin-icons"> 4996 <div id="icon-close-kwikpass" class="icon-close-kwikpass" style="height: 20px; width:20px; cursor: pointer;" onclick="handleDrawer2()"> 4997 <svg width="18" height="18" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"> 4998 <path d="M18 6L6 18M6 6L18 18" stroke="currentColor" stroke-width="1" stroke-linecap="round" stroke-linejoin="round"/> 4999 </svg> 5000 </div> 5001 <div style="cursor: pointer;display: flex;" onclick="handleDrawer2()" id="icon-kwikpass"> 5002 ${userIcon} 5003 </div> 5004 </div>`; 5005 5006 const kwikpassLoggedInIconMobile = ` 5007 <div id="loggedin-icons-mobile" > 5008 <div id="icon-close-kwikpass-mobile" style="cursor: pointer;height: 20px; width:20px;" onclick="handleDrawer2()"> 5009 <svg width="17" height="17" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"> 5010 <path d="M18 6L6 18M6 6L18 18" stroke="currentColor" stroke-width="1.66667" stroke-linecap="round" stroke-linejoin="round"/> 5011 </svg> 5012 </div> 5013 <div style="cursor: pointer;display: flex" onclick="handleDrawer2()" id="icon-kwikpass-mobile"> 5014 ${userIcon} 5015 </div> 5016 </div>`; 5017 5018 5019 // It will change based on theme - Desktop 5020 const profileButtonElement = document.querySelector('.account-button.header-actions__action') 5021 const personIconElement = profileButtonElement?.parentElement 5022 const html = ` 5023 ${KwikpassNotLoggedIcon} 5024 ${kwikpassLoggedInIcon} 5025 ${drawerhtmlDesktop} 5026 `; 5027 5028 if(!document.getElementsByClassName("header--icon")?.[0]){ 5029 // Detect theme 5030 const isOldTheme = document.querySelector('.account-popover') !== null; 5031 5032 const kwipassDesktopNode = document.createElement('div') 5033 // Add theme-specific class 5034 kwipassDesktopNode.className = isOldTheme ? "header--icon kp-old-theme" : "header--icon kp-new-theme" 5035 kwipassDesktopNode.innerHTML = html 5036 // Hide original and insert Kwikpass button (works for both themes) 5037 if(personIconElement && profileButtonElement) { 5038 profileButtonElement.style.display = 'none'; 5039 personIconElement.insertBefore(kwipassDesktopNode, profileButtonElement); 5040 } 5041 } 5042 5043 //mobile - Get the second instance of account button 5044 const allAccountButtons = document.querySelectorAll('.account-button.header-actions__action') 5045 const profileButtonElementMbl = allAccountButtons[1] // Second instance (mobile) 5046 const personIconElementMbl = profileButtonElementMbl?.parentElement 5047 5048 5049 5050 const htmlmobile = ` 5051 ${KwikpassNotLoggedIconMobile} 5052 ${kwikpassLoggedInIconMobile} 5053 ${drawerhtmlMobile} 5054 `; 5055 5056 if(!document.getElementsByClassName("header--icon--mobile")?.[0]){ 5057 // Detect theme 5058 const isOldThemeMobile = document.querySelector('.account-drawer') !== null; 5059 5060 const kwipassMobileNode = document.createElement('div') 5061 // Add theme-specific class 5062 kwipassMobileNode.className = isOldThemeMobile ? "header--icon--mobile kp-old-theme" : "header--icon--mobile kp-new-theme" 5063 kwipassMobileNode.innerHTML = htmlmobile 5064 // Hide original and insert Kwikpass button (works for both themes) 5065 if(personIconElementMbl && profileButtonElementMbl) { 5066 profileButtonElementMbl.style.display = 'none'; 5067 personIconElementMbl.insertBefore(kwipassMobileNode, profileButtonElementMbl); 5068 } 5069 } 5070 } 5071 5072 function addLoginButtonForHorizon(){ 5073 5074 function updateDOM(isKwikpassLogin = true) { 5075 token = getValueFromCookiesOrLocalStorage(XGokwikCoreToken(window.merchantInfo.environment)); 5076 const isLogout = sessionStorage.getItem('isLogout'); 5077 const phoneNumber = getValueFromCookiesOrLocalStorage('notify_ph
5077one_number'); 5078 5079 if ((!token && !isLogout) || (token && !phoneNumber)) { 5080 openIframe('kp_sso_token') 5081 } 5082 5083 const drawerElementMobile = document.getElementById("kwikpass-drawer-mobile") 5084 if(drawerElementMobile){ 5085 if(token){ 5086 document.getElementById("kp-login-button-header-logo-mobile").style.display = "none" 5087 document.getElementById("loggedin-icons-mobile").style.display = "block" 5088 }else{ 5089 document.getElementById("kp-login-button-header-logo-mobile").style.display = "flex" 5090 document.getElementById("loggedin-icons-mobile").style.display = "none" 5091 drawerElementMobile.style.display = "none" 5092 } 5093 } 5094 5095 const drawerElement = document.getElementById("kwikpass-drawer-desktop") 5096 if(drawerElement){ 5097 if(token){ 5098 document.getElementById("kp-login-button-header-logo").style.display = "none" 5099 document.getElementById("loggedin-icons").style.display = "block" 5100 }else{ 5101 document.getElementById("kp-login-button-header-logo").style.display = "flex" 5102 document.getElementById("loggedin-icons").style.display = "none" 5103 drawerElement.style.display = "none" 5104 } 5105 } 5106 5107 // shopify logout 5108 const logoutLink = document.querySelectorAll('a[href*="/account/logout"]'); 5109 logoutLink.forEach((element) => { 5110 element.addEventListener("click", (event) => { 5111 event.preventDefault() 5112 handleLogout() 5113 }) 5114 }); 5115 5116 const logoutElement = document.getElementById('logout-button-desktop') 5117 if(logoutElement) logoutElement.addEventListener('click', handleLogout); 5118 5119 //mobile 5120 const logoutElementMobile = document.getElementById('logout-button-mobile') 5121 if(logoutElementMobile) logoutElementMobile.addEventListener('click', handleLogout); 5122 } 5123 5124 let isElementsWithAccountClickable = true; 5125 5126 // Add a click event listener to the document 5127 document.addEventListener('click', function(event) { 5128 const dropdownButton = document.getElementsByClassName('header--icon') ?. [0] 5129 // Check if the clicked element is the dropdown button or inside the dropdown menu 5130 const isClickInsideDropdown = dropdownButton?.contains(event.target); 5131 5132 // If the click is outside the dropdown, hide the dropdown 5133 const kwikpassLoggedInElement = document.getElementById("icon-kwikpass"); 5134 const crossIconElement = document.getElementById("icon-close-kwikpass") 5135 const drawerElement = document.getElementById("kwikpass-drawer-desktop") 5136 5137 if (! isClickInsideDropdown && isDropdownVisible && token) { 5138 drawerElement.style.display = "none"; 5139 crossIconElement.style.display = "none"; 5140 kwikpassLoggedInElement.style.display = "flex"; 5141 isDropdownVisible = ! isDropdownVisible; 5142 } 5143 5144 //mobile 5145 const dropdownButtonMbl = document.getElementsByClassName('header--icon--mobile')?.[0] 5146 5147 // Check if the clicked element is the dropdown button or inside the dropdown menu 5148 const isClickInsideDropdownMbl = dropdownButtonMbl?.contains(event.target); 5149 5150 // If the click is outside the dropdown, hide the dropdown 5151 const kwikpassLoggedInElementMbl = document.getElementById("icon-kwikpass-mobile"); 5152 const crossIconElementMbl = document.getElementById("icon-close-kwikpass-mobile") 5153 const drawerElementMbl = document.getElementById("kwikpass-drawer-mobile") 5154 5155 if (! isClickInsideDropdownMbl && isDropdownMobileVisible && token) { 5156 drawerElementMbl.style.display = "none"; 5157 crossIconElementMbl.style.display = "none"; 5158 kwikpassLoggedInElementMbl.style.display = "flex"; 5159 isDropdownMobileVisible = !isDropdownMobileVisible; 5160 } 5161 }); 5162 5163 document.addEventListener('DOMContentLoaded', function() { 5164 updateDOM(); 5165 }); 5166 5167 window.addEventListener('update-dom', function() { 5168 const kwikpassLoggedInElement = document.getElementById("icon-kwikpass"); 5169 const crossIconElement = document.getElementById("icon-close-kwikpass") 5170 const drawerElement = document.getElementById("kwikpass-drawer-desktop") 5171 if(drawerElement) drawerElement.style.display = "none"; 5172 if(crossIconElement) crossIconElement.style.display="none"; 5173 if(kwikpassLoggedInElement) kwikpassLoggedInElement.style.display="flex"; 5174
5175 const kwikpassLoggedInElementMbl = document.getElementById("icon-kwikpass-mobile"); 5176 const crossIconElementMbl = document.getElementById("icon-close-kwikpass-mobile") 5177 const drawerElementMbl = document.getElementById("kwikpass-drawer-mobile") 5178 if(drawerElementMbl) drawerElementMbl.style.display = "none"; 5179 if(crossIconElementMbl) crossIconElementMbl.style.display="none"; 5180 if(kwikpassLoggedInElementMbl) kwikpassLoggedInElementMbl.style.display="flex"; 5181 updateDOM(); 5182 }); 5183 addProfileIconInHorizon() 5184 updateDOM(); 5185 } 5186 5187 function handleDrawer1() { 5188 const token = getValueFromCookiesOrLocalStorage(XGokwikCoreToken(window.merchantInfo.environment)); 5189 if (token) { 5190 const kwikpassLoggedInElement = document.getElementById("icon-kwikpass"); 5191 const crossIconElement = document.getElementById("icon-close-kwikpass"); 5192 const drawerElement = document.getElementById("kwikpass-drawer-desktop"); 5193 // display cross icon and hide icon-kwikpass if isDropdownVisible = true else display icon-kwikpass and hide cross icon 5194 if(isDropdownVisible){ 5195 drawerElement.style.display = "none"; 5196 crossIconElement.style.display="none"; 5197 kwikpassLoggedInElement.style.display="flex"; 5198 }else{ 5199 drawerElement.style.display = "block"; 5200 crossIconElement.style.display="flex"; 5201 kwikpassLoggedInElement.style.display="none"; 5202 } 5203 isDropdownVisible = !isDropdownVisible; 5204 } 5205 } 5206 5207 function addLoginButton(){ 5208 function updateDOM() { 5209 token = getValueFromCookiesOrLocalStorage(XGokwikCoreToken(window.merchantInfo.environment)); 5210 const isLogout = sessionStorage.getItem('isLogout'); 5211 const phoneNumber = getValueFromCookiesOrLocalStorage('notify_phone_number'); 5212 5213 if ((!token && !isLogout) || (token && !phoneNumber)) { 5214 openIframe('kp_sso_token') 5215 } 5216 5217 const drawerElement = document.getElementById("kwikpass-drawer-desktop") 5218 if(drawerElement){ 5219 if(token){ 5220 document.getElementById("kp-login-button-header-logo").style.display = "none" 5221 document.getElementById("loggedin-icons").style.display = "block" 5222 }else{ 5223 document.getElementById("kp-login-button-header-logo").style.display = "flex" 5224 document.getElementById("loggedin-icons").style.display = "none" 5225 drawerElement.style.display = "none" 5226 } 5227 } 5228 // shopify logout 5229 const logoutLink = document.querySelectorAll('a[href*="/account/logout"]'); 5230 logoutLink.forEach((element) => { 5231 element.addEventListener("click", (event) => { 5232 event.preventDefault() 5233 handleLogout() 5234 }) 5235 }); 5236 5237 const logoutElement = document.getElementById('logout-button-desktop') 5238 5239 if(logoutElement) logoutElement.addEventListener('click', handleLogout); 5240 } 5241 5242 const elementsWithAccount = document.querySelectorAll('a[href="/account"]'); 5243 elementsWithAccount.forEach((element) => { 5244 element.addEventListener('click', async (e) => { 5245 e.preventDefault(); 5246 const customerId = getCustomerId() 5247 token = getValueFromCookiesOrLocalStorage(XGokwikCoreToken(window.merchantInfo.environment)); 5248 kpHandleLogin('/account'); 5249 }); 5250 }); 5251 5252 document.addEventListener('DOMContentLoaded', function() { 5253 updateDOM(); 5254 }); 5255 5256 window.addEventListener('update-dom', function() { 5257 updateDOM(); 5258 }); 5259 5260 //TODO: update this with a query for the required button 5261 5262 const loader = `<svg 5263 class="kploader" 5264 width="17" 5265 height="16"
5266 viewBox="0 0 17 16" 5267 fill="none" 5268 xmlns="http://www.w3.org/2000/svg" 5269 > 5270 <path 5271 d="M8.50004 1.33325V3.99992M8.50004 11.9999V14.6666M4.50004 7.99992H1.83337M15.1667 7.99992H12.5M13.219 12.7189L11.3334 10.8333M13.219 3.33321L11.3334 5.21883M3.78109 12.7189L5.66671 10.8333M3.78109 3.33321L5.66671 5.21883" 5272 stroke="#111" 5273 stroke-width="1.6" 5274 stroke-linecap="round" 5275 stroke-linejoin="round" 5276 /> 5277 </svg>` 5278 5279 /*removing existing profile(person) icon - person icon is not present in this store*/ 5280 const profileButtonElement = document.querySelector(ICON_SELECT_QUERY) || document.querySelector(HORIZON_PROFILE_ICON); 5281 5282 // defining css and add it to style tag in head 5283 function appendCss() { 5284 let css = ` 5285 .kploader { 5286 display: none; 5287 animation: rotate 1.5s linear infinite; 5288 } 5289 @keyframes rotate { 5290 100% { 5291 transform: rotate(360deg); 5292 } 5293 } 5294 .kp-disabled-text-color{ 5295 cursor: not-allowed; 5296 } 5297 #logout-button-desktop{ 5298 cursor: pointer; 5299 display: flex; 5300 justify-content: center; 5301 align-items: center; 5302 gap: 8px; 5303 font-size: 14px; 5304 color: #344054; 5305 font-style: normal; 5306 font-weight: 600; 5307 line-height: 20px; 5308 width: 100%; 5309 border-radius: 8px; 5310 padding: 8px 14px;; 5311 border: 1px solid var(--gray-300, #d0d5dd); 5312 background: var(--base-white, #fff); 5313 box-shadow: 0px 1px 2px 0px rgba(16, 24, 40, 0.05); 5314 } 5315 #loggedin-icons{ 5316 align-self: center; 5317 display: none; 5318 } 5319 #kwikpass-drawer-desktop{ 5320 padding: 16px; 5321 display: none; 5322 right: 0%; 5323 width: 18rem; 5324 position: absolute; 5325 top: 100%; 5326 box-shadow: 0px 0px 32px 0px rgba(16, 24, 40, 0.32); 5327 border-bottom-left-radius: 8px; 5328 border-bottom-right-radius: 8px; 5329 z-index: 999; 5330 background:#fff!important; 5331 } 5332 #kwikpass-drawer-desktop > ul{ 5333 margin: 0px 0px 10px 0px; 5334 padding: 0; 5335 width: 100%; 5336 } 5337 #kwikpass-drawer-desktop >ul >a{ 5338 cursor: pointer; 5339 width: 100%; 5340 display: flex!important; 5341 justify-content: space-between; 5342 align-items: center; 5343 padding: 0; 5344 color: inherit; 5345 margin-left:0!important; 5346 text-decoration: none; 5347 } 5348 #kwikpass-drawer-desktop >ul >a:hover , #kwikpass-drawer-desktop >ul >a:focus { 5349 text-decoration: none; 5350 } 5351 #kwikpass-drawer-desktop >ul >a:focus,#kwikpass-drawer-desktop >ul >a:active { 5352 text-decoration: none; 5353 } 5354 #kwikpass-drawer-desktop >ul >a:focus .kploader { 5355 display: block; 5356 } 5357 #kwikpass-drawer-desktop >ul >a:not(:focus) .kploader { 5358 display: none; 5359 } 5360 #kwikpass-drawer-desktop > ul > a > p { 5361 font-size: 14px; 5362 font-style: normal; 5363 font-weight: 500; 5364 line-height: 142.857%; 5365 display: inline-flex; 5366 gap: 8px; 5367 align-items: center; 5368 margin: 10px 0 10px 0; 5369 color: #000; 5370 } 5371 .header--icon{ 5372 cursor: pointer; 5373 position: relative; 5374 display: inline-flex; 5375 } 5376 path#svgkp-path { 5377 stroke-width: 1; 5378 } 5379 #icon-close-kwikpass{ 5380 display: none; 5381 border-radius: 50px; 5382 border: 1px solid; 5383 margin: 0; 5384 padding: 2px; 5385 align-items: center; 5386 justify-content: center; 5387 margin-left:3px; 5388 } 5389 `; 5390 5391 var style = document.createElement('style'); 5392 style.innerHTML = css; 5393 document.getElementsByTagName('head')[0].appendChild(style); 5394 } 5395 5396 // function call to append css to style tag 5397 appendCss() 5398 // existing user icon to show in the header 5399 // TODO : fetch user icon form backend 5400 const userIcon = `<svg width="23" height="23" viewBox="0 0 27 27" fill="none" xmlns="http://www.w3.org/2000/svg" id="svgkp"> 5401 <path d="M22.9129 12.935L13.7571 23.0474C13.5348 23.2929 13.1284 23.1084 13.1669 22.7794L14.0816 14.9731H10.6991C10.4034 14.9731 10.2484 14.6219 10.4478 14.4035L20.3133 3.59739C20.5589 3.32834 20.9984 3.58134 20.8891 3.92887L18.2354 12.3664H22.6607C22.9557 12.3664 23.1109 12.7163 22.9129 12.935Z" fill="#FEA203"/> 5402 <path id="svgkp-path" fill-rule="evenodd" clip-rule="evenodd" d="M16.6079 5.35819C16.4805 5.1933 16.3421 5.03582 16.1932 4.8869C15.2702 3.96387 14.0183 3.44531 12.7129 3.44531C11.4075 3.44531 10.1556 3.96387 9.2326 4.8869C8.30957 5.80993 7.79102 7.06183 7.79102 8.36719C7.79102 9.67255 8.30957 10.9244 9.2326 11.8475C9.48368 12.0986 9.75909 12.3197 10.0533 12.5086L11.0235 11.4503C10.7335 11.2914 10.4649 11.0911 10.227 10.8531C9.56766 10.1938 9.19727 9.29959 9.19727 8.36719C9.19727 7.43479 9.56766 6.54057 10.227 5.88127C10.8863 5.22196 11.7805 4.85156 12.7129 4.85156C13.6453 4.85156 14.5395 5.22196 15.1988 5.88127C15.3636 6.04604 15.5103 6.22549 15.6377 6.41654L16.6079 5.35819ZM20.6413 18.6497L19.6746 19.7132C20.1676 20.4122 20.4473 21.2264 20.4473 22.0781V23.8359C20.4473 24.2243 20.7621 24.5391 21.1504 24.5391C21.5387 24.5391 21.8535 24.2243 21.8535 23.8359V22.0781C21.8535 20.7863 21.4016 19.6103 20.6413 18.6497ZM12.3111 17.5078H10.3026C7.27113 17.5078 4.97852 19.6394 4.97852 22.0781V23.8359C4.97852 24.2243 4.66372 24.5391 4.27539 24.5391C3.88707 24.5391 3.57227 24.2243 3.57227 23.8359V22.0781C3.57227 18.6922 6.67684 16.1016 10.3026 16.1016H12.4885L12.3111 17.5078Z" fill="currentColor" stroke="currentColor"/> 5403 </svg>`; 5404 5405 // kwikpass icon for desktop - if user is not logged in 5406 const KwikpassNotLoggedIcon = `<div id="kp-login-button-header-logo" style="cursor: pointer;display: flex;align-items: center;">${userIcon}</div>` 5407
5408 // dropdown for desktop (opens on clicking kwikpass icon if user logged in) 5409 const drawerhtmlDesktop = `<div id="kwikpass-drawer-desktop"> 5410 <ul> 5411 <a href="javascript:void(0)" onclick="handleShopifyLogin(event,'/account')" tabindex="0" style=" display: flex"> 5412 <p> 5413 <svg 5414 width="20" 5415 height="20" 5416 viewBox="0 0 20 20" 5417 fill="none" 5418 xmlns="http://www.w3.org/2000/svg" 5419 > 5420 <path 5421 d="M4.6 2.20033L3.3 3.93366C3.04251 4.27697 2.91377 4.44863 2.91676 4.59232C2.91936 4.71736 2.97799 4.83462 3.07646 4.91172C3.18962 5.00032 3.40419 5.00032 3.83333 5.00032H16.1667C16.5958 5.00032 16.8104 5.00032 16.9235 4.91172C17.022 4.83462 17.0806 4.71736 17.0832 4.59232C17.0862 4.44863 16.9575 4.27697 16.7 3.93366L15.4 2.20033M4.6 2.20033C4.74667 2.00477 4.82 1.90699 4.91294 1.83647C4.99525 1.77401 5.08846 1.72741 5.18782 1.69903C5.3 1.66699 5.42222 1.66699 5.66667 1.66699H14.3333C14.5778 1.66699 14.7 1.66699 14.8122 1.69903C14.9115 1.72741 15.0047 1.77401 15.0871 1.83647C15.18 1.90699 15.2533 2.00477 15.4 2.20033M4.6 2.20033L3.03333 4.28921C2.83545 4.55306 2.73651 4.68498 2.66625 4.83026C2.6039 4.95917 2.55843 5.09559 2.53096 5.23612C2.5 5.3945 2.5 5.55941 2.5 5.88921L2.5 15.667C2.5 16.6004 2.5 17.0671 2.68166 17.4236C2.84144 17.7372 3.09641 17.9922 3.41002 18.152C3.76654 18.3337 4.23325 18.3337 5.16667 18.3337L14.8333 18.3337C15.7668 18.3337 16.2335 18.3337 16.59 18.152C16.9036 17.9922 17.1586 17.7372 17.3183 17.4236C17.5 17.0671 17.5 16.6004 17.5 15.667V5.88921C17.5 5.55941 17.5 5.3945 17.469 5.23613C17.4416 5.09559 17.3961 4.95918 17.3338 4.83026C17.2635 4.68498 17.1646 4.55306 16.9667 4.28921L15.4 2.20033M13.3333 8.33366C13.3333 9.21771 12.9821 10.0656 12.357 10.6907C11.7319 11.3158
542110.8841 11.667 10 11.667C9.11594 11.667 8.2681 11.3158 7.64298 10.6907C7.01786 10.0656 6.66667 9.21771 6.66667 8.33366" 5422 stroke="currentColor" 5423 stroke-width="1.66667" 5424 stroke-linecap="round" 5425 stroke-linejoin="round" 5426 fill="none" 5427 /> 5428 </svg> 5429 Order History 5430 </p> 5431 5432 ${loader} 5433 </a> 5434 </ul> 5435 <button id="logout-button-desktop"> 5436 Logout 5437 <svg 5438 width="20" 5439 height="20" 5440 viewBox="0 0 20 20" 5441 fill="none" 5442 xmlns="http://www.w3.org/2000/svg" 5443 > 5444 <path 5445 d="M15 6.66667L18.3334 10M18.3334 10L15 13.3333M18.3334 10H7.50002M12.5 3.50337C11.4377 2.86523 10.2044 2.5 8.88891 2.5C4.90019 2.5 1.66669 5.85786 1.66669 10C1.66669 14.1421 4.90019 17.5 8.88891 17.5C10.2044 17.5 11.4377 17.1348 12.5 16.4966" 5446 stroke="currentColor" 5447 stroke-width="1.66667" 5448 stroke-linecap="round" 5449 stroke-linejoin="round" 5450 fill="none" 5451 /> 5452 </svg> 5453 </button> 5454 </div>`; 5455 5456 const kwikpassLoggedInIcon = ` 5457 <div id="loggedin-icons" > 5458 <div id="icon-close-kwikpass" class="icon-close-kwikpass" style="height: 20px; width:20px; cursor: pointer;" onclick="handleDrawer1()"> 5459 <svg width="18" height="18" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"> 5460 <path d="M18 6L6 18M6 6L18 18" stroke="currentColor" stroke-width="1.66667" stroke-linecap="round" stroke-linejoin="round"/> 5461 </svg> 5462 </div> 5463 <div style="cursor: pointer;display: flex;" onclick="handleDrawer1()" id="icon-kwikpass"> 5464 ${userIcon} 5465 </div> 5466 </div>`; 5467 5468 5469 // It will change based on theme 5470 const personIconElement = document.querySelector(ICON_SELECT_QUERY)?.parentElement || document.querySelector(HORIZON_PROFILE_ICON)?.parentElement 5471 const html = ` 5472 ${KwikpassNotLoggedIcon} 5473 ${kwikpassLoggedInIcon} 5474 ${drawerhtmlDesktop} 5475 `; 5476 5477 5478 if(!document.getElementsByClassName("header--icon")?.[0]){ 5479 const kwipassDesktopNode = document.createElement('div') 5480 kwipassDesktopNode.className="header--icon" 5481 kwipassDesktopNode.innerHTML = html 5482 personIconElement?.replaceChild(kwipassDesktopNode,profileButtonElement) 5483 } 5484 5485 let timerId=null; 5486 document.getElementById('kp-login-button-header-logo')?.addEventListener('click', () => { 5487 clearTimeout(timerId); 5488 timerId = null; 5489 handleKpAndShopifyLogin(); 5490 }); 5491 const kwikpassMobileIconElement = document.getElementById('kp-login-button-header-logo-mobile'); 5492 if (kwikpassMobileIconElement) { 5493 kwikpassMobileIconElement.addEventListener('click', () => { 5494 clearTimeout(timerId); 5495 timerId = null; 5496 handleKpAndShopifyLogin(); 5497 }); 5498 } 5499 5500 updateDOM(); 5501 5502 } 5503 5504 let isdomReady = false; 5505 document.addEventListener('DOMContentLoaded', function() { 5506 isdomReady = true; 5507 }, { once: true }); 5508 5509 function handleManualIntegration(){ 5510 if(isdomReady){ 5511 handleDOMUpdate(); 5512 }else{ 5513 document.addEventListener('DOMContentLoaded', function() { 5514 handleDOMUpdate(); 5515 }); 5516 } 5517 5518 window.addEventListener('update-dom', function() { 5519 handleDOMUpdate(); 5520 }); 5521 } 5522 5523 function handleNewVersionsOfHorizon(){ 5524 const headerEl = document.querySelector("header"); 5525 5526 if (headerEl) { 5527 // Create an observer to watch attribute changes 5528 const observer = new MutationObserver((mutationsList) => { 5529 for (const mutation of mutationsList) { 5530 if ( 5531 mutation.type === "attributes" && 5532 mutation.attributeName === "data-hydrated" 5533 ) { 5534 const newValue = headerEl.getAttribute("data-hydrated"); 5535 if (newValue === "true") { 5536 5537 addProfileIconInHorizon(); 5538 const drawerElementMobile = document.getElementById("kwikp
5538ass-drawer-mobile") 5539 if(drawerElementMobile){ 5540 if(token){ 5541 document.getElementById("kp-login-button-header-logo-mobile").style.display = "none" 5542 document.getElementById("loggedin-icons-mobile").style.display = "block" 5543 }else{ 5544 document.getElementById("kp-login-button-header-logo-mobile").style.display = "flex" 5545 document.getElementById("loggedin-icons-mobile").style.display = "none" 5546 drawerElementMobile.style.display = "none" 5547 } 5548 } 5549 5550 const drawerElement = document.getElementById("kwikpass-drawer-desktop") 5551 if(drawerElement){ 5552 if(token){ 5553 document.getElementById("kp-login-button-header-logo").style.display = "none" 5554 document.getElementById("loggedin-icons").style.display = "block" 5555 }else{ 5556 document.getElementById("kp-login-button-header-logo").style.display = "flex" 5557 document.getElementById("loggedin-icons").style.display = "none" 5558 drawerElement.style.display = "none" 5559 } 5560 } 5561 const logoutElement = document.getElementById('logout-button-desktop') 5562 if(logoutElement) logoutElement.addEventListener('click', handleLogout); 5563 5564 //mobile 5565 const logoutElementMobile = document.getElementById('logout-button-mobile') 5566 if(logoutElementMobile) logoutElementMobile.addEventListener('click', handleLogout); 5567 5568 // Stop observing once done (optional) 5569 observer.disconnect(); 5570 } 5571 } 5572 } 5573 }); 5574 5575 observer.observe(headerEl, { attributes: true }); 5576 5577 setTimeout(() => { 5578 observer.disconnect(); 5579 }, 10000); 5580 5581} 5582 5583 } 5584 5585 /** 5586 * Identifies account-related URLs that must be gated until KwikPass scripts load. 5587 */ 5588 function isAccountPath(pathname) { 5589 if (!pathname) return false; 5590 return ( 5591 pathname === '/account' || 5592 pathname.startsWith('/account/login') || 5593 pathname.startsWith('/account/register') || 5594 pathname.endsWith('/account') || 5595 pathname.indexOf('customer_authentication') !== -1 || 5596 pathname === '/account/addresses' 5597 ); 5598 } 5599 5600 /** 5601 * KwikpassAccountGate 5602 * ------------------- 5603 * Blocks navigation to account pages (see isAccountPath) until every required 5604 * KwikPass script has loaded successfully. 5605 * 5606 * Design notes: 5607 * - A SINGLE delegated click listener is attached on `document` in the CAPTURE 5608 * phase. This means it runs before any bubbling / inline `onclick` handlers, 5609 * so navigation is reliably blocked even for links clicked before scripts 5610 * finish loading (the race condition we care about). No per-anchor listeners. 5611 * - A MutationObserver only manages the visual `kwikpass-loading` class on 5612 * dynamically injected account links; the actual click-blocking never depends 5613 * on the observer, so newly added links are protected immediately by delegation. 5614 * - Loading state is centralized: every registered script key must flip to true 5615 * before the gate lifts. If ANY script fails, the gate stays locked. 5616 */ 5617 var KwikpassAccountGate = (function () { 5618 var LOADING_CLASS = 'kwikpass-loading'; 5619 var STYLE_ID = 'kwikpass-gate-style'; 5620 5621 var scriptStatus = Object.create(null); // key -> true once that script loads 5622 var requiredScripts = []; 5623 var failed = false; // a required script errored -> stay locked 5624 var unlocked = false; // gate lifted; navigation allowed 5625 var observer = null; 5626 var clickListenerAttached = false; 5627 5628 // Resolve an anchor's pathname tolerantly (handles relative/absolute hrefs). 5629 function getAnchorPath(anchor) { 5630 try { 5631 return anchor.pathname || new URL(anchor.href, window.location.origin).pathname; 5632 } catch (e) { 5633 return null; 5634 } 5635 } 5636 5637 function isAccountAnchor(anchor) { 5638 if (!anchor || anchor.tagName !== 'A') return false;
5639 var href = anchor.getAttribute('href'); 5640 // Ignore non-navigational hrefs (in-page anchors, javascript: handlers). 5641 if (!href || href.indexOf('javascript:') === 0 || href.charAt(0) === '#') return false; 5642 return isAccountPath(getAnchorPath(anchor)); 5643 } 5644 5645 // Single delegated capture-phase handler: blocks account-link navigation 5646 // while the gate is locked. 5647 function onDocumentClick(event) { 5648 if (unlocked) return; 5649 var target = event.target; 5650 var anchor = target && target.closest ? target.closest('a[href]') : null; 5651 if (!anchor || !isAccountAnchor(anchor)) return; 5652 event.preventDefault(); 5653 event.stopPropagation(); 5654 } 5655 5656 // Add/remove the visual loading class on every current account anchor. 5657 function refreshAnchorClasses() { 5658 var anchors = document.querySelectorAll('a[href]'); 5659 for (var i = 0; i < anchors.length; i++) { 5660 if (!isAccountAnchor(anchors[i])) continue; 5661 if (unlocked) anchors[i].classList.remove(LOADING_CLASS); 5662 else anchors[i].classList.add(LOADING_CLASS); 5663 } 5664 } 5665 5666 function injectStyle() { 5667 if (document.getElementById(STYLE_ID)) return; 5668 var style = document.createElement('style'); 5669 style.id = STYLE_ID; 5670 // Visual cue only; click-blocking is handled by the delegated listener. 5671 style.textContent = '.' + LOADING_CLASS + '{cursor:progress;opacity:.7;}'; 5672 (document.head || document.documentElement).appendChild(style); 5673 } 5674 5675 // Flag account links inside a freshly added DOM node. 5676 function flagNode(node) { 5677 if (node.nodeType !== 1) return; // element nodes only 5678 if (node.tagName === 'A' && isAccountAnchor(node)) { 5679 node.classList.add(LOADING_CLASS); 5680 } 5681 if (node.querySelectorAll) { 5682 var inner = node.querySelectorAll('a[href]'); 5683 for (var k = 0; k < inner.length; k++) { 5684 if (isAccountAnchor(inner[k])) inner[k].classList.add(LOADING_CLASS); 5685 } 5686 } 5687 } 5688 5689 // Watch for dynamically injected account links (visual class only). 5690 function startObserver() { 5691 if (observer || typeof MutationObserver === 'undefined') return; 5692 observer = new MutationObserver(function (mutations) { 5693 if (unlocked) return; 5694 for (var m = 0; m < mutations.length; m++) { 5695 var added = mutations[m].addedNodes; 5696 for (var n = 0; n < added.length; n++) flagNode(added[n]); 5697 } 5698 }); 5699 observer.observe(document.documentElement, { childList: true, subtree: true }); 5700 } 5701 5702 function lockNavigation() { 5703 if (!clickListenerAttached) { 5704 document.addEventListener('click', onDocumentClick, true); // capture phase 5705 clickListenerAttached = true; 5706 } 5707 injectStyle(); 5708 startObserver(); 5709 // The DOM may still be parsing when scripts are appended. 5710 if (document.readyState === 'loading') { 5711 document.addEventListener('DOMContentLoaded', refreshAnchorClasses, { once: true }); 5712 } else { 5713 refreshAnchorClasses(); 5714 } 5715 } 5716 5717 function unlockNavigation() { 5718 if (unlocked) return; 5719 unlocked = true; 5720 if (clickListenerAttached) { 5721 document.removeEventListener('click', onDocumentClick, true); 5722 clickListenerAttached = false; 5723 } 5724 if (observer) { 5725 observer.disconnect(); 5726 observer = null; 5727 } 5728 refreshAnchorClasses(); // strips the loading class from account links 5729 } 5730 5731 function maybeUnlock() { 5732 if (failed) return; 5733 for (var i = 0; i < requiredScripts.length; i++) { 5734 if (!scriptStatus[requiredScripts[i]]) return; // still waiting on a script 5735 } 5736 unlockNavigation(); 5737 } 5738 5739 return { 5740 // Register every script key up front and begin blocking immediately. 5741 init: function (keys) { 5742 requiredScripts = keys.slice(); 5743 for (var i = 0; i < keys.length; i++) scriptStatus[keys[i]] = false; 5744 failed = false; 5745 unlocked = false; 5746 lockNavigation(); 5747 }, 5748 markLoaded: function (key) { 5749 scriptStatus[key] = true; 5750 maybeUnlock(); 5751 }, 5752 markFailed: function (key, err) { 5753 failed = true; 5754 // Meaningful error; gate stays locked intentionally. 5755 console.error( 5756 '[KwikPass] Required script failed to load: "' + key + 5757 '". Account links remain disabled.', err 5758 ); 5759 } 5760 }; 5761 })(); 5762 5763 5764 var KP_LOW_PRIORITY_SCRIPT_URL = "https://pdp.gokwik.co/jify/build/sdk.js"; 5765 5766 function generateKpRequestId(){ 5767 return 'req-' + Date.now().toString(36) + '-' + Math.random().toString(36).slice(2); 5768 } 5769 5770 function runWhenIdle(fn, timeout){ 5771 if(typeof requestIdleCallback === 'function'){ 5772 requestIdleCallback(fn, { timeout: timeout }); 5773 }else{ 5774 setTimeout(fn, 0); 5775 } 5776 } 5777 5778 function isJifyScriptAlreadyPresent(){ 5779 return !!document.querySelector('script[src*="/jify/"]'); 5780 } 5781 5782 function loadLowPriorityScript(src){ 5783 runWhenIdle(function(){
5784 try{ 5785 if(isJifyScriptAlreadyPresent()){ 5786 return; 5787 } 5788 var script = document.createElement('script'); 5789 script.src = src; 5790 script.type = 'module'; 5791 script.async = true; 5792 script.setAttribute('fetchpriority', 'low'); 5793 document.body.appendChild(script); 5794 }catch(err){ 5795 console.error(err); 5796 } 5797 }, 5000); 5798 } 5799 5800 function checkMerchantStatusAndLoadLowPriorityScript(merchantId){ 5801 runWhenIdle(function(){ 5802 try{ 5803 if(!merchantId){ 5804 return; 5805 } 5806 5807 if(isJifyScriptAlreadyPresent()){ 5808 return; 5809 } 5810 5811 var kpRequestId = generateKpRequestId(); 5812 var merchantStatusUrl = 'https://gkx.gokwik.co/jify/api/v1/merchant/status'; 5813 5814 fetch(merchantStatusUrl, { 5815 method: 'GET', 5816 priority: 'low', 5817 headers: { 5818 'gk-merchant-id': merchantId, 5819 'kp-merchant-id': merchantId, 5820 'kp-request-id': kpRequestId, 5821 }, 5822 }) 5823 .then(function(response){ return response.json(); }) 5824 .then(function(data){ 5825 if(data && data.enabled === true && KP_LOW_PRIORITY_SCRIPT_URL){ 5826 loadLowPriorityScript(KP_LOW_PRIORITY_SCRIPT_URL); 5827 } 5828 }) 5829 .catch(function(err){ console.error(err); }); 5830 }catch(err){ 5831 console.error(err); 5832 } 5833 }, 3000); 5834 } 5835 5836 function addScripts(){ 5837 var kwikpassCoreFnUrl="https://pdp.gokwik.co/kwikpass/kwikpass-core-functions-min.js" 5838 var kwikpassMerchantV2Url="https://pdp.gokwik.co/kwikpass/plugin/build/kp-merchant-v2.js"; 5839 var kwikpassSDKUrl="https://pdp.gokwik.co/kwikpass/plugin/build/kp-shopify-app-sdk.js"; 5840 5841 // Start blocking account-link navigation before the scripts are appended. 5842 KwikpassAccountGate.init(['core', 'merchantV2', 'sdk']); 5843 5844 var kpCoreFnScript = document.createElement('script'); 5845 kpCoreFnScript.src = kwikpassCoreFnUrl; 5846 kpCoreFnScript.async=false; 5847 5848 kpCoreFnScript.onload = () => { 5849 KwikpassAccountGate.markLoaded('core'); 5850 if(document.querySelector(ICON_SELECT_QUERY)){ 5851 addLoginButton(); 5852 }else if(document.querySelector(HORIZON_PROFILE_ICON)){ 5853 handleNewVersionsOfHorizon(); 5854 addLoginButtonForHorizon(); 5855 }else{ 5856 handleManualIntegration(); 5857 } 5858 }; 5859 kpCoreFnScript.onerror = (e) => KwikpassAccountGate.markFailed('core', e); 5860 5861 var kpMerchantV2Script = document.createElement('script'); 5862 kpMerchantV2Script.src = kwikpassMerchantV2Url; 5863 kpMerchantV2Script.async=false; 5864 kpMerchantV2Script.onload = () => KwikpassAccountGate.markLoaded('merchantV2'); 5865 kpMerchantV2Script.onerror = (e) => KwikpassAccountGate.markFailed('merchantV2', e); 5866 5867 var kpMerchantV2SDKScript = document.createElement('script'); 5868 kpMerchantV2SDKScript.src = kwikpassSDKUrl; 5869 kpMerchantV2SDKScript.async=false; 5870 kpMerchantV2SDKScript.onload = () => KwikpassAccountGate.markLoaded('sdk'); 5871 kpMerchantV2SDKScript.onerror = (e) => KwikpassAccountGate.markFailed('sdk', e); 5872 5873 // Appended together => the three scripts download in parallel 5874 // (async=false preserves execution order between them). 5875 document.body.appendChild(kpCoreFnScript); 5876 document.body.appendChild(kpMerchantV2Script); 5877 document.body.appendChild(kpMerchantV2SDKScript); 5878 } 5879 5880 const __kp_mid = "19g6iley2390p"; 5881 if(!__kp_mid || __kp_mid === ''){ 5882 window.merchantInfo = { 5883 ...window.merchantInfo, 5884 environment: "production", 5885 type: "merchantInfo", 5886 integrationType: "PLUGIN", 5887 } 5888 5889 var updateThemeMetaFieldGet = 'https://gkx.gokwik.co/kp/api/v1/shopify-app/update-theme-meta-field'; 5890 5891 5892 const options = { 5893 method: 'GET', 5894 headers: {accept: 'application/json', shop: window.Shopify.shop } 5895 }; 5896 5897 fetch(updateThemeMetaFieldGet, options) 5898 .then(response => response.json()) 5899 .then(response => { 5900 var data = response.data; 5901 if(data?.mid != null && data?.mid !== ''){ 5902 window.merchantInfo["mid"] = data.mid; 5903 } 5904 5905 addScripts(); 5906 checkMerchantStatusAndLoadLowPriorityScript(window.merchantInfo.mid); 5907 }) 5908 .catch(err => console.error(err)); 5909 }else{ 5910 window.merchantInfo = { 5911 ...window.merchantInfo, 5912 ...(__kp_mid != null && __kp_mid !== '' ? { mid: __kp_mid } : {}), 5913 environment: "production", 5914 type: "merchantInfo", 5915 integrationType: "PLUGIN", 5916 } 5917 5918 addScripts(); 5919 checkMerchantStatusAndLoadLowPriorityScript(window.merchantInfo.mid); 5920 } 5921 5922</script>
5922 5923<!-- END app snippet --> 5924 5925</div><div id="shopify-block-AeWwxYkVSSFBKc1p3d__12662622468263229979" class="shopify-block shopify-app-block"> 5926 5927 5928 5929 5930 5931 5932 5933
5934<script> 5935 window.__TOGETHR_CORE_ORIGIN__ = "https:\/\/togethr.club"; 5936 5937 window.__TOGETHR_COMPANY_ID__ = "316"; 5938 5939 5940 5941 window.__TOGETHR_PROMO_OVERLAY__ = { 5942 enabled: true, 5943 showAllCases: false, 5944 brandEnabled: true, 5945 showTnc: true 5946 }; 5947 5948 5949 window.__TOGETHR_GOKWIK_COUPON_ENABLED__ = true; 5950 5951 window.__TOGETHR_LINE_INTENT_ENABLED__ = false; 5952</script>
vendor: 1 bytes, line 5952
5952
5953<script src="https://cdn.shopify.com/extensions/01a0d01e-f7b0-756b-8d27-867315fb7802/1be3a3fe-line-intent-harden-20260924/assets/togethr.js" defer></script>
5953 5954 5955</div><div id="shopify-block-AUFcrV0h2SFU3Y1lSb__9108694385781200119" class="shopify-block shopify-app-block">
5955<script type="text/javascript"> 5956 window.Moast = window.Moast || {}; 5957 window.Moast.accesses = { 5958 removeBranding: true, 5959 widgetCustomization: true, 5960 proAppBlocks: true, 5961 multiProductTagging: true, 5962 increasedVideoUploads: true 5963 }; 5964 window.Moast.translations = {"quick_add":{"description":"Description","quantity":"Quantity","add_to_cart":"Add to cart","unavailable":"Unavailable","product_added_to_cart":"{{product}} added to cart"},"products_panel":{"title":"Products"},"caption":{"read_more":"Read more","read_less":"Read less"},"accessibility":{"powered_by_moast":"Powered by Moast (opens in new tab)","previous_slide":"Previous slide","next_slide":"Next slide","stories_carousel":"Stories carousel","media_carousel":"Media carousel","video_progress":"Video progress","toggle_view_mode":"Toggle view mode","close_player":"Close player","user_submitted_image":"User submitted image","media_player":"Media player","user_submitted_video":"User submitted video","autoplays_when_visible":" (autoplays when visible)","video_thumbnail":"Video thumbnail","click_to_view":"Click to view","click_to_open_in_player":"Click to open in player","content_type_image":"Image","content_type_video":"Video","item_of_total":"{{item}} of {{total}}","toggle_mute":"Toggle mute","mute":"Mute","unmute":"Unmute"}}; 5965 window.Moast.widgetSettings = {"seo":{"ai":false,"schema":false},"feeds":{"minimum":1},"video":{"mode":"performance"},"player":{"crop":true,"likes":true,"muted":true,"share":true,"handles":false,"autoplay":true,"captions":false,"showQuickAdd":false},"products":{"view":"slideshow","action":"add","addToCart":"navigate","reviewScore":false,"hideOutOfStock":false},"appearance":{"theme":"light","themeColors":{"buttonColor":"#F5F5F5","buttonColorContrast":"#000000"}}}; 5966</script>
5966 5967 5968 5969</div>
5969<script src="https://cdn.shopify.com/storefront/standard-actions.js" type="module" data-source-attribution="shopify.standard_actions"></script>
5969 5970</body> 5971</html>
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.