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&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+ '>m_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>m_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 & 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 & 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 ▾</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 & 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 & 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 ▾ 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 ▾</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>·</span> 3567 3568 <a class="copyright__link" 3569 href="https://emeraldpetalspdx.com/terms-of-service/" 3570 > 3571 Terms of Service 3572 </a> 3573 <span>·</span> 3574 3575 <a class="copyright__link" 3576 href="https://emeraldpetalspdx.com/privacy-policy/" 3577 > 3578 Privacy Policy 3579 </a> 3580 <span>·</span> 3581 3582 <a class="copyright__link" 3583 href="https://emeraldpetalspdx.com/policies/" 3584 > 3585 Policies 3586 </a> 3587 <span>·</span> 3588 3589 <a class="copyright__link" 3590 href="https://emeraldpetalspdx.com/where-we-deliver" 3591 > 3592 Where We Deliver 3593 </a> 3594 <span>·</span> 3595 3596 <a class="copyright__link" 3597 href="https://emeraldpetalspdx.com/accessibility-statement/" 3598 > 3599 Accessibility 3600 </a> 3601 <span>·</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 ©</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.