\n"}a+="\n"}else a+='\n\n';r(null,a)}catch(e){r(o.handleError(e,0,0))}}}}var q=c((function(e,n){e.exports=function(){function e(n){return e="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},e(n)}function n(e,n){if(!(e instanceof n))throw new TypeError("Cannot call a class as a function")}function t(e,n){for(var t=0;te.length)&&(n=e.length);for(var t=0,o=new Array(n);t2&&void 0!==arguments[2]?arguments[2]:{},o=Object.assign({},t);if(A(o),o.ucJsonParam){var r=encodeURIComponent(JSON.stringify(o.ucJsonParam));n=n+(n.indexOf("?")>-1?"&":"?")+"json="+r}o.credentials||(o.credentials="same-origin");var a=I({levelsToSkip:2});return e(n,o).then((function(e){return S(e,{callStack:a,url:n})})).then((function(e){return C(e,o)})).then(_)}function A(n){-1!==(n.headers.get("Content-Type")||"").indexOf("application/json")&&n.body&&"object"===e(n.body)&&(n.body=JSON.stringify(n.body))}var E=function(e){r(a,e);var t=v(a);function a(){return n(this,a),t.apply(this,arguments)}return o(a)}(l(Error));function I(e){var n=e.levelsToSkip,t=void 0===n?0:n,o=f(((new Error).stack||"").split("\n")),r=o[0];o[1];var a=o.slice(2);return[r].concat(h(a.slice(t))).join("\n")}function S(e,n){var t=e.status;if(t>=200&&t<300)return e;var o=new E;throw o.message="Fetch failed (".concat(e.status," ").concat(e.statusText,")"),o.stack=n.callStack,o.resource={url:n.url},o.type=t+"",o.response=e,o}function C(e,n){var t=e.headers.get("Content-Type"),o=!0===n.doNotParseJson;return-1===(t||"").indexOf("application/json")||o?Promise.resolve(e):e.json()}function _(e){return e.response?e.response:e}function j(n,t){var o=n.headers;if(n.headers instanceof t||(o=new t,n.headers&&Object.keys(n.headers).forEach((function(e){var t=n.headers[e];o.set(e,"string"==typeof t?t:""+t)})),n.headers=o),"undefined"!=typeof location){var r=location.toString().split("?")[0];n.headers.set("x-uc-referer",r)}var a=(n.method||"GET").toUpperCase();o.has("Content-Type")?"undefined"===o.get("Content-Type")&&o.delete("Content-Type"):"POST"!==a&&"PUT"!==a&&"PATCH"!==a||!n.body||"object"!==e(n.body)||o.set("Content-Type","application/json"),"string"==typeof n.ucResponseFilter&&""!==n.ucResponseFilter&&o.set("X-Compass-Response-Filter",n.ucResponseFilter.replace(/\n+/gm," ").replace(/\s{2,}/g," "))}function F(e,n){n.forEach((function(n){e[n]=function(t,o){return e(t,Object.assign(o||{},{method:n}))}}))}function T(e,n){n.forEach((function(n){e[n]=function(t,o,r){return e(t,Object.assign(r||{},{method:n,body:o}))}}))}/*! * cookie * Copyright(c) 2012-2014 Roman Shtylman * Copyright(c) 2015 Douglas Christopher Wilson * MIT Licensed */var P=B,M=decodeURIComponent;function B(e,n){if("string"!=typeof e)throw new TypeError("argument str must be a string");for(var t={},o=n||{},r=e.split(";"),a=o.decode||M,c=0;c0&&void 0!==arguments[0]?arguments[0]:{},n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"",t=Object.assign({},e);delete t.host,delete t["content-length"],delete t["content-type"];var o=P(n),r=o.ajs_anonymous_id,a=o.authentication_token;if(r){var c=decodeURIComponent(r).replace(/"/g,"");"null"!==c&&(t["X-Anonymous-Id"]=c)}return a&&(t.Authorization="Bearer ".concat(a)),t}function V(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return n.headers=D(n.headers,document.cookie),j(n,window.Headers),e=new URL(e,n.baseURL||window.location.origin).href,O(window.fetch,e,n)}return F(V,["get","delete","head"]),T(V,["post","put","patch"]),V}()})),G="client_home_root_v2",K="web_homepage_new_dev_menu",J=[{featureKey:G},{featureKey:K}];var $={items:[{label:"Buy",agentUrl:"/search/sales",nonAgentUrl:"/homes-for-sale/",isActive:["/search/sales","/search/buy","/homes-for-sale/"]},{label:"Rent",agentUrl:"/search/rentals",nonAgentUrl:"/for-rent/",isActive:["/search/rentals","/search/rent","/for-rent/"]},{label:"Sell",globalUrl:"/sell/"},{label:"Compass Exclusives",children:[{label:"Private Exclusives",globalUrl:"/private-exclusives/"},{label:"Coming Soon",agentUrl:"/search/sales/{{geoId}}/?exclusives=1&saleStatuses=12",nonAgentUrl:"/coming-soon/listings/"},{label:"Compass Listings",agentUrl:"/search/sales/{{geoId}}/?exclusives=y&saleStatuses=9,12",nonAgentUrl:"/compass-listings/"}]},{label:"New Development",opty:[{key:K,value:!1}],hideIfBranded:!0,globalUrl:"/development/"},{label:"New Development",opty:[{key:K,value:!0}],hideIfBranded:!0,children:[{label:"Current Developments",globalUrl:"/development/"},{label:"Compass Development Marketing Group",globalUrl:"https://www.compassdevelopmentmg.com/",targetBlank:!0}]},{label:"Find an Agent",hideIfNonAgent:!0,globalUrl:"/agents/",isActive:[" "]},{label:"Agents",hideIfa*gent:!0,hideIfBranded:!0,children:[{label:"Find an Agent",globalUrl:"/agents/"},{label:"Join as an Agent",globalUrl:"//agents.compass.com/"}]}],brandingDropdownTitle:"My Agent",agentPlatformUrl:"/app/home/",homepageUrl:"/",accountSettingsMenu:{label:"Account",children:[{label:"Settings",url:"/account/"},{label:"Notifications",url:"/app/settings/notifications/"}],roleSpecificChildren:[{label:"Photo Portal",url:"/photo-portal/",role:"isPhotographer"}]},userMenu:[{label:"Go To",opty:[{key:G,value:!1}],children:[{label:"Collections",globalUrl:"/app/collection"},{label:"Saved Searches",globalUrl:"/workspace/#/saved-searches"},{label:"Saved Buildings",globalUrl:"/workspace/#/saved-buildings"}]},{label:"My Compass",globalUrl:"/overview/",opty:[{key:G,value:!0}]}]};var Y=function(e,n){return Y=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,n){e.__proto__=n}||function(e,n){for(var t in n)Object.prototype.hasOwnProperty.call(n,t)&&(e[t]=n[t])},Y(e,n)};function X(e,n){if("function"!=typeof n&&null!==n)throw new TypeError("Class extends value "+String(n)+" is not a constructor or null");function t(){this.constructor=e}Y(e,n),e.prototype=null===n?Object.create(n):(t.prototype=n.prototype,new t)}var Q=function(){return Q=Object.assign||function(e){for(var n,t=1,o=arguments.length;t=0;i--)(r=e[i])&&(c=(a<3?r(c):a>3?r(n,t,c):r(n,t))||c);return a>3&&c&&Object.defineProperty(n,t,c),c}function te(e,n){return function(t,o){n(t,o,e)}}function oe(e,n){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,n)}function re(e,n,t,o){return new(t||(t=Promise))((function(r,a){function c(e){try{s(o.next(e))}catch(e){a(e)}}function i(e){try{s(o.throw(e))}catch(e){a(e)}}function s(e){var n;e.done?r(e.value):(n=e.value,n instanceof t?n:new t((function(e){e(n)}))).then(c,i)}s((o=o.apply(e,n||[])).next())}))}function ae(e,n){var t,o,r,a,c={label:0,sent:function(){if(1&r[0])throw r[1];return r[1]},trys:[],ops:[]};return a={next:i(0),throw:i(1),return:i(2)},"function"==typeof Symbol&&(a[Symbol.iterator]=function(){return this}),a;function i(i){return function(s){return function(i){if(t)throw new TypeError("Generator is already executing.");for(;a&&(a=0,i[0]&&(c=0)),c;)try{if(t=1,o&&(r=2&i[0]?o.return:i[0]?o.throw||((r=o.return)&&r.call(o),0):o.next)&&!(r=r.call(o,i[1])).done)return r;switch(o=0,r&&(i=[2&i[0],r.value]),i[0]){case 0:case 1:r=i;break;case 4:return c.label++,{value:i[1],done:!1};case 5:c.label++,o=i[1],i=[0];continue;case 7:i=c.ops.pop(),c.trys.pop();continue;default:if(!(r=c.trys,(r=r.length>0&&r[r.length-1])||6!==i[0]&&2!==i[0])){c=0;continue}if(3===i[0]&&(!r||i[1]>r[0]&&i[1]=e.length&&(e=void 0),{value:e&&e[o++],done:!e}}};throw new TypeError(n?"Object is not iterable.":"Symbol.iterator is not defined.")}function ue(e,n){var t="function"==typeof Symbol&&e[Symbol.iterator];if(!t)return e;var o,r,a=t.call(e),c=[];try{for(;(void 0===n||n-- >0)&&!(o=a.next()).done;)c.push(o.value)}catch(e){r={error:e}}finally{try{o&&!o.done&&(t=a.return)&&t.call(a)}finally{if(r)throw r.error}}return c}function le(){for(var e=[],n=0;n1||i(e,n)}))})}function i(e,n){try{(t=r[e](n)).value instanceof ve?Promise.resolve(t.value.v).then(s,u):l(a[0][2],t)}catch(e){l(a[0][3],e)}var t}function s(e){i("next",e)}function u(e){i("throw",e)}function l(e,n){e(n),a.shift(),a.length&&i(a[0][0],a[0][1])}}function he(e){var n,t;return n={},o("next"),o("throw",(function(e){throw e})),o("return"),n[Symbol.iterator]=function(){return this},n;function o(o,r){n[o]=e[o]?function(n){return(t=!t)?{value:ve(e[o](n)),done:!1}:r?r(n):n}:r}}function me(e){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var n,t=e[Symbol.asyncIterator];return t?t.call(e):(e=se(e),n={},o("next"),o("throw"),o("return"),n[Symbol.asyncIterator]=function(){return this},n);function o(t){n[t]=e[t]&&function(n){return new Promise((function(o,r){(function(e,n,t,o){Promise.resolve(o).then((function(n){e({value:n,done:t})}),n)})(o,r,(n=e[t](n)).done,n.value)}))}}}function ge(e,n){return Object.defineProperty?Object.defineProperty(e,"raw",{value:n}):e.raw=n,e}var be=Object.create?function(e,n){Object.defineProperty(e,"default",{enumerable:!0,value:n})}:function(e,n){e.default=n};function xe(e){if(e&&e.__esModule)return e;var n={};if(null!=e)for(var t in e)"default"!==t&&Object.prototype.hasOwnProperty.call(e,t)&&ce(n,e,t);return be(n,e),n}function ye(e){return e&&e.__esModule?e:{default:e}}function we(e,n,t,o){if("a"===t&&!o)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof n?e!==n||!o:!n.has(e))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===t?o:"a"===t?o.call(e):o?o.value:n.get(e)}function Ne(e,n,t,o,r){if("m"===o)throw new TypeError("Private method is not writable");if("a"===o&&!r)throw new TypeError("Private accessor was defined without a setter");if("function"==typeof n?e!==n||!r:!n.has(e))throw new TypeError("Cannot write private member to an object whose class did not declare it");return"a"===o?r.call(e,t):r?r.value=t:n.set(e,t),t}function ke(e,n){if(null===n||"object"!=typeof n&&"function"!=typeof n)throw new TypeError("Cannot use 'in' operator on non-object");return"function"==typeof e?n===e:e.has(n)}function Le(e,n,t){if(null!=n){if("object"!=typeof n&&"function"!=typeof n)throw new TypeError("Object expected.");var o;if(t){if(!Symbol.asyncDispose)throw new TypeError("Symbol.asyncDispose is not defined.");o=n[Symbol.asyncDispose]}if(void 0===o){if(!Symbol.dispose)throw new TypeError("Symbol.dispose is not defined.");o=n[Symbol.dispose]}if("function"!=typeof o)throw new TypeError("Object not disposable.");e.stack.push({value:n,dispose:o,async:t})}else t&&e.stack.push({async:!0});return n}var Oe="function"==typeof SuppressedError?SuppressedError:function(e,n,t){var o=new Error(t);return o.name="SuppressedError",o.error=e,o.suppressed=n,o};function Ae(e){function n(n){e.error=e.hasError?new Oe(n,e.error,"An error was suppressed during disposal."):n,e.hasError=!0}return function t(){for(;e.stack.length;){var o=e.stack.pop();try{var r=o.dispose&&o.dispose.call(o.value);if(o.async)return Promise.resolve(r).then(t,(function(e){return n(e),t()}))}catch(e){n(e)}}if(e.hasError)throw e.error}()}var Ee={__extends:X,__assign:Q,__rest:ee,__decorate:ne,__param:te,__metadata:oe,__awaiter:re,__generator:ae,__createBinding:ce,__exportStar:ie,__values:se,__read:ue,__spread:le,__spreadArrays:pe,__spreadArray:de,__await:ve,__asyncGenerator:fe,__asyncDelegator:he,__asyncValues:me,__makeTemplateObject:ge,__importStar:xe,__importDefault:ye,__classPrivateFieldGet:we,__classPrivateFieldSet:Ne,__classPrivateFieldIn:ke,__addDisposableResource:Le,__disposeResources:Ae},Ie=Object.freeze({__proto__:null,__extends:X,get __assign(){return Q},__rest:ee,__decorate:ne,__param:te,__esDecorate:function(e,n,t,o,r,a){function c(e){if(void 0!==e&&"function"!=typeof e)throw new TypeError("Function expected");return e}for(var i,s=o.kind,u="getter"===s?"get":"setter"===s?"set":"value",l=!n&&e?o.static?e:e.prototype:null,p=n||(l?Object.getOwnPropertyDescriptor(l,o.name):{}),d=!1,v=t.length-1;v>=0;v--){var f={};for(var h in o)f[h]="access"===h?{}:o[h];for(var h in o.access)f.access[h]=o.access[h];f.addInitializer=function(e){if(d)throw new TypeError("Cannot add initializers after decoration has completed");a.push(c(e||null))};var m=(0,t[v])("accessor"===s?{get:p.get,set:p.set}:p[u],f);if("accessor"===s){if(void 0===m)continue;if(null===m||"object"!=typeof m)throw new TypeError("Object expected");(i=c(m.get))&&(p.get=i),(i=c(m.set))&&(p.set=i),(i=c(m.init))&&r.unshift(i)}else(i=c(m))&&("field"===s?r.unshift(i):p[u]=i)}l&&Object.defineProperty(l,o.name,p),d=!0},__runInitializers:function(e,n,t){for(var o=arguments.length>2,r=0;r=s)break;if(d=s)break;if(d",d=f+2,f++;break}l+=o(n[p]),d=f+2,f++;break;case 115:if(p>=s)break;d-1&&(a=!1);"function"==typeof t&&(t.error=t.fatal=t.warn=t.info=t.debug=t.trace=t),!1===e.enabled&&(e.level="silent");var c=e.level||"info",i=Object.create(t);i.log||(i.log=ze),Object.defineProperty(i,"levelVal",{get:function(){return"silent"===this.level?1/0:this.levels.values[this.level]}}),Object.defineProperty(i,"level",{get:function(){return this._level},set:function(e){if("silent"!==e&&!this.levels.values[e])throw Error("unknown level "+e);this._level=e,Pe(s,i,"error","log"),Pe(s,i,"fatal","error"),Pe(s,i,"warn","error"),Pe(s,i,"info","log"),Pe(s,i,"debug","log"),Pe(s,i,"trace","log")}});var s={transmit:n,serialize:r,asObject:e.browser.asObject,levels:["error","fatal","warn","info","debug","trace"]};return i.levels=Te.levels,i.level=c,i.setMaxListeners=i.getMaxListeners=i.emit=i.addListener=i.on=i.prependListener=i.once=i.prependOnceListener=i.removeListener=i.removeAllListeners=i.listeners=i.listenerCount=i.eventNames=i.write=i.flush=ze,i.serializers=o,i._serialize=r,i._stdErrSerialize=a,i.child=function(t){if(!t)throw new Error("missing bindings for child Pino");var a=t.serializers;if(r&&a){var c=Object.assign({},o,a),i=!0===e.browser.serialize?Object.keys(c):r;delete t.serializers,Me([t],i,c,this._stdErrSerialize)}function s(e){this._childLevel=1+(0|e._childLevel),this.error=Be(e,t,"error"),this.fatal=Be(e,t,"fatal"),this.warn=Be(e,t,"warn"),this.info=Be(e,t,"info"),this.debug=Be(e,t,"debug"),this.trace=Be(e,t,"trace"),c&&(this.serializers=c,this._serialize=i),n&&(this._logEvent=Re([].concat(e._logEvent.bindings,t)))}return s.prototype=this,new s(this)},n&&(i._logEvent=Re()),i}function Pe(e,n,t,o){var r=Object.getPrototypeOf(n);n[t]=n.levelVal>n.levels.values[t]?ze:r[t]?r[t]:je[t]||je[o]||ze,function(e,n,t){if(!e.transmit&&n[t]===ze)return;n[t]=(o=n[t],function(){for(var r=Date.now(),a=new Array(arguments.length),c=Object.getPrototypeOf&&Object.getPrototypeOf(this)===je?je:this,i=0;i-1&&a in t&&(e[r][a]=t[a](e[r][a]))}function Be(e,n,t){return function(){var o=new Array(1+arguments.length);o[0]=n;for(var r=1;r0&&void 0!==arguments[0]?arguments[0]:{},n=e.duration,t=void 0===n?Je:n,o=e.message;o&&en(o);var r=document.getElementById("corp-nav-toast-container");r&&r.classList.remove("is-hidden"),0!==t&&setTimeout((function(){return function(){var e=document.getElementById("corp-nav-toast-container");e&&e.classList.add("is-hidden")}()}),t)}function tn(e){var n=window.uc&&window.uc.agentRelations&&window.uc.agentRelations.brandingAgentOrTeam&&window.uc.agentRelations.brandingAgentOrTeam.displayName;try{window.localStorage.setItem($e,e),window.localStorage.setItem(Ye,n)}catch(e){Xe.error(e)}}function on(){var e,n;document.body.appendChild(function(){var e=document.createElement("div");e.id="corp-nav-toast-container",e.classList.add("cx-toast","cx-toast--fixed","is-hidden");var n=document.createElement("div");n.classList.add("cx-toast-content");var t=document.createElement("div");return t.id="toast-message",t.classList.add("cx-toast-message"),e.appendChild(n),n.appendChild(t),e}()),window.uc||(window.uc={}),window.uc.showToast=nn,window.uc.queueToast=tn;try{e=window.localStorage.getItem($e),n=window.localStorage.getItem(Ye),e===Qe.DISCONNECT_AGENT_SUCCESS&&(en(n?"You are no longer connected to ".concat(n):"You are no longer connected to your agent"),nn(),window.localStorage.removeItem($e),window.localStorage.removeItem(Ye))}catch(e){Xe.error(e)}}var rn="/ucfe-assets/search-typeahead-components/20/location-lookup.esm.js",an="/ucfe-assets/agents-for-client-common-ui/1/afcCommonUi.esm.js",cn=Ke(),sn=!1,un=null;function ln(e){"loading"!==document.readyState?function(){on(),void function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:window,n=e&&e.uc&&e.uc.events&&e.uc.events.authentication;return n||(n=new p,e.uc.events?e.uc.events.authentication=n:e.uc?e.uc.events={authentication:n}:e.uc={events:{authentication:n}}),n}().on("authenticated",(function(e){!function(e){window.nunjucksPrecompiled||Z();var n=R(e,$);document.querySelector(".uc-corpNav-userMenu").innerHTML=s.render("userMenu.njk",n),document.querySelector(".uc-corpNav-userMenu--mobile").innerHTML=s.render("mobileUserMenu.njk",n)}({userId:e.personId||e.id||e._id,userDisplayName:e.displayName,userRoles:e.roles||e.userProfile&&e.userProfile.roles||[]}),gn()})),n=xn(".uc-corpNav-drawer"),void yn(".uc-corpNav-loginBtn").forEach((function(e){e.addEventListener("click",(function(){n.classList.contains("is-active")&&n.classList.remove("is-active");var e=window.uc&&window.uc.agentRelations&&window.uc.agentRelations.brandingAgentOrTeam;A("modal--authentication",{authTriggerEvent:"Corp Nav Login Modal",authTriggerSource:window.location.href,brandingAgentOrTeam:e,formType:"LOGIN"}).catch(fn)}))})),function(){var e=xn(".uc-corpNav-backdrop"),n=xn(".uc-corpNav-hamburger-close"),t=xn(".uc-corpNav-drawer"),o=xn(".uc-corpNav-hamburger");e.addEventListener("click",(function(){return pn(t,!0)})),n.addEventListener("click",(function(){return pn(t,!0)})),o.addEventListener("click",(function(){return pn(t,!1)})),n.addEventListener("keypress",(function(e){"Enter"===e.key&&(pn(t,!0),o.focus())})),o.addEventListener("keypress",(function(e){"Enter"===e.key&&(pn(t,!1),n.focus())}))}(),function(){var e=document.getElementsByClassName("uc-corpNav-dropdown");function n(n){var o=n.target.closest(".uc-corpNav-dropdown");Array.from(e).forEach((function(e){o===e?e.classList.toggle("is-active"):e.classList.remove("is-active"),t(e)}))}function t(e){e.classList.contains("is-active")?e.setAttribute("aria-expanded",!0):e.setAttribute("aria-expanded",!1)}document.documentElement.addEventListener("click",n),document.documentElement.addEventListener("keypress",(function(e){"Enter"===e.key&&n(e)}));var o=xn(".uc-corpNav-userMenu .uc-corpNav-dropdown");(o?yn(".uc-corpNav-flyoutItem",o):[]).forEach((function(e){e.addEventListener("click",(function(){o.classList.remove("is-active")}))}))}(),e=document.getElementsByClassName("uc-corpNav-accordionHeader"),void Array.from(e).forEach((function(e){e.addEventListener("keypress",(function(n){"Enter"===n.key&&vn(e)})),e.addEventListener("click",(function(){vn(e)}))})),function(){var e=document.getElementsByClassName("uc-corpNav-accordionHeader");Array.from(e).forEach((function(e){e.addEventListener("click",(function(){return dn(e)})),e.addEventListener("keypress",(function(n){"Enter"===n.key&&dn(e)}))}))}(),void(document.querySelector("#location-lookup")&&f(rn).then((function(e){e.componentInitializer()})).catch((function(e){return cn.error(e)}))),function(){var e=xn(".uc-corpNav-compassLogotype"),n=yn(".uc-corpNav-menu:not(.uc-corpNav-userMenu) > *"),t=yn([".uc-corpNav-menuItem:not(.uc-corpNav-accordionItem)",".uc-corpNav-authBtn"],xn(".uc-corpNav-drawer"));function o(e){var n=e.sectionTitle;e.links.forEach((function(e){e.addEventListener("click",(function(e){e.stopPropagation(),bn({SecondaryItem:n,TopLevelItem:"My Agent"})}))}))}e.addEventListener("click",(function(){bn({SecondaryItem:"",Section:"Header",TopLevelItem:"Compass Logotype"})})),n.forEach((function(e){if(xn(".uc-corpNav-dropdown",e)){var t=yn(".uc-corpNav-flyoutItem",e);t.forEach((function(n){n.addEventListener("click",(function(o){o.stopPropagation(),bn({Position:t.indexOf(n)+1,SecondaryItem:Nn(n),Section:"Main Menu",TopLevelItem:Nn(e)})}))}))}e.addEventListener("click",(function(){bn({Position:n.indexOf(e)+1,SecondaryItem:"",Section:"Main Menu",TopLevelItem:Nn(e)})}))})),t.forEach((function(e){if(e.classList.contains("uc-corpNav-accordionHeader")){var n=yn(".uc-corpNav-accordionItem",e.parentNode);n.forEach((function(t){t.addEventListener("click",(function(){bn({Position:n.indexOf(t)+1,SecondaryItem:Nn(t),Section:"Mobile Drawer",TopLevelItem:Nn(e)})}))}))}e.addEventListener("click",(function(){bn({Position:t.indexOf(e)+1,SecondaryItem:"",Section:"Mobile Drawer",TopLevelItem:Nn(e)})}))})),wn()&&(o({links:yn(".uc-corpNav-brandingAgent-profileLink"),sectionTitle:"Profile"}),o({links:yn(".uc-corpNav-brandingAgent-email"),sectionTitle:"Email"}),o({links:yn(".uc-corpNav-brandingAgent-phone"),sectionTitle:"Phone"}),o({links:yn(".uc-corpNav-brandingAgent-remove"),sectionTitle:"Remove"}),o({links:yn(".uc-corpNav-brandingAgent-addRemove"),sectionTitle:"Add/Remove"}),o({links:yn(".uc-corpNav-brandingAgent-manageLink"),sectionTitle:"Manage"}))}(),gn(),function(){try{f(an).then((function(e){return e.init()})).catch((function(e){return cn.error(e)}))}catch(e){cn.error(e)}}(),function(){var e=yn(".uc-corpNav-brandingAgent-addRemove"),n=yn(".uc-corpNav-brandingAgent-remove"),t=window.uc&&window.uc.agentRelations&&window.uc.agentRelations.brandingAgentOrTeam&&window.uc.agentRelations.brandingAgentOrTeam.displayName,o=["/bridge-loans/","/bridge-loan-services/","/concierge/","/sell/","/private-exclusives/buyers/","/private-exclusives/"];function r(){var e=new URL(document.location.href),n=o.find((function(n){return e.pathname.startsWith(n)}));n?document.location.replace(n):(e.searchParams.delete("agent_id"),e.href!==document.location.href?document.location.replace(e.href):document.location.reload())}function a(e){window.fetch("/account/temporary-branding/",{method:"DELETE"}).then((function(){bn({TopLevelItem:"My Agent",SecondaryItem:e}),window.uc.queueToast(Qe.DISCONNECT_AGENT_SUCCESS),r()})).catch((function(e){cn.error(e,"error removing temporary branding")}))}function c(){E("confirm",{differentiateCloseBtn:!0,hdText:"",bdText:"".concat(t||"This agent"," is temporarily set as your agent. \nConnect with ").concat(t||"this agent"," to share homes, schedule tours and view exclusive listings."),yesText:"Add as my agent",noText:"Remove"}).then((function(){bn({TopLevelItem:"My Agent",SecondaryItem:"Accepted Agent Connection"});var e=wn();window.uc.connectWithAgent({agentId:e,connectionSource:d.TEMPORARY_BRANDING_CTA})})).catch((function(e){if('user clicked "Remove"'===e)return a("Declined Agent Connection");void 0===e||"user clicked close button"===e?bn({TopLevelItem:"My Agent",SecondaryItem:"Closed Modal"}):cn.error(e,"error during confirm")}))}function i(){E("confirm",{differentiateCloseBtn:!0,hdText:"",bdText:"Are you no longer interested in working with ".concat(t||"this agent","?"),yesText:"Remove",noText:"Cancel"}).then((function(){a("Accepted Team Removal")})).catch((function(e){'user clicked "Cancel"'===e?bn({TopLevelItem:"My Agent",SecondaryItem:"Declined Team Removal"}):"user clicked close button"===e||void 0===e?bn({TopLevelItem:"My Agent",SecondaryItem:"Closed Modal"}):cn.error(e,"error removing temp connection")}))}l(e).forEach((function(e){return e.addEventListener("click",c)})),l(n).forEach((function(e){return e.addEventListener("click",i)}))}(),window.uc&&window.uc.user&&window.uc.user.isImpersonating&&window.fetch("/api/v3/people/toggle_accounts",{credentials:"same-origin",method:"GET"}).then((function(e){return e.json&&e.json()})).then((function(e){1===e.impersonationStatus&&(window.uc.user.impersonationStatus="Team Account")})).finally((function(){C(window.uc.user)}));var e;var n;document.removeEventListener("readystatechange",un)}():sn||(un=function(){return ln()},document.addEventListener("readystatechange",un),sn=!0)}function pn(e,n){n?e.classList.remove("is-active"):e.classList.add("is-active"),document.body.classList.toggle("uc-corpNav-drawerOpen"),bn({Position:"",SecondaryItem:"",Section:"Mobile Drawer",TopLevelItem:"Mobile Drawer ".concat(n?"Closed":"Opened")})}function dn(e){e.nextElementSibling.hidden?(e.nextElementSibling.hidden=!1,e.setAttribute("aria-expanded",!0)):(e.nextElementSibling.hidden=!0,e.setAttribute("aria-expanded",!1))}function vn(e){var n=e.parentElement.querySelector("input.uc-corpNav-accordion");n.checked?n.checked=!1:n.checked=!0}function fn(e){e&&"Modal closed"===e.message||void 0===e||cn.error(e,"Error from login modal:")}var hn=!1,mn=!1;function gn(){var e=yn(".uc-corpNav-userMenu > *"),n=yn('[data-tn="ucCorpNav-userMenu"] .uc-corpNav-flyoutItem');!hn&&e.forEach((function(n){var t={Position:e.indexOf(n)+1,SecondaryItem:"",Section:"User Menu",TopLevelItem:Nn(n)};n.classList.contains("uc-corpNav-avatar")?t.TopLevelItem="User Avatar":n.classList.contains("uc-corpNav-dropdown")?t.TopLevelItem="Saved Items":n.classList.contains("uc-corpNav-agentPlatform")&&(t.TopLevelItem="Agent Platform"),n.addEventListener("click",(function(){bn(t)}))})),hn=!!e.length,!mn&&n.forEach((function(e){e.addEventListener("click",(function(t){t.stopPropagation(),bn({Position:n.indexOf(e)+1,SecondaryItem:Nn(e),Section:"User Menu",TopLevelItem:"Saved Items"})}))})),mn=!!n.length}function bn(e){window.analytics&&window.analytics.track("Corp Nav Clicked",Object.assign({referring_agent_id:wn()},e))}function xn(e){return(arguments.length>1&&void 0!==arguments[1]?arguments[1]:document).querySelector(e)}function yn(e){return l((arguments.length>1&&void 0!==arguments[1]?arguments[1]:document).querySelectorAll(e))}function wn(){return window.uc&&window.uc.agentRelations&&window.uc.agentRelations.brandingAgentOrTeam&&window.uc.agentRelations.brandingAgentOrTeam.id}function Nn(e){return e.dataset.label?e.dataset.label.trim():e.textContent?e.textContent.trim():""}function kn(e,n){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);n&&(o=o.filter((function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable}))),t.push.apply(t,o)}return t}function Ln(e){for(var t=1;t0&&void 0!==arguments[0]?arguments[0]:{},n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},t=Object.assign({},B,e),o=t.agentRelations,r=t.geoId,a=t.opty,c=t.showLocationLookup,i=t.transparent,s=V(o),u=D(t.userRoles),l=s?"City, Neighborhood, Address, School, ZIP, ID":"City, Neighborhood, Address, School, ZIP, Agent, ID";return Object.assign(R(t,n,u),{agentBrandingProfileUrl:W(o),brandingAgentOrTeam:o&&o.brandingAgentOrTeam,brandingDropdownTitle:n.brandingDropdownTitle,brandingMonogramPlaceholder:H(o),compassLogotypeSvg:T,geoId:r,homepageUrl:n.homepageUrl,invitationCount:o&&o.invitationCount||0,isAbleToConnect:z(o),isBranded:s,isPersistentConnection:U(o),links:j(t,n.items,{isAgent:u,isBranded:s}),locationLookupOptions:{placeholderText:l,shouldRender:c},opty:a,style:M,transparent:i})}(e,$);o.innerHTML=s.render("navigation.njk",r),t?(n=t.parentNode).replaceChild(o.content,t):e.parentElement&&(n=e.parentElement).insertBefore(o.content,e.parentElement.firstElementChild),function(e){if(!e)return;for(var n=e.getElementsByTagName("svg"),t=0;t
2828 Webb Bridge Road
Alpharetta, GA 30009
$359,900
Price
2
Beds
2
Baths
1
1/2 Bath
1,260 Sq. Ft.
$286
/ Sq. Ft.
1,260
Sq. Ft.
$286
per Sq. Ft.
Virtual Tour
Virtual Tour
Description
Location! Location! Location! Amazing 2Br 2.5Ba Condo/Townhouse within minutes to Avalon and Downtown Alpharetta! Fully updated with Brand New Kitchen including cabinetry, granite counters, stainless steel appliances, new flooring and upgraded lighting and plumbing fixtures. Open floorplan with living room view to corner fireplace and access to private enclosed rear patio area. Brand new flooring throughout flows up grand staircase to upper level showcasing dual master suites with own luxury bath...Location! Location! Location! Amazing 2Br 2.5Ba Condo/Townhouse within minutes to Avalon and Downtown Alpharetta! Fully updated with Brand New Kitchen including cabinetry, granite counters, stainless steel appliances, new flooring and upgraded lighting and plumbing fixtures. Open floorplan with living room view to corner fireplace and access to private enclosed rear patio area. Brand new flooring throughout flows up grand staircase to upper level showcasing dual master suites with own luxury bath featuring new cabinetry and granite counters! Move in Ready! Welcome home!
School ratings and boundaries are provided by GreatSchools.org and Pitney Bowes. This information should only be used as a reference. Proximity or boundaries shown here are not a guarantee of enrollment. Please reach out to schools directly to verify all information and enrollment eligibility.
Similar Homes
Sorry, we can't find any similar homes at this time. Please check back later.
Similar Sold Homes
Sorry, we can't find any similar sold homes at this time. Please check back later.
Homes for Sale near Alpharetta
Neighborhoods
Briargate
Crabapple
Creekside at Hembree
Deerfield
Greenmont Walk
Harrington Falls
Hedington Square
Manning's Ridge
Meadow Brook Hills
Spence's Field
Stone Brooke Common
Westside Villas
Westwood Park
Academy Park
Brookshade
Windward Pointe
Brierfield
Crabapple Station
Liberty Square
Six Hills
Cities
Alpharetta
Roswell
Milton
Johns Creek
Sandy Springs
Peachtree Corners
Dunwoody
Woodstock
Duluth
Norcross
Doraville
Brookhaven
Chamblee
Cumming
Suwanee
Sugar Hill
Lebanon
Canton
Marietta
Atlanta
ZIPs
30004
30005
30022
30076
30075
30350
30188
30115
30040
30097
30041
30092
30068
30338
30062
30066
30328
30024
30360
30096
More information about 2828 Webb Bridge Road, Alpharetta, GA 30009
2828 Webb Bridge Road is a townhouse for sale in Alpharetta, GA 30009. This property was listed for sale on March 29, 2024 by EXP Realty, LLC., it's currently listed at $359,900. It has been on the market for a total of 21 days and was last sold on February 16, 2022. This listing's school district is Fulton County School District. Nearby schools include Manning Oaks Elementary School, Hopewell Middle School and Alpharetta High School. 2828 Webb Bridge Road is a 2-bed, 2.5-bath, 1,260 sqft townhouse built in 1983.
No guarantee, warranty or representation of any kind is made regarding the completeness or accuracy of descriptions or measurements (including square footage measurements and property condition), such should be independently verified, and Compass expressly disclaims any liability in connection therewith. Photos may be virtually staged or digitally enhanced and may not reflect actual property conditions. No financial or legal advice provided. Equal Housing Opportunity.
Listing Courtesy of EXP Realty, LLC., Peret Realty Group; EXP Realty, LLC., Daniel Peret
Based on information from one of the following Multiple Listing Services:FMLS,FMLS_CS,GAMLS,Middle GA MLS,Columbus Board of REALTORS, Northeast Georgia Board of REALTORS.Information being provided is for the visitor’s personal, noncommercial use and may not be used for any purpose other than to identify prospective properties visitor may be interested in purchasing. The data contained herein is copyrighted by FMLS,FMLS_CS,GAMLS, Middle GA MLS,Columbus Board of REALTORS, Northeast Georgia Board of REALTORS is protected by all applicable copyright laws. Any dissemination of this information is in violation of copyright laws and is strictly prohibited. Property information referenced on this web site comes from the Internet Data Exchange (IDX) program of the MLS. This web site may reference real estate listing(s) held by a brokerage firm other than the broker and/or agent who owns this web site. For the avoidance of doubt, the accuracy of all information, regardless of source, is deemed reliable but not guaranteed and should be personally verified through personal inspection by and/or with the appropriate professionals.
Introduction: My name is Eusebia Nader, I am a encouraging, brainy, lively, nice, famous, healthy, clever person who loves writing and wants to share my knowledge and understanding with you.
We notice you're using an ad blocker
Without advertising income, we can't keep making this site awesome for you.