PageSourceSearch

https://emeraldpetalspdx.com/contact-us/

html emeraldpetalspdx.com collected 2026-09-26 17:52:59 UTC 225,213 bytes, 3,820 lines download raw bytes

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.322.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.322.0"])},981(e,t,r){"use strict";r.d(t,["R",0,{AJAX:"AjaxRequest",PA:"PageAction",UA:"UserAction",BP:"BrowserPerformance",WS:"WebSocket",SPV:"SecurityPolicyViolation",JSE:"JavaScriptError",LOG:"Log",PVE:"PageView",PVT:"PageViewTiming",SR:"SessionReplay",ST:"SessionTrace",BI:"BrowserInteraction"}])},9752(e,t,r){"use strict";const n="newrelic-iframe-",i=n+"timing-update",s=n+"api",a=n+"api-response",o=n+"vitals-update",c=n+"ajax";r.d(t,["$8",0,o,"Gi",0,a,"KU",0,c,"Pl",0,n,"cS",0,s,"cr",0,i])},6154(e,t,r){"use strict";var n=r(1863);const i="undefined"!=typeof window&&!!window.document,s="undefined"!=typeof WorkerGlobalScope&&("undefined"!=typeof self&&self instanceof WorkerGlobalScope&&self.navigator instanceof WorkerNavigator||"undefined"!=typeof globalThis&&globalThis instanceof WorkerGlobalScope&&globalThis.navigator instanceof WorkerNavigator),a=i?window:"undefined"!=typeof WorkerGlobalScope&&("undefined"!=typeof self&&self instanceof WorkerGlobalScope&&self||"undefined"!=typeof globalThis&&globalThis instanceof WorkerGlobalScope&&globalThis),o=Boolean("hidden"===a?.document?.visibilityState),c=""+a?.location,d=/iPad|iPhone|iPod/.test(a.navigator?.userAgent),u=d&&"undefined"==typeof SharedWorker,l=(()=>{const e=a.navigator?.userAgent?.match(/Firefox[/\s](\d+\.\d+)/);return Array.isArray(e)&&e.length>=2?+e[1]:0})(),f=Date.now()-(0,n.t)();r.d(t,["OF",0,d,"RI",0,i,"WN",0,f,"bv",0,s,"gm",0,a,"lR",0,l,"m",0,c,"mw",0,o,"sb",0,u,"zk",0,()=>{const e=a?.performance?.getEntriesByType?.("navigation")?.[0];if(e&&e.responseStart>0&&e.responseStart<a.performance.now())return e}])},7295(e,t,r){"use strict";r.d(t,{Xv:()=>a,gX:()=>i,iW:()=>s});var n=[];function i(e){if(!e||s(e))return!1;if(0===n.length)return!0;if("*"===n[0].hostname)return!1;for(var t=0;t<n.length;t++){var r=n[t];if(r.hostname.test(e.hostname)&&r.pathname.test(e.pathname))return!1}return!0}function s(e){return void 0===e.hostname}function a(e){if(n=[],e&&e.length)for(var t=0;t<e.length;t++){let r=e[t];if(!r)continue;if("*"===r)return void(n=[{hostname:"*"}]);0===r.indexOf("http://")?r=r.substring(7):0===r.indexOf("https://")&&(r=r.substring(8));const i=r.indexOf("/");let s,a;i>0?(s=r.substring(0,i),a=r.substring(i)):(s=r,a="*");let[c]=s.split(":");n.push({hostname:o(c),pathname:o(a,!0)})}}function o(e,t=!1){const r=e.replace(/[.+?^${}()|[\]\\]/g,e=>"\\"+e).replace(/\*/g,".*?");return new RegExp((t?"^":"")+r+"$")}},3241(e,t,r){"use strict";r.d(t,{W:()=>i});var n=r(6154);function i(e={}){try{n.gm.dispatchEvent(new CustomEvent("newrelic",{detail:e}))}catch(e){}}},1687(e,t,r){"use strict";r.d(t,{Ak:()=>o,Ze:()=>d,x3:()=>c});var n=r(3241),i=r(3606),s=r(860),a=r(2646);function o(e,t){if(!e)return;const r={staged:!1,priority:s.P3[t]||0};
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.322.0.min.js"),r.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),(()=>{const e={},t="NRBA-1.322.0.PROD:";r.l=(n,i,s,a)=>{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-YFF+tf82v8eglmCSz5XYYPZ9svAEVPEL8CjIs/VJ5WDjxajLkBKoCp6iBhqtcYRu8v8sXwAWX58PGV4RVzB2dQ==",222:"sha512-y0XrI32v2ZxZdktMLngwYUsETp/i/aYkdx9JOeIAmr2KYJdlDneMKYdNwPaZiOX3gb7AXywTby7jg1okwEkArw==",95:"sha512-WtCe89dmBu8YGhCnszRdHzYCzOqwTSeitVhY/ahmZczjI+0C6KOazsnU/vPsTDaM7VSG+iZW7zidI1t5+hpiYQ==",649:"sha512-AYJxsYTPRDF5tWSm4lWONX5VM69Ou9twLFZ8apchUI9gNOrXBkzP8QZ+PQkMz8nGjh/7oVMR+1cA+5dWFYhmmw=="};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.322.0.PROD"]=self["webpackChunk:NRBA-1.322.0.PROD"]||[];n.forEach(t.bind(null,0)),n.push=t.bind(null,n.push.bind(n))})(),(()=>{"use strict";r(8374);var e=r(8362),t=r(860);const n=Object.values(t.K7);var i=r(384),s=r(1741);var a=r(2555),o=r(3333),c=r(9300);const d=e=>{if(!e||"string"!=typeof e)return!1;try{document.createDocumentFragment().querySelector(e)}catch{return!1}return!0};var u=r(2614),l=r(944),f=r(8122);const h="[data-nr-mask]",p=e=>(0,f.a)(e,(()=>{const e={feature_flags:[],experimental:{register:!1,resources:!1,iframe_bridge:!1,iframe_domains:[]},mask_selector:"*",block_selector:"[data-nr-block]",mask_input_options:{color:!1,date:!1,"datetime-local":!1,email:!1,month:!1,number:!1,range:!1,search:!1,tel:!1,text:!1,time:!1,url:!1,week:!1,textarea:!1,select:!1,password:!0}};return{ajax:{deny_list:void 0,block_internal:!0,enabled:!0,autoStart:!0,capture_payloads:c.mo.NONE},api:{register:{get enabled(){return e.feature_flags.includes(o.$v.REGISTER)||e.experimental.register},set enabled(t){e.experimental.register=t},duplicate_data_to_container:!1,get allow_iframe_bridge(){return e.feature_flags.includes(o.$v.IFRAME_BRIDGE)||e.experimental.iframe_bridge},set allow_iframe_bridge(t){e.experimental.iframe_bridge=t},get iframe_domains(){return e.experimental.iframe_domains},set iframe_domains(t){Array.isArray(t)?e.experimental.iframe_domains=t:(0,l.R)(1,t)}}},browser_consent_mode:{enabled:!1},distributed_tracing:{enabled:void 0,exclude_newrelic_header:void 0,cors_use_newrelic_header:void 0,cors_use_tracecontext_headers:void 0,allowed_origins:void 0},get feature_flags(){return e.feature_flags},set feature_flags(t){e.feature_flags=t},generic_events:{enabled:!0,autoStart:!0},harvest:{interval:30},jserrors:{enabled:!0,autoStart:!0},logging:{enabled:!0,autoStart:!0},metrics:{enabled:!0,autoStart:!0},obfuscate:void 0,page_action:{enabled:!0},page_view_event:{enabled:!0,autoStart:!0},page_view_timing:{enabled:!0,autoStart:!0},performance:{capture_marks:!1,capture_measures:!1,capture_detail:!0,resources:{get enabled(){return e.feature_flags.includes(o.$v.RESOURCES)||e.experimental.resources},set enabled(t){e.experimental.resources=t},asset_types:[],first_party_domains:[],ignore_newrelic:!0}},privacy:{cookies_enabled:!0},proxy:{assets:void 0,beacon:void 0},session:{expiresMs:u.wk,inactiveMs:u.BB},session_replay:{autoStart:!0,enabled:!1,preload:!1,sampling_rate:10,error_sampling_rate:100,collect_fonts:!1,inl
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 U=r(6630);class K extends W{static featureName=U.T;constructor(e){var t;super(e,U.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(K),_(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"],Ue=g.gm.Request,Ke=g.gm.Response,Fe="prototype";const Ve={};function ze(e,t){const r=function(e){return(e||w.ee).get("fetch")}(e);if(!(Ue&&Ke&&g.gm.fetch))return r;if(Ve[r.debugId]++)return r;function n(e,n,i){var s=e[n];"function"==typeof s&&(e[n]=function(){var e=[...arguments];const n={},a=(0,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(Ue[Fe],e,He),n(Ke[Fe],e,He)}),n(g.gm,"fetch",Be),r.on(Be+"end",function(e,n,i){var s=this;if(s.targets=i||[t.runtime.v2Target],n){var a=n.headers.get("content-length");null!==a&&(s.rxSize=a),r.emit(Be+"done",[null,n],s)}else r.emit(Be+"done",[e],s)}),r}var Ge=r(7485);class qe{constructor(e){this.agentRef=e}generateTracePayload(e){const t=this.agentRef.loader_config;if(!this.shouldGenerateTrace(e)||!t)return null;var r=(t.accountID||"").toString()||null,n=(t.agentID||"").toString()||null,i=(t.trustKey||"").toString()||null;if(!r||!n)return null;var s=(0,ye.ZF)(),a=(0,ye.el)(),o=Date.now(),c={spanId:s,traceId:a,timestamp:o};return(e.sameOrigin||this.isAllowedOrigin(e)&&this.useTraceContextHeadersForCors())&&(c.traceContextParentHeader=this.generateTraceContextParentHeader(s,a),c.traceContextStateHeader=this.generateTraceContextStateHeader(s,o,r,n,i)),(e.sameOrigin&&!this.excludeNewrelicHeader()||!e.sameOrigin&&this.isAllowedOrigin(e)&&this.useNewrelicHeaderForCors())&&(c.newrelicHeader=this.generateTraceHeader(s,a,o,r,n,i)),c}generateTraceContextParentHeader(e,t){return"00-"+t+"-"+e+"-01"}generateTraceContextStateHeader(e,t,r,n,i){return i+"@nr=0-1-"+r+"-"+n+"-"+e+"----"+t}generateTraceHeader(e,t,r,n,i,s){if(!("function"==typeof g.gm?.btoa))return null;var a={v:[0,1],d:{ty:"Browser",ac:n,ap:i,id:e,tr:t,ti:r}};return s&&n!==s&&(a.d.tk=s),btoa((0,X.A)(a))}shouldGenerateTrace(e){return this.agentRef.init?.distributed_tracing?.enabled&&this.isAllowedOrigin(e)}isAllowedOrigin(e){var t=!1;const r=this.agentRef.init?.distributed_tracing;if(e.sameOrigin)t=!0;else if(r?.allowed_origins instanceof Array)for(var n=0;n<r.allowed_origins.length;n++){var i=(0,Ge.D)(r.allowed_origins[n]);if(e.hostname===i.hostname&&e.protocol===i.protocol&&e.port===i.port){t=!0;break}}return t}excludeNewrelicHeader(){var e=this.agentRef.init?.distributed_tracing;return!!e&&!!e.exclude_newrelic_header}useNewrelicHeaderForCors(){var e=this.agentRef.init?.distributed_tracing;return!!e&&!1!==e.cors_use_newrelic_header}useTraceContextHeadersForCors(){var e=this.agentRef.init?.distributed_tracing;return!!e&&!!e.cors_use_tracecontext_headers}}var Ye=r(7295);function Ze(e){return"string"==typeof e?e:e instanceof(0,i.dV)().o.REQ?e.url:g.gm?.URL&&e instanceof URL?e.href:void 0}function $e(e,t){var r=(0,Ge.D)(t),n=e.params||e;n.hostname=r.hostname,n.port=r.port,n.protocol=r.protocol,n.host=r.hostname+":"+r.port,n.pathname=r.pathname,e.parsedOrigin=r,e.sameOrigin=r.sameOrigin}var Je=["load","error","abort","timeout"],Xe=Je.length,Qe=(0,i.dV)().o.REQ,et=(0,i.dV)().o.XHR;const tt="X-NewRelic-App-Data",rt="internal-error";class nt extends W{static featureName=c.TZ;constructor(e){super(e,c.TZ),this.dt=new qe(e),this.handler=(e,t,r,n)=>(0,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:[K,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            url('https://promfiles.com/bloom/dist/frontend/premiumsites/bloom/fonts/woff/AvenirNext-Regular.1017e4f4.woff') format('woff');
22            font-weight: 100;
23            unicode-range: U+000-5FF;
24        }
25
26        @font-face {
27            font-display: swap;
28            font-family: 'Avenir';
29            src: local('Avenir'),
30            url('https://promfiles.com/bloom/dist/frontend/premiumsites/bloom/fonts/woff2/AvenirNext-Medium.8f8afa8e.woff2') format('woff2'),
31            url('https://promfiles.com/bloom/dist/frontend/premiumsites/bloom/fonts/woff/AvenirNext-Medium.bb4e0d80.woff') format('woff');
32            font-weight: 200;
33            unicode-range: U+000-5FF;
34        }
35
36        @font-face {
37            font-display: swap;
38            font-family: 'Avenir';
39            src: local('Avenir'),
40            url('https://promfiles.com/bloom/dist/frontend/premiumsites/bloom/fonts/woff2/AvenirNext-UltraLight.d9fd23ba.woff2') format('woff2'),
41            url('https://promfiles.com/bloom/dist/frontend/premiumsites/bloom/fonts/woff/AvenirNext-UltraLight.99b9fd3e.woff') format('woff');
42            font-weight: 50;
43            unicode-range: U+000-5FF;
44        }
45
46        @font-face {
47            font-display: swap;
48            font-family: 'Avenir';
49            src: local('Avenir'),
50            url('https://promfiles.com/bloom/dist/frontend/premiumsites/bloom/fonts/woff2/AvenirNext-DemiBold.eea19314.woff2') format('woff2'),
51            url('https://promfiles.com/bloom/dist/frontend/premiumsites/bloom/fonts/woff/AvenirNext-DemiBold.37566b7a.woff') format('woff');
52            font-weight: 300;
53            unicode-range: U+000-5FF;
54        }
55
56        @font-face {
57            font-display: swap;
58            font-family: 'Avenir';
59            src: local('Avenir'),
60            url('https://promfiles.com/bloom/dist/frontend/premiumsites/bloom/fonts/woff2/AvenirNext-Bold.b652524b.woff2') format('woff2'),
61            url('https://promfiles.com/bloom/dist/frontend/premiumsites/bloom/fonts/woff/AvenirNext-Bold.d1a3cf86.woff') format('woff');
62            font-weight: 400;
63            unicode-range: U+000-5FF;
64        }
65
66        * {
67            letter-spacing: 0 !important;
68            font-smoothing: antialiased;
69            -webkit-font-smoothing: antialiased;
70            -moz-font-smoothing: antialiased;
71            -o-font-smoothing: antialiased;
72        }
73
74        body {
75            --bn--primary-font: var(--bn--default-font);
76            font-family: var(--bn--primary-font);
77        }
78    </style>
79    <title>Contact Us | Emerald Petals</title>
80    <meta name="google-site-verification" content="b0Rj0VQwWWJIgxh7UKl7NNllFo8AuiuHL5cAMASDDvA"/>
81    <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."/>
82    <meta name="keywords" content=""/>
83    <meta name="robots" content="NOINDEX,NOFOLLOW"/>
84    <link rel="canonical" href="https://emeraldpetalspdx.com/contact-us/"/>
85
86    <link rel="icon" href="https://asset.bloomnation.com/f_auto,q_auto/v1/vendor/global/favicon/favicon.ico" type="image/x-icon"/>
87    <link rel="shortcut icon" href="https://asset.bloomnation.com/f_auto,q_auto/v1/vendor/global/favicon/favicon.ico" type="image/x-icon"/>
88
89
90    
90<script type="text/javascript" src="https://promfiles.com/bloom/dist/js/lib/jquery/jquery-1.12.1.min.2a534122.js"></script>
90
91    
91<script>jQuery.noConflict();</script>
91
92    
92<script type="application/ld+json">{"@context":"https://schema.org/","@type":["Florist","LocalBusiness","Organization"],"@id":"https://emeraldpetalspdx.com/#florist","name":"Emerald Petals","image":"https://asset.bloomnation.com/c_fit,dpr_2,f_auto,h_417,q_auto,w_600/v1/vendor/10135/profile/emeraldPetals-logo_6729ed3b593d2.png","logo":"https://asset.bloomnation.com/c_fit,dpr_2,f_auto,h_417,q_auto,w_600/v1/vendor/10135/profile/emeraldPetals-logo_6729ed3b593d2.png","url":"https://emeraldpetalspdx.com/","address":{"@type":"PostalAddress","streetAddress":"Delivering local, seasonal, floral magic","addressLocality":"Portland","addressRegion":"OR","postalCode":"97218","addressCountry":"US"},"telephone":"+15037194503","priceRange":"$$","openingHoursSpecification":[{"@type":"OpeningHoursSpecification","dayOfWeek":["Monday","Tuesday","Wednesday","Thursday","Friday"],"opens":"11:00","closes":"17:00"},{"@type":"OpeningHoursSpecification","dayOfWeek":"Saturday","opens":"11:00","closes":"14:00"},{"@type":"OpeningHoursSpecification","validFrom":"2027-02-14","validThrough":"2027-02-14","opens":"11:00","closes":"17:00"},{"@type":"OpeningHoursSpecification","validFrom":"2027-05-09","validThrough":"2027-05-09","opens":"11:00","closes":"17:00"},{"@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"}],"areaServed":[{"@type":"Place","address":{"@type":"PostalAddress","addressCountry":"US","addressRegion":"OR","addressLocality":"Beaverton"}},{"@type":"Place","address":{"@type":"PostalAddress","addressCountry":"US","addressRegion":"OR","addressLocality":"Progress"}},{"@type":"Place","address":{"@type":"PostalAddress","addressCountry":"US","addressRegion":"OR","addressLocality":"Aloha"}},{"@type":"Place","address":{"@type":"PostalAddress","addressCountry":"US","addressRegion":"OR","addressLocality":"Hillsboro"}},{"@type":"Place","address":{"@type":"PostalAddress","addressCountry":"US","addressRegion":"OR","addressLocality":"Interlachen"}},{"@type":"Place","address":{"@type":"PostalAddress","addressCountry":"US","addressRegion":"OR","addressLocality":"Fairview"}},{"@type":"Place","address":{"@type":"PostalAddress","addressCountry":"US","addressRegion":"OR","addressLocality":"Wood Village"}},{"@type":"Place","address":{"@type":"PostalAddress","addressCountry":"US","addressRegion":"OR","addressLocality":"Gladstone"}},{"@type":"Place","address":{"@type":"PostalAddress","addressCountry":"US","addressRegion":"OR","addressLocality":"Gresham"}},{"@type":"Place","address":{"@type":"PostalAddress","addressCountry":"US","addressRegion":"OR","addressLocality":"Damascus"}},{"@type":"Place","address":{"@type":"PostalAddress","addressCountry":"US","addressRegion":"OR","addressLocality":"Rivergrove"}},{"@type":"Place","address":{"@type":"PostalAddress","addressCountry":"US","addressRegion":"OR","addressLocality":"Lake Oswego"}},{"@type":"Place","address":{"@type":"PostalAddress","addressCountry":"US","addressRegion":"OR","addressLocality":"Lake Grove"}},{"@type":"Place","address":{"@type":"PostalAddress","addressCountry":"US","addressRegion":"OR","addressLocality":"Oswego"}}],"description":"Emerald Petals is a full service flower studio committed to sustainable practices.\nWe offer fresh custom arrangements for everyday life, special deliveries, weddings and events. With a focus on local, sustainable, and domestic flowers and botanicals.\nEmerald Petals is Portland's eco florist.\nWe truly care about the environment and what effect our footprint will have on it. We source our flowers daily from local farmers.\nDuring the off season, we also use domestic, sustainably grown product, and ","sameAs":["https://www.facebook.com/EmeraldPetals","https://www.instagram.com/emeraldpetals","https://www.google.com/maps?cid=12811538107796680238","https://www.pinterest.com/emeraldpetals","https://www.yelp.com/biz/emerald-petals-portland","https://www.bloomnation.com/florist/emerald-petals/"],"geo":{"@type":"GeoCoordinates","longitude":-122.58951706,"latitude":45.56122718},"hasMerchantReturnPolicy":{"@type":"MerchantReturnPolicy","applicableCountry":"US","returnPolicyCategory":"https://schema.org/MerchantReturnNotPermitted","merchantReturnLink":"https://emeraldpetalspdx.com/policies"},"hasShippingService":{"@type":"ShippingService","@id":"https://emeraldpetalspdx.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
92ay","Saturday"],"duration":{"@type":"QuantitativeValue","minValue":0,"maxValue":0,"unitCode":"DAY"},"cutoffTime":"08:00:00-07:00"},"shippingConditions":[{"@type":"ShippingConditions","shippingDestination":{"@type":"DefinedRegion","addressCountry":"US"},"shippingRate":{"@type":"MonetaryAmount","value":"10.00","currency":"USD"},"transitTime":{"@type":"ServicePeriod","duration":{"@type":"QuantitativeValue","minValue":0,"maxValue":0,"unitCode":"DAY"}}}]},"aggregateRating":{"@type":"AggregateRating","ratingValue":"4.92","reviewCount":"25","worstRating":"1","bestRating":"5","url":"https://www.bloomnation.com/florist/emerald-petals/reviews/"}}</script>
92
93
94<link rel="stylesheet" href="https://promfiles.com/bloom/dist/js/bloomnation/review-photos.8ea4dd02.css" />
95<link rel="stylesheet" href="https://promfiles.com/bloom/dist/frontend/premiumsites/bloom/css/bootstrap.min.8dd31aca.css" media="all" />
96<link rel="stylesheet" href="https://promfiles.com/bloom/dist/frontend/premiumsites/bloom/css/font-awesome.min.da606908.css" media="all" />
97<link rel="stylesheet" href="https://promfiles.com/bloom/dist/frontend/premiumsites/bloom/css/layout.c5c342e2.css" media="all" />
98<link rel="stylesheet" href="https://promfiles.com/bloom/dist/frontend/premiumsites/bloom/css/typography.ab03696f.css" media="all" />
99<link rel="stylesheet" href="https://promfiles.com/bloom/dist/frontend/premiumsites/bloom/css/header.min.6ecf0dca.css" media="all" />
100<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>
101<link rel="preload" as="style" href="https://promfiles.com/bloom/dist/frontend/premiumsites/bloom/css/components.min.a065e359.css" onload="this.onload=null;this.rel='stylesheet'" /><noscript><link rel="stylesheet" href="https://promfiles.com/bloom/dist/frontend/premiumsites/bloom/css/components.min.a065e359.css" /></noscript>
102<script src="https://promfiles.com/bloom/dist/js/runtime.8353d46c.js"></script>
vendor: 1 bytes, line 102
102
103<script src="https://promfiles.com/bloom/dist/js/lib/ccard.0b909381.js"></script>
vendor: 1 bytes, line 103
103
104<script src="https://promfiles.com/bloom/dist/js/bloomnation/global.612205a7.js"></script>
vendor: 1 bytes, line 104
104
105<script src="https://promfiles.com/bloom/dist/js/bloomnation/forms/clear-validation-state.cb4122c4.js"></script>
vendor: 1 bytes, line 105
105
106<script src="https://promfiles.com/bloom/dist/frontend/premiumsites/bloom/runtime.ceb56166.js"></script>
vendor: 1 bytes, line 106
106
107<script src="https://promfiles.com/bloom/dist/frontend/premiumsites/bloom/js/bootstrap.min.ed580635.js"></script>
vendor: 1 bytes, line 107
107
108<script src="https://promfiles.com/bloom/dist/js/popup/popup.eace3136.js" defer></script>
vendor: 1 bytes, line 108
108
109<script src="https://promfiles.com/bloom/dist/js/bloomnation/review-photos.59481161.js" defer></script>
vendor: 1 bytes, line 109
109
110<script src="https://promfiles.com/bloom/dist/frontend/premiumsites/bloom/js/main-nav.05e9f99c.js" defer></script>
vendor: 1 bytes, line 110
110
111<script src="https://promfiles.com/bloom/dist/frontend/premiumsites/bloom/js/wm-slider.2c143ae6.js" defer></script>
111
112
113
114
115    
116                    <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Poppins:ital,wght@0,400;0,500;0,600;0,700;0,800;0,900;1,400;1,500;1,600;1,700;1,800;1,900&amp;display=swap" media="print" onload="this.media='all'">
117    
118    <style id="bn__site_theme">
119
120                :root {
121                    --primary-font: Poppins, sans-serif;
122                    --site-max-width: 1200px;
123                    --body-bg: rgb(255, 255, 255);
124                    --body-text-color: #064b28ff;
125                    --text-action-color: #293333;
126                    --button-text-color: #ffffff;
127                    --element-action-color: #7a635e;
128                    --header-bg: rgb(255, 255, 255);
129                    --header-text-color: #064b28ff;
130                    --footer-bg: #FFFFFF;
131                    --footer-text-color: #064b28ff;
132                    --menu-color: rgb(255, 255, 255);
133                    --header-address-color: #064b28ff;
134                    --my-account-color: rgb(122, 99, 94);
135                    --color-light: #fff;
136                    --card-action-color: rgb(41, 51, 51);
137                    --popular-pick-action-color: rgb(41, 51, 51);
138                    --element-action-color-active: #ed1566;
139                    --text-action-color-active: #29333390;
140                    --header-text-color-active: #1f6441;
141                    --body-text-color-active: #1f6441;
142                    --footer-text-color-active: #1f6441;
143                    --decorative-font: Poppins, sans-serif;
144                    --card-action-color-active: #424c4c;
145                    --popular-pick-action-color-active: #424c4c;
146                }
147        
148        body {
149            font-family: var(--primary-font);
150        }
151
152        body:not(.cms-page-view) {
153            background: var(--body-bg);
154        }
155
156        .row {
157            max-width: var(--site-max-width);
158        }
159
160        a,
161        a:active,
162        a:visited {
163            color: var(--text-action-color);
164        }
165
166        a:hover {
167            color: var(--text-action-color-active);
168        }
169
170        #header {
171            background: var(--header-bg);
172        }
173
174        .my-account-mob .header-cartBtn {
175            background-color: transparent !important;
176        }
177
178        .header-cartBtn .header-cartIcon {
179            color: var(--header-icon-color, #333);
180        }
181
182        #header .header-nav.headerNav-wrapper {
183            background: var(--menu-color);
184        }
185
186        .information-heading .infoHeading-item {
187            color: var(--header-address-color);
188        }
189
190        .nav-itemText {
191            color: var(--header-text-color);
192        }
193
194        .nav-itemText:hover,
195        .nav-itemWrapper:hover,
196        .nav-item:hover {
197            color: var(--header-text-color-active);
198        }
199
200        .note-msg,
201        .listings .note-msg,
202        ul.disc,
203        .listings-sorting_options span,
204        span.pagination-page_count,
205        .designerschoice-index-view #content,
206        a.itemListings-subheaderLink,
207        .breadcrumb>li,
208        .breadcrumb li a,
209        ul.disc li a {
210            color: var(--body-text-color);
211        }
212
213        a.itemListings-subheaderLink:hover,
214        .breadcrumb>li:hover,
215        .breadcrumb li a:hover,
216        ul.disc li a:hover {
217            color: var(--body-text-color-active);
218        }
219
220        .cms-page-view .breadcrumb>li,
221        .cms-page-view .breadcrumb li a {
222            color: inherit;
223        }
224
225        .cms-page-view .breadcrumb li a:visited,
226        .cms-page-view .breadcrumb li a:active,
227        .cms-page-view .breadcrumb li a:hover {
228            color: inherit;
229        }
230
231        h1.banners-header {
232            color: var(--body-text-color);
233        }
234
235        h2.itemListings-header {
236            color: var(--body-text-color);
237        }
238
239        h3.itemListings-subheader {
240            color: var(--body-text-color);
241        }
242
243        .cms-index-aboutus #content,
244        .cms-index-aboutus #content h1[itemprop=name],
245        .cms-index-aboutus #content span[itemprop=description],
246        .cms-index-faq #content,
247        .cms-index-faq #content h1[itemprop=name],
248        .cms-index-faq #content span[itemprop=description],
249        .about-us-nlp__header,
250        .product_details-about-designer h3,
251        .product_details-about-designer span {
252            color: var(--body-text-color);
253        }
254
255        .cms-index-gallery #content,
256        .cms-index-gallery #content a {
257            color: var(--body-text-color);
258        }
259
260        .cms-index-gallery #content a:hover {
261            color: var(--body-text-color-active);
262        }
263
264        .listings .sidebar-sort > div.sidebar {
265            background: var(--color-light, #fff);
266        }
267
268        .listings .sidebar-sort > div.sidebar-best_selling {
269            background: var(--color-light, #fff);
270        }
271
272        h1.catalog-header {
273            color: var(--body-text-color);
274        }
275        .pagination > .active > a,
276        .pagination > .active > span,
277        .pagination > .active > a:hover,
278        .pagination > .active > span:hover,
279        .pagination > .active > a:focus,
280        .pagination > .active > span:focus {
281            border-color: var(--element-action-color);
282            color: var(--button-text-color);
283            background: var(--element-action-color);
284        }
285
286        .pagination > li > a,
287        .pagination > li > span,
288        .pagination > li > a:hover,
289        .pagination > li > span:hover {
290            color: var(--text-action-color);
291        }
292        a.search-results-empty__btn,
293        .btn-success,
294        .btn-update,
295        .btn-continue {
296            border-color: var(--element-action-color);
297            color: var(--button-text-color);
298            background: var(--element-action-color);
299        }
300
301        a.search-results-empty__btn:hover,
302        .btn-success:hover,
303        .btn-update:hover,
304        .btn-continue:hover,
305        .btn-success:focus,
306        .btn-success:active {
307            border-color: var(--element-action-color-active);
308            color: var(--button-text-color);
309            background: var(--element-action-color-active);
310        }
311        #footer {
312            background: var(--footer-bg);
313            color: var(--footer-text-color);
314        }
315
316        .footer-social_media {
317            background: var(--footer-bg);
318        }
319
320        section#footer #super-footer a,
321        section#footer #super-footer p,
322        section#footer a {
323            color: var(--footer-text-color);
324        }
325
326        section#footer #super-footer a:hover,
327        section#footer a:hover {
328            color: var(--footer-text-color-active);
329        }
330
331        #my-account_menu-label {
332            color: var(--my-account-color, #333);
333        }
334
335        .my-account-icon {
336            color: var(--header-icon-color, #333);
337        }
338
339        .link-default,
340        .link-default:visited,
341        .link-default:active,
342        .sidebar a,
343        .sidebar a:active,
344        .sidebar a:visited,
345        .delivery__content a,
346        .delivery__content a:active,
347        .delivery__content a:visited {
348            color: var(--card-action-color, #428bca);
349        }
350
351        a.link-default:hover,
352        .sidebar a:hover,
353        .delivery__content a:hover {
354            color: var(--card-action-color-active, #2a6496);
355        }
356
357        a.social__icon-link:hover {
358            color: var(--card-action-color-active, #2a6496);
359        }
360
361        .poppick_item a,
362        .poppick_item a:active,
363        .poppick_item a:visited {
364            color: var(--popular-pick-action-color, #428bca);
365        }
366
367        .poppick_item a:hover {
368            color: var(--popular-pick-action-color-active, #2a6496);
369        }
370
371        .social__icon-link,
372        .social__icon-link:active,
373        .social__icon-link:visited {
374            color: inherit;
375        }
376
377        .subscription-list-page__title,
378        .subscription-list-page__description,
379        .subscription-customize-form-section,
380        .subscription-customize-form-terms-section,
381        .subscription-customize-form__disclaimer,
382        .product-list__additional-info,
383        .subscription-customize-form__header {
384            color: var(--body-text-color);
385        }
386
387        .member_of_bloomnation-logo {
388            background: rgba(255,255,255,0.7);
389            border-radius: 12px;
390        }
391    </style>
392
393    <style>
394    :root {
395        --bn--primary-color: #7a635e;
396        --bn--secondary-color: ;
397        --bn--background-color: ;
398        --bn--mobile-menu-text-color: ;
399    }
400
401    /* Primary Color Classes */
402            #account-management .account-navigation__link:hover,
403        .item-wrapper .itemInfo-wrapper .itemInfo-deliveryText span.add-to-cart-msg:hover,
404        .btn.btn-lg.size-cancel {
405            color: var(--bn--primary-color) !important;
406        }
407
408        #account-management .account__button.account__button--solid,
409        #account-management .form__submit {
410            background: var(--bn--primary-color) !important;
411            border-color: var(--bn--primary-color) !important;
412        }
413
414        #account-management .account__button.account__button--solid:hover,
415        #account-management .form__submit:hover,
416        .ps-account-form__submit:hover {
417            opacity: .95 !important;
418        }
419
420        #account-management .account__button.account__button--outline:hover {
421            color: var(--bn--primary-color) !important;
422            border-color: var(--bn--primary-color) !important;
423        }
424
425        #checkout .additional-options__submit {
426            background: var(--bn--primary-color) !important;
427            color: #fff;
428        }
429
430        #checkout .additional-options__submit:hover {
431            /* lighten 20%: */
432            box-shadow: inset 0 0 100px 100px rgba(255, 255, 255, 0.2);
433        }
434
435        .checkbox-checked path {
436            fill: var(--bn--primary-color) !important;
437        }
438
439        .no-blooms-wrapper .shop-now-btn {
440            background: var(--bn--primary-color);
441        }
442
443        .ps-account-form__submit,
444        .deliveryText-background,
445        .btn.btn-primary.btn-lg.size-update {
446            background: var(--bn--primary-color) !important;
447        }
448
449        .ps-account-form__submit:hover {
450            opacity: .95 !important;
451        }
452
453        .no-blooms-wrapper .shop-now-btn {
454            background: var(--bn--primary-color);
455        }
456
457        #shopping-cart-table .cart-dropdown-size .dropdown-menu .radio-primary input[type="radio"]:checked + label::before,
458        .radio.radio-primary,
459        .vendorAlert-innerWrapper,
460        #shopping-cart-table .cart-dropdown-size .dropdown-menu .dropdown-menu-buttons .btn {
461            border-color: var(--bn--primary-color) !important;
462        }
463
464        #shopping-cart-table .cart-dropdown-size .dropdown-menu .radio-primary input[type="radio"]:checked + label::after {
465            background-color: var(--bn--primary-color) !important;
466        }
467
468        .best-selling-badge {
469            border-color: var(--bn--primary-color);
470        }
471
472        .best-selling-badge span {
473            color: var(--bn--primary-color);
474        }
475
476        @media (max-width: 767px) {
477            .header-mobile .navigation-mobile.open,
478            .navigation-mobile .sub-navigation-mobile,
479            .header-mobile .nav-itemWrapper.open .nav-item,
480            .dropdown-menu,
481            .mobile-filters-toolbar label.mobile-filters-radio-wrapper input[type=radio]:checked + .mobile-filters-radio:after{
482                background: var(--bn--primary-color);
483            }
484
485            .header-mobile .fa-reorder {
486                color: var(--bn--primary-color);
487            }
488
489            .mobile-filters-toolbar label.mobile-filters-radio-wrapper input[type=radio]:checked + .mobile-filters-radio{
490                border-color: var(--bn--primary-color);
491            }
492
493            #header .header-cart .cart_button,
494            .mobile-filters-toolbar .mobile-toolbar-footer .footer-button-container .apply-filters,
495            .mobile-filters-toolbar .mobile-filters-container .mobile-toolbar-overflow-wrapper .sidebar-mobile .sorting-options label .fa-check-square-o:before
496            {
497                background: var(--bn--primary-color);
498                border-color: var(--bn--primary-color);
499            }
500
501        }
502    
503    /* Secondary Color Classes */
504    
505    /* Background Color Classes */
506    
507    /* Background Color Classes */
508    </style>
509
510    <style data-id="vendor-css">
511        @import url('https://fonts.googleapis.com/css2?family=Poppins:ital,wght@0,400;0,500;0,600;0,700;0,800;0,900;1,400;1,500;1,600;1,700;1,800;1,900&display=swap');:root{--color-dark:#212427}html{font-size:62.5%}body{font-family:"Poppins",sans-serif}.row{max-width:var(--site-max-width)}a,a:active,a:visited{color:var(--text-action-color)}a:hover{color:var(--text-action-color-active)}h1,h2,h3,h4,h5,h6{font-weight:bold !important}#header{padding:2.5rem 0 0;border-bottom:1px solid #efefef}.row.header-innerContainer{display:flex;align-items:center;flex-wrap:wrap}.infoHeading{margin-bottom:0;flex:1 1 100%;text-align:right}.infoHeading-item{color:var(--header-text-color)}.header-logo{margin-top:-4rem;flex:1}.checkout-page .header-logo{margin-top:0}.company-logo{max-width:fit-content}.cms-index-gallery .companyLogo-img,.checkout-onestep-index .company-logo img,.companyLogo-img{max-width:24rem}.header-cart{flex:1}.my-account-mob .header-cartBtn{background:var(--element-action-color);border-radius:5px !important}.my-account-mob .header-cartBtn:hover{background:var(--element-action-color-active)}.header-cartBtn .header-cartIcon{color:var(--button-text-color)}.header-cart .my-account-button-text,.cart_text{color:var(--header-text-color)}.header-cart .my-account-button-text:hover,.cart_text:hover{color:var(--header-text-color-active)}.header-cart .header-cartBtn-wrapper .cart-badge,.badge{background:#fab800;color:#330d00}.header-nav{background:var(--header-bg)}.nav-itemText{color:var(--header-text-color)}li.nav-itemWrapper:nth-child(2) .nav-itemText{color:#ed1566}li.nav-itemWrapper:nth-child(2){border-top:1px solid #ed1566;border-bottom:1px solid #ed1566}.nav-item:hover,.nav-itemText:hover,.nav-itemWrapper:hover,.nav-itemWrapper .nav-item:hover{color:var(--header-text-color-active);background:transparent}.header-subnav .nav-item--subnav:hover{color:var(--color-dark)}h1.banners-header{z-index:9999}.banner--left{width:100%}.gallery-title{text-align:center}.featured_listings{display:none}.search_bar{background:transparent}.bar-quick_select,.bar-quick_sort .search_bar>div{background:#efefef}.bar-quick_sort .search_bar button{background:var(--element-action-color);color:var(--button-text-color)}.sidebar-title{background:#efefef}.listings .sidebar-sort>div.sidebar{background:var(--color-light)}.listings .sidebar-sort>div.sidebar-best_selling{background:var(--color-light)}.pagination>.active>a,.pagination>.active>span,.pagination>.active>a:hover,.pagination>.active>span:hover,.pagination>.active>a:focus,.pagination>.active>span:focus{border-color:var(--element-action-color);color:var(--button-text-color);background:var(--element-action-color)}.pagination>li>a,.pagination>li>span,.pagination>li>a:hover,.pagination>li>span:hover{color:var(--text-action-color)}#shopping-cart-table tr{background:var(--color-light)}.cart .sidebar{background:var(--color-light)}a.search-results-empty__btn,#orderForm .orderForm-checkout .btn,.btn-success,.btn-checkout,.btn-checkout-next,#checkout .sidebar .btn-success,.btn-update,.btn-continue,.checkout-cart-index .cart .btn-proceed-checkout{border-color:var(--element-action-color);color:var(--button-text-color);background:var(--element-action-color);font-weight:400 !important;border-radius:3px !important}a.search-results-empty__btn:hover,#orderForm .orderForm-checkout .btn:hover,.btn-success:hover,.btn-checkout:hover,#checkout .sidebar .btn-success:hover,.btn-update:hover,.btn-continue:hover,.btn-success:focus,.btn-success:active,.checkout-cart-index .cart .btn-proceed-checkout:hover{border-color:var(--element-action-color-active);color:var(--button-text-color);background:var(--element-action-color-active)}.header-secure-badge{float:right}#checkout .sidebar .sidebar-inner,#checkout .step-status,#checkout .step{margin-top:1rem;background:var(--color-light);border:1px solid #efefef}#account-management.account{height:auto}#account-management .account-overlay{background:transparent}#footer{padding-bottom:1rem;color:var(--footer-text-color)}section#footer a{color:var(--footer-text-color)}section#footer a:hover{color:var(--footer-text-color-active)}.footer-social_media{background:#efefef}.social-innerContainer{display:flex;justify-content:center;flex-wrap:wrap;align-items:center}.about-us-page-premier-florist p{white-space:normal}.footerImgs-itemsContainer{display:flex;justify-content:center;align-items:center}.footerImgs-itemsContainer::before{display:none}.u-responsiveImg{width:100%}.planned-delivered-div{text-align:center}.planned-delivered-logo img{margin:0 auto;display:block}.cms-planned-delivered #content .std,.cms-wedding-events #content .std{max-width:var(--site-max-width);display:block;margin:0 auto}.cms-planned-delivered h1,.cms-wedding-events h1{font-size:2em;margin-bottom:20px}.cms-planned-delivered p,.wedding-content p{margin-bottom:20px}@media screen and (max-width:768px){.cms-index-gallery .companyLogo-img,.companyLogo-img{max-width:100%}.checkout-onestep-index .company-logo img{max-width:18rem}.banner--left{margin-top:0}.bar-quick_sort{margin-top:1.5rem}.bar-quick_sort .search_bar{padding-right:0}}@media screen and (max-width:767px){.header-mobile{border-bottom:1px solid #efefef}
511.cms-index-gallery #content,.cms-index-gallery [id^="custom-page-main-content"]{padding:20px}li.nav-itemWrapper:nth-child(2) .nav-itemText{color:var(--color-light)}li.nav-itemWrapper:nth-child(2){border-top:none;border-bottom:none}.member_of_bloomnation_wrapper{display:flex;flex-direction:column}}    </style>
512
513<style>
514    .wm-link-button {
515        display: inline-block;
516        margin-bottom: 0;
517        font-weight: normal;
518        text-align: center;
519        vertical-align: middle;
520        cursor: pointer;
521        background-image: none;
522        border: 1px solid transparent;
523        white-space: nowrap;
524        padding: 6px 12px;
525        font-size: 14px;
526        line-height: 1.42857143;
527        border-radius: 4px;
528        -webkit-user-select: none;
529        -moz-user-select: none;
530        -ms-user-select: none;
531        user-select: none;
532    }
533    [id^='custom-page-main-content'] img {
534        max-width: 100%;
535    }
536    [id^='custom-page-main-content'] section:not([data-border='false']) .section-container {
537        padding: 3rem 1.5rem;
538    }
539    [id^='custom-page-main-content'] section[id^='section-blank'] {
540        padding: 1rem 0;
541    }
542    [id^='custom-page-main-content'] section[data-border='true'] {
543        padding: 3rem;
544    }
545    [id^='custom-page-main-content'] section {
546        min-height: fit-content;
547        color: var(--body-text-color);
548    }
549    [id^='custom-page-main-content'] section[data-gradient-type='linear'] {
550        background: linear-gradient(
551            var(--gradient-direction),
552            var(--gradient-from, transparent),
553            var(--gradient-to, transparent)
554        ) !important;
555    }
556
557    [id^='custom-page-main-content'] section[data-gradient-type='radial'] {
558        background: radial-gradient(var(--gradient-from, transparent), var(--gradient-to, transparent)) !important;
559    }
560    [id^='custom-page-main-content'] b,
561    [id^='custom-page-main-content'] strong {
562        font-weight: 700 !important;
563    }
564    [id^='section-banner'] {
565        background-color: #ebedef;
566    }
567    [id^='section-banner'][data-bgcolor='dark'] {
568        background-color: #8b8c92;
569    }
570    [id^='section-banner'][data-border='true'] {
571        padding: 3rem;
572    }
573
574    /* Banner Video Background — text always overlays the video; the
575       videoOverlayDarkness slider controls the optional darkness layer. */
576    [id^='section-banner'][data-bg-type='video'] {
577        position: relative;
578        padding: 0 !important;
579        overflow: hidden;
580        height: auto !important;
581        aspect-ratio: 16 / 9;
582    }
583    [id^='section-banner'][data-bg-type='video'] .banner-container {
584        position: absolute;
585        top: 0;
586        left: 0;
587        width: 100%;
588        height: 100%;
589        z-index: 2;
590        display: flex;
591        pointer-events: none;
592    }
593    [id^='section-banner'][data-bg-type='video'] .banner-container :is(
594        a, button, [data-gjs-type='dynamic-link'], [data-gjs-type='link-button']
595    ) {
596        pointer-events: auto;
597    }
598    [id^='section-banner'][data-bg-type='video'] .banner-container .section-container {
599        display: flex;
600        flex-direction: column;
601        justify-content: center;
602        align-items: center;
603        width: 100%;
604    }
605    [id^='section-banner'] .section-container {
606        height: 100% !important;
607        width: 100% !important;
608    }
609    .banner-video-wrapper {
610        position: relative;
611        width: 100%;
612        aspect-ratio: 16 / 9;
613    }
614    .banner-video-gradient {
615        position: absolute;
616        top: 0;
617        left: 0;
618        width: 100%;
619        height: 100%;
620        z-index: 1;
621        pointer-events: none;
622    }
623    video.banner-video {
624        width: 100%;
625        height: 100%;
626        object-fit: cover;
627        border: none;
628    }
629    iframe.banner-video {
630        width: 100%;
631        height: 100%;
632        border: none;
633    }
634
635    [data-gjs-type='grid-row'] * {
636        max-width: 100%;
637    }
638
639    [data-gjs-type='grid-column'] [data-gjs-type='text'] {
640        width: 100%;
641    }
642
643    [data-gjs-type='grid-row'] [data-gjs-type='grid-column'] {
644        width: 100%;
645        display: flex;
646        flex-direction: column;
647    }
648
649    /* Flex Columns */
650    [data-gjs-type='flex-columns'] {
651        display: flex;
652        width: 100%;
653    }
654    [data-gjs-type='flex-columns'] > [data-gjs-type='flex-column'] {
655        min-width: 0;
656        max-width: 100%;
657        display: flex;
658        flex-direction: column;
659    }
660    [data-gjs-type='flex-columns'] [data-gjs-type='flex-column'] [data-gjs-type='text'] {
661        width: 100%;
662    }
663
664    .wm-map iframe {
665        pointer-events: none;
666    }
667
668    /* Slider Section */
669    [id^='section-slider'] {
670        position: relative;
671    }
672    [id^='section-slider'] .slider-heading {
673        font-family: var(--decorative-font, 'sans-serif');
674        margin: 0 0 1.5rem;
675    }
676    [id^='section-slider'] .swiper {
677        width: 100%;
678        overflow: hidden;
679    }
680    [id^='section-slider'][data-nav-style='arrows-sides'] .swiper {
681        width: 85%;
682        margin: auto;
683    }
684    [id^='section-slider'] .swiper-wrapper {
685        display: flex;
686    }
687    [id^='section-slider'] .swiper-slide {
688        display: flex;
689        gap: 30px;
690        width: 100%;
691        min-height: 200px;
692        flex-shrink: 0;
693    }
694    [id^='section-slider'] .swiper-slide [data-gjs-type='grid-column'] {
695        flex: 1 1 0%;
696        min-width: 0;
697        display: flex;
698        flex-direction: column;
699    }
700
701    /* Slider Navigation — Arrow Icons */
702    [id^='section-slider'] .swiper-button-prev::after,
703    [id^='section-slider'] .swiper-button-next::after {
704        content: '';
705        display: block;
706        width: 8px;
707        height: 8px;
708        border-top: 2px solid var(--button-text-color, #fff);
709        border-right: 2px solid var(--button-text-color, #fff);
710    }
711    [id^='section-slider'] .swiper-button-next::after {
712        transform: rotate(45deg);
713        margin-left: -3px;
714    }
715    [id^='section-slider'] .swiper-button-prev::after {
716        transform: rotate(-135deg);
717        margin-right: -3px;
718    }
719
720    /* Slider Navigation — Arrows Top Right */
721    [id^='section-slider'][data-nav-style='arrows-top-right'] .swiper-button-prev,
722    [id^='section-slider'][data-nav-style='arrows-top-right'] .swiper-button-next {
723        position: absolute;
724        top: 0;
725        right: 16px;
726        left: auto;
727        width: 32px;
728        height: 32px;
729        border-radius: 50%;
730        background: var(--element-action-color, #333);
731        color: var(--button-text-color, #fff);
732        display: flex;
733        align-items: center;
734        justify-content: center;
735        cursor: pointer;
736        z-index: 10;
737    }
738    [id^='section-slider'][data-nav-style='arrows-top-right'] .swiper-button-prev {
739        right: 65px;
740    }
741    [id^='section-slider'][data-nav-style='arrows-top-right'] .swiper-pagination {
742        display: none;
743    }
744
745    /* Slider Navigation — Arrows Sides */
746    [id^='section-slider'][data-nav-style='arrows-sides'] .swiper-button-prev,
747    [id^='section-slider'][data-nav-style='arrows-sides'] .swiper-button-next {
748        position: absolute;
749        top: 50%;
750        transform: translateY(-50%);
751        width: 40px;
752        height: 40px;
753        border-radius: 50%;
754        background: var(--element-action-color, #333);
755        color: var(--button-text-color, #fff);
756        display: flex;
757        align-items: center;
758        justify-content: center;
759        cursor: pointer;
760        z-index: 10;
761    }
762    [id^='section-slider'][data-nav-style='arrows-sides'] .swiper-button-prev {
763        left: 10px;
764    }
765    [id^='section-slider'][data-nav-style='arrows-sides'] .swiper-button-next {
766        right: 10px;
767    }
768    [id^='section-slider'][data-nav-style='arrows-sides'] .swiper-pagination {
769        display: none;
770    }
771
772    /* Slider Navigation — Dots Bottom */
773    [id^='section-slider'][data-nav-style='dots-bottom'] .swiper-button-prev,
774    [id^='section-slider'][data-nav-style='dots-bottom'] .swiper-button-next {
775        display: none;
776    }
777    [id^='section-slider'][data-nav-style='dots-bottom'] .swiper-pagination {
778        text-align: center;
779        padding: 16px 0;
780    }
781    [id^='section-slider'][data-nav-style='dots-bottom'] .swiper-pagination-bullet {
782        display: inline-block;
783        width: 16px;
784        height: 16px;
785        border-radius: 50%;
786        background: #fff;
787        border: 1px solid #000;
788        margin: 0 6px;
789        cursor: pointer;
790    }
791    [id^='section-slider'][data-nav-style='dots-bottom'] .swiper-pagination-bullet-active {
792        background: #000;
793    }
794
795    .text-and-image-section [data-position='right'] {
796        order: 1 !important;
797    }
798    .text-and-image-section .right-text {
799        order: 0 !important;
800    }
801    .text-and-image-section.cover .wm-image-container {
802        width: 50%;
803    }
804    .wm-image-container {
805        position: relative;
806        width: max-content;
807        max-width: 100%;
808    }
809    .wm-image-container .image-overlay{
810        position: absolute;
811        top: 0;
812        left: 0;
813        z-index: 1;
814        width: 100%;
815        height: 100%;
816        background-color: #000;
817        opacity: 0.25;
818        pointer-events: none;
819        display: none;
820    }
821    .wm-image-container.has-overlay .image-overlay {
822        display: block;
823    }
824
825    section .section-container {
826        max-width: var(--site-max-width);
827        margin: 0 auto;
828        min-height: fit-content;
829        height: auto;
830        display: flex;
831        flex-direction: column;
832    }
833
834    [data-gjs-type='divider']::before {
835        content: '';
836        position: absolute;
837        left: 0;
838        right: 0;
839        top: 50%;
840        border-top: var(--divider-height, 1px) solid var(--divider-color, #000);
841        transform: translateY(-50%);
842    }
843
844    .nlp-llm-text-block h2,
845    .nlp-llm-text-block h3 {
846        font-family: var(--decorative-font, 'sans-serif');
847    }
848
849    /* Shop Address */
850    .wm-shop-address__grid {
851        display: grid;
852        align-content: start;
853    }
854    .wm-shop-address__grid--item a {
855        text-decoration: underline;
856        color: var(--body-text-color, '#333');
857        font-family: var(--primary-font);
858        font-size: 16px;
859        font-weight: var(--bn--font-medium);
860    }
861    .wm-shop-address__grid--item a:hover {
862        color: var(--body-text-color-active, '#000');
863    }
864    .wm-shop-address__grid--item svg path {
865        fill: var(--body-text-color, '#333');
866    }
867
868    /* Shop Hours */
869    .wm-shop-hours__title {
870        margin-top: 0;
871        font-family: var(--decorative-font, 'sans-serif');
872    }
873    .wm-shop-hours__grid {
874        display: grid;
875        grid-template-columns: max-content 1fr;
876        column-gap: 1.5rem;
877        row-gap: 0.75rem;
878        font-size: inherit;
879    }
880    .wm-shop-hours__grid--item {
881        font-weight: var(--bn--font-medium);
882    }
883    .wm-nlp-section .wm-shop-hours__grid {
884        font-size: 14px;
885        font-weight: 200;
886    }
887
888    /* Reviews section */
889    .wm-reviews {
890        [data-gjs-type='grid-column'] {
891            background-color: #fff;
892            border: 1px solid #E4E4E4;
893            padding: 1.2rem;
894            border-radius: 8px;
895            box-shadow: 0px 0px 20px 0px #4345511A;
896        }
897        [data-gjs-type='grid-column'] [data-gjs-type='text'] {
898            width: auto;
899        }
900        h2 {
901            margin: 0 0 2rem;
902            font-family: var(--decorative-font), sans-serif;
903        }
904        .wm-reviews__header {
905            display: grid;
906            grid-template-columns: max-content 1fr;
907            gap: 1rem;
908            align-items: center;
909            margin-bottom: .5rem;
910
911            h3 {
912                font-size: 14px;
913                font-family: var(--decorative-font), sans-serif;
914                font-weight:600 !important;
915                margin: 0;
916            }
917        }
918        .wm-reviews__rating {
919            margin-bottom: 0.5rem;
920        }
921        .wm-reviews__circle {
922            height: 40px;
923            width: 40px;
924            border-radius: 50%;
925            background-color: #FCE4EC;
926            display: flex;
927            align-items: center;
928            justify-content: center;
929        }
930        .wm-reviews__circle > span {
931            font-size: 14px;
932            font-weight:600 !important;
933            color: #880E4F;
934        }
935        .wm-reviews__date {
936            font-size: 12px;
937            color: #8B8C92;
938        }
939        .wm-reviews__content {
940            font-size: 14px;
941            line-height: 20px;
942            height: 80px;
943            overflow: auto;
944            font-weight: var(--bn--font-medium);
945        }
946        .wm-reviews__read-more {
947            background-color: transparent;
948            border: 0;
949            color: #1251CA;
950            transition: all 0.3s ease;
951            font-size: 12px;
952            padding: 0;
953            margin-top: .5rem;
954        }
955        .wm-reviews__read-more:hover {
956            text-decoration: underline;
957            filter: brightness(0.9);
958        }
959        .wm-reviews__dialog {
960            max-width: 600px;
961            width: 100%;
962            border: 0;
963            border-radius: 4px;
964            position: relative;
965
966            article {
967                margin-bottom: 0;
968                border-bottom: 0;
969                padding-bottom: 0;
970            }
971
972            .wm-reviews__dialog--close {
973                position: absolute;
974                top: 15px;
975                right: 15px;
976                background-color: transparent;
977                border: 0;
978                cursor: pointer;
979            }
980        }
981    }
982
983    /* Review photos strip (BLOOM-17499); the overlay is .wm-review-photos-overlay below. */
984    .wm-reviews .wm-reviews__photos {
985        display: flex;
986        flex-wrap: wrap;
987        gap: 8px;
988        list-style: none;
989        margin: 12px 0 0;
990        padding: 0;
991    }
992    .wm-reviews .wm-reviews__photo-item {
993        margin: 0;
994        padding: 0;
995    }
996    .wm-reviews .wm-reviews__photo {
997        display: block;
998        width: 96px;
999        height: 96px;
1000        padding: 0;
1001        border: 0;
1002        border-radius: 4px;
1003        overflow: hidden;
1004        background: #eee;
1005        cursor: zoom-in;
1006        line-height: 0;
1007    }
1008    .wm-reviews .wm-reviews__photo img {
1009        display: block;
1010        width: 100%;
1011        height: 100%;
1012        object-fit: cover;
1013    }
1014    .wm-reviews .wm-reviews__photo:focus-visible {
1015        outline: 2px solid currentColor;
1016        outline-offset: 2px;
1017    }
1018
1019    /* Product List Section */
1020    .product-list--horizontal {
1021        overflow-x: auto;
1022        white-space: nowrap;
1023        padding: 0 0 10px 15px;
1024    }
1025
1026    .product-list--horizontal .product-list__item {
1027        display: inline-block;
1028        width: 252px;
1029        margin-right: 15px;
1030    }
1031
1032    /* Atomic CSS Helpers */
1033    .text-uppercase {
1034        text-transform: uppercase;
1035    }
1036
1037    /* Custom arrangements & subscriptions */
1038    .custom-page-nlp__customArrangements .text-image-text > div,
1039    .custom-page-nlp__subscriptions .text-image-text > div {
1040        font-size: 18px;
1041    }
1042
1043    /* Blog posts */
1044    .wm-blog-posts {
1045        display: grid;
1046        grid-template-columns: repeat(var(--columns, 2), 1fr);
1047        column-gap: var(--column-gap);
1048        row-gap: var(--row-gap);
1049        padding: var(--frame);
1050    }
1051    .wm-blog-posts:not(.side-image) .wm-blog-posts__item {
1052        display: flex;
1053        flex-direction: column;
1054    }
1055    .wm-blog-posts:not(.side-image) .wm-blog-posts__content {
1056        flex-grow: 1;
1057        align-items: start;
1058    }
1059    .wm-blog-posts:not(.side-image) .wm-blog-posts__image {
1060        border: 1px solid #DDD;
1061        border-bottom: none;
1062    }
1063    .wm-blog-posts.side-image .wm-blog-posts__image {
1064        border: 1px solid #DDD;
1065        border-right: none;
1066        height: 100%;
1067    }
1068    .wm-blog-posts.side-image .wm-blog-posts__image-link {
1069        width: 100%;
1070        height: 100%;
1071    }
1072    .wm-blog-posts .wm-blog-posts__item {
1073        display: flex;
1074        flex-direction: column;
1075    }
1076    .wm-blog-posts__heading {
1077        grid-column: 1 / -1;
1078        font-family: var(--decorative-font, 'sans-serif');
1079        font-size: 3rem;
1080        font-weight: 700;
1081        line-height: 1.3;
1082    }
1083    .wm-blog-posts img {
1084        height: 300px;
1085        object-fit: cover;
1086        width: 100%;
1087    }
1088    .wm-blog-posts .wm-blog-posts__content {
1089        background: #F4F4F4;
1090        padding: 2rem;
1091        height: auto;
1092        display: flex;
1093        flex-direction: column;
1094        justify-content: center;
1095    }
1096    .wm-blog-posts.two-column .wm-blog-posts__content {
1097        align-items: center;
1098    }
1099    .wm-blog-posts.two-column {
1100        align-items: center;
1101    }
1102    .wm-blog-posts.list .wm-blog-posts__content {
1103        background-color: transparent;
1104    }
1105    .wm-blog-posts.side-image .wm-blog-posts__content,
1106    .wm-blog-posts.list .wm-blog-posts__content,
1107    .wm-blog-posts.two-column .wm-blog-posts__content {
1108        height: 100%;
1109    }
1110    .wm-blog-posts.side-image img {
1111        height: 250px;
1112    }
1113    .wm-blog-posts.side-image .wm-blog-posts__item {
1114        display: grid;
1115        align-items: center;
1116    }
1117    .wm-blog-posts.side-image[style*="--columns:1"] .wm-blog-posts__item,
1118    .wm-blog-posts.side-image[style*="--columns: 1"] .wm-blog-posts__item {
1119        grid-template-columns: 1fr;
1120    }
1121    .wm-blog-posts.side-image[style*="--columns:2"] .wm-blog-posts__item,
1122    .wm-blog-posts.side-image[style*="--columns: 2"] .wm-blog-posts__item {
1123        grid-template-columns: 45% 55%;
1124    }
1125    .wm-blog-posts__date {
1126        color: #282A35;
1127        display: block;
1128        margin-bottom: 1rem;
1129    }
1130    .wm-blog-posts__title {
1131        color: #282A35;
1132        font-family: var(--decorative-font, 'sans-serif');
1133        font-size: 2.25rem;
1134        font-weight: 700;
1135        line-height: 1.3;
1136        margin-bottom: 1rem;
1137    }
1138    .wm-blog-posts__excerpt {
1139        margin-bottom: 1.75rem;
1140    }
1141    .wm-blog-posts__read-more {
1142        margin-top: auto;
1143        text-decoration: underline;
1144    }
1145
1146    /* Recent Deliveries */
1147    * + .recent-deliveries {
1148        margin-top: 4rem;
1149    }
1150    .recent-deliveries:not(:last-child) {
1151        margin-bottom: 4rem;
1152    }
1153    .recent-deliveries__feed {
1154        list-style: none;
1155        margin: 0 auto;
1156        padding: 0;
1157        max-width: 640px;
1158        display: flex;
1159        flex-direction: column;
1160        gap: 3.2rem;
1161    }
1162    .recent-deliveries__entry {
1163        background: var(--body-bg, #fff);
1164        border: 1px solid var(--divider-color, #e5e7eb);
1165        border-radius: 1.6rem;
1166        padding: 3.2rem 4rem;
1167        color: var(--body-text-color);
1168    }
1169    .recent-deliveries__shop {
1170        display: flex;
1171        align-items: center;
1172        gap: 1.4rem;
1173        margin-bottom: 2.8rem;
1174    }
1175    .recent-deliveries__avatar {
1176        width: 44px;
1177        height: 44px;
1178        border-radius: 50%;
1179        object-fit: cover;
1180        flex: 0 0 auto;
1181    }
1182    .recent-deliveries__avatar--initials {
1183        display: flex;
1184        align-items: center;
1185        justify-content: center;
1186        color: #fff;
1187        font-size: 1.5rem;
1188        font-weight: 600;
1189        letter-spacing: 0.05rem;
1190        text-transform: uppercase;
1191        user-select: none;
1192    }
1193    .recent-deliveries__shop-info {
1194        min-width: 0;
1195    }
1196    .recent-deliveries__shop-name {
1197        font-size: 1.7rem;
1198        font-weight: 600;
1199        margin: 0;
1200        color: var(--body-text-color);
1201    }
1202    .recent-deliveries__shop-location {
1203        font-size: 1.3rem;
1204        margin: 0.2rem 0 0;
1205        color: var(--body-text-color);
1206        opacity: 0.7;
1207    }
1208    .recent-deliveries__image-wrapper {
1209        display: flex;
1210        justify-content: center;
1211        margin-bottom: 2.8rem;
1212    }
1213    .recent-deliveries__image {
1214        width: 65%;
1215        height: auto;
1216        aspect-ratio: 1 / 1;
1217        object-fit: cover;
1218        border-radius: 6px;
1219        display: block;
1220    }
1221    .recent-deliveries__caption {
1222        margin-bottom: 2.4rem;
1223    }
1224    .recent-deliveries__caption-text {
1225        font-size: 1.5rem;
1226        line-height: 1.6;
1227        margin: 0;
1228        color: var(--body-text-color);
1229    }
1230    .recent-deliveries__date {
1231        display: block;
1232        margin-top: 1.4rem;
1233        font-size: 1.1rem;
1234        text-transform: uppercase;
1235        letter-spacing: 0.2rem;
1236        color: var(--body-text-color);
1237        opacity: 0.6;
1238        white-space: nowrap;
1239    }
1240    .recent-deliveries__product {
1241        border-top: 1px solid var(--divider-color, #e5e7eb);
1242        padding-top: 2rem;
1243        display: flex;
1244        align-items: flex-start;
1245        justify-content: space-between;
1246        gap: 1.6rem;
1247    }
1248    .recent-deliveries__product-info {
1249        min-width: 0;
1250    }
1251    .recent-deliveries__product-name {
1252        font-size: 1.6rem;
1253        font-weight: 500;
1254    }
1255    a.recent-deliveries__product-name {
1256        color: var(--text-action-color);
1257        text-decoration: none;
1258        border-bottom: 1px solid currentColor;
1259    }
1260    a.recent-deliveries__product-name:hover {
1261        color: var(--text-action-color-active);
1262        text-decoration: none;
1263    }
1264    span.recent-deliveries__product-name {
1265        color: var(--body-text-color);
1266    }
1267    .recent-deliveries__upgrade {
1268        font-size: 1.2rem;
1269        text-transform: uppercase;
1270        letter-spacing: 0.15rem;
1271        margin: 0.6rem 0 0;
1272        color: var(--body-text-color);
1273        opacity: 0.6;
1274    }
1275    .recent-deliveries__occasion {
1276        display: block;
1277        margin-top: .75rem;
1278        font-size: 1rem;
1279        text-transform: uppercase;
1280        letter-spacing: 0.2rem !important;
1281        color: var(--body-text-color);
1282        white-space: nowrap;
1283    }
1284    /* FAQ */
1285    [data-gjs-type] .store-faq__faq {
1286        margin: 0;
1287    }
1288    .store-faq__faq-items {
1289        display: grid;
1290        gap: 8px;
1291    }
1292    .faq {
1293        border: 1px solid #e2e2e2;
1294        border-radius: 8px;
1295        background: #FAFAFA;
1296        overflow: hidden;
1297        padding: 20px;
1298    }
1299    .faq__q {
1300        display: block;
1301        margin: 0;
1302        padding-right: 24px;
1303        cursor: pointer;
1304        font-size: 16px;
1305        font-weight: 600;
1306        position: relative;
1307        outline: none;
1308        user-select: none;
1309        list-style: none;
1310    }
1311    .faq__q::-webkit-details-marker {
1312        display: none;
1313    }
1314    .faq__q::marker {
1315        content: none;
1316    }
1317    .faq__q::after {
1318        content: "";
1319        position: absolute;
1320        right: 0;
1321        top: 50%;
1322        width: 10px;
1323        height: 10px;
1324        border-right: 2px solid #495057;
1325        border-bottom: 2px solid #495057;
1326        transform: translateY(-50%) rotate(-45deg);
1327        transition: transform 200ms ease;
1328    }
1329    .faq[open] .faq__q::after {
1330        transform: translateY(-50%) rotate(45deg);
1331    }
1332    .faq__content {
1333        display: grid;
1334        grid-template-rows: 0fr;
1335        transition: grid-template-rows 200ms ease;
1336    }
1337    .faq[open] .faq__content {
1338        grid-template-rows: 1fr;
1339    }
1340    .faq__a {
1341        margin-top: 20px;
1342        overflow: hidden;
1343    }
1344    .faq__a-inner {
1345        color: #333;
1346        line-height: 1.5;
1347        font-weight: 300;
1348        font-size: 16px;
1349    }
1350
1351    /* Gallery */
1352    .wm-gallery {
1353        padding: var(--frame, 0);
1354    }
1355    .wm-gallery__description {
1356        margin-bottom: 1.5rem;
1357        color: var(--body-text-color, #333);
1358    }
1359    .wm-gallery__grid {
1360        display: grid;
1361        grid-template-columns: repeat(var(--columns, 2), 1fr);
1362        column-gap: var(--column-gap, 16px);
1363        row-gap: var(--row-gap, 16px);
1364    }
1365    .wm-gallery__item {
1366        display: block;
1367        overflow: hidden;
1368        cursor: pointer;
1369    }
1370    .wm-gallery__item--linked {
1371        cursor: pointer;
1372    }
1373    .wm-gallery__image {
1374        width: 100%;
1375        height: auto;
1376        object-fit: cover;
1377        aspect-ratio: var(--aspect-ratio, 4/3);
1378        border-radius: var(--border-radius, 0);
1379        transition: transform 0.3s ease;
1380    }
1381    .wm-gallery__item:hover .wm-gallery__image {
1382        transform: scale(1.02);
1383    }
1384    .wm-gallery__caption {
1385        padding: 0.5rem 0;
1386        display: flex;
1387        flex-direction: column;
1388        gap: 0.25rem;
1389    }
1390    .wm-gallery__image-title {
1391        font-weight: bold !important;
1392        font-size: 16px;
1393        margin-top: 4px;
1394    }
1395
1396    /* Gallery - Masonry layout */
1397    .wm-gallery--masonry .wm-gallery__grid {
1398        display: block;
1399        column-count: var(--columns, 2);
1400        column-gap: var(--column-gap, 16px);
1401    }
1402    .wm-gallery--masonry .wm-gallery__item {
1403        break-inside: avoid;
1404        margin-bottom: var(--row-gap, 16px);
1405    }
1406    .wm-gallery--masonry .wm-gallery__image {
1407        aspect-ratio: unset;
1408        height: auto;
1409        object-fit: contain;
1410    }
1411
1412    .wm-gallery--masonry .wm-gallery__grid--fill-row {
1413        display: grid;
1414        grid-template-columns: repeat(var(--columns, 2), 1fr);
1415        column-gap: var(--column-gap, 16px);
1416        row-gap: var(--row-gap, 16px);
1417        align-items: start;
1418    }
1419    .wm-gallery--masonry .wm-gallery__grid--fill-row .wm-gallery__item {
1420        margin-bottom: 0;
1421    }
1422    .wm-gallery--masonry .wm-gallery__grid--fill-row.is-masonry-js {
1423        grid-auto-rows: 1px;
1424        row-gap: 0;
1425    }
1426
1427    .wm-gallery.wm-gallery--carousel {
1428        max-width: 800px;
1429        margin: 0 auto;
1430    }
1431
1432    /* Gallery - Carousel (Swiper core styles) */
1433    .swiper {
1434        margin-left: auto;
1435        margin-right: auto;
1436        position: relative;
1437        overflow: hidden;
1438        list-style: none;
1439        padding: 0;
1440        z-index: 1;
1441        display: block;
1442    }
1443    .swiper-wrapper {
1444        position: relative;
1445        width: 100%;
1446        height: 100%;
1447        z-index: 1;
1448        display: flex;
1449        transition-property: transform;
1450        transition-timing-function: var(--swiper-wrapper-transition-timing-function, initial);
1451        box-sizing: content-box;
1452    }
1453    .swiper-slide {
1454        flex-shrink: 0;
1455        width: 100%;
1456        height: 100%;
1457        position: relative;
1458        transition-property: transform;
1459    }
1460    .swiper-slide-invisible-blank {
1461        visibility: hidden;
1462    }
1463    /* Hide default Swiper navigation buttons */
1464    .swiper-button-prev,
1465    .swiper-button-next {
1466        display: none;
1467    }
1468
1469    /* Gallery Carousel component */
1470    .wm-gallery-carousel {
1471        position: relative;
1472        width: 100%;
1473    }
1474    .wm-gallery-carousel__main {
1475        position: relative;
1476        display: flex;
1477        align-items: center;
1478        gap: 16px;
1479    }
1480    .wm-gallery-carousel__swiper {
1481        width: 100%;
1482        overflow: hidden;
1483    }
1484    .wm-gallery-carousel__link {
1485        display: block;
1486        width: 100%;
1487    }
1488    .wm-gallery-carousel__link--active {
1489        cursor: pointer;
1490    }
1491    .wm-gallery-carousel__link:not(.wm-gallery-carousel__link--active) {
1492        pointer-events: none;
1493    }
1494    .wm-gallery-carousel__image {
1495        width: 100%;
1496        height: auto;
1497        object-fit: cover;
1498        display: block;
1499    }
1500    /* Carousel navigation buttons */
1501    .wm-gallery-carousel__nav {
1502        flex-shrink: 0;
1503        width: 40px;
1504        height: 40px;
1505        display: flex;
1506        align-items: center;
1507        justify-content: center;
1508        background: white;
1509        border: 1px solid #e0e0e0;
1510        border-radius: 50%;
1511        cursor: pointer;
1512        transition: background-color 0.2s, border-color 0.2s;
1513        z-index: 10;
1514    }
1515    .wm-gallery-carousel__nav:hover {
1516        background-color: #f5f5f5;
1517        border-color: #ccc;
1518    }
1519    .wm-gallery-carousel__nav:disabled {
1520        opacity: 0.5;
1521        cursor: not-allowed;
1522    }
1523    /* Overlay navigation (for full-width carousel) */
1524    .wm-gallery-carousel__nav--overlay {
1525        position: absolute;
1526        top: 50%;
1527        transform: translateY(-50%);
1528        background: rgba(255, 255, 255, 0.9);
1529    }
1530    .wm-gallery-carousel__nav--overlay.wm-gallery-carousel__nav--prev {
1531        left: 16px;
1532    }
1533    .wm-gallery-carousel__nav--overlay.wm-gallery-carousel__nav--next {
1534        right: 16px;
1535    }
1536    /* Thumbnails layout - arrows outside */
1537    .wm-gallery-carousel--carousel-thumbnails .wm-gallery-carousel__main {
1538        display: flex;
1539        align-items: center;
1540    }
1541    .wm-gallery-carousel--carousel-thumbnails .wm-gallery-carousel__swiper {
1542        flex: 1;
1543        min-width: 0;
1544    }
1545    .wm-gallery-carousel--carousel-thumbnails .wm-gallery-carousel__nav {
1546        position: relative;
1547    }
1548    /* Full-width layout - arrows on image */
1549    .wm-gallery-carousel--carousel .wm-gallery-carousel__main {
1550        position: relative;
1551    }
1552    .wm-gallery-carousel--carousel .wm-gallery-carousel__swiper {
1553        width: 100%;
1554    }
1555    /* Thumbnails */
1556    .wm-gallery-carousel__thumbs {
1557        margin-top: 16px;
1558        overflow: hidden;
1559        display: flex;
1560        justify-content: center;
1561    }
1562    .wm-gallery-carousel__thumbs .swiper-wrapper {
1563        justify-content: center;
1564        gap: 0.75rem;
1565        overflow: auto;
1566    }
1567    .wm-gallery-carousel__thumbs .swiper-slide {
1568        opacity: 0.6;
1569        cursor: pointer;
1570        transition: opacity 0.2s;
1571        width: 80px !important;
1572        height: 80px;
1573        flex-shrink: 0;
1574
1575    }
1576    .wm-gallery-carousel__thumbs .swiper-slide-thumb-active {
1577        opacity: 1;
1578    }
1579    .wm-gallery-carousel__thumb-image {
1580        width: 80px;
1581        height: 80px;
1582        object-fit: cover;
1583        display: block;
1584    }
1585
1586    /* Gallery Lightbox (wm-gallery-lightbox CSR element) */
1587    .wm-glb {
1588        position: fixed;
1589        inset: 0;
1590        z-index: 99999;
1591        background: rgba(0, 0, 0, 0.92);
1592        display: flex;
1593        align-items: center;
1594        justify-content: center;
1595    }
1596    .wm-glb__swiper {
1597        width: 100%;
1598        height: 100%;
1599    }
1600    .wm-glb__slide {
1601        display: flex;
1602        align-items: center;
1603        justify-content: center;
1604        width: 100%;
1605        height: 100%;
1606        box-sizing: border-box;
1607        padding: 72px 88px 112px;
1608    }
1609    .wm-glb__slide .swiper-zoom-container {
1610        width: 100%;
1611        height: 100%;
1612    }
1613    .wm-glb__image {
1614        max-width: 100%;
1615        max-height: 100%;
1616        width: auto;
1617        height: auto;
1618        object-fit: contain;
1619        margin: auto;
1620        display: block;
1621    }
1622    .wm-glb__close {
1623        position: absolute;
1624        top: 16px;
1625        right: 20px;
1626        z-index: 2;
1627        background: transparent;
1628        border: none;
1629        padding: 8px;
1630        color: #fff;
1631        cursor: pointer;
1632        line-height: 0;
1633    }
1634    .wm-glb__nav {
1635        position: absolute;
1636        top: 50%;
1637        transform: translateY(-50%);
1638        z-index: 2;
1639        background: transparent;
1640        border: none;
1641        padding: 12px;
1642        color: #fff;
1643        cursor: pointer;
1644        line-height: 0;
1645        opacity: 0.85;
1646        transition: opacity 0.2s ease;
1647    }
1648    .wm-glb__nav:hover,
1649    .wm-glb__nav:focus-visible,
1650    .wm-glb__close:hover,
1651    .wm-glb__close:focus-visible {
1652        opacity: 1;
1653    }
1654    .wm-glb__nav:focus-visible,
1655    .wm-glb__close:focus-visible,
1656    .wm-glb__view:focus-visible {
1657        outline: 2px solid #fff;
1658        outline-offset: 2px;
1659    }
1660    .wm-glb__nav--prev {
1661        left: 12px;
1662    }
1663    .wm-glb__nav--next {
1664        right: 12px;
1665    }
1666    .wm-glb__caption {
1667        position: absolute;
1668        bottom: 24px;
1669        left: 50%;
1670        transform: translateX(-50%);
1671        z-index: 2;
1672        max-width: 80vw;
1673        text-align: center;
1674        color: #fff;
1675        display: flex;
1676        flex-direction: column;
1677        gap: 6px;
1678    }
1679    .wm-glb__title {
1680        position: absolute;
1681        top: 18px;
1682        left: 50%;
1683        transform: translateX(-50%);
1684        z-index: 2;
1685        max-width: 60vw;
1686        text-align: center;
1687        color: #fff;
1688        font-weight: bold;
1689        font-size: 20px;
1690    }
1691    .wm-glb__description {
1692        font-size: 16px;
1693        opacity: 0.85;
1694    }
1695    .wm-glb__view {
1696        align-self: center;
1697        margin-top: 6px;
1698        padding: 6px 18px;
1699        border: 1px solid #fff;
1700        border-radius: 4px;
1701        background: #fff;
1702        color: #000 !important;
1703        text-decoration: none;
1704        font-size: 14px;
1705    }
1706    .wm-glb__view:hover {
1707        opacity: 0.85;
1708    }
1709    .wm-glb__counter {
1710        position: absolute;
1711        top: 20px;
1712        left: 24px;
1713        z-index: 2;
1714        color: #fff;
1715        font-size: 14px;
1716        opacity: 0.85;
1717    }
1718    @media (max-width: 600px) {
1719        .wm-glb__slide {
1720            padding: 64px 56px 104px;
1721        }
1722        .wm-glb__nav {
1723            padding: 6px;
1724        }
1725    }
1726
1727    /* Review photos overlay (wm-review-photos-overlay CSR element, BLOOM-17499): a native <dialog>
1728       appended to <body>, so nothing here nests under .wm-reviews. */
1729    .wm-review-photos-overlay {
1730        position: fixed;
1731        inset: 0;
1732        width: 100%;
1733        max-width: none;
1734        height: 100%;
1735        max-height: none;
1736        margin: 0;
1737        padding: 0;
1738        border: 0;
1739        background: transparent;
1740        color: #fff;
1741        overflow: hidden;
1742    }
1743    .wm-review-photos-overlay::backdrop {
1744        background: rgba(0, 0, 0, 0.88);
1745    }
1746    .wm-review-photos-overlay__stage {
1747        position: absolute;
1748        inset: 0;
1749        display: flex;
1750        align-items: center;
1751        justify-content: center;
1752        padding: 56px 64px;
1753        box-sizing: border-box;
1754        touch-action: pan-y;
1755    }
1756    .wm-review-photos-overlay__image {
1757        display: block;
1758        max-width: 100%;
1759        max-height: 100%;
1760        width: auto;
1761        height: auto;
1762        object-fit: contain;
1763        border-radius: 4px;
1764        box-shadow: 0 8px 32px rgba(0, 0, 0, 0.5);
1765    }
1766    .wm-review-photos-overlay__button {
1767        position: absolute;
1768        display: flex;
1769        align-items: center;
1770        justify-content: center;
1771        width: 44px;
1772        height: 44px;
1773        padding: 0;
1774        border: 0;
1775        border-radius: 50%;
1776        background: rgba(255, 255, 255, 0.14);
1777        color: #fff;
1778        cursor: pointer;
1779        line-height: 0;
1780    }
1781    .wm-review-photos-overlay__button:hover,
1782    .wm-review-photos-overlay__button:focus-visible {
1783        background: rgba(255, 255, 255, 0.3);
1784        outline: 2px solid #fff;
1785        outline-offset: 2px;
1786    }
1787    .wm-review-photos-overlay__button svg {
1788        width: 22px;
1789        height: 22px;
1790        fill: none;
1791        stroke: currentColor;
1792        stroke-width: 2;
1793        stroke-linecap: round;
1794        stroke-linejoin: round;
1795    }
1796    .wm-review-photos-overlay__close {
1797        top: 12px;
1798        right: 12px;
1799    }
1800    .wm-review-photos-overlay__prev,
1801    .wm-review-photos-overlay__next {
1802        top: 50%;
1803        transform: translateY(-50%);
1804    }
1805    .wm-review-photos-overlay__prev {
1806        left: 12px;
1807    }
1808    .wm-review-photos-overlay__next {
1809        right: 12px;
1810    }
1811    .wm-review-photos-overlay__counter {
1812        position: absolute;
1813        left: 0;
1814        right: 0;
1815        bottom: 16px;
1816        margin: 0;
1817        font-size: 14px;
1818        line-height: 20px;
1819        text-align: center;
1820        color: rgba(255, 255, 255, 0.85);
1821    }
1822    .wm-review-photos-overlay[data-single] .wm-review-photos-overlay__prev,
1823    .wm-review-photos-overlay[data-single] .wm-review-photos-overlay__next,
1824    .wm-review-photos-overlay[data-single] .wm-review-photos-overlay__counter {
1825        display: none;
1826    }
1827    body.wm-review-photos-open {
1828        overflow: hidden;
1829    }
1830    @media (max-width: 767px) {
1831        .wm-review-photos-overlay__stage {
1832            padding: 56px 12px;
1833        }
1834        .wm-review-photos-overlay__prev,
1835        .wm-review-photos-overlay__next {
1836            top: auto;
1837            bottom: 44px;
1838            transform: none;
1839        }
1840    }
1841
1842    /* Gallery List — shared */
1843    .wm-gallery-list__image {
1844        width: 100%;
1845        aspect-ratio: 4/3;
1846        object-fit: cover;
1847        border-radius: var(--border-radius, 0);
1848    }
1849    .wm-gallery-list__title {
1850        font-family: var(--decorative-font, 'sans-serif');
1851        font-size: 20px;
1852        font-weight: 600;
1853        color: inherit;
1854        text-decoration: none;
1855    }
1856    .wm-gallery-list__title:hover {
1857        text-decoration: underline;
1858    }
1859    .wm-gallery-list__description {
1860        color: var(--body-text-color, #333);
1861        margin-top: 0.5rem;
1862    }
1863    .wm-gallery-list__image-link {
1864        display: block;
1865        overflow: hidden;
1866        border-radius: var(--border-radius, 0);
1867    }
1868
1869    /* Gallery List — columns variant */
1870    .wm-gallery-list--columns {
1871        display: grid;
1872        grid-template-columns: repeat(var(--columns, 3), 1fr);
1873        gap: 24px;
1874    }
1875    .wm-gallery-list--columns .wm-gallery-list__item {
1876        display: flex;
1877        flex-direction: column;
1878    }
1879    .wm-gallery-list--columns .wm-gallery-list__content {
1880        text-align: center;
1881    }
1882    .wm-gallery-list--columns .wm-gallery-list__title {
1883        display: block;
1884        margin-top: 0.75rem;
1885    }
1886
1887    /* Gallery List — textAndImageVertical variant */
1888    .wm-gallery-list--textAndImageVertical {
1889        display: flex;
1890        flex-direction: column;
1891        gap: 24px;
1892    }
1893    .wm-gallery-list--textAndImageVertical .wm-gallery-list__item {
1894        display: grid;
1895        grid-template-columns: 1fr 1fr;
1896        gap: 24px;
1897        align-items: center;
1898    }
1899
1900    /* Gallery List — textAndImageHorizontal variant */
1901    .wm-gallery-list--textAndImageHorizontal {
1902        display: flex;
1903        flex-direction: column;
1904    }
1905    .wm-gallery-list--textAndImageHorizontal .wm-gallery-list__item {
1906        display: grid;
1907        grid-template-columns: 1fr 1fr;
1908        align-items: center;
1909    }
1910    .wm-gallery-list--textAndImageHorizontal .wm-gallery-list__item .wm-gallery-list__content {
1911        padding: 8%;
1912    }
1913    .wm-gallery-list--textAndImageHorizontal .wm-gallery-list__item--reversed {
1914        direction: rtl;
1915    }
1916    .wm-gallery-list--textAndImageHorizontal .wm-gallery-list__item--reversed > * {
1917        direction: ltr;
1918    }
1919
1920    /* Gallery List — noImages variant */
1921    .wm-gallery-list--noImages {
1922        display: flex;
1923        flex-direction: column;
1924        gap: 12px;
1925    }
1926    .wm-gallery-list--noImages .wm-gallery-list__item {
1927        text-align: center;
1928    }
1929
1930    /* Mobile */
1931    @media (max-width: 800px) {
1932        [id^='custom-page-main-content'] [data-mobile-font-size='true'] {
1933            font-size: var(--mobile-font-size, 16px) !important;
1934        }
1935
1936        [data-gjs-type='grid-row']:not([data-nostack='true']) {
1937            grid-template-columns: 1fr !important;
1938        }
1939
1940        .wwd-service-areas__grid {
1941            grid-template-columns: 1fr !important;
1942        }
1943
1944        [data-gjs-type='flex-columns']:not([data-nostack='true']) {
1945            flex-wrap: wrap !important;
1946            overflow-x: visible !important;
1947        }
1948        [data-gjs-type='flex-columns']:not([data-nostack='true']) > [data-gjs-type='flex-column'] {
1949            flex: 1 1 100% !important;
1950        }
1951
1952        [id^='section-slider'] .swiper-slide {
1953            flex-direction: column;
1954        }
1955        [id^='section-slider'] .swiper-slide [data-gjs-type='grid-column'] {
1956            flex: 1 1 100% !important;
1957        }
1958        [id^='section-slider'][data-nav-style='arrows-sides'] .swiper {
1959            width: 100%;
1960        }
1961        [id^='section-slider'][data-nav-style='arrows-sides'] .swiper-button-prev,
1962        [id^='section-slider'][data-nav-style='arrows-top-right'] .swiper-button-prev {
1963            top: unset;
1964            right: auto;
1965            transform: translateX(-50%);
1966            bottom: 0;
1967            left: 45%;
1968        }
1969        [id^='section-slider'][data-nav-style='arrows-sides'] .swiper-button-next,
1970        [id^='section-slider'][data-nav-style='arrows-top-right'] .swiper-button-next {
1971            top: unset;
1972            left: auto;
1973            transform: translateX(50%);
1974            bottom: 0;
1975            right: 45%;
1976        }
1977
1978        section .section-container {
1979            width: 100% !important;
1980        }
1981
1982        .people-image-wrapper,
1983        .services-image-wrapper {
1984            height: auto !important;
1985        }
1986
1987        .banner-container {
1988            min-height: fit-content !important;
1989            padding: 2.5rem 0;
1990        }
1991        [id^='section-banner'][data-bg-type='video'] .banner-container {
1992            padding: 0;
1993        }
1994        [id^='section-banner'][data-bg-type='video'] .banner-container .section-container {
1995            padding: 6% !important;
1996        }
1997
1998        .text-and-image-section .text-and-image-container {
1999            flex-direction: column !important;
2000            padding: 0 !important;
2001        }
2002
2003        .text-and-image-section .text-image-text {
2004            width: 100% !important;
2005        }
2006
2007        .text-and-image-section.cover .text-image-text {
2008            padding: 3rem 15px !important;
2009        }
2010
2011        .text-and-image-section.cover.img-top .text-image-text {
2012            padding: 1rem 15px 3rem !important;
2013        }
2014
2015        .text-and-image-section .text-image-img,
2016        .text-and-image-section .text-image-text {
2017            padding: 0 !important;
2018        }
2019
2020        .text-and-image-section .text-image-img {
2021            width: auto !important;
2022        }
2023        .text-and-image-section.cover .text-image-img,
2024        .text-and-image-section.cover .wm-image-container {
2025            width: 100% !important;
2026        }
2027
2028        .text-and-image-section [data-position='right'] {
2029            order: 0 !important;
2030        }
2031        .text-and-image-section .right-text {
2032            order: 1 !important;
2033        }
2034        .text-and-image-section [data-position='left'] img {
2035            margin-right: auto !important;
2036            margin-left: 0 !important;
2037        }
2038        .text-and-image-section img {
2039            width: 100% !important;
2040        }
2041        .wm-map-container {
2042            float: none !important;
2043            width: auto !important;
2044            max-width: 100% !important;
2045        }
2046        .wm-link, .wm-link-button {
2047            display: flex;
2048            align-items: center;
2049            justify-content: center;
2050            max-width: max-content;
2051        }
2052
2053        .wm-link-button {
2054            height: 44px;
2055        }
2056        .wm-blog-posts {
2057            grid-template-columns: 1fr;
2058        }
2059        .wm-blog-posts.side-image {
2060            grid-template-columns: 1fr;
2061        }
2062        /* Side-image layout should look like grid layout on mobile */
2063        .wm-blog-posts.side-image .wm-blog-posts__item {
2064            display: flex;
2065            flex-direction: column;
2066            grid-template-columns: 1fr;
2067        }
2068        .wm-blog-posts.side-image .wm-blog-posts__image,
2069        .wm-blog-posts.side-image .wm-blog-posts__content {
2070            width: 100%;
2071        }
2072        .wm-blog-posts.side-image .wm-blog-posts__image {
2073            border: 1px solid #DDD;
2074            border-bottom: none;
2075        }
2076        .wm-blog-posts.side-image .wm-blog-posts__content {
2077            flex-grow: 1;
2078            align-items: start;
2079            height: auto;
2080        }
2081        .wm-blog-posts.side-image img {
2082            height: 300px;
2083        }
2084
2085        /* Recent Deliveries mobile */
2086        .recent-deliveries__entry {
2087            padding: 2.4rem 2rem;
2088        }
2089        .recent-deliveries__image {
2090            width: 100%;
2091        }
2092
2093        /* Gallery mobile */
2094        .wm-gallery__grid,
2095        .wm-gallery-list--columns {
2096            grid-template-columns: 1fr;
2097        }
2098        .wm-gallery-list--textAndImageVertical .wm-gallery-list__item,
2099        .wm-gallery-list--textAndImageHorizontal .wm-gallery-list__item {
2100            grid-template-columns: 1fr;
2101        }
2102        .wm-gallery-list--textAndImageHorizontal .wm-gallery-list__item--reversed {
2103            direction: ltr;
2104        }
2105        .wm-gallery--masonry .wm-gallery__grid {
2106            column-count: 1;
2107        }
2108        /* Row-fill masonry collapses to a single grid column on mobile. Because it
2109           is always a grid (never column-count), the flat DOM keeps the 1, 2, 3…
2110           reading order regardless of whether the JS staggering has run. */
2111        .wm-gallery--masonry .wm-gallery__grid--fill-row {
2112            grid-template-columns: 1fr;
2113        }
2114        .wm-gallery-list--textAndImageHorizontal {
2115            gap: 24px;
2116        }
2117        .wm-gallery-list--textAndImageHorizontal .wm-gallery-list__item .wm-gallery-list__content {
2118            padding: 0;
2119            margin-top: 0.75rem;
2120        }
2121    }
2122
2123    @media (max-width: 480px) {
2124        [id^='section-slider'][data-nav-style='arrows-sides'] .swiper-button-prev,
2125        [id^='section-slider'][data-nav-style='arrows-top-right'] .swiper-button-prev {
2126            left: 41%;
2127            bottom: -25px;
2128        }
2129        [id^='section-slider'][data-nav-style='arrows-sides'] .swiper-button-next,
2130        [id^='section-slider'][data-nav-style='arrows-top-right'] .swiper-button-next {
2131            right: 41%;
2132            bottom: -25px;
2133        }
2134    }
2135
2136    /* Appointment Widget (wm-appointment-widget) */
2137    .wm-appt {
2138        --wm-appt-border: #e2e4ea;
2139        --wm-appt-text: #1f2430;
2140        --wm-appt-muted: #6b7280;
2141        /* Neutral palette mirrors the premium site checkout button (ps AppButton --primary,
2142           --color-gray-800 base / --color-gray-950 hover); green for success. */
2143        --wm-appt-primary: #1f2937;
2144        --wm-appt-primary-hover: #0d1016;
2145        --wm-appt-success: #2e7d32;
2146        font-family: inherit;
2147        /* Explicit base so type sizing doesn't depend on the page's root font-size. */
2148        font-size: 16px;
2149        line-height: 1.5;
2150        color: var(--wm-appt-text);
2151        max-width: 920px;
2152        margin: 0 auto;
2153        border: 1px solid var(--wm-appt-border);
2154        border-radius: 12px;
2155        background: #fff;
2156        box-shadow: 0 1px 10px rgba(67, 69, 81, 0.08);
2157        overflow: hidden;
2158    }
2159
2160    .wm-appt__header {
2161        padding: 28px 32px;
2162        background: linear-gradient(180deg, #f7f8fb 0%, #fff 100%);
2163        border-bottom: 1px solid var(--wm-appt-border);
2164    }
2165
2166    .wm-appt__title {
2167        margin: 0 0 6px;
2168        font-size: 24px;
2169        font-weight: 700 !important;
2170        line-height: 1.2;
2171    }
2172
2173    .wm-appt__caption {
2174        margin: 0;
2175        font-size: 16px;
2176        color: var(--wm-appt-text);
2177    }
2178
2179    .wm-appt__columns {
2180        display: grid;
2181        grid-template-columns: 1fr 1fr;
2182    }
2183
2184    .wm-appt__calendar {
2185        padding: 24px 32px;
2186        border-right: 1px solid var(--wm-appt-border);
2187    }
2188
2189    .wm-appt__times {
2190        padding: 24px 32px;
2191    }
2192
2193    .wm-appt__eyebrow {
2194        display: block;
2195        font-size: 12px;
2196        color: var(--wm-appt-text);
2197        margin-bottom: 16px;
2198    }
2199
2200    .wm-appt__month-nav {
2201        display: flex;
2202        align-items: center;
2203        justify-content: space-between;
2204        margin-bottom: 16px;
2205    }
2206
2207    .wm-appt__month {
2208        font-size: 18px;
2209        font-weight: 600 !important;
2210    }
2211
2212    .wm-appt__month-arrows {
2213        display: flex;
2214        gap: 4px;
2215    }
2216
2217    .wm-appt__arrow {
2218        width: 32px;
2219        height: 32px;
2220        display: inline-flex;
2221        align-items: center;
2222        justify-content: center;
2223        border: none;
2224        background: transparent;
2225        border-radius: 6px;
2226        cursor: pointer;
2227        color: var(--wm-appt-text);
2228    }
2229
2230    .wm-appt__arrow:hover:not(:disabled) {
2231        background: rgba(31, 41, 55, 0.08);
2232    }
2233
2234    .wm-appt__arrow:disabled {
2235        opacity: 0.35;
2236        cursor: default;
2237    }
2238
2239    .wm-appt__weekdays,
2240    .wm-appt__days {
2241        display: grid;
2242        grid-template-columns: repeat(7, 1fr);
2243    }
2244
2245    .wm-appt__weekday {
2246        text-align: center;
2247        font-size: 12px;
2248        font-weight: 500 !important;
2249        color: #6a7282;
2250        padding-bottom: 8px;
2251    }
2252
2253    .wm-appt__days {
2254        gap: 4px;
2255    }
2256
2257    .wm-appt__day {
2258        aspect-ratio: 1;
2259        display: inline-flex;
2260        align-items: center;
2261        justify-content: center;
2262        border: none;
2263        background: transparent;
2264        border-radius: 8px;
2265        font-size: 14px;
2266        font-weight: 500 !important;
2267        cursor: pointer;
2268        color: var(--wm-appt-text);
2269    }
2270
2271    .wm-appt__day:hover:not(.wm-appt__day--disabled):not(.wm-appt__day--selected) {
2272        background: rgba(31, 41, 55, 0.08);
2273    }
2274
2275    .wm-appt__day--selected {
2276        background: var(--wm-appt-primary);
2277        color: #fff;
2278        font-weight: 600 !important;
2279    }
2280
2281    .wm-appt__day--disabled {
2282        color: #c8ccd4;
2283        cursor: default;
2284    }
2285
2286    .wm-appt__times-empty {
2287        height: 100%;
2288        min-height: 220px;
2289        display: flex;
2290        flex-direction: column;
2291        align-items: center;
2292        justify-content: center;
2293        text-align: center;
2294        color: #b4b8c2;
2295        gap: 12px;
2296    }
2297
2298    .wm-appt__times-empty p {
2299        margin: 0;
2300        font-size: 16px;
2301    }
2302
2303    .wm-appt__times-title {
2304        margin: 0 0 20px;
2305        font-size: 18px;
2306        font-weight: 600 !important;
2307    }
2308
2309    .wm-appt__times-none {
2310        color: var(--wm-appt-muted);
2311        font-size: 16px;
2312    }
2313
2314    .wm-appt__slots {
2315        display: grid;
2316        grid-template-columns: 1fr 1fr;
2317        gap: 8px;
2318        max-height: 400px;
2319        overflow-y: auto;
2320        padding-right: 4px;
2321    }
2322
2323    .wm-appt__slot {
2324        padding: 10px 12px;
2325        border: 1px solid var(--wm-appt-border);
2326        background: #fff;
2327        border-radius: 8px;
2328        font-size: 14px;
2329        font-weight: 500 !important;
2330        cursor: pointer;
2331        color: var(--wm-appt-text);
2332        text-align: center;
2333    }
2334
2335    .wm-appt__slot:hover:not(.wm-appt__slot--selected) {
2336        border-color: var(--wm-appt-primary);
2337    }
2338
2339    .wm-appt__slot--selected {
2340        background: var(--wm-appt-primary);
2341        border-color: var(--wm-appt-primary);
2342        color: #fff;
2343        font-weight: 600 !important;
2344    }
2345
2346    .wm-appt__meta {
2347        margin: 20px 0 0;
2348        display: flex;
2349        flex-direction: column;
2350        gap: 6px;
2351    }
2352
2353    .wm-appt__meta div {
2354        display: flex;
2355        gap: 6px;
2356        font-size: 12px;
2357        color: var(--wm-appt-text);
2358    }
2359
2360    .wm-appt__meta dt,
2361    .wm-appt__meta dd {
2362        margin: 0;
2363    }
2364
2365    .wm-appt__details {
2366        padding: 24px 32px 28px;
2367        border-top: 1px solid var(--wm-appt-border);
2368        display: flex;
2369        flex-wrap: wrap;
2370        gap: 16px;
2371    }
2372
2373    .wm-appt__details-lead {
2374        width: 100%;
2375        margin: 0;
2376        font-size: 12px;
2377        font-weight: 400 !important;
2378    }
2379
2380    .wm-appt__field-row {
2381        width: 100%;
2382        display: flex;
2383        gap: 16px;
2384    }
2385
2386    .wm-appt__field {
2387        flex: 1;
2388        display: flex;
2389        flex-direction: column;
2390        gap: 6px;
2391    }
2392
2393    .wm-appt__field--full {
2394        width: 100%;
2395        flex-basis: 100%;
2396    }
2397
2398    .wm-appt__label {
2399        font-size: 14px;
2400        font-weight: 600 !important;
2401        margin-bottom: 0 !important;
2402    }
2403
2404    .wm-appt__required {
2405        margin-left: 2px;
2406        color: #d23b3b;
2407    }
2408
2409    .wm-appt__input {
2410        width: 100%;
2411        box-sizing: border-box;
2412        padding: 12px 14px;
2413        border: 1px solid var(--wm-appt-border);
2414        border-radius: 8px;
2415        font-family: inherit;
2416        font-size: 16px;
2417        color: var(--wm-appt-text);
2418        background: #fff;
2419    }
2420
2421    .wm-appt__input::placeholder {
2422        color: #bcbcbd;
2423    }
2424
2425    .wm-appt__input:focus {
2426        outline: none;
2427        border-color: var(--wm-appt-primary);
2428    }
2429
2430    .wm-appt__input--error {
2431        border-color: #d23b3b;
2432    }
2433
2434    .wm-appt__textarea {
2435        resize: vertical;
2436    }
2437
2438    .wm-appt__field-error {
2439        font-size: 14px;
2440        color: #d23b3b;
2441    }
2442
2443    .wm-appt__error {
2444        width: 100%;
2445        margin: 0;
2446        font-size: 16px;
2447        color: #d23b3b;
2448    }
2449
2450    .wm-appt__submit {
2451        align-self: flex-start;
2452        padding: 12px 24px;
2453        border: none;
2454        border-radius: 8px;
2455        background: var(--wm-appt-primary);
2456        color: #fff;
2457        font-family: inherit;
2458        font-size: 16px;
2459        font-weight: 600 !important;
2460        cursor: pointer;
2461    }
2462
2463    .wm-appt__submit:hover:not(:disabled) {
2464        background: var(--wm-appt-primary-hover);
2465    }
2466
2467    .wm-appt__submit:disabled {
2468        opacity: 0.6;
2469        cursor: default;
2470    }
2471
2472    .wm-appt__confirmation {
2473        padding: 48px 32px;
2474        display: flex;
2475        flex-direction: column;
2476        align-items: center;
2477        text-align: center;
2478        gap: 12px;
2479        color: var(--wm-appt-success);
2480    }
2481
2482    .wm-appt__confirmation-title {
2483        margin: 0;
2484        font-size: 26px;
2485        font-weight: 700 !important;
2486        color: var(--wm-appt-text);
2487    }
2488
2489    .wm-appt__confirmation-message {
2490        margin: 0 0 8px;
2491        font-size: 18px;
2492        color: var(--wm-appt-muted);
2493        max-width: 380px;
2494    }
2495
2496    @media (max-width: 640px) {
2497        .wm-appt__columns {
2498            grid-template-columns: 1fr;
2499        }
2500
2501        .wm-appt__calendar {
2502            border-right: none;
2503            border-bottom: 1px solid var(--wm-appt-border);
2504        }
2505
2506        .wm-appt__field-row {
2507            flex-direction: column;
2508        }
2509    }
2510
2511</style>
2512
2513	<!-- [START] Analytics Content: [default] -->
2514<!-- Google Tag Manager -->
2515<script>(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
2516new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],
2517j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=
2518'https://www.googletagmanager.com/gtm.js?id='+i+dl+ '&gtm_cookies_win=x';f.parentNode.insertBefore(j,f);
2519})(window,document,'script','dataLayer','GTM-TLR3ZL8');
2520window.dataLayer = window.dataLayer || [];
2521dataLayer.push({"ga4PsId":"G-RWY7QD072S","vendorAccountId":"vndr_PX8TZWD5Gu1esoJe"});            var pageMetadataEventObj = {
2522                'event': 'pageMetadata',
2523                'title': document.title,
2524                'path': location.pathname,
2525                'url': location.href,
2526                'referrer': document.referrer,
2527                'search': location.search,
2528                'visitedDomain': 'emeraldpetals.bloomnation.com',
2529                'login': 'notLoggedIn'
2530            };            pageMetadataEventObj['vendorDomain'] = 'emeraldpetalspdx.com';        window.dataLayer.push(pageMetadataEventObj);window.dataLayer = window.dataLayer || [];
2531dataLayer.push([]);
2532</script>
2532
2533<!-- End Google Tag Manager -->
2534	<!-- [END] Analytics Content: [default] -->
2535<script>
2536    //<![CDATA[
2537    var FORM_KEY = (document.cookie.match(/(?:^|;\s*)_csrf=([^;]*)/) || [])[1] || '';
2538    //]]>
2539</script>
2539
2540
2541                        <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'">
2542                    <meta name="google-site-verification" content="WRf84sAwDZsNzqv2AeQhzmqFktts_3GEBrdM1cn-m-4" />
2543
2544<!-- [START] Custom HTML --><!-- [END] Custom HTML --></head>
2545<body class=" bloom-cms-sitepage-view cms-contact-us vendor-10135 bloom growth">
2546
2547
2548    <a class="skip-to-mp" href="https://www.bloomnation.com/florist/emerald-petals/?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/emerald-petals/?nav=premium-accessibility</a>
2549
2550<script>
2551  (function () {
2552    function ready(callback) {
2553      if (document.readyState === 'loading') {
2554        document.addEventListener('DOMContentLoaded', callback);
2555      } else {
2556        callback();
2557      }
2558    }
2559
2560    /**
2561     * Height of an element that may still be display:none.
2562     *
2563     * getComputedStyle() reports the declared height, which is 'auto' whenever the stylesheet does
2564     * not pin one — and parseInt('auto') is NaN. jQuery's .css('height') avoided that by briefly
2565     * laying the element out off-screen, so do the same. layout.css currently does pin
2566     * #header-accessibilityPopup at 205px, which is the only reason the simple read would work
2567     * today; this keeps working if that ever changes.
2568     */
2569    function hiddenHeight(element) {
2570      if (window.getComputedStyle(element).display !== 'none') {
2571        return element.offsetHeight;
2572      }
2573
2574      var style = element.style;
2575      var saved = {
2576        position: style.position,
2577        visibility: style.visibility,
2578        display: style.display
2579      };
2580
2581      style.position = 'absolute';
2582      style.visibility = 'hidden';
2583      style.display = 'block';
2584
2585      var height = element.offsetHeight;
2586
2587      style.position = saved.position;
2588      style.visibility = saved.visibility;
2589      style.display = saved.display;
2590
2591      return height;
2592    }
2593
2594    ready(function () {
2595      var accessibilityBtn = document.querySelector('.accessibility-widget [data-accessibility-btn]');
2596      var accessibilityPopup = document.querySelector('.accessibility-widget [data-accessibility-popup]');
2597      var accessibilityOverlay = document.querySelector('.accessibility-widget-overlay');
2598
2599      if (!accessibilityBtn || !accessibilityPopup || !accessibilityOverlay) {
2600        return;
2601      }
2602
2603      // Must be the exact negative of the container height, so the popup tucks fully out of sight.
2604      var popupHiddenHeight = hiddenHeight(accessibilityPopup) * -1;
2605      var showHide = { attribute: 'top', show: '0px', hide: popupHiddenHeight + 'px' };
2606
2607      function checkPopupVisible() {
2608        return window.getComputedStyle(accessibilityPopup)[showHide.attribute] === showHide.show;
2609      }
2610
2611      function togglePopup(popup, button, action, data) {
2612        popup.style[data.attribute] = data[action];
2613        var show = action === 'show';
2614        button.setAttribute('aria-expanded', String(show));
2615        accessibilityOverlay.style.display = show ? 'block' : 'none';
2616      }
2617
2618      function hideAccessibilityPopup() {
2619        togglePopup(accessibilityPopup, accessibilityBtn, 'hide', showHide);
2620      }
2621
2622      function showAccessibilityPopup() {
2623        accessibilityPopup.style.display = 'block';
2624        // Ensure the transition runs after the display:block above has been applied.
2625        setTimeout(function () {
2626          togglePopup(accessibilityPopup, accessibilityBtn, 'show', showHide);
2627        }, 0);
2628      }
2629
2630      function handleClickOutsidePopup() {
2631        if (checkPopupVisible()) {
2632          hideAccessibilityPopup();
2633        }
2634      }
2635
2636      accessibilityBtn.addEventListener('click', function () {
2637        if (checkPopupVisible()) {
2638          hideAccessibilityPopup();
2639        } else {
2640          showAccessibilityPopup();
2641        }
2642      });
2643
2644      accessibilityPopup.addEventListener('click', hideAccessibilityPopup);
2645
2646      accessibilityPopup.addEventListener('transitionend', function () {
2647        if (!checkPopupVisible()) {
2648          accessibilityPopup.style.display = 'none';
2649        }
2650      });
2651
2652      accessibilityOverlay.addEventListener('click', handleClickOutsidePopup);
2653    });
2654  })();
2655</script>
2655
2656
2657
2658<div class="accessibility-widget">
2659    <div class="accessibility-widget-overlay" aria-hidden="true"></div>
2660    <div class="header-accessibilityInnerContainer">
2661        <button
2662            id="header-accessibilityPopupBtn"
2663            aria-haspopup="true"
2664            aria-expanded="false"
2665            aria-controls="header-accessibilityPopup"
2666            aria-label="Accessibility Information"
2667            data-accessibility-btn
2668        >
2669        <svg class="ada-icon-dot" width="42" height="42" viewBox="0 0 42 42" fill="none" xmlns="http://www.w3.org/2000/svg">
2670            <circle cx="21" cy="21" r="21" fill="#017AFF"/>
2671            <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"/>
2672        </svg>
2673        <svg class="ada-icon-tab" width="42" height="42" viewBox="0 0 42 42" fill="none" xmlns="http://www.w3.org/2000/svg">
2674            <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"/>
2675            <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"/>
2676        </svg>
2677    </button>
2678    <aside id="header-accessibilityPopup" aria-labelledby="header-accessibilityPopupBtn" data-accessibility-popup>
2679        <p>For an accessible ADA experience, please <a href="https://www.bloomnation.com/florist/emerald-petals/?nav=premium-accessibility" rel="nofollow">visit our Marketplace.</a></p>
2680        <p><a href="https://emeraldpetalspdx.com/accessibility-statement/">Visit our Accessibility page</a> for further assistance or to learn more about our efforts.</p>
2681    </aside>
2682    </div>
2683</div>
2684
2685
2686	<!-- [START] Analytics Content: [default] -->
2687<!-- Google Tag Manager (noscript) -->
2688<noscript><iframe src="https://www.googletagmanager.com/ns.html?id=GTM-TLR3ZL8&gtm_cookies_win=x%22"
2689height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript>
2690<!-- End Google Tag Manager (noscript) -->
2691	<!-- [END] Analytics Content: [default] -->
2692
2693
2694<script>
2695    (function () {
2696        /*
2697         * A page restored from the back/forward cache is not re-executed, so the cart count, the
2698         * logged-in state and any flash messages would be whatever they were when the visitor left.
2699         * PageTransitionEvent.persisted is true only for that restore, so reload to rebuild the page
2700         * server-side. This reads the native event directly; the jQuery version had to unwrap
2701         * event.originalEvent to reach the same flag.
2702         */
2703        window.addEventListener('pageshow', function (event) {
2704            if (event.persisted) {
2705                window.location.reload();
2706            }
2707        });
2708
2709        /*
2710         * Kill switch that freezes navigation: while window.forceDisableAllLinks is set, every
2711         * anchor without a force-redirect attribute stops navigating. Nothing in this repository
2712         * sets the flag, so this does nothing unless a script injected into the page turns it on.
2713         *
2714         * The jQuery version bound a handler to every anchor present at DOM ready and did nothing at
2715         * all on the flag-is-off path. One listener costs nothing while the flag is off and also
2716         * covers anchors added after DOM ready — but it has to run in the capture phase to match
2717         * the old reach: dropdown-nav.js stops propagation on every .dropdown-toggle and
2718         * .dropdown-content click, as does toggleDropdown() in topMobile.phtml, so a listener
2719         * delegated on the bubble phase would never see the desktop subnav links at all.
2720         */
2721        document.addEventListener('click', function (event) {
2722            if (!window.forceDisableAllLinks) {
2723                return;
2724            }
2725
2726            var target = event.target;
2727            var link = target && typeof target.closest === 'function' ? target.closest('a') : null;
2728
2729            if (!link || link.hasAttribute('force-redirect')) {
2730                return;
2731            }
2732
2733            event.preventDefault();
2734            // Belt and braces: preventDefault alone has been seen to let a navigation through here.
2735            link.setAttribute('href', '#');
2736        }, true);
2737    })();
2738</script>
2738
2739
2740<header id="header_mobile" class="header-mobile visible-xs text-center">
2741    <table class="header-mobile-grid">
2742        <tbody>
2743            <tr>
2744                <td class="menu-cell">
2745                    <div class="menu-container">
2746                        
2747<nav class="navigation-mobile-wrapper">
2748    <div class="navToggle-container nav-itemWrapper nav-itemWrapper--navToggle text-left">
2749        <!-- Nav Toggle -->
2750        <button
2751            id="navToggleMobile"
2752            class="nav-toggle-mobile nav-item nav-item-mobile nav-item--navToggle text-center"
2753            aria-controls="navigationMobile"
2754            aria-expanded="false"
2755            title="Main Navigation">
2756            <i class="fa fa-reorder"></i>
2757        </button>
2758    </div>
2759    <ul class="navigation col-md-12 navigation-mobile" id="navigationMobile">
2760        <li class="nav-itemWrapper text-right">
2761
2762                            <a href="https://emeraldpetalspdx.com/customer/account/create/" class="nav-item nav-item-mobile account-link">
2763                    <span class="nav-itemText mobile-menu-text-color">Sign Up</span>
2764                </a>
2765                    <span class="nav-itemText mobile-menu-text-color sign-up-log-in-separator">/</span>
2766                <a href="https://emeraldpetalspdx.com/customer/account/login/" class="nav-item nav-item-mobile account-link">
2767                    <span class="nav-itemText mobile-menu-text-color">Log in</span>
2768                </a>
2769            
2770        </li>
2771                                    <li class="nav-itemWrapper text-left">
2772                    <a class="nav-item" href="https://emeraldpetalspdx.com/portland-florist-flower-delivery/" target="_self">
2773                        <span class="nav-itemText mobile-menu-text-color">Flowers</span>
2774                    </a>
2775                </li>
2776                                                <li class="nav-itemWrapper text-left">
2777                    <a class="nav-item" href="https://emeraldpetalspdx.com/cms/index/gallery/?gallery_id=14842" target="_self">
2778                        <span class="nav-itemText mobile-menu-text-color">Weddings &amp; Events</span>
2779                    </a>
2780                </li>
2781                                                <li class="nav-itemWrapper text-left">
2782                    <a class="nav-item" href="https://emeraldpetalspdx.com/cms/index/gallery/?gallery_id=14841" target="_self">
2783                        <span class="nav-itemText mobile-menu-text-color">Planned &amp; Delivered</span>
2784                    </a>
2785                </li>
2786                                                <li class="nav-itemWrapper text-left">
2787                    <a class="nav-item" href="https://emeraldpetalspdx.com/flower-subscriptions/" target="_self">
2788                        <span class="nav-itemText mobile-menu-text-color">Subscriptions</span>
2789                    </a>
2790                </li>
2791                                                <li class="dropdown nav-dropdown nav-itemWrapper nav-itemWrapper--dropdown text-left">
2792                    <a class="dropdown-toggle nav-item nav-item-mobile nav-item--dropdown" role="button" data-target="#" data-toggle="dropdown">
2793                        <span class="nav-itemText mobile-menu-text-color">About &#x25BE;</span>
2794                    </a>
2795                    <ul class="subnav dropdown-menu header-subnav" role="menu">
2796                                                    <li class="subnav-itemWrapper text-left">
2797                                <a class="nav-item nav-item-mobile nav-item--subnav text-left" href="https://emeraldpetalspdx.com/about-us/" target="_self">
2798                                    <span class="nav-itemText mobile-menu-text-color">About Us</span>
2799                                </a>
2800                            </li>
2801                                                    <li class="subnav-itemWrapper text-left">
2802                                <a class="nav-item nav-item-mobile nav-item--subnav text-left" href="https://emeraldpetalspdx.com/contact-us/" target="_self">
2803                                    <span class="nav-itemText mobile-menu-text-color">Contact Us</span>
2804                                </a>
2805                            </li>
2806                                            </ul>
2807                </li>
2808                                </ul>
2809    <div class="background-overlay" id="mobileBackgroundOverlay"></div>
2810</nav>
2811<script type="text/javascript">
2812    (function () {
2813        function ready(callback) {
2814            if (document.readyState === 'loading') {
2815                document.addEventListener('DOMContentLoaded', callback);
2816            } else {
2817                callback();
2818            }
2819        }
2820
2821        function each(selector, callback, root) {
2822            Array.prototype.forEach.call((root || document).querySelectorAll(selector), callback);
2823        }
2824
2825        // jQuery's :visible test, which is what the checks below used to run through.
2826        function isVisible(element) {
2827            return !!(element.offsetWidth || element.offsetHeight || element.getClientRects().length);
2828        }
2829
2830        /*
2831         * jQuery's .width(): the content-box width, as a number. Not getComputedStyle().width, which
2832         * resolves to the border box under the border-box sizing Bootstrap applies globally. Like
2833         * jQuery it also measures a display:none element, by laying it out off-screen — #header_mobile
2834         * carries visible-xs, so it is hidden on desktop.
2835         */
2836        function contentWidth(element) {
2837            if (window.getComputedStyle(element).display === 'none') {
2838                return swapMeasure(element, measureContentWidth);
2839            }
2840
2841            return measureContentWidth(element);
2842        }
2843
2844        function measureContentWidth(element) {
2845            var styles = window.getComputedStyle(element);
2846
2847            return element.offsetWidth
2848                - (parseFloat(styles.paddingLeft) || 0)
2849                - (parseFloat(styles.paddingRight) || 0)
2850                - (parseFloat(styles.borderLeftWidth) || 0)
2851                - (parseFloat(styles.borderRightWidth) || 0);
2852        }
2853
2854        /*
2855         * jQuery's swap() with cssShow: lay a hidden element out off-screen just long enough to
2856         * measure. The measure callback must not re-test display itself — Bootstrap's visible-xs is
2857         * `display: none !important` above 768px, which an inline style cannot beat, so the swap does
2858         * not actually reveal #header_mobile and a self-recursive version would never terminate.
2859         */
2860        function swapMeasure(element, measure) {
2861            var style = element.style;
2862            var saved = {
2863                position: style.position,
2864                visibility: style.visibility,
2865                display: style.display
2866            };
2867
2868            style.position = 'absolute';
2869            style.visibility = 'hidden';
2870            style.display = 'block';
2871
2872            var measured = measure(element);
2873
2874            style.position = saved.position;
2875            style.visibility = saved.visibility;
2876            style.display = saved.display;
2877
2878            return measured;
2879        }
2880
2881        // jQuery's $(document).height().
2882        function documentHeight() {
2883            var body = document.body;
2884            var html = document.documentElement;
2885
2886            return Math.max(
2887                body.scrollHeight,
2888                body.offsetHeight,
2889                html.clientHeight,
2890                html.scrollHeight,
2891                html.offsetHeight
2892            );
2893        }
2894
2895        /*
2896         * Submenu open/close, replacing the $('.dropdown-toggle').dropdown() call that used to sit
2897         * here. That call is what made the submenus toggle at all: the Bootstrap plugin binds
2898         * Dropdown.prototype.toggle straight to each element, and because that handler returns false
2899         * it also stops the click reaching Bootstrap's delegated [data-toggle=dropdown] handler on
2900         * document. Without the direct handler the delegated one runs after clearMenus() has already
2901         * removed the 'open' class, so it reads the menu as closed and re-opens it every time — a
2902         * submenu that can never be closed. The port below keeps the direct-handler semantics
2903         * (including getParent()'s data-target/href lookup and the second-click close) and works
2904         * whether or not Bootstrap is on the page, which it will not be after BLOOM-17575's P9.
2905         */
2906        function dropdownParent(toggle) {
2907            var selector = toggle.getAttribute('data-target');
2908
2909            if (!selector) {
2910                var href = toggle.getAttribute('href');
2911                selector = href && /#[A-Za-z]/.test(href) ? href.replace(/.*(?=#[^\s]*$)/, '') : null;
2912            }
2913
2914            var target = null;
2915
2916            if (selector) {
2917                try {
2918                    target = document.querySelector(selector);
2919                } catch (error) {
2920                    // The mobile toggles carry data-target="#", which is not a valid selector.
2921                    // jQuery quietly returned an empty set for it, so fall through to the parent.
2922                    target = null;
2923                }
2924            }
2925
2926            return target || toggle.parentNode;
2927        }
2928
2929        function closeOpenDropdowns() {
2930            each('[data-toggle="dropdown"]', function (toggle) {
2931                dropdownParent(toggle).classList.remove('open');
2932            });
2933        }
2934
2935        function toggleDropdown(event) {
2936            var toggle = event.currentTarget;
2937
2938            if (toggle.classList.contains('disabled') || toggle.disabled) {
2939                return;
2940            }
2941
2942            var parent = dropdownParent(toggle);
2943            var wasOpen = parent.classList.contains('open');
2944
2945            closeOpenDropdowns();
2946
2947            if (!wasOpen) {
2948                parent.classList.add('open');
2949                toggle.focus();
2950            }
2951
2952            event.preventDefault();
2953            // Bootstrap's handler returned false, which stopped the click reaching its own
2954            // document-level handlers. Keep that so nothing toggles the menu a second time.
2955            event.stopPropagation();
2956        }
2957
2958        ready(function () {
2959            each('.dropdown-toggle', function (toggle) {
2960                toggle.addEventListener('click', toggleDropdown);
2961            });
2962
2963            document.addEventListener('click', closeOpenDropdowns);
2964
2965            var navToggle = document.getElementById('navToggleMobile');
2966            var navigationMobile = document.getElementById('navigationMobile');
2967            var overlay = document.getElementById('mobileBackgroundOverlay');
2968            var headerMobile = document.getElementById('header_mobile');
2969            var body = document.body;
2970
2971            if (!navToggle || !navigationMobile || !overlay) {
2972                return;
2973            }
2974
2975            each('.dropdown-toggle', function (toggle) {
2976                toggle.addEventListener('click', function (event) {
2977                    if (isVisible(navigationMobile)) {
2978                        return;
2979                    }
2980
2981                    event.preventDefault();
2982
2983                    // A page carries several of these — one per desktop dropdown, plus the two
2984                    // dropdown-nav templates — and .is(':visible') was true if ANY of them was
2985                    // showing, so this has to ask all of them, not just the first.
2986                    var desktopSubnavOpen = Array.prototype.some.call(
2987                        document.querySelectorAll('.dropdown-content--arrownav-desktop'),
2988                        isVisible
2989                    );
2990
2991                    if (!desktopSubnavOpen) {
2992                        return;
2993                    }
2994
2995                    each('.dropdown-wrapper--hover', function (wrapper) {
2996                        each('.dropdown-toggle', function (hoverToggle) {
2997                            hoverToggle.setAttribute('aria-expanded', 'false');
2998                        }, wrapper);
2999                        each('.dropdown-content', function (content) {
3000                            content.classList.remove('dropdown-content--visible');
3001                        }, wrapper);
3002                        wrapper.classList.remove('open');
3003                    });
3004                });
3005            });
3006
3007            // Nav Toggle on click
3008            navToggle.addEventListener('click', function () {
3009                if (navigationMobile.classList.contains('open')) {
3010                    hideMenu();
3011                } else {
3012                    showMenu();
3013                }
3014            });
3015
3016            overlay.addEventListener('click', function () {
3017                hideMenu();
3018            });
3019
3020            navigationMobile.addEventListener('touchstart', startTouch, { passive: false });
3021            navigationMobile.addEventListener('touchmove', moveTouch, { passive: false });
3022
3023            // Swipe Up / Down / Left / Right
3024            var initialX = null;
3025            var initialY = null;
3026
3027            function startTouch(e) {
3028                initialX = e.touches[0].clientX;
3029                initialY = e.touches[0].clientY;
3030            }
3031
3032            function moveTouch(e) {
3033                if (initialX === null) {
3034                    return;
3035                }
3036
3037                if (initialY === null) {
3038                    return;
3039                }
3040
3041                var currentX = e.touches[0].clientX;
3042                var currentY = e.touches[0].clientY;
3043
3044                var diffX = initialX - currentX;
3045                var diffY = initialY - currentY;
3046
3047                if (Math.abs(diffX) > Math.abs(diffY)) {
3048                    // sliding horizontally
3049                    if (diffX > 0) {
3050                        // swiped left
3051                        menuSlideLeft();
3052                    }
3053                }
3054
3055                initialX = null;
3056                initialY = null;
3057            }
3058
3059            /*
3060             * Stale selector, kept as it was: the toggle lives in .navToggle-container, a sibling of
3061             * .navigation-mobile rather than a child, so this has matched nothing for a long time.
3062             * Restoring the intent would hide the hamburger while the menu is open — a visible
3063             * change, and not this ticket's.
3064             */
3065            function setNavToggleDisplay(display) {
3066                each('.navigation-mobile .nav-itemWrapper--navToggle', function (wrapper) {
3067                    wrapper.style.display = display;
3068                });
3069            }
3070
3071            function showMenu() {
3072                navToggle.setAttribute('aria-expanded', 'true');
3073                navigationMobile.classList.add('open');
3074                var containerWidth = headerMobile ? contentWidth(headerMobile) : 0;
3075                setNavToggleDisplay('none');
3076                navigationMobile.style.width = (containerWidth * 0.8) + 'px';
3077                overlay.style.height = documentHeight() + 'px';
3078                // The stylesheet hides the overlay, so an empty display would leave it hidden.
3079                overlay.style.display = 'block';
3080                body.style.position = 'fixed';
3081            }
3082
3083            function hideMenu() {
3084                navToggle.setAttribute('aria-expanded', 'false');
3085                navigationMobile.classList.remove('open');
3086                setNavToggleDisplay('');
3087                navigationMobile.style.width = '';
3088                overlay.style.height = '0px';
3089                overlay.style.display = 'none';
3090                body.style.position = '';
3091            }
3092
3093            function menuSlideLeft() {
3094                var containerWidth = headerMobile ? contentWidth(headerMobile) : 0;
3095                var settled = false;
3096                var timer = null;
3097
3098                function settle(event) {
3099                    if (event && event.propertyName && event.propertyName !== 'margin-left') {
3100                        return;
3101                    }
3102
3103                    if (settled) {
3104                        return;
3105                    }
3106
3107                    settled = true;
3108                    window.clearTimeout(timer);
3109                    navigationMobile.removeEventListener('transitionend', settle);
3110                    navigationMobile.style.transition = '';
3111                    navigationMobile.style.marginLeft = '0px';
3112                    navigationMobile.style.width = '';
3113                    navigationMobile.style.height = '';
3114                    navigationMobile.style.top = '';
3115                    navigationMobile.classList.remove('open');
3116                    setNavToggleDisplay('');
3117                    overlay.style.height = '0px';
3118                    overlay.style.display = 'none';
3119                }
3120
3121                navigationMobile.addEventListener('transitionend', settle);
3122                // Fallback for the cases transitionend never fires: reduced motion, or a margin that
3123                // is already at the target value.
3124                timer = window.setTimeout(settle, 150);
3125
3126                navigationMobile.style.transition = 'margin-left 100ms linear';
3127                // Force a reflow so the transition starts from the current margin.
3128                void navigationMobile.offsetWidth;
3129                navigationMobile.style.marginLeft = -(containerWidth * 0.8) + 'px';
3130            }
3131        });
3132    })();
3133</script>
3133
3134                    </div>
3135                </td>
3136                <td class="logo-cell">
3137                    <div class="logo-container">
3138                        <a class="companyLogo-imgContainer" href="https://emeraldpetalspdx.com/">
3139                                                        <img
3140                                class="companyLogo-img"
3141                                src="https://asset.bloomnation.com/c_fit,dpr_1,f_auto,h_417,q_auto,w_600/v1/vendor/10135/profile/emeraldPetals-logo_6729ed3b593d2.png"
3142                                alt="Emerald Petals - Portland, OR florist"
3143                                srcset="https://asset.bloomnation.com/c_fit%2Cdpr_1%2Cf_auto%2Ch_417%2Cq_auto%2Cw_600/v1/vendor/10135/profile/emeraldPetals-logo_6729ed3b593d2.png 1x, https://asset.bloomnation.com/c_fit%2Cdpr_2%2Cf_auto%2Ch_417%2Cq_auto%2Cw_600/v1/vendor/10135/profile/emeraldPetals-logo_6729ed3b593d2.png 2x"
3144                                                                    width="600"
3145                                    height="417"
3146                                                            />
3147                                                    </a>
3148                    </div>
3149                </td>
3150                <td class="cart-cell">
3151                    <div class="cart-container">
3152                        <a href="https://emeraldpetalspdx.com/checkout/" class="mobile-cart-btn">
3153                            <div class="mobile-cart-icon-wrapper">
3154                                <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">
3155<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"/>
3156</svg>
3157</span>
3158                                                            </div>
3159                        </a>
3160                    </div>
3161                </td>
3162            </tr>
3163        </tbody>
3164
3165    </table>
3166</header>
3167<header id="header" class="hidden-xs">
3168        <div class="row header-innerContainer">
3169        <div class="information-heading infoHeading hidden-xs col-sm-4 col-md-4">
3170                        <span class="infoHeading-item infoHeading-item--name">Emerald Petals</span>
3171            <span class="infoHeading-item infoHeading-item--address vendor-address">Delivering local, seasonal, floral magic<br />
3172            Portland,
3173            OR            97218</span>
3174                                            </div>
3175        <div class="header-logo col-xs-12 col-sm-4 col-md-4">
3176            <div class="company-logo">
3177                <a class="companyLogo-imgContainer" href="https://emeraldpetalspdx.com/">
3178                                        <img
3179                        class="companyLogo-img"
3180                        src="https://asset.bloomnation.com/c_fit,dpr_1,f_auto,h_417,q_auto,w_600/v1/vendor/10135/profile/emeraldPetals-logo_6729ed3b593d2.png"
3181                        alt="Emerald Petals - Portland, OR florist"
3182                        srcset="https://asset.bloomnation.com/c_fit%2Cdpr_1%2Cf_auto%2Ch_417%2
3182Cq_auto%2Cw_600/v1/vendor/10135/profile/emeraldPetals-logo_6729ed3b593d2.png 1x, https://asset.bloomnation.com/c_fit%2Cdpr_2%2Cf_auto%2Ch_417%2Cq_auto%2Cw_600/v1/vendor/10135/profile/emeraldPetals-logo_6729ed3b593d2.png 2x"
3183                                                    width="600"
3184                            height="417"
3185                                            />
3186                                    </a>
3187            </div>
3188        </div>
3189        
3190<nav class="header-cart ps-header-cart col-xs-12 col-sm-4 col-md-4" aria-labelledby="ps-my-account_menu-label">
3191    <div class="ps-header-cartBtn-wrapper">
3192        <div class="ps-my-account-button-wrapper dropdown-wrapper">
3193            <button class="ps-my-account-button dropdown-toggle" aria-expanded="false" aria-haspopup="true">
3194                <span class="ps-my-account-button-text" id="ps-my-account_menu-label">My Account</span>
3195                <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">
3196<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"/>
3197</svg>
3198</span>
3199            </button>
3200                            
3201<div id="dropdown-nav--js" class="dropdown-nav dropdown-nav--login dropdown-content dropdown-content--arrownav-desktop">
3202    <div class="dropdown-nav__arrow-up"></div>
3203    <div class="dropdown-nav__arrow-up--overlay"></div>
3204
3205    <ul class="dropdown-nav__list">
3206        <li class="dropdown-nav__list-item">
3207            <a class="dropdown-nav__link" href="https://emeraldpetalspdx.com/customer/account/login/" tabindex="-1" rel="nofollow">
3208                <p class="icon material-symbols-outlined">login</p>
3209                <span>Log in</span>
3210            </a>
3211        </li>
3212        <li class="dropdown-nav__list-item">
3213            <a class="dropdown-nav__link" href="https://emeraldpetalspdx.com/customer/account/create/" tabindex="-1" rel="nofollow">
3214                <p class="icon material-symbols-outlined">person</p>
3215                <span>Sign up</span>
3216            </a>
3217        </li>
3218            </ul>
3219</div>
3220                    </div>
3221
3222        <div class="ps-my-account-mob">
3223            <a href="https://emeraldpetalspdx.com/checkout/" class="btn btn-outline ps-cart_button ps-header-cartBtn" aria-label="view cart with 0 items">
3224                <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">
3225<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"/>
3226</svg>
3227</span>
3228                <span class="ps-cart_text ps-header-cart-text">(0) Cart</span>
3229                            </a>
3230        </div>
3231    </div>
3232    <style>
3233        /* Account Management Cart Modifications (start) */
3234        .ps-header-cart .ps-header-cart-badge {
3235            display: none;
3236            background: transparent;
3237            color: var(--header-icon-color, #000);
3238            position: absolute;
3239            top: 69%;
3240            left: 50%;
3241            transform: translate(-50%, -50%);
3242            padding: 0;
3243            font-size: 10px;
3244            font-weight: 600 !important;
3245            line-height: 1;
3246            pointer-events: none;
3247        }
3248
3249        .ps-header-cart .ps-my-account-button-wrapper {
3250            display: none;
3251        }
3252
3253        #header .ps-header-cart .ps-cart_button {
3254            border: 0;
3255            padding: 0;
3256        }
3257
3258        .ps-my-account-button {
3259            background: none;
3260            border: none;
3261            padding: 0;
3262        }
3263
3264        .ps-my-account-mob {
3265            display: inline-block;
3266        }
3267
3268        .ps-my-account-button-text {
3269            color: var(--my-account-color, #000);
3270        }
3271
3272        @media only screen and (min-width: 768px) {
3273            .account-management-dropdown-nav,
3274            .ps-header-cart-text {
3275                display: none;
3276            }
3277
3278            .ps-header-cart .ps-my-account-button-wrapper {
3279                position: relative;
3280                display: inline-block;
3281                float: left;
3282                margin-top: 3px;
3283                margin-right: 5px;
3284                cursor: pointer;
3285            }
3286
3287            .ps-header-cart .ps-my-account-button-text {
3288                text-align: right;
3289            }
3290
3291            .ps-header-cart .ps-my-account-button-wrapper {
3292                display: inline-block;
3293            }
3294
3295            .ps-header-cart .ps-my-account-button #ps-my-account_menu-label {
3296                font-weight: 500 !important;
3297                display: inline-block;
3298            }
3299
3300            .ps-header-cart .ps-header-cart-badge {
3301                display: block;
3302            }
3303
3304            .ps-header-cartBtn-wrapper {
3305                float: right;
3306            }
3307
3308            .ps-header-cartBtn {
3309                float: none;
3310                position: relative;
3311                margin: 0;
3312                padding: 0 10px;
3313                width: auto;
3314                height: auto;
3315                border: 0;
3316            }
3317
3318            .ps-header-cart-icon {
3319                width: 25px;
3320                height: 25px;
3321                margin: 0;
3322                vertical-align: middle;
3323                display: inline-flex;
3324                align-items: center;
3325                justify-content: center;
3326                position: relative;
3327                top: 2px;
3328            }
3329
3330            .ps-header-cart-icon svg {
3331                width: 100%;
3332                height: 100%;
3333                display: block;
3334            }
3335            .ps-header-cart-icon svg path {
3336                fill: var(--header-icon-color, var(--my-account-color, #000));
3337            }
3338        }
3339
3340        .ps-my-account-icon {
3341            width: 25px;
3342            height: 25px;
3343            margin: 0 6px;
3344            vertical-align: middle;
3345            display: inline-flex;
3346            align-items: center;
3347            justify-content: center;
3348        }
3349
3350        .ps-my-account-icon svg {
3351            width: 100%;
3352            height: 100%;
3353            display: block;
3354        }
3355
3356        .ps-my-account-icon svg path {
3357            fill: var(--header-icon-color, var(--my-account-color, #000));
3358        }
3359
3360        .ps-my-account-button svg {
3361            width: 25px;
3362            height: 25px;
3363        }
3364
3365        /* Account Management Cart Modifications (end) */
3366    </style>
3367    
3367<script type="text/javascript" src="https://promfiles.com/bloom/dist/frontend/base/default/js/dropdown-nav.5e3dac90.js" defer></script>
3367
3368</nav>
3369        <div class="clearfix"></div>
3370    </div>
3371
3372    <div class="clearfix"></div>
3373    <nav class="header-nav headerNav-wrapper">
3374        <div class="row headerNav-innerContainer">
3375            
3376<ul id="main-nav" class="navigation col-md-12">
3377	<li class="navToggle-container nav-itemWrapper nav-itemWrapper--navToggle">
3378		<!-- Nav Toggle -->
3379		<a href="#" class="nav-toggle nav-item" id="main-nav-toggle" aria-haspopup="true" aria-expanded="false">
3380			<i class="fa fa-reorder"></i>
3381			<span class="nav-show">Menu <i class="fa fa-caret-down"></i></span>
3382			<span class="nav-hide">Hide <i class="fa fa-caret-up"></i></span>
3383		</a>
3384	</li>
3385						<li class="nav-itemWrapper">
3386				<a class="nav-item" href="https://emeraldpetalspdx.com/portland-florist-flower-delivery/" target="_self"><span class="nav-itemText">Flowers</span></a>
3387			</li>
3388								<li class="nav-itemWrapper">
3389				<a class="nav-item" href="https://emeraldpetalspdx.com/cms/index/gallery/?gallery_id=14842" target="_self"><span class="nav-itemText">Weddings &amp; Events</span></a>
3390			</li>
3391								<li class="nav-itemWrapper">
3392				<a class="nav-item" href="https://emeraldpetalspdx.com/cms/index/gallery/?gallery_id=14841" target="_self"><span class="nav-itemText">Planned &amp; Delivered</span></a>
3393			</li>
3394								<li class="nav-itemWrapper">
3395				<a class="nav-item" href="https://emeraldpetalspdx.com/flower-subscriptions/" target="_self"><span class="nav-itemText">Subscriptions</span></a>
3396			</li>
3397								<li class="dropdown nav-dropdown nav-itemWrapper nav-itemWrapper--dropdown dropdown-wrapper dropdown-wrapper--hover">
3398				<button class="dropdown-toggle nav-item nav-item--dropdown dropdown-nav-toggle" aria-expanded="false" aria-haspopup="true">
3399					<span class="nav-itemText">
3400						About &#x25BE;
3401					</span>
3402				</button>
3403				<ul class="subnav dropdown-menu header-subnav dropdown-content dropdown-content--arrownav-desktop" role="menu">
3404											<li class="subnav-itemWrapper">
3405							<a class="nav-item nav-item--subnav" href="https://emeraldpetalspdx.com/about-us/" target="_self">About Us</a>
3406						</li>
3407											<li class="subnav-itemWrapper">
3408							<a class="nav-item nav-item--subnav" href="https://emeraldpetalspdx.com/contact-us/" target="_self">Contact Us</a>
3409						</li>
3410									</ul>
3411			</li>
3412			    <li class="account-management-dropdown-nav dropdown nav-dropdown nav-itemWrapper nav-itemWrapper--dropdown dropdown-wrapper">
3413        <button class="dropdown-toggle nav-item nav-item--dropdown" aria-expanded="false" aria-haspopup="true">
3414            <span class="nav-itemText">My Account &#x25BE;</span>
3415        </button>
3416        <ul class="subnav dropdown-menu header-subnav dropdown-content dropdown-content--arrownav-desktop" role="menu">
3417                        <li class="subnav-itemWrapper">
3418                <a class="nav-item nav-item--subnav" href="https://emeraldpetalspdx.com/customer/account/login/">Log in</a>
3419            </li>
3420            <li class="subnav-itemWrapper">
3421                <a class="nav-item nav-item--subnav" href="https://emeraldpetalspdx.com/customer/account/create/">
3422                    Sign Up                </a>
3423            </li>
3424                    </ul>
3425    </li>
3426</ul>
3427        </div>
3428    </nav>
3429
3430        <div class="clearfix"></div>
3431</header>
3432    <noscript>
3433        <div class="global-site-notice noscript">
3434            <div class="notice-inner">
3435                <p>
3436                    <strong>JavaScript seems to be disabled in your browser.</strong><br />
3437                    You must have JavaScript enabled in your browser to utilize the functionality of this website.                </p>
3438            </div>
3439        </div>
3440    </noscript>
3441
3442<section id="content">
3443
3444    
3445
3446	<div class="row">
3447		
3448				      <ol class="breadcrumb col-md-12">
3449            <li class="home">
3450                            <a href="https://emeraldpetalspdx.com/" title="Go to Home Page">Home</a>
3451                    </li>
3452            <li class="cms_page">
3453                            <strong>Contact Us</strong>
3454                    </li>
3455        </ol>
3456    			</div>
3457	 <div class="std">
3457<script src="https://static.elfsight.com/platform/platform.js" async></script>
3457
3458<div class="elfsight-app-b31951c2-b046-4868-98e1-c5d38415c181" data-elfsight-app-lazy></div></div></section>
3459
3460        <section id="footer" class="footer-inner">
3461        <div class="social_media footer-social_media">
3462            
3463            
3464            <div class="row social-innerContainer">
3465                                    <a href="https://www.instagram.com/emeraldpetals" target="_new"
3466                       class="instagram footer-socialItem" aria-label="visit our Instagram page">
3467                        <span class="footer-socialName">Instagram </span>
3468                        <img src="https://promfiles.com/bloom/dist/frontend/premiumsites/bloom/images/pages/footer/social/home/instagram.6ebb7516.svg" alt="" />
3469                    </a>
3470                
3471                                    <a href="https://www.facebook.com/EmeraldPetals" target="_new"
3472                       class="facebook footer-socialItem" aria-label="visit our Facebook page">
3473                        <span class="footer-socialName">Facebook </span>
3474                        <img src="https://promfiles.com/bloom/dist/frontend/premiumsites/bloom/images/pages/footer/social/home/facebook.72c20f3c.svg" alt="" />
3475                    </a>
3476                
3477                
3478                
3479                                    <a href="https://www.pinterest.com/emeraldpetals" target="_new"
3480                       class="pinterest footer-socialItem" aria-label="visit our Pinterest page">
3481                        <span class="footer-socialName">Pinterest </span>
3482                        <img src="https://promfiles.com/bloom/dist/frontend/premiumsites/bloom/images/pages/footer/social/home/pinterest.dc6bd10d.svg" alt="" />
3483                    </a>
3484                
3485                                    <a href="https://www.google.com/maps?cid=12811538107796680238" target="_new"
3486                       class="googleplaces footer-socialItem" aria-label="visit our Google page">
3487                        <span class="footer-socialName">Google</span>
3488                        <img src="https://promfiles.com/bloom/dist/frontend/premiumsites/bloom/images/pages/footer/social/home/google.9795e4d3.svg" alt="" />
3489                    </a>
3490                
3491                                    <a href="https://www.yelp.com/biz/emerald-petals-portland" target="_new"
3492                       class="yelp footer-socialItem" aria-label="visit our Yelp page">
3493                        <span class="footer-socialName">Yelp </span>
3494                        <img src="https://promfiles.com/bloom/dist/frontend/premiumsites/bloom/images/pages/footer/social/home/yelp.3792410e.svg" alt="" />
3495                    </a>
3496                
3497                
3498                
3499                
3500                <div class="clearfix visible-xs visible-sm"><br/></div>
3501
3502                                    <div class="poweredbybloomnation bloomnationRep col-xs-12 col-sm-12 col-md-12">
3503                        <div class="member_of_bloomnation_wrapper">
3504                            <a href="https://emeraldpetalspdx.com/about-us/" class="member_of_bloomnation">
3505                                <span class="bloomnationRep-text">Premier florist on</span>
3506                            </a>
3507                            <a href="https://www.bloomnation.com/" class="member_of_bloomnation_link" aria-label="BloomNation Home Page">
3508                                <img class="bloomnationRep-img"
3509                                     src="https://asset.bloomnation.com/v1/bloomnation/black_horizontal_logo.svg"
3510                                     alt="BloomNation Member"
3511                                     loading="lazy"
3512                                     width="156"
3513                                     height="23"
3514                                />
3515                            </a>
3516                        </div>
3517                    </div>
3518                            </div>
3519        </div>
3520
3521                <div class="footer-more_information footer-info">
3522            <div class="footer-info__locations">
3523                                    <div class="footer-info__location">
3524                        <div class="footer-info__col footer-info__col--address footer-infoItem footer-infoItem--address">
3525                                                            <h4 class="footer-info__heading infoItem-header infoItem-header--store">Location</h4>
3526                                                                                                                        <p class="footer-info__address infoItem-text">
3527                                                                            Delivering local<br>seasonal, floral magic, Portland, OR 97218                                                                    </p>
3528                                                    </div>
3529                        <div class="footer-info__col footer-info__col--contact footer-infoItem footer-infoItem--email">
3530                                                            <h4 class="footer-info__heading infoItem-header infoItem-header--email">Contact</h4>
3531                                                                                        <p class="infoItem-text infoItem-text--phone"><a href="tel:5037194503">(503) 719-4503</a></p>
3532                                                                                        <p class="infoItem-text infoItem-text--email"><a href="mailto:[email protected]">[email protected]</a></p>
3533                                                    </div>
3534                    </div>
3535                            </div>
3536
3537            <div class="footer-info__hours footer-infoItem footer-infoItem--hours">
3538                <h4 class="footer-info__heading infoItem-header infoItem-header--hours">Hours</h4>
3539                <div class="footer-info__hours-grid store-contact__column store-contact__column--hours store-hours">
3540                                                                    <sp
3540an class="footer-info__hours-day store-hours__label">Monday</span>
3541                        <span class="footer-info__hours-time">11 AM - 5 PM</span>
3542                                                                    <span class="footer-info__hours-day store-hours__label">Tuesday</span>
3543                        <span class="footer-info__hours-time">11 AM - 5 PM</span>
3544                                                                    <span class="footer-info__hours-day store-hours__label">Wednesday</span>
3545                        <span class="footer-info__hours-time">11 AM - 5 PM</span>
3546                                                                    <span class="footer-info__hours-day store-hours__label">Thursday</span>
3547                        <span class="footer-info__hours-time">11 AM - 5 PM</span>
3548                                                                    <span class="footer-info__hours-day store-hours__label">Friday</span>
3549                        <span class="footer-info__hours-time">11 AM - 5 PM</span>
3550                                                                <span class="footer-info__hours-day store-hours__label">Saturday</span>
3551                        <span class="footer-info__hours-time">11 AM - 2 PM</span>
3552                                            <span class="footer-info__hours-day store-hours__label">Sunday</span>
3553                        <span class="footer-info__hours-time">Closed</span>
3554                                    </div>
3555            </div>
3556        </div>
3557
3558        <section id="super-footer">
3559            <div class="footer-block footer-copyright">
3560                <div id="copyright-info" class="copyright__links">
3561            <a class="copyright__link copyright__faq-link"
3562            href="https://emeraldpetalspdx.com/faq/"
3563        >
3564            FAQs
3565        </a>
3566        <span>&middot;</span>
3567    
3568    <a class="copyright__link"
3569       href="https://emeraldpetalspdx.com/terms-of-service/"
3570    >
3571        Terms of Service
3572    </a>
3573    <span>&middot;</span>
3574
3575    <a class="copyright__link"
3576       href="https://emeraldpetalspdx.com/privacy-policy/"
3577    >
3578        Privacy Policy
3579    </a>
3580    <span>&middot;</span>
3581
3582    <a class="copyright__link"
3583       href="https://emeraldpetalspdx.com/policies/"
3584    >
3585        Policies
3586    </a>
3587    <span>&middot;</span>
3588
3589            <a class="copyright__link"
3590           href="https://emeraldpetalspdx.com/where-we-deliver"
3591        >
3592            Where We Deliver
3593        </a>
3594        <span>&middot;</span>
3595    
3596    <a class="copyright__link"
3597       href="https://emeraldpetalspdx.com/accessibility-statement/"
3598    >
3599        Accessibility
3600    </a>
3601    <span>&middot;</span>
3602
3603    <a class="copyright__link"
3604        href="/sitemap/"
3605    >
3606        Sitemap
3607    </a>
3608    <p class="copyright__all-rights-reserved">All Rights Reserved &copy;</p>
3609</div>
3610            </div>
3611        </section>
3612
3613        
3614    </section>
3615    <!-- [START] Custom HTML -->
3615<script>
3616
3617    if (window.location.href === 'https://emeraldpetalspdx.com/gallery/weddings-events/') {
3618            let wedding_content = '<div class="wedding-content"> <p>Whether a small intimate affair or a decadent celebration, Emerald Petals will work with you and create a uniquely designed floral aesthetic that reflects not only your personal style, but the season as well.</p> <p>Contact Emerald Petals for a consultation, and let us help create a wedding day that will live happily ever after.</p> </div> <div class="wedding-btn"><a href="https://www.weddingwire.com/reviews/emerald-petals-portland/13fb2267becbb48d.html" target="_blank">Our Reviews</a></div>';
3619            let wedding_consultation = '<div class="wedding-btn" style="margin-top: 30px;"><a href="/contact-us">Contact Us</a></div>';
3620            document.querySelector('#section-banner').insertAdjacentHTML("afterend", wedding_content);
3621            document.querySelector('.wm-gallery--grid').insertAdjacentHTML("afterend", wedding_consultation);
3622        }
3623    </script>
3623
3624    
3624<script type="text/javascript" src="https://static.elfsight.com/platform/platform.js" defer="defer" data-use-service-core=""></script>
3624
3625    
3626    
3627    
3628    <style>
3629    h1 {
3630                text-align: center;
3631                margin-top: 20px;
3632            }
3633            .wedding-content {
3634                text-align: center;
3635                width: 600px;
3636                margin: 0 auto;
3637                display: block;
3638            }
3639    
3640            .wedding-btn {
3641                display: flex;
3642                justify-content: center;
3643            }
3644    
3645            .wedding-btn a {
3646                background: var(--element-action-color);
3647                color: #fff;
3648                padding: 10px 15px !important;
3649                text-align: center;
3650                margin-bottom: 20px;
3651                text-decoration: none;
3652                border-radius: 25px;
3653            }
3654    
3655            .wedding-btn a:hover {
3656                background: var(--element-action-color-active);
3657                opacity: 0.8;
3658            }
3659    
3660            .wedding-gallery-div {
3661                display: flex;
3662                justify-content: center;
3663            }
3664    
3665            .wedding-gallery-div img {
3666                margin: 20px;
3667                border-radius: 5px;
3668                height: 300px;
3669            }
3670    
3671            .dyNVli {
3672                box-shadow: rgba(0, 0, 0, 0.16) 0px 3px 6px, rgba(0, 0, 0, 0.23) 0px 3px 6px;
3673                padding: 5rem 3rem;
3674                border-radius: 5px;
3675                background: #fff;
3676            }
3677    
3678            .consultation-div {
3679                margin-top: 50px;
3680            }
3681    
3682    
3683            @media only screen and (max-width : 1000px) {
3684                .wedding-gallery-div img {
3685                margin: 5px;
3686                border-radius: 5px;
3687                height: auto;
3688                width: 150px;
3689            }
3690            }
3691    
3692            @media only screen and (max-width : 600px) {
3693            .wedding-content {
3694                width: 90%;
3695            }
3696        }
3697        @media only screen and (max-width : 500px) {
3698            .wedding-content {
3699                padding: 0px 5rem;
3700            }
3701            .wedding-gallery-div {
3702                flex-direction: column;
3703                align-items: center;
3704            }
3705    
3706        }
3707    </style>
3707<script>
3708    if (window.location.href ==='https://emeraldpetalspdx.com/gallery/planned-delivered/') {
3709        let logo_image =
3710            '<p style="font-size: 20px; font-weight: bold !important; text-align: center; margin-top: 50px;">Some of our past and present clients</p><div class="planned-delivered-logo"><img src="https://asset.bloomnation.com/f_auto,q_auto/v1/vendor/10135/cms/30249d1b1f32_1730890683.jpg" border="0" alt="Logo Image" /></div>';
3711        document.querySelector('.wm-gallery--grid').insertAdjacentHTML("afterend", logo_image);
3712    }
3713</script>
3713
3714
3715
3716<style>
3717    h1 {
3718        text-align: center;
3719        margin-top: 20px;
3720    }
3721
3722    .planned-delivered-content {
3723        text-align: center;
3724        padding: 0px 15rem;
3725    }
3726
3727    .planned-delivered-div {
3728        width: 600px;
3729        margin: 0 auto;
3730        display: block;
3731    }
3732
3733    .planned-delivered-btn {
3734        display: flex;
3735        justify-content: center;
3736    }
3737
3738    .planned-delivered-btn a {
3739        background: var(--element-action-color);
3740        color: #fff;
3741        padding: 10px 15px !important;
3742        text-align: center;
3743        margin-bottom: 20px;
3744        text-decoration: none;
3745        border-radius: 25px;
3746    }
3747
3748    .planned-delivered-btn a:hover {
3749        background: var(--element-action-color-active);
3750        opacity: 0.8;
3751    }
3752
3753    .planned-delivered-gallery-div {
3754        display: flex;
3755        justify-content: center;
3756    }
3757
3758    .planned-delivered-gallery-div img {
3759        margin: 20px;
3760        border-radius: 5px;
3761        height: 300px;
3762    }
3763
3764    .planned-delivered-logo {
3765        margin-top: 50px;
3766    }
3767
3768    .planned-delivered-div {
3769        width: 600px;
3770    }
3771
3772
3773    @media only screen and (max-width : 1000px) {
3774        .planned-delivered-gallery-div img {
3775            margin: 5px;
3776            border-radius: 5px;
3777            height: auto;
3778            width: 150px;
3779        }
3780    }
3781
3782
3783    @media only screen and (max-width : 600px) {
3784        .planned-delivered-div {
3785            width: 90%;
3786        }
3787    }
3788
3789    @media only screen and (max-width : 500px) {
3790        .planned-delivered-content {
3791            padding: 0px 5rem;
3792        }
3793
3794
3795
3796        .planned-delivered-gallery-div {
3797            flex-direction: column;
3798            align-items: center;
3799        }
3800
3801    }
3802</style><!-- [END] Custom HTML -->
3802<script>
3803window.dataLayer = window.dataLayer || [];
3804
3805</script>
3805 <div class="announcement" style="display: none">
3806    <div class="announcement-bg"></div>
3807    <div class="splash">
3808        <div class="splash-wrapper">
3809            <div>
3810                <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>
3811            </div>
3812        </div>
3813    </div>
3814</div>
3815 </div>
3816
3817<script type="text/javascript">window.NREUM||(NREUM={});NREUM.info={"beacon":"bam.nr-data.net","licenseKey":"0ac16663c3","applicationID":"6732204,2307825","transactionName":"YFIHZkFZXxAEUhUIDlkYJkdATF4OSlMNDg5aaAZfQBdCChFUMQAGUhgTW1ZP","queueTime":0,"applicationTime":64,"atts":"TBUQEAlDTE9HUENbGkpK","errorBeacon":"bam.nr-data.net","agent":""}</script>
3817</body>
3818</html>
3819
3820

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.