1<!DOCTYPE html> 2<html lang="en-us"> 3 <head> 4 <style>@import url(https://fonts.googleapis.com/css2?family=Montserrat:wght@300;400;700&family=Cormorant+Garamond&family=Nunito+Sans:wght@300;400;700&family=Playfair+Display:ital@1&display=swap);</style>
4<script> 5 document.addEventListener("DOMContentLoaded", function(event) { 6 function usmPageRenderUtil(){var e=this;e.pageCategory="",e.heroElements=[],e.fpTime=null,e.fmpTime=null,e.fmpToTti=null,e.ttiTime=null,e.checker=null,e.waitTime=5e3,e.debug=!1,e.run=function(t){var n=t.heroElementIdentifiers||[".page-hero-element"];return e.pageCategory=t.pageCategory,e.debug=t.debug||!1,new Promise(function(t,r){e.observePaint().then(function(){e.observeHeroElements(n).then(function(){e.observeLongTasks().then(function(){e.fmpToTti=e.ttiTime-e.fmpTime,e.debug&&(console.log("FP: "+e.fpTime),console.log("FMP: "+e.fmpTime),console.log("FMP to TTI: "+e.fmpToTti),console.log("TTI: "+e.ttiTime)),t(e)})})})})},e.observePaint=function(){return new Promise(function(t,n){if(PerformanceObserver===null||PerformanceObserver===undefined)return n(),!1;var r=new PerformanceObserver(function(n){var r=n.getEntries();for(var i in r){var s=r[i],o=s.name;e.fpTime=performance.now();if("first-paint"===s.name){e.debug&&(console.log(s),console.log("metricName"),console.log(o)),t();return}}});r.observe({entryTypes:["paint"]})})},e.observeHeroElements=function(t){return new Promise(function(n,r){t=t.join(),e.debug&&console.log("Hero elements: "+t),e.heroElements=[].slice.call(document.querySelectorAll(t)),e.debug&&console.log("Hero elements count: ["+e.heroElements.length+"]");var i=new MutationObserver(function(t){for(var r=0;r<e.heroElements.length;r++){var s=e.heroElements[r];document.contains(s)&&e.heroElements.splice(r,1)}e.heroElements.length<=0&&(i.disconnect(),e.fmpTime=performance.now(),e.debug&&console.log("Hero observer disconnected. ["+e.getCurrentTime(!0)+"] Unix: ["+e.getCurrentTime()+"]"),n()),e.debug&&console.log("Hero elements not displayed. ["+e.heroElements.length+"].")});i.observe(document,{attributes:!0,childList:!0,characterData:!1,subtree:!0})})},e.observeLongTasks=function(){return new Promise(function(t,n){if(PerformanceObserver===null||PerformanceObserver===undefined)return n(),!1;var r=new PerformanceObserver(function(n){var i=n.getEntries();for(var s in i){var o=i[s];o instanceof PerformanceLongTaskTiming&&(e.debug&&console.log(o),e.scheduleCheck(r,t))}});r.observe({entryTypes:["longtask"]})})},this.scheduleCheck=function(e,t){var n=this,r=performance.now();clearTimeout(this.checker),this.checker=setTimeout(function(){n.ttiTime=r,e.disconnect(),t(),n.debug&&console.log("Performance observer disconnected. ["+n.getCurrentTime(!0)+"] Unix: ["+n.getCurrentTime()+"]")},n.waitTime)},e.getCurrentTime=function(e){return e===!0?(new Date).toUTCString():(new Date).getTime()},e.getPayload=function(){return{"Time to Interactive":e.formatTime(e.ttiTime),"First Paint":e.formatTime(e.fpTime),"First Meaningful Paint":e.formatTime(e.fmpTime),"FMP to TTI":e.formatTime(e.fmpToTti),"Page Category":e.pageCategory}},e.formatTime=function(e){e/=1e3;var t=Math.pow(10,1);return Math.round(e*t)/t}}; 7 var renderUtil = new usmPageRenderUtil(); 8 var debug = false; 9 renderUtil.run({heroElementIdentifiers: ["#contact-form"], pageCategory: "Contact Us", debug: debug}).then(function (renderUtil) { 10 if (debug) { 11 console.log(renderUtil.getPayload()); 12 } 13 }); 14 }); 15 </script>
15<script> 16window.dataLayer = window.dataLayer || []; 17window.dataLayer.push({"hasSEO":"UA-73987-39","hasGlobalRE":"UA-73987-25","hasPremium":"UA-73987-27","hasCompassV2":"UA-73987-51","NumberOfAgents":4,"NumberOfAgentWebsites":0,"MLS":["NNEREN"],"CallTracking":false,"MapSearchV2":true,"OffMarketProperty":false,"VendorsPage":false,"Blog":true,"LuxuryBuildings":false,"TownPages":false,"MarketReportTool":false,"AVMTool":false,"LeadRouter":true}); 18</script>
18 19�<!-- Google Tag Manager --> 20�
20<script>
vendor: 317 bytes, line 20
20(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='//www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);})(window,document,'script','dataLayer','
20GTM-NR38L3C
vendor: 3 bytes, line 20
20');
20</script>
20 21�
21<script>
vendor: 317 bytes, line 21
21(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='//www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);})(window,document,'script','dataLayer','
21GTM-5ZQXGDC
vendor: 3 bytes, line 21
21');
21</script>
21 22�<!-- End Google Tag Manager --> 23�<title>Contact StoneCrest Properties Vermont| Real Estate Agency Serving St. Johnsbury, Lyndonville, Burke and the whole Northeast Kingdom</title> 24 <meta name="description" content="" /> 25 <meta name="author" content="StoneCrest Properties" /> 26 <link rel="canonical" href="https://stonecrestpropertiesvt.com/contact-us/"/> 27 <link rel="copyright" href="https://d.usmre.com/UnionStreetMediaTermsofUse.pdf"/><meta property="fb:app_id" content="943794153603063" /> 28 <meta property="og:title" content="Contact StoneCrest Properties Vermont| Real Estate Agency Serving St. Johnsbury, Lyndonville, Burke and the whole Northeast Kingdom" /> 29 <meta property="og:description" content="" /> 30 <meta property="og:url" content="https://stonecrestpropertiesvt.com/contact-us/" /> 31 <meta property="og:type" content="website" /> 32 <meta property="og:site_name" content="StoneCrest Properties" /> 33 <meta name="twitter:card" content="summary" /> 34 <meta name="twitter:title" content="Contact StoneCrest Properties Vermont| Real Estate Agency Serving St. Johnsbury, Lyndonville, Burke and the whole Northeast Kingdom" /> 35 <meta name="twitter:description" content="" /> 36 <meta name="msvalidate.01" content="7AFB407F61E561ABD1320A24E73E1F9A" /> 37 <meta name="google-site-verification" content="wmW6JcNG0MOmWNOgqjpCBm0B6lZD1QpjlTwGum_OX_4" /> 38 <link rel="shortcut icon" href="https://s3.amazonaws.com/files.usmre.com/9194/i/favicon.png?t=1683121551" /> 39<meta http-equiv="content-type" content="text/html; charset=UTF-8" /> 40<meta name="viewport" content="width=device-width, initial-scale=1"> 41<link rel="stylesheet" type="text/css" href="https://d1nn5t56all1qd.cloudfront.net/9194/styles.min.css?version=1768585296" media="screen" /><link rel="stylesheet" type="text/css" href="https://d1nn5t56all1qd.cloudfront.net/layouts/46/print.css?version=1740650949" media="print" />
41<script src="https://kit.fontawesome.com/c7bcd66c3f.js" crossorigin="anonymous"></script>
41<script>/** vim: et:ts=4:sw=4:sts=4 42 * @license RequireJS 2.3.3 Copyright jQuery Foundation and other contributors. 43 * Released under MIT license, https://github.com/requirejs/requirejs/blob/master/LICENSE 44 */ 45var requirejs,require,define;!function(global,setTimeout){function commentReplace(e,t){return t||""}function isFunction(e){return"[object Function]"===ostring.call(e)}function isArray(e){return"[object Array]"===ostring.call(e)}function each(e,t){if(e){var i;for(i=0;i<e.length&&(!e[i]||!t(e[i],i,e));i+=1);}}function eachReverse(e,t){if(e){var i;for(i=e.length-1;i>-1&&(!e[i]||!t(e[i],i,e));i-=1);}}function hasProp(e,t){return hasOwn.call(e,t)}function getOwn(e,t){return hasProp(e,t)&&e[t]}function eachProp(e,t){var i;for(i in e)if(hasProp(e,i)&&t(e[i],i))break}function mixin(e,t,i,r){return t&&eachProp(t,function(t,n){!i&&hasProp(e,n)||(!r||"object"!=typeof t||!t||isArray(t)||isFunction(t)||t instanceof RegExp?e[n]=t:(e[n]||(e[n]={}),mixin(e[n],t,i,r)))}),e}function bind(e,t){return function(){return t.apply(e,arguments)}}function scripts(){return document.getElementsByTagName("script")}function defaultOnError(e){throw e}function getGlobal(e){if(!e)return e;var t=global;return each(e.split("."),function(e){t=t[e]}),t}function makeError(e,t,i,r){var n=new Error(t+"\nhttp://requirejs.org/docs/errors.html#"+e);return n.requireType=e,n.requireModules=r,i&&(n.originalError=i),n}function newContext(e){function t(e){var t,i;for(t=0;t<e.length;t++)if(i=e[t],"."===i)e.splice(t,1),t-=1;else if(".."===i){if(0===t||1===t&&".."===e[2]||".."===e[t-1])continue;t>0&&(e.splice(t-1,2),t-=2)}}function i(e,i,r){var n,o,a,s,u,c,d,p,f,l,h,m,g=i&&i.split("/"),v=y.map,x=v&&v["*"];if(e&&(e=e.split("/"),d=e.length-1,y.nodeIdCompat&&jsSuffixRegExp.test(e[d])&&(e[d]=e[d].replace(jsSuffixRegExp,"")),"."===e[0].charAt(0)&&g&&(m=g.slice(0,g.length-1),e=m.concat(e)),t(e),e=e.join("/")),r&&v&&(g||x)){a=e.split("/");e:for(s=a.length;s>0;s-=1){if(c=a.slice(0,s).join("/"),g)for(u=g.length;u>0;u-=1)if(o=getOwn(v,g.slice(0,u).join("/")),o&&(o=getOwn(o,c))){p=o,f=s;break e}!l&&x&&getOwn(x,c)&&(l=getOwn(x,c),h=s)}!p&&l&&(p=l,f=h),p&&(a.splice(0,f,p),e=a.join("/"))}return n=getOwn(y.pkgs,e),n?n:e}function r(e){isBrowser&&each(scripts(),function(t){if(t.getAttribute("data-requiremodule")===e&&t.getAttribute("data-requirecontext")===q.contextName)return t.parentNode.removeChild(t),!0})}function n(e){var t=getOwn(y.paths,e);if(t&&isArray(t)&&t.length>1)return t.shift(),q.require.undef(e),q.makeRequire(null,{skipMap:!0})([e]),!0}function o(e){var t,i=e?e.indexOf("!"):-1;return i>-1&&(t=e.substring(0,i),e=e.substring(i+1,e.length)),[t,e]}function a(e,t,r,n){var a,s,u,c,d=null,p=t?t.name:null,f=e,l=!0,h="";return e||(l=!1,e="_@r"+(T+=1)),c=o(e),d=c[0],e=c[1],d&&(d=i(d,p,n),s=getOwn(j,d)),e&&(d?h=r?e:s&&s.normalize?s.normalize(e,function(e){return i(e,p,n)}):e.indexOf("!")===-1?i(e,p,n):e:(h=i(e,p,n),c=o(h),d=c[0],h=c[1],r=!0,a=q.nameToUrl(h))),u=!d||s||r?"":"_unnormalized"+(A+=1),{prefix:d,name:h,parentMap:t,unnormalized:!!u,url:a,originalName:f,isDefine:l,id:(d?d+"!"+h:h)+u}}function s(e){var t=e.id,i=getOwn(S,t);return i||(i=S[t]=new q.Module(e)),i}function u(e,t,i){var r=e.id,n=getOwn(S,r);!hasProp(j,r)||n&&!n.defineEmitComplete?(n=s(e),n.error&&"error"===t?i(n.error):n.on(t,i)):"defined"===t&&i(j[r])}function c(e,t){var i=e.requireModules,r=!1;t?t(e):(each(i,function(t){var i=getOwn(S,t);i&&(i.error=e,i.events.error&&(r=!0,i.emit("error",e)))}),r||req.onError(e))}function d(){globalDefQueue.length&&(each(globalDefQueue,function(e){var t=e[0];"string"==typeof t&&(q.defQueueMap[t]=!0),O.push(e)}),globalDefQueue=[])}function p(e){delete S[e],delete k[e]}function f(e,t,i){var r=e.map.id;e.error?e.emit("error",e.error):(t[r]=!0,each(e.depMaps,function(r,n){var o=r.id,a=getOwn(S,o);!a||e.depMatched[n]||i[o]||(getOwn(t,o)?(e.defineDep(n,j[o]),e.check()):f(a,t,i))}),i[r]=!0)}function l(){var e,t,i=1e3*y.waitSeconds,o=i&&q.startTime+i<(new Date).getTime(),a=[],s=[],u=!1,d=!0;if(!x){if(x=!0,eachProp(k,function(e){var i=e.map,c=i.id;if(e.enabled&&(i.isDefine||s.push(e),!e.error))if(!e.inited&&o)n(c)?(t=!0,u=!0):(a.push(c),r(c));else if(!e.inited&&e.fetched&&i.isDefine&&(u=!0,!i.prefix))return d=!1}),o&&a.length)return e=makeError("timeout","Load timeout for modules: "+a,null,a),e.contextName=q.contextName,c(e);d&&each(s,function(e){f(e,{},{})}),o&&!t||!u||!isBrowser&&!isWebWorker||w||(w=setTimeout(function(){w=0,l()},50)),x=!1}}function h(e){hasProp(j,e[0])||s(a(e[0],null,!0)).init(e[1],e[2])}function m(e,t,i,r){e.detachEvent&&!isOpera?r&&e.detachEvent(r,t):e.removeEventListener(i,t,!1)}function g(e){var t=e.currentTarget||e.srcElement;return m(t,q.onScriptLoad,"load","onreadystatechange"),m(t,q.onScriptError,"error"),{node:t,id:t&&t.getAttribute("data-requiremodule")}}function v(){var e;
45for(d();O.length;){if(e=O.shift(),null===e[0])return c(makeError("mismatch","Mismatched anonymous define() module: "+e[e.length-1]));h(e)}q.defQueueMap={}}var x,b,q,E,w,y={waitSeconds:7,baseUrl:"./",paths:{},bundles:{},pkgs:{},shim:{},config:{}},S={},k={},M={},O=[],j={},P={},R={},T=1,A=1;return E={require:function(e){return e.require?e.require:e.require=q.makeRequire(e.map)},exports:function(e){if(e.usingExports=!0,e.map.isDefine)return e.exports?j[e.map.id]=e.exports:e.exports=j[e.map.id]={}},module:function(e){return e.module?e.module:e.module={id:e.map.id,uri:e.map.url,config:function(){return getOwn(y.config,e.map.id)||{}},exports:e.exports||(e.exports={})}}},b=function(e){this.events=getOwn(M,e.id)||{},this.map=e,this.shim=getOwn(y.shim,e.id),this.depExports=[],this.depMaps=[],this.depMatched=[],this.pluginMaps={},this.depCount=0},b.prototype={init:function(e,t,i,r){r=r||{},this.inited||(this.factory=t,i?this.on("error",i):this.events.error&&(i=bind(this,function(e){this.emit("error",e)})),this.depMaps=e&&e.slice(0),this.errback=i,this.inited=!0,this.ignore=r.ignore,r.enabled||this.enabled?this.enable():this.check())},defineDep:function(e,t){this.depMatched[e]||(this.depMatched[e]=!0,this.depCount-=1,this.depExports[e]=t)},fetch:function(){if(!this.fetched){this.fetched=!0,q.startTime=(new Date).getTime();var e=this.map;return this.shim?void q.makeRequire(this.map,{enableBuildCallback:!0})(this.shim.deps||[],bind(this,function(){return e.prefix?this.callPlugin():this.load()})):e.prefix?this.callPlugin():this.load()}},load:function(){var e=this.map.url;P[e]||(P[e]=!0,q.load(this.map.id,e))},check:function(){if(this.enabled&&!this.enabling){var e,t,i=this.map.id,r=this.depExports,n=this.exports,o=this.factory;if(this.inited){if(this.error)this.emit("error",this.error);else if(!this.defining){if(this.defining=!0,this.depCount<1&&!this.defined){if(isFunction(o)){if(this.events.error&&this.map.isDefine||req.onError!==defaultOnError)try{n=q.execCb(i,o,r,n)}catch(t){e=t}else n=q.execCb(i,o,r,n);if(this.map.isDefine&&void 0===n&&(t=this.module,t?n=t.exports:this.usingExports&&(n=this.exports)),e)return e.requireMap=this.map,e.requireModules=this.map.isDefine?[this.map.id]:null,e.requireType=this.map.isDefine?"define":"require",c(this.error=e)}else n=o;if(this.exports=n,this.map.isDefine&&!this.ignore&&(j[i]=n,req.onResourceLoad)){var a=[];each(this.depMaps,function(e){a.push(e.normalizedMap||e)}),req.onResourceLoad(q,this.map,a)}p(i),this.defined=!0}this.defining=!1,this.defined&&!this.defineEmitted&&(this.defineEmitted=!0,this.emit("defined",this.exports),this.defineEmitComplete=!0)}}else hasProp(q.defQueueMap,i)||this.fetch()}},callPlugin:function(){var e=this.map,t=e.id,r=a(e.prefix);this.depMaps.push(r),u(r,"defined",bind(this,function(r){var n,o,d,f=getOwn(R,this.map.id),l=this.map.name,h=this.map.parentMap?this.map.parentMap.name:null,m=q.makeRequire(e.parentMap,{enableBuildCallback:!0});return this.map.unnormalized?(r.normalize&&(l=r.normalize(l,function(e){return i(e,h,!0)})||""),o=a(e.prefix+"!"+l,this.map.parentMap,!0),u(o,"defined",bind(this,function(e){this.map.normalizedMap=o,this.init([],function(){return e},null,{enabled:!0,ignore:!0})})),d=getOwn(S,o.id),void(d&&(this.depMaps.push(o),this.events.error&&d.on("error",bind(this,function(e){this.emit("error",e)})),d.enable()))):f?(this.map.url=q.nameToUrl(f),void this.load()):(n=bind(this,function(e){this.init([],function(){return e},null,{enabled:!0})}),n.error=bind(this,function(e){this.inited=!0,this.error=e,e.requireModules=[t],eachProp(S,function(e){0===e.map.id.indexOf(t+"_unnormalized")&&p(e.map.id)}),c(e)}),n.fromText=bind(this,function(i,r){var o=e.name,u=a(o),d=useInteractive;r&&(i=r),d&&(useInteractive=!1),s(u),hasProp(y.config,t)&&(y.config[o]=y.config[t]);try{req.exec(i)}catch(e){return c(makeError("fromtexteval","fromText eval for "+t+" failed: "+e,e,[t]))}d&&(useInteractive=!0),this.depMaps.push(u),q.completeLoad(o),m([o],n)}),void r.load(e.name,m,n,y))})),q.enable(r,this),this.pluginMaps[r.id]=r},enable:function(){k[this.map.id]=this,this.enabled=!0,this.enabling=!0,each(this.depMaps,bind(this,function(e,t){var i,r,n;if("string"==typeof e){if(e=a(e,this.map.isDefine?this.map:this.map.parentMap,!1,!this.skipMap),this.depMaps[t]=e,n=getOwn(E,e.id))return void(this.depExports[t]=n(this));this.depCount+=1,u(e,"defined",bind(this,function(e){this.undefed||(this.defineDep(t,e),this.check())})),this.errback?u(e,"error",bind(this,this.errback)):this.events.error&&u(e,"error",bind(this,function(e){this.emit
45("error",e)}))}i=e.id,r=S[i],hasProp(E,i)||!r||r.enabled||q.enable(e,this)})),eachProp(this.pluginMaps,bind(this,function(e){var t=getOwn(S,e.id);t&&!t.enabled&&q.enable(e,this)})),this.enabling=!1,this.check()},on:function(e,t){var i=this.events[e];i||(i=this.events[e]=[]),i.push(t)},emit:function(e,t){each(this.events[e],function(e){e(t)}),"error"===e&&delete this.events[e]}},q={config:y,contextName:e,registry:S,defined:j,urlFetched:P,defQueue:O,defQueueMap:{},Module:b,makeModuleMap:a,nextTick:req.nextTick,onError:c,configure:function(e){if(e.baseUrl&&"/"!==e.baseUrl.charAt(e.baseUrl.length-1)&&(e.baseUrl+="/"),"string"==typeof e.urlArgs){var t=e.urlArgs;e.urlArgs=function(e,i){return(i.indexOf("?")===-1?"?":"&")+t}}var i=y.shim,r={paths:!0,bundles:!0,config:!0,map:!0};eachProp(e,function(e,t){r[t]?(y[t]||(y[t]={}),mixin(y[t],e,!0,!0)):y[t]=e}),e.bundles&&eachProp(e.bundles,function(e,t){each(e,function(e){e!==t&&(R[e]=t)})}),e.shim&&(eachProp(e.shim,function(e,t){isArray(e)&&(e={deps:e}),!e.exports&&!e.init||e.exportsFn||(e.exportsFn=q.makeShimExports(e)),i[t]=e}),y.shim=i),e.packages&&each(e.packages,function(e){var t,i;e="string"==typeof e?{name:e}:e,i=e.name,t=e.location,t&&(y.paths[i]=e.location),y.pkgs[i]=e.name+"/"+(e.main||"main").replace(currDirRegExp,"").replace(jsSuffixRegExp,"")}),eachProp(S,function(e,t){e.inited||e.map.unnormalized||(e.map=a(t,null,!0))}),(e.deps||e.callback)&&q.require(e.deps||[],e.callback)},makeShimExports:function(e){function t(){var t;return e.init&&(t=e.init.apply(global,arguments)),t||e.exports&&getGlobal(e.exports)}return t},makeRequire:function(t,n){function o(i,r,u){var d,p,f;return n.enableBuildCallback&&r&&isFunction(r)&&(r.__requireJsBuild=!0),"string"==typeof i?isFunction(r)?c(makeError("requireargs","Invalid require call"),u):t&&hasProp(E,i)?E[i](S[t.id]):req.get?req.get(q,i,t,o):(p=a(i,t,!1,!0),d=p.id,hasProp(j,d)?j[d]:c(makeError("notloaded",'Module name "'+d+'" has not been loaded yet for context: '+e+(t?"":". Use require([])")))):(v(),q.nextTick(function(){v(),f=s(a(null,t)),f.skipMap=n.skipMap,f.init(i,r,u,{enabled:!0}),l()}),o)}return n=n||{},mixin(o,{isBrowser:isBrowser,toUrl:function(e){var r,n=e.lastIndexOf("."),o=e.split("/")[0],a="."===o||".."===o;return n!==-1&&(!a||n>1)&&(r=e.substring(n,e.length),e=e.substring(0,n)),q.nameToUrl(i(e,t&&t.id,!0),r,!0)},defined:function(e){return hasProp(j,a(e,t,!1,!0).id)},specified:function(e){return e=a(e,t,!1,!0).id,hasProp(j,e)||hasProp(S,e)}}),t||(o.undef=function(e){d();var i=a(e,t,!0),n=getOwn(S,e);n.undefed=!0,r(e),delete j[e],delete P[i.url],delete M[e],eachReverse(O,function(t,i){t[0]===e&&O.splice(i,1)}),delete q.defQueueMap[e],n&&(n.events.defined&&(M[e]=n.events),p(e))}),o},enable:function(e){var t=getOwn(S,e.id);t&&s(e).enable()},completeLoad:function(e){var t,i,r,o=getOwn(y.shim,e)||{},a=o.exports;for(d();O.length;){if(i=O.shift(),null===i[0]){if(i[0]=e,t)break;t=!0}else i[0]===e&&(t=!0);h(i)}if(q.defQueueMap={},r=getOwn(S,e),!t&&!hasProp(j,e)&&r&&!r.inited){if(!(!y.enforceDefine||a&&getGlobal(a)))return n(e)?void 0:c(makeError("nodefine","No define call for "+e,null,[e]));h([e,o.deps||[],o.exportsFn])}l()},nameToUrl:function(e,t,i){var r,n,o,a,s,u,c,d=getOwn(y.pkgs,e);if(d&&(e=d),c=getOwn(R,e))return q.nameToUrl(c,t,i);if(req.jsExtRegExp.test(e))s=e+(t||"");else{for(r=y.paths,n=e.split("/"),o=n.length;o>0;o-=1)if(a=n.slice(0,o).join("/"),u=getOwn(r,a)){isArray(u)&&(u=u[0]),n.splice(0,o,u);break}s=n.join("/"),s+=t||(/^data\:|^blob\:|\?/.test(s)||i?"":".js"),s=("/"===s.charAt(0)||s.match(/^[\w\+\.\-]+:/)?"":y.baseUrl)+s}return y.urlArgs&&!/^blob\:/.test(s)?s+y.urlArgs(e,s):s},load:function(e,t){req.load(q,e,t)},execCb:function(e,t,i,r){return t.apply(r,i)},onScriptLoad:function(e){if("load"===e.type||readyRegExp.test((e.currentTarget||e.srcElement).readyState)){interactiveScript=null;var t=g(e);q.completeLoad(t.id)}},onScriptError:function(e){var t=g(e);if(!n(t.id)){var i=[];return eachProp(S,function(e,r){0!==r.indexOf("_@r")&&each(e.depMaps,function(e){if(e.id===t.id)return i.push(r),!0})}),c(makeError("scripterror",'Script error for "'+t.id+(i.length?'", needed by: '+i.join(", "):'"'),e,[t.id]))}}},q.require=q.makeRequire(),q}function getInteractiveScript(){return interactiveScript&&"interactive"===interactiveScript.readyState?interactiveScript:(eachReverse(scripts(),function(e){if("interactive"===e.readyState)return interactiveScript=e}),interactiveScript)}var req,s,head,baseElement,dataMain,src,interactiveScript,currentlyAddingScript,mainScript,subPath,version="2.3.3",commentRegExp=/\/\*[\s\S]*?\*\/|([^:"'=]|^)\/\/.*$/gm,cjsRequireRegExp=/[^.]\s*require\s*\(\s*["']([^'"\s]+)["']\s*\)/g,jsSuffixRegExp=/\.js$/,currDirRegExp=/^\.\//,op=Object.prototype,ostring=op.toString,hasOwn=op.hasOwnProperty,isBrowser=!("undefined"==typeof window||"undefined"==typeof navigator||!window.document),isWebWorker=!isBrowser&&"undefined"!=typeof importScripts,readyRegExp=isBrowser&&"PLAYSTATION 3"===navigator.platform?/^complete$/:/^(complete|loaded)$/,defContextName="_",isOpera="undefined"!=typeof opera&&"[object Opera]"===opera.toString(),contexts={},cfg={},globalDefQueue=[],useInteractive=!1;if("undefined"==typeof define){if("undefined"!=typeof requirejs){if(isFunction(requirejs))return;cfg=requirejs,requirejs=void 0}"undefined"==typeof require||isFunction(require)||(cfg=require,require=void 0),req=requirejs=function(e,t,i,r){var n,o,a=defContextName;return isArray(e)||"string"==typeof e||(o=e,isArray(t)?(e=t,t=i,i=r):e=[]),o&&o.context&&(a=o.context),n=getOwn(contexts,a),n||(n=contexts[a]=req.s.newContext(a)),o&&n.configure(o),n.require(e,t,i)},req.config=function(e){return req(e)},req.nextTick="undefined"!=typeof setTimeout?function(e){setTimeout(e,4)}:function(e){e()}
45,require||(require=req),req.version=version,req.jsExtRegExp=/^\/|:|\?|\.js$/,req.isBrowser=isBrowser,s=req.s={contexts:contexts,newContext:newContext},req({}),each(["toUrl","undef","defined","specified"],function(e){req[e]=function(){var t=contexts[defContextName];return t.require[e].apply(t,arguments)}}),isBrowser&&(head=s.head=document.getElementsByTagName("head")[0],baseElement=document.getElementsByTagName("base")[0],baseElement&&(head=s.head=baseElement.parentNode)),req.onError=defaultOnError,req.createNode=function(e,t,i){var r=e.xhtml?document.createElementNS("http://www.w3.org/1999/xhtml","html:script"):document.createElement("script");return r.type=e.scriptType||"text/javascript",r.charset="utf-8",r.async=!0,r},req.load=function(e,t,i){var r,n=e&&e.config||{};if(isBrowser)return r=req.createNode(n,t,i),r.setAttribute("data-requirecontext",e.contextName),r.setAttribute("data-requiremodule",t),!r.attachEvent||r.attachEvent.toString&&r.attachEvent.toString().indexOf("[native code")<0||isOpera?(r.addEventListener("load",e.onScriptLoad,!1),r.addEventListener("error",e.onScriptError,!1)):(useInteractive=!0,r.attachEvent("onreadystatechange",e.onScriptLoad)),r.src=i,n.onNodeCreated&&n.onNodeCreated(r,n,t,i),currentlyAddingScript=r,baseElement?head.insertBefore(r,baseElement):head.appendChild(r),currentlyAddingScript=null,r;if(isWebWorker)try{setTimeout(function(){},0),importScripts(i),e.completeLoad(t)}catch(r){e.onError(makeError("importscripts","importScripts failed for "+t+" at "+i,r,[t]))}},isBrowser&&!cfg.skipDataMain&&eachReverse(scripts(),function(e){if(head||(head=e.parentNode),dataMain=e.getAttribute("data-main"))return mainScript=dataMain,cfg.baseUrl||mainScript.indexOf("!")!==-1||(src=mainScript.split("/"),mainScript=src.pop(),subPath=src.length?src.join("/")+"/":"./",cfg.baseUrl=subPath),mainScript=mainScript.replace(jsSuffixRegExp,""),req.jsExtRegExp.test(mainScript)&&(mainScript=dataMain),cfg.deps=cfg.deps?cfg.deps.concat(mainScript):[mainScript],!0}),define=function(e,t,i){var r,n;"string"!=typeof e&&(i=t,t=e,e=null),isArray(t)||(i=t,t=null),!t&&isFunction(i)&&(t=[],i.length&&(i.toString().replace(commentRegExp,commentReplace).replace(cjsRequireRegExp,function(e,i){t.push(i)}),t=(1===i.length?["require"]:["require","exports","module"]).concat(t))),useInteractive&&(r=currentlyAddingScript||getInteractiveScript(),r&&(e||(e=r.getAttribute("data-requiremodule")),n=contexts[r.getAttribute("data-requirecontext")])),n?(n.defQueue.push([e,t,i]),n.defQueueMap[e]=!0):globalDefQueue.push([e,t,i])},define.amd={jQuery:!0},req.exec=function(text){return eval(text)},req(cfg)}}(this,"undefined"==typeof setTimeout?void 0:setTimeout);</script>
45<script type="text/javascript"> 46 var requireConfig = {"waitSeconds":20,"baseUrl":"https:\/\/d1mlo4htassgww.cloudfront.net\/shipyard\/build\/","paths":{"async":"profiles\/default","bootstrap":"profiles\/default","goog":"profiles\/default","jquery":"profiles\/default","jquery.browser":"profiles\/default","jquery.deparam":"profiles\/default","jquery.dropdownchecklist":"profiles\/default","jquery.form":"profiles\/default","jquery.history":"profiles\/default","jquery.html5-placeholder-shim":"profiles\/default","jquery.inview":"profiles\/default","jquery.usmNlsShipyard":"profiles\/default","jquery.pageitems":"profiles\/default","jquery.usmajaxtogglebutton":"profiles\/default","jquery.usmmortgageestimate":"profiles\/default","jquery.usmtruncate":"profiles\/default","jquery.validation":"profiles\/default","jquery.validation-extensions-usm":"profiles\/default","jqueryui":"profiles\/default","knockout":"knockout-2.3.0","owlcarousel":"profiles\/default","picturefill.min":"profiles\/default","propertyParser":"profiles\/default","shim.polyfills":"profiles\/default","captcha":"profiles\/default","shipyard":"profiles\/default","static-map-search":"profiles\/default","usm":"profiles\/default","usm.analytics":"profiles\/default","usm.cookie":"profiles\/default","usm.url":"profiles\/default","usm.user":"profiles\/default","usm.favorite":"profiles\/default","usm.savesearch":"profiles\/default","usm.modalform":"profiles\/default","usm.dynamicsearch":"profiles\/default","LLSDKsJS":"https:\/\/sdk.locallogic.co\/sdks-js\/1.19.30\/index.umd","webfontloader":"\/\/ajax.googleapis.com\/ajax\/libs\/webfont\/1\/webfont","Leaflet":"https:\/\/cdnjs.cloudflare.com\/ajax\/libs\/leaflet\/1.0.1\/leaflet","mapboxgl":"https:\/\/api.tiles.mapbox.com\/mapbox-gl-js\/v0.42.0\/mapbox-gl","plunk":"plunkComponents.min","emblaCarousel":"https:\/\/unpkg.com\/[email protected]\/embla-carousel.umd","emblaCarouselAutoplay":"https:\/\/unpkg.com\/[email protected]\/embla-carousel-autoplay.umd","emblaCarouselClassNames":"https:\/\/unpkg.com\/[email protected]\/embla-carousel-class-names.umd","emblaCarouselFade":"https:\/\/unpkg.com\/[email protected]\/embla-carousel-fade.umd","emblaCarouselPlugins":"emblaCarouselPlugins","map.regions":"\/realestate\/regions\/?json","jquery.validationextensionsusm":"\/data\/shipyard\/js\/jquery.validation-extensions-usm","usm.1466097371-modernizr.custom.33033":"https:\/\/s3.amazonaws.com\/files.usmre.com\/9194\/scripts\/1466097371-modernizr.custom.33033"},"shim":{"usm.1466097371-modernizr.custom.33033":{"deps":["jquery","jquery.browser"]}}}; 47 requireConfig.urlArgs = function(id, url) { 48 var args = ""; 49 if (url.indexOf("d1nn5t56all1qd") <= 0 && url.indexOf("dy0meowegjlo2") <= 0) { 50 args = "version=1790774193"; 51 return (url.indexOf("?") === -1 ? "?" : "&") + args; 52 } 53 54 return ""; 55 }; 56 57 require.config(requireConfig); 58 </script>
58 59
59<script type="text/javascript">require(["profiles/default", "usm", "usm.calltracking", "usm.goscript"], function (listing, usm) { 60 if (usm.touchSupport) { require(["profiles/touch"]); } 61 });</script>
vendor: 73 bytes, line 61
61<script async src="https://www.google.com/recaptcha/enterprise.js?render=
616Ld5_ZApAAAAALpcJ1mUSi3wW3bHHiN3PPx5TovG
vendor: 24 bytes, lines 61-62
61"></script> 62
62<link rel="preconnect" href="https://www.google.com"> 63 <link rel="preconnect" href="https://www.gstatic.com" crossorigin> 64</head> 65�<body class="contactus array1-article array1-contactus fall" data-site-type="shipyard" data-re-captcha-site-key="6Ld5_ZApAAAAALpcJ1mUSi3wW3bHHiN3PPx5TovG"> 66�<!-- Google Tag Manager (noscript) -->
vendor: 63 bytes, lines 66-67
66 67�<noscript><iframe src="//www.googletagmanager.com/ns.html?id=
67GTM-NR38L3C
vendor: 145 bytes, lines 67-68
67" height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript> 68�<noscript><iframe src="//www.googletagmanager.com/ns.html?id=
68GTM-5ZQXGDC
vendor: 84 bytes, lines 68-69
68" height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript> 69�
69<!-- End Google Tag Manager (noscript) --> 70�<header class="utilBarWrap"> 71 <div id="sidebar3"><div id="image-237368" class="widget image container"><a href="/" target="_self"><img src="https://d3w216np43fnr4.cloudfront.net/9194/237368/1.png?version=1683471339" alt="StoneCrest Properties" width="500" height="135"/></a></div><div id="codewidget-237374" class="widget code codewidget container"><span><a href="tel:802-626-4790"><i class="fas fa-phone"></i> 802-626-4790</a></span></div><div id="user-widget-237413" class="widget user user-widget userbox loggedout-widget container"><div class="header-user"><div class="header-user-logged-in"><div class="account-link"><a href="/user/" rel="nofollow">Account</a></div></div><div class="header-user-logged-out"><div><div class="header-user-login"><div class="login-link"><a href="/user/login/" rel="nofollow">Log In</a></div></div><div class="header-user-register"><div class="register-link"><a href="/user/register/" rel="nofollow">Sign Up</a></div></div></div></div></div></div><div id="menuwidget-237366" class="widget menu menuwidget default-nav container"><h3 class="widget-title">Main Navigation</h3><div class="widget-inner"><div class="desktop-nav"><div class="navbar-wrapper"><nav class="navbar navbar-default" role="navigation"><div id="navbar-237366"><ul class="nav navbar-nav site-nav" role="menubar"><li role="presentation" class=" menu-item-149888"><a href="/search-vermont/" target="_self" role="menuitem">Search VT MLS</a></li><li role="presentation" class=" menu-item-149889"><a href="/listings/our-listings/" target="_self" role="menuitem">Our Listings</a></li><li role="presentation" class="has-children menu-item-149890"><a href="#" target="_self" rel="noopener" data-toggle="dropdown" data-target="sub-menu-149890" class="dropdown-toggle" role="menuitem">Buying<span class="caret"></span></a><ul class="dropdown-menu" id="sub-menu-149890" role="menu"><li role="presentation" class=" menu-item-149938"><a href="/buyers/" target="_self" role="menuitem">Buyer Info</a></li><li role="presentation" class=" menu-item-149939"><a href="/buyers/appraisal-services/" target="_self" role="menuitem">Appraisal Services</a></li><li role="presentation" class=" menu-item-149940"><a href="/buyers/mortgage-calculator/" target="_self" role="menuitem">Mortgage Calculator</a></li><li role="presentation" class=" menu-item-149941"><a href="/buyers/water-wastewater-permitting-and-engineers/" target="_self" role="menuitem">Water / Wastewater Permitting and Engineers</a></li><li role="presentation" class=" menu-item-149942"><a href="/buyers/attorneys/" target="_self" role="menuitem">Attorneys</a></li><li role="presentation" class=" menu-item-149943"><a href="/buyers/our-buyers-services/" target="_self" role="menuitem">Insurance Providers</a></li><li role="presentation" class=" menu-item-149944"><a href="/buyers/financing-companies/" target="_self" role="menuitem">Financing Companies</a></li><li role="presentation" class=" menu-item-149945"><a href="/buyers/property-inspections/" target="_self" role="menuitem">Property Inspectors</a></li><li role="presentation" class=" menu-item-149946"><a href="/buyers/water-testing/" target="_self" role="menuitem">Water Testing</a></li></ul></li><li role="presentation" class="has-children menu-item-149891"><a href="#" target="_self" rel="noopener" data-toggle="dropdown" data-target="sub-menu-149891" class="dropdown-toggle" role="menuitem">Selling<span class="caret"></span></a><ul class="dropdown-menu" id="sub-menu-149891" role="menu"><li role="presentation" class=" menu-item-149948"><a href="/sellers/" target="_self" role="menuitem">Sellers</a></li><li role="presentation" class=" menu-item-149949"><a href="/sellers/whats-my-home-worth/" target="_self" role="menuitem">What's My Home Worth?</a></li><li role="presentation" class=" menu-item-149951"><a href="/sellers/sellers-services/" target="_self" role="menuitem">Our Sellers Services</a></li><li role="presentation" class=" menu-item-149952"><a href="/sellers/attorneys/" target="_self" role="menuitem">Attorneys</a></li></ul></li><li role="presentation" class="has-children menu-item-149892"><a href="#" target="_self" rel="noopener" data-toggle="dropdown" data-target="sub-menu
71-149892" class="dropdown-toggle" role="menuitem">Explore the NEK<span class="caret"></span></a><ul class="dropdown-menu" id="sub-menu-149892" role="menu"><li role="presentation" class=" menu-item-150023"><a href="/Northeast-Kingdom-of-Vermont-area-info/" target="_self" role="menuitem">Explore the NEK</a></li><li role="presentation" class=" menu-item-149969"><a href="/home/what-s-happening-newsletter-library/" target="_self" role="menuitem">What's Happening</a></li></ul></li><li role="presentation" class="has-children menu-item-149893"><a href="#" target="_self" rel="noopener" data-toggle="dropdown" data-target="sub-menu-149893" class="dropdown-toggle" role="menuitem">About Us<span class="caret"></span></a><ul class="dropdown-menu" id="sub-menu-149893" role="menu"><li role="presentation" class=" menu-item-149954"><a href="/about-us/" target="_self" role="menuitem">About Us</a></li><li role="presentation" class=" menu-item-149955"><a href="/our-agents/" target="_self" role="menuitem">Our Agents</a></li><li role="presentation" class=" menu-item-149956"><a href="/testimonials/" target="_self" role="menuitem">Testimonials</a></li><li role="presentation" class=" menu-item-149957"><a href="/about-stonecrest-properties/consumer-information-disclosure/" target="_self" role="menuitem">Consumer Information Disclosure</a></li></ul></li><li role="presentation" class=" menu-item-173409"><a href="/testimonials/" target="_self" role="menuitem">Testimonials</a></li><li role="presentation" class=" menu-item-149894"><a href="/contact-us/" target="_self" role="menuitem">Contact</a></li></ul></div></nav></div></div><div class="mobile-nav"><button type="button" class="navbar-toggle" data-target="#navbar-mobile-237366" aria-label="Toggle navigation"><span>Menu</span><span class="fa fa-bar"></span><span class="fa fa-bar"></span><span class="fa fa-bar"></span></button><div class="navbar-wrapper"><nav class="navbar navbar-default" role="navigation"><div id="navbar-mobile-237366"><a href="#" class="menu-close"><i class="fa fa-times-circle-o"></i><span class="sr-only">Close Button</span></a><div class="menu-sign-on"><a class="usm-btn nav-login" href="/user/login/" rel="nofollow">Log In</a><a class="usm-btn nav-register" href="/user/register/" rel="nofollow">Sign Up</a><a class="usm-btn nav-account" href="/user/" rel="nofollow">My Account</a></div><ul class="nav navbar-nav site-nav" role="menubar"><li role="presentation" class=" menu-item-149888"><a href="/search-vermont/" target="_self" role="menuitem">Search VT MLS</a></li><li role="presentation" class=" menu-item-149889"><a href="/listings/our-listings/" target="_self" role="menuitem">Our Listings</a></li><li role="presentation" class="has-children menu-item-149890"><a href="#" target="_self" rel="noopener" data-toggle="dropdown" data-target="mobile-sub-menu-149890" class="dropdown-toggle" role="menuitem">Buying<span class="caret"></span></a><ul class="dropdown-menu" id="mobile-sub-menu-149890" role="menu"><li role="presentation" class=" menu-item-149938"><a href="/buyers/" target="_self" role="menuitem">Buyer Info</a></li><li role="presentation" class=" menu-item-149939"><a href="/buyers/appraisal-services/" target="_self" role="menuitem">Appraisal Services</a></li><li role="presentation" class=" menu-item-149940"><a href="/buyers/mortgage-calculator/" target="_self" role="menuitem">Mortgage Calculator</a></li><li role="presentation" class=" menu-item-149941"><a href="/buyers/water-wastewater-permitting-and-engineers/" target="_self" role="menuitem">Water / Wastewater Permitting and Engineers</a></li><li role="presentation" class=" menu-item-149942"><a href="/buyers/attorneys/" target="_self" role="menuitem">Attorneys</a></li><li role="presentation" class=" menu-item-149943"><a href="/buyers/our-buyers-services/" target="_self" role="menuitem">Insurance Providers</a></li><li role="presentation" class=" menu-item-149944"><a href="/buyers/financing-companies/" target="_self" role="menuitem">Financing Companies</a></li><li role="presentation" class=" menu-item-149945"><a href="/buyers/property-inspections/" target="_self" role="menuitem">
71Property Inspectors</a></li><li role="presentation" class=" menu-item-149946"><a href="/buyers/water-testing/" target="_self" role="menuitem">Water Testing</a></li></ul></li><li role="presentation" class="has-children menu-item-149891"><a href="#" target="_self" rel="noopener" data-toggle="dropdown" data-target="mobile-sub-menu-149891" class="dropdown-toggle" role="menuitem">Selling<span class="caret"></span></a><ul class="dropdown-menu" id="mobile-sub-menu-149891" role="menu"><li role="presentation" class=" menu-item-149948"><a href="/sellers/" target="_self" role="menuitem">Sellers</a></li><li role="presentation" class=" menu-item-149949"><a href="/sellers/whats-my-home-worth/" target="_self" role="menuitem">What's My Home Worth?</a></li><li role="presentation" class=" menu-item-149951"><a href="/sellers/sellers-services/" target="_self" role="menuitem">Our Sellers Services</a></li><li role="presentation" class=" menu-item-149952"><a href="/sellers/attorneys/" target="_self" role="menuitem">Attorneys</a></li></ul></li><li role="presentation" class="has-children menu-item-149892"><a href="#" target="_self" rel="noopener" data-toggle="dropdown" data-target="mobile-sub-menu-149892" class="dropdown-toggle" role="menuitem">Explore the NEK<span class="caret"></span></a><ul class="dropdown-menu" id="mobile-sub-menu-149892" role="menu"><li role="presentation" class=" menu-item-150023"><a href="/Northeast-Kingdom-of-Vermont-area-info/" target="_self" role="menuitem">Explore the NEK</a></li><li role="presentation" class=" menu-item-149969"><a href="/home/what-s-happening-newsletter-library/" target="_self" role="menuitem">What's Happening</a></li></ul></li><li role="presentation" class="has-children menu-item-149893"><a href="#" target="_self" rel="noopener" data-toggle="dropdown" data-target="mobile-sub-menu-149893" class="dropdown-toggle" role="menuitem">About Us<span class="caret"></span></a><ul class="dropdown-menu" id="mobile-sub-menu-149893" role="menu"><li role="presentation" class=" menu-item-149954"><a href="/about-us/" target="_self" role="menuitem">About Us</a></li><li role="presentation" class=" menu-item-149955"><a href="/our-agents/" target="_self" role="menuitem">Our Agents</a></li><li role="presentation" class=" menu-item-149956"><a href="/testimonials/" target="_self" role="menuitem">Testimonials</a></li><li role="presentation" class=" menu-item-149957"><a href="/about-stonecrest-properties/consumer-information-disclosure/" target="_self" role="menuitem">Consumer Information Disclosure</a></li></ul></li><li role="presentation" class=" menu-item-173409"><a href="/testimonials/" target="_self" role="menuitem">Testimonials</a></li><li role="presentation" class=" menu-item-149894"><a href="/contact-us/" target="_self" role="menuitem">Contact</a></li></ul><ul class="nav navbar-nav user-nav"><li class="menu-item-saved-search" role="presentation"><a href="/realestate/searches/" rel="nofollow">Saved Searches</a></li><li class="menu-item-favorites" role="presentation"><a href="/realestate/favorites/view/" rel="nofollow">Favorites</a></li></ul></div></nav></div></div></div></div></div> 72</header> 73<div class="topWrap"> 74 <div id="top"><div id="autosuggestionsearch-237414" class="widget autosuggestionsearch container"><div class="autosuggest widget-autosuggest"><div class="widget-inner"><form action="/listings/" method="get"><div class="autosuggest-searchbar"><input type="search" placeholder="Search homes via address, city or ZIP code" aria-label=" Search: Search homes via address, city or ZIP code Use Up and Down to choose options, press Enter to select the currently focused option, press Escape to exit the menu, press Tab to select the option and exit the menu. " autocomplete="off" name="autosuggest-search-query" id="autosuggest-search-query-237414" maxlength="200" class="search-input form-control"/><div class="buttons"><div class="autosuggest-loader"></div><button class="usm-btn btn-search" id="autosuggest-search-button" role="button" aria-label="Search"><i class="fa fa-search"></i></button></div></div><div class="autosuggest-links"><div class="col-links"><a href="/listings/" class="usm-btn btn-link autosuggest-near-me" id="autosuggest-nearme">Near Me</a></div></div></form></div></div></div></div> 75</div> 76<div class="sub1Wrap"> 77 <div id="group1"></div> 78</div> 79<div class="sub2Wrap"> 80 <div id="group2"></div> 81</div> 82<section id="wrapper"> 83 <div class="content-row"> 84 <div class="contentWrap"> 85 <main><div class="contact-wrap"><div class="contact-left-wrap"><div class="breadcrumbs"><a href="/">Home</a><span>Contact</span></div><h1 class="title">Contact StoneCrest Properties</h1><div class="pre-content"></div><div class="contact-copy">We look forward to hearing from you!</div><div id="contact-content"><div class="show-phone-number"><a href="tel:802-626-4790" class="call-section-in-phone-number"><i class="fa fa-phone"></i><span>802-626-4790</span><span class="btn-call">call</span></a><div class="message-section-in-phone-number"><span>send us a message</span><i class="fa fa-angle-down"></i></div></div><div class="error-message-container"></div><form class="bootstrap-validate" id="contact-form" action="/mail/send/contact_form" method="post" data-pageview="/complete/contact-us"><input type="hidden" name="g-recaptcha-response" id="g-recaptcha-response" value="initalize" class="g-recaptcha-response"/><input type="hidden" name="mailformid" id="mailformid" value="contact_form"/><input type="hidden" name="FormKey" id="FormKey" value="d113e0552efd6ae9670d729b2cdc95b0"/><input type="hidden" name="Sent_Form" id="Sent_Form" value="Contact Page"/><input type="hidden" name="Sent From" id="Sent From" value="https://stonecrestpropertiesvt.com/contact-us/"/><div class="form-group name-group"><label class="sr-only" for="contactformname">Enter Your Name</label><input type="text" name="Name" class="required form-control contact-us-field" placeholder="*Full Name" id="contactformname" tabindex="2" required="required"/></div><div class="form-group email-group"><label required="required" class="sr-only" for="contactformemail">Enter Your Email Address</label><input type="text" name="Email" class="required email form-control contact-us-field" placeholder="*Email Address" id="contactformemail" tabindex="2" required="required"/></div><div class="form-group phone-group"><label class="sr-only" for="contactformphone">Enter Your Phone Number</label><input type="text" name="Phone" class="form-control phone" placeholder="Phone Number" id="contactformphone" tabindex="3"/></div><div class="form-group interest-group"><div style="display:none;"><label>I am interested in</label> 86 87<table> 88 <tbody> 89 <tr> 90 <td><input id="buyingproperty" name="buyingproperty" tabindex="4" type="checkbox" /> <label for="buyingproperty">Buying a property</label></td> 91 <td><input id="sellingproperty" name="sellingproperty" tabindex="5" type="checkbox" /> <label for="sellingproperty">Selling a property</label></td> 92 </tr> 93 </tbody> 94</table> 95</div> 96</div><div class="form-group realtors"><select name="Realtor" id="Realtor" class="form-control"><option value="">Your Agent (optional)</option><option value="0">I'm not working with an agent</option><option value="120979">Grasa Campbell</option><option value="86908">Kelly Deth</option><option value="86909">Nikki Peters</option><option value="86910">Nate Bartlett</option></select></div><div class="form-group comments"><label class="sr-only" for="contactformtextfield">Questions or Comments?</label><textarea name="Comments or questions" cols="30" rows="4" tabindex="10" id="contactformtextfield" class="required form-control contact-us-field" placeholder="*Questions or Comments?"></textarea></div><div class="form-group opt-in-block"><label class="show"><input type="checkbox" name="OptIn" value="1" class="required" required="required"/>
96<span class="control-label">Opt in</span></label><p>I agree to receive marketing and customer service calls and text messages from StoneCrest Properties. To opt out, you can reply 'stop' at any time or click the unsubscribe link in the emails. Consent is not a condition of purchase. Msg/data rates may apply. Msg frequency varies. <a href="/privacy-policy/">Privacy Policy</a>.</p></div><div style="display: none;">Do not fill in this field:<input type="text" name="topyenoh" id="topyenoh"/></div><div class="form-group buttons"><button name="Submit" type="Submit" class="btn usm-btn btn-default submit" tabindex="10"><span><i class="fa fa-envelope"></i></span> Send <i class="fa fa-angle-right"></i></button></div><div class="recaptcha-notice">This site is protected by reCAPTCHA and the Google <a href="https://policies.google.com/privacy">Privacy Policy</a> and <a href="https://policies.google.com/terms">Terms of Service</a> apply.</div></form></div><div class="contact-directions"><div class="contact-directions-content"></div></div></div><div class="contact-right-wrap"><div itemscope itemtype="http://schema.org/Organization"><div class="offices-title"><h3><i class="fa fa-map-marker"></i><span>Our Office</span></h3></div><div class="contact-address"><div class="panel contact-panel open"><div class="panel-heading"><h4 class="panel-title"><a role="button" data-toggle="collapse" data-parent="collapse" href="#collapse-11330">StoneCrest Properties<i class="fa fa-angle-up"></i></a></h4></div><div class="panel-collapse collapse in" id="collapse-11330"><div class="panel-body"><div class="phone"><div><div class="contact-icon"><i class="fa fa-phone"></i></div><div class="main-phone contact-content"><a href="tel:802-626-4790">P: 802-626-4790</a></div></div><div><div class="contact-icon"><i class="fa fa-fax"></i></div><div class="fax contact-content"><a href="tel:802-626-4789">F: 802-626-4789</a></div></div></div><div><div class="contact-icon"><i class="fa fa-envelope"></i></div><div class="contact-content"><a href="mailto:[email protected]">[email protected]</a></div></div><div class="address"><div class="contact-icon"><i class="fa fa-map-marker"></i></div><div class="contact-content"><a href="https://maps.google.com/?q=101 Depot Street,Lyndonville,VT,05851" target="_blank"><div>101 Depot Street<div class="address2">PO Box 132</div><div class="city-state-zip"><span class="city">Lyndonville, </span><span class="state">VT </span><span class="zip">05851</span></div></div></a></div></div></div></div></div></div></div></div></div></main> 97 <aside id="sidebar1"><div id="widget-ask-237416" class="widget askaquestion niceform container"><div class="widget-inner"><h3 class="widget-title">Contact Us</h3><div class="error-message-container"></div><form method="POST" action="/mail/send/sidebar_ask_a_question/" id="aaq-237416" data-pageview="/complete/ask-a-question/"><div><h4></h4><div class="contact-info"></div></div><div class="form-group form-group-name"><label class="sr-only" for="ask-237416-name">Full Name</label><input type="text" name="Name" class="required form-control" placeholder="*Full Name" id="ask-237416-name" required="required"/></div><div class="form-group form-group-email"><label class="sr-only" for="ask-237416-email">Email</label><input type="text" name="Email" class="required form-control email" placeholder="*Email Address" id="ask-237416-email" required="required"/></div><div class="form-group form-group-phone"><label class="sr-only" for="ask-237416-phone">Phone</label><input type="text" name="Phone" class="form-control phone " placeholder="Phone" id="ask-237416-phone"/></div><div class="form-group form-group-comments"><label class="sr-only" for="ask-237416-question">Questions or Comments?</label><textarea name="Comments" id="ask-237416-question" class="form-control required" placeholder="*Questions or Comments" cols="12" rows="7"></textarea></div><div style="display:none;">Do not fill in this field:<input type="text" name="topyenoh" id="topyenoh"/></div><input type="hidden" name="g-recaptcha-response" id="g-recaptcha-response" value="initalize" class="g-recaptcha-response"/><input type="hidden" name="FormKey" id="FormKey" value="d113e0552efd6ae9670d729b2cdc95b0"/><input type="hidden" name="Sent From" id="Sent From" value="https://stonecrestpropertiesvt.com/contact-us/"/><input type="hidden" name="mailformid" id="mailformid" value="sidebar_ask_a_question"/><input type="hidden" name="Sent_Form" id="Sent_Form" value="sidebar_ask_a_question"/><input type="hidden" name="RealtorID" id="RealtorID" title="RealtorID"/><div class="form-group opt-in-block"><label class="show"><input type="checkbox" name="OptIn" value="1" class="required" required="required"/>
97<span class="control-label">Opt in</span></label><p>I agree to receive marketing and customer service calls and text messages from StoneCrest Properties. To opt out, you can reply 'stop' at any time or click the unsubscribe link in the emails. Consent is not a condition of purchase. Msg/data rates may apply. Msg frequency varies. <a href="/privacy-policy/">Privacy Policy</a>.</p></div><div class="submit-btn"><button type="submit" name="send" class="usm-btn">Send</button></div><div class="recaptcha-notice">This site is protected by reCAPTCHA and the Google <a href="https://policies.google.com/privacy">Privacy Policy</a> and <a href="https://policies.google.com/terms">Terms of Service</a> apply.</div></form></div></div></aside> 98 </div> 99 </div> 100</section> 101<div class="sub3Wrap"> 102 <div id="group3"></div> 103</div> 104<div class="sub4Wrap"> 105 <div id="group4"><div id="recsearch-237362" class="widget recsearchlist recsearch recommendedsearchlist tabbed container"><h3 class="widget-title"></h3><div class="widget-inner"><ul class="nav nav-tabs"><li class="active recsearch-category-northeast-kingdom-towns"><a href="#tab-31649" data-toggle="tab">Northeast Kingdom Towns</a></li><li class="recsearch-category-caledonia-county"><a href="#tab-31650" data-toggle="tab">Caledonia County</a></li><li class="recsearch-category-essex-county"><a href="#tab-31651" data-toggle="tab">Essex County</a></li><li class="recsearch-category-orleans-county"><a href="#tab-31652" data-toggle="tab">Orleans County</a></li></ul><div class="tab-content"><div class="tab-pane active" id="tab-31649"><ul class="category-searches"><li><a title="Burke Vermont Real Estate" href="/northeast-kingdom-towns/burke/">Burke</a></li><li><a title="Lyndon Vermont Real Estate" href="/northeast-kingdom-towns/lyndon/">Lyndon</a></li><li><a title="St. Johnsbury Vermont Real Estate" href="/northeast-kingdom-towns/st-johnsbury/">St. Johnsbury</a></li><li><a title="Danville Vermont Real Estate" href="/northeast-kingdom-towns/danville/">Danville</a></li><li><a title="Kirby Vermont Real Estate" href="/northeast-kingdom-towns/kirby/">Kirby</a></li><li><a title="Sutton" href="/northeast-kingdom-towns/sutton/">Sutton</a></li><li><a title="Newark Vermont Real Estate" href="/northeast-kingdom-towns/newark/">Newark</a></li><li><a title="Sheffield Vermont Real Estate" href="/northeast-kingdom-towns/sheffield/">Sheffield</a></li><li><a title="Brighton Vermont Real Estate" href="/northeast-kingdom-towns/brighton/">Brighton</a></li><li><a title="Wheelock Vermont Real Estate" href="/northeast-kingdom-towns/wheelock/">Wheelock</a></li></ul></div><div class="tab-pane" id="tab-31650"><ul class="category-searches"><li><a title="Newark VT Real Estate" href="/caledonia-county/newark/">Newark</a></li><li><a title="Sutton VT Real Estate" href="/caledonia-county/sutton/">Sutton</a></li><li><a title="Barnet Vermont Real Estate" href="/caledonia-county/barnet/">Barnet</a></li><li><a title="Wheelock VT Real Estate" href="/caledonia-county/wheelock/">Wheelock</a></li><li><a title="Burke Vermont Real Estate" href="/caledonia-county/burke/">Burke</a></li><li><a title="Danville Vermont Real Estate" href="/caledonia-county/danville/">Danville</a></li><li><a title="Groton Vermont Real Estate" href="/caledonia-county/groton/">Groton</a></li><li><a title="Hardwick Vermont Real Estate" href="/caledonia-county/hardwick/">Hardwick</a></li><li><a title="Kirby Vermont Real Estate" href="/caledonia-county/kirby/">Kirby</a></li><li><a title="Lyndon Vermont Real Estate" href="/caledonia-county/lyndon/">Lyndon</a></li><li><a title="Peacham Vermont Real Estate" href="/caledonia-county/peacham/">Peacham</a></li><li><a title="Ryegate Vermont Real Estate" href="/caledonia-county/ryegate/">Ryegate</a></li><li><a title="Sheffield VT Real Estate" href="/caledonia-county/sheffield/">Sheffield</a></li><li><a title="St. Johnsbury VT Real Estate" href="/caledonia-county/st-johnsbury/">St. Johnsbury</a></li><li><a title="Stannard VT Real Estate" href="/caledonia-county/stannard/">Stannard</a></li><li><a title="Walden VT Real Estate " href="/caledonia-county/walden/">Walden</a></li><li><a title="Waterford Vermont Real Estate" href="/caledonia-county/waterford/">Waterford</a></li></ul></div><div class="tab-pane" id="tab-31651"><ul class="category-searches"><li><a title="Concord Vermont Real Estate" href="/essex-county/concord/">Concord</a></li><li><a title="East Haven VT Real Estate" href="/essex-county/east-haven/">East Haven</a></li><li><a title="Victory VT Real Estate" href="/essex-county/victory/">Victory</a></li><li><a title="Maidstone Vermont Real Estate" href="/essex-county/maidstone/">Maidstone</a></li><li><a title="Granby VT Real Estate" href="/essex-county/granby/">Granby</a></li><li><a title="Averill Vermont Real Estate" href="/essex-county/averill/">Averill</a></li><li><a title="Bloomfield Vermont Real Estate" href="/essex-county/bloomfield/">Bloomfield</a></li><li><a title="Brighton VT Real Estate" href="/essex-county/brighton/">Brighton</a></li><li><a title="Brunswick Vermont Real Estate" href="/essex-county/brunswick/">Brunswick</a></li><li><a title="Canaan Vermont Real Estate" href="/essex-county/canaan/">Canaan</a></li><li><a title="Ferdinand Vermont Real Estate" href="/essex-county/ferdinand/">Ferdinand</a></li><li><a title="Guildhall Vermont Real Estate" href="/essex-county/guildhall/">Guildhall</a></li><li><a title="Lemington Vermont Real Estate" href="/essex-county/lemington/">Lemington</a></li><li><a title="Lunenburg VT Real Estate" href="/essex-county/lunenburg/">Lunenburg</a></li><li><a title="Norton VT Real Estate" href="/essex-county/norton/">Norton</a></li></ul></div><div class="tab-pane" id="tab-31652"><ul class="category-searches"><li><a title="Newport Vermont Real Estate" href="/orleans-county/newport/">
105Newport</a></li><li><a title="Westmore VT Real Estate" href="/orleans-county/westmore/">Westmore</a></li><li><a title="Morgan Vermont Real Estate" href="/orleans-county/morgan/">Morgan</a></li><li><a title="Westfield Vermont Real Estate" href="/orleans-county/westfield/">Westfield</a></li><li><a title="Barton Vermont Real Estate" href="/orleans-county/barton/">Barton</a></li><li><a title="Jay Vermont Real Estate" href="/orleans-county/jay/">Jay</a></li><li><a title="Glover VT Real Estate" href="/orleans-county/glover/">Glover</a></li><li><a title="Coventry Vermont Real Estate" href="/orleans-county/coventry/">Coventry</a></li><li><a title="Brownington VT Real Estate" href="/orleans-county/brownington/">Brownington</a></li><li><a title="Charleston Vermont Real Estate" href="/orleans-county/charleston/">Charleston</a></li><li><a title="Craftsbury Vermont Real Estate" href="/orleans-county/craftsbury/">Craftsbury</a></li><li><a title="Derby Vermont Real Estate" href="/orleans-county/derby/">Derby</a></li><li><a title="Albany Vermont Real Estate" href="/orleans-county/albany/">Albany</a></li><li><a title="Greensboro Vermont Real Estate" href="/orleans-county/greensboro/">Greensboro</a></li><li><a title="Holland Vermont Real Estate" href="/orleans-county/holland/">Holland</a></li><li><a title="Irasburg Vermont Real Estate" href="/orleans-county/irasburg/">Irasburg</a></li><li><a title="Lowell Vermont Real Estate" href="/orleans-county/lowell/">Lowell</a></li><li><a title="Troy Vermont Real Estate" href="/orleans-county/troy/">Troy</a></li></ul></div></div><a href="/realestate/searchcategories/" title="View All Recommended Searches" class="usm-btn view-all">View all</a></div> 106 </div></div> 107</div> 108<div class="footWrap"> 109 <div id="footer"><div id="image-237359" class="widget image container"><a href="/" target="_self"><img src="https://d3w216np43fnr4.cloudfront.net/9194/237359/2.png?version=1683471375" alt="StoneCrest Properties" width="500" height="135"/></a></div><div id="menuwidget-237421" class="widget menu menuwidget bare container"><h3 class="widget-title">Quick Links</h3><div class="widget-inner"><ul role="menubar"><li role="presentation" class=" menu-item-149925"><a href="/search-vermont/" target="_self" role="menuitem">Search VT MLS</a></li><li role="presentation" class=" menu-item-149926"><a href="/buyers/" target="_self" role="menuitem">Buying Info</a></li><li role="presentation" class=" menu-item-149927"><a href="/sellers/" target="_self" role="menuitem">Sellers</a></li><li role="presentation" class=" menu-item-149929"><a href="/Northeast-Kingdom-of-Vermont-area-info/" target="_self" role="menuitem">Explore the NEK</a></li><li role="presentation" class=" menu-item-149930"><a href="/about-us/" target="_self" role="menuitem">About Us</a></li><li role="presentation" class=" menu-item-149931"><a href="/contact-us/" target="_self" role="menuitem">Contact</a></li></ul></div></div><div id="codewidget-237398" class="widget code codewidget container"><div class="footer-contact"> 110 <h3>Contact Us</h3> 111 <a href="https://maps.google.com/?q=101 Depot Street,Lyndonville, VT 05851" target="_blank">101 Depot Street<br>PO Box 132<br>Lyndonville, VT 05851</a> 112 <a href="tel:802-626-4790">802-626-4790</a> 113 <a href="/contact-us/">[email protected]</a> 114</div></div><div id="sociallinks-237361" class="widget sociallinks socialinkswidget flat container"><ul class="fa-social-links sm40"><li><a target="_blank" title="Facebook" href="https://www.facebook.com/StoneCrest-Properties-103968479652719/" class="fa-social-links fsml-facebook" rel="noopener nofollow"><i class="fa fa-facebook"></i><span class="sr-only">Facebook</span></a></li><li><a target="_blank" title="Youtube" href="https://www.youtube.com/channel/UCN5VP-LlMrLJVzR7Elf1JEw" class="fa-social-links fsml-youtube" rel="noopener nofollow"><i class="fa fa-youtube"></i><span class="sr-only">Youtube</span></a></li><li><a target="_blank" title="Instagram" href="https://www.instagram.com/stonecrestproperties/" class="fa-social-links fsml-instagram" rel="noopener nofollow"><i class="fa fa-instagram"></i><span class="sr-only">Instagram</span></a></li></ul></div></div> 115</div> 116<footer class="usmWrap"> 117 <div id="group5"><div id="associations-237358" class="widget associations container"><div id="footer-logos" style="width: 100%"><div id="footer-logos-left-assoc"></div><div id="footer-logos-right-accred"></div><div id="footer-logos-right-custom"><img src="https://d3w216np43fnr4.cloudfront.net/9194/237358/1.png?version=1683712570" title="Association logos" alt="Association logos"/></div></div></div><div id="textwidget-237394" class="widget text textwidget container"><h3 class="widget-title"></h3><div class="widget-inner"><p><a href="/privacy-policy/">Privacy Policy</a></p> 118</div></div><div id="usmlogo-237357" class="widget usmlogo container"><a href="https://www.unionstreetmedia.com/?utm_campaign=passive&utm_medium=usm-badge&utm_source=www.stonecrestpropertiesvt.com&
118utm_content=real-estate" rel="nofollow noopener" title="VT NH Real Estate Web Design" target="_blank"><img src="https://d1mlo4htassgww.cloudfront.net/i/usmtag/usm-short-white.png?version=1790684522" alt="Union Street Media Logo"/></a></div></div> 119</footer><div id="progress"><i class="fa fa-spinner fa-spin"></i></div>
119<script type="text/javascript"> require(["jquery", "usm", "usm.modalform"], function($, usm) { 120 usm.modalForm.addValidation($('#contact-content')); 121 }); 122 require(["jquery"], function ($) { 123 var $navbarToggle = $("#menuwidget-237366 .navbar-toggle"); 124 125 $navbarToggle.click(function () { 126 var target = $(this).data("target"); 127 $(target).parent("nav").toggleClass("active"); 128 if ($(target).parent("nav").hasClass("active")) { 129 $("body").addClass("modal-open"); 130 } else { 131 $("body.modal-open").removeClass("modal-open"); 132 } 133 }); 134 135 $("#menuwidget-237366 .menu-close").click(function (e) { 136 $navbarToggle.click(); 137 e.preventDefault(); 138 }); 139 140 $("#menuwidget-237366 li.has-children ul li").click(function (event) { 141 event.stopPropagation(); 142 }); 143 }); 144 145 require(["jquery"], function ($) { 146 function goSearch(lat, lon) { 147 let searchUrl = "/listings/?"; 148 149 // location param format in map view is 150 if (lat && lon) { 151 // default from v2 152 let radius = 5; 153 searchUrl += "location=" + radius + "@" + lat + "%2C" + lon; 154 } 155 156 window.location.href = searchUrl; 157 } 158 $(".autosuggest-near-me").on("click", function(e) { 159 e.preventDefault(); 160 eHref = e.currentTarget.href; 161 162 if (navigator.geolocation) { 163 var coords = navigator.geolocation.getCurrentPosition( 164 function (position) { 165 var lat = position.coords.latitude, 166 lon = position.coords.longitude; 167 goSearch(lat, lon); 168 } 169 ); 170 } else { 171 alert("There is no location support on this device or it is disabled. Please check your settings."); 172 } 173 }); 174 }); 175 176 // Searchable suggestions with a label values for the suggestion. 177 var SEARCHABLE_SUGGESTIONS_OPTIONS = { 178 usmCityAndState: '', 179 county: ' - County', 180 stateOrProvince: '', 181 usmNeighborhood: ' - Neighborhood', 182 postalCode: ' - Zip Code', 183 listingId: ' - MLS Number', 184 usmNonMlsId: ' - Internal ID', 185 elementarySchool: ' - Elementary School', 186 middleOrJuniorSchool: ' - Middle Or Junior High School', 187 usmArea: ' - Area', 188 address: ' - Address', 189 highSchool: ' - High School', 190 highSchoolDistrict: ' - School District', 191 usmVillage: ' - Village', 192 usmSubdivision: ' - Subdivision', 193 streetName: ' - Street', 194 usmComplex: ' - Complex', 195 usmPropertyName: ' - Property Name', 196 mlsAreaMinor: ' - MLS Area Minor', 197 mlsAreaMajor: ' - MLS Area Major', 198 offMarketData: ' - Off Market', 199 title: 'title', 200 agent: ' - Agent', 201 team: ' - Team', 202 } 203 204 var displayWaterBodyNameSuggestions = '1'; 205 var showAgentsSearch = '0'; 206 207 if (displayWaterBodyNameSuggestions) { 208 SEARCHABLE_SUGGESTIONS_OPTIONS.waterBodyName = ' - Water Body Name'; 209 } 210 211 var suggestionResponse = null; 212 require(['jquery'], function($) { 213 /** 214 * Get current search mode based on active button 215 */ 216 function getCurrentSearchMode() { 217 if (showAgentsSearch === '1' && $('#agents-237414').hasClass('active')) { 218 return 'agents'; 219 } else if ($('#rentals-property-types-237414').hasClass('active')) { 220 return 'rentals'; 221 } else { 222 return 'sales'; 223 } 224 } 225 226 /** 227 * Filter out not supported suggestions. 228 * 229 * @param suggestions 230 * @returns {[]} 231 */ 232 function sanitizeSuggestions(suggestions) { 233 const sanitizedSuggestions = []; 234 if (suggestions && Array.isArray(suggestions)) { 235 for (var suggestionIndex in suggestions) { 236 var suggestion = suggestions[suggestionIndex]; 237 238 var suggestionType = suggestion.type; 239 // Filter out suggestions that are not currently supported 240 if (!SEARCHABLE_SUGGESTIONS_OPTIONS.hasOwnProperty(suggestionType)) { 241 continue; 242 } 243 244 sanitizedSuggestions.push(suggestion); 245 } 246 return sanitizedSuggestions; 247 } 248 249 return []; 250 } 251 252 /** 253 * Transform agents API response to suggestions format 254 */ 255 function transformAgentsToSuggestions(responseData) { 256 if (!Array.isArray(responseData?.agents) || !Array.isArray(responseData?.teams)) { 257 return []; 258 } 259 const data = [ 260 ...responseData.agents.map(agent => ({ ...agent, type: 'agent' })), 261 ...responseData.teams.map(team => ({ ...team, type: 'team' })) 262 ]; 263 264 return data.map((item) => ({ 265 label: item.name, 266 value: item.name, 267 type: item.type, 268 id: item.id, 269 slug: item.slug, 270 })); 271 } 272 273 /** 274 * Check if the parameter looks like an address (starts with digits followed by words) 275 */ 276 function shouldReduceByAddress(value) { 277 var addressPattern = /^\d+\s+\w+/i; 278 return addressPattern.test(value.trim()); 279 } 280 281 function fetchSuggestions(request, response) { 282 var param = request.term; 283 var requestPrefix = ''; 284 var isOMPEnabled = requestPrefix === 'OMP:'; 285 var searchMode = getCurrentSearchMode(); 286 287 // Restrict search length to minimum 2 characters before sending the request. 288 if (param.length < 2) { 289 // We do not store and show recent searches if OMP is enabled or in agents mode 290 var isRecentSearchesDisabled = isOMPEnabled || searchMode === 'agents'; 291 var recentSearches = isRecentSearchesDisabled ? [] : JSON.parse(window.localStorage.getItem('lastSearches')); 292 293 if (recentSearches && recentSearches.length > 0) { 294 recentSearches.unshift({label: 'Recent Searches', value: 'Recent Searches', type: 'title'}) 295 response(recentSearches); 296 } else { 297 response([{label: 'The search word must be at least 3 characters long.', noResults: true}]); 298 } 299 } else { 300 // Different API endpoints based on search mode 301 var baseUrl = ''; 302 var requestData = {}; 303 304 if (searchMode === 'agents') { 305 baseUrl = '/api/suggestions/teams/'; 306 requestData = { 307 q: param, 308 }; 309 } else { 310 baseUrl = '/api/suggestions/'; 311 requestData = { 312 q: requestPrefix + param 313 }; 314 315 if (shouldReduceByAddress(param)) { 316 requestData.reduce = 'usmFullAddress'; 317 } 318 } 319 320 $.ajax({ 321 dataType: 'json', 322 url: baseUrl, 323 data: requestData, 324 type: 'GET', 325 timeout: 10000, 326 success: function(data) { 327 var suggestions = []; 328 329 if (searchMode === 'agents') { 330 // Transform agents response 331 suggestions = transformAgentsToSuggestions(data); 332 } else { 333 // Regular suggestions 334 if (data.suggestions && data.suggestions.length > 0) { 335 suggestions = sanitizeSuggestions(data.suggestions); 336 } 337 } 338 339 if (suggestions.length > 0) { 340 // Set the suggestion response to the first suggestion 341 suggestionResponse = suggestions[0]; 342 response(suggestions); 343 } else { 344 // No results from API 345 var noResultsMessage = searchMode === 'agents' ? 'No agents found.' : 'Enter another region.'; 346 response([{label: noResultsMessage, noResults: true}]); 347 } 348 }, 349 error: function() { 350 response([{label: 'Problem contacting server, please refresh and try again.', noResults: true}]); 351 $('.autosuggest-loader').removeClass('fal fa-spinner fa-pulse'); 352 $('.autosuggest-loader').addClass('fal fa-exclamation-triangle'); 353 } 354 }); 355 } 356 } 357 358 $('#autosuggest-search-query-237414').autocomplete({ 359 source: function(request, response) { 360 fetchSuggestions(request, response); 361 }, 362 minLength: 0, 363 open: function() {
364 inputWidth = $('#autosuggest-search-query-237414').outerWidth(); 365 $('ul.ui-menu').css( 'width', inputWidth ); 366 }, 367 search: function(event, ui) { 368 $('.autosuggest-loader').addClass('fal fa-spinner fa-pulse'); 369 }, 370 response: function(event, ui) { 371 $('.autosuggest-loader').removeClass('fal fa-spinner fa-pulse'); 372 }, 373 position: { 374 offset: '0 -6' 375 }, 376 autoFocus: true, 377 messages: { 378 //These messages are for accessability and are not visible in the UI (with proper styling). 379 noResults: 'No options found.', 380 results: function(amount) { 381 return amount + (amount > 1 ? ' results ' : ' result ') + 'found.' 382 } 383 }, 384 delay: 300 385 }).focus(function() { 386 $(this).autocomplete('search', $(this).val()); 387 }).data('ui-autocomplete')._renderItem = function(ul, item) { 388 let txt = String(item.label); 389 390 if (item.type) { 391 txt = txt.replace(new RegExp(this.term, 'gi'),'<b>$&</b>'); 392 } 393 394 var type = item.type; 395 396 if (SEARCHABLE_SUGGESTIONS_OPTIONS.hasOwnProperty(type)) { 397 type = SEARCHABLE_SUGGESTIONS_OPTIONS[type]; 398 399 if (type == 'listingId') { 400 txt = txt.toUpperCase(); 401 } 402 } else { 403 type = ''; 404 } 405 406 if (type === 'title') { 407 return $('<li></li>') 408 .append('<div class="item-title"><b>' + txt + '</b></div>') 409 .appendTo(ul); 410 } 411 412 var status = ''; 413 if (item.standardStatus && item.standardStatus.length === 1 && item.standardStatus[0] === 'Closed') { 414 status = ' <span class="ui-status">Sold</span>'; 415 } 416 417 const itemNoResultsClassName = !!item?.noResults ? 'autosuggest-item-no-result' : ''; 418 419 return $(`<li class='${itemNoResultsClassName}'></li>`) 420 .data('ui-autocomplete-item', item) 421 .append('<a>' + txt + '<span>' + type + '</span>' + status + '</a>') 422 .appendTo(ul); 423 }; 424 }); 425 426 require(['jquery'], function($) { 427 var stateMap = JSON.parse('{"Alabama":"AL","Alaska":"AK","Arizona":"AZ","Arkansas":"AR","Bahamas":"BS","California":"CA","Colorado":"CO","Connecticut":"CT","Delaware":"DE","D.C.":"DC","Florida":"FL","Georgia":"GA","Hawaii":"HI","Idaho":"ID","Illinois":"IL","Indiana":"IN","Iowa":"IA","Kansas":"KS","Kentucky":"KY","Louisiana":"LA","Maine":"ME","Maryland":"MD","Massachusetts":"MA","Michigan":"MI","Minnesota":"MN","Mississippi":"MS","Missouri":"MO","Montana":"MT","Nebraska":"NE","Nevada":"NV","New Hampshire":"NH","New Jersey":"NJ","New Mexico":"NM","New York":"NY","North Carolina":"NC","North Dakota":"ND","Ohio":"OH","Oklahoma":"OK","Oregon":"OR","Pennsylvania":"PA","Rhode Island":"RI","South Carolina":"SC","South Dakota":"SD","Tennessee":"TN","Texas":"TX","Utah":"UT","Vermont":"VT","Virginia":"VA","Washington":"WA","West Virginia":"WV","Wisconsin":"WI","Wyoming":"WY","Alberta":"AB","British Columbia":"BC","Manitoba":"MB","New Brunswick":"NB","Newfoundland and Labrador":"NL","Nova Scotia":"NS","Ontario":"ON","Prince Edward Island":"PE","Quebec":"QC","Saskatchewan":"SK"}'); 428 const MAX_RECENT_SEARCHES_CACHED = 5; 429 var showAgentsSearch = '0'; 430 431 function getCurrentSearchMode() { 432 if (showAgentsSearch === '1' && $('#agents-237414').hasClass('active')) { 433 return 'agents'; 434 } else if ($('#rentals-property-types-237414').hasClass('active')) { 435 return 'rentals'; 436 } else { 437 return 'sales'; 438 } 439 } 440 441 /** 442 * Update placeholder based on current search mode 443 */ 444 function updatePlaceholder() { 445 var searchMode = getCurrentSearchMode(); 446 var searchInput = $('#autosuggest-search-query-237414'); 447 var placeholder = ''; 448 449 switch(searchMode) { 450 case 'agents': 451 placeholder = 'Search for agents by name'; 452 break; 453 case 'rentals': 454 case 'sales': 455 default: 456 placeholder = `Search homes via address, city or ZIP code`; 457 break; 458 } 459 460 searchInput.attr('placeholder', placeholder); 461 } 462 463 function getStateAbbreviation(stateName) { 464 if (!stateName) { 465 return null; 466 } 467 468 if (!stateMap.hasOwnProperty(stateName)) { 469 return null; 470 } 471 472 return stateMap[stateName]; 473 } 474
475 function goToDetailView(filter) { 476 var baseUrl = '/api/listings/'; 477 // We should use this replace in order to divide params into array in the ListingSearch.php in the V2 478 filter = filter.replace(/\S&\S/g, function (tmpVal) { 479 return tmpVal.replace(/&/g, '#'); 480 }); 481 filter = encodeURIComponent(filter); 482 $.ajax({ 483 dataType: 'json', 484 url: baseUrl + '?suggestionFilter=' + filter, 485 type: 'GET', 486 success: function(data) { 487 if (!Array.isArray(data.listings)) { 488 return; 489 } 490 491 if (data.listings.length === 1) { 492 window.location.href = data.listings[0].usmDetailPath; 493 494 return; 495 } 496 497 if (data.listings.length > 1) { 498 window.location.href = '/listings/' + '?suggestionFilter=' + filter; 499 500 return; 501 } 502 } 503 }); 504 } 505 506 function getCityAndStatePath(value) { 507 var array = value.split(' '); 508 509 const state = array.pop().toLowerCase(); 510 const city = array.join('-').toLowerCase(); 511 512 return state + '/' + city + '/'; 513 } 514 515 function parseFilterString(filterString) { 516 var filters = {}; 517 if (!filterString) { 518 return filters; 519 } 520 filterString.split('&').forEach(function(f) { 521 var parts = f.split('='); 522 if (parts.length >= 2) { 523 var name = parts[0].match(/\[(.*?)\]/)?.[1]; 524 if (name) { 525 filters[name] = decodeURIComponent(parts.slice(1).join('=')); 526 } 527 } 528 }); 529 return filters; 530 } 531 532 function getStateAbbrFromFilterValue(stateValue) { 533 if (!stateValue) { 534 return null; 535 } 536 var abbr = getStateAbbreviation(stateValue); 537 if (abbr) { 538 return abbr.toLowerCase(); 539 } 540 if (stateValue.length === 2) { 541 return stateValue.toLowerCase(); 542 } 543 return null; 544 } 545 546 /** 547 * Build url with path based on the selected suggestion. 548 * 549 */ 550 function getUrlPath(suggestion) { 551 let path = ''; 552 switch (suggestion.type) { 553 case 'cityAndState': 554 path += getCityAndStatePath(suggestion.value); 555 556 return path; 557 case 'stateOrProvince': 558 var stateAbbreviation = getStateAbbreviation(suggestion.value); 559 560 if (stateAbbreviation && stateAbbreviation.length == 2) { 561 path += stateAbbreviation.toLowerCase() + '/'; 562 } 563 564 return path; 565 case 'neighborhood': 566 case 'village': 567 path += convertFilterString(suggestion.filter); 568 569 return path; 570 case 'county': { 571 var filters = parseFilterString(suggestion.filter); 572 var county = filters.county; 573 var stateAbbr = getStateAbbrFromFilterValue(filters.stateOrProvince); 574 if (county && stateAbbr) { 575 var countySlug = county.replace(/\s+county$/i, '').toLowerCase().replace(/\s+/g, '-') + '-county'; 576 path = stateAbbr + '/' + countySlug + '/'; 577 } 578 return path; 579 } 580 case 'postalCode': { 581 var filters = parseFilterString(suggestion.filter); 582 var postalCode = filters.postalCode; 583 var stateAbbr = getStateAbbrFromFilterValue(filters.stateOrProvince); 584 if (postalCode && stateAbbr) { 585 path = stateAbbr + '/' + postalCode + '/'; 586 } 587 return path; 588 } 589 default: 590 return path; 591 } 592 } 593 594 function convertFilterString(filterString) { 595 if (!filterString) { 596 return ''; 597 } 598 599 const filters = filterString.split('&'); 600 const suggestionFilters = filters.map(filter => { 601 const filterPart = filter.split('='); 602 603 if (filterPart.length !== 2) { 604 return null; 605 } 606 607 const [key, value] = filterPart; 608 const name = key.match(/\[(.*?)\]/)?.[1]; 609 610 if (!name) return null; 611 612 return name === 'cityAndState' || name === 'usmCityAndState' 613 ? getCityAndStatePath(value) + '?' 614 : name + '=' + value ; 615 }); 616 617 return getPathFromFilters(suggestionFilters); 618 } 619 620 function getPathFromFilters(suggestionFilters) { 621 if (!suggestionFilters || suggestionFilters.length === 0) { 622 return ''; 623 } 624 625 const cityAndStateItem = suggestionFilters.find(item => item.includes('/?')); 626 627 if (!cityAndStateItem) { 628 return '?' + suggestionFilters.join('&'); 629 } 630 631 const filtersWithoutCityAndState = suggestionFilters.filter(item => item !== cityAndStateItem); 632 633 return cityAndStateItem + filtersWithoutCityAndState.join('&'); 634 } 635 636 function getPropertyDetailPathFromOffMarketSuggestion(suggestion) { 637 if (!suggestion) { 638 return ''; 639 } 640 641 const { value, filter } = suggestion; 642 const startIndex = filter?.indexOf('=') + 1; 643 const usmPid = filter?.substring(startIndex); 644 645 const address = value?.split(' ') 646 ?.map(function(word) { return word.toLowerCase() }) 647 ?.join('-') || ''; 648 649 return '/property/' + address + '/' + usmPid + '/'; 650 }; 651 652 function submitSearch(e, item) { 653 e.preventDefault(); 654 655 if (!item) { 656 return; 657 } 658 659 // If the item has no type, it's an error message and shouldn't send anywhere 660 if (!item.type) { 661 return; 662 } 663 664 var searchMode = getCurrentSearchMode(); 665
666 // Finish the input in case a selection was made without completing it 667 $('#autosuggest-search-query').val(item.type === 'listingId' ? item.value.toUpperCase() : item.label); 668 669 if (item.type === 'agent' || item.type === 'team') { 670 window.location.href = `/realestate/${item.type}/${item.slug}/`; 671 672 return; 673 } 674 675 // Send to detail view if MLS Number 676 if (item.type === 'listingId' || item.type === 'address' || item.type === 'usmPropertyName' || item.type === 'usmNonMlsId') { 677 var filter = item.filter; 678 679 if (item.standardStatus && item.standardStatus.length > 0) { 680 var statusList = Array.isArray(item.standardStatus) 681 ? item.standardStatus 682 : [item.standardStatus]; 683 // It is very common for listings other than 'Active 'to being filtered out, so we need to add this filter to ensure that they are returned by the listings api 684 filter += (filter !== '' ? '&' : '') + 'filter[standardStatus]=' + statusList.join(','); 685 } 686 goToDetailView(filter); 687 688 return; 689 } else if (item.type === 'offMarketData') { 690 const propertyPath = getPropertyDetailPathFromOffMarketSuggestion(item); 691 692 window.location.href = propertyPath; 693 694 return; 695 } 696 697 item.type = item.type.replace('usmCityAndState', 'cityAndState') 698 .replace('usmNeighborhood', 'neighborhood') 699 .replace('usmVillage', 'village') 700 .replace('usmSubdivision', 'subdivision') 701 .replace('usmComplex', 'complex'); 702 703 if (item.type === 'cityAndState') { 704 item.value = item.value.replace(', ', ' '); 705 } 706 707 path = getUrlPath(item); 708 709 // Don't save agents to recent searches 710 if (searchMode !== 'agents') { 711 var searches = [Object.assign({}, item)]; 712 var storedSearches = JSON.parse(localStorage.getItem('lastSearches')); 713 714 if (storedSearches) { 715 searches = storedSearches.filter(function(storedSearch) { 716 storedSearch.value !== item.value 717 }); 718 storedSearches = searches.length <= (MAX_RECENT_SEARCHES_CACHED - 1) 719 ? searches 720 : searches.slice(0,-1); 721 searches = [Object.assign({}, item), ...storedSearches]; 722 } 723 724 localStorage.setItem('lastSearches', JSON.stringify(searches)); 725 } 726 727 var propertyTypeFilter = ''; 728 var displaySalesRentalsToggle = ''; 729 730 if (displaySalesRentalsToggle && searchMode !== 'agents') { 731 var forSalePropertyTypes = ''; 732 var rentalsPropertyTypes = ''; 733 var forSaleLabel = 'Sales'; 734 var rentalsLabel = 'Rentals'; 735 var agentsLabel = ''; 736 var propertyTypes = $('#sales-property-types-237414').hasClass('active') ? forSalePropertyTypes : rentalsPropertyTypes; 737 738 if (propertyTypes) { 739 var urlPathTypes = ['cityAndState', 'county', 'postalCode']; 740 if (urlPathTypes.indexOf(item.type) !== -1 && !propertyTypes.includes(',')) { 741 path = path + propertyTypes.toLowerCase() + '/'; 742 } else { 743 propertyTypeFilter = 'propertyTypes=' + propertyTypes; 744 } 745 } 746 } 747 748 var fullPath = ''; 749 if (path.length > 0) { 750 var separator = path.indexOf('?') !== -1 ? '&' : '?'; 751 fullPath = '/listings/' + path + separator +'' + propertyTypeFilter; 752 } else { 753 fullPath = '/listings/?' + item.type + '=' + encodeURIComponent(item.value) + '&' + propertyTypeFilter; 754 } 755 756 // Remove trailing ? or & 757 const lastChar = fullPath.charAt(fullPath.length - 1); 758 if (lastChar === '?' || lastChar === '&') { 759 fullPath = fullPath.slice(0, -1); 760 } 761 762 window.location.href = fullPath; 763 } 764 765 $('.widget-autosuggest').on('submit', function(e) { 766 submitSearch(e, suggestionResponse); 767 }); 768 769 $('.widget-autosuggest').on('autocompleteselect', function(e, ui) { 770 submitSearch(e, ui.item); 771 }); 772 773 var salesPropertyTypesButton = $('#sales-property-types-237414'); 774 var rentalPropertyTypesButton = $('#rentals-property-types-237414'); 775 var agentsButton = $('#agents-237414'); 776 777 // Function to clear search and refresh autocomplete 778 function clearSearchAndRefresh() { 779 $('#autosuggest-search-query-237414').val('').autocomplete('search', ''); 780 } 781
782 const buttons = [salesPropertyTypesButton, rentalPropertyTypesButton]; 783 if (showAgentsSearch === '1') { 784 buttons.push(agentsButton); 785 } 786 787 function setActiveButton(activeButton, buttons) { 788 $.each(buttons, function(index, btn) { 789 btn.removeClass('active'); 790 }); 791 activeButton.addClass('active'); 792 updatePlaceholder(); 793 clearSearchAndRefresh(); 794 } 795 796 salesPropertyTypesButton.on('click', function() { 797 setActiveButton(salesPropertyTypesButton, buttons); 798 }); 799 800 rentalPropertyTypesButton.on('click', function() { 801 setActiveButton(rentalPropertyTypesButton, buttons); 802 }); 803 804 // Only add event handler if agents search is enabled 805 if (showAgentsSearch === '1') { 806 agentsButton.on('click', function() {
807 setActiveButton(agentsButton, buttons); 808 }); 809 } 810 811 // Initialize placeholder on document ready 812 $(document).ready(function() { 813 updatePlaceholder(); 814 }); 815 }); 816 817 require(["jquery", "usm", "usm.modalform", "usm.analytics"], function($, usm) { 818 var $form = $('form#aaq-237416'); 819 820 var options = { 821 postSuccess: function (e) { 822 if (typeof dataLayer !== 'undefined') { 823 dataLayer.push({"event":"Contact_Form","form_name":"Ask A Question - General"}); 824 } 825 } 826 }; 827 828 usm.modalForm.addValidation($form, options); 829 }); 830 831 require(["jquery", "usm", "bootstrap"], function ($, usm) { 832 if (usm.touchSupport) { 833 require(["bootstraptabcollapse"], function() { 834 $(document).ready(function() { 835 var tab = $("#recsearch-237362 .nav-tabs"); 836 837 if (tab) { 838 tab.tabCollapse(); 839 840 //It is a specific task for adding category class for the rec search items by category name 841 tab.on("shown-accordion.bs.tabcollapse", function(e) { 842 let tabPanel = document.querySelectorAll("#recsearch-237362 .panel-group .panel"); 843 844 if (tabPanel) { 845 let classList = []; 846 847 e.target.querySelectorAll("li").forEach((li) => { 848 li.className.split(' ').forEach((className) => { 849 if (!classList.includes(className) && className.indexOf("recsearch-category-") !== -1) { 850 classList.push(className); 851 } 852 }); 853 }); 854 855 tabPanel.forEach((panel, index) => { 856 if (!panel.classList.contains(classList[index])) { 857 panel.classList.add(classList[index]); 858 } 859 }); 860 } 861 }); 862 } 863 }); 864 }); 865 } 866 }); 867 var URI = "/article/contactus/";require(['usm', 'usm.user'], function (usm) { usm.user.setModal(true); });require(["jquery"], function ($) { $("body").addClass("js"); });</script>
867<script type="text/javascript">require(["https://d1nn5t56all1qd.cloudfront.net/9194/js/custom.js?version=1683726502"]);</script>
867</body> 868</html><!-- You're on: Some other server - 172.18.22.9 - stonecrestpropertiesvt.com Time: 0.907 -->
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.