PageSourceSearch

https://www.flooringinc.com/blog

html flooringinc.com collected 2026-10-03 19:27:23 UTC 907,434 bytes, 11,744 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="FlooringInc Blog - Learn About All Things Flooring Related Here"/>
7<meta name="description" content="FlooringInc has been one of the top sources for flooring content for years now. We hope you find these flooring related articles helpful and informative."/>
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>FlooringInc Blog - Learn About All Things Flooring Related Here</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="canonical" href="https://www.flooringinc.com/blog" />
18<link  rel="icon" type="image/x-icon" href="https://www.flooringinc.com/media/favicon/stores/1/fav.png" />
19<link  rel="shortcut icon" type="image/x-icon" href="https://www.flooringinc.com/media/favicon/stores/1/fav.png" />
20
21<!-- Plausible Script Start -->
22
23<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 23
23
24<script>window.plausible = window.plausible || function() { (window.plausible.q = window.plausible.q || []).push(arguments) }</script>
24
25
26<!-- Plausible Script Ends -->
27
28<!--My8cKJTuUilt2Vvmb0igB9BsOCrMSS2F-->
29
30<link rel="preconnect" href="https://www.googletagmanager.com" crossorigin>
31<link rel="dns-prefetch" href="https://www.googletagmanager.com">
32<link rel="preload" href="https://fonts.gstatic.com/s/poppins/v20/pxiEyp8kv8JHgFVrJJfecg.woff2" as="font" type="font/woff2" crossorigin="anonymous"/>
33
34<style>
35.needsclick.kl-teaser-UEa7DA { display:none!important; }
36.bg-white.w-full.max-w-\[580px\].text-center.rounded-lg.shadow-lg {
37    max-width: 580px;
38}
39</style>
40    
41<script nonce="aGt5cXM2Mm92cWs4OGUwOWd2eGhqdGFsYWVzZjFycG0=">
42    window.getWpGA4Cookie = function(name) {
43        match = document.cookie.match(new RegExp(name + '=([^;]+)'));
44        if (match) return decodeURIComponent(match[1].replace(/\+/g, ' ')) ;
45    };
46
47    window.ga4AllowServices = false;
48
49    var isCookieRestrictionModeEnabled = 0,
50        currentWebsiteId = 1,
51        cookieRestrictionName = 'user_allowed_save_cookie';
52
53    if (isCookieRestrictionModeEnabled) {
54        allowedCookies = window.getWpGA4Cookie(cookieRestrictionName);
55
56        if (allowedCookies !== undefined) {
57            allowedWebsites = JSON.parse(allowedCookies);
58
59            if (allowedWebsites[currentWebsiteId] === 1) {
60                window.ga4AllowServices = true;
61            }
62        }
63    } else {
64        window.ga4AllowServices = true;
65    }
66</script>
66
67            
67<script nonce="aGt5cXM2Mm92cWs4OGUwOWd2eGhqdGFsYWVzZjFycG0=">
68        if (window.ga4AllowServices) {
69            window.dataLayer = window.dataLayer || [];
70                        var dl4Objects = [{"pageName":"FlooringInc Blog - Learn About All Things Flooring Related Here","pageType":"other"}];
71            for (var i in dl4Objects) {
72                window.dataLayer.push({ecommerce: null});
73                window.dataLayer.push(dl4Objects[i]);
74            }
75                        var wpGA4Cookies = ['wp_ga4_user_id','wp_ga4_customerGroup'];
76            wpGA4Cookies.map(function (cookieName) {
77                var cookieValue = window.getWpGA4Cookie(cookieName);
78                if (cookieValue) {
79                    var dl4Object = {};
80                    dl4Object[cookieName.replace('wp_ga4_', '')] = cookieValue;
81                    window.dataLayer.push(dl4Object);
82                }
83            });
84        }
85    </script>
85
86
87    <!-- Google Tag Manager -->
88<script nonce="aGt5cXM2Mm92cWs4OGUwOWd2eGhqdGFsYWVzZjFycG0=" >  if (window.ga4AllowServices) { 
89
90window.addEventListener('init-external-scripts', () => {
vendor: 335 bytes, lines 90-96
90
91
92(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
93new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],
94j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=
95'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);
96})(window,document,'script','dataLayer','
96GTM-5XR7MB7
vendor: 7 bytes, lines 96-97
96');
97
98}, {once: true, passive: true});
99
100} </script>
100
101<!-- End Google Tag Manager -->
102
103
104<script nonce="aGt5cXM2Mm92cWs4OGUwOWd2eGhqdGFsYWVzZjFycG0&#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;}
105attributes=Object.assign(this.defaultAttributes,attributes);if(typeof attributes.expires==='number'){attributes.expires=new Date(new Date()*1+attributes.expires*864e+5);}
106attributes.expires=attributes.expires?attributes.expires.toUTCString():'';try{var result=JSON.stringify(value);if(/^[\{\[]/.test(result)){value=result;}}catch(e){}
107value=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;}
108stringifiedAttributes+='; '+attributeName;if(attributes[attributeName]===true){continue;}
109stringifiedAttributes+='='+attributes[attributeName].split(';')[0];}
110return(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;}
111var 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);}
112try{var name=this.converter.write(parts[0]);cookie=this.converter.read(cookie);if(json){try{cookie=JSON.parse(cookie);}catch(e){}}
113jar[name]=cookie;if(key===name){break;}}catch(e){}}
114return key?jar[key]:jar;}}</script>
114
115
116<script nonce="aGt5cXM2Mm92cWs4OGUwOWd2eGhqdGFsYWVzZjFycG0&#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();}
117document.dispatchEvent(new Event('pr-global-privacy-control-api:configured'));};if(!this.config.canProcessSignal){setConfigurationResult(false);return;}
118if(this.cache.get('isApplicableForUser')){setConfigurationResult(this.cache.get('isApplicableForUser'));return;}
119if(!navigator.globalPrivacyControl){setConfigurationResult(false);return;}
120if(!this.config.isGeotargetingEnabled){this.cache.set('isApplicableForUser',true);setConfigurationResult(true);return;}
121this.geotargeting.isApplicable().then(result=>{this.cache.set('isApplicableForUser',result);setConfigurationResult(result);}).catch(()=>setConfigurationResult(true));},shouldApply:function(){if(!this.isConfigured){return false;}
122return 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}
123this.handlers.push(handler);if(prGlobalPrivacyControlApi.isConfigured&&prGlobalPrivacyControlApi.shouldApply()){handler.callback();handler.executed=true;}},processPendingHandlers:function(){if(!prGlobalPrivacyControlApi.shouldApply()){return;}
124if(!prCookieService.get('pr-gpc-signal-handled')){prCookieService.set('pr-gpc-signal-handled',true,{expires:null});}
125this.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 125
125
126<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>
126
127
128
129    
129<script type="text&#x2F;javascript" nonce="aGt5cXM2Mm92cWs4OGUwOWd2eGhqdGFsYWVzZjFycG0&#x3D;">(()=>{let userAllowedCookies=prCookieService.get('user_allowed_save_cookie');if(!userAllowedCookies){return;}
130let customerConsent=prCookieService.get('pr-cookie-consent');if(!customerConsent){return;}
131try{customerConsent=JSON.parse(customerConsent);}catch(error){return;}
132const categoryKey='marketing';if(customerConsent.includes('all')||customerConsent.includes(categoryKey)){return;}
133let intervalId=setInterval(prCookieService.set.bind(prCookieService,'mg_dnt',true,{expires:null}),500);document.addEventListener('pr-cookie-consent-api:configured',()=>{clearInterval(intervalId);});})();</script>
133
134
135<!-- Critical CSS for <lite-youtube> element to avoid CLS: https://web.dev/cls/ -->
136<style>
137    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>
138<script>
139    var BASE_URL = 'https://www.flooringinc.com/';
140    var THEME_PATH = 'https://www.flooringinc.com/static/version1789462004/frontend/Dcw/hyvadesktop/en_US';
141    var COOKIE_CONFIG = {
142        "expires": null,
143        "path": "\u002F",
144        "domain": ".www.flooringinc.com",
145        "secure": true,
146        "lifetime": "3600",
147        "cookie_restriction_enabled": false    };
148    var CURRENT_STORE_CODE = 'default';
149    var CURRENT_WEBSITE_ID = '1';
150
151    window.hyva = window.hyva || {}
152
153    window.cookie_consent_groups = window.cookie_consent_groups || {}
154    window.cookie_consent_groups['necessary'] = true;
155
156    window.cookie_consent_config = window.cookie_consent_config || {};
157    window.cookie_consent_config['necessary'] = [].concat(
158        window.cookie_consent_config['necessary'] || [],
159        [
160            'user_allowed_save_cookie',
161            'form_key',
162            'mage-messages',
163            'private_content_version',
164            'mage-cache-sessid',
165            'last_visited_store',
166            'section_data_ids'
167        ]
168    );
169</script>
vendor: 1 bytes, line 169
169
170<script>
171    'use strict';
172    (function( hyva, undefined ) {
173
174        function lifetimeToExpires(options, defaults) {
175
176            const lifetime = options.lifetime || defaults.lifetime;
177
178            if (lifetime) {
179                const date = new Date;
180                date.setTime(date.getTime() + lifetime * 1000);
181                return date;
182            }
183
184            return null;
185        }
186
187        function generateRandomString() {
188
189            const allowedCharacters = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ',
190                length = 16;
191
192            let formKey = '',
193                charactersLength = allowedCharacters.length;
194
195            for (let i = 0; i < length; i++) {
196                formKey += allowedCharacters[Math.round(Math.random() * (charactersLength - 1))]
197            }
198
199            return formKey;
200        }
201
202        const sessionCookieMarker = {noLifetime: true}
203
204        const cookieTempStorage = {};
205
206        const internalCookie = {
207            get(name) {
208                const v = document.cookie.match('(^|;) ?' + name + '=([^;]*)(;|$)');
209                return v ? v[2] : null;
210            },
211            set(name, value, days, skipSetDomain) {
212                let expires,
213                    path,
214                    domain,
215                    secure,
216                    samesite;
217
218                const defaultCookieConfig = {
219                    expires: null,
220                    path: '/',
221                    domain: null,
222                    secure: false,
223                    lifetime: null,
224                    samesite: 'lax'
225                };
226
227                const cookieConfig = window.COOKIE_CONFIG || {};
228
229                expires = days && days !== sessionCookieMarker
230                    ? lifetimeToExpires({lifetime: 24 * 60 * 60 * days, expires: null}, defaultCookieConfig)
231                    : lifetimeToExpires(window.COOKIE_CONFIG, defaultCookieConfig) || defaultCookieConfig.expires;
232
233                path = cookieConfig.path || defaultCookieConfig.path;
234                domain = !skipSetDomain && (cookieConfig.domain || defaultCookieConfig.domain);
235                secure = cookieConfig.secure || defaultCookieConfig.secure;
236                samesite = cookieConfig.samesite || defaultCookieConfig.samesite;
237
238                document.cookie = name + "=" + encodeURIComponent(value) +
239                    (expires && days !== sessionCookieMarker ? '; expires=' + expires.toGMTString() : '') +
240                    (path ? '; path=' + path : '') +
241                    (domain ? '; domain=' + domain : '') +
242                    (secure ? '; secure' : '') +
243                    (samesite ? '; samesite=' + samesite : 'lax');
244            },
245            isWebsiteAllowedToSaveCookie() {
246                const allowedCookies = this.get('user_allowed_save_cookie');
247                if (allowedCookies) {
248                    const allowedWebsites = JSON.parse(unescape(allowedCookies));
249
250                    return allowedWebsites[CURRENT_WEBSITE_ID] === 1;
251                }
252                return false;
253            },
254            getGroupByCookieName(name) {
255                const cookieConsentConfig = window.cookie_consent_config || {};
256                let group = null;
257                for (let prop in cookieConsentConfig) {
258                    if (!cookieConsentConfig.hasOwnProperty(prop)) continue;
259                    if (cookieConsentConfig[prop].includes(name)) {
260                        group = prop;
261                        break;
262                    }
263                }
264                return group;
265            },
266            isCookieAllowed(name) {
267                const cookieGroup = this.getGroupByCookieName(name);
268                return cookieGroup
269                    ? window.cookie_consent_groups[cookieGroup]
270                    : this.isWebsiteAllowedToSaveCookie();
271            },
272            saveTempStorageCookies() {
273                for (const [name, data] of Object.entries(cookieTempStorage)) {
274                    if (this.isCookieAllowed(name)) {
275                        this.set(name, data['value'], data['days'], data['skipSetDomain']);
276                        delete cookieTempStorage[name];
277                    }
278                }
279            }
280        };
281
282        hyva.getCookie = (name) => {
283            const cookieConfig = window.COOKIE_CONFIG || {};
284
285            if (cookieConfig.cookie_restriction_enabled && ! internalCookie.isCookieAllowed(name)) {
286                return cookieTempStorage[name] ? cookieTempStorage[name]['value'] : null;
287            }
288
289            return internalCookie.get(name);
290        }
291
292        hyva.setCookie = (name, value, days, skipSetDomain) => {
293            const cookieConfig = window.COOKIE_CONFIG || {};
294
295            if (cookieConfig.cookie_restriction_enabled && ! internalCookie.isCookieAllowed(name)) {
296                cookieTempStorage[name] = {value, days, skipSetDomain};
297                return;
298            }
299            return internalCookie.set(name, value, days, skipSetDomain);
300        }
301
302
303        hyva.setSessionCookie = (name, value, skipSetDomain) => {
304            return hyva.setCookie(name, value, sessionCookieMarker, skipSetDomain)
305        }
306
307        hyva.getBrowserStorage = () => {
308            const browserStorage = window.localStorage || window.sessionStorage;
309            if (!browserStorage) {
310                console.warn('Browser Storage is unavailable');
311                return false;
312            }
313            try {
314                browserStorage.setItem('storage_test', '1');
315                browserStorage.removeItem('storage_test');
316            } catch (error) {
317                console.warn('Browser Storage is not accessible', error);
318                return false;
319            }
320            return browserStorage;
321        }
322
323        hyva.postForm = (postParams) => {
324            const form = document.createElement("form");
325
326            let data = postParams.data;
327
328            if (! postParams.skipUenc && ! data.uenc) {
329                data.uenc = btoa(window.location.href);
330            }
331            form.method = "POST";
332            form.action = postParams.action;
333
334            Object.keys(postParams.data).map(key => {
335                const field = document.createElement("input");
336                field.type = 'hidden'
337                field.value = postParams.data[key];
338                field.name = key;
339                form.appendChild(field);
340            });
341
342            const form_key = document.createElement("input");
343            form_key.type = 'hidden';
344            form_key.value = hyva.getFormKey();
345            form_key.name="form_key";
346            form.appendChild(form_key);
347
348            document.body.appendChild(form);
349
350            form.submit();
351        }
352
353        hyva.getFormKey = function () {
354            let formKey = hyva.getCookie('form_key');
355
356            if (!formKey) {
357                formKey = generateRandomString();
358                hyva.setCookie('form_key', formKey);
359            }
360
361            return formKey;
362        }
363
364        hyva.formatPrice = (value, showSign, options = {}) => {
365            const formatter = new Intl.NumberFormat(
366                'en\u002DUS',
367                Object.assign({
368                    style: 'currency',
369                    currency: 'USD',
370                    signDisplay: showSign ? 'always' : 'auto'
371                }, options)
372            );
373            return (typeof Intl.NumberFormat.prototype.formatToParts === 'function') ?
374                formatter.formatToParts(value).map(({type, value}) => {
375                    switch (type) {
376                        case 'currency':
377                            return '\u0024' || value;
378                        case 'minusSign':
379                            return '- ';
380                        case 'plusSign':
381                            return '+ ';
382                        default :
383                            return value;
384                    }
385                }).reduce((string, part) => string + part) :
386                formatter.format(value);
387        }
388
389        const formatStr = function (str, nStart) {
390            const args = Array.from(arguments).slice(2);
391
392            return str.replace(/(%+)([0-9]+)/g, (m, p, n) => {
393                const idx = parseInt(n) - nStart;
394
395                if (args[idx] === null || args[idx] === void 0) {
396                    return m;
397                }
398                return p.length % 2
399                    ? p.slice(0, -1).replace('%%', '%') + args[idx]
400                    : p.replace('%%', '%') + n;
401            })
402        }
403
404        hyva.str = function (string) {
405            const args = Array.from(arguments);
406            args.splice(1, 0, 1);
407
408            return formatStr.apply(undefined, args);
409        }
410
411        hyva.strf = function () {
412            const args = Array.from(arguments);
413            args.splice(1, 0, 0);
414
415            return formatStr.apply(undefined, args);
416        }
417
418        /**
419         * Take a html string as `content` parameter and
420         * extract an element from the DOM to replace in
421         * the current page under the same selector,
422         * defined by `targetSelector`
423         */
424        hyva.replaceDomElement = (targetSelector, content) => {
425            // Parse the content and extract the DOM node using the `targetSelector`
426            const parser = new DOMParser();
427            const doc = parser.parseFromString(content, 'text/html');
428            const contentNode = doc.querySelector(targetSelector);
429
430            // Bail if content can't be found
431            if (!contentNode) {
432                return;
433            }
434
435            hyva.activateScripts(contentNode)
436
437            // Replace the old DOM node with the new content
438            document.querySelector(targetSelector).replaceWith(contentNode);
439
440            // Reload customerSectionData and display cookie-messages if present
441            window.dispatchEvent(new CustomEvent("reload-customer-section-data"));
442            hyva.initMessages();
443        }
444
445        hyva.activateScripts = (contentNode) => {
446            // Extract all the script tags from the content.
447            // Script tags won't execute when inserted into a dom-element directly,
448            // therefore we need to inject them to the head of the document.
449            const tmpScripts = contentNode.getElementsByTagName('script');
450
451            if (tmpScripts.length > 0) {
452                // Push all script tags into an array
453                // (to prevent dom manipulation while iterating over dom nodes)
454                const scripts = [];
455                for (let i = 0; i < tmpScripts.length; i++) {
456                    scripts.push(tmpScripts[i]);
457                }
458
459                // Iterate over all script tags and duplicate+inject each into the head
460                for (let i = 0; i < scripts.length; i++) {
461                    let script = document.createElement('script');
462                    script.innerHTML = scripts[i].innerHTML;
463
464                    document.head.appendChild(script);
465
466                    // Remove the original (non-executing) node from the content
467                    scripts[i].parentNode.removeChild(scripts[i]);
468                }
469            }
470            return contentNode;
471        }
472
473        const replace = {['+']: '-', ['/']: '_', ['=']: ','};
474        hyva.getUenc = () => btoa(window.location.href).replace(/[+/=]/g, match => replace[match]);
475
476        let currentTrap;
477
478        const focusableElements = (rootElement) => {
479            const selector = 'button, [href], input, select, textarea, details, [tabindex]:not([tabindex="-1"]';
480            return Array.from(rootElement.querySelectorAll(selector))
481                .filter(el => {
482                    return el.style.display !== 'none'
483                        && !el.disabled
484                        && el.tabIndex !== -1
485                        && (el.offsetWidth || el.offsetHeight || el.getClientRects().length)
486                })
487        }
488
489        const focusTrap = (e) => {
490            const isTabPressed = e.key === 'Tab' || e.keyCode === 9;
491            if (!isTabPressed) return;
492
493            const focusable = focusableElements(currentTrap)
494            const firstFocusableElement = focusable[0]
495            const lastFocusableElement = focusable[focusable.length - 1]
496
497            e.shiftKey
498                ? document.activeElement === firstFocusableElement && (lastFocusableElement.focus(), e.preventDefault())
499                : document.activeElement === lastFocusableElement && (firstFocusableElement.focus(), e.preventDefault())
500        };
501
502        hyva.releaseFocus = (rootElement) => {
503            if (currentTrap && (!rootElement || rootElement === currentTrap)) {
504                currentTrap.removeEventListener('keydown', focusTrap)
505                currentTrap = null
506            }
507        }
508        hyva.trapFocus = (rootElement) => {
509            if (!rootElement) return;
510            hyva.releaseFocus()
511            currentTrap = rootElement
512            rootElement.addEventListener('keydown', focusTrap)
513            const firstElement = focusableElements(rootElement)[0]
514            firstElement && firstElement.focus()
515        }
516
517                hyva.alpineInitialized = (fn) => window.addEventListener('alpine:initialized', fn, {once: true})
518                window.addEventListener('user-allowed-save-cookie', () => internalCookie.saveTempStorageCookies())
519
520    }( window.hyva = window.hyva || {} ));
521</script>
vendor: 1 bytes, line 521
521
522<script>
523    if (!window.IntersectionObserver) {
524        window.IntersectionObserver = function (callback) {
525            this.observe = el => el && callback(this.takeRecords());
526            this.takeRecords = () => [{isIntersecting: true, intersectionRatio: 1}];
527            this.disconnect = () => {};
528            this.unobserve = () => {};
529        }
530    }
531</script>
531
532<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>
533<script>
534// Lightweight click handler: if Zendesk is already available, open messenger and hide the button.
535// If Zendesk is not available yet we do nothing here — the DOMContentLoaded handler below is
536// responsible for loading the script (avoids double-loading the Zendesk snippet).
537(function () {
538    const btn = document.getElementById('open-chatbox');
539    if (!btn) return;
540
541    btn.addEventListener('click', function () {
542        if (typeof zE !== 'undefined') {
543            try {
544                zE('messenger', 'open');
545            } catch (e) {
546                // ignore if API is not ready yet
547            }
548            this.style.display = 'none';
549            this.setAttribute('aria-hidden', 'true');
550        }
551        // If zE is not defined we intentionally don't load the script here to avoid
552        // duplicate loading. The DOMContentLoaded listener below will handle loading.
553    });
554})();
555</script>
vendor: 2 bytes, line 555
555
556<script>
557/* ===== Load UserWay on click ===== */
558document.addEventListener('DOMContentLoaded', function () {
559  
560  const userWayButton = document.getElementById('uw-widget-custom-trigger');
561  const zendeskButton = document.getElementById('open-chatbox');
562
563    /* ---- UserWay Script Functions ---- */
564    function initUserWay() {
565    if (window.UserWay) {
566      window.UserWay.widgetToggle();
567      return;
568    }
569    }
570
571    function loadUserWay() {
572      if (window.UserWay) return; // Skip if already loaded
573    
574    const userwayScript = document.createElement('script');
575    userwayScript.src = 'https://cdn.userway.org/widget.js';
576    userwayScript.type = 'text/javascript';
577    userwayScript.async = true;
578    userwayScript.crossOrigin = 'anonymous';
579    userwayScript.setAttribute('data-account', 'vfvO52o2Kn');
580    document.head.append(userwayScript);
581
582    /* Hide UserWay accessibility icon when initialized */
583    document.addEventListener('userway:init_completed', function (event) {
584      const instance = event.detail.userWayInstance;
585      instance.iconVisibilityOff();
586
587      const userwayIframe = document.getElementById("launcher");
588      if (userwayIframe) {
589        const userwaySiblings = Array.from(userwayIframe.parentNode.children);
590        const userwaySiblingDiv = userwaySiblings.find(el => el.tagName === 'DIV');
591        if (userwaySiblingDiv) {
592          userwaySiblingDiv.id = 'userway-live-chat';
593        }
594      }
595    }, { once: true });
596  }
597
598  if (userWayButton) {
599    userWayButton.addEventListener('click', initUserWay);
600  }
601
602  /* ---- Load UserWay on Scroll ---- */
603  let hasLoaded = false;
604  function handleScroll() {
605    if (!hasLoaded) {
606      hasLoaded = true;
607      loadUserWay();
608      // Remove scroll listener after loading
609      window.removeEventListener('scroll', handleScroll);
610    }
611  }
612  
613  window.addEventListener('scroll', handleScroll);
614
615  /* ---- Load Zendesk Script ---- */
616  function hideChatButton() {
617    try {
618      if (zendeskButton) {
619        zendeskButton.style.display = 'none';
620        zendeskButton.setAttribute('aria-hidden', 'true');
621      }
622    } catch (e) {
623      // ignore
624    }
625  }
626
627  function loadZendesk() {
628    // If already loaded, open messenger and hide the button
629    if (window.zE) {
630      try { zE('messenger', 'open'); } catch (e) { }
631      hideChatButton();
632      return;
633    }
634
635    // If script is already injected, do nothing (we'll open on load)
636    if (document.getElementById('ze-snippet')) return;
637
638    const zendeskScript = document.createElement('script');
639    zendeskScript.id = 'ze-snippet';
640    zendeskScript.src = 'https://static.zdassets.com/ekr/snippet.js?key=f007eb69-6b5d-407a-bdff-0706af960a4d';
641
642    zendeskScript.onload = function () {
643      // Wait a short moment to ensure widget initializes
644      setTimeout(() => {
645        if (typeof zE !== 'undefined') {
646          try { zE('messenger', 'open'); } catch (e) { }
647          hideChatButton();
648        }
649      }, 300);
650    };
651
652    document.head.append(zendeskScript);
653  }
654
655  if (zendeskButton) {
656    zendeskButton.addEventListener('click', loadZendesk);
657  }
658
659});
660</script>
660
661
662<style>
663.checkout-index-index button#open-chatbox{display:none}
664.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>');}
665</style></div>
666<script>
667    window.addEventListener('load', function () {
668        window.magentoStorefrontEvents = magentoStorefrontEvents;
669        magentoStorefrontEvents.context.setStorefrontInstance(
670            {"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"}        );
671        magentoStorefrontEvents.context.setMagentoExtension({
672            magentoExtensionVersion: "8.0.1",
673        });
674        magentoStorefrontEvents.context.setDataServicesExtension({
675            version: "8.0.1",
676        });
677        magentoStorefrontEvents.context.setPage({
678            pageType: "Default"
679        });
680        magentoStorefrontEvents.context.setContext("pageExtended", {
681            action: "page-view"
682        });
683
684        
685        magentoStorefrontEvents.publish.pageView();
686    });
687</script>
687
688</head>
689<body class="pl-thm-dcw pl-thm-dcw-hyvadesktop prgdpr-dcw prgdpr-dcw-hyvadesktop blog-page blog-page-list mst-nav__theme-hyva-reset mst-nav__theme-hyva-default mst-nav__theme-dcw-hyvadesktop blog-index-index page-layout-2columns-right" id="html-body">
690<!-- Google Tag Manager (noscript) -->
vendor: 69 bytes, lines 690-691
690
691<noscript><iframe src="https://www.googletagmanager.com/ns.html?id=
691GTM-5XR7MB7
vendor: 85 bytes, lines 691-692
691"
692height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript>
693<!-- End Google Tag Manager (noscript) -->
694
695<script  nonce="aGt5cXM2Mm92cWs4OGUwOWd2eGhqdGFsYWVzZjFycG0=">
696var prCookieConsentApi = {
697    CUSTOMER_CONSENT: 'pr-cookie-consent',
698    SYSTEM_COOKIES: [
699        'PHPSESSID',
700        this.CUSTOMER_CONSENT,
701        'user_allowed_save_cookie',
702    ],
703    config: {},
704    whitelist: {},
705    isConfigured: false,
706    /**
707     * Contains callbacks that run after all configuration come
708     *
709     * @type {function[]}
710     */
711    configuredCallbacks: [],
712    initCookieBlocking: function () {
713        var cookieDesc = Object.getOwnPropertyDescriptor(Document.prototype, 'cookie')
714            || Object.getOwnPropertyDescriptor(HTMLDocument.prototype, 'cookie');
715        if (cookieDesc && cookieDesc.configurable) {
716            var api = this;
717            Object.defineProperty(document, 'cookie', {
718                get: function () {
719                    return cookieDesc.get.call(document);
720                },
721                set: function (cookie) {
722                    let cookieName = cookie.substring(0, cookie.indexOf('=')).trim();
723                    document.dispatchEvent(new CustomEvent('pr-cookie-consent-api:cookie-blocking:validation', {
724                        detail: {cookieName: cookieName, isAllowed: api.isAllowed(cookieName), cookie: cookie}
725                    }));
726
727                    if (! api.isAllowed(cookieName)) {
728                        api.logger.warn('CookieConsent: blocked cookie "' + cookieName + '"');
729                        return;
730                    }
731                    cookieDesc.set.call(document, cookie);
732                }
733            });
734        }
735    },
736    getCookieValue: function (name) {
737        var values = document.cookie.match('(^|;)\\s*' + name + '\\s*=\\s*([^;]+)');
738        return values ? decodeURIComponent(values.pop()) : '';
739    },
740    configure: function (configJson) {
741        this.logger.init();
742        this.userScript.init();
743        try {
744            this.config = JSON.parse(configJson);
745            if (this.config.canManageCookie === null) {
746                console.error('CookieConsent: restriction config is invalid');
747            }
748            this.isConfigured = true;
749
750            this.configuredCallbacks.forEach(function (callback) {
751                callback();
752            }.bind(this));
753
754            this.clearRejectedCookie();
755        } catch (e) {
756            console.error('CookieConsent: error has happened during parse JSON');
757            return false;
758        }
759
760        document.dispatchEvent(new Event('pr-cookie-consent-api:configured'));
761    },
762    /**
763     * @param {function} callback
764     * @returns {prCookieConsentApi}
765     */
766    addConfiguredCallback: function (callback) {
767        this.configuredCallbacks.push(callback);
768        return this;
769    },
770        isAllowedCategory: function (categoryKey) {
771        if (! this.config.canManageCookie) {
772            return true;
773        }
774        if (this.isEssentialCategory(categoryKey)) {
775            return true;
776        }
777        if (this.isOptIn()) {
778            if (this.isAllCategoriesAllowed()) {
779                return true;
780            }
781            return this.consent.get().includes(categoryKey);
782        }
783        return this.config.canUseCookieBeforeOptIn;
784    },
785    getDomain: function (cookieName) {
786        return this.config.cookies[cookieName] ? this.config.cookies[cookieName].domain : null;
787    },
788        isAllowed: function (cookieName) {
789        if (this.isSystemCookie(cookieName)) {
790            return true;
791        }
792        if (! this.config.canManageCookie) {
793            return true;
794        }
795        if (this.whitelist[cookieName]) {
796            return true;
797        }
798        cookieName = this.getTrueCookieName(cookieName);
799        if (! this.isOptIn()) {
800            if (this.config.canUseCookieBeforeOptIn) {
801                return true;
802            }
803            if (this.isKnownCookie(cookieName)) {
804                return this.isInEssentialCategory(cookieName);
805            }
806            return false;
807        }
808        if (! this.isKnownCookie(cookieName)) {
809            return ! this.config.canBlockUnknownCookie;
810        }
811        return this.isInAllowedCategory(cookieName);
812    },
813    isAllCategoriesAllowed: function () {
814        if (null === this.cache.get('allowAllCategories')) {
815            var customerConsent = this.consent.get();
816            if (customerConsent && customerConsent.includes('all') ) {
817                this.cache.set('allowAllCategories', true);
818            } else {
819                var allowedWebsites = this.websiteRestriction.getAllowed();
820                this.cache.set('allowAllCategories', allowedWebsites[this.config.mage.website] === 1);
821            }
822        }
823        return this.cache.get('allowAllCategories');
824    },
825    isEssentialCategory: function (categoryKey) {
826        return this.config.essentialCategoryKeys.includes(categoryKey);
827    },
828    isInEssentialCategory: function (cookieName) {
829        return this.isEssentialCategory(this.getCookieCategory(cookieName));
830    },
831    isInAllowedCategory: function (cookieName) {
832        return this.isAllowedCategory(this.getCookieCategory(cookieName));
833    },
834    getCookieCategory: function (cookieName) {
835        return this.config.cookieToCategoryMapping[cookieName];
836    },
837    isOptIn: function () {
838        var allowedWithDefaultCookie = this.websiteRestriction.getAllowed()[this.config.mage.website] === 1;
839        return Boolean(this.consent.get()) || allowedWithDefaultCookie;
840    },
841    isSystemCookie: function (cookieName) {
842        return this.SYSTEM_COOKIES.includes(cookieName);
843    },
844    isKnownCookie: function (cookieName) {
845        return this.config.cookieToCategoryMapping.hasOwnProperty(cookieName);
846    },
847    getTrueCookieName: function (cookieName) {
848        var keys = Object.keys(this.config.dynamicNamesPatterns), key;
849        for (var i = 0, length = keys.length; i < length; i++) {
850            key = keys[i];
851            if (new RegExp(this.config.dynamicNamesPatterns[key]).test(cookieName)) {
852                return key;
853            }
854        }
855        return cookieName;
856    },
857    clearRejectedCookie: function () {
858        let cookies = prCookieService.get();
859        Object.keys(cookies).forEach(function(cookieName) {
860            if (this.isAllowed(cookieName)) {
861                return;
862            }
863
864            var encodedCookieName = cookieName = encodeURIComponent(String(cookieName))
865                .replace(/%(23|24|26|2B|5E|60|7C)/g, decodeURIComponent)
866                .replace(/[\(\)]/g, escape);
867
868            this.whitelist[encodedCookieName] = true;
869            if (this.getDomain(cookieName)) {
870                prCookieService.remove(cookieName, {domain: this.getDomain(cookieName)});
871            } else {
872                prCookieService.remove(cookieName);
873                if (this.config.cookie.parentDomain) {
874                    prCookieService.remove(cookieName, {domain: this.config.cookie.parentDomain});
875                }
876            }
877            this.logger.warn('CookieConsent: remove cookie "' + cookieName + '"');
878            if (typeof prCookieService.get(cookieName) !== 'undefined') {
879                this.logger.error('CookieConsent: fail to remove cookie "' + cookieName + '"');
880            }
881            this.whitelist[encodedCookieName] = false;
882        }.bind(this));
883    }
884};
885
886prCookieConsentApi.userScript = {
887    /**
888     * List of callbacks and categories they depend on.
889     */
890    pendingScripts: [],
891    /**
892     * Run script after model is configured or after user provided consent.
893     */
894    init: function () {
895        prCookieConsentApi.addConfiguredCallback(this.executePendingScripts.bind(this));
896        prCookieConsentApi.consent.addCallback(this.executePendingScripts.bind(this));
897    },
898    /**
899     * Run or delay script.
900     *
901     * @param {function} callback
902     * @param {string}   categoryKey
903     */
904    execute: function (callback, categoryKey) {
905        if (prCookieConsentApi.isConfigured && prCookieConsentApi.isAllowedCategory(categoryKey)) {
906            callback();
907            return;
908        }
909
910        this.pendingScripts.push({callback: callback, categoryKey: categoryKey, executed: false});
911    },
912    /**
913     * Run pending scripts.
914     */
915    executePendingScripts: function () {
916        this.pendingScripts.forEach(function (script) {
917            if (false === script.executed && prCookieConsentApi.isAllowedCategory(script.categoryKey)) {
918                script.callback();
919                script.executed = true;
920            }
921        }.bind(this));
922    },
923};
924
925prCookieConsentApi.websiteRestriction = {
926    getAllowed: function () {
927        var allowedWebsites = prCookieConsentApi.getCookieValue(prCookieConsentApi.config.mage.cookieName);
928        return allowedWebsites ? JSON.parse(allowedWebsites) : {};
929    },
930    allowCurrent: function () {
931        return this.set(prCookieConsentApi.config.mage.website, true);
932    },
933    disallowCurrent: function () {
934        return this.set(prCookieConsentApi.config.mage.website, false);
935    },
936    /**
937     * @param {number} website
938     * @param {boolean} flag
939     * @return {CookieRestriction.websiteRestriction}
940     */
941    set: function (website, flag) {
942        var allowedWebsites = this.getAllowed();
943
944        if (flag) {
945            allowedWebsites[website] = 1;
946        } else {
947            delete allowedWebsites[website];
948        }
949
950        prCookieService.set(prCookieConsentApi.config.mage.cookieName, allowedWebsites, {
951            path: prCookieConsentApi.config.cookie.path,
952            expires: prCookieConsentApi.config.mage.lifetime ? Math.ceil(prCookieConsentApi.config.mage.lifetime / 86400) : 0
953        });
954
955        return this;
956    }
957};
958
959prCookieConsentApi.cache = {
960    cacheData: {allowAllCategories: null},
961    get: function (key) {
962        return this.cacheData[key];
963    },
964    set: function (key, value) {
965        this.cacheData[key] = value;
966    },
967    reset: function () {
968        this.cacheData = {allowAllCategories: null};
969    }
970};
971
972prCookieConsentApi.logger = {
973    level: 0, /* disabled */
974        init: function () {
975        if (window.location.hash === '#pr-enable-cookie-log') {
976            this.level = 1; /* only warnings and errors */
977        }
978        if (window.location.hash === '#pr-enable-cookie-log-all') {
979            this.level = 2; /* all logs */
980        }
981    },
982    log: function () {
983        this.level > 1 && console.log.apply(console, arguments);
984    },
985    warn: function () {
986        this.level > 0 && console.warn.apply(console, arguments);
987    },
988    error: function () {
989        this.level > 0 && console.error.apply(console, arguments);
990    }
991};
992
993prCookieConsentApi.consent = {
994    /**
995     * Contains callbacks that run after user consent.
996     *
997     * @type {function[]}
998     */
999    callbacks: [],
1000    allowAllCategories: function () {
1001        prCookieConsentApi.cache.reset();
1002        prCookieConsentApi.consent.set(['all']);
1003        return this;
1004    },
1005    declineAll: function () {
1006        prCookieConsentApi.cache.reset();
1007        prCookieConsentApi.consent.set([]);
1008        return this;
1009    },
1010    set: function (allowedCategories) {
1011        prCookieService.set(prCookieConsentApi.CUSTOMER_CONSENT, JSON.stringify(allowedCategories), {
1012            expires: prCookieConsentApi.config.consent.expiry,
1013            path: prCookieConsentApi.config.cookie.path,
1014            domain: prCookieConsentApi.config.cookie.domain
1015        });
1016
1017        if (allowedCategories.includes('all')) {
1018            prCookieConsentApi.websiteRestriction.allowCurrent();
1019        } else {
1020            prCookieConsentApi.websiteRestriction.disallowCurrent();
1021        }
1022        prCookieConsentApi.cache.reset();
1023
1024        var isAccepting = allowedCategories.length;
1025
1026        this.callbacks.forEach(function (callback) {
1027            callback(allowedCategories)
1028        });
1029
1030        fetch(prCookieConsentApi.config.consent.logUrl, {
1031            method: 'POST',
1032            headers: {
1033                'Content-Type': 'application/json',
1034                'X-Requested-With': 'XMLHttpRequest'
1035            },
1036            body: JSON.stringify({acceptedKeys: allowedCategories})
1037        })
1038            .then(this.pageReloadAfterAction.bind(this, isAccepting));
1039    },
1040    /**
1041     * Reload page by configuration and action
1042     *
1043     * @param isAccepting
1044     */
1045    pageReloadAfterAction: function (isAccepting) {
1046        if (isAccepting && prCookieConsentApi.config.consent.reloadAfterAccept) {
1047            window.location.reload();
1048        }
1049
1050        if (! isAccepting && prCookieConsentApi.config.consent.reloadAfterDecline) {
1051            window.location.reload();
1052        }
1053    },
1054    get: function () {
1055        var consent = prCookieConsentApi.getCookieValue(prCookieConsentApi.CUSTOMER_CONSENT);
1056        return consent ? JSON.parse(consent) : false;
1057    },
1058    addCallback: function (callback) {
1059        this.callbacks.push(callback);
1060        return this;
1061    },
1062};
1063
1064prCookieConsentApi.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
10640022\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');
1065prCookieConsentApi.initCookieBlocking();
1066
1067if (typeof define === 'function') {
1068    define('prCookieService', function () {return prCookieService});
1069    define('prCookieConsentApi', function () {return prCookieConsentApi;});
1070}
1071</script>
1071
1072
1073
1074    
1074<script type="text/javascript"  nonce="aGt5cXM2Mm92cWs4OGUwOWd2eGhqdGFsYWVzZjFycG0=">
1075        (() => {
1076            document.addEventListener('pr-cookie-consent-api:cookie-blocking:validation', (event) => {
1077                if ('mg_dnt' !== event.detail.cookieName) {
1078                    return;
1079                }
1080
1081                setTimeout(() => {
1082                    const categoryKey = 'marketing';
1083                    let cookieValue = (event.detail.cookie.match(/^[^=]+=(.*?)(?:$|;)/) || [])[1]?.trim();
1084
1085                    if (prCookieConsentApi.isAllowedCategory(categoryKey) && cookieValue.length) {
1086                        prCookieService.remove('mg_dnt', prCookieConsentApi.config.cookie);
1087                        return;
1088                    }
1089
1090                    if (! prCookieConsentApi.isAllowedCategory(categoryKey) && ! cookieValue.length) {
1091                        prCookieService.set('mg_dnt', true, { ...prCookieConsentApi.config.cookie, expires: null });
1092                    }
1093                }, 100);
1094            });
1095
1096            let handleCookieConsent = () => {
1097                const categoryKey = 'marketing';
1098                if (prCookieConsentApi.isAllowedCategory(categoryKey)) {
1099                    prCookieService.remove('mg_dnt', prCookieConsentApi.config.cookie);
1100                } else {
1101                    prCookieService.set('mg_dnt', true, { ...prCookieConsentApi.config.cookie, expires: null });
1102                }
1103            };
1104
1105            prCookieConsentApi.consent.addCallback(handleCookieConsent);
1106            handleCookieConsent();
1107        })();
1108    </script>
1108
1109
1110    
1110<script>
1111        (function () {
1112            'use strict';
1113
1114            window.amRecaptchaModel = {
1115                formsToProtect: "form\u005Baction\u002A\u003D\u0022faq\u002Findex\u002Fsave\u0022\u005D",
1116                isEnabledOnPayments: "",
1117                checkoutRecaptchaValidateUrl: "https://www.flooringinc.com/amcapthca/checkout/validate/",
1118                invisibleCaptchaCustomForm: "\u002D1",
1119                recaptchaConfig: {
1120                    lang: "hl\u003Den" || 'hl=en',
1121                    theme: "light",
1122                    badge: "bottomright",
1123                    sitekey: "6Lc6gcYqAAAAADiXHrgCFqC4Sewhxs-nrHYgN4oo",
1124                    size: "normal"
1125                },
1126                url: 'https://www.google.com/recaptcha/api.js',
1127                isCaptchaScriptLoaded: false,
1128                isInvisible: "normal" === 'invisible',
1129
1130                /**
1131                 * Submit event
1132                 *
1133                 * @param {Object} $event
1134                 * @return {void}
1135                 */
1136                execute: function ($event) {
1137                    const eventTarget = $event?.target;
1138                    if (this.isCaptchaScriptLoaded) {
1139                        this.executeCaptcha(eventTarget);
1140                    } else {
1141                        window.addEventListener('amcaptcha-script-loaded', () => {
1142                            this.isCaptchaScriptLoaded = true;
1143                            this.executeCaptcha(eventTarget);
1144                            this.initAmcaptchaBadges();
1145                        });
1146
1147                        this.loadRecaptchaScript();
1148                    }
1149                },
1150
1151                /**
1152                 * Execute original submit
1153                 *
1154                 * @param {Object} $event
1155                 * @param {HTMLElement} $el
1156                 * @return {void}
1157                 */
1158                recaptchaCallback: function ($event, $el) {
1159                    this.shouldExecuteCallback($event, $el) && $el.dispatchEvent(new CustomEvent('amrecaptcha-executable-callback'));
1160                },
1161
1162                /**
1163                 * Reset captcha
1164                 *
1165                 * @param {Object} $event
1166                 * @param {HTMLElement} $el
1167                 */
1168                expiredCallback: function($event, $el) {
1169                    this.shouldExecuteCallback($event, $el) && grecaptcha.reset($event.detail.widgetId);
1170                },
1171
1172                /**
1173                 * Checks if event is fired on submitted element
1174                 *
1175                 * @param {Object} $event
1176                 * @param {HTMLElement} $el
1177                 * @return {boolean}
1178                 */
1179                shouldExecuteCallback: function($event, $el) {
1180                    const eventWidgetId = $event.detail.widgetId;
1181                    const elementWidgetId = $el.dataset.amCaptchaWidgetId || $el.closest('form')?.dataset.amCaptchaWidgetId;
1182
1183                    return eventWidgetId === elementWidgetId;
1184                },
1185
1186                /**
1187                 * Run captcha for widget by id
1188                 *
1189                 * @param {HTMLElement} eventTarget
1190                 * @return {void}
1191                 */
1192                executeCaptcha: function(eventTarget) {
1193                    if (!eventTarget.dataset.hasOwnProperty('amCaptchaRendered')) {
1194                        this.bindCaptchaGlobalCallbacks(eventTarget);
1195                        this.renderCaptcha(eventTarget);
1196                        eventTarget.dataset.amCaptchaRendered = '';
1197                    }
1198
1199                    const widgetId = this.getWidgetId(eventTarget);
1200
1201                    if (!widgetId) {
1202                        typeof window.dispatchMessages !== "undefined" && window.dispatchMessages([
1203                            {
1204                                type: "error",
1205                                text: 'Recaptcha\u0020cannot\u0020properly\u0020validate\u0020form.'
1206                            }
1207                        ]);
1208                        return;
1209                    }
1210
1211                    window.dispatchEvent(new CustomEvent('amcaptcha-loading-start'));
1212                    grecaptcha.reset(widgetId);
1213
1214                    if (!this.isInvisible) {
1215                        this.stopAmcaptchaLoading();
1216                        return;
1217                    }
1218
1219                    grecaptcha.execute(widgetId)
1220                        .then(() => this.stopAmcaptchaLoading())
1221                        .catch(() => this.stopAmcaptchaLoading());
1222                },
1223
1224                /**
1225                 * Add recaptcha script to page
1226                 *
1227                 * @return {void}
1228                 */
1229                loadRecaptchaScript: function () {
1230                    const lang = window.amRecaptchaModel.recaptchaConfig.lang;
1231                    const url = `${window.amRecaptchaModel.url}?onload=amRecaptchaLoadCallback&render=explicit&${lang}`;
1232                    const script = document.createElement('script');
1233
1234                    script.type = 'text/javascript';
1235                    script.src = url;
1236                    script.async = true;
1237                    document.head.appendChild(script);
1238                },
1239
1240                /**
1241                 * Stop loader on page
1242                 *
1243                 * @return {void}
1244                 */
1245                stopAmcaptchaLoading: function () {
1246                    window.dispatchEvent(new CustomEvent('amcaptcha-loading-stop'));
1247                },
1248
1249                /**
1250                 * Add attributes to hide captcha badge
1251                 *
1252                 * @return {void}
1253                 */
1254                initAmcaptchaBadges: function () {
1255                    if (!this.isInvisible) {
1256                        return;
1257                    }
1258
1259                    document.querySelectorAll('.grecaptcha-badge')?.forEach(captchaBadge => {
1260                        captchaBadge?.setAttribute('x-data', '{ visible: true }');
1261                        captchaBadge?.setAttribute('x-on:amcaptcha-loading-start.window', 'visible = true');
1262                        captchaBadge?.setAttribute('x-on:amcaptcha-loading-stop.window', 'visible = false');
1263                        captchaBadge?.setAttribute(':class', '!visible && "invisible"');
1264                    });
1265                },
1266
1267                /**
1268                 * Get form widgetId
1269                 *
1270                 * @param {HTMLElement} eventTarget
1271                 * @return {string}
1272                 */
1273                getWidgetId: function (eventTarget) {
1274                    return eventTarget.dataset.amCaptchaWidgetId
1275                        || eventTarget.closest('form')?.dataset.amCaptchaWidgetId;
1276                },
1277
1278                /**
1279                 * Add captcha badge or checkbox to protected form.
1280                 * Store widgetId in dataset to pass this info in callbacks
1281                 *
1282                 * @param {HTMLElement} eventTarget
1283                 * @return {void}
1284                 */
1285                renderCaptcha: function (eventTarget) {
1286                    const captchaElement = document.createElement('div');
1287                    const formContent = eventTarget.closest('form')?.querySelector('[data-element="form-content"]')
1288                        ?? eventTarget.closest('form');
1289                    formContent?.appendChild(captchaElement);
1290
1291                    eventTarget.dataset.amCaptchaWidgetId = grecaptcha.render(captchaElement, {
1292                        ...window.amRecaptchaModel?.recaptchaConfig,
1293                        callback: () => {
1294                            window.dispatchEvent(new CustomEvent(
1295                                'amrecaptcha-callback', {
1296                                    detail: this.getCaptchaCallbackDetail(eventTarget)
1297                                }));
1298                        },
1299                        'expired-callback': () => {
1300                            window.dispatchEvent(new CustomEvent(
1301                                'amrecaptcha-expired-callback', {
1302                                    detail: this.getCaptchaCallbackDetail(eventTarget)
1303                                }));
1304                        }
1305                    });
1306                },
1307
1308                /**
1309                 * Get detail property for callback event
1310                 *
1311                 * @param {HTMLElement} eventTarget
1312                 * @return {object}
1313                 */
1314                getCaptchaCallbackDetail: function (eventTarget) {
1315                    return {
1316                        widgetId: eventTarget.dataset.amCaptchaWidgetId,
1317                        form: eventTarget
1318                    }
1319                },
1320
1321                /**
1322                 * Add functions that will be called on the global state
1323                 *
1324                 * @param {HTMLElement} eventTarget
1325                 * @return {void}
1326                 */
1327                bindCaptchaGlobalCallbacks: function (eventTarget) {
1328                    eventTarget.setAttribute(
1329                        'x-on:amrecaptcha-callback.window',
1330                        `amRecaptchaModel.recaptchaCallback($event, $el)`
1331                    );
1332                    eventTarget.setAttribute(
1333                        'x-on:amrecaptcha-expired-callback.window',
1334                        'amRecaptchaModel.expiredCallback($event, $el)'
1335                    );
1336                }
1337            };
1338        })(window.amRecaptchaModel = window.amRecaptchaModel || {});
1339
1340        window.amRecaptchaLoadCallback = function () {
1341            window.dispatchEvent(new CustomEvent('amcaptcha-script-loaded'));
1342        }
1343    </script>
1343
1344
1345
1346        <!--suppress HtmlUnknownTarget -->
1347    <!-- BV | Magento Extension 9.1.7 -->
1348    
1348<script>
1349        window.addEventListener('init-external-scripts', () => {
1350            const bvScript = document.createElement('script');
1351            bvScript.src = '//apps.bazaarvoice.com/deployments/incstores/main_site/production/en_US/bv.js';
1352            bvScript.type = 'text/javascript';
1353            bvScript.async = true;
1354            document.head.append(bvScript);
1355        }, {once: true, passive: true});
1356    </script>
vendor: 1 bytes, line 1356
1356
1357<script>
1358    function initSocialLoginPost() {
1359        return {
1360            submitForm(form) {
1361                event.preventDefault();
1362                var loginRefererElement = document.getElementById("sociallogin-login-referer");
1363                var value = loginRefererElement.value;
1364                fetch(form.action, {
1365                    headers: {
1366                        contentType: "application/json;charset=utf-8",
1367                    },
1368                    body: new URLSearchParams({
1369                        form_key: hyva.getFormKey(),
1370                        'refress-redirect-url':value
1371                    }),
1372                    method: "POST",
1373                    mode: "cors",
1374                    credentials: "include",
1375                }).then(response => {
1376                    if (response.redirected) {
1377                        window.location.href = response.url;
1378                    } else {
1379                        window.dispatchMessages("warning", "Post request failed", 5000);
1380                    }
1381                })
1382            }
1383        }
1384    }
1385</script>
1385
1386<form style="display:none;" class="form" x-data="initSocialLoginPost()" @submit="submitForm($el)"
1387      action="https://www.flooringinc.com/sociallogin/account/loginPost/"
1388      method="post"
1389      id="sociallogin-login-form"
1390>
1391    <input id="sociallogin-login-referer" name="refress-redirect-url" type="hidden" value="" />
1392    <input id="sociallogin-login-submit" type="submit" value="sociallogin" style="font-size:0"/>
1393</form>
1394
1395<style>
1396    .pr-cookie-setting-bar-overlay,
1397    .pr-cookie-setting-bar-container {
1398        z-index: 999999999999999;
1399    }
1400</style>
1401
1402<script>
1403    'use strict';
1404    var prCookieSettingBar = {
1405        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
1405ilters, 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
1405se 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},
1406        show: function () {},
1407        hide: function () {},
1408        syncCategoriesDataWithConsent: function () {
1409            this.config.categories = this.config.categories.map(category => {
1410                category.is_allowed = prCookieConsentApi.isAllowedCategory(category.key);
1411                return category;
1412            });
1413        },
1414        allowAll: function () {
1415            prCookieConsentApi.consent.allowAllCategories();
1416            this.syncCategoriesDataWithConsent();
1417            window.prCookieSettingBar.hide();
1418        },
1419        declineAll: function () {
1420            prCookieConsentApi.consent.declineAll();
1421            this.syncCategoriesDataWithConsent();
1422            window.prCookieSettingBar.hide();
1423        },
1424        confirm: function () {
1425            var allowedCategories = [...prCookieConsentApi.config.essentialCategoryKeys];
1426            this.config.categories.forEach((category) => {
1427                if (allowedCategories.includes(category.key) || !category.is_allowed) {
1428                    return;
1429                }
1430
1431                allowedCategories.push(category.key);
1432            });
1433
1434            prCookieConsentApi.consent.set(allowedCategories);
1435            this.syncCategoriesDataWithConsent();
1436            window.prCookieSettingBar.hide();
1437        }
1438    };
1439</script>
1439
1440
1441<div x-data="{...hyva.modal(), init() {
1442            window.prCookieSettingBar.show = this.show.bind(this, 'pr-cookie-setting-bar', event);
1443            window.prCookieSettingBar.hide = this.hide.bind(this);
1444    }}" x-init="init()">
1445    <div x-cloak    x-bind="overlay('pr-cookie-setting-bar')"
1446    x-spread="overlay('pr-cookie-setting-bar')"
1447    class="fixed inset-0 bg-black bg-opacity-50 z-50 pr-cookie-setting-bar-overlay">
1448    <div class="fixed flex justify-center items-center text-left z-40 pr-cookie-setting-bar-container inset-0">
1449        <div x-ref="pr-cookie-setting-bar" role="dialog" aria-modal="true"
1450                                                  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">
1451            <div class="pr-cookie-setting-bar-wrap text-[13px] px-4 pt-2 pb-4 relative"
1452     id="pr-cookie-setting-bar"
1453     :class="config.cookieDetailsIsOpen && 'h-screen overflow-hidden'"
1454     x-data="prCookieSettingBar"
1455     x-init="syncCategoriesDataWithConsent()"
1456>
1457    <button @click="hide" class="ml-auto -mt-2 -mr-4 block top-2 right-2 p-2">
1458        <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">
1459  <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"/>
1460<title>x</title></svg>
1461    </button>
1462    <h3 class="font-bold text-xl leading-normal mb-3" x-text="config.overview.title"></h3>
1463    <div class="pr-cookie-description" x-html="config.overview.text"></div>
1464    <div class="pr-actions-buttons flex flex-wrap items-center justify-center py-4 mb-6 border-container border-b">
1465        <button type="button" class="action btn btn-primary m-2" x-text="config.acceptButtonConfig.label" @click="allowAll();"></button>
1466        <button type="button" class="action btn btn-secondary m-2" x-text="config.declineButtonConfig.label" @click="declineAll()"></button>
1467    </div>
1468    <h3 class="pr-cookie-manage-title font-bold text-xl mb-0" x-text="config.consentPreferences.header"></h3>
1469    <ul class="message-system-list mt-8">
1470        <template x-for="category in config.categories">
1471            <li class="mt-0 mb-4">
1472                <div class="accordion-title">
1473                    <div class="pr-cookie-option flex justify-between pb-2 mt-8 text-sm">
1474                        <strong class="option-label mr-4" x-text="category.name"></strong>
1475                        <template x-if="category.is_essential">
1476                            <strong class="option-status whitespace-nowrap text-green-700" x-text="config.consentPreferences.essential_category_status"></strong>
1477                        </template>
1478                        <template x-if="! category.is_essential">
1479                            <div class="pr-cookie-switch">
1480                                <label class="switch-label" aria-label="Switch">
1481                                    <input type="checkbox"
1482                                           class="sr-only"
1483                                           x-model="category.is_allowed"
1484                                           x-bind:name="category.key"
1485                                    >
1486                                    <span class="switch-area flex items-center w-11 h-6 rounded-3xl border border-container cursor-pointer transition-all"
1487                                          :class="category.is_allowed ? 'bg-green-500 border-green-700' : 'bg-gray-200 border-gray-300'"
1488                                    >
1489                                        <span class="switch-nob block w-5 h-5 rounded-full transition-all"
1490                                              :class="category.is_allowed ? 'bg-white ml-auto mr-[2px]' : 'bg-gray-500 mr-auto ml-[2px]'"
1491                                        ></span>
1492                                    </span>
1493                                </label>
1494                            </div>
1495                        </template>
1496                    </div>
1497                    <div class="first-details" x-data="{ isOpen: false }">
1498                        <div class="pr-cookie-category-description text-gray-700 mb-4" x-text="category.description"></div>
1499                        <template x-if="config.canShowCookieDetails">
1500                            <div>
1501                                <div class="lvl1">
1502                                    <span class="pr-cookie-details text-blue-700 cursor-pointer underline hover:no-underline"
1503                                          x-on:click="isOpen = true; config.cookieDetailsIsOpen = isOpen"
1504                                          x-text="config.consentPreferences.cookie_details_link"
1505                                          x-bind:data-category-key="category.key"></span>
1506                                </div>
1507                                <div class="second-details absolute bg-white px-4 pt-2 pb-4 inset-0 h-full"
1508                                     x-show="isOpen"
1509                                >
1510                                    <div class="pr-cookie-view flex flex-col h-full">
1511                                        <template x-if="isOpen">
1512                                            <button @click="hide" class="ml-auto -mt-2 -mr-2 block top-2 right-2 p-2">
1513                                                <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">
1514  <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"/>
1515<title>x</title></svg>
1516                                            </button>
1517                                        </template>
1518                                        <div class="flex justify-between items-center text-sm mb-2">
1519                                            <button class="pr-cookie-details-hide px-3 -ml-3 mr-3 flex items-center cursor-pointer hover:text-blue-800"
1520                                                    x-show="isOpen"
1521                                                    x-on:click="isOpen = false; config.cookieDetailsIsOpen = isOpen">
1522                                                <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">
1523  <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"/>
1524<title>arrow-left</title></svg>
1525                                                Back
1526                                            </button>
1527                                            <strong class="option-label" x-text="category.name"></strong>
1528                                        </div>
1529                                        <div class="pr-cookies-list h-full px-4 -mx-4 mb-3 overflow-auto">
1530                                            <h3 class="pr-cookie-view-title mb-2 font-bold text-base">Cookies List</h3>
1531                                            <template x-if="category.details.length > 0">
1532                                                <template x-for="group in category.details">
1533                                                    <div class="pr-cookie-item text-xs py-2 border-container border-b">
1534                                                        <h4 class="pr-cookie-details-title font-semibold mb-1" x-text="group.name"></h4>
1535                                                        <details class="pr-cookie-details-info">
1536                                                            <summary class="cursor-pointer text-blue-600 hover:text-blue-500">
1537                                                                <h5 class="inline-block font-semibold">
1538                                                                    View Cookies
1539                                                                </h5>
1540                                                            </summary>
1541                                                            <div class="pr-cookie-group-wrp">
1542                                                                <template x-for="cookie in group.cookies">
1543                                                                    <div class="pr-cookie-group mt-1 mb-4 p-4 bg-gray-100 rounded">
1544                                                                        <div class="pr-cookie-group-row mb-2 flex">
1545                                                                            <sp
1545an class="w-24 flex-shrink-0 mr-4">Name</span>
1546                                                                            <span class="truncate" x-text="cookie.name"></span>
1547                                                                        </div>
1548                                                                        <div class="pr-cookie-group-row mb-2 flex">
1549                                                                            <span class="w-24 flex-shrink-0 mr-4">Domain</span>
1550                                                                            <span class="truncate" x-text="cookie.domainLabel"></span>
1551                                                                        </div>
1552                                                                        <div class="pr-cookie-group-row mb-2 flex">
1553                                                                            <span class="w-24 flex-shrink-0 mr-4">Duration</span>
1554                                                                            <span x-text="cookie.durationLabel"></span>
1555                                                                        </div>
1556                                                                        <div class="pr-cookie-group-row mb-2 flex">
1557                                                                            <span class="w-24 flex-shrink-0 mr-4">Type</span>
1558                                                                            <span x-text="cookie.typeLabel"></span>
1559                                                                        </div>
1560                                                                        <div class="pr-cookie-group-row mb-2 flex">
1561                                                                            <span class="w-24 flex-shrink-0 mr-4">Category</span>
1562                                                                            <span x-text="cookie.category_key"></span>
1563                                                                        </div>
1564                                                                        <div class="pr-cookie-group-row flex">
1565                                                                            <span class="w-24 flex-shrink-0 mr-4">Description</span>
1566                                                                            <span x-text="cookie.description"></span>
1567                                                                        </div>
1568                                                                    </div>
1569                                                                </template>
1570                                                            </div>
1571                                                        </details>
1572                                                    </div>
1573                                                </template>
1574                                            </template>
1575                                            <template x-if="category.details.length === 0">
1576                                                <p>There are no cookies.</p>
1577                                            </template>
1578                                        </div>
1579
1580                                        <template x-if="isOpen">
1581                                            <div>
1582                                                <button class="action btn btn-primary"
1583                                                        :style="`color: ${config.confirmButtonConfig.text_color}; background-color: ${config.confirmButtonConfig.background_color}; border-color: ${config.confirmButtonConfig.background_color}`"
1584                                                        x-text="config.confirmButtonConfig.label"
1585                                                        @click="prCookieSettingBar.confirm()">
1586                                                </button>
1587                                            </div>
1588                                        </template>
1589                                    </div>
1590                                </div>
1591                            </div>
1592                        </template>
1593                    </div>
1594                </div>
1595            </li>
1596        </template>
1597        <button class="action btn btn-primary"
1598                :style="`color: ${config.confirmButtonConfig.text_color}; background-color: ${config.confirmButtonConfig.background_color}; border-color: ${config.confirmButtonConfig.background_color}`"
1599                x-text="config.confirmButtonConfig.label"
1600                @click="prCookieSettingBar.confirm()">
1601        </button>
1602    </ul>
1603</div>
1604        </div>
1605    </div>
1606    </div>
1607</div>
1608<script type="text/javascript"  nonce="aGt5cXM2Mm92cWs4OGUwOWd2eGhqdGFsYWVzZjFycG0=">
1609    (() => {
1610        const updateCookieConsentConfig = () => {
1611            const categoryMap = {};
1612            Object.entries(prCookieConsentApi.config.cookieToCategoryMapping).forEach(([cookieName, categoryName]) => {
1613                if (! categoryMap[categoryName]) {
1614                    categoryMap[categoryName] = [];
1615                }
1616                categoryMap[categoryName].push(cookieName);
1617            });
1618
1619            Object.entries(categoryMap).forEach(([category, cookies]) => {
1620                const existingList = window.cookie_consent_config[category] || [];
1621                window.cookie_consent_config[category] = Array.from(new Set(existingList.concat(cookies)));
1622            });
1623
1624            let cookieCategories = ["necessary","preferences","statistics","marketing"];
1625            window.cookie_consent_groups = {};
1626            cookieCategories.forEach((category) => {
1627                window.cookie_consent_groups[category] = prCookieConsentApi.isAllowedCategory(category);
1628            });
1629        }
1630
1631        const updateConsent = () => {
1632            window.cookie_consent_groups = window.cookie_consent_groups || {}
1633            Object.keys(window.cookie_consent_groups).forEach(categoryKey => {
1634                window.cookie_consent_groups[categoryKey] = prCookieConsentApi.isAllowedCategory(categoryKey);
1635            });
1636            window.dispatchEvent(new CustomEvent('user-allowed-save-cookie'));
1637        }
1638
1639        document.addEventListener('pr-cookie-consent-api:configured', () => {
1640            updateCookieConsentConfig();
1641            prCookieConsentApi.consent.addCallback(updateConsent);
1642        });
1643
1644        if (prCookieConsentApi.isConfigured) {
1645            updateCookieConsentConfig();
1646            prCookieConsentApi.consent.addCallback(updateConsent);
1647        }
1648    })();
1649</script>
1649
1650<div id="prgdpr-consentpopups-container"
1651     x-data="prDataPrivacyConsentPopupsLoadInit()"
1652     @private-content-loaded.window="receiveCustomerData($event.detail.data)"
1653></div>
1654<script>
1655    function prDataPrivacyConsentPopupsLoadInit() {
1656        return {
1657            receiveCustomerData: function (data) {
1658                if (! data.hasOwnProperty('data_privacy')) {
1659                    return;
1660                }
1661
1662                if (data.data_privacy.countNotifies !== 0 || data.data_privacy.countPopups !== 0) {
1663                    this.loadPopups();
1664                }
1665            },
1666            loadPopups: function () {
1667                fetch('https://www.flooringinc.com/data-privacy/consentpopups/load/')
1668                    .then((response) => {
1669                        if (! response.ok) {
1670                            throw new Error('Network response was not ok');
1671                        }
1672
1673                        return response.json();
1674                    })
1675                    .then(data => this.$el.innerHTML = data.html)
1676                    .catch(error => console.warn(error));
1677            }
1678        }
1679    }
1680
1681    function prDataPrivacyConsentPopupsInit(popups, notifies) {
1682        return {
1683            popups: popups,
1684            notifies: notifies,
1685            data: null,
1686            isShowModal: true,
1687            init: function () {
1688                for (popup of this.popups) {
1689                    popup.isShowModal = true;
1690                }
1691
1692                for (notify of this.notifies) {
1693                    notify.isShowModal = true;
1694                }
1695            },
1696            closeModal(popup) {
1697                popup.isShowModal = false;
1698            },
1699            sendRequest: function (url, consent) {
1700                if (consent.cms_page) {
1701                    consent.checkboxLabel = 'I agree';
1702                }
1703
1704                fetch(url, {
1705                    method: 'POST',
1706                    headers: {'X-Requested-With': 'XMLHttpRequest'},
1707                    body: JSON.stringify({'consent': consent})
1708                });
1709            },
1710            print: function (popup) {
1711                let printWindow = window.open('', 'Print', 'height=600,width=800');
1712                printWindow.document.write(
1713                    `<html><head><title>${popup.cms_page.title}</title></head><body>${popup.cms_page.content}</body></html`
1714                );
1715                printWindow.document.close();
1716                printWindow.focus();
1717                printWindow.print();
1718                printWindow.onafterprint = function () {
1719                    printWindow.close();
1720                };
1721
1722                return true;
1723            }
1724        }
1725    }
1726</script>
1726
1727
1728<script  nonce="aGt5cXM2Mm92cWs4OGUwOWd2eGhqdGFsYWVzZjFycG0=">
1729    (() => {
1730        const updateConsents = () => {
1731                        if (! Array.isArray(prCookieConsentApi.consent.get()) || prCookieConsentApi.consent.get().length > 0) {
1732                prCookieConsentApi.consent.declineAll();
1733            }
1734                    }
1735
1736        prGlobalPrivacyControlApi.signalHandlers.addHandler(updateConsents);
1737    })();
1738</script>
1738
1739<input name="form_key" type="hidden" value="3V4WQKnndHMXSDau" />
1740    
1740<script>
1741        window.amRecaptchaModel = window.amRecaptchaModel || {};
1742    </script>
1742
1743<div class="page-wrapper"><div class="container hidden">
1744    <div class="pt-2 pb-2 flex flex-row items-end justify-end">
1745                    <div class="pl-3">
1746                <a href="https://www.flooringinc.com/knowledge-base/" class="hover:underline">
1747    FAQ</a>
1748            </div>
1749            </div>
1750</div>
1751<header class="page-header"><div class="panel wrapper"><div class="header_top flex justify-between items-center" x-data="notificationAjaxCall()" x-init="initNotificationFunc()">
1752    <div class="header_left_notification text-size14 font-normal" x-html="left_notification_html"></div>
1753    <div class="header_middle_notification flex">
1754        <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">
1755<path d="M18.125 0V9.09091H0V0H18.125ZM19.9375 0H29V9.09091H19.9375V0ZM10.875 20V10.9091H29V20H10.875ZM0 20V10.9091H9.0625V20H0Z" fill="#15324C"/>
1756</svg> 500+ Million Sqft Covered</a></div>
1757
1758<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">
1759<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"/>
1760</svg> 125K+ Verified Reviews</a></div>
1761
1762<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">
1763<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"/>
1764<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"/>
1765<circle cx="5" cy="5" r="1" fill="white"/>
1766</svg> Price Match Guarantee</a></div>
1767
1768<div class="flex items-center"><a href="/moneybackguarantee" class="flex items-center gap-2">
1769<svg xmlns="http://www.w3.org/2000/svg" width="14" height="18" viewBox="0 0 14 18" fill="none">
1770<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"/>
1771</svg> Money Back Guarantee</a></div>
1772</div>    </div>
1773    <div class="header_right_notifications font-normal">
1774        <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>
1775<li><a href="/contact">Contact Us</a></li>
1776<li><a href="/sales/guest/form">Track Order</a></li>
1777</ul></div></div></div>    </div>
1778</div>
1779
1780<script>
1781  function notificationAjaxCall() {
1782    return {
1783        availability_notification: '',
1784        left_notification_html: '',
1785        right_notification_html: '',
1786        initNotificationFunc: function () {
1787            fetch(BASE_URL+'notifications/index/show', {
1788                method: "GET",
1789                headers: { 'Content-Type': 'application/json' },
1790            })
1791            .then(response => {
1792                if (! response.ok) console.warn('GET request failed');
1793                return response.json();
1794            })
1795            .then(data => {
1796                if (data) {
1797                  this.availability_notification = data.availability_notification;
1798                  this.left_notification_html = data.left_notification_html;
1799                  this.right_notification_html = data.right_notification_html;
1800                }
1801            });
1802        }
1803    }
1804  }
1805</script>
1805</div><div class="header content">
1805<script>
1806    function initQuoteCartDrawer() {
1807        return {
1808            open: false,
1809            cartData: {},
1810            getQuoteCartData(data) {
1811                if (data.quotecart) {
1812                    this.cartData = data.quotecart
1813                    this.setCartItems();
1814                }
1815            },
1816            cartItems: [],
1817            setCartItems() {
1818                this.cartItems = this.cartData && this.cartData.items.sort(function(a,b) { return a.item_id - b.item_id }) || {}
1819            },
1820            deleteItemFromCart(itemId) {
1821                var formKey = document.querySelector('input[name=form_key]').value;
1822                fetch(BASE_URL+"amasty_quote/sidebar/removeItem/", {
1823                    "headers": {
1824                        "content-type": "application/x-www-form-urlencoded; charset=UTF-8",
1825                    },
1826                    "body": "form_key="+ formKey + "&item_id="+itemId,
1827                    "method": "POST",
1828                    "mode": "cors",
1829                    "credentials": "include"
1830                }).then(function (response) {
1831                    if (response.redirected) {
1832                        window.location.href = response.url;
1833                    } else if (response.ok) {
1834                        return response.json();
1835                    } else {
1836                        typeof window.dispatchMessages !== "undefined" && window.dispatchMessages(
1837                            [{
1838                                type: "warning",
1839                                text: "Could not remove item from quote."
1840                            }], 5000
1841                        );
1842                    }
1843                }).then(function (response) {
1844                    typeof window.dispatchMessages !== "undefined" && window.dispatchMessages(
1845                        [{
1846                            type: response.success ? "success" : "error",
1847                            text: response.success
1848                                ? "You removed the item."
1849                                : response.error_message
1850                        }], 5000
1851                    );
1852                    var reloadCustomerDataEvent = new CustomEvent("reload-customer-section-data");
1853                    window.dispatchEvent(reloadCustomerDataEvent);
1854                });
1855            }
1856        }
1857    }
1858</script>
1858
1859<section id="cart-quote-drawer"
1860         x-data="initQuoteCartDrawer()"
1861         @private-content-loaded.window="getQuoteCartData(event.detail.data)"
1862         @toggle-quote-cart.window="open=true;"
1863         @keydown.window.escape="open=false"
1864>
1865    <template x-if="cartData && cartData.summary_count">
1866        <div role="dialog"
1867             aria-labelledby="cart-drawer-title"
1868             aria-modal="true"
1869             @click.away="open = false"
1870             class="fixed inset-y-0 right-0 z-30 flex max-w-full">
1871            <div class="backdrop"
1872                 x-show="open"
1873                 x-transition:enter="ease-in-out duration-500"
1874                 x-transition:enter-start="opacity-0"
1875                 x-transition:enter-end="opacity-100"
1876                 x-transition:leave="ease-in-out duration-500"
1877                 x-transition:leave-start="opacity-100"
1878                 x-transition:leave-end="opacity-0"
1879                 @click="open = false"
1880                 aria-label="Close panel"></div>
1881            <div class="relative w-screen max-w-md shadow-2xl"
1882                 x-show="open"
1883                 x-transition:enter="transform transition ease-in-out duration-500 sm:duration-700"
1884                 x-transition:enter-start="translate-x-full"
1885                 x-transition:enter-end="translate-x-0"
1886                 x-transition:leave="transform transition ease-in-out duration-500 sm:duration-700"
1887                 x-transition:leave-start="translate-x-0"
1888                 x-transition:leave-end="translate-x-full"
1889            >
1890                <div
1891                    x-show="open"
1892                    x-transition:enter="ease-in-out duration-500"
1893                    x-transition:enter-start="opacity-0"
1894                    x-transition:enter-end="opacity-100"
1895                    x-transition:leave="ease-in-out duration-500"
1896                    x-transition:leave-start="opacity-100"
1897                    x-transition:leave-end="opacity-0" class="absolute top-0 right-0 flex mr-3 mt-2">
1898                    <button @click="open = false" aria-label="Close panel"
1899                            class="p-2 text-gray-300 transition duration-150 ease-in-out hover:text-black">
1900                        <svg class="w-6 h-6" fill="none" viewBox="0 0 24 24" stroke="currentColor">
1901                            <path stroke-linecap="round" stroke-linejoin="round"
1902                                  stroke-width="2" d="M6 18L18 6M6 6l12 12">
1903                            </path>
1904                        </svg>
1905                    </button>
1906                </div>
1907                <div class="flex flex-col h-full py-6 space-y-6 bg-white shadow-xl">
1908                    <header class="px-4 sm:px-6">
1909                        <div id="cart-drawer-title" class="text-lg font-medium leading-7 text-gray-900">
1910                            My Quote Cart                        </div>
1911                    </header>
1912                    <div class="relative grid gap-6 px-4 py-6 overflow-y-auto bg-white border-b
1913                        sm:gap-8 sm:px-6 border-container">
1914                        <template x-for="item in cartItems">
1915                            <div class="flex items-start p-3 -m-3 space-x-4 transition duration-150
1916                                ease-in-out rounded-lg hover:bg-gray-100">
1917                                <a :href="item.product_url" class="w-1/4">
1918                                    <img
1919                                        :src="item.product_image.src"
1920                                        :width="item.product_image.width"
1921                                        :height="item.product_image.height"
1922                                        loading="lazy"
1923                                    />
1924                                </a>
1925                                <div class="w-3/4 relative">
1926                                    <div>
1927                                        <div class="text-xl">
1928                                            <a :href="item.product_url" class="hover:underline">
1929                                                <span x-html="item.qty"></span> x <span x-html="item.product_name"></span>
1930                                            </a>
1931                                        </div>
1932                                        <div class="text-sm"><span x-html="item.product_sku"></div>
1933                                    </div>
1934                                    <template x-for="option in item.options">
1935                                        <div class="pt-2">
1936                                            <p class="font-semibold" x-text="option.label + ':'"></p>
1937                                            <p class="text-secondary" x-html="option.value"></p>
1938                                        </div>
1939                                    </template>
1940                                    <div><span x-html="item.product_price"></span></div>
1941                                    <div class="pt-4">
1942                                        <a :href="item.configure_url"
1943                                           x-show="item.product_type !== 'grouped'"
1944                                            class="inline-flex p-2 mr-2 btn btn-primary">
1945                                            <svg fill="none" viewBox="0 0 24 24" stroke="currentColor"
1946                                                 size="16" class="w-5 h-5">
1947                                                <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2"
1948                                                      d="M15.232 5.232l3.536 3.536m-2.036-5.036a2.5 2.5 0 113.536
1949                                                      3.536L6.5 21.036H3v-3.572L16.732 3.732z">
1950                                                </path>
1951                                            </svg>
1952                                        </a>
1953                                        <button class="inline-flex p-2 btn btn-primary"
1954                                                @click="deleteItemFromCart(item.item_id)"
1955                                        >
1956                                            <svg fill="none" viewBox="0 0 24 24" stroke="currentColor"
1957                                                 size="16" class="w-5 h-5">
1958                                                <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2"
1959                                                      d="M19 7l-.867 12.142A2 2 0 0116.138 21H7.862a2 2 0
1960                                                      01-1.995-1.858L5 7m5 4v6m4-6v6m1-10V4a1 1 0 00-1-1h-4a1 1
1961                                                      0 00-1 1v3M4 7h16">
1962                                                </path>
1963                                            </svg>
1964                                        </button>
1965                                    </div>
1966                                </div>
1967                            </div>
1968                        </template>
1969                    </div>
1970                    <div class="relative grid gap-6 px-4 py-6 bg-white sm:gap-8 sm:px-6">
1971                        <div class="w-full p-3 -m-3 space-x-4 transition duration-150 ease-in-out rounded-lg
1972                            hover:bg-gray-100">
1973                            <span>Cart Subtotal:</span>
1974                            <span class="text-gray-900 font-bold" x-text="hyva.formatPrice(cartData.subtotalAmount)"></span>
1975                        </div>
1976                        <div class="w-full">
1977                            <a href="https://www.flooringinc.com/amasty_quote/cart/"
1978                               class="btn btn-secondary justify-center">
1979                                View and Edit Cart                            </a>
1980                        </div>
1981                    </div>
1982                </div>
1983            </div>
1984        </div>
1985    </template>
1986</section>
1987<div class="widget block block-static-block">
1988    <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()">
1989    <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>
1990</div>
1991
1992<script>
1993function globalNotificationAjaxCall() {
1994    return {
1995        global_notification_text: '',
1996        initGlobalNotificationFunc: function () {
1997            fetch(BASE_URL+'notifications/index/GlobalNotification?full_action_name=blog_index_index&cat_prod_id=', {
1998                method: "GET",
1999                headers: { 'Content-Type': 'application/json' },
2000            })
2001            .then(response => {
2002                if (! response.ok) console.warn('GET request failed');
2003                return response.json();
2004            })
2005            .then(data => {
2006                if (data) {
2007                    if (data.notification_text !='') {
2008                        document.querySelector('.notification4.bg-custom-green').style.display = 'block';
2009                        this.global_notification_text = data.notification_text;
2010                    }
2011                }
2012            });
2013        }
2014    }
2015}
2016</script>
2016</div></div></div>
2017</div>
2017<script>
2018    function initHeader () {
2019        return {
2020            searchOpen: false,
2021            cart: {},
2022            quoteCart: {},
2023            activeCartType: 'cart',
2024            getData(data) {
2025                if (data.cart) {
2026                    this.cart = data.cart;
2027                   // this.cart.summary_count=this.cart.items.length;
2028                }
2029                if (data.quotecart) {
2030                    this.quoteCart = data.quotecart;
2031                }
2032                if (data.active_cart_icon) {
2033                    this.activeCartType = data.active_cart_icon;
2034                }
2035            }
2036        }
2037    }
2038    function initCompareHeader() {
2039        return {
2040            compareProducts: null,
2041            itemCount: 0,
2042            receiveCompareData(data) {
2043                if (data['compare-products']) {
2044                    this.compareProducts = data['compare-products'];
2045                    this.itemCount = this.compareProducts.count;
2046                }
2047            }
2048        }
2049    }
2050</script>
2050
2051
2052<div id="header"
2053     class="relative z-30 w-full bg-white"
2054     x-data="initHeader()"
2055     @keydown.window.escape="searchOpen = false;"
2056     @private-content-loaded.window="getData(event.detail.data)"
2057>
2058    <div class="content flex flex-wrap items-center justify-between w-full pt-4 pb-4 mx-auto mt-0">
2059        <!--Logo-->
2060        <div class="logo relative z-20">
2061            <div class="order-1 sm:order-2 lg:order-1 w-full pb-2 sm:w-auto sm:pb-0">
2062    <a class="flex items-center text-xl font-medium tracking-wide text-gray-800
2063        no-underline hover:no-underline font-title"
2064       href="https://www.flooringinc.com/"
2065       title="Flooring&#x20;Inc.&#x20;The&#x20;Flooring&#x20;Superstore"
2066       aria-label="store logo">
2067        <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>
2068    </a>
2069</div>
2070        </div>
2071
2072        <!--Main Navigation-->
2073        <div x-data="initMenuMobile_6ac15155197cd()"
2074     class="z-50 order-2 sm:order-1 lg:order-2 navigation xl:hidden"
2075>
2076    <!-- mobile -->    
2077    <div @load.window="setActiveMenu($root)"
2078         class="mobile-menu bg-lightblue"
2079         :class="{'h-screen fixed top-0 left-0 w-full' : open}"
2080         @toggle-mobile-menu.window="open = !open"
2081         @keydown.window.escape="open=false"
2082    >
2083        <div class="flex items-baseline justify-between ml-0 menu-icon">
2084            <div class="flex justify-end w-full">
2085                <a @click="$dispatch('toggle-mobile-menu')"
2086                       class="flex items-center justify-center cursor-pointer"
2087                       :class="{ 'ml-auto': open }">                       
2088                       <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>
2089                    <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>
2090                </a>
2091            </div>
2092        </div>
2093        <div class="menu-overlay hidden" :class="{ 'hidden' : !open }" @click="$dispatch('toggle-mobile-menu')"></div>
2094        <nav
2095            class="hidden w-full h-full duration-150 ease-in-out transform transition-display pt-5 pr-5 pl-12"
2096            :class="{ 'hidden' : !open }"
2097        >
2098        <span class="menu-label text-size28 font-medium text-black pt-1 pb-4" :class="{ 'hidden' : !open, 'block': open }">Menu</span>
2099        <div class="nav-in overflow-y-auto overflow-x-hidden h-5/6">
2100                                <div class="level-0">
2101                <span class="flex items-center transition-transform duration-150 ease-in-out transform mb-3">
2102                    <a class="flex items-center w-full cursor-pointer level-0 text-size24 font-medium text-black no-underline"
2103                                                    @click="mobilePanelActiveId =
2104                            mobilePanelActiveId === 'category-node-1826' ?
2105                            0 : 'category-node-1826'"
2106                                                                   title="Flooring&#x20;By&#x20;Category">
2107                        Flooring By Category                    </a>
2108                                        <a class="absolute right-0 cursor-pointer menu_arw1" :class="{
2109                        'active' : mobilePanelActiveId,
2110                        '' : !mobilePanelActiveId
2111                    }"
2112                          @click="mobilePanelActiveId =
2113                          mobilePanelActiveId === 'category-node-1826' ?
2114                           0 : 'category-node-1826'"
2115                    >
2116                        <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>
2117                    </a>
2118                                    </span>
2119                                    <div
2120                        class="w-full h-full transition-transform duration-200 ease-in-out block transform"
2121                        :class="{
2122                            'block' : mobilePanelActiveId !== 'category-node-1826',
2123                            'hidden' : mobilePanelActiveId === 'category-node-1826',
2124                        }"
2125                    >
2126                        
2127                        
2128                                                    
2129                            <li class="imgcat list-none relative" x-data="{ show: false }" >
2130                            <a
2131                                                            @click="show = !show"
2132                                                        
2133                               title="Rubber&#x20;Flooring"
2134                               class="flex items-center cursor-pointer text-size18 font-normal text-black mb-4 mob-width-adjust"
2135                            >
2136                                <!-- <span class="w-6"></span> -->
2137                                <span>
2138                                    Rubber Flooring                                </span>
2139                            </a>
2140                            
2141                                                            <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>
2142                             <ul class="z-10 w-full" x-show="show"> 
2143                                                                    <li class="level-2">
2144                                        <a href="https://www.flooringinc.com/shop/rubber-flooring/all-rubber-flooring.html"
2145                                           title="All&#x20;Rubber&#x20;Flooring"
2146                                           class="level-2 pl-5 flex items-center w-full cursor-pointer text-size16 font-normal text-black mb-4">                                                                                                       
2147                                           All Rubber Flooring</a>
2148                                    </li>
2149                                                                                                        <li class="level-2">
2150                                        <a href="https://www.flooringinc.com/shop/rubber-flooring/rubber-rolls.html"
2151                                           title="Rubber&#x20;Flooring&#x20;Rolls"
2152                                           class="level-2 pl-5 flex items-center w-full cursor-pointer text-size16 font-normal text-black mb-4">                                                                                                       
2153                                           Rubber Flooring Rolls</a>
2154                                    </li>
2155                                                                                                        <li class="level-2">
2156                                        <a href="https://www.flooringinc.com/shop/rubber-flooring/rubber-tiles.html"
2157                                           title="Rubber&#x20;Floor&#x20;Tiles"
2158                                           class="level-2 pl-5 flex items-center w-full cursor-pointer text-size16 font-normal text-black mb-4">                                                                                                       
2159                                           Rubber Floor Tiles</a>
2160                                    </li>
2161                                                                                                        <li class="level-2">
2162                                        <a href="https://www.flooringinc.com/shop/rubber-flooring/rubber-mats.html"
2163                                           title="Rubber&#x20;Mats"
2164                                           class="level-2 pl-5 flex items-center w-full cursor-pointer text-size16 font-normal text-black mb-4">                                                                                                       
2165                                           Rubber Mats</a>
2166                                    </li>
2167                                                                                                        <li class="level-2">
2168                                        <a href="https://www.flooringinc.com/shop/rubber-flooring/playground-flooring.html"
2169                                           title="Playground&#x20;Flooring"
2170                                           class="level-2 pl-5 flex items-center w-full cursor-pointer text-size16 font-normal text-black mb-4">                                                                                                       
2171                                           Playground Flooring</a>
2172                                    </li>
2173                                                                                                        <li class="level-2">
2174                                        <a href="https://www.flooringinc.com/shop/rubber-flooring/outdoor-rubber-flooring.html"
2175                                           title="Outdoor&#x20;Rubber&#x20;Flooring"
2176                                           class="level-2 pl-5 flex items-center w-full cursor-pointer text-size16 font-normal text-black mb-4">                                                                                                       
2177                                           Outdoor Rubber Flooring</a>
2178                                    </li>
2179                                                                  </ul>
2180                                                                        <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>
2181                                             
2182                                                        
2183                        
2184                                                    
2185                            <li class="imgcat list-none relative" x-data="{ show: false }" >
2186                            <a
2187                                                            @click="show = !show"
2188                                                        
2189                               title="Garage&#x20;Flooring"
2190                               class="flex items-center cursor-pointer text-size18 font-normal text-black mb-4 mob-width-adjust"
2191                            >
2192                                <!-- <span class="w-6"></span> -->
2193                                <span>
2194                                    Garage Flooring                                </span>
2195                            </a>
2196                            
2197                                                            <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>
2198                             <ul class="z-10 w-full" x-show="show"> 
2199                                                                    <li class="level-2">
2200                                        <a href="https://www.flooringinc.com/shop/garage-flooring/all-garage-flooring.html"
2201                                           title="All&#x20;Garage&#x20;Flooring"
2202                                           class="level-2 pl-5 flex items-center w-full cursor-pointer text-size16 font-normal text-black mb-4">                                                                                                       
2203                                           All Garage Flooring</a>
2204                                    </li>
2205                                                                                                        <li class="level-2">
2206                                        <a href="https://www.flooringinc.com/shop/garage-flooring/garage-rolls.html"
2207                                           title="Garage&#x20;Flooring&#x20;Rolls"
2208                                           class="level-2 pl-5 flex items-center w-full cursor-pointer text-size16 font-normal text-black mb-4">                                                                                                       
2209                                           Garage Flooring Rolls</a>
2210                                    </li>
2211                                                                                                        <li class="level-2">
2212                                        <a href="https://www.flooringinc.com/shop/garage-flooring/garage-tiles.html"
2213                                           title="Garage&#x20;Floor&#x20;Tiles"
2214                                           class="level-2 pl-5 flex items-center w-full cursor-pointer text-size16 font-normal text-black mb-4">                                                                                                       
2215                                           Garage Floor Tiles</a>
2216                                    </li>
2217                                                                                                        <li class="level-2">
2218                                        <a href="https://www.flooringinc.com/shop/garage-flooring/garage-gym-flooring.html"
2219                                           title="Garage&#x20;Gym&#x20;Flooring"
2220                                           class="level-2 pl-5 flex items-center w-full cursor-pointer text-size16 font-normal text-black mb-4">                                                                                                       
2221                                           Garage Gym Flooring</a>
2222                                    </li>
2223                                                                                                        <li class="level-2">
2224                                        <a href="https://www.flooringinc.com/shop/garage-flooring/coatings-epoxy.html"
2225                                           title="Garage&#x20;Floor&#x20;Epoxy"
2226                                           class="level-2 pl-5 flex items-center w-full cursor-pointer text-size16 font-normal text-black mb-4">                                                                                                       
2227                                           Garage Floor Epoxy</a>
2228                                    </li>
2229                                                                                                        <li class="level-2">
2230                                        <a href="https://www.flooringinc.com/shop/garage-flooring/trailer-flooring.html"
2231                                           title="Trailer&#x20;Flooring"
2232                                           class="level-2 pl-5 flex items-center w-full cursor-pointer text-size16 font-normal text-black mb-4">                                                                                                       
2233                                           Trailer Flooring</a>
2234                                    </li>
2235                                                                  </ul>
2236                                                                        <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>
2237                                             
2238                                                        
2239                        
2240                                                    
2241                            <li class="imgcat list-none relative" x-data="{ show: false }" >
2242                            <a
2243                                                            @click="show = !show"
2244                                                        
2245                               title="Dance&#x20;Flooring"
2246                               class="flex items-center cursor-pointer text-size18 font-normal text-black mb-4 mob-width-adjust"
2247                            >
2248                                <!-- <span class="w-6"></span> -->
2249                                <span>
2250                                    Dance Flooring                                </span>
2251                            </a>
2252                            
2253                                                            <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>
2254                             <ul class="z-10 w-full" x-show="show"> 
2255                                                                    <li class="level-2">
2256                                        <a href="https://www.flooringinc.com/shop/dance-flooring/marley-flooring.html"
2257                                           title="Marley&#x20;Floor&#x20;Rolls"
2258                                           class="level-2 pl-5 flex items-center w-full cursor-pointer text-size16 font-normal text-black mb-4">                                                                                                       
2259                                           Marley Floor Rolls</a>
2260                                    </li>
2261                                                                                                        <li class="level-2">
2262                                        <a href="https://www.flooringinc.com/shop/dance-flooring/dance-floor-tiles.html"
2263                                           title="Dance&#x20;Floor&#x20;Tiles"
2264                                           class="level-2 pl-5 flex items-center w-full cursor-pointer text-size16 font-normal text-black mb-4">                                                                                                       
2265                                           Dance Floor Tiles</a>
2266                                    </li>
2267                                                                                                        <li class="level-2">
2268                                        <a href="https://www.flooringinc.com/shop/dance-flooring/portable-dance-floor-kits.html"
2269                                           title="Portable&#x20;Dance&#x20;Floors&#x20;&amp;&#x20;Kits"
2270                                           class="level-2 pl-5 flex items-center w-full cursor-pointer text-size16 font-normal text-black mb-4">                                                                                                       
2271                                           Portable Dance Floors &amp; Kits</a>
2272                                    </li>
2273                                                                                                        <li class="level-2">
2274                                        <a href="https://www.flooringinc.com/shop/dance-flooring/subflooring.html"
2275                                           title="Subflooring"
2276                                           class="level-2 pl-5 flex items-center w-full cursor-pointer text-size16 font-normal text-black mb-4">                                                                                                       
2277                                           Subflooring</a>
2278                                    </li>
2279                                                                                                        <li class="level-2">
2280                                        <a href="https://www.flooringinc.com/shop/dance-flooring/adhesives-cleaners-accessories.html"
2281                                           title="Adhesives,&#x20;Cleaners&#x20;&amp;&#x20;Accessories"
2282                                           class="level-2 pl-5 flex items-center w-full cursor-pointer text-size16 font-normal text-black mb-4">                                                                                                       
2283                                           Adhesives, Cleaners &amp; Accessories</a>
2284                                    </li>
2285                                                                                                        <li class="level-2">
2286                                        <a href="https://www.flooringinc.com/shop/dance-flooring/all-dance-flooring.html"
2287                                           title="All&#x20;Dance&#x20;Flooring"
2288                                           class="level-2 pl-5 flex items-center w-full cursor-pointer text-size16 font-normal text-black mb-4">                                                                                                       
2289                                           All Dance Flooring</a>
2290                                    </li>
2291                                                                  </ul>
2292                                                                        <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>
2293                                             
2294                                                        
2295                        
2296                                                    
2297                            <li class="imgcat list-none relative" x-data="{ show: false }" >
2298                            <a
2299                                                            @click="show = !show"
2300                                                        
2301                               title="Foam&#x20;Flooring"
2302                               class="flex items-center cursor-pointer text-size18 font-normal text-black mb-4 mob-width-adjust"
2303                            >
2304                                <!-- <span class="w-6"></span> -->
2305                                <span>
2306                                    Foam Flooring                                </span>
2307                            </a>
2308                            
2309                                                            <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>
2310                             <ul class="z-10 w-full" x-show="show"> 
2311                                                                    <li class="level-2">
2312                                        <a href="https://www.flooringinc.com/shop/foam-flooring/foam-tiles.html"
2313                                           title="Foam&#x20;Floor&#x20;Tiles"
2314                                           class="level-2 pl-5 flex items-center w-full cursor-pointer text-size16 font-normal text-black mb-4">                                                                                                       
2315                                           Foam Floor Tiles</a>
2316                                    </li>
2317                                                                                                        <li class="level-2">
2318                                        <a href="https://www.flooringinc.com/shop/foam-flooring/kids-baby-play-mats.html"
2319                                           title="Kids&#x20;&amp;&#x20;Baby&#x20;Play&#x20;Mats"
2320                                           class="level-2 pl-5 flex items-center w-full cursor-pointer text-size16 font-normal text-black mb-4">                                                                                                       
2321                                           Kids &amp; Baby Play Mats</a>
2322                                    </li>
2323                                                                                                        <li class="level-2">
2324                                        <a href="https://www.flooringinc.com/shop/foam-flooring/gymnastic-folding-mats.html"
2325                                           title="Gymnastics&#x20;Mats&#x20;"
2326                                           class="level-2 pl-5 flex items-center w-full cursor-pointer text-size16 font-normal text-black mb-4">                                                                                                       
2327                                           Gymnastics Mats </a>
2328                                    </li>
2329                                                                                                        <li class="level-2">
2330                                        <a href="https://www.flooringinc.com/shop/foam-flooring/wrestling-mats.html"
2331                                           title="Wrestling&#x20;Mats"
2332                                           class="level-2 pl-5 flex items-center w-full cursor-pointer text-size16 font-normal text-black mb-4">                                                                                                       
2333                                           Wrestling Mats</a>
2334                                    </li>
2335                                                                                                        <li class="level-2">
2336                                        <a href="https://www.flooringinc.com/shop/foam-flooring/martial-arts-mats.html"
2337                                           title="Martial&#x20;Arts&#x20;Mats&#x20;"
2338                                           class="level-2 pl-5 flex items-center w-full cursor-pointer text-size16 font-normal text-black mb-4">                                                                                                       
2339                                           Martial Arts Mats </a>
2340                                    </li>
2341                                                                                                        <li class="level-2">
2342                                        <a href="https://www.flooringinc.com/shop/foam-flooring/trade-show-flooring.html"
2343                                           title="Trade&#x20;Show&#x20;Flooring"
2344                                           class="level-2 pl-5 flex items-center w-full cursor-pointer text-size16 font-normal text-black mb-4">                                                                                                       
2345                                           Trade Show Flooring</a>
2346                                    </li>
2347                                                                  </ul>
2348                                                                        <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>
2349                                             
2350                                                        
2351                        
2352                                                    
2353                            <li class="imgcat list-none relative" x-data="{ show: false }" >
2354                            <a
2355                                                            @click="show = !show"
2356                                                        
2357                               title="Outdoor&#x20;Flooring"
2358                               class="flex items-center cursor-pointer text-size18 font-normal text-black mb-4 mob-width-adjust"
2359                            >
2360                                <!-- <span class="w-6"></span> -->
2361                                <span>
2362                                    Outdoor Flooring                                </span>
2363                            </a>
2364                            
2365                                                            <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>
2366                             <ul class="z-10 w-full" x-show="show"> 
2367                                                                    <li class="level-2">
2368                                        <a href="https://www.flooringinc.com/shop/outdoor-flooring/playground-flooring.html"
2369                                           title="Playground&#x20;Flooring"
2370                                           class="level-2 pl-5 flex items-center w-full cursor-pointer text-size16 font-normal text-black mb-4">                                                                                                       
2371                                           Playground Flooring</a>
2372                                    </li>
2373                                                                                                        <li class="level-2">
2374                                        <a href="https://www.flooringinc.com/shop/outdoor-flooring/sport-and-court-flooring.html"
2375                                           title="Sports&#x20;Flooring&#x20;&amp;&#x20;Court&#x20;Tiles"
2376                                           class="level-2 pl-5 flex items-center w-full cursor-pointer text-size16 font-normal text-black mb-4">                                                                                                       
2377                                           Sports Flooring &amp; Court Tiles</a>
2378                                    </li>
2379                                                                                                        <li class="level-2">
2380                                        <a href="https://www.flooringinc.com/shop/outdoor-flooring/artificial-grass.html"
2381                                           title="Turf&#x20;&amp;&#x20;Artificial&#x20;Grass"
2382                                           class="level-2 pl-5 flex items-center w-full cursor-pointer text-size16 font-normal text-black mb-4">                                                                                                       
2383                                           Turf &amp; Artificial Grass</a>
2384                                    </li>
2385                                                                                                        <li class="level-2">
2386                                        <a href="https://www.flooringinc.com/shop/outdoor-flooring/composite-decking.html"
2387                                           title="Composite&#x20;Decking"
2388                                           class="level-2 pl-5 flex items-center w-full cursor-pointer text-size16 font-normal text-black mb-4">                                                                                                       
2389                                           Composite Decking</a>
2390                                    </li>
2391                                                                                                        <li class="level-2">
2392                                        <a href="https://www.flooringinc.com/shop/outdoor-flooring/rooftop-deck-flooring.html"
2393                                           title="Rooftop&#x20;Deck&#x20;Flooring"
2394                                           class="level-2 pl-5 flex items-center w-full cursor-pointer text-size16 font-normal text-black mb-4">                                                                                                       
2395                                           Rooftop Deck Flooring</a>
2396                                    </li>
2397                                                                                                        <li class="level-2">
2398                                        <a href="https://www.flooringinc.com/shop/outdoor-flooring/drainage-tiles.html"
2399                                           title="Drainage&#x20;Tile&#x20;&amp;&#x20;Mats"
2400                                           class="level-2 pl-5 flex items-center w-full cursor-pointer text-size16 font-normal text-black mb-4">                                                                                                       
2401                                           Drainage Tile &amp; Mats</a>
2402                                    </li>
2403                                                                  </ul>
2404                                                                        <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>
2405                                             
2406                                                        
2407                        
2408                                                    
2409                            <li class="imgcat list-none relative" x-data="{ show: false }" >
2410                            <a
2411                                                            @click="show = !show"
2412                                                        
2413                               title="Turf&#x20;&amp;&#x20;Artificial&#x20;Grass"
2414                               class="flex items-center cursor-pointer text-size18 font-normal text-black mb-4 mob-width-adjust"
2415                            >
2416                                <!-- <span class="w-6"></span> -->
2417                                <span>
2418                                    Turf &amp; Artificial Grass                                </span>
2419                            </a>
2420                            
2421                                                            <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>
2422                             <ul class="z-10 w-full" x-show="show"> 
2423                                                                    <li class="level-2">
2424                                        <a href="https://www.flooringinc.com/shop/artificial-grass/sport-field-turf.html"
2425                                           title="Sport&#x20;&amp;&#x20;Gym&#x20;Turf"
2426                                           class="level-2 pl-5 flex items-center w-full cursor-pointer text-size16 font-normal text-black mb-4">                                                                                                       
2427                                           Sport &amp; Gym Turf</a>
2428                                    </li>
2429                                                                                                        <li class="level-2">
2430                                        <a href="https://www.flooringinc.com/shop/artificial-grass/landscape-turf.html"
2431                                           title="Landscape&#x20;Turf"
2432                                           class="level-2 pl-5 flex items-center w-full cursor-pointer text-size16 font-normal text-black mb-4">                                                                                                       
2433                                           Landscape Turf</a>
2434                                    </li>
2435                                                                                                        <li class="level-2">
2436                                        <a href="https://www.flooringinc.com/shop/artificial-grass/pet-turf.html"
2437                                           title="Pet&#x20;Turf"
2438                                           class="level-2 pl-5 flex items-center w-full cursor-pointer text-size16 font-normal text-black mb-4">                                                                                                       
2439                                           Pet Turf</a>
2440                                    </li>
2441                                                                                                        <li class="level-2">
2442                                        <a href="https://www.flooringinc.com/shop/artificial-grass/putting-greens.html"
2443                                           title="Golf&#x20;&amp;&#x20;Putting&#x20;Green&#x20;Turf"
2444                                           class="level-2 pl-5 flex items-center w-full cursor-pointer text-size16 font-normal text-black mb-4">                                                                                                       
2445                                           Golf &amp; Putting Green Turf</a>
2446                                    </li>
2447                                                                                                        <li class="level-2">
2448                                        <a href="https://www.flooringinc.com/shop/artificial-grass/turf-accessories.html"
2449                                           title="Turf&#x20;Accessories"
2450                                           class="level-2 pl-5 flex items-center w-full cursor-pointer text-size16 font-normal text-black mb-4">                                                                                                       
2451                                           Turf Accessories</a>
2452                                    </li>
2453                                                                                                        <li class="level-2">
2454                                        <a href="https://www.flooringinc.com/shop/artificial-grass/all-artificial-grass.html"
2455                                           title="All&#x20;Turf&#x20;&amp;&#x20;Artificial&#x20;Grass"
2456                                           class="level-2 pl-5 flex items-center w-full cursor-pointer text-size16 font-normal text-black mb-4">                                                                                                       
2457                                           All Turf &amp; Artificial Grass</a>
2458                                    </li>
2459                                                                  </ul>
2460                                                                        <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>
2461                                             
2462                                                        
2463                        
2464                                                    
2465                            <li class="imgcat list-none relative" x-data="{ show: false }" >
2466                            <a
2467                                                            @click="show = !show"
2468                                                        
2469                               title="Carpet&#x20;Tiles&#x20;&amp;&#x20;Rolls"
2470                               class="flex items-center cursor-pointer text-size18 font-normal text-black mb-4 mob-width-adjust"
2471                            >
2472                                <!-- <span class="w-6"></span> -->
2473                                <span>
2474                                    Carpet Tiles &amp; Rolls                                </span>
2475                            </a>
2476                            
2477                                                            <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>
2478                             <ul class="z-10 w-full" x-show="show"> 
2479                                                                    <li class="level-2">
2480                                        <a href="https://www.flooringinc.com/shop/carpet/carpet-tiles.html"
2481                                           title="Carpet&#x20;Tiles"
2482                                           class="level-2 pl-5 flex items-center w-full cursor-pointer text-size16 font-normal text-black mb-4">                                                                                                       
2483                                           Carpet Tiles</a>
2484                                    </li>
2485                                                                                                        <li class="level-2">
2486                                        <a href="https://www.flooringinc.com/shop/carpet/carpet-rolls.html"
2487                                           title="Carpet&#x20;Rolls"
2488                                           class="level-2 pl-5 flex items-center w-full cursor-pointer text-size16 font-normal text-black mb-4">                                                                                                       
2489                                           Carpet Rolls</a>
2490                                    </li>
2491                                                                                                        <li class="level-2">
2492                                        <a href="https://www.flooringinc.com/shop/carpet/home-theater-carpet.html"
2493                                           title="Home&#x20;Theater&#x20;Carpet"
2494                                           class="level-2 pl-5 flex items-center w-full cursor-pointer text-size16 font-normal text-black mb-4">                                                                                                       
2495                                           Home Theater Carpet</a>
2496                                    </li>
2497                                                                                                        <li class="level-2">
2498                                        <a href="https://www.flooringinc.com/shop/carpet/peel-stick-carpet.html"
2499                                           title="Peel&#x20;and&#x20;Stick&#x20;Carpet&#x20;Tiles"
2500                                           class="level-2 pl-5 flex items-center w-full cursor-pointer text-size16 font-normal text-black mb-4">                                                                                                       
2501                                           Peel and Stick Carpet Tiles</a>
2502                                    </li>
2503                                                                                                        <li class="level-2">
2504                                        <a href="https://www.flooringinc.com/shop/carpet/outdoor-carpet.html"
2505                                           title="Outdoor&#x20;Carpet"
2506                                           class="level-2 pl-5 flex items-center w-full cursor-pointer text-size16 font-normal text-black mb-4">                                                                                                       
2507                                           Outdoor Carpet</a>
2508                                    </li>
2509                                                                                                        <li class="level-2">
2510                                        <a href="https://www.flooringinc.com/shop/carpet/waterproof-carpet.html"
2511                                           title="Waterproof&#x20;Carpet"
2512                                           class="level-2 pl-5 flex items-center w-full cursor-pointer text-size16 font-normal text-black mb-4">                                                                                                       
2513                                           Waterproof Carpet</a>
2514                                    </li>
2515                                                                  </ul>
2516                                                                        <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>
2517                                             
2518                                                        
2519                        
2520                                                    
2521                            <li class="imgcat list-none relative" x-data="{ show: false }" >
2522                            <a
2523                                                            @click="show = !show"
2524                                                        
2525                               title="Vinyl&#x20;Flooring"
2526                               class="flex items-center cursor-pointer text-size18 font-normal text-black mb-4 mob-width-adjust"
2527                            >
2528                                <!-- <span class="w-6"></span> -->
2529                                <span>
2530                                    Vinyl Flooring                                </span>
2531                            </a>
2532                            
2533                                                            <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>
2534                             <ul class="z-10 w-full" x-show="show"> 
2535                                                                    <li class="level-2">
2536                                        <a href="https://www.flooringinc.com/shop/vinyl/vinyl-sheet.html"
2537                                           title="Vinyl&#x20;Sheet&#x20;Flooring"
2538                                           class="level-2 pl-5 flex items-center w-full cursor-pointer text-size16 font-normal text-black mb-4">                                                                                                       
2539                                           Vinyl Sheet Flooring</a>
2540                                    </li>
2541                                                                                                        <li class="level-2">
2542                                        <a href="https://www.flooringinc.com/shop/vinyl/vinyl-tiles-planks.html"
2543                                           title="Vinyl&#x20;Tiles&#x20;&amp;&#x20;Planks"
2544                                           class="level-2 pl-5 flex items-center w-full cursor-pointer text-size16 font-normal text-black mb-4">                                                                                                       
2545                                           Vinyl Tiles &amp; Planks</a>
2546                                    </li>
2547                                                                                                        <li class="level-2">
2548                                        <a href="https://www.flooringinc.com/shop/vinyl/waterproof-vinyl.html"
2549                                           title="Waterproof&#x20;Vinyl&#x20;Flooring"
2550                                           class="level-2 pl-5 flex items-center w-full cursor-pointer text-size16 font-normal text-black mb-4">                                                                                                       
2551                                           Waterproof Vinyl Flooring</a>
2552                                    </li>
2553                                                                                                        <li class="level-2">
2554                                        <a href="https://www.flooringinc.com/shop/vinyl/rigid-core-vinyl.html"
2555                                           title="Rigid&#x20;Core&#x20;Vinyl&#x20;Flooring"
2556                                           class="level-2 pl-5 flex items-center w-full cursor-pointer text-size16 font-normal text-black mb-4">                                                                                                       
2557                                           Rigid Core Vinyl Flooring</a>
2558                                    </li>
2559                                                                                                        <li class="level-2">
2560                                        <a href="https://www.flooringinc.com/shop/vinyl/commercial-vinyl.html"
2561                                           title="Commercial&#x20;Vinyl&#x20;Flooring"
2562                                           class="level-2 pl-5 flex items-center w-full cursor-pointer text-size16 font-normal text-black mb-4">                                                                                                       
2563                                           Commercial Vinyl Flooring</a>
2564                                    </li>
2565                                                                                                  </ul>
2566                             
2567                                                        
2568                        
2569                                                    
2570                            <li class="imgcat list-none relative" x-data="{ show: false }" >
2571                            <a
2572                                                            @click="show = !show"
2573                                                        
2574                               title="Wood&#x20;&amp;&#x20;Laminate&#x20;Flooring"
2575                               class="flex items-center cursor-pointer text-size18 font-normal text-black mb-4 mob-width-adjust"
2576                            >
2577                                <!-- <span class="w-6"></span> -->
2578                                <span>
2579                                    Wood &amp; Laminate Flooring                                </span>
2580                            </a>
2581                            
2582                                                            <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>
2583                             <ul class="z-10 w-full" x-show="show"> 
2584                                                                    <li class="level-2">
2585                                        <a href="https://www.flooringinc.com/shop/wood-laminate/waterproof-laminate.html"
2586                                           title="Waterproof&#x20;Laminate&#x20;Flooring"
2587                                           class="level-2 pl-5 flex items-center w-full cursor-pointer text-size16 font-normal text-black mb-4">                                                                                                       
2588                                           Waterproof Laminate Flooring</a>
2589                                    </li>
2590                                                                                                        <li class="level-2">
2591                                        <a href="https://www.flooringinc.com/shop/wood-laminate/laminate.html"
2592                                           title="Laminate&#x20;Flooring"
2593                                           class="level-2 pl-5 flex items-center w-full cursor-pointer text-size16 font-normal text-black mb-4">                                                                                                       
2594                                           Laminate Flooring</a>
2595                                    </li>
2596                                                                                                        <li class="level-2">
2597                                        <a href="https://www.flooringinc.com/shop/wood-laminate/hardwood.html"
2598                                           title="Engineered&#x20;Hardwood&#x20;Flooring"
2599                                           class="level-2 pl-5 flex items-center w-full cursor-pointer text-size16 font-normal text-black mb-4">                                                                                                       
2600                                           Engineered Hardwood Flooring</a>
2601                                    </li>
2602                                                                                                        <li class="level-2">
2603                                        <a href="https://www.flooringinc.com/shop/wood-laminate/oak.html"
2604                                           title="Oak&#x20;Wood&#x20;Flooring"
2605                                           class="level-2 pl-5 flex items-center w-full cursor-pointer text-size16 font-normal text-black mb-4">                                                                                                       
2606                                           Oak Wood Flooring</a>
2607                                    </li>
2608                                                                                                        <li class="level-2">
2609                                        <a href="https://www.flooringinc.com/shop/wood-laminate/commercial-wood-laminate.html"
2610                                           title="Commercial&#x20;Wood&#x20;&amp;&#x20;Laminate"
2611                                           class="level-2 pl-5 flex items-center w-full cursor-pointer text-size16 font-normal text-black mb-4">                                                                                                       
2612                                           Commercial Wood &amp; Laminate</a>
2613                                    </li>
2614                                                                                                  </ul>
2615                             
2616                                                        
2617                        
2618                                                    
2619                            <li class="imgcat list-none relative" x-data="{ show: false }" >
2620                            <a
2621                                                            @click="show = !show"
2622                                                        
2623                               title="Commercial&#x20;Flooring"
2624                               class="flex items-center cursor-pointer text-size18 font-normal text-black mb-4 mob-width-adjust"
2625                            >
2626                                <!-- <span class="w-6"></span> -->
2627                                <span>
2628                                    Commercial Flooring                                </span>
2629                            </a>
2630                            
2631                                                            <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>
2632                             <ul class="z-10 w-full" x-show="show"> 
2633                                                                    <li class="level-2">
2634                                        <a href="https://www.flooringinc.com/shop/commercial-flooring/commercial-rubber-flooring.html"
2635                                           title="Commercial&#x20;Rubber&#x20;Flooring"
2636                                           class="level-2 pl-5 flex items-center w-full cursor-pointer text-size16 font-normal text-black mb-4">                                                                                                       
2637                                           Commercial Rubber Flooring</a>
2638                                    </li>
2639                                                                                                        <li class="level-2">
2640                                        <a href="https://www.flooringinc.com/shop/commercial-flooring/commercial-garage-flooring.html"
2641                                           title="Commercial&#x20;Garage&#x20;Flooring"
2642                                           class="level-2 pl-5 flex items-center w-full cursor-pointer text-size16 font-normal text-black mb-4">                                                                                                       
2643                                           Commercial Garage Flooring</a>
2644                                    </li>
2645                                                                                                        <li class="level-2">
2646                                        <a href="https://www.flooringinc.com/shop/commercial-flooring/commercial-carpet.html"
2647                                           title="Commercial&#x20;Carpet&#x20;Tiles"
2648                                           class="level-2 pl-5 flex items-center w-full cursor-pointer text-size16 font-normal text-black mb-4">                                                                                                       
2649                                           Commercial Carpet Tiles</a>
2650                                    </li>
2651                                                                                                        <li class="level-2">
2652                                        <a href="https://www.flooringinc.com/shop/commercial-flooring/commercial-vinyl.html"
2653                                           title="Commercial&#x20;Vinyl&#x20;Flooring"
2654                                           class="level-2 pl-5 flex items-center w-full cursor-pointer text-size16 font-normal text-black mb-4">                                                                                                       
2655                                           Commercial Vinyl Flooring</a>
2656                                    </li>
2657                                                                                                        <li class="level-2">
2658                                        <a href="https://www.flooringinc.com/shop/commercial-flooring/commercial-wood-laminate.html"
2659                                           title="Commercial&#x20;Wood&#x20;&amp;&#x20;Laminate&#x20;Flooring"
2660                                           class="level-2 pl-5 flex items-center w-full cursor-pointer text-size16 font-normal text-black mb-4">                                                                                                       
2661                                           Commercial Wood &amp; Laminate Flooring</a>
2662                                    </li>
2663                                                                                                        <li class="level-2">
2664                                        <a href="https://www.flooringinc.com/shop/commercial-flooring/gym-floor-covers-protection.html"
2665                                           title="Gym&#x20;Floor&#x20;Covers&#x20;&#x7C;&#x20;Floor&#x20;Protection"
2666                                           class="level-2 pl-5 flex items-center w-full cursor-pointer text-size16 font-normal text-black mb-4">                                                                                                       
2667                                           Gym Floor Covers | Floor Protection</a>
2668                                    </li>
2669                                                                  </ul>
2670                                                                        <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>
2671                                             
2672                                                        
2673                        
2674                                                    
2675                            <li class="imgcat list-none relative" x-data="{ show: false }" >
2676                            <a
2677                                                            @click="show = !show"
2678                                                        
2679                               title="Floors&#x20;by&#x20;Activity"
2680                               class="flex items-center cursor-pointer text-size18 font-normal text-black mb-4 mob-width-adjust"
2681                            >
2682                                <!-- <span class="w-6"></span> -->
2683                                <span>
2684                                    Floors by Activity                                </span>
2685                            </a>
2686                            
2687                                                            <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>
2688                             <ul class="z-10 w-full" x-show="show"> 
2689                                                                    <li class="level-2">
2690                                        <a href="https://www.flooringinc.com/shop/shop-by-activity/fitness-flooring.html"
2691                                           title="Fitness&#x20;Flooring"
2692                                           class="level-2 pl-5 flex items-center w-full cursor-pointer text-size16 font-normal text-black mb-4">                                                                                                       
2693                                           Fitness Flooring</a>
2694                                    </li>
2695                                                                                                        <li class="level-2">
2696                                        <a href="https://www.flooringinc.com/shop/shop-by-activity/dance-marley-flooring.html"
2697                                           title="Dance&#x20;Flooring&#x20;&#x7C;&#x20;Marley&#x20;Floor"
2698                                           class="level-2 pl-5 flex items-center w-full cursor-pointer text-size16 font-normal text-black mb-4">                                                                                                       
2699                                           Dance Flooring | Marley Floor</a>
2700                                    </li>
2701                                                                                                        <li class="level-2">
2702                                        <a href="https://www.flooringinc.com/shop/shop-by-activity/sport-and-court-flooring.html"
2703                                           title="Sport&#x20;&amp;&#x20;Court&#x20;Flooring"
2704                                           class="level-2 pl-5 flex items-center w-full cursor-pointer text-size16 font-normal text-black mb-4">                                                                                                       
2705                                           Sport &amp; Court Flooring</a>
2706                                    </li>
2707                                                                                                        <li class="level-2">
2708                                        <a href="https://www.flooringinc.com/shop/shop-by-activity/martial-arts-flooring.html"
2709                                           title="Martial&#x20;Arts&#x20;Mats&#x20;"
2710                                           class="level-2 pl-5 flex items-center w-full cursor-pointer text-size16 font-normal text-black mb-4">                                                                                                       
2711                                           Martial Arts Mats </a>
2712                                    </li>
2713                                                                                                        <li class="level-2">
2714                                        <a href="https://www.flooringinc.com/shop/shop-by-activity/cheer-mats.html"
2715                                           title="Cheer&#x20;Mats"
2716                                           class="level-2 pl-5 flex items-center w-full cursor-pointer text-size16 font-normal text-black mb-4">                                                                                                       
2717                                           Cheer Mats</a>
2718                                    </li>
2719                                                                                                        <li class="level-2">
2720                                        <a href="https://www.flooringinc.com/shop/shop-by-activity/wrestling-mats.html"
2721                                           title="Wrestling&#x20;Mats"
2722                                           class="level-2 pl-5 flex items-center w-full cursor-pointer text-size16 font-normal text-black mb-4">                                                                                                       
2723                                           Wrestling Mats</a>
2724                                    </li>
2725                                                                  </ul>
2726                                                                        <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>
2727                                             
2728                                                        
2729                        
2730                                                    
2731                            <li class="imgcat list-none relative" x-data="{ show: false }" >
2732                            <a
2733                                                            @click="show = !show"
2734                                                        
2735                               title="Floors&#x20;by&#x20;Space"
2736                               class="flex items-center cursor-pointer text-size18 font-normal text-black mb-4 mob-width-adjust"
2737                            >
2738                                <!-- <span class="w-6"></span> -->
2739                                <span>
2740                                    Floors by Space                                </span>
2741                            </a>
2742                            
2743                                                            <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>
2744                             <ul class="z-10 w-full" x-show="show"> 
2745                                                                    <li class="level-2">
2746                                        <a href="https://www.flooringinc.com/shop/shop-by-space/kitchen-flooring.html"
2747                                           title="Kitchen&#x20;Flooring"
2748                                           class="level-2 pl-5 flex items-center w-full cursor-pointer text-size16 font-normal text-black mb-4">                                                                                                       
2749                                           Kitchen Flooring</a>
2750                                    </li>
2751                                                                                                        <li class="level-2">
2752                                        <a href="https://www.flooringinc.com/shop/shop-by-space/bathroom-flooring.html"
2753                                           title="Bathroom&#x20;Flooring"
2754                                           class="level-2 pl-5 flex items-center w-full cursor-pointer text-size16 font-normal text-black mb-4">                                                                                                       
2755                                           Bathroom Flooring</a>
2756                                    </li>
2757                                                                                                        <li class="level-2">
2758                                        <a href="https://www.flooringinc.com/shop/shop-by-space/commercial-flooring.html"
2759                                           title="Commercial&#x20;Flooring"
2760                                           class="level-2 pl-5 flex items-center w-full cursor-pointer text-size16 font-normal text-black mb-4">                                                                                                       
2761                                           Commercial Flooring</a>
2762                                    </li>
2763                                                                                                        <li class="level-2">
2764                                        <a href="https://www.flooringinc.com/shop/shop-by-space/gym-flooring.html"
2765                                           title="Gym&#x20;Flooring"
2766                                           class="level-2 pl-5 flex items-center w-full cursor-pointer text-size16 font-normal text-black mb-4">                                                                                                       
2767                                           Gym Flooring</a>
2768                                    </li>
2769                                                                                                        <li class="level-2">
2770                                        <a href="https://www.flooringinc.com/shop/shop-by-space/garage-flooring.html"
2771                                           title="Garage&#x20;Flooring"
2772                                           class="level-2 pl-5 flex items-center w-full cursor-pointer text-size16 font-normal text-black mb-4">                                                                                                       
2773                                           Garage Flooring</a>
2774                                    </li>
2775                                                                                                        <li class="level-2">
2776                                        <a href="https://www.flooringinc.com/shop/shop-by-space/outdoor-flooring.html"
2777                                           title="Outdoor&#x20;Flooring"
2778                                           class="level-2 pl-5 flex items-center w-full cursor-pointer text-size16 font-normal text-black mb-4">                                                                                                       
2779                                           Outdoor Flooring</a>
2780                                    </li>
2781                                                                  </ul>
2782                                                                        <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>
2783                                             
2784                                                        
2785                        
2786                                                    
2787                            <li class="imgcat list-none relative" x-data="{ show: false }" >
2788                            <a
2789                                                            @click="show = !show"
2790                                                        
2791                               title="Underlayment&#x20;&amp;&#x20;Flooring&#x20;Accessories"
2792                               class="flex items-center cursor-pointer text-size18 font-normal text-black mb-4 mob-width-adjust"
2793                            >
2794                                <!-- <span class="w-6"></span> -->
2795                                <span>
2796                                    Underlayment &amp; Flooring Accessories                                </span>
2797                            </a>
2798                            
2799                                                            <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>
2800                             <ul class="z-10 w-full" x-show="show"> 
2801                                                                    <li class="level-2">
2802                                        <a href="https://www.flooringinc.com/shop/installation-care/adhesives-glue.html"
2803                                           title="Flooring&#x20;Adhesives&#x20;&amp;&#x20;Glue"
2804                                           class="level-2 pl-5 flex items-center w-full cursor-pointer text-size16 font-normal text-black mb-4">                                                                                                       
2805                                           Flooring Adhesives &amp; Glue</a>
2806                                    </li>
2807                                                                                                        <li class="level-2">
2808                                        <a href="https://www.flooringinc.com/shop/installation-care/tape.html"
2809                                           title="Floor&#x20;and&#x20;Mat&#x20;Tape"
2810                                           class="level-2 pl-5 flex items-center w-full cursor-pointer text-size16 font-normal text-black mb-4">                                                                                                       
2811                                           Floor and Mat Tape</a>
2812                                    </li>
2813                                                                                                        <li class="level-2">
2814                                        <a href="https://www.flooringinc.com/shop/installation-care/accessories.html"
2815                                           title="Installation&#x20;Accessories"
2816                                           class="level-2 pl-5 flex items-center w-full cursor-pointer text-size16 font-normal text-black mb-4">                                                                                                       
2817                                           Installation Accessories</a>
2818                                    </li>
2819                                                                                                        <li class="level-2">
2820                                        <a href="https://www.flooringinc.com/shop/installation-care/trims-moldings.html"
2821                                           title="Floor&#x20;Trims&#x20;&amp;&#x20;Moldings"
2822                                           class="level-2 pl-5 flex items-center w-full cursor-pointer text-size16 font-normal text-black mb-4">                                                                                                       
2823                                           Floor Trims &amp; Moldings</a>
2824                                    </li>
2825                                                                                                        <li class="level-2">
2826                                        <a href="https://www.flooringinc.com/shop/installation-care/underlayment.html"
2827                                           title="Flooring&#x20;Underlayment"
2828                                           class="level-2 pl-5 flex items-center w-full cursor-pointer text-size16 font-normal text-black mb-4">                                                                                                       
2829                                           Flooring Underlayment</a>
2830                                    </li>
2831                                                                                                        <li class="level-2">
2832                                        <a href="https://www.flooringinc.com/shop/installation-care/cleaners.html"
2833                                           title="Flooring&#x20;Cleaners"
2834                                           class="level-2 pl-5 flex items-center w-full cursor-pointer text-size16 font-normal text-black mb-4">                                                                                                       
2835                                           Flooring Cleaners</a>
2836                                    </li>
2837                                                                  </ul>
2838                                                                        <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>
2839                                             
2840                                                        
2841                        
2842                                                    
2843                            <li class="imgcat list-none relative" x-data="{ show: false }" >
2844                            <a
2845                                                            @click="show = !show"
2846                                                        
2847                               title="Specials"
2848                               class="flex items-center cursor-pointer text-size18 font-normal text-black mb-4 mob-width-adjust"
2849                            >
2850                                <!-- <span class="w-6"></span> -->
2851                                <span>
2852                                    Specials                                </span>
2853                            </a>
2854                            
2855                                                            <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>
2856                             <ul class="z-10 w-full" x-show="show"> 
2857                                                                    <li class="level-2">
2858                                        <a href="https://www.flooringinc.com/shop/specials/hot-buys.html"
2859                                           title="Flooring&#x20;Deals"
2860                                           class="level-2 pl-5 flex items-center w-full cursor-pointer text-size16 font-normal text-black mb-4">                                                                                                       
2861                                           Flooring Deals</a>
2862                                    </li>
2863                                                                                                        <li class="level-2">
2864                                        <a href="https://www.flooringinc.com/shop/specials/made-in-usa.html"
2865                                           title="American&#x20;Made"
2866                                           class="level-2 pl-5 flex items-center w-full cursor-pointer text-size16 font-normal text-black mb-4">                                                                                                       
2867                                           American Made</a>
2868                                    </li>
2869                                                                                                        <li class="level-2">
2870                                        <a href="https://www.flooringinc.com/shop/specials/quick-ship.html"
2871                                           title="Quick&#x20;Ship"
2872                                           class="level-2 pl-5 flex items-center w-full cursor-pointer text-size16 font-normal text-black mb-4">                                                                                                       
2873                                           Quick Ship</a>
2874                                    </li>
2875                                                                                                        <li class="level-2">
2876                                        <a href="https://www.flooringinc.com/shop/specials/new-arrivals.html"
2877                                           title="New&#x20;Arrivals"
2878                                           class="level-2 pl-5 flex items-center w-full cursor-pointer text-size16 font-normal text-black mb-4">                                                                                                       
2879                                           New Arrivals</a>
2880                                    </li>
2881                                                                                                  </ul>
2882                             
2883                                                        
2884                                            </div>
2885                
2886                
2887            </div>
2888                <div class="menu_static_links">
2889            <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>
2890<li><a tabindex="0" href="/shop-by-category/specials/hot-buys.html">Sale</a></li>
2891<li><a tabindex="0" href="/blog">Get Inspired &amp; How To</a></li>
2892</ul></div></div></div>        </div>
2893    </div>
2894        </nav>
2895    </div>
2896</div>
2897<script>
2898    'use strict';
2899
2900    const initMenuMobile_6ac15155197cd = () => {
2901        return {
2902            mobilePanelActiveId: null,
2903            open: false,
2904            setActiveMenu(menuNode) {
2905                Array.from(menuNode.querySelectorAll('a')).filter(link => {
2906                    return link.href === window.location.href.split('?')[0];
2907                }).map(item => {
2908                    item.classList.add('underline');
2909                    item.closest('div.level-0') &&
2910                    item.closest('div.level-0').querySelector('a.level-0').classList.add('underline');
2911                });
2912            }
2913        }
2914    }
2915
2916    window.addEventListener("scroll", function() {
2917        successMsgSticky2();
2918    });
2919
2920    // sticky header
2921    function successMsgSticky2() {
2922        if (window.innerWidth < 767) {
2923            var headerHeight = document.querySelector('.page-header .panel.wrapper').offsetHeight;
2924            var headerMainHeight = document.getElementById('header').offsetHeight;
2925            var scrollTop = window.scrollY;
2926
2927            if (scrollTop >= headerHeight) {
2928                document.body.classList.add('scroll-reached-hHgt');
2929                document.body.style.paddingTop = headerMainHeight + 'px';
2930            } else {
2931                document.body.classList.remove('scroll-reached-hHgt');
2932                document.body.style.paddingTop = '0';
2933            }
2934        }
2935    }
2936
2937    window.addEventListener("load", function() {
2938        successMsgSticky2();
2939    });
2940
2941</script>
2941
2942
2943<div x-data="initMenuDesktop_6ac1515521319()"
2944    class="z-20 order-2 sm:order-1 lg:order-2 navigation hidden xl:flex desktop__menu"
2945>
2946    <!-- desktop -->
2947    <div @load.window="setActiveMenu($root)"
2948        class="justify-between items-center mx-auto w-full max-w-7xl pl-2"
2949    >
2950        <nav
2951                class="flex flex-wrap"
2952        >
2953                                                            <div class="level-0 flex py-2 items-center border-transparent transition transition-colors duration-500 group megamenu_items" :class="{ 'block' : open}"
2954                    @mouseover.stop="hoverTopPosition = $event.currentTarget.offsetTop + $event.currentTarget.getBoundingClientRect().height"
2955                    @mouseenter="desktopMegaMenuShow = true" @mouseleave="desktopMegaMenuShow = false"
2956                    x-data="{ desktopMegaMenuShow: false }"
2957                >
2958                    <!-- <a href="https://www.flooringinc.com/shop.html" -->
2959                    <a 
2960                                        @focus="hoverTopPosition = $event.currentTarget.parentNode.offsetTop + $event.currentTarget.parentNode.getBoundingClientRect().height"
2961                    title="Flooring&#x20;By&#x20;Category"
2962                    class="level-0 block p-2 text-base font-medium text-black whitespace-nowrap cursor-pointer megamenu_items_link">
2963                        <span>Flooring By Category</span>
2964                                                    <span class="inline items-center releat">
2965                                <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">
2966  <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"/>
2967<title>chevron-down</title></svg>
2968                            </span>
2969                                            </a>
2970                                            <template x-if="desktopMegaMenuShow">
2971                        <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"
2972                            style="display:none;"
2973                            :style="`margin-top: 0; top: ${hoverTopPosition}px;`"
2974                        >
2975                            <div class="flex justify-between mt-0 mb-0 sub-megamenu">
2976                                                                <div class="mx-auto w-full">
2977                                    <ul class="grid flex-1 w-full gap-y-0 gap-x-0 py-4 px-5 relative">
2978                                                                                                                            
2979                                            <li :class="{ 'active': show }" class="level-1 level1 display-first"  x-data="{ show: true }"  
2980                                                                                        x-on:click="show = true; removeDisplayFirst()" @click.away="show = false"
2981                                                                                        >
2982                                                <a 
2983                                                title="Rubber&#x20;Flooring"
2984                                                class="level-1 w-1/4 py-1/5 px-6 text-size13 block text-sm rounded text-darkblack relative"
2985                                                
2986                                                    >
2987                                                    Rubber Flooring
2988                                                                                                            <span class="inline items-center rotate-180 absolute">
2989                                                            <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">
2990  <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"/>
2991<title>chevron-down</title></svg>
2992                                                        </span>
2993                                                                                                    </a>
2994                                                 
2995                                <div class="2xl:block w-1/4 mega-menu-rightBlock absolute top-0 right-0" x-show="show">
2996                                    <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>
2997                                
2998                                                <ul class="z-10 w-1/2 absolute top-0 level2 flex flex-wrap pt-3 megamenu-extrablock" x-show="show">
2999                                                    <span class="block w-full text-size28 font-medium no-underline text-darkblack pb-2">Rubber Flooring</span>
3000
3001                                                                                                            <li class="level-2 w-4/12 pr-6 pb-6">
3002                                                            <a href="https://www.flooringinc.com/shop/rubber-flooring/all-rubber-flooring.html"
3003                                                            title="All&#x20;Rubber&#x20;Flooring"
3004                                                            class="level-2 block">
3005                                                                                                                                <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>   
3006                                                                                                                                                                                        
3007                                                            <span class="block text-sm font-medium no-underline text-darkblack pr-4">All Rubber Flooring</span></a>
3008                                                        </li>
3009                                                           
3010                                                                                                                                                                    <li class="level-2 w-4/12 pr-6 pb-6">
3011                                                            <a href="https://www.flooringinc.com/shop/rubber-flooring/rubber-rolls.html"
3012                                                            title="Rubber&#x20;Flooring&#x20;Rolls"
3013                                                            class="level-2 block">
3014                                                                                                                                <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>   
3015                                                                                                                                                                                        
3016                                                            <span class="block text-sm font-medium no-underline text-darkblack pr-4">Rubber Flooring Rolls</span></a>
3017                                                        </li>
3018                                                           
3019                                                                                                                                                                    <li class="level-2 w-4/12 pr-6 pb-6">
3020                                                            <a href="https://www.flooringinc.com/shop/rubber-flooring/rubber-tiles.html"
3021                                                            title="Rubber&#x20;Floor&#x20;Tiles"
3022                                                            class="level-2 block">
3023                                                                                                                                <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>   
3024                                                                                                                                                                                        
3025                                                            <span class="block text-sm font-medium no-underline text-darkblack pr-4">Rubber Floor Tiles</span></a>
3026                                                        </li>
3027                                                           
3028                                                                                                                                                                    <li class="level-2 w-4/12 pr-6 pb-6">
3029                                                            <a href="https://www.flooringinc.com/shop/rubber-flooring/rubber-mats.html"
3030                                                            title="Rubber&#x20;Mats"
3031                                                            class="level-2 block">
3032                                                                                                                                <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>   
3033                                                                                                                                                                                        
3034                                                            <span class="block text-sm font-medium no-underline text-darkblack pr-4">Rubber Mats</span></a>
3035                                                        </li>
3036                                                           
3037                                                                                                                                                                    <li class="level-2 w-4/12 pr-6 pb-6">
3038                                                            <a href="https://www.flooringinc.com/shop/rubber-flooring/playground-flooring.html"
3039                                                            title="Playground&#x20;Flooring"
3040                                                            class="level-2 block">
3041                                                                                                                                <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>   
3042                                                                                                                                                                                        
3043                                                            <span class="block text-sm font-medium no-underline text-darkblack pr-4">Playground Flooring</span></a>
3044                                                        </li>
3045                                                           
3046                                                                                                                                                                    <li class="level-2 w-4/12 pr-6 pb-6">
3047                                                            <a href="https://www.flooringinc.com/shop/rubber-flooring/outdoor-rubber-flooring.html"
3048                                                            title="Outdoor&#x20;Rubber&#x20;Flooring"
3049                                                            class="level-2 block">
3050                                                                                                                                <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>   
3051                                                                                                                                                                                        
3052                                                            <span class="block text-sm font-medium no-underline text-darkblack pr-4">Outdoor Rubber Flooring</span></a>
3053                                                        </li>
3054                                                           
3055                                                        
3056                                                                                                <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>
3057                                             
3058
3059                                                </ul>
3060                                            </li>
3061                                            
3062                                            
3063                                                                                                                            
3064                                            <li :class="{ 'active': show }" class="level-1 level1 "  x-data="{ show: false }"  
3065                                                                                        x-on:click="show = true; removeDisplayFirst()" @click.away="show = false"
3066                                                                                        >
3067                                                <a 
3068                                                title="Garage&#x20;Flooring"
3069                                                class="level-1 w-1/4 py-1/5 px-6 text-size13 block text-sm rounded text-darkblack relative"
3070                                                
3071                                                    >
3072                                                    Garage Flooring
3073                                                                                                            <span class="inline items-center rotate-180 absolute">
3074                                                            <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">
3075  <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"/>
3076<title>chevron-down</title></svg>
3077                                                        </span>
3078                                                                                                    </a>
3079                                                 
3080                                <div class="2xl:block w-1/4 mega-menu-rightBlock absolute top-0 right-0" x-show="show">
3081                                    <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>
3082                                
3083                                                <ul class="z-10 w-1/2 absolute top-0 level2 flex flex-wrap pt-3 megamenu-extrablock" x-show="show">
3084                                                    <span class="block w-full text-size28 font-medium no-underline text-darkblack pb-2">Garage Flooring</span>
3085
3086                                                                                                            <li class="level-2 w-4/12 pr-6 pb-6">
3087                                                            <a href="https://www.flooringinc.com/shop/garage-flooring/all-garage-flooring.html"
3088                                                            title="All&#x20;Garage&#x20;Flooring"
3089                                                            class="level-2 block">
3090                                                                                                                                <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>   
3091                                                                                                                                                                                        
3092                                                            <span class="block text-sm font-medium no-underline text-darkblack pr-4">All Garage Flooring</span></a>
3093                                                        </li>
3094                                                           
3095                                                                                                                                                                    <li class="level-2 w-4/12 pr-6 pb-6">
3096                                                            <a href="https://www.flooringinc.com/shop/garage-flooring/garage-rolls.html"
3097                                                            title="Garage&#x20;Flooring&#x20;Rolls"
3098                                                            class="level-2 block">
3099                                                                                                                                <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>   
3100                                                                                                                                                                                        
3101                                                            <span class="block text-sm font-medium no-underline text-darkblack pr-4">Garage Flooring Rolls</span></a>
3102                                                        </li>
3103                                                           
3104                                                                                                                                                                    <li class="level-2 w-4/12 pr-6 pb-6">
3105                                                            <a href="https://www.flooringinc.com/shop/garage-flooring/garage-tiles.html"
3106                                                            title="Garage&#x20;Floor&#x20;Tiles"
3107                                                            class="level-2 block">
3108                                                                                                                                <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>   
3109                                                                                                                                                                                        
3110                                                            <span class="block text-sm font-medium no-underline text-darkblack pr-4">Garage Floor Tiles</span></a>
3111                                                        </li>
3112                                                           
3113                                                                                                                                                                    <li class="level-2 w-4/12 pr-6 pb-6">
3114                                                            <a href="https://www.flooringinc.com/shop/garage-flooring/garage-gym-flooring.html"
3115                                                            title="Garage&#x20;Gym&#x20;Flooring"
3116                                                            class="level-2 block">
3117                                                                                                                                <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>   
3118                                                                                                                                                                                        
3119                                                            <span class="block text-sm font-medium no-underline text-darkblack pr-4">Garage Gym Flooring</span></a>
3120                                                        </li>
3121                                                           
3122                                                                                                                                                                    <li class="level-2 w-4/12 pr-6 pb-6">
3123                                                            <a href="https://www.flooringinc.com/shop/garage-flooring/coatings-epoxy.html"
3124                                                            title="Garage&#x20;Floor&#x20;Epoxy"
3125                                                            class="level-2 block">
3126                                                                                                                                <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>   
3127                                                                                                                                                                                        
3128                                                            <span class="block text-sm font-medium no-underline text-darkblack pr-4">Garage Floor Epoxy</span></a>
3129                                                        </li>
3130                                                           
3131                                                                                                                                                                    <li class="level-2 w-4/12 pr-6 pb-6">
3132                                                            <a href="https://www.flooringinc.com/shop/garage-flooring/trailer-flooring.html"
3133                                                            title="Trailer&#x20;Flooring"
3134                                                            class="level-2 block">
3135                                                                                                                                <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>   
3136                                                                                                                                                                                        
3137                                                            <span class="block text-sm font-medium no-underline text-darkblack pr-4">Trailer Flooring</span></a>
3138                                                        </li>
3139                                                           
3140                                                        
3141                                                                                                <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>
3142                                             
3143
3144                                                </ul>
3145                                            </li>
3146                                            
3147                                            
3148                                                                                                                            
3149                                            <li :class="{ 'active': show }" class="level-1 level1 "  x-data="{ show: false }"  
3150                                                                                        x-on:click="show = true; removeDisplayFirst()" @click.away="show = false"
3151                                                                                        >
3152                                                <a 
3153                                                title="Dance&#x20;Flooring"
3154                                                class="level-1 w-1/4 py-1/5 px-6 text-size13 block text-sm rounded text-darkblack relative"
3155                                                
3156                                                    >
3157                                                    Dance Flooring
3158                                                                                                            <span class="inline items-center rotate-180 absolute">
3159                                                            <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">
3160  <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"/>
3161<title>chevron-down</title></svg>
3162                                                        </span>
3163                                                                                                    </a>
3164                                                 
3165                                <div class="2xl:block w-1/4 mega-menu-rightBlock absolute top-0 right-0" x-show="show">
3166                                    <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>
3167                                
3168                                                <ul class="z-10 w-1/2 absolute top-0 level2 flex flex-wrap pt-3 megamenu-extrablock" x-show="show">
3169                                                    <span class="block w-full text-size28 font-medium no-underline text-darkblack pb-2">Dance Flooring</span>
3170
3171                                                                                                            <li class="level-2 w-4/12 pr-6 pb-6">
3172                                                            <a href="https://www.flooringinc.com/shop/dance-flooring/marley-flooring.html"
3173                                                            title="Marley&#x20;Floor&#x20;Rolls"
3174                                                            class="level-2 block">
3175                                                                                                                                <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>   
3176                                                                                                                                                                                        
3177                                                            <span class="block text-sm font-medium no-underline text-darkblack pr-4">Marley Floor Rolls</span></a>
3178                                                        </li>
3179                                                           
3180                                                                                                                                                                    <li class="level-2 w-4/12 pr-6 pb-6">
3181                                                            <a href="https://www.flooringinc.com/shop/dance-flooring/dance-floor-tiles.html"
3182                                                            title="Dance&#x20;Floor&#x20;Tiles"
3183                                                            class="level-2 block">
3184                                                                                                                                <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>   
3185                                                                                                                                                                                        
3186                                                            <span class="block text-sm font-medium no-underline text-darkblack pr-4">Dance Floor Tiles</span></a>
3187                                                        </li>
3188                                                           
3189                                                                                                                                                                    <li class="level-2 w-4/12 pr-6 pb-6">
3190                                                            <a href="https://www.flooringinc.com/shop/dance-flooring/portable-dance-floor-kits.html"
3191                                                            title="Portable&#x20;Dance&#x20;Floors&#x20;&amp;&#x20;Kits"
3192                                                            class="level-2 block">
3193                                                                                                                                <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>   
3194                                                                                                                                                                                        
3195                                                            <span class="block text-sm font-medium no-underline text-darkblack pr-4">Portable Dance Floors &amp; Kits</span></a>
3196                                                        </li>
3197                                                           
3198                                                                                                                                                                    <li class="level-2 w-4/12 pr-6 pb-6">
3199                                                            <a href="https://www.flooringinc.com/shop/dance-flooring/subflooring.html"
3200                                                            title="Subflooring"
3201                                                            class="level-2 block">
3202                                                                                                                                <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>   
3203                                                                                                                                                                                        
3204                                                            <span class="block text-sm font-medium no-underline text-darkblack pr-4">Subflooring</span></a>
3205                                                        </li>
3206                                                           
3207                                                                                                                                                                    <li class="level-2 w-4/12 pr-6 pb-6">
3208                                                            <a href="https://www.flooringinc.com/shop/dance-flooring/adhesives-cleaners-accessories.html"
3209                                                            title="Adhesives,&#x20;Cleaners&#x20;&amp;&#x20;Accessories"
3210                                                            class="level-2 block">
3211                                                                                                                                <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>   
3212                                                                                                                                                                                        
3213                                                            <span class="block text-sm font-medium no-underline text-darkblack pr-4">Adhesives, Cleaners &amp; Accessories</span></a>
3214                                                        </li>
3215                                                           
3216                                                                                                                                                                    <li class="level-2 w-4/12 pr-6 pb-6">
3217                                                            <a href="https://www.flooringinc.com/shop/dance-flooring/all-dance-flooring.html"
3218                                                            title="All&#x20;Dance&#x20;Flooring"
3219                                                            class="level-2 block">
3220                                                                                                                                <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>   
3221                                                                                                                                                                                        
3222                                                            <span class="block text-sm font-medium no-underline text-darkblack pr-4">All Dance Flooring</span></a>
3223                                                        </li>
3224                                                           
3225                                                        
3226                                                                                                <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>
3227                                             
3228
3229                                                </ul>
3230                                            </li>
3231                                            
3232                                            
3233                                                                                                                            
3234                                            <li :class="{ 'active': show }" class="level-1 level1 "  x-data="{ show: false }"  
3235                                                                                        x-on:click="show = true; removeDisplayFirst()" @click.away="show = false"
3236                                                                                        >
3237                                                <a 
3238                                                title="Foam&#x20;Flooring"
3239                                                class="level-1 w-1/4 py-1/5 px-6 text-size13 block text-sm rounded text-darkblack relative"
3240                                                
3241                                                    >
3242                                                    Foam Flooring
3243                                                                                                            <span class="inline items-center rotate-180 absolute">
3244                                                            <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">
3245  <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"/>
3246<title>chevron-down</title></svg>
3247                                                        </span>
3248                                                                                                    </a>
3249                                                 
3250                                <div class="2xl:block w-1/4 mega-menu-rightBlock absolute top-0 right-0" x-show="show">
3251                                    <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>
3252                                
3253                                                <ul class="z-10 w-1/2 absolute top-0 level2 flex flex-wrap pt-3 megamenu-extrablock" x-show="show">
3254                                                    <span class="block w-full text-size28 font-medium no-underline text-darkblack pb-2">Foam Flooring</span>
3255
3256                                                                                                            <li class="level-2 w-4/12 pr-6 pb-6">
3257                                                            <a href="https://www.flooringinc.com/shop/foam-flooring/foam-tiles.html"
3258                                                            title="Foam&#x20;Floor&#x20;Tiles"
3259                                                            class="level-2 block">
3260                                                                                                                                <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>   
3261                                                                                                                                                                                        
3262                                                            <span class="block text-sm font-medium no-underline text-darkblack pr-4">Foam Floor Tiles</span></a>
3263                                                        </li>
3264                                                           
3265                                                                                                                                                                    <li class="level-2 w-4/12 pr-6 pb-6">
3266                                                            <a href="https://www.flooringinc.com/shop/foam-flooring/kids-baby-play-mats.html"
3267                                                            title="Kids&#x20;&amp;&#x20;Baby&#x20;Play&#x20;Mats"
3268                                                            class="level-2 block">
3269                                                                                                                                <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>   
3270                                                                                                                                                                                        
3271                                                            <span class="block text-sm font-medium no-underline text-darkblack pr-4">Kids &amp; Baby Play Mats</span></a>
3272                                                        </li>
3273                                                           
3274                                                                                                                                                                    <li class="level-2 w-4/12 pr-6 pb-6">
3275                                                            <a href="https://www.flooringinc.com/shop/foam-flooring/gymnastic-folding-mats.html"
3276                                                            title="Gymnastics&#x20;Mats&#x20;"
3277                                                            class="level-2 block">
3278                                                                                                                                <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>   
3279                                                                                                                                                                                        
3280                                                            <span class="block text-sm font-medium no-underline text-darkblack pr-4">Gymnastics Mats </span></a>
3281                                                        </li>
3282                                                           
3283                                                                                                                                                                    <li class="level-2 w-4/12 pr-6 pb-6">
3284                                                            <a href="https://www.flooringinc.com/shop/foam-flooring/wrestling-mats.html"
3285                                                            title="Wrestling&#x20;Mats"
3286                                                            class="level-2 block">
3287                                                                                                                                <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>   
3288                                                                                                                                                                                        
3289                                                            <span class="block text-sm font-medium no-underline text-darkblack pr-4">Wrestling Mats</span></a>
3290                                                        </li>
3291                                                           
3292                                                                                                                                                                    <li class="level-2 w-4/12 pr-6 pb-6">
3293                                                            <a href="https://www.flooringinc.com/shop/foam-flooring/martial-arts-mats.html"
3294                                                            title="Martial&#x20;Arts&#x20;Mats&#x20;"
3295                                                            class="level-2 block">
3296                                                                                                                                <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>   
3297                                                                                                                                                                                        
3298                                                            <span class="block text-sm font-medium no-underline text-darkblack pr-4">Martial Arts Mats </span></a>
3299                                                        </li>
3300                                                           
3301                                                                                                                                                                    <li class="level-2 w-4/12 pr-6 pb-6">
3302                                                            <a href="https://www.flooringinc.com/shop/foam-flooring/trade-show-flooring.html"
3303                                                            title="Trade&#x20;Show&#x20;Flooring"
3304                                                            class="level-2 block">
3305                                                                                                                                <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>   
3306                                                                                                                                                                                        
3307                                                            <span class="block text-sm font-medium no-underline text-darkblack pr-4">Trade Show Flooring</span></a>
3308                                                        </li>
3309                                                           
3310                                                        
3311                                                                                                <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>
3312                                             
3313
3314                                                </ul>
3315                                            </li>
3316                                            
3317                                            
3318                                                                                                                            
3319                                            <li :class="{ 'active': show }" class="level-1 level1 "  x-data="{ show: false }"  
3320                                                                                        x-on:click="show = true; removeDisplayFirst()" @click.away="show = false"
3321                                                                                        >
3322                                                <a 
3323                                                title="Outdoor&#x20;Flooring"
3324                                                class="level-1 w-1/4 py-1/5 px-6 text-size13 block text-sm rounded text-darkblack relative"
3325                                                
3326                                                    >
3327                                                    Outdoor Flooring
3328                                                                                                            <span class="inline items-center rotate-180 absolute">
3329                                                            <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">
3330  <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"/>
3331<title>chevron-down</title></svg>
3332                                                        </span>
3333                                                                                                    </a>
3334                                                 
3335                                <div class="2xl:block w-1/4 mega-menu-rightBlock absolute top-0 right-0" x-show="show">
3336                                    <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.
3336webp"><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>
3337                                
3338                                                <ul class="z-10 w-1/2 absolute top-0 level2 flex flex-wrap pt-3 megamenu-extrablock" x-show="show">
3339                                                    <span class="block w-full text-size28 font-medium no-underline text-darkblack pb-2">Outdoor Flooring</span>
3340
3341                                                                                                            <li class="level-2 w-4/12 pr-6 pb-6">
3342                                                            <a href="https://www.flooringinc.com/shop/outdoor-flooring/playground-flooring.html"
3343                                                            title="Playground&#x20;Flooring"
3344                                                            class="level-2 block">
3345                                                                                                                                <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>   
3346                                                                                                                                                                                        
3347                                                            <span class="block text-sm font-medium no-underline text-darkblack pr-4">Playground Flooring</span></a>
3348                                                        </li>
3349                                                           
3350                                                                                                                                                                    <li class="level-2 w-4/12 pr-6 pb-6">
3351                                                            <a href="https://www.flooringinc.com/shop/outdoor-flooring/sport-and-court-flooring.html"
3352                                                            title="Sports&#x20;Flooring&#x20;&amp;&#x20;Court&#x20;Tiles"
3353                                                            class="level-2 block">
3354                                                                                                                                <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>   
3355                                                                                                                                                                                        
3356                                                            <span class="block text-sm font-medium no-underline text-darkblack pr-4">Sports Flooring &amp; Court Tiles</span></a>
3357                                                        </li>
3358                                                           
3359                                                                                                                                                                    <li class="level-2 w-4/12 pr-6 pb-6">
3360                                                            <a href="https://www.flooringinc.com/shop/outdoor-flooring/artificial-grass.html"
3361                                                            title="Turf&#x20;&amp;&#x20;Artificial&#x20;Grass"
3362                                                            class="level-2 block">
3363                                                                                                                                <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>   
3364                                                                                                                                                                                        
3365                                                            <span class="block text-sm font-medium no-underline text-darkblack pr-4">Turf &amp; Artificial Grass</span></a>
3366                                                        </li>
3367                                                           
3368                                                                                                                                                                    <li class="level-2 w-4/12 pr-6 pb-6">
3369                                                            <a href="https://www.flooringinc.com/shop/outdoor-flooring/composite-decking.html"
3370                                                            title="Composite&#x20;Decking"
3371                                                            class="level-2 block">
3372                                                                                                                                <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>   
3373                                                                                                                                                                                        
3374                                                            <span class="block text-sm font-medium no-underline text-darkblack pr-4">Composite Decking</span></a>
3375                                                        </li>
3376                                                           
3377                                                                                                                                                                    <li class="level-2 w-4/12 pr-6 pb-6">
3378                                                            <a href="https://www.flooringinc.com/shop/outdoor-flooring/rooftop-deck-flooring.html"
3379                                                            title="Rooftop&#x20;Deck&#x20;Flooring"
3380                                                            class="level-2 block">
3381                                                                                                                                <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>   
3382                                                                                                                                                                                        
3383                                                            <span class="block text-sm font-medium no-underline text-darkblack pr-4">Rooftop Deck Flooring</span></a>
3384                                                        </li>
3385                                                           
3386                                                                                                                                                                    <li class="level-2 w-4/12 pr-6 pb-6">
3387                                                            <a href="https://www.flooringinc.com/shop/outdoor-flooring/drainage-tiles.html"
3388                                                            title="Drainage&#x20;Tile&#x20;&amp;&#x20;Mats"
3389                                                            class="level-2 block">
3390                                                                                                                                <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>   
3391                                                                                                                                                                                        
3392                                                            <span class="block text-sm font-medium no-underline text-darkblack pr-4">Drainage Tile &amp; Mats</span></a>
3393                                                        </li>
3394                                                           
3395                                                        
3396                                                                                                <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>
3397                                             
3398
3399                                                </ul>
3400                                            </li>
3401                                            
3402                                            
3403                                                                                                                            
3404                                            <li :class="{ 'active': show }" class="level-1 level1 "  x-data="{ show: false }"  
3405                                                                                        x-on:click="show = true; removeDisplayFirst()" @click.away="show = false"
3406                                                                                        >
3407                                                <a 
3408                                                title="Turf&#x20;&amp;&#x20;Artificial&#x20;Grass"
3409                                                class="level-1 w-1/4 py-1/5 px-6 text-size13 block text-sm rounded text-darkblack relative"
3410                                                
3411                                                    >
3412                                                    Turf &amp; Artificial Grass
3413                                                                                                            <span class="inline items-center rotate-180 absolute">
3414                                                            <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">
3415  <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"/>
3416<title>chevron-down</title></svg>
3417                                                        </span>
3418                                                                                                    </a>
3419                                                
3420                                                <ul class="z-10 w-1/2 absolute top-0 level2 flex flex-wrap pt-3 megamenu-extrablock" x-show="show">
3421                                                    <span class="block w-full text-size28 font-medium no-underline text-darkblack pb-2">Turf &amp; Artificial Grass</span>
3422
3423                                                                                                            <li class="level-2 w-4/12 pr-6 pb-6">
3424                                                            <a href="https://www.flooringinc.com/shop/artificial-grass/sport-field-turf.html"
3425                                                            title="Sport&#x20;&amp;&#x20;Gym&#x20;Turf"
3426                                                            class="level-2 block">
3427                                                                                                                                <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>   
3428                                                                                                                                                                                        
3429                                                            <span class="block text-sm font-medium no-underline text-darkblack pr-4">Sport &amp; Gym Turf</span></a>
3430                                                        </li>
3431                                                           
3432                                                                                                                                                                    <li class="level-2 w-4/12 pr-6 pb-6">
3433                                                            <a href="https://www.flooringinc.com/shop/artificial-grass/landscape-turf.html"
3434                                                            title="Landscape&#x20;Turf"
3435                                                            class="level-2 block">
3436                                                                                                                                <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>   
3437                                                                                                                                                                                        
3438                                                            <span class="block text-sm font-medium no-underline text-darkblack pr-4">Landscape Turf</span></a>
3439                                                        </li>
3440                                                           
3441                                                                                                                                                                    <li class="level-2 w-4/12 pr-6 pb-6">
3442                                                            <a href="https://www.flooringinc.com/shop/artificial-grass/pet-turf.html"
3443                                                            title="Pet&#x20;Turf"
3444                                                            class="level-2 block">
3445                                                                                                                                <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>   
3446                                                                                                                                                                                        
3447                                                            <span class="block text-sm font-medium no-underline text-darkblack pr-4">Pet Turf</span></a>
3448                                                        </li>
3449                                                           
3450                                                                                                                                                                    <li class="level-2 w-4/12 pr-6 pb-6">
3451                                                            <a href="https://www.flooringinc.com/shop/artificial-grass/putting-greens.html"
3452                                                            title="Golf&#x20;&amp;&#x20;Putting&#x20;Green&#x20;Turf"
3453                                                            class="level-2 block">
3454                                                                                                                                <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>   
3455                                                                                                                                                                                        
3456                                                            <span class="block text-sm font-medium no-underline text-darkblack pr-4">Golf &amp; Putting Green Turf</span></a>
3457                                                        </li>
3458                                                           
3459                                                                                                                                                                    <li class="level-2 w-4/12 pr-6 pb-6">
3460                                                            <a href="https://www.flooringinc.com/shop/artificial-grass/turf-accessories.html"
3461                                                            title="Turf&#x20;Accessories"
3462                                                            class="level-2 block">
3463                                                                                                                                <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>   
3464                                                                                                                                                                                        
3465                                                            <span class="block text-sm font-medium no-underline text-darkblack pr-4">Turf Accessories</span></a>
3466                                                        </li>
3467                                                           
3468                                                                                                                                                                    <li class="level-2 w-4/12 pr-6 pb-6">
3469                                                            <a href="https://www.flooringinc.com/shop/artificial-grass/all-artificial-grass.html"
3470                                                            title="All&#x20;Turf&#x20;&amp;&#x20;Artificial&#x20;Grass"
3471                                                            class="level-2 block">
3472                                                                                                                                <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>   
3473                                                                                                                                                                                        
3474                                                            <span class="block text-sm font-medium no-underline text-darkblack pr-4">All Turf &amp; Artificial Grass</span></a>
3475                                                        </li>
3476                                                           
3477                                                        
3478                                                                                                <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>
3479                                             
3480
3481                                                </ul>
3482                                            </li>
3483                                            
3484                                            
3485                                                                                                                            
3486                                            <li :class="{ 'active': show }" class="level-1 level1 "  x-data="{ show: false }"  
3487                                                                                        x-on:click="show = true; removeDisplayFirst()" @click.away="show = false"
3488                                                                                        >
3489                                                <a 
3490                                                title="Carpet&#x20;Tiles&#x20;&amp;&#x20;Rolls"
3491                                                class="level-1 w-1/4 py-1/5 px-6 text-size13 block text-sm rounded text-darkblack relative"
3492                                                
3493                                                    >
3494                                                    Carpet Tiles &amp; Rolls
3495                                                                                                            <span class="inline items-center rotate-180 absolute">
3496                                                            <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">
3497  <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"/>
3498<title>chevron-down</title></svg>
3499                                                        </span>
3500                                                                                                    </a>
3501                                                
3502                                                <ul class="z-10 w-1/2 absolute top-0 level2 flex flex-wrap pt-3 megamenu-extrablock" x-show="show">
3503                                                    <span class="block w-full text-size28 font-medium no-underline text-darkblack pb-2">Carpet Tiles &amp; Rolls</span>
3504
3505                                                                                                            <li class="level-2 w-4/12 pr-6 pb-6">
3506                                                            <a href="https://www.flooringinc.com/shop/carpet/carpet-tiles.html"
3507                                                            title="Carpet&#x20;Tiles"
3508                                                            class="level-2 block">
3509                                                                                                                                <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>   
3510                                                                                                                                                                                        
3511                                                            <span class="block text-sm font-medium no-underline text-darkblack pr-4">Carpet Tiles</span></a>
3512                                                        </li>
3513                                                           
3514                                                                                                                                                                    <li class="level-2 w-4/12 pr-6 pb-6">
3515                                                            <a href="https://www.flooringinc.com/shop/carpet/carpet-rolls.html"
3516                                                            title="Carpet&#x20;Rolls"
3517                                                            class="level-2 block">
3518                                                                                                                                <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>   
3519                                                                                                                                                                                        
3520                                                            <span class="block text-sm font-medium no-underline text-darkblack pr-4">Carpet Rolls</span></a>
3521                                                        </li>
3522                                                           
3523                                                                                                                                                                    <li class="level-2 w-4/12 pr-6 pb-6">
3524                                                            <a href="https://www.flooringinc.com/shop/carpet/home-theater-carpet.html"
3525                                                            title="Home&#x20;Theater&#x20;Carpet"
3526                                                            class="level-2 block">
3527                                                                                                                                <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>   
3528                                                                                                                                                                                        
3529                                                            <span class="block text-sm font-medium no-underline text-darkblack pr-4">Home Theater Carpet</span></a>
3530                                                        </li>
3531                                                           
3532                                                                                                                                                                    <li class="level-2 w-4/12 pr-6 pb-6">
3533                                                            <a href="https://www.flooringinc.com/shop/carpet/peel-stick-carpet.html"
3534                                                            title="Peel&#x20;and&#x20;Stick&#x20;Carpet&#x20;Tiles"
3535                                                            class="level-2 block">
3536                                                                                                                                <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>   
3537                                                                                                                                                                                        
3538                                                            <span class="block text-sm font-medium no-underline text-darkblack pr-4">Peel and Stick Carpet Tiles</span></a>
3539                                                        </li>
3540                                                           
3541                                                                                                                                                                    <li class="level-2 w-4/12 pr-6 pb-6">
3542                                                            <a href="https://www.flooringinc.com/shop/carpet/outdoor-carpet.html"
3543                                                            title="Outdoor&#x20;Carpet"
3544                                                            class="level-2 block">
3545                                                                                                                                <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>   
3546                                                                                                                                                                                        
3547                                                            <span class="block text-sm font-medium no-underline text-darkblack pr-4">Outdoor Carpet</span></a>
3548                                                        </li>
3549                                                           
3550                                                                                                                                                                    <li class="level-2 w-4/12 pr-6 pb-6">
3551                                                            <a href="https://www.flooringinc.com/shop/carpet/waterproof-carpet.html"
3552                                                            title="Waterproof&#x20;Carpet"
3553                                                            class="level-2 block">
3554                                                                                                                                <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>   
3555                                                                                                                                                                                        
3556                                                            <span class="block text-sm font-medium no-underline text-darkblack pr-4">Waterproof Carpet</span></a>
3557                                                        </li>
3558                                                           
3559                                                        
3560                                                                                                <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>
3561                                             
3562
3563                                                </ul>
3564                                            </li>
3565                                            
3566                                            
3567                                                                                                                            
3568                                            <li :class="{ 'active': show }" class="level-1 level1 "  x-data="{ show: false }"  
3569                                                                                        x-on:click="show = true; removeDisplayFirst()" @click.away="show = false"
3570                                                                                        >
3571                                                <a 
3572                                                title="Vinyl&#x20;Flooring"
3573                                                class="level-1 w-1/4 py-1/5 px-6 text-size13 block text-sm rounded text-darkblack relative"
3574                                                
3575                                                    >
3576                                                    Vinyl Flooring
3577                                                                                                            <sp
3577an class="inline items-center rotate-180 absolute">
3578                                                            <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">
3579  <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"/>
3580<title>chevron-down</title></svg>
3581                                                        </span>
3582                                                                                                    </a>
3583                                                 
3584                                <div class="2xl:block w-1/4 mega-menu-rightBlock absolute top-0 right-0" x-show="show">
3585                                    <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>
3586                                
3587                                                <ul class="z-10 w-1/2 absolute top-0 level2 flex flex-wrap pt-3 megamenu-extrablock" x-show="show">
3588                                                    <span class="block w-full text-size28 font-medium no-underline text-darkblack pb-2">Vinyl Flooring</span>
3589
3590                                                                                                            <li class="level-2 w-4/12 pr-6 pb-6">
3591                                                            <a href="https://www.flooringinc.com/shop/vinyl/vinyl-sheet.html"
3592                                                            title="Vinyl&#x20;Sheet&#x20;Flooring"
3593                                                            class="level-2 block">
3594                                                                                                                                <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>   
3595                                                                                                                                                                                        
3596                                                            <span class="block text-sm font-medium no-underline text-darkblack pr-4">Vinyl Sheet Flooring</span></a>
3597                                                        </li>
3598                                                           
3599                                                                                                                                                                    <li class="level-2 w-4/12 pr-6 pb-6">
3600                                                            <a href="https://www.flooringinc.com/shop/vinyl/vinyl-tiles-planks.html"
3601                                                            title="Vinyl&#x20;Tiles&#x20;&amp;&#x20;Planks"
3602                                                            class="level-2 block">
3603                                                                                                                                <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>   
3604                                                                                                                                                                                        
3605                                                            <span class="block text-sm font-medium no-underline text-darkblack pr-4">Vinyl Tiles &amp; Planks</span></a>
3606                                                        </li>
3607                                                           
3608                                                                                                                                                                    <li class="level-2 w-4/12 pr-6 pb-6">
3609                                                            <a href="https://www.flooringinc.com/shop/vinyl/waterproof-vinyl.html"
3610                                                            title="Waterproof&#x20;Vinyl&#x20;Flooring"
3611                                                            class="level-2 block">
3612                                                                                                                                <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>   
3613                                                                                                                                                                                        
3614                                                            <span class="block text-sm font-medium no-underline text-darkblack pr-4">Waterproof Vinyl Flooring</span></a>
3615                                                        </li>
3616                                                           
3617                                                                                                                                                                    <li class="level-2 w-4/12 pr-6 pb-6">
3618                                                            <a href="https://www.flooringinc.com/shop/vinyl/rigid-core-vinyl.html"
3619                                                            title="Rigid&#x20;Core&#x20;Vinyl&#x20;Flooring"
3620                                                            class="level-2 block">
3621                                                                                                                                <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>   
3622                                                                                                                                                                                        
3623                                                            <span class="block text-sm font-medium no-underline text-darkblack pr-4">Rigid Core Vinyl Flooring</span></a>
3624                                                        </li>
3625                                                           
3626                                                                                                                                                                    <li class="level-2 w-4/12 pr-6 pb-6">
3627                                                            <a href="https://www.flooringinc.com/shop/vinyl/commercial-vinyl.html"
3628                                                            title="Commercial&#x20;Vinyl&#x20;Flooring"
3629                                                            class="level-2 block">
3630                                                                                                                                <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>   
3631                                                                                                                                                                                        
3632                                                            <span class="block text-sm font-medium no-underline text-darkblack pr-4">Commercial Vinyl Flooring</span></a>
3633                                                        </li>
3634                                                           
3635                                                                                                            
3636                                                                                                <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>
3637                                             
3638
3639                                                </ul>
3640                                            </li>
3641                                            
3642                                            
3643                                                                                                                            
3644                                            <li :class="{ 'active': show }" class="level-1 level1 "  x-data="{ show: false }"  
3645                                                                                        x-on:click="show = true; removeDisplayFirst()" @click.away="show = false"
3646                                                                                        >
3647                                                <a 
3648                                                title="Wood&#x20;&amp;&#x20;Laminate&#x20;Flooring"
3649                                                class="level-1 w-1/4 py-1/5 px-6 text-size13 block text-sm rounded text-darkblack relative"
3650                                                
3651                                                    >
3652                                                    Wood &amp; Laminate Flooring
3653                                                                                                            <sp
3653an class="inline items-center rotate-180 absolute">
3654                                                            <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">
3655  <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"/>
3656<title>chevron-down</title></svg>
3657                                                        </span>
3658                                                                                                    </a>
3659                                                
3660                                                <ul class="z-10 w-1/2 absolute top-0 level2 flex flex-wrap pt-3 megamenu-extrablock" x-show="show">
3661                                                    <span class="block w-full text-size28 font-medium no-underline text-darkblack pb-2">Wood &amp; Laminate Flooring</span>
3662
3663                                                                                                            <li class="level-2 w-4/12 pr-6 pb-6">
3664                                                            <a href="https://www.flooringinc.com/shop/wood-laminate/waterproof-laminate.html"
3665                                                            title="Waterproof&#x20;Laminate&#x20;Flooring"
3666                                                            class="level-2 block">
3667                                                                                                                                <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>   
3668                                                                                                                                                                                        
3669                                                            <span class="block text-sm font-medium no-underline text-darkblack pr-4">Waterproof Laminate Flooring</span></a>
3670                                                        </li>
3671                                                           
3672                                                                                                                                                                    <li class="level-2 w-4/12 pr-6 pb-6">
3673                                                            <a href="https://www.flooringinc.com/shop/wood-laminate/laminate.html"
3674                                                            title="Laminate&#x20;Flooring"
3675                                                            class="level-2 block">
3676                                                                                                                                <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>   
3677                                                                                                                                                                                        
3678                                                            <span class="block text-sm font-medium no-underline text-darkblack pr-4">Laminate Flooring</span></a>
3679                                                        </li>
3680                                                           
3681                                                                                                                                                                    <li class="level-2 w-4/12 pr-6 pb-6">
3682                                                            <a href="https://www.flooringinc.com/shop/wood-laminate/hardwood.html"
3683                                                            title="Engineered&#x20;Hardwood&#x20;Flooring"
3684                                                            class="level-2 block">
3685                                                                                                                                <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>   
3686                                                                                                                                                                                        
3687                                                            <span class="block text-sm font-medium no-underline text-darkblack pr-4">Engineered Hardwood Flooring</span></a>
3688                                                        </li>
3689                                                           
3690                                                                                                                                                                    <li class="level-2 w-4/12 pr-6 pb-6">
3691                                                            <a href="https://www.flooringinc.com/shop/wood-laminate/oak.html"
3692                                                            title="Oak&#x20;Wood&#x20;Flooring"
3693                                                            class="level-2 block">
3694                                                                                                                                <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>   
3695                                                                                                                                                                                        
3696                                                            <span class="block text-sm font-medium no-underline text-darkblack pr-4">Oak Wood Flooring</span></a>
3697                                                        </li>
3698                                                           
3699                                                                                                                                                                    <li class="level-2 w-4/12 pr-6 pb-6">
3700                                                            <a href="https://www.flooringinc.com/shop/wood-laminate/commercial-wood-laminate.html"
3701                                                            title="Commercial&#x20;Wood&#x20;&amp;&#x20;Laminate"
3702                                                            class="level-2 block">
3703                                                                                                                                <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>   
3704                                                                                                                                                                                        
3705                                                            <span class="block text-sm font-medium no-underline text-darkblack pr-4">Commercial Wood &amp; Laminate</span></a>
3706                                                        </li>
3707                                                           
3708                                                                                                            
3709                                                                                                <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>
3710                                             
3711
3712                                                </ul>
3713                                            </li>
3714                                            
3715                                            
3716                                                                                                                            
3717                                            <li :class="{ 'active': show }" class="level-1 level1 "  x-data="{ show: false }"  
3718                                                                                        x-on:click="show = true; removeDisplayFirst()" @click.away="show = false"
3719                                                                                        >
3720                                                <a 
3721                                                title="Commercial&#x20;Flooring"
3722                                                class="level-1 w-1/4 py-1/5 px-6 text-size13 block text-sm rounded text-darkblack relative"
3723                                                
3724                                                    >
3725                                                    Commercial Flooring
3726                                                                                                            <sp
3726an class="inline items-center rotate-180 absolute">
3727                                                            <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">
3728  <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"/>
3729<title>chevron-down</title></svg>
3730                                                        </span>
3731                                                                                                    </a>
3732                                                 
3733                                <div class="2xl:block w-1/4 mega-menu-rightBlock absolute top-0 right-0" x-show="show">
3734                                    <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>
3735                                
3736                                                <ul class="z-10 w-1/2 absolute top-0 level2 flex flex-wrap pt-3 megamenu-extrablock" x-show="show">
3737                                                    <span class="block w-full text-size28 font-medium no-underline text-darkblack pb-2">Commercial Flooring</span>
3738
3739                                                                                                            <li class="level-2 w-4/12 pr-6 pb-6">
3740                                                            <a href="https://www.flooringinc.com/shop/commercial-flooring/commercial-rubber-flooring.html"
3741                                                            title="Commercial&#x20;Rubber&#x20;Flooring"
3742                                                            class="level-2 block">
3743                                                                                                                                <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>   
3744                                                                                                                                                                                        
3745                                                            <span class="block text-sm font-medium no-underline text-darkblack pr-4">Commercial Rubber Flooring</span></a>
3746                                                        </li>
3747                                                           
3748                                                                                                                                                                    <li class="level-2 w-4/12 pr-6 pb-6">
3749                                                            <a href="https://www.flooringinc.com/shop/commercial-flooring/commercial-garage-flooring.html"
3750                                                            title="Commercial&#x20;Garage&#x20;Flooring"
3751                                                            class="level-2 block">
3752                                                                                                                                <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>   
3753                                                                                                                                                                                        
3754                                                            <span class="block text-sm font-medium no-underline text-darkblack pr-4">Commercial Garage Flooring</span></a>
3755                                                        </li>
3756                                                           
3757                                                                                                                                                                    <li class="level-2 w-4/12 pr-6 pb-6">
3758                                                            <a href="https://www.flooringinc.com/shop/commercial-flooring/commercial-carpet.html"
3759                                                            title="Commercial&#x20;Carpet&#x20;Tiles"
3760                                                            class="level-2 block">
3761                                                                                                                                <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>   
3762                                                                                                                                                                                        
3763                                                            <span class="block text-sm font-medium no-underline text-darkblack pr-4">Commercial Carpet Tiles</span></a>
3764                                                        </li>
3765                                                           
3766                                                                                                                                                                    <li class="level-2 w-4/12 pr-6 pb-6">
3767                                                            <a href="https://www.flooringinc.com/shop/commercial-flooring/commercial-vinyl.html"
3768                                                            title="Commercial&#x20;Vinyl&#x20;Flooring"
3769                                                            class="level-2 block">
3770                                                                                                                                <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>   
3771                                                                                                                                                                                        
3772                                                            <span class="block text-sm font-medium no-underline text-darkblack pr-4">Commercial Vinyl Flooring</span></a>
3773                                                        </li>
3774                                                           
3775                                                                                                                                                                    <li class="level-2 w-4/12 pr-6 pb-6">
3776                                                            <a href="https://www.flooringinc.com/shop/commercial-flooring/commercial-wood-laminate.html"
3777                                                            title="Commercial&#x20;Wood&#x20;&amp;&#x20;Laminate&#x20;Flooring"
3778                                                            class="level-2 block">
3779                                                                                                                                <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>   
3780                                                                                                                                                                                        
3781                                                            <span class="block text-sm font-medium no-underline text-darkblack pr-4">Commercial Wood &amp; Laminate Flooring</span></a>
3782                                                        </li>
3783                                                           
3784                                                                                                                                                                    <li class="level-2 w-4/12 pr-6 pb-6">
3785                                                            <a href="https://www.flooringinc.com/shop/commercial-flooring/gym-floor-covers-protection.html"
3786                                                            title="Gym&#x20;Floor&#x20;Covers&#x20;&#x7C;&#x20;Floor&#x20;Protection"
3787                                                            class="level-2 block">
3788                                                                                                                                <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>   
3789                                                                                                                                                                                        
3790                                                            <span class="block text-sm font-medium no-underline text-darkblack pr-4">Gym Floor Covers | Floor Protection</span></a>
3791                                                        </li>
3792                                                           
3793                                                        
3794                                                                                                <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>
3795                                             
3796
3797                                                </ul>
3798                                            </li>
3799                                            
3800                                            
3801                                                                                                                            
3802                                            <li :class="{ 'active': show }" class="level-1 level1 "  x-data="{ show: false }"  
3803                                                                                        x-on:click="show = true; removeDisplayFirst()" @click.away="show = false"
3804                                                                                        >
3805                                                <a 
3806                                                title="Floors&#x20;by&#x20;Activity"
3807                                                class="level-1 w-1/4 py-1/5 px-6 text-size13 block text-sm rounded text-darkblack relative"
3808                                                
3809                                                    >
3810                                                    Floors by Activity
3811                                                                                                            <span class="inline items-center rotate-180 absolute">
3812                                                            <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">
3813  <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"/>
3814<title>chevron-down</title></svg>
3815                                                        </span>
3816                                                                                                    </a>
3817                                                 
3818                                <div class="2xl:block w-1/4 mega-menu-rightBlock absolute top-0 right-0" x-show="show">
3819                                    <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>
3820                                
3821                                                <ul class="z-10 w-1/2 absolute top-0 level2 flex flex-wrap pt-3 megamenu-extrablock" x-show="show">
3822                                                    <span class="block w-full text-size28 font-medium no-underline text-darkblack pb-2">Floors by Activity</span>
3823
3824                                                                                                            <li class="level-2 w-4/12 pr-6 pb-6">
3825                                                            <a href="https://www.flooringinc.com/shop/shop-by-activity/fitness-flooring.html"
3826                                                            title="Fitness&#x20;Flooring"
3827                                                            class="level-2 block">
3828                                                                                                                                <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>   
3829                                                                                                                                                                                        
3830                                                            <span class="block text-sm font-medium no-underline text-darkblack pr-4">Fitness Flooring</span></a>
3831                                                        </li>
3832                                                           
3833                                                                                                                                                                    <li class="level-2 w-4/12 pr-6 pb-6">
3834                                                            <a href="https://www.flooringinc.com/shop/shop-by-activity/dance-marley-flooring.html"
3835                                                            title="Dance&#x20;Flooring&#x20;&#x7C;&#x20;Marley&#x20;Floor"
3836                                                            class="level-2 block">
3837                                                                                                                                <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>   
3838                                                                                                                                                                                        
3839                                                            <span class="block text-sm font-medium no-underline text-darkblack pr-4">Dance Flooring | Marley Floor</span></a>
3840                                                        </li>
3841                                                           
3842                                                                                                                                                                    <li class="level-2 w-4/12 pr-6 pb-6">
3843                                                            <a href="https://www.flooringinc.com/shop/shop-by-activity/sport-and-court-flooring.html"
3844                                                            title="Sport&#x20;&amp;&#x20;Court&#x20;Flooring"
3845                                                            class="level-2 block">
3846                                                                                                                                <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>   
3847                                                                                                                                                                                        
3848                                                            <span class="block text-sm font-medium no-underline text-darkblack pr-4">Sport &amp; Court Flooring</span></a>
3849                                                        </li>
3850                                                           
3851                                                                                                                                                                    <li class="level-2 w-4/12 pr-6 pb-6">
3852                                                            <a href="https://www.flooringinc.com/shop/shop-by-activity/martial-arts-flooring.html"
3853                                                            title="Martial&#x20;Arts&#x20;Mats&#x20;"
3854                                                            class="level-2 block">
3855                                                                                                                                <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>   
3856                                                                                                                                                                                        
3857                                                            <span class="block text-sm font-medium no-underline text-darkblack pr-4">Martial Arts Mats </span></a>
3858                                                        </li>
3859                                                           
3860                                                                                                                                                                    <li class="level-2 w-4/12 pr-6 pb-6">
3861                                                            <a href="https://www.flooringinc.com/shop/shop-by-activity/cheer-mats.html"
3862                                                            title="Cheer&#x20;Mats"
3863                                                            class="level-2 block">
3864                                                                                                                                <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>   
3865                                                                                                                                                                                        
3866                                                            <span class="block text-sm font-medium no-underline text-darkblack pr-4">Cheer Mats</span></a>
3867                                                        </li>
3868                                                           
3869                                                                                                                                                                    <li class="level-2 w-4/12 pr-6 pb-6">
3870                                                            <a href="https://www.flooringinc.com/shop/shop-by-activity/wrestling-mats.html"
3871                                                            title="Wrestling&#x20;Mats"
3872                                                            class="level-2 block">
3873                                                                                                                                <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>   
3874                                                                                                                                                                                        
3875                                                            <span class="block text-sm font-medium no-underline text-darkblack pr-4">Wrestling Mats</span></a>
3876                                                        </li>
3877                                                           
3878                                                        
3879                                                                                                <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>
3880                                             
3881
3882                                                </ul>
3883                                            </li>
3884                                            
3885                                            
3886                                                                                                                            
3887                                            <li :class="{ 'active': show }" class="level-1 level1 "  x-data="{ show: false }"  
3888                                                                                        x-on:click="show = true; removeDisplayFirst()" @click.away="show = false"
3889                                                                                        >
3890                                                <a 
3891                                                title="Floors&#x20;by&#x20;Space"
3892                                                class="level-1 w-1/4 py-1/5 px-6 text-size13 block text-sm rounded text-darkblack relative"
3893                                                
3894                                                    >
3895                                                    Floors by Space
3896                                                                                                            <span class="inline items-center rotate-180 absolute">
3897                                                            <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">
3898  <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"/>
3899<title>chevron-down</title></svg>
3900                                                        </span>
3901                                                                                                    </a>
3902                                                
3903                                                <ul class="z-10 w-1/2 absolute top-0 level2 flex flex-wrap pt-3 megamenu-extrablock" x-show="show">
3904                                                    <span class="block w-full text-size28 font-medium no-underline text-darkblack pb-2">Floors by Space</span>
3905
3906                                                                                                            <li class="level-2 w-4/12 pr-6 pb-6">
3907                                                            <a href="https://www.flooringinc.com/shop/shop-by-space/kitchen-flooring.html"
3908                                                            title="Kitchen&#x20;Flooring"
3909                                                            class="level-2 block">
3910                                                                                                                                <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>   
3911                                                                                                                                                                                        
3912                                                            <span class="block text-sm font-medium no-underline text-darkblack pr-4">Kitchen Flooring</span></a>
3913                                                        </li>
3914                                                           
3915                                                                                                                                                                    <li class="level-2 w-4/12 pr-6 pb-6">
3916                                                            <a href="https://www.flooringinc.com/shop/shop-by-space/bathroom-flooring.html"
3917                                                            title="Bathroom&#x20;Flooring"
3918                                                            class="level-2 block">
3919                                                                                                                                <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>   
3920                                                                                                                                                                                        
3921                                                            <span class="block text-sm font-medium no-underline text-darkblack pr-4">Bathroom Flooring</span></a>
3922                                                        </li>
3923                                                           
3924                                                                                                                                                                    <li class="level-2 w-4/12 pr-6 pb-6">
3925                                                            <a href="https://www.flooringinc.com/shop/shop-by-space/commercial-flooring.html"
3926                                                            title="Commercial&#x20;Flooring"
3927                                                            class="level-2 block">
3928                                                                                                                                <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>   
3929                                                                                                                                                                                        
3930                                                            <span class="block text-sm font-medium no-underline text-darkblack pr-4">Commercial Flooring</span></a>
3931                                                        </li>
3932                                                           
3933                                                                                                                                                                    <li class="level-2 w-4/12 pr-6 pb-6">
3934                                                            <a href="https://www.flooringinc.com/shop/shop-by-space/gym-flooring.html"
3935                                                            title="Gym&#x20;Flooring"
3936                                                            class="level-2 block">
3937                                                                                                                                <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>   
3938                                                                                                                                                                                        
3939                                                            <span class="block text-sm font-medium no-underline text-darkblack pr-4">Gym Flooring</span></a>
3940                                                        </li>
3941                                                           
3942                                                                                                                                                                    <li class="level-2 w-4/12 pr-6 pb-6">
3943                                                            <a href="https://www.flooringinc.com/shop/shop-by-space/garage-flooring.html"
3944                                                            title="Garage&#x20;Flooring"
3945                                                            class="level-2 block">
3946                                                                                                                                <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>   
3947                                                                                                                                                                                        
3948                                                            <span class="block text-sm font-medium no-underline text-darkblack pr-4">Garage Flooring</span></a>
3949                                                        </li>
3950                                                           
3951                                                                                                                                                                    <li class="level-2 w-4/12 pr-6 pb-6">
3952                                                            <a href="https://www.flooringinc.com/shop/shop-by-space/outdoor-flooring.html"
3953                                                            title="Outdoor&#x20;Flooring"
3954                                                            class="level-2 block">
3955                                                                                                                                <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>   
3956                                                                                                                                                                                        
3957                                                            <span class="block text-sm font-medium no-underline text-darkblack pr-4">Outdoor Flooring</span></a>
3958                                                        </li>
3959                                                           
3960                                                        
3961                                                                                                <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>
3962                                             
3963
3964                                                </ul>
3965                                            </li>
3966                                            
3967                                            
3968                                                                                                                            
3969                                            <li :class="{ 'active': show }" class="level-1 level1 "  x-data="{ show: false }"  
3970                                                                                        x-on:click="show = true; removeDisplayFirst()" @click.away="show = false"
3971                                                                                        >
3972                                                <a 
3973                                                title="Underlayment&#x20;&amp;&#x20;Flooring&#x20;Accessories"
3974                                                class="level-1 w-1/4 py-1/5 px-6 text-size13 block text-sm rounded text-darkblack relative"
3975                                                
3976                                                    >
3977                                                    Underlayment &amp; Flooring Accessories
3978                                                                                                            <span class="inline items-center rotate-180 absolute">
3979                                                            <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">
3980  <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"/>
3981<title>chevron-down</title></svg>
3982                                                        </span>
3983                                                                                                    </a>
3984                                                 
3985                                <div class="2xl:block w-1/4 mega-menu-rightBlock absolute top-0 right-0" x-show="show">
3986                                    <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>
3987                                
3988                                                <ul class="z-10 w-1/2 absolute top-0 level2 flex flex-wrap pt-3 megamenu-extrablock" x-show="show">
3989                                                    <span class="block w-full text-size28 font-medium no-underline text-darkblack pb-2">Underlayment &amp; Flooring Accessories</span>
3990
3991                                                                                                            <li class="level-2 w-4/12 pr-6 pb-6">
3992                                                            <a href="https://www.flooringinc.com/shop/installation-care/adhesives-glue.html"
3993                                                            title="Flooring&#x20;Adhesives&#x20;&amp;&#x20;Glue"
3994                                                            class="level-2 block">
3995                                                                                                                                <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>   
3996                                                                                                                                                                                        
3997                                                            <span class="block text-sm font-medium no-underline text-darkblack pr-4">Flooring Adhesives &amp; Glue</span></a>
3998                                                        </li>
3999                                                           
4000                                                                                                                                                                    <li class="level-2 w-4/12 pr-6 pb-6">
4001                                                            <a href="https://www.flooringinc.com/shop/installation-care/tape.html"
4002                                                            title="Floor&#x20;and&#x20;Mat&#x20;Tape"
4003                                                            class="level-2 block">
4004                                                                                                                                <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>   
4005                                                                                                                                                                                        
4006                                                            <span class="block text-sm font-medium no-underline text-darkblack pr-4">Floor and Mat Tape</span></a>
4007                                                        </li>
4008                                                           
4009                                                                                                                                                                    <li class="level-2 w-4/12 pr-6 pb-6">
4010                                                            <a href="https://www.flooringinc.com/shop/installation-care/accessories.html"
4011                                                            title="Installation&#x20;Accessories"
4012                                                            class="level-2 block">
4013                                                                                                                                <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>   
4014                                                                                                                                                                                        
4015                                                            <span class="block text-sm font-medium no-underline text-darkblack pr-4">Installation Accessories</span></a>
4016                                                        </li>
4017                                                           
4018                                                                                                                                                                    <li class="level-2 w-4/12 pr-6 pb-6">
4019                                                            <a href="https://www.flooringinc.com/shop/installation-care/trims-moldings.html"
4020                                                            title="Floor&#x20;Trims&#x20;&amp;&#x20;Moldings"
4021                                                            class="level-2 block">
4022                                                                                                                                <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>   
4023                                                                                                                                                                                        
4024                                                            <span class="block text-sm font-medium no-underline text-darkblack pr-4">Floor Trims &amp; Moldings</span></a>
4025                                                        </li>
4026                                                           
4027                                                                                                                                                                    <li class="level-2 w-4/12 pr-6 pb-6">
4028                                                            <a href="https://www.flooringinc.com/shop/installation-care/underlayment.html"
4029                                                            title="Flooring&#x20;Underlayment"
4030                                                            class="level-2 block">
4031                                                                                                                                <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>   
4032                                                                                                                                                                                        
4033                                                            <span class="block text-sm font-medium no-underline text-darkblack pr-4">Flooring Underlayment</span></a>
4034                                                        </li>
4035                                                           
4036                                                                                                                                                                    <li class="level-2 w-4/12 pr-6 pb-6">
4037                                                            <a href="https://www.flooringinc.com/shop/installation-care/cleaners.html"
4038                                                            title="Flooring&#x20;Cleaners"
4039                                                            class="level-2 block">
4040                                                                                                                                <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>   
4041                                                                                                                                                                                        
4042                                                            <span class="block text-sm font-medium no-underline text-darkblack pr-4">Flooring Cleaners</span></a>
4043                                                        </li>
4044                                                           
4045                                                        
4046                                                                                                <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>
4047                                             
4048
4049                                                </ul>
4050                                            </li>
4051                                            
4052                                            
4053                                                                                                                            
4054                                            <li :class="{ 'active': show }" class="level-1 level1 "  x-data="{ show: false }"  
4055                                                                                        x-on:click="show = true; removeDisplayFirst()" @click.away="show = false"
4056                                                                                        >
4057                                                <a 
4058                                                title="Specials"
4059                                                class="level-1 w-1/4 py-1/5 px-6 text-size13 block text-sm rounded text-darkblack relative"
4060                                                
4061                                                    >
4062                                                    Specials
4063                                                                                                            <span class="inline items-center rotate-180 absolute">
4064                                                            <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">
4065  <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"/>
4066<title>chevron-down</title></svg>
4067                                                        </span>
4068                                                                                                    </a>
4069                                                
4070                                                <ul class="z-10 w-1/2 absolute top-0 level2 flex flex-wrap pt-3 megamenu-extrablock" x-show="show">
4071                                                    <span class="block w-full text-size28 font-medium no-underline text-darkblack pb-2">Specials</span>
4072
4073                                                                                                            <li class="level-2 w-4/12 pr-6 pb-6">
4074                                                            <a href="https://www.flooringinc.com/shop/specials/hot-buys.html"
4075                                                            title="Flooring&#x20;Deals"
4076                                                            class="level-2 block">
4077                                                                                                                                <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>   
4078                                                                                                                                                                                        
4079                                                            <span class="block text-sm font-medium no-underline text-darkblack pr-4">Flooring Deals</span></a>
4080                                                        </li>
4081                                                           
4082                                                                                                                                                                    <li class="level-2 w-4/12 pr-6 pb-6">
4083                                                            <a href="https://www.flooringinc.com/shop/specials/made-in-usa.html"
4084                                                            title="American&#x20;Made"
4085                                                            class="level-2 block">
4086                                                                                                                                <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>   
4087                                                                                                                                                                                        
4088                                                            <span class="block text-sm font-medium no-underline text-darkblack pr-4">American Made</span></a>
4089                                                        </li>
4090                                                           
4091                                                                                                                                                                    <li class="level-2 w-4/12 pr-6 pb-6">
4092                                                            <a href="https://www.flooringinc.com/shop/specials/quick-ship.html"
4093                                                            title="Quick&#x20;Ship"
4094                                                            class="level-2 block">
4095                                                                                                                                <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>   
4096                                                                                                                                                                                        
4097                                                            <span class="block text-sm font-medium no-underline text-darkblack pr-4">Quick Ship</span></a>
4098                                                        </li>
4099                                                           
4100                                                                                                                                                                    <li class="level-2 w-4/12 pr-6 pb-6">
4101                                                            <a href="https://www.flooringinc.com/shop/specials/new-arrivals.html"
4102                                                            title="New&#x20;Arrivals"
4103                                                            class="level-2 block">
4104                                                                                                                                <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>   
4105                                                                                                                                                                                        
4106                                                            <span class="block text-sm font-medium no-underline text-darkblack pr-4">New Arrivals</span></a>
4107                                                        </li>
4108                                                           
4109                                                                                                            
4110                                                                                                <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>
4111                                             
4112
4113                                                </ul>
4114                                            </li>
4115                                            
4116                                            
4117                                                                                
4118                                                                                    
4119                                                                                            <!--<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>-->
4119
4120                                         
4121                                    </ul>
4122                                </div>
4123                                
4124                            </div>
4125                        </div>
4126                        </template>
4127                                    </div>
4128                        <div class="menu_static_links">
4129                <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>
4130<li><a tabindex="0" href="/shop-by-category/specials/hot-buys.html">Sale</a></li>
4131<li><a tabindex="0" href="/blog">Get Inspired &amp; How To</a></li>
4132</ul></div></div></div>            </div>
4133        </nav>
4134    </div>
4135
4136</div>
4137<script>
4138  'use strict';
4139
4140  const initMenuDesktop_6ac1515521319 = () => {
4141    return {
4142      hoverTopPosition: '100%',
4143      setActiveMenu(menuNode) {
4144        Array.from(menuNode.querySelectorAll('a')).filter(link => {
4145          return link.href === window.location.href.split('?')[0];
4146        }).map(item => {
4147          if (!item.classList.contains('level-0')) {
4148            item.classList.add('underline');
4149          }
4150          item.closest('div.level-0') &&
4151          item.closest('div.level-0').classList.add('border-secondary');
4152        });
4153      }
4154    }
4155  }
4156</script>
vendor: 1 bytes, line 4156
4156
4157<script>
4158    // Function to remove 'display-first' class from other list items
4159    function removeDisplayFirst() {
4160        var listItems = document.querySelectorAll('.level1');
4161        listItems.forEach(function(item) {
4162            if (item.id !== this.id) {
4163                item.classList.remove('display-first');
4164            }
4165        });
4166    }
4167</script>
4167
4168        <!--Search-->
4169        <div class="w-full"
4170             id="search-content"
4171             :class="{ 'block': searchOpen}"  
4172             @click.outside="searchOpen = false"
4173        >
4174            
4175<div class="py-0 px-0 pl-5 mx-auto text-black" x-data="initMirasvitSearch()" @click.away="closeSearch">
4176    <form class="form minisearch relative" id="search_mini_form" action="https://www.flooringinc.com/catalogsearch/result/" method="get" autocomplete="off">
4177        <label class="hidden" for="search" data-role="minisearch-label">
4178            <span>Search</span>
4179        </label>
4180        <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 
4181                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)"/>
4182                <button class="action search absolute">btn</button>
4183    </form>
4184
4185    <div x-cloak x-show="isOpen" id="mirasvitSearchResults" class="search_box transition appearance-none absolute">
4186        <div class="flex flex-row justify-center items-center w-full h-full fixed select-none z-50"
4187     style="left: 50%;top: 50%;transform: translateX(-50%) translateY(-50%);background: rgba(255,255,255,0.7);"
4188     x-show="isLoading"
4189     x-transition:enter="ease-out duration-200"
4190     x-transition:enter-start="opacity-0"
4191     x-transition:enter-end="opacity-100"
4192     x-transition:leave="ease-in duration-200"
4193     x-transition:leave-start="opacity-100"
4194     x-transition:leave-end="opacity-0">
4195    <!-- By Sam Herbert (@sherb), for everyone. More @ http://goo.gl/7AJzbL -->
4196<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 57 57" stroke="currentColor" class="text-primary" width="57" height="57" role="img">
4197    <g fill="none" fill-rule="evenodd">
4198        <g transform="translate(1 1)" stroke-width="2">
4199            <circle cx="5" cy="50" r="5">
4200                <animate attributeName="cy" begin="0s" dur="2.2s" values="50;5;50;50" calcMode="linear" repeatCount="indefinite"/>
4201                <animate attributeName="cx" begin="0s" dur="2.2s" values="5;27;49;5" calcMode="linear" repeatCount="indefinite"/>
4202            </circle>
4203            <circle cx="27" cy="5" r="5">
4204                <animate attributeName="cy" begin="0s" dur="2.2s" from="5" to="5" values="5;50;50;5" calcMode="linear" repeatCount="indefinite"/>
4205                <animate attributeName="cx" begin="0s" dur="2.2s" from="27" to="27" values="27;49;5;27" calcMode="linear" repeatCount="indefinite"/>
4206            </circle>
4207            <circle cx="49" cy="50" r="5">
4208                <animate attributeName="cy" begin="0s" dur="2.2s" values="50;50;5;50" calcMode="linear" repeatCount="indefinite"/>
4209                <animate attributeName="cx" from="49" to="49" begin="0s" dur="2.2s" values="49;5;27;49" calcMode="linear" repeatCount="indefinite"/>
4210            </circle>
4211        </g>
4212    </g>
4213<title>loader</title></svg>
4214    <div class="ml-10 text-primary text-xl">
4215        Loading...    </div>
4216</div>
4217
4218        <template x-if="hotSearch">
4219            <div class="hotSearch">
4220                <p class="text-lg leading-normal transition appearance-none text-grey-800 lg:text-xl border-b border-100 p-2 flex">
4221                    Hot Searches                </p>
4222                <div class="my-3 flex flex-wrap">
4223                                    </div>
4224            </div>
4225        </template>
4226
4227        <template x-if="searchResults">
4228            <div class="search_box_content w-full flex flex-wrap ">
4229                                    <div class="search_box_left relative">
4230                    <p class="product_title text-size20 font-medium text-black">
4231                        Top Results                        <template x-if="searchProducts != ''">
4232                            <small class="text-size16 font-medium text-black hidden">(<span x-html="searchProductsTotal"></span>)</small>
4233                        </template>
4234                    </p>
4235                    <div class="viewAll absolute right-0">
4236                            <div>
4237                                <a x-bind:href="numberResultsUrl">
4238                                    <p class="text-size14 font-normal text-black underline number-results" x-html="numberResults"></p>
4239                                </a>
4240                            </div>
4241                        </div>
4242                    <div class="search_box_left_content lg:grid-cols-6">
4243                        <template x-for="item in searchProducts">
4244                            <div class="search_products flex">
4245                                <a x-bind:href="`${item.url}`" class="">
4246                                    <div class="w-full product-image">
4247                                        <img x-bind:src="`${item.imageUrl}`" width="275" height="182" class="w-full"/>
4248                                    </div>
4249                                </a>    
4250                                    <div class="w-full product-content">
4251                                    <a x-bind:href="`${item.url}`" class=""><h4 class="product-name text-size14 font-medium text-black" x-html="item.name"></h4></a>
4252                                        <template x-if="item.rating > 0">
4253                                            <div class="ratings flex item-center">
4254                                                <div x-html="item.rating"></div>(<span x-html="item.reviews"></span>)
4255                                            </div>
4256                                        </template>
4257                                        <template x-if="item.orderFreeSample > 0">
4258                                        <div x-cloak x-data="{showModal: false, htmlContent: '',pid: item.proId }">
4259                                            <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>
4260                                            <div class="modal order-free-sample-popup z-50" x-show="showModal">
4261                                                <div class="modal-overlay" x-on:click="showModal = false"></div>
4262                                                <button class="closemodal" type="button" x-on:click="showModal = false">Close X</button>
4263                                                <div class="modal-content">    
4264                                                    <div x-html="htmlContent" :class="'htmlcontent' + item.proId"></div>
4265                                                </div>
4266                                            </div>
4267                                        </div>
4268                                        </template>
4269                                        <!-- <p class="mt-2 text-gray-600 text-xs truncate" x-html="item.description"></p> -->
4270                                        <template x-if="item.colorCount > 0"> 
4271                                            <p class="text-size13 font-normal text-black truncate">                                            
4272                                                Available in <span x-html="item.colorCount"></span> colors                                                                                       
4273                                            </p>
4274                                        </template> 
4275                                        <!--<div class="truncate-content">
4276                                            <p class="text-size13 font-normal text-black truncate" x-html="item.dealOfTheMonth"></p>
4277                                            <p class="text-size13 font-normal text-black truncate" x-html="item.freeShipping"></p>
4278                                            <p class="text-size13 font-normal text-black truncate" x-html="item.shipNextDay"></p>
4279                                        </div>-->
4280                                        <div class="price_container flex item-center justify-between">
4281                                            <span class="text-size14 font-semibold text-black" x-html="item.price"></span>
4282                                        </div>
4283                                    </div>
4284                                
4285                            </div>
4286                        </template>
4287                        <template x-if="searchProducts == ''">
4288                            <p>No results found.</p>
4289                        </template>
4290                    </div>
4291                    </div>
4292                                        <div class="results-rightside">
4293                    <template x-if="searchCategories != ''">
4294                        <div class="mb-6 category-rest">
4295                            <p class="categorie-title text-size20 font-medium text-black pb-2">
4296                                In Categories                                <small class="text-size16 font-medium text-black hidden">(<span x-html="searchCategoriesTotal"></span>)</small>
4297                            </p>
4298                            <div class="catgry-list">
4299                                <template x-for="category in searchCategories">
4300                                    <a x-bind:href="`${category.url}`">
4301                                        <div class="text-size14 font-normal text-black">
4302                                            <span class="text-size14 font-normal text-black cursor-pointer" x-html="category.name.split('>').pop().trim()"></span>
4303                                        </div>
4304                                    </a>
4305                                </template>
4306                            </div>
4307                        </div>
4308                    </template>
4309
4310                   <!-- <template x-if="searchPages != ''">
4311                        <div class="mb-6">
4312                            <p class="text-lg leading-normal transition appearance-none text-grey-800 lg:text-xl border-b border-100 p-2 flex">
4313                                Pages                                <small class="text-size16 font-medium text-black">(<span x-html="searchPagesTotal"></span>)</small>
4314                            </p>
4315                            <div class="px-2">
4316                                <template x-for="page in searchPages">
4317                                    <a x-bind:href="`${page.url}`">
4318                                        <div class="my-2 flex flex-wrap">
4319                                            <span class="text-size14 font-normal text-black cursor-pointer" x-html="page.name"></span>
4320                                        </div>
4321                                    </a>
4322                                </template>
4323                            </div>
4324                        </div>
4325                    </template> -->
4326
4327                    <template x-if="searchPosts != ''">
4328                        <div class="search_box_right">
4329                            <p class="blog-title text-size20 font-medium text-black">
4330                                In Blogs                                <!-- <small class="<//?= $titleNumberCSS ?>">(<span x-html="searchPostsTotal"></span>)</small> -->
4331                            </p>
4332                            <div class="search_box_right_content">
4333                                <template x-for="item in searchPosts">
4334                                    <div>
4335                                        <a x-bind:href="`${item.url}`" class="blog-items block">
4336                                            <div>
4337                                                <span class="blog-name text-size14 font-normal text-black" x-html="item.name"></span>
4338                                            </div>
4339                                        </a>
4340                                        <span class="item_description text-size14 font-normal text-black opacity-50 mb-4 block" x-html="item.description"></span>
4341                                    </div>
4342                                </template>
4343                            </div>
4344                        </div>
4345                    </template>
4346                            </div>                
4347                
4348            </div>
4349        </template>
4350
4351        <template x-if="noResults">
4352            <div class="p-2 text-size20 font-medium text-black overflow-hidden">
4353                <p class="text-lg leading-normal transition appearance-none text-grey-800 lg:text-xl" x-html="noResultsText"></p>
4354            </div>
4355        </template>
4356    </div>
4357</div>
4358
4359<script>
4360    function initMirasvitSearch() {
4361        return {
4362            //initialize Variables
4363            hotSearch:             false,
4364            searchResults:         false,
4365            noResults:             false,
4366            isLoading:             false,
4367            isOpen:                false,
4368            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"},
4369            xhttp:                 false,
4370            noResultsText:         '',
4371            numberResults:         '',
4372            numberResultsUrl:      '',
4373            searchProductsTotal:   '',
4374            searchCategoriesTotal: '',
4375            searchPagesTotal:      '',
4376            
4377            searchProducts:   [],
4378            searchCategories: [],
4379            searchPages:      [],
4380            searchPosts:      [],
4381            
4382            searchMap: {
4383                'magento_cms_page':         'Pages',
4384                'magento_catalog_category': 'Categories',
4385                'magento_catalog_product':  'Products',
4386                'magefan_blog_post':        'Posts'
4387            },
4388            
4389            hotSearchClickEvent: function (ev) {
4390                var hotSearchClick = event.currentTarget.innerText;
4391                document.getElementById("search").value = hotSearchClick;
4392
4393                this.doSearch(hotSearchClick);
4394            },
4395            
4396            openSearch: function () {
4397                //this.isOpen = true;
4398                searchValue = document.getElementById("search").value.length;
4399
4400                if (searchValue >= this.blockConfig.minSearchLength) {
4401                    this.hideHotSearch();
4402                } else {
4403                    this.showHotSearch();
4404                    this.hideSearchResults();
4405                }
4406            },
4407            
4408            startSearch: function (e) {
4409                if (e) {
4410                    //this.isOpen = true;
4411                }
4412            },
4413
4414             getSearchresult: function () {
4415                this.isOpen = true;
4416            },
4417            
4418            closeSearch: function () {
4419                this.isOpen = false;
4420            },
4421            
4422            showHotSearch: function () {
4423                this.hotSearch = true;
4424            },
4425            
4426            hideHotSearch: function () {
4427                this.hotSearch = false;
4428               
4429            },
4430            
4431            showSearchResults: function () {
4432                this.searchResults = true;
4433               // this.isOpen = true;
4434            },
4435            
4436            hideSearchResults: function () {
4437                this.searchResults = false;
4438               // this.isOpen = false;
4439            },
4440
4441            showNoResults: function () {
4442                this.noResults = true;
4443            },
4444            
4445            hideNoResults: function () {
4446                this.noResults = false;
4447            },
4448            
4449            setNoResultsText(text) {
4450                if (!text) {
4451                    return;
4452                }
4453                console.log(text);
4454                this.noResultsText = text;
4455                this.isOpen = true;
4456            },
4457
4458            setNumberResults(text) {
4459                this.numberResults = text;
4460            },
4461            
4462            setNumberResultsUrl(text) {
4463                this.numberResultsUrl = text;
4464            },
4465            
4466            resetSearchData: function () {
4467                // Reinitialize Variables to avoid wrong search results.
4468                this.searchPages = [];
4469                this.searchPagesTotal = 0;
4470                this.searchCategories = [];
4471                this.searchCategoriesTotal = 0;
4472                this.searchProducts = [];
4473                this.searchProductsTotal = 0;
4474            },
4475            
4476            doSearch: function (query) {
4477                this.isOpen = false;
4478                var self = this;
4479                // Min search length
4480                if (query.length < this.blockConfig.minSearchLength) {
4481                    this.showHotSearch();
4482                    this.isLoading = false;
4483                    this.hideSearchResults();
4484                    this.hideNoResults();
4485
4486                    return;
4487                } else {
4488                    this.hideHotSearch();
4489                    this.isLoading = true;
4490                    this.showSearchResults();
4491                    this.hideNoResults();
4492                }
4493                
4494                // AJAX for searchautocomplete/ajax/suggest/
4495                if (this.xhttp) {
4496                    try {
4497                        this.xhttp.abort();
4498                    } catch {
4499                        
4500                    }
4501                }
4502                this.xhttp = new XMLHttpRequest();
4503                var xhttp = this.xhttp;
4504                
4505                var queryEncoded = encodeURIComponent(query);
4506                var url = this.blockConfig.url.replace(/\/$/, "") + "/?q=" + queryEncoded + "&store_id=" + this.blockConfig.storeId + "&cat=false";
4507                
4508                xhttp.open("GET", url, true);
4509                xhttp.setRequestHeader("Content-Type", "application/json");
4510                
4511                xhttp.onreadystatechange = function () {
4512                    if (this.readyState === 4 && this.status === 200) {
4513                        
4514                      
4515                        // Response from ajax call in JSON.
4516                        var response = JSON.parse(this.responseText);
4517                        console.log(response);
4518                        self.resetSearchData();
4519                        
4520                        // Product Search Results
4521                        for (index in response.indexes) {
4522                            
4523                            if (response.indexes[index].items.length > 0) {
4524                                self.getSearchresult();
4525                                var res = response.indexes[index];
4526                                var map = null;
4527                                
4528                                if (self.searchMap[res.identifier]) {
4529                                    map = self.searchMap[res.identifier];
4530                                    self['search' + map] = res.items;
4531                                    self['search' + map + 'Total'] = res.totalItems;
4532                                }
4533                            }
4534                        }
4535                        
4536                        // Extract totalItems from response.textAll and format if > 999
4537                        let textAll = response.textAll;
4538                        if (response.textAll) {          
4539                            // Remove the → symbol (or any trailing characters you'd like to remove)
4540                            textAll = textAll.replace(/→$/, '').trim();                  
4541                            // Find number within textAll using regex
4542                            let totalItemsMatch = textAll.match(/\d+/); // Extracts the first number found
4543                            if (totalItemsMatch) {
4544                                let totalItemsFromTextAll = parseInt(totalItemsMatch[0], 10);
4545                                if (totalItemsFromTextAll > 999) {
4546                                    // Format with comma if > 999
4547                                    textAll = textAll.replace(totalItemsMatch[0], totalItemsFromTextAll.toLocaleString());
4548                                }
4549                            }
4550                            console.log("Formatted textAll:", textAll);
4551                            self.setNumberResults(textAll); // Update the UI with the formatted textAll
4552                        }
4553                        
4554                        self.isLoading = false;
4555                        self.hideNoResults();
4556                        self.setNumberResults(textAll);
4557                        self.setNumberResultsUrl(response.urlAll);
4558                        
4559                        if (response.noResults) {console.log(response.textEmpty);
4560                            self.showNoResults();
4561                            self.setNoResultsText(response.textEmpty);
4562                            self.hideSearchResults();
4563                            
4564                        }
4565                    }else{
4566                       this.isOpen = false;  
4567                    }
4568                };
4569
4570                xhttp.send();
4571            }
4572        }
4573    }
4574</script>
4574         </div>
4575
4576        <div class="flex items-center order-3"> 
4577            <!--Compare Icon-->
4578            <a id="compare-link"
4579               class="relative invisible inline-block mx-1 no-underline sm:ml-3 hover:text-black"
4580               :class="{ 'invisible': !(itemCount > 0) }"
4581               href="https://www.flooringinc.com/catalog/product_compare/index/"
4582               title="Compare Products"
4583               x-data="initCompareHeader()"
4584               @private-content-loaded.window="receiveCompareData($event.detail.data)"
4585            >
4586                <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">
4587  <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"/>
4588<title>scale</title></svg>
4589
4590                <span class="sr-only label">
4591                   Compare Products                </span>
4592
4593                <span class="absolute top-0 right-0 h-5 px-2 py-1 -mt-5 -mr-4 text-xs font-semibold
4594                    leading-none text-center text-white uppercase transform -translate-x-1
4595                    translate-y-1/2 bg-yellow-500 rounded-full"
4596                >
4597                    <span x-text="itemCount"></span>
4598                    <span x-show="itemCount === 1" class="sr-only">
4599                        item                    </span>
4600                    <span x-show="itemCount > 1" class="sr-only">
4601                        items                    </span>
4602                </span>
4603            </a>
4604
4605            <!--Search Icon-->
4606            <button id="menu-search-icon"
4607                    class="inline-block ml-1 no-underline sm:ml-3 hover:text-black hidden"
4608                    @click.prevent="
4609                        searchOpen = !searchOpen;
4610                        $nextTick(function () { document.querySelector('#search').select(); });
4611                    "
4612            >
4613                <span class="sr-only label">
4614                    Search                </span>
4615
4616                <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">
4617  <path stroke-linecap="round" stroke-linejoin="round" d="M21 21l-6-6m2-5a7 7 0 11-14 0 7 7 0 0114 0z"/>
4618<title>search</title></svg>
4619            </button>
4620
4621            <!--Customer Icon & Dropdown-->
4622            
4622<script>
4623"use strict";
4624
4625function initComponent() {
4626  return {
4627    cart: false,
4628    customer: false,
4629    receiveCustomerData(data) {
4630      if (data.cart) {
4631        this.cart = data.cart;
4632      }
4633      if (data.customer) {
4634        this.customer = data.customer;
4635      }
4636    }
4637  }
4638}
4639</script>
4639
4640
4641
4642<div x-data="{ open: false }" class="relative inline-block acc-dropdown">
4643        <div class="arrow-cus">
4644        <a
4645        href="https&#x3A;&#x2F;&#x2F;www.flooringinc.com&#x2F;customer&#x2F;account&#x2F;"
4646        id="customer-menu"
4647        class="block hover:text-black "
4648                    @click.prevent="$dispatch('popup-register',
4649                { open: true,openRegister : false,openLogin : true,openCreate :true,
4650                openButtonLogin :true,
4651                openButtonRegister :false,
4652            })"
4653                :aria-expanded="open ? 'true' : 'false'"
4654        aria-label="My&#x20;Account"
4655    >
4656            <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="currentColor"
4657             class="w-8 h-8 md:h-6 md:w-6" aria-hidden="true">
4658            <circle fill="none" cx="12" cy="7" r="3"></circle>
4659            <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
4660                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
4661                0-7 3.141-7 7v1h2v-1c0-2.757 2.243-5 5-5h4c2.757 0 5 2.243 5 5v1H21z">
4662            </path>
4663        </svg>
4664           
4665    </a>
4666        </div>
4667            <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
4668        shadow-lg sm:w-48 lg:mt-3 bg-container-lighter"
4669         :class="{ 'hidden' : !open }"
4670         @click.outside="open = false"
4671         x-cloak x-show="open"
4672         aria-labelledby="customer-menu"
4673    >
4674                    
4675<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"
4676   onclick="hyva.setCookie && hyva.setCookie(
4677       'login_redirect',
4678       window.location.href,
4679       1
4680   )"
4681   href="https://www.flooringinc.com/customer/account/index/">
4682        Sign In    </a>
4683<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"
4684   href="https://www.flooringinc.com/customer/account/create/"
4685   title=""
4686   >
4687        Create an Account    </a>
4688            </nav>
4689</div>
4690            <!--Quote Cart Icon (show when activeCartType is 'quote' and quote has items)-->
4691            <template x-if="activeCartType === 'quote' && quoteCart.summary_count">
4692            <a id="menu-cart-quote-icon"
4693               class="relative inline-block ml-1 no-underline sm:ml-3 hover:text-black pl-3"
4694               :class="{
4695                        'hidden': !(activeCartType === 'quote' && quoteCart.summary_count),
4696                        'block': activeCartType === 'quote' && quoteCart.summary_count }"
4697               href="https://www.flooringinc.com/amasty_quote/cart/"
4698            >
4699             <span class="checkout-icon">
4700                <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">
4701  <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"/>
4702<title>shopping-cart</title></svg>
4703                </span>
4704                 <span x-text="quoteCart.summary_count"
4705                      class="absolute top-0 right-0 h-5 px-2 py-1 -mt-5 -mr-4 text-xs font-semibold
4706                        leading-none text-center text-white uppercase transform -translate-x-1
4707                        translate-y-1/2 rounded-full bg-primary"
4708                      :class="{
4709                        'hidden': !quoteCart.summary_count,
4710                        'block': quoteCart.summary_count }"
4711                ></span>
4712            </a>
4713            </template>
4714            <!--Regular Cart Icon (show when activeCartType is 'cart' or when quote mode but quote empty - always show an icon)-->
4714
4715            <a id="menu-cart-icon"
4716               x-show="activeCartType === 'cart' || (activeCartType === 'quote' && !quoteCart.summary_count)"
4717               @click.prevent.stop="$dispatch('toggle-cart',{});"               class="relative inline-block ml-6 no-underline hover:text-black"
4718               href="https://www.flooringinc.com/checkout/cart/index/"
4719            >
4720                <span class="sr-only label">
4721                    Cart                </span>
4722
4723                <span class="cart-icon">
4724                    <img src="https://www.flooringinc.com/static/version1789462004/frontend/Dcw/hyvadesktop/en_US/images/cart-icon.svg" alt="cart-icon" width="24" height="24">
4725                    <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>
4726                </span>
4727
4728                <span x-text="cart.summary_count"
4729                      class="absolute top-0 right-0 h-5 px-2 py-1 -mt-5 -mr-4 text-xs font-semibold
4730                        leading-none text-center text-white uppercase transform -translate-x-1
4731                        translate-y-1/2 rounded-full bg-primary"
4732                      :class="{
4733                        'hidden': !cart.summary_count,
4734                        'block': cart.summary_count }"
4735                ></span>
4736            </a>
4737
4738        </div>
4739    </div>
4740
4741    <!--Cart Drawer-->
4742    
4742<script>
4743    function initCartDrawer() {
4744        return {
4745            open: false,
4746            isLoading: false,
4747            cart: {},
4748            maxItemsToDisplay: 10,
4749            itemsCount: 0,
4750            totalCartAmount: 0,
4751            getData(data) {
4752                if (data.cart) {
4753                    this.cart = data.cart;
4754                    this.itemsCount = data.cart.items && data.cart.items.length || 0;
4755                    this.totalCartAmount = this.cart.summary_count; 
4756                    //this.cart.summary_count = this.itemsCount;
4757                    this.setCartItems();
4758                } 
4759                this.isLoading = false;
4760            },
4761            cartItems: [],
4762            getItemCountTitle() {
4763                return hyva.strf('(%0 of %1)', this.maxItemsToDisplay, this.totalCartAmount)
4764            },
4765            setCartItems() {
4766                if(this.cart.items){
4767                this.cartItems = this.cart.items && this.cart.items.sort((a, b) => b.item_id - a.item_id) || [];
4768                } else {
4769                    this.cartItems = [];
4770                }
4771                if (this.maxItemsToDisplay > 0) {
4772                    this.cartItems = this.cartItems.slice(0, parseInt(this.maxItemsToDisplay, 10));
4773                }
4774                getCustomerData(['customer'], function(data) {
4775                if(data.messages.messages[0]){
4776                var messagesType = data.messages.messages[0].type;
4777                var messagesText = data.messages.messages[0].text;
4778                if(messagesType === "success"){
4779                    dispatchMessages([
4780                    {
4781                        type: messagesType,
4782                        text: messagesText
4783                    }
4784                    ]);
4785                        this.openCartDrawer();
4786                } else {
4787                    dispatchMessages([
4788                    {
4789                        type: messagesType,
4790                        text: messagesText
4791                    }
4792                    ]);
4793                }
4794                }
4795                window.dispatchEvent(new CustomEvent('amcart-loading-stop'));
4796                });             
4797                
4798                if(document.querySelectorAll('.btn_cart')) {
4799                    var addtocartnew = document.querySelectorAll('.btn_cart');
4800
4801                    addtocartnew.forEach(addtocartnew => {
4802                      addtocartnew.addEventListener('click', () => {
4803                        setTimeout(() => {
4804                        }, 2500); 
4805                      });
4806                    });
4807                }
4808                if(document.getElementById('product-addtocart-button')) {
4809                    var addtocartnew2 = document.getElementById('product-addtocart-button');
4810                    
4811                    addtocartnew2.addEventListener('click', () => {
4812                        setTimeout(() => {
4813                        }, 2500); 
4814                    });
4815                }
4816
4817               
4818            },
4819            deleteItemFromCart(itemId) {
4820                this.isLoading = true;
4821
4822                const formKey = hyva.getFormKey();
4823                const postUrl = BASE_URL + 'amasty_quote/quote/removeFromMinicart';
4824                fetch(postUrl, {
4825                    "headers": {
4826                        "content-type": "application/x-www-form-urlencoded; charset=UTF-8",
4827                    },
4828                    "body": "form_key=" + formKey + "&item_id=" + itemId,
4829                    "method": "POST",
4830                    "mode": "cors",
4831                    "credentials": "include"
4832                }).then(response => {
4833                    window.location.href = window.location.pathname; // Reload the page after item remove
4834                    if (response.redirected) {
4835                        window.location.href = response.url;
4836                    } else if (response.ok) {
4837                        return response.json();
4838                    } else {
4839                        window.dispatchMessages && window.dispatchMessages([{
4840                            type: 'warning',
4841                            text: 'Could\u0020not\u0020remove\u0020item\u0020from\u0020quote.'
4842                        }]);
4843                        this.isLoading = false;
4844                    }
4845                }).then(result => {
4846                    window.dispatchMessages && window.dispatchMessages([{
4847                        type: result.success ? 'success' : 'error',
4848                        text: result.success
4849                            ? 'You\u0020removed\u0020the\u0020item.'
4850                            : result.error_message
4851                    }], result.success ? 5000 : 0)
4852                    window.dispatchEvent(new CustomEvent('reload-customer-section-data'));
4853                });
4854            },
4855            toggleCartDrawer(event) {
4856                if (event.detail && event.detail.isOpen !== undefined) {
4857                    if (event.detail.isOpen) {
4858                        this.openCartDrawer()
4859                    } else {
4860                        this.open = false
4861                        this.$refs && this.$refs.cartDialogContent && hyva.releaseFocus(this.$refs.cartDialogContent)
4862                    }
4863                } else {
4864                                        this.openCartDrawer()
4865                }
4866            },
4867            openCartDrawer() {
4868                this.open = true;
4869                this.$nextTick(() => {
4870                    this.$refs && this.$refs.cartDialogContent && hyva.trapFocus(this.$refs.cartDialogContent)
4871                })
4872            },
4873            closeCartDrawer() {
4874                this.$dispatch('toggle-cart', { isOpen: false })
4875            }
4876        }
4877    }
4878    function getCustomerData(sections, callback) {
4879          fetch('/customer/section/load/?sections=')
4880            .then(response => response.json())
4881            .then(data => callback(data))
4882            .catch(error => console.error('Error fetching customer data:', error));
4883        }
4884</script>
4884
4885<section x-cloak
4886         x-show="cart"
4887         id="cart-drawer"
4888         x-data="initCartDrawer()"
4889         @private-content-loaded.window="getData($event.detail.data)"
4890         @toggle-cart.window="toggleCartDrawer($event)"
4891         @keydown.window.escape="closeCartDrawer"
4892>
4893        <div role="dialog"
4894             aria-labelledby="cart-drawer-title"
4895             aria-modal="true"
4896             @click.outside="open=false"
4897             class="fixed inset-y-0 right-0 z-30 flex max-w-full">
4898            <div class="backdrop"
4899                 x-show="open"
4900                 x-transition:enter="ease-in-out duration-500"
4901                 x-transition:enter-start="opacity-0"
4902                 x-transition:enter-end="opacity-100"
4903                 x-transition:leave="ease-in-out duration-500"
4904                 x-transition:leave-start="opacity-100"
4905                 x-transition:leave-end="opacity-0"
4906             role="button"
4907             @click="closeCartDrawer"
4908             aria-label="Close&#x20;minicart"></div>
4909            <div class="relative w-screen max-w-md shadow-2xl"
4910                 x-show="open"
4911                 x-transition:enter="transform transition ease-in-out duration-500 sm:duration-700"
4912                 x-transition:enter-start="translate-x-full"
4913                 x-transition:enter-end="translate-x-0"
4914                 x-transition:leave="transform transition ease-in-out duration-500 sm:duration-700"
4915                 x-transition:leave-start="translate-x-0"
4916                 x-transition:leave-end="translate-x-full"
4917            >
4918                <div
4919                    x-show="open"
4920                    x-transition:enter="ease-in-out duration-500"
4921                    x-transition:enter-start="opacity-0"
4922                    x-transition:enter-end="opacity-100"
4923                    x-transition:leave="ease-in-out duration-500"
4924                    x-transition:leave-start="opacity-100"
4925                    x-transition:leave-end="opacity-0" class="absolute top-0 right-0 flex pr-6 pt-19">
4926                    <button @click="open=false" aria-label="Close panel"
4927                            class="p-0 text-black transition duration-150 ease-in-out hover:text-black">
4928                        <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">
4929  <path stroke-linecap="round" stroke-linejoin="round" d="M6 18L18 6M6 6l12 12"/>
4930<title>x</title></svg>
4931                    </button>
4932                </div>
4933                <div class="flex flex-col h-full bg-lightblue">
4934                    
4935                    <header class="px-4 pt-19 pb-6">
4936                        <h2 id="cart-drawer-title" class="text-size18 font-medium text-black">
4937                        <template x-if="!itemsCount">
4938                            <div>My Cart</div></template>
4939<template x-if="itemsCount">
4940                            <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>
4941</template>
4942                            <span class="items-total text-xs text-black"
4943                                  x-show="maxItemsToDisplay && maxItemsToDisplay < itemsCount"
4944                                  x-text="getItemCountTitle()">
4945                            </span>
4946                        </h2>
4947                    </header>
4948
4949                    
4950<template x-if="!itemsCount">
4951                    <div class="relative px-4 py-6 border-bs sm:px-6 border-container">
4952                        Cart is empty                    </div>
4953                </template>
4954                    <div class="relative grid overflow-y-auto overflow-x-hidden bg-lightblue cart-items">
4955                        <template x-for="item in cartItems">
4956                            <div class="flex items-start cart-item px-4 pt-5 pb-6 transition duration-150
4957                                ease-in-out">
4958                                <template x-if="!item.product_has_url">
4959                                    <a :href="item.product_url" class="w-1/4 pr-6 image">
4960                                        <img
4961                                            :src="item.product_image.src"
4962                                            :width="item.product_image.width"
4963                                            :height="item.product_image.height"
4964                                            loading="lazy"
4965                                        />
4966                                    </a>
4967                                </template>
4968                                <template x-if="item.product_has_url == 1">
4969                                    <a :href="item.product_url" class="w-1/4 pr-6 image">
4970                                        <img
4971                                            :src="item.product_image.src"
4972                                            :width="item.product_image.width"
4973                                            :height="item.product_image.height"
4974                                            loading="lazy"
4975                                        />
4976                                    </a>
4977                                </template>
4978                                <div class="w-3/4">
4979                                    <div>
4980                                        <template x-if="!item.product_has_url">
4981                                            <a :href="item.product_url" class="prosku">
4982                                                <p><span class="product-title text-size16 font-semibold text-darkblack" x-html="item.product_name"></span></p>
4983                                            </a>
4984                                        </template>
4985                                        <template x-if="item.product_has_url == 1">
4986                                            <a :href="item.product_url" class="prosku">
4987                                                <p><span class="product-title text-size16 font-semibold text-darkblack" x-html="item.product_name"></span></p>
4988                                            </a>
4989                                        </template>
4990                                    </div>
4991                                    <template x-for="option in item.options">
4992                                    <div class="flex pt-2 pb-1 item-options w-full"
4993                                    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)">
4994                                            <div class="flex w-full">
4995                                                <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>
4996                                                <template x-if="!item.product_has_url">
4997                                                    <a :href="item.product_url" 
4998                                                    x-show="item.product_type !== 'grouped' && option.label != 'Configurable Product Image'"
4999                                                    class="inline-flex"><p class="pl-1 text-size14 font-normal text-black" x-html="option.value"></p></a>
5000                                                </template>
5001                                                <template x-if="item.product_has_url == 1">
5002                                                    <a :href="item.product_url"
5003                                                    x-show="item.product_type !== 'grouped' && option.label != 'Configurable Product Image'"
5004                                                    class="inline-flex"><p class="pl-1 text-size14 font-normal text-black" x-html="option.value"></p></a>
5005                                                </template>
5006                                            </div>
5007                                        </div>
5008                                    </template>
5009                                    <p class="pb-4 pt-1"><span x-html="item.product_price" class="text-size20 font-bold text-custom-blue pricebox"></span></p>
5010                                    <div class="text-xl flex qty-fields items-center">
5011                                        <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>
5012                                        <div class="ml-auto">                                            
5013                                            <button 
5014                                                    @click="deleteItemFromCart(item.item_id)"
5015                                            >
5016                                                <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>
5017                                            </button>
5018                                        </div>
5019                                    </div>                                   
5020
5021                                </div>
5022                            </div>
5023                        </template>
5024                    </div>
5025<template x-if="itemsCount">
5026                    
5027                    <div class="relative bg-lightblue grid pt-3 pb-4">
5028                        <div class="w-full transition duration-150 ease-in-out sub-total">
5029                            <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>
5030                        </div>
5031                        
5032                        <div class="w-full transition duration-150 ease-in-out
5033                            chekout-btn">                            
5034                            <a href="https://www.flooringinc.com/checkout/cart/"
5035                               class="no-underline block relative font-medium text-size16 text-custom-white bg-custom-blue">
5036                                Proceed to Cart                            </a>
5037                        </div>
5038                                            </div>
5039</template>
5040                                    </div>
5041            </div>
5042            <div class="flex flex-row justify-center items-center w-full h-full fixed select-none z-50"
5043     style="left: 50%;top: 50%;transform: translateX(-50%) translateY(-50%);background: rgba(255,255,255,0.7);"
5044     x-show="isLoading"
5045     x-transition:enter="ease-out duration-200"
5046     x-transition:enter-start="opacity-0"
5047     x-transition:enter-end="opacity-100"
5048     x-transition:leave="ease-in duration-200"
5049     x-transition:leave-start="opacity-100"
5050     x-transition:leave-end="opacity-0">
5051    <!-- By Sam Herbert (@sherb), for everyone. More @ http://goo.gl/7AJzbL -->
5052<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 57 57" stroke="currentColor" class="text-primary" width="57" height="57" role="img">
5053    <g fill="none" fill-rule="evenodd">
5054        <g transform="translate(1 1)" stroke-width="2">
5055            <circle cx="5" cy="50" r="5">
5056                <animate attributeName="cy" begin="0s" dur="2.2s" values="50;5;50;50" calcMode="linear" repeatCount="indefinite"/>
5057                <animate attributeName="cx" begin="0s" dur="2.2s" values="5;27;49;5" calcMode="linear" repeatCount="indefinite"/>
5058            </circle>
5059            <circle cx="27" cy="5" r="5">
5060                <animate attributeName="cy" begin="0s" dur="2.2s" from="5" to="5" values="5;50;50;5" calcMode="linear" repeatCount="indefinite"/>
5061                <animate attributeName="cx" begin="0s" dur="2.2s" from="27" to="27" values="27;49;5;27" calcMode="linear" repeatCount="indefinite"/>
5062            </circle>
5063            <circle cx="49" cy="50" r="5">
5064                <animate attributeName="cy" begin="0s" dur="2.2s" values="50;50;5;50" calcMode="linear" repeatCount="indefinite"/>
5065                <animate attributeName="cx" from="49" to="49" begin="0s" dur="2.2s" values="49;5;27;49" calcMode="linear" repeatCount="indefinite"/>
5066            </circle>
5067        </g>
5068    </g>
5069<title>loader</title></svg>
5070    <div class="ml-10 text-primary text-xl">
5071        Loading...    </div>
5072</div>
5073        </div>
5074    </template>
5075</section>
5076
5077    <!--Authentication Pop-Up-->
5078    
5078<script>
5079    function initAuthentication() {
5080        return {
5081            open: false,
5082            forceAuthentication: false,
5083            checkoutUrl: 'https://www.flooringinc.com/checkout/index/',
5084            errors: 0,
5085            hasCaptchaToken: 0,
5086            displayErrorMessage: false,
5087            errorMessages: [],
5088            setErrorMessages: function setErrorMessages(messages) {
5089                this.errorMessages = [messages];
5090                this.displayErrorMessage = this.errorMessages.length;
5091            },
5092            submitForm: function () {
5093                // Do not rename $form, the variable is expected to be declared in the recaptcha output
5094                const $form = document.querySelector('#login-form-new');
5095                
5096                if (this.errors === 0) {
5097                    this.dispatchLoginRequest($form);
5098                }
5099            },
5100            onPrivateContentLoaded: function (data) {
5101                const isLoggedIn = data.customer && data.customer.firstname;
5102                if (data.cart && !isLoggedIn) {
5103                    this.forceAuthentication = !data.cart.isGuestCheckoutAllowed;
5104                }
5105            },
5106            redirectIfAuthenticated: function (event) {
5107                if (event.detail && event.detail.url) {
5108                    this.checkoutUrl = event.detail.url;
5109                }
5110                if (!this.forceAuthentication) {
5111                    window.location.href = this.checkoutUrl;
5112                }
5113            },
5114            dispatchLoginRequest: function(form) {
5115                this.isLoading = true;
5116                const username = this.$refs['customer-email'].value;
5117                const password = this.$refs['customer-password'].value;
5118                const formKey = hyva.getFormKey();
5119                const bodyFields = {
5120                    'username': username,
5121                    'password': password,
5122                    'formKey': formKey
5123                };
5124                                const fieldName = 'g\u002Drecaptcha\u002Dresponse';
5125                const recaptchaField = fieldName && form[fieldName];
5126                if (recaptchaField) {
5127                    bodyFields[fieldName] = recaptchaField.value;
5128                }
5129                fetch('https://www.flooringinc.com/customer/ajax/login/', {
5130                        method: 'POST',
5131                        headers: {
5132                            'Content-Type': 'application/json',
5133                            'X-Requested-With': 'XMLHttpRequest'
5134                        },
5135                        body: JSON.stringify(bodyFields)
5136                    }
5137                ).then(response => {
5138                        return response.json()
5139                    }
5140                ).then(data=> {
5141                    this.isLoading = false;
5142                    if (data.errors) {
5143                        dispatchMessages([{
5144                            type: 'error',
5145                            text: data.message
5146                        }], 5000);
5147                        this.errors = 1;
5148                        this.hasCaptchaToken = 0;
5149                    } else {
5150                        window.location.href = this.checkoutUrl;
5151                    }
5152                });
5153            }
5154        }
5155    }
5156</script>
5156
5157<section id="authentication-popup"
5158         x-data="initAuthentication()"
5159         @private-content-loaded.window="onPrivateContentLoaded($event.detail.data)"
5160         @toggle-authentication.window="open = forceAuthentication; redirectIfAuthenticated(event)"
5161         @keydown.window.escape="open = false"
5162>
5163        <div role="dialog"
5164             aria-modal="true"
5165             @click.outside="open = false"
5166             class="inset-y-0 right-0 z-30 flex max-w-full"
5167             :class="{'fixed': open }" x-cloak x-show="open"
5168        >
5169            <div class="relative w-screen max-w-md pt-16 bg-container-lighter"
5170                 x-show="open"
5171                 x-cloak=""
5172                 x-transition:enter="transform transition ease-in-out duration-500 sm:duration-700"
5173                 x-transition:enter-start="translate-x-full"
5174                 x-transition:enter-end="translate-x-0"
5175                 x-transition:leave="transform transition ease-in-out duration-500 sm:duration-700"
5176                 x-transition:leave-start="translate-x-0"
5177                 x-transition:leave-end="translate-x-full"
5178            >
5179                <div
5180                    x-show="open"
5181                    x-cloak=""
5182                    x-transition:enter="ease-in-out duration-500"
5183                    x-transition:enter-start="opacity-0"
5184                    x-transition:enter-end="opacity-100"
5185                    x-transition:leave="ease-in-out duration-500"
5186                    x-transition:leave-start="opacity-100"
5187                    x-transition:leave-end="opacity-0" class="absolute top-0 right-0 flex p-2 mt-2">
5188                    <button @click="open = false;" aria-label="Close panel"
5189                            class="p-2 text-gray-300 transition duration-150 ease-in-out hover:text-black">
5190                        <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">
5191  <path stroke-linecap="round" stroke-linejoin="round" d="M6 18L18 6M6 6l12 12"/>
5192<title>x</title></svg>
5193                    </button>
5194                </div>
5195                <div class="flex flex-col h-full py-6 space-y-6 bg-white shadow-xl overflow-y-auto">
5196                    <div class="block-customer-login bg-container border border-container mx-4 p-4 shadow-sm">
5197                        <p id="authenticate-customer-login" class="text-lg leading-7 text-gray-900">
5198                            <strong class="font-medium">Checkout using your account</strong>
5199                        </p>
5200
5201                        <form class="form form-login"
5202                              method="post"
5203                              @submit.prevent="submitForm();"
5204                              id="login-form-new"
5205                        >
5206                                                        <div class="fieldset login">
5207                                <div class="field email required">
5208                                    <label class="label" for="form-login-username" form="login-form" >
5209                                        <span>Email Address</span>
5210                                    </label>
5211                                    <div class="control">
5212                                        <input name="username"
5213                                               id="form-login-username"
5214                                               x-ref="customer-email"
5215                                               @change="errors = 0"
5216                                               type="email"
5217                                               required
5218                                               class="form-input input-text"
5219                                        >
5220                                    </div>
5221                                </div>
5222                                <div class="field password required">
5223                                    <label for="form-login-password" class="label" form="login-form">
5224                                        <span>Password</span>
5225                                    </label>
5226                                    <div class="control">
5227                                        <input name="password"
5228                                               id="form-login-password"
5229                                               type="password"
5230                                               class="form-input input-text"
5231                                               required
5232                                               x-ref="customer-password"
5233                                               @change="errors = 0"
5234                                        >
5235                                    </div>
5236                                </div>
5237
5238                                <input name="context" type="hidden" value="checkout" />
5239                                <div class="actions-toolbar flex justify-between pt-6 pb-2 items-center">
5240                                    <button type="submit"                                            class="inline-flex btn btn-primary disabled:opacity-75"
5241                                    >
5242                                        Sign In                                    </button>
5243                                    <a href="https://www.flooringinc.com/customer/account/forgotpassword/"
5244                                    >
5245                                        Forgot Your Password?                                    </a>
5246                                </div>
5247
5248                            </div>
5249                        </form>
5250                    </div>
5251                    <div class="mx-4">
5252                                            </div>
5253                    <div class="block-new-customer bg-container border border-container mx-4 p-4 shadow-sm">
5254                        <p id="authenticate-new-customer" class="text-lg mb-2 leading-7 text-gray-900">
5255                            <strong class="font-medium">Checkout as a new customer</strong>
5256                        </p>
5257
5258                        <div class="block-content">
5259                            <p class="mb-1">
5260                                Creating an account has many benefits:                            </p>
5261                            <ul class="list-disc pl-5">
5262                                <li> See order and shipping status</li>
5263                                <li> Track order history</li>
5264                                <li> Check out faster</li>
5265                            </ul>
5266                            <div class="actions-toolbar flex justify-between mt-6 mb-2 items-center">
5267                                <a href="https://www.flooringinc.com/customer/account/create/"
5268                                   class="inline-flex btn btn-primary">
5269                                    Create an Account                                </a>
5270                            </div>
5271                        </div>
5272                    </div>
5273                </div>
5274            </div>
5275        </div>
5276</section>
5277
5278    <!--Cart Quote Drawer-->
5279    
5279<script>
5280    function initQuoteCartDrawer() {
5281        return {
5282            open: false,
5283            cartData: {},
5284            getQuoteCartData(data) {
5285                if (data.quotecart) {
5286                    this.cartData = data.quotecart
5287                    this.setCartItems();
5288                }
5289            },
5290            cartItems: [],
5291            setCartItems() {
5292                this.cartItems = this.cartData && this.cartData.items.sort(function(a,b) { return a.item_id - b.item_id }) || {}
5293            },
5294            deleteItemFromCart(itemId) {
5295                var formKey = document.querySelector('input[name=form_key]').value;
5296                fetch(BASE_URL+"amasty_quote/sidebar/removeItem/", {
5297                    "headers": {
5298                        "content-type": "application/x-www-form-urlencoded; charset=UTF-8",
5299                    },
5300                    "body": "form_key="+ formKey + "&item_id="+itemId,
5301                    "method": "POST",
5302                    "mode": "cors",
5303                    "credentials": "include"
5304                }).then(function (response) {
5305                    if (response.redirected) {
5306                        window.location.href = response.url;
5307                    } else if (response.ok) {
5308                        return response.json();
5309                    } else {
5310                        typeof window.dispatchMessages !== "undefined" && window.dispatchMessages(
5311                            [{
5312                                type: "warning",
5313                                text: "Could not remove item from quote."
5314                            }], 5000
5315                        );
5316                    }
5317                }).then(function (response) {
5318                    typeof window.dispatchMessages !== "undefined" && window.dispatchMessages(
5319                        [{
5320                            type: response.success ? "success" : "error",
5321                            text: response.success
5322                                ? "You removed the item."
5323                                : response.error_message
5324                        }], 5000
5325                    );
5326                    var reloadCustomerDataEvent = new CustomEvent("reload-customer-section-data");
5327                    window.dispatchEvent(reloadCustomerDataEvent);
5328                });
5329            }
5330        }
5331    }
5332</script>
5332
5333<section id="cart-quote-drawer"
5334         x-data="initQuoteCartDrawer()"
5335         @private-content-loaded.window="getQuoteCartData(event.detail.data)"
5336         @toggle-quote-cart.window="open=true;"
5337         @keydown.window.escape="open=false"
5338>
5339    <template x-if="cartData && cartData.summary_count">
5340        <div role="dialog"
5341             aria-labelledby="cart-drawer-title"
5342             aria-modal="true"
5343             @click.away="open = false"
5344             class="fixed inset-y-0 right-0 z-30 flex max-w-full">
5345            <div class="backdrop"
5346                 x-show="open"
5347                 x-transition:enter="ease-in-out duration-500"
5348                 x-transition:enter-start="opacity-0"
5349                 x-transition:enter-end="opacity-100"
5350                 x-transition:leave="ease-in-out duration-500"
5351                 x-transition:leave-start="opacity-100"
5352                 x-transition:leave-end="opacity-0"
5353                 @click="open = false"
5354                 aria-label="Close panel"></div>
5355            <div class="relative w-screen max-w-md shadow-2xl"
5356                 x-show="open"
5357                 x-transition:enter="transform transition ease-in-out duration-500 sm:duration-700"
5358                 x-transition:enter-start="translate-x-full"
5359                 x-transition:enter-end="translate-x-0"
5360                 x-transition:leave="transform transition ease-in-out duration-500 sm:duration-700"
5361                 x-transition:leave-start="translate-x-0"
5362                 x-transition:leave-end="translate-x-full"
5363            >
5364                <div
5365                    x-show="open"
5366                    x-transition:enter="ease-in-out duration-500"
5367                    x-transition:enter-start="opacity-0"
5368                    x-transition:enter-end="opacity-100"
5369                    x-transition:leave="ease-in-out duration-500"
5370                    x-transition:leave-start="opacity-100"
5371                    x-transition:leave-end="opacity-0" class="absolute top-0 right-0 flex mr-3 mt-2">
5372                    <button @click="open = false" aria-label="Close panel"
5373                            class="p-2 text-gray-300 transition duration-150 ease-in-out hover:text-black">
5374                        <svg class="w-6 h-6" fill="none" viewBox="0 0 24 24" stroke="currentColor">
5375                            <path stroke-linecap="round" stroke-linejoin="round"
5376                                  stroke-width="2" d="M6 18L18 6M6 6l12 12">
5377                            </path>
5378                        </svg>
5379                    </button>
5380                </div>
5381                <div class="flex flex-col h-full py-6 space-y-6 bg-white shadow-xl">
5382                    <header class="px-4 sm:px-6">
5383                        <div id="cart-drawer-title" class="text-lg font-medium leading-7 text-gray-900">
5384                            My Quote Cart                        </div>
5385                    </header>
5386                    <div class="relative grid gap-6 px-4 py-6 overflow-y-auto bg-white border-b
5387                        sm:gap-8 sm:px-6 border-container">
5388                        <template x-for="item in cartItems">
5389                            <div class="flex items-start p-3 -m-3 space-x-4 transition duration-150
5390                                ease-in-out rounded-lg hover:bg-gray-100">
5391                                <a :href="item.product_url" class="w-1/4">
5392                                    <img
5393                                        :src="item.product_image.src"
5394                                        :width="item.product_image.width"
5395                                        :height="item.product_image.height"
5396                                        loading="lazy"
5397                                    />
5398                                </a>
5399                                <div class="w-3/4 relative">
5400                                    <div>
5401                                        <div class="text-xl">
5402                                            <a :href="item.product_url" class="hover:underline">
5403                                                <span x-html="item.qty"></span> x <span x-html="item.product_name"></span>
5404                                            </a>
5405                                        </div>
5406                                        <div class="text-sm"><span x-html="item.product_sku"></div>
5407                                    </div>
5408                                    <template x-for="option in item.options">
5409                                        <div class="pt-2">
5410                                            <p class="font-semibold" x-text="option.label + ':'"></p>
5411                                            <p class="text-secondary" x-html="option.value"></p>
5412                                        </div>
5413                                    </template>
5414                                    <div><span x-html="item.product_price"></span></div>
5415                                    <div class="pt-4">
5416                                        <a :href="item.configure_url"
5417                                           x-show="item.product_type !== 'grouped'"
5418                                            class="inline-flex p-2 mr-2 btn btn-primary">
5419                                            <svg fill="none" viewBox="0 0 24 24" stroke="currentColor"
5420                                                 size="16" class="w-5 h-5">
5421                                                <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2"
5422                                                      d="M15.232 5.232l3.536 3.536m-2.036-5.036a2.5 2.5 0 113.536
5423                                                      3.536L6.5 21.036H3v-3.572L16.732 3.732z">
5424                                                </path>
5425                                            </svg>
5426                                        </a>
5427                                        <button class="inline-flex p-2 btn btn-primary"
5428                                                @click="deleteItemFromCart(item.item_id)"
5429                                        >
5430                                            <svg fill="none" viewBox="0 0 24 24" stroke="currentColor"
5431                                                 size="16" class="w-5 h-5">
5432                                                <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2"
5433                                                      d="M19 7l-.867 12.142A2 2 0 0116.138 21H7.862a2 2 0
5434                                                      01-1.995-1.858L5 7m5 4v6m4-6v6m1-10V4a1 1 0 00-1-1h-4a1 1
5435                                                      0 00-1 1v3M4 7h16">
5436                                                </path>
5437                                            </svg>
5438                                        </button>
5439                                    </div>
5440                                </div>
5441                            </div>
5442                        </template>
5443                    </div>
5444                    <div class="relative grid gap-6 px-4 py-6 bg-white sm:gap-8 sm:px-6">
5445                        <div class="w-full p-3 -m-3 space-x-4 transition duration-150 ease-in-out rounded-lg
5446                            hover:bg-gray-100">
5447                            <span>Cart Subtotal:</span>
5448                            <span class="text-gray-900 font-bold" x-text="hyva.formatPrice(cartData.subtotalAmount)"></span>
5449                        </div>
5450                        <div class="w-full">
5451                            <a href="https://www.flooringinc.com/amasty_quote/cart/"
5452                               class="btn btn-secondary justify-center">
5453                                View and Edit Cart                            </a>
5454                        </div>
5455                    </div>
5456                </div>
5457            </div>
5458        </div>
5459    </template>
5460</section>
5461
5462</div>
5463
5464<div x-data="initKlaviyoCustomerTracking()"
5465     @private-content-loaded.window="sendCustomerDataToKlaviyo(event.detail.data)"></div>
5466    
5466<script>
5467        function initKlaviyoCustomerTracking() {
5468            return {
5469                sendCustomerDataToKlaviyo(data) {
5470                    window.addEventListener('init-external-scripts', () => {
5471                    const _learnq = window._learnq || [];
5472                    const customer = data.customer;
5473                    var resource = document.createElement('script');
5474                    resource.async = "true";
5475                    resource.src = "https://static.klaviyo.com/onsite/js/klaviyo.js?company_id=WAwVDg";
5476                    var script = document.getElementsByTagName('script')[0];
5477                    script.parentNode.insertBefore(resource, script);
5478
5479                    if (customer && customer.email) {
5480                        script.addEventListener('load', function() {
5481                            _learnq.push(['identify', {
5482                                $email: customer.email,
5483                                $first_name: customer.firstname ? customer.firstname : '',
5484                                $last_name: customer.lastname ? customer.lastname : ''
5485                            }]);
5486                        });
5487                    }
5488                  }, {once: true, passive: true});
5489                }
5490            }
5491        }
5492    </script>
5492
5493<a class="action skip sr-only contentarea"
5494   href="#contentarea">
5495    <span>
5496        Skip to Content    </span>
5497</a>
5498<div class="widget block block-static-block">
5499    <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]">		
5500		<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>
5501<p style="font-size: medium;">🏈 Game Day Ready - Save Up to 35% Off - Sale Ends Sunday 10/4 </p>
5502
5503</center>
5504</div></div></div></div></div></div>
5505</header><div class="top-container"><nav class="breadcrumbs order-2 w-full" aria-label="Breadcrumb">
5506    <div class="breadcrumbs-in py-8">
5507        <ol class="items list-reset rounded flex flex-wrap text-grey text-sm">
5508                            <li class="item flex home">
5509                                                    <a href="https://www.flooringinc.com/"
5510                       class="no-underline text-sm font-normal"
5511                       title="Go&#x20;to&#x20;Home&#x20;Page"
5512                    >Home</a>
5513                                </li>
5514                            <li class="item flex blog">
5515                                    <span aria-hidden="true" class="separator text-primary-lighter px-2 text-sm font-normal">/</span>
5516                                                    <a href=""
5517                       class="text-sm font-semibold current"
5518                       aria-current="page"
5519                    >Flooring Articles</a>
5520                                </li>
5521                    </ol>
5522    </div>
5523</nav>
5524</div><main id="maincontent" class="page-main"><div id="contentarea" tabindex="-1"></div>
5525<div class="page messages">
5525<script>
5526    function initMessages() {
5527        "use strict";
5528        return {
5529            messages: window.mageMessages || [],
5530            isEmpty() {
5531                return this.messages.reduce(
5532                    function (isEmpty, message) {
5533                        return isEmpty && message === undefined
5534                    }, true
5535                )
5536            },
5537            removeMessage(messageIndex) {
5538                this.messages[messageIndex] = undefined;
5539            },
5540            addMessages(messages, hideAfter) {
5541                messages.map((message) => {
5542                    /* Code to avoid multiple messages on the page */
5543					
5544					if (message.text.includes("A customer with the same email address already exists")) {
5545                        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>.';
5546                    }
5547                    if(this.messages!="") {                        
5548                        this.messages=[];    
5549                    }
5550                    this.messages = this.messages.concat(message);
5551                    if (hideAfter) {
5552                        this.setHideTimeOut(this.messages.length -1, hideAfter);
5553                    }
5554                });
5555            },
5556            setHideTimeOut(messageIndex, hideAfter) {
5557                setTimeout((messageIndex) => {
5558                    this.removeMessage(messageIndex);
5559                }, hideAfter, messageIndex);
5560            },
5561            eventListeners: {
5562                ['@messages-loaded.window']() {
5563                   this.addMessages(event.detail.messages, event.detail.hideAfter)
5564                },
5565                ['@private-content-loaded.window'](event) {
5566                    const data = event.detail.data;
5567                    if (
5568                        data.messages &&
5569                        data.messages.messages &&
5570                        data.messages.messages.length
5571                    ) {
5572                        this.addMessages(data.messages.messages);
5573                    }
5574                },
5575                ['@clear-messages.window']() {
5576                    this.messages = [];
5577                }
5578            }
5579        }
5580    }
5581</script>
5581
5582<section id="messages"
5583         x-data="initMessages()"
5584         x-bind="eventListeners"
5585>
5586    <template x-if="!isEmpty()">
5587        <div class="w-full">
5588            <div role="alert" class="messages container">
5589                <template x-for="(message, index) in messages" :key="index">
5590                    <div>
5591                        <template x-if="message">
5592                            <div class="message" :class="message.type"
5593                                 :ui-id="'message-' + message.type"
5594                            >
5595                                <span x-html="message.text"></span>
5596                                <a href="#" class="close cursor-pointer" title="close"
5597                                   @click.prevent="removeMessage(index)">
5598                                    <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">
5599  <path stroke-linecap="round" stroke-linejoin="round" d="M6 18L18 6M6 6l12 12"/>
5600<title>x</title></svg>
5601                                </a>
5602                            </div>
5603                        </template>
5604                    </div>
5605                </template>
5606            </div>
5607        </div>
5608    </template>
5609</section></div><div class="container flex flex-col md:flex-row flex-wrap font-bold">
5610    <h1 class="text-gray-900 page-title title-font"
5611        >
5612						<span class="base" data-ui-id="page-title-wrapper" >Flooring Articles</span>		    </h1>
5613    </div>
5614<div class="widget block block-static-block">
5615    <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>
5616<div class="widget block block-static-block">
5617    <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>
5618<div class="columns"><div class="column main">    
5618<script>
5619
5620    
5621</script>
vendor: 2 bytes, line 5621
5621
5622<script>
5623    function samplesubmit(mainproduct,inputValue,productids,colors,spidsColors,confproname,confproid,childproids) {
5624        this.isLoading = true;
5625        const formKey = hyva.getFormKey();
5626        const postUrl = BASE_URL + 'sampleproduct/Sample/Products/';
5627        fetch(postUrl, {
5628            "headers": {
5629                "content-type": "application/x-www-form-urlencoded; charset=UTF-8",
5630            },
5631            "body": "form_key=" + formKey + "&action_type=" + inputValue+ "&pids=" + productids+ "&colors=" + colors+ "&spidsColors=" + spidsColors+ "&confproname=" + confproname+ "&confproid=" + confproid +"&childproid=" + childproids,
5632            "method": "POST",
5633            "mode": "cors",
5634            "credentials": "include"
5635        }).then(response => {
5636            //this.isLoading = false;
5637            //window.dispatchEvent(new CustomEvent('reload-customer-section-data'));
5638            //fetchHtmlContent(mainproduct);
5639            if (! response.ok) console.warn('GET request failed');
5640            return response.json();
5641        }).then(result => {
5642            this.isLoading = false;
5643            window.dispatchEvent(new CustomEvent('reload-customer-section-data'));
5644            fetchHtmlContent(mainproduct,result.is_sample_added); 
5645         }); 
5646    }
5647  </script>
5647  
5648  
5648<script>
5649  function fetchHtmlContent(pid,is_sample_added) {
5650    console.log('Fetching HTML content for PID:', pid);
5651    const formKey = hyva.getFormKey();
5652    const randomString = Math.random().toString(36).substring(2, 15);
5653    const postUrl = BASE_URL + 'sampleproduct/sample/popup/?pid='+pid;
5654    fetch(postUrl)
5655      .then(response => response.text())
5656      .then(html => {
5657        console.log('Response received:', html);
5658      let myDivelements = document.getElementsByClassName('htmlcontent'+pid);
5659      var numberofelements=myDivelements.length;
5660      for(var i=0;i<numberofelements;++i){
5661        myDivelements[i].innerHTML = html;
5662      }
5663      if(is_sample_added == 1 ){ //&& window.innerWidth <= 767
5664        document.querySelector(".order-free-sample-popup .closemodal").dispatchEvent(new Event('click'));
5665        document.querySelector("#menu-cart-icon").dispatchEvent(new Event('click'));
5666      }
5667    })
5668      .catch(error => {
5669        console.error(error);
5670      });
5671  }
5672</script>
5672  
5673    
5673<script>
5674        if (window.require) {
5675            require(['jquery', 'domReady!'], function($){
5676                if ($('.mfblogunveil').length) {
5677                    require(['Magefan_Blog/js/lib/mfblogunveil'], function(){
5678                        $('.mfblogunveil').mfblogunveil();
5679                    });
5680                }
5681            });
5682        } else {
5683            /* e.g. hyva theme */
5684            document.addEventListener("DOMContentLoaded", function(){
5685                var items =  document.getElementsByClassName('mfblogunveil');
5686                var el, url;
5687                if (items.length) {
5688                    for (var i=0; i<items.length;i++) {
5689                        el = items[i];
5690                        url = el.getAttribute('data-original');
5691                        if (!url) {
5692                            continue;
5693                        }
5694                        if ('IMG' == el.tagName) {
5695                            el.src = url;
5696                        } else {
5697                            el.style.backgroundImage = "url('" + url  + "')";
5698                        }
5699                    }
5700                }
5701            });
5702        }
5703    </script>
5703
5704
5705
5706
5707    
5708
5709        <!-- Start CSS Magefan_Blog::css/bootstrap-4.4.1-custom-min.css 3Kb -->
5710        <style>.p-0{padding:0 !important}.p-2{padding:.5rem !important}.pl-2,.px-2{padding-left:.5rem !important}.pr-2,.px-2{padding-right:.5rem !important}.p-3{padding:1rem !important}.pr-3,.px-3{padding-right:1rem !important}.pl-3,.px-3{padding-left:1rem !important}.pt-3,.py-3{padding-top:1rem !important}.pb-3,.py-3{padding-bottom:1rem !important}.p-4{padding:1.5rem !important}.pr-4,.px-4{padding-right:1.5rem !important}.pl-4,.px-4{padding-left:1.5rem !important}@media (min-width:768px){.pr-md-3,.px-md-3{padding-right:1rem !important}.pl-md-3,.px-md-3{padding-left:1rem !important}.pr-md-4,.px-md-4{padding-right:1.5rem !important}.pl-md-4,.px-md-4{padding-left:1.5rem !important}}.m-0{margin:0 !important}.mb-0,.my-0{margin-bottom:0 !important}.mt-1,.my-1{margin-top:.25rem !important}.mr-1,.mx-1{margin-right:.25rem !important}.mb-1,.my-1{margin-bottom:.25rem !important}.mt-2,.my-2{margin-top:.5rem !important}.mb-2,.my-2{margin-bottom:.5rem !important}.mt-3,.my-3{margin-top:1rem !important}.mb-3,.my-3{margin-bottom:1rem !important}.mt-4,.my-4{margin-top:1.5rem !important}.mb-4,.my-4{margin-bottom:1.5rem !important}.mt-5,.my-5{margin-top:3rem !important}.mb-5,.my-5{margin-bottom:3rem !important}@media (min-width:768px){.mb-md-0{margin-bottom:0 !important}.mb-md-3{margin-bottom:1rem !important}.mb-md-4{margin-bottom:1.5rem !important}}.text-left{text-align:left !important}.text-right{text-align:right !important}.text-center{text-align:center !important}.float-left{float:left !important}.float-right{float:right !important}.float-none{float:none !important}.position-relative{position:relative !important}.position-absolute{position:absolute !important}.d-none{display:none !important}.d-block{display:block !important}.d-inline{display:inline !important}.d-inline-block{display:inline-block !important}.d-flex{display:-ms-flexbox !important;display:flex !important}.flex-row{-ms-flex-direction:row !important;flex-direction:row !important}.flex-column{-ms-flex-direction:column !important;flex-direction:column !important}.flex-wrap{-ms-flex-wrap:wrap !important;flex-wrap:wrap !important}.flex-grow-1{-ms-flex-positive:1 !important;flex-grow:1 !important}.w-100{width:100% !important}.w-50{width:50% !important}.w-25{width:25% !important}.h-100{height:100% !important}.h-50{height:50% !important}@media (min-width:1200px){.d-xl-block{display:block !important}}@media (min-width:768px){.d-md-block{display:block !important}}@media (min-width:992px){.d-lg-block{display:block !important}}.row{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;margin-right:-15px;margin-left:-15px}.row-cols-1>*{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.row-cols-2>*{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.row-cols-3>*{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.row-cols-4>*{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}@media (min-width:768px){.flex-md-row{-ms-flex-direction:row !important;flex-direction:row !important}.flex-md-column{-ms-flex-direction:column !important;flex-direction:column !important}.row-cols-md-1>*{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.row-cols-md-2>*{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.row-cols-md-3>*{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}}</style>        <div class="post-list-wrapper">
5711                <ol class="post-list modern">
5712                                            <li class="post-item post-holder post-holder-413 block mb-4 pb-4 border-gray-300 border-b-2">
5713
5714                    <div class="post-container flex gap-6">
5715                        <!-- post image -->
5716                        <div class="post-image grow-0 shrink-0 basis-4/12 w-2/6 order-none">
5717                            <!-- img container -->
5718                            <div class="image-container relative">
5719                                <a class="image-wrap block overflow-hidden relative"
5720                                   style="line-height:0;padding-bottom:70%;"
5721                                   href="https://www.flooringinc.com/blog/backyard-gym-ideas"
5722                                   title="8 Backyard Gym Ideas for Transforming Your Outdoor Workout Space"
5723                                >
5724                                                                                                                                                                                            <div class="animation-type-zoom bg-img mfblogunveil absolute block w-full h-full bg-cover bg-center overflow-hidden hover:scale-110 duration-300" data-original="https://www.flooringinc.com/media/blog/cache/350x_0/magefan_blog/Screenshot_2025-01-16_134029.png"></div>
5725                                                                                                            </a>
5726
5727                                <!-- post category-->
5728                                                                    <sp
5728an class="post-category block absolute left-0 bottom-0 leading-none hidden md:block">
5729                                                                                    <a class="category-name inline-block bg-black hover:bg-[#4db2ec] duration-300 text-white text-xs font-medium leading-none px-2 py-2 mr-1 mt-1" href="https://www.flooringinc.com/blog/category/outdoor"
5730                                               title="Outdoor">
5731                                                Outdoor                                            </a>
5732                                                                                    <a class="category-name inline-block bg-black hover:bg-[#4db2ec] duration-300 text-white text-xs font-medium leading-none px-2 py-2 mr-1 mt-1" href="https://www.flooringinc.com/blog/category/rubber-flooring"
5733                                               title="Rubber Flooring Articles">
5734                                                Rubber Flooring Articles                                            </a>
5735                                                                            </span>
5736                                                                <!-- end post category-->
5737                            </div>
5738                        </div>
5739
5740                        <!-- block info -->
5741                        <div class="post-info grow-0 shrink-0 basis-2/3 max-w-[70%] w-[70%] order-1 box-border">
5742                            <!-- post title -->
5743                            <div class="post-title-wrap mb-2">
5744                                <h3 class="post-title">
5745                                    <a class="inline-block text-lg md:text-xl font-medium font-sans hover:text-red duration-300" href="https://www.flooringinc.com/blog/backyard-gym-ideas">8 Backyard Gym Ideas for Transforming Your Outdoor Workout Space</a>
5746                                </h3>
5747                            </div>
5748
5749                            <!-- block data -->
5750                            <div class="post-data-wrap text-xs mb-3">
5751                                <!-- post author -->
5752                                                                                                            <span class="post-author-name">
5753                                                                                            <a class="font-medium hover:text-red duration-300" title="Ciana Gitre "
5754                                                   href="https://www.flooringinc.com/blog/author/Ciana">Ciana Gitre                                                 </a>
5755                                            
5756                                                                                                                                    <span>-</span>
5757                                        </span>
5758                                                                    
5759                                <!-- post date -->
5760                                                                    <span class="post-date text-gray-400">January 16, 2025</span>
5761                                
5762                                <!-- post view -->
5763                                                            </div>
5764
5765                            <!-- post description -->
5766                            <div class="post-description mb-4 hidden md:block">
5767                                <style>#html-body [data-pb-style=QOROHKG]{display:flex;flex-direction:column}</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="QOROHKG"><div data-content-type="text" data-appearance="default" data-element="main"><p><span style="font-weight: 400;">Welcome to the era of backyard fitness, where the convenience of an outdoor workout space replaces the traditional gym. In this guide, we'll explore innovative ideas to transform your backyard into a functional and inviting gym, embracing the trend of creating personalized fitness havens at home. Get ready to break a sweat in the fresh air as we navigate the essentials of planning, selecting equipment, ensuring safety, and personalizing your outdoor gym experience.&nbsp;</span></p>
5768<p><span style="font-weight: 400;">Discover the </span><a tabindex="0" href="/blog/what-is-rubber-flooring" target="_blank" rel="noopener"><span style="font-weight: 400;">benefits of rubber flooring</span></a><span style="font-weight: 400;"> as a foundation that enhances our fitness space's functionality and safety</span></p>
5769<h2><span style="font-weight: 400;">What to Consider Before Building an Outdoor Home Gym</span></h2>
5770<p></mcprod.flooringinc.com/media/magefan_blog/2024/04/AdobeStock_188153075.jpeg"></p></div></div></div>
5771                            </div>
5772
5773                            <!-- read more -->
5774                            <div class="post-read-more hidden md:block">
5775                                <a class="post-read btn-white inline-block py-2.5 px-4 text-[#7d7d7d] hover:text-white bg-white hover:bg-blue-400 border border-gray-300 duration-300"   href="https://www.flooringinc.com/blog/backyard-gym-ideas" title="8 Backyard Gym Ideas for Transforming Your Outdoor Workout Space">
5776                                    Read more                                </a>
5777                            </div>
5778                        </div>
5779                    </div>
5780                </li>
5781                                            <li class="post-item post-holder post-holder-423 block mb-4 pb-4 border-gray-300 border-b-2">
5782
5783                    <div class="post-container flex gap-6">
5784                        <!-- post image -->
5785                        <div class="post-image grow-0 shrink-0 basis-4/12 w-2/6 order-none">
5786                            <!-- img container -->
5787                            <div class="image-container relative">
5788                                <a class="image-wrap block overflow-hidden relative"
5789                                   style="line-height:0;padding-bottom:70%;"
5790                                   href="https://www.flooringinc.com/blog/garage-conversion-ideas"
5791                                   title="8 Creative Garage Conversion Ideas to Transform Your Space"
5792                                >
5793                                                                                                                                                                                            <div class="animation-type-zoom bg-img mfblogunveil absolute block w-full h-full bg-cover bg-center overflow-hidden hover:scale-110 duration-300" data-original="https://www.flooringinc.com/media/blog/cache/350x_0/magefan_blog/2024/06/3666.jpg"></div>
5794                                                                                                            </a>
5795
5796                                <!-- post category-->
5797                                                                    <sp
5797an class="post-category block absolute left-0 bottom-0 leading-none hidden md:block">
5798                                                                                    <a class="category-name inline-block bg-black hover:bg-[#4db2ec] duration-300 text-white text-xs font-medium leading-none px-2 py-2 mr-1 mt-1" href="https://www.flooringinc.com/blog/category/garage"
5799                                               title="Garage Flooring Guides">
5800                                                Garage Flooring Guides                                            </a>
5801                                                                                    <a class="category-name inline-block bg-black hover:bg-[#4db2ec] duration-300 text-white text-xs font-medium leading-none px-2 py-2 mr-1 mt-1" href="https://www.flooringinc.com/blog/category/rubber-flooring"
5802                                               title="Rubber Flooring Articles">
5803                                                Rubber Flooring Articles                                            </a>
5804                                                                            </span>
5805                                                                <!-- end post category-->
5806                            </div>
5807                        </div>
5808
5809                        <!-- block info -->
5810                        <div class="post-info grow-0 shrink-0 basis-2/3 max-w-[70%] w-[70%] order-1 box-border">
5811                            <!-- post title -->
5812                            <div class="post-title-wrap mb-2">
5813                                <h3 class="post-title">
5814                                    <a class="inline-block text-lg md:text-xl font-medium font-sans hover:text-red duration-300" href="https://www.flooringinc.com/blog/garage-conversion-ideas">8 Creative Garage Conversion Ideas to Transform Your Space</a>
5815                                </h3>
5816                            </div>
5817
5818                            <!-- block data -->
5819                            <div class="post-data-wrap text-xs mb-3">
5820                                <!-- post author -->
5821                                                                                                            <span class="post-author-name">
5822                                                                                            <a class="font-medium hover:text-red duration-300" title="Ciana Gitre "
5823                                                   href="https://www.flooringinc.com/blog/author/Ciana">Ciana Gitre                                                 </a>
5824                                            
5825                                                                                                                                    <span>-</span>
5826                                        </span>
5827                                                                    
5828                                <!-- post date -->
5829                                                                    <span class="post-date text-gray-400">January 16, 2025</span>
5830                                
5831                                <!-- post view -->
5832                                                            </div>
5833
5834                            <!-- post description -->
5835                            <div class="post-description mb-4 hidden md:block">
5836                                <div data-content-type="html" data-appearance="default" data-element="main" data-decoded="true">Garages are no longer just for parking cars or storing old junk. In recent years, more homeowners have discovered the immense potential of this extra space. Choosing to do a garage remodel can add value to your home and expand your living space without the hefty price tag of full-scale home remodeling or home additions. Here are some exciting and practical garage conversion ideas that can transform your space into something truly special!</div>
5837                            </div>
5838
5839                            <!-- read more -->
5840                            <div class="post-read-more hidden md:block">
5841                                <a class="post-read btn-white inline-block py-2.5 px-4 text-[#7d7d7d] hover:text-white bg-white hover:bg-blue-400 border border-gray-300 duration-300"   href="https://www.flooringinc.com/blog/garage-conversion-ideas" title="8 Creative Garage Conversion Ideas to Transform Your Space">
5842                                    Read more                                </a>
5843                            </div>
5844                        </div>
5845                    </div>
5846                </li>
5847                                            <li class="post-item post-holder post-holder-408 block mb-4 pb-4 border-gray-300 border-b-2">
5848
5849                    <div class="post-container flex gap-6">
5850                        <!-- post image -->
5851                        <div class="post-image grow-0 shrink-0 basis-4/12 w-2/6 order-none">
5852                            <!-- img container -->
5853                            <div class="image-container relative">
5854                                <a class="image-wrap block overflow-hidden relative"
5855                                   style="line-height:0;padding-bottom:70%;"
5856                                   href="https://www.flooringinc.com/blog/what-is-rubber-flooring"
5857                                   title="What is Rubber Flooring: Exploring the Versatility and Benefits"
5858                                >
5859                                                                                                                                                                                            <div class="animation-type-zoom bg-img mfblogunveil absolute block w-full h-full bg-cover bg-center overflow-hidden hover:scale-110 duration-300" data-original="https://www.flooringinc.com/media/blog/cache/350x_0/magefan_blog/Screenshot_2025-01-14_141730.png"></div>
5860                                                                                                            </a>
5861
5862                                <!-- post category-->
5863                                                                    <span class="post-category block absolute left-0 bottom-0 leading-none hidden md:block">
5864                                                                                    <a class="category-name inline-block bg-black hover:bg-[#4db2ec] duration-300 text-white text-xs font-medium leading-none px-2 py-2 mr-1 mt-1" href="https://www.flooringinc.com/blog/category/rubber-flooring"
5865                                               title="Rubber Flooring Articles">
5866                                                Rubber Flooring Articles                                            </a>
5867                                                                                    <a class="category-name inline-block bg-black hover:bg-[#4db2ec] duration-300 text-white text-xs font-medium leading-none px-2 py-2 mr-1 mt-1" href="https://www.flooringinc.com/blog/category/buying-guide"
5868                                               title="Buying Guide">
5869                                                Buying Guide                                            </a>
5870                                                                            </span>
5871                                                                <!-- end post category-->
5872                            </div>
5873                        </div>
5874
5875                        <!-- block info -->
5876                        <div class="post-info grow-0 shrink-0 basis-2/3 max-w-[70%] w-[70%] order-1 box-border">
5877                            <!-- post title -->
5878                            <div class="post-title-wrap mb-2">
5879                                <h3 class="post-title">
5880                                    <a class="inline-block text-lg md:text-xl font-medium font-sans hover:text-red duration-300" href="https://www.flooringinc.com/blog/what-is-rubber-flooring">What is Rubber Flooring: Exploring the Versatility and Benefits</a>
5881                                </h3>
5882                            </div>
5883
5884                            <!-- block data -->
5885                            <div class="post-data-wrap text-xs mb-3">
5886                                <!-- post author -->
5887                                                                                                            <span class="post-author-name">
5888                                                                                            <a class="font-medium hover:text-red duration-300" title="Ciana Gitre "
5889                                                   href="https://www.flooringinc.com/blog/author/Ciana">Ciana Gitre                                                 </a>
5890                                            
5891                                                                                                                                    <span>-</span>
5892                                        </span>
5893                                                                    
5894                                <!-- post date -->
5895                                                                    <span class="post-date text-gray-400">January 14, 2025</span>
5896                                
5897                                <!-- post view -->
5898                                                            </div>
5899
5900                            <!-- post description -->
5901                            <div class="post-description mb-4 hidden md:block">
5902                                <style>#html-body [data-pb-style=RQMOUJ5]{display:flex;flex-direction:column}</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="RQMOUJ5"><div data-content-type="text" data-appearance="default" data-element="main"><p><span style="font-weight: 400;">Rubber flooring is a versatile and stylish option for various settings, from your home gym to contemporary office spaces. Before you learn about how to install rubber flooring, this guide will c
5902over its durability, versatility, and eco-friendliness. As the demand for innovative and sustainable flooring solutions grows, rubber floors meets and exceeds expectations, offering a seamless blend of functionality and aesthetic appeal for our customers' diverse needs.</span></p>
5903<p><a tabindex="0" href="/blog/rubber-flooring-5-myths-busted" target="_blank" rel="noopener"><span style="font-weight: 400;">Rubber flooring myths</span></a><span style="font-weight: 400;"> often circulate, creating misconceptions about its properties and benefits. It&rsquo;s important to see through these myths to understand the true value and capabilities. We aim to provide accurate information and clarify any misunderstandings about this versatile flooring option.</span></p>
5904<p><span style="font-weight: 400;">Gain insights</span></p></div></div></div>
5905                            </div>
5906
5907                            <!-- read more -->
5908                            <div class="post-read-more hidden md:block">
5909                                <a class="post-read btn-white inline-block py-2.5 px-4 text-[#7d7d7d] hover:text-white bg-white hover:bg-blue-400 border border-gray-300 duration-300"   href="https://www.flooringinc.com/blog/what-is-rubber-flooring" title="What is Rubber Flooring: Exploring the Versatility and Benefits">
5910                                    Read more                                </a>
5911                            </div>
5912                        </div>
5913                    </div>
5914                </li>
5915                                            <li class="post-item post-holder post-holder-409 block mb-4 pb-4 border-gray-300 border-b-2">
5916
5917                    <div class="post-container flex gap-6">
5918                        <!-- post image -->
5919                        <div class="post-image grow-0 shrink-0 basis-4/12 w-2/6 order-none">
5920                            <!-- img container -->
5921                            <div class="image-container relative">
5922                                <a class="image-wrap block overflow-hidden relative"
5923                                   style="line-height:0;padding-bottom:70%;"
5924                                   href="https://www.flooringinc.com/blog/best-garage-flooring-ideas"
5925                                   title="Garage Flooring Ideas: Tiles, Rolls, Epoxy &amp; More"
5926                                >
5927                                                                                                                                                                                            <div class="animation-type-zoom bg-img mfblogunveil absolute block w-full h-full bg-cover bg-center overflow-hidden hover:scale-110 duration-300" data-original="https://www.flooringinc.com/media/blog/cache/350x_0/magefan_blog/Main_Image_37_.jpg"></div>
5928                                                                                                            </a>
5929
5930                                <!-- post category-->
5931                                                                    <span class="post-category block absolute left-0 bottom-0 leading-none hidden md:block">
5932                                                                                    <a class="category-name inline-block bg-black hover:bg-[#4db2ec] duration-300 text-white text-xs font-medium leading-none px-2 py-2 mr-1 mt-1" href="https://www.flooringinc.com/blog/category/carpet"
5933                                               title="Carpet">
5934                                                Carpet                                            </a>
5935                                                                                    <a class="category-name inline-block bg-black hover:bg-[#4db2ec] duration-300 text-white text-xs font-medium leading-none px-2 py-2 mr-1 mt-1" href="https://www.flooringinc.com/blog/category/garage"
5936                                               title="Garage Flooring Guides">
5937                                                Garage Flooring Guides                                            </a>
5938                                                                                    <a class="category-name inline-block bg-black hover:bg-[#4db2ec] duration-300 text-white text-xs font-medium leading-none px-2 py-2 mr-1 mt-1" href="https://www.flooringinc.com/blog/category/rubber-flooring"
5939                                               title="Rubber Flooring Articles">
5940                                                Rubber Flooring Articles                                            </a>
5941                                                                                    <a class="category-name inline-block bg-black hover:bg-[#4db2ec] duration-300 text-white text-xs font-medium leading-none px-2 py-2 mr-1 mt-1" href="https://www.flooringinc.com/blog/category/best-of"
5942                                               title="Best of">
5943                                                Best of                                            </a>
5944                                                                            </span>
5945                                                                <!-- end post category-->
5946                            </div>
5947                        </div>
5948
5949                        <!-- block info -->
5950                        <div class="post-info grow-0 shrink-0 basis-2/3 max-w-[70%] w-[70%] order-1 box-border">
5951                            <!-- post title -->
5952                            <div class="post-title-wrap mb-2">
5953                                <h3 class="post-title">
5954                                    <a class="inline-block text-lg md:text-xl font-medium font-sans hover:text-red duration-300" href="https://www.flooringinc.com/blog/best-garage-flooring-ideas">Garage Flooring Ideas: Tiles, Rolls, Epoxy &amp; More</a>
5955                                </h3>
5956                            </div>
5957
5958                            <!-- block data -->
5959                            <div class="post-data-wrap text-xs mb-3">
5960                                <!-- post author -->
5961                                                                                                            <sp
5961an class="post-author-name">
5962                                                                                            <a class="font-medium hover:text-red duration-300" title="Ciana Gitre "
5963                                                   href="https://www.flooringinc.com/blog/author/Ciana">Ciana Gitre                                                 </a>
5964                                            
5965                                                                                                                                        and                                                                                                                                                                                                                                                                <a title="Sarah Boyce "
5966                                                           href="https://www.flooringinc.com/blog/author/sarahboyce">Sarah Boyce </a>                                                                                                                                                                                            <span>-</span>
5967                                        </span>
5968                                                                    
5969                                <!-- post date -->
5970                                                                    <span class="post-date text-gray-400">January 06, 2025</span>
5971                                
5972                                <!-- post view -->
5973                                                            </div>
5974
5975                            <!-- post description -->
5976                            <div class="post-description mb-4 hidden md:block">
5977                                <style>#html-body [data-pb-style=MA1QYPV]{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=FBPG4RQ]{border-style:none}#html-body [data-pb-style=W7OQIIE],#html-body [data-pb-style=YGE28KC]{max-width:100%;height:auto}#html-body [data-pb-style=TOL8QBQ]{border-style:none}#html-body [data-pb-style=B73Y8JK],#html-body [data-pb-style=LU8QJ45]{max-width:100%;height:auto}#html-body [data-pb-style=REYF00D]{border-style:none}#html-body [data-pb-style=KW0ML14],#html-body [data-pb-style=XPLOV38]{max-width:100%;height:auto}#html-body [data-pb-style=FC3EWN3]{border-style:none}#html-body [data-pb-style=DP40TX3],#html-body [data-pb-style=M9HSE8O]{max-width:100%;height:auto}#html-body [data-pb-style=OCA5PDR]{border-style:none}#html-body [data-pb-style=F46RURF],#html-body [data-pb-style=UTNDFJF]{max-width:100%;height:auto}#html-body [data-pb-style=VPLOX0G]{border-style:none}#html-body [data-pb-style=EYQG7GE],#html-body [data-pb-style=X5FD8CS]{max-width:100%;height:auto}#html-body [data-pb-style=UBIHAYT]{border-style:none}#html-body [data-pb-style=BN8DXQL],#html-body [data-pb-style=BXTXVN0]{max-width:100%;height:auto}#html-body [data-pb-style=DH8FL9U]{border-style:none}#html-body [data-pb-style=VSGIH3T],#html-body [data-pb-style=X9GTFK2]{max-width:100%;height:auto}#html-body [data-pb-style=LO2OAGS]{border-style:none}#html-body [data-pb-style=DP812IH],#html-body [data-pb-style=KCWCTRQ]{max-width:100%;height:auto}#html-body [data-pb-style=PU6B2I9]{border-style:none}#html-body [data-pb-style=DU7ALEO],#html-body [data-pb-style=RRFXEH3]{max-width:100%;height:auto}#html-body [data-pb-style=FQR3AN2]{display:inline-block}#html-body [data-pb-style=HF2H5AD]{text-align:center}#html-body [data-pb-style=VDVIQ9D]{display:inline-block}#html-body [data-pb-style=HSQB7IJ]{text-align:center}#html-body [data-pb-style=HYHUBKR]{display:inline-block}#html-body [data-pb-style=LL4UNQV]{text-align:center}#html-body [data-pb-style=Q06AD38]{display:inline-block}#html-body [data-pb-style=OQC99L8]{text-align:center}#html-body [data-pb-style=HVCEQOY]{display:inline-block}#html-body [data-pb-style=VNKT9ID]{text-align:center}#html-body [data-pb-style=PWFTNN7]{display:inline-block}#html-body [data-pb-style=NIIVHFU]{text-align:center}#html-body [data-pb-style=EB9C3II]{display:inline-block}#html-body [data-pb-style=DT9BUP0]{text-align:center}#html-body [data-pb-style=KA0I4KO]{display:inline-block}#html-body [data-pb-style=SSLKHWC]{text-align:center}#html-body [data-pb-style=YNJ6DQ8]{display:inline-block}#html-body [data-pb-style=BO8XK11]{text-align:center}#html-body [data-pb-style=N7I62GH]{display:inline-block}#html-body [data-pb-style=GXUFH5N]{text-align:center}#html-body [data-pb-style=DYIDF0T]{display:inline-block}#html-body [data-pb-style=CHG4INX]{text-align:center}@media only screen and (max-width: 768px) { #html-body [data-pb-style=DH8FL9U],#html-body [data-pb-style=FBPG4RQ],#html-body [data-pb-style=FC3EWN3],#html-body [data-pb-style=LO2OAGS],#html-body [data-pb-style=OCA5PDR],#html-body [data-pb-style=PU6B2I9],#html-body [data-pb-style=REYF00D],#html-body [data-pb-style=TOL8QBQ],#html-body [data-pb-style=UBIHAYT],#html-body [data-pb-style=VPLOX0G]{border-style:none} }</style><div data-content-type="row" data-appearance="contained" data-element="main"><div data-enable-parallax="0" data-parallax-speed="0.5" data-background-images="{}" data-background-type="image" data-video-loop="true" data-video-play-only-visible="true" data-video-lazy-load="true" data-video-fallback-src="" data-element="inner" data-pb-style="MA1QYPV"><div data-content-type="text" data-appearance="default" data-element="main"><p>Welcome to the era of the&nbsp;<strong>lifestyle garage.&nbsp;</strong>In 2026 the garage is no longer just a graveyard for cardboard boxes and old lawnmowers, it's a high-end tech workshop, a home gym, and a seamless extension of your living space. Choosing the right foundation is the first step in this transformation.</p>
5978<p>At FlooringInc, we've traced the latest shifts in home design to bring you the most durable and stylish solutions available this year. Whether you're looking for the industrial strength of&nbsp;<strong><a tabindex="0" href="/shop/garage-flooring/coatings-epoxy.html" target="_blank" rel="noopener">professional-grade epoxy,</a>&nbsp;</strong>the DIY simplicity of<a tabindex="0" href="/shop/garage-flooring/garage-tiles.html" target="_blank" rel="noopener">&nbsp;</a><strong><a tabindex="0" href="/shop/garage-flooring/garage-tiles.html" target="_blank" rel="noopener">interlocking garage tiles,</a>&nbsp;</strong>or the ergonomic comfort of&nbsp;<strong><a tabindex="0"></a></strong></p></div></div></div>
5979                            </div>
5980
5981                            <!-- read more -->
5982                            <div class="post-read-more hidden md:block">
5983                                <a class="post-read btn-white inline-block py-2.5 px-4 text-[#7d7d7d] hover:text-white bg-white hover:bg-blue-400 border border-gray-300 duration-300"   href="https://www.flooringinc.com/blog/best-garage-flooring-ideas" title="Garage Flooring Ideas: Tiles, Rolls, Epoxy &amp; More">
5984                                    Read more                                </a>
5985                            </div>
5986                        </div>
5987                    </div>
5988                </li>
5989                    </ol>
5990    </div>
5991
5992        <div class="toolbar toolbar-blog-posts">
5993        
5994    
5995    
5996    <div class="flex justify-center order-2 col-span-4">
5997            </div>
5998
5999    
6000    
6001    </div>
6002    
6003<script>
6004    function mfShareWindowOpen(url, type) {
6005        function reverse(s){
6006            return s.split("").reverse().join("");
6007        }
6008
6009        var u;
6010        switch (type) {
6011            case 'facebook':
6012                u = reverse('=u?php.rerahs/rerahs/moc.koobecaf.www//:sptth') + url;
6013                break;
6014            case 'pinterest':
6015                u = reverse('=lru?/nottub/etaerc/nip/moc.tseretnip//:sptth') + url;
6016                break;
6017            case 'twitter':
6018                u =reverse('=lru?erahs/moc.rettiwt//:ptth') + url;
6019                break;
6020        }
6021        if (u) {
6022            window.open (u, null, "width=600,height=400");
6023        }
6024    }
6025</script>
6025
6026
6027<style>
6028    .post-view {
6029        display: block;
6030        background: #000;
6031        color: #fff;
6032        font-size: 10px;
6033        font-weight: 600;
6034        text-align: center;
6035        line-height: 11px;
6036        position: relative;
6037        top: -5px;
6038        padding: 4px 6px;
6039    }
6040    .post-view:after {
6041        position: absolute;
6042        bottom: -3px;
6043        left: 0;
6044        content: '';
6045        width: 0;
6046        height: 0;
6047        border-style: solid;
6048        border-width: 3px 3px 0 0;
6049        border-color: #000 transparent transparent;
6050    }
6051</style>
6052 
6052<script nonce="aGt5cXM2Mm92cWs4OGUwOWd2eGhqdGFsYWVzZjFycG0=">
6053    function hasWebP() {
6054        var elem = document.createElement('canvas');
6055
6056        if (!!(elem.getContext && elem.getContext('2d'))) {
6057            return elem.toDataURL('image/webp').indexOf('data:image/webp') === 0;
6058        }
6059        return false;
6060    }
6061
6062    if (hasWebP()) {
6063        document.body.classList.add("webp");
6064    } else {
6065        document.body.classList.add("no-webp");
6066    }</script>
6066<div class="instagram_feed_container1"><div class="instagram_content_slider blog_insta_feed">
6067    </div>
6068
6069<script>
6070    document.addEventListener('DOMContentLoaded', function() {
6071        var instagramFeedContainer = document.querySelector('.blog-page .instagram_feed_container1');
6072        if (instagramFeedContainer) {
6073            var columns = document.querySelector('.columns');
6074            if (columns) {
6075                columns.parentNode.insertBefore(instagramFeedContainer, columns.nextSibling);
6076            }
6077        }      
6078        var blogCon = document.querySelector('.blog-page .column.main');
6079        var blockSearch = document.querySelector('.sidebar-additional .blog-search');
6080        if (blogCon && blockSearch) {
6081        blogCon.parentNode.insertBefore(blockSearch, blogCon);
6082        }        
6083    });
6084</script>
6084</div></div><aside class="sidebar sidebar-additional">
6085
6086<div class="blog-search flex items-center w-full gap-2 mb-3">
6087    <h2>Search All Articles</h2>
6088    <form class="form blog-search relative" id="blog_search_mini_form"
6089          action="https://www.flooringinc.com/blog/search/"
6090          method="get"
6091          >
6092        <input id="blog_search"
6093            type="text"
6094            name="q"
6095            value=""
6096            placeholder="Search posts here..."
6097            class="w-full field m-0 pr-10"
6098            style="margin: 0;"
6099            maxlength="128" role="combobox"
6100            aria-haspopup="false"
6101            aria-autocomplete="both"
6102            autocomplete="off">
6103            <svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" class="w-5 h-5 absolute top-3 right-3 hidden" width="24" height="24" role="img">
6104  <path stroke-linecap="round" stroke-linejoin="round" d="M21 21l-6-6m2-5a7 7 0 11-14 0 7 7 0 0114 0z"/>
6105<title>search</title></svg>
6106    </form>
6107</div>
6108<script>
6109    document.addEventListener('DOMContentLoaded', function() {
6110        var form = document.getElementById('blog_search_mini_form');
6111        form.addEventListener('submit', function(event) {
6112            event.preventDefault();
6113            var value = document.getElementById('blog_search').value;
6114            if (value) {
6115                var a = form.action;
6116                window.location = a + ( ('/' != a.charAt(a.length - 1)) ? '/' : '' ) + encodeURI(value) + '/';
6117            }
6118            return false;
6119        });
6120    }); 
6121</script>
6121
6122<style>
6123    .blog-search .action.search:before {
6124        -webkit-font-smoothing: antialiased;
6125        content: '';
6126        margin: 0;
6127        vertical-align: top;
6128        display: inline-block;
6129        overflow: hidden;
6130        speak: none;
6131        width: 16px;
6132        height: 32px;
6133        background: url(../../frontend/Magento/luma/en_US/Magefan_Blog/images/search-icon-white.svg) no-repeat -10px -7px;
6134        background-size: 35px;
6135        opacity: 1;
6136    }
6137</style>
6138
6139    <div class="block-categories mb-10">
6140        <div class="title text-xl md:text-2xl font-semibold py-2">
6141            Categories        </div>
6142
6143        <ul class="accordion font-semibold pl-4">
6144                        <li class="pt-1">
6145                    <a class="hover:text-red duration-300" href="https://www.flooringinc.com/blog/category/how-to">
6146                        How To Articles                                                    <span>42</span>
6147                                            </a>
6148                        
6149
6150    </li>                <li class="pt-1">
6151                    <a class="hover:text-red duration-300" href="https://www.flooringinc.com/blog/category/installation">
6152                        Flooring Installation Articles                                                    <span>28</span>
6153                                            </a>
6154                        
6155
6156    </li>                <li class="pt-1">
6157                    <a class="hover:text-red duration-300" href="https://www.flooringinc.com/blog/category/maintenance">
6158                         Flooring Maintenance                                                    <span>8</span>
6159                                            </a>
6160                        
6161
6162    </li>                <li class="pt-1">
6163                    <a class="hover:text-red duration-300" href="https://www.flooringinc.com/blog/category/laminate">
6164                        Laminate Flooring Articles                                                    <span>40</span>
6165                                            </a>
6166                        
6167
6168    </li>                <li class="pt-1">
6169                    <a class="hover:text-red duration-300" href="https://www.flooringinc.com/blog/category/underlayment">
6170                        Underlayment for Floors                                                    <span>2</span>
6171                                            </a>
6172                        
6173
6174            
6175
6176    </li>                <li class="pt-1">
6177                    <a class="hover:text-red duration-300" href="https://www.flooringinc.com/blog/category/reviews">
6178                        Reviews                                                    <span>3</span>
6179                                            </a>
6180                        
6181
6182            
6183
6184    </li>                <li class="pt-1">
6185                    <a class="hover:text-red duration-300" href="https://www.flooringinc.com/blog/category/round-up">
6186                        Round Up                                                    <span>4</span>
6187                                            </a>
6188                        
6189
6190    </li>                <li class="pt-1">
6191                    <a class="hover:text-red duration-300" href="https://www.flooringinc.com/blog/category/kitchen">
6192                        Kitchen Decor Tips                                                    <span>4</span>
6193                                            </a>
6194                        
6195
6196    </li>                <li class="pt-1">
6197                    <a class="hover:text-red duration-300" href="https://www.flooringinc.com/blog/category/carpet">
6198                        Carpet                                                    <span>57</span>
6199                                            </a>
6200                        
6201
6202    </li>                <li class="pt-1">
6203                    <a class="hover:text-red duration-300" href="https://www.flooringinc.com/blog/category/vinyl">
6204                        Vinyl                                                    <span>78</span>
6205                                            </a>
6206                        
6207
6208    </li>                <li class="pt-1">
6209                    <a class="hover:text-red duration-300" href="https://www.flooringinc.com/blog/category/basement">
6210                        Basement                                                    <sp
6210an>3</span>
6211                                            </a>
6212                        
6213
6214    </li>                <li class="pt-1">
6215                    <a class="hover:text-red duration-300" href="https://www.flooringinc.com/blog/category/general">
6216                        General                                                    <span>1</span>
6217                                            </a>
6218                        
6219
6220    </li>                <li class="pt-1">
6221                    <a class="hover:text-red duration-300" href="https://www.flooringinc.com/blog/category/foam-tiles">
6222                        Foam Tiles                                                    <span>16</span>
6223                                            </a>
6224                        
6225
6226            
6227
6228    </li>                <li class="pt-1">
6229                    <a class="hover:text-red duration-300" href="https://www.flooringinc.com/blog/category/garage">
6230                        Garage Flooring Guides                                                    <span>38</span>
6231                                            </a>
6232                        
6233
6234    </li>                <li class="pt-1">
6235                    <a class="hover:text-red duration-300" href="https://www.flooringinc.com/blog/category/outdoor">
6236                        Outdoor                                                    <span>29</span>
6237                                            </a>
6238                        
6239
6240            
6241
6242    </li>                <li class="pt-1">
6243                    <a class="hover:text-red duration-300" href="https://www.flooringinc.com/blog/category/rubber-flooring">
6244                        Rubber Flooring Articles                                                    <span>75</span>
6245                                            </a>
6246                        
6247
6248    </li>                <li class="pt-1">
6249                    <a class="hover:text-red duration-300" href="https://www.flooringinc.com/blog/category/cork">
6250                        Cork                                                    <span>2</span>
6251                                            </a>
6252                        
6253
6254            
6255
6256            
6257
6258            
6259
6260    </li>                <li class="pt-1">
6261                    <a class="hover:text-red duration-300" href="https://www.flooringinc.com/blog/category/real-estate">
6262                        Real Estate                                                    <span>2</span>
6263                                            </a>
6264                        
6265
6266    </li>                <li class="pt-1">
6267                    <a class="hover:text-red duration-300" href="https://www.flooringinc.com/blog/category/gift-guides">
6268                        Gift Guides                                                    <span>5</span>
6269                                            </a>
6270                        
6271
6272    </li>                <li class="pt-1">
6273                    <a class="hover:text-red duration-300" href="https://www.flooringinc.com/blog/category/dance-flooring">
6274                        Dance Flooring Articles                                                    <span>18</span>
6275                                            </a>
6276                        
6277
6278    </li>                <li class="pt-1">
6279                    <a class="hover:text-red duration-300" href="https://www.flooringinc.com/blog/category/gym-flooring">
6280                        Gym Flooring                                                    <span>31</span>
6281                                            </a>
6282                        
6283
6284    </li>                <li class="pt-1">
6285                    <a class="hover:text-red duration-300" href="https://www.flooringinc.com/blog/category/turf">
6286                        Turf                                                    <span>22</span>
6287                                            </a>
6288                        
6289
6290    </li>                <li class="pt-1">
6291                    <a class="hover:text-red duration-300" href="https://www.flooringinc.com/blog/category/gymnastics">
6292                        Gymnastics                                                    <sp
6292an>10</span>
6293                                            </a>
6294                        
6295
6296    </li>                <li class="pt-1">
6297                    <a class="hover:text-red duration-300" href="https://www.flooringinc.com/blog/category/flooring-trends">
6298                        Flooring Trends                                                    <span>27</span>
6299                                            </a>
6300                        
6301
6302            
6303
6304    </li>                <li class="pt-1">
6305                    <a class="hover:text-red duration-300" href="https://www.flooringinc.com/blog/category/bathroom">
6306                        Bathroom                                                    <span>3</span>
6307                                            </a>
6308                        
6309
6310    </li>                <li class="pt-1">
6311                    <a class="hover:text-red duration-300" href="https://www.flooringinc.com/blog/category/buying-guide">
6312                        Buying Guide                                                    <span>139</span>
6313                                            </a>
6314                        
6315
6316    </li>                <li class="pt-1">
6317                    <a class="hover:text-red duration-300" href="https://www.flooringinc.com/blog/category/engineered-hardwood">
6318                        Engineered Hardwood                                                    <span>14</span>
6319                                            </a>
6320                        
6321
6322    </li>                <li class="pt-1">
6323                    <a class="hover:text-red duration-300" href="https://www.flooringinc.com/blog/category/grout">
6324                        Grout                                                    <span>4</span>
6325                                            </a>
6326                        
6327
6328    </li>                <li class="pt-1">
6329                    <a class="hover:text-red duration-300" href="https://www.flooringinc.com/blog/category/epoxy">
6330                        Epoxy                                                    <span>4</span>
6331                                            </a>
6332                        
6333
6334    </li>                <li class="pt-1">
6335                    <a class="hover:text-red duration-300" href="https://www.flooringinc.com/blog/category/wrestling">
6336                        Wrestling                                                    <span>2</span>
6337                                            </a>
6338                        
6339
6340            
6341
6342    </li>                <li class="pt-1">
6343                    <a class="hover:text-red duration-300" href="https://www.flooringinc.com/blog/category/peel-and-stick">
6344                        Peel and Stick                                                    <span>2</span>
6345                                            </a>
6346                        
6347
6348    </li>                <li class="pt-1">
6349                    <a class="hover:text-red duration-300" href="https://www.flooringinc.com/blog/category/court-flooring">
6350                        Court Flooring                                                    <span>5</span>
6351                                            </a>
6352                        
6353
6354            
6355
6356    </li>                <li class="pt-1">
6357                    <a class="hover:text-red duration-300" href="https://www.flooringinc.com/blog/category/how-to-clean">
6358                        How to Clean                                                    <span>26</span>
6359                                            </a>
6360                        
6361
6362    <ul>                <li class="pl-2.5">
6363                    <a class="hover:text-red duration-300" href="https://www.flooringinc.com/blog/category/how-to-clean/hard-tile">
6364                        Hard Tile                                                    <span>14</span>
6365                                            </a>
6366                        
6367
6368    </ul></li>                <li class="pt-1">
6369                    <a class="hover:text-red duration-300" href="https://www.flooringinc.com/blog/category/best-of">
6370                        Best of                                                    <sp
6370an>32</span>
6371                                            </a>
6372                        
6373
6374    </li>                <li class="pt-1">
6375                    <a class="hover:text-red duration-300" href="https://www.flooringinc.com/blog/category/faq">
6376                        FAQ                                                    <span>13</span>
6377                                            </a>
6378                        
6379
6380            
6381
6382    </li>                <li class="pt-1">
6383                    <a class="hover:text-red duration-300" href="https://www.flooringinc.com/blog/category/bedroom">
6384                        Bedroom                                                    <span>3</span>
6385                                            </a>
6386                        
6387
6388    </li>                <li class="pt-1">
6389                    <a class="hover:text-red duration-300" href="https://www.flooringinc.com/blog/category/trade-show-flooring">
6390                        Trade Show Flooring                                                    <span>2</span>
6391                                            </a>
6392                        
6393
6394    </li>                <li class="pt-1">
6395                    <a class="hover:text-red duration-300" href="https://www.flooringinc.com/blog/category/playground">
6396                        Playground                                                    <span>8</span>
6397                                            </a>
6398                        
6399
6400    </li>                <li class="pt-1">
6401                    <a class="hover:text-red duration-300" href="https://www.flooringinc.com/blog/category/composite-decking">
6402                        Composite Decking                                                    <span>16</span>
6403                                            </a>
6404                        
6405
6406    </li>                <li class="pt-1">
6407                    <a class="hover:text-red duration-300" href="https://www.flooringinc.com/blog/category/pet-friendly">
6408                        Pet Friendly                                                    <span>13</span>
6409                                            </a>
6410                        
6411
6412            
6413
6414    </li>                <li class="pt-1">
6415                    <a class="hover:text-red duration-300" href="https://www.flooringinc.com/blog/category/commercial-flooring-3">
6416                        Commercial Flooring                                                    <span>5</span>
6417                                            </a>
6418                        
6419
6420    </ul>
6421    </div>
6422
6423<script>
6424    document.addEventListener('DOMContentLoaded', function () {
6425        const currentUrl = window.location.href;
6426        const categoryLinks = document.querySelectorAll('.block-categories .accordion li a');
6427        categoryLinks.forEach(link => {
6428            if (link.href === currentUrl) {
6429                link.classList.add('active');
6430            } else {
6431                link.classList.remove('active');
6432            }
6433        });
6434    });
6435</script>
6435
6436<div class="block-recent-posts block-list-posts mb-10" >
6437    <div class="title text-xl md:text-2xl font-semibold py-2">
6438        Recent Posts    </div>
6439    <div class="block-content flex flex-col gap-6 mt-3">
6440                    <div class="item flex gap-4">
6441                                                        <div class="post-image flex-grow-0 flex-shrink-0 self-start w-4/12">
6442                        <a class="post-item-link" title="Living.Fit Reviews: How Their Rubber Gym Flooring Compares to FlooringInc" href="https://www.flooringinc.com/blog/living-fit-reviews">
6443                                                        <picture><source type="image/webp" srcset="https://www.flooringinc.com/media/blog/cache/300x200/magefan_blog/livingfit-cover.webp"><img data-width-amp="300" data-height-amp="200" layout="responsive" src="https://www.flooringinc.com/media/blog/cache/300x200/magefan_blog/livingfit-cover.jpg" alt="Man standing in a high-end home gym with black rubber roll flooring, thought bubble asking who to trust with the floor, beside a comparison of 3 Living.Fit Trustpilot reviews against 1,631 for FlooringInc" /></picture>
6444                        </a>
6445                    </div>
6446                
6447                <div class="post-info flex-grow-1">
6448                    <a class="post-item-link font-medium hover:text-red duration-300" title="Living.Fit Reviews: How Their Rubber Gym Flooring Compares to FlooringInc" href="https://www.flooringinc.com/blog/living-fit-reviews">Living.Fit Reviews: How Their Rubber Gym Flooring Compares to FlooringInc</a>
6449
6450                                            <div class="post-item-date text-gray-400">
6451                            <span class="value">September 15, 2026</span>
6452                        </div>
6453                                    </div>
6454            </div>
6455                    <div class="item flex gap-4">
6456                                                        <div class="post-image flex-grow-0 flex-shrink-0 self-start w-4/12">
6457                        <a class="post-item-link" title="Nitro Garage Flooring: From a Bedroom Office to 28 Million Square Feet" href="https://www.flooringinc.com/blog/why-nitro-garage-tiles">
6458                                                        <picture><source type="image/webp" srcset="https://www.flooringinc.com/media/blog/cache/300x200/magefan_blog/hero_1200x630.webp"><img data-width-amp="300" data-height-amp="200" layout="responsive" src="https://www.flooringinc.com/media/blog/cache/300x200/magefan_blog/hero_1200x630.png" alt="Every garage floor Nitro makes: the Coin, Diamond and Vented tile patterns drawn at 12 by 12 by 3/8 inches, with the full color range by line - 8 colors for Nitro Tiles, 14 for Nitro Pro including six two-tone, 6 for Flex Nitro XL and 2 for Slate Flex Nit" /></picture>
6459                        </a>
6460                    </div>
6461                
6462                <div class="post-info flex-grow-1">
6463                    <a class="post-item-link font-medium hover:text-red duration-300" title="Nitro Garage Flooring: From a Bedroom Office to 28 Million Square Feet" href="https://www.flooringinc.com/blog/why-nitro-garage-tiles">Nitro Garage Flooring: From a Bedroom Office to 28 Million Square Feet</a>
6464
6465                                            <div class="post-item-date text-gray-400">
6466                            <span class="value">August 23, 2026</span>
6467                        </div>
6468                                    </div>
6469            </div>
6470                    <div class="item flex gap-4">
6471                                                        <div class="post-image flex-grow-0 flex-shrink-0 self-start w-4/12">
6472                        <a class="post-item-link" title="Dog Kennel Flooring: A Commercial Buyer&#039;s Guide for Boarding, Breeding, and Shelter Operators" href="https://www.flooringinc.com/blog/commercial-kennel-flooring">
6473                                                        <picture><source type="image/webp" srcset="https://www.flooringinc.com/media/blog/cache/300x200/magefan_blog/dog-kennel-flooring-hero.webp"><img data-width-amp="300" data-height-amp="200" layout="responsive" src="https://www.flooringinc.com/media/blog/cache/300x200/magefan_blog/dog-kennel-flooring-hero.jpg" alt="Commercial dog kennel flooring with sealed vinyl-surface rolls sloped to a trench drain in a boarding facility run." /></picture>
6474                        </a>
6475                    </div>
6476                
6477                <div class="post-info flex-grow-1">
6478                    <a class="post-item-link font-medium hover:text-red duration-300" title="Dog Kennel Flooring: A Commercial Buyer&#039;s Guide for Boarding, Breeding, and Shelter Operators" href="https://www.flooringinc.com/blog/commercial-kennel-flooring">Dog Kennel Flooring: A Commercial Buyer&#039;s Guide for Boarding, Breeding, and Shelter Operators</a>
6479
6480                                            <div class="post-item-date text-gray-400">
6481                            <span class="value">August 07, 2026</span>
6482                        </div>
6483                                    </div>
6484            </div>
6485                    <div class="item flex gap-4">
6486                                                        <div class="post-image flex-grow-0 flex-shrink-0 self-start w-4/12">
6487                        <a class="post-item-link" title="What Trade Show Flooring Costs: Shipping, Drayage, and the Cheap Way In" href="https://www.flooringinc.com/blog/trade-show-flooring-cost">
6488                                                        <picture><source type="image/webp" srcset="https://www.flooringinc.com/media/blog/cache/300x200/magefan_blog/best-trade-show-flooring-booth-foam-wood-tile.webp"><img data-width-amp="300" data-height-amp="200" layout="responsive" src="https://www.flooringinc.com/media/blog/cache/300x200/magefan_blog/best-trade-show-flooring-booth-foam-wood-tile.jpg" alt="Trade show booth with wood-look interlocking foam floor tiles beside a bare concrete convention hall aisle" /></picture>
6489                        </a>
6490                    </div>
6491                
6492                <div class="post-info flex-grow-1">
6493                    <a class="post-item-link font-medium hover:text-red duration-300" title="What Trade Show Flooring Costs: Shipping, Drayage, and the Cheap Way In" href="https://www.flooringinc.com/blog/trade-show-flooring-cost">What Trade Show Flooring Costs: Shipping, Drayage, and the Cheap Way In</a>
6494
6495                                            <div class="post-item-date text-gray-400">
6496                            <span class="value">August 03, 2026</span>
6497                        </div>
6498                                    </div>
6499            </div>
6500                    <div class="item flex gap-4">
6501                                                        <div class="post-image flex-grow-0 flex-shrink-0 self-start w-4/12">
6502                        <a class="post-item-link" title="Best Flooring for a Veterinary Clinic: A Spec Guide by Zone" href="https://www.flooringinc.com/blog/veterinary-clinic-flooring">
6503                                                        <picture><source type="image/webp" srcset="https://www.flooringinc.com/media/blog/cache/300x200/magefan_blog/vet-clinic-hero-rubber-floor_2.webp"><img data-width-amp="300" data-height-amp="200" layout="responsive" src="https://www.flooringinc.com/media/blog/cache/300x200/magefan_blog/vet-clinic-hero-rubber-floor_2.jpg" alt="Veterinary clinic treatment area with a dark commercial rubber floor and a stainless steel exam table" /></picture>
6504                        </a>
6505                    </div>
6506                
6507                <div class="post-info flex-grow-1">
6508                    <a class="post-item-link font-medium hover:text-red duration-300" title="Best Flooring for a Veterinary Clinic: A Spec Guide by Zone" href="https://www.flooringinc.com/blog/veterinary-clinic-flooring">Best Flooring for a Veterinary Clinic: A Spec Guide by Zone</a>
6509
6510                                            <div class="post-item-date text-gray-400">
6511                            <span class="value">July 28, 2026</span>
6512                        </div>
6513                                    </div>
6514            </div>
6515            </div>
6516</div>
6517
6518
6519<div class="block-featured-posts block-list-posts mb-10" >
6520    <div class="title text-xl md:text-2xl font-semibold py-2">
6521        Featured Posts    </div>
6522    <div class="block-content flex flex-col gap-6 mt-3">
6523                    <div class="item flex gap-4">
6524                                                        <div class="post-image flex-grow-0 flex-shrink-0 self-start w-4/12">
6525                        <a class="post-item-link" title="How to Install Rubber Flooring: 11 Tips to Know" href="https://www.flooringinc.com/blog/how-to-install-rubber-flooring">
6526                                                        <picture><source type="image/webp" srcset="https://www.flooringinc.com/media/blog/cache/300x200/magefan_blog/2024/02/14003-1.webp"><img data-width-amp="300" data-height-amp="200" layout="responsive" src="https://www.flooringinc.com/media/blog/cache/300x200/magefan_blog/2024/02/14003-1.jpg" alt="How to Install Rubber Flooring: 11 Tips to Know" /></picture>
6527                        </a>
6528                    </div>
6529                
6530                <div class="post-info flex-grow-1">
6531                    <a class="post-item-link font-medium hover:text-red duration-300" title="How to Install Rubber Flooring: 11 Tips to Know" href="https://www.flooringinc.com/blog/how-to-install-rubber-flooring">How to Install Rubber Flooring: 11 Tips to Know</a>
6532
6533                                            <div class="post-item-date text-gray-400">
6534                            <span class="value">December 31, 2024</span>
6535                        </div>
6536                                    </div>
6537            </div>
6538                    <div class="item flex gap-4">
6539                                                        <div class="post-image flex-grow-0 flex-shrink-0 self-start w-4/12">
6540                        <a class="post-item-link" title="What is Rubber Flooring: Exploring the Versatility and Benefits" href="https://www.flooringinc.com/blog/what-is-rubber-flooring">
6541                                                        <picture><source type="image/webp" srcset="https://www.flooringinc.com/media/blog/cache/300x200/magefan_blog/Screenshot_2025-01-14_141730.webp"><img data-width-amp="300" data-height-amp="200" layout="responsive" src="https://www.flooringinc.com/media/blog/cache/300x200/magefan_blog/Screenshot_2025-01-14_141730.png" alt="Next Day Rubber Rolls" /></picture>
6542                        </a>
6543                    </div>
6544                
6545                <div class="post-info flex-grow-1">
6546                    <a class="post-item-link font-medium hover:text-red duration-300" title="What is Rubber Flooring: Exploring the Versatility and Benefits" href="https://www.flooringinc.com/blog/what-is-rubber-flooring">What is Rubber Flooring: Exploring the Versatility and Benefits</a>
6547
6548                                            <div class="post-item-date text-gray-400">
6549                            <span class="value">January 14, 2025</span>
6550                        </div>
6551                                    </div>
6552            </div>
6553                    <div class="item flex gap-4">
6554                                                        <div class="post-image flex-grow-0 flex-shrink-0 self-start w-4/12">
6555                        <a class="post-item-link" title="Expert&#039;s Guide to Rubber Flooring Rolls for Gyms" href="https://www.flooringinc.com/blog/rubber-flooring-rolls-buying-guide">
6556                                                        <picture><source type="image/webp" srcset="https://www.flooringinc.com/media/blog/cache/300x200/magefan_blog/Screenshot_2024-12-31_113915.webp"><img data-width-amp="300" data-height-amp="200" layout="responsive" src="https://www.flooringinc.com/media/blog/cache/300x200/magefan_blog/Screenshot_2024-12-31_113915.png" alt="8mm Pre Cut rubber Rolls" /></picture>
6557                        </a>
6558                    </div>
6559                
6560                <div class="post-info flex-grow-1">
6561                    <a class="post-item-link font-medium hover:text-red duration-300" title="Expert&#039;s Guide to Rubber Flooring Rolls for Gyms" href="https://www.flooringinc.com/blog/rubber-flooring-rolls-buying-guide">Expert&#039;s Guide to Rubber Flooring Rolls for Gyms</a>
6562
6563                                            <div class="post-item-date text-gray-400">
6564                            <span class="value">January 15, 2026</span>
6565                        </div>
6566                                    </div>
6567            </div>
6568            </div>
6569</div>
6570
6571
6572<div class="block-popular-posts block-list-posts mb-10" >
6573    <div class="title text-xl md:text-2xl font-semibold py-2">
6574        Popular Posts    </div>
6575    <div class="block-content flex flex-col gap-6 mt-3">
6576                    <div class="item flex gap-4">
6577                                                        <div class="post-image flex-grow-0 flex-shrink-0 self-start w-4/12">
6578                        <a class="post-item-link" title="Home Gym Flooring Guide: Rubber, Foam, Vinyl &amp; Carpet Compared" href="https://www.flooringinc.com/blog/4-options-for-home-gym-flooring">
6579                                                        <picture><source type="image/webp" srcset="https://www.flooringinc.com/media/blog/cache/300x200/magefan_blog/2021/01/7225.webp"><img data-width-amp="300" data-height-amp="200" layout="responsive" src="https://www.flooringinc.com/media/blog/cache/300x200/magefan_blog/2021/01/7225.jpg" alt="Premium HD Soft Foam Tiles" /></picture>
6580                        </a>
6581                    </div>
6582                
6583                <div class="post-info flex-grow-1">
6584                    <a class="post-item-link font-medium hover:text-red duration-300" title="Home Gym Flooring Guide: Rubber, Foam, Vinyl &amp;
6584 Carpet Compared" href="https://www.flooringinc.com/blog/4-options-for-home-gym-flooring">Home Gym Flooring Guide: Rubber, Foam, Vinyl &amp; Carpet Compared</a>
6585
6586                                            <div class="post-item-date text-gray-400">
6587                            <span class="value">October 22, 2025</span>
6588                        </div>
6589                                    </div>
6590            </div>
6591                    <div class="item flex gap-4">
6592                                                        <div class="post-image flex-grow-0 flex-shrink-0 self-start w-4/12">
6593                        <a class="post-item-link" title="Outdoor Flooring Trends: Decking, Turf &amp; Patio Ideas" href="https://www.flooringinc.com/blog/outdoor-flooring-trends">
6594                                                        <picture><source type="image/webp" srcset="https://www.flooringinc.com/media/blog/cache/300x200/magefan_blog/-B779_9.webp"><img data-width-amp="300" data-height-amp="200" layout="responsive" src="https://www.flooringinc.com/media/blog/cache/300x200/magefan_blog/-B779_9.png" alt="Interlocking Deck Top Roof Tiles" /></picture>
6595                        </a>
6596                    </div>
6597                
6598                <div class="post-info flex-grow-1">
6599                    <a class="post-item-link font-medium hover:text-red duration-300" title="Outdoor Flooring Trends: Decking, Turf &amp; Patio Ideas" href="https://www.flooringinc.com/blog/outdoor-flooring-trends">Outdoor Flooring Trends: Decking, Turf &amp; Patio Ideas</a>
6600
6601                                            <div class="post-item-date text-gray-400">
6602                            <span class="value">November 12, 2024</span>
6603                        </div>
6604                                    </div>
6605            </div>
6606                    <div class="item flex gap-4">
6607                                                        <div class="post-image flex-grow-0 flex-shrink-0 self-start w-4/12">
6608                        <a class="post-item-link" title="How to Install Cork Flooring" href="https://www.flooringinc.com/blog/how-to-install-cork-flooring">
6609                                                        <picture><source type="image/webp" srcset="https://www.flooringinc.com/media/blog/cache/300x200/magefan_blog/2018/09/cork.webp"><img data-width-amp="300" data-height-amp="200" layout="responsive" src="https://www.flooringinc.com/media/blog/cache/300x200/magefan_blog/2018/09/cork.jpg" alt="How to Install Cork Flooring" /></picture>
6610                        </a>
6611                    </div>
6612                
6613                <div class="post-info flex-grow-1">
6614                    <a class="post-item-link font-medium hover:text-red duration-300" title="How to Install Cork Flooring" href="https://www.flooringinc.com/blog/how-to-install-cork-flooring">How to Install Cork Flooring</a>
6615
6616                                            <div class="post-item-date text-gray-400">
6617                            <span class="value">January 02, 2025</span>
6618                        </div>
6619                                    </div>
6620            </div>
6621                    <div class="item flex gap-4">
6622                                                        <div class="post-image flex-grow-0 flex-shrink-0 self-start w-4/12">
6623                        <a class="post-item-link" title="Home Gym: Foam vs Rubber" href="https://www.flooringinc.com/blog/home-gym-foam-vs-rubber">
6624                                                        <picture><source type="image/webp" srcset="https://www.flooringinc.com/media/blog/cache/300x200/magefan_blog/2015/04/Home-Gym.webp"><img data-width-amp="300" data-height-amp="200" layout="responsive" src="https://www.flooringinc.com/media/blog/cache/300x200/magefan_blog/2015/04/Home-Gym.jpg" alt="Home Gym: Foam vs Rubber" /></picture>
6625                        </a>
6626                    </div>
6627                
6628                <div class="post-info flex-grow-1">
6629                    <a class="post-item-link font-medium hover:text-red duration-300" title="Home Gym: Foam vs Rubber" href="https://www.flooringinc.com/blog/home-gym-foam-vs-rubber">Home Gym: Foam vs Rubber</a>
6630
6631                                            <div class="post-item-date text-gray-400">
6632                            <span class="value">January 14, 2025</span>
6633                        </div>
6634                                    </div>
6635            </div>
6636                    <div class="item flex gap-4">
6637                                                        <div class="post-image flex-grow-0 flex-shrink-0 self-start w-4/12">
6638                        <a class="post-item-link" title="How to Install Carpet Tiles" href="https://www.flooringinc.com/blog/how-to-install-carpet-tiles">
6639                                                        <picture><source type="image/webp" srcset="https://www.flooringinc.com/media/blog/cache/300x200/magefan_blog/Screenshot_2025-03-19_125424.webp"><img data-width-amp="300" data-height-amp="200" layout="responsive" src="https://www.flooringinc.com/media/blog/cache/300x200/magefan_blog/Screenshot_2025-03-19_125424.png" alt="Heritage Carpet Tile" /></picture>
6640                        </a>
6641                    </div>
6642                
6643                <div class="post-info flex-grow-1">
6644                    <a class="post-item-link font-medium hover:text-red duration-300" title="How to Install Carpet Tiles" href="https://www.flooringinc.com/blog/how-to-install-carpet-tiles">How to Install Carpet Tiles</a>
6645
6646                                            <div class="post-item-date text-gray-400">
6647                            <span class="value">March 19, 2025</span>
6648                        </div>
6649                                    </div>
6650            </div>
6651            </div>
6652</div>
6653
6654</aside></div></main><footer class="page-footer"><div class="footer content">
6655<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>
6656<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>
6657<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>
6658<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">
6658<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>
6659<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>
6660</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">
6661    <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>
6662<li style="line-height: 10px;"><a id="T6SH02B" tabindex="0" href="/contact">Contact Us</a></li>
6663<li style="line-height: 10px;"><a tabindex="0" href="/about">About Us</a></li>
6664<li style="line-height: 10px;"><a id="EHRBRCU" tabindex="0" href="/careers">Careers</a></li>
6665<li style="line-height: 10px;"><a tabindex="0" href="/privacy-policy">Privacy Policy</a></li>
6666<li style="line-height: 10px;"><a tabindex="0" href="/affirm">Affirm</a></li>
6667<li style="line-height: 10px;"><a tabindex="0" href="/our-commitment-accessibility">Accessibility</a></li>
6668<li style="line-height: 10px;"><a tabindex="0" href="/terms-and-conditions">Terms &amp; Conditions</a></li>
6669</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>
6670<li><a tabindex="0" href="/shipping-info">Shipping</a></li>
6671<li><a id="ER5IYQ2" tabindex="0" href="/sales/guest/form">Track Order</a></li>
6672<li><a tabindex="0" href="/returns-exchanges">Returns &amp; Exchanges</a></li>
6673<li><a tabindex="0" href="/moneybackguarantee">Money Back Guarantee</a></li>
6674<li id="W8TRHHE"><a tabindex="0" href="/pro-advantage">Pro Advantage</a></li>
6675<li><a href="/dor-sites">Sales &amp; Use Tax</a></li>
6676</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>
6677<li><a tabindex="0" href="/knowledge-base">FAQs</a></li>
6678<li><a tabindex="0" href="/sample-request">Samples</a></li>
6679<li><a tabindex="0" href="https://flooringinc.cashstar.com/store/recipient?locale=en-us">Gift Cards</a></li>
6680<li><a href="/promotions-disclaimer">Promotions</a></li>
6681</ul></div></div></div></div></div></div></div>
6682</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">
6683    <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">
6684    <form class="form subscribe" action="https://www.flooringinc.com/newsletter/subscriber/new/" method="post" x-data="initNewsletterForm()" @submit.prevent="submitForm(
6684)" id="newsletter-validate-detail">
6685        <div class="mb-3 text-sm font-medium tracking-widest text-gray-900 uppercase title-font">
6686            <h4 class="text-lg font-medium text-black mb-1 capitalize">Get Ready To Be Floored!</h4>
6687            <p calss="sub_heading capitalize">Join our insider's club</p>
6688        </div>
6689        <div class="flex flex-wrap justify-center gap-2 md:justify-start">
6690            <label for="newsletter-subscribe" class="sr-only">
6691                Email Address            </label>
6692            <input name="email" type="email" required id="newsletter-subscribe" class="form-input inline-flex w-full" placeholder="Enter email address">
6693            <input name="form_key" type="hidden" value="3V4WQKnndHMXSDau">                        <button class="btn btn-primary">
6694                Subscribe Now            </button>
6695        </div>
6696        <div>
6697            <template x-if="displayErrorMessage">
6698                <p class="flex items-center text-red">
6699                    <span class="inline-block w-8 h-8 mr-3">
6700                        <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">
6701  <path stroke-linecap="round" stroke-linejoin="round" d="M12 8v4m0 4h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z"></path>
6702<title>exclamation-circle</title></svg>
6703                    </span>
6704                    <template x-for="errorMessage in errorMessages">
6705                        <span x-html="errorMessage"></span>
6706                    </template>
6707                </p>
6708            </template>
6709        </div>
6710    </form>
6711    <div class="w-full">
6712            </div>
6713    
6713<script>
6714        function initNewsletterForm() {
6715            return {
6716                errors: 0,
6717                hasCaptchaToken: 0,
6718                displayErrorMessage: false,
6719                errorMessages: [],
6720                setErrorMessages(messages) {
6721                    this.errorMessages = [messages]
6722                    this.displayErrorMessage = this.errorMessages.length
6723                },
6724                submitForm() {
6725                    // Do not rename $form, the variable is expected to be declared in the recaptcha output
6726                    const $form = document.querySelector('#newsletter-validate-detail');
6727                    
6728                    if (this.errors === 0) {
6729                        $form.submit();
6730                    }
6731                }
6732            }
6733        }
6734    </script>
6734
6735</div>
6736
6737<div class="pr-4 lg:w-1/4 md:w-1/2">
6738
6739</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>
6740</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">
6741    <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>
6742<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>
6743<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>
6744</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>
6745<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>
6746<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>
6747<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>
6748<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>
6749<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>
6750<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>
6751<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>
6752</ul></div></div></div></div><div data-content-type="html" data-appearance="default" data-element="main" data-decoded="true"><style>
6753.checkout-cart-index .summary-cart .cart-discount{display:block;}
6754.page-with-filter .products.wrapper.mode-list.products-list .item.product .catergory_slider_content .compare-buttons .compare-buttons-mobile{order:2;}
6755.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;}
6756@media(min-width:1280px){.mega_menu_banner img{max-width: 239px !important;}}
6757.cms-home .catergory_slider_content .product-item-link{font-size: .875rem;line-height: 1.313rem;}
6758@media(min-width: 768px){
6759.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);}
6759.catergory_slider_content .compare-buttons .orderSampleContent{order:3;}
6760.catergory_slider_content .compare-buttons .ship-fax-plp .ship-iconsada{display: block;}
6761.page-products #maincontent .products.mode-grid .catergory_slider_content .compare-buttons .orderSampleContent{order: 3;}
6762   .category_banner .pagebuilder-column-group .pagebuilder-column-line .pagebuilder-column figure picture{height: 100% !important;object-fit:cover;}
6763[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;}
6764.cms-home [data-content-type=products][data-appearance=carousel] [data-role=glider-content] .item.product:not(.glider-slide){min-width: 370px;}
6765[data-content-type=products][data-appearance=carousel] [data-role=glider-content]:not(.glider)::-webkit-scrollbar{width: 10px;}
6766[data-content-type=products][data-appearance=carousel] [data-role=glider-content]:not(.glider)::-webkit-scrollbar-track {background: #ffffff !important;}
6767[data-content-type=products][data-appearance=carousel] [data-role=glider-content]:not(.glider)::-webkit-scrollbar-thumb {background: #ffffff !important;}
6768}
6769@media(min-width: 768px){
6770  .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;}
6771  .featured_partners .swiper-container:not(.swiper-initialized) .swiper-slide{width: 16%;}
6772  .featured_partners .swiper-container:not(.swiper-initialized)::-webkit-scrollbar{width: 10px;}
6773  .featured_partners .swiper-container:not(.swiper-initialized)::-webkit-scrollbar-track {background: #ffffff !important;}
6774  .featured_partners .swiper-container:not(.swiper-initialized)::-webkit-scrollbar-thumb {background: #ffffff !important;}
6775  .featured_partners .swiper-container:not(.swiper-initialized)::-webkit-scrollbar-thumb:hover {background: #ffffff !important;}
6776}
6777@media(max-width:767px){.page-products #maincontent .toolbar.toolbar-products .pages-items{justify-content: center;gap: 10px;box-shadow: none;}}
6778</style></div></div>
6779</div></div></div></div><div data-content-type="html" data-appearance="default" data-element="main" data-decoded="true">
6779<script>
6780    document.addEventListener('DOMContentLoaded', function () {
6781        const gallery = document.querySelector('#gallery');
6782        const header = document.querySelector('#header');
6783        if (!gallery || !header) return;
6784        const stickyTop = header.offsetHeight;
6785        // parent/container where sticky should stop
6786        const parent = gallery.parentElement;
6787        function checkSticky() {
6788            const rect = gallery.getBoundingClientRect();
6789            const parentRect = parent.getBoundingClientRect();
6790            // sticky active only while parent still has space
6791            const isSticky =
6792                rect.top <= stickyTop &&
6793                parentRect.bottom > rect.height + stickyTop;
6794            document.body.classList.toggle('gallery-sticky', isSticky);
6795        }
6796        checkSticky();
6797        window.addEventListener('scroll', checkSticky);
6798        window.addEventListener('resize', checkSticky);
6799    });
6800</script>
6800
6801<style>
6802@media (min-width: 1200px) {
6803    .megamenu_items:hover>.megamenu {
6804        max-width: 1440px;
6805    }
6806}
6807.products__recommendations .products_slider .catergory_slider_content .color_counts{margin-bottom: 15px;}
6808html.order_active .page-header #header{z-index: -1;}
6809html.order_active{overflow: hidden !important;}
6810@media(min-width: 768px){.checkout-cart-index #shopping-cart-table .cart.item .item-info td{flex-wrap: nowrap;}}
6811</style>
6812<style>
6813.cms-home .order-free-sample-popup{display: none;}
6814.cms-home.order_active .order-free-sample-popup{display: flex;}
6815@media(min-width:768px){
6816.page-with-filter .widget-product-carousel .catergory_slider_content .compare-buttons{flex-wrap: wrap;}
6817.page-with-filter .widget-product-carousel .catergory_slider_content .compare-buttons .ship-fax-plp{order:1;}
6818.page-with-filter .widget-product-carousel .catergory_slider_content .compare-buttons .compare-buttons-mobile{width: 100%;order: 2;display: flex;justify-content: space-between;}
6819.page-with-filter .widget-product-carousel .catergory_slider_content .compare-buttons .orderSampleContent .order_btn{margin-top: 10px;}
6820.page-with-filter .widget-product-carousel .catergory_slider_content .compare-buttons{border-top: 0px;padding-top:0px;margin-top: 0px;}
6821.catalog-product-view .products_slider .compare-buttons .qty_fields .btn_cart{width:110px}
6822}
6823@media(max-width:767px){
6824.page-with-filter .widget-product-carousel .catergory_slider_content .compare-buttons{flex-wrap: wrap;}
6825.page-with-filter .widget-product-carousel .catergory_slider_content .compare-buttons .ship-fax-plp{order:1;width: 100%;}
6826.page-with-filter .widget-product-carousel .catergory_slider_content .compare-buttons .compareBtn{order:2;justify-content: flex-start;width: auto;margin-top: 10px;}
6827.page-with-filter .widget-product-carousel .catergory_slider_content .compare-buttons .orderSampleContent{order:3;margin-top: 10px;}
6828.page-with-filter .widget-product-carousel .catergory_slider_content .compare-buttons .compare-buttons-mobile{order:2;width: 100%;display: flex;justify-content: space-between;}
6829}
6830#related_cart_slider .js_slides{margin-right: 0;margin-left: 0;}
6831@media (min-width: 1024px) {
6832.container {
6833    max-width: 1440px !important;
6834}
6835}
6836.page-with-filter .product-item .product-info .price-box .price-container .price-wrapper span.price{font-size: 20px !important;color: #1e1e1e !important;}
6837.page-with-filter .product-item .product-info .price-box .price-container .price-wrapper{font-size: 20px !important;line-height: 20px !important}
6838.brand_logo_listpage img, div.brand_logo_listpage img{max-width:100px}
6839.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;}
6840
6841.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;}
6842
6843@media(max-width: 767px){
6844   .related_products_list_view .glider-track{width: 100% !important;flex-wrap: nowrap;align-items: flex-start;}
6845   .related_products_list_view .related_products_list_view_content{width: 100% !important;min-width: 280px;max-width: 280px;}
6846}
6847
6848.dcw-share-cart .space-y-4>:not([hidden])~:not([hidden]) {
6849    --tw-space-y-reverse: 0;
6850    margin-top: calc(1rem * (1 - var(--tw-space-y-reverse)));
6851    margin-bottom: calc(1rem * var(--tw-space-y-reverse));
6852}
6853.dcw-share-cart .bg-black\/50 {
6854    background-color: #00000080;
6855}
6856.dcw-share-cart .z-\[999\] {
6857    z-index: 999;
6858}
6859</style></div></div>
6860<script>
6861    window.addEventListener('init-external-scripts', () => {
6862        const klaviyoScript = document.createElement('script');
6863        klaviyoScript.src = '//static.klaviyo.com/onsite/js/klaviyo.js?company_id=WAwVDg';
6864        klaviyoScript.type = 'text/javascript';
6865        klaviyoScript.async = true;
6866        document.head.append(klaviyoScript);
6867    }, {once: true, passive: true});
6868</script>
vendor: 1 bytes, line 6868
6868
6869<script>
6870    document.addEventListener('DOMContentLoaded', function() {
6871        const buttons = document.querySelectorAll('.cms-home .order_btn');
6872        buttons.forEach(button => {
6873            button.addEventListener('click', function() {
6874                const modal = this.closest('.orderSampleContent').querySelector('.order-free-sample-popup');
6875                if (modal) {
6876                    modal.style.display = 'block';
6877                }
6878            });
6879        });
6880
6881        // Handle closing the modal
6882        document.querySelectorAll('.cms-home .order-free-sample-popup .closemodal').forEach(closeBtn => {
6883            closeBtn.addEventListener('click', function() {
6884                const modal = this.closest('.order-free-sample-popup');
6885                if (modal) {
6886                    modal.style.display = 'none';
6887                }
6888            });
6889        });
6890    });
6891</script>
6891
6892
6893<script>
6894    document.addEventListener('DOMContentLoaded', function () {
6895        function updateRatingsClass(ratingEl) {
6896            const hasReviews = ratingEl.querySelector('.bv_numReviews_component_container');
6897            ratingEl.classList.toggle('no-reviews', !hasReviews);
6898        }
6899        document.querySelectorAll('.ratings').forEach(ratingEl => {        
6900            updateRatingsClass(ratingEl);        
6901            const observer = new MutationObserver(() => {
6902                updateRatingsClass(ratingEl);
6903            });
6904            observer.observe(ratingEl, {
6905                childList: true,
6906                subtree: true
6907            });
6908        });
6909    });
6910</script>
6910
6911
6912<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'"/>
6913<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'"/>
6914<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'"/>
6915<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'"/>
6916<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'"/>
6917<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'"/>
6918<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'"/>
6919<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'"/>
6920<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'"/>
6921<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>
6922<script>
6923    function dataServicesShoppingCartContextData()
6924    {
6925        return {
6926            initContext(cartData) {
6927                let contextCartItems = [];
6928
6929                cartData.items.forEach(function (item){
6930                    contextCartItems.push({
6931                        id: item.item_id,
6932                        formattedPrice: parseFloat(item.product_price_value ? item.product_price_value : 0),
6933                        quantity: item.qty,
6934                        product: {
6935                            productType: item.product_type,
6936                            productId: item.product_id,
6937                            name: item.product_name,
6938                            sku: item.product_sku,
6939                            mainImageUrl : item.product_image.src
6940                        },
6941                        prices: {
6942                            price: {
6943                                value: parseFloat(item.product_price_value ? item.product_price_value : 0)
6944                            }
6945                        }
6946                    })
6947                });
6948
6949                magentoStorefrontEvents.context.setShoppingCart({
6950                    id: cartData.dsCartId,
6951                    totalQuantity: cartData.summary_count,
6952                    prices: {
6953                        subtotalExcludingTax: {
6954                            value: parseFloat(cartData.subtotalAmountExclTax ? cartData.subtotalAmountExclTax : 0)
6955                        },
6956                        subtotalIncludingTax: {
6957                            value: parseFloat(cartData.subtotalAmount ? cartData.subtotalAmount : 0)
6958                        }
6959                    },
6960                    items: contextCartItems,
6961                    possibleOnepageCheckout: cartData.possible_onepage_checkout,
6962                    giftMessageSelected : false,
6963                    giftWrappingSelected : false
6964                });
6965
6966                window.dispatchEvent(new Event("shoppingCartContextSet"));
6967            }
6968        }
6969    }
6970</script>
6970
6971<div x-data="dataServicesShoppingCartContextData()"
6972     @private-content-loaded.window="initContext($event.detail.data.cart)"></div>
6973
6974    
6975<script>
6976    (function () {
6977        'use strict';
6978
6979        /**
6980         * Config to determine which element is responsible for the form submission
6981         *
6982         * @type {[{elementSelector: undefined|string, submitAttribute: string}]}
6983         */
6984        const formWrapperConfig = [{"elementSelector":null,"submitAttribute":"submit"},{"elementSelector":"[type=\"submit\"]","submitAttribute":"click"}];
6985
6986        /**
6987         * Replace protected forms submit with amRecaptchaModel.execute($event) method.
6988         * Call original submit on amrecaptcha-callback event after successful captcha validation.
6989         *
6990         * @return {void}
6991         */
6992        const wrapFormSubmit = function () {
6993            document.addEventListener("DOMContentLoaded", function () {
6994                const formsSelector = window.amRecaptchaModel?.formsToProtect || '';
6995                if (formsSelector.length === 0) {
6996                    return;
6997                }
6998
6999                document.querySelectorAll(formsSelector)?.forEach(formElement => {
7000                    if (!formElement) {
7001                        return;
7002                    }
7003
7004                    const { elementToWrap, attributeNameToWrap } = resolveElementWrapping(formElement);
7005                    if (!elementToWrap || !attributeNameToWrap) {
7006                        return;
7007                    }
7008
7009                    setElementAttributes(formElement, elementToWrap, attributeNameToWrap);
7010                });
7011            });
7012        };
7013
7014        /**
7015         * Find submit event and DOM element that has this event using formWrapperConfig.
7016         *
7017         * @param {HTMLElement} formElement
7018         * @return {{elementToWrap: undefined|string, attributeNameToWrap: undefined|string}}
7019         */
7020        const resolveElementWrapping = function (formElement) {
7021            let result = {
7022                elementToWrap: undefined,
7023                attributeNameToWrap: undefined
7024            };
7025
7026            formWrapperConfig.forEach(({ elementSelector, submitAttribute }) => {
7027                const elementToWrap = !!elementSelector ? formElement.querySelector(elementSelector) : formElement;
7028                if (!elementToWrap) {
7029                    return;
7030                }
7031
7032                const attributeNameToWrap = elementToWrap.getAttributeNames().find(
7033                    (elementAttribute) => {
7034                        /** @type {string[]} */
7035                        const submitAttributeVariations = ['@', 'x-on:'].map(variation => variation + submitAttribute);
7036
7037                        return submitAttributeVariations.some(
7038                            (submitAttributeVariation) => elementAttribute.startsWith(submitAttributeVariation)
7039                        )
7040                    }
7041                );
7042                if (!attributeNameToWrap) {
7043                    return;
7044                }
7045
7046                result.elementToWrap = elementToWrap;
7047                result.attributeNameToWrap = attributeNameToWrap;
7048            });
7049
7050            return result;
7051        }
7052
7053        /**
7054         *  Set attribute to wrap original submit, add eventListeners for captcha callbacks
7055         *
7056         * @param {HTMLElement} formElement
7057         * @param {HTMLElement} elementToWrap
7058         * @param {string} attributeNameToWrap
7059         */
7060        const setElementAttributes = function (formElement, elementToWrap, attributeNameToWrap) {
7061            const originalSubmit = elementToWrap.getAttribute(attributeNameToWrap);
7062            elementToWrap.removeAttribute(attributeNameToWrap);
7063
7064            /**
7065             * To properly set submit attribute - we need to replace '@' with 'x-on:'
7066             * and add preventDefault behaviour
7067             */
7068            elementToWrap.setAttribute(
7069                attributeNameToWrap.replace(/^@/, 'x-on:').replace(/.prevent$/, '') + '.prevent',
7070                'amRecaptchaModel.execute($event)'
7071            );
7072            elementToWrap.setAttribute(
7073                'x-on:amrecaptcha-executable-callback',
7074                originalSubmit
7075            );
7076        }
7077
7078        wrapFormSubmit();
7079    })(window.amRecaptchaModel = window.amRecaptchaModel || {});
7080</script>
7080
7081
7082<script>
7083    function initAuthenticationBss() {
7084        return {
7085            open: false,
7086            openLogin : false,
7087            openRegister : false,
7088            openForgot : false,
7089            openCreate : true,
7090            passwordsMatching: true,
7091            openMessage: false,
7092            errors: 0,
7093            message: "",
7094            hasCaptchaToken: 0,
7095            openButtonLogin : false,
7096            openButtonRegister : false,
7097            openSuccessMessage : false,
7098            checkUseReCaptcha: 1,
7099            recaptchaLoading: null,
7100            initSocial() {
7101                if (!this.checkUseReCaptcha) {
7102                    return Promise.resolve();
7103                }
7104                if (this.recaptchaLoading) {
7105                    return this.recaptchaLoading;
7106                }
7107                if (typeof window.grecaptcha !== 'undefined') {
7108                    this.recaptchaLoading = Promise.resolve();
7109                    return this.recaptchaLoading;
7110                }
7111                this.recaptchaLoading = new Promise((resolve, reject) => {
7112                    const recaptchaUrl = `https://www.google.com/recaptcha/api.js?render=6LdQFsgqAAAAAFaiT_SQ7C9UmCcxWxpMd6pIMAEO&hl=en`;
7113                    const script = document.createElement('script');
7114                    script.setAttribute('type', 'text/javascript');
7115                    script.setAttribute('src', recaptchaUrl);
7116                    script.onload = () => resolve();
7117                    script.onerror = () => reject(new Error('Failed to load reCAPTCHA'));
7118                    document.head.appendChild(script);
7119                });
7120                return this.recaptchaLoading;
7121            },
7122            loadRecaptchaOnInteraction() {
7123                if (!this.checkUseReCaptcha) {
7124                    return;
7125                }
7126                // Avoid scroll/mousemove/wheel — they fire on load / DevTools / trackpads.
7127                const events = ['pointerdown', 'keydown', 'touchstart'];
7128                const load = () => {
7129                    events.forEach((eventName) => {
7130                        window.removeEventListener(eventName, load, { capture: true });
7131                    });
7132                    this.initSocial();
7133                };
7134                events.forEach((eventName) => {
7135                    window.addEventListener(eventName, load, { once: true, passive: true, capture: true });
7136                });
7137            },
7138            checkPasswordsMatch() {
7139                if (document.getElementById('password').value ===
7140                    document.getElementById('password-confirmation').value) {
7141                    this.passwordsMatching = true;
7142                    return true;
7143                }
7144                this.passwordsMatching = false;
7145                return false;
7146            },
7147            submitForm: function () {
7148                const $form = document.querySelector('#login-form');
7149                if (this.errors === 0) {
7150                    this.dispatchLoginRequest($form);
7151                }
7152            },
7153            submitForgotForm : function () {
7154                const $form = document.querySelector('#fotgot-form');
7155                if (this.errors === 0) {
7156                    this.dispatchForgotRequest($form);
7157                }
7158            },
7159            submitRegisterForm : function () {
7160                const $form = document.querySelector('#create-form');
7161                if (this.errors === 0) {
7162                    this.dispatchRegisterRequest($form);
7163                }
7164            },
7165            validateCaptcha : async function () {
7166                await this.initSocial();
7167                return new Promise((resolve, reject) => {
7168                    if (typeof window.grecaptcha === 'undefined') {
7169                        return reject(new Error('reCAPTCHA is not available'));
7170                    }
7171                    grecaptcha.ready(function () {
7172                        grecaptcha.execute('6LdQFsgqAAAAAFaiT_SQ7C9UmCcxWxpMd6pIMAEO', {action: 'submit'}).then(function (token) {
7173                            return resolve(token);
7174                        }).catch(reject);
7175                    });
7176                });
7177            },
7178            dispatchLoginRequest:async function (form) {
7179                if (this.checkUseReCaptcha) {
7180                    let token = await this.validateCaptcha();
7181                    if(token)
7182                    {
7183                        document.getElementById("g-recaptcha-response").setAttribute('value',token);
7184                    }
7185                }
7186                const username = this.$refs['customer-email'].value;
7187                const password = this.$refs['customer-password'].value;
7188                const recaptchaValue = document.getElementById("g-recaptcha-response").value;
7189                const postUrl = "https://www.flooringinc.com/sociallogin/popup/login/";
7190                fetch(postUrl, {
7191                    headers: {
7192                        contentType: "application/x-www-form-urlencoded; charset=UTF-8",
7193                    },
7194                    body: new URLSearchParams({
7195                        username: username,
7196                        password: password,
7197                        ['g-recaptcha-response']: recaptchaValue,
7198                        form_key: hyva.getFormKey(),
7199                    }),
7200                    method: "POST",
7201                    mode: "cors",
7202                    credentials: "include",
7203                }).then(response => {
7204                        return response.json()
7205                    }
7206                ).then(data => {
7207                    this.isLoading = false;
7208                    if (data.error) {
7209                        this.message = data.message;
7210                        this.openMessage = true;
7211                        this.errors = 1;
7212                        this.hasCaptchaToken = 0;
7213                    } else {
7214                        this.message = data.message;
7215                        this.openMessage = false;
7216                        this.openSuccessMessage = true;
7217                        if (data.redirect !== '' && data.redirect != null) {
7218                            window.location.href = data.redirect;
7219                        } else {
7220                            location.reload(true);
7221                        }
7222                    }
7223                });
7224            },
7225            dispatchForgotRequest:async function (form) {
7226                if (this.checkUseReCaptcha) {
7227                    let token = await this.validateCaptcha();
7228                    if(token)
7229                    {
7230                        document.getElementById("g-recaptcha-response").setAttribute('value',token);
7231                    }
7232                }
7233                const email = form.querySelector("#email_address").value;
7234                const recaptchaValue = document.getElementById("g-recaptcha-response").value;
7235                const postUrl = "https://www.flooringinc.com/sociallogin/popup/forgot/";
7236                fetch(postUrl, {
7237                    headers: {
7238                        contentType: "application/x-www-form-urlencoded; charset=UTF-8",
7239                    },
7240                    body: new URLSearchParams({
7241                        email: email,
7242                        ['g-recaptcha-response']: recaptchaValue,
7243                        form_key: hyva.getFormKey(),
7244                    }),
7245                    method: "POST",
7246                    mode: "cors",
7247                    credentials: "include",
7248                }).then(response => {
7249                        return response.json()
7250                    }
7251                ).then(data => {
7252                    this.isLoading = false;
7253                    if (data.error) {
7254                        this.message = data.message;
7255                        this.openMessage = true;
7256                        this.errors = 1;
7257                        this.hasCaptchaToken = 0;
7258                    } else {
7259                        if (data.redirect !== '' && data.redirect != null) {
7260                            window.location.href = data.redirect;
7261                        } else {
7262                            location.reload(true);
7263                        }
7264                    }
7265                });
7266            },
7267            dispatchRegisterRequest:async function (form) {
7268                if (this.checkUseReCaptcha) {
7269                    let token = await this.validateCaptcha();
7270                    if(token)
7271                    {
7272                        document.getElementById("g-recaptcha-response").setAttribute('value',token);
7273                    }
7274                }
7275                const firstname = form.querySelector("#firstname").value;
7276                const lastname = form.querySelector("#lastname").value;
7277                const email = form.querySelector("#email_address").value;
7278                const password = form.querySelector("#password").value;
7279                const passwordConfirmation = form.querySelector("#password-confirmation").value;
7280                const recaptchaValue = document.getElementById("g-recaptcha-response").value;
7281                const postUrl = "https://www.flooringinc.com/sociallogin/popup/create/";
7282                fetch(postUrl, {
7283                    headers: {
7284                        contentType: "application/x-www-form-urlencoded; charset=UTF-8",
7285                    },
7286                    body: new URLSearchParams({
7287                        ['g-recaptcha-response']: recaptchaValue,
7288                        firstname: firstname,
7289                        lastname: lastname,
7290                        email: email,
7291                        password: password,
7292                        password_confirmation: passwordConfirmation,
7293                        form_key: hyva.getFormKey(),
7294                    }),
7295                    method: "POST",
7296                    mode: "cors",
7297                    credentials: "include",
7298                }).then(response => {
7299                        return response.json()
7300                    }
7301                ).then(data => {
7302                    this.isLoading = false;
7303                    if (data.error) {
7304                        this.message = data.message;
7305                        this.openMessage = true;
7306                        this.hasCaptchaToken = 0;
7307                    } else {
7308                        this.message = data.message;
7309                        this.openMessage = false;
7310                        this.openSuccessMessage = true;
7311                        if (data.redirect !== '' && data.redirect != null) {
7312                            window.location.href = data.redirect;
7313                        } else {
7314                            location.reload(true);
7315                        }
7316                    }
7317                });
7318            },
7319            eventListeners: {
7320                ['@popup-register.window']($event) {
7321                    this.open = true;
7322                    this.openRegister = $event.detail.openRegister;
7323                    this.openLogin = $event.detail.openLogin;
7324                    this.openCreate = $event.detail.openCreate;
7325                    this.openButtonLogin = $event.detail.openButtonLogin;
7326                    this.openButtonRegister = $event.detail.openButtonRegister;
7327                    this.initSocial();
7328                }
7329            }
7330        }
7331    }
7332</script>
7332
7333
7334<section id="authentication-popup-bss"
7335         x-data="initAuthenticationBss()" x-init="loadRecaptchaOnInteraction()"
7336         @keydown.window.escape="open = false"
7337<div role="dialog"
7338     aria-modal="true"
7339     class="hidden inset-y-0 right-0 z-30 flex max-w-full"
7340     :class="{ 'hidden': !open, 'fixed': open }"
7341     x-bind="eventListeners"
7342>
7343    <div class="relative bg-container-lighter bss_login_popup"
7344         x-show="open"
7345         @click.outside="open = false"
7346         x-transition:enter="transform transition ease-in-out duration-500 sm:duration-700"
7347         x-transition:enter-start="translate-x-full"
7348         x-transition:enter-end="translate-x-0"
7349         x-transition:leave="transform transition ease-in-out duration-500 sm:duration-700"
7350         x-transition:leave-start="translate-x-0"
7351         x-transition:leave-end="translate-x-full"
7352    >
7353        <div
7354            x-show="open"
7355            x-transition:enter="ease-in-out duration-500"
7356            x-transition:enter-start="opacity-0"
7357            x-transition:enter-end="opacity-100"
7358            x-transition:leave="ease-in-out duration-500"
7359            x-transition:leave-start="opacity-100"
7360            x-transition:leave-end="opacity-0" class="absolute flex close_icon" style="width: 11px;height: 11px;background: transparent;">
7361            <button @click="open = false;" aria-label="Close panel"
7362                    class="transition duration-150 ease-in-out text-black cursor-pointer">
7363                <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>
7364            </button>
7365        </div>
7366        <div class="flex h-full flex-col bss_login_popup_in overflow-y-auto" >
7367            <div class="message mx-4 message-error" x-show="openMessage">
7368                <div>
7369                    <span x-html="message"></span>
7370                </div>
7371                <div class="cursor-pointer" title="close" @click="openMessage = false">
7372                    <svg class="fill-current text-white" xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 18 18">
7373                        <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
7374                                                4.47 1.06 1.06L9 10.06l4.47 4.47 1.06-1.06L10.06 9z">
7375                        </path>
7376                    </svg>
7377                </div>
7378            </div>
7379            <div class="message mx-4 message-error success" x-show="openSuccessMessage">
7380                <div>
7381                    <span x-html="message"></span>
7382                </div>
7383                <div class="cursor-pointer" title="close" @click="openSuccessMessage = false">
7384                    <svg class="fill-current text-white" xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 18 18">
7385                        <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
7386                                                4.47 1.06 1.06L9 10.06l4.47 4.47 1.06-1.06L10.06 9z">
7387                        </path>
7388                    </svg>
7389                </div>
7390            </div>
7391                        <div class="block-customer-login for_got" x-show="openForgot">
7392    <h2 id="authenticate-customer-login" class="text-size18 font-medium text-darkblack">
7393        Forgot Password    </h2>
7394    <form class="form form-fotgotpassword"
7395          method="post"
7396          @submit.prevent="submitForgotForm();"
7397          id="fotgot-form">
7398        <fieldset class="fieldset">
7399            <div class="text-size14 font-normal text-black mb-4">Please enter your email address below to receive a password reset link.</div>
7400            <div class="field email required">
7401                <label for="email_address" class="label"><span>Email</span></label>
7402                <div class="control">
7403                    <input type="email" name="email" alt="email" id="email_address" class="form-input" required
7404                           value="">
7405                </div>
7406            </div>
7407        </fieldset>
7408        <div class="actions-toolbar">
7409            <div class="primary">
7410                <button type="submit" class="action submit primary"><span>Reset My Password</span></button>
7411            </div>
7412            <div class="secondary ml-4 self-center">
7413                <a class="action back cursor-pointer"
7414                   @click ="openForgot = false,openLogin = true,
7415                   openButtonLogin = true"
7416                >
7417                    <span class="text-size14 font-medium text-black">
7418                        Back                    </span>
7419                </a>
7420            </div>
7421        </div>
7422    </form>
7423</div>
7424
7425
7426            
7427            <div class="w-full">
7428                <input id="g-recaptcha-response" type="hidden" value=""/>
7429            </div>
7430            <div class="block-new-customer social_login"
7431                 x-show="openButtonLogin">
7432                <h2 id="authenticate-new-customer" class="text-size18 font-semibold text-darkblack">
7433                    Log In                </h2>
7434                <div class="block-content">
7435                                                <div id="add_button_login_byclass" x-data="bssButtonSocial()" x-ref="registerSocialButton">
7436                                <div class="">
7437                                    <div class="sociallogin-buttons" x-ref="loginSocialButton">
7438                                        <ul class="sociallogin-clearfix flex flex-wrap">
7439                                                                                            <li class="w-full text-size14 font-medium text-darkblack relative sociallogin-button
7440                                                    googleplus"  title="Login with Google">
7441                                                    <a class="sociallogin-button-link sociallogin-button-click" id="sociallogin-button-click" 
7442                                                       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"
7443                                                       data-width="630"
7444                                                       data-height="650"
7445                                                       x-ref="googleplus"
7446                                                       @click="popupSocial($refs.googleplus)">
7447                                                         <span class="sociallogin-button-auto">
7448                                                            <span class="sociallogin-button-icon">
7449                                                                                                                            </span>
7450                                                                                                                            <span class="sociallogin-button-text">Login with Google</span>
7451                                                                                                                    </span>
7452                                                    </a>
7453                                                </li>
7454                                                                                                                                        </ul>
7455                                                                            </div>
7456
7457                                </div>
7458                                <div style="clear: both;"></div>
7459                            </div>
7460                                    </div>
7461            </div>
7462            <div class="block-customer-login" x-show="openLogin" x-data="{ show: false }">
7463    <span class="or-label text-size14 font-normal text-darkblack"> Or</span>
7464
7465    <form class="form form-login"
7466          method="post"
7467          @submit.prevent="submitForm();"
7468          id="login-form"
7469    >
7470                <div class="fieldset login">
7471            <div class="field email required">
7472                <label class="label hidden" for="customer-email">
7473                    <span>Email Address</span>
7474                </label>
7475                <div class="control">
7476                    <input name="username"
7477                           x-ref="customer-email"
7478                           @change="errors = 0"
7479                           type="email"
7480                           required
7481                           class="form-input input-text" id="customer-email" placeholder="Email address" 
7482                    >
7483                </div>
7484            </div>
7485            <div class="field password required" >
7486                <label for="pass" class="label hidden">
7487                    <span>Password</span>
7488                </label>
7489                <div class="control">
7490                    <input name="password"
7491                           type="password" 
7492                           class="form-input input-text" id="pass" placeholder="Password" 
7493                           required
7494                           x-ref="customer-password"
7495                           @change="errors = 0"
7496                    >
7497                </div>
7498            </div>
7499
7500            <input name="context" type="hidden" value="checkout"/>
7501             
7502            <div class="actions-toolbar flex justify-between items-center" >
7503                <div class="flex items-center">
7504                    <input type="checkbox" name="show-password" @click="showPassword()" id="show-password" value="" class="checkbox">
7505                    <label class="cursor-pointer text-size12 font-normal text-darkblack" style="margin:0;" for="show-password">Show password</label>                    
7506                    <!-- <span class="cursor-pointer text-size12 font-normal text-darkblack" @click="showPasswordForLable()" id="show-password-label" >
7507                        Show Password 
7508                    </span> -->
7509                </div>    
7510                   <span class="cursor-pointer text-size12 font-normal text-darkblack" @click="openForgot = true,openLogin = false,openButtonLogin = false">
7511                        Forgot Your Password?                    </span>
7512                    
7513            
7514            </div>
7515            <div class="actions-toolbar flex justify-between items-center">
7516                 <button type="submit" class="inline-flex btn btn-primary login_btn">
7517                        Log In                    </button>
7518            </div>       
7519        </div>
7520    </form>
7521</div>
7522
7523<script>
7524     function showPassword(){
7525        var showPwd=document.getElementById("show-password");
7526        var password=document.getElementById("pass");
7527        if(showPwd.checked==true) {
7528            password.type="text";
7529        } else {
7530           password.type="password";
7531        }
7532    }    
7533    function showPasswordForLable(){
7534        var password=document.getElementById("pass");
7535        if (password.type === "password") {
7536            password.type = "text";
7537        } else {
7538            password.type = "password";
7539        }
7540    } 
7541</script>
7541 
7542            <div class="block-new-customer new_customer text-center" x-show ="openCreate">
7543                <h2 id="authenticate-new-customer" class="text-size13 font-normal text-darkblack">
7544                    New Customer?                </h2>
7545                <div class="block-content">
7546                    <div class="actions-toolbar">
7547                        <a class="block btn btn-primary cursor-pointer text-size18 font-semibold text-custom-blue"
7548                        href="https://www.flooringinc.com/customer/account/create/"  >
7549                            Sign Up Now                        </a>
7550                    </div>
7551                    <div class="block-new-customer">
7552                        <h3 class="text-size16 font-normal text-black">
7553                            <a class="block underline"
7554                            href="https://www.flooringinc.com/pro-advantage/"
7555                            >
7556                                Become a Pro                            </a>
7557                        </h3>
7558                    </div>
7559                </div>
7560            </div>
7561            <div class="block-new-customer social_login margin" x-show="openButtonRegister">
7562                <h2 id="authenticate-new-customer" class="text-size18 font-medium text-darkblack">
7563                    Social Register                </h2>
7564                <div class="block-content">
7565                                                <div id="add_button_register_byclass" x-data="bssButtonSocial()" x-ref="registerSocialButton">
7566                                <div class="">
7567                                    <div class="sociallogin-buttons">
7568                                        <ul class="sociallogin-clearfix flex flex-wrap">
7569                                                                                            <li class="w-full text-size14 font-medium text-darkblack relative sociallogin-button googleplus"   title="Register with Google">
7570                                                    <a class="sociallogin-button-link sociallogin-button-click" id="sociallogin-button-click" 
7571                                                       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"
7572                                                       data-width="630"
7573                                                       data-height="650"
7574                                                       x-ref="googleplus"
7575                                                       @click="popupSocial($refs.googleplus)">
7576                                                        <span class="sociallogin-button-auto">
7577                                                            <span class="sociallogin-button-icon">
7578                                                                                                                            </span>
7579                                                                                                                            <span class="sociallogin-button-text">Register with Google</span>
7580                                                                                                                    </span>
7581                                                    </a>
7582                                                </li>
7583                                                                                                                                        </ul>
7584                                                                            </div>
7585                                </div>
7586                                <div style="clear: both;"></div>
7587                            </div>
7588                                    </div>
7589            </div>          
7590        </div>
7591    </div>
7592</div>
7593</section>
7594<script>
7595        var classLogin = [".checkout-container .opc-wrapper"];
7596        var classRegister = [""];
7597    classLogin = classLogin[0].trim().split(/\s+/);
7598    classRegister = classRegister[0].trim().split(/\s+/);
7599    if(classLogin && classLogin.length > 0 && classLogin[0]){
7600        classLogin.forEach(element => {
7601            var classLoginElement = document.querySelector(element);
7602            var loginSocialButton = document.getElementById('add_button_login_byclass');
7603            if (classLoginElement && loginSocialButton) {
7604                const cloneLoginSocialButton = loginSocialButton.cloneNode(true);
7605                classLoginElement.appendChild(cloneLoginSocialButton);
7606                cloneLoginSocialButton.style.display='block';
7607            }
7608        });
7609    }
7610
7611    if(classRegister && classRegister.length > 0 && classRegister[0]){
7612        classRegister.forEach(element => {
7613            var classRegisterElement = document.querySelector(element);
7614            var registerSocialButton = document.getElementById('add_button_register_byclass');
7615            if (classRegisterElement && registerSocialButton) {
7616                const cloneRegisterSocialButton = registerSocialButton.cloneNode(true);
7617                classRegisterElement.appendChild(cloneRegisterSocialButton);
7618                cloneRegisterSocialButton.style.display='block';
7619            }
7620        });
7621    }
7622
7623    function bssButtonSocial() {
7624        return {
7625            renderShowmore : function (element) {
7626                var socialButton = element.querySelector('.sociallogin-clearfix').getElementsByTagName("li");
7627                for (let i = 0; i <= socialButton.length - 1; i++) {
7628                    socialButton[i].style.display = 'block';
7629                }
7630                element.querySelector('.sociallogin-showmore').style.display = 'none';
7631            },
7632            popupSocial: function (element) {
7633                var href = element.getAttribute('data-href');
7634                var width = element.getAttribute('data-width');
7635                var height = element.getAttribute('data-height');
7636                var popup_window = null;
7637                if (!width) {
7638                    width = 650;
7639                }
7640
7641                if(!height) {
7642                    height = 350;
7643                }
7644
7645                var left = parseInt((window.innerWidth- width) / 2);
7646                var top = parseInt((window.innerHeight - height) / 2);
7647
7648                var params = [
7649                    'resizable=yes',
7650                    'scrollbars=no',
7651                    'toolbar=no',
7652                    'menubar=no',
7653                    'location=no',
7654                    'directories=no',
7655                    'status=yes',
7656                    'width='+ width,
7657                    'height='+ height,
7658                    'left='+ left,
7659                    'top='+ top
7660                ];
7661
7662                if(popup_window) {
7663                    popup_window.close();
7664                }
7665
7666                if(href) {
7667                    popup_window = window.open(href,'',params.join(','));
7668                    popup_window.focus();
7669
7670                }else{
7671                    alert('This Login Application was not configured correctly. Please contact our customer support.');
7672                }
7673                return false;
7674            }
7675        }
7676    }
7677
7678</script>
7678
7679
7680
7681
7682    
7682<script>
7683        (() => {
7684            function changeNoCookieDomain() {
7685                const categoryKey = "marketing";
7686                if (! prCookieConsentApi.isAllowedCategory(categoryKey)) {
7687                    return;
7688                }
7689
7690                let iframes = document.querySelectorAll('iframe'),
7691                    youtubeNoCookieIframes = Array.from(iframes)
7692                        .filter((iframe) => iframe.src.indexOf('youtube-nocookie.com') !== -1);
7693
7694                youtubeNoCookieIframes.forEach((iframe) => {
7695                    iframe.src = iframe.src.replace('youtube-nocookie.com', 'youtube.com');
7696                });
7697            }
7698
7699            if (prCookieConsentApi) {
7700                changeNoCookieDomain();
7701                return;
7702            }
7703
7704            document.addEventListener('pr-cookie-consent-api:configured', changeNoCookieDomain);
7705        })();
7706    </script>
7706
7707
7708<script>
7709    'use strict';
7710
7711    (() => {
7712        window.addEventListener('DOMContentLoaded', () => {
7713            if (document.querySelectorAll('lite-youtube').length > 0) {
7714                const link = document.createElement('link'),
7715                      script = document.createElement('script');
7716
7717                link.rel = 'stylesheet';
7718                link.type = 'text/css';
7719                link.href = 'https\u003A\u002F\u002Fwww.flooringinc.com\u002Fstatic\u002Fversion1789462004\u002Ffrontend\u002FDcw\u002Fhyvadesktop\u002Fen_US\u002FMageQuest_LiteYouTube\u002Fcss\u002Flite\u002Dyt\u002Dembed.min.css';
7720                document.head.appendChild(link);
7721
7722                script.type = 'text/javascript';
7723                script.src = 'https\u003A\u002F\u002Fwww.flooringinc.com\u002Fstatic\u002Fversion1789462004\u002Ffrontend\u002FDcw\u002Fhyvadesktop\u002Fen_US\u002FMageQuest_LiteYouTube\u002Fjs\u002Flite\u002Dyt\u002Dembed.min.js';
7724                document.head.appendChild(script);
7725            }
7726        });
7727    })();
7728</script>
vendor: 1 bytes, line 7728
7728
7729<script data-mfmofile="true">
7730    document.addEventListener("DOMContentLoaded", function() {
7731        if (document.querySelectorAll('.mf-ytw-wrapper').length || document.querySelectorAll('[data-mf-ytw-youtube-link]').length) {
7732            !function (f, b, e, v, t, s) {
7733                if(f.mfytwcss)return;
7734                f.mfytwcss=1;
7735                t = b.createElement(e);
7736                t.rel = 'stylesheet';
7737                t.type = 'text/css';
7738                t.href = v;
7739                s = b.getElementsByTagName('HEAD')[0];
7740                s.appendChild(t)
7741            }(window, document, 'link', 'https://www.flooringinc.com/static/version1789462004/frontend/Dcw/hyvadesktop/en_US/Magefan_YouTubeWidget/css/youtubewidget.min.css');
7742        }
7743        if (document.querySelectorAll('.mf-ytw-wrapper').length) {
7744            !function (f, b, e, v, t, s) {
7745                if(f.mfytwjs)return;
7746                f.mfytwjs=1;
7747                t = b.createElement(e);
7748                t.type = 'text/javascript';
7749                t.src = v;
7750                s = b.getElementsByTagName('HEAD')[0];
7751                s.appendChild(t)
7752            }(window, document, 'script', 'https://www.flooringinc.com/static/version1789462004/frontend/Dcw/hyvadesktop/en_US/Magefan_YouTubeWidget/js/iframe.min.js');
7753        }
7754        if (document.querySelectorAll('[data-mf-ytw-youtube-link]').length) {
7755            !function (f, b, e, v, t) {
7756                if(f.mflinkjs)return;
7757                f.mflinkjs=1;
7758                t = b.createElement(e);
7759                t.type = 'text/javascript';
7760                t.src = v;
7761                s = b.getElementsByTagName('HEAD')[0];
7762                s.appendChild(t)
7763            }(window, document, 'script', 'https://www.flooringinc.com/static/version1789462004/frontend/Dcw/hyvadesktop/en_US/Magefan_YouTubeWidget/js/link.min.js');
7764        }
7765    });
7766</script>
7766
7767
7768    <div id="pr-gpc-notification-modal" style="display: none;">
7769        <div class="pr-gpc-notification-wrap">
7770    <h2>Your Opt-Out Preferences Honored</h2>
7771<p>Your browser's privacy preference (GPC) has been detected.</p>
7772<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>
7773</div>    </div>
7774
7775    
7775<script type="text/x-magento-init"  nonce="aGt5cXM2Mm92cWs4OGUwOWd2eGhqdGFsYWVzZjFycG0=">
7776        {
7777            "#pr-gpc-notification-modal": {
7778                "Plumrocket_GlobalPrivacyControl/js/opt-out-notification": {}
7779            }
7780        }
7781    </script>
7781
7782
7783
7784<script>
7785    (() => {
7786        function src_default(Alpine) {
7787            Alpine.directive("intersect", (el, { value, expression, modifiers }, { evaluateLater, cleanup }) => {
7788                let evaluate = evaluateLater(expression);
7789                let options = {
7790                    rootMargin: getRootMargin(modifiers),
7791                    threshold: getThreshhold(modifiers)
7792                };
7793                let observer = new IntersectionObserver((entries) => {
7794                    entries.forEach((entry) => {
7795                        if (entry.isIntersecting === (value === "leave"))
7796                            return;
7797                        evaluate();
7798                        modifiers.includes("once") && observer.disconnect();
7799                    });
7800                }, options);
7801                observer.observe(el);
7802                cleanup(() => {
7803                    observer.disconnect();
7804                });
7805            });
7806        }
7807        function getThreshhold(modifiers) {
7808            if (modifiers.includes("full"))
7809                return 0.99;
7810            if (modifiers.includes("half"))
7811                return 0.5;
7812            if (!modifiers.includes("threshold"))
7813                return 0;
7814            let threshold = modifiers[modifiers.indexOf("threshold") + 1];
7815            if (threshold === "100")
7816                return 1;
7817            if (threshold === "0")
7818                return 0;
7819            return Number(`.${threshold}`);
7820        }
7821        function getLengthValue(rawValue) {
7822            let match = rawValue.match(/^(-?[0-9]+)(px|%)?$/);
7823            return match ? match[1] + (match[2] || "px") : void 0;
7824        }
7825        function getRootMargin(modifiers) {
7826            const key = "margin";
7827            const fallback = "0px 0px 0px 0px";
7828            const index = modifiers.indexOf(key);
7829            if (index === -1)
7830                return fallback;
7831            let values = [];
7832            for (let i = 1; i < 5; i++) {
7833                values.push(getLengthValue(modifiers[index + i] || ""));
7834            }
7835            values = values.filter((v) => v !== void 0);
7836            return values.length ? values.join(" ").trim() : fallback;
7837        }
7838
7839        document.addEventListener("alpine:init", () => {
7840            window.Alpine.plugin(src_default);
7841        });
7842    })();
7843</script>
vendor: 1 bytes, line 7843
7843
7844<script>
7845    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"})) {
7846        document.querySelectorAll(selector).forEach(el => el.setAttribute('x-defer', `${deferUntil}`));
7847    }
7848</script>
vendor: 1 bytes, line 7848
7848
7849<script>
7850    (function () {
7851        "use strict";
7852
7853        const hasAlpine = new Promise(resolve => {
7854            window.addEventListener('alpine:initialized', resolve, {once: true, passive: true});
7855        });
7856
7857        const hasInteract = new Promise(resolve => {
7858            (events => {
7859                const onInteract = () => {
7860                    resolve();
7861                    events.forEach(type => window.removeEventListener(type, onInteract));
7862                }
7863                events.forEach(type => window.addEventListener(type, onInteract, {once: true, passive: true}))
7864            })(['touchstart', 'mouseover', 'wheel', 'scroll', 'keydown'])
7865        });
7866
7867        const onIntersect = (el) => {
7868            return new Promise(resolve => {
7869                const observer = new IntersectionObserver(entries => {
7870                    for (const entry of entries) {
7871                        if (entry.isIntersecting) {
7872                            observer.disconnect()
7873                            resolve();
7874                        }
7875                    }
7876                }, {});
7877                observer.observe(el);
7878            });
7879        }
7880
7881        function runComponent(el) {
7882            hasAlpine.then(() => {
7883                el.removeAttribute('x-ignore');
7884                queueMicrotask(() => Alpine.initTree(el));
7885            });
7886        }
7887
7888        function initDeferredComponents() {
7889            document.querySelectorAll('[x-data][x-defer]').forEach(el => {
7890                el.setAttribute('x-ignore', '');
7891                const deferUntil = (el.getAttribute('x-defer') || '').trim();
7892                switch (deferUntil) {
7893                    case 'interact':
7894                        hasInteract.then(() => runComponent(el));
7895                        break;
7896                    case 'intersect':
7897                        onIntersect(el).then(() => runComponent(el))
7898                        break;
7899                    case 'idle':
7900                        window.requestIdleCallback
7901                            ? window.requestIdleCallback(() => runComponent(el), {timeout: 4000})
7902                            : setTimeout(() => runComponent(el), 4000);
7903                        break;
7904                    case 'eager':
7905                        runComponent(el);
7906                        break;
7907                    default:
7908                        if (deferUntil.startsWith('event:') && deferUntil.length > 6) {
7909                            window.addEventListener(deferUntil.substring(6), () => runComponent(el), {once: true, passive: true});
7910                        }
7911                }
7912            });
7913        }
7914
7915        window.addEventListener('alpine:init', initDeferredComponents, {once: true, passive: true});
7916    })()
7917</script>
7917
7918
7919<script type="module"
7920        src="https://www.flooringinc.com/static/version1789462004/frontend/Dcw/hyvadesktop/en_US/Hyva_Theme/js/alpine3.min.js"
7921        defer
7922        crossorigin
7923></script>
vendor: 1 bytes, line 7923
7923
7924<script>
7925    'use strict';
7926    function dispatchMessages(messages, hideAfter) {
7927        const messagesEvent = new CustomEvent("messages-loaded", {
7928            detail: {
7929                messages: messages,
7930                hideAfter: hideAfter
7931            }
7932        });
7933        window.dispatchEvent(messagesEvent);
7934    }
7935
7936    if (typeof hyva === 'undefined' || (!hyva.getBrowserStorage || !hyva.getCookie || !hyva.setCookie)) {
7937        console.warn("Hyvä helpers are not loaded yet. Make sure they are included before this script");
7938    }
7939
7940    (function( hyva, undefined ) {
7941
7942        hyva.initFormKey = () => {
7943            const inputSelector = 'input[name="form_key"]',
7944                formKey = hyva.getFormKey();
7945
7946            Array.from(document.querySelectorAll(inputSelector)).map(function (input) {
7947                input.value = formKey
7948            });
7949        }
7950
7951        hyva.initMessages = () => {
7952            try {
7953                const messages = hyva.getCookie('mage-messages');
7954                window.mageMessages = messages ? JSON.parse(decodeURIComponent(messages).replace(/\+/g, ' ')) : [];
7955
7956                dispatchMessages(window.mageMessages);
7957
7958                                // empty `mage-messages` cookie
7959                const skipSetDomain = true;
7960                hyva.setCookie('mage-messages','', -1, skipSetDomain);
7961
7962            } catch (error) {
7963                console.warn('Error parsing Cookie Messages:', error);
7964            }
7965        }
7966
7967        window.addEventListener('DOMContentLoaded', hyva.initFormKey);
7968        hyva.alpineInitialized(hyva.initMessages)
7969
7970    }( window.hyva = window.hyva || {} ));
7971</script>
vendor: 1 bytes, line 7971
7971
7972<script>
7973    'use strict';
7974    {
7975        const private_content_key = 'mage-cache-storage';
7976        const private_content_expire_key = 'mage-cache-timeout';
7977        const private_content_version_key = 'private_content_version';
7978        const section_data_ids_key = 'section_data_ids';
7979        const mage_cache_session_id_key = 'mage-cache-sessid';
7980        const last_visited_store_key = 'last_visited_store';
7981
7982        const ttl = 3600;
7983
7984        if (typeof hyva === 'undefined' || (!hyva.getBrowserStorage || !hyva.getCookie || !hyva.setCookie)) {
7985            console.warn("Hyvä helpers are not loaded yet. Make sure they are included before this script");
7986        }
7987
7988        function loadSectionData () {
7989            const browserStorage = hyva.getBrowserStorage();
7990            if (!browserStorage) {
7991                typeof window.dispatchMessages !== "undefined" && window.dispatchMessages(
7992                    [{
7993                        type: "warning",
7994                        text: "Please enable LocalStorage in your browser."
7995                    }]
7996                );
7997                return;
7998            }
7999            try {
8000                let isInvalid = false;
8001
8002                if (hyva.getCookie(last_visited_store_key) !== CURRENT_STORE_CODE) {
8003                    isInvalid = true;
8004                }
8005                hyva.setCookie(last_visited_store_key, CURRENT_STORE_CODE, false, false);
8006
8007                if (!hyva.getCookie(mage_cache_session_id_key)) {
8008                    isInvalid = true;
8009                    browserStorage.removeItem(private_content_key);
8010                    const skipSetDomain = true;
8011                    const days = false;
8012                    hyva.setCookie(mage_cache_session_id_key, true, days, skipSetDomain)
8013                }
8014
8015                const cookieVersion = hyva.getCookie(private_content_version_key);
8016                const storageVersion = browserStorage.getItem(private_content_version_key);
8017
8018                if (cookieVersion && !storageVersion || cookieVersion !== storageVersion) {
8019                    isInvalid = true;
8020                }
8021
8022                const privateContentExpires = browserStorage.getItem(private_content_expire_key);
8023                if (privateContentExpires && new Date(privateContentExpires) < new Date()) {
8024                    browserStorage.removeItem(private_content_key);
8025                }
8026
8027                if (isInvalid && cookieVersion) {
8028                    fetchPrivateContent([]);
8029                } else if (cookieVersion && storageVersion && cookieVersion === storageVersion) {
8030                    const privateContent = JSON.parse(browserStorage.getItem(private_content_key));
8031                    if (
8032                        privateContent &&
8033                        privateContentExpires &&
8034                        privateContent.cart &&
8035                        privateContent.customer
8036                    ) {
8037                        dispatchPrivateContent(privateContent);
8038                    } else {
8039                        fetchPrivateContent([]);
8040                    }
8041                } else {
8042                    if (document.getElementById('default-section-data')) {
8043                        const privateContent = JSON.parse(document.getElementById('default-section-data').innerText.trim());
8044                        dispatchPrivateContent(privateContent);
8045                    } else {
8046                        dispatchPrivateContent({});
8047                    }
8048                }
8049
8050            } catch (error) {
8051                console.warn('Error retrieving Private Content:', error);
8052            }
8053        }
8054
8055        hyva.alpineInitialized(loadSectionData)
8056        window.addEventListener('reload-customer-section-data', loadSectionData);
8057
8058        function dispatchPrivateContent(data) {
8059            const privateContentEvent = new CustomEvent("private-content-loaded", {
8060                detail: {
8061                    data: data
8062                }
8063            });
8064            window.dispatchEvent(privateContentEvent);
8065        }
8066
8067        function fetchPrivateContent(sections) {
8068            fetch(`${BASE_URL}customer/section/load/?sections=${encodeURIComponent(sections.join(','))}`, {
8069                method: 'GET',
8070                headers: {
8071                    'Content-Type': 'application/json',
8072                    'X-Requested-With': 'XMLHttpRequest'
8073                }
8074            })
8075                .then(response => response.json())
8076                .then(
8077                    data => {
8078                        if (data) {
8079                            try {
8080                                const browserStorage = hyva.getBrowserStorage();
8081
8082                                // merge new data preserving non-invalidated sections
8083                                const oldSectionData = JSON.parse(browserStorage.getItem(private_content_key) || '{}') || {};
8084
8085                                if ((! data.cart || ! data.cart.cartId) && oldSectionData['checkout-data']) {
8086                                    delete oldSectionData['checkout-data'];
8087                                }
8088                                const newSectionData = Object.assign(oldSectionData, data);
8089
8090                                dispatchPrivateContent(newSectionData);
8091
8092                                // don't persist messages, they've been dispatched already
8093                                if (newSectionData.messages && newSectionData.messages.messages ) {
8094                                    newSectionData.messages.messages = [];
8095                                }
8096
8097                                browserStorage.setItem(private_content_key, JSON.stringify(newSectionData));
8098
8099                                const expiresAt = new Date(Date.now() + (ttl * 1000)).toISOString();
8100                                browserStorage.setItem(private_content_expire_key, expiresAt);
8101
8102                                const newCookieVersion = hyva.getCookie(private_content_version_key);
8103                                browserStorage.setItem(private_content_version_key, newCookieVersion);
8104
8105                                // We don't need the section_data_ids in Hyvä, but we store them for compatibility
8106                                // with Luma Fallback. Otherwise, not all sections are loaded in Luma Checkout
8107                                hyva.setCookie(
8108                                    section_data_ids_key,
8109                                    JSON.stringify(
8110                                        Object.keys(data).reduce((sectionDataIds, sectionKey) => {
8111                                            sectionDataIds[sectionKey] = data[sectionKey]['data_id'];
8112                                            return sectionDataIds;
8113                                        }, {})
8114                                    ),
8115                                    false,
8116                                    true
8117                                );
8118                            } catch (error) {
8119                                console.warn("Couldn't store privateContent", error);
8120                            }
8121                        }
8122                    }
8123                );
8124        }
8125    }
8126</script>
vendor: 1 bytes, line 8126
8126
8127<script>
8128    (() => {
8129        document.addEventListener('submit', event => event.target.action = event.target.action.replace('%25uenc%25', hyva.getUenc()));
8130    })()
8131</script>
vendor: 1 bytes, line 8131
8131
8132<script>
8133    (events => {
8134        const dispatchUserInteractionEvent = () => {
8135            events.forEach(type => window.removeEventListener(type, dispatchUserInteractionEvent))
8136            window.dispatchEvent(new Event('init-external-scripts'))
8137        };
8138        events.forEach(type => window.addEventListener(type, dispatchUserInteractionEvent, {once: true, passive: true}))
8139    })(['touchstart', 'mouseover', 'wheel', 'scroll', 'keydown'])
8140</script>
8140
8141<style>
8142[data-bv-show=inline_rating] .bv_sub_container .bv_numReviews_component_container .bv_text{margin: -2px 0 0 0 !important;display: flex !important;}
8143@media(max-width: 767px){
8144[data-bv-show=inline_rating] .bv_sub_container .bv_numReviews_component_container .bv_text{margin: 4px 0 0 0 !important;}
8145}
8146@media screen and (min-width: 768px) and (max-width: 1440px) {
8147    .product-item .product-info .price-box .price-container .price-wrapper span.price{font-size: 18px !important;}
8148    .product-item .product-info .price-box .price-container .price-wrapper{font-size: 18px;}
8149}
8150@media(max-width: 1550px){
8151.products__recommendations .product-slider .glider-track .recommended-slider-item{min-width:auto;}
8152}
8153.page-products .spot-light .catergory_slider_content{border-radius: 10px;}
8154.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;}
8155@media(max-width: 767px){
8156.page-products .spot-light .catergory_slider_content .product-info{padding-left: 0 !important;padding-right: 0px !important;}
8157}
8158.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;
8159}
8160.page-products .spot-light .spot-bottom .order_btn:hover{background: #15324c  !important;transition-duration: .15s;}
8161.page-products .spot-light .catergory_slider_content .color_counts .color_count{font-size: 12px;color: rgb(127 127 127 / var(--tw-text-opacity)}
8162
8163
8164.category-top-filter .pagebuilder-column h3 span, .category-top-filter .pagebuilder-column h3 span a, .category-top-filter .pagebuilder-column h3 a{display: block;}
8165.checkout-payment-method .payment-method .payment-method-title.field.choice input#paypal_express+label {display: block;}
8166.catalog-product-view .product-info-main .color_swatches .swatch-attribute-options .select_none.swatch-option{display: none;}
8167@media(min-width: 768px){
8168   .checkout-cart-index #shopping-cart-table .cart.item .item-info td.col.item{flex-wrap: nowrap;}
8169}
8170@media(min-width: 1500px){
8171    .checkout-cart-index #shopping-cart-table .col.qty{min-width: 169px;max-width: 169px;width: 169px;}
8172}
8173@media only screen and (max-width: 1340px) and (min-width: 1000px){
8174    .checkout-cart-index #maincontent #shopping-cart-table .product-item-details{max-width: 40%;}
8175}
8176</style>
8177<script>
8178document.addEventListener('DOMContentLoaded', function() {
8179  if (window.innerWidth <= 767) {
8180    document.querySelectorAll('.page-with-filter.page-products .sidebar .filter-content .card .filter-options-title').forEach(function(title) {
8181      const span = title.querySelector('span');
8182      if (span && span.textContent.trim().includes('Revenue Ranking')) {
8183        const parentCard = title.closest('.card');
8184        if (parentCard && !parentCard.id) {
8185          parentCard.id = 'filter-id-revenue_ranking';
8186        }
8187      }
8188    });
8189  }
8190});
8191</script>
8191
8192<style>
8193.page-with-filter.page-products .sidebar .filter-content .card#filter-id-revenue_ranking{display: none;}
8194.checkout-index-index .kl_sms_phone_number-field{margin-bottom: 20px;}
8195@media(min-width: 768px){
8196 .catalog-product-view .modal.order-free-sample-popup .right .order-free-sample-prod-info .product-info:after{right: -10px;top: -10px;}
8197}
8198@media(max-width: 767px){
8199  .catalog-product-view .order-free-sample-popup .border .product-info:after{left: 35px;}
8200}
8201.checkout-index-index .notification4 {display: none}
8202   #related_cart_slider .js_slides{margin-right: 0;margin-left: 0;}
8203</style>
8204<script>
8205    function initConfigurableOptions(productId, optionConfig) {
8206
8207        function findPathParam(key) {
8208                        const baseUrl = (BASE_URL.substr(0, 2) === '//' ? 'http:' : '') + BASE_URL;
8209            const baseUrlParts = (new URL(baseUrl)).pathname.replace(/\/$/, '').split('/');
8210            const pathParts = window.location.pathname.split('/').slice(baseUrlParts.length + 3);
8211            for (let i = 0; i < pathParts.length; i += 2) {
8212                if (pathParts[i] === key && pathParts.length > i) {
8213                    return pathParts[i + 1];
8214                }
8215            }
8216        }
8217
8218        return {
8219            optionConfig,
8220            productId,
8221            attributeCode:'',
8222            itemId: (new URLSearchParams(window.location.search)).get('id') || findPathParam('id'),
8223            ssrGalleryChildId: 0,
8224            allowedAttributeOptions: [],
8225            selectedValues: [],
8226            init() {
8227                this.checkIsFirst();
8228                this.findAllowedAttributeOptions();
8229                this.$nextTick(() => {
8230                    if (typeof this.optionConfig.defaultValues === 'object') {
8231                        for (const [optionId, value] of Object.entries(this.optionConfig.defaultValues)) {
8232                            this.changeOption(optionId, value + '');
8233                        }
8234                    }
8235                });
8236            },
8237            checkIsFirst() {
8238                this.isLoadedFirst = true;
8239                setTimeout(() => {
8240                    this.isLoadedFirst = false;
8241                }, "3000");
8242            },
8243            findSimpleIndex() {
8244                                this.productIndex = this.calculateSimpleIndexForPartialSelection(this.selectedValues);
8245            },
8246            calculateSimpleIndexForPartialSelection(selectedValues) {
8247                if (selectedValues.length === 0) return 0;
8248                let productIndexIds = Object.keys(this.optionConfig.index);
8249                Object.keys(this.optionConfig.attributes).forEach((attribute) => {
8250                                        const productsWithAttributeMatch = selectedValues[attribute]
8251                        ? productIndexIds.filter((productIndex) => {
8252                            return this.optionConfig.index[productIndex][attribute] === this.selectedValues[attribute]
8253                        })
8254                        : [];
8255
8256                                        productIndexIds = productsWithAttributeMatch.length ? productsWithAttributeMatch : productIndexIds
8257                })
8258                return productIndexIds[0];
8259            },
8260            calculateSimpleIndexForFullSelection(selectedValues) {
8261                const productIndexes = this.optionConfig.index;
8262                return Object.keys(productIndexes).find(productIndex => {
8263                    const productCandidateOptions = productIndexes[productIndex];
8264
8265                    for (const productOption in productCandidateOptions) {
8266                        if (
8267                            ! selectedValues[productOption] ||
8268                            selectedValues[productOption] !== productCandidateOptions[productOption]
8269                        ) {
8270                            return false;
8271                        }
8272                    }
8273                    return productIndex;
8274                });
8275            },
8276            productIndex: 0,
8277            findAllowedAttributeOptions() {
8278                                this.allowedAttributeOptions = this.calculateAllowedAttributeOptions(this.selectedValues);
8279            },
8280            calculateAllowedAttributeOptions(selectedValues) {
8281                const allAttributes = this.optionConfig.attributes;
8282                const allAttributesSorted = Object.values(allAttributes).sort((a,b) => {
8283                    return a.position - b.position
8284                });
8285
8286                const selectionWithoutAttr = attrId => {
8287                                        return Object.keys(selectedValues).reduce((acc, id) => {
8288                        if (id !== attrId) acc[id] = selectedValues[id];
8289                        return acc;
8290                    }, {})
8291                }
8292
8293                const newAllowedAttributeOptions = [];
8294
8295                allAttributesSorted.forEach(attribute => {
8296                    const availableIndexes = this.calculateAvailableProductIndexes(selectionWithoutAttr(attribute.id));
8297					if (attribute?.code === 'incstores_pim_color_axis') {
8298					    newAllowedAttributeOptions[attribute.id] =
8299						    allAttributes[attribute.id].options
8300							    .filter(option => {
8301                                    return !!option.products.find(product => availableIndexes.includes(product));
8302                                })
8303							    .sort((a, b) => {
8304								    const cheapestA = this.findCheapestProductForPartialSelectionForSort({
8305									    ...selectedValues,
8306									    [attribute.id]: a.id
8307								    });
8308
8309								    const cheapestB = this.findCheapestProductForPartialSelectionForSort({
8310									    ...selectedValues,
8311									    [attribute.id]: b.id
8312								    });
8313
8314								    if (!cheapestA && !cheapestB) return 0;
8315								    if (!cheapestA) return 1;
8316								    if (!cheapestB) return -1;
8317
8318								    const priceA = this.optionConfig.optionPrices[cheapestA].customPrice.amount;
8319                                    const priceB = this.optionConfig.optionPrices[cheapestB].customPrice.amount;
8320
8321								    return priceA - priceB;
8322							    });
8323					} else {
8324                    newAllowedAttributeOptions[attribute.id] = allAttributes[attribute.id].options.filter(option => {
8325                        return !!option.products.find(product => {
8326                            //====== For Custom Design link - fetch child product id on page load  START ======
8327                            if(document.querySelector('input[name="selected_option_child_id"]')){
8328                                if(document.querySelector('input[name="selected_option_child_id"]').value == ''){
8329                                    document.querySelector('input[name="selected_option_child_id"]').value = product;
8330                                }
8331                            }
8332                            //====== For Custom Design link - fetch child product id on page load END ======
8333                            return availableIndexes.includes(product);
8334                        })
8335                    });
8336                    }
8337                });
8338                return newAllowedAttributeOptions;
8339            },
8340            calculateAvailableProductIndexes(selectedOptions) {
8341                if (Object.keys(selectedOptions).length === 0) {
8342                                        return Object.keys(this.optionConfig.index);
8343                }
8344
8345                                const selectedIds = Object.keys(selectedOptions);
8346                if (Object.values(this.optionConfig.salable || {}).length) {
8347                                        const selectedOptionIndexes = selectedIds.map(attrId => {
8348                        const optionValue = selectedOptions[attrId];
8349                        return this.optionConfig.salable[attrId] && this.optionConfig.salable[attrId][optionValue] || []
8350                    })
8351                                        return selectedOptionIndexes.reduce((acc, optionIndexes) => {
8352                        return acc.filter(index => optionIndexes.includes(index));
8353                    });
8354                } else {
8355                                        const productIndexes = this.optionConfig.index;
8356                    return Object.keys(productIndexes).filter(index => {
8357                        return selectedIds.find(
8358                                                attrId => productIndexes[index][attrId] === `${selectedOptions[attrId]}`
8359                                                )
8360                    });
8361                }
8362            },
8363            findAttributeByOptionId(optionId) {
8364                for (const attributeId in this.optionConfig.attributes) {
8365                    const attributeOptions = this.optionConfig.attributes[attributeId].options || [];
8366                    if (attributeOptions.find(option => option.id === optionId)) {
8367                        return attributeId;
8368                    }
8369                }
8370            },
8371            getAllowedAttributeOptions(attributeId) {
8372                return this.allowedAttributeOptions[attributeId] || []
8373            },
8374            getProductIdsForOption(option) {
8375                const attributeId = this.findAttributeByOptionId(option.id);
8376                const allOptions = this.optionConfig.attributes[attributeId];
8377                const opt = (allOptions && allOptions.options || []).find(o => o.id === option.id);
8378                return opt && opt.products
8379                    ? opt.products
8380                    : [];
8381            },
8382            findProductIdsForPartialSelection(optionSelection) {
8383                const candidateProducts = Object.values(optionSelection).reduce((candidates, optionId) => {
8384                    const newCandidates = this.getProductIdsForOption({id: optionId});
8385                    return candidates === null
8386                        ? newCandidates
8387                        : candidates.filter(productId => newCandidates.includes(productId));
8388                }, null);
8389                return candidateProducts || [];
8390            },
8391            findCheapestProductForPartialSelection(optionSelection) {
8392                const candidateProducts = this.findProductIdsForPartialSelection(optionSelection);
8393                return candidateProducts.reduce((cheapest, simpleIdx) => {
8394                    // in the first iteration we start with simpleIdx as the currently cheapest product
8395                    if (! this.optionConfig.optionPrices[cheapest]) return simpleIdx;
8396                    const knownCheapestPrice = this.optionConfig.optionPrices[cheapest].finalPrice.amount;
8397                    return knownCheapestPrice > this.optionConfig.optionPrices[simpleIdx].finalPrice.amount
8398                        ? simpleIdx
8399                        : cheapest;
8400                }, 0)
8401            },
8402			findCheapestProductForPartialSelectionForSort(optionSelection) {
8403                const candidateProducts = this.findProductIdsForPartialSelection(optionSelection);
8404                return candidateProducts.reduce((cheapest, simpleIdx) => {
8405                    // in the first iteration we start with simpleIdx as the currently cheapest product
8406                    if (! this.optionConfig.optionPrices[cheapest]) return simpleIdx;
8407                    const knownCheapestPrice = this.optionConfig.optionPrices[cheapest].customPrice.amount;
8408                    return knownCheapestPrice > this.optionConfig.optionPrices[simpleIdx].customPrice.amount
8409                        ? simpleIdx
8410                        : cheapest;
8411                }, 0)
8412            },
8413            findProductIdToUseForOptionPrice(option) {
8414                // try to find a product for a complete selection
8415                const attributeId = this.findAttributeByOptionId(option.id);
8416                const optionSelection = Object.assign({}, this.selectedValues, {[attributeId]: option.id});
8417                const matchingSimpleIndex = this.calculateSimpleIndexForFullSelection(optionSelection);
8418                // if there is no complete selection, use the cheapest product for the option
8419                return matchingSimpleIndex || this.findCheapestProductForPartialSelection(optionSelection);
8420            },
8421            getAttributeOptionLabel(option) {
8422                const optionProduct = this.findProductIdToUseForOptionPrice(option);
8423                if ((! optionProduct) || (optionProduct === this.productIndex)) {
8424                    return option.label;
8425                }
8426
8427                const currentPrice = this.getOptionPriceAdjustmentBasePrice();
8428
8429                if (this.optionConfig.optionPrices[optionProduct]) {
8430                    const optionPrice = this.optionConfig.optionPrices[optionProduct].finalPrice.amount;
8431                    if (optionPrice !== currentPrice){
8432                        return option.label + ' ' + hyva.formatPrice(optionPrice - currentPrice, true);
8433                    }
8434                }
8435                return option.label;
8436            },
8437            getOptionPriceAdjustmentBasePrice() {
8438                if (this.optionConfig.optionPrices[this.productIndex]) {
8439                    return this.optionConfig.optionPrices[this.productIndex].finalPrice.amount
8440                }
8441                const cheapestForSelection = this.findCheapestProductForPartialSelection(this.selectedValues);
8442                return this.optionConfig.optionPrices[cheapestForSelection]
8443                    ? this.optionConfig.optionPrices[cheapestForSelection].finalPrice.amount
8444                    : this.optionConfig.prices.finalPrice.amount; // default price if no option selection
8445            },
8446            changeOption(optionId, value) {
8447                if (value !== ''
8448                    && typeof this.optionIsEnabled === 'function'
8449                    && !this.optionIsEnabled(optionId, value)) {
8450                    return;
8451                }
8452                var checkbox = document.getElementById('overage_percent');
8453                if(checkbox){
8454                    checkbox.checked = true; // Check the checkbox
8455                }
8456                var galleryImgOpacity = document.querySelector('#gallery .prod_slider img.first-image');
8457                if (galleryImgOpacity) {
8458                    galleryImgOpacity.classList.add('opacity-0');
8459                }
8460                if (value === '') {
8461                    // create new array so the length property is reset if no option is selected (avoiding delete)
8462                    this.selectedValues = this.selectedValues.reduce((newSelection, val, opt) => {
8463                        if (opt !== optionId) {
8464                            newSelection[opt] = val;
8465                        }
8466                        return newSelection;
8467                    }, []);
8468                } else {
8469                    const currentUrl = window.location.href;
8470                    // Create a URL object
8471                    const url = new URL(currentUrl);
8472                    // Use searchParams to get the color option
8473                    const colorOption = url.searchParams.get('color-option');
8474                    const variantOption = url.searchParams.get('variant-option');
8475                    if(colorOption!==null && variantOption!==null){
8476                        if(this.optionConfig.attributes[optionId]['code'] == 'incstores_pim_color_axis')
8477                        {
8478                            this.selectedValues[optionId] = colorOption;
8479                        }
8480                        if(this.optionConfig.attributes[optionId]['code'] == 'incstores_pim_variant_axis')
8481                        {
8482                            this.selectedValues[optionId] = variantOption;
8483                        }
8484                    }
8485                    else if(colorOption!==null){
8486                        if(this.optionConfig.attributes[optionId]['code'] == 'incstores_pim_color_axis')
8487                        {
8488                            this.selectedValues[optionId] = colorOption;
8489                        }
8490
8491                    }
8492                    else if(this.isLoadedFirst == true && (0 > 0 || 0 > 0))
8493                    {
8494                        if(this.optionConfig.attributes[optionId]['code'] == 'incstores_pim_color_axis')
8495                        {
8496                            this.selectedValues[optionId] = '0';
8497                        }
8498                        if(this.optionConfig.attributes[optionId]['code'] == 'incstores_pim_variant_axis')
8499                        {
8500                            this.selectedValues[optionId] = '0';
8501                        }
8502                    }
8503                    else
8504                    {
8505                        this.selectedValues[optionId] = value;
8506                    }
8507
8508                    var addToCartButton = document.querySelector('.pdp-addtocart-btn');
8509                    if (addToCartButton) {
8510                        if (!addToCartButton.classList.contains('pointer-events-none')) {
8511                            addToCartButton.classList.add('pointer-events-none');
8512                            addToCartButton.classList.add('opacity-50');
8513                        }
8514                    }
8515
8516                    var productId = this.findProductIdsForPartialSelection(this.selectedValues)[0];
8517                    var baseUrl = "https://www.flooringinc.com/";
8518					
8519					if (typeof productId === 'undefined') {
8520					   let attributeCode = this.optionConfig.attributes[optionId]['code'];
8521					   setTimeout(() => {
8522						   if (attributeCode == 'incstores_pim_color_axis') {
8523							if (typeof this.autoSelectCompatibleOtherOption === 'function') {
8524								this.autoSelectCompatibleOtherOption(optionId);
8525							}
8526						} else if (attributeCode == 'incstores_pim_variant_axis'
8527                            || attributeCode == 'product_option') {
8528							if (typeof this.autoSelectCompatibleColorOption === 'function') {
8529								this.autoSelectCompatibleColorOption(optionId);
8530							}
8531						}
8532                    }, 300);
8533					} else {
8534                    var fetchUrl = baseUrl+'customattribute/index/index/productId/'+productId;
8535
8536                    fetch(fetchUrl)
8537                    .then(response => response.json())
8538                    .then(data => {
8539
8540                        if (document.getElementById('dimensions-attributes')) {
8541                            document.getElementById('dimensions-attributes').innerHTML= data.detailsHtml.dimensionsHtml;
8542                        }
8543
8544                        if (document.getElementById('details-attributes')) {
8545                            document.getElementById('details-attributes').innerHTML= data.detailsHtml.productDetails;
8546                        }
8547
8548                        if (document.getElementById('ship-to-text')) {
8549                            document.getElementById('ship-to-text').value= data.shipToText;
8550                        }
8551
8552                        var addToCartButton = document.querySelector('.pdp-addtocart-btn');
8553                        if (addToCartButton) {
8554                            addToCartButton.classList.remove('pointer-events-none');
8555                            addToCartButton.classList.remove('opacity-50');
8556                        }
8557                    })
8558                    .catch(error => {
8559                        console.log(error);
8560                    });
8561					}
8562
8563                }
8564                this.findSimpleIndex();
8565                this.findAllowedAttributeOptions();
8566                this.updateCalculatorType();// custom coding
8567                this.updateMinRollcut();// custom coding
8568                this.updateMaxRollLengthRestriction();// custom coding
8569                this.updateTileSizeArea(); // custom coding
8570                this.updateExactWidth(); // custom coding
8571                this.updateExactLength(); // custom coding
8572                this.updateExactHeight(); // custom coding
8573                this.updateCoveragePerCase(); // custom coding
8574                this.updateTileMinQty(); // custom coding
8575                this.updateShippingDetails(); // custom coding
8576                this.updatePrices();
8577                this.updateSquareFootage();
8578
8579                //If the page loads first time it will stop the gallery change, so configurable product image will display
8580                if (!this.isLoadedFirst) {
8581                    this.updateGallery();
8582                }
8583
8584                //====== For Custom Design link - fetch child product id when option clicked  START ======
8585                if(document.querySelector('input[name="selected_option_child_id"]')){
8586                    document.querySelector('input[name="selected_option_child_id"]').value = this.productIndex;
8587                }
8588                if(document.querySelector('input[name="custom_length"]') && document.getElementById('roll_length')){
8589                    document.querySelector('input[name="custom_length"]').value = document.getElementById('roll_length').value;
8590                }
8591                //====== For Custom Design link - fetch child product id when option clicked END ======
8592                window.dispatchEvent(
8593                    new CustomEvent(
8594                        'configurable-selection-changed',
8595                        {
8596                            detail: {
8597                                productId: this.productId,
8598                                optionId: optionId,
8599                                value: value,
8600                                productIndex: this.productIndex,
8601                                selectedValues: this.selectedValues,
8602                                attributeCode: this.optionConfig.attributes[optionId]['code'],
8603                                candidates: this.findProductIdsForPartialSelection(this.selectedValues),
8604                            }
8605                        }
8606                    )
8607                );
8608
8609                /* =============================== disabled product option checking & remove  START =============== */
8610                if (!this.optionConfig?.ship_region_enabled
8611                    && document.querySelector('.swatch-attribute .selectOptionColor')
8612                ) {
8613                    var quickship_lebel_should_show;
8614                    var quickship_active_color_option_exist = 0;
8615                    setTimeout(() => {
8616                        document.querySelectorAll('.swatch-attribute .selectOptionColor').forEach(function(option_box) {
8617                            if (!option_box.querySelector('div, label')) {
8618                                option_box.remove();
8619                            }
8620                        });
8621
8622                    }, 300);
8623                }
8624                /* ===============================  disabled product option checking & remove END =============== */
8625				
8626				/* ========== remove validation when click on available color start =============== */
8627                if(document.querySelector('.normal_color_swatch_option .selectOptionColor') ){
8628                    setTimeout(() => {
8629                        const colorBoxes = document.querySelectorAll(
8630							'.normal_color_swatch_option .selectOptionColor'
8631						);
8632						var colorNotAvailable = 0;
8633						const colorerrorDiv = document.getElementById('normal-color-swatch-option-error-msg');
8634
8635						colorBoxes.forEach((colorBox) => {
8636							if (colorBox.querySelector('.select_none label.checked')) {
8637								colorNotAvailable = 1;
8638							}
8639						});
8640						if (!colorNotAvailable){
8641							colorerrorDiv.textContent = '';
8642							colorerrorDiv.style.display = 'none';
8643						}
8644
8645                    }, 300);
8646                }
8647                /* ========== remove validation when click on available color end =============== */
8648
8649                /* =============================== color label show / hide if color option not showing  END =============== */
8650
8651                /* =============================== other label show / hide if the option not showing  START =============== */
8652                if (typeof this.syncOtherSwatchOptionVisibility === 'function') {
8653                    this.syncOtherSwatchOptionVisibility();
8654                } else {
8655                    const swatchAttribute = document.querySelector('.swatch-attribute.other_swatch_option');
8656                    if (swatchAttribute) {
8657                        setTimeout(() => {
8658                            const selectOptionColors = swatchAttribute.querySelectorAll('.selectOptionColor');
8659                            if (selectOptionColors.length > 1) {
8660                                swatchAttribute.style.display = 'block';
8661                            } else {
8662                                swatchAttribute.style.display = 'none';
8663                            }
8664                        }, 300);
8665                    }
8666                }
8667                /* =============================== other label show / hide if the option not showing  END =============== */
8668
8669            },
8670            calculateIsMinimalPrice() {
8671                return (
8672                    this.selectedValues.filter(value => !!value).length <
8673                        Object.keys(this.optionConfig.attributes).length
8674                );
8675            },
8676            updatePrices() {
8677                const value = this.productIndex ?
8678                    this.optionConfig.optionPrices[this.productIndex] :
8679                    this.optionConfig.prices;
8680
8681                window.dispatchEvent(
8682                    new CustomEvent(
8683                        "update-prices-" + this.productId,
8684                        {
8685                            detail: Object.assign(
8686                                value,
8687                                {
8688                                    isMinimalPrice: this.calculateIsMinimalPrice(),
8689                                    calculatorType: this.optionConfig?.calculator_type?.[this.productIndex] ?? '',
8690                                    getIncstoresPimCoverage: this.optionConfig?.coverage_per_case?.[this.productIndex] ?? '',
8691                                    unitOfMeasure: this.optionConfig?.unit_of_measure?.[this.productIndex] ?? '',
8692                                    altUnitOfMeasure: this.optionConfig?.alt_unit_of_measure?.[this.productIndex] ?? 'sqft',
8693                                    availableQuantity: this.optionConfig?.available_quantity?.[this.productIndex] ?? '',
8694                                }
8695                            )
8696                        }
8697                    )
8698                );
8699                setTimeout(() => {
8700                    var calculatorType = this.optionConfig.calculator_type[this.productIndex];
8701                    var priceElement = document.querySelector('div.items-baseline .final-price .price');
8702                    
8703                    if (priceElement && calculatorType != 'none' && calculatorType != 'pre_cut_roll') {
8704                        var customOptionPrice = priceElement.childNodes[0].nodeValue.trim();
8705                        let priceLabelElement = document.querySelector('.final-price .price-label');
8706                        var priceLabel = "";
8707
8708                        if (priceLabelElement) {
8709                            priceLabel = priceLabelElement.textContent.trim();
8710                        }
8711
8712                        document.querySelectorAll('.display-option-price').forEach(el => {
8713                            el.textContent = "("+customOptionPrice+priceLabel+")";
8714                        });
8715                    } else if (calculatorType == 'none') {
8716                        //None type
8717                        var priceElement = document.querySelector('.none .final-price .price');
8718                        var customOptionPrice = "";
8719
8720                        if (priceElement) {
8721                            customOptionPrice = priceElement.childNodes[0].nodeValue.trim();
8722                        }
8723                        document.querySelectorAll('.display-option-price').forEach(el => {
8724                            el.textContent = "("+customOptionPrice+")";
8725                        });
8726                    } else if (calculatorType == 'pre_cut_roll') {
8727						let priceLabelElement = document.querySelector('.final-price .price-label');
8728                        var priceLabel = "";
8729
8730                        if (priceLabelElement) {
8731                            priceLabel = priceLabelElement.textContent.trim();
8732                        }
8733                        var priceElement = document.querySelector('.pre_cut_roll .final-price .price');
8734                        var customOptionPrice = "";
8735
8736                        if (priceElement) {
8737                            customOptionPrice = priceElement.childNodes[0].nodeValue.trim();
8738                        }
8739                        document.querySelectorAll('.display-option-price').forEach(el => {
8740                            el.textContent = "("+customOptionPrice+priceLabel+")";
8741                        });
8742                    }
8743                }, "500");
8744            },
8745            updateTileSizeArea() {
8746                const overage_percent = this.optionConfig.overage_percent[this.productIndex];
8747                const coverage_per_case = this.optionConfig.coverage_per_case[this.productIndex];
8748                const exact_width = this.optionConfig.exact_width[this.productIndex];
8749                const exact_length = this.optionConfig.exact_length[this.productIndex];
8750                window.dispatchEvent(
8751                    new CustomEvent(
8752                        "update-tile-size-area-" + this.productId,
8753                        {
8754                            detail: {
8755                            overage_percent: overage_percent,
8756                            coverage_per_case: coverage_per_case,
8757                            exact_width: exact_width,
8758                            exact_length: exact_length,
8759                            calculator_type: this.optionConfig.calculator_type[this.productIndex],
8760                            }
8761                        }
8762                    )
8763                );
8764            },
8765            updateExactWidth() {
8766                const exact_width = this.optionConfig.exact_width[this.productIndex];
8767                window.dispatchEvent(
8768                    new CustomEvent(
8769                        "update-exact-width-" + this.productId,
8770                        {detail: exact_width}
8771                    )
8772                );
8773            },
8774            updateExactLength() {
8775                const exact_length = this.optionConfig.exact_length[this.productIndex];
8776                window.dispatchEvent(
8777                    new CustomEvent(
8778                        "update-exact-length-" + this.productId,
8779                        {detail: exact_length}
8780                    )
8781                );
8782            },
8783            updateExactHeight() {
8784                const exact_height = this.optionConfig.exact_height[this.productIndex];
8785                window.dispatchEvent(
8786                    new CustomEvent(
8787                        "update-exact-height-" + this.productId,
8788                        {detail: exact_height}
8789                    )
8790                );
8791            },
8792            updateCoveragePerCase() {
8793                const coverage_per_case = this.optionConfig.coverage_per_case[this.productIndex];
8794                //const tile_size_area = "";
8795                window.dispatchEvent(
8796                    new CustomEvent(
8797                        "update-coverage-per-case-" + this.productId,
8798                        {detail: coverage_per_case}
8799                    )
8800                );
8801            },
8802            updateTileMinQty() {
8803                const min_tile_quantity = this.optionConfig.min_tile_quantity[this.productIndex];
8804                window.dispatchEvent(
8805                    new CustomEvent(
8806                        "update-min-tile-quantity-" + this.productId,
8807                        {detail: min_tile_quantity}
8808                    )
8809                );
8810            },
8811			getAttributeIdByCode(attributeCode) {
8812                let attributes = this.optionConfig.attributes;
8813
8814				for (let id in attributes) {
8815					if (attributes[id].code === attributeCode) {
8816						return id;
8817					}
8818				}
8819
8820				return null;
8821            },
8822            updateCalculatorType() {
8823                const has_corner_border_center = this.optionConfig.has_corner_border_center[this.productIndex];
8824                const calculator_type = this.optionConfig.calculator_type[this.productIndex];
8825                if(calculator_type == 'sqft' && has_corner_border_center !=1){
8826                    var cbcelements = document.querySelectorAll('.cbc');
8827                    cbcelements.forEach(function(element) {
8828                    element.style.display = 'none';
8829                    });
8830                    var noneelements = document.querySelectorAll('.none');
8831                    noneelements.forEach(function(element) {
8832                    element.style.display = 'none';
8833                    });
8834                    var rollelements = document.querySelectorAll('.roll');
8835                    rollelements.forEach(function(element) {
8836                    element.style.display = 'none';
8837                    });
8838                    var cbcelements = document.querySelectorAll('.case');
8839                    cbcelements.forEach(function(element) {
8840                    element.style.display = 'none';
8841                    });
8842                    var elements = document.querySelectorAll('.sqft');
8843                    elements.forEach(function(element) {
8844                    element.style.display = 'block';
8845                    });
8846
8847                    var elements = document.querySelectorAll('.pre_cut_roll');
8848                    elements.forEach(function(element) {
8849                    element.style.display = 'none';
8850                    });
8851                    const button = document.getElementById("product-addtocart-button-fake");
8852                    if (button && button.getAttribute("data-flooring-handler") !== "addToCartClickVerify") {
8853                        button.setAttribute("data-flooring-handler", "addToCartClickVerify");
8854                    }
8855                } else if(calculator_type == 'sqft' && has_corner_border_center ==1){
8856                    var sqftelements = document.querySelectorAll('.sqft');
8857                    sqftelements.forEach(function(element) {
8858                    element.style.display = 'none';
8859                    });
8860                    var caseelements = document.querySelectorAll('.case');
8861                    caseelements.forEach(function(element) {
8862                    element.style.display = 'none';
8863                    });
8864                    var rollelements = document.querySelectorAll('.roll');
8865                    rollelements.forEach(function(element) {
8866                    element.style.display = 'none';
8867                    });
8868                    var noneelements = document.querySelectorAll('.none');
8869                    noneelements.forEach(function(element) {
8870                    element.style.display = 'none';
8871                    });
8872                    var elements = document.querySelectorAll('.cbc');
8873                    elements.forEach(function(element) {
8874                    element.style.display = 'block';
8875                    });
8876                    var elements = document.querySelectorAll('.price-details .sqft');
8877                    elements.forEach(function(element) {
8878                    element.style.display = 'none';
8879                    });
8880
8881                    var elements = document.querySelectorAll('.pre_cut_roll');
8882                    elements.forEach(function(element) {
8883                    element.style.display = 'none';
8884                    });
8885                    const button = document.getElementById("product-addtocart-button-fake");
8886                    if (button && button.getAttribute("data-flooring-handler") !== "addToCartClickVerify") {
8887                        button.setAttribute("data-flooring-handler", "addToCartClickVerify");
8888                    }
8889                }else if(calculator_type == 'case'){
8890                    var sqftelements = document.querySelectorAll('.sqft');
8891                    sqftelements.forEach(function(element) {
8892                    element.style.display = 'none';
8893                    });
8894                    var cbcelements = document.querySelectorAll('.cbc');
8895                    cbcelements.forEach(function(element) {
8896                    element.style.display = 'none';
8897                    });
8898                    var noneelements = document.querySelectorAll('.none');
8899                    noneelements.forEach(function(element) {
8900                    element.style.display = 'none';
8901                    });
8902                    var rollelements = document.querySelectorAll('.roll');
8903                    rollelements.forEach(function(element) {
8904                    element.style.display = 'none';
8905                    });
8906                    var elements = document.querySelectorAll('.case');
8907                    elements.forEach(function(element) {
8908                    element.style.display = 'block';
8909                    });
8910
8911                    var elements = document.querySelectorAll('.pre_cut_roll');
8912                    elements.forEach(function(element) {
8913                    element.style.display = 'none';
8914                    });
8915                    const button = document.getElementById("product-addtocart-button-fake");
8916                    if (button && button.getAttribute("data-flooring-handler") !== "addToCartClickVerify") {
8917                        button.setAttribute("data-flooring-handler", "addToCartClickVerify");
8918                    }
8919                } else if(calculator_type == 'roll'){
8920                    var sqftelements = document.querySelectorAll('.sqft');
8921                    sqftelements.forEach(function(element) {
8922                    element.style.display = 'none';
8923                    });
8924                    var cbcelements = document.querySelectorAll('.cbc');
8925                    cbcelements.forEach(function(element) {
8926                    element.style.display = 'none';
8927                    });
8928                    var caseelements = document.querySelectorAll('.case');
8929                    caseelements.forEach(function(element) {
8930                    element.style.display = 'none';
8931                    });
8932                    var noneelements = document.querySelectorAll('.none');
8933                    noneelements.forEach(function(element) {
8934                    element.style.display = 'none';
8935                    });
8936                    var elements = document.querySelectorAll('.roll');
8937                    elements.forEach(function(element) {
8938                    element.style.display = 'block';
8939                    });
8940                    const button = document.getElementById("product-addtocart-button-fake");
8941                    if (button && button.getAttribute("data-flooring-handler") !== "addToCartClickVerify") {
8942                        button.setAttribute("data-flooring-handler", "addToCartClickVerify");
8943                    }
8944
8945                    var elements = document.querySelectorAll('.pre_cut_roll');
8946                    elements.forEach(function(element) {
8947                    element.style.display = 'none';
8948                    });
8949                } else if(calculator_type == 'pre_cut_roll'){
8950                    var sqftelements = document.querySelectorAll('.sqft');
8951                    sqftelements.forEach(function(element) {
8952                        element.style.display = 'none';
8953                    });
8954                    var cbcelements = document.querySelectorAll('.cbc');
8955                    cbcelements.forEach(function(element) {
8956                        element.style.display = 'none';
8957                    });
8958                    var caseelements = document.querySelectorAll('.case');
8959                    caseelements.forEach(function(element) {
8960                        element.style.display = 'none';
8961                    });
8962                    var noneelements = document.querySelectorAll('.none');
8963                    noneelements.forEach(function(element) {
8964                        element.style.display = 'none';
8965                    });
8966                    var elements = document.querySelectorAll('.roll');
8967                    elements.forEach(function(element) {
8968                        element.style.display = 'none';
8969                    });
8970                    var elements = document.querySelectorAll('.pre_cut_roll');
8971                    elements.forEach(function(element) {
8972                        element.style.display = 'block';
8973                    });
8974                    const button = document.getElementById("product-addtocart-button-fake");
8975                    if (button && button.getAttribute("data-flooring-handler") !== "addToCartClickforPreCutRoll") {
8976                        button.setAttribute("data-flooring-handler", "addToCartClickforPreCutRoll");
8977                    }
8978                } else {
8979                    var sqftelements = document.querySelectorAll('.sqft');
8980                    sqftelements.forEach(function(element) {
8981                        element.style.display = 'none';
8982                    });
8983                    var cbcelements = document.querySelectorAll('.cbc');
8984                    cbcelements.forEach(function(element) {
8985                        element.style.display = 'none';
8986                    });
8987                    var caseelements = document.querySelectorAll('.case');
8988                    caseelements.forEach(function(element) {
8989                        element.style.display = 'none';
8990                    });
8991                    var rollelements = document.querySelectorAll('.roll');
8992                    rollelements.forEach(function(element) {
8993                        element.style.display = 'none';
8994                    });
8995                    var cbcelements = document.querySelectorAll('.case');
8996                    cbcelements.forEach(function(element) {
8997                        element.style.display = 'none';
8998                    });
8999                    var elements = document.querySelectorAll('.none');
9000                    elements.forEach(function(element) {
9001                        element.style.display = 'block';
9002                    });
9003                    const noneButton = document.getElementById("product-addtocart-button-fake");
9004                    if (noneButton && noneButton.getAttribute("data-flooring-handler") !== "addToCartClickforNone") {
9005                        noneButton.setAttribute("data-flooring-handler", "addToCartClickforNone");
9006                    }
9007
9008                    var elements = document.querySelectorAll('.pre_cut_roll');
9009                    elements.forEach(function(element) {
9010                        element.style.display = 'none';
9011                    });
9012                }
9013            },
9014           updateMinRollcut() {
9015                const min_rollcut = this.optionConfig.min_rollcut[this.productIndex];
9016				var exactlength = '';
9017                window.dispatchEvent(
9018                    new CustomEvent(
9019                        "update-min-rollcut-" + this.productId,
9020                        {detail: min_rollcut}
9021                    )
9022                );
9023            },
9024
9025            updateMaxRollLengthRestriction() {
9026                const max_roll_length_restriction = this.optionConfig.max_roll_length_restriction[this.productIndex];
9027                const exact_width = this.optionConfig.exact_width[this.productIndex];
9028                const exact_length = this.optionConfig.exact_length[this.productIndex];
9029                const min_rollcut = this.optionConfig.min_rollcut[this.productIndex];
9030
9031                window.dispatchEvent(
9032                    new CustomEvent(
9033                        "update-max-roll-length-restriction-" + this.productId,
9034                        {
9035                            detail: {
9036                            max_roll_length_restriction: max_roll_length_restriction,
9037                            min_rollcut: min_rollcut,
9038                            exact_width: exact_width,
9039                            exact_length: exact_length,
9040                            }
9041                        }
9042                    )
9043                );
9044            },
9045            updateShippingDetails() {
9046                const pdp_shipping_text = this.optionConfig.pdp_shipping_text[this.productIndex];
9047                const expected_days_ship = this.optionConfig.expected_days_ship[this.productIndex];
9048                window.dispatchEvent(
9049                    new CustomEvent(
9050                        "update-shipping-details-" + this.productId,
9051                        {
9052                            detail: {
9053                            pdp_shipping_text: pdp_shipping_text,
9054                            expected_days_ship: expected_days_ship,
9055                            }
9056                        }
9057                    )
9058                );
9059            },
9060            updateGallery () {
9061                if (this.isLoadedFirst && this.ssrGalleryChildId > 0) {
9062                    return;
9063                }
9064
9065                if (this.productIndex) {
9066                    const images = this.optionConfig.images[this.productIndex];
9067                    images && window.dispatchEvent(new CustomEvent(
9068                        "update-gallery",
9069                        { detail: this.sortImagesByPosition(images) }
9070                    ));
9071                } else {
9072                    window.dispatchEvent(new Event("reset-gallery"));
9073                }
9074            },
9075            updateSquareFootage () {
9076                let squareFootageElement = document.getElementsByName('square_footage');
9077                
9078                if (squareFootageElement.length > 0) {
9079                    var squareFootage = squareFootageElement[0].value;
9080
9081                    if (squareFootage) {
9082                        // Trigger the 'keyup' event
9083                        var event = new KeyboardEvent('keyup', {
9084                            'key': 'Enter', // You can set this to any key, like 'Enter'
9085                            'bubbles': true,
9086                            'cancelable': true
9087                        });
9088
9089                        squareFootageElement[0].dispatchEvent(event);
9090                    }
9091                }
9092            },
9093            sortImagesByPosition(images) {
9094                return images.sort((x, y) => {
9095                    return x.position === y.position ? 0 : (parseInt(x.position) > parseInt(y.position) ? 1 : -1)
9096                });
9097            },
9098            onGetCartData(data) {
9099                this.preselectCartItems(data);
9100                this.preselectQuerystringItems();
9101                this.preselectLocationHashItems();
9102            },
9103            preselectCartItems(data) {
9104                // pre-select options based on cart data for current (quote) itemId
9105                const cart = data && data.cart;
9106                if (cart && cart.items) {
9107                    const cartItem = cart.items.find((item) => {
9108                        return (
9109                            item.item_id === this.itemId
9110                            && item.product_id === this.productId
9111                        )
9112                    });
9113                    if (cartItem && cartItem.options && cartItem.options.length) {
9114                        cartItem.options.map(option => {
9115                            this.changeOption(option.option_id, option.option_value);
9116                        })
9117                    }
9118                }
9119            },
9120            preselectQuerystringItems() {
9121                // pre-select option like ?size=167
9122                const urlQueryParams = new URLSearchParams(window.location.search.replace('?',''));
9123                Object.values(this.optionConfig.attributes).map(attribute => {
9124                    urlQueryParams.get(attribute.code) &&
9125                    this.changeOption(attribute.id, urlQueryParams.get(attribute.code));
9126                });
9127            },
9128            preselectLocationHashItems() {
9129                // pre-select option like #144=167
9130                const urlHashParams = new URLSearchParams(window.location.hash.replace('#',''));
9131                Object.values(this.optionConfig.attributes).map(attribute => {
9132                    urlHashParams.get(attribute.id) &&
9133                    this.changeOption(attribute.id, urlHashParams.get(attribute.id));
9134                });
9135            }
9136        }
9137    }
9138
9139    function isOptionVisible(element) {
9140        const computedStyle = window.getComputedStyle(element);
9141        return computedStyle.display !== 'none' && computedStyle.visibility !== 'hidden';
9142    }
9143</script>
vendor: 1 bytes, line 9143
9143
9144<script>
9145    function initCompareOnProductList() {
9146        return {
9147            addToCompare(productId) {
9148                const formKey = hyva.getFormKey();
9149                const postUrl = BASE_URL + 'catalog/product_compare/add/';
9150
9151                fetch(postUrl, {
9152                    "headers": {
9153                        "content-type": "application/x-www-form-urlencoded; charset=UTF-8",
9154                    },
9155                    "body": "form_key=" + formKey + "&product=" + productId + "&uenc=" + hyva.getUenc(),
9156                    "method": "POST",
9157                    "mode": "cors",
9158                    "credentials": "include"
9159                }).then(function (response) {
9160                    if (response.redirected) {
9161                        window.location.href = response.url;
9162                    }
9163                }).catch(function (error) {
9164                    typeof window.dispatchMessages !== "undefined" && window.dispatchMessages(
9165                        [{
9166                            type: "error",
9167                            text: error
9168                        }], 5000
9169                    );
9170                });
9171            }
9172        };
9173    }
9174</script>
vendor: 1 bytes, line 9174
9174
9175<script>
9176    function initWishlist() {
9177        return {
9178            addToWishlist(productId) {
9179                const formKey = hyva.getFormKey();
9180                const postUrl = BASE_URL + 'wishlist/index/add/';
9181
9182                fetch(postUrl, {
9183                    "headers": {
9184                        "content-type": "application/x-www-form-urlencoded; charset=UTF-8",
9185                    },
9186                    "body": "form_key=" + formKey + "&product=" + productId + "&uenc=" + hyva.getUenc(),
9187                    "method": "POST",
9188                    "mode": "cors",
9189                    "credentials": "include"
9190                }).then(function (response) {
9191                    if (response.redirected) {
9192                        window.location.href = response.url;
9193                    } else if (response.ok) {
9194                        return response.json();
9195                    } else {
9196                        typeof window.dispatchMessages !== "undefined" && window.dispatchMessages(
9197                            [{
9198                                type: "warning",
9199                                text: "Could not add item to wishlist."
9200                            }], 5000
9201                        );
9202                    }
9203                }).then(function (response) {
9204                    if (!response) { return }
9205                    typeof window.dispatchMessages !== "undefined" && window.dispatchMessages(
9206                        [{
9207                            type: (response.success) ? "success" : "error",
9208                            text: (response.success)
9209                                ? "Product has been added to your Wish List."
9210                                : response.error_message
9211                        }], 5000
9212                    );
9213                    const reloadCustomerDataEvent = new CustomEvent("reload-customer-section-data");
9214                    window.dispatchEvent(reloadCustomerDataEvent);
9215                }).catch(function (error) {
9216                    typeof window.dispatchMessages !== "undefined" && window.dispatchMessages(
9217                        [{
9218                            type: "error",
9219                            text: error
9220                        }], 5000
9221                    );
9222                });
9223            }
9224        }
9225    }
9226</script>
vendor: 1 bytes, line 9226
9226
9227<script>
9228    function initSwatchOptions(swatchConfig, swatchLabelValues = null) {
9229        const normalizedSwatchLabelValues = (
9230            swatchLabelValues
9231            && typeof swatchLabelValues === 'object'
9232            && !Array.isArray(swatchLabelValues)
9233        ) ? swatchLabelValues : {};
9234
9235        return {
9236            swatchConfig,
9237            swatchLabelValues: normalizedSwatchLabelValues,
9238            resolveSwatchLabel(attributeId, optionId) {
9239                if (optionId === undefined || optionId === null || optionId === '') {
9240                    return '';
9241                }
9242
9243                const optionKey = String(optionId);
9244                const labels = (
9245                    this.swatchLabelValues
9246                    && typeof this.swatchLabelValues === 'object'
9247                    && !Array.isArray(this.swatchLabelValues)
9248                ) ? this.swatchLabelValues : {};
9249                const flatLabel = labels[optionKey] ?? labels[optionId];
9250                if (flatLabel !== undefined && flatLabel !== null && flatLabel !== '') {
9251                    return String(flatLabel);
9252                }
9253
9254                const attrConfig = this.swatchConfig?.[attributeId] ?? this.swatchConfig?.[String(attributeId)];
9255                const attrLabels = attrConfig?.swatchLabelValues;
9256                if (attrLabels) {
9257                    const attrLabel = attrLabels[optionKey] ?? attrLabels[optionId];
9258                    if (attrLabel !== undefined && attrLabel !== null && attrLabel !== '') {
9259                        return String(attrLabel);
9260                    }
9261                }
9262
9263                const swatchOption = attrConfig?.[optionKey] ?? attrConfig?.[optionId];
9264                if (swatchOption?.label) {
9265                    return String(swatchOption.label);
9266                }
9267
9268                return this.getOptionLabelFromOptionConfig(attributeId, optionId) || '';
9269            },
9270            getAttributeSwatchData(attributeId) {
9271                const attributeKey = String(attributeId);
9272                const rawConfig = this.swatchConfig?.[attributeId] ?? this.swatchConfig?.[attributeKey];
9273                const labels = (
9274                    this.swatchLabelValues
9275                    && typeof this.swatchLabelValues === 'object'
9276                    && !Array.isArray(this.swatchLabelValues)
9277                ) ? this.swatchLabelValues : {};
9278                if (!rawConfig) {
9279                    return {details: {}, swatchLabelValues: labels};
9280                }
9281                const swatchConfig = Object.assign({}, rawConfig);
9282                if (swatchConfig['additional_data']) {
9283                    try {
9284                        swatchConfig['details'] = JSON.parse(swatchConfig['additional_data']);
9285                    } catch (error) {
9286                        swatchConfig['details'] = {};
9287                    }
9288                } else {
9289                    swatchConfig['details'] = swatchConfig['details'] ?? {};
9290                }
9291                swatchConfig['swatchLabelValues'] = labels;
9292
9293                return swatchConfig;
9294            },
9295            getAllAttributeOptions(attributeId) {
9296                return (
9297                    this.optionConfig.attributes[attributeId] &&
9298                    this.optionConfig.attributes[attributeId].options
9299                ) || []
9300            },
9301            optionIsActive(attributeId, optionId) {
9302                const optionKey = String(optionId);
9303                return !!this.getAllowedAttributeOptions(attributeId).find(
9304                    option => String(option.id) === optionKey
9305                );
9306            },
9307            optionIsEnabled(attributeId, optionId) {
9308                const attributeKey = String(attributeId);
9309                const optionKey = String(optionId);
9310                const index = this.optionConfig?.index || {};
9311                for (const productId in index) {
9312                    const productOptions = index[productId] || {};
9313                    if (
9314                        String(productOptions[attributeKey]) === optionKey
9315                        || String(productOptions[attributeId]) === optionKey
9316                    ) {
9317                        return true;
9318                    }
9319                }
9320                const attributeOptions = (
9321                    this.optionConfig?.attributes?.[attributeId]?.options
9322                    || this.optionConfig?.attributes?.[attributeKey]?.options
9323                    || []
9324                );
9325                const match = attributeOptions.find((option) => String(option.id) === optionKey);
9326                if (!match?.products?.length) {
9327                    return false;
9328                }
9329                return match.products.some((childId) => {
9330                    const key = String(childId);
9331                    return Object.prototype.hasOwnProperty.call(index, key)
9332                        || Object.prototype.hasOwnProperty.call(index, childId);
9333                });
9334            },
9335            mapSwatchTypeNumberToTypeCode(typeNumber) {
9336                switch ("" + typeNumber) {
9337                    case "1":
9338                        return "color"
9339                    case "2":
9340                        return "image"
9341                    case "3":
9342                        return "empty"
9343                    case "0":
9344                    default:
9345                        return "text"
9346                }
9347            },
9348            getTypeOfFirstOption(attributeId) {
9349                for (const optionId in this.swatchConfig[attributeId]) {
9350                    const option = this.swatchConfig[attributeId][optionId];
9351                    if (typeof option.type !== 'undefined') {
9352                        return this.mapSwatchTypeNumberToTypeCode(option.type);
9353                    }
9354                }
9355            },
9356            getVisualSwatchType(attributeId, targetOptionId) {
9357                // If a type configuration is present for the given option id, use it
9358                const config = this.swatchConfig[attributeId];
9359                if (config[targetOptionId] && typeof config[targetOptionId].type !== 'undefined') {
9360                    return this.mapSwatchTypeNumberToTypeCode(config[targetOptionId].type);
9361                }
9362
9363                // Otherwise - if no config is present for the target option - use the type of the first option
9364                // with a type property from the attribute, thus assuming its the same type as the target option.
9365                // (This edge case condition can occur on single swatch products if some options are not salable)
9366                return this.getTypeOfFirstOption(attributeId);
9367            },
9368            getSwatchType(attributeId, optionId) {
9369                // Deserialize the attribute details the first time they are used
9370                if (this.swatchConfig[attributeId] && ! this.swatchConfig[attributeId].details) {
9371                    this.swatchConfig[attributeId] = this.getAttributeSwatchData(attributeId);
9372                }
9373                const type =  this.swatchConfig[attributeId] &&
9374                    this.swatchConfig[attributeId].details &&
9375                    this.swatchConfig[attributeId].details.swatch_input_type ||
9376                    "empty";
9377                return type === 'visual' ? this.getVisualSwatchType(attributeId, optionId) : type;
9378            },
9379            isTextSwatch(attributeId, optionId) {
9380                return this.getSwatchType(attributeId, optionId) === 'text';
9381            },
9382            isVisualSwatch(attributeId, optionId) {
9383                const type = this.getSwatchType(attributeId, optionId);
9384
9385                return ['image', 'color'].includes(type);
9386            },
9387            getSwatchBackgroundStyle(attributeId, optionId) {
9388                const config = this.getSwatchConfig(attributeId, optionId);
9389                const type = this.getSwatchType(attributeId, optionId);
9390
9391                if (type === "color") {
9392                        return 'background-color:' + config.value;
9393                } else if (type === "image") {
9394                        return "background: #ffffff url('" + config.value + "') no-repeat center";
9395                } else {
9396                    return '';
9397                }
9398            },
9399			getSwatchText(attributeId, optionId) {
9400                return this.resolveSwatchLabel(attributeId, optionId);
9401            },
9402            getLegacyColorSwatchImageHtml(attributeId, optionId) {
9403                const map = this._legacyColorSwatchImages || {};
9404                return this.getSwatchTextUrl(attributeId, optionId, map);
9405            },
9406            getSwatchTextUrl(attributeId, optionId, childSwatch) {
9407                const config = this.getSwatchConfig(attributeId, optionId);
9408                const optionKey = String(optionId);
9409                const swatchMap = (
9410                    childSwatch
9411                    && typeof childSwatch === 'object'
9412                    && !Array.isArray(childSwatch)
9413                ) ? childSwatch : {};
9414                const swatchUrl = swatchMap[optionKey] ?? swatchMap[optionId];
9415                if(swatchUrl != "" && swatchUrl != null && isValidURL(swatchUrl)){
9416					return "<img loading='lazy' src="+swatchUrl+" title="+swatchUrl+" alt="+swatchUrl+"/>";
9417				} else if(config && config.value!="" && config.value!= null && isValidURL(config.value)){
9418					return "<img loading='lazy' src="+config.value+" title="+config.value+" alt="+config.value+"/>";
9419				} else {
9420					 var placeHoldernew = BASE_URL+'media/catalog/product/placeholder/default/swatch_placeholder.png';
9421
9422					return "<img  width= '60px' height='60px' src="+placeHoldernew+" title="+placeHoldernew+" alt="+placeHoldernew+"/>";
9423				}
9424			},
9425            getOptionLabelFromOptionConfig(attributeId, optionId) {
9426                const optionKey = String(optionId);
9427                const option = this.getAllAttributeOptions(attributeId).find(
9428                    (entry) => String(entry.id) === optionKey
9429                );
9430                return option?.label || '';
9431            },
9432            getSwatchConfig(attributeId, optionId) {
9433                const attrConfig = this.swatchConfig[attributeId] ?? this.swatchConfig[String(attributeId)];
9434                if (!attrConfig) {
9435                    return false;
9436                }
9437                return attrConfig[optionId] ?? attrConfig[String(optionId)] ?? false;
9438            },
9439            activeTooltipItem: false,
9440            tooltipPositionElement: false,
9441            isTooltipVisible() {
9442                return this.activeTooltipItem &&
9443                    this.getSwatchConfig(
9444                        this.activeTooltipItem.attribute,
9445                        this.activeTooltipItem.item
9446                    );
9447            },
9448            getTooltipImageStyle(attributeId, optionId) {
9449                const config = this.getSwatchConfig(attributeId, optionId);
9450                const type = this.getSwatchType(attributeId, optionId);
9451
9452                if (type === "color") {
9453                    return 'background-color:' + config.value + '; width: 110px; height: 90px;';
9454                } else if (type === "image") {
9455                    return "background: #ffffff url('" + config.thumb +
9456                        "') center center no-repeat; width: 110px; height: 90px;";
9457                } else {
9458                    return 'display:none';
9459                }
9460            },
9461            getTooltipPosition() {
9462                if (!this.tooltipPositionElement) {
9463                    return '';
9464                }
9465                const rect = this.tooltipPositionElement.getBoundingClientRect();
9466                const elementWidth = rect.width;
9467                const elementHeight = rect.height;
9468                const container = document.querySelector('.swatch___render');
9469                if (!container) {
9470                    return '';
9471                }
9472                const containerRect = container.getBoundingClientRect();
9473                const topPosition = rect.top - containerRect.top + 10;
9474                const leftPosition = rect.left - containerRect.left;
9475
9476                return `                    
9477                    top: ${topPosition}px;
9478                    left: ${leftPosition}px;
9479                `;
9480            },
9481            getSwatchConfigLabel(attributeId, optionId) {
9482                const label = this.resolveSwatchLabel(attributeId, optionId);
9483                return label !== '' ? label : false;
9484            },
9485            getTooltipLabel() {
9486                return this.getSwatchConfigLabel(this.activeTooltipItem.attribute, this.activeTooltipItem.item);
9487                //return this.getSwatchConfig(this.activeTooltipItem.attribute, this.activeTooltipItem.item).label
9488            },
9489            focusedLabel: false,
9490            focusLabel(optionId) {
9491                this.focusedLabel = optionId;
9492            },
9493            blurLabel() {
9494                this.focusedLabel = false;
9495            },
9496            showSwatches: true,
9497            initShowSwatchesIntersect() {
9498                this.showSwatches = true;
9499            },
9500
9501            quickShipValidation(attributeCode, attributeId, optionId){
9502               if (optionId === undefined || optionId === null || optionId === '') {
9503                   return 0;
9504               }
9505               var is_quick_ship_color = 0;
9506                var optionConfigObj = this.optionConfig;
9507                if (!optionConfigObj || typeof optionConfigObj !== 'object') {
9508                    return 0;
9509                }
9510                if(attributeCode == 'incstores_pim_color_axis'){
9511                    var attributes = optionConfigObj.attributes;
9512                    if (!attributes || !attributes[attributeId] || !attributes[attributeId]['options']) {
9513                        return 0;
9514                    }
9515                    var quickShipColorIds = optionConfigObj.quick_ship_color_ids || [];
9516                    if (quickShipColorIds.length) {
9517                        return quickShipColorIds.some(function (id) {
9518                            return String(id) === String(optionId);
9519                        }) ? 1 : 0;
9520                    }
9521                    var quickShipMap = optionConfigObj.quick_ship;
9522                    if (!quickShipMap) {
9523                        return 0;
9524                    }
9525                    var attributes_options = attributes[attributeId]['options'];
9526
9527                    attributes_options.forEach(function(option_details) {
9528                        if(option_details['id'] == optionId){
9529                            option_details['products'].forEach(function(child_product_id) {
9530                                if(quickShipMap[String(child_product_id)] == 1 || quickShipMap[child_product_id] == 1){
9531                                    is_quick_ship_color = 1;
9532                                    return false;
9533                                }
9534                            });
9535                        }
9536                    });
9537                }
9538                return is_quick_ship_color;
9539            },
9540
9541            hasQuickShipColorOptions(attributeCode, attributeId) {
9542                if (!this.optionConfig?.attributes?.[attributeId]?.options?.length) {
9543                    return false;
9544                }
9545                if (this.selectedValues) {
9546                    Object.keys(this.selectedValues).forEach(function (key) {
9547                        void this.selectedValues[key];
9548                    }.bind(this));
9549                }
9550                var colorIds = this.optionConfig.quick_ship_color_ids || [];
9551                var options = this.optionConfig.attributes[attributeId].options;
9552                for (var i = 0; i < options.length; i++) {
9553                    var optionId = options[i].id;
9554                    var isQuick = colorIds.length
9555                        ? colorIds.some(function (id) { return String(id) === String(optionId); })
9556                        : (this.quickShipValidation(attributeCode, attributeId, optionId) === 1);
9557                    if (!isQuick) {
9558                        continue;
9559                    }
9560                    if (!this.optionIsEnabled(attributeId, optionId)) {
9561                        continue;
9562                    }
9563                    if (!this.optionIsActive(attributeId, optionId)) {
9564                        continue;
9565                    }
9566                    return true;
9567                }
9568                return false;
9569            },
9570
9571            hasNormalColorOptions(attributeCode, attributeId) {
9572                if (!this.optionConfig?.attributes?.[attributeId]?.options?.length) {
9573                    return false;
9574                }
9575                if (this.shipRegionZipActive && this.customerRegionCode) {
9576                    return false;
9577                }
9578                var colorIds = this.optionConfig.quick_ship_color_ids || [];
9579                var options = this.optionConfig.attributes[attributeId].options;
9580                for (var i = 0; i < options.length; i++) {
9581                    var optionId = options[i].id;
9582                    var isQuick = colorIds.length
9583                        ? colorIds.some(function (id) { return String(id) === String(optionId); })
9584                        : (this.quickShipValidation(attributeCode, attributeId, optionId) === 1);
9585                    if (!isQuick) {
9586                        if (!this.optionIsEnabled(attributeId, optionId)) {
9587                            continue;
9588                        }
9589                        if (!this.optionIsActive(attributeId, optionId)) {
9590                            continue;
9591                        }
9592                        return true;
9593                    }
9594                }
9595                return false;
9596            },
9597
9598            shouldShowQuickShipSection(attributeCode, attributeId) {
9599                if (this.shipRegionZipActive && this.customerRegionCode) {
9600                    return false;
9601                }
9602                return this.hasQuickShipColorOptions(attributeCode, attributeId);
9603            },
9604
9605            getOtherSwatchAttributeId(section = null) {
9606                const target = section || document.querySelector('.swatch-attribute.other_swatch_option');
9607                if (!target || !this.optionConfig?.attributes) {
9608                    return null;
9609                }
9610                for (const key in this.optionConfig.attributes) {
9611                    const code = this.optionConfig.attributes[key]?.code;
9612                    if (code && code !== 'incstores_pim_color_axis' && target.classList.contains(code)) {
9613                        return parseInt(key, 10);
9614                    }
9615                }
9616                for (const key in this.optionConfig.attributes) {
9617                    const code = this.optionConfig.attributes[key]?.code;
9618                    if (code && code !== 'incstores_pim_color_axis') {
9619                        return parseInt(key, 10);
9620                    }
9621                }
9622                return null;
9623            },
9624
9625            /**
9626             * Count salable/enabled options only. Disabled Magento variants stay out of the UI.
9627             * Hide "Select An Option" when fewer than two enabled options remain.
9628             */
9629            countEnabledOtherSwatchOptions(attrId) {
9630                if (!attrId) {
9631                    return 0;
9632                }
9633                const options = this.optionConfig?.attributes?.[attrId]?.options || [];
9634                return options.filter((option) => this.optionIsEnabled(attrId, option.id)).length;
9635            },
9636
9637            countVisibleOtherSwatchOptions() {
9638                return this.countEnabledOtherSwatchOptions(this.getOtherSwatchAttributeId());
9639            },
9640
9641            syncOtherSwatchOptionVisibility() {
9642                const sections = document.querySelectorAll('.swatch-attribute.other_swatch_option');
9643                if (!sections.length) {
9644                    return;
9645                }
9646                const self = this;
9647                const applyVisibility = () => {
9648                    sections.forEach((variantSection) => {
9649                        const attrId = self.getOtherSwatchAttributeId(variantSection);
9650                        if (!attrId) {
9651                            return;
9652                        }
9653                        const optionCount = self.countEnabledOtherSwatchOptions(attrId);
9654                        const shouldShow = optionCount > 1;
9655                        variantSection.classList.toggle('dcw-single-option-hidden', !shouldShow);
9656                        // Theme CSS defaults other_swatch_option to display:none — force block/none.
9657                        variantSection.style.setProperty(
9658                            'display',
9659                            shouldShow ? 'block' : 'none',
9660                            'important'
9661                        );
9662                        if (!shouldShow && optionCount === 1) {
9663                            const options = self.optionConfig?.attributes?.[attrId]?.options || [];
9664                            const enabledOption = options.find((option) => self.optionIsEnabled(attrId, option.id));
9665                            const optionId = enabledOption?.id;
9666                            if (optionId !== undefined
9667                                && String(self.selectedValues[attrId]) !== String(optionId)
9668                                && typeof self.changeOption === 'function') {
9669                                self.changeOption(attrId, optionId);
9670                            }
9671                        }
9672                    });
9673                };
9674                applyVisibility();
9675                window.setTimeout(applyVisibility, 300);
9676            },
9677
9678            /**
9679             * After color selection only (including disabled colors): if current variant/option
9680             * is incompatible, auto-select the cheapest compatible one. Never run on variant clicks.
9681             */
9682            autoSelectCompatibleOtherOption(colorAttrId) {
9683                if (!colorAttrId || !this.optionConfig?.attributes) {
9684                    return;
9685                }
9686                const selectedColor = this.selectedValues[colorAttrId];
9687                if (!selectedColor) {
9688                    return;
9689                }
9690
9691                let otherAttrId = null;
9692                if (typeof this.getAttributeIdByCode === 'function') {
9693                    otherAttrId = this.getAttributeIdByCode('incstores_pim_variant_axis')
9694                        || this.getAttributeIdByCode('product_option');
9695                }
9696                if (!otherAttrId) {
9697                    const section = document.querySelector('.swatch-attribute.other_swatch_option');
9698                    otherAttrId = this.getOtherSwatchAttributeId(section);
9699                }
9700                if (!otherAttrId || !this.optionConfig.attributes[otherAttrId]) {
9701                    return;
9702                }
9703
9704                const currentOther = this.selectedValues[otherAttrId];
9705                const isCurrentCompatible = currentOther
9706                    && typeof this.optionIsActive === 'function'
9707                    && this.optionIsActive(otherAttrId, currentOther);
9708
9709                if (isCurrentCompatible) {
9710                    return;
9711                }
9712
9713                const options = this.optionConfig.attributes[otherAttrId].options || [];
9714                let lowestPrice = null;
9715                let lowestOptionId = null;
9716
9717                options.forEach((option) => {
9718                    if (typeof this.optionIsEnabled === 'function'
9719                        && !this.optionIsEnabled(otherAttrId, option.id)) {
9720                        return;
9721                    }
9722                    const productIds = option.products || [];
9723                    productIds.forEach((productId) => {
9724                        const product = this.optionConfig.index[productId]
9725                            || this.optionConfig.index[String(productId)];
9726                        if (!product || String(product[colorAttrId]) !== String(selectedColor)) {
9727                            return;
9728                        }
9729                        const priceData = this.optionConfig.optionPrices[productId]
9730                            || this.optionConfig.optionPrices[String(productId)];
9731                        if (!priceData) {
9732                            return;
9733                        }
9734                        const price = priceData.finalPrice.amount;
9735                        if (lowestPrice === null || price < lowestPrice) {
9736                            lowestPrice = price;
9737                            lowestOptionId = option.id;
9738                        }
9739                    });
9740                });
9741
9742                if (lowestOptionId === null
9743                    || String(this.selectedValues[otherAttrId]) === String(lowestOptionId)) {
9744                    return;
9745                }
9746
9747                if (typeof this.changeOption === 'function') {
9748                    this.changeOption(otherAttrId, lowestOptionId);
9749                    return;
9750                }
9751
9752                const el = document.querySelector(
9753                    'input[name="super_attribute[' + otherAttrId + ']"][value="' + lowestOptionId + '"]'
9754                );
9755                if (el) {
9756                    el.click();
9757                }
9758            },
9759
9760            /**
9761             * After variant / Select An Option change: if current color is unavailable,
9762             * auto-select the cheapest compatible color. Never run on color clicks.
9763             */
9764            autoSelectCompatibleColorOption(otherAttrId) {
9765                if (!otherAttrId || !this.optionConfig?.attributes) {
9766                    return;
9767                }
9768                const selectedOther = this.selectedValues[otherAttrId];
9769                if (!selectedOther) {
9770                    return;
9771                }
9772
9773                let colorAttrId = null;
9774                if (typeof this.getAttributeIdByCode === 'function') {
9775                    colorAttrId = this.getAttributeIdByCode('incstores_pim_color_axis');
9776                }
9777                if (!colorAttrId && typeof this.getShipRegionColorAttributeId === 'function') {
9778                    colorAttrId = this.getShipRegionColorAttributeId();
9779                }
9780                if (!colorAttrId || !this.optionConfig.attributes[colorAttrId]) {
9781                    return;
9782                }
9783
9784                const currentColor = this.selectedValues[colorAttrId];
9785                const isCurrentCompatible = currentColor
9786                    && typeof this.optionIsActive === 'function'
9787                    && this.optionIsActive(colorAttrId, currentColor);
9788
9789                if (isCurrentCompatible) {
9790                    return;
9791                }
9792
9793                const options = this.optionConfig.attributes[colorAttrId].options || [];
9794                let lowestPrice = null;
9795                let lowestOptionId = null;
9796
9797                options.forEach((option) => {
9798                    if (typeof this.optionIsEnabled === 'function'
9799                        && !this.optionIsEnabled(colorAttrId, option.id)) {
9800                        return;
9801                    }
9802                    const productIds = option.products || [];
9803                    productIds.forEach((productId) => {
9804                        const product = this.optionConfig.index[productId]
9805                            || this.optionConfig.index[String(productId)];
9806                        if (!product || String(product[otherAttrId]) !== String(selectedOther)) {
9807                            return;
9808                        }
9809                        const priceData = this.optionConfig.optionPrices[productId]
9810                            || this.optionConfig.optionPrices[String(productId)];
9811                        if (!priceData) {
9812                            return;
9813                        }
9814                        const price = priceData.finalPrice.amount;
9815                        if (lowestPrice === null || price < lowestPrice) {
9816                            lowestPrice = price;
9817                            lowestOptionId = option.id;
9818                        }
9819                    });
9820                });
9821
9822                if (lowestOptionId === null
9823                    || String(this.selectedValues[colorAttrId]) === String(lowestOptionId)) {
9824                    return;
9825                }
9826
9827                if (typeof this.changeOption === 'function') {
9828                    this.changeOption(colorAttrId, lowestOptionId);
9829                    return;
9830                }
9831
9832                const el = document.querySelector(
9833                    'input[name="super_attribute[' + colorAttrId + ']"][value="' + lowestOptionId + '"]'
9834                );
9835                if (el) {
9836                    el.click();
9837                }
9838            },
9839
9840            syncNormalColorSwatchQuickShipVisibility() {
9841                if (this.shipRegionZipActive && this.customerRegionCode) {
9842                    return;
9843                }
9844                if (typeof this.quickShipValidation !== 'function') {
9845                    if (typeof this.syncNormalColorSwatchSectionVisibility === 'function') {
9846                        this.syncNormalColorSwatchSectionVisibility();
9847                    }
9848                    return;
9849                }
9850                const self = this;
9851                document.querySelectorAll('.normal_color_swatch_option .selectOptionColor').forEach(function (el) {
9852                    const input = el.querySelector('input.product-option-value-input[name^="super_attribute"]');
9853                    if (!input) {
9854                        return;
9855                    }
9856                    const nameMatch = input.name.match(/super_attribute\[(\d+)\]/);
9857                    if (!nameMatch) {
9858                        return;
9859                    }
9860                    const attributeId = parseInt(nameMatch[1], 10);
9861                    const optionId = input.value;
9862                    const attributeCode = input.getAttribute('data-attributecode') || 'incstores_pim_color_axis';
9863                    if (self.quickShipValidation(attributeCode, attributeId, optionId) === 1) {
9864                        el.classList.add('hidden');
9865                        el.style.display = 'none';
9866                    } else {
9867                        el.classList.remove('hidden');
9868                        el.style.display = '';
9869                    }
9870                });
9871                if (typeof this.syncNormalColorSwatchSectionVisibility === 'function') {
9872                    this.syncNormalColorSwatchSectionVisibility();
9873                }
9874            },
9875
9876            getColorAttributeId() {
9877                if (typeof this.getAttributeIdByCode === 'function') {
9878                    const id = this.getAttributeIdByCode('incstores_pim_color_axis');
9879                    return id ? parseInt(String(id), 10) : null;
9880                }
9881                if (!this.optionConfig?.attributes) {
9882                    return null;
9883                }
9884                for (const key in this.optionConfig.attributes) {
9885                    if (this.optionConfig.attributes[key]?.code === 'incstores_pim_color_axis') {
9886                        return parseInt(key, 10);
9887                    }
9888                }
9889                return null;
9890            },
9891
9892            /**
9893             * Hide entire "Select A Color" block when every color is Quick Ship (or none left).
9894             */
9895            syncNormalColorSwatchSectionVisibility() {
9896                const sections = document.querySelectorAll('.normal_color_swatch_option');
9897                if (!sections.length) {
9898                    return;
9899                }
9900                const colorAttrId = this.getColorAttributeId();
9901                const shouldShow = colorAttrId
9902                    && typeof this.hasNormalColorOptions === 'function'
9903                    && this.hasNormalColorOptions('incstores_pim_color_axis', colorAttrId);
9904
9905                sections.forEach((section) => {
9906                    if (!shouldShow) {
9907                        section.classList.add('hidden');
9908                        section.style.setProperty('display', 'none', 'important');
9909                    } else {
9910                        section.classList.remove('hidden', 'sr-only');
9911                        section.style.setProperty('display', 'block', 'important');
9912                    }
9913                });
9914            }
9915        }
9916    }
9917
9918	function isValidURL(url) {
9919    // Regular expression for URL validation
9920    var pattern = /^(https?:\/\/)?([\w.]+)\.([a-z]{2,})(\/[\w\.-]*)*\/?$/i;
9921    return pattern.test(url);
9922}
9923</script>
vendor: 1 bytes, line 9923
9923
9924<script>
9925    'use strict';
9926
9927    (function () {
9928        const modals = [];
9929        const excludedFromFocusTrapping = new Set();
9930
9931        function trapFocusInNextModalWithOverlay() {
9932            for (let idx = modals.length -1; idx >= 0; idx--) {
9933                const nextOnStack = modals[idx];
9934                const nextDialogElement = nextOnStack.instance.$refs[nextOnStack.name];
9935                if (! isOverlayDisabled(nextDialogElement)) {
9936                    hyva.trapFocus(nextDialogElement);
9937                    break;
9938                }
9939            }
9940        }
9941
9942        function focusables(dialogElement) {
9943            const selector = 'button, [href], input, textarea, select, details, [tabindex]:not([tabindex="-1"])';
9944            return Array.from(dialogElement.querySelectorAll(selector))
9945                .filter(el => !el.hasAttribute('disabled'));
9946        }
9947
9948        function firstVisible(elements) {
9949            const a = Array.from(elements);
9950            for (let i = 0; i < a.length; i++) {
9951                if (a[i].offsetWidth || a[i].offsetHeight || a[i].getClientRects().length) return a[i];
9952            }
9953            return null;
9954        }
9955
9956        function isInViewport(element) {
9957            const rect = element && element.getBoundingClientRect();
9958            return rect &&
9959                rect.top >= 0 &&
9960                rect.left >= 0 &&
9961                rect.right <= window.innerWidth &&
9962                rect.bottom <= window.innerHeight;
9963        }
9964
9965        function setFocusAfterTransition(dialogElement, duration) {
9966                        const nested = Array.from(dialogElement.querySelectorAll('[role="dialog"]'));
9967            const candidates = Array.from(dialogElement.querySelectorAll('[x-focus-first]'));
9968            next: for (let candidate of candidates) {
9969                for (let child of nested) {
9970                    if (child.contains(candidate)) continue next;
9971                }
9972                setTimeout(() => candidate.focus(), 50);
9973                break;
9974            }
9975            window.setTimeout(() => {
9976                const focusElement = firstVisible(dialogElement.querySelectorAll('[x-focus-first]')) ||
9977                    focusables(dialogElement)[0] ||
9978                    null;
9979                focusElement && isInViewport(focusElement) && focusElement.focus();
9980            }, Math.max(1, duration));
9981        }
9982
9983        function determineTrigger($refs, dialog, trigger) {
9984                        if (typeof trigger === 'undefined' && typeof dialog === 'object' && dialog.target instanceof HTMLElement) {
9985                return dialog.target;
9986            }
9987                        if (typeof dialog === 'string' && typeof trigger === 'object' && trigger.target instanceof HTMLElement) {
9988                return trigger.target;
9989            }
9990                        if (typeof trigger === 'string') {
9991                try {
9992                    return $refs[trigger] || document.querySelector(trigger)
9993                } catch (e) {}
9994            }
9995                        if (trigger instanceof Element) {
9996                return trigger;
9997            }
9998
9999                        return null;
10000        }
10001
10002        function isOverlayDisabled(dialog) {
10003            return dialog && dialog.hasAttribute('x-no-overlay')
10004        }
10005
10006        function areRemainingModalsWithoutOverlay(modals)
10007        {
10008            const overflowDisabled = modals.map(modal => modal.instance.$refs[modal.name]).filter(isOverlayDisabled);
10009
10010            return overflowDisabled.length === modals.length;
10011        }
10012
10013        window.hyva.modal = function(options) {
10014
10015            const config = Object.assign({
10016                dialog: 'dialog',                 duration: 300,                 transitionEnter: 'transition ease-out duration-300',
10017                transitionEnterStart: 'opacity-0',
10018                transitionEnterEnd: 'opacity-100',
10019                transitionLeave: 'transition ease-in duration-300',
10020                transitionLeaveStart: 'opacity-100',
10021                transitionLeaveEnd: 'opacity-0',
10022            }, options);
10023            let lastHide = 0;
10024
10025            return {
10026                opened: {},
10027                show(dialog, trigger) {
10028                    const focusTargetAfterHide = determineTrigger(this.$refs, dialog, trigger);
10029                    const name = typeof dialog === 'string' ? dialog : config.dialog;
10030                    const dialogElement = this.$refs[name];
10031                    if (! dialogElement) {
10032                                                return;
10033                    }
10034                    const useOverlay = ! dialogElement.hasAttribute('x-no-overlay');
10035
10036                    dialogElement.scrollTop = 0;
10037
10038                                        if (this.opened[name]) {
10039                        return;
10040                    }
10041
10042                    if (focusTargetAfterHide) {
10043                        focusTargetAfterHide.setAttribute('aria-expanded', 'true');
10044                    }
10045
10046                    this.opened[name] = true;
10047                    useOverlay && this.$nextTick(() => hyva.trapFocus(dialogElement));
10048                    setFocusAfterTransition(dialogElement, config.duration);
10049
10050                    const frame = {name, instance: this, focusTarget: focu
10050sTargetAfterHide, time: Date.now()};
10051
10052                    modals.push(frame);
10053                    if (useOverlay) {
10054                        document.body.classList.add('overflow-hidden');
10055                    }
10056                    return new Promise(resolve => frame.resolve = resolve);
10057                },
10058                cancel() {
10059                    this.hide(false);
10060                },
10061                ok() {
10062                    this.hide(true);
10063                },
10064                hide(value) {
10065                                        if (Date.now() - lastHide < config.duration) {
10066                        return;
10067                    }
10068                    lastHide = Date.now();
10069
10070                    const modal = modals.pop() || {};
10071                    const name = modal.name;
10072                    this.opened[name] = false;
10073                    hyva.releaseFocus(modal.instance.$refs[modal.name])
10074                    trapFocusInNextModalWithOverlay();
10075
10076                    const nextFocusAfterHide = modal.focusTarget;
10077                    nextFocusAfterHide && setTimeout(() => {
10078                        nextFocusAfterHide.setAttribute('aria-expanded', 'false');
10079                        nextFocusAfterHide.focus()
10080                    }, config.duration);
10081
10082                    if (modals.length === 0 || areRemainingModalsWithoutOverlay(modals)) {
10083                        document.body.classList.remove('overflow-hidden');
10084                    }
10085
10086                    modal.resolve(value);
10087                },
10088                overlay(dialog) {
10089                    const name = typeof dialog === 'string' ? dialog : config.dialog;
10090                    return {
10091                        ['x-show']() {
10092                            return this.opened[name]
10093                        },
10094                        ['x-transition:enter']: config.transitionEnter,
10095                        ['x-transition:enter-start']: config.transitionEnterStart,
10096                        ['x-transition:enter-end']: config.transitionEnterEnd,
10097                        ['x-transition:leave']: config.transitionLeave,
10098                        ['x-transition:leave-start']: config.transitionLeaveStart,
10099                        ['x-transition:leave-end']: config.transitionLeaveEnd,
10100                        ['@hyva-modal-show.window'](event) {
10101                            event.detail && event.detail.dialog === name && this.show(name, event.detail.focusAfterHide)
10102                        }
10103                    };
10104                }
10105            };
10106        }
10107
10108        window.hyva.modal.peek = () => modals.length > 0 && modals[modals.length -1]
10109
10110        window.hyva.modal.pop = function () {
10111            if (modals.length > 0) {
10112                const modal = modals[modals.length -1];
10113                modal.instance.hide();
10114            }
10115        }
10116
10117        window.hyva.modal.excludeSelectorsFromFocusTrap = function (selectors) {
10118            typeof selectors === 'string' || selectors instanceof String
10119                ? excludedFromFocusTrapping.add(selectors)
10120                : selectors.map(selector => excludedFromFocusTrapping.add(selector));
10121        }
10122
10123        window.hyva.modal.eventListeners = {
10124            keydown: event => {
10125                if (event.key === 'Escape') {
10126                    window.hyva.modal.pop();
10127                }
10128            },
10129                        click: event => {
10130                if (modals.length > 0) {
10131                    const modal = modals[modals.length -1];
10132                    const dialog = modal.instance.$refs[modal.name];
10133                    if (modal.time + 50 < Date.now() && // if last click processing is more than 50ms ago
10134                        ! isOverlayDisabled(dialog) && // if dialog has overlay
10135                        ! dialog.contains(event.target)) { // if click is outside of dialog
10136                        modal.instance.hide();
10137                    }
10138                }
10139            }
10140        };
10141
10142        document.addEventListener('keydown', window.hyva.modal.eventListeners.keydown);
10143
10144        document.addEventListener('click', window.hyva.modal.eventListeners.click);
10145    })();
10146</script>
vendor: 1 bytes, line 10146
10146
10147<script>
10148    'use strict';
10149
10150    (() => {
10151        const equalizeButtonWidths = (buttons) => {
10152            const buttonList = buttons.querySelectorAll('[data-element="link"], [data-element="empty_link"]');
10153            let buttonMinWidth = 0;
10154
10155            buttonList.forEach(button => {
10156                const buttonWidth = button.offsetWidth;
10157
10158                if (buttonWidth > buttonMinWidth) {
10159                    buttonMinWidth = buttonWidth;
10160                }
10161            });
10162
10163            buttonList.forEach(button => {
10164                button.style.minWidth = `${buttonMinWidth}px`;
10165            });
10166        };
10167
10168        window.addEventListener('DOMContentLoaded', () => {
10169            document.querySelectorAll('[data-content-type="buttons"][data-same-width="true"]').forEach(buttons => {
10170                equalizeButtonWidths(buttons);
10171            });
10172        });
10173    })();
10174</script>
vendor: 1 bytes, line 10174
10174
10175<script>
10176    'use strict';
10177
10178    (() => {
10179        const initCarousels = (elements) => {
10180            if (!Glider) {
10181                return;
10182            }
10183
10184            const initProductCarousel = (carousel) => {
10185                const gliderElement = carousel.querySelector('[data-role="glider-content"]');
10186
10187                if (!gliderElement) {
10188                    return;
10189                }
10190
10191                const gliderDots = carousel.querySelector('.glider-dots');
10192                const gliderPrev = carousel.querySelector('.glider-prev');
10193                const gliderNext = carousel.querySelector('.glider-next');
10194
10195                const glider = new Glider(gliderElement, {
10196                    slidesToShow: 1.2,
10197                    slidesToScroll: 2,
10198                    scrollLock: true,
10199                    draggable: true,
10200                    dragVelocity: 2.5,
10201                    dots: gliderDots,
10202                    arrows: {
10203                        prev: gliderPrev,
10204                        next: gliderNext,
10205                    },
10206                    responsive: [
10207                        {
10208                            breakpoint: 768,
10209                            settings: {
10210                                slidesToShow: 3,
10211                                slidesToScroll: 3,
10212                            }
10213                        },
10214                        {
10215                            breakpoint: 1024,
10216                            settings: {
10217                                slidesToShow: 4,
10218                                slidesToScroll: 4,
10219                            }
10220                        },
10221                        {
10222                            breakpoint: 1200,
10223                            settings: {
10224                                slidesToShow: 5,
10225                                slidesToScroll: 5,
10226                            }
10227                        }
10228                    ],
10229                });
10230
10231                carousel.classList.remove('overflow-x-scroll');
10232                gliderPrev.classList.remove('hidden');
10233                gliderNext.classList.remove('hidden');
10234
10235                if (carousel.dataset.autoplay !== 'false') {
10236                    gliderAutoplay(
10237                        glider,
10238                        carousel.dataset.autoplaySpeed,
10239                        carousel.dataset.infiniteLoop
10240                    );
10241                }
10242            };
10243
10244            const initSliderCarousel = (slider) => {
10245                slider.innerHTML = `<div data-role="glider-content">${slider.innerHTML}</div>`;
10246                slider.classList.add('glider-contain');
10247
10248                slider.insertAdjacentHTML(
10249                    'beforeend',
10250                    '\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
10250003D\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
10250003D\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'
10251                );
10252
10253                const gliderElement = slider.querySelector('[data-role="glider-content"]');
10254                const gliderDots = slider.querySelector('.glider-dots');
10255                const gliderPrev = slider.querySelector('.glider-prev');
10256                const gliderNext = slider.querySelector('.glider-next');
10257
10258                const glider = new Glider(gliderElement, {
10259                    slidesToShow: 1,
10260                    slidesToScroll: 1,
10261                    scrollLock: true,
10262                    scrollLockDelay: 250,
10263                    draggable: true,
10264                    dragVelocity: 2.5,
10265                    dots: gliderDots,
10266                    arrows: {
10267                        prev: gliderPrev,
10268                        next: gliderNext,
10269                    },
10270                });
10271
10272                slider.classList.add('glider-initialized');
10273                if (slider.dataset.showArrows === 'true') {
10274                    gliderPrev.classList.remove('hidden');
10275                    gliderNext.classList.remove('hidden');
10276                }
10277
10278                if (slider.dataset.autoplay !== 'false') {
10279                    gliderAutoplay(
10280                        glider,
10281                        slider.dataset.autoplaySpeed,
10282                        slider.dataset.infiniteLoop
10283                    );
10284                }
10285            };
10286
10287            const gliderAutoplay = (glider, milliseconds, loop) => {
10288                const pagesCount = glider.track.childElementCount;
10289                let slideTimeout = null;
10290                let nextIndex = 1;
10291                let paused = false;
10292
10293                const slide = () => {
10294                    slideTimeout = setTimeout(
10295                        () => {
10296                            if (loop && nextIndex >= pagesCount) {
10297                                nextIndex = 0;
10298                            }
10299                            glider.scrollItem(nextIndex);
10300                        },
10301                        parseInt(milliseconds)
10302                    );
10303                };
10304
10305                glider.ele.addEventListener('glider-animated', () => {
10306                    nextIndex = glider.slide + glider.opt.slidesToScroll;
10307                    window.clearInterval(slideTimeout);
10308                    if (!paused && (loop || nextIndex < pagesCount)) {
10309                        slide();
10310                    }
10311                });
10312
10313                const pause = () => {
10314                    if (!paused) {
10315                        clearInterval(slideTimeout);
10316                        paused = true;
10317                    }
10318                };
10319
10320                const unpause = () => {
10321                    if (paused) {
10322                        slide();
10323                        paused = false;
10324                    }
10325                };
10326
10327                glider.ele.parentElement.addEventListener('mouseover', pause, {passive: true});
10328                glider.ele.parentElement.addEventListener('touchstart', pause, {passive: true});
10329                glider.ele.parentElement.addEventListener('mouseout', unpause, {passive: true});
10330                glider.ele.parentElement.addEventListener('touchend', unpause, {passive: true});
10331
10332                slide();
10333            };
10334
10335            elements.forEach(element => {
10336                if (element.dataset.contentType === 'products') {
10337                    initProductCarousel(element);
10338                }
10339                if (element.dataset.contentType === 'slider') {
10340                    initSliderCarousel(element);
10341                }
10342            });
10343        };
10344
10345        window.addEventListener('DOMContentLoaded', () => {
10346            const carouselElements = document.querySelectorAll(
10347                `[data-content-type="products"][data-appearance="carousel"],
10348                [data-content-type="slider"]`
10349            );
10350
10351            if (carouselElements.length > 0) {
10352                const script = document.createElement('script');
10353                script.type = 'text/javascript';
10354
10355                script.addEventListener('load', () => {
10356                    initCarousels(carouselElements);
10357                });
10358
10359                window.addEventListener('init-external-scripts', () => {
10360                    script.src = 'https\u003A\u002F\u002Fwww.flooringinc.com\u002Fstatic\u002Fversion1789462004\u002Ffrontend\u002FDcw\u002Fhyvadesktop\u002Fen_US\u002FMagento_PageBuilder\u002Fjs\u002Fglider.min.js';
10361                }, {once: true, passive: true});
10362                document.head.appendChild(script);
10363            }
10364        });
10365    })();
10366</script>
vendor: 1 bytes, line 10366
10366
10367<script>
10368    'use strict';
10369
10370    (() => {
10371        const initMaps = (elements) => {
10372            const renderMap = (element) => {
10373                const dataLocations = element.dataset.locations;
10374
10375                // Hide map if no locations set
10376                if (!dataLocations || dataLocations === '[]') {
10377                    element.classList.add('hidden');
10378                    return;
10379                }
10380
10381                const map = new google.maps.Map(
10382                    element,
10383                    getMapOptions(
10384                        element.dataset.showControls !== 'true',
10385                        element.dataset.showControls === 'true'
10386                    )
10387                );
10388                const locations = JSON.parse(dataLocations);
10389                const latitudeLongitudeBounds = new google.maps.LatLngBounds();
10390                const bounds = [];
10391
10392                locations.forEach(location => {
10393                    const position = {
10394                        lat: parseFloat(location.position.latitude),
10395                        lng: parseFloat(location.position.longitude),
10396                    };
10397                    bounds.push(position);
10398
10399                    const infowindow = new google.maps.InfoWindow({
10400                        content: getInfoWindowContent(location),
10401                    });
10402                    const marker = new google.maps.Marker({
10403                        position: position,
10404                        map,
10405                        title: location.location_name,
10406                    });
10407
10408                    marker.addListener('click', () => {
10409                        infowindow.open(map, marker);
10410                    });
10411                });
10412
10413                // Set bounds if multiple locations
10414                if (bounds.length > 1) {
10415                    bounds.forEach(function (bound) {
10416                        latitudeLongitudeBounds.extend(bound);
10417                    });
10418                    map.fitBounds(latitudeLongitudeBounds);
10419                }
10420
10421                // Center if single location
10422                if (bounds.length === 1) {
10423                    map.setCenter(bounds[0]);
10424                }
10425            };
10426
10427            const getMapOptions = (disableDefaultUI, mapTypeControl) => {
10428                const style = '';
10429                return {
10430                    zoom: 8,
10431                    scrollwheel: false,
10432                    disableDoubleClickZoom: false,
10433                    mapTypeControlOptions: {
10434                        style: google.maps.MapTypeControlStyle.DEFAULT,
10435                    },
10436                    styles: style ? JSON.parse(style) : [],
10437                    disableDefaultUI: disableDefaultUI,
10438                    mapTypeControl: mapTypeControl,
10439                };
10440            };
10441
10442            const getInfoWindowContent = (location) => {
10443                const title = location.location_name ?
10444                    `<h3 class="text-2xl font-medium text-gray-900 title-font">${location.location_name}</h3>` : '';
10445                const comment = location.comment ? `<p class="px-1 pt-3 text-primary">${location.comment}</p>` : '';
10446                const phone = location.phone ? `<p class="px-1 pt-3 text-primary">Phone: ${location.phone}</p>` : '';
10447                const street = location.address ? `${location.address}<br/>` : '';
10448                const city = location.city ? `${location.city}<br/>` : '';
10449                const state = location.state ? `${location.state}<br/>` : '';
10450                const zipCode = location.zipcode ? `${location.zipcode}<br/>` : '';
10451                const country = location.country ? location.country : '';
10452
10453                return `<div>
10454                            ${title}
10455                            ${comment}
10456                            ${phone}
10457                            <p class="px-1 pt-3 text-primary">
10458                                ${street}
10459                                ${city}
10460                                ${state}
10461                                ${zipCode}
10462                                ${country}
10463                            </p>
10464                        </div>`;
10465            };
10466
10467            const hideAllMaps = () => {
10468                document.querySelectorAll('[data-content-type="map"]').forEach(element => {
10469                    element.classList.add('hidden');
10470                });
10471            };
10472
10473            window.gm_authFailure = () => {
10474                hideAllMaps();
10475            };
10476
10477            if (typeof google.maps === 'undefined') {
10478                hideAllMaps();
10479                return;
10480            }
10481
10482            elements.forEach(element => {
10483                if (element.dataset.contentType === 'map') {
10484                    renderMap(element);
10485                }
10486            });
10487        };
10488
10489        window.addEventListener('DOMContentLoaded', () => {
10490            const mapElements = document.querySelectorAll('[data-content-type="map"]');
10491
10492            if (mapElements.length > 0) {
10493                const script = document.createElement('script');
10494                script.type = 'text/javascript';
10495
10496                script.addEventListener('load', () => {
10497                    initMaps(mapElements);
10498                });
10499
10500                script.src = 'https\u003A\u002F\u002Fmaps.googleapis.com\u002Fmaps\u002Fapi\u002Fjs\u003Fv\u003D3\u0026key\u003D';
10501                document.head.appendChild(script);
10502            }
10503        });
10504    })();
10505</script>
vendor: 1 bytes, line 10505
10505
10506<script>
10507    'use strict';
10508
10509    (() => {
10510        const initParallaxImage = (element) => {
10511            if (!window.jarallax) {
10512                return;
10513            }
10514
10515            element.classList.add('jarallax');
10516            element.dataset.jarallax = '';
10517            const parallaxSpeed = parseFloat(element.dataset.parallaxSpeed) || 0.5;
10518            const elementStyle = window.getComputedStyle(element);
10519
10520            window.jarallax(element, {
10521                imgPosition: elementStyle.backgroundPosition || '50% 50%',
10522                imgRepeat: elementStyle.backgroundRepeat || 'no-repeat',
10523                imgSize: elementStyle.backgroundSize || 'cover',
10524                speed: parallaxSpeed,
10525            });
10526        };
10527
10528        const initVideoBackground = (element) => {
10529            if (!window.jarallax) {
10530                return;
10531            }
10532
10533            let slider = null;
10534
10535            if (element.classList.contains('pagebuilder-slide-wrapper')) {
10536                const viewportElement = document.createElement('div');
10537                slider = element.closest('[data-content-type=slider]');
10538                viewportElement.classList.add('jarallax-viewport-element');
10539                element.dataset.elementInViewport = '.jarallax-viewport-element';
10540                element.appendChild(viewportElement);
10541            }
10542
10543            element.classList.add('jarallax');
10544            element.dataset.jarallax = '';
10545            const parallaxSpeed = parseFloat(element.dataset.parallaxSpeed) || 0.5;
10546
10547            window.jarallax(element, {
10548                imgSrc: element.dataset.videoFallbackSrc,
10549                speed: parallaxSpeed,
10550                videoLoop: element.dataset.videoLoop,
10551                videoPlayOnlyVisible: element.dataset.videoPlayOnlyVisible,
10552                videoLazyLoading: element.dataset.videoLazyLoad,
10553                disableVideo: false,
10554                elementInViewport: element.dataset.elementInViewport &&
10555                    element.querySelector(element.dataset.elementInViewport),
10556            });
10557
10558            if (slider) {
10559                if (slider.dataset.afterChangeIsSet) {
10560                    return;
10561                }
10562
10563                slider.addEventListener('glider-loaded', () => {
10564                    slider.querySelectorAll('.jarallax').forEach(videoSlide => {
10565                        videoSlide.jarallax && videoSlide.jarallax.onScroll();
10566                    });
10567                });
10568
10569                slider.addEventListener('glider-animated', () => {
10570                    slider.querySelectorAll('.jarallax').forEach(videoSlide => {
10571                        videoSlide.jarallax && videoSlide.jarallax.onScroll();
10572                    });
10573                });
10574
10575                slider.dataset.afterChangeIsSet = true;
10576            }
10577        };
10578
10579        window.addEventListener('DOMContentLoaded', () => {
10580            const parallaxImageElements = document.querySelectorAll(
10581                `[data-content-type="row"][data-background-type="image"][data-enable-parallax="1"],
10582                [data-content-type="row"] > [data-background-type="image"][data-enable-parallax="1"]`
10583            );
10584
10585            const videoBackgroundsElements = document.querySelectorAll(
10586                `[data-content-type="row"][data-background-type="video"][data-enable-parallax="1"],
10587                [data-content-type="row"] > [data-background-type="video"][data-enable-parallax="1"],
10588                [data-content-type="banner"] [data-background-type="video"],
10589                [data-content-type="slide"] [data-background-type="video"]`
10590            );
10591
10592            if (parallaxImageElements.length > 0 || videoBackgroundsElements.length > 0) {
10593                const jarallaxScript = document.createElement('script');
10594                jarallaxScript.type = 'text/javascript';
10595
10596                jarallaxScript.addEventListener('load', () => {
10597                    parallaxImageElements.forEach(row => {
10598                        initParallaxImage(row);
10599                    });
10600
10601                    const jarallaxVideoScript = document.createElement('script');
10602                    jarallaxVideoScript.type = 'text/javascript';
10603
10604                    jarallaxVideoScript.addEventListener('load', () => {
10605                        videoBackgroundsElements.forEach(element => {
10606                            initVideoBackground(element);
10607                        });
10608                    });
10609
10610                    jarallaxVideoScript.src = 'https\u003A\u002F\u002Fwww.flooringinc.com\u002Fstatic\u002Fversion1789462004\u002Ffrontend\u002FDcw\u002Fhyvadesktop\u002Fen_US\u002FMagento_PageBuilder\u002Fjs\u002Fjarallax\u002Dvideo.min.js';
10611                    document.head.appendChild(jarallaxVideoScript);
10612                });
10613
10614                jarallaxScript.src = 'https\u003A\u002F\u002Fwww.flooringinc.com\u002Fstatic\u002Fversion1789462004\u002Ffrontend\u002FDcw\u002Fhyvadesktop\u002Fen_US\u002FMagento_PageBuilder\u002Fjs\u002Fjarallax.min.js';
10615                document.head.appendChild(jarallaxScript);
10616            }
10617        });
10618    })();
10619</script>
vendor: 1 bytes, line 10619
10619
10620<script>
10621    'use strict';
10622
10623    (() => {
10624        const applyShowOnHover = (element) => {
10625            const showOverlayOnHover = (element) => {
10626                const overlay = element.querySelector('.pagebuilder-overlay');
10627                const color = overlay.dataset.overlayColor;
10628
10629                element.addEventListener('mouseover', () => {
10630                    overlay.style.backgroundColor = color;
10631                });
10632                element.addEventListener('mouseout', () => {
10633                    overlay.style.backgroundColor = 'transparent';
10634                });
10635            };
10636
10637            const showButtonOnHover = (element) => {
10638                const button = element.querySelector('.pagebuilder-banner-button');
10639
10640                element.addEventListener('mouseover', () => {
10641                    button.style.opacity = '1';
10642                    button.style.visibility = 'visible';
10643                });
10644                element.addEventListener('mouseout', () => {
10645                    button.style.opacity = '0';
10646                    button.style.visibility = 'hidden';
10647                });
10648            };
10649
10650            if (element.dataset.showOverlay === 'hover') {
10651                showOverlayOnHover(element);
10652            }
10653            if (element.dataset.showButton === 'hover') {
10654                showButtonOnHover(element);
10655            }
10656        };
10657
10658        window.addEventListener('DOMContentLoaded', () => {
10659            document.querySelectorAll('[data-content-type="banner"],[data-content-type="slider"]').forEach(element => {
10660                applyShowOnHover(element);
10661            });
10662        });
10663    })();
10664</script>
vendor: 1 bytes, line 10664
10664
10665<script>
10666    'use strict';
10667
10668    (() => {
10669        document.querySelectorAll('[data-content-type="tab-item"]').forEach(tabItem => {
10670            tabItem.setAttribute('x-show', `tab === '${tabItem.id}'`);
10671        });
10672
10673        document.querySelectorAll('[data-content-type="tabs"]').forEach(tab => {
10674            const defaultActiveTab = parseInt(tab.dataset.activeTab) || 0;
10675
10676            tab.querySelectorAll('.tab-header').forEach((tabHeader, index) => {
10677                const tabLink = tabHeader.querySelector('a');
10678                const tabId = tabLink.getAttribute('href').replace('#', '');
10679
10680                tabHeader.setAttribute(':class', `{ 'active': tab === '${tabId}' }`);
10681                tabLink.setAttribute('x-on:click.prevent', `tab = '${tabId}'`);
10682
10683                if (index === defaultActiveTab) {
10684                    tab.setAttribute('x-data', `{ tab: '${tabId}' }`);
10685                }
10686            });
10687        });
10688    })();
10689</script>
vendor: 1 bytes, line 10689
10689
10690<script>
10691    'use strict';
10692
10693    const grecaptchaV2LoadCallbacks = [];
10694
10695    function executeRecaptchaLoadCallbacks () {
10696        while (window.grecaptcha && grecaptchaV2LoadCallbacks.length > 0) {
10697            const callback = grecaptchaV2LoadCallbacks.pop();
10698            typeof callback === 'string' ? window[callback]() : callback();
10699        }
10700    }
10701
10702    (function() {
10703        const loadRecaptchaScript = (event) => {
10704
10705            if (window.grecaptcha || !event.target.form) {
10706                return;
10707            }
10708
10709            const url = 'https://www.google.com/recaptcha/api.js?onload=executeRecaptchaLoadCallbacks';
10710            const siteKey = '6LdQFsgqAAAAAFaiT_SQ7C9UmCcxWxpMd6pIMAEO';
10711            const script = document.createElement('script');
10712            script.type = 'text/javascript';
10713            script.src = siteKey ? `${url}&render=${siteKey}` : `${url}&render=explicit`;
10714            script.async = true;
10715            document.head.appendChild(script);
10716
10717            script.addEventListener('load', () => {
10718                Array.from(document.querySelectorAll('button[data-recaptcha-btn]:disabled')).forEach(btn => btn.removeAttribute('disabled'));
10719            });
10720        }
10721
10722        window.forceLoadRecaptchaScript = (form) => {
10723            loadRecaptchaScript({target: {form: form || 'dummy'}});
10724            executeRecaptchaLoadCallbacks();
10725        };
10726
10727        document.body.addEventListener('input', loadRecaptchaScript, { once: true });
10728        document.body.addEventListener('focus', loadRecaptchaScript, { once: true });
10729
10730    }());
10731
10732</script>
vendor: 1 bytes, line 10732
10732
10733<script>
10734    window.addEventListener("scroll", function() {
10735        var header = document.querySelector('header.page-header');
10736        var body = document.querySelector("body");
10737        const header_top = document.querySelector('.header_top');
10738        const notification4 = document.querySelector('.notification4');
10739        var top_1 = document.querySelector("header.page-header > .panel.wrapper");
10740        var content = document.getElementById("textContent");
10741
10742
10743        if(header_top && notification4){
10744            if ((header_top.textContent.length > 10) && (notification4.textContent.length > 10)) {
10745                if (window.pageYOffset > 76) {
10746                    //document.querySelector("#header").style.cssText = "position:fixed;left:0;top:0;width:100%;transition: all ease-in-out 0.5s";
10747                    //document.querySelector(".page-wrapper").style.cssText = "padding-top:112px";
10748                    document.querySelector('body').classList.add('sticki');
10749                } else {
10750                    //document.querySelector("#header").style.cssText = "position:static;transition: all ease-in-out 0.5s";
10751                    //document.querySelector(".page-wrapper").style.cssText = "padding-top:0px";
10752                    document.querySelector('body').classList.remove('sticki');
10753                }
10754            }
10755        }
10756
10757        if(header_top && notification4){
10758            if ((header_top.textContent.length > 10) && (notification4.textContent.length < 10)) {
10759                if (window.pageYOffset > 36) {
10760                    //document.querySelector("#header").style.cssText = "position:fixed;left:0;top:0;width:100%;transition: all ease-in-out 0.5s";
10761                    //document.querySelector(".page-wrapper").style.cssText = "padding-top:112px";
10762                    document.querySelector('body').classList.add('sticki');
10763                } else {
10764                    //document.querySelector("#header").style.cssText = "position:static;transition: all ease-in-out 0.5s";
10765                    //document.querySelector(".page-wrapper").style.cssText = "padding-top:0px";
10766                    document.querySelector('body').classList.remove('sticki');
10767                }
10768            }
10769        }
10770
10771        if(header_top && !notification4){
10772            if (header_top.textContent.length > 10) {
10773                if (window.pageYOffset > 36) {
10774                    //document.querySelector("#header").style.cssText = "position:fixed;left:0;top:0;width:100%;transition: all ease-in-out 0.5s";
10775                    //document.querySelector(".page-wrapper").style.cssText = "padding-top:112px";
10776                    document.querySelector('body').classList.add('sticki');
10777                } else {
10778                    //document.querySelector("#header").style.cssText = "position:static;transition: all ease-in-out 0.5s";
10779                    //document.querySelector(".page-wrapper").style.cssText = "padding-top:0px";
10780                    document.querySelector('body').classList.remove('sticki');
10781                }
10782            }
10783        }
10784    });
10785
10786    window.addEventListener("DOMContentLoaded", function() {
10787        window.addEventListener("scroll", function() {
10788            // scroll for plp content sticky
10789            anchor_scroll();
10790        });
10791        function anchor_scroll() {
10792            var anchor_scroll = document.querySelector('.anchor-scroll');
10793            if (!anchor_scroll) {
10794                return; // Exit if the element is not found
10795            }
10796            let sticky = anchor_scroll.offsetTop;
10797
10798            if (window.pageYOffset > sticky) {
10799                anchor_scroll.classList.add("scroll-fixed");
10800            } else {
10801                anchor_scroll.classList.remove("scroll-fixed");
10802            }
10803        }
10804
10805        document.querySelectorAll('.anchor-scroll a[href^="."], .at-glance-content a[href^="."]').forEach(anchor => {
10806            anchor.addEventListener('click', function (e) {
10807                e.preventDefault();
10808
10809                const targetClass = this.getAttribute('href').substring(1);
10810                const targetElement = document.querySelector(`.${targetClass}`);
10811                let anchor_scroll = document.querySelector('.anchor-scroll > div');
10812                var header_off = document.querySelector('#header').offsetHeight;
10813                if (anchor_scroll) {
10814                    var header_off = document.querySelector('#header').offsetHeight + anchor_scroll.offsetHeight;
10815                } else {
10816                    var header_off = document.querySelector('#header').offsetHeight;
10817                }
10818
10819                if (targetElement) {
10820                    const offset = header_off;
10821                    const bodyRect = document.body.getBoundingClientRect().top;
10822                    const elementRect = targetElement.getBoundingClientRect().top;
10823                    const elementPosition = elementRect - bodyRect;
10824                    const offsetPosition = elementPosition - offset;
10825
10826                    window.scrollTo({
10827                        top: offsetPosition,
10828                        behavior: 'smooth'
10829                    });
10830                }
10831            });
10832        });
10833    });
10834</script>
10834
10835
10836    <section x-cloak x-data="{isLoading: false}"
10837             @amcaptcha-loading-start.window="isLoading = true" @amcaptcha-loading-stop.window="isLoading = false">
10838        <div class="flex flex-row justify-center items-center w-full h-full fixed select-none z-50"
10839     style="left: 50%;top: 50%;transform: translateX(-50%) translateY(-50%);background: rgba(255,255,255,0.7);"
10840     x-show="isLoading"
10841     x-transition:enter="ease-out duration-200"
10842     x-transition:enter-start="opacity-0"
10843     x-transition:enter-end="opacity-100"
10844     x-transition:leave="ease-in duration-200"
10845     x-transition:leave-start="opacity-100"
10846     x-transition:leave-end="opacity-0">
10847    <!-- By Sam Herbert (@sherb), for everyone. More @ http://goo.gl/7AJzbL -->
10848<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 57 57" stroke="currentColor" class="text-primary" width="57" height="57" role="img">
10849    <g fill="none" fill-rule="evenodd">
10850        <g transform="translate(1 1)" stroke-width="2">
10851            <circle cx="5" cy="50" r="5">
10852                <animate attributeName="cy" begin="0s" dur="2.2s" values="50;5;50;50" calcMode="linear" repeatCount="indefinite"/>
10853                <animate attributeName="cx" begin="0s" dur="2.2s" values="5;27;49;5" calcMode="linear" repeatCount="indefinite"/>
10854            </circle>
10855            <circle cx="27" cy="5" r="5">
10856                <animate attributeName="cy" begin="0s" dur="2.2s" from="5" to="5" values="5;50;50;5" calcMode="linear" repeatCount="indefinite"/>
10857                <animate attributeName="cx" begin="0s" dur="2.2s" from="27" to="27" values="27;49;5;27" calcMode="linear" repeatCount="indefinite"/>
10858            </circle>
10859            <circle cx="49" cy="50" r="5">
10860                <animate attributeName="cy" begin="0s" dur="2.2s" values="50;50;5;50" calcMode="linear" repeatCount="indefinite"/>
10861                <animate attributeName="cx" from="49" to="49" begin="0s" dur="2.2s" values="49;5;27;49" calcMode="linear" repeatCount="indefinite"/>
10862            </circle>
10863        </g>
10864    </g>
10865<title>loader</title></svg>
10866    <div class="ml-10 text-primary text-xl">
10867        Loading...    </div>
10868</div>
10869    </section>
10870
10871<script>
10872    'use strict';
10873
10874    function responseSerialize(response) {
10875        if (response.redirected) {
10876            window.location.href = response.url;
10877        } else if (response.ok) {
10878            return response.json();
10879        } else {
10880            // Check if result is Promise then throw to new Error
10881            let defaultErrMsg = 'Something went wrong. Please contact the website admin for more information.',
10882                result;
10883            result = response.text();
10884            if (typeof result?.then === 'function') {
10885                result.then(res => {
10886                    let errorMessage;
10887                    try {
10888                        errorMessage = JSON.parse(res);
10889                        errorMessage = errorMessage?.message ? errorMessage.message : defaultErrMsg;
10890                    } catch (e) {
10891                        errorMessage = defaultErrMsg;
10892                    }
10893                    window.dispatchMessages([
10894                        {
10895                            type: 'error',
10896                            text: errorMessage
10897                        }
10898                    ], 3000);
10899                });
10900            } else {
10901                throw new Error(defaultErrMsg);
10902            }
10903        }
10904    }
10905
10906    if (typeof window.buildRestAPIUrl !== 'function') {
10907        window.buildRestAPIUrl = function (url, params = {}) {
10908            const method = 'rest',
10909                storeCode = 'default',
10910                version = 'V1',
10911                serviceUrl = ':method/:storeCode/:version';
10912
10913            let urlParts;
10914
10915            params.method = method;
10916            params.storeCode = storeCode;
10917            params.version = version;
10918
10919            url = serviceUrl + url;
10920
10921            urlParts = url.split('/');
10922            urlParts = urlParts.filter(Boolean);
10923
10924            Object.entries(urlParts).forEach (entry => {
10925                let [key, part] = entry;
10926                part = part.replace(':', '');
10927
10928                if (params[part] !== undefined) {
10929                    urlParts[key] = params[part];
10930                }
10931            });
10932
10933            return urlParts.join('/');
10934        }
10935    }
10936
10937    if (typeof window.isObjectEmpty !== 'function') {
10938        window.isObjectEmpty = function (obj) {
10939            return (
10940                Object.prototype.toString.call(obj) === '[object Object]' &&
10941                JSON.stringify(obj) === '{}'
10942            );
10943        }
10944    }
10945
10946    if (typeof window.mergeDeep !== 'function') {
10947        /**
10948         * Deep merge two objects.
10949         *
10950         * @param target
10951         * @param sources
10952         * @returns {*}
10953         */
10954        window.mergeDeep = (target, ...sources) => {
10955            /**
10956             * Simple object check.
10957             *
10958             * @param item
10959             * @returns {boolean}
10960             */
10961            const isObject = (item) => {
10962                return (item && typeof item === 'object' && !Array.isArray(item));
10963            };
10964
10965            if (!sources.length) return target;
10966            const source = sources.shift();
10967
10968            if (isObject(target) && isObject(source)) {
10969                for (const key in source) {
10970                    if (isObject(source[key])) {
10971                        if (!target[key]) Object.assign(target, { [key]: {} });
10972                        mergeDeep(target[key], source[key]);
10973                    } else {
10974                        Object.assign(target, { [key]: source[key] });
10975                    }
10976                }
10977            }
10978
10979            return mergeDeep(target, ...sources);
10980        }
10981    }
10982</script>
10982
10983
10984<div x-data="{...hyva.modal(), ...initAmcartDialogPopup()}"
10985     x-init="initDialogPopup($dispatch)"
10986     x-spread="eventListeners"
10987     x-bind="eventListeners">
10988    <div x-cloak x-spread="overlay('amcart-dialog-popup')" x-bind="overlay('amcart-dialog-popup')"
10989         class="fixed inset-0 flex items-center justify-center text-left bg-black bg-opacity-50 z-30">
10990        <div x-ref="amcart-dialog-popup" role="dialog" aria-labelledby="amcart-dialog-popup-content"
10991             class="flex flex-col max-h-screen max-w-4xl overflow-auto bg-amcart-background shadow-xl rounded-lg p-4">
10992            <div class="flex justify-between pb-4 border-b">
10993                <div x-text="title" class="text-2xl font-extrabold text-amcart-text"></div>
10994                <button @click="$dispatch('amcart-close-dialog-popup')"
10995                        aria-label="Close"
10996                        class="text-gray-300 transition hover:text-black hover:drop-shadow-md">
10997                    <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">
10998  <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"/>
10999<title>x</title></svg>
11000                </button>
11001            </div>
11002            <div id="amcart-dialog-popup-content" class="amcart-dialog-popup-content"></div>
11003            <div class="flex flex-row pt-3 border-t">
11004                <template x-for="(button, index) in buttons" :key="index">
11005                    <button class="btn mr-4 last:mr-0 text-amcart-button hover:brightness-105 hover:shadow-lg"
11006                            :class="{
11007                                'bg-amcart-continue-btn hover:bg-amcart-continue-btn': index === 0,
11008                                'bg-amcart-view-cart-btn hover:bg-amcart-view-cart-btn': index === 1
11009                            }"
11010                            :aria-label="button.name"
11011                            x-html="button.name"
11012                            @click="dispatchButtonAction(button.action.name, button.action.payload)"></button>
11013                </template>
11014            </div>
11015        </div>
11016    </div>
11017</div>
11018
11019<script>
11020    'use strict';
11021
11022    function initAmcartDialogPopup() {
11023        const dialogPopupName = 'amcart-dialog-popup';
11024        const selectors = {
11025            addToCartForm: '.amcart-product-info #amcart_product_addtocart_form',
11026            ratingSummarySelector: '.amcart-product-info .rating-summary'
11027        }
11028
11029        return {
11030            eventListeners: {
11031                ['@amcart-open-dialog-popup.window']({detail: popupData}) {
11032                    // Close any existing modal before opening
11033                    window.hyva.modal.pop();
11034
11035                    this.initPopupWithData(popupData);
11036                    this.$nextTick(() => {
11037                        this.show(dialogPopupName);
11038                    });
11039                },
11040                ['@amcart-close-dialog-popup']() {
11041                    this.hide(dialogPopupName);
11042                },
11043                ['@amcart-dialog-submit']({ detail: actionToDispatch }) {
11044                    const form = document.querySelector(selectors.addToCartForm);
11045
11046                    if (form.checkValidity()) {
11047                        this.dispatch(actionToDispatch, form);
11048                        this.hide(dialogPopupName);
11049                    } else {
11050                        form.reportValidity();
11051                    }
11052                },
11053                ['@amcart-hide-popup']() {
11054                    this.hide(dialogPopupName);
11055                }
11056            },
11057            title: '',
11058            buttons: [],
11059            message: '',
11060            selected_options: null,
11061            dispatch: null,
11062
11063            /**
11064             * @param {Object} $dispatch
11065             * @return {void}
11066             */
11067            initDialogPopup: function ($dispatch) {
11068                this.dispatch = $dispatch;
11069            },
11070
11071            /**
11072             * @param {CartResponse} popupData
11073             * @return {void}
11074             */
11075            initPopupWithData: function (popupData) {
11076                this.title = popupData.title;
11077                this.buttons = popupData.buttons;
11078                this.selected_options = popupData.selected_options;
11079                hyva.replaceDomElement('#amcart-dialog-popup-content', this.preprocessMessage(popupData.message));
11080                this.$nextTick(() => {
11081                    this.postProcessPopupContent();
11082                });
11083            },
11084
11085            /**
11086             * @param {string} message
11087             * @return {string}
11088             */
11089            preprocessMessage: function (message) {
11090                /**
11091                 * Disable labels for input inside popup due to the possibility of their duplication on the page.
11092                 * Because this can lead to unexpected behaviour.
11093                 *
11094                 * Make form id unique for popup
11095                 */
11096                return message
11097                    .replaceAll(':for=', 'for-data=')
11098                    .replaceAll('product_addtocart_form', 'amcart_product_addtocart_form');
11099            },
11100
11101            /**
11102             * @return {void}
11103             */
11104            postProcessPopupContent: function () {
11105                this.disableRatingSummary();
11106                this.clickSelectedOptions();
11107            },
11108
11109            /**
11110             * @return {void}
11111             */
11112            disableRatingSummary: function () {
11113                const ratingSummaryElement = document.querySelector(selectors.ratingSummarySelector);
11114
11115                if (!!ratingSummaryElement) {
11116                    ratingSummaryElement.removeAttribute('onClick');
11117                    ratingSummaryElement.classList.remove('cursor-pointer');
11118                }
11119            },
11120
11121            /**
11122             * @return {void}
11123             */
11124            clickSelectedOptions: function () {
11125                if (!this.selected_options) {
11126                    return;
11127                }
11128
11129                for(const [attributeId, attributeValue] of Object.entries(this.selected_options)) {
11130                    const swatchOptionTemplate =  document.querySelector(
11131                        `.amcart-product-info template[x-for*="attributes[${attributeId}]"]`
11132                    );
11133
11134                    if (!!swatchOptionTemplate && !!swatchOptionTemplate.parentElement) {
11135                        const swatchInput = swatchOptionTemplate.parentElement
11136                            .querySelector(`input[value="${attributeValue}"]`);
11137                        swatchInput && swatchInput.click();
11138                    }
11139                }
11140            },
11141
11142            /**
11143             * @param {string} name
11144             * @param {string|undefined} payload
11145             * @return {void}
11146             */
11147            dispatchButtonAction: function (name, payload) {
11148                this.dispatch(name, payload);
11149            }
11150        };
11151    }
11152</script>
11152
11153
11154<script>
11155    (function () {
11156        'use strict';
11157
11158        const addToCartProductListFormSelector = '.product_addtocart_form';
11159        const addToCartProductPageFormSelector = '#product_addtocart_form';
11160        const setFormsEvent = function () {
11161            const productListForms = document.querySelectorAll(addToCartProductListFormSelector);
11162            const productPageForm = document.querySelector(addToCartProductPageFormSelector);
11163
11164            productPageForm && addDispatcher(productPageForm);
11165            productListForms.forEach((form) => {
11166                // disable html5 validation
11167                form.setAttribute('novalidate', '');
11168                addDispatcher(form);
11169            });
11170        }
11171
11172        const addDispatcher = function(form) {
11173            form.removeAttribute('@submit');
11174            form.removeAttribute('@submit.prevent');
11175            form.setAttribute('x-data', '');
11176            form.setAttribute('x-on:submit.prevent', '$dispatch(\'amcart-add-to-cart-action\', $el)');
11177        }
11178
11179        setFormsEvent();
11180
11181        window.addEventListener('amcart-set-forms-event', setFormsEvent);
11182    })();
11183</script>
11183
11184
11185<script>
11186    (function () {
11187        'use strict';
11188
11189        /**
11190         * @typedef {Object} CartResponse
11191         *
11192         * Popup common props
11193         * @property {[
11194         *     name: string,
11195         *     action: {
11196         *         name: string,
11197         *         payload: string|undefined
11198         *     }
11199         * ]|undefined} buttons
11200         * @property {string|undefined} popup_action
11201         * @property {string|undefined} message
11202         * @property {string|undefined} title
11203         *
11204         * DialogPopup props
11205         * @property {string|null|undefined} selected_options
11206         *
11207         * ConfirmationPopup props
11208         * @property {string|undefined} align
11209         * @property {string|undefined} checkout
11210         * @property {string|undefined} product_id
11211         * @property {string|undefined} product_sku
11212         * @property {string|undefined} related
11213         * @property {number|undefined} timer
11214         *
11215         * Redirect props
11216         * @property {string|undefined} redirect url to redirect
11217         */
11218
11219        let globalActionName;
11220
11221        const addToCartAction = ({detail: form}) => {
11222            const isProductForm = form.id === 'product_addtocart_form';
11223
11224            globalActionName = getCartAction(form);
11225
11226            if (isProductForm) {
11227                window.dispatchEvent(new CustomEvent('amcart-trigger-grouped-form-validate'));
11228
11229                if (form.checkValidity()) {
11230                    performRequest(form, isProductForm);
11231                }
11232            } else {
11233                performRequest(form, isProductForm)
11234            }
11235        };
11236
11237        const performRequest = function (form, isProductForm) {
11238            const cartUrl = `${BASE_URL}amasty_cart/cart/${getCartAction(form)}`;
11239            const isProductPage = document.body.classList.contains('catalog-product-view');
11240            const headers = {
11241                'content-type': 'application/x-www-form-urlencoded; charset=UTF-8'
11242            };
11243            const formData = new FormData(form);
11244            formData.set('product_page', isProductPage && isProductForm);
11245            formData.set('last_category_id', hyva.getBrowserStorage().getItem('last_category_id'));
11246            formData.set('form_key', hyva.getFormKey());
11247            !formData.get('id') && formData.get('item') && formData.set('id', formData.get('item'));
11248
11249            const body = new URLSearchParams(formData);
11250
11251            window.dispatchEvent(new CustomEvent('amcart-loading-start'));
11252            window.dispatchEvent(new CustomEvent('amcart-add-start', { detail: form }));
11253
11254            fetch(cartUrl, {headers: {...headers}, body: body, method: 'POST'})
11255                .then(response => response.json())
11256                .then((result) => {
11257                    resultActionResolver.resolve(result);
11258                    const relatedProductDialog = document.querySelector('.related-product-dialog-wrapper');
11259                    const cartLink = document.getElementById('menu-cart-icon');
11260                    const isRelatedProductForm = form.closest('.related-products-pdp-section');
11261                    if (relatedProductDialog && !isRelatedProductForm) {
11262                        setTimeout(() => {
11263                            window.dispatchEvent(
11264                                new CustomEvent('hyva-modal-show', { detail: { dialog: 'related-product-slider-dialog' } })
11265                            );
11266                        }, 2000);
11267                    } else if (cartLink) {
11268                        cartLink.click();
11269                    }
11270                }).catch((error) => {
11271                    typeof window.dispatchMessages !== "undefined" && window.dispatchMessages(
11272                        [{
11273                            type: "error",
11274                            text: error
11275                        }], 5000
11276                    );
11277                }).finally(() => {
11278                    window.dispatchEvent(new CustomEvent('amcart-loading-stop'));
11279                });
11280        };
11281
11282        const getCartAction = function(formNode) {
11283            return formNode.action.includes('updateItemOptions')
11284                ? `UpdateItemOptions`
11285                : 'add';
11286        };
11287
11288        const resultActionResolver = {
11289            /**
11290             * @param {CartResponse} result
11291             */
11292            resolve: function (result) {
11293				
11294				if(typeof result.is_add_to_cart != "undefined"){
11295					var msg = result.message;
11296					/*if($($.parseHTML(result.message)).filter(".message.error").text()){
11297						msg =  $($.parseHTML(result.message)).filter(".message.error").text(); 
11298					}*/
11299
11300                    var parser = new DOMParser();
11301                    var doc = parser.parseFromString(result.message, 'text/html');
11302                    var errorMsg = doc.querySelector('.message.error') ? doc.querySelector('.message.error').textContent : '';
11303
11304                    if (errorMsg) {
11305                        msg = errorMsg;
11306                    }
11307
11308					window.dispatchMessages && window.dispatchMessages([{
11309                        type: 'error',
11310                        text: msg
11311                    }]);
11312					
11313				}
11314                switch (true) {
11315                    case !!result.popup_action:
11316                    var parser = new DOMParser();
11317                    var doc = parser.parseFromString(result.message, 'text/html');
11318                    var errorMsg = doc.querySelector('.message.error') ? doc.querySelector('.message.error').textContent : '';
11319                    if (errorMsg) {
11320                        msg = errorMsg;
11321                        window.dispatchMessages && window.dispatchMessages([{
11322                            type: 'error',
11323                            text: msg
11324                        }]);
11325                    } else {
11326                        window.dispatchEvent(new CustomEvent(result.popup_action, {detail: result}));
11327                        window.dispatchEvent(new CustomEvent('reload-customer-section-data'));
11328
11329                        if (globalActionName == 'UpdateItemOptions') {
11330                           window.location.href = `${BASE_URL}checkout/cart`;
11331                        }
11332                    }
11333                        break;
11334                    case !!result.redirect:
11335                        window.location.href = result.redirect;
11336                        break;
11337                }
11338            }
11339        }
11340
11341        if (document.body.classList.contains('catalog-category-view')) {
11342            hyva.getBrowserStorage().setItem(
11343                'last_category_id',
11344                ''
11345            );
11346        }
11347
11348        const groupedOptions = document.querySelector('div[x-data^=initGroupedOptions]');
11349
11350        if (!!groupedOptions) {
11351            groupedOptions.setAttribute('x-on:amcart-trigger-grouped-form-validate.window', 'validateForm()');
11352        }
11353
11354        window.addEventListener('amcart-add-to-cart-action', addToCartAction);
11355    })();
11356</script>
11356<script>
11357    (function () {
11358        'use strict';
11359
11360        const addToQuoteButtonSelector = '.amquote-addto-button:not(.amasty-quote-login):not(.amasty-quote-link)';
11361        document.querySelectorAll(addToQuoteButtonSelector).forEach((button) => {
11362            if (!button.hasAttribute('x-data')) {
11363                button.setAttribute('x-data', '');
11364            }
11365
11366            button.removeAttribute('@click.prevent');
11367            button.setAttribute(
11368                'x-on:click.prevent',
11369                '$dispatch(\'amcart-add-to-quote-action\', $el)');
11370        });
11371    })();
11372</script>
vendor: 1 bytes, line 11372
11372
11373<script>
11374    (function () {
11375        'use strict';
11376
11377        const addToQuoteAction = ({ detail: element }) => {
11378            const formNode = element.nodeName === 'FORM'
11379                ? element
11380                : element.form ?? element.closest('form');
11381
11382            window.dispatchEvent(new CustomEvent('amcart-trigger-grouped-form-validate'));
11383            if (!formNode || !formNode.checkValidity()) {
11384                return formNode?.reportValidity();
11385            }
11386
11387            performRequest(formNode);
11388        }
11389
11390        const performRequest = (formNode) => {
11391            const url = `${BASE_URL}amasty_cart/quote/${getAction(formNode)}`;
11392            const headers = {
11393                'content-type': 'application/x-www-form-urlencoded; charset=UTF-8'
11394            };
11395            const formData = new FormData(formNode);
11396            const isProductPage = formNode.id === 'product_addtocart_form'
11397                && document.body.classList.contains('catalog-product-view');
11398            formData.set('product_page', isProductPage);
11399            formData.set('last_category_id', hyva.getBrowserStorage().getItem('last_category_id'));
11400            formData.set('id', formData.get('item'));
11401
11402            window.dispatchEvent(new CustomEvent('amcart-loading-start'));
11403            window.dispatchEvent(new CustomEvent('amcart-add-start', { detail: formNode }));
11404
11405            fetch(url, { headers: { ...headers }, body: new URLSearchParams(formData), method: 'POST' })
11406                .then(response => response.json())
11407                .then((result) => {
11408                    switch (true) {
11409                        case !!result.popup_action:
11410                            window.dispatchEvent(new CustomEvent(result.popup_action, { detail: result }));
11411                            window.dispatchEvent(new CustomEvent('reload-customer-section-data'));
11412                            break;
11413                        case !!result.redirect:
11414                            window.location.href = result.redirect;
11415                            break;
11416                    }
11417                }).catch((error) => {
11418                    typeof window.dispatchMessages !== "undefined" && window.dispatchMessages(
11419                        [{
11420                            type: "error",
11421                            text: error
11422                        }], 5000
11423                    );
11424                }).finally(() => {
11425                    window.dispatchEvent(new CustomEvent('amcart-loading-stop'));
11426                });
11427        };
11428
11429        const getAction = (formNode) => {
11430            return (formNode.action.includes('amasty_quote') && formNode.action.includes('updateItemOptions'))
11431                ? 'updateItemOptions'
11432                : 'add';
11433        };
11434
11435        window.addEventListener('amcart-add-to-quote-action', addToQuoteAction);
11436    })();
11437</script>
11437
11438
11439
11440    
11440<script>
11441        'use strict';
11442
11443        (function () {
11444            const initCompareFunctions = ['initCompareOnProductList', 'initCompareOnProductView'];
11445
11446            initCompareFunctions.forEach(compareFunction => {
11447                window[compareFunction] = function () {
11448                    return {
11449                        addToCompare: function (productId) {
11450                            var loader=document.getElementById('loading');
11451                            console.log("11111111");
11452                            loader.style.display='block';
11453                            console.log("Add To compare amasty ajax cart qqqqq");
11454                                                        const postUrl = BASE_URL + 'catalog/product_compare/add/';
11455                            const headers = {
11456                                "content-type": "application/x-www-form-urlencoded; charset=UTF-8",
11457                            };
11458                            const body = new URLSearchParams({
11459                                form_key: hyva.getFormKey(),
11460                                product: productId,
11461                                is_ajax: true
11462                            });
11463
11464                            fetch(postUrl, {headers: headers, body: body, method: 'POST'}).then((response) => {
11465                                                                if (response.redirected) {
11466                                    window.location.href = response.url;
11467                                } else if (response.ok) {
11468                                    window.dispatchEvent(new CustomEvent('reload-customer-section-data'));
11469                                } else {
11470                                    typeof window.dispatchMessages !== "undefined" && window.dispatchMessages(
11471                                        [{
11472                                            type: "warning",
11473                                            text: "Could not add item to the comparison list."
11474                                        }],
11475                                        1000
11476                                    );
11477                                }
11478                            }).catch((error) => {
11479                                typeof window.dispatchMessages !== "undefined" && window.dispatchMessages(
11480                                    [{
11481                                        type: 'error',
11482                                        text: error
11483                                    }],
11484                                    1000
11485                                );
11486                            });
11487                        }
11488                    };
11489                };
11490            });
11491        })();
11492    </script>
11492
11493
11494
11495
11496
11497
11498<section x-data="{isLoading: false}" x-cloak
11499         @amcart-loading-start.window="isLoading = true"
11500         @amcart-loading-stop.window="isLoading = false">
11501    <div class="flex flex-row justify-center items-center w-full h-full fixed select-none z-50"
11502     style="left: 50%;top: 50%;transform: translateX(-50%) translateY(-50%);background: rgba(255,255,255,0.7);"
11503     x-show="isLoading"
11504     x-transition:enter="ease-out duration-200"
11505     x-transition:enter-start="opacity-0"
11506     x-transition:enter-end="opacity-100"
11507     x-transition:leave="ease-in duration-200"
11508     x-transition:leave-start="opacity-100"
11509     x-transition:leave-end="opacity-0">
11510    <!-- By Sam Herbert (@sherb), for everyone. More @ http://goo.gl/7AJzbL -->
11511<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 57 57" stroke="currentColor" class="text-primary" width="57" height="57" role="img">
11512    <g fill="none" fill-rule="evenodd">
11513        <g transform="translate(1 1)" stroke-width="2">
11514            <circle cx="5" cy="50" r="5">
11515                <animate attributeName="cy" begin="0s" dur="2.2s" values="50;5;50;50" calcMode="linear" repeatCount="indefinite"/>
11516                <animate attributeName="cx" begin="0s" dur="2.2s" values="5;27;49;5" calcMode="linear" repeatCount="indefinite"/>
11517            </circle>
11518            <circle cx="27" cy="5" r="5">
11519                <animate attributeName="cy" begin="0s" dur="2.2s" from="5" to="5" values="5;50;50;5" calcMode="linear" repeatCount="indefinite"/>
11520                <animate attributeName="cx" begin="0s" dur="2.2s" from="27" to="27" values="27;49;5;27" calcMode="linear" repeatCount="indefinite"/>
11521            </circle>
11522            <circle cx="49" cy="50" r="5">
11523                <animate attributeName="cy" begin="0s" dur="2.2s" values="50;50;5;50" calcMode="linear" repeatCount="indefinite"/>
11524                <animate attributeName="cx" from="49" to="49" begin="0s" dur="2.2s" values="49;5;27;49" calcMode="linear" repeatCount="indefinite"/>
11525            </circle>
11526        </g>
11527    </g>
11528<title>loader</title></svg>
11529    <div class="ml-10 text-primary text-xl">
11530        Loading...    </div>
11531</div>
11532</section>
11533
11534<div x-data="prDataPrivacyCheckboxDetailModalComponent.create()"
11535     @set-is-show-modal.window="isShowModal = $event.detail"
11536     @keydown.escape="closeModal"
11537>
11538    <div x-ref="pr-data-privacy-checkbox-detail" x-show="isShowModal" x-cloak>
11539        <div class="inset-0 fixed z-50">
11540            <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"
11541                 x-show="isShowModal" x-transition
11542            >
11543                <span class="absolute top-3 right-3 cursor-pointer hover:text-gray-700 p-1" @click="closeModal">
11544                    <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" width="20" height="20" role="img">
11545  <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"/>
11546<title>x</title></svg>
11547                </span>
11548                <template x-if="data.checkbox">
11549    <div id="prgdpr-consent-checkboxes-modal" class="flex flex-col">
11550        <div class="modal-header flex flex-col flex-shrink-0 flex-grow-0 mb-5">
11551            <h2 class="text-xl lg:text-2lx pb-3 mb-1 border-container border-b" x-html="data.checkbox.policy.title"></h2>
11552            <a data-contentid="prgdpr-print-content"
11553               class="ml-auto text-sm text-blue-600 hover:underline"
11554               href="#"
11555               @click.prevent="print()"
11556            >
11557                Print            </a>
11558        </div>
11559        <div class="prgdpr-consent-checkboxes-item-content overflow-y-auto mb-5" id="prgdpr-print-content">
11560            <div class="prose max-w-none" x-html="data.checkbox.policy.content"></div>
11561        </div>
11562        <div class="modal-footer flex-shrink-0 flex-grow-0 pt-5 mt-auto border-container border-t">
11563            <button type="button"
11564                    class="action iagree btn btn-primary"
11565                    @click="data.checkbox.checked = data.checkbox.isAlreadyChecked = true;
11565 $dispatch('prgdpr-checkbox-agree', 'checkbox' + data.checkbox.consentId); closeModal();"
11566            >
11567                I agree            </button>
11568        </div>
11569    </div>
11570</template>
11571            </div>
11572
11573            <div class="bg-gray-800 opacity-50 absolute inset-0" @click="closeModal"></div>
11574        </div>
11575    </div>
11576</div>
11577
11578<script>
11579    const prDataPrivacyCheckboxDetailModalComponent = {
11580        data: null,
11581        isShowModal: false,
11582        create: function () {
11583            this.data = Alpine.reactive({checkbox: null});
11584            return this;
11585        },
11586        setCheckbox: function (checkbox) {
11587            this.data.checkbox = checkbox;
11588        },
11589        showModal: function () {
11590            this.isShowModal = true;
11591        },
11592        closeModal() {
11593            this.isShowModal = false;
11594        },
11595        print: function () {
11596            let printWindow = window.open('', 'Print', 'height=600,width=800');
11597            printWindow.document.write(
11598                `<html><head><title>${this.data.checkbox.policy.title}</title></head><body>${this.data.checkbox.policy.content}</body></html`
11599            );
11600            printWindow.document.close();
11601            printWindow.focus();
11602            printWindow.print();
11603            printWindow.onafterprint = function () {
11604                printWindow.close();
11605            };
11606
11607            return true;
11608        }
11609    };
11610</script>
vendor: 1 bytes, line 11610
11610
11611<script type="application/ld+json">{"@context":"https:\/\/schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"item":{"@id":"https:\/\/www.flooringinc.com\/","name":"Home","@type":"WebPage"}}]}</script>
11611<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>
11611<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>
11611    
11611<script defer src="https://www.dwin1.com/94345.js"></script>
11611
11612    
11613<script  nonce="aGt5cXM2Mm92cWs4OGUwOWd2eGhqdGFsYWVzZjFycG0=">
11614    (() => {
11615        const updateSettingBar = () => {
11616            const intervalId = setInterval(() => {
11617                const bar = document.getElementById('pr-cookie-setting-bar');
11618                if (! bar) {
11619                    return;
11620                }
11621
11622                clearInterval(intervalId);
11623                bar.querySelectorAll('input[type="checkbox"], button.action')
11624                    .forEach(el => el.disabled = true);
11625
11626                                    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';
11627                    bar.querySelector('.pr-cookie-description')
11628                        .insertAdjacentHTML('beforebegin', notification);
11629                            }, 400);
11630        }
11631
11632        prGlobalPrivacyControlApi.signalHandlers.addHandler(updateSettingBar);
11633    })();
11634</script>
vendor: 1 bytes, line 11634
11634
11635<script type="application/json" id="default-section-data">
11636    {"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":1791055641},"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>
11636
11637</div><div x-data="fpcTracking()" x-init="sendRequest()"></div>
11638<script>
11639    function fpcTracking() {
11640        return {
11641            url: 'https://www.flooringinc.com/amasty_fpc/reports/',
11642            sendRequest() {
11643                const ttfb = window.performance.timing.responseStart - window.performance.timing.fetchStart;
11644                fetch(`${this.url}?` + new URLSearchParams({ ttfb }), {
11645                    method: 'GET',
11646                    headers: {
11647                        'Content-Type': 'application/json',
11648                        'X-Requested-With': 'XMLHttpRequest',
11649                    }
11650                })
11651            }
11652        }
11653    }
11654</script>
11654
11655<!-- amasty-fpc-status -->    
11655<script>
11656        const wpGA4ServerSide = {
11657            pushClick: function(productId, listId, listName, index, elm) {
11658                if (elm && elm.hasAttribute('onclick')) {
11659                    var requestUrl = 'https://www.flooringinc.com/weltpixel_ga4/track/productclick/';
11660                    if (productId && listId && listName) {
11661                        fetch(requestUrl, {
11662                            method: 'POST',
11663                            headers: {
11664                                'Content-Type': 'application/x-www-form-urlencoded',
11665                                'X-Requested-With': 'XMLHttpRequest'
11666                            },
11667                            body: 'product_id=' + productId + '&list_id=' + listId +'&list_name=' + listName + '&index=' + index
11668                        })
11669                        .then(res => res.json())
11670                        .then(data => {
11671                        });
11672                    }
11673                }
11674            },
11675
11676            pushViewItemList: function(hashId) {
11677                if (hashId && document.getElementById('wp_ga4_server_side_view_item_list')) {
11678                    var requestUrl = 'https://www.flooringinc.com/weltpixel_ga4/track/viewitemlist/';
11679                    fetch(requestUrl, {
11680                        method: 'POST',
11681                        headers: {
11682                            'Content-Type': 'application/x-www-form-urlencoded',
11683                            'X-Requested-With': 'XMLHttpRequest'
11684                        },
11685
11686                        body: 'hash_id='+hashId
11687                    })
11688                    .then(res => res.json())
11689                    .then(data => {
11690                    });
11691                }
11692            }
11693        };
11694
11695        window.wpGA4ServerSide = wpGA4ServerSide;
11696
11697        let allowGa4Services = window.ga4AllowServices ?? true;
11698
11699        if (allowGa4Services) {
11700            const {fetch: originalFetch} = window;
11701            window.fetch = async (...args) => {
11702                let [resource, config] = args;
11703                let response = await originalFetch(resource, config);
11704
11705                if ((typeof resource == 'string') && resource.search('/customer\/section\/load/') > 0) {
11706                    response.clone().json().then(data => {
11707                        if (data.wp_ga4.datalayer) {
11708                            const dataLayerData = JSON.parse(data.wp_ga4.datalayer);
11709                            dataLayerData.forEach((dataLayerItem) => {
11710                                window.dataLayer.push({ecommerce: null});
11711                                window.dataLayer.push(dataLayerItem);
11712                            });
11713                        }
11714                    });
11715                }
11716                return response;
11717            };
11718        }
11719
11720    </script>
11720
11721    
11721<script>
11722        let allowGa4ServicesMeta = window.ga4AllowServices ?? true;
11723        if (allowGa4ServicesMeta) {
11724            const {fetch: originalFetchMeta} = window;
11725            window.fetch = async (...args) => {
11726                let [resource, config] = args;
11727                let response = await originalFetchMeta(resource, config);
11728
11729                if ((typeof resource == 'string') && resource.search('/customer\/section\/load/') > 0) {
11730                    response.clone().json().then(data => {
11731                        if (data.wp_ga4 && data.wp_ga4.metapixel) {
11732                            const metaPixel = JSON.parse(data.wp_ga4.metapixel);
11733                            for (index in metaPixel) {
11734                                fbq(metaPixel[index].track, metaPixel[index].eventName, metaPixel[index].eventData);
11735                            }
11736                        }
11737                    });
11738                }
11739                return response;
11740            };
11741        }
11742    </script>
vendor: 1 bytes, line 11742
11742
11743<script type="text/javascript">window.NREUM||(NREUM={});NREUM.info={"beacon":"bam.nr-data.net","licenseKey":"NRJS-d3390ca2649c82069a5","applicationID":"1112615138","transactionName":"YwMDN0NXChZSVRBZWlpJIABFXwsLHFQIX1IbDw8HVE5LDF1SAUg=","queueTime":0,"applicationTime":657,"atts":"T0QAQQtNGRg=","errorBeacon":"bam.nr-data.net","agent":""}</script>
11743</body>
11744</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.