
<!DOCTYPE html>
<html lang="en-US">

<head>

  <meta charset="UTF-8" />
  <meta http-equiv="X-UA-Compatible" content="IE=edge"><script type="text/javascript">(window.NREUM||(NREUM={})).init={ajax:{deny_list:["bam.nr-data.net"]}};(window.NREUM||(NREUM={})).loader_config={licenseKey:"ca501bbaf9",applicationID:"199882814"};;/*! For license information please see nr-loader-rum-1.260.1.min.js.LICENSE.txt */
(()=>{var e,t,r={234:(e,t,r)=>{"use strict";r.d(t,{P_:()=>v,Mt:()=>b,C5:()=>s,OP:()=>k,lF:()=>P,Yu:()=>_,Dg:()=>m,CX:()=>c,GE:()=>w,sU:()=>N});var n=r(8632),i=r(9567);const o={beacon:n.ce.beacon,errorBeacon:n.ce.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},a={};function s(e){if(!e)throw new Error("All info objects require an agent identifier!");if(!a[e])throw new Error("Info for ".concat(e," was never set"));return a[e]}function c(e,t){if(!e)throw new Error("All info objects require an agent identifier!");a[e]=(0,i.D)(t,o);const r=(0,n.ek)(e);r&&(r.info=a[e])}const u=e=>{if(!e||"string"!=typeof e)return!1;try{document.createDocumentFragment().querySelector(e)}catch{return!1}return!0};var d=r(7056),l=r(50);const f="[data-nr-mask]",g=()=>{const e={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{feature_flags:[],proxy:{assets:void 0,beacon:void 0},privacy:{cookies_enabled:!0},ajax:{deny_list:void 0,block_internal:!0,enabled:!0,harvestTimeSeconds:10,autoStart:!0},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},session:{expiresMs:d.oD,inactiveMs:d.Hb},ssl:void 0,obfuscate:void 0,jserrors:{enabled:!0,harvestTimeSeconds:10,autoStart:!0},metrics:{enabled:!0,autoStart:!0},page_action:{enabled:!0,harvestTimeSeconds:30,autoStart:!0},page_view_event:{enabled:!0,autoStart:!0},page_view_timing:{enabled:!0,harvestTimeSeconds:30,long_task:!1,autoStart:!0},session_trace:{enabled:!0,harvestTimeSeconds:10,autoStart:!0},harvest:{tooManyRequestsDelay:60},session_replay:{autoStart:!0,enabled:!1,harvestTimeSeconds:60,preload:!1,sampling_rate:10,error_sampling_rate:100,collect_fonts:!1,inline_images:!1,inline_stylesheet:!0,mask_all_inputs:!0,get mask_text_selector(){return e.mask_selector},set mask_text_selector(t){u(t)?e.mask_selector="".concat(t,",").concat(f):""===t||null===t?e.mask_selector=f:(0,l.Z)("An invalid session_replay.mask_selector was provided. '*' will be used.",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){u(t)?e.block_selector+=",".concat(t):""!==t&&(0,l.Z)("An invalid session_replay.block_selector was provided and will not be used",t)},get mask_input_options(){return e.mask_input_options},set mask_input_options(t){t&&"object"==typeof t?e.mask_input_options={...t,password:!0}:(0,l.Z)("An invalid session_replay.mask_input_option was provided and will not be used",t)}},spa:{enabled:!0,harvestTimeSeconds:10,autoStart:!0},soft_navigations:{enabled:!0,harvestTimeSeconds:10,autoStart:!0}}},p={},h="All configuration objects require an agent identifier!";function v(e){if(!e)throw new Error(h);if(!p[e])throw new Error("Configuration for ".concat(e," was never set"));return p[e]}function m(e,t){if(!e)throw new Error(h);p[e]=(0,i.D)(t,g());const r=(0,n.ek)(e);r&&(r.init=p[e])}function b(e,t){if(!e)throw new Error(h);var r=v(e);if(r){for(var n=t.split("."),i=0;i<n.length-1;i++)if("object"!=typeof(r=r[n[i]]))return;r=r[n[n.length-1]]}return r}const y={accountID:void 0,trustKey:void 0,agentID:void 0,licenseKey:void 0,applicationID:void 0,xpid:void 0},A={};function w(e,t){if(!e)throw new Error("All loader-config objects require an agent identifier!");A[e]=(0,i.D)(t,y);const r=(0,n.ek)(e);r&&(r.loader_config=A[e])}const _=(0,n.mF)().o;var E=r(385),x=r(6818);const D={buildEnv:x.Re,distMethod:x.gF,version:x.q4,originTime:E.sK},S={customTransaction:void 0,disabled:!1,isolatedBacklog:!1,loaderType:void 0,maxBytes:3e4,onerror:void 0,origin:""+E._A.location,ptid:void 0,releaseIds:{},appMetadata:{},session:void 0,denyList:void 0,harvestCount:0,timeKeeper:void 0},R={};function k(e){if(!e)throw new Error("All runtime objects require an agent identifier!");if(!R[e])throw new Error("Runtime for ".concat(e," was never set"));return R[e]}function N(e,t){if(!e)throw new Error("All runtime objects require an agent identifier!");R[e]={...(0,i.D)(t,S),...D};const r=(0,n.ek)(e);r&&(r.runtime=R[e])}function P(e){return function(e){try{const t=s(e);return!!t.licenseKey&&!!t.errorBeacon&&!!t.applicationID}catch(e){return!1}}(e)}},9567:(e,t,r)=>{"use strict";r.d(t,{D:()=>i});var n=r(50);function i(e,t){try{if(!e||"object"!=typeof e)return(0,n.Z)("Setting a Configurable requires an object as input");if(!t||"object"!=typeof t)return(0,n.Z)("Setting a Configurable requires a model to set its initial properties");const r=Object.create(Object.getPrototypeOf(t),Object.getOwnPropertyDescriptors(t)),o=0===Object.keys(r).length?e:r;for(let a in o)if(void 0!==e[a])try{if(null===e[a]){r[a]=null;continue}Array.isArray(e[a])&&Array.isArray(t[a])?r[a]=Array.from(new Set([...e[a],...t[a]])):"object"==typeof e[a]&&"object"==typeof t[a]?r[a]=i(e[a],t[a]):r[a]=e[a]}catch(e){(0,n.Z)("An error occurred while setting a property of a Configurable",e)}return r}catch(e){(0,n.Z)("An error occured while setting a Configurable",e)}}},6818:(e,t,r)=>{"use strict";r.d(t,{Re:()=>i,gF:()=>o,q4:()=>n});const n="1.260.1",i="PROD",o="CDN"},385:(e,t,r)=>{"use strict";r.d(t,{Nk:()=>l,Tt:()=>c,_A:()=>a,iS:()=>s,il:()=>i,sK:()=>f,ux:()=>u,v6:()=>o,w1:()=>d});var n=r(7894);const i="undefined"!=typeof window&&!!window.document,o="undefined"!=typeof WorkerGlobalScope&&("undefined"!=typeof self&&self instanceof WorkerGlobalScope&&self.navigator instanceof WorkerNavigator||"undefined"!=typeof globalThis&&globalThis instanceof WorkerGlobalScope&&globalThis.navigator instanceof WorkerNavigator),a=i?window:"undefined"!=typeof WorkerGlobalScope&&("undefined"!=typeof self&&self instanceof WorkerGlobalScope&&self||"undefined"!=typeof globalThis&&globalThis instanceof WorkerGlobalScope&&globalThis),s=Boolean("hidden"===a?.document?.visibilityState),c=/iPad|iPhone|iPod/.test(a.navigator?.userAgent),u=c&&"undefined"==typeof SharedWorker,d=((()=>{const e=a.navigator?.userAgent?.match(/Firefox[/\s](\d+\.\d+)/);Array.isArray(e)&&e.length>=2&&e[1]})(),Boolean(i&&window.document.documentMode)),l=!!a.navigator?.sendBeacon,f=Date.now()-(0,n.z)()},1117:(e,t,r)=>{"use strict";r.d(t,{w:()=>o});var n=r(50);const i={agentIdentifier:"",ee:void 0};class o{constructor(e){try{if("object"!=typeof e)return(0,n.Z)("shared context requires an object as input");this.sharedContext={},Object.assign(this.sharedContext,i),Object.entries(e).forEach((e=>{let[t,r]=e;Object.keys(i).includes(t)&&(this.sharedContext[t]=r)}))}catch(e){(0,n.Z)("An error occurred while setting SharedContext",e)}}}},8e3:(e,t,r)=>{"use strict";r.d(t,{LP:()=>l,RP:()=>c,o5:()=>u});var n=r(8325),i=r(1284),o=r(4322),a=r(3325);const s={};function c(e,t){const r={staged:!1,priority:a.p[t]||0};d(e),s[e].get(t)||s[e].set(t,r)}function u(e,t){d(e),s[e].get(t)&&s[e].delete(t),s[e].size&&f(e)}function d(e){if(!e)throw new Error("agentIdentifier required");s[e]||(s[e]=new Map)}function l(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"",t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"feature",r=arguments.length>2&&void 0!==arguments[2]&&arguments[2];if(d(e),!e||!s[e].get(t)||r)return g(e,t);s[e].get(t).staged=!0,f(e)}function f(e){const t=Array.from(s[e]);t.every((e=>{let[t,r]=e;return r.staged}))&&(t.sort(((e,t)=>e[1].priority-t[1].priority)),t.forEach((t=>{let[r]=t;s[e].delete(r),g(e,r)})))}function g(e,t){const r=e?n.ee.get(e):n.ee,a=o.X.handlers;if(r.backlog&&a){var s=r.backlog[t],c=a[t];if(c){for(var u=0;s&&u<s.length;++u)p(s[u],c);(0,i.D)(c,(function(e,t){(0,i.D)(t,(function(t,r){r[0].on(e,r[1])}))}))}r.isolatedBacklog||delete a[t],r.backlog[t]=null,r.emit("drain-"+t,[])}}function p(e,t){var r=e[1];(0,i.D)(t[r],(function(t,r){var n=e[0];if(r[0]===n){var i=r[1],o=e[3],a=e[2];i.apply(o,a)}}))}},8325:(e,t,r)=>{"use strict";r.d(t,{A:()=>c,ee:()=>u});var n=r(8632),i=r(2210),o=r(234);class a{constructor(e){this.contextId=e}}var s=r(3117);const c="nr@context:".concat(s.a),u=function e(t,r){var n={},s={},d={},l=!1;try{l=16===r.length&&(0,o.OP)(r).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,o){!1!==o&&(o=!0);if(u.aborted&&!i)return;t&&o&&t.emit(e,r,n);for(var a=g(n),c=h(e),d=c.length,l=0;l<d;l++)c[l].apply(a,r);var p=m()[s[e]];p&&p.push([f,e,r,a]);return a},get:v,listeners:h,context:g,buffer:function(e,t){const r=m();if(t=t||"feature",f.aborted)return;Object.entries(e||{}).forEach((e=>{let[n,i]=e;s[i]=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!!m()[s[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 g(e){return e&&e instanceof a?e:e?(0,i.X)(e,c,(()=>new a(c))):new a(c)}function p(e,t){n[e]=h(e).concat(t)}function h(e){return n[e]||[]}function v(t){return d[t]=d[t]||e(f,t)}function m(){return f.backlog}}(void 0,"globalEE"),d=(0,n.fP)();d.ee||(d.ee=u)},5546:(e,t,r)=>{"use strict";r.d(t,{E:()=>n,p:()=>i});var n=r(8325).ee.get("handle");function i(e,t,r,i,o){o?(o.buffer([e],i),o.emit(e,t,r)):(n.buffer([e],i),n.emit(e,t,r))}},4322:(e,t,r)=>{"use strict";r.d(t,{X:()=>o});var n=r(5546);o.on=a;var i=o.handlers={};function o(e,t,r,o){a(o||n.E,i,e,t,r)}function a(e,t,r,i,o){o||(o="feature"),e||(e=n.E);var a=t[o]=t[o]||{};(a[r]=a[r]||[]).push([e,i])}},3239:(e,t,r)=>{"use strict";r.d(t,{bP:()=>s,iz:()=>c,m$:()=>a});var n=r(385);let i=!1,o=!1;try{const e={get passive(){return i=!0,!1},get signal(){return o=!0,!1}};n._A.addEventListener("test",null,e),n._A.removeEventListener("test",null,e)}catch(e){}function a(e,t){return i||o?{capture:!!e,passive:i,signal:t}:!!e}function s(e,t){let r=arguments.length>2&&void 0!==arguments[2]&&arguments[2],n=arguments.length>3?arguments[3]:void 0;window.addEventListener(e,t,a(r,n))}function c(e,t){let r=arguments.length>2&&void 0!==arguments[2]&&arguments[2],n=arguments.length>3?arguments[3]:void 0;document.addEventListener(e,t,a(r,n))}},3117:(e,t,r)=>{"use strict";r.d(t,{a:()=>n});const n=(0,r(4402).Rl)()},4402:(e,t,r)=>{"use strict";r.d(t,{Rl:()=>a,ky:()=>s});var n=r(385);const i="xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx";function o(e,t){return e?15&e[t]:16*Math.random()|0}function a(){const e=n._A?.crypto||n._A?.msCrypto;let t,r=0;return e&&e.getRandomValues&&(t=e.getRandomValues(new Uint8Array(30))),i.split("").map((e=>"x"===e?o(t,r++).toString(16):"y"===e?(3&o()|8).toString(16):e)).join("")}function s(e){const t=n._A?.crypto||n._A?.msCrypto;let r,i=0;t&&t.getRandomValues&&(r=t.getRandomValues(new Uint8Array(e)));const a=[];for(var s=0;s<e;s++)a.push(o(r,i++).toString(16));return a.join("")}},7056:(e,t,r)=>{"use strict";r.d(t,{Bq:()=>n,Hb:()=>a,IK:()=>u,K4:()=>i,oD:()=>o,uT:()=>c,wO:()=>s});const n="NRBA",i="SESSION",o=144e5,a=18e5,s={STARTED:"session-started",PAUSE:"session-pause",RESET:"session-reset",RESUME:"session-resume",UPDATE:"session-update"},c={SAME_TAB:"same-tab",CROSS_TAB:"cross-tab"},u={OFF:0,FULL:1,ERROR:2}},7894:(e,t,r)=>{"use strict";function n(){return Math.floor(performance.now())}r.d(t,{z:()=>n})},50:(e,t,r)=>{"use strict";function n(e,t){"function"==typeof console.warn&&(console.warn("New Relic: ".concat(e)),t&&console.warn(t))}r.d(t,{Z:()=>n})},2825:(e,t,r)=>{"use strict";r.d(t,{N:()=>c,T:()=>s});var n=r(8325),i=r(385);const o="newrelic";const a=new Set,s={};function c(e,t){const r=n.ee.get(t);s[t]??={},e&&"object"==typeof e&&(a.has(t)||(r.emit("rumresp",[e]),s[t]=e,a.add(t),function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};try{i._A.dispatchEvent(new CustomEvent(o,{detail:e}))}catch(e){}}({loaded:!0})))}},2210:(e,t,r)=>{"use strict";r.d(t,{X:()=>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}},7872:(e,t,r)=>{"use strict";function n(e){var t=this;let r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:500,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};const i=n?.leading||!1;let o;return function(){for(var n=arguments.length,a=new Array(n),s=0;s<n;s++)a[s]=arguments[s];i&&void 0===o&&(e.apply(t,a),o=setTimeout((()=>{o=clearTimeout(o)}),r)),i||(clearTimeout(o),o=setTimeout((()=>{e.apply(t,a)}),r))}}function i(e){var t=this;let r=!1;return function(){if(!r){r=!0;for(var n=arguments.length,i=new Array(n),o=0;o<n;o++)i[o]=arguments[o];e.apply(t,i)}}}r.d(t,{D:()=>n,Z:()=>i})},1284:(e,t,r)=>{"use strict";r.d(t,{D:()=>n});const n=(e,t)=>Object.entries(e||{}).map((e=>{let[r,n]=e;return t(r,n)}))},4351:(e,t,r)=>{"use strict";r.d(t,{P:()=>o});var n=r(8325);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 o(e){try{return JSON.stringify(e,i())}catch(e){try{n.ee.emit("internal-error",[e])}catch(e){}}}},3960:(e,t,r)=>{"use strict";r.d(t,{KB:()=>a,b2:()=>o});var n=r(3239);function i(){return"undefined"==typeof document||"complete"===document.readyState}function o(e,t){if(i())return e();(0,n.bP)("load",e,t)}function a(e){if(i())return e();(0,n.iz)("DOMContentLoaded",e)}},8632:(e,t,r)=>{"use strict";r.d(t,{EZ:()=>d,ce:()=>o,ek:()=>u,fP:()=>a,gG:()=>l,h5:()=>c,mF:()=>s});var n=r(385),i=r(7894);const o={beacon:"bam.nr-data.net",errorBeacon:"bam.nr-data.net"};function a(){return n._A.NREUM||(n._A.NREUM={}),void 0===n._A.newrelic&&(n._A.newrelic=n._A.NREUM),n._A.NREUM}function s(){let e=a();return e.o||(e.o={ST:n._A.setTimeout,SI:n._A.setImmediate,CT:n._A.clearTimeout,XHR:n._A.XMLHttpRequest,REQ:n._A.Request,EV:n._A.Event,PR:n._A.Promise,MO:n._A.MutationObserver,FETCH:n._A.fetch}),e}function c(e,t){let r=a();r.initializedAgents??={},t.initializedAt={ms:(0,i.z)(),date:new Date},r.initializedAgents[e]=t}function u(e){let t=a();return t.initializedAgents?.[e]}function d(e,t){a()[e]=t}function l(){return function(){let e=a();const t=e.info||{};e.info={beacon:o.beacon,errorBeacon:o.errorBeacon,...t}}(),function(){let e=a();const t=e.init||{};e.init={...t}}(),s(),function(){let e=a();const t=e.loader_config||{};e.loader_config={...t}}(),a()}},7956:(e,t,r)=>{"use strict";r.d(t,{N:()=>i});var n=r(3239);function i(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],r=arguments.length>2?arguments[2]:void 0,i=arguments.length>3?arguments[3]:void 0;(0,n.iz)("visibilitychange",(function(){if(t)return void("hidden"===document.visibilityState&&e());e(document.visibilityState)}),r,i)}},3081:(e,t,r)=>{"use strict";r.d(t,{gF:()=>o,mY:()=>i,t9:()=>n,vz:()=>s,xS:()=>a});const n=r(3325).D.metrics,i="sm",o="cm",a="storeSupportabilityMetrics",s="storeEventMetrics"},7633:(e,t,r)=>{"use strict";r.d(t,{t:()=>n});const n=r(3325).D.pageViewEvent},9251:(e,t,r)=>{"use strict";r.d(t,{t:()=>n});const n=r(3325).D.pageViewTiming},7144:(e,t,r)=>{"use strict";r.d(t,{Ef:()=>i});var n=r(7056);r(3325).D.sessionReplay;const i={RECORD:"recordReplay",PAUSE:"pauseReplay",REPLAY_RUNNING:"replayRunning",ERROR_DURING_REPLAY:"errorDuringReplay"};n.IK.ERROR,n.IK.FULL,n.IK.OFF},5938:(e,t,r)=>{"use strict";r.d(t,{W:()=>i});var n=r(8325);class i{constructor(e,t,r){this.agentIdentifier=e,this.aggregator=t,this.ee=n.ee.get(e),this.featureName=r,this.blocked=!1}}},2758:(e,t,r)=>{"use strict";r.d(t,{j:()=>E});var n=r(3325),i=r(234),o=r(5546),a=r(8325),s=r(8e3),c=r(3960),u=r(385),d=r(50),l=r(3081),f=r(8632),g=r(7144);const p=["setErrorHandler","finished","addToTrace","addRelease","addPageAction","setCurrentRouteName","setPageViewName","setCustomAttribute","interaction","noticeError","setUserId","setApplicationVersion","start",g.Ef.RECORD,g.Ef.PAUSE],h=["setErrorHandler","finished","addToTrace","addRelease"];var v=r(7894),m=r(7056);function b(){const e=(0,f.gG)();p.forEach((t=>{e[t]=function(){for(var r=arguments.length,n=new Array(r),i=0;i<r;i++)n[i]=arguments[i];return function(t){for(var r=arguments.length,n=new Array(r>1?r-1:0),i=1;i<r;i++)n[i-1]=arguments[i];let o=[];return Object.values(e.initializedAgents).forEach((e=>{e.exposed&&e.api[t]&&o.push(e.api[t](...n))})),o.length>1?o:o[0]}(t,...n)}}))}const y={};var A=r(2825);const w=e=>{const t=e.startsWith("http");e+="/",r.p=t?e:"https://"+e};let _=!1;function E(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},p=arguments.length>2?arguments[2]:void 0,E=arguments.length>3?arguments[3]:void 0,{init:x,info:D,loader_config:S,runtime:R={loaderType:p},exposed:k=!0}=t;const N=(0,f.gG)();D||(x=N.init,D=N.info,S=N.loader_config),(0,i.Dg)(e.agentIdentifier,x||{}),(0,i.GE)(e.agentIdentifier,S||{}),D.jsAttributes??={},u.v6&&(D.jsAttributes.isWorker=!0),(0,i.CX)(e.agentIdentifier,D);const P=(0,i.P_)(e.agentIdentifier),j=[D.beacon,D.errorBeacon];_||(P.proxy.assets&&(w(P.proxy.assets),j.push(P.proxy.assets)),P.proxy.beacon&&j.push(P.proxy.beacon),b(),(0,f.EZ)("activatedFeatures",A.T),e.runSoftNavOverSpa&&=!0===P.soft_navigations.enabled&&P.feature_flags.includes("soft_nav")),R.denyList=[...P.ajax.deny_list||[],...P.ajax.block_internal?j:[]],R.ptid=e.agentIdentifier,(0,i.sU)(e.agentIdentifier,R),void 0===e.api&&(e.api=function(e,t){let f=arguments.length>2&&void 0!==arguments[2]&&arguments[2];t||(0,s.RP)(e,"api");const p={};var b=a.ee.get(e),A=b.get("tracer");y[e]=m.IK.OFF,b.on(g.Ef.REPLAY_RUNNING,(t=>{y[e]=t}));var w="api-",_=w+"ixn-";function E(t,r,n,o){const a=(0,i.C5)(e);return null===r?delete a.jsAttributes[t]:(0,i.CX)(e,{...a,jsAttributes:{...a.jsAttributes,[t]:r}}),S(w,n,!0,o||null===r?"session":void 0)(t,r)}function x(){}h.forEach((e=>{p[e]=S(w,e,!0,"api")})),p.addPageAction=S(w,"addPageAction",!0,n.D.pageAction),p.setPageViewName=function(t,r){if("string"==typeof t)return"/"!==t.charAt(0)&&(t="/"+t),(0,i.OP)(e).customTransaction=(r||"http://custom.transaction")+t,S(w,"setPageViewName",!0)()},p.setCustomAttribute=function(e,t){let r=arguments.length>2&&void 0!==arguments[2]&&arguments[2];if("string"==typeof e){if(["string","number","boolean"].includes(typeof t)||null===t)return E(e,t,"setCustomAttribute",r);(0,d.Z)("Failed to execute setCustomAttribute.\nNon-null value must be a string, number or boolean type, but a type of <".concat(typeof t,"> was provided."))}else(0,d.Z)("Failed to execute setCustomAttribute.\nName must be a string type, but a type of <".concat(typeof e,"> was provided."))},p.setUserId=function(e){if("string"==typeof e||null===e)return E("enduser.id",e,"setUserId",!0);(0,d.Z)("Failed to execute setUserId.\nNon-null value must be a string type, but a type of <".concat(typeof e,"> was provided."))},p.setApplicationVersion=function(e){if("string"==typeof e||null===e)return E("application.version",e,"setApplicationVersion",!1);(0,d.Z)("Failed to execute setApplicationVersion. Expected <String | null>, but got <".concat(typeof e,">."))},p.start=()=>{try{(0,o.p)(l.xS,["API/start/called"],void 0,n.D.metrics,b),b.emit("manual-start-all")}catch(e){(0,d.Z)("An unexpected issue occurred",e)}},p[g.Ef.RECORD]=function(){(0,o.p)(l.xS,["API/recordReplay/called"],void 0,n.D.metrics,b),(0,o.p)(g.Ef.RECORD,[],void 0,n.D.sessionReplay,b)},p[g.Ef.PAUSE]=function(){(0,o.p)(l.xS,["API/pauseReplay/called"],void 0,n.D.metrics,b),(0,o.p)(g.Ef.PAUSE,[],void 0,n.D.sessionReplay,b)},p.interaction=function(e){return(new x).get("object"==typeof e?e:{})};const D=x.prototype={createTracer:function(e,t){var r={},i=this,a="function"==typeof t;return(0,o.p)(l.xS,["API/createTracer/called"],void 0,n.D.metrics,b),f||(0,o.p)(_+"tracer",[(0,v.z)(),e,r],i,n.D.spa,b),function(){if(A.emit((a?"":"no-")+"fn-start",[(0,v.z)(),i,a],r),a)try{return t.apply(this,arguments)}catch(e){const t="string"==typeof e?new Error(e):e;throw A.emit("fn-err",[arguments,this,t],r),t}finally{A.emit("fn-end",[(0,v.z)()],r)}}}};function S(e,t,r,i){return function(){return(0,o.p)(l.xS,["API/"+t+"/called"],void 0,n.D.metrics,b),i&&(0,o.p)(e+t,[(0,v.z)(),...arguments],r?null:this,i,b),r?void 0:this}}function R(){r.e(75).then(r.bind(r,7438)).then((t=>{let{setAPI:r}=t;r(e),(0,s.LP)(e,"api")})).catch((e=>{(0,d.Z)("Downloading runtime APIs failed...",e),b.abort()}))}return["actionText","setName","setAttribute","save","ignore","onEnd","getContext","end","get"].forEach((e=>{D[e]=S(_,e,void 0,f?n.D.softNav:n.D.spa)})),p.setCurrentRouteName=f?S(_,"routeName",void 0,n.D.softNav):S(w,"routeName",!0,n.D.spa),p.noticeError=function(t,r){"string"==typeof t&&(t=new Error(t)),(0,o.p)(l.xS,["API/noticeError/called"],void 0,n.D.metrics,b),(0,o.p)("err",[t,(0,v.z)(),!1,r,!!y[e]],void 0,n.D.jserrors,b)},u.il?(0,c.b2)((()=>R()),!0):R(),p}(e.agentIdentifier,E,e.runSoftNavOverSpa)),void 0===e.exposed&&(e.exposed=k),_=!0}},8993:(e,t,r)=>{r.nc=(()=>{try{return document?.currentScript?.nonce}catch(e){}return""})()},3325:(e,t,r)=>{"use strict";r.d(t,{D:()=>n,p:()=>i});const n={ajax:"ajax",jserrors:"jserrors",metrics:"metrics",pageAction:"page_action",pageViewEvent:"page_view_event",pageViewTiming:"page_view_timing",sessionReplay:"session_replay",sessionTrace:"session_trace",softNav:"soft_navigations",spa:"spa"},i={[n.pageViewEvent]:1,[n.pageViewTiming]:2,[n.metrics]:3,[n.jserrors]:4,[n.ajax]:5,[n.sessionTrace]:6,[n.pageAction]:7,[n.spa]:8,[n.softNav]:9,[n.sessionReplay]:10}}},n={};function i(e){var t=n[e];if(void 0!==t)return t.exports;var o=n[e]={exports:{}};return r[e](o,o.exports,i),o.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=>"nr-rum-1.260.1.min.js",i.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),e={},t="NRBA-1.260.1.PROD:",i.l=(r,n,o,a)=>{if(e[r])e[r].push(n);else{var s,c;if(void 0!==o)for(var u=document.getElementsByTagName("script"),d=0;d<u.length;d++){var l=u[d];if(l.getAttribute("src")==r||l.getAttribute("data-webpack")==t+o){s=l;break}}if(!s){c=!0;var f={75:"sha512-WLWoh5UWJ/3XNXjYcJoBc8bSPHGDdu86FTMTgY1yxRTQeEmWWEBFFVPIfCRSbxd8K297eHg86RaJPD+UJxG1+w=="};(s=document.createElement("script")).charset="utf-8",s.timeout=120,i.nc&&s.setAttribute("nonce",i.nc),s.setAttribute("data-webpack",t+o),s.src=r,0!==s.src.indexOf(window.location.origin+"/")&&(s.crossOrigin="anonymous"),f[a]&&(s.integrity=f[a])}e[r]=[n];var g=(t,n)=>{s.onerror=s.onload=null,clearTimeout(p);var i=e[r];if(delete e[r],s.parentNode&&s.parentNode.removeChild(s),i&&i.forEach((e=>e(n))),t)return t(n)},p=setTimeout(g.bind(null,void 0,{type:"timeout",target:s}),12e4);s.onerror=g.bind(null,s.onerror),s.onload=g.bind(null,s.onload),c&&document.head.appendChild(s)}},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={50:0,832: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 o=new Promise(((r,i)=>n=e[t]=[r,i]));r.push(n[2]=o);var a=i.p+i.u(t),s=new Error;i.l(a,(r=>{if(i.o(e,t)&&(0!==(n=e[t])&&(e[t]=void 0),n)){var o=r&&("load"===r.type?"missing":r.type),a=r&&r.target&&r.target.src;s.message="Loading chunk "+t+" failed.\n("+o+": "+a+")",s.name="ChunkLoadError",s.type=o,s.request=a,n[1](s)}}),"chunk-"+t,t)}};var t=(t,r)=>{var n,o,[a,s,c]=r,u=0;if(a.some((t=>0!==e[t]))){for(n in s)i.o(s,n)&&(i.m[n]=s[n]);if(c)c(i)}for(t&&t(r);u<a.length;u++)o=a[u],i.o(e,o)&&e[o]&&e[o][0](),e[o]=0},r=self["webpackChunk:NRBA-1.260.1.PROD"]=self["webpackChunk:NRBA-1.260.1.PROD"]||[];r.forEach(t.bind(null,0)),r.push=t.bind(null,r.push.bind(r))})(),(()=>{"use strict";i(8993);var e=i(50),t=i(7144),r=i(4402),n=i(8325);class o{agentIdentifier;constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:(0,r.ky)(16);this.agentIdentifier=e,this.ee=n.ee.get(e)}#e(t){for(var r=arguments.length,n=new Array(r>1?r-1:0),i=1;i<r;i++)n[i-1]=arguments[i];if("function"==typeof this.api?.[t])return this.api[t](...n);(0,e.Z)("Call to agent api ".concat(t," failed. The API is not currently initialized."))}addPageAction(e,t){return this.#e("addPageAction",e,t)}setPageViewName(e,t){return this.#e("setPageViewName",e,t)}setCustomAttribute(e,t,r){return this.#e("setCustomAttribute",e,t,r)}noticeError(e,t){return this.#e("noticeError",e,t)}setUserId(e){return this.#e("setUserId",e)}setApplicationVersion(e){return this.#e("setApplicationVersion",e)}setErrorHandler(e){return this.#e("setErrorHandler",e)}finished(e){return this.#e("finished",e)}addRelease(e,t){return this.#e("addRelease",e,t)}start(e){return this.#e("start",e)}recordReplay(){return this.#e(t.Ef.RECORD)}pauseReplay(){return this.#e(t.Ef.PAUSE)}addToTrace(e){return this.#e("addToTrace",e)}setCurrentRouteName(e){return this.#e("setCurrentRouteName",e)}interaction(){return this.#e("interaction")}}var a=i(3325),s=i(234);const c=Object.values(a.D);function u(e){const t={};return c.forEach((r=>{t[r]=function(e,t){return!0===(0,s.Mt)(t,"".concat(e,".enabled"))}(r,e)})),t}var d=i(2758);var l=i(8e3),f=i(5938),g=i(3960),p=i(385);const h=e=>p.il&&!0===(0,s.Mt)(e,"privacy.cookies_enabled");function v(e){return!!s.Yu.MO&&h(e)&&!0===(0,s.Mt)(e,"session_trace.enabled")}var m=i(7872);class b extends f.W{constructor(e,t,r){let n=!(arguments.length>3&&void 0!==arguments[3])||arguments[3];super(e,t,r),this.auto=n,this.abortHandler=void 0,this.featAggregate=void 0,this.onAggregateImported=void 0,!1===(0,s.Mt)(this.agentIdentifier,"".concat(this.featureName,".autoStart"))&&(this.auto=!1),this.auto?(0,l.RP)(e,r):this.ee.on("manual-start-all",(0,m.Z)((()=>{(0,l.RP)(this.agentIdentifier,this.featureName),this.auto=!0,this.importAggregator()})))}importAggregator(){let t,r=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};if(this.featAggregate||!this.auto)return;this.onAggregateImported=new Promise((e=>{t=e}));const n=async()=>{let n;try{if(h(this.agentIdentifier)){const{setupAgentSession:e}=await i.e(75).then(i.bind(i,7920));n=e(this.agentIdentifier)}}catch(t){(0,e.Z)("A problem occurred when starting up session manager. This page will not start or extend any session.",t),this.featureName===a.D.sessionReplay&&this.abortHandler?.()}try{if(!this.#t(this.featureName,n))return(0,l.LP)(this.agentIdentifier,this.featureName),void t(!1);const{lazyFeatureLoader:e}=await i.e(75).then(i.bind(i,8582)),{Aggregate:o}=await e(this.featureName,"aggregate");this.featAggregate=new o(this.agentIdentifier,this.aggregator,r),t(!0)}catch(r){(0,e.Z)("Downloading and initializing ".concat(this.featureName," failed..."),r),this.abortHandler?.(),(0,l.LP)(this.agentIdentifier,this.featureName,!0),t(!1),this.ee&&this.ee.abort()}};p.il?(0,g.b2)((()=>n()),!0):n()}#t(e,t){return e!==a.D.sessionReplay||(r=this.agentIdentifier,n=t,!(!v(r)||!n?.isNew&&!n?.state.sessionReplayMode));var r,n}}var y=i(7633);class A extends b{static featureName=y.t;constructor(e,t){let r=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];super(e,t,y.t,r),this.importAggregator()}}var w=i(1117),_=i(1284);class E extends w.w{constructor(e){super(e),this.aggregatedData={}}store(e,t,r,n,i){var o=this.getBucket(e,t,r,i);return o.metrics=function(e,t){t||(t={count:0});return t.count+=1,(0,_.D)(e,(function(e,r){t[e]=x(r,t[e])})),t}(n,o.metrics),o}merge(e,t,r,n,i){var o=this.getBucket(e,t,n,i);if(o.metrics){var a=o.metrics;a.count+=r.count,(0,_.D)(r,(function(e,t){if("count"!==e){var n=a[e],i=r[e];i&&!i.c?a[e]=x(i.t,n):a[e]=function(e,t){if(!t)return e;t.c||(t=D(t.t));return t.min=Math.min(e.min,t.min),t.max=Math.max(e.max,t.max),t.t+=e.t,t.sos+=e.sos,t.c+=e.c,t}(i,a[e])}}))}else o.metrics=r}storeMetric(e,t,r,n){var i=this.getBucket(e,t,r);return i.stats=x(n,i.stats),i}getBucket(e,t,r,n){this.aggregatedData[e]||(this.aggregatedData[e]={});var i=this.aggregatedData[e][t];return i||(i=this.aggregatedData[e][t]={params:r||{}},n&&(i.custom=n)),i}get(e,t){return t?this.aggregatedData[e]&&this.aggregatedData[e][t]:this.aggregatedData[e]}take(e){for(var t={},r="",n=!1,i=0;i<e.length;i++)t[r=e[i]]=Object.values(this.aggregatedData[r]||{}),t[r].length&&(n=!0),delete this.aggregatedData[r];return n?t:null}}function x(e,t){return null==e?function(e){e?e.c++:e={c:1};return e}(t):t?(t.c||(t=D(t.t)),t.c+=1,t.t+=e,t.sos+=e*e,e>t.max&&(t.max=e),e<t.min&&(t.min=e),t):{t:e}}function D(e){return{t:e,min:e,max:e,sos:e*e,c:1}}var S=i(8632),R=i(4351);var k=i(5546),N=i(7956),P=i(3239),j=i(9251),T=i(7894);class I extends b{static featureName=j.t;constructor(e,t){let r=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];super(e,t,j.t,r),p.il&&((0,N.N)((()=>(0,k.p)("docHidden",[(0,T.z)()],void 0,j.t,this.ee)),!0),(0,P.bP)("pagehide",(()=>(0,k.p)("winPagehide",[(0,T.z)()],void 0,j.t,this.ee))),this.importAggregator())}}var O=i(3081);class M extends b{static featureName=O.t9;constructor(e,t){let r=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];super(e,t,O.t9,r),this.importAggregator()}}new class extends o{constructor(t,r){super(r),p._A?(this.sharedAggregator=new E({agentIdentifier:this.agentIdentifier}),this.features={},(0,S.h5)(this.agentIdentifier,this),this.desiredFeatures=new Set(t.features||[]),this.desiredFeatures.add(A),this.runSoftNavOverSpa=[...this.desiredFeatures].some((e=>e.featureName===a.D.softNav)),(0,d.j)(this,t,t.loaderType||"agent"),this.run()):(0,e.Z)("Failed to initialize the agent. Could not determine the runtime environment.")}get config(){return{info:this.info,init:this.init,loader_config:this.loader_config,runtime:this.runtime}}run(){try{const t=u(this.agentIdentifier),r=[...this.desiredFeatures];r.sort(((e,t)=>a.p[e.featureName]-a.p[t.featureName])),r.forEach((r=>{if(!t[r.featureName]&&r.featureName!==a.D.pageViewEvent)return;if(this.runSoftNavOverSpa&&r.featureName===a.D.spa)return;if(!this.runSoftNavOverSpa&&r.featureName===a.D.softNav)return;const n=function(e){switch(e){case a.D.ajax:return[a.D.jserrors];case a.D.sessionTrace:return[a.D.ajax,a.D.pageViewEvent];case a.D.sessionReplay:return[a.D.sessionTrace];case a.D.pageViewTiming:return[a.D.pageViewEvent];default:return[]}}(r.featureName);n.every((e=>e in this.features))||(0,e.Z)("".concat(r.featureName," is enabled but one or more dependent features has not been initialized (").concat((0,R.P)(n),"). This may cause unintended consequences or missing data...")),this.features[r.featureName]=new r(this.agentIdentifier,this.sharedAggregator)}))}catch(t){(0,e.Z)("Failed to initialize all enabled instrument classes (agent aborted) -",t);for(const e in this.features)this.features[e].abortHandler?.();const r=(0,S.fP)();delete r.initializedAgents[this.agentIdentifier]?.api,delete r.initializedAgents[this.agentIdentifier]?.features,delete this.sharedAggregator;return r.ee.get(this.agentIdentifier).abort(),!1}}}({features:[A,I,M],loaderType:"lite"})})()})();</script>
  <link rel="shortcut icon" href="https://granicus.com/favicon.ico" />

  <link rel="alternate" href="https://granicus.com" hreflang="en-us" />
  <link rel="alternate" href="https://granicus.uk" hreflang="en-gb" />
  <link rel="alternate" href="https://granicus.com.au" hreflang="en-au" />

  <meta name="viewport" content="width=device-width, maximum-scale=1.0" />
  <meta name="facebook-domain-verification" content="ta2r8epj844msb1mu9kgt89t97ck0b" />

  <title>OpenCities Government Websites | Granicus</title>

  
<!-- This site is optimized with the Yoast SEO Premium plugin v12.7.1 - https://yoast.com/wordpress/plugins/seo/ -->
<meta name="description" content="Government websites made easy. Transform your residents digital experience with a website that easily evolves to meet the changing needs of your community. "/>
<meta name="robots" content="max-snippet:-1, max-image-preview:large, max-video-preview:-1"/>
<link rel="canonical" href="https://granicus.com/solution/govaccess/opencities/" />
<meta property="og:locale" content="en_US" />
<meta property="og:type" content="article" />
<meta property="og:title" content="OpenCities Government Websites | Granicus" />
<meta property="og:description" content="Government websites made easy. Transform your residents digital experience with a website that easily evolves to meet the changing needs of your community. " />
<meta property="og:url" content="https://granicus.com/solution/govaccess/opencities/" />
<meta property="og:site_name" content="Granicus" />
<meta property="article:publisher" content="https://www.facebook.com/granicusco" />
<meta property="og:image" content="https://granicus.com/wp-content/uploads/image/jpeg/Open-Cities-Header.jpg" />
<meta property="og:image:secure_url" content="https://granicus.com/wp-content/uploads/image/jpeg/Open-Cities-Header.jpg" />
<meta property="og:image:width" content="1500" />
<meta property="og:image:height" content="663" />
<meta name="twitter:card" content="summary_large_image" />
<meta name="twitter:description" content="Government websites made easy. Transform your residents digital experience with a website that easily evolves to meet the changing needs of your community. " />
<meta name="twitter:title" content="OpenCities Government Websites | Granicus" />
<meta name="twitter:site" content="@Granicus" />
<meta name="twitter:image" content="https://granicus.com/wp-content/uploads/image/jpeg/Open-Cities-Header.jpg" />
<meta name="twitter:creator" content="@Granicus" />
<script type='application/ld+json' class='yoast-schema-graph yoast-schema-graph--main'>{"@context":"https://schema.org","@graph":[{"@type":"Organization","@id":"https://granicus.com/#organization","name":"Granicus","url":"https://granicus.com/","sameAs":["https://www.facebook.com/granicusco","https://www.linkedin.com/company/granicusinc/","https://twitter.com/Granicus"],"logo":{"@type":"ImageObject","@id":"https://granicus.com/#logo","url":"https://granicus.com/wp-content/uploads/image/jpeg/granicus-logo.jpg","width":1200,"height":652,"caption":"Granicus"},"image":{"@id":"https://granicus.com/#logo"}},{"@type":"WebSite","@id":"https://granicus.com/#website","url":"https://granicus.com/","name":"Granicus","publisher":{"@id":"https://granicus.com/#organization"},"potentialAction":{"@type":"SearchAction","target":"https://granicus.com/?s={search_term_string}","query-input":"required name=search_term_string"}},{"@type":"WebPage","@id":"https://granicus.com/solution/govaccess/opencities/#webpage","url":"https://granicus.com/solution/govaccess/opencities/","inLanguage":"en-US","name":"OpenCities Government Websites | Granicus","isPartOf":{"@id":"https://granicus.com/#website"},"datePublished":"2022-04-13T03:40:31+00:00","dateModified":"2022-10-19T22:42:55+00:00","description":"Government websites made easy. Transform your residents digital experience with a website that easily evolves to meet the changing needs of your community.\u202f"}]}</script>
<!-- / Yoast SEO Premium plugin. -->

<link rel='stylesheet' id='dashicons-css'  href='https://granicus.com/wp-includes/css/dashicons.min.css?ver=5.6.2' type='text/css' media='all' />
<link rel='stylesheet' id='elusive-css'  href='https://granicus.com/wp-content/plugins/menu-icons/vendor/codeinwp/icon-picker/css/types/elusive.min.css?ver=2.0' type='text/css' media='all' />
<link rel='stylesheet' id='font-awesome-css'  href='https://granicus.com/wp-content/plugins/menu-icons/vendor/codeinwp/icon-picker/css/types/font-awesome.min.css?ver=4.7.0' type='text/css' media='all' />
<link rel='stylesheet' id='foundation-icons-css'  href='https://granicus.com/wp-content/plugins/menu-icons/vendor/codeinwp/icon-picker/css/types/foundation-icons.min.css?ver=3.0' type='text/css' media='all' />
<link rel='stylesheet' id='genericons-css'  href='https://granicus.com/wp-content/plugins/menu-icons/vendor/codeinwp/icon-picker/css/types/genericons.min.css?ver=3.4' type='text/css' media='all' />
<link rel='stylesheet' id='menu-icons-extra-css'  href='https://granicus.com/wp-content/plugins/menu-icons/css/extra.min.css?ver=0.12.5' type='text/css' media='all' />
<link rel='stylesheet' id='wp-block-library-css'  href='https://granicus.com/wp-includes/css/dist/block-library/style.min.css?ver=5.6.2' type='text/css' media='all' />
<link rel='stylesheet' id='slick-style-css'  href='https://granicus.com/wp-content/themes/granicus/stylesheets/vendor/slick.css?ver=1716733563' type='text/css' media='all' />
<link rel='stylesheet' id='typekit-fonts-css'  href='https://use.typekit.net/njw6deg.css?ver=5.6.2' type='text/css' media='all' />
<link rel='stylesheet' id='master-style-css'  href='https://granicus.com/wp-content/themes/granicus/stylesheets/compiled/master.css?ver=1716733563' type='text/css' media='all' />
<link rel='stylesheet' id='updated-style-css'  href='https://granicus.com/wp-content/themes/granicus/stylesheets/compiled/updated-styles.css?ver=1716733563' type='text/css' media='all' />
<script type='text/javascript' src='https://granicus.com/wp-includes/js/jquery/jquery.min.js?ver=3.5.1' id='jquery-core-js'></script>
<script type='text/javascript' src='https://granicus.com/wp-includes/js/jquery/jquery-migrate.min.js?ver=3.3.2' id='jquery-migrate-js'></script>
<script type='text/javascript' src='https://granicus.com/wp-content/themes/granicus/js/vendor/slick.min.js?ver=1716733563' id='slick-script-js'></script>
<script type='text/javascript' src='https://granicus.com/wp-content/themes/granicus/js/vendor/marketo-cookies.js?ver=1716733563' id='marketo-cookies-js'></script>
<script type='text/javascript' src='https://granicus.com/wp-content/themes/granicus/js/vendor/scroll-intent.jquery.min.js?ver=1716733563' id='scroll-intent-js'></script>
<script type='text/javascript' id='ajax-filter-load-more-js-extra'>
/* <![CDATA[ */
var ajaxfilterloadmore = {"ajaxurl":"https:\/\/granicus.com\/wp-admin\/admin-ajax.php"};
/* ]]> */
</script>
<script type='text/javascript' src='https://granicus.com/wp-content/themes/granicus/js/vendor/ajax-filter-load-more.js?ver=1716733563' id='ajax-filter-load-more-js'></script>
<script type='text/javascript' src='https://granicus.com/wp-content/themes/granicus/js/global.js?ver=1716733563' id='global-script-js'></script>
<script type='text/javascript' src='https://granicus.com/wp-content/themes/granicus/js/updated-scripts.js?ver=1716733563' id='updated-script-js'></script>
<script type='text/javascript' src='//platform-api.sharethis.com/js/sharethis.js?ver=5.6.2#property=5b58a880f5aa6d001130cf20&#038;product=inline-share-buttons' async='async' id='sharethis-script-js'></script>
<link rel="https://api.w.org/" href="https://granicus.com/wp-json/" /><link rel="alternate" type="application/json+oembed" href="https://granicus.com/wp-json/oembed/1.0/embed?url=https%3A%2F%2Fgranicus.com%2Fsolution%2Fgovaccess%2Fopencities%2F" />
<link rel="alternate" type="text/xml+oembed" href="https://granicus.com/wp-json/oembed/1.0/embed?url=https%3A%2F%2Fgranicus.com%2Fsolution%2Fgovaccess%2Fopencities%2F&#038;format=xml" />
<link rel="icon" href="https://granicus.com/wp-content/uploads/image/png/cropped-logo-mark-32x32.png" sizes="32x32" />
<link rel="icon" href="https://granicus.com/wp-content/uploads/image/png/cropped-logo-mark-192x192.png" sizes="192x192" />
<link rel="apple-touch-icon" href="https://granicus.com/wp-content/uploads/image/png/cropped-logo-mark-180x180.png" />
<meta name="msapplication-TileImage" content="https://granicus.com/wp-content/uploads/image/png/cropped-logo-mark-270x270.png" />
		<style type="text/css" id="wp-custom-css">
			#consent_blackbar {
	position:fixed;
	bottom:0px;
	z-index:999;
}		</style>
		
  <!-- 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-T6B6G34');</script>
	 <!-- End Google Tag Manager -->


</head>

	<body class="solution-template-default single single-solution postid-36726">

<div id="main-site-container">

	<!-- Google Tag Manager (noscript) -->
	<noscript><iframe src="https://www.googletagmanager.com/ns.html?id=GTM-T6B6G34" height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript>
	<!-- End Google Tag Manager (noscript) -->

  <div class="radial"></div>
  <div class="radial"></div>
  <div class="radial"></div>

  <header class="global">


	  

	 <nav class="utility ">
		<div class="wave">
		  <img src="https://granicus.com/wp-content/uploads/image/svg+xml/footer_wave_fff.svg" alt="" />
		</div>

					<ul id="menu-utility-menu" class="menu"><li id="menu-item-39307" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-39307"><a href="https://granicus.com/careers/">Careers</a></li>
<li id="menu-item-39830" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-39830"><a href="https://support.granicus.com/s/">Support</a></li>
<li id="menu-item-55" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-55"><a href="https://granicus.com/login/">Login</a></li>
<li id="menu-item-28434" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-28434"><a href="https://status.granicus.com/">Status</a></li>
<li id="menu-item-33947" class="image-only dropdown menu-item menu-item-type-custom menu-item-object-custom menu-item-has-children menu-item-33947"><a href="#"><img width="100" height="100" src="https://granicus.com/wp-content/uploads/image/png/US-Flag-Icon.png" class="_mi _before _image" alt="US Flag Icon" loading="lazy" aria-hidden="true" /><span>Granicus US</span></a>
<ul class="sub-menu">
	<li id="menu-item-24545" class="image-only menu-item menu-item-type-custom menu-item-object-custom menu-item-24545"><a href="https://granicus.uk/"><img width="120" height="120" src="https://granicus.com/wp-content/uploads/image/png/UK-Flag-Icon.png" class="_mi _before _image" alt="UK Flag Icon" loading="lazy" aria-hidden="true" /><span>Granicus UK</span></a></li>
	<li id="menu-item-37020" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-37020"><a href="https://www.granicus.com.au/"><img src="https://granicus.com/wp-content/uploads/image/svg+xml/australia_flag.svg" class="_mi _before _image" alt="" loading="lazy" aria-hidden="true" height="512" width="512" /><span>Granicus Australia</span></a></li>
	<li id="menu-item-33780" class="image-only menu-item menu-item-type-post_type menu-item-object-page menu-item-33780"><a href="https://granicus.com/india/"><img width="106" height="107" src="https://granicus.com/wp-content/uploads/image/png/2-1.png" class="_mi _before _image" alt="India Flag Icon" loading="lazy" aria-hidden="true" /><span>Granicus India</span></a></li>
</ul>
</li>
</ul>		
	 </nav>
	 <div class="container">
		<a href="/" class="logo">
		  <img src="https://granicus.com/wp-content/uploads/2018/07/logo.svg" alt="Granicus logo" />		</a>

		<a href="#" id="mobile-nav-toggle">
		  <span></span>
		  <span></span>
		  <span></span>
		  <span></span>
		  <span></span>
		  <span></span>
		</a>

		<nav class="primary">
		  <ul id="menu-main-menu" class="menu"><li id="menu-item-34643" class="trigger-platform-menu menu-item menu-item-type-post_type menu-item-object-page menu-item-34643"><a href="https://granicus.com/?page_id=34600">Platform</a></li>
<li id="menu-item-34644" class="trigger-markets-menu menu-item menu-item-type-custom menu-item-object-custom menu-item-34644"><a href="#">Markets</a></li>
<li id="menu-item-34646" class="trigger-learn-menu menu-item menu-item-type-custom menu-item-object-custom menu-item-34646"><a href="#">Learn</a></li>
<li id="menu-item-31651" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-31651"><a href="https://granicus.com/success-stories/">Success Stories</a></li>
<li id="menu-item-31653" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-31653"><a href="https://granicus.com/see-it-live/">Schedule a Demo</a></li>
</ul>
		  <ul id="menu-mobile-menu" class="menu"><li id="menu-item-34716" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-has-children menu-item-34716"><a href="#">Platform</a>
<ul class="sub-menu">
	<li id="menu-item-34689" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-34689"><a href="https://granicus.com/?page_id=34600">Overview</a></li>
	<li id="menu-item-34693" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-34693"><a href="https://granicus.com/solution/govaccess/">Website &#038; CMS</a></li>
	<li id="menu-item-34691" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-34691"><a href="https://granicus.com/solution/govservice/">Digital Forms &#038; Services</a></li>
	<li id="menu-item-34694" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-34694"><a href="https://granicus.com/solution/govdelivery/">Digital Communications</a></li>
	<li id="menu-item-34690" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-34690"><a href="https://granicus.com/solution/govmeetings/">Agenda &#038; Meeting Management</a></li>
	<li id="menu-item-34692" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-34692"><a href="https://granicus.com/solution/govrecords/">Records Management</a></li>
</ul>
</li>
<li id="menu-item-34928" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-has-children menu-item-34928"><a href="#">Use Cases</a>
<ul class="sub-menu">
	<li id="menu-item-34931" class="menu-item menu-item-type-post_type menu-item-object-use-cases menu-item-34931"><a href="https://granicus.com/govservice/311-request-management/">311 Request Management</a></li>
	<li id="menu-item-34930" class="menu-item menu-item-type-post_type menu-item-object-solution menu-item-34930"><a href="https://granicus.com/solution/govmeetings/boardsandcommissions/">Boards &#038; Commissions Management</a></li>
	<li id="menu-item-34929" class="menu-item menu-item-type-post_type menu-item-object-solution menu-item-34929"><a href="https://granicus.com/solution/govservice/host-compliance/">Short-Term Rental Compliance</a></li>
	<li id="menu-item-37752" class="menu-item menu-item-type-post_type menu-item-object-solution menu-item-37752"><a href="https://granicus.com/solution/govdelivery/engagementhq/">Community Engagement</a></li>
	<li id="menu-item-34932" class="menu-item menu-item-type-post_type menu-item-object-use-cases menu-item-34932"><a href="https://granicus.com/govservice/permitting/">Permitting Applications</a></li>
	<li id="menu-item-34933" class="menu-item menu-item-type-post_type menu-item-object-use-cases menu-item-34933"><a href="https://granicus.com/govservice/customer-service-hub/">Customer Service Hub</a></li>
	<li id="menu-item-37751" class="menu-item menu-item-type-post_type menu-item-object-solution menu-item-37751"><a href="https://granicus.com/solution/govservice/govqa/">FOIA (GovQA)</a></li>
</ul>
</li>
<li id="menu-item-34684" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-has-children menu-item-34684"><a href="#">Markets</a>
<ul class="sub-menu">
	<li id="menu-item-34685" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-34685"><a href="https://granicus.com/government/local/">Local</a></li>
	<li id="menu-item-34686" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-34686"><a href="https://granicus.com/government/state/">State</a></li>
	<li id="menu-item-34687" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-34687"><a href="https://granicus.com/government/federal/">Federal</a></li>
	<li id="menu-item-34688" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-34688"><a href="https://granicus.uk/">United Kingdom</a></li>
</ul>
</li>
<li id="menu-item-34672" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-34672"><a href="https://granicus.com/success-stories/">Success Stories</a></li>
<li id="menu-item-34673" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-34673"><a href="https://granicus.com/learning-center/">Learning Center</a></li>
<li id="menu-item-56" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-56"><a href="https://granicus.com/see-it-live/">Get Started</a></li>
</ul>

		  
		</nav>
				<div id="new-menu-container">
	<div class="centered">
		<div id="new-menu-platform">
	<div class="left">
		<h6>Platform Solutions</h6>

		<div class="menulinks">
			
						<div>
															<a href="https://granicus.com/solution/govmeetings/">
									<strong>Agenda & Meeting Management</strong>
									<p class="">
										Agenda and public meeting automation									</p>
								</a>
													</div>

					
						<div>
															<a href="https://granicus.com/solution/govaccess/">
									<strong>Website & CMS</strong>
									<p class="">
										Custom, user-friendly website for government									</p>
								</a>
													</div>

					
						<div>
															<a href="https://granicus.com/solution/govservice/">
									<strong>Digital Forms & Services</strong>
									<p class="">
										Smart online forms, workflows, and easy request fulfillment									</p>
								</a>
													</div>

					
						<div>
															<a href="https://granicus.com/solution/govdelivery/">
									<strong>Digital Communications</strong>
									<p class="">
										Email, text, and social communications to reach your whole community									</p>
								</a>
													</div>

					
						<div>
															<a href="https://granicus.com/solution/govrecords/">
									<strong>Records Management</strong>
									<p class="">
										Digital storage of public information 									</p>
								</a>
													</div>

							</div>

					<a class="button" href="https://granicus.com/solution/government-experience-cloud/">
				Explore the Government Experience Cloud <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 12.875 12.875"><defs><style>.arrow-fill {fill: none;stroke: #fff;stroke-width: 3px;}</style></defs><g id="Group_2" data-name="Group 2" transform="translate(0 1.06)"><g id="Group_1" data-name="Group 1" transform="translate(0 0)"><path id="Path_12" data-name="Path 12" class="arrow-fill" d="M1024,4801.755l5.377-5.377L1024,4791" transform="translate(-1018.623 -4791)"/><path id="Path_13" data-name="Path 13" class="arrow-fill" d="M1018.755,4807H1008" transform="translate(-1008 -4801.623)"/></g></g></svg>
			</a>
		
	</div>

	<div class="right">
		<div class="left">
			<h6>Services and Support</h6>

			
						<div>
															<a href="https://granicus.com/experience-group/">
									<strong>Digital Agency & Consulting Services</strong>
									<p class="">
										Let Granicus help you build better resident experiences									</p>
								</a>
													</div>

					
						<div>
															<a href="https://granicus.com/service/implementation/">
									<strong>Implementation</strong>
									<p class="">
										Leverage our team of experts for best practice sharing, guidance, and training options									</p>
								</a>
													</div>

					
						<div>
															<a href="/service/customer-support/">
									<strong>Customer Support</strong>
									<p class="hidden">
																			</p>
								</a>
													</div>

							</div>
		<div class="right">
			<h6>Use Cases</h6>

			
						<div>
															<p class="">
									See how governments are using the Granicus Civic Engagement Platform to improve the delivery of information and services to their residents								</p>
													</div>

					
						<div>
															<a href="https://granicus.com/solution/govmeetings/boardsandcommissions/">
									<strong>Boards & Commissions Management</strong>
									<p class="hidden">
																			</p>
								</a>
													</div>

					
						<div>
															<a href="https://granicus.com/solution/govservice/host-compliance/">
									<strong>Short-Term Rental Compliance</strong>
									<p class="hidden">
																			</p>
								</a>
													</div>

					
						<div>
															<a href="https://granicus.com/solution/govaccess/opencities-intranet/">
									<strong>Employee Intranet</strong>
									<p class="hidden">
																			</p>
								</a>
													</div>

					
						<div>
															<a href="https://granicus.com/solution/govdelivery/engagementhq/">
									<strong>Community Engagement</strong>
									<p class="hidden">
																			</p>
								</a>
													</div>

					
						<div>
															<a href="https://granicus.com/solution/govservice/oneview/">
									<strong>Service Request Management</strong>
									<p class="hidden">
																			</p>
								</a>
													</div>

					
						<div>
															<a href="https://granicus.com/govservice/permitting/">
									<strong>Permitting Applications</strong>
									<p class="hidden">
																			</p>
								</a>
													</div>

					
						<div>
															<a href="https://granicus.com/solution/govservice/govqa/">
									<strong>FOIA (GovQA)</strong>
									<p class="hidden">
																			</p>
								</a>
													</div>

							</div>
	</div>
</div>
		<div id="new-menu-markets">

	<h6>Versatile Solutions for Governments</h6>
	<p>Granicus solutions are purpose-built for government agencies of all sizes.</p>

	<div class="markets-menu-loop">
					<div>
					<div class="bg-image" style="background-image: url('https://granicus.com/wp-content/uploads/image/jpeg/HP_Local.jpg');"></div>
					<a href="https://granicus.com/government/local/">
						<h5>Local</h5>
						<h6>Learn More <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 12.875 12.875"><defs><style>.arrow-fill {fill: none;stroke: #fff;stroke-width: 3px;}</style></defs><g id="Group_2" data-name="Group 2" transform="translate(0 1.06)"><g id="Group_1" data-name="Group 1" transform="translate(0 0)"><path id="Path_12" data-name="Path 12" class="arrow-fill" d="M1024,4801.755l5.377-5.377L1024,4791" transform="translate(-1018.623 -4791)"/><path id="Path_13" data-name="Path 13" class="arrow-fill" d="M1018.755,4807H1008" transform="translate(-1008 -4801.623)"/></g></g></svg></h6>
					</a>
				</div>

							<div>
					<div class="bg-image" style="background-image: url('https://granicus.com/wp-content/uploads/image/jpeg/HP_State.jpg');"></div>
					<a href="https://granicus.com/government/state/">
						<h5>State</h5>
						<h6>Learn More <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 12.875 12.875"><defs><style>.arrow-fill {fill: none;stroke: #fff;stroke-width: 3px;}</style></defs><g id="Group_2" data-name="Group 2" transform="translate(0 1.06)"><g id="Group_1" data-name="Group 1" transform="translate(0 0)"><path id="Path_12" data-name="Path 12" class="arrow-fill" d="M1024,4801.755l5.377-5.377L1024,4791" transform="translate(-1018.623 -4791)"/><path id="Path_13" data-name="Path 13" class="arrow-fill" d="M1018.755,4807H1008" transform="translate(-1008 -4801.623)"/></g></g></svg></h6>
					</a>
				</div>

							<div>
					<div class="bg-image" style="background-image: url('https://granicus.com/wp-content/uploads/image/jpeg/HP_Federal.jpg');"></div>
					<a href="https://granicus.com/government/federal/">
						<h5>Federal</h5>
						<h6>Learn More <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 12.875 12.875"><defs><style>.arrow-fill {fill: none;stroke: #fff;stroke-width: 3px;}</style></defs><g id="Group_2" data-name="Group 2" transform="translate(0 1.06)"><g id="Group_1" data-name="Group 1" transform="translate(0 0)"><path id="Path_12" data-name="Path 12" class="arrow-fill" d="M1024,4801.755l5.377-5.377L1024,4791" transform="translate(-1018.623 -4791)"/><path id="Path_13" data-name="Path 13" class="arrow-fill" d="M1018.755,4807H1008" transform="translate(-1008 -4801.623)"/></g></g></svg></h6>
					</a>
				</div>

							<div>
					<div class="bg-image" style="background-image: url('https://granicus.com/wp-content/uploads/image/jpeg/HP_Education.jpg');"></div>
					<a href="https://granicus.com/market/education/">
						<h5>Education</h5>
						<h6>Learn More <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 12.875 12.875"><defs><style>.arrow-fill {fill: none;stroke: #fff;stroke-width: 3px;}</style></defs><g id="Group_2" data-name="Group 2" transform="translate(0 1.06)"><g id="Group_1" data-name="Group 1" transform="translate(0 0)"><path id="Path_12" data-name="Path 12" class="arrow-fill" d="M1024,4801.755l5.377-5.377L1024,4791" transform="translate(-1018.623 -4791)"/><path id="Path_13" data-name="Path 13" class="arrow-fill" d="M1018.755,4807H1008" transform="translate(-1008 -4801.623)"/></g></g></svg></h6>
					</a>
				</div>

							<div>
					<div class="bg-image" style="background-image: url('https://granicus.com/wp-content/uploads/image/jpeg/London-UK.jpg');"></div>
					<a href="https://granicus.uk/">
						<h5>United Kingdom</h5>
						<h6>Learn More <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 12.875 12.875"><defs><style>.arrow-fill {fill: none;stroke: #fff;stroke-width: 3px;}</style></defs><g id="Group_2" data-name="Group 2" transform="translate(0 1.06)"><g id="Group_1" data-name="Group 1" transform="translate(0 0)"><path id="Path_12" data-name="Path 12" class="arrow-fill" d="M1024,4801.755l5.377-5.377L1024,4791" transform="translate(-1018.623 -4791)"/><path id="Path_13" data-name="Path 13" class="arrow-fill" d="M1018.755,4807H1008" transform="translate(-1008 -4801.623)"/></g></g></svg></h6>
					</a>
				</div>

				</div>

</div>
		<div id="new-menu-learn">

	<div class="left">

		

					<img src="https://granicus.com/wp-content/uploads/image/png/GXG-logo-dark.png">
		
					<p>Empowering government to build better resident and employee experiences and get more value out of their civic engagement technology.</p>
		
					<a class="button" href="https://granicus.com/experience-group/">
				Learn More <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 12.875 12.875"><defs><style>.arrow-fill {fill: none;stroke: #fff;stroke-width: 3px;}</style></defs><g id="Group_2" data-name="Group 2" transform="translate(0 1.06)"><g id="Group_1" data-name="Group 1" transform="translate(0 0)"><path id="Path_12" data-name="Path 12" class="arrow-fill" d="M1024,4801.755l5.377-5.377L1024,4791" transform="translate(-1018.623 -4791)"/><path id="Path_13" data-name="Path 13" class="arrow-fill" d="M1018.755,4807H1008" transform="translate(-1008 -4801.623)"/></g></g></svg>
			</a>
		
	</div>

	<div class="right">
		<div class="left">
			<h6>Resources</h6>

			
					<div>
						<a href="https://granicus.com/learning-center/">
							<strong>Library</strong>
						</a>
					</div>

					
					<div>
						<a href="https://granicus.com/blog/">
							<strong>Blog</strong>
						</a>
					</div>

					
					<div>
						<a href="https://granicus.com/success-stories/">
							<strong>Success Stories</strong>
						</a>
					</div>

					
					<div>
						<a href="https://granicus.com/covid-19-solution-center/">
							<strong>COVID-19 Response</strong>
						</a>
					</div>

					
					<div>
						<a href="https://granicus.com/american-rescue-plan/">
							<strong>American Rescue Plan</strong>
						</a>
					</div>

							</div>
		<div class="right">
			<h6>Connect</h6>

			
						<div>
							<a href="https://granicus.com/virtual-events/">
								<strong>Events</strong>
							</a>
						</div>

					
						<div>
							<a href="https://granicus.com/company/">
								<strong>About</strong>
							</a>
						</div>

					
						<div>
							<a href="https://granicus.com/service/implementation/">
								<strong>Implementation</strong>
							</a>
						</div>

					
						<div>
							<a href="https://granicus.com/support/">
								<strong>Support</strong>
							</a>
						</div>

					
						<div>
							<a href="https://support.granicus.com/customersupport/s/granicus-community">
								<strong>govCommunity</strong>
							</a>
						</div>

					
						<div>
							<a href="https://granicus.com/careers/">
								<strong>Careers</strong>
							</a>
						</div>

							</div>
	</div>
</div>
	</div>
</div>

	 </div>
  </header>


    
  
  
	 		
<header class="page">
  <div class="swoosh"></div>
  <div class="hero_background-image" style="background-image: url(https://granicus.com/wp-content/uploads/image/jpeg/Open-Cities-Header.jpg)"></div>
  
  <div class="container">
    <span class="product">
      <a href="https://granicus.com/solution/govaccess/">govAccess</a>
    </span>
    

    <h1 class="short"><strong>OpenCities </strong></h1>

          <p class="short">Transform the digital experience by launching a modern website that easily evolves to meet the changing needs of your community. </p>
        
              <a href="#solution-cta" class="button btn">See It Live</a>
        
  </div>
  <div class="wave"></div>
</header>

<section id="intro" class="child-page">
  <div class="container">
    <div class="intro_background-image" style="background-image: url(https://granicus.com/wp-content/uploads/image/jpeg/Logos-OpenCities-2.jpg)"></div>
    <header class="section short">
      <h2>Helping governments serve better </h2>
      <p>Is your organization ready to meet residents’ evolving needs and expectations? OpenCities empowers local governments of all sizes to provide efficient digital interactions. With innovative, engaging, and easy-to-use website tools, OpenCities is helping governments serve better — from the launch of a website well into the future.</p>
    </header>
  </div>
</section>

  <section id="feature-columns">
    <div class="container">
      <header class="section">
                  <div class="left">
            <h2>Modernize your website </h2>
          </div>
          
          <div class="right">
            <p>Provide an unmatched user experience by simplifying government information and effectively connecting residents to the content they need.</p>
          </div>
              </header>
      
      <div class="feature_list">
                  <div class="feature">
                          <img src="https://granicus.com/wp-content/uploads/image/svg+xml/noun-connect-3279844-EF6A57.svg" class="feature_image" />
                        
            <div class="content">
                            <p>Connect people to information and services without needing to understand complex government structure or language.</p>
            </div>
          </div>
                  <div class="feature">
                          <img src="https://granicus.com/wp-content/uploads/image/svg+xml/noun-analysis-1624059-EF6A57.svg" class="feature_image" />
                        
            <div class="content">
                            <p>Use website visitor data and insights to discover and spotlight user “top tasks” and highlight related information.</p>
            </div>
          </div>
                  <div class="feature">
                          <img src="https://granicus.com/wp-content/uploads/image/svg+xml/noun-government-4579792-EF6A57.svg" class="feature_image" />
                        
            <div class="content">
                            <p>Benefit from a purpose-built for government search engine that simplifies government terms and finds the information users are seeking. </p>
            </div>
          </div>
                  <div class="feature">
                          <img src="https://granicus.com/wp-content/uploads/image/svg+xml/noun-paint-4747929-EF6A57.svg" class="feature_image" />
                        
            <div class="content">
                            <p>Empower organization-wide content creation with a low-code/no-code platform that includes flexible design, as well as content templates and tools. </p>
            </div>
          </div>
              </div>
    </div>
  </section>


  <section id="casestudies">
    <div class="container">
      <header class="section">
                  <h2>Trusted by 170+ government agencies</h2>
          <p>Serving more than 15 million people. Hear how OpenCities is empowering governments across the globe. </p>

              </header>
    </div>
    
               
      <div class="post-tiles">
        <div class="track single-row quotes">
                                  <div class="tile quote">
              <div class="content">
                
                <p>“We are building the website for our community — a digital City Hall that serves those who live, work, and play here on their terms, on any device, on any browser, at any time. If the website does not work for our community, it simply does not work.”</p>
              </div>
              
              <div class="source">
                <div class="image"><img src="https://granicus.com/wp-content/uploads/image/png/Grand-Rapids-logo.png" alt="Rosalynn Bliss, Mayor, Grand Rapids, MI " /></div><span class="name">Rosalynn Bliss, Mayor, Grand Rapids, MI </span>              </div>
              
                          </div>
                                  <div class="tile quote">
              <div class="content">
                
                <p>“We knew that we weren’t looking for just any government-hosted solution, so when we saw OpenCities, we were impressed by their built-for-government platform. They...showed us how easy it is to create an enhanced user experience within the OpenCities platform.”</p>
              </div>
              
              <div class="source">
                <div class="image"><img src="https://granicus.com/wp-content/uploads/image/png/Oro-Valley-logo.png" alt="Misti Nowak, Communications Administrator, Oro Valley, AZ" /></div><span class="name">Misti Nowak, Communications Administrator, Oro Valley, AZ</span>              </div>
              
                          </div>
                                  <div class="tile quote">
              <div class="content">
                
                <p>“When we focused on creating a high-level user experience, it removed the barriers to entry and access for all of our users. We started to understand that when we built better online experiences using the features in OpenCities, we covered everything, including accessibility."</p>
              </div>
              
              <div class="source">
                <div class="image"><img src="https://granicus.com/wp-content/uploads/image/png/Broken-Hill-Logo.png" alt="Jade Symes, Digital and Marketing Officer, Broken Hill City Council, NSW, Australia " /></div><span class="name">Jade Symes, Digital and Marketing Officer, Broken Hill City Council, NSW, Australia </span>              </div>
              
                          </div>
                                  <div class="tile quote">
              <div class="content">
                
                <p>“We knew we wanted to provide a better user experience for our residents, but in order to do that we needed a platform that was also a better user experience for our staff. The second we started creating content with OpenCities we knew it was so much more intuitive.” </p>
              </div>
              
              <div class="source">
                <div class="image"><img src="https://granicus.com/wp-content/uploads/image/png/Cheyenne-logo.png" alt="TJ Barttelbort  Purchasing Manager, Cheyenne, WY" /></div><span class="name">TJ Barttelbort  Purchasing Manager, Cheyenne, WY</span>              </div>
              
                          </div>
                  </div>
        
        <div class="controls">
          <button class="scroll left" />
          <button class="scroll right" />
        </div>
      </div>
      </section>

  <section id="benefits">
    <div class="container">
      <header class="section">
        <h2>Benefits of OpenCities</h2>
      </header>
      
      <nav class="benefits_nav">
                  <a href="#tab-1" class="nav-item">Efficient website implementation </a>
                  <a href="#tab-2" class="nav-item">Continuous improvement </a>
                  <a href="#tab-3" class="nav-item">Best-in-class security  </a>
              </nav>
      
      <div class="benefits_tabs">
                  <div class="benefits_tab" id="tab-1">
            <p>With a simple, population-based subscription model and minimal website set-up time, OpenCities empowers local governments of all sizes to provide efficient digital customer experiences.  </p>
            
                        <img src="https://granicus.com/wp-content/uploads/image/jpeg/OpenCities-website-Build.jpg" alt="alt" />            
          </div>
                  <div class="benefits_tab" id="tab-2">
            <p>OpenCities provides tools that allow customers to easily monitor website efficacy and ease of use. Enable page level feedback to allow user comments, include value questions on forms, or launch surveys to gather broader website data — all of which can help identify opportunities for improvement. </p>
            
                        <img src="https://granicus.com/wp-content/uploads/image/png/Artboard-1_3.png" alt="alt" />            
          </div>
                  <div class="benefits_tab" id="tab-3">
            <p>Our security expands well beyond a reputable datacenter. Because Granicus works with all levels of government, including federal, our security benchmarks are extremely high. Security experts, supported with best-in-class security measures, guide platform development, support our customers, and ensure that your data remains protected and secure.</p>
            
                        <img src="https://granicus.com/wp-content/uploads/image/jpeg/OpenCity-Security-sml.jpg" alt="alt" />            
          </div>
              </nav>
    </div>
  </section>

  <section id="video">
    <div class="container">
              <h2>Redesign the way you do business</h2>
            
      <div class="video_container">
        <script src="https://fast.wistia.com/embed/medias/0l3cmd989q.jsonp" async></script><script src="https://fast.wistia.com/assets/external/E-v1.js" async></script><div class="wistia_responsive_padding" style="padding:56.25% 0 0 0;position:relative;"><div class="wistia_responsive_wrapper" style="height:100%;left:0;position:absolute;top:0;width:100%;"><div class="wistia_embed wistia_async_0l3cmd989q videoFoam=true" style="height:100%;position:relative;width:100%"><div class="wistia_swatch" style="height:100%;left:0;opacity:0;overflow:hidden;position:absolute;top:0;transition:opacity 200ms;width:100%;"><img src="https://fast.wistia.com/embed/medias/0l3cmd989q/swatch" style="filter:blur(5px);height:100%;object-fit:contain;width:100%;" alt="" aria-hidden="true" onload="this.parentNode.style.opacity=1;" /></div></div></div></div>      </div>
      
          </div>
  </section>

  <section id="tiles-section">
    <div class="container">
      <header class="section">
                  <h2>Transform your residents’ user experience</h2>
          <p>Guided by robust data and analytics, OpenCities has created powerful content and design tools that let you serve residents like never before.</p>
              </header>
      
      <div class="solution-tiles">
                            
          <div class="solution-tile background--orange type--text size--half">      
                        
            <div class="content">
              <h3>Create a “digital front door” to government</h3>
                              <p>Use a simple and proven design process to launch a beautiful and functional website that works for all residents, both now and in the future. </p>
                          </div>
          </div>
                            
          <div class="solution-tile background--orange type--image size--half">      
            <div style="background-image: url(https://granicus.com/wp-content/uploads/image/jpeg/OpenCities-Solution-Tile-website-Digital-Front-Door.jpg);" class="tile_bg"></div>            
            <div class="content">
              <h3></h3>
                              <p> </p>
                          </div>
          </div>
                            
          <div class="solution-tile background--white type--text size--half">      
                        
            <div class="content">
              <h3>Maximize content effectiveness</h3>
                              <p>Support digital self-service and reduce walk-in traffic and calls via intuitive and user-friendly website tools and templates that help residents find what they are looking for the first time. </p>
                          </div>
          </div>
                            
          <div class="solution-tile background--orange type--text size--half">      
                        
            <div class="content">
              <h3>Update the website homepage layout and page themes </h3>
                              <p>Respond to user interests and expectation changes, without the need to conduct a full website redesign.</p>
                          </div>
          </div>
                            
          <div class="solution-tile background--orange type--image size--half">      
            <div style="background-image: url(https://granicus.com/wp-content/uploads/image/jpeg/OpenCities-Solution-Tile-organization-Content-Creation.jpg);" class="tile_bg"></div>            
            <div class="content">
              <h3></h3>
                              <p> </p>
                          </div>
          </div>
                            
          <div class="solution-tile background--white type--text size--half">      
                        
            <div class="content">
              <h3>Empower organizational-wide content creation </h3>
                              <p>With a low-code/no-code platform that includes flexible design and content templates, employees across departments can easily curate and publish content, while ensuring a consistent brand and voice with custom approval processes. </p>
                          </div>
          </div>
                            
          <div class="solution-tile background--white type--text size--half">      
                        
            <div class="content">
              <h3>Deliver data-driven, resident-focused experiences </h3>
                              <p>Utilize robust website analytics to inform design and content updates and enhancements.</p>
                          </div>
          </div>
                            
          <div class="solution-tile background--orange type--text size--half">      
                        
            <div class="content">
              <h3>Benefit from ongoing product enhancements </h3>
                              <p>Access ongoing research, design and security enhancements, as well as innovative platform upgrades, such as the OpenCities/EHQ Connector.</p>
                          </div>
          </div>
              </nav>
    </div>
  </section>

  <section id="solution-cta">
    <div class="container">
      <div class="form_content">
                  <h2 class="title">Learn More</h2> 
          <p>Are you ready to modernize your website and improve the user experience?<br />
Sign up for an OpenCities demo today!</p>
              </div>
      
      <img class="wave" src="/wp-content/themes/granicus/images/footer_wave_fff.svg"/>
      
      <div class="form">
                  
        <script src="//app-ab21.marketo.com/js/forms2/js/forms2.min.js"></script>
        <form id="mktoForm_9997"></form>
        <script>
          MktoForms2.loadForm("//app-ab21.marketo.com", "231-DWB-776", 9997);
          MktoForms2.whenReady(function(form) {
            var formEl = form.getFormElem()[0],newwin; 
            
            form.onSubmit(function(form) {
              //newwin = window.open("");
            });
            
            form.onSuccess(function(vals, followUpUrl) {
             //newwin.document.location = followUpUrl;
             return false;
            })
          ;});
          
          // Replace the form with a success message before redirecting
          MktoForms2.whenReady(function (form){
          
             form.onSuccess(function(values, followUpUrl){
              form.getFormElem().hide();
              document.getElementById('form-confirmation-message').style.display = 'block';
            });
          });
          
          /* Strips Marketo Styles
          MktoForms2.whenRendered(function(form) {
            destyleMktoForm(form);
          });
          */
        </script>
        
        <div id="form-confirmation-message">
          <h3>Thank you for your submission.</h3>
          <p>We will be in touch shortly.</p>
        </div>
  
      </div>
    </div>
  </section>
	 
  
  
  <footer class="global">
	 <div class="container">
		<nav class="footer">
		  <ul id="menu-footer-navigation" class="menu"><li id="menu-item-70" class="column menu-item menu-item-type-custom menu-item-object-custom menu-item-has-children menu-item-70"><a href="#">Dictionary Pages</a>
<ul class="sub-menu">
	<li id="menu-item-27616" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-27616"><a href="https://granicus.com/citizen-engagement/">Citizen Engagement</a></li>
	<li id="menu-item-28148" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-28148"><a href="https://granicus.com/civic-engagement/">Civic Engagement</a></li>
	<li id="menu-item-27617" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-27617"><a href="https://granicus.com/community-engagement/">Community Engagement</a></li>
	<li id="menu-item-27619" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-27619"><a href="https://granicus.com/digital-communications/">Digital Communications</a></li>
	<li id="menu-item-27618" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-27618"><a href="https://granicus.com/digital-government/">Digital Government</a></li>
	<li id="menu-item-29050" class="menu-item menu-item-type-post_type menu-item-object-dictionary_term menu-item-29050"><a href="https://granicus.com/dictionary/digital-government-services/">Digital Government Services</a></li>
	<li id="menu-item-27622" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-27622"><a href="https://granicus.com/government-cms/">Government CMS</a></li>
	<li id="menu-item-27621" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-27621"><a href="https://granicus.com/government-transparency/">Government Transparency</a></li>
	<li id="menu-item-39955" class="menu-item menu-item-type-post_type menu-item-object-dictionary_term menu-item-39955"><a href="https://granicus.com/government-website-design/">Government Website Design</a></li>
	<li id="menu-item-39956" class="menu-item menu-item-type-post_type menu-item-object-dictionary_term menu-item-39956"><a href="https://granicus.com/legislative-management/">Legislative Management</a></li>
	<li id="menu-item-31263" class="menu-item menu-item-type-post_type menu-item-object-dictionary_term menu-item-31263"><a href="https://granicus.com/dictionary/short-term-vacation-rental-compliance/">Short-Term Vacation Rental Compliance</a></li>
</ul>
</li>
<li id="menu-item-71" class="column menu-item menu-item-type-custom menu-item-object-custom menu-item-has-children menu-item-71"><a href="#">Explore</a>
<ul class="sub-menu">
	<li id="menu-item-62" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-62"><a href="https://granicus.com/company/">Company</a></li>
	<li id="menu-item-63" class="menu-item menu-item-type-post_type menu-item-object-page current_page_parent menu-item-63"><a href="https://granicus.com/blog/">Blog</a></li>
	<li id="menu-item-22934" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-22934"><a href="https://granicus.com/careers/">Careers</a></li>
	<li id="menu-item-61" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-61"><a href="https://granicus.com/learning-center/">Learning Center</a></li>
	<li id="menu-item-22935" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-22935"><a href="https://granicus.com/news-press/">News &#038; Press</a></li>
	<li id="menu-item-60" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-60"><a href="https://granicus.com/success-stories/">Success Stories</a></li>
</ul>
</li>
<li id="menu-item-72" class="column menu-item menu-item-type-custom menu-item-object-custom menu-item-has-children menu-item-72"><a href="#">Connect</a>
<ul class="sub-menu">
	<li id="menu-item-25403" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-25403"><a href="https://granicus.com/login/">Login</a></li>
	<li id="menu-item-65" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-65"><a href="https://granicus.com/support/">Support</a></li>
	<li id="menu-item-35166" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-35166"><a href="https://support.granicus.com/customersupport/s/granicus-community">govCommunity</a></li>
	<li id="menu-item-33783" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-33783"><a href="https://granicus.uk">Granicus UK</a></li>
	<li id="menu-item-37021" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-37021"><a href="https://www.granicus.com.au/">Granicus Australia</a></li>
	<li id="menu-item-33782" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-33782"><a href="https://granicus.com/india/">Granicus India</a></li>
	<li id="menu-item-64" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-64"><a href="https://granicus.com/contact-us/">Contact Us</a></li>
</ul>
</li>
</ul>		</nav>

		<nav class="social">
		  <a href="/" class="logo">
			 <img src="https://granicus.com/wp-content/uploads/2018/07/logo.svg" alt="Granicus logo" />		  </a>

		  <ul id="menu-social-nav" class="menu"><li id="menu-item-77" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-77"><a href="https://twitter.com/Granicus"><i class="_mi fa fa-twitter-square" aria-hidden="true" style="font-size:1.75em;"></i><span class="visuallyhidden">Twitter</span></a></li>
<li id="menu-item-78" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-78"><a href="https://www.linkedin.com/company/granicusinc/"><i class="_mi fa fa-linkedin-square" aria-hidden="true" style="font-size:1.75em;"></i><span class="visuallyhidden">LinkedIn</span></a></li>
<li id="menu-item-79" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-79"><a href="https://www.facebook.com/granicusco"><i class="_mi fa fa-facebook-square" aria-hidden="true" style="font-size:1.75em;"></i><span class="visuallyhidden">Facebook</span></a></li>
<li id="menu-item-80" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-80"><a href="tel:1-800-314-0147">1-800-314-0147 (US)</a></li>
</ul>
		  		</nav>

		 <nav class="footer-utility">
		  <ul id="menu-footer-utility" class="menu"><li id="menu-item-800" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-800"><a href="https://granicus.com/terms-of-use/">Terms of Use</a></li>
<li id="menu-item-26134" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-privacy-policy menu-item-26134"><a href="https://granicus.com/privacy-policy/">Privacy Policy</a></li>
<li id="menu-item-40027" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-40027"><a href="https://granicus.com/us-privacy-notices/">Privacy Notice &#8211; US Residents</a></li>
<li id="menu-item-802" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-802"><a href="https://granicus.com/support/">Support</a></li>
<li id="menu-item-30747" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-30747"><a href="https://granicus.com/how-to-report-security-vulnerabilities/">How to Report Security Vulnerabilities</a></li>
<li id="menu-item-38339" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-38339"><a href="https://granicus.com/anti-slavery-and-human-trafficking-statement/">Slavery and Human Trafficking Statement</a></li>
</ul>		  <div id="teconsent"></div>
		</nav>

	 </div>

	 <div id="consent_blackbar"></div><div id="teconsent"></div><script async="async" src="https://consent.trustarc.com/notice?domain=granicus2.com&c=teconsent&js=nj&noticeType=bb&text=true&gtm=1" crossorigin></script>
	 </div>

  </footer>


  <script type='text/javascript' src='https://granicus.com/wp-includes/js/wp-embed.min.js?ver=5.6.2' id='wp-embed-js'></script>
  <!-- This site is converting visitors into subscribers and customers with OptinMonster - https://optinmonster.com-->
  <!-- <script type="text/javascript" src="https://a.optmnstr.com/app/js/api.min.js" data-account="4761" data-user="8261" async></script> -->
  <!-- / OptinMonster -->






</div>
<script type="text/javascript">window.NREUM||(NREUM={});NREUM.info={"beacon":"bam.nr-data.net","licenseKey":"ca501bbaf9","applicationID":"199882814","transactionName":"bgdaYkZYD0dWBxZaCVdNeVVAUA5aGBcLXQFVBxVFW1UUQF4LDA==","queueTime":0,"applicationTime":1198,"atts":"QkBZFA5CHEk=","errorBeacon":"bam.nr-data.net","agent":""}</script></body>
</html>
