<!doctype html>
<html lang="en-US">
<head>
     
                <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Karla:wght@400;500;600;700&family=Poppins:wght@400;500;600;700&display=swap">
<link rel="stylesheet" href="/build/app.css?v=2025-03-31-2220">
                    <meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge" /><script type="text/javascript">(window.NREUM||(NREUM={})).init={privacy:{cookies_enabled:true},ajax:{deny_list:["bam.nr-data.net"]},feature_flags:["soft_nav"],distributed_tracing:{enabled:true}};(window.NREUM||(NREUM={})).loader_config={agentID:"1588791012",accountID:"770378",trustKey:"770378",xpid:"UwEHUlFbGwIFUFlTAQcGVFM=",licenseKey:"c8192ea697",applicationID:"1548166127",browserID:"1588791012"};;/*! For license information please see nr-loader-spa-1.313.0.min.js.LICENSE.txt */
(()=>{var e,t,r={384:(e,t,r)=>{"use strict";r.d(t,{NT:()=>a,Zm:()=>c,bQ:()=>u,dV:()=>d,pV:()=>l});var n=r(6154),i=r(1863),s=r(944),o=r(1910);const a={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,o.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:a.beacon,errorBeacon:a.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()}},782:(e,t,r)=>{"use strict";r.d(t,{T:()=>n});const n=r(860).K7.pageViewTiming},860:(e,t,r)=>{"use strict";r.d(t,{$J:()=>u,K7:()=>c,P3:()=>d,XX:()=>i,Yy:()=>a,df:()=>s,qY:()=>n,v4:()=>o});const n="events",i="jserrors",s="browser/blobs",o="rum",a="browser/logs",c={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"},d={[c.pageViewEvent]:1,[c.pageViewTiming]:2,[c.metrics]:3,[c.jserrors]:4,[c.softNav]:5,[c.ajax]:6,[c.sessionTrace]:7,[c.sessionReplay]:8,[c.logging]:9,[c.genericEvents]:10},u={[c.pageViewEvent]:o,[c.pageViewTiming]:n,[c.ajax]:n,[c.softNav]:n,[c.metrics]:i,[c.jserrors]:i,[c.sessionTrace]:s,[c.sessionReplay]:s,[c.logging]:a,[c.genericEvents]:"ins"}},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}}))}},993:(e,t,r)=>{"use strict";r.d(t,{A$:()=>s,ET:()=>o,TZ:()=>a,p_:()=>i});var n=r(860);const i={ERROR:"ERROR",WARN:"WARN",INFO:"INFO",DEBUG:"DEBUG",TRACE:"TRACE"},s={OFF:0,ERROR:1,WARN:2,INFO:3,DEBUG:4,TRACE:5},o="log",a=n.K7.logging},1687:(e,t,r)=>{"use strict";r.d(t,{Ak:()=>a,Ze:()=>d,x3:()=>c});var n=r(3241),i=r(3606),s=r(860),o=r(2646);function a(e,t){if(!e)return;const r={staged:!1,priority:s.P3[t]||0};e.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,a=i.i.handlers;if(s&&!s.aborted&&s.backlog&&a){if((0,n.W)({type:"lifecycle",name:"drain",feature:t}),r){const e=s.backlog[t],r=a[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 o.y&&!t[0].listeners(e).includes(t[1])&&t[0].on(e,t[1])})})}}s.isolatedBacklog||delete a[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)}})}},1738:(e,t,r)=>{"use strict";r.d(t,{U:()=>f,Y:()=>l});var n=r(3241),i=r(9908),s=r(1863),o=r(944),a=r(3969),c=r(8362),d=r(860),u=r(4261);function l(e,t,r,s){const l=s||r;!l||l[e]&&l[e]!==c.d.prototype[e]||(l[e]=function(){(0,i.p)(a.xV,["API/"+e+"/called"],void 0,d.K7.metrics,r.ee),(0,n.W)({drained:!!r.runtime?.activatedFeatures,type:"data",name:"api",feature:u.Pl+e,data:{}});try{return t.apply(this,arguments)}catch(e){(0,o.R)(23,e)}})}function f(e,t,r,n,o){const a=e.info;null===r?delete a.jsAttributes[t]:a.jsAttributes[t]=r,(o||null===r)&&(0,i.p)(u.Pl+n,[(0,s.t)(),t,r],void 0,"session",e.ee)}},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(i.$9,e,t)}start(){return this.#e(i.d3)}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)}}},1863:(e,t,r)=>{"use strict";function n(){return Math.floor(performance.now())}r.d(t,{t:()=>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})}},2555:(e,t,r)=>{"use strict";r.d(t,{D:()=>a,f:()=>o});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 o(e){try{return!!e.licenseKey&&!!e.errorBeacon&&!!e.applicationID}catch(e){return!1}}const a=e=>(0,i.a)(e,s)},2614:(e,t,r)=>{"use strict";r.d(t,{BB:()=>o,H3:()=>n,g:()=>d,iL:()=>c,tS:()=>a,uh:()=>i,wk:()=>s});const n="NRBA",i="SESSION",s=144e5,o=18e5,a={STARTED:"session-started",PAUSE:"session-pause",RESET:"session-reset",RESUME:"session-resume",UPDATE:"session-update"},c={SAME_TAB:"same-tab",CROSS_TAB:"cross-tab"},d={OFF:0,FULL:1,ERROR:2}},2646:(e,t,r)=>{"use strict";r.d(t,{y:()=>n});class n{constructor(e){this.contextId=e}}},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)}},3241:(e,t,r)=>{"use strict";r.d(t,{W:()=>s});var n=r(6154);const i="newrelic";function s(e={}){try{n.gm.dispatchEvent(new CustomEvent(i,{detail:e}))}catch(e){}}},3304:(e,t,r)=>{"use strict";r.d(t,{A:()=>s});var n=r(7836);const i=()=>{const e=new WeakSet;return(t,r)=>{if("object"==typeof r&&null!==r){if(e.has(r))return;e.add(r)}return r}};function s(e){try{return JSON.stringify(e,i())??""}catch(e){try{n.ee.emit("internal-error",[e])}catch(e){}return""}}},3333:(e,t,r)=>{"use strict";r.d(t,{$v:()=>u,TZ:()=>n,Xh:()=>c,Zp:()=>i,kd:()=>d,mq:()=>a,nf:()=>o,qN:()=>s});const n=r(860).K7.genericEvents,i=["auxclick","click","copy","keydown","paste","scrollend"],s=["focus","blur"],o=4,a=1e3,c=2e3,d=["PageAction","UserAction","BrowserPerformance"],u={RESOURCES:"experimental.resources",REGISTER:"register"}},3434:(e,t,r)=>{"use strict";r.d(t,{Jt:()=>o,YM:()=>u});var n=r(7836),i=r(5607),s=r(5732);const o="nr@original:".concat(i.W),a=50;var c=Object.prototype.hasOwnProperty,d=!1;function u(e,t,r){return e||(e=n.ee),i.inPlace=function(e,t,r,n,s,o){r||(r="");const a="-"===r.charAt(0);for(let c=0;c<t.length;c++){const d=t[c],u=e[d];f(u)||(e[d]=i(u,a?d+r:r,n,d,s,o))}},i.flag=o,i;function i(t,n,i,d,h,p){return f(t)?t:(n||(n=""),nrWrapper[o]=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){l([e],r)}for(var n in e)c.call(e,n)&&(t[n]=e[n])}(t,nrWrapper,e),nrWrapper);function nrWrapper(){var o,c,f,g;let m,v;try{c=this,o=[...arguments],v=p?(0,s.$5)(r):[void 0],f="function"==typeof i?i(o,c):i||{}}catch(t){l([t,"",[o,c,d],f],e)}u(n+"start",[o,c,d,v],f,h);const y=performance.now();let b;try{return g=t.apply(c,o),b=performance.now(),g}catch(e){throw b=performance.now(),u(n+"err",[o,c,e,v],f,h),m=e,m}finally{const e=b-y,t={start:y,end:b,duration:e,isLongTask:e>=a,methodName:d,thrownError:m};t.isLongTask&&u("long-task",[t,c,v],f,h),u(n+"end",[o,c,g,v],f,h)}}}function u(r,n,i,s){if(!d||t){var o=d;d=!0;try{e.emit(r,n,i,t,s)}catch(t){l([t,r,n,i],e)}d=o}}}function l(e,t){t||(t=n.ee);try{t.emit("internal-error",e)}catch(e){}}function f(e){return!(e&&"function"==typeof e&&e.apply&&!e[o])}},3606:(e,t,r)=>{"use strict";r.d(t,{i:()=>s});var n=r(9908);s.on=o;var i=s.handlers={};function s(e,t,r,s){o(s||n.d,i,e,t,r)}function o(e,t,r,i,s){s||(s="feature"),e||(e=n.d);var o=t[s]=t[s]||{};(o[r]=o[r]||[]).push([e,i])}},3738:(e,t,r)=>{"use strict";r.d(t,{He:()=>i,Kp:()=>a,Lc:()=>d,Rz:()=>u,TZ:()=>n,bD:()=>s,d3:()=>o,jx:()=>l,sl:()=>f,uP:()=>c});const n=r(860).K7.sessionTrace,i="bstResource",s="resource",o="-start",a="-end",c="fn"+o,d="fn"+a,u="pushState",l=1e3,f=3e4},3785:(e,t,r)=>{"use strict";r.d(t,{R:()=>c,b:()=>d});var n=r(9908),i=r(1863),s=r(860),o=r(3969),a=r(993);function c(e,t,r={},c=a.p_.INFO,d=!0,u,l=(0,i.t)()){(0,n.p)(o.xV,["API/logging/".concat(c.toLowerCase(),"/called")],void 0,s.K7.metrics,e),(0,n.p)(a.ET,[l,t,r,c,d,u],void 0,s.K7.logging,e)}function d(e){return"string"==typeof e&&Object.values(a.p_).some(t=>t===e.toUpperCase().trim())}},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})},3962:(e,t,r)=>{"use strict";r.d(t,{AM:()=>o,O2:()=>l,OV:()=>s,Qu:()=>f,TZ:()=>c,ih:()=>h,pP:()=>a,t1:()=>u,tC:()=>i,wD:()=>d});var n=r(860);const i=["click","keydown","submit"],s="popstate",o="api",a="initialPageLoad",c=n.K7.softNav,d=5e3,u=500,l={INITIAL_PAGE_LOAD:"",ROUTE_CHANGE:1,UNSPECIFIED:2},f={INTERACTION:1,AJAX:2,CUSTOM_END:3,CUSTOM_TRACER:4},h={IP:"in progress",PF:"pending finish",FIN:"finished",CAN:"cancelled"}},3969:(e,t,r)=>{"use strict";r.d(t,{TZ:()=>n,XG:()=>a,rs:()=>i,xV:()=>o,z_:()=>s});const n=r(860).K7.metrics,i="sm",s="cm",o="storeSupportabilityMetrics",a="storeEventMetrics"},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)}}},4261:(e,t,r)=>{"use strict";r.d(t,{$9:()=>u,BL:()=>c,CH:()=>p,Dl:()=>R,Fw:()=>w,PA:()=>v,Pl:()=>n,Pv:()=>x,Tb:()=>f,U2:()=>o,V1:()=>A,Wb:()=>T,bt:()=>b,cD:()=>y,d3:()=>E,dT:()=>d,eY:()=>g,fF:()=>h,hG:()=>s,hw:()=>i,k6:()=>a,nb:()=>m,o5:()=>l});const n="api-",i=n+"ixn-",s="addPageAction",o="addToTrace",a="addRelease",c="finished",d="interaction",u="log",l="noticeError",f="pauseReplay",h="recordCustomEvent",p="recordReplay",g="register",m="setApplicationVersion",v="setCurrentRouteName",y="setCustomAttribute",b="setErrorHandler",w="setPageViewName",R="setUserId",E="start",T="wrapLogger",A="measure",x="consent"},5205:(e,t,r)=>{"use strict";r.d(t,{j:()=>x});var n=r(384),i=r(1741);var s=r(2555),o=r(3333);const a=e=>{if(!e||"string"!=typeof e)return!1;try{document.createDocumentFragment().querySelector(e)}catch{return!1}return!0};var c=r(2614),d=r(944),u=r(8122);const l="[data-nr-mask]",f=e=>(0,u.a)(e,(()=>{const e={feature_flags:[],experimental:{register:!1,resources:!1},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},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}},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:c.wk,inactiveMs:c.BB},session_replay:{autoStart:!0,enabled:!1,preload:!1,sampling_rate:10,error_sampling_rate:100,collect_fonts:!1,inline_images:!1,fix_stylesheets:!0,mask_all_inputs:!0,get mask_text_selector(){return e.mask_selector},set mask_text_selector(t){a(t)?e.mask_selector="".concat(t,",").concat(l):""===t||null===t?e.mask_selector=l:(0,d.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){a(t)?e.block_selector+=",".concat(t):""!==t&&(0,d.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,d.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"]}}})());var h=r(6154),p=r(9324);let g=0;const m={buildEnv:p.F3,distMethod:p.Xs,version:p.xv,originTime:h.WN},v={consented:!1},y={activatedFeatures:void 0,appMetadata:{},configured:!1,get consented(){return this.session?.state?.consent||v.consented},set consented(e){v.consented=e},customTransaction:void 0,denyList:[],disabled:!1,drainRegistry:new Map,harvester: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++g}},b=e=>{const t=(0,u.a)(e,y),r=Object.keys(m).reduce((e,t)=>(e[t]={value:m[t],writable:!1,configurable:!0,enumerable:!0},e),{});return Object.defineProperties(t,r)},w=e=>{const t=e.startsWith("http");e+="/",r.p=t?e:"https://"+e};var R=r(7836),E=r(3241);const T={accountID:void 0,trustKey:void 0,agentID:void 0,licenseKey:void 0,applicationID:void 0,xpid:void 0},A=e=>(0,u.a)(e,T);function x(e,t={},r,o){let{init:a,info:c,loader_config:d,runtime:u={},exposed:l=!0}=t;if(!c){const e=(0,n.pV)();a=e.init,c=e.info,d=e.loader_config}e.init=f(a||{}),e.loader_config=A(d||{}),c.jsAttributes??={},h.bv&&(c.jsAttributes.isWorker=!0),e.info=(0,s.D)(c);const p=e.init;e.runtime??=b(u),p.proxy.assets&&w(p.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,n.pV)();Object.getOwnPropertyNames(i.W.prototype).forEach(r=>{const n=i.W.prototype[r];if("function"!=typeof n||"constructor"===n)return;let s=t[r];e[r]&&!1!==e.exposed&&"micro-agent"!==e.runtime?.loaderType&&(t[r]=(...t)=>{const n=e[r](...t);return s?s(...t):n})})}(e),e.runtime.loaderType=r,e.ee=R.ee.get(e.agentIdentifier),e.exposed=l,(0,E.W)({drained:!!e.runtime.activatedFeatures,type:"lifecycle",name:"initialize",feature:void 0,data:e.config}),e.runtime.configured=!0)}},5270:(e,t,r)=>{"use strict";r.d(t,{Aw:()=>o,SR:()=>s,rF:()=>a});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 o(e){return!0===e?.session_replay.preload&&s(e)}function a(e,t){try{if("string"==typeof t?.type){if("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)}},5289:(e,t,r)=>{"use strict";r.d(t,{GG:()=>o,Qr:()=>c,sB:()=>a});var n=r(3878),i=r(6389);function s(){return"undefined"==typeof document||"complete"===document.readyState}function o(e,t){if(s())return e();const r=(0,i.J)(e),o=setInterval(()=>{s()&&(clearInterval(o),r())},500);(0,n.sp)("load",r,t)}function a(e){if(s())return e();(0,n.DD)("DOMContentLoaded",e)}function c(e){if(s())return e();(0,n.sp)("popstate",e)}},5607:(e,t,r)=>{"use strict";r.d(t,{W:()=>n});const n=(0,r(9566).bz)()},5732:(e,t,r)=>{"use strict";r.d(t,{$5:()=>d,B5:()=>c,Ux:()=>o,YA:()=>a,fQ:()=>i,yx:()=>s});var n=r(7508);const i={MFE:"MFE",BA:"BA"};function s(e,t){if(!e||!t?.init.api.register.enabled)return[];const r=t.runtime.registeredEntities;return r?.filter(t=>t.metadata.timings?.asset?.endsWith(e)).map(e=>e.metadata.target)||[]}function o(e,t){if(!u(t))return{};const r=t.agentRef.runtime.appMetadata.agents[0].entityGuid;return e?e.attributes:{"entity.guid":r,appId:t.agentRef.info.applicationID}}function a(e,t){return c(e,t)?{"child.id":e.id,"child.type":e.type,...o(void 0,t)}:{}}function c(e,t){return!!e&&!!u(t)&&t.agentRef.init.api.register.duplicate_data_to_container}function d(e){if(!e?.init.api.register.enabled)return[void 0];const t=[];try{var r=(0,n.AZ)((0,n.QL)());let i=r.length-1;for(;r[i];)t.push(...s(r[i--],e))}catch(e){}return t.length||t.push(void 0),t}function u(e){return 2===e?.harvestEndpointVersion}},6154:(e,t,r)=>{"use strict";r.d(t,{OF:()=>d,RI:()=>i,WN:()=>f,bv:()=>s,gm:()=>o,lR:()=>l,m:()=>c,mw:()=>a,sb:()=>u,zk:()=>h});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),o=i?window:"undefined"!=typeof WorkerGlobalScope&&("undefined"!=typeof self&&self instanceof WorkerGlobalScope&&self||"undefined"!=typeof globalThis&&globalThis instanceof WorkerGlobalScope&&globalThis),a=Boolean("hidden"===o?.document?.visibilityState),c=""+o?.location,d=/iPad|iPhone|iPod/.test(o.navigator?.userAgent),u=d&&"undefined"==typeof SharedWorker,l=(()=>{const e=o.navigator?.userAgent?.match(/Firefox[/\s](\d+\.\d+)/);return Array.isArray(e)&&e.length>=2?+e[1]:0})(),f=Date.now()-(0,n.t)(),h=()=>{const e=o?.performance?.getEntriesByType?.("navigation")?.[0];if(e&&e.responseStart>0&&e.responseStart<o.performance.now())return e}},6344:(e,t,r)=>{"use strict";r.d(t,{BB:()=>u,Qb:()=>l,TZ:()=>i,Ug:()=>o,Vh:()=>s,_s:()=>a,bc:()=>d,yP:()=>c});var n=r(2614);const i=r(860).K7.sessionReplay,s="errorDuringReplay",o=.12,a={DomContentLoaded:0,Load:1,FullSnapshot:2,IncrementalSnapshot:3,Meta:4,Custom:5},c={[n.g.ERROR]:15e3,[n.g.FULL]:3e5,[n.g.OFF]:0},d={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"}},u=5e3,l={API:"api",RESUME:"resume",SWITCH_TO_FULL:"switchToFull",INITIALIZE:"initialize",PRELOAD:"preload"}},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})},6630:(e,t,r)=>{"use strict";r.d(t,{T:()=>n});const n=r(860).K7.pageViewEvent},6774:(e,t,r)=>{"use strict";r.d(t,{T:()=>n});const n=r(860).K7.jserrors},7295:(e,t,r)=>{"use strict";r.d(t,{Xv:()=>o,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 o(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,o;i>0?(s=r.substring(0,i),o=r.substring(i)):(s=r,o="*");let[c]=s.split(":");n.push({hostname:a(c),pathname:a(o,!0)})}}function a(e,t=!1){const r=e.replace(/[.+?^${}()|[\]\\]/g,e=>"\\"+e).replace(/\*/g,".*?");return new RegExp((t?"^":"")+r+"$")}},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{}}}},7508:(e,t,r)=>{"use strict";r.d(t,{AZ:()=>g,Qr:()=>b,QL:()=>m});var n=r(6154),i=r(1863),s=r(9119),o=r(7866);class a{dom=new c;performance=new c;constructor(e){this.url=e}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}let d;try{d=g(m())[0]}catch(e){d=g(e)[0]}const u=e=>"script"===e.initiatorType||["link","fetch"].includes(e.initiatorType)&&e.name.endsWith(".js"),l=new Map;let f=[];function h(e){return l.get(e)}function p(e){const t=h(e);if(t)return t;const r=new a(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=p((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().filter(u).forEach(e=>{const t=p((0,s.L)(e.name));t.performance.start=Math.floor(e.startTime),t.performance.end=Math.floor(e.responseEnd),t.performance.value=e;const r=[];f.forEach(({test:t,addedAt:n},s)=>{(t(e)||(0,i.t)()-n>1e4)&&r.push(s)}),f=f.filter((e,t)=>!r.includes(t))})}).observe({type:"resource",buffered:!0})}function g(e){if(!e||"string"!=typeof e)return[];const t=new Set,r=e.split("\n");for(const e of r){const r=e.match(o.cn)||e.match(o.hB)||e.match(o.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 m(){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 v(e,t){return(0,s.L)(e.name)===t}function y(e,t){e.fetchStart=Math.floor(t.startTime),e.fetchEnd=Math.floor(t.responseEnd),e.asset=t.name,e.type=t.initiatorType}function b(){const e={registeredAt:(0,i.t)(),reportedAt:void 0,fetchStart:0,fetchEnd:0,scriptStart:0,scriptEnd:0,asset:void 0,type:"unknown"},t=m();if(!t)return e;const r=n.gm.performance?.getEntriesByType("navigation")?.[0]?.name||"";try{const o=g(t),a=(o.length>1?o.filter(e=>d!==e):o)[0];if(!a)return e;if(r.includes(a))return e.asset=(0,s.L)(r),e.type="inline",e;e.correlation=h(a);const c=e.correlation?.performance.value||performance.getEntriesByType("resource").find(e=>v(e,a));c?y(e,c):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}(a)&&(e.asset=a,e.type="preload",f.push({addedAt:(0,i.t)(),test:t=>!!v(t,a)&&(y(e,t),!0)})),Object.defineProperty(e,"scriptStart",{get:()=>e.correlation?.script.start||e.fetchEnd}),Object.defineProperty(e,"scriptEnd",{get:()=>e.correlation?.script.end||e.registeredAt})}catch(e){}return e}},7699:(e,t,r)=>{"use strict";r.d(t,{It:()=>s,KC:()=>a,No:()=>i,qh:()=>o});var n=r(860);const i=16e3,s=1e6,o="SESSION_ERROR",a={[n.K7.logging]:!0,[n.K7.genericEvents]:!0,[n.K7.jserrors]:!0,[n.K7.ajax]:!0}},7767:(e,t,r)=>{"use strict";r.d(t,{V:()=>i});var n=r(6154);const i=e=>n.RI&&!0===e?.privacy.cookies_enabled},7836:(e,t,r)=>{"use strict";r.d(t,{P:()=>a,ee:()=>c});var n=r(384),i=r(8990),s=r(2646),o=r(5607);const a="nr@context:".concat(o.W),c=function e(t,r){var n={},o={},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 a=h(n);g(e).forEach(e=>{e.apply(a,r)});var d=v()[o[e]];d&&d.push([f,e,r,a]);return a},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])=>{o[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()[o[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,a,()=>new s.y(a)):new s.y(a)}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)},7866:(e,t,r)=>{"use strict";r.d(t,{Nc:()=>s,cn:()=>a,fL:()=>i,h3:()=>n,hB:()=>o});const n=/function (.+?)\s*\(/,i=/^\s*at .+ \(eval at \S+ \((?:(?:file|http|https):[^)]+)?\)(?:, [^:]*:\d+:\d+)?\)$/i,s=/^\s*at Function code \(Function code:\d+:\d+\)\s*/i,o=/^\s*at (?:((?:\[object object\])?(?:[^(]*\([^)]*\))*[^()]*(?: \[as \S+\])?) )?\(?((?:file|http|https|chrome-extension):.*?)?:(\d+)(?::(\d+))?\)?\s*$/i,a=/^\s*(?:([^@]*)(?:\(.*?\))?@)?((?:file|http|https|chrome|safari-extension).*?):(\d+)(?::(\d+))?\s*$/i},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 o in s)if(void 0!==e[o])try{if(null===e[o]){r[o]=null;continue}Array.isArray(e[o])&&Array.isArray(t[o])?r[o]=Array.from(new Set([...e[o],...t[o]])):e[o]instanceof Map||e[o]instanceof Set||e[o]instanceof Date||e[o]instanceof RegExp?r[o]=e[o]:"object"==typeof e[o]&&"object"==typeof t[o]?r[o]=i(e[o],t[o]):r[o]=e[o]}catch(e){r[o]||(0,n.R)(1,e)}return r}catch(e){(0,n.R)(2,e)}}},8139:(e,t,r)=>{"use strict";r.d(t,{u:()=>f});var n=r(7836),i=r(3434),s=r(8990),o=r(6154);const a={},c=o.gm.XMLHttpRequest,d="addEventListener",u="removeEventListener",l="nr@wrapped:".concat(n.P);function f(e){var t=function(e){return(e||n.ee).get("events")}(e);if(a[t.debugId]++)return t;a[t.debugId]=1;var r=(0,i.YM)(t,!0);function f(e){r.inPlace(e,[d,u],"-",p)}function p(e,t){return e[1]}return"getPrototypeOf"in Object&&(o.RI&&h(document,f),c&&h(c.prototype,f),h(o.gm,f)),t.on(d+"-start",function(e,t){var n=e[1];if(null!==n&&("function"==typeof n||"object"==typeof n)&&"newrelic"!==e[0]){var i=(0,s.I)(n,l,function(){var e={object:function(){if("function"!=typeof n.handleEvent)return;return n.handleEvent.apply(n,arguments)},function:n}[typeof n];return e?r(e,"fn-",null,e.name||"anonymous"):n});this.wrapped=e[1]=i}}),t.on(u+"-start",function(e){e[1]=this.wrapped||e[1]}),t}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)}},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)}},8374:(e,t,r)=>{r.nc=(()=>{try{return document?.currentScript?.nonce}catch(e){}return""})()},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}},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}},9300:(e,t,r)=>{"use strict";r.d(t,{T:()=>n});const n=r(860).K7.ajax},9324:(e,t,r)=>{"use strict";r.d(t,{AJ:()=>o,F3:()=>i,Xs:()=>s,Yq:()=>a,xv:()=>n});const n="1.313.0",i="PROD",s="CDN",o="@newrelic/rrweb",a="1.1.0"},9566:(e,t,r)=>{"use strict";r.d(t,{LA:()=>a,ZF:()=>c,bz:()=>o,el:()=>d});var n=r(6154);const i="xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx";function s(e,t){return e?15&e[t]:16*Math.random()|0}function o(){const e=n.gm?.crypto||n.gm?.msCrypto;let t,r=0;return e&&e.getRandomValues&&(t=e.getRandomValues(new Uint8Array(30))),i.split("").map(e=>"x"===e?s(t,r++).toString(16):"y"===e?(3&s()|8).toString(16):e).join("")}function a(e){const t=n.gm?.crypto||n.gm?.msCrypto;let r,i=0;t&&t.getRandomValues&&(r=t.getRandomValues(new Uint8Array(e)));const o=[];for(var a=0;a<e;a++)o.push(s(r,i++).toString(16));return o.join("")}function c(){return a(16)}function d(){return a(32)}},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))}}},n={};function i(e){var t=n[e];if(void 0!==t)return t.exports;var s=n[e]={exports:{}};return r[e](s,s.exports,i),s.exports}i.m=r,i.d=(e,t)=>{for(var r in t)i.o(t,r)&&!i.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},i.f={},i.e=e=>Promise.all(Object.keys(i.f).reduce((t,r)=>(i.f[r](e,t),t),[])),i.u=e=>({212:"nr-spa-compressor",249:"nr-spa-recorder",478:"nr-spa"}[e]+"-1.313.0.min.js"),i.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),e={},t="NRBA-1.313.0.PROD:",i.l=(r,n,s,o)=>{if(e[r])e[r].push(n);else{var a,c;if(void 0!==s)for(var d=document.getElementsByTagName("script"),u=0;u<d.length;u++){var l=d[u];if(l.getAttribute("src")==r||l.getAttribute("data-webpack")==t+s){a=l;break}}if(!a){c=!0;var f={478:"sha512-NeKMtD6daP1nGK0BD1RHDYRe0uVDjjt6H6vB+aRuPaLHH5AnXS0nz7T1OUSqTePoyltWyJcxEcdwH/mH7XIzug==",249:"sha512-shkwwLS1c4sMqa82+oGrduh9fSCidFZhpgktxwTcyfn00Qyn2XqVD1DEWSSwojMjSYmsIPNhdMX42HhzcF1ndw==",212:"sha512-EUBIAxRl1u9EWvWC6mD6eTUovt50IMyauiN89CtFMk+sTLA6xTdFyY9EIQYow8lKjiazrcupr0bTByfujekNXA=="};(a=document.createElement("script")).charset="utf-8",i.nc&&a.setAttribute("nonce",i.nc),a.setAttribute("data-webpack",t+s),a.src=r,0!==a.src.indexOf(window.location.origin+"/")&&(a.crossOrigin="anonymous"),f[o]&&(a.integrity=f[o])}e[r]=[n];var h=(t,n)=>{a.onerror=a.onload=null,clearTimeout(p);var i=e[r];if(delete e[r],a.parentNode&&a.parentNode.removeChild(a),i&&i.forEach(e=>e(n)),t)return t(n)},p=setTimeout(h.bind(null,void 0,{type:"timeout",target:a}),12e4);a.onerror=h.bind(null,a.onerror),a.onload=h.bind(null,a.onload),c&&document.head.appendChild(a)}},i.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},i.p="https://js-agent.newrelic.com/",(()=>{var e={38:0,788:0};i.f.j=(t,r)=>{var n=i.o(e,t)?e[t]:void 0;if(0!==n)if(n)r.push(n[2]);else{var s=new Promise((r,i)=>n=e[t]=[r,i]);r.push(n[2]=s);var o=i.p+i.u(t),a=new Error;i.l(o,r=>{if(i.o(e,t)&&(0!==(n=e[t])&&(e[t]=void 0),n)){var s=r&&("load"===r.type?"missing":r.type),o=r&&r.target&&r.target.src;a.message="Loading chunk "+t+" failed: ("+s+": "+o+")",a.name="ChunkLoadError",a.type=s,a.request=o,n[1](a)}},"chunk-"+t,t)}};var t=(t,r)=>{var n,s,[o,a,c]=r,d=0;if(o.some(t=>0!==e[t])){for(n in a)i.o(a,n)&&(i.m[n]=a[n]);if(c)c(i)}for(t&&t(r);d<o.length;d++)s=o[d],i.o(e,s)&&e[s]&&e[s][0](),e[s]=0},r=self["webpackChunk:NRBA-1.313.0.PROD"]=self["webpackChunk:NRBA-1.313.0.PROD"]||[];r.forEach(t.bind(null,0)),r.push=t.bind(null,r.push.bind(r))})(),(()=>{"use strict";i(8374);var e=i(8362),t=i(860);const r=Object.values(t.K7);var n=i(5205);var s=i(9908),o=i(1863),a=i(4261),c=i(1738);var d=i(1687),u=i(4234),l=i(5289),f=i(6154),h=i(944),p=i(5270),g=i(7767),m=i(6389),v=i(7699);class y extends u.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,m.J)(()=>{(0,d.Ak)(e,this.featureName),t()}))}):(0,d.Ak)(e,t)}importAggregator(e,t,r={}){if(this.featAggregate)return;const n=async()=>{let n;await this.deferred;try{if((0,g.V)(e.init)){const{setupAgentSession:t}=await i.e(478).then(i.bind(i,8766));n=t(e)}}catch(e){(0,h.R)(20,e),this.ee.emit("internal-error",[e]),(0,s.p)(v.qh,[e],void 0,this.featureName,this.ee)}try{if(!this.#t(this.featureName,n,e.init))return(0,d.Ze)(this.agentRef,this.featureName),void this.loadedSuccessfully(!1);const{Aggregate:i}=await t();this.featAggregate=new i(e,r),e.runtime.harvester.initializedAggregates.push(this.featAggregate),this.loadedSuccessfully(!0)}catch(e){(0,h.R)(34,e),this.abortHandler?.(),(0,d.Ze)(this.agentRef,this.featureName,!0),this.loadedSuccessfully(!1),this.ee&&this.ee.abort()}};f.RI?(0,l.GG)(()=>n(),!0):n()}#t(e,r,n){if(this.blocked)return!1;switch(e){case t.K7.sessionReplay:return(0,p.SR)(n)&&!!r;case t.K7.sessionTrace:return!!r;default:return!0}}}var b=i(6630),w=i(2614),R=i(3241);class E extends y{static featureName=b.T;constructor(e){var t;super(e,b.T),this.setupInspectionEvents(),t=e,(0,c.Y)(a.Fw,function(e,r){"string"==typeof e&&("/"!==e.charAt(0)&&(e="/"+e),t.runtime.customTransaction=(r||"http://custom.transaction")+e,(0,s.p)(a.Pl+a.Fw,[(0,o.t)()],void 0,void 0,t.ee))},t),this.importAggregator(e,()=>i.e(478).then(i.bind(i,5839)))}setupInspectionEvents(){const e=(e,t)=>{e&&(0,R.W)({timeStamp:e.timeStamp,loaded:"complete"===e.target.readyState,type:"window",name:t,data:e.target.location+""})};(0,l.sB)(t=>{e(t,"DOMContentLoaded")}),(0,l.GG)(t=>{e(t,"load")}),(0,l.Qr)(t=>{e(t,"navigate")}),this.ee.on(w.tS.UPDATE,(e,t)=>{(0,R.W)({type:"lifecycle",name:"session",data:t})})}}var T=i(384);class A extends e.d{constructor(e){var t;(super(),f.gm)?(this.features={},(0,T.bQ)(this.agentIdentifier,this),this.desiredFeatures=new Set(e.features||[]),this.desiredFeatures.add(E),(0,n.j)(this,e,e.loaderType||"agent"),t=this,(0,c.Y)(a.cD,function(e,r,n=!1){if("string"==typeof e){if(["string","number","boolean"].includes(typeof r)||null===r)return(0,c.U)(t,e,r,a.cD,n);(0,h.R)(40,typeof r)}else(0,h.R)(39,typeof e)},t),function(e){(0,c.Y)(a.Dl,function(t,r=!1){if("string"!=typeof t&&null!==t)return void(0,h.R)(41,typeof t);const n=e.info.jsAttributes["enduser.id"];r&&null!=n&&n!==t?(0,s.p)(a.Pl+"setUserIdAndResetSession",[t],void 0,"session",e.ee):(0,c.U)(e,"enduser.id",t,a.Dl,!0)},e)}(this),function(e){(0,c.Y)(a.nb,function(t){if("string"==typeof t||null===t)return(0,c.U)(e,"application.version",t,a.nb,!1);(0,h.R)(42,typeof t)},e)}(this),function(e){(0,c.Y)(a.d3,function(){e.ee.emit("manual-start-all")},e)}(this),function(e){(0,c.Y)(a.Pv,function(t=!0){if("boolean"==typeof t){if((0,s.p)(a.Pl+a.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,h.R)(65,typeof t)},e)}(this),this.run()):(0,h.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 r.forEach(r=>{t[r]=!!e[r]?.enabled}),t}(this.init),n=[...this.desiredFeatures];n.sort((e,r)=>t.P3[e.featureName]-t.P3[r.featureName]),n.forEach(r=>{if(!e[r.featureName]&&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,h.R)(36,{targetFeature:r.featureName,missingDependencies:n}),this.features[r.featureName]=new r(this)})}catch(e){(0,h.R)(22,e);for(const e in this.features)this.features[e].abortHandler?.();const t=(0,T.Zm)();delete t.initializedAgents[this.agentIdentifier]?.features,delete this.sharedAggregator;return t.ee.get(this.agentIdentifier).abort(),!1}}}var x=i(2843),S=i(782);class _ extends y{static featureName=S.T;constructor(e){super(e,S.T),f.RI&&((0,x.u)(()=>(0,s.p)("docHidden",[(0,o.t)()],void 0,S.T,this.ee),!0),(0,x.G)(()=>(0,s.p)("winPagehide",[(0,o.t)()],void 0,S.T,this.ee)),this.importAggregator(e,()=>i.e(478).then(i.bind(i,9917))))}}var O=i(3969);class P extends y{static featureName=O.TZ;constructor(e){super(e,O.TZ),this.importAggregator(e,()=>i.e(478).then(i.bind(i,6555)))}}var k=i(6774),N=i(3878),j=i(3304);class D{constructor(e,t,r,n,i){this.name="UncaughtError",this.message="string"==typeof e?e:(0,j.A)(e),this.sourceURL=t,this.line=r,this.column=n,this.__newrelic=i}}function C(e){return M(e)?e:new D(void 0!==e?.message?e.message:e,e?.filename||e?.sourceURL,e?.lineno||e?.line,e?.colno||e?.col,e?.__newrelic,e?.cause)}function L(e){const t="Unhandled Promise Rejection: ";if(!e?.reason)return;if(M(e.reason)){try{e.reason.message.startsWith(t)||(e.reason.message=t+e.reason.message)}catch(e){}return C(e.reason)}const r=C(e.reason);return(r.message||"").startsWith(t)||(r.message=t+r.message),r}function I(e){if(e.error instanceof SyntaxError&&!/:\d+$/.test(e.error.stack?.trim())){const t=new D(e.message,e.filename,e.lineno,e.colno,e.error.__newrelic,e.cause);return t.name=SyntaxError.name,t}return M(e.error)?e.error:C(e)}function M(e){return e instanceof Error&&!!e.stack}function B(e,r,n,i,a=(0,o.t)()){"string"==typeof e&&(e=new Error(e)),(0,s.p)("err",[e,a,!1,r,n.runtime.isRecording,void 0,i],void 0,t.K7.jserrors,n.ee),(0,s.p)("uaErr",[],void 0,t.K7.genericEvents,n.ee)}var H=i(5732),K=i(993),W=i(3785);function F(e,{customAttributes:t={},level:r=K.p_.INFO}={},n,i,s=(0,o.t)()){(0,W.R)(n.ee,e,t,r,!1,i,s)}function U(e,r,n,i,c=(0,o.t)()){(0,s.p)(a.Pl+a.hG,[c,e,r,i],void 0,t.K7.genericEvents,n.ee)}function V(e,r,n,i,c=(0,o.t)()){const{start:d,end:u,customAttributes:l}=r||{},f={customAttributes:l||{}};if("object"!=typeof f.customAttributes||"string"!=typeof e||0===e.length)return void(0,h.R)(57);const p=(e,t)=>null==e?t:"number"==typeof e?e:e instanceof PerformanceMark?e.startTime:Number.NaN;if(f.start=p(d,0),f.end=p(u,c),Number.isNaN(f.start)||Number.isNaN(f.end))(0,h.R)(57);else{if(f.duration=f.end-f.start,!(f.duration<0))return(0,s.p)(a.Pl+a.V1,[f,e,i],void 0,t.K7.genericEvents,n.ee),f;(0,h.R)(58)}}function z(e,r={},n,i,c=(0,o.t)()){(0,s.p)(a.Pl+a.fF,[c,e,r,i],void 0,t.K7.genericEvents,n.ee)}var G=i(7508),Y=i(9566);const Z=["name","id","type"],q={experimental:(0,m.J)(()=>(0,h.R)(54,"newrelic.register")),disabled:(0,m.J)(()=>(0,h.R)(55)),invalidTarget:(0,m.J)(e=>(0,h.R)(48,e)),deregistered:(0,m.J)(()=>(0,h.R)(68))};function X(e){(0,c.Y)(a.eY,function(t){return Q(e,t)},e)}function Q(e,r){q.experimental(),r||={},r.instance=(0,Y.LA)(8),r.type=H.fQ.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:H.fQ.BA};const n=(0,G.Qr)(),i={};Object.prototype.hasOwnProperty.call(r,"attributes")||Object.defineProperty(r,"attributes",{get:()=>({...i,"source.id":r.id,"source.name":r.name,"source.type":r.type,"parent.type":r.parent?.type||H.fQ.BA,"parent.id":r.parent?.id})}),Object.entries(r.tags).forEach(([e,t])=>{Z.includes(e)||(i["source.".concat(e)]=t)});let a=()=>{};const c=e.runtime.registeredEntities,d=e=>{r.blocked=!0,a=e};function u(e){return"string"==typeof e&&!!e.trim()&&e.trim().length<501}e.init.api.register.enabled||d(q.disabled),u(r.id)&&u(r.name)||d(()=>q.invalidTarget(r));const l={addPageAction:(t,n={})=>m(U,[t,{...i,...n},e],r),deregister:()=>{p(),d(q.deregistered)},log:(t,n={})=>m(F,[t,{...n,customAttributes:{...i,...n.customAttributes||{}}},e],r),measure:(t,n={})=>m(V,[t,{...n,customAttributes:{...i,...n.customAttributes||{}}},e],r),noticeError:(t,n={})=>m(B,[t,{...i,...n},e],r),recordCustomEvent:(t,n={})=>m(z,[t,{...i,...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 i},target:r,timings:n}},f=()=>(r.blocked&&a(),r.blocked);function p(){if(n.reportedAt)return;n.reportedAt=(0,o.t)();const e=n.fetchEnd-n.fetchStart,t=n.scriptEnd-n.scriptStart;l.recordCustomEvent("MicroFrontEndTiming",{assetUrl:n.asset,assetType:n.type,timeAlive:n.reportedAt-n.registeredAt,timeToBeRequested:n.fetchStart,timeToExecute:t,timeToFetch:e,timeToLoad:e+t,timeToRegister:n.registeredAt})}f()||(c.push(l),(0,x.G)(p));const g=(e,t)=>{f()||(i[e]=t)},m=(r,n,i)=>{if(f()&&r!==Q)return;const a=(0,o.t)();(0,s.p)(O.xV,["API/register/".concat(r.name,"/called")],void 0,t.K7.metrics,e.ee);try{return r(...n,i,a)}catch(e){(0,h.R)(50,e)}};return l}class J extends y{static featureName=k.T;constructor(e){var t;super(e,k.T),t=e,(0,c.Y)(a.o5,(e,r)=>B(e,r,t),t),function(e){(0,c.Y)(a.bt,function(t){e.runtime.onerror=t},e)}(e),function(e){let t=0;(0,c.Y)(a.k6,function(e,r){++t>10||(this.runtime.releaseIds[e.slice(-200)]=(""+r).slice(-200))},e)}(e),X(e);try{this.removeOnAbort=new AbortController}catch(e){}this.ee.on("internal-error",(t,r)=>{this.abortHandler&&(0,s.p)("ierr",[C(t),(0,o.t)(),!0,{},e.runtime.isRecording,r],void 0,this.featureName,this.ee)}),f.gm.addEventListener("unhandledrejection",t=>{this.abortHandler&&(0,s.p)("err",[L(t),(0,o.t)(),!1,{unhandledPromiseRejection:1},e.runtime.isRecording],void 0,this.featureName,this.ee)},(0,N.jT)(!1,this.removeOnAbort?.signal)),f.gm.addEventListener("error",t=>{this.abortHandler&&(0,s.p)("err",[I(t),(0,o.t)(),!1,{},e.runtime.isRecording],void 0,this.featureName,this.ee)},(0,N.jT)(!1,this.removeOnAbort?.signal)),this.abortHandler=this.#r,this.importAggregator(e,()=>i.e(478).then(i.bind(i,9377)))}#r(){this.removeOnAbort?.abort(),this.abortHandler=void 0}}var ee=i(8990);let te=1;function re(e){const t=typeof e;return!e||"object"!==t&&"function"!==t?-1:e===f.gm?0:(0,ee.I)(e,"nr@id",function(){return te++})}function ne(e){if("string"==typeof e&&e.length)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,j.A)(e).length}catch(e){return}}}var ie=i(8139),se=i(7836),oe=i(3434);const ae={},ce=["open","send"];function de(e,t){var r=e||se.ee;const n=function(e){return(e||se.ee).get("xhr")}(r);if(void 0===f.gm.XMLHttpRequest)return n;if(ae[n.debugId]++)return n;ae[n.debugId]=1,(0,ie.u)(r);var i=(0,oe.YM)(n),s=f.gm.XMLHttpRequest,o=f.gm.MutationObserver,a=f.gm.Promise,c=f.gm.setInterval,d="readystatechange",u=["onload","onerror","onabort","onloadstart","onloadend","onprogress","ontimeout"],l=[],p=f.gm.XMLHttpRequest=function(e){const r=new s(e),o=n.context(r);o.targets=(0,H.$5)(t);try{n.emit("new-xhr",[r],o),r.addEventListener(d,(a=o,function(){var e=this;e.readyState>3&&!a.resolved&&(a.resolved=!0,n.emit("xhr-resolved",[],e)),i.inPlace(e,u,"fn-",w)}),(0,N.jT)(!1))}catch(e){(0,h.R)(15,e);try{n.emit("internal-error",[e])}catch(e){}}var a;return r};function g(e,t){i.inPlace(t,["onreadystatechange"],"fn-",w)}if(function(e,t){for(var r in e)t[r]=e[r]}(s,p),p.prototype=s.prototype,i.inPlace(p.prototype,ce,"-xhr-",w),n.on("send-xhr-start",function(e,t){g(e,t),function(e){l.push(e),o&&(m?m.then(b):c?c(b):(v=-v,y.data=v))}(t)}),n.on("open-xhr-start",g),o){var m=a&&a.resolve();if(!c&&!a){var v=1,y=document.createTextNode(v);new o(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<l.length;e++)g(0,l[e]);l.length&&(l=[])}function w(e,t){return t}return n}var ue="fetch-",le=ue+"body-",fe=["arrayBuffer","blob","json","text","formData"],he=f.gm.Request,pe=f.gm.Response,ge="prototype";const me={};function ve(e,t){const r=function(e){return(e||se.ee).get("fetch")}(e);if(!(he&&pe&&f.gm.fetch))return r;if(me[r.debugId]++)return r;function n(e,n,i){var s=e[n];"function"==typeof s&&(e[n]=function(){var e=[...arguments];const n={},o=(0,H.$5)(t);var a;r.emit(i+"before-start",[e],n),n[se.P]&&n[se.P].dt&&(a=n[se.P].dt);var c=s.apply(this,e);return r.emit(i+"start",[e,a],c),c.then(function(e){return r.emit(i+"end",[null,e,o],c),e},function(e){throw r.emit(i+"end",[e,void 0,o],c),e})})}return me[r.debugId]=1,fe.forEach(e=>{n(he[ge],e,le),n(pe[ge],e,le)}),n(f.gm,"fetch",ue),r.on(ue+"end",function(e,t,n){var i=this;if(i.targets=n||[void 0],t){var s=t.headers.get("content-length");null!==s&&(i.rxSize=s),r.emit(ue+"done",[null,t],i)}else r.emit(ue+"done",[e],i)}),r}var ye=i(7485);class be{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,Y.ZF)(),o=(0,Y.el)(),a=Date.now(),c={spanId:s,traceId:o,timestamp:a};return(e.sameOrigin||this.isAllowedOrigin(e)&&this.useTraceContextHeadersForCors())&&(c.traceContextParentHeader=this.generateTraceContextParentHeader(s,o),c.traceContextStateHeader=this.generateTraceContextStateHeader(s,a,r,n,i)),(e.sameOrigin&&!this.excludeNewrelicHeader()||!e.sameOrigin&&this.isAllowedOrigin(e)&&this.useNewrelicHeaderForCors())&&(c.newrelicHeader=this.generateTraceHeader(s,o,a,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 f.gm?.btoa))return null;var o={v:[0,1],d:{ty:"Browser",ac:n,ap:i,id:e,tr:t,ti:r}};return s&&n!==s&&(o.d.tk=s),btoa((0,j.A)(o))}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,ye.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 we=i(9300),Re=i(7295);function Ee(e){return"string"==typeof e?e:e instanceof(0,T.dV)().o.REQ?e.url:f.gm?.URL&&e instanceof URL?e.href:void 0}var Te=["load","error","abort","timeout"],Ae=Te.length,xe=(0,T.dV)().o.REQ,Se=(0,T.dV)().o.XHR;const _e="X-NewRelic-App-Data";class Oe extends y{static featureName=we.T;constructor(e){super(e,we.T),this.dt=new be(e),this.handler=(e,t,r,n)=>(0,s.p)(e,t,r,n,this.ee);try{const e={xmlhttprequest:"xhr",fetch:"fetch",beacon:"beacon"};f.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};Pe(n,r.name),this.handler("xhr",[n,i,r.startTime,r.responseEnd,e[r.initiatorType]],void 0,t.K7.ajax)}})}catch(e){}ve(this.ee,e),de(this.ee,e),function(e,r,n,i){function a(e){var t=this;t.totalCbs=0,t.called=0,t.cbTime=0,t.end=T,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){x(t,e)},(0,N.jT)(!1)),f.lR||e.addEventListener("progress",function(e){t.lastSize=e.loaded},(0,N.jT)(!1))}function c(e){this.params={method:e[0]},Pe(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){var n=this.metrics,i=e[0],s=this;if(n&&i){var a=ne(i);a&&(n.txSize=a)}this.startTime=(0,o.t)(),this.body=i,this.listener=function(e){try{"abort"!==e.type||s.loadCaptureCalled||(s.params.aborted=!0),("load"!==e.type||s.called===s.totalCbs&&(s.onloadCalled||"function"!=typeof t.onload)&&"function"==typeof s.end)&&s.end(t)}catch(e){try{r.emit("internal-error",[e])}catch(e){}}};for(var c=0;c<Ae;c++)t.addEventListener(Te[c],this.listener,(0,N.jT)(!1))}function l(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=""+re(e)+!!t;this.xhrGuids&&!this.xhrGuids[r]&&(this.xhrGuids[r]=!0,this.totalCbs+=1)}function p(e,t){var r=""+re(e)+!!t;this.xhrGuids&&this.xhrGuids[r]&&(delete this.xhrGuids[r],this.totalCbs-=1)}function g(){this.endTime=(0,o.t)()}function m(e,t){t instanceof Se&&"load"===e[0]&&r.emit("xhr-load-added",[e[1],e[2]],t)}function v(e,t){t instanceof Se&&"load"===e[0]&&r.emit("xhr-load-removed",[e[1],e[2]],t)}function y(e,t,r){t instanceof Se&&("onload"===r&&(this.onload=!0),("load"===(e[0]&&e[0].type)||this.onload)&&(this.xhrCbStart=(0,o.t)()))}function b(e,t){this.xhrCbStart&&r.emit("xhr-cb-time",[(0,o.t)()-this.xhrCbStart,this.onload,t],t)}function w(e){var t,r=e[1]||{};if("string"==typeof e[0]?0===(t=e[0]).length&&f.RI&&(t=""+f.gm.location.href):e[0]&&e[0].url?t=e[0].url:f.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,ye.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)a(e[0].headers,n)&&(this.dt=n);else{var s={};for(var o in r)s[o]=r[o];s.headers=new Headers(r.headers||{}),a(s.headers,n)&&(this.dt=n),e.length>1?e[1]=s:e.push(s)}}function a(e,t){var r=!1;return t.newrelicHeader&&(e.set("newrelic",t.newrelicHeader),r=!0),t.traceContextParentHeader&&(e.set("traceparent",t.traceContextParentHeader),t.traceContextStateHeader&&e.set("tracestate",t.traceContextStateHeader),r=!0),r}}function R(e,t){this.params={},this.metrics={},this.startTime=(0,o.t)(),this.dt=t;let[r,n={}]=e;Pe(this,Ee(r));const i=(""+(r&&r instanceof xe&&r.method||n.method||"GET")).toUpperCase();this.params.method=i,this.body=n.body,this.txSize=ne(n.body)||0}function E(e,t){if(this.endTime=(0,o.t)(),this.params||(this.params={}),(0,Re.iW)(this.params))return;let r;this.params.status=t?t.status:0,"string"==typeof this.rxSize&&this.rxSize.length>0&&(r=+this.rxSize);const n={txSize:this.txSize,rxSize:r,duration:(0,o.t)()-this.startTime},i=[this.params,n,this.startTime,this.endTime,"fetch"];this.targets.forEach(e=>A(i,this,e))}function T(e){const t=this.params,r=this.metrics;if(this.ended)return;this.ended=!0;for(let t=0;t<Ae;t++)e.removeEventListener(Te[t],this.listener,!1);if(t.aborted)return;if((0,Re.iW)(t))return;r.duration=(0,o.t)()-this.startTime,this.loadCaptureCalled||4!==e.readyState?null==t.status&&(t.status=0):x(this,e),r.cbTime=this.cbTime;const n=[t,r,this.startTime,this.endTime,"xhr"];this.targets.forEach(e=>A(n,this,e))}function A(e,r,i){n("xhr",[...e,i],r,t.K7.ajax)}function x(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?ne(e.response):"text"===r||""===r||void 0===r?ne(e.responseText):void 0}(n,e.lastSize);if(i&&(e.metrics.rxSize=i),e.sameOrigin&&n.getAllResponseHeaders().indexOf(_e)>=0){var o=n.getResponseHeader(_e);o&&((0,s.p)(O.rs,["Ajax/CrossApplicationTracing/Header/Seen"],void 0,t.K7.metrics,r),e.params.cat=o.split(", ").pop())}e.loadCaptureCalled=!0}r.on("new-xhr",a),r.on("open-xhr-start",c),r.on("open-xhr-end",d),r.on("send-xhr-start",u),r.on("xhr-cb-time",l),r.on("xhr-load-added",h),r.on("xhr-load-removed",p),r.on("xhr-resolved",g),r.on("addEventListener-end",m),r.on("removeEventListener-end",v),r.on("fn-end",b),r.on("fetch-before-start",w),r.on("fetch-start",R),r.on("fn-start",y),r.on("fetch-done",E)}(e,this.ee,this.handler,this.dt),this.importAggregator(e,()=>i.e(478).then(i.bind(i,3845)))}}function Pe(e,t){var r=(0,ye.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}const ke={},Ne=["pushState","replaceState"];function je(e){const t=function(e){return(e||se.ee).get("history")}(e);return!f.RI||ke[t.debugId]++||(ke[t.debugId]=1,(0,oe.YM)(t).inPlace(window.history,Ne,"-")),t}var De=i(3738);function Ce(e){(0,c.Y)(a.BL,function(r=Date.now()){const n=r-f.WN;n<0&&(0,h.R)(62,r),(0,s.p)(O.XG,[a.BL,{time:n}],void 0,t.K7.metrics,e.ee),e.addToTrace({name:a.BL,start:r,origin:"nr"}),(0,s.p)(a.Pl+a.hG,[n,a.BL],void 0,t.K7.genericEvents,e.ee)},e)}const{He:Le,bD:Ie,d3:Me,Kp:Be,TZ:He,Lc:Ke,uP:We,Rz:Fe}=De;class Ue extends y{static featureName=He;constructor(e){var r;super(e,He),r=e,(0,c.Y)(a.U2,function(e){if(!(e&&"object"==typeof e&&e.name&&e.start))return;const n={n:e.name,s:e.start-f.WN,e:(e.end||e.start)-f.WN,o:e.origin||"",t:"api"};n.s<0||n.e<0||n.e<n.s?(0,h.R)(61,{start:n.s,end:n.e}):(0,s.p)("bstApi",[n],void 0,t.K7.sessionTrace,r.ee)},r),Ce(e);if(!(0,g.V)(e.init))return void this.deregisterDrain();const n=this.ee;let d;je(n),this.eventsEE=(0,ie.u)(n),this.eventsEE.on(We,function(e,t){this.bstStart=(0,o.t)()}),this.eventsEE.on(Ke,function(e,r){(0,s.p)("bst",[e[0],r,this.bstStart,(0,o.t)()],void 0,t.K7.sessionTrace,n)}),n.on(Fe+Me,function(e){this.time=(0,o.t)(),this.startPath=location.pathname+location.hash}),n.on(Fe+Be,function(e){(0,s.p)("bstHist",[location.pathname+location.hash,this.startPath,this.time],void 0,t.K7.sessionTrace,n)});try{d=new PerformanceObserver(e=>{const r=e.getEntries();(0,s.p)(Le,[r],void 0,t.K7.sessionTrace,n)}),d.observe({type:Ie,buffered:!0})}catch(e){}this.importAggregator(e,()=>i.e(478).then(i.bind(i,6974)),{resourceObserver:d})}}var Ve=i(6344);class ze extends y{static featureName=Ve.TZ;#n;recorder;constructor(e){var r;let n;super(e,Ve.TZ),r=e,(0,c.Y)(a.CH,function(){(0,s.p)(a.CH,[],void 0,t.K7.sessionReplay,r.ee)},r),function(e){(0,c.Y)(a.Tb,function(){(0,s.p)(a.Tb,[],void 0,t.K7.sessionReplay,e.ee)},e)}(e);try{n=JSON.parse(localStorage.getItem("".concat(w.H3,"_").concat(w.uh)))}catch(e){}(0,p.SR)(e.init)&&this.ee.on(a.CH,()=>this.#i()),this.#s(n)&&this.importRecorder().then(e=>{e.startRecording(Ve.Qb.PRELOAD,n?.sessionReplayMode)}),this.importAggregator(this.agentRef,()=>i.e(478).then(i.bind(i,6167)),this),this.ee.on("err",e=>{this.blocked||this.agentRef.runtime.isRecording&&(this.errorNoticed=!0,(0,s.p)(Ve.Vh,[e],void 0,this.featureName,this.ee))})}#s(e){return e&&(e.sessionReplayMode===w.g.FULL||e.sessionReplayMode===w.g.ERROR)||(0,p.Aw)(this.agentRef.init)}importRecorder(){return this.recorder?Promise.resolve(this.recorder):(this.#n??=Promise.all([i.e(478),i.e(249)]).then(i.bind(i,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.#n)}#i(){this.blocked||(this.featAggregate?this.featAggregate.mode!==w.g.FULL&&this.featAggregate.initializeRecording(w.g.FULL,!0,Ve.Qb.API):this.importRecorder().then(()=>{this.recorder.startRecording(Ve.Qb.API,w.g.FULL)}))}}var Ge=i(3962);class Ye extends y{static featureName=Ge.TZ;constructor(e){if(super(e,Ge.TZ),function(e){const r=e.ee.get("tracer");function n(){}(0,c.Y)(a.dT,function(e){return(new n).get("object"==typeof e?e:{})},e);const i=n.prototype={createTracer:function(n,i){var a={},c=this,d="function"==typeof i;return(0,s.p)(O.xV,["API/createTracer/called"],void 0,t.K7.metrics,e.ee),function(){if(r.emit((d?"":"no-")+"fn-start",[(0,o.t)(),c,d],a),d)try{return i.apply(this,arguments)}catch(e){const t="string"==typeof e?new Error(e):e;throw r.emit("fn-err",[arguments,this,t],a),t}finally{r.emit("fn-end",[(0,o.t)()],a)}}}};["actionText","setName","setAttribute","save","ignore","onEnd","getContext","end","get"].forEach(r=>{c.Y.apply(this,[r,function(){return(0,s.p)(a.hw+r,[performance.now(),...arguments],this,t.K7.softNav,e.ee),this},e,i])}),(0,c.Y)(a.PA,function(){(0,s.p)(a.hw+"routeName",[performance.now(),...arguments],void 0,t.K7.softNav,e.ee)},e)}(e),!f.RI||!(0,T.dV)().o.MO)return;const r=je(this.ee);try{this.removeOnAbort=new AbortController}catch(e){}Ge.tC.forEach(e=>{(0,N.sp)(e,e=>{l(e)},!0,this.removeOnAbort?.signal)});const n=()=>(0,s.p)("newURL",[(0,o.t)(),""+window.location],void 0,this.featureName,this.ee);r.on("pushState-end",n),r.on("replaceState-end",n),(0,N.sp)(Ge.OV,e=>{l(e),(0,s.p)("newURL",[e.timeStamp,""+window.location],void 0,this.featureName,this.ee)},!0,this.removeOnAbort?.signal);let d=!1;const u=new((0,T.dV)().o.MO)((e,t)=>{d||(d=!0,requestAnimationFrame(()=>{(0,s.p)("newDom",[(0,o.t)()],void 0,this.featureName,this.ee),d=!1}))}),l=(0,m.s)(e=>{"loading"!==document.readyState&&((0,s.p)("newUIEvent",[e],void 0,this.featureName,this.ee),u.observe(document.body,{attributes:!0,childList:!0,subtree:!0,characterData:!0}))},100,{leading:!0});this.abortHandler=function(){this.removeOnAbort?.abort(),u.disconnect(),this.abortHandler=void 0},this.importAggregator(e,()=>i.e(478).then(i.bind(i,4393)),{domObserver:u})}}var Ze=i(3333),qe=i(9119);const Xe={},$e=new Set;function Qe(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 Je{constructor(e,t){this.timestamp=(0,o.t)(),this.currentUrl=(0,qe.L)(window.location.href),this.socketId=(0,Y.LA)(8),this.requestedUrl=(0,qe.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 et extends y{static featureName=Ze.TZ;constructor(e){super(e,Ze.TZ);const r=e.init.feature_flags.includes("websockets"),n=!e.init.feature_flags.includes("no_spv"),d=[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,r,n];var u;let l;if(u=e,(0,c.Y)(a.hG,(e,t)=>U(e,t,u),u),function(e){(0,c.Y)(a.fF,(t,r)=>z(t,r,e),e)}(e),Ce(e),X(e),function(e){(0,c.Y)(a.V1,(t,r)=>V(t,r,e),e)}(e),this.removeOnAbort=new AbortController,this.abortHandler=()=>{this.removeOnAbort.abort(),this.abortHandler=void 0},r){const h=function(e){if(!(0,T.dV)().o.WS)return e;const t=e.get("websockets");if(Xe[t.debugId]++)return t;Xe[t.debugId]=1,(0,x.G)(()=>{const e=(0,o.t)();$e.forEach(r=>{r.nrData.closedAt=e,r.nrData.closeCode=1001,r.nrData.closeReason="Page navigating away",r.nrData.closeWasClean=!1,r.nrData.openedAt&&(r.nrData.connectedDuration=e-r.nrData.openedAt),t.emit("ws",[r.nrData],r)})});class r extends WebSocket{static name="WebSocket";static toString(){return"function WebSocket() { [native code] }"}toString(){return"[object WebSocket]"}get[Symbol.toStringTag](){return r.name}#o(e){(e.__newrelic??={}).socketId=this.nrData.socketId,this.nrData.hasErrors??=!0}constructor(...e){super(...e),this.nrData=new Je(e[0],e[1]),this.addEventListener("open",()=>{this.nrData.openedAt=(0,o.t)(),["protocol","extensions","binaryType"].forEach(e=>{this.nrData[e]=this[e]}),$e.add(this)}),this.addEventListener("message",e=>{const{type:t,size:r}=Qe(e.data);this.nrData.messageOrigin??=(0,qe.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,$e.delete(this),t.emit("ws",[this.nrData],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}=Qe(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 f.gm.WebSocket=r,t}(this.ee);h.on("ws",e=>{(0,s.p)("ws-complete",[e],void 0,this.featureName,this.ee)})}if(n&&f.gm.addEventListener("securitypolicyviolation",e=>{(0,s.p)("spv",[e],void 0,t.K7.genericEvents,this.ee)},(0,N.jT)(!1,this.removeOnAbort.signal)),f.RI){if(ve(this.ee,e),de(this.ee,e),l=je(this.ee),e.init.user_actions.enabled){function p(t){const r=(0,ye.D)(t);return e.beacons.includes(r.hostname+":"+r.port)}function g(){l.emit("navChange")}Ze.Zp.forEach(e=>(0,N.sp)(e,e=>(0,s.p)("ua",[e],void 0,this.featureName,this.ee),!0)),Ze.qN.forEach(e=>{const t=(0,m.s)(e=>{(0,s.p)("ua",[e],void 0,this.featureName,this.ee)},500,{leading:!0});(0,N.sp)(e,t)}),f.gm.addEventListener("error",()=>{(0,s.p)("uaErr",[],void 0,t.K7.genericEvents,this.ee)},(0,N.jT)(!1,this.removeOnAbort.signal)),this.ee.on("open-xhr-start",(e,r)=>{p(e[1])||r.addEventListener("readystatechange",()=>{2===r.readyState&&(0,s.p)("uaXhr",[],void 0,t.K7.genericEvents,this.ee)},(0,N.jT)(void 0,this.removeOnAbort.signal))}),this.ee.on("fetch-start",e=>{e.length>=1&&!p(Ee(e[0]))&&(0,s.p)("uaXhr",[],void 0,t.K7.genericEvents,this.ee)}),l.on("pushState-end",g),l.on("replaceState-end",g),window.addEventListener("hashchange",g,(0,N.jT)(!0,this.removeOnAbort.signal)),window.addEventListener("popstate",g,(0,N.jT)(!0,this.removeOnAbort.signal))}if(e.init.performance.resources.enabled&&f.gm.PerformanceObserver?.supportedEntryTypes.includes("resource")){new PerformanceObserver(e=>{e.getEntries().forEach(e=>{(0,s.p)("browserPerformance.resource",[e],void 0,this.featureName,this.ee)})}).observe({type:"resource",buffered:!0})}}d.some(e=>e)?this.importAggregator(e,()=>i.e(478).then(i.bind(i,8019))):this.deregisterDrain()}}var tt=i(2646);const rt=new Map;function nt(e,t,r,n,i=!0,s){if("object"!=typeof t||!t||"string"!=typeof r||!r||"function"!=typeof t[r])return(0,h.R)(29);const o=function(e){return(e||se.ee).get("logger")}(e),a=(0,oe.YM)(o,void 0,s),c=new tt.y(se.P);c.level=n.level,c.customAttributes=n.customAttributes,c.autoCaptured=i;const d=t[r]?.[oe.Jt]||t[r];return rt.set(d,c),a.inPlace(t,[r],"wrap-logger-",()=>rt.get(d),void 0,!0),o}var it=i(1910);class st extends y{static featureName=K.TZ;constructor(e){var t;super(e,K.TZ),t=e,(0,c.Y)(a.$9,(e,r)=>F(e,r,t),t),function(e){(0,c.Y)(a.Wb,(t,r,{customAttributes:n={},level:i=K.p_.INFO}={})=>{nt(e.ee,t,r,{customAttributes:n,level:i},!1,e)},e)}(e),X(e);const r=this.ee;["log","error","warn","info","debug","trace"].forEach(t=>{(0,it.i)(f.gm.console[t]),nt(r,f.gm.console,t,{level:"log"===t?"info":t},void 0,e)}),this.ee.on("wrap-logger-end",function([e],t,n,i=[]){const{level:s,customAttributes:o,autoCaptured:a}=this;i.forEach(t=>{(0,W.R)(r,e,o,s,a,t)})}),this.importAggregator(e,()=>i.e(478).then(i.bind(i,5288)))}}new A({features:[Oe,E,_,Ue,ze,P,J,et,st,Ye],loaderType:"spa"})})()})();</script>
<meta name="apple-mobile-web-app-capable" content="yes" />
<meta name="format-detection" content="telephone=no"> <meta name="keywords" content="" />
<meta name="msvalidate.01" content="" />
<meta name="theme-color" content="#ffffff">
<meta name="viewport" content="initial-scale=1.0, maximum-scale=1.0, width=device-width" />
<meta property="og:type" content="website" />
                    <meta property="og:description" content="Celebrate region&amp;rsquo;s wildlife-rich habitats through guided tours, marine touch tanks, art exhibits, drop-in programs, and interpretive displays." />
    <meta name="description" content="Celebrate region&amp;rsquo;s wildlife-rich habitats through guided tours, marine touch tanks, art exhibits, drop-in programs, and interpretive displays." />
            <!-- get meta_og_image -->
                <meta property="og:image" content="https://www.massaudubon.org/var/site/storage/images/_aliases/large/7/6/3/7/1607367-1-eng-US/f6ecf4270c75-8741Clare_Carvel47866-1920x1280.jpg" />
    <link rel="Home" href="/" title="Home"/>
<link rel="Index" href="/" title="Home"/>
<link rel="Top" href="/" title="Home"/>
<link rel="Search" href="/search" title="Search"/>
<link rel="Shortcut icon" href="/favicon.ico" type="image/x-icon"/>
<link rel="Copyright" href="/copyright"/>
<link rel="Author" href="/about"/>

<link rel="icon" type="image/x-icon" href="/build/images/globals/favicon.ico" />
<link rel="icon" type="image/png" sizes="32x32" href="/favicon-32x32.png">
<link rel="icon" type="image/png" sizes="16x16" href="/favicon-16x16.png">
<link rel="manifest" href="/site.webmanifest">
<link rel="mask-icon" href="/safari-pinned-tab.svg" color="#5bbad5">
<link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon.png">
    <meta name="google-site-verification" content="" />
<meta name="msapplication-TileColor" content="#da532c">
<meta property="og:site_name" content="Mass Audubon" />
<meta property="fb:app_id" content="305995652914453" />
                                                            <title>Joppa Flats Education Center</title>
    <meta property="og:title" content="Joppa Flats Education Center" />
    
                    <!-- Google Tag Manager -->
<script>(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
            new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],
        j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=
        'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);
    })(window,document,'script','dataLayer', 'GTM-T8B3L3T');</script>
<!-- End Google Tag Manager -->
    </head>
<body class="c-1133 l-989">
<!-- Google Tag Manager (noscript) -->
<noscript><iframe src="https://www.googletagmanager.com/ns.html?id=GTM-T8B3L3T"
height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript>
<!-- End Google Tag Manager (noscript) -->
<div class="top-banner hide display-desktop" data-comp="top-banner" data-hide-date="2025-12-31 11:59:59" aria-label="Top banner">
    <button type="button" data-fancybox-close="" class="banner-close banner-close-small" title="Close Top Banner"><svg xmlns="http://www.w3.org/2000/svg" version="1" viewBox="0 0 24 24"><path d="M13 12l5-5-1-1-5 5-5-5-1 1 5 5-5 5 1 1 5-5 5 5 1-1z"></path></svg></button>
    <div class="top-banner__image">
        <a href="https://web.massaudubon.org/site/Donation2?df_id=7020&mfc_pref=T&7020.donation=form1&s_src=banner" target="_blank" title="">
            <span class="top-banner__image__desktop"><img alt = "People walking in the snow" src="/build/images/2025-end-of-year-donate-banner-desktop.jpg" /></span>
            <span class="screen-reader-offscreen">Give the gift of membership.</span>
        </a>
    </div>
</div><!-- Start Site Nav -->
<section class="site-nav" data-comp="site-nav" tabindex="0">
    <div class="container-xxl">
        <a href="#maincontent" class="visually-hidden">Skip to main content</a>
        <div class="site-nav-wrapper">
            <div class="site-nav-mobile-wrapper" aria-hidden="true">
                <a href="/" class="site-nav__logo" aria-label="LInk to homepage">
                    <img src="/build/images/globals/logo.svg" alt="Mass Audubon logo">
                </a>

                <div class="site-nav-mobile-buttons">
                    <button type="button" class="site-nav__search-button">
                        <span aria-hidden="true" class="icon icon-search"></span>
                        <span aria-hidden="true" class="icon icon-close"></span>
                        <span class="visually-hidden">Site Search</span>
                    </button>

                    <button type="button" aria-controls="navigation" aria-expanded="false" class="site-nav__toggle-menu">
                        <span aria-hidden="true" class="icon icon-menu"></span>
                        <span aria-hidden="true" class="icon icon-close"></span>
                        <span class="visually-hidden">Toggle Nav Menu</span>
                    </button>
                </div>
            </div>

            <div id="navigation" class="site-nav__menus">

                <!-- Start Top Nav for mobile view -->
                <nav aria-label="top" class="site-nav__menus--top" aria-label="Join Nav">
                    <ul class="nav navbar-join"><li class="nav_join first"><a href="https://web.massaudubon.org/site/Donation2?df_id=6280&amp;6280.donation=form1">Join</a>
        </li><li class="nav_renew"><a href="https://web.massaudubon.org/site/Donation2?idb=[[S76:idb]]&amp;df_id=6520&amp;6520.donation=form1&amp;mfc_pref=T&amp;autologin=true">Renew</a>
        </li><li class="nav_donate last"><a href="https://web.massaudubon.org/site/Donation2?df_id=7020&amp;mfc_pref=T&amp;7020.donation=form1">Donate</a>
        </li></ul>                </nav>
                <!-- End Top Nav for mobile view -->

                <!-- Start Secondary Nav -->
                <nav aria-label="secondary" class="site-nav__menus--secondary" aria-label="Secondary Nav">
                    <ul class="nav navbar-secondary"><li class="first"><a href="#" class="icon icon-search site-search__header__open">Open Search</a>
        </li><li class="nav_news"><a href="/news">News</a>
        </li><li class="nav_shop"><a href="https://shop.massaudubon.org/">Shop</a>
        </li><li class="nav_wildlife last"><a href="/nature-wildlife">Wildlife</a>
        </li></ul>
                    <ul class="nav navbar-join"><li class="nav_join first"><a href="https://web.massaudubon.org/site/Donation2?df_id=6280&amp;6280.donation=form1">Join</a>
        </li><li class="nav_renew"><a href="https://web.massaudubon.org/site/Donation2?idb=[[S76:idb]]&amp;df_id=6520&amp;6520.donation=form1&amp;mfc_pref=T&amp;autologin=true">Renew</a>
        </li><li class="nav_donate last"><a href="https://web.massaudubon.org/site/Donation2?df_id=7020&amp;mfc_pref=T&amp;7020.donation=form1">Donate</a>
        </li></ul>                </nav>
                <!-- End Secondary Nav -->

                <!-- Start Primary Nav -->
                <nav aria-label="primary" class="site-nav__menus--primary" aria-label="Primary Nav">
                                <ul class="nav navbar-primary" role="list">        <li class="nav_places has-children current_ancestor first"><div class="toggle-sub"><a href="/places-to-explore">Places to Explore</a><button aria-label="Expand menu" class="icon icon-chevron-down open-sub-menu"></button></div><ul class="menu_level_1 submenu" role="list">        <li class="nav_wildlife_sanctuaries first"><a href="/places-to-explore/wildlife-sanctuaries">Wildlife Sanctuaries &amp; Properties</a></li>        <li class="nav_admissions_regulations"><a href="/places-to-explore/admission-expanding-access">Admission</a></li>        <li class="nav_accessibility"><a href="/places-to-explore/accessibility">Accessibility</a></li>        <li class="nav_activities"><a href="/places-to-explore/activities">Activities</a></li>        <li class="nav_regulations"><a href="/places-to-explore/property-regulations">Regulations</a></li>        <li class="nav_maba"><a href="/places-to-explore/museum-of-american-bird-art">Museum of American Bird Art</a></li>        <li class="nav_mass_audubon_shop last"><a href="/places-to-explore/mass-audubon-shop">Mass Audubon Shop</a></li></ul></li>        <li class="nav_programs_events has-children"><div class="toggle-sub"><a href="/programs-events">Programs &amp; Events</a><button aria-label="Expand menu" class="icon icon-chevron-down open-sub-menu"></button></div><ul class="menu_level_1 submenu" role="list">        <li class="nav_program_catalog first"><a href="/programs">Program Catalog</a></li>        <li class="nav_nature_camps"><a href="/programs-events/nature-camps">Nature Camps</a></li>        <li class="nav_adult_learning"><a href="/programs-events/adult-learning">Adult Learning</a></li>        <li class="nav_family_youth"><a href="/programs-events/family-youth-programs">Family &amp; Youth Programs</a></li>        <li class="nav_school_programs"><a href="/programs-events/schools-teachers">For Schools &amp; Teachers</a></li>        <li class="nav_group_programs"><a href="/programs-events/group-programs">Group Programs</a></li>        <li class="nav_community_science"><a href="/programs-events/community-science">Community Science</a></li>        <li class="nav_photo_contest last"><a href="/programs-events/photo-contest">Photo Contest</a></li></ul></li>        <li class="nav_our_work has-children"><div class="toggle-sub"><a href="/our-work">Our Work</a><button aria-label="Expand menu" class="icon icon-chevron-down open-sub-menu"></button></div><ul class="menu_level_1 submenu" role="list">        <li class="nav_resilient_lands first"><a href="/our-work/resilient-lands">Resilient Lands</a></li>        <li class="nav_access_to_nature"><a href="/our-work/equitable-access-to-nature">Access to Nature</a></li>        <li class="nav_climate_change"><a href="/our-work/climate-change">Climate Change</a></li>        <li class="nav_birds_and_wildlife"><a href="/our-work/birds-wildlife">Birds &amp; Wildlife</a></li>        <li class="nav_publications_resources last"><a href="/our-work/publications-resources">Publications &amp; Resources</a></li></ul></li>        <li class="nav_take_action has-children"><div class="toggle-sub"><a href="/take-action">Take Action</a><button aria-label="Expand menu" class="icon icon-chevron-down open-sub-menu"></button></div><ul class="menu_level_1 submenu" role="list">        <li class="nav_membership first"><a href="/take-action/membership">Membership</a></li>        <li class="nav_donate"><a href="/take-action/donate">Donate</a></li>        <li class="nav_advocate"><a href="/take-action/advocate">Advocate</a></li>        <li class="nav_leadership_friends"><a href="/take-action/leadership-friends">Leadership Friends</a></li>        <li class="nav_volunteer last"><a href="/take-action/volunteer">Volunteer</a></li></ul></li>        <li class="nav_about has-children last"><div class="toggle-sub"><a href="/about">About</a><button aria-label="Expand menu" class="icon icon-chevron-down open-sub-menu"></button></div><ul class="menu_level_1 submenu" role="list">        <li class="nav_leadership first"><a href="/about/leadership">Leadership</a></li>        <li class="nav_diversity"><a href="/about/diversity-inclusion">Diversity &amp; Inclusion</a></li>        <li class="nav_careers"><a href="/about/careers">Careers</a></li>        <li class="nav_financials"><a href="/about/financials-reports">Financials &amp; Reports</a></li>        <li class="nav_action_agenda"><a href="/about/action-agenda">Action Agenda</a></li>        <li class="nav_history last"><a href="/about/history">History</a></li></ul></li></ul>                </nav>
                <!-- Start Primary Nav -->

            </div>
        </div>
    </div>
</section>
<!-- End Site Nav --><div class="top-banner hide display-mobile" data-comp="top-banner" data-hide-date="2025-12-31 11:59:59" aria-label="Top banner">
    <button type="button" data-fancybox-close="" class="banner-close banner-close-small" title="Close Top Banner"><svg xmlns="http://www.w3.org/2000/svg" version="1" viewBox="0 0 24 24"><path d="M13 12l5-5-1-1-5 5-5-5-1 1 5 5-5 5 1 1 5-5 5 5 1-1z"></path></svg></button>
    <div class="top-banner__image">
        <a href="https://web.massaudubon.org/site/Donation2?df_id=7020&mfc_pref=T&7020.donation=form1&s_src=banner" target="_blank" title="">
            <span class="top-banner__image__mobile"><img alt="People walking in the snow" src="/build/images/2025-end-of-year-donate-banner-mobile.jpg" /></span>
            <span class="screen-reader-offscreen">Give the gift of membership.</span>
        </a>
    </div>
</div><section class="site-search" data-comp="site-search">
    <div class="container-xxl">
        <div class="col-lg-12">
            <div class="site-search-wrapper" tabindex="0">
                <div class="site-search__header">
                    <div class="site-search__header__buttons">
                                                <button class="bttn active" data-button="all" aria-label="Toggle search all massaudubon.org sites">Search Everything</button>
                        <button class="bttn" data-button="programs" aria-label="Toggle search programs and events form open">Search Programs &amp; Events</button>
                    </div>
                    <button class="site-search__header__close" aria-label="close modal site search">
                        <span>close</span>
                        <span class="icon icon-close-black"></span>
                    </button>
                </div>

                                <div class="site-search__panel__all show" data-panel="all">
                    <form action="/search" id="modal_site_search" aria-label="Search website form">
                        <label for="site_search_query" class="screen-reader-offscreen">Search by Keyword or Phrase</label>
                        <input id="site_search_query" name="q" type="text" placeholder="Search by Keyword or Phrase">
                        <button class="bttn bttn--orange">Search</button>
                    </form>
                </div>

                                <div class="site-search__panel__programs event-search" data-panel="programs" aria-label="Search Programs & Events form">
                    

    
    <div class="block program_search" data-form="programevents">
        <form name="prg" method="get" action="/programs">
        <div class="row-primary-fields" tabindex="0">
            <!--[[choice_checkbox_row]]-->
    <div class="form-group form-group-select_checkbox form-group-prg_pid ">
        <button type="button" class="custom_dropdown__box">Location<span class="value-indicator"></span></button>
        <div class="custom_dropdown__flyout"><!--[[choice_checkbox_widget]]-->
    <div id="prg_pid"><label class="select_checkbox__container" tabindex="0"><span>Allens Pond</span><input type="checkbox" id="prg_pid_0" name="prg[pid][]" value="17519" /><span class="checkmark"></span></label><label class="select_checkbox__container" tabindex="0"><span>Arcadia</span><input type="checkbox" id="prg_pid_1" name="prg[pid][]" value="17520" /><span class="checkmark"></span></label><label class="select_checkbox__container" tabindex="0"><span>Blue Hills</span><input type="checkbox" id="prg_pid_2" name="prg[pid][]" value="17521" /><span class="checkmark"></span></label><label class="select_checkbox__container" tabindex="0"><span>Boston Nature Center</span><input type="checkbox" id="prg_pid_3" name="prg[pid][]" value="17522" /><span class="checkmark"></span></label><label class="select_checkbox__container" tabindex="0"><span>Broad Meadow Brook</span><input type="checkbox" id="prg_pid_4" name="prg[pid][]" value="17523" /><span class="checkmark"></span></label><label class="select_checkbox__container" tabindex="0"><span>Broadmoor</span><input type="checkbox" id="prg_pid_5" name="prg[pid][]" value="17524" /><span class="checkmark"></span></label><label class="select_checkbox__container" tabindex="0"><span>Drumlin Farm</span><input type="checkbox" id="prg_pid_6" name="prg[pid][]" value="17525" /><span class="checkmark"></span></label><label class="select_checkbox__container" tabindex="0"><span>Felix Neck</span><input type="checkbox" id="prg_pid_7" name="prg[pid][]" value="17526" /><span class="checkmark"></span></label><label class="select_checkbox__container" tabindex="0"><span>Habitat</span><input type="checkbox" id="prg_pid_8" name="prg[pid][]" value="17528" /><span class="checkmark"></span></label><label class="select_checkbox__container" tabindex="0"><span>Ipswich River</span><input type="checkbox" id="prg_pid_9" name="prg[pid][]" value="17529" /><span class="checkmark"></span></label><label class="select_checkbox__container" tabindex="0"><span>Joppa Flats</span><input type="checkbox" id="prg_pid_10" name="prg[pid][]" value="17530" /><span class="checkmark"></span></label><label class="select_checkbox__container" tabindex="0"><span>Long Pasture</span><input type="checkbox" id="prg_pid_11" name="prg[pid][]" value="17532" /><span class="checkmark"></span></label><label class="select_checkbox__container" tabindex="0"><span>Magazine Beach</span><input type="checkbox" id="prg_pid_12" name="prg[pid][]" value="50434" /><span class="checkmark"></span></label><label class="select_checkbox__container" tabindex="0"><span>Moose Hill</span><input type="checkbox" id="prg_pid_13" name="prg[pid][]" value="17534" /><span class="checkmark"></span></label><label class="select_checkbox__container" tabindex="0"><span>MABA Education Center</span><input type="checkbox" id="prg_pid_14" name="prg[pid][]" value="17533" /><span class="checkmark"></span></label><label class="select_checkbox__container" tabindex="0"><span>North River</span><input type="checkbox" id="prg_pid_15" name="prg[pid][]" value="17535" /><span class="checkmark"></span></label><label class="select_checkbox__container" tabindex="0"><span>Oak Knoll</span><input type="checkbox" id="prg_pid_16" name="prg[pid][]" value="17536" /><span class="checkmark"></span></label><label class="select_checkbox__container" tabindex="0"><span>Pleasant Valley</span><input type="checkbox" id="prg_pid_17" name="prg[pid][]" value="17537" /><span class="checkmark"></span></label><label class="select_checkbox__container" tabindex="0"><span>Stony Brook</span><input type="checkbox" id="prg_pid_18" name="prg[pid][]" value="17538" /><span class="checkmark"></span></label><label class="select_checkbox__container" tabindex="0"><span>Tidmarsh</span><input type="checkbox" id="prg_pid_19" name="prg[pid][]" value="26462" /><span class="checkmark"></span></label><label class="select_checkbox__container" tabindex="0"><span>Wachusett Meadow</span><input type="checkbox" id="prg_pid_20" name="prg[pid][]" value="17540" /><span class="checkmark"></span></label><label class="select_checkbox__container" tabindex="0"><span>Wellfleet Bay</span><input type="checkbox" id="prg_pid_21" name="prg[pid][]" value="17541" /><span class="checkmark"></span></label><label class="select_checkbox__container" tabindex="0"><span>Wildwood</span><input type="checkbox" id="prg_pid_22" name="prg[pid][]" value="17542" /><span class="checkmark"></span></label></div></div>
    </div>
                                                            <!-- [datepicker_row] -->
    <div class="form-group form-group-datepicker form-group-prg_daterange "><!-- [dateinterval_widget] -->    <div class="datepicker__box"> <!-- wrapper -->
        <input type="text" id="prg_daterange" name="prg[daterange]" data-format="MM/DD/YYYY" placeholder="Date(s)" class="datepicker" value="" /> <!-- YYYY-mm-dd - YYYY-mm-dd -->
    </div></div>
            <!--[[choice_checkbox_row]]-->
    <div class="form-group form-group-select_checkbox form-group-prg_audiences ">
        <button type="button" class="custom_dropdown__box">Audiences<span class="value-indicator"></span></button>
        <div class="custom_dropdown__flyout"><!--[[choice_checkbox_widget]]-->
    <div id="prg_audiences"><label class="select_checkbox__container" tabindex="0"><span>Adults</span><input type="checkbox" id="prg_audiences_0" name="prg[audiences][]" value="863" /><span class="checkmark"></span></label><label class="select_checkbox__container" tabindex="0"><span>Adults &amp; Families</span><input type="checkbox" id="prg_audiences_1" name="prg[audiences][]" value="862" /><span class="checkmark"></span></label><label class="select_checkbox__container" tabindex="0"><span>Children</span><input type="checkbox" id="prg_audiences_2" name="prg[audiences][]" value="865" /><span class="checkmark"></span></label><label class="select_checkbox__container" tabindex="0"><span>Families</span><input type="checkbox" id="prg_audiences_3" name="prg[audiences][]" value="864" /><span class="checkmark"></span></label><label class="select_checkbox__container" tabindex="0"><span>Teens &amp; Tweens</span><input type="checkbox" id="prg_audiences_4" name="prg[audiences][]" value="866" /><span class="checkmark"></span></label></div></div>
    </div>
            <div class="form-group form-group-text form-group-query"><label for="prg_query">Keyword</label><input type="text" id="prg_query" name="prg[query]" placeholder="Search by Keyword" autocomplete="off" /></div>
        </div>
        <div class="row-advanced-fields " tabindex="0">
            <!--[[choice_checkbox_row]]-->
    <div class="form-group form-group-select_checkbox form-group-prg_program_types ">
        <button type="button" class="custom_dropdown__box">Program Types<span class="value-indicator"></span></button>
        <div class="custom_dropdown__flyout"><!--[[choice_checkbox_widget]]-->
    <div id="prg_program_types"><label class="select_checkbox__container" tabindex="0"><span>Camp</span><input type="checkbox" id="prg_program_types_0" name="prg[program_types][]" value="849" /><span class="checkmark"></span></label><label class="select_checkbox__container" tabindex="0"><span>Certificate</span><input type="checkbox" id="prg_program_types_1" name="prg[program_types][]" value="855" /><span class="checkmark"></span></label><label class="select_checkbox__container" tabindex="0"><span>CSA Farm Share</span><input type="checkbox" id="prg_program_types_2" name="prg[program_types][]" value="853" /><span class="checkmark"></span></label><label class="select_checkbox__container" tabindex="0"><span>Homeschool</span><input type="checkbox" id="prg_program_types_3" name="prg[program_types][]" value="851" /><span class="checkmark"></span></label><label class="select_checkbox__container" tabindex="0"><span>Overnight Trip</span><input type="checkbox" id="prg_program_types_4" name="prg[program_types][]" value="848" /><span class="checkmark"></span></label><label class="select_checkbox__container" tabindex="0"><span>Preschool</span><input type="checkbox" id="prg_program_types_5" name="prg[program_types][]" value="852" /><span class="checkmark"></span></label><label class="select_checkbox__container" tabindex="0"><span>Professional Development</span><input type="checkbox" id="prg_program_types_6" name="prg[program_types][]" value="854" /><span class="checkmark"></span></label><label class="select_checkbox__container" tabindex="0"><span>Special Event</span><input type="checkbox" id="prg_program_types_7" name="prg[program_types][]" value="847" /><span class="checkmark"></span></label><label class="select_checkbox__container" tabindex="0"><span>Vacation Week</span><input type="checkbox" id="prg_program_types_8" name="prg[program_types][]" value="850" /><span class="checkmark"></span></label></div></div>
    </div>
                        <!--[[choice_checkbox_row]]-->
    <div class="form-group form-group-select_checkbox form-group-prg_activities ">
        <button type="button" class="custom_dropdown__box">Activity<span class="value-indicator"></span></button>
        <div class="custom_dropdown__flyout"><!--[[choice_checkbox_widget]]-->
    <div id="prg_activities"><label class="select_checkbox__container" tabindex="0"><span>Accessible Program</span><input type="checkbox" id="prg_activities_0" name="prg[activities][]" value="995" /><span class="checkmark"></span></label><label class="select_checkbox__container" tabindex="0"><span>Art &amp; Photography</span><input type="checkbox" id="prg_activities_1" name="prg[activities][]" value="900" /><span class="checkmark"></span></label><label class="select_checkbox__container" tabindex="0"><span>Birds &amp; Birding</span><input type="checkbox" id="prg_activities_2" name="prg[activities][]" value="872" /><span class="checkmark"></span></label><label class="select_checkbox__container" tabindex="0"><span>Community Science</span><input type="checkbox" id="prg_activities_3" name="prg[activities][]" value="901" /><span class="checkmark"></span></label><label class="select_checkbox__container" tabindex="0"><span>Farming &amp; Gardening</span><input type="checkbox" id="prg_activities_4" name="prg[activities][]" value="902" /><span class="checkmark"></span></label><label class="select_checkbox__container" tabindex="0"><span>Health &amp; Wellness</span><input type="checkbox" id="prg_activities_5" name="prg[activities][]" value="903" /><span class="checkmark"></span></label><label class="select_checkbox__container" tabindex="0"><span>Paddling &amp; Cruises</span><input type="checkbox" id="prg_activities_6" name="prg[activities][]" value="904" /><span class="checkmark"></span></label><label class="select_checkbox__container" tabindex="0"><span>Plant &amp; Wildlife Studies</span><input type="checkbox" id="prg_activities_7" name="prg[activities][]" value="905" /><span class="checkmark"></span></label><label class="select_checkbox__container" tabindex="0"><span>Seasonal Highlights</span><input type="checkbox" id="prg_activities_8" name="prg[activities][]" value="906" /><span class="checkmark"></span></label><label class="select_checkbox__container" tabindex="0"><span>Walking &amp; Hiking</span><input type="checkbox" id="prg_activities_9" name="prg[activities][]" value="907" /><span class="checkmark"></span></label></div></div>
    </div>
            <!--[[choice_checkbox_row]]-->
    <div class="form-group form-group-select_checkbox form-group-prg_settings ">
        <button type="button" class="custom_dropdown__box">In Person / Online<span class="value-indicator"></span></button>
        <div class="custom_dropdown__flyout"><!--[[choice_checkbox_widget]]-->
    <div id="prg_settings"><label class="select_checkbox__container" tabindex="0"><span>In Person</span><input type="checkbox" id="prg_settings_0" name="prg[settings][]" value="859" /><span class="checkmark"></span></label><label class="select_checkbox__container" tabindex="0"><span>Online</span><input type="checkbox" id="prg_settings_1" name="prg[settings][]" value="665" /><span class="checkmark"></span></label></div></div>
    </div>
            <div class="form-group form-group-double_range_slider form-group-prg_ages ">
        <button type="button" class="custom_dropdown__box">Age Range<span class="value-indicator"></span></button>
        <div class="custom_dropdown__flyout"><!-- [double_range_slider_widget] -->
        <div class="input-double_range_slider">
        <tc-range-slider class="slider"
                         min="0"
                         max="18"
                         value1="0"
                         value2="18"
                         step="1"
                         moving-tooltip="true"
                         data-input-min="prg_age_min"
                         data-input-max="prg_age_max"
        ></tc-range-slider>
    </div></div>
    </div>
                        <div class="form-group form-switch form-group-prg_include_camps">
        <label class="checkbox-switch">
        <input tabindex="-1" type="checkbox" id="prg_include_camps" name="prg[include_camps]" value="1" />
        <span class="slider round" tabindex="0"></span>
        <span class="slider-label">Include Camps</span>
    </label>
    </div>
            <div class="form-group form-switch form-group-prg_no_full">
        <label class="checkbox-switch">
        <input tabindex="-1" type="checkbox" id="prg_no_full" name="prg[no_full]" value="1" />
        <span class="slider round" tabindex="0"></span>
        <span class="slider-label">Exclude Full</span>
    </label>
    </div>
        </div>
        <div class="row-buttons">
            <button aria-labe="Toggle show/hide advanced filters" class="toggle-advanced-search" type="button">
                <span class="hide">Show Advanced Filters</span>
                <span class="show">Hide Advanced Filters</span>
            </button>
            <button type="submit" id="prg_submit" name="prg[submit]" class="bttn bttn--orange submit-bttn">Search</button>
            <button type="reset" id="prg_reset" name="prg[reset]" class="bttn">Reset</button>
        </div>

        <input type="hidden" id="prg_age_min" name="prg[age_min]" /><input type="hidden" id="prg_age_max" name="prg[age_max]" /></form>

    </div><!-- #program_search -->


                </div>
            </div>
        </div>
    </div>
</section><!-- Start Promo banner -->
<!-- End Promo banner -->
<!-- promo banner doT.js template -->

<script id="promo-banner-dot" type="text/x-dot-template">
    <section class="promo-banner">
        <div class="promo-banner-wrapper" aria-label="Site alert message">
            <p>{{=it.text}}</p>
            {{?it.path_content.length}}
                <a href="{{=it.path_content}}" class="promo-banner-link bttn bttn--orange" aria-label="View alert details">View</a>
            {{??}}
                {{?it.link_self}}<a href="{{=it.path}}" class="promo-banner-link bttn bttn--orange" aria-label="View alert details">Read More</a>{{?}}
            {{?}}
        </div>
    </section>
</script>


<div data-comp="site-alerts"><!-- site wide alerts go here --></div>
<main id="maincontent">
    <article class="view-full sanctuary-full" aria-label="Sanctuary page">

        
             
                    
    
<section class="hero hero--internal">
    <div class="hero__image-home">

                
            
                                                                                            <!-- header_background: 2.A content.background_asset-->
                                                
                        
                        
                        
        
                            <!-- header_background: found asset to render -->
                <!-- ezimage_field --><div class="ezimage-field alias-landscape"><div class="caption-image right-icon"><figure><img src="https://www.massaudubon.org/var/site/storage/images/7/6/3/7/1607367-1-eng-US/f6ecf4270c75-8741Clare_Carvel47866-1920x1280.jpg" alt="Snowy Egret standing on grassy island surrounded by water" height="1280" width="1920" /><button aria-hidden="true" data-comp="icon-credit" class="icon icon-credit"></button><figcaption><span class="attr-credits"><div class="eztext-field">Snowy Egret @ Clare Carvel</div></span></figcaption></figure></div></div>
            </div>
    <div class="container-xxl hero-wrapper">
        <div class="offset-lg-1 hero__content hero__content-570">
            
            <h4 class="parent-link"><a href="/places-to-explore/wildlife-sanctuaries">Wildlife Sanctuaries &amp; Properties</a></h4>            <h1>Joppa Flats Education Center</h1>
                        <ul class="hero__content__info">
                                    <li class="location"><span class="icon icon-location"> Newburyport</span></li>
                                                    <li class="area"> 50 Acres</li>
                            </ul>
        
        </div>
    </div>
    <a id="content"></a>
</section>
    <!-- Start Section Nav -->
    <section class="hero-nav">
        <div class="container-xxl">
            <ul class="hero-nav__list">
                                                <li class="hero-nav__list__item active pseudo-nav"><a href="/places-to-explore/wildlife-sanctuaries/joppa-flats">Visit Joppa Flats</a></li>
                    <li class="hero-nav__list__item listitem-landing_page"><a href="/places-to-explore/wildlife-sanctuaries/joppa-flats/programs-activities">Programs &amp; Activities</a></li>    <li class="hero-nav__list__item listitem-landing_page"><a href="/places-to-explore/wildlife-sanctuaries/joppa-flats/projects">Projects</a></li>    <li class="hero-nav__list__item listitem-news_listing"><a href="/places-to-explore/wildlife-sanctuaries/joppa-flats/news">News</a></li>    <li class="hero-nav__list__item listitem-landing_page"><a href="/places-to-explore/wildlife-sanctuaries/joppa-flats/support">Support</a></li></ul>
        </div>
    </section>
    <!-- End Section Nav -->

<section class="section-alert-wrapper">
    <div class="container-xxl">
        <div data-comp="section-alerts"><!-- section alerts go here --></div>
    </div>
</section>
        <!-- Start Overview -->
        <section class="overview">
            <div class="container-xxl">
                <div class="row">
                    <div class="col-lg-5 offset-lg-1">
                                                <div class="overview__content">
                            <h3>Plan Your Visit</h3>
                            <div class="ezrichtext-field"><p>Celebrate region&rsquo;s wildlife-rich habitats through guided tours, marine touch tanks, art exhibits, drop-in programs, and interpretive displays.</p>
</div>

                        </div>
                                            </div>
                    <div class="col-lg-5">
                            <!-- Start Google Map -->
    <div class="google-map">
                                                        <figure>
                <a href="https://www.google.com/maps?q=42.798876,-70.846872" target="_blank">
                    <img src="https://maps.googleapis.com/maps/api/staticmap?center=42.798876,-70.846872&amp;zoom=15&amp;size=570x176&amp;key=AIzaSyAjIPKmQ6xAbM4pj97fxp7PwsOPC-Xhmto" alt="">
                </a>
            </figure>
                    
                
                    <!-- directions page linked -->
                    
                                                            
                    <a class="google-map__cta" href="/places-to-explore/wildlife-sanctuaries/joppa-flats/directions">Directions to Joppa Flats</a>
            </div>
    <!-- End Google Map -->
                    </div>
                </div>
            </div>
        </section>
        <!-- End Overview -->

        <!-- Start Flex Layout -->
        <section class="visit-details flex-layout">
            <div class="container-xxl">
                <div class="col-lg-10 offset-lg-1">
                    <div class="flex-layout-wrapper">
                        <!-- Start Info Card -->
<article class="info-card yellow info-card--hours">
    <header>
        <h5 class="info-card__title">Hours</h5>
    </header>

    <div class="info-card__content">
        <div class="info-card__content__item nature-center-list">
                            <h6 class="info-card__content__item__title">Nature Center &amp; Gift Shop</h6>
                                    <ul role="list">
                        <li class="icon icon-date">Tuesday–Saturday, Monday holidays</li>
                        <li class="icon icon-clock">8:30 am–4:00 pm</li>
                    </ul>
                                                                    </div>
        
            </div>

    <footer>
        <p>Please <a href="#guidelines">read guidelines</a> for visiting.</p>
    </footer>
</article>
<!-- End Info Card -->                        <!-- Start Info Card -->
<article class="info-card violet info-card--admissions">
    <header>
        <h5 class="info-card__title">Admissions</h5>
    </header>

    <div class="info-card__content">
        <div class="info-card__content__item">
            <ul role="list">
                                    <li class="main">
                        <span class="desc">All Ages</span>
                        <span class="price">free</span>
                    </li>
                            </ul>
                    </div>
    </div>

    <footer>
        <a href="/take-action/membership" class="members-link">Members get free admission</a>
        <p><a href="/places-to-explore/admission">See additional free admission opportunities.</a></p>
    </footer>
</article>
<!-- End Info Card -->                        <!-- Start Info Card -->
<article class="info-card lightblue info-card--contact">
    <header>
        <h5 class="info-card__title">Contact</h5>
    </header>

    <div class="info-card__content">

        <div class="info-card__content__item">
            <ul role="list">
                <li>
                    <a href="tel:978-462-9998" class="phone">978-462-9998</a>                    <a href="/cdn-cgi/l/email-protection#513b3e212130373d302522113c30222230243524333e3f7f3e2336"><span class="__cf_email__" data-cfemail="147e7b6464757278756067547975676775617061767b7a3a7b6673">[email&#160;protected]</span></a>                </li>
            </ul>
            <div class="attr-contact_info">
                <div class="ezrichtext-field"><p>1 Plum Island Turnpike<br>Newburyport, MA 01950</p>
</div>

            </div>
        </div>

        
                <div class="info-card__content__item info-card__content__item--social">
            <h6 class="info-card__content__item__title">Social media</h6>
            <ul role="list">
                <li><a href="https://www.facebook.com/MassAudubonJoppaFlats" aria-label="Facebook" target="_blank" class="icon icon-facebook-background"></a></li>                <li><a href="https://www.instagram.com/massaudubonjoppaflats/" aria-label="Instagram" target="_blank" class="icon icon-instagram-background"></a></li>            </ul>
        </div>
        
    </div>
</article>
<!-- End Info Card -->                    </div>
                </div>
            </div>
        </section>
        <!-- End Flex Layout -->

                                            <section class="connect-with-nature" data-block-type="connect-with-nature">
    <div class="container-xxl">
        <div class="connect-with-nature__content">
            <h2 class="title-line centered">Choose Your Path</h2>
        </div>
        <ul class="connect-with-nature-wrapper">
                        <li>
                                <span class="connect-with-nature__item">
            <a href="/places-to-explore/wildlife-sanctuaries/joppa-flats/programs-activities/birds-birding">
            <figure class="svg-icon">
                <img src="/asset/download/56264/svg/birding-%282%29.svg" alt="Birds &amp; Birding">
            </figure>
            <div class="connect-with-nature__item__label">
                <span class="ezstring-field">Birds &amp; Birding</span>
            </div>
        </a>
    </span>



            </li>
                        <li>
                        <span class="connect-with-nature__item">
            <a href="https://volunteer.massaudubon.org/">
            <figure class="svg-icon">
                <img src="/asset/download/56265/svg/volunteer-%281%29.svg" alt="Volunteer">
            </figure>
            <div class="connect-with-nature__item__label">
                <span class="ezstring-field">Volunteer</span>
            </div>
        </a>
    </span>



            </li>
                        <li>
                                <span class="connect-with-nature__item">
            <a href="/places-to-explore/wildlife-sanctuaries/joppa-flats/programs-activities/family-fun">
            <figure class="svg-icon">
                <img src="/asset/download/56266/svg/family.svg" alt="Family Fun">
            </figure>
            <div class="connect-with-nature__item__label">
                <span class="ezstring-field">Family Fun</span>
            </div>
        </a>
    </span>



            </li>
                        <li>
                                <span class="connect-with-nature__item">
            <a href="/places-to-explore/wildlife-sanctuaries/joppa-flats/accessibility">
            <figure class="svg-icon">
                <img src="/asset/download/56267/svg/APT-%281%29.svg" alt="Accessibility">
            </figure>
            <div class="connect-with-nature__item__label">
                <span class="ezstring-field">Accessibility</span>
            </div>
        </a>
    </span>



            </li>
                    </ul>
    </div>
</section>
        <!-- Start Layout Two Columns / Property Regulations / Facilities -->
        <section class="regulations-facilities layout-two-cols background-cloud-light p-block-72">
            <div class="container-xxl">
                <div class="row">
                    <div class="offset-lg-1 col-lg-5">

                        <!-- Start Property Regulations List -->
                        <div class="property__regulations">
                            <div class="property__regulations__content">

                                <h4 class="property__regulations__title" id="guidelines">Property Regulations</h4>
                                                                    <!-- empty rules/show default static -->
                                    <div class="ezrichtext-field">
                                        <ul>
                                            <li>Foot travel only; please stay on trails (day passes are available for <a href="/places-to-explore/admission-regulations">powered mobility devices</a>)</li>
                                            <li>Dog walking and horseback riding are prohibited; please leave all animals and pets at home (<a href="/places-to-explore/admission-regulations">service animals welcome</a>)</li>
                                            <li>Camping, collecting, smoking, hunting, fishing, releasing of animals, and feeding wildlife is prohibited.</li>
                                            <li>Commercial photography needs prior approval; please see all <a href="/places-to-explore/property-regulations">photography guidelines</a>.</li>
                                        </ul>
                                                                            </div>
                                                            </div>
                        </div>
                        <!-- Start Property Regulations List -->

                    </div>
                    <div class="offset-lg-1 col-lg-5">
                        <!-- Start Facilities -->
<div class="facilities-list">
    <h4 class="facilities-list__title">Facilities</h4>
    <ul>
                            <li><figure class="svg-icon">
    <img src="/asset/download/55855/svg/icon-facility-parking.svg" alt="Parking">
</figure>
    <span class="ezstring-field">Parking</span>


            </li>
                    <li><figure class="svg-icon">
    <img src="/asset/download/55985/svg/ACCNatureCenter.svg" alt="Nature Center/Museum, Universally Accessible">
</figure>
    <span class="ezstring-field">Nature Center/Museum, Universally Accessible</span>


            </li>
                    <li><figure class="svg-icon">
    <img src="/asset/download/55986/svg/ACCRestrooms.svg" alt="Restrooms, Universally Accessible">
</figure>
    <span class="ezstring-field">Restrooms, Universally Accessible</span>


            </li>
                    <li><figure class="svg-icon">
    <img src="/asset/download/55989/svg/Picnic.svg" alt="Picnic Tables">
</figure>
    <span class="ezstring-field">Picnic Tables</span>


            </li>
                    <li><figure class="svg-icon">
    <img src="/asset/download/55947/svg/CarCharging.svg" alt="Electric Vehicle Charging Station">
</figure>
    <span class="ezstring-field">Electric Vehicle Charging Station</span>


            </li>
            </ul>
</div>
<!-- End Facilities -->                    </div>
                </div>
            </div>
        </section>
        <!-- End Layout Two Columns -->

        <div class="attr-page ezlandingpage-field">        <div class="ezlandingpage-field">                <div class="landing-page__zones">
    <div class="landing-page__zone landing-page__zone--147655" data-ibexa-zone-id="147655">
                    
                            <div class="landing-page__block" data-ez-block-id="475250">
                    <!-- Start Slide Show -->
<section class="block block-slideshow slide-show" data-block-type="slideshow" data-comp="slide-show">
        <div class="container-xxl">
        <div class="offset-lg-1 col-lg-5">
            <h3 class="slide-show__title">Featured Experiences</h3>
        </div>
    </div>
    
    <div class="container-fuild">
        <section class="splide" aria-label="Featured Experiences">
            <div class="splide__track">
                <ul class="splide__list">
                                                                        <li class="splide__slide">
                                <div class="view-image_card landing_page-image_card image-card">
    <div class="image_card__wrapper">
        <div class="image_card__image">
            <!-- .asset >> fall back to .image -->
                                <!-- image_asset --><!-- image-embed--><!-- ezimage_field --><div class="ezimage-field alias-card"><div class="caption-image "><figure><a
                            href="/places-to-explore/wildlife-sanctuaries/joppa-flats/programs-activities/family-fun/family-drop-in-programs-at-joppa-flats"
                                                                                    ><img src="https://www.massaudubon.org/var/site/storage/images/7/1/8/4/2754817-1-eng-US/3c278dd7c3c9-1f61008e-60ee-4bf5-8da7-b29ae2fd4d91.jpg" alt="Holding Horseshoe Crab at Joppa Flats" height="800" width="1200" /></a></figure></div></div>
                    </div>
        <div class="image_card__content">
            <h4 class="image_card__title">
                <a href="/places-to-explore/wildlife-sanctuaries/joppa-flats/programs-activities/family-fun/family-drop-in-programs-at-joppa-flats">
                                            <span class="ezstring-field">Family Drop-in Programs at Joppa Flats</span>
                                    </a>
            </h4>
            <div class="ezrichtext-field"><p>Throughout the year, Joppa Flats Education Center in Newburyport offers family-friendly drop-in programs.&nbsp;</p>
</div>

        </div>
    </div>
</div>
                            </li>
                                                    <li class="splide__slide">
                                <div class="view-image_card landing_page-image_card image-card">
    <div class="image_card__wrapper">
        <div class="image_card__image">
            <!-- .asset >> fall back to .image -->
                                <!-- image_asset --><!-- image-embed--><!-- ezimage_field --><div class="ezimage-field alias-card"><div class="caption-image "><figure><a
                            href="/places-to-explore/wildlife-sanctuaries/joppa-flats/projects/bird-banding"
                                                                                    ><img src="https://www.massaudubon.org/var/site/storage/images/4/2/0/9/2819024-1-eng-US/4f81f97eae62-WF_KForesto-5395-1920x1281.jpg" alt="American Redstart held be a hand" height="1281" width="1920" /></a><button aria-hidden="true" data-comp="icon-credit" class="icon icon-credit"></button><figcaption><span class="attr-credits"><div class="eztext-field">American Redstart</div></span></figcaption></figure></div></div>
                    </div>
        <div class="image_card__content">
            <h4 class="image_card__title">
                <a href="/places-to-explore/wildlife-sanctuaries/joppa-flats/projects/bird-banding">
                                            <span class="ezstring-field">Bird Banding</span>
                                    </a>
            </h4>
            <div class="ezrichtext-field"><p>Joppa Flats Education Center established its Bird Banding Station on Plum Island, part of the Parker River National Wildlife Refuge, in May 1998</p>
</div>

        </div>
    </div>
</div>
                            </li>
                                                    <li class="splide__slide">
                                <div class="view-image_card landing_page-image_card image-card">
    <div class="image_card__wrapper">
        <div class="image_card__image">
            <!-- .asset >> fall back to .image -->
                                <!-- image_asset --><!-- image-embed--><!-- ezimage_field --><div class="ezimage-field alias-card"><div class="caption-image "><figure><a
                            href="/places-to-explore/wildlife-sanctuaries/joppa-flats/programs-activities/teen-programs"
                                                                                    ><img src="https://www.massaudubon.org/var/site/storage/images/media/sanctuaries/ipswich-river/images/ir-teen-conservation-club-members-excursion-750/360846-1-eng-US/ir-teen-conservation-club-members-excursion-750.jpg" alt="Teen Conservation Club members on excursion" height="500" width="750" /></a></figure></div></div>
                    </div>
        <div class="image_card__content">
            <h4 class="image_card__title">
                <a href="/places-to-explore/wildlife-sanctuaries/joppa-flats/programs-activities/teen-programs">
                                            <span class="ezstring-field">Teen Programs</span>
                                    </a>
            </h4>
            <div class="ezrichtext-field"><p>Teenagers on the North Shore looking to help build and strengthen a strong environmental ethic can get real behind-the-scenes conservation experience.</p>
</div>

        </div>
    </div>
</div>
                            </li>
                                                            </ul>
            </div>
        </section>
    </div>
</section>
<!-- Start Slide Show -->
                </div>
                            <div class="landing-page__block" data-ez-block-id="475251">
                                        
<section class="block block-upcoming_events card-layout card-layout--three-cols" data-block-type="upcoming_events">
    <div class="container-xxl">
        <div class="offset-lg-1 col-lg-10">
            <div class="card-layout__title">
                <h2 class="title-line">Upcoming Programs at Joppa Flats</h2>                                    <a class="bttn bttn--orange desktop-see-all-button" href="/programs?prg%5Bpid%5D%5B%5D=17530&amp;prg%5Bdaterange%5D=&amp;prg%5Bquery%5D=&amp;prg%5Bsubmit%5D=&amp;prg%5Bage_min%5D=&amp;prg%5Bage_max%5D=">See more</a>
                            </div>
            
                                                <div class="card-layout-wrapper">
                                                    
            
                
                    
        
    

<!-- Start Event Card -->
<article class="event-card" data-now="2026-04-17 23:24:22" data-next_meeting="2026-04-19 07:30:00" data-next_meeting_ts="1776598200">
    <a href="/programs/joppa-flats/101834-spring-birdwatching-outing">
        <div class="event-card-wrapper">
            <div class="event-card__content">
                <h4 class="event-card__content__title"><span class="ezstring-field">Spring Birdwatching Outing</span></h4>

                                                                <ul class="event-card__content-info">
                                        <li class="event-card__content__place" data-latitude="42.6342" data-longitude="-70.925018">
                        <p>
                            <span class="ezstring-field">Ipswich River Wildlife Sanctuary</span>, <span class="ezstring-field">Topsfield</span>                        </p>
                    </li>
                                        <li class="event-card__content__date">
                                                <p><span class="ezstring-field">Sunday, April 19</span></p>
                        <p>
                                                        <span class="ezstring-field">7:30am-12:30pm</span>
                        </p>
                    </li>
                </ul>

                <div class="event-card__content__ages">
                    <p>
                        
    Adults
                    </p>
                </div>
            </div>

                        <footer class="event-card__price">
                    


<article class="info-card violet info-card--admissions">
    <div class="info-card__content">
        <div class="info-card__content__item">
            <ul role="list" id="cost-ul">
                                    <li class="main cost-li">
                                                                                                    <span class="desc"> Adult Members</span>
                        <span class="price"> $40</span>
                    </li>
                                    <li class="main cost-li">
                                                                                                    <span class="desc"> Adult Nonmembers</span>
                        <span class="price"> $48</span>
                    </li>
                
            </ul>
        </div>
    </div>
</article>
            </footer>
            
        </div>

        <div class="event-card__cta">
            <span>Learn more</span>
        </div>
    </a>
    </article>
<!-- End Event Card -->

                                                    
            
                
                    
        
    

<!-- Start Event Card -->
<article class="event-card" data-now="2026-04-17 23:24:22" data-next_meeting="2026-04-22 09:30:00" data-next_meeting_ts="1776864600">
    <a href="/programs/joppa-flats/102024-wednesday-morning-birding">
        <div class="event-card-wrapper">
            <div class="event-card__content">
                <h4 class="event-card__content__title"><span class="ezstring-field">Wednesday Morning Birding</span></h4>

                                                                <ul class="event-card__content-info">
                                        <li class="event-card__content__place" data-latitude="42.799175" data-longitude="-70.847897">
                        <p>
                            <span class="ezstring-field">Joppa Flats Education Center</span>, <span class="ezstring-field">Newburyport</span>                        </p>
                    </li>
                                        <li class="event-card__content__date">
                                                <p><span class="ezstring-field">Wednesday, April 22</span></p>
                        <p>
                                                        <span class="ezstring-field">9:30am-12:30pm</span>
                        </p>
                    </li>
                </ul>

                <div class="event-card__content__ages">
                    <p>
                        
    Adults
                    </p>
                </div>
            </div>

                        <footer class="event-card__price">
                    


<article class="info-card violet info-card--admissions">
    <div class="info-card__content">
        <div class="info-card__content__item">
            <ul role="list" id="cost-ul">
                                    <li class="main cost-li">
                                                                                                    <span class="desc"> Adult Members</span>
                        <span class="price"> $20</span>
                    </li>
                                    <li class="main cost-li">
                                                                                                    <span class="desc"> Adult Nonmembers</span>
                        <span class="price"> $24</span>
                    </li>
                
            </ul>
        </div>
    </div>
</article>
            </footer>
            
        </div>

        <div class="event-card__cta">
            <span>Learn more</span>
        </div>
    </a>
    </article>
<!-- End Event Card -->

                                                    
            
                
                    
        
    

<!-- Start Event Card -->
<article class="event-card" data-now="2026-04-17 23:24:22" data-next_meeting="2026-04-24 08:00:00" data-next_meeting_ts="1777032000">
    <a href="/programs/joppa-flats/101846-friday-morning-birding">
        <div class="event-card-wrapper">
            <div class="event-card__content">
                <h4 class="event-card__content__title"><span class="ezstring-field">Friday Morning Birding</span></h4>

                                                                <ul class="event-card__content-info">
                                        <li class="event-card__content__place">
                        <p>
                            <span class="ezstring-field">Pike&#039;s Bridge Road Conservation Area</span>, <span class="ezstring-field">West Newbury</span>                        </p>
                    </li>
                                        <li class="event-card__content__date">
                                                <p><span class="ezstring-field">Friday, April 24</span></p>
                        <p>
                                                        <span class="ezstring-field">8:00-11:00am</span>
                        </p>
                    </li>
                </ul>

                <div class="event-card__content__ages">
                    <p>
                        
    Adults
                    </p>
                </div>
            </div>

                        <footer class="event-card__price">
                    


<article class="info-card violet info-card--admissions">
    <div class="info-card__content">
        <div class="info-card__content__item">
            <ul role="list" id="cost-ul">
                                    <li class="main cost-li">
                                                                                                    <span class="desc"> Adult Members</span>
                        <span class="price"> $20</span>
                    </li>
                                    <li class="main cost-li">
                                                                                                    <span class="desc"> Adult Nonmembers</span>
                        <span class="price"> $24</span>
                    </li>
                
            </ul>
        </div>
    </div>
</article>
            </footer>
            
        </div>

        <div class="event-card__cta">
            <span>Learn more</span>
        </div>
    </a>
    </article>
<!-- End Event Card -->

                                            </div>
                                                        <a class="bttn bttn--orange mobile-see-all-button" href="/programs?prg%5Bpid%5D%5B%5D=17530&amp;prg%5Bdaterange%5D=&amp;prg%5Bquery%5D=&amp;prg%5Bsubmit%5D=&amp;prg%5Bage_min%5D=&amp;prg%5Bage_max%5D=">See more</a>
                    </div>
    </div>
</section>
                </div>
                            <div class="landing-page__block" data-ez-block-id="475252">
                    <!-- Start Slide Show -->
<section class="block block-slideshow slide-show" data-block-type="slideshow" data-comp="slide-show">
        <div class="container-xxl">
        <div class="offset-lg-1 col-lg-5">
            <h3 class="slide-show__title">Explore Joppa Flats</h3>
        </div>
    </div>
    
    <div class="container-fuild">
        <section class="splide" aria-label="Explore Joppa Flats">
            <div class="splide__track">
                <ul class="splide__list">
                                                                        <li class="splide__slide">
                                <div class="view-image_card image-image_card image-card">
    <div class="image_card__wrapper">
                    <div class="image_card__image">
                    <!-- ezimage_field --><div class="ezimage-field alias-original"><div class="caption-image "><figure><img src="https://www.massaudubon.org/var/site/storage/images/9/8/2/1/1601289-3-eng-US/31fc65231633-4360Richard_White28590-1920x1280.jpg" alt="Great Blue Heron flying over tall grass with wings extended." height="1280" width="1920" /><button aria-hidden="true" data-comp="icon-credit" class="icon icon-credit"></button><figcaption><span class="attr-credits"><div class="eztext-field">Joppa Flats, Newburyport © Richard White</div></span></figcaption></figure></div></div>
            </div>
            <div class="image_card__content">
                <!-- NO HEADER/title -->
                <div class="ezrichtext-field">
</div>

            </div>
            </div>
</div>
                            </li>
                                                    <li class="splide__slide">
                                <div class="view-image_card image-image_card image-card">
    <div class="image_card__wrapper">
                    <div class="image_card__image">
                    <!-- ezimage_field --><div class="ezimage-field alias-original"><div class="caption-image "><figure><img src="https://www.massaudubon.org/var/site/storage/images/3/9/2/1/1601293-3-eng-US/77bffb5de7c8-2114JesseCosta7362-1920x1280.jpg" alt="Two Semipalmated Sandpipers wading in a shallow pool of water." height="1280" width="1920" /><button aria-hidden="true" data-comp="icon-credit" class="icon icon-credit"></button><figcaption><span class="attr-credits"><div class="eztext-field">Semipalmated Sandpiper, Joppa Flats, Newburyport © Jesse Costa</div></span></figcaption></figure></div></div>
            </div>
            <div class="image_card__content">
                <!-- NO HEADER/title -->
                <div class="ezrichtext-field">
</div>

            </div>
            </div>
</div>
                            </li>
                                                    <li class="splide__slide">
                                <div class="view-image_card image-image_card image-card">
    <div class="image_card__wrapper">
                    <div class="image_card__image">
                    <!-- ezimage_field --><div class="ezimage-field alias-original"><div class="caption-image "><figure><img src="https://www.massaudubon.org/var/site/storage/images/7/9/2/1/1601297-1-eng-US/3cedfa840525-1430KenDiBiccari4860-754x500-3ff2764c-7a9b-4324-a988-68ee21c59156.jpg" alt="A Killdeer standing on brown straw." height="500" width="754" /><button aria-hidden="true" data-comp="icon-credit" class="icon icon-credit"></button><figcaption><span class="attr-credits"><div class="eztext-field">© Ken DiBiccari</div></span></figcaption></figure></div></div>
            </div>
            <div class="image_card__content">
                <!-- NO HEADER/title -->
                <div class="ezrichtext-field">
</div>

            </div>
            </div>
</div>
                            </li>
                                                    <li class="splide__slide">
                                <div class="view-image_card image-image_card image-card">
    <div class="image_card__wrapper">
                    <div class="image_card__image">
                    <!-- ezimage_field --><div class="ezimage-field alias-original"><div class="caption-image "><figure><img src="https://www.massaudubon.org/var/site/storage/images/1/0/3/1/1601301-2-eng-US/ace3b7e87819-1122MichaelFrancis5992-1920x1280.jpg" alt="A Snowy Owl on top of some fallen wooden logs making a standing triangle. Bare trees off in the distance." height="1280" width="1920" /><button aria-hidden="true" data-comp="icon-credit" class="icon icon-credit"></button><figcaption><span class="attr-credits"><div class="eztext-field">Snowy Owl, Joppa Flats, Newburyport © Michael Francis</div></span></figcaption></figure></div></div>
            </div>
            <div class="image_card__content">
                <!-- NO HEADER/title -->
                <div class="ezrichtext-field">
</div>

            </div>
            </div>
</div>
                            </li>
                                                    <li class="splide__slide">
                                <div class="view-image_card image-image_card image-card">
    <div class="image_card__wrapper">
                    <div class="image_card__image">
                    <!-- ezimage_field --><div class="ezimage-field alias-original"><div class="caption-image "><figure><img src="https://www.massaudubon.org/var/site/storage/images/5/0/3/1/1601305-2-eng-US/7a9ad5a53e58-1687JaniceCorkinRudolf5872-1920x1280.png" alt="Two people in tan sun hats in a grassy marsh. One is one their knee looking into the grass, while the other is bent over and pointing." height="1280" width="1919" /><button aria-hidden="true" data-comp="icon-credit" class="icon icon-credit"></button><figcaption><span class="attr-credits"><div class="eztext-field">Joppa Flats, Newburyport © Janice Corkin Rudolf</div></span></figcaption></figure></div></div>
            </div>
            <div class="image_card__content">
                <!-- NO HEADER/title -->
                <div class="ezrichtext-field">
</div>

            </div>
            </div>
</div>
                            </li>
                                                    <li class="splide__slide">
                                <div class="view-image_card image-image_card image-card">
    <div class="image_card__wrapper">
                    <div class="image_card__image">
                    <!-- ezimage_field --><div class="ezimage-field alias-original"><div class="caption-image "><figure><img src="https://www.massaudubon.org/var/site/storage/images/9/0/3/1/1601309-2-eng-US/e4b333c53c77-3485Kevin_Namet12914-1920x1280.png" alt="A dozen egrets scattered across a salt marsh on a gray, gloomy day." height="1280" width="1920" /><button aria-hidden="true" data-comp="icon-credit" class="icon icon-credit"></button><figcaption><span class="attr-credits"><div class="eztext-field">Joppa Flats, Newburyport © Kevin Namet</div></span></figcaption></figure></div></div>
            </div>
            <div class="image_card__content">
                <!-- NO HEADER/title -->
                <div class="ezrichtext-field">
</div>

            </div>
            </div>
</div>
                            </li>
                                                    <li class="splide__slide">
                                <div class="view-image_card image-image_card image-card">
    <div class="image_card__wrapper">
                    <div class="image_card__image">
                    <!-- ezimage_field --><div class="ezimage-field alias-original"><div class="caption-image "><figure><img src="https://www.massaudubon.org/var/site/storage/images/3/1/3/1/1601313-1-eng-US/45d77ff1514f-Christa_Griffin750.png" alt="Dozens of birds flying in a V-formation over a salt marsh on a gray, foggy day." height="500" width="750" /><button aria-hidden="true" data-comp="icon-credit" class="icon icon-credit"></button><figcaption><span class="attr-credits"><div class="eztext-field">© Christa Griffin</div></span></figcaption></figure></div></div>
            </div>
            <div class="image_card__content">
                <!-- NO HEADER/title -->
                <div class="ezrichtext-field">
</div>

            </div>
            </div>
</div>
                            </li>
                                                    <li class="splide__slide">
                                <div class="view-image_card image-image_card image-card">
    <div class="image_card__wrapper">
                    <div class="image_card__image">
                    <!-- ezimage_field --><div class="ezimage-field alias-original"><div class="caption-image "><figure><img src="https://www.massaudubon.org/var/site/storage/images/7/1/3/1/1601317-1-eng-US/a569dd98b864-John-Harrison-750.png" alt="Dozens of white birds flying around 22 black birds on a small patch of land in water." height="500" width="750" /><button aria-hidden="true" data-comp="icon-credit" class="icon icon-credit"></button><figcaption><span class="attr-credits"><div class="eztext-field">© John Harrison</div></span></figcaption></figure></div></div>
            </div>
            <div class="image_card__content">
                <!-- NO HEADER/title -->
                <div class="ezrichtext-field">
</div>

            </div>
            </div>
</div>
                            </li>
                                                            </ul>
            </div>
        </section>
    </div>
</section>
<!-- Start Slide Show -->
                </div>
                            <div class="landing-page__block" data-ez-block-id="475253">
                    <section class="block block-whats_new whats-new" data-block-type="whats_new">
    <div class="container-xxl">
        <header class="whats-new-header col-lg-10 offset-lg-1">
            <h3 class="whats-new__title">Latest News</h3>
                            <a href="/places-to-explore/wildlife-sanctuaries/joppa-flats/news" class="bttn bttn--orange">More News</a>
                    </header>
        <div class="row">
            <div class="col-lg-4 offset-lg-1 whats-new__primary">
                                    <div class="whats-new__item  whats-new__item--main news_item-whats_new ">
            <div class="whats-new__item__image">
            <!-- Start Image module (fake ezlink) -->
                <!-- image_asset --><!-- image-embed--><!-- ezimage_field --><div class="ezimage-field alias-card"><div class="caption-image "><figure><a
                            href="/news/latest/10-ways-to-celebrate-the-spring-equinox"
                                                                                    ><img src="https://www.massaudubon.org/var/site/storage/images/1/0/3/9/1879301-1-eng-US/18a45046f204-Skunk-Cabbage-enhanced.png" alt="Skunk cabbage at the edge of a pond" height="1280" width="1920" /></a></figure></div></div>
            <!-- Start Image module -->
        </div>
        <article class="whats-new__item__content">
        <header class="whats-new__item__content-header">
                            <span class="tag">News</span>
                <span class="date">March 16, 2026</span>
                    </header>
        <div class="whats-new__item__content__main">
            <p class="whats-new__item_content_text"><span class="ezstring-field">10 Ways to Celebrate the Spring Equinox</span></p>
                        <a href="/news/latest/10-ways-to-celebrate-the-spring-equinox" class="arrow-right">Keep Reading</a>
        </div>
    </article>
</div>
                            </div>
            <div class="col-lg-6 whats-new__secondary">
                                                            <div class="whats-new__item  news_item-whats_new ">
            <div class="whats-new__item__image">
            <!-- Start Image module (fake ezlink) -->
                <!-- image_asset --><!-- image-embed--><!-- ezimage_field --><div class="ezimage-field alias-card"><div class="caption-image "><figure><a
                            href="/news/latest/7-ways-to-beat-the-winter-blues"
                                                                                    ><img src="https://www.massaudubon.org/var/site/storage/images/0/9/8/7/2787890-1-eng-US/40e8d1b3118b-IMG_3843-1920x1280-c4ac4cad-1f7e-4b29-8122-784e1c92261c.jpg" alt="man with child on shoulders smiling and pointing into distance" height="1280" width="1920" /></a><button aria-hidden="true" data-comp="icon-credit" class="icon icon-credit"></button><figcaption><span class="attr-credits"><div class="eztext-field">© Phil Doyle</div></span></figcaption></figure></div></div>
            <!-- Start Image module -->
        </div>
        <article class="whats-new__item__content">
        <header class="whats-new__item__content-header">
                            <span class="tag">News</span>
                <span class="date">January 12, 2026</span>
                    </header>
        <div class="whats-new__item__content__main">
            <p class="whats-new__item_content_text"><span class="ezstring-field">7 Ways to Beat the Winter Blues</span></p>
                        <a href="/news/latest/7-ways-to-beat-the-winter-blues" class="arrow-right">Keep Reading</a>
        </div>
    </article>
</div>
                                            <div class="whats-new__item  news_item-whats_new news_item-special">
            <div class="whats-new__item__image">
            <!-- Start Image module (fake ezlink) -->
                <!-- image_asset --><!-- image-embed--><!-- ezimage_field --><div class="ezimage-field alias-card"><div class="caption-image "><figure><a
                            href="/places-to-explore/wildlife-sanctuaries/joppa-flats/news/superbowl-of-birding-2026"
                                                                                    ><img src="https://www.massaudubon.org/var/site/storage/images/9/3/5/3/2693539-1-eng-US/fb43a3d46256-Birders_Sevelitte.jpg" alt="Birders gather by the water at Joppa Flats." height="1280" width="1920" /></a></figure></div></div>
            <!-- Start Image module -->
        </div>
        <article class="whats-new__item__content">
        <header class="whats-new__item__content-header">
                            <span class="tag">Special Event</span>
                    </header>
        <div class="whats-new__item__content__main">
            <p class="whats-new__item_content_text"><span class="ezstring-field">Superbowl of Birding 2026 at Joppa Flats</span></p>
                            <p class="special_event_date">Event Date: Saturday, January 31</p>
                        <a href="/places-to-explore/wildlife-sanctuaries/joppa-flats/news/superbowl-of-birding-2026" class="arrow-right">Keep Reading</a>
        </div>
    </article>
</div>
                                                </div>
        </div>
    </div>
</section>



                </div>
                            <div class="landing-page__block" data-ez-block-id="475254">
                    

                                                                                

<!-- Start Stay Connected -->
<section class="block-luminate_signup block stay-connected" data-block-type="luminate_signup" data-comp="sanctuary-newsletter-signup">
    <div class="container-xxl">
        <div class="col-lg-10 offset-lg-1">
            <div class="stay-connected-wrapper">
                <div class="stay-connected__content">
                    <h2>Stay Connected with Joppa Flats</h2>
                    <p>Don’t miss a beat on all the ways you can get outdoors, celebrate nature, and get involved.</p>
                </div>
                <div class="stay-connected__form">
                        <form action=""
          data-comp="luminate-signup"
          onsubmit="return false;"
          data-post-api="https://enews.massaudubon.org/API/"
          data-redirect-url="/newsletter-signup"
    >
                <span class="input-group">
            <input name="first_name" type="text" placeholder="First Name" aria-label="First Name">
            <div class="error error-first_name hidden"><!-- input errors --></div>
        </span>
        <span class="input-group">
            <input name="last_name" type="text" placeholder="Last Name" aria-label="Last Name">
            <div class="error error-last_name hidden"><!-- input errors --></div>
        </span>
        <span class="input-group">
            <input name="email_address" type="email" placeholder="Email Address"  aria-label="Email">
            <div class="error error-email_address hidden"><!-- input errors --></div>
        </span>
        <span class="input-group zip-group">
            <input class="zip-input" name="zipcode" type="text" placeholder="Zipcode"  aria-label="Zipcode">
            <div class="error error-zipcode hidden"><!-- input errors --></div>
        </span>
        <span class="input-group">
            <button type="button" class="api-submit bttn bttn--orange"  aria-label="Signup for Newsletter">Sign Up</button>
            <div class="spinner hidden">Processing ..</div>
            <div class="error form-error hidden"><!-- general form errors --></div>
            <div class="success form-success hidden">You are now subscribed!</div>
        </span>
        <input type="checkbox" name="interests" value="1263" class="hidden" checked="checked"/>     </form>
                </div>
                <div class="stay-connected__footer">
                    <p>
                        <a href="tel:978-462-9998">978-462-9998</a>                          |                         <span data-comp="obfuscate_email"><!-- js replace --></span>
                    </p>
                    <ul class="stay-connected__footer__social">
                        <li><a class="icon icon-facebook-background" href="https://www.facebook.com/MassAudubonJoppaFlats" target="_blank"></a></li>                        <li><a class="icon icon-instagram-background" href="https://www.instagram.com/massaudubonjoppaflats/" target="_blank"></a></li>                    </ul>
                </div>
            </div>
        </div>
    </div>
</section>
<!-- End Stay Connected -->

<script data-cfasync="false" src="/cdn-cgi/scripts/5c5dd728/cloudflare-static/email-decode.min.js" defer></script><script>
    // no-scrape email
    let contactEmail = "joppaflats@massaudubon.org";
    if (contactEmail.length > 0 ) {
        let emailTargets = document.querySelectorAll('[data-comp=obfuscate_email]');
        emailTargets.forEach((ele) => {
            // console.log(ele)
            ele.innerHTML = "<a href='mailto:" + contactEmail + "'>" + contactEmail + "</a>";
        });
    }
</script>
                </div>
                        </div>
</div>
    </div>
    </div>
    </article>

</main>
<footer class="footer">
    <div class="container-xxl">
        <div class="row">

            <!-- Start Footer Item -->
            <div class="footer__item footer__content offset-lg-1 col-lg-3">
                <a href="/" class="footer__content__logo">
                    <img src="/build/images/globals/logo-white.svg" alt="logo">
                </a>

                <!-- Footer content needed for desktop view -->
                <div class="footer__content__desktop">
                    <p>Mass Audubon is a nonprofit, tax-exempt charitable organization (tax identification number 04-2104702) under Section 501(c)(3) of the Internal Revenue Code. Donations to Mass Audubon are tax-deductible to the full extent provided by law.</p>
                    <p>Copyright © 2026, Mass Audubon</p>
                </div>
            </div>
            <!-- End Footer Item -->

            <div class="footer__item footer__quicklinks offset-lg-1 col-lg-2">
                <h3 class="footer__title">Quick Links</h3>
                <ul class="nav navbar-footer"><li class="ql_email first"><a href="/news/signup-for-email">Sign Up for Email</a>
        </li><li class="ql_press_room"><a href="https://www.massaudubon.org/news?news%5BtopicTags%5D=&amp;news%5BregionTags%5D=&amp;news%5BcontentType%5D=press_item&amp;news%5Bsubmit%5D=">Press Room</a>
        </li><li class="ql_jobs"><a href="/about/careers">Careers</a>
        </li><li class="ql_contact"><a href="/contact-us">Contact Us</a>
        </li><li class="ql_privacy_policy"><a href="/privacy-policy">Privacy Policy</a>
        </li><li class="ql_charitable_solicitation"><a href="/about/financials-reports/charitable-solicitation-disclosures">Charitable Solicitations</a>
        </li><li class="ql_terms_of_use"><a href="/terms-of-use">Terms of Use</a>
        </li><li class="nav_nondiscrimination last"><a href="/non-discrimination-statement">Non-Discrimination Statement</a>
        </li></ul>                            </div>

            <div class="footer__item footer__social col-lg-2">
                <h3 class="footer__title">Social</h3>
                <nav aria-label="social" class="footer__social__nav">
                    <ul role="list">
                        <li class="icon icon-facebook"><a title="Follow on Facebook" target="_blank" href="https://www.facebook.com/MassAudubon" >Facebook</a></li>
                        <li class="icon icon-youtube"><a title="Follow on YouTube" target="_blank" href="https://www.youtube.com/user/massaudubon" >YouTube</a></li>
                        <li class="icon icon-instagram"><a title="Follow on Instagram" target="_blank" href="https://www.instagram.com/massaudubon" >Instagram</a></li>
                        <li class="icon icon-linkedin"><a title="Follow on Linkedin" target="_blank" href="https://www.linkedin.com/company/mass-audubon/">Linkedin</a></li>
                        <li class="icon icon-threads"><a title="Follow on Threads" target="_blank" href="https://www.threads.net/massaudubon">Threads</a></li>
                        <li class="icon icon-tiktok"><a title="Follow on TikTok" target="_blank" href="https://www.tiktok.com/@massaudubon">TikTok</a></li>
                        <li class="icon icon-x"><a title="Follow on X" target="_blank" href="https://www.twitter.com/massaudubon" >X</a></li>
                    </ul>
                                    </nav>
            </div>

            <div class="footer__item footer__contact col-lg-3">
                <h3 class="footer__title">Contact</h3>
                <ul role="list" class="footer__contact__list">
                    <li>
                        <h4>Mass Audubon Headquarters</h4>
                        <p>208 South Great Road</p>
                        <p>Lincoln, MA 01773</p>
                    </li>
                    <li>
                        <h4>Main Phone</h4>
                        <a href="tel:781-259-9500">781-259-9500</a>
                        <a href="tel:800-283-8266">800-283-8266</a>
                    </li>
                </ul>
            </div>

            <!-- Footer content needed for mobile view -->
            <div class="footer__item footer__content">
                <div class="footer__content__mobile">
                    <p>Mass Audubon is a nonprofit, tax-exempt charitable organization (tax identification number 04-2104702) under Section 501(c)(3) of the Internal Revenue Code. Donations to Mass Audubon are tax-deductible to the full extent provided by law.</p>
                    <p>Copyright © 2026, Mass Audubon</p>
                </div>
            </div>
        </div>
    </div>
    <div class="footer__logos">
        <ul>
            <li>
                <a href="https://massculturalcouncil.org/"><img src="/build/images/footer/mass-cultural-council.jpg" alt="footer logo"></a>
            </li>
            <li>
                <a href="https://www.charitynavigator.org/ein/042104702"><img src="/build/images/footer/charity-navigator.jpg" alt="footer logo"></a>
            </li>
            <li>
                <a href="https://www.landtrustaccreditation.org/about/about-the-seal"><img src="/build/images/footer/land-trust-accreditation.jpg" alt="footer logo"></a>
            </li>
        </ul>
    </div>
    </footer>    <script src="/build/app.js?v=2025-03-31-2220" defer=""></script>
<script src="/build/runtime.js" defer=""></script>
    <!-- END monsido -->
<!-- Meta Pixel Code -->
<script>
    !function(f,b,e,v,n,t,s)
    {if(f.fbq)return;n=f.fbq=function(){n.callMethod?
        n.callMethod.apply(n,arguments):n.queue.push(arguments)};
        if(!f._fbq)f._fbq=n;n.push=n;n.loaded=!0;n.version='2.0';
        n.queue=[];t=b.createElement(e);t.async=!0;
        t.src=v;s=b.getElementsByTagName(e)[0];
        s.parentNode.insertBefore(t,s)}(window, document,'script',
        'https://connect.facebook.net/en_US/fbevents.js');
    fbq('init', '1083828705050743');
    fbq('track', 'PageView');
</script>
<noscript><img height="1" width="1" style="display:none"
src="https://www.facebook.com/tr?id=1083828705050743&ev=PageView&noscript=1"
/></noscript>
<!-- End Meta Pixel Code --><script type="text/javascript">window.NREUM||(NREUM={});NREUM.info={"beacon":"bam.nr-data.net","licenseKey":"c8192ea697","applicationID":"1548166127","transactionName":"MwFaMUFTCxADVUFeDQpLeQZHWwoNTV9XUhoFO1sKXUYADRYMQ14HEyVbEVpdCw==","queueTime":0,"applicationTime":611,"atts":"H0ZZRwlJGB4=","errorBeacon":"bam.nr-data.net","agent":""}</script><script>(function(){function c(){var b=a.contentDocument||a.contentWindow.document;if(b){var d=b.createElement('script');d.innerHTML="window.__CF$cv$params={r:'9ee37b88bd6c13fe',t:'MTc3NjUxMzM0Nw=='};var a=document.createElement('script');a.src='/cdn-cgi/challenge-platform/scripts/jsd/main.js';document.getElementsByTagName('head')[0].appendChild(a);";b.getElementsByTagName('head')[0].appendChild(d)}}if(document.body){var a=document.createElement('iframe');a.height=1;a.width=1;a.style.position='absolute';a.style.top=0;a.style.left=0;a.style.border='none';a.style.visibility='hidden';document.body.appendChild(a);if('loading'!==document.readyState)c();else if(window.addEventListener)document.addEventListener('DOMContentLoaded',c);else{var e=document.onreadystatechange||function(){};document.onreadystatechange=function(b){e(b);'loading'!==document.readyState&&(document.onreadystatechange=e,c())}}}})();</script></body>
</html>
