PageSourceSearch

https://www.flooringinc.com/about

html flooringinc.com collected 2026-09-25 14:15:52 UTC 886,941 bytes, 11,315 lines download raw bytes

1<!doctype html>
2<html lang="en">
3<head prefix="og: http://ogp.me/ns# cms: http://ogp.me/ns/cms#">
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.322.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.322.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.322.0.min.js"),r.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),(()=>{const e={},t="NRBA-1.322.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-SARROoir04gFygxlr/+mTI+PyMeFL+epi1vnUA2G5mTQ7s3G44ItQBJKbOaIMdIE5OBzuaKhb4k5JYta0NICxg==",249:"sha512-6DKQo5WP7YlpzX6l9UfYkgGLGK2oITdoaYTcZtgl5Foa22NY63lED/0z1hBBLeD7qZCz/YdlY19/r8drlol1tg==",212:"sha512-CYxuvSpDx6ErqWJwAvpoHn54eY37YdMcFao/axOumlw3BsSL7yioOeB2LWViY/Njs818sQG10dSglUhYCMfLPw==",238:"sha512-mvbMILWa3ohYst+u6TLfNrmtY2swUIB3rbJFN/uzt3W62KhgvUVwB81UEZ1R0/it5bfrQ5EVz864pi/CAmucNQ=="};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.322.0.PROD"]=self["webpackChunk:NRBA-1.322.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=(0,ye.ZF)(),a=(0,ye.el)(),o=Date.now(),c={spanId:s,traceId:a,timestamp:o};return(e.sameOrigin||this.isAllowedOrigin(e)&&this.useTraceContextHeadersForCors())&&(c.traceContextParentHeader=this.generateTraceContextParentHeader(s,a),c.traceContextStateHeader=this.generateTraceContextStateHeader(s,o,r,n,i)),(e.sameOrigin&&!this.excludeNewrelicHeader()||!e.sameOrigin&&this.isAllowedOrigin(e)&&this.useNewrelicHeaderForCors())&&(c.newrelicHeader=this.generateTraceHeader(s,a,o,r,n,i)),c}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="About Us - Flooring Inc.com"/>
7<meta name="description" content="Flooring Inc is the industry leader in mats and rubber flooring.  About us explains we are the Extreme Makeover: Home Edition choose us to be their flooring provider."/>
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>About Us - Flooring Inc.com</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/about" />
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="YjZ2ZWQxdzRxcTd4ZGJzcGk4OGs3aXlybTNkOWF6ODk=">
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="YjZ2ZWQxdzRxcTd4ZGJzcGk4OGs3aXlybTNkOWF6ODk=">
68        if (window.ga4AllowServices) {
69            window.dataLayer = window.dataLayer || [];
70                        var dl4Objects = [{"pageName":"About Us - Flooring Inc.com","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="YjZ2ZWQxdzRxcTd4ZGJzcGk4OGs3aXlybTNkOWF6ODk=" >  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="YjZ2ZWQxdzRxcTd4ZGJzcGk4OGs3aXlybTNkOWF6ODk&#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="YjZ2ZWQxdzRxcTd4ZGJzcGk4OGs3aXlybTNkOWF6ODk&#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="YjZ2ZWQxdzRxcTd4ZGJzcGk4OGs3aXlybTNkOWF6ODk&#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    <meta property="og:type" content="cms"/>
667
668            <meta property="og:title" content="About Us - Flooring Inc.com"/>
669    
670            <meta property="og:description" content="Flooring Inc is the industry leader in mats and rubber flooring.  About us explains we are the Extreme Makeover: Home Edition choose us to be their flooring provider."/>
671    
672    <meta property="og:url" content="https://www.flooringinc.com/about"/>
673    <meta property="og:site_name" content="Flooring Inc."/>
674
675<script>
676    window.addEventListener('load', function () {
677        window.magentoStorefrontEvents = magentoStorefrontEvents;
678        magentoStorefrontEvents.context.setStorefrontInstance(
679            {"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"}        );
680        magentoStorefrontEvents.context.setMagentoExtension({
681            magentoExtensionVersion: "8.0.1",
682        });
683        magentoStorefrontEvents.context.setDataServicesExtension({
684            version: "8.0.1",
685        });
686        magentoStorefrontEvents.context.setPage({
687            pageType: "Default"
688        });
689        magentoStorefrontEvents.context.setContext("pageExtended", {
690            action: "page-view"
691        });
692
693        
694        magentoStorefrontEvents.publish.pageView();
695    });
696</script>
696
697</head>
698<body class="pl-thm-dcw pl-thm-dcw-hyvadesktop prgdpr-dcw prgdpr-dcw-hyvadesktop cms-about page-layout-1column mst-nav__theme-hyva-reset mst-nav__theme-hyva-default mst-nav__theme-dcw-hyvadesktop cms-page-view page-layout-cms-full-width" id="html-body">
699<!-- Google Tag Manager (noscript) -->
vendor: 69 bytes, lines 699-700
699
700<noscript><iframe src="https://www.googletagmanager.com/ns.html?id=
700GTM-5XR7MB7
vendor: 85 bytes, lines 700-701
700"
701height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript>
702<!-- End Google Tag Manager (noscript) -->
703
704<script  nonce="YjZ2ZWQxdzRxcTd4ZGJzcGk4OGs3aXlybTNkOWF6ODk=">
705var prCookieConsentApi = {
706    CUSTOMER_CONSENT: 'pr-cookie-consent',
707    SYSTEM_COOKIES: [
708        'PHPSESSID',
709        this.CUSTOMER_CONSENT,
710        'user_allowed_save_cookie',
711    ],
712    config: {},
713    whitelist: {},
714    isConfigured: false,
715    /**
716     * Contains callbacks that run after all configuration come
717     *
718     * @type {function[]}
719     */
720    configuredCallbacks: [],
721    initCookieBlocking: function () {
722        var cookieDesc = Object.getOwnPropertyDescriptor(Document.prototype, 'cookie')
723            || Object.getOwnPropertyDescriptor(HTMLDocument.prototype, 'cookie');
724        if (cookieDesc && cookieDesc.configurable) {
725            var api = this;
726            Object.defineProperty(document, 'cookie', {
727                get: function () {
728                    return cookieDesc.get.call(document);
729                },
730                set: function (cookie) {
731                    let cookieName = cookie.substring(0, cookie.indexOf('=')).trim();
732                    document.dispatchEvent(new CustomEvent('pr-cookie-consent-api:cookie-blocking:validation', {
733                        detail: {cookieName: cookieName, isAllowed: api.isAllowed(cookieName), cookie: cookie}
734                    }));
735
736                    if (! api.isAllowed(cookieName)) {
737                        api.logger.warn('CookieConsent: blocked cookie "' + cookieName + '"');
738                        return;
739                    }
740                    cookieDesc.set.call(document, cookie);
741                }
742            });
743        }
744    },
745    getCookieValue: function (name) {
746        var values = document.cookie.match('(^|;)\\s*' + name + '\\s*=\\s*([^;]+)');
747        return values ? decodeURIComponent(values.pop()) : '';
748    },
749    configure: function (configJson) {
750        this.logger.init();
751        this.userScript.init();
752        try {
753            this.config = JSON.parse(configJson);
754            if (this.config.canManageCookie === null) {
755                console.error('CookieConsent: restriction config is invalid');
756            }
757            this.isConfigured = true;
758
759            this.configuredCallbacks.forEach(function (callback) {
760                callback();
761            }.bind(this));
762
763            this.clearRejectedCookie();
764        } catch (e) {
765            console.error('CookieConsent: error has happened during parse JSON');
766            return false;
767        }
768
769        document.dispatchEvent(new Event('pr-cookie-consent-api:configured'));
770    },
771    /**
772     * @param {function} callback
773     * @returns {prCookieConsentApi}
774     */
775    addConfiguredCallback: function (callback) {
776        this.configuredCallbacks.push(callback);
777        return this;
778    },
779        isAllowedCategory: function (categoryKey) {
780        if (! this.config.canManageCookie) {
781            return true;
782        }
783        if (this.isEssentialCategory(categoryKey)) {
784            return true;
785        }
786        if (this.isOptIn()) {
787            if (this.isAllCategoriesAllowed()) {
788                return true;
789            }
790            return this.consent.get().includes(categoryKey);
791        }
792        return this.config.canUseCookieBeforeOptIn;
793    },
794    getDomain: function (cookieName) {
795        return this.config.cookies[cookieName] ? this.config.cookies[cookieName].domain : null;
796    },
797        isAllowed: function (cookieName) {
798        if (this.isSystemCookie(cookieName)) {
799            return true;
800        }
801        if (! this.config.canManageCookie) {
802            return true;
803        }
804        if (this.whitelist[cookieName]) {
805            return true;
806        }
807        cookieName = this.getTrueCookieName(cookieName);
808        if (! this.isOptIn()) {
809            if (this.config.canUseCookieBeforeOptIn) {
810                return true;
811            }
812            if (this.isKnownCookie(cookieName)) {
813                return this.isInEssentialCategory(cookieName);
814            }
815            return false;
816        }
817        if (! this.isKnownCookie(cookieName)) {
818            return ! this.config.canBlockUnknownCookie;
819        }
820        return this.isInAllowedCategory(cookieName);
821    },
822    isAllCategoriesAllowed: function () {
823        if (null === this.cache.get('allowAllCategories')) {
824            var customerConsent = this.consent.get();
825            if (customerConsent && customerConsent.includes('all') ) {
826                this.cache.set('allowAllCategories', true);
827            } else {
828                var allowedWebsites = this.websiteRestriction.getAllowed();
829                this.cache.set('allowAllCategories', allowedWebsites[this.config.mage.website] === 1);
830            }
831        }
832        return this.cache.get('allowAllCategories');
833    },
834    isEssentialCategory: function (categoryKey) {
835        return this.config.essentialCategoryKeys.includes(categoryKey);
836    },
837    isInEssentialCategory: function (cookieName) {
838        return this.isEssentialCategory(this.getCookieCategory(cookieName));
839    },
840    isInAllowedCategory: function (cookieName) {
841        return this.isAllowedCategory(this.getCookieCategory(cookieName));
842    },
843    getCookieCategory: function (cookieName) {
844        return this.config.cookieToCategoryMapping[cookieName];
845    },
846    isOptIn: function () {
847        var allowedWithDefaultCookie = this.websiteRestriction.getAllowed()[this.config.mage.website] === 1;
848        return Boolean(this.consent.get()) || allowedWithDefaultCookie;
849    },
850    isSystemCookie: function (cookieName) {
851        return this.SYSTEM_COOKIES.includes(cookieName);
852    },
853    isKnownCookie: function (cookieName) {
854        return this.config.cookieToCategoryMapping.hasOwnProperty(cookieName);
855    },
856    getTrueCookieName: function (cookieName) {
857        var keys = Object.keys(this.config.dynamicNamesPatterns), key;
858        for (var i = 0, length = keys.length; i < length; i++) {
859            key = keys[i];
860            if (new RegExp(this.config.dynamicNamesPatterns[key]).test(cookieName)) {
861                return key;
862            }
863        }
864        return cookieName;
865    },
866    clearRejectedCookie: function () {
867        let cookies = prCookieService.get();
868        Object.keys(cookies).forEach(function(cookieName) {
869            if (this.isAllowed(cookieName)) {
870                return;
871            }
872
873            var encodedCookieName = cookieName = encodeURIComponent(String(cookieName))
874                .replace(/%(23|24|26|2B|5E|60|7C)/g, decodeURIComponent)
875                .replace(/[\(\)]/g, escape);
876
877            this.whitelist[encodedCookieName] = true;
878            if (this.getDomain(cookieName)) {
879                prCookieService.remove(cookieName, {domain: this.getDomain(cookieName)});
880            } else {
881                prCookieService.remove(cookieName);
882                if (this.config.cookie.parentDomain) {
883                    prCookieService.remove(cookieName, {domain: this.config.cookie.parentDomain});
884                }
885            }
886            this.logger.warn('CookieConsent: remove cookie "' + cookieName + '"');
887            if (typeof prCookieService.get(cookieName) !== 'undefined') {
888                this.logger.error('CookieConsent: fail to remove cookie "' + cookieName + '"');
889            }
890            this.whitelist[encodedCookieName] = false;
891        }.bind(this));
892    }
893};
894
895prCookieConsentApi.userScript = {
896    /**
897     * List of callbacks and categories they depend on.
898     */
899    pendingScripts: [],
900    /**
901     * Run script after model is configured or after user provided consent.
902     */
903    init: function () {
904        prCookieConsentApi.addConfiguredCallback(this.executePendingScripts.bind(this));
905        prCookieConsentApi.consent.addCallback(this.executePendingScripts.bind(this));
906    },
907    /**
908     * Run or delay script.
909     *
910     * @param {function} callback
911     * @param {string}   categoryKey
912     */
913    execute: function (callback, categoryKey) {
914        if (prCookieConsentApi.isConfigured && prCookieConsentApi.isAllowedCategory(categoryKey)) {
915            callback();
916            return;
917        }
918
919        this.pendingScripts.push({callback: callback, categoryKey: categoryKey, executed: false});
920    },
921    /**
922     * Run pending scripts.
923     */
924    executePendingScripts: function () {
925        this.pendingScripts.forEach(function (script) {
926            if (false === script.executed && prCookieConsentApi.isAllowedCategory(script.categoryKey)) {
927                script.callback();
928                script.executed = true;
929            }
930        }.bind(this));
931    },
932};
933
934prCookieConsentApi.websiteRestriction = {
935    getAllowed: function () {
936        var allowedWebsites = prCookieConsentApi.getCookieValue(prCookieConsentApi.config.mage.cookieName);
937        return allowedWebsites ? JSON.parse(allowedWebsites) : {};
938    },
939    allowCurrent: function () {
940        return this.set(prCookieConsentApi.config.mage.website, true);
941    },
942    disallowCurrent: function () {
943        return this.set(prCookieConsentApi.config.mage.website, false);
944    },
945    /**
946     * @param {number} website
947     * @param {boolean} flag
948     * @return {CookieRestriction.websiteRestriction}
949     */
950    set: function (website, flag) {
951        var allowedWebsites = this.getAllowed();
952
953        if (flag) {
954            allowedWebsites[website] = 1;
955        } else {
956            delete allowedWebsites[website];
957        }
958
959        prCookieService.set(prCookieConsentApi.config.mage.cookieName, allowedWebsites, {
960            path: prCookieConsentApi.config.cookie.path,
961            expires: prCookieConsentApi.config.mage.lifetime ? Math.ceil(prCookieConsentApi.config.mage.lifetime / 86400) : 0
962        });
963
964        return this;
965    }
966};
967
968prCookieConsentApi.cache = {
969    cacheData: {allowAllCategories: null},
970    get: function (key) {
971        return this.cacheData[key];
972    },
973    set: function (key, value) {
974        this.cacheData[key] = value;
975    },
976    reset: function () {
977        this.cacheData = {allowAllCategories: null};
978    }
979};
980
981prCookieConsentApi.logger = {
982    level: 0, /* disabled */
983        init: function () {
984        if (window.location.hash === '#pr-enable-cookie-log') {
985            this.level = 1; /* only warnings and errors */
986        }
987        if (window.location.hash === '#pr-enable-cookie-log-all') {
988            this.level = 2; /* all logs */
989        }
990    },
991    log: function () {
992        this.level > 1 && console.log.apply(console, arguments);
993    },
994    warn: function () {
995        this.level > 0 && console.warn.apply(console, arguments);
996    },
997    error: function () {
998        this.level > 0 && console.error.apply(console, arguments);
999    }
1000};
1001
1002prCookieConsentApi.consent = {
1003    /**
1004     * Contains callbacks that run after user consent.
1005     *
1006     * @type {function[]}
1007     */
1008    callbacks: [],
1009    allowAllCategories: function () {
1010        prCookieConsentApi.cache.reset();
1011        prCookieConsentApi.consent.set(['all']);
1012        return this;
1013    },
1014    declineAll: function () {
1015        prCookieConsentApi.cache.reset();
1016        prCookieConsentApi.consent.set([]);
1017        return this;
1018    },
1019    set: function (allowedCategories) {
1020        prCookieService.set(prCookieConsentApi.CUSTOMER_CONSENT, JSON.stringify(allowedCategories), {
1021            expires: prCookieConsentApi.config.consent.expiry,
1022            path: prCookieConsentApi.config.cookie.path,
1023            domain: prCookieConsentApi.config.cookie.domain
1024        });
1025
1026        if (allowedCategories.includes('all')) {
1027            prCookieConsentApi.websiteRestriction.allowCurrent();
1028        } else {
1029            prCookieConsentApi.websiteRestriction.disallowCurrent();
1030        }
1031        prCookieConsentApi.cache.reset();
1032
1033        var isAccepting = allowedCategories.length;
1034
1035        this.callbacks.forEach(function (callback) {
1036            callback(allowedCategories)
1037        });
1038
1039        fetch(prCookieConsentApi.config.consent.logUrl, {
1040            method: 'POST',
1041            headers: {
1042                'Content-Type': 'application/json',
1043                'X-Requested-With': 'XMLHttpRequest'
1044            },
1045            body: JSON.stringify({acceptedKeys: allowedCategories})
1046        })
1047            .then(this.pageReloadAfterAction.bind(this, isAccepting));
1048    },
1049    /**
1050     * Reload page by configuration and action
1051     *
1052     * @param isAccepting
1053     */
1054    pageReloadAfterAction: function (isAccepting) {
1055        if (isAccepting && prCookieConsentApi.config.consent.reloadAfterAccept) {
1056            window.location.reload();
1057        }
1058
1059        if (! isAccepting && prCookieConsentApi.config.consent.reloadAfterDecline) {
1060            window.location.reload();
1061        }
1062    },
1063    get: function () {
1064        var consent = prCookieConsentApi.getCookieValue(prCookieConsentApi.CUSTOMER_CONSENT);
1065        return consent ? JSON.parse(consent) : false;
1066    },
1067    addCallback: function (callback) {
1068        this.callbacks.push(callback);
1069        return this;
1070    },
1071};
1072
1073prCookieConsentApi.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
10730022\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');
1074prCookieConsentApi.initCookieBlocking();
1075
1076if (typeof define === 'function') {
1077    define('prCookieService', function () {return prCookieService});
1078    define('prCookieConsentApi', function () {return prCookieConsentApi;});
1079}
1080</script>
1080
1081
1082
1083    
1083<script type="text/javascript"  nonce="YjZ2ZWQxdzRxcTd4ZGJzcGk4OGs3aXlybTNkOWF6ODk=">
1084        (() => {
1085            document.addEventListener('pr-cookie-consent-api:cookie-blocking:validation', (event) => {
1086                if ('mg_dnt' !== event.detail.cookieName) {
1087                    return;
1088                }
1089
1090                setTimeout(() => {
1091                    const categoryKey = 'marketing';
1092                    let cookieValue = (event.detail.cookie.match(/^[^=]+=(.*?)(?:$|;)/) || [])[1]?.trim();
1093
1094                    if (prCookieConsentApi.isAllowedCategory(categoryKey) && cookieValue.length) {
1095                        prCookieService.remove('mg_dnt', prCookieConsentApi.config.cookie);
1096                        return;
1097                    }
1098
1099                    if (! prCookieConsentApi.isAllowedCategory(categoryKey) && ! cookieValue.length) {
1100                        prCookieService.set('mg_dnt', true, { ...prCookieConsentApi.config.cookie, expires: null });
1101                    }
1102                }, 100);
1103            });
1104
1105            let handleCookieConsent = () => {
1106                const categoryKey = 'marketing';
1107                if (prCookieConsentApi.isAllowedCategory(categoryKey)) {
1108                    prCookieService.remove('mg_dnt', prCookieConsentApi.config.cookie);
1109                } else {
1110                    prCookieService.set('mg_dnt', true, { ...prCookieConsentApi.config.cookie, expires: null });
1111                }
1112            };
1113
1114            prCookieConsentApi.consent.addCallback(handleCookieConsent);
1115            handleCookieConsent();
1116        })();
1117    </script>
1117
1118
1119    
1119<script>
1120        (function () {
1121            'use strict';
1122
1123            window.amRecaptchaModel = {
1124                formsToProtect: "form\u005Baction\u002A\u003D\u0022faq\u002Findex\u002Fsave\u0022\u005D",
1125                isEnabledOnPayments: "",
1126                checkoutRecaptchaValidateUrl: "https://www.flooringinc.com/amcapthca/checkout/validate/",
1127                invisibleCaptchaCustomForm: "\u002D1",
1128                recaptchaConfig: {
1129                    lang: "hl\u003Den" || 'hl=en',
1130                    theme: "light",
1131                    badge: "bottomright",
1132                    sitekey: "6Lc6gcYqAAAAADiXHrgCFqC4Sewhxs-nrHYgN4oo",
1133                    size: "normal"
1134                },
1135                url: 'https://www.google.com/recaptcha/api.js',
1136                isCaptchaScriptLoaded: false,
1137                isInvisible: "normal" === 'invisible',
1138
1139                /**
1140                 * Submit event
1141                 *
1142                 * @param {Object} $event
1143                 * @return {void}
1144                 */
1145                execute: function ($event) {
1146                    const eventTarget = $event?.target;
1147                    if (this.isCaptchaScriptLoaded) {
1148                        this.executeCaptcha(eventTarget);
1149                    } else {
1150                        window.addEventListener('amcaptcha-script-loaded', () => {
1151                            this.isCaptchaScriptLoaded = true;
1152                            this.executeCaptcha(eventTarget);
1153                            this.initAmcaptchaBadges();
1154                        });
1155
1156                        this.loadRecaptchaScript();
1157                    }
1158                },
1159
1160                /**
1161                 * Execute original submit
1162                 *
1163                 * @param {Object} $event
1164                 * @param {HTMLElement} $el
1165                 * @return {void}
1166                 */
1167                recaptchaCallback: function ($event, $el) {
1168                    this.shouldExecuteCallback($event, $el) && $el.dispatchEvent(new CustomEvent('amrecaptcha-executable-callback'));
1169                },
1170
1171                /**
1172                 * Reset captcha
1173                 *
1174                 * @param {Object} $event
1175                 * @param {HTMLElement} $el
1176                 */
1177                expiredCallback: function($event, $el) {
1178                    this.shouldExecuteCallback($event, $el) && grecaptcha.reset($event.detail.widgetId);
1179                },
1180
1181                /**
1182                 * Checks if event is fired on submitted element
1183                 *
1184                 * @param {Object} $event
1185                 * @param {HTMLElement} $el
1186                 * @return {boolean}
1187                 */
1188                shouldExecuteCallback: function($event, $el) {
1189                    const eventWidgetId = $event.detail.widgetId;
1190                    const elementWidgetId = $el.dataset.amCaptchaWidgetId || $el.closest('form')?.dataset.amCaptchaWidgetId;
1191
1192                    return eventWidgetId === elementWidgetId;
1193                },
1194
1195                /**
1196                 * Run captcha for widget by id
1197                 *
1198                 * @param {HTMLElement} eventTarget
1199                 * @return {void}
1200                 */
1201                executeCaptcha: function(eventTarget) {
1202                    if (!eventTarget.dataset.hasOwnProperty('amCaptchaRendered')) {
1203                        this.bindCaptchaGlobalCallbacks(eventTarget);
1204                        this.renderCaptcha(eventTarget);
1205                        eventTarget.dataset.amCaptchaRendered = '';
1206                    }
1207
1208                    const widgetId = this.getWidgetId(eventTarget);
1209
1210                    if (!widgetId) {
1211                        typeof window.dispatchMessages !== "undefined" && window.dispatchMessages([
1212                            {
1213                                type: "error",
1214                                text: 'Recaptcha\u0020cannot\u0020properly\u0020validate\u0020form.'
1215                            }
1216                        ]);
1217                        return;
1218                    }
1219
1220                    window.dispatchEvent(new CustomEvent('amcaptcha-loading-start'));
1221                    grecaptcha.reset(widgetId);
1222
1223                    if (!this.isInvisible) {
1224                        this.stopAmcaptchaLoading();
1225                        return;
1226                    }
1227
1228                    grecaptcha.execute(widgetId)
1229                        .then(() => this.stopAmcaptchaLoading())
1230                        .catch(() => this.stopAmcaptchaLoading());
1231                },
1232
1233                /**
1234                 * Add recaptcha script to page
1235                 *
1236                 * @return {void}
1237                 */
1238                loadRecaptchaScript: function () {
1239                    const lang = window.amRecaptchaModel.recaptchaConfig.lang;
1240                    const url = `${window.amRecaptchaModel.url}?onload=amRecaptchaLoadCallback&render=explicit&${lang}`;
1241                    const script = document.createElement('script');
1242
1243                    script.type = 'text/javascript';
1244                    script.src = url;
1245                    script.async = true;
1246                    document.head.appendChild(script);
1247                },
1248
1249                /**
1250                 * Stop loader on page
1251                 *
1252                 * @return {void}
1253                 */
1254                stopAmcaptchaLoading: function () {
1255                    window.dispatchEvent(new CustomEvent('amcaptcha-loading-stop'));
1256                },
1257
1258                /**
1259                 * Add attributes to hide captcha badge
1260                 *
1261                 * @return {void}
1262                 */
1263                initAmcaptchaBadges: function () {
1264                    if (!this.isInvisible) {
1265                        return;
1266                    }
1267
1268                    document.querySelectorAll('.grecaptcha-badge')?.forEach(captchaBadge => {
1269                        captchaBadge?.setAttribute('x-data', '{ visible: true }');
1270                        captchaBadge?.setAttribute('x-on:amcaptcha-loading-start.window', 'visible = true');
1271                        captchaBadge?.setAttribute('x-on:amcaptcha-loading-stop.window', 'visible = false');
1272                        captchaBadge?.setAttribute(':class', '!visible && "invisible"');
1273                    });
1274                },
1275
1276                /**
1277                 * Get form widgetId
1278                 *
1279                 * @param {HTMLElement} eventTarget
1280                 * @return {string}
1281                 */
1282                getWidgetId: function (eventTarget) {
1283                    return eventTarget.dataset.amCaptchaWidgetId
1284                        || eventTarget.closest('form')?.dataset.amCaptchaWidgetId;
1285                },
1286
1287                /**
1288                 * Add captcha badge or checkbox to protected form.
1289                 * Store widgetId in dataset to pass this info in callbacks
1290                 *
1291                 * @param {HTMLElement} eventTarget
1292                 * @return {void}
1293                 */
1294                renderCaptcha: function (eventTarget) {
1295                    const captchaElement = document.createElement('div');
1296                    const formContent = eventTarget.closest('form')?.querySelector('[data-element="form-content"]')
1297                        ?? eventTarget.closest('form');
1298                    formContent?.appendChild(captchaElement);
1299
1300                    eventTarget.dataset.amCaptchaWidgetId = grecaptcha.render(captchaElement, {
1301                        ...window.amRecaptchaModel?.recaptchaConfig,
1302                        callback: () => {
1303                            window.dispatchEvent(new CustomEvent(
1304                                'amrecaptcha-callback', {
1305                                    detail: this.getCaptchaCallbackDetail(eventTarget)
1306                                }));
1307                        },
1308                        'expired-callback': () => {
1309                            window.dispatchEvent(new CustomEvent(
1310                                'amrecaptcha-expired-callback', {
1311                                    detail: this.getCaptchaCallbackDetail(eventTarget)
1312                                }));
1313                        }
1314                    });
1315                },
1316
1317                /**
1318                 * Get detail property for callback event
1319                 *
1320                 * @param {HTMLElement} eventTarget
1321                 * @return {object}
1322                 */
1323                getCaptchaCallbackDetail: function (eventTarget) {
1324                    return {
1325                        widgetId: eventTarget.dataset.amCaptchaWidgetId,
1326                        form: eventTarget
1327                    }
1328                },
1329
1330                /**
1331                 * Add functions that will be called on the global state
1332                 *
1333                 * @param {HTMLElement} eventTarget
1334                 * @return {void}
1335                 */
1336                bindCaptchaGlobalCallbacks: function (eventTarget) {
1337                    eventTarget.setAttribute(
1338                        'x-on:amrecaptcha-callback.window',
1339                        `amRecaptchaModel.recaptchaCallback($event, $el)`
1340                    );
1341                    eventTarget.setAttribute(
1342                        'x-on:amrecaptcha-expired-callback.window',
1343                        'amRecaptchaModel.expiredCallback($event, $el)'
1344                    );
1345                }
1346            };
1347        })(window.amRecaptchaModel = window.amRecaptchaModel || {});
1348
1349        window.amRecaptchaLoadCallback = function () {
1350            window.dispatchEvent(new CustomEvent('amcaptcha-script-loaded'));
1351        }
1352    </script>
1352
1353
1354
1355        <!--suppress HtmlUnknownTarget -->
1356    <!-- BV | Magento Extension 9.1.7 -->
1357    
1357<script>
1358        window.addEventListener('init-external-scripts', () => {
1359            const bvScript = document.createElement('script');
1360            bvScript.src = '//apps.bazaarvoice.com/deployments/incstores/main_site/production/en_US/bv.js';
1361            bvScript.type = 'text/javascript';
1362            bvScript.async = true;
1363            document.head.append(bvScript);
1364        }, {once: true, passive: true});
1365    </script>
vendor: 1 bytes, line 1365
1365
1366<script>
1367    function initSocialLoginPost() {
1368        return {
1369            submitForm(form) {
1370                event.preventDefault();
1371                var loginRefererElement = document.getElementById("sociallogin-login-referer");
1372                var value = loginRefererElement.value;
1373                fetch(form.action, {
1374                    headers: {
1375                        contentType: "application/json;charset=utf-8",
1376                    },
1377                    body: new URLSearchParams({
1378                        form_key: hyva.getFormKey(),
1379                        'refress-redirect-url':value
1380                    }),
1381                    method: "POST",
1382                    mode: "cors",
1383                    credentials: "include",
1384                }).then(response => {
1385                    if (response.redirected) {
1386                        window.location.href = response.url;
1387                    } else {
1388                        window.dispatchMessages("warning", "Post request failed", 5000);
1389                    }
1390                })
1391            }
1392        }
1393    }
1394</script>
1394
1395<form style="display:none;" class="form" x-data="initSocialLoginPost()" @submit="submitForm($el)"
1396      action="https://www.flooringinc.com/sociallogin/account/loginPost/"
1397      method="post"
1398      id="sociallogin-login-form"
1399>
1400    <input id="sociallogin-login-referer" name="refress-redirect-url" type="hidden" value="" />
1401    <input id="sociallogin-login-submit" type="submit" value="sociallogin" style="font-size:0"/>
1402</form>
1403
1404<style>
1405    .pr-cookie-setting-bar-overlay,
1406    .pr-cookie-setting-bar-container {
1407        z-index: 999999999999999;
1408    }
1409</style>
1410
1411<script>
1412    'use strict';
1413    var prCookieSettingBar = {
1414        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
1414ilters, 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
1414se 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},
1415        show: function () {},
1416        hide: function () {},
1417        syncCategoriesDataWithConsent: function () {
1418            this.config.categories = this.config.categories.map(category => {
1419                category.is_allowed = prCookieConsentApi.isAllowedCategory(category.key);
1420                return category;
1421            });
1422        },
1423        allowAll: function () {
1424            prCookieConsentApi.consent.allowAllCategories();
1425            this.syncCategoriesDataWithConsent();
1426            window.prCookieSettingBar.hide();
1427        },
1428        declineAll: function () {
1429            prCookieConsentApi.consent.declineAll();
1430            this.syncCategoriesDataWithConsent();
1431            window.prCookieSettingBar.hide();
1432        },
1433        confirm: function () {
1434            var allowedCategories = [...prCookieConsentApi.config.essentialCategoryKeys];
1435            this.config.categories.forEach((category) => {
1436                if (allowedCategories.includes(category.key) || !category.is_allowed) {
1437                    return;
1438                }
1439
1440                allowedCategories.push(category.key);
1441            });
1442
1443            prCookieConsentApi.consent.set(allowedCategories);
1444            this.syncCategoriesDataWithConsent();
1445            window.prCookieSettingBar.hide();
1446        }
1447    };
1448</script>
1448
1449
1450<div x-data="{...hyva.modal(), init() {
1451            window.prCookieSettingBar.show = this.show.bind(this, 'pr-cookie-setting-bar', event);
1452            window.prCookieSettingBar.hide = this.hide.bind(this);
1453    }}" x-init="init()">
1454    <div x-cloak    x-bind="overlay('pr-cookie-setting-bar')"
1455    x-spread="overlay('pr-cookie-setting-bar')"
1456    class="fixed inset-0 bg-black bg-opacity-50 z-50 pr-cookie-setting-bar-overlay">
1457    <div class="fixed flex justify-center items-center text-left z-40 pr-cookie-setting-bar-container inset-0">
1458        <div x-ref="pr-cookie-setting-bar" role="dialog" aria-modal="true"
1459                                                  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">
1460            <div class="pr-cookie-setting-bar-wrap text-[13px] px-4 pt-2 pb-4 relative"
1461     id="pr-cookie-setting-bar"
1462     :class="config.cookieDetailsIsOpen && 'h-screen overflow-hidden'"
1463     x-data="prCookieSettingBar"
1464     x-init="syncCategoriesDataWithConsent()"
1465>
1466    <button @click="hide" class="ml-auto -mt-2 -mr-4 block top-2 right-2 p-2">
1467        <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">
1468  <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"/>
1469<title>x</title></svg>
1470    </button>
1471    <h3 class="font-bold text-xl leading-normal mb-3" x-text="config.overview.title"></h3>
1472    <div class="pr-cookie-description" x-html="config.overview.text"></div>
1473    <div class="pr-actions-buttons flex flex-wrap items-center justify-center py-4 mb-6 border-container border-b">
1474        <button type="button" class="action btn btn-primary m-2" x-text="config.acceptButtonConfig.label" @click="allowAll();"></button>
1475        <button type="button" class="action btn btn-secondary m-2" x-text="config.declineButtonConfig.label" @click="declineAll()"></button>
1476    </div>
1477    <h3 class="pr-cookie-manage-title font-bold text-xl mb-0" x-text="config.consentPreferences.header"></h3>
1478    <ul class="message-system-list mt-8">
1479        <template x-for="category in config.categories">
1480            <li class="mt-0 mb-4">
1481                <div class="accordion-title">
1482                    <div class="pr-cookie-option flex justify-between pb-2 mt-8 text-sm">
1483                        <strong class="option-label mr-4" x-text="category.name"></strong>
1484                        <template x-if="category.is_essential">
1485                            <strong class="option-status whitespace-nowrap text-green-700" x-text="config.consentPreferences.essential_category_status"></strong>
1486                        </template>
1487                        <template x-if="! category.is_essential">
1488                            <div class="pr-cookie-switch">
1489                                <label class="switch-label" aria-label="Switch">
1490                                    <input type="checkbox"
1491                                           class="sr-only"
1492                                           x-model="category.is_allowed"
1493                                           x-bind:name="category.key"
1494                                    >
1495                                    <span class="switch-area flex items-center w-11 h-6 rounded-3xl border border-container cursor-pointer transition-all"
1496                                          :class="category.is_allowed ? 'bg-green-500 border-green-700' : 'bg-gray-200 border-gray-300'"
1497                                    >
1498                                        <span class="switch-nob block w-5 h-5 rounded-full transition-all"
1499                                              :class="category.is_allowed ? 'bg-white ml-auto mr-[2px]' : 'bg-gray-500 mr-auto ml-[2px]'"
1500                                        ></span>
1501                                    </span>
1502                                </label>
1503                            </div>
1504                        </template>
1505                    </div>
1506                    <div class="first-details" x-data="{ isOpen: false }">
1507                        <div class="pr-cookie-category-description text-gray-700 mb-4" x-text="category.description"></div>
1508                        <template x-if="config.canShowCookieDetails">
1509                            <div>
1510                                <div class="lvl1">
1511                                    <span class="pr-cookie-details text-blue-700 cursor-pointer underline hover:no-underline"
1512                                          x-on:click="isOpen = true; config.cookieDetailsIsOpen = isOpen"
1513                                          x-text="config.consentPreferences.cookie_details_link"
1514                                          x-bind:data-category-key="category.key"></span>
1515                                </div>
1516                                <div class="second-details absolute bg-white px-4 pt-2 pb-4 inset-0 h-full"
1517                                     x-show="isOpen"
1518                                >
1519                                    <div class="pr-cookie-view flex flex-col h-full">
1520                                        <template x-if="isOpen">
1521                                            <button @click="hide" class="ml-auto -mt-2 -mr-2 block top-2 right-2 p-2">
1522                                                <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">
1523  <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"/>
1524<title>x</title></svg>
1525                                            </button>
1526                                        </template>
1527                                        <div class="flex justify-between items-center text-sm mb-2">
1528                                            <button class="pr-cookie-details-hide px-3 -ml-3 mr-3 flex items-center cursor-pointer hover:text-blue-800"
1529                                                    x-show="isOpen"
1530                                                    x-on:click="isOpen = false; config.cookieDetailsIsOpen = isOpen">
1531                                                <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">
1532  <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"/>
1533<title>arrow-left</title></svg>
1534                                                Back
1535                                            </button>
1536                                            <strong class="option-label" x-text="category.name"></strong>
1537                                        </div>
1538                                        <div class="pr-cookies-list h-full px-4 -mx-4 mb-3 overflow-auto">
1539                                            <h3 class="pr-cookie-view-title mb-2 font-bold text-base">Cookies List</h3>
1540                                            <template x-if="category.details.length > 0">
1541                                                <template x-for="group in category.details">
1542                                                    <div class="pr-cookie-item text-xs py-2 border-container border-b">
1543                                                        <h4 class="pr-cookie-details-title font-semibold mb-1" x-text="group.name"></h4>
1544                                                        <details class="pr-cookie-details-info">
1545                                                            <summary class="cursor-pointer text-blue-600 hover:text-blue-500">
1546                                                                <h5 class="inline-block font-semibold">
1547                                                                    View Cookies
1548                                                                </h5>
1549                                                            </summary>
1550                                                            <div class="pr-cookie-group-wrp">
1551                                                                <template x-for="cookie in group.cookies">
1552                                                                    <div class="pr-cookie-group mt-1 mb-4 p-4 bg-gray-100 rounded">
1553                                                                        <div class="pr-cookie-group-row mb-2 flex">
1554                                                                            <sp
1554an class="w-24 flex-shrink-0 mr-4">Name</span>
1555                                                                            <span class="truncate" x-text="cookie.name"></span>
1556                                                                        </div>
1557                                                                        <div class="pr-cookie-group-row mb-2 flex">
1558                                                                            <span class="w-24 flex-shrink-0 mr-4">Domain</span>
1559                                                                            <span class="truncate" x-text="cookie.domainLabel"></span>
1560                                                                        </div>
1561                                                                        <div class="pr-cookie-group-row mb-2 flex">
1562                                                                            <span class="w-24 flex-shrink-0 mr-4">Duration</span>
1563                                                                            <span x-text="cookie.durationLabel"></span>
1564                                                                        </div>
1565                                                                        <div class="pr-cookie-group-row mb-2 flex">
1566                                                                            <span class="w-24 flex-shrink-0 mr-4">Type</span>
1567                                                                            <span x-text="cookie.typeLabel"></span>
1568                                                                        </div>
1569                                                                        <div class="pr-cookie-group-row mb-2 flex">
1570                                                                            <span class="w-24 flex-shrink-0 mr-4">Category</span>
1571                                                                            <span x-text="cookie.category_key"></span>
1572                                                                        </div>
1573                                                                        <div class="pr-cookie-group-row flex">
1574                                                                            <span class="w-24 flex-shrink-0 mr-4">Description</span>
1575                                                                            <span x-text="cookie.description"></span>
1576                                                                        </div>
1577                                                                    </div>
1578                                                                </template>
1579                                                            </div>
1580                                                        </details>
1581                                                    </div>
1582                                                </template>
1583                                            </template>
1584                                            <template x-if="category.details.length === 0">
1585                                                <p>There are no cookies.</p>
1586                                            </template>
1587                                        </div>
1588
1589                                        <template x-if="isOpen">
1590                                            <div>
1591                                                <button class="action btn btn-primary"
1592                                                        :style="`color: ${config.confirmButtonConfig.text_color}; background-color: ${config.confirmButtonConfig.background_color}; border-color: ${config.confirmButtonConfig.background_color}`"
1593                                                        x-text="config.confirmButtonConfig.label"
1594                                                        @click="prCookieSettingBar.confirm()">
1595                                                </button>
1596                                            </div>
1597                                        </template>
1598                                    </div>
1599                                </div>
1600                            </div>
1601                        </template>
1602                    </div>
1603                </div>
1604            </li>
1605        </template>
1606        <button class="action btn btn-primary"
1607                :style="`color: ${config.confirmButtonConfig.text_color}; background-color: ${config.confirmButtonConfig.background_color}; border-color: ${config.confirmButtonConfig.background_color}`"
1608                x-text="config.confirmButtonConfig.label"
1609                @click="prCookieSettingBar.confirm()">
1610        </button>
1611    </ul>
1612</div>
1613        </div>
1614    </div>
1615    </div>
1616</div>
1617<script type="text/javascript"  nonce="YjZ2ZWQxdzRxcTd4ZGJzcGk4OGs3aXlybTNkOWF6ODk=">
1618    (() => {
1619        const updateCookieConsentConfig = () => {
1620            const categoryMap = {};
1621            Object.entries(prCookieConsentApi.config.cookieToCategoryMapping).forEach(([cookieName, categoryName]) => {
1622                if (! categoryMap[categoryName]) {
1623                    categoryMap[categoryName] = [];
1624                }
1625                categoryMap[categoryName].push(cookieName);
1626            });
1627
1628            Object.entries(categoryMap).forEach(([category, cookies]) => {
1629                const existingList = window.cookie_consent_config[category] || [];
1630                window.cookie_consent_config[category] = Array.from(new Set(existingList.concat(cookies)));
1631            });
1632
1633            let cookieCategories = ["necessary","preferences","statistics","marketing"];
1634            window.cookie_consent_groups = {};
1635            cookieCategories.forEach((category) => {
1636                window.cookie_consent_groups[category] = prCookieConsentApi.isAllowedCategory(category);
1637            });
1638        }
1639
1640        const updateConsent = () => {
1641            window.cookie_consent_groups = window.cookie_consent_groups || {}
1642            Object.keys(window.cookie_consent_groups).forEach(categoryKey => {
1643                window.cookie_consent_groups[categoryKey] = prCookieConsentApi.isAllowedCategory(categoryKey);
1644            });
1645            window.dispatchEvent(new CustomEvent('user-allowed-save-cookie'));
1646        }
1647
1648        document.addEventListener('pr-cookie-consent-api:configured', () => {
1649            updateCookieConsentConfig();
1650            prCookieConsentApi.consent.addCallback(updateConsent);
1651        });
1652
1653        if (prCookieConsentApi.isConfigured) {
1654            updateCookieConsentConfig();
1655            prCookieConsentApi.consent.addCallback(updateConsent);
1656        }
1657    })();
1658</script>
1658
1659<div id="prgdpr-consentpopups-container"
1660     x-data="prDataPrivacyConsentPopupsLoadInit()"
1661     @private-content-loaded.window="receiveCustomerData($event.detail.data)"
1662></div>
1663<script>
1664    function prDataPrivacyConsentPopupsLoadInit() {
1665        return {
1666            receiveCustomerData: function (data) {
1667                if (! data.hasOwnProperty('data_privacy')) {
1668                    return;
1669                }
1670
1671                if (data.data_privacy.countNotifies !== 0 || data.data_privacy.countPopups !== 0) {
1672                    this.loadPopups();
1673                }
1674            },
1675            loadPopups: function () {
1676                fetch('https://www.flooringinc.com/data-privacy/consentpopups/load/')
1677                    .then((response) => {
1678                        if (! response.ok) {
1679                            throw new Error('Network response was not ok');
1680                        }
1681
1682                        return response.json();
1683                    })
1684                    .then(data => this.$el.innerHTML = data.html)
1685                    .catch(error => console.warn(error));
1686            }
1687        }
1688    }
1689
1690    function prDataPrivacyConsentPopupsInit(popups, notifies) {
1691        return {
1692            popups: popups,
1693            notifies: notifies,
1694            data: null,
1695            isShowModal: true,
1696            init: function () {
1697                for (popup of this.popups) {
1698                    popup.isShowModal = true;
1699                }
1700
1701                for (notify of this.notifies) {
1702                    notify.isShowModal = true;
1703                }
1704            },
1705            closeModal(popup) {
1706                popup.isShowModal = false;
1707            },
1708            sendRequest: function (url, consent) {
1709                if (consent.cms_page) {
1710                    consent.checkboxLabel = 'I agree';
1711                }
1712
1713                fetch(url, {
1714                    method: 'POST',
1715                    headers: {'X-Requested-With': 'XMLHttpRequest'},
1716                    body: JSON.stringify({'consent': consent})
1717                });
1718            },
1719            print: function (popup) {
1720                let printWindow = window.open('', 'Print', 'height=600,width=800');
1721                printWindow.document.write(
1722                    `<html><head><title>${popup.cms_page.title}</title></head><body>${popup.cms_page.content}</body></html`
1723                );
1724                printWindow.document.close();
1725                printWindow.focus();
1726                printWindow.print();
1727                printWindow.onafterprint = function () {
1728                    printWindow.close();
1729                };
1730
1731                return true;
1732            }
1733        }
1734    }
1735</script>
1735
1736
1737<script  nonce="YjZ2ZWQxdzRxcTd4ZGJzcGk4OGs3aXlybTNkOWF6ODk=">
1738    (() => {
1739        const updateConsents = () => {
1740                        if (! Array.isArray(prCookieConsentApi.consent.get()) || prCookieConsentApi.consent.get().length > 0) {
1741                prCookieConsentApi.consent.declineAll();
1742            }
1743                    }
1744
1745        prGlobalPrivacyControlApi.signalHandlers.addHandler(updateConsents);
1746    })();
1747</script>
1747
1748<input name="form_key" type="hidden" value="azuXBYKQfItoxoot" />
1749    
1749<script>
1750        window.amRecaptchaModel = window.amRecaptchaModel || {};
1751    </script>
1751
1752<div class="page-wrapper"><div class="container hidden">
1753    <div class="pt-2 pb-2 flex flex-row items-end justify-end">
1754                    <div class="pl-3">
1755                <a href="https://www.flooringinc.com/knowledge-base/" class="hover:underline">
1756    FAQ</a>
1757            </div>
1758            </div>
1759</div>
1760<header class="page-header"><div class="panel wrapper"><div class="header_top flex justify-between items-center" x-data="notificationAjaxCall()" x-init="initNotificationFunc()">
1761    <div class="header_left_notification text-size14 font-normal" x-html="left_notification_html"></div>
1762    <div class="header_middle_notification flex">
1763        <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">
1764<path d="M18.125 0V9.09091H0V0H18.125ZM19.9375 0H29V9.09091H19.9375V0ZM10.875 20V10.9091H29V20H10.875ZM0 20V10.9091H9.0625V20H0Z" fill="#15324C"/>
1765</svg> 500+ Million Sqft Covered</a></div>
1766
1767<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">
1768<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"/>
1769</svg> 125K+ Verified Reviews</a></div>
1770
1771<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">
1772<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"/>
1773<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"/>
1774<circle cx="5" cy="5" r="1" fill="white"/>
1775</svg> Price Match Guarantee</a></div>
1776
1777<div class="flex items-center"><a href="/moneybackguarantee" class="flex items-center gap-2">
1778<svg xmlns="http://www.w3.org/2000/svg" width="14" height="18" viewBox="0 0 14 18" fill="none">
1779<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"/>
1780</svg> Money Back Guarantee</a></div>
1781</div>    </div>
1782    <div class="header_right_notifications font-normal">
1783        <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>
1784<li><a href="/contact">Contact Us</a></li>
1785<li><a href="/sales/guest/form">Track Order</a></li>
1786</ul></div></div></div>    </div>
1787</div>
1788
1789<script>
1790  function notificationAjaxCall() {
1791    return {
1792        availability_notification: '',
1793        left_notification_html: '',
1794        right_notification_html: '',
1795        initNotificationFunc: function () {
1796            fetch(BASE_URL+'notifications/index/show', {
1797                method: "GET",
1798                headers: { 'Content-Type': 'application/json' },
1799            })
1800            .then(response => {
1801                if (! response.ok) console.warn('GET request failed');
1802                return response.json();
1803            })
1804            .then(data => {
1805                if (data) {
1806                  this.availability_notification = data.availability_notification;
1807                  this.left_notification_html = data.left_notification_html;
1808                  this.right_notification_html = data.right_notification_html;
1809                }
1810            });
1811        }
1812    }
1813  }
1814</script>
1814</div><div class="header content">
1814<script>
1815    function initQuoteCartDrawer() {
1816        return {
1817            open: false,
1818            cartData: {},
1819            getQuoteCartData(data) {
1820                if (data.quotecart) {
1821                    this.cartData = data.quotecart
1822                    this.setCartItems();
1823                }
1824            },
1825            cartItems: [],
1826            setCartItems() {
1827                this.cartItems = this.cartData && this.cartData.items.sort(function(a,b) { return a.item_id - b.item_id }) || {}
1828            },
1829            deleteItemFromCart(itemId) {
1830                var formKey = document.querySelector('input[name=form_key]').value;
1831                fetch(BASE_URL+"amasty_quote/sidebar/removeItem/", {
1832                    "headers": {
1833                        "content-type": "application/x-www-form-urlencoded; charset=UTF-8",
1834                    },
1835                    "body": "form_key="+ formKey + "&item_id="+itemId,
1836                    "method": "POST",
1837                    "mode": "cors",
1838                    "credentials": "include"
1839                }).then(function (response) {
1840                    if (response.redirected) {
1841                        window.location.href = response.url;
1842                    } else if (response.ok) {
1843                        return response.json();
1844                    } else {
1845                        typeof window.dispatchMessages !== "undefined" && window.dispatchMessages(
1846                            [{
1847                                type: "warning",
1848                                text: "Could not remove item from quote."
1849                            }], 5000
1850                        );
1851                    }
1852                }).then(function (response) {
1853                    typeof window.dispatchMessages !== "undefined" && window.dispatchMessages(
1854                        [{
1855                            type: response.success ? "success" : "error",
1856                            text: response.success
1857                                ? "You removed the item."
1858                                : response.error_message
1859                        }], 5000
1860                    );
1861                    var reloadCustomerDataEvent = new CustomEvent("reload-customer-section-data");
1862                    window.dispatchEvent(reloadCustomerDataEvent);
1863                });
1864            }
1865        }
1866    }
1867</script>
1867
1868<section id="cart-quote-drawer"
1869         x-data="initQuoteCartDrawer()"
1870         @private-content-loaded.window="getQuoteCartData(event.detail.data)"
1871         @toggle-quote-cart.window="open=true;"
1872         @keydown.window.escape="open=false"
1873>
1874    <template x-if="cartData && cartData.summary_count">
1875        <div role="dialog"
1876             aria-labelledby="cart-drawer-title"
1877             aria-modal="true"
1878             @click.away="open = false"
1879             class="fixed inset-y-0 right-0 z-30 flex max-w-full">
1880            <div class="backdrop"
1881                 x-show="open"
1882                 x-transition:enter="ease-in-out duration-500"
1883                 x-transition:enter-start="opacity-0"
1884                 x-transition:enter-end="opacity-100"
1885                 x-transition:leave="ease-in-out duration-500"
1886                 x-transition:leave-start="opacity-100"
1887                 x-transition:leave-end="opacity-0"
1888                 @click="open = false"
1889                 aria-label="Close panel"></div>
1890            <div class="relative w-screen max-w-md shadow-2xl"
1891                 x-show="open"
1892                 x-transition:enter="transform transition ease-in-out duration-500 sm:duration-700"
1893                 x-transition:enter-start="translate-x-full"
1894                 x-transition:enter-end="translate-x-0"
1895                 x-transition:leave="transform transition ease-in-out duration-500 sm:duration-700"
1896                 x-transition:leave-start="translate-x-0"
1897                 x-transition:leave-end="translate-x-full"
1898            >
1899                <div
1900                    x-show="open"
1901                    x-transition:enter="ease-in-out duration-500"
1902                    x-transition:enter-start="opacity-0"
1903                    x-transition:enter-end="opacity-100"
1904                    x-transition:leave="ease-in-out duration-500"
1905                    x-transition:leave-start="opacity-100"
1906                    x-transition:leave-end="opacity-0" class="absolute top-0 right-0 flex mr-3 mt-2">
1907                    <button @click="open = false" aria-label="Close panel"
1908                            class="p-2 text-gray-300 transition duration-150 ease-in-out hover:text-black">
1909                        <svg class="w-6 h-6" fill="none" viewBox="0 0 24 24" stroke="currentColor">
1910                            <path stroke-linecap="round" stroke-linejoin="round"
1911                                  stroke-width="2" d="M6 18L18 6M6 6l12 12">
1912                            </path>
1913                        </svg>
1914                    </button>
1915                </div>
1916                <div class="flex flex-col h-full py-6 space-y-6 bg-white shadow-xl">
1917                    <header class="px-4 sm:px-6">
1918                        <div id="cart-drawer-title" class="text-lg font-medium leading-7 text-gray-900">
1919                            My Quote Cart                        </div>
1920                    </header>
1921                    <div class="relative grid gap-6 px-4 py-6 overflow-y-auto bg-white border-b
1922                        sm:gap-8 sm:px-6 border-container">
1923                        <template x-for="item in cartItems">
1924                            <div class="flex items-start p-3 -m-3 space-x-4 transition duration-150
1925                                ease-in-out rounded-lg hover:bg-gray-100">
1926                                <a :href="item.product_url" class="w-1/4">
1927                                    <img
1928                                        :src="item.product_image.src"
1929                                        :width="item.product_image.width"
1930                                        :height="item.product_image.height"
1931                                        loading="lazy"
1932                                    />
1933                                </a>
1934                                <div class="w-3/4 relative">
1935                                    <div>
1936                                        <div class="text-xl">
1937                                            <a :href="item.product_url" class="hover:underline">
1938                                                <span x-html="item.qty"></span> x <span x-html="item.product_name"></span>
1939                                            </a>
1940                                        </div>
1941                                        <div class="text-sm"><span x-html="item.product_sku"></div>
1942                                    </div>
1943                                    <template x-for="option in item.options">
1944                                        <div class="pt-2">
1945                                            <p class="font-semibold" x-text="option.label + ':'"></p>
1946                                            <p class="text-secondary" x-html="option.value"></p>
1947                                        </div>
1948                                    </template>
1949                                    <div><span x-html="item.product_price"></span></div>
1950                                    <div class="pt-4">
1951                                        <a :href="item.configure_url"
1952                                           x-show="item.product_type !== 'grouped'"
1953                                            class="inline-flex p-2 mr-2 btn btn-primary">
1954                                            <svg fill="none" viewBox="0 0 24 24" stroke="currentColor"
1955                                                 size="16" class="w-5 h-5">
1956                                                <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2"
1957                                                      d="M15.232 5.232l3.536 3.536m-2.036-5.036a2.5 2.5 0 113.536
1958                                                      3.536L6.5 21.036H3v-3.572L16.732 3.732z">
1959                                                </path>
1960                                            </svg>
1961                                        </a>
1962                                        <button class="inline-flex p-2 btn btn-primary"
1963                                                @click="deleteItemFromCart(item.item_id)"
1964                                        >
1965                                            <svg fill="none" viewBox="0 0 24 24" stroke="currentColor"
1966                                                 size="16" class="w-5 h-5">
1967                                                <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2"
1968                                                      d="M19 7l-.867 12.142A2 2 0 0116.138 21H7.862a2 2 0
1969                                                      01-1.995-1.858L5 7m5 4v6m4-6v6m1-10V4a1 1 0 00-1-1h-4a1 1
1970                                                      0 00-1 1v3M4 7h16">
1971                                                </path>
1972                                            </svg>
1973                                        </button>
1974                                    </div>
1975                                </div>
1976                            </div>
1977                        </template>
1978                    </div>
1979                    <div class="relative grid gap-6 px-4 py-6 bg-white sm:gap-8 sm:px-6">
1980                        <div class="w-full p-3 -m-3 space-x-4 transition duration-150 ease-in-out rounded-lg
1981                            hover:bg-gray-100">
1982                            <span>Cart Subtotal:</span>
1983                            <span class="text-gray-900 font-bold" x-text="hyva.formatPrice(cartData.subtotalAmount)"></span>
1984                        </div>
1985                        <div class="w-full">
1986                            <a href="https://www.flooringinc.com/amasty_quote/cart/"
1987                               class="btn btn-secondary justify-center">
1988                                View and Edit Cart                            </a>
1989                        </div>
1990                    </div>
1991                </div>
1992            </div>
1993        </div>
1994    </template>
1995</section>
1996<div class="widget block block-static-block">
1997    <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()">
1998    <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>
1999</div>
2000
2001<script>
2002function globalNotificationAjaxCall() {
2003    return {
2004        global_notification_text: '',
2005        initGlobalNotificationFunc: function () {
2006            fetch(BASE_URL+'notifications/index/GlobalNotification?full_action_name=cms_page_view&cat_prod_id=', {
2007                method: "GET",
2008                headers: { 'Content-Type': 'application/json' },
2009            })
2010            .then(response => {
2011                if (! response.ok) console.warn('GET request failed');
2012                return response.json();
2013            })
2014            .then(data => {
2015                if (data) {
2016                    if (data.notification_text !='') {
2017                        document.querySelector('.notification4.bg-custom-green').style.display = 'block';
2018                        this.global_notification_text = data.notification_text;
2019                    }
2020                }
2021            });
2022        }
2023    }
2024}
2025</script>
2025</div></div></div>
2026</div>
2026<script>
2027    function initHeader () {
2028        return {
2029            searchOpen: false,
2030            cart: {},
2031            quoteCart: {},
2032            activeCartType: 'cart',
2033            getData(data) {
2034                if (data.cart) {
2035                    this.cart = data.cart;
2036                   // this.cart.summary_count=this.cart.items.length;
2037                }
2038                if (data.quotecart) {
2039                    this.quoteCart = data.quotecart;
2040                }
2041                if (data.active_cart_icon) {
2042                    this.activeCartType = data.active_cart_icon;
2043                }
2044            }
2045        }
2046    }
2047    function initCompareHeader() {
2048        return {
2049            compareProducts: null,
2050            itemCount: 0,
2051            receiveCompareData(data) {
2052                if (data['compare-products']) {
2053                    this.compareProducts = data['compare-products'];
2054                    this.itemCount = this.compareProducts.count;
2055                }
2056            }
2057        }
2058    }
2059</script>
2059
2060
2061<div id="header"
2062     class="relative z-30 w-full bg-white"
2063     x-data="initHeader()"
2064     @keydown.window.escape="searchOpen = false;"
2065     @private-content-loaded.window="getData(event.detail.data)"
2066>
2067    <div class="content flex flex-wrap items-center justify-between w-full pt-4 pb-4 mx-auto mt-0">
2068        <!--Logo-->
2069        <div class="logo relative z-20">
2070            <div class="order-1 sm:order-2 lg:order-1 w-full pb-2 sm:w-auto sm:pb-0">
2071    <a class="flex items-center text-xl font-medium tracking-wide text-gray-800
2072        no-underline hover:no-underline font-title"
2073       href="https://www.flooringinc.com/"
2074       title="Flooring&#x20;Inc.&#x20;The&#x20;Flooring&#x20;Superstore"
2075       aria-label="store logo">
2076        <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>
2077    </a>
2078</div>
2079        </div>
2080
2081        <!--Main Navigation-->
2082        <div x-data="initMenuMobile_6ab67d17cd4a9()"
2083     class="z-50 order-2 sm:order-1 lg:order-2 navigation xl:hidden"
2084>
2085    <!-- mobile -->    
2086    <div @load.window="setActiveMenu($root)"
2087         class="mobile-menu bg-lightblue"
2088         :class="{'h-screen fixed top-0 left-0 w-full' : open}"
2089         @toggle-mobile-menu.window="open = !open"
2090         @keydown.window.escape="open=false"
2091    >
2092        <div class="flex items-baseline justify-between ml-0 menu-icon">
2093            <div class="flex justify-end w-full">
2094                <a @click="$dispatch('toggle-mobile-menu')"
2095                       class="flex items-center justify-center cursor-pointer"
2096                       :class="{ 'ml-auto': open }">                       
2097                       <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>
2098                    <picture class="menu_icon -mt-0 mr-2 block"><source type="image/webp" srcset="https://www.flooringinc.com/static/version1789462004/frontend/Dcw/hyvadesktop/en_US/images/menu-icon.webp"><img class="menu_icon -mt-0 mr-2 block" :class="{ 'block' : !open, 'hidden': open }" src="https://www.flooringinc.com/static/version1789462004/frontend/Dcw/hyvadesktop/en_US/images/menu-icon.png" width="25" height="17" alt="menu-icon"></picture>
2099                </a>
2100            </div>
2101        </div>
2102        <div class="menu-overlay hidden" :class="{ 'hidden' : !open }" @click="$dispatch('toggle-mobile-menu')"></div>
2103        <nav
2104            class="hidden w-full h-full duration-150 ease-in-out transform transition-display pt-5 pr-5 pl-12"
2105            :class="{ 'hidden' : !open }"
2106        >
2107        <span class="menu-label text-size28 font-medium text-black pt-1 pb-4" :class="{ 'hidden' : !open, 'block': open }">Menu</span>
2108        <div class="nav-in overflow-y-auto overflow-x-hidden h-5/6">
2109                    <div class="level-0">               
2110                <span class="flex items-center transition-transform duration-150 ease-in-out transform mb-3">
2111                    <a class="flex items-center w-full cursor-pointer level-0 text-size24 font-medium text-black no-underline"
2112                                                    @click="mobilePanelActiveId =
2113                            mobilePanelActiveId === 'category-node-1826' ?
2114                            0 : 'category-node-1826'"
2115                                               title="Flooring&#x20;By&#x20;Category">
2116                        Flooring By Category                    </a>
2117                                        <a class="absolute right-0 cursor-pointer menu_arw1" :class="{
2118                        'active' : mobilePanelActiveId,
2119                        '' : !mobilePanelActiveId
2120                    }"
2121                          @click="mobilePanelActiveId =
2122                          mobilePanelActiveId === 'category-node-1826' ?
2123                           0 : 'category-node-1826'"
2124                    >
2125                        <picture><source type="image/webp" srcset="https://www.flooringinc.com/static/version1789462004/frontend/Dcw/hyvadesktop/en_US/images/menu-arw.webp"><img src="https://www.flooringinc.com/static/version1789462004/frontend/Dcw/hyvadesktop/en_US/images/menu-arw.png" width="17" height="10" alt="menu-arw"></picture>
2126                    </a>
2127                                    </span>
2128                                    <div
2129                        class="w-full h-full transition-transform duration-200 ease-in-out block transform"
2130                        :class="{
2131                            'block' : mobilePanelActiveId !== 'category-node-1826',
2132                            'hidden' : mobilePanelActiveId === 'category-node-1826',
2133                        }"
2134                    >
2135                                                    
2136                            <li class="imgcat list-none relative" x-data="{ show: false }" >
2137                            <a 
2138                                                            @click="show = !show"
2139                                                           title="Rubber&#x20;Flooring"
2140                               class="flex items-center w-full cursor-pointer text-size18 font-normal text-black mb-4 mob-width-adjust"
2141                            >
2142                                <span>
2143                                    Rubber Flooring                                </span>
2144                            </a>
2145                            
2146                                                            <picture class="absolute menu_arw"><source type="image/webp" srcset="https://www.flooringinc.com/static/version1789462004/frontend/Dcw/hyvadesktop/en_US/images/menu-arw.webp"><img src="https://www.flooringinc.com/static/version1789462004/frontend/Dcw/hyvadesktop/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>
2147                             <ul class="z-10 w-full" x-show="show"> 
2148                                                                    <li class="level-2">
2149                                        <a href="https://www.flooringinc.com/shop/rubber-flooring/all-rubber-flooring.html"
2150                                           title="All&#x20;Rubber&#x20;Flooring"
2151                                           class="level-2 pl-5 flex items-center w-full cursor-pointer text-size16 font-normal text-black mb-4">                                                                                                       
2152                                           All Rubber Flooring</a>
2153                                    </li>
2154                                                                                                        <li class="level-2">
2155                                        <a href="https://www.flooringinc.com/shop/rubber-flooring/rubber-rolls.html"
2156                                           title="Rubber&#x20;Flooring&#x20;Rolls"
2157                                           class="level-2 pl-5 flex items-center w-full cursor-pointer text-size16 font-normal text-black mb-4">                                                                                                       
2158                                           Rubber Flooring Rolls</a>
2159                                    </li>
2160                                                                                                        <li class="level-2">
2161                                        <a href="https://www.flooringinc.com/shop/rubber-flooring/rubber-tiles.html"
2162                                           title="Rubber&#x20;Floor&#x20;Tiles"
2163                                           class="level-2 pl-5 flex items-center w-full cursor-pointer text-size16 font-normal text-black mb-4">                                                                                                       
2164                                           Rubber Floor Tiles</a>
2165                                    </li>
2166                                                                                                        <li class="level-2">
2167                                        <a href="https://www.flooringinc.com/shop/rubber-flooring/rubber-mats.html"
2168                                           title="Rubber&#x20;Mats"
2169                                           class="level-2 pl-5 flex items-center w-full cursor-pointer text-size16 font-normal text-black mb-4">                                                                                                       
2170                                           Rubber Mats</a>
2171                                    </li>
2172                                                                                                        <li class="level-2">
2173                                        <a href="https://www.flooringinc.com/shop/rubber-flooring/playground-flooring.html"
2174                                           title="Playground&#x20;Flooring"
2175                                           class="level-2 pl-5 flex items-center w-full cursor-pointer text-size16 font-normal text-black mb-4">                                                                                                       
2176                                           Playground Flooring</a>
2177                                    </li>
2178                                                                                                        <li class="level-2">
2179                                        <a href="https://www.flooringinc.com/shop/rubber-flooring/outdoor-rubber-flooring.html"
2180                                           title="Outdoor&#x20;Rubber&#x20;Flooring"
2181                                           class="level-2 pl-5 flex items-center w-full cursor-pointer text-size16 font-normal text-black mb-4">                                                                                                       
2182                                           Outdoor Rubber Flooring</a>
2183                                    </li>
2184                                                                  </ul>
2185                                                                        <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>
2186                                             
2187                                                        
2188                                                    
2189                            <li class="imgcat list-none relative" x-data="{ show: false }" >
2190                            <a 
2191                                                            @click="show = !show"
2192                                                           title="Garage&#x20;Flooring"
2193                               class="flex items-center w-full cursor-pointer text-size18 font-normal text-black mb-4 mob-width-adjust"
2194                            >
2195                                <span>
2196                                    Garage Flooring                                </span>
2197                            </a>
2198                            
2199                                                            <picture class="absolute menu_arw"><source type="image/webp" srcset="https://www.flooringinc.com/static/version1789462004/frontend/Dcw/hyvadesktop/en_US/images/menu-arw.webp"><img src="https://www.flooringinc.com/static/version1789462004/frontend/Dcw/hyvadesktop/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>
2200                             <ul class="z-10 w-full" x-show="show"> 
2201                                                                    <li class="level-2">
2202                                        <a href="https://www.flooringinc.com/shop/garage-flooring/all-garage-flooring.html"
2203                                           title="All&#x20;Garage&#x20;Flooring"
2204                                           class="level-2 pl-5 flex items-center w-full cursor-pointer text-size16 font-normal text-black mb-4">                                                                                                       
2205                                           All Garage Flooring</a>
2206                                    </li>
2207                                                                                                        <li class="level-2">
2208                                        <a href="https://www.flooringinc.com/shop/garage-flooring/garage-rolls.html"
2209                                           title="Garage&#x20;Flooring&#x20;Rolls"
2210                                           class="level-2 pl-5 flex items-center w-full cursor-pointer text-size16 font-normal text-black mb-4">                                                                                                       
2211                                           Garage Flooring Rolls</a>
2212                                    </li>
2213                                                                                                        <li class="level-2">
2214                                        <a href="https://www.flooringinc.com/shop/garage-flooring/garage-tiles.html"
2215                                           title="Garage&#x20;Floor&#x20;Tiles"
2216                                           class="level-2 pl-5 flex items-center w-full cursor-pointer text-size16 font-normal text-black mb-4">                                                                                                       
2217                                           Garage Floor Tiles</a>
2218                                    </li>
2219                                                                                                        <li class="level-2">
2220                                        <a href="https://www.flooringinc.com/shop/garage-flooring/garage-gym-flooring.html"
2221                                           title="Garage&#x20;Gym&#x20;Flooring"
2222                                           class="level-2 pl-5 flex items-center w-full cursor-pointer text-size16 font-normal text-black mb-4">                                                                                                       
2223                                           Garage Gym Flooring</a>
2224                                    </li>
2225                                                                                                        <li class="level-2">
2226                                        <a href="https://www.flooringinc.com/shop/garage-flooring/coatings-epoxy.html"
2227                                           title="Garage&#x20;Floor&#x20;Epoxy"
2228                                           class="level-2 pl-5 flex items-center w-full cursor-pointer text-size16 font-normal text-black mb-4">                                                                                                       
2229                                           Garage Floor Epoxy</a>
2230                                    </li>
2231                                                                                                        <li class="level-2">
2232                                        <a href="https://www.flooringinc.com/shop/garage-flooring/trailer-flooring.html"
2233                                           title="Trailer&#x20;Flooring"
2234                                           class="level-2 pl-5 flex items-center w-full cursor-pointer text-size16 font-normal text-black mb-4">                                                                                                       
2235                                           Trailer Flooring</a>
2236                                    </li>
2237                                                                  </ul>
2238                                                                        <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>
2239                                             
2240                                                        
2241                                                    
2242                            <li class="imgcat list-none relative" x-data="{ show: false }" >
2243                            <a 
2244                                                            @click="show = !show"
2245                                                           title="Dance&#x20;Flooring"
2246                               class="flex items-center w-full cursor-pointer text-size18 font-normal text-black mb-4 mob-width-adjust"
2247                            >
2248                                <span>
2249                                    Dance Flooring                                </span>
2250                            </a>
2251                            
2252                                                            <picture class="absolute menu_arw"><source type="image/webp" srcset="https://www.flooringinc.com/static/version1789462004/frontend/Dcw/hyvadesktop/en_US/images/menu-arw.webp"><img src="https://www.flooringinc.com/static/version1789462004/frontend/Dcw/hyvadesktop/en_US/images/menu-arw.png" width="13" height="8" alt="menu-arw" @click="show = !show" class="absolute menu_arw" x-bind:class="show ? 'active' : ''"></picture>
2253                             <ul class="z-10 w-full" x-show="show"> 
2254                                                                    <li class="level-2">
2255                                        <a href="https://www.flooringinc.com/shop/dance-flooring/marley-flooring.html"
2256                                           title="Marley&#x20;Floor&#x20;Rolls"
2257                                           class="level-2 pl-5 flex items-center w-full cursor-pointer text-size16 font-normal text-black mb-4">                                                                                                       
2258                                           Marley Floor Rolls</a>
2259                                    </li>
2260                                                                                                        <li class="level-2">
2261                                        <a href="https://www.flooringinc.com/shop/dance-flooring/dance-floor-tiles.html"
2262                                           title="Dance&#x20;Floor&#x20;Tiles"
2263                                           class="level-2 pl-5 flex items-center w-full cursor-pointer text-size16 font-normal text-black mb-4">                                                                                                       
2264                                           Dance Floor Tiles</a>
2265                                    </li>
2266                                                                                                        <li class="level-2">
2267                                        <a href="https://www.flooringinc.com/shop/dance-flooring/portable-dance-floor-kits.html"
2268                                           title="Portable&#x20;Dance&#x20;Floors&#x20;&amp;&#x20;Kits"
2269                                           class="level-2 pl-5 flex items-center w-full cursor-pointer text-size16 font-normal text-black mb-4">                                                                                                       
2270                                           Portable Dance Floors &amp; Kits</a>
2271                                    </li>
2272                                                                                                        <li class="level-2">
2273                                        <a href="https://www.flooringinc.com/shop/dance-flooring/subflooring.html"
2274                                           title="Subflooring"
2275                                           class="level-2 pl-5 flex items-center w-full cursor-pointer text-size16 font-normal text-black mb-4">                                                                                                       
2276                                           Subflooring</a>
2277                                    </li>
2278                                                                                                        <li class="level-2">
2279                                        <a href="https://www.flooringinc.com/shop/dance-flooring/adhesives-cleaners-accessories.html"
2280                                           title="Adhesives,&#x20;Cleaners&#x20;&amp;&#x20;Accessories"
2281                                           class="level-2 pl-5 flex items-center w-full cursor-pointer text-size16 font-normal text-black mb-4">                                                                                                       
2282                                           Adhesives, Cleaners &amp; Accessories</a>
2283                                    </li>
2284                                                                                                        <li class="level-2">
2285                                        <a href="https://www.flooringinc.com/shop/dance-flooring/all-dance-flooring.html"
2286                                           title="All&#x20;Dance&#x20;Flooring"
2287                                           class="level-2 pl-5 flex items-center w-full cursor-pointer text-size16 font-normal text-black mb-4">                                                                                                       
2288                                           All Dance Flooring</a>
2289                                    </li>
2290                                                                  </ul>
2291                                                                        <a class="text-size16 font-normal text-black underline pl-5 mt-2 mb-6 inline-block" href="https://www.flooringinc.com/shop/dance-flooring.html" x-show="show">View All</a>
2292                                             
2293                                                        
2294                                                    
2295                            <li class="imgcat list-none relative" x-data="{ show: false }" >
2296                            <a 
2297                                                            @click="show = !show"
2298                                                           title="Foam&#x20;Flooring"
2299                               class="flex items-center w-full cursor-pointer text-size18 font-normal text-black mb-4 mob-width-adjust"
2300                            >
2301                                <span>
2302                                    Foam Flooring                                </span>
2303                            </a>
2304                            
2305                                                            <picture class="absolute menu_arw"><source type="image/webp" srcset="https://www.flooringinc.com/static/version1789462004/frontend/Dcw/hyvadesktop/en_US/images/menu-arw.webp"><img src="https://www.flooringinc.com/static/version1789462004/frontend/Dcw/hyvadesktop/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>
2306                             <ul class="z-10 w-full" x-show="show"> 
2307                                                                    <li class="level-2">
2308                                        <a href="https://www.flooringinc.com/shop/foam-flooring/foam-tiles.html"
2309                                           title="Foam&#x20;Floor&#x20;Tiles"
2310                                           class="level-2 pl-5 flex items-center w-full cursor-pointer text-size16 font-normal text-black mb-4">                                                                                                       
2311                                           Foam Floor Tiles</a>
2312                                    </li>
2313                                                                                                        <li class="level-2">
2314                                        <a href="https://www.flooringinc.com/shop/foam-flooring/kids-baby-play-mats.html"
2315                                           title="Kids&#x20;&amp;&#x20;Baby&#x20;Play&#x20;Mats"
2316                                           class="level-2 pl-5 flex items-center w-full cursor-pointer text-size16 font-normal text-black mb-4">                                                                                                       
2317                                           Kids &amp; Baby Play Mats</a>
2318                                    </li>
2319                                                                                                        <li class="level-2">
2320                                        <a href="https://www.flooringinc.com/shop/foam-flooring/gymnastic-folding-mats.html"
2321                                           title="Gymnastics&#x20;Mats&#x20;"
2322                                           class="level-2 pl-5 flex items-center w-full cursor-pointer text-size16 font-normal text-black mb-4">                                                                                                       
2323                                           Gymnastics Mats </a>
2324                                    </li>
2325                                                                                                        <li class="level-2">
2326                                        <a href="https://www.flooringinc.com/shop/foam-flooring/wrestling-mats.html"
2327                                           title="Wrestling&#x20;Mats"
2328                                           class="level-2 pl-5 flex items-center w-full cursor-pointer text-size16 font-normal text-black mb-4">                                                                                                       
2329                                           Wrestling Mats</a>
2330                                    </li>
2331                                                                                                        <li class="level-2">
2332                                        <a href="https://www.flooringinc.com/shop/foam-flooring/martial-arts-mats.html"
2333                                           title="Martial&#x20;Arts&#x20;Mats&#x20;"
2334                                           class="level-2 pl-5 flex items-center w-full cursor-pointer text-size16 font-normal text-black mb-4">                                                                                                       
2335                                           Martial Arts Mats </a>
2336                                    </li>
2337                                                                                                        <li class="level-2">
2338                                        <a href="https://www.flooringinc.com/shop/foam-flooring/trade-show-flooring.html"
2339                                           title="Trade&#x20;Show&#x20;Flooring"
2340                                           class="level-2 pl-5 flex items-center w-full cursor-pointer text-size16 font-normal text-black mb-4">                                                                                                       
2341                                           Trade Show Flooring</a>
2342                                    </li>
2343                                                                  </ul>
2344                                                                        <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>
2345                                             
2346                                                        
2347                                                    
2348                            <li class="imgcat list-none relative" x-data="{ show: false }" >
2349                            <a 
2350                                                            @click="show = !show"
2351                                                           title="Outdoor&#x20;Flooring"
2352                               class="flex items-center w-full cursor-pointer text-size18 font-normal text-black mb-4 mob-width-adjust"
2353                            >
2354                                <span>
2355                                    Outdoor Flooring                                </span>
2356                            </a>
2357                            
2358                                                            <picture class="absolute menu_arw"><source type="image/webp" srcset="https://www.flooringinc.com/static/version1789462004/frontend/Dcw/hyvadesktop/en_US/images/menu-arw.webp"><img src="https://www.flooringinc.com/static/version1789462004/frontend/Dcw/hyvadesktop/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>
2359                             <ul class="z-10 w-full" x-show="show"> 
2360                                                                    <li class="level-2">
2361                                        <a href="https://www.flooringinc.com/shop/outdoor-flooring/playground-flooring.html"
2362                                           title="Playground&#x20;Flooring"
2363                                           class="level-2 pl-5 flex items-center w-full cursor-pointer text-size16 font-normal text-black mb-4">                                                                                                       
2364                                           Playground Flooring</a>
2365                                    </li>
2366                                                                                                        <li class="level-2">
2367                                        <a href="https://www.flooringinc.com/shop/outdoor-flooring/sport-and-court-flooring.html"
2368                                           title="Sports&#x20;Flooring&#x20;&amp;&#x20;Court&#x20;Tiles"
2369                                           class="level-2 pl-5 flex items-center w-full cursor-pointer text-size16 font-normal text-black mb-4">                                                                                                       
2370                                           Sports Flooring &amp; Court Tiles</a>
2371                                    </li>
2372                                                                                                        <li class="level-2">
2373                                        <a href="https://www.flooringinc.com/shop/outdoor-flooring/artificial-grass.html"
2374                                           title="Turf&#x20;&amp;&#x20;Artificial&#x20;Grass"
2375                                           class="level-2 pl-5 flex items-center w-full cursor-pointer text-size16 font-normal text-black mb-4">                                                                                                       
2376                                           Turf &amp; Artificial Grass</a>
2377                                    </li>
2378                                                                                                        <li class="level-2">
2379                                        <a href="https://www.flooringinc.com/shop/outdoor-flooring/composite-decking.html"
2380                                           title="Composite&#x20;Decking"
2381                                           class="level-2 pl-5 flex items-center w-full cursor-pointer text-size16 font-normal text-black mb-4">                                                                                                       
2382                                           Composite Decking</a>
2383                                    </li>
2384                                                                                                        <li class="level-2">
2385                                        <a href="https://www.flooringinc.com/shop/outdoor-flooring/rooftop-deck-flooring.html"
2386                                           title="Rooftop&#x20;Deck&#x20;Flooring"
2387                                           class="level-2 pl-5 flex items-center w-full cursor-pointer text-size16 font-normal text-black mb-4">                                                                                                       
2388                                           Rooftop Deck Flooring</a>
2389                                    </li>
2390                                                                                                        <li class="level-2">
2391                                        <a href="https://www.flooringinc.com/shop/outdoor-flooring/drainage-tiles.html"
2392                                           title="Drainage&#x20;Tile&#x20;&amp;&#x20;Mats"
2393                                           class="level-2 pl-5 flex items-center w-full cursor-pointer text-size16 font-normal text-black mb-4">                                                                                                       
2394                                           Drainage Tile &amp; Mats</a>
2395                                    </li>
2396                                                                  </ul>
2397                                                                        <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>
2398                                             
2399                                                        
2400                                                    
2401                            <li class="imgcat list-none relative" x-data="{ show: false }" >
2402                            <a 
2403                                                            @click="show = !show"
2404                                                           title="Turf&#x20;&amp;&#x20;Artificial&#x20;Grass"
2405                               class="flex items-center w-full cursor-pointer text-size18 font-normal text-black mb-4 mob-width-adjust"
2406                            >
2407                                <span>
2408                                    Turf &amp; Artificial Grass                                </span>
2409                            </a>
2410                            
2411                                                            <picture class="absolute menu_arw"><source type="image/webp" srcset="https://www.flooringinc.com/static/version1789462004/frontend/Dcw/hyvadesktop/en_US/images/menu-arw.webp"><img src="https://www.flooringinc.com/static/version1789462004/frontend/Dcw/hyvadesktop/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>
2412                             <ul class="z-10 w-full" x-show="show"> 
2413                                                                    <li class="level-2">
2414                                        <a href="https://www.flooringinc.com/shop/artificial-grass/sport-field-turf.html"
2415                                           title="Sport&#x20;&amp;&#x20;Gym&#x20;Turf"
2416                                           class="level-2 pl-5 flex items-center w-full cursor-pointer text-size16 font-normal text-black mb-4">                                                                                                       
2417                                           Sport &amp; Gym Turf</a>
2418                                    </li>
2419                                                                                                        <li class="level-2">
2420                                        <a href="https://www.flooringinc.com/shop/artificial-grass/landscape-turf.html"
2421                                           title="Landscape&#x20;Turf"
2422                                           class="level-2 pl-5 flex items-center w-full cursor-pointer text-size16 font-normal text-black mb-4">                                                                                                       
2423                                           Landscape Turf</a>
2424                                    </li>
2425                                                                                                        <li class="level-2">
2426                                        <a href="https://www.flooringinc.com/shop/artificial-grass/pet-turf.html"
2427                                           title="Pet&#x20;Turf"
2428                                           class="level-2 pl-5 flex items-center w-full cursor-pointer text-size16 font-normal text-black mb-4">                                                                                                       
2429                                           Pet Turf</a>
2430                                    </li>
2431                                                                                                        <li class="level-2">
2432                                        <a href="https://www.flooringinc.com/shop/artificial-grass/putting-greens.html"
2433                                           title="Golf&#x20;&amp;&#x20;Putting&#x20;Green&#x20;Turf"
2434                                           class="level-2 pl-5 flex items-center w-full cursor-pointer text-size16 font-normal text-black mb-4">                                                                                                       
2435                                           Golf &amp; Putting Green Turf</a>
2436                                    </li>
2437                                                                                                        <li class="level-2">
2438                                        <a href="https://www.flooringinc.com/shop/artificial-grass/turf-accessories.html"
2439                                           title="Turf&#x20;Accessories"
2440                                           class="level-2 pl-5 flex items-center w-full cursor-pointer text-size16 font-normal text-black mb-4">                                                                                                       
2441                                           Turf Accessories</a>
2442                                    </li>
2443                                                                                                        <li class="level-2">
2444                                        <a href="https://www.flooringinc.com/shop/artificial-grass/all-artificial-grass.html"
2445                                           title="All&#x20;Turf&#x20;&amp;&#x20;Artificial&#x20;Grass"
2446                                           class="level-2 pl-5 flex items-center w-full cursor-pointer text-size16 font-normal text-black mb-4">                                                                                                       
2447                                           All Turf &amp; Artificial Grass</a>
2448                                    </li>
2449                                                                  </ul>
2450                                                                        <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>
2451                                             
2452                                                        
2453                                                    
2454                            <li class="imgcat list-none relative" x-data="{ show: false }" >
2455                            <a 
2456                                                            @click="show = !show"
2457                                                           title="Carpet&#x20;Tiles&#x20;&amp;&#x20;Rolls"
2458                               class="flex items-center w-full cursor-pointer text-size18 font-normal text-black mb-4 mob-width-adjust"
2459                            >
2460                                <span>
2461                                    Carpet Tiles &amp; Rolls                                </span>
2462                            </a>
2463                            
2464                                                            <picture class="absolute menu_arw"><source type="image/webp" srcset="https://www.flooringinc.com/static/version1789462004/frontend/Dcw/hyvadesktop/en_US/images/menu-arw.webp"><img src="https://www.flooringinc.com/static/version1789462004/frontend/Dcw/hyvadesktop/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>
2465                             <ul class="z-10 w-full" x-show="show"> 
2466                                                                    <li class="level-2">
2467                                        <a href="https://www.flooringinc.com/shop/carpet/carpet-tiles.html"
2468                                           title="Carpet&#x20;Tiles"
2469                                           class="level-2 pl-5 flex items-center w-full cursor-pointer text-size16 font-normal text-black mb-4">                                                                                                       
2470                                           Carpet Tiles</a>
2471                                    </li>
2472                                                                                                        <li class="level-2">
2473                                        <a href="https://www.flooringinc.com/shop/carpet/carpet-rolls.html"
2474                                           title="Carpet&#x20;Rolls"
2475                                           class="level-2 pl-5 flex items-center w-full cursor-pointer text-size16 font-normal text-black mb-4">                                                                                                       
2476                                           Carpet Rolls</a>
2477                                    </li>
2478                                                                                                        <li class="level-2">
2479                                        <a href="https://www.flooringinc.com/shop/carpet/home-theater-carpet.html"
2480                                           title="Home&#x20;Theater&#x20;Carpet"
2481                                           class="level-2 pl-5 flex items-center w-full cursor-pointer text-size16 font-normal text-black mb-4">                                                                                                       
2482                                           Home Theater Carpet</a>
2483                                    </li>
2484                                                                                                        <li class="level-2">
2485                                        <a href="https://www.flooringinc.com/shop/carpet/peel-stick-carpet.html"
2486                                           title="Peel&#x20;and&#x20;Stick&#x20;Carpet&#x20;Tiles"
2487                                           class="level-2 pl-5 flex items-center w-full cursor-pointer text-size16 font-normal text-black mb-4">                                                                                                       
2488                                           Peel and Stick Carpet Tiles</a>
2489                                    </li>
2490                                                                                                        <li class="level-2">
2491                                        <a href="https://www.flooringinc.com/shop/carpet/outdoor-carpet.html"
2492                                           title="Outdoor&#x20;Carpet"
2493                                           class="level-2 pl-5 flex items-center w-full cursor-pointer text-size16 font-normal text-black mb-4">                                                                                                       
2494                                           Outdoor Carpet</a>
2495                                    </li>
2496                                                                                                        <li class="level-2">
2497                                        <a href="https://www.flooringinc.com/shop/carpet/waterproof-carpet.html"
2498                                           title="Waterproof&#x20;Carpet"
2499                                           class="level-2 pl-5 flex items-center w-full cursor-pointer text-size16 font-normal text-black mb-4">                                                                                                       
2500                                           Waterproof Carpet</a>
2501                                    </li>
2502                                                                  </ul>
2503                                                                        <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>
2504                                             
2505                                                        
2506                                                    
2507                            <li class="imgcat list-none relative" x-data="{ show: false }" >
2508                            <a 
2509                                                            @click="show = !show"
2510                                                           title="Vinyl&#x20;Flooring"
2511                               class="flex items-center w-full cursor-pointer text-size18 font-normal text-black mb-4 mob-width-adjust"
2512                            >
2513                                <span>
2514                                    Vinyl Flooring                                </span>
2515                            </a>
2516                            
2517                                                            <picture class="absolute menu_arw"><source type="image/webp" srcset="https://www.flooringinc.com/static/version1789462004/frontend/Dcw/hyvadesktop/en_US/images/menu-arw.webp"><img src="https://www.flooringinc.com/static/version1789462004/frontend/Dcw/hyvadesktop/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>
2518                             <ul class="z-10 w-full" x-show="show"> 
2519                                                                    <li class="level-2">
2520                                        <a href="https://www.flooringinc.com/shop/vinyl/vinyl-sheet.html"
2521                                           title="Vinyl&#x20;Sheet&#x20;Flooring"
2522                                           class="level-2 pl-5 flex items-center w-full cursor-pointer text-size16 font-normal text-black mb-4">                                                                                                       
2523                                           Vinyl Sheet Flooring</a>
2524                                    </li>
2525                                                                                                        <li class="level-2">
2526                                        <a href="https://www.flooringinc.com/shop/vinyl/vinyl-tiles-planks.html"
2527                                           title="Vinyl&#x20;Tiles&#x20;&amp;&#x20;Planks"
2528                                           class="level-2 pl-5 flex items-center w-full cursor-pointer text-size16 font-normal text-black mb-4">                                                                                                       
2529                                           Vinyl Tiles &amp; Planks</a>
2530                                    </li>
2531                                                                                                        <li class="level-2">
2532                                        <a href="https://www.flooringinc.com/shop/vinyl/waterproof-vinyl.html"
2533                                           title="Waterproof&#x20;Vinyl&#x20;Flooring"
2534                                           class="level-2 pl-5 flex items-center w-full cursor-pointer text-size16 font-normal text-black mb-4">                                                                                                       
2535                                           Waterproof Vinyl Flooring</a>
2536                                    </li>
2537                                                                                                        <li class="level-2">
2538                                        <a href="https://www.flooringinc.com/shop/vinyl/rigid-core-vinyl.html"
2539                                           title="Rigid&#x20;Core&#x20;Vinyl&#x20;Flooring"
2540                                           class="level-2 pl-5 flex items-center w-full cursor-pointer text-size16 font-normal text-black mb-4">                                                                                                       
2541                                           Rigid Core Vinyl Flooring</a>
2542                                    </li>
2543                                                                                                        <li class="level-2">
2544                                        <a href="https://www.flooringinc.com/shop/vinyl/commercial-vinyl.html"
2545                                           title="Commercial&#x20;Vinyl&#x20;Flooring"
2546                                           class="level-2 pl-5 flex items-center w-full cursor-pointer text-size16 font-normal text-black mb-4">                                                                                                       
2547                                           Commercial Vinyl Flooring</a>
2548                                    </li>
2549                                                                                                  </ul>
2550                             
2551                                                        
2552                                                    
2553                            <li class="imgcat list-none relative" x-data="{ show: false }" >
2554                            <a 
2555                                                            @click="show = !show"
2556                                                           title="Wood&#x20;&amp;&#x20;Laminate&#x20;Flooring"
2557                               class="flex items-center w-full cursor-pointer text-size18 font-normal text-black mb-4 mob-width-adjust"
2558                            >
2559                                <span>
2560                                    Wood &amp; Laminate Flooring                                </span>
2561                            </a>
2562                            
2563                                                            <picture class="absolute menu_arw"><source type="image/webp" srcset="https://www.flooringinc.com/static/version1789462004/frontend/Dcw/hyvadesktop/en_US/images/menu-arw.webp"><img src="https://www.flooringinc.com/static/version1789462004/frontend/Dcw/hyvadesktop/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>
2564                             <ul class="z-10 w-full" x-show="show"> 
2565                                                                    <li class="level-2">
2566                                        <a href="https://www.flooringinc.com/shop/wood-laminate/waterproof-laminate.html"
2567                                           title="Waterproof&#x20;Laminate&#x20;Flooring"
2568                                           class="level-2 pl-5 flex items-center w-full cursor-pointer text-size16 font-normal text-black mb-4">                                                                                                       
2569                                           Waterproof Laminate Flooring</a>
2570                                    </li>
2571                                                                                                        <li class="level-2">
2572                                        <a href="https://www.flooringinc.com/shop/wood-laminate/laminate.html"
2573                                           title="Laminate&#x20;Flooring"
2574                                           class="level-2 pl-5 flex items-center w-full cursor-pointer text-size16 font-normal text-black mb-4">                                                                                                       
2575                                           Laminate Flooring</a>
2576                                    </li>
2577                                                                                                        <li class="level-2">
2578                                        <a href="https://www.flooringinc.com/shop/wood-laminate/hardwood.html"
2579                                           title="Engineered&#x20;Hardwood&#x20;Flooring"
2580                                           class="level-2 pl-5 flex items-center w-full cursor-pointer text-size16 font-normal text-black mb-4">                                                                                                       
2581                                           Engineered Hardwood Flooring</a>
2582                                    </li>
2583                                                                                                        <li class="level-2">
2584                                        <a href="https://www.flooringinc.com/shop/wood-laminate/oak.html"
2585                                           title="Oak&#x20;Wood&#x20;Flooring"
2586                                           class="level-2 pl-5 flex items-center w-full cursor-pointer text-size16 font-normal text-black mb-4">                                                                                                       
2587                                           Oak Wood Flooring</a>
2588                                    </li>
2589                                                                                                        <li class="level-2">
2590                                        <a href="https://www.flooringinc.com/shop/wood-laminate/commercial-wood-laminate.html"
2591                                           title="Commercial&#x20;Wood&#x20;&amp;&#x20;Laminate"
2592                                           class="level-2 pl-5 flex items-center w-full cursor-pointer text-size16 font-normal text-black mb-4">                                                                                                       
2593                                           Commercial Wood &amp; Laminate</a>
2594                                    </li>
2595                                                                                                  </ul>
2596                             
2597                                                        
2598                                                    
2599                            <li class="imgcat list-none relative" x-data="{ show: false }" >
2600                            <a 
2601                                                            @click="show = !show"
2602                                                           title="Commercial&#x20;Flooring"
2603                               class="flex items-center w-full cursor-pointer text-size18 font-normal text-black mb-4 mob-width-adjust"
2604                            >
2605                                <span>
2606                                    Commercial Flooring                                </span>
2607                            </a>
2608                            
2609                                                            <picture class="absolute menu_arw"><source type="image/webp" srcset="https://www.flooringinc.com/static/version1789462004/frontend/Dcw/hyvadesktop/en_US/images/menu-arw.webp"><img src="https://www.flooringinc.com/static/version1789462004/frontend/Dcw/hyvadesktop/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>
2610                             <ul class="z-10 w-full" x-show="show"> 
2611                                                                    <li class="level-2">
2612                                        <a href="https://www.flooringinc.com/shop/commercial-flooring/commercial-rubber-flooring.html"
2613                                           title="Commercial&#x20;Rubber&#x20;Flooring"
2614                                           class="level-2 pl-5 flex items-center w-full cursor-pointer text-size16 font-normal text-black mb-4">                                                                                                       
2615                                           Commercial Rubber Flooring</a>
2616                                    </li>
2617                                                                                                        <li class="level-2">
2618                                        <a href="https://www.flooringinc.com/shop/commercial-flooring/commercial-garage-flooring.html"
2619                                           title="Commercial&#x20;Garage&#x20;Flooring"
2620                                           class="level-2 pl-5 flex items-center w-full cursor-pointer text-size16 font-normal text-black mb-4">                                                                                                       
2621                                           Commercial Garage Flooring</a>
2622                                    </li>
2623                                                                                                        <li class="level-2">
2624                                        <a href="https://www.flooringinc.com/shop/commercial-flooring/commercial-carpet.html"
2625                                           title="Commercial&#x20;Carpet&#x20;Tiles"
2626                                           class="level-2 pl-5 flex items-center w-full cursor-pointer text-size16 font-normal text-black mb-4">                                                                                                       
2627                                           Commercial Carpet Tiles</a>
2628                                    </li>
2629                                                                                                        <li class="level-2">
2630                                        <a href="https://www.flooringinc.com/shop/commercial-flooring/commercial-vinyl.html"
2631                                           title="Commercial&#x20;Vinyl&#x20;Flooring"
2632                                           class="level-2 pl-5 flex items-center w-full cursor-pointer text-size16 font-normal text-black mb-4">                                                                                                       
2633                                           Commercial Vinyl Flooring</a>
2634                                    </li>
2635                                                                                                        <li class="level-2">
2636                                        <a href="https://www.flooringinc.com/shop/commercial-flooring/commercial-wood-laminate.html"
2637                                           title="Commercial&#x20;Wood&#x20;&amp;&#x20;Laminate&#x20;Flooring"
2638                                           class="level-2 pl-5 flex items-center w-full cursor-pointer text-size16 font-normal text-black mb-4">                                                                                                       
2639                                           Commercial Wood &amp; Laminate Flooring</a>
2640                                    </li>
2641                                                                                                        <li class="level-2">
2642                                        <a href="https://www.flooringinc.com/shop/commercial-flooring/gym-floor-covers-protection.html"
2643                                           title="Gym&#x20;Floor&#x20;Covers&#x20;&#x7C;&#x20;Floor&#x20;Protection"
2644                                           class="level-2 pl-5 flex items-center w-full cursor-pointer text-size16 font-normal text-black mb-4">                                                                                                       
2645                                           Gym Floor Covers | Floor Protection</a>
2646                                    </li>
2647                                                                  </ul>
2648                                                                        <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>
2649                                             
2650                                                        
2651                                                    
2652                            <li class="imgcat list-none relative" x-data="{ show: false }" >
2653                            <a 
2654                                                            @click="show = !show"
2655                                                           title="Floors&#x20;by&#x20;Activity"
2656                               class="flex items-center w-full cursor-pointer text-size18 font-normal text-black mb-4 mob-width-adjust"
2657                            >
2658                                <span>
2659                                    Floors by Activity                                </span>
2660                            </a>
2661                            
2662                                                            <picture class="absolute menu_arw"><source type="image/webp" srcset="https://www.flooringinc.com/static/version1789462004/frontend/Dcw/hyvadesktop/en_US/images/menu-arw.webp"><img src="https://www.flooringinc.com/static/version1789462004/frontend/Dcw/hyvadesktop/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>
2663                             <ul class="z-10 w-full" x-show="show"> 
2664                                                                    <li class="level-2">
2665                                        <a href="https://www.flooringinc.com/shop/shop-by-activity/fitness-flooring.html"
2666                                           title="Fitness&#x20;Flooring"
2667                                           class="level-2 pl-5 flex items-center w-full cursor-pointer text-size16 font-normal text-black mb-4">                                                                                                       
2668                                           Fitness Flooring</a>
2669                                    </li>
2670                                                                                                        <li class="level-2">
2671                                        <a href="https://www.flooringinc.com/shop/shop-by-activity/dance-marley-flooring.html"
2672                                           title="Dance&#x20;Flooring&#x20;&#x7C;&#x20;Marley&#x20;Floor"
2673                                           class="level-2 pl-5 flex items-center w-full cursor-pointer text-size16 font-normal text-black mb-4">                                                                                                       
2674                                           Dance Flooring | Marley Floor</a>
2675                                    </li>
2676                                                                                                        <li class="level-2">
2677                                        <a href="https://www.flooringinc.com/shop/shop-by-activity/sport-and-court-flooring.html"
2678                                           title="Sport&#x20;&amp;&#x20;Court&#x20;Flooring"
2679                                           class="level-2 pl-5 flex items-center w-full cursor-pointer text-size16 font-normal text-black mb-4">                                                                                                       
2680                                           Sport &amp; Court Flooring</a>
2681                                    </li>
2682                                                                                                        <li class="level-2">
2683                                        <a href="https://www.flooringinc.com/shop/shop-by-activity/martial-arts-flooring.html"
2684                                           title="Martial&#x20;Arts&#x20;Mats&#x20;"
2685                                           class="level-2 pl-5 flex items-center w-full cursor-pointer text-size16 font-normal text-black mb-4">                                                                                                       
2686                                           Martial Arts Mats </a>
2687                                    </li>
2688                                                                                                        <li class="level-2">
2689                                        <a href="https://www.flooringinc.com/shop/shop-by-activity/cheer-mats.html"
2690                                           title="Cheer&#x20;Mats"
2691                                           class="level-2 pl-5 flex items-center w-full cursor-pointer text-size16 font-normal text-black mb-4">                                                                                                       
2692                                           Cheer Mats</a>
2693                                    </li>
2694                                                                                                        <li class="level-2">
2695                                        <a href="https://www.flooringinc.com/shop/shop-by-activity/wrestling-mats.html"
2696                                           title="Wrestling&#x20;Mats"
2697                                           class="level-2 pl-5 flex items-center w-full cursor-pointer text-size16 font-normal text-black mb-4">                                                                                                       
2698                                           Wrestling Mats</a>
2699                                    </li>
2700                                                                  </ul>
2701                                                                        <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>
2702                                             
2703                                                        
2704                                                    
2705                            <li class="imgcat list-none relative" x-data="{ show: false }" >
2706                            <a 
2707                                                            @click="show = !show"
2708                                                           title="Floors&#x20;by&#x20;Space"
2709                               class="flex items-center w-full cursor-pointer text-size18 font-normal text-black mb-4 mob-width-adjust"
2710                            >
2711                                <span>
2712                                    Floors by Space                                </span>
2713                            </a>
2714                            
2715                                                            <picture class="absolute menu_arw"><source type="image/webp" srcset="https://www.flooringinc.com/static/version1789462004/frontend/Dcw/hyvadesktop/en_US/images/menu-arw.webp"><img src="https://www.flooringinc.com/static/version1789462004/frontend/Dcw/hyvadesktop/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>
2716                             <ul class="z-10 w-full" x-show="show"> 
2717                                                                    <li class="level-2">
2718                                        <a href="https://www.flooringinc.com/shop/shop-by-space/kitchen-flooring.html"
2719                                           title="Kitchen&#x20;Flooring"
2720                                           class="level-2 pl-5 flex items-center w-full cursor-pointer text-size16 font-normal text-black mb-4">                                                                                                       
2721                                           Kitchen Flooring</a>
2722                                    </li>
2723                                                                                                        <li class="level-2">
2724                                        <a href="https://www.flooringinc.com/shop/shop-by-space/bathroom-flooring.html"
2725                                           title="Bathroom&#x20;Flooring"
2726                                           class="level-2 pl-5 flex items-center w-full cursor-pointer text-size16 font-normal text-black mb-4">                                                                                                       
2727                                           Bathroom Flooring</a>
2728                                    </li>
2729                                                                                                        <li class="level-2">
2730                                        <a href="https://www.flooringinc.com/shop/shop-by-space/commercial-flooring.html"
2731                                           title="Commercial&#x20;Flooring"
2732                                           class="level-2 pl-5 flex items-center w-full cursor-pointer text-size16 font-normal text-black mb-4">                                                                                                       
2733                                           Commercial Flooring</a>
2734                                    </li>
2735                                                                                                        <li class="level-2">
2736                                        <a href="https://www.flooringinc.com/shop/shop-by-space/gym-flooring.html"
2737                                           title="Gym&#x20;Flooring"
2738                                           class="level-2 pl-5 flex items-center w-full cursor-pointer text-size16 font-normal text-black mb-4">                                                                                                       
2739                                           Gym Flooring</a>
2740                                    </li>
2741                                                                                                        <li class="level-2">
2742                                        <a href="https://www.flooringinc.com/shop/shop-by-space/garage-flooring.html"
2743                                           title="Garage&#x20;Flooring"
2744                                           class="level-2 pl-5 flex items-center w-full cursor-pointer text-size16 font-normal text-black mb-4">                                                                                                       
2745                                           Garage Flooring</a>
2746                                    </li>
2747                                                                                                        <li class="level-2">
2748                                        <a href="https://www.flooringinc.com/shop/shop-by-space/outdoor-flooring.html"
2749                                           title="Outdoor&#x20;Flooring"
2750                                           class="level-2 pl-5 flex items-center w-full cursor-pointer text-size16 font-normal text-black mb-4">                                                                                                       
2751                                           Outdoor Flooring</a>
2752                                    </li>
2753                                                                  </ul>
2754                                                                        <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>
2755                                             
2756                                                        
2757                                                    
2758                            <li class="imgcat list-none relative" x-data="{ show: false }" >
2759                            <a 
2760                                                            @click="show = !show"
2761                                                           title="Underlayment&#x20;&amp;&#x20;Flooring&#x20;Accessories"
2762                               class="flex items-center w-full cursor-pointer text-size18 font-normal text-black mb-4 mob-width-adjust"
2763                            >
2764                                <span>
2765                                    Underlayment &amp; Flooring Accessories                                </span>
2766                            </a>
2767                            
2768                                                            <picture class="absolute menu_arw"><source type="image/webp" srcset="https://www.flooringinc.com/static/version1789462004/frontend/Dcw/hyvadesktop/en_US/images/menu-arw.webp"><img src="https://www.flooringinc.com/static/version1789462004/frontend/Dcw/hyvadesktop/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>
2769                             <ul class="z-10 w-full" x-show="show"> 
2770                                                                    <li class="level-2">
2771                                        <a href="https://www.flooringinc.com/shop/installation-care/adhesives-glue.html"
2772                                           title="Flooring&#x20;Adhesives&#x20;&amp;&#x20;Glue"
2773                                           class="level-2 pl-5 flex items-center w-full cursor-pointer text-size16 font-normal text-black mb-4">                                                                                                       
2774                                           Flooring Adhesives &amp; Glue</a>
2775                                    </li>
2776                                                                                                        <li class="level-2">
2777                                        <a href="https://www.flooringinc.com/shop/installation-care/tape.html"
2778                                           title="Floor&#x20;and&#x20;Mat&#x20;Tape"
2779                                           class="level-2 pl-5 flex items-center w-full cursor-pointer text-size16 font-normal text-black mb-4">                                                                                                       
2780                                           Floor and Mat Tape</a>
2781                                    </li>
2782                                                                                                        <li class="level-2">
2783                                        <a href="https://www.flooringinc.com/shop/installation-care/accessories.html"
2784                                           title="Installation&#x20;Accessories"
2785                                           class="level-2 pl-5 flex items-center w-full cursor-pointer text-size16 font-normal text-black mb-4">                                                                                                       
2786                                           Installation Accessories</a>
2787                                    </li>
2788                                                                                                        <li class="level-2">
2789                                        <a href="https://www.flooringinc.com/shop/installation-care/trims-moldings.html"
2790                                           title="Floor&#x20;Trims&#x20;&amp;&#x20;Moldings"
2791                                           class="level-2 pl-5 flex items-center w-full cursor-pointer text-size16 font-normal text-black mb-4">                                                                                                       
2792                                           Floor Trims &amp; Moldings</a>
2793                                    </li>
2794                                                                                                        <li class="level-2">
2795                                        <a href="https://www.flooringinc.com/shop/installation-care/underlayment.html"
2796                                           title="Flooring&#x20;Underlayment"
2797                                           class="level-2 pl-5 flex items-center w-full cursor-pointer text-size16 font-normal text-black mb-4">                                                                                                       
2798                                           Flooring Underlayment</a>
2799                                    </li>
2800                                                                                                        <li class="level-2">
2801                                        <a href="https://www.flooringinc.com/shop/installation-care/cleaners.html"
2802                                           title="Flooring&#x20;Cleaners"
2803                                           class="level-2 pl-5 flex items-center w-full cursor-pointer text-size16 font-normal text-black mb-4">                                                                                                       
2804                                           Flooring Cleaners</a>
2805                                    </li>
2806                                                                  </ul>
2807                                                                        <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>
2808                                             
2809                                                        
2810                                                    
2811                            <li class="imgcat list-none relative" x-data="{ show: false }" >
2812                            <a 
2813                                                            @click="show = !show"
2814                                                           title="Specials"
2815                               class="flex items-center w-full cursor-pointer text-size18 font-normal text-black mb-4 mob-width-adjust"
2816                            >
2817                                <span>
2818                                    Specials                                </span>
2819                            </a>
2820                            
2821                                                            <picture class="absolute menu_arw"><source type="image/webp" srcset="https://www.flooringinc.com/static/version1789462004/frontend/Dcw/hyvadesktop/en_US/images/menu-arw.webp"><img src="https://www.flooringinc.com/static/version1789462004/frontend/Dcw/hyvadesktop/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>
2822                             <ul class="z-10 w-full" x-show="show"> 
2823                                                                    <li class="level-2">
2824                                        <a href="https://www.flooringinc.com/shop/specials/hot-buys.html"
2825                                           title="Flooring&#x20;Deals"
2826                                           class="level-2 pl-5 flex items-center w-full cursor-pointer text-size16 font-normal text-black mb-4">                                                                                                       
2827                                           Flooring Deals</a>
2828                                    </li>
2829                                                                                                        <li class="level-2">
2830                                        <a href="https://www.flooringinc.com/shop/specials/made-in-usa.html"
2831                                           title="American&#x20;Made"
2832                                           class="level-2 pl-5 flex items-center w-full cursor-pointer text-size16 font-normal text-black mb-4">                                                                                                       
2833                                           American Made</a>
2834                                    </li>
2835                                                                                                        <li class="level-2">
2836                                        <a href="https://www.flooringinc.com/shop/specials/quick-ship.html"
2837                                           title="Quick&#x20;Ship"
2838                                           class="level-2 pl-5 flex items-center w-full cursor-pointer text-size16 font-normal text-black mb-4">                                                                                                       
2839                                           Quick Ship</a>
2840                                    </li>
2841                                                                                                        <li class="level-2">
2842                                        <a href="https://www.flooringinc.com/shop/specials/new-arrivals.html"
2843                                           title="New&#x20;Arrivals"
2844                                           class="level-2 pl-5 flex items-center w-full cursor-pointer text-size16 font-normal text-black mb-4">                                                                                                       
2845                                           New Arrivals</a>
2846                                    </li>
2847                                                                                                  </ul>
2848                             
2849                                                        
2850                                            </div>
2851                
2852                
2853            </div>
2854                <div class="menu_static_links">
2855            <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>
2856<li><a tabindex="0" href="/shop-by-category/specials/hot-buys.html">Sale</a></li>
2857<li><a tabindex="0" href="/blog">Get Inspired &amp; How To</a></li>
2858</ul></div></div></div>        </div>
2859    </div>
2860        </nav>
2861    </div>
2862</div>
2863<script>
2864    'use strict';
2865
2866    const initMenuMobile_6ab67d17cd4a9 = () => {
2867        return {
2868            mobilePanelActiveId: null,
2869            open: false,
2870            setActiveMenu(menuNode) {
2871                Array.from(menuNode.querySelectorAll('a')).filter(link => {
2872                    return link.href === window.location.href.split('?')[0];
2873                }).map(item => {
2874                    item.classList.add('underline');
2875                    item.closest('div.level-0') &&
2876                    item.closest('div.level-0').querySelector('a.level-0').classList.add('underline');
2877                });
2878            }
2879        }
2880    }    
2881
2882    window.addEventListener("scroll", function() {
2883        successMsgSticky2();
2884    });
2885
2886    // sticky header
2887    function successMsgSticky2() {
2888        if (window.innerWidth < 767) {
2889            var headerHeight = document.querySelector('.page-header .panel.wrapper').offsetHeight;
2890            var headerMainHeight = document.getElementById('header').offsetHeight;
2891            var scrollTop = window.scrollY;
2892
2893            if (scrollTop >= headerHeight) {
2894                document.body.classList.add('scroll-reached-hHgt');
2895                document.body.style.paddingTop = headerMainHeight + 'px';
2896            } else {
2897                document.body.classList.remove('scroll-reached-hHgt');
2898                document.body.style.paddingTop = '0';
2899            }
2900        }
2901    }
2902
2903    window.addEventListener("load", function() {
2904        successMsgSticky2();
2905    });
2906</script>
2906
2907<div x-data="initMenuDesktop_6ab67d17d86df()"
2908    class="z-20 order-2 sm:order-1 lg:order-2 navigation hidden xl:flex desktop__menu"
2909>
2910    <!-- desktop -->
2911    <div @load.window="setActiveMenu($root)"
2912        class="justify-between items-center mx-auto w-full max-w-7xl pl-2"
2913    >
2914        <nav
2915                class="flex flex-wrap"
2916        >
2917                                                            <div class="level-0 flex py-2 items-center border-transparent transition transition-colors duration-500 group megamenu_items" :class="{ 'block' : open}"
2918                    @mouseover.stop="hoverTopPosition = $event.currentTarget.offsetTop + $event.currentTarget.getBoundingClientRect().height"
2919                    @mouseenter="desktopMegaMenuShow = true" @mouseleave="desktopMegaMenuShow = false"
2920                    x-data="{ desktopMegaMenuShow: false }"
2921                >
2922                    <!-- <a href="https://www.flooringinc.com/shop.html" -->
2923                    <a 
2924                                        @focus="hoverTopPosition = $event.currentTarget.parentNode.offsetTop + $event.currentTarget.parentNode.getBoundingClientRect().height"
2925                    title="Flooring&#x20;By&#x20;Category"
2926                    class="level-0 block p-2 text-base font-medium text-black whitespace-nowrap cursor-pointer megamenu_items_link">
2927                        <span>Flooring By Category</span>
2928                                                    <span class="inline items-center releat">
2929                                <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">
2930  <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"/>
2931<title>chevron-down</title></svg>
2932                            </span>
2933                                            </a>
2934                                            <template x-if="desktopMegaMenuShow">
2935                        <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"
2936                            style="display:none;"
2937                            :style="`margin-top: 0; top: ${hoverTopPosition}px;`"
2938                        >
2939                            <div class="flex justify-between mt-0 mb-0 sub-megamenu">
2940                                                                <div class="mx-auto w-full">
2941                                    <ul class="grid flex-1 w-full gap-y-0 gap-x-0 py-4 px-5 relative">
2942                                                                                                                            
2943                                            <li :class="{ 'active': show }" class="level-1 level1 display-first"  x-data="{ show: true }"  
2944                                                                                        x-on:click="show = true; removeDisplayFirst()" @click.away="show = false"
2945                                                                                        >
2946                                                <a 
2947                                                title="Rubber&#x20;Flooring"
2948                                                class="level-1 w-1/4 py-1/5 px-6 text-size13 block text-sm rounded text-darkblack relative"
2949                                                
2950                                                    >
2951                                                    Rubber Flooring
2952                                                                                                            <span class="inline items-center rotate-180 absolute">
2953                                                            <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">
2954  <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"/>
2955<title>chevron-down</title></svg>
2956                                                        </span>
2957                                                                                                    </a>
2958                                                 
2959                                <div class="2xl:block w-1/4 mega-menu-rightBlock absolute top-0 right-0" x-show="show">
2960                                    <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>
2961                                
2962                                                <ul class="z-10 w-1/2 absolute top-0 level2 flex flex-wrap pt-3 megamenu-extrablock" x-show="show">
2963                                                    <span class="block w-full text-size28 font-medium no-underline text-darkblack pb-2">Rubber Flooring</span>
2964
2965                                                                                                            <li class="level-2 w-4/12 pr-6 pb-6">
2966                                                            <a href="https://www.flooringinc.com/shop/rubber-flooring/all-rubber-flooring.html"
2967                                                            title="All&#x20;Rubber&#x20;Flooring"
2968                                                            class="level-2 block">
2969                                                                                                                                <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>   
2970                                                                                                                                                                                        
2971                                                            <span class="block text-sm font-medium no-underline text-darkblack pr-4">All Rubber Flooring</span></a>
2972                                                        </li>
2973                                                           
2974                                                                                                                                                                    <li class="level-2 w-4/12 pr-6 pb-6">
2975                                                            <a href="https://www.flooringinc.com/shop/rubber-flooring/rubber-rolls.html"
2976                                                            title="Rubber&#x20;Flooring&#x20;Rolls"
2977                                                            class="level-2 block">
2978                                                                                                                                <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>   
2979                                                                                                                                                                                        
2980                                                            <span class="block text-sm font-medium no-underline text-darkblack pr-4">Rubber Flooring Rolls</span></a>
2981                                                        </li>
2982                                                           
2983                                                                                                                                                                    <li class="level-2 w-4/12 pr-6 pb-6">
2984                                                            <a href="https://www.flooringinc.com/shop/rubber-flooring/rubber-tiles.html"
2985                                                            title="Rubber&#x20;Floor&#x20;Tiles"
2986                                                            class="level-2 block">
2987                                                                                                                                <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>   
2988                                                                                                                                                                                        
2989                                                            <span class="block text-sm font-medium no-underline text-darkblack pr-4">Rubber Floor Tiles</span></a>
2990                                                        </li>
2991                                                           
2992                                                                                                                                                                    <li class="level-2 w-4/12 pr-6 pb-6">
2993                                                            <a href="https://www.flooringinc.com/shop/rubber-flooring/rubber-mats.html"
2994                                                            title="Rubber&#x20;Mats"
2995                                                            class="level-2 block">
2996                                                                                                                                <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>   
2997                                                                                                                                                                                        
2998                                                            <span class="block text-sm font-medium no-underline text-darkblack pr-4">Rubber Mats</span></a>
2999                                                        </li>
3000                                                           
3001                                                                                                                                                                    <li class="level-2 w-4/12 pr-6 pb-6">
3002                                                            <a href="https://www.flooringinc.com/shop/rubber-flooring/playground-flooring.html"
3003                                                            title="Playground&#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/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>   
3006                                                                                                                                                                                        
3007                                                            <span class="block text-sm font-medium no-underline text-darkblack pr-4">Playground 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/outdoor-rubber-flooring.html"
3012                                                            title="Outdoor&#x20;Rubber&#x20;Flooring"
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/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>   
3015                                                                                                                                                                                        
3016                                                            <span class="block text-sm font-medium no-underline text-darkblack pr-4">Outdoor Rubber Flooring</span></a>
3017                                                        </li>
3018                                                           
3019                                                        
3020                                                                                                <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>
3021                                             
3022
3023                                                </ul>
3024                                            </li>
3025                                            
3026                                            
3027                                                                                                                            
3028                                            <li :class="{ 'active': show }" class="level-1 level1 "  x-data="{ show: false }"  
3029                                                                                        x-on:click="show = true; removeDisplayFirst()" @click.away="show = false"
3030                                                                                        >
3031                                                <a 
3032                                                title="Garage&#x20;Flooring"
3033                                                class="level-1 w-1/4 py-1/5 px-6 text-size13 block text-sm rounded text-darkblack relative"
3034                                                
3035                                                    >
3036                                                    Garage Flooring
3037                                                                                                            <span class="inline items-center rotate-180 absolute">
3038                                                            <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">
3039  <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"/>
3040<title>chevron-down</title></svg>
3041                                                        </span>
3042                                                                                                    </a>
3043                                                 
3044                                <div class="2xl:block w-1/4 mega-menu-rightBlock absolute top-0 right-0" x-show="show">
3045                                    <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>
3046                                
3047                                                <ul class="z-10 w-1/2 absolute top-0 level2 flex flex-wrap pt-3 megamenu-extrablock" x-show="show">
3048                                                    <span class="block w-full text-size28 font-medium no-underline text-darkblack pb-2">Garage Flooring</span>
3049
3050                                                                                                            <li class="level-2 w-4/12 pr-6 pb-6">
3051                                                            <a href="https://www.flooringinc.com/shop/garage-flooring/all-garage-flooring.html"
3052                                                            title="All&#x20;Garage&#x20;Flooring"
3053                                                            class="level-2 block">
3054                                                                                                                                <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>   
3055                                                                                                                                                                                        
3056                                                            <span class="block text-sm font-medium no-underline text-darkblack pr-4">All Garage Flooring</span></a>
3057                                                        </li>
3058                                                           
3059                                                                                                                                                                    <li class="level-2 w-4/12 pr-6 pb-6">
3060                                                            <a href="https://www.flooringinc.com/shop/garage-flooring/garage-rolls.html"
3061                                                            title="Garage&#x20;Flooring&#x20;Rolls"
3062                                                            class="level-2 block">
3063                                                                                                                                <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>   
3064                                                                                                                                                                                        
3065                                                            <span class="block text-sm font-medium no-underline text-darkblack pr-4">Garage Flooring Rolls</span></a>
3066                                                        </li>
3067                                                           
3068                                                                                                                                                                    <li class="level-2 w-4/12 pr-6 pb-6">
3069                                                            <a href="https://www.flooringinc.com/shop/garage-flooring/garage-tiles.html"
3070                                                            title="Garage&#x20;Floor&#x20;Tiles"
3071                                                            class="level-2 block">
3072                                                                                                                                <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>   
3073                                                                                                                                                                                        
3074                                                            <span class="block text-sm font-medium no-underline text-darkblack pr-4">Garage Floor Tiles</span></a>
3075                                                        </li>
3076                                                           
3077                                                                                                                                                                    <li class="level-2 w-4/12 pr-6 pb-6">
3078                                                            <a href="https://www.flooringinc.com/shop/garage-flooring/garage-gym-flooring.html"
3079                                                            title="Garage&#x20;Gym&#x20;Flooring"
3080                                                            class="level-2 block">
3081                                                                                                                                <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>   
3082                                                                                                                                                                                        
3083                                                            <span class="block text-sm font-medium no-underline text-darkblack pr-4">Garage Gym Flooring</span></a>
3084                                                        </li>
3085                                                           
3086                                                                                                                                                                    <li class="level-2 w-4/12 pr-6 pb-6">
3087                                                            <a href="https://www.flooringinc.com/shop/garage-flooring/coatings-epoxy.html"
3088                                                            title="Garage&#x20;Floor&#x20;Epoxy"
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/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>   
3091                                                                                                                                                                                        
3092                                                            <span class="block text-sm font-medium no-underline text-darkblack pr-4">Garage Floor Epoxy</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/trailer-flooring.html"
3097                                                            title="Trailer&#x20;Flooring"
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/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>   
3100                                                                                                                                                                                        
3101                                                            <span class="block text-sm font-medium no-underline text-darkblack pr-4">Trailer Flooring</span></a>
3102                                                        </li>
3103                                                           
3104                                                        
3105                                                                                                <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>
3106                                             
3107
3108                                                </ul>
3109                                            </li>
3110                                            
3111                                            
3112                                                                                                                            
3113                                            <li :class="{ 'active': show }" class="level-1 level1 "  x-data="{ show: false }"  
3114                                                                                        x-on:click="show = true; removeDisplayFirst()" @click.away="show = false"
3115                                                                                        >
3116                                                <a 
3117                                                title="Dance&#x20;Flooring"
3118                                                class="level-1 w-1/4 py-1/5 px-6 text-size13 block text-sm rounded text-darkblack relative"
3119                                                
3120                                                    >
3121                                                    Dance Flooring
3122                                                                                                            <span class="inline items-center rotate-180 absolute">
3123                                                            <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">
3124  <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"/>
3125<title>chevron-down</title></svg>
3126                                                        </span>
3127                                                                                                    </a>
3128                                                 
3129                                <div class="2xl:block w-1/4 mega-menu-rightBlock absolute top-0 right-0" x-show="show">
3130                                    <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>
3131                                
3132                                                <ul class="z-10 w-1/2 absolute top-0 level2 flex flex-wrap pt-3 megamenu-extrablock" x-show="show">
3133                                                    <span class="block w-full text-size28 font-medium no-underline text-darkblack pb-2">Dance Flooring</span>
3134
3135                                                                                                            <li class="level-2 w-4/12 pr-6 pb-6">
3136                                                            <a href="https://www.flooringinc.com/shop/dance-flooring/marley-flooring.html"
3137                                                            title="Marley&#x20;Floor&#x20;Rolls"
3138                                                            class="level-2 block">
3139                                                                                                                                <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>   
3140                                                                                                                                                                                        
3141                                                            <span class="block text-sm font-medium no-underline text-darkblack pr-4">Marley Floor Rolls</span></a>
3142                                                        </li>
3143                                                           
3144                                                                                                                                                                    <li class="level-2 w-4/12 pr-6 pb-6">
3145                                                            <a href="https://www.flooringinc.com/shop/dance-flooring/dance-floor-tiles.html"
3146                                                            title="Dance&#x20;Floor&#x20;Tiles"
3147                                                            class="level-2 block">
3148                                                                                                                                <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>   
3149                                                                                                                                                                                        
3150                                                            <span class="block text-sm font-medium no-underline text-darkblack pr-4">Dance Floor Tiles</span></a>
3151                                                        </li>
3152                                                           
3153                                                                                                                                                                    <li class="level-2 w-4/12 pr-6 pb-6">
3154                                                            <a href="https://www.flooringinc.com/shop/dance-flooring/portable-dance-floor-kits.html"
3155                                                            title="Portable&#x20;Dance&#x20;Floors&#x20;&amp;&#x20;Kits"
3156                                                            class="level-2 block">
3157                                                                                                                                <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>   
3158                                                                                                                                                                                        
3159                                                            <span class="block text-sm font-medium no-underline text-darkblack pr-4">Portable Dance Floors &amp; Kits</span></a>
3160                                                        </li>
3161                                                           
3162                                                                                                                                                                    <li class="level-2 w-4/12 pr-6 pb-6">
3163                                                            <a href="https://www.flooringinc.com/shop/dance-flooring/subflooring.html"
3164                                                            title="Subflooring"
3165                                                            class="level-2 block">
3166                                                                                                                                <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>   
3167                                                                                                                                                                                        
3168                                                            <span class="block text-sm font-medium no-underline text-darkblack pr-4">Subflooring</span></a>
3169                                                        </li>
3170                                                           
3171                                                                                                                                                                    <li class="level-2 w-4/12 pr-6 pb-6">
3172                                                            <a href="https://www.flooringinc.com/shop/dance-flooring/adhesives-cleaners-accessories.html"
3173                                                            title="Adhesives,&#x20;Cleaners&#x20;&amp;&#x20;Accessories"
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/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>   
3176                                                                                                                                                                                        
3177                                                            <span class="block text-sm font-medium no-underline text-darkblack pr-4">Adhesives, Cleaners &amp; Accessories</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/all-dance-flooring.html"
3182                                                            title="All&#x20;Dance&#x20;Flooring"
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/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>   
3185                                                                                                                                                                                        
3186                                                            <span class="block text-sm font-medium no-underline text-darkblack pr-4">All Dance Flooring</span></a>
3187                                                        </li>
3188                                                           
3189                                                        
3190                                                                                                <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>
3191                                             
3192
3193                                                </ul>
3194                                            </li>
3195                                            
3196                                            
3197                                                                                                                            
3198                                            <li :class="{ 'active': show }" class="level-1 level1 "  x-data="{ show: false }"  
3199                                                                                        x-on:click="show = true; removeDisplayFirst()" @click.away="show = false"
3200                                                                                        >
3201                                                <a 
3202                                                title="Foam&#x20;Flooring"
3203                                                class="level-1 w-1/4 py-1/5 px-6 text-size13 block text-sm rounded text-darkblack relative"
3204                                                
3205                                                    >
3206                                                    Foam Flooring
3207                                                                                                            <span class="inline items-center rotate-180 absolute">
3208                                                            <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">
3209  <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"/>
3210<title>chevron-down</title></svg>
3211                                                        </span>
3212                                                                                                    </a>
3213                                                 
3214                                <div class="2xl:block w-1/4 mega-menu-rightBlock absolute top-0 right-0" x-show="show">
3215                                    <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>
3216                                
3217                                                <ul class="z-10 w-1/2 absolute top-0 level2 flex flex-wrap pt-3 megamenu-extrablock" x-show="show">
3218                                                    <span class="block w-full text-size28 font-medium no-underline text-darkblack pb-2">Foam Flooring</span>
3219
3220                                                                                                            <li class="level-2 w-4/12 pr-6 pb-6">
3221                                                            <a href="https://www.flooringinc.com/shop/foam-flooring/foam-tiles.html"
3222                                                            title="Foam&#x20;Floor&#x20;Tiles"
3223                                                            class="level-2 block">
3224                                                                                                                                <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>   
3225                                                                                                                                                                                        
3226                                                            <span class="block text-sm font-medium no-underline text-darkblack pr-4">Foam Floor Tiles</span></a>
3227                                                        </li>
3228                                                           
3229                                                                                                                                                                    <li class="level-2 w-4/12 pr-6 pb-6">
3230                                                            <a href="https://www.flooringinc.com/shop/foam-flooring/kids-baby-play-mats.html"
3231                                                            title="Kids&#x20;&amp;&#x20;Baby&#x20;Play&#x20;Mats"
3232                                                            class="level-2 block">
3233                                                                                                                                <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>   
3234                                                                                                                                                                                        
3235                                                            <span class="block text-sm font-medium no-underline text-darkblack pr-4">Kids &amp; Baby Play Mats</span></a>
3236                                                        </li>
3237                                                           
3238                                                                                                                                                                    <li class="level-2 w-4/12 pr-6 pb-6">
3239                                                            <a href="https://www.flooringinc.com/shop/foam-flooring/gymnastic-folding-mats.html"
3240                                                            title="Gymnastics&#x20;Mats&#x20;"
3241                                                            class="level-2 block">
3242                                                                                                                                <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>   
3243                                                                                                                                                                                        
3244                                                            <span class="block text-sm font-medium no-underline text-darkblack pr-4">Gymnastics Mats </span></a>
3245                                                        </li>
3246                                                           
3247                                                                                                                                                                    <li class="level-2 w-4/12 pr-6 pb-6">
3248                                                            <a href="https://www.flooringinc.com/shop/foam-flooring/wrestling-mats.html"
3249                                                            title="Wrestling&#x20;Mats"
3250                                                            class="level-2 block">
3251                                                                                                                                <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>   
3252                                                                                                                                                                                        
3253                                                            <span class="block text-sm font-medium no-underline text-darkblack pr-4">Wrestling Mats</span></a>
3254                                                        </li>
3255                                                           
3256                                                                                                                                                                    <li class="level-2 w-4/12 pr-6 pb-6">
3257                                                            <a href="https://www.flooringinc.com/shop/foam-flooring/martial-arts-mats.html"
3258                                                            title="Martial&#x20;Arts&#x20;Mats&#x20;"
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/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>   
3261                                                                                                                                                                                        
3262                                                            <span class="block text-sm font-medium no-underline text-darkblack pr-4">Martial Arts Mats </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/trade-show-flooring.html"
3267                                                            title="Trade&#x20;Show&#x20;Flooring"
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/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>   
3270                                                                                                                                                                                        
3271                                                            <span class="block text-sm font-medium no-underline text-darkblack pr-4">Trade Show Flooring</span></a>
3272                                                        </li>
3273                                                           
3274                                                        
3275                                                                                                <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>
3276                                             
3277
3278                                                </ul>
3279                                            </li>
3280                                            
3281                                            
3282                                                                                                                            
3283                                            <li :class="{ 'active': show }" class="level-1 level1 "  x-data="{ show: false }"  
3284                                                                                        x-on:click="show = true; removeDisplayFirst()" @click.away="show = false"
3285                                                                                        >
3286                                                <a 
3287                                                title="Outdoor&#x20;Flooring"
3288                                                class="level-1 w-1/4 py-1/5 px-6 text-size13 block text-sm rounded text-darkblack relative"
3289                                                
3290                                                    >
3291                                                    Outdoor Flooring
3292                                                                                                            <span class="inline items-center rotate-180 absolute">
3293                                                            <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">
3294  <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"/>
3295<title>chevron-down</title></svg>
3296                                                        </span>
3297                                                                                                    </a>
3298                                                 
3299                                <div class="2xl:block w-1/4 mega-menu-rightBlock absolute top-0 right-0" x-show="show">
3300                                    <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.
3300webp"><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>
3301                                
3302                                                <ul class="z-10 w-1/2 absolute top-0 level2 flex flex-wrap pt-3 megamenu-extrablock" x-show="show">
3303                                                    <span class="block w-full text-size28 font-medium no-underline text-darkblack pb-2">Outdoor Flooring</span>
3304
3305                                                                                                            <li class="level-2 w-4/12 pr-6 pb-6">
3306                                                            <a href="https://www.flooringinc.com/shop/outdoor-flooring/playground-flooring.html"
3307                                                            title="Playground&#x20;Flooring"
3308                                                            class="level-2 block">
3309                                                                                                                                <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>   
3310                                                                                                                                                                                        
3311                                                            <span class="block text-sm font-medium no-underline text-darkblack pr-4">Playground Flooring</span></a>
3312                                                        </li>
3313                                                           
3314                                                                                                                                                                    <li class="level-2 w-4/12 pr-6 pb-6">
3315                                                            <a href="https://www.flooringinc.com/shop/outdoor-flooring/sport-and-court-flooring.html"
3316                                                            title="Sports&#x20;Flooring&#x20;&amp;&#x20;Court&#x20;Tiles"
3317                                                            class="level-2 block">
3318                                                                                                                                <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>   
3319                                                                                                                                                                                        
3320                                                            <span class="block text-sm font-medium no-underline text-darkblack pr-4">Sports Flooring &amp; Court Tiles</span></a>
3321                                                        </li>
3322                                                           
3323                                                                                                                                                                    <li class="level-2 w-4/12 pr-6 pb-6">
3324                                                            <a href="https://www.flooringinc.com/shop/outdoor-flooring/artificial-grass.html"
3325                                                            title="Turf&#x20;&amp;&#x20;Artificial&#x20;Grass"
3326                                                            class="level-2 block">
3327                                                                                                                                <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>   
3328                                                                                                                                                                                        
3329                                                            <span class="block text-sm font-medium no-underline text-darkblack pr-4">Turf &amp; Artificial Grass</span></a>
3330                                                        </li>
3331                                                           
3332                                                                                                                                                                    <li class="level-2 w-4/12 pr-6 pb-6">
3333                                                            <a href="https://www.flooringinc.com/shop/outdoor-flooring/composite-decking.html"
3334                                                            title="Composite&#x20;Decking"
3335                                                            class="level-2 block">
3336                                                                                                                                <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>   
3337                                                                                                                                                                                        
3338                                                            <span class="block text-sm font-medium no-underline text-darkblack pr-4">Composite Decking</span></a>
3339                                                        </li>
3340                                                           
3341                                                                                                                                                                    <li class="level-2 w-4/12 pr-6 pb-6">
3342                                                            <a href="https://www.flooringinc.com/shop/outdoor-flooring/rooftop-deck-flooring.html"
3343                                                            title="Rooftop&#x20;Deck&#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/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>   
3346                                                                                                                                                                                        
3347                                                            <span class="block text-sm font-medium no-underline text-darkblack pr-4">Rooftop Deck 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/drainage-tiles.html"
3352                                                            title="Drainage&#x20;Tile&#x20;&amp;&#x20;Mats"
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/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>   
3355                                                                                                                                                                                        
3356                                                            <span class="block text-sm font-medium no-underline text-darkblack pr-4">Drainage Tile &amp; Mats</span></a>
3357                                                        </li>
3358                                                           
3359                                                        
3360                                                                                                <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>
3361                                             
3362
3363                                                </ul>
3364                                            </li>
3365                                            
3366                                            
3367                                                                                                                            
3368                                            <li :class="{ 'active': show }" class="level-1 level1 "  x-data="{ show: false }"  
3369                                                                                        x-on:click="show = true; removeDisplayFirst()" @click.away="show = false"
3370                                                                                        >
3371                                                <a 
3372                                                title="Turf&#x20;&amp;&#x20;Artificial&#x20;Grass"
3373                                                class="level-1 w-1/4 py-1/5 px-6 text-size13 block text-sm rounded text-darkblack relative"
3374                                                
3375                                                    >
3376                                                    Turf &amp; Artificial Grass
3377                                                                                                            <span class="inline items-center rotate-180 absolute">
3378                                                            <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">
3379  <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"/>
3380<title>chevron-down</title></svg>
3381                                                        </span>
3382                                                                                                    </a>
3383                                                
3384                                                <ul class="z-10 w-1/2 absolute top-0 level2 flex flex-wrap pt-3 megamenu-extrablock" x-show="show">
3385                                                    <span class="block w-full text-size28 font-medium no-underline text-darkblack pb-2">Turf &amp; Artificial Grass</span>
3386
3387                                                                                                            <li class="level-2 w-4/12 pr-6 pb-6">
3388                                                            <a href="https://www.flooringinc.com/shop/artificial-grass/sport-field-turf.html"
3389                                                            title="Sport&#x20;&amp;&#x20;Gym&#x20;Turf"
3390                                                            class="level-2 block">
3391                                                                                                                                <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>   
3392                                                                                                                                                                                        
3393                                                            <span class="block text-sm font-medium no-underline text-darkblack pr-4">Sport &amp; Gym Turf</span></a>
3394                                                        </li>
3395                                                           
3396                                                                                                                                                                    <li class="level-2 w-4/12 pr-6 pb-6">
3397                                                            <a href="https://www.flooringinc.com/shop/artificial-grass/landscape-turf.html"
3398                                                            title="Landscape&#x20;Turf"
3399                                                            class="level-2 block">
3400                                                                                                                                <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>   
3401                                                                                                                                                                                        
3402                                                            <span class="block text-sm font-medium no-underline text-darkblack pr-4">Landscape Turf</span></a>
3403                                                        </li>
3404                                                           
3405                                                                                                                                                                    <li class="level-2 w-4/12 pr-6 pb-6">
3406                                                            <a href="https://www.flooringinc.com/shop/artificial-grass/pet-turf.html"
3407                                                            title="Pet&#x20;Turf"
3408                                                            class="level-2 block">
3409                                                                                                                                <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>   
3410                                                                                                                                                                                        
3411                                                            <span class="block text-sm font-medium no-underline text-darkblack pr-4">Pet Turf</span></a>
3412                                                        </li>
3413                                                           
3414                                                                                                                                                                    <li class="level-2 w-4/12 pr-6 pb-6">
3415                                                            <a href="https://www.flooringinc.com/shop/artificial-grass/putting-greens.html"
3416                                                            title="Golf&#x20;&amp;&#x20;Putting&#x20;Green&#x20;Turf"
3417                                                            class="level-2 block">
3418                                                                                                                                <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>   
3419                                                                                                                                                                                        
3420                                                            <span class="block text-sm font-medium no-underline text-darkblack pr-4">Golf &amp; Putting Green Turf</span></a>
3421                                                        </li>
3422                                                           
3423                                                                                                                                                                    <li class="level-2 w-4/12 pr-6 pb-6">
3424                                                            <a href="https://www.flooringinc.com/shop/artificial-grass/turf-accessories.html"
3425                                                            title="Turf&#x20;Accessories"
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/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>   
3428                                                                                                                                                                                        
3429                                                            <span class="block text-sm font-medium no-underline text-darkblack pr-4">Turf Accessories</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/all-artificial-grass.html"
3434                                                            title="All&#x20;Turf&#x20;&amp;&#x20;Artificial&#x20;Grass"
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/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>   
3437                                                                                                                                                                                        
3438                                                            <span class="block text-sm font-medium no-underline text-darkblack pr-4">All Turf &amp; Artificial Grass</span></a>
3439                                                        </li>
3440                                                           
3441                                                        
3442                                                                                                <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>
3443                                             
3444
3445                                                </ul>
3446                                            </li>
3447                                            
3448                                            
3449                                                                                                                            
3450                                            <li :class="{ 'active': show }" class="level-1 level1 "  x-data="{ show: false }"  
3451                                                                                        x-on:click="show = true; removeDisplayFirst()" @click.away="show = false"
3452                                                                                        >
3453                                                <a 
3454                                                title="Carpet&#x20;Tiles&#x20;&amp;&#x20;Rolls"
3455                                                class="level-1 w-1/4 py-1/5 px-6 text-size13 block text-sm rounded text-darkblack relative"
3456                                                
3457                                                    >
3458                                                    Carpet Tiles &amp; Rolls
3459                                                                                                            <span class="inline items-center rotate-180 absolute">
3460                                                            <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">
3461  <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"/>
3462<title>chevron-down</title></svg>
3463                                                        </span>
3464                                                                                                    </a>
3465                                                
3466                                                <ul class="z-10 w-1/2 absolute top-0 level2 flex flex-wrap pt-3 megamenu-extrablock" x-show="show">
3467                                                    <span class="block w-full text-size28 font-medium no-underline text-darkblack pb-2">Carpet Tiles &amp; Rolls</span>
3468
3469                                                                                                            <li class="level-2 w-4/12 pr-6 pb-6">
3470                                                            <a href="https://www.flooringinc.com/shop/carpet/carpet-tiles.html"
3471                                                            title="Carpet&#x20;Tiles"
3472                                                            class="level-2 block">
3473                                                                                                                                <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>   
3474                                                                                                                                                                                        
3475                                                            <span class="block text-sm font-medium no-underline text-darkblack pr-4">Carpet Tiles</span></a>
3476                                                        </li>
3477                                                           
3478                                                                                                                                                                    <li class="level-2 w-4/12 pr-6 pb-6">
3479                                                            <a href="https://www.flooringinc.com/shop/carpet/carpet-rolls.html"
3480                                                            title="Carpet&#x20;Rolls"
3481                                                            class="level-2 block">
3482                                                                                                                                <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>   
3483                                                                                                                                                                                        
3484                                                            <span class="block text-sm font-medium no-underline text-darkblack pr-4">Carpet Rolls</span></a>
3485                                                        </li>
3486                                                           
3487                                                                                                                                                                    <li class="level-2 w-4/12 pr-6 pb-6">
3488                                                            <a href="https://www.flooringinc.com/shop/carpet/home-theater-carpet.html"
3489                                                            title="Home&#x20;Theater&#x20;Carpet"
3490                                                            class="level-2 block">
3491                                                                                                                                <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>   
3492                                                                                                                                                                                        
3493                                                            <span class="block text-sm font-medium no-underline text-darkblack pr-4">Home Theater Carpet</span></a>
3494                                                        </li>
3495                                                           
3496                                                                                                                                                                    <li class="level-2 w-4/12 pr-6 pb-6">
3497                                                            <a href="https://www.flooringinc.com/shop/carpet/peel-stick-carpet.html"
3498                                                            title="Peel&#x20;and&#x20;Stick&#x20;Carpet&#x20;Tiles"
3499                                                            class="level-2 block">
3500                                                                                                                                <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>   
3501                                                                                                                                                                                        
3502                                                            <span class="block text-sm font-medium no-underline text-darkblack pr-4">Peel and Stick Carpet Tiles</span></a>
3503                                                        </li>
3504                                                           
3505                                                                                                                                                                    <li class="level-2 w-4/12 pr-6 pb-6">
3506                                                            <a href="https://www.flooringinc.com/shop/carpet/outdoor-carpet.html"
3507                                                            title="Outdoor&#x20;Carpet"
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/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>   
3510                                                                                                                                                                                        
3511                                                            <span class="block text-sm font-medium no-underline text-darkblack pr-4">Outdoor Carpet</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/waterproof-carpet.html"
3516                                                            title="Waterproof&#x20;Carpet"
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_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>   
3519                                                                                                                                                                                        
3520                                                            <span class="block text-sm font-medium no-underline text-darkblack pr-4">Waterproof Carpet</span></a>
3521                                                        </li>
3522                                                           
3523                                                        
3524                                                                                                <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>
3525                                             
3526
3527                                                </ul>
3528                                            </li>
3529                                            
3530                                            
3531                                                                                                                            
3532                                            <li :class="{ 'active': show }" class="level-1 level1 "  x-data="{ show: false }"  
3533                                                                                        x-on:click="show = true; removeDisplayFirst()" @click.away="show = false"
3534                                                                                        >
3535                                                <a 
3536                                                title="Vinyl&#x20;Flooring"
3537                                                class="level-1 w-1/4 py-1/5 px-6 text-size13 block text-sm rounded text-darkblack relative"
3538                                                
3539                                                    >
3540                                                    Vinyl Flooring
3541                                                                                                            <sp
3541an class="inline items-center rotate-180 absolute">
3542                                                            <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">
3543  <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"/>
3544<title>chevron-down</title></svg>
3545                                                        </span>
3546                                                                                                    </a>
3547                                                 
3548                                <div class="2xl:block w-1/4 mega-menu-rightBlock absolute top-0 right-0" x-show="show">
3549                                    <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>
3550                                
3551                                                <ul class="z-10 w-1/2 absolute top-0 level2 flex flex-wrap pt-3 megamenu-extrablock" x-show="show">
3552                                                    <span class="block w-full text-size28 font-medium no-underline text-darkblack pb-2">Vinyl Flooring</span>
3553
3554                                                                                                            <li class="level-2 w-4/12 pr-6 pb-6">
3555                                                            <a href="https://www.flooringinc.com/shop/vinyl/vinyl-sheet.html"
3556                                                            title="Vinyl&#x20;Sheet&#x20;Flooring"
3557                                                            class="level-2 block">
3558                                                                                                                                <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>   
3559                                                                                                                                                                                        
3560                                                            <span class="block text-sm font-medium no-underline text-darkblack pr-4">Vinyl Sheet Flooring</span></a>
3561                                                        </li>
3562                                                           
3563                                                                                                                                                                    <li class="level-2 w-4/12 pr-6 pb-6">
3564                                                            <a href="https://www.flooringinc.com/shop/vinyl/vinyl-tiles-planks.html"
3565                                                            title="Vinyl&#x20;Tiles&#x20;&amp;&#x20;Planks"
3566                                                            class="level-2 block">
3567                                                                                                                                <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>   
3568                                                                                                                                                                                        
3569                                                            <span class="block text-sm font-medium no-underline text-darkblack pr-4">Vinyl Tiles &amp; Planks</span></a>
3570                                                        </li>
3571                                                           
3572                                                                                                                                                                    <li class="level-2 w-4/12 pr-6 pb-6">
3573                                                            <a href="https://www.flooringinc.com/shop/vinyl/waterproof-vinyl.html"
3574                                                            title="Waterproof&#x20;Vinyl&#x20;Flooring"
3575                                                            class="level-2 block">
3576                                                                                                                                <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>   
3577                                                                                                                                                                                        
3578                                                            <span class="block text-sm font-medium no-underline text-darkblack pr-4">Waterproof Vinyl Flooring</span></a>
3579                                                        </li>
3580                                                           
3581                                                                                                                                                                    <li class="level-2 w-4/12 pr-6 pb-6">
3582                                                            <a href="https://www.flooringinc.com/shop/vinyl/rigid-core-vinyl.html"
3583                                                            title="Rigid&#x20;Core&#x20;Vinyl&#x20;Flooring"
3584                                                            class="level-2 block">
3585                                                                                                                                <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>   
3586                                                                                                                                                                                        
3587                                                            <span class="block text-sm font-medium no-underline text-darkblack pr-4">Rigid Core Vinyl Flooring</span></a>
3588                                                        </li>
3589                                                           
3590                                                                                                                                                                    <li class="level-2 w-4/12 pr-6 pb-6">
3591                                                            <a href="https://www.flooringinc.com/shop/vinyl/commercial-vinyl.html"
3592                                                            title="Commercial&#x20;Vinyl&#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_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>   
3595                                                                                                                                                                                        
3596                                                            <span class="block text-sm font-medium no-underline text-darkblack pr-4">Commercial Vinyl Flooring</span></a>
3597                                                        </li>
3598                                                           
3599                                                                                                            
3600                                                                                                <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>
3601                                             
3602
3603                                                </ul>
3604                                            </li>
3605                                            
3606                                            
3607                                                                                                                            
3608                                            <li :class="{ 'active': show }" class="level-1 level1 "  x-data="{ show: false }"  
3609                                                                                        x-on:click="show = true; removeDisplayFirst()" @click.away="show = false"
3610                                                                                        >
3611                                                <a 
3612                                                title="Wood&#x20;&amp;&#x20;Laminate&#x20;Flooring"
3613                                                class="level-1 w-1/4 py-1/5 px-6 text-size13 block text-sm rounded text-darkblack relative"
3614                                                
3615                                                    >
3616                                                    Wood &amp; Laminate Flooring
3617                                                                                                            <sp
3617an class="inline items-center rotate-180 absolute">
3618                                                            <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">
3619  <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"/>
3620<title>chevron-down</title></svg>
3621                                                        </span>
3622                                                                                                    </a>
3623                                                
3624                                                <ul class="z-10 w-1/2 absolute top-0 level2 flex flex-wrap pt-3 megamenu-extrablock" x-show="show">
3625                                                    <span class="block w-full text-size28 font-medium no-underline text-darkblack pb-2">Wood &amp; Laminate Flooring</span>
3626
3627                                                                                                            <li class="level-2 w-4/12 pr-6 pb-6">
3628                                                            <a href="https://www.flooringinc.com/shop/wood-laminate/waterproof-laminate.html"
3629                                                            title="Waterproof&#x20;Laminate&#x20;Flooring"
3630                                                            class="level-2 block">
3631                                                                                                                                <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>   
3632                                                                                                                                                                                        
3633                                                            <span class="block text-sm font-medium no-underline text-darkblack pr-4">Waterproof Laminate Flooring</span></a>
3634                                                        </li>
3635                                                           
3636                                                                                                                                                                    <li class="level-2 w-4/12 pr-6 pb-6">
3637                                                            <a href="https://www.flooringinc.com/shop/wood-laminate/laminate.html"
3638                                                            title="Laminate&#x20;Flooring"
3639                                                            class="level-2 block">
3640                                                                                                                                <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>   
3641                                                                                                                                                                                        
3642                                                            <span class="block text-sm font-medium no-underline text-darkblack pr-4">Laminate Flooring</span></a>
3643                                                        </li>
3644                                                           
3645                                                                                                                                                                    <li class="level-2 w-4/12 pr-6 pb-6">
3646                                                            <a href="https://www.flooringinc.com/shop/wood-laminate/hardwood.html"
3647                                                            title="Engineered&#x20;Hardwood&#x20;Flooring"
3648                                                            class="level-2 block">
3649                                                                                                                                <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>   
3650                                                                                                                                                                                        
3651                                                            <span class="block text-sm font-medium no-underline text-darkblack pr-4">Engineered Hardwood Flooring</span></a>
3652                                                        </li>
3653                                                           
3654                                                                                                                                                                    <li class="level-2 w-4/12 pr-6 pb-6">
3655                                                            <a href="https://www.flooringinc.com/shop/wood-laminate/oak.html"
3656                                                            title="Oak&#x20;Wood&#x20;Flooring"
3657                                                            class="level-2 block">
3658                                                                                                                                <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>   
3659                                                                                                                                                                                        
3660                                                            <span class="block text-sm font-medium no-underline text-darkblack pr-4">Oak Wood Flooring</span></a>
3661                                                        </li>
3662                                                           
3663                                                                                                                                                                    <li class="level-2 w-4/12 pr-6 pb-6">
3664                                                            <a href="https://www.flooringinc.com/shop/wood-laminate/commercial-wood-laminate.html"
3665                                                            title="Commercial&#x20;Wood&#x20;&amp;&#x20;Laminate"
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_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>   
3668                                                                                                                                                                                        
3669                                                            <span class="block text-sm font-medium no-underline text-darkblack pr-4">Commercial Wood &amp; Laminate</span></a>
3670                                                        </li>
3671                                                           
3672                                                                                                            
3673                                                                                                <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>
3674                                             
3675
3676                                                </ul>
3677                                            </li>
3678                                            
3679                                            
3680                                                                                                                            
3681                                            <li :class="{ 'active': show }" class="level-1 level1 "  x-data="{ show: false }"  
3682                                                                                        x-on:click="show = true; removeDisplayFirst()" @click.away="show = false"
3683                                                                                        >
3684                                                <a 
3685                                                title="Commercial&#x20;Flooring"
3686                                                class="level-1 w-1/4 py-1/5 px-6 text-size13 block text-sm rounded text-darkblack relative"
3687                                                
3688                                                    >
3689                                                    Commercial Flooring
3690                                                                                                            <sp
3690an class="inline items-center rotate-180 absolute">
3691                                                            <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">
3692  <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"/>
3693<title>chevron-down</title></svg>
3694                                                        </span>
3695                                                                                                    </a>
3696                                                 
3697                                <div class="2xl:block w-1/4 mega-menu-rightBlock absolute top-0 right-0" x-show="show">
3698                                    <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>
3699                                
3700                                                <ul class="z-10 w-1/2 absolute top-0 level2 flex flex-wrap pt-3 megamenu-extrablock" x-show="show">
3701                                                    <span class="block w-full text-size28 font-medium no-underline text-darkblack pb-2">Commercial Flooring</span>
3702
3703                                                                                                            <li class="level-2 w-4/12 pr-6 pb-6">
3704                                                            <a href="https://www.flooringinc.com/shop/commercial-flooring/commercial-rubber-flooring.html"
3705                                                            title="Commercial&#x20;Rubber&#x20;Flooring"
3706                                                            class="level-2 block">
3707                                                                                                                                <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>   
3708                                                                                                                                                                                        
3709                                                            <span class="block text-sm font-medium no-underline text-darkblack pr-4">Commercial Rubber Flooring</span></a>
3710                                                        </li>
3711                                                           
3712                                                                                                                                                                    <li class="level-2 w-4/12 pr-6 pb-6">
3713                                                            <a href="https://www.flooringinc.com/shop/commercial-flooring/commercial-garage-flooring.html"
3714                                                            title="Commercial&#x20;Garage&#x20;Flooring"
3715                                                            class="level-2 block">
3716                                                                                                                                <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>   
3717                                                                                                                                                                                        
3718                                                            <span class="block text-sm font-medium no-underline text-darkblack pr-4">Commercial Garage Flooring</span></a>
3719                                                        </li>
3720                                                           
3721                                                                                                                                                                    <li class="level-2 w-4/12 pr-6 pb-6">
3722                                                            <a href="https://www.flooringinc.com/shop/commercial-flooring/commercial-carpet.html"
3723                                                            title="Commercial&#x20;Carpet&#x20;Tiles"
3724                                                            class="level-2 block">
3725                                                                                                                                <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>   
3726                                                                                                                                                                                        
3727                                                            <span class="block text-sm font-medium no-underline text-darkblack pr-4">Commercial Carpet Tiles</span></a>
3728                                                        </li>
3729                                                           
3730                                                                                                                                                                    <li class="level-2 w-4/12 pr-6 pb-6">
3731                                                            <a href="https://www.flooringinc.com/shop/commercial-flooring/commercial-vinyl.html"
3732                                                            title="Commercial&#x20;Vinyl&#x20;Flooring"
3733                                                            class="level-2 block">
3734                                                                                                                                <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>   
3735                                                                                                                                                                                        
3736                                                            <span class="block text-sm font-medium no-underline text-darkblack pr-4">Commercial Vinyl Flooring</span></a>
3737                                                        </li>
3738                                                           
3739                                                                                                                                                                    <li class="level-2 w-4/12 pr-6 pb-6">
3740                                                            <a href="https://www.flooringinc.com/shop/commercial-flooring/commercial-wood-laminate.html"
3741                                                            title="Commercial&#x20;Wood&#x20;&amp;&#x20;Laminate&#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/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>   
3744                                                                                                                                                                                        
3745                                                            <span class="block text-sm font-medium no-underline text-darkblack pr-4">Commercial Wood &amp; Laminate 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/gym-floor-covers-protection.html"
3750                                                            title="Gym&#x20;Floor&#x20;Covers&#x20;&#x7C;&#x20;Floor&#x20;Protection"
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/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>   
3753                                                                                                                                                                                        
3754                                                            <span class="block text-sm font-medium no-underline text-darkblack pr-4">Gym Floor Covers | Floor Protection</span></a>
3755                                                        </li>
3756                                                           
3757                                                        
3758                                                                                                <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>
3759                                             
3760
3761                                                </ul>
3762                                            </li>
3763                                            
3764                                            
3765                                                                                                                            
3766                                            <li :class="{ 'active': show }" class="level-1 level1 "  x-data="{ show: false }"  
3767                                                                                        x-on:click="show = true; removeDisplayFirst()" @click.away="show = false"
3768                                                                                        >
3769                                                <a 
3770                                                title="Floors&#x20;by&#x20;Activity"
3771                                                class="level-1 w-1/4 py-1/5 px-6 text-size13 block text-sm rounded text-darkblack relative"
3772                                                
3773                                                    >
3774                                                    Floors by Activity
3775                                                                                                            <span class="inline items-center rotate-180 absolute">
3776                                                            <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">
3777  <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"/>
3778<title>chevron-down</title></svg>
3779                                                        </span>
3780                                                                                                    </a>
3781                                                 
3782                                <div class="2xl:block w-1/4 mega-menu-rightBlock absolute top-0 right-0" x-show="show">
3783                                    <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>
3784                                
3785                                                <ul class="z-10 w-1/2 absolute top-0 level2 flex flex-wrap pt-3 megamenu-extrablock" x-show="show">
3786                                                    <span class="block w-full text-size28 font-medium no-underline text-darkblack pb-2">Floors by Activity</span>
3787
3788                                                                                                            <li class="level-2 w-4/12 pr-6 pb-6">
3789                                                            <a href="https://www.flooringinc.com/shop/shop-by-activity/fitness-flooring.html"
3790                                                            title="Fitness&#x20;Flooring"
3791                                                            class="level-2 block">
3792                                                                                                                                <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>   
3793                                                                                                                                                                                        
3794                                                            <span class="block text-sm font-medium no-underline text-darkblack pr-4">Fitness Flooring</span></a>
3795                                                        </li>
3796                                                           
3797                                                                                                                                                                    <li class="level-2 w-4/12 pr-6 pb-6">
3798                                                            <a href="https://www.flooringinc.com/shop/shop-by-activity/dance-marley-flooring.html"
3799                                                            title="Dance&#x20;Flooring&#x20;&#x7C;&#x20;Marley&#x20;Floor"
3800                                                            class="level-2 block">
3801                                                                                                                                <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>   
3802                                                                                                                                                                                        
3803                                                            <span class="block text-sm font-medium no-underline text-darkblack pr-4">Dance Flooring | Marley Floor</span></a>
3804                                                        </li>
3805                                                           
3806                                                                                                                                                                    <li class="level-2 w-4/12 pr-6 pb-6">
3807                                                            <a href="https://www.flooringinc.com/shop/shop-by-activity/sport-and-court-flooring.html"
3808                                                            title="Sport&#x20;&amp;&#x20;Court&#x20;Flooring"
3809                                                            class="level-2 block">
3810                                                                                                                                <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>   
3811                                                                                                                                                                                        
3812                                                            <span class="block text-sm font-medium no-underline text-darkblack pr-4">Sport &amp; Court Flooring</span></a>
3813                                                        </li>
3814                                                           
3815                                                                                                                                                                    <li class="level-2 w-4/12 pr-6 pb-6">
3816                                                            <a href="https://www.flooringinc.com/shop/shop-by-activity/martial-arts-flooring.html"
3817                                                            title="Martial&#x20;Arts&#x20;Mats&#x20;"
3818                                                            class="level-2 block">
3819                                                                                                                                <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>   
3820                                                                                                                                                                                        
3821                                                            <span class="block text-sm font-medium no-underline text-darkblack pr-4">Martial Arts Mats </span></a>
3822                                                        </li>
3823                                                           
3824                                                                                                                                                                    <li class="level-2 w-4/12 pr-6 pb-6">
3825                                                            <a href="https://www.flooringinc.com/shop/shop-by-activity/cheer-mats.html"
3826                                                            title="Cheer&#x20;Mats"
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/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>   
3829                                                                                                                                                                                        
3830                                                            <span class="block text-sm font-medium no-underline text-darkblack pr-4">Cheer Mats</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/wrestling-mats.html"
3835                                                            title="Wrestling&#x20;Mats"
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/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>   
3838                                                                                                                                                                                        
3839                                                            <span class="block text-sm font-medium no-underline text-darkblack pr-4">Wrestling Mats</span></a>
3840                                                        </li>
3841                                                           
3842                                                        
3843                                                                                                <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>
3844                                             
3845
3846                                                </ul>
3847                                            </li>
3848                                            
3849                                            
3850                                                                                                                            
3851                                            <li :class="{ 'active': show }" class="level-1 level1 "  x-data="{ show: false }"  
3852                                                                                        x-on:click="show = true; removeDisplayFirst()" @click.away="show = false"
3853                                                                                        >
3854                                                <a 
3855                                                title="Floors&#x20;by&#x20;Space"
3856                                                class="level-1 w-1/4 py-1/5 px-6 text-size13 block text-sm rounded text-darkblack relative"
3857                                                
3858                                                    >
3859                                                    Floors by Space
3860                                                                                                            <span class="inline items-center rotate-180 absolute">
3861                                                            <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">
3862  <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"/>
3863<title>chevron-down</title></svg>
3864                                                        </span>
3865                                                                                                    </a>
3866                                                
3867                                                <ul class="z-10 w-1/2 absolute top-0 level2 flex flex-wrap pt-3 megamenu-extrablock" x-show="show">
3868                                                    <span class="block w-full text-size28 font-medium no-underline text-darkblack pb-2">Floors by Space</span>
3869
3870                                                                                                            <li class="level-2 w-4/12 pr-6 pb-6">
3871                                                            <a href="https://www.flooringinc.com/shop/shop-by-space/kitchen-flooring.html"
3872                                                            title="Kitchen&#x20;Flooring"
3873                                                            class="level-2 block">
3874                                                                                                                                <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>   
3875                                                                                                                                                                                        
3876                                                            <span class="block text-sm font-medium no-underline text-darkblack pr-4">Kitchen Flooring</span></a>
3877                                                        </li>
3878                                                           
3879                                                                                                                                                                    <li class="level-2 w-4/12 pr-6 pb-6">
3880                                                            <a href="https://www.flooringinc.com/shop/shop-by-space/bathroom-flooring.html"
3881                                                            title="Bathroom&#x20;Flooring"
3882                                                            class="level-2 block">
3883                                                                                                                                <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>   
3884                                                                                                                                                                                        
3885                                                            <span class="block text-sm font-medium no-underline text-darkblack pr-4">Bathroom Flooring</span></a>
3886                                                        </li>
3887                                                           
3888                                                                                                                                                                    <li class="level-2 w-4/12 pr-6 pb-6">
3889                                                            <a href="https://www.flooringinc.com/shop/shop-by-space/commercial-flooring.html"
3890                                                            title="Commercial&#x20;Flooring"
3891                                                            class="level-2 block">
3892                                                                                                                                <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>   
3893                                                                                                                                                                                        
3894                                                            <span class="block text-sm font-medium no-underline text-darkblack pr-4">Commercial Flooring</span></a>
3895                                                        </li>
3896                                                           
3897                                                                                                                                                                    <li class="level-2 w-4/12 pr-6 pb-6">
3898                                                            <a href="https://www.flooringinc.com/shop/shop-by-space/gym-flooring.html"
3899                                                            title="Gym&#x20;Flooring"
3900                                                            class="level-2 block">
3901                                                                                                                                <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>   
3902                                                                                                                                                                                        
3903                                                            <span class="block text-sm font-medium no-underline text-darkblack pr-4">Gym Flooring</span></a>
3904                                                        </li>
3905                                                           
3906                                                                                                                                                                    <li class="level-2 w-4/12 pr-6 pb-6">
3907                                                            <a href="https://www.flooringinc.com/shop/shop-by-space/garage-flooring.html"
3908                                                            title="Garage&#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/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>   
3911                                                                                                                                                                                        
3912                                                            <span class="block text-sm font-medium no-underline text-darkblack pr-4">Garage 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/outdoor-flooring.html"
3917                                                            title="Outdoor&#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/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>   
3920                                                                                                                                                                                        
3921                                                            <span class="block text-sm font-medium no-underline text-darkblack pr-4">Outdoor Flooring</span></a>
3922                                                        </li>
3923                                                           
3924                                                        
3925                                                                                                <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>
3926                                             
3927
3928                                                </ul>
3929                                            </li>
3930                                            
3931                                            
3932                                                                                                                            
3933                                            <li :class="{ 'active': show }" class="level-1 level1 "  x-data="{ show: false }"  
3934                                                                                        x-on:click="show = true; removeDisplayFirst()" @click.away="show = false"
3935                                                                                        >
3936                                                <a 
3937                                                title="Underlayment&#x20;&amp;&#x20;Flooring&#x20;Accessories"
3938                                                class="level-1 w-1/4 py-1/5 px-6 text-size13 block text-sm rounded text-darkblack relative"
3939                                                
3940                                                    >
3941                                                    Underlayment &amp; Flooring Accessories
3942                                                                                                            <span class="inline items-center rotate-180 absolute">
3943                                                            <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">
3944  <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"/>
3945<title>chevron-down</title></svg>
3946                                                        </span>
3947                                                                                                    </a>
3948                                                 
3949                                <div class="2xl:block w-1/4 mega-menu-rightBlock absolute top-0 right-0" x-show="show">
3950                                    <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>
3951                                
3952                                                <ul class="z-10 w-1/2 absolute top-0 level2 flex flex-wrap pt-3 megamenu-extrablock" x-show="show">
3953                                                    <span class="block w-full text-size28 font-medium no-underline text-darkblack pb-2">Underlayment &amp; Flooring Accessories</span>
3954
3955                                                                                                            <li class="level-2 w-4/12 pr-6 pb-6">
3956                                                            <a href="https://www.flooringinc.com/shop/installation-care/adhesives-glue.html"
3957                                                            title="Flooring&#x20;Adhesives&#x20;&amp;&#x20;Glue"
3958                                                            class="level-2 block">
3959                                                                                                                                <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>   
3960                                                                                                                                                                                        
3961                                                            <span class="block text-sm font-medium no-underline text-darkblack pr-4">Flooring Adhesives &amp; Glue</span></a>
3962                                                        </li>
3963                                                           
3964                                                                                                                                                                    <li class="level-2 w-4/12 pr-6 pb-6">
3965                                                            <a href="https://www.flooringinc.com/shop/installation-care/tape.html"
3966                                                            title="Floor&#x20;and&#x20;Mat&#x20;Tape"
3967                                                            class="level-2 block">
3968                                                                                                                                <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>   
3969                                                                                                                                                                                        
3970                                                            <span class="block text-sm font-medium no-underline text-darkblack pr-4">Floor and Mat Tape</span></a>
3971                                                        </li>
3972                                                           
3973                                                                                                                                                                    <li class="level-2 w-4/12 pr-6 pb-6">
3974                                                            <a href="https://www.flooringinc.com/shop/installation-care/accessories.html"
3975                                                            title="Installation&#x20;Accessories"
3976                                                            class="level-2 block">
3977                                                                                                                                <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>   
3978                                                                                                                                                                                        
3979                                                            <span class="block text-sm font-medium no-underline text-darkblack pr-4">Installation Accessories</span></a>
3980                                                        </li>
3981                                                           
3982                                                                                                                                                                    <li class="level-2 w-4/12 pr-6 pb-6">
3983                                                            <a href="https://www.flooringinc.com/shop/installation-care/trims-moldings.html"
3984                                                            title="Floor&#x20;Trims&#x20;&amp;&#x20;Moldings"
3985                                                            class="level-2 block">
3986                                                                                                                                <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>   
3987                                                                                                                                                                                        
3988                                                            <span class="block text-sm font-medium no-underline text-darkblack pr-4">Floor Trims &amp; Moldings</span></a>
3989                                                        </li>
3990                                                           
3991                                                                                                                                                                    <li class="level-2 w-4/12 pr-6 pb-6">
3992                                                            <a href="https://www.flooringinc.com/shop/installation-care/underlayment.html"
3993                                                            title="Flooring&#x20;Underlayment"
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_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>   
3996                                                                                                                                                                                        
3997                                                            <span class="block text-sm font-medium no-underline text-darkblack pr-4">Flooring Underlayment</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/cleaners.html"
4002                                                            title="Flooring&#x20;Cleaners"
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_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>   
4005                                                                                                                                                                                        
4006                                                            <span class="block text-sm font-medium no-underline text-darkblack pr-4">Flooring Cleaners</span></a>
4007                                                        </li>
4008                                                           
4009                                                        
4010                                                                                                <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>
4011                                             
4012
4013                                                </ul>
4014                                            </li>
4015                                            
4016                                            
4017                                                                                                                            
4018                                            <li :class="{ 'active': show }" class="level-1 level1 "  x-data="{ show: false }"  
4019                                                                                        x-on:click="show = true; removeDisplayFirst()" @click.away="show = false"
4020                                                                                        >
4021                                                <a 
4022                                                title="Specials"
4023                                                class="level-1 w-1/4 py-1/5 px-6 text-size13 block text-sm rounded text-darkblack relative"
4024                                                
4025                                                    >
4026                                                    Specials
4027                                                                                                            <span class="inline items-center rotate-180 absolute">
4028                                                            <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">
4029  <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"/>
4030<title>chevron-down</title></svg>
4031                                                        </span>
4032                                                                                                    </a>
4033                                                
4034                                                <ul class="z-10 w-1/2 absolute top-0 level2 flex flex-wrap pt-3 megamenu-extrablock" x-show="show">
4035                                                    <span class="block w-full text-size28 font-medium no-underline text-darkblack pb-2">Specials</span>
4036
4037                                                                                                            <li class="level-2 w-4/12 pr-6 pb-6">
4038                                                            <a href="https://www.flooringinc.com/shop/specials/hot-buys.html"
4039                                                            title="Flooring&#x20;Deals"
4040                                                            class="level-2 block">
4041                                                                                                                                <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>   
4042                                                                                                                                                                                        
4043                                                            <span class="block text-sm font-medium no-underline text-darkblack pr-4">Flooring Deals</span></a>
4044                                                        </li>
4045                                                           
4046                                                                                                                                                                    <li class="level-2 w-4/12 pr-6 pb-6">
4047                                                            <a href="https://www.flooringinc.com/shop/specials/made-in-usa.html"
4048                                                            title="American&#x20;Made"
4049                                                            class="level-2 block">
4050                                                                                                                                <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>   
4051                                                                                                                                                                                        
4052                                                            <span class="block text-sm font-medium no-underline text-darkblack pr-4">American Made</span></a>
4053                                                        </li>
4054                                                           
4055                                                                                                                                                                    <li class="level-2 w-4/12 pr-6 pb-6">
4056                                                            <a href="https://www.flooringinc.com/shop/specials/quick-ship.html"
4057                                                            title="Quick&#x20;Ship"
4058                                                            class="level-2 block">
4059                                                                                                                                <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>   
4060                                                                                                                                                                                        
4061                                                            <span class="block text-sm font-medium no-underline text-darkblack pr-4">Quick Ship</span></a>
4062                                                        </li>
4063                                                           
4064                                                                                                                                                                    <li class="level-2 w-4/12 pr-6 pb-6">
4065                                                            <a href="https://www.flooringinc.com/shop/specials/new-arrivals.html"
4066                                                            title="New&#x20;Arrivals"
4067                                                            class="level-2 block">
4068                                                                                                                                <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>   
4069                                                                                                                                                                                        
4070                                                            <span class="block text-sm font-medium no-underline text-darkblack pr-4">New Arrivals</span></a>
4071                                                        </li>
4072                                                           
4073                                                                                                            
4074                                                                                                <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>
4075                                             
4076
4077                                                </ul>
4078                                            </li>
4079                                            
4080                                            
4081                                                                                
4082                                                                                    
4083                                                                                            <!--<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>-->
4083
4084                                         
4085                                    </ul>
4086                                </div>
4087                                
4088                            </div>
4089                        </div>
4090                        </template>
4091                                    </div>
4092                        <div class="menu_static_links">
4093                <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>
4094<li><a tabindex="0" href="/shop-by-category/specials/hot-buys.html">Sale</a></li>
4095<li><a tabindex="0" href="/blog">Get Inspired &amp; How To</a></li>
4096</ul></div></div></div>            </div>
4097        </nav>
4098    </div>
4099
4100</div>
4101<script>
4102  'use strict';
4103
4104  const initMenuDesktop_6ab67d17d86df = () => {
4105    return {
4106      hoverTopPosition: '100%',
4107      setActiveMenu(menuNode) {
4108        Array.from(menuNode.querySelectorAll('a')).filter(link => {
4109          return link.href === window.location.href.split('?')[0];
4110        }).map(item => {
4111          if (!item.classList.contains('level-0')) {
4112            item.classList.add('underline');
4113          }
4114          item.closest('div.level-0') &&
4115          item.closest('div.level-0').classList.add('border-secondary');
4116        });
4117      }
4118    }
4119  }
4120</script>
vendor: 1 bytes, line 4120
4120
4121<script>
4122    // Function to remove 'display-first' class from other list items
4123    function removeDisplayFirst() {
4124        var listItems = document.querySelectorAll('.level1');
4125        listItems.forEach(function(item) {
4126            if (item.id !== this.id) {
4127                item.classList.remove('display-first');
4128            }
4129        });
4130    }
4131</script>
4131
4132        <!--Search-->
4133        <div class="w-full"
4134             id="search-content"
4135             :class="{ 'block': searchOpen}"  
4136             @click.outside="searchOpen = false"
4137        >
4138            
4139<div class="py-0 px-0 pl-5 mx-auto text-black" x-data="initMirasvitSearch()" @click.away="closeSearch">
4140    <form class="form minisearch relative" id="search_mini_form" action="https://www.flooringinc.com/catalogsearch/result/" method="get" autocomplete="off">
4141        <label class="hidden" for="search" data-role="minisearch-label">
4142            <span>Search</span>
4143        </label>
4144        <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 
4145                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)"/>
4146                <button class="action search absolute">btn</button>
4147    </form>
4148
4149    <div x-cloak x-show="isOpen" id="mirasvitSearchResults" class="search_box transition appearance-none absolute">
4150        <div class="flex flex-row justify-center items-center w-full h-full fixed select-none z-50"
4151     style="left: 50%;top: 50%;transform: translateX(-50%) translateY(-50%);background: rgba(255,255,255,0.7);"
4152     x-show="isLoading"
4153     x-transition:enter="ease-out duration-200"
4154     x-transition:enter-start="opacity-0"
4155     x-transition:enter-end="opacity-100"
4156     x-transition:leave="ease-in duration-200"
4157     x-transition:leave-start="opacity-100"
4158     x-transition:leave-end="opacity-0">
4159    <!-- By Sam Herbert (@sherb), for everyone. More @ http://goo.gl/7AJzbL -->
4160<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 57 57" stroke="currentColor" class="text-primary" width="57" height="57" role="img">
4161    <g fill="none" fill-rule="evenodd">
4162        <g transform="translate(1 1)" stroke-width="2">
4163            <circle cx="5" cy="50" r="5">
4164                <animate attributeName="cy" begin="0s" dur="2.2s" values="50;5;50;50" calcMode="linear" repeatCount="indefinite"/>
4165                <animate attributeName="cx" begin="0s" dur="2.2s" values="5;27;49;5" calcMode="linear" repeatCount="indefinite"/>
4166            </circle>
4167            <circle cx="27" cy="5" r="5">
4168                <animate attributeName="cy" begin="0s" dur="2.2s" from="5" to="5" values="5;50;50;5" calcMode="linear" repeatCount="indefinite"/>
4169                <animate attributeName="cx" begin="0s" dur="2.2s" from="27" to="27" values="27;49;5;27" calcMode="linear" repeatCount="indefinite"/>
4170            </circle>
4171            <circle cx="49" cy="50" r="5">
4172                <animate attributeName="cy" begin="0s" dur="2.2s" values="50;50;5;50" calcMode="linear" repeatCount="indefinite"/>
4173                <animate attributeName="cx" from="49" to="49" begin="0s" dur="2.2s" values="49;5;27;49" calcMode="linear" repeatCount="indefinite"/>
4174            </circle>
4175        </g>
4176    </g>
4177<title>loader</title></svg>
4178    <div class="ml-10 text-primary text-xl">
4179        Loading...    </div>
4180</div>
4181
4182        <template x-if="hotSearch">
4183            <div class="hotSearch">
4184                <p class="text-lg leading-normal transition appearance-none text-grey-800 lg:text-xl border-b border-100 p-2 flex">
4185                    Hot Searches                </p>
4186                <div class="my-3 flex flex-wrap">
4187                                    </div>
4188            </div>
4189        </template>
4190
4191        <template x-if="searchResults">
4192            <div class="search_box_content w-full flex flex-wrap ">
4193                                    <div class="search_box_left relative">
4194                    <p class="product_title text-size20 font-medium text-black">
4195                        Top Results                        <template x-if="searchProducts != ''">
4196                            <small class="text-size16 font-medium text-black hidden">(<span x-html="searchProductsTotal"></span>)</small>
4197                        </template>
4198                    </p>
4199                    <div class="viewAll absolute right-0">
4200                            <div>
4201                                <a x-bind:href="numberResultsUrl">
4202                                    <p class="text-size14 font-normal text-black underline number-results" x-html="numberResults"></p>
4203                                </a>
4204                            </div>
4205                        </div>
4206                    <div class="search_box_left_content lg:grid-cols-6">
4207                        <template x-for="item in searchProducts">
4208                            <div class="search_products flex">
4209                                <a x-bind:href="`${item.url}`" class="">
4210                                    <div class="w-full product-image">
4211                                        <img x-bind:src="`${item.imageUrl}`" width="275" height="182" class="w-full"/>
4212                                    </div>
4213                                </a>    
4214                                    <div class="w-full product-content">
4215                                    <a x-bind:href="`${item.url}`" class=""><h4 class="product-name text-size14 font-medium text-black" x-html="item.name"></h4></a>
4216                                        <template x-if="item.rating > 0">
4217                                            <div class="ratings flex item-center">
4218                                                <div x-html="item.rating"></div>(<span x-html="item.reviews"></span>)
4219                                            </div>
4220                                        </template>
4221                                        <template x-if="item.orderFreeSample > 0">
4222                                        <div x-cloak x-data="{showModal: false, htmlContent: '',pid: item.proId }">
4223                                            <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>
4224                                            <div class="modal order-free-sample-popup z-50" x-show="showModal">
4225                                                <div class="modal-overlay" x-on:click="showModal = false"></div>
4226                                                <button class="closemodal" type="button" x-on:click="showModal = false">Close X</button>
4227                                                <div class="modal-content">    
4228                                                    <div x-html="htmlContent" :class="'htmlcontent' + item.proId"></div>
4229                                                </div>
4230                                            </div>
4231                                        </div>
4232                                        </template>
4233                                        <!-- <p class="mt-2 text-gray-600 text-xs truncate" x-html="item.description"></p> -->
4234                                        <template x-if="item.colorCount > 0"> 
4235                                            <p class="text-size13 font-normal text-black truncate">                                            
4236                                                Available in <span x-html="item.colorCount"></span> colors                                                                                       
4237                                            </p>
4238                                        </template> 
4239                                        <!--<div class="truncate-content">
4240                                            <p class="text-size13 font-normal text-black truncate" x-html="item.dealOfTheMonth"></p>
4241                                            <p class="text-size13 font-normal text-black truncate" x-html="item.freeShipping"></p>
4242                                            <p class="text-size13 font-normal text-black truncate" x-html="item.shipNextDay"></p>
4243                                        </div>-->
4244                                        <div class="price_container flex item-center justify-between">
4245                                            <span class="text-size14 font-semibold text-black" x-html="item.price"></span>
4246                                        </div>
4247                                    </div>
4248                                
4249                            </div>
4250                        </template>
4251                        <template x-if="searchProducts == ''">
4252                            <p>No results found.</p>
4253                        </template>
4254                    </div>
4255                    </div>
4256                                        <div class="results-rightside">
4257                    <template x-if="searchCategories != ''">
4258                        <div class="mb-6 category-rest">
4259                            <p class="categorie-title text-size20 font-medium text-black pb-2">
4260                                In Categories                                <small class="text-size16 font-medium text-black hidden">(<span x-html="searchCategoriesTotal"></span>)</small>
4261                            </p>
4262                            <div class="catgry-list">
4263                                <template x-for="category in searchCategories">
4264                                    <a x-bind:href="`${category.url}`">
4265                                        <div class="text-size14 font-normal text-black">
4266                                            <span class="text-size14 font-normal text-black cursor-pointer" x-html="category.name.split('>').pop().trim()"></span>
4267                                        </div>
4268                                    </a>
4269                                </template>
4270                            </div>
4271                        </div>
4272                    </template>
4273
4274                   <!-- <template x-if="searchPages != ''">
4275                        <div class="mb-6">
4276                            <p class="text-lg leading-normal transition appearance-none text-grey-800 lg:text-xl border-b border-100 p-2 flex">
4277                                Pages                                <small class="text-size16 font-medium text-black">(<span x-html="searchPagesTotal"></span>)</small>
4278                            </p>
4279                            <div class="px-2">
4280                                <template x-for="page in searchPages">
4281                                    <a x-bind:href="`${page.url}`">
4282                                        <div class="my-2 flex flex-wrap">
4283                                            <span class="text-size14 font-normal text-black cursor-pointer" x-html="page.name"></span>
4284                                        </div>
4285                                    </a>
4286                                </template>
4287                            </div>
4288                        </div>
4289                    </template> -->
4290
4291                    <template x-if="searchPosts != ''">
4292                        <div class="search_box_right">
4293                            <p class="blog-title text-size20 font-medium text-black">
4294                                In Blogs                                <!-- <small class="<//?= $titleNumberCSS ?>">(<span x-html="searchPostsTotal"></span>)</small> -->
4295                            </p>
4296                            <div class="search_box_right_content">
4297                                <template x-for="item in searchPosts">
4298                                    <div>
4299                                        <a x-bind:href="`${item.url}`" class="blog-items block">
4300                                            <div>
4301                                                <span class="blog-name text-size14 font-normal text-black" x-html="item.name"></span>
4302                                            </div>
4303                                        </a>
4304                                        <span class="item_description text-size14 font-normal text-black opacity-50 mb-4 block" x-html="item.description"></span>
4305                                    </div>
4306                                </template>
4307                            </div>
4308                        </div>
4309                    </template>
4310                            </div>                
4311                
4312            </div>
4313        </template>
4314
4315        <template x-if="noResults">
4316            <div class="p-2 text-size20 font-medium text-black overflow-hidden">
4317                <p class="text-lg leading-normal transition appearance-none text-grey-800 lg:text-xl" x-html="noResultsText"></p>
4318            </div>
4319        </template>
4320    </div>
4321</div>
4322
4323<script>
4324    function initMirasvitSearch() {
4325        return {
4326            //initialize Variables
4327            hotSearch:             false,
4328            searchResults:         false,
4329            noResults:             false,
4330            isLoading:             false,
4331            isOpen:                false,
4332            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"},
4333            xhttp:                 false,
4334            noResultsText:         '',
4335            numberResults:         '',
4336            numberResultsUrl:      '',
4337            searchProductsTotal:   '',
4338            searchCategoriesTotal: '',
4339            searchPagesTotal:      '',
4340            
4341            searchProducts:   [],
4342            searchCategories: [],
4343            searchPages:      [],
4344            searchPosts:      [],
4345            
4346            searchMap: {
4347                'magento_cms_page':         'Pages',
4348                'magento_catalog_category': 'Categories',
4349                'magento_catalog_product':  'Products',
4350                'magefan_blog_post':        'Posts'
4351            },
4352            
4353            hotSearchClickEvent: function (ev) {
4354                var hotSearchClick = event.currentTarget.innerText;
4355                document.getElementById("search").value = hotSearchClick;
4356
4357                this.doSearch(hotSearchClick);
4358            },
4359            
4360            openSearch: function () {
4361                //this.isOpen = true;
4362                searchValue = document.getElementById("search").value.length;
4363
4364                if (searchValue >= this.blockConfig.minSearchLength) {
4365                    this.hideHotSearch();
4366                } else {
4367                    this.showHotSearch();
4368                    this.hideSearchResults();
4369                }
4370            },
4371            
4372            startSearch: function (e) {
4373                if (e) {
4374                    //this.isOpen = true;
4375                }
4376            },
4377
4378             getSearchresult: function () {
4379                this.isOpen = true;
4380            },
4381            
4382            closeSearch: function () {
4383                this.isOpen = false;
4384            },
4385            
4386            showHotSearch: function () {
4387                this.hotSearch = true;
4388            },
4389            
4390            hideHotSearch: function () {
4391                this.hotSearch = false;
4392               
4393            },
4394            
4395            showSearchResults: function () {
4396                this.searchResults = true;
4397               // this.isOpen = true;
4398            },
4399            
4400            hideSearchResults: function () {
4401                this.searchResults = false;
4402               // this.isOpen = false;
4403            },
4404
4405            showNoResults: function () {
4406                this.noResults = true;
4407            },
4408            
4409            hideNoResults: function () {
4410                this.noResults = false;
4411            },
4412            
4413            setNoResultsText(text) {
4414                if (!text) {
4415                    return;
4416                }
4417                console.log(text);
4418                this.noResultsText = text;
4419                this.isOpen = true;
4420            },
4421
4422            setNumberResults(text) {
4423                this.numberResults = text;
4424            },
4425            
4426            setNumberResultsUrl(text) {
4427                this.numberResultsUrl = text;
4428            },
4429            
4430            resetSearchData: function () {
4431                // Reinitialize Variables to avoid wrong search results.
4432                this.searchPages = [];
4433                this.searchPagesTotal = 0;
4434                this.searchCategories = [];
4435                this.searchCategoriesTotal = 0;
4436                this.searchProducts = [];
4437                this.searchProductsTotal = 0;
4438            },
4439            
4440            doSearch: function (query) {
4441                this.isOpen = false;
4442                var self = this;
4443                // Min search length
4444                if (query.length < this.blockConfig.minSearchLength) {
4445                    this.showHotSearch();
4446                    this.isLoading = false;
4447                    this.hideSearchResults();
4448                    this.hideNoResults();
4449
4450                    return;
4451                } else {
4452                    this.hideHotSearch();
4453                    this.isLoading = true;
4454                    this.showSearchResults();
4455                    this.hideNoResults();
4456                }
4457                
4458                // AJAX for searchautocomplete/ajax/suggest/
4459                if (this.xhttp) {
4460                    try {
4461                        this.xhttp.abort();
4462                    } catch {
4463                        
4464                    }
4465                }
4466                this.xhttp = new XMLHttpRequest();
4467                var xhttp = this.xhttp;
4468                
4469                var queryEncoded = encodeURIComponent(query);
4470                var url = this.blockConfig.url.replace(/\/$/, "") + "/?q=" + queryEncoded + "&store_id=" + this.blockConfig.storeId + "&cat=false";
4471                
4472                xhttp.open("GET", url, true);
4473                xhttp.setRequestHeader("Content-Type", "application/json");
4474                
4475                xhttp.onreadystatechange = function () {
4476                    if (this.readyState === 4 && this.status === 200) {
4477                        
4478                      
4479                        // Response from ajax call in JSON.
4480                        var response = JSON.parse(this.responseText);
4481                        console.log(response);
4482                        self.resetSearchData();
4483                        
4484                        // Product Search Results
4485                        for (index in response.indexes) {
4486                            
4487                            if (response.indexes[index].items.length > 0) {
4488                                self.getSearchresult();
4489                                var res = response.indexes[index];
4490                                var map = null;
4491                                
4492                                if (self.searchMap[res.identifier]) {
4493                                    map = self.searchMap[res.identifier];
4494                                    self['search' + map] = res.items;
4495                                    self['search' + map + 'Total'] = res.totalItems;
4496                                }
4497                            }
4498                        }
4499                        
4500                        // Extract totalItems from response.textAll and format if > 999
4501                        let textAll = response.textAll;
4502                        if (response.textAll) {          
4503                            // Remove the → symbol (or any trailing characters you'd like to remove)
4504                            textAll = textAll.replace(/→$/, '').trim();                  
4505                            // Find number within textAll using regex
4506                            let totalItemsMatch = textAll.match(/\d+/); // Extracts the first number found
4507                            if (totalItemsMatch) {
4508                                let totalItemsFromTextAll = parseInt(totalItemsMatch[0], 10);
4509                                if (totalItemsFromTextAll > 999) {
4510                                    // Format with comma if > 999
4511                                    textAll = textAll.replace(totalItemsMatch[0], totalItemsFromTextAll.toLocaleString());
4512                                }
4513                            }
4514                            console.log("Formatted textAll:", textAll);
4515                            self.setNumberResults(textAll); // Update the UI with the formatted textAll
4516                        }
4517                        
4518                        self.isLoading = false;
4519                        self.hideNoResults();
4520                        self.setNumberResults(textAll);
4521                        self.setNumberResultsUrl(response.urlAll);
4522                        
4523                        if (response.noResults) {console.log(response.textEmpty);
4524                            self.showNoResults();
4525                            self.setNoResultsText(response.textEmpty);
4526                            self.hideSearchResults();
4527                            
4528                        }
4529                    }else{
4530                       this.isOpen = false;  
4531                    }
4532                };
4533
4534                xhttp.send();
4535            }
4536        }
4537    }
4538</script>
4538         </div>
4539
4540        <div class="flex items-center order-3"> 
4541            <!--Compare Icon-->
4542            <a id="compare-link"
4543               class="relative invisible inline-block mx-1 no-underline sm:ml-3 hover:text-black"
4544               :class="{ 'invisible': !(itemCount > 0) }"
4545               href="https://www.flooringinc.com/catalog/product_compare/index/"
4546               title="Compare Products"
4547               x-data="initCompareHeader()"
4548               @private-content-loaded.window="receiveCompareData($event.detail.data)"
4549            >
4550                <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">
4551  <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"/>
4552<title>scale</title></svg>
4553
4554                <span class="sr-only label">
4555                   Compare Products                </span>
4556
4557                <span class="absolute top-0 right-0 h-5 px-2 py-1 -mt-5 -mr-4 text-xs font-semibold
4558                    leading-none text-center text-white uppercase transform -translate-x-1
4559                    translate-y-1/2 bg-yellow-500 rounded-full"
4560                >
4561                    <span x-text="itemCount"></span>
4562                    <span x-show="itemCount === 1" class="sr-only">
4563                        item                    </span>
4564                    <span x-show="itemCount > 1" class="sr-only">
4565                        items                    </span>
4566                </span>
4567            </a>
4568
4569            <!--Search Icon-->
4570            <button id="menu-search-icon"
4571                    class="inline-block ml-1 no-underline sm:ml-3 hover:text-black hidden"
4572                    @click.prevent="
4573                        searchOpen = !searchOpen;
4574                        $nextTick(function () { document.querySelector('#search').select(); });
4575                    "
4576            >
4577                <span class="sr-only label">
4578                    Search                </span>
4579
4580                <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">
4581  <path stroke-linecap="round" stroke-linejoin="round" d="M21 21l-6-6m2-5a7 7 0 11-14 0 7 7 0 0114 0z"/>
4582<title>search</title></svg>
4583            </button>
4584
4585            <!--Customer Icon & Dropdown-->
4586            
4586<script>
4587"use strict";
4588
4589function initComponent() {
4590  return {
4591    cart: false,
4592    customer: false,
4593    receiveCustomerData(data) {
4594      if (data.cart) {
4595        this.cart = data.cart;
4596      }
4597      if (data.customer) {
4598        this.customer = data.customer;
4599      }
4600    }
4601  }
4602}
4603</script>
4603
4604
4605
4606<div x-data="{ open: false }" class="relative inline-block acc-dropdown">
4607        <div class="arrow-cus">
4608        <a
4609        href="https&#x3A;&#x2F;&#x2F;www.flooringinc.com&#x2F;customer&#x2F;account&#x2F;"
4610        id="customer-menu"
4611        class="block hover:text-black "
4612                    @click.prevent="$dispatch('popup-register',
4613                { open: true,openRegister : false,openLogin : true,openCreate :true,
4614                openButtonLogin :true,
4615                openButtonRegister :false,
4616            })"
4617                :aria-expanded="open ? 'true' : 'false'"
4618        aria-label="My&#x20;Account"
4619    >
4620            <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="currentColor"
4621             class="w-8 h-8 md:h-6 md:w-6" aria-hidden="true">
4622            <circle fill="none" cx="12" cy="7" r="3"></circle>
4623            <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
4624                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
4625                0-7 3.141-7 7v1h2v-1c0-2.757 2.243-5 5-5h4c2.757 0 5 2.243 5 5v1H21z">
4626            </path>
4627        </svg>
4628           
4629    </a>
4630        </div>
4631            <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
4632        shadow-lg sm:w-48 lg:mt-3 bg-container-lighter"
4633         :class="{ 'hidden' : !open }"
4634         @click.outside="open = false"
4635         x-cloak x-show="open"
4636         aria-labelledby="customer-menu"
4637    >
4638                    
4639<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"
4640   onclick="hyva.setCookie && hyva.setCookie(
4641       'login_redirect',
4642       window.location.href,
4643       1
4644   )"
4645   href="https://www.flooringinc.com/customer/account/index/">
4646        Sign In    </a>
4647<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"
4648   href="https://www.flooringinc.com/customer/account/create/"
4649   title=""
4650   >
4651        Create an Account    </a>
4652            </nav>
4653</div>
4654            <!--Quote Cart Icon (show when activeCartType is 'quote' and quote has items)-->
4655            <template x-if="activeCartType === 'quote' && quoteCart.summary_count">
4656            <a id="menu-cart-quote-icon"
4657               class="relative inline-block ml-1 no-underline sm:ml-3 hover:text-black pl-3"
4658               :class="{
4659                        'hidden': !(activeCartType === 'quote' && quoteCart.summary_count),
4660                        'block': activeCartType === 'quote' && quoteCart.summary_count }"
4661               href="https://www.flooringinc.com/amasty_quote/cart/"
4662            >
4663             <span class="checkout-icon">
4664                <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">
4665  <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"/>
4666<title>shopping-cart</title></svg>
4667                </span>
4668                 <span x-text="quoteCart.summary_count"
4669                      class="absolute top-0 right-0 h-5 px-2 py-1 -mt-5 -mr-4 text-xs font-semibold
4670                        leading-none text-center text-white uppercase transform -translate-x-1
4671                        translate-y-1/2 rounded-full bg-primary"
4672                      :class="{
4673                        'hidden': !quoteCart.summary_count,
4674                        'block': quoteCart.summary_count }"
4675                ></span>
4676            </a>
4677            </template>
4678            <!--Regular Cart Icon (show when activeCartType is 'cart' or when quote mode but quote empty - always show an icon)-->
4678
4679            <a id="menu-cart-icon"
4680               x-show="activeCartType === 'cart' || (activeCartType === 'quote' && !quoteCart.summary_count)"
4681               @click.prevent.stop="$dispatch('toggle-cart',{});"               class="relative inline-block ml-6 no-underline hover:text-black"
4682               href="https://www.flooringinc.com/checkout/cart/index/"
4683            >
4684                <span class="sr-only label">
4685                    Cart                </span>
4686
4687                <span class="cart-icon">
4688                    <img src="https://www.flooringinc.com/static/version1789462004/frontend/Dcw/hyvadesktop/en_US/images/cart-icon.svg" alt="cart-icon" width="24" height="24">
4689                    <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>
4690                </span>
4691
4692                <span x-text="cart.summary_count"
4693                      class="absolute top-0 right-0 h-5 px-2 py-1 -mt-5 -mr-4 text-xs font-semibold
4694                        leading-none text-center text-white uppercase transform -translate-x-1
4695                        translate-y-1/2 rounded-full bg-primary"
4696                      :class="{
4697                        'hidden': !cart.summary_count,
4698                        'block': cart.summary_count }"
4699                ></span>
4700            </a>
4701
4702        </div>
4703    </div>
4704
4705    <!--Cart Drawer-->
4706    
4706<script>
4707    function initCartDrawer() {
4708        return {
4709            open: false,
4710            isLoading: false,
4711            cart: {},
4712            maxItemsToDisplay: 10,
4713            itemsCount: 0,
4714            totalCartAmount: 0,
4715            getData(data) {
4716                if (data.cart) {
4717                    this.cart = data.cart;
4718                    this.itemsCount = data.cart.items && data.cart.items.length || 0;
4719                    this.totalCartAmount = this.cart.summary_count; 
4720                    //this.cart.summary_count = this.itemsCount;
4721                    this.setCartItems();
4722                } 
4723                this.isLoading = false;
4724            },
4725            cartItems: [],
4726            getItemCountTitle() {
4727                return hyva.strf('(%0 of %1)', this.maxItemsToDisplay, this.totalCartAmount)
4728            },
4729            setCartItems() {
4730                if(this.cart.items){
4731                this.cartItems = this.cart.items && this.cart.items.sort((a, b) => b.item_id - a.item_id) || [];
4732                } else {
4733                    this.cartItems = [];
4734                }
4735                if (this.maxItemsToDisplay > 0) {
4736                    this.cartItems = this.cartItems.slice(0, parseInt(this.maxItemsToDisplay, 10));
4737                }
4738                getCustomerData(['customer'], function(data) {
4739                if(data.messages.messages[0]){
4740                var messagesType = data.messages.messages[0].type;
4741                var messagesText = data.messages.messages[0].text;
4742                if(messagesType === "success"){
4743                    dispatchMessages([
4744                    {
4745                        type: messagesType,
4746                        text: messagesText
4747                    }
4748                    ]);
4749                        this.openCartDrawer();
4750                } else {
4751                    dispatchMessages([
4752                    {
4753                        type: messagesType,
4754                        text: messagesText
4755                    }
4756                    ]);
4757                }
4758                }
4759                window.dispatchEvent(new CustomEvent('amcart-loading-stop'));
4760                });             
4761                
4762                if(document.querySelectorAll('.btn_cart')) {
4763                    var addtocartnew = document.querySelectorAll('.btn_cart');
4764
4765                    addtocartnew.forEach(addtocartnew => {
4766                      addtocartnew.addEventListener('click', () => {
4767                        setTimeout(() => {
4768                        }, 2500); 
4769                      });
4770                    });
4771                }
4772                if(document.getElementById('product-addtocart-button')) {
4773                    var addtocartnew2 = document.getElementById('product-addtocart-button');
4774                    
4775                    addtocartnew2.addEventListener('click', () => {
4776                        setTimeout(() => {
4777                        }, 2500); 
4778                    });
4779                }
4780
4781               
4782            },
4783            deleteItemFromCart(itemId) {
4784                this.isLoading = true;
4785
4786                const formKey = hyva.getFormKey();
4787                const postUrl = BASE_URL + 'amasty_quote/quote/removeFromMinicart';
4788                fetch(postUrl, {
4789                    "headers": {
4790                        "content-type": "application/x-www-form-urlencoded; charset=UTF-8",
4791                    },
4792                    "body": "form_key=" + formKey + "&item_id=" + itemId,
4793                    "method": "POST",
4794                    "mode": "cors",
4795                    "credentials": "include"
4796                }).then(response => {
4797                    window.location.href = window.location.pathname; // Reload the page after item remove
4798                    if (response.redirected) {
4799                        window.location.href = response.url;
4800                    } else if (response.ok) {
4801                        return response.json();
4802                    } else {
4803                        window.dispatchMessages && window.dispatchMessages([{
4804                            type: 'warning',
4805                            text: 'Could\u0020not\u0020remove\u0020item\u0020from\u0020quote.'
4806                        }]);
4807                        this.isLoading = false;
4808                    }
4809                }).then(result => {
4810                    window.dispatchMessages && window.dispatchMessages([{
4811                        type: result.success ? 'success' : 'error',
4812                        text: result.success
4813                            ? 'You\u0020removed\u0020the\u0020item.'
4814                            : result.error_message
4815                    }], result.success ? 5000 : 0)
4816                    window.dispatchEvent(new CustomEvent('reload-customer-section-data'));
4817                });
4818            },
4819            toggleCartDrawer(event) {
4820                if (event.detail && event.detail.isOpen !== undefined) {
4821                    if (event.detail.isOpen) {
4822                        this.openCartDrawer()
4823                    } else {
4824                        this.open = false
4825                        this.$refs && this.$refs.cartDialogContent && hyva.releaseFocus(this.$refs.cartDialogContent)
4826                    }
4827                } else {
4828                                        this.openCartDrawer()
4829                }
4830            },
4831            openCartDrawer() {
4832                this.open = true;
4833                this.$nextTick(() => {
4834                    this.$refs && this.$refs.cartDialogContent && hyva.trapFocus(this.$refs.cartDialogContent)
4835                })
4836            },
4837            closeCartDrawer() {
4838                this.$dispatch('toggle-cart', { isOpen: false })
4839            }
4840        }
4841    }
4842    function getCustomerData(sections, callback) {
4843          fetch('/customer/section/load/?sections=')
4844            .then(response => response.json())
4845            .then(data => callback(data))
4846            .catch(error => console.error('Error fetching customer data:', error));
4847        }
4848</script>
4848
4849<section x-cloak
4850         x-show="cart"
4851         id="cart-drawer"
4852         x-data="initCartDrawer()"
4853         @private-content-loaded.window="getData($event.detail.data)"
4854         @toggle-cart.window="toggleCartDrawer($event)"
4855         @keydown.window.escape="closeCartDrawer"
4856>
4857        <div role="dialog"
4858             aria-labelledby="cart-drawer-title"
4859             aria-modal="true"
4860             @click.outside="open=false"
4861             class="fixed inset-y-0 right-0 z-30 flex max-w-full">
4862            <div class="backdrop"
4863                 x-show="open"
4864                 x-transition:enter="ease-in-out duration-500"
4865                 x-transition:enter-start="opacity-0"
4866                 x-transition:enter-end="opacity-100"
4867                 x-transition:leave="ease-in-out duration-500"
4868                 x-transition:leave-start="opacity-100"
4869                 x-transition:leave-end="opacity-0"
4870             role="button"
4871             @click="closeCartDrawer"
4872             aria-label="Close&#x20;minicart"></div>
4873            <div class="relative w-screen max-w-md shadow-2xl"
4874                 x-show="open"
4875                 x-transition:enter="transform transition ease-in-out duration-500 sm:duration-700"
4876                 x-transition:enter-start="translate-x-full"
4877                 x-transition:enter-end="translate-x-0"
4878                 x-transition:leave="transform transition ease-in-out duration-500 sm:duration-700"
4879                 x-transition:leave-start="translate-x-0"
4880                 x-transition:leave-end="translate-x-full"
4881            >
4882                <div
4883                    x-show="open"
4884                    x-transition:enter="ease-in-out duration-500"
4885                    x-transition:enter-start="opacity-0"
4886                    x-transition:enter-end="opacity-100"
4887                    x-transition:leave="ease-in-out duration-500"
4888                    x-transition:leave-start="opacity-100"
4889                    x-transition:leave-end="opacity-0" class="absolute top-0 right-0 flex pr-6 pt-19">
4890                    <button @click="open=false" aria-label="Close panel"
4891                            class="p-0 text-black transition duration-150 ease-in-out hover:text-black">
4892                        <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">
4893  <path stroke-linecap="round" stroke-linejoin="round" d="M6 18L18 6M6 6l12 12"/>
4894<title>x</title></svg>
4895                    </button>
4896                </div>
4897                <div class="flex flex-col h-full bg-lightblue">
4898                    
4899                    <header class="px-4 pt-19 pb-6">
4900                        <h2 id="cart-drawer-title" class="text-size18 font-medium text-black">
4901                        <template x-if="!itemsCount">
4902                            <div>My Cart</div></template>
4903<template x-if="itemsCount">
4904                            <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>
4905</template>
4906                            <span class="items-total text-xs text-black"
4907                                  x-show="maxItemsToDisplay && maxItemsToDisplay < itemsCount"
4908                                  x-text="getItemCountTitle()">
4909                            </span>
4910                        </h2>
4911                    </header>
4912
4913                    
4914<template x-if="!itemsCount">
4915                    <div class="relative px-4 py-6 border-bs sm:px-6 border-container">
4916                        Cart is empty                    </div>
4917                </template>
4918                    <div class="relative grid overflow-y-auto overflow-x-hidden bg-lightblue cart-items">
4919                        <template x-for="item in cartItems">
4920                            <div class="flex items-start cart-item px-4 pt-5 pb-6 transition duration-150
4921                                ease-in-out">
4922                                <template x-if="!item.product_has_url">
4923                                    <a :href="item.product_url" class="w-1/4 pr-6 image">
4924                                        <img
4925                                            :src="item.product_image.src"
4926                                            :width="item.product_image.width"
4927                                            :height="item.product_image.height"
4928                                            loading="lazy"
4929                                        />
4930                                    </a>
4931                                </template>
4932                                <template x-if="item.product_has_url == 1">
4933                                    <a :href="item.product_url" class="w-1/4 pr-6 image">
4934                                        <img
4935                                            :src="item.product_image.src"
4936                                            :width="item.product_image.width"
4937                                            :height="item.product_image.height"
4938                                            loading="lazy"
4939                                        />
4940                                    </a>
4941                                </template>
4942                                <div class="w-3/4">
4943                                    <div>
4944                                        <template x-if="!item.product_has_url">
4945                                            <a :href="item.product_url" class="prosku">
4946                                                <p><span class="product-title text-size16 font-semibold text-darkblack" x-html="item.product_name"></span></p>
4947                                            </a>
4948                                        </template>
4949                                        <template x-if="item.product_has_url == 1">
4950                                            <a :href="item.product_url" class="prosku">
4951                                                <p><span class="product-title text-size16 font-semibold text-darkblack" x-html="item.product_name"></span></p>
4952                                            </a>
4953                                        </template>
4954                                    </div>
4955                                    <template x-for="option in item.options">
4956                                    <div class="flex pt-2 pb-1 item-options w-full"
4957                                    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)">
4958                                            <div class="flex w-full">
4959                                                <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>
4960                                                <template x-if="!item.product_has_url">
4961                                                    <a :href="item.product_url" 
4962                                                    x-show="item.product_type !== 'grouped' && option.label != 'Configurable Product Image'"
4963                                                    class="inline-flex"><p class="pl-1 text-size14 font-normal text-black" x-html="option.value"></p></a>
4964                                                </template>
4965                                                <template x-if="item.product_has_url == 1">
4966                                                    <a :href="item.product_url"
4967                                                    x-show="item.product_type !== 'grouped' && option.label != 'Configurable Product Image'"
4968                                                    class="inline-flex"><p class="pl-1 text-size14 font-normal text-black" x-html="option.value"></p></a>
4969                                                </template>
4970                                            </div>
4971                                        </div>
4972                                    </template>
4973                                    <p class="pb-4 pt-1"><span x-html="item.product_price" class="text-size20 font-bold text-custom-blue pricebox"></span></p>
4974                                    <div class="text-xl flex qty-fields items-center">
4975                                        <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>
4976                                        <div class="ml-auto">                                            
4977                                            <button 
4978                                                    @click="deleteItemFromCart(item.item_id)"
4979                                            >
4980                                                <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>
4981                                            </button>
4982                                        </div>
4983                                    </div>                                   
4984
4985                                </div>
4986                            </div>
4987                        </template>
4988                    </div>
4989<template x-if="itemsCount">
4990                    
4991                    <div class="relative bg-lightblue grid pt-3 pb-4">
4992                        <div class="w-full transition duration-150 ease-in-out sub-total">
4993                            <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>
4994                        </div>
4995                        
4996                        <div class="w-full transition duration-150 ease-in-out
4997                            chekout-btn">                            
4998                            <a href="https://www.flooringinc.com/checkout/cart/"
4999                               class="no-underline block relative font-medium text-size16 text-custom-white bg-custom-blue">
5000                                Proceed to Cart                            </a>
5001                        </div>
5002                                            </div>
5003</template>
5004                                    </div>
5005            </div>
5006            <div class="flex flex-row justify-center items-center w-full h-full fixed select-none z-50"
5007     style="left: 50%;top: 50%;transform: translateX(-50%) translateY(-50%);background: rgba(255,255,255,0.7);"
5008     x-show="isLoading"
5009     x-transition:enter="ease-out duration-200"
5010     x-transition:enter-start="opacity-0"
5011     x-transition:enter-end="opacity-100"
5012     x-transition:leave="ease-in duration-200"
5013     x-transition:leave-start="opacity-100"
5014     x-transition:leave-end="opacity-0">
5015    <!-- By Sam Herbert (@sherb), for everyone. More @ http://goo.gl/7AJzbL -->
5016<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 57 57" stroke="currentColor" class="text-primary" width="57" height="57" role="img">
5017    <g fill="none" fill-rule="evenodd">
5018        <g transform="translate(1 1)" stroke-width="2">
5019            <circle cx="5" cy="50" r="5">
5020                <animate attributeName="cy" begin="0s" dur="2.2s" values="50;5;50;50" calcMode="linear" repeatCount="indefinite"/>
5021                <animate attributeName="cx" begin="0s" dur="2.2s" values="5;27;49;5" calcMode="linear" repeatCount="indefinite"/>
5022            </circle>
5023            <circle cx="27" cy="5" r="5">
5024                <animate attributeName="cy" begin="0s" dur="2.2s" from="5" to="5" values="5;50;50;5" calcMode="linear" repeatCount="indefinite"/>
5025                <animate attributeName="cx" begin="0s" dur="2.2s" from="27" to="27" values="27;49;5;27" calcMode="linear" repeatCount="indefinite"/>
5026            </circle>
5027            <circle cx="49" cy="50" r="5">
5028                <animate attributeName="cy" begin="0s" dur="2.2s" values="50;50;5;50" calcMode="linear" repeatCount="indefinite"/>
5029                <animate attributeName="cx" from="49" to="49" begin="0s" dur="2.2s" values="49;5;27;49" calcMode="linear" repeatCount="indefinite"/>
5030            </circle>
5031        </g>
5032    </g>
5033<title>loader</title></svg>
5034    <div class="ml-10 text-primary text-xl">
5035        Loading...    </div>
5036</div>
5037        </div>
5038    </template>
5039</section>
5040
5041    <!--Authentication Pop-Up-->
5042    
5042<script>
5043    function initAuthentication() {
5044        return {
5045            open: false,
5046            forceAuthentication: false,
5047            checkoutUrl: 'https://www.flooringinc.com/checkout/index/',
5048            errors: 0,
5049            hasCaptchaToken: 0,
5050            displayErrorMessage: false,
5051            errorMessages: [],
5052            setErrorMessages: function setErrorMessages(messages) {
5053                this.errorMessages = [messages];
5054                this.displayErrorMessage = this.errorMessages.length;
5055            },
5056            submitForm: function () {
5057                // Do not rename $form, the variable is expected to be declared in the recaptcha output
5058                const $form = document.querySelector('#login-form-new');
5059                
5060                if (this.errors === 0) {
5061                    this.dispatchLoginRequest($form);
5062                }
5063            },
5064            onPrivateContentLoaded: function (data) {
5065                const isLoggedIn = data.customer && data.customer.firstname;
5066                if (data.cart && !isLoggedIn) {
5067                    this.forceAuthentication = !data.cart.isGuestCheckoutAllowed;
5068                }
5069            },
5070            redirectIfAuthenticated: function (event) {
5071                if (event.detail && event.detail.url) {
5072                    this.checkoutUrl = event.detail.url;
5073                }
5074                if (!this.forceAuthentication) {
5075                    window.location.href = this.checkoutUrl;
5076                }
5077            },
5078            dispatchLoginRequest: function(form) {
5079                this.isLoading = true;
5080                const username = this.$refs['customer-email'].value;
5081                const password = this.$refs['customer-password'].value;
5082                const formKey = hyva.getFormKey();
5083                const bodyFields = {
5084                    'username': username,
5085                    'password': password,
5086                    'formKey': formKey
5087                };
5088                                const fieldName = 'g\u002Drecaptcha\u002Dresponse';
5089                const recaptchaField = fieldName && form[fieldName];
5090                if (recaptchaField) {
5091                    bodyFields[fieldName] = recaptchaField.value;
5092                }
5093                fetch('https://www.flooringinc.com/customer/ajax/login/', {
5094                        method: 'POST',
5095                        headers: {
5096                            'Content-Type': 'application/json',
5097                            'X-Requested-With': 'XMLHttpRequest'
5098                        },
5099                        body: JSON.stringify(bodyFields)
5100                    }
5101                ).then(response => {
5102                        return response.json()
5103                    }
5104                ).then(data=> {
5105                    this.isLoading = false;
5106                    if (data.errors) {
5107                        dispatchMessages([{
5108                            type: 'error',
5109                            text: data.message
5110                        }], 5000);
5111                        this.errors = 1;
5112                        this.hasCaptchaToken = 0;
5113                    } else {
5114                        window.location.href = this.checkoutUrl;
5115                    }
5116                });
5117            }
5118        }
5119    }
5120</script>
5120
5121<section id="authentication-popup"
5122         x-data="initAuthentication()"
5123         @private-content-loaded.window="onPrivateContentLoaded($event.detail.data)"
5124         @toggle-authentication.window="open = forceAuthentication; redirectIfAuthenticated(event)"
5125         @keydown.window.escape="open = false"
5126>
5127        <div role="dialog"
5128             aria-modal="true"
5129             @click.outside="open = false"
5130             class="inset-y-0 right-0 z-30 flex max-w-full"
5131             :class="{'fixed': open }" x-cloak x-show="open"
5132        >
5133            <div class="relative w-screen max-w-md pt-16 bg-container-lighter"
5134                 x-show="open"
5135                 x-cloak=""
5136                 x-transition:enter="transform transition ease-in-out duration-500 sm:duration-700"
5137                 x-transition:enter-start="translate-x-full"
5138                 x-transition:enter-end="translate-x-0"
5139                 x-transition:leave="transform transition ease-in-out duration-500 sm:duration-700"
5140                 x-transition:leave-start="translate-x-0"
5141                 x-transition:leave-end="translate-x-full"
5142            >
5143                <div
5144                    x-show="open"
5145                    x-cloak=""
5146                    x-transition:enter="ease-in-out duration-500"
5147                    x-transition:enter-start="opacity-0"
5148                    x-transition:enter-end="opacity-100"
5149                    x-transition:leave="ease-in-out duration-500"
5150                    x-transition:leave-start="opacity-100"
5151                    x-transition:leave-end="opacity-0" class="absolute top-0 right-0 flex p-2 mt-2">
5152                    <button @click="open = false;" aria-label="Close panel"
5153                            class="p-2 text-gray-300 transition duration-150 ease-in-out hover:text-black">
5154                        <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">
5155  <path stroke-linecap="round" stroke-linejoin="round" d="M6 18L18 6M6 6l12 12"/>
5156<title>x</title></svg>
5157                    </button>
5158                </div>
5159                <div class="flex flex-col h-full py-6 space-y-6 bg-white shadow-xl overflow-y-auto">
5160                    <div class="block-customer-login bg-container border border-container mx-4 p-4 shadow-sm">
5161                        <p id="authenticate-customer-login" class="text-lg leading-7 text-gray-900">
5162                            <strong class="font-medium">Checkout using your account</strong>
5163                        </p>
5164
5165                        <form class="form form-login"
5166                              method="post"
5167                              @submit.prevent="submitForm();"
5168                              id="login-form-new"
5169                        >
5170                                                        <div class="fieldset login">
5171                                <div class="field email required">
5172                                    <label class="label" for="form-login-username" form="login-form" >
5173                                        <span>Email Address</span>
5174                                    </label>
5175                                    <div class="control">
5176                                        <input name="username"
5177                                               id="form-login-username"
5178                                               x-ref="customer-email"
5179                                               @change="errors = 0"
5180                                               type="email"
5181                                               required
5182                                               class="form-input input-text"
5183                                        >
5184                                    </div>
5185                                </div>
5186                                <div class="field password required">
5187                                    <label for="form-login-password" class="label" form="login-form">
5188                                        <span>Password</span>
5189                                    </label>
5190                                    <div class="control">
5191                                        <input name="password"
5192                                               id="form-login-password"
5193                                               type="password"
5194                                               class="form-input input-text"
5195                                               required
5196                                               x-ref="customer-password"
5197                                               @change="errors = 0"
5198                                        >
5199                                    </div>
5200                                </div>
5201
5202                                <input name="context" type="hidden" value="checkout" />
5203                                <div class="actions-toolbar flex justify-between pt-6 pb-2 items-center">
5204                                    <button type="submit"                                            class="inline-flex btn btn-primary disabled:opacity-75"
5205                                    >
5206                                        Sign In                                    </button>
5207                                    <a href="https://www.flooringinc.com/customer/account/forgotpassword/"
5208                                    >
5209                                        Forgot Your Password?                                    </a>
5210                                </div>
5211
5212                            </div>
5213                        </form>
5214                    </div>
5215                    <div class="mx-4">
5216                                            </div>
5217                    <div class="block-new-customer bg-container border border-container mx-4 p-4 shadow-sm">
5218                        <p id="authenticate-new-customer" class="text-lg mb-2 leading-7 text-gray-900">
5219                            <strong class="font-medium">Checkout as a new customer</strong>
5220                        </p>
5221
5222                        <div class="block-content">
5223                            <p class="mb-1">
5224                                Creating an account has many benefits:                            </p>
5225                            <ul class="list-disc pl-5">
5226                                <li> See order and shipping status</li>
5227                                <li> Track order history</li>
5228                                <li> Check out faster</li>
5229                            </ul>
5230                            <div class="actions-toolbar flex justify-between mt-6 mb-2 items-center">
5231                                <a href="https://www.flooringinc.com/customer/account/create/"
5232                                   class="inline-flex btn btn-primary">
5233                                    Create an Account                                </a>
5234                            </div>
5235                        </div>
5236                    </div>
5237                </div>
5238            </div>
5239        </div>
5240</section>
5241
5242    <!--Cart Quote Drawer-->
5243    
5243<script>
5244    function initQuoteCartDrawer() {
5245        return {
5246            open: false,
5247            cartData: {},
5248            getQuoteCartData(data) {
5249                if (data.quotecart) {
5250                    this.cartData = data.quotecart
5251                    this.setCartItems();
5252                }
5253            },
5254            cartItems: [],
5255            setCartItems() {
5256                this.cartItems = this.cartData && this.cartData.items.sort(function(a,b) { return a.item_id - b.item_id }) || {}
5257            },
5258            deleteItemFromCart(itemId) {
5259                var formKey = document.querySelector('input[name=form_key]').value;
5260                fetch(BASE_URL+"amasty_quote/sidebar/removeItem/", {
5261                    "headers": {
5262                        "content-type": "application/x-www-form-urlencoded; charset=UTF-8",
5263                    },
5264                    "body": "form_key="+ formKey + "&item_id="+itemId,
5265                    "method": "POST",
5266                    "mode": "cors",
5267                    "credentials": "include"
5268                }).then(function (response) {
5269                    if (response.redirected) {
5270                        window.location.href = response.url;
5271                    } else if (response.ok) {
5272                        return response.json();
5273                    } else {
5274                        typeof window.dispatchMessages !== "undefined" && window.dispatchMessages(
5275                            [{
5276                                type: "warning",
5277                                text: "Could not remove item from quote."
5278                            }], 5000
5279                        );
5280                    }
5281                }).then(function (response) {
5282                    typeof window.dispatchMessages !== "undefined" && window.dispatchMessages(
5283                        [{
5284                            type: response.success ? "success" : "error",
5285                            text: response.success
5286                                ? "You removed the item."
5287                                : response.error_message
5288                        }], 5000
5289                    );
5290                    var reloadCustomerDataEvent = new CustomEvent("reload-customer-section-data");
5291                    window.dispatchEvent(reloadCustomerDataEvent);
5292                });
5293            }
5294        }
5295    }
5296</script>
5296
5297<section id="cart-quote-drawer"
5298         x-data="initQuoteCartDrawer()"
5299         @private-content-loaded.window="getQuoteCartData(event.detail.data)"
5300         @toggle-quote-cart.window="open=true;"
5301         @keydown.window.escape="open=false"
5302>
5303    <template x-if="cartData && cartData.summary_count">
5304        <div role="dialog"
5305             aria-labelledby="cart-drawer-title"
5306             aria-modal="true"
5307             @click.away="open = false"
5308             class="fixed inset-y-0 right-0 z-30 flex max-w-full">
5309            <div class="backdrop"
5310                 x-show="open"
5311                 x-transition:enter="ease-in-out duration-500"
5312                 x-transition:enter-start="opacity-0"
5313                 x-transition:enter-end="opacity-100"
5314                 x-transition:leave="ease-in-out duration-500"
5315                 x-transition:leave-start="opacity-100"
5316                 x-transition:leave-end="opacity-0"
5317                 @click="open = false"
5318                 aria-label="Close panel"></div>
5319            <div class="relative w-screen max-w-md shadow-2xl"
5320                 x-show="open"
5321                 x-transition:enter="transform transition ease-in-out duration-500 sm:duration-700"
5322                 x-transition:enter-start="translate-x-full"
5323                 x-transition:enter-end="translate-x-0"
5324                 x-transition:leave="transform transition ease-in-out duration-500 sm:duration-700"
5325                 x-transition:leave-start="translate-x-0"
5326                 x-transition:leave-end="translate-x-full"
5327            >
5328                <div
5329                    x-show="open"
5330                    x-transition:enter="ease-in-out duration-500"
5331                    x-transition:enter-start="opacity-0"
5332                    x-transition:enter-end="opacity-100"
5333                    x-transition:leave="ease-in-out duration-500"
5334                    x-transition:leave-start="opacity-100"
5335                    x-transition:leave-end="opacity-0" class="absolute top-0 right-0 flex mr-3 mt-2">
5336                    <button @click="open = false" aria-label="Close panel"
5337                            class="p-2 text-gray-300 transition duration-150 ease-in-out hover:text-black">
5338                        <svg class="w-6 h-6" fill="none" viewBox="0 0 24 24" stroke="currentColor">
5339                            <path stroke-linecap="round" stroke-linejoin="round"
5340                                  stroke-width="2" d="M6 18L18 6M6 6l12 12">
5341                            </path>
5342                        </svg>
5343                    </button>
5344                </div>
5345                <div class="flex flex-col h-full py-6 space-y-6 bg-white shadow-xl">
5346                    <header class="px-4 sm:px-6">
5347                        <div id="cart-drawer-title" class="text-lg font-medium leading-7 text-gray-900">
5348                            My Quote Cart                        </div>
5349                    </header>
5350                    <div class="relative grid gap-6 px-4 py-6 overflow-y-auto bg-white border-b
5351                        sm:gap-8 sm:px-6 border-container">
5352                        <template x-for="item in cartItems">
5353                            <div class="flex items-start p-3 -m-3 space-x-4 transition duration-150
5354                                ease-in-out rounded-lg hover:bg-gray-100">
5355                                <a :href="item.product_url" class="w-1/4">
5356                                    <img
5357                                        :src="item.product_image.src"
5358                                        :width="item.product_image.width"
5359                                        :height="item.product_image.height"
5360                                        loading="lazy"
5361                                    />
5362                                </a>
5363                                <div class="w-3/4 relative">
5364                                    <div>
5365                                        <div class="text-xl">
5366                                            <a :href="item.product_url" class="hover:underline">
5367                                                <span x-html="item.qty"></span> x <span x-html="item.product_name"></span>
5368                                            </a>
5369                                        </div>
5370                                        <div class="text-sm"><span x-html="item.product_sku"></div>
5371                                    </div>
5372                                    <template x-for="option in item.options">
5373                                        <div class="pt-2">
5374                                            <p class="font-semibold" x-text="option.label + ':'"></p>
5375                                            <p class="text-secondary" x-html="option.value"></p>
5376                                        </div>
5377                                    </template>
5378                                    <div><span x-html="item.product_price"></span></div>
5379                                    <div class="pt-4">
5380                                        <a :href="item.configure_url"
5381                                           x-show="item.product_type !== 'grouped'"
5382                                            class="inline-flex p-2 mr-2 btn btn-primary">
5383                                            <svg fill="none" viewBox="0 0 24 24" stroke="currentColor"
5384                                                 size="16" class="w-5 h-5">
5385                                                <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2"
5386                                                      d="M15.232 5.232l3.536 3.536m-2.036-5.036a2.5 2.5 0 113.536
5387                                                      3.536L6.5 21.036H3v-3.572L16.732 3.732z">
5388                                                </path>
5389                                            </svg>
5390                                        </a>
5391                                        <button class="inline-flex p-2 btn btn-primary"
5392                                                @click="deleteItemFromCart(item.item_id)"
5393                                        >
5394                                            <svg fill="none" viewBox="0 0 24 24" stroke="currentColor"
5395                                                 size="16" class="w-5 h-5">
5396                                                <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2"
5397                                                      d="M19 7l-.867 12.142A2 2 0 0116.138 21H7.862a2 2 0
5398                                                      01-1.995-1.858L5 7m5 4v6m4-6v6m1-10V4a1 1 0 00-1-1h-4a1 1
5399                                                      0 00-1 1v3M4 7h16">
5400                                                </path>
5401                                            </svg>
5402                                        </button>
5403                                    </div>
5404                                </div>
5405                            </div>
5406                        </template>
5407                    </div>
5408                    <div class="relative grid gap-6 px-4 py-6 bg-white sm:gap-8 sm:px-6">
5409                        <div class="w-full p-3 -m-3 space-x-4 transition duration-150 ease-in-out rounded-lg
5410                            hover:bg-gray-100">
5411                            <span>Cart Subtotal:</span>
5412                            <span class="text-gray-900 font-bold" x-text="hyva.formatPrice(cartData.subtotalAmount)"></span>
5413                        </div>
5414                        <div class="w-full">
5415                            <a href="https://www.flooringinc.com/amasty_quote/cart/"
5416                               class="btn btn-secondary justify-center">
5417                                View and Edit Cart                            </a>
5418                        </div>
5419                    </div>
5420                </div>
5421            </div>
5422        </div>
5423    </template>
5424</section>
5425
5426</div>
5427
5428<div x-data="initKlaviyoCustomerTracking()"
5429     @private-content-loaded.window="sendCustomerDataToKlaviyo(event.detail.data)"></div>
5430    
5430<script>
5431        function initKlaviyoCustomerTracking() {
5432            return {
5433                sendCustomerDataToKlaviyo(data) {
5434                    window.addEventListener('init-external-scripts', () => {
5435                    const _learnq = window._learnq || [];
5436                    const customer = data.customer;
5437                    var resource = document.createElement('script');
5438                    resource.async = "true";
5439                    resource.src = "https://static.klaviyo.com/onsite/js/klaviyo.js?company_id=WAwVDg";
5440                    var script = document.getElementsByTagName('script')[0];
5441                    script.parentNode.insertBefore(resource, script);
5442
5443                    if (customer && customer.email) {
5444                        script.addEventListener('load', function() {
5445                            _learnq.push(['identify', {
5446                                $email: customer.email,
5447                                $first_name: customer.firstname ? customer.firstname : '',
5448                                $last_name: customer.lastname ? customer.lastname : ''
5449                            }]);
5450                        });
5451                    }
5452                  }, {once: true, passive: true});
5453                }
5454            }
5455        }
5456    </script>
5456
5457<a class="action skip sr-only contentarea"
5458   href="#contentarea">
5459    <span>
5460        Skip to Content    </span>
5461</a>
5462<div class="widget block block-static-block">
5463    <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]">		
5464		<style>#html-body [data-pb-style=LJM3NLA]{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="LJM3NLA"><div data-content-type="html" data-appearance="default" data-element="main" data-decoded="true"><center>
5465<p style="font-size: medium;">🍂 Fall Flooring Refresh - Save Up To 35% Off - Sale Ends Sunday 9/27 </p>
5466
5467</center>
5468</div></div></div></div></div></div>
5469</header><div class="top-container"><nav class="breadcrumbs order-2 w-full" aria-label="Breadcrumb">
5470    <div class="breadcrumbs-in py-8">
5471        <ol class="items list-reset rounded flex flex-wrap text-grey text-sm">
5472                            <li class="item flex home">
5473                                                    <a href="https://www.flooringinc.com/"
5474                       class="no-underline text-sm font-normal"
5475                       title="Go&#x20;to&#x20;Home&#x20;Page"
5476                    >Home</a>
5477                                </li>
5478                            <li class="item flex cms_page">
5479                                    <span aria-hidden="true" class="separator text-primary-lighter px-2 text-sm font-normal">/</span>
5480                                                    <a href=""
5481                       class="text-sm font-semibold current"
5482                       aria-current="page"
5483                    >about</a>
5484                                </li>
5485                    </ol>
5486    </div>
5487</nav>
5488</div><main id="maincontent" class="page-main-full-width"><div id="contentarea" tabindex="-1"></div>
5489<div class="page messages">
5489<script>
5490    function initMessages() {
5491        "use strict";
5492        return {
5493            messages: window.mageMessages || [],
5494            isEmpty() {
5495                return this.messages.reduce(
5496                    function (isEmpty, message) {
5497                        return isEmpty && message === undefined
5498                    }, true
5499                )
5500            },
5501            removeMessage(messageIndex) {
5502                this.messages[messageIndex] = undefined;
5503            },
5504            addMessages(messages, hideAfter) {
5505                messages.map((message) => {
5506                    /* Code to avoid multiple messages on the page */
5507					
5508					if (message.text.includes("A customer with the same email address already exists")) {
5509                        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>.';
5510                    }
5511                    if(this.messages!="") {                        
5512                        this.messages=[];    
5513                    }
5514                    this.messages = this.messages.concat(message);
5515                    if (hideAfter) {
5516                        this.setHideTimeOut(this.messages.length -1, hideAfter);
5517                    }
5518                });
5519            },
5520            setHideTimeOut(messageIndex, hideAfter) {
5521                setTimeout((messageIndex) => {
5522                    this.removeMessage(messageIndex);
5523                }, hideAfter, messageIndex);
5524            },
5525            eventListeners: {
5526                ['@messages-loaded.window']() {
5527                   this.addMessages(event.detail.messages, event.detail.hideAfter)
5528                },
5529                ['@private-content-loaded.window'](event) {
5530                    const data = event.detail.data;
5531                    if (
5532                        data.messages &&
5533                        data.messages.messages &&
5534                        data.messages.messages.length
5535                    ) {
5536                        this.addMessages(data.messages.messages);
5537                    }
5538                },
5539                ['@clear-messages.window']() {
5540                    this.messages = [];
5541                }
5542            }
5543        }
5544    }
5545</script>
5545
5546<section id="messages"
5547         x-data="initMessages()"
5548         x-bind="eventListeners"
5549>
5550    <template x-if="!isEmpty()">
5551        <div class="w-full">
5552            <div role="alert" class="messages container">
5553                <template x-for="(message, index) in messages" :key="index">
5554                    <div>
5555                        <template x-if="message">
5556                            <div class="message" :class="message.type"
5557                                 :ui-id="'message-' + message.type"
5558                            >
5559                                <span x-html="message.text"></span>
5560                                <a href="#" class="close cursor-pointer" title="close"
5561                                   @click.prevent="removeMessage(index)">
5562                                    <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">
5563  <path stroke-linecap="round" stroke-linejoin="round" d="M6 18L18 6M6 6l12 12"/>
5564<title>x</title></svg>
5565                                </a>
5566                            </div>
5567                        </template>
5568                    </div>
5569                </template>
5570            </div>
5571        </div>
5572    </template>
5573</section></div><div class="widget block block-static-block">
5574    <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>
5575<div class="widget block block-static-block">
5576    <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>
5577<div class="columns"><div class="column main">    
5577<script>
5578
5579    
5580</script>
vendor: 2 bytes, line 5580
5580
5581<script>
5582    function samplesubmit(mainproduct,inputValue,productids,colors,spidsColors,confproname,confproid,childproids) {
5583        this.isLoading = true;
5584        const formKey = hyva.getFormKey();
5585        const postUrl = BASE_URL + 'sampleproduct/Sample/Products/';
5586        fetch(postUrl, {
5587            "headers": {
5588                "content-type": "application/x-www-form-urlencoded; charset=UTF-8",
5589            },
5590            "body": "form_key=" + formKey + "&action_type=" + inputValue+ "&pids=" + productids+ "&colors=" + colors+ "&spidsColors=" + spidsColors+ "&confproname=" + confproname+ "&confproid=" + confproid +"&childproid=" + childproids,
5591            "method": "POST",
5592            "mode": "cors",
5593            "credentials": "include"
5594        }).then(response => {
5595            //this.isLoading = false;
5596            //window.dispatchEvent(new CustomEvent('reload-customer-section-data'));
5597            //fetchHtmlContent(mainproduct);
5598            if (! response.ok) console.warn('GET request failed');
5599            return response.json();
5600        }).then(result => {
5601            this.isLoading = false;
5602            window.dispatchEvent(new CustomEvent('reload-customer-section-data'));
5603            fetchHtmlContent(mainproduct,result.is_sample_added); 
5604         }); 
5605    }
5606  </script>
5606  
5607  
5607<script>
5608  function fetchHtmlContent(pid,is_sample_added) {
5609    console.log('Fetching HTML content for PID:', pid);
5610    const formKey = hyva.getFormKey();
5611    const randomString = Math.random().toString(36).substring(2, 15);
5612    const postUrl = BASE_URL + 'sampleproduct/sample/popup/?pid='+pid;
5613    fetch(postUrl)
5614      .then(response => response.text())
5615      .then(html => {
5616        console.log('Response received:', html);
5617      let myDivelements = document.getElementsByClassName('htmlcontent'+pid);
5618      var numberofelements=myDivelements.length;
5619      for(var i=0;i<numberofelements;++i){
5620        myDivelements[i].innerHTML = html;
5621      }
5622      if(is_sample_added == 1 ){ //&& window.innerWidth <= 767
5623        document.querySelector(".order-free-sample-popup .closemodal").dispatchEvent(new Event('click'));
5624        document.querySelector("#menu-cart-icon").dispatchEvent(new Event('click'));
5625      }
5626    })
5627      .catch(error => {
5628        console.error(error);
5629      });
5630  }
5631</script>
5631  
5632    
5632<script>
5633        if (window.require) {
5634            require(['jquery', 'domReady!'], function($){
5635                if ($('.mfblogunveil').length) {
5636                    require(['Magefan_Blog/js/lib/mfblogunveil'], function(){
5637                        $('.mfblogunveil').mfblogunveil();
5638                    });
5639                }
5640            });
5641        } else {
5642            /* e.g. hyva theme */
5643            document.addEventListener("DOMContentLoaded", function(){
5644                var items =  document.getElementsByClassName('mfblogunveil');
5645                var el, url;
5646                if (items.length) {
5647                    for (var i=0; i<items.length;i++) {
5648                        el = items[i];
5649                        url = el.getAttribute('data-original');
5650                        if (!url) {
5651                            continue;
5652                        }
5653                        if ('IMG' == el.tagName) {
5654                            el.src = url;
5655                        } else {
5656                            el.style.backgroundImage = "url('" + url  + "')";
5657                        }
5658                    }
5659                }
5660            });
5661        }
5662    </script>
5662
5663
5664<style>#html-body [data-pb-style=DT6EOSD],#html-body [data-pb-style=WP98EE8]{background-position:left top;background-size:cover;background-repeat:no-repeat;background-attachment:scroll}#html-body [data-pb-style=DT6EOSD]{justify-content:flex-start;display:flex;flex-direction:column;background-color:#fff5e7}#html-body [data-pb-style=WP98EE8]{align-self:stretch}#html-body [data-pb-style=XSAQQ83]{display:flex;width:100%}#html-body [data-pb-style=FI0NX2U],#html-body [data-pb-style=MUQEWL9]{justify-content:center;display:flex;flex-direction:column;background-position:left top;background-size:cover;background-repeat:no-repeat;background-attachment:scroll;width:50%;align-self:stretch}#html-body [data-pb-style=FI0NX2U]{justify-content:flex-start}#html-body [data-pb-style=R172XJ8]{border-style:none}#html-body [data-pb-style=I68ND63],#html-body [data-pb-style=MUT4PYM]{max-width:100%;height:auto}#html-body [data-pb-style=UJR4HOV]{background-position:left top;background-size:cover;background-repeat:no-repeat;background-attachment:scroll;align-self:stretch}#html-body [data-pb-style=I1AHCYW]{display:flex;width:100%}#html-body [data-pb-style=T934HII]{justify-content:flex-start;display:flex;flex-direction:column;background-position:left top;background-size:cover;background-repeat:no-repeat;background-attachment:scroll;width:25%;align-self:stretch}#html-body [data-pb-style=YQE81DT]{border-style:none}#html-body [data-pb-style=FF4FQGC],#html-body [data-pb-style=G7B5KUG]{max-width:100%;height:auto}#html-body [data-pb-style=NM9XOJF]{justify-content:flex-start;display:flex;flex-direction:column;background-position:left top;background-size:cover;background-repeat:no-repeat;background-attachment:scroll;width:25%;align-self:stretch}#html-body [data-pb-style=YGHQQ24]{border-style:none}#html-body [data-pb-style=KKF4FMN],#html-body [data-pb-style=W4FVSF0]{max-width:100%;height:auto}#html-body [data-pb-style=JWTO5Y6]{justify-content:flex-start;display:flex;flex-direction:column;background-position:left top;background-size:cover;background-repeat:no-repeat;background-attachment:scroll;width:25%;align-self:stretch}#html-body [data-pb-style=WKSUQQG]{border-style:none}#html-body [data-pb-style=SPA8TC2],#html-body [data-pb-style=TI5M8DY]{max-width:100%;height:auto}#html-body [data-pb-style=JSJYA9S]{justify-content:flex-start;display:flex;flex-direction:column;background-position:left top;background-size:cover;background-repeat:no-repeat;background-attachment:scroll;width:25%;align-self:stretch}#html-body [data-pb-style=C7M1A1R]{border-style:none}#html-body [data-pb-style=KJCB0D8],#html-body [data-pb-style=U2L9M8P]{max-width:100%;height:auto}#html-body [data-pb-style=HBPO0YL]{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=XUPT306]{text-align:center}#html-body [data-pb-style=UYKU8DH]{background-position:left top;background-size:cover;background-repeat:no-repeat;background-attachment:scroll;align-self:stretch}#html-body [data-pb-style=S2MPR9P]{display:flex;width:100%}#html-body [data-pb-style=VMICSI0]{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}#html-body [data-pb-style=X9XQ2FX]{border-style:none}#html-body [data-pb-style=GMQX6LS],#html-body [data-pb-style=PKRTL7S]{max-width:100%;height:auto}#html-body [data-pb-style=BA5N6AF]{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}#html-body [data-pb-style=YU3BBRU]{border-style:none}#html-body [data-pb-style=ATTNYHN],#html-body [data-pb-style=DYM2A6L]{max-width:100%;height:auto}#html-body [data-pb-style=JGCOIMD]{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}#html-body [data-pb-style=FQCN03W]{border-style:none}#html-body [data-pb-style=UW4PC07],#html-body [data-pb-style=V3T4823]{max-width:100%;height:auto}#html-body [data-pb-style=AEY978T]{display:flex;width:100%}#html-body [data-pb-style=GOUQAWU]{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}#html-body [data-pb-style=TCFY4NB]{border-style:none}#html-body [data-pb-style=H831F5D],#html-body [data-pb-style=OV6K24B]{max-width:100%;height:auto}#html-body [data-pb-style=KP53YUI]{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}#html-body [data-pb-style=TSBFL8V]{border-style:none}#html-body [data-pb-style=S4BFJYX],#html-body [data-pb-style=UR9O0W6]{max-width:100%;height:auto}#html-body [data-pb-style=OT2LSGQ]{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}#html-body [data-pb-style=QW6EJ22]{border-style:none}#html-body [data-pb-style=SIUPP55],#html-body [data-pb-style=VOGVQJN]{max-width:100%;height:auto}#html-body [data-pb-style=G2IF4X1]{background-position:left top;background-size:cover;background-repeat:no-repeat;background-attachment:scroll;align-self:stretch}
5664#html-body [data-pb-style=DSOITFT]{display:flex;width:100%}#html-body [data-pb-style=ONWWSXJ]{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}#html-body [data-pb-style=QJV3VQD]{border-style:none}#html-body [data-pb-style=D66GLJ1],#html-body [data-pb-style=TNPHTRI]{max-width:100%;height:auto}#html-body [data-pb-style=CGHGMDE],#html-body [data-pb-style=HUY5RVO]{justify-content:flex-start;display:flex;flex-direction:column;width:33.3333%;align-self:stretch}#html-body [data-pb-style=BMHON8D],#html-body [data-pb-style=CGHGMDE],#html-body [data-pb-style=HUY5RVO],#html-body [data-pb-style=JGDNA14]{background-position:left top;background-size:cover;background-repeat:no-repeat;background-attachment:scroll}#html-body [data-pb-style=JGDNA14]{justify-content:flex-start;display:flex;flex-direction:column;background-color:#fff5e7}#html-body [data-pb-style=BMHON8D]{align-self:stretch}#html-body [data-pb-style=ML4P8N1]{display:flex;width:100%}#html-body [data-pb-style=XEGPMWR]{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=OFRGNQF]{text-align:center}#html-body [data-pb-style=QOQCGY4]{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=JBFSIWV]{text-align:center}#html-body [data-pb-style=IGE1DTS]{background-position:left top;background-size:cover;background-repeat:no-repeat;background-attachment:scroll;align-self:stretch}#html-body [data-pb-style=HUFFBHH]{display:flex;width:100%}#html-body [data-pb-style=KXAUWG1]{justify-content:flex-start;display:flex;flex-direction:column;background-position:left top;background-size:cover;background-repeat:no-repeat;background-attachment:scroll;width:25%;align-self:stretch}#html-body [data-pb-style=NT6YXGT]{border-style:none}#html-body [data-pb-style=EXQSATU],#html-body [data-pb-style=GXTNS28]{max-width:100%;height:auto}#html-body [data-pb-style=YK6IEXO]{justify-content:flex-start;display:flex;flex-direction:column;background-position:left top;background-size:cover;background-repeat:no-repeat;background-attachment:scroll;width:25%;align-self:stretch}#html-body [data-pb-style=RDU72V2]{border-style:none}#html-body [data-pb-style=B2AL7RH],#html-body [data-pb-style=PEVU3UT]{max-width:100%;height:auto}#html-body [data-pb-style=YKYBXV5]{justify-content:flex-start;display:flex;flex-direction:column;background-position:left top;background-size:cover;background-repeat:no-repeat;background-attachment:scroll;width:25%;align-self:stretch}#html-body [data-pb-style=FRM7FNS]{border-style:none}#html-body [data-pb-style=G4REC92],#html-body [data-pb-style=SI723FA]{max-width:100%;height:auto}#html-body [data-pb-style=PPSFTY0]{justify-content:flex-start;display:flex;flex-direction:column;background-position:left top;background-size:cover;background-repeat:no-repeat;background-attachment:scroll;width:25%;align-self:stretch}#html-body [data-pb-style=Y1X5X1L]{border-style:none}#html-body [data-pb-style=MQKFQSJ],#html-body [data-pb-style=YSB33E7]{max-width:100%;height:auto}#html-body [data-pb-style=E8T9MG0],#html-body [data-pb-style=X8N6MDH]{background-position:left top;background-size:cover;background-repeat:no-repeat;background-attachment:scroll}#html-body [data-pb-style=E8T9MG0]{justify-content:flex-start;display:flex;flex-direction:column;background-color:#fff5e7}#html-body [data-pb-style=X8N6MDH]{align-self:stretch}#html-body [data-pb-style=P8HRLTT]{display:flex;width:100%}#html-body [data-pb-style=QX8XAJ8]{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=VBRX1JU]{text-align:center}#html-body [data-pb-style=FY50TNI],#html-body [data-pb-style=N1MXC9B]{background-position:left top;background-size:cover;background-repeat:no-repeat;background-attachment:scroll}#html-body [data-pb-style=N1MXC9B]{justify-content:flex-start;display:flex;flex-direction:column}#html-body [data-pb-style=FY50TNI]{align-self:stretch}#html-body [data-pb-style=P9CEI8D]{display:flex;width:100%}#html-body [data-pb-style=HHY6H5Y]{justify-content:center;display:flex;flex-direction:column;background-position:left top;background-size:cover;background-repeat:no-repeat;background-attachment:scroll;width:50%;align-self:stretch}#html-body [data-pb-style=H3M3UDP]{text-align:center;border-style:none}#html-body [data-pb-style=GRBX0RX],#html-body [data-pb-style=QN05Y33]{max-width:100%;height:auto}#html-body [data-pb-style=BHAMPRV]{justify-content:center;display:flex;flex-direction:column;background-position:left top;background-size:cover;background-repeat:no-repeat;background-attachment:scroll;width:50%;align-self:stretch}#html-body [data-pb-style=V7KC12H]{display:inline-block}#html-body [data-pb-style=BGBXD09]{text-align:center}@media only screen and (max-width: 768px) { #html-body [data-pb-style=C7M1A1R],#html-body [data-pb-style=FQCN03W],#html-body [data-pb-style=FRM7FNS],#html-body [data-pb-style=H3M3UDP],#html-body [data-pb-style=NT6YXGT],#html-body [data-pb-style=QJV3VQD],#html-body [data-pb-style=QW6EJ22],#html-body [data-pb-style=R172XJ8],#html-body [data-pb-style=RDU72V2],#html-body [data-pb-style=TCFY4NB],#html-body [data-pb-style=TSBFL8V],#html-body [data-pb-style=WKSUQQG],#html-body [data-pb-style=X9XQ2FX],#html-body [data-pb-style=Y1X5X1L],#html-body [data-pb-style=YGHQQ24],#html-body [data-pb-style=YQE81DT],#html-body [data-pb-style=YU3BBRU]{border-style:none} }</style><div class="story-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="DT6EOSD"><div class="pagebuilder-column-group story-image" data-background-images="{}" data-content-type="column-group" data-appearance="default" data-grid-size="12" data-element="main" data-pb-style="WP98EE8"><div class="pagebuilder-column-line" data-content-type="column-line" data-element="main" data-pb-style="XSAQQ83"><div class="pagebuilder-column" data-content-type="column" data-appearance="full-height" data-background-images="{}" data-element="main" data-pb-style="MUQEWL9"><h1 data-content-type="heading" data-appearance="default" data-element="main">Our Story</h1><div data-content-type="text" data-appearance="default" data-element="main"><p>We&rsquo;re not your typical big brand. Our founders&mdash;Chuck, Kurt, and Tony&mdash;started this business in 2007 as three friends working from a bedroom office, with <strong>one clear goal: to offer the best prices and value in flooring without compromising quality or service.</strong> They saw that finding specialty, high-performance flooring was difficult, confusing, and needlessly expensive. Our mission was to fix that. They recognized a growing demand for Rubber Flooring and launched RubberFlooringInc.com, providing customers with direct access to manufacturers and products that were previously hard to find.</p></div></div><div class="pagebuilder-column" data-content-type="column" data-appearance="full-height" data-background-images="{}" data-element="main" data-pb-style="FI0NX2U"><figure data-content-type="image" data-appearance="full-width" data-element="main" data-pb-style="R172XJ8"><picture class="pagebuilder-mobile-hidden"><source type="image/webp" srcset="https://www.flooringinc.com/media/wysiwyg/aboutuss-banner.webp"><img class="pagebuilder-mobile-hidden" src="https://www.flooringinc.com/media/wysiwyg/aboutuss-banner.png" alt="" title="" width="" height="" fetchpriority="false" data-use-native-image-dimensions="true" data-element="desktop_image" data-pb-style="MUT4PYM"></picture><picture class="pagebuilder-mobile-only"><source type="image/webp" srcset="https://www.flooringinc.com/media/wysiwyg/aboutus-banner-mobile.webp"><img class="pagebuilder-mobile-only" src="https://www.flooringinc.com/media/wysiwyg/aboutus-banner-mobile.png" alt="" title="" width="" height="" fetchpriority="false" data-use-native-image-dimensions="true" data-element="mobile_image" data-pb-style="I68ND63"></picture></figure></div></div></div><div class="pagebuilder-column-group about-brand" data-background-images="{}" data-content-type="column-group" data-appearance="default" data-grid-size="12" data-element="main" data-pb-style="UJR4HOV"><div class="pagebuilder-column-line" data-content-type="column-line" data-element="main" data-pb-style="I1AHCYW"><div class="pagebuilder-column" data-content-type="column" data-appearance="full-height" data-background-images="{}" data-element="main" data-pb-style="T934HII"><figure data-content-type="image" data-appearance="full-width" data-element="main" data-pb-style="YQE81DT"><picture class="pagebuilder-mobile-hidden"><source type="image/webp" srcset="https://www.flooringinc.com/media/wysiwyg/logo_RubberFloroingInc.webp"><img class="pagebuilder-mobile-hidden" src="https://www.flooringinc.com/media/wysiwyg/logo_RubberFloroingInc.png" alt="" title="" width="" height="" fetchpriority="false" data-use-native-image-dimensions="true" data-element="desktop_image" data-pb-style="FF4FQGC"></picture><picture class="pagebuilder-mobile-only"><source type="image/webp" srcset="https://www.flooringinc.com/media/wysiwyg/RubberFloroingInc_mobile.webp"><img class="pagebuilder-mobile-only" src="https://www.flooringinc.com/media/wysiwyg/RubberFloroingInc_mobile.png" alt="" title="" width="" height="" fetchpriority="false" data-use-native-image-dimensions="true" data-element="mobile_image" data-pb-style="G7B5KUG"></picture></figure></div><div class="pagebuilder-column" data-content-type="column" data-appearance="full-height" data-background-images="{}" data-element="main" data-pb-style="NM9XOJF"><figure data-content-type="image" data-appearance="full-width" data-element="main" data-pb-style="YGHQQ24"><picture class="pagebuilder-mobile-hidden"><source type="image/webp" srcset="https://www.flooringinc.com/media/wysiwyg/logo_Garage.webp"><img class="pagebuilder-mobile-hidden" src="https://www.flooringinc.com/media/wysiwyg/logo_Garage.png" alt="" title="" width="" height="" fetchpriority="false" data-use-native-image-dimensions="true" data-element="desktop_image" data-pb-style="W4FVSF0"></picture><picture class="pagebuilder-mobile-only"><source type="image/webp" srcset="https://www.flooringinc.com/media/wysiwyg/logo_Garage_mobile.webp"><img class="pagebuilder-mobile-only" src="https://www.flooringinc.com/media/wysiwyg/logo_Garage_mobile.png" alt="" title="" width="" height="" fetchpriority="false" data-use-native-image-dimensions="true" data-element="mobile_image" data-pb-style="KKF4FMN"></picture></figure></div><div class="pagebuilder-column" data-content-type="column" data-appearance="full-height" data-background-images="{}" data-element="main" data-pb-style="JWTO5Y6"><figure data-content-type="image" data-appearance="full-width" data-element="main" data-pb-style="WKSUQQG"><picture class="pagebuilder-mobile-hidden"><source type="image/webp" srcset="https://www.flooringinc.com/media/wysiwyg/logo_FoamTiles.webp"><img class="pagebuilder-mobile-hidden" src="https://www.flooringinc.com/media/wysiwyg/logo_FoamTiles.png" alt="" title="" width="" height="" fetchpriority="false" data-use-native-image-dimensions="true" data-element="desktop_image" data-pb-style="TI5M8DY"></picture><picture class="pagebuilder-mobile-only"><source type="image/webp" srcset="https://www.flooringinc.com/media/wysiwyg/logo_FoamTiles_mobile.webp"><img class="pagebuilder-mobile-only" src="https://www.flooringinc.com/media/wysiwyg/logo_FoamTiles_mobile.png" alt="" title="" width="" height="" fetchpriority="false" data-use-native-image-dimensions="true" data-element="mobile_image" data-pb-style="SPA8TC2"></picture></figure></div><div class="pagebuilder-column" data-content-type="column" data-appearance="full-height" data-background-images="{}" data-element="main" data-pb-style="JSJYA9S"><figure data-content-type="image" data-appearance="full-width" data-element="main" data-pb-style="C7M1A1R"><picture class="pagebuilder-mobile-hidden"><source type="image/webp" srcset="https://www.flooringinc.com/media/wysiwyg/logo_google.webp"><img class="pagebuilder-mobile-hidden" src="https://www.flooringinc.com/media/wysiwyg/logo_google.png" alt="" title="" width="" height="" fetchpriority="false" data-use-native-image-dimensions="true" data-element="desktop_image" data-pb-style="KJCB0D8"></picture><picture class="pagebuilder-mobile-only"><source type="image/webp" srcset="https://www.flooringinc.com/media/wysiwyg/logo_google_mobile.webp"><img class="pagebuilder-mobile-only" src="https://www.flooringinc.com/media/wysiwyg/logo_google_mobile.png" alt="" title="" width="" height="" fetchpriority="false" data-use-native-image-dimensions="true" data-element="mobile_image" data-pb-style="U2L9M8P"></picture></figure></div></div></div><div data-content-type="text" data-appearance="default" data-element="main"><p>As a small, tight-knit company, we&rsquo;ve grown into a leading online flooring retailer, but we maintain the energy and dedication of a start-up, on <strong>a mission to help our customers bring their dream spaces to life</strong>. We pride ourselves on providing customers with the <strong>highest level of service and the best products</strong>. From practical DIY flooring options to step-by-step installation instructions and videos, we make it possible for anyone &mdash; regardless of experience &mdash; to complete their flooring project with confidence.</p>
5665<p>Over the years, we expanded to include GarageFlooringInc.com and FoamTiles.com, eventually merging these brands under FlooringInc.com. Today, we have shipped over 500 million square feet of flooring and offer over 22,000 items across 25 flooring types. Many of our products ship nationwide in under three days, with strategically located warehouses to ensure <strong>fast and reliable delivery</strong>.</p></div></div><div data-content-type="row" data-appearance="contained" data-element="main"><div class="about-make" 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="HBPO0YL"><h2 data-content-type="heading" data-appearance="default" data-element="main" data-pb-style="XUPT306">What Makes Us Different</h2><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="UYKU8DH"><div class="pagebuilder-column-line" data-content-type="column-line" data-element="main" data-pb-style="S2MPR9P"><div class="pagebuilder-column" data-content-type="column" data-appearance="full-height" data-background-images="{}" data-element="main" data-pb-style="VMICSI0"><figure data-content-type="image" data-appearance="full-width" data-element="main" data-pb-style="X9XQ2FX"><picture class="pagebuilder-mobile-hidden"><source type="image/webp" srcset="https://www.flooringinc.com/media/wysiwyg/Icon_1.webp"><img class="pagebuilder-mobile-hidden" src="https://www.flooringinc.com/media/wysiwyg/Icon_1.png" alt="" title="" width="" height="" fetchpriority="false" data-use-native-image-dimensions="true" data-element="desktop_image" data-pb-style="GMQX6LS"></picture><picture class="pagebuilder-mobile-only"><source type="image/webp" srcset="https://www.flooringinc.com/media/wysiwyg/Icon_1.webp"><img class="pagebuilder-mobile-only" src="https://www.flooringinc.com/media/wysiwyg/Icon_1.png" alt="" title="" width="" height="" fetchpriority="false" data-use-native-image-dimensions="true" data-element="mobile_image" data-pb-style="PKRTL7S"></picture></figure><div data-content-type="text" data-appearance="default" data-element="main"><h3>T
5665he Best Value in Flooring</h3>
5666<p>We believe flooring should be high-quality and affordable. With competitive pricing and proactive price matching, you can trust you&rsquo;re getting the best value without having to shop around.</p></div></div><div class="pagebuilder-column" data-content-type="column" data-appearance="full-height" data-background-images="{}" data-element="main" data-pb-style="BA5N6AF"><figure data-content-type="image" data-appearance="full-width" data-element="main" data-pb-style="YU3BBRU"><picture class="pagebuilder-mobile-hidden"><source type="image/webp" srcset="https://www.flooringinc.com/media/wysiwyg/Icon_2.webp"><img class="pagebuilder-mobile-hidden" src="https://www.flooringinc.com/media/wysiwyg/Icon_2.png" alt="" title="" width="" height="" fetchpriority="false" data-use-native-image-dimensions="true" data-element="desktop_image" data-pb-style="DYM2A6L"></picture><picture class="pagebuilder-mobile-only"><source type="image/webp" srcset="https://www.flooringinc.com/media/wysiwyg/Icon_2.webp"><img class="pagebuilder-mobile-only" src="https://www.flooringinc.com/media/wysiwyg/Icon_2.png" alt="" title="" width="" height="" fetchpriority="false" data-use-native-image-dimensions="true" data-element="mobile_image" data-pb-style="ATTNYHN"></picture></figure><div data-content-type="text" data-appearance="default" data-element="main"><h3>The Lowest Prices on Shipping</h3>
5667<p>Because excessive fees just aren&rsquo;t our thing.</p></div></div><div class="pagebuilder-column" data-content-type="column" data-appearance="full-height" data-background-images="{}" data-element="main" data-pb-style="JGCOIMD"><figure data-content-type="image" data-appearance="full-width" data-element="main" data-pb-style="FQCN03W"><picture class="pagebuilder-mobile-hidden"><source type="image/webp" srcset="https://www.flooringinc.com/media/wysiwyg/Icon_3.webp"><img class="pagebuilder-mobile-hidden" src="https://www.flooringinc.com/media/wysiwyg/Icon_3.png" alt="" title="" width="" height="" fetchpriority="false" data-use-native-image-dimensions="true" data-element="desktop_image" data-pb-style="UW4PC07"></picture><picture class="pagebuilder-mobile-only"><source type="image/webp" srcset="https://www.flooringinc.com/media/wysiwyg/Icon_3.webp"><img class="pagebuilder-mobile-only" src="https://www.flooringinc.com/media/wysiwyg/Icon_3.png" alt="" title="" width="" height="" fetchpriority="false" data-use-native-image-dimensions="true" data-element="mobile_image" data-pb-style="V3T4823"></picture></figure><div data-content-type="text" data-appearance="default" data-element="main"><h3>Fast Lead Times</h3>
5668<p>We get your order to you quickly because we know waiting is never fun.</p></div></div></div><div class="pagebuilder-column-line" data-content-type="column-line" data-element="main" data-pb-style="AEY978T"><div class="pagebuilder-column" data-content-type="column" data-appearance="full-height" data-background-images="{}" data-element="main" data-pb-style="GOUQAWU"><figure data-content-type="image" data-appearance="full-width" data-element="main" data-pb-style="TCFY4NB"><picture class="pagebuilder-mobile-hidden"><source type="image/webp" srcset="https://www.flooringinc.com/media/wysiwyg/Icon_4.webp"><img class="pagebuilder-mobile-hidden" src="https://www.flooringinc.com/media/wysiwyg/Icon_4.png" alt="" title="" width="" height="" fetchpriority="false" data-use-native-image-dimensions="true" data-element="desktop_image" data-pb-style="H831F5D"></picture><picture class="pagebuilder-mobile-only"><source type="image/webp" srcset="https://www.flooringinc.com/media/wysiwyg/Icon_4.webp"><img class="pagebuilder-mobile-only" src="https://www.flooringinc.com/media/wysiwyg/Icon_4.png" alt="" title="" width="" height="" fetchpriority="false" data-use-native-image-dimensions="true" data-element="mobile_image" data-pb-style="OV6K24B"></picture></figure><div data-content-type="text" data-appearance="default" data-element="main"><h3>Largest Selection</h3>
5669<p>From major brands to specialty and custom solutions, our extensive catalog ensures you&rsquo;ll find the perfect flooring for any project &mdash; big or small.</p></div></div><div class="pagebuilder-column" data-content-type="column" data-appearance="full-height" data-background-images="{}" data-element="main" data-pb-style="KP53YUI"><figure data-content-type="image" data-appearance="full-width" data-element="main" data-pb-style="TSBFL8V"><picture class="pagebuilder-mobile-hidden"><source type="image/webp" srcset="https://www.flooringinc.com/media/wysiwyg/Icon_5.webp"><img class="pagebuilder-mobile-hidden" src="https://www.flooringinc.com/media/wysiwyg/Icon_5.png" alt="" title="" width="" height="" fetchpriority="false" data-use-native-image-dimensions="true" data-element="desktop_image" data-pb-style="S4BFJYX"></picture><picture class="pagebuilder-mobile-only"><source type="image/webp" srcset="https://www.flooringinc.com/media/wysiwyg/Icon_5.webp"><img class="pagebuilder-mobile-only" src="https://www.flooringinc.com/media/wysiwyg/Icon_5.png" alt="" title="" width="" height="" fetchpriority="false" data-use-native-image-dimensions="true" data-element="mobile_image" data-pb-style="UR9O0W6"></picture></figure><div data-content-type="text" data-appearance="default" data-element="main"><h3>Peace of Mind Guaranteed</h3>
5670<p>Our 30-day money-back guarantee and free samples allow you to see and feel products before making a purchase, ensuring you can make informed choices with confidence.</p></div></div><div class="pagebuilder-column" data-content-type="column" data-appearance="full-height" data-background-images="{}" data-element="main" data-pb-style="OT2LSGQ"><figure data-content-type="image" data-appearance="full-width" data-element="main" data-pb-style="QW6EJ22"><picture class="pagebuilder-mobile-hidden"><source type="image/webp" srcset="https://www.flooringinc.com/media/wysiwyg/Icon_6.webp"><img class="pagebuilder-mobile-hidden" src="https://www.flooringinc.com/media/wysiwyg/Icon_6.png" alt="" title="" width="" height="" fetchpriority="false" data-use-native-image-dimensions="true" data-element="desktop_image" data-pb-style="VOGVQJN"></picture><picture class="pagebuilder-mobile-only"><source type="image/webp" srcset="https://www.flooringinc.com/media/wysiwyg/Icon_6.webp"><img class="pagebuilder-mobile-only" src="https://www.flooringinc.com/media/wysiwyg/Icon_6.png" alt="" title="" width="" height="" fetchpriority="false" data-use-native-image-dimensions="true" data-element="mobile_image" data-pb-style="SIUPP55"></picture></figure><div data-content-type="text" data-appearance="default" data-element="main"><h3>Expert Support</h3>
5671<p>Our dedicated flooring consultants, available six days a week, provide personalized guidance to help you find the right products for your space.</p></div></div></div></div><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="G2IF4X1"><div class="pagebuilder-column-line" data-content-type="column-line" data-element="main" data-pb-style="DSOITFT"><div class="pagebuilder-column" data-content-type="column" data-appearance="full-height" data-background-images="{}" data-element="main" data-pb-style="ONWWSXJ"><figure data-content-type="image" data-appearance="full-width" data-element="main" data-pb-style="QJV3VQD"><picture class="pagebuilder-mobile-hidden"><source type="image/webp" srcset="https://www.flooringinc.com/media/wysiwyg/Icon_7.webp"><img class="pagebuilder-mobile-hidden" src="https://www.flooringinc.com/media/wysiwyg/Icon_7.png" alt="" title="" width="" height="" fetchpriority="false" data-use-native-image-dimensions="true" data-element="desktop_image" data-pb-style="D66GLJ1"></picture><picture class="pagebuilder-mobile-only"><source type="image/webp" srcset="https://www.flooringinc.com/media/wysiwyg/Icon_7.webp"><img class="pagebuilder-mobile-only" src="https://www.flooringinc.com/media/wysiwyg/Icon_7.png" alt="" title="" width="" height="" fetchpriority="false" data-use-native-image-dimensions="true" data-element="mobile_image" data-pb-style="TNPHTRI"></picture></figure><div data-content-type="text" data-appearance="default" data-element="main"><h3>Flexible Payments</h3>
5672<p>We offer every major credit card, PayPal, Amazon Pay, Affirm, and split payment options, making it easy to pay your way.</p></div></div><div class="pagebuilder-column no-border" data-content-type="column" data-appearance="full-height" data-background-images="{}" data-element="main" data-pb-style="HUY5RVO"></div><div class="pagebuilder-column no-border" data-content-type="column" data-appearance="full-height" data-background-images="{}" data-element="main" data-pb-style="CGHGMDE"></div></div></div></div></div><div class="about-mission" 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="JGDNA14"><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="BMHON8D"><div class="pagebuilder-column-line" data-content-type="column-line" data-element="main" data-pb-style="ML4P8N1"><div class="pagebuilder-column" data-content-type="column" data-appearance="full-height" data-background-images="{}" data-element="main" data-pb-style="XEGPMWR"><h2 data-content-type="heading" data-appearance="default" data-element="main" data-pb-style="OFRGNQF">Our Mission</h2><div data-content-type="text" data-appearance="default" data-element="main"><p style="text-align: center;">We exist to help you bring your dream space to life&mdash;whether it&rsquo;s a new gym, garage, studio, or business. Our journey began with rubber flooring, and over the years, we&rsquo;ve expanded to become experts in garage flooring, foam flooring, and dance flooring, along with other specialty performance solutions (including sport and turf options). Our extensive selection provides everything needed to tackle any project, large or small.</p>
5673<p style="text-align: center;">Every floor we sell reflects our founders&rsquo; original vision: Deliver the best value, expert guidance, and worry-free experience so every customer can buy with confidence.</p></div></div></div></div></div><div data-content-type="row" data-appearance="contained" data-element="main"><div class="about-trust" 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="QOQCGY4"><h2 data-content-type="heading" data-appearance="default" data-element="main" data-pb-style="JBFSIWV">Why Customers Trust Us</h2><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="IGE1DTS"><div class="pagebuilder-column-line" data-content-type="column-line" data-element="main" data-pb-style="HUFFBHH"><div class="pagebuilder-column" data-content-type="column" data-appearance="full-height" data-background-images="{}" data-element="main" data-pb-style="KXAUWG1"><figure data-content-type="image" data-appearance="full-width" data-element="main" data-pb-style="NT6YXGT"><picture class="pagebuilder-mobile-hidden"><source type="image/webp" srcset="https://www.flooringinc.com/media/wysiwyg/Icon_8.webp"><img class="pagebuilder-mobile-hidden" src="https://www.flooringinc.com/media/wysiwyg/Icon_8.png" alt="" title="" width="" height="" fetchpriority="false" data-use-native-image-dimensions="true" data-element="desktop_image" data-pb-style="GXTNS28"></picture><picture class="pagebuilder-mobile-only"><source type="image/webp" srcset="https://www.flooringinc.com/media/wysiwyg/Icon_8.webp"><img class="pagebuilder-mobile-only" src="https://www.flooringinc.com/media/wysiwyg/Icon_8.png" alt="" title="" width="" height="" fetchpriority="false" data-use-native-image-dimensions="true" data-element="mobile_image" data-pb-style="EXQSATU"></picture></figure><h4 data-content-type="heading" data-appearance="default" data-element="main">Proven Experience</h4><div data-content-type="text" data-appearance="default" data-element="main"><p>Over 18 years in business, an A+ BBB rating, and more than 100,000 verified 5-star reviews show we deliver on our promises.</p></div></div><div class="pagebuilder-column" data-content-type="column" data-appearance="full-height" data-background-images="{}" data-element="main" data-pb-style="YK6IEXO"><figure data-content-type="image" data-appearance="full-width" data-element="main" data-pb-style="RDU72V2"><picture class="pagebuilder-mobile-hidden"><source type="image/webp" srcset="https://www.flooringinc.com/media/wysiwyg/Icon_5.webp"><img class="pagebuilder-mobile-hidden" src="https://www.flooringinc.com/media/wysiwyg/Icon_5.png" alt="" title="" width="" height="" fetchpriority="false" data-use-native-image-dimensions="true" data-element="desktop_image" data-pb-style="PEVU3UT"></picture><picture class="pagebuilder-mobile-only"><source type="image/webp" srcset="https://www.flooringinc.com/media/wysiwyg/Icon_5.webp"><img class="pagebuilder-mobile-only" src="https://www.flooringinc.com/media/wysiwyg/Icon_5.png" alt="" title="" width="" height="" fetchpriority="false" data-use-native-image-dimensions="true" data-element="mobile_image" data-pb-style="B2AL7RH"></picture></figure><h4 data-content-type="heading" data-appearance="default" data-element="main">Expertise That Matters</h4><div data-content-type="text" data-appearance="default" data-element="main"><p>Our team knows flooring inside and out, giving you advice tailored to your project.</p></div></div><div class="pagebuilder-column" data-content-type="column" data-appearance="full-height" data-background-images="{}" data-element="main" data-pb-style="YKYBXV5"><figure data-content-type="image" data-appearance="full-width" data-element="main" data-pb-style="FRM7FNS"><picture class="pagebuilder-mobile-hidden"><source type="image/webp" srcset="https://www.flooringinc.com/media/wysiwyg/Icon_1.webp"><img class="pagebuilder-mobile-hidden" src="https://www.flooringinc.com/media/wysiwyg/Icon_1.png" alt="" title="" width="" height="" fetchpriority="false" data-use-native-image-dimensions="true" data-element="desktop_image" data-pb-style="G4REC92"></picture><picture class="pagebuilder-mobile-only"><source type="image/webp" srcset="https://www.flooringinc.com/media/wysiwyg/Icon_1.webp"><img class="pagebuilder-mobile-only" src="https://www.flooringinc.com/media/wysiwyg/Icon_1.png" alt="" title="" width="" height="" fetchpriority="false" data-use-native-image-dimensions="true" data-element="mobile_image" data-pb-style="SI723FA"></picture></figure><h4 data-content-type="heading" data-appearance="default" data-element="main">Customer-First Policies</h4><div data-content-type="text" data-appearance="default" data-element="main"><p>Fast shipping, flexible payment options, and worry-free shopping make your experience seamless.</p></div></div><div class="pagebuilder-column" data-content-type="column" data-appearance="full-height" data-background-images="{}" data-element="main" data-pb-style="PPSFTY0"><figure data-content-type="image" data-appearance="full-width" data-element="main" data-pb-style="Y
56731X5X1L"><picture class="pagebuilder-mobile-hidden"><source type="image/webp" srcset="https://www.flooringinc.com/media/wysiwyg/Icon_9.webp"><img class="pagebuilder-mobile-hidden" src="https://www.flooringinc.com/media/wysiwyg/Icon_9.png" alt="" title="" width="" height="" fetchpriority="false" data-use-native-image-dimensions="true" data-element="desktop_image" data-pb-style="YSB33E7"></picture><picture class="pagebuilder-mobile-only"><source type="image/webp" srcset="https://www.flooringinc.com/media/wysiwyg/Icon_9.webp"><img class="pagebuilder-mobile-only" src="https://www.flooringinc.com/media/wysiwyg/Icon_9.png" alt="" title="" width="" height="" fetchpriority="false" data-use-native-image-dimensions="true" data-element="mobile_image" data-pb-style="MQKFQSJ"></picture></figure><h4 data-content-type="heading" data-appearance="default" data-element="main">Most Extensive Selection</h4><div data-content-type="text" data-appearance="default" data-element="main"><p>Major brands, performance products, and specialty options mean you&rsquo;ll find exactly what you need.</p></div></div></div></div></div></div><div class="about-promise" 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="E8T9MG0"><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="X8N6MDH"><div class="pagebuilder-column-line" data-content-type="column-line" data-element="main" data-pb-style="P8HRLTT"><div class="pagebuilder-column" data-content-type="column" data-appearance="full-height" data-background-images="{}" data-element="main" data-pb-style="QX8XAJ8"><h2 data-content-type="heading" data-appearance="default" data-element="main" data-pb-style="VBRX1JU">Our Promise</h2><div data-content-type="text" data-appearance="default" data-element="main"><p style="text-align: center;">Flooring Inc. isn&rsquo;t just a business &mdash; it&rsquo;s a mission brought to life by a dedicated team that cares. We&rsquo;re proud to remain small and focused, helping customers achieve the best flooring solutions while staying true to the principles our founders instilled: Integrity, Expertise, and Customer Care.</p>
5674<p style="text-align: center;">We are committed to providing the best value in flooring &mdash; through competitive pricing, quality products, expert guidance, and a worry-free online shopping experience. Every floor we sell reflects the trust our customers place in us, and it&rsquo;s a responsibility we take seriously.</p>
5675<p style="text-align: center;">Thank you for letting us help bring your space to life.</p></div></div></div></div></div><div data-content-type="row" data-appearance="contained" data-element="main"><div class="about-team" 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="N1MXC9B"><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="FY50TNI"><div class="pagebuilder-column-line" data-content-type="column-line" data-element="main" data-pb-style="P9CEI8D"><div class="pagebuilder-column" data-content-type="column" data-appearance="full-height" data-background-images="{}" data-element="main" data-pb-style="HHY6H5Y"><figure class="m-auto" data-content-type="image" data-appearance="full-width" data-element="main" data-pb-style="H3M3UDP"><picture class="pagebuilder-mobile-hidden"><source type="image/webp" srcset="https://www.flooringinc.com/media/wysiwyg/about_team.webp"><img class="pagebuilder-mobile-hidden" src="https://www.flooringinc.com/media/wysiwyg/about_team.jpg" alt="" title="" width="" height="" fetchpriority="false" data-use-native-image-dimensions="true" data-element="desktop_image" data-pb-style="GRBX0RX"></picture><picture class="pagebuilder-mobile-only"><source type="image/webp" srcset="https://www.flooringinc.com/media/wysiwyg/about_team_mobile.webp"><img class="pagebuilder-mobile-only" src="https://www.flooringinc.com/media/wysiwyg/about_team_mobile.jpg" alt="" title="" width="" height="" fetchpriority="false" data-use-native-image-dimensions="true" data-element="mobile_image" data-pb-style="QN05Y33"></picture></figure></div><div class="pagebuilder-column" data-content-type="column" data-appearance="full-height" data-background-images="{}" data-element="main" data-pb-style="BHAMPRV"><h2 data-content-type="heading" data-appearance="default" data-element="main">Our Team &amp; Culture&nbsp;</h2><div data-content-type="text" data-appearance="default" data-element="main"><p>Flooring Inc. is driven by a creative, collaborative team committed to excellence, whether working in the office or remotely. We foster a close-knit culture centered on shared fun, creativity, and dedication to our customers. This strong team foundation is a key reason for our growth and excellent reputation. Is this the right fit for you? Apply today to join our team!</p></div><div data-content-type="buttons" data-appearance="inline" data-same-width="false" data-element="main"><div data-content-type="button-item" data-appearance="default" data-element="main" data-pb-style="V7KC12H"><a class="pagebuilder-button-primary" href="/careers" target="" data-link-type="default" data-element="link" data-pb-style="BGBXD09"><span data-element="link_text">Apply Today</span></a></div></div></div></div></div></div></div><div data-content-type="html" data-appearance="default" data-element="main" data-decoded="true"><style>
5676@media(min-width: 769px){
5677.cms-about .breadcrumbs-in {
5678  visibility: hidden;
5679  padding: 0px;
5680}
5681
5682.cms-about #maincontent .columns {
5683  max-width: 100%;
5684  padding: 0px;
5685}
5686
5687.cms-about #maincontent .columns h2 {
5688  font-size: 42px;
5689  line-height: 46.2px;
5690  --tw-text-opacity: 1;
5691  color: rgb(30 30 30 / var(--tw-text-opacity));
5692  margin-bottom: 2rem;
5693  font-weight: 700;
5694  font-family: 'Inter', sans-serif!important;
5695}
5696
5697.cms-about #maincontent .columns p {
5698  font-size: 18px;
5699  line-height: 25.2px;
5700  --tw-text-opacity: 1;
5701  color: rgb(30 30 30 / var(--tw-text-opacity));
5702  font-weight: 400;
5703  font-family: 'Inter', sans-serif!important;
5704}
5705
5706.story-banner {
5707  padding-left: 3rem !important;
5708  padding-right: 3rem !important;
5709  padding-top: 70px !important;
5710  padding-bottom: 70px !important;
5711}
5712
5713.story-banner .pagebuilder-column-group > .pagebuilder-column-line {
5714  gap: 100px;
5715}
5716
5717.story-banner .pagebuilder-column-group > .pagebuilder-column-line h1 {
5718  margin-bottom: 40px;
5719  font-size: 54px;
5720  line-height: 59.4px;
5721  --tw-text-opacity: 1;
5722  color: rgb(30 30 30 / var(--tw-text-opacity));
5723  font-weight: 700;
5724  font-family: 'Inter', sans-serif!important;
5725}
5726
5727.about-brand {
5728  max-width: 85%;
5729  margin: auto;
5730  margin-top: 50px !important;
5731  margin-bottom: 50px !important;
5732}
5733
5734.about-brand .pagebuilder-column-line {
5735  gap: 100px;
5736}
5737
5738.about-brand .pagebuilder-column-line .pagebuilder-column {
5739  justify-content: center !important;
5740}
5741
5742.about-brand + [data-content-type='text'] p {
5743  padding-bottom: 1rem;
5744}
5745
5746.about-make {
5747  margin-top: 100px !important;
5748}
5749
5750.about-make .pagebuilder-column-line {
5751  gap: 40px;
5752}
5753
5754@media(max-width: 1440px){
5755  .about-make .pagebuilder-column-line {
5756    gap: 30px;
5757  }
5758}
5759
5760.about-make .pagebuilder-column-line .pagebuilder-column {
5761  margin-bottom: 40px;
5762  padding: 20px;
5763}
5764
5765.about-make .pagebuilder-column-line .pagebuilder-column {
5766  border: 1px solid #DDE1E6;
5767}
5768
5769.about-make .pagebuilder-column-line .pagebuilder-column.no-border {
5770  border-width: 0px;
5771}
5772
5773.about-make .pagebuilder-column-line h3 {
5774  padding-top: 20px;
5775  padding-bottom: 10px;
5776  font-size: 24px;
5777  line-height: 26.4px;
5778  --tw-text-opacity: 1;
5779  color: rgb(30 30 30 / var(--tw-text-opacity));
5780  font-weight: 700;
5781}
5782
5783.about-make .pagebuilder-column-line p {
5784  font-size: 16px !important;
5785  line-height: 24px !important;
5786}
5787
5788.about-mission {
5789  margin-top: 70px !important;
5790}
5791
5792.about-mission p {
5793  padding-bottom: 1.5rem;
5794}
5795
5796.about-mission .pagebuilder-column-line {
5797  padding-left: 3rem;
5798  padding-right: 3rem;
5799  padding-top: 4rem;
5800  padding-bottom: 3rem;
5801}
5802
5803.about-trust {
5804  margin-top: 80px !important;
5805}
5806
5807.about-trust .pagebuilder-column-line {
5808  gap: 40px;
5809}
5810
5811
5812
5813.about-trust .pagebuilder-column-line .pagebuilder-column {
5814  margin-bottom: 40px;
5815  padding: 20px;
5816  border: 1px solid #DDE1E6;
5817}
5818
5819
5820.about-trust .pagebuilder-column-line h4 {
5821  padding-top: 20px;
5822  padding-bottom: 5px;
5823  font-size: 16px;
5824  line-height: 17.6px;
5825  --tw-text-opacity: 1;
5826  color: rgb(30 30 30 / var(--tw-text-opacity));
5827  font-weight: 700;
5828}
5829
5830.about-trust .pagebuilder-column-line p {
5831  font-size: 16px !important;
5832  line-height: 24px !important;
5833  --tw-text-opacity: 1 !important;
5834  color: rgb(30 30 30 / var(--tw-text-opacity)) !important;
5835  font-weight: 400 !important;
5836}
5837
5838.about-promise {
5839  margin-top: 60px !important;
5840}
5841
5842.about-promise p {
5843  padding-bottom: 1.5rem;
5844}
5845
5846.about-promise .pagebuilder-column-line {
5847  padding-left: 3rem;
5848  padding-right: 3rem;
5849  padding-top: 4rem;
5850  padding-bottom: 3rem;
5851}
5852
5853.about-team h2 {
5854  padding-bottom: 1rem;
5855}
5856
5857.about-team {
5858  margin-top: 100px !important;
5859  margin-bottom: 60px !important;
5860}
5861
5862.about-team [data-content-type='buttons'] {
5863  margin-top: 1.5rem;
5864}
5865
5866.about-team [data-content-type='buttons'] .pagebuilder-button-primary {
5867  height: 42px;
5868  min-width: 273px;
5869  --tw-bg-opacity: 1;
5870  background-color: rgb(255 189 98 / var(--tw-bg-opacity));
5871  line-height: 41px;
5872  width: 100%;
5873}
5874
5875.about-team [data-content-type='buttons'] .pagebuilder-button-primary span {
5876  font-size: 20px;
5877  --tw-text-opacity: 1;
5878  color: rgb(30 30 30 / var(--tw-text-opacity));
5879  font-weight: 400;
5880  font-family: 'Inter', sans-serif!important;
5881}
5882
5883.about-team .pagebuilder-column-line {
5884  gap: 100px;
5885}
5886
5887.about-team .pagebuilder-column-line figure {
5888  width: 100%;
5889}
5890
5891.about-team .pagebuilder-column-line figure img {
5892  border-radius: 20px;
5893  width: 100%;
5894}
5895.cms-about [data-content-type=row][data-appearance=contained] {
5896    padding-left: 2.5rem;
5897    padding-right: 2.5rem;
5898}
5899}
5900
5901
5902@media(max-width: 1440px){
5903  .about-trust .pagebuilder-column-line .pagebuilder-column {
5904    margin-bottom: 30px;
5905    padding: 16px;
5906  }
5907}
5908
5909@media(max-width: 1440px){
5910  .about-trust .pagebuilder-column-line {
5911    gap: 30px;
5912  }
5913}
5914@media(max-width: 1440px){
5915  .about-make .pagebuilder-column-line .pagebuilder-column {
5916    margin-bottom: 30px;
5917    padding: 16px;
5918  }
5919}
5920@media(max-width: 1440px){
5921  .story-banner .pagebuilder-column-group > .pagebuilder-column-line {
5922    gap: 80px;
5923  }
5924}
5925
5926
5927@media only screen and (max-width: 768px) {
5928.cms-about .breadcrumbs-in {
5929  visibility: hidden;
5930  padding: 0px;
5931}
5932
5933.cms-about #maincontent .columns {
5934  max-width: 100%;
5935  padding: 0px;
5936}
5937
5938.cms-about #maincontent .columns h2 {
5939  font-size: 28px;
5940  line-height: 42px;
5941  --tw-text-opacity: 1;
5942  color: rgb(30 30 30 / var(--tw-text-opacity));
5943  margin-bottom: 1rem;
5944  font-weight: 700;
5945  font-family: 'Inter', sans-serif!important;
5946}
5947
5948.cms-about #maincontent .columns p {
5949  font-size: 18px;
5950  line-height: 25.2px;
5951  --tw-text-opacity: 1;
5952  color: rgb(30 30 30 / var(--tw-text-opacity));
5953  font-weight: 400;
5954  font-family: 'Inter', sans-serif!important;
5955}
5956
5957.story-banner {
5958  padding-bottom: 1rem;
5959  text-align: center;
5960}
5961
5962.story-banner .pagebuilder-column-group > .pagebuilder-column-line {
5963  gap: 15px;
5964}
5965
5966.story-banner .pagebuilder-column-group > .pagebuilder-column-line h1 {
5967  margin-top: 15px;
5968  font-size: 32px;
5969  line-height: 39px;
5970  --tw-text-opacity: 1;
5971  color: rgb(30 30 30 / var(--tw-text-opacity));
5972  font-weight: 700;
5973  font-family: 'Inter', sans-serif!important;
5974}
5975
5976.story-banner .pagebuilder-column-group > .pagebuilder-column-line .pagebuilder-column figure {
5977  margin: auto;
5978}
5979
5980.story-banner .story-image .pagebuilder-column:first-child {
5981  order: 2;
5982}
5983
5984.story-banner [data-content-type='text'] {
5985  padding: 1.25rem;
5986}
5987
5988.about-brand {
5989  margin-top: 20px !important;
5990  margin-bottom: 30px !important;
5991}
5992
5993.about-brand .pagebuilder-column-line {
5994  gap: 100px;
5995}
5996
5997.about-brand .pagebuilder-column-line .pagebuilder-column {
5998  justify-content: center !important;
5999}
6000
6001.about-brand + [data-content-type='text'] p {
6002  padding-bottom: 0.75rem;
6003}
6004
6005.about-make {
6006  margin-top: 50px !important;
6007}
6008
6009.about-make .pagebuilder-column-line {
6010  gap: 0px;
6011}
6012
6013.about-make .pagebuilder-column-line .pagebuilder-column {
6014  margin-bottom: 20px;
6015  padding: 5px;
6016  flex-direction: row !important;
6017}
6018
6019.about-make .pagebuilder-column-line .pagebuilder-column figure{
6020  flex: 0 0 15%;
6021}
6022
6023.about-make .pagebuilder-column-line h3 {
6024  padding-bottom: 7px;
6025  font-size: 20px;
6026  line-height: 22px;
6027  --tw-text-opacity: 1;
6028  color: rgb(30 30 30 / var(--tw-text-opacity));
6029  font-weight: 700;
6030}
6031
6032.about-make .pagebuilder-column-line p {
6033  font-size: 16px !important;
6034  line-height: 24px !important;
6035}
6036
6037.about-mission {
6038  margin-top: 20px !important;
6039}
6040
6041.about-mission p {
6042  padding-bottom: 1.5rem;
6043}
6044
6045.about-mission .pagebuilder-column-line {
6046  padding-left: 1rem;
6047  padding-right: 1rem;
6048  padding-top: 3rem;
6049  padding-bottom: 2rem;
6050}
6051
6052.about-trust {
6053  margin-top: 60px !important;
6054}
6055
6056.about-trust .pagebuilder-column-line {
6057  gap: 20px;
6058}
6059
6060.about-trust .pagebuilder-column-line .pagebuilder-column {
6061  padding: 16px;
6062  text-align: center;
6063  border: 1px solid #DDE1E6;
6064}
6065
6066.about-trust .pagebuilder-column-line .pagebuilder-column figure {
6067  margin: auto;
6068}
6069
6070.about-trust .pagebuilder-column-line h4 {
6071  padding-top: 20px;
6072  padding-bottom: 5px;
6073  font-size: 16px;
6074  line-height: 17.6px;
6075  --tw-text-opacity: 1;
6076  color: rgb(30 30 30 / var(--tw-text-opacity));
6077  font-weight: 700;
6078}
6079
6080.about-trust .pagebuilder-column-line p {
6081  font-size: 16px !important;
6082  line-height: 24px !important;
6083  --tw-text-opacity: 1 !important;
6084  color: rgb(30 30 30 / var(--tw-text-opacity)) !important;
6085  font-weight: 400 !important;
6086}
6087
6088.about-promise {
6089  margin-top: 60px !important;
6090}
6091
6092.about-promise p {
6093  padding-bottom: 1.5rem;
6094}
6095
6096.about-promise .pagebuilder-column-line {
6097  padding-left: 1rem;
6098  padding-right: 1rem;
6099  padding-top: 4rem;
6100  padding-bottom: 1rem;
6101}
6102
6103.about-team {
6104  margin-top: 60px !important;
6105  margin-bottom: 40px !important;
6106}
6107
6108.about-team [data-content-type='buttons'] {
6109  margin-top: 1.5rem;
6110}
6111
6112.about-team [data-content-type='buttons'] .pagebuilder-button-primary {
6113  height: 42px;
6114  min-width: 273px;
6115  --tw-bg-opacity: 1;
6116  background-color: rgb(255 189 98 / var(--tw-bg-opacity));
6117  line-height: 41px;
6118  width: 100%;
6119}
6120
6121figure.about-team [data-content-type='buttons'] .pagebuilder-button-primary img{
6122  width: 100%;
6123}
6124
6125section#product\.attributes .card.about-team [data-content-type='buttons'] .pagebuilder-button-primary{
6126  background-color: transparent;
6127  padding: 0;
6128  box-shadow: none;
6129}
6130
6131.customer-account-login #customer-login-container .block.block-new-customer figure.about-team [data-content-type='buttons'] .pagebuilder-button-primary img{
6132  width: 100%;
6133  height: 227px;
6134  -o-object-fit: cover;
6135     object-fit: cover;
6136  border-radius: 4px;
6137}
6138
6139.about-team [data-content-type='buttons'] .pagebuilder-button-primary span {
6140  font-size: 20px;
6141  --tw-text-opacity: 1;
6142  color: rgb(30 30 30 / var(--tw-text-opacity));
6143  font-weight: 400;
6144  font-family: 'Inter', sans-serif!important;
6145}
6146
6147.about-team .pagebuilder-column-line {
6148  gap: 35px;
6149  text-align: center;
6150}
6151
6152.about-team .pagebuilder-column-line figure {
6153  width: 100%;
6154}
6155
6156figure.about-team .pagebuilder-column-line figure img{
6157  width: 100%;
6158}
6159
6160section#product\.attributes .card.about-team .pagebuilder-column-line figure{
6161  background-color: transparent;
6162  padding: 0;
6163  box-shadow: none;
6164}
6165
6166.customer-account-login #customer-login-container .block.block-new-customer figure.about-team .pagebuilder-column-line figure img{
6167  width: 100%;
6168  height: 227px;
6169  -o-object-fit: cover;
6170     object-fit: cover;
6171  border-radius: 4px;
6172}
6173
6174.about-team .pagebuilder-column-line figure img {
6175  border-radius: 20px;
6176  width: 100%;
6177}
6178}
6179
6180</style></div> 
6180<script nonce="YjZ2ZWQxdzRxcTd4ZGJzcGk4OGs3aXlybTNkOWF6ODk=">
6181    function hasWebP() {
6182        var elem = document.createElement('canvas');
6183
6184        if (!!(elem.getContext && elem.getContext('2d'))) {
6185            return elem.toDataURL('image/webp').indexOf('data:image/webp') === 0;
6186        }
6187        return false;
6188    }
6189
6190    if (hasWebP()) {
6191        document.body.classList.add("webp");
6192    } else {
6193        document.body.classList.add("no-webp");
6194    }</script>
6194<div style="width: 100%; text-align: center; padding-bottom: 7px "><div class="affirm-banner-container" data-page-type="homepage" style="cursor:pointer;" ><a class="affirm-site-modal" x-init="affirmInit()" x-on:click="affirmClick()"><img style="max-width:150px; max-height:100px; " src="https://cdn-assets.affirm.com/images/banners/150x100.png" alt="Affirm buy with monthly payments">
6195            </a>
6196        </div></div>
6197<script>
6198const triggerDiv = document.querySelector('.btn-trans');
6199const targetButton = document.querySelector('.affirm-site-modal');
6200if (triggerDiv && targetButton) {
6201    triggerDiv.addEventListener('click', () => {
6202        targetButton.click();
6203    });
6204} else {
6205    console.log('Required elements not found.');
6206}
6207function affirmClick() {
6208  _affirm_config = {
6209        public_api_key: "5DY9RF1N28DY4Z78",
6210        script: "https://cdn1.affirm.com/js/v2/affirm.js",
6211        locale: "en_US",
6212        country_code: "USA",
6213    };
6214
6215    (function(m,g,n,d,a,e,h,c){var b=m[n]||{},k=document.createElement(e),p=document.getElementsByTagName(e)[0],l=function(a,b,c){return function(){a[b]._.push([c,arguments])}};b[d]=l(b,d,"set");var f=b[d];b[a]={};b[a]._=[];f._=[];b._=[];b[a][h]=l(b,a,h);b[c]=function(){b._.push([h,arguments])};a=0;for(c="set add save post open empty reset on off trigger ready setProduct".split(" ");a<c.length;a++)f[c[a]]=l(b,d,c[a]);a=0;for(c=["get","token","url","items"];a<c.length;a++)f[c[a]]=function(){};k.async=
6216  !0;k.src=g[e];p.parentNode.insertBefore(k,p);delete g[e];f(g);m[n]=b})(window,_affirm_config,"affirm","checkout","ui","script","ready","jsReady");
6217
6218}
6219function affirmInit() {
6220    window.addEventListener('init-external-scripts', () => {
6221        affirmClick();
6222    }, {once: true, passive: true});
6223}
6224</script>
6224
6225</div></div></main><footer class="page-footer"><div class="footer content">
6226<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>
6227<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>
6228<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>
6229<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">
6229<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>
6230<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>
6231</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">
6232    <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>
6233<li style="line-height: 10px;"><a id="T6SH02B" tabindex="0" href="/contact">Contact Us</a></li>
6234<li style="line-height: 10px;"><a tabindex="0" href="/about">About Us</a></li>
6235<li style="line-height: 10px;"><a id="EHRBRCU" tabindex="0" href="/careers">Careers</a></li>
6236<li style="line-height: 10px;"><a tabindex="0" href="/privacy-policy">Privacy Policy</a></li>
6237<li style="line-height: 10px;"><a tabindex="0" href="/affirm">Affirm</a></li>
6238<li style="line-height: 10px;"><a tabindex="0" href="/our-commitment-accessibility">Accessibility</a></li>
6239<li style="line-height: 10px;"><a tabindex="0" href="/terms-and-conditions">Terms &amp; Conditions</a></li>
6240</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>
6241<li><a tabindex="0" href="/shipping-info">Shipping</a></li>
6242<li><a id="ER5IYQ2" tabindex="0" href="/sales/guest/form">Track Order</a></li>
6243<li><a tabindex="0" href="/returns-exchanges">Returns &amp; Exchanges</a></li>
6244<li><a tabindex="0" href="/moneybackguarantee">Money Back Guarantee</a></li>
6245<li id="W8TRHHE"><a tabindex="0" href="/pro-advantage">Pro Advantage</a></li>
6246<li><a href="/dor-sites">Sales &amp; Use Tax</a></li>
6247</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>
6248<li><a tabindex="0" href="/knowledge-base">FAQs</a></li>
6249<li><a tabindex="0" href="/sample-request">Samples</a></li>
6250<li><a tabindex="0" href="https://flooringinc.cashstar.com/store/recipient?locale=en-us">Gift Cards</a></li>
6251<li><a href="/promotions-disclaimer">Promotions</a></li>
6252</ul></div></div></div></div></div></div></div>
6253</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">
6254    <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">
6255    <form class="form subscribe" action="https://www.flooringinc.com/newsletter/subscriber/new/" method="post" x-data="initNewsletterForm()" @submit.prevent="submitForm(
6255)" id="newsletter-validate-detail">
6256        <div class="mb-3 text-sm font-medium tracking-widest text-gray-900 uppercase title-font">
6257            <h4 class="text-lg font-medium text-black mb-1 capitalize">Get Ready To Be Floored!</h4>
6258            <p calss="sub_heading capitalize">Join our insider's club</p>
6259        </div>
6260        <div class="flex flex-wrap justify-center gap-2 md:justify-start">
6261            <label for="newsletter-subscribe" class="sr-only">
6262                Email Address            </label>
6263            <input name="email" type="email" required id="newsletter-subscribe" class="form-input inline-flex w-full" placeholder="Enter email address">
6264            <input name="form_key" type="hidden" value="azuXBYKQfItoxoot">                        <button class="btn btn-primary">
6265                Subscribe Now            </button>
6266        </div>
6267        <div>
6268            <template x-if="displayErrorMessage">
6269                <p class="flex items-center text-red">
6270                    <span class="inline-block w-8 h-8 mr-3">
6271                        <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">
6272  <path stroke-linecap="round" stroke-linejoin="round" d="M12 8v4m0 4h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z"></path>
6273<title>exclamation-circle</title></svg>
6274                    </span>
6275                    <template x-for="errorMessage in errorMessages">
6276                        <span x-html="errorMessage"></span>
6277                    </template>
6278                </p>
6279            </template>
6280        </div>
6281    </form>
6282    <div class="w-full">
6283            </div>
6284    
6284<script>
6285        function initNewsletterForm() {
6286            return {
6287                errors: 0,
6288                hasCaptchaToken: 0,
6289                displayErrorMessage: false,
6290                errorMessages: [],
6291                setErrorMessages(messages) {
6292                    this.errorMessages = [messages]
6293                    this.displayErrorMessage = this.errorMessages.length
6294                },
6295                submitForm() {
6296                    // Do not rename $form, the variable is expected to be declared in the recaptcha output
6297                    const $form = document.querySelector('#newsletter-validate-detail');
6298                    
6299                    if (this.errors === 0) {
6300                        $form.submit();
6301                    }
6302                }
6303            }
6304        }
6305    </script>
6305
6306</div>
6307
6308<div class="pr-4 lg:w-1/4 md:w-1/2">
6309
6310</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>
6311</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">
6312    <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>
6313<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>
6314<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>
6315</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>
6316<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>
6317<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>
6318<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>
6319<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>
6320<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>
6321<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>
6322<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>
6323</ul></div></div></div></div><div data-content-type="html" data-appearance="default" data-element="main" data-decoded="true"><style>
6324.checkout-cart-index .summary-cart .cart-discount{display:block;}
6325.page-with-filter .products.wrapper.mode-list.products-list .item.product .catergory_slider_content .compare-buttons .compare-buttons-mobile{order:2;}
6326.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;}
6327@media(min-width:1280px){.mega_menu_banner img{max-width: 239px !important;}}
6328.cms-home .catergory_slider_content .product-item-link{font-size: .875rem;line-height: 1.313rem;}
6329@media(min-width: 768px){
6330.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);}
6330.catergory_slider_content .compare-buttons .orderSampleContent{order:3;}
6331.catergory_slider_content .compare-buttons .ship-fax-plp .ship-iconsada{display: block;}
6332.page-products #maincontent .products.mode-grid .catergory_slider_content .compare-buttons .orderSampleContent{order: 3;}
6333   .category_banner .pagebuilder-column-group .pagebuilder-column-line .pagebuilder-column figure picture{height: 100% !important;object-fit:cover;}
6334[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;}
6335.cms-home [data-content-type=products][data-appearance=carousel] [data-role=glider-content] .item.product:not(.glider-slide){min-width: 370px;}
6336[data-content-type=products][data-appearance=carousel] [data-role=glider-content]:not(.glider)::-webkit-scrollbar{width: 10px;}
6337[data-content-type=products][data-appearance=carousel] [data-role=glider-content]:not(.glider)::-webkit-scrollbar-track {background: #ffffff !important;}
6338[data-content-type=products][data-appearance=carousel] [data-role=glider-content]:not(.glider)::-webkit-scrollbar-thumb {background: #ffffff !important;}
6339}
6340@media(min-width: 768px){
6341  .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;}
6342  .featured_partners .swiper-container:not(.swiper-initialized) .swiper-slide{width: 16%;}
6343  .featured_partners .swiper-container:not(.swiper-initialized)::-webkit-scrollbar{width: 10px;}
6344  .featured_partners .swiper-container:not(.swiper-initialized)::-webkit-scrollbar-track {background: #ffffff !important;}
6345  .featured_partners .swiper-container:not(.swiper-initialized)::-webkit-scrollbar-thumb {background: #ffffff !important;}
6346  .featured_partners .swiper-container:not(.swiper-initialized)::-webkit-scrollbar-thumb:hover {background: #ffffff !important;}
6347}
6348@media(max-width:767px){.page-products #maincontent .toolbar.toolbar-products .pages-items{justify-content: center;gap: 10px;box-shadow: none;}}
6349</style></div></div>
6350</div></div></div></div><div data-content-type="html" data-appearance="default" data-element="main" data-decoded="true">
6350<script>
6351    document.addEventListener('DOMContentLoaded', function () {
6352        const gallery = document.querySelector('#gallery');
6353        const header = document.querySelector('#header');
6354        if (!gallery || !header) return;
6355        const stickyTop = header.offsetHeight;
6356        // parent/container where sticky should stop
6357        const parent = gallery.parentElement;
6358        function checkSticky() {
6359            const rect = gallery.getBoundingClientRect();
6360            const parentRect = parent.getBoundingClientRect();
6361            // sticky active only while parent still has space
6362            const isSticky =
6363                rect.top <= stickyTop &&
6364                parentRect.bottom > rect.height + stickyTop;
6365            document.body.classList.toggle('gallery-sticky', isSticky);
6366        }
6367        checkSticky();
6368        window.addEventListener('scroll', checkSticky);
6369        window.addEventListener('resize', checkSticky);
6370    });
6371</script>
6371
6372<style>
6373@media (min-width: 1200px) {
6374    .megamenu_items:hover>.megamenu {
6375        max-width: 1440px;
6376    }
6377}
6378.products__recommendations .products_slider .catergory_slider_content .color_counts{margin-bottom: 15px;}
6379html.order_active .page-header #header{z-index: -1;}
6380html.order_active{overflow: hidden !important;}
6381@media(min-width: 768px){.checkout-cart-index #shopping-cart-table .cart.item .item-info td{flex-wrap: nowrap;}}
6382</style>
6383<style>
6384.cms-home .order-free-sample-popup{display: none;}
6385.cms-home.order_active .order-free-sample-popup{display: flex;}
6386@media(min-width:768px){
6387.page-with-filter .widget-product-carousel .catergory_slider_content .compare-buttons{flex-wrap: wrap;}
6388.page-with-filter .widget-product-carousel .catergory_slider_content .compare-buttons .ship-fax-plp{order:1;}
6389.page-with-filter .widget-product-carousel .catergory_slider_content .compare-buttons .compare-buttons-mobile{width: 100%;order: 2;display: flex;justify-content: space-between;}
6390.page-with-filter .widget-product-carousel .catergory_slider_content .compare-buttons .orderSampleContent .order_btn{margin-top: 10px;}
6391.page-with-filter .widget-product-carousel .catergory_slider_content .compare-buttons{border-top: 0px;padding-top:0px;margin-top: 0px;}
6392.catalog-product-view .products_slider .compare-buttons .qty_fields .btn_cart{width:110px}
6393}
6394@media(max-width:767px){
6395.page-with-filter .widget-product-carousel .catergory_slider_content .compare-buttons{flex-wrap: wrap;}
6396.page-with-filter .widget-product-carousel .catergory_slider_content .compare-buttons .ship-fax-plp{order:1;width: 100%;}
6397.page-with-filter .widget-product-carousel .catergory_slider_content .compare-buttons .compareBtn{order:2;justify-content: flex-start;width: auto;margin-top: 10px;}
6398.page-with-filter .widget-product-carousel .catergory_slider_content .compare-buttons .orderSampleContent{order:3;margin-top: 10px;}
6399.page-with-filter .widget-product-carousel .catergory_slider_content .compare-buttons .compare-buttons-mobile{order:2;width: 100%;display: flex;justify-content: space-between;}
6400}
6401#related_cart_slider .js_slides{margin-right: 0;margin-left: 0;}
6402@media (min-width: 1024px) {
6403.container {
6404    max-width: 1440px !important;
6405}
6406}
6407.page-with-filter .product-item .product-info .price-box .price-container .price-wrapper span.price{font-size: 20px !important;color: #1e1e1e !important;}
6408.page-with-filter .product-item .product-info .price-box .price-container .price-wrapper{font-size: 20px !important;line-height: 20px !important}
6409.brand_logo_listpage img, div.brand_logo_listpage img{max-width:100px}
6410.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;}
6411
6412.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;}
6413
6414@media(max-width: 767px){
6415   .related_products_list_view .glider-track{width: 100% !important;flex-wrap: nowrap;align-items: flex-start;}
6416   .related_products_list_view .related_products_list_view_content{width: 100% !important;min-width: 280px;max-width: 280px;}
6417}
6418
6419.dcw-share-cart .space-y-4>:not([hidden])~:not([hidden]) {
6420    --tw-space-y-reverse: 0;
6421    margin-top: calc(1rem * (1 - var(--tw-space-y-reverse)));
6422    margin-bottom: calc(1rem * var(--tw-space-y-reverse));
6423}
6424.dcw-share-cart .bg-black\/50 {
6425    background-color: #00000080;
6426}
6427.dcw-share-cart .z-\[999\] {
6428    z-index: 999;
6429}
6430</style></div></div>
6431<script>
6432    window.addEventListener('init-external-scripts', () => {
6433        const klaviyoScript = document.createElement('script');
6434        klaviyoScript.src = '//static.klaviyo.com/onsite/js/klaviyo.js?company_id=WAwVDg';
6435        klaviyoScript.type = 'text/javascript';
6436        klaviyoScript.async = true;
6437        document.head.append(klaviyoScript);
6438    }, {once: true, passive: true});
6439</script>
vendor: 1 bytes, line 6439
6439
6440<script>
6441    document.addEventListener('DOMContentLoaded', function() {
6442        const buttons = document.querySelectorAll('.cms-home .order_btn');
6443        buttons.forEach(button => {
6444            button.addEventListener('click', function() {
6445                const modal = this.closest('.orderSampleContent').querySelector('.order-free-sample-popup');
6446                if (modal) {
6447                    modal.style.display = 'block';
6448                }
6449            });
6450        });
6451
6452        // Handle closing the modal
6453        document.querySelectorAll('.cms-home .order-free-sample-popup .closemodal').forEach(closeBtn => {
6454            closeBtn.addEventListener('click', function() {
6455                const modal = this.closest('.order-free-sample-popup');
6456                if (modal) {
6457                    modal.style.display = 'none';
6458                }
6459            });
6460        });
6461    });
6462</script>
6462
6463
6464<script>
6465    document.addEventListener('DOMContentLoaded', function () {
6466        function updateRatingsClass(ratingEl) {
6467            const hasReviews = ratingEl.querySelector('.bv_numReviews_component_container');
6468            ratingEl.classList.toggle('no-reviews', !hasReviews);
6469        }
6470        document.querySelectorAll('.ratings').forEach(ratingEl => {        
6471            updateRatingsClass(ratingEl);        
6472            const observer = new MutationObserver(() => {
6473                updateRatingsClass(ratingEl);
6474            });
6475            observer.observe(ratingEl, {
6476                childList: true,
6477                subtree: true
6478            });
6479        });
6480    });
6481</script>
6481
6482
6483<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'"/>
6484<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'"/>
6485<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'"/>
6486<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'"/>
6487<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'"/>
6488<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'"/>
6489<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'"/>
6490<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'"/>
6491<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'"/>
6492<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>
6493<script>
6494    function dataServicesShoppingCartContextData()
6495    {
6496        return {
6497            initContext(cartData) {
6498                let contextCartItems = [];
6499
6500                cartData.items.forEach(function (item){
6501                    contextCartItems.push({
6502                        id: item.item_id,
6503                        formattedPrice: parseFloat(item.product_price_value ? item.product_price_value : 0),
6504                        quantity: item.qty,
6505                        product: {
6506                            productType: item.product_type,
6507                            productId: item.product_id,
6508                            name: item.product_name,
6509                            sku: item.product_sku,
6510                            mainImageUrl : item.product_image.src
6511                        },
6512                        prices: {
6513                            price: {
6514                                value: parseFloat(item.product_price_value ? item.product_price_value : 0)
6515                            }
6516                        }
6517                    })
6518                });
6519
6520                magentoStorefrontEvents.context.setShoppingCart({
6521                    id: cartData.dsCartId,
6522                    totalQuantity: cartData.summary_count,
6523                    prices: {
6524                        subtotalExcludingTax: {
6525                            value: parseFloat(cartData.subtotalAmountExclTax ? cartData.subtotalAmountExclTax : 0)
6526                        },
6527                        subtotalIncludingTax: {
6528                            value: parseFloat(cartData.subtotalAmount ? cartData.subtotalAmount : 0)
6529                        }
6530                    },
6531                    items: contextCartItems,
6532                    possibleOnepageCheckout: cartData.possible_onepage_checkout,
6533                    giftMessageSelected : false,
6534                    giftWrappingSelected : false
6535                });
6536
6537                window.dispatchEvent(new Event("shoppingCartContextSet"));
6538            }
6539        }
6540    }
6541</script>
6541
6542<div x-data="dataServicesShoppingCartContextData()"
6543     @private-content-loaded.window="initContext($event.detail.data.cart)"></div>
6544
6545    
6546<script>
6547    (function () {
6548        'use strict';
6549
6550        /**
6551         * Config to determine which element is responsible for the form submission
6552         *
6553         * @type {[{elementSelector: undefined|string, submitAttribute: string}]}
6554         */
6555        const formWrapperConfig = [{"elementSelector":null,"submitAttribute":"submit"},{"elementSelector":"[type=\"submit\"]","submitAttribute":"click"}];
6556
6557        /**
6558         * Replace protected forms submit with amRecaptchaModel.execute($event) method.
6559         * Call original submit on amrecaptcha-callback event after successful captcha validation.
6560         *
6561         * @return {void}
6562         */
6563        const wrapFormSubmit = function () {
6564            document.addEventListener("DOMContentLoaded", function () {
6565                const formsSelector = window.amRecaptchaModel?.formsToProtect || '';
6566                if (formsSelector.length === 0) {
6567                    return;
6568                }
6569
6570                document.querySelectorAll(formsSelector)?.forEach(formElement => {
6571                    if (!formElement) {
6572                        return;
6573                    }
6574
6575                    const { elementToWrap, attributeNameToWrap } = resolveElementWrapping(formElement);
6576                    if (!elementToWrap || !attributeNameToWrap) {
6577                        return;
6578                    }
6579
6580                    setElementAttributes(formElement, elementToWrap, attributeNameToWrap);
6581                });
6582            });
6583        };
6584
6585        /**
6586         * Find submit event and DOM element that has this event using formWrapperConfig.
6587         *
6588         * @param {HTMLElement} formElement
6589         * @return {{elementToWrap: undefined|string, attributeNameToWrap: undefined|string}}
6590         */
6591        const resolveElementWrapping = function (formElement) {
6592            let result = {
6593                elementToWrap: undefined,
6594                attributeNameToWrap: undefined
6595            };
6596
6597            formWrapperConfig.forEach(({ elementSelector, submitAttribute }) => {
6598                const elementToWrap = !!elementSelector ? formElement.querySelector(elementSelector) : formElement;
6599                if (!elementToWrap) {
6600                    return;
6601                }
6602
6603                const attributeNameToWrap = elementToWrap.getAttributeNames().find(
6604                    (elementAttribute) => {
6605                        /** @type {string[]} */
6606                        const submitAttributeVariations = ['@', 'x-on:'].map(variation => variation + submitAttribute);
6607
6608                        return submitAttributeVariations.some(
6609                            (submitAttributeVariation) => elementAttribute.startsWith(submitAttributeVariation)
6610                        )
6611                    }
6612                );
6613                if (!attributeNameToWrap) {
6614                    return;
6615                }
6616
6617                result.elementToWrap = elementToWrap;
6618                result.attributeNameToWrap = attributeNameToWrap;
6619            });
6620
6621            return result;
6622        }
6623
6624        /**
6625         *  Set attribute to wrap original submit, add eventListeners for captcha callbacks
6626         *
6627         * @param {HTMLElement} formElement
6628         * @param {HTMLElement} elementToWrap
6629         * @param {string} attributeNameToWrap
6630         */
6631        const setElementAttributes = function (formElement, elementToWrap, attributeNameToWrap) {
6632            const originalSubmit = elementToWrap.getAttribute(attributeNameToWrap);
6633            elementToWrap.removeAttribute(attributeNameToWrap);
6634
6635            /**
6636             * To properly set submit attribute - we need to replace '@' with 'x-on:'
6637             * and add preventDefault behaviour
6638             */
6639            elementToWrap.setAttribute(
6640                attributeNameToWrap.replace(/^@/, 'x-on:').replace(/.prevent$/, '') + '.prevent',
6641                'amRecaptchaModel.execute($event)'
6642            );
6643            elementToWrap.setAttribute(
6644                'x-on:amrecaptcha-executable-callback',
6645                originalSubmit
6646            );
6647        }
6648
6649        wrapFormSubmit();
6650    })(window.amRecaptchaModel = window.amRecaptchaModel || {});
6651</script>
6651
6652
6653<script>
6654    function initAuthenticationBss() {
6655        return {
6656            open: false,
6657            openLogin : false,
6658            openRegister : false,
6659            openForgot : false,
6660            openCreate : true,
6661            passwordsMatching: true,
6662            openMessage: false,
6663            errors: 0,
6664            message: "",
6665            hasCaptchaToken: 0,
6666            openButtonLogin : false,
6667            openButtonRegister : false,
6668            openSuccessMessage : false,
6669            checkUseReCaptcha: 1,
6670            recaptchaLoading: null,
6671            initSocial() {
6672                if (!this.checkUseReCaptcha) {
6673                    return Promise.resolve();
6674                }
6675                if (this.recaptchaLoading) {
6676                    return this.recaptchaLoading;
6677                }
6678                if (typeof window.grecaptcha !== 'undefined') {
6679                    this.recaptchaLoading = Promise.resolve();
6680                    return this.recaptchaLoading;
6681                }
6682                this.recaptchaLoading = new Promise((resolve, reject) => {
6683                    const recaptchaUrl = `https://www.google.com/recaptcha/api.js?render=6LdQFsgqAAAAAFaiT_SQ7C9UmCcxWxpMd6pIMAEO&hl=en`;
6684                    const script = document.createElement('script');
6685                    script.setAttribute('type', 'text/javascript');
6686                    script.setAttribute('src', recaptchaUrl);
6687                    script.onload = () => resolve();
6688                    script.onerror = () => reject(new Error('Failed to load reCAPTCHA'));
6689                    document.head.appendChild(script);
6690                });
6691                return this.recaptchaLoading;
6692            },
6693            loadRecaptchaOnInteraction() {
6694                if (!this.checkUseReCaptcha) {
6695                    return;
6696                }
6697                // Avoid scroll/mousemove/wheel — they fire on load / DevTools / trackpads.
6698                const events = ['pointerdown', 'keydown', 'touchstart'];
6699                const load = () => {
6700                    events.forEach((eventName) => {
6701                        window.removeEventListener(eventName, load, { capture: true });
6702                    });
6703                    this.initSocial();
6704                };
6705                events.forEach((eventName) => {
6706                    window.addEventListener(eventName, load, { once: true, passive: true, capture: true });
6707                });
6708            },
6709            checkPasswordsMatch() {
6710                if (document.getElementById('password').value ===
6711                    document.getElementById('password-confirmation').value) {
6712                    this.passwordsMatching = true;
6713                    return true;
6714                }
6715                this.passwordsMatching = false;
6716                return false;
6717            },
6718            submitForm: function () {
6719                const $form = document.querySelector('#login-form');
6720                if (this.errors === 0) {
6721                    this.dispatchLoginRequest($form);
6722                }
6723            },
6724            submitForgotForm : function () {
6725                const $form = document.querySelector('#fotgot-form');
6726                if (this.errors === 0) {
6727                    this.dispatchForgotRequest($form);
6728                }
6729            },
6730            submitRegisterForm : function () {
6731                const $form = document.querySelector('#create-form');
6732                if (this.errors === 0) {
6733                    this.dispatchRegisterRequest($form);
6734                }
6735            },
6736            validateCaptcha : async function () {
6737                await this.initSocial();
6738                return new Promise((resolve, reject) => {
6739                    if (typeof window.grecaptcha === 'undefined') {
6740                        return reject(new Error('reCAPTCHA is not available'));
6741                    }
6742                    grecaptcha.ready(function () {
6743                        grecaptcha.execute('6LdQFsgqAAAAAFaiT_SQ7C9UmCcxWxpMd6pIMAEO', {action: 'submit'}).then(function (token) {
6744                            return resolve(token);
6745                        }).catch(reject);
6746                    });
6747                });
6748            },
6749            dispatchLoginRequest:async function (form) {
6750                if (this.checkUseReCaptcha) {
6751                    let token = await this.validateCaptcha();
6752                    if(token)
6753                    {
6754                        document.getElementById("g-recaptcha-response").setAttribute('value',token);
6755                    }
6756                }
6757                const username = this.$refs['customer-email'].value;
6758                const password = this.$refs['customer-password'].value;
6759                const recaptchaValue = document.getElementById("g-recaptcha-response").value;
6760                const postUrl = "https://www.flooringinc.com/sociallogin/popup/login/";
6761                fetch(postUrl, {
6762                    headers: {
6763                        contentType: "application/x-www-form-urlencoded; charset=UTF-8",
6764                    },
6765                    body: new URLSearchParams({
6766                        username: username,
6767                        password: password,
6768                        ['g-recaptcha-response']: recaptchaValue,
6769                        form_key: hyva.getFormKey(),
6770                    }),
6771                    method: "POST",
6772                    mode: "cors",
6773                    credentials: "include",
6774                }).then(response => {
6775                        return response.json()
6776                    }
6777                ).then(data => {
6778                    this.isLoading = false;
6779                    if (data.error) {
6780                        this.message = data.message;
6781                        this.openMessage = true;
6782                        this.errors = 1;
6783                        this.hasCaptchaToken = 0;
6784                    } else {
6785                        this.message = data.message;
6786                        this.openMessage = false;
6787                        this.openSuccessMessage = true;
6788                        if (data.redirect !== '' && data.redirect != null) {
6789                            window.location.href = data.redirect;
6790                        } else {
6791                            location.reload(true);
6792                        }
6793                    }
6794                });
6795            },
6796            dispatchForgotRequest:async function (form) {
6797                if (this.checkUseReCaptcha) {
6798                    let token = await this.validateCaptcha();
6799                    if(token)
6800                    {
6801                        document.getElementById("g-recaptcha-response").setAttribute('value',token);
6802                    }
6803                }
6804                const email = form.querySelector("#email_address").value;
6805                const recaptchaValue = document.getElementById("g-recaptcha-response").value;
6806                const postUrl = "https://www.flooringinc.com/sociallogin/popup/forgot/";
6807                fetch(postUrl, {
6808                    headers: {
6809                        contentType: "application/x-www-form-urlencoded; charset=UTF-8",
6810                    },
6811                    body: new URLSearchParams({
6812                        email: email,
6813                        ['g-recaptcha-response']: recaptchaValue,
6814                        form_key: hyva.getFormKey(),
6815                    }),
6816                    method: "POST",
6817                    mode: "cors",
6818                    credentials: "include",
6819                }).then(response => {
6820                        return response.json()
6821                    }
6822                ).then(data => {
6823                    this.isLoading = false;
6824                    if (data.error) {
6825                        this.message = data.message;
6826                        this.openMessage = true;
6827                        this.errors = 1;
6828                        this.hasCaptchaToken = 0;
6829                    } else {
6830                        if (data.redirect !== '' && data.redirect != null) {
6831                            window.location.href = data.redirect;
6832                        } else {
6833                            location.reload(true);
6834                        }
6835                    }
6836                });
6837            },
6838            dispatchRegisterRequest:async function (form) {
6839                if (this.checkUseReCaptcha) {
6840                    let token = await this.validateCaptcha();
6841                    if(token)
6842                    {
6843                        document.getElementById("g-recaptcha-response").setAttribute('value',token);
6844                    }
6845                }
6846                const firstname = form.querySelector("#firstname").value;
6847                const lastname = form.querySelector("#lastname").value;
6848                const email = form.querySelector("#email_address").value;
6849                const password = form.querySelector("#password").value;
6850                const passwordConfirmation = form.querySelector("#password-confirmation").value;
6851                const recaptchaValue = document.getElementById("g-recaptcha-response").value;
6852                const postUrl = "https://www.flooringinc.com/sociallogin/popup/create/";
6853                fetch(postUrl, {
6854                    headers: {
6855                        contentType: "application/x-www-form-urlencoded; charset=UTF-8",
6856                    },
6857                    body: new URLSearchParams({
6858                        ['g-recaptcha-response']: recaptchaValue,
6859                        firstname: firstname,
6860                        lastname: lastname,
6861                        email: email,
6862                        password: password,
6863                        password_confirmation: passwordConfirmation,
6864                        form_key: hyva.getFormKey(),
6865                    }),
6866                    method: "POST",
6867                    mode: "cors",
6868                    credentials: "include",
6869                }).then(response => {
6870                        return response.json()
6871                    }
6872                ).then(data => {
6873                    this.isLoading = false;
6874                    if (data.error) {
6875                        this.message = data.message;
6876                        this.openMessage = true;
6877                        this.hasCaptchaToken = 0;
6878                    } else {
6879                        this.message = data.message;
6880                        this.openMessage = false;
6881                        this.openSuccessMessage = true;
6882                        if (data.redirect !== '' && data.redirect != null) {
6883                            window.location.href = data.redirect;
6884                        } else {
6885                            location.reload(true);
6886                        }
6887                    }
6888                });
6889            },
6890            eventListeners: {
6891                ['@popup-register.window']($event) {
6892                    this.open = true;
6893                    this.openRegister = $event.detail.openRegister;
6894                    this.openLogin = $event.detail.openLogin;
6895                    this.openCreate = $event.detail.openCreate;
6896                    this.openButtonLogin = $event.detail.openButtonLogin;
6897                    this.openButtonRegister = $event.detail.openButtonRegister;
6898                    this.initSocial();
6899                }
6900            }
6901        }
6902    }
6903</script>
6903
6904
6905<section id="authentication-popup-bss"
6906         x-data="initAuthenticationBss()" x-init="loadRecaptchaOnInteraction()"
6907         @keydown.window.escape="open = false"
6908<div role="dialog"
6909     aria-modal="true"
6910     class="hidden inset-y-0 right-0 z-30 flex max-w-full"
6911     :class="{ 'hidden': !open, 'fixed': open }"
6912     x-bind="eventListeners"
6913>
6914    <div class="relative bg-container-lighter bss_login_popup"
6915         x-show="open"
6916         @click.outside="open = false"
6917         x-transition:enter="transform transition ease-in-out duration-500 sm:duration-700"
6918         x-transition:enter-start="translate-x-full"
6919         x-transition:enter-end="translate-x-0"
6920         x-transition:leave="transform transition ease-in-out duration-500 sm:duration-700"
6921         x-transition:leave-start="translate-x-0"
6922         x-transition:leave-end="translate-x-full"
6923    >
6924        <div
6925            x-show="open"
6926            x-transition:enter="ease-in-out duration-500"
6927            x-transition:enter-start="opacity-0"
6928            x-transition:enter-end="opacity-100"
6929            x-transition:leave="ease-in-out duration-500"
6930            x-transition:leave-start="opacity-100"
6931            x-transition:leave-end="opacity-0" class="absolute flex close_icon" style="width: 11px;height: 11px;background: transparent;">
6932            <button @click="open = false;" aria-label="Close panel"
6933                    class="transition duration-150 ease-in-out text-black cursor-pointer">
6934                <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>
6935            </button>
6936        </div>
6937        <div class="flex h-full flex-col bss_login_popup_in overflow-y-auto" >
6938            <div class="message mx-4 message-error" x-show="openMessage">
6939                <div>
6940                    <span x-html="message"></span>
6941                </div>
6942                <div class="cursor-pointer" title="close" @click="openMessage = false">
6943                    <svg class="fill-current text-white" xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 18 18">
6944                        <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
6945                                                4.47 1.06 1.06L9 10.06l4.47 4.47 1.06-1.06L10.06 9z">
6946                        </path>
6947                    </svg>
6948                </div>
6949            </div>
6950            <div class="message mx-4 message-error success" x-show="openSuccessMessage">
6951                <div>
6952                    <span x-html="message"></span>
6953                </div>
6954                <div class="cursor-pointer" title="close" @click="openSuccessMessage = false">
6955                    <svg class="fill-current text-white" xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 18 18">
6956                        <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
6957                                                4.47 1.06 1.06L9 10.06l4.47 4.47 1.06-1.06L10.06 9z">
6958                        </path>
6959                    </svg>
6960                </div>
6961            </div>
6962                        <div class="block-customer-login for_got" x-show="openForgot">
6963    <h2 id="authenticate-customer-login" class="text-size18 font-medium text-darkblack">
6964        Forgot Password    </h2>
6965    <form class="form form-fotgotpassword"
6966          method="post"
6967          @submit.prevent="submitForgotForm();"
6968          id="fotgot-form">
6969        <fieldset class="fieldset">
6970            <div class="text-size14 font-normal text-black mb-4">Please enter your email address below to receive a password reset link.</div>
6971            <div class="field email required">
6972                <label for="email_address" class="label"><span>Email</span></label>
6973                <div class="control">
6974                    <input type="email" name="email" alt="email" id="email_address" class="form-input" required
6975                           value="">
6976                </div>
6977            </div>
6978        </fieldset>
6979        <div class="actions-toolbar">
6980            <div class="primary">
6981                <button type="submit" class="action submit primary"><span>Reset My Password</span></button>
6982            </div>
6983            <div class="secondary ml-4 self-center">
6984                <a class="action back cursor-pointer"
6985                   @click ="openForgot = false,openLogin = true,
6986                   openButtonLogin = true"
6987                >
6988                    <span class="text-size14 font-medium text-black">
6989                        Back                    </span>
6990                </a>
6991            </div>
6992        </div>
6993    </form>
6994</div>
6995
6996
6997            
6998            <div class="w-full">
6999                <input id="g-recaptcha-response" type="hidden" value=""/>
7000            </div>
7001            <div class="block-new-customer social_login"
7002                 x-show="openButtonLogin">
7003                <h2 id="authenticate-new-customer" class="text-size18 font-semibold text-darkblack">
7004                    Log In                </h2>
7005                <div class="block-content">
7006                                                <div id="add_button_login_byclass" x-data="bssButtonSocial()" x-ref="registerSocialButton">
7007                                <div class="">
7008                                    <div class="sociallogin-buttons" x-ref="loginSocialButton">
7009                                        <ul class="sociallogin-clearfix flex flex-wrap">
7010                                                                                            <li class="w-full text-size14 font-medium text-darkblack relative sociallogin-button
7011                                                    googleplus"  title="Login with Google">
7012                                                    <a class="sociallogin-button-link sociallogin-button-click" id="sociallogin-button-click" 
7013                                                       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"
7014                                                       data-width="630"
7015                                                       data-height="650"
7016                                                       x-ref="googleplus"
7017                                                       @click="popupSocial($refs.googleplus)">
7018                                                         <span class="sociallogin-button-auto">
7019                                                            <span class="sociallogin-button-icon">
7020                                                                                                                            </span>
7021                                                                                                                            <span class="sociallogin-button-text">Login with Google</span>
7022                                                                                                                    </span>
7023                                                    </a>
7024                                                </li>
7025                                                                                                                                        </ul>
7026                                                                            </div>
7027
7028                                </div>
7029                                <div style="clear: both;"></div>
7030                            </div>
7031                                    </div>
7032            </div>
7033            <div class="block-customer-login" x-show="openLogin" x-data="{ show: false }">
7034    <span class="or-label text-size14 font-normal text-darkblack"> Or</span>
7035
7036    <form class="form form-login"
7037          method="post"
7038          @submit.prevent="submitForm();"
7039          id="login-form"
7040    >
7041                <div class="fieldset login">
7042            <div class="field email required">
7043                <label class="label hidden" for="customer-email">
7044                    <span>Email Address</span>
7045                </label>
7046                <div class="control">
7047                    <input name="username"
7048                           x-ref="customer-email"
7049                           @change="errors = 0"
7050                           type="email"
7051                           required
7052                           class="form-input input-text" id="customer-email" placeholder="Email address" 
7053                    >
7054                </div>
7055            </div>
7056            <div class="field password required" >
7057                <label for="pass" class="label hidden">
7058                    <span>Password</span>
7059                </label>
7060                <div class="control">
7061                    <input name="password"
7062                           type="password" 
7063                           class="form-input input-text" id="pass" placeholder="Password" 
7064                           required
7065                           x-ref="customer-password"
7066                           @change="errors = 0"
7067                    >
7068                </div>
7069            </div>
7070
7071            <input name="context" type="hidden" value="checkout"/>
7072             
7073            <div class="actions-toolbar flex justify-between items-center" >
7074                <div class="flex items-center">
7075                    <input type="checkbox" name="show-password" @click="showPassword()" id="show-password" value="" class="checkbox">
7076                    <label class="cursor-pointer text-size12 font-normal text-darkblack" style="margin:0;" for="show-password">Show password</label>                    
7077                    <!-- <span class="cursor-pointer text-size12 font-normal text-darkblack" @click="showPasswordForLable()" id="show-password-label" >
7078                        Show Password 
7079                    </span> -->
7080                </div>    
7081                   <span class="cursor-pointer text-size12 font-normal text-darkblack" @click="openForgot = true,openLogin = false,openButtonLogin = false">
7082                        Forgot Your Password?                    </span>
7083                    
7084            
7085            </div>
7086            <div class="actions-toolbar flex justify-between items-center">
7087                 <button type="submit" class="inline-flex btn btn-primary login_btn">
7088                        Log In                    </button>
7089            </div>       
7090        </div>
7091    </form>
7092</div>
7093
7094<script>
7095     function showPassword(){
7096        var showPwd=document.getElementById("show-password");
7097        var password=document.getElementById("pass");
7098        if(showPwd.checked==true) {
7099            password.type="text";
7100        } else {
7101           password.type="password";
7102        }
7103    }    
7104    function showPasswordForLable(){
7105        var password=document.getElementById("pass");
7106        if (password.type === "password") {
7107            password.type = "text";
7108        } else {
7109            password.type = "password";
7110        }
7111    } 
7112</script>
7112 
7113            <div class="block-new-customer new_customer text-center" x-show ="openCreate">
7114                <h2 id="authenticate-new-customer" class="text-size13 font-normal text-darkblack">
7115                    New Customer?                </h2>
7116                <div class="block-content">
7117                    <div class="actions-toolbar">
7118                        <a class="block btn btn-primary cursor-pointer text-size18 font-semibold text-custom-blue"
7119                        href="https://www.flooringinc.com/customer/account/create/"  >
7120                            Sign Up Now                        </a>
7121                    </div>
7122                    <div class="block-new-customer">
7123                        <h3 class="text-size16 font-normal text-black">
7124                            <a class="block underline"
7125                            href="https://www.flooringinc.com/pro-advantage/"
7126                            >
7127                                Become a Pro                            </a>
7128                        </h3>
7129                    </div>
7130                </div>
7131            </div>
7132            <div class="block-new-customer social_login margin" x-show="openButtonRegister">
7133                <h2 id="authenticate-new-customer" class="text-size18 font-medium text-darkblack">
7134                    Social Register                </h2>
7135                <div class="block-content">
7136                                                <div id="add_button_register_byclass" x-data="bssButtonSocial()" x-ref="registerSocialButton">
7137                                <div class="">
7138                                    <div class="sociallogin-buttons">
7139                                        <ul class="sociallogin-clearfix flex flex-wrap">
7140                                                                                            <li class="w-full text-size14 font-medium text-darkblack relative sociallogin-button googleplus"   title="Register with Google">
7141                                                    <a class="sociallogin-button-link sociallogin-button-click" id="sociallogin-button-click" 
7142                                                       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"
7143                                                       data-width="630"
7144                                                       data-height="650"
7145                                                       x-ref="googleplus"
7146                                                       @click="popupSocial($refs.googleplus)">
7147                                                        <span class="sociallogin-button-auto">
7148                                                            <span class="sociallogin-button-icon">
7149                                                                                                                            </span>
7150                                                                                                                            <span class="sociallogin-button-text">Register with Google</span>
7151                                                                                                                    </span>
7152                                                    </a>
7153                                                </li>
7154                                                                                                                                        </ul>
7155                                                                            </div>
7156                                </div>
7157                                <div style="clear: both;"></div>
7158                            </div>
7159                                    </div>
7160            </div>          
7161        </div>
7162    </div>
7163</div>
7164</section>
7165<script>
7166        var classLogin = [".checkout-container .opc-wrapper"];
7167        var classRegister = [""];
7168    classLogin = classLogin[0].trim().split(/\s+/);
7169    classRegister = classRegister[0].trim().split(/\s+/);
7170    if(classLogin && classLogin.length > 0 && classLogin[0]){
7171        classLogin.forEach(element => {
7172            var classLoginElement = document.querySelector(element);
7173            var loginSocialButton = document.getElementById('add_button_login_byclass');
7174            if (classLoginElement && loginSocialButton) {
7175                const cloneLoginSocialButton = loginSocialButton.cloneNode(true);
7176                classLoginElement.appendChild(cloneLoginSocialButton);
7177                cloneLoginSocialButton.style.display='block';
7178            }
7179        });
7180    }
7181
7182    if(classRegister && classRegister.length > 0 && classRegister[0]){
7183        classRegister.forEach(element => {
7184            var classRegisterElement = document.querySelector(element);
7185            var registerSocialButton = document.getElementById('add_button_register_byclass');
7186            if (classRegisterElement && registerSocialButton) {
7187                const cloneRegisterSocialButton = registerSocialButton.cloneNode(true);
7188                classRegisterElement.appendChild(cloneRegisterSocialButton);
7189                cloneRegisterSocialButton.style.display='block';
7190            }
7191        });
7192    }
7193
7194    function bssButtonSocial() {
7195        return {
7196            renderShowmore : function (element) {
7197                var socialButton = element.querySelector('.sociallogin-clearfix').getElementsByTagName("li");
7198                for (let i = 0; i <= socialButton.length - 1; i++) {
7199                    socialButton[i].style.display = 'block';
7200                }
7201                element.querySelector('.sociallogin-showmore').style.display = 'none';
7202            },
7203            popupSocial: function (element) {
7204                var href = element.getAttribute('data-href');
7205                var width = element.getAttribute('data-width');
7206                var height = element.getAttribute('data-height');
7207                var popup_window = null;
7208                if (!width) {
7209                    width = 650;
7210                }
7211
7212                if(!height) {
7213                    height = 350;
7214                }
7215
7216                var left = parseInt((window.innerWidth- width) / 2);
7217                var top = parseInt((window.innerHeight - height) / 2);
7218
7219                var params = [
7220                    'resizable=yes',
7221                    'scrollbars=no',
7222                    'toolbar=no',
7223                    'menubar=no',
7224                    'location=no',
7225                    'directories=no',
7226                    'status=yes',
7227                    'width='+ width,
7228                    'height='+ height,
7229                    'left='+ left,
7230                    'top='+ top
7231                ];
7232
7233                if(popup_window) {
7234                    popup_window.close();
7235                }
7236
7237                if(href) {
7238                    popup_window = window.open(href,'',params.join(','));
7239                    popup_window.focus();
7240
7241                }else{
7242                    alert('This Login Application was not configured correctly. Please contact our customer support.');
7243                }
7244                return false;
7245            }
7246        }
7247    }
7248
7249</script>
7249
7250
7251
7252
7253    
7253<script>
7254        (() => {
7255            function changeNoCookieDomain() {
7256                const categoryKey = "marketing";
7257                if (! prCookieConsentApi.isAllowedCategory(categoryKey)) {
7258                    return;
7259                }
7260
7261                let iframes = document.querySelectorAll('iframe'),
7262                    youtubeNoCookieIframes = Array.from(iframes)
7263                        .filter((iframe) => iframe.src.indexOf('youtube-nocookie.com') !== -1);
7264
7265                youtubeNoCookieIframes.forEach((iframe) => {
7266                    iframe.src = iframe.src.replace('youtube-nocookie.com', 'youtube.com');
7267                });
7268            }
7269
7270            if (prCookieConsentApi) {
7271                changeNoCookieDomain();
7272                return;
7273            }
7274
7275            document.addEventListener('pr-cookie-consent-api:configured', changeNoCookieDomain);
7276        })();
7277    </script>
7277
7278
7279<script>
7280    'use strict';
7281
7282    (() => {
7283        window.addEventListener('DOMContentLoaded', () => {
7284            if (document.querySelectorAll('lite-youtube').length > 0) {
7285                const link = document.createElement('link'),
7286                      script = document.createElement('script');
7287
7288                link.rel = 'stylesheet';
7289                link.type = 'text/css';
7290                link.href = 'https\u003A\u002F\u002Fwww.flooringinc.com\u002Fstatic\u002Fversion1789462004\u002Ffrontend\u002FDcw\u002Fhyvadesktop\u002Fen_US\u002FMageQuest_LiteYouTube\u002Fcss\u002Flite\u002Dyt\u002Dembed.min.css';
7291                document.head.appendChild(link);
7292
7293                script.type = 'text/javascript';
7294                script.src = 'https\u003A\u002F\u002Fwww.flooringinc.com\u002Fstatic\u002Fversion1789462004\u002Ffrontend\u002FDcw\u002Fhyvadesktop\u002Fen_US\u002FMageQuest_LiteYouTube\u002Fjs\u002Flite\u002Dyt\u002Dembed.min.js';
7295                document.head.appendChild(script);
7296            }
7297        });
7298    })();
7299</script>
vendor: 1 bytes, line 7299
7299
7300<script data-mfmofile="true">
7301    document.addEventListener("DOMContentLoaded", function() {
7302        if (document.querySelectorAll('.mf-ytw-wrapper').length || document.querySelectorAll('[data-mf-ytw-youtube-link]').length) {
7303            !function (f, b, e, v, t, s) {
7304                if(f.mfytwcss)return;
7305                f.mfytwcss=1;
7306                t = b.createElement(e);
7307                t.rel = 'stylesheet';
7308                t.type = 'text/css';
7309                t.href = v;
7310                s = b.getElementsByTagName('HEAD')[0];
7311                s.appendChild(t)
7312            }(window, document, 'link', 'https://www.flooringinc.com/static/version1789462004/frontend/Dcw/hyvadesktop/en_US/Magefan_YouTubeWidget/css/youtubewidget.min.css');
7313        }
7314        if (document.querySelectorAll('.mf-ytw-wrapper').length) {
7315            !function (f, b, e, v, t, s) {
7316                if(f.mfytwjs)return;
7317                f.mfytwjs=1;
7318                t = b.createElement(e);
7319                t.type = 'text/javascript';
7320                t.src = v;
7321                s = b.getElementsByTagName('HEAD')[0];
7322                s.appendChild(t)
7323            }(window, document, 'script', 'https://www.flooringinc.com/static/version1789462004/frontend/Dcw/hyvadesktop/en_US/Magefan_YouTubeWidget/js/iframe.min.js');
7324        }
7325        if (document.querySelectorAll('[data-mf-ytw-youtube-link]').length) {
7326            !function (f, b, e, v, t) {
7327                if(f.mflinkjs)return;
7328                f.mflinkjs=1;
7329                t = b.createElement(e);
7330                t.type = 'text/javascript';
7331                t.src = v;
7332                s = b.getElementsByTagName('HEAD')[0];
7333                s.appendChild(t)
7334            }(window, document, 'script', 'https://www.flooringinc.com/static/version1789462004/frontend/Dcw/hyvadesktop/en_US/Magefan_YouTubeWidget/js/link.min.js');
7335        }
7336    });
7337</script>
7337
7338
7339    <div id="pr-gpc-notification-modal" style="display: none;">
7340        <div class="pr-gpc-notification-wrap">
7341    <h2>Your Opt-Out Preferences Honored</h2>
7342<p>Your browser's privacy preference (GPC) has been detected.</p>
7343<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>
7344</div>    </div>
7345
7346    
7346<script type="text/x-magento-init"  nonce="YjZ2ZWQxdzRxcTd4ZGJzcGk4OGs3aXlybTNkOWF6ODk=">
7347        {
7348            "#pr-gpc-notification-modal": {
7349                "Plumrocket_GlobalPrivacyControl/js/opt-out-notification": {}
7350            }
7351        }
7352    </script>
7352
7353
7354
7355<script>
7356    (() => {
7357        function src_default(Alpine) {
7358            Alpine.directive("intersect", (el, { value, expression, modifiers }, { evaluateLater, cleanup }) => {
7359                let evaluate = evaluateLater(expression);
7360                let options = {
7361                    rootMargin: getRootMargin(modifiers),
7362                    threshold: getThreshhold(modifiers)
7363                };
7364                let observer = new IntersectionObserver((entries) => {
7365                    entries.forEach((entry) => {
7366                        if (entry.isIntersecting === (value === "leave"))
7367                            return;
7368                        evaluate();
7369                        modifiers.includes("once") && observer.disconnect();
7370                    });
7371                }, options);
7372                observer.observe(el);
7373                cleanup(() => {
7374                    observer.disconnect();
7375                });
7376            });
7377        }
7378        function getThreshhold(modifiers) {
7379            if (modifiers.includes("full"))
7380                return 0.99;
7381            if (modifiers.includes("half"))
7382                return 0.5;
7383            if (!modifiers.includes("threshold"))
7384                return 0;
7385            let threshold = modifiers[modifiers.indexOf("threshold") + 1];
7386            if (threshold === "100")
7387                return 1;
7388            if (threshold === "0")
7389                return 0;
7390            return Number(`.${threshold}`);
7391        }
7392        function getLengthValue(rawValue) {
7393            let match = rawValue.match(/^(-?[0-9]+)(px|%)?$/);
7394            return match ? match[1] + (match[2] || "px") : void 0;
7395        }
7396        function getRootMargin(modifiers) {
7397            const key = "margin";
7398            const fallback = "0px 0px 0px 0px";
7399            const index = modifiers.indexOf(key);
7400            if (index === -1)
7401                return fallback;
7402            let values = [];
7403            for (let i = 1; i < 5; i++) {
7404                values.push(getLengthValue(modifiers[index + i] || ""));
7405            }
7406            values = values.filter((v) => v !== void 0);
7407            return values.length ? values.join(" ").trim() : fallback;
7408        }
7409
7410        document.addEventListener("alpine:init", () => {
7411            window.Alpine.plugin(src_default);
7412        });
7413    })();
7414</script>
vendor: 1 bytes, line 7414
7414
7415<script>
7416    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"})) {
7417        document.querySelectorAll(selector).forEach(el => el.setAttribute('x-defer', `${deferUntil}`));
7418    }
7419</script>
vendor: 1 bytes, line 7419
7419
7420<script>
7421    (function () {
7422        "use strict";
7423
7424        const hasAlpine = new Promise(resolve => {
7425            window.addEventListener('alpine:initialized', resolve, {once: true, passive: true});
7426        });
7427
7428        const hasInteract = new Promise(resolve => {
7429            (events => {
7430                const onInteract = () => {
7431                    resolve();
7432                    events.forEach(type => window.removeEventListener(type, onInteract));
7433                }
7434                events.forEach(type => window.addEventListener(type, onInteract, {once: true, passive: true}))
7435            })(['touchstart', 'mouseover', 'wheel', 'scroll', 'keydown'])
7436        });
7437
7438        const onIntersect = (el) => {
7439            return new Promise(resolve => {
7440                const observer = new IntersectionObserver(entries => {
7441                    for (const entry of entries) {
7442                        if (entry.isIntersecting) {
7443                            observer.disconnect()
7444                            resolve();
7445                        }
7446                    }
7447                }, {});
7448                observer.observe(el);
7449            });
7450        }
7451
7452        function runComponent(el) {
7453            hasAlpine.then(() => {
7454                el.removeAttribute('x-ignore');
7455                queueMicrotask(() => Alpine.initTree(el));
7456            });
7457        }
7458
7459        function initDeferredComponents() {
7460            document.querySelectorAll('[x-data][x-defer]').forEach(el => {
7461                el.setAttribute('x-ignore', '');
7462                const deferUntil = (el.getAttribute('x-defer') || '').trim();
7463                switch (deferUntil) {
7464                    case 'interact':
7465                        hasInteract.then(() => runComponent(el));
7466                        break;
7467                    case 'intersect':
7468                        onIntersect(el).then(() => runComponent(el))
7469                        break;
7470                    case 'idle':
7471                        window.requestIdleCallback
7472                            ? window.requestIdleCallback(() => runComponent(el), {timeout: 4000})
7473                            : setTimeout(() => runComponent(el), 4000);
7474                        break;
7475                    case 'eager':
7476                        runComponent(el);
7477                        break;
7478                    default:
7479                        if (deferUntil.startsWith('event:') && deferUntil.length > 6) {
7480                            window.addEventListener(deferUntil.substring(6), () => runComponent(el), {once: true, passive: true});
7481                        }
7482                }
7483            });
7484        }
7485
7486        window.addEventListener('alpine:init', initDeferredComponents, {once: true, passive: true});
7487    })()
7488</script>
7488
7489
7490<script type="module"
7491        src="https://www.flooringinc.com/static/version1789462004/frontend/Dcw/hyvadesktop/en_US/Hyva_Theme/js/alpine3.min.js"
7492        defer
7493        crossorigin
7494></script>
vendor: 1 bytes, line 7494
7494
7495<script>
7496    'use strict';
7497    function dispatchMessages(messages, hideAfter) {
7498        const messagesEvent = new CustomEvent("messages-loaded", {
7499            detail: {
7500                messages: messages,
7501                hideAfter: hideAfter
7502            }
7503        });
7504        window.dispatchEvent(messagesEvent);
7505    }
7506
7507    if (typeof hyva === 'undefined' || (!hyva.getBrowserStorage || !hyva.getCookie || !hyva.setCookie)) {
7508        console.warn("Hyvä helpers are not loaded yet. Make sure they are included before this script");
7509    }
7510
7511    (function( hyva, undefined ) {
7512
7513        hyva.initFormKey = () => {
7514            const inputSelector = 'input[name="form_key"]',
7515                formKey = hyva.getFormKey();
7516
7517            Array.from(document.querySelectorAll(inputSelector)).map(function (input) {
7518                input.value = formKey
7519            });
7520        }
7521
7522        hyva.initMessages = () => {
7523            try {
7524                const messages = hyva.getCookie('mage-messages');
7525                window.mageMessages = messages ? JSON.parse(decodeURIComponent(messages).replace(/\+/g, ' ')) : [];
7526
7527                dispatchMessages(window.mageMessages);
7528
7529                                // empty `mage-messages` cookie
7530                const skipSetDomain = true;
7531                hyva.setCookie('mage-messages','', -1, skipSetDomain);
7532
7533            } catch (error) {
7534                console.warn('Error parsing Cookie Messages:', error);
7535            }
7536        }
7537
7538        window.addEventListener('DOMContentLoaded', hyva.initFormKey);
7539        hyva.alpineInitialized(hyva.initMessages)
7540
7541    }( window.hyva = window.hyva || {} ));
7542</script>
vendor: 1 bytes, line 7542
7542
7543<script>
7544    'use strict';
7545    {
7546        const private_content_key = 'mage-cache-storage';
7547        const private_content_expire_key = 'mage-cache-timeout';
7548        const private_content_version_key = 'private_content_version';
7549        const section_data_ids_key = 'section_data_ids';
7550        const mage_cache_session_id_key = 'mage-cache-sessid';
7551        const last_visited_store_key = 'last_visited_store';
7552
7553        const ttl = 3600;
7554
7555        if (typeof hyva === 'undefined' || (!hyva.getBrowserStorage || !hyva.getCookie || !hyva.setCookie)) {
7556            console.warn("Hyvä helpers are not loaded yet. Make sure they are included before this script");
7557        }
7558
7559        function loadSectionData () {
7560            const browserStorage = hyva.getBrowserStorage();
7561            if (!browserStorage) {
7562                typeof window.dispatchMessages !== "undefined" && window.dispatchMessages(
7563                    [{
7564                        type: "warning",
7565                        text: "Please enable LocalStorage in your browser."
7566                    }]
7567                );
7568                return;
7569            }
7570            try {
7571                let isInvalid = false;
7572
7573                if (hyva.getCookie(last_visited_store_key) !== CURRENT_STORE_CODE) {
7574                    isInvalid = true;
7575                }
7576                hyva.setCookie(last_visited_store_key, CURRENT_STORE_CODE, false, false);
7577
7578                if (!hyva.getCookie(mage_cache_session_id_key)) {
7579                    isInvalid = true;
7580                    browserStorage.removeItem(private_content_key);
7581                    const skipSetDomain = true;
7582                    const days = false;
7583                    hyva.setCookie(mage_cache_session_id_key, true, days, skipSetDomain)
7584                }
7585
7586                const cookieVersion = hyva.getCookie(private_content_version_key);
7587                const storageVersion = browserStorage.getItem(private_content_version_key);
7588
7589                if (cookieVersion && !storageVersion || cookieVersion !== storageVersion) {
7590                    isInvalid = true;
7591                }
7592
7593                const privateContentExpires = browserStorage.getItem(private_content_expire_key);
7594                if (privateContentExpires && new Date(privateContentExpires) < new Date()) {
7595                    browserStorage.removeItem(private_content_key);
7596                }
7597
7598                if (isInvalid && cookieVersion) {
7599                    fetchPrivateContent([]);
7600                } else if (cookieVersion && storageVersion && cookieVersion === storageVersion) {
7601                    const privateContent = JSON.parse(browserStorage.getItem(private_content_key));
7602                    if (
7603                        privateContent &&
7604                        privateContentExpires &&
7605                        privateContent.cart &&
7606                        privateContent.customer
7607                    ) {
7608                        dispatchPrivateContent(privateContent);
7609                    } else {
7610                        fetchPrivateContent([]);
7611                    }
7612                } else {
7613                    if (document.getElementById('default-section-data')) {
7614                        const privateContent = JSON.parse(document.getElementById('default-section-data').innerText.trim());
7615                        dispatchPrivateContent(privateContent);
7616                    } else {
7617                        dispatchPrivateContent({});
7618                    }
7619                }
7620
7621            } catch (error) {
7622                console.warn('Error retrieving Private Content:', error);
7623            }
7624        }
7625
7626        hyva.alpineInitialized(loadSectionData)
7627        window.addEventListener('reload-customer-section-data', loadSectionData);
7628
7629        function dispatchPrivateContent(data) {
7630            const privateContentEvent = new CustomEvent("private-content-loaded", {
7631                detail: {
7632                    data: data
7633                }
7634            });
7635            window.dispatchEvent(privateContentEvent);
7636        }
7637
7638        function fetchPrivateContent(sections) {
7639            fetch(`${BASE_URL}customer/section/load/?sections=${encodeURIComponent(sections.join(','))}`, {
7640                method: 'GET',
7641                headers: {
7642                    'Content-Type': 'application/json',
7643                    'X-Requested-With': 'XMLHttpRequest'
7644                }
7645            })
7646                .then(response => response.json())
7647                .then(
7648                    data => {
7649                        if (data) {
7650                            try {
7651                                const browserStorage = hyva.getBrowserStorage();
7652
7653                                // merge new data preserving non-invalidated sections
7654                                const oldSectionData = JSON.parse(browserStorage.getItem(private_content_key) || '{}') || {};
7655
7656                                if ((! data.cart || ! data.cart.cartId) && oldSectionData['checkout-data']) {
7657                                    delete oldSectionData['checkout-data'];
7658                                }
7659                                const newSectionData = Object.assign(oldSectionData, data);
7660
7661                                dispatchPrivateContent(newSectionData);
7662
7663                                // don't persist messages, they've been dispatched already
7664                                if (newSectionData.messages && newSectionData.messages.messages ) {
7665                                    newSectionData.messages.messages = [];
7666                                }
7667
7668                                browserStorage.setItem(private_content_key, JSON.stringify(newSectionData));
7669
7670                                const expiresAt = new Date(Date.now() + (ttl * 1000)).toISOString();
7671                                browserStorage.setItem(private_content_expire_key, expiresAt);
7672
7673                                const newCookieVersion = hyva.getCookie(private_content_version_key);
7674                                browserStorage.setItem(private_content_version_key, newCookieVersion);
7675
7676                                // We don't need the section_data_ids in Hyvä, but we store them for compatibility
7677                                // with Luma Fallback. Otherwise, not all sections are loaded in Luma Checkout
7678                                hyva.setCookie(
7679                                    section_data_ids_key,
7680                                    JSON.stringify(
7681                                        Object.keys(data).reduce((sectionDataIds, sectionKey) => {
7682                                            sectionDataIds[sectionKey] = data[sectionKey]['data_id'];
7683                                            return sectionDataIds;
7684                                        }, {})
7685                                    ),
7686                                    false,
7687                                    true
7688                                );
7689                            } catch (error) {
7690                                console.warn("Couldn't store privateContent", error);
7691                            }
7692                        }
7693                    }
7694                );
7695        }
7696    }
7697</script>
vendor: 1 bytes, line 7697
7697
7698<script>
7699    (() => {
7700        document.addEventListener('submit', event => event.target.action = event.target.action.replace('%25uenc%25', hyva.getUenc()));
7701    })()
7702</script>
vendor: 1 bytes, line 7702
7702
7703<script>
7704    (events => {
7705        const dispatchUserInteractionEvent = () => {
7706            events.forEach(type => window.removeEventListener(type, dispatchUserInteractionEvent))
7707            window.dispatchEvent(new Event('init-external-scripts'))
7708        };
7709        events.forEach(type => window.addEventListener(type, dispatchUserInteractionEvent, {once: true, passive: true}))
7710    })(['touchstart', 'mouseover', 'wheel', 'scroll', 'keydown'])
7711</script>
7711
7712<style>
7713[data-bv-show=inline_rating] .bv_sub_container .bv_numReviews_component_container .bv_text{margin: -2px 0 0 0 !important;display: flex !important;}
7714@media(max-width: 767px){
7715[data-bv-show=inline_rating] .bv_sub_container .bv_numReviews_component_container .bv_text{margin: 4px 0 0 0 !important;}
7716}
7717@media screen and (min-width: 768px) and (max-width: 1440px) {
7718    .product-item .product-info .price-box .price-container .price-wrapper span.price{font-size: 18px !important;}
7719    .product-item .product-info .price-box .price-container .price-wrapper{font-size: 18px;}
7720}
7721@media(max-width: 1550px){
7722.products__recommendations .product-slider .glider-track .recommended-slider-item{min-width:auto;}
7723}
7724.page-products .spot-light .catergory_slider_content{border-radius: 10px;}
7725.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;}
7726@media(max-width: 767px){
7727.page-products .spot-light .catergory_slider_content .product-info{padding-left: 0 !important;padding-right: 0px !important;}
7728}
7729.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;
7730}
7731.page-products .spot-light .spot-bottom .order_btn:hover{background: #15324c  !important;transition-duration: .15s;}
7732.page-products .spot-light .catergory_slider_content .color_counts .color_count{font-size: 12px;color: rgb(127 127 127 / var(--tw-text-opacity)}
7733
7734
7735.category-top-filter .pagebuilder-column h3 span, .category-top-filter .pagebuilder-column h3 span a, .category-top-filter .pagebuilder-column h3 a{display: block;}
7736.checkout-payment-method .payment-method .payment-method-title.field.choice input#paypal_express+label {display: block;}
7737.catalog-product-view .product-info-main .color_swatches .swatch-attribute-options .select_none.swatch-option{display: none;}
7738@media(min-width: 768px){
7739   .checkout-cart-index #shopping-cart-table .cart.item .item-info td.col.item{flex-wrap: nowrap;}
7740}
7741@media(min-width: 1500px){
7742    .checkout-cart-index #shopping-cart-table .col.qty{min-width: 169px;max-width: 169px;width: 169px;}
7743}
7744@media only screen and (max-width: 1340px) and (min-width: 1000px){
7745    .checkout-cart-index #maincontent #shopping-cart-table .product-item-details{max-width: 40%;}
7746}
7747</style>
7748<script>
7749document.addEventListener('DOMContentLoaded', function() {
7750  if (window.innerWidth <= 767) {
7751    document.querySelectorAll('.page-with-filter.page-products .sidebar .filter-content .card .filter-options-title').forEach(function(title) {
7752      const span = title.querySelector('span');
7753      if (span && span.textContent.trim().includes('Revenue Ranking')) {
7754        const parentCard = title.closest('.card');
7755        if (parentCard && !parentCard.id) {
7756          parentCard.id = 'filter-id-revenue_ranking';
7757        }
7758      }
7759    });
7760  }
7761});
7762</script>
7762
7763<style>
7764.page-with-filter.page-products .sidebar .filter-content .card#filter-id-revenue_ranking{display: none;}
7765.checkout-index-index .kl_sms_phone_number-field{margin-bottom: 20px;}
7766@media(min-width: 768px){
7767 .catalog-product-view .modal.order-free-sample-popup .right .order-free-sample-prod-info .product-info:after{right: -10px;top: -10px;}
7768}
7769@media(max-width: 767px){
7770  .catalog-product-view .order-free-sample-popup .border .product-info:after{left: 35px;}
7771}
7772.checkout-index-index .notification4 {display: none}
7773   #related_cart_slider .js_slides{margin-right: 0;margin-left: 0;}
7774</style>
7775<script>
7776    function initConfigurableOptions(productId, optionConfig) {
7777
7778        function findPathParam(key) {
7779                        const baseUrl = (BASE_URL.substr(0, 2) === '//' ? 'http:' : '') + BASE_URL;
7780            const baseUrlParts = (new URL(baseUrl)).pathname.replace(/\/$/, '').split('/');
7781            const pathParts = window.location.pathname.split('/').slice(baseUrlParts.length + 3);
7782            for (let i = 0; i < pathParts.length; i += 2) {
7783                if (pathParts[i] === key && pathParts.length > i) {
7784                    return pathParts[i + 1];
7785                }
7786            }
7787        }
7788
7789        return {
7790            optionConfig,
7791            productId,
7792            attributeCode:'',
7793            itemId: (new URLSearchParams(window.location.search)).get('id') || findPathParam('id'),
7794            ssrGalleryChildId: 0,
7795            allowedAttributeOptions: [],
7796            selectedValues: [],
7797            init() {
7798                this.checkIsFirst();
7799                this.findAllowedAttributeOptions();
7800                this.$nextTick(() => {
7801                    if (typeof this.optionConfig.defaultValues === 'object') {
7802                        for (const [optionId, value] of Object.entries(this.optionConfig.defaultValues)) {
7803                            this.changeOption(optionId, value + '');
7804                        }
7805                    }
7806                });
7807            },
7808            checkIsFirst() {
7809                this.isLoadedFirst = true;
7810                setTimeout(() => {
7811                    this.isLoadedFirst = false;
7812                }, "3000");
7813            },
7814            findSimpleIndex() {
7815                                this.productIndex = this.calculateSimpleIndexForPartialSelection(this.selectedValues);
7816            },
7817            calculateSimpleIndexForPartialSelection(selectedValues) {
7818                if (selectedValues.length === 0) return 0;
7819                let productIndexIds = Object.keys(this.optionConfig.index);
7820                Object.keys(this.optionConfig.attributes).forEach((attribute) => {
7821                                        const productsWithAttributeMatch = selectedValues[attribute]
7822                        ? productIndexIds.filter((productIndex) => {
7823                            return this.optionConfig.index[productIndex][attribute] === this.selectedValues[attribute]
7824                        })
7825                        : [];
7826
7827                                        productIndexIds = productsWithAttributeMatch.length ? productsWithAttributeMatch : productIndexIds
7828                })
7829                return productIndexIds[0];
7830            },
7831            calculateSimpleIndexForFullSelection(selectedValues) {
7832                const productIndexes = this.optionConfig.index;
7833                return Object.keys(productIndexes).find(productIndex => {
7834                    const productCandidateOptions = productIndexes[productIndex];
7835
7836                    for (const productOption in productCandidateOptions) {
7837                        if (
7838                            ! selectedValues[productOption] ||
7839                            selectedValues[productOption] !== productCandidateOptions[productOption]
7840                        ) {
7841                            return false;
7842                        }
7843                    }
7844                    return productIndex;
7845                });
7846            },
7847            productIndex: 0,
7848            findAllowedAttributeOptions() {
7849                                this.allowedAttributeOptions = this.calculateAllowedAttributeOptions(this.selectedValues);
7850            },
7851            calculateAllowedAttributeOptions(selectedValues) {
7852                const allAttributes = this.optionConfig.attributes;
7853                const allAttributesSorted = Object.values(allAttributes).sort((a,b) => {
7854                    return a.position - b.position
7855                });
7856
7857                const selectionWithoutAttr = attrId => {
7858                                        return Object.keys(selectedValues).reduce((acc, id) => {
7859                        if (id !== attrId) acc[id] = selectedValues[id];
7860                        return acc;
7861                    }, {})
7862                }
7863
7864                const newAllowedAttributeOptions = [];
7865
7866                allAttributesSorted.forEach(attribute => {
7867                    const availableIndexes = this.calculateAvailableProductIndexes(selectionWithoutAttr(attribute.id));
7868					if (attribute?.code === 'incstores_pim_color_axis') {
7869					    newAllowedAttributeOptions[attribute.id] =
7870						    allAttributes[attribute.id].options
7871							    .filter(option => {
7872                                    return !!option.products.find(product => availableIndexes.includes(product));
7873                                })
7874							    .sort((a, b) => {
7875								    const cheapestA = this.findCheapestProductForPartialSelectionForSort({
7876									    ...selectedValues,
7877									    [attribute.id]: a.id
7878								    });
7879
7880								    const cheapestB = this.findCheapestProductForPartialSelectionForSort({
7881									    ...selectedValues,
7882									    [attribute.id]: b.id
7883								    });
7884
7885								    if (!cheapestA && !cheapestB) return 0;
7886								    if (!cheapestA) return 1;
7887								    if (!cheapestB) return -1;
7888
7889								    const priceA = this.optionConfig.optionPrices[cheapestA].customPrice.amount;
7890                                    const priceB = this.optionConfig.optionPrices[cheapestB].customPrice.amount;
7891
7892								    return priceA - priceB;
7893							    });
7894					} else {
7895                    newAllowedAttributeOptions[attribute.id] = allAttributes[attribute.id].options.filter(option => {
7896                        return !!option.products.find(product => {
7897                            //====== For Custom Design link - fetch child product id on page load  START ======
7898                            if(document.querySelector('input[name="selected_option_child_id"]')){
7899                                if(document.querySelector('input[name="selected_option_child_id"]').value == ''){
7900                                    document.querySelector('input[name="selected_option_child_id"]').value = product;
7901                                }
7902                            }
7903                            //====== For Custom Design link - fetch child product id on page load END ======
7904                            return availableIndexes.includes(product);
7905                        })
7906                    });
7907                    }
7908                });
7909                return newAllowedAttributeOptions;
7910            },
7911            calculateAvailableProductIndexes(selectedOptions) {
7912                if (Object.keys(selectedOptions).length === 0) {
7913                                        return Object.keys(this.optionConfig.index);
7914                }
7915
7916                                const selectedIds = Object.keys(selectedOptions);
7917                if (Object.values(this.optionConfig.salable || {}).length) {
7918                                        const selectedOptionIndexes = selectedIds.map(attrId => {
7919                        const optionValue = selectedOptions[attrId];
7920                        return this.optionConfig.salable[attrId] && this.optionConfig.salable[attrId][optionValue] || []
7921                    })
7922                                        return selectedOptionIndexes.reduce((acc, optionIndexes) => {
7923                        return acc.filter(index => optionIndexes.includes(index));
7924                    });
7925                } else {
7926                                        const productIndexes = this.optionConfig.index;
7927                    return Object.keys(productIndexes).filter(index => {
7928                        return selectedIds.find(
7929                                                attrId => productIndexes[index][attrId] === `${selectedOptions[attrId]}`
7930                                                )
7931                    });
7932                }
7933            },
7934            findAttributeByOptionId(optionId) {
7935                for (const attributeId in this.optionConfig.attributes) {
7936                    const attributeOptions = this.optionConfig.attributes[attributeId].options || [];
7937                    if (attributeOptions.find(option => option.id === optionId)) {
7938                        return attributeId;
7939                    }
7940                }
7941            },
7942            getAllowedAttributeOptions(attributeId) {
7943                return this.allowedAttributeOptions[attributeId] || []
7944            },
7945            getProductIdsForOption(option) {
7946                const attributeId = this.findAttributeByOptionId(option.id);
7947                const allOptions = this.optionConfig.attributes[attributeId];
7948                const opt = (allOptions && allOptions.options || []).find(o => o.id === option.id);
7949                return opt && opt.products
7950                    ? opt.products
7951                    : [];
7952            },
7953            findProductIdsForPartialSelection(optionSelection) {
7954                const candidateProducts = Object.values(optionSelection).reduce((candidates, optionId) => {
7955                    const newCandidates = this.getProductIdsForOption({id: optionId});
7956                    return candidates === null
7957                        ? newCandidates
7958                        : candidates.filter(productId => newCandidates.includes(productId));
7959                }, null);
7960                return candidateProducts || [];
7961            },
7962            findCheapestProductForPartialSelection(optionSelection) {
7963                const candidateProducts = this.findProductIdsForPartialSelection(optionSelection);
7964                return candidateProducts.reduce((cheapest, simpleIdx) => {
7965                    // in the first iteration we start with simpleIdx as the currently cheapest product
7966                    if (! this.optionConfig.optionPrices[cheapest]) return simpleIdx;
7967                    const knownCheapestPrice = this.optionConfig.optionPrices[cheapest].finalPrice.amount;
7968                    return knownCheapestPrice > this.optionConfig.optionPrices[simpleIdx].finalPrice.amount
7969                        ? simpleIdx
7970                        : cheapest;
7971                }, 0)
7972            },
7973			findCheapestProductForPartialSelectionForSort(optionSelection) {
7974                const candidateProducts = this.findProductIdsForPartialSelection(optionSelection);
7975                return candidateProducts.reduce((cheapest, simpleIdx) => {
7976                    // in the first iteration we start with simpleIdx as the currently cheapest product
7977                    if (! this.optionConfig.optionPrices[cheapest]) return simpleIdx;
7978                    const knownCheapestPrice = this.optionConfig.optionPrices[cheapest].customPrice.amount;
7979                    return knownCheapestPrice > this.optionConfig.optionPrices[simpleIdx].customPrice.amount
7980                        ? simpleIdx
7981                        : cheapest;
7982                }, 0)
7983            },
7984            findProductIdToUseForOptionPrice(option) {
7985                // try to find a product for a complete selection
7986                const attributeId = this.findAttributeByOptionId(option.id);
7987                const optionSelection = Object.assign({}, this.selectedValues, {[attributeId]: option.id});
7988                const matchingSimpleIndex = this.calculateSimpleIndexForFullSelection(optionSelection);
7989                // if there is no complete selection, use the cheapest product for the option
7990                return matchingSimpleIndex || this.findCheapestProductForPartialSelection(optionSelection);
7991            },
7992            getAttributeOptionLabel(option) {
7993                const optionProduct = this.findProductIdToUseForOptionPrice(option);
7994                if ((! optionProduct) || (optionProduct === this.productIndex)) {
7995                    return option.label;
7996                }
7997
7998                const currentPrice = this.getOptionPriceAdjustmentBasePrice();
7999
8000                if (this.optionConfig.optionPrices[optionProduct]) {
8001                    const optionPrice = this.optionConfig.optionPrices[optionProduct].finalPrice.amount;
8002                    if (optionPrice !== currentPrice){
8003                        return option.label + ' ' + hyva.formatPrice(optionPrice - currentPrice, true);
8004                    }
8005                }
8006                return option.label;
8007            },
8008            getOptionPriceAdjustmentBasePrice() {
8009                if (this.optionConfig.optionPrices[this.productIndex]) {
8010                    return this.optionConfig.optionPrices[this.productIndex].finalPrice.amount
8011                }
8012                const cheapestForSelection = this.findCheapestProductForPartialSelection(this.selectedValues);
8013                return this.optionConfig.optionPrices[cheapestForSelection]
8014                    ? this.optionConfig.optionPrices[cheapestForSelection].finalPrice.amount
8015                    : this.optionConfig.prices.finalPrice.amount; // default price if no option selection
8016            },
8017            changeOption(optionId, value) {
8018                if (value !== ''
8019                    && typeof this.optionIsEnabled === 'function'
8020                    && !this.optionIsEnabled(optionId, value)) {
8021                    return;
8022                }
8023                var checkbox = document.getElementById('overage_percent');
8024                if(checkbox){
8025                    checkbox.checked = true; // Check the checkbox
8026                }
8027                var galleryImgOpacity = document.querySelector('#gallery .prod_slider img.first-image');
8028                if (galleryImgOpacity) {
8029                    galleryImgOpacity.classList.add('opacity-0');
8030                }
8031                if (value === '') {
8032                    // create new array so the length property is reset if no option is selected (avoiding delete)
8033                    this.selectedValues = this.selectedValues.reduce((newSelection, val, opt) => {
8034                        if (opt !== optionId) {
8035                            newSelection[opt] = val;
8036                        }
8037                        return newSelection;
8038                    }, []);
8039                } else {
8040                    const currentUrl = window.location.href;
8041                    // Create a URL object
8042                    const url = new URL(currentUrl);
8043                    // Use searchParams to get the color option
8044                    const colorOption = url.searchParams.get('color-option');
8045                    const variantOption = url.searchParams.get('variant-option');
8046                    if(colorOption!==null && variantOption!==null){
8047                        if(this.optionConfig.attributes[optionId]['code'] == 'incstores_pim_color_axis')
8048                        {
8049                            this.selectedValues[optionId] = colorOption;
8050                        }
8051                        if(this.optionConfig.attributes[optionId]['code'] == 'incstores_pim_variant_axis')
8052                        {
8053                            this.selectedValues[optionId] = variantOption;
8054                        }
8055                    }
8056                    else if(colorOption!==null){
8057                        if(this.optionConfig.attributes[optionId]['code'] == 'incstores_pim_color_axis')
8058                        {
8059                            this.selectedValues[optionId] = colorOption;
8060                        }
8061
8062                    }
8063                    else if(this.isLoadedFirst == true && (0 > 0 || 0 > 0))
8064                    {
8065                        if(this.optionConfig.attributes[optionId]['code'] == 'incstores_pim_color_axis')
8066                        {
8067                            this.selectedValues[optionId] = '0';
8068                        }
8069                        if(this.optionConfig.attributes[optionId]['code'] == 'incstores_pim_variant_axis')
8070                        {
8071                            this.selectedValues[optionId] = '0';
8072                        }
8073                    }
8074                    else
8075                    {
8076                        this.selectedValues[optionId] = value;
8077                    }
8078
8079                    var addToCartButton = document.querySelector('.pdp-addtocart-btn');
8080                    if (addToCartButton) {
8081                        if (!addToCartButton.classList.contains('pointer-events-none')) {
8082                            addToCartButton.classList.add('pointer-events-none');
8083                            addToCartButton.classList.add('opacity-50');
8084                        }
8085                    }
8086
8087                    var productId = this.findProductIdsForPartialSelection(this.selectedValues)[0];
8088                    var baseUrl = "https://www.flooringinc.com/";
8089					
8090					if (typeof productId === 'undefined') {
8091					   let attributeCode = this.optionConfig.attributes[optionId]['code'];
8092					   setTimeout(() => {
8093						   if (attributeCode == 'incstores_pim_color_axis') {
8094							if (typeof this.autoSelectCompatibleOtherOption === 'function') {
8095								this.autoSelectCompatibleOtherOption(optionId);
8096							}
8097						} else if (attributeCode == 'incstores_pim_variant_axis'
8098                            || attributeCode == 'product_option') {
8099							if (typeof this.autoSelectCompatibleColorOption === 'function') {
8100								this.autoSelectCompatibleColorOption(optionId);
8101							}
8102						}
8103                    }, 300);
8104					} else {
8105                    var fetchUrl = baseUrl+'customattribute/index/index/productId/'+productId;
8106
8107                    fetch(fetchUrl)
8108                    .then(response => response.json())
8109                    .then(data => {
8110
8111                        if (document.getElementById('dimensions-attributes')) {
8112                            document.getElementById('dimensions-attributes').innerHTML= data.detailsHtml.dimensionsHtml;
8113                        }
8114
8115                        if (document.getElementById('details-attributes')) {
8116                            document.getElementById('details-attributes').innerHTML= data.detailsHtml.productDetails;
8117                        }
8118
8119                        if (document.getElementById('ship-to-text')) {
8120                            document.getElementById('ship-to-text').value= data.shipToText;
8121                        }
8122
8123                        var addToCartButton = document.querySelector('.pdp-addtocart-btn');
8124                        if (addToCartButton) {
8125                            addToCartButton.classList.remove('pointer-events-none');
8126                            addToCartButton.classList.remove('opacity-50');
8127                        }
8128                    })
8129                    .catch(error => {
8130                        console.log(error);
8131                    });
8132					}
8133
8134                }
8135                this.findSimpleIndex();
8136                this.findAllowedAttributeOptions();
8137                this.updateCalculatorType();// custom coding
8138                this.updateMinRollcut();// custom coding
8139                this.updateMaxRollLengthRestriction();// custom coding
8140                this.updateTileSizeArea(); // custom coding
8141                this.updateExactWidth(); // custom coding
8142                this.updateExactLength(); // custom coding
8143                this.updateExactHeight(); // custom coding
8144                this.updateCoveragePerCase(); // custom coding
8145                this.updateTileMinQty(); // custom coding
8146                this.updateShippingDetails(); // custom coding
8147                this.updatePrices();
8148                this.updateSquareFootage();
8149
8150                //If the page loads first time it will stop the gallery change, so configurable product image will display
8151                if (!this.isLoadedFirst) {
8152                    this.updateGallery();
8153                }
8154
8155                //====== For Custom Design link - fetch child product id when option clicked  START ======
8156                if(document.querySelector('input[name="selected_option_child_id"]')){
8157                    document.querySelector('input[name="selected_option_child_id"]').value = this.productIndex;
8158                }
8159                if(document.querySelector('input[name="custom_length"]') && document.getElementById('roll_length')){
8160                    document.querySelector('input[name="custom_length"]').value = document.getElementById('roll_length').value;
8161                }
8162                //====== For Custom Design link - fetch child product id when option clicked END ======
8163                window.dispatchEvent(
8164                    new CustomEvent(
8165                        'configurable-selection-changed',
8166                        {
8167                            detail: {
8168                                productId: this.productId,
8169                                optionId: optionId,
8170                                value: value,
8171                                productIndex: this.productIndex,
8172                                selectedValues: this.selectedValues,
8173                                attributeCode: this.optionConfig.attributes[optionId]['code'],
8174                                candidates: this.findProductIdsForPartialSelection(this.selectedValues),
8175                            }
8176                        }
8177                    )
8178                );
8179
8180                /* =============================== disabled product option checking & remove  START =============== */
8181                if (!this.optionConfig?.ship_region_enabled
8182                    && document.querySelector('.swatch-attribute .selectOptionColor')
8183                ) {
8184                    var quickship_lebel_should_show;
8185                    var quickship_active_color_option_exist = 0;
8186                    setTimeout(() => {
8187                        document.querySelectorAll('.swatch-attribute .selectOptionColor').forEach(function(option_box) {
8188                            if (!option_box.querySelector('div, label')) {
8189                                option_box.remove();
8190                            }
8191                        });
8192
8193                    }, 300);
8194                }
8195                /* ===============================  disabled product option checking & remove END =============== */
8196				
8197				/* ========== remove validation when click on available color start =============== */
8198                if(document.querySelector('.normal_color_swatch_option .selectOptionColor') ){
8199                    setTimeout(() => {
8200                        const colorBoxes = document.querySelectorAll(
8201							'.normal_color_swatch_option .selectOptionColor'
8202						);
8203						var colorNotAvailable = 0;
8204						const colorerrorDiv = document.getElementById('normal-color-swatch-option-error-msg');
8205
8206						colorBoxes.forEach((colorBox) => {
8207							if (colorBox.querySelector('.select_none label.checked')) {
8208								colorNotAvailable = 1;
8209							}
8210						});
8211						if (!colorNotAvailable){
8212							colorerrorDiv.textContent = '';
8213							colorerrorDiv.style.display = 'none';
8214						}
8215
8216                    }, 300);
8217                }
8218                /* ========== remove validation when click on available color end =============== */
8219
8220                /* =============================== color label show / hide if color option not showing  END =============== */
8221
8222                /* =============================== other label show / hide if the option not showing  START =============== */
8223                if (typeof this.syncOtherSwatchOptionVisibility === 'function') {
8224                    this.syncOtherSwatchOptionVisibility();
8225                } else {
8226                    const swatchAttribute = document.querySelector('.swatch-attribute.other_swatch_option');
8227                    if (swatchAttribute) {
8228                        setTimeout(() => {
8229                            const selectOptionColors = swatchAttribute.querySelectorAll('.selectOptionColor');
8230                            if (selectOptionColors.length > 1) {
8231                                swatchAttribute.style.display = 'block';
8232                            } else {
8233                                swatchAttribute.style.display = 'none';
8234                            }
8235                        }, 300);
8236                    }
8237                }
8238                /* =============================== other label show / hide if the option not showing  END =============== */
8239
8240            },
8241            calculateIsMinimalPrice() {
8242                return (
8243                    this.selectedValues.filter(value => !!value).length <
8244                        Object.keys(this.optionConfig.attributes).length
8245                );
8246            },
8247            updatePrices() {
8248                const value = this.productIndex ?
8249                    this.optionConfig.optionPrices[this.productIndex] :
8250                    this.optionConfig.prices;
8251
8252                window.dispatchEvent(
8253                    new CustomEvent(
8254                        "update-prices-" + this.productId,
8255                        {
8256                            detail: Object.assign(
8257                                value,
8258                                {
8259                                    isMinimalPrice: this.calculateIsMinimalPrice(),
8260                                    calculatorType: this.optionConfig?.calculator_type?.[this.productIndex] ?? '',
8261                                    getIncstoresPimCoverage: this.optionConfig?.coverage_per_case?.[this.productIndex] ?? '',
8262                                    unitOfMeasure: this.optionConfig?.unit_of_measure?.[this.productIndex] ?? '',
8263                                    altUnitOfMeasure: this.optionConfig?.alt_unit_of_measure?.[this.productIndex] ?? 'sqft',
8264                                    availableQuantity: this.optionConfig?.available_quantity?.[this.productIndex] ?? '',
8265                                }
8266                            )
8267                        }
8268                    )
8269                );
8270                setTimeout(() => {
8271                    var calculatorType = this.optionConfig.calculator_type[this.productIndex];
8272                    var priceElement = document.querySelector('div.items-baseline .final-price .price');
8273                    
8274                    if (priceElement && calculatorType != 'none' && calculatorType != 'pre_cut_roll') {
8275                        var customOptionPrice = priceElement.childNodes[0].nodeValue.trim();
8276                        let priceLabelElement = document.querySelector('.final-price .price-label');
8277                        var priceLabel = "";
8278
8279                        if (priceLabelElement) {
8280                            priceLabel = priceLabelElement.textContent.trim();
8281                        }
8282
8283                        document.querySelectorAll('.display-option-price').forEach(el => {
8284                            el.textContent = "("+customOptionPrice+priceLabel+")";
8285                        });
8286                    } else if (calculatorType == 'none') {
8287                        //None type
8288                        var priceElement = document.querySelector('.none .final-price .price');
8289                        var customOptionPrice = "";
8290
8291                        if (priceElement) {
8292                            customOptionPrice = priceElement.childNodes[0].nodeValue.trim();
8293                        }
8294                        document.querySelectorAll('.display-option-price').forEach(el => {
8295                            el.textContent = "("+customOptionPrice+")";
8296                        });
8297                    } else if (calculatorType == 'pre_cut_roll') {
8298						let priceLabelElement = document.querySelector('.final-price .price-label');
8299                        var priceLabel = "";
8300
8301                        if (priceLabelElement) {
8302                            priceLabel = priceLabelElement.textContent.trim();
8303                        }
8304                        var priceElement = document.querySelector('.pre_cut_roll .final-price .price');
8305                        var customOptionPrice = "";
8306
8307                        if (priceElement) {
8308                            customOptionPrice = priceElement.childNodes[0].nodeValue.trim();
8309                        }
8310                        document.querySelectorAll('.display-option-price').forEach(el => {
8311                            el.textContent = "("+customOptionPrice+priceLabel+")";
8312                        });
8313                    }
8314                }, "500");
8315            },
8316            updateTileSizeArea() {
8317                const overage_percent = this.optionConfig.overage_percent[this.productIndex];
8318                const coverage_per_case = this.optionConfig.coverage_per_case[this.productIndex];
8319                const exact_width = this.optionConfig.exact_width[this.productIndex];
8320                const exact_length = this.optionConfig.exact_length[this.productIndex];
8321                window.dispatchEvent(
8322                    new CustomEvent(
8323                        "update-tile-size-area-" + this.productId,
8324                        {
8325                            detail: {
8326                            overage_percent: overage_percent,
8327                            coverage_per_case: coverage_per_case,
8328                            exact_width: exact_width,
8329                            exact_length: exact_length,
8330                            calculator_type: this.optionConfig.calculator_type[this.productIndex],
8331                            }
8332                        }
8333                    )
8334                );
8335            },
8336            updateExactWidth() {
8337                const exact_width = this.optionConfig.exact_width[this.productIndex];
8338                window.dispatchEvent(
8339                    new CustomEvent(
8340                        "update-exact-width-" + this.productId,
8341                        {detail: exact_width}
8342                    )
8343                );
8344            },
8345            updateExactLength() {
8346                const exact_length = this.optionConfig.exact_length[this.productIndex];
8347                window.dispatchEvent(
8348                    new CustomEvent(
8349                        "update-exact-length-" + this.productId,
8350                        {detail: exact_length}
8351                    )
8352                );
8353            },
8354            updateExactHeight() {
8355                const exact_height = this.optionConfig.exact_height[this.productIndex];
8356                window.dispatchEvent(
8357                    new CustomEvent(
8358                        "update-exact-height-" + this.productId,
8359                        {detail: exact_height}
8360                    )
8361                );
8362            },
8363            updateCoveragePerCase() {
8364                const coverage_per_case = this.optionConfig.coverage_per_case[this.productIndex];
8365                //const tile_size_area = "";
8366                window.dispatchEvent(
8367                    new CustomEvent(
8368                        "update-coverage-per-case-" + this.productId,
8369                        {detail: coverage_per_case}
8370                    )
8371                );
8372            },
8373            updateTileMinQty() {
8374                const min_tile_quantity = this.optionConfig.min_tile_quantity[this.productIndex];
8375                window.dispatchEvent(
8376                    new CustomEvent(
8377                        "update-min-tile-quantity-" + this.productId,
8378                        {detail: min_tile_quantity}
8379                    )
8380                );
8381            },
8382			getAttributeIdByCode(attributeCode) {
8383                let attributes = this.optionConfig.attributes;
8384
8385				for (let id in attributes) {
8386					if (attributes[id].code === attributeCode) {
8387						return id;
8388					}
8389				}
8390
8391				return null;
8392            },
8393            updateCalculatorType() {
8394                const has_corner_border_center = this.optionConfig.has_corner_border_center[this.productIndex];
8395                const calculator_type = this.optionConfig.calculator_type[this.productIndex];
8396                if(calculator_type == 'sqft' && has_corner_border_center !=1){
8397                    var cbcelements = document.querySelectorAll('.cbc');
8398                    cbcelements.forEach(function(element) {
8399                    element.style.display = 'none';
8400                    });
8401                    var noneelements = document.querySelectorAll('.none');
8402                    noneelements.forEach(function(element) {
8403                    element.style.display = 'none';
8404                    });
8405                    var rollelements = document.querySelectorAll('.roll');
8406                    rollelements.forEach(function(element) {
8407                    element.style.display = 'none';
8408                    });
8409                    var cbcelements = document.querySelectorAll('.case');
8410                    cbcelements.forEach(function(element) {
8411                    element.style.display = 'none';
8412                    });
8413                    var elements = document.querySelectorAll('.sqft');
8414                    elements.forEach(function(element) {
8415                    element.style.display = 'block';
8416                    });
8417
8418                    var elements = document.querySelectorAll('.pre_cut_roll');
8419                    elements.forEach(function(element) {
8420                    element.style.display = 'none';
8421                    });
8422                    const button = document.getElementById("product-addtocart-button-fake");
8423                    if (button && button.getAttribute("data-flooring-handler") !== "addToCartClickVerify") {
8424                        button.setAttribute("data-flooring-handler", "addToCartClickVerify");
8425                    }
8426                } else if(calculator_type == 'sqft' && has_corner_border_center ==1){
8427                    var sqftelements = document.querySelectorAll('.sqft');
8428                    sqftelements.forEach(function(element) {
8429                    element.style.display = 'none';
8430                    });
8431                    var caseelements = document.querySelectorAll('.case');
8432                    caseelements.forEach(function(element) {
8433                    element.style.display = 'none';
8434                    });
8435                    var rollelements = document.querySelectorAll('.roll');
8436                    rollelements.forEach(function(element) {
8437                    element.style.display = 'none';
8438                    });
8439                    var noneelements = document.querySelectorAll('.none');
8440                    noneelements.forEach(function(element) {
8441                    element.style.display = 'none';
8442                    });
8443                    var elements = document.querySelectorAll('.cbc');
8444                    elements.forEach(function(element) {
8445                    element.style.display = 'block';
8446                    });
8447                    var elements = document.querySelectorAll('.price-details .sqft');
8448                    elements.forEach(function(element) {
8449                    element.style.display = 'none';
8450                    });
8451
8452                    var elements = document.querySelectorAll('.pre_cut_roll');
8453                    elements.forEach(function(element) {
8454                    element.style.display = 'none';
8455                    });
8456                    const button = document.getElementById("product-addtocart-button-fake");
8457                    if (button && button.getAttribute("data-flooring-handler") !== "addToCartClickVerify") {
8458                        button.setAttribute("data-flooring-handler", "addToCartClickVerify");
8459                    }
8460                }else if(calculator_type == 'case'){
8461                    var sqftelements = document.querySelectorAll('.sqft');
8462                    sqftelements.forEach(function(element) {
8463                    element.style.display = 'none';
8464                    });
8465                    var cbcelements = document.querySelectorAll('.cbc');
8466                    cbcelements.forEach(function(element) {
8467                    element.style.display = 'none';
8468                    });
8469                    var noneelements = document.querySelectorAll('.none');
8470                    noneelements.forEach(function(element) {
8471                    element.style.display = 'none';
8472                    });
8473                    var rollelements = document.querySelectorAll('.roll');
8474                    rollelements.forEach(function(element) {
8475                    element.style.display = 'none';
8476                    });
8477                    var elements = document.querySelectorAll('.case');
8478                    elements.forEach(function(element) {
8479                    element.style.display = 'block';
8480                    });
8481
8482                    var elements = document.querySelectorAll('.pre_cut_roll');
8483                    elements.forEach(function(element) {
8484                    element.style.display = 'none';
8485                    });
8486                    const button = document.getElementById("product-addtocart-button-fake");
8487                    if (button && button.getAttribute("data-flooring-handler") !== "addToCartClickVerify") {
8488                        button.setAttribute("data-flooring-handler", "addToCartClickVerify");
8489                    }
8490                } else if(calculator_type == 'roll'){
8491                    var sqftelements = document.querySelectorAll('.sqft');
8492                    sqftelements.forEach(function(element) {
8493                    element.style.display = 'none';
8494                    });
8495                    var cbcelements = document.querySelectorAll('.cbc');
8496                    cbcelements.forEach(function(element) {
8497                    element.style.display = 'none';
8498                    });
8499                    var caseelements = document.querySelectorAll('.case');
8500                    caseelements.forEach(function(element) {
8501                    element.style.display = 'none';
8502                    });
8503                    var noneelements = document.querySelectorAll('.none');
8504                    noneelements.forEach(function(element) {
8505                    element.style.display = 'none';
8506                    });
8507                    var elements = document.querySelectorAll('.roll');
8508                    elements.forEach(function(element) {
8509                    element.style.display = 'block';
8510                    });
8511                    const button = document.getElementById("product-addtocart-button-fake");
8512                    if (button && button.getAttribute("data-flooring-handler") !== "addToCartClickVerify") {
8513                        button.setAttribute("data-flooring-handler", "addToCartClickVerify");
8514                    }
8515
8516                    var elements = document.querySelectorAll('.pre_cut_roll');
8517                    elements.forEach(function(element) {
8518                    element.style.display = 'none';
8519                    });
8520                } else if(calculator_type == 'pre_cut_roll'){
8521                    var sqftelements = document.querySelectorAll('.sqft');
8522                    sqftelements.forEach(function(element) {
8523                        element.style.display = 'none';
8524                    });
8525                    var cbcelements = document.querySelectorAll('.cbc');
8526                    cbcelements.forEach(function(element) {
8527                        element.style.display = 'none';
8528                    });
8529                    var caseelements = document.querySelectorAll('.case');
8530                    caseelements.forEach(function(element) {
8531                        element.style.display = 'none';
8532                    });
8533                    var noneelements = document.querySelectorAll('.none');
8534                    noneelements.forEach(function(element) {
8535                        element.style.display = 'none';
8536                    });
8537                    var elements = document.querySelectorAll('.roll');
8538                    elements.forEach(function(element) {
8539                        element.style.display = 'none';
8540                    });
8541                    var elements = document.querySelectorAll('.pre_cut_roll');
8542                    elements.forEach(function(element) {
8543                        element.style.display = 'block';
8544                    });
8545                    const button = document.getElementById("product-addtocart-button-fake");
8546                    if (button && button.getAttribute("data-flooring-handler") !== "addToCartClickforPreCutRoll") {
8547                        button.setAttribute("data-flooring-handler", "addToCartClickforPreCutRoll");
8548                    }
8549                } else {
8550                    var sqftelements = document.querySelectorAll('.sqft');
8551                    sqftelements.forEach(function(element) {
8552                        element.style.display = 'none';
8553                    });
8554                    var cbcelements = document.querySelectorAll('.cbc');
8555                    cbcelements.forEach(function(element) {
8556                        element.style.display = 'none';
8557                    });
8558                    var caseelements = document.querySelectorAll('.case');
8559                    caseelements.forEach(function(element) {
8560                        element.style.display = 'none';
8561                    });
8562                    var rollelements = document.querySelectorAll('.roll');
8563                    rollelements.forEach(function(element) {
8564                        element.style.display = 'none';
8565                    });
8566                    var cbcelements = document.querySelectorAll('.case');
8567                    cbcelements.forEach(function(element) {
8568                        element.style.display = 'none';
8569                    });
8570                    var elements = document.querySelectorAll('.none');
8571                    elements.forEach(function(element) {
8572                        element.style.display = 'block';
8573                    });
8574                    const noneButton = document.getElementById("product-addtocart-button-fake");
8575                    if (noneButton && noneButton.getAttribute("data-flooring-handler") !== "addToCartClickforNone") {
8576                        noneButton.setAttribute("data-flooring-handler", "addToCartClickforNone");
8577                    }
8578
8579                    var elements = document.querySelectorAll('.pre_cut_roll');
8580                    elements.forEach(function(element) {
8581                        element.style.display = 'none';
8582                    });
8583                }
8584            },
8585           updateMinRollcut() {
8586                const min_rollcut = this.optionConfig.min_rollcut[this.productIndex];
8587				var exactlength = '';
8588                window.dispatchEvent(
8589                    new CustomEvent(
8590                        "update-min-rollcut-" + this.productId,
8591                        {detail: min_rollcut}
8592                    )
8593                );
8594            },
8595
8596            updateMaxRollLengthRestriction() {
8597                const max_roll_length_restriction = this.optionConfig.max_roll_length_restriction[this.productIndex];
8598                const exact_width = this.optionConfig.exact_width[this.productIndex];
8599                const exact_length = this.optionConfig.exact_length[this.productIndex];
8600                const min_rollcut = this.optionConfig.min_rollcut[this.productIndex];
8601
8602                window.dispatchEvent(
8603                    new CustomEvent(
8604                        "update-max-roll-length-restriction-" + this.productId,
8605                        {
8606                            detail: {
8607                            max_roll_length_restriction: max_roll_length_restriction,
8608                            min_rollcut: min_rollcut,
8609                            exact_width: exact_width,
8610                            exact_length: exact_length,
8611                            }
8612                        }
8613                    )
8614                );
8615            },
8616            updateShippingDetails() {
8617                const pdp_shipping_text = this.optionConfig.pdp_shipping_text[this.productIndex];
8618                const expected_days_ship = this.optionConfig.expected_days_ship[this.productIndex];
8619                window.dispatchEvent(
8620                    new CustomEvent(
8621                        "update-shipping-details-" + this.productId,
8622                        {
8623                            detail: {
8624                            pdp_shipping_text: pdp_shipping_text,
8625                            expected_days_ship: expected_days_ship,
8626                            }
8627                        }
8628                    )
8629                );
8630            },
8631            updateGallery () {
8632                if (this.isLoadedFirst && this.ssrGalleryChildId > 0) {
8633                    return;
8634                }
8635
8636                if (this.productIndex) {
8637                    const images = this.optionConfig.images[this.productIndex];
8638                    images && window.dispatchEvent(new CustomEvent(
8639                        "update-gallery",
8640                        { detail: this.sortImagesByPosition(images) }
8641                    ));
8642                } else {
8643                    window.dispatchEvent(new Event("reset-gallery"));
8644                }
8645            },
8646            updateSquareFootage () {
8647                let squareFootageElement = document.getElementsByName('square_footage');
8648                
8649                if (squareFootageElement.length > 0) {
8650                    var squareFootage = squareFootageElement[0].value;
8651
8652                    if (squareFootage) {
8653                        // Trigger the 'keyup' event
8654                        var event = new KeyboardEvent('keyup', {
8655                            'key': 'Enter', // You can set this to any key, like 'Enter'
8656                            'bubbles': true,
8657                            'cancelable': true
8658                        });
8659
8660                        squareFootageElement[0].dispatchEvent(event);
8661                    }
8662                }
8663            },
8664            sortImagesByPosition(images) {
8665                return images.sort((x, y) => {
8666                    return x.position === y.position ? 0 : (parseInt(x.position) > parseInt(y.position) ? 1 : -1)
8667                });
8668            },
8669            onGetCartData(data) {
8670                this.preselectCartItems(data);
8671                this.preselectQuerystringItems();
8672                this.preselectLocationHashItems();
8673            },
8674            preselectCartItems(data) {
8675                // pre-select options based on cart data for current (quote) itemId
8676                const cart = data && data.cart;
8677                if (cart && cart.items) {
8678                    const cartItem = cart.items.find((item) => {
8679                        return (
8680                            item.item_id === this.itemId
8681                            && item.product_id === this.productId
8682                        )
8683                    });
8684                    if (cartItem && cartItem.options && cartItem.options.length) {
8685                        cartItem.options.map(option => {
8686                            this.changeOption(option.option_id, option.option_value);
8687                        })
8688                    }
8689                }
8690            },
8691            preselectQuerystringItems() {
8692                // pre-select option like ?size=167
8693                const urlQueryParams = new URLSearchParams(window.location.search.replace('?',''));
8694                Object.values(this.optionConfig.attributes).map(attribute => {
8695                    urlQueryParams.get(attribute.code) &&
8696                    this.changeOption(attribute.id, urlQueryParams.get(attribute.code));
8697                });
8698            },
8699            preselectLocationHashItems() {
8700                // pre-select option like #144=167
8701                const urlHashParams = new URLSearchParams(window.location.hash.replace('#',''));
8702                Object.values(this.optionConfig.attributes).map(attribute => {
8703                    urlHashParams.get(attribute.id) &&
8704                    this.changeOption(attribute.id, urlHashParams.get(attribute.id));
8705                });
8706            }
8707        }
8708    }
8709
8710    function isOptionVisible(element) {
8711        const computedStyle = window.getComputedStyle(element);
8712        return computedStyle.display !== 'none' && computedStyle.visibility !== 'hidden';
8713    }
8714</script>
vendor: 1 bytes, line 8714
8714
8715<script>
8716    function initCompareOnProductList() {
8717        return {
8718            addToCompare(productId) {
8719                const formKey = hyva.getFormKey();
8720                const postUrl = BASE_URL + 'catalog/product_compare/add/';
8721
8722                fetch(postUrl, {
8723                    "headers": {
8724                        "content-type": "application/x-www-form-urlencoded; charset=UTF-8",
8725                    },
8726                    "body": "form_key=" + formKey + "&product=" + productId + "&uenc=" + hyva.getUenc(),
8727                    "method": "POST",
8728                    "mode": "cors",
8729                    "credentials": "include"
8730                }).then(function (response) {
8731                    if (response.redirected) {
8732                        window.location.href = response.url;
8733                    }
8734                }).catch(function (error) {
8735                    typeof window.dispatchMessages !== "undefined" && window.dispatchMessages(
8736                        [{
8737                            type: "error",
8738                            text: error
8739                        }], 5000
8740                    );
8741                });
8742            }
8743        };
8744    }
8745</script>
vendor: 1 bytes, line 8745
8745
8746<script>
8747    function initWishlist() {
8748        return {
8749            addToWishlist(productId) {
8750                const formKey = hyva.getFormKey();
8751                const postUrl = BASE_URL + 'wishlist/index/add/';
8752
8753                fetch(postUrl, {
8754                    "headers": {
8755                        "content-type": "application/x-www-form-urlencoded; charset=UTF-8",
8756                    },
8757                    "body": "form_key=" + formKey + "&product=" + productId + "&uenc=" + hyva.getUenc(),
8758                    "method": "POST",
8759                    "mode": "cors",
8760                    "credentials": "include"
8761                }).then(function (response) {
8762                    if (response.redirected) {
8763                        window.location.href = response.url;
8764                    } else if (response.ok) {
8765                        return response.json();
8766                    } else {
8767                        typeof window.dispatchMessages !== "undefined" && window.dispatchMessages(
8768                            [{
8769                                type: "warning",
8770                                text: "Could not add item to wishlist."
8771                            }], 5000
8772                        );
8773                    }
8774                }).then(function (response) {
8775                    if (!response) { return }
8776                    typeof window.dispatchMessages !== "undefined" && window.dispatchMessages(
8777                        [{
8778                            type: (response.success) ? "success" : "error",
8779                            text: (response.success)
8780                                ? "Product has been added to your Wish List."
8781                                : response.error_message
8782                        }], 5000
8783                    );
8784                    const reloadCustomerDataEvent = new CustomEvent("reload-customer-section-data");
8785                    window.dispatchEvent(reloadCustomerDataEvent);
8786                }).catch(function (error) {
8787                    typeof window.dispatchMessages !== "undefined" && window.dispatchMessages(
8788                        [{
8789                            type: "error",
8790                            text: error
8791                        }], 5000
8792                    );
8793                });
8794            }
8795        }
8796    }
8797</script>
vendor: 1 bytes, line 8797
8797
8798<script>
8799    function initSwatchOptions(swatchConfig, swatchLabelValues = null) {
8800        const normalizedSwatchLabelValues = (
8801            swatchLabelValues
8802            && typeof swatchLabelValues === 'object'
8803            && !Array.isArray(swatchLabelValues)
8804        ) ? swatchLabelValues : {};
8805
8806        return {
8807            swatchConfig,
8808            swatchLabelValues: normalizedSwatchLabelValues,
8809            resolveSwatchLabel(attributeId, optionId) {
8810                if (optionId === undefined || optionId === null || optionId === '') {
8811                    return '';
8812                }
8813
8814                const optionKey = String(optionId);
8815                const labels = (
8816                    this.swatchLabelValues
8817                    && typeof this.swatchLabelValues === 'object'
8818                    && !Array.isArray(this.swatchLabelValues)
8819                ) ? this.swatchLabelValues : {};
8820                const flatLabel = labels[optionKey] ?? labels[optionId];
8821                if (flatLabel !== undefined && flatLabel !== null && flatLabel !== '') {
8822                    return String(flatLabel);
8823                }
8824
8825                const attrConfig = this.swatchConfig?.[attributeId] ?? this.swatchConfig?.[String(attributeId)];
8826                const attrLabels = attrConfig?.swatchLabelValues;
8827                if (attrLabels) {
8828                    const attrLabel = attrLabels[optionKey] ?? attrLabels[optionId];
8829                    if (attrLabel !== undefined && attrLabel !== null && attrLabel !== '') {
8830                        return String(attrLabel);
8831                    }
8832                }
8833
8834                const swatchOption = attrConfig?.[optionKey] ?? attrConfig?.[optionId];
8835                if (swatchOption?.label) {
8836                    return String(swatchOption.label);
8837                }
8838
8839                return this.getOptionLabelFromOptionConfig(attributeId, optionId) || '';
8840            },
8841            getAttributeSwatchData(attributeId) {
8842                const attributeKey = String(attributeId);
8843                const rawConfig = this.swatchConfig?.[attributeId] ?? this.swatchConfig?.[attributeKey];
8844                const labels = (
8845                    this.swatchLabelValues
8846                    && typeof this.swatchLabelValues === 'object'
8847                    && !Array.isArray(this.swatchLabelValues)
8848                ) ? this.swatchLabelValues : {};
8849                if (!rawConfig) {
8850                    return {details: {}, swatchLabelValues: labels};
8851                }
8852                const swatchConfig = Object.assign({}, rawConfig);
8853                if (swatchConfig['additional_data']) {
8854                    try {
8855                        swatchConfig['details'] = JSON.parse(swatchConfig['additional_data']);
8856                    } catch (error) {
8857                        swatchConfig['details'] = {};
8858                    }
8859                } else {
8860                    swatchConfig['details'] = swatchConfig['details'] ?? {};
8861                }
8862                swatchConfig['swatchLabelValues'] = labels;
8863
8864                return swatchConfig;
8865            },
8866            getAllAttributeOptions(attributeId) {
8867                return (
8868                    this.optionConfig.attributes[attributeId] &&
8869                    this.optionConfig.attributes[attributeId].options
8870                ) || []
8871            },
8872            optionIsActive(attributeId, optionId) {
8873                const optionKey = String(optionId);
8874                return !!this.getAllowedAttributeOptions(attributeId).find(
8875                    option => String(option.id) === optionKey
8876                );
8877            },
8878            optionIsEnabled(attributeId, optionId) {
8879                const attributeKey = String(attributeId);
8880                const optionKey = String(optionId);
8881                const index = this.optionConfig?.index || {};
8882                for (const productId in index) {
8883                    const productOptions = index[productId] || {};
8884                    if (
8885                        String(productOptions[attributeKey]) === optionKey
8886                        || String(productOptions[attributeId]) === optionKey
8887                    ) {
8888                        return true;
8889                    }
8890                }
8891                const attributeOptions = (
8892                    this.optionConfig?.attributes?.[attributeId]?.options
8893                    || this.optionConfig?.attributes?.[attributeKey]?.options
8894                    || []
8895                );
8896                const match = attributeOptions.find((option) => String(option.id) === optionKey);
8897                if (!match?.products?.length) {
8898                    return false;
8899                }
8900                return match.products.some((childId) => {
8901                    const key = String(childId);
8902                    return Object.prototype.hasOwnProperty.call(index, key)
8903                        || Object.prototype.hasOwnProperty.call(index, childId);
8904                });
8905            },
8906            mapSwatchTypeNumberToTypeCode(typeNumber) {
8907                switch ("" + typeNumber) {
8908                    case "1":
8909                        return "color"
8910                    case "2":
8911                        return "image"
8912                    case "3":
8913                        return "empty"
8914                    case "0":
8915                    default:
8916                        return "text"
8917                }
8918            },
8919            getTypeOfFirstOption(attributeId) {
8920                for (const optionId in this.swatchConfig[attributeId]) {
8921                    const option = this.swatchConfig[attributeId][optionId];
8922                    if (typeof option.type !== 'undefined') {
8923                        return this.mapSwatchTypeNumberToTypeCode(option.type);
8924                    }
8925                }
8926            },
8927            getVisualSwatchType(attributeId, targetOptionId) {
8928                // If a type configuration is present for the given option id, use it
8929                const config = this.swatchConfig[attributeId];
8930                if (config[targetOptionId] && typeof config[targetOptionId].type !== 'undefined') {
8931                    return this.mapSwatchTypeNumberToTypeCode(config[targetOptionId].type);
8932                }
8933
8934                // Otherwise - if no config is present for the target option - use the type of the first option
8935                // with a type property from the attribute, thus assuming its the same type as the target option.
8936                // (This edge case condition can occur on single swatch products if some options are not salable)
8937                return this.getTypeOfFirstOption(attributeId);
8938            },
8939            getSwatchType(attributeId, optionId) {
8940                // Deserialize the attribute details the first time they are used
8941                if (this.swatchConfig[attributeId] && ! this.swatchConfig[attributeId].details) {
8942                    this.swatchConfig[attributeId] = this.getAttributeSwatchData(attributeId);
8943                }
8944                const type =  this.swatchConfig[attributeId] &&
8945                    this.swatchConfig[attributeId].details &&
8946                    this.swatchConfig[attributeId].details.swatch_input_type ||
8947                    "empty";
8948                return type === 'visual' ? this.getVisualSwatchType(attributeId, optionId) : type;
8949            },
8950            isTextSwatch(attributeId, optionId) {
8951                return this.getSwatchType(attributeId, optionId) === 'text';
8952            },
8953            isVisualSwatch(attributeId, optionId) {
8954                const type = this.getSwatchType(attributeId, optionId);
8955
8956                return ['image', 'color'].includes(type);
8957            },
8958            getSwatchBackgroundStyle(attributeId, optionId) {
8959                const config = this.getSwatchConfig(attributeId, optionId);
8960                const type = this.getSwatchType(attributeId, optionId);
8961
8962                if (type === "color") {
8963                        return 'background-color:' + config.value;
8964                } else if (type === "image") {
8965                        return "background: #ffffff url('" + config.value + "') no-repeat center";
8966                } else {
8967                    return '';
8968                }
8969            },
8970			getSwatchText(attributeId, optionId) {
8971                return this.resolveSwatchLabel(attributeId, optionId);
8972            },
8973            getLegacyColorSwatchImageHtml(attributeId, optionId) {
8974                const map = this._legacyColorSwatchImages || {};
8975                return this.getSwatchTextUrl(attributeId, optionId, map);
8976            },
8977            getSwatchTextUrl(attributeId, optionId, childSwatch) {
8978                const config = this.getSwatchConfig(attributeId, optionId);
8979                const optionKey = String(optionId);
8980                const swatchMap = (
8981                    childSwatch
8982                    && typeof childSwatch === 'object'
8983                    && !Array.isArray(childSwatch)
8984                ) ? childSwatch : {};
8985                const swatchUrl = swatchMap[optionKey] ?? swatchMap[optionId];
8986                if(swatchUrl != "" && swatchUrl != null && isValidURL(swatchUrl)){
8987					return "<img loading='lazy' src="+swatchUrl+" title="+swatchUrl+" alt="+swatchUrl+"/>";
8988				} else if(config && config.value!="" && config.value!= null && isValidURL(config.value)){
8989					return "<img loading='lazy' src="+config.value+" title="+config.value+" alt="+config.value+"/>";
8990				} else {
8991					 var placeHoldernew = BASE_URL+'media/catalog/product/placeholder/default/swatch_placeholder.png';
8992
8993					return "<img  width= '60px' height='60px' src="+placeHoldernew+" title="+placeHoldernew+" alt="+placeHoldernew+"/>";
8994				}
8995			},
8996            getOptionLabelFromOptionConfig(attributeId, optionId) {
8997                const optionKey = String(optionId);
8998                const option = this.getAllAttributeOptions(attributeId).find(
8999                    (entry) => String(entry.id) === optionKey
9000                );
9001                return option?.label || '';
9002            },
9003            getSwatchConfig(attributeId, optionId) {
9004                const attrConfig = this.swatchConfig[attributeId] ?? this.swatchConfig[String(attributeId)];
9005                if (!attrConfig) {
9006                    return false;
9007                }
9008                return attrConfig[optionId] ?? attrConfig[String(optionId)] ?? false;
9009            },
9010            activeTooltipItem: false,
9011            tooltipPositionElement: false,
9012            isTooltipVisible() {
9013                return this.activeTooltipItem &&
9014                    this.getSwatchConfig(
9015                        this.activeTooltipItem.attribute,
9016                        this.activeTooltipItem.item
9017                    );
9018            },
9019            getTooltipImageStyle(attributeId, optionId) {
9020                const config = this.getSwatchConfig(attributeId, optionId);
9021                const type = this.getSwatchType(attributeId, optionId);
9022
9023                if (type === "color") {
9024                    return 'background-color:' + config.value + '; width: 110px; height: 90px;';
9025                } else if (type === "image") {
9026                    return "background: #ffffff url('" + config.thumb +
9027                        "') center center no-repeat; width: 110px; height: 90px;";
9028                } else {
9029                    return 'display:none';
9030                }
9031            },
9032            getTooltipPosition() {
9033                if (!this.tooltipPositionElement) {
9034                    return '';
9035                }
9036                const rect = this.tooltipPositionElement.getBoundingClientRect();
9037                const elementWidth = rect.width;
9038                const elementHeight = rect.height;
9039                const container = document.querySelector('.swatch___render');
9040                if (!container) {
9041                    return '';
9042                }
9043                const containerRect = container.getBoundingClientRect();
9044                const topPosition = rect.top - containerRect.top + 10;
9045                const leftPosition = rect.left - containerRect.left;
9046
9047                return `                    
9048                    top: ${topPosition}px;
9049                    left: ${leftPosition}px;
9050                `;
9051            },
9052            getSwatchConfigLabel(attributeId, optionId) {
9053                const label = this.resolveSwatchLabel(attributeId, optionId);
9054                return label !== '' ? label : false;
9055            },
9056            getTooltipLabel() {
9057                return this.getSwatchConfigLabel(this.activeTooltipItem.attribute, this.activeTooltipItem.item);
9058                //return this.getSwatchConfig(this.activeTooltipItem.attribute, this.activeTooltipItem.item).label
9059            },
9060            focusedLabel: false,
9061            focusLabel(optionId) {
9062                this.focusedLabel = optionId;
9063            },
9064            blurLabel() {
9065                this.focusedLabel = false;
9066            },
9067            showSwatches: true,
9068            initShowSwatchesIntersect() {
9069                this.showSwatches = true;
9070            },
9071
9072            quickShipValidation(attributeCode, attributeId, optionId){
9073               if (optionId === undefined || optionId === null || optionId === '') {
9074                   return 0;
9075               }
9076               var is_quick_ship_color = 0;
9077                var optionConfigObj = this.optionConfig;
9078                if (!optionConfigObj || typeof optionConfigObj !== 'object') {
9079                    return 0;
9080                }
9081                if(attributeCode == 'incstores_pim_color_axis'){
9082                    var attributes = optionConfigObj.attributes;
9083                    if (!attributes || !attributes[attributeId] || !attributes[attributeId]['options']) {
9084                        return 0;
9085                    }
9086                    var quickShipColorIds = optionConfigObj.quick_ship_color_ids || [];
9087                    if (quickShipColorIds.length) {
9088                        return quickShipColorIds.some(function (id) {
9089                            return String(id) === String(optionId);
9090                        }) ? 1 : 0;
9091                    }
9092                    var quickShipMap = optionConfigObj.quick_ship;
9093                    if (!quickShipMap) {
9094                        return 0;
9095                    }
9096                    var attributes_options = attributes[attributeId]['options'];
9097
9098                    attributes_options.forEach(function(option_details) {
9099                        if(option_details['id'] == optionId){
9100                            option_details['products'].forEach(function(child_product_id) {
9101                                if(quickShipMap[String(child_product_id)] == 1 || quickShipMap[child_product_id] == 1){
9102                                    is_quick_ship_color = 1;
9103                                    return false;
9104                                }
9105                            });
9106                        }
9107                    });
9108                }
9109                return is_quick_ship_color;
9110            },
9111
9112            hasQuickShipColorOptions(attributeCode, attributeId) {
9113                if (!this.optionConfig?.attributes?.[attributeId]?.options?.length) {
9114                    return false;
9115                }
9116                if (this.selectedValues) {
9117                    Object.keys(this.selectedValues).forEach(function (key) {
9118                        void this.selectedValues[key];
9119                    }.bind(this));
9120                }
9121                var colorIds = this.optionConfig.quick_ship_color_ids || [];
9122                var options = this.optionConfig.attributes[attributeId].options;
9123                for (var i = 0; i < options.length; i++) {
9124                    var optionId = options[i].id;
9125                    var isQuick = colorIds.length
9126                        ? colorIds.some(function (id) { return String(id) === String(optionId); })
9127                        : (this.quickShipValidation(attributeCode, attributeId, optionId) === 1);
9128                    if (!isQuick) {
9129                        continue;
9130                    }
9131                    if (!this.optionIsEnabled(attributeId, optionId)) {
9132                        continue;
9133                    }
9134                    if (!this.optionIsActive(attributeId, optionId)) {
9135                        continue;
9136                    }
9137                    return true;
9138                }
9139                return false;
9140            },
9141
9142            hasNormalColorOptions(attributeCode, attributeId) {
9143                if (!this.optionConfig?.attributes?.[attributeId]?.options?.length) {
9144                    return false;
9145                }
9146                if (this.shipRegionZipActive && this.customerRegionCode) {
9147                    return false;
9148                }
9149                var colorIds = this.optionConfig.quick_ship_color_ids || [];
9150                var options = this.optionConfig.attributes[attributeId].options;
9151                for (var i = 0; i < options.length; i++) {
9152                    var optionId = options[i].id;
9153                    var isQuick = colorIds.length
9154                        ? colorIds.some(function (id) { return String(id) === String(optionId); })
9155                        : (this.quickShipValidation(attributeCode, attributeId, optionId) === 1);
9156                    if (!isQuick) {
9157                        if (!this.optionIsEnabled(attributeId, optionId)) {
9158                            continue;
9159                        }
9160                        if (!this.optionIsActive(attributeId, optionId)) {
9161                            continue;
9162                        }
9163                        return true;
9164                    }
9165                }
9166                return false;
9167            },
9168
9169            shouldShowQuickShipSection(attributeCode, attributeId) {
9170                if (this.shipRegionZipActive && this.customerRegionCode) {
9171                    return false;
9172                }
9173                return this.hasQuickShipColorOptions(attributeCode, attributeId);
9174            },
9175
9176            getOtherSwatchAttributeId(section = null) {
9177                const target = section || document.querySelector('.swatch-attribute.other_swatch_option');
9178                if (!target || !this.optionConfig?.attributes) {
9179                    return null;
9180                }
9181                for (const key in this.optionConfig.attributes) {
9182                    const code = this.optionConfig.attributes[key]?.code;
9183                    if (code && code !== 'incstores_pim_color_axis' && target.classList.contains(code)) {
9184                        return parseInt(key, 10);
9185                    }
9186                }
9187                for (const key in this.optionConfig.attributes) {
9188                    const code = this.optionConfig.attributes[key]?.code;
9189                    if (code && code !== 'incstores_pim_color_axis') {
9190                        return parseInt(key, 10);
9191                    }
9192                }
9193                return null;
9194            },
9195
9196            /**
9197             * Count salable/enabled options only. Disabled Magento variants stay out of the UI.
9198             * Hide "Select An Option" when fewer than two enabled options remain.
9199             */
9200            countEnabledOtherSwatchOptions(attrId) {
9201                if (!attrId) {
9202                    return 0;
9203                }
9204                const options = this.optionConfig?.attributes?.[attrId]?.options || [];
9205                return options.filter((option) => this.optionIsEnabled(attrId, option.id)).length;
9206            },
9207
9208            countVisibleOtherSwatchOptions() {
9209                return this.countEnabledOtherSwatchOptions(this.getOtherSwatchAttributeId());
9210            },
9211
9212            syncOtherSwatchOptionVisibility() {
9213                const sections = document.querySelectorAll('.swatch-attribute.other_swatch_option');
9214                if (!sections.length) {
9215                    return;
9216                }
9217                const self = this;
9218                const applyVisibility = () => {
9219                    sections.forEach((variantSection) => {
9220                        const attrId = self.getOtherSwatchAttributeId(variantSection);
9221                        if (!attrId) {
9222                            return;
9223                        }
9224                        const optionCount = self.countEnabledOtherSwatchOptions(attrId);
9225                        const shouldShow = optionCount > 1;
9226                        variantSection.classList.toggle('dcw-single-option-hidden', !shouldShow);
9227                        // Theme CSS defaults other_swatch_option to display:none — force block/none.
9228                        variantSection.style.setProperty(
9229                            'display',
9230                            shouldShow ? 'block' : 'none',
9231                            'important'
9232                        );
9233                        if (!shouldShow && optionCount === 1) {
9234                            const options = self.optionConfig?.attributes?.[attrId]?.options || [];
9235                            const enabledOption = options.find((option) => self.optionIsEnabled(attrId, option.id));
9236                            const optionId = enabledOption?.id;
9237                            if (optionId !== undefined
9238                                && String(self.selectedValues[attrId]) !== String(optionId)
9239                                && typeof self.changeOption === 'function') {
9240                                self.changeOption(attrId, optionId);
9241                            }
9242                        }
9243                    });
9244                };
9245                applyVisibility();
9246                window.setTimeout(applyVisibility, 300);
9247            },
9248
9249            /**
9250             * After color selection only (including disabled colors): if current variant/option
9251             * is incompatible, auto-select the cheapest compatible one. Never run on variant clicks.
9252             */
9253            autoSelectCompatibleOtherOption(colorAttrId) {
9254                if (!colorAttrId || !this.optionConfig?.attributes) {
9255                    return;
9256                }
9257                const selectedColor = this.selectedValues[colorAttrId];
9258                if (!selectedColor) {
9259                    return;
9260                }
9261
9262                let otherAttrId = null;
9263                if (typeof this.getAttributeIdByCode === 'function') {
9264                    otherAttrId = this.getAttributeIdByCode('incstores_pim_variant_axis')
9265                        || this.getAttributeIdByCode('product_option');
9266                }
9267                if (!otherAttrId) {
9268                    const section = document.querySelector('.swatch-attribute.other_swatch_option');
9269                    otherAttrId = this.getOtherSwatchAttributeId(section);
9270                }
9271                if (!otherAttrId || !this.optionConfig.attributes[otherAttrId]) {
9272                    return;
9273                }
9274
9275                const currentOther = this.selectedValues[otherAttrId];
9276                const isCurrentCompatible = currentOther
9277                    && typeof this.optionIsActive === 'function'
9278                    && this.optionIsActive(otherAttrId, currentOther);
9279
9280                if (isCurrentCompatible) {
9281                    return;
9282                }
9283
9284                const options = this.optionConfig.attributes[otherAttrId].options || [];
9285                let lowestPrice = null;
9286                let lowestOptionId = null;
9287
9288                options.forEach((option) => {
9289                    if (typeof this.optionIsEnabled === 'function'
9290                        && !this.optionIsEnabled(otherAttrId, option.id)) {
9291                        return;
9292                    }
9293                    const productIds = option.products || [];
9294                    productIds.forEach((productId) => {
9295                        const product = this.optionConfig.index[productId]
9296                            || this.optionConfig.index[String(productId)];
9297                        if (!product || String(product[colorAttrId]) !== String(selectedColor)) {
9298                            return;
9299                        }
9300                        const priceData = this.optionConfig.optionPrices[productId]
9301                            || this.optionConfig.optionPrices[String(productId)];
9302                        if (!priceData) {
9303                            return;
9304                        }
9305                        const price = priceData.finalPrice.amount;
9306                        if (lowestPrice === null || price < lowestPrice) {
9307                            lowestPrice = price;
9308                            lowestOptionId = option.id;
9309                        }
9310                    });
9311                });
9312
9313                if (lowestOptionId === null
9314                    || String(this.selectedValues[otherAttrId]) === String(lowestOptionId)) {
9315                    return;
9316                }
9317
9318                if (typeof this.changeOption === 'function') {
9319                    this.changeOption(otherAttrId, lowestOptionId);
9320                    return;
9321                }
9322
9323                const el = document.querySelector(
9324                    'input[name="super_attribute[' + otherAttrId + ']"][value="' + lowestOptionId + '"]'
9325                );
9326                if (el) {
9327                    el.click();
9328                }
9329            },
9330
9331            /**
9332             * After variant / Select An Option change: if current color is unavailable,
9333             * auto-select the cheapest compatible color. Never run on color clicks.
9334             */
9335            autoSelectCompatibleColorOption(otherAttrId) {
9336                if (!otherAttrId || !this.optionConfig?.attributes) {
9337                    return;
9338                }
9339                const selectedOther = this.selectedValues[otherAttrId];
9340                if (!selectedOther) {
9341                    return;
9342                }
9343
9344                let colorAttrId = null;
9345                if (typeof this.getAttributeIdByCode === 'function') {
9346                    colorAttrId = this.getAttributeIdByCode('incstores_pim_color_axis');
9347                }
9348                if (!colorAttrId && typeof this.getShipRegionColorAttributeId === 'function') {
9349                    colorAttrId = this.getShipRegionColorAttributeId();
9350                }
9351                if (!colorAttrId || !this.optionConfig.attributes[colorAttrId]) {
9352                    return;
9353                }
9354
9355                const currentColor = this.selectedValues[colorAttrId];
9356                const isCurrentCompatible = currentColor
9357                    && typeof this.optionIsActive === 'function'
9358                    && this.optionIsActive(colorAttrId, currentColor);
9359
9360                if (isCurrentCompatible) {
9361                    return;
9362                }
9363
9364                const options = this.optionConfig.attributes[colorAttrId].options || [];
9365                let lowestPrice = null;
9366                let lowestOptionId = null;
9367
9368                options.forEach((option) => {
9369                    if (typeof this.optionIsEnabled === 'function'
9370                        && !this.optionIsEnabled(colorAttrId, option.id)) {
9371                        return;
9372                    }
9373                    const productIds = option.products || [];
9374                    productIds.forEach((productId) => {
9375                        const product = this.optionConfig.index[productId]
9376                            || this.optionConfig.index[String(productId)];
9377                        if (!product || String(product[otherAttrId]) !== String(selectedOther)) {
9378                            return;
9379                        }
9380                        const priceData = this.optionConfig.optionPrices[productId]
9381                            || this.optionConfig.optionPrices[String(productId)];
9382                        if (!priceData) {
9383                            return;
9384                        }
9385                        const price = priceData.finalPrice.amount;
9386                        if (lowestPrice === null || price < lowestPrice) {
9387                            lowestPrice = price;
9388                            lowestOptionId = option.id;
9389                        }
9390                    });
9391                });
9392
9393                if (lowestOptionId === null
9394                    || String(this.selectedValues[colorAttrId]) === String(lowestOptionId)) {
9395                    return;
9396                }
9397
9398                if (typeof this.changeOption === 'function') {
9399                    this.changeOption(colorAttrId, lowestOptionId);
9400                    return;
9401                }
9402
9403                const el = document.querySelector(
9404                    'input[name="super_attribute[' + colorAttrId + ']"][value="' + lowestOptionId + '"]'
9405                );
9406                if (el) {
9407                    el.click();
9408                }
9409            },
9410
9411            syncNormalColorSwatchQuickShipVisibility() {
9412                if (this.shipRegionZipActive && this.customerRegionCode) {
9413                    return;
9414                }
9415                if (typeof this.quickShipValidation !== 'function') {
9416                    if (typeof this.syncNormalColorSwatchSectionVisibility === 'function') {
9417                        this.syncNormalColorSwatchSectionVisibility();
9418                    }
9419                    return;
9420                }
9421                const self = this;
9422                document.querySelectorAll('.normal_color_swatch_option .selectOptionColor').forEach(function (el) {
9423                    const input = el.querySelector('input.product-option-value-input[name^="super_attribute"]');
9424                    if (!input) {
9425                        return;
9426                    }
9427                    const nameMatch = input.name.match(/super_attribute\[(\d+)\]/);
9428                    if (!nameMatch) {
9429                        return;
9430                    }
9431                    const attributeId = parseInt(nameMatch[1], 10);
9432                    const optionId = input.value;
9433                    const attributeCode = input.getAttribute('data-attributecode') || 'incstores_pim_color_axis';
9434                    if (self.quickShipValidation(attributeCode, attributeId, optionId) === 1) {
9435                        el.classList.add('hidden');
9436                        el.style.display = 'none';
9437                    } else {
9438                        el.classList.remove('hidden');
9439                        el.style.display = '';
9440                    }
9441                });
9442                if (typeof this.syncNormalColorSwatchSectionVisibility === 'function') {
9443                    this.syncNormalColorSwatchSectionVisibility();
9444                }
9445            },
9446
9447            getColorAttributeId() {
9448                if (typeof this.getAttributeIdByCode === 'function') {
9449                    const id = this.getAttributeIdByCode('incstores_pim_color_axis');
9450                    return id ? parseInt(String(id), 10) : null;
9451                }
9452                if (!this.optionConfig?.attributes) {
9453                    return null;
9454                }
9455                for (const key in this.optionConfig.attributes) {
9456                    if (this.optionConfig.attributes[key]?.code === 'incstores_pim_color_axis') {
9457                        return parseInt(key, 10);
9458                    }
9459                }
9460                return null;
9461            },
9462
9463            /**
9464             * Hide entire "Select A Color" block when every color is Quick Ship (or none left).
9465             */
9466            syncNormalColorSwatchSectionVisibility() {
9467                const sections = document.querySelectorAll('.normal_color_swatch_option');
9468                if (!sections.length) {
9469                    return;
9470                }
9471                const colorAttrId = this.getColorAttributeId();
9472                const shouldShow = colorAttrId
9473                    && typeof this.hasNormalColorOptions === 'function'
9474                    && this.hasNormalColorOptions('incstores_pim_color_axis', colorAttrId);
9475
9476                sections.forEach((section) => {
9477                    if (!shouldShow) {
9478                        section.classList.add('hidden');
9479                        section.style.setProperty('display', 'none', 'important');
9480                    } else {
9481                        section.classList.remove('hidden', 'sr-only');
9482                        section.style.setProperty('display', 'block', 'important');
9483                    }
9484                });
9485            }
9486        }
9487    }
9488
9489	function isValidURL(url) {
9490    // Regular expression for URL validation
9491    var pattern = /^(https?:\/\/)?([\w.]+)\.([a-z]{2,})(\/[\w\.-]*)*\/?$/i;
9492    return pattern.test(url);
9493}
9494</script>
vendor: 1 bytes, line 9494
9494
9495<script>
9496    'use strict';
9497
9498    (function () {
9499        const modals = [];
9500        const excludedFromFocusTrapping = new Set();
9501
9502        function trapFocusInNextModalWithOverlay() {
9503            for (let idx = modals.length -1; idx >= 0; idx--) {
9504                const nextOnStack = modals[idx];
9505                const nextDialogElement = nextOnStack.instance.$refs[nextOnStack.name];
9506                if (! isOverlayDisabled(nextDialogElement)) {
9507                    hyva.trapFocus(nextDialogElement);
9508                    break;
9509                }
9510            }
9511        }
9512
9513        function focusables(dialogElement) {
9514            const selector = 'button, [href], input, textarea, select, details, [tabindex]:not([tabindex="-1"])';
9515            return Array.from(dialogElement.querySelectorAll(selector))
9516                .filter(el => !el.hasAttribute('disabled'));
9517        }
9518
9519        function firstVisible(elements) {
9520            const a = Array.from(elements);
9521            for (let i = 0; i < a.length; i++) {
9522                if (a[i].offsetWidth || a[i].offsetHeight || a[i].getClientRects().length) return a[i];
9523            }
9524            return null;
9525        }
9526
9527        function isInViewport(element) {
9528            const rect = element && element.getBoundingClientRect();
9529            return rect &&
9530                rect.top >= 0 &&
9531                rect.left >= 0 &&
9532                rect.right <= window.innerWidth &&
9533                rect.bottom <= window.innerHeight;
9534        }
9535
9536        function setFocusAfterTransition(dialogElement, duration) {
9537                        const nested = Array.from(dialogElement.querySelectorAll('[role="dialog"]'));
9538            const candidates = Array.from(dialogElement.querySelectorAll('[x-focus-first]'));
9539            next: for (let candidate of candidates) {
9540                for (let child of nested) {
9541                    if (child.contains(candidate)) continue next;
9542                }
9543                setTimeout(() => candidate.focus(), 50);
9544                break;
9545            }
9546            window.setTimeout(() => {
9547                const focusElement = firstVisible(dialogElement.querySelectorAll('[x-focus-first]')) ||
9548                    focusables(dialogElement)[0] ||
9549                    null;
9550                focusElement && isInViewport(focusElement) && focusElement.focus();
9551            }, Math.max(1, duration));
9552        }
9553
9554        function determineTrigger($refs, dialog, trigger) {
9555                        if (typeof trigger === 'undefined' && typeof dialog === 'object' && dialog.target instanceof HTMLElement) {
9556                return dialog.target;
9557            }
9558                        if (typeof dialog === 'string' && typeof trigger === 'object' && trigger.target instanceof HTMLElement) {
9559                return trigger.target;
9560            }
9561                        if (typeof trigger === 'string') {
9562                try {
9563                    return $refs[trigger] || document.querySelector(trigger)
9564                } catch (e) {}
9565            }
9566                        if (trigger instanceof Element) {
9567                return trigger;
9568            }
9569
9570                        return null;
9571        }
9572
9573        function isOverlayDisabled(dialog) {
9574            return dialog && dialog.hasAttribute('x-no-overlay')
9575        }
9576
9577        function areRemainingModalsWithoutOverlay(modals)
9578        {
9579            const overflowDisabled = modals.map(modal => modal.instance.$refs[modal.name]).filter(isOverlayDisabled);
9580
9581            return overflowDisabled.length === modals.length;
9582        }
9583
9584        window.hyva.modal = function(options) {
9585
9586            const config = Object.assign({
9587                dialog: 'dialog',                 duration: 300,                 transitionEnter: 'transition ease-out duration-300',
9588                transitionEnterStart: 'opacity-0',
9589                transitionEnterEnd: 'opacity-100',
9590                transitionLeave: 'transition ease-in duration-300',
9591                transitionLeaveStart: 'opacity-100',
9592                transitionLeaveEnd: 'opacity-0',
9593            }, options);
9594            let lastHide = 0;
9595
9596            return {
9597                opened: {},
9598                show(dialog, trigger) {
9599                    const focusTargetAfterHide = determineTrigger(this.$refs, dialog, trigger);
9600                    const name = typeof dialog === 'string' ? dialog : config.dialog;
9601                    const dialogElement = this.$refs[name];
9602                    if (! dialogElement) {
9603                                                return;
9604                    }
9605                    const useOverlay = ! dialogElement.hasAttribute('x-no-overlay');
9606
9607                    dialogElement.scrollTop = 0;
9608
9609                                        if (this.opened[name]) {
9610                        return;
9611                    }
9612
9613                    if (focusTargetAfterHide) {
9614                        focusTargetAfterHide.setAttribute('aria-expanded', 'true');
9615                    }
9616
9617                    this.opened[name] = true;
9618                    useOverlay && this.$nextTick(() => hyva.trapFocus(dialogElement));
9619                    setFocusAfterTransition(dialogElement, config.duration);
9620
9621                    const frame = {name, instance: this, focusTarget: focu
9621sTargetAfterHide, time: Date.now()};
9622
9623                    modals.push(frame);
9624                    if (useOverlay) {
9625                        document.body.classList.add('overflow-hidden');
9626                    }
9627                    return new Promise(resolve => frame.resolve = resolve);
9628                },
9629                cancel() {
9630                    this.hide(false);
9631                },
9632                ok() {
9633                    this.hide(true);
9634                },
9635                hide(value) {
9636                                        if (Date.now() - lastHide < config.duration) {
9637                        return;
9638                    }
9639                    lastHide = Date.now();
9640
9641                    const modal = modals.pop() || {};
9642                    const name = modal.name;
9643                    this.opened[name] = false;
9644                    hyva.releaseFocus(modal.instance.$refs[modal.name])
9645                    trapFocusInNextModalWithOverlay();
9646
9647                    const nextFocusAfterHide = modal.focusTarget;
9648                    nextFocusAfterHide && setTimeout(() => {
9649                        nextFocusAfterHide.setAttribute('aria-expanded', 'false');
9650                        nextFocusAfterHide.focus()
9651                    }, config.duration);
9652
9653                    if (modals.length === 0 || areRemainingModalsWithoutOverlay(modals)) {
9654                        document.body.classList.remove('overflow-hidden');
9655                    }
9656
9657                    modal.resolve(value);
9658                },
9659                overlay(dialog) {
9660                    const name = typeof dialog === 'string' ? dialog : config.dialog;
9661                    return {
9662                        ['x-show']() {
9663                            return this.opened[name]
9664                        },
9665                        ['x-transition:enter']: config.transitionEnter,
9666                        ['x-transition:enter-start']: config.transitionEnterStart,
9667                        ['x-transition:enter-end']: config.transitionEnterEnd,
9668                        ['x-transition:leave']: config.transitionLeave,
9669                        ['x-transition:leave-start']: config.transitionLeaveStart,
9670                        ['x-transition:leave-end']: config.transitionLeaveEnd,
9671                        ['@hyva-modal-show.window'](event) {
9672                            event.detail && event.detail.dialog === name && this.show(name, event.detail.focusAfterHide)
9673                        }
9674                    };
9675                }
9676            };
9677        }
9678
9679        window.hyva.modal.peek = () => modals.length > 0 && modals[modals.length -1]
9680
9681        window.hyva.modal.pop = function () {
9682            if (modals.length > 0) {
9683                const modal = modals[modals.length -1];
9684                modal.instance.hide();
9685            }
9686        }
9687
9688        window.hyva.modal.excludeSelectorsFromFocusTrap = function (selectors) {
9689            typeof selectors === 'string' || selectors instanceof String
9690                ? excludedFromFocusTrapping.add(selectors)
9691                : selectors.map(selector => excludedFromFocusTrapping.add(selector));
9692        }
9693
9694        window.hyva.modal.eventListeners = {
9695            keydown: event => {
9696                if (event.key === 'Escape') {
9697                    window.hyva.modal.pop();
9698                }
9699            },
9700                        click: event => {
9701                if (modals.length > 0) {
9702                    const modal = modals[modals.length -1];
9703                    const dialog = modal.instance.$refs[modal.name];
9704                    if (modal.time + 50 < Date.now() && // if last click processing is more than 50ms ago
9705                        ! isOverlayDisabled(dialog) && // if dialog has overlay
9706                        ! dialog.contains(event.target)) { // if click is outside of dialog
9707                        modal.instance.hide();
9708                    }
9709                }
9710            }
9711        };
9712
9713        document.addEventListener('keydown', window.hyva.modal.eventListeners.keydown);
9714
9715        document.addEventListener('click', window.hyva.modal.eventListeners.click);
9716    })();
9717</script>
vendor: 1 bytes, line 9717
9717
9718<script>
9719    'use strict';
9720
9721    (() => {
9722        const equalizeButtonWidths = (buttons) => {
9723            const buttonList = buttons.querySelectorAll('[data-element="link"], [data-element="empty_link"]');
9724            let buttonMinWidth = 0;
9725
9726            buttonList.forEach(button => {
9727                const buttonWidth = button.offsetWidth;
9728
9729                if (buttonWidth > buttonMinWidth) {
9730                    buttonMinWidth = buttonWidth;
9731                }
9732            });
9733
9734            buttonList.forEach(button => {
9735                button.style.minWidth = `${buttonMinWidth}px`;
9736            });
9737        };
9738
9739        window.addEventListener('DOMContentLoaded', () => {
9740            document.querySelectorAll('[data-content-type="buttons"][data-same-width="true"]').forEach(buttons => {
9741                equalizeButtonWidths(buttons);
9742            });
9743        });
9744    })();
9745</script>
vendor: 1 bytes, line 9745
9745
9746<script>
9747    'use strict';
9748
9749    (() => {
9750        const initCarousels = (elements) => {
9751            if (!Glider) {
9752                return;
9753            }
9754
9755            const initProductCarousel = (carousel) => {
9756                const gliderElement = carousel.querySelector('[data-role="glider-content"]');
9757
9758                if (!gliderElement) {
9759                    return;
9760                }
9761
9762                const gliderDots = carousel.querySelector('.glider-dots');
9763                const gliderPrev = carousel.querySelector('.glider-prev');
9764                const gliderNext = carousel.querySelector('.glider-next');
9765
9766                const glider = new Glider(gliderElement, {
9767                    slidesToShow: 1.2,
9768                    slidesToScroll: 2,
9769                    scrollLock: true,
9770                    draggable: true,
9771                    dragVelocity: 2.5,
9772                    dots: gliderDots,
9773                    arrows: {
9774                        prev: gliderPrev,
9775                        next: gliderNext,
9776                    },
9777                    responsive: [
9778                        {
9779                            breakpoint: 768,
9780                            settings: {
9781                                slidesToShow: 3,
9782                                slidesToScroll: 3,
9783                            }
9784                        },
9785                        {
9786                            breakpoint: 1024,
9787                            settings: {
9788                                slidesToShow: 4,
9789                                slidesToScroll: 4,
9790                            }
9791                        },
9792                        {
9793                            breakpoint: 1200,
9794                            settings: {
9795                                slidesToShow: 5,
9796                                slidesToScroll: 5,
9797                            }
9798                        }
9799                    ],
9800                });
9801
9802                carousel.classList.remove('overflow-x-scroll');
9803                gliderPrev.classList.remove('hidden');
9804                gliderNext.classList.remove('hidden');
9805
9806                if (carousel.dataset.autoplay !== 'false') {
9807                    gliderAutoplay(
9808                        glider,
9809                        carousel.dataset.autoplaySpeed,
9810                        carousel.dataset.infiniteLoop
9811                    );
9812                }
9813            };
9814
9815            const initSliderCarousel = (slider) => {
9816                slider.innerHTML = `<div data-role="glider-content">${slider.innerHTML}</div>`;
9817                slider.classList.add('glider-contain');
9818
9819                slider.insertAdjacentHTML(
9820                    'beforeend',
9821                    '\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
9821003D\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
9821003D\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'
9822                );
9823
9824                const gliderElement = slider.querySelector('[data-role="glider-content"]');
9825                const gliderDots = slider.querySelector('.glider-dots');
9826                const gliderPrev = slider.querySelector('.glider-prev');
9827                const gliderNext = slider.querySelector('.glider-next');
9828
9829                const glider = new Glider(gliderElement, {
9830                    slidesToShow: 1,
9831                    slidesToScroll: 1,
9832                    scrollLock: true,
9833                    scrollLockDelay: 250,
9834                    draggable: true,
9835                    dragVelocity: 2.5,
9836                    dots: gliderDots,
9837                    arrows: {
9838                        prev: gliderPrev,
9839                        next: gliderNext,
9840                    },
9841                });
9842
9843                slider.classList.add('glider-initialized');
9844                if (slider.dataset.showArrows === 'true') {
9845                    gliderPrev.classList.remove('hidden');
9846                    gliderNext.classList.remove('hidden');
9847                }
9848
9849                if (slider.dataset.autoplay !== 'false') {
9850                    gliderAutoplay(
9851                        glider,
9852                        slider.dataset.autoplaySpeed,
9853                        slider.dataset.infiniteLoop
9854                    );
9855                }
9856            };
9857
9858            const gliderAutoplay = (glider, milliseconds, loop) => {
9859                const pagesCount = glider.track.childElementCount;
9860                let slideTimeout = null;
9861                let nextIndex = 1;
9862                let paused = false;
9863
9864                const slide = () => {
9865                    slideTimeout = setTimeout(
9866                        () => {
9867                            if (loop && nextIndex >= pagesCount) {
9868                                nextIndex = 0;
9869                            }
9870                            glider.scrollItem(nextIndex);
9871                        },
9872                        parseInt(milliseconds)
9873                    );
9874                };
9875
9876                glider.ele.addEventListener('glider-animated', () => {
9877                    nextIndex = glider.slide + glider.opt.slidesToScroll;
9878                    window.clearInterval(slideTimeout);
9879                    if (!paused && (loop || nextIndex < pagesCount)) {
9880                        slide();
9881                    }
9882                });
9883
9884                const pause = () => {
9885                    if (!paused) {
9886                        clearInterval(slideTimeout);
9887                        paused = true;
9888                    }
9889                };
9890
9891                const unpause = () => {
9892                    if (paused) {
9893                        slide();
9894                        paused = false;
9895                    }
9896                };
9897
9898                glider.ele.parentElement.addEventListener('mouseover', pause, {passive: true});
9899                glider.ele.parentElement.addEventListener('touchstart', pause, {passive: true});
9900                glider.ele.parentElement.addEventListener('mouseout', unpause, {passive: true});
9901                glider.ele.parentElement.addEventListener('touchend', unpause, {passive: true});
9902
9903                slide();
9904            };
9905
9906            elements.forEach(element => {
9907                if (element.dataset.contentType === 'products') {
9908                    initProductCarousel(element);
9909                }
9910                if (element.dataset.contentType === 'slider') {
9911                    initSliderCarousel(element);
9912                }
9913            });
9914        };
9915
9916        window.addEventListener('DOMContentLoaded', () => {
9917            const carouselElements = document.querySelectorAll(
9918                `[data-content-type="products"][data-appearance="carousel"],
9919                [data-content-type="slider"]`
9920            );
9921
9922            if (carouselElements.length > 0) {
9923                const script = document.createElement('script');
9924                script.type = 'text/javascript';
9925
9926                script.addEventListener('load', () => {
9927                    initCarousels(carouselElements);
9928                });
9929
9930                window.addEventListener('init-external-scripts', () => {
9931                    script.src = 'https\u003A\u002F\u002Fwww.flooringinc.com\u002Fstatic\u002Fversion1789462004\u002Ffrontend\u002FDcw\u002Fhyvadesktop\u002Fen_US\u002FMagento_PageBuilder\u002Fjs\u002Fglider.min.js';
9932                }, {once: true, passive: true});
9933                document.head.appendChild(script);
9934            }
9935        });
9936    })();
9937</script>
vendor: 1 bytes, line 9937
9937
9938<script>
9939    'use strict';
9940
9941    (() => {
9942        const initMaps = (elements) => {
9943            const renderMap = (element) => {
9944                const dataLocations = element.dataset.locations;
9945
9946                // Hide map if no locations set
9947                if (!dataLocations || dataLocations === '[]') {
9948                    element.classList.add('hidden');
9949                    return;
9950                }
9951
9952                const map = new google.maps.Map(
9953                    element,
9954                    getMapOptions(
9955                        element.dataset.showControls !== 'true',
9956                        element.dataset.showControls === 'true'
9957                    )
9958                );
9959                const locations = JSON.parse(dataLocations);
9960                const latitudeLongitudeBounds = new google.maps.LatLngBounds();
9961                const bounds = [];
9962
9963                locations.forEach(location => {
9964                    const position = {
9965                        lat: parseFloat(location.position.latitude),
9966                        lng: parseFloat(location.position.longitude),
9967                    };
9968                    bounds.push(position);
9969
9970                    const infowindow = new google.maps.InfoWindow({
9971                        content: getInfoWindowContent(location),
9972                    });
9973                    const marker = new google.maps.Marker({
9974                        position: position,
9975                        map,
9976                        title: location.location_name,
9977                    });
9978
9979                    marker.addListener('click', () => {
9980                        infowindow.open(map, marker);
9981                    });
9982                });
9983
9984                // Set bounds if multiple locations
9985                if (bounds.length > 1) {
9986                    bounds.forEach(function (bound) {
9987                        latitudeLongitudeBounds.extend(bound);
9988                    });
9989                    map.fitBounds(latitudeLongitudeBounds);
9990                }
9991
9992                // Center if single location
9993                if (bounds.length === 1) {
9994                    map.setCenter(bounds[0]);
9995                }
9996            };
9997
9998            const getMapOptions = (disableDefaultUI, mapTypeControl) => {
9999                const style = '';
10000                return {
10001                    zoom: 8,
10002                    scrollwheel: false,
10003                    disableDoubleClickZoom: false,
10004                    mapTypeControlOptions: {
10005                        style: google.maps.MapTypeControlStyle.DEFAULT,
10006                    },
10007                    styles: style ? JSON.parse(style) : [],
10008                    disableDefaultUI: disableDefaultUI,
10009                    mapTypeControl: mapTypeControl,
10010                };
10011            };
10012
10013            const getInfoWindowContent = (location) => {
10014                const title = location.location_name ?
10015                    `<h3 class="text-2xl font-medium text-gray-900 title-font">${location.location_name}</h3>` : '';
10016                const comment = location.comment ? `<p class="px-1 pt-3 text-primary">${location.comment}</p>` : '';
10017                const phone = location.phone ? `<p class="px-1 pt-3 text-primary">Phone: ${location.phone}</p>` : '';
10018                const street = location.address ? `${location.address}<br/>` : '';
10019                const city = location.city ? `${location.city}<br/>` : '';
10020                const state = location.state ? `${location.state}<br/>` : '';
10021                const zipCode = location.zipcode ? `${location.zipcode}<br/>` : '';
10022                const country = location.country ? location.country : '';
10023
10024                return `<div>
10025                            ${title}
10026                            ${comment}
10027                            ${phone}
10028                            <p class="px-1 pt-3 text-primary">
10029                                ${street}
10030                                ${city}
10031                                ${state}
10032                                ${zipCode}
10033                                ${country}
10034                            </p>
10035                        </div>`;
10036            };
10037
10038            const hideAllMaps = () => {
10039                document.querySelectorAll('[data-content-type="map"]').forEach(element => {
10040                    element.classList.add('hidden');
10041                });
10042            };
10043
10044            window.gm_authFailure = () => {
10045                hideAllMaps();
10046            };
10047
10048            if (typeof google.maps === 'undefined') {
10049                hideAllMaps();
10050                return;
10051            }
10052
10053            elements.forEach(element => {
10054                if (element.dataset.contentType === 'map') {
10055                    renderMap(element);
10056                }
10057            });
10058        };
10059
10060        window.addEventListener('DOMContentLoaded', () => {
10061            const mapElements = document.querySelectorAll('[data-content-type="map"]');
10062
10063            if (mapElements.length > 0) {
10064                const script = document.createElement('script');
10065                script.type = 'text/javascript';
10066
10067                script.addEventListener('load', () => {
10068                    initMaps(mapElements);
10069                });
10070
10071                script.src = 'https\u003A\u002F\u002Fmaps.googleapis.com\u002Fmaps\u002Fapi\u002Fjs\u003Fv\u003D3\u0026key\u003D';
10072                document.head.appendChild(script);
10073            }
10074        });
10075    })();
10076</script>
vendor: 1 bytes, line 10076
10076
10077<script>
10078    'use strict';
10079
10080    (() => {
10081        const initParallaxImage = (element) => {
10082            if (!window.jarallax) {
10083                return;
10084            }
10085
10086            element.classList.add('jarallax');
10087            element.dataset.jarallax = '';
10088            const parallaxSpeed = parseFloat(element.dataset.parallaxSpeed) || 0.5;
10089            const elementStyle = window.getComputedStyle(element);
10090
10091            window.jarallax(element, {
10092                imgPosition: elementStyle.backgroundPosition || '50% 50%',
10093                imgRepeat: elementStyle.backgroundRepeat || 'no-repeat',
10094                imgSize: elementStyle.backgroundSize || 'cover',
10095                speed: parallaxSpeed,
10096            });
10097        };
10098
10099        const initVideoBackground = (element) => {
10100            if (!window.jarallax) {
10101                return;
10102            }
10103
10104            let slider = null;
10105
10106            if (element.classList.contains('pagebuilder-slide-wrapper')) {
10107                const viewportElement = document.createElement('div');
10108                slider = element.closest('[data-content-type=slider]');
10109                viewportElement.classList.add('jarallax-viewport-element');
10110                element.dataset.elementInViewport = '.jarallax-viewport-element';
10111                element.appendChild(viewportElement);
10112            }
10113
10114            element.classList.add('jarallax');
10115            element.dataset.jarallax = '';
10116            const parallaxSpeed = parseFloat(element.dataset.parallaxSpeed) || 0.5;
10117
10118            window.jarallax(element, {
10119                imgSrc: element.dataset.videoFallbackSrc,
10120                speed: parallaxSpeed,
10121                videoLoop: element.dataset.videoLoop,
10122                videoPlayOnlyVisible: element.dataset.videoPlayOnlyVisible,
10123                videoLazyLoading: element.dataset.videoLazyLoad,
10124                disableVideo: false,
10125                elementInViewport: element.dataset.elementInViewport &&
10126                    element.querySelector(element.dataset.elementInViewport),
10127            });
10128
10129            if (slider) {
10130                if (slider.dataset.afterChangeIsSet) {
10131                    return;
10132                }
10133
10134                slider.addEventListener('glider-loaded', () => {
10135                    slider.querySelectorAll('.jarallax').forEach(videoSlide => {
10136                        videoSlide.jarallax && videoSlide.jarallax.onScroll();
10137                    });
10138                });
10139
10140                slider.addEventListener('glider-animated', () => {
10141                    slider.querySelectorAll('.jarallax').forEach(videoSlide => {
10142                        videoSlide.jarallax && videoSlide.jarallax.onScroll();
10143                    });
10144                });
10145
10146                slider.dataset.afterChangeIsSet = true;
10147            }
10148        };
10149
10150        window.addEventListener('DOMContentLoaded', () => {
10151            const parallaxImageElements = document.querySelectorAll(
10152                `[data-content-type="row"][data-background-type="image"][data-enable-parallax="1"],
10153                [data-content-type="row"] > [data-background-type="image"][data-enable-parallax="1"]`
10154            );
10155
10156            const videoBackgroundsElements = document.querySelectorAll(
10157                `[data-content-type="row"][data-background-type="video"][data-enable-parallax="1"],
10158                [data-content-type="row"] > [data-background-type="video"][data-enable-parallax="1"],
10159                [data-content-type="banner"] [data-background-type="video"],
10160                [data-content-type="slide"] [data-background-type="video"]`
10161            );
10162
10163            if (parallaxImageElements.length > 0 || videoBackgroundsElements.length > 0) {
10164                const jarallaxScript = document.createElement('script');
10165                jarallaxScript.type = 'text/javascript';
10166
10167                jarallaxScript.addEventListener('load', () => {
10168                    parallaxImageElements.forEach(row => {
10169                        initParallaxImage(row);
10170                    });
10171
10172                    const jarallaxVideoScript = document.createElement('script');
10173                    jarallaxVideoScript.type = 'text/javascript';
10174
10175                    jarallaxVideoScript.addEventListener('load', () => {
10176                        videoBackgroundsElements.forEach(element => {
10177                            initVideoBackground(element);
10178                        });
10179                    });
10180
10181                    jarallaxVideoScript.src = 'https\u003A\u002F\u002Fwww.flooringinc.com\u002Fstatic\u002Fversion1789462004\u002Ffrontend\u002FDcw\u002Fhyvadesktop\u002Fen_US\u002FMagento_PageBuilder\u002Fjs\u002Fjarallax\u002Dvideo.min.js';
10182                    document.head.appendChild(jarallaxVideoScript);
10183                });
10184
10185                jarallaxScript.src = 'https\u003A\u002F\u002Fwww.flooringinc.com\u002Fstatic\u002Fversion1789462004\u002Ffrontend\u002FDcw\u002Fhyvadesktop\u002Fen_US\u002FMagento_PageBuilder\u002Fjs\u002Fjarallax.min.js';
10186                document.head.appendChild(jarallaxScript);
10187            }
10188        });
10189    })();
10190</script>
vendor: 1 bytes, line 10190
10190
10191<script>
10192    'use strict';
10193
10194    (() => {
10195        const applyShowOnHover = (element) => {
10196            const showOverlayOnHover = (element) => {
10197                const overlay = element.querySelector('.pagebuilder-overlay');
10198                const color = overlay.dataset.overlayColor;
10199
10200                element.addEventListener('mouseover', () => {
10201                    overlay.style.backgroundColor = color;
10202                });
10203                element.addEventListener('mouseout', () => {
10204                    overlay.style.backgroundColor = 'transparent';
10205                });
10206            };
10207
10208            const showButtonOnHover = (element) => {
10209                const button = element.querySelector('.pagebuilder-banner-button');
10210
10211                element.addEventListener('mouseover', () => {
10212                    button.style.opacity = '1';
10213                    button.style.visibility = 'visible';
10214                });
10215                element.addEventListener('mouseout', () => {
10216                    button.style.opacity = '0';
10217                    button.style.visibility = 'hidden';
10218                });
10219            };
10220
10221            if (element.dataset.showOverlay === 'hover') {
10222                showOverlayOnHover(element);
10223            }
10224            if (element.dataset.showButton === 'hover') {
10225                showButtonOnHover(element);
10226            }
10227        };
10228
10229        window.addEventListener('DOMContentLoaded', () => {
10230            document.querySelectorAll('[data-content-type="banner"],[data-content-type="slider"]').forEach(element => {
10231                applyShowOnHover(element);
10232            });
10233        });
10234    })();
10235</script>
vendor: 1 bytes, line 10235
10235
10236<script>
10237    'use strict';
10238
10239    (() => {
10240        document.querySelectorAll('[data-content-type="tab-item"]').forEach(tabItem => {
10241            tabItem.setAttribute('x-show', `tab === '${tabItem.id}'`);
10242        });
10243
10244        document.querySelectorAll('[data-content-type="tabs"]').forEach(tab => {
10245            const defaultActiveTab = parseInt(tab.dataset.activeTab) || 0;
10246
10247            tab.querySelectorAll('.tab-header').forEach((tabHeader, index) => {
10248                const tabLink = tabHeader.querySelector('a');
10249                const tabId = tabLink.getAttribute('href').replace('#', '');
10250
10251                tabHeader.setAttribute(':class', `{ 'active': tab === '${tabId}' }`);
10252                tabLink.setAttribute('x-on:click.prevent', `tab = '${tabId}'`);
10253
10254                if (index === defaultActiveTab) {
10255                    tab.setAttribute('x-data', `{ tab: '${tabId}' }`);
10256                }
10257            });
10258        });
10259    })();
10260</script>
vendor: 1 bytes, line 10260
10260
10261<script>
10262    'use strict';
10263
10264    const grecaptchaV2LoadCallbacks = [];
10265
10266    function executeRecaptchaLoadCallbacks () {
10267        while (window.grecaptcha && grecaptchaV2LoadCallbacks.length > 0) {
10268            const callback = grecaptchaV2LoadCallbacks.pop();
10269            typeof callback === 'string' ? window[callback]() : callback();
10270        }
10271    }
10272
10273    (function() {
10274        const loadRecaptchaScript = (event) => {
10275
10276            if (window.grecaptcha || !event.target.form) {
10277                return;
10278            }
10279
10280            const url = 'https://www.google.com/recaptcha/api.js?onload=executeRecaptchaLoadCallbacks';
10281            const siteKey = '6LdQFsgqAAAAAFaiT_SQ7C9UmCcxWxpMd6pIMAEO';
10282            const script = document.createElement('script');
10283            script.type = 'text/javascript';
10284            script.src = siteKey ? `${url}&render=${siteKey}` : `${url}&render=explicit`;
10285            script.async = true;
10286            document.head.appendChild(script);
10287
10288            script.addEventListener('load', () => {
10289                Array.from(document.querySelectorAll('button[data-recaptcha-btn]:disabled')).forEach(btn => btn.removeAttribute('disabled'));
10290            });
10291        }
10292
10293        window.forceLoadRecaptchaScript = (form) => {
10294            loadRecaptchaScript({target: {form: form || 'dummy'}});
10295            executeRecaptchaLoadCallbacks();
10296        };
10297
10298        document.body.addEventListener('input', loadRecaptchaScript, { once: true });
10299        document.body.addEventListener('focus', loadRecaptchaScript, { once: true });
10300
10301    }());
10302
10303</script>
vendor: 1 bytes, line 10303
10303
10304<script>
10305    window.addEventListener("scroll", function() {
10306        var header = document.querySelector('header.page-header');
10307        var body = document.querySelector("body");
10308        const header_top = document.querySelector('.header_top');
10309        const notification4 = document.querySelector('.notification4');
10310        var top_1 = document.querySelector("header.page-header > .panel.wrapper");
10311        var content = document.getElementById("textContent");
10312
10313
10314        if(header_top && notification4){
10315            if ((header_top.textContent.length > 10) && (notification4.textContent.length > 10)) {
10316                if (window.pageYOffset > 76) {
10317                    //document.querySelector("#header").style.cssText = "position:fixed;left:0;top:0;width:100%;transition: all ease-in-out 0.5s";
10318                    //document.querySelector(".page-wrapper").style.cssText = "padding-top:112px";
10319                    document.querySelector('body').classList.add('sticki');
10320                } else {
10321                    //document.querySelector("#header").style.cssText = "position:static;transition: all ease-in-out 0.5s";
10322                    //document.querySelector(".page-wrapper").style.cssText = "padding-top:0px";
10323                    document.querySelector('body').classList.remove('sticki');
10324                }
10325            }
10326        }
10327
10328        if(header_top && notification4){
10329            if ((header_top.textContent.length > 10) && (notification4.textContent.length < 10)) {
10330                if (window.pageYOffset > 36) {
10331                    //document.querySelector("#header").style.cssText = "position:fixed;left:0;top:0;width:100%;transition: all ease-in-out 0.5s";
10332                    //document.querySelector(".page-wrapper").style.cssText = "padding-top:112px";
10333                    document.querySelector('body').classList.add('sticki');
10334                } else {
10335                    //document.querySelector("#header").style.cssText = "position:static;transition: all ease-in-out 0.5s";
10336                    //document.querySelector(".page-wrapper").style.cssText = "padding-top:0px";
10337                    document.querySelector('body').classList.remove('sticki');
10338                }
10339            }
10340        }
10341
10342        if(header_top && !notification4){
10343            if (header_top.textContent.length > 10) {
10344                if (window.pageYOffset > 36) {
10345                    //document.querySelector("#header").style.cssText = "position:fixed;left:0;top:0;width:100%;transition: all ease-in-out 0.5s";
10346                    //document.querySelector(".page-wrapper").style.cssText = "padding-top:112px";
10347                    document.querySelector('body').classList.add('sticki');
10348                } else {
10349                    //document.querySelector("#header").style.cssText = "position:static;transition: all ease-in-out 0.5s";
10350                    //document.querySelector(".page-wrapper").style.cssText = "padding-top:0px";
10351                    document.querySelector('body').classList.remove('sticki');
10352                }
10353            }
10354        }
10355    });
10356
10357    window.addEventListener("DOMContentLoaded", function() {
10358        window.addEventListener("scroll", function() {
10359            // scroll for plp content sticky
10360            anchor_scroll();
10361        });
10362        function anchor_scroll() {
10363            var anchor_scroll = document.querySelector('.anchor-scroll');
10364            if (!anchor_scroll) {
10365                return; // Exit if the element is not found
10366            }
10367            let sticky = anchor_scroll.offsetTop;
10368
10369            if (window.pageYOffset > sticky) {
10370                anchor_scroll.classList.add("scroll-fixed");
10371            } else {
10372                anchor_scroll.classList.remove("scroll-fixed");
10373            }
10374        }
10375
10376        document.querySelectorAll('.anchor-scroll a[href^="."], .at-glance-content a[href^="."]').forEach(anchor => {
10377            anchor.addEventListener('click', function (e) {
10378                e.preventDefault();
10379
10380                const targetClass = this.getAttribute('href').substring(1);
10381                const targetElement = document.querySelector(`.${targetClass}`);
10382                let anchor_scroll = document.querySelector('.anchor-scroll > div');
10383                var header_off = document.querySelector('#header').offsetHeight;
10384                if (anchor_scroll) {
10385                    var header_off = document.querySelector('#header').offsetHeight + anchor_scroll.offsetHeight;
10386                } else {
10387                    var header_off = document.querySelector('#header').offsetHeight;
10388                }
10389
10390                if (targetElement) {
10391                    const offset = header_off;
10392                    const bodyRect = document.body.getBoundingClientRect().top;
10393                    const elementRect = targetElement.getBoundingClientRect().top;
10394                    const elementPosition = elementRect - bodyRect;
10395                    const offsetPosition = elementPosition - offset;
10396
10397                    window.scrollTo({
10398                        top: offsetPosition,
10399                        behavior: 'smooth'
10400                    });
10401                }
10402            });
10403        });
10404    });
10405</script>
10405
10406
10407    <section x-cloak x-data="{isLoading: false}"
10408             @amcaptcha-loading-start.window="isLoading = true" @amcaptcha-loading-stop.window="isLoading = false">
10409        <div class="flex flex-row justify-center items-center w-full h-full fixed select-none z-50"
10410     style="left: 50%;top: 50%;transform: translateX(-50%) translateY(-50%);background: rgba(255,255,255,0.7);"
10411     x-show="isLoading"
10412     x-transition:enter="ease-out duration-200"
10413     x-transition:enter-start="opacity-0"
10414     x-transition:enter-end="opacity-100"
10415     x-transition:leave="ease-in duration-200"
10416     x-transition:leave-start="opacity-100"
10417     x-transition:leave-end="opacity-0">
10418    <!-- By Sam Herbert (@sherb), for everyone. More @ http://goo.gl/7AJzbL -->
10419<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 57 57" stroke="currentColor" class="text-primary" width="57" height="57" role="img">
10420    <g fill="none" fill-rule="evenodd">
10421        <g transform="translate(1 1)" stroke-width="2">
10422            <circle cx="5" cy="50" r="5">
10423                <animate attributeName="cy" begin="0s" dur="2.2s" values="50;5;50;50" calcMode="linear" repeatCount="indefinite"/>
10424                <animate attributeName="cx" begin="0s" dur="2.2s" values="5;27;49;5" calcMode="linear" repeatCount="indefinite"/>
10425            </circle>
10426            <circle cx="27" cy="5" r="5">
10427                <animate attributeName="cy" begin="0s" dur="2.2s" from="5" to="5" values="5;50;50;5" calcMode="linear" repeatCount="indefinite"/>
10428                <animate attributeName="cx" begin="0s" dur="2.2s" from="27" to="27" values="27;49;5;27" calcMode="linear" repeatCount="indefinite"/>
10429            </circle>
10430            <circle cx="49" cy="50" r="5">
10431                <animate attributeName="cy" begin="0s" dur="2.2s" values="50;50;5;50" calcMode="linear" repeatCount="indefinite"/>
10432                <animate attributeName="cx" from="49" to="49" begin="0s" dur="2.2s" values="49;5;27;49" calcMode="linear" repeatCount="indefinite"/>
10433            </circle>
10434        </g>
10435    </g>
10436<title>loader</title></svg>
10437    <div class="ml-10 text-primary text-xl">
10438        Loading...    </div>
10439</div>
10440    </section>
10441
10442<script>
10443    'use strict';
10444
10445    function responseSerialize(response) {
10446        if (response.redirected) {
10447            window.location.href = response.url;
10448        } else if (response.ok) {
10449            return response.json();
10450        } else {
10451            // Check if result is Promise then throw to new Error
10452            let defaultErrMsg = 'Something went wrong. Please contact the website admin for more information.',
10453                result;
10454            result = response.text();
10455            if (typeof result?.then === 'function') {
10456                result.then(res => {
10457                    let errorMessage;
10458                    try {
10459                        errorMessage = JSON.parse(res);
10460                        errorMessage = errorMessage?.message ? errorMessage.message : defaultErrMsg;
10461                    } catch (e) {
10462                        errorMessage = defaultErrMsg;
10463                    }
10464                    window.dispatchMessages([
10465                        {
10466                            type: 'error',
10467                            text: errorMessage
10468                        }
10469                    ], 3000);
10470                });
10471            } else {
10472                throw new Error(defaultErrMsg);
10473            }
10474        }
10475    }
10476
10477    if (typeof window.buildRestAPIUrl !== 'function') {
10478        window.buildRestAPIUrl = function (url, params = {}) {
10479            const method = 'rest',
10480                storeCode = 'default',
10481                version = 'V1',
10482                serviceUrl = ':method/:storeCode/:version';
10483
10484            let urlParts;
10485
10486            params.method = method;
10487            params.storeCode = storeCode;
10488            params.version = version;
10489
10490            url = serviceUrl + url;
10491
10492            urlParts = url.split('/');
10493            urlParts = urlParts.filter(Boolean);
10494
10495            Object.entries(urlParts).forEach (entry => {
10496                let [key, part] = entry;
10497                part = part.replace(':', '');
10498
10499                if (params[part] !== undefined) {
10500                    urlParts[key] = params[part];
10501                }
10502            });
10503
10504            return urlParts.join('/');
10505        }
10506    }
10507
10508    if (typeof window.isObjectEmpty !== 'function') {
10509        window.isObjectEmpty = function (obj) {
10510            return (
10511                Object.prototype.toString.call(obj) === '[object Object]' &&
10512                JSON.stringify(obj) === '{}'
10513            );
10514        }
10515    }
10516
10517    if (typeof window.mergeDeep !== 'function') {
10518        /**
10519         * Deep merge two objects.
10520         *
10521         * @param target
10522         * @param sources
10523         * @returns {*}
10524         */
10525        window.mergeDeep = (target, ...sources) => {
10526            /**
10527             * Simple object check.
10528             *
10529             * @param item
10530             * @returns {boolean}
10531             */
10532            const isObject = (item) => {
10533                return (item && typeof item === 'object' && !Array.isArray(item));
10534            };
10535
10536            if (!sources.length) return target;
10537            const source = sources.shift();
10538
10539            if (isObject(target) && isObject(source)) {
10540                for (const key in source) {
10541                    if (isObject(source[key])) {
10542                        if (!target[key]) Object.assign(target, { [key]: {} });
10543                        mergeDeep(target[key], source[key]);
10544                    } else {
10545                        Object.assign(target, { [key]: source[key] });
10546                    }
10547                }
10548            }
10549
10550            return mergeDeep(target, ...sources);
10551        }
10552    }
10553</script>
10553
10554
10555<div x-data="{...hyva.modal(), ...initAmcartDialogPopup()}"
10556     x-init="initDialogPopup($dispatch)"
10557     x-spread="eventListeners"
10558     x-bind="eventListeners">
10559    <div x-cloak x-spread="overlay('amcart-dialog-popup')" x-bind="overlay('amcart-dialog-popup')"
10560         class="fixed inset-0 flex items-center justify-center text-left bg-black bg-opacity-50 z-30">
10561        <div x-ref="amcart-dialog-popup" role="dialog" aria-labelledby="amcart-dialog-popup-content"
10562             class="flex flex-col max-h-screen max-w-4xl overflow-auto bg-amcart-background shadow-xl rounded-lg p-4">
10563            <div class="flex justify-between pb-4 border-b">
10564                <div x-text="title" class="text-2xl font-extrabold text-amcart-text"></div>
10565                <button @click="$dispatch('amcart-close-dialog-popup')"
10566                        aria-label="Close"
10567                        class="text-gray-300 transition hover:text-black hover:drop-shadow-md">
10568                    <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">
10569  <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"/>
10570<title>x</title></svg>
10571                </button>
10572            </div>
10573            <div id="amcart-dialog-popup-content" class="amcart-dialog-popup-content"></div>
10574            <div class="flex flex-row pt-3 border-t">
10575                <template x-for="(button, index) in buttons" :key="index">
10576                    <button class="btn mr-4 last:mr-0 text-amcart-button hover:brightness-105 hover:shadow-lg"
10577                            :class="{
10578                                'bg-amcart-continue-btn hover:bg-amcart-continue-btn': index === 0,
10579                                'bg-amcart-view-cart-btn hover:bg-amcart-view-cart-btn': index === 1
10580                            }"
10581                            :aria-label="button.name"
10582                            x-html="button.name"
10583                            @click="dispatchButtonAction(button.action.name, button.action.payload)"></button>
10584                </template>
10585            </div>
10586        </div>
10587    </div>
10588</div>
10589
10590<script>
10591    'use strict';
10592
10593    function initAmcartDialogPopup() {
10594        const dialogPopupName = 'amcart-dialog-popup';
10595        const selectors = {
10596            addToCartForm: '.amcart-product-info #amcart_product_addtocart_form',
10597            ratingSummarySelector: '.amcart-product-info .rating-summary'
10598        }
10599
10600        return {
10601            eventListeners: {
10602                ['@amcart-open-dialog-popup.window']({detail: popupData}) {
10603                    // Close any existing modal before opening
10604                    window.hyva.modal.pop();
10605
10606                    this.initPopupWithData(popupData);
10607                    this.$nextTick(() => {
10608                        this.show(dialogPopupName);
10609                    });
10610                },
10611                ['@amcart-close-dialog-popup']() {
10612                    this.hide(dialogPopupName);
10613                },
10614                ['@amcart-dialog-submit']({ detail: actionToDispatch }) {
10615                    const form = document.querySelector(selectors.addToCartForm);
10616
10617                    if (form.checkValidity()) {
10618                        this.dispatch(actionToDispatch, form);
10619                        this.hide(dialogPopupName);
10620                    } else {
10621                        form.reportValidity();
10622                    }
10623                },
10624                ['@amcart-hide-popup']() {
10625                    this.hide(dialogPopupName);
10626                }
10627            },
10628            title: '',
10629            buttons: [],
10630            message: '',
10631            selected_options: null,
10632            dispatch: null,
10633
10634            /**
10635             * @param {Object} $dispatch
10636             * @return {void}
10637             */
10638            initDialogPopup: function ($dispatch) {
10639                this.dispatch = $dispatch;
10640            },
10641
10642            /**
10643             * @param {CartResponse} popupData
10644             * @return {void}
10645             */
10646            initPopupWithData: function (popupData) {
10647                this.title = popupData.title;
10648                this.buttons = popupData.buttons;
10649                this.selected_options = popupData.selected_options;
10650                hyva.replaceDomElement('#amcart-dialog-popup-content', this.preprocessMessage(popupData.message));
10651                this.$nextTick(() => {
10652                    this.postProcessPopupContent();
10653                });
10654            },
10655
10656            /**
10657             * @param {string} message
10658             * @return {string}
10659             */
10660            preprocessMessage: function (message) {
10661                /**
10662                 * Disable labels for input inside popup due to the possibility of their duplication on the page.
10663                 * Because this can lead to unexpected behaviour.
10664                 *
10665                 * Make form id unique for popup
10666                 */
10667                return message
10668                    .replaceAll(':for=', 'for-data=')
10669                    .replaceAll('product_addtocart_form', 'amcart_product_addtocart_form');
10670            },
10671
10672            /**
10673             * @return {void}
10674             */
10675            postProcessPopupContent: function () {
10676                this.disableRatingSummary();
10677                this.clickSelectedOptions();
10678            },
10679
10680            /**
10681             * @return {void}
10682             */
10683            disableRatingSummary: function () {
10684                const ratingSummaryElement = document.querySelector(selectors.ratingSummarySelector);
10685
10686                if (!!ratingSummaryElement) {
10687                    ratingSummaryElement.removeAttribute('onClick');
10688                    ratingSummaryElement.classList.remove('cursor-pointer');
10689                }
10690            },
10691
10692            /**
10693             * @return {void}
10694             */
10695            clickSelectedOptions: function () {
10696                if (!this.selected_options) {
10697                    return;
10698                }
10699
10700                for(const [attributeId, attributeValue] of Object.entries(this.selected_options)) {
10701                    const swatchOptionTemplate =  document.querySelector(
10702                        `.amcart-product-info template[x-for*="attributes[${attributeId}]"]`
10703                    );
10704
10705                    if (!!swatchOptionTemplate && !!swatchOptionTemplate.parentElement) {
10706                        const swatchInput = swatchOptionTemplate.parentElement
10707                            .querySelector(`input[value="${attributeValue}"]`);
10708                        swatchInput && swatchInput.click();
10709                    }
10710                }
10711            },
10712
10713            /**
10714             * @param {string} name
10715             * @param {string|undefined} payload
10716             * @return {void}
10717             */
10718            dispatchButtonAction: function (name, payload) {
10719                this.dispatch(name, payload);
10720            }
10721        };
10722    }
10723</script>
10723
10724
10725<script>
10726    (function () {
10727        'use strict';
10728
10729        const addToCartProductListFormSelector = '.product_addtocart_form';
10730        const addToCartProductPageFormSelector = '#product_addtocart_form';
10731        const setFormsEvent = function () {
10732            const productListForms = document.querySelectorAll(addToCartProductListFormSelector);
10733            const productPageForm = document.querySelector(addToCartProductPageFormSelector);
10734
10735            productPageForm && addDispatcher(productPageForm);
10736            productListForms.forEach((form) => {
10737                // disable html5 validation
10738                form.setAttribute('novalidate', '');
10739                addDispatcher(form);
10740            });
10741        }
10742
10743        const addDispatcher = function(form) {
10744            form.removeAttribute('@submit');
10745            form.removeAttribute('@submit.prevent');
10746            form.setAttribute('x-data', '');
10747            form.setAttribute('x-on:submit.prevent', '$dispatch(\'amcart-add-to-cart-action\', $el)');
10748        }
10749
10750        setFormsEvent();
10751
10752        window.addEventListener('amcart-set-forms-event', setFormsEvent);
10753    })();
10754</script>
10754
10755
10756<script>
10757    (function () {
10758        'use strict';
10759
10760        /**
10761         * @typedef {Object} CartResponse
10762         *
10763         * Popup common props
10764         * @property {[
10765         *     name: string,
10766         *     action: {
10767         *         name: string,
10768         *         payload: string|undefined
10769         *     }
10770         * ]|undefined} buttons
10771         * @property {string|undefined} popup_action
10772         * @property {string|undefined} message
10773         * @property {string|undefined} title
10774         *
10775         * DialogPopup props
10776         * @property {string|null|undefined} selected_options
10777         *
10778         * ConfirmationPopup props
10779         * @property {string|undefined} align
10780         * @property {string|undefined} checkout
10781         * @property {string|undefined} product_id
10782         * @property {string|undefined} product_sku
10783         * @property {string|undefined} related
10784         * @property {number|undefined} timer
10785         *
10786         * Redirect props
10787         * @property {string|undefined} redirect url to redirect
10788         */
10789
10790        let globalActionName;
10791
10792        const addToCartAction = ({detail: form}) => {
10793            const isProductForm = form.id === 'product_addtocart_form';
10794
10795            globalActionName = getCartAction(form);
10796
10797            if (isProductForm) {
10798                window.dispatchEvent(new CustomEvent('amcart-trigger-grouped-form-validate'));
10799
10800                if (form.checkValidity()) {
10801                    performRequest(form, isProductForm);
10802                }
10803            } else {
10804                performRequest(form, isProductForm)
10805            }
10806        };
10807
10808        const performRequest = function (form, isProductForm) {
10809            const cartUrl = `${BASE_URL}amasty_cart/cart/${getCartAction(form)}`;
10810            const isProductPage = document.body.classList.contains('catalog-product-view');
10811            const headers = {
10812                'content-type': 'application/x-www-form-urlencoded; charset=UTF-8'
10813            };
10814            const formData = new FormData(form);
10815            formData.set('product_page', isProductPage && isProductForm);
10816            formData.set('last_category_id', hyva.getBrowserStorage().getItem('last_category_id'));
10817            formData.set('form_key', hyva.getFormKey());
10818            !formData.get('id') && formData.get('item') && formData.set('id', formData.get('item'));
10819
10820            const body = new URLSearchParams(formData);
10821
10822            window.dispatchEvent(new CustomEvent('amcart-loading-start'));
10823            window.dispatchEvent(new CustomEvent('amcart-add-start', { detail: form }));
10824
10825            fetch(cartUrl, {headers: {...headers}, body: body, method: 'POST'})
10826                .then(response => response.json())
10827                .then((result) => {
10828                    resultActionResolver.resolve(result);
10829                    const relatedProductDialog = document.querySelector('.related-product-dialog-wrapper');
10830                    const cartLink = document.getElementById('menu-cart-icon');
10831                    const isRelatedProductForm = form.closest('.related-products-pdp-section');
10832                    if (relatedProductDialog && !isRelatedProductForm) {
10833                        setTimeout(() => {
10834                            window.dispatchEvent(
10835                                new CustomEvent('hyva-modal-show', { detail: { dialog: 'related-product-slider-dialog' } })
10836                            );
10837                        }, 2000);
10838                    } else if (cartLink) {
10839                        cartLink.click();
10840                    }
10841                }).catch((error) => {
10842                    typeof window.dispatchMessages !== "undefined" && window.dispatchMessages(
10843                        [{
10844                            type: "error",
10845                            text: error
10846                        }], 5000
10847                    );
10848                }).finally(() => {
10849                    window.dispatchEvent(new CustomEvent('amcart-loading-stop'));
10850                });
10851        };
10852
10853        const getCartAction = function(formNode) {
10854            return formNode.action.includes('updateItemOptions')
10855                ? `UpdateItemOptions`
10856                : 'add';
10857        };
10858
10859        const resultActionResolver = {
10860            /**
10861             * @param {CartResponse} result
10862             */
10863            resolve: function (result) {
10864				
10865				if(typeof result.is_add_to_cart != "undefined"){
10866					var msg = result.message;
10867					/*if($($.parseHTML(result.message)).filter(".message.error").text()){
10868						msg =  $($.parseHTML(result.message)).filter(".message.error").text(); 
10869					}*/
10870
10871                    var parser = new DOMParser();
10872                    var doc = parser.parseFromString(result.message, 'text/html');
10873                    var errorMsg = doc.querySelector('.message.error') ? doc.querySelector('.message.error').textContent : '';
10874
10875                    if (errorMsg) {
10876                        msg = errorMsg;
10877                    }
10878
10879					window.dispatchMessages && window.dispatchMessages([{
10880                        type: 'error',
10881                        text: msg
10882                    }]);
10883					
10884				}
10885                switch (true) {
10886                    case !!result.popup_action:
10887                    var parser = new DOMParser();
10888                    var doc = parser.parseFromString(result.message, 'text/html');
10889                    var errorMsg = doc.querySelector('.message.error') ? doc.querySelector('.message.error').textContent : '';
10890                    if (errorMsg) {
10891                        msg = errorMsg;
10892                        window.dispatchMessages && window.dispatchMessages([{
10893                            type: 'error',
10894                            text: msg
10895                        }]);
10896                    } else {
10897                        window.dispatchEvent(new CustomEvent(result.popup_action, {detail: result}));
10898                        window.dispatchEvent(new CustomEvent('reload-customer-section-data'));
10899
10900                        if (globalActionName == 'UpdateItemOptions') {
10901                           window.location.href = `${BASE_URL}checkout/cart`;
10902                        }
10903                    }
10904                        break;
10905                    case !!result.redirect:
10906                        window.location.href = result.redirect;
10907                        break;
10908                }
10909            }
10910        }
10911
10912        if (document.body.classList.contains('catalog-category-view')) {
10913            hyva.getBrowserStorage().setItem(
10914                'last_category_id',
10915                ''
10916            );
10917        }
10918
10919        const groupedOptions = document.querySelector('div[x-data^=initGroupedOptions]');
10920
10921        if (!!groupedOptions) {
10922            groupedOptions.setAttribute('x-on:amcart-trigger-grouped-form-validate.window', 'validateForm()');
10923        }
10924
10925        window.addEventListener('amcart-add-to-cart-action', addToCartAction);
10926    })();
10927</script>
10927<script>
10928    (function () {
10929        'use strict';
10930
10931        const addToQuoteButtonSelector = '.amquote-addto-button:not(.amasty-quote-login):not(.amasty-quote-link)';
10932        document.querySelectorAll(addToQuoteButtonSelector).forEach((button) => {
10933            if (!button.hasAttribute('x-data')) {
10934                button.setAttribute('x-data', '');
10935            }
10936
10937            button.removeAttribute('@click.prevent');
10938            button.setAttribute(
10939                'x-on:click.prevent',
10940                '$dispatch(\'amcart-add-to-quote-action\', $el)');
10941        });
10942    })();
10943</script>
vendor: 1 bytes, line 10943
10943
10944<script>
10945    (function () {
10946        'use strict';
10947
10948        const addToQuoteAction = ({ detail: element }) => {
10949            const formNode = element.nodeName === 'FORM'
10950                ? element
10951                : element.form ?? element.closest('form');
10952
10953            window.dispatchEvent(new CustomEvent('amcart-trigger-grouped-form-validate'));
10954            if (!formNode || !formNode.checkValidity()) {
10955                return formNode?.reportValidity();
10956            }
10957
10958            performRequest(formNode);
10959        }
10960
10961        const performRequest = (formNode) => {
10962            const url = `${BASE_URL}amasty_cart/quote/${getAction(formNode)}`;
10963            const headers = {
10964                'content-type': 'application/x-www-form-urlencoded; charset=UTF-8'
10965            };
10966            const formData = new FormData(formNode);
10967            const isProductPage = formNode.id === 'product_addtocart_form'
10968                && document.body.classList.contains('catalog-product-view');
10969            formData.set('product_page', isProductPage);
10970            formData.set('last_category_id', hyva.getBrowserStorage().getItem('last_category_id'));
10971            formData.set('id', formData.get('item'));
10972
10973            window.dispatchEvent(new CustomEvent('amcart-loading-start'));
10974            window.dispatchEvent(new CustomEvent('amcart-add-start', { detail: formNode }));
10975
10976            fetch(url, { headers: { ...headers }, body: new URLSearchParams(formData), method: 'POST' })
10977                .then(response => response.json())
10978                .then((result) => {
10979                    switch (true) {
10980                        case !!result.popup_action:
10981                            window.dispatchEvent(new CustomEvent(result.popup_action, { detail: result }));
10982                            window.dispatchEvent(new CustomEvent('reload-customer-section-data'));
10983                            break;
10984                        case !!result.redirect:
10985                            window.location.href = result.redirect;
10986                            break;
10987                    }
10988                }).catch((error) => {
10989                    typeof window.dispatchMessages !== "undefined" && window.dispatchMessages(
10990                        [{
10991                            type: "error",
10992                            text: error
10993                        }], 5000
10994                    );
10995                }).finally(() => {
10996                    window.dispatchEvent(new CustomEvent('amcart-loading-stop'));
10997                });
10998        };
10999
11000        const getAction = (formNode) => {
11001            return (formNode.action.includes('amasty_quote') && formNode.action.includes('updateItemOptions'))
11002                ? 'updateItemOptions'
11003                : 'add';
11004        };
11005
11006        window.addEventListener('amcart-add-to-quote-action', addToQuoteAction);
11007    })();
11008</script>
11008
11009
11010
11011    
11011<script>
11012        'use strict';
11013
11014        (function () {
11015            const initCompareFunctions = ['initCompareOnProductList', 'initCompareOnProductView'];
11016
11017            initCompareFunctions.forEach(compareFunction => {
11018                window[compareFunction] = function () {
11019                    return {
11020                        addToCompare: function (productId) {
11021                            var loader=document.getElementById('loading');
11022                            console.log("11111111");
11023                            loader.style.display='block';
11024                            console.log("Add To compare amasty ajax cart qqqqq");
11025                                                        const postUrl = BASE_URL + 'catalog/product_compare/add/';
11026                            const headers = {
11027                                "content-type": "application/x-www-form-urlencoded; charset=UTF-8",
11028                            };
11029                            const body = new URLSearchParams({
11030                                form_key: hyva.getFormKey(),
11031                                product: productId,
11032                                is_ajax: true
11033                            });
11034
11035                            fetch(postUrl, {headers: headers, body: body, method: 'POST'}).then((response) => {
11036                                                                if (response.redirected) {
11037                                    window.location.href = response.url;
11038                                } else if (response.ok) {
11039                                    window.dispatchEvent(new CustomEvent('reload-customer-section-data'));
11040                                } else {
11041                                    typeof window.dispatchMessages !== "undefined" && window.dispatchMessages(
11042                                        [{
11043                                            type: "warning",
11044                                            text: "Could not add item to the comparison list."
11045                                        }],
11046                                        1000
11047                                    );
11048                                }
11049                            }).catch((error) => {
11050                                typeof window.dispatchMessages !== "undefined" && window.dispatchMessages(
11051                                    [{
11052                                        type: 'error',
11053                                        text: error
11054                                    }],
11055                                    1000
11056                                );
11057                            });
11058                        }
11059                    };
11060                };
11061            });
11062        })();
11063    </script>
11063
11064
11065
11066
11067
11068
11069<section x-data="{isLoading: false}" x-cloak
11070         @amcart-loading-start.window="isLoading = true"
11071         @amcart-loading-stop.window="isLoading = false">
11072    <div class="flex flex-row justify-center items-center w-full h-full fixed select-none z-50"
11073     style="left: 50%;top: 50%;transform: translateX(-50%) translateY(-50%);background: rgba(255,255,255,0.7);"
11074     x-show="isLoading"
11075     x-transition:enter="ease-out duration-200"
11076     x-transition:enter-start="opacity-0"
11077     x-transition:enter-end="opacity-100"
11078     x-transition:leave="ease-in duration-200"
11079     x-transition:leave-start="opacity-100"
11080     x-transition:leave-end="opacity-0">
11081    <!-- By Sam Herbert (@sherb), for everyone. More @ http://goo.gl/7AJzbL -->
11082<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 57 57" stroke="currentColor" class="text-primary" width="57" height="57" role="img">
11083    <g fill="none" fill-rule="evenodd">
11084        <g transform="translate(1 1)" stroke-width="2">
11085            <circle cx="5" cy="50" r="5">
11086                <animate attributeName="cy" begin="0s" dur="2.2s" values="50;5;50;50" calcMode="linear" repeatCount="indefinite"/>
11087                <animate attributeName="cx" begin="0s" dur="2.2s" values="5;27;49;5" calcMode="linear" repeatCount="indefinite"/>
11088            </circle>
11089            <circle cx="27" cy="5" r="5">
11090                <animate attributeName="cy" begin="0s" dur="2.2s" from="5" to="5" values="5;50;50;5" calcMode="linear" repeatCount="indefinite"/>
11091                <animate attributeName="cx" begin="0s" dur="2.2s" from="27" to="27" values="27;49;5;27" calcMode="linear" repeatCount="indefinite"/>
11092            </circle>
11093            <circle cx="49" cy="50" r="5">
11094                <animate attributeName="cy" begin="0s" dur="2.2s" values="50;50;5;50" calcMode="linear" repeatCount="indefinite"/>
11095                <animate attributeName="cx" from="49" to="49" begin="0s" dur="2.2s" values="49;5;27;49" calcMode="linear" repeatCount="indefinite"/>
11096            </circle>
11097        </g>
11098    </g>
11099<title>loader</title></svg>
11100    <div class="ml-10 text-primary text-xl">
11101        Loading...    </div>
11102</div>
11103</section>
11104
11105<div x-data="prDataPrivacyCheckboxDetailModalComponent.create()"
11106     @set-is-show-modal.window="isShowModal = $event.detail"
11107     @keydown.escape="closeModal"
11108>
11109    <div x-ref="pr-data-privacy-checkbox-detail" x-show="isShowModal" x-cloak>
11110        <div class="inset-0 fixed z-50">
11111            <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"
11112                 x-show="isShowModal" x-transition
11113            >
11114                <span class="absolute top-3 right-3 cursor-pointer hover:text-gray-700 p-1" @click="closeModal">
11115                    <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" width="20" height="20" role="img">
11116  <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"/>
11117<title>x</title></svg>
11118                </span>
11119                <template x-if="data.checkbox">
11120    <div id="prgdpr-consent-checkboxes-modal" class="flex flex-col">
11121        <div class="modal-header flex flex-col flex-shrink-0 flex-grow-0 mb-5">
11122            <h2 class="text-xl lg:text-2lx pb-3 mb-1 border-container border-b" x-html="data.checkbox.policy.title"></h2>
11123            <a data-contentid="prgdpr-print-content"
11124               class="ml-auto text-sm text-blue-600 hover:underline"
11125               href="#"
11126               @click.prevent="print()"
11127            >
11128                Print            </a>
11129        </div>
11130        <div class="prgdpr-consent-checkboxes-item-content overflow-y-auto mb-5" id="prgdpr-print-content">
11131            <div class="prose max-w-none" x-html="data.checkbox.policy.content"></div>
11132        </div>
11133        <div class="modal-footer flex-shrink-0 flex-grow-0 pt-5 mt-auto border-container border-t">
11134            <button type="button"
11135                    class="action iagree btn btn-primary"
11136                    @click="data.checkbox.checked = data.checkbox.isAlreadyChecked = true;
11136 $dispatch('prgdpr-checkbox-agree', 'checkbox' + data.checkbox.consentId); closeModal();"
11137            >
11138                I agree            </button>
11139        </div>
11140    </div>
11141</template>
11142            </div>
11143
11144            <div class="bg-gray-800 opacity-50 absolute inset-0" @click="closeModal"></div>
11145        </div>
11146    </div>
11147</div>
11148
11149<script>
11150    const prDataPrivacyCheckboxDetailModalComponent = {
11151        data: null,
11152        isShowModal: false,
11153        create: function () {
11154            this.data = Alpine.reactive({checkbox: null});
11155            return this;
11156        },
11157        setCheckbox: function (checkbox) {
11158            this.data.checkbox = checkbox;
11159        },
11160        showModal: function () {
11161            this.isShowModal = true;
11162        },
11163        closeModal() {
11164            this.isShowModal = false;
11165        },
11166        print: function () {
11167            let printWindow = window.open('', 'Print', 'height=600,width=800');
11168            printWindow.document.write(
11169                `<html><head><title>${this.data.checkbox.policy.title}</title></head><body>${this.data.checkbox.policy.content}</body></html`
11170            );
11171            printWindow.document.close();
11172            printWindow.focus();
11173            printWindow.print();
11174            printWindow.onafterprint = function () {
11175                printWindow.close();
11176            };
11177
11178            return true;
11179        }
11180    };
11181</script>
vendor: 1 bytes, line 11181
11181
11182<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>
11182<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>
11182<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>
11182    
11182<script defer src="https://www.dwin1.com/94345.js"></script>
11182
11183    
11184<script  nonce="YjZ2ZWQxdzRxcTd4ZGJzcGk4OGs3aXlybTNkOWF6ODk=">
11185    (() => {
11186        const updateSettingBar = () => {
11187            const intervalId = setInterval(() => {
11188                const bar = document.getElementById('pr-cookie-setting-bar');
11189                if (! bar) {
11190                    return;
11191                }
11192
11193                clearInterval(intervalId);
11194                bar.querySelectorAll('input[type="checkbox"], button.action')
11195                    .forEach(el => el.disabled = true);
11196
11197                                    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';
11198                    bar.querySelector('.pr-cookie-description')
11199                        .insertAdjacentHTML('beforebegin', notification);
11200                            }, 400);
11201        }
11202
11203        prGlobalPrivacyControlApi.signalHandlers.addHandler(updateSettingBar);
11204    })();
11205</script>
vendor: 1 bytes, line 11205
11205
11206<script type="application/json" id="default-section-data">
11207    {"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":1790344707},"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>
11207
11208</div><div x-data="fpcTracking()" x-init="sendRequest()"></div>
11209<script>
11210    function fpcTracking() {
11211        return {
11212            url: 'https://www.flooringinc.com/amasty_fpc/reports/',
11213            sendRequest() {
11214                const ttfb = window.performance.timing.responseStart - window.performance.timing.fetchStart;
11215                fetch(`${this.url}?` + new URLSearchParams({ ttfb }), {
11216                    method: 'GET',
11217                    headers: {
11218                        'Content-Type': 'application/json',
11219                        'X-Requested-With': 'XMLHttpRequest',
11220                    }
11221                })
11222            }
11223        }
11224    }
11225</script>
11225
11226<!-- amasty-fpc-status -->    
11226<script>
11227        const wpGA4ServerSide = {
11228            pushClick: function(productId, listId, listName, index, elm) {
11229                if (elm && elm.hasAttribute('onclick')) {
11230                    var requestUrl = 'https://www.flooringinc.com/weltpixel_ga4/track/productclick/';
11231                    if (productId && listId && listName) {
11232                        fetch(requestUrl, {
11233                            method: 'POST',
11234                            headers: {
11235                                'Content-Type': 'application/x-www-form-urlencoded',
11236                                'X-Requested-With': 'XMLHttpRequest'
11237                            },
11238                            body: 'product_id=' + productId + '&list_id=' + listId +'&list_name=' + listName + '&index=' + index
11239                        })
11240                        .then(res => res.json())
11241                        .then(data => {
11242                        });
11243                    }
11244                }
11245            },
11246
11247            pushViewItemList: function(hashId) {
11248                if (hashId && document.getElementById('wp_ga4_server_side_view_item_list')) {
11249                    var requestUrl = 'https://www.flooringinc.com/weltpixel_ga4/track/viewitemlist/';
11250                    fetch(requestUrl, {
11251                        method: 'POST',
11252                        headers: {
11253                            'Content-Type': 'application/x-www-form-urlencoded',
11254                            'X-Requested-With': 'XMLHttpRequest'
11255                        },
11256
11257                        body: 'hash_id='+hashId
11258                    })
11259                    .then(res => res.json())
11260                    .then(data => {
11261                    });
11262                }
11263            }
11264        };
11265
11266        window.wpGA4ServerSide = wpGA4ServerSide;
11267
11268        let allowGa4Services = window.ga4AllowServices ?? true;
11269
11270        if (allowGa4Services) {
11271            const {fetch: originalFetch} = window;
11272            window.fetch = async (...args) => {
11273                let [resource, config] = args;
11274                let response = await originalFetch(resource, config);
11275
11276                if ((typeof resource == 'string') && resource.search('/customer\/section\/load/') > 0) {
11277                    response.clone().json().then(data => {
11278                        if (data.wp_ga4.datalayer) {
11279                            const dataLayerData = JSON.parse(data.wp_ga4.datalayer);
11280                            dataLayerData.forEach((dataLayerItem) => {
11281                                window.dataLayer.push({ecommerce: null});
11282                                window.dataLayer.push(dataLayerItem);
11283                            });
11284                        }
11285                    });
11286                }
11287                return response;
11288            };
11289        }
11290
11291    </script>
11291
11292    
11292<script>
11293        let allowGa4ServicesMeta = window.ga4AllowServices ?? true;
11294        if (allowGa4ServicesMeta) {
11295            const {fetch: originalFetchMeta} = window;
11296            window.fetch = async (...args) => {
11297                let [resource, config] = args;
11298                let response = await originalFetchMeta(resource, config);
11299
11300                if ((typeof resource == 'string') && resource.search('/customer\/section\/load/') > 0) {
11301                    response.clone().json().then(data => {
11302                        if (data.wp_ga4 && data.wp_ga4.metapixel) {
11303                            const metaPixel = JSON.parse(data.wp_ga4.metapixel);
11304                            for (index in metaPixel) {
11305                                fbq(metaPixel[index].track, metaPixel[index].eventName, metaPixel[index].eventData);
11306                            }
11307                        }
11308                    });
11309                }
11310                return response;
11311            };
11312        }
11313    </script>
vendor: 1 bytes, line 11313
11313
11314<script type="text/javascript">window.NREUM||(NREUM={});NREUM.info={"beacon":"bam.nr-data.net","licenseKey":"NRJS-d3390ca2649c82069a5","applicationID":"1112615138","transactionName":"YwMDN0NXChZSVRBZWlpJIABFXwsLHFUJQxpEBwYGHkANAEQ=","queueTime":0,"applicationTime":689,"atts":"T0QAQQtNGRg=","errorBeacon":"bam.nr-data.net","agent":""}</script>
11314</body>
11315</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.