PageSourceSearch

https://www.thewilliamsgroupal.com/blog/

html thewilliamsgroupal.com collected 2026-10-04 21:43:40 UTC 211,899 bytes, 1,069 lines download raw bytes

1<!DOCTYPE html>
2<html class="" lang="en-US">
3<head>
4    <!-- lPRXV-WORD06 -->
5    <meta charset="utf-8">
5<script type="text/javascript">(window.NREUM||(NREUM={})).init={privacy:{cookies_enabled:true},ajax:{deny_list:["bam.nr-data.net"]},distributed_tracing:{enabled:true}};(window.NREUM||(NREUM={})).loader_config={agentID:"15772231",accountID:"27781",trustKey:"27781",xpid:"VgEAWVdACQYHV1lRBgA=",licenseKey:"NRBR-ef6a1ade564393667ce",applicationID:"15738311",browserID:"15772231"};;/*! For license information please see nr-loader-spa-1.323.0.min.js.LICENSE.txt */
6(()=>{var e={8122(e,t,r){"use strict";r.d(t,{a:()=>i});var n=r(944);function i(e,t){try{if(!e||"object"!=typeof e)return(0,n.R)(3);if(!t||"object"!=typeof t)return(0,n.R)(4);const r=Object.create(Object.getPrototypeOf(t),Object.getOwnPropertyDescriptors(t)),s=0===Object.keys(r).length?e:r;for(let a in s)if(void 0!==e[a])try{if(null===e[a]){r[a]=null;continue}Array.isArray(e[a])&&Array.isArray(t[a])?r[a]=Array.from(new Set([...e[a],...t[a]])):e[a]instanceof Map||e[a]instanceof Set||e[a]instanceof Date||e[a]instanceof RegExp?r[a]=e[a]:"object"==typeof e[a]&&null!==t[a]&&"object"==typeof t[a]?r[a]=i(e[a],t[a]):r[a]=e[a]}catch(e){r[a]||(0,n.R)(1,e)}return r}catch(e){(0,n.R)(2,e)}}},2555(e,t,r){"use strict";r.d(t,{f:()=>a});var n=r(384),i=r(8122);const s={beacon:n.NT.beacon,errorBeacon:n.NT.errorBeacon,licenseKey:void 0,applicationID:void 0,sa:void 0,queueTime:void 0,applicationTime:void 0,ttGuid:void 0,user:void 0,account:void 0,product:void 0,extra:void 0,jsAttributes:{},userAttributes:void 0,atts:void 0,transactionName:void 0,tNamePlain:void 0};function a(e){try{return!!e.licenseKey&&!!e.errorBeacon&&!!e.applicationID}catch(e){return!1}}r.d(t,["D",0,e=>(0,i.a)(e,s)])},7699(e,t,r){"use strict";var n=r(860);const i={[n.K7.logging]:!0,[n.K7.genericEvents]:!0,[n.K7.jserrors]:!0,[n.K7.ajax]:!0};r.d(t,["It",0,1e6,"KC",0,i,"qh",0,"SESSION_ERROR"])},9324(e,t,r){"use strict";r.d(t,["A",0,"@newrelic/rrweb","x",0,"1.323.0"])},981(e,t,r){"use strict";r.d(t,["R",0,{AJAX:"AjaxRequest",PA:"PageAction",UA:"UserAction",BP:"BrowserPerformance",WS:"WebSocket",SPV:"SecurityPolicyViolation",JSE:"JavaScriptError",LOG:"Log",PVE:"PageView",PVT:"PageViewTiming",SR:"SessionReplay",ST:"SessionTrace",BI:"BrowserInteraction"}])},9752(e,t,r){"use strict";const n="newrelic-iframe-",i=n+"timing-update",s=n+"api",a=n+"api-response",o=n+"vitals-update",c=n+"ajax";r.d(t,["$8",0,o,"Gi",0,a,"KU",0,c,"Pl",0,n,"cS",0,s,"cr",0,i])},6154(e,t,r){"use strict";var n=r(1863);const i="undefined"!=typeof window&&!!window.document,s="undefined"!=typeof WorkerGlobalScope&&("undefined"!=typeof self&&self instanceof WorkerGlobalScope&&self.navigator instanceof WorkerNavigator||"undefined"!=typeof globalThis&&globalThis instanceof WorkerGlobalScope&&globalThis.navigator instanceof WorkerNavigator),a=i?window:"undefined"!=typeof WorkerGlobalScope&&("undefined"!=typeof self&&self instanceof WorkerGlobalScope&&self||"undefined"!=typeof globalThis&&globalThis instanceof WorkerGlobalScope&&globalThis),o=Boolean("hidden"===a?.document?.visibilityState),c=""+a?.location,d=/iPad|iPhone|iPod/.test(a.navigator?.userAgent),u=d&&"undefined"==typeof SharedWorker,l=(()=>{const e=a.navigator?.userAgent?.match(/Firefox[/\s](\d+\.\d+)/);return Array.isArray(e)&&e.length>=2?+e[1]:0})(),f=Date.now()-(0,n.t)();r.d(t,["OF",0,d,"RI",0,i,"WN",0,f,"bv",0,s,"gm",0,a,"lR",0,l,"m",0,c,"mw",0,o,"sb",0,u,"zk",0,()=>{const e=a?.performance?.getEntriesByType?.("navigation")?.[0];if(e&&e.responseStart>0&&e.responseStart<a.performance.now())return e}])},7295(e,t,r){"use strict";r.d(t,{Xv:()=>a,gX:()=>i,iW:()=>s});var n=[];function i(e){if(!e||s(e))return!1;if(0===n.length)return!0;if("*"===n[0].hostname)return!1;for(var t=0;t<n.length;t++){var r=n[t];if(r.hostname.test(e.hostname)&&r.pathname.test(e.pathname))return!1}return!0}function s(e){return void 0===e.hostname}function a(e){if(n=[],e&&e.length)for(var t=0;t<e.length;t++){let r=e[t];if(!r)continue;if("*"===r)return void(n=[{hostname:"*"}]);0===r.indexOf("http://")?r=r.substring(7):0===r.indexOf("https://")&&(r=r.substring(8));const i=r.indexOf("/");let s,a;i>0?(s=r.substring(0,i),a=r.substring(i)):(s=r,a="*");let[c]=s.split(":");n.push({hostname:o(c),pathname:o(a,!0)})}}function o(e,t=!1){const r=e.replace(/[.+?^${}()|[\]\\]/g,e=>"\\"+e).replace(/\*/g,".*?");return new RegExp((t?"^":"")+r+"$")}},3241(e,t,r){"use strict";r.d(t,{W:()=>i});var n=r(6154);function i(e={}){try{n.gm.dispatchEvent(new CustomEvent("newrelic",{detail:e}))}catch(e){}}},1687(e,t,r){"use strict";r.d(t,{Ak:()=>o,Ze:()=>d,x3:()=>c});var n=r(3241),i=r(3606),s=r(860),a=r(2646);function o(e,t){if(!e)return;const r={staged:!1,priority:s.P3[t]||0};
6e.runtime.drainRegistry.get(t)||e.runtime.drainRegistry.set(t,r)}function c(e,t){if(!e)return;const r=e.runtime.drainRegistry;r&&(r.get(t)&&r.delete(t),l(e,t,!1),r.size&&u(e))}function d(e,t="feature",r=!1){if(e){if(!e.runtime.drainRegistry.get(t)||r)return l(e,t);e.runtime.drainRegistry.get(t).staged=!0,u(e)}}function u(e){if(!e)return;const t=Array.from(e.runtime.drainRegistry);t.every(([e,t])=>t.staged)&&(t.sort((e,t)=>e[1].priority-t[1].priority),t.forEach(([t])=>{e.runtime.drainRegistry.delete(t),l(e,t)}))}function l(e,t,r=!0){if(!e)return;const s=e.ee,o=i.i.handlers;if(s&&!s.aborted&&s.backlog&&o){if((0,n.W)({type:"lifecycle",name:"drain",feature:t}),r){const e=s.backlog[t],r=o[t];if(r){for(let t=0;e&&t<e.length;++t)f(e[t],r);Object.entries(r).forEach(([e,t])=>{Object.values(t||{}).forEach(t=>{t[0]?.on&&t[0].context()instanceof a.y&&!t[0].listeners(e).includes(t[1])&&t[0].on(e,t[1])})})}}s.isolatedBacklog||delete o[t],s.backlog[t]=null,s.emit("drain-"+t,[])}}function f(e,t){var r=e[1];Object.values(t[r]||{}).forEach(t=>{var r=e[0];if(t[0]===r){var n=t[1],i=e[3],s=e[2];n.apply(i,s)}})}},7836(e,t,r){"use strict";var n=r(384),i=r(8990),s=r(2646),a=r(5607);const o="nr@context:".concat(a.W),c=function e(t,r){var n={},a={},u={},l=!1;try{l=16===r.length&&d.initializedAgents?.[r]?.runtime.isolatedBacklog}catch(e){}var f={on:p,addEventListener:p,removeEventListener:function(e,t){var r=n[e];if(!r)return;for(var i=0;i<r.length;i++)r[i]===t&&r.splice(i,1)},emit:function(e,r,n,i,s){!1!==s&&(s=!0);if(c.aborted&&!i)return;t&&s&&t.emit(e,r,n);var o=h(n);g(e).forEach(e=>{e.apply(o,r)});var d=v()[a[e]];d&&d.push([f,e,r,o]);return o},get:m,listeners:g,context:h,buffer:function(e,t){const r=v();if(t=t||"feature",f.aborted)return;Object.entries(e||{}).forEach(([e,n])=>{a[n]=t,t in r||(r[t]=[])})},abort:function(){f._aborted=!0,Object.keys(f.backlog).forEach(e=>{delete f.backlog[e]})},isBuffering:function(e){return!!v()[a[e]]},debugId:r,backlog:l?{}:t&&"object"==typeof t.backlog?t.backlog:{},isolatedBacklog:l};return Object.defineProperty(f,"aborted",{get:()=>{let e=f._aborted||!1;return e||(t&&(e=t.aborted),e)}}),f;function h(e){return e&&e instanceof s.y?e:e?(0,i.I)(e,o,()=>new s.y(o)):new s.y(o)}function p(e,t){n[e]=g(e).concat(t)}function g(e){return n[e]||[]}function m(t){return u[t]=u[t]||e(f,t)}function v(){return f.backlog}}(void 0,"globalEE"),d=(0,n.Zm)();d.ee||(d.ee=c),r.d(t,["P",0,o,"ee",0,c])},2646(e,t,r){"use strict";r.d(t,{y:()=>n});class n{constructor(e){this.contextId=e}}},9908(e,t,r){"use strict";r.d(t,{d:()=>n,p:()=>i});var n=r(7836).ee.get("handle");function i(e,t,r,i,s){s?(s.buffer([e],i),s.emit(e,t,r)):(n.buffer([e],i),n.emit(e,t,r))}},3606(e,t,r){"use strict";r.d(t,{i:()=>s});var n=r(9908);s.on=a;var i=s.handlers={};function s(e,t,r,s){a(s||n.d,i,e,t,r)}function a(e,t,r,i,s){s||(s="feature"),e||(e=n.d);var a=t[s]=t[s]||{};(a[r]=a[r]||[]).push([e,i])}},3878(e,t,r){"use strict";function n(e,t){return{capture:e,passive:!1,signal:t}}function i(e,t,r=!1,i){window.addEventListener(e,t,n(r,i))}function s(e,t,r=!1,i){document.addEventListener(e,t,n(r,i))}r.d(t,{DD:()=>s,jT:()=>n,sp:()=>i})},5607(e,t,r){"use strict";const n=(0,r(9566).bz)();r.d(t,["W",0,n])},9566(e,t,r){"use strict";r.d(t,{LA:()=>a,ZF:()=>o,bz:()=>s,el:()=>c});var n=r(6154);function i(e,t){return e?15&e[t]:16*Math.random()|0}function s(){const e=n.gm?.crypto||n.gm?.msCrypto;let t,r=0;return e&&e.getRandomValues&&(t=e.getRandomValues(new Uint8Array(30))),"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".split("").map(e=>"x"===e?i(t,r++).toString(16):"y"===e?(3&i()|8).toString(16):e).join("")}function a(e){const t=n.gm?.crypto||n.gm?.msCrypto;let r,s=0;t&&t.getRandomValues&&(r=t.getRandomValues(new Uint8Array(e)));const a=[];for(var o=0;o<e;o++)a.push(i(r,s++).toString(16));return a.join("")}function o(){return a(16)}function c(){return a(32)}},2614(e,t,r){"use strict";r.d(t,["BB",0,18e5,"Wt",0,"NRBA_SESSION::","g",0,{OFF:0,FULL:1,ERROR:2},"iL",0,{SAME_TAB:"same-tab",CROSS_TAB:"cross-tab"},"tS",0,{STARTED:"session-started",PAUSE:"session-pause",RESET:"session-reset",RESUME:"session-resume",UPDATE:"session-update"},"wk",0,144e5])},733(e,t,r){"use strict";function n(e,t){return function(e){let t=2166136261;for(let r=0;r<e.length;r++)t^=e.charCodeAt(r),t=Math.imul(t,16777619);return(t>>>0).toString(16).padStart(8,"0")}("".concat(String(e),":").concat(String(t)))}r.d(t,{Y:()=>n})},1863(e,t,r){"use strict";function n(){return Math.floor(performance.now())}r.d(t,{t:()=>n})},9119(e,t,r){"use strict";r.d(t,{L:()=>s});var n=/([^?#]*)[^#]*(#[^?]*|$).*/,i=/([^?#]*)().*/;function s(e,t){return e?e.replace(t?n:i,"$1$2"):e}},7485(e,t,r){"use strict";r.d(t,{D:()=>i});var n=r(6154);function i(e){if(0===(e||"").indexOf("data:"))return{protocol:"data"};try{const t=new URL(e,location.href),r={port:t.port,hostname:t.hostname,pathname:t.pathname,search:t.search,protocol:t.protocol.slice(0,t.protocol.indexOf(":")),sameOrigin:t.protocol===n.gm?.location?.protocol&&t.host===n.gm?.location?.host};return r.port&&""!==r.port||("http:"===t.protocol&&(r.port="80"),"https:"===t.protocol&&(r.port="443")),r.pathname&&""!==r.pathname?r.pathname.startsWith("/")||(r.pathname="/".concat(r.pathname)):r.pathname="/",r}catch(e){return{}}}},7866(e,t,r){"use strict";r.d(t,["Nc",0,/^\s*at Function code \(Function code:\d+:\d+\)\s*/i,"cn",0,/^\s*(?:([^@]*)(?:\(.*?\))?@)?((?:file|http|https|chrome|safari-extension).*?):(\d+)(?::(\d+))?\s*$/i,"fL",0,/^\s*at .+ \(eval at \S+ \((?:(?:file|http|https):[^)]+)?\)(?:, [^:]*:\d+:\d+)?\)$/i,"h3",0,/function (.+?)\s*\(/,"hB",0,/^\s*at (?:((?:\[object object\])?(?:[^(]*\([^)]*\))*[^()]*(?: \[as \S+\])?) )?\(?((?:file|http|https|chrome-extension):.*?)?:(\d+)(?::(\d+))?\)?\s*$/i])},944(e,t,r){"use strict";r.d(t,{R:()=>i});var n=r(3241);function i(e,t){"function"==typeof console.debug&&(console.debug("New Relic Warning: https://github.com/newrelic/newrelic-browser-agent/blob/main/docs/warning-codes.md#".concat(e),t),(0,n.W)({drained:null,type:"data",name:"warn",feature:"warn",data:{code:e,secondary:t}}))}},8990(e,t,r){"use strict";r.d(t,{I:()=>i});var n=Object.prototype.hasOwnProperty;function i(e,t,r){if(n.call(e,t))return e[t];var i=r();if(Object.defineProperty&&Object.keys)try{return Object.defineProperty(e,t,{value:i,writable:!0,enumerable:!1}),i}catch(e){}return e[t]=i,i}},6389(e,t,r){"use strict";function n(e,t=500,r={}){const n=r?.leading||!1;let i;return(...r)=>{n&&void 0===i&&(e.apply(this,r),i=setTimeout(()=>{i=clearTimeout(i)},t)),n||(clearTimeout(i),i=setTimeout(()=>{e.apply(this,r)},t))}}function i(e){let t=!1;return(...r)=>{t||(t=!0,e.apply(this,r))}}r.d(t,{J:()=>i,s:()=>n})},1910(e,t,r){"use strict";r.d(t,{i:()=>s});var n=r(944);const i=new Map;function s(...e){return e.every(e=>{if(i.has(e))return i.get(e);const t="function"==typeof e?e.toString():"",r=t.includes("[native code]"),s=t.includes("nrWrapper");return r||s||(0,n.R)(64,e?.name||t),i.set(e,r),r})}},3304(e,t,r){"use strict";r.d(t,{A:()=>i});var n=r(7836);function i(e){try{return JSON.stringify(e,(()=>{const e=new WeakSet;return(t,r)=>{if("object"==typeof r&&null!==r){if(e.has(r))return;e.add(r)}return r}})())??""}catch(e){try{n.ee.emit("internal-error",[e])}catch(e){}return""}}},9232(e,t,r){"use strict";r.d(t,["f",0,{MFE:"MFE",BA:"BA"}])},7560(e,t,r){"use strict";r.d(t,{N:()=>a,j:()=>c});var n=r(9119),i=r(944);const s=(0,r(6389).J)(e=>(0,i.R)(80,e));function a(e){if(!Array.isArray(e?.assets)||!e.assets.length)return;
6const t=e.assets.map(o).filter(Boolean);return t.length?{assets:t,scripts:t.filter(e=>e.isScript)}:void 0}function o(e){if(!e||"object"!=typeof e)return;const{matcher:t,type:r}=e;let i="string"==typeof t&&t.endsWith(".js");return void 0!==r&&(!function(e){return"script"===e||"asset"===e}(r)?s(r):i=function(e){return"script"===e}(r)),a=t,"[object RegExp]"===Object.prototype.toString.call(a)?{pattern:t,test:e=>(t.lastIndex=0,t.test((0,n.L)(e))),isScript:i}:"string"==typeof t&&t.length>0?{pattern:t,test:e=>(0,n.L)(e).includes(t),isScript:i}:void s(t);var a}function c(e,t,{scriptsOnly:r=!1}={}){if(!e||!t)return!1;return(r?e.scripts:e.assets).some(e=>e.test(t))}},5718(e,t,r){"use strict";r.d(t,{xo:()=>T,AZ:()=>v,cI:()=>g,Qr:()=>A,QL:()=>y});var n=r(6154),i=r(1863),s=r(9119),a=r(7866);class o{dom=new c;performance=new c;constructor(e){this.url=e,this.claimedBy=new Set}get script(){const e=Math.max(this.dom.start,this.performance.end);return{start:e,end:Math.max(this.dom.end,this.performance.end,e)}}}class c{start=0;end=0;value=void 0}function d(e=()=>{},t){return{get:()=>void 0!==t?t:e(),set:e=>{t=e}}}let u;try{u=v(y())[0]}catch(e){u=v(e)[0]}const l=new Map;let f=[];const h=new WeakMap;function p(e){let t=h.get(e);return t||(t={weighedAssetUrls:new Set,recordManifestScriptWindow:(t,r)=>{t&&(e.scriptStart=e.scriptStart>0?Math.min(e.scriptStart,t):t),r&&(e.scriptEnd=e.scriptEnd>0?Math.max(e.scriptEnd,r):r)}},h.set(e,t)),t}function g(e){return l.get(e)}function m(e){const t=g(e);
6if(t)return t;const r=new o(e);if(l.set(e,r),l.size>1e3){const e=l.keys().next().value;l.delete(e)}return r}if(n.gm.MutationObserver&&n.gm.document){new MutationObserver(e=>{e.forEach(e=>{e.addedNodes.forEach(e=>{if("SCRIPT"===e.nodeName&&e.src){const t=m((0,s.L)(e.src));t.dom.start=(0,i.t)(),t.dom.value=e;const r=()=>{t.dom.end=(0,i.t)()};["load","error"].forEach(t=>e.addEventListener(t,r,{once:!0}))}})})}).observe(n.gm.document,{childList:!0,subtree:!0})}if(n.gm.PerformanceObserver?.supportedEntryTypes.includes("resource")){new PerformanceObserver(e=>{e.getEntries().forEach(e=>{if((e=>"script"===e.initiatorType||["link","fetch"].includes(e.initiatorType)&&(0,s.L)(e.name).endsWith(".js"))(e)){const t=m((0,s.L)(e.name));t.performance.start=Math.floor(e.startTime),t.performance.end=Math.floor(e.responseEnd),t.performance.value=e}if(!f.length)return;const t=[];f.forEach(({test:r,addedAt:n},s)=>{(r(e)||(0,i.t)()-n>1e4)&&t.push(s)}),f=f.filter((e,r)=>!t.includes(r))})}).observe({type:"resource",buffered:!0})}function v(e){if(!e||"string"!=typeof e)return[];const t=new Set,r=e.split("\n");for(const e of r){const r=e.match(a.cn)||e.match(a.hB)||e.match(a.fL);if(r&&r[2])t.add((0,s.L)(r[2]));else{const r=e.match(/\(([^)]+\.js):\d+:\d+\)/)||e.match(/^\s+at\s+([^\s(]+\.js):\d+:\d+/);r&&r[1]&&t.add((0,s.L)(r[1]))}}return[...t]}function y(){let e;try{const t=Error.stackTraceLimit;Error.stackTraceLimit=50,e=(new Error).stack,Error.stackTraceLimit=t}catch(t){e=(new Error).stack}return e}function b(e,t){return(0,s.L)(e.name)===t}function E(e,t){e.fetchStart=Math.floor(t.startTime),e.fetchEnd=Math.floor(t.responseEnd),e.asset=t.name,e.type=t.initiatorType,w(e,t)}function w(e,t){const r=(0,s.L)(t.name),{weighedAssetUrls:n}=p(e);n.has(r)||(n.add(r),e.totalWeight=(e.totalWeight||0)+(t.transferSize||0),"blocking"===t.renderBlockingStatus?e.renderBlocking=!0:"non-blocking"===t.renderBlockingStatus&&!0!==e.renderBlocking&&(e.renderBlocking=!1))}function R(e,t,r,n,i){if(w(e,t),"scripts"!==i&&"all"!==i)return;if("all"===i||r.isScript){const r=Math.floor(t.startTime),n=Math.floor(t.responseEnd);e.fetchStart=e.fetchStart>0?Math.min(e.fetchStart,r):r,e.fetchEnd=e.fetchEnd>0?Math.max(e.fetchEnd,n):n}if(r.isScript){const r=g((0,s.L)(t.name));if(r){const t=()=>{const{start:t,end:n}=r.script;p(e).recordManifestScriptWindow(t,n)};t(),!r.dom.end&&r.dom.value&&["load","error"].forEach(e=>r.dom.value.addEventListener(e,t,{once:!0}))}n.resolved||(e.asset=t.name,e.type=t.initiatorType,n.resolved=!0)}}function T(e,t){const r=t?.manifest;if(!r||!r.assets.length)return;const s={resolved:!1},a=new Set(r.assets);(n.gm.performance?.getEntriesByType("resource")||[]).forEach(r=>{const n=[...a].find(e=>e.test(r.name));n&&(R(e,r,n,s,t.timingMethod),a.delete(n))}),a.size&&function(e,t,r,s){n.gm.PerformanceObserver?.supportedEntryTypes?.includes("resource")&&f.push({addedAt:(0,i.t)(),test:n=>{const i=[...t].find(e=>e.test(n.name));return i&&(R(e,n,i,r,s),t.delete(i)),0===t.size}})}(e,a,s,t.timingMethod)}function A(e){const t=e?.id,r={registeredAt:(0,i.t)(),reportedAt:void 0,fetchStart:0,fetchEnd:0,scriptStart:0,scriptEnd:0,asset:void 0,type:"unknown",totalWeight:0,renderBlocking:void 0},a=y();if(!a)return r;const o=n.gm.performance?.getEntriesByType("navigation")?.[0]?.name||"";try{const e=v(a),c=(e.length>1?e.filter(e=>u!==e):e)[0];if(!c)return r;if(o.includes(c))return r.asset=(0,s.L)(o),r.type="inline",r;r.correlation=g(c);const l=r.correlation?.performance.value||n.gm.performance?.getEntriesByType("resource")?.find(e=>b(e,c));if(l)E(r,l);else{(function(e){if(!e||!n.gm.document)return!1;try{const t=n.gm.document.querySelectorAll('link[rel="preload"][as="script"]');for(const r of t)if((0,s.L)(r.href)===e)return!0}catch(e){}return!1})(c)&&(r.asset=c,r.type="preload"),function(e,t){n.gm.PerformanceObserver?.supportedEntryTypes?.includes("resource")&&f.push({addedAt:(0,i.t)(),test:r=>!!b(r,t)&&(E(e,r),!0)})}(r,c)}const h=r.correlation,m=!!t&&!!h?.claimedBy.has(t);h&&t&&h.claimedBy.add(t);const y=()=>{const e=h?.script.start;if(!m||!e)return!1;return r.registeredAt-e>1e4};let w=0,R=0;p(r).recordManifestScriptWindow=(e,t)=>{e&&(w=w>0?Math.min(w,e):e),t&&(R=R>0?Math.max(R,t):t)},Object.defineProperty(r,"scriptStart",d(()=>{const e=y()?r.registeredAt:h?.script.start??r.fetchEnd;return w>0?Math.min(e,w):e})),Object.defineProperty(r,"scriptEnd",d(()=>{const e=y()?r.registeredAt:h?.script.end??r.registeredAt;return R>0?Math.max(e,R):e}))}catch(e){}return r}},5732(e,t,r){"use strict";r.d(t,{$5:()=>m,B5:()=>g,K6:()=>u,M$:()=>
6o,Ms:()=>d,NG:()=>c,Ux:()=>h,YA:()=>p,yx:()=>l});var n=r(5718),i=r(7560),s=r(9119),a=r(9232);function o(e){return e?.type===a.f.MFE}function c(e,t){if(!y(e,t))return;const r=t.runtime.registeredEntities;return r?.find(t=>t.metadata.target.iframeInterfaceId===e)}function d(e,t){if(!y(e,t))return[];const r=t.runtime.registeredEntities;return r?.filter(t=>String(t.metadata.target.id)===String(e)).map(e=>e.metadata.target)||[]}function u(e,t){if(!y(e,t))return[];const r=t.runtime.registeredEntities,n=(0,s.L)(e),a=r?.filter(t=>{const r=t.metadata.target?.manifest;return r?(0,i.j)(r,e,{scriptsOnly:!1}):!!t.metadata.timings?.asset&&(0,s.L)(t.metadata.timings.asset)===n});return f(a).map(e=>e.metadata.target)}function l(e,t){if(!y(e,t))return[];const r=t.runtime.registeredEntities,n=r?.filter(t=>{const r=t.metadata.target?.manifest;return r?(0,i.j)(r,e,{scriptsOnly:!0}):!!t.metadata.timings?.asset?.endsWith(e)});return f(n).map(e=>e.metadata.target)}function f(e){if(!e?.length)return e||[];const t=new Map,r=[];for(const n of e){const e=n.metadata?.timings?.asset;if(!e){r.push(n);continue}const i="".concat(e,"::").concat(n.metadata?.target?.id),s=t.get(i);if(s){if(s.metadata.target?.blocked&&!n.metadata.target?.blocked){const e=r.indexOf(s);-1!==e&&(r[e]=n),t.set(i,n)}}else t.set(i,n),r.push(n)}return r}function h(e,t){return v(t)?o(e)?e.attributes:t.agentRef.runtime.v2Target.attributes:{}}function p(e,t){return g(e,t)?{"child.id":e.id,"child.type":e.type,...h(void 0,t)}:{}}function g(e,t){return o(e)&&!!v(t)&&t.agentRef.init.api.register.duplicate_data_to_container}function m(e){if(!e?.runtime)return[];if(!y(!0,e)||!e.runtime.registeredEntities?.length)return[e.runtime.v2Target];const t=[];try{var r=(0,n.AZ)((0,n.QL)());let i=r.length-1;for(;r[i];)t.push(...l(r[i--],e))}catch(e){}const i=function(e){const t=new Set,r=[];for(const n of e){const e=n?.instance;t.has(e)||(t.add(e),r.push(n))}return r}(t);return i.length||i.push(e.runtime.v2Target),i}function v(e){return 2===e?.harvestEndpointVersion}function y(e,t){return!!e&&!!t?.init.api.register.enabled}},5289(e,t,r){"use strict";r.d(t,{GG:()=>a,Qr:()=>c,sB:()=>o});var n=r(3878),i=r(6389);function s(){return"undefined"==typeof document||"complete"===document.readyState}function a(e,t){if(s())return e();const r=(0,i.J)(e),a=setInterval(()=>{s()&&(clearInterval(a),r())},500);(0,n.sp)("load",r,t)}function o(e){if(s())return e();(0,n.DD)("DOMContentLoaded",e)}function c(e){if(s())return e();(0,n.sp)("popstate",e)}},384(e,t,r){"use strict";r.d(t,{Zm:()=>c,bQ:()=>u,dV:()=>d,pV:()=>l});var n=r(6154),i=r(1863),s=r(944),a=r(1910);const o={beacon:"bam.nr-data.net",errorBeacon:"bam.nr-data.net"};function c(){return n.gm.NREUM||(n.gm.NREUM={}),void 0===n.gm.newrelic&&(n.gm.newrelic=n.gm.NREUM),n.gm.NREUM}function d(){let e=c();return e.o||(e.o={ST:n.gm.setTimeout,SI:n.gm.setImmediate||n.gm.setInterval,CT:n.gm.clearTimeout,XHR:n.gm.XMLHttpRequest,REQ:n.gm.Request,EV:n.gm.Event,PR:n.gm.Promise,MO:n.gm.MutationObserver,FETCH:n.gm.fetch,WS:n.gm.WebSocket},(0,a.i)(...Object.values(e.o))),e}function u(e,t){let r=c();r.initializedAgents??={},t.initializedAt={ms:(0,i.t)(),date:new Date},r.initializedAgents[e]=t,2===Object.keys(r.initializedAgents).length&&(0,s.R)(69)}function l(){return function(){let e=c();const t=e.info||{};e.info={beacon:o.beacon,errorBeacon:o.errorBeacon,...t}}(),function(){let e=c();const t=e.init||{};e.init={...t}}(),d(),function(){let e=c();const t=e.loader_config||{};e.loader_config={...t}}(),c()}r.d(t,["NT",0,o])},2843(e,t,r){"use strict";r.d(t,{G:()=>s,u:()=>i});var n=r(3878);function i(e,t=!1,r,i){(0,n.DD)("visibilitychange",function(){if(t)return void("hidden"===document.visibilityState&&e());e(document.visibilityState)},r,i)}function s(e,t,r){(0,n.sp)("pagehide",e,t,r)}},8139(e,t,r){"use strict";r.d(t,{u:()=>f});var n=r(7836),i=r(3434),s=r(8990),a=r(6154);const o={},c=a.gm.XMLHttpRequest,d="addEventListener",u="removeEventListener",l="nr@wrapped:".concat(n.P);function f(e,t){var r=function(e){return(e||n.ee).get("events")}(e);if(o[r.debugId]++)return r;o[r.debugId]=1;var f=(0,i.YM)(r,!0,t);function p(e){f.inPlace(e,[d,u],"-",g)}function g(e,t){return e[1]}return"getPrototypeOf"in Object&&(a.RI&&h(document,p),c&&h(c.prototype,p),h(a.gm,p)),r.on(d+"-start",function(e,t){var r=e[1];if(null!==r&&("function"==typeof r||"object"==typeof r)&&"newrelic"!==e[0]){var n=(0,s.I)(r,l,function(){var e={object:function(){if("function"!=typeof r.handleEvent)return;return r.handleEvent.apply(r,arguments)},function:r}[typeof r];return e?f(e,"fn-",null,e.name||"anonymous"):r});this.wrapped=e[1]=n}}),r.on(u+"-start",function(e){e[1]=this.wrapped||e[1]}),r}function h(e,t,...r){let n=e;for(;"object"==typeof n&&!Object.prototype.hasOwnProperty.call(n,d);)n=Object.getPrototypeOf(n);n&&t(n,...r)}},3434(e,t,r){"use strict";r.d(t,{YM:()=>d});var n=r(7836),i=r(5607),s=r(5732);const a="nr@original:".concat(i.W);var o=Object.prototype.hasOwnProperty,c=!1;function d(e,t,r){return e||(e=n.ee),i.inPlace=function(e,t,r,n,s,a){r||(r="");const o="-"===r.charAt(0);for(let c=0;c<t.length;c++){const d=t[c],u=e[d];l(u)||(e[d]=i(u,o?d+r:r,n,d,s,a))}},i.flag=a,i;function i(t,n,i,c,f,h){return l(t)?t:(n||(n=""),nrWrapper[a]=t,function(e,t,r){if(Object.defineProperty&&Object.keys)try{return Object.keys(e).forEach(function(r){Object.defineProperty(t,r,{get:function(){return e[r]},set:function(t){return e[r]=t,t}})}),t}catch(e){u([e],r)}for(var n in e)o.call(e,n)&&(t[n]=e[n])}
6(t,nrWrapper,e),nrWrapper);function nrWrapper(){var a,o,l,p;let g,m;try{o=this,a=[...arguments],m=h?(0,s.$5)(r):[r?.runtime?.v2Target],l="function"==typeof i?i(a,o):i||{}}catch(t){u([t,"",[a,o,c],l],e)}d(n+"start",[a,o,c,m],l,f);const v=performance.now();let y;try{return p=t.apply(o,a),y=performance.now(),p}catch(e){throw y=performance.now(),d(n+"err",[a,o,e,m],l,f),g=e,g}finally{const e=y-v,t={start:v,end:y,duration:e,isLongTask:e>=50,methodName:c,thrownError:g};t.isLongTask&&d("long-task",[t,o,m],l,f),d(n+"end",[a,o,p,m],l,f)}}}function d(r,n,i,s){if(!c||t){var a=c;c=!0;try{e.emit(r,n,i,t,s)}catch(t){u([t,r,n,i],e)}c=a}}}function u(e,t){t||(t=n.ee);try{t.emit("internal-error",e)}catch(e){}}function l(e){return!(e&&"function"==typeof e&&e.apply&&!e[a])}r.d(t,["Jt",0,a])},9300(e,t,r){"use strict";const n=r(860).K7.ajax;r.d(t,["TZ",0,n,"f5",0,"ajaxRequest.id","mo",0,{NONE:"none",FAILURES:"failures",ALL:"all"}])},3333(e,t,r){"use strict";var n=r(981);const i=r(860).K7.genericEvents,s=[n.R.PA,n.R.UA,n.R.BP];r.d(t,["$v",0,{RESOURCES:"experimental.resources",REGISTER:"register"},"TZ",0,i,"Zp",0,["auxclick","click","copy","keydown","paste","scrollend"],"kd",0,s,"qN",0,["focus","blur"]])},6774(e,t,r){"use strict";const n=r(860).K7.jserrors;r.d(t,["T",0,n])},993(e,t,r){"use strict";const n=r(860).K7.logging;r.d(t,["A$",0,{OFF:0,ERROR:1,WARN:2,INFO:3,DEBUG:4,TRACE:5},"TZ",0,n,"p_",0,{ERROR:"ERROR",WARN:"WARN",INFO:"INFO",DEBUG:"DEBUG",TRACE:"TRACE"}])},3785(e,t,r){"use strict";r.d(t,{R:()=>c,b:()=>d});var n=r(9908),i=r(1863),s=r(860),a=r(3969),o=r(993);function c(e,t,r={},c=o.p_.INFO,d=!0,u,l=(0,i.t)()){(0,n.p)(a.xV,["API/logging/".concat(c.toLowerCase(),"/called")],void 0,s.K7.metrics,e),(0,n.p)("log",[l,t,r,c,d,u],void 0,s.K7.logging,e)}function d(e){return"string"==typeof e&&Object.values(o.p_).some(t=>t===e.toUpperCase().trim())}},3969(e,t,r){"use strict";const n=r(860).K7.metrics;r.d(t,["TZ",0,n,"XG",0,"storeEventMetrics","xV",0,"storeSupportabilityMetrics"])},6630(e,t,r){"use strict";const n=r(860).K7.pageViewEvent;r.d(t,["T",0,n])},782(e,t,r){"use strict";const n=r(860).K7.pageViewTiming;r.d(t,["T",0,n])},6344(e,t,r){"use strict";var n=r(2614);const i=r(860).K7.sessionReplay,s={[n.g.ERROR]:15e3,[n.g.FULL]:3e5,[n.g.OFF]:0}
6;r.d(t,["Qb",0,{API:"api",RESUME:"resume",SWITCH_TO_FULL:"switchToFull",INITIALIZE:"initialize",PRELOAD:"preload"},"TZ",0,i,"Vh",0,"errorDuringReplay","_s",0,{DomContentLoaded:0,Load:1,FullSnapshot:2,IncrementalSnapshot:3,Meta:4,Custom:5},"bc",0,{RESET:{message:"Session was reset",sm:"Reset"},IMPORT:{message:"Recorder failed to import",sm:"Import"},TOO_MANY:{message:"429: Too Many Requests",sm:"Too-Many"},TOO_BIG:{message:"Payload was too large",sm:"Too-Big"},CROSS_TAB:{message:"Session Entity was set to OFF on another tab",sm:"Cross-Tab"},ENTITLEMENTS:{message:"Session Replay is not allowed and will not be started",sm:"Entitlement"}},"yP",0,s])},5270(e,t,r){"use strict";r.d(t,{Aw:()=>a,SR:()=>s,rF:()=>o});var n=r(384),i=r(7767);function s(e){return!!(0,n.dV)().o.MO&&(0,i.V)(e)&&!0===e?.session_trace.enabled}function a(e){return!0===e?.session_replay.preload&&s(e)}function o(e,t){try{if("string"==typeof t?.type&&"password"===t.type.toLowerCase())return"*".repeat(e?.length||0);if(void 0!==t?.dataset?.nrUnmask||t?.classList?.contains("nr-unmask"))return e}catch(e){}return"string"==typeof e?e.replace(/[\S]/g,"*"):"*".repeat(e?.length||0)}},3738(e,t,r){"use strict";const n=r(860).K7.sessionTrace,i="-start",s="-end",a="fn"+i,o="fn"+s;r.d(t,["He",0,"bstResource","Kp",0,s,"Lc",0,o,"Rz",0,"pushState","TZ",0,n,"bD",0,"resource","bc",0,{CROSS_TAB:{message:"Session Entity was set to OFF on another tab"},ENTITLEMENTS:{message:"Session Trace is not allowed and will not be started"},RESET:{message:"Session was reset"},SESSION_CHANGED:{message:"Session identifier changed unexpectedly"}},"d3",0,i,"uP",0,a])},3962(e,t,r){"use strict";const n=r(860).K7.softNav;r.d(t,["O2",0,{INITIAL_PAGE_LOAD:"",ROUTE_CHANGE:1,UNSPECIFIED:2},"OV",0,"popstate","Qu",0,{INTERACTION:1,AJAX:2,CUSTOM_END:3,CUSTOM_TRACER:4},"TZ",0,n,"ih",0,{IP:"in progress",PF:"pending finish",FIN:"finished",CAN:"cancelled"},"pP",0,"initialPageLoad","tC",0,["click","keydown","submit"]])},4234(e,t,r){"use strict";r.d(t,{W:()=>i});var n=r(1687);class i{constructor(e,t){this.agentRef=e,this.ee=e?.ee,this.featureName=t,this.blocked=!1}deregisterDrain(){(0,n.x3)(this.agentRef,this.featureName)}}},7767(e,t,r){"use strict";var n=r(6154);r.d(t,["V",0,e=>n.RI&&!0===e?.privacy.cookies_enabled])},8362(e,t,r){"use strict";r.d(t,{d:()=>s});var n=r(9566),i=r(1741);class s extends i.W{agentIdentifier=(0,n.LA)(16)}},1741(e,t,r){"use strict";r.d(t,{W:()=>s});var n=r(944),i=r(4261);class s{#e(e,...t){if(this[e]!==s.prototype[e])return this[e](...t);(0,n.R)(35,e)}addPageAction(e,t){return this.#e(i.hG,e,t)}register(e){return this.#e(i.eY,e)}recordCustomEvent(e,t){return this.#e(i.fF,e,t)}setPageViewName(e,t){return this.#e(i.Fw,e,t)}setCustomAttribute(e,t,r){return this.#e(i.cD,e,t,r)}noticeError(e,t){return this.#e(i.o5,e,t)}setUserId(e,t=!1){return this.#e(i.Dl,e,t)}setApplicationVersion(e){return this.#e(i.nb,e)}setErrorHandler(e){return this.#e(i.bt,e)}addRelease(e,t){return this.#e(i.k6,e,t)}log(e,t){return this.#e("log",e,t)}start(){return this.#e("start")}finished(e){return this.#e(i.BL,e)}recordReplay(){return this.#e(i.CH)}pauseReplay(){return this.#e(i.Tb)}addToTrace(e){return this.#e(i.U2,e)}setCurrentRouteName(e){return this.#e(i.PA,e)}interaction(e){return this.#e(i.dT,e)}wrapLogger(e,t,r){return this.#e(i.Wb,e,t,r)}measure(e,t){return this.#e(i.V1,e,t)}consent(e){return this.#e(i.Pv,e)}}},4261(e,t,r){"use strict";r.d(t,["BL",0,"finished","CH",0,"recordReplay","Dl",0,"setUserId","Fw",0,"setPageViewName","PA",0,"setCurrentRouteName","Pv",0,"consent","Tb",0,"pauseReplay","U2",0,"addToTrace","V1",0,"measure","Wb",0,"wrapLogger","bt",0,"setErrorHandler","cD",0,"setCustomAttribute","dT",0,"interaction","eY",0,"register","fF",0,"recordCustomEvent","hG",0,"addPageAction","hw",0,"api-ixn-","k6",0,"addRelease","nb",0,"setApplicationVersion","o5",0,"noticeError"])},1738(e,t,r){"use strict";r.d(t,{U:()=>l,Y:()=>u});var n=r(3241),i=r(9908),s=r(1863),a=r(944),o=r(3969),c=r(8362),d=r(860);function u(e,t,r,s){const u=s||r;!u||u[e]&&u[e]!==c.d.prototype[e]||(u[e]=function(){(0,i.p)(o.xV,["API/"+e+"/called"],void 0,d.K7.metrics,r.ee),(0,n.W)({drained:!!r.runtime?.activatedFeatures,type:"data",name:"api",feature:"api-"+e,data:{}});try{return t.apply(this,arguments)}catch(e){(0,a.R)(23,e)}})}function l(e,t,r,n,a){const o=e.info;null===r?delete o.jsAttributes[t]:o.jsAttributes[t]=r,(a||null===r)&&(0,i.p)("api-"+n,[(0,s.t)(),t,r],void 0,"session",e.ee)}},8374(e,t,r){r.nc=(()=>{try{return document?.currentScript?.nonce}catch(e){}return""})()},860(e,t,r){"use strict";const n="events",i="jserrors",s="browser/blobs",a="browser/logs",o={ajax:"ajax",genericEvents:"generic_events",jserrors:i,logging:"logging",metrics:"metrics",pageAction:"page_action",pageViewEvent:"page_view_event",pageViewTiming:"page_view_timing",sessionReplay:"session_replay",sessionTrace:"session_trace",softNav:"soft_navigations"},c={[o.pageViewEvent]:1,[o.pageViewTiming]:2,[o.metrics]:3,[o.jserrors]:4,[o.softNav]:5,[o.ajax]:6,[o.sessionTrace]:7,[o.sessionReplay]:8,[o.logging]:9,[o.genericEvents]:10},d={[o.pageViewEvent]:"rum",[o.pageViewTiming]:n,[o.ajax]:n,[o.softNav]:n,[o.metrics]:i,[o.jserrors]:i,[o.sessionTrace]:s,[o.sessionReplay]:s,[o.logging]:a,[o.genericEvents]:"ins"};r.d(t,["$J",0,d,"K7",0,o,"P3",0,c,"XX",0,i,"Yy",0,a,"df",0,s,"hg",0,"connect"])}};const t={};function r(n){const i=t[n];if(void 0!==i)return i.exports;const s=t[n]={exports:{}};return e[n](s,s.exports,r),s.exports}r.m=e,r.d=(e,t)=>{if(Array.isArray(t))for(var n=0;n<t.length;){var i=t[n++],s=t[n++];r.o(e,i)?0===s&&n++:0===s?Object.defineProperty(e,i,{enumerable:!0,value:t[n++]}):Object.defineProperty(e,i,{enumerable:!0,get:s})}else for(var i in t)r.o(t,i)&&!r.o(e,i)&&Object.defineProperty(e,i,{enumerable:!0,get:t[i]})},r.f={},r.e=e=>Promise.all(Object.keys(r.f).reduce((t,n)=>(r.f[n](e,t),t),[])),r.u=e=>({212:"nr-spa-compressor",238:"nr-spa-iframe-message-handler",249:"nr-spa-recorder",478:"nr-spa"}[e]+"-1.323.0.min.js"),r.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),(()=>{const e={},t="NRBA-1.323.0.PROD:";r.l=(n,i,s,a)=>
6{if(e[n])return void e[n].push(i);let o,c;if(void 0!==s){const e=document.getElementsByTagName("script");for(var d=0;d<e.length;d++){const r=e[d];if(r.getAttribute("src")==n||r.getAttribute("data-webpack")==t+s){o=r;break}}}if(!o){c=!0;var u={478:"sha512-ORjtmy+nQMgxbu0os8+oTRa5sPzbinyuWSvpZrrstVLIaHofRRlfODdH+oUmkIgeQpM+vPf3vG/4RzvCsFVh1A==",249:"sha512-o7+K6xC0z3TqynjVxpd+jgiSgqy8rrPeRcUSqt5J0Rqg5Su5CycLMYfpwiM3WBCHiNDrG5aZoXJQ6HRc335XYQ==",212:"sha512-kRvBt1IYQDBnClTEWNaE8sDFqbXXM3Vdyf972Uf4MFbJxl7u3KmdO+jdB1H4achPEoT9YtNXHswaESey6sCH0A==",238:"sha512-U5EGmyYbFVR2UMNAuZJ7fTgVVtPa5b8RPMySDwXo7z3frRdkUJ2x1VAQTLQCeBab8VlGVGRV8FiSHIn/pwN72A=="};o=document.createElement("script"),o.charset="utf-8",r.nc&&o.setAttribute("nonce",r.nc),o.setAttribute("data-webpack",t+s),o.src=n,0!==o.src.indexOf(window.location.origin+"/")&&(o.crossOrigin="anonymous"),u[a]&&(o.integrity=u[a])}e[n]=[i];const l=(t,r)=>{o.onerror=o.onload=null,clearTimeout(f);const i=e[n];if(delete e[n],o.parentNode?.removeChild(o),i?.forEach(e=>e(r)),t)return t(r)},f=setTimeout(l.bind(null,void 0,{type:"timeout",target:o}),12e4);o.onerror=l.bind(null,o.onerror),o.onload=l.bind(null,o.onload),c&&document.head.appendChild(o)}})(),r.r=e=>{Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.p="https://js-agent.newrelic.com/",(()=>{const e={38:0,788:0};r.f.j=(t,n)=>{let i=r.o(e,t)?e[t]:void 0;if(0!==i)if(i)n.push(i[2]);else{const s=new Promise((r,n)=>i=e[t]=[r,n]);n.push(i[2]=s);const a=r.p+r.u(t),o=new Error,c=n=>{if(r.o(e,t)&&(i=e[t],0!==i&&(e[t]=void 0),i)){const e=n&&("load"===n.type?"missing":n.type),r=n&&n.target&&n.target.src;o.message="Loading chunk "+t+" failed: ("+e+": "+r+")",o.name="ChunkLoadError",o.type=e,o.request=r,i[1](o)}};r.l(a,c,"chunk-"+t,t)}};const t=(t,n)=>{let[i,s,a]=n;var o,c,d=0;if(i.some(t=>0!==e[t])){for(o in s)r.o(s,o)&&(r.m[o]=s[o]);if(a)a(r)}for(t&&t(n);d<i.length;d++)c=i[d],r.o(e,c)&&e[c]&&e[c][0](),e[c]=0},n=self["webpackChunk:NRBA-1.323.0.PROD"]=self["webpackChunk:NRBA-1.323.0.PROD"]||[];n.forEach(t.bind(null,0)),n.push=t.bind(null,n.push.bind(n))})(),(()=>{"use strict";r(8374);var e=r(8362),t=r(860);const n=Object.values(t.K7);var i=r(384),s=r(1741);var a=r(2555),o=r(3333),c=r(9300);const d=e=>{if(!e||"string"!=typeof e)return!1;try{document.createDocumentFragment().querySelector(e)}catch{return!1}return!0};var u=r(2614),l=r(944),f=r(8122);const h="[data-nr-mask]",p=e=>(0,f.a)(e,(()=>{const e={feature_flags:[],experimental:{register:!1,resources:!1,iframe_bridge:!1,iframe_domains:[]},mask_selector:"*",block_selector:"[data-nr-block]",mask_input_options:{color:!1,date:!1,"datetime-local":!1,email:!1,month:!1,number:!1,range:!1,search:!1,tel:!1,text:!1,time:!1,url:!1,week:!1,textarea:!1,select:!1,password:!0}};return{ajax:{deny_list:void 0,block_internal:!0,enabled:!0,autoStart:!0,capture_payloads:c.mo.NONE},api:{register:{get enabled(){return e.feature_flags.includes(o.$v.REGISTER)||e.experimental.register},set enabled(t){e.experimental.register=t},duplicate_data_to_container:!1,get allow_iframe_bridge(){return e.feature_flags.includes(o.$v.IFRAME_BRIDGE)||e.experimental.iframe_bridge},set allow_iframe_bridge(t){e.experimental.iframe_bridge=t},get iframe_domains(){return e.experimental.iframe_domains},set iframe_domains(t){Array.isArray(t)?e.experimental.iframe_domains=t:(0,l.R)(1,t)}}},browser_consent_mode:{enabled:!1},distributed_tracing:{enabled:void 0,exclude_newrelic_header:void 0,cors_use_newrelic_header:void 0,cors_use_tracecontext_headers:void 0,allowed_origins:void 0},get feature_flags(){return e.feature_flags},set feature_flags(t){e.feature_flags=t},generic_events:{enabled:!0,autoStart:!0},harvest:{interval:30},jserrors:{enabled:!0,autoStart:!0},logging:{enabled:!0,autoStart:!0},metrics:{enabled:!0,autoStart:!0},obfuscate:void 0,page_action:{enabled:!0},page_view_event:{enabled:!0,autoStart:!0},page_view_timing:{enabled:!0,autoStart:!0},performance:{capture_marks:!1,capture_measures:!1,capture_detail:!0,resources:{get enabled(){return e.feature_flags.includes(o.$v.RESOURCES)||e.experimental.resources},set enabled(t){e.experimental.resources=t},asset_types:[],first_party_domains:[],ignore_newrelic:!0}},privacy:{cookies_enabled:!0},proxy:{assets:void 0,beacon:void 0},session:{expiresMs:u.wk,inactiveMs:u.BB},session_replay:{autoStart:!0,enabled:!1,preload:!1,sampling_rate:10,error_sampling_rate:100,collect_fonts:!1,inl
6ine_images:!1,fix_stylesheets:!0,mask_all_inputs:!0,get mask_text_selector(){return e.mask_selector},set mask_text_selector(t){d(t)?e.mask_selector="".concat(t,",").concat(h):""===t||null===t?e.mask_selector=h:(0,l.R)(5,t)},get block_class(){return"nr-block"},get ignore_class(){return"nr-ignore"},get mask_text_class(){return"nr-mask"},get block_selector(){return e.block_selector},set block_selector(t){d(t)?e.block_selector+=",".concat(t):""!==t&&(0,l.R)(6,t)},get mask_input_options(){return e.mask_input_options},set mask_input_options(t){t&&"object"==typeof t?e.mask_input_options={...t,password:!0}:(0,l.R)(7,t)}},session_trace:{enabled:!0,autoStart:!0},soft_navigations:{enabled:!0,autoStart:!0},ssl:void 0,user_actions:{enabled:!0,elementAttributes:["id","className","tagName","type"]},web_sockets:{enabled:!1}}})());var g=r(6154),m=r(9324);let v=0;const y={buildEnv:"PROD",distMethod:"CDN",version:m.x,originTime:g.WN},b={consented:!1},E={activatedFeatures:void 0,appMetadata:{},configured:!1,get consented(){return this.session?.state?.consent||b.consented},set consented(e){b.consented=e},customTransaction:void 0,denyList:[],disabled:!1,drainRegistry:new Map,connector:void 0,harvester:void 0,v2Target:void 0,isolatedBacklog:!1,isRecording:!1,loaderType:void 0,maxBytes:3e4,obfuscator:void 0,onerror:void 0,ptid:void 0,releaseIds:{},session:void 0,timeKeeper:void 0,registeredEntities:[],jsAttributesMetadata:{bytes:0},get harvestCount(){return++v},listeningForIframeMessages:!1};var w=r(9232);var R=r(7836),T=r(3241);const A={accountID:void 0,trustKey:void 0,agentID:void 0,licenseKey:void 0,applicationID:void 0,xpid:void 0};var S=r(9908),x=r(9752);function O(e,t={},n,o){let{init:c,info:d,loader_config:u,runtime:l={},exposed:h=!0}=t;if(!d){const e=(0,i.pV)();c=e.init,d=e.info,u=e.loader_config}var m;e.init=p(c||{}),e.loader_config=(m=u||{},(0,f.a)(m,A)),d.jsAttributes??={},g.bv&&(d.jsAttributes.isWorker=!0),e.info=(0,a.D)(d);const v=e.init;e.runtime??=(e=>{const t=(0,f.a)(e,E),r=Object.keys(y).reduce((e,t)=>(e[t]={value:y[t],writable:!1,configurable:!0,enumerable:!0},e),{});return Object.defineProperties(t,r)})(l),e.runtime.v2Target??={type:w.f.BA,instance:e.agentIdentifier,get id(){return e.runtime.appMetadata?.agents?.[0]?.entityGuid},get attributes(){return{"entity.guid":this.id,appId:e.info.applicationID}}},v.proxy.assets&&(e=>{const t=e.startsWith("http");e+="/",r.p=t?e:"https://"+e})(v.proxy.assets),e.runtime.configured||(Object.defineProperty(e,"beacons",{get:()=>[e.info.beacon,e.info.errorBeacon,e.init.proxy.assets,e.init.proxy.beacon].filter(Boolean)}),Object.defineProperty(e.runtime,"denyList",{get:()=>[...e.init.ajax.deny_list||[],...e.init.ajax.block_internal?e.beacons:[]]}),e.runtime.ptid=e.agentIdentifier,function(e){const t=(0,i.pV)();Object.getOwnPropertyNames(s.W.prototype).forEach(r=>{const n=s.W.prototype[r];if("function"!=typeof n||"constructor"===n)return;let i=t[r];e[r]&&!1!==e.exposed&&"micro-agent"!==e.runtime?.loaderType&&(t[r]=(...t)=>{const n=e[r](...t);return i?i(...t):n})})}(e),e.runtime.loaderType=n,e.ee=R.ee.get(e.agentIdentifier),e.exposed=h,(0,T.W)({drained:!!e.runtime.activatedFeatures,type:"lifecycle",name:"initialize",feature:void 0,data:e.config}),e.init.api.register.allow_iframe_bridge&&g.gm.addEventListener("message",t=>{"string"==typeof t.data?.type&&t.data.type.startsWith(x.Pl)&&(0,S.p)("iframe-message",[t],void 0,"IFRAME",e.ee)}),e.runtime.configured=!0)}var _=r(1863),k=r(4261),N=r(1738);var L=r(1687),M=r(4234),P=r(5289),I=r(5270),j=r(7767),C=r(6389),D=r(7699);const B=new WeakSet,H=new WeakMap;class W extends M.W{constructor(e,t){super(e,t),this.abortHandler=void 0,this.featAggregate=void 0,this.loadedSuccessfully=void 0,this.onAggregateImported=new Promise(e=>{this.loadedSuccessfully=e}),this.deferred=Promise.resolve(),!1===e.init[this.featureName].autoStart?this.deferred=new Promise((t,r)=>{this.ee.on("manual-start-all",(0,C.J)(()=>{(0,L.Ak)(e,this.featureName),t()}))}):(0,L.Ak)(e,t)}importAggregator(e,t,n={}){if(this.featAggregate)return;const i=async()=>{if(await this.deferred,this.#t(e),!(0,a.f)(e.info))return(0,l.R)(43),e.ee.abort(),void this.loadedSuccessfully(!1);try{await async function(e,t,n){if(H.has(e))return H.get(e);const i=(async()=>
6{if((0,j.V)(e.init))try{const{setupAgentSession:t}=await r.e(478).then(r.bind(r,8766));t(e)}catch(e){(0,l.R)(20,e),t.emit("internal-error",[e]),(0,S.p)(D.qh,[e],void 0,n,t)}if(e.init.api.register.allow_iframe_bridge)try{const{setupIframeMFEMessageListener:t}=await r.e(238).then(r.bind(r,6417));t(e)}catch(e){(0,l.R)(23,e)}const[{Connector:i},{Harvester:s}]=await Promise.all([r.e(478).then(r.bind(r,6589)),r.e(478).then(r.bind(r,5237))]);e.runtime.connector=new i(e),e.runtime.harvester=new s(e);const a=Object.values(e.features).filter(t=>e.runtime.drainRegistry.has(t.featureName));Promise.all(a.map(e=>e.onAggregateImported)).then(()=>e.runtime.harvester.startTimer())})();H.set(e,i),await i}(e,this.ee,this.featureName)}catch(e){return(0,l.R)(79,e),this.ee.abort(),void this.loadedSuccessfully(!1)}try{if(!this.#r(this.featureName,e.runtime.session,e.init))return this.abortHandler?.(),(0,L.Ze)(this.agentRef,this.featureName),void this.loadedSuccessfully(!1);const{Aggregate:r}=await t();this.featAggregate=new r(e,n),e.runtime.harvester.initializedAggregates.push(this.featAggregate),this.loadedSuccessfully(!0)}catch(e){(0,l.R)(34,e),this.abortHandler?.(),(0,L.Ze)(this.agentRef,this.featureName,!0),this.loadedSuccessfully(!1)}};g.RI?(0,P.GG)(()=>i(),!0):i()}#r(e,r,n){if(this.blocked)return!1;switch(e){case t.K7.sessionReplay:return(0,I.SR)(n)&&!!r;case t.K7.sessionTrace:return!!r;default:return!0}}#t(e){if(!B.has(e)&&(B.add(e),!(0,a.f)(e.info))){const t=(0,i.pV)();let r={...t.info?.jsAttributes};try{r={...r,...e.info?.jsAttributes}}catch(e){}O(e,{...t,info:{...t.info,jsAttributes:r},runtime:e.runtime},e.runtime.loaderType)}}}var U=r(6630);class K extends W{static featureName=U.T;constructor(e){var t;super(e,U.T),this.setupInspectionEvents(),t=e,(0,N.Y)(k.Fw,function(e,r){"string"==typeof e&&("/"!==e.charAt(0)&&(e="/"+e),t.runtime.customTransaction=(r||"http://custom.transaction")+e,(0,S.p)("api-"+k.Fw,[(0,_.t)()],void 0,void 0,t.ee))},t),this.importAggregator(e,()=>e.init.feature_flags.includes("rum_v2")?r.e(478).then(r.bind(r,908)):r.e(478).then(r.bind(r,7927)))}setupInspectionEvents(){const e=(e,t)=>{e&&(0,T.W)({timeStamp:e.timeStamp,loaded:"complete"===e.target.readyState,type:"window",name:t,data:e.target.location+""})};(0,P.sB)(t=>{e(t,"DOMContentLoaded")}),(0,P.GG)(t=>{e(t,"load")}),(0,P.Qr)(t=>{e(t,"navigate")}),this.ee.on(u.tS.UPDATE,(e,t)=>{(0,T.W)({type:"lifecycle",name:"session",data:t})})}}class F extends e.d{constructor(e){var t;(super(),g.gm)?(this.features={},(0,i.bQ)(this.agentIdentifier,this),this.desiredFeatures=new Set(e.features||[]),this.desiredFeatures.add(K),O(this,e,e.loaderType||"agent"),t=this,(0,N.Y)(k.cD,function(e,r,n=!1){if("string"==typeof e){if(["string","number","boolean"].includes(typeof r)||null===r)return(0,N.U)(t,e,r,k.cD,n);(0,l.R)(40,typeof r)}else(0,l.R)(39,typeof e)},t),function(e){(0,N.Y)(k.Dl,function(t,r=!1){if("string"!=typeof t&&null!==t)return void(0,l.R)(41,typeof t);const n=e.info.jsAttributes["enduser.id"];r&&null!=n&&n!==t?(0,S.p)("api-setUserIdAndResetSession",[t],void 0,"session",e.ee):(0,N.U)(e,"enduser.id",t,k.Dl,!0)},e)}(this),function(e){(0,N.Y)(k.nb,function(t){if("string"==typeof t||null===t)return(0,N.U)(e,"application.version",t,k.nb,!1);(0,l.R)(42,typeof t)},e)}(this),function(e){(0,N.Y)("start",function(){e.ee.emit("manual-start-all")},e)}(this),function(e){(0,N.Y)(k.Pv,function(t=!0){if("boolean"==typeof t){if((0,S.p)("api-"+k.Pv,[t],void 0,"session",e.ee),e.runtime.consented=t,t){const t=e.features.page_view_event;t.onAggregateImported.then(e=>{const r=t.featAggregate;e&&!r.sentRum&&r.sendRum?.()})}}else(0,l.R)(65,typeof t)},e)}(this),this.run()):(0,l.R)(21)}get config(){return{info:this.info,init:this.init,loader_config:this.loader_config,runtime:this.runtime}}get api(){return this}run(){try{const e=function(e){const t={};return n.forEach(r=>{t[r]=!!e[r]?.enabled}),t}(this.init),r=[...this.desiredFeatures],i=this.init.feature_flags.includes("rum_v2");r.sort((e,r)=>t.P3[e.featureName]-t.P3[r.featureName]),r.forEach(r=>{if(!e[r.featureName]&&(i||r.featureName!==t.K7.pageViewEvent))return;const n=function(e){switch(e){case t.K7.ajax:return[t.K7.jserrors];case t.K7.sessionTrace:return[t.K7.ajax,t.K7.pageViewEvent];case t.K7.sessionReplay:return[t.K7.sessionTrace];case t.K7.pageViewTiming:return[t.K7.pageViewEvent];default:return[]}}(r.featureName).filter(e=>!(e in this.features));n.length>0&&(0,l.R)(36,{targetFeature:r.featureName,missingDependencies:n}),this.features[r.featureName]=new r(this)})}catch(e){(0,l.R)(22,e);for(const e in this.features)this.features[e].abortHandler?.();const t=(0,i.Zm)();delete t.initializedAgents[this.agentIdentifier]?.features,delete this.sharedAggregator;return t.ee.get(this.agentIdentifier).abort(),!1}}}var V=r(2843),z=r(782);class G extends W{static featureName=z.T;constructor(e){super(e,z.T),g.RI&&((0,V.u)(()=>(0,S.p)("docHidden",[(0,_.t)()],void 0,z.T,this.ee),!0),(0,V.G)(()=>(0,S.p)("winPagehide",[(0,_.t)()],void 0,z.T,this.ee)),this.importAggregator(e,()=>r.e(478).then(r.bind(r,9917))))}}var q=r(3969);class Y extends W{static featureName=q.TZ;constructor(e){super(e,q.TZ),this.importAggregator(e,()=>r.e(478).then(r.bind(r,6555)))}}var Z=r(6774),J=r(3878),X=r(3304);class Q{constructor(e,t,r,n,i){this.name="UncaughtError",this.message="string"==typeof e?e:(0,X.A)(e),this.sourceURL=t,this.line=r,this.column=n,this.__newrelic=i}}function ee(e){return ne(e)?e:new Q(void 0!==e?.message?e.message:e,e?.filename||e?.sourceURL,e?.lineno||e?.line,e?.colno||e?.col,e?.__newrelic,e?.cause)}function te(e){const t="Unhandled Promise Rejection: ";if(!e?.reason)return;if(ne(e.reason)){try{e.reason.message.startsWith(t)||(e.reason.message=t+e.reason.message)}catch(e){}return ee(e.reason)}const r=ee(e.reason);return(r.message||"").startsWith(t)||(r.message=t+r.message),r}function re(e){if(e.error instanceof SyntaxError&&!/:\d+$/.test(e.error.stack?.trim())){const t=new Q(e.message,e.filename,e.lineno,e.colno,e.error.__newrelic,e.cause);return t.name=SyntaxError.name,t}return ne(e.error)?e.error:ee(e)}function ne(e){return e instanceof Error&&!!e.stack}function ie(e,r,n,i,s=(0,_.t)()){"string"==typeof e&&(e=new Error(e)),(0,S.p)("err",[e,s,!1,r,n.runtime.isRecording,void 0,i],void 0,t.K7.jserrors,n.ee),(0,S.p)("uaErr",[],void 0,t.K7.genericEvents,n.ee)}var se=r(993),ae=r(3785);function oe(e,{customAttributes:t={},level:r=se.p_.INFO}={},n,i,s=(0,_.t)()){(0,ae.R)(n.ee,e,t,r,!1,i,s)}function ce(e,r,n,i,s=(0,_.t)()){(0,S.p)("api-"+k.hG,[s,e,r,i],void 0,t.K7.genericEvents,n.ee)}function de(e,r,n,i,s=(0,_.t)()){const{start:a,end:o,customAttributes:c}=r||{},d={customAttributes:c||{}};if("object"!=typeof d.customAttributes||"string"!=typeof e||0===e.length)return void(0,l.R)(57);const u=(e,t)=>
6null==e?t:"number"==typeof e?e:e instanceof PerformanceMark?e.startTime:Number.NaN;if(d.start=u(a,0),d.end=u(o,s),Number.isNaN(d.start)||Number.isNaN(d.end))(0,l.R)(57);else{if(d.duration=d.end-d.start,!(d.duration<0))return(0,S.p)("api-"+k.V1,[d,e,i],void 0,t.K7.genericEvents,n.ee),d;(0,l.R)(58)}}function ue(e,r={},n,i,s=(0,_.t)()){(0,S.p)("api-"+k.fF,[s,e,r,i],void 0,t.K7.genericEvents,n.ee)}var le=r(5718);const fe=(e,t)=>e?.nrMfeId===t.id&&(!e?.nrMfeObserved||e?.nrMfeObserved===t.instance),he=e=>{try{return g.gm.CSS.escape(e)}catch(t){return e}},pe=(e,t={})=>{const r=t.id,n=t.instance;if(!e||!r||!n)return!1;try{let r=1===e.nodeType?e:e.parentElement;for(;r?.tagName;){if(fe(r.dataset,t))return r.dataset.nrMfeObserved=n,!0;r=r.parentNode}}catch(e){}return!1},ge=(e,t)=>{const r=g.gm.document?.querySelectorAll('[data-nr-mfe-id="'.concat(he(e.id),'"]')),n=(Array.from(r)||[]).find(t=>fe(t.dataset,e));let i=!!n;i&&(n.dataset.nrMfeObserved??=e.instance);const s=new g.gm.MutationObserver(r=>{r.forEach(r=>{r.addedNodes.forEach(r=>{const n=1===r.nodeType?r:null;!i&&fe(n?.dataset,e)&&(s.disconnect(),s.observe(n,{childList:!0,subtree:!0}),i=!0,n.dataset.nrMfeObserved=e.instance),(e=>{try{return e?.textContent?.trim()||["img","video","canvas","svg"].includes(e?.nodeName?.toLowerCase())}catch(e){return!1}})(r)&&(i||pe(r,e))&&t(r,s)})})});return s.observe(n||g.gm.document,{childList:!0,subtree:!0}),s},me=(e,t,r)=>{try{const n=new g.gm.PerformanceObserver(e=>{e.getEntries().forEach(r)});return n.observe(t),e.push(n),n}catch(e){return null}};function ve(e,t){let r,n,i=!1;const s=e=>null==e?e:e-(t?.scriptStart||t?.registeredAt||0),a={fcp:{get value(){const e=s(r);return e>1e4?void 0:e},set value(e){i||(r=e)}},lcp:{get value(){if(void 0!==a.fcp.value)return s(n)},set value(e){i||(n=e)}},cls:{value:void 0},inp:{value:void 0},disconnect:()=>{}};if(!(e&&g.RI&&g.gm.MutationObserver&&g.gm.PerformanceObserver))return a;const o=[];setTimeout(()=>{r||a.disconnect()},1e4);const c=()=>{if(!i){if(null==r){const e=(0,_.t)();if(s(e)>1e4)return void a.disconnect();r=e}n??=(0,_.t)(),a.cls.value??=0}},d=ge(e,(e,t)=>{c(),t.disconnect()});o.push(d);let u=0,l=null;const f=new Set;try{l=new g.gm.ResizeObserver(e=>{i||e.forEach(e=>{try{const t=e.contentRect.width*e.contentRect.height;t>u&&(u=t,a.lcp.value=(0,_.t)()),l.unobserve(e.target)}catch(e){}})})}catch(e){}const h=ge(e,e=>{if(c(),l)try{const t=1===e.nodeType?e:e.parentElement;t&&!f.has(t)&&(f.add(t),"IMG"===t.tagName?t.complete?l.observe(t):t.addEventListener("load",()=>{l.observe(t)},{once:!0}):"VIDEO"===t.tagName?t.readyState>=2?l.observe(t):t.addEventListener("loadeddata",()=>{l.observe(t)},{once:!0}):l.observe(t))}catch(e){}});l&&o.push(l),o.push(h),me(o,{type:"layout-shift",buffered:!0},t=>{i||t.hadRecentInput||(t.sources||[]).some(r=>!!pe(r.node,e)&&(c(),a.cls.value+=t.value,!0))}),me(o,{type:"event",buffered:!0,durationThreshold:40},t=>{!i&&t.interactionId&&pe(t.target,e)&&(void 0===a.inp.value||t.duration>a.inp.value)&&(c(),a.inp.value=t.duration)});const p=["pointerdown","keydown"],m=()=>{p.forEach(e=>{g.gm.removeEventListener(e,v,{passive:!0})})};a.disconnect=()=>{i=!0,o.forEach(e=>{try{e?.disconnect()}catch(e){}}),m(),["visibilitychange","pagehide"].forEach(e=>{g.gm.removeEventListener(e,a.disconnect,{once:!0,passive:!0})})};const v=t=>{pe(t?.target,e)&&((()=>{try{h?.disconnect(),l?.disconnect()}catch(e){}})(),m())};p.forEach(e=>{g.gm.addEventListener(e,v,{passive:!0})}),["visibilitychange","pagehide"].forEach(e=>{g.gm.addEventListener(e,a.disconnect,{once:!0,passive:!0})});const y=g.gm.document?.querySelectorAll('[data-nr-mfe-id="'.concat(he(e.id),'"]'));return Array.from(y||[]).some(t=>fe(t.dataset,e))&&c(),a}var ye=r(9566),be=r(7560),Ee=r(9119);const we=["entry","scripts","all"],Re=["name","id","type"],Te=new Map([[ce,"addPageAction"],[oe,"log"],[de,"measure"],[ie,"noticeError"],[ue,"recordCustomEvent"]]),Ae={experimental:(0,C.J)(()=>(0,l.R)(54,"newrelic.register")),disabled:(0,C.J)(()=>(0,l.R)(55)),invalidTarget:(0,C.J)(e=>(0,l.R)(48,e)),deregistered:(0,C.J)(()=>(0,l.R)(68)),invalidTimingMethod:(0,C.J)(e=>(0,l.R)(80,e)),duplicateName:(0,C.J)(e=>(0,l.R)(81,e)),duplicateId:(0,C.J)(e=>(0,l.R)(82,e))};function Se(e){(0,N.Y)(k.eY,function(t){return xe(e,t)},e)}function xe(e,r){Ae.experimental(),r||={},r.instance=(0,ye.LA)(8),r.type=w.f.MFE,r.licenseKey||=e.info.licenseKey,r.blocked=!1,("object"!=typeof r.tags||null===r.tags||Array.isArray(r.tags))&&(r.tags={}),r.parent??={get id(){return e.runtime.appMetadata.agents?.[0].entityGuid},type:w.f.BA},r.manifest=(0,be.N)(r.manifest),void 0===r.timingMethod||we.includes(r.timingMethod)||(Ae.invali
6dTimingMethod(r.timingMethod),r.timingMethod=void 0);const n=(0,le.Qr)(r);r.manifest&&(0,le.xo)(n,r);const i=ve(r,n),s=(0,Ee.L)(""+location),a={};Object.prototype.hasOwnProperty.call(r,"attributes")||Object.defineProperty(r,"attributes",{get:()=>({...a,"source.id":r.id,"source.name":r.name,"source.type":r.type,"parent.type":r.parent?.type||w.f.BA,"parent.id":r.parent?.id})}),Object.entries(r.tags).forEach(([e,t])=>{Re.includes(e)||(a["source.".concat(e)]=t)});let o=()=>{};const c=e.runtime.registeredEntities,d=e=>{r.blocked=!0,o=e};function u(e){return"string"==typeof e&&!!e.trim()&&e.trim().length<501}e.init.api.register.enabled||d(Ae.disabled),u(r.id)&&u(r.name)||d(()=>Ae.invalidTarget(r)),c.forEach(e=>{try{const{name:t,id:n}=e.metadata.target;t===r.name&&n!==r.id&&Ae.duplicateName(r),n===r.id&&t!==r.name&&Ae.duplicateId(r)}catch(e){}});const f={addPageAction:(t,n={})=>m(ce,[t,{...a,...n},e],r),deregister:()=>{p(),d(Ae.deregistered)},log:(t,n={})=>m(oe,[t,{...n,customAttributes:{...a,...n.customAttributes||{}}},e],r),measure:(t,n={})=>m(de,[t,{...n,customAttributes:{...a,...n.customAttributes||{}}},e],r),noticeError:(t,n={})=>m(ie,[t,{...a,...n},e],r),recordCustomEvent:(t,n={})=>m(ue,[t,{...a,...n},e],r),setApplicationVersion:e=>g("application.version",e),setCustomAttribute:(e,t)=>g(e,t),setUserId:e=>g("enduser.id",e),metadata:{get customAttributes(){return a},target:r,timings:n,vitals:i,events:{latestTimestamp:void 0}}},h=()=>(r.blocked&&o(),r.blocked);function p(){if(n.reportedAt)return;n.reportedAt=(0,_.t)(),i.disconnect(),n.fcp=i.fcp,n.lcp=i.lcp,n.cls=i.cls,n.inp=i.inp;const e=n.fetchEnd-n.fetchStart,t=n.scriptEnd-n.scriptStart,r={assetUrl:n.asset,assetType:n.type,registerUrl:s,deregisterUrl:(0,Ee.L)(""+location),pageUrl:void 0,currentUrl:void 0,timeAlive:n.reportedAt-n.registeredAt,timeToBeRequested:n.fetchStart,timeToExecute:t,timeToFetch:e,timeToLoad:e+t,t
6imeToRegister:n.registeredAt,totalWeight:n.totalWeight,...void 0!==n.renderBlocking&&{renderBlocking:n.renderBlocking},...i.fcp.value>=0&&{"vitals.fcp.value":i.fcp.value},...i.lcp.value>=0&&{"vitals.lcp.value":i.lcp.value},...i.cls.value>=0&&{"vitals.cls.value":i.cls.value},...i.inp.value>=0&&{"vitals.inp.value":i.inp.value}};f.recordCustomEvent("MicroFrontEndTiming",r)}h()||(c.push(f),(0,V.G)(p));const g=(e,t)=>{h()||(a[e]=t)},m=(r,n,i)=>{if(h()&&r!==xe)return;const s=f.metadata.events.latestTimestamp??(0,_.t)();f.metadata.events.latestTimestamp=void 0;const a=Te.get(r)||"unknown";(0,S.p)(q.xV,["API/register/".concat(a,"/called")],void 0,t.K7.metrics,e.ee);try{return r(...n,i,s)}catch(e){(0,l.R)(50,e)}};return f}class Oe extends W{static featureName=Z.T;constructor(e){var t;super(e,Z.T),t=e,(0,N.Y)(k.o5,(e,r)=>ie(e,r,t),t),function(e){(0,N.Y)(k.bt,function(t){e.runtime.onerror=t},e)}(e),function(e){let t=0;(0,N.Y)(k.k6,function(e,r){++t>10||(this.runtime.releaseIds[e.slice(-200)]=(""+r).slice(-200))},e)}(e),Se(e);try{this.removeOnAbort=new AbortController}catch(e){}this.ee.on("internal-error",(t,r)=>{this.abortHandler&&(0,S.p)("ierr",[ee(t),(0,_.t)(),!0,{},e.runtime.isRecording,r],void 0,this.featureName,this.ee)}),g.gm.addEventListener("unhandledrejection",t=>{this.abortHandler&&(0,S.p)("err",[te(t),(0,_.t)(),!1,{unhandledPromiseRejection:1},e.runtime.isRecording],void 0,this.featureName,this.ee)},(0,J.jT)(!1,this.removeOnAbort?.signal)),g.gm.addEventListener("error",t=>{this.abortHandler&&(0,S.p)("err",[re(t),(0,_.t)(),!1,{},e.runtime.isRecording],void 0,this.featureName,this.ee)},(0,J.jT)(!1,this.removeOnAbort?.signal)),this.abortHandler=this.#n,this.importAggregator(e,()=>r.e(478).then(r.bind(r,9377)))}#n(){this.removeOnAbort?.abort(),this.abortHandler=void 0}}var _e=r(8990);let ke=1;function Ne(e){const t=typeof e;return!e||"object"!==t&&"function"!==t?-1:e===g.gm?0:(0,_e.I)(e,"nr@id",function(){return ke++})}function Le(e){if("string"==typeof e)return e.length;if("object"==typeof e){if("undefined"!=typeof ArrayBuffer&&e instanceof ArrayBuffer&&e.byteLength)return e.byteLength;if("undefined"!=typeof Blob&&e instanceof Blob&&e.size)return e.size;if(!("undefined"!=typeof FormData&&e instanceof FormData))try{return(0,X.A)(e).length}catch(e){return}}}var Me=r(8139),Pe=r(3434),Ie=r(5732);const je={},Ce=["open","send","setRequestHeader"];function De(e,t){var r=e||R.ee;const n=function(e){return(e||R.ee).get("xhr")}(r);if(void 0===g.gm.XMLHttpRequest)return n;if(je[n.debugId]++)return n;je[n.debugId]=1,(0,Me.u)(r,t);var i=(0,Pe.YM)(n,void 0,t),s=g.gm.XMLHttpRequest,a=g.gm.MutationObserver,o=g.gm.Promise,c=g.gm.setInterval,d="readystatechange",u=["onload","onerror","onabort","onloadstart","onloadend","onprogress","ontimeout"],f=[],h=g.gm.XMLHttpRequest=function(e){const r=new s(e),a=n.context(r);a.targets=(0,Ie.$5)(t);try{n.emit("new-xhr",[r],a),r.addEventListener(d,(o=a,function(){var e=this;e.readyState>3&&!o.resolved&&(o.resolved=!0,n.emit("xhr-resolved",[],e)),i.inPlace(e,u,"fn-",E)}),(0,J.jT)(!1))}catch(e){(0,l.R)(15,e);try{n.emit("internal-error",[e])}catch(e){}}var o;return r};function p(e,t){i.inPlace(t,["onreadystatechange"],"fn-",E)}if(function(e,t){for(var r in e)t[r]=e[r]}(s,h),h.prototype=s.prototype,i.inPlace(h.prototype,Ce,"-xhr-",E),n.on("send-xhr-start",function(e,t){p(e,t),function(e){f.push(e),a&&(m?m.then(b):c?c(b):(v=-v,y.data=v))}(t)}),n.on("open-xhr-start",p),a){var m=o&&o.resolve();if(!c&&!o){var v=1,y=document.createTextNode(v);new a(b).observe(y,{characterData:!0})}}else r.on("fn-end",function(e){e[0]&&e[0].type===d||b()});function b(){for(var e=0;e<f.length;e++)p(0,f[e]);f.length&&(f=[])}function E(e,t){return t}return n}var Be="fetch-",He=Be+"body-",We=["arrayBuffer","blob","json","text","formData"],Ue=g.gm.Request,Ke=g.gm.Response,Fe="prototype";const Ve={};function ze(e,t){const r=function(e){return(e||R.ee).get("fetch")}(e);if(!(Ue&&Ke&&g.gm.fetch))return r;if(Ve[r.debugId]++)return r;function n(e,n,i){var s=e[n];"function"==typeof s&&(e[n]=function(){var e=[...arguments];const n={},a=(0,Ie.$5)(t);var o;r.emit(i+"before-start",[e],n),n[R.P]&&n[R.P].dt&&(o=n[R.P].dt);var c=s.apply(this,e);return r.emit(i+"start",[e,o],c),c.then(function(e){return r.emit(i+"end",[null,e,a],c),e},function(e){throw r.emit(i+"end",[e,void 0,a],c),e})})}
6return Ve[r.debugId]=1,We.forEach(e=>{n(Ue[Fe],e,He),n(Ke[Fe],e,He)}),n(g.gm,"fetch",Be),r.on(Be+"end",function(e,n,i){var s=this;if(s.targets=i||[t.runtime.v2Target],n){var a=n.headers.get("content-length");null!==a&&(s.rxSize=a),r.emit(Be+"done",[null,n],s)}else r.emit(Be+"done",[e],s)}),r}var Ge=r(7485);class qe{constructor(e){this.agentRef=e}generateTracePayload(e){const t=this.agentRef.loader_config;if(!this.shouldGenerateTrace(e)||!t)return null;var r=(t.accountID||"").toString()||null,n=(t.agentID||"").toString()||null,i=(t.trustKey||"").toString()||null;if(!r||!n)return null;var s,a=(0,ye.ZF)(),o=(0,ye.el)(),c=Date.now();this.agentRef.runtime?.timeKeeper?.ready&&(s=Math.floor(this.agentRef.runtime.timeKeeper.correctAbsoluteTimestamp(c)));var d={spanId:a,traceId:o,timestamp:c,timestampCorrected:s};return(e.sameOrigin||this.isAllowedOrigin(e)&&this.useTraceContextHeadersForCors())&&(d.traceContextParentHeader=this.generateTraceContextParentHeader(a,o),d.traceContextStateHeader=this.generateTraceContextStateHeader(a,s??c,r,n,i)),(e.sameOrigin&&!this.excludeNewrelicHeader()||!e.sameOrigin&&this.isAllowedOrigin(e)&&this.useNewrelicHeaderForCors())&&(d.newrelicHeader=this.generateTraceHeader(a,o,s??c,r,n,i)),d}generateTraceContextParentHeader(e,t){return"00-"+t+"-"+e+"-01"}generateTraceContextStateHeader(e,t,r,n,i){return i+"@nr=0-1-"+r+"-"+n+"-"+e+"----"+t}generateTraceHeader(e,t,r,n,i,s){if(!("function"==typeof g.gm?.btoa))return null;var a={v:[0,1],d:{ty:"Browser",ac:n,ap:i,id:e,tr:t,ti:r}};return s&&n!==s&&(a.d.tk=s),btoa((0,X.A)(a))}shouldGenerateTrace(e){return this.agentRef.init?.distributed_tracing?.enabled&&this.isAllowedOrigin(e)}isAllowedOrigin(e){var t=!1;const r=this.agentRef.init?.distributed_tracing;if(e.sameOrigin)t=!0;else if(r?.allowed_origins instanceof Array)for(var n=0;n<r.allowed_origins.length;n++){var i=(0,Ge.D)(r.allowed_origins[n]);if(e.hostname===i.hostname&&e.protocol===i.protocol&&e.port===i.port){t=!0;break}}return t}excludeNewrelicHeader(){var e=this.agentRef.init?.distributed_tracing;return!!e&&!!e.exclude_newrelic_header}useNewrelicHeaderForCors(){var e=this.agentRef.init?.distributed_tracing;return!!e&&!1!==e.cors_use_newrelic_header}useTraceContextHeadersForCors(){var e=this.agentRef.init?.distributed_tracing;return!!e&&!!e.cors_use_tracecontext_headers}}var Ye=r(7295);function Ze(e){return"string"==typeof e?e:e instanceof(0,i.dV)().o.REQ?e.url:g.gm?.URL&&e instanceof URL?e.href:void 0}function $e(e,t){var r=(0,Ge.D)(t),n=e.params||e;n.hostname=r.hostname,n.port=r.port,n.protocol=r.protocol,n.host=r.hostname+":"+r.port,n.pathname=r.pathname,e.parsedOrigin=r,e.sameOrigin=r.sameOrigin}var Je=["load","error","abort","timeout"],Xe=Je.length,Qe=(0,i.dV)().o.REQ,et=(0,i.dV)().o.XHR;const tt="X-NewRelic-App-Data",rt="internal-error";class nt extends W{static featureName=c.TZ;constructor(e){super(e,c.TZ),this.dt=new qe(e),this.handler=(e,t,r,n)=>(0,S.p)(e,t,r,n,this.ee);try{const e={xmlhttprequest:"xhr",fetch:"fetch",beacon:"beacon"};g.gm?.performance?.getEntriesByType("resource").forEach(r=>{if(r.initiatorType in e&&0!==r.responseStatus){const n={status:r.responseStatus},i={rxSize:r.transferSize,duration:Math.floor(r.duration),cbTime:0};$e(n,r.name),this.handler("xhr",[n,i,r.startTime,r.responseEnd,e[r.initiatorType]],void 0,t.K7.ajax)}})}catch(e){}ze(this.ee,e),De(this.ee,e),function(e,r,n,i){const s=[c.mo.ALL,c.mo.FAILURES].includes(e.init.ajax?.capture_payloads);function a(e){var t=this;t.totalCbs=0,t.called=0,t.cbTime=0,t.end=A,t.ended=!1,t.xhrGuids={},t.lastSize=null,t.loadCaptureCalled=!1,t.params=this.params||{},t.metrics=this.metrics||{},t.latestLongtaskEnd=0,e.addEventListener("load",function(r){O(t,e)},(0,J.jT)(!1)),g.lR||e.addEventListener("progress",function(e){t.lastSize=e.loaded},(0,J.jT)(!1))}function o(e){this.params={method:e[0]},$e(this,e[1]),this.metrics={}}function d(t,r){e.loader_config.xpid&&this.sameOrigin&&r.setRequestHeader("X-NewRelic-ID",e.loader_config.xpid);var n=i.generateTracePayload(this.parsedOrigin);if(n){var s=!1;n.newrelicHeader&&(r.setRequestHeader("newrelic",n.newrelicHeader),s=!0),n.traceContextParentHeader&&(r.setRequestHeader("traceparent",n.traceContextParentHeader),n.traceContextStateHeader&&r.setRequestHeader("tracestate",n.traceContextStateHeader),s=!0),s&&(this.dt=n)}}function u(e,t){s&&e.length>=2&&(this.requestHeaders??={},this.requestHeaders[e[0].toLowerCase()]=e[1])}function l(e,t){var n=this.metrics,i=e[0],s=this;if(n&&i){var a=Le(i);a&&(n.txSize=a)}this.startTime=(0,_.t)(),this.requestBody=i,this.listener=function(e){try{"abort"!==e.type||s.loadCaptureCalled||(s.params.aborted=!0),("load"
6!==e.type||s.called===s.totalCbs&&(s.onloadCalled||"function"!=typeof t.onload)&&"function"==typeof s.end)&&s.end(t)}catch(e){try{r.emit(rt,[e])}catch(e){}}};for(var o=0;o<Xe;o++)t.addEventListener(Je[o],this.listener,(0,J.jT)(!1))}function f(e,t,r){this.cbTime+=e,t?this.onloadCalled=!0:this.called+=1,this.called!==this.totalCbs||!this.onloadCalled&&"function"==typeof r.onload||"function"!=typeof this.end||this.end(r)}function h(e,t){var r=""+Ne(e)+!!t;this.xhrGuids&&!this.xhrGuids[r]&&(this.xhrGuids[r]=!0,this.totalCbs+=1)}function p(e,t){var r=""+Ne(e)+!!t;this.xhrGuids&&this.xhrGuids[r]&&(delete this.xhrGuids[r],this.totalCbs-=1)}function m(){this.endTime=(0,_.t)()}function v(e,t){t instanceof et&&"load"===e[0]&&r.emit("xhr-load-added",[e[1],e[2]],t)}function y(e,t){t instanceof et&&"load"===e[0]&&r.emit("xhr-load-removed",[e[1],e[2]],t)}function b(e,t,r){t instanceof et&&("onload"===r&&(this.onload=!0),("load"===(e[0]&&e[0].type)||this.onload)&&(this.xhrCbStart=(0,_.t)()))}function E(e,t){this.xhrCbStart&&r.emit("xhr-cb-time",[(0,_.t)()-this.xhrCbStart,this.onload,t],t)}function w(e){var t,r=e[1]||{};if("string"==typeof e[0]?0===(t=e[0]).length&&g.RI&&(t=""+g.gm.location.href):e[0]&&e[0].url?t=e[0].url:g.gm?.URL&&e[0]&&e[0]instanceof URL?t=e[0].href:"function"==typeof e[0].toString&&(t=e[0].toString()),"string"==typeof t&&0!==t.length){t&&(this.parsedOrigin=(0,Ge.D)(t),this.sameOrigin=this.parsedOrigin.sameOrigin);var n=i.generateTracePayload(this.parsedOrigin);if(n&&(n.newrelicHeader||n.traceContextParentHeader))if(e[0]&&e[0].headers)o(e[0].headers,n)&&(this.dt=n);else{var s={};for(var a in r)s[a]=r[a];s.headers=new Headers(r.headers||{}),o(s.headers,n)&&(this.dt=n),e.length>1?e[1]=s:e.push(s)}}function o(e,t){var r=!1;return t.newrelicHeader&&(e.set("newrelic",t.newrelicHeader),r=!0),t.traceContextParentHeader&&(e.set("traceparent",t.traceContextParentHeader),t.traceContextStateHeader&&e.set("tracestate",t.traceContextStateHeader),r=!0),r}}function R(e,t){this.params={},this.metrics={},this.startTime=(0,_.t)(),this.dt=t;let[r,n={}]=e;$e(this,Ze(r));const i=(""+(r&&r instanceof Qe&&r.method||n.method||"GET")).toUpperCase();this.params.method=i,this.txSize=Le(n.body||r?.body)||0;try{var a=n.headers||r?.headers;if(s&&a)if(this.requestHeaders??={},a instanceof Headers)a.forEach(function(e,t){this.requestHeaders[t.toLowerCase()]=e}.bind(this));else if("object"==typeof a)for(var o in a)this.requestHeaders[o.toLowerCase()]=a[o]}catch(e){}this.requestBody=n.body||r?.body}function T(e,t){if(this.endTime=(0,_.t)(),this.params||(this.params={}),(0,Ye.iW)(this.params))return;this.params.status=t?t.status:0;const n=()=>{const e=+this.rxSize,t=null==this.rxSize||isNaN(e)?void 0:e,r={txSize:this.txSize,rxSize:t,duration:this.endTime-this.startTime},n=[this.params,r,this.startTime,this.endTime,"fetch"];this.targets.forEach(e=>x(n,this,e))};t&&s?t.clone().text().then(e=>{this.responseBody=e,this.rxSize&&"0"!==this.rxSize&&0!==this.rxSize||void 0===e||0===this.params.status||(this.rxSize=Le(e)),t?.headers&&(this.responseHeaders={},t.headers.forEach(function(e,t){this.responseHeaders[t.toLowerCase()]=e}.bind(this)))}).catch(e=>{r.emit(rt,[e])}).finally(()=>{n()}):n()}function A(e){const t=this.params,n=this.metrics;if(this.ended)return;this.ended=!0;for(let t=0;t<Xe;t++)e.removeEventListener(Je[t],this.listener,!1);if(t.aborted)return;if((0,Ye.iW)(t))return;if(n.duration=this.endTime-this.startTime,this.loadCaptureCalled||4!==e.readyState?null==t.status&&(t.status=0):O(this,e),n.cbTime=this.cbTime,s){try{this.responseBody=e.responseText}catch(t){this.responseBody=e.response}if((!n.rxSize||0===n.rxSize)&&void 0!==this.responseBody&&0!==t.status){const e=Le(this.responseBody);void 0!==e&&(n.rxSize=e)}try{this.responseHeaders=function(e){const t={};return e?(e.split("\r\n").forEach(function(e){const r=e.indexOf(": ");if(r>0){const n=e.substring(0,r),i=e.substring(r+2);t[n.toLowerCase()]=i}}),t):t}(e.getAllResponseHeaders())}catch(e){r.emit(rt,[e])}}const i=[t,n,this.startTime,this.endTime,"xhr"];this.targets.forEach(e=>x(i,this,e))}function x(e,r,i){n("xhr",[...e,i],r,t.K7.ajax)}function O(e,n){e.params.status=n.status;var i=function(e,t){var r=e.responseType;return"json"===r&&null!==t?t:"arraybuffer"===r||"blob"===r||"json"===r?Le(e.response):"text"===r||""===r||void 0===r?Le(e.responseText):void 0}(n,e.lastSize);if(void 0!==i&&0!==n.status&&(e.metrics.rxSize=i),e.sameOrigin&&n.getAllResponseHeaders().indexOf(tt)>=0){var s=n.getResponseHeader(tt);s&&((0,S.p)("sm",["Ajax/CrossApplicationTracing/Header/Seen"],void 0,t.K7.metrics,r),e.params.cat=s.split(", ").pop())}e.loadCaptureCalled=!0}r.on("new-xhr",a),r.on("open-xhr-start",o),r.on("open-xhr-end",d),r.on("send-xhr-start",l),r.on("setRequestHeader-xhr-start",u),r.on("xhr-cb-time",f),r.on("xhr-load-added",h),r.on("xhr-load-removed",p),r.on("xhr-resolved",m),r.on("addEventListener-end",v),r.on("removeEventListener-end",y),r.on("fn-end",E),r.on("fetch-before-start",w),r.on("fetch-start",R),r.on("fn-start",b),r.on("fetch-done",T)}(e,this.ee,this.handler,this.dt),this.importAggregator(e,()=>r.e(478).then(r.bind(r,3845)))}}const it={},st=["pushState","replaceState"];function at(e,t){const r=function(e){return(e||R.ee).get("history")}(e);return!g.RI||it[r.debugId]++||(it[r.debugId]=1,(0,Pe.YM)(r,void 0,t).inPlace(window.history,st,"-")),r}var ot=r(3738);function ct(e){(0,N.Y)(k.BL,function(r=Date.now()){const n=r-g.WN;n<0&&(0,l.R)(62,r),(0,S.p)(q.XG,[k.BL,{time:n}],void 0,t.K7.metrics,e.ee),e.addToTrace({name:k.BL,start:r,origin:"nr"}),(0,S.p)("api-"+k.hG,[n,k.BL],void 0,t.K7.genericEvents,e.ee)},e)}const{He:dt,bD:ut,d3:lt,Kp:ft,TZ:ht,Lc:pt,uP:gt,Rz:mt}=ot;class vt extends W{static featureName=ht;constructor(e){var n;super(e,ht),n=e,(0,N.Y)(k.U2,function(e){if(!(e&&"object"==typeof e&&e.name&&e.start))return;const r={n:e.name,s:e.start-g.WN,e:(e.end||e.start)-g.WN,o:e.origin||"",t:"api"};r.s<0||r.e<0||r.e<r.s?(0,l.R)(61,{start:r.s,end:r.e}):(0,S.p)("bstApi",[r],void 0,t.K7.sessionTrace,n.ee)},n),ct(e);
6if(!(0,j.V)(e.init))return void this.deregisterDrain();const i=this.ee;let s;at(i,e),this.eventsEE=(0,Me.u)(i,e),this.eventsEE.on(gt,function(e,t){this.bstStart=(0,_.t)()}),this.eventsEE.on(pt,function(e,r){(0,S.p)("bst",[e[0],r,this.bstStart,(0,_.t)()],void 0,t.K7.sessionTrace,i)}),i.on(mt+lt,function(e){this.time=(0,_.t)(),this.startPath=location.pathname+location.hash}),i.on(mt+ft,function(e){(0,S.p)("bstHist",[location.pathname+location.hash,this.startPath,this.time],void 0,t.K7.sessionTrace,i)});try{s=new PerformanceObserver(e=>{const r=e.getEntries();(0,S.p)(dt,[r],void 0,t.K7.sessionTrace,i)}),s.observe({type:ut,buffered:!0})}catch(e){}this.importAggregator(e,()=>r.e(478).then(r.bind(r,6974)),{resourceObserver:s})}}var yt=r(733),bt=r(6344);class Et extends W{static featureName=bt.TZ;#i;recorder;constructor(e){var n;let i;super(e,bt.TZ),n=e,(0,N.Y)(k.CH,function(){(0,S.p)(k.CH,[],void 0,t.K7.sessionReplay,n.ee)},n),function(e){(0,N.Y)(k.Tb,function(){(0,S.p)(k.Tb,[],void 0,t.K7.sessionReplay,e.ee)},e)}(e);const s="".concat(u.Wt).concat((0,yt.Y)(e.info.licenseKey,e.info.applicationID));try{i=JSON.parse(localStorage.getItem(s))}catch(e){}(0,I.SR)(e.init)&&this.ee.on(k.CH,()=>this.#s()),this.#a(i)&&this.importRecorder().then(e=>{e.startRecording(bt.Qb.PRELOAD,i?.sessionReplayMode)}),this.abortHandler=this.#n,this.importAggregator(this.agentRef,()=>r.e(478).then(r.bind(r,6167)),this),this.ee.on("err",e=>{this.blocked||this.agentRef.runtime.isRecording&&(this.errorNoticed=!0,(0,S.p)(bt.Vh,[e],void 0,this.featureName,this.ee))})}#a(e){return e&&(e.sessionReplayMode===u.g.FULL||e.sessionReplayMode===u.g.ERROR)||(0,I.Aw)(this.agentRef.init)}importRecorder(){return this.recorder?Promise.resolve(this.recorder):(this.#i??=Promise.all([r.e(478),r.e(249)]).then(r.bind(r,4866)).then(({Recorder:e})=>(this.recorder=new e(this),this.recorder)).catch(e=>{throw this.ee.emit("internal-error",[e]),this.blocked=!0,e}),this.#i)}#s(){this.blocked||(this.featAggregate?this.featAggregate.mode!==u.g.FULL&&this.featAggregate.initializeRecording(u.g.FULL,!0,bt.Qb.API):this.importRecorder().then(()=>{this.recorder.startRecording(bt.Qb.API,u.g.FULL)}))}#n(){this.recorder?.stopRecording()}}var wt=r(3962);class Rt extends W{static featureName=wt.TZ;constructor(e){if(super(e,wt.TZ),function(e){const r=e.ee.get("tracer");function n(){}(0,N.Y)(k.dT,function(e){return(new n).get("object"==typeof e?e:{})},e);const i=n.prototype={createTracer:function(n,i){var s={},a=this,o="function"==typeof i;return(0,S.p)(q.xV,["API/createTracer/called"],void 0,t.K7.metrics,e.ee),function(){if(r.emit((o?"":"no-")+"fn-start",[(0,_.t)(),a,o],s),o)try{return i.apply(this,arguments)}catch(e){const t="string"==typeof e?new Error(e):e;throw r.emit("fn-err",[arguments,this,t],s),t}finally{r.emit("fn-end",[(0,_.t)()],s)}}}};["actionText","setName","setAttribute","save","ignore","onEnd","getContext","end","get"].forEach(r=>{N.Y.apply(this,[r,function(){return(0,S.p)(k.hw+r,[performance.now(),...arguments],this,t.K7.softNav,e.ee),this},e,i])}),(0,N.Y)(k.PA,function(){(0,S.p)(k.hw+"routeName",[performance.now(),...arguments],void 0,t.K7.softNav,e.ee)},e)}(e),!g.RI||!(0,i.dV)().o.MO)return;const n=at(this.ee,e);try{this.removeOnAbort=new AbortController}catch(e){}wt.tC.forEach(e=>{(0,J.sp)(e,e=>{c(e)},!0,this.removeOnAbort?.signal)}
6);const s=()=>(0,S.p)("newURL",[(0,_.t)(),""+window.location],void 0,this.featureName,this.ee);n.on("pushState-end",s),n.on("replaceState-end",s),(0,J.sp)(wt.OV,e=>{c(e),(0,S.p)("newURL",[e.timeStamp,""+window.location],void 0,this.featureName,this.ee)},!0,this.removeOnAbort?.signal);let a=!1;const o=new((0,i.dV)().o.MO)((e,t)=>{a||(a=!0,requestAnimationFrame(()=>{(0,S.p)("newDom",[(0,_.t)()],void 0,this.featureName,this.ee),a=!1}))}),c=(0,C.s)(e=>{"loading"!==document.readyState&&((0,S.p)("newUIEvent",[e],void 0,this.featureName,this.ee),o.observe(document.body,{attributes:!0,childList:!0,subtree:!0,characterData:!0}))},100,{leading:!0});this.abortHandler=function(){this.removeOnAbort?.abort(),o.disconnect(),this.abortHandler=void 0},this.importAggregator(e,()=>r.e(478).then(r.bind(r,4393)),{domObserver:o})}}var Tt=r(981);const At={},St=new Set;function xt(e){return"string"==typeof e?{type:"string",size:(new TextEncoder).encode(e).length}:e instanceof ArrayBuffer?{type:"ArrayBuffer",size:e.byteLength}:e instanceof Blob?{type:"Blob",size:e.size}:e instanceof DataView?{type:"DataView",size:e.byteLength}:ArrayBuffer.isView(e)?{type:"TypedArray",size:e.byteLength}:{type:"unknown",size:0}}class Ot{constructor(e,t){this.timestamp=(0,_.t)(),this.currentUrl=(0,Ee.L)(window.location.href),this.socketId=(0,ye.LA)(8),this.requestedUrl=(0,Ee.L)(e),this.requestedProtocols=Array.isArray(t)?t.join(","):t||"",this.openedAt=void 0,this.protocol=void 0,this.extensions=void 0,this.binaryType=void 0,this.messageOrigin=void 0,this.messageCount=0,this.messageBytes=0,this.messageBytesMin=0,this.messageBytesMax=0,this.messageTypes=void 0,this.sendCount=0,this.sendBytes=0,this.sendBytesMin=0,this.sendBytesMax=0,this.sendTypes=void 0,this.closedAt=void 0,this.closeCode=void 0,this.closeReason="unknown",this.closeWasClean=void 0,this.connectedDuration=0,this.hasErrors=void 0}}class _t extends W{static featureName=o.TZ;constructor(e){super(e,o.TZ);const n=e.init.feature_flags.includes("websockets")||e.init.web_sockets?.enabled,s=!e.init.feature_flags.includes("no_spv"),a=[e.init.page_action.enabled,e.init.performance.capture_marks,e.init.performance.capture_measures,e.init.performance.resources.enabled,e.init.user_actions.enabled,n,s];var c;let d;if(c=e,(0,N.Y)(k.hG,(e,t)=>ce(e,t,c),c),function(e){(0,N.Y)(k.fF,(t,r)=>ue(t,r,e),e)}(e),ct(e),Se(e),function(e){(0,N.Y)(k.V1,(t,r)=>de(t,r,e),e)}(e),this.removeOnAbort=new AbortController,this.abortHandler=()=>{this.removeOnAbort.abort(),this.abortHandler=void 0},n){const u=function(e,t){if(!(0,i.dV)().o.WS)return e;const r=e.get("websockets");if(At[r.debugId]++)return r;At[r.debugId]=1,(0,V.G)(()=>{const e=(0,_.t)();St.forEach(t=>{t.nrData.closedAt=e,t.nrData.closeCode=1001,t.nrData.closeReason="Page navigating away",t.nrData.closeWasClean=!1,t.nrData.openedAt&&(t.nrData.connectedDuration=e-t.nrData.openedAt),r.emit("ws",[t.nrData,t.targets],t)})});
6class n extends WebSocket{static name=Tt.R.WS;static toString(){return"function WebSocket() { [native code] }"}toString(){return"[object WebSocket]"}get[Symbol.toStringTag](){return n.name}#o(e){(e.__newrelic??={}).socketId=this.nrData.socketId,this.nrData.hasErrors??=!0}constructor(...e){super(...e),this.nrData=new Ot(e[0],e[1]),this.targets=(0,Ie.$5)(t),this.addEventListener("open",()=>{this.nrData.openedAt=(0,_.t)(),["protocol","extensions","binaryType"].forEach(e=>{this.nrData[e]=this[e]}),St.add(this)}),this.addEventListener("message",e=>{const{type:t,size:r}=xt(e.data);this.nrData.messageOrigin??=(0,Ee.L)(e.origin),this.nrData.messageCount++,this.nrData.messageBytes+=r,this.nrData.messageBytesMin=Math.min(this.nrData.messageBytesMin||1/0,r),this.nrData.messageBytesMax=Math.max(this.nrData.messageBytesMax,r),(this.nrData.messageTypes??"").includes(t)||(this.nrData.messageTypes=this.nrData.messageTypes?"".concat(this.nrData.messageTypes,",").concat(t):t)}),this.addEventListener("close",e=>{this.nrData.closedAt=(0,_.t)(),this.nrData.closeCode=e.code,e.reason&&(this.nrData.closeReason=e.reason),this.nrData.closeWasClean=e.wasClean,this.nrData.connectedDuration=this.nrData.closedAt-this.nrData.openedAt,St.delete(this),r.emit("ws",[this.nrData,this.targets],this)})}addEventListener(e,t,...r){const n=this,i="function"==typeof t?function(...e){try{return t.apply(this,e)}catch(e){throw n.#o(e),e}}:t?.handleEvent?{handleEvent:function(...e){try{return t.handleEvent.apply(t,e)}catch(e){throw n.#o(e),e}}}:t;return super.addEventListener(e,i,...r)}send(e){if(this.readyState===WebSocket.OPEN){const{type:t,size:r}=xt(e);this.nrData.sendCount++,this.nrData.sendBytes+=r,this.nrData.sendBytesMin=Math.min(this.nrData.sendBytesMin||1/0,r),this.nrData.sendBytesMax=Math.max(this.nrData.sendBytesMax,r),(this.nrData.sendTypes??"").includes(t)||(this.nrData.sendTypes=this.nrData.sendTypes?"".concat(this.nrData.sendTypes,",").concat(t):t)}try{return super.send(e)}catch(e){throw this.#o(e),e}}close(...e){try{super.close(...e)}catch(e){throw this.#o(e),e}}}return g.gm.WebSocket=n,r}(this.ee,e);u.on("ws",(e,t)=>{(0,S.p)("ws-complete",[e,t],void 0,this.featureName,this.ee)})}if(s){if("function"==typeof g.gm.ReportingObserver){const l=new g.gm.ReportingObserver(e=>{e.forEach(e=>{(0,S.p)("spv",[kt(e),(0,_.t)()],void 0,t.K7.genericEvents,this.ee)}),l.disconnect()},{types:["csp-violation"],buffered:!0});l.observe()}g.gm.addEventListener("securitypolicyviolation",e=>{(0,S.p)("spv",[kt(e),e.timeStamp],void 0,t.K7.genericEvents,this.ee)},(0,J.jT)(!1,this.removeOnAbort.signal))}if(g.RI){if(ze(this.ee,e),De(this.ee,e),d=at(this.ee,e),e.init.user_actions.enabled){function f(t){const r=(0,Ge.D)(t);return e.beacons.includes(r.hostname+":"+r.port)}function h(){d.emit("navChange")}o.Zp.forEach(e=>(0,J.sp)(e,e=>(0,S.p)("ua",[e],void 0,this.featureName,this.ee),!0)),o.qN.forEac
6h(e=>{const t=(0,C.s)(e=>{(0,S.p)("ua",[e],void 0,this.featureName,this.ee)},500,{leading:!0});(0,J.sp)(e,t)}),g.gm.addEventListener("error",()=>{(0,S.p)("uaErr",[],void 0,t.K7.genericEvents,this.ee)},(0,J.jT)(!1,this.removeOnAbort.signal)),this.ee.on("open-xhr-start",(e,r)=>{f(e[1])||r.addEventListener("readystatechange",()=>{2===r.readyState&&(0,S.p)("uaXhr",[],void 0,t.K7.genericEvents,this.ee)},(0,J.jT)(void 0,this.removeOnAbort.signal))}),this.ee.on("fetch-start",e=>{e.length>=1&&!f(Ze(e[0]))&&(0,S.p)("uaXhr",[],void 0,t.K7.genericEvents,this.ee)}),d.on("pushState-end",h),d.on("replaceState-end",h),window.addEventListener("hashchange",h,(0,J.jT)(!0,this.removeOnAbort.signal)),window.addEventListener("popstate",h,(0,J.jT)(!0,this.removeOnAbort.signal))}if(e.init.performance.resources.enabled&&g.gm.PerformanceObserver?.supportedEntryTypes.includes("resource")){new PerformanceObserver(e=>{e.getEntries().forEach(e=>{(0,S.p)("browserPerformance.resource",[e],void 0,this.featureName,this.ee)})}).observe({type:"resource",buffered:!0})}}a.some(e=>e)?this.importAggregator(e,()=>r.e(478).then(r.bind(r,8019))):this.deregisterDrain()}}function kt(e){const t=e.body??e;return{blockedUrl:t.blockedURL??e.blockedURI,documentUrl:t.documentURL??e.documentURI,effectiveDirective:t.effectiveDirective,originalPolicy:t.originalPolicy,sourceFile:t.sourceFile,statusCode:t.statusCode,lineNumber:t.lineNumber,columnNumber:t.columnNumber,disposition:"reporting"===t.disposition?"report":t.disposition,sample:t.sample,referrer:t.referrer}}var Nt=r(2646);const Lt=new Map;function Mt(e,t,r,n,i=!0,s){if("object"!=typeof t||!t||"string"!=typeof r||!r||"function"!=typeof t[r])return(0,l.R)(29);const a=function(e){return(e||R.ee).get("logger")}(e),o=(0,Pe.YM)(a,void 0,s),c=new Nt.y(R.P);c.level=n.level,c.customAttributes=n.customAttributes,c.autoCaptured=i;const d=t[r]?.[Pe.Jt]||t[r];return Lt.set(d,c),o.inPlace(t,[r],"wrap-logger-",()=>Lt.get(d),void 0,!0),a}var Pt=r(1910);class It extends W{static featureName=se.TZ;constructor(e){var t;super(e,se.TZ),t=e,(0,N.Y)("log",(e,r)=>oe(e,r,t),t),function(e){(0,N.Y)(k.Wb,(t,r,{customAttributes:n={},level:i=se.p_.INFO}={})=>{Mt(e.ee,t,r,{customAttributes:n,level:i},!1,e)},e)}(e),Se(e);const n=this.ee;["log","error","warn","info","debug","trace"].forEach(t=>{(0,Pt.i)(g.gm.console[t]),Mt(n,g.gm.console,t,{level:"log"===t?"info":t},void 0,e)}),this.ee.on("wrap-logger-end",function([t],r,i,s=[e.runtime.v2Target]){const{level:a,customAttributes:o,autoCaptured:c}=this;s.forEach(e=>{(0,ae.R)(n,t,o,a,c,e)})}),this.importAggregator(e,()=>r.e(478).then(r.bind(r,5288)))}}new F({features:[nt,K,G,vt,Et,Y,Oe,_t,It,Rt],loaderType:"spa"})})()})();</script>
6
7    <meta http-equiv="x-dns-prefetch-control" content="on"/>
8    <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=5, viewport-fit=cover" />
9    
10            
10<script type='text/javascript'>
11                window.bt = {"outage":false,"firebase":{"url":"https:\/\/boomtown.app\/","apn":"com.boomtownroi.android.consumer","ibi":"com.boomtown.BoomTown-Consumer-iOS","isi":1478958795,"ofl":"https:\/\/www.thewilliamsgroupal.com\/","afl":null,"ifl":null,"vid":"uqlSiLQU8sYDn3QnPspMiemTtDlzbOhXMW2ozMyIx7M="},"config":{"disclaimer":"By submitting my phone number and checking the box above, I agree to calls, texts, and emails from The Williams Group at Keller Williams Realty regarding my account, inquiry, and services provided to me. Message &amp; data rates may apply. Message frequency may vary. I also agree to The Williams Group at Keller Williams Realty&#039;s <a href=\"\/privacy\/\" target=\"_blank\">Privacy Policy<\/a> and The Williams Group at Keller Williams Realty&#039;s <a href=\"\/terms\/\" target=\"_blank\">Terms of Use<\/a>. Reply STOP to unsubscribe or HELP for help.","disclaimerLogin":"By submitting my phone number above, I agree to calls, texts, and emails from The Williams Group at Keller Williams Realty regarding my account, inquiry, and services provided to me. Message &amp; data rates may apply. Message frequency may vary. I also agree to The Williams Group at Keller Williams Realty&#039;s <a href=\"\/privacy\/\" target=\"_blank\">Privacy Policy<\/a> and The Williams Group at Keller Williams Realty&#039;s <a href=\"\/terms\/\" target=\"_blank\">Terms of Use<\/a>.  Reply STOP to unsubscribe or HELP for help.","disclaimerFinance":"By submitting my phone number and checking the box above, I agree to calls, texts, and emails from The Williams Group at Keller Williams Realty regarding my account, inquiry, and services provided to me. Message &amp; data rates may apply. Message frequency may vary. I also agree to The Williams Group at Keller Williams Realty&#039;s <a href=\"\/privacy\/\" target=\"_blank\">Privacy Policy<\/a> and The Williams Group at Keller Williams Realty&#039;s <a href=\"\/terms\/\" target=\"_blank\">Terms of Use<\/a>.  Reply STOP to unsubscribe or HELP for help.","soldSidebarDisclaimer":false,"sellerCalculator":true,"sellerProperties":true,"interestRateUS":6.3,"interestRateCA":4.64,"csrf":{"accountUpdate":"05fd643003"},"twilio10DLC":true,"twilio10DLCAdwords":false,"gmapsEmbed":"AIzaSyA0yD1YTgIPu57hbSwlvsrjWHFw6tBXBu8","contactFormMigration":true,"enableAppBanner":true,"ajaxUrl":null,"apiUrl":"https:\/\/flagshipapi.boomtownroi.com","newsstand":null,"baseUrl":null,"staticHost":"bt-boomstatic.global.ssl.fastly.net","build":"1787663817","dataCookieName":"BoomTownData","authCookieName":"BoomTownAuth","tempCookieName":null,"conversionCookieName":"ConversionType","conversionQueryStringName":"regformcomplete","registrationQueryStringName":"regformdisplay","blTrackingOrigUrlQSName":"blt_url","blTrackingReferrerQSName":"blt_ref","defaultLat":33.253452,"defaultLng":-87.56541,"defaultZoom":11,"deviceInfo":{"deviceInfo":"","platformVersion":""},"pageCount":10,"defaultView":"gallery","defaultSearchUrl":"results-gallery","maxviews":1,"maxviewsParam":"mdv","maxphotoParam":"mpv","nonce":null,"suggestApiUrl":"https:\/\/suggest.boomtownroi.com","templateUrl":"https:\/\/www.thewilliamsgroupal.com\/wp-content\/themes\/wp-base-theme\/templates\/","baseThemeUrl":"https:\/\/www.thewilliamsgroupal.com\/wp-content\/themes\/wp-base-theme","themeUrl":"https:\/\/www.thewilliamsgroupal.com\/wp-content\/themes\/wp-base-theme","browserTitle":"West Alabama &amp; Birmingham Real Estate | The Williams Group","token":"0u1F2a2U2E002f010k1F3t3M361b1.0l1c1X1u2a1d2c1b151H3P3Q1Z2Q0j2w1E","viewCookieName":"PropCount","searchCookieName":"LastSearch","boardAlias":"tuscaloosa","boardHtml":{"AllDataPagesDisclaimer":"\u00a9 [YEAR] West Alabama Multiple Listing Service, Inc. All rights reserved. \r\n\r\nIDX information is provided exclusively for consumers' personal, non-commercial use and may not be used for any purpose other than to identify prospective properties consumers may be interested in purchasing. Information is deemed reliable but is not guaranteed accurate by the MLS or [TENANTNAME]. \r\n\r\nData last updated: [UPDATEDTIMESTAMP].<\/br><\/br>","ContentBottomHtml":"","DetailsBottomHtml":"","DetailsRemarksHtml":"","DetailsTopHtml":"","DisclaimerPageHtml":"","eAlertFooter":"","eAlertHtml":"","eAlertHtmlMore":"","FitScreenFooterHtml":"","FullDetailsDisclaimer":"Listing provided by [AGENTNAME] of [OFFICENAME]: [OFFICEPHONE].","HomePageAndMapDisclaimer":"","HomePageDisclaimer":"","MobileDisclaimer":"","MobileFullViewCompliance":"","MobileResultCompliance":"","MultiMLSThumbcardDisclaimer":"\u00a9 [YEAR] West Alabama Multiple Listing Service, Inc.","PreviewDisclaimer":"","PreviewHtml":"","ResultsDisclaimer":"","ResultsHtml":"","ScriptBottom":"","SoldFullDetailsDisclaimer":"","SoldThumbCardDisclaimer":"","TermsDisclaimer":"","ThumbCardDisclaimer":"","ThumbnailDisclaimer":"","ThumbnailLogo":"","TopFullDetailsDisclaimer":"","TopPopBottomHtml":"","TopPopHtml":""},"boards":{"128":{"_ID":128,"BoardAlias":"birmingham","BoardName":"Greater Alabama MLS","Description":"Birmingham Association of Realtors","LastUpdated":"2026-10-04T16:30:50.84","RestrictMLS":false,"LastUpdatedAgo":73},"316":{"_ID":316,"BoardAlias":"tuscaloosa","BoardName":"West Alabama MLS","Description":"","LastUpdated":"2026-10-04T16:50:34.053","RestrictMLS":false,"LastUpdatedAgo":53}},"boardHTMLs":{"128":{"AllDataPagesDisclaimer":"<\/br><\/br><img style=\"border: 0pt none; float:left; padding-right:10px; padding-bottom:0px\" src=\"https:\/\/static.boomtownroi.com\/content\/photos\/birmingham\/idx\/idx-large.gif\" alt=\"Greater Alabama MLS (Birmingham Association of Realtors) logo\"\/>\r\n\r\n\u00a9 [YEAR] Greater Alabama MLS. IDX information is provided exclusively for consumers\u2019 personal, non-commercial use and may not be used for any purpose other than to identify prospective properties consumers may be interested in purchasing. IDX content is not guaranteed accurate by the MLS or [TENANTNAME]. \r\n\r\nData last updated: [UPDATEDTIMESTAMP].<\/br><\/br>","ContentBottomHtml":"","DetailsBottomHtml":"","DetailsRemarksHtml":"","DetailsTopHtml":"","DisclaimerPageHtml":"","eAlertFooter":"","eAlertHtml":"","eAlertHtmlMore":"","FitScreenFooterHtml":"\u00a9 [YEAR] Birmingham Area Multiple Listing Service, Inc. IDX information is provided exclusively for consumers\u2019 personal, non-commercial use and may not be used for any purpose other than to identify prospective properties consumers may be interested in purchasing. IDX content is not guaranteed accurate by the MLS or [TENANTNAME]. Data last updated: [UPDATEDTIMESTAMP].","FullDetailsDisclaimer":"Listing provided by [OFFICENAME]: [OFFICEPHONE].","HomePageAndMapDisclaimer":"Courtesy of [OFFICENAME]","HomePageDisclaimer":"","MobileDisclaimer":"\u00a9 [YEAR] Birmingham Area Multiple Listing Service, Inc. IDX information is provided exclusively for consumers\u2019 personal, non-commercial use and may not be used for any purpose other than to identify prospective properties consumers may be interested in purchasing. IDX content is not guaranteed accurate by the MLS or [TENANTNAME]. Data last updated: [UPDATEDTIMESTAMP]. ","MobileFullViewCompliance":" <div align=\"center\" style=\"background: #fff; color: #000; margin-bottom: 8px;\">Listing provided courtesy of [OFFICENAME].<br\/><br\/>\u00a9 [YEAR] Birmingham Area Multiple Listing Service, Inc.\r\n<br\/><br\/><\/div>","MobileResultCompliance":" ","MultiMLSThumbcardDisclaimer":"\u00a9 [YEAR] Greater Alabama MLS.","PreviewDisclaimer":"","PreviewHtml":"","ResultsDisclaimer":"Courtesy of [OFFICENAME]","ResultsHtml":"Listing provided courtesy of [OFFICENAME].","ScriptBottom":"","SoldFullDetailsDisclaimer":"","SoldThumbCardDisclaimer":"","TermsDisclaimer":"","ThumbCardDisclaimer":"<img src=\"https:\/\/static.boomtownroi.com\/content\/photos\/birmingham\/idx\/idx-small.gif\" alt=\"Greater Alabama MLS (Birmingham Association of Realtors) logo\"\/>","ThumbnailDisclaimer":"","ThumbnailLogo":"","TopFullDetailsDisclaimer":"<img style=\"border: 0pt none; float:left; padding-right:10px; padding-bottom:0px\" src=\"https:\/\/static.boomtownroi.com\/content\/photos\/birmingham\/idx\/idx-large.gif\" alt=\"Greater Alabama MLS (Birmingham Association of Realtors) logo\"\/>\r\n\r\nListing provided courtesy of [OFFICENAME].<\/br>
11\r\n\r\n \u00a9 [YEAR] Greater Alabama MLS.<\/br><\/br><\/br><\/br>","TopPopBottomHtml":"","TopPopHtml":""},"316":{"AllDataPagesDisclaimer":"\u00a9 [YEAR] West Alabama Multiple Listing Service, Inc. All rights reserved. \r\n\r\nIDX information is provided exclusively for consumers' personal, non-commercial use and may not be used for any purpose other than to identify prospective properties consumers may be interested in purchasing. Information is deemed reliable but is not guaranteed accurate by the MLS or [TENANTNAME]. \r\n\r\nData last updated: [UPDATEDTIMESTAMP].<\/br><\/br>","ContentBottomHtml":"","DetailsBottomHtml":"","DetailsRemarksHtml":"","DetailsTopHtml":"","DisclaimerPageHtml":"","eAlertFooter":"","eAlertHtml":"","eAlertHtmlMore":"","FitScreenFooterHtml":"","FullDetailsDisclaimer":"Listing provided by [AGENTNAME] of [OFFICENAME]: [OFFICEPHONE].","HomePageAndMapDisclaimer":"","HomePageDisclaimer":"","MobileDisclaimer":"","MobileFullViewCompliance":"","MobileResultCompliance":"","MultiMLSThumbcardDisclaimer":"\u00a9 [YEAR] West Alabama Multiple Listing Service, Inc.","PreviewDisclaimer":"","PreviewHtml":"","ResultsDisclaimer":"","ResultsHtml":"","ScriptBottom":"","SoldFullDetailsDisclaimer":"","SoldThumbCardDisclaimer":"","TermsDisclaimer":"","ThumbCardDisclaimer":"","ThumbnailDisclaimer":"","ThumbnailLogo":"","TopFullDetailsDisclaimer":"","TopPopBottomHtml":"","TopPopHtml":""}},"overrideTenantRegFormSettings":true,"cookieDomain":".thewilliamsgroupal.com","boardUpdated":"10-04-2026","boardUpdatedTimestamp":"2026-10-04T16:50:34.053","debug":false,"photoSqueeze":3,"powerfulFeaturesDeprecated":false,"publicAssetUrl":"https:\/\/bt-wpstatic.freetls.fastly.net","isMobile":false,"showUserMenu":true,"allowSoldData":true,"showQualifyingQuestions":true,"showStartAnOffer":true,"hideSchoolsInfoLink":false,"btsource":null,"fbAuthenticatorUrl":"https:\/\/wp.prod.boomtownroi.com\/fb-authenticator\/","isMobileApp":false,"mobileAppPlatform":null,"mobileAppVersion":false,"videoBackgroundEnabled":true,"homepageLayout":false,"hasVideoBackground":"","teaserTemplate":"rectangular-image","disableLocationAppMessage":false,"useListMapResultsSync":true,"useUnifiedNearbySearch":true,"enableTextPreferences":true,"enableExternalAppLinks":true,"isLandingPage":false,"passwordReset":true,"homeval":{"calculator":{"brokerFee":"6.0","concessions":"","closing":"0.6","taxes":""}},"homepageHeroPlugin":[],"cdnHost":"bt-wpstatic.freetls.fastly.net","inner_logo_uri":"https:\/\/bt-wpstatic.freetls.fastly.net\/wp-content\/blogs.dir\/14320\/files\/2026\/04\/TWG-ip-logo-0b2bed4875165deb939ed21e5b4dd35477b8e902.png","colorScheme":{"hex":"#00b4f5","darker5":"#00a1dc","darker10":"#008fc2","rgb":"0, 180, 245"},"isCrawler":false},"compliance":{"SuperAggroMode":false,"HideLocalPics":false,"HideYearBuilt":false,"RestrictMLS":false,"MaxListingResults":0,"HideDaysOld":false,"MLSContentOnly":false,"ReplaceUnderContract":"Under Contract","ShowFeatureTextOnCard":null},"tenant":{"id":14833,"street":"4412 HWY 69 N","legalName":"The Williams Group at Keller Williams Realty","city":"Northport","state":"al","zip":"35473","phone":"(205) 292-2108","email":"[email protected]","formNumber":2,"facebookPixelID":null,"allowFBLogin":true,"showAgentDDL":false,"lenderChecked":true,"conversionID":"18132602924","signupLabel":"yo3MCKnu36UcEKygpsZD","clSqueeze":true,"hideLender":true,"isCanadian":false,"doubleOptIn":false,"IsMultiBoard":true,"brandLevelSearchNoResultsText":null,"brandLevelSearchNoResultsPage":null,"IsLiteCustomer":0,"testGroup":2},"network":{"id":0},"plugin":{"contactFormDisclaimer":{"text":"By submitting my phone number and checking the box above, I agree to calls, texts, and emails from The Williams Group at Keller Williams Realty regarding my account, inquiry, and services provided to me. Message &amp; data rates may apply. Message frequency may vary. I also agree to The Williams Group at Keller Williams Realty&#039;s <a href=\"\/privacy\/\" target=\"_blank\">Privacy Policy<\/a> and The Williams Group at Keller Williams Realty&#039;s <a href=\"\/terms\/\" target=\"_blank\">Terms of Use<\/a>. Reply STOP to unsubscribe or HELP for help."}},"visitorActions":{"LoginViewed":61,"FacebookClicked":62,"FacebookRegistrationViewed":63,"FacebookRegistrationIncomplete":64,"FacebookRegistrationComplete":65,"FacebookSuccess":66,"GoogleClicked":67,"GoogleRegistrationViewed":68,"GoogleRegistrationIncomplete":69,"GoogleRegistrationComplete":70,"GoogleSuccess":71},"visitorDetails":{"api":{"token":"0u1F2a2U2E002f010k1F3t3M361b1.0l1c1X1u2a1d2c1b151H3P3Q1Z2Q0j2w1E","apiUrl":null,"down":false,"record":false,"last_error":null,"error_code":null,"timeout":10,"cache":{"enabled":true},"baseUrl":"http:\/\/flagshipapi.boomtownroi.com","apiKey":"5dd11cc6-4960-461c-9781-049be88fe73f","secret":"4b036960-4104-42ba-aac7-8c862818a7cf"},"_ID":6429472391,"IsRegistered":false,"TenantID":14833,"FirstName":"Guest","LastName":"Visitor","FavoriteCount":0,"ActiveSearchCount":0},"visitDetails":{"_ID":7587701947,"Source":"DIRECT","StartDate":"2026-10-04T17:43:39.227","WebVisitorID":6429472391,"Url":"https:\/\/www.thewilliamsgroupal.com\/blog\/","UserAgent":"Mozilla\/5.0 AppleWebKit\/537.36 (KHTML, like Gecko; compatible; PageSourceSearchBot\/1.0; +https:\/\/pagesourcesearch.com\/bot) Chrome\/128.0.0.0 Safari\/537.36","UrlReferrer":"","IPAddress":"181.215.65.77","VisitApplicationType":1},"agentDetails":null,"template_variations":[],"globalVars":{"ImgDir":"\/wp-content\/themes\/wp-base-theme\/assets\/media\/build\/","footerBelow":""}};
12                window.bt.config.dataCookieExpDate = new Date(1791153819000);
13            </script>
13
14        <title>West Alabama, Greater Birmingham Area Real Estate | The Williams Group at Keller Williams Realty</title>
15<meta name='robots' content='max-image-preview:large' />
16
17            
17<script>
vendor: 414 bytes, lines 17-22
17
18                (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
19                (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
20                m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
21                })(window,document,'script','https://www.google-analytics.com/analytics.js','ga');
22                ga('create', '
22UA-22147283-3
vendor: 49 bytes, lines 22-23
22', 'auto', {allowLinker: true});
23                
23ga('require', 'GTM-M8C4ZPS');
24                </script>
24        
24<script type="text/javascript">
25
26            (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function()
27            {(i[r].q=i[r].q||[]).push(arguments)}
28            ,i[r].l=1*new Date();a=s.createElement(o),
29            m=s.getElementsByTagName(o)[0];
30            a.async=1;
31            a.src=g;
32            m.parentNode.insertBefore(a,m)
33            })(window,document,'script','https://www.google-analytics.com/analytics.js','ga');
34
35            window.bt.trackers = [['','google code']];
36
37            ga('create','google code', 'thewilliamsgroupal.com', {'name': 'clientAccount'});
38ga('clientAccount.require', 'displayfeatures');
39ga('clientAccount.send', 'pageview', {"&uid":6429472391,"dimension4":"unregistered","dimension11":"6429472391"});
40
41
42            (function() {
43                var ga = document.createElement('script'),
44                    s = document.getElementsByTagName('script')[0];
45                ga.type = 'text/javascript';
46                ga.async = true;
47                ga.src = 'https://stats.g.doubleclick.net/dc.js';
48                s.parentNode.insertBefore(ga, s);
49            })();
50
51        </script>
51
52<!-- START: Google Analytics 4 -->
vendor: 81 bytes, lines 52-53
52
53<script type='text/javascript' src="https://www.googletagmanager.com/gtag/js?id=
53G-SK2113WW5W
vendor: 18 bytes, line 53
53" async></script>
54<script type='text/javascript'>
55var btGlobalAnalyticsParams = {"tenantId":14833,"visitorId":6429472391,"visitId":7587701947,"isRegistered":0,"subdomainAgentId":0,"homepageLayout":"Hawkeye","teaserTemplate":"rectangular-image","videoBackground":"","postId":1829,"source":""};
56
57window.dataLayer = window.dataLayer || [];
58function gtag(){dataLayer.push(arguments);}
59gtag('js', new Date());
60gtag('config', 'G-SK2113WW5W', window.btGlobalAnalyticsParams); // BoomTown Tracking
61gtag('config', 'AW-1050553015', window.btGlobalAnalyticsParams); // AdWords Tracking
62
63      gtag('config', 'G-Y1DZ48QG93', window.btGlobalAnalyticsParams); // Client Tracking
64      
65</script>
65
66<!-- END: Google Analytics 4 -->
67
68<!-- START: Google Analytics 4 Event Scripts -->
69<script type='text/javascript' src='/wp-content/plugins/bt-google-analytics/resources/javascript/btga4.js?v=4'></script>
vendor: 1 bytes, line 69
69
70<script type='text/javascript'>
71  window.addEventListener('DOMContentLoaded', function () {
72    window.BoomTownGA4 = new BoomTownGA4(false);
73  });
74</script>
74
75<!-- END: Google Analytics 4 Event Scripts -->
76<link rel='dns-prefetch' href='//www.thewilliamsgroupal.com' />
77<link rel='dns-prefetch' href='//s.w.org' />
78<link rel='dns-prefetch' href='//bt-wpstatic.freetls.fastly.net' />
79<link rel='dns-prefetch' href='//flagshipapi.boomtownroi.com' />
80<link rel='dns-prefetch' href='//suggest.boomtownroi.com' />
81<link href='https://bt-wpstatic.freetls.fastly.net/wp-content/themes/wp-base-theme/assets/js/build/details.7a22ef63.min.js' as='script' rel='prefetch' />
82<link href='https://bt-wpstatic.freetls.fastly.net/wp-content/themes/wp-base-theme/assets/js/build/results-gallery.0fe208be.min.js' as='script' rel='prefetch' />
83<!-- Webmaster Tools Code -->
84<meta name="msvalidate.01" content="D8D04684151FD367E65EE086C044BB13" /><meta name="verify-v1" content="HfrlOxI0tXOyQYVa5mn06aV6HRUw316FVZdvJN7S7Dg=" /><meta name="verify-v1" content="4B9FVONeQL4QgOvNN80STUWkDyrAlYC0719uBNXVK6Q=" /><meta name="y_key" content="caa407bf3d1005c3" /><link rel='stylesheet' id='jquery.bxslider-css'  href='https://bt-wpstatic.freetls.fastly.net/wp-content/plugins/testimonials-widget/includes/libraries/bxslider-4/dist/jquery.bxslider.css' type='text/css' media='all' />
85<link rel='stylesheet' id='Axl_Testimonials_Widget-css'  href='https://bt-wpstatic.freetls.fastly.net/wp-content/plugins/testimonials-widget/assets/css/testimonials-widget.css' type='text/css' media='all' />
86<link rel='stylesheet' id='wp-block-library-css'  href='https://bt-wpstatic.freetls.fastly.net/wp-includes/css/dist/block-library/style.min.css' type='text/css' media='all' />
87<link rel='stylesheet' id='bt-testimonials-widget-frontend-styles-css'  href='https://www.thewilliamsgroupal.com/wp-content/build/plugins/bt-testimonials.frontend.e0fb56d7.min.css' type='text/css' media='all' />
88<link rel='stylesheet' id='bt-block-editor-forms-frontend-styles-css'  href='https://www.thewilliamsgroupal.com/wp-content/build/plugins/bt-block-editor-forms.frontend.85a385f0.min.css' type='text/css' media='all' />
89<link rel='stylesheet' id='bt_pt-styles-css'  href='https://bt-wpstatic.freetls.fastly.net/wp-content/themes/wp-base-theme/assets/css/build/base-theme.36ad7330.min.css' type='text/css' media='all' />
90    
90<script type='text/javascript' src='https://bt-wpstatic.freetls.fastly.net/wp-content/build/manifest.7ecd6199.min.js' id='bt-core-manifest-js'></script>
vendor: 1 bytes, line 90
90
91<script type='text/javascript' src='https://bt-wpstatic.freetls.fastly.net/wp-includes/js/dist/vendor/regenerator-runtime.min.js' id='regenerator-runtime-js'></script>
vendor: 1 bytes, line 91
91
92<script type='text/javascript' src='https://bt-wpstatic.freetls.fastly.net/wp-includes/js/dist/vendor/wp-polyfill.min.js' id='wp-polyfill-js'></script>
vendor: 1 bytes, line 92
92
93<script type='text/javascript' src='https://bt-wpstatic.freetls.fastly.net/wp-content/themes/wp-base-theme/assets/js/lib/jquery/jquery-3-6-0-migrate-3.4.0.min.js' id='jquery-js'></script>
vendor: 1 bytes, line 93
93
94<script type='text/javascript' src='https://bt-wpstatic.freetls.fastly.net/wp-content/build/vendor.bundle.63bd000a.js' id='bt-core-vendors-js'></script>
vendor: 1 bytes, line 94
94
95<script type='text/javascript' src='https://bt-wpstatic.freetls.fastly.net/wp-includes/js/dist/escape-html.min.js' id='wp-escape-html-js'></script>
vendor: 1 bytes, line 95
95
96<script type='text/javascript' src='https://bt-wpstatic.freetls.fastly.net/wp-includes/js/dist/element.min.js' id='wp-element-js'></script>
vendor: 1 bytes, line 96
96
97<script type='text/javascript' src='https://bt-wpstatic.freetls.fastly.net/wp-content/build/core/core-components.1e6d6953.min.js' id='bt-core-components-js'></script>
vendor: 1 bytes, line 97
97
98<script type='text/javascript' src='https://www.thewilliamsgroupal.com/wp-content/build/plugins/bt-block-editor.frontend.f684738f.min.js' id='bt-block-editor-frontend-script-js'></script>
98
99
100<!-- Meta Description -->
101<meta name="description" content="The Williams Group at Keller Williams Realty: Northport, al Real Estate information and listings in Northport, al. Find all Northport, al homes for sale, Northport, al foreclosures, Northport, al condos for sale, and Northport, al land for sale - Every Listing from Every Company" />
102<!-- Meta Keywords -->
103<meta name="keywords" content="Real Estate, West Alabama, Greater Birmingham Area Real Estate, West Alabama, Greater Birmingham Area Homes for Sale" />
104<!-- Robots Instructions -->
105
106<!-- Open Graph -->
107<meta property="og:site_name" content="West Alabama &amp; Birmingham Real Estate | The Williams Group" />
108<meta property="og:title" content="West Alabama, Greater Birmingham Area Real Estate | The Williams Group at Keller Williams Realty" />
109<meta property="og:url" content="https://www.thewilliamsgroupal.com/blog/" />
110<meta property="og:description" content="The Williams Group at Keller Williams Realty: Northport, al Real Estate information and listings in Northport, al. Find all Northport, al homes for sale, Northport, al foreclosures, Northport, al condos for sale, and Northport, al land for sale - Every Listing from Every Company" />
111<meta property="og:image" content="https://bt-wpstatic.freetls.fastly.net/wp-content/blogs.dir/14320/files/2026/10/what-500k-buys-birmingham-suburbs-b363a1c2894fed42d117248b2b198a3fb6a62305-920x690.jpg" />
112
113<!-- Schema.org Tags -->
114<meta itemprop="image" content="https://bt-wpstatic.freetls.fastly.net/wp-content/blogs.dir/14320/files/2026/10/what-500k-buys-birmingham-suburbs-b363a1c2894fed42d117248b2b198a3fb6a62305-920x690.jpg">
115<meta itemprop="name" content="West Alabama &amp; Birmingham Real Estate | The Williams Group">
116<meta itemprop="description" content="The Williams Group at Keller Williams Realty: Northport, al Real Estate information and listings in Northport, al. Find all Northport, al homes for sale, Northport, al foreclosures, Northport, al condos for sale, and Northport, al land for sale - Every Listing from Every Company">
117<link rel="canonical" href="https://www.thewilliamsgroupal.com/blog/" />
118<!-- Plugin: Fair Housing Notice -->
119<script type='text/javascript'>
120    window.bt.config.fairHousingTemplate = false;
121</script>
121
122
123
124<!-- NR Plguin -->
125<script type='text/javascript'>
126    if (window.newrelic) {
127        newrelic.setErrorHandler(function(err) {
128            try {
129                if (err instanceof Error) {
130                    if (
131                        !err.name ||
132                        !err.message ||
133                        err.name.toLowerCase().trim() === '' ||
134                        err.message.toLowerCase().trim() === '' ||
135                        err.name.toLowerCase().includes('invocation') ||
136                        err.message.toLowerCase().includes('invocation') ||
137                        err.message.toLowerCase().includes('chrome-extension') ||
138                        err.message.toLowerCase().includes('cross-origin frame') ||
139                        err.message.toLowerCase().includes('g.readyState') ||
140                        err.message.toLowerCase().includes('ceCurrentVideo.currentTime')
141                    ) {
142                        console.log(err);
143                        console.log("Error Object Skip Match. Throwing Out.");
144                        return true;
145                    }
146                } else {
147                    console.log('Not A Real Error Object');
148                    return true;
149                }
150            } catch (e) {
151                console.log('Could Not Parse Error.');
152            }
153            return false;
154        });
155    }
156</script>
156
157<!-- END NR Plugin -->
158
159  
159<script type='text/javascript'>
160    window.btSellerEnabled=true;
161  </script>
161<style>.bt-disclaimer-terms{ display:none !important; }</style>            <link rel="apple-touch-icon" sizes="57x57" href="https://bt-wpstatic.freetls.fastly.net/wp-content/blogs.dir/14320/files/2026/04/cropped-The-Williams-Group-Logo-favicon-9bb6d01d94fbc51e01843e3e84c6c8188db987a7-150x150.png">
162        <link rel="apple-touch-icon" sizes="60x60" href="https://bt-wpstatic.freetls.fastly.net/wp-content/blogs.dir/14320/files/2026/04/cropped-The-Williams-Group-Logo-favicon-9bb6d01d94fbc51e01843e3e84c6c8188db987a7-150x150.png">
163        <link rel="apple-touch-icon" sizes="72x72" href="https://bt-wpstatic.freetls.fastly.net/wp-content/blogs.dir/14320/files/2026/04/cropped-The-Williams-Group-Logo-favicon-9bb6d01d94fbc51e01843e3e84c6c8188db987a7-150x150.png">
164        <link rel="apple-touch-icon" sizes="76x76" href="https://bt-wpstatic.freetls.fastly.net/wp-content/blogs.dir/14320/files/2026/04/cropped-The-Williams-Group-Logo-favicon-9bb6d01d94fbc51e01843e3e84c6c8188db987a7-150x150.png">
165        <link rel="apple-touch-icon" sizes="114x114" href="https://bt-wpstatic.freetls.fastly.net/wp-content/blogs.dir/14320/files/2026/04/cropped-The-Williams-Group-Logo-favicon-9bb6d01d94fbc51e01843e3e84c6c8188db987a7-150x150.png">
166        <link rel="apple-touch-icon" sizes="120x120" href="https://bt-wpstatic.freetls.fastly.net/wp-content/blogs.dir/14320/files/2026/04/cropped-The-Williams-Group-Logo-favicon-9bb6d01d94fbc51e01843e3e84c6c8188db987a7-150x150.png">
167        <link rel="apple-touch-icon" sizes="144x144" href="https://bt-wpstatic.freetls.fastly.net/wp-content/blogs.dir/14320/files/2026/04/cropped-The-Williams-Group-Logo-favicon-9bb6d01d94fbc51e01843e3e84c6c8188db987a7-150x150.png">
168        <link rel="apple-touch-icon" sizes="152x152" href="https://bt-wpstatic.freetls.fastly.net/wp-content/blogs.dir/14320/files/2026/04/cropped-The-Williams-Group-Logo-favicon-9bb6d01d94fbc51e01843e3e84c6c8188db987a7-180x180.png">
169        <link rel="apple-touch-icon" sizes="180x180" href="https://bt-wpstatic.freetls.fastly.net/wp-content/blogs.dir/14320/files/2026/04/cropped-The-Williams-Group-Logo-favicon-9bb6d01d94fbc51e01843e3e84c6c8188db987a7-180x180.png">
170        <link rel="icon" type="image/png" href="https://bt-wpstatic.freetls.fastly.net/wp-content/blogs.dir/14320/files/2026/04/cropped-The-Williams-Group-Logo-favicon-9bb6d01d94fbc51e01843e3e84c6c8188db987a7-32x32.png" sizes="32x32">
171        <link rel="icon" type="image/png" href="https://bt-wpstatic.freetls.fastly.net/wp-content/blogs.dir/14320/files/2026/04/cropped-The-Williams-Group-Logo-favicon-9bb6d01d94fbc51e01843e3e84c6c8188db987a7-192x192.png" sizes="192x192">
172        <link rel="icon" type="image/png" href="https://bt-wpstatic.freetls.fastly.net/wp-content/blogs.dir/14320/files/2026/04/cropped-The-Williams-Group-Logo-favicon-9bb6d01d94fbc51e01843e3e84c6c8188db987a7-150x150.png" sizes="96x96">
173        <link rel="icon" type="image/png" href="https://bt-wpstatic.freetls.fastly.net/wp-content/blogs.dir/14320/files/2026/04/cropped-The-Williams-Group-Logo-favicon-9bb6d01d94fbc51e01843e3e84c6c8188db987a7-32x32.png" sizes="16x16">
174        <link rel="shortcut icon" href="https://bt-wpstatic.freetls.fastly.net/wp-content/blogs.dir/14320/files/2026/04/cropped-The-Williams-Group-Logo-favicon-9bb6d01d94fbc51e01843e3e84c6c8188db987a7.png" />
175
176<style id="bt-theme-customizations">
177:root {
178  --bt--style--color:           #00b4f5;
179  --bt--style--color--lightest: #f5fcff;
180  --bt--style--color--light:    #bdedff;
181  --bt--style--color--dark:     #008fc2;
182  --bt--style--color--darkest:  #007ca9;
183  --bt--style--color--rgb:      0, 180, 245;
184
185  --bt--style--color--blue:           #1581e2;
186  --bt--style--color--blue--lightest: #f8fbfe;
187  --bt--style--color--blue--light:    #c4e0fa;
188  --bt--style--color--blue--dark:     #1166b3;
189  --bt--style--color--blue--darkest:  #0e599c;
190  --bt--style--color--blue--rgb:      21, 129, 226;
191
192  --bt--style--color--override:           #00b4f5;
193  --bt--style--color--override--lightest: #f5fcff;
194  --bt--style--color--override--light:    #bdedff;
195  --bt--style--color--override--dark:     #008fc2;
196  --bt--style--color--override--darkest:  #007ca9;
197  --bt--style--color--override--rgb:      0, 180, 245;
198}
199
200  @media (max-width: 479px) and (max-aspect-ratio: 13/9),
201  (max-width: 823px) and (min-aspect-ratio: 13/9) {
202    :root {
203      --bt--style--color:           #417be8;
204      --bt--style--color--lightest: #386cd5;
205      --bt--style--color--light:    #386cd5;
206      --bt--style--color--dark:     #386cd5;
207      --bt--style--color--darkest:  #386cd5;
208      --bt--style--color--rgb:      65, 123, 232;
209
210      --bt--style--color--blue:           #417be8;
211      --bt--style--color--blue--lightest: #386cd5;
212      --bt--style--color--blue--light:    #386cd5;
213      --bt--style--color--blue--dark:     #386cd5;
214      --bt--style--color--blue--darkest:  #386cd5;
215      --bt--style--color--blue--rgb:      65, 123, 232;
216    }
217  }
218
219
220
221            .customizer-background {
222              background-image: url('https://bt-wpstatic.freetls.fastly.net/wp-content/blogs.dir/14320/files/2026/04/Mountain-Brook-fdecf501bd4cdb3521c841cbd815ffff413b2492-scaled-600x320.jpg');
223            }
224            .customizer-background-homeval {
225              background-image: url('https://bt-wpstatic.freetls.fastly.net/wp-content/blogs.dir/14320/files/2026/04/Mountain-Brook-fdecf501bd4cdb3521c841cbd815ffff413b2492-scaled-1440x520.jpg');
226            }
227            @media (min-width: 768px) {
228              .customizer-background {
229                background-image: url('https://bt-wpstatic.freetls.fastly.net/wp-content/blogs.dir/14320/files/2026/04/Mountain-Brook-fdecf501bd4cdb3521c841cbd815ffff413b2492-scaled-1024x520.jpg');
230              }
231            }
232            @media (min-width: 960px) {
233              .customizer-background {
234                background-image: url('https://bt-wpstatic.freetls.fastly.net/wp-content/blogs.dir/14320/files/2026/04/Mountain-Brook-fdecf501bd4cdb3521c841cbd815ffff413b2492-scaled-1440x520.jpg');
235              }
236            }
237            @media (min-width: 1220px) {
238              .customizer-background {
239                background-image: url('https://bt-wpstatic.freetls.fastly.net/wp-content/blogs.dir/14320/files/2026/04/Mountain-Brook-fdecf501bd4cdb3521c841cbd815ffff413b2492-scaled.jpg');
240              }
241            }
242
243            #hero-background {
244              background-image: url('https://bt-wpstatic.freetls.fastly.net/wp-content/blogs.dir/14320/files/2026/04/Mountain-Brook-fdecf501bd4cdb3521c841cbd815ffff413b2492-scaled-600x320.jpg');
245            }
246            @media (min-width: 768px) {
247              #hero-background {
248                background-image: url('https://bt-wpstatic.freetls.fastly.net/wp-content/blogs.dir/14320/files/2026/04/Mountain-Brook-fdecf501bd4cdb3521c841cbd815ffff413b2492-scaled-1024x520.jpg');
249              }
250            }
251            @media (min-width: 960px) {
252              #hero-background {
253                background-image: url('https://bt-wpstatic.freetls.fastly.net/wp-content/blogs.dir/14320/files/2026/04/Mountain-Brook-fdecf501bd4cdb3521c841cbd815ffff413b2492-scaled-1440x520.jpg');
254              }
255            }
256            @media (min-width: 1220px) {
257              #hero-background {
258                background-image: url('https://bt-wpstatic.freetls.fastly.net/wp-content/blogs.dir/14320/files/2026/04/Mountain-Brook-fdecf501bd4cdb3521c841cbd815ffff413b2492-scaled.jpg');
259              }
260            }
261        </style>
262        <style id="bt-agent-subdomain-customizer">
263        </style>
264<link rel="icon" href="https://bt-wpstatic.freetls.fastly.net/wp-content/blogs.dir/14320/files/2026/04/cropped-The-Williams-Group-Logo-favicon-9bb6d01d94fbc51e01843e3e84c6c8188db987a7-32x32.png" sizes="32x32" />
265<link rel="icon" href="https://bt-wpstatic.freetls.fastly.net/wp-content/blogs.dir/14320/files/2026/04/cropped-The-Williams-Group-Logo-favicon-9bb6d01d94fbc51e01843e3e84c6c8188db987a7-192x192.png" sizes="192x192" />
266<link rel="apple-touch-icon" href="https://bt-wpstatic.freetls.fastly.net/wp-content/blogs.dir/14320/files/2026/04/cropped-The-Williams-Group-Logo-favicon-9bb6d01d94fbc51e01843e3e84c6c8188db987a7-180x180.png" />
267<meta name="msapplication-TileImage" content="https://bt-wpstatic.freetls.fastly.net/wp-content/blogs.dir/14320/files/2026/04/cropped-The-Williams-Group-Logo-favicon-9bb6d01d94fbc51e01843e3e84c6c8188db987a7-270x270.png" />
268    </head>
269<body class="blog wp-embed-responsive ">
270<a href='#skip-to-content' style='position:absolute; top:-100%; left:-100%; opacity:0'>Skip To Content</a>
vendor: 78 bytes, lines 270-271
270
271                <noscript><iframe src="//www.googletagmanager.com/ns.html?id=
271GTM-5BDFQV
vendor: 115 bytes, lines 271-273
271"
272                height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript>
273                
273<script>
vendor: 385 bytes, lines 273-277
273(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
274                new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],
275                j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=
276                '//www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);
277                })(window,document,'script','dataLayer','
277GTM-5BDFQV
vendor: 3 bytes, line 277
277');
277</script>
277<script type='text/javascript'>
278    window.dataLayer = window.dataLayer || [];
279    window.dataLayer.push({"currentPostID":1829});
280</script>
280
281
282  <!--[if IE]>
283    <div id="browser-warning" class="alert alert-warning uk-text-center">
284      <h3 class="mb-4">Browser Warning</h3>
285      <p class="mt-4">You are running an unsupported browser. You need to upgrade or use a different browser, such as <a href="https://google.com/chrome" target="_blank">Google Chrome</a>, to use this site.</p>
286    </div>
287  <![endif]-->
288  <div class="bt-off-canvas__wrapper">
289    <header id="top" class="js-header-top">
290      <nav class="bt-navbar js-hub">
291        <div class="container bt-navbar__container">
292            <div class="bt-navbar__left"><ul id="menu-main-menu" class="uk-subnav"><li  class="menu-item menu-item-type-custom menu-item-object-custom " ><a class="menu-list__link" href="/" >Home</a></li>
293<li  class="menu-item menu-item-type-custom menu-item-object-custom " ><a class="menu-list__link" href="/agents/" >Meet the Team</a></li>
294<li  class="menu-item menu-item-type-custom menu-item-object-custom menu-item-has-children bt-ccomp" data-bt-ccomp="dropdown"><a class="menu-list__link" href="#" data-bt-ccomp-trigger>Search <i class="bt-fa-icon bt-fa-icon--small far fa-fw fa-chevron-down"></i></a>
295<div class="bt-ccomp__content "><ul class="menu-list level-0">
296	<li  class="menu-item menu-item-type-custom menu-item-object-custom " ><a class="menu-list__link" href="/results-gallery/?userID=all" >Our Listings</a></li>
297	<li  class="menu-item menu-item-type-custom menu-item-object-custom " ><a class="menu-list__link" href="/results-map/" >Map Search</a></li>
298
299</ul></div>
300</li>
301<li  class="menu-item menu-item-type-custom menu-item-object-custom menu-item-has-children bt-ccomp" data-bt-ccomp="dropdown"><a class="menu-list__link" href="#" data-bt-ccomp-trigger>Buyer Guides <i class="bt-fa-icon bt-fa-icon--small far fa-fw fa-chevron-down"></i></a>
302<div class="bt-ccomp__content "><ul class="menu-list level-0">
303	<li  class="menu-item menu-item-type-post_type menu-item-object-page " ><a class="menu-list__link" href="https://www.thewilliamsgroupal.com/first-time-home-buyers/" >Buying Your First Home</a></li>
304	<li  class="menu-item menu-item-type-post_type menu-item-object-page " ><a class="menu-list__link" href="https://www.thewilliamsgroupal.com/buying-selling-together/" >Buying &#038; Selling Together</a></li>
305	<li  class="menu-item menu-item-type-post_type menu-item-object-page " ><a class="menu-list__link" href="https://www.thewilliamsgroupal.com/veteran-va-home-buyers/" >Veteran (VA) Home Buyers</a></li>
306	<li  class="menu-item menu-item-type-post_type menu-item-object-page " ><a class="menu-list__link" href="https://www.thewilliamsgroupal.com/investment-property-buyers/" >Investment Property Buyers</a></li>
307	<li  class="menu-item menu-item-type-post_type menu-item-object-page " ><a class="menu-list__link" href="https://www.thewilliamsgroupal.com/relocating-to-alabama/" >Relocating to Alabama</a></li>
308	<li  class="menu-item menu-item-type-post_type menu-item-object-page " ><a class="menu-list__link" href="https://www.thewilliamsgroupal.com/short-term-rentals/" >Short-Term Rentals</a></li>
309	<li  class="menu-item menu-item-type-post_type menu-item-object-page " ><a class="menu-list__link" href="https://www.thewilliamsgroupal.com/new-construction-homes/" >New Construction Homes</a></li>
310	<li  class="menu-item menu-item-type-post_type menu-item-object-page " ><a class="menu-list__link" href="https://www.thewilliamsgroupal.com/ua-parent-buyers/" >University of Alabama Parents &#8211; Condo Buyer Guide</a></li>
311
312</ul></div>
313</li>
314<li  class="menu-item menu-item-type-custom menu-item-object-custom menu-item-has-children bt-ccomp" data-bt-ccomp="dropdown"><a class="menu-list__link" href="#" data-bt-ccomp-trigger>Seller Guides <i class="bt-fa-icon bt-fa-icon--small far fa-fw fa-chevron-down"></i></a>
315<div class="bt-ccomp__content "><ul class="menu-list level-0">
316	<li  class="menu-item menu-item-type-post_type menu-item-object-page " ><a class="menu-list__link" href="https://www.thewilliamsgroupal.com/selling-during-divorce/" >Selling During a Divorce</a></li>
317	<li  class="menu-item menu-item-type-post_type menu-item-object-page " ><a class="menu-list__link" href="https://www.thewilliamsgroupal.com/downsizing-sellers/" >Downsizing Sellers</a></li>
318	<li  class="menu-item menu-item-type-post_type menu-item-object-page " ><a class="menu-list__link" href="https://www.thewilliamsgroupal.com/need-to-sell-fast-facing-foreclosure/" >Need to Sell Fast/Facing Foreclosure</a></li>
319	<li  class="menu-item menu-item-type-post_type menu-item-object-page " ><a class="menu-list__link" href="https://www.thewilliamsgroupal.com/land-lot-sellers/" >Land &#038; Lot Sellers</a></li>
320	<li  class="menu-item menu-item-type-custom menu-item-object-custom " ><a class="menu-list__link" href="/sell/" >Sell Your Home</a></li>
321	<li  class="menu-item menu-item-type-post_type menu-item-object-page " ><a class="menu-list__link" href="https://www.thewilliamsgroupal.com/selling-an-inherited-home/" >Selling an Inherited Home</a></li>
322
323</ul></div>
324</li>
325<li  class="menu-item menu-item-type-custom menu-item-object-custom menu-item-has-children bt-ccomp" data-bt-ccomp="dropdown"><a class="menu-list__link" href="#" data-bt-ccomp-trigger>City Guides <i class="bt-fa-icon bt-fa-icon--small far fa-fw fa-chevron-down"></i></a>
326<div class="bt-ccomp__content "><ul class="menu-list level-0">
327	<li  class="menu-item menu-item-type-post_type_archive menu-item-object-guide-page " ><a class="menu-list__link" target="_blank" href="https://www.thewilliamsgroupal.com/guides/" >All Guides</a></li>
328	<li  class="menu-item menu-item-type-post_type menu-item-object-guide-page " ><a class="menu-list__link" href="https://www.thewilliamsgroupal.com/guide/birmingham/" >Birmingham</a></li>
329	<li  class="menu-item menu-item-type-post_type menu-item-object-guide-page " ><a class="menu-list__link" href="https://www.thewilliamsgroupal.com/guide/northport/" >Northport</a></li>
330	<li  class="menu-item menu-item-type-post_type menu-item-object-guide-page " ><a class="menu-list__link" href="https://www.thewilliamsgroupal.com/guide/tuscaloosa/" >Tuscaloosa</a></li>
331	<li  class="menu-item menu-item-type-post_type menu-item-object-guide-page " ><a class="menu-list__link" href="https://www.thewilliamsgroupal.com/guide/cottondale/" >Cottondale</a></li>
332	<li  class="menu-item menu-item-type-post_type menu-item-object-guide-page " ><a class="menu-list__link" href="https://www.thewilliamsgroupal.com/guide/homewood/" >Homewood</a></li>
333	<li  class="menu-item menu-item-type-post_type menu-item-object-guide-page " ><a class="menu-list__link" href="https://www.thewilliamsgroupal.com/guide/coker/" >Coker</a></li>
334	<li  class="menu-item menu-item-type-post_type menu-item-object-guide-page " ><a class="menu-list__link" href="https://www.thewilliamsgroupal.com/guide/vestavia-hills/" >Vestavia Hills</a></li>
335	<li  class="menu-item menu-item-type-post_type menu-item-object-guide-page " ><a class="menu-list__link" href="https://www.thewilliamsgroupal.com/guide/mountain-brook/" >Mountain Brook</a></li>
336	<li  class="menu-item menu-item-type-post_type menu-item-object-guide-page " ><a class="menu-list__link" href="https://www.thewilliamsgroupal.com/guide/hoover/" >Hoover</a></li>
337	<li  class="menu-item menu-item-type-post_type menu-item-object-guide-page " ><a class="menu-list__link" href="https://www.thewilliamsgroupal.com/guide/mccalla/" >McCalla</a></li>
338	<li  class="menu-item menu-item-type-post_type menu-item-object-guide-page " ><a class="menu-list__link" href="https://www.thewilliamsgroupal.com/guide/trussville/" >Trussville</a></li>
339	<li  class="menu-item menu-item-type-post_type menu-item-object-guide-page " ><a class="menu-list__link" href="https://www.thewilliamsgroupal.com/guide/helena/" >Helena</a></li>
340	<li  class="menu-item menu-item-type-post_type menu-item-object-guide-page " ><a class="menu-list__link" href="https://www.thewilliamsgroupal.com/guide/pelham/" >Pelham</a></li>
341	<li  class="menu-item menu-item-type-post_type menu-item-object-guide-page " ><a class="menu-list__link" href="https://www.thewilliamsgroupal.com/guide/alabaster/" >Alabaster</a></li>
342	<li  class="menu-item menu-item-type-post_type menu-item-object-guide-page " ><a class="menu-list__link" href="https://www.thewilliamsgroupal.com/guide/chelsea/" >Chelsea</a></li>
343
344</ul></div>
345</li>
346<li  class="menu-item menu-item-type-custom menu-item-object-custom menu-item-has-children bt-ccomp" data-bt-ccomp="dropdown"><a class="menu-list__link" href="#" data-bt-ccomp-trigger>Next Chapter <i class="bt-fa-icon bt-fa-icon--small far fa-fw fa-chevron-down"></i></a>
347<div class="bt-ccomp__content "><ul class="menu-list level-0">
348	<li  class="menu-item menu-item-type-custom menu-item-object-custom " ><a class="menu-list__link" href="https://www.thewilliamsgroupal.com/next-chapter/" >Your Next Chapter Starts Here</a></li>
349	<li  class="menu-item menu-item-type-post_type menu-item-object-page " ><a class="menu-list__link" href="https://www.thewilliamsgroupal.com/relocating-to-alabama/" >Relocating to Alabama</a></li>
350	<li  class="menu-item menu-item-type-post_type menu-item-object-page " ><a class="menu-list__link" href="https://www.thewilliamsgroupal.com/moving-to-tuscaloosa/" >Moving to Tuscaloosa</a></li>
351	<li  class="menu-item menu-item-type-post_type menu-item-object-page " ><a class="menu-list__link" href="https://www.thewilliamsgroupal.com/moving-to-northport/" >Moving to Northport</a></li>
352	<li  class="menu-item menu-item-type-post_type menu-item-object-page " ><a class="menu-list__link" href="https://www.thewilliamsgroupal.com/moving-to-birmingham/" >Moving to Birmingham</a></li>
353	<li  class="menu-item menu-item-type-post_type menu-item-object-page " ><a class="menu-list__link" href="https://www.thewilliamsgroupal.com/moving-to-hoover/" >Moving to Hoover</a></li>
354	<li  class="menu-item menu-item-type-post_type menu-item-object-page " ><a class="menu-list__link" href="https://www.thewilliamsgroupal.com/moving-to-homewood/" >Moving to Homewood</a></li>
355	<li  class="menu-item menu-item-type-post_type menu-item-object-page " ><a class="menu-list__link" href="https://www.thewilliamsgroupal.com/moving-to-vestavia-hills/" >Moving to Vestavia Hills</a></li>
356
357</ul></div>
358</li>
359<li  class="menu-item menu-item-type-custom menu-item-object-custom current-menu-ancestor current-menu-parent menu-item-has-children bt-ccomp" data-bt-ccomp="dropdown"><a class="menu-list__link" href="#" data-bt-ccomp-trigger>Resources <i class="bt-fa-icon bt-fa-icon--small far fa-fw fa-chevron-down"></i></a>
360<div class="bt-ccomp__content "><ul class="menu-list level-0">
361	<li  class="menu-item menu-item-type-custom menu-item-object-custom current-menu-item " ><a class="menu-list__link" href="/blog/" >TWG Blog</a></li>
362	<li  class="menu-item menu-item-type-custom menu-item-object-custom " ><a class="menu-list__link" href="/finance/" >Financing</a></li>
363	<li  class="menu-item menu-item-type-custom menu-item-object-custom " ><a class="menu-list__link" href="/resources/" >Additional Resources</a></li>
364	<li  class="menu-item menu-item-type-post_type menu-item-object-page " ><a class="menu-list__link" href="https://www.thewilliamsgroupal.com/in-the-media/" >In the Media</a></li>
365
366</ul></div>
367</li>
368</ul></div>          <div class="bt-navbar__right">
369                          <ul class="uk-subnav">
370                <li class="bt-ccomp js-saved-search-dropdown" data-bt-ccomp="dropdown">
371                  <a class="js-savedsearcheslnk" href="#" data-bt-ccomp-trigger data-cy="top-navbar__saved-searches">Saved Searches <span class="js-savedsearchcount pill pill--badge" data-cy="top-navbar__saved-searches-pill">0</span></a>
372                  <div class="bt-ccomp__content bt-dropdown--right jsx-saved-search-menu" />
373                </li>
374                <li>
375                  <a class="js-favorites" rel="nofollow" href="/results-gallery/?favs=1" data-cy="top-navbar__favorites-link">Favorites <span class="js-favoritescount pill pill--badge">0</span></a>
376                </li>
377                                  <li class="js-account-placeholder uk-hidden"></li>
378                  <li><a class="js-signin" rel="nofollow" href="#" title="Sign In" data-cy="top-navbar__sign-in">Sign In</a></li>
379                              </ul>
380                      </div>
381        </div>
382      </nav>
383    </header>
384    <div class="js-mobile-header__wrapper bt-header__mobile px-12--safe py-4">
385    <div class="grid grid--center grid--justifyBetween">
386        <div class="cell">
387            <a href="/" class="uk-display-inline-block">
388                <img
389                    class="bt-inner-logo"
390                    src="https://bt-wpstatic.freetls.fastly.net/wp-content/blogs.dir/14320/files/2026/04/TWG-ip-logo-0b2bed4875165deb939ed21e5b4dd35477b8e902.png"
391                    alt="The Williams Group at Keller Williams Realty"
392                >
393            </a>
394        </div>
395        <div class="cell cell-xs-2 text-xs--right">
396            <a href="#" class="bt-off-canvas__hamburger bt-off-canvas__trigger js-off-canvas__trigger at-menu-btn" aria-label="Menu">
397                <i class="fas fa-fw fa-bars"></i>
398            </a>
399        </div>
400    </div>
401</div>
402<a name='skip-to-content'></a>
403<div id="inner-viewport">
404                    <div>
405<div class="sticky-outer-wrapper">
406  <div class="sticky-inner-wrapper">
407    <div class="bt-listing-search-menu js-listing-search-menu js-results__page-header">
408      <div class="container bt-listing-search__wrapper js-filter-bar">
409        <div class="grid grid--gutters grid--center">
410          <div class="cell cell-md-3 bt-listing-search__logo">
411            <a class="js-inner-logo" href="https://www.thewilliamsgroupal.com">
412              <img class="bt-inner-logo" alt="The Williams Group at Keller Williams Realty" src="https://bt-wpstatic.freetls.fastly.net/wp-content/blogs.dir/14320/files/2026/04/TWG-ip-logo-0b2bed4875165deb939ed21e5b4dd35477b8e902.png">
413            </a>
414          </div>
415          
416            <div class="cell">
417              <div class="grid bt-filter-bar__components grid--gutters-small grid--justifyend" label="Properties Search Toolbar">
418                <div class="cell cell-md-12 cell-xl-fit">
419                  <form>
420                    <label class="form__label form__label--hidden" for="bt-ballerbox__autocomplete-input--id">Search Properties</label>
421                    <div class="grid">
422                      <div class="cell">
423                        <div class="form__input-group">
424                          <div class="bt-ccomp bt-ccomp__dropdown height-1-1">
425                            <button class="btn bt-ccomp__trigger at-searchby-trigger form__input-prefix ballerbox__searchby-button btn--width-auto" type="button" name="ballerbox__searchby-button">Search By
426                              <i class="fa-angle-down far fa-fw bt-fa-icon"></i>
427                            </button>
428                            <span></span>
429                          </div>
430                          <input class="ballerbox__autocomplete-input form__input--grouped" type="text" name="bt-ballerbox__autocomplete-input--id" id="bt-ballerbox__autocomplete-input--id" role="combobox" aria-autocomplete="list" aria-expanded="false" autocomplete="off" placeholder="Type any Area, Address, ZIP, School, etc." value="">
431                          </div>
432                        </div>
433                      </div>
434                    </form>
435                  </div>
436                  <div class="cell cell-xs-none">
437                    <div class="btn-group ml-0 bt-search__options-wrapper" role="group" aria-label="Properties Search Filters">
438                      <div class="btn-group__item">
439                        <div class="bt-ccomp bt-ccomp__dropdown">
440                          <button class="btn bt-ccomp__trigger at-price-trigger bt-filter__button js-search-price btn-group__item-btn btn-group__item-btn--first btn--primary" data-cy="search-bar__price" type="button">Price&nbsp;
441                            <i class="fa-angle-down far fa-fw bt-fa-icon"></i>
442                          </button>
443                          <span></span>
444                        </div>
445                      </div>
446                      <div class="btn-group__item">
447                        <div class="bt-ccomp bt-ccomp__dropdown">
448                          <button class="btn bt-ccomp__trigger at-type-menu-trigger bt-filter__button btn-group__item-btn btn--primary" data-cy="seach-bar__type" type="button">Type
449                            <i class="fa-angle-down far fa-fw bt-fa-icon"></i>
450                          </button>
451                          <span></span>
452                        </div>
453                      </div>
454                      <div class="btn-group__item">
455                        <div class="bt-ccomp bt-ccomp__dropdown uk-display-block">
456                          <button class="btn bt-ccomp__trigger at-minbeds-trigger bt-filter__button js-search-beds btn-group__item-btn btn--primary" data-cy="search-bar__beds-button" type="button">Beds
457                            <i class="fa-angle-down far fa-fw bt-fa-icon"></i>
458                          </button>
459                          <span></span>
460                        </div>
461                      </div>
462                      <div class="btn-group__item">
463                        <div class="bt-ccomp bt-ccomp__dropdown uk-display-block">
464                          <button class="btn bt-ccomp__trigger at-minbaths-trigger bt-filter__button js-search-beds btn-group__item-btn btn--primary" data-cy="search-bar__baths-button" type="button">Baths
465                            <i class="fa-angle-down far fa-fw bt-fa-icon"></i>
466                          </button>
467                          <span></span>
468                        </div>
469                      </div>
470                      <div class="btn-group__item">
471                        <div class="bt-ccomp bt-ccomp__dropdown bt-ccomp--full-width">
472                          <button class="btn bt-filter__button bt-more__trigger bt-ccomp__trigger at-sub-menu-trigger btn-group__item-btn btn-group__item-btn--last btn--primary" data-cy="search-bar__more" type="button">More
473                            <i class="fa-plus far fa-fw bt-fa-icon"></i>
474                          </button>
475                          <span></span>
476                        </div>
477                      </div>
478                    </div>
479                  </div>
480                </div>
481                <div class="bt-search-filter-area mt-16 js-search-filter-area">
482                  <div class="grid grid--gutters grid--noWrap grid--justifyBetween grid--center">
483                    <div class="cell pr-4 bt-save-search__wrapper" style="opacity: 0;">
484                      <div class="pr-16">
485                        <button class="btn uk-text-nowrap at-save-search-btn btn--primary btn--size-small" data-cy="search-bar__save-search" type="button">Save This Search</button>
486                      </div>
487                      <div class="bt-search-tags__container">
488                        <ul class="bt-search-tags">
489                          <li>
490                            <button class="btn btn--tag btn--secondary btn--size-small" data-cy="search-bar__search_tag" type="button">Has Photos
491                              <i class="fa-times-circle fas fa-fw bt-fa-icon"></i>
492                            </button>
493                          </li>
494                        </ul>
495                      </div>
496                    </div>
497                    <div id="results-set-interactions" class="cell pl-12 bt-view-options__wrapper">
498                      <div class="btn-toolbar grid--justifyEnd" role="toolbar" aria-label="Sort results options and results view switcher">
499                        <div class="bt-ccomp bt-ccomp__dropdown mr-12 sort-button">
500                          <button class="btn bt-ccomp__trigger bt-sort-by btn--secondary btn--size-small" data-cy="search-bar__sort" type="button">Sort
501                            <i class="fa-angle-down far fa-fw bt-fa-icon"></i>
502                          </button>
503                          <span></span>
504                        </div>
505                        <div class="btn-group bt-view-toggle ml-4" role="group" aria-label="Results View Switcher">
506                          <div class="btn-group__item">
507                            <a href="/results-map/" title="Map View" role="button" class="btn-small bt-view-toggle__show-map">
508                              <button class="btn btn--size-small btn-group__item-btn btn-group__item-btn--first btn--secondary" type="button">
509                                <i class="fa-map-marker-alt fas fa-fw bt-fa-icon"></i> Map
510                              </button>
511                            </a>
512                          </div>
513                          <div class="btn-group__item">
514                            <a href="/results-gallery/" title="Gallery View" role="button" class="btn-small bt-view-toggle__show-gallery uk-active">
515                              <button class="btn btn--size-small btn-group__item-btn btn-group__item-btn--last btn--secondary" type="button">
516                                <i class="fa-th fas fa-fw bt-fa-icon"></i> Gallery
517                              </button>
518                            </a>
519                          </div>
520                        </div>
521                      </div>
522                    </div>
523                  </div>
524                </div>
525              </div>
526          
527        </div>
528      </div>
529    </div>
530  </div>
531</div>
532</div>
533        
534        <div id="js-search-layout--main" class="view">
535                            <section class="bt-content-wrapper px--safe ">
536                    <div class="container">
537            
538  <article class="uk-article post-1829 post type-post status-publish format-standard has-post-thumbnail hentry category-birmingham-metro-news tag-greater-birmingham tag-homewood tag-hoover tag-housing-market tag-mountain-brook tag-vestavia-hills">
539    <div class="bt-page-header">
540      <h1 class="bt-heading__h2">Blog</h1>
541    </div>
542    <div class="bt-interior-content">
543      <div class="grid grid--gutters">
544        <div class="cell">
545        <ul class="grid grid--gutters grid-xs--full grid-sm--halves grid-md--halves grid-lg--thirds grid--flexCells"><div class='bt-blog-index-wrapper'>
546            <div class='bt-blog-index-article'>
547            <h3 class='bt-blog-index-header'>
548                <a href='https://www.thewilliamsgroupal.com/blog/what-500k-buys-birmingham-suburbs/'>What Does $500,000 Buy in Hoover, Vestavia Hills, Homewood and Mountain Brook?</a>
549            </h3>
550            <div class='bt-blog-index-author'>
551                By <strong>Byron Bennett</strong> | October 2, 2026            </div>
552
553                            <a aria-label='What Does $500,000 Buy in Hoover, Vestavia Hills, Homewood and Mountain Brook?' href='https://www.thewilliamsgroupal.com/blog/what-500k-buys-birmingham-suburbs/' class='bt-blog-index-image' style='background-image:url(https://bt-wpstatic.freetls.fastly.net/wp-content/blogs.dir/14320/files/2026/10/what-500k-buys-birmingham-suburbs-b363a1c2894fed42d117248b2b198a3fb6a62305-1024x768.jpg);'>
554                    </a>
555            
556            <p class='bt-blog-index-excerpt'>
557                Last updated: October 2026 &middot; By Byron Bennett, The Williams Group at Keller Williams Realty QUICK SUMMARY The short answer: $500,000 buys a typical three-bedroom home in Hoover or Vestavia Hills, a below-median three-bedroom in Homewood, and is a stretch budget in Mountain Brook. Over the 12 months ending August 2026, Greater Alabama MLS closings...                 <a href='https://www.thewilliamsgroupal.com/blog/what-500k-buys-birmingham-suburbs/'>Read More</a>
558            </p>
559        </div>
560            <div class='bt-blog-index-article'>
561            <h3 class='bt-blog-index-header'>
562                <a href='https://www.thewilliamsgroupal.com/blog/alabama-property-tax-proration-closing/'>How Are Property Taxes Prorated at Closing in Alabama?</a>
563            </h3>
564            <div class='bt-blog-index-author'>
565                By <strong>Byron Bennett</strong> | October 2, 2026            </div>
566
567                            <a aria-label='How Are Property Taxes Prorated at Closing in Alabama?' href='https://www.thewilliamsgroupal.com/blog/alabama-property-tax-proration-closing/' class='bt-blog-index-image' style='background-image:url(https://bt-wpstatic.freetls.fastly.net/wp-content/blogs.dir/14320/files/2026/10/alabama-property-tax-proration-closing-7f7c5518019885f438c218488f822ee6e39e194a-1024x683.jpg);'>
568                    </a>
569            
570            <p class='bt-blog-index-excerpt'>
571                Last updated: October 2026 &middot; By Byron Bennett, The Williams Group at Keller Williams Realty QUICK SUMMARY The short answer: Alabama property taxes are paid a year in arrears. The tax year runs October 1 to September 30, and the bill that comes due each October 1 (and turns delinquent after December 31) pays for...                 <a href='https://www.thewilliamsgroupal.com/blog/alabama-property-tax-proration-closing/'>Read More</a>
572            </p>
573        </div>
574            <div class='bt-blog-index-article'>
575            <h3 class='bt-blog-index-header'>
576                <a href='https://www.thewilliamsgroupal.com/blog/greater-birmingham-housing-market-report-october-2026/'>Greater Birmingham Housing Market Report — October 2026</a>
577            </h3>
578            <div class='bt-blog-index-author'>
579                By <strong>Byron Bennett</strong> | October 1, 2026            </div>
580
581                            <a aria-label='Greater Birmingham Housing Market Report — October 2026' href='https://www.thewilliamsgroupal.com/blog/greater-birmingham-housing-market-report-october-2026/' class='bt-blog-index-image' style='background-image:url(https://bt-wpstatic.freetls.fastly.net/wp-content/blogs.dir/14320/files/2026/07/bham
581-1-a8bcadddf2dcd142f576bb03dfbd12d948e07bf5.jpg);'>
582                    </a>
583            
584            <p class='bt-blog-index-excerpt'>
585                Jefferson County home prices rose 3.8% to $310,000 in August 2026 and Shelby County rose 4.2% to $380,232. MLS data, 7% rates and what it means for buyers and sellers.                <a href='https://www.thewilliamsgroupal.com/blog/greater-birmingham-housing-market-report-october-2026/'>Read More</a>
586            </p>
587        </div>
588            <div class='bt-blog-index-article'>
589            <h3 class='bt-blog-index-header'>
590                <a href='https://www.thewilliamsgroupal.com/blog/tuscaloosa-county-housing-market-report-october-2026/'>Tuscaloosa County Housing Market Report — October 2026</a>
591            </h3>
592            <div class='bt-blog-index-author'>
593                By <strong>Byron Bennett</strong> | October 1, 2026            </div>
594
595                            <a aria-label='Tuscaloosa County Housing Market Report — October 2026' href='https://www.thewilliamsgroupal.com/blog/tuscaloosa-county-housing-market-report-october-2026/' class='bt-blog-index-image' style='background-image:url(https://bt-wpstatic.freetls.fastly.net/wp-content/blogs.dir/14320/files/2026/04/CityofTuscaloosa-87b726bd2dce60244bc44d1363d8382d341a94d1.png);'>
596                    </a>
597            
598            <p class='bt-blog-index-excerpt'>
599                Tuscaloosa County home prices held at $299,900 in August 2026 while sales fell 8% and homes took 30 days to sell. MLS data, 7% rates and what it means for buyers and sellers.                <a href='https://www.thewilliamsgroupal.com/blog/tuscaloosa-county-housing-market-report-october-2026/'>Read More</a>
600            </p>
601        </div>
602            <div class='bt-blog-index-article'>
603            <h3 class='bt-blog-index-header'>
604                <a href='https://www.thewilliamsgroupal.com/blog/mountain-brook-2027-budget-homeowners/'>What Does Mountain Brook&#8217;s 2027 Budget Mean for Homeowners?</a>
605            </h3>
606            <div class='bt-blog-index-author'>
607                By <strong>Byron Bennett</strong> | October 1, 2026            </div>
608
609                            <a aria-label='What Does Mountain Brook&#8217;s 2027 Budget Mean for Homeowners?' href='https://www.thewilliamsgroupal.com/blog/mountain-brook-2027-budget-homeowners/' class='bt-blog-index-image' style='background-image:url(https://bt-wpstatic.freetls.fastly.net/wp-content/blogs.dir/14320/files/2026/10/mountain-brook-tree-lined-street-5a76d67a9621887d7dc4ea3032798ed017a07688-1024x576.jpg);'>
610                    </a>
611            
612            <p class='bt-blog-index-excerpt'>
613                Mountain Brook approved a $58 million 2027 budget on Sept. 28, 2026, with a $6 million library renovation, $2.5 million for sidewalks and a $23.2 million reserve.                <a href='https://www.thewilliamsgroupal.com/blog/mountain-brook-2027-budget-homeowners/'>Read More</a>
614            </p>
615        </div>
616            <div class='bt-blog-index-article'>
617            <h3 class='bt-blog-index-header'>
618                <a href='https://www.thewilliamsgroupal.com/blog/what-300k-400k-buys-tuscaloosa/'>What Does $300,000 or $400,000 Buy in Tuscaloosa County in 2026?</a>
619            </h3>
620            <div class='bt-blog-index-author'>
621                By <strong>Byron Bennett</strong> | October 1, 2026            </div>
622
623                            <a aria-label='What Does $300,000 or $400,000 Buy in Tuscaloosa County in 2026?' href='https://www.thewilliamsgroupal.com/blog/what-300k-400k-buys-tuscaloosa/' class='bt-blog-index-image' style='background-image:url(https://bt-wpstatic.freetls.fastly.net/wp-content/blogs.dir/14320/files/2026/10/tuscaloosa-county-neighborhood-home-prices-03ff17eedf87cecf7ef3227e138eb694fc8b2235-1024x576.jpg);'>
624                    </a>
625            
626            <p class='bt-blog-index-excerpt'>
627                Countywide, $300,000 is right at the Tuscaloosa County median and $400,000 is near the top quarter. Here is what each budget buys by MLS area, from Northport to north of the river.                <a href='https://www.thewilliamsgroupal.com/blog/what-300k-400k-buys-tuscaloosa/'>Read More</a>
628            </p>
629        </div>
630            <div class='bt-blog-index-article'>
631            <h3 class='bt-blog-index-header'>
632                <a href='https://www.thewilliamsgroupal.com/blog/alabama-solar-panels-home-buyers-sellers/'>Buying or Selling a House With Solar Panels in Alabama: What Should You Know?</a>
633            </h3>
634            <div class='bt-blog-index-author'>
635                By <strong>Byron Bennett</strong> | October 1, 2026            </div>
636
637                            <a aria-label='Buying or Selling a House With Solar Panels in Alabama: What Should You Know?' href='https://www.thewilliamsgroupal.com/blog/alabama-solar-panels-home-buyers-sellers/' class='bt-blog-index-image' style='background-image:url(https://bt-wpstatic.freetls.fastly.net/wp-content/blogs.dir/14320/files/2026/10/alabama-home-solar-panels-38843e16bab70d6545553c62f11a2c9e9a936dc8-1024x576.jpg);'>
638                    </a>
639            
640            <p class='bt-blog-index-excerpt'>
641                Solar panels on an Alabama home are worth the most when owned outright. Here is how Alabama Power's $5.41/kW capacity charge, no net metering and the end of the federal credit change a sale.                <a href='https://www.thewilliamsgroupal.com/blog/alabama-solar-panels-home-buyers-sellers/'>Read More</a>
642            </p>
643        </div>
644            <div class='bt-blog-index-article'>
645            <h3 class='bt-blog-index-header'>
646                <a href='https://www.thewilliamsgroupal.com/blog/hoover-2027-budget-homeowners/'>What Does Hoover’s 2027 Budget Mean for Homeowners?</a>
647            </h3>
648            <div class='bt-blog-index-author'>
649                By <strong>Byron Bennett</strong> | September 30, 2026            </div>
650
651                            <a aria-label='What Does Hoover’s 2027 Budget Mean for Homeowners?' href='https://www.thewilliamsgroupal.com/blog/hoover-2027-budget-homeowners/' class='bt-blog-index-image' style='background-image:url(https://bt-wpstatic.freetls.fastly.net/wp-content/blogs.dir/14320/files/2026/09/hoover-al-neighborhood-2027-budget-4cffb034f4382e3fcc7a2d1381b8bf640735347a-1024x682.jpg);'>
652                    </a>
653            
654            <p class='bt-blog-index-excerpt'>
655                Hoover approved a $206 million 2027 budget on Sept. 28, 2026. Here is what it means for roads, drainage, public safety and Hoover homeowners.                <a href='https://www.thewilliamsgroupal.com/blog/hoover-2027-budget-homeowners/'>Read More</a>
656            </p>
657        </div>
658            <div class='bt-blog-index-article'>
659            <h3 class='bt-blog-index-header'>
660                <a href='https://www.thewilliamsgroupal.com/blog/alabama-current-use-land-tax/'>What Is Current Use Valuation in Alabama, and Does It Transfer When You Buy Land?</a>
661            </h3>
662            <div class='bt-blog-index-author'>
663                By <strong>Byron Bennett</strong> | September 30, 2026            </div>
664
665                            <a aria-label='What Is Current Use Valuation in Alabama, and Does It Transfer When You Buy Land?' href='https://www.thewilliamsgroupal.com/blog/alabama-current-use-land-tax/' class='bt-blog-index-image' style='background-image:url(https://bt-wpstatic.freetls.fastly.net/wp-content/blogs.dir/14320/files/2026/09/alabama-current-use-farm-timber-land-743b50671e80e35cd6a0865784e8a132b6732f46-1024x704.jpg);'>
666                    </a>
667            
668            <p class='bt-blog-index-excerpt'>
669                Alabama current use valuation cuts taxes on farm and timber land, but it does not transfer to a buyer. Here are the deadlines and the three-year rollback risk.                <a href='https://www.thewilliamsgroupal.com/blog/alabama-current-use-land-tax/'>Read More</a>
670            </p>
671        </div>
672            <div class='bt-blog-index-article'>
673            <h3 class='bt-blog-index-header'>
674                <a href='https://www.thewilliamsgroupal.com/blog/alabama-home-builder
674-license-check/'>How Do You Check a Home Builder License in Alabama?</a>
675            </h3>
676            <div class='bt-blog-index-author'>
677                By <strong>Byron Bennett</strong> | September 29, 2026            </div>
678
679                            <a aria-label='How Do You Check a Home Builder License in Alabama?' href='https://www.thewilliamsgroupal.com/blog/alabama-home-builder-license-check/' class='bt-blog-index-image' style='background-image:url(https://bt-wpstatic.freetls.fastly.net/wp-content/blogs.dir/14320/files/2026/09/alabama-new-home-construction-builder-license-6c88f3dc390b380c31c9e2c1cf4b3dfe4e70114e-1024x683.jpg);'>
680                    </a>
681            
682            <p class='bt-blog-index-excerpt'>
683                Before you build or buy new construction in Alabama, look up the builder on the Home Builders Licensure Board. Here is who needs a license, what the Recovery Fund covers and what the board can and cannot do.                <a href='https://www.thewilliamsgroupal.com/blog/alabama-home-builder-license-check/'>Read More</a>
684            </p>
685        </div>
686    </div>
687</ul><ul class="uk-pagination"><li class="uk-active"><span>1</span></li><li><a href="https://www.thewilliamsgroupal.com/blog/page/2/">2</a></li><li><a href="https://www.thewilliamsgroupal.com/blog/page/3/">3</a></li><li><a href="https://www.thewilliamsgroupal.com/blog/page/4/">4</a></li><li><span>...</span></li><li><a href="https://www.thewilliamsgroupal.com/blog/page/16/">16</a></li><li><a href="https://www.thewilliamsgroupal.com/blog/page/2/" aria-label="Next"><i class="far fa-fw fa-chevron-right"></i></a></li></ul>        </div>
688        <div class="cell cell-xs-12 cell-md-4 bt-sidebar">
689          <div class="bt-panel uk-panel uk-panel-box">
690                            
691    
692    <div class="widget widget_bt_blog_intro"><div class="bt-widget bt-widget__blog-intro">
693    <div class="bt-social-icons js-footer-social-icons">
694            <a href="/feed" target="_blank" aria-label="rss"  title="rss" class="bt-icon__button bt-icon--rss js-footer-social-rss">
695            <i class="fas fa-fw fa-rss"></i>
696        </a>
697            <a href="https://www.facebook.com/thewilliamsgroupatkw/" target="_blank" aria-label="facebook"  title="facebook" class="bt-icon__button bt-icon--facebook">
698            <i class="fab fa-fw fa-facebook-f"></i>
699        </a>
700            <a href="https://www.instagram.com/thewilliamsgroupal/" target="_blank" aria-label="instagram"  title="instagram" class="bt-icon__button bt-icon--instagram">
701            <i class="fab fa-fw fa-instagram"></i>
702        </a>
703            <a href="https://www.linkedin.com/company/the-williams-group-at-keller-williams-realty" target="_blank" aria-label="linkedin"  title="linkedin" class="bt-icon__button bt-icon--linkedin">
704            <i class="fab fa-fw fa-linkedin-in"></i>
705        </a>
706    </div>
707    <h3>About our blog</h3>
708    <p>Our agents write often to give you the latest insights on owning a home or property in the local area.</p>
709</div>
710</div>
711    
712    <div class="widget widget_recent_entries"><h2 class="widgettitle">Recent Posts</h2><div class="bt-widget bt-widget__recent-posts">
713    <div class="">
714        <ul class="uk-list-space">
715                            <li>
716                    <a href="https://www.thewilliamsgroupal.com/blog/what-500k-buys-birmingham-suburbs/">
717                        What Does $500,000 Buy in Hoover, Vestavia Hills, Homewood and Mountain Brook?                    </a>
718                </li>
719                            <li>
720                    <a href="https://www.thewilliamsgroupal.com/blog/alabama-property-tax-proration-closing/">
721                        How Are Property Taxes Prorated at Closing in Alabama?                    </a>
722                </li>
723                            <li>
724                    <a href="https://www.thewilliamsgroupal.com/blog/greater-birmingham-housing-market-report-october-2026/">
725                        Greater Birmingham Housing Market Report — October 2026                    </a>
726                </li>
727                            <li>
728                    <a href="https://www.thewilliamsgroupal.com/blog/tuscaloosa-county-housing-market-report-october-2026/">
729                        Tuscaloosa County Housing Market Report — October 2026                    </a>
730                </li>
731                            <li>
732                    <a href="https://www.thewilliamsgroupal.com/blog/mountain-brook-2027-budget-homeowners/">
733                        What Does Mountain Brook&#8217;s 2027 Budget Mean for Homeowners?                    </a>
734                </li>
735                    </ul>
736    </div>
737</div>
738</div>
739    <div class="widget widget_archive"><h3 class="widget-title">Archives</h3>
740			<ul>
741					<li><a href='https://www.thewilliamsgroupal.com/blog/2026/10/'>October 2026</a></li>
742	<li><a href='https://www.thewilliamsgroupal.com/blog/2026/09/'>September 2026</a></li>
743	<li><a href='https://www.thewilliamsgroupal.com/blog/2026/08/'>August 2026</a></li>
744	<li><a href='https://www.thewilliamsgroupal.com/blog/2026/07/'>July 2026</a></li>
745	<li><a href='https://www.thewilliamsgroupal.com/blog/2026/06/'>June 2026</a></li>
746	<li><a href='https://www.thewilliamsgroupal.com/blog/2026/05/'>May 2026</a></li>
747			</ul>
748
749			</div>
750                      </div>
751        </div>
752      </div>
753    </div>
754  </article>
755                        </div>
756            </section>
757            </div>
758</div>
759<div id="footer">
760    <footer class="bt-footer" data-cy="footer">
761        <div class="px--safe">
762            <div class="container uk-text-small">
763                <div class="grid grid--gutters">
764                    <div class="cell cell-xs-12 cell-md-3 cell-lg-2">
765
766                        
767                            <h3 class="bt-footer-widget__title">Guides</h3>
768                            <ul class="uk-list">
769                                                                    <li>
770                                        <a class="js-footer-guides" href="https://www.thewilliamsgroupal.com/guide/northport/">Northport</a>
771                                    </li>
772                                                                    <li>
773                                        <a class="js-footer-guides" href="https://www.thewilliamsgroupal.com/guide/cottondale/">Cottondale</a>
774                                    </li>
775                                                                    <li>
776                                        <a class="js-footer-guides" href="https://www.thewilliamsgroupal.com/guide/coker/">Coker</a>
777                                    </li>
778                                                                    <li>
779                                        <a class="js-footer-guides" href="https://www.thewilliamsgroupal.com/guide/mccalla/">McCalla</a>
780                                    </li>
781                                                                    <li>
782                                        <a class="js-footer-guides" href="https://www.thewilliamsgroupal.com/guide/birmingham/">Birmingham</a>
783                                    </li>
784                                                                                                <li>
785                                    <a href="/guides/" class="bt-more-bounce js-footer-guides">More Guides <i class="far fa-fw fa-chevron-right"></i></a>
786                                </li>
787                            </ul>
788
789                        
790                    </div>
791                    <div class="cell cell-xs-12 cell-md-3 cell-lg-2">
792
793                                                    <h3 class="bt-footer-widget__title">Company</h3>
794                            <ul class="uk-list">
795                                                                    <li>
796                                        <a class="js-footer-agents" href="/agents/" title="Meet The Team">Meet The Team</a>
797                                    </li>
798                                                                <li>
799                                    <a class="js-footer-blog" href="/blog/" title="Our blog">Our Blog</a>
800                                </li>
801                                <li>
802                                    <a class="at-footer-contactus" href="/contactus/" title="Contact Us">Contact Us</a>
803                                </li>
804                            </ul>
805                        
806                    </div>
807                    <div class="cell cell-xs-12 cell-md-3 cell-lg-2">
808
809                                                    <h3 class="bt-footer-widget__title">Resources</h3>
810                            <ul class="uk-list">
811                                <li>
812                                    <a class="js-footer-buyhome" href="/buy/" title="Buy a home in West Alabama, Greater Birmingham Area">Buy a Home</a>
813                                </li>
814                                <li>
815                                    <a class="js-footer-sellhome" href="/sell/" title="Sell homes in West Alabama, Greater Birmingham Area">Sell Your Home</a>
816                                </li>
817                                <li>
818                                    <a class="js-footer-finance" href="/finance/" title="Finance your dream home in West Alabama, Greater Birmingham Area">Finance</a>
819                                </li>
820                            </ul>
821                        
822                    </div>
823                    <div class="cell cell-xs-12 cell-md-3 cell-lg-2">
824
825                                                    <h3 class="bt-footer-widget__title">Get Social</h3>
826                            <div class="bt-social-icons js-footer-social-icons">
827            <a href="/feed" target="_blank" aria-label="rss"  title="rss" class="bt-icon__button bt-icon--rss js-footer-social-rss">
828            <i class="fas fa-fw fa-rss"></i>
829        </a>
830            <a href="https://www.facebook.com/thewilliamsgroupatkw/" target="_blank" aria-label="facebook"  title="facebook" class="bt-icon__button bt-icon--facebook">
831            <i class="fab fa-fw fa-facebook-f"></i>
832        </a>
833            <a href="https://www.instagram.com/thewilliamsgroupal/" target="_blank" aria-label="instagram"  title="instagram" class="bt-icon__button bt-icon--instagram">
834            <i class="fab fa-fw fa-instagram"></i>
835        </a>
836            <a href="https://www.linkedin.com/company/the-williams-group-at-keller-williams-realty" target="_blank" aria-label="linkedin"  title="linkedin" class="bt-icon__button bt-icon--linkedin">
837            <i class="fab fa-fw fa-linkedin-in"></i>
838        </a>
839    </div>
840                        
841                    </div>
842
843                    
844                        <div class="cell cell-xs-12 cell-lg-4">
845                            <div class="js-global-footer-about">
846                                <h3 class="bt-footer-widget__title">About Us</h3>
847                                <div class="js-global-footer-about-tag"><p>The Williams Group at Keller Williams Realty is West Alabama, Greater Birmingham Area's most innovative real estate team.</p>
848</div>
849                            </div>
850                            <address class="js-global-footer-address"><p>The Williams Group at Keller Williams Tuscaloosa<br />
8514412 HWY 69 N, Northport, AL 35473<br />
852(205) 292-2108</p>
853<p>The Williams Group at Keller Williams Realty<br />
8543595 Grandview Pkwy Suite 250, Birmingham, AL 35243<br />
855(205) 292-7142</p>
856</address>                        </div>
857
858                    
859                </div>
860                <div class="mt-16 bt-disclaimer-bottom js-footer-bottom-links" data-cy="footer__disclaimer">
861                    <p class="mb-4">
862                        </br></br><img style="border: 0pt none; float:left; padding-right:10px; padding-bottom:0px" src="https://static.boomtownroi.com/content/photos/birmingham/idx/idx-large.gif" alt="Greater Alabama MLS (Birmingham Association of Realtors) logo"/>
863
864© 2026 Greater Alabama MLS. IDX information is provided exclusively for consumers’ personal, non-commercial use and may not be used for any purpose other than to identify prospective properties consumers may be interested in purchasing. IDX content is not guaranteed accurate by the MLS or The Williams Group at Keller Williams Realty. 
865
866Data last updated: 2026-10-04T16:30:50.84.</br></br>© 2026 West Alabama Multiple Listing Service, Inc. All rights reserved. 
867
868IDX information is provided exclusively for consumers' personal, non-commercial use and may not be used for any purpose other than to identify prospective properties consumers may be interested in purchasing. Information is deemed reliable but is not guaranteed accurate by the MLS or The Williams Group at Keller Williams Realty. 
869
870Data last updated: 2026-10-04T16:50:34.053.</br></br>                    </p>
871                                    </div>
872
873                
874                            </div>
875        </div>
876        <nav class="bt-footer-aux px--safe">
877            <div class="container">
878                <ul class="uk-subnav uk-subnav-line bt-disclaimer-menu mb-0">
879            <li class="bt-disclaimer-menu__copyright">
880            <a
881                target="_blank"
882                href="https://boomtownroi.com?utm_campaign=thewilliamsgroupal.com&utm_medium=bt_client_site_referral&utm_source=client_sites"
883                rel="nofollow"
884                title="BoomTown &copy; 2026"
885            >
886                <img class='bt-disclaimer-menu__copyright__logo' src="/wp-content/themes/wp-base-theme/assets/media/build/boomtown-footer.webp" alt="BoomTown"/> &copy; 2026            </a>
887        </li>
888                <li><a href="/terms">Terms of Use</a></li>
889        <li><a href="/privacy/">Privacy Policy</a></li>
890        <li><a href="/accessibility/">Accessibility</a></li>
891        <li><a href="/dmca/">DMCA</a></li>
892        <li><a href="/sitemap/">Listings Sitemap</a></li>
893    </ul>
894            </div>
895        </nav>
896    </footer>
897</div></div> 
898<nav class="bt-off-canvas bt-off-canvas__common bt-off-canvas-main-menu js-hub">
899    <a href="#" class="bt-off-canvas-menu__close js-off-canvas__close" aria-label="Close"><i class="fas fa-fw fa-times-circle"></i></a>
900    <div class="text-xs--center bt-off-canvas__header">
901        <i class="fas fa-fw fa-user"></i>
902    </div>
903
904    
905                            <div class="container js-user-instance--guest">
906                    <div class="grid grid--gutters grid-xs--halves bt-off-canvas__account-btns">
907                        <div class="cell text-xs--right">
908                            <button type="button" class="btn btn--secondary btn--width-auto js-signin at-sign-in-btn" rel="nofollow">Sign In</button>
909                        </div>
910                        <div class="cell">
911                            <button type="button" class="btn btn--primary btn--width-auto js-register at-register-btn" rel="nofollow">Register</button>
912                        </div>
913                    </div>
914                </div>
915                <div class="container bt-user-instance--registered js-user-instance--registered uk-hidden">
916                    <div class="grid grid--gutters grid-xs--halves bt-off-canvas__account-btns">
917                        <div class="cell text-xs--right">
918                            <a role="button" href="/account/" class="js-account-off-canvas btn btn--primary btn--width-auto at-profile-btn" rel="nofollow">My Account</a>
919                        </div>
920                        <div class="cell">
921                            <a role="button" href="#" class="btn btn--secondary btn--width-auto js-signout at-sign-out-btn" rel="nofollow">Sign Out</a>
922                        </div>
923                    </div>
924                </div>
925                
926    <ul class="bt-nav-main"><li id="menu-item-7" class="menu-item menu-item-type-custom menu-item-object-custom " ><a href="/" class="p-16" >Home</a></li>
927<li id="menu-item-9" class="menu-item menu-item-type-custom menu-item-object-custom " ><a href="/agents/" class="p-16" >Meet the Team</a></li>
928<li id="menu-item-8" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-has-children bt-ccomp" data-bt-ccomp="toggle"><a href="#" class="p-16" data-bt-ccomp-trigger>Search <i class="bt-fa-icon bt-fa-icon
928--small far fa-fw fa-chevron-down"></i></a>
929<div class="bt-ccomp__content px-16--safe"><ul class="bt-off-canvas__sub-menu level-0">
930	<li id="menu-item-11" class="menu-item menu-item-type-custom menu-item-object-custom " ><a href="/results-gallery/?userID=all" class="p-16" >Our Listings</a></li>
931	<li id="menu-item-10" class="menu-item menu-item-type-custom menu-item-object-custom " ><a href="/results-map/" class="p-16" >Map Search</a></li>
932
933</ul></div>
934</li>
935<li id="menu-item-12" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-has-children bt-ccomp" data-bt-ccomp="toggle"><a href="#" class="p-16" data-bt-ccomp-trigger>Buyer Guides <i class="bt-fa-icon bt-fa-icon--small far fa-fw fa-chevron-down"></i></a>
936<div class="bt-ccomp__content px-16--safe"><ul class="bt-off-canvas__sub-menu level-0">
937	<li id="menu-item-103" class="menu-item menu-item-type-post_type menu-item-object-page " ><a href="https://www.thewilliamsgroupal.com/first-time-home-buyers/" class="p-16" >Buying Your First Home</a></li>
938	<li id="menu-item-157" class="menu-item menu-item-type-post_type menu-item-object-page " ><a href="https://www.thewilliamsgroupal.com/buying-selling-together/" class="p-16" >Buying &#038; Selling Together</a></li>
939	<li id="menu-item-184" class="menu-item menu-item-type-post_type menu-item-object-page " ><a href="https://www.thewilliamsgroupal.com/veteran-va-home-buyers/" class="p-16" >Veteran (VA) Home Buyers</a></li>
940	<li id="menu-item-163" class="menu-item menu-item-type-post_type menu-item-object-page " ><a href="https://www.thewilliamsgroupal.com/investment-property-buyers/" class="p-16" >Investment Property Buyers</a></li>
941	<li id="menu-item-136" class="menu-item menu-item-type-post_type menu-item-object-page " ><a href="https://www.thewilliamsgroupal.com/relocating-to-alabama/" class="p-16" >Relocating to Alabama</a></li>
942	<li id="menu-item-466" class="menu-item menu-item-type-post_type menu-item-object-page " ><a href="https://www.thewilliamsgroupal.com/short-term-rentals/" class="p-16" >Short-Term Rentals</a></li>
943	<li id="menu-item-467" class="menu-item menu-item-type-post_type menu-item-object-page " ><a href="https://www.thewilliamsgroupal.com/new-construction-homes/" class="p-16" >New Construction Homes</a></li>
944	<li id="menu-item-650" class="menu-item menu-item-type-post_type menu-item-object-page " ><a href="https://www.thewilliamsgroupal.com/ua-parent-buyers/" class="p-16" >University of Alabama Parents &#8211; Condo Buyer Guide</a></li>
945
946</ul></div>
947</li>
948<li id="menu-item-14" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-has-children bt-ccomp" data-bt-ccomp="toggle"><a href="#" class="p-16" data-bt-ccomp-trigger>Seller Guides <i class="bt-fa-icon bt-fa-icon--small far fa-fw fa-chevron-down"></i></a>
949<div class="bt-ccomp__content px-16--safe"><ul class="bt-off-canvas__sub-menu level-0">
950	<li id="menu-item-147" class="menu-item menu-item-type-post_type menu-item-object-page " ><a href="https://www.thewilliamsgroupal.com/selling-during-divorce/" class="p-16" >Selling During a Divorce</a></li>
951	<li id="menu-item-153" class="menu-item menu-item-type-post_type menu-item-object-page " ><a href="https://www.thewilliamsgroupal.com/downsizing-sellers/" class="p-16" >Downsizing Sellers</a></li>
952	<li id="menu-item-213" class="menu-item menu-item-type-post_type menu-item-object-page " ><a href="https://www.thewilliamsgroupal.com/need-to-sell-fast-facing-foreclosure/" class="p-16" >Need to Sell Fast/Facing Foreclosure</a></li>
953	<li id="menu-item-214" class="menu-item menu-item-type-post_type menu-item-object-page " ><a href="https://www.thewilliamsgroupal.com/land-lot-sellers/" class="p-16" >Land &#038; Lot Sellers</a></li>
954	<li id="menu-item-15" class="menu-item menu-item-type-custom menu-item-object-custom " ><a href="/sell/" class="p-16" >Sell Your Home</a></li>
955	<li id="menu-item-142" class="menu-item menu-item-type-post_type menu-item-object-page " ><a href="https://www.thewilliamsgroupal.com/selling-an-inherited-home/" class="p-16" >Selling an Inherited Home</a></li>
956
957</ul></div>
958</li>
959<li id="menu-item-19" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-has-children bt-ccomp" data-bt-ccomp="toggle"><a href="#" class="p-16" data-bt-ccomp-trigger>City Guides <i class="bt-fa-icon bt-fa-icon--small far fa-fw fa-chevron-down"></i></a>
960<div class="bt-ccomp__content px-16--safe"><ul class="bt-off-canvas__sub-menu level-0">
961	<li id="menu-item-296" class="menu-item menu-item-type-post_type_archive menu-item-object-guide-page " ><a target="_blank" href="https://www.thewilliamsgroupal.com/guides/" class="p-16" >All Guides</a></li>
962	<li id="menu-item-171" class="menu-item menu-item-type-post_type menu-item-object-guide-page " ><a href="https://www.thewilliamsgroupal.com/guide/birmingham/" class="p-16" >Birmingham</a></li>
963	<li id="menu-item-166" class="menu-item menu-item-type-post_type menu-item-object-guide-page " ><a href="https://www.thewilliamsgroupal.com/guide/northport/" class="p-16" >Northport</a></li>
964	<li id="menu-item-167" class="menu-item menu-item-type-post_type menu-item-object-guide-page " ><a href="https://www.thewilliamsgroupal.com/guide/tuscaloosa/" class="p-16" >Tuscaloosa</a></li>
965	<li id="menu-item-168" class="menu-item menu-item-type-post_type menu-item-object-guide-page " ><a href="https://www.thewilliamsgroupal.com/guide/cottondale/" class="p-16" >Cottondale</a></li>
966	<li id="menu-item-173" class="menu-item menu-item-type-post_type menu-item-object-guide-page " ><a href="https://www.thewilliamsgroupal.com/guide/homewood/" class="p-16" >Homewood</a></li>
967	<li id="menu-item-169" class="menu-item menu-item-type-post_type menu-item-object-guide-page " ><a href="https://www.thewilliamsgroupal.com/guide/coker/" class="p-16" >Coker</a></li>
968	<li id="menu-item-172" class="menu-item menu-item-type-post_type menu-item-object-guide-page " ><a href="https://www.thewilliamsgroupal.com/guide/vestavia-hills/" class="p-16" >Vestavia Hills</a></li>
969	<li id="menu-item-174" class="menu-item menu-item-type-post_type menu-item-object-guide-page " ><a href="https://www.thewilliamsgroupal.com/guide/mountain-brook/" class="p-16" >Mountain Brook</a></li>
970	<li id="menu-item-175" class="menu-item menu-item-type-post_type menu-item-object-guide-page " ><a href="https://www.thewilliamsgroupal.com/guide/hoover/" class="p-16" >Hoover</a></li>
971	<li id="menu-item-170" class="menu-item menu-item-type-post_type menu-item-object-guide-page " ><a href="https://www.thewilliamsgroupal.com/guide/mccalla/" class="p-16" >McCalla</a></li>
972	<li id="menu-item-295" class="menu-item menu-item-type-post_type menu-item-object-guide-page " ><a href="https://www.thewilliamsgroupal.com/guide/trussville/" class="p-16" >Trussville</a></li>
973	<li id="menu-item-309" class="menu-item menu-item-type-post_type menu-item-object-guide-page " ><a href="https://www.thewilliamsgroupal.com/guide/helena/" class="p-16" >Helena</a></li>
974	<li id="menu-item-310" class="menu-item menu-item-type-post_type menu-item-object-guide-page " ><a href="https://www.thewilliamsgroupal.com/guide/pelham/" class="p-16" >Pelham</a></li>
975	<li id="menu-item-314" class="menu-item menu-item-type-post_type menu-item-object-guide-page " ><a href="https://www.thewilliamsgroupal.com/guide/alabaster/" class="p-16" >Alabaster</a></li>
976	<li id="menu-item-308" class="menu-item menu-item-type-post_type menu-item-object-guide-page " ><a href="https://www.thewilliamsgroupal.com/guide/chelsea/" class="p-16" >Chelsea</a></li>
977
978</ul></div>
979</li>
980<li id="menu-item-1076" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-has-children bt-ccomp" data-bt-ccomp="toggle"><a href="#" class="p-16" data-bt-ccomp-trigger>Next Chapter <i class="bt-fa-icon bt-fa-icon--small far fa-fw fa-chevron-down"></i></a>
981<div class="bt-ccomp__content px-16--safe"><ul class="bt-off-canvas__sub-menu level-0">
982	<li id="menu-item-1081" class="menu-item menu-item-type-custom menu-item-object-custom " ><a href="https://www.thewilliamsgroupal.com/next-chapter/" class="p-16" >Your Next Chapter Starts Here</a></li>
983	<li id="menu-item-1553" class="menu-item menu-item-type-post_type menu-item-object-page " ><a href="https://www.thewilliamsgroupal.com/relocating-to-alabama/" class="p-16" >Relocating to Alabama</a></li>
984	<li id="menu-item-1552" class="menu-item menu-item-type-post_type menu-item-object-page " ><a href="https://www.thewilliamsgroupal.com/moving-to-tuscaloosa/" class="p-16" >Moving to Tuscaloosa</a></li>
985	<li id="menu-item-1551" class="menu-item menu-item-type-post_type menu-item-object-page " ><a href="https://www.thewilliamsgroupal.com/moving-to-northport/" class="p-16" >Moving to Northport</a></li>
986	<li id="menu-item-1547" class="menu-item menu-item-type-post_type menu-item-object-page " ><a href="https://www.thewilliamsgroupal.com/moving-to-birmingham/" class="p-16" >Moving to Birmingham</a></li>
987	<li id="menu-item-1550" class="menu-item menu-item-type-post_type menu-item-object-page " ><a href="https://www.thewilliamsgroupal.com/moving-to-hoover/" class="p-16" >Moving to Hoover</a></li>
988	<li id="menu-item-1549" class="menu-item menu-item-type-post_type menu-item-object-page " ><a href="https://www.thewilliamsgroupal.com/moving-to-homewood/" class="p-16" >Moving to Homewood</a></li>
989	<li id="menu-item-1548" class="menu-item menu-item-type-post_type menu-item-object-page " ><a href="https://www.thewilliamsgroupal.com/moving-to-vestavia-hills/" class="p-16" >Moving to Vestavia Hills</a></li>
990
991</ul></div>
992</li>
993<li id="menu-item-17" class="menu-item menu-item-type-custom menu-item-object-custom current-menu-ancestor current-menu-parent menu-item-has-children bt-ccomp" data-bt-ccomp="toggle"><a href="#" class="p-16" data-bt-ccomp-trigger>Resources <i class="bt-fa-icon bt-fa-icon--small far fa-fw fa-chevron-down"></i></a>
994<div class="bt-ccomp__content px-16--safe"><ul class="bt-off-canvas__sub-menu level-0">
995	<li id="menu-item-18" class="menu-item menu-item-type-custom menu-item-object-custom current-menu-item " ><a href="/blog/" class="p-16" >TWG Blog</a></li>
996	<li id="menu-item-13" class="menu-item menu-item-type-custom menu-item-object-custom " ><a href="/finance/" class="p-16" >Financing</a></li>
997	<li id="menu-item-20" class="menu-item menu-item-type-custom menu-item-object-custom " ><a href="/resources/" class="p-16" >Additional Resources</a></li>
998	<li id="menu-item-1772" class="menu-item menu-item-type-post_type menu-item-object-page " ><a href="https://www.thewilliamsgroupal.com/in-the-media/" class="p-16" >In the Media</a></li>
999
1000</ul></div>
1001</li>
1002</ul>
1003            <ul class="bt-nav-main bt-off-canvas__ccomp-nav">
1004            <li>
1005                <div class="bt-ccomp" data-bt-ccomp="toggle">
1006                    <a href="#" class="py-16 px-16--safe" data-bt-ccomp-trigger>
1007                        Saved Searches
1008                        <span class="js-savedsearchcount uk-badge uk-badge-notification">
1009                            0                        </span>
1010                        <i class="far fa-fw fa-chevron-down"></i>
1011                    </a>
1012                    <div class="bt-ccomp__content jsx-off-canvas-saved-search-menu px-16--safe" />
1013                    </div>
1014                </div>
1015            </li>
1016            <li>
1017                <a href="/results-gallery/?favs=1" class="js-favorites at-user-favs-btn py-16 px-16--safe" data-cy="top-navbar__favorites-link">
1018                    <i class="fas fa-fw fa-heart"></i>
1019                    Favorites
1020                    <span class="js-favoritescount uk-badge uk-badge-notification">
1021                        0                    </span>
1022                </a>
1023            </li>
1024        </ul>
1025    </nav>
1026<!-- Served from lPRXV-WORD06 -->
1026<script type='text/javascript' src='https://www.thewilliamsgroupal.com/wp-content/build/plugins/bt-testimonials.frontend.5f0d4557.min.js' id='bt-testimonials-widget-frontend-js'></script>
vendor: 1 bytes, line 1026
1026
1027<script type='text/javascript' src='https://bt-wpstatic.freetls.fastly.net/wp-content/themes/wp-base-theme/assets/js/build/manifest.46cd590d.min.js' id='bt_pt-manifest-js'></script>
vendor: 1 bytes, line 1027
1027
1028<script type='text/javascript' src='https://bt-wpstatic.freetls.fastly.net/wp-content/themes/wp-base-theme/assets/js/build/deps.5f3a1861.min.js' id='bt_pt-deps-js'></script>
vendor: 1 bytes, line 1028
1028
1029<script type='text/javascript' id='bt_pt-components-js-extra'>
1030/* <![CDATA[ */
1031var bt_data = {"listings":null,"account":{"Offices":[{"_ID":15742,"Name":"The Williams Group at Keller Williams Realty","MLS":"","Phone":"(205) 292-2108","Fax":"","Address1":"4412 HWY 69 N","Address2":"","City":"Northport","State":"al","PostalCode":"35473","Website":"","PhotoUrl":""}],"SocialSettings":[{"Name":"RSS","Url":"\/feed","TenantID":14833},{"Name":"Facebook","Url":"https:\/\/www.facebook.com\/thewilliamsgroupatkw\/","TenantID":14833},{"Name":"Instagram","Url":"https:\/\/www.instagram.com\/thewilliamsgroupal\/","TenantID":14833},{"Name":"Linkedin","Url":"https:\/\/www.linkedin.com\/company\/the-williams-group-at-keller-williams-realty","TenantID":14833}],"TimeZoneID":2,"Website":"thewilliamsgroupal.com","CompanyName":"The Williams Group at Keller Williams Realty","LegalName":"The Williams Group at Keller Williams Realty","OfficeMLS":"UserID=all","ServiceArea":"West Alabama, Greater Birmingham Area","EmailAddress":"[email protected]","WebPhoneNumber":"(205) 292-2108","PhoneNumber":"(205) 292-2108","FaxNumber":"","Street":"4412 HWY 69 N","City":"Northport","State":"al","ZipCode":"35473","CraigsListArea":"","GoogleCode":"google code","AdwordsConversion":"18132602924","AdwordsSignupLabel":"yo3MCKnu36UcEKygpsZD","AdwordsLeadLabel":"adwords lead label","GMapKey":"AIzaSyDkI4WEplhhwG1bR2HLTOCxQ1-UgRR82Sg","TagLine":"","SubTagLine":"","ThemeName":"Hawkeye","HomeImageUrl":"homepage.jpg","DefaultMapLat":33.253452,"DefaultMapLng":-87.56541,"DefaultMapZoom":11,"OnStageServer":false,"HideStreet":0,"GuestUnbranded":false,"QuickSearchField":"CustomArea","ShowListingAreaOnPS":true,"ShowCountyOnPS":true,"AgentExportLeads":false,"IsCustomMapPin":false,"IsDiscountBroker":false,"ShowOpenHouse":true,"EmailDomain":"thewilliamsgroupal.net","CancelDate":"0001-01-01T00:00:00","LaunchDate":"2026-04-29T00:00:00","CraigsListUseCityForCampaign":false,"RegisterNoAutoLender":false,"AdWordsProjected":0,"HomeGainProjected":0,"AllowListingComments":true,"AllowAgentComments":true,"CraigsListLinkBehaviorID":0,"ShowSchoolSearch":true,"ShowSchoolDistrictSearch":false,"AllowAutoEAlert":true,"AllowAgentEAlertOverride":true,"CustomScript":"","AllowLeadModifyEAlert":true,"AllowFBLogin":true,"ShowPriceHistory":true,"ZillowWidgetStatus":0,"ShowDripPlans":true,"ShowNeighborhoodSearch":true,"SuccessManagerID":0,"AssignedToSuccessManagerDate":"0001-01-01T00:00:00","UseInstantSearch":true,"Name":"The Williams Group at Keller Williams Realty","Alias":"TWGKWRByronAL","BoardID":316,"BoardIDs":[128,316],"PrimaryDomain":"thewilliamsgroupal.com","UseCityForLocation":false,"ShowAgentsOnSiteKey":0,"ShowAgentsOnSiteTypeID":0,"LeadDistributionID":0,"NetworkID":0,"MobileWebPhoneNumber":"(205) 292-2108","TenantID":14833,"AllowGoogleLogin":false,"GoogleClientID":"","RentalsOnly":false,"AllowCraigslist":true,"LimitCraigslist":false,"RegisterShowOwnership":false,"PrimaryContactID":342862,"RegisterShowAgentDDL":false,"ShowSellerLeadCaptureForm":true,"BingWebmasterCode":"D8D04684151FD367E65EE086C044BB13","ShowTopHoodsOnGuides":false,"NotifyBrokerAdminOnPublished":false,"CustomConversionScript":"","IsCanadian":false,"IsLiteCustomer":false,"RequireIDXApproval":false,"ShowPreferredLender":false,"IsMultiBoard":true,"HomeIntroHtml":"","HomeMetaDescription":"","HomeMetaKeywords":""},"specialRules":{"ShowSchoolInfo":true,"ShowSchoolDistrictInfo":true,"ShowDaysOld":true,"ShowMapDisclaimer":false,"ShowYearBuilt":true,"ShowYearBuiltInDetails":true,"ShowNeighborhoodInfo":true,"ShowStatus":true,"ShowMobile":true,"HideStatusOnListingDetails":false,"HideAgentFromRequest":false,"HideContactMention":false,"HideSashTag":[""],"ShowPublicRemarks":true,"ShowFeatures":true,"ShowNumUnits":true,"ShowAcresSQFT":true,"ShowSQFT":true,"DisplaySQFT":true,"ShowDaysListed":true,"ShowPriceReduced":true,"ShowPricePerSqFt":true,"ShowGarages":true,"HideRentals":false,"ShowStories":true,"ShowHalfBaths":true,"ShowActiveContingent":false,"HideForeclosure":false,"HideHomeSearchNowBanner":false,"HideShortsale":true,"ShowListingStatus":true,"ChangeSearchTitle":"MLS Home Search","ShowRemarks":true,"ShowICBM":false,"ShowRegisteredInfo":false,"HideMobileNumbers":false,"HideMarketTrends":false,"HideListingsLink":false,"HideLandingSellInfo":false,"HideCompanyAddress":false,"HideZillow":false,"CraigsListUsePostalCode":false,"ShowMostPopular":true,"CraigsListGoToPropDeets":false,"UseHoodlike":false,"HideLandingHoods":false,"ShowSqFtSource":false,"AddDecimalToCoordinates":false,"ShowOffMarketAddress":true,"FancyFeaturedHouses":false,"ShowAllLeadsOption":true,"AddDirections":false,"AddExtrasToRemarks":false,"DontUseMoreFolder":false,"MaxDeetsBeforeRegister":null,"UseSacramentoPricing":false,"RestrictMarketTrends":false,"FeaturedHousesByOffice":false,"MaxListingResults":0,"ShowPreviewOffice":true,"FeatureListDelimiter":",","UseRetsListingKeyForImport":false,"OverrideLenderSub":false,"ShowAverageTrends":true,"ShowSharing":true,"ShowFBLike":true,"ShowListingCountInBannerAndQuickSearch":true,"DistressedReplacementText":"Distressed","ClientIsCanadian":false,"BoardIsCanadian":false,"ShowForeclosureBanner":true,"UseMetersForAcreageConversions":false,"ShowAgentInMapResults":false,"HideBrandingOnFinancePage":false,"UseMasterEmailForSyndication":false,"LandingPageForMarketTrends":0,"ShowRegistrationFormOnFirstPropertyDetailVie
1031wForAdwords":true,"ShowRegistrationFormOnFirstPropertyDetailViewForAdcenter":false,"DisableSyndicationForBoard":true,"EnableSyndicationForTenant":false,"ListAgentEmailDelimiter":"","StripExtraApostrophesFromData":true,"DetailsListingCourtesyOfText":"Listing Courtesy Of","ShowCourtesyOfUnderPreviewImage":false,"FeaturedHomesWhereClause":"","HideVirtualTours":false,"AllowAdditionalCraigsListListings":false,"ShowCounty":true,"DownloadPhotosOneAtATime":false,"HideLotSize":false,"HideLocalPics":false,"MLSContentOnly":false,"ShowAcresSearch":true,"ShowHudSearchOption":false,"BypassCLRegForm":false,"ReplaceUnderContract":"Under Contract","UseSlashParsingForBedRooms":false,"PhotoSqueezeCount":null,"HideAgentFromPropDesc":false,"HideSponsoredLenderLanguage":false,"ShowIDXApproved":false,"ShowPreferredLender":false,"OptOutOfCASL":false,"IgnoreMalformedHeaders":false,"ShowPriceTypeOnListing":false,"ShowPending":true,"HideComingSoon":false,"IncreaseDisclaimerFontSize":false},"searchFields":[{"FieldID":1,"Group":"PropType","FieldName":"Single-Family Home","FieldValue":"SF","InQuickSearch":true,"ListingField":"","IsHidden":false},{"FieldID":2,"Group":"PropType","FieldName":"Condo","FieldValue":"C","InQuickSearch":true,"ListingField":"","IsHidden":false},{"FieldID":3,"Group":"PropType","FieldName":"Townhouse","FieldValue":"VT","InQuickSearch":true,"ListingField":"","IsHidden":false},{"FieldID":4,"Group":"PropType","FieldName":"Vacant Land \/ Lots","FieldValue":"VC","InQuickSearch":true,"ListingField":"","IsHidden":false},{"FieldID":5,"Group":"PropType","FieldName":"Manufactured Home","FieldValue":"M","InQuickSearch":true,"ListingField":"","IsHidden":false},{"FieldID":6,"Group":"PropType","FieldName":"Multi-Family","FieldValue":"MF","InQuickSearch":true,"ListingField":"","IsHidden":false},{"FieldID":7,"Group":"PropType","FieldName":"Commercial","FieldValue":"CM","InQuickSearch":true,"ListingField":"","IsHidden":false},{"FieldID":9,"Group":"PropType","FieldName":"Rentals","FieldValue":"RN","InQuickSearch":true,"ListingField":"","IsHidden":false},{"FieldID":10,"Group":"PropType","FieldName":"Farm","FieldValue":"FM","InQuickSearch":true,"ListingField":"","IsHidden":false},{"FieldID":11,"Group":"Feature","SubGroup":"Waterfront","FieldName":"Lake Front","FieldValue":"L","InQuickSearch":true,"ListingField":"IsLakefront","IsHidden":false},{"FieldID":12,"Group":"Feature","SubGroup":"Property Features","FieldName":"On Golf Course","FieldValue":"GC","InQuickSearch":true,"ListingField":"OnGolfCourse","IsHidden":false},{"FieldID":13,"Group":"Feature","SubGroup":"Community Features","FieldName":"Gated Community","FieldValue":"GT","InQuickSearch":true,"ListingField":"InGatedCommunity","IsHidden":false},{"FieldID":14,"Group":"Feature","SubGroup":"Waterfront","FieldName":"Waterfront","FieldValue":"W","InQuickSearch":true,"ListingField":"IsWaterfront","IsHidden":false},{"FieldID":18,"Group":"Feature","SubGroup":"Property Features","FieldName":"New Construction","FieldValue":"N","InQuickSearch":true,"ListingField":"IsNewHome","IsHidden":false},{"FieldID":19,"Group":"Feature","SubGroup":"Property Features","FieldName":"Historic Property","FieldValue":"H","InQuickSearch":true,"ListingField":"IsHistoric","IsHidden":false},{"FieldID":20,"Group":"Feature","SubGroup":"Exterior Features","FieldName":"Garage","FieldValue":"GR","InQuickSearch":true,"ListingField":"HasGarage","IsHidden":false},{"FieldID":21,"Group":"Feature","SubGroup":"Exterior Features","FieldName":"Pool","FieldValue":"P","InQuickSearch":true,"ListingField":"HasPool","IsHidden":false},{"FieldID":22,"Group":"Feature","SubGroup":"Interior Features","FieldName":"Fireplace","FieldValue":"F","InQuickSearch":true,"ListingField":"HasFireplace","IsHidden":false},{"FieldID":26,"Group":"Feature","SubGroup":"Title Status","FieldName":"Foreclosure or Bank-owned","FieldValue":"BO","InQuickSearch":false,"ListingField":"IsBankOwned","IsHidden":false},{"FieldID":27,"Group":"Feature","FieldName":"Open House","FieldValue":"OH","InQuickSearch":false,"ListingField":"HasOpenHouse","IsHidden":false},{"FieldID":29,"Group":"Feature","SubGroup":"Waterfront","FieldName":"River Front","FieldValue":"R","InQuickSearch":true,"ListingField":"IsRiverfront","IsHidden":false},{"FieldID":33,"Group":"Feature","SubGroup":"Community Features","FieldName":"Horse Property","FieldValue":"HP","InQuickSearch":true,"ListingField":"IsHorse","IsHidden":false},{"FieldID":111,"Group":"Feature","SubGroup":"Waterfront","FieldName":"Creek Front","FieldValue":"ICF","InQuickSearch":false,"ListingField":"IsCreekFront","IsHidden":false},{"FieldID":132,"Group":"Feature","SubGroup":"Property Features","FieldName":"Cul-De-Sac","FieldValue":"ICDS","InQuickSearch":false,"ListingField":"InCulDeSac","IsHidden":false},{"FieldID":134,"Group":"Feature","SubGroup":"Exterior Features","FieldName":"Carport","FieldValue":"HCARP","InQuickSearch":false,"ListingField":"HasCarport","IsHidden":false},{"FieldID":136,"Group":"Feature","SubGroup":"Exterior Features","FieldName":"Fenced Yard","FieldValue":"ISFENCE","InQuickSearch":false,"ListingField":"IsFenced","IsHidden":false},{"FieldID":137,"Group":"Feature","SubGroup":"Exterior Features","FieldName":"Pool - Below Ground","FieldValue":"HPIGP","InQuickSearch":false,"ListingField":"HasPrivateInGroundPool","IsHidden":false},{"FieldID":138,"Group":"Feature","SubGroup":"Exterior Features","FieldName":"Pool - Above Ground","FieldValue":"HPAGP","InQuickSearch":false,"ListingField":"HasPrivateAboveGroundPool","IsHidden":false},{"FieldID":139,"Group":"Feature","SubGroup":"Community Features","FieldName":"Community Pool","FieldValue":"HCPOOL","InQuickSearch":false,"ListingField":"HasCommunityPool","IsHidden":false},{"FieldID":140,"Group":"Feature","SubGroup":"Interior Features","FieldName":"Basement","FieldValue":"HBASE","InQuickSearch":false,"ListingField":"HasBasement","IsHidden":false},{"FieldID":141,"Group":"Feature","SubGroup":"Interior Features","FieldName":"Basement - Finis
1031hed","FieldValue":"HFBASE","InQuickSearch":false,"ListingField":"HasFinishedBasement","IsHidden":false},{"FieldID":142,"Group":"Feature","SubGroup":"Interior Features","FieldName":"Basement - Unfinished","FieldValue":"HUFBASE","InQuickSearch":false,"ListingField":"HasUnfinishedBasement","IsHidden":false},{"FieldID":145,"Group":"Feature","SubGroup":"Exterior Features","FieldName":"Dock","FieldValue":"HDOCK","InQuickSearch":false,"ListingField":"HasDock","IsHidden":false},{"FieldID":146,"Group":"Feature","SubGroup":"Style","FieldName":"Ranch \/ One Story","FieldValue":"ISS","InQuickSearch":false,"ListingField":"IsSingleStory","IsHidden":false},{"FieldID":147,"Group":"PropType","FieldName":"Commercial-Lease","FieldValue":"CL","InQuickSearch":true,"ListingField":"","IsHidden":false},{"FieldID":151,"Group":"Feature","SubGroup":"Interior Features","FieldName":"Basement - Partially Finished","FieldValue":"HPFB","InQuickSearch":false,"ListingField":"HasPartiallyFinishedBasement","IsHidden":false},{"FieldID":153,"Group":"Feature","SubGroup":"Exterior Features","FieldName":"Parking - RV \/ Boat","FieldValue":"HBP","InQuickSearch":false,"ListingField":"HasBoatParking","IsHidden":false},{"FieldID":155,"Group":"Feature","SubGroup":"Exterior Features","FieldName":"Storage Buildings","FieldValue":"HSB","InQuickSearch":false,"ListingField":"HasStorageBuildings","IsHidden":false},{"FieldID":158,"Group":"Feature","SubGroup":"Community Features","FieldName":"Has HOA","FieldValue":"HOA","InQuickSearch":false,"ListingField":"HasHOA","IsHidden":false},{"FieldID":164,"Group":"Feature","SubGroup":"Interior Features","FieldName":"Hardwood Floors","FieldValue":"HHF","InQuickSearch":false,"ListingField":"HasHardwoodFloors","IsHidden":false},{"FieldID":196,"Group":"Feature","SubGroup":"Not Title Status","FieldName":"NOT Foreclosure or Bank-owned","FieldValue":"NBO","InQuickSearch":false,"ListingField":"IsBankOwned","IsHidden":false},{"FieldID":198,"Group":"PropType","FieldName":"Patio Home","FieldValue":"PH","InQuickSearch":true,"ListingField":"","IsHidden":false},{"FieldID":201,"Group":"Feature","SubGroup":"Financing","FieldName":"VA Loan","FieldValue":"VA","InQuickSearch":false,"ListingField":"IsVAHome","IsHidden":false},{"FieldID":207,"Group":"Feature","SubGroup":"Community Features","FieldName":"No HOA","FieldValue":"NHOA","InQuickSearch":false,"ListingField":"IsNotHOA","IsHidden":false},{"FieldID":209,"Group":"Feature","SubGroup":"Financing","FieldName":"FHA Loan","FieldValue":"IFHA","InQuickSearch":false,"ListingField":"IsFHA","IsHidden":false},{"FieldID":211,"Group":"Feature","SubGroup":"Exterior Features","FieldName":"Garage - Attached","FieldValue":"HAG","InQuickSearch":false,"ListingField":"HasAttachedGarage","IsHidden":false},{"FieldID":212,"Group":"Feature","SubGroup":"Exterior Features","FieldName":"Garage - Detached","FieldValue":"HDC","InQuickSearch":false,"ListingField":"HasDetachedGarage","IsHidden":false},{"FieldID":217,"Group":"Feature","SubGroup":"Property Features","FieldName":"Public Water","FieldValue":"IPW","InQuickSearch":false,"ListingField":"IsPublicWater","IsHidden":false},{"FieldID":218,"Group":"Feature","SubGroup":"Property Features","FieldName":"Sewer","FieldValue":"IS","InQuickSearch":false,"ListingField":"IsSewer","IsHidden":false},{"FieldID":220,"Group":"Feature","SubGroup":"Property Features","FieldName":"Septic","FieldValue":"ISP","InQuickSearch":false,"ListingField":"IsSeptic","IsHidden":false},{"FieldID":223,"Group":"Feature","SubGroup":"Interior Features","FieldName":"Wet Bar","FieldValue":"HWB","InQuickSearch":false,"ListingField":"HasWetBar","IsHidden":false},{"FieldID":224,"Group":"Feature","SubGroup":"Interior Features","FieldName":"Walk-In Closet","FieldValue":"HWIC","InQuickSearch":false,"ListingField":"HasWalkInCloset","IsHidden":false},{"FieldID":226,"Group":"Feature","SubGroup":"Exterior Features","FieldName":"Sprinkler System","FieldValue":"HSS","InQuickSearch":false,"ListingField":"HasSprinklerSystem","IsHidden":false},{"FieldID":227,"Group":"Feature","SubGroup":"Exterior Features","FieldName":"Deck","FieldValue":"HD","InQuickSearch":false,"ListingField":"HasDeck","IsHidden":false},{"FieldID":228,"Group":"Feature","SubGroup":"Exterior Features","FieldName":"Patio","FieldValue":"HPTO","InQuickSearch":false,"ListingField":"HasPatio","IsHidden":false},{"FieldID":230,"Group":"Feature","SubGroup":"Property Features","FieldName":"Corner Lot","FieldValue":"ICL","InQuickSearch":false,"ListingField":"IsCornerLot","IsHidden":false},{"FieldID":231,"Group":"Feature","SubGroup":"Community Features","FieldName":"Community Playground","FieldValue":"HCPG","InQuickSearch":false,"ListingField":"HasCommunityPlayground","IsHidden":false},{"FieldID":233,"Group":"Feature","SubGroup":"Property Features","FieldName":"Pets Allowed","FieldValue":"IPA","InQuickSearch":false,"ListingField":"IsPetsAllowed","IsHidden":false},{"FieldID":237,"Group":"Feature","SubGroup":"Exterior Features","FieldName":"No Pool","FieldValue":"HNP","InQuickSearch":false,"ListingField":"HasNoPool","IsHidden":false},{"FieldID":241,"Group":"Feature","SubGroup":"Interior Features","FieldName":"Central Air Conditioning","FieldValue":"HCA","InQuickSearch":false,"ListingField":"HasCentralAir","IsHidden":false},{"FieldID":266,"Group":"Feature","SubGroup":"Financing","FieldName":"Conventional Financing","FieldValue":"CNF","InQuickSearch":false,"ListingField":"IsConventional","IsHidden":false},{"FieldID":269,"Group":"Feature","SubGroup":"Financing","FieldName":"Trade\/Exchange","FieldValue":"TE","InQuickSearch":false,"ListingField":"IsTradeExchange","IsHidden":false},{"FieldID":279,"Group":"Feature","SubGroup":"Style","FieldName":"1.5 Story","FieldValue":"OHS","InQuickSearch":false,"ListingField":"IsOneAndHalfStory","IsHidden":false},{"FieldID":282,"Group":"Feature","SubGroup":"Style","FieldName":"Two Story","FieldValue":"TS","InQuickSearch":false,"ListingField":"IsTwoStory","IsHidden":false},{"FieldID":293,"Group":"Feature","SubGroup":"Community Features","FieldName":"Community Dock","FieldValue":"CD","InQuickSearch":false,"ListingField":"HasCommonDock","IsHidden":false},{"FieldID":294,"Group":"Feature","SubGroup":"Community Features","FieldName":"Tennis Community","FieldValue":"TC","InQuickSearch":false,"ListingField":"InTennisCommunity","IsHidden":false},{"FieldID":299,"Group":"Feature","SubGroup":"Exterior Features","FieldName":"Brick","FieldValue":"BRC","InQuickSearch":false,"ListingField":"IsBrick","IsHidden":false},{"FieldID":305,"Group":"Feature","SubGroup":"Exterior Features","FieldName":"Block Construction","FieldValue":"IBC","InQuickSearch":false,"ListingField":"IsBlock","IsHidden":false},{"FieldID":307,"Group":"Feature","SubGroup":"Interior Features","FieldName":"Elevator","FieldValue":"HE","InQuickSearch":false,"ListingField":"HasElevator","IsHidden":false},{"FieldID":308,"Group":"Feature","SubGroup":"Waterfront","FieldName":"Not Waterfront","FieldValue":"NWF","InQuickSearch":false,"ListingField":"IsNotWaterfront","IsHidden":false},{"FieldID":317,"Group":"Feature","SubGroup":"Interior Features","FieldName":"Heat - Gas","FieldValue":"HEATG","InQuickSearch":false,"ListingField":"IsGasHeat","IsHidden":false},{"FieldID":318,"Group":"Feature","SubGroup":"Interior Features","FieldName":"Heat - Electric","FieldValue":"HEATE","InQuickSearch":false,"ListingField":"IsElectricHeat","IsHidden":false},{"FieldID":323,"Group":"Feature","SubGroup":"Financing","FieldName":"Cash","FieldValue":"CASH","InQuickSearch":false,"ListingField":"IsCash","IsHidden":false},{"FieldID":325,"Group":"Feature","SubGroup":"Exterior Features","FieldName":"Balcony","FieldValue":"BALC","InQuickSearch":false,"ListingField":"HasBalcony","IsHidden":false},{"FieldID":327,"Group":"Feature","SubGroup":"Interior Features","FieldName":"Cathedral Ceiling","FieldValue":"CATH","InQuickSearch":false,"ListingField":"HasCathedralCeilling","IsHidden":false},{"FieldID":341,"Group":"Feature","SubGroup":"Interior Features","FieldName":"Pantry","FieldValue":"PNTRY","InQuickSearch":false,"ListingField":"HasPantry","IsHidden":false},{"FieldID":342,"Group":"Feature","SubGroup":"Exterior Features","FieldName":"Porch","FieldValue":"PRCH","InQuickSearch":false,"ListingField":"HasPorch","IsHidden":false},{"FieldID":348,"Group":"Feature","SubGroup":"Exterior Features","FieldName":"Guest House","FieldValue":"GHOUS","InQuickSearch":false,"ListingField":"HasGuestHouse","IsHidden":false},{"FieldID":355,"Group":"Feature","SubGroup":"Exterior Features","FieldName":"Workshop","FieldValue":"WKSHP","InQuickSearch":false,"ListingField":"HasWorkshop","IsHidden":false},{"FieldID":356,"Group":"Feature","SubGroup":"Financing","FieldName":"USDA","FieldValue":"USDAF","InQuickSearch":false,"ListingField":"IsUSDA","IsHidden":false},{"FieldID":361,"Group":"Feature","SubGroup":"Interior Features","FieldName":"Main Floor Laundry","FieldValue":"MFL","InQuickSearch":false,"ListingField":"HasMainFloorLaundry","IsHidden":false},{"FieldID":367,"Group":"Feature","SubGroup":"Property Features","FieldName":"Lot Level To Street","FieldValue":"LVL","InQuickSearch":false,"ListingField":"IsLotLevelToStreet","IsHidden":false},{"FieldID":368,"Group":"Feature","SubGroup":"Property Features","FieldName":"Propane Utilities","FieldValue":"PU","InQuickSearch":false,"ListingField":"IsPropane","IsHidden":false},{"FieldID":379,"Group":"Feature","SubGroup":"Style","FieldName":"Split Level","FieldValue":"SL","InQuickSearch":false,"ListingField":"IsSplitLevel","IsHidden":false},{"FieldID":383,"Group":"Feature","SubGroup":"Style","FieldName":"Duplex","FieldValue":"DUP","InQuickSearch":false,"ListingField":"IsDuplex","IsHidden":false},{"FieldID":390,"Group":"Feature","SubGroup":"Exterior Features","FieldName":"Stucco","FieldValue":"STUC","InQuickSearch":false,"ListingField":"IsStucco","IsHidden":false},{"FieldID":1297,"Group":"Feature","SubGroup":"Style","FieldName":"Triplex","FieldValue":"TRI","InQuickSearch":false,"ListingField":"IsTriplex","IsHidden":false},{"FieldID":1301,"Group":"Feature","SubGroup":"Exterior Features","FieldName":"Barn","FieldValue":"HB","InQuickSearch":false,"ListingField":"HasBarn","IsHidden":false},{"FieldID":1304,"Group":"Feature","SubGroup":"Interior Features","FieldName":"Basement - Full","FieldValue":"FB","InQuickSearch":false,"ListingField":"IsFullBasement","IsHidden":false},{"FieldID":2343,"Group":"Feature","SubGroup":"Property Features","FieldName":"Storm Shelter","FieldValue":"STORM","InQuickSearch":false,"ListingField":"HasStormShelter","IsHidden":false}],"searchFieldsCondensed":{"expandedproptypes":{"SF":{"key":"SF","DDName":"Homes (Single Family)","TagName":"Homes","last":false},"C":{"key":"C","DDName":"Condos","TagName":"Condos","last":false},"VT":{"key":"VT","DDName":"Townhouses","TagName":"Townhouses","last":false},"VC":{"key":"VC","DDName":"Land & Lots","TagName":"Land & Lots","last":false},"M":{"key":"M","DDName":"Manufactured Home","TagName":"Manufactured Home","last":false},"MF":{"key":"MF","DDName":"Multi-Family","TagName":"Multi-Family","last":false},"CM":{"key":"CM","DDName":"Commercial","TagName":"Commercial","last":false},"RN":{"key":"RN","DDName":"Rentals","TagName":"Rentals","last":false},"FM":{"key":"FM","DDName":"Farm","TagName":"Farm","last":false},"CL":{"key":"CL","DDName":"Commercial-Lease","TagName":"Commercial-Lease","last":false},"PH":{"key":"PH","DDName":"Patio Home","TagName":"Patio Home","last":true}},"features":{"Community Features":{"Community Dock":"CD","Community Playground":"HCPG","Community Pool":"HCPOOL","Gated Community":"GT","Has HOA":"HOA","Horse Property":"HP","No HOA":"NHOA","Tennis Community":"TC"},"Property Features":{"Corner Lot":"ICL","Cul-De-Sac":"ICDS","Historic Property":"H","Lot Level To Street":"LVL","New Construction":"N","On Golf Course":"GC","Pets Allowed":"IPA","Propane Utilities":"PU","Public Water":"IPW","Septic":"ISP","Sewer":"IS","Storm Shelter":"STORM"},"Waterfront":{"Creek Front":"ICF","Lake Front":"L","Not Waterfront":"NWF","River Front":"R","Waterfront":"W"},"Exterior Features":{"Balcony":"BALC","Barn":"HB","Block Construction":"IBC","Brick":"BRC","Carport":"HCARP","Deck":"HD","Dock":"HDOCK","Fenced Yard":"ISFENCE","Garage":"GR","Garage - Attached":"HAG","Garage - Detached":"HDC","Guest House":"GHOUS","No Pool":"HNP","Parking - RV \/ Boat":"HBP","Patio":"HPTO","Pool":"P","Pool - Above Ground":"HPAGP","Pool - Below Ground":"HPIGP","Porch":"PRCH","Sprinkler System":"HSS","Storage Buildings":"HSB","Stucco":"STUC","Workshop":"WKSHP"}
1031,"Interior Features":{"Basement":"HBASE","Basement - Finished":"HFBASE","Basement - Full":"FB","Basement - Partially Finished":"HPFB","Basement - Unfinished":"HUFBASE","Cathedral Ceiling":"CATH","Central Air Conditioning":"HCA","Elevator":"HE","Fireplace":"F","Hardwood Floors":"HHF","Heat - Electric":"HEATE","Heat - Gas":"HEATG","Main Floor Laundry":"MFL","Pantry":"PNTRY","Walk-In Closet":"HWIC","Wet Bar":"HWB"},"Style":{"1.5 Story":"OHS","Duplex":"DUP","Ranch \/ One Story":"ISS","Split Level":"SL","Triplex":"TRI","Two Story":"TS"},"Financing":{"Cash":"CASH","Conventional Financing":"CNF","FHA Loan":"IFHA","Trade\/Exchange":"TE","USDA":"USDAF","VA Loan":"VA"},"popular":{"Waterfront":"W","New Construction":"N","Garage":"GR","Pool":"P","Fireplace":"F","Basement":"HBASE"}},"locations":[{"Value":204947,"Name":"Birmingham"},{"Value":204948,"Name":"Coker"},{"Value":204949,"Name":"Cottondale"},{"Value":204950,"Name":"Homewood"},{"Value":205059,"Name":"Hoover"},{"Value":204951,"Name":"McCalla"},{"Value":204952,"Name":"Mountain Brook"},{"Value":204954,"Name":"Northport"},{"Value":204955,"Name":"Tuscaloosa"},{"Value":204956,"Name":"Vestavia Hills"}],"year":[2027,2026,2025,2024,2023,2022,2021,2020,2019,2018,2017,2016,2015,2014,2013,2012,2011,2010,2009,2008,2007,2006,2005,2000,1995,1990,1980,1970,1960,1950,1940,1930,1920,1900,1850,1800,1750]},"menuItems":[{"id":7,"url":"\/","title":"Home","parent":0},{"id":9,"url":"\/agents\/","title":"Meet the Team","parent":0},{"id":8,"url":"\/results\/","title":"Search","parent":0},{"id":11,"url":"\/results-gallery\/?userID=all","title":"Our Listings","parent":8},{"id":10,"url":"\/results-map\/","title":"Map Search","parent":8},{"id":12,"url":"\/buy\/","title":"Buyer Guides","parent":0},{"id":103,"url":"https:\/\/www.thewilliamsgroupal.com\/first-time-home-buyers\/","title":"Buying Your First Home","parent":12},{"id":157,"url":"https:\/\/www.thewilliamsgroupal.com\/buying-selling-together\/","title":"Buying &#038; Selling Together","parent":12},{"id":184,"url":"https:\/\/www.thewilliamsgroupal.com\/veteran-va-home-buyers\/","title":"Veteran (VA) Home Buyers","parent":12},{"id":163,"url":"https:\/\/www.thewilliamsgroupal.com\/investment-property-buyers\/","title":"Investment Property Buyers","parent":12},{"id":136,"url":"https:\/\/www.thewilliamsgroupal.com\/relocating-to-alabama\/","title":"Relocating to Alabama","parent":12},{"id":466,"url":"https:\/\/www.thewilliamsgroupal.com\/short-term-rentals\/","title":"Short-Term Rentals","parent":12},{"id":467,"url":"https:\/\/www.thewilliamsgroupal.com\/new-construction-homes\/","title":"New Construction Homes","parent":12},{"id":650,"url":"https:\/\/www.thewilliamsgroupal.com\/ua-parent-buyers\/","title":"University of Alabama Parents - Condo Buyer Guide","parent":12},{"id":14,"url":"\/sell\/","title":"Seller Guides","parent":0},{"id":147,"url":"https:\/\/www.thewilliamsgroupal.com\/selling-during-divorce\/","title":"Selling During a Divorce","parent":14},{"id":153,"url":"https:\/\/www.thewilliamsgroupal.com\/downsizing-sellers\/","title":"Downsizing Sellers","parent":14},{"id":213,"url":"https:\/\/www.thewilliamsgroupal.com\/need-to-sell-fast-facing-foreclosure\/","title":"Need to Sell Fast\/Facing Foreclosure","parent":14},{"id":214,"url":"https:\/\/www.thewilliamsgroupal.com\/land-lot-sellers\/","title":"Land &#038; Lot Sellers","parent":14},{"id":15,"url":"\/sell\/","title":"Sell Your Home","parent":14},{"id":142,"url":"https:\/\/www.thewilliamsgroupal.com\/selling-an-inherited-home\/","title":"Selling an Inherited Home","parent":14},{"id":19,"url":"\/guides\/","title":"City Guides","parent":0},{"id":296,"url":"https:\/\/www.thewilliamsgroupal.com\/guides\/","title":"All Guides","parent":19},{"id":171,"url":"https:\/\/www.thewilliamsgroupal.com\/guide\/birmingham\/","title":"Birmingham","parent":19},{"id":166,"url":"https:\/\/www.thewilliamsgroupal.com\/guide\/northport\/","title":"Northport","parent":19},{"id":167,"url":"https:\/\/www.thewilliamsgroupal.com\/guide\/tuscaloosa\/","title":"Tuscaloosa","parent":19},{"id":168,"url":"https:\/\/www.thewilliamsgroupal.com\/guide\/cottondale\/","title":"Cottondale","parent":19},{"id":173,"url":"https:\/\/www.thewilliamsgroupal.com\/guide\/homewood\/","title":"Homewood","parent":19},{"id":169,"url":"https:\/\/www.thewilliamsgroupal.com\/guide\/coker\/","title":"Coker","parent":19},{"id":172,"url":"https:\/\/www.thewilliamsgroupal.com\/guide\/vestavia-hills\/","title":"Vestavia Hills","parent":19},{"id":174,"url":"https:\/\/www.thewilliamsgroupal.com\/guide\/mountain-brook\/","title":"Mountain Brook","parent":19},{"id":175,"url":"https:\/\/www.thewilliamsgroupal.com\/guide\/hoover\/","title":"Hoover","parent":19},{"id":170,"url":"https:\/\/www.thewilliamsgroupal.com\/guide\/mccalla\/","title":"McCalla","parent":19},{"id":295,"url":"https:\/\/www.thewilliamsgroupal.com\/guide\/trussville\/","title":"Trussville","parent":19},{"id":309,"url":"https:\/\/www.thewilliamsgroupal.com\/guide\/helena\/","title":"Helena","parent":19},{"id":310,"url":"https:\/\/www.thewilliamsgroupal.com\/guide\/pelham\/","title":"Pelham","parent":19},{"id":314,"url":"https:\/\/www.thewilliamsgroupal.com\/guide\/alabaster\/","title":"Alabaster","parent":19},{"id":308,"url":"https:\/\/www.thewilliamsgroupal.com\/guide\/chelsea\/","title":"Chelsea","parent":19},{"id":1076,"url":"https:\/\/www.thewilliamsgroupal.com\/next-chapter\/","title":"Next Chapter","parent":0},{"id":1081,"url":"https:\/\/www.thewilliamsgroupal.com\/next-chapter\/","title":"Your Next Chapter Starts Here","parent":1076},{"id":1553,"url":"https:\/\/www.thewilliamsgroupal.com\/relocating-to-alabama\/","title":"Relocating to Alabama","parent":1076},{"id":1552,"url":"https:\/\/www.thewilliamsgroupal.com\/moving-to-tuscaloosa\/","title":"Moving to Tuscaloosa","parent":1076},{"id":1551,"url":"https:\/\/www.thewilliamsgroupal.com\/moving-to-northport\/","title":"Moving to Northport","parent":1076},{"id":1547,"url":"https:\/\/www.thewilliamsgroupal.com\/moving-to-birmingham\/","title":"Moving to Birmingham","parent":1076},{"id":1550,"url":"https:\/\/www.thewilliamsgroupal.com\/moving-to-hoover\/","title":"Moving to Hoover","parent":1076},{"id":1549,"url":"https:\/\/www.thewilliamsgroupal.com\/moving-to-homewood\/","title":"Moving to Homewood","parent":1076},{"id":1548,"url":"https:\/\/www.thewilliamsgroupal.com\/moving-to-vestavia-hills\/","title":"Moving to Vestavia Hills","parent":1076},{"id":17,"url":"\/resources\/","title":"Resources","parent":0},{"id":18,"url":"\/blog\/","title":"TWG Blog","parent":17},{"id":13,"url":"\/finance\/","title":"Financing","parent":17},{"id":20,"url":"\/resources\/","title":"Additional Resources","parent":17},{"id":1772,"url":"https:\/\/www.thewilliamsgroupal.com\/in-the-media\/","title":"In the Media","parent":17}]};
1032/* ]]> */
1033</script>
vendor: 1 bytes, line 1033
1033
1034<script type='text/javascript' src='https://bt-wpstatic.freetls.fastly.net/wp-content/themes/wp-base-theme/assets/js/build/components.36ad7330.min.js' id='bt_pt-components-js'></script>
vendor: 1 bytes, line 1034
1034
1035<script type='text/javascript' src='https://bt-wpstatic.freetls.fastly.net/wp-includes/js/dist/hooks.min.js' id='wp-hooks-js'></script>
vendor: 1 bytes, line 1035
1035
1036<script type='text/javascript' src='https://bt-wpstatic.freetls.fastly.net/wp-includes/js/dist/deprecated.min.js' id='wp-deprecated-js'></script>
vendor: 1 bytes, line 1036
1036
1037<script type='text/javascript' src='https://bt-wpstatic.freetls.fastly.net/wp-includes/js/dist/dom.min.js' id='wp-dom-js'></script>
vendor: 1 bytes, line 1037
1037
1038<script type='text/javascript' src='https://bt-wpstatic.freetls.fastly.net/wp-includes/js/dist/is-shallow-equal.min.js' id='wp-is-shallow-equal-js'></script>
vendor: 1 bytes, line 1038
1038
1039<script type='text/javascript' src='https://bt-wpstatic.freetls.fastly.net/wp-includes/js/dist/i18n.min.js' id='wp-i18n-js'></script>
vendor: 1 bytes, line 1039
1039
1040<script type='text/javascript' id='wp-i18n-js-after'>
1041wp.i18n.setLocaleData( { 'text direction\u0004ltr': [ 'ltr' ] } );
1042</script>
vendor: 1 bytes, line 1042
1042
1043<script type='text/javascript' id='wp-keycodes-js-translations'>
1044( function( domain, translations ) {
1045	var localeData = translations.locale_data[ domain ] || translations.locale_data.messages;
1046	localeData[""].domain = domain;
1047	wp.i18n.setLocaleData( localeData, domain );
1048} )( "default", { "locale_data": { "messages": { "": {} } } } );
1049</script>
vendor: 1 bytes, line 1049
1049
1050<script type='text/javascript' src='https://bt-wpstatic.freetls.fastly.net/wp-includes/js/dist/keycodes.min.js' id='wp-keycodes-js'></script>
vendor: 1 bytes, line 1050
1050
1051<script type='text/javascript' src='https://bt-wpstatic.freetls.fastly.net/wp-includes/js/dist/priority-queue.min.js' id='wp-priority-queue-js'></script>
vendor: 1 bytes, line 1051
1051
1052<script type='text/javascript' src='https://bt-wpstatic.freetls.fastly.net/wp-includes/js/dist/compose.min.js' id='wp-compose-js'></script>
vendor: 1 bytes, line 1052
1052
1053<script type='text/javascript' src='https://bt-wpstatic.freetls.fastly.net/wp-includes/js/dist/redux-routine.min.js' id='wp-redux-routine-js'></script>
vendor: 1 bytes, line 1053
1053
1054<script type='text/javascript' src='https://bt-wpstatic.freetls.fastly.net/wp-includes/js/dist/data.min.js' id='wp-data-js'></script>
vendor: 1 bytes, line 1054
1054
1055<script type='text/javascript' id='wp-data-js-after'>
1056( function() {
1057	var userId = 0;
1058	var storageKey = "WP_DATA_USER_" + userId;
1059	wp.data
1060		.use( wp.data.plugins.persistence, { storageKey: storageKey } );
1061	wp.data.plugins.persistence.__unstableMigrate( { storageKey: storageKey } );
1062} )();
1063</script>
vendor: 1 bytes, line 1063
1063
1064<script type='text/javascript' id='bt-block-editor-forms-frontend-scripts-js-before'>
1065window.currentPostID = 1829;
1066</script>
vendor: 1 bytes, line 1066
1066
1067<script type='text/javascript' src='https://www.thewilliamsgroupal.com/wp-content/build/plugins/bt-block-editor-forms.frontend.7803f122.min.js' id='bt-block-editor-forms-frontend-scripts-js'></script>
1067
1068    
1068<script type="text/javascript">window.NREUM||(NREUM={});NREUM.info={"beacon":"bam.nr-data.net","licenseKey":"NRBR-ef6a1ade564393667ce","applicationID":"15738311","transactionName":"ZlUBbRBSXUNSAhVQV18fIloWWlxeHAgPXV1J","queueTime":0,"applicationTime":270,"atts":"ShIWG1hIThwRAEMDQ0xN","errorBeacon":"bam.nr-data.net","agent":""}</script>
1068</body>
1069</html>

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.