PageSourceSearch

https://www.flooringinc.com/customer/account/login/referer/aHR0cHM…dpbmMuY29tL2N1c3RvbWVyL2FjY291bnQvaW5kZXgv/

html flooringinc.com collected 2026-10-03 19:27:29 UTC 842,520 bytes, 10,976 lines download raw bytes

1<!doctype html>
2<html lang="en">
3<head >
4    <meta charset="utf-8"/>
4<script type="text/javascript">(window.NREUM||(NREUM={})).init={privacy:{cookies_enabled:true},ajax:{deny_list:["bam.nr-data.net"]},distributed_tracing:{enabled:true}};(window.NREUM||(NREUM={})).loader_config={agentID:"1120151136",accountID:"3731713",trustKey:"1322840",xpid:"VwEEUFFSCxABVVBQAQACV1cJ",licenseKey:"NRJS-d3390ca2649c82069a5",applicationID:"1112615138",browserID:"1120151136"};;/*! For license information please see nr-loader-spa-1.323.0.min.js.LICENSE.txt */
5(()=>{var e={8122(e,t,r){"use strict";r.d(t,{a:()=>i});var n=r(944);function i(e,t){try{if(!e||"object"!=typeof e)return(0,n.R)(3);if(!t||"object"!=typeof t)return(0,n.R)(4);const r=Object.create(Object.getPrototypeOf(t),Object.getOwnPropertyDescriptors(t)),s=0===Object.keys(r).length?e:r;for(let a in s)if(void 0!==e[a])try{if(null===e[a]){r[a]=null;continue}Array.isArray(e[a])&&Array.isArray(t[a])?r[a]=Array.from(new Set([...e[a],...t[a]])):e[a]instanceof Map||e[a]instanceof Set||e[a]instanceof Date||e[a]instanceof RegExp?r[a]=e[a]:"object"==typeof e[a]&&null!==t[a]&&"object"==typeof t[a]?r[a]=i(e[a],t[a]):r[a]=e[a]}catch(e){r[a]||(0,n.R)(1,e)}return r}catch(e){(0,n.R)(2,e)}}},2555(e,t,r){"use strict";r.d(t,{f:()=>a});var n=r(384),i=r(8122);const s={beacon:n.NT.beacon,errorBeacon:n.NT.errorBeacon,licenseKey:void 0,applicationID:void 0,sa:void 0,queueTime:void 0,applicationTime:void 0,ttGuid:void 0,user:void 0,account:void 0,product:void 0,extra:void 0,jsAttributes:{},userAttributes:void 0,atts:void 0,transactionName:void 0,tNamePlain:void 0};function a(e){try{return!!e.licenseKey&&!!e.errorBeacon&&!!e.applicationID}catch(e){return!1}}r.d(t,["D",0,e=>(0,i.a)(e,s)])},7699(e,t,r){"use strict";var n=r(860);const i={[n.K7.logging]:!0,[n.K7.genericEvents]:!0,[n.K7.jserrors]:!0,[n.K7.ajax]:!0};r.d(t,["It",0,1e6,"KC",0,i,"qh",0,"SESSION_ERROR"])},9324(e,t,r){"use strict";r.d(t,["A",0,"@newrelic/rrweb","x",0,"1.323.0"])},981(e,t,r){"use strict";r.d(t,["R",0,{AJAX:"AjaxRequest",PA:"PageAction",UA:"UserAction",BP:"BrowserPerformance",WS:"WebSocket",SPV:"SecurityPolicyViolation",JSE:"JavaScriptError",LOG:"Log",PVE:"PageView",PVT:"PageViewTiming",SR:"SessionReplay",ST:"SessionTrace",BI:"BrowserInteraction"}])},9752(e,t,r){"use strict";const n="newrelic-iframe-",i=n+"timing-update",s=n+"api",a=n+"api-response",o=n+"vitals-update",c=n+"ajax";r.d(t,["$8",0,o,"Gi",0,a,"KU",0,c,"Pl",0,n,"cS",0,s,"cr",0,i])},6154(e,t,r){"use strict";var n=r(1863);const i="undefined"!=typeof window&&!!window.document,s="undefined"!=typeof WorkerGlobalScope&&("undefined"!=typeof self&&self instanceof WorkerGlobalScope&&self.navigator instanceof WorkerNavigator||"undefined"!=typeof globalThis&&globalThis instanceof WorkerGlobalScope&&globalThis.navigator instanceof WorkerNavigator),a=i?window:"undefined"!=typeof WorkerGlobalScope&&("undefined"!=typeof self&&self instanceof WorkerGlobalScope&&self||"undefined"!=typeof globalThis&&globalThis instanceof WorkerGlobalScope&&globalThis),o=Boolean("hidden"===a?.document?.visibilityState),c=""+a?.location,d=/iPad|iPhone|iPod/.test(a.navigator?.userAgent),u=d&&"undefined"==typeof SharedWorker,l=(()=>{const e=a.navigator?.userAgent?.match(/Firefox[/\s](\d+\.\d+)/);return Array.isArray(e)&&e.length>=2?+e[1]:0})(),f=Date.now()-(0,n.t)();r.d(t,["OF",0,d,"RI",0,i,"WN",0,f,"bv",0,s,"gm",0,a,"lR",0,l,"m",0,c,"mw",0,o,"sb",0,u,"zk",0,()=>{const e=a?.performance?.getEntriesByType?.("navigation")?.[0];if(e&&e.responseStart>0&&e.responseStart<a.performance.now())return e}])},7295(e,t,r){"use strict";r.d(t,{Xv:()=>a,gX:()=>i,iW:()=>s});var n=[];function i(e){if(!e||s(e))return!1;if(0===n.length)return!0;if("*"===n[0].hostname)return!1;for(var t=0;t<n.length;t++){var r=n[t];if(r.hostname.test(e.hostname)&&r.pathname.test(e.pathname))return!1}return!0}function s(e){return void 0===e.hostname}function a(e){if(n=[],e&&e.length)for(var t=0;t<e.length;t++){let r=e[t];if(!r)continue;if("*"===r)return void(n=[{hostname:"*"}]);0===r.indexOf("http://")?r=r.substring(7):0===r.indexOf("https://")&&(r=r.substring(8));const i=r.indexOf("/");let s,a;i>0?(s=r.substring(0,i),a=r.substring(i)):(s=r,a="*");let[c]=s.split(":");n.push({hostname:o(c),pathname:o(a,!0)})}}function o(e,t=!1){const r=e.replace(/[.+?^${}()|[\]\\]/g,e=>"\\"+e).replace(/\*/g,".*?");return new RegExp((t?"^":"")+r+"$")}},3241(e,t,r){"use strict";r.d(t,{W:()=>i});var n=r(6154);function i(e={}){try{n.gm.dispatchEvent(new CustomEvent("newrelic",{detail:e}))}catch(e){}}},1687(e,t,r){"use strict";r.d(t,{Ak:()=>o,Ze:()=>d,x3:()=>c});var n=r(3241),i=r(3606),s=r(860),a=r(2646);function o(e,t){if(!e)return;const r={staged:!1,priority:s.P3[t]||0};
5e.runtime.drainRegistry.get(t)||e.runtime.drainRegistry.set(t,r)}function c(e,t){if(!e)return;const r=e.runtime.drainRegistry;r&&(r.get(t)&&r.delete(t),l(e,t,!1),r.size&&u(e))}function d(e,t="feature",r=!1){if(e){if(!e.runtime.drainRegistry.get(t)||r)return l(e,t);e.runtime.drainRegistry.get(t).staged=!0,u(e)}}function u(e){if(!e)return;const t=Array.from(e.runtime.drainRegistry);t.every(([e,t])=>t.staged)&&(t.sort((e,t)=>e[1].priority-t[1].priority),t.forEach(([t])=>{e.runtime.drainRegistry.delete(t),l(e,t)}))}function l(e,t,r=!0){if(!e)return;const s=e.ee,o=i.i.handlers;if(s&&!s.aborted&&s.backlog&&o){if((0,n.W)({type:"lifecycle",name:"drain",feature:t}),r){const e=s.backlog[t],r=o[t];if(r){for(let t=0;e&&t<e.length;++t)f(e[t],r);Object.entries(r).forEach(([e,t])=>{Object.values(t||{}).forEach(t=>{t[0]?.on&&t[0].context()instanceof a.y&&!t[0].listeners(e).includes(t[1])&&t[0].on(e,t[1])})})}}s.isolatedBacklog||delete o[t],s.backlog[t]=null,s.emit("drain-"+t,[])}}function f(e,t){var r=e[1];Object.values(t[r]||{}).forEach(t=>{var r=e[0];if(t[0]===r){var n=t[1],i=e[3],s=e[2];n.apply(i,s)}})}},7836(e,t,r){"use strict";var n=r(384),i=r(8990),s=r(2646),a=r(5607);const o="nr@context:".concat(a.W),c=function e(t,r){var n={},a={},u={},l=!1;try{l=16===r.length&&d.initializedAgents?.[r]?.runtime.isolatedBacklog}catch(e){}var f={on:p,addEventListener:p,removeEventListener:function(e,t){var r=n[e];if(!r)return;for(var i=0;i<r.length;i++)r[i]===t&&r.splice(i,1)},emit:function(e,r,n,i,s){!1!==s&&(s=!0);if(c.aborted&&!i)return;t&&s&&t.emit(e,r,n);var o=h(n);g(e).forEach(e=>{e.apply(o,r)});var d=v()[a[e]];d&&d.push([f,e,r,o]);return o},get:m,listeners:g,context:h,buffer:function(e,t){const r=v();if(t=t||"feature",f.aborted)return;Object.entries(e||{}).forEach(([e,n])=>{a[n]=t,t in r||(r[t]=[])})},abort:function(){f._aborted=!0,Object.keys(f.backlog).forEach(e=>{delete f.backlog[e]})},isBuffering:function(e){return!!v()[a[e]]},debugId:r,backlog:l?{}:t&&"object"==typeof t.backlog?t.backlog:{},isolatedBacklog:l};return Object.defineProperty(f,"aborted",{get:()=>{let e=f._aborted||!1;return e||(t&&(e=t.aborted),e)}}),f;function h(e){return e&&e instanceof s.y?e:e?(0,i.I)(e,o,()=>new s.y(o)):new s.y(o)}function p(e,t){n[e]=g(e).concat(t)}function g(e){return n[e]||[]}function m(t){return u[t]=u[t]||e(f,t)}function v(){return f.backlog}}(void 0,"globalEE"),d=(0,n.Zm)();d.ee||(d.ee=c),r.d(t,["P",0,o,"ee",0,c])},2646(e,t,r){"use strict";r.d(t,{y:()=>n});class n{constructor(e){this.contextId=e}}},9908(e,t,r){"use strict";r.d(t,{d:()=>n,p:()=>i});var n=r(7836).ee.get("handle");function i(e,t,r,i,s){s?(s.buffer([e],i),s.emit(e,t,r)):(n.buffer([e],i),n.emit(e,t,r))}},3606(e,t,r){"use strict";r.d(t,{i:()=>s});var n=r(9908);s.on=a;var i=s.handlers={};function s(e,t,r,s){a(s||n.d,i,e,t,r)}function a(e,t,r,i,s){s||(s="feature"),e||(e=n.d);var a=t[s]=t[s]||{};(a[r]=a[r]||[]).push([e,i])}},3878(e,t,r){"use strict";function n(e,t){return{capture:e,passive:!1,signal:t}}function i(e,t,r=!1,i){window.addEventListener(e,t,n(r,i))}function s(e,t,r=!1,i){document.addEventListener(e,t,n(r,i))}r.d(t,{DD:()=>s,jT:()=>n,sp:()=>i})},5607(e,t,r){"use strict";const n=(0,r(9566).bz)();r.d(t,["W",0,n])},9566(e,t,r){"use strict";r.d(t,{LA:()=>a,ZF:()=>o,bz:()=>s,el:()=>c});var n=r(6154);function i(e,t){return e?15&e[t]:16*Math.random()|0}function s(){const e=n.gm?.crypto||n.gm?.msCrypto;let t,r=0;return e&&e.getRandomValues&&(t=e.getRandomValues(new Uint8Array(30))),"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".split("").map(e=>"x"===e?i(t,r++).toString(16):"y"===e?(3&i()|8).toString(16):e).join("")}function a(e){const t=n.gm?.crypto||n.gm?.msCrypto;let r,s=0;t&&t.getRandomValues&&(r=t.getRandomValues(new Uint8Array(e)));const a=[];for(var o=0;o<e;o++)a.push(i(r,s++).toString(16));return a.join("")}function o(){return a(16)}function c(){return a(32)}},2614(e,t,r){"use strict";r.d(t,["BB",0,18e5,"Wt",0,"NRBA_SESSION::","g",0,{OFF:0,FULL:1,ERROR:2},"iL",0,{SAME_TAB:"same-tab",CROSS_TAB:"cross-tab"},"tS",0,{STARTED:"session-started",PAUSE:"session-pause",RESET:"session-reset",RESUME:"session-resume",UPDATE:"session-update"},"wk",0,144e5])},733(e,t,r){"use strict";function n(e,t){return function(e){let t=2166136261;for(let r=0;r<e.length;r++)t^=e.charCodeAt(r),t=Math.imul(t,16777619);return(t>>>0).toString(16).padStart(8,"0")}("".concat(String(e),":").concat(String(t)))}r.d(t,{Y:()=>n})},1863(e,t,r){"use strict";function n(){return Math.floor(performance.now())}r.d(t,{t:()=>n})},9119(e,t,r){"use strict";r.d(t,{L:()=>s});var n=/([^?#]*)[^#]*(#[^?]*|$).*/,i=/([^?#]*)().*/;function s(e,t){return e?e.replace(t?n:i,"$1$2"):e}},7485(e,t,r){"use strict";r.d(t,{D:()=>i});var n=r(6154);function i(e){if(0===(e||"").indexOf("data:"))return{protocol:"data"};try{const t=new URL(e,location.href),r={port:t.port,hostname:t.hostname,pathname:t.pathname,search:t.search,protocol:t.protocol.slice(0,t.protocol.indexOf(":")),sameOrigin:t.protocol===n.gm?.location?.protocol&&t.host===n.gm?.location?.host};return r.port&&""!==r.port||("http:"===t.protocol&&(r.port="80"),"https:"===t.protocol&&(r.port="443")),r.pathname&&""!==r.pathname?r.pathname.startsWith("/")||(r.pathname="/".concat(r.pathname)):r.pathname="/",r}catch(e){return{}}}},7866(e,t,r){"use strict";r.d(t,["Nc",0,/^\s*at Function code \(Function code:\d+:\d+\)\s*/i,"cn",0,/^\s*(?:([^@]*)(?:\(.*?\))?@)?((?:file|http|https|chrome|safari-extension).*?):(\d+)(?::(\d+))?\s*$/i,"fL",0,/^\s*at .+ \(eval at \S+ \((?:(?:file|http|https):[^)]+)?\)(?:, [^:]*:\d+:\d+)?\)$/i,"h3",0,/function (.+?)\s*\(/,"hB",0,/^\s*at (?:((?:\[object object\])?(?:[^(]*\([^)]*\))*[^()]*(?: \[as \S+\])?) )?\(?((?:file|http|https|chrome-extension):.*?)?:(\d+)(?::(\d+))?\)?\s*$/i])},944(e,t,r){"use strict";r.d(t,{R:()=>i});var n=r(3241);function i(e,t){"function"==typeof console.debug&&(console.debug("New Relic Warning: https://github.com/newrelic/newrelic-browser-agent/blob/main/docs/warning-codes.md#".concat(e),t),(0,n.W)({drained:null,type:"data",name:"warn",feature:"warn",data:{code:e,secondary:t}}))}},8990(e,t,r){"use strict";r.d(t,{I:()=>i});var n=Object.prototype.hasOwnProperty;function i(e,t,r){if(n.call(e,t))return e[t];var i=r();if(Object.defineProperty&&Object.keys)try{return Object.defineProperty(e,t,{value:i,writable:!0,enumerable:!1}),i}catch(e){}return e[t]=i,i}},6389(e,t,r){"use strict";function n(e,t=500,r={}){const n=r?.leading||!1;let i;return(...r)=>{n&&void 0===i&&(e.apply(this,r),i=setTimeout(()=>{i=clearTimeout(i)},t)),n||(clearTimeout(i),i=setTimeout(()=>{e.apply(this,r)},t))}}function i(e){let t=!1;return(...r)=>{t||(t=!0,e.apply(this,r))}}r.d(t,{J:()=>i,s:()=>n})},1910(e,t,r){"use strict";r.d(t,{i:()=>s});var n=r(944);const i=new Map;function s(...e){return e.every(e=>{if(i.has(e))return i.get(e);const t="function"==typeof e?e.toString():"",r=t.includes("[native code]"),s=t.includes("nrWrapper");return r||s||(0,n.R)(64,e?.name||t),i.set(e,r),r})}},3304(e,t,r){"use strict";r.d(t,{A:()=>i});var n=r(7836);function i(e){try{return JSON.stringify(e,(()=>{const e=new WeakSet;return(t,r)=>{if("object"==typeof r&&null!==r){if(e.has(r))return;e.add(r)}return r}})())??""}catch(e){try{n.ee.emit("internal-error",[e])}catch(e){}return""}}},9232(e,t,r){"use strict";r.d(t,["f",0,{MFE:"MFE",BA:"BA"}])},7560(e,t,r){"use strict";r.d(t,{N:()=>a,j:()=>c});var n=r(9119),i=r(944);const s=(0,r(6389).J)(e=>(0,i.R)(80,e));function a(e){if(!Array.isArray(e?.assets)||!e.assets.length)return;
5const t=e.assets.map(o).filter(Boolean);return t.length?{assets:t,scripts:t.filter(e=>e.isScript)}:void 0}function o(e){if(!e||"object"!=typeof e)return;const{matcher:t,type:r}=e;let i="string"==typeof t&&t.endsWith(".js");return void 0!==r&&(!function(e){return"script"===e||"asset"===e}(r)?s(r):i=function(e){return"script"===e}(r)),a=t,"[object RegExp]"===Object.prototype.toString.call(a)?{pattern:t,test:e=>(t.lastIndex=0,t.test((0,n.L)(e))),isScript:i}:"string"==typeof t&&t.length>0?{pattern:t,test:e=>(0,n.L)(e).includes(t),isScript:i}:void s(t);var a}function c(e,t,{scriptsOnly:r=!1}={}){if(!e||!t)return!1;return(r?e.scripts:e.assets).some(e=>e.test(t))}},5718(e,t,r){"use strict";r.d(t,{xo:()=>T,AZ:()=>v,cI:()=>g,Qr:()=>A,QL:()=>y});var n=r(6154),i=r(1863),s=r(9119),a=r(7866);class o{dom=new c;performance=new c;constructor(e){this.url=e,this.claimedBy=new Set}get script(){const e=Math.max(this.dom.start,this.performance.end);return{start:e,end:Math.max(this.dom.end,this.performance.end,e)}}}class c{start=0;end=0;value=void 0}function d(e=()=>{},t){return{get:()=>void 0!==t?t:e(),set:e=>{t=e}}}let u;try{u=v(y())[0]}catch(e){u=v(e)[0]}const l=new Map;let f=[];const h=new WeakMap;function p(e){let t=h.get(e);return t||(t={weighedAssetUrls:new Set,recordManifestScriptWindow:(t,r)=>{t&&(e.scriptStart=e.scriptStart>0?Math.min(e.scriptStart,t):t),r&&(e.scriptEnd=e.scriptEnd>0?Math.max(e.scriptEnd,r):r)}},h.set(e,t)),t}function g(e){return l.get(e)}function m(e){const t=g(e);
5if(t)return t;const r=new o(e);if(l.set(e,r),l.size>1e3){const e=l.keys().next().value;l.delete(e)}return r}if(n.gm.MutationObserver&&n.gm.document){new MutationObserver(e=>{e.forEach(e=>{e.addedNodes.forEach(e=>{if("SCRIPT"===e.nodeName&&e.src){const t=m((0,s.L)(e.src));t.dom.start=(0,i.t)(),t.dom.value=e;const r=()=>{t.dom.end=(0,i.t)()};["load","error"].forEach(t=>e.addEventListener(t,r,{once:!0}))}})})}).observe(n.gm.document,{childList:!0,subtree:!0})}if(n.gm.PerformanceObserver?.supportedEntryTypes.includes("resource")){new PerformanceObserver(e=>{e.getEntries().forEach(e=>{if((e=>"script"===e.initiatorType||["link","fetch"].includes(e.initiatorType)&&(0,s.L)(e.name).endsWith(".js"))(e)){const t=m((0,s.L)(e.name));t.performance.start=Math.floor(e.startTime),t.performance.end=Math.floor(e.responseEnd),t.performance.value=e}if(!f.length)return;const t=[];f.forEach(({test:r,addedAt:n},s)=>{(r(e)||(0,i.t)()-n>1e4)&&t.push(s)}),f=f.filter((e,r)=>!t.includes(r))})}).observe({type:"resource",buffered:!0})}function v(e){if(!e||"string"!=typeof e)return[];const t=new Set,r=e.split("\n");for(const e of r){const r=e.match(a.cn)||e.match(a.hB)||e.match(a.fL);if(r&&r[2])t.add((0,s.L)(r[2]));else{const r=e.match(/\(([^)]+\.js):\d+:\d+\)/)||e.match(/^\s+at\s+([^\s(]+\.js):\d+:\d+/);r&&r[1]&&t.add((0,s.L)(r[1]))}}return[...t]}function y(){let e;try{const t=Error.stackTraceLimit;Error.stackTraceLimit=50,e=(new Error).stack,Error.stackTraceLimit=t}catch(t){e=(new Error).stack}return e}function b(e,t){return(0,s.L)(e.name)===t}function E(e,t){e.fetchStart=Math.floor(t.startTime),e.fetchEnd=Math.floor(t.responseEnd),e.asset=t.name,e.type=t.initiatorType,w(e,t)}function w(e,t){const r=(0,s.L)(t.name),{weighedAssetUrls:n}=p(e);n.has(r)||(n.add(r),e.totalWeight=(e.totalWeight||0)+(t.transferSize||0),"blocking"===t.renderBlockingStatus?e.renderBlocking=!0:"non-blocking"===t.renderBlockingStatus&&!0!==e.renderBlocking&&(e.renderBlocking=!1))}function R(e,t,r,n,i){if(w(e,t),"scripts"!==i&&"all"!==i)return;if("all"===i||r.isScript){const r=Math.floor(t.startTime),n=Math.floor(t.responseEnd);e.fetchStart=e.fetchStart>0?Math.min(e.fetchStart,r):r,e.fetchEnd=e.fetchEnd>0?Math.max(e.fetchEnd,n):n}if(r.isScript){const r=g((0,s.L)(t.name));if(r){const t=()=>{const{start:t,end:n}=r.script;p(e).recordManifestScriptWindow(t,n)};t(),!r.dom.end&&r.dom.value&&["load","error"].forEach(e=>r.dom.value.addEventListener(e,t,{once:!0}))}n.resolved||(e.asset=t.name,e.type=t.initiatorType,n.resolved=!0)}}function T(e,t){const r=t?.manifest;if(!r||!r.assets.length)return;const s={resolved:!1},a=new Set(r.assets);(n.gm.performance?.getEntriesByType("resource")||[]).forEach(r=>{const n=[...a].find(e=>e.test(r.name));n&&(R(e,r,n,s,t.timingMethod),a.delete(n))}),a.size&&function(e,t,r,s){n.gm.PerformanceObserver?.supportedEntryTypes?.includes("resource")&&f.push({addedAt:(0,i.t)(),test:n=>{const i=[...t].find(e=>e.test(n.name));return i&&(R(e,n,i,r,s),t.delete(i)),0===t.size}})}(e,a,s,t.timingMethod)}function A(e){const t=e?.id,r={registeredAt:(0,i.t)(),reportedAt:void 0,fetchStart:0,fetchEnd:0,scriptStart:0,scriptEnd:0,asset:void 0,type:"unknown",totalWeight:0,renderBlocking:void 0},a=y();if(!a)return r;const o=n.gm.performance?.getEntriesByType("navigation")?.[0]?.name||"";try{const e=v(a),c=(e.length>1?e.filter(e=>u!==e):e)[0];if(!c)return r;if(o.includes(c))return r.asset=(0,s.L)(o),r.type="inline",r;r.correlation=g(c);const l=r.correlation?.performance.value||n.gm.performance?.getEntriesByType("resource")?.find(e=>b(e,c));if(l)E(r,l);else{(function(e){if(!e||!n.gm.document)return!1;try{const t=n.gm.document.querySelectorAll('link[rel="preload"][as="script"]');for(const r of t)if((0,s.L)(r.href)===e)return!0}catch(e){}return!1})(c)&&(r.asset=c,r.type="preload"),function(e,t){n.gm.PerformanceObserver?.supportedEntryTypes?.includes("resource")&&f.push({addedAt:(0,i.t)(),test:r=>!!b(r,t)&&(E(e,r),!0)})}(r,c)}const h=r.correlation,m=!!t&&!!h?.claimedBy.has(t);h&&t&&h.claimedBy.add(t);const y=()=>{const e=h?.script.start;if(!m||!e)return!1;return r.registeredAt-e>1e4};let w=0,R=0;p(r).recordManifestScriptWindow=(e,t)=>{e&&(w=w>0?Math.min(w,e):e),t&&(R=R>0?Math.max(R,t):t)},Object.defineProperty(r,"scriptStart",d(()=>{const e=y()?r.registeredAt:h?.script.start??r.fetchEnd;return w>0?Math.min(e,w):e})),Object.defineProperty(r,"scriptEnd",d(()=>{const e=y()?r.registeredAt:h?.script.end??r.registeredAt;return R>0?Math.max(e,R):e}))}catch(e){}return r}},5732(e,t,r){"use strict";r.d(t,{$5:()=>m,B5:()=>g,K6:()=>u,M$:()=>
5o,Ms:()=>d,NG:()=>c,Ux:()=>h,YA:()=>p,yx:()=>l});var n=r(5718),i=r(7560),s=r(9119),a=r(9232);function o(e){return e?.type===a.f.MFE}function c(e,t){if(!y(e,t))return;const r=t.runtime.registeredEntities;return r?.find(t=>t.metadata.target.iframeInterfaceId===e)}function d(e,t){if(!y(e,t))return[];const r=t.runtime.registeredEntities;return r?.filter(t=>String(t.metadata.target.id)===String(e)).map(e=>e.metadata.target)||[]}function u(e,t){if(!y(e,t))return[];const r=t.runtime.registeredEntities,n=(0,s.L)(e),a=r?.filter(t=>{const r=t.metadata.target?.manifest;return r?(0,i.j)(r,e,{scriptsOnly:!1}):!!t.metadata.timings?.asset&&(0,s.L)(t.metadata.timings.asset)===n});return f(a).map(e=>e.metadata.target)}function l(e,t){if(!y(e,t))return[];const r=t.runtime.registeredEntities,n=r?.filter(t=>{const r=t.metadata.target?.manifest;return r?(0,i.j)(r,e,{scriptsOnly:!0}):!!t.metadata.timings?.asset?.endsWith(e)});return f(n).map(e=>e.metadata.target)}function f(e){if(!e?.length)return e||[];const t=new Map,r=[];for(const n of e){const e=n.metadata?.timings?.asset;if(!e){r.push(n);continue}const i="".concat(e,"::").concat(n.metadata?.target?.id),s=t.get(i);if(s){if(s.metadata.target?.blocked&&!n.metadata.target?.blocked){const e=r.indexOf(s);-1!==e&&(r[e]=n),t.set(i,n)}}else t.set(i,n),r.push(n)}return r}function h(e,t){return v(t)?o(e)?e.attributes:t.agentRef.runtime.v2Target.attributes:{}}function p(e,t){return g(e,t)?{"child.id":e.id,"child.type":e.type,...h(void 0,t)}:{}}function g(e,t){return o(e)&&!!v(t)&&t.agentRef.init.api.register.duplicate_data_to_container}function m(e){if(!e?.runtime)return[];if(!y(!0,e)||!e.runtime.registeredEntities?.length)return[e.runtime.v2Target];const t=[];try{var r=(0,n.AZ)((0,n.QL)());let i=r.length-1;for(;r[i];)t.push(...l(r[i--],e))}catch(e){}const i=function(e){const t=new Set,r=[];for(const n of e){const e=n?.instance;t.has(e)||(t.add(e),r.push(n))}return r}(t);return i.length||i.push(e.runtime.v2Target),i}function v(e){return 2===e?.harvestEndpointVersion}function y(e,t){return!!e&&!!t?.init.api.register.enabled}},5289(e,t,r){"use strict";r.d(t,{GG:()=>a,Qr:()=>c,sB:()=>o});var n=r(3878),i=r(6389);function s(){return"undefined"==typeof document||"complete"===document.readyState}function a(e,t){if(s())return e();const r=(0,i.J)(e),a=setInterval(()=>{s()&&(clearInterval(a),r())},500);(0,n.sp)("load",r,t)}function o(e){if(s())return e();(0,n.DD)("DOMContentLoaded",e)}function c(e){if(s())return e();(0,n.sp)("popstate",e)}},384(e,t,r){"use strict";r.d(t,{Zm:()=>c,bQ:()=>u,dV:()=>d,pV:()=>l});var n=r(6154),i=r(1863),s=r(944),a=r(1910);const o={beacon:"bam.nr-data.net",errorBeacon:"bam.nr-data.net"};function c(){return n.gm.NREUM||(n.gm.NREUM={}),void 0===n.gm.newrelic&&(n.gm.newrelic=n.gm.NREUM),n.gm.NREUM}function d(){let e=c();return e.o||(e.o={ST:n.gm.setTimeout,SI:n.gm.setImmediate||n.gm.setInterval,CT:n.gm.clearTimeout,XHR:n.gm.XMLHttpRequest,REQ:n.gm.Request,EV:n.gm.Event,PR:n.gm.Promise,MO:n.gm.MutationObserver,FETCH:n.gm.fetch,WS:n.gm.WebSocket},(0,a.i)(...Object.values(e.o))),e}function u(e,t){let r=c();r.initializedAgents??={},t.initializedAt={ms:(0,i.t)(),date:new Date},r.initializedAgents[e]=t,2===Object.keys(r.initializedAgents).length&&(0,s.R)(69)}function l(){return function(){let e=c();const t=e.info||{};e.info={beacon:o.beacon,errorBeacon:o.errorBeacon,...t}}(),function(){let e=c();const t=e.init||{};e.init={...t}}(),d(),function(){let e=c();const t=e.loader_config||{};e.loader_config={...t}}(),c()}r.d(t,["NT",0,o])},2843(e,t,r){"use strict";r.d(t,{G:()=>s,u:()=>i});var n=r(3878);function i(e,t=!1,r,i){(0,n.DD)("visibilitychange",function(){if(t)return void("hidden"===document.visibilityState&&e());e(document.visibilityState)},r,i)}function s(e,t,r){(0,n.sp)("pagehide",e,t,r)}},8139(e,t,r){"use strict";r.d(t,{u:()=>f});var n=r(7836),i=r(3434),s=r(8990),a=r(6154);const o={},c=a.gm.XMLHttpRequest,d="addEventListener",u="removeEventListener",l="nr@wrapped:".concat(n.P);function f(e,t){var r=function(e){return(e||n.ee).get("events")}(e);if(o[r.debugId]++)return r;o[r.debugId]=1;var f=(0,i.YM)(r,!0,t);function p(e){f.inPlace(e,[d,u],"-",g)}function g(e,t){return e[1]}return"getPrototypeOf"in Object&&(a.RI&&h(document,p),c&&h(c.prototype,p),h(a.gm,p)),r.on(d+"-start",function(e,t){var r=e[1];if(null!==r&&("function"==typeof r||"object"==typeof r)&&"newrelic"!==e[0]){var n=(0,s.I)(r,l,function(){var e={object:function(){if("function"!=typeof r.handleEvent)return;return r.handleEvent.apply(r,arguments)},function:r}[typeof r];return e?f(e,"fn-",null,e.name||"anonymous"):r});this.wrapped=e[1]=n}}),r.on(u+"-start",function(e){e[1]=this.wrapped||e[1]}),r}function h(e,t,...r){let n=e;for(;"object"==typeof n&&!Object.prototype.hasOwnProperty.call(n,d);)n=Object.getPrototypeOf(n);n&&t(n,...r)}},3434(e,t,r){"use strict";r.d(t,{YM:()=>d});var n=r(7836),i=r(5607),s=r(5732);const a="nr@original:".concat(i.W);var o=Object.prototype.hasOwnProperty,c=!1;function d(e,t,r){return e||(e=n.ee),i.inPlace=function(e,t,r,n,s,a){r||(r="");const o="-"===r.charAt(0);for(let c=0;c<t.length;c++){const d=t[c],u=e[d];l(u)||(e[d]=i(u,o?d+r:r,n,d,s,a))}},i.flag=a,i;function i(t,n,i,c,f,h){return l(t)?t:(n||(n=""),nrWrapper[a]=t,function(e,t,r){if(Object.defineProperty&&Object.keys)try{return Object.keys(e).forEach(function(r){Object.defineProperty(t,r,{get:function(){return e[r]},set:function(t){return e[r]=t,t}})}),t}catch(e){u([e],r)}for(var n in e)o.call(e,n)&&(t[n]=e[n])}
5(t,nrWrapper,e),nrWrapper);function nrWrapper(){var a,o,l,p;let g,m;try{o=this,a=[...arguments],m=h?(0,s.$5)(r):[r?.runtime?.v2Target],l="function"==typeof i?i(a,o):i||{}}catch(t){u([t,"",[a,o,c],l],e)}d(n+"start",[a,o,c,m],l,f);const v=performance.now();let y;try{return p=t.apply(o,a),y=performance.now(),p}catch(e){throw y=performance.now(),d(n+"err",[a,o,e,m],l,f),g=e,g}finally{const e=y-v,t={start:v,end:y,duration:e,isLongTask:e>=50,methodName:c,thrownError:g};t.isLongTask&&d("long-task",[t,o,m],l,f),d(n+"end",[a,o,p,m],l,f)}}}function d(r,n,i,s){if(!c||t){var a=c;c=!0;try{e.emit(r,n,i,t,s)}catch(t){u([t,r,n,i],e)}c=a}}}function u(e,t){t||(t=n.ee);try{t.emit("internal-error",e)}catch(e){}}function l(e){return!(e&&"function"==typeof e&&e.apply&&!e[a])}r.d(t,["Jt",0,a])},9300(e,t,r){"use strict";const n=r(860).K7.ajax;r.d(t,["TZ",0,n,"f5",0,"ajaxRequest.id","mo",0,{NONE:"none",FAILURES:"failures",ALL:"all"}])},3333(e,t,r){"use strict";var n=r(981);const i=r(860).K7.genericEvents,s=[n.R.PA,n.R.UA,n.R.BP];r.d(t,["$v",0,{RESOURCES:"experimental.resources",REGISTER:"register"},"TZ",0,i,"Zp",0,["auxclick","click","copy","keydown","paste","scrollend"],"kd",0,s,"qN",0,["focus","blur"]])},6774(e,t,r){"use strict";const n=r(860).K7.jserrors;r.d(t,["T",0,n])},993(e,t,r){"use strict";const n=r(860).K7.logging;r.d(t,["A$",0,{OFF:0,ERROR:1,WARN:2,INFO:3,DEBUG:4,TRACE:5},"TZ",0,n,"p_",0,{ERROR:"ERROR",WARN:"WARN",INFO:"INFO",DEBUG:"DEBUG",TRACE:"TRACE"}])},3785(e,t,r){"use strict";r.d(t,{R:()=>c,b:()=>d});var n=r(9908),i=r(1863),s=r(860),a=r(3969),o=r(993);function c(e,t,r={},c=o.p_.INFO,d=!0,u,l=(0,i.t)()){(0,n.p)(a.xV,["API/logging/".concat(c.toLowerCase(),"/called")],void 0,s.K7.metrics,e),(0,n.p)("log",[l,t,r,c,d,u],void 0,s.K7.logging,e)}function d(e){return"string"==typeof e&&Object.values(o.p_).some(t=>t===e.toUpperCase().trim())}},3969(e,t,r){"use strict";const n=r(860).K7.metrics;r.d(t,["TZ",0,n,"XG",0,"storeEventMetrics","xV",0,"storeSupportabilityMetrics"])},6630(e,t,r){"use strict";const n=r(860).K7.pageViewEvent;r.d(t,["T",0,n])},782(e,t,r){"use strict";const n=r(860).K7.pageViewTiming;r.d(t,["T",0,n])},6344(e,t,r){"use strict";var n=r(2614);const i=r(860).K7.sessionReplay,s={[n.g.ERROR]:15e3,[n.g.FULL]:3e5,[n.g.OFF]:0}
5;r.d(t,["Qb",0,{API:"api",RESUME:"resume",SWITCH_TO_FULL:"switchToFull",INITIALIZE:"initialize",PRELOAD:"preload"},"TZ",0,i,"Vh",0,"errorDuringReplay","_s",0,{DomContentLoaded:0,Load:1,FullSnapshot:2,IncrementalSnapshot:3,Meta:4,Custom:5},"bc",0,{RESET:{message:"Session was reset",sm:"Reset"},IMPORT:{message:"Recorder failed to import",sm:"Import"},TOO_MANY:{message:"429: Too Many Requests",sm:"Too-Many"},TOO_BIG:{message:"Payload was too large",sm:"Too-Big"},CROSS_TAB:{message:"Session Entity was set to OFF on another tab",sm:"Cross-Tab"},ENTITLEMENTS:{message:"Session Replay is not allowed and will not be started",sm:"Entitlement"}},"yP",0,s])},5270(e,t,r){"use strict";r.d(t,{Aw:()=>a,SR:()=>s,rF:()=>o});var n=r(384),i=r(7767);function s(e){return!!(0,n.dV)().o.MO&&(0,i.V)(e)&&!0===e?.session_trace.enabled}function a(e){return!0===e?.session_replay.preload&&s(e)}function o(e,t){try{if("string"==typeof t?.type&&"password"===t.type.toLowerCase())return"*".repeat(e?.length||0);if(void 0!==t?.dataset?.nrUnmask||t?.classList?.contains("nr-unmask"))return e}catch(e){}return"string"==typeof e?e.replace(/[\S]/g,"*"):"*".repeat(e?.length||0)}},3738(e,t,r){"use strict";const n=r(860).K7.sessionTrace,i="-start",s="-end",a="fn"+i,o="fn"+s;r.d(t,["He",0,"bstResource","Kp",0,s,"Lc",0,o,"Rz",0,"pushState","TZ",0,n,"bD",0,"resource","bc",0,{CROSS_TAB:{message:"Session Entity was set to OFF on another tab"},ENTITLEMENTS:{message:"Session Trace is not allowed and will not be started"},RESET:{message:"Session was reset"},SESSION_CHANGED:{message:"Session identifier changed unexpectedly"}},"d3",0,i,"uP",0,a])},3962(e,t,r){"use strict";const n=r(860).K7.softNav;r.d(t,["O2",0,{INITIAL_PAGE_LOAD:"",ROUTE_CHANGE:1,UNSPECIFIED:2},"OV",0,"popstate","Qu",0,{INTERACTION:1,AJAX:2,CUSTOM_END:3,CUSTOM_TRACER:4},"TZ",0,n,"ih",0,{IP:"in progress",PF:"pending finish",FIN:"finished",CAN:"cancelled"},"pP",0,"initialPageLoad","tC",0,["click","keydown","submit"]])},4234(e,t,r){"use strict";r.d(t,{W:()=>i});var n=r(1687);class i{constructor(e,t){this.agentRef=e,this.ee=e?.ee,this.featureName=t,this.blocked=!1}deregisterDrain(){(0,n.x3)(this.agentRef,this.featureName)}}},7767(e,t,r){"use strict";var n=r(6154);r.d(t,["V",0,e=>n.RI&&!0===e?.privacy.cookies_enabled])},8362(e,t,r){"use strict";r.d(t,{d:()=>s});var n=r(9566),i=r(1741);class s extends i.W{agentIdentifier=(0,n.LA)(16)}},1741(e,t,r){"use strict";r.d(t,{W:()=>s});var n=r(944),i=r(4261);class s{#e(e,...t){if(this[e]!==s.prototype[e])return this[e](...t);(0,n.R)(35,e)}addPageAction(e,t){return this.#e(i.hG,e,t)}register(e){return this.#e(i.eY,e)}recordCustomEvent(e,t){return this.#e(i.fF,e,t)}setPageViewName(e,t){return this.#e(i.Fw,e,t)}setCustomAttribute(e,t,r){return this.#e(i.cD,e,t,r)}noticeError(e,t){return this.#e(i.o5,e,t)}setUserId(e,t=!1){return this.#e(i.Dl,e,t)}setApplicationVersion(e){return this.#e(i.nb,e)}setErrorHandler(e){return this.#e(i.bt,e)}addRelease(e,t){return this.#e(i.k6,e,t)}log(e,t){return this.#e("log",e,t)}start(){return this.#e("start")}finished(e){return this.#e(i.BL,e)}recordReplay(){return this.#e(i.CH)}pauseReplay(){return this.#e(i.Tb)}addToTrace(e){return this.#e(i.U2,e)}setCurrentRouteName(e){return this.#e(i.PA,e)}interaction(e){return this.#e(i.dT,e)}wrapLogger(e,t,r){return this.#e(i.Wb,e,t,r)}measure(e,t){return this.#e(i.V1,e,t)}consent(e){return this.#e(i.Pv,e)}}},4261(e,t,r){"use strict";r.d(t,["BL",0,"finished","CH",0,"recordReplay","Dl",0,"setUserId","Fw",0,"setPageViewName","PA",0,"setCurrentRouteName","Pv",0,"consent","Tb",0,"pauseReplay","U2",0,"addToTrace","V1",0,"measure","Wb",0,"wrapLogger","bt",0,"setErrorHandler","cD",0,"setCustomAttribute","dT",0,"interaction","eY",0,"register","fF",0,"recordCustomEvent","hG",0,"addPageAction","hw",0,"api-ixn-","k6",0,"addRelease","nb",0,"setApplicationVersion","o5",0,"noticeError"])},1738(e,t,r){"use strict";r.d(t,{U:()=>l,Y:()=>u});var n=r(3241),i=r(9908),s=r(1863),a=r(944),o=r(3969),c=r(8362),d=r(860);function u(e,t,r,s){const u=s||r;!u||u[e]&&u[e]!==c.d.prototype[e]||(u[e]=function(){(0,i.p)(o.xV,["API/"+e+"/called"],void 0,d.K7.metrics,r.ee),(0,n.W)({drained:!!r.runtime?.activatedFeatures,type:"data",name:"api",feature:"api-"+e,data:{}});try{return t.apply(this,arguments)}catch(e){(0,a.R)(23,e)}})}function l(e,t,r,n,a){const o=e.info;null===r?delete o.jsAttributes[t]:o.jsAttributes[t]=r,(a||null===r)&&(0,i.p)("api-"+n,[(0,s.t)(),t,r],void 0,"session",e.ee)}},8374(e,t,r){r.nc=(()=>{try{return document?.currentScript?.nonce}catch(e){}return""})()},860(e,t,r){"use strict";const n="events",i="jserrors",s="browser/blobs",a="browser/logs",o={ajax:"ajax",genericEvents:"generic_events",jserrors:i,logging:"logging",metrics:"metrics",pageAction:"page_action",pageViewEvent:"page_view_event",pageViewTiming:"page_view_timing",sessionReplay:"session_replay",sessionTrace:"session_trace",softNav:"soft_navigations"},c={[o.pageViewEvent]:1,[o.pageViewTiming]:2,[o.metrics]:3,[o.jserrors]:4,[o.softNav]:5,[o.ajax]:6,[o.sessionTrace]:7,[o.sessionReplay]:8,[o.logging]:9,[o.genericEvents]:10},d={[o.pageViewEvent]:"rum",[o.pageViewTiming]:n,[o.ajax]:n,[o.softNav]:n,[o.metrics]:i,[o.jserrors]:i,[o.sessionTrace]:s,[o.sessionReplay]:s,[o.logging]:a,[o.genericEvents]:"ins"};r.d(t,["$J",0,d,"K7",0,o,"P3",0,c,"XX",0,i,"Yy",0,a,"df",0,s,"hg",0,"connect"])}};const t={};function r(n){const i=t[n];if(void 0!==i)return i.exports;const s=t[n]={exports:{}};return e[n](s,s.exports,r),s.exports}r.m=e,r.d=(e,t)=>{if(Array.isArray(t))for(var n=0;n<t.length;){var i=t[n++],s=t[n++];r.o(e,i)?0===s&&n++:0===s?Object.defineProperty(e,i,{enumerable:!0,value:t[n++]}):Object.defineProperty(e,i,{enumerable:!0,get:s})}else for(var i in t)r.o(t,i)&&!r.o(e,i)&&Object.defineProperty(e,i,{enumerable:!0,get:t[i]})},r.f={},r.e=e=>Promise.all(Object.keys(r.f).reduce((t,n)=>(r.f[n](e,t),t),[])),r.u=e=>({212:"nr-spa-compressor",238:"nr-spa-iframe-message-handler",249:"nr-spa-recorder",478:"nr-spa"}[e]+"-1.323.0.min.js"),r.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),(()=>{const e={},t="NRBA-1.323.0.PROD:";r.l=(n,i,s,a)=>
5{if(e[n])return void e[n].push(i);let o,c;if(void 0!==s){const e=document.getElementsByTagName("script");for(var d=0;d<e.length;d++){const r=e[d];if(r.getAttribute("src")==n||r.getAttribute("data-webpack")==t+s){o=r;break}}}if(!o){c=!0;var u={478:"sha512-ORjtmy+nQMgxbu0os8+oTRa5sPzbinyuWSvpZrrstVLIaHofRRlfODdH+oUmkIgeQpM+vPf3vG/4RzvCsFVh1A==",249:"sha512-o7+K6xC0z3TqynjVxpd+jgiSgqy8rrPeRcUSqt5J0Rqg5Su5CycLMYfpwiM3WBCHiNDrG5aZoXJQ6HRc335XYQ==",212:"sha512-kRvBt1IYQDBnClTEWNaE8sDFqbXXM3Vdyf972Uf4MFbJxl7u3KmdO+jdB1H4achPEoT9YtNXHswaESey6sCH0A==",238:"sha512-U5EGmyYbFVR2UMNAuZJ7fTgVVtPa5b8RPMySDwXo7z3frRdkUJ2x1VAQTLQCeBab8VlGVGRV8FiSHIn/pwN72A=="};o=document.createElement("script"),o.charset="utf-8",r.nc&&o.setAttribute("nonce",r.nc),o.setAttribute("data-webpack",t+s),o.src=n,0!==o.src.indexOf(window.location.origin+"/")&&(o.crossOrigin="anonymous"),u[a]&&(o.integrity=u[a])}e[n]=[i];const l=(t,r)=>{o.onerror=o.onload=null,clearTimeout(f);const i=e[n];if(delete e[n],o.parentNode?.removeChild(o),i?.forEach(e=>e(r)),t)return t(r)},f=setTimeout(l.bind(null,void 0,{type:"timeout",target:o}),12e4);o.onerror=l.bind(null,o.onerror),o.onload=l.bind(null,o.onload),c&&document.head.appendChild(o)}})(),r.r=e=>{Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.p="https://js-agent.newrelic.com/",(()=>{const e={38:0,788:0};r.f.j=(t,n)=>{let i=r.o(e,t)?e[t]:void 0;if(0!==i)if(i)n.push(i[2]);else{const s=new Promise((r,n)=>i=e[t]=[r,n]);n.push(i[2]=s);const a=r.p+r.u(t),o=new Error,c=n=>{if(r.o(e,t)&&(i=e[t],0!==i&&(e[t]=void 0),i)){const e=n&&("load"===n.type?"missing":n.type),r=n&&n.target&&n.target.src;o.message="Loading chunk "+t+" failed: ("+e+": "+r+")",o.name="ChunkLoadError",o.type=e,o.request=r,i[1](o)}};r.l(a,c,"chunk-"+t,t)}};const t=(t,n)=>{let[i,s,a]=n;var o,c,d=0;if(i.some(t=>0!==e[t])){for(o in s)r.o(s,o)&&(r.m[o]=s[o]);if(a)a(r)}for(t&&t(n);d<i.length;d++)c=i[d],r.o(e,c)&&e[c]&&e[c][0](),e[c]=0},n=self["webpackChunk:NRBA-1.323.0.PROD"]=self["webpackChunk:NRBA-1.323.0.PROD"]||[];n.forEach(t.bind(null,0)),n.push=t.bind(null,n.push.bind(n))})(),(()=>{"use strict";r(8374);var e=r(8362),t=r(860);const n=Object.values(t.K7);var i=r(384),s=r(1741);var a=r(2555),o=r(3333),c=r(9300);const d=e=>{if(!e||"string"!=typeof e)return!1;try{document.createDocumentFragment().querySelector(e)}catch{return!1}return!0};var u=r(2614),l=r(944),f=r(8122);const h="[data-nr-mask]",p=e=>(0,f.a)(e,(()=>{const e={feature_flags:[],experimental:{register:!1,resources:!1,iframe_bridge:!1,iframe_domains:[]},mask_selector:"*",block_selector:"[data-nr-block]",mask_input_options:{color:!1,date:!1,"datetime-local":!1,email:!1,month:!1,number:!1,range:!1,search:!1,tel:!1,text:!1,time:!1,url:!1,week:!1,textarea:!1,select:!1,password:!0}};return{ajax:{deny_list:void 0,block_internal:!0,enabled:!0,autoStart:!0,capture_payloads:c.mo.NONE},api:{register:{get enabled(){return e.feature_flags.includes(o.$v.REGISTER)||e.experimental.register},set enabled(t){e.experimental.register=t},duplicate_data_to_container:!1,get allow_iframe_bridge(){return e.feature_flags.includes(o.$v.IFRAME_BRIDGE)||e.experimental.iframe_bridge},set allow_iframe_bridge(t){e.experimental.iframe_bridge=t},get iframe_domains(){return e.experimental.iframe_domains},set iframe_domains(t){Array.isArray(t)?e.experimental.iframe_domains=t:(0,l.R)(1,t)}}},browser_consent_mode:{enabled:!1},distributed_tracing:{enabled:void 0,exclude_newrelic_header:void 0,cors_use_newrelic_header:void 0,cors_use_tracecontext_headers:void 0,allowed_origins:void 0},get feature_flags(){return e.feature_flags},set feature_flags(t){e.feature_flags=t},generic_events:{enabled:!0,autoStart:!0},harvest:{interval:30},jserrors:{enabled:!0,autoStart:!0},logging:{enabled:!0,autoStart:!0},metrics:{enabled:!0,autoStart:!0},obfuscate:void 0,page_action:{enabled:!0},page_view_event:{enabled:!0,autoStart:!0},page_view_timing:{enabled:!0,autoStart:!0},performance:{capture_marks:!1,capture_measures:!1,capture_detail:!0,resources:{get enabled(){return e.feature_flags.includes(o.$v.RESOURCES)||e.experimental.resources},set enabled(t){e.experimental.resources=t},asset_types:[],first_party_domains:[],ignore_newrelic:!0}},privacy:{cookies_enabled:!0},proxy:{assets:void 0,beacon:void 0},session:{expiresMs:u.wk,inactiveMs:u.BB},session_replay:{autoStart:!0,enabled:!1,preload:!1,sampling_rate:10,error_sampling_rate:100,collect_fonts:!1,inl
5ine_images:!1,fix_stylesheets:!0,mask_all_inputs:!0,get mask_text_selector(){return e.mask_selector},set mask_text_selector(t){d(t)?e.mask_selector="".concat(t,",").concat(h):""===t||null===t?e.mask_selector=h:(0,l.R)(5,t)},get block_class(){return"nr-block"},get ignore_class(){return"nr-ignore"},get mask_text_class(){return"nr-mask"},get block_selector(){return e.block_selector},set block_selector(t){d(t)?e.block_selector+=",".concat(t):""!==t&&(0,l.R)(6,t)},get mask_input_options(){return e.mask_input_options},set mask_input_options(t){t&&"object"==typeof t?e.mask_input_options={...t,password:!0}:(0,l.R)(7,t)}},session_trace:{enabled:!0,autoStart:!0},soft_navigations:{enabled:!0,autoStart:!0},ssl:void 0,user_actions:{enabled:!0,elementAttributes:["id","className","tagName","type"]},web_sockets:{enabled:!1}}})());var g=r(6154),m=r(9324);let v=0;const y={buildEnv:"PROD",distMethod:"CDN",version:m.x,originTime:g.WN},b={consented:!1},E={activatedFeatures:void 0,appMetadata:{},configured:!1,get consented(){return this.session?.state?.consent||b.consented},set consented(e){b.consented=e},customTransaction:void 0,denyList:[],disabled:!1,drainRegistry:new Map,connector:void 0,harvester:void 0,v2Target:void 0,isolatedBacklog:!1,isRecording:!1,loaderType:void 0,maxBytes:3e4,obfuscator:void 0,onerror:void 0,ptid:void 0,releaseIds:{},session:void 0,timeKeeper:void 0,registeredEntities:[],jsAttributesMetadata:{bytes:0},get harvestCount(){return++v},listeningForIframeMessages:!1};var w=r(9232);var R=r(7836),T=r(3241);const A={accountID:void 0,trustKey:void 0,agentID:void 0,licenseKey:void 0,applicationID:void 0,xpid:void 0};var S=r(9908),x=r(9752);function O(e,t={},n,o){let{init:c,info:d,loader_config:u,runtime:l={},exposed:h=!0}=t;if(!d){const e=(0,i.pV)();c=e.init,d=e.info,u=e.loader_config}var m;e.init=p(c||{}),e.loader_config=(m=u||{},(0,f.a)(m,A)),d.jsAttributes??={},g.bv&&(d.jsAttributes.isWorker=!0),e.info=(0,a.D)(d);const v=e.init;e.runtime??=(e=>{const t=(0,f.a)(e,E),r=Object.keys(y).reduce((e,t)=>(e[t]={value:y[t],writable:!1,configurable:!0,enumerable:!0},e),{});return Object.defineProperties(t,r)})(l),e.runtime.v2Target??={type:w.f.BA,instance:e.agentIdentifier,get id(){return e.runtime.appMetadata?.agents?.[0]?.entityGuid},get attributes(){return{"entity.guid":this.id,appId:e.info.applicationID}}},v.proxy.assets&&(e=>{const t=e.startsWith("http");e+="/",r.p=t?e:"https://"+e})(v.proxy.assets),e.runtime.configured||(Object.defineProperty(e,"beacons",{get:()=>[e.info.beacon,e.info.errorBeacon,e.init.proxy.assets,e.init.proxy.beacon].filter(Boolean)}),Object.defineProperty(e.runtime,"denyList",{get:()=>[...e.init.ajax.deny_list||[],...e.init.ajax.block_internal?e.beacons:[]]}),e.runtime.ptid=e.agentIdentifier,function(e){const t=(0,i.pV)();Object.getOwnPropertyNames(s.W.prototype).forEach(r=>{const n=s.W.prototype[r];if("function"!=typeof n||"constructor"===n)return;let i=t[r];e[r]&&!1!==e.exposed&&"micro-agent"!==e.runtime?.loaderType&&(t[r]=(...t)=>{const n=e[r](...t);return i?i(...t):n})})}(e),e.runtime.loaderType=n,e.ee=R.ee.get(e.agentIdentifier),e.exposed=h,(0,T.W)({drained:!!e.runtime.activatedFeatures,type:"lifecycle",name:"initialize",feature:void 0,data:e.config}),e.init.api.register.allow_iframe_bridge&&g.gm.addEventListener("message",t=>{"string"==typeof t.data?.type&&t.data.type.startsWith(x.Pl)&&(0,S.p)("iframe-message",[t],void 0,"IFRAME",e.ee)}),e.runtime.configured=!0)}var _=r(1863),k=r(4261),N=r(1738);var L=r(1687),M=r(4234),P=r(5289),I=r(5270),j=r(7767),C=r(6389),D=r(7699);const B=new WeakSet,H=new WeakMap;class W extends M.W{constructor(e,t){super(e,t),this.abortHandler=void 0,this.featAggregate=void 0,this.loadedSuccessfully=void 0,this.onAggregateImported=new Promise(e=>{this.loadedSuccessfully=e}),this.deferred=Promise.resolve(),!1===e.init[this.featureName].autoStart?this.deferred=new Promise((t,r)=>{this.ee.on("manual-start-all",(0,C.J)(()=>{(0,L.Ak)(e,this.featureName),t()}))}):(0,L.Ak)(e,t)}importAggregator(e,t,n={}){if(this.featAggregate)return;const i=async()=>{if(await this.deferred,this.#t(e),!(0,a.f)(e.info))return(0,l.R)(43),e.ee.abort(),void this.loadedSuccessfully(!1);try{await async function(e,t,n){if(H.has(e))return H.get(e);const i=(async()=>
5{if((0,j.V)(e.init))try{const{setupAgentSession:t}=await r.e(478).then(r.bind(r,8766));t(e)}catch(e){(0,l.R)(20,e),t.emit("internal-error",[e]),(0,S.p)(D.qh,[e],void 0,n,t)}if(e.init.api.register.allow_iframe_bridge)try{const{setupIframeMFEMessageListener:t}=await r.e(238).then(r.bind(r,6417));t(e)}catch(e){(0,l.R)(23,e)}const[{Connector:i},{Harvester:s}]=await Promise.all([r.e(478).then(r.bind(r,6589)),r.e(478).then(r.bind(r,5237))]);e.runtime.connector=new i(e),e.runtime.harvester=new s(e);const a=Object.values(e.features).filter(t=>e.runtime.drainRegistry.has(t.featureName));Promise.all(a.map(e=>e.onAggregateImported)).then(()=>e.runtime.harvester.startTimer())})();H.set(e,i),await i}(e,this.ee,this.featureName)}catch(e){return(0,l.R)(79,e),this.ee.abort(),void this.loadedSuccessfully(!1)}try{if(!this.#r(this.featureName,e.runtime.session,e.init))return this.abortHandler?.(),(0,L.Ze)(this.agentRef,this.featureName),void this.loadedSuccessfully(!1);const{Aggregate:r}=await t();this.featAggregate=new r(e,n),e.runtime.harvester.initializedAggregates.push(this.featAggregate),this.loadedSuccessfully(!0)}catch(e){(0,l.R)(34,e),this.abortHandler?.(),(0,L.Ze)(this.agentRef,this.featureName,!0),this.loadedSuccessfully(!1)}};g.RI?(0,P.GG)(()=>i(),!0):i()}#r(e,r,n){if(this.blocked)return!1;switch(e){case t.K7.sessionReplay:return(0,I.SR)(n)&&!!r;case t.K7.sessionTrace:return!!r;default:return!0}}#t(e){if(!B.has(e)&&(B.add(e),!(0,a.f)(e.info))){const t=(0,i.pV)();let r={...t.info?.jsAttributes};try{r={...r,...e.info?.jsAttributes}}catch(e){}O(e,{...t,info:{...t.info,jsAttributes:r},runtime:e.runtime},e.runtime.loaderType)}}}var U=r(6630);class K extends W{static featureName=U.T;constructor(e){var t;super(e,U.T),this.setupInspectionEvents(),t=e,(0,N.Y)(k.Fw,function(e,r){"string"==typeof e&&("/"!==e.charAt(0)&&(e="/"+e),t.runtime.customTransaction=(r||"http://custom.transaction")+e,(0,S.p)("api-"+k.Fw,[(0,_.t)()],void 0,void 0,t.ee))},t),this.importAggregator(e,()=>e.init.feature_flags.includes("rum_v2")?r.e(478).then(r.bind(r,908)):r.e(478).then(r.bind(r,7927)))}setupInspectionEvents(){const e=(e,t)=>{e&&(0,T.W)({timeStamp:e.timeStamp,loaded:"complete"===e.target.readyState,type:"window",name:t,data:e.target.location+""})};(0,P.sB)(t=>{e(t,"DOMContentLoaded")}),(0,P.GG)(t=>{e(t,"load")}),(0,P.Qr)(t=>{e(t,"navigate")}),this.ee.on(u.tS.UPDATE,(e,t)=>{(0,T.W)({type:"lifecycle",name:"session",data:t})})}}class F extends e.d{constructor(e){var t;(super(),g.gm)?(this.features={},(0,i.bQ)(this.agentIdentifier,this),this.desiredFeatures=new Set(e.features||[]),this.desiredFeatures.add(K),O(this,e,e.loaderType||"agent"),t=this,(0,N.Y)(k.cD,function(e,r,n=!1){if("string"==typeof e){if(["string","number","boolean"].includes(typeof r)||null===r)return(0,N.U)(t,e,r,k.cD,n);(0,l.R)(40,typeof r)}else(0,l.R)(39,typeof e)},t),function(e){(0,N.Y)(k.Dl,function(t,r=!1){if("string"!=typeof t&&null!==t)return void(0,l.R)(41,typeof t);const n=e.info.jsAttributes["enduser.id"];r&&null!=n&&n!==t?(0,S.p)("api-setUserIdAndResetSession",[t],void 0,"session",e.ee):(0,N.U)(e,"enduser.id",t,k.Dl,!0)},e)}(this),function(e){(0,N.Y)(k.nb,function(t){if("string"==typeof t||null===t)return(0,N.U)(e,"application.version",t,k.nb,!1);(0,l.R)(42,typeof t)},e)}(this),function(e){(0,N.Y)("start",function(){e.ee.emit("manual-start-all")},e)}(this),function(e){(0,N.Y)(k.Pv,function(t=!0){if("boolean"==typeof t){if((0,S.p)("api-"+k.Pv,[t],void 0,"session",e.ee),e.runtime.consented=t,t){const t=e.features.page_view_event;t.onAggregateImported.then(e=>{const r=t.featAggregate;e&&!r.sentRum&&r.sendRum?.()})}}else(0,l.R)(65,typeof t)},e)}(this),this.run()):(0,l.R)(21)}get config(){return{info:this.info,init:this.init,loader_config:this.loader_config,runtime:this.runtime}}get api(){return this}run(){try{const e=function(e){const t={};return n.forEach(r=>{t[r]=!!e[r]?.enabled}),t}(this.init),r=[...this.desiredFeatures],i=this.init.feature_flags.includes("rum_v2");r.sort((e,r)=>t.P3[e.featureName]-t.P3[r.featureName]),r.forEach(r=>{if(!e[r.featureName]&&(i||r.featureName!==t.K7.pageViewEvent))return;const n=function(e){switch(e){case t.K7.ajax:return[t.K7.jserrors];case t.K7.sessionTrace:return[t.K7.ajax,t.K7.pageViewEvent];case t.K7.sessionReplay:return[t.K7.sessionTrace];case t.K7.pageViewTiming:return[t.K7.pageViewEvent];default:return[]}}(r.featureName).filter(e=>!(e in this.features));n.length>0&&(0,l.R)(36,{targetFeature:r.featureName,missingDependencies:n}),this.features[r.featureName]=new r(this)})}catch(e){(0,l.R)(22,e);for(const e in this.features)this.features[e].abortHandler?.();const t=(0,i.Zm)();delete t.initializedAgents[this.agentIdentifier]?.features,delete this.sharedAggregator;return t.ee.get(this.agentIdentifier).abort(),!1}}}var V=r(2843),z=r(782);class G extends W{static featureName=z.T;constructor(e){super(e,z.T),g.RI&&((0,V.u)(()=>(0,S.p)("docHidden",[(0,_.t)()],void 0,z.T,this.ee),!0),(0,V.G)(()=>(0,S.p)("winPagehide",[(0,_.t)()],void 0,z.T,this.ee)),this.importAggregator(e,()=>r.e(478).then(r.bind(r,9917))))}}var q=r(3969);class Y extends W{static featureName=q.TZ;constructor(e){super(e,q.TZ),this.importAggregator(e,()=>r.e(478).then(r.bind(r,6555)))}}var Z=r(6774),J=r(3878),X=r(3304);class Q{constructor(e,t,r,n,i){this.name="UncaughtError",this.message="string"==typeof e?e:(0,X.A)(e),this.sourceURL=t,this.line=r,this.column=n,this.__newrelic=i}}function ee(e){return ne(e)?e:new Q(void 0!==e?.message?e.message:e,e?.filename||e?.sourceURL,e?.lineno||e?.line,e?.colno||e?.col,e?.__newrelic,e?.cause)}function te(e){const t="Unhandled Promise Rejection: ";if(!e?.reason)return;if(ne(e.reason)){try{e.reason.message.startsWith(t)||(e.reason.message=t+e.reason.message)}catch(e){}return ee(e.reason)}const r=ee(e.reason);return(r.message||"").startsWith(t)||(r.message=t+r.message),r}function re(e){if(e.error instanceof SyntaxError&&!/:\d+$/.test(e.error.stack?.trim())){const t=new Q(e.message,e.filename,e.lineno,e.colno,e.error.__newrelic,e.cause);return t.name=SyntaxError.name,t}return ne(e.error)?e.error:ee(e)}function ne(e){return e instanceof Error&&!!e.stack}function ie(e,r,n,i,s=(0,_.t)()){"string"==typeof e&&(e=new Error(e)),(0,S.p)("err",[e,s,!1,r,n.runtime.isRecording,void 0,i],void 0,t.K7.jserrors,n.ee),(0,S.p)("uaErr",[],void 0,t.K7.genericEvents,n.ee)}var se=r(993),ae=r(3785);function oe(e,{customAttributes:t={},level:r=se.p_.INFO}={},n,i,s=(0,_.t)()){(0,ae.R)(n.ee,e,t,r,!1,i,s)}function ce(e,r,n,i,s=(0,_.t)()){(0,S.p)("api-"+k.hG,[s,e,r,i],void 0,t.K7.genericEvents,n.ee)}function de(e,r,n,i,s=(0,_.t)()){const{start:a,end:o,customAttributes:c}=r||{},d={customAttributes:c||{}};if("object"!=typeof d.customAttributes||"string"!=typeof e||0===e.length)return void(0,l.R)(57);const u=(e,t)=>
5null==e?t:"number"==typeof e?e:e instanceof PerformanceMark?e.startTime:Number.NaN;if(d.start=u(a,0),d.end=u(o,s),Number.isNaN(d.start)||Number.isNaN(d.end))(0,l.R)(57);else{if(d.duration=d.end-d.start,!(d.duration<0))return(0,S.p)("api-"+k.V1,[d,e,i],void 0,t.K7.genericEvents,n.ee),d;(0,l.R)(58)}}function ue(e,r={},n,i,s=(0,_.t)()){(0,S.p)("api-"+k.fF,[s,e,r,i],void 0,t.K7.genericEvents,n.ee)}var le=r(5718);const fe=(e,t)=>e?.nrMfeId===t.id&&(!e?.nrMfeObserved||e?.nrMfeObserved===t.instance),he=e=>{try{return g.gm.CSS.escape(e)}catch(t){return e}},pe=(e,t={})=>{const r=t.id,n=t.instance;if(!e||!r||!n)return!1;try{let r=1===e.nodeType?e:e.parentElement;for(;r?.tagName;){if(fe(r.dataset,t))return r.dataset.nrMfeObserved=n,!0;r=r.parentNode}}catch(e){}return!1},ge=(e,t)=>{const r=g.gm.document?.querySelectorAll('[data-nr-mfe-id="'.concat(he(e.id),'"]')),n=(Array.from(r)||[]).find(t=>fe(t.dataset,e));let i=!!n;i&&(n.dataset.nrMfeObserved??=e.instance);const s=new g.gm.MutationObserver(r=>{r.forEach(r=>{r.addedNodes.forEach(r=>{const n=1===r.nodeType?r:null;!i&&fe(n?.dataset,e)&&(s.disconnect(),s.observe(n,{childList:!0,subtree:!0}),i=!0,n.dataset.nrMfeObserved=e.instance),(e=>{try{return e?.textContent?.trim()||["img","video","canvas","svg"].includes(e?.nodeName?.toLowerCase())}catch(e){return!1}})(r)&&(i||pe(r,e))&&t(r,s)})})});return s.observe(n||g.gm.document,{childList:!0,subtree:!0}),s},me=(e,t,r)=>{try{const n=new g.gm.PerformanceObserver(e=>{e.getEntries().forEach(r)});return n.observe(t),e.push(n),n}catch(e){return null}};function ve(e,t){let r,n,i=!1;const s=e=>null==e?e:e-(t?.scriptStart||t?.registeredAt||0),a={fcp:{get value(){const e=s(r);return e>1e4?void 0:e},set value(e){i||(r=e)}},lcp:{get value(){if(void 0!==a.fcp.value)return s(n)},set value(e){i||(n=e)}},cls:{value:void 0},inp:{value:void 0},disconnect:()=>{}};if(!(e&&g.RI&&g.gm.MutationObserver&&g.gm.PerformanceObserver))return a;const o=[];setTimeout(()=>{r||a.disconnect()},1e4);const c=()=>{if(!i){if(null==r){const e=(0,_.t)();if(s(e)>1e4)return void a.disconnect();r=e}n??=(0,_.t)(),a.cls.value??=0}},d=ge(e,(e,t)=>{c(),t.disconnect()});o.push(d);let u=0,l=null;const f=new Set;try{l=new g.gm.ResizeObserver(e=>{i||e.forEach(e=>{try{const t=e.contentRect.width*e.contentRect.height;t>u&&(u=t,a.lcp.value=(0,_.t)()),l.unobserve(e.target)}catch(e){}})})}catch(e){}const h=ge(e,e=>{if(c(),l)try{const t=1===e.nodeType?e:e.parentElement;t&&!f.has(t)&&(f.add(t),"IMG"===t.tagName?t.complete?l.observe(t):t.addEventListener("load",()=>{l.observe(t)},{once:!0}):"VIDEO"===t.tagName?t.readyState>=2?l.observe(t):t.addEventListener("loadeddata",()=>{l.observe(t)},{once:!0}):l.observe(t))}catch(e){}});l&&o.push(l),o.push(h),me(o,{type:"layout-shift",buffered:!0},t=>{i||t.hadRecentInput||(t.sources||[]).some(r=>!!pe(r.node,e)&&(c(),a.cls.value+=t.value,!0))}),me(o,{type:"event",buffered:!0,durationThreshold:40},t=>{!i&&t.interactionId&&pe(t.target,e)&&(void 0===a.inp.value||t.duration>a.inp.value)&&(c(),a.inp.value=t.duration)});const p=["pointerdown","keydown"],m=()=>{p.forEach(e=>{g.gm.removeEventListener(e,v,{passive:!0})})};a.disconnect=()=>{i=!0,o.forEach(e=>{try{e?.disconnect()}catch(e){}}),m(),["visibilitychange","pagehide"].forEach(e=>{g.gm.removeEventListener(e,a.disconnect,{once:!0,passive:!0})})};const v=t=>{pe(t?.target,e)&&((()=>{try{h?.disconnect(),l?.disconnect()}catch(e){}})(),m())};p.forEach(e=>{g.gm.addEventListener(e,v,{passive:!0})}),["visibilitychange","pagehide"].forEach(e=>{g.gm.addEventListener(e,a.disconnect,{once:!0,passive:!0})});const y=g.gm.document?.querySelectorAll('[data-nr-mfe-id="'.concat(he(e.id),'"]'));return Array.from(y||[]).some(t=>fe(t.dataset,e))&&c(),a}var ye=r(9566),be=r(7560),Ee=r(9119);const we=["entry","scripts","all"],Re=["name","id","type"],Te=new Map([[ce,"addPageAction"],[oe,"log"],[de,"measure"],[ie,"noticeError"],[ue,"recordCustomEvent"]]),Ae={experimental:(0,C.J)(()=>(0,l.R)(54,"newrelic.register")),disabled:(0,C.J)(()=>(0,l.R)(55)),invalidTarget:(0,C.J)(e=>(0,l.R)(48,e)),deregistered:(0,C.J)(()=>(0,l.R)(68)),invalidTimingMethod:(0,C.J)(e=>(0,l.R)(80,e)),duplicateName:(0,C.J)(e=>(0,l.R)(81,e)),duplicateId:(0,C.J)(e=>(0,l.R)(82,e))};function Se(e){(0,N.Y)(k.eY,function(t){return xe(e,t)},e)}function xe(e,r){Ae.experimental(),r||={},r.instance=(0,ye.LA)(8),r.type=w.f.MFE,r.licenseKey||=e.info.licenseKey,r.blocked=!1,("object"!=typeof r.tags||null===r.tags||Array.isArray(r.tags))&&(r.tags={}),r.parent??={get id(){return e.runtime.appMetadata.agents?.[0].entityGuid},type:w.f.BA},r.manifest=(0,be.N)(r.manifest),void 0===r.timingMethod||we.includes(r.timingMethod)||(Ae.invali
5dTimingMethod(r.timingMethod),r.timingMethod=void 0);const n=(0,le.Qr)(r);r.manifest&&(0,le.xo)(n,r);const i=ve(r,n),s=(0,Ee.L)(""+location),a={};Object.prototype.hasOwnProperty.call(r,"attributes")||Object.defineProperty(r,"attributes",{get:()=>({...a,"source.id":r.id,"source.name":r.name,"source.type":r.type,"parent.type":r.parent?.type||w.f.BA,"parent.id":r.parent?.id})}),Object.entries(r.tags).forEach(([e,t])=>{Re.includes(e)||(a["source.".concat(e)]=t)});let o=()=>{};const c=e.runtime.registeredEntities,d=e=>{r.blocked=!0,o=e};function u(e){return"string"==typeof e&&!!e.trim()&&e.trim().length<501}e.init.api.register.enabled||d(Ae.disabled),u(r.id)&&u(r.name)||d(()=>Ae.invalidTarget(r)),c.forEach(e=>{try{const{name:t,id:n}=e.metadata.target;t===r.name&&n!==r.id&&Ae.duplicateName(r),n===r.id&&t!==r.name&&Ae.duplicateId(r)}catch(e){}});const f={addPageAction:(t,n={})=>m(ce,[t,{...a,...n},e],r),deregister:()=>{p(),d(Ae.deregistered)},log:(t,n={})=>m(oe,[t,{...n,customAttributes:{...a,...n.customAttributes||{}}},e],r),measure:(t,n={})=>m(de,[t,{...n,customAttributes:{...a,...n.customAttributes||{}}},e],r),noticeError:(t,n={})=>m(ie,[t,{...a,...n},e],r),recordCustomEvent:(t,n={})=>m(ue,[t,{...a,...n},e],r),setApplicationVersion:e=>g("application.version",e),setCustomAttribute:(e,t)=>g(e,t),setUserId:e=>g("enduser.id",e),metadata:{get customAttributes(){return a},target:r,timings:n,vitals:i,events:{latestTimestamp:void 0}}},h=()=>(r.blocked&&o(),r.blocked);function p(){if(n.reportedAt)return;n.reportedAt=(0,_.t)(),i.disconnect(),n.fcp=i.fcp,n.lcp=i.lcp,n.cls=i.cls,n.inp=i.inp;const e=n.fetchEnd-n.fetchStart,t=n.scriptEnd-n.scriptStart,r={assetUrl:n.asset,assetType:n.type,registerUrl:s,deregisterUrl:(0,Ee.L)(""+location),pageUrl:void 0,currentUrl:void 0,timeAlive:n.reportedAt-n.registeredAt,timeToBeRequested:n.fetchStart,timeToExecute:t,timeToFetch:e,timeToLoad:e+t,t
5imeToRegister:n.registeredAt,totalWeight:n.totalWeight,...void 0!==n.renderBlocking&&{renderBlocking:n.renderBlocking},...i.fcp.value>=0&&{"vitals.fcp.value":i.fcp.value},...i.lcp.value>=0&&{"vitals.lcp.value":i.lcp.value},...i.cls.value>=0&&{"vitals.cls.value":i.cls.value},...i.inp.value>=0&&{"vitals.inp.value":i.inp.value}};f.recordCustomEvent("MicroFrontEndTiming",r)}h()||(c.push(f),(0,V.G)(p));const g=(e,t)=>{h()||(a[e]=t)},m=(r,n,i)=>{if(h()&&r!==xe)return;const s=f.metadata.events.latestTimestamp??(0,_.t)();f.metadata.events.latestTimestamp=void 0;const a=Te.get(r)||"unknown";(0,S.p)(q.xV,["API/register/".concat(a,"/called")],void 0,t.K7.metrics,e.ee);try{return r(...n,i,s)}catch(e){(0,l.R)(50,e)}};return f}class Oe extends W{static featureName=Z.T;constructor(e){var t;super(e,Z.T),t=e,(0,N.Y)(k.o5,(e,r)=>ie(e,r,t),t),function(e){(0,N.Y)(k.bt,function(t){e.runtime.onerror=t},e)}(e),function(e){let t=0;(0,N.Y)(k.k6,function(e,r){++t>10||(this.runtime.releaseIds[e.slice(-200)]=(""+r).slice(-200))},e)}(e),Se(e);try{this.removeOnAbort=new AbortController}catch(e){}this.ee.on("internal-error",(t,r)=>{this.abortHandler&&(0,S.p)("ierr",[ee(t),(0,_.t)(),!0,{},e.runtime.isRecording,r],void 0,this.featureName,this.ee)}),g.gm.addEventListener("unhandledrejection",t=>{this.abortHandler&&(0,S.p)("err",[te(t),(0,_.t)(),!1,{unhandledPromiseRejection:1},e.runtime.isRecording],void 0,this.featureName,this.ee)},(0,J.jT)(!1,this.removeOnAbort?.signal)),g.gm.addEventListener("error",t=>{this.abortHandler&&(0,S.p)("err",[re(t),(0,_.t)(),!1,{},e.runtime.isRecording],void 0,this.featureName,this.ee)},(0,J.jT)(!1,this.removeOnAbort?.signal)),this.abortHandler=this.#n,this.importAggregator(e,()=>r.e(478).then(r.bind(r,9377)))}#n(){this.removeOnAbort?.abort(),this.abortHandler=void 0}}var _e=r(8990);let ke=1;function Ne(e){const t=typeof e;return!e||"object"!==t&&"function"!==t?-1:e===g.gm?0:(0,_e.I)(e,"nr@id",function(){return ke++})}function Le(e){if("string"==typeof e)return e.length;if("object"==typeof e){if("undefined"!=typeof ArrayBuffer&&e instanceof ArrayBuffer&&e.byteLength)return e.byteLength;if("undefined"!=typeof Blob&&e instanceof Blob&&e.size)return e.size;if(!("undefined"!=typeof FormData&&e instanceof FormData))try{return(0,X.A)(e).length}catch(e){return}}}var Me=r(8139),Pe=r(3434),Ie=r(5732);const je={},Ce=["open","send","setRequestHeader"];function De(e,t){var r=e||R.ee;const n=function(e){return(e||R.ee).get("xhr")}(r);if(void 0===g.gm.XMLHttpRequest)return n;if(je[n.debugId]++)return n;je[n.debugId]=1,(0,Me.u)(r,t);var i=(0,Pe.YM)(n,void 0,t),s=g.gm.XMLHttpRequest,a=g.gm.MutationObserver,o=g.gm.Promise,c=g.gm.setInterval,d="readystatechange",u=["onload","onerror","onabort","onloadstart","onloadend","onprogress","ontimeout"],f=[],h=g.gm.XMLHttpRequest=function(e){const r=new s(e),a=n.context(r);a.targets=(0,Ie.$5)(t);try{n.emit("new-xhr",[r],a),r.addEventListener(d,(o=a,function(){var e=this;e.readyState>3&&!o.resolved&&(o.resolved=!0,n.emit("xhr-resolved",[],e)),i.inPlace(e,u,"fn-",E)}),(0,J.jT)(!1))}catch(e){(0,l.R)(15,e);try{n.emit("internal-error",[e])}catch(e){}}var o;return r};function p(e,t){i.inPlace(t,["onreadystatechange"],"fn-",E)}if(function(e,t){for(var r in e)t[r]=e[r]}(s,h),h.prototype=s.prototype,i.inPlace(h.prototype,Ce,"-xhr-",E),n.on("send-xhr-start",function(e,t){p(e,t),function(e){f.push(e),a&&(m?m.then(b):c?c(b):(v=-v,y.data=v))}(t)}),n.on("open-xhr-start",p),a){var m=o&&o.resolve();if(!c&&!o){var v=1,y=document.createTextNode(v);new a(b).observe(y,{characterData:!0})}}else r.on("fn-end",function(e){e[0]&&e[0].type===d||b()});function b(){for(var e=0;e<f.length;e++)p(0,f[e]);f.length&&(f=[])}function E(e,t){return t}return n}var Be="fetch-",He=Be+"body-",We=["arrayBuffer","blob","json","text","formData"],Ue=g.gm.Request,Ke=g.gm.Response,Fe="prototype";const Ve={};function ze(e,t){const r=function(e){return(e||R.ee).get("fetch")}(e);if(!(Ue&&Ke&&g.gm.fetch))return r;if(Ve[r.debugId]++)return r;function n(e,n,i){var s=e[n];"function"==typeof s&&(e[n]=function(){var e=[...arguments];const n={},a=(0,Ie.$5)(t);var o;r.emit(i+"before-start",[e],n),n[R.P]&&n[R.P].dt&&(o=n[R.P].dt);var c=s.apply(this,e);return r.emit(i+"start",[e,o],c),c.then(function(e){return r.emit(i+"end",[null,e,a],c),e},function(e){throw r.emit(i+"end",[e,void 0,a],c),e})})}
5return Ve[r.debugId]=1,We.forEach(e=>{n(Ue[Fe],e,He),n(Ke[Fe],e,He)}),n(g.gm,"fetch",Be),r.on(Be+"end",function(e,n,i){var s=this;if(s.targets=i||[t.runtime.v2Target],n){var a=n.headers.get("content-length");null!==a&&(s.rxSize=a),r.emit(Be+"done",[null,n],s)}else r.emit(Be+"done",[e],s)}),r}var Ge=r(7485);class qe{constructor(e){this.agentRef=e}generateTracePayload(e){const t=this.agentRef.loader_config;if(!this.shouldGenerateTrace(e)||!t)return null;var r=(t.accountID||"").toString()||null,n=(t.agentID||"").toString()||null,i=(t.trustKey||"").toString()||null;if(!r||!n)return null;var s,a=(0,ye.ZF)(),o=(0,ye.el)(),c=Date.now();this.agentRef.runtime?.timeKeeper?.ready&&(s=Math.floor(this.agentRef.runtime.timeKeeper.correctAbsoluteTimestamp(c)));var d={spanId:a,traceId:o,timestamp:c,timestampCorrected:s};return(e.sameOrigin||this.isAllowedOrigin(e)&&this.useTraceContextHeadersForCors())&&(d.traceContextParentHeader=this.generateTraceContextParentHeader(a,o),d.traceContextStateHeader=this.generateTraceContextStateHeader(a,s??c,r,n,i)),(e.sameOrigin&&!this.excludeNewrelicHeader()||!e.sameOrigin&&this.isAllowedOrigin(e)&&this.useNewrelicHeaderForCors())&&(d.newrelicHeader=this.generateTraceHeader(a,o,s??c,r,n,i)),d}generateTraceContextParentHeader(e,t){return"00-"+t+"-"+e+"-01"}generateTraceContextStateHeader(e,t,r,n,i){return i+"@nr=0-1-"+r+"-"+n+"-"+e+"----"+t}generateTraceHeader(e,t,r,n,i,s){if(!("function"==typeof g.gm?.btoa))return null;var a={v:[0,1],d:{ty:"Browser",ac:n,ap:i,id:e,tr:t,ti:r}};return s&&n!==s&&(a.d.tk=s),btoa((0,X.A)(a))}shouldGenerateTrace(e){return this.agentRef.init?.distributed_tracing?.enabled&&this.isAllowedOrigin(e)}isAllowedOrigin(e){var t=!1;const r=this.agentRef.init?.distributed_tracing;if(e.sameOrigin)t=!0;else if(r?.allowed_origins instanceof Array)for(var n=0;n<r.allowed_origins.length;n++){var i=(0,Ge.D)(r.allowed_origins[n]);if(e.hostname===i.hostname&&e.protocol===i.protocol&&e.port===i.port){t=!0;break}}return t}excludeNewrelicHeader(){var e=this.agentRef.init?.distributed_tracing;return!!e&&!!e.exclude_newrelic_header}useNewrelicHeaderForCors(){var e=this.agentRef.init?.distributed_tracing;return!!e&&!1!==e.cors_use_newrelic_header}useTraceContextHeadersForCors(){var e=this.agentRef.init?.distributed_tracing;return!!e&&!!e.cors_use_tracecontext_headers}}var Ye=r(7295);function Ze(e){return"string"==typeof e?e:e instanceof(0,i.dV)().o.REQ?e.url:g.gm?.URL&&e instanceof URL?e.href:void 0}function $e(e,t){var r=(0,Ge.D)(t),n=e.params||e;n.hostname=r.hostname,n.port=r.port,n.protocol=r.protocol,n.host=r.hostname+":"+r.port,n.pathname=r.pathname,e.parsedOrigin=r,e.sameOrigin=r.sameOrigin}var Je=["load","error","abort","timeout"],Xe=Je.length,Qe=(0,i.dV)().o.REQ,et=(0,i.dV)().o.XHR;const tt="X-NewRelic-App-Data",rt="internal-error";class nt extends W{static featureName=c.TZ;constructor(e){super(e,c.TZ),this.dt=new qe(e),this.handler=(e,t,r,n)=>(0,S.p)(e,t,r,n,this.ee);try{const e={xmlhttprequest:"xhr",fetch:"fetch",beacon:"beacon"};g.gm?.performance?.getEntriesByType("resource").forEach(r=>{if(r.initiatorType in e&&0!==r.responseStatus){const n={status:r.responseStatus},i={rxSize:r.transferSize,duration:Math.floor(r.duration),cbTime:0};$e(n,r.name),this.handler("xhr",[n,i,r.startTime,r.responseEnd,e[r.initiatorType]],void 0,t.K7.ajax)}})}catch(e){}ze(this.ee,e),De(this.ee,e),function(e,r,n,i){const s=[c.mo.ALL,c.mo.FAILURES].includes(e.init.ajax?.capture_payloads);function a(e){var t=this;t.totalCbs=0,t.called=0,t.cbTime=0,t.end=A,t.ended=!1,t.xhrGuids={},t.lastSize=null,t.loadCaptureCalled=!1,t.params=this.params||{},t.metrics=this.metrics||{},t.latestLongtaskEnd=0,e.addEventListener("load",function(r){O(t,e)},(0,J.jT)(!1)),g.lR||e.addEventListener("progress",function(e){t.lastSize=e.loaded},(0,J.jT)(!1))}function o(e){this.params={method:e[0]},$e(this,e[1]),this.metrics={}}function d(t,r){e.loader_config.xpid&&this.sameOrigin&&r.setRequestHeader("X-NewRelic-ID",e.loader_config.xpid);var n=i.generateTracePayload(this.parsedOrigin);if(n){var s=!1;n.newrelicHeader&&(r.setRequestHeader("newrelic",n.newrelicHeader),s=!0),n.traceContextParentHeader&&(r.setRequestHeader("traceparent",n.traceContextParentHeader),n.traceContextStateHeader&&r.setRequestHeader("tracestate",n.traceContextStateHeader),s=!0),s&&(this.dt=n)}}function u(e,t){s&&e.length>=2&&(this.requestHeaders??={},this.requestHeaders[e[0].toLowerCase()]=e[1])}function l(e,t){var n=this.metrics,i=e[0],s=this;if(n&&i){var a=Le(i);a&&(n.txSize=a)}this.startTime=(0,_.t)(),this.requestBody=i,this.listener=function(e){try{"abort"!==e.type||s.loadCaptureCalled||(s.params.aborted=!0),("load"
5!==e.type||s.called===s.totalCbs&&(s.onloadCalled||"function"!=typeof t.onload)&&"function"==typeof s.end)&&s.end(t)}catch(e){try{r.emit(rt,[e])}catch(e){}}};for(var o=0;o<Xe;o++)t.addEventListener(Je[o],this.listener,(0,J.jT)(!1))}function f(e,t,r){this.cbTime+=e,t?this.onloadCalled=!0:this.called+=1,this.called!==this.totalCbs||!this.onloadCalled&&"function"==typeof r.onload||"function"!=typeof this.end||this.end(r)}function h(e,t){var r=""+Ne(e)+!!t;this.xhrGuids&&!this.xhrGuids[r]&&(this.xhrGuids[r]=!0,this.totalCbs+=1)}function p(e,t){var r=""+Ne(e)+!!t;this.xhrGuids&&this.xhrGuids[r]&&(delete this.xhrGuids[r],this.totalCbs-=1)}function m(){this.endTime=(0,_.t)()}function v(e,t){t instanceof et&&"load"===e[0]&&r.emit("xhr-load-added",[e[1],e[2]],t)}function y(e,t){t instanceof et&&"load"===e[0]&&r.emit("xhr-load-removed",[e[1],e[2]],t)}function b(e,t,r){t instanceof et&&("onload"===r&&(this.onload=!0),("load"===(e[0]&&e[0].type)||this.onload)&&(this.xhrCbStart=(0,_.t)()))}function E(e,t){this.xhrCbStart&&r.emit("xhr-cb-time",[(0,_.t)()-this.xhrCbStart,this.onload,t],t)}function w(e){var t,r=e[1]||{};if("string"==typeof e[0]?0===(t=e[0]).length&&g.RI&&(t=""+g.gm.location.href):e[0]&&e[0].url?t=e[0].url:g.gm?.URL&&e[0]&&e[0]instanceof URL?t=e[0].href:"function"==typeof e[0].toString&&(t=e[0].toString()),"string"==typeof t&&0!==t.length){t&&(this.parsedOrigin=(0,Ge.D)(t),this.sameOrigin=this.parsedOrigin.sameOrigin);var n=i.generateTracePayload(this.parsedOrigin);if(n&&(n.newrelicHeader||n.traceContextParentHeader))if(e[0]&&e[0].headers)o(e[0].headers,n)&&(this.dt=n);else{var s={};for(var a in r)s[a]=r[a];s.headers=new Headers(r.headers||{}),o(s.headers,n)&&(this.dt=n),e.length>1?e[1]=s:e.push(s)}}function o(e,t){var r=!1;return t.newrelicHeader&&(e.set("newrelic",t.newrelicHeader),r=!0),t.traceContextParentHeader&&(e.set("traceparent",t.traceContextParentHeader),t.traceContextStateHeader&&e.set("tracestate",t.traceContextStateHeader),r=!0),r}}function R(e,t){this.params={},this.metrics={},this.startTime=(0,_.t)(),this.dt=t;let[r,n={}]=e;$e(this,Ze(r));const i=(""+(r&&r instanceof Qe&&r.method||n.method||"GET")).toUpperCase();this.params.method=i,this.txSize=Le(n.body||r?.body)||0;try{var a=n.headers||r?.headers;if(s&&a)if(this.requestHeaders??={},a instanceof Headers)a.forEach(function(e,t){this.requestHeaders[t.toLowerCase()]=e}.bind(this));else if("object"==typeof a)for(var o in a)this.requestHeaders[o.toLowerCase()]=a[o]}catch(e){}this.requestBody=n.body||r?.body}function T(e,t){if(this.endTime=(0,_.t)(),this.params||(this.params={}),(0,Ye.iW)(this.params))return;this.params.status=t?t.status:0;const n=()=>{const e=+this.rxSize,t=null==this.rxSize||isNaN(e)?void 0:e,r={txSize:this.txSize,rxSize:t,duration:this.endTime-this.startTime},n=[this.params,r,this.startTime,this.endTime,"fetch"];this.targets.forEach(e=>x(n,this,e))};t&&s?t.clone().text().then(e=>{this.responseBody=e,this.rxSize&&"0"!==this.rxSize&&0!==this.rxSize||void 0===e||0===this.params.status||(this.rxSize=Le(e)),t?.headers&&(this.responseHeaders={},t.headers.forEach(function(e,t){this.responseHeaders[t.toLowerCase()]=e}.bind(this)))}).catch(e=>{r.emit(rt,[e])}).finally(()=>{n()}):n()}function A(e){const t=this.params,n=this.metrics;if(this.ended)return;this.ended=!0;for(let t=0;t<Xe;t++)e.removeEventListener(Je[t],this.listener,!1);if(t.aborted)return;if((0,Ye.iW)(t))return;if(n.duration=this.endTime-this.startTime,this.loadCaptureCalled||4!==e.readyState?null==t.status&&(t.status=0):O(this,e),n.cbTime=this.cbTime,s){try{this.responseBody=e.responseText}catch(t){this.responseBody=e.response}if((!n.rxSize||0===n.rxSize)&&void 0!==this.responseBody&&0!==t.status){const e=Le(this.responseBody);void 0!==e&&(n.rxSize=e)}try{this.responseHeaders=function(e){const t={};return e?(e.split("\r\n").forEach(function(e){const r=e.indexOf(": ");if(r>0){const n=e.substring(0,r),i=e.substring(r+2);t[n.toLowerCase()]=i}}),t):t}(e.getAllResponseHeaders())}catch(e){r.emit(rt,[e])}}const i=[t,n,this.startTime,this.endTime,"xhr"];this.targets.forEach(e=>x(i,this,e))}function x(e,r,i){n("xhr",[...e,i],r,t.K7.ajax)}function O(e,n){e.params.status=n.status;var i=function(e,t){var r=e.responseType;return"json"===r&&null!==t?t:"arraybuffer"===r||"blob"===r||"json"===r?Le(e.response):"text"===r||""===r||void 0===r?Le(e.responseText):void 0}(n,e.lastSize);if(void 0!==i&&0!==n.status&&(e.metrics.rxSize=i),e.sameOrigin&&n.getAllResponseHeaders().indexOf(tt)>=0){var s=n.getResponseHeader(tt);s&&((0,S.p)("sm",["Ajax/CrossApplicationTracing/Header/Seen"],void 0,t.K7.metrics,r),e.params.cat=s.split(", ").pop())}e.loadCaptureCalled=!0}r.on("new-xhr",a),r.on("open-xhr-start",o),r.on("open-xhr-end",d),r.on("send-xhr-start",l),r.on("setRequestHeader-xhr-start",u),r.on("xhr-cb-time",f),r.on("xhr-load-added",h),r.on("xhr-load-removed",p),r.on("xhr-resolved",m),r.on("addEventListener-end",v),r.on("removeEventListener-end",y),r.on("fn-end",E),r.on("fetch-before-start",w),r.on("fetch-start",R),r.on("fn-start",b),r.on("fetch-done",T)}(e,this.ee,this.handler,this.dt),this.importAggregator(e,()=>r.e(478).then(r.bind(r,3845)))}}const it={},st=["pushState","replaceState"];function at(e,t){const r=function(e){return(e||R.ee).get("history")}(e);return!g.RI||it[r.debugId]++||(it[r.debugId]=1,(0,Pe.YM)(r,void 0,t).inPlace(window.history,st,"-")),r}var ot=r(3738);function ct(e){(0,N.Y)(k.BL,function(r=Date.now()){const n=r-g.WN;n<0&&(0,l.R)(62,r),(0,S.p)(q.XG,[k.BL,{time:n}],void 0,t.K7.metrics,e.ee),e.addToTrace({name:k.BL,start:r,origin:"nr"}),(0,S.p)("api-"+k.hG,[n,k.BL],void 0,t.K7.genericEvents,e.ee)},e)}const{He:dt,bD:ut,d3:lt,Kp:ft,TZ:ht,Lc:pt,uP:gt,Rz:mt}=ot;class vt extends W{static featureName=ht;constructor(e){var n;super(e,ht),n=e,(0,N.Y)(k.U2,function(e){if(!(e&&"object"==typeof e&&e.name&&e.start))return;const r={n:e.name,s:e.start-g.WN,e:(e.end||e.start)-g.WN,o:e.origin||"",t:"api"};r.s<0||r.e<0||r.e<r.s?(0,l.R)(61,{start:r.s,end:r.e}):(0,S.p)("bstApi",[r],void 0,t.K7.sessionTrace,n.ee)},n),ct(e);
5if(!(0,j.V)(e.init))return void this.deregisterDrain();const i=this.ee;let s;at(i,e),this.eventsEE=(0,Me.u)(i,e),this.eventsEE.on(gt,function(e,t){this.bstStart=(0,_.t)()}),this.eventsEE.on(pt,function(e,r){(0,S.p)("bst",[e[0],r,this.bstStart,(0,_.t)()],void 0,t.K7.sessionTrace,i)}),i.on(mt+lt,function(e){this.time=(0,_.t)(),this.startPath=location.pathname+location.hash}),i.on(mt+ft,function(e){(0,S.p)("bstHist",[location.pathname+location.hash,this.startPath,this.time],void 0,t.K7.sessionTrace,i)});try{s=new PerformanceObserver(e=>{const r=e.getEntries();(0,S.p)(dt,[r],void 0,t.K7.sessionTrace,i)}),s.observe({type:ut,buffered:!0})}catch(e){}this.importAggregator(e,()=>r.e(478).then(r.bind(r,6974)),{resourceObserver:s})}}var yt=r(733),bt=r(6344);class Et extends W{static featureName=bt.TZ;#i;recorder;constructor(e){var n;let i;super(e,bt.TZ),n=e,(0,N.Y)(k.CH,function(){(0,S.p)(k.CH,[],void 0,t.K7.sessionReplay,n.ee)},n),function(e){(0,N.Y)(k.Tb,function(){(0,S.p)(k.Tb,[],void 0,t.K7.sessionReplay,e.ee)},e)}(e);const s="".concat(u.Wt).concat((0,yt.Y)(e.info.licenseKey,e.info.applicationID));try{i=JSON.parse(localStorage.getItem(s))}catch(e){}(0,I.SR)(e.init)&&this.ee.on(k.CH,()=>this.#s()),this.#a(i)&&this.importRecorder().then(e=>{e.startRecording(bt.Qb.PRELOAD,i?.sessionReplayMode)}),this.abortHandler=this.#n,this.importAggregator(this.agentRef,()=>r.e(478).then(r.bind(r,6167)),this),this.ee.on("err",e=>{this.blocked||this.agentRef.runtime.isRecording&&(this.errorNoticed=!0,(0,S.p)(bt.Vh,[e],void 0,this.featureName,this.ee))})}#a(e){return e&&(e.sessionReplayMode===u.g.FULL||e.sessionReplayMode===u.g.ERROR)||(0,I.Aw)(this.agentRef.init)}importRecorder(){return this.recorder?Promise.resolve(this.recorder):(this.#i??=Promise.all([r.e(478),r.e(249)]).then(r.bind(r,4866)).then(({Recorder:e})=>(this.recorder=new e(this),this.recorder)).catch(e=>{throw this.ee.emit("internal-error",[e]),this.blocked=!0,e}),this.#i)}#s(){this.blocked||(this.featAggregate?this.featAggregate.mode!==u.g.FULL&&this.featAggregate.initializeRecording(u.g.FULL,!0,bt.Qb.API):this.importRecorder().then(()=>{this.recorder.startRecording(bt.Qb.API,u.g.FULL)}))}#n(){this.recorder?.stopRecording()}}var wt=r(3962);class Rt extends W{static featureName=wt.TZ;constructor(e){if(super(e,wt.TZ),function(e){const r=e.ee.get("tracer");function n(){}(0,N.Y)(k.dT,function(e){return(new n).get("object"==typeof e?e:{})},e);const i=n.prototype={createTracer:function(n,i){var s={},a=this,o="function"==typeof i;return(0,S.p)(q.xV,["API/createTracer/called"],void 0,t.K7.metrics,e.ee),function(){if(r.emit((o?"":"no-")+"fn-start",[(0,_.t)(),a,o],s),o)try{return i.apply(this,arguments)}catch(e){const t="string"==typeof e?new Error(e):e;throw r.emit("fn-err",[arguments,this,t],s),t}finally{r.emit("fn-end",[(0,_.t)()],s)}}}};["actionText","setName","setAttribute","save","ignore","onEnd","getContext","end","get"].forEach(r=>{N.Y.apply(this,[r,function(){return(0,S.p)(k.hw+r,[performance.now(),...arguments],this,t.K7.softNav,e.ee),this},e,i])}),(0,N.Y)(k.PA,function(){(0,S.p)(k.hw+"routeName",[performance.now(),...arguments],void 0,t.K7.softNav,e.ee)},e)}(e),!g.RI||!(0,i.dV)().o.MO)return;const n=at(this.ee,e);try{this.removeOnAbort=new AbortController}catch(e){}wt.tC.forEach(e=>{(0,J.sp)(e,e=>{c(e)},!0,this.removeOnAbort?.signal)}
5);const s=()=>(0,S.p)("newURL",[(0,_.t)(),""+window.location],void 0,this.featureName,this.ee);n.on("pushState-end",s),n.on("replaceState-end",s),(0,J.sp)(wt.OV,e=>{c(e),(0,S.p)("newURL",[e.timeStamp,""+window.location],void 0,this.featureName,this.ee)},!0,this.removeOnAbort?.signal);let a=!1;const o=new((0,i.dV)().o.MO)((e,t)=>{a||(a=!0,requestAnimationFrame(()=>{(0,S.p)("newDom",[(0,_.t)()],void 0,this.featureName,this.ee),a=!1}))}),c=(0,C.s)(e=>{"loading"!==document.readyState&&((0,S.p)("newUIEvent",[e],void 0,this.featureName,this.ee),o.observe(document.body,{attributes:!0,childList:!0,subtree:!0,characterData:!0}))},100,{leading:!0});this.abortHandler=function(){this.removeOnAbort?.abort(),o.disconnect(),this.abortHandler=void 0},this.importAggregator(e,()=>r.e(478).then(r.bind(r,4393)),{domObserver:o})}}var Tt=r(981);const At={},St=new Set;function xt(e){return"string"==typeof e?{type:"string",size:(new TextEncoder).encode(e).length}:e instanceof ArrayBuffer?{type:"ArrayBuffer",size:e.byteLength}:e instanceof Blob?{type:"Blob",size:e.size}:e instanceof DataView?{type:"DataView",size:e.byteLength}:ArrayBuffer.isView(e)?{type:"TypedArray",size:e.byteLength}:{type:"unknown",size:0}}class Ot{constructor(e,t){this.timestamp=(0,_.t)(),this.currentUrl=(0,Ee.L)(window.location.href),this.socketId=(0,ye.LA)(8),this.requestedUrl=(0,Ee.L)(e),this.requestedProtocols=Array.isArray(t)?t.join(","):t||"",this.openedAt=void 0,this.protocol=void 0,this.extensions=void 0,this.binaryType=void 0,this.messageOrigin=void 0,this.messageCount=0,this.messageBytes=0,this.messageBytesMin=0,this.messageBytesMax=0,this.messageTypes=void 0,this.sendCount=0,this.sendBytes=0,this.sendBytesMin=0,this.sendBytesMax=0,this.sendTypes=void 0,this.closedAt=void 0,this.closeCode=void 0,this.closeReason="unknown",this.closeWasClean=void 0,this.connectedDuration=0,this.hasErrors=void 0}}class _t extends W{static featureName=o.TZ;constructor(e){super(e,o.TZ);const n=e.init.feature_flags.includes("websockets")||e.init.web_sockets?.enabled,s=!e.init.feature_flags.includes("no_spv"),a=[e.init.page_action.enabled,e.init.performance.capture_marks,e.init.performance.capture_measures,e.init.performance.resources.enabled,e.init.user_actions.enabled,n,s];var c;let d;if(c=e,(0,N.Y)(k.hG,(e,t)=>ce(e,t,c),c),function(e){(0,N.Y)(k.fF,(t,r)=>ue(t,r,e),e)}(e),ct(e),Se(e),function(e){(0,N.Y)(k.V1,(t,r)=>de(t,r,e),e)}(e),this.removeOnAbort=new AbortController,this.abortHandler=()=>{this.removeOnAbort.abort(),this.abortHandler=void 0},n){const u=function(e,t){if(!(0,i.dV)().o.WS)return e;const r=e.get("websockets");if(At[r.debugId]++)return r;At[r.debugId]=1,(0,V.G)(()=>{const e=(0,_.t)();St.forEach(t=>{t.nrData.closedAt=e,t.nrData.closeCode=1001,t.nrData.closeReason="Page navigating away",t.nrData.closeWasClean=!1,t.nrData.openedAt&&(t.nrData.connectedDuration=e-t.nrData.openedAt),r.emit("ws",[t.nrData,t.targets],t)})});
5class n extends WebSocket{static name=Tt.R.WS;static toString(){return"function WebSocket() { [native code] }"}toString(){return"[object WebSocket]"}get[Symbol.toStringTag](){return n.name}#o(e){(e.__newrelic??={}).socketId=this.nrData.socketId,this.nrData.hasErrors??=!0}constructor(...e){super(...e),this.nrData=new Ot(e[0],e[1]),this.targets=(0,Ie.$5)(t),this.addEventListener("open",()=>{this.nrData.openedAt=(0,_.t)(),["protocol","extensions","binaryType"].forEach(e=>{this.nrData[e]=this[e]}),St.add(this)}),this.addEventListener("message",e=>{const{type:t,size:r}=xt(e.data);this.nrData.messageOrigin??=(0,Ee.L)(e.origin),this.nrData.messageCount++,this.nrData.messageBytes+=r,this.nrData.messageBytesMin=Math.min(this.nrData.messageBytesMin||1/0,r),this.nrData.messageBytesMax=Math.max(this.nrData.messageBytesMax,r),(this.nrData.messageTypes??"").includes(t)||(this.nrData.messageTypes=this.nrData.messageTypes?"".concat(this.nrData.messageTypes,",").concat(t):t)}),this.addEventListener("close",e=>{this.nrData.closedAt=(0,_.t)(),this.nrData.closeCode=e.code,e.reason&&(this.nrData.closeReason=e.reason),this.nrData.closeWasClean=e.wasClean,this.nrData.connectedDuration=this.nrData.closedAt-this.nrData.openedAt,St.delete(this),r.emit("ws",[this.nrData,this.targets],this)})}addEventListener(e,t,...r){const n=this,i="function"==typeof t?function(...e){try{return t.apply(this,e)}catch(e){throw n.#o(e),e}}:t?.handleEvent?{handleEvent:function(...e){try{return t.handleEvent.apply(t,e)}catch(e){throw n.#o(e),e}}}:t;return super.addEventListener(e,i,...r)}send(e){if(this.readyState===WebSocket.OPEN){const{type:t,size:r}=xt(e);this.nrData.sendCount++,this.nrData.sendBytes+=r,this.nrData.sendBytesMin=Math.min(this.nrData.sendBytesMin||1/0,r),this.nrData.sendBytesMax=Math.max(this.nrData.sendBytesMax,r),(this.nrData.sendTypes??"").includes(t)||(this.nrData.sendTypes=this.nrData.sendTypes?"".concat(this.nrData.sendTypes,",").concat(t):t)}try{return super.send(e)}catch(e){throw this.#o(e),e}}close(...e){try{super.close(...e)}catch(e){throw this.#o(e),e}}}return g.gm.WebSocket=n,r}(this.ee,e);u.on("ws",(e,t)=>{(0,S.p)("ws-complete",[e,t],void 0,this.featureName,this.ee)})}if(s){if("function"==typeof g.gm.ReportingObserver){const l=new g.gm.ReportingObserver(e=>{e.forEach(e=>{(0,S.p)("spv",[kt(e),(0,_.t)()],void 0,t.K7.genericEvents,this.ee)}),l.disconnect()},{types:["csp-violation"],buffered:!0});l.observe()}g.gm.addEventListener("securitypolicyviolation",e=>{(0,S.p)("spv",[kt(e),e.timeStamp],void 0,t.K7.genericEvents,this.ee)},(0,J.jT)(!1,this.removeOnAbort.signal))}if(g.RI){if(ze(this.ee,e),De(this.ee,e),d=at(this.ee,e),e.init.user_actions.enabled){function f(t){const r=(0,Ge.D)(t);return e.beacons.includes(r.hostname+":"+r.port)}function h(){d.emit("navChange")}o.Zp.forEach(e=>(0,J.sp)(e,e=>(0,S.p)("ua",[e],void 0,this.featureName,this.ee),!0)),o.qN.forEac
5h(e=>{const t=(0,C.s)(e=>{(0,S.p)("ua",[e],void 0,this.featureName,this.ee)},500,{leading:!0});(0,J.sp)(e,t)}),g.gm.addEventListener("error",()=>{(0,S.p)("uaErr",[],void 0,t.K7.genericEvents,this.ee)},(0,J.jT)(!1,this.removeOnAbort.signal)),this.ee.on("open-xhr-start",(e,r)=>{f(e[1])||r.addEventListener("readystatechange",()=>{2===r.readyState&&(0,S.p)("uaXhr",[],void 0,t.K7.genericEvents,this.ee)},(0,J.jT)(void 0,this.removeOnAbort.signal))}),this.ee.on("fetch-start",e=>{e.length>=1&&!f(Ze(e[0]))&&(0,S.p)("uaXhr",[],void 0,t.K7.genericEvents,this.ee)}),d.on("pushState-end",h),d.on("replaceState-end",h),window.addEventListener("hashchange",h,(0,J.jT)(!0,this.removeOnAbort.signal)),window.addEventListener("popstate",h,(0,J.jT)(!0,this.removeOnAbort.signal))}if(e.init.performance.resources.enabled&&g.gm.PerformanceObserver?.supportedEntryTypes.includes("resource")){new PerformanceObserver(e=>{e.getEntries().forEach(e=>{(0,S.p)("browserPerformance.resource",[e],void 0,this.featureName,this.ee)})}).observe({type:"resource",buffered:!0})}}a.some(e=>e)?this.importAggregator(e,()=>r.e(478).then(r.bind(r,8019))):this.deregisterDrain()}}function kt(e){const t=e.body??e;return{blockedUrl:t.blockedURL??e.blockedURI,documentUrl:t.documentURL??e.documentURI,effectiveDirective:t.effectiveDirective,originalPolicy:t.originalPolicy,sourceFile:t.sourceFile,statusCode:t.statusCode,lineNumber:t.lineNumber,columnNumber:t.columnNumber,disposition:"reporting"===t.disposition?"report":t.disposition,sample:t.sample,referrer:t.referrer}}var Nt=r(2646);const Lt=new Map;function Mt(e,t,r,n,i=!0,s){if("object"!=typeof t||!t||"string"!=typeof r||!r||"function"!=typeof t[r])return(0,l.R)(29);const a=function(e){return(e||R.ee).get("logger")}(e),o=(0,Pe.YM)(a,void 0,s),c=new Nt.y(R.P);c.level=n.level,c.customAttributes=n.customAttributes,c.autoCaptured=i;const d=t[r]?.[Pe.Jt]||t[r];return Lt.set(d,c),o.inPlace(t,[r],"wrap-logger-",()=>Lt.get(d),void 0,!0),a}var Pt=r(1910);class It extends W{static featureName=se.TZ;constructor(e){var t;super(e,se.TZ),t=e,(0,N.Y)("log",(e,r)=>oe(e,r,t),t),function(e){(0,N.Y)(k.Wb,(t,r,{customAttributes:n={},level:i=se.p_.INFO}={})=>{Mt(e.ee,t,r,{customAttributes:n,level:i},!1,e)},e)}(e),Se(e);const n=this.ee;["log","error","warn","info","debug","trace"].forEach(t=>{(0,Pt.i)(g.gm.console[t]),Mt(n,g.gm.console,t,{level:"log"===t?"info":t},void 0,e)}),this.ee.on("wrap-logger-end",function([t],r,i,s=[e.runtime.v2Target]){const{level:a,customAttributes:o,autoCaptured:c}=this;s.forEach(e=>{(0,ae.R)(n,t,o,a,c,e)})}),this.importAggregator(e,()=>r.e(478).then(r.bind(r,5288)))}}new F({features:[nt,K,G,vt,Et,Y,Oe,_t,It,Rt],loaderType:"spa"})})()})();</script>
5
6<meta name="title" content="Customer Login"/>
7<meta name="description" content="Flooring Inc. The Flooring Superstore Home Page"/>
8<meta name="keywords" content="Flooring, Rubber, Garage, Foam, Dance, Carpet, Hardwood, Laminate, Vinyl, Gym Floors, Gymnastic Mats, Mats"/>
9<meta name="robots" content="INDEX,FOLLOW"/>
10<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1"/>
11<title>Customer Login</title>
12<link  type="text/css"  rel="preload" as="style" onload="this.onload=null;this.rel='stylesheet'" href="https://www.flooringinc.com/static/version1789462004/frontend/Dcw/hyvadesktop/en_US/css/styles.min.css" />
13<script  type="text/javascript"  defer="defer" src="https://www.flooringinc.com/static/version1789462004/frontend/Dcw/hyvadesktop/en_US/Hyva_MagentoDataServices/js/storefront-event-collector.min.js"></script>
vendor: 1 bytes, line 13
13
14<script  type="text/javascript"  defer="defer" src="https://www.flooringinc.com/static/version1789462004/frontend/Dcw/hyvadesktop/en_US/Hyva_MagentoDataServices/js/storefront-events-sdk.min.js"></script>
vendor: 1 bytes, line 14
14
15<script  type="text/javascript"  defer="defer" src="https://www.flooringinc.com/static/version1789462004/frontend/Dcw/hyvadesktop/en_US/Hyva_MagentoProductRecommendations/js/recs-sdk.min.js"></script>
vendor: 1 bytes, line 15
15
16<script  type="text/javascript"  defer="defer" src="https://www.flooringinc.com/static/version1789462004/frontend/Dcw/hyvadesktop/en_US/Hyva_MagentoProductRecommendationsLayout/js/recs-sdk.min.js"></script>
16
17<link  rel="icon" type="image/x-icon" href="https://www.flooringinc.com/media/favicon/stores/1/fav.png" />
18<link  rel="shortcut icon" type="image/x-icon" href="https://www.flooringinc.com/media/favicon/stores/1/fav.png" />
19
20<!-- Plausible Script Start -->
21
22<script defer data-domain="flooringinc.com" src="https://plausible.io/js/script.file-downloads.hash.outbound-links.pageview-props.revenue.tagged-events.js"></script>
vendor: 2 bytes, line 22
22
23<script>window.plausible = window.plausible || function() { (window.plausible.q = window.plausible.q || []).push(arguments) }</script>
23
24
25<!-- Plausible Script Ends -->
26
27<!--My8cKJTuUilt2Vvmb0igB9BsOCrMSS2F-->
28
29<link rel="preconnect" href="https://www.googletagmanager.com" crossorigin>
30<link rel="dns-prefetch" href="https://www.googletagmanager.com">
31<link rel="preload" href="https://fonts.gstatic.com/s/poppins/v20/pxiEyp8kv8JHgFVrJJfecg.woff2" as="font" type="font/woff2" crossorigin="anonymous"/>
32
33<style>
34.needsclick.kl-teaser-UEa7DA { display:none!important; }
35.bg-white.w-full.max-w-\[580px\].text-center.rounded-lg.shadow-lg {
36    max-width: 580px;
37}
38</style>
39    
40<script nonce="bDhraW5vaDFjczNyejIwenoxdG1tYm50dzNqb2RqOGY=">
41    window.getWpGA4Cookie = function(name) {
42        match = document.cookie.match(new RegExp(name + '=([^;]+)'));
43        if (match) return decodeURIComponent(match[1].replace(/\+/g, ' ')) ;
44    };
45
46    window.ga4AllowServices = false;
47
48    var isCookieRestrictionModeEnabled = 0,
49        currentWebsiteId = 1,
50        cookieRestrictionName = 'user_allowed_save_cookie';
51
52    if (isCookieRestrictionModeEnabled) {
53        allowedCookies = window.getWpGA4Cookie(cookieRestrictionName);
54
55        if (allowedCookies !== undefined) {
56            allowedWebsites = JSON.parse(allowedCookies);
57
58            if (allowedWebsites[currentWebsiteId] === 1) {
59                window.ga4AllowServices = true;
60            }
61        }
62    } else {
63        window.ga4AllowServices = true;
64    }
65</script>
65
66            
66<script nonce="bDhraW5vaDFjczNyejIwenoxdG1tYm50dzNqb2RqOGY=">
67        if (window.ga4AllowServices) {
68            window.dataLayer = window.dataLayer || [];
69                        var dl4Objects = [{"pageName":"Customer Login","pageType":"other"}];
70            for (var i in dl4Objects) {
71                window.dataLayer.push({ecommerce: null});
72                window.dataLayer.push(dl4Objects[i]);
73            }
74                        var wpGA4Cookies = ['wp_ga4_user_id','wp_ga4_customerGroup'];
75            wpGA4Cookies.map(function (cookieName) {
76                var cookieValue = window.getWpGA4Cookie(cookieName);
77                if (cookieValue) {
78                    var dl4Object = {};
79                    dl4Object[cookieName.replace('wp_ga4_', '')] = cookieValue;
80                    window.dataLayer.push(dl4Object);
81                }
82            });
83        }
84    </script>
84
85
86    <!-- Google Tag Manager -->
87<script nonce="bDhraW5vaDFjczNyejIwenoxdG1tYm50dzNqb2RqOGY=" >  if (window.ga4AllowServices) { 
88
89window.addEventListener('init-external-scripts', () => {
vendor: 335 bytes, lines 89-95
89
90
91(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
92new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],
93j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=
94'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);
95})(window,document,'script','dataLayer','
95GTM-5XR7MB7
vendor: 7 bytes, lines 95-96
95');
96
97}, {once: true, passive: true});
98
99} </script>
99
100<!-- End Google Tag Manager -->
101
102
103<script nonce="bDhraW5vaDFjczNyejIwenoxdG1tYm50dzNqb2RqOGY&#x3D;">var prCookieService={defaultAttributes:{path:'/'},converter:{write:function(value){return encodeURIComponent(value);},read:function(value){return decodeURIComponent(value)}},decode:function(string){return string.replace(/(%[0-9A-Z]{2})+/g,decodeURIComponent);},set:function(key,value,attributes){if(typeof document==='undefined'){return;}
104attributes=Object.assign(this.defaultAttributes,attributes);if(typeof attributes.expires==='number'){attributes.expires=new Date(new Date()*1+attributes.expires*864e+5);}
105attributes.expires=attributes.expires?attributes.expires.toUTCString():'';try{var result=JSON.stringify(value);if(/^[\{\[]/.test(result)){value=result;}}catch(e){}
106value=this.converter.write(value);key=this.converter.write(String(key)).replace(/%(23|24|26|2B|5E|60|7C)/g,decodeURIComponent).replace(/[\(\)]/g,escape);var stringifiedAttributes='';for(var attributeName in attributes){if(!attributes[attributeName]){continue;}
107stringifiedAttributes+='; '+attributeName;if(attributes[attributeName]===true){continue;}
108stringifiedAttributes+='='+attributes[attributeName].split(';')[0];}
109return(document.cookie=key+'='+value+stringifiedAttributes);},remove:function(key,attributes){this.set(key,'',{...attributes,...{expires:-1}});},get:function(key,json=false){if(typeof document==='undefined'){return;}
110var jar={};var cookies=document.cookie?document.cookie.split('; '):[];var i=0;for(;i<cookies.length;i++){var parts=cookies[i].split('=');var cookie=parts.slice(1).join('=');if(!json&&cookie.charAt(0)==='"'){cookie=cookie.slice(1,-1);}
111try{var name=this.converter.write(parts[0]);cookie=this.converter.read(cookie);if(json){try{cookie=JSON.parse(cookie);}catch(e){}}
112jar[name]=cookie;if(key===name){break;}}catch(e){}}
113return key?jar[key]:jar;}}</script>
113
114
115<script nonce="bDhraW5vaDFjczNyejIwenoxdG1tYm50dzNqb2RqOGY&#x3D;">var prGlobalPrivacyControlApi={config:{"canProcessSignal":true,"isGeotargetingEnabled":true,"geotargetingApiEndpoint":"https:\/\/www.flooringinc.com\/rest\/V1\/pr-global-privacy-control\/geo-targeting\/is-applicable"},isApplicableForUser:false,isConfigured:false,configure:function(){const setConfigurationResult=(isApplicable)=>{this.isApplicableForUser=isApplicable;this.isConfigured=true;if(isApplicable){this.signalHandlers.processPendingHandlers();}
116document.dispatchEvent(new Event('pr-global-privacy-control-api:configured'));};if(!this.config.canProcessSignal){setConfigurationResult(false);return;}
117if(this.cache.get('isApplicableForUser')){setConfigurationResult(this.cache.get('isApplicableForUser'));return;}
118if(!navigator.globalPrivacyControl){setConfigurationResult(false);return;}
119if(!this.config.isGeotargetingEnabled){this.cache.set('isApplicableForUser',true);setConfigurationResult(true);return;}
120this.geotargeting.isApplicable().then(result=>{this.cache.set('isApplicableForUser',result);setConfigurationResult(result);}).catch(()=>setConfigurationResult(true));},shouldApply:function(){if(!this.isConfigured){return false;}
121return this.isApplicableForUser;},};prGlobalPrivacyControlApi.geotargeting={isApplicable:async function(){return fetch(prGlobalPrivacyControlApi.config.geotargetingApiEndpoint,{method:'POST',credentials:'include'}).then(r=>r.json());}};prGlobalPrivacyControlApi.signalHandlers={handlers:[],addHandler:function(callback){let handler={callback:callback,executed:false}
122this.handlers.push(handler);if(prGlobalPrivacyControlApi.isConfigured&&prGlobalPrivacyControlApi.shouldApply()){handler.callback();handler.executed=true;}},processPendingHandlers:function(){if(!prGlobalPrivacyControlApi.shouldApply()){return;}
123if(!prCookieService.get('pr-gpc-signal-handled')){prCookieService.set('pr-gpc-signal-handled',true,{expires:null});}
124this.handlers.forEach(function(handler){if(false===handler.executed){handler.callback();handler.executed=true;}}.bind(this));}};prGlobalPrivacyControlApi.cache={storageKey:'pr_global_privacy_control_api_cache',get:function(key){try{let raw=sessionStorage.getItem(this.storageKey);let cacheData=JSON.parse(raw);return cacheData.hasOwnProperty(key)?cacheData[key]:null;}catch(e){return null;}},set:function(key,value){try{let cacheData=JSON.parse(sessionStorage.getItem(this.storageKey)||'{}');cacheData[key]=value;sessionStorage.setItem(this.storageKey,JSON.stringify(cacheData));}catch(e){}},};prGlobalPrivacyControlApi.configure();</script>
vendor: 1 bytes, line 124
124
125<script  type="text/javascript"  data-routing="commerce=rum" defer="defer" src="https://rum.hlx.page/.rum/@adobe/helix-rum-js@^2/dist/rum-standalone.js"></script>
125
126
127
128    
128<script type="text&#x2F;javascript" nonce="bDhraW5vaDFjczNyejIwenoxdG1tYm50dzNqb2RqOGY&#x3D;">(()=>{let userAllowedCookies=prCookieService.get('user_allowed_save_cookie');if(!userAllowedCookies){return;}
129let customerConsent=prCookieService.get('pr-cookie-consent');if(!customerConsent){return;}
130try{customerConsent=JSON.parse(customerConsent);}catch(error){return;}
131const categoryKey='marketing';if(customerConsent.includes('all')||customerConsent.includes(categoryKey)){return;}
132let intervalId=setInterval(prCookieService.set.bind(prCookieService,'mg_dnt',true,{expires:null}),500);document.addEventListener('pr-cookie-consent-api:configured',()=>{clearInterval(intervalId);});})();</script>
132
133
134<!-- Critical CSS for <lite-youtube> element to avoid CLS: https://web.dev/cls/ -->
135<style>
136    lite-youtube{background-color:#000;position:relative;display:block;contain:content;background-position:center center;background-size:cover;cursor:pointer}lite-youtube::after{content:"";display:block;padding-bottom:calc(100% / (16 / 9))}</style>
137<script>
138    var BASE_URL = 'https://www.flooringinc.com/';
139    var THEME_PATH = 'https://www.flooringinc.com/static/version1789462004/frontend/Dcw/hyvadesktop/en_US';
140    var COOKIE_CONFIG = {
141        "expires": null,
142        "path": "\u002F",
143        "domain": ".www.flooringinc.com",
144        "secure": true,
145        "lifetime": "3600",
146        "cookie_restriction_enabled": false    };
147    var CURRENT_STORE_CODE = 'default';
148    var CURRENT_WEBSITE_ID = '1';
149
150    window.hyva = window.hyva || {}
151
152    window.cookie_consent_groups = window.cookie_consent_groups || {}
153    window.cookie_consent_groups['necessary'] = true;
154
155    window.cookie_consent_config = window.cookie_consent_config || {};
156    window.cookie_consent_config['necessary'] = [].concat(
157        window.cookie_consent_config['necessary'] || [],
158        [
159            'user_allowed_save_cookie',
160            'form_key',
161            'mage-messages',
162            'private_content_version',
163            'mage-cache-sessid',
164            'last_visited_store',
165            'section_data_ids'
166        ]
167    );
168</script>
vendor: 1 bytes, line 168
168
169<script>
170    'use strict';
171    (function( hyva, undefined ) {
172
173        function lifetimeToExpires(options, defaults) {
174
175            const lifetime = options.lifetime || defaults.lifetime;
176
177            if (lifetime) {
178                const date = new Date;
179                date.setTime(date.getTime() + lifetime * 1000);
180                return date;
181            }
182
183            return null;
184        }
185
186        function generateRandomString() {
187
188            const allowedCharacters = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ',
189                length = 16;
190
191            let formKey = '',
192                charactersLength = allowedCharacters.length;
193
194            for (let i = 0; i < length; i++) {
195                formKey += allowedCharacters[Math.round(Math.random() * (charactersLength - 1))]
196            }
197
198            return formKey;
199        }
200
201        const sessionCookieMarker = {noLifetime: true}
202
203        const cookieTempStorage = {};
204
205        const internalCookie = {
206            get(name) {
207                const v = document.cookie.match('(^|;) ?' + name + '=([^;]*)(;|$)');
208                return v ? v[2] : null;
209            },
210            set(name, value, days, skipSetDomain) {
211                let expires,
212                    path,
213                    domain,
214                    secure,
215                    samesite;
216
217                const defaultCookieConfig = {
218                    expires: null,
219                    path: '/',
220                    domain: null,
221                    secure: false,
222                    lifetime: null,
223                    samesite: 'lax'
224                };
225
226                const cookieConfig = window.COOKIE_CONFIG || {};
227
228                expires = days && days !== sessionCookieMarker
229                    ? lifetimeToExpires({lifetime: 24 * 60 * 60 * days, expires: null}, defaultCookieConfig)
230                    : lifetimeToExpires(window.COOKIE_CONFIG, defaultCookieConfig) || defaultCookieConfig.expires;
231
232                path = cookieConfig.path || defaultCookieConfig.path;
233                domain = !skipSetDomain && (cookieConfig.domain || defaultCookieConfig.domain);
234                secure = cookieConfig.secure || defaultCookieConfig.secure;
235                samesite = cookieConfig.samesite || defaultCookieConfig.samesite;
236
237                document.cookie = name + "=" + encodeURIComponent(value) +
238                    (expires && days !== sessionCookieMarker ? '; expires=' + expires.toGMTString() : '') +
239                    (path ? '; path=' + path : '') +
240                    (domain ? '; domain=' + domain : '') +
241                    (secure ? '; secure' : '') +
242                    (samesite ? '; samesite=' + samesite : 'lax');
243            },
244            isWebsiteAllowedToSaveCookie() {
245                const allowedCookies = this.get('user_allowed_save_cookie');
246                if (allowedCookies) {
247                    const allowedWebsites = JSON.parse(unescape(allowedCookies));
248
249                    return allowedWebsites[CURRENT_WEBSITE_ID] === 1;
250                }
251                return false;
252            },
253            getGroupByCookieName(name) {
254                const cookieConsentConfig = window.cookie_consent_config || {};
255                let group = null;
256                for (let prop in cookieConsentConfig) {
257                    if (!cookieConsentConfig.hasOwnProperty(prop)) continue;
258                    if (cookieConsentConfig[prop].includes(name)) {
259                        group = prop;
260                        break;
261                    }
262                }
263                return group;
264            },
265            isCookieAllowed(name) {
266                const cookieGroup = this.getGroupByCookieName(name);
267                return cookieGroup
268                    ? window.cookie_consent_groups[cookieGroup]
269                    : this.isWebsiteAllowedToSaveCookie();
270            },
271            saveTempStorageCookies() {
272                for (const [name, data] of Object.entries(cookieTempStorage)) {
273                    if (this.isCookieAllowed(name)) {
274                        this.set(name, data['value'], data['days'], data['skipSetDomain']);
275                        delete cookieTempStorage[name];
276                    }
277                }
278            }
279        };
280
281        hyva.getCookie = (name) => {
282            const cookieConfig = window.COOKIE_CONFIG || {};
283
284            if (cookieConfig.cookie_restriction_enabled && ! internalCookie.isCookieAllowed(name)) {
285                return cookieTempStorage[name] ? cookieTempStorage[name]['value'] : null;
286            }
287
288            return internalCookie.get(name);
289        }
290
291        hyva.setCookie = (name, value, days, skipSetDomain) => {
292            const cookieConfig = window.COOKIE_CONFIG || {};
293
294            if (cookieConfig.cookie_restriction_enabled && ! internalCookie.isCookieAllowed(name)) {
295                cookieTempStorage[name] = {value, days, skipSetDomain};
296                return;
297            }
298            return internalCookie.set(name, value, days, skipSetDomain);
299        }
300
301
302        hyva.setSessionCookie = (name, value, skipSetDomain) => {
303            return hyva.setCookie(name, value, sessionCookieMarker, skipSetDomain)
304        }
305
306        hyva.getBrowserStorage = () => {
307            const browserStorage = window.localStorage || window.sessionStorage;
308            if (!browserStorage) {
309                console.warn('Browser Storage is unavailable');
310                return false;
311            }
312            try {
313                browserStorage.setItem('storage_test', '1');
314                browserStorage.removeItem('storage_test');
315            } catch (error) {
316                console.warn('Browser Storage is not accessible', error);
317                return false;
318            }
319            return browserStorage;
320        }
321
322        hyva.postForm = (postParams) => {
323            const form = document.createElement("form");
324
325            let data = postParams.data;
326
327            if (! postParams.skipUenc && ! data.uenc) {
328                data.uenc = btoa(window.location.href);
329            }
330            form.method = "POST";
331            form.action = postParams.action;
332
333            Object.keys(postParams.data).map(key => {
334                const field = document.createElement("input");
335                field.type = 'hidden'
336                field.value = postParams.data[key];
337                field.name = key;
338                form.appendChild(field);
339            });
340
341            const form_key = document.createElement("input");
342            form_key.type = 'hidden';
343            form_key.value = hyva.getFormKey();
344            form_key.name="form_key";
345            form.appendChild(form_key);
346
347            document.body.appendChild(form);
348
349            form.submit();
350        }
351
352        hyva.getFormKey = function () {
353            let formKey = hyva.getCookie('form_key');
354
355            if (!formKey) {
356                formKey = generateRandomString();
357                hyva.setCookie('form_key', formKey);
358            }
359
360            return formKey;
361        }
362
363        hyva.formatPrice = (value, showSign, options = {}) => {
364            const formatter = new Intl.NumberFormat(
365                'en\u002DUS',
366                Object.assign({
367                    style: 'currency',
368                    currency: 'USD',
369                    signDisplay: showSign ? 'always' : 'auto'
370                }, options)
371            );
372            return (typeof Intl.NumberFormat.prototype.formatToParts === 'function') ?
373                formatter.formatToParts(value).map(({type, value}) => {
374                    switch (type) {
375                        case 'currency':
376                            return '\u0024' || value;
377                        case 'minusSign':
378                            return '- ';
379                        case 'plusSign':
380                            return '+ ';
381                        default :
382                            return value;
383                    }
384                }).reduce((string, part) => string + part) :
385                formatter.format(value);
386        }
387
388        const formatStr = function (str, nStart) {
389            const args = Array.from(arguments).slice(2);
390
391            return str.replace(/(%+)([0-9]+)/g, (m, p, n) => {
392                const idx = parseInt(n) - nStart;
393
394                if (args[idx] === null || args[idx] === void 0) {
395                    return m;
396                }
397                return p.length % 2
398                    ? p.slice(0, -1).replace('%%', '%') + args[idx]
399                    : p.replace('%%', '%') + n;
400            })
401        }
402
403        hyva.str = function (string) {
404            const args = Array.from(arguments);
405            args.splice(1, 0, 1);
406
407            return formatStr.apply(undefined, args);
408        }
409
410        hyva.strf = function () {
411            const args = Array.from(arguments);
412            args.splice(1, 0, 0);
413
414            return formatStr.apply(undefined, args);
415        }
416
417        /**
418         * Take a html string as `content` parameter and
419         * extract an element from the DOM to replace in
420         * the current page under the same selector,
421         * defined by `targetSelector`
422         */
423        hyva.replaceDomElement = (targetSelector, content) => {
424            // Parse the content and extract the DOM node using the `targetSelector`
425            const parser = new DOMParser();
426            const doc = parser.parseFromString(content, 'text/html');
427            const contentNode = doc.querySelector(targetSelector);
428
429            // Bail if content can't be found
430            if (!contentNode) {
431                return;
432            }
433
434            hyva.activateScripts(contentNode)
435
436            // Replace the old DOM node with the new content
437            document.querySelector(targetSelector).replaceWith(contentNode);
438
439            // Reload customerSectionData and display cookie-messages if present
440            window.dispatchEvent(new CustomEvent("reload-customer-section-data"));
441            hyva.initMessages();
442        }
443
444        hyva.activateScripts = (contentNode) => {
445            // Extract all the script tags from the content.
446            // Script tags won't execute when inserted into a dom-element directly,
447            // therefore we need to inject them to the head of the document.
448            const tmpScripts = contentNode.getElementsByTagName('script');
449
450            if (tmpScripts.length > 0) {
451                // Push all script tags into an array
452                // (to prevent dom manipulation while iterating over dom nodes)
453                const scripts = [];
454                for (let i = 0; i < tmpScripts.length; i++) {
455                    scripts.push(tmpScripts[i]);
456                }
457
458                // Iterate over all script tags and duplicate+inject each into the head
459                for (let i = 0; i < scripts.length; i++) {
460                    let script = document.createElement('script');
461                    script.innerHTML = scripts[i].innerHTML;
462
463                    document.head.appendChild(script);
464
465                    // Remove the original (non-executing) node from the content
466                    scripts[i].parentNode.removeChild(scripts[i]);
467                }
468            }
469            return contentNode;
470        }
471
472        const replace = {['+']: '-', ['/']: '_', ['=']: ','};
473        hyva.getUenc = () => btoa(window.location.href).replace(/[+/=]/g, match => replace[match]);
474
475        let currentTrap;
476
477        const focusableElements = (rootElement) => {
478            const selector = 'button, [href], input, select, textarea, details, [tabindex]:not([tabindex="-1"]';
479            return Array.from(rootElement.querySelectorAll(selector))
480                .filter(el => {
481                    return el.style.display !== 'none'
482                        && !el.disabled
483                        && el.tabIndex !== -1
484                        && (el.offsetWidth || el.offsetHeight || el.getClientRects().length)
485                })
486        }
487
488        const focusTrap = (e) => {
489            const isTabPressed = e.key === 'Tab' || e.keyCode === 9;
490            if (!isTabPressed) return;
491
492            const focusable = focusableElements(currentTrap)
493            const firstFocusableElement = focusable[0]
494            const lastFocusableElement = focusable[focusable.length - 1]
495
496            e.shiftKey
497                ? document.activeElement === firstFocusableElement && (lastFocusableElement.focus(), e.preventDefault())
498                : document.activeElement === lastFocusableElement && (firstFocusableElement.focus(), e.preventDefault())
499        };
500
501        hyva.releaseFocus = (rootElement) => {
502            if (currentTrap && (!rootElement || rootElement === currentTrap)) {
503                currentTrap.removeEventListener('keydown', focusTrap)
504                currentTrap = null
505            }
506        }
507        hyva.trapFocus = (rootElement) => {
508            if (!rootElement) return;
509            hyva.releaseFocus()
510            currentTrap = rootElement
511            rootElement.addEventListener('keydown', focusTrap)
512            const firstElement = focusableElements(rootElement)[0]
513            firstElement && firstElement.focus()
514        }
515
516                hyva.alpineInitialized = (fn) => window.addEventListener('alpine:initialized', fn, {once: true})
517                window.addEventListener('user-allowed-save-cookie', () => internalCookie.saveTempStorageCookies())
518
519    }( window.hyva = window.hyva || {} ));
520</script>
vendor: 1 bytes, line 520
520
521<script>
522    if (!window.IntersectionObserver) {
523        window.IntersectionObserver = function (callback) {
524            this.observe = el => el && callback(this.takeRecords());
525            this.takeRecords = () => [{isIntersecting: true, intersectionRatio: 1}];
526            this.disconnect = () => {};
527            this.unobserve = () => {};
528        }
529    }
530</script>
530
531<div data-content-type="html" data-appearance="default" data-element="main" data-decoded="true"><button id="open-chatbox" aria-label="Open chat"><svg position="right" class="sc-1k07fow-1 cbnSms" width="24px" height="24px" viewBox="0 0 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"><path d="M10,18 L6,22 L6,18 L10,18 Z M17,6 C19.7614237,6 22,8.23857625 22,11 C22,13.7614237 19.7614237,16 17,16 L17,16 L7,16 C4.23857625,16 2,13.7614237 2,11 C2,8.23857625 4.23857625,6 7,6 L7,6 Z" transform="translate(12.000000, 14.000000) scale(-1, 1) translate(-12.000000, -14.000000) "></path></svg></button>
532<script>
533// Lightweight click handler: if Zendesk is already available, open messenger and hide the button.
534// If Zendesk is not available yet we do nothing here — the DOMContentLoaded handler below is
535// responsible for loading the script (avoids double-loading the Zendesk snippet).
536(function () {
537    const btn = document.getElementById('open-chatbox');
538    if (!btn) return;
539
540    btn.addEventListener('click', function () {
541        if (typeof zE !== 'undefined') {
542            try {
543                zE('messenger', 'open');
544            } catch (e) {
545                // ignore if API is not ready yet
546            }
547            this.style.display = 'none';
548            this.setAttribute('aria-hidden', 'true');
549        }
550        // If zE is not defined we intentionally don't load the script here to avoid
551        // duplicate loading. The DOMContentLoaded listener below will handle loading.
552    });
553})();
554</script>
vendor: 2 bytes, line 554
554
555<script>
556/* ===== Load UserWay on click ===== */
557document.addEventListener('DOMContentLoaded', function () {
558  
559  const userWayButton = document.getElementById('uw-widget-custom-trigger');
560  const zendeskButton = document.getElementById('open-chatbox');
561
562    /* ---- UserWay Script Functions ---- */
563    function initUserWay() {
564    if (window.UserWay) {
565      window.UserWay.widgetToggle();
566      return;
567    }
568    }
569
570    function loadUserWay() {
571      if (window.UserWay) return; // Skip if already loaded
572    
573    const userwayScript = document.createElement('script');
574    userwayScript.src = 'https://cdn.userway.org/widget.js';
575    userwayScript.type = 'text/javascript';
576    userwayScript.async = true;
577    userwayScript.crossOrigin = 'anonymous';
578    userwayScript.setAttribute('data-account', 'vfvO52o2Kn');
579    document.head.append(userwayScript);
580
581    /* Hide UserWay accessibility icon when initialized */
582    document.addEventListener('userway:init_completed', function (event) {
583      const instance = event.detail.userWayInstance;
584      instance.iconVisibilityOff();
585
586      const userwayIframe = document.getElementById("launcher");
587      if (userwayIframe) {
588        const userwaySiblings = Array.from(userwayIframe.parentNode.children);
589        const userwaySiblingDiv = userwaySiblings.find(el => el.tagName === 'DIV');
590        if (userwaySiblingDiv) {
591          userwaySiblingDiv.id = 'userway-live-chat';
592        }
593      }
594    }, { once: true });
595  }
596
597  if (userWayButton) {
598    userWayButton.addEventListener('click', initUserWay);
599  }
600
601  /* ---- Load UserWay on Scroll ---- */
602  let hasLoaded = false;
603  function handleScroll() {
604    if (!hasLoaded) {
605      hasLoaded = true;
606      loadUserWay();
607      // Remove scroll listener after loading
608      window.removeEventListener('scroll', handleScroll);
609    }
610  }
611  
612  window.addEventListener('scroll', handleScroll);
613
614  /* ---- Load Zendesk Script ---- */
615  function hideChatButton() {
616    try {
617      if (zendeskButton) {
618        zendeskButton.style.display = 'none';
619        zendeskButton.setAttribute('aria-hidden', 'true');
620      }
621    } catch (e) {
622      // ignore
623    }
624  }
625
626  function loadZendesk() {
627    // If already loaded, open messenger and hide the button
628    if (window.zE) {
629      try { zE('messenger', 'open'); } catch (e) { }
630      hideChatButton();
631      return;
632    }
633
634    // If script is already injected, do nothing (we'll open on load)
635    if (document.getElementById('ze-snippet')) return;
636
637    const zendeskScript = document.createElement('script');
638    zendeskScript.id = 'ze-snippet';
639    zendeskScript.src = 'https://static.zdassets.com/ekr/snippet.js?key=f007eb69-6b5d-407a-bdff-0706af960a4d';
640
641    zendeskScript.onload = function () {
642      // Wait a short moment to ensure widget initializes
643      setTimeout(() => {
644        if (typeof zE !== 'undefined') {
645          try { zE('messenger', 'open'); } catch (e) { }
646          hideChatButton();
647        }
648      }, 300);
649    };
650
651    document.head.append(zendeskScript);
652  }
653
654  if (zendeskButton) {
655    zendeskButton.addEventListener('click', loadZendesk);
656  }
657
658});
659</script>
659
660
661<style>
662.checkout-index-index button#open-chatbox{display:none}
663.uw-widget-custom-trigger{background-image:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" style="&%2310; fill: %2374767e;&%2310;"><circle cx="16" cy="16" r="15.5" fill="%23fff" stroke="%2374767e" class="circle-wrapper" style="&%2310; stroke: %2374767e;&%2310;"/><path d="M16 11.583a2.083 2.083 0 1 0 0-4.166 2.083 2.083 0 0 0 0 4.166ZM23.917 12.417H8.083a.834.834 0 0 0 0 1.666H13.5v11.459a1.041 1.041 0 1 0 2.083 0V19.5h.834v6.042a1.041 1.041 0 1 0 2.083 0V14.083h5.417a.833.833 0 0 0 0-1.666Z"/></svg>');}
664</style></div>
665<script>
666    window.addEventListener('load', function () {
667        window.magentoStorefrontEvents = magentoStorefrontEvents;
668        magentoStorefrontEvents.context.setStorefrontInstance(
669            {"storeUrl":"https:\/\/www.flooringinc.com\/","websiteId":1,"websiteCode":"base","storeId":1,"storeCode":"main_website_store","storeViewId":1,"storeViewCode":"default","websiteName":"Flooring Inc.","storeName":"Main Website Store","storeViewName":"Default Store View","baseCurrencyCode":"USD","storeViewCurrencyCode":"USD","catalogExtensionVersion":"103.4.28","environmentId":"a90eb89f-1f93-44b0-81d9-2a9af649b47f","environment":"Production","storefrontTemplate":"Hyva"}        );
670        magentoStorefrontEvents.context.setMagentoExtension({
671            magentoExtensionVersion: "8.0.1",
672        });
673        magentoStorefrontEvents.context.setDataServicesExtension({
674            version: "8.0.1",
675        });
676        magentoStorefrontEvents.context.setPage({
677            pageType: "Default"
678        });
679        magentoStorefrontEvents.context.setContext("pageExtended", {
680            action: "page-view"
681        });
682
683        
684        magentoStorefrontEvents.publish.pageView();
685    });
686</script>
686
687</head>
688<body class="pl-thm-dcw pl-thm-dcw-hyvadesktop prgdpr-dcw prgdpr-dcw-hyvadesktop mst-nav__theme-hyva-reset mst-nav__theme-hyva-default mst-nav__theme-dcw-hyvadesktop customer-account-login page-layout-1column" id="html-body">
689<!-- Google Tag Manager (noscript) -->
vendor: 69 bytes, lines 689-690
689
690<noscript><iframe src="https://www.googletagmanager.com/ns.html?id=
690GTM-5XR7MB7
vendor: 85 bytes, lines 690-691
690"
691height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript>
692<!-- End Google Tag Manager (noscript) -->
693
694<script  nonce="bDhraW5vaDFjczNyejIwenoxdG1tYm50dzNqb2RqOGY=">
695var prCookieConsentApi = {
696    CUSTOMER_CONSENT: 'pr-cookie-consent',
697    SYSTEM_COOKIES: [
698        'PHPSESSID',
699        this.CUSTOMER_CONSENT,
700        'user_allowed_save_cookie',
701    ],
702    config: {},
703    whitelist: {},
704    isConfigured: false,
705    /**
706     * Contains callbacks that run after all configuration come
707     *
708     * @type {function[]}
709     */
710    configuredCallbacks: [],
711    initCookieBlocking: function () {
712        var cookieDesc = Object.getOwnPropertyDescriptor(Document.prototype, 'cookie')
713            || Object.getOwnPropertyDescriptor(HTMLDocument.prototype, 'cookie');
714        if (cookieDesc && cookieDesc.configurable) {
715            var api = this;
716            Object.defineProperty(document, 'cookie', {
717                get: function () {
718                    return cookieDesc.get.call(document);
719                },
720                set: function (cookie) {
721                    let cookieName = cookie.substring(0, cookie.indexOf('=')).trim();
722                    document.dispatchEvent(new CustomEvent('pr-cookie-consent-api:cookie-blocking:validation', {
723                        detail: {cookieName: cookieName, isAllowed: api.isAllowed(cookieName), cookie: cookie}
724                    }));
725
726                    if (! api.isAllowed(cookieName)) {
727                        api.logger.warn('CookieConsent: blocked cookie "' + cookieName + '"');
728                        return;
729                    }
730                    cookieDesc.set.call(document, cookie);
731                }
732            });
733        }
734    },
735    getCookieValue: function (name) {
736        var values = document.cookie.match('(^|;)\\s*' + name + '\\s*=\\s*([^;]+)');
737        return values ? decodeURIComponent(values.pop()) : '';
738    },
739    configure: function (configJson) {
740        this.logger.init();
741        this.userScript.init();
742        try {
743            this.config = JSON.parse(configJson);
744            if (this.config.canManageCookie === null) {
745                console.error('CookieConsent: restriction config is invalid');
746            }
747            this.isConfigured = true;
748
749            this.configuredCallbacks.forEach(function (callback) {
750                callback();
751            }.bind(this));
752
753            this.clearRejectedCookie();
754        } catch (e) {
755            console.error('CookieConsent: error has happened during parse JSON');
756            return false;
757        }
758
759        document.dispatchEvent(new Event('pr-cookie-consent-api:configured'));
760    },
761    /**
762     * @param {function} callback
763     * @returns {prCookieConsentApi}
764     */
765    addConfiguredCallback: function (callback) {
766        this.configuredCallbacks.push(callback);
767        return this;
768    },
769        isAllowedCategory: function (categoryKey) {
770        if (! this.config.canManageCookie) {
771            return true;
772        }
773        if (this.isEssentialCategory(categoryKey)) {
774            return true;
775        }
776        if (this.isOptIn()) {
777            if (this.isAllCategoriesAllowed()) {
778                return true;
779            }
780            return this.consent.get().includes(categoryKey);
781        }
782        return this.config.canUseCookieBeforeOptIn;
783    },
784    getDomain: function (cookieName) {
785        return this.config.cookies[cookieName] ? this.config.cookies[cookieName].domain : null;
786    },
787        isAllowed: function (cookieName) {
788        if (this.isSystemCookie(cookieName)) {
789            return true;
790        }
791        if (! this.config.canManageCookie) {
792            return true;
793        }
794        if (this.whitelist[cookieName]) {
795            return true;
796        }
797        cookieName = this.getTrueCookieName(cookieName);
798        if (! this.isOptIn()) {
799            if (this.config.canUseCookieBeforeOptIn) {
800                return true;
801            }
802            if (this.isKnownCookie(cookieName)) {
803                return this.isInEssentialCategory(cookieName);
804            }
805            return false;
806        }
807        if (! this.isKnownCookie(cookieName)) {
808            return ! this.config.canBlockUnknownCookie;
809        }
810        return this.isInAllowedCategory(cookieName);
811    },
812    isAllCategoriesAllowed: function () {
813        if (null === this.cache.get('allowAllCategories')) {
814            var customerConsent = this.consent.get();
815            if (customerConsent && customerConsent.includes('all') ) {
816                this.cache.set('allowAllCategories', true);
817            } else {
818                var allowedWebsites = this.websiteRestriction.getAllowed();
819                this.cache.set('allowAllCategories', allowedWebsites[this.config.mage.website] === 1);
820            }
821        }
822        return this.cache.get('allowAllCategories');
823    },
824    isEssentialCategory: function (categoryKey) {
825        return this.config.essentialCategoryKeys.includes(categoryKey);
826    },
827    isInEssentialCategory: function (cookieName) {
828        return this.isEssentialCategory(this.getCookieCategory(cookieName));
829    },
830    isInAllowedCategory: function (cookieName) {
831        return this.isAllowedCategory(this.getCookieCategory(cookieName));
832    },
833    getCookieCategory: function (cookieName) {
834        return this.config.cookieToCategoryMapping[cookieName];
835    },
836    isOptIn: function () {
837        var allowedWithDefaultCookie = this.websiteRestriction.getAllowed()[this.config.mage.website] === 1;
838        return Boolean(this.consent.get()) || allowedWithDefaultCookie;
839    },
840    isSystemCookie: function (cookieName) {
841        return this.SYSTEM_COOKIES.includes(cookieName);
842    },
843    isKnownCookie: function (cookieName) {
844        return this.config.cookieToCategoryMapping.hasOwnProperty(cookieName);
845    },
846    getTrueCookieName: function (cookieName) {
847        var keys = Object.keys(this.config.dynamicNamesPatterns), key;
848        for (var i = 0, length = keys.length; i < length; i++) {
849            key = keys[i];
850            if (new RegExp(this.config.dynamicNamesPatterns[key]).test(cookieName)) {
851                return key;
852            }
853        }
854        return cookieName;
855    },
856    clearRejectedCookie: function () {
857        let cookies = prCookieService.get();
858        Object.keys(cookies).forEach(function(cookieName) {
859            if (this.isAllowed(cookieName)) {
860                return;
861            }
862
863            var encodedCookieName = cookieName = encodeURIComponent(String(cookieName))
864                .replace(/%(23|24|26|2B|5E|60|7C)/g, decodeURIComponent)
865                .replace(/[\(\)]/g, escape);
866
867            this.whitelist[encodedCookieName] = true;
868            if (this.getDomain(cookieName)) {
869                prCookieService.remove(cookieName, {domain: this.getDomain(cookieName)});
870            } else {
871                prCookieService.remove(cookieName);
872                if (this.config.cookie.parentDomain) {
873                    prCookieService.remove(cookieName, {domain: this.config.cookie.parentDomain});
874                }
875            }
876            this.logger.warn('CookieConsent: remove cookie "' + cookieName + '"');
877            if (typeof prCookieService.get(cookieName) !== 'undefined') {
878                this.logger.error('CookieConsent: fail to remove cookie "' + cookieName + '"');
879            }
880            this.whitelist[encodedCookieName] = false;
881        }.bind(this));
882    }
883};
884
885prCookieConsentApi.userScript = {
886    /**
887     * List of callbacks and categories they depend on.
888     */
889    pendingScripts: [],
890    /**
891     * Run script after model is configured or after user provided consent.
892     */
893    init: function () {
894        prCookieConsentApi.addConfiguredCallback(this.executePendingScripts.bind(this));
895        prCookieConsentApi.consent.addCallback(this.executePendingScripts.bind(this));
896    },
897    /**
898     * Run or delay script.
899     *
900     * @param {function} callback
901     * @param {string}   categoryKey
902     */
903    execute: function (callback, categoryKey) {
904        if (prCookieConsentApi.isConfigured && prCookieConsentApi.isAllowedCategory(categoryKey)) {
905            callback();
906            return;
907        }
908
909        this.pendingScripts.push({callback: callback, categoryKey: categoryKey, executed: false});
910    },
911    /**
912     * Run pending scripts.
913     */
914    executePendingScripts: function () {
915        this.pendingScripts.forEach(function (script) {
916            if (false === script.executed && prCookieConsentApi.isAllowedCategory(script.categoryKey)) {
917                script.callback();
918                script.executed = true;
919            }
920        }.bind(this));
921    },
922};
923
924prCookieConsentApi.websiteRestriction = {
925    getAllowed: function () {
926        var allowedWebsites = prCookieConsentApi.getCookieValue(prCookieConsentApi.config.mage.cookieName);
927        return allowedWebsites ? JSON.parse(allowedWebsites) : {};
928    },
929    allowCurrent: function () {
930        return this.set(prCookieConsentApi.config.mage.website, true);
931    },
932    disallowCurrent: function () {
933        return this.set(prCookieConsentApi.config.mage.website, false);
934    },
935    /**
936     * @param {number} website
937     * @param {boolean} flag
938     * @return {CookieRestriction.websiteRestriction}
939     */
940    set: function (website, flag) {
941        var allowedWebsites = this.getAllowed();
942
943        if (flag) {
944            allowedWebsites[website] = 1;
945        } else {
946            delete allowedWebsites[website];
947        }
948
949        prCookieService.set(prCookieConsentApi.config.mage.cookieName, allowedWebsites, {
950            path: prCookieConsentApi.config.cookie.path,
951            expires: prCookieConsentApi.config.mage.lifetime ? Math.ceil(prCookieConsentApi.config.mage.lifetime / 86400) : 0
952        });
953
954        return this;
955    }
956};
957
958prCookieConsentApi.cache = {
959    cacheData: {allowAllCategories: null},
960    get: function (key) {
961        return this.cacheData[key];
962    },
963    set: function (key, value) {
964        this.cacheData[key] = value;
965    },
966    reset: function () {
967        this.cacheData = {allowAllCategories: null};
968    }
969};
970
971prCookieConsentApi.logger = {
972    level: 0, /* disabled */
973        init: function () {
974        if (window.location.hash === '#pr-enable-cookie-log') {
975            this.level = 1; /* only warnings and errors */
976        }
977        if (window.location.hash === '#pr-enable-cookie-log-all') {
978            this.level = 2; /* all logs */
979        }
980    },
981    log: function () {
982        this.level > 1 && console.log.apply(console, arguments);
983    },
984    warn: function () {
985        this.level > 0 && console.warn.apply(console, arguments);
986    },
987    error: function () {
988        this.level > 0 && console.error.apply(console, arguments);
989    }
990};
991
992prCookieConsentApi.consent = {
993    /**
994     * Contains callbacks that run after user consent.
995     *
996     * @type {function[]}
997     */
998    callbacks: [],
999    allowAllCategories: function () {
1000        prCookieConsentApi.cache.reset();
1001        prCookieConsentApi.consent.set(['all']);
1002        return this;
1003    },
1004    declineAll: function () {
1005        prCookieConsentApi.cache.reset();
1006        prCookieConsentApi.consent.set([]);
1007        return this;
1008    },
1009    set: function (allowedCategories) {
1010        prCookieService.set(prCookieConsentApi.CUSTOMER_CONSENT, JSON.stringify(allowedCategories), {
1011            expires: prCookieConsentApi.config.consent.expiry,
1012            path: prCookieConsentApi.config.cookie.path,
1013            domain: prCookieConsentApi.config.cookie.domain
1014        });
1015
1016        if (allowedCategories.includes('all')) {
1017            prCookieConsentApi.websiteRestriction.allowCurrent();
1018        } else {
1019            prCookieConsentApi.websiteRestriction.disallowCurrent();
1020        }
1021        prCookieConsentApi.cache.reset();
1022
1023        var isAccepting = allowedCategories.length;
1024
1025        this.callbacks.forEach(function (callback) {
1026            callback(allowedCategories)
1027        });
1028
1029        fetch(prCookieConsentApi.config.consent.logUrl, {
1030            method: 'POST',
1031            headers: {
1032                'Content-Type': 'application/json',
1033                'X-Requested-With': 'XMLHttpRequest'
1034            },
1035            body: JSON.stringify({acceptedKeys: allowedCategories})
1036        })
1037            .then(this.pageReloadAfterAction.bind(this, isAccepting));
1038    },
1039    /**
1040     * Reload page by configuration and action
1041     *
1042     * @param isAccepting
1043     */
1044    pageReloadAfterAction: function (isAccepting) {
1045        if (isAccepting && prCookieConsentApi.config.consent.reloadAfterAccept) {
1046            window.location.reload();
1047        }
1048
1049        if (! isAccepting && prCookieConsentApi.config.consent.reloadAfterDecline) {
1050            window.location.reload();
1051        }
1052    },
1053    get: function () {
1054        var consent = prCookieConsentApi.getCookieValue(prCookieConsentApi.CUSTOMER_CONSENT);
1055        return consent ? JSON.parse(consent) : false;
1056    },
1057    addCallback: function (callback) {
1058        this.callbacks.push(callback);
1059        return this;
1060    },
1061};
1062
1063prCookieConsentApi.configure('\u007B\u0022canManageCookie\u0022\u003Afalse,\u0022canUseCookieBeforeOptIn\u0022\u003Afalse,\u0022canBlockUnknownCookie\u0022\u003Afalse,\u0022consent\u0022\u003A\u007B\u0022isLoggedIn\u0022\u003Atrue,\u0022logUrl\u0022\u003A\u0022https\u003A\u005C\u002F\u005C\u002Fwww.flooringinc.com\u005C\u002Fpr\u002Dcookie\u002Dconsent\u005C\u002Fconsent_customer\u005C\u002Fupdate\u005C\u002F\u0022,\u0022reloadAfterAccept\u0022\u003Atrue,\u0022reloadAfterDecline\u0022\u003Afalse,\u0022expiry\u0022\u003A365\u007D,\u0022cookie\u0022\u003A\u007B\u0022path\u0022\u003A\u0022\u005C\u002F\u0022,\u0022domain\u0022\u003A\u0022www.flooringinc.com\u0022,\u0022parentDomain\u0022\u003A\u0022.flooringinc.com\u0022\u007D,\u0022cookies\u0022\u003A\u007B\u0022pr\u002Dcookie\u002Dnotice\u002Dstatus\u0022\u003A\u007B\u0022domain\u0022\u003A\u0022\u0022\u007D,\u0022user_allowed_save_cookie\u0022\u003A\u007B\u0022domain\u0022\u003A\u0022\u0022\u007D,\u0022guest\u002Dview\u0022\u003A\u007B\u0022domain\u0022\u003A\u0022\u0022\u007D,\u0022login_redirect\u0022\u003A\u007B\u0022domain\u0022\u003A\u0022\u0022\u007D,\u0022mage\u002Dmessages\u0022\u003A\u007B\u0022domain\u0022\u003A\u0022\u0022\u007D,\u0022section_data_ids\u0022\u003A\u007B\u0022domain\u0022\u003A\u0022\u0022\u007D,\u0022store\u0022\u003A\u007B\u0022domain\u0022\u003A\u0022\u0022\u007D,\u0022amz_auth_err\u0022\u003A\u007B\u0022domain\u0022\u003A\u0022\u0022\u007D,\u0022amz_auth_logout\u0022\u003A\u007B\u0022domain\u0022\u003A\u0022\u0022\u007D,\u0022mage\u002Dcache\u002Dsessid\u0022\u003A\u007B\u0022domain\u0022\u003A\u0022\u0022\u007D,\u0022mage\u002Dcache\u002Dstorage\u0022\u003A\u007B\u0022domain\u0022\u003A\u0022\u0022\u007D,\u0022stf\u0022\u003A\u007B\u0022domain\u0022\u003A\u0022\u0022\u007D,\u0022recently_viewed_product\u0022\u003A\u007B\u0022domain\u0022\u003A\u0022\u0022\u007D,\u0022recently_viewed_product_previous\u0022\u003A\u007B\u0022domain\u0022\u003A\u0022\u0022\u007D,\u0022mage\u002Dtranslation\u002Dstorage\u0022\u003A\u007B\u0022domain\u0022\u003A\u0022\u0022\u007D,\u0022mage\u002Dtranslation\u002Dfile\u002Dversion\u0022\u003A\u007B\u0022domain\u0022\u003A\u0022\u0022\u007D,\u0022product_data_storage\u0022\u003A\u007B\u0022domain\u0022\u003A\u0022\u0022\u007D,\u0022recently_compared_product\u0022\u003A\u007B\u0022domain\u0022\u003A\u0022\u0022\u007D,\u0022recently_compared_product_previous\u0022\u003A\u007B\u0022domain\u0022\u003A\u0022\u0022\u007D,\u0022mage\u002Dcache\u002Dstorage\u002Dsection\u002Dinvalidation\u0022\u003A\u007B\u0022domain\u0022\u003A\u0022\u0022\u007D,\u0022_ga\u0022\u003A\u007B\u0022domain\u0022\u003A\u0022\u0022\u007D,\u0022_ga_\u002A\u0022\u003A\u007B\u0022domain\u0022\u003A\u0022\u0022\u007D,\u0022_gid\u0022\u003A\u007B\u0022domain\u0022\u003A\u0022\u0022\u007D,\u0022_gat\u0022\u003A\u007B\u0022domain\u0022\u003A\u0022\u0022\u007D,\u0022_dc_gtm_\u002A\u0022\u003A\u007B\u0022domain\u0022\u003A\u0022\u0022\u007D,\u0022mg_dnt\u0022\u003A\u007B\u0022domain\u0022\u003A\u0022\u0022\u007D,\u0022last_visited_store\u0022\u003A\u007B\u0022domain\u0022\u003A\u0022\u0022\u007D,\u0022pr\u002Dgpc\u002Dnotification\u002Dshown\u0022\u003A\u007B\u0022domain\u0022\u003A\u0022\u0022\u007D,\u0022pr\u002Dgpc\u002Dsignal\u002Dhandled\u0022\u003A\u007B\u0022domain\u0022\u003A\u0022\u0022\u007D,\u0022_clck\u0022\u003A\u007B\u0022domain\u0022\u003A\u0022\u0022\u007D,\u0022_clsk\u0022\u003A\u007B\u0022domain\u0022\u003A\u0022\u0022\u007D,\u0022CLID\u0022\u003A\u007B\u0022domain\u0022\u003A\u0022\u0022\u007D,\u0022MR\u0022\u003A\u007B\u0022domain\u0022\u003A\u0022\u0022\u007D,\u0022MUID\u0022\u003A\u007B\u0022domain\u0022\u003A\u0022\u0022\u007D,\u0022pr\u002Dcookie\u002Dconsent\u0022\u003A\u007B\u0022domain\u0022\u003A\u0022\u0022\u007D,\u0022pr\u002Dcookie\u002Dconsent\u002Did\u0022\u003A\u007B\u0022domain\u0022\u003A\u0022\u0022\u007D,\u0022form_key\u0022\u003A\u007B\u0022domain\u0022\u003A\u0022\u0022\u007D,\u0022X\u002DMagento\u002DVary\u0022\u003A\u007B\u0022domain\u0022\u003A\u0022\u0022\u007D,\u0022private_content_version\u0022\u003A\u007B\u0022domain\u0022\u003A\u0022\u0022\u007D,\u0022persistent_shopping_cart\u0022\u003A\u007B\u0022domain\u0022\u003A\u0022\u0022\u007D,\u0022add_to_cart\u0022\u003A\u007B\u0022domain\u0022\u003A\u0022\u0022\u007D,\u0022mage\u002Dbanners\u002Dcache\u002Dstorage\u0022\u003A\u007B\u0022domain\u0022\u003A\u0022\u0022\u007D,\u0022remove_from_cart\u0022\u003A\u007B\u0022domain\u0022\u003A\u0022\u0022\u007D\u007D,\u0022mage\u0022\u003A\u007B\u0022website\u0022\u003A1,\u0022cookieName\u0022\u003A\u0022user_allowed_save_cookie\u0022,\u0022lifetime\u0022\u003A31536000\u007D,\u0022cookieToCategoryMapping\u0022\u003A\u007B\u0022pr\u002Dcookie\u002Dnotice\u002Dstatus\u0022\u003A\u0022necessary\u0022,\u0022user_allowed_save_cookie\u0022\u003A\u0022necessary\u0022,\u0022guest\u002Dview\u0022\u003A\u0022necessary\u0022,\u0022login_redirect\u0022\u003A\u0022necessary\u0022,\u0022mage\u002Dmessages\u0022\u003A\u0022necessary\u0022,\u0022section_data_ids\u0022\u003A\u0022necessary\u0022,\u0022store\u0022\u003A\u0022necessary\u0022,\u0022amz_auth_err\u0022\u003A\u0022necessary\u0022,\u0022amz_auth_logout\u0022\u003A\u0022necessary\u0022,\u0022mage\u002Dcache\u002Dsessid\u0022\u003A\u0022necessary\u0022,\u0022mage\u002Dcache\u002Dstorage\u0022\u003A\u0022necessary\u0022,\u0022stf\u0022\u003A\u0022necessary\u0022,\u0022recently_viewed_product\u
10630022\u003A\u0022necessary\u0022,\u0022recently_viewed_product_previous\u0022\u003A\u0022necessary\u0022,\u0022mage\u002Dtranslation\u002Dstorage\u0022\u003A\u0022necessary\u0022,\u0022mage\u002Dtranslation\u002Dfile\u002Dversion\u0022\u003A\u0022necessary\u0022,\u0022product_data_storage\u0022\u003A\u0022necessary\u0022,\u0022recently_compared_product\u0022\u003A\u0022necessary\u0022,\u0022recently_compared_product_previous\u0022\u003A\u0022necessary\u0022,\u0022mage\u002Dcache\u002Dstorage\u002Dsection\u002Dinvalidation\u0022\u003A\u0022necessary\u0022,\u0022_ga\u0022\u003A\u0022statistics\u0022,\u0022_ga_\u002A\u0022\u003A\u0022statistics\u0022,\u0022_gid\u0022\u003A\u0022statistics\u0022,\u0022_gat\u0022\u003A\u0022statistics\u0022,\u0022_dc_gtm_\u002A\u0022\u003A\u0022statistics\u0022,\u0022mg_dnt\u0022\u003A\u0022necessary\u0022,\u0022last_visited_store\u0022\u003A\u0022necessary\u0022,\u0022pr\u002Dgpc\u002Dnotification\u002Dshown\u0022\u003A\u0022necessary\u0022,\u0022pr\u002Dgpc\u002Dsignal\u002Dhandled\u0022\u003A\u0022necessary\u0022,\u0022_clck\u0022\u003A\u0022statistics\u0022,\u0022_clsk\u0022\u003A\u0022statistics\u0022,\u0022CLID\u0022\u003A\u0022statistics\u0022,\u0022MR\u0022\u003A\u0022statistics\u0022,\u0022MUID\u0022\u003A\u0022statistics\u0022,\u0022pr\u002Dcookie\u002Dconsent\u0022\u003A\u0022necessary\u0022,\u0022pr\u002Dcookie\u002Dconsent\u002Did\u0022\u003A\u0022necessary\u0022,\u0022form_key\u0022\u003A\u0022necessary\u0022,\u0022X\u002DMagento\u002DVary\u0022\u003A\u0022necessary\u0022,\u0022private_content_version\u0022\u003A\u0022necessary\u0022,\u0022persistent_shopping_cart\u0022\u003A\u0022necessary\u0022,\u0022add_to_cart\u0022\u003A\u0022statistics\u0022,\u0022mage\u002Dbanners\u002Dcache\u002Dstorage\u0022\u003A\u0022necessary\u0022,\u0022remove_from_cart\u0022\u003A\u0022statistics\u0022\u007D,\u0022essentialCategoryKeys\u0022\u003A\u005B\u0022necessary\u0022\u005D,\u0022dynamicNamesPatterns\u0022\u003A\u007B\u0022_dc_gtm_\u002A\u0022\u003A\u0022_dc_gtm_.\u002A\u0022,\u0022_ga_\u002A\u0022\u003A\u0022_ga_.\u002A\u0022\u007D\u007D');
1064prCookieConsentApi.initCookieBlocking();
1065
1066if (typeof define === 'function') {
1067    define('prCookieService', function () {return prCookieService});
1068    define('prCookieConsentApi', function () {return prCookieConsentApi;});
1069}
1070</script>
1070
1071
1072
1073    
1073<script type="text/javascript"  nonce="bDhraW5vaDFjczNyejIwenoxdG1tYm50dzNqb2RqOGY=">
1074        (() => {
1075            document.addEventListener('pr-cookie-consent-api:cookie-blocking:validation', (event) => {
1076                if ('mg_dnt' !== event.detail.cookieName) {
1077                    return;
1078                }
1079
1080                setTimeout(() => {
1081                    const categoryKey = 'marketing';
1082                    let cookieValue = (event.detail.cookie.match(/^[^=]+=(.*?)(?:$|;)/) || [])[1]?.trim();
1083
1084                    if (prCookieConsentApi.isAllowedCategory(categoryKey) && cookieValue.length) {
1085                        prCookieService.remove('mg_dnt', prCookieConsentApi.config.cookie);
1086                        return;
1087                    }
1088
1089                    if (! prCookieConsentApi.isAllowedCategory(categoryKey) && ! cookieValue.length) {
1090                        prCookieService.set('mg_dnt', true, { ...prCookieConsentApi.config.cookie, expires: null });
1091                    }
1092                }, 100);
1093            });
1094
1095            let handleCookieConsent = () => {
1096                const categoryKey = 'marketing';
1097                if (prCookieConsentApi.isAllowedCategory(categoryKey)) {
1098                    prCookieService.remove('mg_dnt', prCookieConsentApi.config.cookie);
1099                } else {
1100                    prCookieService.set('mg_dnt', true, { ...prCookieConsentApi.config.cookie, expires: null });
1101                }
1102            };
1103
1104            prCookieConsentApi.consent.addCallback(handleCookieConsent);
1105            handleCookieConsent();
1106        })();
1107    </script>
1107
1108
1109    
1109<script>
1110        (function () {
1111            'use strict';
1112
1113            window.amRecaptchaModel = {
1114                formsToProtect: "form\u005Baction\u002A\u003D\u0022faq\u002Findex\u002Fsave\u0022\u005D",
1115                isEnabledOnPayments: "",
1116                checkoutRecaptchaValidateUrl: "https://www.flooringinc.com/amcapthca/checkout/validate/",
1117                invisibleCaptchaCustomForm: "\u002D1",
1118                recaptchaConfig: {
1119                    lang: "hl\u003Den" || 'hl=en',
1120                    theme: "light",
1121                    badge: "bottomright",
1122                    sitekey: "6Lc6gcYqAAAAADiXHrgCFqC4Sewhxs-nrHYgN4oo",
1123                    size: "normal"
1124                },
1125                url: 'https://www.google.com/recaptcha/api.js',
1126                isCaptchaScriptLoaded: false,
1127                isInvisible: "normal" === 'invisible',
1128
1129                /**
1130                 * Submit event
1131                 *
1132                 * @param {Object} $event
1133                 * @return {void}
1134                 */
1135                execute: function ($event) {
1136                    const eventTarget = $event?.target;
1137                    if (this.isCaptchaScriptLoaded) {
1138                        this.executeCaptcha(eventTarget);
1139                    } else {
1140                        window.addEventListener('amcaptcha-script-loaded', () => {
1141                            this.isCaptchaScriptLoaded = true;
1142                            this.executeCaptcha(eventTarget);
1143                            this.initAmcaptchaBadges();
1144                        });
1145
1146                        this.loadRecaptchaScript();
1147                    }
1148                },
1149
1150                /**
1151                 * Execute original submit
1152                 *
1153                 * @param {Object} $event
1154                 * @param {HTMLElement} $el
1155                 * @return {void}
1156                 */
1157                recaptchaCallback: function ($event, $el) {
1158                    this.shouldExecuteCallback($event, $el) && $el.dispatchEvent(new CustomEvent('amrecaptcha-executable-callback'));
1159                },
1160
1161                /**
1162                 * Reset captcha
1163                 *
1164                 * @param {Object} $event
1165                 * @param {HTMLElement} $el
1166                 */
1167                expiredCallback: function($event, $el) {
1168                    this.shouldExecuteCallback($event, $el) && grecaptcha.reset($event.detail.widgetId);
1169                },
1170
1171                /**
1172                 * Checks if event is fired on submitted element
1173                 *
1174                 * @param {Object} $event
1175                 * @param {HTMLElement} $el
1176                 * @return {boolean}
1177                 */
1178                shouldExecuteCallback: function($event, $el) {
1179                    const eventWidgetId = $event.detail.widgetId;
1180                    const elementWidgetId = $el.dataset.amCaptchaWidgetId || $el.closest('form')?.dataset.amCaptchaWidgetId;
1181
1182                    return eventWidgetId === elementWidgetId;
1183                },
1184
1185                /**
1186                 * Run captcha for widget by id
1187                 *
1188                 * @param {HTMLElement} eventTarget
1189                 * @return {void}
1190                 */
1191                executeCaptcha: function(eventTarget) {
1192                    if (!eventTarget.dataset.hasOwnProperty('amCaptchaRendered')) {
1193                        this.bindCaptchaGlobalCallbacks(eventTarget);
1194                        this.renderCaptcha(eventTarget);
1195                        eventTarget.dataset.amCaptchaRendered = '';
1196                    }
1197
1198                    const widgetId = this.getWidgetId(eventTarget);
1199
1200                    if (!widgetId) {
1201                        typeof window.dispatchMessages !== "undefined" && window.dispatchMessages([
1202                            {
1203                                type: "error",
1204                                text: 'Recaptcha\u0020cannot\u0020properly\u0020validate\u0020form.'
1205                            }
1206                        ]);
1207                        return;
1208                    }
1209
1210                    window.dispatchEvent(new CustomEvent('amcaptcha-loading-start'));
1211                    grecaptcha.reset(widgetId);
1212
1213                    if (!this.isInvisible) {
1214                        this.stopAmcaptchaLoading();
1215                        return;
1216                    }
1217
1218                    grecaptcha.execute(widgetId)
1219                        .then(() => this.stopAmcaptchaLoading())
1220                        .catch(() => this.stopAmcaptchaLoading());
1221                },
1222
1223                /**
1224                 * Add recaptcha script to page
1225                 *
1226                 * @return {void}
1227                 */
1228                loadRecaptchaScript: function () {
1229                    const lang = window.amRecaptchaModel.recaptchaConfig.lang;
1230                    const url = `${window.amRecaptchaModel.url}?onload=amRecaptchaLoadCallback&render=explicit&${lang}`;
1231                    const script = document.createElement('script');
1232
1233                    script.type = 'text/javascript';
1234                    script.src = url;
1235                    script.async = true;
1236                    document.head.appendChild(script);
1237                },
1238
1239                /**
1240                 * Stop loader on page
1241                 *
1242                 * @return {void}
1243                 */
1244                stopAmcaptchaLoading: function () {
1245                    window.dispatchEvent(new CustomEvent('amcaptcha-loading-stop'));
1246                },
1247
1248                /**
1249                 * Add attributes to hide captcha badge
1250                 *
1251                 * @return {void}
1252                 */
1253                initAmcaptchaBadges: function () {
1254                    if (!this.isInvisible) {
1255                        return;
1256                    }
1257
1258                    document.querySelectorAll('.grecaptcha-badge')?.forEach(captchaBadge => {
1259                        captchaBadge?.setAttribute('x-data', '{ visible: true }');
1260                        captchaBadge?.setAttribute('x-on:amcaptcha-loading-start.window', 'visible = true');
1261                        captchaBadge?.setAttribute('x-on:amcaptcha-loading-stop.window', 'visible = false');
1262                        captchaBadge?.setAttribute(':class', '!visible && "invisible"');
1263                    });
1264                },
1265
1266                /**
1267                 * Get form widgetId
1268                 *
1269                 * @param {HTMLElement} eventTarget
1270                 * @return {string}
1271                 */
1272                getWidgetId: function (eventTarget) {
1273                    return eventTarget.dataset.amCaptchaWidgetId
1274                        || eventTarget.closest('form')?.dataset.amCaptchaWidgetId;
1275                },
1276
1277                /**
1278                 * Add captcha badge or checkbox to protected form.
1279                 * Store widgetId in dataset to pass this info in callbacks
1280                 *
1281                 * @param {HTMLElement} eventTarget
1282                 * @return {void}
1283                 */
1284                renderCaptcha: function (eventTarget) {
1285                    const captchaElement = document.createElement('div');
1286                    const formContent = eventTarget.closest('form')?.querySelector('[data-element="form-content"]')
1287                        ?? eventTarget.closest('form');
1288                    formContent?.appendChild(captchaElement);
1289
1290                    eventTarget.dataset.amCaptchaWidgetId = grecaptcha.render(captchaElement, {
1291                        ...window.amRecaptchaModel?.recaptchaConfig,
1292                        callback: () => {
1293                            window.dispatchEvent(new CustomEvent(
1294                                'amrecaptcha-callback', {
1295                                    detail: this.getCaptchaCallbackDetail(eventTarget)
1296                                }));
1297                        },
1298                        'expired-callback': () => {
1299                            window.dispatchEvent(new CustomEvent(
1300                                'amrecaptcha-expired-callback', {
1301                                    detail: this.getCaptchaCallbackDetail(eventTarget)
1302                                }));
1303                        }
1304                    });
1305                },
1306
1307                /**
1308                 * Get detail property for callback event
1309                 *
1310                 * @param {HTMLElement} eventTarget
1311                 * @return {object}
1312                 */
1313                getCaptchaCallbackDetail: function (eventTarget) {
1314                    return {
1315                        widgetId: eventTarget.dataset.amCaptchaWidgetId,
1316                        form: eventTarget
1317                    }
1318                },
1319
1320                /**
1321                 * Add functions that will be called on the global state
1322                 *
1323                 * @param {HTMLElement} eventTarget
1324                 * @return {void}
1325                 */
1326                bindCaptchaGlobalCallbacks: function (eventTarget) {
1327                    eventTarget.setAttribute(
1328                        'x-on:amrecaptcha-callback.window',
1329                        `amRecaptchaModel.recaptchaCallback($event, $el)`
1330                    );
1331                    eventTarget.setAttribute(
1332                        'x-on:amrecaptcha-expired-callback.window',
1333                        'amRecaptchaModel.expiredCallback($event, $el)'
1334                    );
1335                }
1336            };
1337        })(window.amRecaptchaModel = window.amRecaptchaModel || {});
1338
1339        window.amRecaptchaLoadCallback = function () {
1340            window.dispatchEvent(new CustomEvent('amcaptcha-script-loaded'));
1341        }
1342    </script>
1342
1343
1344
1345        <!--suppress HtmlUnknownTarget -->
1346    <!-- BV | Magento Extension 9.1.7 -->
1347    
1347<script>
1348        window.addEventListener('init-external-scripts', () => {
1349            const bvScript = document.createElement('script');
1350            bvScript.src = '//apps.bazaarvoice.com/deployments/incstores/main_site/production/en_US/bv.js';
1351            bvScript.type = 'text/javascript';
1352            bvScript.async = true;
1353            document.head.append(bvScript);
1354        }, {once: true, passive: true});
1355    </script>
vendor: 1 bytes, line 1355
1355
1356<script>
1357    function initSocialLoginPost() {
1358        return {
1359            submitForm(form) {
1360                event.preventDefault();
1361                var loginRefererElement = document.getElementById("sociallogin-login-referer");
1362                var value = loginRefererElement.value;
1363                fetch(form.action, {
1364                    headers: {
1365                        contentType: "application/json;charset=utf-8",
1366                    },
1367                    body: new URLSearchParams({
1368                        form_key: hyva.getFormKey(),
1369                        'refress-redirect-url':value
1370                    }),
1371                    method: "POST",
1372                    mode: "cors",
1373                    credentials: "include",
1374                }).then(response => {
1375                    if (response.redirected) {
1376                        window.location.href = response.url;
1377                    } else {
1378                        window.dispatchMessages("warning", "Post request failed", 5000);
1379                    }
1380                })
1381            }
1382        }
1383    }
1384</script>
1384
1385<form style="display:none;" class="form" x-data="initSocialLoginPost()" @submit="submitForm($el)"
1386      action="https://www.flooringinc.com/sociallogin/account/loginPost/"
1387      method="post"
1388      id="sociallogin-login-form"
1389>
1390    <input id="sociallogin-login-referer" name="refress-redirect-url" type="hidden" value="" />
1391    <input id="sociallogin-login-submit" type="submit" value="sociallogin" style="font-size:0"/>
1392</form>
1393
1394<style>
1395    .pr-cookie-setting-bar-overlay,
1396    .pr-cookie-setting-bar-container {
1397        z-index: 999999999999999;
1398    }
1399</style>
1400
1401<script>
1402    'use strict';
1403    var prCookieSettingBar = {
1404        config: {"categories":[{"key":"necessary","is_essential":true,"is_pre_checked":false,"name":"Strictly necessary cookies","description":"These cookies are essential for you to browse our store and use its features, such as accessing secure areas of the website. Cookies that allow holding your cart items, cookies that keep you logged-in and cookies that save your customized preferences are an example of strictly necessary cookies. These cookies are essential to a website's functionality and cannot be disabled by users.","sort_order":0,"details":[{"name":"First party","is_third_party":false,"cookies":[{"name":"pr-cookie-notice-status","category_key":"necessary","type":"first","typeLabel":"1st Party","domain":"","domainLabel":"www.flooringinc.com","duration":0,"durationLabel":"Session","description":"Stores close status of cookie notice."},{"name":"user_allowed_save_cookie","category_key":"necessary","type":"first","typeLabel":"1st Party","domain":"","domainLabel":"www.flooringinc.com","duration":31536000,"durationLabel":"365 days","description":"Stores built-in cookie consent per website."},{"name":"guest-view","category_key":"necessary","type":"first","typeLabel":"1st Party","domain":"","domainLabel":"www.flooringinc.com","duration":0,"durationLabel":"Session","description":"Stores the Order ID that guest shoppers use to retrieve their order status. Guest orders view. Used in \u201cOrders and Returns\u201d widgets."},{"name":"login_redirect","category_key":"necessary","type":"first","typeLabel":"1st Party","domain":"","domainLabel":"www.flooringinc.com","duration":0,"durationLabel":"Session","description":"Preserves the destination page the customer was loading before being directed to log in."},{"name":"mage-messages","category_key":"necessary","type":"first","typeLabel":"1st Party","domain":"","domainLabel":"www.flooringinc.com","duration":31536000,"durationLabel":"365 days","description":"Tracks error messages and other notifications that are shown to the user, such as the cookie consent message, and various error messages. The message is deleted from the cookie after it is shown to the shopper."},{"name":"section_data_ids","category_key":"necessary","type":"first","typeLabel":"1st Party","domain":"","domainLabel":"www.flooringinc.com","duration":0,"durationLabel":"Session","description":"Stores customer-specific information related to shopper-initiated actions such as display wish list, checkout information, etc."},{"name":"store","category_key":"necessary","type":"first","typeLabel":"1st Party","domain":"","domainLabel":"www.flooringinc.com","duration":31536000,"durationLabel":"365 days","description":"Tracks the specific store view \/ locale selected by the shopper."},{"name":"amz_auth_err","category_key":"necessary","type":"first","typeLabel":"1st Party","domain":"","domainLabel":"www.flooringinc.com","duration":31536000,"durationLabel":"365 days","description":"Used if Enable Login with Amazon is enabled. Value 1 indicates an authorization error."},{"name":"amz_auth_logout","category_key":"necessary","type":"first","typeLabel":"1st Party","domain":"","domainLabel":"www.flooringinc.com","duration":86400,"durationLabel":"1 day","description":"Used if Enable Login with Amazon is enabled. Value 1 indicates that the user should be logged out."},{"name":"mage-cache-sessid","category_key":"necessary","type":"first","typeLabel":"1st Party","domain":"","domainLabel":"www.flooringinc.com","duration":0,"durationLabel":"Session","description":"The value of this cookie triggers the cleanup of local cache storage. When the cookie is removed by the backend application, the Admin cleans up local storage, and sets the cookie value to true."},{"name":"mage-cache-storage","category_key":"necessary","type":"first","typeLabel":"1st Party","domain":"","domainLabel":"www.flooringinc.com","duration":0,"durationLabel":"Session","description":"Local storage of visitor-specific content that enables ecommerce functions."},{"name":"stf","category_key":"necessary","type":"first","typeLabel":"1st Party","domain":"","domainLabel":"www.flooringinc.com","duration":0,"durationLabel":"Session","description":"Records the time messages are sent by the SendFriend (Email a Friend) module."},{"name":"recently_viewed_product","category_key":"necessary","type":"first","typeLabel":"1st Party","domain":"","domainLabel":"www.flooringinc.com","duration":86400,"durationLabel":"1 day","description":"Stores product IDs of recently viewed products for easy navigation."},{"name":"recently_viewed_product_previous","category_key":"necessary","type":"first","typeLabel":"1st Party","domain":"","domainLabel":"www.flooringinc.com","duration":86400,"durationLabel":"1 day","description":"Stores product IDs of recently previously viewed products for easy navigation."},{"name":"mage-translation-storage","category_key":"necessary","type":"first","typeLabel":"1st Party","domain":"","domainLabel":"www.flooringinc.com","duration":86400,"durationLabel":"1 day","description":"Stores translated content when requested by the shopper. Used when Translation Strategy is configured as \"Dictionary (Translation on Storefront side)\"."},{"name":"mage-translation-file-version","category_key":"necessary","type":"first","typeLabel":"1st Party","domain":"","domainLabel":"www.flooringinc.com","duration":86400,"durationLabel":"1 day","description":"Tracks the version of translations in local storage. Used when Translation Strategy is configured as Dictionary (Translation on Storefront side)."},{"name":"product_data_storage","category_key":"necessary","type":"first","typeLabel":"1st Party","domain":"","domainLabel":"www.flooringinc.com","duration":86400,"durationLabel":"1 day","description":"Stores configuration for product data related to Recently Viewed \/ Compared Products."},{"name":"recently_compared_product","category_key":"necessary","type":"first","typeLabel":"1st Party","domain":"","domainLabel":"www.flooringinc.com","duration":86400,"durationLabel":"1 day","description":"Stores product IDs of recently compared products."},{"name":"recently_compared_product_previous","category_key":"necessary","type":"first","typeLabel":"1st Party","domain":"","domainLabel":"www.flooringinc.com","duration":86400,"durationLabel":"1 day","description":"Stores product IDs of previously compared products for easy navigation."},{"name":"mage-cache-storage-section-invalidation","category_key":"necessary","type":"first","typeLabel":"1st Party","domain":"","domainLabel":"www.flooringinc.com","duration":86400,"durationLabel":"1 day","description":"Forces local storage of specific content sections that should be invalidated."},{"name":"mg_dnt","category_key":"necessary","type":"first","typeLabel":"1st Party","domain":"","domainLabel":"www.flooringinc.com","duration":0,"durationLabel":"Session","description":"Used to restrict Adobe Commerce data collection functionality if the user has opted out of tracking."},{"name":"last_visited_store","category_key":"necessary","type":"first","typeLabel":"1st Party","domain":"","domainLabel":"www.flooringinc.com","duration":0,"durationLabel":"Session","description":"last_visited_store"},{"name":"pr-gpc-notification-shown","category_key":"necessary","type":"first","typeLabel":"1st Party","domain":"","domainLabel":"www.flooringinc.com","duration":0,"durationLabel":"Session","description":"Stores whether the GPC opt-out notification was shown to and closed by the user."},{"name":"pr-gpc-signal-handled","category_key":"necessary","type":"first","typeLabel":"1st Party","domain":"","domainLabel":"www.flooringinc.com","duration":0,"durationLabel":"Session","description":"Stores whether the Global Privacy Control (GPC) signal has been detected on the front end and the associated handling logic has been executed for the current user."},{"name":"pr-cookie-consent","category_key":"necessary","type":"first","typeLabel":"1st Party","domain":"","domainLabel":"www.flooringinc.com","duration":365,"durationLabel":"less than an hour","description":"Keeps your cookie consent."},{"name":"pr-cookie-consent-id","category_key":"necessary","type":"first","typeLabel":"1st Party","domain":"","domainLabel":"www.flooringinc.com","duration":365,"durationLabel":"less than an hour","description":"Keeps your cookie consent id."},{"name":"form_key","category_key":"necessary","type":"first","typeLabel":"1st Party","domain":"","domainLabel":"www.flooringinc.com","duration":3600,"durationLabel":"1 hour","description":"A security measure that appends a random string to all form submissions to protect the data from Cross-Site Request Forgery (CSRF)."},{"name":"X-Magento-Vary","category_key":"necessary","type":"first","typeLabel":"1st Party","domain":"","domainLabel":"www.flooringinc.com","duration":3600,"durationLabel":"1 hour","description":"Configuration setting that improves performance when using Varnish static content caching."},{"name":"private_content_version","category_key":"necessary","type":"first","typeLabel":"1st Party","domain":"","domainLabel":"www.flooringinc.com","duration":31536000,"durationLabel":"365 days","description":"Appends a random, unique number and time to pages with customer content to prevent them from being cached on the server."},{"name":"persistent_shopping_cart","category_key":"necessary","type":"first","typeLabel":"1st Party","domain":"","domainLabel":"www.flooringinc.com","duration":31536000,"durationLabel":"365 days","description":"Stores the key (ID) of persistent cart to make it possible to restore the cart for an anonymous shopper."},{"name":"mage-banners-cache-storage","category_key":"necessary","type":"first","typeLabel":"1st Party","domain":"","domainLabel":"www.flooringinc.com","duration":3600,"durationLabel":"1 hour","description":"Stores banner content locally to improve performance."}]}],"show_details":false},{"key":"preferences","is_essential":false,"is_pre_checked":false,"name":"Preferences cookies","description":"Preferences cookies are also known as \u201cfunctionality cookies\u201d. These cookies allow a website to remember choices you have made in the past, like what language you prefer, your favourite search f
1404ilters, or what your user name and password are so you can automatically log in.","sort_order":0,"details":[],"show_details":false},{"key":"statistics","is_essential":false,"is_pre_checked":false,"name":"Statistics cookies","description":"Statistics cookies are also known as \u201cperformance cookies\u201d. These cookies collect information about how you use a website, like which pages you visited and which links you clicked on. None of this information can be used to identify you. It is all aggregated and, therefore, anonymized. Their sole purpose is to improve website functions. This includes cookies from third-party analytics services, such as visitor analytics, heatmaps and social media analytics.","sort_order":0,"details":[{"name":"First party","is_third_party":false,"cookies":[{"name":"_ga","category_key":"statistics","type":"first","typeLabel":"1st Party","domain":"","domainLabel":"www.flooringinc.com","duration":63072000,"durationLabel":"730 days","description":"Used to distinguish users."},{"name":"_ga_*","category_key":"statistics","type":"first","typeLabel":"1st Party","domain":"","domainLabel":"www.flooringinc.com","duration":63072000,"durationLabel":"730 days","description":"Used to persist session state."},{"name":"_gid","category_key":"statistics","type":"first","typeLabel":"1st Party","domain":"","domainLabel":"www.flooringinc.com","duration":86400,"durationLabel":"1 day","description":"Used to distinguish users."},{"name":"_gat","category_key":"statistics","type":"first","typeLabel":"1st Party","domain":"","domainLabel":"www.flooringinc.com","duration":86400,"durationLabel":"1 day","description":"Used to throttle request rate."},{"name":"_dc_gtm_*","category_key":"statistics","type":"first","typeLabel":"1st Party","domain":"","domainLabel":"www.flooringinc.com","duration":60,"durationLabel":"less than an hour","description":"Used to throttle request rate."},{"name":"_clck","category_key":"statistics","type":"first","typeLabel":"1st Party","domain":"","domainLabel":"www.flooringinc.com","duration":0,"durationLabel":"Session","description":"Persists the Microsoft Clarity User ID and preferences, unique to that site is attributed to the same user ID."},{"name":"_clsk","category_key":"statistics","type":"first","typeLabel":"1st Party","domain":"","domainLabel":"www.flooringinc.com","duration":0,"durationLabel":"Session","description":"Connects multiple page views by a user into a single Microsoft Clarity session recording."},{"name":"add_to_cart","category_key":"statistics","type":"first","typeLabel":"1st Party","domain":"","domainLabel":"www.flooringinc.com","duration":3600,"durationLabel":"1 hour","description":"Used by Google Tag Manager. Captures the product SKU, name, price and quantity removed from the cart, and makes the information available for future integration by third-party scripts."},{"name":"remove_from_cart","category_key":"statistics","type":"first","typeLabel":"1st Party","domain":"","domainLabel":"www.flooringinc.com","duration":3600,"durationLabel":"1 hour","description":"Used by Google Tag Manager. Captures the product SKU, name, price and quantity added to the cart, and makes the information available for future integration by third-party scripts."}]},{"name":"","is_third_party":true,"cookies":[{"name":"CLID","category_key":"statistics","type":"third","typeLabel":"3rd Party","domain":"","domainLabel":"","duration":31536000,"durationLabel":"365 days","description":"Identifies the first time Microsoft Clarity saw the current user on any site using the service"},{"name":"MR","category_key":"statistics","type":"third","typeLabel":"3rd Party","domain":"","domainLabel":"","duration":31536000,"durationLabel":"365 days","description":"Used by Microsoft to track users for analytics purposes."},{"name":"MUID","category_key":"statistics","type":"third","typeLabel":"3rd Party","domain":"","domainLabel":"","duration":31536000,"durationLabel":"365 days","description":"Identifies unique web browsers visiting Microsoft sites. These cookies are used for advertising, site analytics, and other operational purposes."}]}],"show_details":false},{"key":"marketing","is_essential":false,"is_pre_checked":false,"name":"Marketing cookies","description":"The
1404se cookies track your online activity to help advertisers deliver more relevant advertising or to limit how many times you see an ad. These cookies can share that information with other organizations or advertisers. These are persistent cookies and almost always of third-party provenance.","sort_order":0,"details":[],"show_details":false}],"displayStyle":"left_bar","canShowCookieDetails":true,"overview":{"title":"Privacy and Cookies","text":"<p>A cookie is information stored on your computer by a website you visit. Cookies provide a way for the site to recognize you and keep track of your preferences. Ecommerce websites place cookies on visitors' browsers to retain login credentials, identify customers, and provide a customized shopping experience.<\/p>\r\n<p>We respect the privacy of individuals and recognize the importance of personal data entrusted to us by our customers. Any website visitor may choose not to allow some types of cookies. Click on cookie category headings and cookie details to find out more and change our default settings. However, blocking some types of cookies may impact your website experience and prevent you from using all the features on our store.<\/p>"},"consentPreferences":{"header":"Manage Consent Preferences","essential_category_status":"Always Active","cookie_details_link":"Cookie Details"},"design":{"textColor":"inherit","backgroundColor":"inherit"},"acceptButtonConfig":{"label":"Accept All","text_color":null,"text_color_on_hover":null,"background_color":null,"background_color_on_hover":null},"declineButtonConfig":{"enabled":true,"label":"Decline All","text_color":null,"text_color_on_hover":null,"background_color":null,"background_color_on_hover":null},"confirmButtonConfig":{"label":"Confirm My Choices","text_color":null,"text_color_on_hover":null,"background_color":null,"background_color_on_hover":null},"cookieDetailsIsOpen":false},
1405        show: function () {},
1406        hide: function () {},
1407        syncCategoriesDataWithConsent: function () {
1408            this.config.categories = this.config.categories.map(category => {
1409                category.is_allowed = prCookieConsentApi.isAllowedCategory(category.key);
1410                return category;
1411            });
1412        },
1413        allowAll: function () {
1414            prCookieConsentApi.consent.allowAllCategories();
1415            this.syncCategoriesDataWithConsent();
1416            window.prCookieSettingBar.hide();
1417        },
1418        declineAll: function () {
1419            prCookieConsentApi.consent.declineAll();
1420            this.syncCategoriesDataWithConsent();
1421            window.prCookieSettingBar.hide();
1422        },
1423        confirm: function () {
1424            var allowedCategories = [...prCookieConsentApi.config.essentialCategoryKeys];
1425            this.config.categories.forEach((category) => {
1426                if (allowedCategories.includes(category.key) || !category.is_allowed) {
1427                    return;
1428                }
1429
1430                allowedCategories.push(category.key);
1431            });
1432
1433            prCookieConsentApi.consent.set(allowedCategories);
1434            this.syncCategoriesDataWithConsent();
1435            window.prCookieSettingBar.hide();
1436        }
1437    };
1438</script>
1438
1439
1440<div x-data="{...hyva.modal(), init() {
1441            window.prCookieSettingBar.show = this.show.bind(this, 'pr-cookie-setting-bar', event);
1442            window.prCookieSettingBar.hide = this.hide.bind(this);
1443    }}" x-init="init()">
1444    <div x-cloak    x-bind="overlay('pr-cookie-setting-bar')"
1445    x-spread="overlay('pr-cookie-setting-bar')"
1446    class="fixed inset-0 bg-black bg-opacity-50 z-50 pr-cookie-setting-bar-overlay">
1447    <div class="fixed flex justify-center items-center text-left z-40 pr-cookie-setting-bar-container inset-0">
1448        <div x-ref="pr-cookie-setting-bar" role="dialog" aria-modal="true"
1449                                                  class="inline-block bg-white shadow-xl rounded-lg p-10 max-h-screen overflow-auto overscroll-y-contain pr-cookie-setting-bar rounded-none px-0 py-0 fixed top-0 bottom-0 left-0 w-[400px] max-w-full">
1450            <div class="pr-cookie-setting-bar-wrap text-[13px] px-4 pt-2 pb-4 relative"
1451     id="pr-cookie-setting-bar"
1452     :class="config.cookieDetailsIsOpen && 'h-screen overflow-hidden'"
1453     x-data="prCookieSettingBar"
1454     x-init="syncCategoriesDataWithConsent()"
1455>
1456    <button @click="hide" class="ml-auto -mt-2 -mr-4 block top-2 right-2 p-2">
1457        <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" class="w-4 h-4" width="24" height="24" role="img">
1458  <path fill-rule="evenodd" d="M4.293 4.293a1 1 0 011.414 0L10 8.586l4.293-4.293a1 1 0 111.414 1.414L11.414 10l4.293 4.293a1 1 0 01-1.414 1.414L10 11.414l-4.293 4.293a1 1 0 01-1.414-1.414L8.586 10 4.293 5.707a1 1 0 010-1.414z" clip-rule="evenodd"/>
1459<title>x</title></svg>
1460    </button>
1461    <h3 class="font-bold text-xl leading-normal mb-3" x-text="config.overview.title"></h3>
1462    <div class="pr-cookie-description" x-html="config.overview.text"></div>
1463    <div class="pr-actions-buttons flex flex-wrap items-center justify-center py-4 mb-6 border-container border-b">
1464        <button type="button" class="action btn btn-primary m-2" x-text="config.acceptButtonConfig.label" @click="allowAll();"></button>
1465        <button type="button" class="action btn btn-secondary m-2" x-text="config.declineButtonConfig.label" @click="declineAll()"></button>
1466    </div>
1467    <h3 class="pr-cookie-manage-title font-bold text-xl mb-0" x-text="config.consentPreferences.header"></h3>
1468    <ul class="message-system-list mt-8">
1469        <template x-for="category in config.categories">
1470            <li class="mt-0 mb-4">
1471                <div class="accordion-title">
1472                    <div class="pr-cookie-option flex justify-between pb-2 mt-8 text-sm">
1473                        <strong class="option-label mr-4" x-text="category.name"></strong>
1474                        <template x-if="category.is_essential">
1475                            <strong class="option-status whitespace-nowrap text-green-700" x-text="config.consentPreferences.essential_category_status"></strong>
1476                        </template>
1477                        <template x-if="! category.is_essential">
1478                            <div class="pr-cookie-switch">
1479                                <label class="switch-label" aria-label="Switch">
1480                                    <input type="checkbox"
1481                                           class="sr-only"
1482                                           x-model="category.is_allowed"
1483                                           x-bind:name="category.key"
1484                                    >
1485                                    <span class="switch-area flex items-center w-11 h-6 rounded-3xl border border-container cursor-pointer transition-all"
1486                                          :class="category.is_allowed ? 'bg-green-500 border-green-700' : 'bg-gray-200 border-gray-300'"
1487                                    >
1488                                        <span class="switch-nob block w-5 h-5 rounded-full transition-all"
1489                                              :class="category.is_allowed ? 'bg-white ml-auto mr-[2px]' : 'bg-gray-500 mr-auto ml-[2px]'"
1490                                        ></span>
1491                                    </span>
1492                                </label>
1493                            </div>
1494                        </template>
1495                    </div>
1496                    <div class="first-details" x-data="{ isOpen: false }">
1497                        <div class="pr-cookie-category-description text-gray-700 mb-4" x-text="category.description"></div>
1498                        <template x-if="config.canShowCookieDetails">
1499                            <div>
1500                                <div class="lvl1">
1501                                    <span class="pr-cookie-details text-blue-700 cursor-pointer underline hover:no-underline"
1502                                          x-on:click="isOpen = true; config.cookieDetailsIsOpen = isOpen"
1503                                          x-text="config.consentPreferences.cookie_details_link"
1504                                          x-bind:data-category-key="category.key"></span>
1505                                </div>
1506                                <div class="second-details absolute bg-white px-4 pt-2 pb-4 inset-0 h-full"
1507                                     x-show="isOpen"
1508                                >
1509                                    <div class="pr-cookie-view flex flex-col h-full">
1510                                        <template x-if="isOpen">
1511                                            <button @click="hide" class="ml-auto -mt-2 -mr-2 block top-2 right-2 p-2">
1512                                                <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" class="w-4 h-4" width="24" height="24" role="img">
1513  <path fill-rule="evenodd" d="M4.293 4.293a1 1 0 011.414 0L10 8.586l4.293-4.293a1 1 0 111.414 1.414L11.414 10l4.293 4.293a1 1 0 01-1.414 1.414L10 11.414l-4.293 4.293a1 1 0 01-1.414-1.414L8.586 10 4.293 5.707a1 1 0 010-1.414z" clip-rule="evenodd"/>
1514<title>x</title></svg>
1515                                            </button>
1516                                        </template>
1517                                        <div class="flex justify-between items-center text-sm mb-2">
1518                                            <button class="pr-cookie-details-hide px-3 -ml-3 mr-3 flex items-center cursor-pointer hover:text-blue-800"
1519                                                    x-show="isOpen"
1520                                                    x-on:click="isOpen = false; config.cookieDetailsIsOpen = isOpen">
1521                                                <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" class="w-3 h-3 mr-2 flex-shrink-0" width="24" height="24" role="img">
1522  <path fill-rule="evenodd" d="M9.707 16.707a1 1 0 01-1.414 0l-6-6a1 1 0 010-1.414l6-6a1 1 0 011.414 1.414L5.414 9H17a1 1 0 110 2H5.414l4.293 4.293a1 1 0 010 1.414z" clip-rule="evenodd"/>
1523<title>arrow-left</title></svg>
1524                                                Back
1525                                            </button>
1526                                            <strong class="option-label" x-text="category.name"></strong>
1527                                        </div>
1528                                        <div class="pr-cookies-list h-full px-4 -mx-4 mb-3 overflow-auto">
1529                                            <h3 class="pr-cookie-view-title mb-2 font-bold text-base">Cookies List</h3>
1530                                            <template x-if="category.details.length > 0">
1531                                                <template x-for="group in category.details">
1532                                                    <div class="pr-cookie-item text-xs py-2 border-container border-b">
1533                                                        <h4 class="pr-cookie-details-title font-semibold mb-1" x-text="group.name"></h4>
1534                                                        <details class="pr-cookie-details-info">
1535                                                            <summary class="cursor-pointer text-blue-600 hover:text-blue-500">
1536                                                                <h5 class="inline-block font-semibold">
1537                                                                    View Cookies
1538                                                                </h5>
1539                                                            </summary>
1540                                                            <div class="pr-cookie-group-wrp">
1541                                                                <template x-for="cookie in group.cookies">
1542                                                                    <div class="pr-cookie-group mt-1 mb-4 p-4 bg-gray-100 rounded">
1543                                                                        <div class="pr-cookie-group-row mb-2 flex">
1544                                                                            <sp
1544an class="w-24 flex-shrink-0 mr-4">Name</span>
1545                                                                            <span class="truncate" x-text="cookie.name"></span>
1546                                                                        </div>
1547                                                                        <div class="pr-cookie-group-row mb-2 flex">
1548                                                                            <span class="w-24 flex-shrink-0 mr-4">Domain</span>
1549                                                                            <span class="truncate" x-text="cookie.domainLabel"></span>
1550                                                                        </div>
1551                                                                        <div class="pr-cookie-group-row mb-2 flex">
1552                                                                            <span class="w-24 flex-shrink-0 mr-4">Duration</span>
1553                                                                            <span x-text="cookie.durationLabel"></span>
1554                                                                        </div>
1555                                                                        <div class="pr-cookie-group-row mb-2 flex">
1556                                                                            <span class="w-24 flex-shrink-0 mr-4">Type</span>
1557                                                                            <span x-text="cookie.typeLabel"></span>
1558                                                                        </div>
1559                                                                        <div class="pr-cookie-group-row mb-2 flex">
1560                                                                            <span class="w-24 flex-shrink-0 mr-4">Category</span>
1561                                                                            <span x-text="cookie.category_key"></span>
1562                                                                        </div>
1563                                                                        <div class="pr-cookie-group-row flex">
1564                                                                            <span class="w-24 flex-shrink-0 mr-4">Description</span>
1565                                                                            <span x-text="cookie.description"></span>
1566                                                                        </div>
1567                                                                    </div>
1568                                                                </template>
1569                                                            </div>
1570                                                        </details>
1571                                                    </div>
1572                                                </template>
1573                                            </template>
1574                                            <template x-if="category.details.length === 0">
1575                                                <p>There are no cookies.</p>
1576                                            </template>
1577                                        </div>
1578
1579                                        <template x-if="isOpen">
1580                                            <div>
1581                                                <button class="action btn btn-primary"
1582                                                        :style="`color: ${config.confirmButtonConfig.text_color}; background-color: ${config.confirmButtonConfig.background_color}; border-color: ${config.confirmButtonConfig.background_color}`"
1583                                                        x-text="config.confirmButtonConfig.label"
1584                                                        @click="prCookieSettingBar.confirm()">
1585                                                </button>
1586                                            </div>
1587                                        </template>
1588                                    </div>
1589                                </div>
1590                            </div>
1591                        </template>
1592                    </div>
1593                </div>
1594            </li>
1595        </template>
1596        <button class="action btn btn-primary"
1597                :style="`color: ${config.confirmButtonConfig.text_color}; background-color: ${config.confirmButtonConfig.background_color}; border-color: ${config.confirmButtonConfig.background_color}`"
1598                x-text="config.confirmButtonConfig.label"
1599                @click="prCookieSettingBar.confirm()">
1600        </button>
1601    </ul>
1602</div>
1603        </div>
1604    </div>
1605    </div>
1606</div>
1607<script type="text/javascript"  nonce="bDhraW5vaDFjczNyejIwenoxdG1tYm50dzNqb2RqOGY=">
1608    (() => {
1609        const updateCookieConsentConfig = () => {
1610            const categoryMap = {};
1611            Object.entries(prCookieConsentApi.config.cookieToCategoryMapping).forEach(([cookieName, categoryName]) => {
1612                if (! categoryMap[categoryName]) {
1613                    categoryMap[categoryName] = [];
1614                }
1615                categoryMap[categoryName].push(cookieName);
1616            });
1617
1618            Object.entries(categoryMap).forEach(([category, cookies]) => {
1619                const existingList = window.cookie_consent_config[category] || [];
1620                window.cookie_consent_config[category] = Array.from(new Set(existingList.concat(cookies)));
1621            });
1622
1623            let cookieCategories = ["necessary","preferences","statistics","marketing"];
1624            window.cookie_consent_groups = {};
1625            cookieCategories.forEach((category) => {
1626                window.cookie_consent_groups[category] = prCookieConsentApi.isAllowedCategory(category);
1627            });
1628        }
1629
1630        const updateConsent = () => {
1631            window.cookie_consent_groups = window.cookie_consent_groups || {}
1632            Object.keys(window.cookie_consent_groups).forEach(categoryKey => {
1633                window.cookie_consent_groups[categoryKey] = prCookieConsentApi.isAllowedCategory(categoryKey);
1634            });
1635            window.dispatchEvent(new CustomEvent('user-allowed-save-cookie'));
1636        }
1637
1638        document.addEventListener('pr-cookie-consent-api:configured', () => {
1639            updateCookieConsentConfig();
1640            prCookieConsentApi.consent.addCallback(updateConsent);
1641        });
1642
1643        if (prCookieConsentApi.isConfigured) {
1644            updateCookieConsentConfig();
1645            prCookieConsentApi.consent.addCallback(updateConsent);
1646        }
1647    })();
1648</script>
1648
1649<div id="prgdpr-consentpopups-container"
1650     x-data="prDataPrivacyConsentPopupsLoadInit()"
1651     @private-content-loaded.window="receiveCustomerData($event.detail.data)"
1652></div>
1653<script>
1654    function prDataPrivacyConsentPopupsLoadInit() {
1655        return {
1656            receiveCustomerData: function (data) {
1657                if (! data.hasOwnProperty('data_privacy')) {
1658                    return;
1659                }
1660
1661                if (data.data_privacy.countNotifies !== 0 || data.data_privacy.countPopups !== 0) {
1662                    this.loadPopups();
1663                }
1664            },
1665            loadPopups: function () {
1666                fetch('https://www.flooringinc.com/data-privacy/consentpopups/load/')
1667                    .then((response) => {
1668                        if (! response.ok) {
1669                            throw new Error('Network response was not ok');
1670                        }
1671
1672                        return response.json();
1673                    })
1674                    .then(data => this.$el.innerHTML = data.html)
1675                    .catch(error => console.warn(error));
1676            }
1677        }
1678    }
1679
1680    function prDataPrivacyConsentPopupsInit(popups, notifies) {
1681        return {
1682            popups: popups,
1683            notifies: notifies,
1684            data: null,
1685            isShowModal: true,
1686            init: function () {
1687                for (popup of this.popups) {
1688                    popup.isShowModal = true;
1689                }
1690
1691                for (notify of this.notifies) {
1692                    notify.isShowModal = true;
1693                }
1694            },
1695            closeModal(popup) {
1696                popup.isShowModal = false;
1697            },
1698            sendRequest: function (url, consent) {
1699                if (consent.cms_page) {
1700                    consent.checkboxLabel = 'I agree';
1701                }
1702
1703                fetch(url, {
1704                    method: 'POST',
1705                    headers: {'X-Requested-With': 'XMLHttpRequest'},
1706                    body: JSON.stringify({'consent': consent})
1707                });
1708            },
1709            print: function (popup) {
1710                let printWindow = window.open('', 'Print', 'height=600,width=800');
1711                printWindow.document.write(
1712                    `<html><head><title>${popup.cms_page.title}</title></head><body>${popup.cms_page.content}</body></html`
1713                );
1714                printWindow.document.close();
1715                printWindow.focus();
1716                printWindow.print();
1717                printWindow.onafterprint = function () {
1718                    printWindow.close();
1719                };
1720
1721                return true;
1722            }
1723        }
1724    }
1725</script>
1725
1726
1727<script  nonce="bDhraW5vaDFjczNyejIwenoxdG1tYm50dzNqb2RqOGY=">
1728    (() => {
1729        const updateConsents = () => {
1730                        if (! Array.isArray(prCookieConsentApi.consent.get()) || prCookieConsentApi.consent.get().length > 0) {
1731                prCookieConsentApi.consent.declineAll();
1732            }
1733                    }
1734
1735        prGlobalPrivacyControlApi.signalHandlers.addHandler(updateConsents);
1736    })();
1737</script>
1737
1738<input name="form_key" type="hidden" value="Jn9pE0dYVl7fyGdn" />
1739    
1739<script>
1740        window.amRecaptchaModel = window.amRecaptchaModel || {};
1741    </script>
1741
1742<div class="page-wrapper"><div class="container hidden">
1743    <div class="pt-2 pb-2 flex flex-row items-end justify-end">
1744                    <div class="pl-3">
1745                <a href="https://www.flooringinc.com/knowledge-base/" class="hover:underline">
1746    FAQ</a>
1747            </div>
1748            </div>
1749</div>
1750<header class="page-header"><div class="panel wrapper"><div class="header_top flex justify-between items-center" x-data="notificationAjaxCall()" x-init="initNotificationFunc()">
1751    <div class="header_left_notification text-size14 font-normal" x-html="left_notification_html"></div>
1752    <div class="header_middle_notification flex">
1753        <div data-content-type="html" data-appearance="default" data-element="main" data-decoded="true"><div class="flex items-center"><a href="#" class="flex items-center gap-2"><svg xmlns="http://www.w3.org/2000/svg" width="29" height="20" viewBox="0 0 29 20" fill="none">
1754<path d="M18.125 0V9.09091H0V0H18.125ZM19.9375 0H29V9.09091H19.9375V0ZM10.875 20V10.9091H29V20H10.875ZM0 20V10.9091H9.0625V20H0Z" fill="#15324C"/>
1755</svg> 500+ Million Sqft Covered</a></div>
1756
1757<div class="flex items-center"><a href="https://www.flooringinc.com/reviews" class="flex items-center gap-2"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 18 18" fill="none">
1758<path d="M8.99984 0.666504L11.5748 5.88317L17.3332 6.72484L13.1665 10.7832L14.1498 16.5165L8.99984 13.8082L3.84984 16.5165L4.83317 10.7832L0.666504 6.72484L6.42484 5.88317L8.99984 0.666504Z" fill="#15324C" stroke="#15324C" stroke-linecap="round" stroke-linejoin="round"/>
1759</svg> 125K+ Verified Reviews</a></div>
1760
1761<div class="flex items-center"><a href="/price-match" class="flex items-center gap-2"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 20 20" fill="none">
1762<path d="M17.1582 11.1748L11.1832 17.1498C11.0284 17.3048 10.8446 17.4277 10.6422 17.5116C10.4399 17.5955 10.223 17.6386 10.004 17.6386C9.78498 17.6386 9.5681 17.5955 9.36577 17.5116C9.16344 17.4277 8.97963 17.3048 8.82484 17.1498L1.6665 9.99984V1.6665H9.99984L17.1582 8.82484C17.4686 9.13711 17.6428 9.55953 17.6428 9.99984C17.6428 10.4401 17.4686 10.8626 17.1582 11.1748Z" fill="#15324C"/>
1763<path d="M5.83317 5.83317H5.8415M17.1582 11.1748L11.1832 17.1498C11.0284 17.3048 10.8446 17.4277 10.6422 17.5116C10.4399 17.5955 10.223 17.6386 10.004 17.6386C9.78498 17.6386 9.5681 17.5955 9.36577 17.5116C9.16344 17.4277 8.97963 17.3048 8.82484 17.1498L1.6665 9.99984V1.6665H9.99984L17.1582 8.82484C17.4686 9.13711 17.6428 9.55953 17.6428 9.99984C17.6428 10.4401 17.4686 10.8626 17.1582 11.1748Z" stroke="#15324C" stroke-linecap="round" stroke-linejoin="round"/>
1764<circle cx="5" cy="5" r="1" fill="white"/>
1765</svg> Price Match Guarantee</a></div>
1766
1767<div class="flex items-center"><a href="/moneybackguarantee" class="flex items-center gap-2">
1768<svg xmlns="http://www.w3.org/2000/svg" width="14" height="18" viewBox="0 0 14 18" fill="none">
1769<path d="M7 0.75V18.4499M11.1667 3.75H4.91667C4.14312 3.75 3.40125 4.02656 2.85427 4.51884C2.30729 5.01113 2 5.67881 2 6.375C2 7.07119 2.30729 7.73887 2.85427 8.23116C3.40125 8.72344 4.14312 9 4.91667 9H9.08333C9.85688 9 10.5987 9.27656 11.1457 9.76885C11.6927 10.2611 12 10.9288 12 11.625C12 12.3212 11.6927 12.9889 11.1457 13.4812C10.5987 13.9734 9.85688 14.25 9.08333 14.25H2" stroke="#15324C" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"/>
1770</svg> Money Back Guarantee</a></div>
1771</div>    </div>
1772    <div class="header_right_notifications font-normal">
1773        <style>#html-body [data-pb-style=GSTQRKU]{justify-content:flex-start;display:flex;flex-direction:column;background-position:left top;background-size:cover;background-repeat:no-repeat;background-attachment:scroll}</style><div data-content-type="row" data-appearance="contained" data-element="main"><div data-enable-parallax="0" data-parallax-speed="0.5" data-background-images="{}" data-background-type="image" data-video-loop="true" data-video-play-only-visible="true" data-video-lazy-load="true" data-video-fallback-src="" data-element="inner" data-pb-style="GSTQRKU"><div data-content-type="text" data-appearance="default" data-element="main"><ul>
1774<li><a href="/contact">Contact Us</a></li>
1775<li><a href="/sales/guest/form">Track Order</a></li>
1776</ul></div></div></div>    </div>
1777</div>
1778
1779<script>
1780  function notificationAjaxCall() {
1781    return {
1782        availability_notification: '',
1783        left_notification_html: '',
1784        right_notification_html: '',
1785        initNotificationFunc: function () {
1786            fetch(BASE_URL+'notifications/index/show', {
1787                method: "GET",
1788                headers: { 'Content-Type': 'application/json' },
1789            })
1790            .then(response => {
1791                if (! response.ok) console.warn('GET request failed');
1792                return response.json();
1793            })
1794            .then(data => {
1795                if (data) {
1796                  this.availability_notification = data.availability_notification;
1797                  this.left_notification_html = data.left_notification_html;
1798                  this.right_notification_html = data.right_notification_html;
1799                }
1800            });
1801        }
1802    }
1803  }
1804</script>
1804</div><div class="header content">
1804<script>
1805    function initQuoteCartDrawer() {
1806        return {
1807            open: false,
1808            cartData: {},
1809            getQuoteCartData(data) {
1810                if (data.quotecart) {
1811                    this.cartData = data.quotecart
1812                    this.setCartItems();
1813                }
1814            },
1815            cartItems: [],
1816            setCartItems() {
1817                this.cartItems = this.cartData && this.cartData.items.sort(function(a,b) { return a.item_id - b.item_id }) || {}
1818            },
1819            deleteItemFromCart(itemId) {
1820                var formKey = document.querySelector('input[name=form_key]').value;
1821                fetch(BASE_URL+"amasty_quote/sidebar/removeItem/", {
1822                    "headers": {
1823                        "content-type": "application/x-www-form-urlencoded; charset=UTF-8",
1824                    },
1825                    "body": "form_key="+ formKey + "&item_id="+itemId,
1826                    "method": "POST",
1827                    "mode": "cors",
1828                    "credentials": "include"
1829                }).then(function (response) {
1830                    if (response.redirected) {
1831                        window.location.href = response.url;
1832                    } else if (response.ok) {
1833                        return response.json();
1834                    } else {
1835                        typeof window.dispatchMessages !== "undefined" && window.dispatchMessages(
1836                            [{
1837                                type: "warning",
1838                                text: "Could not remove item from quote."
1839                            }], 5000
1840                        );
1841                    }
1842                }).then(function (response) {
1843                    typeof window.dispatchMessages !== "undefined" && window.dispatchMessages(
1844                        [{
1845                            type: response.success ? "success" : "error",
1846                            text: response.success
1847                                ? "You removed the item."
1848                                : response.error_message
1849                        }], 5000
1850                    );
1851                    var reloadCustomerDataEvent = new CustomEvent("reload-customer-section-data");
1852                    window.dispatchEvent(reloadCustomerDataEvent);
1853                });
1854            }
1855        }
1856    }
1857</script>
1857
1858<section id="cart-quote-drawer"
1859         x-data="initQuoteCartDrawer()"
1860         @private-content-loaded.window="getQuoteCartData(event.detail.data)"
1861         @toggle-quote-cart.window="open=true;"
1862         @keydown.window.escape="open=false"
1863>
1864    <template x-if="cartData && cartData.summary_count">
1865        <div role="dialog"
1866             aria-labelledby="cart-drawer-title"
1867             aria-modal="true"
1868             @click.away="open = false"
1869             class="fixed inset-y-0 right-0 z-30 flex max-w-full">
1870            <div class="backdrop"
1871                 x-show="open"
1872                 x-transition:enter="ease-in-out duration-500"
1873                 x-transition:enter-start="opacity-0"
1874                 x-transition:enter-end="opacity-100"
1875                 x-transition:leave="ease-in-out duration-500"
1876                 x-transition:leave-start="opacity-100"
1877                 x-transition:leave-end="opacity-0"
1878                 @click="open = false"
1879                 aria-label="Close panel"></div>
1880            <div class="relative w-screen max-w-md shadow-2xl"
1881                 x-show="open"
1882                 x-transition:enter="transform transition ease-in-out duration-500 sm:duration-700"
1883                 x-transition:enter-start="translate-x-full"
1884                 x-transition:enter-end="translate-x-0"
1885                 x-transition:leave="transform transition ease-in-out duration-500 sm:duration-700"
1886                 x-transition:leave-start="translate-x-0"
1887                 x-transition:leave-end="translate-x-full"
1888            >
1889                <div
1890                    x-show="open"
1891                    x-transition:enter="ease-in-out duration-500"
1892                    x-transition:enter-start="opacity-0"
1893                    x-transition:enter-end="opacity-100"
1894                    x-transition:leave="ease-in-out duration-500"
1895                    x-transition:leave-start="opacity-100"
1896                    x-transition:leave-end="opacity-0" class="absolute top-0 right-0 flex mr-3 mt-2">
1897                    <button @click="open = false" aria-label="Close panel"
1898                            class="p-2 text-gray-300 transition duration-150 ease-in-out hover:text-black">
1899                        <svg class="w-6 h-6" fill="none" viewBox="0 0 24 24" stroke="currentColor">
1900                            <path stroke-linecap="round" stroke-linejoin="round"
1901                                  stroke-width="2" d="M6 18L18 6M6 6l12 12">
1902                            </path>
1903                        </svg>
1904                    </button>
1905                </div>
1906                <div class="flex flex-col h-full py-6 space-y-6 bg-white shadow-xl">
1907                    <header class="px-4 sm:px-6">
1908                        <div id="cart-drawer-title" class="text-lg font-medium leading-7 text-gray-900">
1909                            My Quote Cart                        </div>
1910                    </header>
1911                    <div class="relative grid gap-6 px-4 py-6 overflow-y-auto bg-white border-b
1912                        sm:gap-8 sm:px-6 border-container">
1913                        <template x-for="item in cartItems">
1914                            <div class="flex items-start p-3 -m-3 space-x-4 transition duration-150
1915                                ease-in-out rounded-lg hover:bg-gray-100">
1916                                <a :href="item.product_url" class="w-1/4">
1917                                    <img
1918                                        :src="item.product_image.src"
1919                                        :width="item.product_image.width"
1920                                        :height="item.product_image.height"
1921                                        loading="lazy"
1922                                    />
1923                                </a>
1924                                <div class="w-3/4 relative">
1925                                    <div>
1926                                        <div class="text-xl">
1927                                            <a :href="item.product_url" class="hover:underline">
1928                                                <span x-html="item.qty"></span> x <span x-html="item.product_name"></span>
1929                                            </a>
1930                                        </div>
1931                                        <div class="text-sm"><span x-html="item.product_sku"></div>
1932                                    </div>
1933                                    <template x-for="option in item.options">
1934                                        <div class="pt-2">
1935                                            <p class="font-semibold" x-text="option.label + ':'"></p>
1936                                            <p class="text-secondary" x-html="option.value"></p>
1937                                        </div>
1938                                    </template>
1939                                    <div><span x-html="item.product_price"></span></div>
1940                                    <div class="pt-4">
1941                                        <a :href="item.configure_url"
1942                                           x-show="item.product_type !== 'grouped'"
1943                                            class="inline-flex p-2 mr-2 btn btn-primary">
1944                                            <svg fill="none" viewBox="0 0 24 24" stroke="currentColor"
1945                                                 size="16" class="w-5 h-5">
1946                                                <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2"
1947                                                      d="M15.232 5.232l3.536 3.536m-2.036-5.036a2.5 2.5 0 113.536
1948                                                      3.536L6.5 21.036H3v-3.572L16.732 3.732z">
1949                                                </path>
1950                                            </svg>
1951                                        </a>
1952                                        <button class="inline-flex p-2 btn btn-primary"
1953                                                @click="deleteItemFromCart(item.item_id)"
1954                                        >
1955                                            <svg fill="none" viewBox="0 0 24 24" stroke="currentColor"
1956                                                 size="16" class="w-5 h-5">
1957                                                <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2"
1958                                                      d="M19 7l-.867 12.142A2 2 0 0116.138 21H7.862a2 2 0
1959                                                      01-1.995-1.858L5 7m5 4v6m4-6v6m1-10V4a1 1 0 00-1-1h-4a1 1
1960                                                      0 00-1 1v3M4 7h16">
1961                                                </path>
1962                                            </svg>
1963                                        </button>
1964                                    </div>
1965                                </div>
1966                            </div>
1967                        </template>
1968                    </div>
1969                    <div class="relative grid gap-6 px-4 py-6 bg-white sm:gap-8 sm:px-6">
1970                        <div class="w-full p-3 -m-3 space-x-4 transition duration-150 ease-in-out rounded-lg
1971                            hover:bg-gray-100">
1972                            <span>Cart Subtotal:</span>
1973                            <span class="text-gray-900 font-bold" x-text="hyva.formatPrice(cartData.subtotalAmount)"></span>
1974                        </div>
1975                        <div class="w-full">
1976                            <a href="https://www.flooringinc.com/amasty_quote/cart/"
1977                               class="btn btn-secondary justify-center">
1978                                View and Edit Cart                            </a>
1979                        </div>
1980                    </div>
1981                </div>
1982            </div>
1983        </div>
1984    </template>
1985</section>
1986<div class="widget block block-static-block">
1987    <style>#html-body [data-pb-style=J86NFKS]{justify-content:flex-start;display:flex;flex-direction:column;background-position:left top;background-size:cover;background-repeat:no-repeat;background-attachment:scroll}</style><div data-content-type="row" data-appearance="full-bleed" data-enable-parallax="0" data-parallax-speed="0.5" data-background-images="{}" data-background-type="image" data-video-loop="true" data-video-play-only-visible="true" data-video-lazy-load="true" data-video-fallback-src="" data-element="main" data-pb-style="J86NFKS"><div data-content-type="html" data-appearance="default" data-element="main" data-decoded="true"><div x-data="globalNotificationAjaxCall()" x-init="initGlobalNotificationFunc()">
1988    <div class="notification4 pt-2 pb-2 text-center text-size13 font-normal text-white bg-custom-green" style="display:none" x-html="global_notification_text"></div>
1989</div>
1990
1991<script>
1992function globalNotificationAjaxCall() {
1993    return {
1994        global_notification_text: '',
1995        initGlobalNotificationFunc: function () {
1996            fetch(BASE_URL+'notifications/index/GlobalNotification?full_action_name=customer_account_login&cat_prod_id=', {
1997                method: "GET",
1998                headers: { 'Content-Type': 'application/json' },
1999            })
2000            .then(response => {
2001                if (! response.ok) console.warn('GET request failed');
2002                return response.json();
2003            })
2004            .then(data => {
2005                if (data) {
2006                    if (data.notification_text !='') {
2007                        document.querySelector('.notification4.bg-custom-green').style.display = 'block';
2008                        this.global_notification_text = data.notification_text;
2009                    }
2010                }
2011            });
2012        }
2013    }
2014}
2015</script>
2015</div></div></div>
2016</div>
2016<script>
2017    function initHeader () {
2018        return {
2019            searchOpen: false,
2020            cart: {},
2021            quoteCart: {},
2022            activeCartType: 'cart',
2023            getData(data) {
2024                if (data.cart) {
2025                    this.cart = data.cart;
2026                   // this.cart.summary_count=this.cart.items.length;
2027                }
2028                if (data.quotecart) {
2029                    this.quoteCart = data.quotecart;
2030                }
2031                if (data.active_cart_icon) {
2032                    this.activeCartType = data.active_cart_icon;
2033                }
2034            }
2035        }
2036    }
2037    function initCompareHeader() {
2038        return {
2039            compareProducts: null,
2040            itemCount: 0,
2041            receiveCompareData(data) {
2042                if (data['compare-products']) {
2043                    this.compareProducts = data['compare-products'];
2044                    this.itemCount = this.compareProducts.count;
2045                }
2046            }
2047        }
2048    }
2049</script>
2049
2050
2051<div id="header"
2052     class="relative z-30 w-full bg-white"
2053     x-data="initHeader()"
2054     @keydown.window.escape="searchOpen = false;"
2055     @private-content-loaded.window="getData(event.detail.data)"
2056>
2057    <div class="content flex flex-wrap items-center justify-between w-full pt-4 pb-4 mx-auto mt-0">
2058        <!--Logo-->
2059        <div class="logo relative z-20">
2060            <div class="order-1 sm:order-2 lg:order-1 w-full pb-2 sm:w-auto sm:pb-0">
2061    <a class="flex items-center text-xl font-medium tracking-wide text-gray-800
2062        no-underline hover:no-underline font-title"
2063       href="https://www.flooringinc.com/"
2064       title="Flooring&#x20;Inc.&#x20;The&#x20;Flooring&#x20;Superstore"
2065       aria-label="store logo">
2066        <picture><source type="image/webp" srcset="https://www.flooringinc.com/media/logo/stores/1/logo.webp"><img src="https://www.flooringinc.com/media/logo/stores/1/logo.jpg" title="Flooring&#x20;Inc.&#x20;The&#x20;Flooring&#x20;Superstore" alt="Flooring&#x20;Inc.&#x20;The&#x20;Flooring&#x20;Superstore" fetchpriority="high" width="266" height="31" /></picture>
2067    </a>
2068</div>
2069        </div>
2070
2071        <!--Main Navigation-->
2072        <div x-data="initMenuMobile_6ac15155197cd()"
2073     class="z-50 order-2 sm:order-1 lg:order-2 navigation xl:hidden"
2074>
2075    <!-- mobile -->    
2076    <div @load.window="setActiveMenu($root)"
2077         class="mobile-menu bg-lightblue"
2078         :class="{'h-screen fixed top-0 left-0 w-full' : open}"
2079         @toggle-mobile-menu.window="open = !open"
2080         @keydown.window.escape="open=false"
2081    >
2082        <div class="flex items-baseline justify-between ml-0 menu-icon">
2083            <div class="flex justify-end w-full">
2084                <a @click="$dispatch('toggle-mobile-menu')"
2085                       class="flex items-center justify-center cursor-pointer"
2086                       :class="{ 'ml-auto': open }">                       
2087                       <span class="close-icon px-5 py-2 text-size12 font-normal text-custom-blue rounded-md absolute" :class="{ 'hidden' : !open, 'block': open }">CLOSE</span>
2088                    <picture class="menu_icon -mt-0 mr-1"><source type="image/webp" srcset="https://www.flooringinc.com/static/version1789462004/frontend/Dcw/hyvamobile/en_US/images/menu-icon.webp"><img class="menu_icon -mt-0 mr-1" :class="{ 'block' : !open, 'hidden': open }" src="https://www.flooringinc.com/static/version1789462004/frontend/Dcw/hyvamobile/en_US/images/menu-icon.png" width="25" height="17" alt="menu-icon"></picture>
2089                </a>
2090            </div>
2091        </div>
2092        <div class="menu-overlay hidden" :class="{ 'hidden' : !open }" @click="$dispatch('toggle-mobile-menu')"></div>
2093        <nav
2094            class="hidden w-full h-full duration-150 ease-in-out transform transition-display pt-5 pr-5 pl-12"
2095            :class="{ 'hidden' : !open }"
2096        >
2097        <span class="menu-label text-size28 font-medium text-black pt-1 pb-4" :class="{ 'hidden' : !open, 'block': open }">Menu</span>
2098        <div class="nav-in overflow-y-auto overflow-x-hidden h-5/6">
2099                                <div class="level-0">
2100                <span class="flex items-center transition-transform duration-150 ease-in-out transform mb-3">
2101                    <a class="flex items-center w-full cursor-pointer level-0 text-size24 font-medium text-black no-underline"
2102                                                    @click="mobilePanelActiveId =
2103                            mobilePanelActiveId === 'category-node-1826' ?
2104                            0 : 'category-node-1826'"
2105                                                                   title="Flooring&#x20;By&#x20;Category">
2106                        Flooring By Category                    </a>
2107                                        <a class="absolute right-0 cursor-pointer menu_arw1" :class="{
2108                        'active' : mobilePanelActiveId,
2109                        '' : !mobilePanelActiveId
2110                    }"
2111                          @click="mobilePanelActiveId =
2112                          mobilePanelActiveId === 'category-node-1826' ?
2113                           0 : 'category-node-1826'"
2114                    >
2115                        <picture><source type="image/webp" srcset="https://www.flooringinc.com/static/version1789462004/frontend/Dcw/hyvamobile/en_US/images/menu-arw.webp"><img src="https://www.flooringinc.com/static/version1789462004/frontend/Dcw/hyvamobile/en_US/images/menu-arw.png" width="17" height="10" alt="menu-arw"></picture>
2116                    </a>
2117                                    </span>
2118                                    <div
2119                        class="w-full h-full transition-transform duration-200 ease-in-out block transform"
2120                        :class="{
2121                            'block' : mobilePanelActiveId !== 'category-node-1826',
2122                            'hidden' : mobilePanelActiveId === 'category-node-1826',
2123                        }"
2124                    >
2125                        
2126                        
2127                                                    
2128                            <li class="imgcat list-none relative" x-data="{ show: false }" >
2129                            <a
2130                                                            @click="show = !show"
2131                                                        
2132                               title="Rubber&#x20;Flooring"
2133                               class="flex items-center cursor-pointer text-size18 font-normal text-black mb-4 mob-width-adjust"
2134                            >
2135                                <!-- <span class="w-6"></span> -->
2136                                <span>
2137                                    Rubber Flooring                                </span>
2138                            </a>
2139                            
2140                                                            <picture class="absolute menu_arw"><source type="image/webp" srcset="https://www.flooringinc.com/static/version1789462004/frontend/Dcw/hyvamobile/en_US/images/menu-arw.webp"><img src="https://www.flooringinc.com/static/version1789462004/frontend/Dcw/hyvamobile/en_US/images/menu-arw.png" width="13" height="8" alt="menu-arw" @click="show = !show" class="absolute menu_arw" x-bind:class="show ? 'active' : ''"></picture>
2141                             <ul class="z-10 w-full" x-show="show"> 
2142                                                                    <li class="level-2">
2143                                        <a href="https://www.flooringinc.com/shop/rubber-flooring/all-rubber-flooring.html"
2144                                           title="All&#x20;Rubber&#x20;Flooring"
2145                                           class="level-2 pl-5 flex items-center w-full cursor-pointer text-size16 font-normal text-black mb-4">                                                                                                       
2146                                           All Rubber Flooring</a>
2147                                    </li>
2148                                                                                                        <li class="level-2">
2149                                        <a href="https://www.flooringinc.com/shop/rubber-flooring/rubber-rolls.html"
2150                                           title="Rubber&#x20;Flooring&#x20;Rolls"
2151                                           class="level-2 pl-5 flex items-center w-full cursor-pointer text-size16 font-normal text-black mb-4">                                                                                                       
2152                                           Rubber Flooring Rolls</a>
2153                                    </li>
2154                                                                                                        <li class="level-2">
2155                                        <a href="https://www.flooringinc.com/shop/rubber-flooring/rubber-tiles.html"
2156                                           title="Rubber&#x20;Floor&#x20;Tiles"
2157                                           class="level-2 pl-5 flex items-center w-full cursor-pointer text-size16 font-normal text-black mb-4">                                                                                                       
2158                                           Rubber Floor Tiles</a>
2159                                    </li>
2160                                                                                                        <li class="level-2">
2161                                        <a href="https://www.flooringinc.com/shop/rubber-flooring/rubber-mats.html"
2162                                           title="Rubber&#x20;Mats"
2163                                           class="level-2 pl-5 flex items-center w-full cursor-pointer text-size16 font-normal text-black mb-4">                                                                                                       
2164                                           Rubber Mats</a>
2165                                    </li>
2166                                                                                                        <li class="level-2">
2167                                        <a href="https://www.flooringinc.com/shop/rubber-flooring/playground-flooring.html"
2168                                           title="Playground&#x20;Flooring"
2169                                           class="level-2 pl-5 flex items-center w-full cursor-pointer text-size16 font-normal text-black mb-4">                                                                                                       
2170                                           Playground Flooring</a>
2171                                    </li>
2172                                                                                                        <li class="level-2">
2173                                        <a href="https://www.flooringinc.com/shop/rubber-flooring/outdoor-rubber-flooring.html"
2174                                           title="Outdoor&#x20;Rubber&#x20;Flooring"
2175                                           class="level-2 pl-5 flex items-center w-full cursor-pointer text-size16 font-normal text-black mb-4">                                                                                                       
2176                                           Outdoor Rubber Flooring</a>
2177                                    </li>
2178                                                                  </ul>
2179                                                                        <a class="text-size16 font-normal text-black underline pl-5 mt-2 mb-6 inline-block" href="https://www.flooringinc.com/shop/rubber-flooring.html" x-show="show">View All</a>
2180                                             
2181                                                        
2182                        
2183                                                    
2184                            <li class="imgcat list-none relative" x-data="{ show: false }" >
2185                            <a
2186                                                            @click="show = !show"
2187                                                        
2188                               title="Garage&#x20;Flooring"
2189                               class="flex items-center cursor-pointer text-size18 font-normal text-black mb-4 mob-width-adjust"
2190                            >
2191                                <!-- <span class="w-6"></span> -->
2192                                <span>
2193                                    Garage Flooring                                </span>
2194                            </a>
2195                            
2196                                                            <picture class="absolute menu_arw"><source type="image/webp" srcset="https://www.flooringinc.com/static/version1789462004/frontend/Dcw/hyvamobile/en_US/images/menu-arw.webp"><img src="https://www.flooringinc.com/static/version1789462004/frontend/Dcw/hyvamobile/en_US/images/menu-arw.png" width="13" height="8" alt="menu-arw" @click="show = !show" class="absolute menu_arw" x-bind:class="show ? 'active' : ''"></picture>
2197                             <ul class="z-10 w-full" x-show="show"> 
2198                                                                    <li class="level-2">
2199                                        <a href="https://www.flooringinc.com/shop/garage-flooring/all-garage-flooring.html"
2200                                           title="All&#x20;Garage&#x20;Flooring"
2201                                           class="level-2 pl-5 flex items-center w-full cursor-pointer text-size16 font-normal text-black mb-4">                                                                                                       
2202                                           All Garage Flooring</a>
2203                                    </li>
2204                                                                                                        <li class="level-2">
2205                                        <a href="https://www.flooringinc.com/shop/garage-flooring/garage-rolls.html"
2206                                           title="Garage&#x20;Flooring&#x20;Rolls"
2207                                           class="level-2 pl-5 flex items-center w-full cursor-pointer text-size16 font-normal text-black mb-4">                                                                                                       
2208                                           Garage Flooring Rolls</a>
2209                                    </li>
2210                                                                                                        <li class="level-2">
2211                                        <a href="https://www.flooringinc.com/shop/garage-flooring/garage-tiles.html"
2212                                           title="Garage&#x20;Floor&#x20;Tiles"
2213                                           class="level-2 pl-5 flex items-center w-full cursor-pointer text-size16 font-normal text-black mb-4">                                                                                                       
2214                                           Garage Floor Tiles</a>
2215                                    </li>
2216                                                                                                        <li class="level-2">
2217                                        <a href="https://www.flooringinc.com/shop/garage-flooring/garage-gym-flooring.html"
2218                                           title="Garage&#x20;Gym&#x20;Flooring"
2219                                           class="level-2 pl-5 flex items-center w-full cursor-pointer text-size16 font-normal text-black mb-4">                                                                                                       
2220                                           Garage Gym Flooring</a>
2221                                    </li>
2222                                                                                                        <li class="level-2">
2223                                        <a href="https://www.flooringinc.com/shop/garage-flooring/coatings-epoxy.html"
2224                                           title="Garage&#x20;Floor&#x20;Epoxy"
2225                                           class="level-2 pl-5 flex items-center w-full cursor-pointer text-size16 font-normal text-black mb-4">                                                                                                       
2226                                           Garage Floor Epoxy</a>
2227                                    </li>
2228                                                                                                        <li class="level-2">
2229                                        <a href="https://www.flooringinc.com/shop/garage-flooring/trailer-flooring.html"
2230                                           title="Trailer&#x20;Flooring"
2231                                           class="level-2 pl-5 flex items-center w-full cursor-pointer text-size16 font-normal text-black mb-4">                                                                                                       
2232                                           Trailer Flooring</a>
2233                                    </li>
2234                                                                  </ul>
2235                                                                        <a class="text-size16 font-normal text-black underline pl-5 mt-2 mb-6 inline-block" href="https://www.flooringinc.com/shop/garage-flooring.html" x-show="show">View All</a>
2236                                             
2237                                                        
2238                        
2239                                                    
2240                            <li class="imgcat list-none relative" x-data="{ show: false }" >
2241                            <a
2242                                                            @click="show = !show"
2243                                                        
2244                               title="Dance&#x20;Flooring"
2245                               class="flex items-center cursor-pointer text-size18 font-normal text-black mb-4 mob-width-adjust"
2246                            >
2247                                <!-- <span class="w-6"></span> -->
2248                                <span>
2249                                    Dance Flooring                                </span>
2250                            </a>
2251                            
2252                                                            <picture class="absolute menu_arw"><source type="image/webp" srcset="https://www.flooringinc.com/static/version1789462004/frontend/Dcw/hyvamobile/en_US/images/menu-arw.webp"><img src="https://www.flooringinc.com/static/version1789462004/frontend/Dcw/hyvamobile/en_US/images/menu-arw.png" width="13" height="8" alt="menu-arw" @click="show = !show" class="absolute menu_arw" x-bind:class="show ? 'active' : ''"></picture>
2253                             <ul class="z-10 w-full" x-show="show"> 
2254                                                                    <li class="level-2">
2255                                        <a href="https://www.flooringinc.com/shop/dance-flooring/marley-flooring.html"
2256                                           title="Marley&#x20;Floor&#x20;Rolls"
2257                                           class="level-2 pl-5 flex items-center w-full cursor-pointer text-size16 font-normal text-black mb-4">                                                                                                       
2258                                           Marley Floor Rolls</a>
2259                                    </li>
2260                                                                                                        <li class="level-2">
2261                                        <a href="https://www.flooringinc.com/shop/dance-flooring/dance-floor-tiles.html"
2262                                           title="Dance&#x20;Floor&#x20;Tiles"
2263                                           class="level-2 pl-5 flex items-center w-full cursor-pointer text-size16 font-normal text-black mb-4">                                                                                                       
2264                                           Dance Floor Tiles</a>
2265                                    </li>
2266                                                                                                        <li class="level-2">
2267                                        <a href="https://www.flooringinc.com/shop/dance-flooring/portable-dance-floor-kits.html"
2268                                           title="Portable&#x20;Dance&#x20;Floors&#x20;&amp;&#x20;Kits"
2269                                           class="level-2 pl-5 flex items-center w-full cursor-pointer text-size16 font-normal text-black mb-4">                                                                                                       
2270                                           Portable Dance Floors &amp; Kits</a>
2271                                    </li>
2272                                                                                                        <li class="level-2">
2273                                        <a href="https://www.flooringinc.com/shop/dance-flooring/subflooring.html"
2274                                           title="Subflooring"
2275                                           class="level-2 pl-5 flex items-center w-full cursor-pointer text-size16 font-normal text-black mb-4">                                                                                                       
2276                                           Subflooring</a>
2277                                    </li>
2278                                                                                                        <li class="level-2">
2279                                        <a href="https://www.flooringinc.com/shop/dance-flooring/adhesives-cleaners-accessories.html"
2280                                           title="Adhesives,&#x20;Cleaners&#x20;&amp;&#x20;Accessories"
2281                                           class="level-2 pl-5 flex items-center w-full cursor-pointer text-size16 font-normal text-black mb-4">                                                                                                       
2282                                           Adhesives, Cleaners &amp; Accessories</a>
2283                                    </li>
2284                                                                                                        <li class="level-2">
2285                                        <a href="https://www.flooringinc.com/shop/dance-flooring/all-dance-flooring.html"
2286                                           title="All&#x20;Dance&#x20;Flooring"
2287                                           class="level-2 pl-5 flex items-center w-full cursor-pointer text-size16 font-normal text-black mb-4">                                                                                                       
2288                                           All Dance Flooring</a>
2289                                    </li>
2290                                                                  </ul>
2291                                                                        <a class="text-size16 font-normal text-black underline pl-5 mt-2 mb-6 inline-block" href="https://www.flooringinc.com/shop/dance-flooring.html" x-show="show">View All</a>
2292                                             
2293                                                        
2294                        
2295                                                    
2296                            <li class="imgcat list-none relative" x-data="{ show: false }" >
2297                            <a
2298                                                            @click="show = !show"
2299                                                        
2300                               title="Foam&#x20;Flooring"
2301                               class="flex items-center cursor-pointer text-size18 font-normal text-black mb-4 mob-width-adjust"
2302                            >
2303                                <!-- <span class="w-6"></span> -->
2304                                <span>
2305                                    Foam Flooring                                </span>
2306                            </a>
2307                            
2308                                                            <picture class="absolute menu_arw"><source type="image/webp" srcset="https://www.flooringinc.com/static/version1789462004/frontend/Dcw/hyvamobile/en_US/images/menu-arw.webp"><img src="https://www.flooringinc.com/static/version1789462004/frontend/Dcw/hyvamobile/en_US/images/menu-arw.png" width="13" height="8" alt="menu-arw" @click="show = !show" class="absolute menu_arw" x-bind:class="show ? 'active' : ''"></picture>
2309                             <ul class="z-10 w-full" x-show="show"> 
2310                                                                    <li class="level-2">
2311                                        <a href="https://www.flooringinc.com/shop/foam-flooring/foam-tiles.html"
2312                                           title="Foam&#x20;Floor&#x20;Tiles"
2313                                           class="level-2 pl-5 flex items-center w-full cursor-pointer text-size16 font-normal text-black mb-4">                                                                                                       
2314                                           Foam Floor Tiles</a>
2315                                    </li>
2316                                                                                                        <li class="level-2">
2317                                        <a href="https://www.flooringinc.com/shop/foam-flooring/kids-baby-play-mats.html"
2318                                           title="Kids&#x20;&amp;&#x20;Baby&#x20;Play&#x20;Mats"
2319                                           class="level-2 pl-5 flex items-center w-full cursor-pointer text-size16 font-normal text-black mb-4">                                                                                                       
2320                                           Kids &amp; Baby Play Mats</a>
2321                                    </li>
2322                                                                                                        <li class="level-2">
2323                                        <a href="https://www.flooringinc.com/shop/foam-flooring/gymnastic-folding-mats.html"
2324                                           title="Gymnastics&#x20;Mats&#x20;"
2325                                           class="level-2 pl-5 flex items-center w-full cursor-pointer text-size16 font-normal text-black mb-4">                                                                                                       
2326                                           Gymnastics Mats </a>
2327                                    </li>
2328                                                                                                        <li class="level-2">
2329                                        <a href="https://www.flooringinc.com/shop/foam-flooring/wrestling-mats.html"
2330                                           title="Wrestling&#x20;Mats"
2331                                           class="level-2 pl-5 flex items-center w-full cursor-pointer text-size16 font-normal text-black mb-4">                                                                                                       
2332                                           Wrestling Mats</a>
2333                                    </li>
2334                                                                                                        <li class="level-2">
2335                                        <a href="https://www.flooringinc.com/shop/foam-flooring/martial-arts-mats.html"
2336                                           title="Martial&#x20;Arts&#x20;Mats&#x20;"
2337                                           class="level-2 pl-5 flex items-center w-full cursor-pointer text-size16 font-normal text-black mb-4">                                                                                                       
2338                                           Martial Arts Mats </a>
2339                                    </li>
2340                                                                                                        <li class="level-2">
2341                                        <a href="https://www.flooringinc.com/shop/foam-flooring/trade-show-flooring.html"
2342                                           title="Trade&#x20;Show&#x20;Flooring"
2343                                           class="level-2 pl-5 flex items-center w-full cursor-pointer text-size16 font-normal text-black mb-4">                                                                                                       
2344                                           Trade Show Flooring</a>
2345                                    </li>
2346                                                                  </ul>
2347                                                                        <a class="text-size16 font-normal text-black underline pl-5 mt-2 mb-6 inline-block" href="https://www.flooringinc.com/shop/foam-flooring.html" x-show="show">View All</a>
2348                                             
2349                                                        
2350                        
2351                                                    
2352                            <li class="imgcat list-none relative" x-data="{ show: false }" >
2353                            <a
2354                                                            @click="show = !show"
2355                                                        
2356                               title="Outdoor&#x20;Flooring"
2357                               class="flex items-center cursor-pointer text-size18 font-normal text-black mb-4 mob-width-adjust"
2358                            >
2359                                <!-- <span class="w-6"></span> -->
2360                                <span>
2361                                    Outdoor Flooring                                </span>
2362                            </a>
2363                            
2364                                                            <picture class="absolute menu_arw"><source type="image/webp" srcset="https://www.flooringinc.com/static/version1789462004/frontend/Dcw/hyvamobile/en_US/images/menu-arw.webp"><img src="https://www.flooringinc.com/static/version1789462004/frontend/Dcw/hyvamobile/en_US/images/menu-arw.png" width="13" height="8" alt="menu-arw" @click="show = !show" class="absolute menu_arw" x-bind:class="show ? 'active' : ''"></picture>
2365                             <ul class="z-10 w-full" x-show="show"> 
2366                                                                    <li class="level-2">
2367                                        <a href="https://www.flooringinc.com/shop/outdoor-flooring/playground-flooring.html"
2368                                           title="Playground&#x20;Flooring"
2369                                           class="level-2 pl-5 flex items-center w-full cursor-pointer text-size16 font-normal text-black mb-4">                                                                                                       
2370                                           Playground Flooring</a>
2371                                    </li>
2372                                                                                                        <li class="level-2">
2373                                        <a href="https://www.flooringinc.com/shop/outdoor-flooring/sport-and-court-flooring.html"
2374                                           title="Sports&#x20;Flooring&#x20;&amp;&#x20;Court&#x20;Tiles"
2375                                           class="level-2 pl-5 flex items-center w-full cursor-pointer text-size16 font-normal text-black mb-4">                                                                                                       
2376                                           Sports Flooring &amp; Court Tiles</a>
2377                                    </li>
2378                                                                                                        <li class="level-2">
2379                                        <a href="https://www.flooringinc.com/shop/outdoor-flooring/artificial-grass.html"
2380                                           title="Turf&#x20;&amp;&#x20;Artificial&#x20;Grass"
2381                                           class="level-2 pl-5 flex items-center w-full cursor-pointer text-size16 font-normal text-black mb-4">                                                                                                       
2382                                           Turf &amp; Artificial Grass</a>
2383                                    </li>
2384                                                                                                        <li class="level-2">
2385                                        <a href="https://www.flooringinc.com/shop/outdoor-flooring/composite-decking.html"
2386                                           title="Composite&#x20;Decking"
2387                                           class="level-2 pl-5 flex items-center w-full cursor-pointer text-size16 font-normal text-black mb-4">                                                                                                       
2388                                           Composite Decking</a>
2389                                    </li>
2390                                                                                                        <li class="level-2">
2391                                        <a href="https://www.flooringinc.com/shop/outdoor-flooring/rooftop-deck-flooring.html"
2392                                           title="Rooftop&#x20;Deck&#x20;Flooring"
2393                                           class="level-2 pl-5 flex items-center w-full cursor-pointer text-size16 font-normal text-black mb-4">                                                                                                       
2394                                           Rooftop Deck Flooring</a>
2395                                    </li>
2396                                                                                                        <li class="level-2">
2397                                        <a href="https://www.flooringinc.com/shop/outdoor-flooring/drainage-tiles.html"
2398                                           title="Drainage&#x20;Tile&#x20;&amp;&#x20;Mats"
2399                                           class="level-2 pl-5 flex items-center w-full cursor-pointer text-size16 font-normal text-black mb-4">                                                                                                       
2400                                           Drainage Tile &amp; Mats</a>
2401                                    </li>
2402                                                                  </ul>
2403                                                                        <a class="text-size16 font-normal text-black underline pl-5 mt-2 mb-6 inline-block" href="https://www.flooringinc.com/shop/outdoor-flooring.html" x-show="show">View All</a>
2404                                             
2405                                                        
2406                        
2407                                                    
2408                            <li class="imgcat list-none relative" x-data="{ show: false }" >
2409                            <a
2410                                                            @click="show = !show"
2411                                                        
2412                               title="Turf&#x20;&amp;&#x20;Artificial&#x20;Grass"
2413                               class="flex items-center cursor-pointer text-size18 font-normal text-black mb-4 mob-width-adjust"
2414                            >
2415                                <!-- <span class="w-6"></span> -->
2416                                <span>
2417                                    Turf &amp; Artificial Grass                                </span>
2418                            </a>
2419                            
2420                                                            <picture class="absolute menu_arw"><source type="image/webp" srcset="https://www.flooringinc.com/static/version1789462004/frontend/Dcw/hyvamobile/en_US/images/menu-arw.webp"><img src="https://www.flooringinc.com/static/version1789462004/frontend/Dcw/hyvamobile/en_US/images/menu-arw.png" width="13" height="8" alt="menu-arw" @click="show = !show" class="absolute menu_arw" x-bind:class="show ? 'active' : ''"></picture>
2421                             <ul class="z-10 w-full" x-show="show"> 
2422                                                                    <li class="level-2">
2423                                        <a href="https://www.flooringinc.com/shop/artificial-grass/sport-field-turf.html"
2424                                           title="Sport&#x20;&amp;&#x20;Gym&#x20;Turf"
2425                                           class="level-2 pl-5 flex items-center w-full cursor-pointer text-size16 font-normal text-black mb-4">                                                                                                       
2426                                           Sport &amp; Gym Turf</a>
2427                                    </li>
2428                                                                                                        <li class="level-2">
2429                                        <a href="https://www.flooringinc.com/shop/artificial-grass/landscape-turf.html"
2430                                           title="Landscape&#x20;Turf"
2431                                           class="level-2 pl-5 flex items-center w-full cursor-pointer text-size16 font-normal text-black mb-4">                                                                                                       
2432                                           Landscape Turf</a>
2433                                    </li>
2434                                                                                                        <li class="level-2">
2435                                        <a href="https://www.flooringinc.com/shop/artificial-grass/pet-turf.html"
2436                                           title="Pet&#x20;Turf"
2437                                           class="level-2 pl-5 flex items-center w-full cursor-pointer text-size16 font-normal text-black mb-4">                                                                                                       
2438                                           Pet Turf</a>
2439                                    </li>
2440                                                                                                        <li class="level-2">
2441                                        <a href="https://www.flooringinc.com/shop/artificial-grass/putting-greens.html"
2442                                           title="Golf&#x20;&amp;&#x20;Putting&#x20;Green&#x20;Turf"
2443                                           class="level-2 pl-5 flex items-center w-full cursor-pointer text-size16 font-normal text-black mb-4">                                                                                                       
2444                                           Golf &amp; Putting Green Turf</a>
2445                                    </li>
2446                                                                                                        <li class="level-2">
2447                                        <a href="https://www.flooringinc.com/shop/artificial-grass/turf-accessories.html"
2448                                           title="Turf&#x20;Accessories"
2449                                           class="level-2 pl-5 flex items-center w-full cursor-pointer text-size16 font-normal text-black mb-4">                                                                                                       
2450                                           Turf Accessories</a>
2451                                    </li>
2452                                                                                                        <li class="level-2">
2453                                        <a href="https://www.flooringinc.com/shop/artificial-grass/all-artificial-grass.html"
2454                                           title="All&#x20;Turf&#x20;&amp;&#x20;Artificial&#x20;Grass"
2455                                           class="level-2 pl-5 flex items-center w-full cursor-pointer text-size16 font-normal text-black mb-4">                                                                                                       
2456                                           All Turf &amp; Artificial Grass</a>
2457                                    </li>
2458                                                                  </ul>
2459                                                                        <a class="text-size16 font-normal text-black underline pl-5 mt-2 mb-6 inline-block" href="https://www.flooringinc.com/shop/artificial-grass.html" x-show="show">View All</a>
2460                                             
2461                                                        
2462                        
2463                                                    
2464                            <li class="imgcat list-none relative" x-data="{ show: false }" >
2465                            <a
2466                                                            @click="show = !show"
2467                                                        
2468                               title="Carpet&#x20;Tiles&#x20;&amp;&#x20;Rolls"
2469                               class="flex items-center cursor-pointer text-size18 font-normal text-black mb-4 mob-width-adjust"
2470                            >
2471                                <!-- <span class="w-6"></span> -->
2472                                <span>
2473                                    Carpet Tiles &amp; Rolls                                </span>
2474                            </a>
2475                            
2476                                                            <picture class="absolute menu_arw"><source type="image/webp" srcset="https://www.flooringinc.com/static/version1789462004/frontend/Dcw/hyvamobile/en_US/images/menu-arw.webp"><img src="https://www.flooringinc.com/static/version1789462004/frontend/Dcw/hyvamobile/en_US/images/menu-arw.png" width="13" height="8" alt="menu-arw" @click="show = !show" class="absolute menu_arw" x-bind:class="show ? 'active' : ''"></picture>
2477                             <ul class="z-10 w-full" x-show="show"> 
2478                                                                    <li class="level-2">
2479                                        <a href="https://www.flooringinc.com/shop/carpet/carpet-tiles.html"
2480                                           title="Carpet&#x20;Tiles"
2481                                           class="level-2 pl-5 flex items-center w-full cursor-pointer text-size16 font-normal text-black mb-4">                                                                                                       
2482                                           Carpet Tiles</a>
2483                                    </li>
2484                                                                                                        <li class="level-2">
2485                                        <a href="https://www.flooringinc.com/shop/carpet/carpet-rolls.html"
2486                                           title="Carpet&#x20;Rolls"
2487                                           class="level-2 pl-5 flex items-center w-full cursor-pointer text-size16 font-normal text-black mb-4">                                                                                                       
2488                                           Carpet Rolls</a>
2489                                    </li>
2490                                                                                                        <li class="level-2">
2491                                        <a href="https://www.flooringinc.com/shop/carpet/home-theater-carpet.html"
2492                                           title="Home&#x20;Theater&#x20;Carpet"
2493                                           class="level-2 pl-5 flex items-center w-full cursor-pointer text-size16 font-normal text-black mb-4">                                                                                                       
2494                                           Home Theater Carpet</a>
2495                                    </li>
2496                                                                                                        <li class="level-2">
2497                                        <a href="https://www.flooringinc.com/shop/carpet/peel-stick-carpet.html"
2498                                           title="Peel&#x20;and&#x20;Stick&#x20;Carpet&#x20;Tiles"
2499                                           class="level-2 pl-5 flex items-center w-full cursor-pointer text-size16 font-normal text-black mb-4">                                                                                                       
2500                                           Peel and Stick Carpet Tiles</a>
2501                                    </li>
2502                                                                                                        <li class="level-2">
2503                                        <a href="https://www.flooringinc.com/shop/carpet/outdoor-carpet.html"
2504                                           title="Outdoor&#x20;Carpet"
2505                                           class="level-2 pl-5 flex items-center w-full cursor-pointer text-size16 font-normal text-black mb-4">                                                                                                       
2506                                           Outdoor Carpet</a>
2507                                    </li>
2508                                                                                                        <li class="level-2">
2509                                        <a href="https://www.flooringinc.com/shop/carpet/waterproof-carpet.html"
2510                                           title="Waterproof&#x20;Carpet"
2511                                           class="level-2 pl-5 flex items-center w-full cursor-pointer text-size16 font-normal text-black mb-4">                                                                                                       
2512                                           Waterproof Carpet</a>
2513                                    </li>
2514                                                                  </ul>
2515                                                                        <a class="text-size16 font-normal text-black underline pl-5 mt-2 mb-6 inline-block" href="https://www.flooringinc.com/shop/carpet.html" x-show="show">View All</a>
2516                                             
2517                                                        
2518                        
2519                                                    
2520                            <li class="imgcat list-none relative" x-data="{ show: false }" >
2521                            <a
2522                                                            @click="show = !show"
2523                                                        
2524                               title="Vinyl&#x20;Flooring"
2525                               class="flex items-center cursor-pointer text-size18 font-normal text-black mb-4 mob-width-adjust"
2526                            >
2527                                <!-- <span class="w-6"></span> -->
2528                                <span>
2529                                    Vinyl Flooring                                </span>
2530                            </a>
2531                            
2532                                                            <picture class="absolute menu_arw"><source type="image/webp" srcset="https://www.flooringinc.com/static/version1789462004/frontend/Dcw/hyvamobile/en_US/images/menu-arw.webp"><img src="https://www.flooringinc.com/static/version1789462004/frontend/Dcw/hyvamobile/en_US/images/menu-arw.png" width="13" height="8" alt="menu-arw" @click="show = !show" class="absolute menu_arw" x-bind:class="show ? 'active' : ''"></picture>
2533                             <ul class="z-10 w-full" x-show="show"> 
2534                                                                    <li class="level-2">
2535                                        <a href="https://www.flooringinc.com/shop/vinyl/vinyl-sheet.html"
2536                                           title="Vinyl&#x20;Sheet&#x20;Flooring"
2537                                           class="level-2 pl-5 flex items-center w-full cursor-pointer text-size16 font-normal text-black mb-4">                                                                                                       
2538                                           Vinyl Sheet Flooring</a>
2539                                    </li>
2540                                                                                                        <li class="level-2">
2541                                        <a href="https://www.flooringinc.com/shop/vinyl/vinyl-tiles-planks.html"
2542                                           title="Vinyl&#x20;Tiles&#x20;&amp;&#x20;Planks"
2543                                           class="level-2 pl-5 flex items-center w-full cursor-pointer text-size16 font-normal text-black mb-4">                                                                                                       
2544                                           Vinyl Tiles &amp; Planks</a>
2545                                    </li>
2546                                                                                                        <li class="level-2">
2547                                        <a href="https://www.flooringinc.com/shop/vinyl/waterproof-vinyl.html"
2548                                           title="Waterproof&#x20;Vinyl&#x20;Flooring"
2549                                           class="level-2 pl-5 flex items-center w-full cursor-pointer text-size16 font-normal text-black mb-4">                                                                                                       
2550                                           Waterproof Vinyl Flooring</a>
2551                                    </li>
2552                                                                                                        <li class="level-2">
2553                                        <a href="https://www.flooringinc.com/shop/vinyl/rigid-core-vinyl.html"
2554                                           title="Rigid&#x20;Core&#x20;Vinyl&#x20;Flooring"
2555                                           class="level-2 pl-5 flex items-center w-full cursor-pointer text-size16 font-normal text-black mb-4">                                                                                                       
2556                                           Rigid Core Vinyl Flooring</a>
2557                                    </li>
2558                                                                                                        <li class="level-2">
2559                                        <a href="https://www.flooringinc.com/shop/vinyl/commercial-vinyl.html"
2560                                           title="Commercial&#x20;Vinyl&#x20;Flooring"
2561                                           class="level-2 pl-5 flex items-center w-full cursor-pointer text-size16 font-normal text-black mb-4">                                                                                                       
2562                                           Commercial Vinyl Flooring</a>
2563                                    </li>
2564                                                                                                  </ul>
2565                             
2566                                                        
2567                        
2568                                                    
2569                            <li class="imgcat list-none relative" x-data="{ show: false }" >
2570                            <a
2571                                                            @click="show = !show"
2572                                                        
2573                               title="Wood&#x20;&amp;&#x20;Laminate&#x20;Flooring"
2574                               class="flex items-center cursor-pointer text-size18 font-normal text-black mb-4 mob-width-adjust"
2575                            >
2576                                <!-- <span class="w-6"></span> -->
2577                                <span>
2578                                    Wood &amp; Laminate Flooring                                </span>
2579                            </a>
2580                            
2581                                                            <picture class="absolute menu_arw"><source type="image/webp" srcset="https://www.flooringinc.com/static/version1789462004/frontend/Dcw/hyvamobile/en_US/images/menu-arw.webp"><img src="https://www.flooringinc.com/static/version1789462004/frontend/Dcw/hyvamobile/en_US/images/menu-arw.png" width="13" height="8" alt="menu-arw" @click="show = !show" class="absolute menu_arw" x-bind:class="show ? 'active' : ''"></picture>
2582                             <ul class="z-10 w-full" x-show="show"> 
2583                                                                    <li class="level-2">
2584                                        <a href="https://www.flooringinc.com/shop/wood-laminate/waterproof-laminate.html"
2585                                           title="Waterproof&#x20;Laminate&#x20;Flooring"
2586                                           class="level-2 pl-5 flex items-center w-full cursor-pointer text-size16 font-normal text-black mb-4">                                                                                                       
2587                                           Waterproof Laminate Flooring</a>
2588                                    </li>
2589                                                                                                        <li class="level-2">
2590                                        <a href="https://www.flooringinc.com/shop/wood-laminate/laminate.html"
2591                                           title="Laminate&#x20;Flooring"
2592                                           class="level-2 pl-5 flex items-center w-full cursor-pointer text-size16 font-normal text-black mb-4">                                                                                                       
2593                                           Laminate Flooring</a>
2594                                    </li>
2595                                                                                                        <li class="level-2">
2596                                        <a href="https://www.flooringinc.com/shop/wood-laminate/hardwood.html"
2597                                           title="Engineered&#x20;Hardwood&#x20;Flooring"
2598                                           class="level-2 pl-5 flex items-center w-full cursor-pointer text-size16 font-normal text-black mb-4">                                                                                                       
2599                                           Engineered Hardwood Flooring</a>
2600                                    </li>
2601                                                                                                        <li class="level-2">
2602                                        <a href="https://www.flooringinc.com/shop/wood-laminate/oak.html"
2603                                           title="Oak&#x20;Wood&#x20;Flooring"
2604                                           class="level-2 pl-5 flex items-center w-full cursor-pointer text-size16 font-normal text-black mb-4">                                                                                                       
2605                                           Oak Wood Flooring</a>
2606                                    </li>
2607                                                                                                        <li class="level-2">
2608                                        <a href="https://www.flooringinc.com/shop/wood-laminate/commercial-wood-laminate.html"
2609                                           title="Commercial&#x20;Wood&#x20;&amp;&#x20;Laminate"
2610                                           class="level-2 pl-5 flex items-center w-full cursor-pointer text-size16 font-normal text-black mb-4">                                                                                                       
2611                                           Commercial Wood &amp; Laminate</a>
2612                                    </li>
2613                                                                                                  </ul>
2614                             
2615                                                        
2616                        
2617                                                    
2618                            <li class="imgcat list-none relative" x-data="{ show: false }" >
2619                            <a
2620                                                            @click="show = !show"
2621                                                        
2622                               title="Commercial&#x20;Flooring"
2623                               class="flex items-center cursor-pointer text-size18 font-normal text-black mb-4 mob-width-adjust"
2624                            >
2625                                <!-- <span class="w-6"></span> -->
2626                                <span>
2627                                    Commercial Flooring                                </span>
2628                            </a>
2629                            
2630                                                            <picture class="absolute menu_arw"><source type="image/webp" srcset="https://www.flooringinc.com/static/version1789462004/frontend/Dcw/hyvamobile/en_US/images/menu-arw.webp"><img src="https://www.flooringinc.com/static/version1789462004/frontend/Dcw/hyvamobile/en_US/images/menu-arw.png" width="13" height="8" alt="menu-arw" @click="show = !show" class="absolute menu_arw" x-bind:class="show ? 'active' : ''"></picture>
2631                             <ul class="z-10 w-full" x-show="show"> 
2632                                                                    <li class="level-2">
2633                                        <a href="https://www.flooringinc.com/shop/commercial-flooring/commercial-rubber-flooring.html"
2634                                           title="Commercial&#x20;Rubber&#x20;Flooring"
2635                                           class="level-2 pl-5 flex items-center w-full cursor-pointer text-size16 font-normal text-black mb-4">                                                                                                       
2636                                           Commercial Rubber Flooring</a>
2637                                    </li>
2638                                                                                                        <li class="level-2">
2639                                        <a href="https://www.flooringinc.com/shop/commercial-flooring/commercial-garage-flooring.html"
2640                                           title="Commercial&#x20;Garage&#x20;Flooring"
2641                                           class="level-2 pl-5 flex items-center w-full cursor-pointer text-size16 font-normal text-black mb-4">                                                                                                       
2642                                           Commercial Garage Flooring</a>
2643                                    </li>
2644                                                                                                        <li class="level-2">
2645                                        <a href="https://www.flooringinc.com/shop/commercial-flooring/commercial-carpet.html"
2646                                           title="Commercial&#x20;Carpet&#x20;Tiles"
2647                                           class="level-2 pl-5 flex items-center w-full cursor-pointer text-size16 font-normal text-black mb-4">                                                                                                       
2648                                           Commercial Carpet Tiles</a>
2649                                    </li>
2650                                                                                                        <li class="level-2">
2651                                        <a href="https://www.flooringinc.com/shop/commercial-flooring/commercial-vinyl.html"
2652                                           title="Commercial&#x20;Vinyl&#x20;Flooring"
2653                                           class="level-2 pl-5 flex items-center w-full cursor-pointer text-size16 font-normal text-black mb-4">                                                                                                       
2654                                           Commercial Vinyl Flooring</a>
2655                                    </li>
2656                                                                                                        <li class="level-2">
2657                                        <a href="https://www.flooringinc.com/shop/commercial-flooring/commercial-wood-laminate.html"
2658                                           title="Commercial&#x20;Wood&#x20;&amp;&#x20;Laminate&#x20;Flooring"
2659                                           class="level-2 pl-5 flex items-center w-full cursor-pointer text-size16 font-normal text-black mb-4">                                                                                                       
2660                                           Commercial Wood &amp; Laminate Flooring</a>
2661                                    </li>
2662                                                                                                        <li class="level-2">
2663                                        <a href="https://www.flooringinc.com/shop/commercial-flooring/gym-floor-covers-protection.html"
2664                                           title="Gym&#x20;Floor&#x20;Covers&#x20;&#x7C;&#x20;Floor&#x20;Protection"
2665                                           class="level-2 pl-5 flex items-center w-full cursor-pointer text-size16 font-normal text-black mb-4">                                                                                                       
2666                                           Gym Floor Covers | Floor Protection</a>
2667                                    </li>
2668                                                                  </ul>
2669                                                                        <a class="text-size16 font-normal text-black underline pl-5 mt-2 mb-6 inline-block" href="https://www.flooringinc.com/shop/commercial-flooring.html" x-show="show">View All</a>
2670                                             
2671                                                        
2672                        
2673                                                    
2674                            <li class="imgcat list-none relative" x-data="{ show: false }" >
2675                            <a
2676                                                            @click="show = !show"
2677                                                        
2678                               title="Floors&#x20;by&#x20;Activity"
2679                               class="flex items-center cursor-pointer text-size18 font-normal text-black mb-4 mob-width-adjust"
2680                            >
2681                                <!-- <span class="w-6"></span> -->
2682                                <span>
2683                                    Floors by Activity                                </span>
2684                            </a>
2685                            
2686                                                            <picture class="absolute menu_arw"><source type="image/webp" srcset="https://www.flooringinc.com/static/version1789462004/frontend/Dcw/hyvamobile/en_US/images/menu-arw.webp"><img src="https://www.flooringinc.com/static/version1789462004/frontend/Dcw/hyvamobile/en_US/images/menu-arw.png" width="13" height="8" alt="menu-arw" @click="show = !show" class="absolute menu_arw" x-bind:class="show ? 'active' : ''"></picture>
2687                             <ul class="z-10 w-full" x-show="show"> 
2688                                                                    <li class="level-2">
2689                                        <a href="https://www.flooringinc.com/shop/shop-by-activity/fitness-flooring.html"
2690                                           title="Fitness&#x20;Flooring"
2691                                           class="level-2 pl-5 flex items-center w-full cursor-pointer text-size16 font-normal text-black mb-4">                                                                                                       
2692                                           Fitness Flooring</a>
2693                                    </li>
2694                                                                                                        <li class="level-2">
2695                                        <a href="https://www.flooringinc.com/shop/shop-by-activity/dance-marley-flooring.html"
2696                                           title="Dance&#x20;Flooring&#x20;&#x7C;&#x20;Marley&#x20;Floor"
2697                                           class="level-2 pl-5 flex items-center w-full cursor-pointer text-size16 font-normal text-black mb-4">                                                                                                       
2698                                           Dance Flooring | Marley Floor</a>
2699                                    </li>
2700                                                                                                        <li class="level-2">
2701                                        <a href="https://www.flooringinc.com/shop/shop-by-activity/sport-and-court-flooring.html"
2702                                           title="Sport&#x20;&amp;&#x20;Court&#x20;Flooring"
2703                                           class="level-2 pl-5 flex items-center w-full cursor-pointer text-size16 font-normal text-black mb-4">                                                                                                       
2704                                           Sport &amp; Court Flooring</a>
2705                                    </li>
2706                                                                                                        <li class="level-2">
2707                                        <a href="https://www.flooringinc.com/shop/shop-by-activity/martial-arts-flooring.html"
2708                                           title="Martial&#x20;Arts&#x20;Mats&#x20;"
2709                                           class="level-2 pl-5 flex items-center w-full cursor-pointer text-size16 font-normal text-black mb-4">                                                                                                       
2710                                           Martial Arts Mats </a>
2711                                    </li>
2712                                                                                                        <li class="level-2">
2713                                        <a href="https://www.flooringinc.com/shop/shop-by-activity/cheer-mats.html"
2714                                           title="Cheer&#x20;Mats"
2715                                           class="level-2 pl-5 flex items-center w-full cursor-pointer text-size16 font-normal text-black mb-4">                                                                                                       
2716                                           Cheer Mats</a>
2717                                    </li>
2718                                                                                                        <li class="level-2">
2719                                        <a href="https://www.flooringinc.com/shop/shop-by-activity/wrestling-mats.html"
2720                                           title="Wrestling&#x20;Mats"
2721                                           class="level-2 pl-5 flex items-center w-full cursor-pointer text-size16 font-normal text-black mb-4">                                                                                                       
2722                                           Wrestling Mats</a>
2723                                    </li>
2724                                                                  </ul>
2725                                                                        <a class="text-size16 font-normal text-black underline pl-5 mt-2 mb-6 inline-block" href="https://www.flooringinc.com/shop/shop-by-activity.html" x-show="show">View All</a>
2726                                             
2727                                                        
2728                        
2729                                                    
2730                            <li class="imgcat list-none relative" x-data="{ show: false }" >
2731                            <a
2732                                                            @click="show = !show"
2733                                                        
2734                               title="Floors&#x20;by&#x20;Space"
2735                               class="flex items-center cursor-pointer text-size18 font-normal text-black mb-4 mob-width-adjust"
2736                            >
2737                                <!-- <span class="w-6"></span> -->
2738                                <span>
2739                                    Floors by Space                                </span>
2740                            </a>
2741                            
2742                                                            <picture class="absolute menu_arw"><source type="image/webp" srcset="https://www.flooringinc.com/static/version1789462004/frontend/Dcw/hyvamobile/en_US/images/menu-arw.webp"><img src="https://www.flooringinc.com/static/version1789462004/frontend/Dcw/hyvamobile/en_US/images/menu-arw.png" width="13" height="8" alt="menu-arw" @click="show = !show" class="absolute menu_arw" x-bind:class="show ? 'active' : ''"></picture>
2743                             <ul class="z-10 w-full" x-show="show"> 
2744                                                                    <li class="level-2">
2745                                        <a href="https://www.flooringinc.com/shop/shop-by-space/kitchen-flooring.html"
2746                                           title="Kitchen&#x20;Flooring"
2747                                           class="level-2 pl-5 flex items-center w-full cursor-pointer text-size16 font-normal text-black mb-4">                                                                                                       
2748                                           Kitchen Flooring</a>
2749                                    </li>
2750                                                                                                        <li class="level-2">
2751                                        <a href="https://www.flooringinc.com/shop/shop-by-space/bathroom-flooring.html"
2752                                           title="Bathroom&#x20;Flooring"
2753                                           class="level-2 pl-5 flex items-center w-full cursor-pointer text-size16 font-normal text-black mb-4">                                                                                                       
2754                                           Bathroom Flooring</a>
2755                                    </li>
2756                                                                                                        <li class="level-2">
2757                                        <a href="https://www.flooringinc.com/shop/shop-by-space/commercial-flooring.html"
2758                                           title="Commercial&#x20;Flooring"
2759                                           class="level-2 pl-5 flex items-center w-full cursor-pointer text-size16 font-normal text-black mb-4">                                                                                                       
2760                                           Commercial Flooring</a>
2761                                    </li>
2762                                                                                                        <li class="level-2">
2763                                        <a href="https://www.flooringinc.com/shop/shop-by-space/gym-flooring.html"
2764                                           title="Gym&#x20;Flooring"
2765                                           class="level-2 pl-5 flex items-center w-full cursor-pointer text-size16 font-normal text-black mb-4">                                                                                                       
2766                                           Gym Flooring</a>
2767                                    </li>
2768                                                                                                        <li class="level-2">
2769                                        <a href="https://www.flooringinc.com/shop/shop-by-space/garage-flooring.html"
2770                                           title="Garage&#x20;Flooring"
2771                                           class="level-2 pl-5 flex items-center w-full cursor-pointer text-size16 font-normal text-black mb-4">                                                                                                       
2772                                           Garage Flooring</a>
2773                                    </li>
2774                                                                                                        <li class="level-2">
2775                                        <a href="https://www.flooringinc.com/shop/shop-by-space/outdoor-flooring.html"
2776                                           title="Outdoor&#x20;Flooring"
2777                                           class="level-2 pl-5 flex items-center w-full cursor-pointer text-size16 font-normal text-black mb-4">                                                                                                       
2778                                           Outdoor Flooring</a>
2779                                    </li>
2780                                                                  </ul>
2781                                                                        <a class="text-size16 font-normal text-black underline pl-5 mt-2 mb-6 inline-block" href="https://www.flooringinc.com/shop/shop-by-space.html" x-show="show">View All</a>
2782                                             
2783                                                        
2784                        
2785                                                    
2786                            <li class="imgcat list-none relative" x-data="{ show: false }" >
2787                            <a
2788                                                            @click="show = !show"
2789                                                        
2790                               title="Underlayment&#x20;&amp;&#x20;Flooring&#x20;Accessories"
2791                               class="flex items-center cursor-pointer text-size18 font-normal text-black mb-4 mob-width-adjust"
2792                            >
2793                                <!-- <span class="w-6"></span> -->
2794                                <span>
2795                                    Underlayment &amp; Flooring Accessories                                </span>
2796                            </a>
2797                            
2798                                                            <picture class="absolute menu_arw"><source type="image/webp" srcset="https://www.flooringinc.com/static/version1789462004/frontend/Dcw/hyvamobile/en_US/images/menu-arw.webp"><img src="https://www.flooringinc.com/static/version1789462004/frontend/Dcw/hyvamobile/en_US/images/menu-arw.png" width="13" height="8" alt="menu-arw" @click="show = !show" class="absolute menu_arw" x-bind:class="show ? 'active' : ''"></picture>
2799                             <ul class="z-10 w-full" x-show="show"> 
2800                                                                    <li class="level-2">
2801                                        <a href="https://www.flooringinc.com/shop/installation-care/adhesives-glue.html"
2802                                           title="Flooring&#x20;Adhesives&#x20;&amp;&#x20;Glue"
2803                                           class="level-2 pl-5 flex items-center w-full cursor-pointer text-size16 font-normal text-black mb-4">                                                                                                       
2804                                           Flooring Adhesives &amp; Glue</a>
2805                                    </li>
2806                                                                                                        <li class="level-2">
2807                                        <a href="https://www.flooringinc.com/shop/installation-care/tape.html"
2808                                           title="Floor&#x20;and&#x20;Mat&#x20;Tape"
2809                                           class="level-2 pl-5 flex items-center w-full cursor-pointer text-size16 font-normal text-black mb-4">                                                                                                       
2810                                           Floor and Mat Tape</a>
2811                                    </li>
2812                                                                                                        <li class="level-2">
2813                                        <a href="https://www.flooringinc.com/shop/installation-care/accessories.html"
2814                                           title="Installation&#x20;Accessories"
2815                                           class="level-2 pl-5 flex items-center w-full cursor-pointer text-size16 font-normal text-black mb-4">                                                                                                       
2816                                           Installation Accessories</a>
2817                                    </li>
2818                                                                                                        <li class="level-2">
2819                                        <a href="https://www.flooringinc.com/shop/installation-care/trims-moldings.html"
2820                                           title="Floor&#x20;Trims&#x20;&amp;&#x20;Moldings"
2821                                           class="level-2 pl-5 flex items-center w-full cursor-pointer text-size16 font-normal text-black mb-4">                                                                                                       
2822                                           Floor Trims &amp; Moldings</a>
2823                                    </li>
2824                                                                                                        <li class="level-2">
2825                                        <a href="https://www.flooringinc.com/shop/installation-care/underlayment.html"
2826                                           title="Flooring&#x20;Underlayment"
2827                                           class="level-2 pl-5 flex items-center w-full cursor-pointer text-size16 font-normal text-black mb-4">                                                                                                       
2828                                           Flooring Underlayment</a>
2829                                    </li>
2830                                                                                                        <li class="level-2">
2831                                        <a href="https://www.flooringinc.com/shop/installation-care/cleaners.html"
2832                                           title="Flooring&#x20;Cleaners"
2833                                           class="level-2 pl-5 flex items-center w-full cursor-pointer text-size16 font-normal text-black mb-4">                                                                                                       
2834                                           Flooring Cleaners</a>
2835                                    </li>
2836                                                                  </ul>
2837                                                                        <a class="text-size16 font-normal text-black underline pl-5 mt-2 mb-6 inline-block" href="https://www.flooringinc.com/shop/installation-care.html" x-show="show">View All</a>
2838                                             
2839                                                        
2840                        
2841                                                    
2842                            <li class="imgcat list-none relative" x-data="{ show: false }" >
2843                            <a
2844                                                            @click="show = !show"
2845                                                        
2846                               title="Specials"
2847                               class="flex items-center cursor-pointer text-size18 font-normal text-black mb-4 mob-width-adjust"
2848                            >
2849                                <!-- <span class="w-6"></span> -->
2850                                <span>
2851                                    Specials                                </span>
2852                            </a>
2853                            
2854                                                            <picture class="absolute menu_arw"><source type="image/webp" srcset="https://www.flooringinc.com/static/version1789462004/frontend/Dcw/hyvamobile/en_US/images/menu-arw.webp"><img src="https://www.flooringinc.com/static/version1789462004/frontend/Dcw/hyvamobile/en_US/images/menu-arw.png" width="13" height="8" alt="menu-arw" @click="show = !show" class="absolute menu_arw" x-bind:class="show ? 'active' : ''"></picture>
2855                             <ul class="z-10 w-full" x-show="show"> 
2856                                                                    <li class="level-2">
2857                                        <a href="https://www.flooringinc.com/shop/specials/hot-buys.html"
2858                                           title="Flooring&#x20;Deals"
2859                                           class="level-2 pl-5 flex items-center w-full cursor-pointer text-size16 font-normal text-black mb-4">                                                                                                       
2860                                           Flooring Deals</a>
2861                                    </li>
2862                                                                                                        <li class="level-2">
2863                                        <a href="https://www.flooringinc.com/shop/specials/made-in-usa.html"
2864                                           title="American&#x20;Made"
2865                                           class="level-2 pl-5 flex items-center w-full cursor-pointer text-size16 font-normal text-black mb-4">                                                                                                       
2866                                           American Made</a>
2867                                    </li>
2868                                                                                                        <li class="level-2">
2869                                        <a href="https://www.flooringinc.com/shop/specials/quick-ship.html"
2870                                           title="Quick&#x20;Ship"
2871                                           class="level-2 pl-5 flex items-center w-full cursor-pointer text-size16 font-normal text-black mb-4">                                                                                                       
2872                                           Quick Ship</a>
2873                                    </li>
2874                                                                                                        <li class="level-2">
2875                                        <a href="https://www.flooringinc.com/shop/specials/new-arrivals.html"
2876                                           title="New&#x20;Arrivals"
2877                                           class="level-2 pl-5 flex items-center w-full cursor-pointer text-size16 font-normal text-black mb-4">                                                                                                       
2878                                           New Arrivals</a>
2879                                    </li>
2880                                                                                                  </ul>
2881                             
2882                                                        
2883                                            </div>
2884                
2885                
2886            </div>
2887                <div class="menu_static_links">
2888            <style>#html-body [data-pb-style=QGH21I8]{justify-content:flex-start;display:flex;flex-direction:column;background-position:left top;background-size:cover;background-repeat:no-repeat;background-attachment:scroll}</style><div data-content-type="row" data-appearance="contained" data-element="main"><div data-enable-parallax="0" data-parallax-speed="0.5" data-background-images="{}" data-background-type="image" data-video-loop="true" data-video-play-only-visible="true" data-video-lazy-load="true" data-video-fallback-src="" data-element="inner" data-pb-style="QGH21I8"><div data-content-type="text" data-appearance="default" data-element="main"><ul>
2889<li><a tabindex="0" href="/shop-by-category/specials/hot-buys.html">Sale</a></li>
2890<li><a tabindex="0" href="/blog">Get Inspired &amp; How To</a></li>
2891</ul></div></div></div>        </div>
2892    </div>
2893        </nav>
2894    </div>
2895</div>
2896<script>
2897    'use strict';
2898
2899    const initMenuMobile_6ac15155197cd = () => {
2900        return {
2901            mobilePanelActiveId: null,
2902            open: false,
2903            setActiveMenu(menuNode) {
2904                Array.from(menuNode.querySelectorAll('a')).filter(link => {
2905                    return link.href === window.location.href.split('?')[0];
2906                }).map(item => {
2907                    item.classList.add('underline');
2908                    item.closest('div.level-0') &&
2909                    item.closest('div.level-0').querySelector('a.level-0').classList.add('underline');
2910                });
2911            }
2912        }
2913    }
2914
2915    window.addEventListener("scroll", function() {
2916        successMsgSticky2();
2917    });
2918
2919    // sticky header
2920    function successMsgSticky2() {
2921        if (window.innerWidth < 767) {
2922            var headerHeight = document.querySelector('.page-header .panel.wrapper').offsetHeight;
2923            var headerMainHeight = document.getElementById('header').offsetHeight;
2924            var scrollTop = window.scrollY;
2925
2926            if (scrollTop >= headerHeight) {
2927                document.body.classList.add('scroll-reached-hHgt');
2928                document.body.style.paddingTop = headerMainHeight + 'px';
2929            } else {
2930                document.body.classList.remove('scroll-reached-hHgt');
2931                document.body.style.paddingTop = '0';
2932            }
2933        }
2934    }
2935
2936    window.addEventListener("load", function() {
2937        successMsgSticky2();
2938    });
2939
2940</script>
2940
2941
2942<div x-data="initMenuDesktop_6ac1515521319()"
2943    class="z-20 order-2 sm:order-1 lg:order-2 navigation hidden xl:flex desktop__menu"
2944>
2945    <!-- desktop -->
2946    <div @load.window="setActiveMenu($root)"
2947        class="justify-between items-center mx-auto w-full max-w-7xl pl-2"
2948    >
2949        <nav
2950                class="flex flex-wrap"
2951        >
2952                                                            <div class="level-0 flex py-2 items-center border-transparent transition transition-colors duration-500 group megamenu_items" :class="{ 'block' : open}"
2953                    @mouseover.stop="hoverTopPosition = $event.currentTarget.offsetTop + $event.currentTarget.getBoundingClientRect().height"
2954                    @mouseenter="desktopMegaMenuShow = true" @mouseleave="desktopMegaMenuShow = false"
2955                    x-data="{ desktopMegaMenuShow: false }"
2956                >
2957                    <!-- <a href="https://www.flooringinc.com/shop.html" -->
2958                    <a 
2959                                        @focus="hoverTopPosition = $event.currentTarget.parentNode.offsetTop + $event.currentTarget.parentNode.getBoundingClientRect().height"
2960                    title="Flooring&#x20;By&#x20;Category"
2961                    class="level-0 block p-2 text-base font-medium text-black whitespace-nowrap cursor-pointer megamenu_items_link">
2962                        <span>Flooring By Category</span>
2963                                                    <span class="inline items-center releat">
2964                                <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" class="w-5 h-5 inline" width="25" height="25" role="img">
2965  <path fill-rule="evenodd" d="M5.293 7.293a1 1 0 011.414 0L10 10.586l3.293-3.293a1 1 0 111.414 1.414l-4 4a1 1 0 01-1.414 0l-4-4a1 1 0 010-1.414z" clip-rule="evenodd"/>
2966<title>chevron-down</title></svg>
2967                            </span>
2968                                            </a>
2969                                            <template x-if="desktopMegaMenuShow">
2970                        <div class="absolute left-0 right-0 top-full z-10 -mt-3 w-3/4 mx-auto bg-white opacity-0 transition-opacity ease-out pointer-events-none group-hover:opacity-100 focus-within:opacity-100 group-hover:pointer-events-auto megamenu"
2971                            style="display:none;"
2972                            :style="`margin-top: 0; top: ${hoverTopPosition}px;`"
2973                        >
2974                            <div class="flex justify-between mt-0 mb-0 sub-megamenu">
2975                                                                <div class="mx-auto w-full">
2976                                    <ul class="grid flex-1 w-full gap-y-0 gap-x-0 py-4 px-5 relative">
2977                                                                                                                            
2978                                            <li :class="{ 'active': show }" class="level-1 level1 display-first"  x-data="{ show: true }"  
2979                                                                                        x-on:click="show = true; removeDisplayFirst()" @click.away="show = false"
2980                                                                                        >
2981                                                <a 
2982                                                title="Rubber&#x20;Flooring"
2983                                                class="level-1 w-1/4 py-1/5 px-6 text-size13 block text-sm rounded text-darkblack relative"
2984                                                
2985                                                    >
2986                                                    Rubber Flooring
2987                                                                                                            <span class="inline items-center rotate-180 absolute">
2988                                                            <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" class="w-5 h-5 inline" width="25" height="25" role="img">
2989  <path fill-rule="evenodd" d="M5.293 7.293a1 1 0 011.414 0L10 10.586l3.293-3.293a1 1 0 111.414 1.414l-4 4a1 1 0 01-1.414 0l-4-4a1 1 0 010-1.414z" clip-rule="evenodd"/>
2990<title>chevron-down</title></svg>
2991                                                        </span>
2992                                                                                                    </a>
2993                                                 
2994                                <div class="2xl:block w-1/4 mega-menu-rightBlock absolute top-0 right-0" x-show="show">
2995                                    <style>#html-body [data-pb-style=IIM6H46]{justify-content:flex-start;display:flex;flex-direction:column;background-position:left top;background-size:cover;background-repeat:no-repeat;background-attachment:scroll}#html-body [data-pb-style=U0GMW4D]{border-style:none}#html-body [data-pb-style=CSIHBUF],#html-body [data-pb-style=HQMCF2E]{max-width:100%;height:auto}#html-body [data-pb-style=D3FJGJ6]{background-position:left top;background-size:cover;background-repeat:no-repeat;background-attachment:scroll;align-self:stretch}#html-body [data-pb-style=RR2V2I7]{display:flex;width:100%}#html-body [data-pb-style=PYIYA0A]{justify-content:flex-start;display:flex;flex-direction:column;background-position:left top;background-size:cover;background-repeat:no-repeat;background-attachment:scroll;width:100%;align-self:stretch}#html-body [data-pb-style=P1TMDVT]{text-align:left}#html-body [data-pb-style=F6SSOOO]{display:inline-block}#html-body [data-pb-style=K11XLVI]{text-align:center}@media only screen and (max-width: 768px) { #html-body [data-pb-style=U0GMW4D]{border-style:none} }</style><div class="mega_menu_banner" data-content-type="row" data-appearance="full-bleed" data-enable-parallax="0" data-parallax-speed="0.5" data-background-images="{}" data-background-type="image" data-video-loop="true" data-video-play-only-visible="true" data-video-lazy-load="true" data-video-fallback-src="" data-element="main" data-pb-style="IIM6H46"><figure data-content-type="image" data-appearance="full-width" data-element="main" data-pb-style="U0GMW4D"><a href="/next-day-rubber-rolls-14003.html" target="" data-link-type="default" title="" data-element="link"><picture class="pagebuilder-mobile-hidden"><source type="image/webp" srcset="https://www.flooringinc.com/media/wysiwyg/powered-by-rfi-image.webp"><img class="pagebuilder-mobile-hidden" src="https://www.flooringinc.com/media/wysiwyg/powered-by-rfi-image.jpg" alt="" title="" width="" height="" loading="lazy" data-element="desktop_image" data-pb-style="HQMCF2E" loading="lazy"></picture><picture class="pagebuilder-mobile-only"><source type="image/webp" srcset="https://www.flooringinc.com/media/wysiwyg/powered-by-rfi-image.webp"><img class="pagebuilder-mobile-only" src="https://www.flooringinc.com/media/wysiwyg/powered-by-rfi-image.jpg" alt="" title="" width="" height="" loading="lazy" data-element="mobile_image" data-pb-style="CSIHBUF" loading="lazy"></picture></a></figure><div class="pagebuilder-column-group" data-background-images="{}" data-content-type="column-group" data-appearance="default" data-grid-size="12" data-element="main" data-pb-style="D3FJGJ6"><div class="pagebuilder-column-line" data-content-type="column-line" data-element="main" data-pb-style="RR2V2I7"><div class="pagebuilder-column" data-content-type="column" data-appearance="full-height" data-background-images="{}" data-element="main" data-pb-style="PYIYA0A"><div class="text-size14 font-medium text-custom-black text-left pt-5 pb-1" data-content-type="text" data-appearance="default" data-element="main"><p>Powered By <picture><source type="image/webp" srcset="https://www.flooringinc.com/media/wysiwyg/website-logo-powerd-by-color-rfi.webp"><img src="https://www.flooringinc.com/media/wysiwyg/website-logo-powerd-by-color-rfi.png" alt="" width="87" height="15"></picture></p></div><div class="text-size18 text-custom-black font-bold text-left pt-2 pb-4" data-content-type="text" data-appearance="default" data-element="main"><h2><span style="font-size: 18px;">Premium Rubber Solutions</span></h2></div><div data-content-type="buttons" data-appearance="inline" data-same-width="false" data-element="main" data-pb-style="P1TMDVT" class="free__Shipping__btn"><div data-content-type="button-item" data-appearance="default" data-element="main" data-pb-style="F6SSOOO"><a class="pagebuilder-button-primary" href="/next-day-rubber-rolls-14003.html" target="" data-link-type="default" data-element="link" data-pb-style="K11XLVI"><span data-element="link_text">SHOP NOW</span></a></div></div></div></div></div></div>                                </div>
2996                                
2997                                                <ul class="z-10 w-1/2 absolute top-0 level2 flex flex-wrap pt-3 megamenu-extrablock" x-show="show">
2998                                                    <span class="block w-full text-size28 font-medium no-underline text-darkblack pb-2">Rubber Flooring</span>
2999
3000                                                                                                            <li class="level-2 w-4/12 pr-6 pb-6">
3001                                                            <a href="https://www.flooringinc.com/shop/rubber-flooring/all-rubber-flooring.html"
3002                                                            title="All&#x20;Rubber&#x20;Flooring"
3003                                                            class="level-2 block">
3004                                                                                                                                <picture class="menucatimg rounded w-full mb-2"><source type="image/webp" srcset="https://www.flooringinc.com//media/catalog/category/all_rubber_main.webp"><img class="menucatimg rounded w-full mb-2" src="https://www.flooringinc.com//media/catalog/category/all_rubber_main.jpg" alt="All&#x20;Rubber&#x20;Flooring" title="All&#x20;Rubber&#x20;Flooring" /></picture>   
3005                                                                                                                                                                                        
3006                                                            <span class="block text-sm font-medium no-underline text-darkblack pr-4">All Rubber Flooring</span></a>
3007                                                        </li>
3008                                                           
3009                                                                                                                                                                    <li class="level-2 w-4/12 pr-6 pb-6">
3010                                                            <a href="https://www.flooringinc.com/shop/rubber-flooring/rubber-rolls.html"
3011                                                            title="Rubber&#x20;Flooring&#x20;Rolls"
3012                                                            class="level-2 block">
3013                                                                                                                                <picture class="menucatimg rounded w-full mb-2"><source type="image/webp" srcset="https://www.flooringinc.com//media/catalog/category/rubber_rolls_category_main_1_.webp"><img class="menucatimg rounded w-full mb-2" src="https://www.flooringinc.com//media/catalog/category/rubber_rolls_category_main_1_.jpg" alt="Rubber&#x20;Flooring&#x20;Rolls" title="Rubber&#x20;Flooring&#x20;Rolls" /></picture>   
3014                                                                                                                                                                                        
3015                                                            <span class="block text-sm font-medium no-underline text-darkblack pr-4">Rubber Flooring Rolls</span></a>
3016                                                        </li>
3017                                                           
3018                                                                                                                                                                    <li class="level-2 w-4/12 pr-6 pb-6">
3019                                                            <a href="https://www.flooringinc.com/shop/rubber-flooring/rubber-tiles.html"
3020                                                            title="Rubber&#x20;Floor&#x20;Tiles"
3021                                                            class="level-2 block">
3022                                                                                                                                <picture class="menucatimg rounded w-full mb-2"><source type="image/webp" srcset="https://www.flooringinc.com//media/catalog/category/rubbertiles-main-category_1.webp"><img class="menucatimg rounded w-full mb-2" src="https://www.flooringinc.com//media/catalog/category/rubbertiles-main-category_1.jpg" alt="Rubber&#x20;Floor&#x20;Tiles" title="Rubber&#x20;Floor&#x20;Tiles" /></picture>   
3023                                                                                                                                                                                        
3024                                                            <span class="block text-sm font-medium no-underline text-darkblack pr-4">Rubber Floor Tiles</span></a>
3025                                                        </li>
3026                                                           
3027                                                                                                                                                                    <li class="level-2 w-4/12 pr-6 pb-6">
3028                                                            <a href="https://www.flooringinc.com/shop/rubber-flooring/rubber-mats.html"
3029                                                            title="Rubber&#x20;Mats"
3030                                                            class="level-2 block">
3031                                                                                                                                <picture class="menucatimg rounded w-full mb-2"><source type="image/webp" srcset="https://www.flooringinc.com//media/catalog/category/rubbermats-main-category_1.webp"><img class="menucatimg rounded w-full mb-2" src="https://www.flooringinc.com//media/catalog/category/rubbermats-main-category_1.jpg" alt="Rubber&#x20;Mats" title="Rubber&#x20;Mats" /></picture>   
3032                                                                                                                                                                                        
3033                                                            <span class="block text-sm font-medium no-underline text-darkblack pr-4">Rubber Mats</span></a>
3034                                                        </li>
3035                                                           
3036                                                                                                                                                                    <li class="level-2 w-4/12 pr-6 pb-6">
3037                                                            <a href="https://www.flooringinc.com/shop/rubber-flooring/playground-flooring.html"
3038                                                            title="Playground&#x20;Flooring"
3039                                                            class="level-2 block">
3040                                                                                                                                <picture class="menucatimg rounded w-full mb-2"><source type="image/webp" srcset="https://www.flooringinc.com//media/catalog/category/Playground_Flooring_Category.webp"><img class="menucatimg rounded w-full mb-2" src="https://www.flooringinc.com//media/catalog/category/Playground_Flooring_Category.jpg" alt="Playground&#x20;Flooring" title="Playground&#x20;Flooring" /></picture>   
3041                                                                                                                                                                                        
3042                                                            <span class="block text-sm font-medium no-underline text-darkblack pr-4">Playground Flooring</span></a>
3043                                                        </li>
3044                                                           
3045                                                                                                                                                                    <li class="level-2 w-4/12 pr-6 pb-6">
3046                                                            <a href="https://www.flooringinc.com/shop/rubber-flooring/outdoor-rubber-flooring.html"
3047                                                            title="Outdoor&#x20;Rubber&#x20;Flooring"
3048                                                            class="level-2 block">
3049                                                                                                                                <picture class="menucatimg rounded w-full mb-2"><source type="image/webp" srcset="https://www.flooringinc.com//media/catalog/category/fi_rubber_flooring_outdoor_rubber_flooing_1.webp"><img class="menucatimg rounded w-full mb-2" src="https://www.flooringinc.com//media/catalog/category/fi_rubber_flooring_outdoor_rubber_flooing_1.jpg" alt="Outdoor&#x20;Rubber&#x20;Flooring" title="Outdoor&#x20;Rubber&#x20;Flooring" /></picture>   
3050                                                                                                                                                                                        
3051                                                            <span class="block text-sm font-medium no-underline text-darkblack pr-4">Outdoor Rubber Flooring</span></a>
3052                                                        </li>
3053                                                           
3054                                                        
3055                                                                                                <a class="view-all mt-2 underline-imp text-size12 font-medium text-darkblack absolute" style="top:410px;" href="https://www.flooringinc.com/shop/rubber-flooring.html" >View All</a>
3056                                             
3057
3058                                                </ul>
3059                                            </li>
3060                                            
3061                                            
3062                                                                                                                            
3063                                            <li :class="{ 'active': show }" class="level-1 level1 "  x-data="{ show: false }"  
3064                                                                                        x-on:click="show = true; removeDisplayFirst()" @click.away="show = false"
3065                                                                                        >
3066                                                <a 
3067                                                title="Garage&#x20;Flooring"
3068                                                class="level-1 w-1/4 py-1/5 px-6 text-size13 block text-sm rounded text-darkblack relative"
3069                                                
3070                                                    >
3071                                                    Garage Flooring
3072                                                                                                            <span class="inline items-center rotate-180 absolute">
3073                                                            <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" class="w-5 h-5 inline" width="25" height="25" role="img">
3074  <path fill-rule="evenodd" d="M5.293 7.293a1 1 0 011.414 0L10 10.586l3.293-3.293a1 1 0 111.414 1.414l-4 4a1 1 0 01-1.414 0l-4-4a1 1 0 010-1.414z" clip-rule="evenodd"/>
3075<title>chevron-down</title></svg>
3076                                                        </span>
3077                                                                                                    </a>
3078                                                 
3079                                <div class="2xl:block w-1/4 mega-menu-rightBlock absolute top-0 right-0" x-show="show">
3080                                    <style>#html-body [data-pb-style=H2Q94UM]{justify-content:flex-start;display:flex;flex-direction:column;background-position:left top;background-size:cover;background-repeat:no-repeat;background-attachment:scroll}#html-body [data-pb-style=C5CAQFQ]{border-style:none}#html-body [data-pb-style=FY780K4],#html-body [data-pb-style=P2NDU5I]{max-width:100%;height:auto}#html-body [data-pb-style=RFW0BPB]{background-position:left top;background-size:cover;background-repeat:no-repeat;background-attachment:scroll;align-self:stretch}#html-body [data-pb-style=MX73IJ8]{display:flex;width:100%}#html-body [data-pb-style=YYPRLU8]{justify-content:flex-start;display:flex;flex-direction:column;background-position:left top;background-size:cover;background-repeat:no-repeat;background-attachment:scroll;width:100%;align-self:stretch}#html-body [data-pb-style=TU662D2]{text-align:left}#html-body [data-pb-style=EXLNMTV]{display:inline-block}#html-body [data-pb-style=N31DM3P]{text-align:center}@media only screen and (max-width: 768px) { #html-body [data-pb-style=C5CAQFQ]{border-style:none} }</style><div class="mega_menu_banner" data-content-type="row" data-appearance="full-bleed" data-enable-parallax="0" data-parallax-speed="0.5" data-background-images="{}" data-background-type="image" data-video-loop="true" data-video-play-only-visible="true" data-video-lazy-load="true" data-video-fallback-src="" data-element="main" data-pb-style="H2Q94UM"><figure data-content-type="image" data-appearance="full-width" data-element="main" data-pb-style="C5CAQFQ"><a href="https://www.flooringinc.com/shop/flex-nitro-tiles-8985.html" target="" data-link-type="default" title="" data-element="link"><picture class="pagebuilder-mobile-hidden"><source type="image/webp" srcset="https://www.flooringinc.com/media/wysiwyg/nav-nitro-flex.webp"><img class="pagebuilder-mobile-hidden" src="https://www.flooringinc.com/media/wysiwyg/nav-nitro-flex.jpg" alt="" title="" width="" height="" loading="lazy" data-element="desktop_image" data-pb-style="FY780K4" loading="lazy"></picture><picture class="pagebuilder-mobile-only"><source type="image/webp" srcset="https://www.flooringinc.com/media/wysiwyg/nav-nitro-flex.webp"><img class="pagebuilder-mobile-only" src="https://www.flooringinc.com/media/wysiwyg/nav-nitro-flex.jpg" alt="" title="" width="" height="" loading="lazy" data-element="mobile_image" data-pb-style="P2NDU5I" loading="lazy"></picture></a></figure><div class="pagebuilder-column-group" data-background-images="{}" data-content-type="column-group" data-appearance="default" data-grid-size="12" data-element="main" data-pb-style="RFW0BPB"><div class="pagebuilder-column-line" data-content-type="column-line" data-element="main" data-pb-style="MX73IJ8"><div class="pagebuilder-column" data-content-type="column" data-appearance="full-height" data-background-images="{}" data-element="main" data-pb-style="YYPRLU8"><div data-content-type="buttons" data-appearance="inline" data-same-width="false" data-element="main" data-pb-style="TU662D2" class="free__Shipping__btn"><div data-content-type="button-item" data-appearance="default" data-element="main" data-pb-style="EXLNMTV"><a class="pagebuilder-button-primary" href="https://www.flooringinc.com/shop/flex-nitro-tiles-8985.html" target="" data-link-type="default" data-element="link" data-pb-style="N31DM3P"><span data-element="link_text">SHOP NOW</span></a></div></div></div></div></div></div>                                </div>
3081                                
3082                                                <ul class="z-10 w-1/2 absolute top-0 level2 flex flex-wrap pt-3 megamenu-extrablock" x-show="show">
3083                                                    <span class="block w-full text-size28 font-medium no-underline text-darkblack pb-2">Garage Flooring</span>
3084
3085                                                                                                            <li class="level-2 w-4/12 pr-6 pb-6">
3086                                                            <a href="https://www.flooringinc.com/shop/garage-flooring/all-garage-flooring.html"
3087                                                            title="All&#x20;Garage&#x20;Flooring"
3088                                                            class="level-2 block">
3089                                                                                                                                <picture class="menucatimg rounded w-full mb-2"><source type="image/webp" srcset="https://www.flooringinc.com//media/catalog/category/All_Garage_Flooring.webp"><img class="menucatimg rounded w-full mb-2" src="https://www.flooringinc.com//media/catalog/category/All_Garage_Flooring.jpg" alt="All&#x20;Garage&#x20;Flooring" title="All&#x20;Garage&#x20;Flooring" /></picture>   
3090                                                                                                                                                                                        
3091                                                            <span class="block text-sm font-medium no-underline text-darkblack pr-4">All Garage Flooring</span></a>
3092                                                        </li>
3093                                                           
3094                                                                                                                                                                    <li class="level-2 w-4/12 pr-6 pb-6">
3095                                                            <a href="https://www.flooringinc.com/shop/garage-flooring/garage-rolls.html"
3096                                                            title="Garage&#x20;Flooring&#x20;Rolls"
3097                                                            class="level-2 block">
3098                                                                                                                                <picture class="menucatimg rounded w-full mb-2"><source type="image/webp" srcset="https://www.flooringinc.com//media/catalog/category/garagerools-main-category_1.webp"><img class="menucatimg rounded w-full mb-2" src="https://www.flooringinc.com//media/catalog/category/garagerools-main-category_1.jpg" alt="Garage&#x20;Flooring&#x20;Rolls" title="Garage&#x20;Flooring&#x20;Rolls" /></picture>   
3099                                                                                                                                                                                        
3100                                                            <span class="block text-sm font-medium no-underline text-darkblack pr-4">Garage Flooring Rolls</span></a>
3101                                                        </li>
3102                                                           
3103                                                                                                                                                                    <li class="level-2 w-4/12 pr-6 pb-6">
3104                                                            <a href="https://www.flooringinc.com/shop/garage-flooring/garage-tiles.html"
3105                                                            title="Garage&#x20;Floor&#x20;Tiles"
3106                                                            class="level-2 block">
3107                                                                                                                                <picture class="menucatimg rounded w-full mb-2"><source type="image/webp" srcset="https://www.flooringinc.com//media/catalog/category/garagetiles-main-category_1.webp"><img class="menucatimg rounded w-full mb-2" src="https://www.flooringinc.com//media/catalog/category/garagetiles-main-category_1.jpg" alt="Garage&#x20;Floor&#x20;Tiles" title="Garage&#x20;Floor&#x20;Tiles" /></picture>   
3108                                                                                                                                                                                        
3109                                                            <span class="block text-sm font-medium no-underline text-darkblack pr-4">Garage Floor Tiles</span></a>
3110                                                        </li>
3111                                                           
3112                                                                                                                                                                    <li class="level-2 w-4/12 pr-6 pb-6">
3113                                                            <a href="https://www.flooringinc.com/shop/garage-flooring/garage-gym-flooring.html"
3114                                                            title="Garage&#x20;Gym&#x20;Flooring"
3115                                                            class="level-2 block">
3116                                                                                                                                <picture class="menucatimg rounded w-full mb-2"><source type="image/webp" srcset="https://www.flooringinc.com//media/catalog/category/fi_garage_flooring_garage_gym_flooring_1.webp"><img class="menucatimg rounded w-full mb-2" src="https://www.flooringinc.com//media/catalog/category/fi_garage_flooring_garage_gym_flooring_1.jpg" alt="Garage&#x20;Gym&#x20;Flooring" title="Garage&#x20;Gym&#x20;Flooring" /></picture>   
3117                                                                                                                                                                                        
3118                                                            <span class="block text-sm font-medium no-underline text-darkblack pr-4">Garage Gym Flooring</span></a>
3119                                                        </li>
3120                                                           
3121                                                                                                                                                                    <li class="level-2 w-4/12 pr-6 pb-6">
3122                                                            <a href="https://www.flooringinc.com/shop/garage-flooring/coatings-epoxy.html"
3123                                                            title="Garage&#x20;Floor&#x20;Epoxy"
3124                                                            class="level-2 block">
3125                                                                                                                                <picture class="menucatimg rounded w-full mb-2"><source type="image/webp" srcset="https://www.flooringinc.com//media/catalog/category/fi_garage_flooring_coatings_epoxy_1_1.webp"><img class="menucatimg rounded w-full mb-2" src="https://www.flooringinc.com//media/catalog/category/fi_garage_flooring_coatings_epoxy_1_1.jpg" alt="Garage&#x20;Floor&#x20;Epoxy" title="Garage&#x20;Floor&#x20;Epoxy" /></picture>   
3126                                                                                                                                                                                        
3127                                                            <span class="block text-sm font-medium no-underline text-darkblack pr-4">Garage Floor Epoxy</span></a>
3128                                                        </li>
3129                                                           
3130                                                                                                                                                                    <li class="level-2 w-4/12 pr-6 pb-6">
3131                                                            <a href="https://www.flooringinc.com/shop/garage-flooring/trailer-flooring.html"
3132                                                            title="Trailer&#x20;Flooring"
3133                                                            class="level-2 block">
3134                                                                                                                                <picture class="menucatimg rounded w-full mb-2"><source type="image/webp" srcset="https://www.flooringinc.com//media/catalog/category/fi_garage_flooring_trailer_flooring_1.webp"><img class="menucatimg rounded w-full mb-2" src="https://www.flooringinc.com//media/catalog/category/fi_garage_flooring_trailer_flooring_1.jpg" alt="Trailer&#x20;Flooring" title="Trailer&#x20;Flooring" /></picture>   
3135                                                                                                                                                                                        
3136                                                            <span class="block text-sm font-medium no-underline text-darkblack pr-4">Trailer Flooring</span></a>
3137                                                        </li>
3138                                                           
3139                                                        
3140                                                                                                <a class="view-all mt-2 underline-imp text-size12 font-medium text-darkblack absolute" style="top:410px;" href="https://www.flooringinc.com/shop/garage-flooring.html" >View All</a>
3141                                             
3142
3143                                                </ul>
3144                                            </li>
3145                                            
3146                                            
3147                                                                                                                            
3148                                            <li :class="{ 'active': show }" class="level-1 level1 "  x-data="{ show: false }"  
3149                                                                                        x-on:click="show = true; removeDisplayFirst()" @click.away="show = false"
3150                                                                                        >
3151                                                <a 
3152                                                title="Dance&#x20;Flooring"
3153                                                class="level-1 w-1/4 py-1/5 px-6 text-size13 block text-sm rounded text-darkblack relative"
3154                                                
3155                                                    >
3156                                                    Dance Flooring
3157                                                                                                            <span class="inline items-center rotate-180 absolute">
3158                                                            <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" class="w-5 h-5 inline" width="25" height="25" role="img">
3159  <path fill-rule="evenodd" d="M5.293 7.293a1 1 0 011.414 0L10 10.586l3.293-3.293a1 1 0 111.414 1.414l-4 4a1 1 0 01-1.414 0l-4-4a1 1 0 010-1.414z" clip-rule="evenodd"/>
3160<title>chevron-down</title></svg>
3161                                                        </span>
3162                                                                                                    </a>
3163                                                 
3164                                <div class="2xl:block w-1/4 mega-menu-rightBlock absolute top-0 right-0" x-show="show">
3165                                    <style>#html-body [data-pb-style=DE1KPIK]{justify-content:flex-start;display:flex;flex-direction:column;background-position:left top;background-size:cover;background-repeat:no-repeat;background-attachment:scroll}#html-body [data-pb-style=I9PHOLE]{border-style:none}#html-body [data-pb-style=PGOIAVD],#html-body [data-pb-style=XRTA8XP]{max-width:100%;height:auto}@media only screen and (max-width: 768px) { #html-body [data-pb-style=I9PHOLE]{border-style:none} }</style><div class="mega_menu_banner" data-content-type="row" data-appearance="full-bleed" data-enable-parallax="0" data-parallax-speed="0.5" data-background-images="{}" data-background-type="image" data-video-loop="true" data-video-play-only-visible="true" data-video-lazy-load="true" data-video-fallback-src="" data-element="main" data-pb-style="DE1KPIK"><figure data-content-type="image" data-appearance="full-width" data-element="main" data-pb-style="I9PHOLE"><a href="https://www.flooringinc.com/shop/prostep-dance-floor-rolls-9876.html" target="" data-link-type="default" title="" data-element="link"><picture class="pagebuilder-mobile-hidden"><source type="image/webp" srcset="https://www.flooringinc.com/media/wysiwyg/by-brand-ad.webp"><img class="pagebuilder-mobile-hidden" src="https://www.flooringinc.com/media/wysiwyg/by-brand-ad.jpg" alt="" title="" width="" height="" loading="lazy" data-element="desktop_image" data-pb-style="XRTA8XP" loading="lazy"></picture><picture class="pagebuilder-mobile-only"><source type="image/webp" srcset="https://www.flooringinc.com/media/wysiwyg/by-brand-ad.webp"><img class="pagebuilder-mobile-only" src="https://www.flooringinc.com/media/wysiwyg/by-brand-ad.jpg" alt="" title="" width="" height="" loading="lazy" data-element="mobile_image" data-pb-style="PGOIAVD" loading="lazy"></picture></a></figure></div>                                </div>
3166                                
3167                                                <ul class="z-10 w-1/2 absolute top-0 level2 flex flex-wrap pt-3 megamenu-extrablock" x-show="show">
3168                                                    <span class="block w-full text-size28 font-medium no-underline text-darkblack pb-2">Dance Flooring</span>
3169
3170                                                                                                            <li class="level-2 w-4/12 pr-6 pb-6">
3171                                                            <a href="https://www.flooringinc.com/shop/dance-flooring/marley-flooring.html"
3172                                                            title="Marley&#x20;Floor&#x20;Rolls"
3173                                                            class="level-2 block">
3174                                                                                                                                <picture class="menucatimg rounded w-full mb-2"><source type="image/webp" srcset="https://www.flooringinc.com//media/catalog/category/Marley_Dance_Floor_Rolls_Category_1.webp"><img class="menucatimg rounded w-full mb-2" src="https://www.flooringinc.com//media/catalog/category/Marley_Dance_Floor_Rolls_Category_1.jpg" alt="Marley&#x20;Floor&#x20;Rolls" title="Marley&#x20;Floor&#x20;Rolls" /></picture>   
3175                                                                                                                                                                                        
3176                                                            <span class="block text-sm font-medium no-underline text-darkblack pr-4">Marley Floor Rolls</span></a>
3177                                                        </li>
3178                                                           
3179                                                                                                                                                                    <li class="level-2 w-4/12 pr-6 pb-6">
3180                                                            <a href="https://www.flooringinc.com/shop/dance-flooring/dance-floor-tiles.html"
3181                                                            title="Dance&#x20;Floor&#x20;Tiles"
3182                                                            class="level-2 block">
3183                                                                                                                                <picture class="menucatimg rounded w-full mb-2"><source type="image/webp" srcset="https://www.flooringinc.com//media/catalog/category/Dance_Floor_Tiles_Category_1.webp"><img class="menucatimg rounded w-full mb-2" src="https://www.flooringinc.com//media/catalog/category/Dance_Floor_Tiles_Category_1.jpg" alt="Dance&#x20;Floor&#x20;Tiles" title="Dance&#x20;Floor&#x20;Tiles" /></picture>   
3184                                                                                                                                                                                        
3185                                                            <span class="block text-sm font-medium no-underline text-darkblack pr-4">Dance Floor Tiles</span></a>
3186                                                        </li>
3187                                                           
3188                                                                                                                                                                    <li class="level-2 w-4/12 pr-6 pb-6">
3189                                                            <a href="https://www.flooringinc.com/shop/dance-flooring/portable-dance-floor-kits.html"
3190                                                            title="Portable&#x20;Dance&#x20;Floors&#x20;&amp;&#x20;Kits"
3191                                                            class="level-2 block">
3192                                                                                                                                <picture class="menucatimg rounded w-full mb-2"><source type="image/webp" srcset="https://www.flooringinc.com//media/catalog/category/Portable_Dance_Floor_Kits_Category_1.webp"><img class="menucatimg rounded w-full mb-2" src="https://www.flooringinc.com//media/catalog/category/Portable_Dance_Floor_Kits_Category_1.jpg" alt="Portable&#x20;Dance&#x20;Floors&#x20;&amp;&#x20;Kits" title="Portable&#x20;Dance&#x20;Floors&#x20;&amp;&#x20;Kits" /></picture>   
3193                                                                                                                                                                                        
3194                                                            <span class="block text-sm font-medium no-underline text-darkblack pr-4">Portable Dance Floors &amp; Kits</span></a>
3195                                                        </li>
3196                                                           
3197                                                                                                                                                                    <li class="level-2 w-4/12 pr-6 pb-6">
3198                                                            <a href="https://www.flooringinc.com/shop/dance-flooring/subflooring.html"
3199                                                            title="Subflooring"
3200                                                            class="level-2 block">
3201                                                                                                                                <picture class="menucatimg rounded w-full mb-2"><source type="image/webp" srcset="https://www.flooringinc.com//media/catalog/category/Dance_Subflooring_Category_1_1.webp"><img class="menucatimg rounded w-full mb-2" src="https://www.flooringinc.com//media/catalog/category/Dance_Subflooring_Category_1_1.jpg" alt="Subflooring" title="Subflooring" /></picture>   
3202                                                                                                                                                                                        
3203                                                            <span class="block text-sm font-medium no-underline text-darkblack pr-4">Subflooring</span></a>
3204                                                        </li>
3205                                                           
3206                                                                                                                                                                    <li class="level-2 w-4/12 pr-6 pb-6">
3207                                                            <a href="https://www.flooringinc.com/shop/dance-flooring/adhesives-cleaners-accessories.html"
3208                                                            title="Adhesives,&#x20;Cleaners&#x20;&amp;&#x20;Accessories"
3209                                                            class="level-2 block">
3210                                                                                                                                <picture class="menucatimg rounded w-full mb-2"><source type="image/webp" srcset="https://www.flooringinc.com//media/catalog/category/Dance_Floor_Accessories.webp"><img class="menucatimg rounded w-full mb-2" src="https://www.flooringinc.com//media/catalog/category/Dance_Floor_Accessories.jpg" alt="Adhesives,&#x20;Cleaners&#x20;&amp;&#x20;Accessories" title="Adhesives,&#x20;Cleaners&#x20;&amp;&#x20;Accessories" /></picture>   
3211                                                                                                                                                                                        
3212                                                            <span class="block text-sm font-medium no-underline text-darkblack pr-4">Adhesives, Cleaners &amp; Accessories</span></a>
3213                                                        </li>
3214                                                           
3215                                                                                                                                                                    <li class="level-2 w-4/12 pr-6 pb-6">
3216                                                            <a href="https://www.flooringinc.com/shop/dance-flooring/all-dance-flooring.html"
3217                                                            title="All&#x20;Dance&#x20;Flooring"
3218                                                            class="level-2 block">
3219                                                                                                                                <picture class="menucatimg rounded w-full mb-2"><source type="image/webp" srcset="https://www.flooringinc.com//media/catalog/category/All_Dance_Flooring_Category.webp"><img class="menucatimg rounded w-full mb-2" src="https://www.flooringinc.com//media/catalog/category/All_Dance_Flooring_Category.jpg" alt="All&#x20;Dance&#x20;Flooring" title="All&#x20;Dance&#x20;Flooring" /></picture>   
3220                                                                                                                                                                                        
3221                                                            <span class="block text-sm font-medium no-underline text-darkblack pr-4">All Dance Flooring</span></a>
3222                                                        </li>
3223                                                           
3224                                                        
3225                                                                                                <a class="view-all mt-2 underline-imp text-size12 font-medium text-darkblack absolute" style="top:410px;" href="https://www.flooringinc.com/shop/dance-flooring.html" >View All</a>
3226                                             
3227
3228                                                </ul>
3229                                            </li>
3230                                            
3231                                            
3232                                                                                                                            
3233                                            <li :class="{ 'active': show }" class="level-1 level1 "  x-data="{ show: false }"  
3234                                                                                        x-on:click="show = true; removeDisplayFirst()" @click.away="show = false"
3235                                                                                        >
3236                                                <a 
3237                                                title="Foam&#x20;Flooring"
3238                                                class="level-1 w-1/4 py-1/5 px-6 text-size13 block text-sm rounded text-darkblack relative"
3239                                                
3240                                                    >
3241                                                    Foam Flooring
3242                                                                                                            <span class="inline items-center rotate-180 absolute">
3243                                                            <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" class="w-5 h-5 inline" width="25" height="25" role="img">
3244  <path fill-rule="evenodd" d="M5.293 7.293a1 1 0 011.414 0L10 10.586l3.293-3.293a1 1 0 111.414 1.414l-4 4a1 1 0 01-1.414 0l-4-4a1 1 0 010-1.414z" clip-rule="evenodd"/>
3245<title>chevron-down</title></svg>
3246                                                        </span>
3247                                                                                                    </a>
3248                                                 
3249                                <div class="2xl:block w-1/4 mega-menu-rightBlock absolute top-0 right-0" x-show="show">
3250                                    <style>#html-body [data-pb-style=V4QEB1B]{justify-content:flex-start;display:flex;flex-direction:column;background-position:left top;background-size:cover;background-repeat:no-repeat;background-attachment:scroll}#html-body [data-pb-style=RATJYYQ]{border-style:none}#html-body [data-pb-style=C8AYEH6],#html-body [data-pb-style=K3BTVRB]{max-width:100%;height:auto}#html-body [data-pb-style=C9LYQAD]{background-position:left top;background-size:cover;background-repeat:no-repeat;background-attachment:scroll;align-self:stretch}#html-body [data-pb-style=WFJJ3YQ]{display:flex;width:100%}#html-body [data-pb-style=IJTR1TW]{justify-content:flex-start;display:flex;flex-direction:column;background-position:left top;background-size:cover;background-repeat:no-repeat;background-attachment:scroll;width:100%;align-self:stretch}#html-body [data-pb-style=UUFOJKP]{text-align:left}#html-body [data-pb-style=LCUDGB3]{display:inline-block}#html-body [data-pb-style=E91VWL4]{text-align:center}@media only screen and (max-width: 768px) { #html-body [data-pb-style=RATJYYQ]{border-style:none} }</style><div class="mega_menu_banner" data-content-type="row" data-appearance="full-bleed" data-enable-parallax="0" data-parallax-speed="0.5" data-background-images="{}" data-background-type="image" data-video-loop="true" data-video-play-only-visible="true" data-video-lazy-load="true" data-video-fallback-src="" data-element="main" data-pb-style="V4QEB1B"><figure data-content-type="image" data-appearance="full-width" data-element="main" data-pb-style="RATJYYQ"><a href="/shop/foam-flooring.html" target="" data-link-type="default" title="" data-element="link"><picture class="pagebuilder-mobile-hidden"><source type="image/webp" srcset="https://www.flooringinc.com/media/wysiwyg/powered-by-ft-image.webp"><img class="pagebuilder-mobile-hidden" src="https://www.flooringinc.com/media/wysiwyg/powered-by-ft-image.jpg" alt="" title="" width="" height="" loading="lazy" data-element="desktop_image" data-pb-style="K3BTVRB" loading="lazy"></picture><picture class="pagebuilder-mobile-only"><source type="image/webp" srcset="https://www.flooringinc.com/media/wysiwyg/powered-by-ft-image.webp"><img class="pagebuilder-mobile-only" src="https://www.flooringinc.com/media/wysiwyg/powered-by-ft-image.jpg" alt="" title="" width="" height="" loading="lazy" data-element="mobile_image" data-pb-style="C8AYEH6" loading="lazy"></picture></a></figure><div class="pagebuilder-column-group" data-background-images="{}" data-content-type="column-group" data-appearance="default" data-grid-size="12" data-element="main" data-pb-style="C9LYQAD"><div class="pagebuilder-column-line" data-content-type="column-line" data-element="main" data-pb-style="WFJJ3YQ"><div class="pagebuilder-column" data-content-type="column" data-appearance="full-height" data-background-images="{}" data-element="main" data-pb-style="IJTR1TW"><div class="text-size14 font-medium text-custom-black text-left pt-5 pb-1" data-content-type="text" data-appearance="default" data-element="main"><p>Powered By <picture><source type="image/webp" srcset="https://www.flooringinc.com/media/wysiwyg/6000x2556_FT.webp"><img src="https://www.flooringinc.com/media/wysiwyg/6000x2556_FT.png" alt="" width="100" height="26"></picture></p></div><div class="text-size18 text-custom-black font-bold text-left pt-2 pb-4" data-content-type="text" data-appearance="default" data-element="main"><h2><span style="font-size: 18px;">Elite Sports Surfaces</span></h2></div><div data-content-type="buttons" data-appearance="inline" data-same-width="false" data-element="main" data-pb-style="UUFOJKP" class="free__Shipping__btn"><div data-content-type="button-item" data-appearance="default" data-element="main" data-pb-style="LCUDGB3"><a class="pagebuilder-button-primary" href="/shop/foam-flooring.html" target="" data-link-type="default" data-element="link" data-pb-style="E91VWL4"><span data-element="link_text">SHOP NOW</span></a></div></div></div></div></div></div>                                </div>
3251                                
3252                                                <ul class="z-10 w-1/2 absolute top-0 level2 flex flex-wrap pt-3 megamenu-extrablock" x-show="show">
3253                                                    <span class="block w-full text-size28 font-medium no-underline text-darkblack pb-2">Foam Flooring</span>
3254
3255                                                                                                            <li class="level-2 w-4/12 pr-6 pb-6">
3256                                                            <a href="https://www.flooringinc.com/shop/foam-flooring/foam-tiles.html"
3257                                                            title="Foam&#x20;Floor&#x20;Tiles"
3258                                                            class="level-2 block">
3259                                                                                                                                <picture class="menucatimg rounded w-full mb-2"><source type="image/webp" srcset="https://www.flooringinc.com//media/catalog/category/foamtiles-main-category_1.webp"><img class="menucatimg rounded w-full mb-2" src="https://www.flooringinc.com//media/catalog/category/foamtiles-main-category_1.jpg" alt="Foam&#x20;Floor&#x20;Tiles" title="Foam&#x20;Floor&#x20;Tiles" /></picture>   
3260                                                                                                                                                                                        
3261                                                            <span class="block text-sm font-medium no-underline text-darkblack pr-4">Foam Floor Tiles</span></a>
3262                                                        </li>
3263                                                           
3264                                                                                                                                                                    <li class="level-2 w-4/12 pr-6 pb-6">
3265                                                            <a href="https://www.flooringinc.com/shop/foam-flooring/kids-baby-play-mats.html"
3266                                                            title="Kids&#x20;&amp;&#x20;Baby&#x20;Play&#x20;Mats"
3267                                                            class="level-2 block">
3268                                                                                                                                <picture class="menucatimg rounded w-full mb-2"><source type="image/webp" srcset="https://www.flooringinc.com//media/catalog/category/Kids_Baby_Play_Mats.webp"><img class="menucatimg rounded w-full mb-2" src="https://www.flooringinc.com//media/catalog/category/Kids_Baby_Play_Mats.jpg" alt="Kids&#x20;&amp;&#x20;Baby&#x20;Play&#x20;Mats" title="Kids&#x20;&amp;&#x20;Baby&#x20;Play&#x20;Mats" /></picture>   
3269                                                                                                                                                                                        
3270                                                            <span class="block text-sm font-medium no-underline text-darkblack pr-4">Kids &amp; Baby Play Mats</span></a>
3271                                                        </li>
3272                                                           
3273                                                                                                                                                                    <li class="level-2 w-4/12 pr-6 pb-6">
3274                                                            <a href="https://www.flooringinc.com/shop/foam-flooring/gymnastic-folding-mats.html"
3275                                                            title="Gymnastics&#x20;Mats&#x20;"
3276                                                            class="level-2 block">
3277                                                                                                                                <picture class="menucatimg rounded w-full mb-2"><source type="image/webp" srcset="https://www.flooringinc.com//media/catalog/category/Gymnastics_Mat_Category_1.webp"><img class="menucatimg rounded w-full mb-2" src="https://www.flooringinc.com//media/catalog/category/Gymnastics_Mat_Category_1.jpg" alt="Gymnastics&#x20;Mats&#x20;" title="Gymnastics&#x20;Mats&#x20;" /></picture>   
3278                                                                                                                                                                                        
3279                                                            <span class="block text-sm font-medium no-underline text-darkblack pr-4">Gymnastics Mats </span></a>
3280                                                        </li>
3281                                                           
3282                                                                                                                                                                    <li class="level-2 w-4/12 pr-6 pb-6">
3283                                                            <a href="https://www.flooringinc.com/shop/foam-flooring/wrestling-mats.html"
3284                                                            title="Wrestling&#x20;Mats"
3285                                                            class="level-2 block">
3286                                                                                                                                <picture class="menucatimg rounded w-full mb-2"><source type="image/webp" srcset="https://www.flooringinc.com//media/catalog/category/Wrestling_Mats_Category_2.webp"><img class="menucatimg rounded w-full mb-2" src="https://www.flooringinc.com//media/catalog/category/Wrestling_Mats_Category_2.jpg" alt="Wrestling&#x20;Mats" title="Wrestling&#x20;Mats" /></picture>   
3287                                                                                                                                                                                        
3288                                                            <span class="block text-sm font-medium no-underline text-darkblack pr-4">Wrestling Mats</span></a>
3289                                                        </li>
3290                                                           
3291                                                                                                                                                                    <li class="level-2 w-4/12 pr-6 pb-6">
3292                                                            <a href="https://www.flooringinc.com/shop/foam-flooring/martial-arts-mats.html"
3293                                                            title="Martial&#x20;Arts&#x20;Mats&#x20;"
3294                                                            class="level-2 block">
3295                                                                                                                                <picture class="menucatimg rounded w-full mb-2"><source type="image/webp" srcset="https://www.flooringinc.com//media/catalog/category/Martial_Arts_Mats_Category_1_.webp"><img class="menucatimg rounded w-full mb-2" src="https://www.flooringinc.com//media/catalog/category/Martial_Arts_Mats_Category_1_.jpg" alt="Martial&#x20;Arts&#x20;Mats&#x20;" title="Martial&#x20;Arts&#x20;Mats&#x20;" /></picture>   
3296                                                                                                                                                                                        
3297                                                            <span class="block text-sm font-medium no-underline text-darkblack pr-4">Martial Arts Mats </span></a>
3298                                                        </li>
3299                                                           
3300                                                                                                                                                                    <li class="level-2 w-4/12 pr-6 pb-6">
3301                                                            <a href="https://www.flooringinc.com/shop/foam-flooring/trade-show-flooring.html"
3302                                                            title="Trade&#x20;Show&#x20;Flooring"
3303                                                            class="level-2 block">
3304                                                                                                                                <picture class="menucatimg rounded w-full mb-2"><source type="image/webp" srcset="https://www.flooringinc.com//media/catalog/category/Trade_Show_Flooring.webp"><img class="menucatimg rounded w-full mb-2" src="https://www.flooringinc.com//media/catalog/category/Trade_Show_Flooring.jpg" alt="Trade&#x20;Show&#x20;Flooring" title="Trade&#x20;Show&#x20;Flooring" /></picture>   
3305                                                                                                                                                                                        
3306                                                            <span class="block text-sm font-medium no-underline text-darkblack pr-4">Trade Show Flooring</span></a>
3307                                                        </li>
3308                                                           
3309                                                        
3310                                                                                                <a class="view-all mt-2 underline-imp text-size12 font-medium text-darkblack absolute" style="top:410px;" href="https://www.flooringinc.com/shop/foam-flooring.html" >View All</a>
3311                                             
3312
3313                                                </ul>
3314                                            </li>
3315                                            
3316                                            
3317                                                                                                                            
3318                                            <li :class="{ 'active': show }" class="level-1 level1 "  x-data="{ show: false }"  
3319                                                                                        x-on:click="show = true; removeDisplayFirst()" @click.away="show = false"
3320                                                                                        >
3321                                                <a 
3322                                                title="Outdoor&#x20;Flooring"
3323                                                class="level-1 w-1/4 py-1/5 px-6 text-size13 block text-sm rounded text-darkblack relative"
3324                                                
3325                                                    >
3326                                                    Outdoor Flooring
3327                                                                                                            <span class="inline items-center rotate-180 absolute">
3328                                                            <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" class="w-5 h-5 inline" width="25" height="25" role="img">
3329  <path fill-rule="evenodd" d="M5.293 7.293a1 1 0 011.414 0L10 10.586l3.293-3.293a1 1 0 111.414 1.414l-4 4a1 1 0 01-1.414 0l-4-4a1 1 0 010-1.414z" clip-rule="evenodd"/>
3330<title>chevron-down</title></svg>
3331                                                        </span>
3332                                                                                                    </a>
3333                                                 
3334                                <div class="2xl:block w-1/4 mega-menu-rightBlock absolute top-0 right-0" x-show="show">
3335                                    <style>#html-body [data-pb-style=ALQ4JPY]{justify-content:flex-start;display:flex;flex-direction:column;background-position:left top;background-size:cover;background-repeat:no-repeat;background-attachment:scroll}#html-body [data-pb-style=TAKV2W6]{border-style:none}#html-body [data-pb-style=HFLT9TD],#html-body [data-pb-style=Q8I554G]{max-width:100%;height:auto}#html-body [data-pb-style=FM097SK]{background-position:left top;background-size:cover;background-repeat:no-repeat;background-attachment:scroll;align-self:stretch}#html-body [data-pb-style=P04UNTQ]{display:flex;width:100%}#html-body [data-pb-style=DWKW6WK]{justify-content:flex-start;display:flex;flex-direction:column;background-position:left top;background-size:cover;background-repeat:no-repeat;background-attachment:scroll;width:100%;align-self:stretch}#html-body [data-pb-style=UW72WSA]{text-align:left}#html-body [data-pb-style=GY38RBS]{display:inline-block}#html-body [data-pb-style=W6R7Y9S]{text-align:center}@media only screen and (max-width: 768px) { #html-body [data-pb-style=TAKV2W6]{border-style:none} }</style><div class="mega_menu_banner" data-content-type="row" data-appearance="full-bleed" data-enable-parallax="0" data-parallax-speed="0.5" data-background-images="{}" data-background-type="image" data-video-loop="true" data-video-play-only-visible="true" data-video-lazy-load="true" data-video-fallback-src="" data-element="main" data-pb-style="ALQ4JPY"><figure data-content-type="image" data-appearance="full-width" data-element="main" data-pb-style="TAKV2W6"><a href="/helios-deck-tiles-13850.html" target="" data-link-type="default" title="" data-element="link"><picture class="pagebuilder-mobile-hidden"><source type="image/webp" srcset="https://www.flooringinc.com/media/wysiwyg/outdoor-flooring-image.
3335webp"><img class="pagebuilder-mobile-hidden" src="https://www.flooringinc.com/media/wysiwyg/outdoor-flooring-image.jpg" alt="" title="" width="" height="" loading="lazy" data-element="desktop_image" data-pb-style="Q8I554G" loading="lazy"></picture><picture class="pagebuilder-mobile-only"><source type="image/webp" srcset="https://www.flooringinc.com/media/wysiwyg/outdoor-flooring-image.webp"><img class="pagebuilder-mobile-only" src="https://www.flooringinc.com/media/wysiwyg/outdoor-flooring-image.jpg" alt="" title="" width="" height="" loading="lazy" data-element="mobile_image" data-pb-style="HFLT9TD" loading="lazy"></picture></a></figure><div class="pagebuilder-column-group" data-background-images="{}" data-content-type="column-group" data-appearance="default" data-grid-size="12" data-element="main" data-pb-style="FM097SK"><div class="pagebuilder-column-line" data-content-type="column-line" data-element="main" data-pb-style="P04UNTQ"><div class="pagebuilder-column" data-content-type="column" data-appearance="full-height" data-background-images="{}" data-element="main" data-pb-style="DWKW6WK"><div class="text-size14 font-medium text-custom-black text-left pt-5" data-content-type="text" data-appearance="default" data-element="main"><p><picture><source type="image/webp" srcset="https://www.flooringinc.com/media/wysiwyg/Helios_Color.webp"><img src="https://www.flooringinc.com/media/wysiwyg/Helios_Color.png" alt="" width="100" height="33"></picture></p></div><div class="text-size18 text-custom-black font-bold text-left pt-1 pb-5" data-content-type="text" data-appearance="default" data-element="main"><h2><span style="font-size: 18px;">Helios Deck Tiles</span></h2></div><div data-content-type="buttons" data-appearance="inline" data-same-width="false" data-element="main" data-pb-style="UW72WSA" class="free__Shipping__btn"><div data-content-type="button-item" data-appearance="default" data-element="main" data-pb-style="GY38RBS"><a class="pagebuilder-button-primary" href="/helios-deck-tiles-13850.html" target="" data-link-type="default" data-element="link" data-pb-style="W6R7Y9S"><span data-element="link_text">SHOP NOW</span></a></div></div></div></div></div></div>                                </div>
3336                                
3337                                                <ul class="z-10 w-1/2 absolute top-0 level2 flex flex-wrap pt-3 megamenu-extrablock" x-show="show">
3338                                                    <span class="block w-full text-size28 font-medium no-underline text-darkblack pb-2">Outdoor Flooring</span>
3339
3340                                                                                                            <li class="level-2 w-4/12 pr-6 pb-6">
3341                                                            <a href="https://www.flooringinc.com/shop/outdoor-flooring/playground-flooring.html"
3342                                                            title="Playground&#x20;Flooring"
3343                                                            class="level-2 block">
3344                                                                                                                                <picture class="menucatimg rounded w-full mb-2"><source type="image/webp" srcset="https://www.flooringinc.com//media/catalog/category/Playground_Flooring_Category_1.webp"><img class="menucatimg rounded w-full mb-2" src="https://www.flooringinc.com//media/catalog/category/Playground_Flooring_Category_1.jpg" alt="Playground&#x20;Flooring" title="Playground&#x20;Flooring" /></picture>   
3345                                                                                                                                                                                        
3346                                                            <span class="block text-sm font-medium no-underline text-darkblack pr-4">Playground Flooring</span></a>
3347                                                        </li>
3348                                                           
3349                                                                                                                                                                    <li class="level-2 w-4/12 pr-6 pb-6">
3350                                                            <a href="https://www.flooringinc.com/shop/outdoor-flooring/sport-and-court-flooring.html"
3351                                                            title="Sports&#x20;Flooring&#x20;&amp;&#x20;Court&#x20;Tiles"
3352                                                            class="level-2 block">
3353                                                                                                                                <picture class="menucatimg rounded w-full mb-2"><source type="image/webp" srcset="https://www.flooringinc.com//media/catalog/category/court-main-category_1.webp"><img class="menucatimg rounded w-full mb-2" src="https://www.flooringinc.com//media/catalog/category/court-main-category_1.jpg" alt="Sports&#x20;Flooring&#x20;&amp;&#x20;Court&#x20;Tiles" title="Sports&#x20;Flooring&#x20;&amp;&#x20;Court&#x20;Tiles" /></picture>   
3354                                                                                                                                                                                        
3355                                                            <span class="block text-sm font-medium no-underline text-darkblack pr-4">Sports Flooring &amp; Court Tiles</span></a>
3356                                                        </li>
3357                                                           
3358                                                                                                                                                                    <li class="level-2 w-4/12 pr-6 pb-6">
3359                                                            <a href="https://www.flooringinc.com/shop/outdoor-flooring/artificial-grass.html"
3360                                                            title="Turf&#x20;&amp;&#x20;Artificial&#x20;Grass"
3361                                                            class="level-2 block">
3362                                                                                                                                <picture class="menucatimg rounded w-full mb-2"><source type="image/webp" srcset="https://www.flooringinc.com//media/catalog/category/fi_outdoor_flooring_artifical_grass_1.webp"><img class="menucatimg rounded w-full mb-2" src="https://www.flooringinc.com//media/catalog/category/fi_outdoor_flooring_artifical_grass_1.jpg" alt="Turf&#x20;&amp;&#x20;Artificial&#x20;Grass" title="Turf&#x20;&amp;&#x20;Artificial&#x20;Grass" /></picture>   
3363                                                                                                                                                                                        
3364                                                            <span class="block text-sm font-medium no-underline text-darkblack pr-4">Turf &amp; Artificial Grass</span></a>
3365                                                        </li>
3366                                                           
3367                                                                                                                                                                    <li class="level-2 w-4/12 pr-6 pb-6">
3368                                                            <a href="https://www.flooringinc.com/shop/outdoor-flooring/composite-decking.html"
3369                                                            title="Composite&#x20;Decking"
3370                                                            class="level-2 block">
3371                                                                                                                                <picture class="menucatimg rounded w-full mb-2"><source type="image/webp" srcset="https://www.flooringinc.com//media/catalog/category/Composite_Decking_Category.webp"><img class="menucatimg rounded w-full mb-2" src="https://www.flooringinc.com//media/catalog/category/Composite_Decking_Category.jpg" alt="Composite&#x20;Decking" title="Composite&#x20;Decking" /></picture>   
3372                                                                                                                                                                                        
3373                                                            <span class="block text-sm font-medium no-underline text-darkblack pr-4">Composite Decking</span></a>
3374                                                        </li>
3375                                                           
3376                                                                                                                                                                    <li class="level-2 w-4/12 pr-6 pb-6">
3377                                                            <a href="https://www.flooringinc.com/shop/outdoor-flooring/rooftop-deck-flooring.html"
3378                                                            title="Rooftop&#x20;Deck&#x20;Flooring"
3379                                                            class="level-2 block">
3380                                                                                                                                <picture class="menucatimg rounded w-full mb-2"><source type="image/webp" srcset="https://www.flooringinc.com//media/catalog/category/Rooftop_Deck_Flooring_Category_1.webp"><img class="menucatimg rounded w-full mb-2" src="https://www.flooringinc.com//media/catalog/category/Rooftop_Deck_Flooring_Category_1.jpg" alt="Rooftop&#x20;Deck&#x20;Flooring" title="Rooftop&#x20;Deck&#x20;Flooring" /></picture>   
3381                                                                                                                                                                                        
3382                                                            <span class="block text-sm font-medium no-underline text-darkblack pr-4">Rooftop Deck Flooring</span></a>
3383                                                        </li>
3384                                                           
3385                                                                                                                                                                    <li class="level-2 w-4/12 pr-6 pb-6">
3386                                                            <a href="https://www.flooringinc.com/shop/outdoor-flooring/drainage-tiles.html"
3387                                                            title="Drainage&#x20;Tile&#x20;&amp;&#x20;Mats"
3388                                                            class="level-2 block">
3389                                                                                                                                <picture class="menucatimg rounded w-full mb-2"><source type="image/webp" srcset="https://www.flooringinc.com//media/catalog/category/Drainage_Tiles_Category_01.webp"><img class="menucatimg rounded w-full mb-2" src="https://www.flooringinc.com//media/catalog/category/Drainage_Tiles_Category_01.jpg" alt="Drainage&#x20;Tile&#x20;&amp;&#x20;Mats" title="Drainage&#x20;Tile&#x20;&amp;&#x20;Mats" /></picture>   
3390                                                                                                                                                                                        
3391                                                            <span class="block text-sm font-medium no-underline text-darkblack pr-4">Drainage Tile &amp; Mats</span></a>
3392                                                        </li>
3393                                                           
3394                                                        
3395                                                                                                <a class="view-all mt-2 underline-imp text-size12 font-medium text-darkblack absolute" style="top:410px;" href="https://www.flooringinc.com/shop/outdoor-flooring.html" >View All</a>
3396                                             
3397
3398                                                </ul>
3399                                            </li>
3400                                            
3401                                            
3402                                                                                                                            
3403                                            <li :class="{ 'active': show }" class="level-1 level1 "  x-data="{ show: false }"  
3404                                                                                        x-on:click="show = true; removeDisplayFirst()" @click.away="show = false"
3405                                                                                        >
3406                                                <a 
3407                                                title="Turf&#x20;&amp;&#x20;Artificial&#x20;Grass"
3408                                                class="level-1 w-1/4 py-1/5 px-6 text-size13 block text-sm rounded text-darkblack relative"
3409                                                
3410                                                    >
3411                                                    Turf &amp; Artificial Grass
3412                                                                                                            <span class="inline items-center rotate-180 absolute">
3413                                                            <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" class="w-5 h-5 inline" width="25" height="25" role="img">
3414  <path fill-rule="evenodd" d="M5.293 7.293a1 1 0 011.414 0L10 10.586l3.293-3.293a1 1 0 111.414 1.414l-4 4a1 1 0 01-1.414 0l-4-4a1 1 0 010-1.414z" clip-rule="evenodd"/>
3415<title>chevron-down</title></svg>
3416                                                        </span>
3417                                                                                                    </a>
3418                                                
3419                                                <ul class="z-10 w-1/2 absolute top-0 level2 flex flex-wrap pt-3 megamenu-extrablock" x-show="show">
3420                                                    <span class="block w-full text-size28 font-medium no-underline text-darkblack pb-2">Turf &amp; Artificial Grass</span>
3421
3422                                                                                                            <li class="level-2 w-4/12 pr-6 pb-6">
3423                                                            <a href="https://www.flooringinc.com/shop/artificial-grass/sport-field-turf.html"
3424                                                            title="Sport&#x20;&amp;&#x20;Gym&#x20;Turf"
3425                                                            class="level-2 block">
3426                                                                                                                                <picture class="menucatimg rounded w-full mb-2"><source type="image/webp" srcset="https://www.flooringinc.com//media/catalog/category/10079_0_1_3_.webp"><img class="menucatimg rounded w-full mb-2" src="https://www.flooringinc.com//media/catalog/category/10079_0_1_3_.jpg" alt="Sport&#x20;&amp;&#x20;Gym&#x20;Turf" title="Sport&#x20;&amp;&#x20;Gym&#x20;Turf" /></picture>   
3427                                                                                                                                                                                        
3428                                                            <span class="block text-sm font-medium no-underline text-darkblack pr-4">Sport &amp; Gym Turf</span></a>
3429                                                        </li>
3430                                                           
3431                                                                                                                                                                    <li class="level-2 w-4/12 pr-6 pb-6">
3432                                                            <a href="https://www.flooringinc.com/shop/artificial-grass/landscape-turf.html"
3433                                                            title="Landscape&#x20;Turf"
3434                                                            class="level-2 block">
3435                                                                                                                                <picture class="menucatimg rounded w-full mb-2"><source type="image/webp" srcset="https://www.flooringinc.com//media/catalog/category/fi_artifical_grass_landscape_turf_2.webp"><img class="menucatimg rounded w-full mb-2" src="https://www.flooringinc.com//media/catalog/category/fi_artifical_grass_landscape_turf_2.jpg" alt="Landscape&#x20;Turf" title="Landscape&#x20;Turf" /></picture>   
3436                                                                                                                                                                                        
3437                                                            <span class="block text-sm font-medium no-underline text-darkblack pr-4">Landscape Turf</span></a>
3438                                                        </li>
3439                                                           
3440                                                                                                                                                                    <li class="level-2 w-4/12 pr-6 pb-6">
3441                                                            <a href="https://www.flooringinc.com/shop/artificial-grass/pet-turf.html"
3442                                                            title="Pet&#x20;Turf"
3443                                                            class="level-2 block">
3444                                                                                                                                <picture class="menucatimg rounded w-full mb-2"><source type="image/webp" srcset="https://www.flooringinc.com//media/catalog/category/fi_artifical_grass_pet_turf_3.webp"><img class="menucatimg rounded w-full mb-2" src="https://www.flooringinc.com//media/catalog/category/fi_artifical_grass_pet_turf_3.jpg" alt="Pet&#x20;Turf" title="Pet&#x20;Turf" /></picture>   
3445                                                                                                                                                                                        
3446                                                            <span class="block text-sm font-medium no-underline text-darkblack pr-4">Pet Turf</span></a>
3447                                                        </li>
3448                                                           
3449                                                                                                                                                                    <li class="level-2 w-4/12 pr-6 pb-6">
3450                                                            <a href="https://www.flooringinc.com/shop/artificial-grass/putting-greens.html"
3451                                                            title="Golf&#x20;&amp;&#x20;Putting&#x20;Green&#x20;Turf"
3452                                                            class="level-2 block">
3453                                                                                                                                <picture class="menucatimg rounded w-full mb-2"><source type="image/webp" srcset="https://www.flooringinc.com//media/catalog/category/fi_artifical_grass_putting_greens_1.webp"><img class="menucatimg rounded w-full mb-2" src="https://www.flooringinc.com//media/catalog/category/fi_artifical_grass_putting_greens_1.jpg" alt="Golf&#x20;&amp;&#x20;Putting&#x20;Green&#x20;Turf" title="Golf&#x20;&amp;&#x20;Putting&#x20;Green&#x20;Turf" /></picture>   
3454                                                                                                                                                                                        
3455                                                            <span class="block text-sm font-medium no-underline text-darkblack pr-4">Golf &amp; Putting Green Turf</span></a>
3456                                                        </li>
3457                                                           
3458                                                                                                                                                                    <li class="level-2 w-4/12 pr-6 pb-6">
3459                                                            <a href="https://www.flooringinc.com/shop/artificial-grass/turf-accessories.html"
3460                                                            title="Turf&#x20;Accessories"
3461                                                            class="level-2 block">
3462                                                                                                                                <picture class="menucatimg rounded w-full mb-2"><source type="image/webp" srcset="https://www.flooringinc.com//media/catalog/category/Untitled_design_1_.webp"><img class="menucatimg rounded w-full mb-2" src="https://www.flooringinc.com//media/catalog/category/Untitled_design_1_.png" alt="Turf&#x20;Accessories" title="Turf&#x20;Accessories" /></picture>   
3463                                                                                                                                                                                        
3464                                                            <span class="block text-sm font-medium no-underline text-darkblack pr-4">Turf Accessories</span></a>
3465                                                        </li>
3466                                                           
3467                                                                                                                                                                    <li class="level-2 w-4/12 pr-6 pb-6">
3468                                                            <a href="https://www.flooringinc.com/shop/artificial-grass/all-artificial-grass.html"
3469                                                            title="All&#x20;Turf&#x20;&amp;&#x20;Artificial&#x20;Grass"
3470                                                            class="level-2 block">
3471                                                                                                                                <picture class="menucatimg rounded w-full mb-2"><source type="image/webp" srcset="https://www.flooringinc.com//media/catalog/category/All_Artificial_Grass2_1.webp"><img class="menucatimg rounded w-full mb-2" src="https://www.flooringinc.com//media/catalog/category/All_Artificial_Grass2_1.jpg" alt="All&#x20;Turf&#x20;&amp;&#x20;Artificial&#x20;Grass" title="All&#x20;Turf&#x20;&amp;&#x20;Artificial&#x20;Grass" /></picture>   
3472                                                                                                                                                                                        
3473                                                            <span class="block text-sm font-medium no-underline text-darkblack pr-4">All Turf &amp; Artificial Grass</span></a>
3474                                                        </li>
3475                                                           
3476                                                        
3477                                                                                                <a class="view-all mt-2 underline-imp text-size12 font-medium text-darkblack absolute" style="top:410px;" href="https://www.flooringinc.com/shop/artificial-grass.html" >View All</a>
3478                                             
3479
3480                                                </ul>
3481                                            </li>
3482                                            
3483                                            
3484                                                                                                                            
3485                                            <li :class="{ 'active': show }" class="level-1 level1 "  x-data="{ show: false }"  
3486                                                                                        x-on:click="show = true; removeDisplayFirst()" @click.away="show = false"
3487                                                                                        >
3488                                                <a 
3489                                                title="Carpet&#x20;Tiles&#x20;&amp;&#x20;Rolls"
3490                                                class="level-1 w-1/4 py-1/5 px-6 text-size13 block text-sm rounded text-darkblack relative"
3491                                                
3492                                                    >
3493                                                    Carpet Tiles &amp; Rolls
3494                                                                                                            <span class="inline items-center rotate-180 absolute">
3495                                                            <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" class="w-5 h-5 inline" width="25" height="25" role="img">
3496  <path fill-rule="evenodd" d="M5.293 7.293a1 1 0 011.414 0L10 10.586l3.293-3.293a1 1 0 111.414 1.414l-4 4a1 1 0 01-1.414 0l-4-4a1 1 0 010-1.414z" clip-rule="evenodd"/>
3497<title>chevron-down</title></svg>
3498                                                        </span>
3499                                                                                                    </a>
3500                                                
3501                                                <ul class="z-10 w-1/2 absolute top-0 level2 flex flex-wrap pt-3 megamenu-extrablock" x-show="show">
3502                                                    <span class="block w-full text-size28 font-medium no-underline text-darkblack pb-2">Carpet Tiles &amp; Rolls</span>
3503
3504                                                                                                            <li class="level-2 w-4/12 pr-6 pb-6">
3505                                                            <a href="https://www.flooringinc.com/shop/carpet/carpet-tiles.html"
3506                                                            title="Carpet&#x20;Tiles"
3507                                                            class="level-2 block">
3508                                                                                                                                <picture class="menucatimg rounded w-full mb-2"><source type="image/webp" srcset="https://www.flooringinc.com//media/catalog/category/Carpet_Tiles_Category_01.webp"><img class="menucatimg rounded w-full mb-2" src="https://www.flooringinc.com//media/catalog/category/Carpet_Tiles_Category_01.jpg" alt="Carpet&#x20;Tiles" title="Carpet&#x20;Tiles" /></picture>   
3509                                                                                                                                                                                        
3510                                                            <span class="block text-sm font-medium no-underline text-darkblack pr-4">Carpet Tiles</span></a>
3511                                                        </li>
3512                                                           
3513                                                                                                                                                                    <li class="level-2 w-4/12 pr-6 pb-6">
3514                                                            <a href="https://www.flooringinc.com/shop/carpet/carpet-rolls.html"
3515                                                            title="Carpet&#x20;Rolls"
3516                                                            class="level-2 block">
3517                                                                                                                                <picture class="menucatimg rounded w-full mb-2"><source type="image/webp" srcset="https://www.flooringinc.com//media/catalog/category/fi_carpet_carpet_rolls_3.webp"><img class="menucatimg rounded w-full mb-2" src="https://www.flooringinc.com//media/catalog/category/fi_carpet_carpet_rolls_3.jpg" alt="Carpet&#x20;Rolls" title="Carpet&#x20;Rolls" /></picture>   
3518                                                                                                                                                                                        
3519                                                            <span class="block text-sm font-medium no-underline text-darkblack pr-4">Carpet Rolls</span></a>
3520                                                        </li>
3521                                                           
3522                                                                                                                                                                    <li class="level-2 w-4/12 pr-6 pb-6">
3523                                                            <a href="https://www.flooringinc.com/shop/carpet/home-theater-carpet.html"
3524                                                            title="Home&#x20;Theater&#x20;Carpet"
3525                                                            class="level-2 block">
3526                                                                                                                                <picture class="menucatimg rounded w-full mb-2"><source type="image/webp" srcset="https://www.flooringinc.com//media/catalog/category/Home_Theater_Carpet_Category.webp"><img class="menucatimg rounded w-full mb-2" src="https://www.flooringinc.com//media/catalog/category/Home_Theater_Carpet_Category.jpg" alt="Home&#x20;Theater&#x20;Carpet" title="Home&#x20;Theater&#x20;Carpet" /></picture>   
3527                                                                                                                                                                                        
3528                                                            <span class="block text-sm font-medium no-underline text-darkblack pr-4">Home Theater Carpet</span></a>
3529                                                        </li>
3530                                                           
3531                                                                                                                                                                    <li class="level-2 w-4/12 pr-6 pb-6">
3532                                                            <a href="https://www.flooringinc.com/shop/carpet/peel-stick-carpet.html"
3533                                                            title="Peel&#x20;and&#x20;Stick&#x20;Carpet&#x20;Tiles"
3534                                                            class="level-2 block">
3535                                                                                                                                <picture class="menucatimg rounded w-full mb-2"><source type="image/webp" srcset="https://www.flooringinc.com//media/catalog/category/fi_carpet_peel_stick_carpet_3.webp"><img class="menucatimg rounded w-full mb-2" src="https://www.flooringinc.com//media/catalog/category/fi_carpet_peel_stick_carpet_3.jpg" alt="Peel&#x20;and&#x20;Stick&#x20;Carpet&#x20;Tiles" title="Peel&#x20;and&#x20;Stick&#x20;Carpet&#x20;Tiles" /></picture>   
3536                                                                                                                                                                                        
3537                                                            <span class="block text-sm font-medium no-underline text-darkblack pr-4">Peel and Stick Carpet Tiles</span></a>
3538                                                        </li>
3539                                                           
3540                                                                                                                                                                    <li class="level-2 w-4/12 pr-6 pb-6">
3541                                                            <a href="https://www.flooringinc.com/shop/carpet/outdoor-carpet.html"
3542                                                            title="Outdoor&#x20;Carpet"
3543                                                            class="level-2 block">
3544                                                                                                                                <picture class="menucatimg rounded w-full mb-2"><source type="image/webp" srcset="https://www.flooringinc.com//media/catalog/category/fi_carpet_outdoor_carpet_3.webp"><img class="menucatimg rounded w-full mb-2" src="https://www.flooringinc.com//media/catalog/category/fi_carpet_outdoor_carpet_3.jpg" alt="Outdoor&#x20;Carpet" title="Outdoor&#x20;Carpet" /></picture>   
3545                                                                                                                                                                                        
3546                                                            <span class="block text-sm font-medium no-underline text-darkblack pr-4">Outdoor Carpet</span></a>
3547                                                        </li>
3548                                                           
3549                                                                                                                                                                    <li class="level-2 w-4/12 pr-6 pb-6">
3550                                                            <a href="https://www.flooringinc.com/shop/carpet/waterproof-carpet.html"
3551                                                            title="Waterproof&#x20;Carpet"
3552                                                            class="level-2 block">
3553                                                                                                                                <picture class="menucatimg rounded w-full mb-2"><source type="image/webp" srcset="https://www.flooringinc.com//media/catalog/category/fi_carpet_waterproof_carpet_3.webp"><img class="menucatimg rounded w-full mb-2" src="https://www.flooringinc.com//media/catalog/category/fi_carpet_waterproof_carpet_3.jpg" alt="Waterproof&#x20;Carpet" title="Waterproof&#x20;Carpet" /></picture>   
3554                                                                                                                                                                                        
3555                                                            <span class="block text-sm font-medium no-underline text-darkblack pr-4">Waterproof Carpet</span></a>
3556                                                        </li>
3557                                                           
3558                                                        
3559                                                                                                <a class="view-all mt-2 underline-imp text-size12 font-medium text-darkblack absolute" style="top:410px;" href="https://www.flooringinc.com/shop/carpet.html" >View All</a>
3560                                             
3561
3562                                                </ul>
3563                                            </li>
3564                                            
3565                                            
3566                                                                                                                            
3567                                            <li :class="{ 'active': show }" class="level-1 level1 "  x-data="{ show: false }"  
3568                                                                                        x-on:click="show = true; removeDisplayFirst()" @click.away="show = false"
3569                                                                                        >
3570                                                <a 
3571                                                title="Vinyl&#x20;Flooring"
3572                                                class="level-1 w-1/4 py-1/5 px-6 text-size13 block text-sm rounded text-darkblack relative"
3573                                                
3574                                                    >
3575                                                    Vinyl Flooring
3576                                                                                                            <sp
3576an class="inline items-center rotate-180 absolute">
3577                                                            <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" class="w-5 h-5 inline" width="25" height="25" role="img">
3578  <path fill-rule="evenodd" d="M5.293 7.293a1 1 0 011.414 0L10 10.586l3.293-3.293a1 1 0 111.414 1.414l-4 4a1 1 0 01-1.414 0l-4-4a1 1 0 010-1.414z" clip-rule="evenodd"/>
3579<title>chevron-down</title></svg>
3580                                                        </span>
3581                                                                                                    </a>
3582                                                 
3583                                <div class="2xl:block w-1/4 mega-menu-rightBlock absolute top-0 right-0" x-show="show">
3584                                    <style>#html-body [data-pb-style=EM115TO]{justify-content:flex-start;display:flex;flex-direction:column;background-position:left top;background-size:cover;background-repeat:no-repeat;background-attachment:scroll}#html-body [data-pb-style=IKTB4TW]{border-style:none}#html-body [data-pb-style=GIF1L08],#html-body [data-pb-style=XQRKPTA]{max-width:100%;height:auto}#html-body [data-pb-style=L8H5BBD]{background-position:left top;background-size:cover;background-repeat:no-repeat;background-attachment:scroll;align-self:stretch}#html-body [data-pb-style=R47C5CN]{display:flex;width:100%}#html-body [data-pb-style=KQ2WCHQ]{justify-content:flex-start;display:flex;flex-direction:column;background-position:left top;background-size:cover;background-repeat:no-repeat;background-attachment:scroll;width:100%;align-self:stretch}#html-body [data-pb-style=DKAF2SH]{text-align:left}#html-body [data-pb-style=PYFOHXW]{display:inline-block}#html-body [data-pb-style=PNB90JW]{text-align:center}@media only screen and (max-width: 768px) { #html-body [data-pb-style=IKTB4TW]{border-style:none} }</style><div class="mega_menu_banner" data-content-type="row" data-appearance="full-bleed" data-enable-parallax="0" data-parallax-speed="0.5" data-background-images="{}" data-background-type="image" data-video-loop="true" data-video-play-only-visible="true" data-video-lazy-load="true" data-video-fallback-src="" data-element="main" data-pb-style="EM115TO"><figure data-content-type="image" data-appearance="full-width" data-element="main" data-pb-style="IKTB4TW"><a href="/tritoncore-pro-7-rigid-core-vinyl-planks-12596.html" target="" data-link-type="default" title="" data-element="link"><picture class="pagebuilder-mobile-hidden"><source type="image/webp" srcset="https://www.flooringinc.com/media/wysiwyg/vinyl-ad-5.webp"><img class="pagebuilder-mobile-hidden" src="https://www.flooringinc.com/media/wysiwyg/vinyl-ad-5.jpg" alt="" title="" width="" height="" loading="lazy" data-element="desktop_image" data-pb-style="XQRKPTA" loading="lazy"></picture><picture class="pagebuilder-mobile-only"><source type="image/webp" srcset="https://www.flooringinc.com/media/wysiwyg/vinyl-ad-5.webp"><img class="pagebuilder-mobile-only" src="https://www.flooringinc.com/media/wysiwyg/vinyl-ad-5.jpg" alt="" title="" width="" height="" loading="lazy" data-element="mobile_image" data-pb-style="GIF1L08" loading="lazy"></picture></a></figure><div class="pagebuilder-column-group" data-background-images="{}" data-content-type="column-group" data-appearance="default" data-grid-size="12" data-element="main" data-pb-style="L8H5BBD"><div class="pagebuilder-column-line" data-content-type="column-line" data-element="main" data-pb-style="R47C5CN"><div class="pagebuilder-column" data-content-type="column" data-appearance="full-height" data-background-images="{}" data-element="main" data-pb-style="KQ2WCHQ"><div class="text-size18 text-custom-black font-bold text-left pt-5 pb-1" data-content-type="text" data-appearance="default" data-element="main"><h2><span style="font-size: 18px;">TritonCore Pro 7"</span><br><span style="font-size: 18px;">Rigid Core Vinyl Planks</span></h2></div><div class="text-size14 font-medium text-custom-black text-left pt-1 pb-3" data-content-type="text" data-appearance="default" data-element="main"><p>Functional beauty for busy households.</p></div><div data-content-type="buttons" data-appearance="inline" data-same-width="false" data-element="main" data-pb-style="DKAF2SH" class="free__Shipping__btn"><div data-content-type="button-item" data-appearance="default" data-element="main" data-pb-style="PYFOHXW"><a class="pagebuilder-button-primary" href="/tritoncore-pro-7-rigid-core-vinyl-planks-12596.html" target="" data-link-type="default" data-element="link" data-pb-style="PNB90JW"><span data-element="link_text">SHOP NOW</span></a></div></div></div></div></div></div>                                </div>
3585                                
3586                                                <ul class="z-10 w-1/2 absolute top-0 level2 flex flex-wrap pt-3 megamenu-extrablock" x-show="show">
3587                                                    <span class="block w-full text-size28 font-medium no-underline text-darkblack pb-2">Vinyl Flooring</span>
3588
3589                                                                                                            <li class="level-2 w-4/12 pr-6 pb-6">
3590                                                            <a href="https://www.flooringinc.com/shop/vinyl/vinyl-sheet.html"
3591                                                            title="Vinyl&#x20;Sheet&#x20;Flooring"
3592                                                            class="level-2 block">
3593                                                                                                                                <picture class="menucatimg rounded w-full mb-2"><source type="image/webp" srcset="https://www.flooringinc.com//media/catalog/category/fi_vinyl_vinyl_sheet_3.webp"><img class="menucatimg rounded w-full mb-2" src="https://www.flooringinc.com//media/catalog/category/fi_vinyl_vinyl_sheet_3.jpg" alt="Vinyl&#x20;Sheet&#x20;Flooring" title="Vinyl&#x20;Sheet&#x20;Flooring" /></picture>   
3594                                                                                                                                                                                        
3595                                                            <span class="block text-sm font-medium no-underline text-darkblack pr-4">Vinyl Sheet Flooring</span></a>
3596                                                        </li>
3597                                                           
3598                                                                                                                                                                    <li class="level-2 w-4/12 pr-6 pb-6">
3599                                                            <a href="https://www.flooringinc.com/shop/vinyl/vinyl-tiles-planks.html"
3600                                                            title="Vinyl&#x20;Tiles&#x20;&amp;&#x20;Planks"
3601                                                            class="level-2 block">
3602                                                                                                                                <picture class="menucatimg rounded w-full mb-2"><source type="image/webp" srcset="https://www.flooringinc.com//media/catalog/category/main-category-vinyl.webp"><img class="menucatimg rounded w-full mb-2" src="https://www.flooringinc.com//media/catalog/category/main-category-vinyl.jpg" alt="Vinyl&#x20;Tiles&#x20;&amp;&#x20;Planks" title="Vinyl&#x20;Tiles&#x20;&amp;&#x20;Planks" /></picture>   
3603                                                                                                                                                                                        
3604                                                            <span class="block text-sm font-medium no-underline text-darkblack pr-4">Vinyl Tiles &amp; Planks</span></a>
3605                                                        </li>
3606                                                           
3607                                                                                                                                                                    <li class="level-2 w-4/12 pr-6 pb-6">
3608                                                            <a href="https://www.flooringinc.com/shop/vinyl/waterproof-vinyl.html"
3609                                                            title="Waterproof&#x20;Vinyl&#x20;Flooring"
3610                                                            class="level-2 block">
3611                                                                                                                                <picture class="menucatimg rounded w-full mb-2"><source type="image/webp" srcset="https://www.flooringinc.com//media/catalog/category/fi_vinyl_waterproof_vinyl_1.webp"><img class="menucatimg rounded w-full mb-2" src="https://www.flooringinc.com//media/catalog/category/fi_vinyl_waterproof_vinyl_1.jpg" alt="Waterproof&#x20;Vinyl&#x20;Flooring" title="Waterproof&#x20;Vinyl&#x20;Flooring" /></picture>   
3612                                                                                                                                                                                        
3613                                                            <span class="block text-sm font-medium no-underline text-darkblack pr-4">Waterproof Vinyl Flooring</span></a>
3614                                                        </li>
3615                                                           
3616                                                                                                                                                                    <li class="level-2 w-4/12 pr-6 pb-6">
3617                                                            <a href="https://www.flooringinc.com/shop/vinyl/rigid-core-vinyl.html"
3618                                                            title="Rigid&#x20;Core&#x20;Vinyl&#x20;Flooring"
3619                                                            class="level-2 block">
3620                                                                                                                                <picture class="menucatimg rounded w-full mb-2"><source type="image/webp" srcset="https://www.flooringinc.com//media/catalog/category/fi_vinyl_rigid_core_vinyl_1.webp"><img class="menucatimg rounded w-full mb-2" src="https://www.flooringinc.com//media/catalog/category/fi_vinyl_rigid_core_vinyl_1.jpg" alt="Rigid&#x20;Core&#x20;Vinyl&#x20;Flooring" title="Rigid&#x20;Core&#x20;Vinyl&#x20;Flooring" /></picture>   
3621                                                                                                                                                                                        
3622                                                            <span class="block text-sm font-medium no-underline text-darkblack pr-4">Rigid Core Vinyl Flooring</span></a>
3623                                                        </li>
3624                                                           
3625                                                                                                                                                                    <li class="level-2 w-4/12 pr-6 pb-6">
3626                                                            <a href="https://www.flooringinc.com/shop/vinyl/commercial-vinyl.html"
3627                                                            title="Commercial&#x20;Vinyl&#x20;Flooring"
3628                                                            class="level-2 block">
3629                                                                                                                                <picture class="menucatimg rounded w-full mb-2"><source type="image/webp" srcset="https://www.flooringinc.com//media/catalog/category/fi_vinyl_commercial_vinyl_1.webp"><img class="menucatimg rounded w-full mb-2" src="https://www.flooringinc.com//media/catalog/category/fi_vinyl_commercial_vinyl_1.jpg" alt="Commercial&#x20;Vinyl&#x20;Flooring" title="Commercial&#x20;Vinyl&#x20;Flooring" /></picture>   
3630                                                                                                                                                                                        
3631                                                            <span class="block text-sm font-medium no-underline text-darkblack pr-4">Commercial Vinyl Flooring</span></a>
3632                                                        </li>
3633                                                           
3634                                                                                                            
3635                                                                                                <a class="view-all mt-2 underline-imp text-size12 font-medium text-darkblack absolute" style="top:410px;" href="https://www.flooringinc.com/shop/vinyl.html" >View All</a>
3636                                             
3637
3638                                                </ul>
3639                                            </li>
3640                                            
3641                                            
3642                                                                                                                            
3643                                            <li :class="{ 'active': show }" class="level-1 level1 "  x-data="{ show: false }"  
3644                                                                                        x-on:click="show = true; removeDisplayFirst()" @click.away="show = false"
3645                                                                                        >
3646                                                <a 
3647                                                title="Wood&#x20;&amp;&#x20;Laminate&#x20;Flooring"
3648                                                class="level-1 w-1/4 py-1/5 px-6 text-size13 block text-sm rounded text-darkblack relative"
3649                                                
3650                                                    >
3651                                                    Wood &amp; Laminate Flooring
3652                                                                                                            <sp
3652an class="inline items-center rotate-180 absolute">
3653                                                            <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" class="w-5 h-5 inline" width="25" height="25" role="img">
3654  <path fill-rule="evenodd" d="M5.293 7.293a1 1 0 011.414 0L10 10.586l3.293-3.293a1 1 0 111.414 1.414l-4 4a1 1 0 01-1.414 0l-4-4a1 1 0 010-1.414z" clip-rule="evenodd"/>
3655<title>chevron-down</title></svg>
3656                                                        </span>
3657                                                                                                    </a>
3658                                                
3659                                                <ul class="z-10 w-1/2 absolute top-0 level2 flex flex-wrap pt-3 megamenu-extrablock" x-show="show">
3660                                                    <span class="block w-full text-size28 font-medium no-underline text-darkblack pb-2">Wood &amp; Laminate Flooring</span>
3661
3662                                                                                                            <li class="level-2 w-4/12 pr-6 pb-6">
3663                                                            <a href="https://www.flooringinc.com/shop/wood-laminate/waterproof-laminate.html"
3664                                                            title="Waterproof&#x20;Laminate&#x20;Flooring"
3665                                                            class="level-2 block">
3666                                                                                                                                <picture class="menucatimg rounded w-full mb-2"><source type="image/webp" srcset="https://www.flooringinc.com//media/catalog/category/fi_wood_laminate_waterproof_laminate_1.webp"><img class="menucatimg rounded w-full mb-2" src="https://www.flooringinc.com//media/catalog/category/fi_wood_laminate_waterproof_laminate_1.jpg" alt="Waterproof&#x20;Laminate&#x20;Flooring" title="Waterproof&#x20;Laminate&#x20;Flooring" /></picture>   
3667                                                                                                                                                                                        
3668                                                            <span class="block text-sm font-medium no-underline text-darkblack pr-4">Waterproof Laminate Flooring</span></a>
3669                                                        </li>
3670                                                           
3671                                                                                                                                                                    <li class="level-2 w-4/12 pr-6 pb-6">
3672                                                            <a href="https://www.flooringinc.com/shop/wood-laminate/laminate.html"
3673                                                            title="Laminate&#x20;Flooring"
3674                                                            class="level-2 block">
3675                                                                                                                                <picture class="menucatimg rounded w-full mb-2"><source type="image/webp" srcset="https://www.flooringinc.com//media/catalog/category/fi_wood_laminate_laminate_1.webp"><img class="menucatimg rounded w-full mb-2" src="https://www.flooringinc.com//media/catalog/category/fi_wood_laminate_laminate_1.jpg" alt="Laminate&#x20;Flooring" title="Laminate&#x20;Flooring" /></picture>   
3676                                                                                                                                                                                        
3677                                                            <span class="block text-sm font-medium no-underline text-darkblack pr-4">Laminate Flooring</span></a>
3678                                                        </li>
3679                                                           
3680                                                                                                                                                                    <li class="level-2 w-4/12 pr-6 pb-6">
3681                                                            <a href="https://www.flooringinc.com/shop/wood-laminate/hardwood.html"
3682                                                            title="Engineered&#x20;Hardwood&#x20;Flooring"
3683                                                            class="level-2 block">
3684                                                                                                                                <picture class="menucatimg rounded w-full mb-2"><source type="image/webp" srcset="https://www.flooringinc.com//media/catalog/category/fi_wood_laminate_hardwood_1.webp"><img class="menucatimg rounded w-full mb-2" src="https://www.flooringinc.com//media/catalog/category/fi_wood_laminate_hardwood_1.jpg" alt="Engineered&#x20;Hardwood&#x20;Flooring" title="Engineered&#x20;Hardwood&#x20;Flooring" /></picture>   
3685                                                                                                                                                                                        
3686                                                            <span class="block text-sm font-medium no-underline text-darkblack pr-4">Engineered Hardwood Flooring</span></a>
3687                                                        </li>
3688                                                           
3689                                                                                                                                                                    <li class="level-2 w-4/12 pr-6 pb-6">
3690                                                            <a href="https://www.flooringinc.com/shop/wood-laminate/oak.html"
3691                                                            title="Oak&#x20;Wood&#x20;Flooring"
3692                                                            class="level-2 block">
3693                                                                                                                                <picture class="menucatimg rounded w-full mb-2"><source type="image/webp" srcset="https://www.flooringinc.com//media/catalog/category/fi_wood_laminate_oak_1.webp"><img class="menucatimg rounded w-full mb-2" src="https://www.flooringinc.com//media/catalog/category/fi_wood_laminate_oak_1.jpg" alt="Oak&#x20;Wood&#x20;Flooring" title="Oak&#x20;Wood&#x20;Flooring" /></picture>   
3694                                                                                                                                                                                        
3695                                                            <span class="block text-sm font-medium no-underline text-darkblack pr-4">Oak Wood Flooring</span></a>
3696                                                        </li>
3697                                                           
3698                                                                                                                                                                    <li class="level-2 w-4/12 pr-6 pb-6">
3699                                                            <a href="https://www.flooringinc.com/shop/wood-laminate/commercial-wood-laminate.html"
3700                                                            title="Commercial&#x20;Wood&#x20;&amp;&#x20;Laminate"
3701                                                            class="level-2 block">
3702                                                                                                                                <picture class="menucatimg rounded w-full mb-2"><source type="image/webp" srcset="https://www.flooringinc.com//media/catalog/category/fi_wood_laminate_commercial_wood_laminate_1.webp"><img class="menucatimg rounded w-full mb-2" src="https://www.flooringinc.com//media/catalog/category/fi_wood_laminate_commercial_wood_laminate_1.jpg" alt="Commercial&#x20;Wood&#x20;&amp;&#x20;Laminate" title="Commercial&#x20;Wood&#x20;&amp;&#x20;Laminate" /></picture>   
3703                                                                                                                                                                                        
3704                                                            <span class="block text-sm font-medium no-underline text-darkblack pr-4">Commercial Wood &amp; Laminate</span></a>
3705                                                        </li>
3706                                                           
3707                                                                                                            
3708                                                                                                <a class="view-all mt-2 underline-imp text-size12 font-medium text-darkblack absolute" style="top:410px;" href="https://www.flooringinc.com/shop/wood-laminate.html" >View All</a>
3709                                             
3710
3711                                                </ul>
3712                                            </li>
3713                                            
3714                                            
3715                                                                                                                            
3716                                            <li :class="{ 'active': show }" class="level-1 level1 "  x-data="{ show: false }"  
3717                                                                                        x-on:click="show = true; removeDisplayFirst()" @click.away="show = false"
3718                                                                                        >
3719                                                <a 
3720                                                title="Commercial&#x20;Flooring"
3721                                                class="level-1 w-1/4 py-1/5 px-6 text-size13 block text-sm rounded text-darkblack relative"
3722                                                
3723                                                    >
3724                                                    Commercial Flooring
3725                                                                                                            <sp
3725an class="inline items-center rotate-180 absolute">
3726                                                            <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" class="w-5 h-5 inline" width="25" height="25" role="img">
3727  <path fill-rule="evenodd" d="M5.293 7.293a1 1 0 011.414 0L10 10.586l3.293-3.293a1 1 0 111.414 1.414l-4 4a1 1 0 01-1.414 0l-4-4a1 1 0 010-1.414z" clip-rule="evenodd"/>
3728<title>chevron-down</title></svg>
3729                                                        </span>
3730                                                                                                    </a>
3731                                                 
3732                                <div class="2xl:block w-1/4 mega-menu-rightBlock absolute top-0 right-0" x-show="show">
3733                                    <style>#html-body [data-pb-style=O02YD59]{justify-content:flex-start;display:flex;flex-direction:column;background-position:left top;background-size:cover;background-repeat:no-repeat;background-attachment:scroll}#html-body [data-pb-style=OOE2A60]{border-style:none}#html-body [data-pb-style=GIBTE8V],#html-body [data-pb-style=I3MEDCP]{max-width:100%;height:auto}#html-body [data-pb-style=YUV11TT]{background-position:left top;background-size:cover;background-repeat:no-repeat;background-attachment:scroll;align-self:stretch}#html-body [data-pb-style=BOTYRR2]{display:flex;width:100%}#html-body [data-pb-style=Y56PEM0]{justify-content:flex-start;display:flex;flex-direction:column;background-position:left top;background-size:cover;background-repeat:no-repeat;background-attachment:scroll;width:100%;align-self:stretch}#html-body [data-pb-style=AAF7UJB]{text-align:left}#html-body [data-pb-style=MN0A9R6]{display:inline-block}#html-body [data-pb-style=GVKGSEM]{text-align:center}@media only screen and (max-width: 768px) { #html-body [data-pb-style=OOE2A60]{border-style:none} }</style><div class="mega_menu_banner" data-content-type="row" data-appearance="full-bleed" data-enable-parallax="0" data-parallax-speed="0.5" data-background-images="{}" data-background-type="image" data-video-loop="true" data-video-play-only-visible="true" data-video-lazy-load="true" data-video-fallback-src="" data-element="main" data-pb-style="O02YD59"><figure data-content-type="image" data-appearance="full-width" data-element="main" data-pb-style="OOE2A60"><a href="/shaw-intellect-carpet-tile-9127.html" target="" data-link-type="default" title="" data-element="link"><picture class="pagebuilder-mobile-hidden"><source type="image/webp" srcset="https://www.flooringinc.com/media/wysiwyg/commercial-ad-image.webp"><img class="pagebuilder-mobile-hidden" src="https://www.flooringinc.com/media/wysiwyg/commercial-ad-image.jpg" alt="" title="" width="" height="" loading="lazy" data-element="desktop_image" data-pb-style="I3MEDCP" loading="lazy"></picture><picture class="pagebuilder-mobile-only"><source type="image/webp" srcset="https://www.flooringinc.com/media/wysiwyg/commercial-ad-image.webp"><img class="pagebuilder-mobile-only" src="https://www.flooringinc.com/media/wysiwyg/commercial-ad-image.jpg" alt="" title="" width="" height="" loading="lazy" data-element="mobile_image" data-pb-style="GIBTE8V" loading="lazy"></picture></a></figure><div class="pagebuilder-column-group" data-background-images="{}" data-content-type="column-group" data-appearance="default" data-grid-size="12" data-element="main" data-pb-style="YUV11TT"><div class="pagebuilder-column-line" data-content-type="column-line" data-element="main" data-pb-style="BOTYRR2"><div class="pagebuilder-column" data-content-type="column" data-appearance="full-height" data-background-images="{}" data-element="main" data-pb-style="Y56PEM0"><div class="text-size14 font-medium text-custom-black text-left pt-5" data-content-type="text" data-appearance="default" data-element="main"><p><picture><source type="image/webp" srcset="https://www.flooringinc.com/media/wysiwyg/shaw-logo-copy.webp"><img style="width: 100px;" src="https://www.flooringinc.com/media/wysiwyg/shaw-logo-copy.png" alt="" width="100"></picture></p></div><div class="text-size18 text-custom-black font-bold text-left pt-1 pb-5" data-content-type="text" data-appearance="default" data-element="main"><h2><span style="font-size: 18px;">Shaw Intellect<br>Carpet Tile</span></h2></div><div data-content-type="buttons" data-appearance="inline" data-same-width="false" data-element="main" data-pb-style="AAF7UJB" class="free__Shipping__btn"><div data-content-type="button-item" data-appearance="default" data-element="main" data-pb-style="MN0A9R6"><a class="pagebuilder-button-primary" href="/shaw-intellect-carpet-tile-9127.html" target="" data-link-type="default" data-element="link" data-pb-style="GVKGSEM"><span data-element="link_text">SHOP NOW</span></a></div></div></div></div></div></div>                                </div>
3734                                
3735                                                <ul class="z-10 w-1/2 absolute top-0 level2 flex flex-wrap pt-3 megamenu-extrablock" x-show="show">
3736                                                    <span class="block w-full text-size28 font-medium no-underline text-darkblack pb-2">Commercial Flooring</span>
3737
3738                                                                                                            <li class="level-2 w-4/12 pr-6 pb-6">
3739                                                            <a href="https://www.flooringinc.com/shop/commercial-flooring/commercial-rubber-flooring.html"
3740                                                            title="Commercial&#x20;Rubber&#x20;Flooring"
3741                                                            class="level-2 block">
3742                                                                                                                                <picture class="menucatimg rounded w-full mb-2"><source type="image/webp" srcset="https://www.flooringinc.com//media/catalog/category/main-category-commercial-rubber.webp"><img class="menucatimg rounded w-full mb-2" src="https://www.flooringinc.com//media/catalog/category/main-category-commercial-rubber.jpg" alt="Commercial&#x20;Rubber&#x20;Flooring" title="Commercial&#x20;Rubber&#x20;Flooring" /></picture>   
3743                                                                                                                                                                                        
3744                                                            <span class="block text-sm font-medium no-underline text-darkblack pr-4">Commercial Rubber Flooring</span></a>
3745                                                        </li>
3746                                                           
3747                                                                                                                                                                    <li class="level-2 w-4/12 pr-6 pb-6">
3748                                                            <a href="https://www.flooringinc.com/shop/commercial-flooring/commercial-garage-flooring.html"
3749                                                            title="Commercial&#x20;Garage&#x20;Flooring"
3750                                                            class="level-2 block">
3751                                                                                                                                <picture class="menucatimg rounded w-full mb-2"><source type="image/webp" srcset="https://www.flooringinc.com//media/catalog/category/fi_commercial_flooring_commercial_garage_flooring_1.webp"><img class="menucatimg rounded w-full mb-2" src="https://www.flooringinc.com//media/catalog/category/fi_commercial_flooring_commercial_garage_flooring_1.jpg" alt="Commercial&#x20;Garage&#x20;Flooring" title="Commercial&#x20;Garage&#x20;Flooring" /></picture>   
3752                                                                                                                                                                                        
3753                                                            <span class="block text-sm font-medium no-underline text-darkblack pr-4">Commercial Garage Flooring</span></a>
3754                                                        </li>
3755                                                           
3756                                                                                                                                                                    <li class="level-2 w-4/12 pr-6 pb-6">
3757                                                            <a href="https://www.flooringinc.com/shop/commercial-flooring/commercial-carpet.html"
3758                                                            title="Commercial&#x20;Carpet&#x20;Tiles"
3759                                                            class="level-2 block">
3760                                                                                                                                <picture class="menucatimg rounded w-full mb-2"><source type="image/webp" srcset="https://www.flooringinc.com//media/catalog/category/fi_commercial_flooring_commercial_carpet_1.webp"><img class="menucatimg rounded w-full mb-2" src="https://www.flooringinc.com//media/catalog/category/fi_commercial_flooring_commercial_carpet_1.jpg" alt="Commercial&#x20;Carpet&#x20;Tiles" title="Commercial&#x20;Carpet&#x20;Tiles" /></picture>   
3761                                                                                                                                                                                        
3762                                                            <span class="block text-sm font-medium no-underline text-darkblack pr-4">Commercial Carpet Tiles</span></a>
3763                                                        </li>
3764                                                           
3765                                                                                                                                                                    <li class="level-2 w-4/12 pr-6 pb-6">
3766                                                            <a href="https://www.flooringinc.com/shop/commercial-flooring/commercial-vinyl.html"
3767                                                            title="Commercial&#x20;Vinyl&#x20;Flooring"
3768                                                            class="level-2 block">
3769                                                                                                                                <picture class="menucatimg rounded w-full mb-2"><source type="image/webp" srcset="https://www.flooringinc.com//media/catalog/category/fi_commercial_flooring_commercial_vinyl_1.webp"><img class="menucatimg rounded w-full mb-2" src="https://www.flooringinc.com//media/catalog/category/fi_commercial_flooring_commercial_vinyl_1.jpg" alt="Commercial&#x20;Vinyl&#x20;Flooring" title="Commercial&#x20;Vinyl&#x20;Flooring" /></picture>   
3770                                                                                                                                                                                        
3771                                                            <span class="block text-sm font-medium no-underline text-darkblack pr-4">Commercial Vinyl Flooring</span></a>
3772                                                        </li>
3773                                                           
3774                                                                                                                                                                    <li class="level-2 w-4/12 pr-6 pb-6">
3775                                                            <a href="https://www.flooringinc.com/shop/commercial-flooring/commercial-wood-laminate.html"
3776                                                            title="Commercial&#x20;Wood&#x20;&amp;&#x20;Laminate&#x20;Flooring"
3777                                                            class="level-2 block">
3778                                                                                                                                <picture class="menucatimg rounded w-full mb-2"><source type="image/webp" srcset="https://www.flooringinc.com//media/catalog/category/fi_commercial_flooring_commercial_wood_laminate_1.webp"><img class="menucatimg rounded w-full mb-2" src="https://www.flooringinc.com//media/catalog/category/fi_commercial_flooring_commercial_wood_laminate_1.jpg" alt="Commercial&#x20;Wood&#x20;&amp;&#x20;Laminate&#x20;Flooring" title="Commercial&#x20;Wood&#x20;&amp;&#x20;Laminate&#x20;Flooring" /></picture>   
3779                                                                                                                                                                                        
3780                                                            <span class="block text-sm font-medium no-underline text-darkblack pr-4">Commercial Wood &amp; Laminate Flooring</span></a>
3781                                                        </li>
3782                                                           
3783                                                                                                                                                                    <li class="level-2 w-4/12 pr-6 pb-6">
3784                                                            <a href="https://www.flooringinc.com/shop/commercial-flooring/gym-floor-covers-protection.html"
3785                                                            title="Gym&#x20;Floor&#x20;Covers&#x20;&#x7C;&#x20;Floor&#x20;Protection"
3786                                                            class="level-2 block">
3787                                                                                                                                <picture class="menucatimg rounded w-full mb-2"><source type="image/webp" srcset="https://www.flooringinc.com//media/catalog/category/Gym_Floor_Covers_Category.webp"><img class="menucatimg rounded w-full mb-2" src="https://www.flooringinc.com//media/catalog/category/Gym_Floor_Covers_Category.jpg" alt="Gym&#x20;Floor&#x20;Covers&#x20;&#x7C;&#x20;Floor&#x20;Protection" title="Gym&#x20;Floor&#x20;Covers&#x20;&#x7C;&#x20;Floor&#x20;Protection" /></picture>   
3788                                                                                                                                                                                        
3789                                                            <span class="block text-sm font-medium no-underline text-darkblack pr-4">Gym Floor Covers | Floor Protection</span></a>
3790                                                        </li>
3791                                                           
3792                                                        
3793                                                                                                <a class="view-all mt-2 underline-imp text-size12 font-medium text-darkblack absolute" style="top:410px;" href="https://www.flooringinc.com/shop/commercial-flooring.html" >View All</a>
3794                                             
3795
3796                                                </ul>
3797                                            </li>
3798                                            
3799                                            
3800                                                                                                                            
3801                                            <li :class="{ 'active': show }" class="level-1 level1 "  x-data="{ show: false }"  
3802                                                                                        x-on:click="show = true; removeDisplayFirst()" @click.away="show = false"
3803                                                                                        >
3804                                                <a 
3805                                                title="Floors&#x20;by&#x20;Activity"
3806                                                class="level-1 w-1/4 py-1/5 px-6 text-size13 block text-sm rounded text-darkblack relative"
3807                                                
3808                                                    >
3809                                                    Floors by Activity
3810                                                                                                            <span class="inline items-center rotate-180 absolute">
3811                                                            <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" class="w-5 h-5 inline" width="25" height="25" role="img">
3812  <path fill-rule="evenodd" d="M5.293 7.293a1 1 0 011.414 0L10 10.586l3.293-3.293a1 1 0 111.414 1.414l-4 4a1 1 0 01-1.414 0l-4-4a1 1 0 010-1.414z" clip-rule="evenodd"/>
3813<title>chevron-down</title></svg>
3814                                                        </span>
3815                                                                                                    </a>
3816                                                 
3817                                <div class="2xl:block w-1/4 mega-menu-rightBlock absolute top-0 right-0" x-show="show">
3818                                    <style>#html-body [data-pb-style=KFA34BQ]{justify-content:flex-start;display:flex;flex-direction:column;background-position:left top;background-size:cover;background-repeat:no-repeat;background-attachment:scroll}#html-body [data-pb-style=SWIWRMK]{border-style:none}#html-body [data-pb-style=CW1JEO7],#html-body [data-pb-style=YR16OUN]{max-width:100%;height:auto}#html-body [data-pb-style=JE5OVK0]{background-position:left top;background-size:cover;background-repeat:no-repeat;background-attachment:scroll;align-self:stretch}#html-body [data-pb-style=KFIHXY2]{display:flex;width:100%}#html-body [data-pb-style=PAOFWTU]{justify-content:flex-start;display:flex;flex-direction:column;background-position:left top;background-size:cover;background-repeat:no-repeat;background-attachment:scroll;width:100%;align-self:stretch}#html-body [data-pb-style=GGMYAMB]{text-align:left}#html-body [data-pb-style=H9XX0T5]{display:inline-block}#html-body [data-pb-style=VQK95N0]{text-align:center}@media only screen and (max-width: 768px) { #html-body [data-pb-style=SWIWRMK]{border-style:none} }</style><div class="mega_menu_banner" data-content-type="row" data-appearance="full-bleed" data-enable-parallax="0" data-parallax-speed="0.5" data-background-images="{}" data-background-type="image" data-video-loop="true" data-video-play-only-visible="true" data-video-lazy-load="true" data-video-fallback-src="" data-element="main" data-pb-style="KFA34BQ"><figure data-content-type="image" data-appearance="full-width" data-element="main" data-pb-style="SWIWRMK"><a href="/progame-sports-tiles-13636.html" target="" data-link-type="default" title="" data-element="link"><picture class="pagebuilder-mobile-hidden"><source type="image/webp" srcset="https://www.flooringinc.com/media/wysiwyg/by-activity-ad-image.webp"><img class="pagebuilder-mobile-hidden" src="https://www.flooringinc.com/media/wysiwyg/by-activity-ad-image.jpg" alt="" title="" width="" height="" loading="lazy" data-element="desktop_image" data-pb-style="CW1JEO7" loading="lazy"></picture><picture class="pagebuilder-mobile-only"><source type="image/webp" srcset="https://www.flooringinc.com/media/wysiwyg/by-activity-ad-image.webp"><img class="pagebuilder-mobile-only" src="https://www.flooringinc.com/media/wysiwyg/by-activity-ad-image.jpg" alt="" title="" width="" height="" loading="lazy" data-element="mobile_image" data-pb-style="YR16OUN" loading="lazy"></picture></a></figure><div class="pagebuilder-column-group" data-background-images="{}" data-content-type="column-group" data-appearance="default" data-grid-size="12" data-element="main" data-pb-style="JE5OVK0"><div class="pagebuilder-column-line" data-content-type="column-line" data-element="main" data-pb-style="KFIHXY2"><div class="pagebuilder-column" data-content-type="column" data-appearance="full-height" data-background-images="{}" data-element="main" data-pb-style="PAOFWTU"><div class="text-size14 font-medium text-custom-black text-left pt-5" data-content-type="text" data-appearance="default" data-element="main"><p><picture><source type="image/webp" srcset="https://www.flooringinc.com/media/wysiwyg/Progame_Color.webp"><img id="BEVL1A7" style="width: 100px; height: 33px;" src="https://www.flooringinc.com/media/wysiwyg/Progame_Color.png" alt="" width="100" height="17"></picture></p></div><div class="text-size18 text-custom-black font-bold text-left pt-1 pb-5" data-content-type="text" data-appearance="default" data-element="main"><h2><span style="font-size: 18px;">ProGame Sports Tiles</span></h2></div><div data-content-type="buttons" data-appearance="inline" data-same-width="false" data-element="main" data-pb-style="GGMYAMB" class="free__Shipping__btn"><div data-content-type="button-item" data-appearance="default" data-element="main" data-pb-style="H9XX0T5"><a class="pagebuilder-button-primary" href="/progame-sports-tiles-13636.html" target="" data-link-type="default" data-element="link" data-pb-style="VQK95N0"><span data-element="link_text">SHOP NOW</span></a></div></div></div></div></div></div>                                </div>
3819                                
3820                                                <ul class="z-10 w-1/2 absolute top-0 level2 flex flex-wrap pt-3 megamenu-extrablock" x-show="show">
3821                                                    <span class="block w-full text-size28 font-medium no-underline text-darkblack pb-2">Floors by Activity</span>
3822
3823                                                                                                            <li class="level-2 w-4/12 pr-6 pb-6">
3824                                                            <a href="https://www.flooringinc.com/shop/shop-by-activity/fitness-flooring.html"
3825                                                            title="Fitness&#x20;Flooring"
3826                                                            class="level-2 block">
3827                                                                                                                                <picture class="menucatimg rounded w-full mb-2"><source type="image/webp" srcset="https://www.flooringinc.com//media/catalog/category/fi_shop_by_activity_fitness_flooring_1.webp"><img class="menucatimg rounded w-full mb-2" src="https://www.flooringinc.com//media/catalog/category/fi_shop_by_activity_fitness_flooring_1.jpg" alt="Fitness&#x20;Flooring" title="Fitness&#x20;Flooring" /></picture>   
3828                                                                                                                                                                                        
3829                                                            <span class="block text-sm font-medium no-underline text-darkblack pr-4">Fitness Flooring</span></a>
3830                                                        </li>
3831                                                           
3832                                                                                                                                                                    <li class="level-2 w-4/12 pr-6 pb-6">
3833                                                            <a href="https://www.flooringinc.com/shop/shop-by-activity/dance-marley-flooring.html"
3834                                                            title="Dance&#x20;Flooring&#x20;&#x7C;&#x20;Marley&#x20;Floor"
3835                                                            class="level-2 block">
3836                                                                                                                                <picture class="menucatimg rounded w-full mb-2"><source type="image/webp" srcset="https://www.flooringinc.com//media/catalog/category/dance-main-category.webp"><img class="menucatimg rounded w-full mb-2" src="https://www.flooringinc.com//media/catalog/category/dance-main-category.jpg" alt="Dance&#x20;Flooring&#x20;&#x7C;&#x20;Marley&#x20;Floor" title="Dance&#x20;Flooring&#x20;&#x7C;&#x20;Marley&#x20;Floor" /></picture>   
3837                                                                                                                                                                                        
3838                                                            <span class="block text-sm font-medium no-underline text-darkblack pr-4">Dance Flooring | Marley Floor</span></a>
3839                                                        </li>
3840                                                           
3841                                                                                                                                                                    <li class="level-2 w-4/12 pr-6 pb-6">
3842                                                            <a href="https://www.flooringinc.com/shop/shop-by-activity/sport-and-court-flooring.html"
3843                                                            title="Sport&#x20;&amp;&#x20;Court&#x20;Flooring"
3844                                                            class="level-2 block">
3845                                                                                                                                <picture class="menucatimg rounded w-full mb-2"><source type="image/webp" srcset="https://www.flooringinc.com//media/catalog/category/Sport_Court_Category.webp"><img class="menucatimg rounded w-full mb-2" src="https://www.flooringinc.com//media/catalog/category/Sport_Court_Category.jpg" alt="Sport&#x20;&amp;&#x20;Court&#x20;Flooring" title="Sport&#x20;&amp;&#x20;Court&#x20;Flooring" /></picture>   
3846                                                                                                                                                                                        
3847                                                            <span class="block text-sm font-medium no-underline text-darkblack pr-4">Sport &amp; Court Flooring</span></a>
3848                                                        </li>
3849                                                           
3850                                                                                                                                                                    <li class="level-2 w-4/12 pr-6 pb-6">
3851                                                            <a href="https://www.flooringinc.com/shop/shop-by-activity/martial-arts-flooring.html"
3852                                                            title="Martial&#x20;Arts&#x20;Mats&#x20;"
3853                                                            class="level-2 block">
3854                                                                                                                                <picture class="menucatimg rounded w-full mb-2"><source type="image/webp" srcset="https://www.flooringinc.com//media/catalog/category/fi_shop_by_activity_martial_arts_flooring_1.webp"><img class="menucatimg rounded w-full mb-2" src="https://www.flooringinc.com//media/catalog/category/fi_shop_by_activity_martial_arts_flooring_1.jpg" alt="Martial&#x20;Arts&#x20;Mats&#x20;" title="Martial&#x20;Arts&#x20;Mats&#x20;" /></picture>   
3855                                                                                                                                                                                        
3856                                                            <span class="block text-sm font-medium no-underline text-darkblack pr-4">Martial Arts Mats </span></a>
3857                                                        </li>
3858                                                           
3859                                                                                                                                                                    <li class="level-2 w-4/12 pr-6 pb-6">
3860                                                            <a href="https://www.flooringinc.com/shop/shop-by-activity/cheer-mats.html"
3861                                                            title="Cheer&#x20;Mats"
3862                                                            class="level-2 block">
3863                                                                                                                                <picture class="menucatimg rounded w-full mb-2"><source type="image/webp" srcset="https://www.flooringinc.com//media/catalog/category/Cheer_Mats_Category.webp"><img class="menucatimg rounded w-full mb-2" src="https://www.flooringinc.com//media/catalog/category/Cheer_Mats_Category.jpg" alt="Cheer&#x20;Mats" title="Cheer&#x20;Mats" /></picture>   
3864                                                                                                                                                                                        
3865                                                            <span class="block text-sm font-medium no-underline text-darkblack pr-4">Cheer Mats</span></a>
3866                                                        </li>
3867                                                           
3868                                                                                                                                                                    <li class="level-2 w-4/12 pr-6 pb-6">
3869                                                            <a href="https://www.flooringinc.com/shop/shop-by-activity/wrestling-mats.html"
3870                                                            title="Wrestling&#x20;Mats"
3871                                                            class="level-2 block">
3872                                                                                                                                <picture class="menucatimg rounded w-full mb-2"><source type="image/webp" srcset="https://www.flooringinc.com//media/catalog/category/Wrestling_Mats_Category_1.webp"><img class="menucatimg rounded w-full mb-2" src="https://www.flooringinc.com//media/catalog/category/Wrestling_Mats_Category_1.jpg" alt="Wrestling&#x20;Mats" title="Wrestling&#x20;Mats" /></picture>   
3873                                                                                                                                                                                        
3874                                                            <span class="block text-sm font-medium no-underline text-darkblack pr-4">Wrestling Mats</span></a>
3875                                                        </li>
3876                                                           
3877                                                        
3878                                                                                                <a class="view-all mt-2 underline-imp text-size12 font-medium text-darkblack absolute" style="top:410px;" href="https://www.flooringinc.com/shop/shop-by-activity.html" >View All</a>
3879                                             
3880
3881                                                </ul>
3882                                            </li>
3883                                            
3884                                            
3885                                                                                                                            
3886                                            <li :class="{ 'active': show }" class="level-1 level1 "  x-data="{ show: false }"  
3887                                                                                        x-on:click="show = true; removeDisplayFirst()" @click.away="show = false"
3888                                                                                        >
3889                                                <a 
3890                                                title="Floors&#x20;by&#x20;Space"
3891                                                class="level-1 w-1/4 py-1/5 px-6 text-size13 block text-sm rounded text-darkblack relative"
3892                                                
3893                                                    >
3894                                                    Floors by Space
3895                                                                                                            <span class="inline items-center rotate-180 absolute">
3896                                                            <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" class="w-5 h-5 inline" width="25" height="25" role="img">
3897  <path fill-rule="evenodd" d="M5.293 7.293a1 1 0 011.414 0L10 10.586l3.293-3.293a1 1 0 111.414 1.414l-4 4a1 1 0 01-1.414 0l-4-4a1 1 0 010-1.414z" clip-rule="evenodd"/>
3898<title>chevron-down</title></svg>
3899                                                        </span>
3900                                                                                                    </a>
3901                                                
3902                                                <ul class="z-10 w-1/2 absolute top-0 level2 flex flex-wrap pt-3 megamenu-extrablock" x-show="show">
3903                                                    <span class="block w-full text-size28 font-medium no-underline text-darkblack pb-2">Floors by Space</span>
3904
3905                                                                                                            <li class="level-2 w-4/12 pr-6 pb-6">
3906                                                            <a href="https://www.flooringinc.com/shop/shop-by-space/kitchen-flooring.html"
3907                                                            title="Kitchen&#x20;Flooring"
3908                                                            class="level-2 block">
3909                                                                                                                                <picture class="menucatimg rounded w-full mb-2"><source type="image/webp" srcset="https://www.flooringinc.com//media/catalog/category/kitchen-main-category.webp"><img class="menucatimg rounded w-full mb-2" src="https://www.flooringinc.com//media/catalog/category/kitchen-main-category.jpg" alt="Kitchen&#x20;Flooring" title="Kitchen&#x20;Flooring" /></picture>   
3910                                                                                                                                                                                        
3911                                                            <span class="block text-sm font-medium no-underline text-darkblack pr-4">Kitchen Flooring</span></a>
3912                                                        </li>
3913                                                           
3914                                                                                                                                                                    <li class="level-2 w-4/12 pr-6 pb-6">
3915                                                            <a href="https://www.flooringinc.com/shop/shop-by-space/bathroom-flooring.html"
3916                                                            title="Bathroom&#x20;Flooring"
3917                                                            class="level-2 block">
3918                                                                                                                                <picture class="menucatimg rounded w-full mb-2"><source type="image/webp" srcset="https://www.flooringinc.com//media/catalog/category/bathroom-main-category.webp"><img class="menucatimg rounded w-full mb-2" src="https://www.flooringinc.com//media/catalog/category/bathroom-main-category.jpg" alt="Bathroom&#x20;Flooring" title="Bathroom&#x20;Flooring" /></picture>   
3919                                                                                                                                                                                        
3920                                                            <span class="block text-sm font-medium no-underline text-darkblack pr-4">Bathroom Flooring</span></a>
3921                                                        </li>
3922                                                           
3923                                                                                                                                                                    <li class="level-2 w-4/12 pr-6 pb-6">
3924                                                            <a href="https://www.flooringinc.com/shop/shop-by-space/commercial-flooring.html"
3925                                                            title="Commercial&#x20;Flooring"
3926                                                            class="level-2 block">
3927                                                                                                                                <picture class="menucatimg rounded w-full mb-2"><source type="image/webp" srcset="https://www.flooringinc.com//media/catalog/category/fi_shop_by_space_commercial_flooring_1.webp"><img class="menucatimg rounded w-full mb-2" src="https://www.flooringinc.com//media/catalog/category/fi_shop_by_space_commercial_flooring_1.jpg" alt="Commercial&#x20;Flooring" title="Commercial&#x20;Flooring" /></picture>   
3928                                                                                                                                                                                        
3929                                                            <span class="block text-sm font-medium no-underline text-darkblack pr-4">Commercial Flooring</span></a>
3930                                                        </li>
3931                                                           
3932                                                                                                                                                                    <li class="level-2 w-4/12 pr-6 pb-6">
3933                                                            <a href="https://www.flooringinc.com/shop/shop-by-space/gym-flooring.html"
3934                                                            title="Gym&#x20;Flooring"
3935                                                            class="level-2 block">
3936                                                                                                                                <picture class="menucatimg rounded w-full mb-2"><source type="image/webp" srcset="https://www.flooringinc.com//media/catalog/category/gym-main-category_1.webp"><img class="menucatimg rounded w-full mb-2" src="https://www.flooringinc.com//media/catalog/category/gym-main-category_1.jpg" alt="Gym&#x20;Flooring" title="Gym&#x20;Flooring" /></picture>   
3937                                                                                                                                                                                        
3938                                                            <span class="block text-sm font-medium no-underline text-darkblack pr-4">Gym Flooring</span></a>
3939                                                        </li>
3940                                                           
3941                                                                                                                                                                    <li class="level-2 w-4/12 pr-6 pb-6">
3942                                                            <a href="https://www.flooringinc.com/shop/shop-by-space/garage-flooring.html"
3943                                                            title="Garage&#x20;Flooring"
3944                                                            class="level-2 block">
3945                                                                                                                                <picture class="menucatimg rounded w-full mb-2"><source type="image/webp" srcset="https://www.flooringinc.com//media/catalog/category/fi_shop_by_space_garage_flooring_1.webp"><img class="menucatimg rounded w-full mb-2" src="https://www.flooringinc.com//media/catalog/category/fi_shop_by_space_garage_flooring_1.jpg" alt="Garage&#x20;Flooring" title="Garage&#x20;Flooring" /></picture>   
3946                                                                                                                                                                                        
3947                                                            <span class="block text-sm font-medium no-underline text-darkblack pr-4">Garage Flooring</span></a>
3948                                                        </li>
3949                                                           
3950                                                                                                                                                                    <li class="level-2 w-4/12 pr-6 pb-6">
3951                                                            <a href="https://www.flooringinc.com/shop/shop-by-space/outdoor-flooring.html"
3952                                                            title="Outdoor&#x20;Flooring"
3953                                                            class="level-2 block">
3954                                                                                                                                <picture class="menucatimg rounded w-full mb-2"><source type="image/webp" srcset="https://www.flooringinc.com//media/catalog/category/fi_shop_by_space_outdoor_flooring_1.webp"><img class="menucatimg rounded w-full mb-2" src="https://www.flooringinc.com//media/catalog/category/fi_shop_by_space_outdoor_flooring_1.jpg" alt="Outdoor&#x20;Flooring" title="Outdoor&#x20;Flooring" /></picture>   
3955                                                                                                                                                                                        
3956                                                            <span class="block text-sm font-medium no-underline text-darkblack pr-4">Outdoor Flooring</span></a>
3957                                                        </li>
3958                                                           
3959                                                        
3960                                                                                                <a class="view-all mt-2 underline-imp text-size12 font-medium text-darkblack absolute" style="top:410px;" href="https://www.flooringinc.com/shop/shop-by-space.html" >View All</a>
3961                                             
3962
3963                                                </ul>
3964                                            </li>
3965                                            
3966                                            
3967                                                                                                                            
3968                                            <li :class="{ 'active': show }" class="level-1 level1 "  x-data="{ show: false }"  
3969                                                                                        x-on:click="show = true; removeDisplayFirst()" @click.away="show = false"
3970                                                                                        >
3971                                                <a 
3972                                                title="Underlayment&#x20;&amp;&#x20;Flooring&#x20;Accessories"
3973                                                class="level-1 w-1/4 py-1/5 px-6 text-size13 block text-sm rounded text-darkblack relative"
3974                                                
3975                                                    >
3976                                                    Underlayment &amp; Flooring Accessories
3977                                                                                                            <span class="inline items-center rotate-180 absolute">
3978                                                            <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" class="w-5 h-5 inline" width="25" height="25" role="img">
3979  <path fill-rule="evenodd" d="M5.293 7.293a1 1 0 011.414 0L10 10.586l3.293-3.293a1 1 0 111.414 1.414l-4 4a1 1 0 01-1.414 0l-4-4a1 1 0 010-1.414z" clip-rule="evenodd"/>
3980<title>chevron-down</title></svg>
3981                                                        </span>
3982                                                                                                    </a>
3983                                                 
3984                                <div class="2xl:block w-1/4 mega-menu-rightBlock absolute top-0 right-0" x-show="show">
3985                                    <style>#html-body [data-pb-style=LTPNQ8C]{justify-content:flex-start;display:flex;flex-direction:column;background-position:left top;background-size:cover;background-repeat:no-repeat;background-attachment:scroll}#html-body [data-pb-style=R2I2333]{border-style:none}#html-body [data-pb-style=K97631E],#html-body [data-pb-style=WX0AV4C]{max-width:100%;height:auto}@media only screen and (max-width: 768px) { #html-body [data-pb-style=R2I2333]{border-style:none} }</style><div class="mega_menu_banner" data-content-type="row" data-appearance="full-bleed" data-enable-parallax="0" data-parallax-speed="0.5" data-background-images="{}" data-background-type="image" data-video-loop="true" data-video-play-only-visible="true" data-video-lazy-load="true" data-video-fallback-src="" data-element="main" data-pb-style="LTPNQ8C"><figure data-content-type="image" data-appearance="full-width" data-element="main" data-pb-style="R2I2333"><a href="https://www.flooringinc.com/pro-advantage" target="" data-link-type="page" title="" data-element="link"><picture class="pagebuilder-mobile-hidden"><source type="image/webp" srcset="https://www.flooringinc.com/media/wysiwyg/nav-pro-adv-2-ad.webp"><img class="pagebuilder-mobile-hidden" src="https://www.flooringinc.com/media/wysiwyg/nav-pro-adv-2-ad.jpg" alt="" title="" width="" height="" loading="lazy" data-element="desktop_image" data-pb-style="WX0AV4C" loading="lazy"></picture><picture class="pagebuilder-mobile-only"><source type="image/webp" srcset="https://www.flooringinc.com/media/wysiwyg/nav-pro-adv-2-ad.webp"><img class="pagebuilder-mobile-only" src="https://www.flooringinc.com/media/wysiwyg/nav-pro-adv-2-ad.jpg" alt="" title="" width="" height="" loading="lazy" data-element="mobile_image" data-pb-style="K97631E" loading="lazy"></picture></a></figure></div>                                </div>
3986                                
3987                                                <ul class="z-10 w-1/2 absolute top-0 level2 flex flex-wrap pt-3 megamenu-extrablock" x-show="show">
3988                                                    <span class="block w-full text-size28 font-medium no-underline text-darkblack pb-2">Underlayment &amp; Flooring Accessories</span>
3989
3990                                                                                                            <li class="level-2 w-4/12 pr-6 pb-6">
3991                                                            <a href="https://www.flooringinc.com/shop/installation-care/adhesives-glue.html"
3992                                                            title="Flooring&#x20;Adhesives&#x20;&amp;&#x20;Glue"
3993                                                            class="level-2 block">
3994                                                                                                                                <picture class="menucatimg rounded w-full mb-2"><source type="image/webp" srcset="https://www.flooringinc.com//media/catalog/category/fi_installation_care_adhesives_glue_1.webp"><img class="menucatimg rounded w-full mb-2" src="https://www.flooringinc.com//media/catalog/category/fi_installation_care_adhesives_glue_1.jpg" alt="Flooring&#x20;Adhesives&#x20;&amp;&#x20;Glue" title="Flooring&#x20;Adhesives&#x20;&amp;&#x20;Glue" /></picture>   
3995                                                                                                                                                                                        
3996                                                            <span class="block text-sm font-medium no-underline text-darkblack pr-4">Flooring Adhesives &amp; Glue</span></a>
3997                                                        </li>
3998                                                           
3999                                                                                                                                                                    <li class="level-2 w-4/12 pr-6 pb-6">
4000                                                            <a href="https://www.flooringinc.com/shop/installation-care/tape.html"
4001                                                            title="Floor&#x20;and&#x20;Mat&#x20;Tape"
4002                                                            class="level-2 block">
4003                                                                                                                                <picture class="menucatimg rounded w-full mb-2"><source type="image/webp" srcset="https://www.flooringinc.com//media/catalog/category/fi_installation_care_tape_1.webp"><img class="menucatimg rounded w-full mb-2" src="https://www.flooringinc.com//media/catalog/category/fi_installation_care_tape_1.jpg" alt="Floor&#x20;and&#x20;Mat&#x20;Tape" title="Floor&#x20;and&#x20;Mat&#x20;Tape" /></picture>   
4004                                                                                                                                                                                        
4005                                                            <span class="block text-sm font-medium no-underline text-darkblack pr-4">Floor and Mat Tape</span></a>
4006                                                        </li>
4007                                                           
4008                                                                                                                                                                    <li class="level-2 w-4/12 pr-6 pb-6">
4009                                                            <a href="https://www.flooringinc.com/shop/installation-care/accessories.html"
4010                                                            title="Installation&#x20;Accessories"
4011                                                            class="level-2 block">
4012                                                                                                                                <picture class="menucatimg rounded w-full mb-2"><source type="image/webp" srcset="https://www.flooringinc.com//media/catalog/category/fi_installation_care_accessories_1.webp"><img class="menucatimg rounded w-full mb-2" src="https://www.flooringinc.com//media/catalog/category/fi_installation_care_accessories_1.jpg" alt="Installation&#x20;Accessories" title="Installation&#x20;Accessories" /></picture>   
4013                                                                                                                                                                                        
4014                                                            <span class="block text-sm font-medium no-underline text-darkblack pr-4">Installation Accessories</span></a>
4015                                                        </li>
4016                                                           
4017                                                                                                                                                                    <li class="level-2 w-4/12 pr-6 pb-6">
4018                                                            <a href="https://www.flooringinc.com/shop/installation-care/trims-moldings.html"
4019                                                            title="Floor&#x20;Trims&#x20;&amp;&#x20;Moldings"
4020                                                            class="level-2 block">
4021                                                                                                                                <picture class="menucatimg rounded w-full mb-2"><source type="image/webp" srcset="https://www.flooringinc.com//media/catalog/category/fi_installation_care_trims_moldings_1.webp"><img class="menucatimg rounded w-full mb-2" src="https://www.flooringinc.com//media/catalog/category/fi_installation_care_trims_moldings_1.jpg" alt="Floor&#x20;Trims&#x20;&amp;&#x20;Moldings" title="Floor&#x20;Trims&#x20;&amp;&#x20;Moldings" /></picture>   
4022                                                                                                                                                                                        
4023                                                            <span class="block text-sm font-medium no-underline text-darkblack pr-4">Floor Trims &amp; Moldings</span></a>
4024                                                        </li>
4025                                                           
4026                                                                                                                                                                    <li class="level-2 w-4/12 pr-6 pb-6">
4027                                                            <a href="https://www.flooringinc.com/shop/installation-care/underlayment.html"
4028                                                            title="Flooring&#x20;Underlayment"
4029                                                            class="level-2 block">
4030                                                                                                                                <picture class="menucatimg rounded w-full mb-2"><source type="image/webp" srcset="https://www.flooringinc.com//media/catalog/category/fi_installation_care_underlayment_1.webp"><img class="menucatimg rounded w-full mb-2" src="https://www.flooringinc.com//media/catalog/category/fi_installation_care_underlayment_1.jpg" alt="Flooring&#x20;Underlayment" title="Flooring&#x20;Underlayment" /></picture>   
4031                                                                                                                                                                                        
4032                                                            <span class="block text-sm font-medium no-underline text-darkblack pr-4">Flooring Underlayment</span></a>
4033                                                        </li>
4034                                                           
4035                                                                                                                                                                    <li class="level-2 w-4/12 pr-6 pb-6">
4036                                                            <a href="https://www.flooringinc.com/shop/installation-care/cleaners.html"
4037                                                            title="Flooring&#x20;Cleaners"
4038                                                            class="level-2 block">
4039                                                                                                                                <picture class="menucatimg rounded w-full mb-2"><source type="image/webp" srcset="https://www.flooringinc.com//media/catalog/category/fi_installation_care_cleaners_1.webp"><img class="menucatimg rounded w-full mb-2" src="https://www.flooringinc.com//media/catalog/category/fi_installation_care_cleaners_1.jpg" alt="Flooring&#x20;Cleaners" title="Flooring&#x20;Cleaners" /></picture>   
4040                                                                                                                                                                                        
4041                                                            <span class="block text-sm font-medium no-underline text-darkblack pr-4">Flooring Cleaners</span></a>
4042                                                        </li>
4043                                                           
4044                                                        
4045                                                                                                <a class="view-all mt-2 underline-imp text-size12 font-medium text-darkblack absolute" style="top:410px;" href="https://www.flooringinc.com/shop/installation-care.html" >View All</a>
4046                                             
4047
4048                                                </ul>
4049                                            </li>
4050                                            
4051                                            
4052                                                                                                                            
4053                                            <li :class="{ 'active': show }" class="level-1 level1 "  x-data="{ show: false }"  
4054                                                                                        x-on:click="show = true; removeDisplayFirst()" @click.away="show = false"
4055                                                                                        >
4056                                                <a 
4057                                                title="Specials"
4058                                                class="level-1 w-1/4 py-1/5 px-6 text-size13 block text-sm rounded text-darkblack relative"
4059                                                
4060                                                    >
4061                                                    Specials
4062                                                                                                            <span class="inline items-center rotate-180 absolute">
4063                                                            <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" class="w-5 h-5 inline" width="25" height="25" role="img">
4064  <path fill-rule="evenodd" d="M5.293 7.293a1 1 0 011.414 0L10 10.586l3.293-3.293a1 1 0 111.414 1.414l-4 4a1 1 0 01-1.414 0l-4-4a1 1 0 010-1.414z" clip-rule="evenodd"/>
4065<title>chevron-down</title></svg>
4066                                                        </span>
4067                                                                                                    </a>
4068                                                
4069                                                <ul class="z-10 w-1/2 absolute top-0 level2 flex flex-wrap pt-3 megamenu-extrablock" x-show="show">
4070                                                    <span class="block w-full text-size28 font-medium no-underline text-darkblack pb-2">Specials</span>
4071
4072                                                                                                            <li class="level-2 w-4/12 pr-6 pb-6">
4073                                                            <a href="https://www.flooringinc.com/shop/specials/hot-buys.html"
4074                                                            title="Flooring&#x20;Deals"
4075                                                            class="level-2 block">
4076                                                                                                                                <picture class="menucatimg rounded w-full mb-2"><source type="image/webp" srcset="https://www.flooringinc.com//media/catalog/category/Hot_Buys_2.webp"><img class="menucatimg rounded w-full mb-2" src="https://www.flooringinc.com//media/catalog/category/Hot_Buys_2.jpg" alt="Flooring&#x20;Deals" title="Flooring&#x20;Deals" /></picture>   
4077                                                                                                                                                                                        
4078                                                            <span class="block text-sm font-medium no-underline text-darkblack pr-4">Flooring Deals</span></a>
4079                                                        </li>
4080                                                           
4081                                                                                                                                                                    <li class="level-2 w-4/12 pr-6 pb-6">
4082                                                            <a href="https://www.flooringinc.com/shop/specials/made-in-usa.html"
4083                                                            title="American&#x20;Made"
4084                                                            class="level-2 block">
4085                                                                                                                                <picture class="menucatimg rounded w-full mb-2"><source type="image/webp" srcset="https://www.flooringinc.com//media/catalog/category/Made_in_the_USA_2_1.webp"><img class="menucatimg rounded w-full mb-2" src="https://www.flooringinc.com//media/catalog/category/Made_in_the_USA_2_1.jpg" alt="American&#x20;Made" title="American&#x20;Made" /></picture>   
4086                                                                                                                                                                                        
4087                                                            <span class="block text-sm font-medium no-underline text-darkblack pr-4">American Made</span></a>
4088                                                        </li>
4089                                                           
4090                                                                                                                                                                    <li class="level-2 w-4/12 pr-6 pb-6">
4091                                                            <a href="https://www.flooringinc.com/shop/specials/quick-ship.html"
4092                                                            title="Quick&#x20;Ship"
4093                                                            class="level-2 block">
4094                                                                                                                                <picture class="menucatimg rounded w-full mb-2"><source type="image/webp" srcset="https://www.flooringinc.com//media/catalog/category/Quick_Ship_1.webp"><img class="menucatimg rounded w-full mb-2" src="https://www.flooringinc.com//media/catalog/category/Quick_Ship_1.jpg" alt="Quick&#x20;Ship" title="Quick&#x20;Ship" /></picture>   
4095                                                                                                                                                                                        
4096                                                            <span class="block text-sm font-medium no-underline text-darkblack pr-4">Quick Ship</span></a>
4097                                                        </li>
4098                                                           
4099                                                                                                                                                                    <li class="level-2 w-4/12 pr-6 pb-6">
4100                                                            <a href="https://www.flooringinc.com/shop/specials/new-arrivals.html"
4101                                                            title="New&#x20;Arrivals"
4102                                                            class="level-2 block">
4103                                                                                                                                <picture class="menucatimg rounded w-full mb-2"><source type="image/webp" srcset="https://www.flooringinc.com//media/catalog/category/New_Arrivals_1_1.webp"><img class="menucatimg rounded w-full mb-2" src="https://www.flooringinc.com//media/catalog/category/New_Arrivals_1_1.jpg" alt="New&#x20;Arrivals" title="New&#x20;Arrivals" /></picture>   
4104                                                                                                                                                                                        
4105                                                            <span class="block text-sm font-medium no-underline text-darkblack pr-4">New Arrivals</span></a>
4106                                                        </li>
4107                                                           
4108                                                                                                            
4109                                                                                                <a class="view-all mt-2 underline-imp text-size12 font-medium text-darkblack absolute" style="top:410px;" href="https://www.flooringinc.com/shop/specials.html" >View All</a>
4110                                             
4111
4112                                                </ul>
4113                                            </li>
4114                                            
4115                                            
4116                                                                                
4117                                                                                    
4118                                                                                            <!--<a class="view-all main-cats mt-2 underline px-6 text-size12 font-medium text-darkblack" href="https://www.flooringinc.com/all-categories.html" >View All</a>-->
4118
4119                                         
4120                                    </ul>
4121                                </div>
4122                                
4123                            </div>
4124                        </div>
4125                        </template>
4126                                    </div>
4127                        <div class="menu_static_links">
4128                <style>#html-body [data-pb-style=QGH21I8]{justify-content:flex-start;display:flex;flex-direction:column;background-position:left top;background-size:cover;background-repeat:no-repeat;background-attachment:scroll}</style><div data-content-type="row" data-appearance="contained" data-element="main"><div data-enable-parallax="0" data-parallax-speed="0.5" data-background-images="{}" data-background-type="image" data-video-loop="true" data-video-play-only-visible="true" data-video-lazy-load="true" data-video-fallback-src="" data-element="inner" data-pb-style="QGH21I8"><div data-content-type="text" data-appearance="default" data-element="main"><ul>
4129<li><a tabindex="0" href="/shop-by-category/specials/hot-buys.html">Sale</a></li>
4130<li><a tabindex="0" href="/blog">Get Inspired &amp; How To</a></li>
4131</ul></div></div></div>            </div>
4132        </nav>
4133    </div>
4134
4135</div>
4136<script>
4137  'use strict';
4138
4139  const initMenuDesktop_6ac1515521319 = () => {
4140    return {
4141      hoverTopPosition: '100%',
4142      setActiveMenu(menuNode) {
4143        Array.from(menuNode.querySelectorAll('a')).filter(link => {
4144          return link.href === window.location.href.split('?')[0];
4145        }).map(item => {
4146          if (!item.classList.contains('level-0')) {
4147            item.classList.add('underline');
4148          }
4149          item.closest('div.level-0') &&
4150          item.closest('div.level-0').classList.add('border-secondary');
4151        });
4152      }
4153    }
4154  }
4155</script>
vendor: 1 bytes, line 4155
4155
4156<script>
4157    // Function to remove 'display-first' class from other list items
4158    function removeDisplayFirst() {
4159        var listItems = document.querySelectorAll('.level1');
4160        listItems.forEach(function(item) {
4161            if (item.id !== this.id) {
4162                item.classList.remove('display-first');
4163            }
4164        });
4165    }
4166</script>
4166
4167        <!--Search-->
4168        <div class="w-full"
4169             id="search-content"
4170             :class="{ 'block': searchOpen}"  
4171             @click.outside="searchOpen = false"
4172        >
4173            
4174<div class="py-0 px-0 pl-5 mx-auto text-black" x-data="initMirasvitSearch()" @click.away="closeSearch">
4175    <form class="form minisearch relative" id="search_mini_form" action="https://www.flooringinc.com/catalogsearch/result/" method="get" autocomplete="off">
4176        <label class="hidden" for="search" data-role="minisearch-label">
4177            <span>Search</span>
4178        </label>
4179        <input id="search" x-ref="searchInput" type="search" name="q" value="" placeholder="Find&#x20;it&#x20;here&#x2026;" maxlength="128" class="w-full px-5 py-0 text-sm  leading-normal transition appearance-none rounded-md 
4180                focus:outline-none focus:border-transparent font-normal" x-on:keyup.debounce.300="doSearch($refs.searchInput.value)" x-on:click.debounce.150="openSearch" x-on:keydown.debounce.100="startSearch($refs.searchInput.value)"/>
4181                <button class="action search absolute">btn</button>
4182    </form>
4183
4184    <div x-cloak x-show="isOpen" id="mirasvitSearchResults" class="search_box transition appearance-none absolute">
4185        <div class="flex flex-row justify-center items-center w-full h-full fixed select-none z-50"
4186     style="left: 50%;top: 50%;transform: translateX(-50%) translateY(-50%);background: rgba(255,255,255,0.7);"
4187     x-show="isLoading"
4188     x-transition:enter="ease-out duration-200"
4189     x-transition:enter-start="opacity-0"
4190     x-transition:enter-end="opacity-100"
4191     x-transition:leave="ease-in duration-200"
4192     x-transition:leave-start="opacity-100"
4193     x-transition:leave-end="opacity-0">
4194    <!-- By Sam Herbert (@sherb), for everyone. More @ http://goo.gl/7AJzbL -->
4195<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 57 57" stroke="currentColor" class="text-primary" width="57" height="57" role="img">
4196    <g fill="none" fill-rule="evenodd">
4197        <g transform="translate(1 1)" stroke-width="2">
4198            <circle cx="5" cy="50" r="5">
4199                <animate attributeName="cy" begin="0s" dur="2.2s" values="50;5;50;50" calcMode="linear" repeatCount="indefinite"/>
4200                <animate attributeName="cx" begin="0s" dur="2.2s" values="5;27;49;5" calcMode="linear" repeatCount="indefinite"/>
4201            </circle>
4202            <circle cx="27" cy="5" r="5">
4203                <animate attributeName="cy" begin="0s" dur="2.2s" from="5" to="5" values="5;50;50;5" calcMode="linear" repeatCount="indefinite"/>
4204                <animate attributeName="cx" begin="0s" dur="2.2s" from="27" to="27" values="27;49;5;27" calcMode="linear" repeatCount="indefinite"/>
4205            </circle>
4206            <circle cx="49" cy="50" r="5">
4207                <animate attributeName="cy" begin="0s" dur="2.2s" values="50;50;5;50" calcMode="linear" repeatCount="indefinite"/>
4208                <animate attributeName="cx" from="49" to="49" begin="0s" dur="2.2s" values="49;5;27;49" calcMode="linear" repeatCount="indefinite"/>
4209            </circle>
4210        </g>
4211    </g>
4212<title>loader</title></svg>
4213    <div class="ml-10 text-primary text-xl">
4214        Loading...    </div>
4215</div>
4216
4217        <template x-if="hotSearch">
4218            <div class="hotSearch">
4219                <p class="text-lg leading-normal transition appearance-none text-grey-800 lg:text-xl border-b border-100 p-2 flex">
4220                    Hot Searches                </p>
4221                <div class="my-3 flex flex-wrap">
4222                                    </div>
4223            </div>
4224        </template>
4225
4226        <template x-if="searchResults">
4227            <div class="search_box_content w-full flex flex-wrap ">
4228                                    <div class="search_box_left relative">
4229                    <p class="product_title text-size20 font-medium text-black">
4230                        Top Results                        <template x-if="searchProducts != ''">
4231                            <small class="text-size16 font-medium text-black hidden">(<span x-html="searchProductsTotal"></span>)</small>
4232                        </template>
4233                    </p>
4234                    <div class="viewAll absolute right-0">
4235                            <div>
4236                                <a x-bind:href="numberResultsUrl">
4237                                    <p class="text-size14 font-normal text-black underline number-results" x-html="numberResults"></p>
4238                                </a>
4239                            </div>
4240                        </div>
4241                    <div class="search_box_left_content lg:grid-cols-6">
4242                        <template x-for="item in searchProducts">
4243                            <div class="search_products flex">
4244                                <a x-bind:href="`${item.url}`" class="">
4245                                    <div class="w-full product-image">
4246                                        <img x-bind:src="`${item.imageUrl}`" width="275" height="182" class="w-full"/>
4247                                    </div>
4248                                </a>    
4249                                    <div class="w-full product-content">
4250                                    <a x-bind:href="`${item.url}`" class=""><h4 class="product-name text-size14 font-medium text-black" x-html="item.name"></h4></a>
4251                                        <template x-if="item.rating > 0">
4252                                            <div class="ratings flex item-center">
4253                                                <div x-html="item.rating"></div>(<span x-html="item.reviews"></span>)
4254                                            </div>
4255                                        </template>
4256                                        <template x-if="item.orderFreeSample > 0">
4257                                        <div x-cloak x-data="{showModal: false, htmlContent: '',pid: item.proId }">
4258                                            <button type="button" class="order-sample-link text-size14 font-medium text-blacck mb-1" x-on:click="showModal = true,fetchHtmlContent(pid)">Order Free Sample</button>
4259                                            <div class="modal order-free-sample-popup z-50" x-show="showModal">
4260                                                <div class="modal-overlay" x-on:click="showModal = false"></div>
4261                                                <button class="closemodal" type="button" x-on:click="showModal = false">Close X</button>
4262                                                <div class="modal-content">    
4263                                                    <div x-html="htmlContent" :class="'htmlcontent' + item.proId"></div>
4264                                                </div>
4265                                            </div>
4266                                        </div>
4267                                        </template>
4268                                        <!-- <p class="mt-2 text-gray-600 text-xs truncate" x-html="item.description"></p> -->
4269                                        <template x-if="item.colorCount > 0"> 
4270                                            <p class="text-size13 font-normal text-black truncate">                                            
4271                                                Available in <span x-html="item.colorCount"></span> colors                                                                                       
4272                                            </p>
4273                                        </template> 
4274                                        <!--<div class="truncate-content">
4275                                            <p class="text-size13 font-normal text-black truncate" x-html="item.dealOfTheMonth"></p>
4276                                            <p class="text-size13 font-normal text-black truncate" x-html="item.freeShipping"></p>
4277                                            <p class="text-size13 font-normal text-black truncate" x-html="item.shipNextDay"></p>
4278                                        </div>-->
4279                                        <div class="price_container flex item-center justify-between">
4280                                            <span class="text-size14 font-semibold text-black" x-html="item.price"></span>
4281                                        </div>
4282                                    </div>
4283                                
4284                            </div>
4285                        </template>
4286                        <template x-if="searchProducts == ''">
4287                            <p>No results found.</p>
4288                        </template>
4289                    </div>
4290                    </div>
4291                                        <div class="results-rightside">
4292                    <template x-if="searchCategories != ''">
4293                        <div class="mb-6 category-rest">
4294                            <p class="categorie-title text-size20 font-medium text-black pb-2">
4295                                In Categories                                <small class="text-size16 font-medium text-black hidden">(<span x-html="searchCategoriesTotal"></span>)</small>
4296                            </p>
4297                            <div class="catgry-list">
4298                                <template x-for="category in searchCategories">
4299                                    <a x-bind:href="`${category.url}`">
4300                                        <div class="text-size14 font-normal text-black">
4301                                            <span class="text-size14 font-normal text-black cursor-pointer" x-html="category.name.split('>').pop().trim()"></span>
4302                                        </div>
4303                                    </a>
4304                                </template>
4305                            </div>
4306                        </div>
4307                    </template>
4308
4309                   <!-- <template x-if="searchPages != ''">
4310                        <div class="mb-6">
4311                            <p class="text-lg leading-normal transition appearance-none text-grey-800 lg:text-xl border-b border-100 p-2 flex">
4312                                Pages                                <small class="text-size16 font-medium text-black">(<span x-html="searchPagesTotal"></span>)</small>
4313                            </p>
4314                            <div class="px-2">
4315                                <template x-for="page in searchPages">
4316                                    <a x-bind:href="`${page.url}`">
4317                                        <div class="my-2 flex flex-wrap">
4318                                            <span class="text-size14 font-normal text-black cursor-pointer" x-html="page.name"></span>
4319                                        </div>
4320                                    </a>
4321                                </template>
4322                            </div>
4323                        </div>
4324                    </template> -->
4325
4326                    <template x-if="searchPosts != ''">
4327                        <div class="search_box_right">
4328                            <p class="blog-title text-size20 font-medium text-black">
4329                                In Blogs                                <!-- <small class="<//?= $titleNumberCSS ?>">(<span x-html="searchPostsTotal"></span>)</small> -->
4330                            </p>
4331                            <div class="search_box_right_content">
4332                                <template x-for="item in searchPosts">
4333                                    <div>
4334                                        <a x-bind:href="`${item.url}`" class="blog-items block">
4335                                            <div>
4336                                                <span class="blog-name text-size14 font-normal text-black" x-html="item.name"></span>
4337                                            </div>
4338                                        </a>
4339                                        <span class="item_description text-size14 font-normal text-black opacity-50 mb-4 block" x-html="item.description"></span>
4340                                    </div>
4341                                </template>
4342                            </div>
4343                        </div>
4344                    </template>
4345                            </div>                
4346                
4347            </div>
4348        </template>
4349
4350        <template x-if="noResults">
4351            <div class="p-2 text-size20 font-medium text-black overflow-hidden">
4352                <p class="text-lg leading-normal transition appearance-none text-grey-800 lg:text-xl" x-html="noResultsText"></p>
4353            </div>
4354        </template>
4355    </div>
4356</div>
4357
4358<script>
4359    function initMirasvitSearch() {
4360        return {
4361            //initialize Variables
4362            hotSearch:             false,
4363            searchResults:         false,
4364            noResults:             false,
4365            isLoading:             false,
4366            isOpen:                false,
4367            blockConfig:           {"query":"","priceFormat":{"pattern":"$%s","precision":2,"requiredPrecision":2,"decimalSymbol":".","groupSymbol":",","groupLength":3,"integerRequired":false},"minSearchLength":3,"url":"https:\/\/www.flooringinc.com\/searchautocomplete\/ajax\/suggest\/","storeId":"1","delay":100,"isAjaxCartButton":false,"isShowCartButton":false,"isShowImage":true,"isShowPrice":true,"isShowSku":false,"isShowRating":true,"isShowDescription":true,"isShowStockStatus":false,"layout":"in-page","popularTitle":"Popular Suggestions","popularSearches":[],"isTypeaheadEnabled":false,"typeaheadUrl":"https:\/\/www.flooringinc.com\/searchautocomplete\/ajax\/typeahead\/","minSuggestLength":2,"currency":"USD","limit":24,"customerGroupId":0,"filterPosition":"filters_sidebar"},
4368            xhttp:                 false,
4369            noResultsText:         '',
4370            numberResults:         '',
4371            numberResultsUrl:      '',
4372            searchProductsTotal:   '',
4373            searchCategoriesTotal: '',
4374            searchPagesTotal:      '',
4375            
4376            searchProducts:   [],
4377            searchCategories: [],
4378            searchPages:      [],
4379            searchPosts:      [],
4380            
4381            searchMap: {
4382                'magento_cms_page':         'Pages',
4383                'magento_catalog_category': 'Categories',
4384                'magento_catalog_product':  'Products',
4385                'magefan_blog_post':        'Posts'
4386            },
4387            
4388            hotSearchClickEvent: function (ev) {
4389                var hotSearchClick = event.currentTarget.innerText;
4390                document.getElementById("search").value = hotSearchClick;
4391
4392                this.doSearch(hotSearchClick);
4393            },
4394            
4395            openSearch: function () {
4396                //this.isOpen = true;
4397                searchValue = document.getElementById("search").value.length;
4398
4399                if (searchValue >= this.blockConfig.minSearchLength) {
4400                    this.hideHotSearch();
4401                } else {
4402                    this.showHotSearch();
4403                    this.hideSearchResults();
4404                }
4405            },
4406            
4407            startSearch: function (e) {
4408                if (e) {
4409                    //this.isOpen = true;
4410                }
4411            },
4412
4413             getSearchresult: function () {
4414                this.isOpen = true;
4415            },
4416            
4417            closeSearch: function () {
4418                this.isOpen = false;
4419            },
4420            
4421            showHotSearch: function () {
4422                this.hotSearch = true;
4423            },
4424            
4425            hideHotSearch: function () {
4426                this.hotSearch = false;
4427               
4428            },
4429            
4430            showSearchResults: function () {
4431                this.searchResults = true;
4432               // this.isOpen = true;
4433            },
4434            
4435            hideSearchResults: function () {
4436                this.searchResults = false;
4437               // this.isOpen = false;
4438            },
4439
4440            showNoResults: function () {
4441                this.noResults = true;
4442            },
4443            
4444            hideNoResults: function () {
4445                this.noResults = false;
4446            },
4447            
4448            setNoResultsText(text) {
4449                if (!text) {
4450                    return;
4451                }
4452                console.log(text);
4453                this.noResultsText = text;
4454                this.isOpen = true;
4455            },
4456
4457            setNumberResults(text) {
4458                this.numberResults = text;
4459            },
4460            
4461            setNumberResultsUrl(text) {
4462                this.numberResultsUrl = text;
4463            },
4464            
4465            resetSearchData: function () {
4466                // Reinitialize Variables to avoid wrong search results.
4467                this.searchPages = [];
4468                this.searchPagesTotal = 0;
4469                this.searchCategories = [];
4470                this.searchCategoriesTotal = 0;
4471                this.searchProducts = [];
4472                this.searchProductsTotal = 0;
4473            },
4474            
4475            doSearch: function (query) {
4476                this.isOpen = false;
4477                var self = this;
4478                // Min search length
4479                if (query.length < this.blockConfig.minSearchLength) {
4480                    this.showHotSearch();
4481                    this.isLoading = false;
4482                    this.hideSearchResults();
4483                    this.hideNoResults();
4484
4485                    return;
4486                } else {
4487                    this.hideHotSearch();
4488                    this.isLoading = true;
4489                    this.showSearchResults();
4490                    this.hideNoResults();
4491                }
4492                
4493                // AJAX for searchautocomplete/ajax/suggest/
4494                if (this.xhttp) {
4495                    try {
4496                        this.xhttp.abort();
4497                    } catch {
4498                        
4499                    }
4500                }
4501                this.xhttp = new XMLHttpRequest();
4502                var xhttp = this.xhttp;
4503                
4504                var queryEncoded = encodeURIComponent(query);
4505                var url = this.blockConfig.url.replace(/\/$/, "") + "/?q=" + queryEncoded + "&store_id=" + this.blockConfig.storeId + "&cat=false";
4506                
4507                xhttp.open("GET", url, true);
4508                xhttp.setRequestHeader("Content-Type", "application/json");
4509                
4510                xhttp.onreadystatechange = function () {
4511                    if (this.readyState === 4 && this.status === 200) {
4512                        
4513                      
4514                        // Response from ajax call in JSON.
4515                        var response = JSON.parse(this.responseText);
4516                        console.log(response);
4517                        self.resetSearchData();
4518                        
4519                        // Product Search Results
4520                        for (index in response.indexes) {
4521                            
4522                            if (response.indexes[index].items.length > 0) {
4523                                self.getSearchresult();
4524                                var res = response.indexes[index];
4525                                var map = null;
4526                                
4527                                if (self.searchMap[res.identifier]) {
4528                                    map = self.searchMap[res.identifier];
4529                                    self['search' + map] = res.items;
4530                                    self['search' + map + 'Total'] = res.totalItems;
4531                                }
4532                            }
4533                        }
4534                        
4535                        // Extract totalItems from response.textAll and format if > 999
4536                        let textAll = response.textAll;
4537                        if (response.textAll) {          
4538                            // Remove the → symbol (or any trailing characters you'd like to remove)
4539                            textAll = textAll.replace(/→$/, '').trim();                  
4540                            // Find number within textAll using regex
4541                            let totalItemsMatch = textAll.match(/\d+/); // Extracts the first number found
4542                            if (totalItemsMatch) {
4543                                let totalItemsFromTextAll = parseInt(totalItemsMatch[0], 10);
4544                                if (totalItemsFromTextAll > 999) {
4545                                    // Format with comma if > 999
4546                                    textAll = textAll.replace(totalItemsMatch[0], totalItemsFromTextAll.toLocaleString());
4547                                }
4548                            }
4549                            console.log("Formatted textAll:", textAll);
4550                            self.setNumberResults(textAll); // Update the UI with the formatted textAll
4551                        }
4552                        
4553                        self.isLoading = false;
4554                        self.hideNoResults();
4555                        self.setNumberResults(textAll);
4556                        self.setNumberResultsUrl(response.urlAll);
4557                        
4558                        if (response.noResults) {console.log(response.textEmpty);
4559                            self.showNoResults();
4560                            self.setNoResultsText(response.textEmpty);
4561                            self.hideSearchResults();
4562                            
4563                        }
4564                    }else{
4565                       this.isOpen = false;  
4566                    }
4567                };
4568
4569                xhttp.send();
4570            }
4571        }
4572    }
4573</script>
4573         </div>
4574
4575        <div class="flex items-center order-3"> 
4576            <!--Compare Icon-->
4577            <a id="compare-link"
4578               class="relative invisible inline-block mx-1 no-underline sm:ml-3 hover:text-black"
4579               :class="{ 'invisible': !(itemCount > 0) }"
4580               href="https://www.flooringinc.com/catalog/product_compare/index/"
4581               title="Compare Products"
4582               x-data="initCompareHeader()"
4583               @private-content-loaded.window="receiveCompareData($event.detail.data)"
4584            >
4585                <svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" class="w-8 h-8 md:h-6 md:w-6 hover:text-black" width="25" height="25" role="img">
4586  <path stroke-linecap="round" stroke-linejoin="round" d="M3 6l3 1m0 0l-3 9a5.002 5.002 0 006.001 0M6 7l3 9M6 7l6-2m6 2l3-1m-3 1l-3 9a5.002 5.002 0 006.001 0M18 7l3 9m-3-9l-6-2m0-2v2m0 16V5m0 16H9m3 0h3"/>
4587<title>scale</title></svg>
4588
4589                <span class="sr-only label">
4590                   Compare Products                </span>
4591
4592                <span class="absolute top-0 right-0 h-5 px-2 py-1 -mt-5 -mr-4 text-xs font-semibold
4593                    leading-none text-center text-white uppercase transform -translate-x-1
4594                    translate-y-1/2 bg-yellow-500 rounded-full"
4595                >
4596                    <span x-text="itemCount"></span>
4597                    <span x-show="itemCount === 1" class="sr-only">
4598                        item                    </span>
4599                    <span x-show="itemCount > 1" class="sr-only">
4600                        items                    </span>
4601                </span>
4602            </a>
4603
4604            <!--Search Icon-->
4605            <button id="menu-search-icon"
4606                    class="inline-block ml-1 no-underline sm:ml-3 hover:text-black hidden"
4607                    @click.prevent="
4608                        searchOpen = !searchOpen;
4609                        $nextTick(function () { document.querySelector('#search').select(); });
4610                    "
4611            >
4612                <span class="sr-only label">
4613                    Search                </span>
4614
4615                <svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" class="w-8 h-8 md:h-6 md:w-6 hover:text-black" width="25" height="25" role="img">
4616  <path stroke-linecap="round" stroke-linejoin="round" d="M21 21l-6-6m2-5a7 7 0 11-14 0 7 7 0 0114 0z"/>
4617<title>search</title></svg>
4618            </button>
4619
4620            <!--Customer Icon & Dropdown-->
4621            
4621<script>
4622"use strict";
4623
4624function initComponent() {
4625  return {
4626    cart: false,
4627    customer: false,
4628    receiveCustomerData(data) {
4629      if (data.cart) {
4630        this.cart = data.cart;
4631      }
4632      if (data.customer) {
4633        this.customer = data.customer;
4634      }
4635    }
4636  }
4637}
4638</script>
4638
4639
4640
4641<div x-data="{ open: false }" class="relative inline-block acc-dropdown">
4642        <div class="arrow-cus">
4643        <a
4644        href="https&#x3A;&#x2F;&#x2F;www.flooringinc.com&#x2F;customer&#x2F;account&#x2F;"
4645        id="customer-menu"
4646        class="block hover:text-black "
4647                    @click.prevent="$dispatch('popup-register',
4648                { open: true,openRegister : false,openLogin : true,openCreate :true,
4649                openButtonLogin :true,
4650                openButtonRegister :false,
4651            })"
4652                :aria-expanded="open ? 'true' : 'false'"
4653        aria-label="My&#x20;Account"
4654    >
4655            <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="currentColor"
4656             class="w-8 h-8 md:h-6 md:w-6" aria-hidden="true">
4657            <circle fill="none" cx="12" cy="7" r="3"></circle>
4658            <path d="M12 2C9.243 2 7 4.243 7 7s2.243 5 5 5 5-2.243 5-5S14.757 2 12 2zM12 10c-1.654
4659                0-3-1.346-3-3s1.346-3 3-3 3 1.346 3 3S13.654 10 12 10zM21 21v-1c0-3.859-3.141-7-7-7h-4c-3.86
4660                0-7 3.141-7 7v1h2v-1c0-2.757 2.243-5 5-5h4c2.757 0 5 2.243 5 5v1H21z">
4661            </path>
4662        </svg>
4663           
4664    </a>
4665        </div>
4666            <nav class="absolute right-0 z-20 hidden w-40 pt-3 pb-4 mt-2 -mr-4 pl-4 pr-4 overflow-auto origin-top-right rounded-sm
4667        shadow-lg sm:w-48 lg:mt-3 bg-container-lighter"
4668         :class="{ 'hidden' : !open }"
4669         @click.outside="open = false"
4670         x-cloak x-show="open"
4671         aria-labelledby="customer-menu"
4672    >
4673                    
4674<a class="block&#x20;px-4&#x20;py-2&#x20;lg&#x3A;px-5&#x20;lg&#x3A;py-2&#x20;hover&#x3A;bg-gray-100"
4675   onclick="hyva.setCookie && hyva.setCookie(
4676       'login_redirect',
4677       window.location.href,
4678       1
4679   )"
4680   href="https://www.flooringinc.com/customer/account/index/">
4681        Sign In    </a>
4682<a class="block&#x20;px-4&#x20;py-2&#x20;lg&#x3A;px-5&#x20;lg&#x3A;py-2&#x20;hover&#x3A;bg-gray-100"
4683   href="https://www.flooringinc.com/customer/account/create/"
4684   title=""
4685   >
4686        Create an Account    </a>
4687            </nav>
4688</div>
4689            <!--Quote Cart Icon (show when activeCartType is 'quote' and quote has items)-->
4690            <template x-if="activeCartType === 'quote' && quoteCart.summary_count">
4691            <a id="menu-cart-quote-icon"
4692               class="relative inline-block ml-1 no-underline sm:ml-3 hover:text-black pl-3"
4693               :class="{
4694                        'hidden': !(activeCartType === 'quote' && quoteCart.summary_count),
4695                        'block': activeCartType === 'quote' && quoteCart.summary_count }"
4696               href="https://www.flooringinc.com/amasty_quote/cart/"
4697            >
4698             <span class="checkout-icon">
4699                <svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" class="w-8 h-8 md:h-6 md:w-6 hover:text-black" width="25" height="25" role="img">
4700  <path stroke-linecap="round" stroke-linejoin="round" d="M3 3h2l.4 2M7 13h10l4-8H5.4M7 13L5.4 5M7 13l-2.293 2.293c-.63.63-.184 1.707.707 1.707H17m0 0a2 2 0 100 4 2 2 0 000-4zm-8 2a2 2 0 11-4 0 2 2 0 014 0z"/>
4701<title>shopping-cart</title></svg>
4702                </span>
4703                 <span x-text="quoteCart.summary_count"
4704                      class="absolute top-0 right-0 h-5 px-2 py-1 -mt-5 -mr-4 text-xs font-semibold
4705                        leading-none text-center text-white uppercase transform -translate-x-1
4706                        translate-y-1/2 rounded-full bg-primary"
4707                      :class="{
4708                        'hidden': !quoteCart.summary_count,
4709                        'block': quoteCart.summary_count }"
4710                ></span>
4711            </a>
4712            </template>
4713            <!--Regular Cart Icon (show when activeCartType is 'cart' or when quote mode but quote empty - always show an icon)-->
4713
4714            <a id="menu-cart-icon"
4715               x-show="activeCartType === 'cart' || (activeCartType === 'quote' && !quoteCart.summary_count)"
4716               @click.prevent.stop="$dispatch('toggle-cart',{});"               class="relative inline-block ml-6 no-underline hover:text-black"
4717               href="https://www.flooringinc.com/checkout/cart/index/"
4718            >
4719                <span class="sr-only label">
4720                    Cart                </span>
4721
4722                <span class="cart-icon">
4723                    <img src="https://www.flooringinc.com/static/version1789462004/frontend/Dcw/hyvadesktop/en_US/images/cart-icon.svg" alt="cart-icon" width="24" height="24">
4724                    <picture class="icon"><source type="image/webp" srcset="https://www.flooringinc.com/static/version1789462004/frontend/Dcw/hyvadesktop/en_US/images/arrow.webp"><img src="https://www.flooringinc.com/static/version1789462004/frontend/Dcw/hyvadesktop/en_US/images/arrow.png" alt="arrow" width="8" height="6" class="icon"></picture>
4725                </span>
4726
4727                <span x-text="cart.summary_count"
4728                      class="absolute top-0 right-0 h-5 px-2 py-1 -mt-5 -mr-4 text-xs font-semibold
4729                        leading-none text-center text-white uppercase transform -translate-x-1
4730                        translate-y-1/2 rounded-full bg-primary"
4731                      :class="{
4732                        'hidden': !cart.summary_count,
4733                        'block': cart.summary_count }"
4734                ></span>
4735            </a>
4736
4737        </div>
4738    </div>
4739
4740    <!--Cart Drawer-->
4741    
4741<script>
4742    function initCartDrawer() {
4743        return {
4744            open: false,
4745            isLoading: false,
4746            cart: {},
4747            maxItemsToDisplay: 10,
4748            itemsCount: 0,
4749            totalCartAmount: 0,
4750            getData(data) {
4751                if (data.cart) {
4752                    this.cart = data.cart;
4753                    this.itemsCount = data.cart.items && data.cart.items.length || 0;
4754                    this.totalCartAmount = this.cart.summary_count; 
4755                    //this.cart.summary_count = this.itemsCount;
4756                    this.setCartItems();
4757                } 
4758                this.isLoading = false;
4759            },
4760            cartItems: [],
4761            getItemCountTitle() {
4762                return hyva.strf('(%0 of %1)', this.maxItemsToDisplay, this.totalCartAmount)
4763            },
4764            setCartItems() {
4765                if(this.cart.items){
4766                this.cartItems = this.cart.items && this.cart.items.sort((a, b) => b.item_id - a.item_id) || [];
4767                } else {
4768                    this.cartItems = [];
4769                }
4770                if (this.maxItemsToDisplay > 0) {
4771                    this.cartItems = this.cartItems.slice(0, parseInt(this.maxItemsToDisplay, 10));
4772                }
4773                getCustomerData(['customer'], function(data) {
4774                if(data.messages.messages[0]){
4775                var messagesType = data.messages.messages[0].type;
4776                var messagesText = data.messages.messages[0].text;
4777                if(messagesType === "success"){
4778                    dispatchMessages([
4779                    {
4780                        type: messagesType,
4781                        text: messagesText
4782                    }
4783                    ]);
4784                        this.openCartDrawer();
4785                } else {
4786                    dispatchMessages([
4787                    {
4788                        type: messagesType,
4789                        text: messagesText
4790                    }
4791                    ]);
4792                }
4793                }
4794                window.dispatchEvent(new CustomEvent('amcart-loading-stop'));
4795                });             
4796                
4797                if(document.querySelectorAll('.btn_cart')) {
4798                    var addtocartnew = document.querySelectorAll('.btn_cart');
4799
4800                    addtocartnew.forEach(addtocartnew => {
4801                      addtocartnew.addEventListener('click', () => {
4802                        setTimeout(() => {
4803                        }, 2500); 
4804                      });
4805                    });
4806                }
4807                if(document.getElementById('product-addtocart-button')) {
4808                    var addtocartnew2 = document.getElementById('product-addtocart-button');
4809                    
4810                    addtocartnew2.addEventListener('click', () => {
4811                        setTimeout(() => {
4812                        }, 2500); 
4813                    });
4814                }
4815
4816               
4817            },
4818            deleteItemFromCart(itemId) {
4819                this.isLoading = true;
4820
4821                const formKey = hyva.getFormKey();
4822                const postUrl = BASE_URL + 'amasty_quote/quote/removeFromMinicart';
4823                fetch(postUrl, {
4824                    "headers": {
4825                        "content-type": "application/x-www-form-urlencoded; charset=UTF-8",
4826                    },
4827                    "body": "form_key=" + formKey + "&item_id=" + itemId,
4828                    "method": "POST",
4829                    "mode": "cors",
4830                    "credentials": "include"
4831                }).then(response => {
4832                    window.location.href = window.location.pathname; // Reload the page after item remove
4833                    if (response.redirected) {
4834                        window.location.href = response.url;
4835                    } else if (response.ok) {
4836                        return response.json();
4837                    } else {
4838                        window.dispatchMessages && window.dispatchMessages([{
4839                            type: 'warning',
4840                            text: 'Could\u0020not\u0020remove\u0020item\u0020from\u0020quote.'
4841                        }]);
4842                        this.isLoading = false;
4843                    }
4844                }).then(result => {
4845                    window.dispatchMessages && window.dispatchMessages([{
4846                        type: result.success ? 'success' : 'error',
4847                        text: result.success
4848                            ? 'You\u0020removed\u0020the\u0020item.'
4849                            : result.error_message
4850                    }], result.success ? 5000 : 0)
4851                    window.dispatchEvent(new CustomEvent('reload-customer-section-data'));
4852                });
4853            },
4854            toggleCartDrawer(event) {
4855                if (event.detail && event.detail.isOpen !== undefined) {
4856                    if (event.detail.isOpen) {
4857                        this.openCartDrawer()
4858                    } else {
4859                        this.open = false
4860                        this.$refs && this.$refs.cartDialogContent && hyva.releaseFocus(this.$refs.cartDialogContent)
4861                    }
4862                } else {
4863                                        this.openCartDrawer()
4864                }
4865            },
4866            openCartDrawer() {
4867                this.open = true;
4868                this.$nextTick(() => {
4869                    this.$refs && this.$refs.cartDialogContent && hyva.trapFocus(this.$refs.cartDialogContent)
4870                })
4871            },
4872            closeCartDrawer() {
4873                this.$dispatch('toggle-cart', { isOpen: false })
4874            }
4875        }
4876    }
4877    function getCustomerData(sections, callback) {
4878          fetch('/customer/section/load/?sections=')
4879            .then(response => response.json())
4880            .then(data => callback(data))
4881            .catch(error => console.error('Error fetching customer data:', error));
4882        }
4883</script>
4883
4884<section x-cloak
4885         x-show="cart"
4886         id="cart-drawer"
4887         x-data="initCartDrawer()"
4888         @private-content-loaded.window="getData($event.detail.data)"
4889         @toggle-cart.window="toggleCartDrawer($event)"
4890         @keydown.window.escape="closeCartDrawer"
4891>
4892        <div role="dialog"
4893             aria-labelledby="cart-drawer-title"
4894             aria-modal="true"
4895             @click.outside="open=false"
4896             class="fixed inset-y-0 right-0 z-30 flex max-w-full">
4897            <div class="backdrop"
4898                 x-show="open"
4899                 x-transition:enter="ease-in-out duration-500"
4900                 x-transition:enter-start="opacity-0"
4901                 x-transition:enter-end="opacity-100"
4902                 x-transition:leave="ease-in-out duration-500"
4903                 x-transition:leave-start="opacity-100"
4904                 x-transition:leave-end="opacity-0"
4905             role="button"
4906             @click="closeCartDrawer"
4907             aria-label="Close&#x20;minicart"></div>
4908            <div class="relative w-screen max-w-md shadow-2xl"
4909                 x-show="open"
4910                 x-transition:enter="transform transition ease-in-out duration-500 sm:duration-700"
4911                 x-transition:enter-start="translate-x-full"
4912                 x-transition:enter-end="translate-x-0"
4913                 x-transition:leave="transform transition ease-in-out duration-500 sm:duration-700"
4914                 x-transition:leave-start="translate-x-0"
4915                 x-transition:leave-end="translate-x-full"
4916            >
4917                <div
4918                    x-show="open"
4919                    x-transition:enter="ease-in-out duration-500"
4920                    x-transition:enter-start="opacity-0"
4921                    x-transition:enter-end="opacity-100"
4922                    x-transition:leave="ease-in-out duration-500"
4923                    x-transition:leave-start="opacity-100"
4924                    x-transition:leave-end="opacity-0" class="absolute top-0 right-0 flex pr-6 pt-19">
4925                    <button @click="open=false" aria-label="Close panel"
4926                            class="p-0 text-black transition duration-150 ease-in-out hover:text-black">
4927                        <svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" width="24" height="24" role="img">
4928  <path stroke-linecap="round" stroke-linejoin="round" d="M6 18L18 6M6 6l12 12"/>
4929<title>x</title></svg>
4930                    </button>
4931                </div>
4932                <div class="flex flex-col h-full bg-lightblue">
4933                    
4934                    <header class="px-4 pt-19 pb-6">
4935                        <h2 id="cart-drawer-title" class="text-size18 font-medium text-black">
4936                        <template x-if="!itemsCount">
4937                            <div>My Cart</div></template>
4938<template x-if="itemsCount">
4939                            <div class="minicart-item-count"><span class="minicart-total-cart-amount" x-html="totalCartAmount"></span> <span x-show="totalCartAmount > 1">items</span><span x-show="totalCartAmount == 1">item</span> in cart</div>
4940</template>
4941                            <span class="items-total text-xs text-black"
4942                                  x-show="maxItemsToDisplay && maxItemsToDisplay < itemsCount"
4943                                  x-text="getItemCountTitle()">
4944                            </span>
4945                        </h2>
4946                    </header>
4947
4948                    
4949<template x-if="!itemsCount">
4950                    <div class="relative px-4 py-6 border-bs sm:px-6 border-container">
4951                        Cart is empty                    </div>
4952                </template>
4953                    <div class="relative grid overflow-y-auto overflow-x-hidden bg-lightblue cart-items">
4954                        <template x-for="item in cartItems">
4955                            <div class="flex items-start cart-item px-4 pt-5 pb-6 transition duration-150
4956                                ease-in-out">
4957                                <template x-if="!item.product_has_url">
4958                                    <a :href="item.product_url" class="w-1/4 pr-6 image">
4959                                        <img
4960                                            :src="item.product_image.src"
4961                                            :width="item.product_image.width"
4962                                            :height="item.product_image.height"
4963                                            loading="lazy"
4964                                        />
4965                                    </a>
4966                                </template>
4967                                <template x-if="item.product_has_url == 1">
4968                                    <a :href="item.product_url" class="w-1/4 pr-6 image">
4969                                        <img
4970                                            :src="item.product_image.src"
4971                                            :width="item.product_image.width"
4972                                            :height="item.product_image.height"
4973                                            loading="lazy"
4974                                        />
4975                                    </a>
4976                                </template>
4977                                <div class="w-3/4">
4978                                    <div>
4979                                        <template x-if="!item.product_has_url">
4980                                            <a :href="item.product_url" class="prosku">
4981                                                <p><span class="product-title text-size16 font-semibold text-darkblack" x-html="item.product_name"></span></p>
4982                                            </a>
4983                                        </template>
4984                                        <template x-if="item.product_has_url == 1">
4985                                            <a :href="item.product_url" class="prosku">
4986                                                <p><span class="product-title text-size16 font-semibold text-darkblack" x-html="item.product_name"></span></p>
4987                                            </a>
4988                                        </template>
4989                                    </div>
4990                                    <template x-for="option in item.options">
4991                                    <div class="flex pt-2 pb-1 item-options w-full"
4992                                    x-show="option.label !== '' && !['Weight', 'Configurable Product SKU', 'Configurable Product Name', 'Configurable Product Category', 'Main Configurable Product Image Url', 'Main Configurable Product Image', 'Configurable Product Image', 'Color Display Name'].includes(option.label)">
4993                                            <div class="flex w-full">
4994                                                <p class="text-size14 font-medium text-black" x-show="option.label == 'Custom Length' || option.label == 'Roll Width' || option.label == 'Roll Length'" x-text="option.label + ':'"></p>
4995                                                <template x-if="!item.product_has_url">
4996                                                    <a :href="item.product_url" 
4997                                                    x-show="item.product_type !== 'grouped' && option.label != 'Configurable Product Image'"
4998                                                    class="inline-flex"><p class="pl-1 text-size14 font-normal text-black" x-html="option.value"></p></a>
4999                                                </template>
5000                                                <template x-if="item.product_has_url == 1">
5001                                                    <a :href="item.product_url"
5002                                                    x-show="item.product_type !== 'grouped' && option.label != 'Configurable Product Image'"
5003                                                    class="inline-flex"><p class="pl-1 text-size14 font-normal text-black" x-html="option.value"></p></a>
5004                                                </template>
5005                                            </div>
5006                                        </div>
5007                                    </template>
5008                                    <p class="pb-4 pt-1"><span x-html="item.product_price" class="text-size20 font-bold text-custom-blue pricebox"></span></p>
5009                                    <div class="text-xl flex qty-fields items-center">
5010                                        <p><span class="qty text-size14 font-semibold text-darkblack mr-1">QTY</span><span x-html="item.qty" class="qty-label text-center text-size16 font-semibold text-darkblack inline-block"></span></p>
5011                                        <div class="ml-auto">                                            
5012                                            <button 
5013                                                    @click="deleteItemFromCart(item.item_id)"
5014                                            >
5015                                                <picture><source type="image/webp" srcset="https://www.flooringinc.com/static/version1789462004/frontend/Dcw/hyvadesktop/en_US/images/Delete.webp"><img src="https://www.flooringinc.com/static/version1789462004/frontend/Dcw/hyvadesktop/en_US/images/Delete.png" alt="Delete" width="12" height="16"></picture>
5016                                            </button>
5017                                        </div>
5018                                    </div>                                   
5019
5020                                </div>
5021                            </div>
5022                        </template>
5023                    </div>
5024<template x-if="itemsCount">
5025                    
5026                    <div class="relative bg-lightblue grid pt-3 pb-4">
5027                        <div class="w-full transition duration-150 ease-in-out sub-total">
5028                            <p class="text-darkgray text-size16 font-normal flex items-center pb-2">Subtotal: <span x-html="cart.subtotal" class="font-bold text-size22 text-custom-blue"></span></p>
5029                        </div>
5030                        
5031                        <div class="w-full transition duration-150 ease-in-out
5032                            chekout-btn">                            
5033                            <a href="https://www.flooringinc.com/checkout/cart/"
5034                               class="no-underline block relative font-medium text-size16 text-custom-white bg-custom-blue">
5035                                Proceed to Cart                            </a>
5036                        </div>
5037                                            </div>
5038</template>
5039                                    </div>
5040            </div>
5041            <div class="flex flex-row justify-center items-center w-full h-full fixed select-none z-50"
5042     style="left: 50%;top: 50%;transform: translateX(-50%) translateY(-50%);background: rgba(255,255,255,0.7);"
5043     x-show="isLoading"
5044     x-transition:enter="ease-out duration-200"
5045     x-transition:enter-start="opacity-0"
5046     x-transition:enter-end="opacity-100"
5047     x-transition:leave="ease-in duration-200"
5048     x-transition:leave-start="opacity-100"
5049     x-transition:leave-end="opacity-0">
5050    <!-- By Sam Herbert (@sherb), for everyone. More @ http://goo.gl/7AJzbL -->
5051<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 57 57" stroke="currentColor" class="text-primary" width="57" height="57" role="img">
5052    <g fill="none" fill-rule="evenodd">
5053        <g transform="translate(1 1)" stroke-width="2">
5054            <circle cx="5" cy="50" r="5">
5055                <animate attributeName="cy" begin="0s" dur="2.2s" values="50;5;50;50" calcMode="linear" repeatCount="indefinite"/>
5056                <animate attributeName="cx" begin="0s" dur="2.2s" values="5;27;49;5" calcMode="linear" repeatCount="indefinite"/>
5057            </circle>
5058            <circle cx="27" cy="5" r="5">
5059                <animate attributeName="cy" begin="0s" dur="2.2s" from="5" to="5" values="5;50;50;5" calcMode="linear" repeatCount="indefinite"/>
5060                <animate attributeName="cx" begin="0s" dur="2.2s" from="27" to="27" values="27;49;5;27" calcMode="linear" repeatCount="indefinite"/>
5061            </circle>
5062            <circle cx="49" cy="50" r="5">
5063                <animate attributeName="cy" begin="0s" dur="2.2s" values="50;50;5;50" calcMode="linear" repeatCount="indefinite"/>
5064                <animate attributeName="cx" from="49" to="49" begin="0s" dur="2.2s" values="49;5;27;49" calcMode="linear" repeatCount="indefinite"/>
5065            </circle>
5066        </g>
5067    </g>
5068<title>loader</title></svg>
5069    <div class="ml-10 text-primary text-xl">
5070        Loading...    </div>
5071</div>
5072        </div>
5073    </template>
5074</section>
5075
5076    <!--Authentication Pop-Up-->
5077    
5077<script>
5078    function initAuthentication() {
5079        return {
5080            open: false,
5081            forceAuthentication: false,
5082            checkoutUrl: 'https://www.flooringinc.com/checkout/index/',
5083            errors: 0,
5084            hasCaptchaToken: 0,
5085            displayErrorMessage: false,
5086            errorMessages: [],
5087            setErrorMessages: function setErrorMessages(messages) {
5088                this.errorMessages = [messages];
5089                this.displayErrorMessage = this.errorMessages.length;
5090            },
5091            submitForm: function () {
5092                // Do not rename $form, the variable is expected to be declared in the recaptcha output
5093                const $form = document.querySelector('#login-form-new');
5094                
5095                if (this.errors === 0) {
5096                    this.dispatchLoginRequest($form);
5097                }
5098            },
5099            onPrivateContentLoaded: function (data) {
5100                const isLoggedIn = data.customer && data.customer.firstname;
5101                if (data.cart && !isLoggedIn) {
5102                    this.forceAuthentication = !data.cart.isGuestCheckoutAllowed;
5103                }
5104            },
5105            redirectIfAuthenticated: function (event) {
5106                if (event.detail && event.detail.url) {
5107                    this.checkoutUrl = event.detail.url;
5108                }
5109                if (!this.forceAuthentication) {
5110                    window.location.href = this.checkoutUrl;
5111                }
5112            },
5113            dispatchLoginRequest: function(form) {
5114                this.isLoading = true;
5115                const username = this.$refs['customer-email'].value;
5116                const password = this.$refs['customer-password'].value;
5117                const formKey = hyva.getFormKey();
5118                const bodyFields = {
5119                    'username': username,
5120                    'password': password,
5121                    'formKey': formKey
5122                };
5123                                const fieldName = 'g\u002Drecaptcha\u002Dresponse';
5124                const recaptchaField = fieldName && form[fieldName];
5125                if (recaptchaField) {
5126                    bodyFields[fieldName] = recaptchaField.value;
5127                }
5128                fetch('https://www.flooringinc.com/customer/ajax/login/', {
5129                        method: 'POST',
5130                        headers: {
5131                            'Content-Type': 'application/json',
5132                            'X-Requested-With': 'XMLHttpRequest'
5133                        },
5134                        body: JSON.stringify(bodyFields)
5135                    }
5136                ).then(response => {
5137                        return response.json()
5138                    }
5139                ).then(data=> {
5140                    this.isLoading = false;
5141                    if (data.errors) {
5142                        dispatchMessages([{
5143                            type: 'error',
5144                            text: data.message
5145                        }], 5000);
5146                        this.errors = 1;
5147                        this.hasCaptchaToken = 0;
5148                    } else {
5149                        window.location.href = this.checkoutUrl;
5150                    }
5151                });
5152            }
5153        }
5154    }
5155</script>
5155
5156<section id="authentication-popup"
5157         x-data="initAuthentication()"
5158         @private-content-loaded.window="onPrivateContentLoaded($event.detail.data)"
5159         @toggle-authentication.window="open = forceAuthentication; redirectIfAuthenticated(event)"
5160         @keydown.window.escape="open = false"
5161>
5162        <div role="dialog"
5163             aria-modal="true"
5164             @click.outside="open = false"
5165             class="inset-y-0 right-0 z-30 flex max-w-full"
5166             :class="{'fixed': open }" x-cloak x-show="open"
5167        >
5168            <div class="relative w-screen max-w-md pt-16 bg-container-lighter"
5169                 x-show="open"
5170                 x-cloak=""
5171                 x-transition:enter="transform transition ease-in-out duration-500 sm:duration-700"
5172                 x-transition:enter-start="translate-x-full"
5173                 x-transition:enter-end="translate-x-0"
5174                 x-transition:leave="transform transition ease-in-out duration-500 sm:duration-700"
5175                 x-transition:leave-start="translate-x-0"
5176                 x-transition:leave-end="translate-x-full"
5177            >
5178                <div
5179                    x-show="open"
5180                    x-cloak=""
5181                    x-transition:enter="ease-in-out duration-500"
5182                    x-transition:enter-start="opacity-0"
5183                    x-transition:enter-end="opacity-100"
5184                    x-transition:leave="ease-in-out duration-500"
5185                    x-transition:leave-start="opacity-100"
5186                    x-transition:leave-end="opacity-0" class="absolute top-0 right-0 flex p-2 mt-2">
5187                    <button @click="open = false;" aria-label="Close panel"
5188                            class="p-2 text-gray-300 transition duration-150 ease-in-out hover:text-black">
5189                        <svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" width="24" height="24" role="img">
5190  <path stroke-linecap="round" stroke-linejoin="round" d="M6 18L18 6M6 6l12 12"/>
5191<title>x</title></svg>
5192                    </button>
5193                </div>
5194                <div class="flex flex-col h-full py-6 space-y-6 bg-white shadow-xl overflow-y-auto">
5195                    <div class="block-customer-login bg-container border border-container mx-4 p-4 shadow-sm">
5196                        <p id="authenticate-customer-login" class="text-lg leading-7 text-gray-900">
5197                            <strong class="font-medium">Checkout using your account</strong>
5198                        </p>
5199
5200                        <form class="form form-login"
5201                              method="post"
5202                              @submit.prevent="submitForm();"
5203                              id="login-form-new"
5204                        >
5205                                                        <div class="fieldset login">
5206                                <div class="field email required">
5207                                    <label class="label" for="form-login-username" form="login-form" >
5208                                        <span>Email Address</span>
5209                                    </label>
5210                                    <div class="control">
5211                                        <input name="username"
5212                                               id="form-login-username"
5213                                               x-ref="customer-email"
5214                                               @change="errors = 0"
5215                                               type="email"
5216                                               required
5217                                               class="form-input input-text"
5218                                        >
5219                                    </div>
5220                                </div>
5221                                <div class="field password required">
5222                                    <label for="form-login-password" class="label" form="login-form">
5223                                        <span>Password</span>
5224                                    </label>
5225                                    <div class="control">
5226                                        <input name="password"
5227                                               id="form-login-password"
5228                                               type="password"
5229                                               class="form-input input-text"
5230                                               required
5231                                               x-ref="customer-password"
5232                                               @change="errors = 0"
5233                                        >
5234                                    </div>
5235                                </div>
5236
5237                                <input name="context" type="hidden" value="checkout" />
5238                                <div class="actions-toolbar flex justify-between pt-6 pb-2 items-center">
5239                                    <button type="submit"                                            class="inline-flex btn btn-primary disabled:opacity-75"
5240                                    >
5241                                        Sign In                                    </button>
5242                                    <a href="https://www.flooringinc.com/customer/account/forgotpassword/"
5243                                    >
5244                                        Forgot Your Password?                                    </a>
5245                                </div>
5246
5247                            </div>
5248                        </form>
5249                    </div>
5250                    <div class="mx-4">
5251                                            </div>
5252                    <div class="block-new-customer bg-container border border-container mx-4 p-4 shadow-sm">
5253                        <p id="authenticate-new-customer" class="text-lg mb-2 leading-7 text-gray-900">
5254                            <strong class="font-medium">Checkout as a new customer</strong>
5255                        </p>
5256
5257                        <div class="block-content">
5258                            <p class="mb-1">
5259                                Creating an account has many benefits:                            </p>
5260                            <ul class="list-disc pl-5">
5261                                <li> See order and shipping status</li>
5262                                <li> Track order history</li>
5263                                <li> Check out faster</li>
5264                            </ul>
5265                            <div class="actions-toolbar flex justify-between mt-6 mb-2 items-center">
5266                                <a href="https://www.flooringinc.com/customer/account/create/"
5267                                   class="inline-flex btn btn-primary">
5268                                    Create an Account                                </a>
5269                            </div>
5270                        </div>
5271                    </div>
5272                </div>
5273            </div>
5274        </div>
5275</section>
5276
5277    <!--Cart Quote Drawer-->
5278    
5278<script>
5279    function initQuoteCartDrawer() {
5280        return {
5281            open: false,
5282            cartData: {},
5283            getQuoteCartData(data) {
5284                if (data.quotecart) {
5285                    this.cartData = data.quotecart
5286                    this.setCartItems();
5287                }
5288            },
5289            cartItems: [],
5290            setCartItems() {
5291                this.cartItems = this.cartData && this.cartData.items.sort(function(a,b) { return a.item_id - b.item_id }) || {}
5292            },
5293            deleteItemFromCart(itemId) {
5294                var formKey = document.querySelector('input[name=form_key]').value;
5295                fetch(BASE_URL+"amasty_quote/sidebar/removeItem/", {
5296                    "headers": {
5297                        "content-type": "application/x-www-form-urlencoded; charset=UTF-8",
5298                    },
5299                    "body": "form_key="+ formKey + "&item_id="+itemId,
5300                    "method": "POST",
5301                    "mode": "cors",
5302                    "credentials": "include"
5303                }).then(function (response) {
5304                    if (response.redirected) {
5305                        window.location.href = response.url;
5306                    } else if (response.ok) {
5307                        return response.json();
5308                    } else {
5309                        typeof window.dispatchMessages !== "undefined" && window.dispatchMessages(
5310                            [{
5311                                type: "warning",
5312                                text: "Could not remove item from quote."
5313                            }], 5000
5314                        );
5315                    }
5316                }).then(function (response) {
5317                    typeof window.dispatchMessages !== "undefined" && window.dispatchMessages(
5318                        [{
5319                            type: response.success ? "success" : "error",
5320                            text: response.success
5321                                ? "You removed the item."
5322                                : response.error_message
5323                        }], 5000
5324                    );
5325                    var reloadCustomerDataEvent = new CustomEvent("reload-customer-section-data");
5326                    window.dispatchEvent(reloadCustomerDataEvent);
5327                });
5328            }
5329        }
5330    }
5331</script>
5331
5332<section id="cart-quote-drawer"
5333         x-data="initQuoteCartDrawer()"
5334         @private-content-loaded.window="getQuoteCartData(event.detail.data)"
5335         @toggle-quote-cart.window="open=true;"
5336         @keydown.window.escape="open=false"
5337>
5338    <template x-if="cartData && cartData.summary_count">
5339        <div role="dialog"
5340             aria-labelledby="cart-drawer-title"
5341             aria-modal="true"
5342             @click.away="open = false"
5343             class="fixed inset-y-0 right-0 z-30 flex max-w-full">
5344            <div class="backdrop"
5345                 x-show="open"
5346                 x-transition:enter="ease-in-out duration-500"
5347                 x-transition:enter-start="opacity-0"
5348                 x-transition:enter-end="opacity-100"
5349                 x-transition:leave="ease-in-out duration-500"
5350                 x-transition:leave-start="opacity-100"
5351                 x-transition:leave-end="opacity-0"
5352                 @click="open = false"
5353                 aria-label="Close panel"></div>
5354            <div class="relative w-screen max-w-md shadow-2xl"
5355                 x-show="open"
5356                 x-transition:enter="transform transition ease-in-out duration-500 sm:duration-700"
5357                 x-transition:enter-start="translate-x-full"
5358                 x-transition:enter-end="translate-x-0"
5359                 x-transition:leave="transform transition ease-in-out duration-500 sm:duration-700"
5360                 x-transition:leave-start="translate-x-0"
5361                 x-transition:leave-end="translate-x-full"
5362            >
5363                <div
5364                    x-show="open"
5365                    x-transition:enter="ease-in-out duration-500"
5366                    x-transition:enter-start="opacity-0"
5367                    x-transition:enter-end="opacity-100"
5368                    x-transition:leave="ease-in-out duration-500"
5369                    x-transition:leave-start="opacity-100"
5370                    x-transition:leave-end="opacity-0" class="absolute top-0 right-0 flex mr-3 mt-2">
5371                    <button @click="open = false" aria-label="Close panel"
5372                            class="p-2 text-gray-300 transition duration-150 ease-in-out hover:text-black">
5373                        <svg class="w-6 h-6" fill="none" viewBox="0 0 24 24" stroke="currentColor">
5374                            <path stroke-linecap="round" stroke-linejoin="round"
5375                                  stroke-width="2" d="M6 18L18 6M6 6l12 12">
5376                            </path>
5377                        </svg>
5378                    </button>
5379                </div>
5380                <div class="flex flex-col h-full py-6 space-y-6 bg-white shadow-xl">
5381                    <header class="px-4 sm:px-6">
5382                        <div id="cart-drawer-title" class="text-lg font-medium leading-7 text-gray-900">
5383                            My Quote Cart                        </div>
5384                    </header>
5385                    <div class="relative grid gap-6 px-4 py-6 overflow-y-auto bg-white border-b
5386                        sm:gap-8 sm:px-6 border-container">
5387                        <template x-for="item in cartItems">
5388                            <div class="flex items-start p-3 -m-3 space-x-4 transition duration-150
5389                                ease-in-out rounded-lg hover:bg-gray-100">
5390                                <a :href="item.product_url" class="w-1/4">
5391                                    <img
5392                                        :src="item.product_image.src"
5393                                        :width="item.product_image.width"
5394                                        :height="item.product_image.height"
5395                                        loading="lazy"
5396                                    />
5397                                </a>
5398                                <div class="w-3/4 relative">
5399                                    <div>
5400                                        <div class="text-xl">
5401                                            <a :href="item.product_url" class="hover:underline">
5402                                                <span x-html="item.qty"></span> x <span x-html="item.product_name"></span>
5403                                            </a>
5404                                        </div>
5405                                        <div class="text-sm"><span x-html="item.product_sku"></div>
5406                                    </div>
5407                                    <template x-for="option in item.options">
5408                                        <div class="pt-2">
5409                                            <p class="font-semibold" x-text="option.label + ':'"></p>
5410                                            <p class="text-secondary" x-html="option.value"></p>
5411                                        </div>
5412                                    </template>
5413                                    <div><span x-html="item.product_price"></span></div>
5414                                    <div class="pt-4">
5415                                        <a :href="item.configure_url"
5416                                           x-show="item.product_type !== 'grouped'"
5417                                            class="inline-flex p-2 mr-2 btn btn-primary">
5418                                            <svg fill="none" viewBox="0 0 24 24" stroke="currentColor"
5419                                                 size="16" class="w-5 h-5">
5420                                                <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2"
5421                                                      d="M15.232 5.232l3.536 3.536m-2.036-5.036a2.5 2.5 0 113.536
5422                                                      3.536L6.5 21.036H3v-3.572L16.732 3.732z">
5423                                                </path>
5424                                            </svg>
5425                                        </a>
5426                                        <button class="inline-flex p-2 btn btn-primary"
5427                                                @click="deleteItemFromCart(item.item_id)"
5428                                        >
5429                                            <svg fill="none" viewBox="0 0 24 24" stroke="currentColor"
5430                                                 size="16" class="w-5 h-5">
5431                                                <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2"
5432                                                      d="M19 7l-.867 12.142A2 2 0 0116.138 21H7.862a2 2 0
5433                                                      01-1.995-1.858L5 7m5 4v6m4-6v6m1-10V4a1 1 0 00-1-1h-4a1 1
5434                                                      0 00-1 1v3M4 7h16">
5435                                                </path>
5436                                            </svg>
5437                                        </button>
5438                                    </div>
5439                                </div>
5440                            </div>
5441                        </template>
5442                    </div>
5443                    <div class="relative grid gap-6 px-4 py-6 bg-white sm:gap-8 sm:px-6">
5444                        <div class="w-full p-3 -m-3 space-x-4 transition duration-150 ease-in-out rounded-lg
5445                            hover:bg-gray-100">
5446                            <span>Cart Subtotal:</span>
5447                            <span class="text-gray-900 font-bold" x-text="hyva.formatPrice(cartData.subtotalAmount)"></span>
5448                        </div>
5449                        <div class="w-full">
5450                            <a href="https://www.flooringinc.com/amasty_quote/cart/"
5451                               class="btn btn-secondary justify-center">
5452                                View and Edit Cart                            </a>
5453                        </div>
5454                    </div>
5455                </div>
5456            </div>
5457        </div>
5458    </template>
5459</section>
5460
5461</div>
5462
5463<div x-data="initKlaviyoCustomerTracking()"
5464     @private-content-loaded.window="sendCustomerDataToKlaviyo(event.detail.data)"></div>
5465    
5465<script>
5466        function initKlaviyoCustomerTracking() {
5467            return {
5468                sendCustomerDataToKlaviyo(data) {
5469                    window.addEventListener('init-external-scripts', () => {
5470                    const _learnq = window._learnq || [];
5471                    const customer = data.customer;
5472                    var resource = document.createElement('script');
5473                    resource.async = "true";
5474                    resource.src = "https://static.klaviyo.com/onsite/js/klaviyo.js?company_id=WAwVDg";
5475                    var script = document.getElementsByTagName('script')[0];
5476                    script.parentNode.insertBefore(resource, script);
5477
5478                    if (customer && customer.email) {
5479                        script.addEventListener('load', function() {
5480                            _learnq.push(['identify', {
5481                                $email: customer.email,
5482                                $first_name: customer.firstname ? customer.firstname : '',
5483                                $last_name: customer.lastname ? customer.lastname : ''
5484                            }]);
5485                        });
5486                    }
5487                  }, {once: true, passive: true});
5488                }
5489            }
5490        }
5491    </script>
5491
5492<a class="action skip sr-only contentarea"
5493   href="#contentarea">
5494    <span>
5495        Skip to Content    </span>
5496</a>
5497<div class="widget block block-static-block">
5498    <div data-content-type="html" data-appearance="default" data-element="main" data-decoded="true"><div class="notification5 text-center text-size13 font-normal text-white bg-[#15324C]">		
5499		<style>#html-body [data-pb-style=W9O5WD4]{justify-content:flex-start;display:flex;flex-direction:column;background-position:left top;background-size:cover;background-repeat:no-repeat;background-attachment:scroll}</style><div data-content-type="row" data-appearance="contained" data-element="main"><div data-enable-parallax="0" data-parallax-speed="0.5" data-background-images="{}" data-background-type="image" data-video-loop="true" data-video-play-only-visible="true" data-video-lazy-load="true" data-video-fallback-src="" data-element="inner" data-pb-style="W9O5WD4"><div data-content-type="html" data-appearance="default" data-element="main" data-decoded="true"><center>
5500<p style="font-size: medium;">🏈 Game Day Ready - Save Up to 35% Off - Sale Ends Sunday 10/4 </p>
5501
5502</center>
5503</div></div></div></div></div></div>
5504</header><main id="maincontent" class="page-main"><div id="contentarea" tabindex="-1"></div>
5505<div class="page messages">
5505<script>
5506    function initMessages() {
5507        "use strict";
5508        return {
5509            messages: window.mageMessages || [],
5510            isEmpty() {
5511                return this.messages.reduce(
5512                    function (isEmpty, message) {
5513                        return isEmpty && message === undefined
5514                    }, true
5515                )
5516            },
5517            removeMessage(messageIndex) {
5518                this.messages[messageIndex] = undefined;
5519            },
5520            addMessages(messages, hideAfter) {
5521                messages.map((message) => {
5522                    /* Code to avoid multiple messages on the page */
5523					
5524					if (message.text.includes("A customer with the same email address already exists")) {
5525                        message.text = 'A customer with the same email address already exists in an associated website. If you would like to upgrade your account to a Pro Account - please <a href='+BASE_URL+'contact>contact customer service</a>.';
5526                    }
5527                    if(this.messages!="") {                        
5528                        this.messages=[];    
5529                    }
5530                    this.messages = this.messages.concat(message);
5531                    if (hideAfter) {
5532                        this.setHideTimeOut(this.messages.length -1, hideAfter);
5533                    }
5534                });
5535            },
5536            setHideTimeOut(messageIndex, hideAfter) {
5537                setTimeout((messageIndex) => {
5538                    this.removeMessage(messageIndex);
5539                }, hideAfter, messageIndex);
5540            },
5541            eventListeners: {
5542                ['@messages-loaded.window']() {
5543                   this.addMessages(event.detail.messages, event.detail.hideAfter)
5544                },
5545                ['@private-content-loaded.window'](event) {
5546                    const data = event.detail.data;
5547                    if (
5548                        data.messages &&
5549                        data.messages.messages &&
5550                        data.messages.messages.length
5551                    ) {
5552                        this.addMessages(data.messages.messages);
5553                    }
5554                },
5555                ['@clear-messages.window']() {
5556                    this.messages = [];
5557                }
5558            }
5559        }
5560    }
5561</script>
5561
5562<section id="messages"
5563         x-data="initMessages()"
5564         x-bind="eventListeners"
5565>
5566    <template x-if="!isEmpty()">
5567        <div class="w-full">
5568            <div role="alert" class="messages container">
5569                <template x-for="(message, index) in messages" :key="index">
5570                    <div>
5571                        <template x-if="message">
5572                            <div class="message" :class="message.type"
5573                                 :ui-id="'message-' + message.type"
5574                            >
5575                                <span x-html="message.text"></span>
5576                                <a href="#" class="close cursor-pointer" title="close"
5577                                   @click.prevent="removeMessage(index)">
5578                                    <svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" class="text-white" width="18" height="18" role="img">
5579  <path stroke-linecap="round" stroke-linejoin="round" d="M6 18L18 6M6 6l12 12"/>
5580<title>x</title></svg>
5581                                </a>
5582                            </div>
5583                        </template>
5584                    </div>
5585                </template>
5586            </div>
5587        </div>
5588    </template>
5589</section></div><div class="container flex flex-col md:flex-row flex-wrap font-bold">
5590    <h1 class="text-gray-900 page-title title-font"
5591        >
5592						<span class="base" data-ui-id="page-title-wrapper" >Customer Login</span>		    </h1>
5593    </div>
5594<div class="widget block block-static-block">
5595    <style>#html-body [data-pb-style=UYH2DF7]{justify-content:flex-start;display:flex;flex-direction:column;background-position:left top;background-size:cover;background-repeat:no-repeat;background-attachment:scroll}</style><div class="notification2 bg-custom-blue" data-content-type="row" data-appearance="full-bleed" data-enable-parallax="0" data-parallax-speed="0.5" data-background-images="{}" data-background-type="image" data-video-loop="true" data-video-play-only-visible="true" data-video-lazy-load="true" data-video-fallback-src="" data-element="main" data-pb-style="UYH2DF7"><div data-content-type="html" data-appearance="default" data-element="main" data-decoded="true"></div></div></div>
5596<div class="widget block block-static-block">
5597    <style>#html-body [data-pb-style=A9GJREG]{justify-content:flex-start;display:flex;flex-direction:column;background-position:left top;background-size:cover;background-repeat:no-repeat;background-attachment:scroll}</style><div data-content-type="row" data-appearance="contained" data-element="main"><div data-enable-parallax="0" data-parallax-speed="0.5" data-background-images="{}" data-background-type="image" data-video-loop="true" data-video-play-only-visible="true" data-video-lazy-load="true" data-video-fallback-src="" data-element="inner" data-pb-style="A9GJREG"><div data-content-type="html" data-appearance="default" data-element="main" data-decoded="true"></div></div></div></div>
5598<div class="columns"><div class="column main">    
5598<script>
5599
5600    
5601</script>
vendor: 2 bytes, line 5601
5601
5602<script>
5603    function samplesubmit(mainproduct,inputValue,productids,colors,spidsColors,confproname,confproid,childproids) {
5604        this.isLoading = true;
5605        const formKey = hyva.getFormKey();
5606        const postUrl = BASE_URL + 'sampleproduct/Sample/Products/';
5607        fetch(postUrl, {
5608            "headers": {
5609                "content-type": "application/x-www-form-urlencoded; charset=UTF-8",
5610            },
5611            "body": "form_key=" + formKey + "&action_type=" + inputValue+ "&pids=" + productids+ "&colors=" + colors+ "&spidsColors=" + spidsColors+ "&confproname=" + confproname+ "&confproid=" + confproid +"&childproid=" + childproids,
5612            "method": "POST",
5613            "mode": "cors",
5614            "credentials": "include"
5615        }).then(response => {
5616            //this.isLoading = false;
5617            //window.dispatchEvent(new CustomEvent('reload-customer-section-data'));
5618            //fetchHtmlContent(mainproduct);
5619            if (! response.ok) console.warn('GET request failed');
5620            return response.json();
5621        }).then(result => {
5622            this.isLoading = false;
5623            window.dispatchEvent(new CustomEvent('reload-customer-section-data'));
5624            fetchHtmlContent(mainproduct,result.is_sample_added); 
5625         }); 
5626    }
5627  </script>
5627  
5628  
5628<script>
5629  function fetchHtmlContent(pid,is_sample_added) {
5630    console.log('Fetching HTML content for PID:', pid);
5631    const formKey = hyva.getFormKey();
5632    const randomString = Math.random().toString(36).substring(2, 15);
5633    const postUrl = BASE_URL + 'sampleproduct/sample/popup/?pid='+pid;
5634    fetch(postUrl)
5635      .then(response => response.text())
5636      .then(html => {
5637        console.log('Response received:', html);
5638      let myDivelements = document.getElementsByClassName('htmlcontent'+pid);
5639      var numberofelements=myDivelements.length;
5640      for(var i=0;i<numberofelements;++i){
5641        myDivelements[i].innerHTML = html;
5642      }
5643      if(is_sample_added == 1 ){ //&& window.innerWidth <= 767
5644        document.querySelector(".order-free-sample-popup .closemodal").dispatchEvent(new Event('click'));
5645        document.querySelector("#menu-cart-icon").dispatchEvent(new Event('click'));
5646      }
5647    })
5648      .catch(error => {
5649        console.error(error);
5650      });
5651  }
5652</script>
5652  
5653    
5653<script>
5654        if (window.require) {
5655            require(['jquery', 'domReady!'], function($){
5656                if ($('.mfblogunveil').length) {
5657                    require(['Magefan_Blog/js/lib/mfblogunveil'], function(){
5658                        $('.mfblogunveil').mfblogunveil();
5659                    });
5660                }
5661            });
5662        } else {
5663            /* e.g. hyva theme */
5664            document.addEventListener("DOMContentLoaded", function(){
5665                var items =  document.getElementsByClassName('mfblogunveil');
5666                var el, url;
5667                if (items.length) {
5668                    for (var i=0; i<items.length;i++) {
5669                        el = items[i];
5670                        url = el.getAttribute('data-original');
5671                        if (!url) {
5672                            continue;
5673                        }
5674                        if ('IMG' == el.tagName) {
5675                            el.src = url;
5676                        } else {
5677                            el.style.backgroundImage = "url('" + url  + "')";
5678                        }
5679                    }
5680                }
5681            });
5682        }
5683    </script>
5683
5684
5685<div id="customer-login-container" class="login-container"><div class="customer_login_main">
5686    <div class="block-new-customer social_login margin" >
5687        <h2 id="authenticate-new-customer" class="text-size18 font-medium text-darkblack">
5688            Log In        </h2>
5689        <div class="block-content">
5690                                <div id="add_button_register_byclass" x-data="bssButtonSocial()" x-ref="registerSocialButton">
5691                        <div class="">
5692                            <div class="sociallogin-buttons">
5693                                <ul class="sociallogin-clearfix flex flex-wrap">
5694                                                                            <li class="w-full text-size14 font-medium text-darkblack relative sociallogin-button googleplus"   title="Register with Google">
5695                                            <a class="sociallogin-button-link sociallogin-button-click" id="sociallogin-button-click" rel="nofollow"
5696                                                href="javascript:void(0);" data-href="https://accounts.google.com/o/oauth2/auth?response_type=code&redirect_uri=https%3A%2F%2Fwww.flooringinc.com%2Fsociallogin%2Faccount%2Flogin%2Ftype%2Fgoogleplus%2F&client_id=900046866587-mph1s7dsg2dcau694j9ukb0m26hukidu.apps.googleusercontent.com&scope=https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fuserinfo.profile+https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fuserinfo.email&state=&access_type=offline&approval_prompt=auto"
5697                                                data-width="630"
5698                                                data-height="650"
5699                                                x-ref="googleplus"
5700                                                @click="popupSocial($refs.googleplus)">
5701                                                <span class="sociallogin-button-auto">
5702                                                    <span class="sociallogin-button-icon">
5703                                                                                                            </span>
5704                                                                                                            <span class="sociallogin-button-text">Login with Google</span>
5705                                                                                                    </span>
5706                                            </a>
5707                                        </li>
5708                                                                                                                </ul>
5709                                <p class="or">or</p>
5710                                                            </div>
5711                        </div>
5712                        <div style="clear: both;"></div>
5713                    </div>
5714                    </div>
5715    </div>  
5716    <div class="block block-customer-login">
5717        <div class="block-content" aria-labelledby="block-customer-login-heading">
5718            <form class="form form-login"
5719                enctype="multipart/form-data"
5720                action="https://www.flooringinc.com/customer/account/loginPost/"
5721                method="post"
5722                id="login-form"
5723                data-mage-init='{"validation":{}}'>
5724                <input name="form_key" type="hidden" value="Jn9pE0dYVl7fyGdn" />                <fieldset class="fieldset login" data-hasrequired="* Required Fields">
5725                    <div class="field email required">
5726                        <label class="label" for="email"><span>Email</span></label>
5727                        <div class="control">
5728                            <input name="login[username]" value=""
5729                                 autocomplete="off"                                   id="email" type="email" class="input-text"
5730                                   title="Email"
5731                                   placeholder="Email&#x20;address"
5732                                   data-mage-init='{"mage/trim-input":{}}'
5733                                   data-validate="{required:true, 'validate-email':true}">
5734                        </div>
5735                    </div>
5736                    <div class="field password required">
5737                        <label for="pass" class="label"><span>Password</span></label>
5738                        <div class="control">
5739                            <input name="login[password]" type="password"
5740                                 autocomplete="off"                                   class="input-text" id="pass"
5741                                   title="Password"
5742                                   placeholder="Password"
5743                                   data-validate="{required:true}">
5744                        </div>
5745                    </div>
5746                    <div class="field choice" data-bind="scope: 'showPassword'">
5747                        <!-- ko template: getTemplate() --><!-- /ko -->
5748                    </div>
5749                    <div class="flex justify-between items-center">
5750                        <div class="field choice showPassword" x-data>                        
5751                            <input type="checkbox" name="login-show-password" @click="showLoginPassword()" id="login-show-password" value="" class="checkbox">
5752                            <label class="cursor-pointer text-size12 font-normal text-darkblack" for="login-show-password">Show password</label>
5753                            <!-- <span class="cursor-pointer text-size12 font-normal text-darkblack" @click="showLoginPasswordForLable()" id="show-password-label" >
5754                                Show Password  
5755                            </span>-->
5756                        </div> 
5757                        <div class="secondary"><a class="action remind cursor-pointer text-size12 font-normal text-darkblack underline" href="https://www.flooringinc.com/customer/account/forgotpassword/"><span>Forgot Password?</span></a></div>    
5758                    </div>                    
5759                    <div class="actions-toolbar w-full">
5760                        <div class="primary w-full"><button type="submit" class="action login primary w-full" name="send" id="send2"><span>Log In</span></button></div>
5761                        
5762                    </div>
5763
5764                <div class="block-new-customer new_customer text-center" x-show ="openCreate">
5765                    <h2 id="authenticate-new-customer" class="text-size13 font-normal text-darkblack">
5766                        New Customer?                    </h2>
5767                    <div class="block-content">
5768                        <div class="actions-toolbar">
5769                            <a class="block cursor-pointer text-size18 font-semibold text-custom-blue"
5770                            href="https://www.flooringinc.com/customer/account/create/"  >
5771                                Sign Up Now                            </a>
5772                        </div>
5773                   </div>
5774                </div>
5775                </fieldset>
5776            </form>
5777        </div>
5778    </div>
5779    
5779<script>
5780        function bssButtonSocial() {
5781            return {
5782                renderShowmore : function (element) {
5783                    var socialButton = element.querySelector('.sociallogin-clearfix').getElementsByTagName("li");
5784                    for (let i = 0; i <= socialButton.length - 1; i++) {
5785                        socialButton[i].style.display = 'block';
5786                    }
5787                    element.querySelector('.sociallogin-showmore').style.display = 'none';
5788                },
5789                popupSocial: function (element) {
5790                    var href = element.getAttribute('data-href');
5791                    var width = element.getAttribute('data-width');
5792                    var height = element.getAttribute('data-height');
5793                    var popup_window = null;
5794                    if (!width) {
5795                        width = 650;
5796                    }
5797
5798                    if(!height) {
5799                        height = 350;
5800                    }
5801
5802                    var left = parseInt((window.innerWidth- width) / 2);
5803                    var top = parseInt((window.innerHeight - height) / 2);
5804
5805                    var params = [
5806                        'resizable=yes',
5807                        'scrollbars=no',
5808                        'toolbar=no',
5809                        'menubar=no',
5810                        'location=no',
5811                        'directories=no',
5812                        'status=yes',
5813                        'width='+ width,
5814                        'height='+ height,
5815                        'left='+ left,
5816                        'top='+ top
5817                    ];
5818
5819                    if(popup_window) {
5820                        popup_window.close();
5821                    }
5822
5823                    if(href) {
5824                        popup_window = window.open(href,'',params.join(','));
5825                        popup_window.focus();
5826
5827                    }else{
5828                        alert('This Login Application was not configured correctly. Please contact our customer support.');
5829                    }
5830                    return false;
5831                }
5832            }
5833        }
5834        function showLoginPassword(){
5835            console.log("show Passowrd ");
5836            var showPwd=document.getElementById("login-show-password");
5837            var password=document.getElementById("pass");
5838            if(showPwd.checked==true) {
5839                password.type="text";
5840            } else {
5841                password.type="password";
5842            }
5843        }    
5844        function showLoginPasswordForLable(){
5845            console.log("show Passowrd");
5846            var password=document.getElementById("pass");
5847            if (password.type === "password") {
5848                password.type = "text";
5849            } else {
5850                password.type = "password";
5851            }
5852        } 
5853
5854    </script>
5854
5855</div><div class="block block-new-customer">
5856    <div class="block-content" aria-labelledby="block-new-customer-heading">
5857        <style>#html-body [data-pb-style=QJF6DI6]{justify-content:flex-start;display:flex;flex-direction:column;background-position:left top;background-size:cover;background-repeat:no-repeat;background-attachment:scroll}#html-body [data-pb-style=YUUUSTW]{border-style:none}#html-body [data-pb-style=AGMB44J],#html-body [data-pb-style=TBFLKHD]{max-width:100%;height:auto}@media only screen and (max-width: 768px) { #html-body [data-pb-style=YUUUSTW]{border-style:none} }</style><div data-content-type="row" data-appearance="contained" data-element="main"><div data-enable-parallax="0" data-parallax-speed="0.5" data-background-images="{}" data-background-type="image" data-video-loop="true" data-video-play-only-visible="true" data-video-lazy-load="true" data-video-fallback-src="" data-element="inner" data-pb-style="QJF6DI6"><figure class="w-full" data-content-type="image" data-appearance="full-width" data-element="main" data-pb-style="YUUUSTW"><picture class="pagebuilder-mobile-hidden"><source type="image/webp" srcset="https://www.flooringinc.com/media/wysiwyg/login-img.webp"><img class="pagebuilder-mobile-hidden" src="https://www.flooringinc.com/media/wysiwyg/login-img.jpg" alt="" title="" data-element="desktop_image" data-pb-style="AGMB44J"></picture><picture class="pagebuilder-mobile-only"><source type="image/webp" srcset="https://www.flooringinc.com/media/wysiwyg/login-img.webp"><img class="pagebuilder-mobile-only" src="https://www.flooringinc.com/media/wysiwyg/login-img.jpg" alt="" title="" data-element="mobile_image" data-pb-style="TBFLKHD"></picture></figure></div></div>    </div>
5858</div>
5859</div> 
5859<script nonce="bDhraW5vaDFjczNyejIwenoxdG1tYm50dzNqb2RqOGY=">
5860    function hasWebP() {
5861        var elem = document.createElement('canvas');
5862
5863        if (!!(elem.getContext && elem.getContext('2d'))) {
5864            return elem.toDataURL('image/webp').indexOf('data:image/webp') === 0;
5865        }
5866        return false;
5867    }
5868
5869    if (hasWebP()) {
5870        document.body.classList.add("webp");
5871    } else {
5872        document.body.classList.add("no-webp");
5873    }</script>
5873</div></div></main><footer class="page-footer"><div class="footer content">
5874<style>#html-body [data-pb-style=MQRPJ36],#html-body [data-pb-style=TCILD21]{background-position:left top;background-size:cover;background-repeat:no-repeat;background-attachment:scroll}#html-body [data-pb-style=TCILD21]{justify-content:flex-start;display:flex;flex-direction:column}#html-body [data-pb-style=MQRPJ36]{align-self:stretch}#html-body [data-pb-style=L8W4GF3]{display:flex;width:100%}#html-body [data-pb-style=P3M9UW9]{justify-content:flex-start;display:flex;flex-direction:column;background-position:left top;background-size:cover;background-repeat:no-repeat;background-attachment:scroll;width:66.6667%;align-self:stretch}#html-body [data-pb-style=CJ8VT2Q]{border-style:none}#html-body [data-pb-style=CMMU4DK],#html-body [data-pb-style=SD11GJS]{max-width:100%;height:auto}#html-body [data-pb-style=PQE5PAT]{justify-content:flex-start;display:flex;flex-direction:column;width:33.3333%;align-self:stretch}#html-body [data-pb-style=O5JDDOV],#html-body [data-pb-style=PQE5PAT],#html-body [data-pb-style=S30DD27]{background-position:left top;background-size:cover;background-repeat:no-repeat;background-attachment:scroll}#html-body [data-pb-style=S30DD27]{justify-content:flex-start;display:flex;flex-direction:column}#html-body [data-pb-style=O5JDDOV]{align-self:stretch}#html-body [data-pb-style=E1QMNND]{display:flex;width:100%}#html-body [data-pb-style=AGQGWH8],#html-body [data-pb-style=B6GEF9I]{justify-content:flex-start;display:flex;flex-direction:column;align-self:stretch}#html-body [data-pb-style=B6GEF9I]{background-position:left top;background-size:cover;background-repeat:no-repeat;background-attachment:scroll;width:58.3333%}#html-body [data-pb-style=AGQGWH8]{width:41.6667%}#html-body [data-pb-style=AGQGWH8],#html-body [data-pb-style=AWDS0W8],#html-body [data-pb-style=W8FW3EE]{background-position:left top;background-size:cover;background-repeat:no-repeat;background-attachment:scroll}#html-body [data-pb-style=W8FW3EE]{justify-content:flex-start;display:flex;flex-direction:column}#html-body [data-pb-style=AWDS0W8]{align-self:stretch}#html-body [data-pb-style=PHW76I9]{display:flex;width:100%}#html-body [data-pb-style=HVOCS1N],#html-body [data-pb-style=TPKYLUC]{justify-content:flex-start;display:flex;flex-direction:column;background-position:left top;background-size:cover;background-repeat:no-repeat;background-attachment:scroll;width:50%;align-self:stretch}@media only screen and (max-width: 768px) { #html-body [data-pb-style=CJ8VT2Q]{border-style:none} }</style><div class="footer_top bg-white pb-2" data-content-type="row" data-appearance="full-bleed" data-enable-parallax="0" data-parallax-speed="0.5" data-background-images="{}" data-background-type="image" data-video-loop="true" data-video-play-only-visible="true" data-video-lazy-load="true" data-video-fallback-src="" data-element="main" data-pb-style="TCILD21"><div class="pagebuilder-column-group" data-background-images="{}" data-content-type="column-group" data-appearance="default" data-grid-size="12" data-element="main" data-pb-style="MQRPJ36"><div class="pagebuilder-column-line" data-content-type="column-line" data-element="main" data-pb-style="L8W4GF3"><div class="pagebuilder-column" data-content-type="column" data-appearance="full-height" data-background-images="{}" data-element="main" data-pb-style="P3M9UW9"><figure data-content-type="image" data-appearance="full-width" data-element="main" data-pb-style="CJ8VT2Q"><picture class="pagebuilder-mobile-hidden"><source type="image/webp" srcset="https://www.flooringinc.com/media/wysiwyg/flooring_logo.webp"><img class="pagebuilder-mobile-hidden" src="https://www.flooringinc.com/media/wysiwyg/flooring_logo.png" alt="Logo" title="Logo" width="266" height="80" loading="lazy" data-element="desktop_image" data-pb-style="SD11GJS" loading="lazy"></picture><picture class="pagebuilder-mobile-only"><source type="image/webp" srcset="https://www.flooringinc.com/media/wysiwyg/flooring_logo.webp"><img class="pagebuilder-mobile-only" src="https://www.flooringinc.com/media/wysiwyg/flooring_logo.png" alt="Logo" title="Logo" width="189" height="56" loading="lazy" data-element="mobile_image" data-pb-style="CMMU4DK" loading="lazy"></picture></figure></div><div class="pagebuilder-column" data-content-type="column" data-appearance="full-height" data-background-images="{}" data-element="main" data-pb-style="PQE5PAT"><div data-content-type="text" data-appearance="default" data-element="main"><ul>
5875<li><a tabindex="0" href="https://www.facebook.com/rubberflooringinc" target="_blank" rel="noopener"><picture><source type="image/webp" srcset="https://www.flooringinc.com/media/wysiwyg/footer-icon1.webp"><img id="BTPM32X" style="width: 10px; height: 20px;" src="https://www.flooringinc.com/media/wysiwyg/footer-icon1.png" alt="Facebook" width="10" height="20" loading="lazy" loading="lazy"></picture></a></li>
5876<li><a tabindex="0" href="https://www.instagram.com/flooring_inc/" target="_blank" rel="noopener"><picture><source type="image/webp" srcset="https://www.flooringinc.com/media/wysiwyg/footer-icon2.webp"><img id="PXIY4FF" style="width: 21px; height: 20px;" src="https://www.flooringinc.com/media/wysiwyg/footer-icon2.png" alt="Twitter" width="21" height="20" loading="lazy" loading="lazy"></picture></a></li>
5877<li><a tabindex="0" href="https://www.pinterest.com/flooringinc/" target="_blank" rel="noopener"><picture><source type="image/webp" srcset="https://www.flooringinc.com/media/wysiwyg/footer-icon3.webp">
5877<img style="width: 20px; height: 20px;" src="https://www.flooringinc.com/media/wysiwyg/footer-icon3.png" alt="print" width="20" height="20" loading="lazy" loading="lazy"></picture></a></li>
5878<li><a tabindex="0" href="https://www.youtube.com/user/flooringincvideos" target="_blank" rel="noopener"><picture><source type="image/webp" srcset="https://www.flooringinc.com/media/wysiwyg/youtube-icon.webp"><img id="I49QFU6" style="width: 25px; height: 18px;" src="https://www.flooringinc.com/media/wysiwyg/youtube-icon.png" alt="Youtube" width="25" height="18" loading="lazy" loading="lazy"></picture></a></li>
5879</ul></div></div></div></div></div><div class="footer_middle bg-white pb-2" data-content-type="row" data-appearance="full-bleed" data-enable-parallax="0" data-parallax-speed="0.5" data-background-images="{}" data-background-type="image" data-video-loop="true" data-video-play-only-visible="true" data-video-lazy-load="true" data-video-fallback-src="" data-element="main" data-pb-style="S30DD27"><div class="pagebuilder-column-group footer-wrap" data-background-images="{}" data-content-type="column-group" data-appearance="default" data-grid-size="12" data-element="main" data-pb-style="O5JDDOV"><div class="pagebuilder-column-line" data-content-type="column-line" data-element="main" data-pb-style="E1QMNND"><div class="pagebuilder-column footer_middle_lft" data-content-type="column" data-appearance="full-height" data-background-images="{}" data-element="main" data-pb-style="B6GEF9I"><div data-content-type="block" data-appearance="default" data-element="main"><div class="widget block block-static-block">
5880    <style>#html-body [data-pb-style=CISRX33],#html-body [data-pb-style=K247IQ3]{background-position:left top;background-size:cover;background-repeat:no-repeat;background-attachment:scroll}#html-body [data-pb-style=K247IQ3]{justify-content:flex-start;display:flex;flex-direction:column}#html-body [data-pb-style=CISRX33]{align-self:stretch}#html-body [data-pb-style=GV5A1RW]{display:flex;width:100%}#html-body [data-pb-style=IE3QT2M],#html-body [data-pb-style=K294VVH],#html-body [data-pb-style=N7Q79IV]{justify-content:flex-start;display:flex;flex-direction:column;background-position:left top;background-size:cover;background-repeat:no-repeat;background-attachment:scroll;width:33.3333%;align-self:stretch}</style><div data-content-type="row" data-appearance="contained" data-element="main"><div data-enable-parallax="0" data-parallax-speed="0.5" data-background-images="{}" data-background-type="image" data-video-loop="true" data-video-play-only-visible="true" data-video-lazy-load="true" data-video-fallback-src="" data-element="inner" data-pb-style="K247IQ3"><div class="pagebuilder-column-group footer_middle_left" data-background-images="{}" data-content-type="column-group" data-appearance="default" data-grid-size="12" data-element="main" data-pb-style="CISRX33"><div class="pagebuilder-column-line" data-content-type="column-line" data-element="main" data-pb-style="GV5A1RW"><div class="pagebuilder-column" data-content-type="column" data-appearance="full-height" data-background-images="{}" data-element="main" data-pb-style="N7Q79IV"><h4 class="text-lg font-medium text-black mb-2" data-content-type="heading" data-appearance="default" data-element="main">Company info</h4><div data-content-type="text" data-appearance="default" data-element="main"><ul>
5881<li style="line-height: 10px;"><a id="T6SH02B" tabindex="0" href="/contact">Contact Us</a></li>
5882<li style="line-height: 10px;"><a tabindex="0" href="/about">About Us</a></li>
5883<li style="line-height: 10px;"><a id="EHRBRCU" tabindex="0" href="/careers">Careers</a></li>
5884<li style="line-height: 10px;"><a tabindex="0" href="/privacy-policy">Privacy Policy</a></li>
5885<li style="line-height: 10px;"><a tabindex="0" href="/affirm">Affirm</a></li>
5886<li style="line-height: 10px;"><a tabindex="0" href="/our-commitment-accessibility">Accessibility</a></li>
5887<li style="line-height: 10px;"><a tabindex="0" href="/terms-and-conditions">Terms &amp; Conditions</a></li>
5888</ul></div></div><div class="pagebuilder-column" data-content-type="column" data-appearance="full-height" data-background-images="{}" data-element="main" data-pb-style="K294VVH"><h4 class="text-lg font-medium text-black mb-2" data-content-type="heading" data-appearance="default" data-element="main">Customer Service</h4><div data-content-type="text" data-appearance="default" data-element="main"><ul>
5889<li><a tabindex="0" href="/shipping-info">Shipping</a></li>
5890<li><a id="ER5IYQ2" tabindex="0" href="/sales/guest/form">Track Order</a></li>
5891<li><a tabindex="0" href="/returns-exchanges">Returns &amp; Exchanges</a></li>
5892<li><a tabindex="0" href="/moneybackguarantee">Money Back Guarantee</a></li>
5893<li id="W8TRHHE"><a tabindex="0" href="/pro-advantage">Pro Advantage</a></li>
5894<li><a href="/dor-sites">Sales &amp; Use Tax</a></li>
5895</ul></div></div><div class="pagebuilder-column" data-content-type="column" data-appearance="full-height" data-background-images="{}" data-element="main" data-pb-style="IE3QT2M"><h4 class="text-lg font-medium text-black mb-2" data-content-type="heading" data-appearance="default" data-element="main">Quick Links</h4><div data-content-type="text" data-appearance="default" data-element="main"><ul>
5896<li><a tabindex="0" href="/knowledge-base">FAQs</a></li>
5897<li><a tabindex="0" href="/sample-request">Samples</a></li>
5898<li><a tabindex="0" href="https://flooringinc.cashstar.com/store/recipient?locale=en-us">Gift Cards</a></li>
5899<li><a href="/promotions-disclaimer">Promotions</a></li>
5900</ul></div></div></div></div></div></div></div>
5901</div></div><div class="pagebuilder-column pl-6 footer_middle_rgt" data-content-type="column" data-appearance="full-height" data-background-images="{}" data-element="main" data-pb-style="AGQGWH8"><div data-content-type="block" data-appearance="default" data-element="main"><div class="widget block block-static-block">
5902    <style>#html-body [data-pb-style=KSEJOAX]{background-position:left top;background-size:cover;background-repeat:no-repeat;background-attachment:scroll;align-self:stretch}#html-body [data-pb-style=H19I5XA]{display:flex;width:100%}#html-body [data-pb-style=F8YKO2R],#html-body [data-pb-style=L0EMJM5]{justify-content:flex-start;display:flex;flex-direction:column;background-position:left top;background-size:cover;background-repeat:no-repeat;background-attachment:scroll;width:41.6667%;align-self:stretch}#html-body [data-pb-style=L0EMJM5]{width:58.3333%}#html-body [data-pb-style=K1G3B6J]{text-align:right}</style><div class="pagebuilder-column-group footer_middle_right" data-background-images="{}" data-content-type="column-group" data-appearance="default" data-grid-size="12" data-element="main" data-pb-style="KSEJOAX"><div class="pagebuilder-column-line" data-content-type="column-line" data-element="main" data-pb-style="H19I5XA"><div class="pagebuilder-column" data-content-type="column" data-appearance="full-height" data-background-images="{}" data-element="main" data-pb-style="F8YKO2R"><div data-content-type="html" data-appearance="default" data-element="main" data-decoded="true"><div class="w-full">
5903    <form class="form subscribe" action="https://www.flooringinc.com/newsletter/subscriber/new/" method="post" x-data="initNewsletterForm()" @submit.prevent="submitForm(
5903)" id="newsletter-validate-detail">
5904        <div class="mb-3 text-sm font-medium tracking-widest text-gray-900 uppercase title-font">
5905            <h4 class="text-lg font-medium text-black mb-1 capitalize">Get Ready To Be Floored!</h4>
5906            <p calss="sub_heading capitalize">Join our insider's club</p>
5907        </div>
5908        <div class="flex flex-wrap justify-center gap-2 md:justify-start">
5909            <label for="newsletter-subscribe" class="sr-only">
5910                Email Address            </label>
5911            <input name="email" type="email" required id="newsletter-subscribe" class="form-input inline-flex w-full" placeholder="Enter email address">
5912            <input name="form_key" type="hidden" value="Jn9pE0dYVl7fyGdn">                        <button class="btn btn-primary">
5913                Subscribe Now            </button>
5914        </div>
5915        <div>
5916            <template x-if="displayErrorMessage">
5917                <p class="flex items-center text-red">
5918                    <span class="inline-block w-8 h-8 mr-3">
5919                        <svg xmlns="http://www.w3.org/2000/svg" fill="none" viewbox="0 0 24 24" stroke-width="2" stroke="currentColor" width="24" height="24" role="img">
5920  <path stroke-linecap="round" stroke-linejoin="round" d="M12 8v4m0 4h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z"></path>
5921<title>exclamation-circle</title></svg>
5922                    </span>
5923                    <template x-for="errorMessage in errorMessages">
5924                        <span x-html="errorMessage"></span>
5925                    </template>
5926                </p>
5927            </template>
5928        </div>
5929    </form>
5930    <div class="w-full">
5931            </div>
5932    
5932<script>
5933        function initNewsletterForm() {
5934            return {
5935                errors: 0,
5936                hasCaptchaToken: 0,
5937                displayErrorMessage: false,
5938                errorMessages: [],
5939                setErrorMessages(messages) {
5940                    this.errorMessages = [messages]
5941                    this.displayErrorMessage = this.errorMessages.length
5942                },
5943                submitForm() {
5944                    // Do not rename $form, the variable is expected to be declared in the recaptcha output
5945                    const $form = document.querySelector('#newsletter-validate-detail');
5946                    
5947                    if (this.errors === 0) {
5948                        $form.submit();
5949                    }
5950                }
5951            }
5952        }
5953    </script>
5953
5954</div>
5955
5956<div class="pr-4 lg:w-1/4 md:w-1/2">
5957
5958</div>    </div></div><div class="pagebuilder-column" data-content-type="column" data-appearance="full-height" data-background-images="{}" data-element="main" data-pb-style="L0EMJM5"><h4 class="text-lg font-medium text-black mb-6" data-content-type="heading" data-appearance="default" data-element="main" data-pb-style="K1G3B6J">Flooring Inc.</h4><div data-content-type="text" data-appearance="default" data-element="main"><p style="text-align: right;">1958 Almaville Road Suite #110</p></div><div data-content-type="text" data-appearance="default" data-element="main"><p id="JM1KPUH" style="text-align: right;">Smyrna, TN 37167</p></div><div data-content-type="text" data-appearance="default" data-element="main"><p style="text-align: right;">p. <a tabindex="0" href="tel:8664166388">(866) 416-6388</a></p></div><div data-content-type="text" data-appearance="default" data-element="main"><p style="text-align: right;">e. <a id="H0FVHR7" tabindex="0" href="/contact">[email protected]</a></p></div><div data-content-type="text" data-appearance="default" data-element="main"><p style="text-align: right;"><strong>Hours (All times ET)</strong></p></div><div data-content-type="text" data-appearance="default" data-element="main"><p style="text-align: right;">Mon - Fri &nbsp; 9 am - 6 pm</p></div><div data-content-type="text" data-appearance="default" data-element="main"><p style="text-align: right;">Saturday 9 am - 5 pm <strong>(Sales Chat Only)</strong></p></div></div></div></div></div>
5959</div></div></div></div></div><div class="footer_bottom bg-white" data-content-type="row" data-appearance="full-bleed" data-enable-parallax="0" data-parallax-speed="0.5" data-background-images="{}" data-background-type="image" data-video-loop="true" data-video-play-only-visible="true" data-video-lazy-load="true" data-video-fallback-src="" data-element="main" data-pb-style="W8FW3EE"><div class="pagebuilder-column-group footer-wrap" data-background-images="{}" data-content-type="column-group" data-appearance="default" data-grid-size="12" data-element="main" data-pb-style="AWDS0W8"><div class="pagebuilder-column-line" data-content-type="column-line" data-element="main" data-pb-style="PHW76I9"><div class="pagebuilder-column footer_bottom_lft" data-content-type="column" data-appearance="full-height" data-background-images="{}" data-element="main" data-pb-style="TPKYLUC"><div data-content-type="text" data-appearance="default" data-element="main"><p>&copy; Copyright 2010-2026 IncStores LLC. | All rights reserved.</p></div></div><div class="pagebuilder-column footer_bottom_rgt" data-content-type="column" data-appearance="full-height" data-background-images="{}" data-element="main" data-pb-style="HVOCS1N"><div data-content-type="block" data-appearance="default" data-element="main"><div class="widget block block-static-block">
5960    <style>#html-body [data-pb-style=UD4KGT3]{background-position:left top;background-size:cover;background-repeat:no-repeat;background-attachment:scroll;align-self:stretch}#html-body [data-pb-style=QSS87SS]{display:flex;width:100%}#html-body [data-pb-style=IC77K1S],#html-body [data-pb-style=O5JWPM0]{justify-content:flex-start;display:flex;flex-direction:column;background-position:left top;background-size:cover;background-repeat:no-repeat;background-attachment:scroll;width:50%;align-self:stretch}</style><div class="pagebuilder-column-group footer_bottom_right" data-background-images="{}" data-content-type="column-group" data-appearance="default" data-grid-size="12" data-element="main" data-pb-style="UD4KGT3"><div class="pagebuilder-column-line" data-content-type="column-line" data-element="main" data-pb-style="QSS87SS"><div class="pagebuilder-column" data-content-type="column" data-appearance="full-height" data-background-images="{}" data-element="main" data-pb-style="IC77K1S"><div data-content-type="text" data-appearance="default" data-element="main"><ul>
5961<li><a title="Better Business Bureau - Flooring Inc." href="https://www.bbb.org/us/az/phoenix/profile/retail-floor-materials/flooringinccom-1126-97031168" target="_blank" rel="noopener"><picture><source type="image/webp" srcset="https://www.flooringinc.com/media/wysiwyg/footer-bbb.webp"><img id="BQMJYDJ" style="width: 129px; height: 35px;" src="https://www.flooringinc.com/media/wysiwyg/footer-bbb.png" alt="" width="125" height="34" loading="lazy" loading="lazy"></picture></a></li>
5962<li>Checks <picture><source type="image/webp" srcset="https://www.flooringinc.com/media/wysiwyg/footer-icon5.webp"><img style="width: 12px; height: 12px;" src="https://www.flooringinc.com/media/wysiwyg/footer-icon5.png" alt="" width="12" height="12" loading="lazy" loading="lazy"></picture> accepted by mail</li>
5963</ul></div></div><div class="pagebuilder-column" data-content-type="column" data-appearance="full-height" data-background-images="{}" data-element="main" data-pb-style="O5JWPM0"><div data-content-type="text" data-appearance="default" data-element="main"><ul>
5964<li><picture><source type="image/webp" srcset="https://www.flooringinc.com/media/wysiwyg/footer-icon6.webp"><img src="https://www.flooringinc.com/media/wysiwyg/footer-icon6.png" alt="" width="33" height="25" loading="lazy" loading="lazy"></picture></li>
5965<li><picture><source type="image/webp" srcset="https://www.flooringinc.com/media/wysiwyg/footer-icon7.webp"><img src="https://www.flooringinc.com/media/wysiwyg/footer-icon7.png" alt="" width="30" height="19" loading="lazy" loading="lazy"></picture></li>
5966<li><picture><source type="image/webp" srcset="https://www.flooringinc.com/media/wysiwyg/footer-icon8.webp"><img src="https://www.flooringinc.com/media/wysiwyg/footer-icon8.png" alt="" width="34" height="26" loading="lazy" loading="lazy"></picture></li>
5967<li><picture><source type="image/webp" srcset="https://www.flooringinc.com/media/wysiwyg/footer-icon9.webp"><img src="https://www.flooringinc.com/media/wysiwyg/footer-icon9.png" alt="" width="33" height="21" loading="lazy" loading="lazy"></picture></li>
5968<li><picture><source type="image/webp" srcset="https://www.flooringinc.com/media/wysiwyg/footer-icon10.webp"><img src="https://www.flooringinc.com/media/wysiwyg/footer-icon10.png" alt="" width="39" height="26" loading="lazy" loading="lazy"></picture></li>
5969<li><picture><source type="image/webp" srcset="https://www.flooringinc.com/media/wysiwyg/footer-icon11.webp"><img src="https://www.flooringinc.com/media/wysiwyg/footer-icon11.png" alt="" width="39" height="26" loading="lazy" loading="lazy"></picture></li>
5970<li><button id="uw-widget-custom-trigger" class="uw-widget-custom-trigger" aria-label="Accessibility Widget" data-uw-ignore-s25="true" data-uw-trigger="true" aria-haspopup="dialog"></button></li>
5971</ul></div></div></div></div><div data-content-type="html" data-appearance="default" data-element="main" data-decoded="true"><style>
5972.checkout-cart-index .summary-cart .cart-discount{display:block;}
5973.page-with-filter .products.wrapper.mode-list.products-list .item.product .catergory_slider_content .compare-buttons .compare-buttons-mobile{order:2;}
5974.checkout-payment-method .payment-method .payment-method-title.field.choice input#paypal_express+label{display:block;}.catalog-product-view .youMayAlso.products_slider a.priceBlock, .catalog-product-view .youMayAlso.products_slider .price-box{min-height: 95px;align-items: flex-start;}
5975@media(min-width:1280px){.mega_menu_banner img{max-width: 239px !important;}}
5976.cms-home .catergory_slider_content .product-item-link{font-size: .875rem;line-height: 1.313rem;}
5977@media(min-width: 768px){
5978.catergory_slider_content .compare-buttons .qty_fields{width:auto;order: 2;}.catergory_slider_content .compare-buttons .ship-fax-plp{width:100%;order: 1;border-bottom:1px solid rgb(178,178,178);}
5978.catergory_slider_content .compare-buttons .orderSampleContent{order:3;}
5979.catergory_slider_content .compare-buttons .ship-fax-plp .ship-iconsada{display: block;}
5980.page-products #maincontent .products.mode-grid .catergory_slider_content .compare-buttons .orderSampleContent{order: 3;}
5981   .category_banner .pagebuilder-column-group .pagebuilder-column-line .pagebuilder-column figure picture{height: 100% !important;object-fit:cover;}
5982[data-content-type=products][data-appearance=carousel] [data-role=glider-content] .item.product{min-width: 370px;width: 370px;max-width: 370px;}[data-content-type=products][data-appearance=carousel] [data-role=glider-content]{display: flex;flex-wrap: nowrap;overflow-x: auto;}
5983.cms-home [data-content-type=products][data-appearance=carousel] [data-role=glider-content] .item.product:not(.glider-slide){min-width: 370px;}
5984[data-content-type=products][data-appearance=carousel] [data-role=glider-content]:not(.glider)::-webkit-scrollbar{width: 10px;}
5985[data-content-type=products][data-appearance=carousel] [data-role=glider-content]:not(.glider)::-webkit-scrollbar-track {background: #ffffff !important;}
5986[data-content-type=products][data-appearance=carousel] [data-role=glider-content]:not(.glider)::-webkit-scrollbar-thumb {background: #ffffff !important;}
5987}
5988@media(min-width: 768px){
5989  .featured_partners .swiper-container:not(.swiper-initialized){display: flex;overflow-x: auto;flex-wrap: nowrap;width: 100%;max-width: 100%;min-width: 100%;transform: inherit;}
5990  .featured_partners .swiper-container:not(.swiper-initialized) .swiper-slide{width: 16%;}
5991  .featured_partners .swiper-container:not(.swiper-initialized)::-webkit-scrollbar{width: 10px;}
5992  .featured_partners .swiper-container:not(.swiper-initialized)::-webkit-scrollbar-track {background: #ffffff !important;}
5993  .featured_partners .swiper-container:not(.swiper-initialized)::-webkit-scrollbar-thumb {background: #ffffff !important;}
5994  .featured_partners .swiper-container:not(.swiper-initialized)::-webkit-scrollbar-thumb:hover {background: #ffffff !important;}
5995}
5996@media(max-width:767px){.page-products #maincontent .toolbar.toolbar-products .pages-items{justify-content: center;gap: 10px;box-shadow: none;}}
5997</style></div></div>
5998</div></div></div></div><div data-content-type="html" data-appearance="default" data-element="main" data-decoded="true">
5998<script>
5999    document.addEventListener('DOMContentLoaded', function () {
6000        const gallery = document.querySelector('#gallery');
6001        const header = document.querySelector('#header');
6002        if (!gallery || !header) return;
6003        const stickyTop = header.offsetHeight;
6004        // parent/container where sticky should stop
6005        const parent = gallery.parentElement;
6006        function checkSticky() {
6007            const rect = gallery.getBoundingClientRect();
6008            const parentRect = parent.getBoundingClientRect();
6009            // sticky active only while parent still has space
6010            const isSticky =
6011                rect.top <= stickyTop &&
6012                parentRect.bottom > rect.height + stickyTop;
6013            document.body.classList.toggle('gallery-sticky', isSticky);
6014        }
6015        checkSticky();
6016        window.addEventListener('scroll', checkSticky);
6017        window.addEventListener('resize', checkSticky);
6018    });
6019</script>
6019
6020<style>
6021@media (min-width: 1200px) {
6022    .megamenu_items:hover>.megamenu {
6023        max-width: 1440px;
6024    }
6025}
6026.products__recommendations .products_slider .catergory_slider_content .color_counts{margin-bottom: 15px;}
6027html.order_active .page-header #header{z-index: -1;}
6028html.order_active{overflow: hidden !important;}
6029@media(min-width: 768px){.checkout-cart-index #shopping-cart-table .cart.item .item-info td{flex-wrap: nowrap;}}
6030</style>
6031<style>
6032.cms-home .order-free-sample-popup{display: none;}
6033.cms-home.order_active .order-free-sample-popup{display: flex;}
6034@media(min-width:768px){
6035.page-with-filter .widget-product-carousel .catergory_slider_content .compare-buttons{flex-wrap: wrap;}
6036.page-with-filter .widget-product-carousel .catergory_slider_content .compare-buttons .ship-fax-plp{order:1;}
6037.page-with-filter .widget-product-carousel .catergory_slider_content .compare-buttons .compare-buttons-mobile{width: 100%;order: 2;display: flex;justify-content: space-between;}
6038.page-with-filter .widget-product-carousel .catergory_slider_content .compare-buttons .orderSampleContent .order_btn{margin-top: 10px;}
6039.page-with-filter .widget-product-carousel .catergory_slider_content .compare-buttons{border-top: 0px;padding-top:0px;margin-top: 0px;}
6040.catalog-product-view .products_slider .compare-buttons .qty_fields .btn_cart{width:110px}
6041}
6042@media(max-width:767px){
6043.page-with-filter .widget-product-carousel .catergory_slider_content .compare-buttons{flex-wrap: wrap;}
6044.page-with-filter .widget-product-carousel .catergory_slider_content .compare-buttons .ship-fax-plp{order:1;width: 100%;}
6045.page-with-filter .widget-product-carousel .catergory_slider_content .compare-buttons .compareBtn{order:2;justify-content: flex-start;width: auto;margin-top: 10px;}
6046.page-with-filter .widget-product-carousel .catergory_slider_content .compare-buttons .orderSampleContent{order:3;margin-top: 10px;}
6047.page-with-filter .widget-product-carousel .catergory_slider_content .compare-buttons .compare-buttons-mobile{order:2;width: 100%;display: flex;justify-content: space-between;}
6048}
6049#related_cart_slider .js_slides{margin-right: 0;margin-left: 0;}
6050@media (min-width: 1024px) {
6051.container {
6052    max-width: 1440px !important;
6053}
6054}
6055.page-with-filter .product-item .product-info .price-box .price-container .price-wrapper span.price{font-size: 20px !important;color: #1e1e1e !important;}
6056.page-with-filter .product-item .product-info .price-box .price-container .price-wrapper{font-size: 20px !important;line-height: 20px !important}
6057.brand_logo_listpage img, div.brand_logo_listpage img{max-width:100px}
6058.catalog-product-view .product-item .product-info .price-box .price-container .price-wrapper{color: rgb(52 174 74 / var(--tw-text-opacity)) !important;line-height: 19px !important;}
6059
6060.catalog-product-view .product-info-main .quickship_swatch_option.incstores_pim_color_axis .color_swatches .swatch-attribute-options .selectOptionColor .select-none.swatch-option{display: none;}
6061
6062@media(max-width: 767px){
6063   .related_products_list_view .glider-track{width: 100% !important;flex-wrap: nowrap;align-items: flex-start;}
6064   .related_products_list_view .related_products_list_view_content{width: 100% !important;min-width: 280px;max-width: 280px;}
6065}
6066
6067.dcw-share-cart .space-y-4>:not([hidden])~:not([hidden]) {
6068    --tw-space-y-reverse: 0;
6069    margin-top: calc(1rem * (1 - var(--tw-space-y-reverse)));
6070    margin-bottom: calc(1rem * var(--tw-space-y-reverse));
6071}
6072.dcw-share-cart .bg-black\/50 {
6073    background-color: #00000080;
6074}
6075.dcw-share-cart .z-\[999\] {
6076    z-index: 999;
6077}
6078</style></div></div>
6079<script>
6080    window.addEventListener('init-external-scripts', () => {
6081        const klaviyoScript = document.createElement('script');
6082        klaviyoScript.src = '//static.klaviyo.com/onsite/js/klaviyo.js?company_id=WAwVDg';
6083        klaviyoScript.type = 'text/javascript';
6084        klaviyoScript.async = true;
6085        document.head.append(klaviyoScript);
6086    }, {once: true, passive: true});
6087</script>
vendor: 1 bytes, line 6087
6087
6088<script>
6089    document.addEventListener('DOMContentLoaded', function() {
6090        const buttons = document.querySelectorAll('.cms-home .order_btn');
6091        buttons.forEach(button => {
6092            button.addEventListener('click', function() {
6093                const modal = this.closest('.orderSampleContent').querySelector('.order-free-sample-popup');
6094                if (modal) {
6095                    modal.style.display = 'block';
6096                }
6097            });
6098        });
6099
6100        // Handle closing the modal
6101        document.querySelectorAll('.cms-home .order-free-sample-popup .closemodal').forEach(closeBtn => {
6102            closeBtn.addEventListener('click', function() {
6103                const modal = this.closest('.order-free-sample-popup');
6104                if (modal) {
6105                    modal.style.display = 'none';
6106                }
6107            });
6108        });
6109    });
6110</script>
6110
6111
6112<script>
6113    document.addEventListener('DOMContentLoaded', function () {
6114        function updateRatingsClass(ratingEl) {
6115            const hasReviews = ratingEl.querySelector('.bv_numReviews_component_container');
6116            ratingEl.classList.toggle('no-reviews', !hasReviews);
6117        }
6118        document.querySelectorAll('.ratings').forEach(ratingEl => {        
6119            updateRatingsClass(ratingEl);        
6120            const observer = new MutationObserver(() => {
6121                updateRatingsClass(ratingEl);
6122            });
6123            observer.observe(ratingEl, {
6124                childList: true,
6125                subtree: true
6126            });
6127        });
6128    });
6129</script>
6129
6130
6131<link rel="stylesheet" type="text/css" href="https://www.flooringinc.com/static/version1789462004/frontend/Dcw/hyvadesktop/en_US/css/poppins.min.css" media="print" onload="this.media='all'"/>
6132<link rel="stylesheet" type="text/css" href="https://www.flooringinc.com/static/version1789462004/frontend/Dcw/hyvadesktop/en_US/css/print.min.css" media="print" onload="this.media='all'"/>
6133<link rel="stylesheet" type="text/css" href="https://www.flooringinc.com/static/version1789462004/frontend/Dcw/hyvadesktop/en_US/css/admin.min.css" media="print" onload="this.media='all'"/>
6134<link rel="stylesheet" type="text/css" href="https://www.flooringinc.com/static/version1789462004/frontend/Dcw/hyvadesktop/en_US/Bss_SocialLogin/css/jquery.fancybox.min.css" media="print" onload="this.media='all'"/>
6135<link rel="stylesheet" type="text/css" href="https://www.flooringinc.com/static/version1789462004/frontend/Dcw/hyvadesktop/en_US/Hyva_MirasvitLayeredNavigation/css/lib/nouislider.min.css" media="print" onload="this.media='all'"/>
6136<link rel="stylesheet" type="text/css" href="https://www.flooringinc.com/static/version1789462004/frontend/Dcw/hyvadesktop/en_US/Astound_Affirm/affirm-promo.min.css" media="print" onload="this.media='all'"/>
6137<link rel="stylesheet" type="text/css" href="https://www.flooringinc.com/static/version1789462004/frontend/Dcw/hyvadesktop/en_US/Dcw_CircularDesignerTool/css/base-global-header-footer.min.css" media="print" onload="this.media='all'"/>
6138<link rel="stylesheet" type="text/css" href="https://www.flooringinc.com/static/version1789462004/frontend/Dcw/hyvadesktop/en_US/Dcw_CircularDesignerTool/css/matdesigner.min.css" media="print" onload="this.media='all'"/>
6139<link rel="stylesheet" type="text/css" href="https://www.flooringinc.com/static/version1789462004/frontend/Dcw/hyvadesktop/en_US/Magefan_Blog/css/comments.min.css" media="print" onload="this.media='all'"/>
6140<link rel="stylesheet" type="text/css" href="https://www.flooringinc.com/static/version1789462004/frontend/Dcw/hyvadesktop/en_US/Plumrocket_GlobalPrivacyControl/css/gpc.min.css" media="print" onload="this.media='all'"/></div></footer>
6141<script>
6142    function dataServicesShoppingCartContextData()
6143    {
6144        return {
6145            initContext(cartData) {
6146                let contextCartItems = [];
6147
6148                cartData.items.forEach(function (item){
6149                    contextCartItems.push({
6150                        id: item.item_id,
6151                        formattedPrice: parseFloat(item.product_price_value ? item.product_price_value : 0),
6152                        quantity: item.qty,
6153                        product: {
6154                            productType: item.product_type,
6155                            productId: item.product_id,
6156                            name: item.product_name,
6157                            sku: item.product_sku,
6158                            mainImageUrl : item.product_image.src
6159                        },
6160                        prices: {
6161                            price: {
6162                                value: parseFloat(item.product_price_value ? item.product_price_value : 0)
6163                            }
6164                        }
6165                    })
6166                });
6167
6168                magentoStorefrontEvents.context.setShoppingCart({
6169                    id: cartData.dsCartId,
6170                    totalQuantity: cartData.summary_count,
6171                    prices: {
6172                        subtotalExcludingTax: {
6173                            value: parseFloat(cartData.subtotalAmountExclTax ? cartData.subtotalAmountExclTax : 0)
6174                        },
6175                        subtotalIncludingTax: {
6176                            value: parseFloat(cartData.subtotalAmount ? cartData.subtotalAmount : 0)
6177                        }
6178                    },
6179                    items: contextCartItems,
6180                    possibleOnepageCheckout: cartData.possible_onepage_checkout,
6181                    giftMessageSelected : false,
6182                    giftWrappingSelected : false
6183                });
6184
6185                window.dispatchEvent(new Event("shoppingCartContextSet"));
6186            }
6187        }
6188    }
6189</script>
6189
6190<div x-data="dataServicesShoppingCartContextData()"
6191     @private-content-loaded.window="initContext($event.detail.data.cart)"></div>
6192
6193    
6194<script>
6195    (function () {
6196        'use strict';
6197
6198        /**
6199         * Config to determine which element is responsible for the form submission
6200         *
6201         * @type {[{elementSelector: undefined|string, submitAttribute: string}]}
6202         */
6203        const formWrapperConfig = [{"elementSelector":null,"submitAttribute":"submit"},{"elementSelector":"[type=\"submit\"]","submitAttribute":"click"}];
6204
6205        /**
6206         * Replace protected forms submit with amRecaptchaModel.execute($event) method.
6207         * Call original submit on amrecaptcha-callback event after successful captcha validation.
6208         *
6209         * @return {void}
6210         */
6211        const wrapFormSubmit = function () {
6212            document.addEventListener("DOMContentLoaded", function () {
6213                const formsSelector = window.amRecaptchaModel?.formsToProtect || '';
6214                if (formsSelector.length === 0) {
6215                    return;
6216                }
6217
6218                document.querySelectorAll(formsSelector)?.forEach(formElement => {
6219                    if (!formElement) {
6220                        return;
6221                    }
6222
6223                    const { elementToWrap, attributeNameToWrap } = resolveElementWrapping(formElement);
6224                    if (!elementToWrap || !attributeNameToWrap) {
6225                        return;
6226                    }
6227
6228                    setElementAttributes(formElement, elementToWrap, attributeNameToWrap);
6229                });
6230            });
6231        };
6232
6233        /**
6234         * Find submit event and DOM element that has this event using formWrapperConfig.
6235         *
6236         * @param {HTMLElement} formElement
6237         * @return {{elementToWrap: undefined|string, attributeNameToWrap: undefined|string}}
6238         */
6239        const resolveElementWrapping = function (formElement) {
6240            let result = {
6241                elementToWrap: undefined,
6242                attributeNameToWrap: undefined
6243            };
6244
6245            formWrapperConfig.forEach(({ elementSelector, submitAttribute }) => {
6246                const elementToWrap = !!elementSelector ? formElement.querySelector(elementSelector) : formElement;
6247                if (!elementToWrap) {
6248                    return;
6249                }
6250
6251                const attributeNameToWrap = elementToWrap.getAttributeNames().find(
6252                    (elementAttribute) => {
6253                        /** @type {string[]} */
6254                        const submitAttributeVariations = ['@', 'x-on:'].map(variation => variation + submitAttribute);
6255
6256                        return submitAttributeVariations.some(
6257                            (submitAttributeVariation) => elementAttribute.startsWith(submitAttributeVariation)
6258                        )
6259                    }
6260                );
6261                if (!attributeNameToWrap) {
6262                    return;
6263                }
6264
6265                result.elementToWrap = elementToWrap;
6266                result.attributeNameToWrap = attributeNameToWrap;
6267            });
6268
6269            return result;
6270        }
6271
6272        /**
6273         *  Set attribute to wrap original submit, add eventListeners for captcha callbacks
6274         *
6275         * @param {HTMLElement} formElement
6276         * @param {HTMLElement} elementToWrap
6277         * @param {string} attributeNameToWrap
6278         */
6279        const setElementAttributes = function (formElement, elementToWrap, attributeNameToWrap) {
6280            const originalSubmit = elementToWrap.getAttribute(attributeNameToWrap);
6281            elementToWrap.removeAttribute(attributeNameToWrap);
6282
6283            /**
6284             * To properly set submit attribute - we need to replace '@' with 'x-on:'
6285             * and add preventDefault behaviour
6286             */
6287            elementToWrap.setAttribute(
6288                attributeNameToWrap.replace(/^@/, 'x-on:').replace(/.prevent$/, '') + '.prevent',
6289                'amRecaptchaModel.execute($event)'
6290            );
6291            elementToWrap.setAttribute(
6292                'x-on:amrecaptcha-executable-callback',
6293                originalSubmit
6294            );
6295        }
6296
6297        wrapFormSubmit();
6298    })(window.amRecaptchaModel = window.amRecaptchaModel || {});
6299</script>
6299
6300
6301<script>
6302    function initAuthenticationBss() {
6303        return {
6304            open: false,
6305            openLogin : false,
6306            openRegister : false,
6307            openForgot : false,
6308            openCreate : true,
6309            passwordsMatching: true,
6310            openMessage: false,
6311            errors: 0,
6312            message: "",
6313            hasCaptchaToken: 0,
6314            openButtonLogin : false,
6315            openButtonRegister : false,
6316            openSuccessMessage : false,
6317            checkUseReCaptcha: 1,
6318            recaptchaLoading: null,
6319            initSocial() {
6320                if (!this.checkUseReCaptcha) {
6321                    return Promise.resolve();
6322                }
6323                if (this.recaptchaLoading) {
6324                    return this.recaptchaLoading;
6325                }
6326                if (typeof window.grecaptcha !== 'undefined') {
6327                    this.recaptchaLoading = Promise.resolve();
6328                    return this.recaptchaLoading;
6329                }
6330                this.recaptchaLoading = new Promise((resolve, reject) => {
6331                    const recaptchaUrl = `https://www.google.com/recaptcha/api.js?render=6LdQFsgqAAAAAFaiT_SQ7C9UmCcxWxpMd6pIMAEO&hl=en`;
6332                    const script = document.createElement('script');
6333                    script.setAttribute('type', 'text/javascript');
6334                    script.setAttribute('src', recaptchaUrl);
6335                    script.onload = () => resolve();
6336                    script.onerror = () => reject(new Error('Failed to load reCAPTCHA'));
6337                    document.head.appendChild(script);
6338                });
6339                return this.recaptchaLoading;
6340            },
6341            loadRecaptchaOnInteraction() {
6342                if (!this.checkUseReCaptcha) {
6343                    return;
6344                }
6345                // Avoid scroll/mousemove/wheel — they fire on load / DevTools / trackpads.
6346                const events = ['pointerdown', 'keydown', 'touchstart'];
6347                const load = () => {
6348                    events.forEach((eventName) => {
6349                        window.removeEventListener(eventName, load, { capture: true });
6350                    });
6351                    this.initSocial();
6352                };
6353                events.forEach((eventName) => {
6354                    window.addEventListener(eventName, load, { once: true, passive: true, capture: true });
6355                });
6356            },
6357            checkPasswordsMatch() {
6358                if (document.getElementById('password').value ===
6359                    document.getElementById('password-confirmation').value) {
6360                    this.passwordsMatching = true;
6361                    return true;
6362                }
6363                this.passwordsMatching = false;
6364                return false;
6365            },
6366            submitForm: function () {
6367                const $form = document.querySelector('#login-form');
6368                if (this.errors === 0) {
6369                    this.dispatchLoginRequest($form);
6370                }
6371            },
6372            submitForgotForm : function () {
6373                const $form = document.querySelector('#fotgot-form');
6374                if (this.errors === 0) {
6375                    this.dispatchForgotRequest($form);
6376                }
6377            },
6378            submitRegisterForm : function () {
6379                const $form = document.querySelector('#create-form');
6380                if (this.errors === 0) {
6381                    this.dispatchRegisterRequest($form);
6382                }
6383            },
6384            validateCaptcha : async function () {
6385                await this.initSocial();
6386                return new Promise((resolve, reject) => {
6387                    if (typeof window.grecaptcha === 'undefined') {
6388                        return reject(new Error('reCAPTCHA is not available'));
6389                    }
6390                    grecaptcha.ready(function () {
6391                        grecaptcha.execute('6LdQFsgqAAAAAFaiT_SQ7C9UmCcxWxpMd6pIMAEO', {action: 'submit'}).then(function (token) {
6392                            return resolve(token);
6393                        }).catch(reject);
6394                    });
6395                });
6396            },
6397            dispatchLoginRequest:async function (form) {
6398                if (this.checkUseReCaptcha) {
6399                    let token = await this.validateCaptcha();
6400                    if(token)
6401                    {
6402                        document.getElementById("g-recaptcha-response").setAttribute('value',token);
6403                    }
6404                }
6405                const username = this.$refs['customer-email'].value;
6406                const password = this.$refs['customer-password'].value;
6407                const recaptchaValue = document.getElementById("g-recaptcha-response").value;
6408                const postUrl = "https://www.flooringinc.com/sociallogin/popup/login/";
6409                fetch(postUrl, {
6410                    headers: {
6411                        contentType: "application/x-www-form-urlencoded; charset=UTF-8",
6412                    },
6413                    body: new URLSearchParams({
6414                        username: username,
6415                        password: password,
6416                        ['g-recaptcha-response']: recaptchaValue,
6417                        form_key: hyva.getFormKey(),
6418                    }),
6419                    method: "POST",
6420                    mode: "cors",
6421                    credentials: "include",
6422                }).then(response => {
6423                        return response.json()
6424                    }
6425                ).then(data => {
6426                    this.isLoading = false;
6427                    if (data.error) {
6428                        this.message = data.message;
6429                        this.openMessage = true;
6430                        this.errors = 1;
6431                        this.hasCaptchaToken = 0;
6432                    } else {
6433                        this.message = data.message;
6434                        this.openMessage = false;
6435                        this.openSuccessMessage = true;
6436                        if (data.redirect !== '' && data.redirect != null) {
6437                            window.location.href = data.redirect;
6438                        } else {
6439                            location.reload(true);
6440                        }
6441                    }
6442                });
6443            },
6444            dispatchForgotRequest:async function (form) {
6445                if (this.checkUseReCaptcha) {
6446                    let token = await this.validateCaptcha();
6447                    if(token)
6448                    {
6449                        document.getElementById("g-recaptcha-response").setAttribute('value',token);
6450                    }
6451                }
6452                const email = form.querySelector("#email_address").value;
6453                const recaptchaValue = document.getElementById("g-recaptcha-response").value;
6454                const postUrl = "https://www.flooringinc.com/sociallogin/popup/forgot/";
6455                fetch(postUrl, {
6456                    headers: {
6457                        contentType: "application/x-www-form-urlencoded; charset=UTF-8",
6458                    },
6459                    body: new URLSearchParams({
6460                        email: email,
6461                        ['g-recaptcha-response']: recaptchaValue,
6462                        form_key: hyva.getFormKey(),
6463                    }),
6464                    method: "POST",
6465                    mode: "cors",
6466                    credentials: "include",
6467                }).then(response => {
6468                        return response.json()
6469                    }
6470                ).then(data => {
6471                    this.isLoading = false;
6472                    if (data.error) {
6473                        this.message = data.message;
6474                        this.openMessage = true;
6475                        this.errors = 1;
6476                        this.hasCaptchaToken = 0;
6477                    } else {
6478                        if (data.redirect !== '' && data.redirect != null) {
6479                            window.location.href = data.redirect;
6480                        } else {
6481                            location.reload(true);
6482                        }
6483                    }
6484                });
6485            },
6486            dispatchRegisterRequest:async function (form) {
6487                if (this.checkUseReCaptcha) {
6488                    let token = await this.validateCaptcha();
6489                    if(token)
6490                    {
6491                        document.getElementById("g-recaptcha-response").setAttribute('value',token);
6492                    }
6493                }
6494                const firstname = form.querySelector("#firstname").value;
6495                const lastname = form.querySelector("#lastname").value;
6496                const email = form.querySelector("#email_address").value;
6497                const password = form.querySelector("#password").value;
6498                const passwordConfirmation = form.querySelector("#password-confirmation").value;
6499                const recaptchaValue = document.getElementById("g-recaptcha-response").value;
6500                const postUrl = "https://www.flooringinc.com/sociallogin/popup/create/";
6501                fetch(postUrl, {
6502                    headers: {
6503                        contentType: "application/x-www-form-urlencoded; charset=UTF-8",
6504                    },
6505                    body: new URLSearchParams({
6506                        ['g-recaptcha-response']: recaptchaValue,
6507                        firstname: firstname,
6508                        lastname: lastname,
6509                        email: email,
6510                        password: password,
6511                        password_confirmation: passwordConfirmation,
6512                        form_key: hyva.getFormKey(),
6513                    }),
6514                    method: "POST",
6515                    mode: "cors",
6516                    credentials: "include",
6517                }).then(response => {
6518                        return response.json()
6519                    }
6520                ).then(data => {
6521                    this.isLoading = false;
6522                    if (data.error) {
6523                        this.message = data.message;
6524                        this.openMessage = true;
6525                        this.hasCaptchaToken = 0;
6526                    } else {
6527                        this.message = data.message;
6528                        this.openMessage = false;
6529                        this.openSuccessMessage = true;
6530                        if (data.redirect !== '' && data.redirect != null) {
6531                            window.location.href = data.redirect;
6532                        } else {
6533                            location.reload(true);
6534                        }
6535                    }
6536                });
6537            },
6538            eventListeners: {
6539                ['@popup-register.window']($event) {
6540                    this.open = true;
6541                    this.openRegister = $event.detail.openRegister;
6542                    this.openLogin = $event.detail.openLogin;
6543                    this.openCreate = $event.detail.openCreate;
6544                    this.openButtonLogin = $event.detail.openButtonLogin;
6545                    this.openButtonRegister = $event.detail.openButtonRegister;
6546                    this.initSocial();
6547                }
6548            }
6549        }
6550    }
6551</script>
6551
6552
6553<section id="authentication-popup-bss"
6554         x-data="initAuthenticationBss()" x-init="loadRecaptchaOnInteraction()"
6555         @keydown.window.escape="open = false"
6556<div role="dialog"
6557     aria-modal="true"
6558     class="hidden inset-y-0 right-0 z-30 flex max-w-full"
6559     :class="{ 'hidden': !open, 'fixed': open }"
6560     x-bind="eventListeners"
6561>
6562    <div class="relative bg-container-lighter bss_login_popup"
6563         x-show="open"
6564         @click.outside="open = false"
6565         x-transition:enter="transform transition ease-in-out duration-500 sm:duration-700"
6566         x-transition:enter-start="translate-x-full"
6567         x-transition:enter-end="translate-x-0"
6568         x-transition:leave="transform transition ease-in-out duration-500 sm:duration-700"
6569         x-transition:leave-start="translate-x-0"
6570         x-transition:leave-end="translate-x-full"
6571    >
6572        <div
6573            x-show="open"
6574            x-transition:enter="ease-in-out duration-500"
6575            x-transition:enter-start="opacity-0"
6576            x-transition:enter-end="opacity-100"
6577            x-transition:leave="ease-in-out duration-500"
6578            x-transition:leave-start="opacity-100"
6579            x-transition:leave-end="opacity-0" class="absolute flex close_icon" style="width: 11px;height: 11px;background: transparent;">
6580            <button @click="open = false;" aria-label="Close panel"
6581                    class="transition duration-150 ease-in-out text-black cursor-pointer">
6582                <picture><source type="image/webp" srcset="https://www.flooringinc.com/static/version1789462004/frontend/Dcw/hyvadesktop/en_US/images/Close--icon.webp"><img src="https://www.flooringinc.com/static/version1789462004/frontend/Dcw/hyvadesktop/en_US/images/Close--icon.png" alt="Close--icon" width="11" height="11" /></picture>
6583            </button>
6584        </div>
6585        <div class="flex h-full flex-col bss_login_popup_in overflow-y-auto" >
6586            <div class="message mx-4 message-error" x-show="openMessage">
6587                <div>
6588                    <span x-html="message"></span>
6589                </div>
6590                <div class="cursor-pointer" title="close" @click="openMessage = false">
6591                    <svg class="fill-current text-white" xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 18 18">
6592                        <path d="M14.53 4.53l-1.06-1.06L9 7.94 4.53 3.47 3.47 4.53 7.94 9l-4.47
6593                                                4.47 1.06 1.06L9 10.06l4.47 4.47 1.06-1.06L10.06 9z">
6594                        </path>
6595                    </svg>
6596                </div>
6597            </div>
6598            <div class="message mx-4 message-error success" x-show="openSuccessMessage">
6599                <div>
6600                    <span x-html="message"></span>
6601                </div>
6602                <div class="cursor-pointer" title="close" @click="openSuccessMessage = false">
6603                    <svg class="fill-current text-white" xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 18 18">
6604                        <path d="M14.53 4.53l-1.06-1.06L9 7.94 4.53 3.47 3.47 4.53 7.94 9l-4.47
6605                                                4.47 1.06 1.06L9 10.06l4.47 4.47 1.06-1.06L10.06 9z">
6606                        </path>
6607                    </svg>
6608                </div>
6609            </div>
6610                        <div class="block-customer-login for_got" x-show="openForgot">
6611    <h2 id="authenticate-customer-login" class="text-size18 font-medium text-darkblack">
6612        Forgot Password    </h2>
6613    <form class="form form-fotgotpassword"
6614          method="post"
6615          @submit.prevent="submitForgotForm();"
6616          id="fotgot-form">
6617        <fieldset class="fieldset">
6618            <div class="text-size14 font-normal text-black mb-4">Please enter your email address below to receive a password reset link.</div>
6619            <div class="field email required">
6620                <label for="email_address" class="label"><span>Email</span></label>
6621                <div class="control">
6622                    <input type="email" name="email" alt="email" id="email_address" class="form-input" required
6623                           value="">
6624                </div>
6625            </div>
6626        </fieldset>
6627        <div class="actions-toolbar">
6628            <div class="primary">
6629                <button type="submit" class="action submit primary"><span>Reset My Password</span></button>
6630            </div>
6631            <div class="secondary ml-4 self-center">
6632                <a class="action back cursor-pointer"
6633                   @click ="openForgot = false,openLogin = true,
6634                   openButtonLogin = true"
6635                >
6636                    <span class="text-size14 font-medium text-black">
6637                        Back                    </span>
6638                </a>
6639            </div>
6640        </div>
6641    </form>
6642</div>
6643
6644
6645            
6646            <div class="w-full">
6647                <input id="g-recaptcha-response" type="hidden" value=""/>
6648            </div>
6649            <div class="block-new-customer social_login"
6650                 x-show="openButtonLogin">
6651                <h2 id="authenticate-new-customer" class="text-size18 font-semibold text-darkblack">
6652                    Log In                </h2>
6653                <div class="block-content">
6654                                                <div id="add_button_login_byclass" x-data="bssButtonSocial()" x-ref="registerSocialButton">
6655                                <div class="">
6656                                    <div class="sociallogin-buttons" x-ref="loginSocialButton">
6657                                        <ul class="sociallogin-clearfix flex flex-wrap">
6658                                                                                            <li class="w-full text-size14 font-medium text-darkblack relative sociallogin-button
6659                                                    googleplus"  title="Login with Google">
6660                                                    <a class="sociallogin-button-link sociallogin-button-click" id="sociallogin-button-click" 
6661                                                       href="javascript:void(0);" data-href="https://accounts.google.com/o/oauth2/auth?response_type=code&redirect_uri=https%3A%2F%2Fwww.flooringinc.com%2Fsociallogin%2Faccount%2Flogin%2Ftype%2Fgoogleplus%2F&client_id=900046866587-mph1s7dsg2dcau694j9ukb0m26hukidu.apps.googleusercontent.com&scope=https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fuserinfo.profile+https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fuserinfo.email&state=&access_type=offline&approval_prompt=auto"
6662                                                       data-width="630"
6663                                                       data-height="650"
6664                                                       x-ref="googleplus"
6665                                                       @click="popupSocial($refs.googleplus)">
6666                                                         <span class="sociallogin-button-auto">
6667                                                            <span class="sociallogin-button-icon">
6668                                                                                                                            </span>
6669                                                                                                                            <span class="sociallogin-button-text">Login with Google</span>
6670                                                                                                                    </span>
6671                                                    </a>
6672                                                </li>
6673                                                                                                                                        </ul>
6674                                                                            </div>
6675
6676                                </div>
6677                                <div style="clear: both;"></div>
6678                            </div>
6679                                    </div>
6680            </div>
6681            <div class="block-customer-login" x-show="openLogin" x-data="{ show: false }">
6682    <span class="or-label text-size14 font-normal text-darkblack"> Or</span>
6683
6684    <form class="form form-login"
6685          method="post"
6686          @submit.prevent="submitForm();"
6687          id="login-form"
6688    >
6689                <div class="fieldset login">
6690            <div class="field email required">
6691                <label class="label hidden" for="customer-email">
6692                    <span>Email Address</span>
6693                </label>
6694                <div class="control">
6695                    <input name="username"
6696                           x-ref="customer-email"
6697                           @change="errors = 0"
6698                           type="email"
6699                           required
6700                           class="form-input input-text" id="customer-email" placeholder="Email address" 
6701                    >
6702                </div>
6703            </div>
6704            <div class="field password required" >
6705                <label for="pass" class="label hidden">
6706                    <span>Password</span>
6707                </label>
6708                <div class="control">
6709                    <input name="password"
6710                           type="password" 
6711                           class="form-input input-text" id="pass" placeholder="Password" 
6712                           required
6713                           x-ref="customer-password"
6714                           @change="errors = 0"
6715                    >
6716                </div>
6717            </div>
6718
6719            <input name="context" type="hidden" value="checkout"/>
6720             
6721            <div class="actions-toolbar flex justify-between items-center" >
6722                <div class="flex items-center">
6723                    <input type="checkbox" name="show-password" @click="showPassword()" id="show-password" value="" class="checkbox">
6724                    <label class="cursor-pointer text-size12 font-normal text-darkblack" style="margin:0;" for="show-password">Show password</label>                    
6725                    <!-- <span class="cursor-pointer text-size12 font-normal text-darkblack" @click="showPasswordForLable()" id="show-password-label" >
6726                        Show Password 
6727                    </span> -->
6728                </div>    
6729                   <span class="cursor-pointer text-size12 font-normal text-darkblack" @click="openForgot = true,openLogin = false,openButtonLogin = false">
6730                        Forgot Your Password?                    </span>
6731                    
6732            
6733            </div>
6734            <div class="actions-toolbar flex justify-between items-center">
6735                 <button type="submit" class="inline-flex btn btn-primary login_btn">
6736                        Log In                    </button>
6737            </div>       
6738        </div>
6739    </form>
6740</div>
6741
6742<script>
6743     function showPassword(){
6744        var showPwd=document.getElementById("show-password");
6745        var password=document.getElementById("pass");
6746        if(showPwd.checked==true) {
6747            password.type="text";
6748        } else {
6749           password.type="password";
6750        }
6751    }    
6752    function showPasswordForLable(){
6753        var password=document.getElementById("pass");
6754        if (password.type === "password") {
6755            password.type = "text";
6756        } else {
6757            password.type = "password";
6758        }
6759    } 
6760</script>
6760 
6761            <div class="block-new-customer new_customer text-center" x-show ="openCreate">
6762                <h2 id="authenticate-new-customer" class="text-size13 font-normal text-darkblack">
6763                    New Customer?                </h2>
6764                <div class="block-content">
6765                    <div class="actions-toolbar">
6766                        <a class="block btn btn-primary cursor-pointer text-size18 font-semibold text-custom-blue"
6767                        href="https://www.flooringinc.com/customer/account/create/"  >
6768                            Sign Up Now                        </a>
6769                    </div>
6770                    <div class="block-new-customer">
6771                        <h3 class="text-size16 font-normal text-black">
6772                            <a class="block underline"
6773                            href="https://www.flooringinc.com/pro-advantage/"
6774                            >
6775                                Become a Pro                            </a>
6776                        </h3>
6777                    </div>
6778                </div>
6779            </div>
6780            <div class="block-new-customer social_login margin" x-show="openButtonRegister">
6781                <h2 id="authenticate-new-customer" class="text-size18 font-medium text-darkblack">
6782                    Social Register                </h2>
6783                <div class="block-content">
6784                                                <div id="add_button_register_byclass" x-data="bssButtonSocial()" x-ref="registerSocialButton">
6785                                <div class="">
6786                                    <div class="sociallogin-buttons">
6787                                        <ul class="sociallogin-clearfix flex flex-wrap">
6788                                                                                            <li class="w-full text-size14 font-medium text-darkblack relative sociallogin-button googleplus"   title="Register with Google">
6789                                                    <a class="sociallogin-button-link sociallogin-button-click" id="sociallogin-button-click" 
6790                                                       href="javascript:void(0);" data-href="https://accounts.google.com/o/oauth2/auth?response_type=code&redirect_uri=https%3A%2F%2Fwww.flooringinc.com%2Fsociallogin%2Faccount%2Flogin%2Ftype%2Fgoogleplus%2F&client_id=900046866587-mph1s7dsg2dcau694j9ukb0m26hukidu.apps.googleusercontent.com&scope=https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fuserinfo.profile+https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fuserinfo.email&state=&access_type=offline&approval_prompt=auto"
6791                                                       data-width="630"
6792                                                       data-height="650"
6793                                                       x-ref="googleplus"
6794                                                       @click="popupSocial($refs.googleplus)">
6795                                                        <span class="sociallogin-button-auto">
6796                                                            <span class="sociallogin-button-icon">
6797                                                                                                                            </span>
6798                                                                                                                            <span class="sociallogin-button-text">Register with Google</span>
6799                                                                                                                    </span>
6800                                                    </a>
6801                                                </li>
6802                                                                                                                                        </ul>
6803                                                                            </div>
6804                                </div>
6805                                <div style="clear: both;"></div>
6806                            </div>
6807                                    </div>
6808            </div>          
6809        </div>
6810    </div>
6811</div>
6812</section>
6813<script>
6814        var classLogin = [".checkout-container .opc-wrapper"];
6815        var classRegister = [""];
6816    classLogin = classLogin[0].trim().split(/\s+/);
6817    classRegister = classRegister[0].trim().split(/\s+/);
6818    if(classLogin && classLogin.length > 0 && classLogin[0]){
6819        classLogin.forEach(element => {
6820            var classLoginElement = document.querySelector(element);
6821            var loginSocialButton = document.getElementById('add_button_login_byclass');
6822            if (classLoginElement && loginSocialButton) {
6823                const cloneLoginSocialButton = loginSocialButton.cloneNode(true);
6824                classLoginElement.appendChild(cloneLoginSocialButton);
6825                cloneLoginSocialButton.style.display='block';
6826            }
6827        });
6828    }
6829
6830    if(classRegister && classRegister.length > 0 && classRegister[0]){
6831        classRegister.forEach(element => {
6832            var classRegisterElement = document.querySelector(element);
6833            var registerSocialButton = document.getElementById('add_button_register_byclass');
6834            if (classRegisterElement && registerSocialButton) {
6835                const cloneRegisterSocialButton = registerSocialButton.cloneNode(true);
6836                classRegisterElement.appendChild(cloneRegisterSocialButton);
6837                cloneRegisterSocialButton.style.display='block';
6838            }
6839        });
6840    }
6841
6842    function bssButtonSocial() {
6843        return {
6844            renderShowmore : function (element) {
6845                var socialButton = element.querySelector('.sociallogin-clearfix').getElementsByTagName("li");
6846                for (let i = 0; i <= socialButton.length - 1; i++) {
6847                    socialButton[i].style.display = 'block';
6848                }
6849                element.querySelector('.sociallogin-showmore').style.display = 'none';
6850            },
6851            popupSocial: function (element) {
6852                var href = element.getAttribute('data-href');
6853                var width = element.getAttribute('data-width');
6854                var height = element.getAttribute('data-height');
6855                var popup_window = null;
6856                if (!width) {
6857                    width = 650;
6858                }
6859
6860                if(!height) {
6861                    height = 350;
6862                }
6863
6864                var left = parseInt((window.innerWidth- width) / 2);
6865                var top = parseInt((window.innerHeight - height) / 2);
6866
6867                var params = [
6868                    'resizable=yes',
6869                    'scrollbars=no',
6870                    'toolbar=no',
6871                    'menubar=no',
6872                    'location=no',
6873                    'directories=no',
6874                    'status=yes',
6875                    'width='+ width,
6876                    'height='+ height,
6877                    'left='+ left,
6878                    'top='+ top
6879                ];
6880
6881                if(popup_window) {
6882                    popup_window.close();
6883                }
6884
6885                if(href) {
6886                    popup_window = window.open(href,'',params.join(','));
6887                    popup_window.focus();
6888
6889                }else{
6890                    alert('This Login Application was not configured correctly. Please contact our customer support.');
6891                }
6892                return false;
6893            }
6894        }
6895    }
6896
6897</script>
6897
6898
6899
6900
6901    
6901<script>
6902        (() => {
6903            function changeNoCookieDomain() {
6904                const categoryKey = "marketing";
6905                if (! prCookieConsentApi.isAllowedCategory(categoryKey)) {
6906                    return;
6907                }
6908
6909                let iframes = document.querySelectorAll('iframe'),
6910                    youtubeNoCookieIframes = Array.from(iframes)
6911                        .filter((iframe) => iframe.src.indexOf('youtube-nocookie.com') !== -1);
6912
6913                youtubeNoCookieIframes.forEach((iframe) => {
6914                    iframe.src = iframe.src.replace('youtube-nocookie.com', 'youtube.com');
6915                });
6916            }
6917
6918            if (prCookieConsentApi) {
6919                changeNoCookieDomain();
6920                return;
6921            }
6922
6923            document.addEventListener('pr-cookie-consent-api:configured', changeNoCookieDomain);
6924        })();
6925    </script>
6925
6926
6927<script>
6928    'use strict';
6929
6930    (() => {
6931        window.addEventListener('DOMContentLoaded', () => {
6932            if (document.querySelectorAll('lite-youtube').length > 0) {
6933                const link = document.createElement('link'),
6934                      script = document.createElement('script');
6935
6936                link.rel = 'stylesheet';
6937                link.type = 'text/css';
6938                link.href = 'https\u003A\u002F\u002Fwww.flooringinc.com\u002Fstatic\u002Fversion1789462004\u002Ffrontend\u002FDcw\u002Fhyvadesktop\u002Fen_US\u002FMageQuest_LiteYouTube\u002Fcss\u002Flite\u002Dyt\u002Dembed.min.css';
6939                document.head.appendChild(link);
6940
6941                script.type = 'text/javascript';
6942                script.src = 'https\u003A\u002F\u002Fwww.flooringinc.com\u002Fstatic\u002Fversion1789462004\u002Ffrontend\u002FDcw\u002Fhyvadesktop\u002Fen_US\u002FMageQuest_LiteYouTube\u002Fjs\u002Flite\u002Dyt\u002Dembed.min.js';
6943                document.head.appendChild(script);
6944            }
6945        });
6946    })();
6947</script>
vendor: 1 bytes, line 6947
6947
6948<script data-mfmofile="true">
6949    document.addEventListener("DOMContentLoaded", function() {
6950        if (document.querySelectorAll('.mf-ytw-wrapper').length || document.querySelectorAll('[data-mf-ytw-youtube-link]').length) {
6951            !function (f, b, e, v, t, s) {
6952                if(f.mfytwcss)return;
6953                f.mfytwcss=1;
6954                t = b.createElement(e);
6955                t.rel = 'stylesheet';
6956                t.type = 'text/css';
6957                t.href = v;
6958                s = b.getElementsByTagName('HEAD')[0];
6959                s.appendChild(t)
6960            }(window, document, 'link', 'https://www.flooringinc.com/static/version1789462004/frontend/Dcw/hyvadesktop/en_US/Magefan_YouTubeWidget/css/youtubewidget.min.css');
6961        }
6962        if (document.querySelectorAll('.mf-ytw-wrapper').length) {
6963            !function (f, b, e, v, t, s) {
6964                if(f.mfytwjs)return;
6965                f.mfytwjs=1;
6966                t = b.createElement(e);
6967                t.type = 'text/javascript';
6968                t.src = v;
6969                s = b.getElementsByTagName('HEAD')[0];
6970                s.appendChild(t)
6971            }(window, document, 'script', 'https://www.flooringinc.com/static/version1789462004/frontend/Dcw/hyvadesktop/en_US/Magefan_YouTubeWidget/js/iframe.min.js');
6972        }
6973        if (document.querySelectorAll('[data-mf-ytw-youtube-link]').length) {
6974            !function (f, b, e, v, t) {
6975                if(f.mflinkjs)return;
6976                f.mflinkjs=1;
6977                t = b.createElement(e);
6978                t.type = 'text/javascript';
6979                t.src = v;
6980                s = b.getElementsByTagName('HEAD')[0];
6981                s.appendChild(t)
6982            }(window, document, 'script', 'https://www.flooringinc.com/static/version1789462004/frontend/Dcw/hyvadesktop/en_US/Magefan_YouTubeWidget/js/link.min.js');
6983        }
6984    });
6985</script>
6985
6986
6987    <div id="pr-gpc-notification-modal" style="display: none;">
6988        <div class="pr-gpc-notification-wrap">
6989    <h2>Your Opt-Out Preferences Honored</h2>
6990<p>Your browser's privacy preference (GPC) has been detected.</p>
6991<p class="pr-gpc-text-with-icon"><picture><source type="image/webp" srcset="https://www.flooringinc.com/static/version1789462004/frontend/Dcw/hyvadesktop/en_US/Plumrocket_GlobalPrivacyControl/images/check_circle.webp"><img src="https://www.flooringinc.com/static/version1789462004/frontend/Dcw/hyvadesktop/en_US/Plumrocket_GlobalPrivacyControl/images/check_circle.png" alt="GPC Icon" width="18" height="18"></picture> Non-essential cookies have been disabled on our website.</p>
6992</div>    </div>
6993
6994    
6994<script type="text/x-magento-init"  nonce="bDhraW5vaDFjczNyejIwenoxdG1tYm50dzNqb2RqOGY=">
6995        {
6996            "#pr-gpc-notification-modal": {
6997                "Plumrocket_GlobalPrivacyControl/js/opt-out-notification": {}
6998            }
6999        }
7000    </script>
7000
7001
7002
7003<script>
7004    (() => {
7005        function src_default(Alpine) {
7006            Alpine.directive("intersect", (el, { value, expression, modifiers }, { evaluateLater, cleanup }) => {
7007                let evaluate = evaluateLater(expression);
7008                let options = {
7009                    rootMargin: getRootMargin(modifiers),
7010                    threshold: getThreshhold(modifiers)
7011                };
7012                let observer = new IntersectionObserver((entries) => {
7013                    entries.forEach((entry) => {
7014                        if (entry.isIntersecting === (value === "leave"))
7015                            return;
7016                        evaluate();
7017                        modifiers.includes("once") && observer.disconnect();
7018                    });
7019                }, options);
7020                observer.observe(el);
7021                cleanup(() => {
7022                    observer.disconnect();
7023                });
7024            });
7025        }
7026        function getThreshhold(modifiers) {
7027            if (modifiers.includes("full"))
7028                return 0.99;
7029            if (modifiers.includes("half"))
7030                return 0.5;
7031            if (!modifiers.includes("threshold"))
7032                return 0;
7033            let threshold = modifiers[modifiers.indexOf("threshold") + 1];
7034            if (threshold === "100")
7035                return 1;
7036            if (threshold === "0")
7037                return 0;
7038            return Number(`.${threshold}`);
7039        }
7040        function getLengthValue(rawValue) {
7041            let match = rawValue.match(/^(-?[0-9]+)(px|%)?$/);
7042            return match ? match[1] + (match[2] || "px") : void 0;
7043        }
7044        function getRootMargin(modifiers) {
7045            const key = "margin";
7046            const fallback = "0px 0px 0px 0px";
7047            const index = modifiers.indexOf(key);
7048            if (index === -1)
7049                return fallback;
7050            let values = [];
7051            for (let i = 1; i < 5; i++) {
7052                values.push(getLengthValue(modifiers[index + i] || ""));
7053            }
7054            values = values.filter((v) => v !== void 0);
7055            return values.length ? values.join(" ").trim() : fallback;
7056        }
7057
7058        document.addEventListener("alpine:init", () => {
7059            window.Alpine.plugin(src_default);
7060        });
7061    })();
7062</script>
vendor: 1 bytes, line 7062
7062
7063<script>
7064    for (const [selector, deferUntil] of Object.entries({".product-slider section[x-data]":"intersect",".product-info [x-data]":"intersect","#filters-content [x-data]":"intersect","#review_form":"intersect","section[x-data^=initRecentlyViewedProductsComponent]":"intersect","div[x-data^=initBundleOptions]":"intersect","#product_addtocart_form [x-data]":"intersect","#notice-cookie-block":"intersect"})) {
7065        document.querySelectorAll(selector).forEach(el => el.setAttribute('x-defer', `${deferUntil}`));
7066    }
7067</script>
vendor: 1 bytes, line 7067
7067
7068<script>
7069    (function () {
7070        "use strict";
7071
7072        const hasAlpine = new Promise(resolve => {
7073            window.addEventListener('alpine:initialized', resolve, {once: true, passive: true});
7074        });
7075
7076        const hasInteract = new Promise(resolve => {
7077            (events => {
7078                const onInteract = () => {
7079                    resolve();
7080                    events.forEach(type => window.removeEventListener(type, onInteract));
7081                }
7082                events.forEach(type => window.addEventListener(type, onInteract, {once: true, passive: true}))
7083            })(['touchstart', 'mouseover', 'wheel', 'scroll', 'keydown'])
7084        });
7085
7086        const onIntersect = (el) => {
7087            return new Promise(resolve => {
7088                const observer = new IntersectionObserver(entries => {
7089                    for (const entry of entries) {
7090                        if (entry.isIntersecting) {
7091                            observer.disconnect()
7092                            resolve();
7093                        }
7094                    }
7095                }, {});
7096                observer.observe(el);
7097            });
7098        }
7099
7100        function runComponent(el) {
7101            hasAlpine.then(() => {
7102                el.removeAttribute('x-ignore');
7103                queueMicrotask(() => Alpine.initTree(el));
7104            });
7105        }
7106
7107        function initDeferredComponents() {
7108            document.querySelectorAll('[x-data][x-defer]').forEach(el => {
7109                el.setAttribute('x-ignore', '');
7110                const deferUntil = (el.getAttribute('x-defer') || '').trim();
7111                switch (deferUntil) {
7112                    case 'interact':
7113                        hasInteract.then(() => runComponent(el));
7114                        break;
7115                    case 'intersect':
7116                        onIntersect(el).then(() => runComponent(el))
7117                        break;
7118                    case 'idle':
7119                        window.requestIdleCallback
7120                            ? window.requestIdleCallback(() => runComponent(el), {timeout: 4000})
7121                            : setTimeout(() => runComponent(el), 4000);
7122                        break;
7123                    case 'eager':
7124                        runComponent(el);
7125                        break;
7126                    default:
7127                        if (deferUntil.startsWith('event:') && deferUntil.length > 6) {
7128                            window.addEventListener(deferUntil.substring(6), () => runComponent(el), {once: true, passive: true});
7129                        }
7130                }
7131            });
7132        }
7133
7134        window.addEventListener('alpine:init', initDeferredComponents, {once: true, passive: true});
7135    })()
7136</script>
7136
7137
7138<script type="module"
7139        src="https://www.flooringinc.com/static/version1789462004/frontend/Dcw/hyvadesktop/en_US/Hyva_Theme/js/alpine3.min.js"
7140        defer
7141        crossorigin
7142></script>
vendor: 1 bytes, line 7142
7142
7143<script>
7144    'use strict';
7145    function dispatchMessages(messages, hideAfter) {
7146        const messagesEvent = new CustomEvent("messages-loaded", {
7147            detail: {
7148                messages: messages,
7149                hideAfter: hideAfter
7150            }
7151        });
7152        window.dispatchEvent(messagesEvent);
7153    }
7154
7155    if (typeof hyva === 'undefined' || (!hyva.getBrowserStorage || !hyva.getCookie || !hyva.setCookie)) {
7156        console.warn("Hyvä helpers are not loaded yet. Make sure they are included before this script");
7157    }
7158
7159    (function( hyva, undefined ) {
7160
7161        hyva.initFormKey = () => {
7162            const inputSelector = 'input[name="form_key"]',
7163                formKey = hyva.getFormKey();
7164
7165            Array.from(document.querySelectorAll(inputSelector)).map(function (input) {
7166                input.value = formKey
7167            });
7168        }
7169
7170        hyva.initMessages = () => {
7171            try {
7172                const messages = hyva.getCookie('mage-messages');
7173                window.mageMessages = messages ? JSON.parse(decodeURIComponent(messages).replace(/\+/g, ' ')) : [];
7174
7175                dispatchMessages(window.mageMessages);
7176
7177                                // empty `mage-messages` cookie
7178                const skipSetDomain = true;
7179                hyva.setCookie('mage-messages','', -1, skipSetDomain);
7180
7181            } catch (error) {
7182                console.warn('Error parsing Cookie Messages:', error);
7183            }
7184        }
7185
7186        window.addEventListener('DOMContentLoaded', hyva.initFormKey);
7187        hyva.alpineInitialized(hyva.initMessages)
7188
7189    }( window.hyva = window.hyva || {} ));
7190</script>
vendor: 1 bytes, line 7190
7190
7191<script>
7192    'use strict';
7193    {
7194        const private_content_key = 'mage-cache-storage';
7195        const private_content_expire_key = 'mage-cache-timeout';
7196        const private_content_version_key = 'private_content_version';
7197        const section_data_ids_key = 'section_data_ids';
7198        const mage_cache_session_id_key = 'mage-cache-sessid';
7199        const last_visited_store_key = 'last_visited_store';
7200
7201        const ttl = 3600;
7202
7203        if (typeof hyva === 'undefined' || (!hyva.getBrowserStorage || !hyva.getCookie || !hyva.setCookie)) {
7204            console.warn("Hyvä helpers are not loaded yet. Make sure they are included before this script");
7205        }
7206
7207        function loadSectionData () {
7208            const browserStorage = hyva.getBrowserStorage();
7209            if (!browserStorage) {
7210                typeof window.dispatchMessages !== "undefined" && window.dispatchMessages(
7211                    [{
7212                        type: "warning",
7213                        text: "Please enable LocalStorage in your browser."
7214                    }]
7215                );
7216                return;
7217            }
7218            try {
7219                let isInvalid = false;
7220
7221                if (hyva.getCookie(last_visited_store_key) !== CURRENT_STORE_CODE) {
7222                    isInvalid = true;
7223                }
7224                hyva.setCookie(last_visited_store_key, CURRENT_STORE_CODE, false, false);
7225
7226                if (!hyva.getCookie(mage_cache_session_id_key)) {
7227                    isInvalid = true;
7228                    browserStorage.removeItem(private_content_key);
7229                    const skipSetDomain = true;
7230                    const days = false;
7231                    hyva.setCookie(mage_cache_session_id_key, true, days, skipSetDomain)
7232                }
7233
7234                const cookieVersion = hyva.getCookie(private_content_version_key);
7235                const storageVersion = browserStorage.getItem(private_content_version_key);
7236
7237                if (cookieVersion && !storageVersion || cookieVersion !== storageVersion) {
7238                    isInvalid = true;
7239                }
7240
7241                const privateContentExpires = browserStorage.getItem(private_content_expire_key);
7242                if (privateContentExpires && new Date(privateContentExpires) < new Date()) {
7243                    browserStorage.removeItem(private_content_key);
7244                }
7245
7246                if (isInvalid && cookieVersion) {
7247                    fetchPrivateContent([]);
7248                } else if (cookieVersion && storageVersion && cookieVersion === storageVersion) {
7249                    const privateContent = JSON.parse(browserStorage.getItem(private_content_key));
7250                    if (
7251                        privateContent &&
7252                        privateContentExpires &&
7253                        privateContent.cart &&
7254                        privateContent.customer
7255                    ) {
7256                        dispatchPrivateContent(privateContent);
7257                    } else {
7258                        fetchPrivateContent([]);
7259                    }
7260                } else {
7261                    if (document.getElementById('default-section-data')) {
7262                        const privateContent = JSON.parse(document.getElementById('default-section-data').innerText.trim());
7263                        dispatchPrivateContent(privateContent);
7264                    } else {
7265                        dispatchPrivateContent({});
7266                    }
7267                }
7268
7269            } catch (error) {
7270                console.warn('Error retrieving Private Content:', error);
7271            }
7272        }
7273
7274        hyva.alpineInitialized(loadSectionData)
7275        window.addEventListener('reload-customer-section-data', loadSectionData);
7276
7277        function dispatchPrivateContent(data) {
7278            const privateContentEvent = new CustomEvent("private-content-loaded", {
7279                detail: {
7280                    data: data
7281                }
7282            });
7283            window.dispatchEvent(privateContentEvent);
7284        }
7285
7286        function fetchPrivateContent(sections) {
7287            fetch(`${BASE_URL}customer/section/load/?sections=${encodeURIComponent(sections.join(','))}`, {
7288                method: 'GET',
7289                headers: {
7290                    'Content-Type': 'application/json',
7291                    'X-Requested-With': 'XMLHttpRequest'
7292                }
7293            })
7294                .then(response => response.json())
7295                .then(
7296                    data => {
7297                        if (data) {
7298                            try {
7299                                const browserStorage = hyva.getBrowserStorage();
7300
7301                                // merge new data preserving non-invalidated sections
7302                                const oldSectionData = JSON.parse(browserStorage.getItem(private_content_key) || '{}') || {};
7303
7304                                if ((! data.cart || ! data.cart.cartId) && oldSectionData['checkout-data']) {
7305                                    delete oldSectionData['checkout-data'];
7306                                }
7307                                const newSectionData = Object.assign(oldSectionData, data);
7308
7309                                dispatchPrivateContent(newSectionData);
7310
7311                                // don't persist messages, they've been dispatched already
7312                                if (newSectionData.messages && newSectionData.messages.messages ) {
7313                                    newSectionData.messages.messages = [];
7314                                }
7315
7316                                browserStorage.setItem(private_content_key, JSON.stringify(newSectionData));
7317
7318                                const expiresAt = new Date(Date.now() + (ttl * 1000)).toISOString();
7319                                browserStorage.setItem(private_content_expire_key, expiresAt);
7320
7321                                const newCookieVersion = hyva.getCookie(private_content_version_key);
7322                                browserStorage.setItem(private_content_version_key, newCookieVersion);
7323
7324                                // We don't need the section_data_ids in Hyvä, but we store them for compatibility
7325                                // with Luma Fallback. Otherwise, not all sections are loaded in Luma Checkout
7326                                hyva.setCookie(
7327                                    section_data_ids_key,
7328                                    JSON.stringify(
7329                                        Object.keys(data).reduce((sectionDataIds, sectionKey) => {
7330                                            sectionDataIds[sectionKey] = data[sectionKey]['data_id'];
7331                                            return sectionDataIds;
7332                                        }, {})
7333                                    ),
7334                                    false,
7335                                    true
7336                                );
7337                            } catch (error) {
7338                                console.warn("Couldn't store privateContent", error);
7339                            }
7340                        }
7341                    }
7342                );
7343        }
7344    }
7345</script>
vendor: 1 bytes, line 7345
7345
7346<script>
7347    (() => {
7348        document.addEventListener('submit', event => event.target.action = event.target.action.replace('%25uenc%25', hyva.getUenc()));
7349    })()
7350</script>
vendor: 1 bytes, line 7350
7350
7351<script>
7352    (events => {
7353        const dispatchUserInteractionEvent = () => {
7354            events.forEach(type => window.removeEventListener(type, dispatchUserInteractionEvent))
7355            window.dispatchEvent(new Event('init-external-scripts'))
7356        };
7357        events.forEach(type => window.addEventListener(type, dispatchUserInteractionEvent, {once: true, passive: true}))
7358    })(['touchstart', 'mouseover', 'wheel', 'scroll', 'keydown'])
7359</script>
7359
7360<style>
7361[data-bv-show=inline_rating] .bv_sub_container .bv_numReviews_component_container .bv_text{margin: -2px 0 0 0 !important;display: flex !important;}
7362@media(max-width: 767px){
7363[data-bv-show=inline_rating] .bv_sub_container .bv_numReviews_component_container .bv_text{margin: 4px 0 0 0 !important;}
7364}
7365@media screen and (min-width: 768px) and (max-width: 1440px) {
7366    .product-item .product-info .price-box .price-container .price-wrapper span.price{font-size: 18px !important;}
7367    .product-item .product-info .price-box .price-container .price-wrapper{font-size: 18px;}
7368}
7369@media(max-width: 1550px){
7370.products__recommendations .product-slider .glider-track .recommended-slider-item{min-width:auto;}
7371}
7372.page-products .spot-light .catergory_slider_content{border-radius: 10px;}
7373.page-header .panel.wrapper .header_top .header_left_notification a.email_icon:before{background-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" fill="%2315324c" version="1.1" id="Capa_1" width="800px" height="800px" viewBox="0 0 388.424 388.424" xml:space="preserve"><g><path d="M384.202,59.111H4.209C1.888,59.111,0,61,0,63.33v261.766c0,2.33,1.888,4.217,4.209,4.217h379.993 c2.317,0,4.222-1.887,4.222-4.217V63.33C388.424,61,386.52,59.111,384.202,59.111z M319.937,92.888L194.212,185.09L68.485,92.888 H319.937z M354.647,295.535H33.779V109.328l157.935,115.82c1.494,1.089,3.508,1.089,5.004,0l157.934-115.82v186.207H354.647z"/></g></svg>');background-size: 22px 22px;}
7374@media(max-width: 767px){
7375.page-products .spot-light .catergory_slider_content .product-info{padding-left: 0 !important;padding-right: 0px !important;}
7376}
7377.page-products .spot-light .spot-bottom .order_btn{height: 35px;width: auto;color: rgb(255 255 255 / var(--tw-text-opacity))  !important;background: #296497 !important;border-radius: .375rem;padding: 0 1.25rem !important;text-align: center;text-decoration: none !important;    vertical-align: middle;font-size: .75rem;line-height: 1rem;font-weight: 400;transition-duration: .15s;line-height: 35px;display: block;
7378}
7379.page-products .spot-light .spot-bottom .order_btn:hover{background: #15324c  !important;transition-duration: .15s;}
7380.page-products .spot-light .catergory_slider_content .color_counts .color_count{font-size: 12px;color: rgb(127 127 127 / var(--tw-text-opacity)}
7381
7382
7383.category-top-filter .pagebuilder-column h3 span, .category-top-filter .pagebuilder-column h3 span a, .category-top-filter .pagebuilder-column h3 a{display: block;}
7384.checkout-payment-method .payment-method .payment-method-title.field.choice input#paypal_express+label {display: block;}
7385.catalog-product-view .product-info-main .color_swatches .swatch-attribute-options .select_none.swatch-option{display: none;}
7386@media(min-width: 768px){
7387   .checkout-cart-index #shopping-cart-table .cart.item .item-info td.col.item{flex-wrap: nowrap;}
7388}
7389@media(min-width: 1500px){
7390    .checkout-cart-index #shopping-cart-table .col.qty{min-width: 169px;max-width: 169px;width: 169px;}
7391}
7392@media only screen and (max-width: 1340px) and (min-width: 1000px){
7393    .checkout-cart-index #maincontent #shopping-cart-table .product-item-details{max-width: 40%;}
7394}
7395</style>
7396<script>
7397document.addEventListener('DOMContentLoaded', function() {
7398  if (window.innerWidth <= 767) {
7399    document.querySelectorAll('.page-with-filter.page-products .sidebar .filter-content .card .filter-options-title').forEach(function(title) {
7400      const span = title.querySelector('span');
7401      if (span && span.textContent.trim().includes('Revenue Ranking')) {
7402        const parentCard = title.closest('.card');
7403        if (parentCard && !parentCard.id) {
7404          parentCard.id = 'filter-id-revenue_ranking';
7405        }
7406      }
7407    });
7408  }
7409});
7410</script>
7410
7411<style>
7412.page-with-filter.page-products .sidebar .filter-content .card#filter-id-revenue_ranking{display: none;}
7413.checkout-index-index .kl_sms_phone_number-field{margin-bottom: 20px;}
7414@media(min-width: 768px){
7415 .catalog-product-view .modal.order-free-sample-popup .right .order-free-sample-prod-info .product-info:after{right: -10px;top: -10px;}
7416}
7417@media(max-width: 767px){
7418  .catalog-product-view .order-free-sample-popup .border .product-info:after{left: 35px;}
7419}
7420.checkout-index-index .notification4 {display: none}
7421   #related_cart_slider .js_slides{margin-right: 0;margin-left: 0;}
7422</style>
7423<script>
7424    function initConfigurableOptions(productId, optionConfig) {
7425
7426        function findPathParam(key) {
7427                        const baseUrl = (BASE_URL.substr(0, 2) === '//' ? 'http:' : '') + BASE_URL;
7428            const baseUrlParts = (new URL(baseUrl)).pathname.replace(/\/$/, '').split('/');
7429            const pathParts = window.location.pathname.split('/').slice(baseUrlParts.length + 3);
7430            for (let i = 0; i < pathParts.length; i += 2) {
7431                if (pathParts[i] === key && pathParts.length > i) {
7432                    return pathParts[i + 1];
7433                }
7434            }
7435        }
7436
7437        return {
7438            optionConfig,
7439            productId,
7440            attributeCode:'',
7441            itemId: (new URLSearchParams(window.location.search)).get('id') || findPathParam('id'),
7442            ssrGalleryChildId: 0,
7443            allowedAttributeOptions: [],
7444            selectedValues: [],
7445            init() {
7446                this.checkIsFirst();
7447                this.findAllowedAttributeOptions();
7448                this.$nextTick(() => {
7449                    if (typeof this.optionConfig.defaultValues === 'object') {
7450                        for (const [optionId, value] of Object.entries(this.optionConfig.defaultValues)) {
7451                            this.changeOption(optionId, value + '');
7452                        }
7453                    }
7454                });
7455            },
7456            checkIsFirst() {
7457                this.isLoadedFirst = true;
7458                setTimeout(() => {
7459                    this.isLoadedFirst = false;
7460                }, "3000");
7461            },
7462            findSimpleIndex() {
7463                                this.productIndex = this.calculateSimpleIndexForPartialSelection(this.selectedValues);
7464            },
7465            calculateSimpleIndexForPartialSelection(selectedValues) {
7466                if (selectedValues.length === 0) return 0;
7467                let productIndexIds = Object.keys(this.optionConfig.index);
7468                Object.keys(this.optionConfig.attributes).forEach((attribute) => {
7469                                        const productsWithAttributeMatch = selectedValues[attribute]
7470                        ? productIndexIds.filter((productIndex) => {
7471                            return this.optionConfig.index[productIndex][attribute] === this.selectedValues[attribute]
7472                        })
7473                        : [];
7474
7475                                        productIndexIds = productsWithAttributeMatch.length ? productsWithAttributeMatch : productIndexIds
7476                })
7477                return productIndexIds[0];
7478            },
7479            calculateSimpleIndexForFullSelection(selectedValues) {
7480                const productIndexes = this.optionConfig.index;
7481                return Object.keys(productIndexes).find(productIndex => {
7482                    const productCandidateOptions = productIndexes[productIndex];
7483
7484                    for (const productOption in productCandidateOptions) {
7485                        if (
7486                            ! selectedValues[productOption] ||
7487                            selectedValues[productOption] !== productCandidateOptions[productOption]
7488                        ) {
7489                            return false;
7490                        }
7491                    }
7492                    return productIndex;
7493                });
7494            },
7495            productIndex: 0,
7496            findAllowedAttributeOptions() {
7497                                this.allowedAttributeOptions = this.calculateAllowedAttributeOptions(this.selectedValues);
7498            },
7499            calculateAllowedAttributeOptions(selectedValues) {
7500                const allAttributes = this.optionConfig.attributes;
7501                const allAttributesSorted = Object.values(allAttributes).sort((a,b) => {
7502                    return a.position - b.position
7503                });
7504
7505                const selectionWithoutAttr = attrId => {
7506                                        return Object.keys(selectedValues).reduce((acc, id) => {
7507                        if (id !== attrId) acc[id] = selectedValues[id];
7508                        return acc;
7509                    }, {})
7510                }
7511
7512                const newAllowedAttributeOptions = [];
7513
7514                allAttributesSorted.forEach(attribute => {
7515                    const availableIndexes = this.calculateAvailableProductIndexes(selectionWithoutAttr(attribute.id));
7516					if (attribute?.code === 'incstores_pim_color_axis') {
7517					    newAllowedAttributeOptions[attribute.id] =
7518						    allAttributes[attribute.id].options
7519							    .filter(option => {
7520                                    return !!option.products.find(product => availableIndexes.includes(product));
7521                                })
7522							    .sort((a, b) => {
7523								    const cheapestA = this.findCheapestProductForPartialSelectionForSort({
7524									    ...selectedValues,
7525									    [attribute.id]: a.id
7526								    });
7527
7528								    const cheapestB = this.findCheapestProductForPartialSelectionForSort({
7529									    ...selectedValues,
7530									    [attribute.id]: b.id
7531								    });
7532
7533								    if (!cheapestA && !cheapestB) return 0;
7534								    if (!cheapestA) return 1;
7535								    if (!cheapestB) return -1;
7536
7537								    const priceA = this.optionConfig.optionPrices[cheapestA].customPrice.amount;
7538                                    const priceB = this.optionConfig.optionPrices[cheapestB].customPrice.amount;
7539
7540								    return priceA - priceB;
7541							    });
7542					} else {
7543                    newAllowedAttributeOptions[attribute.id] = allAttributes[attribute.id].options.filter(option => {
7544                        return !!option.products.find(product => {
7545                            //====== For Custom Design link - fetch child product id on page load  START ======
7546                            if(document.querySelector('input[name="selected_option_child_id"]')){
7547                                if(document.querySelector('input[name="selected_option_child_id"]').value == ''){
7548                                    document.querySelector('input[name="selected_option_child_id"]').value = product;
7549                                }
7550                            }
7551                            //====== For Custom Design link - fetch child product id on page load END ======
7552                            return availableIndexes.includes(product);
7553                        })
7554                    });
7555                    }
7556                });
7557                return newAllowedAttributeOptions;
7558            },
7559            calculateAvailableProductIndexes(selectedOptions) {
7560                if (Object.keys(selectedOptions).length === 0) {
7561                                        return Object.keys(this.optionConfig.index);
7562                }
7563
7564                                const selectedIds = Object.keys(selectedOptions);
7565                if (Object.values(this.optionConfig.salable || {}).length) {
7566                                        const selectedOptionIndexes = selectedIds.map(attrId => {
7567                        const optionValue = selectedOptions[attrId];
7568                        return this.optionConfig.salable[attrId] && this.optionConfig.salable[attrId][optionValue] || []
7569                    })
7570                                        return selectedOptionIndexes.reduce((acc, optionIndexes) => {
7571                        return acc.filter(index => optionIndexes.includes(index));
7572                    });
7573                } else {
7574                                        const productIndexes = this.optionConfig.index;
7575                    return Object.keys(productIndexes).filter(index => {
7576                        return selectedIds.find(
7577                                                attrId => productIndexes[index][attrId] === `${selectedOptions[attrId]}`
7578                                                )
7579                    });
7580                }
7581            },
7582            findAttributeByOptionId(optionId) {
7583                for (const attributeId in this.optionConfig.attributes) {
7584                    const attributeOptions = this.optionConfig.attributes[attributeId].options || [];
7585                    if (attributeOptions.find(option => option.id === optionId)) {
7586                        return attributeId;
7587                    }
7588                }
7589            },
7590            getAllowedAttributeOptions(attributeId) {
7591                return this.allowedAttributeOptions[attributeId] || []
7592            },
7593            getProductIdsForOption(option) {
7594                const attributeId = this.findAttributeByOptionId(option.id);
7595                const allOptions = this.optionConfig.attributes[attributeId];
7596                const opt = (allOptions && allOptions.options || []).find(o => o.id === option.id);
7597                return opt && opt.products
7598                    ? opt.products
7599                    : [];
7600            },
7601            findProductIdsForPartialSelection(optionSelection) {
7602                const candidateProducts = Object.values(optionSelection).reduce((candidates, optionId) => {
7603                    const newCandidates = this.getProductIdsForOption({id: optionId});
7604                    return candidates === null
7605                        ? newCandidates
7606                        : candidates.filter(productId => newCandidates.includes(productId));
7607                }, null);
7608                return candidateProducts || [];
7609            },
7610            findCheapestProductForPartialSelection(optionSelection) {
7611                const candidateProducts = this.findProductIdsForPartialSelection(optionSelection);
7612                return candidateProducts.reduce((cheapest, simpleIdx) => {
7613                    // in the first iteration we start with simpleIdx as the currently cheapest product
7614                    if (! this.optionConfig.optionPrices[cheapest]) return simpleIdx;
7615                    const knownCheapestPrice = this.optionConfig.optionPrices[cheapest].finalPrice.amount;
7616                    return knownCheapestPrice > this.optionConfig.optionPrices[simpleIdx].finalPrice.amount
7617                        ? simpleIdx
7618                        : cheapest;
7619                }, 0)
7620            },
7621			findCheapestProductForPartialSelectionForSort(optionSelection) {
7622                const candidateProducts = this.findProductIdsForPartialSelection(optionSelection);
7623                return candidateProducts.reduce((cheapest, simpleIdx) => {
7624                    // in the first iteration we start with simpleIdx as the currently cheapest product
7625                    if (! this.optionConfig.optionPrices[cheapest]) return simpleIdx;
7626                    const knownCheapestPrice = this.optionConfig.optionPrices[cheapest].customPrice.amount;
7627                    return knownCheapestPrice > this.optionConfig.optionPrices[simpleIdx].customPrice.amount
7628                        ? simpleIdx
7629                        : cheapest;
7630                }, 0)
7631            },
7632            findProductIdToUseForOptionPrice(option) {
7633                // try to find a product for a complete selection
7634                const attributeId = this.findAttributeByOptionId(option.id);
7635                const optionSelection = Object.assign({}, this.selectedValues, {[attributeId]: option.id});
7636                const matchingSimpleIndex = this.calculateSimpleIndexForFullSelection(optionSelection);
7637                // if there is no complete selection, use the cheapest product for the option
7638                return matchingSimpleIndex || this.findCheapestProductForPartialSelection(optionSelection);
7639            },
7640            getAttributeOptionLabel(option) {
7641                const optionProduct = this.findProductIdToUseForOptionPrice(option);
7642                if ((! optionProduct) || (optionProduct === this.productIndex)) {
7643                    return option.label;
7644                }
7645
7646                const currentPrice = this.getOptionPriceAdjustmentBasePrice();
7647
7648                if (this.optionConfig.optionPrices[optionProduct]) {
7649                    const optionPrice = this.optionConfig.optionPrices[optionProduct].finalPrice.amount;
7650                    if (optionPrice !== currentPrice){
7651                        return option.label + ' ' + hyva.formatPrice(optionPrice - currentPrice, true);
7652                    }
7653                }
7654                return option.label;
7655            },
7656            getOptionPriceAdjustmentBasePrice() {
7657                if (this.optionConfig.optionPrices[this.productIndex]) {
7658                    return this.optionConfig.optionPrices[this.productIndex].finalPrice.amount
7659                }
7660                const cheapestForSelection = this.findCheapestProductForPartialSelection(this.selectedValues);
7661                return this.optionConfig.optionPrices[cheapestForSelection]
7662                    ? this.optionConfig.optionPrices[cheapestForSelection].finalPrice.amount
7663                    : this.optionConfig.prices.finalPrice.amount; // default price if no option selection
7664            },
7665            changeOption(optionId, value) {
7666                if (value !== ''
7667                    && typeof this.optionIsEnabled === 'function'
7668                    && !this.optionIsEnabled(optionId, value)) {
7669                    return;
7670                }
7671                var checkbox = document.getElementById('overage_percent');
7672                if(checkbox){
7673                    checkbox.checked = true; // Check the checkbox
7674                }
7675                var galleryImgOpacity = document.querySelector('#gallery .prod_slider img.first-image');
7676                if (galleryImgOpacity) {
7677                    galleryImgOpacity.classList.add('opacity-0');
7678                }
7679                if (value === '') {
7680                    // create new array so the length property is reset if no option is selected (avoiding delete)
7681                    this.selectedValues = this.selectedValues.reduce((newSelection, val, opt) => {
7682                        if (opt !== optionId) {
7683                            newSelection[opt] = val;
7684                        }
7685                        return newSelection;
7686                    }, []);
7687                } else {
7688                    const currentUrl = window.location.href;
7689                    // Create a URL object
7690                    const url = new URL(currentUrl);
7691                    // Use searchParams to get the color option
7692                    const colorOption = url.searchParams.get('color-option');
7693                    const variantOption = url.searchParams.get('variant-option');
7694                    if(colorOption!==null && variantOption!==null){
7695                        if(this.optionConfig.attributes[optionId]['code'] == 'incstores_pim_color_axis')
7696                        {
7697                            this.selectedValues[optionId] = colorOption;
7698                        }
7699                        if(this.optionConfig.attributes[optionId]['code'] == 'incstores_pim_variant_axis')
7700                        {
7701                            this.selectedValues[optionId] = variantOption;
7702                        }
7703                    }
7704                    else if(colorOption!==null){
7705                        if(this.optionConfig.attributes[optionId]['code'] == 'incstores_pim_color_axis')
7706                        {
7707                            this.selectedValues[optionId] = colorOption;
7708                        }
7709
7710                    }
7711                    else if(this.isLoadedFirst == true && (0 > 0 || 0 > 0))
7712                    {
7713                        if(this.optionConfig.attributes[optionId]['code'] == 'incstores_pim_color_axis')
7714                        {
7715                            this.selectedValues[optionId] = '0';
7716                        }
7717                        if(this.optionConfig.attributes[optionId]['code'] == 'incstores_pim_variant_axis')
7718                        {
7719                            this.selectedValues[optionId] = '0';
7720                        }
7721                    }
7722                    else
7723                    {
7724                        this.selectedValues[optionId] = value;
7725                    }
7726
7727                    var addToCartButton = document.querySelector('.pdp-addtocart-btn');
7728                    if (addToCartButton) {
7729                        if (!addToCartButton.classList.contains('pointer-events-none')) {
7730                            addToCartButton.classList.add('pointer-events-none');
7731                            addToCartButton.classList.add('opacity-50');
7732                        }
7733                    }
7734
7735                    var productId = this.findProductIdsForPartialSelection(this.selectedValues)[0];
7736                    var baseUrl = "https://www.flooringinc.com/";
7737					
7738					if (typeof productId === 'undefined') {
7739					   let attributeCode = this.optionConfig.attributes[optionId]['code'];
7740					   setTimeout(() => {
7741						   if (attributeCode == 'incstores_pim_color_axis') {
7742							if (typeof this.autoSelectCompatibleOtherOption === 'function') {
7743								this.autoSelectCompatibleOtherOption(optionId);
7744							}
7745						} else if (attributeCode == 'incstores_pim_variant_axis'
7746                            || attributeCode == 'product_option') {
7747							if (typeof this.autoSelectCompatibleColorOption === 'function') {
7748								this.autoSelectCompatibleColorOption(optionId);
7749							}
7750						}
7751                    }, 300);
7752					} else {
7753                    var fetchUrl = baseUrl+'customattribute/index/index/productId/'+productId;
7754
7755                    fetch(fetchUrl)
7756                    .then(response => response.json())
7757                    .then(data => {
7758
7759                        if (document.getElementById('dimensions-attributes')) {
7760                            document.getElementById('dimensions-attributes').innerHTML= data.detailsHtml.dimensionsHtml;
7761                        }
7762
7763                        if (document.getElementById('details-attributes')) {
7764                            document.getElementById('details-attributes').innerHTML= data.detailsHtml.productDetails;
7765                        }
7766
7767                        if (document.getElementById('ship-to-text')) {
7768                            document.getElementById('ship-to-text').value= data.shipToText;
7769                        }
7770
7771                        var addToCartButton = document.querySelector('.pdp-addtocart-btn');
7772                        if (addToCartButton) {
7773                            addToCartButton.classList.remove('pointer-events-none');
7774                            addToCartButton.classList.remove('opacity-50');
7775                        }
7776                    })
7777                    .catch(error => {
7778                        console.log(error);
7779                    });
7780					}
7781
7782                }
7783                this.findSimpleIndex();
7784                this.findAllowedAttributeOptions();
7785                this.updateCalculatorType();// custom coding
7786                this.updateMinRollcut();// custom coding
7787                this.updateMaxRollLengthRestriction();// custom coding
7788                this.updateTileSizeArea(); // custom coding
7789                this.updateExactWidth(); // custom coding
7790                this.updateExactLength(); // custom coding
7791                this.updateExactHeight(); // custom coding
7792                this.updateCoveragePerCase(); // custom coding
7793                this.updateTileMinQty(); // custom coding
7794                this.updateShippingDetails(); // custom coding
7795                this.updatePrices();
7796                this.updateSquareFootage();
7797
7798                //If the page loads first time it will stop the gallery change, so configurable product image will display
7799                if (!this.isLoadedFirst) {
7800                    this.updateGallery();
7801                }
7802
7803                //====== For Custom Design link - fetch child product id when option clicked  START ======
7804                if(document.querySelector('input[name="selected_option_child_id"]')){
7805                    document.querySelector('input[name="selected_option_child_id"]').value = this.productIndex;
7806                }
7807                if(document.querySelector('input[name="custom_length"]') && document.getElementById('roll_length')){
7808                    document.querySelector('input[name="custom_length"]').value = document.getElementById('roll_length').value;
7809                }
7810                //====== For Custom Design link - fetch child product id when option clicked END ======
7811                window.dispatchEvent(
7812                    new CustomEvent(
7813                        'configurable-selection-changed',
7814                        {
7815                            detail: {
7816                                productId: this.productId,
7817                                optionId: optionId,
7818                                value: value,
7819                                productIndex: this.productIndex,
7820                                selectedValues: this.selectedValues,
7821                                attributeCode: this.optionConfig.attributes[optionId]['code'],
7822                                candidates: this.findProductIdsForPartialSelection(this.selectedValues),
7823                            }
7824                        }
7825                    )
7826                );
7827
7828                /* =============================== disabled product option checking & remove  START =============== */
7829                if (!this.optionConfig?.ship_region_enabled
7830                    && document.querySelector('.swatch-attribute .selectOptionColor')
7831                ) {
7832                    var quickship_lebel_should_show;
7833                    var quickship_active_color_option_exist = 0;
7834                    setTimeout(() => {
7835                        document.querySelectorAll('.swatch-attribute .selectOptionColor').forEach(function(option_box) {
7836                            if (!option_box.querySelector('div, label')) {
7837                                option_box.remove();
7838                            }
7839                        });
7840
7841                    }, 300);
7842                }
7843                /* ===============================  disabled product option checking & remove END =============== */
7844				
7845				/* ========== remove validation when click on available color start =============== */
7846                if(document.querySelector('.normal_color_swatch_option .selectOptionColor') ){
7847                    setTimeout(() => {
7848                        const colorBoxes = document.querySelectorAll(
7849							'.normal_color_swatch_option .selectOptionColor'
7850						);
7851						var colorNotAvailable = 0;
7852						const colorerrorDiv = document.getElementById('normal-color-swatch-option-error-msg');
7853
7854						colorBoxes.forEach((colorBox) => {
7855							if (colorBox.querySelector('.select_none label.checked')) {
7856								colorNotAvailable = 1;
7857							}
7858						});
7859						if (!colorNotAvailable){
7860							colorerrorDiv.textContent = '';
7861							colorerrorDiv.style.display = 'none';
7862						}
7863
7864                    }, 300);
7865                }
7866                /* ========== remove validation when click on available color end =============== */
7867
7868                /* =============================== color label show / hide if color option not showing  END =============== */
7869
7870                /* =============================== other label show / hide if the option not showing  START =============== */
7871                if (typeof this.syncOtherSwatchOptionVisibility === 'function') {
7872                    this.syncOtherSwatchOptionVisibility();
7873                } else {
7874                    const swatchAttribute = document.querySelector('.swatch-attribute.other_swatch_option');
7875                    if (swatchAttribute) {
7876                        setTimeout(() => {
7877                            const selectOptionColors = swatchAttribute.querySelectorAll('.selectOptionColor');
7878                            if (selectOptionColors.length > 1) {
7879                                swatchAttribute.style.display = 'block';
7880                            } else {
7881                                swatchAttribute.style.display = 'none';
7882                            }
7883                        }, 300);
7884                    }
7885                }
7886                /* =============================== other label show / hide if the option not showing  END =============== */
7887
7888            },
7889            calculateIsMinimalPrice() {
7890                return (
7891                    this.selectedValues.filter(value => !!value).length <
7892                        Object.keys(this.optionConfig.attributes).length
7893                );
7894            },
7895            updatePrices() {
7896                const value = this.productIndex ?
7897                    this.optionConfig.optionPrices[this.productIndex] :
7898                    this.optionConfig.prices;
7899
7900                window.dispatchEvent(
7901                    new CustomEvent(
7902                        "update-prices-" + this.productId,
7903                        {
7904                            detail: Object.assign(
7905                                value,
7906                                {
7907                                    isMinimalPrice: this.calculateIsMinimalPrice(),
7908                                    calculatorType: this.optionConfig?.calculator_type?.[this.productIndex] ?? '',
7909                                    getIncstoresPimCoverage: this.optionConfig?.coverage_per_case?.[this.productIndex] ?? '',
7910                                    unitOfMeasure: this.optionConfig?.unit_of_measure?.[this.productIndex] ?? '',
7911                                    altUnitOfMeasure: this.optionConfig?.alt_unit_of_measure?.[this.productIndex] ?? 'sqft',
7912                                    availableQuantity: this.optionConfig?.available_quantity?.[this.productIndex] ?? '',
7913                                }
7914                            )
7915                        }
7916                    )
7917                );
7918                setTimeout(() => {
7919                    var calculatorType = this.optionConfig.calculator_type[this.productIndex];
7920                    var priceElement = document.querySelector('div.items-baseline .final-price .price');
7921                    
7922                    if (priceElement && calculatorType != 'none' && calculatorType != 'pre_cut_roll') {
7923                        var customOptionPrice = priceElement.childNodes[0].nodeValue.trim();
7924                        let priceLabelElement = document.querySelector('.final-price .price-label');
7925                        var priceLabel = "";
7926
7927                        if (priceLabelElement) {
7928                            priceLabel = priceLabelElement.textContent.trim();
7929                        }
7930
7931                        document.querySelectorAll('.display-option-price').forEach(el => {
7932                            el.textContent = "("+customOptionPrice+priceLabel+")";
7933                        });
7934                    } else if (calculatorType == 'none') {
7935                        //None type
7936                        var priceElement = document.querySelector('.none .final-price .price');
7937                        var customOptionPrice = "";
7938
7939                        if (priceElement) {
7940                            customOptionPrice = priceElement.childNodes[0].nodeValue.trim();
7941                        }
7942                        document.querySelectorAll('.display-option-price').forEach(el => {
7943                            el.textContent = "("+customOptionPrice+")";
7944                        });
7945                    } else if (calculatorType == 'pre_cut_roll') {
7946						let priceLabelElement = document.querySelector('.final-price .price-label');
7947                        var priceLabel = "";
7948
7949                        if (priceLabelElement) {
7950                            priceLabel = priceLabelElement.textContent.trim();
7951                        }
7952                        var priceElement = document.querySelector('.pre_cut_roll .final-price .price');
7953                        var customOptionPrice = "";
7954
7955                        if (priceElement) {
7956                            customOptionPrice = priceElement.childNodes[0].nodeValue.trim();
7957                        }
7958                        document.querySelectorAll('.display-option-price').forEach(el => {
7959                            el.textContent = "("+customOptionPrice+priceLabel+")";
7960                        });
7961                    }
7962                }, "500");
7963            },
7964            updateTileSizeArea() {
7965                const overage_percent = this.optionConfig.overage_percent[this.productIndex];
7966                const coverage_per_case = this.optionConfig.coverage_per_case[this.productIndex];
7967                const exact_width = this.optionConfig.exact_width[this.productIndex];
7968                const exact_length = this.optionConfig.exact_length[this.productIndex];
7969                window.dispatchEvent(
7970                    new CustomEvent(
7971                        "update-tile-size-area-" + this.productId,
7972                        {
7973                            detail: {
7974                            overage_percent: overage_percent,
7975                            coverage_per_case: coverage_per_case,
7976                            exact_width: exact_width,
7977                            exact_length: exact_length,
7978                            calculator_type: this.optionConfig.calculator_type[this.productIndex],
7979                            }
7980                        }
7981                    )
7982                );
7983            },
7984            updateExactWidth() {
7985                const exact_width = this.optionConfig.exact_width[this.productIndex];
7986                window.dispatchEvent(
7987                    new CustomEvent(
7988                        "update-exact-width-" + this.productId,
7989                        {detail: exact_width}
7990                    )
7991                );
7992            },
7993            updateExactLength() {
7994                const exact_length = this.optionConfig.exact_length[this.productIndex];
7995                window.dispatchEvent(
7996                    new CustomEvent(
7997                        "update-exact-length-" + this.productId,
7998                        {detail: exact_length}
7999                    )
8000                );
8001            },
8002            updateExactHeight() {
8003                const exact_height = this.optionConfig.exact_height[this.productIndex];
8004                window.dispatchEvent(
8005                    new CustomEvent(
8006                        "update-exact-height-" + this.productId,
8007                        {detail: exact_height}
8008                    )
8009                );
8010            },
8011            updateCoveragePerCase() {
8012                const coverage_per_case = this.optionConfig.coverage_per_case[this.productIndex];
8013                //const tile_size_area = "";
8014                window.dispatchEvent(
8015                    new CustomEvent(
8016                        "update-coverage-per-case-" + this.productId,
8017                        {detail: coverage_per_case}
8018                    )
8019                );
8020            },
8021            updateTileMinQty() {
8022                const min_tile_quantity = this.optionConfig.min_tile_quantity[this.productIndex];
8023                window.dispatchEvent(
8024                    new CustomEvent(
8025                        "update-min-tile-quantity-" + this.productId,
8026                        {detail: min_tile_quantity}
8027                    )
8028                );
8029            },
8030			getAttributeIdByCode(attributeCode) {
8031                let attributes = this.optionConfig.attributes;
8032
8033				for (let id in attributes) {
8034					if (attributes[id].code === attributeCode) {
8035						return id;
8036					}
8037				}
8038
8039				return null;
8040            },
8041            updateCalculatorType() {
8042                const has_corner_border_center = this.optionConfig.has_corner_border_center[this.productIndex];
8043                const calculator_type = this.optionConfig.calculator_type[this.productIndex];
8044                if(calculator_type == 'sqft' && has_corner_border_center !=1){
8045                    var cbcelements = document.querySelectorAll('.cbc');
8046                    cbcelements.forEach(function(element) {
8047                    element.style.display = 'none';
8048                    });
8049                    var noneelements = document.querySelectorAll('.none');
8050                    noneelements.forEach(function(element) {
8051                    element.style.display = 'none';
8052                    });
8053                    var rollelements = document.querySelectorAll('.roll');
8054                    rollelements.forEach(function(element) {
8055                    element.style.display = 'none';
8056                    });
8057                    var cbcelements = document.querySelectorAll('.case');
8058                    cbcelements.forEach(function(element) {
8059                    element.style.display = 'none';
8060                    });
8061                    var elements = document.querySelectorAll('.sqft');
8062                    elements.forEach(function(element) {
8063                    element.style.display = 'block';
8064                    });
8065
8066                    var elements = document.querySelectorAll('.pre_cut_roll');
8067                    elements.forEach(function(element) {
8068                    element.style.display = 'none';
8069                    });
8070                    const button = document.getElementById("product-addtocart-button-fake");
8071                    if (button && button.getAttribute("data-flooring-handler") !== "addToCartClickVerify") {
8072                        button.setAttribute("data-flooring-handler", "addToCartClickVerify");
8073                    }
8074                } else if(calculator_type == 'sqft' && has_corner_border_center ==1){
8075                    var sqftelements = document.querySelectorAll('.sqft');
8076                    sqftelements.forEach(function(element) {
8077                    element.style.display = 'none';
8078                    });
8079                    var caseelements = document.querySelectorAll('.case');
8080                    caseelements.forEach(function(element) {
8081                    element.style.display = 'none';
8082                    });
8083                    var rollelements = document.querySelectorAll('.roll');
8084                    rollelements.forEach(function(element) {
8085                    element.style.display = 'none';
8086                    });
8087                    var noneelements = document.querySelectorAll('.none');
8088                    noneelements.forEach(function(element) {
8089                    element.style.display = 'none';
8090                    });
8091                    var elements = document.querySelectorAll('.cbc');
8092                    elements.forEach(function(element) {
8093                    element.style.display = 'block';
8094                    });
8095                    var elements = document.querySelectorAll('.price-details .sqft');
8096                    elements.forEach(function(element) {
8097                    element.style.display = 'none';
8098                    });
8099
8100                    var elements = document.querySelectorAll('.pre_cut_roll');
8101                    elements.forEach(function(element) {
8102                    element.style.display = 'none';
8103                    });
8104                    const button = document.getElementById("product-addtocart-button-fake");
8105                    if (button && button.getAttribute("data-flooring-handler") !== "addToCartClickVerify") {
8106                        button.setAttribute("data-flooring-handler", "addToCartClickVerify");
8107                    }
8108                }else if(calculator_type == 'case'){
8109                    var sqftelements = document.querySelectorAll('.sqft');
8110                    sqftelements.forEach(function(element) {
8111                    element.style.display = 'none';
8112                    });
8113                    var cbcelements = document.querySelectorAll('.cbc');
8114                    cbcelements.forEach(function(element) {
8115                    element.style.display = 'none';
8116                    });
8117                    var noneelements = document.querySelectorAll('.none');
8118                    noneelements.forEach(function(element) {
8119                    element.style.display = 'none';
8120                    });
8121                    var rollelements = document.querySelectorAll('.roll');
8122                    rollelements.forEach(function(element) {
8123                    element.style.display = 'none';
8124                    });
8125                    var elements = document.querySelectorAll('.case');
8126                    elements.forEach(function(element) {
8127                    element.style.display = 'block';
8128                    });
8129
8130                    var elements = document.querySelectorAll('.pre_cut_roll');
8131                    elements.forEach(function(element) {
8132                    element.style.display = 'none';
8133                    });
8134                    const button = document.getElementById("product-addtocart-button-fake");
8135                    if (button && button.getAttribute("data-flooring-handler") !== "addToCartClickVerify") {
8136                        button.setAttribute("data-flooring-handler", "addToCartClickVerify");
8137                    }
8138                } else if(calculator_type == 'roll'){
8139                    var sqftelements = document.querySelectorAll('.sqft');
8140                    sqftelements.forEach(function(element) {
8141                    element.style.display = 'none';
8142                    });
8143                    var cbcelements = document.querySelectorAll('.cbc');
8144                    cbcelements.forEach(function(element) {
8145                    element.style.display = 'none';
8146                    });
8147                    var caseelements = document.querySelectorAll('.case');
8148                    caseelements.forEach(function(element) {
8149                    element.style.display = 'none';
8150                    });
8151                    var noneelements = document.querySelectorAll('.none');
8152                    noneelements.forEach(function(element) {
8153                    element.style.display = 'none';
8154                    });
8155                    var elements = document.querySelectorAll('.roll');
8156                    elements.forEach(function(element) {
8157                    element.style.display = 'block';
8158                    });
8159                    const button = document.getElementById("product-addtocart-button-fake");
8160                    if (button && button.getAttribute("data-flooring-handler") !== "addToCartClickVerify") {
8161                        button.setAttribute("data-flooring-handler", "addToCartClickVerify");
8162                    }
8163
8164                    var elements = document.querySelectorAll('.pre_cut_roll');
8165                    elements.forEach(function(element) {
8166                    element.style.display = 'none';
8167                    });
8168                } else if(calculator_type == 'pre_cut_roll'){
8169                    var sqftelements = document.querySelectorAll('.sqft');
8170                    sqftelements.forEach(function(element) {
8171                        element.style.display = 'none';
8172                    });
8173                    var cbcelements = document.querySelectorAll('.cbc');
8174                    cbcelements.forEach(function(element) {
8175                        element.style.display = 'none';
8176                    });
8177                    var caseelements = document.querySelectorAll('.case');
8178                    caseelements.forEach(function(element) {
8179                        element.style.display = 'none';
8180                    });
8181                    var noneelements = document.querySelectorAll('.none');
8182                    noneelements.forEach(function(element) {
8183                        element.style.display = 'none';
8184                    });
8185                    var elements = document.querySelectorAll('.roll');
8186                    elements.forEach(function(element) {
8187                        element.style.display = 'none';
8188                    });
8189                    var elements = document.querySelectorAll('.pre_cut_roll');
8190                    elements.forEach(function(element) {
8191                        element.style.display = 'block';
8192                    });
8193                    const button = document.getElementById("product-addtocart-button-fake");
8194                    if (button && button.getAttribute("data-flooring-handler") !== "addToCartClickforPreCutRoll") {
8195                        button.setAttribute("data-flooring-handler", "addToCartClickforPreCutRoll");
8196                    }
8197                } else {
8198                    var sqftelements = document.querySelectorAll('.sqft');
8199                    sqftelements.forEach(function(element) {
8200                        element.style.display = 'none';
8201                    });
8202                    var cbcelements = document.querySelectorAll('.cbc');
8203                    cbcelements.forEach(function(element) {
8204                        element.style.display = 'none';
8205                    });
8206                    var caseelements = document.querySelectorAll('.case');
8207                    caseelements.forEach(function(element) {
8208                        element.style.display = 'none';
8209                    });
8210                    var rollelements = document.querySelectorAll('.roll');
8211                    rollelements.forEach(function(element) {
8212                        element.style.display = 'none';
8213                    });
8214                    var cbcelements = document.querySelectorAll('.case');
8215                    cbcelements.forEach(function(element) {
8216                        element.style.display = 'none';
8217                    });
8218                    var elements = document.querySelectorAll('.none');
8219                    elements.forEach(function(element) {
8220                        element.style.display = 'block';
8221                    });
8222                    const noneButton = document.getElementById("product-addtocart-button-fake");
8223                    if (noneButton && noneButton.getAttribute("data-flooring-handler") !== "addToCartClickforNone") {
8224                        noneButton.setAttribute("data-flooring-handler", "addToCartClickforNone");
8225                    }
8226
8227                    var elements = document.querySelectorAll('.pre_cut_roll');
8228                    elements.forEach(function(element) {
8229                        element.style.display = 'none';
8230                    });
8231                }
8232            },
8233           updateMinRollcut() {
8234                const min_rollcut = this.optionConfig.min_rollcut[this.productIndex];
8235				var exactlength = '';
8236                window.dispatchEvent(
8237                    new CustomEvent(
8238                        "update-min-rollcut-" + this.productId,
8239                        {detail: min_rollcut}
8240                    )
8241                );
8242            },
8243
8244            updateMaxRollLengthRestriction() {
8245                const max_roll_length_restriction = this.optionConfig.max_roll_length_restriction[this.productIndex];
8246                const exact_width = this.optionConfig.exact_width[this.productIndex];
8247                const exact_length = this.optionConfig.exact_length[this.productIndex];
8248                const min_rollcut = this.optionConfig.min_rollcut[this.productIndex];
8249
8250                window.dispatchEvent(
8251                    new CustomEvent(
8252                        "update-max-roll-length-restriction-" + this.productId,
8253                        {
8254                            detail: {
8255                            max_roll_length_restriction: max_roll_length_restriction,
8256                            min_rollcut: min_rollcut,
8257                            exact_width: exact_width,
8258                            exact_length: exact_length,
8259                            }
8260                        }
8261                    )
8262                );
8263            },
8264            updateShippingDetails() {
8265                const pdp_shipping_text = this.optionConfig.pdp_shipping_text[this.productIndex];
8266                const expected_days_ship = this.optionConfig.expected_days_ship[this.productIndex];
8267                window.dispatchEvent(
8268                    new CustomEvent(
8269                        "update-shipping-details-" + this.productId,
8270                        {
8271                            detail: {
8272                            pdp_shipping_text: pdp_shipping_text,
8273                            expected_days_ship: expected_days_ship,
8274                            }
8275                        }
8276                    )
8277                );
8278            },
8279            updateGallery () {
8280                if (this.isLoadedFirst && this.ssrGalleryChildId > 0) {
8281                    return;
8282                }
8283
8284                if (this.productIndex) {
8285                    const images = this.optionConfig.images[this.productIndex];
8286                    images && window.dispatchEvent(new CustomEvent(
8287                        "update-gallery",
8288                        { detail: this.sortImagesByPosition(images) }
8289                    ));
8290                } else {
8291                    window.dispatchEvent(new Event("reset-gallery"));
8292                }
8293            },
8294            updateSquareFootage () {
8295                let squareFootageElement = document.getElementsByName('square_footage');
8296                
8297                if (squareFootageElement.length > 0) {
8298                    var squareFootage = squareFootageElement[0].value;
8299
8300                    if (squareFootage) {
8301                        // Trigger the 'keyup' event
8302                        var event = new KeyboardEvent('keyup', {
8303                            'key': 'Enter', // You can set this to any key, like 'Enter'
8304                            'bubbles': true,
8305                            'cancelable': true
8306                        });
8307
8308                        squareFootageElement[0].dispatchEvent(event);
8309                    }
8310                }
8311            },
8312            sortImagesByPosition(images) {
8313                return images.sort((x, y) => {
8314                    return x.position === y.position ? 0 : (parseInt(x.position) > parseInt(y.position) ? 1 : -1)
8315                });
8316            },
8317            onGetCartData(data) {
8318                this.preselectCartItems(data);
8319                this.preselectQuerystringItems();
8320                this.preselectLocationHashItems();
8321            },
8322            preselectCartItems(data) {
8323                // pre-select options based on cart data for current (quote) itemId
8324                const cart = data && data.cart;
8325                if (cart && cart.items) {
8326                    const cartItem = cart.items.find((item) => {
8327                        return (
8328                            item.item_id === this.itemId
8329                            && item.product_id === this.productId
8330                        )
8331                    });
8332                    if (cartItem && cartItem.options && cartItem.options.length) {
8333                        cartItem.options.map(option => {
8334                            this.changeOption(option.option_id, option.option_value);
8335                        })
8336                    }
8337                }
8338            },
8339            preselectQuerystringItems() {
8340                // pre-select option like ?size=167
8341                const urlQueryParams = new URLSearchParams(window.location.search.replace('?',''));
8342                Object.values(this.optionConfig.attributes).map(attribute => {
8343                    urlQueryParams.get(attribute.code) &&
8344                    this.changeOption(attribute.id, urlQueryParams.get(attribute.code));
8345                });
8346            },
8347            preselectLocationHashItems() {
8348                // pre-select option like #144=167
8349                const urlHashParams = new URLSearchParams(window.location.hash.replace('#',''));
8350                Object.values(this.optionConfig.attributes).map(attribute => {
8351                    urlHashParams.get(attribute.id) &&
8352                    this.changeOption(attribute.id, urlHashParams.get(attribute.id));
8353                });
8354            }
8355        }
8356    }
8357
8358    function isOptionVisible(element) {
8359        const computedStyle = window.getComputedStyle(element);
8360        return computedStyle.display !== 'none' && computedStyle.visibility !== 'hidden';
8361    }
8362</script>
vendor: 1 bytes, line 8362
8362
8363<script>
8364    function initCompareOnProductList() {
8365        return {
8366            addToCompare(productId) {
8367                const formKey = hyva.getFormKey();
8368                const postUrl = BASE_URL + 'catalog/product_compare/add/';
8369
8370                fetch(postUrl, {
8371                    "headers": {
8372                        "content-type": "application/x-www-form-urlencoded; charset=UTF-8",
8373                    },
8374                    "body": "form_key=" + formKey + "&product=" + productId + "&uenc=" + hyva.getUenc(),
8375                    "method": "POST",
8376                    "mode": "cors",
8377                    "credentials": "include"
8378                }).then(function (response) {
8379                    if (response.redirected) {
8380                        window.location.href = response.url;
8381                    }
8382                }).catch(function (error) {
8383                    typeof window.dispatchMessages !== "undefined" && window.dispatchMessages(
8384                        [{
8385                            type: "error",
8386                            text: error
8387                        }], 5000
8388                    );
8389                });
8390            }
8391        };
8392    }
8393</script>
vendor: 1 bytes, line 8393
8393
8394<script>
8395    function initWishlist() {
8396        return {
8397            addToWishlist(productId) {
8398                const formKey = hyva.getFormKey();
8399                const postUrl = BASE_URL + 'wishlist/index/add/';
8400
8401                fetch(postUrl, {
8402                    "headers": {
8403                        "content-type": "application/x-www-form-urlencoded; charset=UTF-8",
8404                    },
8405                    "body": "form_key=" + formKey + "&product=" + productId + "&uenc=" + hyva.getUenc(),
8406                    "method": "POST",
8407                    "mode": "cors",
8408                    "credentials": "include"
8409                }).then(function (response) {
8410                    if (response.redirected) {
8411                        window.location.href = response.url;
8412                    } else if (response.ok) {
8413                        return response.json();
8414                    } else {
8415                        typeof window.dispatchMessages !== "undefined" && window.dispatchMessages(
8416                            [{
8417                                type: "warning",
8418                                text: "Could not add item to wishlist."
8419                            }], 5000
8420                        );
8421                    }
8422                }).then(function (response) {
8423                    if (!response) { return }
8424                    typeof window.dispatchMessages !== "undefined" && window.dispatchMessages(
8425                        [{
8426                            type: (response.success) ? "success" : "error",
8427                            text: (response.success)
8428                                ? "Product has been added to your Wish List."
8429                                : response.error_message
8430                        }], 5000
8431                    );
8432                    const reloadCustomerDataEvent = new CustomEvent("reload-customer-section-data");
8433                    window.dispatchEvent(reloadCustomerDataEvent);
8434                }).catch(function (error) {
8435                    typeof window.dispatchMessages !== "undefined" && window.dispatchMessages(
8436                        [{
8437                            type: "error",
8438                            text: error
8439                        }], 5000
8440                    );
8441                });
8442            }
8443        }
8444    }
8445</script>
vendor: 1 bytes, line 8445
8445
8446<script>
8447    function initSwatchOptions(swatchConfig, swatchLabelValues = null) {
8448        const normalizedSwatchLabelValues = (
8449            swatchLabelValues
8450            && typeof swatchLabelValues === 'object'
8451            && !Array.isArray(swatchLabelValues)
8452        ) ? swatchLabelValues : {};
8453
8454        return {
8455            swatchConfig,
8456            swatchLabelValues: normalizedSwatchLabelValues,
8457            resolveSwatchLabel(attributeId, optionId) {
8458                if (optionId === undefined || optionId === null || optionId === '') {
8459                    return '';
8460                }
8461
8462                const optionKey = String(optionId);
8463                const labels = (
8464                    this.swatchLabelValues
8465                    && typeof this.swatchLabelValues === 'object'
8466                    && !Array.isArray(this.swatchLabelValues)
8467                ) ? this.swatchLabelValues : {};
8468                const flatLabel = labels[optionKey] ?? labels[optionId];
8469                if (flatLabel !== undefined && flatLabel !== null && flatLabel !== '') {
8470                    return String(flatLabel);
8471                }
8472
8473                const attrConfig = this.swatchConfig?.[attributeId] ?? this.swatchConfig?.[String(attributeId)];
8474                const attrLabels = attrConfig?.swatchLabelValues;
8475                if (attrLabels) {
8476                    const attrLabel = attrLabels[optionKey] ?? attrLabels[optionId];
8477                    if (attrLabel !== undefined && attrLabel !== null && attrLabel !== '') {
8478                        return String(attrLabel);
8479                    }
8480                }
8481
8482                const swatchOption = attrConfig?.[optionKey] ?? attrConfig?.[optionId];
8483                if (swatchOption?.label) {
8484                    return String(swatchOption.label);
8485                }
8486
8487                return this.getOptionLabelFromOptionConfig(attributeId, optionId) || '';
8488            },
8489            getAttributeSwatchData(attributeId) {
8490                const attributeKey = String(attributeId);
8491                const rawConfig = this.swatchConfig?.[attributeId] ?? this.swatchConfig?.[attributeKey];
8492                const labels = (
8493                    this.swatchLabelValues
8494                    && typeof this.swatchLabelValues === 'object'
8495                    && !Array.isArray(this.swatchLabelValues)
8496                ) ? this.swatchLabelValues : {};
8497                if (!rawConfig) {
8498                    return {details: {}, swatchLabelValues: labels};
8499                }
8500                const swatchConfig = Object.assign({}, rawConfig);
8501                if (swatchConfig['additional_data']) {
8502                    try {
8503                        swatchConfig['details'] = JSON.parse(swatchConfig['additional_data']);
8504                    } catch (error) {
8505                        swatchConfig['details'] = {};
8506                    }
8507                } else {
8508                    swatchConfig['details'] = swatchConfig['details'] ?? {};
8509                }
8510                swatchConfig['swatchLabelValues'] = labels;
8511
8512                return swatchConfig;
8513            },
8514            getAllAttributeOptions(attributeId) {
8515                return (
8516                    this.optionConfig.attributes[attributeId] &&
8517                    this.optionConfig.attributes[attributeId].options
8518                ) || []
8519            },
8520            optionIsActive(attributeId, optionId) {
8521                const optionKey = String(optionId);
8522                return !!this.getAllowedAttributeOptions(attributeId).find(
8523                    option => String(option.id) === optionKey
8524                );
8525            },
8526            optionIsEnabled(attributeId, optionId) {
8527                const attributeKey = String(attributeId);
8528                const optionKey = String(optionId);
8529                const index = this.optionConfig?.index || {};
8530                for (const productId in index) {
8531                    const productOptions = index[productId] || {};
8532                    if (
8533                        String(productOptions[attributeKey]) === optionKey
8534                        || String(productOptions[attributeId]) === optionKey
8535                    ) {
8536                        return true;
8537                    }
8538                }
8539                const attributeOptions = (
8540                    this.optionConfig?.attributes?.[attributeId]?.options
8541                    || this.optionConfig?.attributes?.[attributeKey]?.options
8542                    || []
8543                );
8544                const match = attributeOptions.find((option) => String(option.id) === optionKey);
8545                if (!match?.products?.length) {
8546                    return false;
8547                }
8548                return match.products.some((childId) => {
8549                    const key = String(childId);
8550                    return Object.prototype.hasOwnProperty.call(index, key)
8551                        || Object.prototype.hasOwnProperty.call(index, childId);
8552                });
8553            },
8554            mapSwatchTypeNumberToTypeCode(typeNumber) {
8555                switch ("" + typeNumber) {
8556                    case "1":
8557                        return "color"
8558                    case "2":
8559                        return "image"
8560                    case "3":
8561                        return "empty"
8562                    case "0":
8563                    default:
8564                        return "text"
8565                }
8566            },
8567            getTypeOfFirstOption(attributeId) {
8568                for (const optionId in this.swatchConfig[attributeId]) {
8569                    const option = this.swatchConfig[attributeId][optionId];
8570                    if (typeof option.type !== 'undefined') {
8571                        return this.mapSwatchTypeNumberToTypeCode(option.type);
8572                    }
8573                }
8574            },
8575            getVisualSwatchType(attributeId, targetOptionId) {
8576                // If a type configuration is present for the given option id, use it
8577                const config = this.swatchConfig[attributeId];
8578                if (config[targetOptionId] && typeof config[targetOptionId].type !== 'undefined') {
8579                    return this.mapSwatchTypeNumberToTypeCode(config[targetOptionId].type);
8580                }
8581
8582                // Otherwise - if no config is present for the target option - use the type of the first option
8583                // with a type property from the attribute, thus assuming its the same type as the target option.
8584                // (This edge case condition can occur on single swatch products if some options are not salable)
8585                return this.getTypeOfFirstOption(attributeId);
8586            },
8587            getSwatchType(attributeId, optionId) {
8588                // Deserialize the attribute details the first time they are used
8589                if (this.swatchConfig[attributeId] && ! this.swatchConfig[attributeId].details) {
8590                    this.swatchConfig[attributeId] = this.getAttributeSwatchData(attributeId);
8591                }
8592                const type =  this.swatchConfig[attributeId] &&
8593                    this.swatchConfig[attributeId].details &&
8594                    this.swatchConfig[attributeId].details.swatch_input_type ||
8595                    "empty";
8596                return type === 'visual' ? this.getVisualSwatchType(attributeId, optionId) : type;
8597            },
8598            isTextSwatch(attributeId, optionId) {
8599                return this.getSwatchType(attributeId, optionId) === 'text';
8600            },
8601            isVisualSwatch(attributeId, optionId) {
8602                const type = this.getSwatchType(attributeId, optionId);
8603
8604                return ['image', 'color'].includes(type);
8605            },
8606            getSwatchBackgroundStyle(attributeId, optionId) {
8607                const config = this.getSwatchConfig(attributeId, optionId);
8608                const type = this.getSwatchType(attributeId, optionId);
8609
8610                if (type === "color") {
8611                        return 'background-color:' + config.value;
8612                } else if (type === "image") {
8613                        return "background: #ffffff url('" + config.value + "') no-repeat center";
8614                } else {
8615                    return '';
8616                }
8617            },
8618			getSwatchText(attributeId, optionId) {
8619                return this.resolveSwatchLabel(attributeId, optionId);
8620            },
8621            getLegacyColorSwatchImageHtml(attributeId, optionId) {
8622                const map = this._legacyColorSwatchImages || {};
8623                return this.getSwatchTextUrl(attributeId, optionId, map);
8624            },
8625            getSwatchTextUrl(attributeId, optionId, childSwatch) {
8626                const config = this.getSwatchConfig(attributeId, optionId);
8627                const optionKey = String(optionId);
8628                const swatchMap = (
8629                    childSwatch
8630                    && typeof childSwatch === 'object'
8631                    && !Array.isArray(childSwatch)
8632                ) ? childSwatch : {};
8633                const swatchUrl = swatchMap[optionKey] ?? swatchMap[optionId];
8634                if(swatchUrl != "" && swatchUrl != null && isValidURL(swatchUrl)){
8635					return "<img loading='lazy' src="+swatchUrl+" title="+swatchUrl+" alt="+swatchUrl+"/>";
8636				} else if(config && config.value!="" && config.value!= null && isValidURL(config.value)){
8637					return "<img loading='lazy' src="+config.value+" title="+config.value+" alt="+config.value+"/>";
8638				} else {
8639					 var placeHoldernew = BASE_URL+'media/catalog/product/placeholder/default/swatch_placeholder.png';
8640
8641					return "<img  width= '60px' height='60px' src="+placeHoldernew+" title="+placeHoldernew+" alt="+placeHoldernew+"/>";
8642				}
8643			},
8644            getOptionLabelFromOptionConfig(attributeId, optionId) {
8645                const optionKey = String(optionId);
8646                const option = this.getAllAttributeOptions(attributeId).find(
8647                    (entry) => String(entry.id) === optionKey
8648                );
8649                return option?.label || '';
8650            },
8651            getSwatchConfig(attributeId, optionId) {
8652                const attrConfig = this.swatchConfig[attributeId] ?? this.swatchConfig[String(attributeId)];
8653                if (!attrConfig) {
8654                    return false;
8655                }
8656                return attrConfig[optionId] ?? attrConfig[String(optionId)] ?? false;
8657            },
8658            activeTooltipItem: false,
8659            tooltipPositionElement: false,
8660            isTooltipVisible() {
8661                return this.activeTooltipItem &&
8662                    this.getSwatchConfig(
8663                        this.activeTooltipItem.attribute,
8664                        this.activeTooltipItem.item
8665                    );
8666            },
8667            getTooltipImageStyle(attributeId, optionId) {
8668                const config = this.getSwatchConfig(attributeId, optionId);
8669                const type = this.getSwatchType(attributeId, optionId);
8670
8671                if (type === "color") {
8672                    return 'background-color:' + config.value + '; width: 110px; height: 90px;';
8673                } else if (type === "image") {
8674                    return "background: #ffffff url('" + config.thumb +
8675                        "') center center no-repeat; width: 110px; height: 90px;";
8676                } else {
8677                    return 'display:none';
8678                }
8679            },
8680            getTooltipPosition() {
8681                if (!this.tooltipPositionElement) {
8682                    return '';
8683                }
8684                const rect = this.tooltipPositionElement.getBoundingClientRect();
8685                const elementWidth = rect.width;
8686                const elementHeight = rect.height;
8687                const container = document.querySelector('.swatch___render');
8688                if (!container) {
8689                    return '';
8690                }
8691                const containerRect = container.getBoundingClientRect();
8692                const topPosition = rect.top - containerRect.top + 10;
8693                const leftPosition = rect.left - containerRect.left;
8694
8695                return `                    
8696                    top: ${topPosition}px;
8697                    left: ${leftPosition}px;
8698                `;
8699            },
8700            getSwatchConfigLabel(attributeId, optionId) {
8701                const label = this.resolveSwatchLabel(attributeId, optionId);
8702                return label !== '' ? label : false;
8703            },
8704            getTooltipLabel() {
8705                return this.getSwatchConfigLabel(this.activeTooltipItem.attribute, this.activeTooltipItem.item);
8706                //return this.getSwatchConfig(this.activeTooltipItem.attribute, this.activeTooltipItem.item).label
8707            },
8708            focusedLabel: false,
8709            focusLabel(optionId) {
8710                this.focusedLabel = optionId;
8711            },
8712            blurLabel() {
8713                this.focusedLabel = false;
8714            },
8715            showSwatches: true,
8716            initShowSwatchesIntersect() {
8717                this.showSwatches = true;
8718            },
8719
8720            quickShipValidation(attributeCode, attributeId, optionId){
8721               if (optionId === undefined || optionId === null || optionId === '') {
8722                   return 0;
8723               }
8724               var is_quick_ship_color = 0;
8725                var optionConfigObj = this.optionConfig;
8726                if (!optionConfigObj || typeof optionConfigObj !== 'object') {
8727                    return 0;
8728                }
8729                if(attributeCode == 'incstores_pim_color_axis'){
8730                    var attributes = optionConfigObj.attributes;
8731                    if (!attributes || !attributes[attributeId] || !attributes[attributeId]['options']) {
8732                        return 0;
8733                    }
8734                    var quickShipColorIds = optionConfigObj.quick_ship_color_ids || [];
8735                    if (quickShipColorIds.length) {
8736                        return quickShipColorIds.some(function (id) {
8737                            return String(id) === String(optionId);
8738                        }) ? 1 : 0;
8739                    }
8740                    var quickShipMap = optionConfigObj.quick_ship;
8741                    if (!quickShipMap) {
8742                        return 0;
8743                    }
8744                    var attributes_options = attributes[attributeId]['options'];
8745
8746                    attributes_options.forEach(function(option_details) {
8747                        if(option_details['id'] == optionId){
8748                            option_details['products'].forEach(function(child_product_id) {
8749                                if(quickShipMap[String(child_product_id)] == 1 || quickShipMap[child_product_id] == 1){
8750                                    is_quick_ship_color = 1;
8751                                    return false;
8752                                }
8753                            });
8754                        }
8755                    });
8756                }
8757                return is_quick_ship_color;
8758            },
8759
8760            hasQuickShipColorOptions(attributeCode, attributeId) {
8761                if (!this.optionConfig?.attributes?.[attributeId]?.options?.length) {
8762                    return false;
8763                }
8764                if (this.selectedValues) {
8765                    Object.keys(this.selectedValues).forEach(function (key) {
8766                        void this.selectedValues[key];
8767                    }.bind(this));
8768                }
8769                var colorIds = this.optionConfig.quick_ship_color_ids || [];
8770                var options = this.optionConfig.attributes[attributeId].options;
8771                for (var i = 0; i < options.length; i++) {
8772                    var optionId = options[i].id;
8773                    var isQuick = colorIds.length
8774                        ? colorIds.some(function (id) { return String(id) === String(optionId); })
8775                        : (this.quickShipValidation(attributeCode, attributeId, optionId) === 1);
8776                    if (!isQuick) {
8777                        continue;
8778                    }
8779                    if (!this.optionIsEnabled(attributeId, optionId)) {
8780                        continue;
8781                    }
8782                    if (!this.optionIsActive(attributeId, optionId)) {
8783                        continue;
8784                    }
8785                    return true;
8786                }
8787                return false;
8788            },
8789
8790            hasNormalColorOptions(attributeCode, attributeId) {
8791                if (!this.optionConfig?.attributes?.[attributeId]?.options?.length) {
8792                    return false;
8793                }
8794                if (this.shipRegionZipActive && this.customerRegionCode) {
8795                    return false;
8796                }
8797                var colorIds = this.optionConfig.quick_ship_color_ids || [];
8798                var options = this.optionConfig.attributes[attributeId].options;
8799                for (var i = 0; i < options.length; i++) {
8800                    var optionId = options[i].id;
8801                    var isQuick = colorIds.length
8802                        ? colorIds.some(function (id) { return String(id) === String(optionId); })
8803                        : (this.quickShipValidation(attributeCode, attributeId, optionId) === 1);
8804                    if (!isQuick) {
8805                        if (!this.optionIsEnabled(attributeId, optionId)) {
8806                            continue;
8807                        }
8808                        if (!this.optionIsActive(attributeId, optionId)) {
8809                            continue;
8810                        }
8811                        return true;
8812                    }
8813                }
8814                return false;
8815            },
8816
8817            shouldShowQuickShipSection(attributeCode, attributeId) {
8818                if (this.shipRegionZipActive && this.customerRegionCode) {
8819                    return false;
8820                }
8821                return this.hasQuickShipColorOptions(attributeCode, attributeId);
8822            },
8823
8824            getOtherSwatchAttributeId(section = null) {
8825                const target = section || document.querySelector('.swatch-attribute.other_swatch_option');
8826                if (!target || !this.optionConfig?.attributes) {
8827                    return null;
8828                }
8829                for (const key in this.optionConfig.attributes) {
8830                    const code = this.optionConfig.attributes[key]?.code;
8831                    if (code && code !== 'incstores_pim_color_axis' && target.classList.contains(code)) {
8832                        return parseInt(key, 10);
8833                    }
8834                }
8835                for (const key in this.optionConfig.attributes) {
8836                    const code = this.optionConfig.attributes[key]?.code;
8837                    if (code && code !== 'incstores_pim_color_axis') {
8838                        return parseInt(key, 10);
8839                    }
8840                }
8841                return null;
8842            },
8843
8844            /**
8845             * Count salable/enabled options only. Disabled Magento variants stay out of the UI.
8846             * Hide "Select An Option" when fewer than two enabled options remain.
8847             */
8848            countEnabledOtherSwatchOptions(attrId) {
8849                if (!attrId) {
8850                    return 0;
8851                }
8852                const options = this.optionConfig?.attributes?.[attrId]?.options || [];
8853                return options.filter((option) => this.optionIsEnabled(attrId, option.id)).length;
8854            },
8855
8856            countVisibleOtherSwatchOptions() {
8857                return this.countEnabledOtherSwatchOptions(this.getOtherSwatchAttributeId());
8858            },
8859
8860            syncOtherSwatchOptionVisibility() {
8861                const sections = document.querySelectorAll('.swatch-attribute.other_swatch_option');
8862                if (!sections.length) {
8863                    return;
8864                }
8865                const self = this;
8866                const applyVisibility = () => {
8867                    sections.forEach((variantSection) => {
8868                        const attrId = self.getOtherSwatchAttributeId(variantSection);
8869                        if (!attrId) {
8870                            return;
8871                        }
8872                        const optionCount = self.countEnabledOtherSwatchOptions(attrId);
8873                        const shouldShow = optionCount > 1;
8874                        variantSection.classList.toggle('dcw-single-option-hidden', !shouldShow);
8875                        // Theme CSS defaults other_swatch_option to display:none — force block/none.
8876                        variantSection.style.setProperty(
8877                            'display',
8878                            shouldShow ? 'block' : 'none',
8879                            'important'
8880                        );
8881                        if (!shouldShow && optionCount === 1) {
8882                            const options = self.optionConfig?.attributes?.[attrId]?.options || [];
8883                            const enabledOption = options.find((option) => self.optionIsEnabled(attrId, option.id));
8884                            const optionId = enabledOption?.id;
8885                            if (optionId !== undefined
8886                                && String(self.selectedValues[attrId]) !== String(optionId)
8887                                && typeof self.changeOption === 'function') {
8888                                self.changeOption(attrId, optionId);
8889                            }
8890                        }
8891                    });
8892                };
8893                applyVisibility();
8894                window.setTimeout(applyVisibility, 300);
8895            },
8896
8897            /**
8898             * After color selection only (including disabled colors): if current variant/option
8899             * is incompatible, auto-select the cheapest compatible one. Never run on variant clicks.
8900             */
8901            autoSelectCompatibleOtherOption(colorAttrId) {
8902                if (!colorAttrId || !this.optionConfig?.attributes) {
8903                    return;
8904                }
8905                const selectedColor = this.selectedValues[colorAttrId];
8906                if (!selectedColor) {
8907                    return;
8908                }
8909
8910                let otherAttrId = null;
8911                if (typeof this.getAttributeIdByCode === 'function') {
8912                    otherAttrId = this.getAttributeIdByCode('incstores_pim_variant_axis')
8913                        || this.getAttributeIdByCode('product_option');
8914                }
8915                if (!otherAttrId) {
8916                    const section = document.querySelector('.swatch-attribute.other_swatch_option');
8917                    otherAttrId = this.getOtherSwatchAttributeId(section);
8918                }
8919                if (!otherAttrId || !this.optionConfig.attributes[otherAttrId]) {
8920                    return;
8921                }
8922
8923                const currentOther = this.selectedValues[otherAttrId];
8924                const isCurrentCompatible = currentOther
8925                    && typeof this.optionIsActive === 'function'
8926                    && this.optionIsActive(otherAttrId, currentOther);
8927
8928                if (isCurrentCompatible) {
8929                    return;
8930                }
8931
8932                const options = this.optionConfig.attributes[otherAttrId].options || [];
8933                let lowestPrice = null;
8934                let lowestOptionId = null;
8935
8936                options.forEach((option) => {
8937                    if (typeof this.optionIsEnabled === 'function'
8938                        && !this.optionIsEnabled(otherAttrId, option.id)) {
8939                        return;
8940                    }
8941                    const productIds = option.products || [];
8942                    productIds.forEach((productId) => {
8943                        const product = this.optionConfig.index[productId]
8944                            || this.optionConfig.index[String(productId)];
8945                        if (!product || String(product[colorAttrId]) !== String(selectedColor)) {
8946                            return;
8947                        }
8948                        const priceData = this.optionConfig.optionPrices[productId]
8949                            || this.optionConfig.optionPrices[String(productId)];
8950                        if (!priceData) {
8951                            return;
8952                        }
8953                        const price = priceData.finalPrice.amount;
8954                        if (lowestPrice === null || price < lowestPrice) {
8955                            lowestPrice = price;
8956                            lowestOptionId = option.id;
8957                        }
8958                    });
8959                });
8960
8961                if (lowestOptionId === null
8962                    || String(this.selectedValues[otherAttrId]) === String(lowestOptionId)) {
8963                    return;
8964                }
8965
8966                if (typeof this.changeOption === 'function') {
8967                    this.changeOption(otherAttrId, lowestOptionId);
8968                    return;
8969                }
8970
8971                const el = document.querySelector(
8972                    'input[name="super_attribute[' + otherAttrId + ']"][value="' + lowestOptionId + '"]'
8973                );
8974                if (el) {
8975                    el.click();
8976                }
8977            },
8978
8979            /**
8980             * After variant / Select An Option change: if current color is unavailable,
8981             * auto-select the cheapest compatible color. Never run on color clicks.
8982             */
8983            autoSelectCompatibleColorOption(otherAttrId) {
8984                if (!otherAttrId || !this.optionConfig?.attributes) {
8985                    return;
8986                }
8987                const selectedOther = this.selectedValues[otherAttrId];
8988                if (!selectedOther) {
8989                    return;
8990                }
8991
8992                let colorAttrId = null;
8993                if (typeof this.getAttributeIdByCode === 'function') {
8994                    colorAttrId = this.getAttributeIdByCode('incstores_pim_color_axis');
8995                }
8996                if (!colorAttrId && typeof this.getShipRegionColorAttributeId === 'function') {
8997                    colorAttrId = this.getShipRegionColorAttributeId();
8998                }
8999                if (!colorAttrId || !this.optionConfig.attributes[colorAttrId]) {
9000                    return;
9001                }
9002
9003                const currentColor = this.selectedValues[colorAttrId];
9004                const isCurrentCompatible = currentColor
9005                    && typeof this.optionIsActive === 'function'
9006                    && this.optionIsActive(colorAttrId, currentColor);
9007
9008                if (isCurrentCompatible) {
9009                    return;
9010                }
9011
9012                const options = this.optionConfig.attributes[colorAttrId].options || [];
9013                let lowestPrice = null;
9014                let lowestOptionId = null;
9015
9016                options.forEach((option) => {
9017                    if (typeof this.optionIsEnabled === 'function'
9018                        && !this.optionIsEnabled(colorAttrId, option.id)) {
9019                        return;
9020                    }
9021                    const productIds = option.products || [];
9022                    productIds.forEach((productId) => {
9023                        const product = this.optionConfig.index[productId]
9024                            || this.optionConfig.index[String(productId)];
9025                        if (!product || String(product[otherAttrId]) !== String(selectedOther)) {
9026                            return;
9027                        }
9028                        const priceData = this.optionConfig.optionPrices[productId]
9029                            || this.optionConfig.optionPrices[String(productId)];
9030                        if (!priceData) {
9031                            return;
9032                        }
9033                        const price = priceData.finalPrice.amount;
9034                        if (lowestPrice === null || price < lowestPrice) {
9035                            lowestPrice = price;
9036                            lowestOptionId = option.id;
9037                        }
9038                    });
9039                });
9040
9041                if (lowestOptionId === null
9042                    || String(this.selectedValues[colorAttrId]) === String(lowestOptionId)) {
9043                    return;
9044                }
9045
9046                if (typeof this.changeOption === 'function') {
9047                    this.changeOption(colorAttrId, lowestOptionId);
9048                    return;
9049                }
9050
9051                const el = document.querySelector(
9052                    'input[name="super_attribute[' + colorAttrId + ']"][value="' + lowestOptionId + '"]'
9053                );
9054                if (el) {
9055                    el.click();
9056                }
9057            },
9058
9059            syncNormalColorSwatchQuickShipVisibility() {
9060                if (this.shipRegionZipActive && this.customerRegionCode) {
9061                    return;
9062                }
9063                if (typeof this.quickShipValidation !== 'function') {
9064                    if (typeof this.syncNormalColorSwatchSectionVisibility === 'function') {
9065                        this.syncNormalColorSwatchSectionVisibility();
9066                    }
9067                    return;
9068                }
9069                const self = this;
9070                document.querySelectorAll('.normal_color_swatch_option .selectOptionColor').forEach(function (el) {
9071                    const input = el.querySelector('input.product-option-value-input[name^="super_attribute"]');
9072                    if (!input) {
9073                        return;
9074                    }
9075                    const nameMatch = input.name.match(/super_attribute\[(\d+)\]/);
9076                    if (!nameMatch) {
9077                        return;
9078                    }
9079                    const attributeId = parseInt(nameMatch[1], 10);
9080                    const optionId = input.value;
9081                    const attributeCode = input.getAttribute('data-attributecode') || 'incstores_pim_color_axis';
9082                    if (self.quickShipValidation(attributeCode, attributeId, optionId) === 1) {
9083                        el.classList.add('hidden');
9084                        el.style.display = 'none';
9085                    } else {
9086                        el.classList.remove('hidden');
9087                        el.style.display = '';
9088                    }
9089                });
9090                if (typeof this.syncNormalColorSwatchSectionVisibility === 'function') {
9091                    this.syncNormalColorSwatchSectionVisibility();
9092                }
9093            },
9094
9095            getColorAttributeId() {
9096                if (typeof this.getAttributeIdByCode === 'function') {
9097                    const id = this.getAttributeIdByCode('incstores_pim_color_axis');
9098                    return id ? parseInt(String(id), 10) : null;
9099                }
9100                if (!this.optionConfig?.attributes) {
9101                    return null;
9102                }
9103                for (const key in this.optionConfig.attributes) {
9104                    if (this.optionConfig.attributes[key]?.code === 'incstores_pim_color_axis') {
9105                        return parseInt(key, 10);
9106                    }
9107                }
9108                return null;
9109            },
9110
9111            /**
9112             * Hide entire "Select A Color" block when every color is Quick Ship (or none left).
9113             */
9114            syncNormalColorSwatchSectionVisibility() {
9115                const sections = document.querySelectorAll('.normal_color_swatch_option');
9116                if (!sections.length) {
9117                    return;
9118                }
9119                const colorAttrId = this.getColorAttributeId();
9120                const shouldShow = colorAttrId
9121                    && typeof this.hasNormalColorOptions === 'function'
9122                    && this.hasNormalColorOptions('incstores_pim_color_axis', colorAttrId);
9123
9124                sections.forEach((section) => {
9125                    if (!shouldShow) {
9126                        section.classList.add('hidden');
9127                        section.style.setProperty('display', 'none', 'important');
9128                    } else {
9129                        section.classList.remove('hidden', 'sr-only');
9130                        section.style.setProperty('display', 'block', 'important');
9131                    }
9132                });
9133            }
9134        }
9135    }
9136
9137	function isValidURL(url) {
9138    // Regular expression for URL validation
9139    var pattern = /^(https?:\/\/)?([\w.]+)\.([a-z]{2,})(\/[\w\.-]*)*\/?$/i;
9140    return pattern.test(url);
9141}
9142</script>
vendor: 1 bytes, line 9142
9142
9143<script>
9144    'use strict';
9145
9146    (function () {
9147        const modals = [];
9148        const excludedFromFocusTrapping = new Set();
9149
9150        function trapFocusInNextModalWithOverlay() {
9151            for (let idx = modals.length -1; idx >= 0; idx--) {
9152                const nextOnStack = modals[idx];
9153                const nextDialogElement = nextOnStack.instance.$refs[nextOnStack.name];
9154                if (! isOverlayDisabled(nextDialogElement)) {
9155                    hyva.trapFocus(nextDialogElement);
9156                    break;
9157                }
9158            }
9159        }
9160
9161        function focusables(dialogElement) {
9162            const selector = 'button, [href], input, textarea, select, details, [tabindex]:not([tabindex="-1"])';
9163            return Array.from(dialogElement.querySelectorAll(selector))
9164                .filter(el => !el.hasAttribute('disabled'));
9165        }
9166
9167        function firstVisible(elements) {
9168            const a = Array.from(elements);
9169            for (let i = 0; i < a.length; i++) {
9170                if (a[i].offsetWidth || a[i].offsetHeight || a[i].getClientRects().length) return a[i];
9171            }
9172            return null;
9173        }
9174
9175        function isInViewport(element) {
9176            const rect = element && element.getBoundingClientRect();
9177            return rect &&
9178                rect.top >= 0 &&
9179                rect.left >= 0 &&
9180                rect.right <= window.innerWidth &&
9181                rect.bottom <= window.innerHeight;
9182        }
9183
9184        function setFocusAfterTransition(dialogElement, duration) {
9185                        const nested = Array.from(dialogElement.querySelectorAll('[role="dialog"]'));
9186            const candidates = Array.from(dialogElement.querySelectorAll('[x-focus-first]'));
9187            next: for (let candidate of candidates) {
9188                for (let child of nested) {
9189                    if (child.contains(candidate)) continue next;
9190                }
9191                setTimeout(() => candidate.focus(), 50);
9192                break;
9193            }
9194            window.setTimeout(() => {
9195                const focusElement = firstVisible(dialogElement.querySelectorAll('[x-focus-first]')) ||
9196                    focusables(dialogElement)[0] ||
9197                    null;
9198                focusElement && isInViewport(focusElement) && focusElement.focus();
9199            }, Math.max(1, duration));
9200        }
9201
9202        function determineTrigger($refs, dialog, trigger) {
9203                        if (typeof trigger === 'undefined' && typeof dialog === 'object' && dialog.target instanceof HTMLElement) {
9204                return dialog.target;
9205            }
9206                        if (typeof dialog === 'string' && typeof trigger === 'object' && trigger.target instanceof HTMLElement) {
9207                return trigger.target;
9208            }
9209                        if (typeof trigger === 'string') {
9210                try {
9211                    return $refs[trigger] || document.querySelector(trigger)
9212                } catch (e) {}
9213            }
9214                        if (trigger instanceof Element) {
9215                return trigger;
9216            }
9217
9218                        return null;
9219        }
9220
9221        function isOverlayDisabled(dialog) {
9222            return dialog && dialog.hasAttribute('x-no-overlay')
9223        }
9224
9225        function areRemainingModalsWithoutOverlay(modals)
9226        {
9227            const overflowDisabled = modals.map(modal => modal.instance.$refs[modal.name]).filter(isOverlayDisabled);
9228
9229            return overflowDisabled.length === modals.length;
9230        }
9231
9232        window.hyva.modal = function(options) {
9233
9234            const config = Object.assign({
9235                dialog: 'dialog',                 duration: 300,                 transitionEnter: 'transition ease-out duration-300',
9236                transitionEnterStart: 'opacity-0',
9237                transitionEnterEnd: 'opacity-100',
9238                transitionLeave: 'transition ease-in duration-300',
9239                transitionLeaveStart: 'opacity-100',
9240                transitionLeaveEnd: 'opacity-0',
9241            }, options);
9242            let lastHide = 0;
9243
9244            return {
9245                opened: {},
9246                show(dialog, trigger) {
9247                    const focusTargetAfterHide = determineTrigger(this.$refs, dialog, trigger);
9248                    const name = typeof dialog === 'string' ? dialog : config.dialog;
9249                    const dialogElement = this.$refs[name];
9250                    if (! dialogElement) {
9251                                                return;
9252                    }
9253                    const useOverlay = ! dialogElement.hasAttribute('x-no-overlay');
9254
9255                    dialogElement.scrollTop = 0;
9256
9257                                        if (this.opened[name]) {
9258                        return;
9259                    }
9260
9261                    if (focusTargetAfterHide) {
9262                        focusTargetAfterHide.setAttribute('aria-expanded', 'true');
9263                    }
9264
9265                    this.opened[name] = true;
9266                    useOverlay && this.$nextTick(() => hyva.trapFocus(dialogElement));
9267                    setFocusAfterTransition(dialogElement, config.duration);
9268
9269                    const frame = {name, instance: this, focusTarget: focu
9269sTargetAfterHide, time: Date.now()};
9270
9271                    modals.push(frame);
9272                    if (useOverlay) {
9273                        document.body.classList.add('overflow-hidden');
9274                    }
9275                    return new Promise(resolve => frame.resolve = resolve);
9276                },
9277                cancel() {
9278                    this.hide(false);
9279                },
9280                ok() {
9281                    this.hide(true);
9282                },
9283                hide(value) {
9284                                        if (Date.now() - lastHide < config.duration) {
9285                        return;
9286                    }
9287                    lastHide = Date.now();
9288
9289                    const modal = modals.pop() || {};
9290                    const name = modal.name;
9291                    this.opened[name] = false;
9292                    hyva.releaseFocus(modal.instance.$refs[modal.name])
9293                    trapFocusInNextModalWithOverlay();
9294
9295                    const nextFocusAfterHide = modal.focusTarget;
9296                    nextFocusAfterHide && setTimeout(() => {
9297                        nextFocusAfterHide.setAttribute('aria-expanded', 'false');
9298                        nextFocusAfterHide.focus()
9299                    }, config.duration);
9300
9301                    if (modals.length === 0 || areRemainingModalsWithoutOverlay(modals)) {
9302                        document.body.classList.remove('overflow-hidden');
9303                    }
9304
9305                    modal.resolve(value);
9306                },
9307                overlay(dialog) {
9308                    const name = typeof dialog === 'string' ? dialog : config.dialog;
9309                    return {
9310                        ['x-show']() {
9311                            return this.opened[name]
9312                        },
9313                        ['x-transition:enter']: config.transitionEnter,
9314                        ['x-transition:enter-start']: config.transitionEnterStart,
9315                        ['x-transition:enter-end']: config.transitionEnterEnd,
9316                        ['x-transition:leave']: config.transitionLeave,
9317                        ['x-transition:leave-start']: config.transitionLeaveStart,
9318                        ['x-transition:leave-end']: config.transitionLeaveEnd,
9319                        ['@hyva-modal-show.window'](event) {
9320                            event.detail && event.detail.dialog === name && this.show(name, event.detail.focusAfterHide)
9321                        }
9322                    };
9323                }
9324            };
9325        }
9326
9327        window.hyva.modal.peek = () => modals.length > 0 && modals[modals.length -1]
9328
9329        window.hyva.modal.pop = function () {
9330            if (modals.length > 0) {
9331                const modal = modals[modals.length -1];
9332                modal.instance.hide();
9333            }
9334        }
9335
9336        window.hyva.modal.excludeSelectorsFromFocusTrap = function (selectors) {
9337            typeof selectors === 'string' || selectors instanceof String
9338                ? excludedFromFocusTrapping.add(selectors)
9339                : selectors.map(selector => excludedFromFocusTrapping.add(selector));
9340        }
9341
9342        window.hyva.modal.eventListeners = {
9343            keydown: event => {
9344                if (event.key === 'Escape') {
9345                    window.hyva.modal.pop();
9346                }
9347            },
9348                        click: event => {
9349                if (modals.length > 0) {
9350                    const modal = modals[modals.length -1];
9351                    const dialog = modal.instance.$refs[modal.name];
9352                    if (modal.time + 50 < Date.now() && // if last click processing is more than 50ms ago
9353                        ! isOverlayDisabled(dialog) && // if dialog has overlay
9354                        ! dialog.contains(event.target)) { // if click is outside of dialog
9355                        modal.instance.hide();
9356                    }
9357                }
9358            }
9359        };
9360
9361        document.addEventListener('keydown', window.hyva.modal.eventListeners.keydown);
9362
9363        document.addEventListener('click', window.hyva.modal.eventListeners.click);
9364    })();
9365</script>
vendor: 1 bytes, line 9365
9365
9366<script>
9367    'use strict';
9368
9369    (() => {
9370        const equalizeButtonWidths = (buttons) => {
9371            const buttonList = buttons.querySelectorAll('[data-element="link"], [data-element="empty_link"]');
9372            let buttonMinWidth = 0;
9373
9374            buttonList.forEach(button => {
9375                const buttonWidth = button.offsetWidth;
9376
9377                if (buttonWidth > buttonMinWidth) {
9378                    buttonMinWidth = buttonWidth;
9379                }
9380            });
9381
9382            buttonList.forEach(button => {
9383                button.style.minWidth = `${buttonMinWidth}px`;
9384            });
9385        };
9386
9387        window.addEventListener('DOMContentLoaded', () => {
9388            document.querySelectorAll('[data-content-type="buttons"][data-same-width="true"]').forEach(buttons => {
9389                equalizeButtonWidths(buttons);
9390            });
9391        });
9392    })();
9393</script>
vendor: 1 bytes, line 9393
9393
9394<script>
9395    'use strict';
9396
9397    (() => {
9398        const initCarousels = (elements) => {
9399            if (!Glider) {
9400                return;
9401            }
9402
9403            const initProductCarousel = (carousel) => {
9404                const gliderElement = carousel.querySelector('[data-role="glider-content"]');
9405
9406                if (!gliderElement) {
9407                    return;
9408                }
9409
9410                const gliderDots = carousel.querySelector('.glider-dots');
9411                const gliderPrev = carousel.querySelector('.glider-prev');
9412                const gliderNext = carousel.querySelector('.glider-next');
9413
9414                const glider = new Glider(gliderElement, {
9415                    slidesToShow: 1.2,
9416                    slidesToScroll: 2,
9417                    scrollLock: true,
9418                    draggable: true,
9419                    dragVelocity: 2.5,
9420                    dots: gliderDots,
9421                    arrows: {
9422                        prev: gliderPrev,
9423                        next: gliderNext,
9424                    },
9425                    responsive: [
9426                        {
9427                            breakpoint: 768,
9428                            settings: {
9429                                slidesToShow: 3,
9430                                slidesToScroll: 3,
9431                            }
9432                        },
9433                        {
9434                            breakpoint: 1024,
9435                            settings: {
9436                                slidesToShow: 4,
9437                                slidesToScroll: 4,
9438                            }
9439                        },
9440                        {
9441                            breakpoint: 1200,
9442                            settings: {
9443                                slidesToShow: 5,
9444                                slidesToScroll: 5,
9445                            }
9446                        }
9447                    ],
9448                });
9449
9450                carousel.classList.remove('overflow-x-scroll');
9451                gliderPrev.classList.remove('hidden');
9452                gliderNext.classList.remove('hidden');
9453
9454                if (carousel.dataset.autoplay !== 'false') {
9455                    gliderAutoplay(
9456                        glider,
9457                        carousel.dataset.autoplaySpeed,
9458                        carousel.dataset.infiniteLoop
9459                    );
9460                }
9461            };
9462
9463            const initSliderCarousel = (slider) => {
9464                slider.innerHTML = `<div data-role="glider-content">${slider.innerHTML}</div>`;
9465                slider.classList.add('glider-contain');
9466
9467                slider.insertAdjacentHTML(
9468                    'beforeend',
9469                    '\u000A\u003Cdiv\u0020class\u003D\u0022carousel\u002Dnav\u0020flex\u0020items\u002Dcenter\u0020justify\u002Dcenter\u0020flex\u002D1\u0020p\u002D4\u0022\u003E\u000A\u0020\u0020\u0020\u0020\u003Cbutton\u000A\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020aria\u002Dlabel\u003D\u0022Previous\u0022\u000A\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020class\u003D\u0022glider\u002Dprev\u0020w\u002D8\u0020h\u002D8\u0020mr\u002D1\u0020text\u002Dblack\u0020rounded\u002Dfull\u0020outline\u002Dnone\u0020focus\u003Aoutline\u002Dnone\u0020hidden\u0022\u003E\u000A\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u003Csvg\u0020xmlns\u003D\u0022http\u003A\u002F\u002Fwww.w3.org\u002F2000\u002Fsvg\u0022\u0020fill\u003D\u0022none\u0022\u0020viewBox\u003D\u00220\u00200\u002024\u002024\u0022\u0020stroke\u002Dwidth\u003D\u00222\u0022\u0020stroke\u003D\u0022currentColor\u0022\u0020width\u003D\u002224\u0022\u0020height\u003D\u002224\u0022\u0020role\u
9469003D\u0022img\u0022\u003E\u000A\u0020\u0020\u003Cpath\u0020stroke\u002Dlinecap\u003D\u0022round\u0022\u0020stroke\u002Dlinejoin\u003D\u0022round\u0022\u0020d\u003D\u0022M15\u002019l\u002D7\u002D7\u00207\u002D7\u0022\u002F\u003E\u000A\u003Ctitle\u003Echevron\u002Dleft\u003C\u002Ftitle\u003E\u003C\u002Fsvg\u003E\u000A\u0020\u0020\u0020\u0020\u003C\u002Fbutton\u003E\u000A\u0020\u0020\u0020\u0020\u003Cdiv\u0020role\u003D\u0022navigation\u0022\u0020class\u003D\u0022glider\u002Ddots\u0020select\u002Dnone\u0020flex\u0020flex\u002Dwrap\u0020mx\u002D1\u0020justify\u002Dcenter\u0020p\u002D0\u0020focus\u003Aoutline\u002Dnone\u0022\u003E\u003C\u002Fdiv\u003E\u000A\u0020\u0020\u0020\u0020\u003Cbutton\u000A\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020aria\u002Dlabel\u003D\u0022Next\u0022\u000A\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020class\u003D\u0022glider\u002Dnext\u0020w\u002D8\u0020h\u002D8\u0020ml\u002D1\u0020text\u002Dblack\u0020rounded\u002Dfull\u0020outline\u002Dnone\u0020focus\u003Aoutline\u002Dnone\u0020hidden\u0022\u003E\u000A\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u003Csvg\u0020xmlns\u003D\u0022http\u003A\u002F\u002Fwww.w3.org\u002F2000\u002Fsvg\u0022\u0020fill\u003D\u0022none\u0022\u0020viewBox\u003D\u00220\u00200\u002024\u002024\u0022\u0020stroke\u002Dwidth\u003D\u00222\u0022\u0020stroke\u003D\u0022currentColor\u0022\u0020width\u003D\u002224\u0022\u0020height\u003D\u002224\u0022\u0020role\u
9469003D\u0022img\u0022\u003E\u000A\u0020\u0020\u003Cpath\u0020stroke\u002Dlinecap\u003D\u0022round\u0022\u0020stroke\u002Dlinejoin\u003D\u0022round\u0022\u0020d\u003D\u0022M9\u00205l7\u00207\u002D7\u00207\u0022\u002F\u003E\u000A\u003Ctitle\u003Echevron\u002Dright\u003C\u002Ftitle\u003E\u003C\u002Fsvg\u003E\u000A\u0020\u0020\u0020\u0020\u003C\u002Fbutton\u003E\u000A\u003C\u002Fdiv\u003E\u000A'
9470                );
9471
9472                const gliderElement = slider.querySelector('[data-role="glider-content"]');
9473                const gliderDots = slider.querySelector('.glider-dots');
9474                const gliderPrev = slider.querySelector('.glider-prev');
9475                const gliderNext = slider.querySelector('.glider-next');
9476
9477                const glider = new Glider(gliderElement, {
9478                    slidesToShow: 1,
9479                    slidesToScroll: 1,
9480                    scrollLock: true,
9481                    scrollLockDelay: 250,
9482                    draggable: true,
9483                    dragVelocity: 2.5,
9484                    dots: gliderDots,
9485                    arrows: {
9486                        prev: gliderPrev,
9487                        next: gliderNext,
9488                    },
9489                });
9490
9491                slider.classList.add('glider-initialized');
9492                if (slider.dataset.showArrows === 'true') {
9493                    gliderPrev.classList.remove('hidden');
9494                    gliderNext.classList.remove('hidden');
9495                }
9496
9497                if (slider.dataset.autoplay !== 'false') {
9498                    gliderAutoplay(
9499                        glider,
9500                        slider.dataset.autoplaySpeed,
9501                        slider.dataset.infiniteLoop
9502                    );
9503                }
9504            };
9505
9506            const gliderAutoplay = (glider, milliseconds, loop) => {
9507                const pagesCount = glider.track.childElementCount;
9508                let slideTimeout = null;
9509                let nextIndex = 1;
9510                let paused = false;
9511
9512                const slide = () => {
9513                    slideTimeout = setTimeout(
9514                        () => {
9515                            if (loop && nextIndex >= pagesCount) {
9516                                nextIndex = 0;
9517                            }
9518                            glider.scrollItem(nextIndex);
9519                        },
9520                        parseInt(milliseconds)
9521                    );
9522                };
9523
9524                glider.ele.addEventListener('glider-animated', () => {
9525                    nextIndex = glider.slide + glider.opt.slidesToScroll;
9526                    window.clearInterval(slideTimeout);
9527                    if (!paused && (loop || nextIndex < pagesCount)) {
9528                        slide();
9529                    }
9530                });
9531
9532                const pause = () => {
9533                    if (!paused) {
9534                        clearInterval(slideTimeout);
9535                        paused = true;
9536                    }
9537                };
9538
9539                const unpause = () => {
9540                    if (paused) {
9541                        slide();
9542                        paused = false;
9543                    }
9544                };
9545
9546                glider.ele.parentElement.addEventListener('mouseover', pause, {passive: true});
9547                glider.ele.parentElement.addEventListener('touchstart', pause, {passive: true});
9548                glider.ele.parentElement.addEventListener('mouseout', unpause, {passive: true});
9549                glider.ele.parentElement.addEventListener('touchend', unpause, {passive: true});
9550
9551                slide();
9552            };
9553
9554            elements.forEach(element => {
9555                if (element.dataset.contentType === 'products') {
9556                    initProductCarousel(element);
9557                }
9558                if (element.dataset.contentType === 'slider') {
9559                    initSliderCarousel(element);
9560                }
9561            });
9562        };
9563
9564        window.addEventListener('DOMContentLoaded', () => {
9565            const carouselElements = document.querySelectorAll(
9566                `[data-content-type="products"][data-appearance="carousel"],
9567                [data-content-type="slider"]`
9568            );
9569
9570            if (carouselElements.length > 0) {
9571                const script = document.createElement('script');
9572                script.type = 'text/javascript';
9573
9574                script.addEventListener('load', () => {
9575                    initCarousels(carouselElements);
9576                });
9577
9578                window.addEventListener('init-external-scripts', () => {
9579                    script.src = 'https\u003A\u002F\u002Fwww.flooringinc.com\u002Fstatic\u002Fversion1789462004\u002Ffrontend\u002FDcw\u002Fhyvadesktop\u002Fen_US\u002FMagento_PageBuilder\u002Fjs\u002Fglider.min.js';
9580                }, {once: true, passive: true});
9581                document.head.appendChild(script);
9582            }
9583        });
9584    })();
9585</script>
vendor: 1 bytes, line 9585
9585
9586<script>
9587    'use strict';
9588
9589    (() => {
9590        const initMaps = (elements) => {
9591            const renderMap = (element) => {
9592                const dataLocations = element.dataset.locations;
9593
9594                // Hide map if no locations set
9595                if (!dataLocations || dataLocations === '[]') {
9596                    element.classList.add('hidden');
9597                    return;
9598                }
9599
9600                const map = new google.maps.Map(
9601                    element,
9602                    getMapOptions(
9603                        element.dataset.showControls !== 'true',
9604                        element.dataset.showControls === 'true'
9605                    )
9606                );
9607                const locations = JSON.parse(dataLocations);
9608                const latitudeLongitudeBounds = new google.maps.LatLngBounds();
9609                const bounds = [];
9610
9611                locations.forEach(location => {
9612                    const position = {
9613                        lat: parseFloat(location.position.latitude),
9614                        lng: parseFloat(location.position.longitude),
9615                    };
9616                    bounds.push(position);
9617
9618                    const infowindow = new google.maps.InfoWindow({
9619                        content: getInfoWindowContent(location),
9620                    });
9621                    const marker = new google.maps.Marker({
9622                        position: position,
9623                        map,
9624                        title: location.location_name,
9625                    });
9626
9627                    marker.addListener('click', () => {
9628                        infowindow.open(map, marker);
9629                    });
9630                });
9631
9632                // Set bounds if multiple locations
9633                if (bounds.length > 1) {
9634                    bounds.forEach(function (bound) {
9635                        latitudeLongitudeBounds.extend(bound);
9636                    });
9637                    map.fitBounds(latitudeLongitudeBounds);
9638                }
9639
9640                // Center if single location
9641                if (bounds.length === 1) {
9642                    map.setCenter(bounds[0]);
9643                }
9644            };
9645
9646            const getMapOptions = (disableDefaultUI, mapTypeControl) => {
9647                const style = '';
9648                return {
9649                    zoom: 8,
9650                    scrollwheel: false,
9651                    disableDoubleClickZoom: false,
9652                    mapTypeControlOptions: {
9653                        style: google.maps.MapTypeControlStyle.DEFAULT,
9654                    },
9655                    styles: style ? JSON.parse(style) : [],
9656                    disableDefaultUI: disableDefaultUI,
9657                    mapTypeControl: mapTypeControl,
9658                };
9659            };
9660
9661            const getInfoWindowContent = (location) => {
9662                const title = location.location_name ?
9663                    `<h3 class="text-2xl font-medium text-gray-900 title-font">${location.location_name}</h3>` : '';
9664                const comment = location.comment ? `<p class="px-1 pt-3 text-primary">${location.comment}</p>` : '';
9665                const phone = location.phone ? `<p class="px-1 pt-3 text-primary">Phone: ${location.phone}</p>` : '';
9666                const street = location.address ? `${location.address}<br/>` : '';
9667                const city = location.city ? `${location.city}<br/>` : '';
9668                const state = location.state ? `${location.state}<br/>` : '';
9669                const zipCode = location.zipcode ? `${location.zipcode}<br/>` : '';
9670                const country = location.country ? location.country : '';
9671
9672                return `<div>
9673                            ${title}
9674                            ${comment}
9675                            ${phone}
9676                            <p class="px-1 pt-3 text-primary">
9677                                ${street}
9678                                ${city}
9679                                ${state}
9680                                ${zipCode}
9681                                ${country}
9682                            </p>
9683                        </div>`;
9684            };
9685
9686            const hideAllMaps = () => {
9687                document.querySelectorAll('[data-content-type="map"]').forEach(element => {
9688                    element.classList.add('hidden');
9689                });
9690            };
9691
9692            window.gm_authFailure = () => {
9693                hideAllMaps();
9694            };
9695
9696            if (typeof google.maps === 'undefined') {
9697                hideAllMaps();
9698                return;
9699            }
9700
9701            elements.forEach(element => {
9702                if (element.dataset.contentType === 'map') {
9703                    renderMap(element);
9704                }
9705            });
9706        };
9707
9708        window.addEventListener('DOMContentLoaded', () => {
9709            const mapElements = document.querySelectorAll('[data-content-type="map"]');
9710
9711            if (mapElements.length > 0) {
9712                const script = document.createElement('script');
9713                script.type = 'text/javascript';
9714
9715                script.addEventListener('load', () => {
9716                    initMaps(mapElements);
9717                });
9718
9719                script.src = 'https\u003A\u002F\u002Fmaps.googleapis.com\u002Fmaps\u002Fapi\u002Fjs\u003Fv\u003D3\u0026key\u003D';
9720                document.head.appendChild(script);
9721            }
9722        });
9723    })();
9724</script>
vendor: 1 bytes, line 9724
9724
9725<script>
9726    'use strict';
9727
9728    (() => {
9729        const initParallaxImage = (element) => {
9730            if (!window.jarallax) {
9731                return;
9732            }
9733
9734            element.classList.add('jarallax');
9735            element.dataset.jarallax = '';
9736            const parallaxSpeed = parseFloat(element.dataset.parallaxSpeed) || 0.5;
9737            const elementStyle = window.getComputedStyle(element);
9738
9739            window.jarallax(element, {
9740                imgPosition: elementStyle.backgroundPosition || '50% 50%',
9741                imgRepeat: elementStyle.backgroundRepeat || 'no-repeat',
9742                imgSize: elementStyle.backgroundSize || 'cover',
9743                speed: parallaxSpeed,
9744            });
9745        };
9746
9747        const initVideoBackground = (element) => {
9748            if (!window.jarallax) {
9749                return;
9750            }
9751
9752            let slider = null;
9753
9754            if (element.classList.contains('pagebuilder-slide-wrapper')) {
9755                const viewportElement = document.createElement('div');
9756                slider = element.closest('[data-content-type=slider]');
9757                viewportElement.classList.add('jarallax-viewport-element');
9758                element.dataset.elementInViewport = '.jarallax-viewport-element';
9759                element.appendChild(viewportElement);
9760            }
9761
9762            element.classList.add('jarallax');
9763            element.dataset.jarallax = '';
9764            const parallaxSpeed = parseFloat(element.dataset.parallaxSpeed) || 0.5;
9765
9766            window.jarallax(element, {
9767                imgSrc: element.dataset.videoFallbackSrc,
9768                speed: parallaxSpeed,
9769                videoLoop: element.dataset.videoLoop,
9770                videoPlayOnlyVisible: element.dataset.videoPlayOnlyVisible,
9771                videoLazyLoading: element.dataset.videoLazyLoad,
9772                disableVideo: false,
9773                elementInViewport: element.dataset.elementInViewport &&
9774                    element.querySelector(element.dataset.elementInViewport),
9775            });
9776
9777            if (slider) {
9778                if (slider.dataset.afterChangeIsSet) {
9779                    return;
9780                }
9781
9782                slider.addEventListener('glider-loaded', () => {
9783                    slider.querySelectorAll('.jarallax').forEach(videoSlide => {
9784                        videoSlide.jarallax && videoSlide.jarallax.onScroll();
9785                    });
9786                });
9787
9788                slider.addEventListener('glider-animated', () => {
9789                    slider.querySelectorAll('.jarallax').forEach(videoSlide => {
9790                        videoSlide.jarallax && videoSlide.jarallax.onScroll();
9791                    });
9792                });
9793
9794                slider.dataset.afterChangeIsSet = true;
9795            }
9796        };
9797
9798        window.addEventListener('DOMContentLoaded', () => {
9799            const parallaxImageElements = document.querySelectorAll(
9800                `[data-content-type="row"][data-background-type="image"][data-enable-parallax="1"],
9801                [data-content-type="row"] > [data-background-type="image"][data-enable-parallax="1"]`
9802            );
9803
9804            const videoBackgroundsElements = document.querySelectorAll(
9805                `[data-content-type="row"][data-background-type="video"][data-enable-parallax="1"],
9806                [data-content-type="row"] > [data-background-type="video"][data-enable-parallax="1"],
9807                [data-content-type="banner"] [data-background-type="video"],
9808                [data-content-type="slide"] [data-background-type="video"]`
9809            );
9810
9811            if (parallaxImageElements.length > 0 || videoBackgroundsElements.length > 0) {
9812                const jarallaxScript = document.createElement('script');
9813                jarallaxScript.type = 'text/javascript';
9814
9815                jarallaxScript.addEventListener('load', () => {
9816                    parallaxImageElements.forEach(row => {
9817                        initParallaxImage(row);
9818                    });
9819
9820                    const jarallaxVideoScript = document.createElement('script');
9821                    jarallaxVideoScript.type = 'text/javascript';
9822
9823                    jarallaxVideoScript.addEventListener('load', () => {
9824                        videoBackgroundsElements.forEach(element => {
9825                            initVideoBackground(element);
9826                        });
9827                    });
9828
9829                    jarallaxVideoScript.src = 'https\u003A\u002F\u002Fwww.flooringinc.com\u002Fstatic\u002Fversion1789462004\u002Ffrontend\u002FDcw\u002Fhyvadesktop\u002Fen_US\u002FMagento_PageBuilder\u002Fjs\u002Fjarallax\u002Dvideo.min.js';
9830                    document.head.appendChild(jarallaxVideoScript);
9831                });
9832
9833                jarallaxScript.src = 'https\u003A\u002F\u002Fwww.flooringinc.com\u002Fstatic\u002Fversion1789462004\u002Ffrontend\u002FDcw\u002Fhyvadesktop\u002Fen_US\u002FMagento_PageBuilder\u002Fjs\u002Fjarallax.min.js';
9834                document.head.appendChild(jarallaxScript);
9835            }
9836        });
9837    })();
9838</script>
vendor: 1 bytes, line 9838
9838
9839<script>
9840    'use strict';
9841
9842    (() => {
9843        const applyShowOnHover = (element) => {
9844            const showOverlayOnHover = (element) => {
9845                const overlay = element.querySelector('.pagebuilder-overlay');
9846                const color = overlay.dataset.overlayColor;
9847
9848                element.addEventListener('mouseover', () => {
9849                    overlay.style.backgroundColor = color;
9850                });
9851                element.addEventListener('mouseout', () => {
9852                    overlay.style.backgroundColor = 'transparent';
9853                });
9854            };
9855
9856            const showButtonOnHover = (element) => {
9857                const button = element.querySelector('.pagebuilder-banner-button');
9858
9859                element.addEventListener('mouseover', () => {
9860                    button.style.opacity = '1';
9861                    button.style.visibility = 'visible';
9862                });
9863                element.addEventListener('mouseout', () => {
9864                    button.style.opacity = '0';
9865                    button.style.visibility = 'hidden';
9866                });
9867            };
9868
9869            if (element.dataset.showOverlay === 'hover') {
9870                showOverlayOnHover(element);
9871            }
9872            if (element.dataset.showButton === 'hover') {
9873                showButtonOnHover(element);
9874            }
9875        };
9876
9877        window.addEventListener('DOMContentLoaded', () => {
9878            document.querySelectorAll('[data-content-type="banner"],[data-content-type="slider"]').forEach(element => {
9879                applyShowOnHover(element);
9880            });
9881        });
9882    })();
9883</script>
vendor: 1 bytes, line 9883
9883
9884<script>
9885    'use strict';
9886
9887    (() => {
9888        document.querySelectorAll('[data-content-type="tab-item"]').forEach(tabItem => {
9889            tabItem.setAttribute('x-show', `tab === '${tabItem.id}'`);
9890        });
9891
9892        document.querySelectorAll('[data-content-type="tabs"]').forEach(tab => {
9893            const defaultActiveTab = parseInt(tab.dataset.activeTab) || 0;
9894
9895            tab.querySelectorAll('.tab-header').forEach((tabHeader, index) => {
9896                const tabLink = tabHeader.querySelector('a');
9897                const tabId = tabLink.getAttribute('href').replace('#', '');
9898
9899                tabHeader.setAttribute(':class', `{ 'active': tab === '${tabId}' }`);
9900                tabLink.setAttribute('x-on:click.prevent', `tab = '${tabId}'`);
9901
9902                if (index === defaultActiveTab) {
9903                    tab.setAttribute('x-data', `{ tab: '${tabId}' }`);
9904                }
9905            });
9906        });
9907    })();
9908</script>
vendor: 1 bytes, line 9908
9908
9909<script>
9910    'use strict';
9911
9912    const grecaptchaV2LoadCallbacks = [];
9913
9914    function executeRecaptchaLoadCallbacks () {
9915        while (window.grecaptcha && grecaptchaV2LoadCallbacks.length > 0) {
9916            const callback = grecaptchaV2LoadCallbacks.pop();
9917            typeof callback === 'string' ? window[callback]() : callback();
9918        }
9919    }
9920
9921    (function() {
9922        const loadRecaptchaScript = (event) => {
9923
9924            if (window.grecaptcha || !event.target.form) {
9925                return;
9926            }
9927
9928            const url = 'https://www.google.com/recaptcha/api.js?onload=executeRecaptchaLoadCallbacks';
9929            const siteKey = '6LdQFsgqAAAAAFaiT_SQ7C9UmCcxWxpMd6pIMAEO';
9930            const script = document.createElement('script');
9931            script.type = 'text/javascript';
9932            script.src = siteKey ? `${url}&render=${siteKey}` : `${url}&render=explicit`;
9933            script.async = true;
9934            document.head.appendChild(script);
9935
9936            script.addEventListener('load', () => {
9937                Array.from(document.querySelectorAll('button[data-recaptcha-btn]:disabled')).forEach(btn => btn.removeAttribute('disabled'));
9938            });
9939        }
9940
9941        window.forceLoadRecaptchaScript = (form) => {
9942            loadRecaptchaScript({target: {form: form || 'dummy'}});
9943            executeRecaptchaLoadCallbacks();
9944        };
9945
9946        document.body.addEventListener('input', loadRecaptchaScript, { once: true });
9947        document.body.addEventListener('focus', loadRecaptchaScript, { once: true });
9948
9949    }());
9950
9951</script>
vendor: 1 bytes, line 9951
9951
9952<script>
9953    window.addEventListener("scroll", function() {
9954        var header = document.querySelector('header.page-header');
9955        var body = document.querySelector("body");
9956        const header_top = document.querySelector('.header_top');
9957        const notification4 = document.querySelector('.notification4');
9958        var top_1 = document.querySelector("header.page-header > .panel.wrapper");
9959        var content = document.getElementById("textContent");
9960
9961
9962        if(header_top && notification4){
9963            if ((header_top.textContent.length > 10) && (notification4.textContent.length > 10)) {
9964                if (window.pageYOffset > 76) {
9965                    //document.querySelector("#header").style.cssText = "position:fixed;left:0;top:0;width:100%;transition: all ease-in-out 0.5s";
9966                    //document.querySelector(".page-wrapper").style.cssText = "padding-top:112px";
9967                    document.querySelector('body').classList.add('sticki');
9968                } else {
9969                    //document.querySelector("#header").style.cssText = "position:static;transition: all ease-in-out 0.5s";
9970                    //document.querySelector(".page-wrapper").style.cssText = "padding-top:0px";
9971                    document.querySelector('body').classList.remove('sticki');
9972                }
9973            }
9974        }
9975
9976        if(header_top && notification4){
9977            if ((header_top.textContent.length > 10) && (notification4.textContent.length < 10)) {
9978                if (window.pageYOffset > 36) {
9979                    //document.querySelector("#header").style.cssText = "position:fixed;left:0;top:0;width:100%;transition: all ease-in-out 0.5s";
9980                    //document.querySelector(".page-wrapper").style.cssText = "padding-top:112px";
9981                    document.querySelector('body').classList.add('sticki');
9982                } else {
9983                    //document.querySelector("#header").style.cssText = "position:static;transition: all ease-in-out 0.5s";
9984                    //document.querySelector(".page-wrapper").style.cssText = "padding-top:0px";
9985                    document.querySelector('body').classList.remove('sticki');
9986                }
9987            }
9988        }
9989
9990        if(header_top && !notification4){
9991            if (header_top.textContent.length > 10) {
9992                if (window.pageYOffset > 36) {
9993                    //document.querySelector("#header").style.cssText = "position:fixed;left:0;top:0;width:100%;transition: all ease-in-out 0.5s";
9994                    //document.querySelector(".page-wrapper").style.cssText = "padding-top:112px";
9995                    document.querySelector('body').classList.add('sticki');
9996                } else {
9997                    //document.querySelector("#header").style.cssText = "position:static;transition: all ease-in-out 0.5s";
9998                    //document.querySelector(".page-wrapper").style.cssText = "padding-top:0px";
9999                    document.querySelector('body').classList.remove('sticki');
10000                }
10001            }
10002        }
10003    });
10004
10005    window.addEventListener("DOMContentLoaded", function() {
10006        window.addEventListener("scroll", function() {
10007            // scroll for plp content sticky
10008            anchor_scroll();
10009        });
10010        function anchor_scroll() {
10011            var anchor_scroll = document.querySelector('.anchor-scroll');
10012            if (!anchor_scroll) {
10013                return; // Exit if the element is not found
10014            }
10015            let sticky = anchor_scroll.offsetTop;
10016
10017            if (window.pageYOffset > sticky) {
10018                anchor_scroll.classList.add("scroll-fixed");
10019            } else {
10020                anchor_scroll.classList.remove("scroll-fixed");
10021            }
10022        }
10023
10024        document.querySelectorAll('.anchor-scroll a[href^="."], .at-glance-content a[href^="."]').forEach(anchor => {
10025            anchor.addEventListener('click', function (e) {
10026                e.preventDefault();
10027
10028                const targetClass = this.getAttribute('href').substring(1);
10029                const targetElement = document.querySelector(`.${targetClass}`);
10030                let anchor_scroll = document.querySelector('.anchor-scroll > div');
10031                var header_off = document.querySelector('#header').offsetHeight;
10032                if (anchor_scroll) {
10033                    var header_off = document.querySelector('#header').offsetHeight + anchor_scroll.offsetHeight;
10034                } else {
10035                    var header_off = document.querySelector('#header').offsetHeight;
10036                }
10037
10038                if (targetElement) {
10039                    const offset = header_off;
10040                    const bodyRect = document.body.getBoundingClientRect().top;
10041                    const elementRect = targetElement.getBoundingClientRect().top;
10042                    const elementPosition = elementRect - bodyRect;
10043                    const offsetPosition = elementPosition - offset;
10044
10045                    window.scrollTo({
10046                        top: offsetPosition,
10047                        behavior: 'smooth'
10048                    });
10049                }
10050            });
10051        });
10052    });
10053</script>
10053
10054
10055    <section x-cloak x-data="{isLoading: false}"
10056             @amcaptcha-loading-start.window="isLoading = true" @amcaptcha-loading-stop.window="isLoading = false">
10057        <div class="flex flex-row justify-center items-center w-full h-full fixed select-none z-50"
10058     style="left: 50%;top: 50%;transform: translateX(-50%) translateY(-50%);background: rgba(255,255,255,0.7);"
10059     x-show="isLoading"
10060     x-transition:enter="ease-out duration-200"
10061     x-transition:enter-start="opacity-0"
10062     x-transition:enter-end="opacity-100"
10063     x-transition:leave="ease-in duration-200"
10064     x-transition:leave-start="opacity-100"
10065     x-transition:leave-end="opacity-0">
10066    <!-- By Sam Herbert (@sherb), for everyone. More @ http://goo.gl/7AJzbL -->
10067<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 57 57" stroke="currentColor" class="text-primary" width="57" height="57" role="img">
10068    <g fill="none" fill-rule="evenodd">
10069        <g transform="translate(1 1)" stroke-width="2">
10070            <circle cx="5" cy="50" r="5">
10071                <animate attributeName="cy" begin="0s" dur="2.2s" values="50;5;50;50" calcMode="linear" repeatCount="indefinite"/>
10072                <animate attributeName="cx" begin="0s" dur="2.2s" values="5;27;49;5" calcMode="linear" repeatCount="indefinite"/>
10073            </circle>
10074            <circle cx="27" cy="5" r="5">
10075                <animate attributeName="cy" begin="0s" dur="2.2s" from="5" to="5" values="5;50;50;5" calcMode="linear" repeatCount="indefinite"/>
10076                <animate attributeName="cx" begin="0s" dur="2.2s" from="27" to="27" values="27;49;5;27" calcMode="linear" repeatCount="indefinite"/>
10077            </circle>
10078            <circle cx="49" cy="50" r="5">
10079                <animate attributeName="cy" begin="0s" dur="2.2s" values="50;50;5;50" calcMode="linear" repeatCount="indefinite"/>
10080                <animate attributeName="cx" from="49" to="49" begin="0s" dur="2.2s" values="49;5;27;49" calcMode="linear" repeatCount="indefinite"/>
10081            </circle>
10082        </g>
10083    </g>
10084<title>loader</title></svg>
10085    <div class="ml-10 text-primary text-xl">
10086        Loading...    </div>
10087</div>
10088    </section>
10089
10090<script>
10091    'use strict';
10092
10093    function responseSerialize(response) {
10094        if (response.redirected) {
10095            window.location.href = response.url;
10096        } else if (response.ok) {
10097            return response.json();
10098        } else {
10099            // Check if result is Promise then throw to new Error
10100            let defaultErrMsg = 'Something went wrong. Please contact the website admin for more information.',
10101                result;
10102            result = response.text();
10103            if (typeof result?.then === 'function') {
10104                result.then(res => {
10105                    let errorMessage;
10106                    try {
10107                        errorMessage = JSON.parse(res);
10108                        errorMessage = errorMessage?.message ? errorMessage.message : defaultErrMsg;
10109                    } catch (e) {
10110                        errorMessage = defaultErrMsg;
10111                    }
10112                    window.dispatchMessages([
10113                        {
10114                            type: 'error',
10115                            text: errorMessage
10116                        }
10117                    ], 3000);
10118                });
10119            } else {
10120                throw new Error(defaultErrMsg);
10121            }
10122        }
10123    }
10124
10125    if (typeof window.buildRestAPIUrl !== 'function') {
10126        window.buildRestAPIUrl = function (url, params = {}) {
10127            const method = 'rest',
10128                storeCode = 'default',
10129                version = 'V1',
10130                serviceUrl = ':method/:storeCode/:version';
10131
10132            let urlParts;
10133
10134            params.method = method;
10135            params.storeCode = storeCode;
10136            params.version = version;
10137
10138            url = serviceUrl + url;
10139
10140            urlParts = url.split('/');
10141            urlParts = urlParts.filter(Boolean);
10142
10143            Object.entries(urlParts).forEach (entry => {
10144                let [key, part] = entry;
10145                part = part.replace(':', '');
10146
10147                if (params[part] !== undefined) {
10148                    urlParts[key] = params[part];
10149                }
10150            });
10151
10152            return urlParts.join('/');
10153        }
10154    }
10155
10156    if (typeof window.isObjectEmpty !== 'function') {
10157        window.isObjectEmpty = function (obj) {
10158            return (
10159                Object.prototype.toString.call(obj) === '[object Object]' &&
10160                JSON.stringify(obj) === '{}'
10161            );
10162        }
10163    }
10164
10165    if (typeof window.mergeDeep !== 'function') {
10166        /**
10167         * Deep merge two objects.
10168         *
10169         * @param target
10170         * @param sources
10171         * @returns {*}
10172         */
10173        window.mergeDeep = (target, ...sources) => {
10174            /**
10175             * Simple object check.
10176             *
10177             * @param item
10178             * @returns {boolean}
10179             */
10180            const isObject = (item) => {
10181                return (item && typeof item === 'object' && !Array.isArray(item));
10182            };
10183
10184            if (!sources.length) return target;
10185            const source = sources.shift();
10186
10187            if (isObject(target) && isObject(source)) {
10188                for (const key in source) {
10189                    if (isObject(source[key])) {
10190                        if (!target[key]) Object.assign(target, { [key]: {} });
10191                        mergeDeep(target[key], source[key]);
10192                    } else {
10193                        Object.assign(target, { [key]: source[key] });
10194                    }
10195                }
10196            }
10197
10198            return mergeDeep(target, ...sources);
10199        }
10200    }
10201</script>
10201
10202
10203<div x-data="{...hyva.modal(), ...initAmcartDialogPopup()}"
10204     x-init="initDialogPopup($dispatch)"
10205     x-spread="eventListeners"
10206     x-bind="eventListeners">
10207    <div x-cloak x-spread="overlay('amcart-dialog-popup')" x-bind="overlay('amcart-dialog-popup')"
10208         class="fixed inset-0 flex items-center justify-center text-left bg-black bg-opacity-50 z-30">
10209        <div x-ref="amcart-dialog-popup" role="dialog" aria-labelledby="amcart-dialog-popup-content"
10210             class="flex flex-col max-h-screen max-w-4xl overflow-auto bg-amcart-background shadow-xl rounded-lg p-4">
10211            <div class="flex justify-between pb-4 border-b">
10212                <div x-text="title" class="text-2xl font-extrabold text-amcart-text"></div>
10213                <button @click="$dispatch('amcart-close-dialog-popup')"
10214                        aria-label="Close"
10215                        class="text-gray-300 transition hover:text-black hover:drop-shadow-md">
10216                    <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" class="h-6 w-6" width="24" height="24" role="img">
10217  <path fill-rule="evenodd" d="M4.293 4.293a1 1 0 011.414 0L10 8.586l4.293-4.293a1 1 0 111.414 1.414L11.414 10l4.293 4.293a1 1 0 01-1.414 1.414L10 11.414l-4.293 4.293a1 1 0 01-1.414-1.414L8.586 10 4.293 5.707a1 1 0 010-1.414z" clip-rule="evenodd"/>
10218<title>x</title></svg>
10219                </button>
10220            </div>
10221            <div id="amcart-dialog-popup-content" class="amcart-dialog-popup-content"></div>
10222            <div class="flex flex-row pt-3 border-t">
10223                <template x-for="(button, index) in buttons" :key="index">
10224                    <button class="btn mr-4 last:mr-0 text-amcart-button hover:brightness-105 hover:shadow-lg"
10225                            :class="{
10226                                'bg-amcart-continue-btn hover:bg-amcart-continue-btn': index === 0,
10227                                'bg-amcart-view-cart-btn hover:bg-amcart-view-cart-btn': index === 1
10228                            }"
10229                            :aria-label="button.name"
10230                            x-html="button.name"
10231                            @click="dispatchButtonAction(button.action.name, button.action.payload)"></button>
10232                </template>
10233            </div>
10234        </div>
10235    </div>
10236</div>
10237
10238<script>
10239    'use strict';
10240
10241    function initAmcartDialogPopup() {
10242        const dialogPopupName = 'amcart-dialog-popup';
10243        const selectors = {
10244            addToCartForm: '.amcart-product-info #amcart_product_addtocart_form',
10245            ratingSummarySelector: '.amcart-product-info .rating-summary'
10246        }
10247
10248        return {
10249            eventListeners: {
10250                ['@amcart-open-dialog-popup.window']({detail: popupData}) {
10251                    // Close any existing modal before opening
10252                    window.hyva.modal.pop();
10253
10254                    this.initPopupWithData(popupData);
10255                    this.$nextTick(() => {
10256                        this.show(dialogPopupName);
10257                    });
10258                },
10259                ['@amcart-close-dialog-popup']() {
10260                    this.hide(dialogPopupName);
10261                },
10262                ['@amcart-dialog-submit']({ detail: actionToDispatch }) {
10263                    const form = document.querySelector(selectors.addToCartForm);
10264
10265                    if (form.checkValidity()) {
10266                        this.dispatch(actionToDispatch, form);
10267                        this.hide(dialogPopupName);
10268                    } else {
10269                        form.reportValidity();
10270                    }
10271                },
10272                ['@amcart-hide-popup']() {
10273                    this.hide(dialogPopupName);
10274                }
10275            },
10276            title: '',
10277            buttons: [],
10278            message: '',
10279            selected_options: null,
10280            dispatch: null,
10281
10282            /**
10283             * @param {Object} $dispatch
10284             * @return {void}
10285             */
10286            initDialogPopup: function ($dispatch) {
10287                this.dispatch = $dispatch;
10288            },
10289
10290            /**
10291             * @param {CartResponse} popupData
10292             * @return {void}
10293             */
10294            initPopupWithData: function (popupData) {
10295                this.title = popupData.title;
10296                this.buttons = popupData.buttons;
10297                this.selected_options = popupData.selected_options;
10298                hyva.replaceDomElement('#amcart-dialog-popup-content', this.preprocessMessage(popupData.message));
10299                this.$nextTick(() => {
10300                    this.postProcessPopupContent();
10301                });
10302            },
10303
10304            /**
10305             * @param {string} message
10306             * @return {string}
10307             */
10308            preprocessMessage: function (message) {
10309                /**
10310                 * Disable labels for input inside popup due to the possibility of their duplication on the page.
10311                 * Because this can lead to unexpected behaviour.
10312                 *
10313                 * Make form id unique for popup
10314                 */
10315                return message
10316                    .replaceAll(':for=', 'for-data=')
10317                    .replaceAll('product_addtocart_form', 'amcart_product_addtocart_form');
10318            },
10319
10320            /**
10321             * @return {void}
10322             */
10323            postProcessPopupContent: function () {
10324                this.disableRatingSummary();
10325                this.clickSelectedOptions();
10326            },
10327
10328            /**
10329             * @return {void}
10330             */
10331            disableRatingSummary: function () {
10332                const ratingSummaryElement = document.querySelector(selectors.ratingSummarySelector);
10333
10334                if (!!ratingSummaryElement) {
10335                    ratingSummaryElement.removeAttribute('onClick');
10336                    ratingSummaryElement.classList.remove('cursor-pointer');
10337                }
10338            },
10339
10340            /**
10341             * @return {void}
10342             */
10343            clickSelectedOptions: function () {
10344                if (!this.selected_options) {
10345                    return;
10346                }
10347
10348                for(const [attributeId, attributeValue] of Object.entries(this.selected_options)) {
10349                    const swatchOptionTemplate =  document.querySelector(
10350                        `.amcart-product-info template[x-for*="attributes[${attributeId}]"]`
10351                    );
10352
10353                    if (!!swatchOptionTemplate && !!swatchOptionTemplate.parentElement) {
10354                        const swatchInput = swatchOptionTemplate.parentElement
10355                            .querySelector(`input[value="${attributeValue}"]`);
10356                        swatchInput && swatchInput.click();
10357                    }
10358                }
10359            },
10360
10361            /**
10362             * @param {string} name
10363             * @param {string|undefined} payload
10364             * @return {void}
10365             */
10366            dispatchButtonAction: function (name, payload) {
10367                this.dispatch(name, payload);
10368            }
10369        };
10370    }
10371</script>
10371
10372
10373<script>
10374    (function () {
10375        'use strict';
10376
10377        const addToCartProductListFormSelector = '.product_addtocart_form';
10378        const addToCartProductPageFormSelector = '#product_addtocart_form';
10379        const setFormsEvent = function () {
10380            const productListForms = document.querySelectorAll(addToCartProductListFormSelector);
10381            const productPageForm = document.querySelector(addToCartProductPageFormSelector);
10382
10383            productPageForm && addDispatcher(productPageForm);
10384            productListForms.forEach((form) => {
10385                // disable html5 validation
10386                form.setAttribute('novalidate', '');
10387                addDispatcher(form);
10388            });
10389        }
10390
10391        const addDispatcher = function(form) {
10392            form.removeAttribute('@submit');
10393            form.removeAttribute('@submit.prevent');
10394            form.setAttribute('x-data', '');
10395            form.setAttribute('x-on:submit.prevent', '$dispatch(\'amcart-add-to-cart-action\', $el)');
10396        }
10397
10398        setFormsEvent();
10399
10400        window.addEventListener('amcart-set-forms-event', setFormsEvent);
10401    })();
10402</script>
10402
10403
10404<script>
10405    (function () {
10406        'use strict';
10407
10408        /**
10409         * @typedef {Object} CartResponse
10410         *
10411         * Popup common props
10412         * @property {[
10413         *     name: string,
10414         *     action: {
10415         *         name: string,
10416         *         payload: string|undefined
10417         *     }
10418         * ]|undefined} buttons
10419         * @property {string|undefined} popup_action
10420         * @property {string|undefined} message
10421         * @property {string|undefined} title
10422         *
10423         * DialogPopup props
10424         * @property {string|null|undefined} selected_options
10425         *
10426         * ConfirmationPopup props
10427         * @property {string|undefined} align
10428         * @property {string|undefined} checkout
10429         * @property {string|undefined} product_id
10430         * @property {string|undefined} product_sku
10431         * @property {string|undefined} related
10432         * @property {number|undefined} timer
10433         *
10434         * Redirect props
10435         * @property {string|undefined} redirect url to redirect
10436         */
10437
10438        let globalActionName;
10439
10440        const addToCartAction = ({detail: form}) => {
10441            const isProductForm = form.id === 'product_addtocart_form';
10442
10443            globalActionName = getCartAction(form);
10444
10445            if (isProductForm) {
10446                window.dispatchEvent(new CustomEvent('amcart-trigger-grouped-form-validate'));
10447
10448                if (form.checkValidity()) {
10449                    performRequest(form, isProductForm);
10450                }
10451            } else {
10452                performRequest(form, isProductForm)
10453            }
10454        };
10455
10456        const performRequest = function (form, isProductForm) {
10457            const cartUrl = `${BASE_URL}amasty_cart/cart/${getCartAction(form)}`;
10458            const isProductPage = document.body.classList.contains('catalog-product-view');
10459            const headers = {
10460                'content-type': 'application/x-www-form-urlencoded; charset=UTF-8'
10461            };
10462            const formData = new FormData(form);
10463            formData.set('product_page', isProductPage && isProductForm);
10464            formData.set('last_category_id', hyva.getBrowserStorage().getItem('last_category_id'));
10465            formData.set('form_key', hyva.getFormKey());
10466            !formData.get('id') && formData.get('item') && formData.set('id', formData.get('item'));
10467
10468            const body = new URLSearchParams(formData);
10469
10470            window.dispatchEvent(new CustomEvent('amcart-loading-start'));
10471            window.dispatchEvent(new CustomEvent('amcart-add-start', { detail: form }));
10472
10473            fetch(cartUrl, {headers: {...headers}, body: body, method: 'POST'})
10474                .then(response => response.json())
10475                .then((result) => {
10476                    resultActionResolver.resolve(result);
10477                    const relatedProductDialog = document.querySelector('.related-product-dialog-wrapper');
10478                    const cartLink = document.getElementById('menu-cart-icon');
10479                    const isRelatedProductForm = form.closest('.related-products-pdp-section');
10480                    if (relatedProductDialog && !isRelatedProductForm) {
10481                        setTimeout(() => {
10482                            window.dispatchEvent(
10483                                new CustomEvent('hyva-modal-show', { detail: { dialog: 'related-product-slider-dialog' } })
10484                            );
10485                        }, 2000);
10486                    } else if (cartLink) {
10487                        cartLink.click();
10488                    }
10489                }).catch((error) => {
10490                    typeof window.dispatchMessages !== "undefined" && window.dispatchMessages(
10491                        [{
10492                            type: "error",
10493                            text: error
10494                        }], 5000
10495                    );
10496                }).finally(() => {
10497                    window.dispatchEvent(new CustomEvent('amcart-loading-stop'));
10498                });
10499        };
10500
10501        const getCartAction = function(formNode) {
10502            return formNode.action.includes('updateItemOptions')
10503                ? `UpdateItemOptions`
10504                : 'add';
10505        };
10506
10507        const resultActionResolver = {
10508            /**
10509             * @param {CartResponse} result
10510             */
10511            resolve: function (result) {
10512				
10513				if(typeof result.is_add_to_cart != "undefined"){
10514					var msg = result.message;
10515					/*if($($.parseHTML(result.message)).filter(".message.error").text()){
10516						msg =  $($.parseHTML(result.message)).filter(".message.error").text(); 
10517					}*/
10518
10519                    var parser = new DOMParser();
10520                    var doc = parser.parseFromString(result.message, 'text/html');
10521                    var errorMsg = doc.querySelector('.message.error') ? doc.querySelector('.message.error').textContent : '';
10522
10523                    if (errorMsg) {
10524                        msg = errorMsg;
10525                    }
10526
10527					window.dispatchMessages && window.dispatchMessages([{
10528                        type: 'error',
10529                        text: msg
10530                    }]);
10531					
10532				}
10533                switch (true) {
10534                    case !!result.popup_action:
10535                    var parser = new DOMParser();
10536                    var doc = parser.parseFromString(result.message, 'text/html');
10537                    var errorMsg = doc.querySelector('.message.error') ? doc.querySelector('.message.error').textContent : '';
10538                    if (errorMsg) {
10539                        msg = errorMsg;
10540                        window.dispatchMessages && window.dispatchMessages([{
10541                            type: 'error',
10542                            text: msg
10543                        }]);
10544                    } else {
10545                        window.dispatchEvent(new CustomEvent(result.popup_action, {detail: result}));
10546                        window.dispatchEvent(new CustomEvent('reload-customer-section-data'));
10547
10548                        if (globalActionName == 'UpdateItemOptions') {
10549                           window.location.href = `${BASE_URL}checkout/cart`;
10550                        }
10551                    }
10552                        break;
10553                    case !!result.redirect:
10554                        window.location.href = result.redirect;
10555                        break;
10556                }
10557            }
10558        }
10559
10560        if (document.body.classList.contains('catalog-category-view')) {
10561            hyva.getBrowserStorage().setItem(
10562                'last_category_id',
10563                ''
10564            );
10565        }
10566
10567        const groupedOptions = document.querySelector('div[x-data^=initGroupedOptions]');
10568
10569        if (!!groupedOptions) {
10570            groupedOptions.setAttribute('x-on:amcart-trigger-grouped-form-validate.window', 'validateForm()');
10571        }
10572
10573        window.addEventListener('amcart-add-to-cart-action', addToCartAction);
10574    })();
10575</script>
10575<script>
10576    (function () {
10577        'use strict';
10578
10579        const addToQuoteButtonSelector = '.amquote-addto-button:not(.amasty-quote-login):not(.amasty-quote-link)';
10580        document.querySelectorAll(addToQuoteButtonSelector).forEach((button) => {
10581            if (!button.hasAttribute('x-data')) {
10582                button.setAttribute('x-data', '');
10583            }
10584
10585            button.removeAttribute('@click.prevent');
10586            button.setAttribute(
10587                'x-on:click.prevent',
10588                '$dispatch(\'amcart-add-to-quote-action\', $el)');
10589        });
10590    })();
10591</script>
vendor: 1 bytes, line 10591
10591
10592<script>
10593    (function () {
10594        'use strict';
10595
10596        const addToQuoteAction = ({ detail: element }) => {
10597            const formNode = element.nodeName === 'FORM'
10598                ? element
10599                : element.form ?? element.closest('form');
10600
10601            window.dispatchEvent(new CustomEvent('amcart-trigger-grouped-form-validate'));
10602            if (!formNode || !formNode.checkValidity()) {
10603                return formNode?.reportValidity();
10604            }
10605
10606            performRequest(formNode);
10607        }
10608
10609        const performRequest = (formNode) => {
10610            const url = `${BASE_URL}amasty_cart/quote/${getAction(formNode)}`;
10611            const headers = {
10612                'content-type': 'application/x-www-form-urlencoded; charset=UTF-8'
10613            };
10614            const formData = new FormData(formNode);
10615            const isProductPage = formNode.id === 'product_addtocart_form'
10616                && document.body.classList.contains('catalog-product-view');
10617            formData.set('product_page', isProductPage);
10618            formData.set('last_category_id', hyva.getBrowserStorage().getItem('last_category_id'));
10619            formData.set('id', formData.get('item'));
10620
10621            window.dispatchEvent(new CustomEvent('amcart-loading-start'));
10622            window.dispatchEvent(new CustomEvent('amcart-add-start', { detail: formNode }));
10623
10624            fetch(url, { headers: { ...headers }, body: new URLSearchParams(formData), method: 'POST' })
10625                .then(response => response.json())
10626                .then((result) => {
10627                    switch (true) {
10628                        case !!result.popup_action:
10629                            window.dispatchEvent(new CustomEvent(result.popup_action, { detail: result }));
10630                            window.dispatchEvent(new CustomEvent('reload-customer-section-data'));
10631                            break;
10632                        case !!result.redirect:
10633                            window.location.href = result.redirect;
10634                            break;
10635                    }
10636                }).catch((error) => {
10637                    typeof window.dispatchMessages !== "undefined" && window.dispatchMessages(
10638                        [{
10639                            type: "error",
10640                            text: error
10641                        }], 5000
10642                    );
10643                }).finally(() => {
10644                    window.dispatchEvent(new CustomEvent('amcart-loading-stop'));
10645                });
10646        };
10647
10648        const getAction = (formNode) => {
10649            return (formNode.action.includes('amasty_quote') && formNode.action.includes('updateItemOptions'))
10650                ? 'updateItemOptions'
10651                : 'add';
10652        };
10653
10654        window.addEventListener('amcart-add-to-quote-action', addToQuoteAction);
10655    })();
10656</script>
10656
10657
10658
10659    
10659<script>
10660        'use strict';
10661
10662        (function () {
10663            const initCompareFunctions = ['initCompareOnProductList', 'initCompareOnProductView'];
10664
10665            initCompareFunctions.forEach(compareFunction => {
10666                window[compareFunction] = function () {
10667                    return {
10668                        addToCompare: function (productId) {
10669                            var loader=document.getElementById('loading');
10670                            console.log("11111111");
10671                            loader.style.display='block';
10672                            console.log("Add To compare amasty ajax cart qqqqq");
10673                                                        const postUrl = BASE_URL + 'catalog/product_compare/add/';
10674                            const headers = {
10675                                "content-type": "application/x-www-form-urlencoded; charset=UTF-8",
10676                            };
10677                            const body = new URLSearchParams({
10678                                form_key: hyva.getFormKey(),
10679                                product: productId,
10680                                is_ajax: true
10681                            });
10682
10683                            fetch(postUrl, {headers: headers, body: body, method: 'POST'}).then((response) => {
10684                                                                if (response.redirected) {
10685                                    window.location.href = response.url;
10686                                } else if (response.ok) {
10687                                    window.dispatchEvent(new CustomEvent('reload-customer-section-data'));
10688                                } else {
10689                                    typeof window.dispatchMessages !== "undefined" && window.dispatchMessages(
10690                                        [{
10691                                            type: "warning",
10692                                            text: "Could not add item to the comparison list."
10693                                        }],
10694                                        1000
10695                                    );
10696                                }
10697                            }).catch((error) => {
10698                                typeof window.dispatchMessages !== "undefined" && window.dispatchMessages(
10699                                    [{
10700                                        type: 'error',
10701                                        text: error
10702                                    }],
10703                                    1000
10704                                );
10705                            });
10706                        }
10707                    };
10708                };
10709            });
10710        })();
10711    </script>
10711
10712
10713
10714
10715
10716
10717<section x-data="{isLoading: false}" x-cloak
10718         @amcart-loading-start.window="isLoading = true"
10719         @amcart-loading-stop.window="isLoading = false">
10720    <div class="flex flex-row justify-center items-center w-full h-full fixed select-none z-50"
10721     style="left: 50%;top: 50%;transform: translateX(-50%) translateY(-50%);background: rgba(255,255,255,0.7);"
10722     x-show="isLoading"
10723     x-transition:enter="ease-out duration-200"
10724     x-transition:enter-start="opacity-0"
10725     x-transition:enter-end="opacity-100"
10726     x-transition:leave="ease-in duration-200"
10727     x-transition:leave-start="opacity-100"
10728     x-transition:leave-end="opacity-0">
10729    <!-- By Sam Herbert (@sherb), for everyone. More @ http://goo.gl/7AJzbL -->
10730<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 57 57" stroke="currentColor" class="text-primary" width="57" height="57" role="img">
10731    <g fill="none" fill-rule="evenodd">
10732        <g transform="translate(1 1)" stroke-width="2">
10733            <circle cx="5" cy="50" r="5">
10734                <animate attributeName="cy" begin="0s" dur="2.2s" values="50;5;50;50" calcMode="linear" repeatCount="indefinite"/>
10735                <animate attributeName="cx" begin="0s" dur="2.2s" values="5;27;49;5" calcMode="linear" repeatCount="indefinite"/>
10736            </circle>
10737            <circle cx="27" cy="5" r="5">
10738                <animate attributeName="cy" begin="0s" dur="2.2s" from="5" to="5" values="5;50;50;5" calcMode="linear" repeatCount="indefinite"/>
10739                <animate attributeName="cx" begin="0s" dur="2.2s" from="27" to="27" values="27;49;5;27" calcMode="linear" repeatCount="indefinite"/>
10740            </circle>
10741            <circle cx="49" cy="50" r="5">
10742                <animate attributeName="cy" begin="0s" dur="2.2s" values="50;50;5;50" calcMode="linear" repeatCount="indefinite"/>
10743                <animate attributeName="cx" from="49" to="49" begin="0s" dur="2.2s" values="49;5;27;49" calcMode="linear" repeatCount="indefinite"/>
10744            </circle>
10745        </g>
10746    </g>
10747<title>loader</title></svg>
10748    <div class="ml-10 text-primary text-xl">
10749        Loading...    </div>
10750</div>
10751</section>
10752
10753<div x-data="prDataPrivacyCheckboxDetailModalComponent.create()"
10754     @set-is-show-modal.window="isShowModal = $event.detail"
10755     @keydown.escape="closeModal"
10756>
10757    <div x-ref="pr-data-privacy-checkbox-detail" x-show="isShowModal" x-cloak>
10758        <div class="inset-0 fixed z-50">
10759            <div class="relative z-10 max-w-3xl sm:my-10 ml-10 sm:mx-auto bg-white p-7 h-full max-h-full sm:h-auto sm:max-h-[90%] flex rounded shadow-md"
10760                 x-show="isShowModal" x-transition
10761            >
10762                <span class="absolute top-3 right-3 cursor-pointer hover:text-gray-700 p-1" @click="closeModal">
10763                    <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" width="20" height="20" role="img">
10764  <path fill-rule="evenodd" d="M4.293 4.293a1 1 0 011.414 0L10 8.586l4.293-4.293a1 1 0 111.414 1.414L11.414 10l4.293 4.293a1 1 0 01-1.414 1.414L10 11.414l-4.293 4.293a1 1 0 01-1.414-1.414L8.586 10 4.293 5.707a1 1 0 010-1.414z" clip-rule="evenodd"/>
10765<title>x</title></svg>
10766                </span>
10767                <template x-if="data.checkbox">
10768    <div id="prgdpr-consent-checkboxes-modal" class="flex flex-col">
10769        <div class="modal-header flex flex-col flex-shrink-0 flex-grow-0 mb-5">
10770            <h2 class="text-xl lg:text-2lx pb-3 mb-1 border-container border-b" x-html="data.checkbox.policy.title"></h2>
10771            <a data-contentid="prgdpr-print-content"
10772               class="ml-auto text-sm text-blue-600 hover:underline"
10773               href="#"
10774               @click.prevent="print()"
10775            >
10776                Print            </a>
10777        </div>
10778        <div class="prgdpr-consent-checkboxes-item-content overflow-y-auto mb-5" id="prgdpr-print-content">
10779            <div class="prose max-w-none" x-html="data.checkbox.policy.content"></div>
10780        </div>
10781        <div class="modal-footer flex-shrink-0 flex-grow-0 pt-5 mt-auto border-container border-t">
10782            <button type="button"
10783                    class="action iagree btn btn-primary"
10784                    @click="data.checkbox.checked = data.checkbox.isAlreadyChecked = true;
10784 $dispatch('prgdpr-checkbox-agree', 'checkbox' + data.checkbox.consentId); closeModal();"
10785            >
10786                I agree            </button>
10787        </div>
10788    </div>
10789</template>
10790            </div>
10791
10792            <div class="bg-gray-800 opacity-50 absolute inset-0" @click="closeModal"></div>
10793        </div>
10794    </div>
10795</div>
10796
10797<script>
10798    const prDataPrivacyCheckboxDetailModalComponent = {
10799        data: null,
10800        isShowModal: false,
10801        create: function () {
10802            this.data = Alpine.reactive({checkbox: null});
10803            return this;
10804        },
10805        setCheckbox: function (checkbox) {
10806            this.data.checkbox = checkbox;
10807        },
10808        showModal: function () {
10809            this.isShowModal = true;
10810        },
10811        closeModal() {
10812            this.isShowModal = false;
10813        },
10814        print: function () {
10815            let printWindow = window.open('', 'Print', 'height=600,width=800');
10816            printWindow.document.write(
10817                `<html><head><title>${this.data.checkbox.policy.title}</title></head><body>${this.data.checkbox.policy.content}</body></html`
10818            );
10819            printWindow.document.close();
10820            printWindow.focus();
10821            printWindow.print();
10822            printWindow.onafterprint = function () {
10823                printWindow.close();
10824            };
10825
10826            return true;
10827        }
10828    };
10829</script>
10829
10830
10831<script>
10832    window.addEventListener('load', function () {
10833        magentoStorefrontEvents.context.setPage({
10834            pageType: "MyAccount"
10835        });
10836        magentoStorefrontEvents.context.setContext("pageExtended", {
10837            action: "login"
10838        });
10839        magentoStorefrontEvents.context.setShoppingCart({
10840            id: 0        });
10841    });
10842</script>
vendor: 1 bytes, line 10842
10842
10843<script type="application/ld+json">{"@context":"https:\/\/schema.org","@type":"WebSite","url":"https:\/\/www.flooringinc.com\/","name":"flooringinc","potentialAction":{"@type":"SearchAction","target":"https:\/\/www.flooringinc.com\/catalogsearch\/result\/?q={search_term_string}","query-input":"required name=search_term_string"}}</script>
10843<script type="application/ld+json">{"@context":"https:\/\/schema.org","@type":"Organization","url":"https:\/\/www.flooringinc.com\/","name":"Flooring Inc","logo":" https:\/\/www.flooringinc.com\/media\/logo\/stores\/1\/logo.webp","description":"FlooringInc is your online flooring superstore. We offer wood, laminate, carpet, vinyl, specialty flooring and more.","contactPoint":[{"@type":"ContactPoint","telephone":"(866) 416-6388","contactType":"customer service"}],"address":{"addressCountry":"US","postalCode":"85043","addressRegion":"Arizona","addressLocality":"Phoenix","streetAddress":"2429 S. 51st Ave. Ste 10"},"sameAs":["https:\/\/www.facebook.com\/FlooringInc","https:\/\/www.instagram.com\/flooringinccom\/","https:\/\/www.youtube.com\/user\/flooringincvideos","https:\/\/www.pinterest.com\/flooringinc\/"]}</script>
10843    
10843<script defer src="https://www.dwin1.com/94345.js"></script>
10843
10844    
10845<script  nonce="bDhraW5vaDFjczNyejIwenoxdG1tYm50dzNqb2RqOGY=">
10846    (() => {
10847        const updateSettingBar = () => {
10848            const intervalId = setInterval(() => {
10849                const bar = document.getElementById('pr-cookie-setting-bar');
10850                if (! bar) {
10851                    return;
10852                }
10853
10854                clearInterval(intervalId);
10855                bar.querySelectorAll('input[type="checkbox"], button.action')
10856                    .forEach(el => el.disabled = true);
10857
10858                                    let notification = '\u003Cdiv\u0020class\u003D\u0022pr\u002Dgpc\u002Dnotification\u002Dwrap\u0022\u003E\u000A\u0020\u0020\u0020\u0020\u003Ch2\u003EYour\u0020Opt\u002DOut\u0020Preferences\u0020Honored\u003C\u002Fh2\u003E\u000D\u000A\u003Cp\u003EYour\u0020browser\u0027s\u0020privacy\u0020preference\u0020\u0028GPC\u0029\u0020has\u0020been\u0020detected.\u003C\u002Fp\u003E\u000D\u000A\u003Cp\u0020class\u003D\u0022pr\u002Dgpc\u002Dtext\u002Dwith\u002Dicon\u0022\u003E\u003Cimg\u0020src\u003D\u0022https\u003A\u002F\u002Fwww.flooringinc.com\u002Fstatic\u002Fversion1789462004\u002Ffrontend\u002FDcw\u002Fhyvadesktop\u002Fen_US\u002FPlumrocket_GlobalPrivacyControl\u002Fimages\u002Fcheck_circle.png\u0022\u0020alt\u003D\u0022GPC\u0020Icon\u0022\u0020width\u003D\u002218\u0022\u0020height\u003D\u002218\u0022\u003E\u0020Non\u002Dessential\u0020cookies\u0020have\u0020been\u0020disabled\u0020on\u0020our\u0020website.\u003C\u002Fp\u003E\u000A\u003C\u002Fdiv\u003E';
10859                    bar.querySelector('.pr-cookie-description')
10860                        .insertAdjacentHTML('beforebegin', notification);
10861                            }, 400);
10862        }
10863
10864        prGlobalPrivacyControlApi.signalHandlers.addHandler(updateSettingBar);
10865    })();
10866</script>
vendor: 1 bytes, line 10866
10866
10867<script type="application/json" id="default-section-data">
10868    {"messages":[],"customer":[],"compare-products":[],"last-ordered-items":[],"requisition":[],"cart":[],"directory-data":{"US":{"name":"United States","regions":{"3":{"code":"AL","name":"Alabama"},"6":{"code":"AK","name":"Alaska"},"9":{"code":"AS","name":"American Samoa"},"12":{"code":"AZ","name":"Arizona"},"15":{"code":"AR","name":"Arkansas"},"18":{"code":"AE","name":"Armed Forces Africa"},"21":{"code":"AA","name":"Armed Forces Americas"},"24":{"code":"AE","name":"Armed Forces Canada"},"27":{"code":"AE","name":"Armed Forces Europe"},"30":{"code":"AE","name":"Armed Forces Middle East"},"33":{"code":"AP","name":"Armed Forces Pacific"},"36":{"code":"CA","name":"California"},"39":{"code":"CO","name":"Colorado"},"42":{"code":"CT","name":"Connecticut"},"45":{"code":"DE","name":"Delaware"},"48":{"code":"DC","name":"District of Columbia"},"51":{"code":"FM","name":"Federated States Of Micronesia"},"54":{"code":"FL","name":"Florida"},"57":{"code":"GA","name":"Georgia"},"60":{"code":"GU","name":"Guam"},"63":{"code":"HI","name":"Hawaii"},"66":{"code":"ID","name":"Idaho"},"69":{"code":"IL","name":"Illinois"},"72":{"code":"IN","name":"Indiana"},"75":{"code":"IA","name":"Iowa"},"78":{"code":"KS","name":"Kansas"},"81":{"code":"KY","name":"Kentucky"},"84":{"code":"LA","name":"Louisiana"},"87":{"code":"ME","name":"Maine"},"90":{"code":"MH","name":"Marshall Islands"},"93":{"code":"MD","name":"Maryland"},"96":{"code":"MA","name":"Massachusetts"},"99":{"code":"MI","name":"Michigan"},"102":{"code":"MN","name":"Minnesota"},"105":{"code":"MS","name":"Mississippi"},"108":{"code":"MO","name":"Missouri"},"111":{"code":"MT","name":"Montana"},"114":{"code":"NE","name":"Nebraska"},"117":{"code":"NV","name":"Nevada"},"120":{"code":"NH","name":"New Hampshire"},"123":{"code":"NJ","name":"New Jersey"},"126":{"code":"NM","name":"New Mexico"},"129":{"code":"NY","name":"New York"},"132":{"code":"NC","name":"North Carolina"},"135":{"code":"ND","name":"North Dakota"},"138":{"code":"MP","name":"Northern Mariana Islands"},"141":{"code":"OH","name":"Ohio"},"144":{"code":"OK","name":"Oklahoma"},"147":{"code":"OR","name":"Oregon"},"150":{"code":"PW","name":"Palau"},"153":{"code":"PA","name":"Pennsylvania"},"156":{"code":"PR","name":"Puerto Rico"},"159":{"code":"RI","name":"Rhode Island"},"162":{"code":"SC","name":"South Carolina"},"165":{"code":"SD","name":"South Dakota"},"168":{"code":"TN","name":"Tennessee"},"171":{"code":"TX","name":"Texas"},"174":{"code":"UT","name":"Utah"},"177":{"code":"VT","name":"Vermont"},"180":{"code":"VI","name":"Virgin Islands"},"183":{"code":"VA","name":"Virginia"},"186":{"code":"WA","name":"Washington"},"189":{"code":"WV","name":"West Virginia"},"192":{"code":"WI","name":"Wisconsin"},"195":{"code":"WY","name":"Wyoming"}}},"data_id":1791055646},"captcha":[],"wishlist":{"items":[]},"company":[],"company_authorization":[],"negotiable_quote":[],"instant-purchase":[],"loggedAsCustomer":[],"multiplewishlist":[],"purchase_order":[],"persistent":[],"review":[],"amfacebook-pixel":[],"faq":[],"quotecart":[],"sociallogin":[],"data_privacy":[],"ccpa_data":[],"wp_ga4":[],"recently_viewed_product":[],"recently_compared_product":[],"product_data_storage":[],"paypal-billing-agreement":[]}</script>
10868
10869</div><div x-data="fpcTracking()" x-init="sendRequest()"></div>
10870<script>
10871    function fpcTracking() {
10872        return {
10873            url: 'https://www.flooringinc.com/amasty_fpc/reports/',
10874            sendRequest() {
10875                const ttfb = window.performance.timing.responseStart - window.performance.timing.fetchStart;
10876                fetch(`${this.url}?` + new URLSearchParams({ ttfb }), {
10877                    method: 'GET',
10878                    headers: {
10879                        'Content-Type': 'application/json',
10880                        'X-Requested-With': 'XMLHttpRequest',
10881                    }
10882                })
10883            }
10884        }
10885    }
10886</script>
10886
10887<!-- amasty-fpc-status -->    
10887<script>
10888        const wpGA4ServerSide = {
10889            pushClick: function(productId, listId, listName, index, elm) {
10890                if (elm && elm.hasAttribute('onclick')) {
10891                    var requestUrl = 'https://www.flooringinc.com/weltpixel_ga4/track/productclick/';
10892                    if (productId && listId && listName) {
10893                        fetch(requestUrl, {
10894                            method: 'POST',
10895                            headers: {
10896                                'Content-Type': 'application/x-www-form-urlencoded',
10897                                'X-Requested-With': 'XMLHttpRequest'
10898                            },
10899                            body: 'product_id=' + productId + '&list_id=' + listId +'&list_name=' + listName + '&index=' + index
10900                        })
10901                        .then(res => res.json())
10902                        .then(data => {
10903                        });
10904                    }
10905                }
10906            },
10907
10908            pushViewItemList: function(hashId) {
10909                if (hashId && document.getElementById('wp_ga4_server_side_view_item_list')) {
10910                    var requestUrl = 'https://www.flooringinc.com/weltpixel_ga4/track/viewitemlist/';
10911                    fetch(requestUrl, {
10912                        method: 'POST',
10913                        headers: {
10914                            'Content-Type': 'application/x-www-form-urlencoded',
10915                            'X-Requested-With': 'XMLHttpRequest'
10916                        },
10917
10918                        body: 'hash_id='+hashId
10919                    })
10920                    .then(res => res.json())
10921                    .then(data => {
10922                    });
10923                }
10924            }
10925        };
10926
10927        window.wpGA4ServerSide = wpGA4ServerSide;
10928
10929        let allowGa4Services = window.ga4AllowServices ?? true;
10930
10931        if (allowGa4Services) {
10932            const {fetch: originalFetch} = window;
10933            window.fetch = async (...args) => {
10934                let [resource, config] = args;
10935                let response = await originalFetch(resource, config);
10936
10937                if ((typeof resource == 'string') && resource.search('/customer\/section\/load/') > 0) {
10938                    response.clone().json().then(data => {
10939                        if (data.wp_ga4.datalayer) {
10940                            const dataLayerData = JSON.parse(data.wp_ga4.datalayer);
10941                            dataLayerData.forEach((dataLayerItem) => {
10942                                window.dataLayer.push({ecommerce: null});
10943                                window.dataLayer.push(dataLayerItem);
10944                            });
10945                        }
10946                    });
10947                }
10948                return response;
10949            };
10950        }
10951
10952    </script>
10952
10953    
10953<script>
10954        let allowGa4ServicesMeta = window.ga4AllowServices ?? true;
10955        if (allowGa4ServicesMeta) {
10956            const {fetch: originalFetchMeta} = window;
10957            window.fetch = async (...args) => {
10958                let [resource, config] = args;
10959                let response = await originalFetchMeta(resource, config);
10960
10961                if ((typeof resource == 'string') && resource.search('/customer\/section\/load/') > 0) {
10962                    response.clone().json().then(data => {
10963                        if (data.wp_ga4 && data.wp_ga4.metapixel) {
10964                            const metaPixel = JSON.parse(data.wp_ga4.metapixel);
10965                            for (index in metaPixel) {
10966                                fbq(metaPixel[index].track, metaPixel[index].eventName, metaPixel[index].eventData);
10967                            }
10968                        }
10969                    });
10970                }
10971                return response;
10972            };
10973        }
10974    </script>
vendor: 1 bytes, line 10974
10974
10975<script type="text/javascript">window.NREUM||(NREUM={});NREUM.info={"beacon":"bam.nr-data.net","licenseKey":"NRJS-d3390ca2649c82069a5","applicationID":"1112615138","transactionName":"YwMDN0NXChZSVRBZWlpJIABFXwsLHFURQ0FbCwQRHlcHBlxDCkQaWAkGCl8=","queueTime":0,"applicationTime":565,"atts":"T0QAQQtNGRg=","errorBeacon":"bam.nr-data.net","agent":""}</script>
10975</body>
10976</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.