PageSourceSearch

https://www.flooringinc.com/catalog/product_compare/index/

html flooringinc.com collected 2026-10-03 19:27:17 UTC 835,634 bytes, 10,898 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="Products Comparison List - Flooring Inc. The Flooring Superstore Home Page"/>
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>Products Comparison List - Flooring Inc. The Flooring Superstore Home Page</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="aTE3cXdxdHVzeHVsc3J3aWdpaHdhNHZ0MW4zbWg2OGQ=">
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="aTE3cXdxdHVzeHVsc3J3aWdpaHdhNHZ0MW4zbWg2OGQ=">
67        if (window.ga4AllowServices) {
68            window.dataLayer = window.dataLayer || [];
69                        var dl4Objects = [{"pageName":"Products Comparison List - Flooring Inc. The Flooring Superstore Home Page","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="aTE3cXdxdHVzeHVsc3J3aWdpaHdhNHZ0MW4zbWg2OGQ=" >  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="aTE3cXdxdHVzeHVsc3J3aWdpaHdhNHZ0MW4zbWg2OGQ&#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="aTE3cXdxdHVzeHVsc3J3aWdpaHdhNHZ0MW4zbWg2OGQ&#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="aTE3cXdxdHVzeHVsc3J3aWdpaHdhNHZ0MW4zbWg2OGQ&#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 catalog-product_compare-index 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="aTE3cXdxdHVzeHVsc3J3aWdpaHdhNHZ0MW4zbWg2OGQ=">
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="aTE3cXdxdHVzeHVsc3J3aWdpaHdhNHZ0MW4zbWg2OGQ=">
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="aTE3cXdxdHVzeHVsc3J3aWdpaHdhNHZ0MW4zbWg2OGQ=">
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="aTE3cXdxdHVzeHVsc3J3aWdpaHdhNHZ0MW4zbWg2OGQ=">
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="z9YLjMYHjzlsusrC" />
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=catalog_product_compare_index&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" >Compare Products</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<section>
5686    <div class="container">You have no items to compare.</div>
5687</section>
5688
5689<script>
5690function makeMessagesSticky() {
5691  const header = document.querySelector('#header');
5692  const messages = document.querySelector('.page.messages #messages');
5693  const page = document.querySelector('.page.messages');
5694  //const breadcrumbs = document.querySelector('.breadcrumbs');
5695
5696  const headerRect = header.getBoundingClientRect();
5697  const messagesRect = messages.getBoundingClientRect();
5698  const pageRect = page.getBoundingClientRect();
5699  //const breadcrumbsRect = breadcrumbs.getBoundingClientRect();
5700
5701  const bodyElement = document.querySelector('body');
5702  const isSticky = bodyElement.classList.contains('sticki');
5703
5704  if (isSticky) {
5705    if (pageRect.top <= headerRect.bottom) {
5706        document.querySelector('.catalog-product_compare-index .page.messages #messages').style.position = 'fixed';
5707        document.querySelector('.catalog-product_compare-index .page.messages #messages').style.top = `${headerRect.bottom}px`;
5708        document.querySelector('.catalog-product_compare-index .page.messages #messages').style.width = '100%';
5709    } 
5710    else {
5711        document.querySelector('.catalog-product_compare-index .page.messages #messages').style.position = 'static';
5712        document.querySelector('.catalog-product_compare-index .page.messages #messages').style.top = 'auto';
5713    }
5714  } 
5715  else {
5716    if (breadcrumbsRect.bottom <= 0) {
5717      document.querySelector('.catalog-product_compare-index .page.messages #messages').style.position = 'fixed';
5718      document.querySelector('.catalog-product_compare-index .page.messages #messages').style.top = '0';
5719      document.querySelector('.catalog-product_compare-index .page.messages #messages').style.width = '100%';
5720    } else {
5721      document.querySelector('.catalog-product_compare-index .page.messages #messages').style.position = 'static';
5722      document.querySelector('.catalog-product_compare-index .page.messages #messages').style.top = 'auto';
5723    }
5724  }
5725
5726}
5727window.addEventListener("scroll", function() {
5728    makeMessagesSticky();
5729});
5730</script>
5730    
5731<style>
5732    @media(max-width:1024px){
5733        .catalog-product_compare-index .page.messages .messages.container{position: static !important;}
5734    }
5735</style>
5736<script>
5737    function initCompareOnCompareList() {
5738    return {
5739        removeFromCompare(productId, productName) {
5740            const formKey = hyva.getFormKey();
5741            const postUrl = BASE_URL + 'catalog/product_compare/remove/';
5742            document.getElementById("compareLoading").style.display = "block";
5743            fetch(postUrl, {
5744                "headers": {
5745                    "content-type": "application/x-www-form-urlencoded; charset=UTF-8",
5746                },
5747                "body": "form_key=" + formKey + "&product=" + productId + "&uenc=" + hyva.getUenc(),
5748                "method": "POST",
5749                "mode": "cors",
5750                "credentials": "include"
5751            }).then(function (response) {
5752                document.getElementById("compareLoading").style.display = "none";
5753                var catUrl = document.getElementById("catUrl").value;
5754                if (response.redirected) {
5755                    var length = document.getElementById('compare-item-table').rows[0].cells.length;
5756                    if(length === 3){
5757                        window.location.href = catUrl;
5758                    }else{
5759                        window.location.href = response.url;
5760                    }
5761                } else if (response.ok) {
5762                    return response.json();
5763                } else {
5764                    typeof window.dispatchMessages !== "undefined" && window.dispatchMessages(
5765                        [{
5766                            type: "warning",
5767                            text: "Could not remove item from compare."
5768                        }], 5000
5769                    );
5770                }
5771            }).then(function (response) {
5772                if (!response) { return; }
5773                typeof window.dispatchMessages !== "undefined" && window.dispatchMessages(
5774                    [{
5775                        type: (response.success) ? "success" : "error",
5776                        text: (response.success)
5777                            ? "You removed product %1 from the comparison list".replace('%1', productName)
5778                            : response.error_message
5779                    }], 5000
5780                );
5781                let reloadCustomerDataEvent = new CustomEvent("reload-customer-section-data");
5782                window.dispatchEvent(reloadCustomerDataEvent);
5783            }).catch(function (error) {
5784                typeof window.dispatchMessages !== "undefined" && window.dispatchMessages(
5785                    [{
5786                        type: "error",
5787                        text: error
5788                    }], 5000
5789                );
5790            });
5791        }
5792    };
5793}
5794</script>
5794 
5794<script nonce="aTE3cXdxdHVzeHVsc3J3aWdpaHdhNHZ0MW4zbWg2OGQ=">
5795    function hasWebP() {
5796        var elem = document.createElement('canvas');
5797
5798        if (!!(elem.getContext && elem.getContext('2d'))) {
5799            return elem.toDataURL('image/webp').indexOf('data:image/webp') === 0;
5800        }
5801        return false;
5802    }
5803
5804    if (hasWebP()) {
5805        document.body.classList.add("webp");
5806    } else {
5807        document.body.classList.add("no-webp");
5808    }</script>
5808</div></div></main><footer class="page-footer"><div class="footer content">
5809<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>
5810<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>
5811<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>
5812<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">
5812<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>
5813<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>
5814</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">
5815    <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>
5816<li style="line-height: 10px;"><a id="T6SH02B" tabindex="0" href="/contact">Contact Us</a></li>
5817<li style="line-height: 10px;"><a tabindex="0" href="/about">About Us</a></li>
5818<li style="line-height: 10px;"><a id="EHRBRCU" tabindex="0" href="/careers">Careers</a></li>
5819<li style="line-height: 10px;"><a tabindex="0" href="/privacy-policy">Privacy Policy</a></li>
5820<li style="line-height: 10px;"><a tabindex="0" href="/affirm">Affirm</a></li>
5821<li style="line-height: 10px;"><a tabindex="0" href="/our-commitment-accessibility">Accessibility</a></li>
5822<li style="line-height: 10px;"><a tabindex="0" href="/terms-and-conditions">Terms &amp; Conditions</a></li>
5823</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>
5824<li><a tabindex="0" href="/shipping-info">Shipping</a></li>
5825<li><a id="ER5IYQ2" tabindex="0" href="/sales/guest/form">Track Order</a></li>
5826<li><a tabindex="0" href="/returns-exchanges">Returns &amp; Exchanges</a></li>
5827<li><a tabindex="0" href="/moneybackguarantee">Money Back Guarantee</a></li>
5828<li id="W8TRHHE"><a tabindex="0" href="/pro-advantage">Pro Advantage</a></li>
5829<li><a href="/dor-sites">Sales &amp; Use Tax</a></li>
5830</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>
5831<li><a tabindex="0" href="/knowledge-base">FAQs</a></li>
5832<li><a tabindex="0" href="/sample-request">Samples</a></li>
5833<li><a tabindex="0" href="https://flooringinc.cashstar.com/store/recipient?locale=en-us">Gift Cards</a></li>
5834<li><a href="/promotions-disclaimer">Promotions</a></li>
5835</ul></div></div></div></div></div></div></div>
5836</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">
5837    <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">
5838    <form class="form subscribe" action="https://www.flooringinc.com/newsletter/subscriber/new/" method="post" x-data="initNewsletterForm()" @submit.prevent="submitForm(
5838)" id="newsletter-validate-detail">
5839        <div class="mb-3 text-sm font-medium tracking-widest text-gray-900 uppercase title-font">
5840            <h4 class="text-lg font-medium text-black mb-1 capitalize">Get Ready To Be Floored!</h4>
5841            <p calss="sub_heading capitalize">Join our insider's club</p>
5842        </div>
5843        <div class="flex flex-wrap justify-center gap-2 md:justify-start">
5844            <label for="newsletter-subscribe" class="sr-only">
5845                Email Address            </label>
5846            <input name="email" type="email" required id="newsletter-subscribe" class="form-input inline-flex w-full" placeholder="Enter email address">
5847            <input name="form_key" type="hidden" value="z9YLjMYHjzlsusrC">                        <button class="btn btn-primary">
5848                Subscribe Now            </button>
5849        </div>
5850        <div>
5851            <template x-if="displayErrorMessage">
5852                <p class="flex items-center text-red">
5853                    <span class="inline-block w-8 h-8 mr-3">
5854                        <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">
5855  <path stroke-linecap="round" stroke-linejoin="round" d="M12 8v4m0 4h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z"></path>
5856<title>exclamation-circle</title></svg>
5857                    </span>
5858                    <template x-for="errorMessage in errorMessages">
5859                        <span x-html="errorMessage"></span>
5860                    </template>
5861                </p>
5862            </template>
5863        </div>
5864    </form>
5865    <div class="w-full">
5866            </div>
5867    
5867<script>
5868        function initNewsletterForm() {
5869            return {
5870                errors: 0,
5871                hasCaptchaToken: 0,
5872                displayErrorMessage: false,
5873                errorMessages: [],
5874                setErrorMessages(messages) {
5875                    this.errorMessages = [messages]
5876                    this.displayErrorMessage = this.errorMessages.length
5877                },
5878                submitForm() {
5879                    // Do not rename $form, the variable is expected to be declared in the recaptcha output
5880                    const $form = document.querySelector('#newsletter-validate-detail');
5881                    
5882                    if (this.errors === 0) {
5883                        $form.submit();
5884                    }
5885                }
5886            }
5887        }
5888    </script>
5888
5889</div>
5890
5891<div class="pr-4 lg:w-1/4 md:w-1/2">
5892
5893</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>
5894</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">
5895    <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>
5896<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>
5897<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>
5898</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>
5899<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>
5900<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>
5901<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>
5902<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>
5903<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>
5904<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>
5905<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>
5906</ul></div></div></div></div><div data-content-type="html" data-appearance="default" data-element="main" data-decoded="true"><style>
5907.checkout-cart-index .summary-cart .cart-discount{display:block;}
5908.page-with-filter .products.wrapper.mode-list.products-list .item.product .catergory_slider_content .compare-buttons .compare-buttons-mobile{order:2;}
5909.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;}
5910@media(min-width:1280px){.mega_menu_banner img{max-width: 239px !important;}}
5911.cms-home .catergory_slider_content .product-item-link{font-size: .875rem;line-height: 1.313rem;}
5912@media(min-width: 768px){
5913.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);}
5913.catergory_slider_content .compare-buttons .orderSampleContent{order:3;}
5914.catergory_slider_content .compare-buttons .ship-fax-plp .ship-iconsada{display: block;}
5915.page-products #maincontent .products.mode-grid .catergory_slider_content .compare-buttons .orderSampleContent{order: 3;}
5916   .category_banner .pagebuilder-column-group .pagebuilder-column-line .pagebuilder-column figure picture{height: 100% !important;object-fit:cover;}
5917[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;}
5918.cms-home [data-content-type=products][data-appearance=carousel] [data-role=glider-content] .item.product:not(.glider-slide){min-width: 370px;}
5919[data-content-type=products][data-appearance=carousel] [data-role=glider-content]:not(.glider)::-webkit-scrollbar{width: 10px;}
5920[data-content-type=products][data-appearance=carousel] [data-role=glider-content]:not(.glider)::-webkit-scrollbar-track {background: #ffffff !important;}
5921[data-content-type=products][data-appearance=carousel] [data-role=glider-content]:not(.glider)::-webkit-scrollbar-thumb {background: #ffffff !important;}
5922}
5923@media(min-width: 768px){
5924  .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;}
5925  .featured_partners .swiper-container:not(.swiper-initialized) .swiper-slide{width: 16%;}
5926  .featured_partners .swiper-container:not(.swiper-initialized)::-webkit-scrollbar{width: 10px;}
5927  .featured_partners .swiper-container:not(.swiper-initialized)::-webkit-scrollbar-track {background: #ffffff !important;}
5928  .featured_partners .swiper-container:not(.swiper-initialized)::-webkit-scrollbar-thumb {background: #ffffff !important;}
5929  .featured_partners .swiper-container:not(.swiper-initialized)::-webkit-scrollbar-thumb:hover {background: #ffffff !important;}
5930}
5931@media(max-width:767px){.page-products #maincontent .toolbar.toolbar-products .pages-items{justify-content: center;gap: 10px;box-shadow: none;}}
5932</style></div></div>
5933</div></div></div></div><div data-content-type="html" data-appearance="default" data-element="main" data-decoded="true">
5933<script>
5934    document.addEventListener('DOMContentLoaded', function () {
5935        const gallery = document.querySelector('#gallery');
5936        const header = document.querySelector('#header');
5937        if (!gallery || !header) return;
5938        const stickyTop = header.offsetHeight;
5939        // parent/container where sticky should stop
5940        const parent = gallery.parentElement;
5941        function checkSticky() {
5942            const rect = gallery.getBoundingClientRect();
5943            const parentRect = parent.getBoundingClientRect();
5944            // sticky active only while parent still has space
5945            const isSticky =
5946                rect.top <= stickyTop &&
5947                parentRect.bottom > rect.height + stickyTop;
5948            document.body.classList.toggle('gallery-sticky', isSticky);
5949        }
5950        checkSticky();
5951        window.addEventListener('scroll', checkSticky);
5952        window.addEventListener('resize', checkSticky);
5953    });
5954</script>
5954
5955<style>
5956@media (min-width: 1200px) {
5957    .megamenu_items:hover>.megamenu {
5958        max-width: 1440px;
5959    }
5960}
5961.products__recommendations .products_slider .catergory_slider_content .color_counts{margin-bottom: 15px;}
5962html.order_active .page-header #header{z-index: -1;}
5963html.order_active{overflow: hidden !important;}
5964@media(min-width: 768px){.checkout-cart-index #shopping-cart-table .cart.item .item-info td{flex-wrap: nowrap;}}
5965</style>
5966<style>
5967.cms-home .order-free-sample-popup{display: none;}
5968.cms-home.order_active .order-free-sample-popup{display: flex;}
5969@media(min-width:768px){
5970.page-with-filter .widget-product-carousel .catergory_slider_content .compare-buttons{flex-wrap: wrap;}
5971.page-with-filter .widget-product-carousel .catergory_slider_content .compare-buttons .ship-fax-plp{order:1;}
5972.page-with-filter .widget-product-carousel .catergory_slider_content .compare-buttons .compare-buttons-mobile{width: 100%;order: 2;display: flex;justify-content: space-between;}
5973.page-with-filter .widget-product-carousel .catergory_slider_content .compare-buttons .orderSampleContent .order_btn{margin-top: 10px;}
5974.page-with-filter .widget-product-carousel .catergory_slider_content .compare-buttons{border-top: 0px;padding-top:0px;margin-top: 0px;}
5975.catalog-product-view .products_slider .compare-buttons .qty_fields .btn_cart{width:110px}
5976}
5977@media(max-width:767px){
5978.page-with-filter .widget-product-carousel .catergory_slider_content .compare-buttons{flex-wrap: wrap;}
5979.page-with-filter .widget-product-carousel .catergory_slider_content .compare-buttons .ship-fax-plp{order:1;width: 100%;}
5980.page-with-filter .widget-product-carousel .catergory_slider_content .compare-buttons .compareBtn{order:2;justify-content: flex-start;width: auto;margin-top: 10px;}
5981.page-with-filter .widget-product-carousel .catergory_slider_content .compare-buttons .orderSampleContent{order:3;margin-top: 10px;}
5982.page-with-filter .widget-product-carousel .catergory_slider_content .compare-buttons .compare-buttons-mobile{order:2;width: 100%;display: flex;justify-content: space-between;}
5983}
5984#related_cart_slider .js_slides{margin-right: 0;margin-left: 0;}
5985@media (min-width: 1024px) {
5986.container {
5987    max-width: 1440px !important;
5988}
5989}
5990.page-with-filter .product-item .product-info .price-box .price-container .price-wrapper span.price{font-size: 20px !important;color: #1e1e1e !important;}
5991.page-with-filter .product-item .product-info .price-box .price-container .price-wrapper{font-size: 20px !important;line-height: 20px !important}
5992.brand_logo_listpage img, div.brand_logo_listpage img{max-width:100px}
5993.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;}
5994
5995.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;}
5996
5997@media(max-width: 767px){
5998   .related_products_list_view .glider-track{width: 100% !important;flex-wrap: nowrap;align-items: flex-start;}
5999   .related_products_list_view .related_products_list_view_content{width: 100% !important;min-width: 280px;max-width: 280px;}
6000}
6001
6002.dcw-share-cart .space-y-4>:not([hidden])~:not([hidden]) {
6003    --tw-space-y-reverse: 0;
6004    margin-top: calc(1rem * (1 - var(--tw-space-y-reverse)));
6005    margin-bottom: calc(1rem * var(--tw-space-y-reverse));
6006}
6007.dcw-share-cart .bg-black\/50 {
6008    background-color: #00000080;
6009}
6010.dcw-share-cart .z-\[999\] {
6011    z-index: 999;
6012}
6013</style></div></div>
6014<script>
6015    window.addEventListener('init-external-scripts', () => {
6016        const klaviyoScript = document.createElement('script');
6017        klaviyoScript.src = '//static.klaviyo.com/onsite/js/klaviyo.js?company_id=WAwVDg';
6018        klaviyoScript.type = 'text/javascript';
6019        klaviyoScript.async = true;
6020        document.head.append(klaviyoScript);
6021    }, {once: true, passive: true});
6022</script>
vendor: 1 bytes, line 6022
6022
6023<script>
6024    document.addEventListener('DOMContentLoaded', function() {
6025        const buttons = document.querySelectorAll('.cms-home .order_btn');
6026        buttons.forEach(button => {
6027            button.addEventListener('click', function() {
6028                const modal = this.closest('.orderSampleContent').querySelector('.order-free-sample-popup');
6029                if (modal) {
6030                    modal.style.display = 'block';
6031                }
6032            });
6033        });
6034
6035        // Handle closing the modal
6036        document.querySelectorAll('.cms-home .order-free-sample-popup .closemodal').forEach(closeBtn => {
6037            closeBtn.addEventListener('click', function() {
6038                const modal = this.closest('.order-free-sample-popup');
6039                if (modal) {
6040                    modal.style.display = 'none';
6041                }
6042            });
6043        });
6044    });
6045</script>
6045
6046
6047<script>
6048    document.addEventListener('DOMContentLoaded', function () {
6049        function updateRatingsClass(ratingEl) {
6050            const hasReviews = ratingEl.querySelector('.bv_numReviews_component_container');
6051            ratingEl.classList.toggle('no-reviews', !hasReviews);
6052        }
6053        document.querySelectorAll('.ratings').forEach(ratingEl => {        
6054            updateRatingsClass(ratingEl);        
6055            const observer = new MutationObserver(() => {
6056                updateRatingsClass(ratingEl);
6057            });
6058            observer.observe(ratingEl, {
6059                childList: true,
6060                subtree: true
6061            });
6062        });
6063    });
6064</script>
6064
6065
6066<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'"/>
6067<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'"/>
6068<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'"/>
6069<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'"/>
6070<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'"/>
6071<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'"/>
6072<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'"/>
6073<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'"/>
6074<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'"/>
6075<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>
6076<script>
6077    function dataServicesShoppingCartContextData()
6078    {
6079        return {
6080            initContext(cartData) {
6081                let contextCartItems = [];
6082
6083                cartData.items.forEach(function (item){
6084                    contextCartItems.push({
6085                        id: item.item_id,
6086                        formattedPrice: parseFloat(item.product_price_value ? item.product_price_value : 0),
6087                        quantity: item.qty,
6088                        product: {
6089                            productType: item.product_type,
6090                            productId: item.product_id,
6091                            name: item.product_name,
6092                            sku: item.product_sku,
6093                            mainImageUrl : item.product_image.src
6094                        },
6095                        prices: {
6096                            price: {
6097                                value: parseFloat(item.product_price_value ? item.product_price_value : 0)
6098                            }
6099                        }
6100                    })
6101                });
6102
6103                magentoStorefrontEvents.context.setShoppingCart({
6104                    id: cartData.dsCartId,
6105                    totalQuantity: cartData.summary_count,
6106                    prices: {
6107                        subtotalExcludingTax: {
6108                            value: parseFloat(cartData.subtotalAmountExclTax ? cartData.subtotalAmountExclTax : 0)
6109                        },
6110                        subtotalIncludingTax: {
6111                            value: parseFloat(cartData.subtotalAmount ? cartData.subtotalAmount : 0)
6112                        }
6113                    },
6114                    items: contextCartItems,
6115                    possibleOnepageCheckout: cartData.possible_onepage_checkout,
6116                    giftMessageSelected : false,
6117                    giftWrappingSelected : false
6118                });
6119
6120                window.dispatchEvent(new Event("shoppingCartContextSet"));
6121            }
6122        }
6123    }
6124</script>
6124
6125<div x-data="dataServicesShoppingCartContextData()"
6126     @private-content-loaded.window="initContext($event.detail.data.cart)"></div>
6127
6128    
6129<script>
6130    (function () {
6131        'use strict';
6132
6133        /**
6134         * Config to determine which element is responsible for the form submission
6135         *
6136         * @type {[{elementSelector: undefined|string, submitAttribute: string}]}
6137         */
6138        const formWrapperConfig = [{"elementSelector":null,"submitAttribute":"submit"},{"elementSelector":"[type=\"submit\"]","submitAttribute":"click"}];
6139
6140        /**
6141         * Replace protected forms submit with amRecaptchaModel.execute($event) method.
6142         * Call original submit on amrecaptcha-callback event after successful captcha validation.
6143         *
6144         * @return {void}
6145         */
6146        const wrapFormSubmit = function () {
6147            document.addEventListener("DOMContentLoaded", function () {
6148                const formsSelector = window.amRecaptchaModel?.formsToProtect || '';
6149                if (formsSelector.length === 0) {
6150                    return;
6151                }
6152
6153                document.querySelectorAll(formsSelector)?.forEach(formElement => {
6154                    if (!formElement) {
6155                        return;
6156                    }
6157
6158                    const { elementToWrap, attributeNameToWrap } = resolveElementWrapping(formElement);
6159                    if (!elementToWrap || !attributeNameToWrap) {
6160                        return;
6161                    }
6162
6163                    setElementAttributes(formElement, elementToWrap, attributeNameToWrap);
6164                });
6165            });
6166        };
6167
6168        /**
6169         * Find submit event and DOM element that has this event using formWrapperConfig.
6170         *
6171         * @param {HTMLElement} formElement
6172         * @return {{elementToWrap: undefined|string, attributeNameToWrap: undefined|string}}
6173         */
6174        const resolveElementWrapping = function (formElement) {
6175            let result = {
6176                elementToWrap: undefined,
6177                attributeNameToWrap: undefined
6178            };
6179
6180            formWrapperConfig.forEach(({ elementSelector, submitAttribute }) => {
6181                const elementToWrap = !!elementSelector ? formElement.querySelector(elementSelector) : formElement;
6182                if (!elementToWrap) {
6183                    return;
6184                }
6185
6186                const attributeNameToWrap = elementToWrap.getAttributeNames().find(
6187                    (elementAttribute) => {
6188                        /** @type {string[]} */
6189                        const submitAttributeVariations = ['@', 'x-on:'].map(variation => variation + submitAttribute);
6190
6191                        return submitAttributeVariations.some(
6192                            (submitAttributeVariation) => elementAttribute.startsWith(submitAttributeVariation)
6193                        )
6194                    }
6195                );
6196                if (!attributeNameToWrap) {
6197                    return;
6198                }
6199
6200                result.elementToWrap = elementToWrap;
6201                result.attributeNameToWrap = attributeNameToWrap;
6202            });
6203
6204            return result;
6205        }
6206
6207        /**
6208         *  Set attribute to wrap original submit, add eventListeners for captcha callbacks
6209         *
6210         * @param {HTMLElement} formElement
6211         * @param {HTMLElement} elementToWrap
6212         * @param {string} attributeNameToWrap
6213         */
6214        const setElementAttributes = function (formElement, elementToWrap, attributeNameToWrap) {
6215            const originalSubmit = elementToWrap.getAttribute(attributeNameToWrap);
6216            elementToWrap.removeAttribute(attributeNameToWrap);
6217
6218            /**
6219             * To properly set submit attribute - we need to replace '@' with 'x-on:'
6220             * and add preventDefault behaviour
6221             */
6222            elementToWrap.setAttribute(
6223                attributeNameToWrap.replace(/^@/, 'x-on:').replace(/.prevent$/, '') + '.prevent',
6224                'amRecaptchaModel.execute($event)'
6225            );
6226            elementToWrap.setAttribute(
6227                'x-on:amrecaptcha-executable-callback',
6228                originalSubmit
6229            );
6230        }
6231
6232        wrapFormSubmit();
6233    })(window.amRecaptchaModel = window.amRecaptchaModel || {});
6234</script>
6234
6235
6236<script>
6237    function initAuthenticationBss() {
6238        return {
6239            open: false,
6240            openLogin : false,
6241            openRegister : false,
6242            openForgot : false,
6243            openCreate : true,
6244            passwordsMatching: true,
6245            openMessage: false,
6246            errors: 0,
6247            message: "",
6248            hasCaptchaToken: 0,
6249            openButtonLogin : false,
6250            openButtonRegister : false,
6251            openSuccessMessage : false,
6252            checkUseReCaptcha: 1,
6253            recaptchaLoading: null,
6254            initSocial() {
6255                if (!this.checkUseReCaptcha) {
6256                    return Promise.resolve();
6257                }
6258                if (this.recaptchaLoading) {
6259                    return this.recaptchaLoading;
6260                }
6261                if (typeof window.grecaptcha !== 'undefined') {
6262                    this.recaptchaLoading = Promise.resolve();
6263                    return this.recaptchaLoading;
6264                }
6265                this.recaptchaLoading = new Promise((resolve, reject) => {
6266                    const recaptchaUrl = `https://www.google.com/recaptcha/api.js?render=6LdQFsgqAAAAAFaiT_SQ7C9UmCcxWxpMd6pIMAEO&hl=en`;
6267                    const script = document.createElement('script');
6268                    script.setAttribute('type', 'text/javascript');
6269                    script.setAttribute('src', recaptchaUrl);
6270                    script.onload = () => resolve();
6271                    script.onerror = () => reject(new Error('Failed to load reCAPTCHA'));
6272                    document.head.appendChild(script);
6273                });
6274                return this.recaptchaLoading;
6275            },
6276            loadRecaptchaOnInteraction() {
6277                if (!this.checkUseReCaptcha) {
6278                    return;
6279                }
6280                // Avoid scroll/mousemove/wheel — they fire on load / DevTools / trackpads.
6281                const events = ['pointerdown', 'keydown', 'touchstart'];
6282                const load = () => {
6283                    events.forEach((eventName) => {
6284                        window.removeEventListener(eventName, load, { capture: true });
6285                    });
6286                    this.initSocial();
6287                };
6288                events.forEach((eventName) => {
6289                    window.addEventListener(eventName, load, { once: true, passive: true, capture: true });
6290                });
6291            },
6292            checkPasswordsMatch() {
6293                if (document.getElementById('password').value ===
6294                    document.getElementById('password-confirmation').value) {
6295                    this.passwordsMatching = true;
6296                    return true;
6297                }
6298                this.passwordsMatching = false;
6299                return false;
6300            },
6301            submitForm: function () {
6302                const $form = document.querySelector('#login-form');
6303                if (this.errors === 0) {
6304                    this.dispatchLoginRequest($form);
6305                }
6306            },
6307            submitForgotForm : function () {
6308                const $form = document.querySelector('#fotgot-form');
6309                if (this.errors === 0) {
6310                    this.dispatchForgotRequest($form);
6311                }
6312            },
6313            submitRegisterForm : function () {
6314                const $form = document.querySelector('#create-form');
6315                if (this.errors === 0) {
6316                    this.dispatchRegisterRequest($form);
6317                }
6318            },
6319            validateCaptcha : async function () {
6320                await this.initSocial();
6321                return new Promise((resolve, reject) => {
6322                    if (typeof window.grecaptcha === 'undefined') {
6323                        return reject(new Error('reCAPTCHA is not available'));
6324                    }
6325                    grecaptcha.ready(function () {
6326                        grecaptcha.execute('6LdQFsgqAAAAAFaiT_SQ7C9UmCcxWxpMd6pIMAEO', {action: 'submit'}).then(function (token) {
6327                            return resolve(token);
6328                        }).catch(reject);
6329                    });
6330                });
6331            },
6332            dispatchLoginRequest:async function (form) {
6333                if (this.checkUseReCaptcha) {
6334                    let token = await this.validateCaptcha();
6335                    if(token)
6336                    {
6337                        document.getElementById("g-recaptcha-response").setAttribute('value',token);
6338                    }
6339                }
6340                const username = this.$refs['customer-email'].value;
6341                const password = this.$refs['customer-password'].value;
6342                const recaptchaValue = document.getElementById("g-recaptcha-response").value;
6343                const postUrl = "https://www.flooringinc.com/sociallogin/popup/login/";
6344                fetch(postUrl, {
6345                    headers: {
6346                        contentType: "application/x-www-form-urlencoded; charset=UTF-8",
6347                    },
6348                    body: new URLSearchParams({
6349                        username: username,
6350                        password: password,
6351                        ['g-recaptcha-response']: recaptchaValue,
6352                        form_key: hyva.getFormKey(),
6353                    }),
6354                    method: "POST",
6355                    mode: "cors",
6356                    credentials: "include",
6357                }).then(response => {
6358                        return response.json()
6359                    }
6360                ).then(data => {
6361                    this.isLoading = false;
6362                    if (data.error) {
6363                        this.message = data.message;
6364                        this.openMessage = true;
6365                        this.errors = 1;
6366                        this.hasCaptchaToken = 0;
6367                    } else {
6368                        this.message = data.message;
6369                        this.openMessage = false;
6370                        this.openSuccessMessage = true;
6371                        if (data.redirect !== '' && data.redirect != null) {
6372                            window.location.href = data.redirect;
6373                        } else {
6374                            location.reload(true);
6375                        }
6376                    }
6377                });
6378            },
6379            dispatchForgotRequest:async function (form) {
6380                if (this.checkUseReCaptcha) {
6381                    let token = await this.validateCaptcha();
6382                    if(token)
6383                    {
6384                        document.getElementById("g-recaptcha-response").setAttribute('value',token);
6385                    }
6386                }
6387                const email = form.querySelector("#email_address").value;
6388                const recaptchaValue = document.getElementById("g-recaptcha-response").value;
6389                const postUrl = "https://www.flooringinc.com/sociallogin/popup/forgot/";
6390                fetch(postUrl, {
6391                    headers: {
6392                        contentType: "application/x-www-form-urlencoded; charset=UTF-8",
6393                    },
6394                    body: new URLSearchParams({
6395                        email: email,
6396                        ['g-recaptcha-response']: recaptchaValue,
6397                        form_key: hyva.getFormKey(),
6398                    }),
6399                    method: "POST",
6400                    mode: "cors",
6401                    credentials: "include",
6402                }).then(response => {
6403                        return response.json()
6404                    }
6405                ).then(data => {
6406                    this.isLoading = false;
6407                    if (data.error) {
6408                        this.message = data.message;
6409                        this.openMessage = true;
6410                        this.errors = 1;
6411                        this.hasCaptchaToken = 0;
6412                    } else {
6413                        if (data.redirect !== '' && data.redirect != null) {
6414                            window.location.href = data.redirect;
6415                        } else {
6416                            location.reload(true);
6417                        }
6418                    }
6419                });
6420            },
6421            dispatchRegisterRequest:async function (form) {
6422                if (this.checkUseReCaptcha) {
6423                    let token = await this.validateCaptcha();
6424                    if(token)
6425                    {
6426                        document.getElementById("g-recaptcha-response").setAttribute('value',token);
6427                    }
6428                }
6429                const firstname = form.querySelector("#firstname").value;
6430                const lastname = form.querySelector("#lastname").value;
6431                const email = form.querySelector("#email_address").value;
6432                const password = form.querySelector("#password").value;
6433                const passwordConfirmation = form.querySelector("#password-confirmation").value;
6434                const recaptchaValue = document.getElementById("g-recaptcha-response").value;
6435                const postUrl = "https://www.flooringinc.com/sociallogin/popup/create/";
6436                fetch(postUrl, {
6437                    headers: {
6438                        contentType: "application/x-www-form-urlencoded; charset=UTF-8",
6439                    },
6440                    body: new URLSearchParams({
6441                        ['g-recaptcha-response']: recaptchaValue,
6442                        firstname: firstname,
6443                        lastname: lastname,
6444                        email: email,
6445                        password: password,
6446                        password_confirmation: passwordConfirmation,
6447                        form_key: hyva.getFormKey(),
6448                    }),
6449                    method: "POST",
6450                    mode: "cors",
6451                    credentials: "include",
6452                }).then(response => {
6453                        return response.json()
6454                    }
6455                ).then(data => {
6456                    this.isLoading = false;
6457                    if (data.error) {
6458                        this.message = data.message;
6459                        this.openMessage = true;
6460                        this.hasCaptchaToken = 0;
6461                    } else {
6462                        this.message = data.message;
6463                        this.openMessage = false;
6464                        this.openSuccessMessage = true;
6465                        if (data.redirect !== '' && data.redirect != null) {
6466                            window.location.href = data.redirect;
6467                        } else {
6468                            location.reload(true);
6469                        }
6470                    }
6471                });
6472            },
6473            eventListeners: {
6474                ['@popup-register.window']($event) {
6475                    this.open = true;
6476                    this.openRegister = $event.detail.openRegister;
6477                    this.openLogin = $event.detail.openLogin;
6478                    this.openCreate = $event.detail.openCreate;
6479                    this.openButtonLogin = $event.detail.openButtonLogin;
6480                    this.openButtonRegister = $event.detail.openButtonRegister;
6481                    this.initSocial();
6482                }
6483            }
6484        }
6485    }
6486</script>
6486
6487
6488<section id="authentication-popup-bss"
6489         x-data="initAuthenticationBss()" x-init="loadRecaptchaOnInteraction()"
6490         @keydown.window.escape="open = false"
6491<div role="dialog"
6492     aria-modal="true"
6493     class="hidden inset-y-0 right-0 z-30 flex max-w-full"
6494     :class="{ 'hidden': !open, 'fixed': open }"
6495     x-bind="eventListeners"
6496>
6497    <div class="relative bg-container-lighter bss_login_popup"
6498         x-show="open"
6499         @click.outside="open = false"
6500         x-transition:enter="transform transition ease-in-out duration-500 sm:duration-700"
6501         x-transition:enter-start="translate-x-full"
6502         x-transition:enter-end="translate-x-0"
6503         x-transition:leave="transform transition ease-in-out duration-500 sm:duration-700"
6504         x-transition:leave-start="translate-x-0"
6505         x-transition:leave-end="translate-x-full"
6506    >
6507        <div
6508            x-show="open"
6509            x-transition:enter="ease-in-out duration-500"
6510            x-transition:enter-start="opacity-0"
6511            x-transition:enter-end="opacity-100"
6512            x-transition:leave="ease-in-out duration-500"
6513            x-transition:leave-start="opacity-100"
6514            x-transition:leave-end="opacity-0" class="absolute flex close_icon" style="width: 11px;height: 11px;background: transparent;">
6515            <button @click="open = false;" aria-label="Close panel"
6516                    class="transition duration-150 ease-in-out text-black cursor-pointer">
6517                <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>
6518            </button>
6519        </div>
6520        <div class="flex h-full flex-col bss_login_popup_in overflow-y-auto" >
6521            <div class="message mx-4 message-error" x-show="openMessage">
6522                <div>
6523                    <span x-html="message"></span>
6524                </div>
6525                <div class="cursor-pointer" title="close" @click="openMessage = false">
6526                    <svg class="fill-current text-white" xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 18 18">
6527                        <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
6528                                                4.47 1.06 1.06L9 10.06l4.47 4.47 1.06-1.06L10.06 9z">
6529                        </path>
6530                    </svg>
6531                </div>
6532            </div>
6533            <div class="message mx-4 message-error success" x-show="openSuccessMessage">
6534                <div>
6535                    <span x-html="message"></span>
6536                </div>
6537                <div class="cursor-pointer" title="close" @click="openSuccessMessage = false">
6538                    <svg class="fill-current text-white" xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 18 18">
6539                        <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
6540                                                4.47 1.06 1.06L9 10.06l4.47 4.47 1.06-1.06L10.06 9z">
6541                        </path>
6542                    </svg>
6543                </div>
6544            </div>
6545                        <div class="block-customer-login for_got" x-show="openForgot">
6546    <h2 id="authenticate-customer-login" class="text-size18 font-medium text-darkblack">
6547        Forgot Password    </h2>
6548    <form class="form form-fotgotpassword"
6549          method="post"
6550          @submit.prevent="submitForgotForm();"
6551          id="fotgot-form">
6552        <fieldset class="fieldset">
6553            <div class="text-size14 font-normal text-black mb-4">Please enter your email address below to receive a password reset link.</div>
6554            <div class="field email required">
6555                <label for="email_address" class="label"><span>Email</span></label>
6556                <div class="control">
6557                    <input type="email" name="email" alt="email" id="email_address" class="form-input" required
6558                           value="">
6559                </div>
6560            </div>
6561        </fieldset>
6562        <div class="actions-toolbar">
6563            <div class="primary">
6564                <button type="submit" class="action submit primary"><span>Reset My Password</span></button>
6565            </div>
6566            <div class="secondary ml-4 self-center">
6567                <a class="action back cursor-pointer"
6568                   @click ="openForgot = false,openLogin = true,
6569                   openButtonLogin = true"
6570                >
6571                    <span class="text-size14 font-medium text-black">
6572                        Back                    </span>
6573                </a>
6574            </div>
6575        </div>
6576    </form>
6577</div>
6578
6579
6580            
6581            <div class="w-full">
6582                <input id="g-recaptcha-response" type="hidden" value=""/>
6583            </div>
6584            <div class="block-new-customer social_login"
6585                 x-show="openButtonLogin">
6586                <h2 id="authenticate-new-customer" class="text-size18 font-semibold text-darkblack">
6587                    Log In                </h2>
6588                <div class="block-content">
6589                                                <div id="add_button_login_byclass" x-data="bssButtonSocial()" x-ref="registerSocialButton">
6590                                <div class="">
6591                                    <div class="sociallogin-buttons" x-ref="loginSocialButton">
6592                                        <ul class="sociallogin-clearfix flex flex-wrap">
6593                                                                                            <li class="w-full text-size14 font-medium text-darkblack relative sociallogin-button
6594                                                    googleplus"  title="Login with Google">
6595                                                    <a class="sociallogin-button-link sociallogin-button-click" id="sociallogin-button-click" 
6596                                                       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"
6597                                                       data-width="630"
6598                                                       data-height="650"
6599                                                       x-ref="googleplus"
6600                                                       @click="popupSocial($refs.googleplus)">
6601                                                         <span class="sociallogin-button-auto">
6602                                                            <span class="sociallogin-button-icon">
6603                                                                                                                            </span>
6604                                                                                                                            <span class="sociallogin-button-text">Login with Google</span>
6605                                                                                                                    </span>
6606                                                    </a>
6607                                                </li>
6608                                                                                                                                        </ul>
6609                                                                            </div>
6610
6611                                </div>
6612                                <div style="clear: both;"></div>
6613                            </div>
6614                                    </div>
6615            </div>
6616            <div class="block-customer-login" x-show="openLogin" x-data="{ show: false }">
6617    <span class="or-label text-size14 font-normal text-darkblack"> Or</span>
6618
6619    <form class="form form-login"
6620          method="post"
6621          @submit.prevent="submitForm();"
6622          id="login-form"
6623    >
6624                <div class="fieldset login">
6625            <div class="field email required">
6626                <label class="label hidden" for="customer-email">
6627                    <span>Email Address</span>
6628                </label>
6629                <div class="control">
6630                    <input name="username"
6631                           x-ref="customer-email"
6632                           @change="errors = 0"
6633                           type="email"
6634                           required
6635                           class="form-input input-text" id="customer-email" placeholder="Email address" 
6636                    >
6637                </div>
6638            </div>
6639            <div class="field password required" >
6640                <label for="pass" class="label hidden">
6641                    <span>Password</span>
6642                </label>
6643                <div class="control">
6644                    <input name="password"
6645                           type="password" 
6646                           class="form-input input-text" id="pass" placeholder="Password" 
6647                           required
6648                           x-ref="customer-password"
6649                           @change="errors = 0"
6650                    >
6651                </div>
6652            </div>
6653
6654            <input name="context" type="hidden" value="checkout"/>
6655             
6656            <div class="actions-toolbar flex justify-between items-center" >
6657                <div class="flex items-center">
6658                    <input type="checkbox" name="show-password" @click="showPassword()" id="show-password" value="" class="checkbox">
6659                    <label class="cursor-pointer text-size12 font-normal text-darkblack" style="margin:0;" for="show-password">Show password</label>                    
6660                    <!-- <span class="cursor-pointer text-size12 font-normal text-darkblack" @click="showPasswordForLable()" id="show-password-label" >
6661                        Show Password 
6662                    </span> -->
6663                </div>    
6664                   <span class="cursor-pointer text-size12 font-normal text-darkblack" @click="openForgot = true,openLogin = false,openButtonLogin = false">
6665                        Forgot Your Password?                    </span>
6666                    
6667            
6668            </div>
6669            <div class="actions-toolbar flex justify-between items-center">
6670                 <button type="submit" class="inline-flex btn btn-primary login_btn">
6671                        Log In                    </button>
6672            </div>       
6673        </div>
6674    </form>
6675</div>
6676
6677<script>
6678     function showPassword(){
6679        var showPwd=document.getElementById("show-password");
6680        var password=document.getElementById("pass");
6681        if(showPwd.checked==true) {
6682            password.type="text";
6683        } else {
6684           password.type="password";
6685        }
6686    }    
6687    function showPasswordForLable(){
6688        var password=document.getElementById("pass");
6689        if (password.type === "password") {
6690            password.type = "text";
6691        } else {
6692            password.type = "password";
6693        }
6694    } 
6695</script>
6695 
6696            <div class="block-new-customer new_customer text-center" x-show ="openCreate">
6697                <h2 id="authenticate-new-customer" class="text-size13 font-normal text-darkblack">
6698                    New Customer?                </h2>
6699                <div class="block-content">
6700                    <div class="actions-toolbar">
6701                        <a class="block btn btn-primary cursor-pointer text-size18 font-semibold text-custom-blue"
6702                        href="https://www.flooringinc.com/customer/account/create/"  >
6703                            Sign Up Now                        </a>
6704                    </div>
6705                    <div class="block-new-customer">
6706                        <h3 class="text-size16 font-normal text-black">
6707                            <a class="block underline"
6708                            href="https://www.flooringinc.com/pro-advantage/"
6709                            >
6710                                Become a Pro                            </a>
6711                        </h3>
6712                    </div>
6713                </div>
6714            </div>
6715            <div class="block-new-customer social_login margin" x-show="openButtonRegister">
6716                <h2 id="authenticate-new-customer" class="text-size18 font-medium text-darkblack">
6717                    Social Register                </h2>
6718                <div class="block-content">
6719                                                <div id="add_button_register_byclass" x-data="bssButtonSocial()" x-ref="registerSocialButton">
6720                                <div class="">
6721                                    <div class="sociallogin-buttons">
6722                                        <ul class="sociallogin-clearfix flex flex-wrap">
6723                                                                                            <li class="w-full text-size14 font-medium text-darkblack relative sociallogin-button googleplus"   title="Register with Google">
6724                                                    <a class="sociallogin-button-link sociallogin-button-click" id="sociallogin-button-click" 
6725                                                       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"
6726                                                       data-width="630"
6727                                                       data-height="650"
6728                                                       x-ref="googleplus"
6729                                                       @click="popupSocial($refs.googleplus)">
6730                                                        <span class="sociallogin-button-auto">
6731                                                            <span class="sociallogin-button-icon">
6732                                                                                                                            </span>
6733                                                                                                                            <span class="sociallogin-button-text">Register with Google</span>
6734                                                                                                                    </span>
6735                                                    </a>
6736                                                </li>
6737                                                                                                                                        </ul>
6738                                                                            </div>
6739                                </div>
6740                                <div style="clear: both;"></div>
6741                            </div>
6742                                    </div>
6743            </div>          
6744        </div>
6745    </div>
6746</div>
6747</section>
6748<script>
6749        var classLogin = [".checkout-container .opc-wrapper"];
6750        var classRegister = [""];
6751    classLogin = classLogin[0].trim().split(/\s+/);
6752    classRegister = classRegister[0].trim().split(/\s+/);
6753    if(classLogin && classLogin.length > 0 && classLogin[0]){
6754        classLogin.forEach(element => {
6755            var classLoginElement = document.querySelector(element);
6756            var loginSocialButton = document.getElementById('add_button_login_byclass');
6757            if (classLoginElement && loginSocialButton) {
6758                const cloneLoginSocialButton = loginSocialButton.cloneNode(true);
6759                classLoginElement.appendChild(cloneLoginSocialButton);
6760                cloneLoginSocialButton.style.display='block';
6761            }
6762        });
6763    }
6764
6765    if(classRegister && classRegister.length > 0 && classRegister[0]){
6766        classRegister.forEach(element => {
6767            var classRegisterElement = document.querySelector(element);
6768            var registerSocialButton = document.getElementById('add_button_register_byclass');
6769            if (classRegisterElement && registerSocialButton) {
6770                const cloneRegisterSocialButton = registerSocialButton.cloneNode(true);
6771                classRegisterElement.appendChild(cloneRegisterSocialButton);
6772                cloneRegisterSocialButton.style.display='block';
6773            }
6774        });
6775    }
6776
6777    function bssButtonSocial() {
6778        return {
6779            renderShowmore : function (element) {
6780                var socialButton = element.querySelector('.sociallogin-clearfix').getElementsByTagName("li");
6781                for (let i = 0; i <= socialButton.length - 1; i++) {
6782                    socialButton[i].style.display = 'block';
6783                }
6784                element.querySelector('.sociallogin-showmore').style.display = 'none';
6785            },
6786            popupSocial: function (element) {
6787                var href = element.getAttribute('data-href');
6788                var width = element.getAttribute('data-width');
6789                var height = element.getAttribute('data-height');
6790                var popup_window = null;
6791                if (!width) {
6792                    width = 650;
6793                }
6794
6795                if(!height) {
6796                    height = 350;
6797                }
6798
6799                var left = parseInt((window.innerWidth- width) / 2);
6800                var top = parseInt((window.innerHeight - height) / 2);
6801
6802                var params = [
6803                    'resizable=yes',
6804                    'scrollbars=no',
6805                    'toolbar=no',
6806                    'menubar=no',
6807                    'location=no',
6808                    'directories=no',
6809                    'status=yes',
6810                    'width='+ width,
6811                    'height='+ height,
6812                    'left='+ left,
6813                    'top='+ top
6814                ];
6815
6816                if(popup_window) {
6817                    popup_window.close();
6818                }
6819
6820                if(href) {
6821                    popup_window = window.open(href,'',params.join(','));
6822                    popup_window.focus();
6823
6824                }else{
6825                    alert('This Login Application was not configured correctly. Please contact our customer support.');
6826                }
6827                return false;
6828            }
6829        }
6830    }
6831
6832</script>
6832
6833
6834
6835
6836    
6836<script>
6837        (() => {
6838            function changeNoCookieDomain() {
6839                const categoryKey = "marketing";
6840                if (! prCookieConsentApi.isAllowedCategory(categoryKey)) {
6841                    return;
6842                }
6843
6844                let iframes = document.querySelectorAll('iframe'),
6845                    youtubeNoCookieIframes = Array.from(iframes)
6846                        .filter((iframe) => iframe.src.indexOf('youtube-nocookie.com') !== -1);
6847
6848                youtubeNoCookieIframes.forEach((iframe) => {
6849                    iframe.src = iframe.src.replace('youtube-nocookie.com', 'youtube.com');
6850                });
6851            }
6852
6853            if (prCookieConsentApi) {
6854                changeNoCookieDomain();
6855                return;
6856            }
6857
6858            document.addEventListener('pr-cookie-consent-api:configured', changeNoCookieDomain);
6859        })();
6860    </script>
6860
6861
6862<script>
6863    'use strict';
6864
6865    (() => {
6866        window.addEventListener('DOMContentLoaded', () => {
6867            if (document.querySelectorAll('lite-youtube').length > 0) {
6868                const link = document.createElement('link'),
6869                      script = document.createElement('script');
6870
6871                link.rel = 'stylesheet';
6872                link.type = 'text/css';
6873                link.href = 'https\u003A\u002F\u002Fwww.flooringinc.com\u002Fstatic\u002Fversion1789462004\u002Ffrontend\u002FDcw\u002Fhyvadesktop\u002Fen_US\u002FMageQuest_LiteYouTube\u002Fcss\u002Flite\u002Dyt\u002Dembed.min.css';
6874                document.head.appendChild(link);
6875
6876                script.type = 'text/javascript';
6877                script.src = 'https\u003A\u002F\u002Fwww.flooringinc.com\u002Fstatic\u002Fversion1789462004\u002Ffrontend\u002FDcw\u002Fhyvadesktop\u002Fen_US\u002FMageQuest_LiteYouTube\u002Fjs\u002Flite\u002Dyt\u002Dembed.min.js';
6878                document.head.appendChild(script);
6879            }
6880        });
6881    })();
6882</script>
vendor: 1 bytes, line 6882
6882
6883<script data-mfmofile="true">
6884    document.addEventListener("DOMContentLoaded", function() {
6885        if (document.querySelectorAll('.mf-ytw-wrapper').length || document.querySelectorAll('[data-mf-ytw-youtube-link]').length) {
6886            !function (f, b, e, v, t, s) {
6887                if(f.mfytwcss)return;
6888                f.mfytwcss=1;
6889                t = b.createElement(e);
6890                t.rel = 'stylesheet';
6891                t.type = 'text/css';
6892                t.href = v;
6893                s = b.getElementsByTagName('HEAD')[0];
6894                s.appendChild(t)
6895            }(window, document, 'link', 'https://www.flooringinc.com/static/version1789462004/frontend/Dcw/hyvadesktop/en_US/Magefan_YouTubeWidget/css/youtubewidget.min.css');
6896        }
6897        if (document.querySelectorAll('.mf-ytw-wrapper').length) {
6898            !function (f, b, e, v, t, s) {
6899                if(f.mfytwjs)return;
6900                f.mfytwjs=1;
6901                t = b.createElement(e);
6902                t.type = 'text/javascript';
6903                t.src = v;
6904                s = b.getElementsByTagName('HEAD')[0];
6905                s.appendChild(t)
6906            }(window, document, 'script', 'https://www.flooringinc.com/static/version1789462004/frontend/Dcw/hyvadesktop/en_US/Magefan_YouTubeWidget/js/iframe.min.js');
6907        }
6908        if (document.querySelectorAll('[data-mf-ytw-youtube-link]').length) {
6909            !function (f, b, e, v, t) {
6910                if(f.mflinkjs)return;
6911                f.mflinkjs=1;
6912                t = b.createElement(e);
6913                t.type = 'text/javascript';
6914                t.src = v;
6915                s = b.getElementsByTagName('HEAD')[0];
6916                s.appendChild(t)
6917            }(window, document, 'script', 'https://www.flooringinc.com/static/version1789462004/frontend/Dcw/hyvadesktop/en_US/Magefan_YouTubeWidget/js/link.min.js');
6918        }
6919    });
6920</script>
6920
6921
6922    <div id="pr-gpc-notification-modal" style="display: none;">
6923        <div class="pr-gpc-notification-wrap">
6924    <h2>Your Opt-Out Preferences Honored</h2>
6925<p>Your browser's privacy preference (GPC) has been detected.</p>
6926<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>
6927</div>    </div>
6928
6929    
6929<script type="text/x-magento-init"  nonce="aTE3cXdxdHVzeHVsc3J3aWdpaHdhNHZ0MW4zbWg2OGQ=">
6930        {
6931            "#pr-gpc-notification-modal": {
6932                "Plumrocket_GlobalPrivacyControl/js/opt-out-notification": {}
6933            }
6934        }
6935    </script>
6935
6936
6937
6938<script>
6939    (() => {
6940        function src_default(Alpine) {
6941            Alpine.directive("intersect", (el, { value, expression, modifiers }, { evaluateLater, cleanup }) => {
6942                let evaluate = evaluateLater(expression);
6943                let options = {
6944                    rootMargin: getRootMargin(modifiers),
6945                    threshold: getThreshhold(modifiers)
6946                };
6947                let observer = new IntersectionObserver((entries) => {
6948                    entries.forEach((entry) => {
6949                        if (entry.isIntersecting === (value === "leave"))
6950                            return;
6951                        evaluate();
6952                        modifiers.includes("once") && observer.disconnect();
6953                    });
6954                }, options);
6955                observer.observe(el);
6956                cleanup(() => {
6957                    observer.disconnect();
6958                });
6959            });
6960        }
6961        function getThreshhold(modifiers) {
6962            if (modifiers.includes("full"))
6963                return 0.99;
6964            if (modifiers.includes("half"))
6965                return 0.5;
6966            if (!modifiers.includes("threshold"))
6967                return 0;
6968            let threshold = modifiers[modifiers.indexOf("threshold") + 1];
6969            if (threshold === "100")
6970                return 1;
6971            if (threshold === "0")
6972                return 0;
6973            return Number(`.${threshold}`);
6974        }
6975        function getLengthValue(rawValue) {
6976            let match = rawValue.match(/^(-?[0-9]+)(px|%)?$/);
6977            return match ? match[1] + (match[2] || "px") : void 0;
6978        }
6979        function getRootMargin(modifiers) {
6980            const key = "margin";
6981            const fallback = "0px 0px 0px 0px";
6982            const index = modifiers.indexOf(key);
6983            if (index === -1)
6984                return fallback;
6985            let values = [];
6986            for (let i = 1; i < 5; i++) {
6987                values.push(getLengthValue(modifiers[index + i] || ""));
6988            }
6989            values = values.filter((v) => v !== void 0);
6990            return values.length ? values.join(" ").trim() : fallback;
6991        }
6992
6993        document.addEventListener("alpine:init", () => {
6994            window.Alpine.plugin(src_default);
6995        });
6996    })();
6997</script>
vendor: 1 bytes, line 6997
6997
6998<script>
6999    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"})) {
7000        document.querySelectorAll(selector).forEach(el => el.setAttribute('x-defer', `${deferUntil}`));
7001    }
7002</script>
vendor: 1 bytes, line 7002
7002
7003<script>
7004    (function () {
7005        "use strict";
7006
7007        const hasAlpine = new Promise(resolve => {
7008            window.addEventListener('alpine:initialized', resolve, {once: true, passive: true});
7009        });
7010
7011        const hasInteract = new Promise(resolve => {
7012            (events => {
7013                const onInteract = () => {
7014                    resolve();
7015                    events.forEach(type => window.removeEventListener(type, onInteract));
7016                }
7017                events.forEach(type => window.addEventListener(type, onInteract, {once: true, passive: true}))
7018            })(['touchstart', 'mouseover', 'wheel', 'scroll', 'keydown'])
7019        });
7020
7021        const onIntersect = (el) => {
7022            return new Promise(resolve => {
7023                const observer = new IntersectionObserver(entries => {
7024                    for (const entry of entries) {
7025                        if (entry.isIntersecting) {
7026                            observer.disconnect()
7027                            resolve();
7028                        }
7029                    }
7030                }, {});
7031                observer.observe(el);
7032            });
7033        }
7034
7035        function runComponent(el) {
7036            hasAlpine.then(() => {
7037                el.removeAttribute('x-ignore');
7038                queueMicrotask(() => Alpine.initTree(el));
7039            });
7040        }
7041
7042        function initDeferredComponents() {
7043            document.querySelectorAll('[x-data][x-defer]').forEach(el => {
7044                el.setAttribute('x-ignore', '');
7045                const deferUntil = (el.getAttribute('x-defer') || '').trim();
7046                switch (deferUntil) {
7047                    case 'interact':
7048                        hasInteract.then(() => runComponent(el));
7049                        break;
7050                    case 'intersect':
7051                        onIntersect(el).then(() => runComponent(el))
7052                        break;
7053                    case 'idle':
7054                        window.requestIdleCallback
7055                            ? window.requestIdleCallback(() => runComponent(el), {timeout: 4000})
7056                            : setTimeout(() => runComponent(el), 4000);
7057                        break;
7058                    case 'eager':
7059                        runComponent(el);
7060                        break;
7061                    default:
7062                        if (deferUntil.startsWith('event:') && deferUntil.length > 6) {
7063                            window.addEventListener(deferUntil.substring(6), () => runComponent(el), {once: true, passive: true});
7064                        }
7065                }
7066            });
7067        }
7068
7069        window.addEventListener('alpine:init', initDeferredComponents, {once: true, passive: true});
7070    })()
7071</script>
7071
7072
7073<script type="module"
7074        src="https://www.flooringinc.com/static/version1789462004/frontend/Dcw/hyvadesktop/en_US/Hyva_Theme/js/alpine3.min.js"
7075        defer
7076        crossorigin
7077></script>
vendor: 1 bytes, line 7077
7077
7078<script>
7079    'use strict';
7080    function dispatchMessages(messages, hideAfter) {
7081        const messagesEvent = new CustomEvent("messages-loaded", {
7082            detail: {
7083                messages: messages,
7084                hideAfter: hideAfter
7085            }
7086        });
7087        window.dispatchEvent(messagesEvent);
7088    }
7089
7090    if (typeof hyva === 'undefined' || (!hyva.getBrowserStorage || !hyva.getCookie || !hyva.setCookie)) {
7091        console.warn("Hyvä helpers are not loaded yet. Make sure they are included before this script");
7092    }
7093
7094    (function( hyva, undefined ) {
7095
7096        hyva.initFormKey = () => {
7097            const inputSelector = 'input[name="form_key"]',
7098                formKey = hyva.getFormKey();
7099
7100            Array.from(document.querySelectorAll(inputSelector)).map(function (input) {
7101                input.value = formKey
7102            });
7103        }
7104
7105        hyva.initMessages = () => {
7106            try {
7107                const messages = hyva.getCookie('mage-messages');
7108                window.mageMessages = messages ? JSON.parse(decodeURIComponent(messages).replace(/\+/g, ' ')) : [];
7109
7110                dispatchMessages(window.mageMessages);
7111
7112                                // empty `mage-messages` cookie
7113                const skipSetDomain = true;
7114                hyva.setCookie('mage-messages','', -1, skipSetDomain);
7115
7116            } catch (error) {
7117                console.warn('Error parsing Cookie Messages:', error);
7118            }
7119        }
7120
7121        window.addEventListener('DOMContentLoaded', hyva.initFormKey);
7122        hyva.alpineInitialized(hyva.initMessages)
7123
7124    }( window.hyva = window.hyva || {} ));
7125</script>
vendor: 1 bytes, line 7125
7125
7126<script>
7127    'use strict';
7128    {
7129        const private_content_key = 'mage-cache-storage';
7130        const private_content_expire_key = 'mage-cache-timeout';
7131        const private_content_version_key = 'private_content_version';
7132        const section_data_ids_key = 'section_data_ids';
7133        const mage_cache_session_id_key = 'mage-cache-sessid';
7134        const last_visited_store_key = 'last_visited_store';
7135
7136        const ttl = 3600;
7137
7138        if (typeof hyva === 'undefined' || (!hyva.getBrowserStorage || !hyva.getCookie || !hyva.setCookie)) {
7139            console.warn("Hyvä helpers are not loaded yet. Make sure they are included before this script");
7140        }
7141
7142        function loadSectionData () {
7143            const browserStorage = hyva.getBrowserStorage();
7144            if (!browserStorage) {
7145                typeof window.dispatchMessages !== "undefined" && window.dispatchMessages(
7146                    [{
7147                        type: "warning",
7148                        text: "Please enable LocalStorage in your browser."
7149                    }]
7150                );
7151                return;
7152            }
7153            try {
7154                let isInvalid = false;
7155
7156                if (hyva.getCookie(last_visited_store_key) !== CURRENT_STORE_CODE) {
7157                    isInvalid = true;
7158                }
7159                hyva.setCookie(last_visited_store_key, CURRENT_STORE_CODE, false, false);
7160
7161                if (!hyva.getCookie(mage_cache_session_id_key)) {
7162                    isInvalid = true;
7163                    browserStorage.removeItem(private_content_key);
7164                    const skipSetDomain = true;
7165                    const days = false;
7166                    hyva.setCookie(mage_cache_session_id_key, true, days, skipSetDomain)
7167                }
7168
7169                const cookieVersion = hyva.getCookie(private_content_version_key);
7170                const storageVersion = browserStorage.getItem(private_content_version_key);
7171
7172                if (cookieVersion && !storageVersion || cookieVersion !== storageVersion) {
7173                    isInvalid = true;
7174                }
7175
7176                const privateContentExpires = browserStorage.getItem(private_content_expire_key);
7177                if (privateContentExpires && new Date(privateContentExpires) < new Date()) {
7178                    browserStorage.removeItem(private_content_key);
7179                }
7180
7181                if (isInvalid && cookieVersion) {
7182                    fetchPrivateContent([]);
7183                } else if (cookieVersion && storageVersion && cookieVersion === storageVersion) {
7184                    const privateContent = JSON.parse(browserStorage.getItem(private_content_key));
7185                    if (
7186                        privateContent &&
7187                        privateContentExpires &&
7188                        privateContent.cart &&
7189                        privateContent.customer
7190                    ) {
7191                        dispatchPrivateContent(privateContent);
7192                    } else {
7193                        fetchPrivateContent([]);
7194                    }
7195                } else {
7196                    if (document.getElementById('default-section-data')) {
7197                        const privateContent = JSON.parse(document.getElementById('default-section-data').innerText.trim());
7198                        dispatchPrivateContent(privateContent);
7199                    } else {
7200                        dispatchPrivateContent({});
7201                    }
7202                }
7203
7204            } catch (error) {
7205                console.warn('Error retrieving Private Content:', error);
7206            }
7207        }
7208
7209        hyva.alpineInitialized(loadSectionData)
7210        window.addEventListener('reload-customer-section-data', loadSectionData);
7211
7212        function dispatchPrivateContent(data) {
7213            const privateContentEvent = new CustomEvent("private-content-loaded", {
7214                detail: {
7215                    data: data
7216                }
7217            });
7218            window.dispatchEvent(privateContentEvent);
7219        }
7220
7221        function fetchPrivateContent(sections) {
7222            fetch(`${BASE_URL}customer/section/load/?sections=${encodeURIComponent(sections.join(','))}`, {
7223                method: 'GET',
7224                headers: {
7225                    'Content-Type': 'application/json',
7226                    'X-Requested-With': 'XMLHttpRequest'
7227                }
7228            })
7229                .then(response => response.json())
7230                .then(
7231                    data => {
7232                        if (data) {
7233                            try {
7234                                const browserStorage = hyva.getBrowserStorage();
7235
7236                                // merge new data preserving non-invalidated sections
7237                                const oldSectionData = JSON.parse(browserStorage.getItem(private_content_key) || '{}') || {};
7238
7239                                if ((! data.cart || ! data.cart.cartId) && oldSectionData['checkout-data']) {
7240                                    delete oldSectionData['checkout-data'];
7241                                }
7242                                const newSectionData = Object.assign(oldSectionData, data);
7243
7244                                dispatchPrivateContent(newSectionData);
7245
7246                                // don't persist messages, they've been dispatched already
7247                                if (newSectionData.messages && newSectionData.messages.messages ) {
7248                                    newSectionData.messages.messages = [];
7249                                }
7250
7251                                browserStorage.setItem(private_content_key, JSON.stringify(newSectionData));
7252
7253                                const expiresAt = new Date(Date.now() + (ttl * 1000)).toISOString();
7254                                browserStorage.setItem(private_content_expire_key, expiresAt);
7255
7256                                const newCookieVersion = hyva.getCookie(private_content_version_key);
7257                                browserStorage.setItem(private_content_version_key, newCookieVersion);
7258
7259                                // We don't need the section_data_ids in Hyvä, but we store them for compatibility
7260                                // with Luma Fallback. Otherwise, not all sections are loaded in Luma Checkout
7261                                hyva.setCookie(
7262                                    section_data_ids_key,
7263                                    JSON.stringify(
7264                                        Object.keys(data).reduce((sectionDataIds, sectionKey) => {
7265                                            sectionDataIds[sectionKey] = data[sectionKey]['data_id'];
7266                                            return sectionDataIds;
7267                                        }, {})
7268                                    ),
7269                                    false,
7270                                    true
7271                                );
7272                            } catch (error) {
7273                                console.warn("Couldn't store privateContent", error);
7274                            }
7275                        }
7276                    }
7277                );
7278        }
7279    }
7280</script>
vendor: 1 bytes, line 7280
7280
7281<script>
7282    (() => {
7283        document.addEventListener('submit', event => event.target.action = event.target.action.replace('%25uenc%25', hyva.getUenc()));
7284    })()
7285</script>
vendor: 1 bytes, line 7285
7285
7286<script>
7287    (events => {
7288        const dispatchUserInteractionEvent = () => {
7289            events.forEach(type => window.removeEventListener(type, dispatchUserInteractionEvent))
7290            window.dispatchEvent(new Event('init-external-scripts'))
7291        };
7292        events.forEach(type => window.addEventListener(type, dispatchUserInteractionEvent, {once: true, passive: true}))
7293    })(['touchstart', 'mouseover', 'wheel', 'scroll', 'keydown'])
7294</script>
7294
7295<style>
7296[data-bv-show=inline_rating] .bv_sub_container .bv_numReviews_component_container .bv_text{margin: -2px 0 0 0 !important;display: flex !important;}
7297@media(max-width: 767px){
7298[data-bv-show=inline_rating] .bv_sub_container .bv_numReviews_component_container .bv_text{margin: 4px 0 0 0 !important;}
7299}
7300@media screen and (min-width: 768px) and (max-width: 1440px) {
7301    .product-item .product-info .price-box .price-container .price-wrapper span.price{font-size: 18px !important;}
7302    .product-item .product-info .price-box .price-container .price-wrapper{font-size: 18px;}
7303}
7304@media(max-width: 1550px){
7305.products__recommendations .product-slider .glider-track .recommended-slider-item{min-width:auto;}
7306}
7307.page-products .spot-light .catergory_slider_content{border-radius: 10px;}
7308.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;}
7309@media(max-width: 767px){
7310.page-products .spot-light .catergory_slider_content .product-info{padding-left: 0 !important;padding-right: 0px !important;}
7311}
7312.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;
7313}
7314.page-products .spot-light .spot-bottom .order_btn:hover{background: #15324c  !important;transition-duration: .15s;}
7315.page-products .spot-light .catergory_slider_content .color_counts .color_count{font-size: 12px;color: rgb(127 127 127 / var(--tw-text-opacity)}
7316
7317
7318.category-top-filter .pagebuilder-column h3 span, .category-top-filter .pagebuilder-column h3 span a, .category-top-filter .pagebuilder-column h3 a{display: block;}
7319.checkout-payment-method .payment-method .payment-method-title.field.choice input#paypal_express+label {display: block;}
7320.catalog-product-view .product-info-main .color_swatches .swatch-attribute-options .select_none.swatch-option{display: none;}
7321@media(min-width: 768px){
7322   .checkout-cart-index #shopping-cart-table .cart.item .item-info td.col.item{flex-wrap: nowrap;}
7323}
7324@media(min-width: 1500px){
7325    .checkout-cart-index #shopping-cart-table .col.qty{min-width: 169px;max-width: 169px;width: 169px;}
7326}
7327@media only screen and (max-width: 1340px) and (min-width: 1000px){
7328    .checkout-cart-index #maincontent #shopping-cart-table .product-item-details{max-width: 40%;}
7329}
7330</style>
7331<script>
7332document.addEventListener('DOMContentLoaded', function() {
7333  if (window.innerWidth <= 767) {
7334    document.querySelectorAll('.page-with-filter.page-products .sidebar .filter-content .card .filter-options-title').forEach(function(title) {
7335      const span = title.querySelector('span');
7336      if (span && span.textContent.trim().includes('Revenue Ranking')) {
7337        const parentCard = title.closest('.card');
7338        if (parentCard && !parentCard.id) {
7339          parentCard.id = 'filter-id-revenue_ranking';
7340        }
7341      }
7342    });
7343  }
7344});
7345</script>
7345
7346<style>
7347.page-with-filter.page-products .sidebar .filter-content .card#filter-id-revenue_ranking{display: none;}
7348.checkout-index-index .kl_sms_phone_number-field{margin-bottom: 20px;}
7349@media(min-width: 768px){
7350 .catalog-product-view .modal.order-free-sample-popup .right .order-free-sample-prod-info .product-info:after{right: -10px;top: -10px;}
7351}
7352@media(max-width: 767px){
7353  .catalog-product-view .order-free-sample-popup .border .product-info:after{left: 35px;}
7354}
7355.checkout-index-index .notification4 {display: none}
7356   #related_cart_slider .js_slides{margin-right: 0;margin-left: 0;}
7357</style>
7358<script>
7359    function initConfigurableOptions(productId, optionConfig) {
7360
7361        function findPathParam(key) {
7362                        const baseUrl = (BASE_URL.substr(0, 2) === '//' ? 'http:' : '') + BASE_URL;
7363            const baseUrlParts = (new URL(baseUrl)).pathname.replace(/\/$/, '').split('/');
7364            const pathParts = window.location.pathname.split('/').slice(baseUrlParts.length + 3);
7365            for (let i = 0; i < pathParts.length; i += 2) {
7366                if (pathParts[i] === key && pathParts.length > i) {
7367                    return pathParts[i + 1];
7368                }
7369            }
7370        }
7371
7372        return {
7373            optionConfig,
7374            productId,
7375            attributeCode:'',
7376            itemId: (new URLSearchParams(window.location.search)).get('id') || findPathParam('id'),
7377            ssrGalleryChildId: 0,
7378            allowedAttributeOptions: [],
7379            selectedValues: [],
7380            init() {
7381                this.checkIsFirst();
7382                this.findAllowedAttributeOptions();
7383                this.$nextTick(() => {
7384                    if (typeof this.optionConfig.defaultValues === 'object') {
7385                        for (const [optionId, value] of Object.entries(this.optionConfig.defaultValues)) {
7386                            this.changeOption(optionId, value + '');
7387                        }
7388                    }
7389                });
7390            },
7391            checkIsFirst() {
7392                this.isLoadedFirst = true;
7393                setTimeout(() => {
7394                    this.isLoadedFirst = false;
7395                }, "3000");
7396            },
7397            findSimpleIndex() {
7398                                this.productIndex = this.calculateSimpleIndexForPartialSelection(this.selectedValues);
7399            },
7400            calculateSimpleIndexForPartialSelection(selectedValues) {
7401                if (selectedValues.length === 0) return 0;
7402                let productIndexIds = Object.keys(this.optionConfig.index);
7403                Object.keys(this.optionConfig.attributes).forEach((attribute) => {
7404                                        const productsWithAttributeMatch = selectedValues[attribute]
7405                        ? productIndexIds.filter((productIndex) => {
7406                            return this.optionConfig.index[productIndex][attribute] === this.selectedValues[attribute]
7407                        })
7408                        : [];
7409
7410                                        productIndexIds = productsWithAttributeMatch.length ? productsWithAttributeMatch : productIndexIds
7411                })
7412                return productIndexIds[0];
7413            },
7414            calculateSimpleIndexForFullSelection(selectedValues) {
7415                const productIndexes = this.optionConfig.index;
7416                return Object.keys(productIndexes).find(productIndex => {
7417                    const productCandidateOptions = productIndexes[productIndex];
7418
7419                    for (const productOption in productCandidateOptions) {
7420                        if (
7421                            ! selectedValues[productOption] ||
7422                            selectedValues[productOption] !== productCandidateOptions[productOption]
7423                        ) {
7424                            return false;
7425                        }
7426                    }
7427                    return productIndex;
7428                });
7429            },
7430            productIndex: 0,
7431            findAllowedAttributeOptions() {
7432                                this.allowedAttributeOptions = this.calculateAllowedAttributeOptions(this.selectedValues);
7433            },
7434            calculateAllowedAttributeOptions(selectedValues) {
7435                const allAttributes = this.optionConfig.attributes;
7436                const allAttributesSorted = Object.values(allAttributes).sort((a,b) => {
7437                    return a.position - b.position
7438                });
7439
7440                const selectionWithoutAttr = attrId => {
7441                                        return Object.keys(selectedValues).reduce((acc, id) => {
7442                        if (id !== attrId) acc[id] = selectedValues[id];
7443                        return acc;
7444                    }, {})
7445                }
7446
7447                const newAllowedAttributeOptions = [];
7448
7449                allAttributesSorted.forEach(attribute => {
7450                    const availableIndexes = this.calculateAvailableProductIndexes(selectionWithoutAttr(attribute.id));
7451					if (attribute?.code === 'incstores_pim_color_axis') {
7452					    newAllowedAttributeOptions[attribute.id] =
7453						    allAttributes[attribute.id].options
7454							    .filter(option => {
7455                                    return !!option.products.find(product => availableIndexes.includes(product));
7456                                })
7457							    .sort((a, b) => {
7458								    const cheapestA = this.findCheapestProductForPartialSelectionForSort({
7459									    ...selectedValues,
7460									    [attribute.id]: a.id
7461								    });
7462
7463								    const cheapestB = this.findCheapestProductForPartialSelectionForSort({
7464									    ...selectedValues,
7465									    [attribute.id]: b.id
7466								    });
7467
7468								    if (!cheapestA && !cheapestB) return 0;
7469								    if (!cheapestA) return 1;
7470								    if (!cheapestB) return -1;
7471
7472								    const priceA = this.optionConfig.optionPrices[cheapestA].customPrice.amount;
7473                                    const priceB = this.optionConfig.optionPrices[cheapestB].customPrice.amount;
7474
7475								    return priceA - priceB;
7476							    });
7477					} else {
7478                    newAllowedAttributeOptions[attribute.id] = allAttributes[attribute.id].options.filter(option => {
7479                        return !!option.products.find(product => {
7480                            //====== For Custom Design link - fetch child product id on page load  START ======
7481                            if(document.querySelector('input[name="selected_option_child_id"]')){
7482                                if(document.querySelector('input[name="selected_option_child_id"]').value == ''){
7483                                    document.querySelector('input[name="selected_option_child_id"]').value = product;
7484                                }
7485                            }
7486                            //====== For Custom Design link - fetch child product id on page load END ======
7487                            return availableIndexes.includes(product);
7488                        })
7489                    });
7490                    }
7491                });
7492                return newAllowedAttributeOptions;
7493            },
7494            calculateAvailableProductIndexes(selectedOptions) {
7495                if (Object.keys(selectedOptions).length === 0) {
7496                                        return Object.keys(this.optionConfig.index);
7497                }
7498
7499                                const selectedIds = Object.keys(selectedOptions);
7500                if (Object.values(this.optionConfig.salable || {}).length) {
7501                                        const selectedOptionIndexes = selectedIds.map(attrId => {
7502                        const optionValue = selectedOptions[attrId];
7503                        return this.optionConfig.salable[attrId] && this.optionConfig.salable[attrId][optionValue] || []
7504                    })
7505                                        return selectedOptionIndexes.reduce((acc, optionIndexes) => {
7506                        return acc.filter(index => optionIndexes.includes(index));
7507                    });
7508                } else {
7509                                        const productIndexes = this.optionConfig.index;
7510                    return Object.keys(productIndexes).filter(index => {
7511                        return selectedIds.find(
7512                                                attrId => productIndexes[index][attrId] === `${selectedOptions[attrId]}`
7513                                                )
7514                    });
7515                }
7516            },
7517            findAttributeByOptionId(optionId) {
7518                for (const attributeId in this.optionConfig.attributes) {
7519                    const attributeOptions = this.optionConfig.attributes[attributeId].options || [];
7520                    if (attributeOptions.find(option => option.id === optionId)) {
7521                        return attributeId;
7522                    }
7523                }
7524            },
7525            getAllowedAttributeOptions(attributeId) {
7526                return this.allowedAttributeOptions[attributeId] || []
7527            },
7528            getProductIdsForOption(option) {
7529                const attributeId = this.findAttributeByOptionId(option.id);
7530                const allOptions = this.optionConfig.attributes[attributeId];
7531                const opt = (allOptions && allOptions.options || []).find(o => o.id === option.id);
7532                return opt && opt.products
7533                    ? opt.products
7534                    : [];
7535            },
7536            findProductIdsForPartialSelection(optionSelection) {
7537                const candidateProducts = Object.values(optionSelection).reduce((candidates, optionId) => {
7538                    const newCandidates = this.getProductIdsForOption({id: optionId});
7539                    return candidates === null
7540                        ? newCandidates
7541                        : candidates.filter(productId => newCandidates.includes(productId));
7542                }, null);
7543                return candidateProducts || [];
7544            },
7545            findCheapestProductForPartialSelection(optionSelection) {
7546                const candidateProducts = this.findProductIdsForPartialSelection(optionSelection);
7547                return candidateProducts.reduce((cheapest, simpleIdx) => {
7548                    // in the first iteration we start with simpleIdx as the currently cheapest product
7549                    if (! this.optionConfig.optionPrices[cheapest]) return simpleIdx;
7550                    const knownCheapestPrice = this.optionConfig.optionPrices[cheapest].finalPrice.amount;
7551                    return knownCheapestPrice > this.optionConfig.optionPrices[simpleIdx].finalPrice.amount
7552                        ? simpleIdx
7553                        : cheapest;
7554                }, 0)
7555            },
7556			findCheapestProductForPartialSelectionForSort(optionSelection) {
7557                const candidateProducts = this.findProductIdsForPartialSelection(optionSelection);
7558                return candidateProducts.reduce((cheapest, simpleIdx) => {
7559                    // in the first iteration we start with simpleIdx as the currently cheapest product
7560                    if (! this.optionConfig.optionPrices[cheapest]) return simpleIdx;
7561                    const knownCheapestPrice = this.optionConfig.optionPrices[cheapest].customPrice.amount;
7562                    return knownCheapestPrice > this.optionConfig.optionPrices[simpleIdx].customPrice.amount
7563                        ? simpleIdx
7564                        : cheapest;
7565                }, 0)
7566            },
7567            findProductIdToUseForOptionPrice(option) {
7568                // try to find a product for a complete selection
7569                const attributeId = this.findAttributeByOptionId(option.id);
7570                const optionSelection = Object.assign({}, this.selectedValues, {[attributeId]: option.id});
7571                const matchingSimpleIndex = this.calculateSimpleIndexForFullSelection(optionSelection);
7572                // if there is no complete selection, use the cheapest product for the option
7573                return matchingSimpleIndex || this.findCheapestProductForPartialSelection(optionSelection);
7574            },
7575            getAttributeOptionLabel(option) {
7576                const optionProduct = this.findProductIdToUseForOptionPrice(option);
7577                if ((! optionProduct) || (optionProduct === this.productIndex)) {
7578                    return option.label;
7579                }
7580
7581                const currentPrice = this.getOptionPriceAdjustmentBasePrice();
7582
7583                if (this.optionConfig.optionPrices[optionProduct]) {
7584                    const optionPrice = this.optionConfig.optionPrices[optionProduct].finalPrice.amount;
7585                    if (optionPrice !== currentPrice){
7586                        return option.label + ' ' + hyva.formatPrice(optionPrice - currentPrice, true);
7587                    }
7588                }
7589                return option.label;
7590            },
7591            getOptionPriceAdjustmentBasePrice() {
7592                if (this.optionConfig.optionPrices[this.productIndex]) {
7593                    return this.optionConfig.optionPrices[this.productIndex].finalPrice.amount
7594                }
7595                const cheapestForSelection = this.findCheapestProductForPartialSelection(this.selectedValues);
7596                return this.optionConfig.optionPrices[cheapestForSelection]
7597                    ? this.optionConfig.optionPrices[cheapestForSelection].finalPrice.amount
7598                    : this.optionConfig.prices.finalPrice.amount; // default price if no option selection
7599            },
7600            changeOption(optionId, value) {
7601                if (value !== ''
7602                    && typeof this.optionIsEnabled === 'function'
7603                    && !this.optionIsEnabled(optionId, value)) {
7604                    return;
7605                }
7606                var checkbox = document.getElementById('overage_percent');
7607                if(checkbox){
7608                    checkbox.checked = true; // Check the checkbox
7609                }
7610                var galleryImgOpacity = document.querySelector('#gallery .prod_slider img.first-image');
7611                if (galleryImgOpacity) {
7612                    galleryImgOpacity.classList.add('opacity-0');
7613                }
7614                if (value === '') {
7615                    // create new array so the length property is reset if no option is selected (avoiding delete)
7616                    this.selectedValues = this.selectedValues.reduce((newSelection, val, opt) => {
7617                        if (opt !== optionId) {
7618                            newSelection[opt] = val;
7619                        }
7620                        return newSelection;
7621                    }, []);
7622                } else {
7623                    const currentUrl = window.location.href;
7624                    // Create a URL object
7625                    const url = new URL(currentUrl);
7626                    // Use searchParams to get the color option
7627                    const colorOption = url.searchParams.get('color-option');
7628                    const variantOption = url.searchParams.get('variant-option');
7629                    if(colorOption!==null && variantOption!==null){
7630                        if(this.optionConfig.attributes[optionId]['code'] == 'incstores_pim_color_axis')
7631                        {
7632                            this.selectedValues[optionId] = colorOption;
7633                        }
7634                        if(this.optionConfig.attributes[optionId]['code'] == 'incstores_pim_variant_axis')
7635                        {
7636                            this.selectedValues[optionId] = variantOption;
7637                        }
7638                    }
7639                    else if(colorOption!==null){
7640                        if(this.optionConfig.attributes[optionId]['code'] == 'incstores_pim_color_axis')
7641                        {
7642                            this.selectedValues[optionId] = colorOption;
7643                        }
7644
7645                    }
7646                    else if(this.isLoadedFirst == true && (0 > 0 || 0 > 0))
7647                    {
7648                        if(this.optionConfig.attributes[optionId]['code'] == 'incstores_pim_color_axis')
7649                        {
7650                            this.selectedValues[optionId] = '0';
7651                        }
7652                        if(this.optionConfig.attributes[optionId]['code'] == 'incstores_pim_variant_axis')
7653                        {
7654                            this.selectedValues[optionId] = '0';
7655                        }
7656                    }
7657                    else
7658                    {
7659                        this.selectedValues[optionId] = value;
7660                    }
7661
7662                    var addToCartButton = document.querySelector('.pdp-addtocart-btn');
7663                    if (addToCartButton) {
7664                        if (!addToCartButton.classList.contains('pointer-events-none')) {
7665                            addToCartButton.classList.add('pointer-events-none');
7666                            addToCartButton.classList.add('opacity-50');
7667                        }
7668                    }
7669
7670                    var productId = this.findProductIdsForPartialSelection(this.selectedValues)[0];
7671                    var baseUrl = "https://www.flooringinc.com/";
7672					
7673					if (typeof productId === 'undefined') {
7674					   let attributeCode = this.optionConfig.attributes[optionId]['code'];
7675					   setTimeout(() => {
7676						   if (attributeCode == 'incstores_pim_color_axis') {
7677							if (typeof this.autoSelectCompatibleOtherOption === 'function') {
7678								this.autoSelectCompatibleOtherOption(optionId);
7679							}
7680						} else if (attributeCode == 'incstores_pim_variant_axis'
7681                            || attributeCode == 'product_option') {
7682							if (typeof this.autoSelectCompatibleColorOption === 'function') {
7683								this.autoSelectCompatibleColorOption(optionId);
7684							}
7685						}
7686                    }, 300);
7687					} else {
7688                    var fetchUrl = baseUrl+'customattribute/index/index/productId/'+productId;
7689
7690                    fetch(fetchUrl)
7691                    .then(response => response.json())
7692                    .then(data => {
7693
7694                        if (document.getElementById('dimensions-attributes')) {
7695                            document.getElementById('dimensions-attributes').innerHTML= data.detailsHtml.dimensionsHtml;
7696                        }
7697
7698                        if (document.getElementById('details-attributes')) {
7699                            document.getElementById('details-attributes').innerHTML= data.detailsHtml.productDetails;
7700                        }
7701
7702                        if (document.getElementById('ship-to-text')) {
7703                            document.getElementById('ship-to-text').value= data.shipToText;
7704                        }
7705
7706                        var addToCartButton = document.querySelector('.pdp-addtocart-btn');
7707                        if (addToCartButton) {
7708                            addToCartButton.classList.remove('pointer-events-none');
7709                            addToCartButton.classList.remove('opacity-50');
7710                        }
7711                    })
7712                    .catch(error => {
7713                        console.log(error);
7714                    });
7715					}
7716
7717                }
7718                this.findSimpleIndex();
7719                this.findAllowedAttributeOptions();
7720                this.updateCalculatorType();// custom coding
7721                this.updateMinRollcut();// custom coding
7722                this.updateMaxRollLengthRestriction();// custom coding
7723                this.updateTileSizeArea(); // custom coding
7724                this.updateExactWidth(); // custom coding
7725                this.updateExactLength(); // custom coding
7726                this.updateExactHeight(); // custom coding
7727                this.updateCoveragePerCase(); // custom coding
7728                this.updateTileMinQty(); // custom coding
7729                this.updateShippingDetails(); // custom coding
7730                this.updatePrices();
7731                this.updateSquareFootage();
7732
7733                //If the page loads first time it will stop the gallery change, so configurable product image will display
7734                if (!this.isLoadedFirst) {
7735                    this.updateGallery();
7736                }
7737
7738                //====== For Custom Design link - fetch child product id when option clicked  START ======
7739                if(document.querySelector('input[name="selected_option_child_id"]')){
7740                    document.querySelector('input[name="selected_option_child_id"]').value = this.productIndex;
7741                }
7742                if(document.querySelector('input[name="custom_length"]') && document.getElementById('roll_length')){
7743                    document.querySelector('input[name="custom_length"]').value = document.getElementById('roll_length').value;
7744                }
7745                //====== For Custom Design link - fetch child product id when option clicked END ======
7746                window.dispatchEvent(
7747                    new CustomEvent(
7748                        'configurable-selection-changed',
7749                        {
7750                            detail: {
7751                                productId: this.productId,
7752                                optionId: optionId,
7753                                value: value,
7754                                productIndex: this.productIndex,
7755                                selectedValues: this.selectedValues,
7756                                attributeCode: this.optionConfig.attributes[optionId]['code'],
7757                                candidates: this.findProductIdsForPartialSelection(this.selectedValues),
7758                            }
7759                        }
7760                    )
7761                );
7762
7763                /* =============================== disabled product option checking & remove  START =============== */
7764                if (!this.optionConfig?.ship_region_enabled
7765                    && document.querySelector('.swatch-attribute .selectOptionColor')
7766                ) {
7767                    var quickship_lebel_should_show;
7768                    var quickship_active_color_option_exist = 0;
7769                    setTimeout(() => {
7770                        document.querySelectorAll('.swatch-attribute .selectOptionColor').forEach(function(option_box) {
7771                            if (!option_box.querySelector('div, label')) {
7772                                option_box.remove();
7773                            }
7774                        });
7775
7776                    }, 300);
7777                }
7778                /* ===============================  disabled product option checking & remove END =============== */
7779				
7780				/* ========== remove validation when click on available color start =============== */
7781                if(document.querySelector('.normal_color_swatch_option .selectOptionColor') ){
7782                    setTimeout(() => {
7783                        const colorBoxes = document.querySelectorAll(
7784							'.normal_color_swatch_option .selectOptionColor'
7785						);
7786						var colorNotAvailable = 0;
7787						const colorerrorDiv = document.getElementById('normal-color-swatch-option-error-msg');
7788
7789						colorBoxes.forEach((colorBox) => {
7790							if (colorBox.querySelector('.select_none label.checked')) {
7791								colorNotAvailable = 1;
7792							}
7793						});
7794						if (!colorNotAvailable){
7795							colorerrorDiv.textContent = '';
7796							colorerrorDiv.style.display = 'none';
7797						}
7798
7799                    }, 300);
7800                }
7801                /* ========== remove validation when click on available color end =============== */
7802
7803                /* =============================== color label show / hide if color option not showing  END =============== */
7804
7805                /* =============================== other label show / hide if the option not showing  START =============== */
7806                if (typeof this.syncOtherSwatchOptionVisibility === 'function') {
7807                    this.syncOtherSwatchOptionVisibility();
7808                } else {
7809                    const swatchAttribute = document.querySelector('.swatch-attribute.other_swatch_option');
7810                    if (swatchAttribute) {
7811                        setTimeout(() => {
7812                            const selectOptionColors = swatchAttribute.querySelectorAll('.selectOptionColor');
7813                            if (selectOptionColors.length > 1) {
7814                                swatchAttribute.style.display = 'block';
7815                            } else {
7816                                swatchAttribute.style.display = 'none';
7817                            }
7818                        }, 300);
7819                    }
7820                }
7821                /* =============================== other label show / hide if the option not showing  END =============== */
7822
7823            },
7824            calculateIsMinimalPrice() {
7825                return (
7826                    this.selectedValues.filter(value => !!value).length <
7827                        Object.keys(this.optionConfig.attributes).length
7828                );
7829            },
7830            updatePrices() {
7831                const value = this.productIndex ?
7832                    this.optionConfig.optionPrices[this.productIndex] :
7833                    this.optionConfig.prices;
7834
7835                window.dispatchEvent(
7836                    new CustomEvent(
7837                        "update-prices-" + this.productId,
7838                        {
7839                            detail: Object.assign(
7840                                value,
7841                                {
7842                                    isMinimalPrice: this.calculateIsMinimalPrice(),
7843                                    calculatorType: this.optionConfig?.calculator_type?.[this.productIndex] ?? '',
7844                                    getIncstoresPimCoverage: this.optionConfig?.coverage_per_case?.[this.productIndex] ?? '',
7845                                    unitOfMeasure: this.optionConfig?.unit_of_measure?.[this.productIndex] ?? '',
7846                                    altUnitOfMeasure: this.optionConfig?.alt_unit_of_measure?.[this.productIndex] ?? 'sqft',
7847                                    availableQuantity: this.optionConfig?.available_quantity?.[this.productIndex] ?? '',
7848                                }
7849                            )
7850                        }
7851                    )
7852                );
7853                setTimeout(() => {
7854                    var calculatorType = this.optionConfig.calculator_type[this.productIndex];
7855                    var priceElement = document.querySelector('div.items-baseline .final-price .price');
7856                    
7857                    if (priceElement && calculatorType != 'none' && calculatorType != 'pre_cut_roll') {
7858                        var customOptionPrice = priceElement.childNodes[0].nodeValue.trim();
7859                        let priceLabelElement = document.querySelector('.final-price .price-label');
7860                        var priceLabel = "";
7861
7862                        if (priceLabelElement) {
7863                            priceLabel = priceLabelElement.textContent.trim();
7864                        }
7865
7866                        document.querySelectorAll('.display-option-price').forEach(el => {
7867                            el.textContent = "("+customOptionPrice+priceLabel+")";
7868                        });
7869                    } else if (calculatorType == 'none') {
7870                        //None type
7871                        var priceElement = document.querySelector('.none .final-price .price');
7872                        var customOptionPrice = "";
7873
7874                        if (priceElement) {
7875                            customOptionPrice = priceElement.childNodes[0].nodeValue.trim();
7876                        }
7877                        document.querySelectorAll('.display-option-price').forEach(el => {
7878                            el.textContent = "("+customOptionPrice+")";
7879                        });
7880                    } else if (calculatorType == 'pre_cut_roll') {
7881						let priceLabelElement = document.querySelector('.final-price .price-label');
7882                        var priceLabel = "";
7883
7884                        if (priceLabelElement) {
7885                            priceLabel = priceLabelElement.textContent.trim();
7886                        }
7887                        var priceElement = document.querySelector('.pre_cut_roll .final-price .price');
7888                        var customOptionPrice = "";
7889
7890                        if (priceElement) {
7891                            customOptionPrice = priceElement.childNodes[0].nodeValue.trim();
7892                        }
7893                        document.querySelectorAll('.display-option-price').forEach(el => {
7894                            el.textContent = "("+customOptionPrice+priceLabel+")";
7895                        });
7896                    }
7897                }, "500");
7898            },
7899            updateTileSizeArea() {
7900                const overage_percent = this.optionConfig.overage_percent[this.productIndex];
7901                const coverage_per_case = this.optionConfig.coverage_per_case[this.productIndex];
7902                const exact_width = this.optionConfig.exact_width[this.productIndex];
7903                const exact_length = this.optionConfig.exact_length[this.productIndex];
7904                window.dispatchEvent(
7905                    new CustomEvent(
7906                        "update-tile-size-area-" + this.productId,
7907                        {
7908                            detail: {
7909                            overage_percent: overage_percent,
7910                            coverage_per_case: coverage_per_case,
7911                            exact_width: exact_width,
7912                            exact_length: exact_length,
7913                            calculator_type: this.optionConfig.calculator_type[this.productIndex],
7914                            }
7915                        }
7916                    )
7917                );
7918            },
7919            updateExactWidth() {
7920                const exact_width = this.optionConfig.exact_width[this.productIndex];
7921                window.dispatchEvent(
7922                    new CustomEvent(
7923                        "update-exact-width-" + this.productId,
7924                        {detail: exact_width}
7925                    )
7926                );
7927            },
7928            updateExactLength() {
7929                const exact_length = this.optionConfig.exact_length[this.productIndex];
7930                window.dispatchEvent(
7931                    new CustomEvent(
7932                        "update-exact-length-" + this.productId,
7933                        {detail: exact_length}
7934                    )
7935                );
7936            },
7937            updateExactHeight() {
7938                const exact_height = this.optionConfig.exact_height[this.productIndex];
7939                window.dispatchEvent(
7940                    new CustomEvent(
7941                        "update-exact-height-" + this.productId,
7942                        {detail: exact_height}
7943                    )
7944                );
7945            },
7946            updateCoveragePerCase() {
7947                const coverage_per_case = this.optionConfig.coverage_per_case[this.productIndex];
7948                //const tile_size_area = "";
7949                window.dispatchEvent(
7950                    new CustomEvent(
7951                        "update-coverage-per-case-" + this.productId,
7952                        {detail: coverage_per_case}
7953                    )
7954                );
7955            },
7956            updateTileMinQty() {
7957                const min_tile_quantity = this.optionConfig.min_tile_quantity[this.productIndex];
7958                window.dispatchEvent(
7959                    new CustomEvent(
7960                        "update-min-tile-quantity-" + this.productId,
7961                        {detail: min_tile_quantity}
7962                    )
7963                );
7964            },
7965			getAttributeIdByCode(attributeCode) {
7966                let attributes = this.optionConfig.attributes;
7967
7968				for (let id in attributes) {
7969					if (attributes[id].code === attributeCode) {
7970						return id;
7971					}
7972				}
7973
7974				return null;
7975            },
7976            updateCalculatorType() {
7977                const has_corner_border_center = this.optionConfig.has_corner_border_center[this.productIndex];
7978                const calculator_type = this.optionConfig.calculator_type[this.productIndex];
7979                if(calculator_type == 'sqft' && has_corner_border_center !=1){
7980                    var cbcelements = document.querySelectorAll('.cbc');
7981                    cbcelements.forEach(function(element) {
7982                    element.style.display = 'none';
7983                    });
7984                    var noneelements = document.querySelectorAll('.none');
7985                    noneelements.forEach(function(element) {
7986                    element.style.display = 'none';
7987                    });
7988                    var rollelements = document.querySelectorAll('.roll');
7989                    rollelements.forEach(function(element) {
7990                    element.style.display = 'none';
7991                    });
7992                    var cbcelements = document.querySelectorAll('.case');
7993                    cbcelements.forEach(function(element) {
7994                    element.style.display = 'none';
7995                    });
7996                    var elements = document.querySelectorAll('.sqft');
7997                    elements.forEach(function(element) {
7998                    element.style.display = 'block';
7999                    });
8000
8001                    var elements = document.querySelectorAll('.pre_cut_roll');
8002                    elements.forEach(function(element) {
8003                    element.style.display = 'none';
8004                    });
8005                    const button = document.getElementById("product-addtocart-button-fake");
8006                    if (button && button.getAttribute("data-flooring-handler") !== "addToCartClickVerify") {
8007                        button.setAttribute("data-flooring-handler", "addToCartClickVerify");
8008                    }
8009                } else if(calculator_type == 'sqft' && has_corner_border_center ==1){
8010                    var sqftelements = document.querySelectorAll('.sqft');
8011                    sqftelements.forEach(function(element) {
8012                    element.style.display = 'none';
8013                    });
8014                    var caseelements = document.querySelectorAll('.case');
8015                    caseelements.forEach(function(element) {
8016                    element.style.display = 'none';
8017                    });
8018                    var rollelements = document.querySelectorAll('.roll');
8019                    rollelements.forEach(function(element) {
8020                    element.style.display = 'none';
8021                    });
8022                    var noneelements = document.querySelectorAll('.none');
8023                    noneelements.forEach(function(element) {
8024                    element.style.display = 'none';
8025                    });
8026                    var elements = document.querySelectorAll('.cbc');
8027                    elements.forEach(function(element) {
8028                    element.style.display = 'block';
8029                    });
8030                    var elements = document.querySelectorAll('.price-details .sqft');
8031                    elements.forEach(function(element) {
8032                    element.style.display = 'none';
8033                    });
8034
8035                    var elements = document.querySelectorAll('.pre_cut_roll');
8036                    elements.forEach(function(element) {
8037                    element.style.display = 'none';
8038                    });
8039                    const button = document.getElementById("product-addtocart-button-fake");
8040                    if (button && button.getAttribute("data-flooring-handler") !== "addToCartClickVerify") {
8041                        button.setAttribute("data-flooring-handler", "addToCartClickVerify");
8042                    }
8043                }else if(calculator_type == 'case'){
8044                    var sqftelements = document.querySelectorAll('.sqft');
8045                    sqftelements.forEach(function(element) {
8046                    element.style.display = 'none';
8047                    });
8048                    var cbcelements = document.querySelectorAll('.cbc');
8049                    cbcelements.forEach(function(element) {
8050                    element.style.display = 'none';
8051                    });
8052                    var noneelements = document.querySelectorAll('.none');
8053                    noneelements.forEach(function(element) {
8054                    element.style.display = 'none';
8055                    });
8056                    var rollelements = document.querySelectorAll('.roll');
8057                    rollelements.forEach(function(element) {
8058                    element.style.display = 'none';
8059                    });
8060                    var elements = document.querySelectorAll('.case');
8061                    elements.forEach(function(element) {
8062                    element.style.display = 'block';
8063                    });
8064
8065                    var elements = document.querySelectorAll('.pre_cut_roll');
8066                    elements.forEach(function(element) {
8067                    element.style.display = 'none';
8068                    });
8069                    const button = document.getElementById("product-addtocart-button-fake");
8070                    if (button && button.getAttribute("data-flooring-handler") !== "addToCartClickVerify") {
8071                        button.setAttribute("data-flooring-handler", "addToCartClickVerify");
8072                    }
8073                } else if(calculator_type == 'roll'){
8074                    var sqftelements = document.querySelectorAll('.sqft');
8075                    sqftelements.forEach(function(element) {
8076                    element.style.display = 'none';
8077                    });
8078                    var cbcelements = document.querySelectorAll('.cbc');
8079                    cbcelements.forEach(function(element) {
8080                    element.style.display = 'none';
8081                    });
8082                    var caseelements = document.querySelectorAll('.case');
8083                    caseelements.forEach(function(element) {
8084                    element.style.display = 'none';
8085                    });
8086                    var noneelements = document.querySelectorAll('.none');
8087                    noneelements.forEach(function(element) {
8088                    element.style.display = 'none';
8089                    });
8090                    var elements = document.querySelectorAll('.roll');
8091                    elements.forEach(function(element) {
8092                    element.style.display = 'block';
8093                    });
8094                    const button = document.getElementById("product-addtocart-button-fake");
8095                    if (button && button.getAttribute("data-flooring-handler") !== "addToCartClickVerify") {
8096                        button.setAttribute("data-flooring-handler", "addToCartClickVerify");
8097                    }
8098
8099                    var elements = document.querySelectorAll('.pre_cut_roll');
8100                    elements.forEach(function(element) {
8101                    element.style.display = 'none';
8102                    });
8103                } else if(calculator_type == 'pre_cut_roll'){
8104                    var sqftelements = document.querySelectorAll('.sqft');
8105                    sqftelements.forEach(function(element) {
8106                        element.style.display = 'none';
8107                    });
8108                    var cbcelements = document.querySelectorAll('.cbc');
8109                    cbcelements.forEach(function(element) {
8110                        element.style.display = 'none';
8111                    });
8112                    var caseelements = document.querySelectorAll('.case');
8113                    caseelements.forEach(function(element) {
8114                        element.style.display = 'none';
8115                    });
8116                    var noneelements = document.querySelectorAll('.none');
8117                    noneelements.forEach(function(element) {
8118                        element.style.display = 'none';
8119                    });
8120                    var elements = document.querySelectorAll('.roll');
8121                    elements.forEach(function(element) {
8122                        element.style.display = 'none';
8123                    });
8124                    var elements = document.querySelectorAll('.pre_cut_roll');
8125                    elements.forEach(function(element) {
8126                        element.style.display = 'block';
8127                    });
8128                    const button = document.getElementById("product-addtocart-button-fake");
8129                    if (button && button.getAttribute("data-flooring-handler") !== "addToCartClickforPreCutRoll") {
8130                        button.setAttribute("data-flooring-handler", "addToCartClickforPreCutRoll");
8131                    }
8132                } else {
8133                    var sqftelements = document.querySelectorAll('.sqft');
8134                    sqftelements.forEach(function(element) {
8135                        element.style.display = 'none';
8136                    });
8137                    var cbcelements = document.querySelectorAll('.cbc');
8138                    cbcelements.forEach(function(element) {
8139                        element.style.display = 'none';
8140                    });
8141                    var caseelements = document.querySelectorAll('.case');
8142                    caseelements.forEach(function(element) {
8143                        element.style.display = 'none';
8144                    });
8145                    var rollelements = document.querySelectorAll('.roll');
8146                    rollelements.forEach(function(element) {
8147                        element.style.display = 'none';
8148                    });
8149                    var cbcelements = document.querySelectorAll('.case');
8150                    cbcelements.forEach(function(element) {
8151                        element.style.display = 'none';
8152                    });
8153                    var elements = document.querySelectorAll('.none');
8154                    elements.forEach(function(element) {
8155                        element.style.display = 'block';
8156                    });
8157                    const noneButton = document.getElementById("product-addtocart-button-fake");
8158                    if (noneButton && noneButton.getAttribute("data-flooring-handler") !== "addToCartClickforNone") {
8159                        noneButton.setAttribute("data-flooring-handler", "addToCartClickforNone");
8160                    }
8161
8162                    var elements = document.querySelectorAll('.pre_cut_roll');
8163                    elements.forEach(function(element) {
8164                        element.style.display = 'none';
8165                    });
8166                }
8167            },
8168           updateMinRollcut() {
8169                const min_rollcut = this.optionConfig.min_rollcut[this.productIndex];
8170				var exactlength = '';
8171                window.dispatchEvent(
8172                    new CustomEvent(
8173                        "update-min-rollcut-" + this.productId,
8174                        {detail: min_rollcut}
8175                    )
8176                );
8177            },
8178
8179            updateMaxRollLengthRestriction() {
8180                const max_roll_length_restriction = this.optionConfig.max_roll_length_restriction[this.productIndex];
8181                const exact_width = this.optionConfig.exact_width[this.productIndex];
8182                const exact_length = this.optionConfig.exact_length[this.productIndex];
8183                const min_rollcut = this.optionConfig.min_rollcut[this.productIndex];
8184
8185                window.dispatchEvent(
8186                    new CustomEvent(
8187                        "update-max-roll-length-restriction-" + this.productId,
8188                        {
8189                            detail: {
8190                            max_roll_length_restriction: max_roll_length_restriction,
8191                            min_rollcut: min_rollcut,
8192                            exact_width: exact_width,
8193                            exact_length: exact_length,
8194                            }
8195                        }
8196                    )
8197                );
8198            },
8199            updateShippingDetails() {
8200                const pdp_shipping_text = this.optionConfig.pdp_shipping_text[this.productIndex];
8201                const expected_days_ship = this.optionConfig.expected_days_ship[this.productIndex];
8202                window.dispatchEvent(
8203                    new CustomEvent(
8204                        "update-shipping-details-" + this.productId,
8205                        {
8206                            detail: {
8207                            pdp_shipping_text: pdp_shipping_text,
8208                            expected_days_ship: expected_days_ship,
8209                            }
8210                        }
8211                    )
8212                );
8213            },
8214            updateGallery () {
8215                if (this.isLoadedFirst && this.ssrGalleryChildId > 0) {
8216                    return;
8217                }
8218
8219                if (this.productIndex) {
8220                    const images = this.optionConfig.images[this.productIndex];
8221                    images && window.dispatchEvent(new CustomEvent(
8222                        "update-gallery",
8223                        { detail: this.sortImagesByPosition(images) }
8224                    ));
8225                } else {
8226                    window.dispatchEvent(new Event("reset-gallery"));
8227                }
8228            },
8229            updateSquareFootage () {
8230                let squareFootageElement = document.getElementsByName('square_footage');
8231                
8232                if (squareFootageElement.length > 0) {
8233                    var squareFootage = squareFootageElement[0].value;
8234
8235                    if (squareFootage) {
8236                        // Trigger the 'keyup' event
8237                        var event = new KeyboardEvent('keyup', {
8238                            'key': 'Enter', // You can set this to any key, like 'Enter'
8239                            'bubbles': true,
8240                            'cancelable': true
8241                        });
8242
8243                        squareFootageElement[0].dispatchEvent(event);
8244                    }
8245                }
8246            },
8247            sortImagesByPosition(images) {
8248                return images.sort((x, y) => {
8249                    return x.position === y.position ? 0 : (parseInt(x.position) > parseInt(y.position) ? 1 : -1)
8250                });
8251            },
8252            onGetCartData(data) {
8253                this.preselectCartItems(data);
8254                this.preselectQuerystringItems();
8255                this.preselectLocationHashItems();
8256            },
8257            preselectCartItems(data) {
8258                // pre-select options based on cart data for current (quote) itemId
8259                const cart = data && data.cart;
8260                if (cart && cart.items) {
8261                    const cartItem = cart.items.find((item) => {
8262                        return (
8263                            item.item_id === this.itemId
8264                            && item.product_id === this.productId
8265                        )
8266                    });
8267                    if (cartItem && cartItem.options && cartItem.options.length) {
8268                        cartItem.options.map(option => {
8269                            this.changeOption(option.option_id, option.option_value);
8270                        })
8271                    }
8272                }
8273            },
8274            preselectQuerystringItems() {
8275                // pre-select option like ?size=167
8276                const urlQueryParams = new URLSearchParams(window.location.search.replace('?',''));
8277                Object.values(this.optionConfig.attributes).map(attribute => {
8278                    urlQueryParams.get(attribute.code) &&
8279                    this.changeOption(attribute.id, urlQueryParams.get(attribute.code));
8280                });
8281            },
8282            preselectLocationHashItems() {
8283                // pre-select option like #144=167
8284                const urlHashParams = new URLSearchParams(window.location.hash.replace('#',''));
8285                Object.values(this.optionConfig.attributes).map(attribute => {
8286                    urlHashParams.get(attribute.id) &&
8287                    this.changeOption(attribute.id, urlHashParams.get(attribute.id));
8288                });
8289            }
8290        }
8291    }
8292
8293    function isOptionVisible(element) {
8294        const computedStyle = window.getComputedStyle(element);
8295        return computedStyle.display !== 'none' && computedStyle.visibility !== 'hidden';
8296    }
8297</script>
vendor: 1 bytes, line 8297
8297
8298<script>
8299    function initCompareOnProductList() {
8300        return {
8301            addToCompare(productId) {
8302                const formKey = hyva.getFormKey();
8303                const postUrl = BASE_URL + 'catalog/product_compare/add/';
8304
8305                fetch(postUrl, {
8306                    "headers": {
8307                        "content-type": "application/x-www-form-urlencoded; charset=UTF-8",
8308                    },
8309                    "body": "form_key=" + formKey + "&product=" + productId + "&uenc=" + hyva.getUenc(),
8310                    "method": "POST",
8311                    "mode": "cors",
8312                    "credentials": "include"
8313                }).then(function (response) {
8314                    if (response.redirected) {
8315                        window.location.href = response.url;
8316                    }
8317                }).catch(function (error) {
8318                    typeof window.dispatchMessages !== "undefined" && window.dispatchMessages(
8319                        [{
8320                            type: "error",
8321                            text: error
8322                        }], 5000
8323                    );
8324                });
8325            }
8326        };
8327    }
8328</script>
vendor: 1 bytes, line 8328
8328
8329<script>
8330    function initWishlist() {
8331        return {
8332            addToWishlist(productId) {
8333                const formKey = hyva.getFormKey();
8334                const postUrl = BASE_URL + 'wishlist/index/add/';
8335
8336                fetch(postUrl, {
8337                    "headers": {
8338                        "content-type": "application/x-www-form-urlencoded; charset=UTF-8",
8339                    },
8340                    "body": "form_key=" + formKey + "&product=" + productId + "&uenc=" + hyva.getUenc(),
8341                    "method": "POST",
8342                    "mode": "cors",
8343                    "credentials": "include"
8344                }).then(function (response) {
8345                    if (response.redirected) {
8346                        window.location.href = response.url;
8347                    } else if (response.ok) {
8348                        return response.json();
8349                    } else {
8350                        typeof window.dispatchMessages !== "undefined" && window.dispatchMessages(
8351                            [{
8352                                type: "warning",
8353                                text: "Could not add item to wishlist."
8354                            }], 5000
8355                        );
8356                    }
8357                }).then(function (response) {
8358                    if (!response) { return }
8359                    typeof window.dispatchMessages !== "undefined" && window.dispatchMessages(
8360                        [{
8361                            type: (response.success) ? "success" : "error",
8362                            text: (response.success)
8363                                ? "Product has been added to your Wish List."
8364                                : response.error_message
8365                        }], 5000
8366                    );
8367                    const reloadCustomerDataEvent = new CustomEvent("reload-customer-section-data");
8368                    window.dispatchEvent(reloadCustomerDataEvent);
8369                }).catch(function (error) {
8370                    typeof window.dispatchMessages !== "undefined" && window.dispatchMessages(
8371                        [{
8372                            type: "error",
8373                            text: error
8374                        }], 5000
8375                    );
8376                });
8377            }
8378        }
8379    }
8380</script>
vendor: 1 bytes, line 8380
8380
8381<script>
8382    function initSwatchOptions(swatchConfig, swatchLabelValues = null) {
8383        const normalizedSwatchLabelValues = (
8384            swatchLabelValues
8385            && typeof swatchLabelValues === 'object'
8386            && !Array.isArray(swatchLabelValues)
8387        ) ? swatchLabelValues : {};
8388
8389        return {
8390            swatchConfig,
8391            swatchLabelValues: normalizedSwatchLabelValues,
8392            resolveSwatchLabel(attributeId, optionId) {
8393                if (optionId === undefined || optionId === null || optionId === '') {
8394                    return '';
8395                }
8396
8397                const optionKey = String(optionId);
8398                const labels = (
8399                    this.swatchLabelValues
8400                    && typeof this.swatchLabelValues === 'object'
8401                    && !Array.isArray(this.swatchLabelValues)
8402                ) ? this.swatchLabelValues : {};
8403                const flatLabel = labels[optionKey] ?? labels[optionId];
8404                if (flatLabel !== undefined && flatLabel !== null && flatLabel !== '') {
8405                    return String(flatLabel);
8406                }
8407
8408                const attrConfig = this.swatchConfig?.[attributeId] ?? this.swatchConfig?.[String(attributeId)];
8409                const attrLabels = attrConfig?.swatchLabelValues;
8410                if (attrLabels) {
8411                    const attrLabel = attrLabels[optionKey] ?? attrLabels[optionId];
8412                    if (attrLabel !== undefined && attrLabel !== null && attrLabel !== '') {
8413                        return String(attrLabel);
8414                    }
8415                }
8416
8417                const swatchOption = attrConfig?.[optionKey] ?? attrConfig?.[optionId];
8418                if (swatchOption?.label) {
8419                    return String(swatchOption.label);
8420                }
8421
8422                return this.getOptionLabelFromOptionConfig(attributeId, optionId) || '';
8423            },
8424            getAttributeSwatchData(attributeId) {
8425                const attributeKey = String(attributeId);
8426                const rawConfig = this.swatchConfig?.[attributeId] ?? this.swatchConfig?.[attributeKey];
8427                const labels = (
8428                    this.swatchLabelValues
8429                    && typeof this.swatchLabelValues === 'object'
8430                    && !Array.isArray(this.swatchLabelValues)
8431                ) ? this.swatchLabelValues : {};
8432                if (!rawConfig) {
8433                    return {details: {}, swatchLabelValues: labels};
8434                }
8435                const swatchConfig = Object.assign({}, rawConfig);
8436                if (swatchConfig['additional_data']) {
8437                    try {
8438                        swatchConfig['details'] = JSON.parse(swatchConfig['additional_data']);
8439                    } catch (error) {
8440                        swatchConfig['details'] = {};
8441                    }
8442                } else {
8443                    swatchConfig['details'] = swatchConfig['details'] ?? {};
8444                }
8445                swatchConfig['swatchLabelValues'] = labels;
8446
8447                return swatchConfig;
8448            },
8449            getAllAttributeOptions(attributeId) {
8450                return (
8451                    this.optionConfig.attributes[attributeId] &&
8452                    this.optionConfig.attributes[attributeId].options
8453                ) || []
8454            },
8455            optionIsActive(attributeId, optionId) {
8456                const optionKey = String(optionId);
8457                return !!this.getAllowedAttributeOptions(attributeId).find(
8458                    option => String(option.id) === optionKey
8459                );
8460            },
8461            optionIsEnabled(attributeId, optionId) {
8462                const attributeKey = String(attributeId);
8463                const optionKey = String(optionId);
8464                const index = this.optionConfig?.index || {};
8465                for (const productId in index) {
8466                    const productOptions = index[productId] || {};
8467                    if (
8468                        String(productOptions[attributeKey]) === optionKey
8469                        || String(productOptions[attributeId]) === optionKey
8470                    ) {
8471                        return true;
8472                    }
8473                }
8474                const attributeOptions = (
8475                    this.optionConfig?.attributes?.[attributeId]?.options
8476                    || this.optionConfig?.attributes?.[attributeKey]?.options
8477                    || []
8478                );
8479                const match = attributeOptions.find((option) => String(option.id) === optionKey);
8480                if (!match?.products?.length) {
8481                    return false;
8482                }
8483                return match.products.some((childId) => {
8484                    const key = String(childId);
8485                    return Object.prototype.hasOwnProperty.call(index, key)
8486                        || Object.prototype.hasOwnProperty.call(index, childId);
8487                });
8488            },
8489            mapSwatchTypeNumberToTypeCode(typeNumber) {
8490                switch ("" + typeNumber) {
8491                    case "1":
8492                        return "color"
8493                    case "2":
8494                        return "image"
8495                    case "3":
8496                        return "empty"
8497                    case "0":
8498                    default:
8499                        return "text"
8500                }
8501            },
8502            getTypeOfFirstOption(attributeId) {
8503                for (const optionId in this.swatchConfig[attributeId]) {
8504                    const option = this.swatchConfig[attributeId][optionId];
8505                    if (typeof option.type !== 'undefined') {
8506                        return this.mapSwatchTypeNumberToTypeCode(option.type);
8507                    }
8508                }
8509            },
8510            getVisualSwatchType(attributeId, targetOptionId) {
8511                // If a type configuration is present for the given option id, use it
8512                const config = this.swatchConfig[attributeId];
8513                if (config[targetOptionId] && typeof config[targetOptionId].type !== 'undefined') {
8514                    return this.mapSwatchTypeNumberToTypeCode(config[targetOptionId].type);
8515                }
8516
8517                // Otherwise - if no config is present for the target option - use the type of the first option
8518                // with a type property from the attribute, thus assuming its the same type as the target option.
8519                // (This edge case condition can occur on single swatch products if some options are not salable)
8520                return this.getTypeOfFirstOption(attributeId);
8521            },
8522            getSwatchType(attributeId, optionId) {
8523                // Deserialize the attribute details the first time they are used
8524                if (this.swatchConfig[attributeId] && ! this.swatchConfig[attributeId].details) {
8525                    this.swatchConfig[attributeId] = this.getAttributeSwatchData(attributeId);
8526                }
8527                const type =  this.swatchConfig[attributeId] &&
8528                    this.swatchConfig[attributeId].details &&
8529                    this.swatchConfig[attributeId].details.swatch_input_type ||
8530                    "empty";
8531                return type === 'visual' ? this.getVisualSwatchType(attributeId, optionId) : type;
8532            },
8533            isTextSwatch(attributeId, optionId) {
8534                return this.getSwatchType(attributeId, optionId) === 'text';
8535            },
8536            isVisualSwatch(attributeId, optionId) {
8537                const type = this.getSwatchType(attributeId, optionId);
8538
8539                return ['image', 'color'].includes(type);
8540            },
8541            getSwatchBackgroundStyle(attributeId, optionId) {
8542                const config = this.getSwatchConfig(attributeId, optionId);
8543                const type = this.getSwatchType(attributeId, optionId);
8544
8545                if (type === "color") {
8546                        return 'background-color:' + config.value;
8547                } else if (type === "image") {
8548                        return "background: #ffffff url('" + config.value + "') no-repeat center";
8549                } else {
8550                    return '';
8551                }
8552            },
8553			getSwatchText(attributeId, optionId) {
8554                return this.resolveSwatchLabel(attributeId, optionId);
8555            },
8556            getLegacyColorSwatchImageHtml(attributeId, optionId) {
8557                const map = this._legacyColorSwatchImages || {};
8558                return this.getSwatchTextUrl(attributeId, optionId, map);
8559            },
8560            getSwatchTextUrl(attributeId, optionId, childSwatch) {
8561                const config = this.getSwatchConfig(attributeId, optionId);
8562                const optionKey = String(optionId);
8563                const swatchMap = (
8564                    childSwatch
8565                    && typeof childSwatch === 'object'
8566                    && !Array.isArray(childSwatch)
8567                ) ? childSwatch : {};
8568                const swatchUrl = swatchMap[optionKey] ?? swatchMap[optionId];
8569                if(swatchUrl != "" && swatchUrl != null && isValidURL(swatchUrl)){
8570					return "<img loading='lazy' src="+swatchUrl+" title="+swatchUrl+" alt="+swatchUrl+"/>";
8571				} else if(config && config.value!="" && config.value!= null && isValidURL(config.value)){
8572					return "<img loading='lazy' src="+config.value+" title="+config.value+" alt="+config.value+"/>";
8573				} else {
8574					 var placeHoldernew = BASE_URL+'media/catalog/product/placeholder/default/swatch_placeholder.png';
8575
8576					return "<img  width= '60px' height='60px' src="+placeHoldernew+" title="+placeHoldernew+" alt="+placeHoldernew+"/>";
8577				}
8578			},
8579            getOptionLabelFromOptionConfig(attributeId, optionId) {
8580                const optionKey = String(optionId);
8581                const option = this.getAllAttributeOptions(attributeId).find(
8582                    (entry) => String(entry.id) === optionKey
8583                );
8584                return option?.label || '';
8585            },
8586            getSwatchConfig(attributeId, optionId) {
8587                const attrConfig = this.swatchConfig[attributeId] ?? this.swatchConfig[String(attributeId)];
8588                if (!attrConfig) {
8589                    return false;
8590                }
8591                return attrConfig[optionId] ?? attrConfig[String(optionId)] ?? false;
8592            },
8593            activeTooltipItem: false,
8594            tooltipPositionElement: false,
8595            isTooltipVisible() {
8596                return this.activeTooltipItem &&
8597                    this.getSwatchConfig(
8598                        this.activeTooltipItem.attribute,
8599                        this.activeTooltipItem.item
8600                    );
8601            },
8602            getTooltipImageStyle(attributeId, optionId) {
8603                const config = this.getSwatchConfig(attributeId, optionId);
8604                const type = this.getSwatchType(attributeId, optionId);
8605
8606                if (type === "color") {
8607                    return 'background-color:' + config.value + '; width: 110px; height: 90px;';
8608                } else if (type === "image") {
8609                    return "background: #ffffff url('" + config.thumb +
8610                        "') center center no-repeat; width: 110px; height: 90px;";
8611                } else {
8612                    return 'display:none';
8613                }
8614            },
8615            getTooltipPosition() {
8616                if (!this.tooltipPositionElement) {
8617                    return '';
8618                }
8619                const rect = this.tooltipPositionElement.getBoundingClientRect();
8620                const elementWidth = rect.width;
8621                const elementHeight = rect.height;
8622                const container = document.querySelector('.swatch___render');
8623                if (!container) {
8624                    return '';
8625                }
8626                const containerRect = container.getBoundingClientRect();
8627                const topPosition = rect.top - containerRect.top + 10;
8628                const leftPosition = rect.left - containerRect.left;
8629
8630                return `                    
8631                    top: ${topPosition}px;
8632                    left: ${leftPosition}px;
8633                `;
8634            },
8635            getSwatchConfigLabel(attributeId, optionId) {
8636                const label = this.resolveSwatchLabel(attributeId, optionId);
8637                return label !== '' ? label : false;
8638            },
8639            getTooltipLabel() {
8640                return this.getSwatchConfigLabel(this.activeTooltipItem.attribute, this.activeTooltipItem.item);
8641                //return this.getSwatchConfig(this.activeTooltipItem.attribute, this.activeTooltipItem.item).label
8642            },
8643            focusedLabel: false,
8644            focusLabel(optionId) {
8645                this.focusedLabel = optionId;
8646            },
8647            blurLabel() {
8648                this.focusedLabel = false;
8649            },
8650            showSwatches: true,
8651            initShowSwatchesIntersect() {
8652                this.showSwatches = true;
8653            },
8654
8655            quickShipValidation(attributeCode, attributeId, optionId){
8656               if (optionId === undefined || optionId === null || optionId === '') {
8657                   return 0;
8658               }
8659               var is_quick_ship_color = 0;
8660                var optionConfigObj = this.optionConfig;
8661                if (!optionConfigObj || typeof optionConfigObj !== 'object') {
8662                    return 0;
8663                }
8664                if(attributeCode == 'incstores_pim_color_axis'){
8665                    var attributes = optionConfigObj.attributes;
8666                    if (!attributes || !attributes[attributeId] || !attributes[attributeId]['options']) {
8667                        return 0;
8668                    }
8669                    var quickShipColorIds = optionConfigObj.quick_ship_color_ids || [];
8670                    if (quickShipColorIds.length) {
8671                        return quickShipColorIds.some(function (id) {
8672                            return String(id) === String(optionId);
8673                        }) ? 1 : 0;
8674                    }
8675                    var quickShipMap = optionConfigObj.quick_ship;
8676                    if (!quickShipMap) {
8677                        return 0;
8678                    }
8679                    var attributes_options = attributes[attributeId]['options'];
8680
8681                    attributes_options.forEach(function(option_details) {
8682                        if(option_details['id'] == optionId){
8683                            option_details['products'].forEach(function(child_product_id) {
8684                                if(quickShipMap[String(child_product_id)] == 1 || quickShipMap[child_product_id] == 1){
8685                                    is_quick_ship_color = 1;
8686                                    return false;
8687                                }
8688                            });
8689                        }
8690                    });
8691                }
8692                return is_quick_ship_color;
8693            },
8694
8695            hasQuickShipColorOptions(attributeCode, attributeId) {
8696                if (!this.optionConfig?.attributes?.[attributeId]?.options?.length) {
8697                    return false;
8698                }
8699                if (this.selectedValues) {
8700                    Object.keys(this.selectedValues).forEach(function (key) {
8701                        void this.selectedValues[key];
8702                    }.bind(this));
8703                }
8704                var colorIds = this.optionConfig.quick_ship_color_ids || [];
8705                var options = this.optionConfig.attributes[attributeId].options;
8706                for (var i = 0; i < options.length; i++) {
8707                    var optionId = options[i].id;
8708                    var isQuick = colorIds.length
8709                        ? colorIds.some(function (id) { return String(id) === String(optionId); })
8710                        : (this.quickShipValidation(attributeCode, attributeId, optionId) === 1);
8711                    if (!isQuick) {
8712                        continue;
8713                    }
8714                    if (!this.optionIsEnabled(attributeId, optionId)) {
8715                        continue;
8716                    }
8717                    if (!this.optionIsActive(attributeId, optionId)) {
8718                        continue;
8719                    }
8720                    return true;
8721                }
8722                return false;
8723            },
8724
8725            hasNormalColorOptions(attributeCode, attributeId) {
8726                if (!this.optionConfig?.attributes?.[attributeId]?.options?.length) {
8727                    return false;
8728                }
8729                if (this.shipRegionZipActive && this.customerRegionCode) {
8730                    return false;
8731                }
8732                var colorIds = this.optionConfig.quick_ship_color_ids || [];
8733                var options = this.optionConfig.attributes[attributeId].options;
8734                for (var i = 0; i < options.length; i++) {
8735                    var optionId = options[i].id;
8736                    var isQuick = colorIds.length
8737                        ? colorIds.some(function (id) { return String(id) === String(optionId); })
8738                        : (this.quickShipValidation(attributeCode, attributeId, optionId) === 1);
8739                    if (!isQuick) {
8740                        if (!this.optionIsEnabled(attributeId, optionId)) {
8741                            continue;
8742                        }
8743                        if (!this.optionIsActive(attributeId, optionId)) {
8744                            continue;
8745                        }
8746                        return true;
8747                    }
8748                }
8749                return false;
8750            },
8751
8752            shouldShowQuickShipSection(attributeCode, attributeId) {
8753                if (this.shipRegionZipActive && this.customerRegionCode) {
8754                    return false;
8755                }
8756                return this.hasQuickShipColorOptions(attributeCode, attributeId);
8757            },
8758
8759            getOtherSwatchAttributeId(section = null) {
8760                const target = section || document.querySelector('.swatch-attribute.other_swatch_option');
8761                if (!target || !this.optionConfig?.attributes) {
8762                    return null;
8763                }
8764                for (const key in this.optionConfig.attributes) {
8765                    const code = this.optionConfig.attributes[key]?.code;
8766                    if (code && code !== 'incstores_pim_color_axis' && target.classList.contains(code)) {
8767                        return parseInt(key, 10);
8768                    }
8769                }
8770                for (const key in this.optionConfig.attributes) {
8771                    const code = this.optionConfig.attributes[key]?.code;
8772                    if (code && code !== 'incstores_pim_color_axis') {
8773                        return parseInt(key, 10);
8774                    }
8775                }
8776                return null;
8777            },
8778
8779            /**
8780             * Count salable/enabled options only. Disabled Magento variants stay out of the UI.
8781             * Hide "Select An Option" when fewer than two enabled options remain.
8782             */
8783            countEnabledOtherSwatchOptions(attrId) {
8784                if (!attrId) {
8785                    return 0;
8786                }
8787                const options = this.optionConfig?.attributes?.[attrId]?.options || [];
8788                return options.filter((option) => this.optionIsEnabled(attrId, option.id)).length;
8789            },
8790
8791            countVisibleOtherSwatchOptions() {
8792                return this.countEnabledOtherSwatchOptions(this.getOtherSwatchAttributeId());
8793            },
8794
8795            syncOtherSwatchOptionVisibility() {
8796                const sections = document.querySelectorAll('.swatch-attribute.other_swatch_option');
8797                if (!sections.length) {
8798                    return;
8799                }
8800                const self = this;
8801                const applyVisibility = () => {
8802                    sections.forEach((variantSection) => {
8803                        const attrId = self.getOtherSwatchAttributeId(variantSection);
8804                        if (!attrId) {
8805                            return;
8806                        }
8807                        const optionCount = self.countEnabledOtherSwatchOptions(attrId);
8808                        const shouldShow = optionCount > 1;
8809                        variantSection.classList.toggle('dcw-single-option-hidden', !shouldShow);
8810                        // Theme CSS defaults other_swatch_option to display:none — force block/none.
8811                        variantSection.style.setProperty(
8812                            'display',
8813                            shouldShow ? 'block' : 'none',
8814                            'important'
8815                        );
8816                        if (!shouldShow && optionCount === 1) {
8817                            const options = self.optionConfig?.attributes?.[attrId]?.options || [];
8818                            const enabledOption = options.find((option) => self.optionIsEnabled(attrId, option.id));
8819                            const optionId = enabledOption?.id;
8820                            if (optionId !== undefined
8821                                && String(self.selectedValues[attrId]) !== String(optionId)
8822                                && typeof self.changeOption === 'function') {
8823                                self.changeOption(attrId, optionId);
8824                            }
8825                        }
8826                    });
8827                };
8828                applyVisibility();
8829                window.setTimeout(applyVisibility, 300);
8830            },
8831
8832            /**
8833             * After color selection only (including disabled colors): if current variant/option
8834             * is incompatible, auto-select the cheapest compatible one. Never run on variant clicks.
8835             */
8836            autoSelectCompatibleOtherOption(colorAttrId) {
8837                if (!colorAttrId || !this.optionConfig?.attributes) {
8838                    return;
8839                }
8840                const selectedColor = this.selectedValues[colorAttrId];
8841                if (!selectedColor) {
8842                    return;
8843                }
8844
8845                let otherAttrId = null;
8846                if (typeof this.getAttributeIdByCode === 'function') {
8847                    otherAttrId = this.getAttributeIdByCode('incstores_pim_variant_axis')
8848                        || this.getAttributeIdByCode('product_option');
8849                }
8850                if (!otherAttrId) {
8851                    const section = document.querySelector('.swatch-attribute.other_swatch_option');
8852                    otherAttrId = this.getOtherSwatchAttributeId(section);
8853                }
8854                if (!otherAttrId || !this.optionConfig.attributes[otherAttrId]) {
8855                    return;
8856                }
8857
8858                const currentOther = this.selectedValues[otherAttrId];
8859                const isCurrentCompatible = currentOther
8860                    && typeof this.optionIsActive === 'function'
8861                    && this.optionIsActive(otherAttrId, currentOther);
8862
8863                if (isCurrentCompatible) {
8864                    return;
8865                }
8866
8867                const options = this.optionConfig.attributes[otherAttrId].options || [];
8868                let lowestPrice = null;
8869                let lowestOptionId = null;
8870
8871                options.forEach((option) => {
8872                    if (typeof this.optionIsEnabled === 'function'
8873                        && !this.optionIsEnabled(otherAttrId, option.id)) {
8874                        return;
8875                    }
8876                    const productIds = option.products || [];
8877                    productIds.forEach((productId) => {
8878                        const product = this.optionConfig.index[productId]
8879                            || this.optionConfig.index[String(productId)];
8880                        if (!product || String(product[colorAttrId]) !== String(selectedColor)) {
8881                            return;
8882                        }
8883                        const priceData = this.optionConfig.optionPrices[productId]
8884                            || this.optionConfig.optionPrices[String(productId)];
8885                        if (!priceData) {
8886                            return;
8887                        }
8888                        const price = priceData.finalPrice.amount;
8889                        if (lowestPrice === null || price < lowestPrice) {
8890                            lowestPrice = price;
8891                            lowestOptionId = option.id;
8892                        }
8893                    });
8894                });
8895
8896                if (lowestOptionId === null
8897                    || String(this.selectedValues[otherAttrId]) === String(lowestOptionId)) {
8898                    return;
8899                }
8900
8901                if (typeof this.changeOption === 'function') {
8902                    this.changeOption(otherAttrId, lowestOptionId);
8903                    return;
8904                }
8905
8906                const el = document.querySelector(
8907                    'input[name="super_attribute[' + otherAttrId + ']"][value="' + lowestOptionId + '"]'
8908                );
8909                if (el) {
8910                    el.click();
8911                }
8912            },
8913
8914            /**
8915             * After variant / Select An Option change: if current color is unavailable,
8916             * auto-select the cheapest compatible color. Never run on color clicks.
8917             */
8918            autoSelectCompatibleColorOption(otherAttrId) {
8919                if (!otherAttrId || !this.optionConfig?.attributes) {
8920                    return;
8921                }
8922                const selectedOther = this.selectedValues[otherAttrId];
8923                if (!selectedOther) {
8924                    return;
8925                }
8926
8927                let colorAttrId = null;
8928                if (typeof this.getAttributeIdByCode === 'function') {
8929                    colorAttrId = this.getAttributeIdByCode('incstores_pim_color_axis');
8930                }
8931                if (!colorAttrId && typeof this.getShipRegionColorAttributeId === 'function') {
8932                    colorAttrId = this.getShipRegionColorAttributeId();
8933                }
8934                if (!colorAttrId || !this.optionConfig.attributes[colorAttrId]) {
8935                    return;
8936                }
8937
8938                const currentColor = this.selectedValues[colorAttrId];
8939                const isCurrentCompatible = currentColor
8940                    && typeof this.optionIsActive === 'function'
8941                    && this.optionIsActive(colorAttrId, currentColor);
8942
8943                if (isCurrentCompatible) {
8944                    return;
8945                }
8946
8947                const options = this.optionConfig.attributes[colorAttrId].options || [];
8948                let lowestPrice = null;
8949                let lowestOptionId = null;
8950
8951                options.forEach((option) => {
8952                    if (typeof this.optionIsEnabled === 'function'
8953                        && !this.optionIsEnabled(colorAttrId, option.id)) {
8954                        return;
8955                    }
8956                    const productIds = option.products || [];
8957                    productIds.forEach((productId) => {
8958                        const product = this.optionConfig.index[productId]
8959                            || this.optionConfig.index[String(productId)];
8960                        if (!product || String(product[otherAttrId]) !== String(selectedOther)) {
8961                            return;
8962                        }
8963                        const priceData = this.optionConfig.optionPrices[productId]
8964                            || this.optionConfig.optionPrices[String(productId)];
8965                        if (!priceData) {
8966                            return;
8967                        }
8968                        const price = priceData.finalPrice.amount;
8969                        if (lowestPrice === null || price < lowestPrice) {
8970                            lowestPrice = price;
8971                            lowestOptionId = option.id;
8972                        }
8973                    });
8974                });
8975
8976                if (lowestOptionId === null
8977                    || String(this.selectedValues[colorAttrId]) === String(lowestOptionId)) {
8978                    return;
8979                }
8980
8981                if (typeof this.changeOption === 'function') {
8982                    this.changeOption(colorAttrId, lowestOptionId);
8983                    return;
8984                }
8985
8986                const el = document.querySelector(
8987                    'input[name="super_attribute[' + colorAttrId + ']"][value="' + lowestOptionId + '"]'
8988                );
8989                if (el) {
8990                    el.click();
8991                }
8992            },
8993
8994            syncNormalColorSwatchQuickShipVisibility() {
8995                if (this.shipRegionZipActive && this.customerRegionCode) {
8996                    return;
8997                }
8998                if (typeof this.quickShipValidation !== 'function') {
8999                    if (typeof this.syncNormalColorSwatchSectionVisibility === 'function') {
9000                        this.syncNormalColorSwatchSectionVisibility();
9001                    }
9002                    return;
9003                }
9004                const self = this;
9005                document.querySelectorAll('.normal_color_swatch_option .selectOptionColor').forEach(function (el) {
9006                    const input = el.querySelector('input.product-option-value-input[name^="super_attribute"]');
9007                    if (!input) {
9008                        return;
9009                    }
9010                    const nameMatch = input.name.match(/super_attribute\[(\d+)\]/);
9011                    if (!nameMatch) {
9012                        return;
9013                    }
9014                    const attributeId = parseInt(nameMatch[1], 10);
9015                    const optionId = input.value;
9016                    const attributeCode = input.getAttribute('data-attributecode') || 'incstores_pim_color_axis';
9017                    if (self.quickShipValidation(attributeCode, attributeId, optionId) === 1) {
9018                        el.classList.add('hidden');
9019                        el.style.display = 'none';
9020                    } else {
9021                        el.classList.remove('hidden');
9022                        el.style.display = '';
9023                    }
9024                });
9025                if (typeof this.syncNormalColorSwatchSectionVisibility === 'function') {
9026                    this.syncNormalColorSwatchSectionVisibility();
9027                }
9028            },
9029
9030            getColorAttributeId() {
9031                if (typeof this.getAttributeIdByCode === 'function') {
9032                    const id = this.getAttributeIdByCode('incstores_pim_color_axis');
9033                    return id ? parseInt(String(id), 10) : null;
9034                }
9035                if (!this.optionConfig?.attributes) {
9036                    return null;
9037                }
9038                for (const key in this.optionConfig.attributes) {
9039                    if (this.optionConfig.attributes[key]?.code === 'incstores_pim_color_axis') {
9040                        return parseInt(key, 10);
9041                    }
9042                }
9043                return null;
9044            },
9045
9046            /**
9047             * Hide entire "Select A Color" block when every color is Quick Ship (or none left).
9048             */
9049            syncNormalColorSwatchSectionVisibility() {
9050                const sections = document.querySelectorAll('.normal_color_swatch_option');
9051                if (!sections.length) {
9052                    return;
9053                }
9054                const colorAttrId = this.getColorAttributeId();
9055                const shouldShow = colorAttrId
9056                    && typeof this.hasNormalColorOptions === 'function'
9057                    && this.hasNormalColorOptions('incstores_pim_color_axis', colorAttrId);
9058
9059                sections.forEach((section) => {
9060                    if (!shouldShow) {
9061                        section.classList.add('hidden');
9062                        section.style.setProperty('display', 'none', 'important');
9063                    } else {
9064                        section.classList.remove('hidden', 'sr-only');
9065                        section.style.setProperty('display', 'block', 'important');
9066                    }
9067                });
9068            }
9069        }
9070    }
9071
9072	function isValidURL(url) {
9073    // Regular expression for URL validation
9074    var pattern = /^(https?:\/\/)?([\w.]+)\.([a-z]{2,})(\/[\w\.-]*)*\/?$/i;
9075    return pattern.test(url);
9076}
9077</script>
vendor: 1 bytes, line 9077
9077
9078<script>
9079    'use strict';
9080
9081    (function () {
9082        const modals = [];
9083        const excludedFromFocusTrapping = new Set();
9084
9085        function trapFocusInNextModalWithOverlay() {
9086            for (let idx = modals.length -1; idx >= 0; idx--) {
9087                const nextOnStack = modals[idx];
9088                const nextDialogElement = nextOnStack.instance.$refs[nextOnStack.name];
9089                if (! isOverlayDisabled(nextDialogElement)) {
9090                    hyva.trapFocus(nextDialogElement);
9091                    break;
9092                }
9093            }
9094        }
9095
9096        function focusables(dialogElement) {
9097            const selector = 'button, [href], input, textarea, select, details, [tabindex]:not([tabindex="-1"])';
9098            return Array.from(dialogElement.querySelectorAll(selector))
9099                .filter(el => !el.hasAttribute('disabled'));
9100        }
9101
9102        function firstVisible(elements) {
9103            const a = Array.from(elements);
9104            for (let i = 0; i < a.length; i++) {
9105                if (a[i].offsetWidth || a[i].offsetHeight || a[i].getClientRects().length) return a[i];
9106            }
9107            return null;
9108        }
9109
9110        function isInViewport(element) {
9111            const rect = element && element.getBoundingClientRect();
9112            return rect &&
9113                rect.top >= 0 &&
9114                rect.left >= 0 &&
9115                rect.right <= window.innerWidth &&
9116                rect.bottom <= window.innerHeight;
9117        }
9118
9119        function setFocusAfterTransition(dialogElement, duration) {
9120                        const nested = Array.from(dialogElement.querySelectorAll('[role="dialog"]'));
9121            const candidates = Array.from(dialogElement.querySelectorAll('[x-focus-first]'));
9122            next: for (let candidate of candidates) {
9123                for (let child of nested) {
9124                    if (child.contains(candidate)) continue next;
9125                }
9126                setTimeout(() => candidate.focus(), 50);
9127                break;
9128            }
9129            window.setTimeout(() => {
9130                const focusElement = firstVisible(dialogElement.querySelectorAll('[x-focus-first]')) ||
9131                    focusables(dialogElement)[0] ||
9132                    null;
9133                focusElement && isInViewport(focusElement) && focusElement.focus();
9134            }, Math.max(1, duration));
9135        }
9136
9137        function determineTrigger($refs, dialog, trigger) {
9138                        if (typeof trigger === 'undefined' && typeof dialog === 'object' && dialog.target instanceof HTMLElement) {
9139                return dialog.target;
9140            }
9141                        if (typeof dialog === 'string' && typeof trigger === 'object' && trigger.target instanceof HTMLElement) {
9142                return trigger.target;
9143            }
9144                        if (typeof trigger === 'string') {
9145                try {
9146                    return $refs[trigger] || document.querySelector(trigger)
9147                } catch (e) {}
9148            }
9149                        if (trigger instanceof Element) {
9150                return trigger;
9151            }
9152
9153                        return null;
9154        }
9155
9156        function isOverlayDisabled(dialog) {
9157            return dialog && dialog.hasAttribute('x-no-overlay')
9158        }
9159
9160        function areRemainingModalsWithoutOverlay(modals)
9161        {
9162            const overflowDisabled = modals.map(modal => modal.instance.$refs[modal.name]).filter(isOverlayDisabled);
9163
9164            return overflowDisabled.length === modals.length;
9165        }
9166
9167        window.hyva.modal = function(options) {
9168
9169            const config = Object.assign({
9170                dialog: 'dialog',                 duration: 300,                 transitionEnter: 'transition ease-out duration-300',
9171                transitionEnterStart: 'opacity-0',
9172                transitionEnterEnd: 'opacity-100',
9173                transitionLeave: 'transition ease-in duration-300',
9174                transitionLeaveStart: 'opacity-100',
9175                transitionLeaveEnd: 'opacity-0',
9176            }, options);
9177            let lastHide = 0;
9178
9179            return {
9180                opened: {},
9181                show(dialog, trigger) {
9182                    const focusTargetAfterHide = determineTrigger(this.$refs, dialog, trigger);
9183                    const name = typeof dialog === 'string' ? dialog : config.dialog;
9184                    const dialogElement = this.$refs[name];
9185                    if (! dialogElement) {
9186                                                return;
9187                    }
9188                    const useOverlay = ! dialogElement.hasAttribute('x-no-overlay');
9189
9190                    dialogElement.scrollTop = 0;
9191
9192                                        if (this.opened[name]) {
9193                        return;
9194                    }
9195
9196                    if (focusTargetAfterHide) {
9197                        focusTargetAfterHide.setAttribute('aria-expanded', 'true');
9198                    }
9199
9200                    this.opened[name] = true;
9201                    useOverlay && this.$nextTick(() => hyva.trapFocus(dialogElement));
9202                    setFocusAfterTransition(dialogElement, config.duration);
9203
9204                    const frame = {name, instance: this, focusTarget: focu
9204sTargetAfterHide, time: Date.now()};
9205
9206                    modals.push(frame);
9207                    if (useOverlay) {
9208                        document.body.classList.add('overflow-hidden');
9209                    }
9210                    return new Promise(resolve => frame.resolve = resolve);
9211                },
9212                cancel() {
9213                    this.hide(false);
9214                },
9215                ok() {
9216                    this.hide(true);
9217                },
9218                hide(value) {
9219                                        if (Date.now() - lastHide < config.duration) {
9220                        return;
9221                    }
9222                    lastHide = Date.now();
9223
9224                    const modal = modals.pop() || {};
9225                    const name = modal.name;
9226                    this.opened[name] = false;
9227                    hyva.releaseFocus(modal.instance.$refs[modal.name])
9228                    trapFocusInNextModalWithOverlay();
9229
9230                    const nextFocusAfterHide = modal.focusTarget;
9231                    nextFocusAfterHide && setTimeout(() => {
9232                        nextFocusAfterHide.setAttribute('aria-expanded', 'false');
9233                        nextFocusAfterHide.focus()
9234                    }, config.duration);
9235
9236                    if (modals.length === 0 || areRemainingModalsWithoutOverlay(modals)) {
9237                        document.body.classList.remove('overflow-hidden');
9238                    }
9239
9240                    modal.resolve(value);
9241                },
9242                overlay(dialog) {
9243                    const name = typeof dialog === 'string' ? dialog : config.dialog;
9244                    return {
9245                        ['x-show']() {
9246                            return this.opened[name]
9247                        },
9248                        ['x-transition:enter']: config.transitionEnter,
9249                        ['x-transition:enter-start']: config.transitionEnterStart,
9250                        ['x-transition:enter-end']: config.transitionEnterEnd,
9251                        ['x-transition:leave']: config.transitionLeave,
9252                        ['x-transition:leave-start']: config.transitionLeaveStart,
9253                        ['x-transition:leave-end']: config.transitionLeaveEnd,
9254                        ['@hyva-modal-show.window'](event) {
9255                            event.detail && event.detail.dialog === name && this.show(name, event.detail.focusAfterHide)
9256                        }
9257                    };
9258                }
9259            };
9260        }
9261
9262        window.hyva.modal.peek = () => modals.length > 0 && modals[modals.length -1]
9263
9264        window.hyva.modal.pop = function () {
9265            if (modals.length > 0) {
9266                const modal = modals[modals.length -1];
9267                modal.instance.hide();
9268            }
9269        }
9270
9271        window.hyva.modal.excludeSelectorsFromFocusTrap = function (selectors) {
9272            typeof selectors === 'string' || selectors instanceof String
9273                ? excludedFromFocusTrapping.add(selectors)
9274                : selectors.map(selector => excludedFromFocusTrapping.add(selector));
9275        }
9276
9277        window.hyva.modal.eventListeners = {
9278            keydown: event => {
9279                if (event.key === 'Escape') {
9280                    window.hyva.modal.pop();
9281                }
9282            },
9283                        click: event => {
9284                if (modals.length > 0) {
9285                    const modal = modals[modals.length -1];
9286                    const dialog = modal.instance.$refs[modal.name];
9287                    if (modal.time + 50 < Date.now() && // if last click processing is more than 50ms ago
9288                        ! isOverlayDisabled(dialog) && // if dialog has overlay
9289                        ! dialog.contains(event.target)) { // if click is outside of dialog
9290                        modal.instance.hide();
9291                    }
9292                }
9293            }
9294        };
9295
9296        document.addEventListener('keydown', window.hyva.modal.eventListeners.keydown);
9297
9298        document.addEventListener('click', window.hyva.modal.eventListeners.click);
9299    })();
9300</script>
vendor: 1 bytes, line 9300
9300
9301<script>
9302    'use strict';
9303
9304    (() => {
9305        const equalizeButtonWidths = (buttons) => {
9306            const buttonList = buttons.querySelectorAll('[data-element="link"], [data-element="empty_link"]');
9307            let buttonMinWidth = 0;
9308
9309            buttonList.forEach(button => {
9310                const buttonWidth = button.offsetWidth;
9311
9312                if (buttonWidth > buttonMinWidth) {
9313                    buttonMinWidth = buttonWidth;
9314                }
9315            });
9316
9317            buttonList.forEach(button => {
9318                button.style.minWidth = `${buttonMinWidth}px`;
9319            });
9320        };
9321
9322        window.addEventListener('DOMContentLoaded', () => {
9323            document.querySelectorAll('[data-content-type="buttons"][data-same-width="true"]').forEach(buttons => {
9324                equalizeButtonWidths(buttons);
9325            });
9326        });
9327    })();
9328</script>
vendor: 1 bytes, line 9328
9328
9329<script>
9330    'use strict';
9331
9332    (() => {
9333        const initCarousels = (elements) => {
9334            if (!Glider) {
9335                return;
9336            }
9337
9338            const initProductCarousel = (carousel) => {
9339                const gliderElement = carousel.querySelector('[data-role="glider-content"]');
9340
9341                if (!gliderElement) {
9342                    return;
9343                }
9344
9345                const gliderDots = carousel.querySelector('.glider-dots');
9346                const gliderPrev = carousel.querySelector('.glider-prev');
9347                const gliderNext = carousel.querySelector('.glider-next');
9348
9349                const glider = new Glider(gliderElement, {
9350                    slidesToShow: 1.2,
9351                    slidesToScroll: 2,
9352                    scrollLock: true,
9353                    draggable: true,
9354                    dragVelocity: 2.5,
9355                    dots: gliderDots,
9356                    arrows: {
9357                        prev: gliderPrev,
9358                        next: gliderNext,
9359                    },
9360                    responsive: [
9361                        {
9362                            breakpoint: 768,
9363                            settings: {
9364                                slidesToShow: 3,
9365                                slidesToScroll: 3,
9366                            }
9367                        },
9368                        {
9369                            breakpoint: 1024,
9370                            settings: {
9371                                slidesToShow: 4,
9372                                slidesToScroll: 4,
9373                            }
9374                        },
9375                        {
9376                            breakpoint: 1200,
9377                            settings: {
9378                                slidesToShow: 5,
9379                                slidesToScroll: 5,
9380                            }
9381                        }
9382                    ],
9383                });
9384
9385                carousel.classList.remove('overflow-x-scroll');
9386                gliderPrev.classList.remove('hidden');
9387                gliderNext.classList.remove('hidden');
9388
9389                if (carousel.dataset.autoplay !== 'false') {
9390                    gliderAutoplay(
9391                        glider,
9392                        carousel.dataset.autoplaySpeed,
9393                        carousel.dataset.infiniteLoop
9394                    );
9395                }
9396            };
9397
9398            const initSliderCarousel = (slider) => {
9399                slider.innerHTML = `<div data-role="glider-content">${slider.innerHTML}</div>`;
9400                slider.classList.add('glider-contain');
9401
9402                slider.insertAdjacentHTML(
9403                    'beforeend',
9404                    '\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
9404003D\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
9404003D\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'
9405                );
9406
9407                const gliderElement = slider.querySelector('[data-role="glider-content"]');
9408                const gliderDots = slider.querySelector('.glider-dots');
9409                const gliderPrev = slider.querySelector('.glider-prev');
9410                const gliderNext = slider.querySelector('.glider-next');
9411
9412                const glider = new Glider(gliderElement, {
9413                    slidesToShow: 1,
9414                    slidesToScroll: 1,
9415                    scrollLock: true,
9416                    scrollLockDelay: 250,
9417                    draggable: true,
9418                    dragVelocity: 2.5,
9419                    dots: gliderDots,
9420                    arrows: {
9421                        prev: gliderPrev,
9422                        next: gliderNext,
9423                    },
9424                });
9425
9426                slider.classList.add('glider-initialized');
9427                if (slider.dataset.showArrows === 'true') {
9428                    gliderPrev.classList.remove('hidden');
9429                    gliderNext.classList.remove('hidden');
9430                }
9431
9432                if (slider.dataset.autoplay !== 'false') {
9433                    gliderAutoplay(
9434                        glider,
9435                        slider.dataset.autoplaySpeed,
9436                        slider.dataset.infiniteLoop
9437                    );
9438                }
9439            };
9440
9441            const gliderAutoplay = (glider, milliseconds, loop) => {
9442                const pagesCount = glider.track.childElementCount;
9443                let slideTimeout = null;
9444                let nextIndex = 1;
9445                let paused = false;
9446
9447                const slide = () => {
9448                    slideTimeout = setTimeout(
9449                        () => {
9450                            if (loop && nextIndex >= pagesCount) {
9451                                nextIndex = 0;
9452                            }
9453                            glider.scrollItem(nextIndex);
9454                        },
9455                        parseInt(milliseconds)
9456                    );
9457                };
9458
9459                glider.ele.addEventListener('glider-animated', () => {
9460                    nextIndex = glider.slide + glider.opt.slidesToScroll;
9461                    window.clearInterval(slideTimeout);
9462                    if (!paused && (loop || nextIndex < pagesCount)) {
9463                        slide();
9464                    }
9465                });
9466
9467                const pause = () => {
9468                    if (!paused) {
9469                        clearInterval(slideTimeout);
9470                        paused = true;
9471                    }
9472                };
9473
9474                const unpause = () => {
9475                    if (paused) {
9476                        slide();
9477                        paused = false;
9478                    }
9479                };
9480
9481                glider.ele.parentElement.addEventListener('mouseover', pause, {passive: true});
9482                glider.ele.parentElement.addEventListener('touchstart', pause, {passive: true});
9483                glider.ele.parentElement.addEventListener('mouseout', unpause, {passive: true});
9484                glider.ele.parentElement.addEventListener('touchend', unpause, {passive: true});
9485
9486                slide();
9487            };
9488
9489            elements.forEach(element => {
9490                if (element.dataset.contentType === 'products') {
9491                    initProductCarousel(element);
9492                }
9493                if (element.dataset.contentType === 'slider') {
9494                    initSliderCarousel(element);
9495                }
9496            });
9497        };
9498
9499        window.addEventListener('DOMContentLoaded', () => {
9500            const carouselElements = document.querySelectorAll(
9501                `[data-content-type="products"][data-appearance="carousel"],
9502                [data-content-type="slider"]`
9503            );
9504
9505            if (carouselElements.length > 0) {
9506                const script = document.createElement('script');
9507                script.type = 'text/javascript';
9508
9509                script.addEventListener('load', () => {
9510                    initCarousels(carouselElements);
9511                });
9512
9513                window.addEventListener('init-external-scripts', () => {
9514                    script.src = 'https\u003A\u002F\u002Fwww.flooringinc.com\u002Fstatic\u002Fversion1789462004\u002Ffrontend\u002FDcw\u002Fhyvadesktop\u002Fen_US\u002FMagento_PageBuilder\u002Fjs\u002Fglider.min.js';
9515                }, {once: true, passive: true});
9516                document.head.appendChild(script);
9517            }
9518        });
9519    })();
9520</script>
vendor: 1 bytes, line 9520
9520
9521<script>
9522    'use strict';
9523
9524    (() => {
9525        const initMaps = (elements) => {
9526            const renderMap = (element) => {
9527                const dataLocations = element.dataset.locations;
9528
9529                // Hide map if no locations set
9530                if (!dataLocations || dataLocations === '[]') {
9531                    element.classList.add('hidden');
9532                    return;
9533                }
9534
9535                const map = new google.maps.Map(
9536                    element,
9537                    getMapOptions(
9538                        element.dataset.showControls !== 'true',
9539                        element.dataset.showControls === 'true'
9540                    )
9541                );
9542                const locations = JSON.parse(dataLocations);
9543                const latitudeLongitudeBounds = new google.maps.LatLngBounds();
9544                const bounds = [];
9545
9546                locations.forEach(location => {
9547                    const position = {
9548                        lat: parseFloat(location.position.latitude),
9549                        lng: parseFloat(location.position.longitude),
9550                    };
9551                    bounds.push(position);
9552
9553                    const infowindow = new google.maps.InfoWindow({
9554                        content: getInfoWindowContent(location),
9555                    });
9556                    const marker = new google.maps.Marker({
9557                        position: position,
9558                        map,
9559                        title: location.location_name,
9560                    });
9561
9562                    marker.addListener('click', () => {
9563                        infowindow.open(map, marker);
9564                    });
9565                });
9566
9567                // Set bounds if multiple locations
9568                if (bounds.length > 1) {
9569                    bounds.forEach(function (bound) {
9570                        latitudeLongitudeBounds.extend(bound);
9571                    });
9572                    map.fitBounds(latitudeLongitudeBounds);
9573                }
9574
9575                // Center if single location
9576                if (bounds.length === 1) {
9577                    map.setCenter(bounds[0]);
9578                }
9579            };
9580
9581            const getMapOptions = (disableDefaultUI, mapTypeControl) => {
9582                const style = '';
9583                return {
9584                    zoom: 8,
9585                    scrollwheel: false,
9586                    disableDoubleClickZoom: false,
9587                    mapTypeControlOptions: {
9588                        style: google.maps.MapTypeControlStyle.DEFAULT,
9589                    },
9590                    styles: style ? JSON.parse(style) : [],
9591                    disableDefaultUI: disableDefaultUI,
9592                    mapTypeControl: mapTypeControl,
9593                };
9594            };
9595
9596            const getInfoWindowContent = (location) => {
9597                const title = location.location_name ?
9598                    `<h3 class="text-2xl font-medium text-gray-900 title-font">${location.location_name}</h3>` : '';
9599                const comment = location.comment ? `<p class="px-1 pt-3 text-primary">${location.comment}</p>` : '';
9600                const phone = location.phone ? `<p class="px-1 pt-3 text-primary">Phone: ${location.phone}</p>` : '';
9601                const street = location.address ? `${location.address}<br/>` : '';
9602                const city = location.city ? `${location.city}<br/>` : '';
9603                const state = location.state ? `${location.state}<br/>` : '';
9604                const zipCode = location.zipcode ? `${location.zipcode}<br/>` : '';
9605                const country = location.country ? location.country : '';
9606
9607                return `<div>
9608                            ${title}
9609                            ${comment}
9610                            ${phone}
9611                            <p class="px-1 pt-3 text-primary">
9612                                ${street}
9613                                ${city}
9614                                ${state}
9615                                ${zipCode}
9616                                ${country}
9617                            </p>
9618                        </div>`;
9619            };
9620
9621            const hideAllMaps = () => {
9622                document.querySelectorAll('[data-content-type="map"]').forEach(element => {
9623                    element.classList.add('hidden');
9624                });
9625            };
9626
9627            window.gm_authFailure = () => {
9628                hideAllMaps();
9629            };
9630
9631            if (typeof google.maps === 'undefined') {
9632                hideAllMaps();
9633                return;
9634            }
9635
9636            elements.forEach(element => {
9637                if (element.dataset.contentType === 'map') {
9638                    renderMap(element);
9639                }
9640            });
9641        };
9642
9643        window.addEventListener('DOMContentLoaded', () => {
9644            const mapElements = document.querySelectorAll('[data-content-type="map"]');
9645
9646            if (mapElements.length > 0) {
9647                const script = document.createElement('script');
9648                script.type = 'text/javascript';
9649
9650                script.addEventListener('load', () => {
9651                    initMaps(mapElements);
9652                });
9653
9654                script.src = 'https\u003A\u002F\u002Fmaps.googleapis.com\u002Fmaps\u002Fapi\u002Fjs\u003Fv\u003D3\u0026key\u003D';
9655                document.head.appendChild(script);
9656            }
9657        });
9658    })();
9659</script>
vendor: 1 bytes, line 9659
9659
9660<script>
9661    'use strict';
9662
9663    (() => {
9664        const initParallaxImage = (element) => {
9665            if (!window.jarallax) {
9666                return;
9667            }
9668
9669            element.classList.add('jarallax');
9670            element.dataset.jarallax = '';
9671            const parallaxSpeed = parseFloat(element.dataset.parallaxSpeed) || 0.5;
9672            const elementStyle = window.getComputedStyle(element);
9673
9674            window.jarallax(element, {
9675                imgPosition: elementStyle.backgroundPosition || '50% 50%',
9676                imgRepeat: elementStyle.backgroundRepeat || 'no-repeat',
9677                imgSize: elementStyle.backgroundSize || 'cover',
9678                speed: parallaxSpeed,
9679            });
9680        };
9681
9682        const initVideoBackground = (element) => {
9683            if (!window.jarallax) {
9684                return;
9685            }
9686
9687            let slider = null;
9688
9689            if (element.classList.contains('pagebuilder-slide-wrapper')) {
9690                const viewportElement = document.createElement('div');
9691                slider = element.closest('[data-content-type=slider]');
9692                viewportElement.classList.add('jarallax-viewport-element');
9693                element.dataset.elementInViewport = '.jarallax-viewport-element';
9694                element.appendChild(viewportElement);
9695            }
9696
9697            element.classList.add('jarallax');
9698            element.dataset.jarallax = '';
9699            const parallaxSpeed = parseFloat(element.dataset.parallaxSpeed) || 0.5;
9700
9701            window.jarallax(element, {
9702                imgSrc: element.dataset.videoFallbackSrc,
9703                speed: parallaxSpeed,
9704                videoLoop: element.dataset.videoLoop,
9705                videoPlayOnlyVisible: element.dataset.videoPlayOnlyVisible,
9706                videoLazyLoading: element.dataset.videoLazyLoad,
9707                disableVideo: false,
9708                elementInViewport: element.dataset.elementInViewport &&
9709                    element.querySelector(element.dataset.elementInViewport),
9710            });
9711
9712            if (slider) {
9713                if (slider.dataset.afterChangeIsSet) {
9714                    return;
9715                }
9716
9717                slider.addEventListener('glider-loaded', () => {
9718                    slider.querySelectorAll('.jarallax').forEach(videoSlide => {
9719                        videoSlide.jarallax && videoSlide.jarallax.onScroll();
9720                    });
9721                });
9722
9723                slider.addEventListener('glider-animated', () => {
9724                    slider.querySelectorAll('.jarallax').forEach(videoSlide => {
9725                        videoSlide.jarallax && videoSlide.jarallax.onScroll();
9726                    });
9727                });
9728
9729                slider.dataset.afterChangeIsSet = true;
9730            }
9731        };
9732
9733        window.addEventListener('DOMContentLoaded', () => {
9734            const parallaxImageElements = document.querySelectorAll(
9735                `[data-content-type="row"][data-background-type="image"][data-enable-parallax="1"],
9736                [data-content-type="row"] > [data-background-type="image"][data-enable-parallax="1"]`
9737            );
9738
9739            const videoBackgroundsElements = document.querySelectorAll(
9740                `[data-content-type="row"][data-background-type="video"][data-enable-parallax="1"],
9741                [data-content-type="row"] > [data-background-type="video"][data-enable-parallax="1"],
9742                [data-content-type="banner"] [data-background-type="video"],
9743                [data-content-type="slide"] [data-background-type="video"]`
9744            );
9745
9746            if (parallaxImageElements.length > 0 || videoBackgroundsElements.length > 0) {
9747                const jarallaxScript = document.createElement('script');
9748                jarallaxScript.type = 'text/javascript';
9749
9750                jarallaxScript.addEventListener('load', () => {
9751                    parallaxImageElements.forEach(row => {
9752                        initParallaxImage(row);
9753                    });
9754
9755                    const jarallaxVideoScript = document.createElement('script');
9756                    jarallaxVideoScript.type = 'text/javascript';
9757
9758                    jarallaxVideoScript.addEventListener('load', () => {
9759                        videoBackgroundsElements.forEach(element => {
9760                            initVideoBackground(element);
9761                        });
9762                    });
9763
9764                    jarallaxVideoScript.src = 'https\u003A\u002F\u002Fwww.flooringinc.com\u002Fstatic\u002Fversion1789462004\u002Ffrontend\u002FDcw\u002Fhyvadesktop\u002Fen_US\u002FMagento_PageBuilder\u002Fjs\u002Fjarallax\u002Dvideo.min.js';
9765                    document.head.appendChild(jarallaxVideoScript);
9766                });
9767
9768                jarallaxScript.src = 'https\u003A\u002F\u002Fwww.flooringinc.com\u002Fstatic\u002Fversion1789462004\u002Ffrontend\u002FDcw\u002Fhyvadesktop\u002Fen_US\u002FMagento_PageBuilder\u002Fjs\u002Fjarallax.min.js';
9769                document.head.appendChild(jarallaxScript);
9770            }
9771        });
9772    })();
9773</script>
vendor: 1 bytes, line 9773
9773
9774<script>
9775    'use strict';
9776
9777    (() => {
9778        const applyShowOnHover = (element) => {
9779            const showOverlayOnHover = (element) => {
9780                const overlay = element.querySelector('.pagebuilder-overlay');
9781                const color = overlay.dataset.overlayColor;
9782
9783                element.addEventListener('mouseover', () => {
9784                    overlay.style.backgroundColor = color;
9785                });
9786                element.addEventListener('mouseout', () => {
9787                    overlay.style.backgroundColor = 'transparent';
9788                });
9789            };
9790
9791            const showButtonOnHover = (element) => {
9792                const button = element.querySelector('.pagebuilder-banner-button');
9793
9794                element.addEventListener('mouseover', () => {
9795                    button.style.opacity = '1';
9796                    button.style.visibility = 'visible';
9797                });
9798                element.addEventListener('mouseout', () => {
9799                    button.style.opacity = '0';
9800                    button.style.visibility = 'hidden';
9801                });
9802            };
9803
9804            if (element.dataset.showOverlay === 'hover') {
9805                showOverlayOnHover(element);
9806            }
9807            if (element.dataset.showButton === 'hover') {
9808                showButtonOnHover(element);
9809            }
9810        };
9811
9812        window.addEventListener('DOMContentLoaded', () => {
9813            document.querySelectorAll('[data-content-type="banner"],[data-content-type="slider"]').forEach(element => {
9814                applyShowOnHover(element);
9815            });
9816        });
9817    })();
9818</script>
vendor: 1 bytes, line 9818
9818
9819<script>
9820    'use strict';
9821
9822    (() => {
9823        document.querySelectorAll('[data-content-type="tab-item"]').forEach(tabItem => {
9824            tabItem.setAttribute('x-show', `tab === '${tabItem.id}'`);
9825        });
9826
9827        document.querySelectorAll('[data-content-type="tabs"]').forEach(tab => {
9828            const defaultActiveTab = parseInt(tab.dataset.activeTab) || 0;
9829
9830            tab.querySelectorAll('.tab-header').forEach((tabHeader, index) => {
9831                const tabLink = tabHeader.querySelector('a');
9832                const tabId = tabLink.getAttribute('href').replace('#', '');
9833
9834                tabHeader.setAttribute(':class', `{ 'active': tab === '${tabId}' }`);
9835                tabLink.setAttribute('x-on:click.prevent', `tab = '${tabId}'`);
9836
9837                if (index === defaultActiveTab) {
9838                    tab.setAttribute('x-data', `{ tab: '${tabId}' }`);
9839                }
9840            });
9841        });
9842    })();
9843</script>
vendor: 1 bytes, line 9843
9843
9844<script>
9845    'use strict';
9846
9847    const grecaptchaV2LoadCallbacks = [];
9848
9849    function executeRecaptchaLoadCallbacks () {
9850        while (window.grecaptcha && grecaptchaV2LoadCallbacks.length > 0) {
9851            const callback = grecaptchaV2LoadCallbacks.pop();
9852            typeof callback === 'string' ? window[callback]() : callback();
9853        }
9854    }
9855
9856    (function() {
9857        const loadRecaptchaScript = (event) => {
9858
9859            if (window.grecaptcha || !event.target.form) {
9860                return;
9861            }
9862
9863            const url = 'https://www.google.com/recaptcha/api.js?onload=executeRecaptchaLoadCallbacks';
9864            const siteKey = '6LdQFsgqAAAAAFaiT_SQ7C9UmCcxWxpMd6pIMAEO';
9865            const script = document.createElement('script');
9866            script.type = 'text/javascript';
9867            script.src = siteKey ? `${url}&render=${siteKey}` : `${url}&render=explicit`;
9868            script.async = true;
9869            document.head.appendChild(script);
9870
9871            script.addEventListener('load', () => {
9872                Array.from(document.querySelectorAll('button[data-recaptcha-btn]:disabled')).forEach(btn => btn.removeAttribute('disabled'));
9873            });
9874        }
9875
9876        window.forceLoadRecaptchaScript = (form) => {
9877            loadRecaptchaScript({target: {form: form || 'dummy'}});
9878            executeRecaptchaLoadCallbacks();
9879        };
9880
9881        document.body.addEventListener('input', loadRecaptchaScript, { once: true });
9882        document.body.addEventListener('focus', loadRecaptchaScript, { once: true });
9883
9884    }());
9885
9886</script>
vendor: 1 bytes, line 9886
9886
9887<script>
9888    window.addEventListener("scroll", function() {
9889        var header = document.querySelector('header.page-header');
9890        var body = document.querySelector("body");
9891        const header_top = document.querySelector('.header_top');
9892        const notification4 = document.querySelector('.notification4');
9893        var top_1 = document.querySelector("header.page-header > .panel.wrapper");
9894        var content = document.getElementById("textContent");
9895
9896
9897        if(header_top && notification4){
9898            if ((header_top.textContent.length > 10) && (notification4.textContent.length > 10)) {
9899                if (window.pageYOffset > 76) {
9900                    //document.querySelector("#header").style.cssText = "position:fixed;left:0;top:0;width:100%;transition: all ease-in-out 0.5s";
9901                    //document.querySelector(".page-wrapper").style.cssText = "padding-top:112px";
9902                    document.querySelector('body').classList.add('sticki');
9903                } else {
9904                    //document.querySelector("#header").style.cssText = "position:static;transition: all ease-in-out 0.5s";
9905                    //document.querySelector(".page-wrapper").style.cssText = "padding-top:0px";
9906                    document.querySelector('body').classList.remove('sticki');
9907                }
9908            }
9909        }
9910
9911        if(header_top && notification4){
9912            if ((header_top.textContent.length > 10) && (notification4.textContent.length < 10)) {
9913                if (window.pageYOffset > 36) {
9914                    //document.querySelector("#header").style.cssText = "position:fixed;left:0;top:0;width:100%;transition: all ease-in-out 0.5s";
9915                    //document.querySelector(".page-wrapper").style.cssText = "padding-top:112px";
9916                    document.querySelector('body').classList.add('sticki');
9917                } else {
9918                    //document.querySelector("#header").style.cssText = "position:static;transition: all ease-in-out 0.5s";
9919                    //document.querySelector(".page-wrapper").style.cssText = "padding-top:0px";
9920                    document.querySelector('body').classList.remove('sticki');
9921                }
9922            }
9923        }
9924
9925        if(header_top && !notification4){
9926            if (header_top.textContent.length > 10) {
9927                if (window.pageYOffset > 36) {
9928                    //document.querySelector("#header").style.cssText = "position:fixed;left:0;top:0;width:100%;transition: all ease-in-out 0.5s";
9929                    //document.querySelector(".page-wrapper").style.cssText = "padding-top:112px";
9930                    document.querySelector('body').classList.add('sticki');
9931                } else {
9932                    //document.querySelector("#header").style.cssText = "position:static;transition: all ease-in-out 0.5s";
9933                    //document.querySelector(".page-wrapper").style.cssText = "padding-top:0px";
9934                    document.querySelector('body').classList.remove('sticki');
9935                }
9936            }
9937        }
9938    });
9939
9940    window.addEventListener("DOMContentLoaded", function() {
9941        window.addEventListener("scroll", function() {
9942            // scroll for plp content sticky
9943            anchor_scroll();
9944        });
9945        function anchor_scroll() {
9946            var anchor_scroll = document.querySelector('.anchor-scroll');
9947            if (!anchor_scroll) {
9948                return; // Exit if the element is not found
9949            }
9950            let sticky = anchor_scroll.offsetTop;
9951
9952            if (window.pageYOffset > sticky) {
9953                anchor_scroll.classList.add("scroll-fixed");
9954            } else {
9955                anchor_scroll.classList.remove("scroll-fixed");
9956            }
9957        }
9958
9959        document.querySelectorAll('.anchor-scroll a[href^="."], .at-glance-content a[href^="."]').forEach(anchor => {
9960            anchor.addEventListener('click', function (e) {
9961                e.preventDefault();
9962
9963                const targetClass = this.getAttribute('href').substring(1);
9964                const targetElement = document.querySelector(`.${targetClass}`);
9965                let anchor_scroll = document.querySelector('.anchor-scroll > div');
9966                var header_off = document.querySelector('#header').offsetHeight;
9967                if (anchor_scroll) {
9968                    var header_off = document.querySelector('#header').offsetHeight + anchor_scroll.offsetHeight;
9969                } else {
9970                    var header_off = document.querySelector('#header').offsetHeight;
9971                }
9972
9973                if (targetElement) {
9974                    const offset = header_off;
9975                    const bodyRect = document.body.getBoundingClientRect().top;
9976                    const elementRect = targetElement.getBoundingClientRect().top;
9977                    const elementPosition = elementRect - bodyRect;
9978                    const offsetPosition = elementPosition - offset;
9979
9980                    window.scrollTo({
9981                        top: offsetPosition,
9982                        behavior: 'smooth'
9983                    });
9984                }
9985            });
9986        });
9987    });
9988</script>
9988
9989
9990    <section x-cloak x-data="{isLoading: false}"
9991             @amcaptcha-loading-start.window="isLoading = true" @amcaptcha-loading-stop.window="isLoading = false">
9992        <div class="flex flex-row justify-center items-center w-full h-full fixed select-none z-50"
9993     style="left: 50%;top: 50%;transform: translateX(-50%) translateY(-50%);background: rgba(255,255,255,0.7);"
9994     x-show="isLoading"
9995     x-transition:enter="ease-out duration-200"
9996     x-transition:enter-start="opacity-0"
9997     x-transition:enter-end="opacity-100"
9998     x-transition:leave="ease-in duration-200"
9999     x-transition:leave-start="opacity-100"
10000     x-transition:leave-end="opacity-0">
10001    <!-- By Sam Herbert (@sherb), for everyone. More @ http://goo.gl/7AJzbL -->
10002<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 57 57" stroke="currentColor" class="text-primary" width="57" height="57" role="img">
10003    <g fill="none" fill-rule="evenodd">
10004        <g transform="translate(1 1)" stroke-width="2">
10005            <circle cx="5" cy="50" r="5">
10006                <animate attributeName="cy" begin="0s" dur="2.2s" values="50;5;50;50" calcMode="linear" repeatCount="indefinite"/>
10007                <animate attributeName="cx" begin="0s" dur="2.2s" values="5;27;49;5" calcMode="linear" repeatCount="indefinite"/>
10008            </circle>
10009            <circle cx="27" cy="5" r="5">
10010                <animate attributeName="cy" begin="0s" dur="2.2s" from="5" to="5" values="5;50;50;5" calcMode="linear" repeatCount="indefinite"/>
10011                <animate attributeName="cx" begin="0s" dur="2.2s" from="27" to="27" values="27;49;5;27" calcMode="linear" repeatCount="indefinite"/>
10012            </circle>
10013            <circle cx="49" cy="50" r="5">
10014                <animate attributeName="cy" begin="0s" dur="2.2s" values="50;50;5;50" calcMode="linear" repeatCount="indefinite"/>
10015                <animate attributeName="cx" from="49" to="49" begin="0s" dur="2.2s" values="49;5;27;49" calcMode="linear" repeatCount="indefinite"/>
10016            </circle>
10017        </g>
10018    </g>
10019<title>loader</title></svg>
10020    <div class="ml-10 text-primary text-xl">
10021        Loading...    </div>
10022</div>
10023    </section>
10024
10025<script>
10026    'use strict';
10027
10028    function responseSerialize(response) {
10029        if (response.redirected) {
10030            window.location.href = response.url;
10031        } else if (response.ok) {
10032            return response.json();
10033        } else {
10034            // Check if result is Promise then throw to new Error
10035            let defaultErrMsg = 'Something went wrong. Please contact the website admin for more information.',
10036                result;
10037            result = response.text();
10038            if (typeof result?.then === 'function') {
10039                result.then(res => {
10040                    let errorMessage;
10041                    try {
10042                        errorMessage = JSON.parse(res);
10043                        errorMessage = errorMessage?.message ? errorMessage.message : defaultErrMsg;
10044                    } catch (e) {
10045                        errorMessage = defaultErrMsg;
10046                    }
10047                    window.dispatchMessages([
10048                        {
10049                            type: 'error',
10050                            text: errorMessage
10051                        }
10052                    ], 3000);
10053                });
10054            } else {
10055                throw new Error(defaultErrMsg);
10056            }
10057        }
10058    }
10059
10060    if (typeof window.buildRestAPIUrl !== 'function') {
10061        window.buildRestAPIUrl = function (url, params = {}) {
10062            const method = 'rest',
10063                storeCode = 'default',
10064                version = 'V1',
10065                serviceUrl = ':method/:storeCode/:version';
10066
10067            let urlParts;
10068
10069            params.method = method;
10070            params.storeCode = storeCode;
10071            params.version = version;
10072
10073            url = serviceUrl + url;
10074
10075            urlParts = url.split('/');
10076            urlParts = urlParts.filter(Boolean);
10077
10078            Object.entries(urlParts).forEach (entry => {
10079                let [key, part] = entry;
10080                part = part.replace(':', '');
10081
10082                if (params[part] !== undefined) {
10083                    urlParts[key] = params[part];
10084                }
10085            });
10086
10087            return urlParts.join('/');
10088        }
10089    }
10090
10091    if (typeof window.isObjectEmpty !== 'function') {
10092        window.isObjectEmpty = function (obj) {
10093            return (
10094                Object.prototype.toString.call(obj) === '[object Object]' &&
10095                JSON.stringify(obj) === '{}'
10096            );
10097        }
10098    }
10099
10100    if (typeof window.mergeDeep !== 'function') {
10101        /**
10102         * Deep merge two objects.
10103         *
10104         * @param target
10105         * @param sources
10106         * @returns {*}
10107         */
10108        window.mergeDeep = (target, ...sources) => {
10109            /**
10110             * Simple object check.
10111             *
10112             * @param item
10113             * @returns {boolean}
10114             */
10115            const isObject = (item) => {
10116                return (item && typeof item === 'object' && !Array.isArray(item));
10117            };
10118
10119            if (!sources.length) return target;
10120            const source = sources.shift();
10121
10122            if (isObject(target) && isObject(source)) {
10123                for (const key in source) {
10124                    if (isObject(source[key])) {
10125                        if (!target[key]) Object.assign(target, { [key]: {} });
10126                        mergeDeep(target[key], source[key]);
10127                    } else {
10128                        Object.assign(target, { [key]: source[key] });
10129                    }
10130                }
10131            }
10132
10133            return mergeDeep(target, ...sources);
10134        }
10135    }
10136</script>
10136
10137
10138<div x-data="{...hyva.modal(), ...initAmcartDialogPopup()}"
10139     x-init="initDialogPopup($dispatch)"
10140     x-spread="eventListeners"
10141     x-bind="eventListeners">
10142    <div x-cloak x-spread="overlay('amcart-dialog-popup')" x-bind="overlay('amcart-dialog-popup')"
10143         class="fixed inset-0 flex items-center justify-center text-left bg-black bg-opacity-50 z-30">
10144        <div x-ref="amcart-dialog-popup" role="dialog" aria-labelledby="amcart-dialog-popup-content"
10145             class="flex flex-col max-h-screen max-w-4xl overflow-auto bg-amcart-background shadow-xl rounded-lg p-4">
10146            <div class="flex justify-between pb-4 border-b">
10147                <div x-text="title" class="text-2xl font-extrabold text-amcart-text"></div>
10148                <button @click="$dispatch('amcart-close-dialog-popup')"
10149                        aria-label="Close"
10150                        class="text-gray-300 transition hover:text-black hover:drop-shadow-md">
10151                    <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">
10152  <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"/>
10153<title>x</title></svg>
10154                </button>
10155            </div>
10156            <div id="amcart-dialog-popup-content" class="amcart-dialog-popup-content"></div>
10157            <div class="flex flex-row pt-3 border-t">
10158                <template x-for="(button, index) in buttons" :key="index">
10159                    <button class="btn mr-4 last:mr-0 text-amcart-button hover:brightness-105 hover:shadow-lg"
10160                            :class="{
10161                                'bg-amcart-continue-btn hover:bg-amcart-continue-btn': index === 0,
10162                                'bg-amcart-view-cart-btn hover:bg-amcart-view-cart-btn': index === 1
10163                            }"
10164                            :aria-label="button.name"
10165                            x-html="button.name"
10166                            @click="dispatchButtonAction(button.action.name, button.action.payload)"></button>
10167                </template>
10168            </div>
10169        </div>
10170    </div>
10171</div>
10172
10173<script>
10174    'use strict';
10175
10176    function initAmcartDialogPopup() {
10177        const dialogPopupName = 'amcart-dialog-popup';
10178        const selectors = {
10179            addToCartForm: '.amcart-product-info #amcart_product_addtocart_form',
10180            ratingSummarySelector: '.amcart-product-info .rating-summary'
10181        }
10182
10183        return {
10184            eventListeners: {
10185                ['@amcart-open-dialog-popup.window']({detail: popupData}) {
10186                    // Close any existing modal before opening
10187                    window.hyva.modal.pop();
10188
10189                    this.initPopupWithData(popupData);
10190                    this.$nextTick(() => {
10191                        this.show(dialogPopupName);
10192                    });
10193                },
10194                ['@amcart-close-dialog-popup']() {
10195                    this.hide(dialogPopupName);
10196                },
10197                ['@amcart-dialog-submit']({ detail: actionToDispatch }) {
10198                    const form = document.querySelector(selectors.addToCartForm);
10199
10200                    if (form.checkValidity()) {
10201                        this.dispatch(actionToDispatch, form);
10202                        this.hide(dialogPopupName);
10203                    } else {
10204                        form.reportValidity();
10205                    }
10206                },
10207                ['@amcart-hide-popup']() {
10208                    this.hide(dialogPopupName);
10209                }
10210            },
10211            title: '',
10212            buttons: [],
10213            message: '',
10214            selected_options: null,
10215            dispatch: null,
10216
10217            /**
10218             * @param {Object} $dispatch
10219             * @return {void}
10220             */
10221            initDialogPopup: function ($dispatch) {
10222                this.dispatch = $dispatch;
10223            },
10224
10225            /**
10226             * @param {CartResponse} popupData
10227             * @return {void}
10228             */
10229            initPopupWithData: function (popupData) {
10230                this.title = popupData.title;
10231                this.buttons = popupData.buttons;
10232                this.selected_options = popupData.selected_options;
10233                hyva.replaceDomElement('#amcart-dialog-popup-content', this.preprocessMessage(popupData.message));
10234                this.$nextTick(() => {
10235                    this.postProcessPopupContent();
10236                });
10237            },
10238
10239            /**
10240             * @param {string} message
10241             * @return {string}
10242             */
10243            preprocessMessage: function (message) {
10244                /**
10245                 * Disable labels for input inside popup due to the possibility of their duplication on the page.
10246                 * Because this can lead to unexpected behaviour.
10247                 *
10248                 * Make form id unique for popup
10249                 */
10250                return message
10251                    .replaceAll(':for=', 'for-data=')
10252                    .replaceAll('product_addtocart_form', 'amcart_product_addtocart_form');
10253            },
10254
10255            /**
10256             * @return {void}
10257             */
10258            postProcessPopupContent: function () {
10259                this.disableRatingSummary();
10260                this.clickSelectedOptions();
10261            },
10262
10263            /**
10264             * @return {void}
10265             */
10266            disableRatingSummary: function () {
10267                const ratingSummaryElement = document.querySelector(selectors.ratingSummarySelector);
10268
10269                if (!!ratingSummaryElement) {
10270                    ratingSummaryElement.removeAttribute('onClick');
10271                    ratingSummaryElement.classList.remove('cursor-pointer');
10272                }
10273            },
10274
10275            /**
10276             * @return {void}
10277             */
10278            clickSelectedOptions: function () {
10279                if (!this.selected_options) {
10280                    return;
10281                }
10282
10283                for(const [attributeId, attributeValue] of Object.entries(this.selected_options)) {
10284                    const swatchOptionTemplate =  document.querySelector(
10285                        `.amcart-product-info template[x-for*="attributes[${attributeId}]"]`
10286                    );
10287
10288                    if (!!swatchOptionTemplate && !!swatchOptionTemplate.parentElement) {
10289                        const swatchInput = swatchOptionTemplate.parentElement
10290                            .querySelector(`input[value="${attributeValue}"]`);
10291                        swatchInput && swatchInput.click();
10292                    }
10293                }
10294            },
10295
10296            /**
10297             * @param {string} name
10298             * @param {string|undefined} payload
10299             * @return {void}
10300             */
10301            dispatchButtonAction: function (name, payload) {
10302                this.dispatch(name, payload);
10303            }
10304        };
10305    }
10306</script>
10306
10307
10308<script>
10309    (function () {
10310        'use strict';
10311
10312        const addToCartProductListFormSelector = '.product_addtocart_form';
10313        const addToCartProductPageFormSelector = '#product_addtocart_form';
10314        const setFormsEvent = function () {
10315            const productListForms = document.querySelectorAll(addToCartProductListFormSelector);
10316            const productPageForm = document.querySelector(addToCartProductPageFormSelector);
10317
10318            productPageForm && addDispatcher(productPageForm);
10319            productListForms.forEach((form) => {
10320                // disable html5 validation
10321                form.setAttribute('novalidate', '');
10322                addDispatcher(form);
10323            });
10324        }
10325
10326        const addDispatcher = function(form) {
10327            form.removeAttribute('@submit');
10328            form.removeAttribute('@submit.prevent');
10329            form.setAttribute('x-data', '');
10330            form.setAttribute('x-on:submit.prevent', '$dispatch(\'amcart-add-to-cart-action\', $el)');
10331        }
10332
10333        setFormsEvent();
10334
10335        window.addEventListener('amcart-set-forms-event', setFormsEvent);
10336    })();
10337</script>
10337
10338
10339<script>
10340    (function () {
10341        'use strict';
10342
10343        /**
10344         * @typedef {Object} CartResponse
10345         *
10346         * Popup common props
10347         * @property {[
10348         *     name: string,
10349         *     action: {
10350         *         name: string,
10351         *         payload: string|undefined
10352         *     }
10353         * ]|undefined} buttons
10354         * @property {string|undefined} popup_action
10355         * @property {string|undefined} message
10356         * @property {string|undefined} title
10357         *
10358         * DialogPopup props
10359         * @property {string|null|undefined} selected_options
10360         *
10361         * ConfirmationPopup props
10362         * @property {string|undefined} align
10363         * @property {string|undefined} checkout
10364         * @property {string|undefined} product_id
10365         * @property {string|undefined} product_sku
10366         * @property {string|undefined} related
10367         * @property {number|undefined} timer
10368         *
10369         * Redirect props
10370         * @property {string|undefined} redirect url to redirect
10371         */
10372
10373        let globalActionName;
10374
10375        const addToCartAction = ({detail: form}) => {
10376            const isProductForm = form.id === 'product_addtocart_form';
10377
10378            globalActionName = getCartAction(form);
10379
10380            if (isProductForm) {
10381                window.dispatchEvent(new CustomEvent('amcart-trigger-grouped-form-validate'));
10382
10383                if (form.checkValidity()) {
10384                    performRequest(form, isProductForm);
10385                }
10386            } else {
10387                performRequest(form, isProductForm)
10388            }
10389        };
10390
10391        const performRequest = function (form, isProductForm) {
10392            const cartUrl = `${BASE_URL}amasty_cart/cart/${getCartAction(form)}`;
10393            const isProductPage = document.body.classList.contains('catalog-product-view');
10394            const headers = {
10395                'content-type': 'application/x-www-form-urlencoded; charset=UTF-8'
10396            };
10397            const formData = new FormData(form);
10398            formData.set('product_page', isProductPage && isProductForm);
10399            formData.set('last_category_id', hyva.getBrowserStorage().getItem('last_category_id'));
10400            formData.set('form_key', hyva.getFormKey());
10401            !formData.get('id') && formData.get('item') && formData.set('id', formData.get('item'));
10402
10403            const body = new URLSearchParams(formData);
10404
10405            window.dispatchEvent(new CustomEvent('amcart-loading-start'));
10406            window.dispatchEvent(new CustomEvent('amcart-add-start', { detail: form }));
10407
10408            fetch(cartUrl, {headers: {...headers}, body: body, method: 'POST'})
10409                .then(response => response.json())
10410                .then((result) => {
10411                    resultActionResolver.resolve(result);
10412                    const relatedProductDialog = document.querySelector('.related-product-dialog-wrapper');
10413                    const cartLink = document.getElementById('menu-cart-icon');
10414                    const isRelatedProductForm = form.closest('.related-products-pdp-section');
10415                    if (relatedProductDialog && !isRelatedProductForm) {
10416                        setTimeout(() => {
10417                            window.dispatchEvent(
10418                                new CustomEvent('hyva-modal-show', { detail: { dialog: 'related-product-slider-dialog' } })
10419                            );
10420                        }, 2000);
10421                    } else if (cartLink) {
10422                        cartLink.click();
10423                    }
10424                }).catch((error) => {
10425                    typeof window.dispatchMessages !== "undefined" && window.dispatchMessages(
10426                        [{
10427                            type: "error",
10428                            text: error
10429                        }], 5000
10430                    );
10431                }).finally(() => {
10432                    window.dispatchEvent(new CustomEvent('amcart-loading-stop'));
10433                });
10434        };
10435
10436        const getCartAction = function(formNode) {
10437            return formNode.action.includes('updateItemOptions')
10438                ? `UpdateItemOptions`
10439                : 'add';
10440        };
10441
10442        const resultActionResolver = {
10443            /**
10444             * @param {CartResponse} result
10445             */
10446            resolve: function (result) {
10447				
10448				if(typeof result.is_add_to_cart != "undefined"){
10449					var msg = result.message;
10450					/*if($($.parseHTML(result.message)).filter(".message.error").text()){
10451						msg =  $($.parseHTML(result.message)).filter(".message.error").text(); 
10452					}*/
10453
10454                    var parser = new DOMParser();
10455                    var doc = parser.parseFromString(result.message, 'text/html');
10456                    var errorMsg = doc.querySelector('.message.error') ? doc.querySelector('.message.error').textContent : '';
10457
10458                    if (errorMsg) {
10459                        msg = errorMsg;
10460                    }
10461
10462					window.dispatchMessages && window.dispatchMessages([{
10463                        type: 'error',
10464                        text: msg
10465                    }]);
10466					
10467				}
10468                switch (true) {
10469                    case !!result.popup_action:
10470                    var parser = new DOMParser();
10471                    var doc = parser.parseFromString(result.message, 'text/html');
10472                    var errorMsg = doc.querySelector('.message.error') ? doc.querySelector('.message.error').textContent : '';
10473                    if (errorMsg) {
10474                        msg = errorMsg;
10475                        window.dispatchMessages && window.dispatchMessages([{
10476                            type: 'error',
10477                            text: msg
10478                        }]);
10479                    } else {
10480                        window.dispatchEvent(new CustomEvent(result.popup_action, {detail: result}));
10481                        window.dispatchEvent(new CustomEvent('reload-customer-section-data'));
10482
10483                        if (globalActionName == 'UpdateItemOptions') {
10484                           window.location.href = `${BASE_URL}checkout/cart`;
10485                        }
10486                    }
10487                        break;
10488                    case !!result.redirect:
10489                        window.location.href = result.redirect;
10490                        break;
10491                }
10492            }
10493        }
10494
10495        if (document.body.classList.contains('catalog-category-view')) {
10496            hyva.getBrowserStorage().setItem(
10497                'last_category_id',
10498                ''
10499            );
10500        }
10501
10502        const groupedOptions = document.querySelector('div[x-data^=initGroupedOptions]');
10503
10504        if (!!groupedOptions) {
10505            groupedOptions.setAttribute('x-on:amcart-trigger-grouped-form-validate.window', 'validateForm()');
10506        }
10507
10508        window.addEventListener('amcart-add-to-cart-action', addToCartAction);
10509    })();
10510</script>
10510<script>
10511    (function () {
10512        'use strict';
10513
10514        const addToQuoteButtonSelector = '.amquote-addto-button:not(.amasty-quote-login):not(.amasty-quote-link)';
10515        document.querySelectorAll(addToQuoteButtonSelector).forEach((button) => {
10516            if (!button.hasAttribute('x-data')) {
10517                button.setAttribute('x-data', '');
10518            }
10519
10520            button.removeAttribute('@click.prevent');
10521            button.setAttribute(
10522                'x-on:click.prevent',
10523                '$dispatch(\'amcart-add-to-quote-action\', $el)');
10524        });
10525    })();
10526</script>
vendor: 1 bytes, line 10526
10526
10527<script>
10528    (function () {
10529        'use strict';
10530
10531        const addToQuoteAction = ({ detail: element }) => {
10532            const formNode = element.nodeName === 'FORM'
10533                ? element
10534                : element.form ?? element.closest('form');
10535
10536            window.dispatchEvent(new CustomEvent('amcart-trigger-grouped-form-validate'));
10537            if (!formNode || !formNode.checkValidity()) {
10538                return formNode?.reportValidity();
10539            }
10540
10541            performRequest(formNode);
10542        }
10543
10544        const performRequest = (formNode) => {
10545            const url = `${BASE_URL}amasty_cart/quote/${getAction(formNode)}`;
10546            const headers = {
10547                'content-type': 'application/x-www-form-urlencoded; charset=UTF-8'
10548            };
10549            const formData = new FormData(formNode);
10550            const isProductPage = formNode.id === 'product_addtocart_form'
10551                && document.body.classList.contains('catalog-product-view');
10552            formData.set('product_page', isProductPage);
10553            formData.set('last_category_id', hyva.getBrowserStorage().getItem('last_category_id'));
10554            formData.set('id', formData.get('item'));
10555
10556            window.dispatchEvent(new CustomEvent('amcart-loading-start'));
10557            window.dispatchEvent(new CustomEvent('amcart-add-start', { detail: formNode }));
10558
10559            fetch(url, { headers: { ...headers }, body: new URLSearchParams(formData), method: 'POST' })
10560                .then(response => response.json())
10561                .then((result) => {
10562                    switch (true) {
10563                        case !!result.popup_action:
10564                            window.dispatchEvent(new CustomEvent(result.popup_action, { detail: result }));
10565                            window.dispatchEvent(new CustomEvent('reload-customer-section-data'));
10566                            break;
10567                        case !!result.redirect:
10568                            window.location.href = result.redirect;
10569                            break;
10570                    }
10571                }).catch((error) => {
10572                    typeof window.dispatchMessages !== "undefined" && window.dispatchMessages(
10573                        [{
10574                            type: "error",
10575                            text: error
10576                        }], 5000
10577                    );
10578                }).finally(() => {
10579                    window.dispatchEvent(new CustomEvent('amcart-loading-stop'));
10580                });
10581        };
10582
10583        const getAction = (formNode) => {
10584            return (formNode.action.includes('amasty_quote') && formNode.action.includes('updateItemOptions'))
10585                ? 'updateItemOptions'
10586                : 'add';
10587        };
10588
10589        window.addEventListener('amcart-add-to-quote-action', addToQuoteAction);
10590    })();
10591</script>
10591
10592
10593
10594    
10594<script>
10595        'use strict';
10596
10597        (function () {
10598            const initCompareFunctions = ['initCompareOnProductList', 'initCompareOnProductView'];
10599
10600            initCompareFunctions.forEach(compareFunction => {
10601                window[compareFunction] = function () {
10602                    return {
10603                        addToCompare: function (productId) {
10604                            var loader=document.getElementById('loading');
10605                            console.log("11111111");
10606                            loader.style.display='block';
10607                            console.log("Add To compare amasty ajax cart qqqqq");
10608                                                        const postUrl = BASE_URL + 'catalog/product_compare/add/';
10609                            const headers = {
10610                                "content-type": "application/x-www-form-urlencoded; charset=UTF-8",
10611                            };
10612                            const body = new URLSearchParams({
10613                                form_key: hyva.getFormKey(),
10614                                product: productId,
10615                                is_ajax: true
10616                            });
10617
10618                            fetch(postUrl, {headers: headers, body: body, method: 'POST'}).then((response) => {
10619                                                                if (response.redirected) {
10620                                    window.location.href = response.url;
10621                                } else if (response.ok) {
10622                                    window.dispatchEvent(new CustomEvent('reload-customer-section-data'));
10623                                } else {
10624                                    typeof window.dispatchMessages !== "undefined" && window.dispatchMessages(
10625                                        [{
10626                                            type: "warning",
10627                                            text: "Could not add item to the comparison list."
10628                                        }],
10629                                        1000
10630                                    );
10631                                }
10632                            }).catch((error) => {
10633                                typeof window.dispatchMessages !== "undefined" && window.dispatchMessages(
10634                                    [{
10635                                        type: 'error',
10636                                        text: error
10637                                    }],
10638                                    1000
10639                                );
10640                            });
10641                        }
10642                    };
10643                };
10644            });
10645        })();
10646    </script>
10646
10647
10648
10649
10650
10651
10652<section x-data="{isLoading: false}" x-cloak
10653         @amcart-loading-start.window="isLoading = true"
10654         @amcart-loading-stop.window="isLoading = false">
10655    <div class="flex flex-row justify-center items-center w-full h-full fixed select-none z-50"
10656     style="left: 50%;top: 50%;transform: translateX(-50%) translateY(-50%);background: rgba(255,255,255,0.7);"
10657     x-show="isLoading"
10658     x-transition:enter="ease-out duration-200"
10659     x-transition:enter-start="opacity-0"
10660     x-transition:enter-end="opacity-100"
10661     x-transition:leave="ease-in duration-200"
10662     x-transition:leave-start="opacity-100"
10663     x-transition:leave-end="opacity-0">
10664    <!-- By Sam Herbert (@sherb), for everyone. More @ http://goo.gl/7AJzbL -->
10665<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 57 57" stroke="currentColor" class="text-primary" width="57" height="57" role="img">
10666    <g fill="none" fill-rule="evenodd">
10667        <g transform="translate(1 1)" stroke-width="2">
10668            <circle cx="5" cy="50" r="5">
10669                <animate attributeName="cy" begin="0s" dur="2.2s" values="50;5;50;50" calcMode="linear" repeatCount="indefinite"/>
10670                <animate attributeName="cx" begin="0s" dur="2.2s" values="5;27;49;5" calcMode="linear" repeatCount="indefinite"/>
10671            </circle>
10672            <circle cx="27" cy="5" r="5">
10673                <animate attributeName="cy" begin="0s" dur="2.2s" from="5" to="5" values="5;50;50;5" calcMode="linear" repeatCount="indefinite"/>
10674                <animate attributeName="cx" begin="0s" dur="2.2s" from="27" to="27" values="27;49;5;27" calcMode="linear" repeatCount="indefinite"/>
10675            </circle>
10676            <circle cx="49" cy="50" r="5">
10677                <animate attributeName="cy" begin="0s" dur="2.2s" values="50;50;5;50" calcMode="linear" repeatCount="indefinite"/>
10678                <animate attributeName="cx" from="49" to="49" begin="0s" dur="2.2s" values="49;5;27;49" calcMode="linear" repeatCount="indefinite"/>
10679            </circle>
10680        </g>
10681    </g>
10682<title>loader</title></svg>
10683    <div class="ml-10 text-primary text-xl">
10684        Loading...    </div>
10685</div>
10686</section>
10687
10688<div x-data="prDataPrivacyCheckboxDetailModalComponent.create()"
10689     @set-is-show-modal.window="isShowModal = $event.detail"
10690     @keydown.escape="closeModal"
10691>
10692    <div x-ref="pr-data-privacy-checkbox-detail" x-show="isShowModal" x-cloak>
10693        <div class="inset-0 fixed z-50">
10694            <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"
10695                 x-show="isShowModal" x-transition
10696            >
10697                <span class="absolute top-3 right-3 cursor-pointer hover:text-gray-700 p-1" @click="closeModal">
10698                    <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" width="20" height="20" role="img">
10699  <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"/>
10700<title>x</title></svg>
10701                </span>
10702                <template x-if="data.checkbox">
10703    <div id="prgdpr-consent-checkboxes-modal" class="flex flex-col">
10704        <div class="modal-header flex flex-col flex-shrink-0 flex-grow-0 mb-5">
10705            <h2 class="text-xl lg:text-2lx pb-3 mb-1 border-container border-b" x-html="data.checkbox.policy.title"></h2>
10706            <a data-contentid="prgdpr-print-content"
10707               class="ml-auto text-sm text-blue-600 hover:underline"
10708               href="#"
10709               @click.prevent="print()"
10710            >
10711                Print            </a>
10712        </div>
10713        <div class="prgdpr-consent-checkboxes-item-content overflow-y-auto mb-5" id="prgdpr-print-content">
10714            <div class="prose max-w-none" x-html="data.checkbox.policy.content"></div>
10715        </div>
10716        <div class="modal-footer flex-shrink-0 flex-grow-0 pt-5 mt-auto border-container border-t">
10717            <button type="button"
10718                    class="action iagree btn btn-primary"
10719                    @click="data.checkbox.checked = data.checkbox.isAlreadyChecked = true;
10719 $dispatch('prgdpr-checkbox-agree', 'checkbox' + data.checkbox.consentId); closeModal();"
10720            >
10721                I agree            </button>
10722        </div>
10723    </div>
10724</template>
10725            </div>
10726
10727            <div class="bg-gray-800 opacity-50 absolute inset-0" @click="closeModal"></div>
10728        </div>
10729    </div>
10730</div>
10731
10732<script>
10733    const prDataPrivacyCheckboxDetailModalComponent = {
10734        data: null,
10735        isShowModal: false,
10736        create: function () {
10737            this.data = Alpine.reactive({checkbox: null});
10738            return this;
10739        },
10740        setCheckbox: function (checkbox) {
10741            this.data.checkbox = checkbox;
10742        },
10743        showModal: function () {
10744            this.isShowModal = true;
10745        },
10746        closeModal() {
10747            this.isShowModal = false;
10748        },
10749        print: function () {
10750            let printWindow = window.open('', 'Print', 'height=600,width=800');
10751            printWindow.document.write(
10752                `<html><head><title>${this.data.checkbox.policy.title}</title></head><body>${this.data.checkbox.policy.content}</body></html`
10753            );
10754            printWindow.document.close();
10755            printWindow.focus();
10756            printWindow.print();
10757            printWindow.onafterprint = function () {
10758                printWindow.close();
10759            };
10760
10761            return true;
10762        }
10763    };
10764</script>
vendor: 1 bytes, line 10764
10764
10765<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>
10765<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>
10765    
10765<script defer src="https://www.dwin1.com/94345.js"></script>
10765
10766    
10767<script  nonce="aTE3cXdxdHVzeHVsc3J3aWdpaHdhNHZ0MW4zbWg2OGQ=">
10768    (() => {
10769        const updateSettingBar = () => {
10770            const intervalId = setInterval(() => {
10771                const bar = document.getElementById('pr-cookie-setting-bar');
10772                if (! bar) {
10773                    return;
10774                }
10775
10776                clearInterval(intervalId);
10777                bar.querySelectorAll('input[type="checkbox"], button.action')
10778                    .forEach(el => el.disabled = true);
10779
10780                                    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';
10781                    bar.querySelector('.pr-cookie-description')
10782                        .insertAdjacentHTML('beforebegin', notification);
10783                            }, 400);
10784        }
10785
10786        prGlobalPrivacyControlApi.signalHandlers.addHandler(updateSettingBar);
10787    })();
10788</script>
vendor: 1 bytes, line 10788
10788
10789<script type="application/json" id="default-section-data">
10790    {"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":1791055632},"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>
10790
10791</div><div x-data="fpcTracking()" x-init="sendRequest()"></div>
10792<script>
10793    function fpcTracking() {
10794        return {
10795            url: 'https://www.flooringinc.com/amasty_fpc/reports/',
10796            sendRequest() {
10797                const ttfb = window.performance.timing.responseStart - window.performance.timing.fetchStart;
10798                fetch(`${this.url}?` + new URLSearchParams({ ttfb }), {
10799                    method: 'GET',
10800                    headers: {
10801                        'Content-Type': 'application/json',
10802                        'X-Requested-With': 'XMLHttpRequest',
10803                    }
10804                })
10805            }
10806        }
10807    }
10808</script>
10808
10809<!-- amasty-fpc-status -->    
10809<script>
10810        const wpGA4ServerSide = {
10811            pushClick: function(productId, listId, listName, index, elm) {
10812                if (elm && elm.hasAttribute('onclick')) {
10813                    var requestUrl = 'https://www.flooringinc.com/weltpixel_ga4/track/productclick/';
10814                    if (productId && listId && listName) {
10815                        fetch(requestUrl, {
10816                            method: 'POST',
10817                            headers: {
10818                                'Content-Type': 'application/x-www-form-urlencoded',
10819                                'X-Requested-With': 'XMLHttpRequest'
10820                            },
10821                            body: 'product_id=' + productId + '&list_id=' + listId +'&list_name=' + listName + '&index=' + index
10822                        })
10823                        .then(res => res.json())
10824                        .then(data => {
10825                        });
10826                    }
10827                }
10828            },
10829
10830            pushViewItemList: function(hashId) {
10831                if (hashId && document.getElementById('wp_ga4_server_side_view_item_list')) {
10832                    var requestUrl = 'https://www.flooringinc.com/weltpixel_ga4/track/viewitemlist/';
10833                    fetch(requestUrl, {
10834                        method: 'POST',
10835                        headers: {
10836                            'Content-Type': 'application/x-www-form-urlencoded',
10837                            'X-Requested-With': 'XMLHttpRequest'
10838                        },
10839
10840                        body: 'hash_id='+hashId
10841                    })
10842                    .then(res => res.json())
10843                    .then(data => {
10844                    });
10845                }
10846            }
10847        };
10848
10849        window.wpGA4ServerSide = wpGA4ServerSide;
10850
10851        let allowGa4Services = window.ga4AllowServices ?? true;
10852
10853        if (allowGa4Services) {
10854            const {fetch: originalFetch} = window;
10855            window.fetch = async (...args) => {
10856                let [resource, config] = args;
10857                let response = await originalFetch(resource, config);
10858
10859                if ((typeof resource == 'string') && resource.search('/customer\/section\/load/') > 0) {
10860                    response.clone().json().then(data => {
10861                        if (data.wp_ga4.datalayer) {
10862                            const dataLayerData = JSON.parse(data.wp_ga4.datalayer);
10863                            dataLayerData.forEach((dataLayerItem) => {
10864                                window.dataLayer.push({ecommerce: null});
10865                                window.dataLayer.push(dataLayerItem);
10866                            });
10867                        }
10868                    });
10869                }
10870                return response;
10871            };
10872        }
10873
10874    </script>
10874
10875    
10875<script>
10876        let allowGa4ServicesMeta = window.ga4AllowServices ?? true;
10877        if (allowGa4ServicesMeta) {
10878            const {fetch: originalFetchMeta} = window;
10879            window.fetch = async (...args) => {
10880                let [resource, config] = args;
10881                let response = await originalFetchMeta(resource, config);
10882
10883                if ((typeof resource == 'string') && resource.search('/customer\/section\/load/') > 0) {
10884                    response.clone().json().then(data => {
10885                        if (data.wp_ga4 && data.wp_ga4.metapixel) {
10886                            const metaPixel = JSON.parse(data.wp_ga4.metapixel);
10887                            for (index in metaPixel) {
10888                                fbq(metaPixel[index].track, metaPixel[index].eventName, metaPixel[index].eventData);
10889                            }
10890                        }
10891                    });
10892                }
10893                return response;
10894            };
10895        }
10896    </script>
vendor: 1 bytes, line 10896
10896
10897<script type="text/javascript">window.NREUM||(NREUM={});NREUM.info={"beacon":"bam.nr-data.net","licenseKey":"NRJS-d3390ca2649c82069a5","applicationID":"1112615138","transactionName":"YwMDN0NXChZSVRBZWlpJIABFXwsLHFUFRFRYCQZMQUQLAUZVEG9WWwsRAkNTSwxdUgFI","queueTime":0,"applicationTime":557,"atts":"T0QAQQtNGRg=","errorBeacon":"bam.nr-data.net","agent":""}</script>
10897</body>
10898</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.