        /* RealtyAds action tracking (clicks, scroll depth, time-on-page). Fully
           isolated + fail-safe: any error is swallowed and can never affect the
           host page. Listeners are read-only (never preventDefault/stopPropagation)
           and scroll is passive; nothing here blocks navigation or the page-view POST. */
        try{ (function(){
            if(window.__raEvents){ return; }
            var RA = { token:'', buf:[], MAX:50, ACC:"13486", EP:"https://realtyads.com/px/?method=log_events", maxScroll:0, ms25:0, ms50:0, ms75:0, ms100:0, t0:Date.now(), activeMs:0, visStart:0, lastAct:Date.now(), IDLE:60000 };
            window.__raEvents = RA;
            try{ RA.visStart = (document.visibilityState === 'visible') ? Date.now() : 0; }catch(e){ RA.visStart = Date.now(); }
            try{ RA.token = (window.crypto && crypto.randomUUID) ? crypto.randomUUID() : ('ra-'+Date.now().toString(36)+'-'+Math.random().toString(36).slice(2,10)); }catch(e){ RA.token = 'ra-'+Date.now().toString(36); }
            function raVis(){ try{ var m = document.cookie.match(new RegExp('(?:^|; )ra_'+RA.ACC+'_ses=([^;]*)')); return m ? decodeURIComponent(m[1]) : ''; }catch(e){ return ''; } }
            function raFlush(){ try{
                if(!RA.buf.length){ return; }
                var b = RA.buf.splice(0, RA.buf.length);
                var p = JSON.stringify({ account_id:RA.ACC, visitor_id:raVis(), pv_token:RA.token, events:b });
                // Cross-origin, fire-and-forget. Keep it a CORS "simple" request:
                // no JSON content-type (avoids a preflight) and no credentials
                // (a credentialed request can't be authorized by the collector's
                // wildcard Access-Control-Allow-Origin). The collector reads the
                // raw request body, so content-type is irrelevant server-side.
                var sent = false;
                try{ if(window.fetch){ fetch(RA.EP, { method:'POST', body:p, mode:'no-cors', credentials:'omit', keepalive:true }); sent = true; } }catch(e){}
                if(!sent){ try{ if(navigator.sendBeacon){ sent = navigator.sendBeacon(RA.EP, new Blob([p], {type:'text/plain;charset=UTF-8'})); } }catch(e){} }
                if(!sent){ try{ var x=new XMLHttpRequest(); x.open('POST', RA.EP, true); x.send(p); }catch(e){} }
            }catch(e){} }
            RA.flush = raFlush;
            function raDesc(el){ var d={selector:'',text:'',href:''}; try{
                var n = el;
                for(var i=0; i<4 && n && n!==document.body; i++){ var tg=(n.tagName||'').toUpperCase(); if(tg==='A'||tg==='BUTTON'||(n.getAttribute && n.getAttribute('role')==='button')){ break; } n = n.parentElement; }
                if(!n || n.nodeType!==1){ n = el; }
                var t=(n.tagName||'').toLowerCase(), id=n.id?('#'+n.id):'', cl='';
                try{ if(typeof n.className==='string' && n.className.trim()){ cl='.'+n.className.trim().split(/\s+/).slice(0,2).join('.'); } }catch(e){}
                d.selector = (t+id+cl).slice(0,255);
                try{ d.text = ((n.innerText||n.textContent||'').replace(/\s+/g,' ').trim()).slice(0,120); }catch(e){}
                try{ if((n.tagName||'')==='A' && n.href){ d.href = (''+n.href).slice(0,500); } }catch(e){}
            }catch(e){} return d; }
            function raOutbound(h){ try{ if(!h){ return false; } var a=document.createElement('a'); a.href=h; return !!a.host && a.host!==location.host; }catch(e){ return false; } }
            function raOnClick(ev){ try{
                raTouch();
                var d = raDesc(ev.target);
                RA.buf.push({ type: raOutbound(d.href)?'outbound_click':'click', ts: Date.now(), value:0, selector:d.selector, text:d.text, href:d.href });
                if(RA.buf.length >= RA.MAX){ raFlush(); }
            }catch(e){} }
            // Scroll depth: track the deepest % reached and emit discrete milestones
            // (25/50/75/100) once each as the visitor actually scrolls past them.
            function raScrollPct(){ try{
                var d = document.documentElement, b = document.body;
                var top = window.pageYOffset || d.scrollTop || (b && b.scrollTop) || 0;
                var winH = window.innerHeight || d.clientHeight || 0;
                var docH = Math.max(b?b.scrollHeight:0, d.scrollHeight||0, b?b.offsetHeight:0, d.offsetHeight||0, d.clientHeight||0);
                var scrollable = docH - winH;
                if(scrollable <= 0){ return 100; }
                var pct = Math.round((top / scrollable) * 100);
                return pct < 0 ? 0 : (pct > 100 ? 100 : pct);
            }catch(e){ return 0; } }
            function raOnScroll(){ try{
                raTouch();
                var pct = raScrollPct();
                if(pct > RA.maxScroll){ RA.maxScroll = pct; }
                if(pct>=25 && !RA.ms25){ RA.ms25=1; RA.buf.push({ type:'scroll_milestone', ts:Date.now(), value:25 }); }
                if(pct>=50 && !RA.ms50){ RA.ms50=1; RA.buf.push({ type:'scroll_milestone', ts:Date.now(), value:50 }); }
                if(pct>=75 && !RA.ms75){ RA.ms75=1; RA.buf.push({ type:'scroll_milestone', ts:Date.now(), value:75 }); }
                if(pct>=100 && !RA.ms100){ RA.ms100=1; RA.buf.push({ type:'scroll_milestone', ts:Date.now(), value:100 }); }
            }catch(e){} }
            var raScrollTimer = 0;
            function raOnScrollThrottled(){ try{ if(raScrollTimer){ return; } raScrollTimer = setTimeout(function(){ raScrollTimer = 0; raOnScroll(); }, 300); }catch(e){} }
            // Time-on-page engagement. Counts only genuinely-active time: the clock
            // pauses when the tab is hidden AND after RA.IDLE ms with no user
            // interaction, so a page left open in a focused-but-idle tab no longer
            // inflates the number. raTouch() (re)starts a segment on interaction;
            // raIdleCheck() ends a segment at the last activity once idle; the
            // page_engagement value is always the idle-trimmed active time. Values
            // merge server-side with GREATEST, so re-emitting on a later hide is safe.
            function raTouch(){ try{
                RA.lastAct = Date.now();
                if(RA.visStart === 0 && document.visibilityState === 'visible'){ RA.visStart = RA.lastAct; }
            }catch(e){} }
            function raActiveNow(){ try{
                var now = Date.now(), seg = 0;
                if(RA.visStart > 0){
                    var end = (now - RA.lastAct > RA.IDLE) ? RA.lastAct : now;
                    seg = end - RA.visStart; if(seg < 0){ seg = 0; }
                }
                return RA.activeMs + seg;
            }catch(e){ return RA.activeMs; } }
            function raIdleCheck(){ try{
                if(RA.visStart > 0 && (Date.now() - RA.lastAct) >= RA.IDLE){
                    var add = RA.lastAct - RA.visStart; if(add > 0){ RA.activeMs += add; }
                    RA.visStart = 0;
                }
            }catch(e){} }
            function raFinalize(){ try{
                RA.activeMs = raActiveNow();
                RA.visStart = 0;
                var fp = raScrollPct(); if(fp > RA.maxScroll){ RA.maxScroll = fp; }
                RA.buf.push({ type:'page_engagement', ts:Date.now(), value:RA.activeMs, meta:{ max_scroll:RA.maxScroll, total_ms:(Date.now() - RA.t0) } });
                raFlush();
            }catch(e){ try{ raFlush(); }catch(e2){} } }
            // Form interactions. PRIVACY: we NEVER read field values -- only field
            // name/type/label (label/placeholder are static site text) and the form
            // id/name/action. form_start fires once per form on first field focus;
            // form_submit fires on submit.
            var raForms = (typeof WeakSet !== 'undefined') ? new WeakSet() : null;
            function raFormId(form){ try{
                if(form.id){ return 'form#' + form.id; }
                var nm = form.getAttribute && form.getAttribute('name'); if(nm){ return 'form[name=' + nm + ']'; }
                var ac = form.getAttribute && form.getAttribute('action'); if(ac){ return 'form@' + ('' + ac); }
                return 'form';
            }catch(e){ return 'form'; } }
            function raFieldId(el){ try{
                var nm = el.name || el.id || '';
                var ty = (el.type || el.tagName || '').toLowerCase();
                var lbl = '';
                try{ if(el.id && document.querySelector){ var l = document.querySelector('label[for="' + (''+el.id).replace(/["\\\]]/g,'') + '"]'); if(l){ lbl = (l.innerText || l.textContent || ''); } } }catch(e){}
                try{ if(!lbl && el.getAttribute){ lbl = el.getAttribute('aria-label') || el.getAttribute('placeholder') || ''; } }catch(e){}
                lbl = ('' + lbl).replace(/\s+/g,' ').trim().slice(0,60);
                return (nm || ty) + (lbl ? (' (' + lbl + ')') : '');
            }catch(e){ return ''; } }
            function raIsField(el){ try{ var t = (el.tagName || '').toUpperCase(); return (t==='INPUT' || t==='TEXTAREA' || t==='SELECT'); }catch(e){ return false; } }
            function raOnFocusIn(ev){ try{
                var el = ev.target; if(!raIsField(el)){ return; }
                var form = el.form || (el.closest && el.closest('form')); if(!form){ return; }
                if(raForms){ if(raForms.has(form)){ return; } raForms.add(form); }
                else { if(form.__raStarted){ return; } form.__raStarted = 1; }
                RA.buf.push({ type:'form_start', ts:Date.now(), value:0, meta:{ f: raFormId(form).slice(0,150), fld: raFieldId(el).slice(0,120) } });
            }catch(e){} }
            function raOnSubmit(ev){ try{
                var form = ev.target; if(!form || (form.tagName || '').toUpperCase() !== 'FORM'){ return; }
                var n = 0; try{ n = form.elements ? form.elements.length : 0; }catch(e){}
                RA.buf.push({ type:'form_submit', ts:Date.now(), value:n, meta:{ f: raFormId(form).slice(0,150), n:n } });
                raFlush();
            }catch(e){} }
            try{ document.addEventListener('click', raOnClick, true); }catch(e){}
            try{ document.addEventListener('scroll', raOnScrollThrottled, { passive:true }); }catch(e){}
            try{ document.addEventListener('focusin', raOnFocusIn, true); }catch(e){}
            try{ document.addEventListener('submit', raOnSubmit, true); }catch(e){}
            // Interaction signals keep the engagement clock alive (raTouch).
            try{ document.addEventListener('keydown', raTouch, { passive:true }); }catch(e){}
            try{ document.addEventListener('touchstart', raTouch, { passive:true }); }catch(e){}
            try{ document.addEventListener('pointerdown', raTouch, { passive:true }); }catch(e){}
            var raMoveTimer = 0;
            try{ document.addEventListener('mousemove', function(){ if(raMoveTimer){ return; } raMoveTimer = setTimeout(function(){ raMoveTimer = 0; raTouch(); }, 1000); }, { passive:true }); }catch(e){}
            try{ setInterval(function(){ raIdleCheck(); raFlush(); }, 10000); }catch(e){}
            try{ document.addEventListener('visibilitychange', function(){ try{ if(document.visibilityState === 'hidden'){ raFinalize(); } else { raTouch(); } }catch(e){} }); }catch(e){}
            try{ window.addEventListener('pagehide', raFinalize); }catch(e){}
        })(); }catch(e){ try{ console.log('ra ev init'); }catch(e2){} }
                //GOOGLE CODE
        var script = document.createElement('script'),
        scripts = document.getElementsByTagName('script')[0];
        script.src = 'https://www.googletagmanager.com/gtag/js?id=AW-11105351087';
        scripts.parentNode.insertBefore(script, scripts);

        window.dataLayer = window.dataLayer || [];
        function gtag(){dataLayer.push(arguments);}
        gtag('js', new Date());

        gtag('config', 'AW-11105351087');

        gtag('event', 'page_view', {'send_to': 'AW-11105351087',
        'account_id': '13486'
        });
                                    function RAFireIdent(id){}
                    function RASetCookie(a, b, c) {
                try {
                    const d = new Date;
                    d.setTime(d.getTime() + 1e3 * (60 * (60 * (24 * c))));
                    const e = "expires=" + d.toUTCString();
                    document.cookie = `${a}=${encodeURIComponent(b)}; ${e}; path=/; SameSite=None; Secure`
                } catch (a) {console.log('error set cookie');console.log(a);}
            }

            function RAGetCookie(a) {
                try {
                    const b = a + "=",
                        d = document.cookie.split(";");
                    for (let a, c = 0; c < d.length; c++) {
                        for (a = d[c];
                             " " === a.charAt(0);) a = a.substring(1, a.length);
                        if (0 === a.indexOf(b)) return decodeURIComponent(a.substring(b.length, a.length))
                    }
                } catch (a) {console.log('error get cookie');console.log(a);}
                return ""
            }

            function RASendAjaxRequest(a, b = "GET", c = null, d) {
                try {
                    const e = new XMLHttpRequest;
                    e.open(b, a, !0), e.setRequestHeader("Content-Type", "application/json;charset=UTF-8")  , e.onerror = function(event) {
                            if (document.readyState === "loading") {
                                document.addEventListener("DOMContentLoaded", function() {
                                    try{ var oref = btoa(document.referrer) || ""; } catch (e) {oref = "";}
                                                                        var ra_iframe2 = document.createElement('iframe');
                                    ra_iframe2.width = '1';
                                    ra_iframe2.height = '1';
                                    ra_iframe2.style.border = 'none';
                                    ra_iframe2.style.position = 'absolute';
                                    ra_iframe2.style.left = '-9999px';
                                    ra_iframe2.src = '//realtyads.com/px/view/13486?ref='+btoa(window.location.href)+'&oref='+oref;
                                    document.body.appendChild(ra_iframe2);
                                });
                            } else {
                                try{ var oref = btoa(document.referrer) || ""; } catch (e) {oref = "";}
                                                                var ra_iframe2 = document.createElement('iframe');
                                ra_iframe2.width = '1';
                                ra_iframe2.height = '1';
                                ra_iframe2.style.border = 'none';
                                ra_iframe2.style.position = 'absolute';
                                ra_iframe2.style.left = '-9999px';
                                ra_iframe2.src = '//realtyads.com/px/view/13486?ref='+btoa(window.location.href)+'&oref='+oref;
                                document.body.appendChild(ra_iframe2);
                            }
                        }  , e.onreadystatechange = function() {
                        e.readyState === XMLHttpRequest.DONE && (200 <= e.status && 300 > e.status ? d(null, e.responseText) : d(`Error: ${e.status}`))
                    }, e.send(c ? JSON.stringify(c) : null)
                } catch (a) {console.log('error 2');console.log(a);}
            }
            try {
                try{ var oref = btoa(document.referrer) || ""; } catch (e) {oref = "";}
        
                var ra_wind_location = window.location.href;
                var ra_man_location = atob('');
                if(ra_man_location!==''){
                    ra_wind_location = ra_man_location;
                }
                RASendAjaxRequest(atob("aHR0cHM6Ly9yZWFsdHlhZHMuY29tL3B4Lz9tZXRob2Q9bG9nX3ZpZXc="), "POST", {
                    visitor_id: RAGetCookie("ra_13486_ses"),
                    page_url: ra_wind_location,
                    account_id: "13486",
                    'oref':oref,
                    pv_token: (window.__raEvents ? window.__raEvents.token : '')                }, function(a, b) {
                    if (a) console.error(a);
                    else {
                        var c = JSON.parse(b);
                        "undefined" != typeof c.visitor_id && "" !== c.visitor_id && null !== c.visitor_id && RASetCookie("ra_13486_ses", c.visitor_id, 180);
                        RAFireIdent(c.visitor_id)
                    }
                })
            } catch (a) {console.log('error 1');console.log(a);}
    