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://odysseypets.com/pet-food-supply" /> 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="dbyu5rgPaJONx0rOu75YYjbJcjVwqXHknjg4lvSV"/> 25 <meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests"> 26 27 <meta name="title" content="Healthy Pet Food - Holistic Pet Food Experts In Dallas At Odyssey Pets"/> 28 <meta name="description" content="Looking for healthy pet food options near you? Odyssey Pets offers holistic pet food options & nutritional counseling from pet experts in Dallas, Texas."/> 29 <!-- FB Tags --> 30 <meta property="og:type" content="website"> 31 <meta property="og:title" content="Healthy Pet Food - Holistic Pet Food Experts In Dallas At Odyssey Pets"> 32 <meta property="og:url" content="https://odysseypets.com/pet-food-supply/"> 33 <meta property="og:description" content="Looking for healthy pet food options near you? Odyssey Pets offers holistic pet food options & nutritional counseling from pet experts in Dallas, Texas."> 34 <meta property="og:image" content="https://ik.imagekit.io/0ofixtqpt/488605/front1.JPG"/> 35 36 37 <!-- Google+ Tag --> 38 <meta itemprop="image" content="https://ik.imagekit.io/0ofixtqpt/488605/front1.JPG"/> 39 40 41 42 43 44 <title>Healthy Pet Food - Holistic Pet Food Experts In Dallas At Odyssey Pets</title> 45 46 47
47<script src="https://cdn.franpos.com/customer-contents/libs/franpos_loyalty_form_popup.js" data-form-url="https://my.franpos.com/LoyaltySignup/WDU4Z3FldEcvUGNqOEFnelJlOXN6dz090" data-delay="5000" data-heading="Join Our Newsletter!" data-title-color="#ffffff" data-title-bg="#016600" data-backdrop-color="#00000033" data-shown-key="newsletterPopupShown" defer ></script>
47 48 <!-- Stylesheets 49 ============================================= --> 50<link rel="alternate" href="https://odysseypets.com/pet-food-supply/" hreflang="en-us"/> 51 52<link rel="preload" href="https://fonts.googleapis.com/css?family=Antonio:300,400,500,600,700|Archivo+Narrow:300,400,500,600,700&display=swap" as="style" onload="this.onload=null;this.rel='stylesheet'"> 53<noscript><link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Antonio:300,400,500,600,700|Archivo+Narrow:300,400,500,600,700&display=swap"></noscript> 54 55<style type="text/css"> 56 header#header *:not(i):not(.fa) { 57 font-family: "Antonio" !important; 58 } 59 60 h1, h2, h3, h4, h5, h6 { 61 font-family: "Antonio" !important; 62 } 63 64 body:not(i):not(header):not(h1):not(h2):not(h3):not(h4):not(h5):not(h6):not(.fa) { 65 font-family: "Archivo Narrow" !important; 66 } 67 .title-transform-none h2 { 68 text-transform: none !important; 69 } 70</style> 71
72<script type="text/javascript">var GET_LOCATION = "";</script>
vendor: 1 bytes, line 72
72
73<script type="text/javascript">var locationCount = "1";</script>
vendor: 1 bytes, line 73
73
74<script type="text/javascript">let auto_redirect = "0";</script>
74 75 <link rel="stylesheet" href="https://d3w285dzx3yv2d.cloudfront.net/static/vendors/v2/performance/combined.min-v6.css" defer/> 76
76<script type="text/javascript" src="https://d3w285dzx3yv2d.cloudfront.net/static/vendors/v2/js/jquery-cdn.min.js"></script>
76 77
77<script type="text/javascript" src="https://d3w285dzx3yv2d.cloudfront.net/static/vendors/v2/performance/header.min.js" defer></script>
77 78
78<script type="text/javascript" src="https://d3w285dzx3yv2d.cloudfront.net/static/vendors/v2/performance/custom.min-v9.js" defer></script>
78 79 80<!-- Preconnect and DNS Prefetch for External Services --> 81<link rel="dns-prefetch" href="//www.google.com"> 82<link rel="dns-prefetch" href="//static.elfsight.com"> 83<link rel="preconnect" href="https://fonts.googleapis.com" crossorigin> 84<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin> 85 86<!-- Google reCAPTCHA (Enterprise) -->
vendor: 87 bytes, lines 86-90
86 87<script src="https://www.google.com/recaptcha/enterprise.js" async defer></script> 88 89 90
91<!-- Elfsight Widget -->
92<script src="https://static.elfsight.com/platform/platform.js" data-use-service-core defer></script>
92 93 94<!-- Google Fonts --> 95<link rel="preload" href="https://fonts.googleapis.com/css2?family=Noto+Sans&display=swap" as="style" onload="this.onload=null;this.rel='stylesheet'"> 96<noscript><link href="https://fonts.googleapis.com/css2?family=Noto+Sans&display=swap" rel="stylesheet"></noscript> 97 98<!-- Viewport Meta --> 99<meta name="viewport" content="width=device-width, initial-scale=1"> 100 101<!-- Preload and Styles --> 102<link rel="preload" href="https://d3w285dzx3yv2d.cloudfront.net/static/vendors/v2/performance/custom.compile.min-v11.css" as="style"> 103<link rel="stylesheet" href="https://d3w285dzx3yv2d.cloudfront.net/static/vendors/v2/performance/custom.compile.min-v11.css"> 104 105 106
106<script> 107 (function(){ 108 const runAnalytics = function(id) { 109 const s = document.createElement('script'); 110 s.src = `https://www.googletagmanager.com/gtag/js?id=${id}`; 111 s.async = true; 112 document.head.appendChild(s); 113 114 window.dataLayer = window.dataLayer || []; 115 function gtag(){ dataLayer.push(arguments); } 116 117 gtag('js', new Date()); 118 gtag('config', id); 119 }; 120 121 const id = "G-WJZWVPJWQB"; 122 if (id) { 123 (window.requestIdleCallback || function(cb){ setTimeout(cb, 300); })(function() { 124 runAnalytics(id); 125 }); 126 } 127 })(); 128 </script>
128 129 130
130<script> 131 (window.requestIdleCallback || function(cb){ setTimeout(cb, 300); })(function(){ 132 !function(f,b,e,v,n,t,s){ 133 if(f.fbq) return; 134 n = f.fbq = function(){ 135 n.callMethod ? n.callMethod.apply(n, arguments) : n.queue.push(arguments); 136 }; 137 if(!f._fbq) f._fbq = n; 138 n.push = n; 139 n.loaded = !0; 140 n.version = '2.0'; 141 n.queue = []; 142 t = b.createElement(e); t.async = true; 143 t.src = v; 144 s = b.getElementsByTagName(e)[0]; 145 s.parentNode.insertBefore(t,s); 146 }(window, document, 'script', 'https://connect.facebook.net/en_US/fbevents.js'); 147 148 fbq('init', '2983775221638716'); 149 fbq('track', 'PageView'); 150 }); 151 </script>
151 152 <noscript> 153 <img height="1" width="1" style="display:none" 154 src="https://www.facebook.com/tr?id=2983775221638716&ev=PageView&noscript=1"/> 155 </noscript> 156 157 158<!-- site level css start --> 159 <style type="text/css"> 160 .service-link-color h2 { 161color: #016600 !important; 162} </style> 163<!-- site level css end --> 164
165<script type="application/ld+json"> 166{ 167 "@context": "http://schema.org/", 168 "@type": "WebSite", 169 "name": "Odyssey Pets", 170 "url": "https://odysseypets.com" 171} 172 173</script>
173<script type="application/ld+json"> 174{ 175 "@context": "http://schema.org", 176 "@type": "PetStore", 177 "name": "Odyssey Pets", 178 "image": "https://ik.imagekit.io/0ofixtqpt/488605/front1.JPG", 179 "@id": "", 180 "url": "https://odysseypets.com", 181 "telephone": "9724071166", 182 "priceRange": "$$$", 183 "address": { 184 "@type": "PostalAddress", 185 "streetAddress": "14999 Preston Rd", 186 "addressLocality": "Dallas", 187 "addressRegion": "TX", 188 "postalCode": "75254", 189 "addressCountry": "US", 190 "description" : "Looking for healthy pet food options near you? Odyssey Pets offers holistic pet food options & nutritional counseling from pet experts in Dallas, Texas." 191 }, 192 "geo": { 193 "@type": "GeoCoordinates", 194 "latitude": 32.9519933, 195 "longitude": -96.8048136 196 }, 197 "openingHoursSpecification": [{"@type":"OpeningHoursSpecification","dayOfWeek":"Monday","opens":"07:30","closes":"19:00"},{"@type":"OpeningHoursSpecification","dayOfWeek":"Tuesday","opens":"07:30","closes":"19:00"},{"@type":"OpeningHoursSpecification","dayOfWeek":"Wednesday","opens":"07:30","closes":"19:00"},{"@type":"OpeningHoursSpecification","dayOfWeek":"Thursday","opens":"07:30","closes":"19:00"},{"@type":"OpeningHoursSpecification","dayOfWeek":"Friday","opens":"07:30","closes":"19:00"},{"@type":"OpeningHoursSpecification","dayOfWeek":"Saturday","opens":"07:30","closes":"19:00"},{"@type":"OpeningHoursSpecification","dayOfWeek":"Sunday","opens":"11:00","closes":"18:00"}], 198 "sameAs": ["https://maps.app.goo.gl/z1HrjJj2QTakFJPw7","https://www.facebook.com/odysseypets
198/","https://maps.app.goo.gl/z1HrjJj2QTakFJPw7","https://www.instagram.com/odysseypets/"], 199 "aggregateRating": { 200 "@type": "AggregateRating", 201 "ratingValue": 5, 202 "reviewCount": 5 203 }, 204 "review": [ 205 { 206 "@type": "Review", 207 "datePublished" : "2026-09-04", 208 "reviewBody": "Amazing little pet store. Iâm one of those psycho pet owners and I worked in Vet hospitals when I was younger so have higher standards and would trust my dog baby with thier staff. Iâm mostly in there for DFWAPC meetings as I donât live close so mostly get the pleasure of harrassing Miles and enjoying their fish and plant department but every staff member has a true love for animals is knowledgable, helpful, courteous and not afraid to say idk and ask another employee (one of my biggest pet peeves when people fake knowledge)", 209 "author": { 210 "@type": "Person", 211 "name": "T Wilson" 212 }, 213 "reviewRating": { 214 "@type": "Rating", 215 "worstRating": "1", 216 "bestRating": "5", 217 "ratingValue": "5" 218 } 219 }, { 220 "@type": "Review", 221 "datePublished" : "2026-08-28", 222 "reviewBody": "Great products. Great service. Very knowledgeable employees! This place is especially great for fish, if you're interested in that. I highly recommend Odyssey pets!", 223 "author": { 224 "@type": "Person", 225 "name": "Michael Said" 226 }, 227 "reviewRating": { 228 "@type": "Rating", 229 "worstRating": "1", 230 "bestRating": "5", 231 "ratingValue": "5" 232 } 233 }, { 234 "@type": "Review", 235 "datePublished" : "2026-08-01", 236 "reviewBody": "The best by far! People who are knowledgeable, approachable. They carry only transparent, healthy brands of dog and cat food. Great aquarium resource as well. Support a locally owned small business! Odyssey Pets is the best!", 237 "author": { 238 "@type": "Person", 239 "name": "Shel Mulry" 240 }, 241 "reviewRating": { 242 "@type": "Rating", 243 "worstRating": "1", 244 "bestRating": "5", 245 "ratingValue": "5" 246 } 247 }, { 248 "@type": "Review", 249 "datePublished" : "2026-08-01", 250 "reviewBody": "Been going there for 15 years because the groomers are kind and gentle to my 2 boys Ollie and Dickens. Great staff and clean boarding area. Highly recommend.", 251 "author": { 252 "@type": "Person", 253 "name": "Bob âUSMCVet1985â" 254 }, 255 "reviewRating": { 256 "@type": "Rating", 257 "worstRating": "1", 258 "bestRating": "5", 259 "ratingValue": "5" 260 } 261 }, { 262 "@type": "Review", 263 "datePublished" : "2026-07-24", 264 "reviewBody": "I purchased my Rummy Nose Tetras from Odyssey Pets. I stopped in, they only had a couple. Gentlemen gave me Miles card and told me to email him. Miles was great! He ordered me 20 Rummy Nose Tetras and I picked them up a week later. Video attached is after having them for 2 weeks. They are all healthy, happy, schooling and a beautiful addition to my 75 gallon. Thank you Miles and everyone at Odyssey Pets. This was my 1st purchase, but definitely not my last! â¤ï¸", 265 "author": { 266 "@type": "Person", 267 "name": "MamaKimbo75" 268 }, 269 "reviewRating": { 270 "@type": "Rating", 271 "worstRating": "1", 272 "bestRating": "5", 273 "ratingValue": "5" 274 } 275 } ] 276 } 277 278</script>
278<!-- Document Title 279============================================= --> 280 <link rel="shortcut icon" href="https://ik.imagekit.io/0ofixtqpt/5090102/fav.png"> 281 <style> 282 .mobile_carousel { 283 background-color: #016600; 284 } 285 286 .cust-carousel { 287 background: #016600; 288 } 289 290 #return-to-top { 291 background-color: #016600; 292 } 293 294 .fa-bars { 295 color: #016600 !important; 296 } 297 298 .header-icons-span, .portfolio-filter li.activeFilter a, .portfolio-shuffle:hover { 299 background-color: #016600; 300 } 301 302 .fa-paw, .fa-car { 303 color: #016600 !important; 304 } 305 306 a.all-brands, .share-btn { 307 background-color: #016600 !important; 308 } 309 310 button.contact-btn, a.contact-btn, .subscribe-btn { 311 background-color: #016600 !important; 312 } 313 314 .pro_btn, .icon-line-heart, .icon-line-power { 315 background-color: #016600 !important; 316 } 317 318 .cta-widget-btn { 319 background-color: #016600 !important; 320 } 321 322 #result .footer-custom-icon { 323 color: #016600; 324 } 325 326 #gotoTop:hover { 327 background-color: #016600 !important; 328 } 329 330 .owl-carousel .owl-nav [class*=owl-]:hover { 331 background-color: #1bc110 !important; 332 color: #fff !important; 333 } 334 .owl-carousel .owl-nav [class*=owl-]{ 335 background-color: #016600 !important; 336 color: #fff !important; 337 } 338 339 .feature-box.fbox-plain .fbox-icon i { 340 color: #016600 !important; 341 } 342 343 #top-bar { 344 background-color: #016600 !important; 345 } 346 347 .brand-panel-heading { 348 background-color: #016600 !important; 349 } 350 351 .event-a { 352 color: #016600 !important; 353 } 354 355 .event-a:hover { 356 color: #1bc110 !important; 357 } 358 359 .about-a:hover { 360 color: #016600 !important; 361 } 362 363 .portfolio-overlay a:hover { 364 color: #016600 !important; 365 } 366 367 .tag-a { 368 color: #016600 !important; 369 } 370 371 .tag-a:hover { 372 color: #016600 !important; 373 } 374 375 .loc-li:hover { 376 background-color: #016600 !important; 377 } 378 379 .pagination > li > a { 380 color: #016600 !important; 381 } 382 383 .pagination > li > a:hover { 384 color: #016600 !important; 385 } 386 387 .pagination > .active > span { 388 background-color: #016600 !important; 389 border-color: #016600 !important; 390 } 391 392 .about-us-a { 393 color: #016600 !important; 394 } 395 396 .about-us-a:hover { 397 color: #016600 !important; 398 } 399 400 #header-wrap .container-fluid{ 401 background-color: #fff !important; 402 } 403 404 .review-a{ 405 color: #016600 !important; 406 cursor: pointer; 407 font-weight: 400; 408 } 409 410 .review-a:hover{ 411 color: #016600 !important; 412 } 413 414 .dark #primary-menu ul ul li{ 415 width: initial !important; 416 text-align: left !important; 417 } 418 /*#primary-menu ul ul:not(.mega-menu-column){*/ 419 /* left: 0 !important;*/ 420 /* right: 0 !important;*/ 421 /*}*/ 422 423 424 #primary-menu ul ul:not(.mega-menu-column) { 425 border-top: 2px solid #016600 !important; 426 } 427 .dark #primary-menu:not(.not-dark) ul ul, #primary-menu.dark ul ul { 428 border-top-color: #016600 !important; 429 } 430 #primary-menu ul li>a { 431 color: #2b2b2b !important; 432 } 433 434 #primary-menu ul li>a:hover { 435 color: #2b2b2b !important; 436 } 437 438 .dark #primary-menu:not(.not-dark) ul ul, #primary-menu ul ul:not(.mega-menu-column) { 439 background-color: #016600 !important; 440 border-color: #016600 !important; 441 } 442 443 .dark #primary-menu:not(.not-dark) ul ul li:hover > a{ 444 background-color: !important; 445 border-color: !important; 446 } 447 448 .dark #primary-menu:not(.not-dark) ul ul li>a { 449 color: #ffffff !important; 450 } 451 452 .dark #primary-menu:not(.not-dark) ul ul li>a:hover { 453 color: !important; 454 } 455 456 #primary-menu ul li .mega-menu-content ul li.menu-item.sub-menu:hover{ 457 background-color: unset !important; 458 border-color: unset !important; 459 } 460 461 #primary-menu ul li .mega-menu-content ul li.menu-item.sub-menu ul li:hover{ 462 background-color: unset !important; 463 border-color: unset !important; 464 color: #000000 !important; 465 } 466 .anc_subscription_description{ 467 margin-top: 8px !important; 468 } 469 .more_anc_subsc_desc{ 470 margin-top: 0px !important; 471 margin-bottom: 10px !important; 472 } 473 #anc_text { 474 margin-right: 70px !important; 475 margin-left: 70px !important; 476 } 477 .announcement_subscription_close{ 478 position: absolute; 479 right: 0 !important; 480 top: 0 !important; 481 margin-top: 0px !important; 482 margin-right: 0px !important; 483 } 484 485 .locationBrd{ 486 border-left: 8px solid #016600 !important; 487 } 488 .location-border span{ 489 color: #016600 !important; 490 } 491 .location-border:hover{ 492 background-color: #016600 !important; 493 } 494 .location-border:hover .location-drawer-business{ 495 color: #ffffff !important; 496 } 497 .location-border:hover span{ 498 color: #ffffff !important; 499 } 500 .location-border span.drawer_delivery{ 501 color: #000000 !important; 502 } 503 /* search bar style */ 504 .ecwid-search-widget__input{ 505 border: 1px solid #016600 !important; 506 height: 3.2em !important; 507 } 508 .ecwid-search-widget__btn{ 509 height: 3.2em !important; 510 border: 1px solid #016600 !important; 511 background: #016600 !important; 512 width: 40px !important; 513 } 514 .ecwid-search-widget__btn:hover{ 515 opacity: 1 !important; 516 } 517 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]{ 518 stroke: #016600 !important; 519 } 520 html#ecwid_html body#ecwid_body .ec-minicart--m .ec-minicart__counter::after{ 521 background-color: #016600 !important; 522 } 523 .ec-notice__text-inner { 524 color: #000000!important; 525 } 526 /*** Mega Menu ***/ 527 @media (min-width: 991px) { 528 .custom-mega-menu-link:after { 529 content: ''; 530 display: block; 531 width: 40px; 532 border-bottom: 2px solid #ffffff !important; 533 } 534 535 #primary-menu ul li .mega-menu-content div.mega-menu-container-div { 536 background-color: #016600 !important; 537 } 538 .animal-li { 539 background-color: #016600 !important; 540 border-color: #016600 !important; 541 } 542 .dark #primary-menu:not(.not-dark) ul ul li>a.nav-link{ 543 color: #2b2b2b !important; 544 transition: none !important; 545 } 546 547 .dark #primary-menu:not(.not-dark) ul ul li.animal-li>a.nav-link { 548 color: #ffffff !important; 549 transition: none !important; 550 } 551 .dark #primary-menu ul li .mega-menu-content ul li a.animal-a:hover { 552 color: #ffffff !important; 553 } 554 #primary-menu ul li .mega-menu-content ul.mega-menu-column-ul{ 555 background-color: #016600 !important; 556 border-color: #016600 !important; 557 } 558 559 #primary-menu ul li .mega-menu-content ul > li.menu-item.sub-menu.mega-menu-category-title > a{ 560 background-color: #016600 !important; 561 border-color: #016600 !important; 562 color: #2b2b2b !important; 563 } 564 565 #primary-menu ul li .mega-menu-content ul >
565 li.menu-item.sub-menu.mega-menu-category-title ul li.sub-menu-mega-menu > a{ 566 background-color: #016600 !important; 567 border-color: #016600 !important; 568 color: #2b2b2b !important;; 569 } 570 #primary-menu ul li .mega-menu-content ul > li.menu-item.sub-menu.mega-menu-category-title ul.supplies-container-1, 571 #primary-menu ul li .mega-menu-content ul > li.menu-item.sub-menu.mega-menu-category-title ul.supplies-container-2, 572 #primary-menu ul li .mega-menu-content ul > li.menu-item.sub-menu.mega-menu-category-title ul.supplies-container-3{ 573 border-color: #016600 !important; 574 } 575 576 #primary-menu ul li .mega-menu-content ul > li.menu-item.sub-menu.mega-menu-category-title:hover > a { 577 background-color: unset !important; 578 border-color: unset !important; 579 padding-left: 15px !important; 580 } 581 582 #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 { 583 background-color: #ffffff !important; 584 border-color: #ffffff !important; 585 color: #016600 !important; 586 padding-left: 15px !important; 587 } 588 589 .custom-mega-submenu-title { 590 color: !important; 591 } 592 } 593 /***/ 594 #return-to-top{ 595 background-color: #016600 !important; 596 } 597 body#ecwid_body .heading-block .small-text #my-categories-0 { 598 margin-top: 30px; 599 } 600 .blog-search-button { 601 background-color: #016600 !important; 602 } 603 604/* --- NWP-3809 Style Overrides --- */ 605 606/* Services */ 607.home-service-section h2, .home-service-container h2 { font-size: 36px !important; } 608.home-service-section p, .home-service-container p, .home-service-section .small-text, .home-service-container .small-text { font-size: 22px !important; } 609.home-service-section .service-carousel-desc p { font-size: 22px !important; } 610 611/* Brands */ 612.home-brand-section h2, .pet-brand-section h2, .home-brand-container h2 { font-size: 36px !important; } 613.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; } 614 615/* Gallery */ 616.gallery-section h2, .gallery-section h3 { font-size: 36px !important; } 617.gallery-section p, .gallery-section .small-text { font-size: 22px !important; } 618 619/* Reviews */ 620.review-section h2, .review-section h2.review-title-color { font-size: 36px !important; } 621/* Description text for reviews */ 622.review-section > .container > .row > .heading-block > span, .review-section .review_text_inner.small-text, .review-section p.review-description-color { font-size: 22px !important; } 623/* Trusted / h3 */ 624.review-section h3, .review-section label[data-testid="review-count"], .review-section p[style*="bold"], .review-section div[style*="bold"] { font-size: 20px !important; } 625/* Review div */ 626.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; } 627span.review_testimonial_author { font-size: 14px !important; } 628 629/* Home page widget width fixes (About Us to match others) */ 630.aboutus-container, .aboutus_row, .aboutus_content { 631 width: 100% !important; 632 max-width: 1170px !important; 633 margin-left: auto !important; 634 margin-right: auto !important; 635} 636 637/* --- End NWP-3809 --- */ 638 639/* More Home Page Widgets (NWP-3809) */ 640.home-blog-section h2, .home-event-section h2, .home-promotion-section h2, 641.home-about-section h2, .home-aboutus-section h2, .aboutus_section h2, 642.hero-section h2, .meet-section h2, .team_section h2, .home-multi-location-section h2 { 643 font-size: 36px !important; 644} 645 646.home-blog-section .small-text, .home-event-section .small-text, .home-promotion-section .small-text, 647.home-about-section p, .home-aboutus-section p, .aboutus_section p, 648.hero-section p, .meet-section p, .team_section p, .home-multi-location-section .small-text, .team-member-description p, .member-bio p { 649 font-size: 22px !important; 650} 651/* End More Home Page Widgets */ 652</style> 653 654</head> 655<body class="stretched"> 656<div class="body-overlay"></div> 657 658 659<div id="wrapper" class="clearfix"> 660 <style> 661 .announcement { 662 display: none; 663 background: #ffffff; 664 color: #016600; 665 } 666 667 #announcement-close { 668 background-color: #ffffff; 669 } 670 671 .announcement-btn { 672 background: #016600 !important; 673 color: #ffffff !important; 674 } 675 #announcement-loader{ 676 padding-left: 20px; 677 display: none 678 } 679 #announcement-loader img{ 680 height:30px; 681 width:30px; 682 padding-right:10px 683 } 684 @media (max-width: 991px) and (min-width: 320px) { 685 .announcement { 686 background: #016600; 687 color: #ffffff; 688 } 689 690 #announcement-close { 691 background-color: #016600; 692 margin-top: 0px; 693 } 694 695 .announcement-btn { 696 background: #ffffff !important; 697 color: #016600 !important; 698 }
699 .anc_new_name_div{ 700 float: left !important; 701 width: 40%; 702 } 703 .anc_new_email_div{ 704 float: left; 705 width: 41% !important; 706 margin-left: -24px; 707 } 708 .anc_new_button_div{ 709 float: right; 710 } 711 .anc_new_input{ 712 margin-top: 7px !important; 713 } 714 .anc_new_button{ 715 width: 85px !important; 716 display: inline-block !important; 717 height: 40px !important; 718 white-space: unset !important; 719 line-height: 15px !important; 720 padding: 5px 12px !important; 721 border-radius: 16px !important; 722 font-size: 9px !important; 723 } 724 .anc_new_button:after{ 725 position: absolute; 726 top: 39px; 727 left: 57%; 728 width: 0; 729 height: 0; 730 margin-left: 0; 731 border-left: 10px solid transparent; 732 border-right: 10px solid transparent; 733 border-top: 10px solid #ffffff; 734 content: ''; 735 } 736 } 737 @media(max-width: 320px){ 738 .anc_new_button{ 739 width: 80px !important; 740 } 741 } 742 @media(max-width: 720px) { 743 .mobile-anc-btn{ 744 display: block !important; 745 } 746 747 } 748</style> 749 750<div class="announcement announcement-mobile" id="announcement"> 751 <input type="hidden" id="announcement_id" value="5293"> 752 <div id="anc_text" style="white-space: pre-line">JOIN THE COMMUNITY! 753Get pet care tips, event invitations, new product updates, and exclusive offers delivered straight to your inbox. ð¾ 754 <a target="_blank" id='announcement-btn' class="hidden-xs mobile-anc-btn hidden-sm button button-small nomargin announcement-btn" 755 href="https://my.franpos.com/LoyaltySignup/WDU4Z3FldEcvUGNqOEFnelJlOXN6dz090">Sign Up</a> 756 </div> 757 <button id="announcement-close" class="" 758 onclick="set_show_announcement_flag()"> 759 <span class="fa fa-close"></span> 760 </button> 761 <div class="hidden-md hidden-lg"> 762 <a target="_blank" id='announcement-btn' class="hidden-xs hidden-sm button button-small nomargin announcement-btn" 763 href="https://my.franpos.com/LoyaltySignup/WDU4Z3FldEcvUGNqOEFnelJlOXN6dz090">Sign Up</a> 764 </div> 765 </div>
766<script defer> 767 $(window).on('load',function(){ 768 // if($(".anc_subscription_description").length > 0) { 769 // let desc_length = $(".anc_subscription_description").html().length; 770 // if (desc_length > 90) { 771 // $(".anc_subscription_description").removeClass('col-md-6'); 772 // $(".anc_subscription_description").addClass('col-md-12'); 773 // $(".anc_subscription_description").addClass('more_anc_subsc_desc'); 774 // $(".anc_first_input").addClass('col-md-offset-3'); 775 // } else if (desc_length <= 45) { 776 // $(".anc_subscription_description").removeClass('col-md-6'); 777 // $(".anc_subscription_description").addClass('col-md-3'); 778 // $(".anc_adjust_input").removeClass('col-md-2'); 779 // $(".anc_adjust_input").addClass('col-md-3'); 780 // } 781 // } 782 }); 783 784 // Listen for announcement button click 785 const announcementButton = document.getElementById('announcement-btn'); 786 if (announcementButton) { 787 announcementButton.addEventListener('click', recordClick); 788 } 789 790 // Record announcement button click 791 function recordClick() { 792 const announcement_id = document.getElementById('announcement_id').value; 793 const url = '/record-announcement-click/'; 794 const token = document.querySelector('meta[name="csrf-token"]').getAttribute('content'); 795 796 fetch(url, { 797 method: 'POST', 798 headers: { 799 'Content-Type': 'application/json', 800 'X-CSRF-TOKEN': token 801 }, 802 body: JSON.stringify({announcement_id: announcement_id}) 803 }) 804 .catch((error) => { 805 console.error('Error:', error); 806 }); 807 } 808</script>
808 <style> 809 .open > .social-share, .promotion-container .dropdown-menu{ 810 text-align: center !important; 811 } 812 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{ 813 color: #333; 814 } 815 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{ 816 color: #000000; 817 } 818 input#ec-cart-email-input{ 819 color: #000000; 820 font-weight: 400; 821 } 822 @media(max-width: 1200px) and (min-width:1000px) { 823 .menu-top { 824 padding-top: 9%; 825 } 826 } 827 @media (min-width: 800px) and (max-width: 2000px) and (orientation: landscape) { 828 .ec-cart-widget.ec-cart-desktop { 829 display: block !important; 830 } 831 .ec-cart-widget.mobile{ 832 display: none !important; 833 } 834 } 835 @media (min-width: 1028px) and (max-width: 2000px) and (orientation: portrait) { 836 .ec-cart-widget.ec-cart-desktop { 837 display: block !important; 838 } 839 .ec-cart-widget.mobile{ 840 display: none !important; 841 } 842 } 843</style> 844<header id="header" class="transparent-header dark full-header" data-sticky-class="dark"> 845 <style> 846 .si-gplus:hover, .si-colored.si-gplus{ 847 background-color: #ffffff !important; 848 } 849 .top-links ul li{ 850 border-left: unset !important; 851 } 852 .loc-topbar-li:hover{ 853 background-color: transparent !important; 854 855 } 856 .loc-header-icon-span { 857 background-color: #ffffff !important; 858 } 859 .loc-header-icons{ 860 color: #016600 !important 861 } 862 .hour-cursor {color: inherit !important;} 863</style> 864<div id="top-bar" class="transparent-topbar hidden-sm hidden-xs"> 865 866 <div class="col_half nobottommargin clearfix col-md-1 top-left"> 867 <div class="top-links"> 868 <ul> 869 870 871 872 873 874 875 876 877 878 879 <li class="mobile-top-links"><a target="_blank" class="mapLink" 880 href="https://www.google.com/maps/place/search?q=Odyssey+Pets+14999+Preston+Rd+400a+Dallas+TX+75254&place_id=Ei0xNDk5OSBQcmVzdG9uIFJkICM0MDBhLCBEYWxsYXMsIFRYIDc1MjMwLCBVU0EiIBoeChYKFAoSCdEwMgOdIEyGEaZscOUlIzzlEgQ0MDBh"> 881 <span class="ts-icon get-direction-btn"><i class="fas fa-map-marker-alt"></i></span> 882 <span class="ts-text get-direction-btn">14999 Preston Rd, Ste. 400A, Dallas, TX 883 75254</span></a> 884 </li> 885 <li class="hour-li mobile-top-links"> 886 <a class="hour-cursor"><span class="ts-icon"><i class="far fa-clock"></i></span> 887 <span class="ts-text"> 888 889 Open Today: 890 11:00 am - 6:00 pm </span> 891 </a> 892 </li> 893 </ul> 894 </div> 895 </div> 896 <div class="col_half fright col_last nobottommargin clearfix"> 897 <!-- Top Social 898 ============================================= --> 899 <div id= 900 "top-social"> 901 <ul> 902 903 904 905 <li><a href="https://maps.app.goo.gl/z1HrjJj2QTakFJPw7" target="_blank" class="si-gplus" data-hover-width="109"><span 906 class="ts-icon"> 907 <img src="https://ik.imagekit.io/0ofixtqpt/3430774/glogo.png" style="width: 18px;"> 908 </span><span 909 class="ts-text"> 910 <img src="https://ik.imagekit.io/0ofixtqpt/3430772/google-logo.png" style="width: 60px;"> 911 </span></a></li> 912 913 914 915 916 917 918 919 920 <li><a href="https://www.youtube.com/@OdysseyPets" target="_blank" class="si-youtube" data-hover-width="109"><span 921 class="ts-icon"><i class="fab fa-youtube"></i></span><span 922 class="ts-text">Youtube</span></a></li> 923 924 925 926 <li>
926<a href="https://www.facebook.com/odysseypets/" target="_blank" class="si-facebook" data-hover-width="109"><span 927 class="ts-icon"><i class="fab fa-facebook"></i></span><span 928 class="ts-text">Facebook</span></a></li> 929 930 931 932 933 934 935 936 937 938 939 940 941 942 943 944 <li>
944<a href="https://www.instagram.com/odysseypets/" target="_blank" class="si-instagram" data-hover-width="109"><span 945 class="ts-icon"><i class="fab fa-instagram"></i></span><span 946 class="ts-text">Instagram</span></a></li> 947 948 949 950 951 952 953 <span class="top_phone"> 954 <a href="tel:(972) 407-1166"> 955 <span class="ts-icon call-us-btn"> 956 <i class="fas fa-phone call-us-btn" style="transform: rotate(90deg) !important;"></i> 957 </span>
958 <span class="ts-text call-us-btn">(972) 407-1166</span> 959 </a> 960 </span> 961 </ul> 962 </div><!-- #top-social end --> 963 </div> 964 965</div> 966 <div id="top-bar" class="transparent-topbar hidden-md hidden-lg mobile-topbar"> 967 <div class="col-xs-12 nobottommargin clearfix"> 968 <div class="hour-li mobile-top-links single-hour-div"> 969 <a class="hour-cursor"><span class="ts-icon"><i class="far fa-clock"></i></span> 970 <span class="ts-text"> 971 972 Open Today: 973 11:00 am - 6:00 pm </span> 974 </a> 975 </div> 976 <div class="top-links text-center loc-toplinks"> 977 <ul> 978 <li class="loc-li loc-topbar-li"> 979 <span class="header-icons-span loc-header-icon-span hidden-lg hidden-md loc-call-span"> 980 <a href="tel:9724071166"><i class="fas fa-phone header-icons loc-header-icons call-us-btn" style="transform: rotate(90deg) !important;"></i></a> 981 </span> 982 </li> 983 <li class="loc-li loc-topbar-li"> 984 <span class="header-icons-span loc-header-icon-span fa fa-left hidden-lg hidden-md loc-direction-span single-direction-span"> 985 <a target="_blank" class="mapLink" 986 href="https://www.google.com/maps/place/search?q=Odyssey+Pets+14999+Preston+Rd+400a+Dallas+TX+75254&place_id=Ei0xNDk5OSBQcmVzdG9uIFJkICM0MDBhLCBEYWxsYXMsIFRYIDc1MjMwLCBVU0EiIBoeChYKFAoSCdEwMgOdIEyGEaZscOUlIzzlEgQ0MDBh"><i 987 class="fas fa-map-marker-alt header-icons loc-header-icons get-direction-btn"></i></a> 988 </span> 989 </li> 990 </ul> 991 </div> 992 </div> 993 </div>
994<script defer> 995 $('document').ready(function(){ 996 $('.top-links ul li.location-drawer').css({cursor: "pointer"}); 997 }) 998 document.addEventListener("DOMContentLoaded", function () { 999 const mapLinks = document.getElementsByClassName("mapLink"); 1000 const isMobile = window.innerWidth <= 768; 1001 1002 if (isMobile) { 1003 Array.from(mapLinks).forEach(link => { 1004 let originalLink = link.href; 1005 1006 if (originalLink.includes("https://www.google.com/maps/place/search?q=")) { 1007 let newLink = originalLink.replace( 1008 "https://www.google.com/maps/place/search?q=", 1009 "https://www.google.com/maps/search/?api=1&query=" 1010 ); 1011 link.href = newLink; 1012 } 1013 }); 1014 } 1015}); 1016 1017</script>
1017 <div id="header-wrap" style="display:block"> 1018 <div class="container-fluid clearfix "> 1019 <div id="primary-menu-trigger" class="single-menu-trigger"> 1020 <i class="fas fa-bars"></i> 1021 <span class="mobile_menu_text"> MENU </span> 1022 </div> 1023 <!-- Logo ============================================= --> 1024 <div id="logo" class="mobile-header-logo "> 1025 <a href="/" 1026 class="standard-logo logo-adjustment" data-dark-logo="https://ik.imagekit.io/0ofixtqpt/2501317/1693769242_Odyssey logo circle B (1).png"> 1027 <img src="https://ik.imagekit.io/0ofixtqpt/2501317/1693769242_Odyssey logo circle B (1).png" alt="Odyssey Pets Logo" class="logo-adjustment-img"> 1028 </a> 1029 <a href="/" 1030 class="retina-logo logo-alignment logo-adjustment" data-dark-logo="https://ik.imagekit.io/0ofixtqpt/2501317/1693769242_Odyssey logo circle B (1).png"> 1031 <img src="https://ik.imagekit.io/0ofixtqpt/2501317/1693769242_Odyssey logo circle B (1).png" alt="Odyssey Pets Logo" class="logo-adjustment-img"> 1032 </a> 1033 </div><!-- #logo end --> 1034 <!-- Mobile search box --> 1035 <!-- Mobile search box end --> 1036 <!-- Primary Navigation============================================= --> 1037 <nav id="primary-menu" class="menu-top" style=""> 1038 <ul id=""> 1039 <div id="ecwidSearch-desktop" class="alignleft"> 1040 </div> 1041 <style> 1042 .menu-btn{ 1043 border-radius: 30px; 1044 } 1045 1046 #header.sticky-header:not(.static-sticky) #primary-menu > ul > li > a{ 1047 padding-top: 19px;; 1048 } 1049 1050 @media (max-width: 991px) { 1051 .custom-btn { 1052 display: inline-block; 1053 width: 48%; 1054 margin-right: 2%; 1055 } 1056 } 1057 1058 </style> 1059 1060 <li class="current "> 1061 1062 <a class="" href="https://shop.odysseypets.com/" title="Shop Near Dallas" target=_blank 1063 style=""> 1064 <div class="" 1065 style=""> 1066 Shop 1067 </div> 1068 1069 </a> 1070 1071 </li> 1072 <style> 1073 .menu-btn{ 1074 border-radius: 30px; 1075 } 1076 1077 #header.sticky-header:not(.static-sticky) #primary-menu > ul > li > a{ 1078 padding-top: 19px;; 1079 } 1080 1081 @media (max-width: 991px) { 1082 .custom-btn { 1083 display: inline-block; 1084 width: 48%; 1085 margin-right: 2%; 1086 } 1087 } 1088 1089 </style> 1090 1091 <li class=" sub-menu click-class "> 1092 1093 <a class="" href="/pet-food-supply/" title="Cat & Dog Near Dallas" style="" 1094 > 1095 <div class="" 1096 style=""> 1097 Cat & Dog 1098 </div> 1099 </a> 1100 <ul style=""> 1101 <li> 1102 <a href="/pet-food-cost-carb-calculators/" title="Pet Food Cost & Carb Calculators Near Dallas" > 1103 <div>Pet Food Cost & Carb Calculators</div> 1104 </a> 1105 </li> 1106 <li> 1107 <a href="/dog-food-supply/" title="Dog Food & Supplies Near Dallas" > 1108 <div>Dog Food & Supplies</div> 1109 </a> 1110 </li> 1111 <li> 1112 <a href="/cat-food-supply/" title="Cat Food & Supplies Near Dallas" > 1113 <div>Cat Food & Supplies</div> 1114 </a> 1115 </li> 1116 <li> 1117 <a href="/brands/" title="See All Brands Near Dallas" > 1118 <div>See All Brands</div> 1119 </a> 1120 </li> 1121 <li> 1122 <a href="http://www.luckybuckantlers.com/" title="Lucky Buck Antlers Near Dallas" target=_blank> 1123 <div>Lucky Buck Antlers</div> 1124 </a> 1125 </li> 1126 </ul> 1127 </li> 1128 <style> 1129 .menu-btn{ 1130 border-radius: 30px; 1131 } 1132 1133 #header.sticky-header:not(.static-sticky) #primary-menu > ul > li > a{ 1134 padding-top: 19px;; 1135 } 1136 1137 @media (max-width: 991px) { 1138 .custom-btn { 1139 display: inline-block; 1140 width: 48%; 1141 margin-right: 2%; 1142 } 1143 } 1144 1145 </style> 1146 1147 <li class=" sub-menu click-class "> 1148 1149 <a class="" href="/fish-food-supply/" title="Fis
1149h Near Dallas" style="" 1150 > 1151 <div class="" 1152 style=""> 1153 Fish 1154 </div> 1155 </a> 1156 <ul style=""> 1157 <li> 1158 <a href="/fish-food-supply/" title="The Fish Room Near Dallas" > 1159 <div>The Fish Room</div> 1160 </a> 1161 </li> 1162 <li> 1163 <a href="/fish-food-supply/" title="Aquarium Service Near Dallas" > 1164 <div>Aquarium Service</div> 1165 </a> 1166 </li> 1167 <li> 1168 <a href="/aquarium-consultations/" title="Aquarium Consultations Near Dallas" > 1169 <div>Aquarium Consultations</div> 1170 </a> 1171 </li> 1172 </ul> 1173 </li> 1174 <style> 1175 .menu-btn{ 1176 border-radius: 30px; 1177 } 1178 1179 #header.sticky-header:not(.static-sticky) #primary-menu > ul > li > a{ 1180 padding-top: 19px;; 1181 } 1182 1183 @media (max-width: 991px) { 1184 .custom-btn { 1185 display: inline-block; 1186 width: 48%; 1187 margin-right: 2%; 1188 } 1189 } 1190 1191 </style> 1192 1193 <li class=" sub-menu click-class "> 1194 1195 <a class="" href="/small-pet-food-supply/" title="Small Pets Near Dallas" style="" 1196 > 1197 <div class="" 1198 style=""> 1199 Small Pets 1200 </div> 1201 </a> 1202 <ul style=""> 1203 <li> 1204 <a href="/bird-food-supply/" title="Bird Food & Supplies Near Dallas" > 1205 <div>Bird Food & Supplies</div> 1206 </a> 1207 </li> 1208 <li> 1209 <a href="/small-pet-food-supply/" title="Small Pets Food & Supplies Near Dallas" > 1210 <div>Small Pets Food & Supplies</div> 1211 </a> 1212 </li> 1213 </ul> 1214 </li> 1215 <style> 1216 .menu-btn{ 1217 border-radius: 30px; 1218 } 1219 1220 #header.sticky-header:not(.static-sticky) #primary-menu > ul > li > a{ 1221 padding-top: 19px;; 1222 } 1223 1224 @media (max-width: 991px) { 1225 .custom-btn { 1226 display: inline-block; 1227 width: 48%; 1228 margin-right: 2%; 1229 } 1230 } 1231 1232 </style> 1233 1234 <li class=" sub-menu click-class "> 1235 1236 <a class="" href="/services/" title="Services Near Dallas" style="" 1237 > 1238 <div class="" 1239 style=""> 1240 Services 1241 </div> 1242 </a> 1243 <ul style=""> 1244 <li> 1245 <a href="/local-delivery/" title="Local Delivery Near Dallas" > 1246 <div>Local Delivery</div> 1247 </a> 1248 </li> 1249 <li> 1250 <a href="/dog-boarding/" title="Dog Boarding & Daycare Near Dallas" > 1251 <div>Dog Boarding & Daycare</div> 1252 </a> 1253 </li> 1254 <li> 1255 <a href="/grooming/" title="Dog Grooming Near Dallas" > 1256 <div>Dog Grooming</div> 1257 </a> 1258 </li> 1259 <li> 1260 <a href="/nutritional-counseling/" title="Nutritional Counseling Near Dallas" > 1261 <div>Nutritional Counseling</div> 1262 </a> 1263 </li> 1264 <li> 1265 <a href="/pet-adoptions/" title="Pet Adoptions Near Dallas" > 1266 <div>Pet Adoptions</div> 1267 </a> 1268 </li> 1269 </ul> 1270 </li> 1271 <style> 1272 .menu-btn{ 1273 border-radius: 30px; 1274 } 1275 1276 #header.sticky-header:not(.static-sticky) #primary-menu > ul > li > a{ 1277 padding-top: 19px;; 1278 } 1279 1280 @media (max-width: 991px) { 1281 .custom-btn { 1282 display: inline-block; 1283 width: 48%; 1284 margin-right: 2%; 1285 } 1286 } 1287 1288 </style> 1289 1290 <li class=" sub-menu click-class "> 1291 1292 <a class="" href="/events/" title="Events & Deals Near Dallas" style="" 1293 > 1294 <div class="" 1295 style=""> 1296 Events & Deals 1297 </div> 1298 </a> 1299 <ul style=""> 1300 <li> 1301 <a href="/deals/" title="Deals Near Dallas" > 1302 <div>Deals</div> 1303 </a> 1304 </li> 1305 </ul> 1306 </li> 1307 <style> 1308 .menu-btn{ 1309 border-radius: 30px; 1310 } 1311 1312 #header.sticky-header:not(.static-sticky) #primary-menu > ul > li > a{ 1313 padding-top: 19px;; 1314 } 1315 1316 @media (max-width: 991px) { 1317 .custom-btn { 1318 display: inline-block; 1319 width: 48%; 1320 margin-right: 2%; 1321 } 1322 } 1323 1324 </style> 1325 1326 <li class=" sub-menu click-class "> 1327 1328 <a class="" href="/loyalty-program/" title="Loyalty Program Near Dallas" style="" 1329 > 1330 <div class="" 1331 style=""> 1332 Loyalty Program 1333 </div> 1334 </a> 1335 <ul style=""> 1336 <li> 1337 <a href="/vip/" title="VIP Membership Near Dallas" > 1338 <div>VIP Membership</div> 1339 </a> 1340 </li> 1341 </ul> 1342 </li> 1343 <style> 1344 .menu-btn{ 1345 border-radius: 30px; 1346 } 1347 1348 #header.sticky-header:not(.static-sticky) #primary-menu > ul > li > a{ 1349 padding-top: 19px;; 1350 } 1351 1352 @media (max-width: 991px) { 1353 .custom-btn { 1354 display: inline-block; 1355 width: 48%; 1356 margin-right: 2%; 1357 } 1358 } 1359 1360 </style> 1361 1362 <li class=" sub-menu click-class "> 1363 1364 <a class="" href="/about-us/" title="About Near Dallas" style="" 1365 > 1366 <div class="" 1367 style=""> 1368 About 1369 </div> 1370 </a> 1371 <ul style=""> 1372 <li> 1373 <a href="/industry-awards/" title="Industry Awards Near Dallas" > 1374 <div>Industry Awards</div> 1375 </a> 1376 </li> 1377 <li> 1378 <a href="/kibble-assessment/" title="Kibble Assessment Near Dallas" > 1379 <div>Kibble Assessment</div> 1380 </a> 1381 </li> 1382 <li> 1383 <a href="/loyalty-program/" title="Join Our Loyalty Program Near Dallas" > 1384 <div>Join Our Loyalty Program</div> 1385 </a> 1386 </li> 1387 <li> 1388 <a href="/application/" title="Employment Application Near Dallas" > 1389 <div>Employment Application</div> 1390 </a> 1391 </li> 1392 <li> 1393 <a href="/resources/" title="Resources Near Dallas" > 1394 <div>Resources</div> 1395 </a> 1396 </li> 1397 <li> 1398 <a href="/reviews/" title="Online Reviews Near Dallas" > 1399 <div>Online Reviews</div> 1400 </a> 1401 </li> 1402 <li> 1403 <a href="/contact-us/" title="Contact Near Dallas" > 1404 <div>Contact</div> 1405 </a> 1406 </li> 1407 </ul> 1408 </li> 1409 <style> 1410 .menu-btn{ 1411 border-radius: 30px; 1412 } 1413 1414 #header.sticky-header:not(.static-sticky) #primary-menu > ul > li > a{ 1415 padding-top: 19px;; 1416 } 1417 1418 @media (max-width: 991px) { 1419 .custom-btn { 1420 display: inline-block; 1421 width: 48%; 1422 margin-right: 2%; 1423 } 1424 } 1425 1426 </style> 1427 1428 <li class=" "> 1429 1430 <a class="" href="/blog/" title="Blog Near Dallas" style="" 1431 > 1432 <div class="" 1433 style=""> 1434 Blog 1435 </div> 1436 </a> 1437 </li> 1438 </ul> 1439 </nav><!-- #primary-menu end --> 1440 </div> 1441 </div> 1442 </header> 1443<div id="side-panel"> 1444 <div class="side-panel-wrap">
1445 <div class="drawer-title"> 1446 <button type="button" class="close drawer-close" data-dismiss="alert" aria-label="Close"> 1447 <span aria-hidden="true" class="drawer-close-icon">Ã</span> 1448 </button> 1449 <h3 class="drawer-title-name"><i class="fas fa-map-marker-alt"></i> Find Your Store </h3> 1450 </div> 1451 <div class="drawer-card"> 1452 <div class="zip-code-div"> 1453 <input type="text" class="zip-code-search" id="zipCode" data-id="zip-code-input" placeholder="Enter Zip Code" maxlength="5" /> 1454 <button type="submit" id="zipSearch" class="loc-search-button"><i class="fas fa-search search-icon"></i></button> 1455 </div> 1456 <span class="zip-error"></span> 1457 <h2 id="all-show" class="local-store-link"> All Locations </h2> 1458 <img src="https://ik.imagekit.io/0ofixtqpt/143715/preloader-dark.gif" id="loader-location" class="loader-location"/> 1459 <div class="show-location"> 1460 <a class="location-drawer-anchor locationSelect" data-slug="dallas" data-name="dallas" href="javascript:;" data-href="/"> 1461 <div class="client-location location-border"> 1462 <h3 class="notopmargin nobottommargin location-drawer-business"> 1463 Dallas 1464 </h3> 1465 <span> 1466 <i class="fas fa-map-marker-alt"></i> 14999 Preston Rd, ,Ste. 400A, Dallas, TX 75254 1467 </span> 1468 <br /> 1469 <span> 1470 <i class="fas fa-phone" style="transform: rotate(90deg) !important;"></i> (972) 407-1166 1471 </span> 1472 <br /> 1473 1474 <span class="hours-drawer"> 1475 Open Today Until 6:00 pm 1476 </span> 1477 <span class="drawer_delivery"> 1478 <br /> 1479 In-Store Pickup, Curbside Pickup, Local Delivery, Same Day Delivery, No Contact Delivery Available 1480 </span> 1481 </div> 1482 </a> 1483 </div> 1484 </div> 1485 </div> 1486</div>
1487<script> 1488 let ecwid_count = '0'; 1489 ecwid_count = parseInt(ecwid_count); 1490 let selectedLocation = localStorage.getItem('selected_location'); 1491 if(localStorage.getItem('drawer_flag') == null && ecwid_count > 1){ 1492 localStorage.setItem('drawer_flag',1); 1493 $("body").addClass('side-panel-open'); 1494 }else{ 1495 localStorage.setItem('drawer_flag',0); 1496 $("body").removeClass('side-panel-open'); 1497 } 1498 var loc = $('#client_location').val(); 1499 localStorage.setItem('selected_location', loc); 1500 $('a[data-slug='+loc+']').children().addClass('locationBrd'); 1501 $('#loader-location').css('display','none'); 1502 $('body').on('click', '.locationSelect', function () { 1503 let slug = $(this).data('slug'); 1504 let hqName = $(this).data('name'); 1505 1506 let previousSlug = localStorage.getItem('selected_location'); 1507 1508 // Check if same slug is clicked 1509 const isLocationSelected = previousSlug === slug; 1510 const isHQSelectedAndLocationEmpty = slug === hqName && previousSlug === ''; 1511 1512 let shouldCloseDrawer = isLocationSelected || isHQSelectedAndLocationEmpty; 1513 1514 // If the HQ is selected, set the slug to an empty string 1515 if (slug === hqName) { 1516 slug = ''; 1517 } 1518 1519 // Update the selected location in localStorage 1520 localStorage.setItem('selected_location', slug); 1521 1522 if (shouldCloseDrawer) { 1523 document.querySelector('.drawer-close').click(); 1524 } else { 1525 redirectToLocation(slug, previousSlug, hqName) 1526 } 1527 }); 1528 1529 function redirectToLocation(slug, previousSlug, hqName) { 1530 // Get the current URL path 1531 let currentPath = window.location.pathname; 1532 1533 // Check the previous slug with HQ 1534 if (previousSlug === hqName) { 1535 previousSlug = ''; 1536 } 1537 1538 // Determine the new URL path and redirect 1539 let newPath = previousSlug 1540 ? replaceOrRemoveLocationInUrl(slug, currentPath) 1541 : `/${slug}${currentPath}`; 1542 1543 // Redirect to the new URL 1544 location.href = newPath; 1545 } 1546 1547 function replaceOrRemoveLocationInUrl(newLocation, currentPath) { 1548 // Use a regular expression to match the location part (only the first segment after the domain) 1549 let newPath = currentPath.replace(/\/[^\/]+/, newLocation ? `/${newLocation}` : ''); 1550 1551 // Ensure the new path starts with a slash 1552 if (!newPath.startsWith('/')) { 1553 newPath = '/' + newPath; 1554 } 1555 1556 return newPath; 1557 } 1558 1559 $("#zipCode").keyup(function(){ 1560 this.value = this.value.replace(/[^0-9]/g,''); 1561 }); 1562 1563 // Function to handle zip code search actions 1564 function handleZipSearch() { 1565 $('.show-location').css('display', 'none'); 1566 $('#loader-location').css('display', 'block'); 1567 $('#all-show').html('Nearby Store'); 1568 search(); 1569 } 1570 1571 // Attach keypress event to zip code search input 1572 $('.zip-code-search').keypress(function (e) { 1573 if (e.which === 13) { 1574 handleZipSearch(); 1575 } 1576 }); 1577 1578 // Attach click event to zip search button 1579 $('#zipSearch').click(function () { 1580 handleZipSearch(); 1581 }); 1582 1583 function search() { 1584 let location = $('input[name=location_id]').val(); 1585 let zip = $('#zipCode').val(); 1586 if(zip !== '' && zip.length < 5){ 1587 $('.zip-error').html("Error: Please enter a valid ZIP code"); 1588 $('.local-store-link').attr('style', 'margin-top:5% !important'); 1589 $('#loader-location').css('display','none'); 1590 return false; 1591 } else { 1592 $('.zip-error').html(""); 1593 $('#all-show').attr('style', 'margin-top:0% !important','display: block'); 1594 $('#ecwid-show').attr('style', 'margin-top:0% !important','display: block'); 1595 } 1596 1597 // If no zip code is provided, show all the locations 1598 if(zip === '') { 1599 $('#all-show').html('All Locations'); 1600 } 1601 1602 let url = '/zipSearch/'; 1603 $.ajax({ 1604 headers: { 1605 'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content') 1606 }, 1607 type: 'POST', 1608 url: url, 1609 data: {'currentLoc': location,'zip' : zip}, 1610 success: function (response) { 1611 $('.show-location').css('display','block'); 1612 $('#loader-location').css('display','none'); 1613 $('.show-location').html(response); 1614 $('a[data-slug='+loc+']').children().addClass('locationBrd'); 1615 } 1616 }); 1617 } 1618 $('.drawer-close').on('click', function(){ 1619 $("body").removeClass('side-panel-open'); 1620 $('#all-show').html('All Locations'); 1621 $('#ecwid-show').html('Choose a Store to Buy Online'); 1622 $('#zipCode').val(''); 1623 }); 1624</script>
1624<script> 1625 let ecwidMobileSearch = $('#ecwidSearch-mobile'); 1626 let ecwidDesktopSearch = $('#ecwidSearch-desktop'); 1627 window.addEventListener("orientationchange", function() { 1628 if (window.matchMedia("(orientation: portrait)").matches) { 1629 showPortraitSearch(); 1630 } 1631 if (window.matchMedia("(orientation: landscape)").matches) { 1632 showLandscapeSearch(); 1633 } 1634 }, false); 1635 var logoPosition = '1'; 1636 var captcha_key = '6LfcAGMpAAAAAL68qM6-xqbJeELRxV4MPPD71y27'; 1637 var wwidth = 0; 1638 function dynamic_padding() { 1639 $('#header-wrap').show(); 1640 var p = 0; 1641 $('#primary-menu > ul > li').each(function (x, y) { 1642 p += $(y).width(); 1643 }); 1644 var w = $('#primary-menu').width(); 1645 var actual_width = w - p; 1646 var count_li = $('#primary-menu > ul > li').length + 2; 1647 var padding_width = actual_width / count_li; 1648 $('#primary-menu > ul > li').each(function () { 1649 $(this).attr('style', 'padding-right:' + padding_width + 'px !important;'); 1650 }); 1651 $('#primary-menu > ul > li:first').attr('style', 'padding-left:' + padding_width + 'px !important;padding-right: ' + padding_width + 'px !important;'); 1652 wwidth = $(window).width(); 1653 } 1654 1655 $(window).resize(function () { 1656 if (wwidth != $(window).width() && ($(window).width() > '768')) { 1657 if (logoPosition > 1) { 1658 dynamic_padding(); 1659 } 1660 } 1661 }); 1662 if (logoPosition > 1 && ($(window).width() > '768')) { 1663 setTimeout( dynamic_padding, 500); 1664 } 1665 1666 $(document).ready(function (){ 1667 if (window.matchMedia("(orientation: landscape)").matches) { 1668 // console.log('landscape'); 1669 showLandscapeSearch(); 1670 } 1671 if (window.matchMedia("(orientation: portrait)").matches) { 1672 ecwidDesktopSearch.hide(); 1673 1674 1675 } 1676 }); 1677 1678 /** 1679 * show portrait search box 1680 */ 1681 function showPortraitSearch() 1682 {
1683 let desktopSearch = ecwidDesktopSearch.html(); 1684 ecwidDesktopSearch.html('').hide(); 1685 ecwidMobileSearch.show().html(desktopSearch); 1686 $('#my-search-').removeClass('search-products-desktop').addClass('search-products-mobile'); 1687 } 1688 1689 /** 1690 * show landscape search box 1691 */ 1692 function showLandscapeSearch() 1693 { 1694 let mobileSearch = ecwidMobileSearch.html(); 1695 ecwidMobileSearch.html('').hide(); 1696 ecwidDesktopSearch.show().html(mobileSearch); 1697 $('#my-search-').removeClass('search-products-mobile').addClass('search-products-desktop'); 1698 } 1699</script>
1699 <section id="page-title" 1700 class="page-title-parallax page-title-dark page-title-right hero-bg-image mobile-main-land-section mobile-page-title" 1701 data-stellar-background-ratio="0.2"> 1702 <div class="home-overlay"></div> 1703 <div class="container clearfix center bottommargin-sm-6 hero-title-div"> 1704 <h1 class="hero-title"> 1705 Pet Food and Supply Store in Dallas, TX 1706 </h1> 1707 1708 <a target="_blank" href="https://www.shop.odysseypets.com/" 1709 class="button slide_btn_left button-large hero-btn button-rounded noleftmargin topmargin-sm main-widget-image-button sub-page-cta-btn-1 " 1710 style="background-color: #ffffff"> 1711 Shop Now 1712 </a> 1713 1714 1715 1716 1717 1718 1719 1720 <a href="/contact-us/" 1721 class="button slide_btn_right button-large button-rounded hero-btn noleftmargin topmargin-sm main-widget-image-button sub-page-cta-btn-2 " 1722 style="background-color: #ffffff"> 1723 Contact Us 1724 </a> 1725 </div> 1726 1727 </section> 1728
1728<script> 1729 $(document).ready(function () { 1730 let options = {}; 1731 let moptions = {}; 1732 $(".pet-brand-btn").click(function () { 1733 $('html, body').animate({scrollTop: $('#pet-brand').offset().top - 250}, '200'); 1734 }); 1735 1736 var timer = 1; 1737 var count = parseInt(0); // desktop slide count 1738 var mcount = parseInt(0); // mobile slide count 1739 if(count > 1){ // if greater than 1 slide in desktop then loop true 1740 options = { 1741 loop: false, 1742 autoplay: { 1743 delay: '5000', 1744 disableOnInteraction: false, 1745 }, 1746 navigation: { 1747 nextEl: '.swiper-button-next', 1748 prevEl: '.swiper-button-prev', 1749 }, 1750 pagination: { 1751 el: '.swiper-pagination', 1752 clickable: true, 1753 } 1754 } 1755 } else{ // if ony 1 slide in desktop then loop set to false 1756 options = { 1757 loop: false, 1758 autoplay: { 1759 delay: '5000', 1760 disableOnInteraction: false, 1761 }, 1762 navigation: { 1763 nextEl: '.swiper-button-next', 1764 prevEl: '.swiper-button-prev', 1765 }, 1766 pagination: { 1767 el: '.swiper-pagination', 1768 clickable: true, 1769 } 1770 } 1771 } 1772 1773 if(mcount > 1){ // if greater than 1 slide in mobile then loop true 1774 moptions = { 1775 loop: false, 1776 autoplay: { 1777 delay: '5000', 1778 disableOnInteraction: false, 1779 }, 1780 navigation: { 1781 nextEl: '.swiper-button-next', 1782 prevEl: '.swiper-button-prev', 1783 }, 1784 pagination: { 1785 el: '.swiper-pagination', 1786 clickable: true, 1787 } 1788 } 1789 } else{ // if ony 1 slide in mobile then loop set to false 1790 moptions = { 1791 loop: false, 1792 autoplay: { 1793 delay: '5000', 1794 disableOnInteraction: false, 1795 }, 1796 navigation: { 1797 nextEl: '.swiper-button-next', 1798 prevEl: '.swiper-button-prev', 1799 }, 1800 pagination: { 1801 el: '.swiper-pagination', 1802 clickable: true, 1803 } 1804 } 1805 } 1806 1807 1808 homeslider('.desktop_slider', timer,count,options); 1809 homeslider('.mobile_slider', timer,count,moptions); 1810 1811 function homeslider(type, timer) { 1812 if ($(type + " .swiper-slide").length > 1) 1813 { 1814 var swiper = new Swiper(type, options); 1815 if ($(type + " .swiper-slide").length === 1 || $(type + " .swiper-slide").length === 3) { 1816 if (swiper.params.loop) { 1817 $('.swiper-wrapper').addClass("disabled"); 1818 $('.swiper-pagination').addClass("disabled"); 1819 swiper.autoplay.stop(); 1820 } 1821 } 1822 } 1823 } 1824 }); 1825 1826 1827 function hotlink(id) { 1828 var href = $(id).attr("href"); 1829 var target = $(id).attr("target"); 1830 if (href.charAt(0) == "#") { 1831 if (href.length > 1) { 1832 $(id).removeAttr("href"); 1833 $(id).addClass("hotlink-btn"); 1834 if (href == '#home-service-section' && ($(id).hasClass("hotlink-btn"))) { 1835 1836 $('html, body').animate({scrollTop: $('#home-service-section').offset().top - 250}, '200'); 1837 $(id).attr("href", href); 1838 } 1839 if (href == '#home-brand-section' && ($(id).hasClass("hotlink-btn"))) { 1840 $('html, body').animate({scrollTop: $('#home-brand-section').offset().top - 250}, '200'); 1841 $(id).attr("href", href); 1842 } 1843 if (href == '#home-event-section' && ($(id).hasClass("hotlink-btn"))) { 1844 $('html, body').animate({scrollTop: $('#home-event-section').offset().top - 250}, '200'); 1845 $(id).attr("href", href); 1846 } 1847 if (href == '#home-promotion-section' && ($(id).hasClass("hotlink-btn"))) { 1848 $('html, body').animate({scrollTop: $('#home-promotion-section').offset().top - 250}, '200'); 1849 $(id).attr("href", href); 1850 } 1851 if (href == '#home-review-section' && ($(id).hasClass("hotlink-btn"))) { 1852 $('html, body').animate({scrollTop: $('#home-review-section').offset().top - 250}, '200'); 1853 $(id).attr("href", href); 1854 } 1855 } 1856 } else if (href.charAt(0) != '#' && target == "_blank") { 1857 window.open($(id).attr('href')); 1858 } else if (href.charAt(0) != '#' && target == "undefined") { 1859 window.location.href = $(id).attr('href'); 1860 } 1861 1862 } 1863 </script>
1863 1864 <style> 1865 .home-cta-btn-1{ 1866 color: #016600 !important; 1867 } 1868 .home-cta-btn-1:hover{ 1869 color: #fff !important; 1870 } 1871 .home-cta-btn-2{ 1872 color: #016600 !important; 1873 } 1874 .home-cta-btn-2:hover{ 1875 color: #fff !important; 1876 } 1877 .home-cta-btn-1:hover{ 1878 background-color: !important; 1879 } 1880 .home-cta-btn-2:hover{ 1881 background-color: !important; 1882 } 1883 .sub-page-cta-btn-1{ 1884 color: #016600 !important; 1885 } 1886 .sub-page-cta-btn-1:hover{ 1887 color: #fff !important; 1888 } 1889 .sub-page-cta-btn-2{ 1890 color: #016600 !important; 1891 } 1892 .sub-page-cta-btn-2:hover{ 1893 color: #fff !important; 1894 } 1895 .sub-page-cta-btn-1:hover{ 1896 background-color: !important; 1897 } 1898 .sub-page-cta-btn-2:hover{ 1899 background-color: !important; 1900 } 1901 1902 #page-title{ 1903 background: url('https://ik.imagekit.io/0ofixtqpt/2931626/tr:n-topbar_bg/website-header-image-no-logo.png') !important; 1904 } 1905 .home-overlay{ 1906 background: rgba(0,0,0,0.2) !important; 1907 } 1908 @media (max-width:1024px) and (min-width: 320px) { 1909 .swiper-button-next, .swiper-button-prev, .swiper-pagination { 1910 display: block; 1911 } 1912 1913 #slider-cover { 1914 background: none !important; 1915 } 1916 #page-title { 1917 background: url('https://ik.imagekit.io/0ofixtqpt/2911637/website-header-images-mobile-2.png') !important; 1918 } 1919 } 1920 </style> 1921 1922 <section id="content"> 1923 <div class="content-wrap"> 1924 <div class="container clearfix notopmargin"> 1925 <div class="row bottommargin notopmargin"> 1926 <div class="col-xs-12 heading-block center bottommargin-sm "> 1927 <h2>Your local pet experts</h2> 1928 <div class="divcenter small-text text-video text-table container nopadding"><p>Shop Odyssey Pets for an array of the best pet food and pet products. We are located at 14999 Preston Rd, Dallas, TX 75254. Check out our deals page to see what money-saving offers we have happening right now.</p></div> 1929 </div> 1930 </div> 1931 </div> 1932 <div class="container clearfix notopmargin"> 1933 <div class="row bottommargin notopmargin"> 1934 <div class="container clearfix notopmargin hidden-xs"> 1935 <div class="promotion-container pets_box main-pet-promotion-container"> 1936 <div data-src="https://ik.imagekit.io/0ofixtqpt/802/tr:n-animal_master_box/cat.jpg" 1937 onclick="location.href='/cat-food-supply/';" 1938 class="col-sm-5 promotion-banner main-pet-promotion-banner left-radius mobile_promo_img not_ie_div pet-background"> 1939 </div> 1940 <div onclick="location.href='/cat-food-supply/';" 1941 class="col-sm-5 promotion-banner main-pet-promotion-banner left-radius mobile_promo_img ie_div pet-background" 1942 style="background-image: url('https://ik.imagekit.io/0ofixtqpt/802/tr:n-animal_master_box/cat.jpg');"> 1943 </div> 1944 <div class="col-sm-7 promotion-text right-radius"> 1945 1946 <div class="heading-block cust-heading-color topmargin-sm "> 1947 <a href="/cat-food-supply/"> 1948 <h2>Cat</h2></a> 1949 </div> 1950 <div class="col-md-12 cust_li">
1951 <span class="small-text"> 1952 <p>At Odyssey Pets, we offer everything you need to keep your cat purring. </p> 1953 </span> 1954 <a href="/cat-food-supply/" 1955 class="button button-border button-rounded button-large noleftmargin bottommargin-sm"> 1956 Read More 1957 </a> 1958 </div> 1959 </div> 1960 </div> 1961 <div class="clear-both"></div> 1962 <div class="promotion-container pets_box main-pet-promotion-container"> 1963 1964 <div class="col-sm-7 promotion-text right-radius"> 1965 1966 <div class="heading-block cust-heading-color topmargin-sm "> 1967 <a href="/dog-food-supply/"> 1968 <h2>Dog</h2></a> 1969 </div> 1970 <div class="col-md-12 cust_li"> 1971 <span class="small-text"> 1972 <p>At Odyssey Pets, we offer everything you need to keep your dog's tail wagging.</p> 1973 </span> 1974 <a href="/dog-food-supply/" 1975 class="button button-border button-rounded button-large noleftmargin bottommargin-sm"> 1976 Read More</a> 1977 </div> 1978 1979 </div> 1980 <div onclick="location.href='/dog-food-supply/';" 1981 data-src="https://ik.imagekit.io/0ofixtqpt/737/tr:n-animal_master_box/dog_pet.jpg" 1982 class="col-sm-5 promotion-banner main-pet-promotion-banner left-radius mobile_promo_img not_ie_div pet-background"> 1983 </div> 1984 <div onclick="location.href='/dog-food-supply/';" 1985 class="col-sm-5 promotion-banner main-pet-promotion-banner left-radius mobile_promo_img ie_div pet-background" 1986 style="background-image: url('https://ik.imagekit.io/0ofixtqpt/737/tr:n-animal_master_box/dog_pet.jpg');"> 1987 </div> 1988 </div> 1989 <div class="promotion-container pets_box main-pet-promotion-container"> 1990 <div data-src="https://ik.imagekit.io/0ofixtqpt/1369/tr:n-animal_master_box/fish.jpg" 1991 onclick="location.href='/fish-food-supply/';" 1992 class="col-sm-5 promotion-banner main-pet-promotion-banner left-radius mobile_promo_img not_ie_div pet-background"> 1993 </div> 1994 <div onclick="location.href='/fish-food-supply/';" 1995 class="col-sm-5 promotion-banner main-pet-promotion-banner left-radius mobile_promo_img ie_div pet-background" 1996 style="background-image: url('https://ik.imagekit.io/0ofixtqpt/1369/tr:n-animal_master_box/fish.jpg');"> 1997 </div> 1998 <div class="col-sm-7 promotion-text right-radius"> 1999 2000 <div class="heading-block cust-heading-color topmargin-sm "> 2001 <a href="/fish-food-supply/"> 2002 <h2>Fish</h2></a> 2003 </div> 2004 <div class="col-md-12 cust_li">
2005 <span class="small-text"> 2006 <p>Shop Odyssey Pets in Dallas, Texas for an assortment of swimmingly fun fish products to make your aquarium a paradise for your fish. Whether you've got a Angelfish or a Cichlid , you can determine the appropriate aquarium and essentials to satisfy your pet fish needs. Our knowledgeable team can help you to set up a new aquarium or find the right product for your pet fish. Come by Odyssey Pets, or call (972) 407-1166 with any questions. We are happy to help.</p> 2007 </span> 2008 <a href="/fish-food-supply/" 2009 class="button button-border button-rounded button-large noleftmargin bottommargin-sm"> 2010 Read More 2011 </a> 2012 </div> 2013 </div> 2014 </div> 2015 <div class="clear-both"></div> 2016 <div class="promotion-container pets_box main-pet-promotion-container"> 2017 2018 <div class="col-sm-7 promotion-text right-radius"> 2019 2020 <div class="heading-block cust-heading-color topmargin-sm "> 2021 <a href="/small-pet-food-supply/"> 2022 <h2>Small Animal</h2></a> 2023 </div> 2024 <div class="col-md-12 cust_li"> 2025 <span class="small-text"> 2026 <p>We carry an assortment of products for your little furry family member. Whether you are looking for products for your ferret, gerbil, or rat - we have it at a fantastic price. We are confident you'll discover exactly what you are needing for your small pet.</p> 2027 </span> 2028 <a href="/small-pet-food-supply/" 2029 class="button button-border button-rounded button-large noleftmargin bottommargin-sm"> 2030 Read More</a> 2031 </div> 2032 2033 </div> 2034 <div onclick="location.href='/small-pet-food-supply/';" 2035 data-src="https://ik.imagekit.io/0ofixtqpt/955/tr:n-animal_master_box/small-pets.jpg" 2036 class="col-sm-5 promotion-banner main-pet-promotion-banner left-radius mobile_promo_img not_ie_div pet-background"> 2037 </div> 2038 <div onclick="location.href='/small-pet-food-supply/';" 2039 class="col-sm-5 promotion-banner main-pet-promotion-banner left-radius mobile_promo_img ie_div pet-background" 2040 style="background-image: url('https://ik.imagekit.io/0ofixtqpt/955/tr:n-animal_master_box/small-pets.jpg');"> 2041 </div> 2042 </div> 2043 <div class="promotion-container pets_box main-pet-promotion-container"> 2044 <div data-src="https://ik.imagekit.io/0ofixtqpt/764/tr:n-animal_master_box/bird-pet.jpg" 2045 onclick="location.href='/bird-food-supply/';" 2046 class="col-sm-5 promotion-banner main-pet-promotion-banner left-radius mobile_promo_img not_ie_div pet-background"> 2047 </div> 2048 <div onclick="location.href='/bird-food-supply/';" 2049 class="col-sm-5 promotion-banner main-pet-promotion-banner left-radius mobile_promo_img ie_div pet-background" 2050 style="background-image: url('https://ik.imagekit.io/0ofixtqpt/764/tr:n-animal_master_box/bird-pet.jpg');"> 2051 </div> 2052 <div class="col-sm-7 promotion-text right-radius"> 2053 2054 <div class="heading-block cust-heading-color topmargin-sm "> 2055 <a href="/bird-food-supply/"> 2056 <h2>Bird</h2></a> 2057 </div> 2058 <div class="col-md-12 cust_li">
2059 <span class="small-text"> 2060 <p>Odyssey Pets features an array of the pet bird food and products you need at the cost you count on. The type of avian food you choose to feed can have an effect on the well-being of our feathered pals, and is the reason that we stock a selection of food to choose from. Explore Odyssey Pets in Dallas, TX for everything you need for your pet bird.</p> 2061 </span> 2062 <a href="/bird-food-supply/" 2063 class="button button-border button-rounded button-large noleftmargin bottommargin-sm"> 2064 Read More 2065 </a> 2066 </div> 2067 </div> 2068 </div> 2069 <div class="clear-both"></div> 2070 2071 2072 </div> 2073 2074 <div class="clear"></div> 2075 2076 <div class="container clearfix notopmargin pets_box hidden-md hidden-sm hidden-lg"> 2077 <div class="promotion-container main-pet-promotion-container"> 2078 <div onclick="location.href='/cat-food-supply/';" 2079 data-src="https://ik.imagekit.io/0ofixtqpt/802/tr:n-animal_master_box/cat.jpg" 2080 class="col-sm-5 promotion-banner main-pet-promotion-banner left-radius mobile_promo_img not_ie_div pet-background"> 2081 </div> 2082 <div onclick="location.href='/cat-food-supply/';" 2083 class="col-sm-5 promotion-banner main-pet-promotion-banner left-radius mobile_promo_img ie_div pet-background" 2084 style="background-image: url('https://ik.imagekit.io/0ofixtqpt/802/tr:n-animal_master_box/cat.jpg');"> 2085 </div> 2086 <div class="col-sm-7 promotion-text right-radius"> 2087 2088 <div class="heading-block cust-heading-color topmargin-sm "> 2089 <a href="/cat-food-supply/"> 2090 <h2>Cat</h2></a> 2091 </div> 2092 <div class="col-md-12 cust_li"> 2093 <span class="small-text"> 2094 <p>At Odyssey Pets, we offer everything you need to keep your cat purring. </p> 2095 </span> 2096 <a href="/cat-food-supply/" 2097 class="button button-border button-rounded button-large noleftmargin bottommargin-sm"> 2098 Read More 2099 </a> 2100 </div> 2101 </div> 2102 </div> 2103 <div class="clear-both"></div> 2104 <div class="promotion-container main-pet-promotion-container"> 2105 <div onclick="location.href='/dog-food-supply/';" 2106 data-src="https://ik.imagekit.io/0ofixtqpt/737/tr:n-animal_master_box/dog_pet.jpg" 2107 class="col-sm-5 promotion-banner main-pet-promotion-banner left-radius mobile_promo_img not_ie_div pet-background"> 2108 </div> 2109 <div onclick="location.href='/dog-food-supply/';" 2110 class="col-sm-5 promotion-banner main-pet-promotion-banner left-radius mobile_promo_img ie_div pet-background" 2111 style="background-image: url('https://ik.imagekit.io/0ofixtqpt/737/tr:n-animal_master_box/dog_pet.jpg');"> 2112 </div> 2113 <div class="col-sm-7 promotion-text right-radius"> 2114 2115 <div class="heading-block cust-heading-color topmargin-sm "> 2116 <a href="/dog-food-supply/"> 2117 <h2>Dog</h2></a> 2118 </div> 2119 <div class="col-md-12 cust_li">
2120 <span class="small-text"> 2121 <p>At Odyssey Pets, we offer everything you need to keep your dog's tail wagging.</p> 2122 </span> 2123 <a href="/dog-food-supply/" 2124 class="button button-border button-rounded button-large noleftmargin bottommargin-sm"> 2125 Read More 2126 </a> 2127 </div> 2128 </div> 2129 </div> 2130 <div class="clear-both"></div> 2131 <div class="promotion-container main-pet-promotion-container"> 2132 <div onclick="location.href='/fish-food-supply/';" 2133 data-src="https://ik.imagekit.io/0ofixtqpt/1369/tr:n-animal_master_box/fish.jpg" 2134 class="col-sm-5 promotion-banner main-pet-promotion-banner left-radius mobile_promo_img not_ie_div pet-background"> 2135 </div> 2136 <div onclick="location.href='/fish-food-supply/';" 2137 class="col-sm-5 promotion-banner main-pet-promotion-banner left-radius mobile_promo_img ie_div pet-background" 2138 style="background-image: url('https://ik.imagekit.io/0ofixtqpt/1369/tr:n-animal_master_box/fish.jpg');"> 2139 </div> 2140 <div class="col-sm-7 promotion-text right-radius"> 2141 2142 <div class="heading-block cust-heading-color topmargin-sm "> 2143 <a href="/fish-food-supply/"> 2144 <h2>Fish</h2></a> 2145 </div> 2146 <div class="col-md-12 cust_li"> 2147 <span class="small-text"> 2148 <p>Shop Odyssey Pets in Dallas, Texas for an assortment of swimmingly fun fish products to make your aquarium a paradise for your fish. Whether you've got a Angelfish or a Cichlid , you can determine the appropriate aquarium and essentials to satisfy your pet fish needs. Our knowledgeable team can help you to set up a new aquarium or find the right product for your pet fish. Come by Odyssey Pets, or call (972) 407-1166 with any questions. We are happy to help.</p> 2149 </span> 2150 <a href="/fish-food-supply/" 2151 class="button button-border button-rounded button-large noleftmargin bottommargin-sm"> 2152 Read More 2153 </a> 2154 </div> 2155 </div> 2156 </div> 2157 <div class="clear-both"></div> 2158 <div class="promotion-container main-pet-promotion-container"> 2159 <div onclick="location.href='/small-pet-food-supply/';" 2160 data-src="https://ik.imagekit.io/0ofixtqpt/955/tr:n-animal_master_box/small-pets.jpg" 2161 class="col-sm-5 promotion-banner main-pet-promotion-banner left-radius mobile_promo_img not_ie_div pet-background"> 2162 </div> 2163 <div onclick="location.href='/small-pet-food-supply/';" 2164 class="col-sm-5 promotion-banner main-pet-promotion-banner left-radius mobile_promo_img ie_div pet-background" 2165 style="background-image: url('https://ik.imagekit.io/0ofixtqpt/955/tr:n-animal_master_box/small-pets.jpg');"> 2166 </div> 2167 <div class="col-sm-7 promotion-text right-radius"> 2168 2169 <div class="heading-block cust-heading-color topmargin-sm "> 2170 <a href="/small-pet-food-supply/"> 2171 <h2>Small Animal</h2></a> 2172 </div> 2173 <div class="col-md-12 cust_li">
2174 <span class="small-text"> 2175 <p>We carry an assortment of products for your little furry family member. Whether you are looking for products for your ferret, gerbil, or rat - we have it at a fantastic price. We are confident you'll discover exactly what you are needing for your small pet.</p> 2176 </span> 2177 <a href="/small-pet-food-supply/" 2178 class="button button-border button-rounded button-large noleftmargin bottommargin-sm"> 2179 Read More 2180 </a> 2181 </div> 2182 </div> 2183 </div> 2184 <div class="clear-both"></div> 2185 <div class="promotion-container main-pet-promotion-container"> 2186 <div onclick="location.href='/bird-food-supply/';" 2187 data-src="https://ik.imagekit.io/0ofixtqpt/764/tr:n-animal_master_box/bird-pet.jpg" 2188 class="col-sm-5 promotion-banner main-pet-promotion-banner left-radius mobile_promo_img not_ie_div pet-background"> 2189 </div> 2190 <div onclick="location.href='/bird-food-supply/';" 2191 class="col-sm-5 promotion-banner main-pet-promotion-banner left-radius mobile_promo_img ie_div pet-background" 2192 style="background-image: url('https://ik.imagekit.io/0ofixtqpt/764/tr:n-animal_master_box/bird-pet.jpg');"> 2193 </div> 2194 <div class="col-sm-7 promotion-text right-radius"> 2195 2196 <div class="heading-block cust-heading-color topmargin-sm "> 2197 <a href="/bird-food-supply/"> 2198 <h2>Bird</h2></a> 2199 </div> 2200 <div class="col-md-12 cust_li"> 2201 <span class="small-text"> 2202 <p>Odyssey Pets features an array of the pet bird food and products you need at the cost you count on. The type of avian food you choose to feed can have an effect on the well-being of our feathered pals, and is the reason that we stock a selection of food to choose from. Explore Odyssey Pets in Dallas, TX for everything you need for your pet bird.</p> 2203 </span> 2204 <a href="/bird-food-supply/" 2205 class="button button-border button-rounded button-large noleftmargin bottommargin-sm"> 2206 Read More 2207 </a> 2208 </div> 2209 </div> 2210 </div> 2211 <div class="clear-both"></div> 2212 </div> 2213 </div> 2214 </div> 2215 ; 2216 <!--review part--> 2217 <style> 2218 .review-widget-testimonial{ 2219 background-color: #ffffff !important; 2220 overflow-y: auto !important; 2221 } 2222 .review-text-color { 2223 color: #333333 !important; 2224 } 2225 2226 .lazy-background.review-background-parallax { 2227 background: url('https://ik.imagekit.io/0ofixtqpt/488602/Dallas-TX.jpg'); 2228 } 2229 2230 .lazy-background.review-background-static { 2231 background: url('https://ik.imagekit.io/0ofixtqpt/488602/Dallas-TX.jpg'); 2232 } 2233 2234 .review-title-color { 2235 color: #ffffff !important; 2236 } 2237 2238 .review-description-color { 2239 color: #ffffff !important; 2240 } 2241 2242 .review-overlay { 2243 background: rgba(0,0,0,0.6) !important; 2244 } 2245 2246 #home-review-section #recent-reviews .heading-block { 2247 margin-bottom: 10px; 2248 } 2249 2250 @media (min-device-width: 768px) and (orientation: portrait) { 2251 .lazy-background.review-background-parallax { 2252 background-image: url('https://ik.imagekit.io/0ofixtqpt/488602/Dallas-TX.jpg') !important; 2253 background-attachment: scroll !important; 2254 } 2255 2256 .lazy-background.review-background-static { 2257 background-image: url('https://ik.imagekit.io/0ofixtqpt/488602/Dallas-TX.jpg') !important; 2258 } 2259 } 2260 2261 @media (max-device-width: 1024px) and (orientation: landscape) { 2262 .lazy-background.review-background-parallax { 2263 background-image: url('https://ik.imagekit.io/0ofixtqpt/488602/Dallas-TX.jpg') !important; 2264 background-attachment: scroll !important; 2265 } 2266 2267 .lazy-background.review-background-static { 2268 background-image: url('https://ik.imagekit.io/0ofixtqpt/488602/Dallas-TX.jpg') !important; 2269 } 2270 } 2271 2272 @media (max-width: 765px) and (min-width: 320px) { 2273 .lazy-background.review-background-parallax { 2274 background: url('https://ik.imagekit.io/0ofixtqpt/488602/Dallas-TX.jpg'); 2275 background-attachment: scroll !important; 2276 } 2277 2278 .lazy-background.review-background-static { 2279 background: url('https://ik.imagekit.io/0ofixtqpt/488602/Dallas-TX.jpg'); 2280 } 2281 } 2282 </style> 2283 <div id="home-review-section" 2284 class="review-section review-background-parallax lazy-background" 2285 style="margin: 0px !important;"> 2286 <div class="review-overlay"></div> 2287 <div id="recent-reviews" class="container topmargin clear-bottommargin clearfix"> 2288 <div class="row clearfix"> 2289 <div class="heading-block center "> 2290 <h2 class="review-title-color"> 2291 WHAT Dallas CUSTOMERS ARE SAYING</h2>
2292 <span class="divcenter small-text review-description-color"> 2293 <p>We love all of our happy customers from local areas near us including <a href="https://www.google.com/maps/dir/Dallas,+TX/Odyssey+Pets,+14999+Preston+Rd+%23400a,+Dallas,+TX+75254/@32.8617153,-96.9014668,12z/data=!3m1!4b1!4m14!4m13!1m5!1m1!1s0x864c19f77b45974b:0xb9ec9ba4f647678f!2m2!1d-96.7969879!2d32.7766642!1m5!1m1!1s0x864c23d0d0136c61:0x48d61510e37a3e25!2m2!1d-96.8059163!2d32.9530094!3e0" title="Get Directions From Dallas" target="blank">Dallas</a>, <a href="google.com/maps/dir/Addison/Odyssey+Pets,+14999+Preston+Rd+%23400a,+Dallas,+TX+75254/@32.9561472,-96.8246912,15z/data=!4m14!4m13!1m5!1m1!1s0x864c214a666c3839:0xe6594ab6c798f986!2m2!1d-96.8291685!2d32.96179!1m5!1m1!1s0x864c23d0d0136c61:0x48d61510e37a3e25!2m2!1d-96.8059163!2d32.9530094!3e0" title="Get Directions From Addison" target="blank">Addison</a>, <a href="https://www.google.com/maps/dir/Richardson/Odyssey+Pets,+14999+Preston+Rd+%23400a,+Dallas,+TX+75254/@32.9485128,-96.7984271,13z/data=!4m14!4m13!1m5!1m1!1s0x864c1ee979bea767:0x2cdb29c046270495!2m2!1d-96.7298519!2d32.9483335!1m5!1m1!1s0x864c23d0d0136c61:0x48d61510e37a3e25!2m2!1d-96.8059163!2d32.9530094!3e0" title="Get Directions From Richardson" target="blank">Richardson</a>, <a href="https://www.google.com/maps/dir/Plano/Odyssey+Pets,+14999+Preston+Rd+%23400a,+Dallas,+TX+75254/@32.9485128,-96.9034838,11z/data=!4m14!4m13!1m5!1m1!1s0x864c21da13c59513:0x62aa036489cd602b!2m2!1d-96.6988856!2d33.0198431!1m5!1m1!1s0x864c23d0d0136c61:0x48d61510e37a3e25!2m2!1d-96.8059163!2d32.9530094!3e0" title="Get Directions From Plano" target="blank">Plano</a>, <a href="https://www.google.com/maps/dir/Carrollton/Odyssey+Pets,+14999+Preston+Rd+%23400a,+Dallas,+TX+75254/@32.9485128,-96.9034838,11z/data=!4m14!4m13!1m5!1m1!1s0x864c212bbbdd571f:0x9c1efd49b3841d5d!2m2!1d-96.8899636!2d32.9756415!1m5!1m1!1s0x864c23d0d0136c61:0x48d61510e37a3e25!2m2!1d-96.8059163!2d32.9530094!3e0" title="Get Directions From Carrollton" target="blank">Carrollton</a>, <a href="https://www.google.com/maps/dir/Garland/Odyssey+Pets,+14999+Preston+Rd+%23400a,+Dallas,+TX+75254/@32.8577139,-96.9247698,11z/data=!4m14!4m13!1m5!1m1!1s0x864c03c1db5fc275:0x71fbdcb38623cd0!2m2!1d-96.6388833!2d32.912624!1m5!1m1!1s0x864c23d0d0136c61:0x48d61510e37a3e25!2m2!1d-96.8059163!2d32.9530094!3e0" title="Get Directions From Garland" target="blank">Garland</a>, <a href="https://www.google.com/maps/dir/Frisco,+TX/Odyssey+Pets,+14999+Preston+Rd+%23400a,+Dallas,+TX+75254/@33.0518195,-96.953042,11z/data=!4m14!4m13!1m5!1m1!1s0x864c3c1abc09943d:0xcad371b035c8fea2!2m2!1d-96.8236116!2d33.1506744!1m5!1m1!1s0x864c23d0d0136c61:0x48d61510e37a3e25!2m2!1d-96.8059163!2d32.9530094!3e0" title="Get Directions From Frisco" target="blank">Frisco</a>, and more! </p> </span> 2294 </div> 2295 <div class="center small-text review-description-color" style="font-weight: bold; clear: both; margin: 2px 0 15px;">388 trusted five-star reviews</div> 2296 <div id="oc-testi" 2297 class="owl-carousel testimonials-carousel carousel-widget bottommargin " 2298 data-margin="20" data-items-xs="1" data-items-sm="2" data-items-lg="3"> 2299 <div class="oc-item "> 2300 <div class="testimonial bottommargin-sm review-widget-testimonial"> 2301 <div class="col-xs-4"> 2302 <div class="testi-image"> 2303 <a> 2304 <img class="lazy" 2305 src="https://ik.imagekit.io/0ofixtqpt/143729/tr:n-reviewer_image_thumb/default-placeholder.png" 2306 data-src="https://ik.imagekit.io/0ofixtqpt/5286778/tr:n-reviewer_image_thumb/ACg8ocKwy2ahBoJOqXdKUyOvDhiUTiHnbDraameFyMm7KwkveAtK2Q=s120-c-rp-mo-br100" 2307 onError="this.onerror=null;this.src='https://ik.imagekit.io/0ofixtqpt/147554/tr:n-reviewer_image_thumb/avatar.jpg';"> 2308 </a> 2309 <div class="testi-meta review-text-color nobold"> 2310 T Wilson 2311 </div> 2312 <div class="center rv_time review-text-color"> 2313 2026-09-04 2314 </div> 2315 </div> 2316 </div> 2317 <div class="col-xs-8"> 2318 <div class="testi-content"> 2319 <i class="fab fa-google social"></i> 2320 <sp
2320an class="stars s-5.0"> 2321 <span class='new-star' style="width: 100%;"></span> 2322 </span> 2323 <div class="r_more"> 2324 <p class="small-text-color review-text-color review-fulltext-0 hidden-teamtext">Amazing little pet store. Iâm one of those psycho pet owners and I worked in Vet hospitals when I was younger so have higher standards and would trust my dog baby with thier staff. Iâm mostly in there for DFWAPC meetings as I donât live close so mostly get the pleasure of harrassing Miles and enjoying their fish and plant department but every staff member has a true love for animals is knowledgable, helpful, courteous and not afraid to say idk and ask another employee (one of my biggest pet peeves when people fake knowledge)</p> 2325 <p class="review-lesstext-0 review-text-color small-text-color"></p> 2326 <p class="review-moretext-0 review-text-color small-text-color"></p> 2327 </div> 2328 </div> 2329 </div> 2330 </div> 2331 </div> 2332 <div class="oc-item "> 2333 <div class="testimonial bottommargin-sm review-widget-testimonial"> 2334 <div class="col-xs-4"> 2335 <div class="testi-image"> 2336 <a> 2337 <img class="lazy" 2338 src="https://ik.imagekit.io/0ofixtqpt/143729/tr:n-reviewer_image_thumb/default-placeholder.png" 2339 data-src="https://ik.imagekit.io/0ofixtqpt/5271643/tr:n-reviewer_image_thumb/ALV-UjXaIu6HiBgwsQA5bCtsXlWozJBl17XBXvIcVXIq5Xjd6UuMejVVrg=s120-c-rp-mo-ba12-br100" 2340 onError="this.onerror=null;this.src='https://ik.imagekit.io/0ofixtqpt/147554/tr:n-reviewer_image_thumb/avatar.jpg';"> 2341 </a> 2342 <div class="testi-meta review-text-color nobold"> 2343 Michael Said 2344 </div> 2345 <div class="center rv_time review-text-color"> 2346 2026-08-28 2347 </div> 2348 </div> 2349 </div> 2350 <div class="col-xs-8"> 2351 <div class="testi-content"> 2352 <i class="fab fa-google social"></i> 2353 <sp
2353an class="stars s-5.0"> 2354 <span class='new-star' style="width: 100%;"></span> 2355 </span> 2356 <div class="r_more"> 2357 <p class="small-text-color review-text-color review-fulltext-1 hidden-teamtext">Great products. Great service. Very knowledgeable employees! This place is especially great for fish, if you're interested in that. I highly recommend Odyssey pets!</p> 2358 <p class="review-lesstext-1 review-text-color small-text-color"></p> 2359 <p class="review-moretext-1 review-text-color small-text-color"></p> 2360 </div> 2361 </div> 2362 </div> 2363 </div> 2364 </div> 2365 <div class="oc-item "> 2366 <div class="testimonial bottommargin-sm review-widget-testimonial"> 2367 <div class="col-xs-4"> 2368 <div class="testi-image"> 2369 <a> 2370 <img class="lazy" 2371 src="https://ik.imagekit.io/0ofixtqpt/143729/tr:n-reviewer_image_thumb/default-placeholder.png" 2372 data-src="https://ik.imagekit.io/0ofixtqpt/5210113/tr:n-reviewer_image_thumb/ALV-UjWpaLx_SutWTkk-FNvbMW8S19jbBDoGokOsxlWm2AgM81Xq5DXAxw=s120-c-rp-mo-br100" 2373 onError="this.onerror=null;this.src='https://ik.imagekit.io/0ofixtqpt/147554/tr:n-reviewer_image_thumb/avatar.jpg';"> 2374 </a> 2375 <div class="testi-meta review-text-color nobold"> 2376 Shel Mulry 2377 </div> 2378 <div class="center rv_time review-text-color"> 2379 2026-08-01 2380 </div> 2381 </div> 2382 </div> 2383 <div class="col-xs-8"> 2384 <div class="testi-content"> 2385 <i class="fab fa-google social"></i> 2386 <span class="stars s-5.0"> 2387 <span class='new-star' style="width: 100%;"></span> 2388 </span> 2389 <div class="r_more"> 2390 <p class="small-text-color review-text-color review-fulltext-2 hidden-teamtext">The best by far! People who are knowledgeable, approachable. They carry only transparent, healthy brands of dog and cat food. Great aquarium resource as well. Support a locally owned small business! Odyssey Pets is the best!</p> 2391 <p class="review-lesstext-2 review-text-color small-text-color"></p> 2392 <p class="review-moretext-2 review-text-color small-text-color"></p> 2393 </div> 2394 </div> 2395 </div> 2396 </div> 2397 </div> 2398 <div class="oc-item "> 2399 <div class="testimonial bottommargin-sm review-widget-testimonial"> 2400 <div class="col-xs-4"> 2401 <div class="testi-image"> 2402 <a> 2403 <img class="lazy" 2404 src="https://ik.imagekit.io/0ofixtqpt/143729/tr:n-reviewer_image_thumb/default-placeholder.png" 2405 data-src="https://ik.imagekit.io/0ofixtqpt/5211493/tr:n-reviewer_image_thumb/ACg8ocKn0K7T4bwpFOA6DhZqAumUPrxBfjRshyKggU5COyyojF8XNw=s120-c-rp-mo-br100" 2406 onError="this.onerror=null;this.src='https://ik.imagekit.io/0ofixtqpt/147554/tr:n-reviewer_image_thumb/avatar.jpg';"> 2407 </a> 2408 <div class="testi-meta review-text-color nobold"> 2409 Bob âUSMCVet1985â 2410 </div> 2411 <div class="center rv_time review-text-color"> 2412 2026-08-01 2413 </div> 2414 </div> 2415 </div> 2416 <div class="col-xs-8"> 2417 <div class="testi-content"> 2418 <i class="fab fa-google social"></i> 2419 <sp
2419an class="stars s-5.0"> 2420 <span class='new-star' style="width: 100%;"></span> 2421 </span> 2422 <div class="r_more"> 2423 <p class="small-text-color review-text-color review-fulltext-3 hidden-teamtext">Been going there for 15 years because the groomers are kind and gentle to my 2 boys Ollie and Dickens. Great staff and clean boarding area. Highly recommend.</p> 2424 <p class="review-lesstext-3 review-text-color small-text-color"></p> 2425 <p class="review-moretext-3 review-text-color small-text-color"></p> 2426 </div> 2427 </div> 2428 </div> 2429 </div> 2430 </div> 2431 <div class="oc-item "> 2432 <div class="testimonial bottommargin-sm review-widget-testimonial"> 2433 <div class="col-xs-4"> 2434 <div class="testi-image"> 2435 <a> 2436 <img class="lazy" 2437 src="https://ik.imagekit.io/0ofixtqpt/143729/tr:n-reviewer_image_thumb/default-placeholder.png" 2438 data-src="https://ik.imagekit.io/0ofixtqpt/5188183/tr:n-reviewer_image_thumb/ALV-UjVhlm2GQW13y2OmLNqaEgFKUKODfMH2ZPeVganganGua8qIYs8=s120-c-rp-mo-ba12-br100" 2439 onError="this.onerror=null;this.src='https://ik.imagekit.io/0ofixtqpt/147554/tr:n-reviewer_image_thumb/avatar.jpg';"> 2440 </a> 2441 <div class="testi-meta review-text-color nobold"> 2442 MamaKimbo75 2443 </div> 2444 <div class="center rv_time review-text-color"> 2445 2026-07-24 2446 </div> 2447 </div> 2448 </div> 2449 <div class="col-xs-8"> 2450 <div class="testi-content"> 2451 <i class="fab fa-google social"></i> 2452 <span class="stars s-5.0"> 2453 <span class='new-star' style="width: 100%;"></span> 2454 </span> 2455 <div class="r_more"> 2456 <p class="small-text-color review-text-color review-fulltext-4 hidden-teamtext">I purchased my Rummy Nose Tetras from Odyssey Pets. I stopped in, they only had a couple. Gentlemen gave me Miles card and told me to email him. Miles w
2456as great! He ordered me 20 Rummy Nose Tetras and I picked them up a week later. Video attached is after having them for 2 weeks. They are all healthy, happy, schooling and a beautiful addition to my 75 gallon. Thank you Miles and everyone at Odyssey Pets. This was my 1st purchase, but definitely not my last! â¤ï¸</p> 2457 <p class="review-lesstext-4 review-text-color small-text-color"></p> 2458 <p class="review-moretext-4 review-text-color small-text-color"></p> 2459 </div> 2460 </div> 2461 </div> 2462 </div> 2463 </div> 2464 </div> 2465 2466 <div class="col-xs-12 center bottommargin"> 2467 <a href="/reviews/" 2468 class="button button-large contact-btn button-rounded noleftmargin">View 2469 All 2470 Reviews </a> 2471 <a target="_blank" 2472 href="https://app.nextpaw.com/write-review/7MVdXlwfKtHJGidH" 2473 class="button button-large contact-btn button-rounded noleftmargin">Write 2474 A Review </a> 2475 </div> 2476 </div> 2477 </div> 2478 </div> 2479
2479<script> 2480 function toggleReviewContent(i) { 2481 $(".review-moretext-" + i).toggle(); 2482 $(".review-lesstext-" + i).toggle(); 2483 } 2484 $(document).ready(function () { 2485 var r_showChar = 100; 2486 var r_ellipsestext = "..."; 2487 var r_moretext = "Show More"; 2488 var r_lesstext = "Show Less"; 2489 var i = 0; 2490 $('.r_more').each(function () { 2491 var r_content = $('.review-fulltext-' + i).html(); 2492 var r_readless = '<a class="morelink' + i + ' review-a" onclick="toggleReviewContent(' + i + ')"> ' + r_lesstext + '</a>'; 2493 $('p.review-moretext-' + i).html('<i class="fas fa-quote-left fa-2x"></i>'+r_content + r_readless).hide(); 2494 if (r_content.length > r_showChar) { 2495 var r_c = r_content.substr(0, r_showChar); 2496 var r_readmore = '<a class="morelink' + i + ' review-a" onclick="toggleReviewContent(' + i + ')"> ' + r_moretext + '</a>'; 2497 $('p.review-lesstext-' + i).html('<i class="fas fa-quote-left fa-2x"></i>'+r_c + r_ellipsestext + ' ' + r_readmore); 2498 }else{ 2499 $('p.review-moretext-' + i).html('<i class="fas fa-quote-left fa-2x"></i>'+r_content).show(); 2500 } 2501 i++; 2502 }); 2503 }); 2504</script>
2504 2505<!--review part end---> 2506 </div> 2507 <a href="/contact-us" 2508 class="button button-full cta-widget-btn center"> 2509 <div class="container clearfix"> 2510 Come visit our pet supply store in Dallas, TX specializing in quality food, treats, and supplies for cats, dogs, fish, and small pets. 2511 </div> 2512 </a> 2513 </section> 2514
2514<script defer> 2515 document.addEventListener("DOMContentLoaded", function () { 2516 var lazyBackgrounds = [].slice.call(document.querySelectorAll(".pet-background")); 2517 if(/MSIE \d|Trident.*rv:/.test(navigator.userAgent)){ 2518 $('.not_ie_div').hide(); 2519 $('.ie_div').show(); 2520 } else { 2521 $('.ie_div').hide(); 2522 $('.not_ie_div').show(); 2523 if ("IntersectionObserver" in window) { 2524 let lazyBackgroundObserver = new IntersectionObserver(function (entries, observer) { 2525 entries.forEach(function (entry) { 2526 if (entry.isIntersecting) { 2527 var bg_url = entry.target.dataset.src; 2528 entry.target.setAttribute('style', 'background-image:url("' + bg_url + '") !important'); 2529 entry.target.classList.add("visible"); 2530 lazyBackgroundObserver.unobserve(entry.target); 2531 } 2532 }); 2533 }); 2534 lazyBackgrounds.forEach(function (lazyBackground) { 2535 lazyBackgroundObserver.observe(lazyBackground); 2536 }); 2537 } 2538 } 2539 }); 2540 </script>
2540 2541</div> 2542<!-- Footer 2543============================================= --> 2544 2545<footer id="footer" class="dark"> 2546 <div class="container"> 2547 <!-- Footer Widgets 2548 ============================================= --> 2549 <div class="footer-widgets-wrap clearfix"> 2550 <div class="col-xs-12 col-sm-6 col-md-4"> 2551 <div class="widget clearfix"> 2552 <div class="clearfix"> 2553 <div class="col-md-12"> 2554 <address class="nobottommargin"> 2555 <a target="_blank" 2556 href="https://www.google.com/maps/place/search?q=Odyssey+Pets+14999+Preston+Rd+400a+Dallas+TX+75254&place_id=Ei0xNDk5OSBQcmVzdG9uIFJkICM0MDBhLCBEYWxsYXMsIFRYIDc1MjMwLCBVU0EiIBoeChYKFAoSCdEwMgOdIEyGEaZscOUlIzzlEgQ0MDBh"> 2557 <h4 class="get-direction-btn" 2558 id="map-title">Odyssey Pets</h4></a> 2559 14999 Preston Rd, Ste. 400A 2560 <br/> Dallas, TX  75254<br> 2561 <a class="call-us-btn" 2562 href="tel:(972) 407-1166"><abbr 2563 title="Phone Number"></abbr>(972) 407-1166 2564 </a><br> 2565 <a href="mailto:[email protected]" class="footer_email"><abbr 2566 title="Email"></abbr>[email protected]</a> 2567 <div class="shopservices"> 2568 In-Store Pickup, Curbside Pickup, Local Delivery, Same Day Delivery, No Contact Delivery Available 2569 </div> 2570 </address> 2571 <!-- Google Map 2572 ============================================= --> 2573 <div id="map-conatiner" style=""> 2574 <div id="show-map" class="col_half col_last"> 2575 <div id="contact_map" class="place contact-us-map"> 2576 <div class="place footer-map"><a href="https://www.google.com/maps/place/search?q=Odyssey+Pets+14999+Preston+Rd+400a+Dallas+TX+75254&place_id=Ei0xNDk5OSBQcmVzdG9uIFJkICM0MDBhLCBEYWxsYXMsIFRYIDc1MjMwLCBVU0EiIBoeChYKFAoSCdEwMgOdIEyGEaZscOUlIzzlEgQ0MDBh" target="_blank"> 2577 <iframe 2578 class="get-direction-btn" 2579 frameborder="0" 2580 style="border:0;" 2581 referrerpolicy="no-referrer-when-downgrade" 2582 src="https://www.google.com/maps/embed/v1/search?key=AIzaSyDLf1mqLyRZJJR1-kQfHuPm5gcLyvgMdc8&q=Odyssey+Pets%2C+14999+Preston+Rd%2C+Ste.+400A%2C+Dallas%2C+TX%2C+75254%2C+US"> 2583 </iframe> 2584 </a> 2585 </div> 2586 </div> 2587 </div> 2588 </div> 2589 <!-- Google Map End --> 2590 </div> 2591 </div> 2592 </div> 2593 </div> 2594 <div class="col-xs-12 col-sm-6 col-md-8"> 2595 <div class="col-xs-12 col-md-5"> 2596 <div class="widget widget_links clearfix"> 2597 <div class="bottommargin-sm"> 2598 <h4 class="nomargin footer-hours-title">Business Hours</h4> 2599 </div> 2600 2601 <table class="table" style="text-align: center;"> 2602 <tbody> 2603 2604 <tr> 2605 <td style="font-size: 14px; vertical-align: middle;">Mon</td> 2606 <td style="font-size: 14px;"> 2607 7:30 AM - 7:00 PM 2608 </td> 2609 </tr> 2610 <tr> 2611 <td style="font-size: 14px; vertical-align: middle;">Tue</td> 2612 <td style="font-size: 14px;"> 2613 7:30 AM - 7:00 PM 2614 </td> 2615 </tr> 2616 <tr> 2617 <td style="font-size: 14px; vertical-align: middle;">Wed</td> 2618 <td style="font-size: 14px;"> 2619 7:30 AM - 7:00 PM 2620 </td> 2621 </tr> 2622 <tr> 2623 <td style="font-size: 14px; vertical-align: middle;">Thu</td> 2624 <td style="font-size: 14px;"> 2625 7:30 AM - 7:00 PM 2626 </td> 2627 </tr> 2628 <tr> 2629 <td style="font-size: 14px; vertical-align: middle;">Fri</td> 2630 <td style="font-size: 14px;"> 2631 7:30 AM - 7:00 PM 2632 </td> 2633 </tr> 2634 <tr> 2635 <td style="font-size: 14px; vertical-align: middle;">Sat</td> 2636 <td style="font-size: 14px;"> 2637 7:30 AM - 7:00 PM 2638 </td> 2639 </tr> 2640 <tr> 2641 <td style="font-size: 14px; vertical-align: middle;">Sun</td> 2642 <td style="font-size: 14px;"> 2643 11:00 AM - 6:00 PM 2644 </td> 2645 </tr> 2646 2647 </tbody> 2648 </table> 2649 2650 </div> 2651 </div> 2652 <div class="col-xs-12 col-md-3"> 2653 <div class="widget widget_links clearfix"> 2654 <h4>Sitemap</h4> 2655 <ul> 2656 <li> 2657 <a href="https://shop.odysseypets.com/" target=_blank> 2658 <div class="footer-sitemap-text">Shop</div> 2659 </a> 2660 </li> 2661 <li> 2662 <a href="/pet-food-supply/" > 2663 <div class="footer-sitemap-text">Cat &
2663 Dog</div> 2664 </a> 2665 </li> 2666 <li> 2667 <a href="/fish-food-supply/" > 2668 <div class="footer-sitemap-text">Fish</div> 2669 </a> 2670 </li> 2671 <li> 2672 <a href="/small-pet-food-supply/" > 2673 <div class="footer-sitemap-text">Small Pets</div> 2674 </a> 2675 </li> 2676 <li> 2677 <a href="/services/" > 2678 <div class="footer-sitemap-text">Services</div> 2679 </a> 2680 </li> 2681 <li> 2682 <a href="/events/" > 2683 <div class="footer-sitemap-text">Events & Deals</div> 2684 </a> 2685 </li> 2686 <li> 2687 <a href="/loyalty-program/" > 2688 <div class="footer-sitemap-text">Loyalty Program</div> 2689 </a> 2690 </li> 2691 <li> 2692 <a href="/about-us/" > 2693 <div class="footer-sitemap-text">About</div> 2694 </a> 2695 </li> 2696 <li> 2697 <a href="/blog/" > 2698 <div class="footer-sitemap-text">Blog</div> 2699 </a> 2700 </li> 2701 <li> 2702 <a href="/sitemap/"> 2703 <div class="footer-sitemap-text">Sitemap</div> 2704 </a> 2705 </li> 2706 </ul> 2707 </div> 2708 </div> 2709 <div class="col-xs-12 col-md-4"> 2710 <div class="widget quick-contact-widget clearfix"> 2711 <h4>Subscribe</h4> 2712 <div class="input-group divcenter"> 2713 Get exclusive email offers, promotions, and updates from our business. 2714 </div> 2715 <div class="quick-contact-form-result"></div> 2716 <form class="quick-contact-form nobottommargin subscription-form" 2717 name="subscription-form" role="form" enctype="multipart/form-data" method="POST" 2718 action="https://odysseypets.com/subscription/save" onsubmit="return false" novalidate> 2719 <input type="hidden" id="locationId" name="location_id" value="283"> 2720 <input type="hidden" id="clientId" name="client_id" value="222"> 2721 <input type="hidden" name="result" value="footer-result"> 2722 <div class="form-process"></div> 2723 <div class="input-group divcenter">
2724 <span class="input-group-addon"><i class="fas fa-user"></i></span> 2725 <input type="text" maxlength="25" class="required form-control input-block-level subscription_name" id="name" 2726 name="name" value="" placeholder="Name" required/> 2727 </div> 2728 <div class="input-group divcenter"> 2729 <span class="input-group-addon"><i class="fas fa-envelope"></i></span> 2730 <input type="email" class="required form-control email input-block-level" id="email" 2731 name="email" value="" placeholder="Email Address" required/> 2732 </div> 2733 <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> 2734 <button name="submit" type="submit" id="submit-button" tabindex="5" value="Submit" 2735 class="button button-large button-rounded btn-success subscribe-btn noleftmargin"> 2736 Sign Up 2737 </button> 2738 <span class="loader"><img src='https://ik.imagekit.io/0ofixtqpt/143716/preloader-dark.gif'/>Sending ..</span> 2739 <div class="result"></div> 2740 </form> 2741 </div> 2742 </div> 2743 </div> 2744
2744<script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js" defer></script>
2744 2745
2745<script src="https://d3w285dzx3yv2d.cloudfront.net/static/vendors/v2/message-widget/message-widget-v16.min.js" defer></script>
2745 2746 2747 <message-widget-app app_id="469D-412C-52BD-83B4-69F4"></message-widget-app> 2748 </div><!-- .footer-widgets-wrap end --> 2749 </div> 2750<!-- Copyrights 2751============================================= --> 2752 <div id="copyrights"> 2753 <div class="container clearfix"> 2754 <input type="hidden" id="location" name="location" value=""> 2755 <div class="col-xs-12 col-md-8 footer-copyright"> 2756 Copyrights © 2026 | <a href="/privacy-policy">Privacy Policy</a> 2757 | <a href="/terms-of-services">Terms of Service</a> 2758 | Powered by 2759 <a target="_blank" href="https://www.nextpaw.com"> 2760 <img class="powered-by" src="https://ik.imagekit.io/0ofixtqpt/143712/nextpaw.png" width="70px"> 2761 </a> 2762 <br> 2763 </div> 2764 <div class="col-xs-12 col-md-4 tright"> 2765 <div class="fright clearfix"> 2766 2767 2768 2769 <a href="https://maps.app.goo.gl/z1HrjJj2QTakFJPw7" target="_blank" 2770 class="social-icon si-small si-borderless si-gplus"> 2771 <i class="fab fa-google-plus footer-custom-icon"></i> 2772 </a> 2773 2774 2775 2776 2777 2778 2779 2780 2781 2782 2783 <a href="https://www.youtube.com/@OdysseyPets" target="_blank" 2784 class="social-icon si-small si-borderless si-youtube"> 2785 <i class="fab fa-youtube"></i> 2786 </a> 2787 2788 2789 2790 2791 2792 <a href="https://www.facebook.com/odysseypets
2792/" target="_blank" 2793 class="social-icon si-small si-borderless si-facebook"> 2794 <i class="fab fa-facebook"></i> 2795 </a> 2796 2797 2798 2799 2800 2801 2802 2803 2804 2805 2806 2807 2808 2809 2810 2811 2812 2813 2814 2815 <a href="https://www.instagram.com/odysseypets
2815/" target="_blank" 2816 class="social-icon si-small si-borderless si-instagram"> 2817 <i class="fab fa-instagram"></i> 2818 </a> 2819 2820 2821 2822 2823 2824 2825 2826 2827 </div> 2828 <div class="clear"></div> 2829 </div> 2830 </div><!-- #copyrights end --> 2831 </div> 2832 <!--Modal: modalCookie--> 2833 <div class="modal fade top" id="modalCookie1" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" 2834 aria-hidden="true" data-backdrop="false"> 2835 <div class="modal-dialog modal-frame modal-top modal-notify modal-info modal_cookie" role="document"> 2836 <!--Content--> 2837 <div class="modal-content"> 2838 <!--Body--> 2839 <div class="modal-body cookie_bg"> 2840 <div class="container d-flex justify-content-center align-items-center"> 2841 <div class="col-md-6"> 2842 <p class="text-center loc_msg"></p> 2843 </div> 2844 <div class="col-md-6 col-xs-12"> 2845 <a type="button" class="btn btn-lg btn-primary cookie_btn" data-value="NO" 2846 data-dismiss="modal">No, Thanks</a> 2847 <a type="button" id="redirect_location" data-slug="" href="" data-value="YES" 2848 class="btn cookie_btn btn-lg btn-outline-primary waves-effect">Change Location</a> 2849 </div> 2850 </div> 2851 </div> 2852 </div> 2853 <!--/.Content--> 2854 </div> 2855 </div> 2856 <style> 2857 .footer-map iframe{ 2858 min-width: 300px !important; 2859 max-width: 300px !important; 2860 min-height: 300px !important; 2861 max-height: 300px !important; 2862 } 2863 @media(max-width: 720px) and (min-width:320px){ 2864 .footer-map iframe{ 2865 2866 max-width: 100% !important; 2867 2868 max-height: 100% !important; 2869 } 2870 } 2871 2872 /*CSS for tiny MCE editor custom class*/ 2873 .mce-figcaption-custom { 2874 font-size: 14px; 2875 margin-top: 5px; 2876 font-style: italic; 2877 text-align: center; 2878 } 2879 2880 .mce-figure-custom { 2881 margin-bottom: 10px; 2882 } 2883 2884 .mce-figure-align-left-custom { 2885 float: left; 2886 margin-right: 25px; 2887 } 2888 2889 .mce-figure-align-right-custom { 2890 float: right; 2891 margin-left: 25px; 2892 } 2893 2894 .mce-figure-align-center-custom { 2895 text-align: center; 2896 } 2897 2898 .mce-image-align-left-custom { 2899 margin-right: 25px; 2900 margin-bottom: 10px; 2901 } 2902 2903 .mce-image-align-right-custom { 2904 margin-left: 25px; 2905 margin-bottom: 10px; 2906 } 2907 2908 .mce-image-align-center-custom { 2909 margin-bottom: 10px; 2910 } 2911 2912 .first-widget .divider.divider-border.divider-center { 2913 display: none !important; 2914 } 2915 </style> 2916</footer>
2917<script> 2918 // Get all anchor tags (<a>) on the page 2919const links = document.querySelectorAll('a'); 2920 2921// Loop through each link 2922links.forEach(link => { 2923 // Get the href attribute of the link 2924 let href = link.getAttribute('href'); 2925 2926 // Check if the href exists 2927 if (href) { 2928 // If the href is a relative path (starts with '/'), do nothing 2929 if (href.startsWith('/')) { 2930 return; 2931 } 2932 2933 // Check if the href starts with 'http://' or contains 'www' (indicating a non-secure URL) 2934 if (href.startsWith('http://') || href.startsWith('www')) { 2935 link.setAttribute('href', 'https://' + href.replace(/^http:\/\//, '').replace('www.', '')); 2936 } 2937 } 2938}); 2939 2940 2941</script>
2941<!-- Return to Top --> 2942 <div id="gotoTop" class="fas fa-arrow-up"></div> 2943<!-- External JavaScripts 2944============================================= --> 2945<!-- Footer Scripts 2946============================================= --> 2947 2948 2949 2950
2951<script defer type="text/javascript"> 2952 var headquarterName = "dallas"; 2953 var currentLocName = "dallas"; 2954 var pageType = "other"; 2955</script>
2955 2956
2957<script defer type="text/javascript"> 2958 function animateCSS(element, animationName, callback) { 2959 const node = document.querySelector(element) 2960 node.classList.add('animated', animationName) 2961 2962 function handleAnimationEnd() { 2963 node.classList.remove('animated', animationName) 2964 node.removeEventListener('animationend', handleAnimationEnd) 2965 2966 if (typeof callback === 'function') callback() 2967 } 2968 2969 node.addEventListener('animationend', handleAnimationEnd) 2970 } 2971 2972 let closePopup = localStorage.getItem('closeBox'); 2973 // lazy load video for apple browser 2974 $(document).ready(function () { 2975 // add frame to video tag for ios devices 2976 const videos = document.querySelectorAll('video'); 2977 if(videos.length > 0) { 2978 for (video of videos) { // use var video if "strict mode" is enabled 2979 Object.entries(video.children).forEach(([key, value]) => { 2980 var newSrc = value.src + '#t=0.1'; 2981 video.children[key].src = newSrc; 2982 video.setAttribute('playsinline','true'); 2983 video.load(); 2984 }); 2985 } 2986 } 2987 2988 setInterval(function(){ 2989 if($('iframe#ec-credit-card-form').length > 0) { 2990 var url = $('iframe#ec-credit-card-form').attr('src'); 2991 var dec = decodeURIComponent(url); 2992 function getParameterByName(name, url) { 2993 name = name.replace(/[\[\]]/g, '\\$&'); 2994 var regex = new RegExp('[?&]' + name + '(=([^&#]*)|&|#|$)'), 2995 results = regex.exec(url); 2996 if (!results) return null; 2997 if (!results[2]) return ''; 2998 return decodeURIComponent(results[2].replace(/\+/g, ' ')); 2999 } 3000 var color = getParameterByName('color-foreground',dec); 3001 if(color.toString() !== 'rgb(0, 0, 0)') { 3002 var newColor = 'rgb(0, 0, 0)'; 3003 var newUrl = dec.replace(/(color-foreground=).*?(&)/, '$1' + newColor + '$2'); 3004 var newUrl = newUrl.replace(/(color-price=).*?(&)/, '$1' + newColor + '$2'); 3005 var urlEnc = encodeURI(newUrl); 3006 $('iframe#ec-credit-card-form').attr('src', urlEnc); 3007 } 3008 } 3009 }, 1000); 3010 if($('.floating_chat').length < 1){ 3011 $('body').addClass('fbRight'); 3012 } 3013 if($('.fb-customerchat').length < 1){ 3014 $('body').addClass('noFb'); 3015 } 3016 3017 if(closePopup == 'hide'){ 3018 $(".bubbleText").hide(); 3019 } 3020 3021 $(document).on('click', function (event) { 3022 if (!$(event.target).closest('.msg_box').length) { 3023 if(!$(event.target).closest('.floating_chat').length){ 3024 if($('.floating_chat').hasClass('closeBox') == true){ 3025 $('.sendBtn').show(); 3026 $('.supportTxt').show(); 3027 $('#formData').show(); 3028 $('.msg_box').removeClass('enter').css({'z-index': 0,'right':'-500px'}); 3029 $('.floating_chat').find('>i').removeClass('fa-times').addClass('fa-weixin'); 3030 $('.floating_chat').addClass('openBox'); 3031 $('.msg_box').removeClass('enter'); 3032 animateCSS('.msg_box', 'fadeOutRight'); 3033 $('.floating_chat').removeClass('closeBox'); 3034 $('.bubbleText').show(); 3035 } 3036 } 3037 } 3038 }); 3039 setTimeout(function() { 3040 $('.floating_chat').addClass('enter'); 3041 }, 1000); 3042 $('.openBox').click(function () { 3043 if($(this).hasClass('closeBox')){ 3044 $('.sendBtn').show(); 3045 $('.supportTxt').show(); 3046 $('.msg_box').removeClass('enter').css({'z-index': 0,'right':'-500px'}); 3047 $(this).find('>i').removeClass('fa-times').addClass('fa-weixin'); 3048 $(this).addClass('openBox'); 3049 $('.msg_box').removeClass('enter'); 3050 animateCSS('.msg_box', 'fadeOutRight'); 3051 $(this).removeClass('closeBox'); 3052 $('.bubbleText').show(); 3053 } else { 3054 $('#formData').show(); 3055 $('.msg_box').addClass('enter').css({'z-index':999,'right' : 0}); 3056 $(this).find('>i').removeClass('fa-weixin').addClass('fa-times'); 3057 $(this).addClass('closeBox'); 3058 animateCSS('.msg_box', 'fadeInRight'); 3059 $(this).removeClass('openBox'); 3060 $('form input[type="text"].bfh-phone, form input[type="tel"].bfh-phone, span.bfh-phone').each(function () { 3061 var $phone = $(this); 3062 $phone.bfhphone($phone.data()); 3063 }); 3064 $('.bubbleText').hide(); 3065 $('.SubmittedMessage__SendStatus').hide(); 3066 $('.ConfirmationMessage').hide(); 3067 $('.SubmittedMessage').removeClass('SubmittedMessage--visible'); 3068 } 3069 }); 3070 3071 $('#boxclose').click(function () { 3072 $(".bubbleText").fadeOut("normal", function() { 3073 $(this).remove(); 3074 localStorage.setItem('closeBox', 'hide'); 3075 }); 3076 }); 3077 3078 $(document).on('touchstart','li.sub-menu', function () { 3079 if(navigator.userAgent.match(/(iPhone|iPod|iPad)/i)){ 3080 var count = $(this).attr('click-count'); 3081 if(count !== undefined){ 3082 location.href = $(this).children('a').attr('href'); 3083 } else{ 3084 if($(this).hasClass('click-class')){ 3085 $(this).attr('click-count',undefined); 3086 }else{ 3087 $(this).attr('click-count',1); 3088 } 3089 } 3090 } 3091 });
3092 // remove submenu css if empty 3093 $('li.sub-menu').each(function () { 3094 if($(this).children('ul').children().length === 0){ 3095 $(this).children('ul').remove(); 3096 } 3097 }); 3098 3099 $("video.fullscreen-bg__video source").each(function () { 3100 var sourceFile = $(this).attr("data-src"); 3101 $(this).attr("src", sourceFile); 3102 var video = this.parentElement; 3103 }); 3104 3105 $('.mySlides').each(function () { 3106 var imgUrl = $(this).children().attr('src'); 3107 $(this).children().css('opacity', 0); 3108 $(this).css('background', 'url("' + imgUrl + '")'); 3109 }); 3110 3111 var myIndex = 0; 3112 if ($(".page-slider-container")[0]) { 3113 carousel(); 3114 } 3115 3116 function carousel() { 3117 var i; 3118 var x = document.getElementsByClassName("mySlides"); 3119 for (i = 0; i < x.length; i++) { 3120 x[i].style.display = "none"; 3121 } 3122 myIndex++; 3123 if (myIndex > x.length) { 3124 myIndex = 1 3125 } 3126 x[myIndex - 1].style.display = "block"; 3127 setTimeout(carousel, 2000); // Change image every 2 seconds 3128 } 3129 3130 if ($(".review-background-static").length) { 3131 $('.location-divider').hide(); 3132 } 3133 if ($(".review-background-parallax").length) { 3134 $('.location-divider').hide(); 3135 } 3136 3137 $('.social_share').each(function () { 3138 $(this).attr('target', '_blank'); 3139 }); 3140 3141 var font_family = $('body').css('font-family'); 3142 var r_font_family = font_family.replace(/\"/g, ""); 3143 if (r_font_family == "PT Sans Narrow") { 3144 $("#top-social .ts-text").attr('style', 'top: 0px !important' + ';' + 'left:0px !important;' + 'margin-left:-7px !important'); 3145 } else if (r_font_family == "Roboto") { 3146 $("#top-social .si-gplus .ts-text").attr('style', 'top: 0px !important;' + 'left:0px !important;' + 'margin-left:-7px !important'); 3147 $("#top-social .si-youtube .ts-text").attr('style', 'top: 0px !important' + ';' + 'left:0px !important;' + 'margin-left:-7px !important'); 3148 $("#top-social .si-linkedin .ts-text").attr('style', 'top: 0px !important' + ';' + 'left:0px !important;' + 'margin-left:-7px !important');
3149 $("#top-social .si-yelp .ts-text").attr('style', 'top: 0px !important' + ';' + 'left:0px !important;' + 'margin-left:-7px !important'); 3150 } 3151 }); 3152 3153 3154 3155 document.addEventListener("DOMContentLoaded", function () { 3156 var lazyBackgrounds = [].slice.call(document.querySelectorAll(".lazy-background")); 3157 3158 if ("IntersectionObserver" in window) { 3159 let lazyBackgroundObserver = new IntersectionObserver(function (entries, observer) { 3160 entries.forEach(function (entry) { 3161 if (entry.isIntersecting) { 3162 entry.target.classList.add("visible"); 3163 lazyBackgroundObserver.unobserve(entry.target); 3164 } 3165 }); 3166 }); 3167 3168 lazyBackgrounds.forEach(function (lazyBackground) { 3169 lazyBackgroundObserver.observe(lazyBackground); 3170 }); 3171 } 3172 }); 3173 3174 //Add Icon for Submenu in Mobile 3175 $('.sub-menu-trigger').click(function () { 3176 if($(this).children('i').hasClass('rotate-icon')){ 3177 $(this).children('i').removeClass('rotate-icon'); 3178 $(this).parent().children('ul').css('display','none'); 3179 }else{ 3180 $(this).children('i').addClass('rotate-icon'); 3181 $(this).parent().children('ul').css('display','block'); 3182 } 3183 }); 3184 3185 //Link to page for Submenu in Mobile 3186 if( /Android|webOS|BlackBerry|iPhone|iPod|iPad/i.test(navigator.userAgent) ) { 3187 var touchmoved; 3188 $('.sub-menu').on('touchend', '.mobile-a', function () { 3189 if(touchmoved != true){ 3190 location.href =$(this).attr('href'); 3191 } 3192 }).on('touchmove', function(e){ 3193 touchmoved = true; 3194 }).on('touchstart', function(){ 3195 touchmoved = false; 3196 }); 3197 3198 $('.sub-menu').on('touchend').on('touchmove', function(e){ 3199 touchmoved = true; 3200 }).on('touchstart', function(){ 3201 touchmoved = false; 3202 }); 3203 } 3204 3205 3206</script>
3206 3207<!-- Ecwid Seo friendly url js code -->
3208<script> 3209 window.ec = window.ec || {}; 3210 window.ec.config = window.ec.config || {}; 3211 window.ec.config.storefrontUrls = window.ec.config.storefrontUrls || {}; 3212 window.ec.config.storefrontUrls.cleanUrls = true; 3213 if(currentLocName == headquarterName){ 3214 window.ec.config.baseUrl = '/shop/'; 3215 var ecwid_ProductBrowserURL = "/shop/"; 3216 } else{ 3217 var ecwid_ProductBrowserURL = currentLocName+'/shop/'; 3218 window.ec.config.baseUrl = currentLocName+'/shop/'; 3219 } 3220 3221</script>
3221 3222 <!-- Prefetch + Preconnect --> 3223 <link rel="dns-prefetch" href="//www.googletagmanager.com"> 3224 <link rel="preconnect" href="https://www.googletagmanager.com" crossorigin> 3225
3225<script> 3226 function loadGTM(id) { 3227 (function(w,d,s,l,i){ 3228 w[l]=w[l]||[]; 3229 w[l].push({'gtm.start': new Date().getTime(),event:'gtm.js'}); 3230 var f=d.getElementsByTagName(s)[0], 3231 j=d.createElement(s), dl=l!='dataLayer'?'&l='+l:''; 3232 j.async=true; j.src='https://www.googletagmanager.com/gtm.js?id='+i+dl; 3233 f.parentNode.insertBefore(j,f); 3234 })(window,document,'script','dataLayer', id); 3235 } 3236 3237 function loadGtag() { 3238 var url = window.location.host; 3239 if (url.indexOf('.jenkins') === -1 && url.indexOf('.test') === -1) { 3240 var gtagScript = document.createElement('script'); 3241 gtagScript.src = "https://www.googletagmanager.com/gtag/js?id=G-9N2957J5VN"; 3242 gtagScript.async = true; 3243 document.head.appendChild(gtagScript); 3244 3245 gtagScript.onload = function () { 3246
vendor: 177 bytes, lines 3246-3249
3246window.dataLayer = window.dataLayer || []; 3247 function gtag(){ dataLayer.push(arguments); } 3248 gtag('js', new Date()); 3249 gtag('config', '
3249G-9N2957J5VN
vendor: 16 bytes, lines 3249-3250
3249'); 3250
3250}; 3251 } 3252 } 3253 3254 function loadTrackingScripts() { 3255 loadGTM('GTM-NMGWHXT'); 3256 loadGtag(); 3257 } 3258 3259 if ('requestIdleCallback' in window) { 3260 requestIdleCallback(loadTrackingScripts, { timeout: 2000 }); 3261 } else { 3262 setTimeout(loadTrackingScripts, 2000); 3263 } 3264 </script>
3264 3265 3266 <!-- NOSCRIPT for GTM (should NOT be deferred) -->
vendor: 89 bytes, lines 3266-3268
3266 3267 <noscript> 3268 <iframe src="https://www.googletagmanager.com/ns.html?id=
3268GTM-NMGWHXT
vendor: 106 bytes, lines 3268-3271
3268" height="0" width="0" style="display:none;visibility:hidden"></iframe> 3269 </noscript> 3270 3271
3272<script type="text/javascript">window.NREUM||(NREUM={});NREUM.info={"beacon":"bam.nr-data.net","licenseKey":"NRJS-848b5ec7e91ef88ba3a","applicationID":"1416771764","transactionName":"ZwNVYEEHCEVTVEZdDl5JdldHDwlYHXZCRD14EkNEbyUJWEZFXVgNVRREaHAJCEJAWF5YBEImWlVaCA==","queueTime":0,"applicationTime":328,"atts":"S0RWFgkdG0s=","errorBeacon":"bam.nr-data.net","agent":""}</script>
3272</body> 3273</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.