PageSourceSearch

https://scratchandsniffpetsupplies.com/about-us/

html scratchandsniffpetsupplies.com collected 2026-10-03 23:33:52 UTC 229,835 bytes, 2,712 lines download raw bytes

1<!DOCTYPE html>
2<html lang="en">
3<head>
4    <link rel="preconnect" href="https://d3w285dzx3yv2d.cloudfront.net/static/vendors/v2/">
5            <link rel="preload" href="https://d3w285dzx3yv2d.cloudfront.net/static/vendors/v2/performance/combined.min-v6.css" as="style">
6        <link rel="preload" href="https://d3w285dzx3yv2d.cloudfront.net/static/vendors/v2/js/jquery-cdn.min.js" as="script">
7        <link rel="preload" href="https://d3w285dzx3yv2d.cloudfront.net/static/vendors/v2/performance/header.min.js" as="script">
8        <link rel="preload" href="https://d3w285dzx3yv2d.cloudfront.net/static/vendors/v2/performance/custom.min-v9.js" as="script">
9             <!-- End Google Analytics -->
10            
10<script>(function(d){var s = d.createElement("script");s.setAttribute("data-account", "buNJbo9Fzs");s.setAttribute("src", "https://cdn.userway.org/widget.js");(d.body || d.head).appendChild(s);})(document)</script>
10
11
12        <noscript>Please ensure Javascript is enabled for purposes of <a href="https://userway.org">website accessibility</a></noscript>
13        <meta name="viewport" content="width=device-width, initial-scale=1"/>
14    <link rel="preconnect" href="https://ik.imagekit.io/0ofixtqpt/" crossorigin />
15
16    <link rel="preload" href="https://d3w285dzx3yv2d.cloudfront.net/static/vendors/v2/fonts/fontawesome-webfont.woff2" as="font"  type="font/woff2" />
17    <link rel="preload" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.2/css/all.min.css" as="style" onload="this.onload=null;this.rel='stylesheet'">
18    <noscript><link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.2/css/all.min.css"></noscript>
19                <link rel="canonical" href="https://scratchandsniffpetsupplies.com/about-us" />
20                            <meta name="robots" content="index, follow">
21                    <meta http-equiv="content-type" content="text/html; charset=utf-8"/>
21<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:"1431907933",accountID:"3639234",trustKey:"3639234",xpid:"VwAEWFRQDBABUFBUAAYGUVIF",licenseKey:"NRJS-848b5ec7e91ef88ba3a",applicationID:"1416771764",browserID:"1431907933"};;/*! For license information please see nr-loader-spa-1.323.0.min.js.LICENSE.txt */
22(()=>{var e={8122(e,t,r){"use strict";r.d(t,{a:()=>i});var n=r(944);function i(e,t){try{if(!e||"object"!=typeof e)return(0,n.R)(3);if(!t||"object"!=typeof t)return(0,n.R)(4);const r=Object.create(Object.getPrototypeOf(t),Object.getOwnPropertyDescriptors(t)),s=0===Object.keys(r).length?e:r;for(let a in s)if(void 0!==e[a])try{if(null===e[a]){r[a]=null;continue}Array.isArray(e[a])&&Array.isArray(t[a])?r[a]=Array.from(new Set([...e[a],...t[a]])):e[a]instanceof Map||e[a]instanceof Set||e[a]instanceof Date||e[a]instanceof RegExp?r[a]=e[a]:"object"==typeof e[a]&&null!==t[a]&&"object"==typeof t[a]?r[a]=i(e[a],t[a]):r[a]=e[a]}catch(e){r[a]||(0,n.R)(1,e)}return r}catch(e){(0,n.R)(2,e)}}},2555(e,t,r){"use strict";r.d(t,{f:()=>a});var n=r(384),i=r(8122);const s={beacon:n.NT.beacon,errorBeacon:n.NT.errorBeacon,licenseKey:void 0,applicationID:void 0,sa:void 0,queueTime:void 0,applicationTime:void 0,ttGuid:void 0,user:void 0,account:void 0,product:void 0,extra:void 0,jsAttributes:{},userAttributes:void 0,atts:void 0,transactionName:void 0,tNamePlain:void 0};function a(e){try{return!!e.licenseKey&&!!e.errorBeacon&&!!e.applicationID}catch(e){return!1}}r.d(t,["D",0,e=>(0,i.a)(e,s)])},7699(e,t,r){"use strict";var n=r(860);const i={[n.K7.logging]:!0,[n.K7.genericEvents]:!0,[n.K7.jserrors]:!0,[n.K7.ajax]:!0};r.d(t,["It",0,1e6,"KC",0,i,"qh",0,"SESSION_ERROR"])},9324(e,t,r){"use strict";r.d(t,["A",0,"@newrelic/rrweb","x",0,"1.323.0"])},981(e,t,r){"use strict";r.d(t,["R",0,{AJAX:"AjaxRequest",PA:"PageAction",UA:"UserAction",BP:"BrowserPerformance",WS:"WebSocket",SPV:"SecurityPolicyViolation",JSE:"JavaScriptError",LOG:"Log",PVE:"PageView",PVT:"PageViewTiming",SR:"SessionReplay",ST:"SessionTrace",BI:"BrowserInteraction"}])},9752(e,t,r){"use strict";const n="newrelic-iframe-",i=n+"timing-update",s=n+"api",a=n+"api-response",o=n+"vitals-update",c=n+"ajax";r.d(t,["$8",0,o,"Gi",0,a,"KU",0,c,"Pl",0,n,"cS",0,s,"cr",0,i])},6154(e,t,r){"use strict";var n=r(1863);const i="undefined"!=typeof window&&!!window.document,s="undefined"!=typeof WorkerGlobalScope&&("undefined"!=typeof self&&self instanceof WorkerGlobalScope&&self.navigator instanceof WorkerNavigator||"undefined"!=typeof globalThis&&globalThis instanceof WorkerGlobalScope&&globalThis.navigator instanceof WorkerNavigator),a=i?window:"undefined"!=typeof WorkerGlobalScope&&("undefined"!=typeof self&&self instanceof WorkerGlobalScope&&self||"undefined"!=typeof globalThis&&globalThis instanceof WorkerGlobalScope&&globalThis),o=Boolean("hidden"===a?.document?.visibilityState),c=""+a?.location,d=/iPad|iPhone|iPod/.test(a.navigator?.userAgent),u=d&&"undefined"==typeof SharedWorker,l=(()=>{const e=a.navigator?.userAgent?.match(/Firefox[/\s](\d+\.\d+)/);return Array.isArray(e)&&e.length>=2?+e[1]:0})(),f=Date.now()-(0,n.t)();r.d(t,["OF",0,d,"RI",0,i,"WN",0,f,"bv",0,s,"gm",0,a,"lR",0,l,"m",0,c,"mw",0,o,"sb",0,u,"zk",0,()=>{const e=a?.performance?.getEntriesByType?.("navigation")?.[0];if(e&&e.responseStart>0&&e.responseStart<a.performance.now())return e}])},7295(e,t,r){"use strict";r.d(t,{Xv:()=>a,gX:()=>i,iW:()=>s});var n=[];function i(e){if(!e||s(e))return!1;if(0===n.length)return!0;if("*"===n[0].hostname)return!1;for(var t=0;t<n.length;t++){var r=n[t];if(r.hostname.test(e.hostname)&&r.pathname.test(e.pathname))return!1}return!0}function s(e){return void 0===e.hostname}function a(e){if(n=[],e&&e.length)for(var t=0;t<e.length;t++){let r=e[t];if(!r)continue;if("*"===r)return void(n=[{hostname:"*"}]);0===r.indexOf("http://")?r=r.substring(7):0===r.indexOf("https://")&&(r=r.substring(8));const i=r.indexOf("/");let s,a;i>0?(s=r.substring(0,i),a=r.substring(i)):(s=r,a="*");let[c]=s.split(":");n.push({hostname:o(c),pathname:o(a,!0)})}}function o(e,t=!1){const r=e.replace(/[.+?^${}()|[\]\\]/g,e=>"\\"+e).replace(/\*/g,".*?");return new RegExp((t?"^":"")+r+"$")}},3241(e,t,r){"use strict";r.d(t,{W:()=>i});var n=r(6154);function i(e={}){try{n.gm.dispatchEvent(new CustomEvent("newrelic",{detail:e}))}catch(e){}}},1687(e,t,r){"use strict";r.d(t,{Ak:()=>o,Ze:()=>d,x3:()=>c});var n=r(3241),i=r(3606),s=r(860),a=r(2646);function o(e,t){if(!e)return;const r={staged:!1,priority:s.P3[t]||0};
22e.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;
22const 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);
22if(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$:()=>
22o,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])}
22(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}
22;r.d(t,["Qb",0,{API:"api",RESUME:"resume",SWITCH_TO_FULL:"switchToFull",INITIALIZE:"initialize",PRELOAD:"preload"},"TZ",0,i,"Vh",0,"errorDuringReplay","_s",0,{DomContentLoaded:0,Load:1,FullSnapshot:2,IncrementalSnapshot:3,Meta:4,Custom:5},"bc",0,{RESET:{message:"Session was reset",sm:"Reset"},IMPORT:{message:"Recorder failed to import",sm:"Import"},TOO_MANY:{message:"429: Too Many Requests",sm:"Too-Many"},TOO_BIG:{message:"Payload was too large",sm:"Too-Big"},CROSS_TAB:{message:"Session Entity was set to OFF on another tab",sm:"Cross-Tab"},ENTITLEMENTS:{message:"Session Replay is not allowed and will not be started",sm:"Entitlement"}},"yP",0,s])},5270(e,t,r){"use strict";r.d(t,{Aw:()=>a,SR:()=>s,rF:()=>o});var n=r(384),i=r(7767);function s(e){return!!(0,n.dV)().o.MO&&(0,i.V)(e)&&!0===e?.session_trace.enabled}function a(e){return!0===e?.session_replay.preload&&s(e)}function o(e,t){try{if("string"==typeof t?.type&&"password"===t.type.toLowerCase())return"*".repeat(e?.length||0);if(void 0!==t?.dataset?.nrUnmask||t?.classList?.contains("nr-unmask"))return e}catch(e){}return"string"==typeof e?e.replace(/[\S]/g,"*"):"*".repeat(e?.length||0)}},3738(e,t,r){"use strict";const n=r(860).K7.sessionTrace,i="-start",s="-end",a="fn"+i,o="fn"+s;r.d(t,["He",0,"bstResource","Kp",0,s,"Lc",0,o,"Rz",0,"pushState","TZ",0,n,"bD",0,"resource","bc",0,{CROSS_TAB:{message:"Session Entity was set to OFF on another tab"},ENTITLEMENTS:{message:"Session Trace is not allowed and will not be started"},RESET:{message:"Session was reset"},SESSION_CHANGED:{message:"Session identifier changed unexpectedly"}},"d3",0,i,"uP",0,a])},3962(e,t,r){"use strict";const n=r(860).K7.softNav;r.d(t,["O2",0,{INITIAL_PAGE_LOAD:"",ROUTE_CHANGE:1,UNSPECIFIED:2},"OV",0,"popstate","Qu",0,{INTERACTION:1,AJAX:2,CUSTOM_END:3,CUSTOM_TRACER:4},"TZ",0,n,"ih",0,{IP:"in progress",PF:"pending finish",FIN:"finished",CAN:"cancelled"},"pP",0,"initialPageLoad","tC",0,["click","keydown","submit"]])},4234(e,t,r){"use strict";r.d(t,{W:()=>i});var n=r(1687);class i{constructor(e,t){this.agentRef=e,this.ee=e?.ee,this.featureName=t,this.blocked=!1}deregisterDrain(){(0,n.x3)(this.agentRef,this.featureName)}}},7767(e,t,r){"use strict";var n=r(6154);r.d(t,["V",0,e=>n.RI&&!0===e?.privacy.cookies_enabled])},8362(e,t,r){"use strict";r.d(t,{d:()=>s});var n=r(9566),i=r(1741);class s extends i.W{agentIdentifier=(0,n.LA)(16)}},1741(e,t,r){"use strict";r.d(t,{W:()=>s});var n=r(944),i=r(4261);class s{#e(e,...t){if(this[e]!==s.prototype[e])return this[e](...t);(0,n.R)(35,e)}addPageAction(e,t){return this.#e(i.hG,e,t)}register(e){return this.#e(i.eY,e)}recordCustomEvent(e,t){return this.#e(i.fF,e,t)}setPageViewName(e,t){return this.#e(i.Fw,e,t)}setCustomAttribute(e,t,r){return this.#e(i.cD,e,t,r)}noticeError(e,t){return this.#e(i.o5,e,t)}setUserId(e,t=!1){return this.#e(i.Dl,e,t)}setApplicationVersion(e){return this.#e(i.nb,e)}setErrorHandler(e){return this.#e(i.bt,e)}addRelease(e,t){return this.#e(i.k6,e,t)}log(e,t){return this.#e("log",e,t)}start(){return this.#e("start")}finished(e){return this.#e(i.BL,e)}recordReplay(){return this.#e(i.CH)}pauseReplay(){return this.#e(i.Tb)}addToTrace(e){return this.#e(i.U2,e)}setCurrentRouteName(e){return this.#e(i.PA,e)}interaction(e){return this.#e(i.dT,e)}wrapLogger(e,t,r){return this.#e(i.Wb,e,t,r)}measure(e,t){return this.#e(i.V1,e,t)}consent(e){return this.#e(i.Pv,e)}}},4261(e,t,r){"use strict";r.d(t,["BL",0,"finished","CH",0,"recordReplay","Dl",0,"setUserId","Fw",0,"setPageViewName","PA",0,"setCurrentRouteName","Pv",0,"consent","Tb",0,"pauseReplay","U2",0,"addToTrace","V1",0,"measure","Wb",0,"wrapLogger","bt",0,"setErrorHandler","cD",0,"setCustomAttribute","dT",0,"interaction","eY",0,"register","fF",0,"recordCustomEvent","hG",0,"addPageAction","hw",0,"api-ixn-","k6",0,"addRelease","nb",0,"setApplicationVersion","o5",0,"noticeError"])},1738(e,t,r){"use strict";r.d(t,{U:()=>l,Y:()=>u});var n=r(3241),i=r(9908),s=r(1863),a=r(944),o=r(3969),c=r(8362),d=r(860);function u(e,t,r,s){const u=s||r;!u||u[e]&&u[e]!==c.d.prototype[e]||(u[e]=function(){(0,i.p)(o.xV,["API/"+e+"/called"],void 0,d.K7.metrics,r.ee),(0,n.W)({drained:!!r.runtime?.activatedFeatures,type:"data",name:"api",feature:"api-"+e,data:{}});try{return t.apply(this,arguments)}catch(e){(0,a.R)(23,e)}})}function l(e,t,r,n,a){const o=e.info;null===r?delete o.jsAttributes[t]:o.jsAttributes[t]=r,(a||null===r)&&(0,i.p)("api-"+n,[(0,s.t)(),t,r],void 0,"session",e.ee)}},8374(e,t,r){r.nc=(()=>{try{return document?.currentScript?.nonce}catch(e){}return""})()},860(e,t,r){"use strict";const n="events",i="jserrors",s="browser/blobs",a="browser/logs",o={ajax:"ajax",genericEvents:"generic_events",jserrors:i,logging:"logging",metrics:"metrics",pageAction:"page_action",pageViewEvent:"page_view_event",pageViewTiming:"page_view_timing",sessionReplay:"session_replay",sessionTrace:"session_trace",softNav:"soft_navigations"},c={[o.pageViewEvent]:1,[o.pageViewTiming]:2,[o.metrics]:3,[o.jserrors]:4,[o.softNav]:5,[o.ajax]:6,[o.sessionTrace]:7,[o.sessionReplay]:8,[o.logging]:9,[o.genericEvents]:10},d={[o.pageViewEvent]:"rum",[o.pageViewTiming]:n,[o.ajax]:n,[o.softNav]:n,[o.metrics]:i,[o.jserrors]:i,[o.sessionTrace]:s,[o.sessionReplay]:s,[o.logging]:a,[o.genericEvents]:"ins"};r.d(t,["$J",0,d,"K7",0,o,"P3",0,c,"XX",0,i,"Yy",0,a,"df",0,s,"hg",0,"connect"])}};const t={};function r(n){const i=t[n];if(void 0!==i)return i.exports;const s=t[n]={exports:{}};return e[n](s,s.exports,r),s.exports}r.m=e,r.d=(e,t)=>{if(Array.isArray(t))for(var n=0;n<t.length;){var i=t[n++],s=t[n++];r.o(e,i)?0===s&&n++:0===s?Object.defineProperty(e,i,{enumerable:!0,value:t[n++]}):Object.defineProperty(e,i,{enumerable:!0,get:s})}else for(var i in t)r.o(t,i)&&!r.o(e,i)&&Object.defineProperty(e,i,{enumerable:!0,get:t[i]})},r.f={},r.e=e=>Promise.all(Object.keys(r.f).reduce((t,n)=>(r.f[n](e,t),t),[])),r.u=e=>({212:"nr-spa-compressor",238:"nr-spa-iframe-message-handler",249:"nr-spa-recorder",478:"nr-spa"}[e]+"-1.323.0.min.js"),r.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),(()=>{const e={},t="NRBA-1.323.0.PROD:";r.l=(n,i,s,a)=>
22{if(e[n])return void e[n].push(i);let o,c;if(void 0!==s){const e=document.getElementsByTagName("script");for(var d=0;d<e.length;d++){const r=e[d];if(r.getAttribute("src")==n||r.getAttribute("data-webpack")==t+s){o=r;break}}}if(!o){c=!0;var u={478:"sha512-ORjtmy+nQMgxbu0os8+oTRa5sPzbinyuWSvpZrrstVLIaHofRRlfODdH+oUmkIgeQpM+vPf3vG/4RzvCsFVh1A==",249:"sha512-o7+K6xC0z3TqynjVxpd+jgiSgqy8rrPeRcUSqt5J0Rqg5Su5CycLMYfpwiM3WBCHiNDrG5aZoXJQ6HRc335XYQ==",212:"sha512-kRvBt1IYQDBnClTEWNaE8sDFqbXXM3Vdyf972Uf4MFbJxl7u3KmdO+jdB1H4achPEoT9YtNXHswaESey6sCH0A==",238:"sha512-U5EGmyYbFVR2UMNAuZJ7fTgVVtPa5b8RPMySDwXo7z3frRdkUJ2x1VAQTLQCeBab8VlGVGRV8FiSHIn/pwN72A=="};o=document.createElement("script"),o.charset="utf-8",r.nc&&o.setAttribute("nonce",r.nc),o.setAttribute("data-webpack",t+s),o.src=n,0!==o.src.indexOf(window.location.origin+"/")&&(o.crossOrigin="anonymous"),u[a]&&(o.integrity=u[a])}e[n]=[i];const l=(t,r)=>{o.onerror=o.onload=null,clearTimeout(f);const i=e[n];if(delete e[n],o.parentNode?.removeChild(o),i?.forEach(e=>e(r)),t)return t(r)},f=setTimeout(l.bind(null,void 0,{type:"timeout",target:o}),12e4);o.onerror=l.bind(null,o.onerror),o.onload=l.bind(null,o.onload),c&&document.head.appendChild(o)}})(),r.r=e=>{Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.p="https://js-agent.newrelic.com/",(()=>{const e={38:0,788:0};r.f.j=(t,n)=>{let i=r.o(e,t)?e[t]:void 0;if(0!==i)if(i)n.push(i[2]);else{const s=new Promise((r,n)=>i=e[t]=[r,n]);n.push(i[2]=s);const a=r.p+r.u(t),o=new Error,c=n=>{if(r.o(e,t)&&(i=e[t],0!==i&&(e[t]=void 0),i)){const e=n&&("load"===n.type?"missing":n.type),r=n&&n.target&&n.target.src;o.message="Loading chunk "+t+" failed: ("+e+": "+r+")",o.name="ChunkLoadError",o.type=e,o.request=r,i[1](o)}};r.l(a,c,"chunk-"+t,t)}};const t=(t,n)=>{let[i,s,a]=n;var o,c,d=0;if(i.some(t=>0!==e[t])){for(o in s)r.o(s,o)&&(r.m[o]=s[o]);if(a)a(r)}for(t&&t(n);d<i.length;d++)c=i[d],r.o(e,c)&&e[c]&&e[c][0](),e[c]=0},n=self["webpackChunk:NRBA-1.323.0.PROD"]=self["webpackChunk:NRBA-1.323.0.PROD"]||[];n.forEach(t.bind(null,0)),n.push=t.bind(null,n.push.bind(n))})(),(()=>{"use strict";r(8374);var e=r(8362),t=r(860);const n=Object.values(t.K7);var i=r(384),s=r(1741);var a=r(2555),o=r(3333),c=r(9300);const d=e=>{if(!e||"string"!=typeof e)return!1;try{document.createDocumentFragment().querySelector(e)}catch{return!1}return!0};var u=r(2614),l=r(944),f=r(8122);const h="[data-nr-mask]",p=e=>(0,f.a)(e,(()=>{const e={feature_flags:[],experimental:{register:!1,resources:!1,iframe_bridge:!1,iframe_domains:[]},mask_selector:"*",block_selector:"[data-nr-block]",mask_input_options:{color:!1,date:!1,"datetime-local":!1,email:!1,month:!1,number:!1,range:!1,search:!1,tel:!1,text:!1,time:!1,url:!1,week:!1,textarea:!1,select:!1,password:!0}};return{ajax:{deny_list:void 0,block_internal:!0,enabled:!0,autoStart:!0,capture_payloads:c.mo.NONE},api:{register:{get enabled(){return e.feature_flags.includes(o.$v.REGISTER)||e.experimental.register},set enabled(t){e.experimental.register=t},duplicate_data_to_container:!1,get allow_iframe_bridge(){return e.feature_flags.includes(o.$v.IFRAME_BRIDGE)||e.experimental.iframe_bridge},set allow_iframe_bridge(t){e.experimental.iframe_bridge=t},get iframe_domains(){return e.experimental.iframe_domains},set iframe_domains(t){Array.isArray(t)?e.experimental.iframe_domains=t:(0,l.R)(1,t)}}},browser_consent_mode:{enabled:!1},distributed_tracing:{enabled:void 0,exclude_newrelic_header:void 0,cors_use_newrelic_header:void 0,cors_use_tracecontext_headers:void 0,allowed_origins:void 0},get feature_flags(){return e.feature_flags},set feature_flags(t){e.feature_flags=t},generic_events:{enabled:!0,autoStart:!0},harvest:{interval:30},jserrors:{enabled:!0,autoStart:!0},logging:{enabled:!0,autoStart:!0},metrics:{enabled:!0,autoStart:!0},obfuscate:void 0,page_action:{enabled:!0},page_view_event:{enabled:!0,autoStart:!0},page_view_timing:{enabled:!0,autoStart:!0},performance:{capture_marks:!1,capture_measures:!1,capture_detail:!0,resources:{get enabled(){return e.feature_flags.includes(o.$v.RESOURCES)||e.experimental.resources},set enabled(t){e.experimental.resources=t},asset_types:[],first_party_domains:[],ignore_newrelic:!0}},privacy:{cookies_enabled:!0},proxy:{assets:void 0,beacon:void 0},session:{expiresMs:u.wk,inactiveMs:u.BB},session_replay:{autoStart:!0,enabled:!1,preload:!1,sampling_rate:10,error_sampling_rate:100,collect_fonts:!1,inl
22ine_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()=>
22{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)=>
22null==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
22dTimingMethod(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
22imeToRegister: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})})}
22return Ve[r.debugId]=1,We.forEach(e=>{n(Ue[Fe],e,He),n(Ke[Fe],e,He)}),n(g.gm,"fetch",Be),r.on(Be+"end",function(e,n,i){var s=this;if(s.targets=i||[t.runtime.v2Target],n){var a=n.headers.get("content-length");null!==a&&(s.rxSize=a),r.emit(Be+"done",[null,n],s)}else r.emit(Be+"done",[e],s)}),r}var Ge=r(7485);class qe{constructor(e){this.agentRef=e}generateTracePayload(e){const t=this.agentRef.loader_config;if(!this.shouldGenerateTrace(e)||!t)return null;var r=(t.accountID||"").toString()||null,n=(t.agentID||"").toString()||null,i=(t.trustKey||"").toString()||null;if(!r||!n)return null;var s,a=(0,ye.ZF)(),o=(0,ye.el)(),c=Date.now();this.agentRef.runtime?.timeKeeper?.ready&&(s=Math.floor(this.agentRef.runtime.timeKeeper.correctAbsoluteTimestamp(c)));var d={spanId:a,traceId:o,timestamp:c,timestampCorrected:s};return(e.sameOrigin||this.isAllowedOrigin(e)&&this.useTraceContextHeadersForCors())&&(d.traceContextParentHeader=this.generateTraceContextParentHeader(a,o),d.traceContextStateHeader=this.generateTraceContextStateHeader(a,s??c,r,n,i)),(e.sameOrigin&&!this.excludeNewrelicHeader()||!e.sameOrigin&&this.isAllowedOrigin(e)&&this.useNewrelicHeaderForCors())&&(d.newrelicHeader=this.generateTraceHeader(a,o,s??c,r,n,i)),d}generateTraceContextParentHeader(e,t){return"00-"+t+"-"+e+"-01"}generateTraceContextStateHeader(e,t,r,n,i){return i+"@nr=0-1-"+r+"-"+n+"-"+e+"----"+t}generateTraceHeader(e,t,r,n,i,s){if(!("function"==typeof g.gm?.btoa))return null;var a={v:[0,1],d:{ty:"Browser",ac:n,ap:i,id:e,tr:t,ti:r}};return s&&n!==s&&(a.d.tk=s),btoa((0,X.A)(a))}shouldGenerateTrace(e){return this.agentRef.init?.distributed_tracing?.enabled&&this.isAllowedOrigin(e)}isAllowedOrigin(e){var t=!1;const r=this.agentRef.init?.distributed_tracing;if(e.sameOrigin)t=!0;else if(r?.allowed_origins instanceof Array)for(var n=0;n<r.allowed_origins.length;n++){var i=(0,Ge.D)(r.allowed_origins[n]);if(e.hostname===i.hostname&&e.protocol===i.protocol&&e.port===i.port){t=!0;break}}return t}excludeNewrelicHeader(){var e=this.agentRef.init?.distributed_tracing;return!!e&&!!e.exclude_newrelic_header}useNewrelicHeaderForCors(){var e=this.agentRef.init?.distributed_tracing;return!!e&&!1!==e.cors_use_newrelic_header}useTraceContextHeadersForCors(){var e=this.agentRef.init?.distributed_tracing;return!!e&&!!e.cors_use_tracecontext_headers}}var Ye=r(7295);function Ze(e){return"string"==typeof e?e:e instanceof(0,i.dV)().o.REQ?e.url:g.gm?.URL&&e instanceof URL?e.href:void 0}function $e(e,t){var r=(0,Ge.D)(t),n=e.params||e;n.hostname=r.hostname,n.port=r.port,n.protocol=r.protocol,n.host=r.hostname+":"+r.port,n.pathname=r.pathname,e.parsedOrigin=r,e.sameOrigin=r.sameOrigin}var Je=["load","error","abort","timeout"],Xe=Je.length,Qe=(0,i.dV)().o.REQ,et=(0,i.dV)().o.XHR;const tt="X-NewRelic-App-Data",rt="internal-error";class nt extends W{static featureName=c.TZ;constructor(e){super(e,c.TZ),this.dt=new qe(e),this.handler=(e,t,r,n)=>(0,S.p)(e,t,r,n,this.ee);try{const e={xmlhttprequest:"xhr",fetch:"fetch",beacon:"beacon"};g.gm?.performance?.getEntriesByType("resource").forEach(r=>{if(r.initiatorType in e&&0!==r.responseStatus){const n={status:r.responseStatus},i={rxSize:r.transferSize,duration:Math.floor(r.duration),cbTime:0};$e(n,r.name),this.handler("xhr",[n,i,r.startTime,r.responseEnd,e[r.initiatorType]],void 0,t.K7.ajax)}})}catch(e){}ze(this.ee,e),De(this.ee,e),function(e,r,n,i){const s=[c.mo.ALL,c.mo.FAILURES].includes(e.init.ajax?.capture_payloads);function a(e){var t=this;t.totalCbs=0,t.called=0,t.cbTime=0,t.end=A,t.ended=!1,t.xhrGuids={},t.lastSize=null,t.loadCaptureCalled=!1,t.params=this.params||{},t.metrics=this.metrics||{},t.latestLongtaskEnd=0,e.addEventListener("load",function(r){O(t,e)},(0,J.jT)(!1)),g.lR||e.addEventListener("progress",function(e){t.lastSize=e.loaded},(0,J.jT)(!1))}function o(e){this.params={method:e[0]},$e(this,e[1]),this.metrics={}}function d(t,r){e.loader_config.xpid&&this.sameOrigin&&r.setRequestHeader("X-NewRelic-ID",e.loader_config.xpid);var n=i.generateTracePayload(this.parsedOrigin);if(n){var s=!1;n.newrelicHeader&&(r.setRequestHeader("newrelic",n.newrelicHeader),s=!0),n.traceContextParentHeader&&(r.setRequestHeader("traceparent",n.traceContextParentHeader),n.traceContextStateHeader&&r.setRequestHeader("tracestate",n.traceContextStateHeader),s=!0),s&&(this.dt=n)}}function u(e,t){s&&e.length>=2&&(this.requestHeaders??={},this.requestHeaders[e[0].toLowerCase()]=e[1])}function l(e,t){var n=this.metrics,i=e[0],s=this;if(n&&i){var a=Le(i);a&&(n.txSize=a)}this.startTime=(0,_.t)(),this.requestBody=i,this.listener=function(e){try{"abort"!==e.type||s.loadCaptureCalled||(s.params.aborted=!0),("load"
22!==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);
22if(!(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)}
22);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)})});
22class 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
22h(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>
22
23
24    <meta name="csrf-token" content="kMfvxZo5WyEahwpX0WQeRSlgpwmkDQWkFHM0OCJ1"/>
25    <meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">
26    
27        <meta name="title" content="About Scratch And Sniff Pet Supplies In Jacksonville"/>
28        <meta name="description" content="Read more about Scratch and Sniff Pet Supplies in Jacksonville. We care about pets in our local community and are here to help pet parents make the best decisions for their best when it comes to both nutrition &amp; care."/>
29        <!-- FB Tags -->
30    <meta property="og:type" content="website">
31    <meta property="og:title" content="About Scratch And Sniff Pet Supplies In Jacksonville">
32    <meta property="og:url" content="https://scratchandsniffpetsupplies.com/about-us/">
33    <meta property="og:description" content="Read more about Scratch and Sniff Pet Supplies in Jacksonville. We care about pets in our local community and are here to help pet parents make the best decisions for their best when it comes to both nutrition &amp; care.">
34    <meta property="og:image" content="https://ik.imagekit.io/0ofixtqpt/668379/scrathand-sniff-pet-supplie-in-jacksonville-maryland.png"/>
35
36
37    <!-- Google+ Tag -->
38    <meta itemprop="image" content="https://ik.imagekit.io/0ofixtqpt/668379/scrathand-sniff-pet-supplie-in-jacksonville-maryland.png"/>
39
40
41    
42
43
44                                                                                                                                                    <!-- Twitter Tag -->
45        <meta name="twitter:image" content="https://ik.imagekit.io/0ofixtqpt/668379/scrathand-sniff-pet-supplie-in-jacksonville-maryland.png"/>
46        <meta name="twitter:image:width" content="750">
47        <meta name="twitter:image:height" content="370">
48        <meta name="twitter:card" content="summary">
49        <meta name="twitter:site" content="@1">
50        <meta name="twitter:creator" content="@1">
51        <meta name="twitter:title" content="About Scratch And Sniff Pet Supplies In Jacksonville">
52        <meta name="twitter:description" content="Read more about Scratch and Sniff Pet Supplies in Jacksonville. We care about pets in our local community and are here to help pet parents make the best decisions for their best when it comes to both nutrition &amp; care.">
53        <meta name="description" content="Read more about Scratch and Sniff Pet Supplies in Jacksonville. We care about pets in our local community and are here to help pet parents make the best decisions for their best when it comes to both nutrition &amp; care.">
54                                                                                                                                                                                                                                        <title>About Scratch And Sniff Pet Supplies In Jacksonville</title>
55
56    
57    <meta name="facebook-domain-verification" content="ctkdn075kwezctyx1vnhys0lchd6y3" />
58    <!-- Stylesheets
59   ============================================= -->
60<link rel="alternate" href="https://scratchandsniffpetsupplies.com/about-us/" hreflang="en-us"/>
61
62<link rel="preload" href="https://fonts.googleapis.com/css?family=Roboto:300,400,500,600,700&display=swap" as="style" onload="this.onload=null;this.rel='stylesheet'">
63<noscript><link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Roboto:300,400,500,600,700&display=swap"></noscript>
64
65<style type="text/css">
66    header#header *:not(i):not(.fa) {
67        font-family: "Roboto" !important;
68    }
69
70    h1, h2, h3, h4, h5, h6 {
71        font-family: "Roboto" !important;
72    }
73
74    body:not(i):not(header):not(h1):not(h2):not(h3):not(h4):not(h5):not(h6):not(.fa) {
75        font-family: "Roboto" !important;
76    }
77    .title-transform-none h2 {
78        text-transform: none !important;
79    }
80</style>
81
82<script type="text/javascript">var GET_LOCATION = "";</script>
vendor: 1 bytes, line 82
82
83<script type="text/javascript">var locationCount = "1";</script>
vendor: 1 bytes, line 83
83
84<script type="text/javascript">let auto_redirect = "0";</script>
84
85    <link rel="stylesheet" href="https://d3w285dzx3yv2d.cloudfront.net/static/vendors/v2/performance/combined.min-v6.css" defer/>
86    
86<script type="text/javascript" src="https://d3w285dzx3yv2d.cloudfront.net/static/vendors/v2/js/jquery-cdn.min.js"></script>
86
87    
87<script type="text/javascript" src="https://d3w285dzx3yv2d.cloudfront.net/static/vendors/v2/performance/header.min.js" defer></script>
87
88    
88<script type="text/javascript" src="https://d3w285dzx3yv2d.cloudfront.net/static/vendors/v2/performance/custom.min-v9.js" defer></script>
88
89
90<!-- Preconnect and DNS Prefetch for External Services -->
91<link rel="dns-prefetch" href="//www.google.com">
92<link rel="dns-prefetch" href="//static.elfsight.com">
93<link rel="preconnect" href="https://fonts.googleapis.com" crossorigin>
94<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
95
96<!-- Google reCAPTCHA (Enterprise) -->
vendor: 87 bytes, lines 96-100
96
97<script src="https://www.google.com/recaptcha/enterprise.js" async defer></script>
98
99
100
101<!-- Elfsight Widget -->
102<script src="https://static.elfsight.com/platform/platform.js" data-use-service-core defer></script>
102
103
104<!-- Google Fonts -->
105<link rel="preload" href="https://fonts.googleapis.com/css2?family=Noto+Sans&display=swap" as="style" onload="this.onload=null;this.rel='stylesheet'">
106<noscript><link href="https://fonts.googleapis.com/css2?family=Noto+Sans&display=swap" rel="stylesheet"></noscript>
107
108<!-- Viewport Meta -->
109<meta name="viewport" content="width=device-width, initial-scale=1">
110
111<!-- Preload and Styles -->
112<link rel="preload" href="https://d3w285dzx3yv2d.cloudfront.net/static/vendors/v2/performance/custom.compile.min-v11.css" as="style">
113<link rel="stylesheet" href="https://d3w285dzx3yv2d.cloudfront.net/static/vendors/v2/performance/custom.compile.min-v11.css">
114
115
116    
116<script>
117        (function(){
118            const runAnalytics = function(id) {
119                const s = document.createElement('script');
120                s.src = `https://www.googletagmanager.com/gtag/js?id=${id}`;
121                s.async = true;
122                document.head.appendChild(s);
123
124                window.dataLayer = window.dataLayer || [];
125                function gtag(){ dataLayer.push(arguments); }
126
127                gtag('js', new Date());
128                gtag('config', id);
129            };
130
131            const id = "G-SWVX3WXMNY";
132            if (id) {
133                (window.requestIdleCallback || function(cb){ setTimeout(cb, 300); })(function() {
134                    runAnalytics(id);
135                });
136            }
137        })();
138    </script>
138
139
140
141
142<!-- site level css start -->
143<!-- site level css end -->
144
145<script type="application/ld+json">
146{
147    "@context": "http://schema.org/",
148    "@type": "WebSite",
149    "name": "Scratch and Sniff Pet Supplies",
150  "url": "https://scratchandsniffpetsupplies.com"
151}
152
153</script>
153<script type="application/ld+json">
154{
155    "@context": "http://schema.org",
156    "@type": "PetStore",
157    "name": "Scratch and Sniff Pet Supplies",
158  "image": "https://ik.imagekit.io/0ofixtqpt/668379/scrathand-sniff-pet-supplie-in-jacksonville-maryland.png",
159  "@id": "",
160  "url": "https://scratchandsniffpetsupplies.com",
161  "telephone": "(410) 995-9736",
162  "priceRange": "$$$",
163  "address": {
164    "@type": "PostalAddress",
165    "streetAddress": "3336 Paper Mill Rd",
166    "addressLocality": "Jacksonville",
167    "addressRegion": "MD",
168    "postalCode": "21131",
169    "addressCountry": "US",
170    "description" : "Read more about Scratch and Sniff Pet Supplies in Jacksonville. We care about pets in our local community and are here to help pet parents make the best decisions for their best when it comes to both nutrition &amp; care."
171  },
172      "geo": {
173      "@type": "GeoCoordinates",
174      "latitude": 39.5196633,
175    "longitude": -76.560487
176    },
177        "openingHoursSpecification": [{"@type":"OpeningHoursSpecification","dayOfWeek":"Monday","opens":"10:30","closes":"18:30"},{"@type":"OpeningHoursSpecification","dayOfWeek":"Tuesday","opens":"10:30","closes":"18:30"},{"@type":"OpeningHoursSpecification","dayOfWeek":"Wednesday","opens":"10:30","closes":"18:30"},{"@type":"OpeningHoursSpecification","dayOfWeek":"Thursday","opens":"10:30","closes":"18:30"},{"@type":"OpeningHoursSpecification","dayOfWeek":"Friday","opens":"10:30","closes":"18:30"},{"@type":"OpeningHoursSpecification","dayOfWeek":"Saturday","opens":"10:00","closes":"17:00"}],
178    "sameAs": ["https://www.facebook.com/ScratchandSniffPetSupplies/","https://twitter.com/scratchsniff_MD","https://www.instagram.com/scratchandsniffpetsupplies/","https://www.yelp.com/biz/scratch-and-sniff-pet-supplies-phoenix-2"],
179    "aggregateRating": {
180      "@type": "AggregateRating",
181      "ratingValue": 5,
182    "reviewCount": 5
183    },
184    "review": [
185        {
186        "@type": "Review",
187        "datePublished" : "2026-09-17",
188        "reviewBody": "Great selection, service and knowledgeable staff.",
189        "author": {
190            "@type": "Person",
191            "name": "Ivana Kusevic"
192          },
193        "reviewRating": {
194            "@type": "Rating",
195            "worstRating": "1",
196            "bestRating": "5",
197            "ratingValue": "5"
198         }
199    },        {
200        "@type": "Review",
201        "datePublished" : "2026-07-08",
202        "reviewBody": "Very knowledgeable and knows what your pets NEED. Carry safe toys and good food and treat options for your fur babies. They research everything before they supply it to the public It’s a distance to travel for me but it’s a place I trust and worth the drive. Plus their pricing is very competitive on pet supply market.",
203        "author": {
204            "@type": "Person",
205            "name": "Jenny Steele"
206          },
207        "reviewRating": {
208            "@type": "Rating",
209            "worstRating": "1",
210            "bestRating": "5",
211            "ratingValue": "5"
212         }
213    },        {
214        "@type": "Review",
215        "datePublished" : "2026-06-06",
216        "reviewBody": "Scratch and Sniff is the best! They carry Fromm dog food and if they don’t have something in store are happy to call around. Great local pet store!",
217        "author": {
218            "@type": "Person",
219            "name": "Zach Zimmerman, Realtor"
220          },
221        "reviewRating": {
222            "@type": "Rating",
223            "worstRating": "1",
224            "bestRating": "5",
225            "ratingValue": "5"
226         }
227    },        {
228        "@type": "Review",
229        "datePublished" : "2026-05-21",
230        "reviewBody": "Adorable and independently owned, this place rules for all your Harford pet needs. The owner even said she does custom orders.",
231        "author": {
232            "@type": "Person",
233            "name": "Rebecca R"
234          },
235        "reviewRating": {
236            "@type": "Rating",
237            "worstRating": "1",
238            "bestRating": "5",
239            "ratingValue": "5"
240         }
241    },        {
242        "@type": "Review",
243        "datePublished" : "2026-02-11",
244        "reviewBody": "Today was my first time here and the women working were super helpful and friendly! I foun
244d my new shop whenever my dogs need food and supplies!",
245        "author": {
246            "@type": "Person",
247            "name": "amber mccormack"
248          },
249        "reviewRating": {
250            "@type": "Rating",
251            "worstRating": "1",
252            "bestRating": "5",
253            "ratingValue": "5"
254         }
255    }        ]
256    }
257
258</script>
258<!-- Document Title
259============================================= -->
260                        <link rel="shortcut icon" href="https://ik.imagekit.io/0ofixtqpt/666594/343489309115201.webp">
261                            <style>
262    .mobile_carousel {
263        background-color: #cc1c22;
264    }
265
266    .cust-carousel {
267        background: #cc1c22;
268    }
269
270    #return-to-top {
271        background-color: #cc1c22;
272    }
273
274    .fa-bars {
275        color: #cc1c22 !important;
276    }
277
278    .header-icons-span, .portfolio-filter li.activeFilter a, .portfolio-shuffle:hover {
279        background-color: #cc1c22;
280    }
281
282    .fa-paw, .fa-car {
283        color: #cc1c22 !important;
284    }
285
286    a.all-brands, .share-btn {
287        background-color: #cc1c22  !important;
288    }
289
290    button.contact-btn, a.contact-btn, .subscribe-btn {
291        background-color: #cc1c22  !important;
292    }
293
294    .pro_btn, .icon-line-heart, .icon-line-power {
295        background-color: #cc1c22  !important;
296    }
297
298    .cta-widget-btn {
299        background-color: #cc1c22  !important;
300    }
301
302    #result .footer-custom-icon {
303        color: #cc1c22;
304    }
305
306    #gotoTop:hover {
307        background-color: #cc1c22  !important;
308    }
309
310    .owl-carousel .owl-nav [class*=owl-]:hover {
311        background-color: #000000  !important;
312        color: #fff !important;
313    }
314    .owl-carousel .owl-nav [class*=owl-]{
315        background-color: #cc1c22  !important;
316        color: #fff !important;
317    }
318
319    .feature-box.fbox-plain .fbox-icon i {
320        color: #cc1c22  !important;
321    }
322
323    #top-bar {
324        background-color: #cc1c22  !important;
325    }
326
327    .brand-panel-heading {
328        background-color: #cc1c22  !important;
329    }
330
331    .event-a {
332        color: #cc1c22  !important;
333    }
334
335    .event-a:hover {
336        color: #000000  !important;
337    }
338
339    .about-a:hover {
340        color: #cc1c22  !important;
341    }
342
343    .portfolio-overlay a:hover {
344        color: #cc1c22  !important;
345    }
346
347    .tag-a {
348        color: #cc1c22  !important;
349    }
350
351    .tag-a:hover {
352        color: #cc1c22  !important;
353    }
354
355    .loc-li:hover {
356        background-color: #cc1c22  !important;
357    }
358
359    .pagination > li > a {
360        color: #cc1c22  !important;
361    }
362
363    .pagination > li > a:hover {
364        color: #cc1c22  !important;
365    }
366
367    .pagination > .active > span {
368        background-color: #cc1c22  !important;
369        border-color: #cc1c22  !important;
370    }
371
372    .about-us-a {
373        color: #cc1c22  !important;
374    }
375
376    .about-us-a:hover {
377        color: #cc1c22  !important;
378    }
379
380    #header-wrap .container-fluid{
381        background-color: #fff !important;
382    }
383
384    .review-a{
385        color: #cc1c22  !important;
386        cursor: pointer;
387        font-weight: 400;
388    }
389
390    .review-a:hover{
391        color: #cc1c22  !important;
392    }
393
394                .dark #primary-menu ul ul li{
395        width: initial !important;
396        text-align: left !important;
397    }
398    /*#primary-menu ul ul:not(.mega-menu-column){*/
399    /*    left: 0 !important;*/
400    /*    right: 0 !important;*/
401    /*}*/
402    
403    
404             #primary-menu ul ul:not(.mega-menu-column) {
405            border-top: 2px solid #cc1c22  !important;
406        }
407        .dark #primary-menu:not(.not-dark) ul ul, #primary-menu.dark ul ul {
408            border-top-color: #cc1c22  !important;
409        }
410        #primary-menu ul li>a {
411            color: #2b2b2b !important;
412        }
413
414        #primary-menu ul li>a:hover {
415            color: #2b2b2b !important;
416        }
417
418        .dark #primary-menu:not(.not-dark) ul ul, #primary-menu ul ul:not(.mega-menu-column) {
419            background-color: #333 !important;
420            border-color: #3f3f3f !important;
421        }
422
423        .dark #primary-menu:not(.not-dark) ul ul li:hover > a{
424            background-color:  !important;
425            border-color:  !important;
426        }
427
428        .dark #primary-menu:not(.not-dark) ul ul li>a {
429            color: #ffffff !important;
430        }
431
432        .dark #primary-menu:not(.not-dark) ul ul li>a:hover {
433            color:  !important;
434        }
435
436        #primary-menu ul li .mega-menu-content ul li.menu-item.sub-menu:hover{
437            background-color: unset !important;
438            border-color: unset !important;
439        }
440
441        #primary-menu ul li .mega-menu-content ul li.menu-item.sub-menu ul li:hover{
442            background-color: unset !important;
443            border-color: unset !important;
444            color: #000000 !important;
445        }
446                .anc_subscription_description{
447            margin-top: 8px !important;
448        }
449        .more_anc_subsc_desc{
450            margin-top: 0px !important;
451            margin-bottom: 10px !important;
452        }
453        #anc_text {
454            margin-right: 70px !important;
455            margin-left: 70px !important;
456        }
457        .announcement_subscription_close{
458            position: absolute;
459            right: 0 !important;
460            top: 0 !important;
461            margin-top: 0px !important;
462            margin-right: 0px !important;
463        }
464
465        .locationBrd{
466        border-left: 8px solid #cc1c22 !important;
467    }
468    .location-border span{
469        color: #cc1c22 !important;
470    }
471    .location-border:hover{
472        background-color: #cc1c22 !important;
473    }
474    .location-border:hover .location-drawer-business{
475        color: #ffffff !important;
476    }
477    .location-border:hover span{
478        color: #ffffff !important;
479    }
480    .location-border span.drawer_delivery{
481        color: #000000 !important;
482    }
483    /* search bar style */
484    .ecwid-search-widget__input{
485        border: 1px solid #cc1c22 !important;
486        height: 3.2em !important;
487    }
488    .ecwid-search-widget__btn{
489        height: 3.2em !important;
490        border: 1px solid #cc1c22 !important;
491        background: #cc1c22 !important;
492        width: 40px !important;
493    }
494    .ecwid-search-widget__btn:hover{
495        opacity: 1 !important;
496    }
497    html#ecwid_html body#ecwid_body .ec-minicart__icon .icon-default path[stroke],html#ecwid_html body#ecwid_body .ec-minicart__icon .icon-default circle[stroke]{
498        stroke: #cc1c22 !important;
499    }
500    html#ecwid_html body#ecwid_body .ec-minicart--m .ec-minicart__counter::after{
501        background-color: #cc1c22 !important;
502    }
503    .ec-notice__text-inner {
504        color: #000000!important;
505    }
506    /*** Mega Menu ***/
507    @media (min-width: 991px) {
508        .custom-mega-menu-link:after {
509            content: '';
510            display: block;
511            width: 40px;
512            border-bottom: 2px solid #cc1c22  !important;
513        }
514
515        #primary-menu ul li .mega-menu-content div.mega-menu-container-div {
516            background-color:   !important;
517        }
518        .animal-li {
519            background-color: #cc1c22 !important;
520            border-color: #cc1c22  !important;
521        }
522        .dark #primary-menu:not(.not-dark) ul ul li>a.nav-link{
523            color: #2b2b2b !important;
524            transition: none !important;
525        }
526
527        .dark #primary-menu:not(.not-dark) ul ul li.animal-li>a.nav-link {
528            color: #ffffff !important;
529            transition: none !important;
530        }
531        .dark #primary-menu ul li .mega-menu-content ul li a.animal-a:hover {
532            color: #ffffff !important;
533        }
534        #primary-menu ul li .mega-menu-content ul.mega-menu-column-ul{
535            background-color: #ffffff  !important;
536            border-color: #ffffff  !important;
537        }
538
539        #primary-menu ul li .mega-menu-content ul > li.menu-item.sub-menu.mega-menu-category-title > a{
540            background-color: #ffffff  !important;
541            border-color: #ffffff  !important;
542            color: #2b2b2b  !important;
543        }
544
545        #primary-menu ul li .mega-menu-content ul >
545 li.menu-item.sub-menu.mega-menu-category-title ul li.sub-menu-mega-menu > a{
546            background-color: #ffffff  !important;
547            border-color: #ffffff  !important;
548            color: #2b2b2b  !important;;
549        }
550        #primary-menu ul li .mega-menu-content ul > li.menu-item.sub-menu.mega-menu-category-title ul.supplies-container-1,
551        #primary-menu ul li .mega-menu-content ul > li.menu-item.sub-menu.mega-menu-category-title ul.supplies-container-2,
552        #primary-menu ul li .mega-menu-content ul > li.menu-item.sub-menu.mega-menu-category-title ul.supplies-container-3{
553            border-color: #ffffff  !important;
554        }
555
556        #primary-menu ul li .mega-menu-content ul > li.menu-item.sub-menu.mega-menu-category-title:hover > a {
557            background-color: unset !important;
558            border-color: unset !important;
559            padding-left: 15px !important;
560        }
561
562        #primary-menu ul li .mega-menu-content ul > li.menu-item.sub-menu.mega-menu-category-title ul li.sub-menu-mega-menu:hover > a {
563            background-color: #ffffff  !important;
564            border-color: #ffffff  !important;
565            color: #cc1c22  !important;
566            padding-left: 15px !important;
567        }
568
569        .custom-mega-submenu-title {
570            color:   !important;
571        }
572    }
573        /***/
574    #return-to-top{
575        background-color: #cc1c22 !important;
576    }
577    body#ecwid_body .heading-block .small-text #my-categories-0 {
578        margin-top: 30px;
579    }
580    .blog-search-button {
581        background-color: #cc1c22  !important;
582    }
583
584/* --- NWP-3809 Style Overrides --- */
585
586/* Services */
587.home-service-section h2, .home-service-container h2 { font-size: 36px !important; }
588.home-service-section p, .home-service-container p, .home-service-section .small-text, .home-service-container .small-text { font-size: 22px !important; }
589.home-service-section .service-carousel-desc p { font-size: 22px !important; } 
590
591/* Brands */
592.home-brand-section h2, .pet-brand-section h2, .home-brand-container h2 { font-size: 36px !important; }
593.home-brand-section p, .pet-brand-section p, .home-brand-container p, .home-brand-section .small-text, .pet-brand-section .small-text { font-size: 22px !important; }
594
595/* Gallery */
596.gallery-section h2, .gallery-section h3 { font-size: 36px !important; }
597.gallery-section p, .gallery-section .small-text { font-size: 22px !important; }
598
599/* Reviews */
600.review-section h2, .review-section h2.review-title-color { font-size: 36px !important; }
601/* Description text for reviews */
602.review-section > .container > .row > .heading-block > span, .review-section .review_text_inner.small-text, .review-section p.review-description-color { font-size: 22px !important; }
603/* Trusted / h3 */
604.review-section h3, .review-section label[data-testid="review-count"], .review-section p[style*="bold"], .review-section div[style*="bold"] { font-size: 20px !important; }
605/* Review div */
606.review-section .review_card_carousel_child_description p, .review-section div.testi-content p, .review-section .review_testimonial_description p, .review-section .review-text-color, .review-section .review_testimonial_description { font-size: 14px !important; }
607span.review_testimonial_author { font-size: 14px !important; }
608
609/* Home page widget width fixes (About Us to match others) */
610.aboutus-container, .aboutus_row, .aboutus_content {
611    width: 100% !important;
612    max-width: 1170px !important;
613    margin-left: auto !important;
614    margin-right: auto !important;
615}
616
617/* --- End NWP-3809 --- */
618
619/* More Home Page Widgets (NWP-3809) */
620.home-blog-section h2, .home-event-section h2, .home-promotion-section h2, 
621.home-about-section h2, .home-aboutus-section h2, .aboutus_section h2, 
622.hero-section h2, .meet-section h2, .team_section h2, .home-multi-location-section h2 {
623    font-size: 36px !important;
624}
625
626.home-blog-section .small-text, .home-event-section .small-text, .home-promotion-section .small-text, 
627.home-about-section p, .home-aboutus-section p, .aboutus_section p, 
628.hero-section p, .meet-section p, .team_section p, .home-multi-location-section .small-text, .team-member-description p, .member-bio p {
629    font-size: 22px !important;
630}
631/* End More Home Page Widgets */
632</style>
633    
634</head>
635<body class="stretched">
636<div class="body-overlay"></div>
637
638
639<div id="wrapper" class="clearfix">
640                <style>
641    .open > .social-share, .promotion-container .dropdown-menu{
642        text-align: center !important;
643    }
644    html#ecwid_html body#ecwid_body .ec-size .ec-store .grid-product__title-inner, html#ecwid_html body#ecwid_body .ec-size .ec-store .grid-product__price-amount, html#ecwid_html body#ecwid_body .ec-size .ec-store .product-details__product-price, html#ecwid_html body#ecwid_body .ecwid, html#ecwid_html body#ecwid_body .ec-size .ec-store .form-control--secondary .form-control__button, html#ecwid_html body#ecwid_body .ec-size .ec-store .form-control__text, html#ecwid_html body#ecwid_body .ec-size .ec-store .form-control__textarea, html#ecwid_html body#ecwid_body .ec-size .ec-store .form-control--radio{
645        color: #333;
646    }
647    html#ecwid_html body#ecwid_body .ec-pika-single, html#ecwid_html body#ecwid_body .ec-pika-button, html#ecwid_html body#ecwid_body .ec-pika-label, html#ecwid_html body#ecwid_body .ec-pika-label:visited, html#ecwid_html body#ecwid_body .ec-size .ec-store .form-control--error .form-control__text, html#ecwid_html body#ecwid_body .ec-size .ec-store .details-product-purchase__qty-field .form-control__placeholder{
648        color: #000000;
649    }
650    input#ec-cart-email-input{
651        color: #000000;
652        font-weight: 400;
653    }
654    @media(max-width: 1200px) and (min-width:1000px) {
655        .menu-top {
656            padding-top: 9%;
657        }
658    }
659    @media (min-width: 800px) and (max-width: 2000px) and (orientation: landscape) {
660        .ec-cart-widget.ec-cart-desktop {
661            display: block !important;
662        }
663        .ec-cart-widget.mobile{
664            display: none !important;
665        }
666    }
667    @media (min-width: 1028px) and (max-width: 2000px) and (orientation: portrait) {
668        .ec-cart-widget.ec-cart-desktop {
669            display: block !important;
670        }
671        .ec-cart-widget.mobile{
672            display: none !important;
673        }
674    }
675</style>
676<header id="header" class="transparent-header dark full-header" data-sticky-class="dark">
677                        <style>
678    .si-gplus:hover, .si-colored.si-gplus{
679        background-color: #ffffff !important;
680    }
681    .top-links ul li{
682        border-left: unset !important;
683    }
684    .loc-topbar-li:hover{
685        background-color: transparent !important;
686
687    }
688    .loc-header-icon-span {
689        background-color: #ffffff !important;
690    }
691    .loc-header-icons{
692        color: #cc1c22  !important
693    }
694    .hour-cursor {color: inherit !important;}
695</style>
696<div id="top-bar" class="transparent-topbar hidden-sm hidden-xs">
697    
698    <div class="col_half nobottommargin clearfix col-md-1 top-left">
699        <div class="top-links">
700            <ul>
701                
702
703
704
705
706
707
708
709
710
711                    <li class="mobile-top-links"><a target="_blank" class="mapLink"
712                                                    href="https://www.google.com/maps/place/search?q=Scratch+and+Sniff+Pet+Supplies+3336+Paper+Mill+Rd+Jacksonville+MD+21131&amp;place_id=ChIJyYUT3rEMyIkRsFm1CD1RDbk">
713                            <span class="ts-icon get-direction-btn"><i class="fas fa-map-marker-alt"></i></span>
714                            <span class="ts-text get-direction-btn">3336 Paper Mill Rd,  Jacksonville,  MD
715                            &nbsp;21131</span></a>
716                    </li>
717                                                        <li class="hour-li mobile-top-links">
718                        <a class="hour-cursor"><span class="ts-icon"><i class="far fa-clock"></i></span>
719                            <span class="ts-text">
720                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        
721                                                Open Today:
722                                                                                                            10:00 am - 5:00 pm                                                                                                                                                                                                                                                                                                                            </span>
723                        </a>
724                    </li>
725                            </ul>
726        </div>
727    </div>
728    <div class="col_half fright col_last nobottommargin clearfix">
729        <!-- Top Social
730          ============================================= -->
731        <div id=
732                     "top-social">
733            <ul>
734                                                                                                                                                                                                                <li><a href="https://www.facebook.com/ScratchandSniffPetSupplies/" target="_blank" class="si-facebook" data-hover-width="109"><span
735                                                class="ts-icon"><i class="fab fa-facebook"></i></span><span
736                                                class="ts-text">Facebook</span></a></li>
737                            
738                            
739                            
740                            
741                            
742                            
743                            
744                                                                                                                                                                                    
745                            
746                                                            <li><a href="https://twitter.com/scratchsniff_MD" target="_blank" class="si-twitter" data-hover-width="109"><span
747                                                class="ts-icon"><i class="fab fa-twitter"></i></span><span
748                                                class="ts-text">Twitter</span></a></li>
749                            
750                            
751                            
752                            
753                            
754                                                                                                                                                                                                                                                                                                                        
755                                                            <li><a href="https://www.instagram.com/scratchandsniffpetsupplies/" target="_blank" class="si-instagram" data-hover-width="109"><span
756                                                class="ts-icon"><i class="fab fa-instagram"></i></span><span
757                                                class="ts-text">Instagram</span></a></li>
758                            
759                            
760                            
761                            
762                            
763                            
764                                                                                                                                                                                    
765                            
766                            
767                            
768                            
769                            
770                            
771                                                            <li><a href="https://www.yelp.com/biz/scratch-and-sniff-pet-supplies-phoenix-2" target="_blank" class="si-yelp" data-hover-width="109"><span
772                                                class="ts-icon"><i class="fab fa-yelp"></i></span><span
773                                                class="ts-text yelp-span">Yelp</span></a></li>
774                                                                                                                                                                                                                                <sp
774an class="top_phone">
775                        <a href="tel:(410) 667-6433">
776                            <span class="ts-icon call-us-btn">
777                                <i class="fas fa-phone call-us-btn" style="transform: rotate(90deg) !important;"></i>
778                            </span>
779                            <span class="ts-text call-us-btn">(410) 667-6433</span>
780                        </a>
781                    </span>
782                            </ul>
783        </div><!-- #top-social end -->
784    </div>
785    
786</div>
787     <div id="top-bar" class="transparent-topbar hidden-md hidden-lg mobile-topbar">
788        <div class="col-xs-12 nobottommargin clearfix">
789                                            <div class="hour-li mobile-top-links single-hour-div">
790                    <a class="hour-cursor"><span class="ts-icon"><i class="far fa-clock"></i></span>
791                        <span class="ts-text">
792                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              
793                                            Open Today:
794                                                                                            10:00 am - 5:00 pm                                                                                                                                                                                                                                                                                            </span>
795                    </a>
796                </div>
797                        <div class="top-links text-center loc-toplinks">
798                <ul>
799                                        <li class="loc-li loc-topbar-li">
800                         <span class="header-icons-span loc-header-icon-span hidden-lg hidden-md loc-call-span">
801                            <a href="tel:(410) 995-9736"><i class="fas fa-phone header-icons loc-header-icons call-us-btn" style="transform: rotate(90deg) !important;"></i></a>
802                         </span>
803                    </li>
804                                        <li class="loc-li loc-topbar-li">
805                        <span class="header-icons-span loc-header-icon-span fa fa-left hidden-lg hidden-md loc-direction-span single-direction-span">
806                            <a target="_blank" class="mapLink"
807                               href="https://www.google.com/maps/place/search?q=Scratch+and+Sniff+Pet+Supplies+3336+Paper+Mill+Rd+Jacksonville+MD+21131&amp;place_id=ChIJyYUT3rEMyIkRsFm1CD1RDbk"><i
808                                        class="fas fa-map-marker-alt header-icons loc-header-icons get-direction-btn"></i></a>
809                        </span>
810                    </li>
811                </ul>
812            </div>
813        </div>
814    </div>
815<script defer>
816    $('document').ready(function(){
817        $('.top-links ul li.location-drawer').css({cursor: "pointer"});
818    })
819    document.addEventListener("DOMContentLoaded", function () {
820    const mapLinks = document.getElementsByClassName("mapLink");
821    const isMobile = window.innerWidth <= 768;
822
823    if (isMobile) {
824        Array.from(mapLinks).forEach(link => {
825        let originalLink = link.href;
826
827            if (originalLink.includes("https://www.google.com/maps/place/search?q=")) {
828                let newLink = originalLink.replace(
829                    "https://www.google.com/maps/place/search?q=",
830                    "https://www.google.com/maps/search/?api=1&query="
831                );
832                link.href = newLink;
833            }
834        });
835    }
836});
837
838</script>
838                        <div id="header-wrap" style="display:block">
839            <div class="container-fluid clearfix ">
840                <div id="primary-menu-trigger" class="single-menu-trigger">
841                    <i class="fas fa-bars"></i>
842                    <span class="mobile_menu_text"> MENU </span>
843                </div>
844                <!-- Logo ============================================= -->
845                                <div id="logo" class="mobile-header-logo ">
846                                                                                                                                                                                                <a href="/"
847                                       class="standard-logo logo-adjustment" data-dark-logo="https://ik.imagekit.io/0ofixtqpt/666443/Background.png">
848                                        <img src="https://ik.imagekit.io/0ofixtqpt/666443/Background.png" alt="Scratch and Sniff Pet Supplies Logo" class="logo-adjustment-img">
849                                    </a>
850                                    <a href="/"
851                                       class="retina-logo logo-alignment logo-adjustment" data-dark-logo="https://ik.imagekit.io/0ofixtqpt/666443/Background.png">
852                                        <img src="https://ik.imagekit.io/0ofixtqpt/666443/Background.png" alt="Scratch and Sniff Pet Supplies Logo" class="logo-adjustment-img">
853                                    </a>
854                                                                                                                                            </div><!-- #logo end -->
855                <!-- Mobile search box -->
856                                <!-- Mobile search box end -->
857                <!-- Primary Navigation============================================= -->
858                <nav id="primary-menu" class="menu-top" style="">
859                    <ul id="">
860                                                <div id="ecwidSearch-desktop" class="alignleft">
861                                                    </div>
862                                                                                    <style>
863    .menu-btn{
864        border-radius: 30px;
865    }
866
867    #header.sticky-header:not(.static-sticky) #primary-menu > ul > li > a{
868        padding-top: 19px;;
869    }
870
871        @media (max-width: 991px) {
872            .custom-btn {
873            display: inline-block;
874            width: 48%;
875            margin-right: 2%;
876        }
877    }
878
879    </style>
880
881            <li class="current sub-menu click-class ">
882
883                            <a class="" href="/pet-food-supply/" title="Pet Supply Near Jacksonville"                 style=""
884                >
885                <div class=""
886                    style="">
887                    Pet Supply
888                </div>
889            </a>
890                                      <ul style="">
891                                                                                <li>
892                                                                                        <a href="/dog-food-supply/" title="Dog Food &amp; Supplies Near Jacksonville" >
893                                    <div>Dog Food &amp; Supplies</div>
894                                </a>
895                                                    </li>
896                                                                                                    <li>
897                                                                                        <a href="/cat-food-supply/" title="Cat Food &amp; Supplies Near Jacksonville" >
898                                    <div>Cat Food &amp; Supplies</div>
899                                </a>
900                                                    </li>
901                                                                                                    <li>
902                                                                                        <a href="/bird-food-supply/" title="Bird Food &amp; Supplies Near Jacksonville" >
903                                    <div>Bird Food &amp; Supplies</div>
904                                </a>
905                                                    </li>
906                                                                                                    <li>
907                                                                                        <a href="/small-pet-food-supply/" title="Small Pet Food &amp; Supplies Near Jacksonville" >
908                                    <div>Small Pet Food &amp; Supplies</div>
909                                </a>
910                                                    </li>
911                                                </ul>
912            </li>
913                                                                                                                                                <style>
914    .menu-btn{
915        border-radius: 30px;
916    }
917
918    #header.sticky-header:not(.static-sticky) #primary-menu > ul > li > a{
919        padding-top: 19px;;
920    }
921
922        @media (max-width: 991px) {
923            .custom-btn {
924            display: inline-block;
925            width: 48%;
926            margin-right: 2%;
927        }
928    }
929
930    </style>
931
932            <li class=" sub-menu click-class ">
933
934                            <a class="" href="/brands/" title="Brands Near Jacksonville"                 style=""
935                >
936                <div class=""
937                    style="">
938                    Brands
939                </div>
940            </a>
941                                      <ul style="">
942                                                                                <li>
943                                                                                        <a href="/brands/" title="Farmina Pet Foods Near Jacksonville" >
944                                    <div>Farmina Pet Foods</div>
945                                </a>
946                                                    </li>
947                                                                                                    <li>
948                                                                                        <a href="/brands/" title="Fromm Near Jacksonville" >
949                                    <div>Fromm</div>
950                                </a>
951                                                    </li>
952                                                                                                    <li>
953                                                                                        <a href="/brands/" title="Orijen Near Jacksonville" >
954                                    <div>Orijen</div>
955                                </a>
956                                                    </li>
957                                                                                                    <li>
958                                                                                        <a href="" title="RAWZ Near Jacksonville" >
959                                    <div>RAWZ</div>
960                                </a>
961                                                    </li>
962                                                                                                    <li>
963                                                                                        <a href="/brands/" title="Weruva Near Jacksonville" >
964                                    <div>Weruva</div>
965                                </a>
966                                                    </li>
967                                                                                                    <li>
968                                                                                        <a href="/brands/" title="See All Brands Near Jacksonville" >
969                                    <div>See All Brands</div>
970                                </a>
971                                                    </li>
972                                                </ul>
973            </li>
974                                                                                                                                                <style>
975    .menu-btn{
976        border-radius: 30px;
977    }
978
979    #header.sticky-header:not(.static-sticky) #primary-menu > ul > li > a{
980        padding-top: 19px;;
981    }
982
983        @media (max-width: 991px) {
984            .custom-btn {
985            display: inline-block;
986            width: 48%;
987            margin-right: 2%;
988        }
989    }
990
991    </style>
992
993            <li class="  ">
994
995                            <a class="" href="/self-service-dog-wash/" title="Self
995-Serve Dog Wash Near Jacksonville"                 style=""
996                >
997                <div class=""
998                    style="">
999                    Self-Serve Dog Wash
1000                </div>
1001            </a>
1002                              </li>
1003                                                                                                                                                <style>
1004    .menu-btn{
1005        border-radius: 30px;
1006    }
1007
1008    #header.sticky-header:not(.static-sticky) #primary-menu > ul > li > a{
1009        padding-top: 19px;;
1010    }
1011
1012        @media (max-width: 991px) {
1013            .custom-btn {
1014            display: inline-block;
1015            width: 48%;
1016            margin-right: 2%;
1017        }
1018    }
1019
1020    </style>
1021
1022            <li class=" sub-menu click-class ">
1023
1024                            <a class="" href="/services/" title="Services Near Jacksonville"                 style=""
1025                >
1026                <div class=""
1027                    style="">
1028                    Services
1029                </div>
1030            </a>
1031                                      <ul style="">
1032                                                                                <li>
1033                                                                                        <a href="/pet-food-supply/" title="Pet Supply Store Near Jacksonville" >
1034                                    <div>Pet Supply Store</div>
1035                                </a>
1036                                                    </li>
1037                                                                                                    <li>
1038                                                                                        <a href="/nutritional-counseling/" title="Nutritional Counseling Near Jacksonville" >
1039                                    <div>Nutritional Counseling</div>
1040                                </a>
1041                                                    </li>
1042                                                                                                    <li>
1043                                                                                        <a href="/local-delivery/" title="Local Delivery &amp; Curbside Pickup Near Jacksonville" >
1044                                    <div>Local Delivery &amp; Curbside Pickup</div>
1045                                </a>
1046                                                    </li>
1047                                                                                                    <li>
1048                                                                                        <a href="/pet-adoptions/" title="Supporting Pet Adoptions Near Jacksonville" >
1049                                    <div>Supporting Pet Adoptions</div>
1050                                </a>
1051                                                    </li>
1052                                                                                                    <li>
1053                                                                                        <a href="/dog-bakery/" title="Dog Bakery Near Jacksonville" >
1054                                    <div>Dog Bakery</div>
1055                                </a>
1056                                                    </li>
1057                                                                                                    <li>
1058                                                                                        <a href="/pet-food-pick-up/" title="Pickup Services Near Jacksonville" >
1059                                    <div>Pickup Services</div>
1060                                </a>
1061                                                    </li>
1062                                                </ul>
1063            </li>
1064                                                                                                                                                <style>
1065    .menu-btn{
1066        border-radius: 30px;
1067    }
1068
1069    #header.sticky-header:not(.static-sticky) #primary-menu > ul > li > a{
1070        padding-top: 19px;;
1071    }
1072
1073        @media (max-width: 991px) {
1074            .custom-btn {
1075            display: inline-block;
1076            width: 48%;
1077            margin-right: 2%;
1078        }
1079    }
1080
1081    </style>
1082
1083            <li class="  ">
1084
1085                            <a class="" href="/events/" title="Events Near Jacksonville"                 style=""
1086                >
1087                <div class=""
1088                    style="">
1089                    Events
1090                </div>
1091            </a>
1092                              </li>
1093                                                                                                                                                <style>
1094    .menu-btn{
1095        border-radius: 30px;
1096    }
1097
1098    #header.sticky-header:not(.static-sticky) #primary-menu > ul > li > a{
1099        padding-top: 19px;;
1100    }
1101
1102        @media (max-width: 991px) {
1103            .custom-btn {
1104            display: inline-block;
1105            width: 48%;
1106            margin-right: 2%;
1107        }
1108    }
1109
1110    </style>
1111
1112            <li class=" sub-menu click-class ">
1113
1114                            <a class="" href="/deals/" title="Promos Near Jacksonville"                 style=""
1115                >
1116                <div class=""
1117                    style="">
1118                    Promos
1119                </div>
1120            </a>
1121                                      <ul style="">
1122                                                                                <li>
1123                                                                                                                                        <a href="https://secure.astroloyalty.com/?ld=xZzugnkcBMFfSCrUB%2Fc%3D" title="Astro Loyalty Program Near Jacksonville" target=_blank>
1124                                            <div>Astro Loyalty Program</div>
1125                                        </a>
1126                                                                                                                        </li>
1127                                                </ul>
1128            </li>
1129                                                                                                                                                <style>
1130    .menu-btn{
1131        border-radius: 30px;
1132    }
1133
1134    #header.sticky-header:not(.static-sticky) #primary-menu > ul > li > a{
1135        padding-top: 19px;;
1136    }
1137
1138        @media (max-width: 991px) {
1139            .custom-btn {
1140            display: inline-block;
1141            width: 48%;
1142            margin-right: 2%;
1143        }
1144    }
1145
1146    </style>
1147
1148            <li class=" sub-menu click-class ">
1149
1150                            <a class="" href="/about-us/" title="About Near Jacksonville"                 style=""
1151                >
1152                <div class=""
1153                    style="">
1154                    About
1155                </div>
1156            </a>
1157                                      <ul style="">
1158                                                                                <li>
1159                                                                                        <a href="/reviews/" title="Online Reviews Near Jacksonville" >
1160                                    <div>Online Reviews</div>
1161                                </a>
1162                                                    </li>
1163                                                                                                    <li>
1164                                                                                        <a href="/blog/" title="Blog Near Jacksonville" >
1165                                    <div>Blog</div>
1166                                </a>
1167                                                    </li>
1168                                                </ul>
1169            </li>
1170                                                                                                                                                <style>
1171    .menu-btn{
1172        border-radius: 30px;
1173    }
1174
1175    #header.sticky-header:not(.static-sticky) #primary-menu > ul > li > a{
1176        padding-top: 19px;;
1177    }
1178
1179        @media (max-width: 991px) {
1180            .custom-btn {
1181            display: inline-block;
1182            width: 48%;
1183            margin-right: 2%;
1184        }
1185    }
1186
1187    </style>
1188
1189            <li class="  ">
1190
1191                            <a class="" href="/contact-us/" title="Contact Near Jacksonville"                 style=""
1192                >
1193                <div class=""
1194                    style="">
1195                    Contact
1196                </div>
1197            </a>
1198                              </li>
1199                                                                                                                                </ul>
1200                </nav><!-- #primary-menu end -->
1201            </div>
1202        </div>
1203    </header>
1204<div id="side-panel">
1205    <div class="side-panel-wrap">
1206        <div class="drawer-title">
1207            <button type="button" class="close drawer-close" data-dismiss="alert" aria-label="Close">
1208                <span aria-hidden="true" class="drawer-close-icon">×</span>
1209            </button>
1210            <h3 class="drawer-title-name"><i class="fas fa-map-marker-alt"></i> &nbsp; Find Your Store </h3>
1211        </div>
1212        <div class="drawer-card">
1213            <div class="zip-code-div">
1214                <input type="text" class="zip-code-search" id="zipCode" data-id="zip-code-input" placeholder="Enter Zip Code" maxlength="5" />
1215                <button type="submit" id="zipSearch" class="loc-search-button"><i class="fas fa-search search-icon"></i></button>
1216            </div>
1217            <span class="zip-error"></span>
1218                            <h2 id="all-show" class="local-store-link"> All Locations </h2>
1219                        <img src="https://ik.imagekit.io/0ofixtqpt/143715/preloader-dark.gif" id="loader-location" class="loader-location"/>
1220            <div class="show-location">
1221                <a class="location-drawer-anchor locationSelect" data-slug="jacksonville" data-name="jacksonville" href="javascript:;" data-href="/">
1222            <div class="client-location location-border">
1223                <h3 class="notopmargin nobottommargin location-drawer-business">
1224                    Jacksonville
1225                </h3>
1226                <span>
1227                    <i class="fas fa-map-marker-alt"></i> &nbsp;3336 Paper Mill Rd,  Jacksonville, MD 21131
1228                </span>
1229                <br />
1230                                    <span>
1231                        <i class="fas fa-phone" style="transform: rotate(90deg) !important;"></i>&nbsp;&nbsp;(410) 667-6433
1232                    </span>
1233                    <br />
1234                
1235                <span class="hours-drawer">
1236                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            Open Today Until 5:00 pm
1237                                                                                                                                                                                                                                                                                                                            </span>
1238                <span class="drawer_delivery">
1239                    <br />
1240                    In-Store Pickup, Curbside Pickup, Local Delivery, Same Day Delivery, No Contact Delivery Available
1241                </span>
1242            </div>
1243        </a>
1244                        </div>
1245        </div>
1246    </div>
1247</div>
1248<script>
1249    let ecwid_count = '0';
1250    ecwid_count = parseInt(ecwid_count);
1251    let selectedLocation = localStorage.getItem('selected_location');
1252    if(localStorage.getItem('drawer_flag') == null && ecwid_count > 1){
1253        localStorage.setItem('drawer_flag',1);
1254        $("body").addClass('side-panel-open');
1255    }else{
1256        localStorage.setItem('drawer_flag',0);
1257        $("body").removeClass('side-panel-open');
1258    }
1259    var loc = $('#client_location').val();
1260    localStorage.setItem('selected_location', loc);
1261    $('a[data-slug='+loc+']').children().addClass('locationBrd');
1262    $('#loader-location').css('display','none');
1263    $('body').on('click', '.locationSelect', function () {
1264        let slug = $(this).data('slug');
1265        let hqName = $(this).data('name');
1266
1267        let previousSlug = localStorage.getItem('selected_location');
1268
1269        // Check if same slug is clicked
1270        const isLocationSelected = previousSlug === slug;
1271        const isHQSelectedAndLocationEmpty = slug === hqName && previousSlug === '';
1272
1273        let shouldCloseDrawer = isLocationSelected || isHQSelectedAndLocationEmpty;
1274
1275        // If the HQ is selected, set the slug to an empty string
1276        if (slug === hqName) {
1277            slug = '';
1278        }
1279
1280        // Update the selected location in localStorage
1281        localStorage.setItem('selected_location', slug);
1282
1283        if (shouldCloseDrawer) {
1284            document.querySelector('.drawer-close').click();
1285        } else {
1286            redirectToLocation(slug, previousSlug, hqName)
1287        }
1288    });
1289
1290    function redirectToLocation(slug, previousSlug, hqName) {
1291        // Get the current URL path
1292        let currentPath = window.location.pathname;
1293
1294        // Check the previous slug with HQ
1295        if (previousSlug === hqName) {
1296            previousSlug = '';
1297        }
1298
1299        // Determine the new URL path and redirect
1300        let newPath = previousSlug
1301            ? replaceOrRemoveLocationInUrl(slug, currentPath)
1302            : `/${slug}${currentPath}`;
1303
1304        // Redirect to the new URL
1305        location.href = newPath;
1306    }
1307
1308    function replaceOrRemoveLocationInUrl(newLocation, currentPath) {
1309        // Use a regular expression to match the location part (only the first segment after the domain)
1310        let newPath = currentPath.replace(/\/[^\/]+/, newLocation ? `/${newLocation}` : '');
1311
1312        // Ensure the new path starts with a slash
1313        if (!newPath.startsWith('/')) {
1314            newPath = '/' + newPath;
1315        }
1316
1317        return newPath;
1318    }
1319
1320    $("#zipCode").keyup(function(){
1321        this.value = this.value.replace(/[^0-9]/g,'');
1322    });
1323
1324    // Function to handle zip code search actions
1325    function handleZipSearch() {
1326        $('.show-location').css('display', 'none');
1327        $('#loader-location').css('display', 'block');
1328        $('#all-show').html('Nearby Store');
1329        search();
1330    }
1331
1332    // Attach keypress event to zip code search input
1333    $('.zip-code-search').keypress(function (e) {
1334        if (e.which === 13) {
1335            handleZipSearch();
1336        }
1337    });
1338
1339    // Attach click event to zip search button
1340    $('#zipSearch').click(function () {
1341        handleZipSearch();
1342    });
1343
1344    function search() {
1345        let location = $('input[name=location_id]').val();
1346        let zip = $('#zipCode').val();
1347        if(zip !== '' && zip.length < 5){
1348            $('.zip-error').html("Error: Please enter a valid ZIP code");
1349            $('.local-store-link').attr('style', 'margin-top:5% !important');
1350            $('#loader-location').css('display','none');
1351            return false;
1352        } else {
1353            $('.zip-error').html("");
1354            $('#all-show').attr('style', 'margin-top:0% !important','display: block');
1355            $('#ecwid-show').attr('style', 'margin-top:0% !important','display: block');
1356        }
1357
1358        // If no zip code is provided, show all the locations
1359        if(zip === '') {
1360            $('#all-show').html('All Locations');
1361        }
1362
1363        let url = '/zipSearch/';
1364        $.ajax({
1365            headers: {
1366                'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
1367            },
1368            type: 'POST',
1369            url: url,
1370            data: {'currentLoc': location,'zip' : zip},
1371            success: function (response) {
1372                $('.show-location').css('display','block');
1373                $('#loader-location').css('display','none');
1374                $('.show-location').html(response);
1375                $('a[data-slug='+loc+']').children().addClass('locationBrd');
1376            }
1377        });
1378    }
1379    $('.drawer-close').on('click', function(){
1380        $("body").removeClass('side-panel-open');
1381        $('#all-show').html('All Locations');
1382        $('#ecwid-show').html('Choose a Store to Buy Online');
1383        $('#zipCode').val('');
1384    });
1385</script>
1385<script>
1386    let ecwidMobileSearch = $('#ecwidSearch-mobile');
1387    let ecwidDesktopSearch = $('#ecwidSearch-desktop');
1388    window.addEventListener("orientationchange", function() {
1389        if (window.matchMedia("(orientation: portrait)").matches) {
1390            showPortraitSearch();
1391        }
1392        if (window.matchMedia("(orientation: landscape)").matches) {
1393            showLandscapeSearch();
1394        }
1395    }, false);
1396    var logoPosition = '1';
1397    var captcha_key = '6LfcAGMpAAAAAL68qM6-xqbJeELRxV4MPPD71y27';
1398    var wwidth = 0;
1399    function dynamic_padding() {
1400        $('#header-wrap').show();
1401        var p = 0;
1402        $('#primary-menu > ul > li').each(function (x, y) {
1403            p += $(y).width();
1404        });
1405        var w = $('#primary-menu').width();
1406        var actual_width = w - p;
1407        var count_li = $('#primary-menu > ul > li').length + 2;
1408        var padding_width = actual_width / count_li;
1409        $('#primary-menu > ul > li').each(function () {
1410            $(this).attr('style', 'padding-right:' + padding_width + 'px !important;');
1411        });
1412        $('#primary-menu > ul > li:first').attr('style', 'padding-left:' + padding_width + 'px !important;padding-right: ' + padding_width + 'px !important;');
1413        wwidth = $(window).width();
1414    }
1415
1416    $(window).resize(function () {
1417        if (wwidth != $(window).width() && ($(window).width() > '768')) {
1418            if (logoPosition > 1) {
1419                dynamic_padding();
1420            }
1421        }
1422    });
1423    if (logoPosition > 1 && ($(window).width() > '768')) {
1424        setTimeout( dynamic_padding, 500);
1425    }
1426
1427    $(document).ready(function (){
1428        if (window.matchMedia("(orientation: landscape)").matches) {
1429            // console.log('landscape');
1430            showLandscapeSearch();
1431        }
1432        if (window.matchMedia("(orientation: portrait)").matches) {
1433            ecwidDesktopSearch.hide();
1434            
1435            
1436        }
1437    });
1438
1439    /**
1440     * show portrait search box
1441     */
1442    function showPortraitSearch()
1443    {
1444        let desktopSearch = ecwidDesktopSearch.html();
1445        ecwidDesktopSearch.html('').hide();
1446        ecwidMobileSearch.show().html(desktopSearch);
1447        $('#my-search-').removeClass('search-products-desktop').addClass('search-products-mobile');
1448    }
1449
1450    /**
1451     * show landscape search box
1452     */
1453    function showLandscapeSearch()
1454    {
1455        let mobileSearch = ecwidMobileSearch.html();
1456        ecwidMobileSearch.html('').hide();
1457        ecwidDesktopSearch.show().html(mobileSearch);
1458        $('#my-search-').removeClass('search-products-mobile').addClass('search-products-desktop');
1459    }
1460</script>
1460        
1461    <section id="page-title"
1462                 class="page-title-parallax page-title-dark page-title-right hero-bg-image mobile-main-land-section mobile-page-title"
1463                 data-stellar-background-ratio="0.2">
1464            <div class="home-overlay"></div>
1465            <div class="container clearfix center bottommargin-sm-6 hero-title-div">
1466                <h1 class="hero-title">
1467                                            About Scratch and Sniff Pet Supplies
1468                                    </h1>
1469                
1470                                                                            <a  href="/contact-us/"
1471                           class="button slide_btn_right button-large button-rounded hero-btn noleftmargin topmargin-sm main-widget-image-button sub-page-cta-btn-2 "
1472                           style="background-color: #000000">
1473                            Contact Us
1474                        </a>
1475                                                </div>
1476
1477        </section>
1478        
1478<script>
1479        $(document).ready(function () {
1480            let options = {};
1481            let moptions = {};
1482            $(".pet-brand-btn").click(function () {
1483                $('html, body').animate({scrollTop: $('#pet-brand').offset().top - 250}, '200');
1484            });
1485
1486            var timer = 1;
1487                        var count = parseInt(0); // desktop slide count
1488            var mcount = parseInt(0); // mobile slide count
1489            if(count > 1){ // if greater than 1 slide in desktop then loop true
1490                options = {
1491                    loop: false,
1492                                        autoplay: {
1493                                                delay: '5000',
1494                                                disableOnInteraction: false,
1495                    },
1496                                        navigation: {
1497                        nextEl: '.swiper-button-next',
1498                        prevEl: '.swiper-button-prev',
1499                    },
1500                    pagination: {
1501                        el: '.swiper-pagination',
1502                        clickable: true,
1503                    }
1504                }
1505            } else{ // if ony 1 slide in desktop then loop set to false
1506                options = {
1507                    loop: false,
1508                                        autoplay: {
1509                                                delay: '5000',
1510                                                disableOnInteraction: false,
1511                    },
1512                                        navigation: {
1513                        nextEl: '.swiper-button-next',
1514                        prevEl: '.swiper-button-prev',
1515                    },
1516                    pagination: {
1517                        el: '.swiper-pagination',
1518                        clickable: true,
1519                    }
1520                }
1521            }
1522
1523            if(mcount > 1){ // if greater than 1 slide in mobile then loop true
1524                moptions = {
1525                    loop: false,
1526                                        autoplay: {
1527                                                delay: '5000',
1528                                                disableOnInteraction: false,
1529                    },
1530                                        navigation: {
1531                        nextEl: '.swiper-button-next',
1532                        prevEl: '.swiper-button-prev',
1533                    },
1534                    pagination: {
1535                        el: '.swiper-pagination',
1536                        clickable: true,
1537                    }
1538                }
1539            } else{  // if ony 1 slide in mobile then loop set to false
1540                moptions = {
1541                    loop: false,
1542                                        autoplay: {
1543                                                delay: '5000',
1544                                                disableOnInteraction: false,
1545                    },
1546                                        navigation: {
1547                        nextEl: '.swiper-button-next',
1548                        prevEl: '.swiper-button-prev',
1549                    },
1550                    pagination: {
1551                        el: '.swiper-pagination',
1552                        clickable: true,
1553                    }
1554                }
1555            }
1556
1557
1558            homeslider('.desktop_slider', timer,count,options);
1559            homeslider('.mobile_slider', timer,count,moptions);
1560
1561            function homeslider(type, timer) {
1562                if ($(type + " .swiper-slide").length  > 1)
1563                {
1564                    var swiper = new Swiper(type, options);
1565                    if ($(type + " .swiper-slide").length === 1 || $(type + " .swiper-slide").length === 3) {
1566                        if (swiper.params.loop) {
1567                            $('.swiper-wrapper').addClass("disabled");
1568                            $('.swiper-pagination').addClass("disabled");
1569                            swiper.autoplay.stop();
1570                        }
1571                    }
1572                }
1573            }
1574        });
1575
1576
1577        function hotlink(id) {
1578            var href = $(id).attr("href");
1579            var target = $(id).attr("target");
1580            if (href.charAt(0) == "#") {
1581                if (href.length > 1) {
1582                    $(id).removeAttr("href");
1583                    $(id).addClass("hotlink-btn");
1584                    if (href == '#home-service-section' && ($(id).hasClass("hotlink-btn"))) {
1585
1586                        $('html, body').animate({scrollTop: $('#home-service-section').offset().top - 250}, '200');
1587                        $(id).attr("href", href);
1588                    }
1589                    if (href == '#home-brand-section' && ($(id).hasClass("hotlink-btn"))) {
1590                        $('html, body').animate({scrollTop: $('#home-brand-section').offset().top - 250}, '200');
1591                        $(id).attr("href", href);
1592                    }
1593                    if (href == '#home-event-section' && ($(id).hasClass("hotlink-btn"))) {
1594                        $('html, body').animate({scrollTop: $('#home-event-section').offset().top - 250}, '200');
1595                        $(id).attr("href", href);
1596                    }
1597                    if (href == '#home-promotion-section' && ($(id).hasClass("hotlink-btn"))) {
1598                        $('html, body').animate({scrollTop: $('#home-promotion-section').offset().top - 250}, '200');
1599                        $(id).attr("href", href);
1600                    }
1601                    if (href == '#home-review-section' && ($(id).hasClass("hotlink-btn"))) {
1602                        $('html, body').animate({scrollTop: $('#home-review-section').offset().top - 250}, '200');
1603                        $(id).attr("href", href);
1604                    }
1605                }
1606            } else if (href.charAt(0) != '#' && target == "_blank") {
1607                window.open($(id).attr('href'));
1608            } else if (href.charAt(0) != '#' && target == "undefined") {
1609                window.location.href = $(id).attr('href');
1610            }
1611
1612        }
1613    </script>
1613
1614    <style>
1615        .home-cta-btn-1{
1616            color: #fff !important;
1617        }
1618        .home-cta-btn-1:hover{
1619            color: #fff !important;
1620        }
1621        .home-cta-btn-2{
1622            color: #fff !important;
1623        }
1624        .home-cta-btn-2:hover{
1625            color: #fff !important;
1626        }
1627        .home-cta-btn-1:hover{
1628            background-color: !important;
1629        }
1630        .home-cta-btn-2:hover{
1631            background-color:  !important;
1632        }
1633        .sub-page-cta-btn-1{
1634            color: #fff !important;
1635        }
1636        .sub-page-cta-btn-1:hover{
1637            color: #fff !important;
1638        }
1639        .sub-page-cta-btn-2{
1640            color: #fff !important;
1641        }
1642        .sub-page-cta-btn-2:hover{
1643            color: #fff !important;
1644        }
1645        .sub-page-cta-btn-1:hover{
1646            background-color: !important;
1647        }
1648        .sub-page-cta-btn-2:hover{
1649            background-color:  !important;
1650        }
1651        
1652            #page-title{
1653            background: url('https://ik.imagekit.io/0ofixtqpt/668370/tr:n-topbar_bg/scratch-and-sniff-pet-supply-store-near-baltimore-maryland-(2).png') !important;
1654        }
1655                    .home-overlay{
1656            background: rgba(0,0,0,0.2) !important;
1657        }
1658                    @media (max-width:1024px) and (min-width: 320px) {
1659                    .swiper-button-next, .swiper-button-prev, .swiper-pagination {
1660                display: block;
1661            }
1662        
1663                    #slider-cover {
1664                background: none !important;
1665            }
1666                                 #page-title {
1667                background: url('https://ik.imagekit.io/0ofixtqpt/668365/all-natural-pet-supply-store.jpg') !important;
1668            }
1669                }
1670    </style>
1671
1672
1673    <section id="content nobottommargin">
1674
1675        <div class="content-wrap nobottommargin">
1676                        <div class="about-us-container container clearfix notopmargin">
1677
1678                <div class="row bottommargin notopmargin">
1679
1680                                        <div class="col-xs-12 heading-block center bottommargin-sm ">
1681                        <h2>Scratch and Sniff Pet Supplies Offers Exceptional Customer Service & Product Knowledge</h2>
1682            <div class="divcenter small-text text-video text-table container nopadding"><p>We're a locally owned premium pet supplies retailer located in Jacksonville, Maryland. We partner with devoted pet parents like you to provide the best possible care for your furred and feathered babies. Our focus is on providing food, treats, and supplements that are healthy and biologically appropriate, and are produced in an ecologically sustainable, and socially responsible manner. We also carry unique toys, leashes, collars, and other accessories. If you can find a product in a big-box store, chances are you won't see it at Scratch &amp; Sniff! Whenever possible, we seek partnerships with small to mid-sized family-owned businesses, with an emphasis on local.</p><p><b>Let us help you bring joy and health to your beloved fur babies!</b></p><p><b>​Well-behaved and leashed pets welcome!</b></p></div>
1683                        </div>
1684                    <div class="center topmargin-sm nobottommargin ">
1685
1686                    </div>
1687
1688                </div>
1689
1690            </div>
1691            
1692            
1693            
1694            <!--review part-->
1695    <style>
1696        .review-widget-testimonial{
1697            background-color: #ffffff    !important;
1698            overflow-y: auto !important;
1699        }
1700        .review-text-color {
1701            color: #333333    !important;
1702        }
1703
1704        .lazy-background.review-background-parallax {
1705            background: url('https://ik.imagekit.io/0ofixtqpt/668362/scratch-and-sniff-local-pet-supply-store-near-baltimore-md.png');
1706        }
1707
1708        .lazy-background.review-background-static {
1709            background: url('https://ik.imagekit.io/0ofixtqpt/668362/scratch-and-sniff-local-pet-supply-store-near-baltimore-md.png');
1710        }
1711
1712        .review-title-color {
1713            color: #ffffff  !important;
1714        }
1715
1716        .review-description-color {
1717            color:   !important;
1718        }
1719
1720        .review-overlay {
1721            background: rgba(0,0,0,0.29)  !important;
1722        }
1723
1724        #home-review-section #recent-reviews .heading-block {
1725            margin-bottom: 10px;
1726        }
1727
1728        @media (min-device-width: 768px) and (orientation: portrait) {
1729            .lazy-background.review-background-parallax {
1730                background-image: url('https://ik.imagekit.io/0ofixtqpt/668361/scratch-sniff-pet-supply-store-in-jacksonville-maryland.png') !important;
1731                background-attachment: scroll !important;
1732            }
1733
1734            .lazy-background.review-background-static {
1735                background-image: url('https://ik.imagekit.io/0ofixtqpt/668361/scratch-sniff-pet-supply-store-in-jacksonville-maryland.png') !important;
1736            }
1737        }
1738
1739        @media (max-device-width: 1024px) and (orientation: landscape) {
1740            .lazy-background.review-background-parallax {
1741                background-image: url('https://ik.imagekit.io/0ofixtqpt/668361/scratch-sniff-pet-supply-store-in-jacksonville-maryland.png') !important;
1742                background-attachment: scroll !important;
1743            }
1744
1745            .lazy-background.review-background-static {
1746                background-image: url('https://ik.imagekit.io/0ofixtqpt/668361/scratch-sniff-pet-supply-store-in-jacksonville-maryland.png') !important;
1747            }
1748        }
1749
1750        @media (max-width: 765px) and (min-width: 320px) {
1751            .lazy-background.review-background-parallax {
1752                background: url('https://ik.imagekit.io/0ofixtqpt/668361/scratch-sniff-pet-supply-store-in-jacksonville-maryland.png');
1753                background-attachment: scroll !important;
1754            }
1755
1756            .lazy-background.review-background-static {
1757                background: url('https://ik.imagekit.io/0ofixtqpt/668361/scratch-sniff-pet-supply-store-in-jacksonville-maryland.png');
1758            }
1759        }
1760    </style>
1761                                <div id="home-review-section"
1762                 class="review-section review-background-parallax lazy-background"
1763                 style="margin: 0px !important;">
1764                                                                                    <div class="review-overlay"></div>
1765                                                                <div id="recent-reviews" class="container topmargin clear-bottommargin clearfix">
1766                                    <div class="row clearfix">
1767                                        <div class="heading-block center ">
1768                                            <h2 class="review-title-color">
1769                                                    WHAT Jacksonville CUSTOMERS ARE SAYING</h2>
1770                                            <span class="divcenter small-text review-description-color">
1771                                                <p><b style=""><span style="color: rgb(255, 255, 255);">We love our customers from the </span><a href="https://www.google.com/maps/dir/Jacksonville,+MD/Scratch+and+Sniff+Pet+Supplies,+3336+Paper+Mill+Rd,+Phoenix,+MD+21131/@39.5189037,-76.5620485,17z/data=!3m1!4b1!4m14!4m13!1m5!1m1!1s0x89c80cafcccecb2d:0x964ace70d4f309c0!2m2!1d-76.5594121!2d39.5181618!1m5!1m1!1s0x89c80daa9d080667:0xc71ac19e940848a8!2m2!1d-76.560487!2d39.5196633!3e0" title="Get Directions from Jacksonville" target="_blank" style="color: rgb(255, 255, 255);">Jacksonville</a><span style="color: rgb(255, 255, 255);"> areas around </span><a href="https://www.google.com/maps/dir/Baltimore/Scratch+and+Sniff+Pet+Supplies,+3336+Paper+Mill+Rd,+Phoenix,+MD+21131/@39.4004527,-76.6751174,10.9z/data=!4m14!4m13!1m5!1m1!1s0x89c803aed6f483b7:0x44896a84223e758!2m2!1d-76.6121893!2d39.2903848!1m5!1m1!1s0x89c80daa9d080667:0xc71ac19e940848a8!2m2!1d-76.560487!2d39.5196633!3e0" title="Get Directions from Baltimore" target="_blank" style="color: rgb(255, 255, 255);">Baltimore</a><span style="color: rgb(255, 255, 255);">, </span><a href="https://www.google.com/maps/dir/Towson/Scratch+and+Sniff+Pet+Supplies,+3336+Paper+Mill+Rd,+Phoenix,+MD+21131/@39.4164193,-76.6588806,10.9z/data=!4m14!4m13!1m5!1m1!1s0x89c80e5369e65cd3:0x641571de3a43d1f4!2m2!1d-76.6019125!2d39.4014955!1m5!1m1!1s0x89c80daa9d080667:0xc71ac19e940848a8!2m2!1d-76.560487!2d39.5196633!3e0" title="Get Directions from Towson" target="_blank" style="color: rgb(255, 255, 255);">Towson</a><span style="color: rgb(255, 255, 255);">, </span><a href="https://www.google.com/maps/dir/Cockeysville/Scratch+and+Sniff+Pet+Supplies,+3336+Paper+Mill+Rd,+Phoenix,+MD+21131/@39.4420722,-76.6389537,10.9z/data=!4m14!4m13!1m5!1m1!1s0x89c81267a4ed8067:0x9af562c1d29b3603!2m2!1d-76.6438598!2d39.4812172!1m5!1m1!1s0x89c80daa9d080667:0xc71ac19e940848a8!2m2!1d-76.560487!2d39.5196633!3e0" title="Get Directions from Cockeysville" target="_blank" style="color: rgb(255, 255, 255);">Cockeysville</a><span style="color: rgb(255, 255, 255);">, </span><a href="https://www.google.com/maps/dir/Hunt+Valley,+Cockeysville,+MD/Scratch+and+Sniff+Pet+Supplies,+3336+Paper+Mill+Rd,+Phoenix,+MD+21131/@39.4986202,-76.6445608,13z/data=!3m1!4b1!4m14!4m13!1m5!1m1!1s0x89c8126f12b1d1b3:0x1cffe05f92ece934!2m2!1d-76.6585074!2d39.4900013!1m5!1m1!1s0x89c80daa9d080667:0xc71ac19e940848a8!2m2!1d-76.560487!2d39.5196633!3e0" title="Get Directions from Hunt Valley" target="_blank" style="color: rgb(255, 255, 255);">Hunt Valley</a><span style="color: rgb(255, 255, 255);">,</span><br><a href="https://www.google.com/maps/dir/Monkton/Scratch+and+Sniff+Pet+Supplies,+3336+Paper+Mill+Rd,+Phoenix,+MD+21131/@39.4420722,-76.6389537,10.9z/data=!4m14!4m13!1m5!1m1!1s0x89c8725dd276077d:0xce83fe5d605060e0!2m2!1d-76.6145058!2d39.5781625!1m5!1m1!1s0x89c80daa9d080667:0xc71ac19e940848a8!2m2!1d-76.560487!2d39.5196633!3e0" title="Get Directions From Monkton" target="_blank" style="color: rgb(255, 255, 255);">Monkton</a><span style="color: rgb(255, 255, 255);">, </span><a href="https://www.google.com/maps/dir/Fallston/Scratch+and+Sniff+Pet+Supplies,+3336+Paper+Mill+Rd,+Phoenix,+MD+21131/@39.4420722,-76.6389537,10.9z/data=!4m14!4m13!1m5!1m1!1s0x89c7df949896f39b:0xa31a61bd8991c66e!2m2!1d-76.4110732!2d39.5145515!1m5!1m1!1s0x89c80daa9d080667:0xc71ac19e940848a8!2m2!1d-76.560487!2d39.5196633!3e0" title="Get Directions From Fallston" target="_blank" style="color: rgb(255, 255, 255);">Fallston</a><span style="color: rgb(255, 255, 255);">, </span><a href="https://www.google.com/maps/dir/Jarrettsville/Scratch+and+Sniff+Pet+Supplies,+3336+Paper+Mill+Rd,+Phoenix,+MD+21131/@39.4711341,-76.7134952,10.9z/data=!4m14!4m13!1m5!1m1!1s0x89c875fcd1c3b95f:0xcb0f236038d997d6!2m2!1d-76.4777422!2d39.60455!1m5!1m1!1s0x89c80daa9d080667:0xc71ac19e940848a8!2m2!1d-76.560487!2d39.5196633!3e0" title="Get Directions from Jarrettsville" target="_blank" style="color: rgb(255, 255, 255);">Jarrettsville</a><span style="color: rgb(255, 255, 255);">, </span><a href="https://www.google.com/maps/dir/White+Hall/Scratch+and+Sniff+Pet+Supplies,+3336+Paper+Mill+Rd,+Phoenix,+MD+21131/@39.4711341,-76.7134952,10.9z/data=!4m14!4m13!1m5!1m1!1s0x89c871f0940f25c1:0xd78bf1136b9e9915!2m2!1d-76.6290149!2d39.6198067!1m5!1m1!1s0x89c80daa9d080667:0xc71ac19e940848a8!2m2!1d-76.560487!2d39.5196633!3e0" title="Get Directions From White Hall" target="_blank" style="color: rgb(255, 255, 255);">White Hall</a><span style="color: rgb(255, 255, 255);">, </span><a href="https://www.google.com/maps/dir/Timonium,+Lutherville-Timonium,+MD/Scratch+and+Sniff+Pet+Supplies,+3336+Paper+Mill+Rd,+Phoenix,+MD+21131/@39.4786491,-76.6388655,13z/data=!3m1!4b1!4m14!4m13!1m5!1m1!1s0x89c80e1368351789:0x841e6b233a217a5b!2m2!1d-76.6196915!2d39.4370508!1m5!1m1!1s0x89c80daa9d080667:0xc71ac19e940848a8!2m2!1d-76.560487!2d39.5196633!3e0" title="Get Directions from Timonium" target="_blank" style="color: rgb(255, 255, 255);">Timonium</a><span style="color: rgb(255, 255, 255);">,&nbsp;</span><a href="https://www.google.com/maps/dir/Bel+Air/Scratch+and+Sniff+Pet+Supplies,+3336+Paper+Mill+Rd,+Phoenix,+MD+21131/@39.4711341,-76.7134952,10.9z/data=!4m14!4m13!1m5!1m1!1s0x89c7dc544809959f:0xb95fbe81db72c9a9!2m2!1d-76.3482931!2d39.5359406!1m5!1m1!1s0x89c80daa9d080667:0xc71ac19e940848a8!2m2!1d-76.560487!2d39.5196633!3e0" title="Get Directions from Bel Air" target="_blank" style="color: rgb(255, 255, 255);">Bel Air</a><span style="color: rgb(255, 255, 255);">, &amp; more!</span></b></p>                                            </span>
1772                                        </div>
1773                                                                                    <div class="center small-text review-description-color" style="font-weight: bold; clear: both; margin: 2px 0 15px;">60 trusted five-star reviews</div>
1774                                                                                                                            <div id="oc-testi"
1775                                             class="owl-carousel testimonials-carousel carousel-widget bottommargin "
1776                                             data-margin="20" data-items-xs="1" data-items-sm="2" data-items-lg="3">
1777                                                                                            <div class="oc-item ">
1778                                                    <div class="testimonial bottommargin-sm review-widget-testimonial">
1779                                                        <div class="col-xs-4">
1780                                                            <div class="testi-image">
1781                                                                <a>
1782                                                                                                                                            <img class="lazy"
1783                                                                             src="https://ik.imagekit.io/0ofixtqpt/143729/tr:n-reviewer_image_thumb/default-placeholder.png"
1784                                                                             data-src="https://ik.imagekit.io/0ofixtqpt/5320477/tr:n-reviewer_image_thumb/ALV-UjWFlVFqmrTW1hky-QN3wRo5GVaAGhXWQRHmkjx39SEy0xZEGF8O=s120-c-rp-mo-ba12-br100"
1785                                                                             onError="this.onerror=null;this.src='https://ik.imagekit.io/0ofixtqpt/147554/tr:n-reviewer_image_thumb/avatar.jpg';">
1786                                                                                                                                    </a>
1787                                                                <div class="testi-meta review-text-color nobold">
1788                                                                    Ivana Kusevic
1789                                                                </div>
1790                                                                <div class="center rv_time review-text-color">
1791                                                                    2026-09-17
1792                                                                </div>
1793                                                            </div>
1794                                                        </div>
1795                                                        <div class="col-xs-8">
1796                                                            <div class="testi-content">
1797                                                                                                                                    <i class="fab fa-google social"></i>
1798                                                                                                                                                                                                <sp
1798an class="stars s-5.0">
1799                                                                    <span class='new-star' style="width: 100%;"></span>
1800                                                                </span>
1801                                                                                                                                    <div class="r_more">
1802                                                                        <p class="small-text-color review-text-color review-fulltext-0 hidden-teamtext">Great selection, service and knowledgeable staff.</p>
1803                                                                        <p class="review-lesstext-0 review-text-color small-text-color"></p>
1804                                                                        <p class="review-moretext-0 review-text-color small-text-color"></p>
1805                                                                    </div>
1806                                                                                                                            </div>
1807                                                        </div>
1808                                                    </div>
1809                                                </div>
1810                                                                                                                                                <div class="oc-item ">
1811                                                    <div class="testimonial bottommargin-sm review-widget-testimonial">
1812                                                        <div class="col-xs-4">
1813                                                            <div class="testi-image">
1814                                                                <a>
1815                                                                                                                                            <img class="lazy"
1816                                                                             src="https://ik.imagekit.io/0ofixtqpt/143729/tr:n-reviewer_image_thumb/default-placeholder.png"
1817                                                                             data-src="https://ik.imagekit.io/0ofixtqpt/5167720/tr:n-reviewer_image_thumb/ACg8ocJBGktHQoaswuLXJTfmcu5g4exDCZLVI7MYwQ0wtlveANWmaA=s120-c-rp-mo-br100"
1818                                                                             onError="this.onerror=null;this.src='https://ik.imagekit.io/0ofixtqpt/147554/tr:n-reviewer_image_thumb/avatar.jpg';">
1819                                                                                                                                    </a>
1820                                                                <div class="testi-meta review-text-color nobold">
1821                                                                    Jenny Steele
1822                                                                </div>
1823                                                                <div class="center rv_time review-text-color">
1824                                                                    2026-07-08
1825                                                                </div>
1826                                                            </div>
1827                                                        </div>
1828                                                        <div class="col-xs-8">
1829                                                            <div class="testi-content">
1830                                                                                                                                    <i class="fab fa-google social"></i>
1831                                                                                                                                                                                                <span class="stars s-5.0">
1832                                                                    <span class='new-star' style="width: 100%;"></span>
1833                                                                </span>
1834                                                                                                                                    <div class="r_more">
1835                                                                        <p class="small-text-color review-text-color review-fulltext-1 hidden-teamtext">Very knowledgeable and knows what your pets NEED. Carry safe toys and good food and treat options for your fur babies. They research everything before they supply it to the public It’s a distance to travel for me but it’s a place I trust and worth the drive. Plus their pricing is very competitive on pet supply market.</p>
1836                                                                        <p class="review-lesstext-1 review-text-color small-text-color"></p>
1837                                                                        <p class="review-moretext-1 review-text-color small-text-color"></p>
1838                                                                    </div>
1839                                                                                                                            </div>
1840                                                        </div>
1841                                                    </div>
1842                                                </div>
1843                                                                                                                                                <div class="oc-item ">
1844                                                    <div class="testimonial bottommargin-sm review-widget-testimonial">
1845                                                        <div class="col-xs-4">
1846                                                            <div class="testi-image">
1847                                                                <a>
1848                                                                                                                                            <img class="lazy"
1849                                                                             src="https://ik.imagekit.io/0ofixtqpt/143729/tr:n-reviewer_image_thumb/default-placeholder.png"
1850                                                                             data-src="https://ik.imagekit.io/0ofixtqpt/5104165/tr:n-reviewer_image_thumb/ACg8ocI_wY4yJxSAB354qn3VCOIHse7QxEBHvGqh0VdyI1qsik__Gg=s120-c-rp-mo-br100"
1851                                                                             onError="this.onerror=null;this.src='https://ik.imagekit.io/0ofixtqpt/147554/tr:n-reviewer_image_thumb/avatar.jpg';">
1852                                                                                                                                    </a>
1853                                                                <div class="testi-meta review-text-color nobold">
1854                                                                    Zach Zimmerman, Realtor
1855                                                                </div>
1856                                                                <div class="center rv_time review-text-color">
1857                                                                    2026-06-06
1858                                                                </div>
1859                                                            </div>
1860                                                        </div>
1861                                                        <div class="col-xs-8">
1862                                                            <div class="testi-content">
1863                                                                                                                                    <i class="fab fa-google social"></i>
1864                                                                                                                                                                                                <sp
1864an class="stars s-5.0">
1865                                                                    <span class='new-star' style="width: 100%;"></span>
1866                                                                </span>
1867                                                                                                                                    <div class="r_more">
1868                                                                        <p class="small-text-color review-text-color review-fulltext-2 hidden-teamtext">Scratch and Sniff is the best! They carry Fromm dog food and if they don’t have something in store are happy to call around. Great local pet store!</p>
1869                                                                        <p class="review-lesstext-2 review-text-color small-text-color"></p>
1870                                                                        <p class="review-moretext-2 review-text-color small-text-color"></p>
1871                                                                    </div>
1872                                                                                                                            </div>
1873                                                        </div>
1874                                                    </div>
1875                                                </div>
1876                                                                                                                                                <div class="oc-item ">
1877                                                    <div class="testimonial bottommargin-sm review-widget-testimonial">
1878                                                        <div class="col-xs-4">
1879                                                            <div class="testi-image">
1880                                                                <a>
1881                                                                                                                                            <img class="lazy"
1882                                                                             src="https://ik.imagekit.io/0ofixtqpt/143729/tr:n-reviewer_image_thumb/default-placeholder.png"
1883                                                                             data-src="https://ik.imagekit.io/0ofixtqpt/5052536/tr:n-reviewer_image_thumb/ALV-UjW2eDMWcVTnJV5WbA-v77ZOB8N-Kvs-9yEKO39xkPKPrvCSc4zR=s120-c-rp-mo-br100"
1884                                                                             onError="this.onerror=null;this.src='https://ik.imagekit.io/0ofixtqpt/147554/tr:n-reviewer_image_thumb/avatar.jpg';">
1885                                                                                                                                    </a>
1886                                                                <div class="testi-meta review-text-color nobold">
1887                                                                    Rebecca R
1888                                                                </div>
1889                                                                <div class="center rv_time review-text-color">
1890                                                                    2026-05-21
1891                                                                </div>
1892                                                            </div>
1893                                                        </div>
1894                                                        <div class="col-xs-8">
1895                                                            <div class="testi-content">
1896                                                                                                                                    <i class="fab fa-google social"></i>
1897                                                                                                                                                                                                <span class="stars s-5.0">
1898                                                                    <span class='new-star' style="width: 100%;"></span>
1899                                                                </span>
1900                                                                                                                                    <div class="r_more">
1901                                                                        <p class="small-text-color review-text-color review-fulltext-3 hidden-teamtext">Adorable and independently owned, this place rules for all your Harford pet needs. The owner even said she does custom orders.</p>
1902                                                                        <p class="review-lesstext-3 review-text-color small-text-color"></p>
1903                                                                        <p class="review-moretext-3 review-text-color small-text-color"></p>
1904                                                                    </div>
1905                                                                                                                            </div>
1906                                                        </div>
1907                                                    </div>
1908                                                </div>
1909                                                                                                                                                <div class="oc-item ">
1910                                                    <div class="testimonial bottommargin-sm review-widget-testimonial">
1911                                                        <div class="col-xs-4">
1912                                                            <div class="testi-image">
1913                                                                <a>
1914                                                                                                                                            <img class="lazy"
1915                                                                             src="https://ik.imagekit.io/0ofixtqpt/143729/tr:n-reviewer_image_thumb/default-placeholder.png"
1916                                                                             data-src="https://ik.imagekit.io/0ofixtqpt/4825373/tr:n-reviewer_image_thumb/ALV-UjXsT-s_ZkQtNzzgHAQHjx0K897fn6rTp_NjiSOK7ur2epQxZ2ph4A=s120-c-rp-mo-br100"
1917                                                                             onError="this.onerror=null;this.src='https://ik.imagekit.io/0ofixtqpt/147554/tr:n-reviewer_image_thumb/avatar.jpg';">
1918                                                                                                                                    </a>
1919                                                                <div class="testi-meta review-text-color nobold">
1920                                                                    amber mccormack
1921                                                                </div>
1922                                                                <div class="center rv_time review-text-color">
1923                                                                    2026-02-11
1924                                                                </div>
1925                                                            </div>
1926                                                        </div>
1927                                                        <div class="col-xs-8">
1928                                                            <div class="testi-content">
1929                                                                                                                                    <i class="fab fa-google social"></i>
1930                                                                                                                                                                                                <sp
1930an class="stars s-5.0">
1931                                                                    <span class='new-star' style="width: 100%;"></span>
1932                                                                </span>
1933                                                                                                                                    <div class="r_more">
1934                                                                        <p class="small-text-color review-text-color review-fulltext-4 hidden-teamtext">Today was my first time here and the women working were super helpful and friendly! I found my new shop whenever my dogs need food and supplies!</p>
1935                                                                        <p class="review-lesstext-4 review-text-color small-text-color"></p>
1936                                                                        <p class="review-moretext-4 review-text-color small-text-color"></p>
1937                                                                    </div>
1938                                                                                                                            </div>
1939                                                        </div>
1940                                                    </div>
1941                                                </div>
1942                                                                                                                                        </div>
1943
1944                                        <div class="col-xs-12 center bottommargin">
1945                                                                                            <a href="/reviews/"
1946                                                   class="button button-large contact-btn button-rounded noleftmargin">View
1947                                                    All
1948                                                    Reviews </a>
1949                                                                                                                                        <a target="_blank"
1950                                                   href="https://app.nextpaw.com/write-review/YTnF9wFJd4PX3HKL"
1951                                                   class="button button-large contact-btn button-rounded noleftmargin">Write
1952                                                    A Review </a>
1953                                                                                    </div>
1954                                    </div>
1955                                </div>
1956                                                            </div>
1957                                
1957<script>
1958    function toggleReviewContent(i) {
1959        $(".review-moretext-" + i).toggle();
1960        $(".review-lesstext-" + i).toggle();
1961    }
1962    $(document).ready(function () {
1963        var r_showChar = 100;
1964        var r_ellipsestext = "...";
1965        var r_moretext = "Show More";
1966        var r_lesstext = "Show Less";
1967        var i = 0;
1968        $('.r_more').each(function () {
1969            var r_content = $('.review-fulltext-' + i).html();
1970            var r_readless = '<a class="morelink' + i + ' review-a" onclick="toggleReviewContent(' + i + ')"> ' + r_lesstext + '</a>';
1971            $('p.review-moretext-' + i).html('<i class="fas fa-quote-left fa-2x"></i>'+r_content + r_readless).hide();
1972            if (r_content.length > r_showChar) {
1973                var r_c = r_content.substr(0, r_showChar);
1974                var r_readmore = '<a class="morelink' + i + ' review-a" onclick="toggleReviewContent(' + i + ')"> ' + r_moretext + '</a>';
1975                $('p.review-lesstext-' + i).html('<i class="fas fa-quote-left fa-2x"></i>'+r_c + r_ellipsestext + ' ' + r_readmore);
1976            }else{
1977                $('p.review-moretext-' + i).html('<i class="fas fa-quote-left fa-2x"></i>'+r_content).show();
1978            }
1979            i++;
1980        });
1981    });
1982</script>
1982
1983<!--review part end--->
1984
1985                    </div>
1986        <a href="/contact-us"
1987       class="button button-full cta-widget-btn center">
1988        <div class="container clearfix">
1989            Come visit our pet supply store in Jacksonville, Maryland specializing in quality food, treats, and supplies for cats, dogs, birds, small pets, wild birds and chickens.
1990        </div>
1991    </a>
1992    </section>
1993
1994</div>
1995<!-- Footer
1996============================================= -->
1997
1998<footer id="footer" class="dark">
1999            <div class="container">
2000            <!-- Footer Widgets
2001            ============================================= -->
2002            <div class="footer-widgets-wrap clearfix">
2003                <div class="col-xs-12 col-sm-6 col-md-4">
2004                    <div class="widget clearfix">
2005                        <div class="clearfix">
2006                            <div class="col-md-12">
2007                                <address class="nobottommargin">
2008                                    <a target="_blank"
2009                                       href="https://www.google.com/maps/place/search?q=Scratch+and+Sniff+Pet+Supplies+3336+Paper+Mill+Rd+Jacksonville+MD+21131&amp;place_id=ChIJyYUT3rEMyIkRsFm1CD1RDbk">
2010                                        <h4 class="get-direction-btn"
2011                                            id="map-title">Scratch and Sniff Pet Supplies</h4></a>
2012                                    3336 Paper Mill Rd, 
2013                                    <br/>                                    Jacksonville, MD&nbsp&nbsp21131<br>
2014                                    <a class="call-us-btn"
2015                                       href="tel:(410) 667-6433"><abbr
2016                                                title="Phone Number"></abbr>(410) 667-6433
2017                                    </a><br>
2018                                    <a href="mailto:[email protected]" class="footer_email"><abbr
2019                                                title="Email"></abbr>[email protected]</a>
2020                                                                            <div class="shopservices">
2021                                            In-Store Pickup, Curbside Pickup, Local Delivery, Same Day Delivery, No Contact Delivery Available
2022                                        </div>
2023                                                                    </address>
2024                                <!-- Google Map
2025               ============================================= -->
2026                                <div id="map-conatiner" style="">
2027                                    <div id="show-map" class="col_half col_last">
2028                                        <div id="contact_map" class="place contact-us-map">
2029                                            <div class="place footer-map"><a href="https://www.google.com/maps/place/search?q=Scratch+and+Sniff+Pet+Supplies+3336+Paper+Mill+Rd+Jacksonville+MD+21131&amp;place_id=ChIJyYUT3rEMyIkRsFm1CD1RDbk" target="_blank">
2030                                                    <iframe
2031                                                            class="get-direction-btn"
2032                                                            frameborder="0"
2033                                                            style="border:0;"
2034                                                            referrerpolicy="no-referrer-when-downgrade"
2035                                                            src="https://www.google.com/maps/embed/v1/search?key=AIzaSyDLf1mqLyRZJJR1-kQfHuPm5gcLyvgMdc8&q=Scratch+and+Sniff+Pet+Supplies%2C+3336+Paper+Mill+Rd%2C+Jacksonville%2C+MD%2C+21131%2C+US">
2036                                                    </iframe>
2037                                                </a>
2038                                            </div>
2039                                        </div>
2040                                    </div>
2041                                </div>
2042                                <!-- Google Map End -->
2043                            </div>
2044                        </div>
2045                    </div>
2046                </div>
2047                <div class="col-xs-12 col-sm-6 col-md-8">
2048                    <div class="col-xs-12 col-md-5">
2049                        <div class="widget widget_links clearfix">
2050                            <div class="bottommargin-sm">
2051                                <h4 class="nomargin footer-hours-title">Business Hours</h4>
2052                                                                                            </div>
2053
2054                            <table class="table" style="text-align: center;">
2055                                <tbody>
2056                                                                                                        
2057                                                                            <tr>
2058                                            <td style="font-size: 14px; vertical-align: middle;">Mon</td>
2059                                            <td style="font-size: 14px;">
2060                                                                                                                                                        10:30 AM - 6:30 PM
2061                                                                                            </td>
2062                                        </tr>
2063                                                                            <tr>
2064                                            <td style="font-size: 14px; vertical-align: middle;">Tue</td>
2065                                            <td style="font-size: 14px;">
2066                                                                                                                                                        10:30 AM - 6:30 PM
2067                                                                                            </td>
2068                                        </tr>
2069                                                                            <tr>
2070                                            <td style="font-size: 14px; vertical-align: middle;">Wed</td>
2071                                            <td style="font-size: 14px;">
2072                                                                                                                                                        10:30 AM - 6:30 PM
2073                                                                                            </td>
2074                                        </tr>
2075                                                                            <tr>
2076                                            <td style="font-size: 14px; vertical-align: middle;">Thu</td>
2077                                            <td style="font-size: 14px;">
2078                                                                                                                                                        10:30 AM - 6:30 PM
2079                                                                                            </td>
2080                                        </tr>
2081                                                                            <tr>
2082                                            <td style="font-size: 14px; vertical-align: middle;">Fri</td>
2083                                            <td style="font-size: 14px;">
2084                                                                                                                                                        10:30 AM - 6:30 PM
2085                                                                                            </td>
2086                                        </tr>
2087                                                                            <tr>
2088                                            <td style="font-size: 14px; vertical-align: middle;">Sat</td>
2089                                            <td style="font-size: 14px;">
2090                                                                                                                                                        10:00 AM - 5:00 PM
2091                                                                                            </td>
2092                                        </tr>
2093                                                                            <tr>
2094                                            <td style="font-size: 14px; vertical-align: middle;">Sun</td>
2095                                            <td style="font-size: 14px;">
2096                                                                                                    Closed
2097                                                                                            </td>
2098                                        </tr>
2099                                    
2100                                                                </tbody>
2101                            </table>
2102
2103                        </div>
2104                    </div>
2105                    <div class="col-xs-12 col-md-3">
2106                        <div class="widget widget_links clearfix">
2107                            <h4>Sitemap</h4>
2108                            <ul>
2109                                                                                                                                            <li>
2110                                                                                            <a href="/pet-food-supply/" >
2111                                                    <div class="footer-sitemap-text">Pet Supply</div>
2112                                                </a>
2113                                                                                    </li>
2114                                                                                                                                                                                    <li>
2115                                                                                            <a href="/brands/" >
2116                                                    <div class="footer-sitemap-text">Brands</div>
2117                                                </a>
2118                                                                                    </li>
2119                                                                                                                                                                                    <li>
2120                                                                                            <a href="/self-service-dog-wash/" >
2121                                                    <div class="footer-sitemap-text">Self-Serve Dog Wash</div>
2122                                                </a>
2123                                                                                    </li>
2124                                                                                                                                                                                    <li>
2125                                                                                            <a href="/services/" >
2126                                                    <div class="footer-sitemap-text">Services</div>
2127                                                </a>
2128                                                                                    </li>
2129                                                                                                                                                                                    <li>
2130                                                                                            <a href="/events/" >
2131                                                    <div class="footer-sitemap-text">Events</div>
2132                                                </a>
2133                                                                                    </li>
2134                                                                                                                                                                                    <li>
2135                                                                                            <a href="/deals/" >
2136                                                    <div class="footer-sitemap-text">Promos</div>
2137                                                </a>
2138                                                                                    </li>
2139                                                                                                                                                                                    <li>
2140                                                                                            <a href="/about-us/" >
2141                                                    <div class="footer-sitemap-text">About</div>
2142                                                </a>
2143                                                                                    </li>
2144                                                                                                                                                                                    <li>
2145                                                                                            <a href="/contact-us/" >
2146                                                    <div class="footer-sitemap-text">Contact</div>
2147                                                </a>
2148                                                                                    </li>
2149                                                                                                                                                                            <li>
2150                                        <a href="/sitemap/">
2151                                            <div class="footer-sitemap-text">Sitemap</div>
2152                                        </a>
2153                                    </li>
2154                                                            </ul>
2155                        </div>
2156                    </div>
2157                    <div class="col-xs-12 col-md-4">
2158                        <div class="widget quick-contact-widget clearfix">
2159                            <h4>Subscribe</h4>
2160                            <div class="input-group divcenter">
2161                                Get exclusive email offers, promotions, and updates from our business.
2162                            </div>
2163                            <div class="quick-contact-form-result"></div>
2164                            <form class="quick-contact-form nobottommargin subscription-form"
2165                                  name="subscription-form" role="form" enctype="multipart/form-data" method="POST"
2166                                  action="https://scratchandsniffpetsupplies.com/subscription/save" onsubmit="return false" novalidate>
2167                                <input type="hidden" id="locationId" name="location_id" value="1144">
2168                                <input type="hidden" id="clientId" name="client_id" value="371">
2169                                <input type="hidden" name="result" value="footer-result">
2170                                <div class="form-process"></div>
2171                                <div class="input-group divcenter">
2172                                    <span class="input-group-addon"><i class="fas fa-user"></i></span>
2173                                    <input type="text" maxlength="25" class="required form-control input-block-level subscription_name" id="name"
2174                                           name="name" value="" placeholder="Name" required/>
2175                                </div>
2176                                <div class="input-group divcenter">
2177                                    <span class="input-group-addon"><i class="fas fa-envelope"></i></span>
2178                                    <input type="email" class="required form-control email input-block-level" id="email"
2179                                           name="email" value="" placeholder="Email Address" required/>
2180                                </div>
2181                                <div class="g-recaptcha" style="transform: scale(0.5);-webkit-transform: scale(0.7);transform-origin: 0 0;-webkit-transform-origin: 0 0;" data-sitekey="6LfcAGMpAAAAAL68qM6-xqbJeELRxV4MPPD71y27" data-action="NEWSLETTER"></div>
2182                                <button name="submit" type="submit" id="submit-button" tabindex="5" value="Submit"
2183                                        class="button button-large button-rounded btn-success subscribe-btn noleftmargin">
2184                                    Sign Up
2185                                </button>
2186                                <span class="loader"><img src='https://ik.imagekit.io/0ofixtqpt/143716/preloader-dark.gif'/>Sending ..</span>
2187                                <div class="result"></div>
2188                            </form>
2189                        </div>
2190                    </div>
2191                </div>
2192                                    
2192<script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js" defer></script>
2192
2193                     
2193<script src="https://d3w285dzx3yv2d.cloudfront.net/static/vendors/v2/message-widget/message-widget-v16.min.js" defer></script>
2193
2194                   
2195                    <message-widget-app app_id="1F48-EED9-9D4C-A1E3-FE01"></message-widget-app>
2196                            </div><!-- .footer-widgets-wrap end -->
2197        </div>
2198<!-- Copyrights
2199============================================= -->
2200    <div id="copyrights">
2201        <div class="container clearfix">
2202            <input type="hidden" id="location" name="location" value="">
2203                        <div class="col-xs-12 col-md-8 footer-copyright">
2204                Copyrights &copy; 2026                                    | <a href="/privacy-policy">Privacy Policy</a>
2205                                                    | <a href="/terms-of-services">Terms of Service</a>
2206                                                | Powered by
2207                <a target="_blank" href="https://www.nextpaw.com">
2208                    <img class="powered-by" src="https://ik.imagekit.io/0ofixtqpt/143712/nextpaw.png" width="70px">
2209                </a>
2210                <br>
2211            </div>
2212            <div class="col-xs-12 col-md-4 tright">
2213                <div class="fright clearfix">
2214                                                                                                                                                                                                                                                    <a href="https://www.facebook.com/ScratchandSniffPetSupplies/" target="_blank"
2215                                       class="social-icon si-small si-borderless si-facebook">
2216                                        <i class="fab fa-facebook"></i>
2217                                    </a>
2218                                
2219                                
2220                                
2221                                
2222                                
2223                                
2224                                
2225                                
2226                                
2227                                                                                                                                                
2228                                
2229                                                                    <a href="https://twitter.com/scratchsniff_MD" target="_blank"
2230                                       class="social-icon si-small si-borderless si-twitter">
2231                                        <i class="fab fa-twitter"></i>
2232                                    </a>
2233                                
2234                                
2235                                
2236                                
2237                                
2238                                
2239                                
2240                                                                                                                                                                                                                                                                                                            
2241                                                                    <a href="https://www.instagram.com/scratchandsniffpetsupplies/" target="_blank"
2242                                       class="social-icon si-small si-borderless si-instagram">
2243                                        <i class="fab fa-instagram"></i>
2244                                    </a>
2245                                
2246                                
2247                                
2248                                
2249                                
2250                                
2251                                
2252                                
2253                                                                                                                                                
2254                                
2255                                
2256                                
2257                                
2258                                
2259                                
2260                                                                    <a href="https://www.yelp.com/biz/scratch-and-sniff-pet-supplies-phoenix-2" target="_blank"
2261                                       class="social-icon si-small si-borderless si-yelp">
2262                                        <i class="fab fa-yelp"></i>
2263                                    </a>
2264                                
2265                                
2266                                                                                                                                                                            </div>
2267                <div class="clear"></div>
2268            </div>
2269        </div><!-- #copyrights end -->
2270    </div>
2271    <!--Modal: modalCookie-->
2272    <div class="modal fade top" id="modalCookie1" tabindex="-1" role="dialog" aria-labelledby="myModalLabel"
2273         aria-hidden="true" data-backdrop="false">
2274        <div class="modal-dialog modal-frame modal-top modal-notify modal-info modal_cookie" role="document">
2275            <!--Content-->
2276            <div class="modal-content">
2277                <!--Body-->
2278                <div class="modal-body cookie_bg">
2279                    <div class="container d-flex justify-content-center align-items-center">
2280                        <div class="col-md-6">
2281                            <p class="text-center loc_msg"></p>
2282                        </div>
2283                        <div class="col-md-6 col-xs-12">
2284                            <a type="button" class="btn btn-lg btn-primary cookie_btn" data-value="NO"
2285                               data-dismiss="modal">No, Thanks</a>
2286                            <a type="button" id="redirect_location" data-slug="" href="" data-value="YES"
2287                               class="btn cookie_btn btn-lg btn-outline-primary waves-effect">Change Location</a>
2288                        </div>
2289                    </div>
2290                </div>
2291            </div>
2292            <!--/.Content-->
2293        </div>
2294    </div>
2295    <style>
2296        .footer-map iframe{
2297            min-width: 300px !important;
2298            max-width: 300px !important;
2299            min-height: 300px !important;
2300            max-height: 300px !important;
2301        }
2302        @media(max-width: 720px) and (min-width:320px){
2303            .footer-map iframe{
2304
2305                max-width: 100% !important;
2306
2307                max-height: 100% !important;
2308            }
2309        }
2310
2311        /*CSS for tiny MCE editor custom class*/
2312        .mce-figcaption-custom {
2313            font-size: 14px;
2314            margin-top: 5px;
2315            font-style: italic;
2316            text-align: center;
2317        }
2318
2319        .mce-figure-custom {
2320            margin-bottom: 10px;
2321        }
2322
2323        .mce-figure-align-left-custom {
2324            float: left;
2325            margin-right: 25px;
2326        }
2327
2328        .mce-figure-align-right-custom {
2329            float: right;
2330            margin-left: 25px;
2331        }
2332
2333        .mce-figure-align-center-custom {
2334            text-align: center;
2335        }
2336
2337        .mce-image-align-left-custom {
2338            margin-right: 25px;
2339            margin-bottom: 10px;
2340        }
2341
2342        .mce-image-align-right-custom {
2343            margin-left: 25px;
2344            margin-bottom: 10px;
2345        }
2346
2347        .mce-image-align-center-custom {
2348            margin-bottom: 10px;
2349        }
2350
2351        .first-widget .divider.divider-border.divider-center {
2352            display: none !important;
2353        }
2354        </style>
2355</footer>
2356<script>
2357    // Get all anchor tags (<a>) on the page
2358const links = document.querySelectorAll('a');
2359
2360// Loop through each link
2361links.forEach(link => {
2362  // Get the href attribute of the link
2363  let href = link.getAttribute('href');
2364  
2365  // Check if the href exists
2366  if (href) {
2367    // If the href is a relative path (starts with '/'), do nothing
2368    if (href.startsWith('/')) {
2369      return;
2370    }
2371
2372    // Check if the href starts with 'http://' or contains 'www' (indicating a non-secure URL)
2373    if (href.startsWith('http://') || href.startsWith('www')) {
2374        link.setAttribute('href', 'https://' + href.replace(/^http:\/\//, '').replace('www.', ''));
2375    }
2376  }
2377});
2378
2379
2380</script>
2380<!-- Return to Top -->
2381    <div id="gotoTop" class="fas fa-arrow-up"></div>
2382<!-- External JavaScripts
2383============================================= -->
2384<!-- Footer Scripts
2385============================================= -->
2386
2387
2388
2389
2390<script defer type="text/javascript">
2391    var headquarterName = "jacksonville";
2392    var currentLocName = "jacksonville";
2393    var pageType = "other";
2394</script>
2394
2395
2396<script defer type="text/javascript">
2397    function animateCSS(element, animationName, callback) {
2398        const node = document.querySelector(element)
2399        node.classList.add('animated', animationName)
2400
2401        function handleAnimationEnd() {
2402            node.classList.remove('animated', animationName)
2403            node.removeEventListener('animationend', handleAnimationEnd)
2404
2405            if (typeof callback === 'function') callback()
2406        }
2407
2408        node.addEventListener('animationend', handleAnimationEnd)
2409    }
2410
2411    let closePopup = localStorage.getItem('closeBox');
2412    // lazy load video for apple browser
2413    $(document).ready(function () {
2414        // add frame to video tag for ios devices
2415        const videos = document.querySelectorAll('video');
2416        if(videos.length > 0) {
2417            for (video of videos) { // use var video if "strict mode" is enabled
2418                Object.entries(video.children).forEach(([key, value]) => {
2419                    var newSrc = value.src + '#t=0.1';
2420                    video.children[key].src = newSrc;
2421                    video.setAttribute('playsinline','true');
2422                    video.load();
2423                });
2424            }
2425        }
2426
2427        setInterval(function(){
2428            if($('iframe#ec-credit-card-form').length > 0) {
2429                var url = $('iframe#ec-credit-card-form').attr('src');
2430                var dec = decodeURIComponent(url);
2431                function getParameterByName(name, url) {
2432                    name = name.replace(/[\[\]]/g, '\\$&');
2433                    var regex = new RegExp('[?&]' + name + '(=([^&#]*)|&|#|$)'),
2434                        results = regex.exec(url);
2435                    if (!results) return null;
2436                    if (!results[2]) return '';
2437                    return decodeURIComponent(results[2].replace(/\+/g, ' '));
2438                }
2439                var color = getParameterByName('color-foreground',dec);
2440                if(color.toString() !== 'rgb(0, 0, 0)') {
2441                    var newColor = 'rgb(0, 0, 0)';
2442                    var newUrl = dec.replace(/(color-foreground=).*?(&)/, '$1' + newColor + '$2');
2443                    var newUrl = newUrl.replace(/(color-price=).*?(&)/, '$1' + newColor + '$2');
2444                    var urlEnc = encodeURI(newUrl);
2445                    $('iframe#ec-credit-card-form').attr('src', urlEnc);
2446                }
2447            }
2448        }, 1000);
2449        if($('.floating_chat').length < 1){
2450            $('body').addClass('fbRight');
2451        }
2452        if($('.fb-customerchat').length < 1){
2453            $('body').addClass('noFb');
2454        }
2455
2456        if(closePopup == 'hide'){
2457            $(".bubbleText").hide();
2458        }
2459
2460        $(document).on('click', function (event) {
2461            if (!$(event.target).closest('.msg_box').length) {
2462                if(!$(event.target).closest('.floating_chat').length){
2463                    if($('.floating_chat').hasClass('closeBox') == true){
2464                        $('.sendBtn').show();
2465                        $('.supportTxt').show();
2466                        $('#formData').show();
2467                        $('.msg_box').removeClass('enter').css({'z-index': 0,'right':'-500px'});
2468                        $('.floating_chat').find('>i').removeClass('fa-times').addClass('fa-weixin');
2469                        $('.floating_chat').addClass('openBox');
2470                        $('.msg_box').removeClass('enter');
2471                        animateCSS('.msg_box', 'fadeOutRight');
2472                        $('.floating_chat').removeClass('closeBox');
2473                        $('.bubbleText').show();
2474                    }
2475                }
2476            }
2477        });
2478        setTimeout(function() {
2479            $('.floating_chat').addClass('enter');
2480        }, 1000);
2481        $('.openBox').click(function () {
2482            if($(this).hasClass('closeBox')){
2483                $('.sendBtn').show();
2484                $('.supportTxt').show();
2485                $('.msg_box').removeClass('enter').css({'z-index': 0,'right':'-500px'});
2486                $(this).find('>i').removeClass('fa-times').addClass('fa-weixin');
2487                $(this).addClass('openBox');
2488                $('.msg_box').removeClass('enter');
2489                animateCSS('.msg_box', 'fadeOutRight');
2490                $(this).removeClass('closeBox');
2491                $('.bubbleText').show();
2492            } else {
2493                $('#formData').show();
2494                $('.msg_box').addClass('enter').css({'z-index':999,'right' : 0});
2495                $(this).find('>i').removeClass('fa-weixin').addClass('fa-times');
2496                $(this).addClass('closeBox');
2497                animateCSS('.msg_box', 'fadeInRight');
2498                $(this).removeClass('openBox');
2499                $('form input[type="text"].bfh-phone, form input[type="tel"].bfh-phone, span.bfh-phone').each(function () {
2500                    var $phone = $(this);
2501                    $phone.bfhphone($phone.data());
2502                });
2503                $('.bubbleText').hide();
2504                $('.SubmittedMessage__SendStatus').hide();
2505                $('.ConfirmationMessage').hide();
2506                $('.SubmittedMessage').removeClass('SubmittedMessage--visible');
2507            }
2508        });
2509
2510        $('#boxclose').click(function () {
2511            $(".bubbleText").fadeOut("normal", function() {
2512                $(this).remove();
2513                localStorage.setItem('closeBox', 'hide');
2514            });
2515        });
2516
2517        $(document).on('touchstart','li.sub-menu', function () {
2518            if(navigator.userAgent.match(/(iPhone|iPod|iPad)/i)){
2519                var count = $(this).attr('click-count');
2520                if(count !== undefined){
2521                    location.href = $(this).children('a').attr('href');
2522                } else{
2523                    if($(this).hasClass('click-class')){
2524                        $(this).attr('click-count',undefined);
2525                    }else{
2526                        $(this).attr('click-count',1);
2527                    }
2528                }
2529            }
2530        });
2531        // remove submenu css if empty
2532        $('li.sub-menu').each(function () {
2533            if($(this).children('ul').children().length === 0){
2534                $(this).children('ul').remove();
2535            }
2536        });
2537
2538        $("video.fullscreen-bg__video source").each(function () {
2539            var sourceFile = $(this).attr("data-src");
2540            $(this).attr("src", sourceFile);
2541            var video = this.parentElement;
2542        });
2543
2544        $('.mySlides').each(function () {
2545            var imgUrl = $(this).children().attr('src');
2546            $(this).children().css('opacity', 0);
2547            $(this).css('background', 'url("' + imgUrl + '")');
2548        });
2549
2550        var myIndex = 0;
2551        if ($(".page-slider-container")[0]) {
2552            carousel();
2553        }
2554
2555        function carousel() {
2556            var i;
2557            var x = document.getElementsByClassName("mySlides");
2558            for (i = 0; i < x.length; i++) {
2559                x[i].style.display = "none";
2560            }
2561            myIndex++;
2562            if (myIndex > x.length) {
2563                myIndex = 1
2564            }
2565            x[myIndex - 1].style.display = "block";
2566            setTimeout(carousel, 2000); // Change image every 2 seconds
2567        }
2568
2569        if ($(".review-background-static").length) {
2570            $('.location-divider').hide();
2571        }
2572        if ($(".review-background-parallax").length) {
2573            $('.location-divider').hide();
2574        }
2575
2576        $('.social_share').each(function () {
2577            $(this).attr('target', '_blank');
2578        });
2579
2580        var font_family = $('body').css('font-family');
2581        var r_font_family = font_family.replace(/\"/g, "");
2582        if (r_font_family == "PT Sans Narrow") {
2583            $("#top-social .ts-text").attr('style', 'top: 0px !important' + ';' + 'left:0px !important;' + 'margin-left:-7px !important');
2584        } else if (r_font_family == "Roboto") {
2585            $("#top-social .si-gplus .ts-text").attr('style', 'top: 0px !important;' + 'left:0px !important;' + 'margin-left:-7px !important');
2586            $("#top-social .si-youtube .ts-text").attr('style', 'top: 0px !important' + ';' + 'left:0px !important;' + 'margin-left:-7px !important');
2587            $("#top-social .si-linkedin .ts-text").attr('style', 'top: 0px !important' + ';' + 'left:0px !important;' + 'margin-left:-7px !important');
2588            $("#top-social .si-yelp .ts-text").attr('style', 'top: 0px !important' + ';' + 'left:0px !important;' + 'margin-left:-7px !important');
2589        }
2590    });
2591
2592
2593
2594    document.addEventListener("DOMContentLoaded", function () {
2595        var lazyBackgrounds = [].slice.call(document.querySelectorAll(".lazy-background"));
2596
2597        if ("IntersectionObserver" in window) {
2598            let lazyBackgroundObserver = new IntersectionObserver(function (entries, observer) {
2599                entries.forEach(function (entry) {
2600                    if (entry.isIntersecting) {
2601                        entry.target.classList.add("visible");
2602                        lazyBackgroundObserver.unobserve(entry.target);
2603                    }
2604                });
2605            });
2606
2607            lazyBackgrounds.forEach(function (lazyBackground) {
2608                lazyBackgroundObserver.observe(lazyBackground);
2609            });
2610        }
2611    });
2612
2613    //Add Icon for Submenu in Mobile
2614    $('.sub-menu-trigger').click(function () {
2615        if($(this).children('i').hasClass('rotate-icon')){
2616            $(this).children('i').removeClass('rotate-icon');
2617            $(this).parent().children('ul').css('display','none');
2618        }else{
2619            $(this).children('i').addClass('rotate-icon');
2620            $(this).parent().children('ul').css('display','block');
2621        }
2622    });
2623
2624    //Link to page for Submenu in Mobile
2625    if( /Android|webOS|BlackBerry|iPhone|iPod|iPad/i.test(navigator.userAgent) ) {
2626        var touchmoved;
2627        $('.sub-menu').on('touchend', '.mobile-a', function () {
2628            if(touchmoved != true){
2629                location.href =$(this).attr('href');
2630            }
2631        }).on('touchmove', function(e){
2632            touchmoved = true;
2633        }).on('touchstart', function(){
2634            touchmoved = false;
2635        });
2636
2637        $('.sub-menu').on('touchend').on('touchmove', function(e){
2638            touchmoved = true;
2639        }).on('touchstart', function(){
2640            touchmoved = false;
2641        });
2642    }
2643
2644
2645</script>
2645
2646<!-- Ecwid Seo friendly url js code -->
2647<script>
2648    window.ec = window.ec || {};
2649    window.ec.config = window.ec.config || {};
2650    window.ec.config.storefrontUrls = window.ec.config.storefrontUrls || {};
2651    window.ec.config.storefrontUrls.cleanUrls = true;
2652    if(currentLocName == headquarterName){
2653        window.ec.config.baseUrl = '/shop/';
2654        var ecwid_ProductBrowserURL = "/shop/";
2655    } else{
2656        var ecwid_ProductBrowserURL = currentLocName+'/shop/';
2657        window.ec.config.baseUrl = currentLocName+'/shop/';
2658    }
2659
2660</script>
2660
2661    <!-- Prefetch + Preconnect -->
2662    <link rel="dns-prefetch" href="//www.googletagmanager.com">
2663    <link rel="preconnect" href="https://www.googletagmanager.com" crossorigin>
2664    
2664<script>
2665    function loadGTM(id) {
2666        (function(w,d,s,l,i){
2667            w[l]=w[l]||[];
2668            w[l].push({'gtm.start': new Date().getTime(),event:'gtm.js'});
2669            var f=d.getElementsByTagName(s)[0],
2670                j=d.createElement(s), dl=l!='dataLayer'?'&l='+l:'';
2671            j.async=true; j.src='https://www.googletagmanager.com/gtm.js?id='+i+dl;
2672            f.parentNode.insertBefore(j,f);
2673        })(window,document,'script','dataLayer', id);
2674    }
2675
2676    function loadGtag() {
2677        var url = window.location.host;
2678        if (url.indexOf('.jenkins') === -1 && url.indexOf('.test') === -1) {
2679            var gtagScript = document.createElement('script');
2680            gtagScript.src = "https://www.googletagmanager.com/gtag/js?id=G-9N2957J5VN";
2681            gtagScript.async = true;
2682            document.head.appendChild(gtagScript);
2683
2684            gtagScript.onload = function () {
2685                
vendor: 177 bytes, lines 2685-2688
2685window.dataLayer = window.dataLayer || [];
2686                function gtag(){ dataLayer.push(arguments); }
2687                gtag('js', new Date());
2688                gtag('config', '
2688G-9N2957J5VN
vendor: 16 bytes, lines 2688-2689
2688');
2689            
2689};
2690        }
2691    }
2692
2693    function loadTrackingScripts() {
2694                loadGTM('GTM-NMGWHXT');
2695                                loadGtag();
2696            }
2697
2698    if ('requestIdleCallback' in window) {
2699        requestIdleCallback(loadTrackingScripts, { timeout: 2000 });
2700    } else {
2701        setTimeout(loadTrackingScripts, 2000);
2702    }
2703    </script>
2703
2704
2705    <!-- NOSCRIPT for GTM (should NOT be deferred) -->
vendor: 89 bytes, lines 2705-2707
2705
2706    <noscript>
2707                <iframe src="https://www.googletagmanager.com/ns.html?id=
2707GTM-NMGWHXT
vendor: 106 bytes, lines 2707-2710
2707" height="0" width="0" style="display:none;visibility:hidden"></iframe>
2708                    </noscript>
2709
2710
2711<script type="text/javascript">window.NREUM||(NREUM={});NREUM.info={"beacon":"bam.nr-data.net","licenseKey":"NRJS-848b5ec7e91ef88ba3a","applicationID":"1416771764","transactionName":"ZwNVYEEHCEVTVEZdDl5JdldHDwlYHXZCRD14EkNEbyUJWEZFXVgNVRREaHAJCEJAWF5YBEImWlVaCA==","queueTime":0,"applicationTime":217,"atts":"S0RWFgkdG0s=","errorBeacon":"bam.nr-data.net","agent":""}</script>
2711</body>
2712</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.