1<!DOCTYPE html> 2<html class="noIE" lang="en-US"> 3<head>
3<script type="text/javascript">(window.NREUM||(NREUM={})).init={ajax:{deny_list:["bam.nr-data.net"]}};(window.NREUM||(NREUM={})).loader_config={xpid:"UA4PVVdRGwUHV1NQBwU=",licenseKey:"0ac16663c3",applicationID:"6732204",browserID:"6732206"};;/*! For license information please see nr-loader-full-1.323.0.min.js.LICENSE.txt */ 4(()=>{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};
4e.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;
4const 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:()=>S,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);
4if(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,R(e,t)}function R(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 w(e,t,r,n,i){if(R(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&&(w(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&&(w(e,n,i,r,s),t.delete(i)),0===t.size}})}(e,a,s,t.timingMethod)}function S(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 R=0,w=0;p(r).recordManifestScriptWindow=(e,t)=>{e&&(R=R>0?Math.min(R,e):e),t&&(w=w>0?Math.max(w,t):t)},Object.defineProperty(r,"scriptStart",d(()=>{const e=y()?r.registeredAt:h?.script.start??r.fetchEnd;return R>0?Math.min(e,R):e})),Object.defineProperty(r,"scriptEnd",d(()=>{const e=y()?r.registeredAt:h?.script.end??r.registeredAt;return w>0?Math.max(e,w):e}))}catch(e){}return r}},5732(e,t,r){"use strict";r.d(t,{$5:()=>m,B5:()=>g,K6:()=>u,M$:()=>
4o,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])}
4(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}
4;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])},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","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=>({95:"nr-full-compressor",222:"nr-full-recorder",649:"nr-full-iframe-message-handler",89
41:"nr-full"}[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)=>{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={891:"sha512-3jboCmrue7pvfLFAQ9FaZC6iM4mLMLaZF6lKolNEXSkSEV504XyvxAZYc2IA7anoBv2V+k1HPTEP1kEgaIYkeg==",222:"sha512-VSWDjY6WtlUmQRPiGWVhKHgN3DMcL8oP9fKdTus8nteEdkVzXz/VhtS6N3wJyto6jHNHRLawzAny60sfcHbBNQ==",95:"sha512-JfHJ5y7GJR1Z5RXbhGTJAaX+pDpLAzH+9IdJQc7Lc7hz3fR+zqyabKG7hPG4eQQ3dZhcuoJKdfj+OhPePveplQ==",649:"sha512-mN3SeCI8QgOG4PdhbG1UlLTWP/P9Ckx3bEoFST53PE7ctYb2Pwk/sVJpCoVwkXTlhP17BH8L/BkzHI4sD+yo6Q=="};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={85:0,959: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
4ine_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 R=r(9232);var w=r(7836),T=r(3241);const S={accountID:void 0,trustKey:void 0,agentID:void 0,licenseKey:void 0,applicationID:void 0,xpid:void 0};var A=r(9908),x=r(9752);function _(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,S)),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:R.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=w.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,A.p)("iframe-message",[t],void 0,"IFRAME",e.ee)}),e.runtime.configured=!0)}var O=r(1863),k=r(4261),L=r(1738);var M=r(1687),P=r(4234),N=r(5289),j=r(5270),I=r(7767),C=r(6389),D=r(7699);const B=new WeakSet,H=new WeakMap;class W extends P.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,M.Ak)(e,this.featureName),t()}))}):(0,M.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()=>
4{if((0,I.V)(e.init))try{const{setupAgentSession:t}=await r.e(891).then(r.bind(r,8766));t(e)}catch(e){(0,l.R)(20,e),t.emit("internal-error",[e]),(0,A.p)(D.qh,[e],void 0,n,t)}if(e.init.api.register.allow_iframe_bridge)try{const{setupIframeMFEMessageListener:t}=await r.e(649).then(r.bind(r,6417));t(e)}catch(e){(0,l.R)(23,e)}const[{Connector:i},{Harvester:s}]=await Promise.all([r.e(891).then(r.bind(r,6589)),r.e(891).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,M.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,M.Ze)(this.agentRef,this.featureName,!0),this.loadedSuccessfully(!1)}};g.RI?(0,N.GG)(()=>i(),!0):i()}#r(e,r,n){if(this.blocked)return!1;switch(e){case t.K7.sessionReplay:return(0,j.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){}_(e,{...t,info:{...t.info,jsAttributes:r},runtime:e.runtime},e.runtime.loaderType)}}}var K=r(6630);class U extends W{static featureName=K.T;constructor(e){var t;super(e,K.T),this.setupInspectionEvents(),t=e,(0,L.Y)(k.Fw,function(e,r){"string"==typeof e&&("/"!==e.charAt(0)&&(e="/"+e),t.runtime.customTransaction=(r||"http://custom.transaction")+e,(0,A.p)("api-"+k.Fw,[(0,O.t)()],void 0,void 0,t.ee))},t),this.importAggregator(e,()=>e.init.feature_flags.includes("rum_v2")?r.e(891).then(r.bind(r,908)):r.e(891).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,N.sB)(t=>{e(t,"DOMContentLoaded")}),(0,N.GG)(t=>{e(t,"load")}),(0,N.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(U),_(this,e,e.loaderType||"agent"),t=this,(0,L.Y)(k.cD,function(e,r,n=!1){if("string"==typeof e){if(["string","number","boolean"].includes(typeof r)||null===r)return(0,L.U)(t,e,r,k.cD,n);(0,l.R)(40,typeof r)}else(0,l.R)(39,typeof e)},t),function(e){(0,L.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,A.p)("api-setUserIdAndResetSession",[t],void 0,"session",e.ee):(0,L.U)(e,"enduser.id",t,k.Dl,!0)},e)}(this),function(e){(0,L.Y)(k.nb,function(t){if("string"==typeof t||null===t)return(0,L.U)(e,"application.version",t,k.nb,!1);(0,l.R)(42,typeof t)},e)}(this),function(e){(0,L.Y)("start",function(){e.ee.emit("manual-start-all")},e)}(this),function(e){(0,L.Y)(k.Pv,function(t=!0){if("boolean"==typeof t){if((0,A.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,A.p)("docHidden",[(0,O.t)()],void 0,z.T,this.ee),!0),(0,V.G)(()=>(0,A.p)("winPagehide",[(0,O.t)()],void 0,z.T,this.ee)),this.importAggregator(e,()=>r.e(891).then(r.bind(r,9018))))}}var q=r(3969);class Y extends W{static featureName=q.TZ;constructor(e){super(e,q.TZ),this.importAggregator(e,()=>r.e(891).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,O.t)()){"string"==typeof e&&(e=new Error(e)),(0,A.p)("err",[e,s,!1,r,n.runtime.isRecording,void 0,i],void 0,t.K7.jserrors,n.ee),(0,A.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,O.t)()){(0,ae.R)(n.ee,e,t,r,!1,i,s)}function ce(e,r,n,i,s=(0,O.t)()){(0,A.p)("api-"+k.hG,[s,e,r,i],void 0,t.K7.genericEvents,n.ee)}function de(e,r,n,i,s=(0,O.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)=>
4null==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,A.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,O.t)()){(0,A.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,O.t)();if(s(e)>1e4)return void a.disconnect();r=e}n??=(0,O.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,O.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 Re=["entry","scripts","all"],we=["name","id","type"],Te=new Map([[ce,"addPageAction"],[oe,"log"],[de,"measure"],[ie,"noticeError"],[ue,"recordCustomEvent"]]),Se={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 Ae(e){(0,L.Y)(k.eY,function(t){return xe(e,t)},e)}function xe(e,r){Se.experimental(),r||={},r.instance=(0,ye.LA)(8),r.type=R.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:R.f.BA},r.manifest=(0,be.N)(r.manifest),void 0===r.timingMethod||Re.includes(r.timingMethod)||(Se.invalidTimingMethod(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||R.f.BA,"parent.id":r.parent?.id})}
4),Object.entries(r.tags).forEach(([e,t])=>{we.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(Se.disabled),u(r.id)&&u(r.name)||d(()=>Se.invalidTarget(r)),c.forEach(e=>{try{const{name:t,id:n}=e.metadata.target;t===r.name&&n!==r.id&&Se.duplicateName(r),n===r.id&&t!==r.name&&Se.duplicateId(r)}catch(e){}});const f={addPageAction:(t,n={})=>m(ce,[t,{...a,...n},e],r),deregister:()=>{p(),d(Se.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,O.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
4imeToRegister: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,O.t)();f.metadata.events.latestTimestamp=void 0;const a=Te.get(r)||"unknown";(0,A.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 _e extends W{static featureName=Z.T;constructor(e){var t;super(e,Z.T),t=e,(0,L.Y)(k.o5,(e,r)=>ie(e,r,t),t),function(e){(0,L.Y)(k.bt,function(t){e.runtime.onerror=t},e)}(e),function(e){let t=0;(0,L.Y)(k.k6,function(e,r){++t>10||(this.runtime.releaseIds[e.slice(-200)]=(""+r).slice(-200))},e)}(e),Ae(e);try{this.removeOnAbort=new AbortController}catch(e){}this.ee.on("internal-error",(t,r)=>{this.abortHandler&&(0,A.p)("ierr",[ee(t),(0,O.t)(),!0,{},e.runtime.isRecording,r],void 0,this.featureName,this.ee)}),g.gm.addEventListener("unhandledrejection",t=>{this.abortHandler&&(0,A.p)("err",[te(t),(0,O.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,A.p)("err",[re(t),(0,O.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(891).then(r.bind(r,9377)))}#n(){this.removeOnAbort?.abort(),this.abortHandler=void 0}}var Oe=r(8990);let ke=1;function Le(e){const t=typeof e;return!e||"object"!==t&&"function"!==t?-1:e===g.gm?0:(0,Oe.I)(e,"nr@id",function(){return ke++})}function Me(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 Pe=r(8139),Ne=r(3434),je=r(5732);const Ie={},Ce=["open","send","setRequestHeader"];function De(e,t){var r=e||w.ee;const n=function(e){return(e||w.ee).get("xhr")}(r);if(void 0===g.gm.XMLHttpRequest)return n;if(Ie[n.debugId]++)return n;Ie[n.debugId]=1,(0,Pe.u)(r,t);var i=(0,Ne.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,je.$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"],Ke=g.gm.Request,Ue=g.gm.Response,Fe="prototype";const Ve={};function ze(e,t){const r=function(e){return(e||w.ee).get("fetch")}(e);if(!(Ke&&Ue&&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,je.$5)(t);var o;r.emit(i+"before-start",[e],n),n[w.P]&&n[w.P].dt&&(o=n[w.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})})}
4return Ve[r.debugId]=1,We.forEach(e=>{n(Ke[Fe],e,He),n(Ue[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,A.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=S,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){_(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=Me(i);a&&(n.txSize=a)}this.startTime=(0,O.t)(),this.requestBody=i,this.listener=function(e){try{"abort"!==e.type||s.loadCaptureCalled||(s.params.aborted=!0),("load"
4!==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=""+Le(e)+!!t;this.xhrGuids&&!this.xhrGuids[r]&&(this.xhrGuids[r]=!0,this.totalCbs+=1)}function p(e,t){var r=""+Le(e)+!!t;this.xhrGuids&&this.xhrGuids[r]&&(delete this.xhrGuids[r],this.totalCbs-=1)}function m(){this.endTime=(0,O.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,O.t)()))}function E(e,t){this.xhrCbStart&&r.emit("xhr-cb-time",[(0,O.t)()-this.xhrCbStart,this.onload,t],t)}function R(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 w(e,t){this.params={},this.metrics={},this.startTime=(0,O.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=Me(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,O.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=Me(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 S(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):_(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=Me(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 _(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?Me(e.response):"text"===r||""===r||void 0===r?Me(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,A.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",R),r.on("fetch-start",w),r.on("fn-start",b),r.on("fetch-done",T)}(e,this.ee,this.handler,this.dt),this.importAggregator(e,()=>r.e(891).then(r.bind(r,3845)))}}const it={},st=["pushState","replaceState"];function at(e,t){const r=function(e){return(e||w.ee).get("history")}(e);return!g.RI||it[r.debugId]++||(it[r.debugId]=1,(0,Ne.YM)(r,void 0,t).inPlace(window.history,st,"-")),r}var ot=r(3738);function ct(e){(0,L.Y)(k.BL,function(r=Date.now()){const n=r-g.WN;n<0&&(0,l.R)(62,r),(0,A.p)(q.XG,[k.BL,{time:n}],void 0,t.K7.metrics,e.ee),e.addToTrace({name:k.BL,start:r,origin:"nr"}),(0,A.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,L.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,A.p)("bstApi",[r],void 0,t.K7.sessionTrace,n.ee)},n),ct(e);
4if(!(0,I.V)(e.init))return void this.deregisterDrain();const i=this.ee;let s;at(i,e),this.eventsEE=(0,Pe.u)(i,e),this.eventsEE.on(gt,function(e,t){this.bstStart=(0,O.t)()}),this.eventsEE.on(pt,function(e,r){(0,A.p)("bst",[e[0],r,this.bstStart,(0,O.t)()],void 0,t.K7.sessionTrace,i)}),i.on(mt+lt,function(e){this.time=(0,O.t)(),this.startPath=location.pathname+location.hash}),i.on(mt+ft,function(e){(0,A.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,A.p)(dt,[r],void 0,t.K7.sessionTrace,i)}),s.observe({type:ut,buffered:!0})}catch(e){}this.importAggregator(e,()=>r.e(891).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,L.Y)(k.CH,function(){(0,A.p)(k.CH,[],void 0,t.K7.sessionReplay,n.ee)},n),function(e){(0,L.Y)(k.Tb,function(){(0,A.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,j.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(891).then(r.bind(r,6167)),this),this.ee.on("err",e=>{this.blocked||this.agentRef.runtime.isRecording&&(this.errorNoticed=!0,(0,A.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,j.Aw)(this.agentRef.init)}importRecorder(){return this.recorder?Promise.resolve(this.recorder):(this.#i??=Promise.all([r.e(891),r.e(222)]).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 Rt=r(981);const wt={},Tt=new Set;function St(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 At{constructor(e,t){this.timestamp=(0,O.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 xt 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,L.Y)(k.hG,(e,t)=>ce(e,t,c),c),function(e){(0,L.Y)(k.fF,(t,r)=>ue(t,r,e),e)}(e),ct(e),Ae(e),function(e){(0,L.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(wt[r.debugId]++)return r;wt[r.debugId]=1,(0,V.G)(()=>{const e=(0,O.t)();Tt.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)})});
4class n extends WebSocket{static name=Rt.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 At(e[0],e[1]),this.targets=(0,je.$5)(t),this.addEventListener("open",()=>{this.nrData.openedAt=(0,O.t)(),["protocol","extensions","binaryType"].forEach(e=>{this.nrData[e]=this[e]}),Tt.add(this)}),this.addEventListener("message",e=>{const{type:t,size:r}=St(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,O.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,Tt.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}=St(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,A.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,A.p)("spv",[_t(e),(0,O.t)()],void 0,t.K7.genericEvents,this.ee)}),l.disconnect()},{types:["csp-violation"],buffered:!0});l.observe()}g.gm.addEventListener("securitypolicyviolation",e=>{(0,A.p)("spv",[_t(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,A.p)("ua",[e],void 0,this.featureName,this.ee),!0)),o.qN.forEac
4h(e=>{const t=(0,C.s)(e=>{(0,A.p)("ua",[e],void 0,this.featureName,this.ee)},500,{leading:!0});(0,J.sp)(e,t)}),g.gm.addEventListener("error",()=>{(0,A.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,A.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,A.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,A.p)("browserPerformance.resource",[e],void 0,this.featureName,this.ee)})}).observe({type:"resource",buffered:!0})}}a.some(e=>e)?this.importAggregator(e,()=>r.e(891).then(r.bind(r,8019))):this.deregisterDrain()}}function _t(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 Ot=r(2646);const kt=new Map;function Lt(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||w.ee).get("logger")}(e),o=(0,Ne.YM)(a,void 0,s),c=new Ot.y(w.P);c.level=n.level,c.customAttributes=n.customAttributes,c.autoCaptured=i;const d=t[r]?.[Ne.Jt]||t[r];return kt.set(d,c),o.inPlace(t,[r],"wrap-logger-",()=>kt.get(d),void 0,!0),a}var Mt=r(1910);class Pt extends W{static featureName=se.TZ;constructor(e){var t;super(e,se.TZ),t=e,(0,L.Y)("log",(e,r)=>oe(e,r,t),t),function(e){(0,L.Y)(k.Wb,(t,r,{customAttributes:n={},level:i=se.p_.INFO}={})=>{Lt(e.ee,t,r,{customAttributes:n,level:i},!1,e)},e)}(e),Ae(e);const n=this.ee;["log","error","warn","info","debug","trace"].forEach(t=>{(0,Mt.i)(g.gm.console[t]),Lt(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(891).then(r.bind(r,5288)))}}new F({features:[U,G,vt,Et,nt,Y,_e,xt,Pt],loaderType:"pro"})})()})();</script>
4 5 <meta name="viewport" content="width=device-width, initial-scale=1"> 6<link href="https://asset.bloomnation.com" rel="preconnect" crossorigin> 7<link rel="preconnect" href="https://fonts.googleapis.com"> 8<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin> 9<link rel="preconnect" href="https://promfiles.com/" crossorigin> 10 11 <style> 12 :root { 13 --bn--default-font: 'Avenir', Helvetica, Arial, sans-serif; 14 } 15 16 @font-face { 17 font-display: swap; 18 font-family: 'Avenir'; 19 src: local('Avenir'), 20 url('https://promfiles.com/bloom/dist/frontend/premiumsites/bloom/fonts/woff2/AvenirNext-Regular.dbfaaeb9.woff2') format('woff2'); 21 font-weight: 100; 22 unicode-range: U+000-5FF; 23 } 24 25 @font-face { 26 font-display: swap; 27 font-family: 'Avenir'; 28 src: local('Avenir'), 29 url('https://promfiles.com/bloom/dist/frontend/premiumsites/bloom/fonts/woff2/AvenirNext-Medium.8f8afa8e.woff2') format('woff2'); 30 font-weight: 200; 31 unicode-range: U+000-5FF; 32 } 33 34 @font-face { 35 font-display: swap; 36 font-family: 'Avenir'; 37 src: local('Avenir'), 38 url('https://promfiles.com/bloom/dist/frontend/premiumsites/bloom/fonts/woff2/AvenirNext-UltraLight.d9fd23ba.woff2') format('woff2'); 39 font-weight: 50; 40 unicode-range: U+000-5FF; 41 } 42 43 @font-face { 44 font-display: swap; 45 font-family: 'Avenir'; 46 src: local('Avenir'), 47 url('https://promfiles.com/bloom/dist/frontend/premiumsites/bloom/fonts/woff2/AvenirNext-DemiBold.eea19314.woff2') format('woff2'); 48 font-weight: 300; 49 unicode-range: U+000-5FF; 50 } 51 52 @font-face { 53 font-display: swap; 54 font-family: 'Avenir'; 55 src: local('Avenir'), 56 url('https://promfiles.com/bloom/dist/frontend/premiumsites/bloom/fonts/woff2/AvenirNext-Bold.b652524b.woff2') format('woff2'); 57 font-weight: 400; 58 unicode-range: U+000-5FF; 59 } 60 61 * { 62 letter-spacing: 0 !important; 63 font-smoothing: antialiased; 64 -webkit-font-smoothing: antialiased; 65 -moz-font-smoothing: antialiased; 66 -o-font-smoothing: antialiased; 67 } 68 69 body { 70 --bn--primary-font: var(--bn--default-font); 71 font-family: var(--bn--primary-font); 72 } 73 </style> 74 <title>Accessibility Statement | San Marin Flowers</title> 75 <meta name="google-site-verification" content="pmq7YKfgmiX688xK4zu_4Ae0DN2RK2cDS7rEIjr5nSs"/> 76 <meta name="description" content="Order fresh flowers online that are hand-delivered by the best local florists. Find local flower shops with same-day flower delivery and shop from unique flower arrangements designed by certified floral designers. Forget cheap flowers and discover that perfect gift for Mother's Day, birthdays, anniversaries, funerals, and all occasions."/> 77 <meta name="keywords" content=""/> 78 <link rel="canonical" href="https://sanmarinflowers.com/accessibility-statement/"/> 79 80 <link rel="icon" href="https://asset.bloomnation.com/f_auto,q_auto/v1/vendor/global/favicon/favicon.ico" type="image/x-icon"/> 81 <link rel="shortcut icon" href="https://asset.bloomnation.com/f_auto,q_auto/v1/vendor/global/favicon/favicon.ico" type="image/x-icon"/> 82 83 84
84<script type="text/javascript" src="https://promfiles.com/bloom/dist/js/lib/jquery/jquery-1.12.1.min.2a534122.js"></script>
84 85
85<script>jQuery.noConflict();</script>
85 86
86<script type="application/ld+json">{"@context":"https://schema.org/","@type":["Florist","LocalBusiness","Organization"],"@id":"https://sanmarinflowers.com/#florist","name":"San Marin Flowers","image":"https://asset.bloomnation.com/c_fit,dpr_2,f_auto,h_659,q_auto,w_1000/v1/vendor/6661/profile/sanmarinflowers-logo.png","logo":"https://asset.bloomnation.com/c_fit,dpr_2,f_auto,h_659,q_auto,w_1000/v1/vendor/6661/profile/sanmarinflowers-logo.png","url":"https://sanmarinflowers.com/","address":{"@type":"PostalAddress","streetAddress":"117 SAN MARIN DRIVE","addressLocality":"NOVATO","addressRegion":"CA","postalCode":"94945","addressCountry":"US"},"telephone":"+14158989514","priceRange":"$$","openingHoursSpecification":[{"@type":"OpeningHoursSpecification","dayOfWeek":["Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],"opens":"10:00","closes":"15:30"},{"@type":"OpeningHoursSpecification","validFrom":"2026-12-25","validThrough":"2026-12-25","opens":"00:00","closes":"00:00"},{"@type":"OpeningHoursSpecification","validFrom":"2027-09-06","validThrough":"2027-09-06","opens":"00:00","closes":"00:00"},{"@type":"OpeningHoursSpecification","validFrom":"2027-05-31","validThrough":"2027-05-31","opens":"00:00","closes":"00:00"},{"@type":"OpeningHoursSpecification","validFrom":"2027-01-01","validThrough":"2027-01-01","opens":"00:00","closes":"00:00"},{"@type":"OpeningHoursSpecification","validFrom":"2026-11-26","validThrough":"2026-11-26","opens":"00:00","closes":"00:00"},{"@type":"OpeningHoursSpecification","validFrom":"2026-09-01","validThrough":"2026-09-05","opens":"00:00","closes":"00:00"},{"@type":"OpeningHoursSpecification","validFrom":"2026-09-07","validThrough":"2026-09-12","opens":"00:00","closes":"00:00"},{"@type":"OpeningHoursSpecification","validFrom":"2026-09-14","validThrough":"2026-09-19","opens":"00:00","closes":"00:00"},{"@type":"OpeningHoursSpecification","validFrom":"2026-09-21","validThrough":"2026-09-26","opens":"00:00","closes":"00:00"},{"@type":"OpeningHoursSpecification","validFrom":"2026-09-28","validThrough":"2026-10-03","opens":"00:00","closes":"00:00"},{"@type":"OpeningHoursSpecification","validFrom":"2026-10-05","validThrough":"2026-10-10","opens":"00:00","closes":"00:00"},{"@type":"OpeningHoursSpecification","validFrom":"2026-10-12","validThrough":"2026-10-17","opens":"00:00","closes":"00:00"},{"@type":"OpeningHoursSpecification","validFrom":"2026-10-19","validThrough":"2026-10-24","opens":"00:00","closes":"00:00"},{"@type":"OpeningHoursSpecification","validFrom":"2026-10-26","validThrough":"2026-10-31","opens":"00:00","closes":"00:00"},{"@type":"OpeningHoursSpecification","validFrom":"2026-11-02","validThrough":"2026-11-07","opens":"00:00","closes":"00:00"},{"@type":"OpeningHoursSpecification","validFrom":"2026-11-09","validThrough":"2026-11-14","opens":"00:00","closes":"00:00"},{"@type":"OpeningHoursSpecification","validFrom":"2026-11-16","validThrough":"2026-11-21","opens":"00:00","closes":"00:00"},{"@type":"OpeningHoursSpecification","validFrom":"2026-11-23","validThrough":"2026-11-25","opens":"00:00","closes":"00:00"},{"@type":"OpeningHoursSpecification","validFrom":"2026-11-27","validThrough":"2026-11-28","opens":"00:00","closes":"00:00"},{"@type":"OpeningHoursSpecification","validFrom":"2026-11-30","validThrough":"2026-12-05","opens":"00:00","closes":"00:00"},{"@type":"OpeningHoursSpecification","validFrom":"2026-12-07","validThrough":"2026-12-12","opens":"00:00","closes":"00:00"},{"@type":"OpeningHoursSpecification","validFrom":"2026-12-14","validThrough":"2026-12-19","opens":"00:00","closes":"00:00"},{"@type":"OpeningHoursSpecification","validFrom":"2026-12-21","validThrough":"2026-12-24","opens":"00:00","closes":"00:00"},{"@type":"OpeningHoursSpecification","validFrom":"2026-12-26","validThrough":"2026-12-26","opens":"00:00","closes":"00:00"},{"@type":"OpeningHoursSpecification","validFrom":"2026-12-28","validThrough":"2026-12-31","opens":"00:00","closes":"00:00"},{"@type":"OpeningHoursSpecification","validFrom":"2027-01-02","validThrough":"2027-01-02","opens":"00:00","closes":"00:00"},{"@type":"OpeningHoursSpecification","validFrom":"2027-01-04","validThrough":"2027-01-09","opens":"00:00","closes":"00:00"},{"@type":"OpeningHoursSpecification","validFrom":"2027-01-11","validThrough":"2027-01-16","opens":"00:00","closes":"00:00"},{"@type":"OpeningHoursSpecification","validFrom":"2027-01-18","validThrough":"2027-01-23","opens":"00:00","closes":"00:00"},{"@type":"OpeningHoursSpecification","validFrom":"2027-01-25","validThrough":"2027-01-30","opens":"00:00","closes":"00:00"},{"@type":"OpeningHoursSpecification","validFrom":"2027-02-01","validThrough":"2027-02-06","opens":"00:00","closes":"00:00"},{"@type":"OpeningHoursSpecification","validFrom":"2027-02-08","validThrough":"2027-02-13","opens":"00:00","closes":"00:00"},{"@type":"OpeningHoursSpecification","validFrom":"2027-02-15","validThrough":"2027-02-20","opens":"00:00","closes":"00:00"},{"@type":"OpeningHoursSpecification","validFrom":"2027-02-22","validThrough":"2027-02-27","opens":"00:00","closes":"00:00"},{"@type":"OpeningHoursSpecification","validFrom":"2027-03-01","validThrough":"2027-03-06","opens":"00:00","closes":"00:00"},{"@type":"OpeningHoursSpecification","validFrom":"2027-03-08","validThrough":"2027-03-13","opens":"00:00","closes":"00:00"},{"@type":"OpeningHoursSpecification","validFrom":"2027-03-15","validThrough":"2027-03-20","opens":"00:00","closes":"00:00"},{"@type":"OpeningHoursSpecification","validFrom":"2027-03-22","validThrough":"2027-03-27","opens":"00:00","closes":"00:00"},{"@type":"OpeningHoursSpecification","validFrom":"2027-03-29","validThrough":"2027-04-03","opens":"00:00","closes":"00:00"},{"@type":"OpeningHoursSpecification","validFrom":"2027-04-05","validThrough":"2027-04-10","opens":"00:00","closes":"00:00"},{"@type":"OpeningHoursSpecification","validFrom":"2027-04-12","validThrough":"2027-04-17","opens":"00:00","closes":"00:00"},{"@type":"OpeningHoursSpecification","validFrom":"2027-04-19","validThrough":"2027-04-24","opens":"00:00","closes":"00:00"},{"@type":"OpeningHoursSpecification","validFrom":"2027-04-26","validThrough":"2027-05-01","opens":"00:00","closes":"00:00"},{"@type":"OpeningHoursSpecification","validFrom":"2027-05-03","validThrough":"2027-05-08","opens":"00:00","closes":"00:00"},{"@type":"OpeningHoursSpecification","validFrom":"2027-05-10","validThrough":"2027-05-15","opens":"00:00","closes":"00:00"},{"@type":"OpeningHoursSpecification","validFrom":"2027-05-17","validThrough":"2027-05-22","opens":"00:00","closes":"00:00"},{"@type":"OpeningHoursSpecification","validFrom":"2027-05-24","validThrough":"2027-05-29","opens":"00:00","closes":"00:00"},{"@type":"OpeningHoursSpecification","validFrom":"2027-06-01","validThrough":"2027-06-05","opens":"00:00","closes":"00:00"},{"@type":"OpeningHoursSpecification","validFrom":"2027-06-07","validThrough":"2027-06-12","opens":"00:00","closes":"00:00"},{"@type":"OpeningHoursSpecification","validFrom":"2027-06-14","validThrough":"2027-06-19","opens":"00:00","closes":"00:00"},{"@type":"OpeningHoursSpecification","validFrom":"2027-06-21","validThrough":"2027-06-26","opens":"00:00","closes":"00:00"},{"@type":"OpeningHoursSpecification","validFrom":"2027-06-28","validThrough":"2027-07-03","opens":"00:00","closes":"00:00"},{"@type":"OpeningHoursSpecification","validFrom":"2027-07-05","validThrough":"2027-07-10","opens":"00:00","closes":"00:00"},{"@type":"OpeningHoursSpecification","validFrom":"2027-07-12","validThrough":"2027-07-17","opens":"00:00","closes":"00:00"},{"@type":"OpeningHoursSpecification","validFrom":"2027-07-19","validThrough":"2027-07-24","opens":"00:00","closes":"00:00"},{"@type":"OpeningHoursSpecification","validFrom":"2027-07-26","validThrough":"2027-07-31","opens":"00:00","closes":"00:00"},{"@type":"OpeningHoursSpecification","validFrom":"2027-08-02","validThrough":"2027-08-07","opens":"00:00","closes":"00:00"},{"@type":"OpeningHoursSpecification","validFrom":"2027-08-09","validThrough":"2027-08-14","opens":"00:00","closes":"00:00"},{"@type":"OpeningHoursSpecification","validFrom":"2027-08-16","validThrough":"2027-08-21","opens":"00:00","closes":"00:00"},{"@type":"OpeningHoursSpecification","validFrom":"2027-08-23","validThrough":"2027-08-28","opens":"00:00","closes":"00:00"},{"@type":"OpeningHoursSpecification","validFrom":"2027-08-30","validThrough":"2027-09-04","opens":"00:00","closes":"00:00"},{"@type":"OpeningHoursSpecification","validFrom":"2027-09-07","validThrough":"2027-09-11","opens":"00:00","closes":"00:00"},{"@type":"OpeningHoursSpecification","validFrom":"2027-09-13","validThrough":"2027-09-18","opens":"00:00","closes":"00:00"},{"@type":"OpeningHoursSpecification","validFrom":"2027-09-20","validThrough":"2027-09-25","opens":"00:00","closes":"00:00"},{"@type":"OpeningHoursSpecification","validFrom":"2027-09-27","validThrough":"2027-10-02","opens":"00:00","closes":"00:00"},{"@type":"OpeningHoursSpecification","validFrom":"2027-10-04","validThrough":"2027-10-09","opens":"00:00","closes":"00:00"},{"@type":"OpeningHoursSpecification","validFrom":"2027-10-11","validThrough":"2027-10-16","opens":"00:00","closes":"00:00"},{"@type":"OpeningHoursSpecification","validFrom":"2027-10-18","validThrough":"2027-10-23","opens":"00:00","closes":"00:00"},{"@type":"OpeningHoursSpecification","validFrom":"2027-10-25","validThrough":"2027-10-30","opens":"00:00","closes":"00:00"},{"@type":"OpeningHoursSpecification","validFrom":"2027-11-01","validThrough":"2027-11-05","opens":"00:00","closes":"00:00"}],"areaServed":[{"@type":"Place","address":{"@type":"PostalAddress","addressCountry":"US","addressRegion":"CA","addressLocality":"San Anselmo"}},{"@type":"Place","address":{"@type":"PostalAddress","addressCountry":"US","addressRegion":"CA","addressLocality":"San Rafael"}},{"@type":"Place","address":{"@type":"PostalAddress","addressCountry":"US","addressRegion":"CA","addressLocality":"Marinwood"}},{"@type":"Place","address":{"@type":"PostalAddress","addressCountry":"US","addressRegion":"CA","addressLocality":"Santa Venetia"}},{"@type":"Place","address":{"@type":"PostalAddress","addressCountry":"US","addressRegion":"CA","addressLocality":"Terra Linda"}},{"@type":"Place","address":{"@type":"PostalAddress","addressCountry":"US","addressRegion":"CA","addressLocality":"Kentfield"}},{"@type":"Place","address":{"@type":"PostalAddress","addressCountry":"US","addressRegion":"CA","addressLocality":"Greenbrae"}},{"@type":"Place","address":{"@type":"PostalAddress","addressCountry":"US","addressRegion":"CA","addressLocality":"Kent Woodlands"}},{"@type":"Place","address":{"@type":"PostalAddress","addressCountry":"US","addressRegion":"CA","addressLocality":"Mission Rafael"}},{"@type":"Place","address":{"@type":"PostalAddress","addressCountry":"US","addressRegion":"CA","addressLocality":"Tiburon"}},{"@type":"Place","address":{"@type":"PostalAddress","addressCountry":"US","addressRegion":"CA","addressLocality":"Bel Tiburon"}},{"@type":"Place","address":{"@type":"PostalAddress","addressCountry":"US","addressRegion":"CA","addressLocality":"Belvedere"}},{"@type":"Place","address":{"@type":"PostalAddress","addressCountry":"US","addressRegion":"CA","addressLocality":"Belvedere Tiburon"}},{"@type":"Place","address":{"@type":"PostalAddress","addressCountry":"US","addressRegion":"CA","addressLocality":"Fairfax"}}],"description":"San Marin Flowers is a family owned business. We have been serving Marin County for 35 years. And, we were honored to be voted by our customers \nBEST FLOWER SHOP IN MARIN 2017.. \nBEST FLOWER SHOP IN MARIN 2022 \n\nWe are committed to offering only the finest floral arrangements and gifts backed by service that is friendly and prompt. our customers are very important, and our staff is dedicated to making your experience a pleasant one. that is why we always go the extra mile to make your floral gif","sameAs":["https://www.facebook.com/sanmarinflowers","https://www.instagram.com/sanmarinflowers","https://x.com/sanmarinflowers","https://www.google.com/maps?cid=3130603364960078898","https://www.pinterest.com/sanmarinflowers","https://www.yelp.com/biz/san-marin-flowers-novato","https://www.bloomnation.com/florist/san-marin-flowers/"],"geo":{"@type":"GeoCoordinates","longitude":-122.6037067,"latitude":38.1227069},"hasMerchantReturnPolicy":{"@type":"MerchantReturnPolicy","applicableCountry":"US","returnPolicyCategory":"https://schema.org/MerchantReturnNotPermitted","merchantReturnLink":"https://sanmarinflowers.com/policies"},"hasShippingService":{"@type":"ShippingService","@id":"https://sanmarinflowers.com/#delivery-service","name":"Local Hand Delivery","description":"Fresh flowers hand-delivered by your local florist","fulfillmentType":"FulfillmentTypeDelivery","handlingTime":{"@type":"ServicePeriod","businessDays":["Monday","Tuesday","Wednesday","Thursday","Frid
86ay","Saturday"],"duration":{"@type":"QuantitativeValue","minValue":0,"maxValue":0,"unitCode":"DAY"},"cutoffTime":"11:00:00-07:00"},"shippingConditions":[{"@type":"ShippingConditions","shippingDestination":{"@type":"DefinedRegion","addressCountry":"US"},"shippingRate":{"@type":"MonetaryAmount","value":"15","currency":"USD"},"transitTime":{"@type":"ServicePeriod","duration":{"@type":"QuantitativeValue","minValue":0,"maxValue":0,"unitCode":"DAY"}}}]},"aggregateRating":{"@type":"AggregateRating","ratingValue":"4.7739","reviewCount":"283","worstRating":"1","bestRating":"5","url":"https://www.bloomnation.com/florist/san-marin-flowers/reviews/"}}</script>
86 87 88<link rel="stylesheet" href="https://promfiles.com/bloom/dist/js/bloomnation/review-photos.8ea4dd02.css" /> 89<link rel="stylesheet" href="https://promfiles.com/bloom/dist/frontend/premiumsites/bloom/css/premiumsites.min.77fefe30.css" media="all" /> 90<link rel="preload" as="style" href="https://promfiles.com/bloom/dist/frontend/base/default/css/popup.0c21c495.css" onload="this.onload=null;this.rel='stylesheet'" /><noscript><link rel="stylesheet" href="https://promfiles.com/bloom/dist/frontend/base/default/css/popup.0c21c495.css" /></noscript> 91<link rel="preload" as="style" href="https://promfiles.com/bloom/dist/frontend/premiumsites/bloom/css/components.min.b97c0703.css" onload="this.onload=null;this.rel='stylesheet'" /><noscript><link rel="stylesheet" href="https://promfiles.com/bloom/dist/frontend/premiumsites/bloom/css/components.min.b97c0703.css" /></noscript>
92<script src="https://promfiles.com/bloom/dist/js/runtime.8353d46c.js"></script>
vendor: 1 bytes, line 92
92
93<script src="https://promfiles.com/bloom/dist/js/lib/ccard.0b909381.js"></script>
vendor: 1 bytes, line 93
93
94<script src="https://promfiles.com/bloom/dist/js/bloomnation/global.612205a7.js"></script>
vendor: 1 bytes, line 94
94
95<script src="https://promfiles.com/bloom/dist/js/bloomnation/forms/clear-validation-state.cb4122c4.js"></script>
vendor: 1 bytes, line 95
95
96<script src="https://promfiles.com/bloom/dist/js/bloomnation/ui/collapse.0ecc09a4.js"></script>
vendor: 1 bytes, line 96
96
97<script src="https://promfiles.com/bloom/dist/frontend/premiumsites/bloom/runtime.ceb56166.js"></script>
vendor: 1 bytes, line 97
97
98<script src="https://promfiles.com/bloom/dist/js/popup/popup.eace3136.js" defer></script>
vendor: 1 bytes, line 98
98
99<script src="https://promfiles.com/bloom/dist/js/bloomnation/review-photos.59481161.js" defer></script>
vendor: 1 bytes, line 99
99
100<script src="https://promfiles.com/bloom/dist/frontend/premiumsites/bloom/js/main-nav.05e9f99c.js" defer></script>
vendor: 1 bytes, line 100
100
101<script src="https://promfiles.com/bloom/dist/frontend/premiumsites/bloom/js/wm-slider.2c143ae6.js" defer></script>
101 102 103 104 105 106 <link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Lato:300,400,700&display=swap" media="print" onload="this.media='all'"> 107 108 <style id="bn__site_theme"> 109 110 :root { 111 --primary-font: Lato, sans-serif; 112 --site-max-width: 1130px; 113 --body-bg: rgb(242, 234, 226); 114 --body-text-color: rgb(51, 51, 51); 115 --text-action-color: rgb(51, 51, 51); 116 --button-text-color: rgb(255, 255, 255); 117 --element-action-color: rgb(73, 30, 48); 118 --header-bg: rgb(194, 166, 149); 119 --header-text-color: rgb(49, 62, 43); 120 --footer-bg: rgba(0, 0, 0, 0); 121 --footer-text-color: rgb(51, 51, 51); 122 --menu-color: rgba(0, 0, 0, 0); 123 --my-account-color: rgb(49, 62, 43); 124 --color-light: rgba(0, 0, 0, 0); 125 --card-action-color: rgb(51, 51, 51); 126 --popular-pick-action-color: rgb(255, 255, 255); 127 --decorative-font: Lato, sans-serif; 128 --header-address-color: rgb(49, 62, 43); 129 --body-text-color-active: #4c4c4c; 130 --text-action-color-active: #4c4c4c; 131 --element-action-color-active: #623749; 132 --header-text-color-active: #4a5744; 133 --footer-text-color-active: #4c4c4c; 134 --card-action-color-active: #4c4c4c; 135 --popular-pick-action-color-active: #e6e6e6; 136 } 137 138 body { 139 font-family: var(--primary-font); 140 } 141 142 body:not(.cms-page-view) { 143 background: var(--body-bg); 144 } 145 146 .row { 147 max-width: var(--site-max-width); 148 } 149 150 a, 151 a:active, 152 a:visited { 153 color: var(--text-action-color); 154 } 155 156 a:hover { 157 color: var(--text-action-color-active); 158 } 159 160 #header { 161 background: var(--header-bg); 162 } 163 164 .my-account-mob .header-cartBtn { 165 background-color: transparent !important; 166 } 167 168 .header-cartBtn .header-cartIcon { 169 color: var(--header-icon-color, #333); 170 } 171 172 #header .header-nav.headerNav-wrapper { 173 background: var(--menu-color); 174 } 175 176 .information-heading .infoHeading-item { 177 color: var(--header-address-color); 178 } 179 180 .nav-itemText { 181 color: var(--header-text-color); 182 } 183 184 .nav-itemText:hover, 185 .nav-itemWrapper:hover, 186 .nav-item:hover { 187 color: var(--header-text-color-active); 188 } 189 190 .note-msg, 191 .listings .note-msg, 192 ul.disc, 193 .listings-sorting_options span, 194 span.pagination-page_count, 195 .designerschoice-index-view #content, 196 a.itemListings-subheaderLink, 197 .breadcrumb>li, 198 .breadcrumb li a, 199 ul.disc li a { 200 color: var(--body-text-color); 201 } 202 203 a.itemListings-subheaderLink:hover, 204 .breadcrumb>li:hover, 205 .breadcrumb li a:hover, 206 ul.disc li a:hover { 207 color: var(--body-text-color-active); 208 } 209 210 .cms-page-view .breadcrumb>li, 211 .cms-page-view .breadcrumb li a { 212 color: inherit; 213 } 214 215 .cms-page-view .breadcrumb li a:visited, 216 .cms-page-view .breadcrumb li a:active, 217 .cms-page-view .breadcrumb li a:hover { 218 color: inherit; 219 } 220 221 h1.banners-header { 222 color: var(--body-text-color); 223 } 224 225 h2.itemListings-header { 226 color: var(--body-text-color); 227 } 228 229 h3.itemListings-subheader { 230 color: var(--body-text-color); 231 } 232 233 .cms-index-aboutus #content, 234 .cms-index-aboutus #content h1[itemprop=name], 235 .cms-index-aboutus #content span[itemprop=description], 236 .cms-index-faq #content, 237 .cms-index-faq #content h1[itemprop=name], 238 .cms-index-faq #content span[itemprop=description], 239 .about-us-nlp__header, 240 .product_details-about-designer h3, 241 .product_details-about-designer span { 242 color: var(--body-text-color); 243 } 244 245 .cms-index-gallery #content, 246 .cms-index-gallery #content a { 247 color: var(--body-text-color); 248 } 249 250 .cms-index-gallery #content a:hover { 251 color: var(--body-text-color-active); 252 } 253 254 .listings .sidebar-sort > div.sidebar { 255 background: var(--color-light, #fff); 256 } 257 258 .listings .sidebar-sort > div.sidebar-best_selling { 259 background: var(--color-light, #fff); 260 } 261 262 h1.catalog-header { 263 color: var(--body-text-color); 264 } 265 .pagination > .active > a, 266 .pagination > .active > span, 267 .pagination > .active > a:hover, 268 .pagination > .active > span:hover, 269 .pagination > .active > a:focus, 270 .pagination > .active > span:focus { 271 border-color: var(--element-action-color); 272 color: var(--button-text-color); 273 background: var(--element-action-color); 274 } 275 276 .pagination > li > a, 277 .pagination > li > span, 278 .pagination > li > a:hover, 279 .pagination > li > span:hover { 280 color: var(--text-action-color); 281 } 282 a.search-results-empty__btn, 283 .btn-success, 284 .btn-update, 285 .btn-continue { 286 border-color: var(--element-action-color); 287 color: var(--button-text-color); 288 background: var(--element-action-color); 289 } 290 291 a.search-results-empty__btn:hover, 292 .btn-success:hover, 293 .btn-update:hover, 294 .btn-continue:hover, 295 .btn-success:focus, 296 .btn-success:active { 297 border-color: var(--element-action-color-active); 298 color: var(--button-text-color); 299 background: var(--element-action-color-active); 300 } 301 #footer { 302 background: var(--footer-bg); 303 color: var(--footer-text-color); 304 } 305 306 .footer-social_media { 307 background: var(--footer-bg); 308 } 309 310 section#footer #super-footer a, 311 section#footer #super-footer p, 312 section#footer a { 313 color: var(--footer-text-color); 314 } 315 316 section#footer #super-footer a:hover, 317 section#footer a:hover { 318 color: var(--footer-text-color-active); 319 } 320 321 #my-account_menu-label { 322 color: var(--my-account-color, #333); 323 } 324 325 .my-account-icon { 326 color: var(--header-icon-color, #333); 327 } 328 329 .link-default, 330 .link-default:visited, 331 .link-default:active, 332 .sidebar a, 333 .sidebar a:active, 334 .sidebar a:visited, 335 .delivery__content a, 336 .delivery__content a:active, 337 .delivery__content a:visited { 338 color: var(--card-action-color, #428bca); 339 } 340 341 a.link-default:hover, 342 .sidebar a:hover, 343 .delivery__content a:hover { 344 color: var(--card-action-color-active, #2a6496); 345 } 346 347 a.social__icon-link:hover { 348 color: var(--card-action-color-active, #2a6496); 349 } 350 351 .poppick_item a, 352 .poppick_item a:active, 353 .poppick_item a:visited { 354 color: var(--popular-pick-action-color, #428bca); 355 } 356 357 .poppick_item a:hover { 358 color: var(--popular-pick-action-color-active, #2a6496); 359 } 360 361 .social__icon-link, 362 .social__icon-link:active, 363 .social__icon-link:visited { 364 color: inherit; 365 } 366 367 .subscription-list-page__title, 368 .subscription-list-page__description, 369 .subscription-customize-form-section, 370 .subscription-customize-form-terms-section, 371 .subscription-customize-form__disclaimer, 372 .product-list__additional-info, 373 .subscription-customize-form__header { 374 color: var(--body-text-color); 375 } 376 377 .member_of_bloomnation-logo { 378 background: rgba(255,255,255,0.7); 379 border-radius: 12px; 380 } 381 </style> 382 383 <style> 384 :root { 385 --bn--primary-color: ; 386 --bn--secondary-color: ; 387 --bn--background-color: ; 388 --bn--mobile-menu-text-color: ; 389 } 390 391 /* Primary Color Classes */ 392 393 /* Secondary Color Classes */ 394
395 /* Background Color Classes */ 396 397 /* Background Color Classes */ 398 </style> 399 400 <style data-id="vendor-css"> 401 @import url('//fonts.googleapis.com/css?family=Lato:300,400,700');body{background-color:#f2eae2;font-family:'Lato',sans-serif}a{color:#333}a:hover{color:#5d5d5d}a:active,a:focus{color:#5d5d5d !important}.btn-success,.btn-success:focus,.btn-success:active,.btn-continue,.btn-update{background:#491e30;border:none;color:#fff !important}.btn-success:hover{background:#612840}.btn-checkout{background-color:#491e30 !important;color:#fff}.content-innerContainer.row{max-width:none !important;width:100%;padding:0 !important}#slides{z-index:999999999}.content-banners.banners-wrapper,.banners-innerContainer.row{max-width:none !important;width:100% !important;padding:0 !important}.content-banners .col-sm-12{padding-left:0 !important;padding-right:0 !important}.banners-innerContainer.row #slides{max-width:none !important;width:100% !important;padding:0 !important;overflow:visible !important}.slidesjs-container{padding:0 !important;max-width:none !important;width:100% !important}.cms-index-index #content h1{z-index:9999}.slidesjs-pagination{visibility:hidden;margin-top:-170px}@media only screen and (max-width:1635px){.slidesjs-pagination{margin-top:-135px}}@media only screen and (max-width:1320px){.slidesjs-pagination{margin-top:-105px}}@media only screen and (max-width:970px){.slidesjs-pagination{margin-top:-80px}}@media only screen and (max-width:710px){.slidesjs-pagination{margin-top:-50px}}#header{min-height:0;max-width:none;height:192px}#header .row{max-width:1400px}.information-heading{display:none}.header-logo{position:relative;top:-20px;left:0;z-index:9999;max-width:250px}.company-logo img{max-width:250px;width:232px;margin:15px auto 0 auto}.header-cart{float:right;margin-top:0;z-index:9999;max-width:206px}.cart_button i{color:#313e2b}#header .header-cart .cart_button{background:transparent;border:1px solid #313e2b}.my-account-button-text{color:#313e2b !important}.header-nav{position:absolute;top:150px;right:200px;background:transparent}.nav-toggle i,.nav-item,.nav-show,.nav-hide,.nav-itemText,.nav-item--subnav{color:#313e2b}.nav-itemText,.my-account-button-text{font-size:15px;font-weight:700 !important}.nav-item:hover{background:transparent !important}.navigation{text-align:right}.nav-item--subnav:hover{background:#efefef !important}.bar-quick_sort .search_bar>div,.bar-quick_select,.search_bar{background:#9a7d82}.bar-quick_select a,.bar-quick_select span{color:#fff}.bar-quick_sort .search_bar button{background:#491e30;color:#fff}.listings .sidebar-sort>div.sidebar,.sidebar-title{background:transparent}.listings .sidebar-sort>div.sidebar,.sidebar-best_selling{border-right:1px solid #491e30}.featured_listings{background:#9a7d82}.featured_listings h3,.featured_listings a{color:#fff}.pagination>.active>a,.pagination>.active>span,.pagination>.active>a:hover,.pagination>.active>span:hover,.pagination>.active>a:focus,.pagination>.active>span:focus{background-color:#491e30;border-color:#491e30;color:#fff !important}.pagination>li>a,.pagination>li>span{color:#491e30 !important}.infoItem-header{font-weight:bold !important}.social_media.footer-social_media{margin-bottom:2% !important;margin-top:50px !important}@media only screen and (min-width:768px){.social_media{text-align:center;white-space:normal}.social_media .row>a{float:none;width:auto;display:inline-block}.footer-social_media{margin:0 auto !important}}.social_media{text-align:center;white-space:normal}.footer-social_media{background:transparent;border-top:1px solid #491e30;border-bottom:1px solid #491e30}.footerImgs-item{width:33%}@media only screen and (max-width:1000px){.header-nav{right:0}}@media only screen and (max-width:768px){#header{height:auto}.header-logo,.information-heading,.header-cart{width:100%;margin:0 auto;max-width:none;position:static}.header-nav{position:static;margin:0 auto}.navigation{text-align:center}.company-logo img{margin:-42px auto 0 auto}.header-cart{margin:-10px auto -4px auto}.nav-item:hover{background:rgba(255,255,255,0.3) !important}.cart_text{color:#000}#slides{margin-top:-47px}}@media only screen and (max-width:767px){.footerImgs-item{width:100%}}@media only screen and (max-width:414px){.company-logo img{max-width:230px;width:230px}.header-cart{margin:-15px auto -6px auto}}@media only screen and (max-width:375px){.company-logo img{max-width:210px;width:210px}.header-cart{margin:-25px auto 8px auto}} </style> 402 403<link rel="stylesheet" href="https://promfiles.com/bloom/dist/frontend/premiumsites/bloom/css/website-manager.min.5a94f356.css" media="all"> 404 405 <!-- [START] Analytics Content: [default] --> 406<!-- Google Tag Manager -->
407<script>(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start': 408new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0], 409j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src= 410'https://www.googletagmanager.com/gtm.js?id='+i+dl+ '>m_cookies_win=x';f.parentNode.insertBefore(j,f); 411})(window,document,'script','dataLayer','GTM-TLR3ZL8'); 412window.dataLayer = window.dataLayer || []; 413dataLayer.push({"ga4PsId":"G-RWY7QD072S","vendorAccountId":"vndr_0l8zz2FfUjfo4uJB"}); var pageMetadataEventObj = { 414 'event': 'pageMetadata', 415 'title': document.title, 416 'path': location.pathname, 417 'url': location.href, 418 'referrer': document.referrer, 419 'search': location.search, 420 'visitedDomain': 'sanmarinflowers.bloomnation.com', 421 'login': 'notLoggedIn' 422 }; pageMetadataEventObj['vendorDomain'] = 'sanmarinflowers.com'; window.dataLayer.push(pageMetadataEventObj);window.dataLayer = window.dataLayer || []; 423dataLayer.push([]); 424</script>
424 425<!-- End Google Tag Manager --> 426 <!-- [END] Analytics Content: [default] -->
427<script> 428 //<![CDATA[ 429 var FORM_KEY = (document.cookie.match(/(?:^|;\s*)_csrf=([^;]*)/) || [])[1] || ''; 430 //]]> 431</script>
431 432 433 <link rel="stylesheet" href="//fonts.googleapis.com/css2?family=Material+Symbols+Outlined:opsz,wght,FILL,GRAD@24,300,0,0" media="print" onload="this.media='all'"> 434 <meta name="google-site-verification" content="WRf84sAwDZsNzqv2AeQhzmqFktts_3GEBrdM1cn-m-4" /> 435 436<!-- [START] Custom HTML --><!-- [END] Custom HTML --></head> 437<body class=" cms-page-view cms-accessibility-statement vendor-6661 bloom"> 438 439 <a class="skip-to-mp" href="https://www.bloomnation.com/florist/san-marin-flowers/?nav=premium-accessibility" target="_self" rel="nofollow">For <abbr title="Americans with Disabilities Act">ADA</abbr> accessible experience, please visit https://www.bloomnation.com/florist/san-marin-flowers/?nav=premium-accessibility</a> 440
441<script> 442 (function () { 443 function ready(callback) { 444 if (document.readyState === 'loading') { 445 document.addEventListener('DOMContentLoaded', callback); 446 } else { 447 callback(); 448 } 449 } 450 451 /** 452 * Height of an element that may still be display:none. 453 * 454 * getComputedStyle() reports the declared height, which is 'auto' whenever the stylesheet does 455 * not pin one â and parseInt('auto') is NaN. jQuery's .css('height') avoided that by briefly 456 * laying the element out off-screen, so do the same. layout.css currently does pin 457 * #header-accessibilityPopup at 205px, which is the only reason the simple read would work 458 * today; this keeps working if that ever changes. 459 */ 460 function hiddenHeight(element) { 461 if (window.getComputedStyle(element).display !== 'none') { 462 return element.offsetHeight; 463 } 464 465 var style = element.style; 466 var saved = { 467 position: style.position, 468 visibility: style.visibility, 469 display: style.display 470 }; 471 472 style.position = 'absolute'; 473 style.visibility = 'hidden'; 474 style.display = 'block'; 475 476 var height = element.offsetHeight; 477 478 style.position = saved.position; 479 style.visibility = saved.visibility; 480 style.display = saved.display; 481 482 return height; 483 } 484 485 ready(function () { 486 var accessibilityBtn = document.querySelector('.accessibility-widget [data-accessibility-btn]'); 487 var accessibilityPopup = document.querySelector('.accessibility-widget [data-accessibility-popup]'); 488 var accessibilityOverlay = document.querySelector('.accessibility-widget-overlay'); 489 490 if (!accessibilityBtn || !accessibilityPopup || !accessibilityOverlay) { 491 return; 492 } 493 494 // Must be the exact negative of the container height, so the popup tucks fully out of sight. 495 var popupHiddenHeight = hiddenHeight(accessibilityPopup) * -1; 496 var showHide = { attribute: 'top', show: '0px', hide: popupHiddenHeight + 'px' }; 497 498 function checkPopupVisible() { 499 return window.getComputedStyle(accessibilityPopup)[showHide.attribute] === showHide.show; 500 } 501 502 function togglePopup(popup, button, action, data) { 503 popup.style[data.attribute] = data[action]; 504 var show = action === 'show'; 505 button.setAttribute('aria-expanded', String(show)); 506 accessibilityOverlay.style.display = show ? 'block' : 'none'; 507 } 508 509 function hideAccessibilityPopup() { 510 togglePopup(accessibilityPopup, accessibilityBtn, 'hide', showHide); 511 } 512 513 function showAccessibilityPopup() { 514 accessibilityPopup.style.display = 'block'; 515 // Ensure the transition runs after the display:block above has been applied. 516 setTimeout(function () { 517 togglePopup(accessibilityPopup, accessibilityBtn, 'show', showHide); 518 }, 0); 519 } 520 521 function handleClickOutsidePopup() { 522 if (checkPopupVisible()) { 523 hideAccessibilityPopup(); 524 } 525 } 526 527 accessibilityBtn.addEventListener('click', function () { 528 if (checkPopupVisible()) { 529 hideAccessibilityPopup(); 530 } else { 531 showAccessibilityPopup(); 532 } 533 }); 534 535 accessibilityPopup.addEventListener('click', hideAccessibilityPopup); 536 537 accessibilityPopup.addEventListener('transitionend', function () { 538 if (!checkPopupVisible()) { 539 accessibilityPopup.style.display = 'none'; 540 } 541 }); 542 543 accessibilityOverlay.addEventListener('click', handleClickOutsidePopup); 544 }); 545 })(); 546</script>
546 547 548 549<div class="accessibility-widget"> 550 <div class="accessibility-widget-overlay" aria-hidden="true"></div> 551 <div class="header-accessibilityInnerContainer"> 552 <button 553 id="header-accessibilityPopupBtn" 554 aria-haspopup="true" 555 aria-expanded="false" 556 aria-controls="header-accessibilityPopup" 557 aria-label="Accessibility Information" 558 data-accessibility-btn 559 > 560 <svg class="ada-icon-dot" width="42" height="42" viewBox="0 0 42 42" fill="none" xmlns="http://www.w3.org/2000/svg"> 561 <circle cx="21" cy="21" r="21" fill="#017AFF"/> 562 <path d="M20.7462 7C22.039 7 23.0857 8.03517 23.0857 9.30595C23.0857 10.585 22.039 11.6201 20.7462 11.6201C19.4624 11.6201 18.416 10.5846 18.4153 9.30595C18.4153 8.03517 19.4617 7 20.7462 7ZM30.8597 14.4567L23.9163 15.3247L23.9192 22.201L27.283 33.31C27.4607 34.0115 27.0344 34.7133 26.333 34.8866C25.6319 35.0599 24.9149 34.6779 24.7383 33.9764L21.2923 23.8639H20.2311L17.061 34.1862C16.7957 34.8598 16.0374 35.1695 15.3573 34.907C14.6838 34.6471 14.2726 33.8887 14.5383 33.2152L17.45 22.3134V15.3247L11.0532 14.4635C10.3967 14.4113 9.95079 13.8394 10.0044 13.1899C10.0525 12.5354 10.6497 12.0495 11.3059 12.1017L19.0777 12.7638H22.486L30.7619 12.0888C31.4196 12.0627 31.9769 12.5687 31.999 13.2243C32.0254 13.8752 31.5176 14.4299 30.8597 14.4567Z" fill="white"/> 563 </svg> 564 <svg class="ada-icon-tab" width="42" height="42" viewBox="0 0 42 42" fill="none" xmlns="http://www.w3.org/2000/svg"> 565 <path fill-rule="evenodd" clip-rule="evenodd" d="M42 22.4583C42 33.2509 32.598 42 21 42C9.40202 42 0 33.2509 0 22.4583V21V0H21H42V21V22.4583Z" fill="#017AFF"/> 566 <path d="M20.7462 7C22.039 7 23.0857 8.03517 23.0857 9.30595C23.0857 10.585 22.039 11.6201 20.7462 11.6201C19.4624 11.6201 18.416 10.5846 18.4153 9.30595C18.4153 8.03517 19.4617 7 20.7462 7ZM30.8597 14.4567L23.9163 15.3247L23.9192 22.201L27.283 33.31C27.4607 34.0115 27.0344 34.7133 26.333 34.8866C25.6319 35.0599 24.9149 34.6779 24.7383 33.9764L21.2923 23.8639H20.2311L17.061 34.1862C16.7957 34.8598 16.0374 35.1695 15.3573 34.907C14.6838 34.6471 14.2726 33.8887 14.5383 33.2152L17.45 22.3134V15.3247L11.0532 14.4635C10.3967 14.4113 9.95079 13.8394 10.0044 13.1899C10.0525 12.5354 10.6497 12.0495 11.3059 12.1017L19.0777 12.7638H22.486L30.7619 12.0888C31.4196 12.0627 31.9769 12.5687 31.999 13.2243C32.0254 13.8752 31.5176 14.4299 30.8597 14.4567Z" fill="white"/> 567 </svg> 568 </button> 569 <aside id="header-accessibilityPopup" aria-labelledby="header-accessibilityPopupBtn" data-accessibility-popup> 570 <p>For an accessible ADA experience, please <a href="https://www.bloomnation.com/florist/san-marin-flowers/?nav=premium-accessibility" rel="nofollow">visit our Marketplace.</a></p> 571 <p><a href="https://sanmarinflowers.com/accessibility-statement/">Visit our Accessibility page</a> for further assistance or to learn more about our efforts.</p> 572 </aside> 573 </div> 574</div> 575 576 577 <!-- [START] Analytics Content: [default] --> 578<!-- Google Tag Manager (noscript) --> 579<noscript><iframe src="https://www.googletagmanager.com/ns.html?id=GTM-TLR3ZL8>m_cookies_win=x%22" 580height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript> 581<!-- End Google Tag Manager (noscript) --> 582 <!-- [END] Analytics Content: [default] --> 583 584
585<script> 586 (function () { 587 /* 588 * A page restored from the back/forward cache is not re-executed, so the cart count, the 589 * logged-in state and any flash messages would be whatever they were when the visitor left. 590 * PageTransitionEvent.persisted is true only for that restore, so reload to rebuild the page 591 * server-side. This reads the native event directly; the jQuery version had to unwrap 592 * event.originalEvent to reach the same flag. 593 */ 594 window.addEventListener('pageshow', function (event) { 595 if (event.persisted) { 596 window.location.reload(); 597 } 598 }); 599 600 /* 601 * Kill switch that freezes navigation: while window.forceDisableAllLinks is set, every 602 * anchor without a force-redirect attribute stops navigating. Nothing in this repository 603 * sets the flag, so this does nothing unless a script injected into the page turns it on. 604 * 605 * The jQuery version bound a handler to every anchor present at DOM ready and did nothing at 606 * all on the flag-is-off path. One listener costs nothing while the flag is off and also 607 * covers anchors added after DOM ready â but it has to run in the capture phase to match 608 * the old reach: dropdown-nav.js stops propagation on every .dropdown-toggle and 609 * .dropdown-content click, as does toggleDropdown() in topMobile.phtml, so a listener 610 * delegated on the bubble phase would never see the desktop subnav links at all. 611 */ 612 document.addEventListener('click', function (event) { 613 if (!window.forceDisableAllLinks) { 614 return; 615 } 616 617 var target = event.target; 618 var link = target && typeof target.closest === 'function' ? target.closest('a') : null; 619 620 if (!link || link.hasAttribute('force-redirect')) { 621 return; 622 } 623 624 event.preventDefault(); 625 // Belt and braces: preventDefault alone has been seen to let a navigation through here. 626 link.setAttribute('href', '#'); 627 }, true); 628 })(); 629</script>
629 630 631<header id="header_mobile" class="header-mobile visible-xs text-center"> 632 <table class="header-mobile-grid"> 633 <tbody> 634 <tr> 635 <td class="menu-cell"> 636 <div class="menu-container"> 637 638<nav class="navigation-mobile-wrapper"> 639 <div class="navToggle-container nav-itemWrapper nav-itemWrapper--navToggle text-left"> 640 <!-- Nav Toggle --> 641 <button 642 id="navToggleMobile" 643 class="nav-toggle-mobile nav-item nav-item-mobile nav-item--navToggle text-center" 644 aria-controls="navigationMobile" 645 aria-expanded="false" 646 title="Main Navigation"> 647 <i class="fa fa-reorder"></i> 648 </button> 649 </div> 650 <ul class="navigation col-md-12 navigation-mobile" id="navigationMobile"> 651 <li class="nav-itemWrapper text-right"> 652 653 <a href="https://sanmarinflowers.com/customer/account/create/" class="nav-item nav-item-mobile account-link"> 654 <span class="nav-itemText mobile-menu-text-color">Sign Up</span> 655 </a> 656 <span class="nav-itemText mobile-menu-text-color sign-up-log-in-separator">/</span> 657 <a href="https://sanmarinflowers.com/customer/account/login/" class="nav-item nav-item-mobile account-link"> 658 <span class="nav-itemText mobile-menu-text-color">Log in</span> 659 </a> 660 661 </li> 662 <li class="nav-itemWrapper text-left"> 663 <a class="nav-item" href="https://sanmarinflowers.com/novato-florist-flower-delivery/" target="_self"> 664 <span class="nav-itemText mobile-menu-text-color">Shop</span> 665 </a> 666 </li> 667 <li class="nav-itemWrapper text-left"> 668 <a class="nav-item" href="https://sanmarinflowers.com/novato-florist-flower-delivery/occasions/sympathy-and-funeral/" target="_self"> 669 <span class="nav-itemText mobile-menu-text-color">Sympathy</span> 670 </a> 671 </li> 672 <li class="dropdown nav-dropdown nav-itemWrapper nav-itemWrapper--dropdown text-left"> 673 <a class="dropdown-toggle nav-item nav-item-mobile nav-item--dropdown" role="button" data-target="#" data-toggle="dropdown"> 674 <span class="nav-itemText mobile-menu-text-color">Wedding ▾</span> 675 </a> 676 <ul class="subnav dropdown-menu header-subnav" role="menu"> 677 <li class="subnav-itemWrapper text-left"> 678 <a class="nav-item nav-item-mobile nav-item--subnav text-left" href="https://sanmarinflowers.com/cms/index/gallery/" target="_self"> 679 <span class="nav-itemText mobile-menu-text-color">Gallery</span> 680 </a> 681 </li> 682 <li class="subnav-itemWrapper text-left"> 683 <a class="nav-item nav-item-mobile nav-item--subnav text-left" href="https://sanmarinflowers.com/consultation/" target="_self"> 684 <span class="nav-itemText mobile-menu-text-color">Consultation</span> 685 </a> 686 </li> 687 </ul> 688 </li> 689 <li class="dropdown nav-dropdown nav-itemWrapper nav-itemWrapper--dropdown text-left"> 690 <a class="dropdown-toggle nav-item nav-item-mobile nav-item--dropdown" role="button" data-target="#" data-toggle="dropdown"> 691 <span class="nav-itemText mobile-menu-text-color">Occasions ▾</span> 692 </a> 693 <ul class="subnav dropdown-menu header-subnav" role="menu"> 694 <li class="subnav-itemWrapper text-left"> 695 <a class="nav-item nav-item-mobile nav-item--subnav text-left" href="https://sanmarinflowers.com/novato-florist-flower-delivery/valentine-s-day-flowers/" target="_self">
696 <span class="nav-itemText mobile-menu-text-color">Valentine's Day</span> 697 </a> 698 </li> 699 <li class="subnav-itemWrapper text-left"> 700 <a class="nav-item nav-item-mobile nav-item--subnav text-left" href="https://sanmarinflowers.com/novato-florist-flower-delivery/mother-s-day-flowers/" target="_self"> 701 <span class="nav-itemText mobile-menu-text-color">Mother's Day</span> 702 </a> 703 </li> 704 <li class="subnav-itemWrapper text-left"> 705 <a class="nav-item nav-item-mobile nav-item--subnav text-left" href="https://sanmarinflowers.com/novato-florist-flower-delivery/occasions/autumn/" target="_self"> 706 <span class="nav-itemText mobile-menu-text-color">Autumn</span> 707 </a> 708 </li> 709 <li class="subnav-itemWrapper text-left"> 710 <a class="nav-item nav-item-mobile nav-item--subnav text-left" href="https://sanmarinflowers.com/novato-florist-flower-delivery/occasions/thanks-giving/" target="_self"> 711 <span class="nav-itemText mobile-menu-text-color">Thanksgiving</span> 712 </a> 713 </li> 714 <li class="subnav-itemWrapper text-left"> 715 <a class="nav-item nav-item-mobile nav-item--subnav text-left" href="https://sanmarinflowers.com/novato-florist-flower-delivery/occasions/christmas/" target="_self"> 716 <span class="nav-itemText mobile-menu-text-color">Christmas</span> 717 </a> 718 </li> 719 <li class="subnav-itemWrapper text-left"> 720 <a class="nav-item nav-item-mobile nav-item--subnav text-left" href="https://sanmarinflowers.com/novato-florist-flower-delivery/anniversary-flowers/" target="_self"> 721 <span class="nav-itemText mobile-menu-text-color">Anniversary</span> 722 </a> 723 </li> 724 <li class="subnav-itemWrapper text-left"> 725 <a class="nav-item nav-item-mobile nav-item--subnav text-left" href="https://sanmarinflowers.com/novato-florist-flower-delivery/autumn-flowers/" target="_self"> 726 <span class="nav-itemText mobile-menu-text-color">Autumn</span> 727 </a> 728 </li> 729 <li class="subnav-itemWrapper text-left"> 730 <a class="nav-item nav-item-mobile nav-item--subnav text-left" href="https://sanmarinflowers.com/novato-florist-flower-delivery/birthday-flowers/" target="_self"> 731 <span class="nav-itemText mobile-menu-text-color">Birthday</span> 732 </a> 733 </li> 734 <li class="subnav-itemWrapper text-left"> 735 <a class="nav-item nav-item-mobile nav-item--subnav text-left" href="https://sanmarinflowers.com/novato-florist-flower-delivery/boss-s-day-flowers/" target="_self"> 736 <span class="nav-itemText mobile-menu-text-color">Boss's Day </span> 737 </a> 738 </li> 739 <li class="subnav-itemWrapper text-left"> 740 <a class="nav-item nav-item-mobile nav-item--subnav text-left" href="https://sanmarinflowers.com/novato-florist-flower-delivery/breast-cancer-awareness-month-flowers/" target="_self">
741 <span class="nav-itemText mobile-menu-text-color">Breast Cancer Awareness Month</span> 742 </a> 743 </li> 744 <li class="subnav-itemWrapper text-left"> 745 <a class="nav-item nav-item-mobile nav-item--subnav text-left" href="https://sanmarinflowers.com/novato-florist-flower-delivery/congrats-flowers/" target="_self"> 746 <span class="nav-itemText mobile-menu-text-color">Congrats</span> 747 </a> 748 </li> 749 <li class="subnav-itemWrapper text-left"> 750 <a class="nav-item nav-item-mobile nav-item--subnav text-left" href="https://sanmarinflowers.com/novato-florist-flower-delivery/get-well-flowers/" target="_self"> 751 <span class="nav-itemText mobile-menu-text-color">Get Well</span> 752 </a> 753 </li> 754 <li class="subnav-itemWrapper text-left"> 755 <a class="nav-item nav-item-mobile nav-item--subnav text-left" href="https://sanmarinflowers.com/novato-florist-flower-delivery/gift-sets-flowers/" target="_self"> 756 <span class="nav-itemText mobile-menu-text-color">Gift Sets</span> 757 </a> 758 </li> 759 <li class="subnav-itemWrapper text-left"> 760 <a class="nav-item nav-item-mobile nav-item--subnav text-left" href="https://sanmarinflowers.com/novato-florist-flower-delivery/halloween-flowers/" target="_self"> 761 <span class="nav-itemText mobile-menu-text-color">Halloween</span> 762 </a> 763 </li> 764 <li class="subnav-itemWrapper text-left"> 765 <a class="nav-item nav-item-mobile nav-item--subnav text-left" href="https://sanmarinflowers.com/novato-florist-flower-delivery/i-m-sorry-flowers/" target="_self"> 766 <span class="nav-itemText mobile-menu-text-color">I'm Sorry</span> 767 </a> 768 </li> 769 <li class="subnav-itemWrapper text-left"> 770 <a class="nav-item nav-item-mobile nav-item--subnav text-left" href="https://sanmarinflowers.com/novato-florist-flower-delivery/just-because-flowers/" target="_self"> 771 <span class="nav-itemText mobile-menu-text-color">Just Because</span> 772 </a> 773 </li> 774 <li class="subnav-itemWrapper text-left"> 775 <a class="nav-item nav-item-mobile nav-item--subnav text-left" href="https://sanmarinflowers.com/novato-florist-flower-delivery/love-and-romance-flowers/" target="_self"> 776 <span class="nav-itemText mobile-menu-text-color">Love and Romance</span> 777 </a> 778 </li> 779 <li class="subnav-itemWrapper text-left"> 780 <a class="nav-item nav-item-mobile nav-item--subnav text-left" href="https://sanmarinflowers.com/novato-florist-flower-delivery/new-baby-flowers/" target="_self"> 781 <span class="nav-itemText mobile-menu-text-color">New Baby</span> 782 </a> 783 </li> 784 <li class="subnav-itemWrapper text-left"> 785 <a class="nav-item nav-item-mobile nav-item--subnav text-left" href="https://sanmarinflowers.com/novato-florist-flower-delivery/prom-flowers/" target="_self">
786 <span class="nav-itemText mobile-menu-text-color">Prom</span> 787 </a> 788 </li> 789 <li class="subnav-itemWrapper text-left"> 790 <a class="nav-item nav-item-mobile nav-item--subnav text-left" href="https://sanmarinflowers.com/novato-florist-flower-delivery/sympathy-and-funeral-flowers/" target="_self"> 791 <span class="nav-itemText mobile-menu-text-color">Sympathy and Funeral</span> 792 </a> 793 </li> 794 <li class="subnav-itemWrapper text-left"> 795 <a class="nav-item nav-item-mobile nav-item--subnav text-left" href="https://sanmarinflowers.com/novato-florist-flower-delivery/thank-you-flowers/" target="_self"> 796 <span class="nav-itemText mobile-menu-text-color">Thank You</span> 797 </a> 798 </li> 799 <li class="subnav-itemWrapper text-left"> 800 <a class="nav-item nav-item-mobile nav-item--subnav text-left" href="https://sanmarinflowers.com/novato-florist-flower-delivery/wedding-flowers/" target="_self"> 801 <span class="nav-itemText mobile-menu-text-color">Wedding</span> 802 </a> 803 </li> 804 <li class="subnav-itemWrapper text-left"> 805 <a class="nav-item nav-item-mobile nav-item--subnav text-left" href="https://sanmarinflowers.com/novato-florist-flower-delivery/quinceanera-flowers/" target="_self"> 806 <span class="nav-itemText mobile-menu-text-color">Quinceañera</span> 807 </a> 808 </li> 809 </ul> 810 </li> 811 <li class="nav-itemWrapper text-left"> 812 <a class="nav-item" href="https://sanmarinflowers.com/custom-flower-arrangements/" target="_self"> 813 <span class="nav-itemText mobile-menu-text-color">Custom Arrangement</span> 814 </a> 815 </li> 816 <li class="nav-itemWrapper text-left"> 817 <a class="nav-item" href="https://sanmarinflowers.com/about-us/" target="_self"> 818 <span class="nav-itemText mobile-menu-text-color">About Us</span> 819 </a> 820 </li> 821 </ul> 822 <div class="background-overlay" id="mobileBackgroundOverlay"></div> 823</nav>
824<script type="text/javascript"> 825 (function () { 826 function ready(callback) { 827 if (document.readyState === 'loading') { 828 document.addEventListener('DOMContentLoaded', callback); 829 } else { 830 callback(); 831 } 832 } 833 834 function each(selector, callback, root) { 835 Array.prototype.forEach.call((root || document).querySelectorAll(selector), callback); 836 } 837 838 // jQuery's :visible test, which is what the checks below used to run through. 839 function isVisible(element) { 840 return !!(element.offsetWidth || element.offsetHeight || element.getClientRects().length); 841 } 842 843 /* 844 * jQuery's .width(): the content-box width, as a number. Not getComputedStyle().width, which 845 * resolves to the border box under the border-box sizing Bootstrap applies globally. Like 846 * jQuery it also measures a display:none element, by laying it out off-screen â #header_mobile 847 * carries visible-xs, so it is hidden on desktop. 848 */ 849 function contentWidth(element) { 850 if (window.getComputedStyle(element).display === 'none') { 851 return swapMeasure(element, measureContentWidth); 852 } 853 854 return measureContentWidth(element); 855 } 856 857 function measureContentWidth(element) { 858 var styles = window.getComputedStyle(element); 859 860 return element.offsetWidth 861 - (parseFloat(styles.paddingLeft) || 0) 862 - (parseFloat(styles.paddingRight) || 0) 863 - (parseFloat(styles.borderLeftWidth) || 0) 864 - (parseFloat(styles.borderRightWidth) || 0); 865 } 866 867 /* 868 * jQuery's swap() with cssShow: lay a hidden element out off-screen just long enough to 869 * measure. The measure callback must not re-test display itself â Bootstrap's visible-xs is 870 * `display: none !important` above 768px, which an inline style cannot beat, so the swap does 871 * not actually reveal #header_mobile and a self-recursive version would never terminate. 872 */ 873 function swapMeasure(element, measure) { 874 var style = element.style; 875 var saved = { 876 position: style.position, 877 visibility: style.visibility, 878 display: style.display 879 }; 880 881 style.position = 'absolute'; 882 style.visibility = 'hidden'; 883 style.display = 'block'; 884 885 var measured = measure(element); 886 887 style.position = saved.position; 888 style.visibility = saved.visibility; 889 style.display = saved.display; 890 891 return measured; 892 } 893 894 // jQuery's $(document).height(). 895 function documentHeight() { 896 var body = document.body; 897 var html = document.documentElement; 898 899 return Math.max( 900 body.scrollHeight, 901 body.offsetHeight, 902 html.clientHeight, 903 html.scrollHeight, 904 html.offsetHeight 905 ); 906 } 907 908 /* 909 * Submenu open/close, replacing the $('.dropdown-toggle').dropdown() call that used to sit 910 * here. That call is what made the submenus toggle at all: the Bootstrap plugin binds 911 * Dropdown.prototype.toggle straight to each element, and because that handler returns false 912 * it also stops the click reaching Bootstrap's delegated [data-toggle=dropdown] handler on 913 * document. Without the direct handler the delegated one runs after clearMenus() has already 914 * removed the 'open' class, so it reads the menu as closed and re-opens it every time â a 915 * submenu that can never be closed. The port below keeps the direct-handler semantics 916 * (including getParent()'s data-target/href lookup and the second-click close) and works 917 * whether or not Bootstrap is on the page, which it will not be after BLOOM-17575's P9. 918 */ 919 function dropdownParent(toggle) { 920 var selector = toggle.getAttribute('data-target'); 921 922 if (!selector) { 923 var href = toggle.getAttribute('href'); 924 selector = href && /#[A-Za-z]/.test(href) ? href.replace(/.*(?=#[^\s]*$)/, '') : null; 925 } 926 927 var target = null; 928 929 if (selector) { 930 try { 931 target = document.querySelector(selector); 932 } catch (error) { 933 // The mobile toggles carry data-target="#", which is not a valid selector. 934 // jQuery quietly returned an empty set for it, so fall through to the parent. 935 target = null; 936 } 937 } 938 939 return target || toggle.parentNode; 940 } 941 942 function closeOpenDropdowns() { 943 each('[data-toggle="dropdown"]', function (toggle) { 944 dropdownParent(toggle).classList.remove('open'); 945 }); 946 } 947 948 function toggleDropdown(event) { 949 var toggle = event.currentTarget; 950 951 if (toggle.classList.contains('disabled') || toggle.disabled) { 952 return; 953 } 954 955 var parent = dropdownParent(toggle); 956 var wasOpen = parent.classList.contains('open'); 957 958 closeOpenDropdowns(); 959 960 if (!wasOpen) { 961 parent.classList.add('open'); 962 toggle.focus(); 963 } 964 965 event.preventDefault(); 966 // Bootstrap's handler returned false, which stopped the click reaching its own 967 // document-level handlers. Keep that so nothing toggles the menu a second time. 968 event.stopPropagation(); 969 } 970 971 ready(function () { 972 each('.dropdown-toggle', function (toggle) { 973 toggle.addEventListener('click', toggleDropdown); 974 }); 975 976 document.addEventListener('click', closeOpenDropdowns); 977 978 var navToggle = document.getElementById('navToggleMobile'); 979 var navigationMobile = document.getElementById('navigationMobile');
980 var overlay = document.getElementById('mobileBackgroundOverlay'); 981 var headerMobile = document.getElementById('header_mobile'); 982 var body = document.body; 983 984 if (!navToggle || !navigationMobile || !overlay) { 985 return; 986 } 987 988 each('.dropdown-toggle', function (toggle) { 989 toggle.addEventListener('click', function (event) { 990 if (isVisible(navigationMobile)) { 991 return; 992 } 993 994 event.preventDefault(); 995 996 // A page carries several of these â one per desktop dropdown, plus the two 997 // dropdown-nav templates â and .is(':visible') was true if ANY of them was 998 // showing, so this has to ask all of them, not just the first. 999 var desktopSubnavOpen = Array.prototype.some.call( 1000 document.querySelectorAll('.dropdown-content--arrownav-desktop'), 1001 isVisible 1002 ); 1003 1004 if (!desktopSubnavOpen) { 1005 return; 1006 } 1007 1008 each('.dropdown-wrapper--hover', function (wrapper) { 1009 each('.dropdown-toggle', function (hoverToggle) { 1010 hoverToggle.setAttribute('aria-expanded', 'false'); 1011 }, wrapper); 1012 each('.dropdown-content', function (content) { 1013 content.classList.remove('dropdown-content--visible'); 1014 }, wrapper); 1015 wrapper.classList.remove('open'); 1016 }); 1017 }); 1018 }); 1019 1020 // Nav Toggle on click 1021 navToggle.addEventListener('click', function () { 1022 if (navigationMobile.classList.contains('open')) { 1023 hideMenu(); 1024 } else { 1025 showMenu(); 1026 } 1027 }); 1028 1029 overlay.addEventListener('click', function () { 1030 hideMenu(); 1031 }); 1032 1033 navigationMobile.addEventListener('touchstart', startTouch, { passive: false }); 1034 navigationMobile.addEventListener('touchmove', moveTouch, { passive: false }); 1035 1036 // Swipe Up / Down / Left / Right 1037 var initialX = null; 1038 var initialY = null; 1039 1040 function startTouch(e) { 1041 initialX = e.touches[0].clientX; 1042 initialY = e.touches[0].clientY; 1043 } 1044 1045 function moveTouch(e) { 1046 if (initialX === null) { 1047 return; 1048 } 1049 1050 if (initialY === null) { 1051 return; 1052 } 1053 1054 var currentX = e.touches[0].clientX; 1055 var currentY = e.touches[0].clientY; 1056 1057 var diffX = initialX - currentX; 1058 var diffY = initialY - currentY; 1059 1060 if (Math.abs(diffX) > Math.abs(diffY)) { 1061 // sliding horizontally 1062 if (diffX > 0) { 1063 // swiped left 1064 menuSlideLeft(); 1065 } 1066 } 1067 1068 initialX = null; 1069 initialY = null; 1070 } 1071 1072 /* 1073 * Stale selector, kept as it was: the toggle lives in .navToggle-container, a sibling of 1074 * .navigation-mobile rather than a child, so this has matched nothing for a long time. 1075 * Restoring the intent would hide the hamburger while the menu is open â a visible 1076 * change, and not this ticket's. 1077 */ 1078 function setNavToggleDisplay(display) { 1079 each('.navigation-mobile .nav-itemWrapper--navToggle', function (wrapper) { 1080 wrapper.style.display = display; 1081 }); 1082 } 1083 1084 function showMenu() { 1085 navToggle.setAttribute('aria-expanded', 'true'); 1086 navigationMobile.classList.add('open'); 1087 var containerWidth = headerMobile ? contentWidth(headerMobile) : 0; 1088 setNavToggleDisplay('none'); 1089 navigationMobile.style.width = (containerWidth * 0.8) + 'px'; 1090 overlay.style.height = documentHeight() + 'px'; 1091 // The stylesheet hides the overlay, so an empty display would leave it hidden. 1092 overlay.style.display = 'block'; 1093 body.style.position = 'fixed'; 1094 } 1095 1096 function hideMenu() { 1097 navToggle.setAttribute('aria-expanded', 'false'); 1098 navigationMobile.classList.remove('open'); 1099 setNavToggleDisplay(''); 1100 navigationMobile.style.width = ''; 1101 overlay.style.height = '0px'; 1102 overlay.style.display = 'none'; 1103 body.style.position = ''; 1104 } 1105 1106 function menuSlideLeft() { 1107 var containerWidth = headerMobile ? contentWidth(headerMobile) : 0; 1108 var settled = false;
1109 var timer = null; 1110 1111 function settle(event) { 1112 if (event && event.propertyName && event.propertyName !== 'margin-left') { 1113 return; 1114 } 1115 1116 if (settled) { 1117 return; 1118 } 1119 1120 settled = true; 1121 window.clearTimeout(timer); 1122 navigationMobile.removeEventListener('transitionend', settle); 1123 navigationMobile.style.transition = ''; 1124 navigationMobile.style.marginLeft = '0px'; 1125 navigationMobile.style.width = ''; 1126 navigationMobile.style.height = ''; 1127 navigationMobile.style.top = ''; 1128 navigationMobile.classList.remove('open'); 1129 setNavToggleDisplay(''); 1130 overlay.style.height = '0px'; 1131 overlay.style.display = 'none'; 1132 } 1133 1134 navigationMobile.addEventListener('transitionend', settle); 1135 // Fallback for the cases transitionend never fires: reduced motion, or a margin that 1136 // is already at the target value. 1137 timer = window.setTimeout(settle, 150); 1138 1139 navigationMobile.style.transition = 'margin-left 100ms linear'; 1140 // Force a reflow so the transition starts from the current margin. 1141 void navigationMobile.offsetWidth; 1142 navigationMobile.style.marginLeft = -(containerWidth * 0.8) + 'px'; 1143 } 1144 }); 1145 })(); 1146</script>
1146 1147 </div> 1148 </td> 1149 <td class="logo-cell"> 1150 <div class="logo-container"> 1151 <a class="companyLogo-imgContainer" href="https://sanmarinflowers.com/"> 1152 <img 1153 class="companyLogo-img" 1154 src="https://asset.bloomnation.com/c_fit,dpr_1,f_auto,h_396,q_auto,w_600/v1/vendor/6661/profile/sanmarinflowers-logo.png" 1155 alt="San Marin Flowers - NOVATO, CA florist" 1156 srcset="https://asset.bloomnation.com/c_fit%2Cdpr_1%2Cf_auto%2Ch_396%2Cq_auto%2Cw_600/v1/vendor/6661/profile/sanmarinflowers-logo.png 1x, https://asset.bloomnation.com/c_fit%2Cdpr_2%2Cf_auto%2Ch_396%2Cq_auto%2Cw_600/v1/vendor/6661/profile/sanmarinflowers-logo.png 2x" 1157 width="600" 1158 height="396" 1159 /> 1160 </a> 1161 </div> 1162 </td> 1163 <td class="cart-cell"> 1164 <div class="cart-container"> 1165 <a href="https://sanmarinflowers.com/checkout/" class="mobile-cart-btn"> 1166 <div class="mobile-cart-icon-wrapper"> 1167 <span class="header-cartIcon mobile-menu-text-color" aria-hidden="true"><svg width="19" height="24" viewBox="0 0 19 24" fill="none" xmlns="http://www.w3.org/2000/svg"> 1168<path d="M2.33333 23.3333C1.69167 23.3333 1.14236 23.1049 0.685417 22.6479C0.228472 22.191 0 21.6417 0 21V7C0 6.35833 0.228472 5.80903 0.685417 5.35208C1.14236 4.89514 1.69167 4.66667 2.33333 4.66667H4.66667C4.66667 3.38333 5.12361 2.28472 6.0375 1.37083C6.95139 0.456945 8.05 0 9.33333 0C10.6167 0 11.7153 0.456945 12.6292 1.37083C13.5431 2.28472 14 3.38333 14 4.66667H16.3333C16.975 4.66667 17.5243 4.89514 17.9812 5.35208C18.4382 5.80903 18.6667 6.35833 18.6667 7V21C18.6667 21.6417 18.4382 22.191 17.9812 22.6479C17.5243 23.1049 16.975 23.3333 16.3333 23.3333H2.33333ZM2.33333 21H16.3333V7H14V9.33333C14 9.66389 13.8882 9.94097 13.6646 10.1646C13.441 10.3882 13.1639 10.5 12.8333 10.5C12.5028 10.5 12.2257 10.3882 12.0021 10.1646C11.7785 9.94097 11.6667 9.66389 11.6667 9.33333V7H7V9.33333C7 9.66389 6.88819 9.94097 6.66458 10.1646C6.44097 10.3882 6.16389 10.5 5.83333 10.5C5.50278 10.5 5.22569 10.3882 5.00208 10.1646C4.77847 9.94097 4.66667 9.66389 4.66667 9.33333V7H2.33333V21ZM7 4.66667H11.6667C11.6667 4.025 11.4382 3.4757 10.9812 3.01875C10.5243 2.56181 9.975 2.33333 9.33333 2.33333C8.69167 2.33333 8.14236 2.56181 7.68542 3.01875C7.22847 3.4757 7 4.025 7 4.66667Z" fill="currentColor"/> 1169</svg> 1170</span> 1171 </div> 1172 </a> 1173 </div> 1174 </td> 1175 </tr> 1176 </tbody> 1177 1178 </table> 1179</header> 1180<header id="header" class="hidden-xs"> 1181 <div class="row header-innerContainer"> 1182 <div class="information-heading infoHeading hidden-xs col-sm-4 col-md-4"> 1183 <span class="infoHeading-item infoHeading-item--name">San Marin Flowers</span> 1184 <span class="infoHeading-item infoHeading-item--address vendor-address">117 SAN MARIN DRIVE<br /> 1185 NOVATO, 1186 CA 94945</span> 1187 </div> 1188 <div class="header-logo col-xs-12 col-sm-4 col-md-4"> 1189 <div class="company-logo"> 1190 <a class="companyLogo-imgContainer" href="https://sanmarinflowers.com/"> 1191 <img 1192 class="companyLogo-img" 1193 src="https://asset.bloomnation.com/c_fit,dpr_1,f_auto,h_659,q_auto,w_1000/v1/vendor/6661/profile/sanmarinflowers-logo.png" 1194 alt="San Marin Flowers - NOVATO, CA florist" 1195 srcset="https://asset.bloomnation.com/c_fit%2Cdpr_1%2Cf_auto%2Ch_659%2Cq_auto%2Cw_1000/v1/vendor/6661/profile/sanmarinflowers-logo.png 1x, https://asset.bloomnation.com/c_fit%2Cdpr_2%2Cf_auto%2Ch_659%2Cq_auto%2Cw_1000/v1/vendor/6661/profile/sanmarinflowers-logo.png 2x" 1196 width="1000" 1197 height="659" 1198 /> 1199 </a> 1200 </div> 1201 </div> 1202 1203<nav class="header-cart ps-header-cart col-xs-12 col-sm-4 col-md-4" aria-labelledby="ps-my-account_menu-label"> 1204 <div class="ps-header-cartBtn-wrapper"> 1205 <div class="ps-my-account-button-wrapper dropdown-wrapper"> 1206 <button class="ps-my-account-button dropdown-toggle" aria-expanded="false" aria-haspopup="true">
1207 <span class="ps-my-account-button-text" id="ps-my-account_menu-label">My Account</span> 1208 <span class="ps-my-account-icon" aria-hidden="true"><svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"> 1209<path d="M4.49166 17.6167C5.48333 16.8583 6.59166 16.2604 7.81666 15.8229C9.04166 15.3854 10.325 15.1667 11.6667 15.1667C13.0083 15.1667 14.2917 15.3854 15.5167 15.8229C16.7417 16.2604 17.85 16.8583 18.8417 17.6167C19.5222 16.8194 20.0521 15.9153 20.4312 14.9042C20.8104 13.893 21 12.8139 21 11.6667C21 9.08055 20.091 6.87847 18.2729 5.06041C16.4549 3.24236 14.2528 2.33333 11.6667 2.33333C9.08055 2.33333 6.87847 3.24236 5.06041 5.06041C3.24236 6.87847 2.33333 9.08055 2.33333 11.6667C2.33333 12.8139 2.52292 13.893 2.90208 14.9042C3.28125 15.9153 3.81111 16.8194 4.49166 17.6167ZM8.76458 11.6521C7.97708 10.8646 7.58333 9.89722 7.58333 8.75C7.58333 7.60277 7.97708 6.63541 8.76458 5.84791C9.55208 5.06041 10.5194 4.66666 11.6667 4.66666C12.8139 4.66666 13.7812 5.06041 14.5687 5.84791C15.3562 6.63541 15.75 7.60277 15.75 8.75C15.75 9.89722 15.3562 10.8646 14.5687 11.6521C13.7812 12.4396 12.8139 12.8333 11.6667 12.8333C10.5194 12.8333 9.55208 12.4396 8.76458 11.6521ZM11.6667 23.3333C10.0528 23.3333 8.53611 23.0271 7.11666 22.4146C5.69722 21.8021 4.4625 20.9708 3.4125 19.9208C2.3625 18.8708 1.53125 17.6361 0.91875 16.2167C0.30625 14.7972 0 13.2805 0 11.6667C0 10.0528 0.30625 8.53611 0.91875 7.11666C1.53125 5.69722 2.3625 4.4625 3.4125 3.4125C4.4625 2.3625 5.69722 1.53125 7.11666 0.91875C8.53611 0.30625 10.0528 0 11.6667 0C13.2805 0 14.7972 0.30625 16.2167 0.91875C17.6361 1.53125 18.8708 2.3625 19.9208 3.4125C20.9708 4.4625 21.8021 5.69722 22.4146 7.11666C23.0271 8.53611 23.3333 10.0528 23.3333 11.6667C23.3333 13.2805 23.0271 14.7972 22.4146 16.2167C21.8021 17.6361 20.9708 18.8708 19.9208 19.9208C18.8708 20.9708 17.6361 21.8021 16.2167 22.4146C14.7972 23.0271 13.2805 23.3333 11.6667 23.3333ZM14.5833 20.5479C15.4972 20.2465 16.3333 19.8139 17.0917 19.25C16.3333 18.6861 15.4972 18.2535 14.5833 17.9521C13.6694 17.6507 12.6972 17.5 11.6667 17.5C10.6361 17.5 9.66388 17.6507 8.75 17.9521C7.83611 18.2535 7 18.6861 6.24166 19.25C7 19.8139 7.83611 20.2465 8.75 20.5479C9.66388 20.8493 10.6361 21 11.6667 21C12.6972 21 13.6694 20.8493 14.5833 20.5479ZM12.9208 10.0042C13.2514 9.6736 13.4167 9.25555 13.4167 8.75C13.4167 8.24444 13.2514 7.82638 12.9208 7.49583C12.5903 7.16527 12.1722 7 11.6667 7C11.1611 7 10.743 7.16527 10.4125 7.49583C10.0819 7.82638 9.91666 8.24444 9.91666 8.75C9.91666 9.25555 10.0819 9.6736 10.4125 10.0042C10.743 10.3347 11.1611 10.5 11.6667 10.5C12.1722 10.5 12.5903 10.3347 12.9208 10.0042Z" fill="currentColor"/> 1210</svg> 1211</span> 1212 </button> 1213 1214<div id="dropdown-nav--js" class="dropdown-nav dropdown-nav--login dropdown-content dropdown-content--arrownav-desktop"> 1215 <div class="dropdown-nav__arrow-up"></div> 1216 <div class="dropdown-nav__arrow-up--overlay"></div> 1217 1218 <ul class="dropdown-nav__list"> 1219 <li class="dropdown-nav__list-item"> 1220 <a class="dropdown-nav__link" href="https://sanmarinflowers.com/customer/account/login/" tabindex="-1" rel="nofollow"> 1221 <p class="icon material-symbols-outlined">login</p> 1222 <span>Log in</span> 1223 </a> 1224 </li> 1225 <li class="dropdown-nav__list-item"> 1226 <a class="dropdown-nav__link" href="https://sanmarinflowers.com/customer/account/create/" tabindex="-1" rel="nofollow"> 1227 <p class="icon material-symbols-outlined">person</p> 1228 <span>Sign up</span> 1229 </a> 1230 </li> 1231 </ul> 1232</div> 1233 </div> 1234 1235 <div class="ps-my-account-mob"> 1236 <a href="https://sanmarinflowers.com/checkout/" class="btn btn-outline ps-cart_button ps-header-cartBtn" aria-label="view cart with 0 items"> 1237 <span class="ps-header-cart-icon" aria-hidden="true"><svg width="19" height="24" viewBox="0 0 19 24" fill="none" xmlns="http://www.w3.org/2000/svg"> 1238<path d="M2.33333 23.3333C1.69167 23.3333 1.14236 23.1049 0.685417 22.6479C0.228472 22.191 0 21.6417 0 21V7C0 6.35833 0.228472 5.80903 0.685417 5.35208C1.14236 4.89514 1.69167 4.66667 2.33333 4.66667H4.66667C4.66667 3.38333 5.12361 2.28472 6.0375 1.37083C6.95139 0.456945 8.05 0 9.33333 0C10.6167 0 11.7153 0.456945 12.6292 1.37083C13.5431 2.28472 14 3.38333 14 4.66667H16.3333C16.975 4.66667 17.5243 4.89514 17.9812 5.35208C18.4382 5.80903 18.6667 6.35833 18.6667 7V21C18.6667 21.6417 18.4382 22.191 17.9812 22.6479C17.5243 23.1049 16.975 23.3333 16.3333 23.3333H2.33333ZM2.33333 21H16.3333V7H14V9.33333C14 9.66389 13.8882 9.94097 13.6646 10.1646C13.441 10.3882 13.1639 10.5 12.8333 10.5C12.5028 10.5 12.2257 10.3882 12.0021 10.
12381646C11.7785 9.94097 11.6667 9.66389 11.6667 9.33333V7H7V9.33333C7 9.66389 6.88819 9.94097 6.66458 10.1646C6.44097 10.3882 6.16389 10.5 5.83333 10.5C5.50278 10.5 5.22569 10.3882 5.00208 10.1646C4.77847 9.94097 4.66667 9.66389 4.66667 9.33333V7H2.33333V21ZM7 4.66667H11.6667C11.6667 4.025 11.4382 3.4757 10.9812 3.01875C10.5243 2.56181 9.975 2.33333 9.33333 2.33333C8.69167 2.33333 8.14236 2.56181 7.68542 3.01875C7.22847 3.4757 7 4.025 7 4.66667Z" fill="currentColor"/> 1239</svg> 1240</span> 1241 <span class="ps-cart_text ps-header-cart-text">(0) Cart</span> 1242 </a> 1243 </div> 1244 </div> 1245 <style> 1246 /* Account Management Cart Modifications (start) */ 1247 .ps-header-cart .ps-header-cart-badge { 1248 display: none; 1249 background: transparent; 1250 color: var(--header-icon-color, #000); 1251 position: absolute; 1252 top: 69%; 1253 left: 50%; 1254 transform: translate(-50%, -50%); 1255 padding: 0; 1256 font-size: 10px; 1257 font-weight: 600 !important; 1258 line-height: 1; 1259 pointer-events: none; 1260 } 1261 1262 .ps-header-cart .ps-my-account-button-wrapper { 1263 display: none; 1264 } 1265 1266 #header .ps-header-cart .ps-cart_button { 1267 border: 0; 1268 padding: 0; 1269 } 1270 1271 .ps-my-account-button { 1272 background: none; 1273 border: none; 1274 padding: 0; 1275 } 1276 1277 .ps-my-account-mob { 1278 display: inline-block; 1279 } 1280 1281 .ps-my-account-button-text { 1282 color: var(--my-account-color, #000); 1283 } 1284 1285 @media only screen and (min-width: 768px) { 1286 .account-management-dropdown-nav, 1287 .ps-header-cart-text { 1288 display: none; 1289 } 1290 1291 .ps-header-cart .ps-my-account-button-wrapper { 1292 position: relative; 1293 display: inline-block; 1294 float: left; 1295 margin-top: 3px; 1296 margin-right: 5px; 1297 cursor: pointer; 1298 } 1299 1300 .ps-header-cart .ps-my-account-button-text { 1301 text-align: right; 1302 } 1303 1304 .ps-header-cart .ps-my-account-button-wrapper { 1305 display: inline-block; 1306 } 1307 1308 .ps-header-cart .ps-my-account-button #ps-my-account_menu-label { 1309 font-weight: 500 !important; 1310 display: inline-block; 1311 } 1312 1313 .ps-header-cart .ps-header-cart-badge { 1314 display: block; 1315 } 1316 1317 .ps-header-cartBtn-wrapper { 1318 float: right; 1319 } 1320 1321 .ps-header-cartBtn { 1322 float: none; 1323 position: relative; 1324 margin: 0; 1325 padding: 0 10px; 1326 width: auto; 1327 height: auto; 1328 border: 0; 1329 } 1330 1331 .ps-header-cart-icon { 1332 width: 25px; 1333 height: 25px; 1334 margin: 0; 1335 vertical-align: middle; 1336 display: inline-flex; 1337 align-items: center; 1338 justify-content: center; 1339 position: relative; 1340 top: 2px; 1341 } 1342 1343 .ps-header-cart-icon svg { 1344 width: 100%; 1345 height: 100%; 1346 display: block; 1347 } 1348 .ps-header-cart-icon svg path { 1349 fill: var(--header-icon-color, var(--my-account-color, #000)); 1350 } 1351 } 1352 1353 .ps-my-account-icon { 1354 width: 25px; 1355 height: 25px; 1356 margin: 0 6px; 1357 vertical-align: middle; 1358 display: inline-flex; 1359 align-items: center; 1360 justify-content: center; 1361 } 1362 1363 .ps-my-account-icon svg { 1364 width: 100%; 1365 height: 100%; 1366 display: block; 1367 } 1368 1369 .ps-my-account-icon svg path { 1370 fill: var(--header-icon-color, var(--my-account-color, #000)); 1371 } 1372 1373 .ps-my-account-button svg { 1374 width: 25px; 1375 height: 25px; 1376 } 1377 1378 /* Account Management Cart Modifications (end) */ 1379 </style> 1380
1380<script type="text/javascript" src="https://promfiles.com/bloom/dist/frontend/base/default/js/dropdown-nav.5e3dac90.js" defer></script>
1380 1381</nav> 1382 <div class="clearfix"></div> 1383 </div> 1384 1385 <div class="clearfix"></div> 1386 <nav class="header-nav headerNav-wrapper"> 1387 <div class="row headerNav-innerContainer"> 1388 1389<ul id="main-nav" class="navigation col-md-12"> 1390 <li class="navToggle-container nav-itemWrapper nav-itemWrapper--navToggle"> 1391 <!-- Nav Toggle --> 1392 <a href="#" class="nav-toggle nav-item" id="main-nav-toggle" aria-haspopup="true" aria-expanded="false"> 1393 <i class="fa fa-reorder"></i> 1394 <span class="nav-show">Menu <i class="fa fa-caret-down"></i></span> 1395 <span class="nav-hide">Hide <i class="fa fa-caret-up"></i></span> 1396 </a> 1397 </li> 1398 <li class="nav-itemWrapper"> 1399 <a class="nav-item" href="https://sanmarinflowers.com/novato-florist-flower-delivery/" target="_self"><span class="nav-itemText">Shop</span></a> 1400 </li> 1401 <li class="nav-itemWrapper"> 1402 <a class="nav-item" href="https://sanmarinflowers.com/novato-florist-flower-delivery/occasions/sympathy-and-funeral/" target="_self"><span class="nav-itemText">Sympathy</span></a> 1403 </li> 1404 <li class="dropdown nav-dropdown nav-itemWrapper nav-itemWrapper--dropdown dropdown-wrapper dropdown-wrapper--hover"> 1405 <button class="dropdown-toggle nav-item nav-item--dropdown dropdown-nav-toggle" aria-expanded="false" aria-haspopup="true"> 1406 <span class="nav-itemText"> 1407 Wedding ▾ 1408 </span> 1409 </button> 1410 <ul class="subnav dropdown-menu header-subnav dropdown-content dropdown-content--arrownav-desktop" role="menu"> 1411 <li class="subnav-itemWrapper"> 1412 <a class="nav-item nav-item--subnav" href="https://sanmarinflowers.com/cms/index/gallery/" target="_self">Gallery</a> 1413 </li> 1414 <li class="subnav-itemWrapper"> 1415 <a class="nav-item nav-item--subnav" href="https://sanmarinflowers.com/consultation/" target="_self">Consultation</a> 1416 </li> 1417 </ul> 1418 </li> 1419 <li class="dropdown nav-dropdown nav-itemWrapper nav-itemWrapper--dropdown dropdown-wrapper dropdown-wrapper--hover"> 1420 <button class="dropdown-toggle nav-item nav-item--dropdown dropdown-nav-toggle" aria-expanded="false" aria-haspopup="true"> 1421 <span class="nav-itemText"> 1422 Occasions ▾ 1423 </span> 1424 </button> 1425 <ul class="subnav dropdown-menu header-subnav dropdown-content dropdown-content--arrownav-desktop" role="menu"> 1426 <li class="subnav-itemWrapper"> 1427 <a class="nav-item nav-item--subnav" href="https://sanmarinflowers.com/novato-florist-flower-delivery/valentine-s-day-flowers/" target="_self">Valentine's Day</a> 1428 </li> 1429 <li class="subnav-itemWrapper"> 1430 <a class="nav-item nav-item--subnav" href="https://sanmarinflowers.com/novato-florist-flower-delivery/mother-s-day-flowers/" target="_self">Mother's Day</a> 1431 </li> 1432 <li class="subnav-itemWrapper"> 1433 <a class="nav-item nav-item--subnav" href="https://sanmarinflowers.com/novato-florist-flower-delivery/occasions/autumn/" target="_self">Autumn</a> 1434 </li> 1435 <li class="subnav-itemWrapper"> 1436 <a class="nav-item nav-item--subnav" href="https://sanmarinflowers.com/novato-florist-flower-delivery/occasions/thanks-giving/" target="_self">Thanksgiving</a> 1437 </li> 1438 <li class="subnav-itemWrapper"> 1439 <a class="nav-item nav-item--subnav" href="https://sanmarinflowers.com/novato-florist-flower-delivery/occasions/christmas/" target="_self">Christmas</a> 1440 </li> 1441 <li class="subnav-itemWrapper"> 1442 <a class="nav-item nav-item--subnav" href="https://sanmarinflowers.com/novato-florist-flower-delivery/anniversary-flowers/" target="_self">Anniversary</a> 1443 </li> 1444 <li class="subnav-itemWrapper"> 1445 <a class="nav-item nav-item--subnav" href="https://sanmarinflowers.com/novato-florist-flower-delivery/autumn-flowers/" target="_self">Autumn</a> 1446 </li> 1447 <li class="subnav-itemWrapper"> 1448 <a class="nav-item nav-item--subnav" href="https://sanmarinflowers.com/novato-florist-flower-delivery/birthday-flowers/" target="_self">Birthday</a> 1449 </li> 1450 <li class="subnav-itemWrapper"> 1451 <a class="nav-item nav-item--subnav" href="https://sanmarinflowers.com/novato-florist-flower-delivery/boss-s-day-flowers/" target="_self">Boss's Day </a> 1452 </li> 1453 <li class="subnav-itemWrapper"> 1454 <a class="nav-item nav-item--subnav" href="https://sanmarinflowers.com/novato-florist-flower-delivery/breast-cancer-awareness-month-flowers/" target="_self">Breast Cancer Awareness Month</a> 1455 </li> 1456 <li class="subnav-itemWrapper"> 1457 <a class="nav-item nav-item--subnav" href="https://sanmarinflowers.com/novato-florist-flower-delivery/congrats-flowers/" target="_self">Congrats</a> 1458 </li> 1459 <li class="subnav-itemWrapper"> 1460 <a class="nav-item nav-item--subnav" href="https://sanmarinflowers.com/novato-florist-flower-delivery/get-well-flowers/" target="_self">Get Well</a> 1461 </li> 1462 <li class="subnav-itemWrapper"> 1463 <a class="nav-item nav-item--subnav" href="https://sanmarinflowers.com/novato-florist-flower-delivery/gift-sets-flowers/" target="_self">
1463Gift Sets</a> 1464 </li> 1465 <li class="subnav-itemWrapper"> 1466 <a class="nav-item nav-item--subnav" href="https://sanmarinflowers.com/novato-florist-flower-delivery/halloween-flowers/" target="_self">Halloween</a> 1467 </li> 1468 <li class="subnav-itemWrapper"> 1469 <a class="nav-item nav-item--subnav" href="https://sanmarinflowers.com/novato-florist-flower-delivery/i-m-sorry-flowers/" target="_self">I'm Sorry</a> 1470 </li> 1471 <li class="subnav-itemWrapper"> 1472 <a class="nav-item nav-item--subnav" href="https://sanmarinflowers.com/novato-florist-flower-delivery/just-because-flowers/" target="_self">Just Because</a> 1473 </li> 1474 <li class="subnav-itemWrapper"> 1475 <a class="nav-item nav-item--subnav" href="https://sanmarinflowers.com/novato-florist-flower-delivery/love-and-romance-flowers/" target="_self">Love and Romance</a> 1476 </li> 1477 <li class="subnav-itemWrapper"> 1478 <a class="nav-item nav-item--subnav" href="https://sanmarinflowers.com/novato-florist-flower-delivery/new-baby-flowers/" target="_self">New Baby</a> 1479 </li> 1480 <li class="subnav-itemWrapper"> 1481 <a class="nav-item nav-item--subnav" href="https://sanmarinflowers.com/novato-florist-flower-delivery/prom-flowers/" target="_self">Prom</a> 1482 </li> 1483 <li class="subnav-itemWrapper"> 1484 <a class="nav-item nav-item--subnav" href="https://sanmarinflowers.com/novato-florist-flower-delivery/sympathy-and-funeral-flowers/" target="_self">Sympathy and Funeral</a> 1485 </li> 1486 <li class="subnav-itemWrapper"> 1487 <a class="nav-item nav-item--subnav" href="https://sanmarinflowers.com/novato-florist-flower-delivery/thank-you-flowers/" target="_self">Thank You</a> 1488 </li> 1489 <li class="subnav-itemWrapper"> 1490 <a class="nav-item nav-item--subnav" href="https://sanmarinflowers.com/novato-florist-flower-delivery/wedding-flowers/" target="_self">Wedding</a> 1491 </li> 1492 <li class="subnav-itemWrapper"> 1493 <a class="nav-item nav-item--subnav" href="https://sanmarinflowers.com/novato-florist-flower-delivery/quinceanera-flowers/" target="_self">Quinceañera</a> 1494 </li> 1495 </ul> 1496 </li> 1497 <li class="nav-itemWrapper"> 1498 <a class="nav-item" href="https://sanmarinflowers.com/custom-flower-arrangements/" target="_self"><span class="nav-itemText">Custom Arrangement</span></a> 1499 </li> 1500 <li class="nav-itemWrapper"> 1501 <a class="nav-item" href="https://sanmarinflowers.com/about-us/" target="_self"><span class="nav-itemText">About Us</span></a> 1502 </li> 1503 <li class="account-management-dropdown-nav dropdown nav-dropdown nav-itemWrapper nav-itemWrapper--dropdown dropdown-wrapper"> 1504 <button class="dropdown-toggle nav-item nav-item--dropdown" aria-expanded="false" aria-haspopup="true"> 1505 <span class="nav-itemText">My Account ▾</span> 1506 </button> 1507 <ul class="subnav dropdown-menu header-subnav dropdown-content dropdown-content--arrownav-desktop" role="menu"> 1508 <li class="subnav-itemWrapper"> 1509 <a class="nav-item nav-item--subnav" href="https://sanmarinflowers.com/customer/account/login/">Log in</a> 1510 </li> 1511 <li class="subnav-itemWrapper"> 1512 <a class="nav-item nav-item--subnav" href="https://sanmarinflowers.com/customer/account/create/"> 1513 Sign Up </a> 1514 </li> 1515 </ul> 1516 </li> 1517</ul> 1518 </div> 1519 </nav> 1520 1521 <div class="clearfix"></div> 1522</header> 1523 <noscript> 1524 <div class="global-site-notice noscript"> 1525 <div class="notice-inner"> 1526 <p> 1527 <strong>JavaScript seems to be disabled in your browser.</strong><br /> 1528 You must have JavaScript enabled in your browser to utilize the functionality of this website. </p> 1529 </div> 1530 </div> 1531 </noscript> 1532<section id="content"> 1533 1534 1535 1536 <div class="row"> 1537 <ol class="breadcrumb col-md-12"> 1538 <li class="home"> 1539 <a href="https://sanmarinflowers.com/" title="Go to Home Page">Home</a> 1540 </li> 1541 <li class="cms_page"> 1542 <strong>Accessibility Statement</strong> 1543 </li> 1544 </ol> 1545 </div> 1546 <div class="row"> 1547 <div class="bar-quick_sort col-md-12"> 1548 <div class="search_bar col-xs-12 col-sm-3 col-md-3"> 1549 <div class="col-xs-12 col-sm-12 col-md-12"> 1550 <form id="search_mini_form" action="https://sanmarinflowers.com/novato-florist-flower-delivery/" role="search"> 1551 <i class="fa fa-search" aria-hidden="true"></i> 1552 <input type="search" 1553 name="q" 1554 value="" 1555 class="col-xs-9" 1556 placeholder="Search Catalog" 1557 maxlength="128"/> 1558 <button type="submit" class="col-xs-3" title="Search">
1559 <span aria-hidden="true">Go</span> 1560 <span class="sr-only">Search catalog</span> 1561 </button> 1562 </form> 1563 </div> 1564 </div> 1565 <div class="bar-quick_select col-xs-12 col-sm-9 col-md-9 hidden-xs"> 1566 <div id="popular_picks"> 1567 <span class="bar-helper_text">Browse By: </span> 1568 <ul class="bar-flower_select"> 1569 <li class="poppick_item"> 1570 <a href="https://sanmarinflowers.com/novato-florist-flower-delivery/roses/">Roses</a> 1571 </li> 1572 <li class="poppick_item"> 1573 <a href="https://sanmarinflowers.com/novato-florist-flower-delivery/tulips/">Tulips</a> 1574 </li> 1575 <li class="poppick_item"> 1576 <a href="https://sanmarinflowers.com/novato-florist-flower-delivery/lilies/">Lilies</a> 1577 </li> 1578 <li class="poppick_item"> 1579 <a href="https://sanmarinflowers.com/novato-florist-flower-delivery/orchids/">Orchids</a> 1580 </li> 1581 <li class="poppick_item"> 1582 <a href="https://sanmarinflowers.com/novato-florist-flower-delivery/hydrangeas/">Hydrangeas</a> 1583 </li> 1584 <li class="poppick_item"> 1585 <a href="https://sanmarinflowers.com/novato-florist-flower-delivery/plants/">Plants</a> 1586 </li> 1587 <li class="poppick_item"> 1588 <a href="https://sanmarinflowers.com/novato-florist-flower-delivery/sympathy-and-funeral-flowers/">Sympathy</a> 1589 </li> 1590 </ul> 1591 </div> 1592 </div> 1593 <div class="clearfix"></div> 1594 </div> 1595 <div class="listings col-md-12"> 1596 <div class="sidebar-sort hidden-xs col-sm-3 col-md-3"> 1597 </div> 1598 <div class="item_listings col-xs-12 col-sm-9 col-md-9"> 1599 <div class="std"><div class="page-title"> 1600<h1>San Marin Flowers Website Accessibility Statement</h1> 1601</div> 1602<p dir="ltr"> </p> 1603<p dir="ltr"><strong>Accessibility on this Website</strong></p> 1604<p dir="ltr"><span id="docs-internal-guid-8ac62ffa-7fff-94f4-b422-9c712363760f">At San Marin Flowers, we want everyone to have the best possible experience – in person and online. https://sanmarinflowers.com/ provides several methods that can help with access to our website, including supporting accessibility features outlined in the Web Content Accessibility Guidelines (WCAG) 2.1. </span></p> 1605<p dir="ltr"><span><span>Despite the efforts we may have made regarding accessibility, some content or features may be improved, so we welcome your feedback. Email us at <a href="mailto:[email protected]">[email protected]</a> with any questions or comments you have.</span></span></p> 1606<p dir="ltr"> </p> 1607<p dir="ltr"><strong>Technology and Accessibility</strong></p> 1608<p dir="ltr"><span>https://sanmarinflowers.com/ is optimized for Chrome and Safari browsers on desktop computers and mobile phones. For the best experience, please keep your technology up to date. Use the latest version of your web browser and the latest version of any assistive technology.</span></p> 1609<p dir="ltr"><span>Our website may use third-party add-ons for certain functionality, such as displaying maps via Google Maps. The functionality provided by third-party services may not work the same for every user and/or every type of disability. We are unable to always modify these services to the extent that would accommodate every user of our website since we do not have control over them, and are not responsible for elements that we do not control.</span></p> 1610<p dir="ltr"> </p> 1611<p dir="ltr"><strong>Accessibility Assistance</strong></p> 1612<p dir="ltr"><span>If you are experiencing difficulties accessing our content or require assistance with any part of our site due to a disability, please contact our website administrators for help:</span></p> 1613<ul> 1614<li dir="ltr"> 1615<p dir="ltr"><span>Phone: <span>(<em>210) 405-5050</em></span></span></p> 1616</li> 1617<li dir="ltr"> 1618<p dir="ltr"><span>Email: [email protected]</span></p> 1619</li> 1620</ul> 1621<p dir="ltr"><span>If you have found an inaccessible area on our site, please specify the web page or element and provide any other relevant information to help us locate the problem. In the event a page cannot be made accessible, we will work with you to make the content available via an alternative method. We welcome your questions about this accessibility statement and comments on how to improve our website’s accessibility.</span></p> 1622<p><span> </span></p></div> </div> 1623 <div class="clearfix"></div> 1624 </div> 1625 </div> 1626</section> 1627 1628 1629 <section id="footer" class="footer-inner"> 1630 <div class="social_media footer-social_media"> 1631 1632
1633 <div class="row social-innerContainer"> 1634 <a href="https://www.instagram.com/sanmarinflowers" target="_new" 1635 class="instagram footer-socialItem" aria-label="visit our Instagram page"> 1636 <span class="footer-socialName">Instagram </span> 1637 <img src="https://promfiles.com/bloom/dist/frontend/premiumsites/bloom/images/pages/footer/social/home/instagram.6ebb7516.svg" alt="" /> 1638 </a> 1639 1640 <a href="https://www.facebook.com/sanmarinflowers" target="_new" 1641 class="facebook footer-socialItem" aria-label="visit our Facebook page"> 1642 <span class="footer-socialName">Facebook </span> 1643 <img src="https://promfiles.com/bloom/dist/frontend/premiumsites/bloom/images/pages/footer/social/home/facebook.72c20f3c.svg" alt="" /> 1644 </a> 1645 1646 1647 1648 <a href="https://www.pinterest.com/sanmarinflowers" target="_new" 1649 class="pinterest footer-socialItem" aria-label="visit our Pinterest page"> 1650 <span class="footer-socialName">Pinterest </span> 1651 <img src="https://promfiles.com/bloom/dist/frontend/premiumsites/bloom/images/pages/footer/social/home/pinterest.dc6bd10d.svg" alt="" /> 1652 </a> 1653 1654 <a href="https://www.google.com/maps?cid=3130603364960078898" target="_new" 1655 class="googleplaces footer-socialItem" aria-label="visit our Google page"> 1656 <span class="footer-socialName">Google</span> 1657 <img src="https://promfiles.com/bloom/dist/frontend/premiumsites/bloom/images/pages/footer/social/home/google.9795e4d3.svg" alt="" /> 1658 </a> 1659 1660 <a href="https://www.yelp.com/biz/san-marin-flowers-novato" target="_new" 1661 class="yelp footer-socialItem" aria-label="visit our Yelp page"> 1662 <span class="footer-socialName">Yelp </span> 1663 <img src="https://promfiles.com/bloom/dist/frontend/premiumsites/bloom/images/pages/footer/social/home/yelp.3792410e.svg" alt="" /> 1664 </a> 1665 1666 <a href="https://x.com/sanmarinflowers" target="_new" 1667 class="twitter footer-socialItem" aria-label="visit our X page"> 1668 <span class="footer-socialName">X </span> 1669 <img src="https://promfiles.com/bloom/dist/frontend/premiumsites/bloom/images/pages/footer/social/home/x.cb889c9c.svg" alt="" /> 1670 </a> 1671 1672 1673 1674 <div class="clearfix visible-xs visible-sm"><br/></div> 1675 1676 <div class="poweredbybloomnation bloomnationRep col-xs-12 col-sm-12 col-md-12"> 1677 <div class="member_of_bloomnation_wrapper"> 1678 <a href="https://sanmarinflowers.com/about-us/" class="member_of_bloomnation"> 1679 <span class="bloomnationRep-text">Premier florist on</span> 1680 </a> 1681 <a href="https://www.bloomnation.com/" class="member_of_bloomnation_link" aria-label="BloomNation Home Page"> 1682 <img class="bloomnationRep-img" 1683 src="https://asset.bloomnation.com/v1/bloomnation/black_horizontal_logo.svg" 1684 alt="BloomNation Member" 1685 loading="lazy" 1686 width="156" 1687 height="23" 1688 /> 1689 </a> 1690 </div> 1691 </div> 1692 </div> 1693 </div> 1694 1695 <div class="footer-more_information footer-info"> 1696 <div class="footer-info__locations"> 1697 <div class="footer-info__location"> 1698 <div class="footer-info__col footer-info__col--address footer-infoItem footer-infoItem--address"> 1699 <h4 class="footer-info__heading infoItem-header infoItem-header--store">Location</h4> 1700 <p class="footer-info__address infoItem-text"> 1701 <a href="https://www.google.com/maps/dir/?api=1&origin=&destination=117+SAN+MARIN+DRIVE%2C+NOVATO%2C+CA%2C+94945" target="_blank">117 SAN MARIN DRIVE<br>NOVATO CA 94945<span class="sr-only">
1701(link opens in a new window)</span></a> 1702 </p> 1703 </div> 1704 <div class="footer-info__col footer-info__col--contact footer-infoItem footer-infoItem--email"> 1705 <h4 class="footer-info__heading infoItem-header infoItem-header--email">Contact</h4> 1706 <p class="infoItem-text infoItem-text--phone"><a href="tel:4158989514">(415) 898-9514</a></p> 1707 <p class="infoItem-text infoItem-text--email"><a href="mailto:[email protected]">[email protected]</a></p> 1708 </div> 1709 </div> 1710 </div> 1711 1712 <div class="footer-info__hours footer-infoItem footer-infoItem--hours"> 1713 <h4 class="footer-info__heading infoItem-header infoItem-header--hours">Hours</h4> 1714 <div class="footer-info__hours-grid store-contact__column store-contact__column--hours store-hours"> 1715 <span class="footer-info__hours-day store-hours__label">Monday</span> 1716 <span class="footer-info__hours-time">10 AM - 3:30 PM</span> 1717 <span class="footer-info__hours-day store-hours__label">Tuesday</span> 1718 <span class="footer-info__hours-time">10 AM - 3:30 PM</span> 1719 <span class="footer-info__hours-day store-hours__label">Wednesday</span> 1720 <span class="footer-info__hours-time">10 AM - 3:30 PM</span> 1721 <span class="footer-info__hours-day store-hours__label">Thursday</span> 1722 <span class="footer-info__hours-time">10 AM - 3:30 PM</span> 1723 <span class="footer-info__hours-day store-hours__label">Friday</span> 1724 <span class="footer-info__hours-time">10 AM - 3:30 PM</span> 1725 <span class="footer-info__hours-day store-hours__label">Saturday</span> 1726 <span class="footer-info__hours-time">10 AM - 3:30 PM</span> 1727 <span class="footer-info__hours-day store-hours__label">Sunday</span> 1728 <span class="footer-info__hours-time">Closed</span> 1729 </div> 1730 </div> 1731 </div> 1732 1733 <section id="super-footer"> 1734 <div class="footer-block footer-copyright"> 1735 <div id="copyright-info" class="copyright__links"> 1736 <a class="copyright__link copyright__faq-link" 1737 href="https://sanmarinflowers.com/faq/" 1738 > 1739 FAQs 1740 </a> 1741 <span>·</span> 1742 1743 <a class="copyright__link" 1744 href="https://sanmarinflowers.com/terms-of-service/" 1745 > 1746 Terms of Service 1747 </a> 1748 <span>·</span> 1749 1750 <a class="copyright__link" 1751 href="https://sanmarinflowers.com/privacy-policy/" 1752 > 1753 Privacy Policy 1754 </a> 1755 <span>·</span> 1756 1757 <a class="copyright__link" 1758 href="https://sanmarinflowers.com/policies/" 1759 > 1760 Policies 1761 </a> 1762 <span>·</span> 1763 1764 <a class="copyright__link" 1765 href="https://sanmarinflowers.com/where-we-deliver" 1766 > 1767 Where We Deliver 1768 </a> 1769 <span>·</span> 1770 1771 <a class="copyright__link" 1772 href="https://sanmarinflowers.com/accessibility-statement/" 1773 > 1774 Accessibility 1775 </a> 1776 <span>·</span> 1777 1778 <a class="copyright__link" 1779 href="/sitemap/" 1780 > 1781 Sitemap 1782 </a> 1783 <p class="copyright__all-rights-reserved">All Rights Reserved ©</p> 1784</div> 1785 </div> 1786 </section> 1787 1788 1789 </section> 1790 <!-- [START] Custom HTML --><!-- [END] Custom HTML -->
1790<script> 1791window.dataLayer = window.dataLayer || []; 1792 1793</script>
1793<div class="announcement" style="display: none"> 1794 <div class="announcement-bg"></div> 1795 <div class="splash"> 1796 <div class="splash-wrapper"> 1797 <div> 1798 <span style="color: rgba(0,0,0,0.75);letter-spacing: -0.1em;font-weight: 400;font-size: 20px;line-height: 1.15;">Your browser is not supported</span> 1799 </div> 1800 </div> 1801 </div> 1802</div> 1803
1804<script> 1805 (function () { 1806 function each(selector, callback) { 1807 Array.prototype.forEach.call(document.querySelectorAll(selector), callback); 1808 } 1809 1810 function ready(callback) { 1811 if (document.readyState === 'loading') { 1812 document.addEventListener('DOMContentLoaded', callback); 1813 } else { 1814 callback(); 1815 } 1816 } 1817 1818 ready(function () { 1819 // $('.sidebar-sort').children() collected the children of every match, so the test is 1820 // on the total across all of them, not on each one in turn. 1821 var sidebars = document.querySelectorAll('.sidebar-sort'); 1822 var sidebarChildren = Array.prototype.reduce.call(sidebars, function (total, sidebar) { 1823 return total + sidebar.children.length; 1824 }, 0); 1825 1826 if (sidebarChildren === 0) { 1827 Array.prototype.forEach.call(sidebars, function (sidebar) { 1828 sidebar.style.display = 'none'; 1829 }); 1830 1831 each('.item_listings', function (listings) { 1832 listings.classList.remove('col-sm-9', 'col-md-9'); 1833 listings.classList.add('sm-12', 'md-12'); 1834 }); 1835 } 1836 1837 // MAINTAIN GRID ALIGNMENT 1838 // Only span elements are inserted, so the anchors' :nth-of-type positions do not shift. 1839 each('.item_listings a:nth-of-type(2n)', function (link) { 1840 link.insertAdjacentHTML('afterend', '<span class="clearfix visible-xs"></span>'); 1841 }); 1842 each('.item_listings a:nth-of-type(3n)', function (link) { 1843 link.insertAdjacentHTML('afterend', '<span class="clearfix visible-sm"></span>'); 1844 }); 1845 each('.item_listings a:nth-of-type(4n)', function (link) { 1846 link.insertAdjacentHTML('afterend', '<span class="clearfix visible-md visible-lg"></span>'); 1847 }); 1848 1849 // PRETTIFY CHECKBOXES 1850 each('[type=checkbox]', function (checkbox) { 1851 checkbox.addEventListener('change', function () { 1852 var siblings = checkbox.parentNode ? checkbox.parentNode.children : []; 1853 1854 Array.prototype.forEach.call(siblings, function (sibling) { 1855 if (sibling === checkbox || !sibling.matches('[class*=fa-]')) { 1856 return; 1857 } 1858 1859 sibling.classList.toggle('fa-check-square-o', checkbox.checked); 1860 sibling.classList.toggle('fa-square-o', !checkbox.checked); 1861 }); 1862 }); 1863 }); 1864 1865 }); 1866 })(); 1867</script>
vendor: 1 bytes, line 1867
1867
1868<script type="text/javascript">window.NREUM||(NREUM={});NREUM.info={"beacon":"bam.nr-data.net","licenseKey":"0ac16663c3","applicationID":"6732204,2307825","transactionName":"YFIHZkFZXxAEUhUIDlkYJkdATF4OSlIMEk5HVgJXHE5YBhI=","queueTime":0,"applicationTime":65,"atts":"TBUQEAlDTE9HUENbGkpK","errorBeacon":"bam.nr-data.net","agent":""}</script>
1868</body> 1869</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.